CN114595075A - 一种基于分布式调度的网络编排中异步任务执行方法 - Google Patents
一种基于分布式调度的网络编排中异步任务执行方法 Download PDFInfo
- Publication number
- CN114595075A CN114595075A CN202011409024.4A CN202011409024A CN114595075A CN 114595075 A CN114595075 A CN 114595075A CN 202011409024 A CN202011409024 A CN 202011409024A CN 114595075 A CN114595075 A CN 114595075A
- Authority
- CN
- China
- Prior art keywords
- flow
- asynchronous
- node
- execution
- asynchronous task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Abstract
本发明的实施例提供了一种基于分布式调度的网络编排中异步任务执行方法。所述方法包括当执行流程到异步任务节点时,调用SDN控制器执行异步API,将当前异步任务节点的流水号和节点编码发送至SDN控制器,暂停流程执行;当接收到下发配置结果消息时,将所述下发配置结果消息存入消息队列中,触发回调服务从所述下发配置结果消息中解析出异步任务节点的流水号和节点编码;查询对应的流程号、服务实例和流程执行记录,调用服务实例对应的编排引擎,从异步任务节点继续执行流程,在流程执行结束后,返回工单信息。以此方式,能够再执行异步流程的过程中不影响接收同步业务数据,提高业务数据执行效率。
Description
技术领域
本发明的实施例一般涉及业务开通领域,并且更具体地,涉及一种基于分布式调度的网络编排中异步任务执行方法。
背景技术
网络编排是对SDN控制器或者专业网管对外的API进行调配,实现业务的开通。编排过程中有部分API执行配置下发过程时间比较长,所以SND控制器或者专业网管只能提供异步接口。但是对网络编排来说,调用异步接口,就无法同步接收到业务数据,会造成流程其他节点数据不全,而无法下发配置。
发明内容
根据本发明的实施例,提供了一种基于分布式调度的网络编排中异步任务执行方案。
在本发明的第一方面,提供了一种基于分布式调度的网络编排中异步任务执行方法。该方法包括:
接收工单系统下发的订单,执行相应流程,并将流程执行记录存储到ES数据库和Mysql数据库;
当执行到异步任务节点时,调用SDN控制器执行异步API,将当前异步任务节点的流水号和节点编码发送至SDN控制器,同时暂停流程执行;
当接收到下发配置结果消息时,将所述下发配置结果消息存入消息队列中,调用回调服务接口,触发回调服务从所述下发配置结果消息中解析出所述异步任务节点的流水号和节点编码,并将对应的业务数据存储到ES数据库中;
根据所述异步任务节点的流水号和节点编码查询Mysql数据库中对应的流程号、服务实例和流程执行记录,调用所述服务实例对应的编排引擎,从所述异步任务节点继续执行所述流程,并从所述ES数据库中读取上下文业务数据;
在所述流程执行结束后,返回工单信息。
进一步地,所述流程执行记录包括执行流程节点、请求参数和返回参数。
进一步地,所述流程中包括异步任务节点;所述异步任务节点为添加异步标签的节点。
进一步地,所述下发配置结果消息包括下发配置成功消息和下发配置失败消息。
在本发明的第二方面,提供了一种基于分布式调度的网络编排中异步任务执行装置。该装置包括:
流程执行模块,用于接收工单系统下发的订单,执行相应流程,并将流程执行记录存储到ES数据库和Mysql数据库;
第一异步执行模块,用于当执行到异步任务节点时,调用SDN控制器执行异步API,将当前异步任务节点的流水号和节点编码发送至SDN控制器,同时暂停流程执行;
第二异步执行模块,用于当接收到下发配置结果消息时,将所述下发配置结果消息存入消息队列中,调用回调服务接口,触发回调服务从所述下发配置结果消息中解析出所述异步任务节点的流水号和节点编码,并将对应的业务数据存储到ES数据库中;
第三异步执行模块,用于根据所述异步任务节点的流水号和节点编码查询Mysql数据库中对应的流程号、服务实例和流程执行记录,调用所述服务实例对应的编排引擎,从所述异步任务节点继续执行所述流程,并从所述ES数据库中读取上下文业务数据;
返回模块,用于在所述流程执行结束后,返回工单信息。
进一步地,所述流程执行记录包括执行流程节点、请求参数和返回参数。
进一步地,所述流程中包括异步任务节点;所述异步任务节点为添加异步标签的节点。
进一步地,所述下发配置结果消息包括下发配置成功消息和下发配置失败消息。
在本发明的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
在本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本发明的第一方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
本发明通过调用第三方异步API进行异步流程执行,能够准确返回异步执行节点信息,继续执行流程,能够再执行异步流程的过程中不影响接收同步业务数据,提高业务数据执行效率。
附图说明
结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了根据本发明的实施例的基于分布式调度的网络编排中异步任务执行方法的流程图;
图2示出了根据本发明的实施例的基于分布式调度的网络编排中异步任务执行装置的方框图;
图3示出了能够实施本发明的实施例的示例性电子设备的方框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明中,通过调用第三方异步API进行异步流程执行,能够准确返回异步执行节点信息,继续执行流程,能够再执行异步流程的过程中不影响接收同步业务数据,提高业务数据执行效率。
图1示出了本发明实施例的基于分布式调度的网络编排中异步任务执行方法的流程图。
该方法包括:
S101、接收工单系统下发的订单,执行相应流程,并将流程执行记录存储到ES数据库和Mysql数据库。
多个分布式编排引擎执行流程。
所述流程执行记录包括执行流程节点、请求参数和返回参数。将上述流程节点、请求参数和返回参数存入ES数据库和Mysql数据库中。
ES数据库是一种非关系型数据库。ES是elasticsearch的简称。ES数据库是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据。
Mysql数据库是一种关系型数据库,使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
所述流程中包括异步任务节点;所述异步任务节点为添加异步标签的节点。
S102、当执行到异步任务节点时,调用SDN控制器执行异步API,将当前异步任务节点的流水号和节点编码发送至SDN控制器,同时暂停流程执行。
SDN控制器是软件定义网络(SDN)中的应用程序,负责流量控制以确保智能网络。SDN控制器是基于如OpenFlow等协议的,允许服务器告诉交换机向哪里发送数据包。
通过SDN控制器执行异步API,将当前编排引擎的流程暂停,执行异步流程。此时其他分布式编排引擎仍可以进行流程执行。
由于将当前异步任务节点的流水号和节点编码发送至SDN控制器,使其在返回下发配置结果消息后能够找到当前异步任务节点,继续执行。
S103、当接收到下发配置结果消息时,将所述下发配置结果消息存入消息队列中,调用回调服务接口,触发回调服务从所述下发配置结果消息中解析出所述异步任务节点的流水号和节点编码,并将对应的业务数据存储到ES数据库中。
在暂停流程后,所述编排引擎等待返回下发配置结果消息的通知。所述下发配置结果消息包括下发配置成功消息和下发配置失败消息。在返回下发配置结果消息后,SDN控制器发送下发配置结果消息到消息队列,调用编排回调服务接口,回调服务接收到下发配置结果消息后,解析消息,生成流水号和节点编码,通过流水号serial和节点编码nodeid能够匹配出对应的异步任务节点,同时把业务数据存储到ES数据库中。
S104、根据所述异步任务节点的流水号和节点编码查询Mysql数据库中对应的流程号、服务实例和流程执行记录,调用所述服务实例对应的编排引擎,从所述异步任务节点继续执行所述流程,并从所述ES数据库中读取上下文业务数据。
S105、在所述流程执行结束后,返回工单信息。
根据本发明的实施例,通过调用第三方异步API进行异步流程执行,能够准确返回异步执行节点信息,继续执行流程,能够再执行异步流程的过程中不影响接收同步业务数据,提高业务数据执行效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。
如图2所示,装置200包括:
流程执行模块210,用于接收工单系统下发的订单,执行相应流程,并将流程执行记录存储到ES数据库和Mysql数据库。
所述流程执行记录包括执行流程节点、请求参数和返回参数。将上述流程节点、请求参数和返回参数存入ES数据库和Mysql数据库中。
ES数据库是一种非关系型数据库。ES是elasticsearch的简称。ES数据库是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据。
Mysql数据库是一种关系型数据库,使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
所述流程中包括异步任务节点;所述异步任务节点为添加异步标签的节点。
第一异步执行模块220,用于当执行到异步任务节点时,调用SDN控制器执行异步API,将当前异步任务节点的流水号和节点编码发送至SDN控制器,同时暂停流程执行。
SDN控制器是软件定义网络(SDN)中的应用程序,负责流量控制以确保智能网络。SDN控制器是基于如OpenFlow等协议的,允许服务器告诉交换机向哪里发送数据包。
第一异步执行模块220将当前编排引擎的流程暂停,执行异步流程。此时其他分布式编排引擎仍可以进行流程执行。
由于第一异步执行模块220将当前异步任务节点的流水号和节点编码发送至SDN控制器,使其在返回下发配置结果消息后能够找到当前异步任务节点,继续执行。
第二异步执行模块230,用于当接收到下发配置结果消息时,将所述下发配置结果消息存入消息队列中,调用回调服务接口,触发回调服务从所述下发配置结果消息中解析出所述异步任务节点的流水号和节点编码,并将对应的业务数据存储到ES数据库中。
在暂停流程后,所述编排引擎等待返回下发配置结果消息的通知。所述下发配置结果消息包括下发配置成功消息和下发配置失败消息。在返回下发配置结果消息后,SDN控制器发送下发配置结果消息到消息队列,第二异步执行模块230调用编排回调服务接口,回调服务接收到下发配置结果消息后,解析消息,生成流水号和节点编码,通过流水号serial和节点编码nodeid能够匹配出对应的异步任务节点,同时第二异步执行模块230把业务数据存储到ES数据库中。
第三异步执行模块240,用于根据所述异步任务节点的流水号和节点编码查询Mysql数据库中对应的流程号、服务实例和流程执行记录,调用所述服务实例对应的编排引擎,从所述异步任务节点继续执行所述流程,并从所述ES数据库中读取上下文业务数据。
返回模块250,用于在所述流程执行结束后,返回工单信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
如图3所示,设备包括中央处理单元(CPU),其可以根据存储在只读存储器(ROM)中的计算机程序指令或者从存储单元加载到随机访问存储器(RAM)中的计算机程序指令,来执行各种适当的动作和处理。在RAM中,还可以存储设备操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
设备中的多个部件连接至I/O接口,包括:输入单元,例如键盘、鼠标等;输出单元,例如各种类型的显示器、扬声器等;存储单元,例如磁盘、光盘等;以及通信单元,例如网卡、调制解调器、无线通信收发机等。通信单元允许设备通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元执行上文所描述的各个方法和处理,例如方法S101~S105。例如,在一些实施例中,方法S101~S105可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由ROM和/或通信单元而被载入和/或安装到设备上。当计算机程序加载到RAM并由CPU执行时,可以执行上文描述的方法S101~S105的一个或多个步骤。备选地,在其他实施例中,CPU可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法S101~S105。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种基于分布式调度的网络编排中异步任务执行方法,其特征在于,包括:
接收工单系统下发的订单,执行相应流程,并将流程执行记录存储到ES数据库和Mysql数据库;
当执行到异步任务节点时,调用SDN控制器执行异步API,将当前异步任务节点的流水号和节点编码发送至SDN控制器,同时暂停流程执行;
当接收到下发配置结果消息时,将所述下发配置结果消息存入消息队列中,调用回调服务接口,触发回调服务从所述下发配置结果消息中解析出所述异步任务节点的流水号和节点编码,并将对应的业务数据存储到ES数据库中;
根据所述异步任务节点的流水号和节点编码查询Mysql数据库中对应的流程号、服务实例和流程执行记录,调用所述服务实例对应的编排引擎,从所述异步任务节点继续执行所述流程,并从所述ES数据库中读取上下文业务数据;
在所述流程执行结束后,返回工单信息。
2.根据权利要求1所述的方法,其特征在于,所述流程执行记录包括执行流程节点、请求参数和返回参数。
3.根据权利要求1所述的方法,其特征在于,所述流程中包括异步任务节点;所述异步任务节点为添加异步标签的节点。
4.根据权利要求1所述的方法,其特征在于,所述下发配置结果消息包括下发配置成功消息和下发配置失败消息。
5.一种基于分布式调度的网络编排中异步任务执行装置,其特征在于,包括:
流程执行模块,用于接收工单系统下发的订单,执行相应流程,并将流程执行记录存储到ES数据库和Mysql数据库;
第一异步执行模块,用于当执行到异步任务节点时,调用SDN控制器执行异步API,将当前异步任务节点的流水号和节点编码发送至SDN控制器,同时暂停流程执行;
第二异步执行模块,用于当接收到下发配置结果消息时,将所述下发配置结果消息存入消息队列中,调用回调服务接口,触发回调服务从所述下发配置结果消息中解析出所述异步任务节点的流水号和节点编码,并将对应的业务数据存储到ES数据库中;
第三异步执行模块,用于根据所述异步任务节点的流水号和节点编码查询Mysql数据库中对应的流程号、服务实例和流程执行记录,调用所述服务实例对应的编排引擎,从所述异步任务节点继续执行所述流程,并从所述ES数据库中读取上下文业务数据;
返回模块,用于在所述流程执行结束后,返回工单信息。
6.根据权利要求1所述的装置,其特征在于,所述流程执行记录包括执行流程节点、请求参数和返回参数。
7.根据权利要求1所述的装置,其特征在于,所述流程中包括异步任务节点;所述异步任务节点为添加异步标签的节点。
8.根据权利要求1所述的装置,其特征在于,所述下发配置结果消息包括下发配置成功消息和下发配置失败消息。
9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~4中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011409024.4A CN114595075A (zh) | 2020-12-04 | 2020-12-04 | 一种基于分布式调度的网络编排中异步任务执行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011409024.4A CN114595075A (zh) | 2020-12-04 | 2020-12-04 | 一种基于分布式调度的网络编排中异步任务执行方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114595075A true CN114595075A (zh) | 2022-06-07 |
Family
ID=81802719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011409024.4A Pending CN114595075A (zh) | 2020-12-04 | 2020-12-04 | 一种基于分布式调度的网络编排中异步任务执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114595075A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277745A (zh) * | 2022-06-24 | 2022-11-01 | 湖南大学 | 一种支持异步调度的服务总线编排系统及方法 |
CN117667362A (zh) * | 2024-01-31 | 2024-03-08 | 上海朋熙半导体有限公司 | 一种流程引擎调度方法、系统、设备及可读介质 |
-
2020
- 2020-12-04 CN CN202011409024.4A patent/CN114595075A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277745A (zh) * | 2022-06-24 | 2022-11-01 | 湖南大学 | 一种支持异步调度的服务总线编排系统及方法 |
CN117667362A (zh) * | 2024-01-31 | 2024-03-08 | 上海朋熙半导体有限公司 | 一种流程引擎调度方法、系统、设备及可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11789943B1 (en) | Configuring alerts for tags associated with high-latency and error spans for instrumented software | |
CN107729139B (zh) | 一种并发获取资源的方法和装置 | |
CN110825535B (zh) | 一种作业调度的方法和系统 | |
CN107016480B (zh) | 任务调度方法、装置及系统 | |
CN105760240A (zh) | 分布式任务处理方法及装置 | |
CN114595075A (zh) | 一种基于分布式调度的网络编排中异步任务执行方法 | |
CN110995497A (zh) | 一种云计算环境下统一运维的方法、终端设备及存储介质 | |
CN112035344A (zh) | 多场景测试方法、装置、设备和计算机可读存储介质 | |
CN107885634B (zh) | 监控中异常信息的处理方法和装置 | |
CN112000350A (zh) | 一种动态规则更新方法、装置及存储介质 | |
CN110784336A (zh) | 基于物联网的多设备智能定时延时场景设置方法及系统 | |
CN113760677A (zh) | 异常链路分析方法、装置、设备及存储介质 | |
CN113656252A (zh) | 故障定位方法、装置、电子设备以及存储介质 | |
CN114090268B (zh) | 容器管理方法及容器管理系统 | |
CN113722141B (zh) | 数据任务的延迟原因确定方法、装置、电子设备及介质 | |
CN115509714A (zh) | 一种任务处理方法、装置、电子设备及存储介质 | |
CN116126719A (zh) | 接口测试方法、装置、电子设备及存储介质 | |
CN115619169A (zh) | 面向跨组织业务需求的异构信息系统集成方法、终端设备 | |
CN115525411A (zh) | 处理业务请求的方法、装置、电子设备和计算机可读介质 | |
CN115525392A (zh) | 容器监控方法、装置、电子设备及存储介质 | |
CN108390924A (zh) | 订单执行方法及装置 | |
CN114706893A (zh) | 故障检测方法、装置、设备及存储介质 | |
CN113704355A (zh) | 数据同步方法、电子设备及存储介质 | |
CN114546817A (zh) | 一种信息处理方法、装置、存储介质及计算机程序产品 | |
CN116109112B (zh) | 基于聚合接口的业务数据处理方法、装置、介质和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |