全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210651479.X (22)申请日 2022.06.10 (71)申请人 中国银行股份有限公司 地址 100818 北京市西城区复兴门内大街1 号 (72)发明人 熊琦洪 王敏 蔡任 黄勋  杜天文 姚钰宸  (74)专利代理 机构 北京集佳知识产权代理有限 公司 11227 专利代理师 张影 (51)Int.Cl. G06F 9/46(2006.01) G06F 9/54(2006.01) G06Q 40/02(2012.01) (54)发明名称 一种分布式事务处 理方法及装置 (57)摘要 本申请提供了一种分布式事务处理方法及 装置, 该方法包括: 响应自动 补偿触发事件, 获取 至少一个待补偿活动的活动信息, 将至少一个待 补偿活动的活动信息写入远程字典服务队列; 基 于远程字典服务队列中的活动信息, 确定出满足 设定条件的目标待补偿活动; 生成补偿消息, 补 偿消息包含目标待补偿活动的活动标识; 发送补 偿消息到消息中间件, 并增加目标待补偿活动的 活动补偿时间间隔, 并基于增加后的活动 补偿时 间间隔更新远程字典服务 队列中目标待补偿活 动的活动下次补偿时间; 从消息中间件中获取所 述补偿消息, 基于补偿消息, 调用补偿处理服务, 以使得补偿处理服务基于所述补偿消息, 对目标 待补偿活动进行补偿处 理。 权利要求书3页 说明书10页 附图5页 CN 114968498 A 2022.08.30 CN 114968498 A 1.一种分布式事务处 理方法, 其特 征在于, 包括: 响应自动补偿触发事件, 获取至少一个待补偿活动的活动信息, 将至少一个所述待补 偿活动的活动信息写入远程字典服务队列, 所述待补偿活动为处于失败状态或未明状态或 执行中状态且所述执行中状态持续时间超过设定阈值的分布式事务活动, 所述活动信息至 少包括: 活动标识及所述活动标识关联的活动下次补偿时间; 基于远程字典服 务队列中的活动信息, 确定出满足设定条件的目标待补偿活动; 生成补偿消息, 所述补偿消息包 含所述目标待补偿活动的活动标识; 发送所述补偿消息到消息中间件, 并增加所述目标待补偿活动的活动补偿时间间隔, 并基于增加后的活动补偿时间间隔更新所述远程字典服务队列中所述目标待补偿活动的 活动下次补偿时间; 从所述消息 中间件中获取所述补偿消息, 基于所述补偿消息, 调用补偿处理服务, 以使 得所述补偿处 理服务基于所述补偿消息, 对所述目标待补偿活动进行补偿处 理。 2.根据权利要求1所述的方法, 其特征在于, 所述基于远程字典服务队列中的活动信 息, 确定出满足设定条件的目标待补偿活动, 包括: 从远程字典服务队列中获取活动标识, 在所述活动标识处于未加锁状态的情况下, 对 所述活动标识进行加锁; 判断数据库中是否存在与所述活动标识匹配的活动标识; 若存在, 确定当前时间是否与所述活动标识关联的活动下次补偿时间一 致; 若一致, 则确定所述活动标识所属的活动为目标待补偿活动。 3.根据权利要求1所述的方法, 其特征在于, 所述补偿处理服务基于所述补偿消息, 对 所述目标待补偿活动进行补偿处 理, 包括: 所述补偿处理服务从所述补偿消息中获取所述目标待补偿活动的活动标识, 基于所述 目标待补偿活动的活动标识, 从数据库中获取与所述目标待补偿活动关联的记录; 从所述记录 中获取所述目标待补偿活动的状态, 在所述目标待补偿活动的状态为非成 功执行状态或未执行回冲操作的状态的情况下, 确定所述目标待补偿活动的补偿次数是否 超过最大补偿次数; 若否, 则确定所述目标待补偿活动的活动开始时间与上一会计日一致的情况下, 确定 所述目标待补偿活动的最后更新时间和当前时间之差是否超过延迟时间; 若否, 则从所述记录中确定出 所述目标待补偿活动中异常任务; 若所述异常任务为同步属性的任务, 则从所述异常任务开始, 对所述异常任务及所述 异常任务之前的任务执 行回冲操作; 若所述异常任务为异步属性的任务, 则从所述异常任务开始, 对所述异常任务及所述 异常任务之后的任务执 行重试操作。 4.根据权利要求3所述的方法, 其特 征在于, 所述方法还 包括: 在所述目标待补偿活动的状态为成功执行状态或已执行回冲操作的状态的情况下, 或, 在所述 目标待补偿活动的补偿次数超过所述最大补偿次数的情况下, 从所述远程字典 服务队列删除所述目标待补偿活动的活动信息 。 5.根据权利要求1所述的方法, 其特征在于, 所述活动信 息还包括: 状态信息, 所述方法 还包括:权 利 要 求 书 1/3 页 2 CN 114968498 A 2获取数据库中与需要自动补偿的活动关联的目标记录, 所述目标记录包括当天的记录 及当天之前一天的历史记录; 从所述目标记录 中确定出至少一个候选待补偿活动的记录, 至少一个所述候选待补偿 活动包括: 在活动开始 时间与上一会计日一致的情况下, 最后更新时间和当前时间之差未 超过延迟时间的待补偿活动、 执行状态为失败状态且补偿次数未达到最大重试次数的待补 偿活动、 执行状态为执行中的状态且执行中的状态的持续时间超过设定时间阈值的待补偿 活动和活动信息在所述远程字典服务队列中不存在且活动信息在所述数据库中存在的待 补偿活动中的任意 一种或多种; 基于至少一个所述候选待补偿活动的记录, 对所述远程字典服务队列中的活动信 息进 行更新。 6.一种分布式事务处 理装置, 其特 征在于, 包括: 写入模块, 用于响应自动补偿触发事件, 获取至少一个待补偿活动的活动信息, 将至少 一个所述待补偿活动的活动信息写入远程字典服务队列, 所述待补偿活动为处于失败状态 或未明状态或执行中状态且所述执行中状态持续时间超过设定阈值的分布式事务活动, 所 述活动信息 至少包括: 活动标识及所述活动标识关联的活动下次补偿时间; 确定模块, 用于基于远程字典服务队列中的活动信息, 确定出满足设定条件的目标待 补偿活动; 生成模块, 用于生成补偿消息, 所述补偿消息包 含所述目标待补偿活动的活动标识; 发送模块, 用于发送所述补偿消息 到消息中间件; 第一更新模块, 用于增加所述目标待补偿活动的活动补偿时间间隔, 并基于增加后的 活动补偿时间间隔更新所述远程字典服务队列中所述目标待补偿活动的活动下次补偿时 间; 调用模块, 用于从所述消息中间件中获取所述补偿消息, 基于所述补偿消息, 调用补偿 处理服务模块; 所述补偿处理服务模块, 用于基于所述补偿消息, 对所述目标待补偿活动进行补偿处 理。 7.根据权利要求6所述的装置, 其特 征在于, 所述确定模块, 具体用于: 从远程字典服务队列中获取活动标识, 在所述活动标识处于未加锁状态的情况下, 对 所述活动标识进行加锁; 判断数据库中是否存在与所述活动标识匹配的活动标识; 若存在, 确定当前时间是否与所述活动标识关联的活动下次补偿时间一 致; 若一致, 则确定所述活动标识所属的活动为目标待补偿活动。 8.根据权利要求6所述的装置, 其特 征在于, 所述补偿处 理服务模块, 具体用于: 从所述补偿消息 中获取所述目标待补偿活动的活动标识, 基于所述目标待补偿活动的 活动标识, 从数据库中获取与所述目标待补偿活动关联的记录; 从所述记录 中获取所述目标待补偿活动的状态, 在所述目标待补偿活动的状态为非成 功执行状态或未执行回冲操作的状态的情况下, 确定所述目标待补偿活动的补偿次数是否 超过最大补偿次数; 若否, 则确定所述目标待补偿活动的活动开始时间与上一会计日一致的情况下, 确定权 利 要 求 书 2/3 页 3 CN 114968498 A 3

.PDF文档 专利 一种分布式事务处理方法及装置

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