本发明涉及计算机,具体涉及会话保持方法、装置、计算机设备及存储介质。
背景技术:
1、相关技术中,json web tokens(即jwt)会话机制中的token是有有效期的,这样会导致一旦token过期,处于访问过程中的页面就会自动退出,从而影响了用户的使用体验。
技术实现思路
1、有鉴于此,本发明提供了一种会话保持方法、装置、计算机设备及存储介质,能够避免出现处于访问过程中的页面自动退出的情况,从而提高了用户的使用体验。
2、第一方面,本发明提供了一种会话保持方法,应用于服务端,所述方法包括:
3、基于会话保持接口定时接收客户端发送的会话请求,所述会话请求包括当前会话令牌以及会话状态标识,所述会话状态标识用于表征是否需要保持会话;
4、校验所述当前会话令牌的有效性;
5、若所述当前会话令牌有效,基于所述当前会话令牌进行会话信息的匹配,所述会话信息与会话令牌对应;
6、若匹配到与所述当前会话令牌对应的目标会话信息且所述会话状态标识表征需要保持会话,延长所述目标会话信息的有效期。
7、本发明实施例提供的会话保持方法,基于会话保持接口定时接收客户端发送的会话请求,所述会话请求包括当前会话令牌以及用于表征是否需要保持会话的会话状态标识,校验所述当前会话令牌的有效性;若所述当前会话令牌有效,基于所述当前会话令牌进行会话信息的匹配,所述会话信息与会话令牌对应;若匹配到与所述当前会话令牌对应的目标会话信息且所述会话状态标识表征需要保持会话,延长所述目标会话信息的有效期,以避免出现处于访问过程中的页面自动退出的情况,从而提高了用户的使用体验。
8、在一些可选的实施方式中,所述基于所述当前会话令牌进行会话信息的匹配,包括:
9、对所述当前会话令牌进行解析,得到所述客户端对应的用户账号信息;
10、根据所述用户账号信息生成键值;
11、根据所述键值在目标数据库中进行会话信息的匹配,所述目标数据库采用键值对的形式存储所述会话信息。
12、本发明实施例提供的会话保持方法,通过对当前会话令牌进行解析,得到客户端对应的用户账号信息,以及根据用户账号信息生成键值,能够根据键值在目标数据库中进行会话信息的匹配,以提高会话信息匹配的准确性。
13、在一些可选的实施方式中,所述方法还包括:
14、若匹配不到与所述当前会话令牌对应的目标会话信息,返回提示信息,所述提示信息用于指示所述目标会话信息失效。
15、本发明实施例提供的会话保持方法,通过基于当前会话令牌进行会话信息的匹配,确定目标会话信息的有效性,若匹配不到与当前会话令牌对应的目标会话信息,表明目标会话信息失效。此时,将无法再延长目标会话信息的有效期。
16、在一些可选的实施方式中,所述方法还包括:
17、若匹配到与所述当前会话令牌对应的目标会话信息且所述会话状态标识表征不需要保持会话,保持所述目标会话信息的有效期。
18、在一些可选的实施方式中,所述延长所述目标会话信息的有效期之后,所述方法还包括:
19、校验所述当前会话令牌的有效性;
20、若所述当前会话令牌即将到期或者已经到期,基于所述客户端对应的用户账号信息生成新的会话令牌;
21、基于所述会话保持接口,将所述新的会话令牌发送至所述客户端,以使所述客户端基于所述新的会话令牌对所述当前会话令牌进行更新。
22、本发明实施例提供的会话保持方法,当当前会话令牌已失效,通过生成新的会话令牌,将新的会话令牌替换掉当前会话令牌,能够解决相关技术中每次请求都生成新的token在高并发情况下带来的性能问题,同时兼容了原有session保持续签的优点,也解决了session机制带来的海量信息(即token)存储问题,避免了cookie机制的一些安全性问题,在现代移动互联网场景、跨域访问等场景有广泛的用途。
23、在一些可选的实施方式中,所述方法还包括:
24、基于会话保持接口接收所述客户端基于定时任务发送的业务请求,所述业务请求携带有所述当前会话令牌和业务数据;
25、校验所述当前会话令牌的有效性;
26、若所述当前会话令牌有效,基于所述当前会话令牌进行会话信息的匹配;
27、若匹配到与所述当前会话令牌对应的目标会话信息,基于函数expire(k key,long timeout,timeunit unit),延长所述目标会话信息的有效期,并对所述业务数据进行业务操作,其中,key为键值,long timeout为所述目标会话信息的有效期的延长时间,timeunit unit为时间单位。
28、在一些可选的实施方式中,所述方法还包括:
29、接收到所述客户端发送的登出接口请求,所述登出接口请求携带有所述当前会话令牌;
30、基于所述当前会话令牌进行会话信息的匹配,得到所述目标会话信息;
31、删除所述目标会话信息。
32、第二方面,本发明提供了一种会话保持装置,包括:
33、第一接收模块,用于基于会话保持接口定时接收客户端发送的会话请求,所述会话请求包括当前会话令牌以及会话状态标识,所述会话状态标识用于表征是否需要保持会话;
34、第一校验模块,用于校验所述当前会话令牌的有效性;
35、第一匹配模块,用于若所述当前会话令牌有效,基于所述当前会话令牌进行会话信息的匹配,所述会话信息与会话令牌对应;
36、第一延长模块,用于若匹配到与所述当前会话令牌对应的目标会话信息且所述会话状态标识表征需要保持会话,延长所述目标会话信息的有效期。
37、在一些可选的实施方式中,第一匹配模块具体包括:
38、解析子模块,用于对所述当前会话令牌进行解析,得到所述客户端对应的用户账号信息;
39、生成子模块,用于根据所述用户账号信息生成键值;
40、匹配子模块,用于根据所述键值在目标数据库中进行会话信息的匹配,所述目标数据库采用键值对的形式存储所述会话信息。
41、在一些可选的实施方式中,会话保持装置还包括:
42、第一匹配结果生成模块,用于若匹配不到与所述当前会话令牌对应的目标会话信息,返回提示信息,所述提示信息用于指示所述目标会话信息失效。
43、在一些可选的实施方式中,会话保持装置还包括:
44、第二匹配结果生成模块,用于若匹配到与所述当前会话令牌对应的目标会话信息且所述会话状态标识表征不需要保持会话,保持所述目标会话信息的有效期。
45、在一些可选的实施方式中,所述延长所述目标会话信息的有效期之后,会话保持装置还包括:
46、第二校验模块,用于校验所述当前会话令牌的有效性;
47、生成模块,用于若所述当前会话令牌即将到期或者已经到期,基于所述客户端对应的用户账号信息生成新的会话令牌;
48、发送模块,用于基于所述会话保持接口,将所述新的会话令牌发送至所述客户端,以使所述客户端基于所述新的会话令牌对所述当前会话令牌进行更新。
49、在一些可选的实施方式中,会话保持装置还包括:
50、第二接收模块,用于基于会话保持接口接收所述客户端基于定时任务发送的业务请求,所述业务请求携带有所述当前会话令牌和业务数据;
51、第三校验模块,用于校验所述当前会话令牌的有效性;
52、第二匹配模块,用于若所述当前会话令牌有效,基于所述当前会话令牌进行会话信息的匹配;
53、第二延长模块,用于若匹配到与所述当前会话令牌对应的目标会话信息,基于函数expire(k key,long timeout,timeunit unit),延长所述目标会话信息的有效期,并对所述业务数据进行业务操作,其中,key为键值,long timeout为所述目标会话信息的有效期的延长时间,timeunit unit为时间单位。
54、在一些可选的实施方式中,会话保持装置还包括:
55、第三接收模块,用于接收到所述客户端发送的登出接口请求,所述登出接口请求携带有所述当前会话令牌;
56、第三匹配模块,用于基于所述当前会话令牌进行会话信息的匹配,得到所述目标会话信息;
57、删除模块,用于删除所述目标会话信息。
58、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的会话保持方法。
59、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的会话保持方法。