全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210611120.X (22)申请日 2022.05.31 (71)申请人 易保网络技 术 (上海) 有限公司 地址 200433 上海市杨 浦区淞沪路270号创 智天地广场3号楼 2-3层 (72)发明人 施瑜 蔡纯钢 王嘉杰 吴秀群  王广贵 莫元武  (74)专利代理 机构 上海华诚知识产权代理有限 公司 313 00 专利代理师 徐乐乐 (51)Int.Cl. G06F 16/242(2019.01) G06F 16/2455(2019.01) G06F 16/27(2019.01) (54)发明名称 分布式事务处理方法、 系统、 设备及可读存 储介质 (57)摘要 本申请涉及软件技术领域, 具体涉及一种分 布式事务处理方法、 系统、 设备及可读 存储介质。 该方法包括: 创建并初始化历史版本表, 其中历 史版本表用于记录目标数据实体的各版本数据 内容以及版本信息, 初始化后的版本信息包括第 一版本信息, 第一版本信息对应于目标数据实体 的第一版本数据内容; 业务流程处理模块将接收 到的对目标数据实体的第一类操作请求发送给 保单数据管 理模块; 保单数据管 理模块读取历史 版本表, 记录对第一版本数据内容执行第一类操 作得到的第二版本数据内容。 本申请基于历史版 本表能够提高分布式事务处理效率和业务回退 能力, 有利于提高用户体验。 权利要求书3页 说明书18页 附图4页 CN 114925084 A 2022.08.19 CN 114925084 A 1.一种分布式事务处理方法, 其特征在于, 所述方法用于包括业务流程处理模块、 保单 数据管理模块和分布式事务管理器的系统, 所述方法包括: 保单数据 管理模块创建并初始化历史版本表, 其中所述历史版本表用于记录目标数据 实体的各版本数据内容以及版本信息, 初始化后的版本信息包括第一版本信息, 所述第一 版本信息对应于所述目标 数据实体的第一版本数据内容; 业务流程处理模块请求分布式事务管理器开启全局事务; 业务流程处理模块接收到对所述目标数据实体的第 一类操作请求, 并将所述第 一类操 作请求发送给所述保单数据管理模块, 其中所述第一类操作请求用于请求对目标数据实体 的第一版本数据内容执行第一类操作, 所述第一类操作包括增加、 删除、 修改操作中的至少 一项; 保单数据管理模块响应于所述第一类操作请求, 读取所述历史版本表, 记录对所述第 一版本数据内容执行所述第一类操作得到的第二版本数据内容, 并向所述分布式事务管理 器注册分支事务, 其中所述分支事务 为执行所述第一类操作的相关事务; 分布式事务管理器根据 所述业务流程处理模块发来的提交全局事务的第 一请求, 通知 所述保单 数据管理模块 提交分支事务。 2.根据权利要求1所述的方法, 其特征在于, 所述读取所述历史版本表, 记录对所述第 一版本数据内容执 行所述第一类操作得到的第二版本数据内容, 包括: 保单数据 管理模块将所述第 二版本数据内容写入所述历史版本表, 并对应于所述第 二 版本数据内容向所述历史版本表中写入第二版本信息; 保单数据管理模块将所述第一版本信息和所述第二版本信息写入用于撤销回退的日 志。 3.根据权利要求2所述的方法, 其特 征在于, 所述方法还 包括: 业务流程处理模块获取所述全局事务中的异常数据、 或者接收到的对所述目标数据实 体的第二类操作请求, 向分布式事务管理器发送回滚全局事务的第二请求, 其中所述第二 请求用于请求回滚全局事务, 以将所述目标数据实体的数据内容由第二版本数据内容更新 回第一版本数据内容; 分布式事务管理器根据所述第二请求, 通知所述保单 数据管理模块回滚分支事务; 保单数据 管理模块基于所述 回滚分支事务的通知, 根据 所述历史版本表中记录的第 一 版本信息获取 所述第一版本数据内容, 并恢复为所述目标 数据实体的当前 数据内容。 4.根据权利要求3所述的方法, 其特征在于, 所述用于撤销回退的日志包括回滚日志, 并且所述 根据所述历史版本表中记录的第一版本信息获取 所述第一版本数据内容, 包括: 保单数据管理模块获取 所述回滚日志中记录的第一版本信息; 保单数据管理模块根据所述历史版本表中记录的所述第一版本信息与所述第一版本 数据内容的对应关系, 获取 所述第一版本数据内容。 5.根据权利要求 4所述的方法, 其特 征在于, 所述历史版本表是基于以下 方式创建的: 根据所述目标数据实体对应的第 一数据表结构, 创建与 所述第一数据表结构相同的历 史版本表。 6.根据权利要求5所述的方法, 其特征在于, 所述历史版本表的参数列表包括主键、 类 型、 起始版本以及待记录的业 务字段, 并且,权 利 要 求 书 1/3 页 2 CN 114925084 A 2所述版本信息包括所述历史版本表的起始版本 字段中记录的版本号。 7.根据权利要求6所述的方法, 其特征在于, 所述历史版本表的参数列表中的各项参数 与所述第一数据表结构中的各项参数存在关联, 并且所述关联通过以下 方式创建: 保单数据 管理模块通过预设的注解工具在所述第 一数据表结构中加入第 一注解信 息, 其中所述第一注解信息被存储管理引擎解析时, 用于根据所述第一数据 表结构中各项参数 的变化更新所述历史版本表中的各项参数。 8.根据权利要求7所述的方法, 其特征在于, 所述预设的注解工具为Hibernate  Envers 提供的@Audit, 所述存 储管理引擎 为Hibernate。 9.根据权利要求5所述的方法, 其特征在于, 所述第 一版本信 息为所述历史版本表中的 起始版本 字段中记录的第一版本号。 10.根据权利要求5所述的方法, 其特征在于, 所述保单数据管理模块响应于所述第一 类操作请求, 读取 所述历史版本表, 包括: 所述保单数据管理模块基于预设的SQL, 读取所述历史版本表, 其中所述预设的SQL中 至少包括所述历史版本表的名称、 主键以及起始版本 字段中对应记录的版本号。 11.根据权利要求1至10中任一项所述的方法, 其特征在于, 所述第一类操作请求, 为写 入MYSQL的bin log事件或update  log事件中的分布式事务操作请求; 并且, 所述业务流程处理模块接收到对所述目标数据实体的第 一类操作请求, 并将所述第 一 类操作请求 转发给所述分布式事务管理器包括: 所述业务流程处理模块确定所述第一类操作请求为写入MYSQL的bin  log事件或 update log事件中的分布式事务操作请求; 业务流程处理模块解析接收到的bin  log事件以获取bin  log数据、 或者解析接收到的 update log事件以获取update  log数据; 业务流程处理模块基于所述bin  log数据或者所述update  log数据, 识别增加、 删除、 或者修改操作对应的分布式事务操作请求; 业务流程处理模块将识别到的分布式事务操作请求作为所述第一类操作请求转发给 所述保单 数据管理模块。 12.根据权利要求3至10中任一项所述的方法, 其特征在于, 所述第二类操作请求, 为写 入MYSQL的bin log事件中的分布式事务操作请求; 并且, 所述业务流程处理模块接收到对所述目标数据实体的第 二类操作请求, 向分布式事务 管理器发送回滚 全局事务的第二请求, 包括: 业务流程处理模块解析接收到的bi n log事件以获取bi n log数据; 业务流程处理模块基于所述bin  log数据, 识别请求将返回的第二版本数据内容更新 回第一版本数据内容的回退操作请求; 业务流程处理模块基于识别 到的回退操作请求, 向所述分布式事务管理器发送回滚全 局事务的第二请求。 13.根据权利要求10中任一项所述的方法, 其特 征在于, 所述第二类操作请求, 包括: 撤销所述第一类操作的请求, 或者, 调用所述第一版本数据内容再次执 行所述第一类操作的请求。 14.根据权利要求1所述的方法, 其特征在于, 所述目标数据实体存储在用于分布式事权 利 要 求 书 2/3 页 3 CN 114925084 A 3

.PDF文档 专利 分布式事务处理方法、系统、设备及可读存储介质

文档预览
中文文档 26 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共26页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 分布式事务处理方法、系统、设备及可读存储介质 第 1 页 专利 分布式事务处理方法、系统、设备及可读存储介质 第 2 页 专利 分布式事务处理方法、系统、设备及可读存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 00:13:06上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。