登录验证方法及登录服务器转让专利

申请号 : CN201810211244.2

文献号 : CN110278176A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 户志明邱旻峰

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明提出一种登录验证方法及登录服务器。所述登录验证方法适用于登录服务器中确定应用用户端的登录状态,其包括:a.使用第一算法根据所述应用用户端的登录请求中的登录数据和第一时间戳生成第一登录校验码,并将所述第一登录校验码返回给所述应用用户端;b.使用所述第一算法根据应用服务器的验证请求中的所述登录数据和第二时间戳生成第二登录校验码;以及c.根据所述验证请求中的所述第一登录校验码和所述第二登录校验码确定所述应用用户端的所述登录状态,并将所述登录状态返回给所述应用服务器。登录验证方法及登录服务器能够在没有数据库或数据库不可用时,保证登录验证功能正常使用。

权利要求 :

1.一种登录验证方法,适用于登录服务器中确定应用用户端的登录状态,所述登录验证方法包括:a.使用第一算法根据所述应用用户端的登录请求中的登录数据和第一时间戳生成第一登录校验码,将所述第一登录校验码返回给所述应用用户端;以使得所述应用用户端在收到所述第一登录校验码后,将所述登录数据和所述第一登录校验码发送给应用服务器,所述应用服务器用于根据接收到的所述登录数据和所述第一登录校验码生成并发送验证请求;

b.接收所述验证请求,并使用所述第一算法根据所述验证请求中的所述登录数据和第二时间戳生成第二登录校验码;以及,c.根据所述验证请求中的所述第一登录校验码和所述第二登录校验码确定所述应用用户端的所述登录状态,并将所述登录状态返回给所述应用服务器。

2.根据权利要求1所述的登录验证方法,其特征在于,在步骤a中还将所述第一登录校验码和所述登录数据保存至数据库中;在步骤b之前还包括判断是否成功在所述数据库中查询到所述第一登录校验码的步骤,若失败,则执行步骤b和步骤c,若成功,则根据所述登录数据确定所述应用用户端的所述登录状态。

3.根据权利要求1所述的登录验证方法,其特征在于,所述登录数据包括用户账号、应用相关信息和所述应用服务器相关信息,根据所述数据库中的所述登录数据和所述验证请求中的所述登录数据确定所述应用用户端的所述登录状态的步骤包括:验证所述用户账号与应用相关信息和/或所述应用服务器相关信息是否一致,若一致,则确定所述应用用户端登录成功,若不一致,则确定所述应用用户端登录失败。

4.根据权利要求1所述的登录验证方法,其特征在于,在步骤c中,若所述第一登录校验码和所述第二登录校验码相同,则确定所述应用用户端登录成功。

5.根据权利要求1所述的登录验证方法,其特征在于,在步骤c中,若所述第一登录校验码和所述第二登录校验码不同,则根据网络延迟对所述第二时间戳进行修正,并返回步骤b;其中,根据网络延迟对所述第二时间戳进行修正包括:判断所述第二时间戳是否在由所述网络延迟确定的有效期内,若在所述有效期内,对所述第二时间戳减一,若不在所述有效期内,则直接返回所述应用用户端登录失败。

6.根据权利要求1所述的登录验证方法,其特征在于,所述第一算法包括哈希算法。

7.根据权利要求1所述的登录验证方法,其特征在于,所述登录数据包括用户账号、应用相关信息和所述应用服务器相关信息中的部分或全部。

8.一种登录服务器,包括:

第一登录校验码生成模块,适于使用第一算法根据所述应用用户端的登录请求中的登录数据和第一时间戳生成第一登录校验码,并将所述第一登录校验码返回给所述应用用户端;其中,所述应用用户端用于在收到所述第一登录校验码后,将所述登录数据和所述第一登录校验码发送给应用服务器;所述应用服务器用于根据接收到的所述登录数据和所述第一登录校验码生成并发送验证请求;

第二登录校验码生成模块,适于使用所述第一算法根据所述应用服务器的验证请求中的所述登录数据和第二时间戳生成第二登录校验码;以及登录状态确定模块,适于根据所述验证请求中的所述第一登录校验码和所述第二登录校验码确定所述应用用户端的所述登录状态,并将所述登录状态返回给所述应用服务器。

9.一种登录服务器,包括:

存储器,用于存储可由处理器执行的指令;

处理器,用于执行所述指令以实现如权利要求1-7中任一项所述的方法。

10.一种计算机可读存储介质,其上存储有计算机指令,其中当计算机指令被处理器执行时,执行如权利要求1-7中任一项所述的方法。

说明书 :

登录验证方法及登录服务器

技术领域

[0001] 本发明涉及开放平台,尤其涉及一种登录验证方法及登录服务器。

背景技术

[0002] 如图1所示,现有的开放平台中,当应用用户端请求登录时,登录服务器会根据应用用户端所发送的登录请求中的登录数据生成登录校验码,并将登录校验码存储至数据库中,若登录校验码被存入至数据库,登录服务器则将登录校验码返回给应用用户端,若登录校验码未能存入数据库,登录服务器则返回登录失败。在登录服务器返回登录校验码后,应用用户端会将登录数据和登录校验码发送至应用服务器(图中未示出),以进行应用服务器的登录验证。而后,应用服务器将接收到的登录数据和登录校验码发送至登录服务器,以向登录服务器请求登录验证。在登录验证过程中,登录服务器查询数据库,若成功在数据库中查询到登录校验码,则进行应用服务器相关信息一致性验证;若未能成功在数据库中查询到登录校验码,则返回验证失败。在验证应用服务器相关信息是否一致时,若结果为一致,则返回验证成功,若结果为不一致,则返回验证失败。
[0003] 现有的技术方案为了后面流程中能够验证登录校验码是否合法,在生成登录校验码后,需要将登录校验码写入数据库中,在验证过程中,还需要对数据库进行查询。可见,现有的开放平台的登录验证依赖于数据库的可靠性。当数据库不可用时,开放平台的登录服务则不可用,这将导致整个开放平台的所有应用均不能登录。然而,在实际运营中,数据库出现问题的情况并不少见,因此需要有针对数据库的容灾方案,保证在数据库不可用时,应用登录服务仍能继续使用。

发明内容

[0004] 本发明要解决的技术问题是提供一种登录校验方法和登录服务器,其能够在没有数据库或数据库不可用时,保证登录验证功能正常使用。
[0005] 为解决现有技术存在的技术问题,本申请提出了一种登录验证方法,适用于登录服务器中确定应用用户端的登录状态,所述登录验证方法包括:a.使用第一算法根据所述应用用户端的登录请求中的登录数据和第一时间戳生成第一登录校验码,并将所述第一登录校验码返回给所述应用用户端,其中,所述应用用户端在收到所述第一登录校验码后,还将所述登录数据和所述第一登录校验码发送给应用服务器;b.使用所述第一算法根据所述应用服务器的验证请求中的所述登录数据和第二时间戳生成第二登录校验码;以及c.根据所述验证请求中的所述第一登录校验码和所述第二登录校验码确定所述应用用户端的所述登录状态,并将所述登录状态返回给所述应用服务器。
[0006] 本申请的另一方面提出了一种登录服务器,包括:第一登录校验码生成模块,适于使用第一算法根据所述应用用户端的登录请求中的登录数据和第一时间戳生成第一登录校验码,并将所述第一登录校验码返回给所述应用用户端,其中,所述应用用户端在收到所述第一登录校验码后,还将所述登录数据和所述第一登录校验码发送给应用服务器;第二登录校验码生成模块,适于使用所述第一算法根据所述应用服务器的验证请求中的所述登录数据和第二时间戳生成第二登录校验码;以及登录状态确定模块,适于根据所述验证请求中的所述第一登录校验码和所述第二登录校验码确定所述应用用户端的所述登录状态,并将所述登录状态返回给所述应用服务器。
[0007] 本申请的又一方面提出了一种登录服务器,包括存储器,用于存储可由处理器执行的指令;处理器,用于执行所述指令以实现如上所述的方法。
[0008] 本申请的再一方面提出了一种计算机可读存储介质,其上存储有计算机指令,其中当计算机指令被处理器执行时,执行如上所述的方法。
[0009] 本发明能够达到的有益效果:
[0010] 本发明采用了第一算法基于登录数据和时间戳来生成登录校验码,产生的登录校验码是可以回溯的,可以在没有数据库或数据库不可用的情况下,维持用户的登录验证功能正常使用。特别是在有数据库,但数据库临时不可用时,可以采用第一算法基于登录数据和时间戳来生成可回溯的登录校验码来维持用户的登录验证功能正常使用,当数据库恢复可用时,继续采用如现有技术中的登录验证方法。

附图说明

[0011] 下面结合附图对本发明的具体实施方式作进一步详细的说明;
[0012] 图1是现有技术的开放平台的登录验证流程图。
[0013] 图2是本发明一些实施例的登录验证系统的示意图。
[0014] 图3是本发明一些实施例的登录验证方法的基本流程图。
[0015] 图4是本发明一些实施例的登录服务器将数据存储至数据库的基本流程图。
[0016] 图5是本发明一些实施例的验证应用用户端登录状态的基本流程图。
[0017] 图6是本发明另一些实施例的登录验证方法的基本流程图。
[0018] 图7是本发明一些实施例的登录服务器的示意性框图。
[0019] 图8是本发明一些实施例的登录服务器。
[0020] 图9是本发明一些实施例的计算机可读介质。

具体实施方式

[0021] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0022] 如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
[0023] 图2是本发明一些实施例的登录验证系统的示意图。参考图2所示,登录验证系统10可以包括应用用户端11、登录服务器12和应用服务器13。应用用户端11、登录服务器12和应用服务器13之间可以通过有线连接和/或无线连接进行相互通信。在一些实施例中,登录验证系统10还可以包括数据库14。登录服务器12可以与数据库14通过有线连接和/或无线连接进行相互通信。所述有线连接可以包括电缆、光缆、电话线等,或其任何组合。所述无线连接可以包括蓝牙、Wi-Fi、WiMax、WLAN、ZigBee、移动网络(例如,3G、4G、5G)等,或其组合。
[0024] 应用用户端11可以是运行于例如移动设备11-1、平板电脑11-2、笔记本电脑11-3等设备上的应用程序,或这些设备与应用程序构成的软硬件组合。在一些实施例中,移动设备11-1可以包括智能家庭设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任何组合。在一些实施例中,所述智能家庭设备可以包括智能照明设备、智能电器的控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任何组合。在一些实施例中,所述可穿戴设备可以包括智能手链、智能鞋袜、智能眼镜、智能头盔、智能手表、智能服装、智能背包、智能配件等,或其任何组合。在一些实施例中,所述智能移动设备可以包括智能手机、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)设备等,或其任何组合。在一些实施例中,所述虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任何组合。例如,所述虚拟现实设备和/或所述增强现实设备可以包括Google Glass、Oculus Rift、Hololens、Gear VR等。这些设备可以运行Windows、Linux、Unix、IOS、Android等操作系统,相应地,应用用户端11可以是这些操作系统上的应用程序,或这些设备、操作系统与应用程序构成的软硬件组合。可以理解,所述的应用程序可以是独立的应用程序,还可以是依托于其他应用程序的应用程序,例如依托于浏览器的HTML5应用程序。
[0025] 登录服务器12可以是大型机、小型机、X86服务器、刀片服务器、机架服务器、塔式服务器等,或其组合,或运行于这些服务器上的程序,或这些服务器与运行于其上的程序构成的软硬件组合。这些服务器可以运行Windows、Linux、Unix等操作系统。在一些实施例中,登录服务器12可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布式云、跨云、多云等,或其任何组合。
[0026] 应用服务器13同样可以是大型机、小型机、X86服务器、刀片服务器、机架服务器、塔式服务器等,或其组合,或运行于这些服务器上的程序,或这些服务器与运行于其上的程序构成的软硬件组合。这些服务器可以运行Windows、Linux、Unix等操作系统。在一些实施例中,应用服务器13可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布式云、跨云、多云等,或其任何组合。
[0027] 数据库14可以存储数据和/或指令,其可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等,或其任何组合,或用于对这些存储器进行写入、读取的程序,或这些存储器与对这些存储器进行写入、读取的程序构成的软硬件组合。示例性的大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性的可移动存储器可以包括闪存盘、软盘、光盘、存储卡、压缩盘、磁带等。示例性的易失性读写存储器可以包括随机存取存储器(RAM)。示例性的RAM可以包括动态RAM(DRAM)、双倍数据传输率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)、零电容RAM(Z-RAM)等。示例性的ROM可以包括掩模型ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)、数字通用盘ROM等。在一些实施例中,所述数据库14可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布式云、跨云、多云等,或其任何组合。在一些实施例中,所述数据库14可以存储登录服务器12所要存储的数据。
[0028] 图3是本发明一实施例的登录验证方法的基本流程图。登录验证方法100可以用于开放平台中的登录服务器12确定应用用户端的登录状态。相应地,登录验证方法100可以在登录服务器12中被执行。参考图3所示,登录验证方法100可以包括:
[0029] 步骤110,使用第一算法根据应用用户端的登录请求中的登录数据和第一时间戳生成第一登录校验码,并将第一登录校验码返回给应用用户端;
[0030] 步骤120,使用第一算法根据应用服务器的验证请求中的登录数据和第二时间戳生成第二登录校验码;以及
[0031] 步骤130,根据验证请求中的第一登录校验码和第二登录校验码确定应用用户端的登录状态,并将登录状态返回给应用服务器。
[0032] 需要说明的是,本发明中所述的“登录校验码”是一串字符串,用户通过应用用户端登录应用时,由登录服务器生成并通过前端传给应用用户端,用于校验该用户是否已登录的凭证。
[0033] 可以理解,步骤110是响应于应用用户端11的登录请求而被执行。同样可以理解,应用用户端11的登录请求中可以不仅包括有登录数据,还可以包括用户密码。
[0034] 对于登录验证系统10还具有数据库14的实施例,在步骤110中,还可以将应用用户端的登录请求中的登录数据和第一登录校验码存储至数据库14中。图4是本发明一些实施例的登录服务器将数据存储至数据库的基本流程图。参考图4所示,步骤110还可以包括如下步骤:
[0035] 步骤111,将登录数据和第一登录校验码存储至数据库14;
[0036] 步骤112,判断是否成功存储至数据库14,若成功,则执行步骤113,若失败,则同样执行步骤113;
[0037] 步骤113,将第一登录校验码返回给应用用户端11。
[0038] 可以理解,步骤113可以在步骤111和/或步骤112之前被执行。也就是说,先将第一登录校验码返回给应用用户端11,再进行存储,或判断是否存储成功。
[0039] 在一些实施例中,登录数据可以包括用户账号、应用相关信息和应用服务器相关信息中的部分或全部。用户账号可以是由数字、字母、符号等,或其组合,构成的字符串。应用相关信息可以包括应用的名称、版本号、appid、appsecret等中的部分或全部。应用服务器相关信息可以包括应用服务器的网址、应用服务器的IP地址、应用服务器的MAC地址、应用服务器所在的区域等中的部分或全部。在一些实施例中,第一时间戳为执行步骤110是的当前时间。更具体地说,是步骤110中调用获取当前时间函数时的时间。在一些实施例中,第一算法可以包括哈希(hash)算法。所述哈希算法可以包括MD4、MD5、SHA-0、SHA-1、SHA-2(例如SHA-224、SHA-256、SHA-384、SHA-512)、SHA-3(例如SHA3-224、SHA3-256、SHA3-384、SHA3-512)、RIPEMD-160,或其组合。示例性地,第一登录校验码的生成可以以下式示出:
[0040] 第一登录校验码=hash(用户账号,应用相关信息,应用服务器相关信息,时间戳,其他固定信息)
[0041] 其中,hash()表示哈希函数,其能够根据输入变量输出经哈希运算后的结果。可以理解,式中的其他固定信息可以根据应用用户端11、应用、应用服务器13、登录服务器12等的不同而不同。
[0042] 在应用用户端11接收到第一登录校验码后,还可以将登录数据和第一登录校验码发送给应用服务器13,以便于应用服务器13进行应用用户端11的登录验证。同样可以理解,步骤120是响应于应用服务器13的验证请求而被执行。应用服务器13所发送的验证请求中可以包括应用用户端11来的登录数据和第一登录校验码。
[0043] 在步骤120中,同样采用第一算法根据登录数据和时间戳来生成第二登录校验码。其中的第一算法与步骤110中的第一算法相同,登录数据也与步骤110中的登录数据相同。
但是,第二时间戳可以与步骤110中的第一时间戳相同,也可以不同。若第二时间戳与第一时间戳相同,则在步骤120中生成的第二登录校验码与第一登录校验码相同。若第二时间戳与第一时间戳不同,则步骤120中生成的第二登录校验码与第一登录校验码不同。在一些实施例中,第二时间戳为执行步骤120是的当前时间。更具体地说,是步骤120中调用获取当前时间函数时的时间。因此,第二时间戳相对于第一时间戳来说,只可能递增。
[0044] 在步骤130中,如图5所示,根据验证请求中的第一登录校验码和第二登录校验码确定应用用户端的登录状态的步骤可以包括:
[0045] 步骤131:判断第一登录校验码和第二登录校验码是否相同,若相同,则执行步骤132,若不同,则执行步骤133;
[0046] 步骤132:返回应用用户端11登录成功;
[0047] 步骤133:对第二时间戳进行修正,并返回至步骤120,以进行下一次验证。
[0048] 在步骤133中,对第二时间戳的修正可以根据网络延迟进行。具体来说,可以根据网络延迟设定一有效期,若第二时间戳在有效期内,则对第二时间戳减一,并返回步骤120,若第二时间戳不在有效期内,则直接返回应用用户端11登录失败。可以理解,在步骤133返回步骤120后,在步骤120不再重复获取第二时间戳。也就是说,在登录验证方法100中,仅有首次执行步骤120时获取第二时间戳,即初始的第二时间戳是通过调用获取当前时间函数时的时间的方式获得的,而之后每次执行步骤120时的第二时间戳均是通过对初始的第二时间戳修正获得的。
[0049] 在一具体的实施例中,步骤130中的根据验证请求中的第一登录校验码和第二登录校验码确定应用用户端的登录状态的伪码如下:
[0050]
[0051] 由上述的说明可知,登录验证方法100在生成第一登录校验码和第二登录校验码时,输入至第一算法中的唯一会变化的量是时间戳。由于网络的延迟,可能会导致第一时间戳和第二时间戳不一致,因此,引入了有效期,只要第二时间戳在有效期内,均可以重新生成出与第一登录校验码一致的第二登录校验码,从而能够返回正确的应用用户端11的登录状态。
[0052] 图6是本发明另一些实施例的登录验证方法的基本流程图。登录验证方法200可以用于开放平台中的登录服务器12确定应用用户端的登录状态。相应地,登录验证方法200可以在登录服务器12中被执行。参考图6所示,登录验证方法200可以包括:
[0053] 步骤210,使用第一算法根据应用用户端的登录请求中的登录数据和第一时间戳生成第一登录校验码,将第一登录校验码存储至数据库,并将第一登录校验码返回给应用用户端;
[0054] 步骤220,当应用服务器请求验证登录状态时,判断是否能够成功在数据库中查询到第一登录校验码,若是,则执行步骤230,若否,则执行步骤240;
[0055] 步骤230,根据登录数据确定应用用户端的登录状态;
[0056] 步骤240,使用第一算法根据应用服务器的验证请求中的登录数据和第二时间戳生成第二登录校验码;以及
[0057] 步骤250,根据验证请求中的第一登录校验码和第二登录校验码确定应用用户端的登录状态,并将登录状态返回给应用服务器。
[0058] 与登录验证方法100相比,登录验证方法200还将生成的第一登录校验码存储至数据库,并在应用服务器13请求验证时,还判断数据库是否可用。登录验证方法200对数据可用和不可用分别采用了两种验证应用用户端11的登录状态的方法。以下主要针对登录验证方法200与登录验证方法100的不同进行说明。
[0059] 在步骤210中,还将生成的第一登录校验码存储至数据库,其余与步骤110相同。
[0060] 在步骤220中,当应用服务器请求验证登录状态时,登录服务器12查询数据库,并判断是否能够成功在数据库中查询到第一登录校验码。可以理解,若能够成功在数据库中查询到第一登录校验码,则说明数据库是运行正常的。若不能成功在在数据库中查询到第一登录校验码,则有可能是数据库出现问题,例如损坏、宕机等,也有可能是数据库正常,但未存储有第一登录校验码。
[0061] 在步骤230中,根据登录数据确定应用用户端的登录状态可以按如下方式进行:验证用户账号与应用相关信息和/或应用服务器相关信息是否一致,若一致,则确定应用用户端登录成功,若不一致,则确定应用用户端登录失败。此时,要求登录数据应包括用户账号、应用相关信息和所述应用服务器相关信息。
[0062] 步骤240与登录验证方法100中的步骤120相同,因此在此不再重复描述。
[0063] 步骤250与登录验证方法100中的步骤130相同,在此同样不再重复描述。
[0064] 在一些实施例中,应用用户端11为游戏用户端,例如,可以是运行于Windows、MacOS、IOS、Android系统上的独立的游戏软件,还可以是运行于IE、Safari、Chrome、Edge等浏览器上的HTML5游戏软件。相应地,应用服务器13为游戏服务器。
[0065] 图7是本发明一些实施例的登录服务器的示意性框图。参考图7所示,登录服务器300可以包括:
[0066] 第一登录校验码生成模块310,适于使用第一算法根据应用用户端的登录请求中的登录数据和第一时间戳生成第一登录校验码,并将第一登录校验码返回给应用用户端;
[0067] 第二登录校验码生成模块320,适于使用第一算法根据应用服务器的验证请求中的登录数据和第二时间戳生成第二登录校验码;以及
[0068] 登录状态确定模块330,适于根据验证请求中的第一登录校验码和第二登录校验码确定应用用户端的登录状态,并将登录状态返回给应用服务器。
[0069] 在一些实施例中,登录服务器300还可以包括数据库存储、查询模块340,以用于将生成的第一登录校验码存储至数据库,或在数据库中查询第一登录校验码。
[0070] 可以理解,登录服务器300可以实现登录校验方法100,也可以实现登录校验方法200。
[0071] 图8是本发明一些实施例的登录服务器。请参考图8,登录服务器400包括存储器410和处理器420。存储器410上存储有计算机代码,当该计算机代码被配置为当在处理器
420上运行时促使登录服务器400至少执行如上所述的登录验证方法。
[0072] 图9是本发明一实施例的计算机可读介质。计算机可读介质500上存储有计算机代码,当该计算机代码被配置为当在处理器上运行时执行如上所述的登录验证方法。
[0073] 本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
[0074] 结合本文所公开的实施例描述的各种解说性逻辑模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
[0075] 结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
[0076] 在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
[0077] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。