服务编排方法和装置与流程

文档序号:37556326发布日期:2024-04-09 17:46阅读:10来源:国知局
服务编排方法和装置与流程

本发明涉及计算机,尤其涉及一种服务编排方法和装置。


背景技术:

1、工作流(workflow)是用于对业务流程执行自动化管理的计算机系统,目前的工作流都是需要人工参与的人工工作流,执行周期长,需要基于磁盘的数据库(如mysql)存储当前状态,以上数据库的读写性能瓶颈会制约工作流系统(下称为计算机系统)的吞吐能力,并且在系统扩容时不容易进行线性扩展。此外,在现有的计算机系统中,并行分支无法并发执行,流程发布后需要编译,发布周期长,不支持调试过程的问题环节定位以及版本对比,无法完全兼容bpmn 2.0标准。


技术实现思路

1、有鉴于此,本发明实施例提供一种服务编排方法和装置,基于不依赖于人工参与的自动工作流实现多种服务的有序编排和自动执行,能够承载较高吞吐量,具有良好的线性扩展性。

2、为实现上述目的,根据本发明的一个方面,提供了一种服务编排方法。

3、本发明实施例的服务编排方法包括:从预置数据库获取预先编写的工作流描述文件,将获取的工作流描述文件加载到本地的内存数据库;解析所述工作流描述文件形成工作流模型;遍历所述工作流模型中的节点,以将所述工作流模型转换为含有多个待执行任务的执行计划;其中,所述待执行任务为基于预置脚本的自动执行任务、或基于服务调用的自动执行任务、或用于接入配置信息的自动执行任务;依次执行所述执行计划中的待执行任务以获得输出结果。

4、可选地,所述待执行任务与所述工作流模型中的节点一一对应,所述待执行任务中未包含人工执行任务。

5、可选地,所述遍历所述工作流模型中的节点,以将所述工作流模型转换为含有多个待执行任务的执行计划,包括:按照所述工作流模型的节点所在层级遍历所述工作流模型中的节点,以将所述工作流模型序列化为所述执行计划。

6、可选地,所述方法由预置的计算机系统执行;以及,所述依次执行所述执行计划中的待执行任务,包括:在所述计算机系统的同一服务器的同一进程中执行所述待执行任务。

7、可选地,所述执行计划中进一步包括:处在目标任务后的多条并行路径,每一并行路径具有至少一个待执行任务;以及,所述方法进一步包括:在使用原线程执行完成所述目标任务后,创建至少一个线程分配并将各线程分配到所述多条并行路径,使每一并行路径具有一个线程以执行该并行路径的待执行任务。

8、可选地,所述方法进一步包括:在离线状态执行所述工作流描述文件的编写和调试,将调试完成的工作流描述文件存储在所述预置数据库;在所述调试过程中,记录并标记每一已执行节点的执行结果以进行前端展示;响应于针对所述预置数据库中同一工作流描述文件的两个不同版本的版本比对请求,确定所述两个版本的图形流程之间存在差异的节点和连接线,标记确定的节点和连接线以进行前端展示。

9、可选地,所述工作流描述文件为可扩展标记语言xml格式的业务流程建模标注bpmn文件,执行方式为解释执行;以及,所述工作流模型为有向无环图dag模型,用于执行所述服务编排方法的计算机系统兼容bpmn 2.0标准。

10、为实现上述目的,根据本发明的另一方面,提供了一种服务编排装置。

11、本发明实施例的服务编排装置包括:拉取单元,用于从预置数据库获取预先编写的工作流描述文件,将获取的工作流描述文件加载到本地的内存数据库;解析单元,用于解析所述工作流描述文件形成工作流模型;遍历所述工作流模型中的节点,以将所述工作流模型转换为含有多个待执行任务的执行计划;其中,所述待执行任务为基于预置脚本的自动执行任务、或基于服务调用的自动执行任务、或用于接入配置信息的自动执行任务;执行单元,用于依次执行所述执行计划中的待执行任务以获得输出结果。

12、为实现上述目的,根据本发明的又一方面,提供了一种电子设备。

13、本发明的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的服务编排方法。

14、为实现上述目的,根据本发明的再一方面,提供了一种计算机可读存储介质。

15、本发明的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明所提供的服务编排方法。

16、根据本发明的技术方案,上述发明中的实施例具有如下优点或有益效果:

17、在工作流执行阶段,首先从预置数据库获取预先编写的工作流描述文件,将获取的工作流描述文件加载到本地的内存数据库。接着解析工作流描述文件形成工作流模型,遍历工作流模型中的节点,以将工作流模型转换为含有多个待执行任务的执行计划,此后对执行计划中的待执行任务依次执行以获得输出结果。特别地,以上待执行任务为基于预置脚本的自动执行任务、或基于服务调用的自动执行任务、或用于接入配置信息的自动执行任务,不存在人工执行任务,由此实现了不需人工参与审批的自动工作流,大幅降低执行周期,从而使各任务能够在同一服务器的同一进程内依次执行,不需服务器或进程间的交互,不需保存工作流状态,不需使用基于磁盘的数据库,仅需在高性能内存数据库读取数据,从而提高计算机系统吞吐量,使计算机系统易于线性扩展。此外,本发明实施例中的工作流分支能够并发执行,设计调试阶段与执行阶段隔离以避免设计过程影响线上调用,调试过程中能够自动定义执行异常的环节,支持版本回滚与版本对比,流程发布后不需编译即时生效,完全兼容bpmn 2.0标准。

18、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。



技术特征:

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

2.根据权利要求1所述的方法,其特征在于,所述待执行任务与所述工作流模型中的节点一一对应,所述待执行任务中未包含人工执行任务。

3.根据权利要求1所述的方法,其特征在于,所述遍历所述工作流模型中的节点,以将所述工作流模型转换为含有多个待执行任务的执行计划,包括:

4.根据权利要求1所述的方法,其特征在于,所述方法由预置的计算机系统执行;以及,所述依次执行所述执行计划中的待执行任务,包括:

5.根据权利要求1所述的方法,其特征在于,所述执行计划中进一步包括:处在目标任务后的多条并行路径,每一并行路径具有至少一个待执行任务;以及,所述方法进一步包括:

6.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:

7.根据权利要求1所述的方法,其特征在于,所述工作流描述文件为可扩展标记语言xml格式的业务流程建模标注bpmn文件,执行方式为解释执行;以及,

8.一种服务编排装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。


技术总结
本发明公开了一种服务编排方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:从预置数据库获取预先编写的工作流描述文件,将获取的工作流描述文件加载到本地的内存数据库;解析所述工作流描述文件形成工作流模型;遍历所述工作流模型中的节点,以将所述工作流模型转换为含有多个待执行任务的执行计划;其中,所述待执行任务为基于预置脚本的自动执行任务、或基于服务调用的自动执行任务、或用于接入配置信息的自动执行任务;依次执行所述执行计划中的待执行任务以获得输出结果。该实施方式能够基于不依赖于人工参与的自动工作流实现多种服务的有序编排和自动执行,能够承载较高吞吐量,具有良好的线性扩展性。

技术研发人员:艾佳,杜佳恒
受保护的技术使用者:北京沃东天骏信息技术有限公司
技术研发日:
技术公布日:2024/4/8
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1