一种业务逻辑编排方法及系统与流程

摘要: 本申请涉及工业软件业务逻辑编排,具体涉及一种业务逻辑编排方法及系统。背景技术:1、随着工业软件及分布式系统业务复杂度的提升,业务逻辑编排技术被广泛应用于处理多节...
一种业务逻辑编排方法及系统与流程

本申请涉及工业软件业务逻辑编排,具体涉及一种业务逻辑编排方法及系统。

背景技术:

1、随着工业软件及分布式系统业务复杂度的提升,业务逻辑编排技术被广泛应用于处理多节点联动的复杂流程。现有的业务编排方案通常基于工作流引擎或微服务架构实现。

2、然而,现有技术在处理高并发及强一致性要求的场景时,存在以下缺陷:

3、第一,事务粒度控制粗糙。现有技术通常采用“一个业务节点对应一个数据库事务”的模式。当业务流程包含大量细粒度节点时,会产生频繁的数据库提交(commit)操作,导致数据库日志刷盘次数激增,占用大量i/o资源及数据库连接,严重影响系统吞吐量。

4、第二,资源回收与事务状态不同步。现有技术中,分布式锁、缓存等资源通常在业务节点代码执行结束时(例如在try-finally块中)立即释放。然而,此时数据库事务可能尚未最终提交。若在资源释放后、事务提交前发生系统异常或并发冲突,由于锁已被释放,其他事务可能介入修改数据,导致数据一致性无法保障;此外,若开发者遗漏手动释放代码,极易导致资源泄漏。

5、第三,缺乏基于数据属性的自动优化。现有编排引擎通常仅依据业务流程依赖确定执行顺序,缺乏对节点数据操作属性(如读写类型、涉及数据表)的感知,无法自动将无冲突的节点合并执行,难以进一步优化事务边界。

6、因此,亟需一种能够优化事务提交频率,并确保资源回收与事务状态一致性的业务逻辑编排方法。

技术实现思路

1、本申请提供一种业务逻辑编排方法及系统,为解决现有技术中数据库事务提交频繁导致系统性能低下,以及节点资源释放时机早于事务落库导致数据一致性风险的问题。

2、为解决上述技术问题,本发明采用的技术方案是:

3、第一方面,本发明提供一种业务逻辑编排方法,包括:响应于业务请求,初始化与所述业务请求关联的执行上下文,并建立事务补偿机制;获取业务逻辑定义信息,所述业务逻辑定义信息包含多个业务节点及各业务节点的资源操作属性;基于所述多个业务节点之间的数据依赖关系构建有向无环图,并确定节点的执行时序;根据所述资源操作属性将所述多个业务节点划分为至少一个事务批次,其中,具有兼容资源操作属性的业务节点被归类至同一事务批次;按照所述执行时序执行所述业务节点,将各节点产生的待持久化数据暂存至所述执行上下文;在所述有向无环图的汇合点,按所述事务批次批量提交数据库事务;在数据库事务提交或回滚完成后,由编排引擎统一触发资源回收流程,执行预设的资源清理操作。

4、第二方面,本发明还提供一种业务逻辑编排系统,包括:事务协调模块,用于响应于业务请求,初始化与所述业务请求关联的执行上下文,并建立事务补偿机制;编排构建模块,用于获取业务逻辑定义信息,基于所述多个业务节点之间的数据依赖关系构建有向无环图,并确定节点的执行时序;事务合并模块,用于根据所述资源操作属性将所述多个业务节点划分为至少一个事务批次,并在所述有向无环图的汇合点,按所述事务批次批量提交数据库事务;节点执行模块,用于按照所述执行时序执行所述业务节点,将各节点产生的待持久化数据暂存至所述执行上下文;资源回收模块,用于在数据库事务提交或回滚完成后,由编排引擎统一触发资源回收流程,执行预设的资源清理操作。

5、第三方面,本发明还提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行所述的业务逻辑编排方法。

6、本申请实施例提供的技术方案带来的有益效果包括:

7、通过根据资源操作属性将多个业务节点划分为事务批次,并在有向无环图的汇合点批量提交数据库事务,显著减少了数据库commit次数和日志刷盘频率,降低了数据库锁竞争,提升了系统吞吐量。

8、通过将资源回收流程延后至数据库事务提交或回滚完成后,由编排引擎统一触发,避免了“数据未落库锁已释放”导致的状态不一致风险,确保了异常路径下资源释放的可靠性。

9、通过基于输入输出契约自动构建有向无环图,并利用引擎强制管理事务边界和资源生命周期,减少了开发者手动处理事务和资源释放的代码量,降低了出错概率。

10、通过资源操作属性聚类实现事务边界自动优化,使问题-方案-效果形成闭环。

1.一种业务逻辑编排方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述基于多个业务节点之间的数据依赖关系构建有向无环图,包括:

3.根据权利要求1所述的方法,其特征在于,所述资源操作属性包括操作类型标识及涉及的数据资源范围;所述根据资源操作属性将多个业务节点划分为至少一个事务批次,包括:

4.根据权利要求1所述的方法,其特征在于,所述在有向无环图的汇合点,按所述事务批次批量提交数据库事务,包括:

5.根据权利要求1所述的方法,其特征在于,所述由编排引擎统一触发资源回收流程,包括:

6.根据权利要求1所述的方法,其特征在于,所述建立事务补偿机制,包括:

7.根据权利要求1所述的方法,其特征在于,所述初始化与业务请求关联的执行上下文,包括:

8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法应用于需要多节点强一致性联动的工业控制场景、金融交易场景或电子商务履约场景。

9.一种业务逻辑编排系统,其特征在于,包括:

10.一种电子设备,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至8中任意一项所述的方法。