一种全局退出方法、设备及介质转让专利

申请号 : CN202211433084.9

文献号 : CN115866016B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘泽昊房爱印葛召华庄磊李莹

申请人 : 浪潮智慧科技有限公司

摘要 :

本发明公开了一种全局退出方法、设备及介质,属于协议平台技术领域,用于解决目前在多个应用系统进行单点登录时,没有统一的全局退出接口,造成账号的重复登录,难以对多个系统实现统一的退出,并占用了服务器的大量资源的技术问题。方法包括:基于用户的登录请求信息,将用户信息存储在服务器的用户会话时域,以及将用户信息存储到与服务器进行关联的Redis系统中;通过消息中间件的事件监听机制,对登录请求信息对应的消息体进行约束,得到消息事件;根据消息事件,对用户信息进行解析,得到用户ID;并与消息事件进行关联,得到全局退出事件;通过消息总线,对全局退出事件进行广播,将用户信息对应的用户会话时域进行删除。

权利要求 :

1.一种全局退出方法,其特征在于,所述方法包括:

基于用户的登录请求信息,将用户信息存储在服务器的用户会话时域中,以及将所述用户信息存储到与所述服务器进行关联的Redis系统中;

当所述用户访问系统资源成功时,通过Rabbit Mq消息中间件的事件监听机制,对所述登录请求信息对应的消息体进行约束,得到有关全局退出的消息事件;其中,所述消息体为所述服务器中HTTP协议的消息体;

根据所述消息事件,对所述用户信息进行内容解析,得到用户ID;并将所述用户ID与所述消息事件进行关联,得到全局退出事件,具体包括:若获取到所述用户的退出请求信息,则根据所述消息事件,通过所述服务器的服务端,将所述退出请求信息中的所述用户信息进行用户解析,得到所述用户ID;其中,所述用户解析为对所述退出请求信息中的用户会话时域或者用户加密令牌进行解析;

将所述用户ID与服务器HTTP协议中消息体进行关联,得到关联消息体;

将所述关联消息体与所述消息事件进行关联,以进行所述用户ID与所述消息事件中Rabbit Mq消息中间件的关联,并得到所述全局退出事件;

通过消息总线,对所述全局退出事件进行广播,并将所述用户信息对应的所述用户会话时域进行删除,以进行所述用户下次访问系统资源时实现多系统的全局退出,具体包括:获取所述全局退出事件的全局退出消息;

根据所述全局退出消息,提取服务器HTTP协议中消息体所存储的所述用户ID;

根据所述用户ID,将所述Redis系统中与所述用户ID对应的用户会话时域或者对应的用户加密令牌进行数据的删除,得到空余的Redis系统,具体包括:将所述用户ID对应的用户加密令牌或者用户会话时域与所述用户的Cookie文本文件进行单一性认证,得到认证信息;其中,所述认证信息包括:认证通过信息以及认证不通过信息;

若所述认证信息为所述认证通过信息,则将所述Redis系统中的所述用户会话时域或者所述用户加密令牌进行数据的删除;

当所述用户下次访问系统资源时,根据所述空余的Redis系统,对所述用户进行访问拦截,以实现所述多系统的全局退出;其中,所述多系统为所述全局退出事件对应的若干退出任务执行系统;

通过所述消息总线,将所述全局退出事件中的全局退出消息分发到对应的所述多系统中;

在所述多系统获取到所述全局退出消息后,识别与所述多系统一一对应的服务器HTTP协议中的消息体。

2.根据权利要求1所述的一种全局退出方法,其特征在于,基于用户的登录请求信息,将用户信息存储在服务器的用户会话时域中,具体包括:通过所述服务器,获取所述用户的登录请求信息;其中,所述登录请求信息至少包括用户信息以及请求信息;

根据所述登录请求信息,对所述用户信息进行身份校验,得到校验后的用户信息;

将所述校验后的用户信息存储在服务器的用户会话时域或者用户加密令牌中。

3.根据权利要求1所述的一种全局退出方法,其特征在于,当所述用户访问系统资源成功时,通过Rabbit Mq消息中间件的事件监听机制,对所述登录请求信息对应的消息体进行约束,得到有关全局退出的消息事件,具体包括:获取与所述服务器关联的Redis系统中的所述用户信息;

若所述用户信息获取成功,则所述用户成功访问系统资源;

根据所述消息总线,将所述服务器中服务端的所述Rabbit Mq消息中间件进行集成处理,得到集成后的Rabbit Mq消息中间件;

对所述集成后的Rabbit Mq消息中间件中的事件监听机制进行抽象类事件定义,得到所述Rabbit Mq消息中间件的抽象接口;

根据所述抽象接口,对所述登录请求信息对应的消息体进行约束处理,得到所述有关全局退出的消息事件;其中,所述约束处理包括:约束消息事件名称、约束消息事件类型以及约束消息体类型。

4.根据权利要求3所述的一种全局退出方法,其特征在于,在根据所述消息总线,将所述服务器中服务端的所述Rabbit Mq消息中间件进行集成处理,得到集成后的Rabbit Mq消息中间件之后,所述方法还包括:将所述集成后的Rabbit Mq消息中间件与所述消息总线进行关联,得到关联后的消息总线;

根据所述关联后的消息总线,通过消息队列机制,将高并发下所述用户的无序请求信息转变为符合所述消息队列机制的同步请求信息;其中,所述无序请求信息包括:无序登录请求信息以及无序退出请求信息;所述同步请求信息包括:同步登录请求信息以及同步登录请求信息。

5.一种全局退出设备,其特征在于,所述设备包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有能够被所述至少一个处理器执行的指令,以使所述至少一个处理器能够执行根据权利要求1‑4任一项所述的一种全局退出方法。

6.一种非易失性计算机存储介质,其特征在于,所述存储介质为非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有至少一个程序,每个所述程序包括指令,所述指令当被终端执行时,使所述终端执行根据权利要求1‑4任一项所述的一种全局退出方法。

说明书 :

一种全局退出方法、设备及介质

技术领域

[0001] 本申请涉及协议平台领域,尤其涉及一种全局退出方法、设备及介质。

背景技术

[0002] 随着企业的发展,应用到的系统随之增多,每个系统都有自己的用户模块,用户在操作不同的系统时,需要多次登录,频繁退出,这对于用户来说,较为繁琐。通过sso(Single Sign On)单点登录的使用,在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的系统,而紧随其后用户多个系统的退出便成了难题。
[0003] 在现有的技术方案中,当用户在某一系统中触发退出请求时,将请求sso认证中心,sso认证中心在接收请求后删除用户会话数据,从而实现多系统退出功能。但是在当前互联网高并发环境下,需要部署搭建sso认证中心的集群,才能保证sso认证中心的高可用,容易在单点登录高并发下的集群中,造成大量人力物力损耗与浪费,以及单一服务的停止而导致其他服务的宕停问题。

发明内容

[0004] 本申请实施例提供了一种全局退出方法、设备及介质,用于解决如下技术问题:目前在多个应用系统进行单点登录时,没有统一的全局退出接口,造成账号的重复登录,难以对多个系统实现统一的退出,并占用了服务器的大量资源。
[0005] 本申请实施例采用下述技术方案:
[0006] 一方面,本申请实施例提供了一种全局退出方法,所述方法包括:基于用户的登录请求信息,将用户信息存储在服务器的用户会话时域中,以及将所述用户信息存储到与所述服务器进行关联的Redis系统中;当所述用户访问系统资源成功时,通过Rabbit Mq消息中间件的事件监听机制,对所述登录请求信息对应的消息体进行约束,得到有关全局退出的消息事件;其中,所述消息体为所述服务器中HTTP协议的消息体;根据所述消息事件,对所述用户信息进行内容解析,得到用户ID;并将所述用户ID与所述消息事件进行关联,得到全局退出事件;通过消息总线,对所述全局退出事件进行广播,并将所述用户信息对应的所述用户会话时域进行删除,以进行所述用户下次访问系统资源时实现多系统的全局退出。
[0007] 本申请实施例通过消息总线(Spring Cloud Bus)继承了Rabbit Mq消息中间件,并采用队列的形式,将高并发下用户的无序请求信息转变为队列的同步请求信息,从而减缓服务器性能的磨耗,通过Spring Cloud Bus分发的退出请求信息,经过各个分发的多系统进行处理,保证了各个系统之间只与Spring Cloud Bus服务存在耦合,避免单一服务的停止而导致其他服务的宕停的问题。同时,以Spring Cloud Bus的广播机制为基础,在Redis系统中统一管理用户会话时域(session)或者用户加密令牌(token),保证各系统中用户的单一性,从而适配全平台,依据token和用户端使用的Cookie文本文件作为认证信息,有利于服务器的全局统一退出。
[0008] 在一种可行的实施方式中,基于用户的登录请求信息,将用户信息存储在服务器的用户会话时域中,具体包括:通过所述服务器,获取所述用户的登录请求信息;其中,所述登录请求信息至少包括用户信息以及请求信息;根据所述登录请求信息,对所述用户信息进行身份校验,得到校验后的用户信息;将所述校验后的用户信息存储在服务器的用户会话时域或者用户加密令牌中。
[0009] 本申请实施例以Spring Cloud Bus的广播机制为基础,在Redis系统中统一管理用户session或者token,保证各系统中用户的单一性,从而适配全平台,实现基于Spring Cloud Bus的全局退出。
[0010] 在一种可行的实施方式中,当所述用户访问系统资源成功时,通过Rabbit Mq消息中间件的事件监听机制,对所述登录请求信息对应的消息体进行约束,得到有关全局退出的消息事件,具体包括:获取与所述服务器关联的Redis系统中的所述用户信息;若所述用户信息获取成功,则所述用户成功访问系统资源;根据所述消息总线,将所述服务器中服务端的所述Rabbit Mq消息中间件进行集成处理,得到集成后的Rabbit Mq消息中间件;对所述集成后的Rabbit Mq消息中间件中的事件监听机制进行抽象类事件定义,得到所述Rabbit Mq消息中间件的抽象接口;根据所述抽象接口,对所述登录请求信息对应的消息体进行约束处理,得到所述有关全局退出的消息事件;其中,所述约束处理包括:约束消息事件名称、约束消息事件类型以及约束消息体类型。
[0011] 本申请实施例通过Spring Cloud Bus继承了Rabbit Mq消息中间件,在采用队列的形式下,将高并发下用户的无序请求转变为队列的同步请求,从而减缓服务器性能的磨耗。
[0012] 在一种可行的实施方式中,根据所述消息事件,对所述用户信息进行内容解析,得到用户ID;并将所述用户ID与所述消息事件进行关联,得到全局退出事件,具体包括:若获取到所述用户的退出请求信息,则根据所述消息事件,通过所述服务器的服务端,将所述退出请求信息中的所述用户信息进行用户解析,得到所述用户ID;其中,所述用户解析为对所述退出请求信息中的用户会话时域或者用户加密令牌进行解析;将所述用户ID与服务器HTTP协议中消息体进行关联,得到关联消息体;将所述关联消息体与所述消息事件进行关联,以进行所述用户ID与所述消息事件中Rabbit Mq消息中间件的关联,并得到所述全局退出事件。
[0013] 在一种可行的实施方式中,将所述用户信息对应的所述用户会话时域进行删除,具体包括:获取所述全局退出事件的全局退出消息;根据所述全局退出消息,提取服务器HTTP协议中消息体所存储的所述用户ID;根据所述用户ID,将所述Redis系统中与所述用户ID对应的用户会话时域或者对应的用户加密令牌进行数据的删除,得到空余的Redis系统;当所述用户下次访问系统资源时,根据所述空余的Redis系统,对所述用户进行访问拦截,以实现所述多系统的全局退出;其中,所述多系统为所述全局退出事件对应的若干退出任务执行系统。
[0014] 在一种可行的实施方式中,在根据所述消息总线,将所述服务器中服务端的所述Rabbit Mq消息中间件进行集成处理,得到集成后的Rabbit Mq消息中间件之后,所述方法还包括:将所述集成后的Rabbit Mq消息中间件与所述消息总线进行关联,得到关联后的消息总线;根据所述关联后的消息总线,通过消息队列机制,将高并发下所述用户的无序请求信息转变为符合所述消息队列机制的同步请求信息;其中,所述无序请求信息包括:无序登录请求信息以及无序退出请求信息;所述同步请求信息包括:同步登录请求信息以及同步登录请求信息。
[0015] 本申请实施例通过令Spring Cloud Bus只承担用户退出请求信息的分发,用户的退出业务处理将由各个分发的多系统进行处理,各个系统之间只与Spring Cloud Bus服务存在耦合,避免并发下的用户接口访问行为导致系统的扇型服务宕停等问题。
[0016] 在一种可行的实施方式中,在根据所述消息总线对所述全局退出事件的广播,获取所述全局退出事件的全局退出消息之后,所述方法还包括:通过所述消息总线,将所述全局退出事件中的全局退出消息分发到对应的所述多系统中;在所述多系统获取到所述全局退出消息后,识别与所述多系统一一对应的服务器HTTP协议中的消息体。
[0017] 在一种可行的实施方式中,根据所述用户ID,将所述Redis系统中与所述用户ID对应的用户会话时域或者对应的用户加密令牌进行数据的删除,具体包括:将所述用户ID对应的用户加密令牌或者用户会话时域与所述用户的Cookie文本文件进行单一性认证,得到认证信息;其中,所述认证信息包括:认证通过信息以及认证不通过信息;若所述认证信息为所述认证通过信息,则将所述Redis系统中的所述用户会话时域或者所述用户加密令牌进行数据的删除。
[0018] 第二方面,本申请实施例还提供了一种全局退出设备,所述设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有能够被所述至少一个处理器执行的指令,以使所述至少一个处理器能够执行上述任一实施方式所述的一种全局退出方法。
[0019] 第三方面,本申请实施例还提供了一种非易失性计算机存储介质,其特征在于,所述存储介质为非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有至少一个程序,每个所述程序包括指令,所述指令当被终端执行时,使所述终端执行上述任一实施方式所述的一种全局退出方法。
[0020] 本申请实施例提供了一种全局退出方法、设备及介质,通过消息总线(Spring Cloud Bus)继承了Rabbit Mq消息中间件,并采用队列的形式,将高并发下用户的无序请求信息转变为队列的同步请求信息,从而减缓服务器性能的磨耗,通过Spring Cloud Bus分发的退出请求信息,经过各个分发的多系统进行处理,保证了各个系统之间只与Spring Cloud Bus服务存在耦合,避免单一服务的停止而导致其他服务的宕停的问题。同时,以Spring Cloud Bus的广播机制为基础,在Redis系统中统一管理用户会话时域(session)或者用户加密令牌(token),保证各系统中用户的单一性,从而适配全平台,依据token和用户端使用的Cookie文本文件作为认证信息,有利于服务器的全局统一退出。

附图说明

[0021] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0022] 图1为本申请实施例提供的一种全局退出方法流程图;
[0023] 图2为本申请实施例提供的一种全局退出设备的结构示意图。

具体实施方式

[0024] 为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0025] 本申请实施例提供了一种全局退出方法方法,如图1所示,全局退出方法方法具体包括步骤S101‑S104:
[0026] S101、基于用户的登录请求信息,将用户信息存储在服务器的用户会话时域中,以及将用户信息存储到与服务器进行关联的Redis系统中。
[0027] 具体地,通过服务器,获取用户的登录请求信息。其中,登录请求信息至少包括用户信息以及请求信息。
[0028] 进一步地,根据登录请求信息,对用户信息进行身份校验,得到校验后的用户信息。将校验后的用户信息存储在服务器的用户会话时域或者用户加密令牌中。
[0029] 作为一种可行的实施方式,当用户触发登录请求信息时,将携带登录请求信息中用户相关登录信息在后端服务在接收到用户登录请求信息后,将校验无误的用户信息存放于用户会话session或者用户的加密token(如jwtToken)中,并将用户信息持久化托管于与服务器进行关联的Redis系统中。
[0030] S102、当用户访问系统资源成功时,通过Rabbit Mq消息中间件的事件监听机制,对登录请求信息对应的消息体进行约束,得到有关全局退出的消息事件。
[0031] 具体地,获取与服务器关联的Redis系统中的用户信息。若用户信息获取成功,则用户成功访问系统资源。
[0032] 进一步地,根据消息总线,将服务器中服务端的Rabbit Mq消息中间件进行集成处理,得到集成后的Rabbit Mq消息中间件。将集成后的Rabbit Mq消息中间件与消息总线进行关联,得到关联后的消息总线。根据关联后的消息总线,通过消息队列机制,将高并发下用户的无序请求信息转变为符合消息队列机制的同步请求信息。其中,无序请求信息包括:无序登录请求信息以及无序退出请求信息。同步请求信息包括:同步登录请求信息以及同步登录请求信息。
[0033] 进一步地,对集成后的Rabbit Mq消息中间件中的事件监听机制进行抽象类事件定义,得到Rabbit Mq消息中间件的抽象接口。
[0034] 进一步地,根据抽象接口,对登录请求信息对应的消息体进行约束处理,得到有关全局退出的消息事件。其中,约束处理包括:约束消息事件名称、约束消息事件类型以及约束消息体类型。
[0035] 作为一种可行的实施方式,当用户登录成功访问系统资源时,将直接从Redis系统中获取该用户的用户信息,服务器的服务端以Spring Cloud Bus默认集成Rabbit Mq消息中间件为基础,通过调用其组件提供的事件监听机制(RemoteApplicationEvent)进行抽象类事件(AbstractAresEvent)的定义,得到Rabbit Mq消息中间件的抽象接口,然后对消息事件名称,消息事件类型,消息体类型进行约束,从得到有关全局退出的消息事件。
[0036] S103、根据消息事件,对用户信息进行内容解析,得到用户ID。并将用户ID与消息事件进行关联,得到全局退出事件。
[0037] 具体地,若获取到用户的退出请求信息,则根据消息事件,通过服务器的服务端,将退出请求信息中的用户信息进行用户解析,得到用户ID;其中,用户解析为对退出请求信息中的用户会话时域或者用户加密令牌进行解析。
[0038] 进一步地,将用户ID与服务器HTTP协议中消息体进行关联,得到关联消息体。将关联消息体与消息事件进行关联,以进行用户ID与消息事件中Rabbit Mq消息中间件的关联,并得到全局退出事件。
[0039] 作为一种可行的实施方式,以此消息事件为媒介,当用户触发退出请求信息时,服务端将获取与用户session或者token信息对应的用户信息,从中解析获取到用户ID,而后将用户ID与服务器HTTP协议中消息体进行关联,并将关联消息体与消息事件进行关联,以进行用户ID与消息事件中Rabbit Mq消息中间件的关联,即将用户ID放入Rabbit Mq消息中间件中,依靠到消息中间件Rabbit Mq进行消息传递,最终得到全局退出事件。
[0040] S104、通过消息总线,对全局退出事件进行广播,并将用户信息对应的用户会话时域进行删除,以进行用户下次访问系统资源时实现多系统的全局退出。
[0041] 具体地,首先获取全局退出事件的全局退出消息。然后通过消息总线,将全局退出事件中的全局退出消息分发到对应的多系统中。在多系统获取到全局退出消息后,识别与多系统一一对应的服务器HTTP协议中的消息体。
[0042] 进一步地,根据全局退出消息,提取服务器HTTP协议中消息体所存储的用户ID。
[0043] 进一步地,根据用户ID,将Redis系统中与用户ID对应的用户会话时域或者对应的用户加密令牌进行数据的删除,得到空余的Redis系统。将用户ID对应的用户加密令牌或者用户会话时域与用户的Cookie文本文件进行单一性认证,得到认证信息。其中,认证信息包括:认证通过信息以及认证不通过信息。若认证信息为认证通过信息,则将Redis系统中的用户会话时域或者用户加密令牌进行数据的删除。
[0044] 进一步地,当用户下次访问系统资源时,根据空余的Redis系统,对用户进行访问拦截,以实现多系统的全局退出。其中,多系统为全局退出事件对应的若干退出任务执行系统。
[0045] 作为一种可行的实施方式,通过Spring Cloud Bus进行全局退出事件中全局退出消息的广播。各平台后端的退出任务执行系统当接收到Spring Cloud Bus发出的全局退出消息后,会将消息体中用于传递的用户ID取出,并删除在对应Redis系统中存放的对应用户session或者加密toekn,当用户下次访问系统资源时,由于Redis系统中无法检索出相关的用户信息,所以对用户的访问进行拦截,从而在某一平台页面退出后,实现了再登陆时并没有提取到之前的账号,以进行二次登录,达到了基于Spring Cloud Bus的全局退出的目的。
[0046] 另外,本申请实施例还提供了一种全局退出设备,如图2所示,全局退出设备200具体包括:
[0047] 至少一个处理器201;以及,与至少一个处理器201通信连接的存储器202;其中,存储器202存储有能够被至少一个处理器201执行的指令,以使至少一个处理器201能够执行:
[0048] 基于用户的登录请求信息,将用户信息存储在服务器的用户会话时域中,以及将用户信息存储到与服务器进行关联的Redis系统中;
[0049] 当用户访问系统资源成功时,通过Rabbit Mq消息中间件的事件监听机制,对登录请求信息对应的消息体进行约束,得到有关全局退出的消息事件;其中,消息体为服务器中HTTP协议的消息体;
[0050] 根据消息事件,对用户信息进行内容解析,得到用户ID;并将用户ID与消息事件进行关联,得到全局退出事件;
[0051] 通过消息总线,对全局退出事件进行广播,并将用户信息对应的用户会话时域进行删除,以进行用户下次访问系统资源时实现多系统的全局退出。
[0052] 本申请实施例提供了一种全局退出方法、设备及介质,通过消息总线(Spring Cloud Bus)继承了Rabbit Mq消息中间件,并采用队列的形式,将高并发下用户的无序请求信息转变为队列的同步请求信息,从而减缓服务器性能的磨耗,通过Spring Cloud Bus分发的退出请求信息,经过各个分发的多系统进行处理,保证了各个系统之间只与Spring Cloud Bus服务存在耦合,避免单一服务的停止而导致其他服务的宕停的问题。同时,以Spring Cloud Bus的广播机制为基础,在Redis系统中统一管理用户会话时域(session)或者用户加密令牌(token),保证各系统中用户的单一性,从而适配全平台,依据token和用户端使用的Cookie文本文件作为认证信息,有利于服务器的全局统一退出。
[0053] 本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0054] 本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
[0055] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0056] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0057] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0058] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0059] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0060] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0061] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0062] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0063] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。