一种会话信息的处理方法及装置与流程



1.本发明涉及移动互联技术领域,尤其涉及一种会话信息的处理方法及装置。


背景技术:



2.为保持用户的整个会话活动的互动与计算机系统跟踪过程,服务器需要进行会话管理。
3.目前主流的会话管理方式为使用服务端session进行会话管理,将会话信息存储在web服务器中;但是,当同时在线的用户数量增多时,会话信息会过度占用服务器的内存,且多台服务器间面临着会话共享的问题。


技术实现要素:



4.有鉴于此,本发明实施例提供一种会话信息的处理方法及装置,以解决目前将会话信息存储在服务器中,导致会话信息过度占用服务器内存的问题。
5.为实现上述目的,本发明实施例提供如下技术方案:
6.本发明实施例第一方面公开一种会话信息的处理方法,所述方法包括:
7.当检测到客户端登录成功时,依据所述客户端输入的身份信息创建登录凭证,所述登录凭证至少包含所述身份信息对应的用户id、所述登录凭证的创建时间和所述登录凭证的过期时间;
8.对所述登录凭证进行预设加密处理,生成访问令牌,所述访问令牌至少包括访问令牌标识;
9.将所述访问令牌标识发送至客户端。
10.优选的,所述对所述登录凭证进行预设加密处理,生成访问令牌,包括:
11.对所述登录凭证进行数字签名;
12.利用预设算法对进行数字签名后的所述登录凭证进行加密;
13.基于加密后的所述登录凭证,生成访问令牌。
14.优选的,将所述访问令牌标识发送至客户端之后,还包括:
15.将所述访问令牌存储至数据库;
16.当检测到所述客户端退出登录时,从所述数据库中删除所述访问令牌。
17.优选的,将所述访问令牌标识发送至客户端之后,还包括:
18.当接收到所述客户端发送的携带所述访问令牌标识的操作请求时,从所述数据库中获取所述访问令牌标识对应的访问令牌;
19.对所述访问令牌进行解密处理,得到所述登录凭证中的过期时间;
20.基于当前时间和所述登录凭证中的过期时间,判断所述登录凭证是否已过期;
21.若所述登录凭证未过期,响应所述客户端的操作请求。
22.优选的,响应所述客户端的操作请求之后,还包括:
23.更新所述登录凭证中的过期时间,得到新的登录凭证;
24.将所述新的登录凭证替换所述数据库中所述客户端对应的登录凭证。
25.本发明实施例第二方面公开一种会话信息的处理装置,所述装置包括:
26.创建单元,用于当检测到客户端登录成功时,依据所述客户端输入的身份信息创建登录凭证,所述登录凭证至少包含所述身份信息对应的用户id、所述登录凭证的创建时间和所述登录凭证的过期时间;
27.生成单元,用于对所述登录凭证进行预设加密处理,生成访问令牌,所述访问令牌至少包括访问令牌标识;
28.发送单元,用于将所述访问令牌标识发送至客户端。
29.优选的,所述生成单元,包括:
30.签名模块,用于对所述登录凭证进行数字签名;
31.加密模块,用于利用预设算法对进行数字签名后的所述登录凭证进行加密;
32.生成模块,用于基于加密后的所述登录凭证,生成访问令牌。
33.优选的,所述装置还包括:
34.存储单元,用于将所述访问令牌存储至数据库;
35.删除单元,用于当检测到所述客户端退出登录时,从所述数据库中删除所述访问令牌。
36.优选的,所述装置还包括:
37.获取单元,用于当接收到所述客户端发送的携带所述访问令牌标识的操作请求时,从所述数据库中获取所述访问令牌标识对应的访问令牌;
38.解密单元,用于对所述访问令牌进行解密处理,得到所述登录凭证中的过期时间;
39.判断单元,用于基于当前时间和所述登录凭证中的过期时间,判断所述登录凭证是否已过期;
40.响应单元,用于若所述登录凭证未过期,响应所述客户端的操作请求。
41.优选的,所述装置还包括:
42.更新单元,用于更新所述登录凭证中的过期时间,得到新的登录凭证;
43.替换单元,用于将所述新的登录凭证替换所述数据库中所述客户端对应的登录凭证。
44.基于上述本发明实施例提供的一种会话信息的处理方法及装置,该方法包括:当检测到客户端登录成功时,依据客户端输入的身份信息创建登录凭证;对登录凭证进行预设加密处理,生成访问令牌;将访问令牌标识发送至客户端。实现了服务端的无状态化,彻底移除了服务端对会话信息的管理逻辑,服务端无需保持客户端的状态信息,减轻了内存压力。将访问令牌存储至数据库,使得多个服务器跨域共享会话信息。
附图说明
45.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
46.图1为本发明实施例提供的一种会话信息的处理方法的流程图;
47.图2为本发明实施例提供的一种登录凭证的验证方法的流程图;
48.图3为本发明实施例提供的一种会话信息的处理装置的结构框图;
49.图4为本发明实施例提供的一种会话信息的处理装置的另一结构框图;
50.图5为本发明实施例提供的一种会话信息的处理装置的又一结构框图;
51.图6为本发明实施例提供的一种会话信息的处理装置的再一结构框图。
具体实施方式
52.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
53.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
54.需要说明的是,本发明提供的一种会话信息的处理方法及装置可用于移动互联领域或金融领域。上述仅为示例,并不对本发明提供的一种会话信息的处理方法及装置的应用领域进行限定。
55.由背景技术可知,目前主流的会话管理方式主要是将会话信息存储在服务器中,导致会话信息过度占用服务器内存的问题。
56.因此,本发明实施例提供一种会话信息的处理方法及装置,当检测到客户端登录成功时,依据客户端输入的身份信息创建登录凭证;对登录凭证进行预设加密处理,生成访问令牌;将访问令牌标识发送至客户端。实现了服务端的无状态化,彻底移除了服务端对会话信息的管理逻辑,服务端无需保持客户端的状态信息,减轻了内存压力。将访问令牌存储至数据库,使得多个服务器跨域共享会话信息。
57.参加图1,示出了本发明实施例提供的一种会话信息的处理方法的流程图,该会话信息的处理方法包括:
58.步骤s101:当检测到客户端登录成功时,依据客户端输入的身份信息创建登录凭证。
59.在具体实现步骤s101的过程中,服务端接收到客户端发起的登录请求后,根据用户在客户端输入的用户密码等身份信息,验证客户端是否满足登录条件,若客户端满足登录条件,则根据用户在客户端输入的身份信息创建登录凭证。
60.可以理解的是,登录凭证至少包含身份信息对应的用户id、登录凭证的创建时间和登录凭证的过期时间(如登录凭证的创建时间之后2个小时)。
61.需要说明的是,登录凭证中包含客户端的会话信息,创建登录凭证有助于实现服务端的无状态化,服务端创建登录凭证后不需要再保持客户端的状态信息。
62.步骤s102:对登录凭证进行预设加密处理,生成访问令牌。
63.在具体实现步骤s102的过程中,对登录凭证进行数字签名;利用预设算法(如对称
加密算法)对进行数字签名后的登录凭证进行加密;将加密后的登录凭证写入cookie,生成访问令牌,为cookie分配一个固定的标识,如ticket,其中,访问令牌至少包括访问令牌标识,即访问令牌标识为ticket。
64.需要说明的是,对登录凭证进行数字签名,目的是防止登录凭证中的信息被篡改;利用预设算法对进行数字签名后的登录凭证进行加密,目的是当访问令牌被截取时,不轻易被解密、盗取信息。
65.步骤s103:将访问令牌标识发送至客户端。
66.在具体实现步骤s103的过程中,服务端将访问令牌的访问令牌标识发送至客户端。
67.在一些实施例中,服务端基于asp的sql会话状态存储模式,将访问令牌存储至使用sql server创建的数据库中,以便客户端登录后发起后续请求时,根据客户端输入的访问令牌标识,快速验证客户端的登录凭证。根据访问令牌标识验证客户端的登录凭证的具体实现方式参见图2示出的,本发明实施例提供的一种登录凭证的验证方法的流程图。
68.使用sql server创建数据库的具体过程例如:安装framework,在framework安装目录下到“installpersistsqlstate.sql”的sql文件,利用该文件在数据库查询分析器中创建用于保存访问令牌的数据库。在创建数据库之后,在web服务端的web.config文件中的《system.web》标签下,创建《sessionstate》标签,其中,mode属性用于说明把访问令牌保存在什么地方,有状态服务器、内存、数据库等,此时选择sqlserver数据库模式。
69.需要说明的是,当服务端检测到客户端退出登录时,从数据库中删除客户端对应的访问令牌。
70.可以理解的是,因为由同一个应用做多个服务端的集部署,验证登录凭证的代码是一致的,所以任意一个服务端处理客户端的请求时,都能获取到访问令牌中的登录凭证进行验证,由此,本发明实施例提供的会话信息的处理方法支持跨域进行会话管理。
71.在本发明实施例中,服务端为登录成功的客户端创建访问令牌,将访问令牌标识发送给客户端,将访问令牌存储至数据库,减轻了服务端的内存压力。由于客户端携带访问令牌标识,集中的任意服务端都能获取客户端对应的访问令牌,解决了会话信息跨域共享的问题。
72.上述本发明实施例图1中涉及的,根据访问令牌标识验证客户端的登录凭证的具体实现方式,参见图2,示出了本发明实施例提供的一种登录凭证的验证方法的流程图,包括:
73.步骤s201:当接收到客户端发送的携带访问令牌标识的操作请求时,从数据库中获取访问令牌标识对应的访问令牌。
74.在具体实现步骤s201的过程中,当服务端接收到客户端的操作请求时,获取操作请求中携带的访问令牌标识,从数据库中获取访问令牌标识对应的访问令牌。
75.可以理解的是,服务端接收到客户端发送的http请求时,从http header中获取访问令牌标识,根据访问令牌标识获取客户端对应的访问令牌,只需验证访问令牌是否合法且有效,即可判断客户端的登录状态。
76.步骤s202:对访问令牌进行解密处理,得到登录凭证中的过期时间。
77.在具体实现步骤s202的过程中,服务端利用对称加密算法的逆算法对访问令牌进
行解密处理,再对解密处理后的访问令牌进行数字签名的认证,得到登录凭证中的过期时间。
78.可以理解的是,对访问令牌进行解密处理和数字签名的认证后,得到登录凭证。该登录凭证中至少包含用户id、创建时间和过期时间,判断用户id是否为发送操作请求的客户端对应的用户id,若是,获取登录凭证中的过期时间。
79.需要说明的是,如果服务端无法对访问令牌完成解密处理和数字签名认证,则确定访问令牌不合法,服务端无法响应客户端的操作请求。
80.步骤s203:基于当前时间和登录凭证中的过期时间,判断登录凭证是否已过期;若登录凭证未过期,执行步骤s204;若登录凭证已过期,执行步骤s205。
81.在具体实现步骤s203的过程中,获取当前时间和登录凭证中的过期时间,比较当前时间是否超过登录凭证中的过期时间;若当前时间未超过登录凭证中的过期时间,确定登录凭证未过期,执行步骤s204;若当前时间超过登录凭证中的过期时间,确定登录凭证已过期,执行步骤s205。
82.步骤s204:若登录凭证未过期,响应客户端的操作请求。
83.在具体实现步骤s204的过程中,若登录凭证未过期,服务端响应客户端的操作请求。
84.在一些实施例中,服务端响应客户端的操作请求后,根据当前时间将客户端对应的登录凭证中的过期时间进行更新,如延长2个小时,得到新的登录凭证;再将新的登录凭证替换数据库中客户端对应的登录凭证。
85.步骤s205:若登录凭证已过期,向客户端发送重新登录信息。
86.在具体实现步骤s205的过程中,若登录凭证已过期,服务端向客户端反馈重新登录信息,其中,重新登录信息指示客户端需要重新登录,以便服务端重新创建登录凭证。
87.在本发明实施例中,当接收到客户端的操作请求时,根据操作请求中携带的访问令牌标识,获取对应的访问令牌;基于访问令牌验证客户端的登录状态。服务端无需将客户端的会话信息保存在内存中,减轻了服务端的内存压力。
88.与上述本发明实施例提供的一种会话信息的处理方法相对应,参见图3,示出了本发明实施例提供的一种会话信息的处理装置的结构框图,该会话信息的处理装置包括:创建单元301、生成单元302和发送单元303。
89.创建单元301,用于当检测到客户端登录成功时,依据客户端输入的身份信息创建登录凭证,登录凭证至少包含身份信息对应的用户id、登录凭证的创建时间和登录凭证的过期时间。
90.生成单元302,用于对登录凭证进行预设加密处理,生成访问令牌,访问令牌至少包括访问令牌标识。
91.发送单元303,用于将访问令牌标识发送至客户端。
92.在本发明实施例中,服务端为登录成功的客户端创建访问令牌,将访问令牌标识发送给客户端。由于客户端携带访问令牌标识,集中的任意服务端都能从数据库中获取客户端对应的访问令牌,解决了会话信息跨域共享的问题。
93.优选的,结合图3示出的内容,参见图4,示出了本发明实施例提供的一种会话信息的处理装置的另一结构框图,生成单元302包括:签名模块3021、加密模块3022和生成模块
3023。
94.签名模块3021,用于对登录凭证进行数字签名。
95.加密模块3022,用于利用预设算法对进行数字签名后的登录凭证进行加密。
96.生成模块3023,用于基于加密后的登录凭证,生成访问令牌。
97.优选的,结合图3示出的内容,参见图5,示出了本发明实施例提供的一种会话信息的处理装置的又一结构框图,该会话信息的处理装置还包括:获取单元304、解密单元305、判断单元306和响应单元307。
98.获取单元304,用于当接收到客户端发送的携带访问令牌标识的操作请求时,从数据库中获取访问令牌标识对应的访问令牌。
99.解密单元305,用于对访问令牌进行解密处理,得到登录凭证中的过期时间。
100.判断单元306,用于基于当前时间和登录凭证中的过期时间,判断登录凭证是否已过期。
101.响应单元307,用于若登录凭证未过期,响应客户端的操作请求。
102.优选的,结合图3示出的内容,参见图6,示出了本发明实施例提供的一种会话信息的处理装置的再一结构框图,该会话信息的处理装置还包括:更新单元308和替换单元309。
103.更新单元308,用于更新登录凭证中的过期时间,得到新的登录凭证。
104.替换单元309,用于将新的登录凭证替换数据库中客户端对应的登录凭证。
105.综上所述,本发明实施例提供了一种会话信息的处理方法及装置,当检测到客户端登录成功时,依据客户端输入的身份信息创建登录凭证;对登录凭证进行预设加密处理,生成访问令牌;将访问令牌标识发送至客户端。将访问令牌存储至数据库,使得多个服务器跨域共享会话信息。实现了服务端的无状态化,彻底移除了服务端对会话信息的管理逻辑,服务端无需保持客户端的状态信息,减轻了内存压力。
106.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
107.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
108.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的范围的情况下,在其它实施例中实现。因此,本发明将不会
被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:


1.一种会话信息的处理方法,其特征在于,所述方法包括:当检测到客户端登录成功时,依据所述客户端输入的身份信息创建登录凭证,所述登录凭证至少包含所述身份信息对应的用户id、所述登录凭证的创建时间和所述登录凭证的过期时间;对所述登录凭证进行预设加密处理,生成访问令牌,所述访问令牌至少包括访问令牌标识;将所述访问令牌标识发送至客户端。2.根据权利要求1所述的方法,其特征在于,所述对所述登录凭证进行预设加密处理,生成访问令牌,包括:对所述登录凭证进行数字签名;利用预设算法对进行数字签名后的所述登录凭证进行加密;基于加密后的所述登录凭证,生成访问令牌。3.根据权利要求1所述的方法,其特征在于,将所述访问令牌标识发送至客户端之后,还包括:将所述访问令牌存储至数据库;当检测到所述客户端退出登录时,从所述数据库中删除所述访问令牌。4.根据权利要求3所述的方法,其特征在于,将所述访问令牌标识发送至客户端之后,还包括:当接收到所述客户端发送的携带所述访问令牌标识的操作请求时,从所述数据库中获取所述访问令牌标识对应的访问令牌;对所述访问令牌进行解密处理,得到所述登录凭证中的过期时间;基于当前时间和所述登录凭证中的过期时间,判断所述登录凭证是否已过期;若所述登录凭证未过期,响应所述客户端的操作请求。5.根据权利要求4所述的方法,其特征在于,响应所述客户端的操作请求之后,还包括:更新所述登录凭证中的过期时间,得到新的登录凭证;将所述新的登录凭证替换所述数据库中所述客户端对应的登录凭证。6.一种会话信息的处理装置,其特征在于,所述装置包括:创建单元,用于当检测到客户端登录成功时,依据所述客户端输入的身份信息创建登录凭证,所述登录凭证至少包含所述身份信息对应的用户id、所述登录凭证的创建时间和所述登录凭证的过期时间;生成单元,用于对所述登录凭证进行预设加密处理,生成访问令牌,所述访问令牌至少包括访问令牌标识;发送单元,用于将所述访问令牌标识发送至客户端。7.根据权利要求6所述的装置,其特征在于,所述生成单元,包括:签名模块,用于对所述登录凭证进行数字签名;加密模块,用于利用预设算法对进行数字签名后的所述登录凭证进行加密;生成模块,用于基于加密后的所述登录凭证,生成访问令牌。8.根据权利要求6所述的装置,其特征在于,所述装置还包括:存储单元,用于将所述访问令牌存储至数据库;
删除单元,用于当检测到所述客户端退出登录时,从所述数据库中删除所述访问令牌。9.根据权利要求8所述的装置,其特征在于,所述装置还包括:获取单元,用于当接收到所述客户端发送的携带所述访问令牌标识的操作请求时,从所述数据库中获取所述访问令牌标识对应的访问令牌;解密单元,用于对所述访问令牌进行解密处理,得到所述登录凭证中的过期时间;判断单元,用于基于当前时间和所述登录凭证中的过期时间,判断所述登录凭证是否已过期;响应单元,用于若所述登录凭证未过期,响应所述客户端的操作请求。10.根据权利要求9所述的装置,其特征在于,所述装置还包括:更新单元,用于更新所述登录凭证中的过期时间,得到新的登录凭证;替换单元,用于将所述新的登录凭证替换所述数据库中所述客户端对应的登录凭证。

技术总结


本发明申请公开了一种会话信息的处理方法及装置,可应用于移动互联领域或金融领域。该方法包括:当检测到客户端登录成功时,依据客户端输入的身份信息创建登录凭证;对登录凭证进行预设加密处理,生成访问令牌;将访问令牌标识发送至客户端。实现了服务端的无状态化,彻底移除了服务端对会话信息的管理逻辑,服务端无需保持客户端的状态信息,减轻了内存压力。将访问令牌存储至数据库,使得多个服务器跨域共享会话信息。器跨域共享会话信息。器跨域共享会话信息。


技术研发人员:

刘芳

受保护的技术使用者:

中国银行股份有限公司

技术研发日:

2022.08.26

技术公布日:

2022/11/25

本文发布于:2024-09-20 15:37:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/10900.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:令牌   所述   凭证   客户端
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议