[发明专利]一种基于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 状态机 方法 | ||
1.一种基于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,事务控制服务器结束全局事务。
2.根据权利要求1所述的一种基于saga实现BPMN状态机的方法,其特征在于:步骤1事务信息包括异常恢复策略、服务失败后的重试次数、服务对应的补偿动作,以及补偿失败的重试次数和重试间隔。
3. 根据权利要求1所述的一种基于saga实现BPMN状态机的方法,其特征在于:步骤3中,用户利用客户机通过调用restful接口或java API操作事务控制服务器。
4.根据权利要求1所述的一种基于saga实现BPMN状态机的方法,其特征在于:事务控制服务器同时提供管理界面对全局和分支事务的状态进行监控、维护。
5.根据权利要求1所述的一种基于saga实现BPMN状态机的方法,其特征在于:向后补偿策略下,步骤4中分支事务中指定的服务被调用时在本地数据库中记录服务执行日志并记录分支事务主键;当指定的服务调用成功时,标记分支事务的状态为已执行;当指定的服务调用失败时,标记分支事务的状态为执行失败。
6.根据权利要求1所述的一种基于saga实现BPMN状态机的方法,其特征在于:步骤8中的具体步骤如下:
步骤8-1,判断分支事务是否存在;是则,执行步骤8-2;否则,执行步骤8-6;
步骤8-2,判断分支事务的状态是否为已执行;是则,执行步骤8-3;否则,执行步骤8-6;
步骤8-3,执行对应分支事务的补偿逻辑,记录补偿日志和分支事务主键;
步骤8-4,判断执行补偿是否成功;是则,更新对应分支事务的补偿状态并执行步骤9;否则,执行步骤8-4;
步骤8-5,判断是否达到补偿重试上限;是则,执行步骤8-6;否则,执行步骤8-3;
步骤8-6,结束补偿,同时将向后补充策略变更为向前重试策略并执行步骤7。
7.根据权利要求1所述的一种基于saga实现BPMN状态机的方法,其特征在于:步骤11的全局事务状态包括“提交成功”、“提交失败”、“回滚成功”或“回滚失败”。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电福富信息科技有限公司,未经中电福富信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211306508.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种便于跨领域的自定义界面编排方法
- 下一篇:飞机燃油系统增压试验夹具





