[发明专利]一种基于saga实现BPMN状态机的方法在审
| 申请号: | 202211306508.5 | 申请日: | 2022-10-25 |
| 公开(公告)号: | CN115695137A | 公开(公告)日: | 2023-02-03 |
| 发明(设计)人: | 许祥松;林启铵;陈军;卢佳 | 申请(专利权)人: | 中电福富信息科技有限公司 |
| 主分类号: | H04L41/0246 | 分类号: | H04L41/0246;H04L41/069;H04L41/0894;H04L41/22;H04L41/342;H04L67/1095;H04L67/133;H04L67/63 |
| 代理公司: | 福州君诚知识产权代理有限公司 35211 | 代理人: | 彭东 |
| 地址: | 350000 福建省福州*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 saga 实现 bpmn 状态机 方法 | ||
本发明公开一种基于saga实现BPMN状态机的方法,通过自定义的可视化服务编排界面绘制bpnm状态图,定义服务调用的流程,并设置每个服务对应的补偿动作,以及补偿失败的重试次数和重试间隔等内容。而后,通过restful接口或java API操作事务控制服务器,由事务控制服务器启动事务,根据bpnm定义的流程调用各个服务,并在异常时执行恢复策略。恢复策略分为向前重试和向后补偿俩种,这俩种策略都需要保证被调用服务与补偿动作的幂等性,同时向后补偿策略对各个被调用服务有较小的业务入侵。
技术领域
本发明涉及分布式技术领域,尤其涉及一种基于saga实现BPMN状态机的方法。
背景技术
目前在电信运营商下涉及多个业务领域的服务编排系统,或缺少统一的分布式事务管理机制,或需要对业务领域的接口服务进行较大改动以支持分布式事务。
在现有的技术下,服务编排往往涉及大量其他公司提供的服务或历史遗留系统,编排出来的服务业务流程长,涉及业务多,难以对所有服务进行大量改造,事务管理难度大,且服务调用过程难以跟踪。
发明内容
本发明的目的在于提供一种基于saga实现BPMN状态机的方法。
本发明采用的技术方案是:
一种基于saga实现BPMN状态机的方法,其包括以下步骤:
步骤1,在服务编排阶段,通过自定义的可视化服务编排界面进行事务配置形成事务信息;
步骤2,将配置好的事务信息以json格式发送到事务控制服务器,事务控制服务器对json进行解析转换为符合bpmn规范的xml文档形式的事务信息,并将节点信息、补偿动作以及扩展内容记入数据库中;
步骤3,用户操控事务控制服务器从数据库获取配置好的事务信息以启动全局事务,调用bpmn状态机引擎构建状态实例,;
步骤4,事务控制服务器通过restful或RPC生成唯一的分支事务主键,同步或异步顺序调用分支事务中指定的服务并记录事务状态和每个服务的分支事务主键;
步骤5,判断分支事务是否执行成功;是则,执行步骤11;否则,执行步骤6;
步骤6,判断是否达到分支事务重试上限;是则,执行步骤7;否则,执行步骤4;
步骤7,判断是否启动向后补充策略;是则,执行步骤8;否则,执行步骤10;
步骤8,事务控制服务器设置全局事务状态为“补偿中”,找出需要补偿的状态,执行对应分支事务的补偿逻辑;
步骤9,更判断是否所有分支事务的补偿状态均为完成状态;是则,执行步骤11;否则,定位至下个待补偿的分支事务并执行步骤8;
步骤10,判断是否忽略失败继续执行;是则,执行步骤11;否则,执行步骤12;
步骤11,更新全局事务状态并记录日志,判断当前全局事务状态是否为终止状态;是则,执行步骤12;否则,事务控制服务器继续流转bpmn状态机引擎并执行步骤3;
步骤12,事务控制服务器结束全局事务。
进一步地,自定义的可视化服务编排界面的界面风格参考钉钉审批流程界面。
进一步地,步骤1事务信息包括异常恢复策略、服务失败后的重试次数、服务对应的补偿动作,以及补偿失败的重试次数和重试间隔。
进一步地,步骤3中,用户利用客户机通过调用restful接口或java API操作事务控制服务器。
进一步地,事务控制服务器同时提供管理界面对全局和分支事务的状态进行监控、维护。
进一步地,向后补偿策略下,步骤4中分支事务中指定的服务被调用时在本地数据库中记录服务执行日志并记录分支事务主键;当指定的服务调用成功时,标记分支事务的状态为已执行;当指定的服务调用失败时,标记分支事务的状态为执行失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电福富信息科技有限公司,未经中电福富信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211306508.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种便于跨领域的自定义界面编排方法
- 下一篇:飞机燃油系统增压试验夹具





