CN113448547A - 可视化任务编排方法、设备及存储介质 - Google Patents
可视化任务编排方法、设备及存储介质 Download PDFInfo
- Publication number
- CN113448547A CN113448547A CN202110711420.0A CN202110711420A CN113448547A CN 113448547 A CN113448547 A CN 113448547A CN 202110711420 A CN202110711420 A CN 202110711420A CN 113448547 A CN113448547 A CN 113448547A
- Authority
- CN
- China
- Prior art keywords
- component
- service
- subtask
- subtasks
- service type
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000000007 visual effect Effects 0.000 title claims abstract description 12
- 238000004364 calculation method Methods 0.000 claims abstract description 21
- 239000002131 composite material Substances 0.000 claims description 25
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 8
- 238000012800 visualization Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种可视化任务编排方法,该方法包括:控制模块获取并解析计算任务,得到多个子任务和多个子任务的类型,其中,计算任务包括流程图以及流程图对应的参数信息,流程图包括多个组件以及多个组件之间的执行顺序,多个子任务与多个组件呈一一对应关系,参数信息包括多个组件中每个组件的配置参数,子任务的类型包括业务类型和非业务类型;控制模块执行非业务类型的子任务,将业务类型的子任务加入等待队列;执行模块从所述等待队列中获取业务类型的子任务,通过外部系统接口向外部系统发送业务类型的子任务,接收外部系统执行业务类型的子任务获得执行结果。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种可视化任务编排方法、设备及存储介质。
背景技术
数据化运营和激烈的市场竞争对开发团队的开发效率提出了更高要求。微服务架构和任务编排是开发团队提高开发效率的手段,微服务架构通过将服务进行分层,下层沉淀了大量稳定的基础服务接口和消息,上层对下层的接口或消息进行任务编排。对于业务的需求往往只需要改变上层的编排逻辑,因此需要提高任务编排效率以提升整体的开发效率。
目前,任务编排可以通过代码开发以及通过流程图代替代码实现可视化的方式完成。现有编排系统中对于流程图实现任务编排一般需要进行定制化流程开发,绘制好的流程图不能直接上线,需要由开发人员通过编写程序实现流程化顺序执行,降低开发人员的使用体验,并且编程过程容易出错,编排效率低。
发明内容
本申请提供了一种可视化任务编排方法、设备及存储介质,能够提高任务编排效率。
第一方面,本申请实施例提供了一种可视化任务编排方法,该方法包括:所述控制模块获取并解析计算任务,得到多个子任务和所述多个子任务的类型,其中,所述计算任务包括流程图以及流程图对应的参数信息,所述流程图包括多个组件以及多个组件之间的执行顺序,所述多个子任务与所述多个组件呈一一对应关系,所述参数信息包括所述多个组件中每个组件的配置参数,所述子任务的类型包括业务类型和非业务类型;所述控制模块执行所述非业务类型的子任务,将所述业务类型的子任务加入等待队列;所述执行模块从所述等待队列中获取所述业务类型的子任务,通过外部系统接口向业务系统发送所述业务类型的子任务,接收所述外部系统执行所述业务类型的子任务获得执行结果。
第二方面,本申请实施例提供了一种可视化任务编排系统,该系统包括控制模块,用于获取并解析计算任务,得到多个子任务和所述多个子任务的类型,其中,所述计算任务包括流程图以及流程图对应的参数信息,所述流程图包括多个组件以及多个组件之间的执行顺序,所述多个子任务与所述多个组件呈一一对应关系,所述参数信息包括所述多个组件中每个组件的配置参数,所述子任务的类型包括业务类型和非业务类型;控制模块,还用于执行所述非业务类型的子任务,将所述业务类型的子任务加入等待队列;执行模块,用于从所述等待队列中获取所述业务类型的子任务,通过外部系统接口向业务系统发送所述业务类型的子任务,接收所述外部系统执行所述业务类型的子任务获得执行结果。
第三方面,本申请实施例提供一种可视化任务编排设备,包括:处理器和存储器,处理器执行存储器中的代码执行如第一方面任意一种实现方式提供的方法。
第四方面,一种计算机可读存储介质,其特征在于,包括指令,当指令在计算机上运行时,使得计算机执行如第一方面任意一种实现方式提供的方法。
本申请实施例通过将计算任务分成业务类型的子任务和非业务类型的子任务,由控制模块解析计算任务,并执行非业务类型的子任务,执行模块执行业务类型的子任务。这样将业务类型和非业务类型的子任务分开执行,提高编排系统效率。并且还提供基础组件、自定义组件、复合组件以及流程模板,满足更加个性化的任务编排。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本发明实施例提供的一种可视化任务编排系统的架构示意图;
图2是本发明实施例提供的一种可视化任务编排方法的流程示意图;
图3是本发明实施例提供的一种使用MQ组件的流程图的场景示意图;
图4是本发明实施例提供的一种使用事件等待组件的流程图的场景示意图;
图5是本发明实施例提供的一种单任务复合组件示意图;
图6是本发明实施例提供的一种多任务复合组件示意图;
图7是本发明实施例提供的一种电子设备结构框图。
具体实施方式
本申请的实施例部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
首先介绍本申请实施例提供的一种编排系统。
图1示例性示出了本申请实施例提供的一种编排系统的架构图,如图1所示,该架构包括编排系统100、业务系统200和消息队列(Message Queue,MQ)系统300。其中,
业务系统200主要用于提供服务实体,每个服务实体可以提供应用程序接口,编排系统可以通过调用应用程序接口进行访问,以实现业务功能。例如,业务系统200可以第三方支付平台等。
MQ系统300是处理消息的发布和消息的订阅,收集上游系统发布的主题消息,并存储该消息到消息队列,订阅该主题消息的下游系统可以从该消息队列中获取主题消息。其中,上游系统可以是编排系统,下游系统可以是业务系统。
编排系统100与业务系统200通过网络连接,MQ系统300与编排系统100通过网络连接,上述网络可以是有线网络也可以是无线网络,本申请不作具体限定。例如,编排系统100可监听MQ系统300的第三消息,根据第三消息开始解析计算任务。
如图1所示,编排系统100包括控制模块、执行模块、存储模块以及后台管理模块。其中,
后台管理模块,用于提供可视化任务界面,包括设计面板,用户可以页面化管理组件、编辑流程图、上线/下线流程图等,以及获取用户提交的流程图(上线的流程图)和参数信息,得到计算任务。后台管理模块可将获取的流程图以及参数信息存储在存储模块,并发送给控制模块;
控制模块,用于启动流程和控制流程的执行,控制模块可接收后台管理模块发送的计算任务,并解析计算任务,得到多个子任务、多个子任务对应的类型以及多个子任务对应的参数信息,控制模块执行基础类型的子任务,将业务类型的子任务放入等待队列。
执行模块,用于获取等待队列中的业务类型子任务,通过外部系统接口外部系统发送业务类型的子任务,接收外部系统执行业务类型的子任务获得执行结果,并将执行结果发送给控制模块。例如,通过业务系统200接口向业务系统200发送所述业务类型的子任务,接收业务系统200执行业务类型的子任务获得执行结果,或者,执行模块发送第一消息到MQ系统300。
存储模块,包括第一存储模块和第二存储模块,第一存储模块用于存储上线的流程图(用户提交的流程图)、参数信息、执行过程中的缓存数据。缓存数据可以是子任务对应的参数信息,还可以是运行状态信息,例如,当前运行的子任务,当前解析的子任务、子任务运行故障等。第二存储模块用于存储未上线的流程图(用户未提交的流程图)以及参数信息。本申请中,预设地址可位于第一存储模块中。
可理解的,图1所示的编排系统100仅为示例,具体实现中,编排系统100可包括更多或者更少的模块。
本申请实施例中,业务系统200可以是一个服务器,编排系统100可以是一个服务器,不限于此,编排系统100还可以是一个服务器集群,编排系统100中不同模块部署于不同的服务器上。
上述服务器都可以是物理服务器,也可以都是云服务器,也可能部分是物理服务器,部分是云服务器。例如,上述存储模块是一个存储阵列,后台管理模块是一个服务器1,控制模块是服务器2,执行模块是服务器3。
服务器可以是通用的物理服务器实现的,例如,ARM服务器或者X86服务器,也可以是结合网络功能虚拟化(network functions virtualization,NFV)技术实现的虚拟机(virtual machine,VM)。
示例性地,业务系统200可以为银行的业务系统,业务需求是进行投资通知,后台管理模块可提供可视化界面,包括组件库,用户根据业务需求选择组件,并对组件配置参数,编排组件形成流程图。例如,该业务需求为投资通知,那么可以选择自定义组件用于获取投资参数,以及选择条件判断组件用于对投资参数进行判断,以及业务调用组件发送投资消息通知客服。后台管理模块可获取该流程图,得到计算任务。控制模块接收到MQ系统300的第三消息,解析该计算任务,得到多个子任务。控制模块执行自定义组件对应的子任务,得到投资参数。控制模块执行条件判断组件对应的子任务,得到投资参数为大额投资,执行模块执行业务调用组件对应的子任务,通过调用业务系统200接口发送投资消息通知。
本申请实施例提供了一种可视化任务编排方法,应用于如图1所示的编排系统100架构。参见图2,图2是本发明实施例提供的一种可视化任务编排方法示意流程图,如图2所示,该方法包括:
本申请实施例提供了一种可视化任务编排方法,应用于微服务架构领域。首先,用户可以在后台管理模块提供的可视化任务界面进行流程的编辑,得到流程图;后台管理模块获取到该流程图以及该流程图对应的参数信息,得到计算任务;控制模块接收启动指令后,开始解析该计算任务,可得到多个子任务以及多个子任务对应的类型;由控制模块执行非业务类型的子任务,执行模块执行业务类型的任务。下面进行详细描述。
S101:后台管理模块获取流程图以及流程图对应的参数信息,得到计算任务。
其中,流程图用于描述计算任务的总体执行流程信息,流程图包括多个组件以及多个组件之间的执行顺序,。
具体地,后台管理模块可提供展示可视化的任务界面,包括设计面板,界面上显示有组件库以及组件对应的信息。组件库中包括多个类型的组件,分别为基础组件、业务组件、自定义组件以及复合组件,每个类型的组件对应的功能不一致,组件对应的信息包括组件标识、组件功能描述信息。其中,组件的标识可以是名称,还可以是形状,例如,基础组件的形状为圆角矩形,基础组件的形状为菱形等,不限于此,本申请中,组件的标识还可以是颜色,例如,业务组件的颜色为绿色、基础组件的颜色为红色等,本申请对此不作任何限定。
可选地,用户可通过拖、拉、拽的方式将需要的组件放置在设计面板上,对放置在设计面板中的各个组件配置参数,并根据对流程数据的处理需求对各个组件进行连接,(编排组件形成流程图)形成流程图。用户可以在设计面板中点击提交,将编辑好的流程图和流程图对应的参数信息提交至后台管理系统。其中,参数信息包括多个组件中每个组件的配置参数,例如超时时间、字段、占位符、操作类型等。
用户提交流程图后,后台管理模块可以获取用户提交的流程图以及用户设置的参数信息,得到计算任务。其中,后台管理模块还可将计算任务存储在预设地址,预设地址可以是第一存储模块。
本申请中,组件可包括基础组件、业务组件,还可以包括自定义组件以及复合组件。下面分别介绍四种类型的组件:
第一种:基础组件。
基础组件,用于编排多个组件之间的执行流程。基础组件包括开始组件、结束组件、条件判断组件、并行组件。其中,
开始组件用于指示开始执行流程;结束组件用于指示结束流程;条件判断组件用于分支流程的条件判断,例如,代码中的IF函数,如果是,则执行第一分支流程,如果为否,则执行第二分支流程;并行任务组件用于指示以并行的方式执行该组件后续的两个分支流程。
本申请实施例中,通过将组件之间的执行流程编排成基础组件,在任务编排过程中,业务人员只需选择满足业务需求逻辑的组件进行任务编排,编排好的流程图可直接上线,无需开发人员通过编写程序实现流程化顺序执行。
第二种:业务组件。
业务组件,用于处理业务。业务组件包括服务调用组件、消息队列(MessageQueue,MQ)组件以及事件等待组件。其中:
服务调用组件,用于指示通过调用业务系统200的应用程序接口(例如应用编程接口API)向业务系统200发送业务类型的子任务,接收业务系统200执行业务类型的子任务获得执行结果。例如,调用消息通知应用程序进行消息通知。
MQ组件,用于发送第一消息到与第一消息对应主题MQ系统300,以使得关注该主题的一方可以从该MQ系统300中获取第一消息。其中,消息队列,是消息的传输过程中保存消息的容器,以使得关注该消息的一方可以从消息队列中获取到该消息。例如,设备A可以将第一消息发送到消息队列中,消息队列保存该第一消息,设备B如果关注该第一消息,需要该第一消息,可以从该消息队列中获取。
示例性地,图3示例性示出了使用MQ组件的流程图的一种示例性场景。如图3所示,在该场景下,用户进入产品的投资流程,但是因为最后并没有支付,导致订单超时,此时,交易系统会发送一个通知客服系统的消息。图3示的流程图用于获取该通知客服系统的消息,根据该通知客服系统的消息进行后续操作。
开始组件指示开始执行该流程,自定义组件从用户投资的消息中获取用户、产品、投资金额等参数,根据该用户投资的消息启动后续流程,解析投资金额,条件组件判断是否为大额投资,若否,则结束流程;若是,则通知客服系统的MQ组件发送通知客服系统的消息,以使得客服系统可以获取该通知客服系统的消息进行后续操作,例如,由客服专员联系用户,引导投资等。
事件等待组件,用于监听与MQ系统300中的第二消息并获取第二消息。可以监听该第二消息对应主题的MQ系统300中是否存有需要的第二消息,如果存储有需要的第二消息,则从MQ系统中获取需要的第二消息。
示例性地,图4示例性示出了使用事件等待组件的流程图的一种示例性场景。如图4所示,在该场景中,开始组件指示开始解析执行该流程,业务调用组件调用营销短息应用程序接口,向用户发送营销短信。然后进行事件等待组件,监听由交易系统发出的用户投资的消息,其中,该事件等待组件中可以设置超时时间,例如,5天。如果交易系统发布用户投资的消息,那么时间等待组件可以从MQ系统中获取到该用户投资的消息。时间等待组件获取到用户投资的消息后,进入条件判断组件,判断用户是否投资完成,若用户没有完成投资,则结束流程;若用户完成投资,则通过自定义组件1、自定义组件2以及自定义组件3,获取用户投资的消息中的产品、交易ID以及投资金额等数据,最后再通过服务调用组件,记录用户转换记录。
本申请实施例中,针对现有企业大量使用消息队列实现业务需求,提出消息队列组件、事件等待组件,满足更加个性化的编排。
第三种:自定义组件。
自定义组件,也可以称为脚本组件。用户可以自行选择编程语言在自定义组件中进行自定义业务代码的编写,实现自定义业务需求。其中,编程语言可支持Groovy和JavaScript等编程语言。其中,自定义组件可以用于实现与自定义组件相连的两个组件之间的衔接。例如,格式转换自定义组件,第一组件适用的参数格式为第一格式,第二组件适用的参数格式为第二格式,那么第一组件输出的参数不能直接输入第二组件,因此格式转换自定义组件可以由用户自行编辑,将第一格式转化为第二格式。
示例性地,第一组件为条件判断组件,输出的参数为0或1,0表示否,1表示是,第二组件支持的格式为yes或no,格式转换自定义组件可以将参数0或1转化为参数yes或no。
不限于此,自定义组件还可用于实现生成与自定义组件相连的下一个组件需要的参数。
示例性地,生成时间参数的自定义组件,第一个组件的输出没有时间参数,第二个组件需要传入时间参数,但是该时间参数跟业务场景有关,因此,用户可以根据业务场景对自定义组件进行编码,得到生成时间参数自定义组件,用于生成并输出第二个组件需要的时间参数。
在实际使用中,很多组件对应的任务之间不能完美的衔接,需要开发人员对这些组件进行编程实现衔接,效率低,本申请实施例通过自定义组件可以实现与自定义组件相连的两个组件之间的衔接和生成与自定义组件相连的下一个组件需要的参数,无需开发人员通过编写程序实现两个组件之间的衔接和生成组件需要的参数,业务人员编排流程图后,可直接上线,无需开发人员介入。并且,自定义组件还可以通过业务人员对其进行自定义编码,实现自定义业务需求,可支持个性化扩展。
第四种:复合组件。
复合组件,复合组件是多个组件中的部分组件组合,预先根据不同业务场景需求,选择不同的组件,来组成业务上更通用的组件。例如可包括基础组件、业务组件、自定义组件中的一种或多种。复合组件分为单任务复合组件和多任务复合组件。其中,单任务复合组件包括一个任务对应的组件,主要用于复用组件的配置参数。多任务复合组件包括多个任务对应的组件,主要实现更通用的业务需求。
示例性地,如图5所示的单任务复合组件,包括开始组件、发短信服务调用组件、结束组件。其中,当业务人员单独使用发短信服务调用组件时,业务人员需要在组件中设置时间参数,例如早上10点发短信、晚上11点截止发短信等,设置发短信的人群,例如业务人员、客户等,设置内容,例如通知、问好、咨询等。业务人员每次使用发短信服务调用组件时,都需要设置参数,比较麻烦。因此将业务人员设置的某几个参数和发短信服务调用组件封装成单任务复合组件,例如时间参数、发短信人群等,业务人员在下次使用时只用设置短信内容,可以减少设置参数,甚至不需要设置参数,减少业务人员操作,比较方便。
示例性地,如图6所示的复合组件,包括开始组件、并行组件、脚本组件、服务调用组件、结束组件。该复合组件使用并行方式执行两种方式通知客户,第一种是先通过自定义组件生成当前日期,然后通过服务调用组件调用push相关服务发送push消息;第二种是通过服务调用组件,调用短信相关服务发送短信消息。
可选地,存储模块可包括ES(Elasticsearch)缓存、MySQL数据库、Redis(RemoteDictionary Server)存储系统。存储模块包括第一存储模块和第二存储模块,后台管理系统还可以获取用户放置在设计面板中并未提交的组件和流程图。并将用户在设计面板中放置的组件流程图存储在第二存储模块。
可选地,可视化任务界面还可展示流程模板,其中,流程模板是将业务人员经常使用流程图封装成流程模板。
本申请中,通过提供流程模板和复合组件,业务人员只需选择满足自己业务需求的流程模板来创建流程图,或者选择满足业务需求的复合组件进行编排任务,再根据业务需求相应修改流程图或者复合组件中组件的参数,这样可以提高流程创建效率,同时也降低了业务人员使用流程图的门槛。并且复合组件选择不同的组件进行组合,实现多样化的业务需求。
S102:控制模块接收启动指令,获取计算任务,解析计算任务,得到多个子任务、多个子任务的类型,子任务类型包括业务类型和非业务类型。
具体地,控制模块接收启动指令后,获取预设地址中的计算任务,从开始组件对应的子任务开始解析该计算任务,直到解析结束组件对应的子任务,得到多个子任务、多个子任务对应的类型。其中,多个子任务与多个组件呈一一对应关系,业务组件对应的子任务为业务类型的子任务;基础组件对应的子任务和自定义组件对应的子任务为非业务类型的子任任务。复合组件对应的子任务还可以进一步解析为复合子任务,得到复合子任务的类型,复合子任务对应的组件为业务组件,则该复合子任务的类型为业务类型的子任务;当复合子任务对应的组件为基础组件和自定义组件,则该复合子任务的类型为非业务类型的子任务。
其中,启动指令包括业务系统200发送的启动指令和MQ系统300的第三消息。
S103:控制模块获取非业务类型的子任务,执行非业务类型的子任务,将业务类型的子任务加入等待队列。
具体地,控制模块从预设地址中获取非业务类型的子任务、该非业务类型的子任务对应的参数信息,并根据该非业务类型的子任务对应的参数信息执行该非业务类型的子任务。其中,当该非业务类型的子任务不是第一个子任时,控制模块还可预设地址中获取上一个子任务的输出值,根据该非业务类型的子任务对应的参数信息和上一个子任务的输出值执行该非业务类型的子任务。
可选地,控制模块可以是解析计算任务后,先判断第一个子任务的类型,若第一个子任务的类型为非业务类型,则由控制模块执行,若第一个子任务的类型为业务类型,则加入等待队列,再判断第二个子任务的类型,重复上述操作。例如,对第一个子任务的类型进行判断,若第一个子任务的类型是非业务类型的子任务,即第一个子任务对应的组件为基础组件或自定义组件,由控制模块执行该第一个子任务。例如,第一个子任务对应的组件是条件判断组件,则由控制模块直接解析条件判断组件对应的条件表达式,并根据条件表达式的结果,决定执行下一个子任务。又例如,第一个子任务对应的组件是并行组件,则由控制模块解析该并行组件,得到并行组件的两个分支流程,指示控制模块以并行的方式解析两个分支流程。若第一个子任务是业务任务,即第一个子任务对应的组件为业务组件,则将该第一个子任务加入等待队列。
可选地,控制模块还可以是解析计算任务后,获得多个子任务的类型。给多个业务类型的子任务和多个非业务类型的子任务添加类别标签,将多个非业务类型的子任务加入等待队列,控制模块和执行模块按照执行关系依次执行多个子任务。
可选地,控制模块还可以将执行过程中缓存数据存储至第一存储模块。缓存数据可以是子任务对应的参数信息,还可以是运行状态信息,例如,当前运行的子任务,当前解析的子任务、子任务运行故障等。
本申请实施例通过将计算任务分成业务类型的子任务和非业务类型的子任务,由控制模块解析计算任务,并执行非业务类型的子任务,执行模块执行业务类型的子任务。这样将业务类型和非业务类型的子任务分开执行,提高编排系统效率。
S104:执行模块获取等待队列中的业务类型的子任务,通过外部系统接口向外部系统发送业务类型的子任务,接收外部系统执行业务类型的子任务获得执行结果,并将执行结果发送至控制模块。
具体地,执行模块获取等待队列中的业务类型的子任务,当业务类型的子任务对应的组件为业务调用组件,执行模块从所述预设地址中获取业务类型的子任务对应的参数信息,执行模块根据业务类型的任务对应的参数信息,通过业务系统200接口向业务系统200发送业务类型的子任务,接收业务系统200执行业务类型的子任务获得执行结果;其中,当执行模块还可以从预设地址中获取上一个子任务的输出值,根据上一个子任务的输出值,通过业务系统200接口向业务系统200发送业务类型的子任务,接收业务系统200执行业务类型的子任务获得执行结果。其中,执行结果包括业务类型的子任务的执行状态和业务类型的子任务的输出值。当业务类型的子任务对应的组件为消息队列组件,执行模块所述第一消息到MQ系统300。当业务类型的子任务对应的组件为事件等待组件,匹配到第二消息队列系统的第二消息时,从所述MQ系统300中获取第二消息。
S105:控制模块接收到执行结果后,根据执行结果,解析下一个子任务。
具体地,控制模块接收执行结果后,将所述上一个业务类型子任务的输出值存储在预设地址;根据上一个业务类型的执行状态解析下一个子任务,若执行状态正常时,则控制模块解析下一个子任务,若执行状态为异常时,则通过预先设置的条件,决定是否解析下一个子任务。预先条件可以是执行状态为异常状态,则控制模块结束解析下一个子任务,或者,忽略异常状态,控制模块继续解析下一个子任务。控制模块在解析下一个子任务的类型为非业务类型时,从预设地址获取上一个子任务的输出值,根据上一个子任务输出的输出值,执行下一个非业务类型的子任务。控制模块在解析下一个子任务的类型为业务类型时,将该下一个业务类型的子任务加入等待队列。重复上述步骤S103到步骤S104的解析执行步骤,当解析的子任务结束组件时,则结束解析流程。可选地,控制模块还可以将执行结果反馈至业务系统200。
需要说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
图7是本发明实施例提供的一种电子设备结构框图。下面参考图7,其示出了适于用来实现本发明实施例的终端设备或服务器的电子设备的结构示意图。如图7所示,该电子设备包括:一个或多个处理器701;通信接口702,存储器703。上述处理器701、通信接口702、和存储器703通过总线704连接。存储器703用于存储指令,处理器701用于执行存储器703存储的指令。其中,处理器701被配置用于调用程序指令执行:
所述控制模块获取并解析计算任务,得到多个子任务和所述多个子任务的类型,其中,所述计算任务包括流程图以及流程图对应的参数信息,所述流程图包括多个组件以及多个组件之间的执行顺序,所述多个子任务与所述多个组件呈一一对应关系,所述参数信息包括所述多个组件中每个组件的配置参数,所述子任务的类型包括业务类型和非业务类型;
所述控制模块执行所述非业务类型的子任务,将所述业务类型的子任务加入等待队列;
所述执行模块从所述等待队列中获取所述业务类型的子任务,通过外部系统接口向外部系统发送所述业务类型的子任务,接收所述外部系统执行所述业务类型的子任务获得执行结果。
应当理解,在本发明实施例中,所称处理器701可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
通信接口702可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
存储器703可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器703也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。
存储器703也可用于存储指令和数据,以便于处理器701调用存储器703中存储的指令实现上述编排系统100执行的操作。
总线704可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,还可以包括输入/输出接口705,输入/输出接口705连接有输入/输出设备,用于接收输入的信息,输出操作结果。
具体实现中,本发明实施例中所描述的处理器701、通信接口702、可执行本发明实施例提供的一种可视化任务编排方法和编排系统100的各个实施例中所描述的实现方式,在此不再赘述。
应理解,图7所示的电子设备还可以是至少一个物理服务器构成的计算机集群,此处不再赘述。
在本发明的另一实施例中提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令被处理器执行时实现:所述控制模块获取并解析计算任务,得到多个子任务和所述多个子任务的类型,其中,所述计算任务包括流程图以及流程图对应的参数信息,所述流程图包括多个组件以及多个组件之间的执行顺序,所述多个子任务与所述多个组件呈一一对应关系,所述参数信息包括所述多个组件中每个组件的配置参数,所述子任务的类型包括业务类型和非业务类型;所述控制模块执行所述非业务类型的子任务,将所述业务类型的子任务加入等待队列;所述执行模块从所述等待队列中获取所述业务类型的子任务,通过外部系统接口向外部系统发送所述业务类型的子任务,接收所述外部系统执行所述业务类型的子任务获得执行结果。
计算机可读存储介质可以是前述任一实施例的电子设备的内部存储单元,例如终端的硬盘或内存。计算机可读存储介质也可以是终端的外部存储设备,例如终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,计算机可读存储介质还可以既包括电子设备的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机程序以及电子设备所需的其他程序和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的服务器、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,也可执行发明实施例所描述的电子设备的实现方式,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的服务器、设备和方法,可以通过其它的方式实现。例如,以上所描述的服务器实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种可视化任务编排方法,其特征在于,应用于编排系统,所述编排系统包括控制模块和执行模块,所述方法包括:
所述控制模块获取并解析计算任务,得到多个子任务和所述多个子任务的类型,其中,所述计算任务包括流程图以及流程图对应的参数信息,所述流程图包括多个组件以及多个组件之间的执行顺序,所述多个子任务与所述多个组件呈一一对应关系,所述参数信息包括所述多个组件中每个组件的配置参数,所述子任务的类型包括业务类型和非业务类型;
所述控制模块执行所述非业务类型的子任务,将所述业务类型的子任务加入等待队列;
所述执行模块从所述等待队列中获取所述业务类型的子任务,通过外部系统接口向外部系统发送所述业务类型的子任务,接收所述外部系统执行所述业务类型的子任务获得的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述执行结果包括所述业务类型子任务的输出值和所述业务类型的子任务的执行状态,所述执行状态包括正常和异常;
所述接收所述外部系统执行所述业务类型的子任务获得执行结果之后,所述方法还包括:所述控制模块接收所述执行模块发送所述执行结果,将所述业务类型子任务的输出值存储在所述预设地址;
所示控制模块判断所述业务类型子任务的执行状态为正常时,所述控制模块解析下一个子任务;
所示控制模块判断所述业务类型子任务的执行状态为异常时,所述控制模块结束解析所述下一个子任务,或者,所述控制模块继续解析下一个子任务。
3.根据权利要求1所述的方法,其特征在于,所述多个组件包括基础组件、业务组件,其中所述基础组件用于编排所述多个组件之间的执行流程;所述业务组件用于处理业务。
4.根据权利要求3所述的方法,其特征在于,所述业务组件包括服务调用组件、消息队列组件以及事件等待组件;
所述服务调用组件用于指示调用业务系统的应用程序接口以执行对应的业务需求;所述消息队列组件用于发送第一消息到与第一消息对应主题的第一消息队列系统;所述事件等待组件用于监听与第二消息队列系统中的第二消息并获取所述第二消息。
5.根据权利要求2所述的方法,其特征在于,所述之所述控制模块执行所述非业务类型的子任务,包括:
所述控制模块从所述预设地址中获取所述非业务类型的子任务对应的参数信息以及上一个子任务的输出值;根据所述非业务类型的子任务对应的参数信息和所述上一个子任务的输出值,执行所述非业务类型的子任务。
6.根据权利要求4所述的方法,其特征在于,所述通过外部系统接口向外部系统发送所述业务类型的子任务,接收所述外部系统执行所述业务类型的子任务获得的执行结果,包括:
所述执行模块判断所述业务类型的子任务对应的组件为业务调用组件时,所述执行模块从所述预设地址中获取所述业务类型的子任务对应的参数信息以及从所述预设地址中获取所述上一个子任务的输出值,通过所述业务系统接口向所述业务系统发送所述业务类型的子任务、所述业务类型的子任务对应的参数信息以及所述上一个子任务的输出值,接收所述业务系统执行所述业务类型的子任务获得的执行结果;
所述执行模块判断所述业务类型的子任务对应的组件为消息队列组件时,所述执行模块发送所述第一消息到所述消息队列系统;
所述执行模块判断所述业务类型的子任务对应的组件为事件等待组件时,监听到消息队列系统的第二消息时,从所述消息队列系统中获取第二消息。
7.根据权利要求3所述的方法,其特征在于,所述多个组件还包括复合组件和自定义组件,所述是所述多个组件中部分组件的组合;
所述自定义组件用于实现所述多个组件中与所述自定义组件相连的两个组件之间的衔接;或者,生成所述多个组件中与所述自定义组件相连的下一个组件的参数。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述控制模块解析计算任务之前,还包括:所述控制模块接收指示解析所述计算任务的启动指令;
所述启动指令包括所述业务系统发送的所述启动指令和所述消息队列系统的第三消息。
9.一种可视化任务编排设备,其特征在于,包括:处理器和存储器,所述处理器执行所述存储器中的代码执行如权利要求1至7任一权利要求所述的方法。
10.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1至7任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110711420.0A CN113448547A (zh) | 2021-06-25 | 2021-06-25 | 可视化任务编排方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110711420.0A CN113448547A (zh) | 2021-06-25 | 2021-06-25 | 可视化任务编排方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113448547A true CN113448547A (zh) | 2021-09-28 |
Family
ID=77812866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110711420.0A Pending CN113448547A (zh) | 2021-06-25 | 2021-06-25 | 可视化任务编排方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448547A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157567A (zh) * | 2021-11-19 | 2022-03-08 | 浙江惠瀜网络科技有限公司 | 路由引擎配置方法以及装置、存储介质、电子装置 |
CN115774573A (zh) * | 2023-02-10 | 2023-03-10 | 美云智数科技有限公司 | 应用集成方法、装置、电子设备和存储介质 |
CN115878648A (zh) * | 2023-02-22 | 2023-03-31 | 成都成电医星数字健康软件有限公司 | 数据逻辑时序自动调整方法、装置、电子设备及存储介质 |
CN116382877A (zh) * | 2023-05-25 | 2023-07-04 | 之江实验室 | 一种任务的执行方法、装置、存储介质及电子设备 |
CN117075885A (zh) * | 2023-10-18 | 2023-11-17 | 东方电子股份有限公司 | 一种继电保护设备的可视化任务执行方法 |
CN117827191A (zh) * | 2024-01-10 | 2024-04-05 | 广东赛意信息科技有限公司 | 一种基于可视化建模的执行方法、装置、设备及存储介质 |
-
2021
- 2021-06-25 CN CN202110711420.0A patent/CN113448547A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157567A (zh) * | 2021-11-19 | 2022-03-08 | 浙江惠瀜网络科技有限公司 | 路由引擎配置方法以及装置、存储介质、电子装置 |
CN115774573A (zh) * | 2023-02-10 | 2023-03-10 | 美云智数科技有限公司 | 应用集成方法、装置、电子设备和存储介质 |
CN115878648A (zh) * | 2023-02-22 | 2023-03-31 | 成都成电医星数字健康软件有限公司 | 数据逻辑时序自动调整方法、装置、电子设备及存储介质 |
CN115878648B (zh) * | 2023-02-22 | 2023-05-05 | 成都成电医星数字健康软件有限公司 | 数据逻辑时序自动调整方法、装置、电子设备及存储介质 |
CN116382877A (zh) * | 2023-05-25 | 2023-07-04 | 之江实验室 | 一种任务的执行方法、装置、存储介质及电子设备 |
CN116382877B (zh) * | 2023-05-25 | 2023-09-05 | 之江实验室 | 一种任务的执行方法、装置、存储介质及电子设备 |
CN117075885A (zh) * | 2023-10-18 | 2023-11-17 | 东方电子股份有限公司 | 一种继电保护设备的可视化任务执行方法 |
CN117075885B (zh) * | 2023-10-18 | 2024-01-30 | 东方电子股份有限公司 | 一种继电保护设备的可视化任务执行方法 |
CN117827191A (zh) * | 2024-01-10 | 2024-04-05 | 广东赛意信息科技有限公司 | 一种基于可视化建模的执行方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113448547A (zh) | 可视化任务编排方法、设备及存储介质 | |
CN110310034B (zh) | 一种应用于SaaS的服务编排、业务流程处理方法和装置 | |
CN109086986B (zh) | 作业调度方法及装置 | |
CN110321273B (zh) | 一种业务统计方法及装置 | |
CN111212388B (zh) | 一种批量短信发送管理方法、系统和电子设备 | |
CN109739550B (zh) | 一种基于互联网分布式下的微服务业务调度方法 | |
CN113435846A (zh) | 业务流程编排方法、装置、计算机设备及存储介质 | |
CN107517188A (zh) | 一种基于安卓系统的数据处理方法和装置 | |
CN111861418A (zh) | 一种任务生成方法、装置及电子设备 | |
Happe et al. | A pattern-based performance completion for Message-oriented Middleware | |
CN111338775B (zh) | 一种执行定时任务的方法及设备 | |
CN114584500B (zh) | 异步通信的测试方法、装置及电子设备 | |
CN115951923A (zh) | 订阅事件管理方法及相关产品 | |
CN114036060A (zh) | 用于芯片测试的方法、系统和计算机可读介质 | |
US20100269052A1 (en) | Notifying of an unscheduled system interruption requiring manual intervention and adjusting interruption specifics reactive to user feedback | |
CN109840073B (zh) | 业务流程的实现方法和装置 | |
CN108984318B (zh) | 基于驱动模型的消息投递方法、装置及可读存储介质 | |
CN113743630A (zh) | 智能呼叫预约执行的方法和装置 | |
CN111177620B (zh) | 一种基于时间维度的页面展示的方法、装置和电子设备 | |
EP3610385A1 (en) | System and method for parsing a natural language communication from a user and automatically generating a response | |
CN115934675B (zh) | 动态标签的输出方法及装置、存储介质、电子设备 | |
CN112783753B (zh) | 流数据处理系统的测试方法和装置 | |
CN118132069A (zh) | 一种页面流转控制方法、装置及电子设备 | |
Pop et al. | An e-Business Services Composition Framework | |
CN114331720A (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 |