CN111600858A - 一种应用登录方法、装置及*** - Google Patents
一种应用登录方法、装置及*** Download PDFInfo
- Publication number
- CN111600858A CN111600858A CN202010373077.9A CN202010373077A CN111600858A CN 111600858 A CN111600858 A CN 111600858A CN 202010373077 A CN202010373077 A CN 202010373077A CN 111600858 A CN111600858 A CN 111600858A
- Authority
- CN
- China
- Prior art keywords
- login
- target account
- application
- storage server
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种应用登录方法、装置及***,涉及云技术领域。该方法包括:从第一应用服接收目标账号登录所述第一应用服的登录请求;根据所述目标账号,从存储服务器中获取所述目标账号的登录信息,所述登录信息中包括目标账号当前登录的应用服信息;根据所述登录信息,确定所述目标账号已经登录第二应用服时,则通知所述第二应用服下线所述目标账号;在所述存储服务器中将所述目标账户当前登录的应用服信息更新为第一应用服信息;通知所述第一应用服允许所述目标账号登录。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及云技术领域,提供一种应用登录方法、装置及***。
背景技术
为了减少某个应用对应后台服务器的压力,应用对应的后台服务可能会划分多个应用服,一个账号正常情况下只能对应在一个应用服上登录,但是有些用户可能借助外挂,实现在多个应用服上重复登录。以游戏应用为例,用户在多个游戏服上同时登录一个账号,可以提高该账号的胜率,这样会影响其他用户的游戏体验。
目前,一般***会设置多个登录进程,每个登录进程用于获取一部分账号的在线玩家数据,定期基于自身获取的在线玩家数据,检测一个账号是否重复登录,但该方式是在各账号登录完成之后进行的检测,依旧无法从根本上避免一个账号重复登录多个应用服的情况。
发明内容
本申请实施例提供一种应用登录方法、装置及***,用于解决一个账号重复登录多个应用服的问题。
一方面,提供一种应用登录方法,包括:
从第一应用服接收目标账号登录所述第一应用服的登录请求;
根据所述目标账号,从存储服务器中获取所述目标账号的登录信息,所述登录信息中包括目标账号当前登录的应用服信息;
根据所述登录信息,确定所述目标账号已经登录第二应用服时,则通知所述第二应用服下线所述目标账号;
在所述存储服务器中将所述目标账户当前登录的应用服信息更新为第一应用服信息;
通知所述第一应用服允许所述目标账号登录。
另一方面,提供一种应用登录方法,包括:
从登录进程接收查询请求;其中,所述查询请求包括目标账号;
若根据所述查询请求,查找到与所述目标账号的登录信息,则并向所述登录进程发送退出登录通知,以使所述登录进程通知第二应用服下线所述目标账号;
从登录进程接收数据更新请求;其中,所述数据更新请求包括存储本次准备登录的所述目标账号以及第一应用服信息;
若根据所述数据更新请求,查找到与所述目标账号的登录信息,则将自身存储的所述目标账户当前登录的应用服信息更新为第一应用服信息,并向所述登录进程发送合法登录通知,以使所述登录进程通知所述第一应用服允许所述目标账号登录。
另一方面,提供一种应用登录装置,包括:
收发模块,用于从第一应用服接收目标账号登录所述第一应用服的登录请求;
处理模块,用于根据所述目标账号,从存储服务器中获取所述目标账号的登录信息,所述登录信息中包括目标账号当前登录的应用服信息;
所述收发模块,还用于根据所述登录信息,确定所述目标账号已经登录第二应用服时,则通知所述第二应用服下线所述目标账号;
所述处理模块,还用于在所述存储服务器中将所述目标账户当前登录的应用服信息更新为第一应用服信息;
收发模块,还用于通知所述第一应用服允许所述目标账号登录。
在一种可能的实施例中,所述处理模块具体用于:
向所述存储服务器发送数据更新请求,所述数据更新请求中包括从所述存储服务器获取的处理标识和所述第一应用服信息,以使所述存储服务器在数据更新请求中的处理标识与保存的处理标识相同时,将所述目标账号当前登录的应用服信息更新为第一应用服信息,并更新所述目标账号的处理标识。
在一种可能的实施例中,所述收发模块还用于:
根据所述存储服务器发送的非法登录通知,通知所述第一应用服拒绝所述目标账号的登录请求,所述非法登录通知是所述存储服务器在数据更新请求中的所述目标账号的处理标识与保存的所述目标账号的处理标识不相同时发送的。
在一种可能的实施例中,所述处理模块具体用于:
在所述存储服务器中将所述目标账户当前登录的应用服信息更新为第一应用服信息之前,确认从所述存储服务器获取的处理标识和所述存储服务器中保存的处理标识相同;以及
在所述存储服务器中,更新所述目标账号的处理标识,以及将所述目标账户当前登录的应用服信息更新为所述第一应用服信息。
在一种可能的实施例中,所述收发模块还用于:
当确认从所述存储服务器获取的处理标识和所述存储服务器中保存的处理标识不相同时,通知所述第一应用服拒绝所述目标账号的登录请求。
在一种可能的实施例中,所述处理模块还用于:
当从存储服务器中未查找到所述目标账号的登录信息时,从所述存储服务器中获取所述目标账号存储的默认的处理标识。
在一种可能的实施例中,所述处理模块,还用于从所述存储服务器中未查找到所述目标账号的登录信息,且获取的处理标识和所述存储服务器中保存的处理标识相同时,在所述存储服务器中存储所述登录请求对应的登录信息;所述收发模块,还用于通知所述第一应用服允许所述目标账号登录;以及
所述处理模块,还用于接收到所述第一应用服发送的所述目标账号退出所述第一应用服的退出通知时,在所述存储服务器中删除所述目标账号的登录信息。
又一方面,提供一种应用登录装置,包括:
收发模块,用于从登录进程接收查询请求;其中,所述查询请求包括所述目标账号;
查找模块,用于若根据所述查询请求,查找到与所述目标账号的登录信息,则并向所述登录进程发送退出登录通知,以使所述登录进程通知所述第二应用服下线所述目标账号;
所述收发模块,用于从登录进程接收数据更新请求;其中,所述数据更新请求包括存储本次准备登录的所述目标账号以及第一应用服信息;
更新模块,用于若根据所述数据更新请求,查找到与所述目标账号的登录信息,则将自身存储的所述目标账户当前登录的应用服信息更新为第一应用服信息;
所述收发模块,还用于向所述登录进程反馈所述合法登录通知,以使所述登录进程通知所述第一应用服允许所述目标账号登录。
在一种可能的实施例中,所述数据更新请求还包括获取的处理标识,所述更新模块还用于:
在数据更新请求中的处理标识与保存的处理标识相同时,将所述目标账号当前登录的应用服信息更新为第一应用服信息,并更新所述目标账号的处理标识。
在一种可能的实施例中,所述装置还包括生成模块,其中:
所述生成模块,用于在数据更新请求中的处理标识与保存的处理标识不相同时,生成非法登录通知;
所述发送模块,还用于将所述非法登录通知发送给登录进程,以使所述登录进程通知所述第一应用服拒绝所述目标账号的登录请求。
在一种可能的实施例中,所述收发模块还用于:
当未查找到所述目标账号的登录信息时,将存储的所述目标账号存储的默认的处理标识发送给所述登录进程。
在一种可能的实施例中,所述装置还包括删除模块,其中:
所述收发模块,用于未查找到所述目标账号的登录信息,且确定所述数据更新请求中的处理标识和所述存储服务器中保存的处理标识相同时,在所述存储服务器中存储所述登录请求对应的登录信息,并通知所述第一应用服允许所述目标账号登录;以及
所述删除模块,用于接收所述登录进程发送的删除通知时,删除所述目标账号的登录信息;其中,所述删除通知是所述登录进程在获得所述第一应用服发送的所述目标账号退出所述第一应用服的退出通知时发送的。
另一方面,提供一种应用登录***,包括另一方面论述的装置和又一方面论述的装置。
另一方面,提供一种计算机设备,该装置包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如前文中论述的任一项所述的应用登录方法。
另一方面,提供一种存储介质,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如前文中论述的任一项所述的应用登录方法。
由于本申请实施例采用上述技术方案,至少具有如下技术效果:
本申请实施例中,从应用服接收登录请求,可以根据目标账号确定存储服务器是否存在有该目标账号的登录信息,如果存储服务器中已存在有目标账号的登录信息,则表示该目标账号已登录,可以退出之前登录的目标账号,再允许该登录请求,进而登录目标账号,从而解决了一个账号重复登录的问题。且,由于存储服务器中可以只存储当前登录的账号对应的信息,无需存储之前账号产生的其它数据等,相对可以节省存储服务器的存储空间。
附图说明
图1为相关技术提供的一种应用登录***的结构示意图;
图2为本申请实施例提供的一种应用登录方法的应用场景示意图;
图3为本申请实施例提供的一种应用登录方法的原理示意图一;
图4为本申请实施例提供的一种应用登录方法的原理示意图二;
图5为本申请实施例提供的一种应用登录方法涉及各设备间的交互示意图;
图6为本申请实施例提供的一种获取登录信息的交互示意图;
图7为本申请实施例提供的一种应用登录方法涉及各设备间的交互示意图;
图8为本申请实施例提供的一种应用登录装置的结构示意图;
图9为本申请实施例提供的一种应用登录装置的结构示意图;
图10为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了更好的理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
1、云技术(Cloud technology):是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。本申请实施例中所提到的应用服、登录进程、存储服务器均可以通过云技术实现。
2、应用服:是指能够实现应用对应的功能的模块,一个应用服可以是在一个独立的服务器实现,或者多个应用服可以在一个服务器上实现,多个应用服中每个应用服均能支持客户端完成对应的功能,多个应用服之间可以相互通信,也可以相互不通信,以游戏应用为例,两个登录在不同服上的账号可以不能跨服组队游戏。本申请实施例中的第一应用服和第二应用服等均指应用对应的应用服,可能是同一个应用服,也可能是应用的不同两个应用服。
3、登录进程:是指用于实现登录校验功能的模块,一个登录进程可以是在一个独立的服务器实现,或者多个登录进程可以在一个服务器上实现。
4、目标账号:用户在使用某个应用时,可能需要注册账号,或者使用临时账号登录,去登录应用服。也就是说,本申请实施例中的目标账号可能是注册后的永久性的账号,也可能是临时性的账号。
5、登录请求:用于请求使用目标账号登录应用,登录请求中包括登录信息,登录信息可以包括用户需要登录的账号信息,账号信息比如用户的账号标识等,登录信息还可以包括用户想要登录的应用服信息,应用服信息具体比如应用服的标识,具体比如用户想要登录应用的第一应用服A。
6、网络游戏(Online Game):也称在线游戏,一般指多名玩家透过计算机互联网进行交互娱乐的电子游戏。
7、大型多人在线角色扮演游戏(MMORPG):网络游戏的一种,是电子角色扮演游戏按电子游戏人数分类分别出来的一种网络游戏。在所有MMORPG中,玩家都可扮演一个或多个虚拟角色,并控制该角色的在游戏中虚拟世界的活动与行为。
8、客户端(Client):指与应用服相对应,为客户提供本地服务的程序。一般安装在终端上,需要与应用服互相配合运行。
9、应用服(Server):指为客户端提供数据计算、校验、存储和转发功能的服务软件程序。需开发商保证其稳定运作和正常的服务功能。
10、高并发:高并发是指在同一个时间点,有很多用户同时的访问同一应用服。它经常会发生在有大活跃用户量,用户高聚集的业务场景中。
11、悲观锁:悲观锁具有强烈的独占和排他特性。它指的是对数据被外界(包括本***当前的其他事务,以及来自外部***的事务处理)修改持保守态度,在整个数据处理过程中,将数据处于锁定状态。
12、乐观锁:乐观锁相对悲观锁而言,乐观锁认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测。
13、存储服务:存储应用运行过程中各类应用数据,具有高可用、备份容灾、高性能等特性,宕机后可从数据日志中恢复数据。
14、服务器:可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
15、终端设备:可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,
16、客户端:可以是预装在终端设备中的,也可以是通过终端设备访问的网页客户端,也可以是通过第三方应用访问的客户端等。
17、处理标识:又可以称为数据版本号,可以理解为存储服务器中存储的账号的数据版本标识。在存储服务器中有目标账号的登录信息时,该数据版本号对应为该登录信息的数据版本号,在存储服务器中不存在目标账号的登录信息时,该数据版本号对应为默认的数据版本号,默认的数据版本号又可以称为默认数据版本号。
应当说明的是,本申请实施例中的“多个”包括两个或两个以上,“至少一个”包括一个以及一个以上,“A和/或B”包括“A”、“B”和“A和B”的三种情况。
下面对本申请实施例涉及的设计思想进行介绍。
请参照图1,表示一种相关技术登录应用***的结构示意图,下面结合图1,对相关技术进行示例说明。
在相关技术中,每个主机110用于负责一定账号区间内的账号的登入和退出。每个主机110可以配备一个备机120。每个主机110可以与各个应用服130通信,每个应用服130会周期性地向主机上报该主机110负责的账号区间内的账号所对应的应用数据,比如用户的登录信息等。在主机110定期获得应用数据之后,校验一个账号是否重复登录多个应用服。
在相关技术中,其一,由于各应用服130是周期性向主机110上报数据,这样在主机110接收到对应的应用数据时,某些账号可能已重复登录,即无法从根本上避免一个账号的重复登录。其二,当某个主机110宕机时,则无法对其负责的账号区间内的账号进行重复登录校验,因此为了备机120可以随时代替主机110实现账号的重复登录校验,还需要备机120同步存储主机110中的数据,也就是说,除了每个应用服130会向主机上报数据,主机还需要向备机130发送大量的数据,这样整个***中的数据传输量大。一旦备机120宕机,则无法进行账号的重复登录校验。结合上述内容可以看出,相关技术无法从根本上避免账号重复登录的情况,且***的部署成本和后期维护成本较高。
鉴于此,本申请发明人设计一种应用登录方法,该方法中,涉及各应用服,登录进程,以及存储服务器,存储服务器中会存储当前登录的各账户的登录信息。应用服在获得目标账号的登录请求之后,将该登录请求反馈给登录进程,登录进程根据存储服务器中存储的信息,确定目标账号是否已登录,如果该目标账号已登录,根据存储服务器中目标账号的登录信息,强制之前登录的目标账号下线,再允许当前的登录请求,且会将存储服务器中的登录信息更新为该账号最新的登录信息。
本申请实施例中,由于在处理目标账号的登录请求的过程中,就会验证目标账号是否重复登录。一旦目标账号重复登录,就会强制下线之前已经登录的目标账号,从根本上避免了账号重复登录应用服的问题。且,本申请实施例中,登录进程无需存储大量的登录信息,方便部署登录进程,提高***的可拓展性,且***部署更简单。具体比如可以部署多个登录进程,能够提高登录应用过程的效率。且,本申请实施例中,登录进程是利用存储服务器中的数据验证账号是否重复登录,因此,即使某个登录进程宕机,也可以利用其它登录进程实现账号重复登录的校验,避免了某个登录进程宕机后对账号重复验证功能的影响,减少了***维护的成本。另外,即使某个进程失效,也不需要备份或传输大量的数据,减少了处理过程中的数据传输量。且,存储服务器中存储当前在线的账号的登录信息,无需存储大量的登录信息,节省存储服务器的存储空间。
进一步地,本申请发明人考虑到某些情况下,比如用户使用外挂程序等,用户可能向多个应用服发起针对一个目标账号的多个登录请求,应用服可以将这些登录请求转发至对应的登录进程进行处理。由于每个登录进程的处理逻辑可以是非阻塞执行逻辑,非阻塞执行逻辑可以理解为每个登录进程可以是并行处理的。这时如果每个登录进程分别从存储服务器中查找是否有目标账号的登录信息,那么可能均未从存储服务器中查找对对应的登录信息,可能错误地允许一个账号重复登录。
因此,本申请实施例中,在登录进程获得登录请求之后,会先向存储服务器获取一个数据版本号,登录进程会进一步确定将该数据版本号与存储服务器中保存的数据版本号是否一致,具体比如登录进程将获取的数据版本号和接收的登录请求中的第一应用服信息发送给存储服务器,当确定获取的数据版本号和存储服务器中存储的数据版本号相同时,更新存储服务器中的数据版本号,当获取的数据版本号和存储服务器中存储的数据版本号不相同时,会拒绝该登录请求。这样一来,即时存在多个针对目标账号的登录请求,由于某个登录请求已经被允许,存储服务器中该目标账号的数据版本号已被更新,其它登录请求对应的的数据版本号与更新后的存储服务器中的数据版本号无法匹配,因此其它登录请求会被拒绝,也就是说,本申请实施例,即使在高并发的情况下,也能够避免目标账号重复登录。
基于上述设计思想,下面对本申请实施例涉及的应用登录方法的应用场景进行介绍。
请参照图2,表示一种应用场景示意图,该应用场景中包括安装在终端设备中的客户端210、多个应用服220、多个登录进程230和存储服务器240。每个登录进程230可以与每个应用服220相互通信,每个登录进程230可以与存储服务器240相互通信,通信方式有多种,具体不做限制。其中,任意两个登录进程230可以设置在一个服务器上,或者也可以分别设置在两个服务器上。任意两个应用服220可以设置在一个或分别设置在两个服务器上。服务器、终端设备和客户端可以参照前文论述的内容,此处不再赘述。
下面对各个设备交互实现应用登录方法的原理进行示例介绍。
请参照图3,表示各个设备之间交互实现登录应用的原理示意图一,具体如下:
S301,客户端210通过应用服220将登录请求发送给登录进程230。
用户在准备使用应用时,可以通过客户端210登录应用。在登录应用时,用户需要输入账号和密码,或者客户端210缓存有用户之前输入的账户和密码,用户点击确认,另外用户还可以选择对应要登录的应用服220,或者客户端210默认为用户选择一个应用服220。在客户端接收到账号和密码,或者接收到账号、密码和应用服220之后,可以生成登录请求。登录请求可以参照前文论述的内容,此处不再赘述。客户端210在生成登录请求之后,将登录请求发送给对应的应用服220。
应用服220在获得登录请求之后,可以获得登录请求中的登录信息,将登录信息发送给登录进程230,应用服220可以将登录信息发送给任意一个登录进程,或者为了负载均衡,应用服220可以将登录信息发送给当前处理量减少的登录进程230处理。
继续参照图3,比如用户准备使用账号A登录图3中的第一应用服220,那么客户端210可以将该登录请求发送给第一应用服220,比如用户准备使用账号B登录图3中的第二应用服220,那么客户端210可以将该登录请求发送给第二应用服220。比如用户准备使用账号C登录图3中的第三应用服220,那么客户端210可以将该登录请求发送给第三应用服220。
S302,登录进程230查询存储服务器240中是否存在与目标账号的登录信息。
在登录进程230获得登录信息之后,在存储服务器240中查询是否存在与该目标账号相关的登录信息。
S303,登录进程230通知对应的应用服下线该目标账号。
如果存在该目标账号的登录信息,登录进程230通知对应的应用服下线该目标账号。
S304,登录进程230将当前的登录信息存储到存储服务器240中。
或者之前没有应用服登录该目标账号,则直接将当期那登录信息存储至存储服务器240中。在登录账号已退出之后,登录进程230将目标账号的登录信息更新为当前的登录请求中的登录信息。
S305,登录进程230通知对应的应用服允许目标账号登录。
如果重复登录的账号已下线,或者之前没有重复登录的账号,则登录进程230直接通知登录请求关联的应用服登录目标账号。
例如,继续参照图3,账号A对应第一应用服220,账号B对应第二应用服220,账号C对应第三应用服220。登录进程确定存储服务器240没有存储账号A、B和C对应的登录信息,登录进程230直接通知第一应用服220登录账号A,登录进程230通知第二应用服220登录账号B,登录进程230通知第三应用服220登录账号C。
基于图3论述的原理,下面增加数据版本号验证的原理进行介绍。
请参照图4,表示实现登录应用的原理示意图二,具体如下:
S401,客户端210通过应用服220将登录请求发送给登录进程230。
登录请求,生成登录请求的方式等内容可以参照前文S301论述的内容,此处不再赘述。根据登录请求获取登录信息的内容可以参照前文论述的内容,此处不再赘述。
S402,登录进程230从存储服务器240获取数据版本号。
在登录进程获得登录信息之后,确定当前需要登录的账号,然后从存储服务器240去获取该目标账号的数据版本号。
在获取数据版本号的同时,会获取存储服务器240中目标账号的登录信息,如果存储服务器240中已存在目标账号的登录信息,则先通知应用服下线之前已经登录的目标账号。如果存储服务器240中不存在目标账号的登录信息,直接执行下述步骤。
S403,当获取的数据版本号与存储服务器240中的数据版本号相同时,更新存储服务器240中的目标账号的登录信息,并更新目标账号的数据版本号。
S404,登录进程230通知第一应用服允许目标账号登录。
S405,当获取的数据版本号与存储服务器240中的数据版本号不相同时,通知第一应用服拒绝目标账号登录。
例如,请继续参照图4,用户当前使用账号A三个客户端210分别发送两个登录请求(具体包括第一登录请求、第二登录请和第三登录请求)。登录进程230从存储服务器240中该账号A的数据版本号为23,针对第一个登录请求,登录进程230确定该数据版本号与存储服务器240中存储的数据版本号一致,进而将存储服务器240的数据版本号更新为24,更新存储服务器240存储的目账号A的登录信息,并允许该账号A在第一应用服220中登录。针对第二登录请求,登录进程230确定第二登录请求的数据版本号23与存储服务器240中存储的数据版本号24不相同,进而拒绝该第二登录请求。针对第三登录请求,登录进程230确定第三登录请求的数据版本号23与存储服务器240中存储的数据版本号24不相同,进而拒绝该第三登录请求。
应当说明的是,相较于图3论述的过程,在图4的实现方式中,增加了数据版本号的获取以及验证数据版本号的过程,解决了在高并发的情况下账号重复登录的问题。
基于图2论述的应用场景,以及图3论述的原理,下面对本申请实施例涉及的应用登录方法进行示例介绍。
请参照图5,表示客户端210、应用服220、登录进程230和存储服务器240之间的交互示意图一。
S501,客户端210响应于登录操作,生成登录请求。
用户准备使用应用时,可以在客户端210的登录界面中输入账号和密码,还可以选择要登录的应用服220,或者客户端210缓存有该用户的账户和密码,用户可以选择需要登录的应用服220,或者客户端210默认为该用户分配对应的应用服220,在客户端210获得账号、密码以及应用服220时,可以生成登录请求。
S502,客户端210将登录请求发送给第一应用服220。
客户端210在生成登录请求之后,可以将登录请求发送给第一应用服220,为了便于与后文其它登录信息区分,登录请求中的登录信息又可以称为第一登录信息。登录信息可以参照前文论述的登录信息的内容,此处不再赘述。
S503,第一应用服220将登录请求发送给登录进程230。
登录进程230在获得登录请求之后,可以解析登录请求,获得登录请求中的登录信息。
S504,登录进程230根据目标账号,从存储服务器240获取目标账号的登录信息。
登录进程230在获得登录信息之后,可以确定当前需要登录的目标账号,可以根据目标账号,比如目标账号的账号标识,向存储服务器240获得该目标账号的登录信息。这里的目标账号的登录信息又可以称为历史登录信息。具体获取登录信息的方式有多种,下面示例说明。
示例一:
登录进程230接收存储服务器发送的目标账号的登录信息。
请参照图6,表示登录进程230接收目标账号的登录信息的过程示意图,该交互过程具体如下:
S601,登录进程230根据登录信息,生成查询请求。
其中,查询请求包括目标账号,比如具有包括目标账号的账号标识。
S602,登录进程230将查询请求发送给存储服务器240。
S603,存储服务器240可以根据查询请求,确定自身是否存在目标账号的登录信息。
存储服务器240中至少存储有当前登录的各账号的应用服信息,存储服务器240在获得目标账号的登录信息时,可以确定自身是否存在该目标账号的登录信息。
S604,存储服务器240如果确定自身存在目标账号的登录信息,将自身存储的登录信息发送给登录进程230。
反之,如果存储服务器240中不存在目标账号的登录信息,不反馈自己存储的登录信息给登录进程230。
示例二:
登录进程230从存储服务器240获取目标账号的登录信息。
登录进程230可以访问存储服务器240中数据,在这种情况下,登录进程230可以根据目标账号,从存储服务器240中调用目标账号的登录信息。如果存储服务器240存储有目标账号的登录信息,登录进程230就能获得该目标账号的登录信息,如果存储服务器240中没有存储目标账号的登录信息,自然无法获得该目标账号的登录信息。该方式中,可以简化登录进程230和存储服务器240之间的交互过程。
S505,如果登录进程230根据登录信息,确定目标账号已经登录第二应用服,通知第二应用服220下线目标账号。
由于登录信息包括目标账号当前登录的应用服信息,因此在登录进程230获得登录信息之后,能够确定目标账号当前登录的应用服,如确定目标账号已经登录第二应用服220,向第二应用服220发送第一通知信息,该第一通知信息用于指示第二应用服220下线目标账号,下线目标账号可以理解为退出当前登录的目标账号。
S506,登录进程230在存储服务器240中将目标账号当前登录的应用服信息更新为第一应用服信息。
如果存储服务器240中存储目标账号的登录信息(历史登录信),登录进程230可以将登录请求中的登录信息(也就是前文中的第一登录信息)发送给存储服务器240,存储服务器240接收该登录请求中的登录信息,并将之前存储的目标账号的登录信息更新为该登录请求中的登录信息。如果存储服务器240中没有存储有目标账号的登录信息(历史登录信息),登录进程230可以将登录请求中的登录信息发送给存储服务器240,存储服务器240存储该登录请求中的登录信息。该方式中,是由登录进程230指示存储服务器240去更新,相对可以减少登录进程的处理量。
或者,如前文论述的内容,登录进程230可以调用或更改存储服务器240中的数据,这种情况下,如果存储服务器240存储有历史登录信息,登录进程230可以将第一登录信息存储到存储服务器240中。如果存储服务器240没有存储有历史登录信息,登录进程230可以将第一登录信息直接写入存储服务器240中。该方式中,是由登录进程230主动更新存储服务器240中的数据,减少存储服务器240的处理量。
应当说明的是,由于目标账号等并没有发生变化,可能仅仅是目标账号登录的应用服发送变化,因此在存储服务器240存储有目标账号的登录信息的情况下,存储服务器240只需将目标账号当前登录的应用服信息更新为第一应用服信息。
S507,登录进程230向第一应用服220发送第二通知信息。
该第二通知信息用于指示第一应用服220登录目标账号。第二通知消息具体可以包括目标账号的账号标识。
S508,登录进程230根据目标账号,从存储服务器240未获取到目标账号的登录信息,则在存储服务器240中存储目标账号的登录信息,向第一应用服220发送第三通知消息。
如前文S503论述的内容,登录进程230向存储服务器240查询目标账号的登录信息,并未收到存储服务器240的反馈。或者登录进程230从存储服务器240中调用目标账号的登录信息,并没有调用出目标账号的登录信息,那么也就表示存储服务器240并没有目标账号的登录信息,也就表示目标账号之前并没有登录,因此,登录进程230可以将目标账号的登录信息反馈给存储服务器240,并向第一应用服220发送第三通知消息,第三通知消息用于指示允许目标账号登录。第一应用服220在接收第三通知消息之后,允许目标账号登录,且向客户端210反馈目标账号登录成功的消息。
S504~S507和S508为处理过程中可能出现的两种情况,针对一个登录请求的处理过程,要么执行S504~S507,要么执行S508。
作为一种实施例,S501~S502和S508为可选的部分。
在图5论述的实施例中,登录进程230从应用服220获得目标账号的登录请求之后,可以根据存储服务器240中存储的信息,进而确定该目标账号是否在已经登录,如果已经登录,则强制退出已经登录的目标账号,并及时更新存储服务器240中登录信息,并允许该登录请求,也就是说,在登录的过程中,就会验证该账号是否重复登录,进而从根本上避免该目标账号重复登录。
S509,客户端210根据退出操作,生成退出通知。
当用户使用完应用之后,可能会主动退出应用,比如用户点击客户端210中的退出按键,客户端210根据用户进行的退出操作,生成退出通知。该退出通知用于表示从第一应用服220中退出目标账号。
S510,客户端210将退出通知发送给第一应用服220。
客户端210在生成退出通知之后,将该退出通知发送给第一应用服220,第一应用服可以下线目标账号。下线目标账号之后,还可以向客户端210反馈退出登录目标账号的信息。
S511,第一应用服220将退出通知发送给登录进程230。
S512,登录进程230向存储服务器240发送删除请求。
登录进程230接收第一应用服220发送的目标账号退出第一应用服的退出通知时,在存储服务器240中删除目标账号的登录信息。比如登录进程230可以向存储服务器240发送删除请求,该删除请求用于指示存储服务器240删除目标账号的登录信息。或者比如登录进程230可以访问存储服务器240,删除该存储服务器240中的登录信息。
S513,存储服务器240删除自身存储的目标账号的登录信息。
在存储服务器240接收到目标账号的登录信息之后,可以删除自身存储的目标账号的登录信息。
基于图2论述的应用场景,以及图4论述的原理,下面对本申请实施例涉及的高并发情况下的应用登录方法进行示例介绍。
请参照图7,表示客户端210、应用服220、登录进程230和存储服务器240之间的交互示意图二,该交互过程具体如下:
S701,第一客户端210响应于登录操作,生成第一登录请求。
当用户通过多个客户端登录目标账号时,每个客户端对应生成登录请求。用户通过操作第一客户端210,第一客户端210根据该用户的操作,生成第一登录请求,第一登录请求用于请求使用目标账号登录第一应用服220。第一登录请求可以参照前文论述的登录请求的内容,此处不再赘述。其中,登录操作,登录请求,以及生成登录请求的内容可以参照前文论述的内容,此处不再赘述。
S702,第一客户端210将登录请求发送给第一应用服220。
具体的,第一客户端210可以将第一登录请求发送给第一应用服220。
S703,第一应用服220将第一登录请求发送给登录进程230。
第一应用服220将第一登录请求发送给登录进程230,在登录进程230获得第一登录请求之后,可以解析第一登录请求,获得第一登录请求中的第一登录信息。
S704,登录进程230根据第一登录请求中的目标账号,从存储服务器240获取数据版本号和目标账号的历史登录信息。
获取目标账号的历史登录信息的方式可以参照前文S503的内容,此处不再赘述。本申请实施例中,除了获取目标账号的历史登录信息之外,还会获取该目标账号的数据版本号。
具体的,登录进程230在获得第一登录信息之后,可以向存储服务器240发送第一查询请求,第一查询请求用于查询存储服务器240是否存在目标账号的历史登录信息。
存储服务器240接收到第一查询请求时,如果在存储服务器240中查询到目标账号的历史登录信息,就向登录进程230反馈该目标账号的历史登录信息,以及该目标账号的历史登录信息对应的数据版本号。如果在存储服务器240没有查询到目标账号的历史登录信息,则向登录进程230反馈目标账号的默认数据版本号。其中,所有账号的默认数据版本号可以是相同的,也可以是不同的。
或者,登录进程230直接从存储服务器240中获取目标账号的历史登录信息时,还可以从存储服务器240去获取数据版本号。如果存储服务器240存储有目标账号的历史登录信息时,可以获得该目标账号的历史登录信息对应的数据版本号。如果存储服务器240不存在目标账号的历史登录信息,可以获得该目标账号的默认数据版本号。
例如,存储服务器240确定自身存在账号A的历史登录信息,就将账号A的历史登录信息以及数据版本号(比如V1)发送给登录进程230。如果存储服务器240确定自身不存在账号A的历史登录信息,就将默认数据版本号(比如V0)发送给登录进程230。
S705,登录进程230根据第一登录请求中的目标账号,从存储服务器240获取数据版本号。
如S704中论述的内容,当存储服务器240中不存在目标账号的登录信息时,登录进程230可以从存储服务器240直接获得默认数据版本号。具体获得默认数据版本号的方式可以参照S704论述的内容,此处不再赘述。
S706,第二客户端210响应于登录操作,生成第二登录请求。
用户通过操作第二客户端210,第二客户端210根据该用户的操作生成第二登录请求。第二登录请求用于请求使用目标账号登录第三应用服220。
应当说明的是,图7中的实施例中是以两个登录请求为例,示例并发多个登录请求的处理过程,实际上不限制登录请求的数量。
S707,第二客户端210将第二登录请求发送给第三应用服220。
S708,第三应用服220将第二登录请求发送给登录进程230。
第三应用服220可以将第二登录请求发送给登录进程230。在登录进程230获得第二登录请求之后,可以解析第二登录请求,获得第二登录请求中的第二登录信息。
S709,登录进程230根据第二登录请求中的目标账号,从存储服务器240获取数据版本号和目标账号的历史登录信息。
登录进程230从存储服务器240获得数据版本号和目标账号的历史登录信息的内容可以参照前文S704论述的内容,此处不再赘述。由于登录进程230从存储服务器240获取数据版本号时,存储服务器240中的数据并未更新,因此登录进程230从存储服务器240获得的针对第二登录请求对应的数据版本号与S707中获得针对第一登录请求对应的数据版本号是相同的,且登录进程230从存储服务器240获得的针对第二登录请求对应的目标账号的历史登录信息与S707中获得的针对第二登录请求对应的目标账号的历史登录信息是相同的。
S710,登录进程230根据第二登录请求中的目标账号,从存储服务器240获取数据版本号。
如果存储服务器240不存在目标账号的历史登录信息,那么登录进程230从存储服务器240直接获得默认数据版本号,获取默认数据版本号的内容可以参照前文S704论述的内容,此处不再赘述。
S701~S705和S706~S710两部分的执行顺序可以是任意的,本申请不做具体限制。
S711,登录进程230根据目标账号的历史登录信息,若确定目标账号已经登录第二应用服220,则通知第二应用服220下线目标账号。
在前文S707以及S709论述的情况下,登录进程230获得目标账号的历史登录信息时,则表示该目标账号已经登录,那么登录进程230可以根据历史登录信息进一步确定该目标账号具体在哪个应用服登录,如果目标账号在第二应用服220中已经登录,那么登录进程230通知第二应用服220下线目标账号。第二应用服220,以及下线目标账号等内容可以参照前文论述的内容,此处不再赘述。
作为一种实施例,在下线目标账号时,可以登录进程230可以指示删除或者删除存储服务器240中的目标账号的历史登录信息。
作为一种实施例,如果存储服务器240中并未存储目标账号的历史登录信息,那么S711则无需执行。
S712,登录进程230生成第一数据更新请求,并将第一数据更新请求发送给存储服务器240。
登录进程230在获得针对第一登录请求对应的数据版本号之后,可以根据第一登录请求中的第一登录信息,以及获取的数据版本号,生成第一数据更新请求,数据更新请求包括本次准备登录的目标账号,第一应用服信息,以及获取的数据版本号。目标账号具体比如目标账号的账号标识,第一应用服信息具有比如第一应用服的应用服标识。在生成第一数据更新请求之后,登录进程230可以将第一数据更新请求发送给存储服务器240,第一数据更新请求用于指示将存储服务器240将目标账号的登录信息更新为第一登录信息。
S713,登录进程230生成第二数据更新请求,并将第二数据更新请求发送给存储服务器240。
由于登录进程230还获得了目标账号的第二登录请求,因此,登录进程230也可以根据第二登录请求中第二登录信息,以及获取的数据版本号,生成第二数据更新请求,第二数据更新请求可以参照第一数据更新请求的内容,此处不再赘述。第二数据更新请求用于指示将存储服务器240将目标账号的登录信息更新为第二登录信息。
作为一种实施例,S712和S713的执行顺序可以是任意的。
在一种可能的实施例中,在存储服务器240中不存在目标账号的登录信息时,数据更新请求可以用于指示存储服务器240存储登录请求中对应的登录信息。具体比如第一数据更新请求用于指示存储服务器240存储第一登录信息,第二数据更新请求用于指示存储服务器240存储第二登录信息。在这种情况下,数据更新请求可以包括登录请求中对应的登录信息,以及目标账号的账户标识。
S714,存储服务器240校验第一数据更新请求中的数据版本号。
在S712~S713之后,存储服务器240获得了第一数据更新请求和第二数据更新请求,此时,存储服务器240可以将各数据更新请求加入待处理队列,依次对各个数据更新请求进行处理。
本申请实施例中,以存储服务器240先处理第一数据更新请求为例进行介绍。存储服务器240校验第一数据更新请求中的数据版本号与自身存储的数据版本号是否一致,如果第一数据更新请求中的数据版本号与自身存储的数据版本号相同,存储服务器240可以将目标账号的登录信息更新为第一登录信息,并更新存储服务器240中的数据版本号。
S715,存储服务器240向登录进程230发送针对第一登录请求的合法登录通知。
合法登录通知用于指示允许第一登录请求。
S716,登录进程230通知第一应用服220允许目标账号登录。
登录进程230在获得合法登录通知之后,确定该第一登录请求合法,因此可以通知第一应用服220允许目标账号登录。
S717,存储服务器240校验第二数据更新请求中的数据版本号。
存储服务器240校验第一数据更新请求中的数据版本号与自身存储的数据版本号是否一致,如前文S714论述的内容,由于第一数据更新请求与第二数据更新请求中存储的数据版本号是相同的,但在S714中第一数据更新请求中的数据版本号与自身存储的数据版本号相同时,存储服务器240中的数据版本号已被更新,因此,第二数据更新请求中的数据版本号与存储服务器240中存储的数据版本号对应不上,这种情况下,存储服务器240不会更新自身存储的信息以及数据版本号。
应当说明的是,存储服务器240中的数据版本号管理采用的乐观锁机制,即在获取数据版本号时,不会检测数据冲突,在提交数据更新时,会基于数据版本号检测是否存在数据冲突,进而检测多个登录请求时可能会出现的目标账号重复登录的情况。
S718,存储服务器240向登录进程230发送非法登录通知。
存储服务器240在确定第二数据更新请求中的数据版本号与自身存储的数据版本号不相同时,存储服务器240确定该第二登录请求不合法,并向登录进程230发送非法登录通知,该非法登录通知用于表示第二登录请求是不合法的。
作为一种实施例,S715~S716和S717的执行顺序可以是任意的。
在一种可能的实施例中,登录进程230可以访问存储服务器240,如果从存储服务器240获得各个登录请求的数据版本号。在获得针对第一登录请求的数据版本号,以及针对第二登录请求的数据版本号之后,登录进程230可以访问存储服务器240,判断第一登录请求的数据版本号与存储服务器240存储的数据版本号是否相同,如果第一登录请求的数据版本号与存储服务器240存储的数据版本号相同,那么通知第一应用服220允许目标账号登录,并更新存储服务器240中存储的数据版本。
登录进程230访问存储服务器240,判断第二登录请求的数据版本号与存储服务器240存储的数据版本号是否相同,由于存储服务器240中的数据版本号已被更新,那么第二登录请求的数据版本号与存储服务器240存储的数据版本号对应不上,因此,登录进程230通知第三应用服220拒绝目标账号登录。
其中涉及到对不同的登录进程230分别对第一登录请求和第二登录请求进行处理,那么可以在校对数据版本号的过程中,各个登录进程串行执行校对数据版本号的过程,也就是说,在一个登录进程230校对完成之后,另一个登录进程230才能继续访问存储服务器240进行数据版本号校对。
S719,存储服务器240向登录进程230发送非法登录通知。
登录进程230在获得非法登录通知之后,确定该第二登录请求合法,因此可以通知第三应用服220拒绝目标账号登录。
S720,客户端210根据退出操作,生成退出通知。
当用户使用完应用之后,可能会主动退出应用,比如用户点击客户端210中的退出按键,客户端210根据用户进行的退出操作,生成退出通知。该退出通知用于表示从第一应用服220中退出目标账号。
S721,客户端210将退出通知发送给第一应用服220。
客户端210在生成退出通知之后,将该退出通知发送给第一应用服220,第一应用服可以下线目标账号。
S722,第一应用服220将退出通知发送给登录进程230。
S723,登录进程230接收第一应用服220发送的目标账号退出第一应用服的退出通知时,在存储服务器240中删除目标账号的登录信息。
除了退出目标账号外,第一应用服220还会将退出通知发送给登录进程230,登录进程230可以根据该退出通知。比如登录进程230向存储服务器240发送删除请求。登录进程230可以向存储服务器240发送删除请求,该删除请求用于指示存储服务器240删除目标账号的登录信息。存储服务器240在接收到删除请求之后,删除自身存储的目标账号的登录信息。或者比如登录进程230可以访问存储服务器240,删除该存储服务器240中的登录信息。
本申请实施例中,除了校验目标账号之前是否已经登录之外,还会校验登录进程获取的数据版本号,这样一来,在接收多个登录请求的情况下,其中一个登录请求会被允许,而其它登录请求会被拒绝,从而解决在高并发的情况下,目标账号重复登录的问题。
应当说明的是,图7中第一客户端210和第二客户端210之间省略号表示还可能存在多个客户端210,第二应用服220和第三应用服220之间的省略号表示还可能存在多个类似的应用服,其它应用服的处理过程可以参照前文论述的内容,此处不再赘述。
为了本领域技术人员更清楚地理解本申请实施例中的技术方案,下面以应用为游戏为例,以用户登录游戏为例,客户端210以游戏客户端为例,应用服以游戏服为例,对本申请实施例涉及的应用登录方法进行示例介绍。
S1.1,游戏客户端响应于用户的登录游戏的登录操作,生成登录请求。
比如用户在第一游戏客户端进行在第一游戏服上登录目标账号的登录操作,第一游戏客户端响应于该登录操作,生成第一登录请求,以及用户进行在第二游戏服上登录目标账号的登录操作,生成第二登录请求。
S1.2,游戏客户端将登录请求发送给对应的游戏服。
第一游戏客户端将第一登录请求发送给第一游戏服,第二游戏客户端将第二登录请求发送给第二游戏服。
S1.3,游戏服将登录请求发送给登录进程230。
第一游戏服可以将第一登录请求发送给登录进程230,第二游戏服可以将第二登录请求发送给登录进程230。登录进程230解析第一登录请求,获得第一登录信息,以及解析第二登录请求,获得第二登录信息。
S1.4,登录进程230生成查询请求,将查询请求发送给存储服务器240。
登录进程230获得第一登录请求,以及第二登录请求之后,根据第一登录信息生成第一查询请求,以及根据第二登录信息生成第二查询请求。
S1.5,存储服务器240向登录进程230反馈目标账号的登录信息,以及处理标识。
S1.6,登录进程根据接收到的登录信息,通知第二应用服下线目标账号。
S1.7,存储服务器240向登录进程230反馈处理标识。
应当说明的是S1.5~S1.6,以及S1.7为处理过程中可能的两种情况,对于一个登录请求的处理过程,只会出现其中的一种情况。
S1.8,登录进程230针对第一登录请求,向存储服务器240发送第一数据更新请求,以及针对第二登录请求,向存储服务器240发送第二数据更新请求。
S1.9,存储服务器240将第一数据更新请求和第二数据更新请求增加到待处理队列,并校验第一数据更新请求中的处理标识与存储服务器240中存储的处理标识是否相同。
S2.0,存储服务器240确定第一数据更新请求中的处理标识与存储服务器240中存储的处理标识相同,更新存储服务器240存储的目标账号的处理标识,并存储第一登录信息,并向登录进程230反馈合法登录通知。
S2.1,存储服务器240确定第一数据更新请求中的处理标识与存储服务器240中存储的处理标识不相同,并向登录进程230反馈非法登录通知。
如此一来,用户虽然同时发起了两个登录请求,但是最终只有一个登录请求被允许,解决了账号重复登录的问题,避免了玩家使用账号重复登录游戏,影响游戏公平性的情况。
基于同一发明构思,本申请实施例提供一种应用登录装置,该应用登录装置相当于前文论述的登录进程230,请参照图8,该装置800包括:
收发模块801,用于从第一应用服接收目标账号登录第一应用服的登录请求;
处理模块802,用于根据目标账号,从存储服务器中获取目标账号的登录信息,登录信息中包括目标账号当前登录的应用服信息;
收发模块801,还用于根据登录信息,确定目标账号已经登录第二应用服时,则通知第二应用服下线目标账号;
处理模块802,还用于在存储服务器中将目标账户当前登录的应用服信息更新为第一应用服信息;
收发模块801,还用于通知第一应用服允许目标账号登录。
在一种可能的实施例中,处理模块802具体用于:
向存储服务器发送数据更新请求,数据更新请求中包括从存储服务器获取的处理标识和第一应用服信息,以使存储服务器在数据更新请求中的处理标识与保存的处理标识相同时,将目标账号当前登录的应用服信息更新为第一应用服信息,并更新目标账号的处理标识。
在一种可能的实施例中,收发模块801还用于:
根据存储服务器发送的非法登录通知,通知第一应用服拒绝目标账号的登录请求,非法登录通知是存储服务器在数据更新请求中的目标账号的处理标识与保存的目标账号的处理标识不相同时发送的。
在一种可能的实施例中,处理模块802具体用于:
在存储服务器中将目标账户当前登录的应用服信息更新为第一应用服信息之前,确认从存储服务器获取的处理标识和存储服务器中保存的处理标识相同;以及
在存储服务器中,更新目标账号的处理标识,以及将目标账户当前登录的应用服信息更新为第一应用服信息。
在一种可能的实施例中,收发模块801还用于:
当确认从存储服务器获取的处理标识和存储服务器中保存的处理标识不相同时,通知第一应用服拒绝目标账号的登录请求。
在一种可能的实施例中,处理模块802还用于:
当从存储服务器中未查找到目标账号的登录信息时,从存储服务器中获取目标账号存储的默认的处理标识。
在一种可能的实施例中,处理模块802,还用于从存储服务器中未查找到目标账号的登录信息,且获取的处理标识和存储服务器中保存的处理标识相同时,在存储服务器中存储登录请求对应的登录信息;收发模块,还用于通知第一应用服允许目标账号登录;以及
处理模块802,还用于接收到第一应用服发送的目标账号退出第一应用服的退出通知时,在存储服务器中删除目标账号的登录信息。
基于同一发明构思,本申请实施例提供一种应用登录装置,该应用登录装置相当于前文论述的存储服务器240,请参照图9,该装置900包括:
收发模块901,用于从登录进程接收查询请求;其中,查询请求包括目标账号;
查找模块902,用于若根据查询请求,查找到与目标账号的登录信息,则并向登录进程发送退出登录通知,以使登录进程通知第二应用服下线目标账号;
收发模块901,用于从登录进程接收数据更新请求;其中,数据更新请求包括存储本次准备登录的目标账号以及第一应用服信息;
更新模块903,用于若根据数据更新请求,查找到与目标账号的登录信息,则将自身存储的目标账户当前登录的应用服信息更新为第一应用服信息;
收发模块901,还用于向登录进程反馈合法登录通知,以使登录进程通知第一应用服允许目标账号登录。
在一种可能的实施例中,数据更新请求还包括获取的处理标识,更新模块903还用于:
在数据更新请求中的处理标识与保存的处理标识相同时,将目标账号当前登录的应用服信息更新为第一应用服信息,并更新目标账号的处理标识。
在一种可能的实施例中,装置还包括生成模块904,其中:
生成模块904,用于在数据更新请求中的处理标识与保存的处理标识不相同时,生成非法登录通知;
收发模块901,还用于将非法登录通知发送给登录进程,以使登录进程通知第一应用服拒绝目标账号的登录请求。
在一种可能的实施例中,收发模块901还用于:
当未查找到目标账号的登录信息时,将存储的目标账号存储的默认的处理标识发送给登录进程。
在一种可能的实施例中,装置还包括删除模块905,其中:
收发模块901,用于未查找到目标账号的登录信息,且确定数据更新请求中的处理标识和存储服务器中保存的处理标识相同时,在存储服务器中存储登录请求对应的登录信息,并通知第一应用服允许目标账号登录;以及
删除模块905,用于接收登录进程发送的删除通知时,删除目标账号的登录信息;其中,删除通知是登录进程在获得第一应用服发送的目标账号退出第一应用服的退出通知时发送的。
基于同一发明构思,本申请实施例提供一种应用登录***,该***包括图8论述的应用登录装置800和图9论述的应用登录装置900。
基于同一发明构思,本申请实施例还提供了一种计算机设备。
请参照图10,计算机设备1000以通用计算机设备的形式表现。计算机设备1000的组件可以包括但不限于:至少一个处理器1010、至少一个存储器1020、连接不同***组件(包括处理器1010和存储器1020)的总线1030。
总线1030表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、***总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器1020可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1021和/或高速缓存存储器1022,还可以进一步包括只读存储器(ROM)1023。
存储器1020还可以包括具有一组(至少一个)程序模块1025的程序/实用工具1026,这样的程序模块1025包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。处理器1010用于执行存储器1020存储的程序指令等实现前文论述的应用登录方法。
计算机设备1000也可以与一个或多个外部设备1040(例如键盘、指向设备等)通信,还可与一个或者多个使得终端设备能与计算机设备1000交互的设备通信,和/或与使得该计算机设备1000能与一个或多个其它设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,计算机设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与用于计算机设备1000的其它模块通信。应当理解,尽管图中未示出,可以结合计算机设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
基于同一发明构思,本申请实施例提供一种存储介质,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行前文论述的控制社交内容的方法。存储介质泛指可读计算机存储介质。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种应用登录方法,其特征在于,包括:
从第一应用服接收目标账号登录所述第一应用服的登录请求;
根据所述目标账号,从存储服务器中获取所述目标账号的登录信息,所述登录信息中包括目标账号当前登录的应用服信息;
根据所述登录信息,确定所述目标账号已经登录第二应用服时,则通知所述第二应用服下线所述目标账号;
在所述存储服务器中将所述目标账户当前登录的应用服信息更新为第一应用服信息;
通知所述第一应用服允许所述目标账号登录。
2.如权利要求1所述的方法,其特征在于,所述在所述存储服务器中将所述目标账户当前登录的应用服信息更新为所述第一应用服信息,具体包括:
向所述存储服务器发送数据更新请求,所述数据更新请求中包括从所述存储服务器获取的处理标识和所述第一应用服信息,以使所述存储服务器在数据更新请求中的处理标识与保存的处理标识相同时,将所述目标账号当前登录的应用服信息更新为第一应用服信息,并更新所述目标账号的处理标识。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述存储服务器发送的非法登录通知,通知所述第一应用服拒绝所述目标账号的登录请求,所述非法登录通知是所述存储服务器在数据更新请求中的所述目标账号的处理标识与保存的所述目标账号的处理标识不相同时发送的。
4.如权利要求1所述的方法,其特征在于,所述在所述存储服务器中将所述目标账户当前登录的应用服信息更新为第一应用服信息,具体包括:
在所述存储服务器中将所述目标账户当前登录的应用服信息更新为第一应用服信息之前,确认从所述存储服务器获取的处理标识和所述存储服务器中保存的处理标识相同;以及
在所述存储服务器中,更新所述目标账号的处理标识,以及将所述目标账户当前登录的应用服信息更新为所述第一应用服信息。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
当确认从所述存储服务器获取的处理标识和所述存储服务器中保存的处理标识不相同时,通知所述第一应用服拒绝所述目标账号的登录请求。
6.如权利要求2~5任一项所述的方法,其特征在于,所述方法还包括:
当从存储服务器中未查找到所述目标账号的登录信息时,从所述存储服务器中获取所述目标账号存储的默认的处理标识。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
从所述存储服务器中未查找到所述目标账号的登录信息,且获取的处理标识和所述存储服务器中保存的处理标识相同时,在所述存储服务器中存储所述登录请求对应的登录信息,并通知所述第一应用服允许所述目标账号登录;以及
接收到所述第一应用服发送的所述目标账号退出所述第一应用服的退出通知时,在所述存储服务器中删除所述目标账号的登录信息。
8.一种应用登录方法,其特征在于,包括:
从登录进程接收查询请求;其中,所述查询请求包括目标账号;
若根据所述查询请求,查找到与所述目标账号的登录信息,则并向所述登录进程发送退出登录通知,以使所述登录进程通知第二应用服下线所述目标账号;
从登录进程接收数据更新请求;其中,所述数据更新请求包括存储本次准备登录的所述目标账号以及第一应用服信息;
若根据所述数据更新请求,查找到与所述目标账号的登录信息,则将自身存储的所述目标账户当前登录的应用服信息更新为第一应用服信息,并向所述登录进程发送合法登录通知,以使所述登录进程通知所述第一应用服允许所述目标账号登录。
9.如权利要求8所述的方法,其特征在于,所述数据更新请求还包括获取的处理标识,所述方法还包括:
在数据更新请求中的处理标识与保存的处理标识相同时,将所述目标账号当前登录的应用服信息更新为第一应用服信息,并更新所述目标账号的处理标识。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
在数据更新请求中的处理标识与保存的处理标识不相同时,生成非法登录通知,并将所述非法登录通知发送给登录进程,以使所述登录进程通知所述第一应用服拒绝所述目标账号的登录请求。
11.如权利要求9或10所述的方法,其特征在于,所述方法还包括:
当未查找到所述目标账号的登录信息时,将存储的所述目标账号存储的默认的处理标识发送给所述登录进程。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
未查找到所述目标账号的登录信息,且确定所述数据更新请求中的处理标识和所述存储服务器中保存的处理标识相同时,在所述存储服务器中存储所述登录请求对应的登录信息,并通知所述第一应用服允许所述目标账号登录;以及
接收所述登录进程发送的删除通知时,删除所述目标账号的登录信息;其中,所述删除通知是所述登录进程在获得所述第一应用服发送的所述目标账号退出所述第一应用服的退出通知时发送的。
13.一种应用登录装置,其特征在于,包括:
收发模块,用于从第一应用服接收目标账号登录所述第一应用服的登录请求;
处理模块,用于根据所述目标账号,从存储服务器中获取所述目标账号的登录信息,所述登录信息中包括目标账号当前登录的应用服信息;
所述收发模块,还用于根据所述登录信息,确定所述目标账号已经登录第二应用服时,则通知所述第二应用服下线所述目标账号;
所述处理模块,还用于在所述存储服务器中将所述目标账户当前登录的应用服信息更新为第一应用服信息;
收发模块,还用于通知所述第一应用服允许所述目标账号登录。
14.一种应用登录装置,其特征在于,包括:
收发模块,用于从登录进程接收查询请求;其中,所述查询请求包括目标账号;
查找模块,用于若根据所述查询请求,查找到与所述目标账号的登录信息,则并向所述登录进程发送退出登录通知,以使所述登录进程通知第二应用服下线所述目标账号;
所述收发模块,用于从登录进程接收数据更新请求;其中,所述数据更新请求包括存储本次准备登录的所述目标账号以及第一应用服信息;
更新模块,用于若根据所述数据更新请求,查找到与所述目标账号的登录信息,则将自身存储的所述目标账户当前登录的应用服信息更新为第一应用服信息;
所述收发模块,还用于向所述登录进程反馈合法登录通知,以使所述登录进程通知所述第一应用服允许所述目标账号登录。
15.一种应用登录***,其特征在于,所述***包括如权利要求13所述的装置,以及如权利要求14所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010373077.9A CN111600858B (zh) | 2020-05-06 | 2020-05-06 | 一种应用登录方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010373077.9A CN111600858B (zh) | 2020-05-06 | 2020-05-06 | 一种应用登录方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111600858A true CN111600858A (zh) | 2020-08-28 |
CN111600858B CN111600858B (zh) | 2021-12-14 |
Family
ID=72185624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010373077.9A Active CN111600858B (zh) | 2020-05-06 | 2020-05-06 | 一种应用登录方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111600858B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506533A (zh) * | 2020-12-17 | 2021-03-16 | 深圳市欢太科技有限公司 | 应用程序处理方法及装置、存储介质和电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102082800A (zh) * | 2011-01-28 | 2011-06-01 | 浪潮(北京)电子信息产业有限公司 | 一种用户请求处理的方法和服务器 |
US20160006705A1 (en) * | 2011-08-29 | 2016-01-07 | Salesforce.Com, Inc. | Methods and systems of data security in browser storage |
CN105704152A (zh) * | 2016-03-30 | 2016-06-22 | 网易(杭州)网络有限公司 | 游戏服务器的登录方法及装置 |
CN106657068A (zh) * | 2016-12-23 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 登录授权方法和装置、登录方法和装置 |
CN107026832A (zh) * | 2016-10-10 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 账户登录方法、设备和服务器 |
CN107689941A (zh) * | 2016-08-04 | 2018-02-13 | 中兴通讯股份有限公司 | 一种防止同一用户重复登录的装置和方法 |
CN108111486A (zh) * | 2017-12-05 | 2018-06-01 | 北京天融信网络安全技术有限公司 | 一种免重复登录的方法及装置 |
CN108379845A (zh) * | 2018-02-26 | 2018-08-10 | 广州博冠信息科技有限公司 | 信息处理方法、装置和存储介质 |
CN110661788A (zh) * | 2019-09-05 | 2020-01-07 | 深圳龙图腾创新设计有限公司 | 登录鉴权管理***、登陆方法、登陆装置、设备及存储介质 |
-
2020
- 2020-05-06 CN CN202010373077.9A patent/CN111600858B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102082800A (zh) * | 2011-01-28 | 2011-06-01 | 浪潮(北京)电子信息产业有限公司 | 一种用户请求处理的方法和服务器 |
US20160006705A1 (en) * | 2011-08-29 | 2016-01-07 | Salesforce.Com, Inc. | Methods and systems of data security in browser storage |
CN105704152A (zh) * | 2016-03-30 | 2016-06-22 | 网易(杭州)网络有限公司 | 游戏服务器的登录方法及装置 |
CN107689941A (zh) * | 2016-08-04 | 2018-02-13 | 中兴通讯股份有限公司 | 一种防止同一用户重复登录的装置和方法 |
CN107026832A (zh) * | 2016-10-10 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 账户登录方法、设备和服务器 |
CN106657068A (zh) * | 2016-12-23 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 登录授权方法和装置、登录方法和装置 |
CN108111486A (zh) * | 2017-12-05 | 2018-06-01 | 北京天融信网络安全技术有限公司 | 一种免重复登录的方法及装置 |
CN108379845A (zh) * | 2018-02-26 | 2018-08-10 | 广州博冠信息科技有限公司 | 信息处理方法、装置和存储介质 |
CN110661788A (zh) * | 2019-09-05 | 2020-01-07 | 深圳龙图腾创新设计有限公司 | 登录鉴权管理***、登陆方法、登陆装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
胡建鹏: "基于Portal的统一身份认证与***集成研究", 《计算机工程与科学》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506533A (zh) * | 2020-12-17 | 2021-03-16 | 深圳市欢太科技有限公司 | 应用程序处理方法及装置、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111600858B (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11612811B2 (en) | Game server switching method, apparatus, and system | |
US10341196B2 (en) | Reliably updating a messaging system | |
CN109395400B (zh) | 跨游戏的聊天信息处理方法及装置、电子设备、存储介质 | |
US20220350657A1 (en) | Game Server Architecture | |
KR20120089591A (ko) | 네트워크 환경에서 비-지속성 메시지의 다중 큐를 관리하기 위한 시스템 및 방법 | |
CN108379845B (zh) | 信息处理方法、装置和存储介质 | |
US20030037149A1 (en) | Distributed and fault tolerant server system and method | |
JP2013178624A (ja) | 情報処理装置、クライアント管理システムおよびクライアント管理方法 | |
CN110898434B (zh) | 处理数据的方法、服务器、***和计算机可读程序介质 | |
US10807006B1 (en) | Behavior-aware player selection for multiplayer electronic games | |
CN110113414B (zh) | 一种管理副本的方法、装置、服务器及存储介质 | |
CN107248995B (zh) | 账号验证方法及装置 | |
CN111600858B (zh) | 一种应用登录方法、装置及*** | |
KR101920630B1 (ko) | 단말을 서버에 할당하고 단말로의 효율적인 메시징을 위한 시스템 및 방법 | |
CN111130986A (zh) | 消息发送方法、装置、设备及存储介质 | |
US11657020B2 (en) | Method and apparatus for versioning cloud network configuration | |
CN107306289B (zh) | 一种基于云计算的负载均衡方法及设备 | |
JP2010538392A (ja) | セッションブローカ拡張性アプリケーションプログラムインターフェース | |
CN111905361B (zh) | 游戏服务***、游戏处理方法、存储介质及设备 | |
CN113704024B (zh) | 数据处理方法、装置、相关设备及存储介质 | |
CN116954810A (zh) | 容器应用实例的创建方法、***、存储介质及程序产品 | |
KR20230118380A (ko) | 그룹 서명 기반 연합학습 방법 및 시스템, 이를 수행하기 위한 기록 매체 | |
KR100727057B1 (ko) | 메시지 상태 점검 방법 및 시스템 | |
CN114047918A (zh) | 任务处理方法、装置、设备、存储介质及产品 | |
CN109701275B (zh) | 基于网络游戏影子角色的操作交互方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40027421 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |