发明内容
鉴于上述问题,本发明的目的是提供一种登陆访问处理方法、装置及系统,以避免网络不好或高请求量下跨集群数据同步慢而导致用户在后续的登陆过程中出现身份验证超时,需要重新登陆的情况的发生。
根据本发明的一个方面,提供一种登陆访问处理方法,包括:
接收客户端发送的登陆访问请求;
判断登陆访问请求中是否含有加密信息,加密信息由服务器对客户端的账号按预设算法进行加密后发送给客户端;
当登陆访问请求中含有加密信息时,按预设算法将加密信息进行解密后能获得客户端的账号,则确定登陆访问的身份验证成功。
其中,当登陆访问请求中含有加密信息和账号信息时,按预设算法将加密信息进行解密获得客户端的账号后,将解密所得的客户端的账号与登陆访问请求中的账号信息进行匹配,如果匹配成功,则确定登陆访问的身份验证成功。
其中,加密信息由服务器对客户端的账号和时间戳按预设算法进行加密后发送给客户端;当登陆访问请求中含有加密信息和账号信息时,按预设算法将登陆访问请求中的加密信息进行解密获得客户端的账号和时间戳后,将解密所得的客户端的账号与登陆访问请求中的账号信息进行匹配,如果匹配成功且时间戳在预设时间内,则确定登陆访问的身份验证成功。
其中,当解密所得的客户端的账号与登陆访问请求中的账号信息匹配不成功,或者客户端的账号与登陆访问请求中的账号信息匹配成功但时间戳不在预设时间内时,在确认所述客户端通过账号和密码重新访问登陆成功后,将客户端的账号按预设算法进行加密后发送给客户端;或者,将客户端的账号和时间戳按预设算法进行加密后发送给所述客户端。
其中,定期重新设定时间戳;或者,在客户端的账号的有效期快要到期时重新设定时间戳;将客户端的账号和时间戳按预设算法进行加密后发送给客户端。
另一方面,本发明还提供一种登陆访问处理装置,包括:
接收单元,用于接收客户端发送的登陆访问请求;
判断单元,用于判断登陆访问请求中是否含有加密信息,加密信息由服务器对客户端的账号按预设算法进行加密后发送给客户端;
验证单元,用于当判断单元判断出登陆访问请求中含有加密信息时,按预设算法将加密信息进行解密,其中,如果解密后能获得客户端的账号,则确定登陆访问的身份验证成功。
另一方面,本发明还提供一种登陆访问处理系统,包括:
客户端,用于向服务器发送含有加密信息的登陆访问请求,其中加密信息由服务器对客户端的账号按预设算法进行加密后发送给客户端;
服务器,用于接收客户端发送的登陆访问请求,判断登陆访问请求是否含有加密信息,加密信息由服务器对客户端的账号按预设算法进行加密后发送给客户端;当登陆访问请求中含有加密信息时,按预设算法将加密信息进行解密后能获得客户端的账号,则确定登陆访问的身份验证成功。
利用上述根据本发明的登陆访问处理方法、装置及系统,在当前业务或网络变化涉及多个服务器集群时,不再需要在多个集群间进行数据同步验证,而是通过在各集群服务器端之间预先设定使用统一的加解密算法,某个服务器端使用预设的加密算法将用户登录的账号进行加密后作为加密信息返回到登陆成功的客户端并保存,客户端后续在访问登陆时,在请求中携带之前的服务器端下发的加密信息,其他服务器端在后续接收到客户端的登陆访问请求时,使用预先约定的统一的解密算法,如果能解密出加密信息中的账号信息,则认为用户是可以信任的,可以登录。因为该加解密算法是各服务器之间预先约定统一使用的,那么其他没有约定的服务器就不会知道这些加解密算法。
另外,账号信息是加密后发送给客户端,避免了之前明文发送的缺陷,客户端并不能获知其中的内容,无法伪造,只能直接将其发送给服务器端解密,只有服务器端使用预定解密算法才能解密出加密信息中的账号信息。通过这样的处理方式,就不需要集群服务器像现有技术那样来同步用于验证的身份标识,而是直接通过客户端与服务器端进行通信就可以了,从而能够避免网络不好或高请求量下,跨集群数据同步慢而导致的后续的登录过程中所出现的身份验证超时,需要重新登录的情况的发生,进而提升用户的使用体验。
进一步的,客户端在发送加密信息的同时,也可以含有账号信息,那么服务器端解密出加密信息中的账号后,就可以将该账号与请求中的账号进行匹配,如果匹配成功则可以认为验证成功。
进一步的,服务器端下发的加密信息,可以是同时将账号和时间戳进行加密得到,这样可以利用时间戳进行有效期的控制。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
具体实施方式
以下将结合附图对本发明的具体实施例进行详细描述。
针对前述高请求量下跨集群数据同步慢、容易导致用户的身份验证超时出现请求异常、需要重新登陆的问题,本发明通过在各集群服务器端之间预先设定使用统一的加解密算法,某个服务器端使用预设的加密算法将用户登录的账号进行加密后作为加密信息返回到登陆成功的客户端并保存,客户端后续在访问登陆时,在请求中携带之前的服务器端下发的加密信息,其他服务器端在后续接收到客户端的登陆访问请求时,使用预先约定的统一的解密算法,如果能解密出加密信息中的账号信息,则认为用户是可以信任的,可以登录。通过此种处理方式能够避免网络不好或高请求量下,跨集群数据同步慢而导致在后续的登陆过程中出现身份验证超时,需要重新登陆的情况的发生,进而提升用户的使用体验。
为了说明本发明提供的登陆访问处理方法,图1示出了根据本发明实施例的登陆访问处理方法第一流程。
如图1所示,本发明提供的登陆访问处理方法包括:
S110:接收客户端发送的登陆访问请求。
S120:判断登陆访问请求中是否含有加密信息,该加密信息由服务器对客户端的账号按预设算法进行加密后发送给客户端。
S130:当登陆访问请求中含有所述加密信息时,按预设算法将加密信息进行解密后能获得客户端的账号,则确定登陆访问的身份验证成功。
需要说明的是,该登陆访问请求中除了包含有加密信息之外,还可以包含账号信息。其中,当登陆访问请求中含有加密信息和账号信息时,按预设算法将登陆访问请求中的加密信息进行解密获得客户端的账号后,将解密所得的客户端的账号与登陆访问请求中的账号信息进行匹配,如果匹配成功,则确定此次登陆访问的身份验证成功。
进一步的,上述加密信息还可以由服务器对客户端的账号和时间戳按预设算法进行加密后发送给客户端。其中,当登陆访问请求中含有加密信息和账号信息时,按预设算法将登陆访问请求中的加密信息进行解密获得客户端的账号和时间戳后,将解密所得的客户端的账号与登陆访问请求中的账号信息进行匹配,如果匹配成功且时间戳在预设时间内,则确定此次登陆访问的身份验证成功。
为了进一步说明本发明提供的登陆访问处理方法,图2示出了根据本发明实施例的登陆访问处理方法的第二流程。如图2所示:
S210:根据客户端发送的身份验证请求,判断该请求中是否带有除账号信息之外的加密信息,其中,该加密信息包括用户登陆时的账号和登陆该账号的时间戳。
其中,本实施例中的身份验证请求即为第一流程中的登陆访问请求。需要说明的是,客户端发送的请求可以有两种方式,一种是客户端发送的请求只含加密信息,那么服务器只需将该加密信息中的账号解密出来就可以认为登陆访问请求的身份验证成功;另外一种是请求中含有账号信息和加密信息,那么服务器需要将解密出来的账号信息与请求中的账号进行匹配,匹配成功,才能认为登陆访问请求的身份验证成功。
进一步的,上述加密信息可以是由服务器对客户端的账号登陆成功后按预设算法进行加密后发送给客户端的,也可以是由服务器对客户端的账号登陆成功后对客户端的账号和时间戳一起进行加密后发送给客户端的。
在本实施例中,以请求中带有账号信息和加密信息,以及加密信息包括账号和时间戳一起进行判断。具体地,服务器在接收到客户端提交的身份验证请求后,根据请求中的账号信息进行判断,其中该账号信息即指的是用户登陆时所使用的账号。对账号信息进行判断也就指的是对用户登陆时所使用的账号进行判断。需要说明的是,对请求中的用户的账号信息的判断过程为公知常识,在此不再赘述。
除了对账号信息进行判断之外,还需检查提交的请求中是否包含有账号信息之外的加密信息。当请求中没有加密信息时,则按照目前标准的处理方式对用户的身份进行验证(即使用账号和密码进行登陆),当登陆成功后,则通过预设在服务器端的加密算法获取加密信息。
其中,图4示出了根据本发明实施例的获取加密信息的流程。如图4所示,获取加密信息的流程包括:
S410:确认客户端通过账号和密码重新访问登陆成功。
S420:在确认客户端通过账号和密码重新访问登陆成功后,将客户端的账号按预设算法进行加密,或者将客户端的账号和时间戳按预设算法进行加密。
S430:将加密后的客户端的账号或者客户端的账号和时间戳(即加密信息)发送给客户端。
需要说明的是,上述进行加密的预设算法是在各集群服务器端预先约定使用的,只有预先约定使用的各集群服务器才知道如何对客户端的账号或者客户端的账号和时间戳进行何种处理,其他没有约定的服务器则不会知道,因而没有预先约定的服务器也就只能同步身份标识来对登陆访问的身份进行验证。
如上所述,在下次登陆时,客户在提交身份验证请求的同时将所保存的加密信息也发送给服务器端。服务器端对请求中的加密信息按预设算法进行解密,然后将解密得到的账号与请求中的账号进行匹配,即下述步骤S220所述。
需要说明的是,进行解密的预设算法同样是在各集群服务器端预先约定使用,只有预先约定使用的各集群服务器才知道如何对客户端的账号或者客户端的账号和时间戳进行何种处理,其他没有约定的服务器则不会知道。也就是说,只有服务器端使用预先约定的解密算法才能解密出加密信息中的账号或者账号和时间戳,没有预先约定的服务器则不会知道。
另外需要说明的是,上述进行加密和解密的预设算法为公知常识,在此不再赘述。
S220:当该请求中有加密信息时,将解密加密信息得到的账号信息与请求中的账号信息进行匹配,当匹配成功且解密加密信息得到的时间戳在预设时间内,则身份验证成功。
具体地,当解密加密信息得到的账号信息与请求中的账号信息匹配成功时,还需判断加密信息中的该账号登陆时的时间戳是否有效,如果账号信息匹配成功且时间戳还在有效期内,则完成此次身份验证;如果账号信息匹配不成功或者账号信息匹配成功但时间戳已不在有效期内,则通过如图4所示的方法流程重新获取加密信息。
也就是说,当登陆访问请求中没有加密信息时,或者解密所得的客户端的账号与登陆访问请求中的账号信息匹配不成功,或者客户端的账号与登陆访问请求中的账号信息匹配成功但时间戳不在预设时间内时,在确认客户端通过账号和密码重新访问登陆成功后,将客户端的账号按预设算法进行加密后发送给客户端;或者,将客户端的账号和时间戳按预设算法进行加密后发送给客户端。
另外需要说明的是,上述的有效期即指预设时间,该预设时间由集群服务器所定义,时间可长可短。例如,可以将该预设时间定义为一个月,在这一个月之内客户端所提交的请求中附带的加密信息都不会失效。
另外,在本发明的一个优选实施例中,还可以定期重新设定客户端的账号有效期的时间戳,或者在客户端的账号有效期快到期时重新设定时间戳。例如,可以将预设时间设定为30天,那么客户端的账号有效期的时间戳每过30天都会自动更新一次;另外,还可以在预设时间快要到期时,对客户端的账号有效期的时间戳进行重新设定,以延长客户端的账号有效期。例如,在上述预设时间的第28天时,将时间戳重新设定为27天,如此便能够延长客户端的账号有效期,以方便控制账号的有效性。
通过图1、图2和图4所示的流程可以看出,本发明提供的登陆访问处理方法能够避免网络不好或者高请求量下,跨集群数据同步慢而导致的后续的登陆过程中所出现的身份验证超时现象,避免重新登陆的情况的发生,从而优化了服务器端的身份验证处理,提升用户的使用体验。
为了更为详细地说明本发明提供的登陆访问处理方法,图3示出了根据本发明实施例的登陆访问处理方法的第三流程。如图3所示:
S310:服务器端接收客户端发送的登陆请求。
S320:判断该登陆请求中除账号信息外是否包含加密信息,如果包含进入S330,否则进入S350。
S330:通过预设在服务器端的解密算法对该加密信息进行解密,然后与请求中的账号进行匹配。
S340:判断是否匹配成功,如果匹配成功进入S360,否则进入S350。
S350:按照标准的处理方式,即使用账号和密码进行登陆,然后进入S370。
S360:判断解密加密信息得到的时间戳是否在有效期内,如果时间戳在有效期内,则进入S390,否则进入S350。
S370:判断此次登陆是否成功,如果登陆成功,则进入S380,否则结束。
S380:通过预设在服务器端的加密算法对用户成功登陆的账号和时间戳进行加密,然后将加密信息返回客户端保存,然后进入S390。
S390:登陆验证成功,即完成登陆,用户可以进行后续的操作。
通过上述能够看出,本发明通过在集群服务器端使用预设的加密算法对登陆的账号和时间戳进行加密后返回到客户端并保存,在后续遇到身份验证时,服务器端通过对获取到的带有加密信息的验证请求进行验证,从而能够避免高请求量下,跨集群数据同步慢而导致在后续的登陆过程中出现身份验证超时,需要重新登陆的情况的发生。
下面通过两个实例来说明本发明提供的优化登陆访问处理方法所带来的有益效果。
实例一
用户在下班路上玩手游《我叫MT》,由于其回家的路线是公车接驳地铁,因此其所使用的移动终端的网络连接会经常出现波动,该用户在玩游戏的过程中经常出现“异常”提示,往往要重新登陆几次才能成功。
而采用本发明的方案,在该用户首次登陆该手游成功后,通过集群服务器端预设的加密算法将该用户成功登陆后的账号进行加密后返回到该用户的移动终端上进行保存,该用户在后续登陆该手游时,只需在登陆请求中附带上加密后的账号,那么服务器在后续接收到该用户的登陆访问请求时,从登陆访问请求中携带的账号与解密得到的账号进行匹配,匹配成功则确定登陆访问的身份验证成功。如此,即使该用户所使用的移动终端的网络连接经常出现波动,也能明显改善重新登陆的情况,进而提升用户的使用体验。当然,至于用户移动终端连接游戏服务器之间的网络连接问题,并不是本方案要解决的问题。
实例二
用户成功登陆某商城浏览购物的信息,一段时间后(该用户ID“隐离线”,虽然显示还在线上,但执行一些与用户身份相关联的操作,则需要再次登陆)。采用本发明的方案后,在该用户首次登陆该商城时,通过集群服务器端预设的加密算法将该用户成功登陆的账号进行加密后返回到该用户的移动终端上进行保存,该用户在后续登陆该商城时,只需在登陆请求中附带上加密后的账号信息,那么服务器在后续接收到该用户的登陆访问请求时,从登陆访问请求中携带的账号与解密得到的账号进行匹配,匹配成功则确定登陆访问的身份验证成功。如此,即使该用户在登陆一段时间(即ID隐离线)后,也无需重新登陆该商城仍可继续浏览信息,看中商品后,点击支付操作,通过上述方法快速的实现了身份鉴定,从而进入下一交易流程。
与上述方法相对应,本发明还提供一种登陆访问处理装置。图5示出了根据本发明实施例的登陆访问处理装置的逻辑结构。
如图5所示,本发明提供的登陆访问处理装置500包括接收单元510、判断单元520和验证单元530。
接收单元510用于接收客户端发送的登陆访问请求。
判断单元520用于判断登陆访问请求中是否含有加密信息,该加密信息由服务器对客户端的账号按预设算法进行加密后发送给客户端。
验证单元530用于当判断单元520判断出登陆访问请求中含有加密信息时,按预设算法将加密信息进行解密,其中,如果解密后能获得客户端的账号,则确定登陆访问的身份验证成功。
其中,本发明提供的登陆访问处理装置还包括匹配单元(图中未示出),用于当登陆访问请求中含有加密信息和账号信息时,按预设算法将加密信息进行解密获得客户端的账号后,将解密所得的客户端的账号与登陆访问请求中的账号信息进行匹配,如果匹配成功,则确定登陆访问的身份验证成功。
进一步的,上述加密信息还可以由服务器对客户端的账号和时间戳按预设算法进行加密后发送给客户端;当判断单元520判断出登陆访问请求中含有加密信息和账号信息时,按预设算法将登陆访问请求中的加密信息进行解密获得客户端的账号和时间戳后,匹配单元将解密所得的客户端的账号与登陆访问请求中的账号信息进行匹配,如果匹配成功且时间戳在预设时间内,则确定登陆访问的身份验证成功。
另外,本发明提供的登陆访问处理装置还包括加密单元和返回单元(图中均未示出),其中,加密单元用于将客户端的账号或者客户端的账号和时间戳按预设算法进行加密;返回单元用于将加密后的加密信息发送给客户端。
其中,当判断单元判断出登陆访问请求中没有加密信息时,或者匹配单元匹配成功但时间戳不在预设时间内时,在确认客户端通过账号和密码重新登陆访问成功后,通过加密单元对客户端的账号或者客户端的账号和时间戳进行加密,然后通过返回单元将加密后的加密信息发送给客户端。
进一步的,本发明提供的登陆访问处理装置还包括更新单元(图中未示出),用于定期重新设定时间戳;或者在客户端的账号的有效期快要到期时重新设定时间戳;然后将客户端的账号和时间戳按预设算法进行加密后发送给客户端。
另外,本发明还提供一种登陆访问处理系统,其中图6示出了根据本发明实施例的登陆访问处理系统的逻辑结构。
如图6所示,本发明提供的登陆访问处理系统600包括客户端610和服务器620,其中,客户端610用于向服务器发送含有加密信息的登陆访问请求,其中加密信息由服务器对客户端的账号按预设算法进行加密后发送给客户端;服务器620用于接收客户端发送的登陆访问请求,判断登陆访问请求是否含有加密信息,加密信息由服务器对客户端的账号按预设算法进行加密后发送给客户端;当登陆访问请求中含有加密信息时,按预设算法将加密信息进行解密后能获得客户端的账号,则确定登陆访问的身份验证成功。
其中,服务器620的结构及各单元功能,参见上述登陆访问处理装置500的介绍,此处不再赘述。
如上所述,通过本发明所提供的登陆访问处理方法、装置及系统,能够优化服务器端的身份验证处理流程,避免网络不好或高请求量下跨集群数据同步慢而导致的后续的登陆过程中所出现的身份验证超时,进而避免重新登陆的情况的发生,提升用户的使用体验。
如上参照附图以示例的方式描述了根据本发明的登陆访问处理方法、装置及系统。但是,本领域技术人员应当理解,对于上述本发明所提出的登陆访问处理方法、装置及系统,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。