本发明涉及大型网络应用程序、云计算环境或分布式系统等,尤其涉及一种用户会话服务系统、用户会话的分布式管理方法及装置。
背景技术:
1、用户会话是指用户与应用程序之间建立的一段时间内持续的交互过程。它通常包括用户的登录状态、用户权限、会话令牌、用户个性化设置以及其他与用户相关的信息。用户会话的管理对于许多应用程序至关重要,因为它们可以帮助跟踪用户并提供个性化的体验。
2、现有的用户会话的管理一般是以api的方式向需求方发起http请求,来实现用户会话的更新和维护,在实现本申请的过程中,发明人发现,当存在多个前端,需要对应同一个服务器时,其数据的同步基于现有技术会存在如下问题:
3、会话更新的及时性不够。该过程依赖业务代码中发起http请求的时机,如果此时用户会话需要更新,但是业务代码还在处理其他业务逻辑,没有及时发起请求。
4、会话数据的一致性不稳定。该过程还依赖业务代码,可能出现因沟通问题等,在需要发起更新请求的地方产生遗漏。
5、所以,需要一种新的用户会话的管理方法,以解决现有技术的多个前端的会话更新的及时性不够和会话数据的一致性不稳定的问题。
技术实现思路
1、为解决上述的现有技术问题中多个前端的会话更新的及时性不够和会话数据的一致性不稳定的问题的至少其一,本发明的目的在于提供一种会话更新的及时性更好以及会话数据的一致性更稳定的用户会话服务系统、用户会话的分布式管理方法及装置。
2、为实现上述发明目的,本发明一实施方式提供一种用户会话的分布式管理方法,包括如下步骤:
3、将用户会话服务模拟从数据库与主数据库之间的交互协议;
4、基于所述交互协议,建立所述用户会话服务与所述主数据库之间的连接;
5、向所述主数据库发送请求协议,其中,所述请求协议包括要求获取在所述主数据库中的第一前端的变更数据;
6、接收变更日志,其中,所述变更日志是在所述主数据库中根据所述变更数据写入的日志;
7、解析所述变更日志,得到所述变更数据;
8、将所述变更数据推送到第二前端。
9、作为本发明的进一步改进,所述模拟从数据库与主数据库之间的交互协议包括:
10、模拟交互协议消息的格式,模拟通信端口,以及模拟数据传输方式中的至少其中若干,以使所述主数据库基于所述交互协议将交互的对象由所述用户会话服务判断为从数据库。
11、作为本发明的进一步改进,所述步骤向所述主数据库发送请求协议包括:
12、向所述主数据库发送dump协议。
13、作为本发明的进一步改进,所述主数据库中的变更数据的获取过程包括:
14、接收数据库操作请求,其中,所述数据库操作请求中包括所述变更数据,所述变更数据是服务器获取的由所述第一前端上传的数据;
15、根据所述数据库操作请求,将所述主数据库中与所述变更数据相关的数据替换为所述变更数据,且该操作请求记录在所述主数据库中的变更日志中。
16、作为本发明的进一步改进,所述用户会话服务包括数据呈现模块,所述数据呈现模块使用redis作为数据的存储和缓存机制,所述步骤将所述变更数据推送到第二前端包括:
17、所述数据呈现模块将所述变更数据输入所述第二前端。
18、作为本发明的进一步改进,所述用户会话的内容包括登录状态、用户头像、用户权限、会话令牌、用户个性化设置等与用户相关的信息。
19、作为本发明的进一步改进,所述主数据库为关系型数据库,所述变更日志是二进制格式的日志。
20、为实现上述发明目的之一,本发明一实施例提供了一种用户会话的分布式管理装置,包括:
21、模拟模块,用于将用户会话服务模拟从数据库与主数据库之间的交互协议;
22、连接模块,用于基于所述交互协议,建立所述用户会话服务与所述主数据库之间的连接;
23、发送模块,用于向所述主数据库发送请求协议,其中,所述请求协议包括要求获取在所述主数据库中的第一前端的变更数据;
24、接收模块,用于接收变更日志,其中,所述变更日志是在所述主数据库中根据所述变更数据写入的日志;
25、解析模块,用于解析所述变更日志,得到所述变更数据;
26、推送模块,用于将所述变更数据推送到第二前端。
27、为实现上述发明目的之一,本发明一实施例提供了一种电子设备,包括:
28、存储模块,存储计算机程序;
29、处理模块,执行所述计算机程序时可实现上述的用户会话的分布式管理方法中的步骤。
30、为实现上述发明目的之一,本发明一实施例提供了一种用户会话服务系统,包括:
31、多个前端,所述前端用于与用户交互;
32、服务器,每个前端均可与主数据库单独的数据交互,在所述服务器上执行用户会话服务;
33、数据库,其连接所述服务器,所述数据库以预定义的关系组织数据,所述数据库包括主数据库和从数据库;
34、当其一前端产生变更数据时,所述主数据库中获取所述变更数据,所述服务器通过模拟所述从数据库与所述主数据库之间的交互协议、与所述主数据库之间建立连接,所述服务器接收所述主数据库中的数据,并将其解析出变更数据后传输到另一前端。
35、为实现上述发明目的之一,本发明一实施例提供了一种可读存储介质,其存储有计算机程序,该计算机程序被处理模块执行时可实现上述的用户会话的分布式管理方法中的步骤。
36、与现有技术相比,本发明具有以下有益效果:该用户会话的分布式管理方法及装置,通过将服务器伪装成从数据库,继而可以直接获取主数据库的变更数据并实时同步到会话服务,消除了依赖api通信的时机问题,同时也解决了由于遗漏或沟通问题导致的会话不一致性。这样能够提高会话更新的及时性和数据一致性,增强了系统的稳定性和用户体验。
1.一种用户会话的分布式管理方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的用户会话的分布式管理方法,其特征在于,所述模拟从数据库与主数据库之间的交互协议包括:
3.根据权利要求1所述的用户会话的分布式管理方法,其特征在于,所述步骤向所述主数据库发送请求协议包括:
4.根据权利要求1所述的用户会话的分布式管理方法,其特征在于,所述主数据库中的变更数据的获取过程包括:
5.根据权利要求1所述的用户会话的分布式管理方法,其特征在于,所述用户会话服务包括数据呈现模块,所述数据呈现模块使用redis作为数据的存储和缓存机制,所述步骤将所述变更数据推送到第二前端包括:
6.根据权利要求1所述的用户会话的分布式管理方法,其特征在于,所述用户会话的内容包括登录状态、用户头像、用户权限、会话令牌、用户个性化设置等与用户相关的信息;
7.一种用户会话的分布式管理装置,其特征在于,包括:
8.一种用户会话服务系统,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种可读存储介质,其存储有计算机程序,其特征在于,该计算机程序被处理模块执行时可实现权利要求1至6中任意一项所述的用户会话的分布式管理方法中的步骤。