CN114691122A - 一种业务运行方法、装置、电子设备及存储介质 - Google Patents
一种业务运行方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114691122A CN114691122A CN202011568814.7A CN202011568814A CN114691122A CN 114691122 A CN114691122 A CN 114691122A CN 202011568814 A CN202011568814 A CN 202011568814A CN 114691122 A CN114691122 A CN 114691122A
- Authority
- CN
- China
- Prior art keywords
- target
- task
- business process
- tasks
- target 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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
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为本发明的实施例提供的业务运行装置的一种结构示意图;
图4为本发明的实施例提供的电子设备的一种结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一方面,本发明实施例提供一种业务流程编排方法,能够使业务流程的维护难度大大降低,灵活性有效提高。
需要说明的是,本发明实施例中,所言业务可以是指各行业中需要处理的事务,所述业务流程可以是指执行该业务得到该业务的结果的流程,例如可以包括以人工智能技术构建出的模型为基础的各种各样的业务的实现过程,例如既可以包括数学模型的构建过程,也可以包括利用构建好的数学模型解决现实问题的过程。并且这些业务既可以是实时性较强的在线业务,也可以是对实时性要求不高的离线业务。
本发明提供一种业务运行方法,该运行方法可以包括编排业务流程、基于编排的业务流程运行业务等过程,以下将一一进行说明。
如图1所示,本发明的实施例提供的业务流程编排方法可以包括:
S11,通过可视化界面,向开发人员提供任务列表,所述任务列表中设置有任务;
其中,可视化界面例如可以是图形化的用户界面,能够接收开发人员在该界面的拖拽、点击、绘制轨迹等操作,界面对用户友好,能够有效降低用户的操作门槛,提升用户体验和操作效率。
任务列表可以是多个任务的集合。任务可以是指对于一个大的任务进行合理拆分抽象而得到的最小粒度的任务,使得尽量保证一个任务只负责完成一个功能。任务列表中的任务的显示可包括任务ID或任务名称。此外,任务的显示还可包括任务类型,例如,Java、Python、Shell及Dag。
其中,每个任务可以是对一种或多种相对独立的算法、步骤、处理、阶段等的封装。可选的,每个任务可以由三部分构成,任务的输入,任务的输出以及自定义的处理脚本,每个任务可以用一个唯一标示ID来表示。可预先创建任务,即对一种或多种相对独立的算法、步骤、处理、阶段等进行封装,形成任务对应的任务模板。
可以预先通过可视化界面,接收开发人员对目标任务模板的创建操作,以创建目标任务模板,则在编排时,创建有目标任务模板的目标任务能够被显示在可视化界面的任务列表中。
本发明的实施例中,每个任务可以抽象出业务流程的某个环节所涉及到的共性问题,而具体到业务流程的实际情况和个性问题,则可以在任务中预留出相应的参数或接口,由开发人员根据实际情况配置,从而使任务兼具通用性与灵活性。
S12,根据开发人员在所述可视化界面的操作,从所述任务列表中选择至少一个所述任务作为目标任务;
开发人员可以在可视化界面中分类查看或搜索任务列表中的各种任务,并根据需要从中选择所需的任务作为目标任务。作为目标业务流程的组成元素,本步骤中选择出的目标任务的数量可以为1个、2个或更多个。
S13,通过所述可视化界面接收开发人员对所述目标任务的编排操作,以利用所述目标任务生成目标业务流程。
编排是对计算机系统、应用及服务的自动化配置、管理和协调。本步骤中,通过对目标任务的编排操作能够生成开发人员所要开发的目标业务流程。
具体的,用户可编排目标任务之间的先后执行顺序以及彼此之间的依赖关系等,例如,通过连接线按照执行顺序连接各任务节点,编排出一个目标业务流程,即,创建利用所述目标任务编排而成的目标业务流程的模板。
基于可视化界面接收开发人员对所述目标任务的编排操作,编排而成目标业务流程,即创建了一个目标业务流程的模板,该模板可以理解为一个业务流程的流程图,其中不仅提供有流程中的各个任务和任务之间的依赖关系,还有各种相关的配置信息等。针对各种实际业务,即可选择适配的业务流程。
在本发明的实施例中,开发人员可以在图形化界面中定义各种任务、可视化定义任务之间的关系、运行参数、运行策略、生命周期等。通过可视化的界面交互操作,可以使开发人员通过拖拽等的方式,可视化构建任务间的流程编排关系,使得操作、展示更加直观。
本发明的实施例提供的业务流程编排方法,能够通过可视化界面,向开发人员提供任务列表,根据开发人员在所述可视化界面的操作,从所述任务列表中选择至少一个任务作为目标任务,并通过所述可视化界面接收开发人员对所述目标任务的编排操作,以利用所述目标任务生成目标业务流程。这样,目标业务流程的实现过程无需编写代码,而只需对已经封装好的各种任务进行可视化的编排操作即可,因此可以使得业务流程的逻辑结构更加清晰,对目标业务流程的修改也可通过修改目标任务即可,代码修改成本会明显降低,也更有利于各种任务在同一个业务流程中或在不同业务流程之间进行复用,从而使业务流程的维护难度大大降低,灵活性有效提高。
步骤S11中,任务列表中各任务的流程、算法可以不同,各个任务模板所基于的运行环境也可以彼此相同或不同。业务流程编排系统中可以集成多种运行环境,供不同的任务调用。可选的,在本发明的一个实施例中,也可以根据需要在业务流程编排系统中加入新的运行环境。
本发明的实施例中,任务列表中的各种任务可以跨越多种运行环境。相应的,基于这些任务生成的目标业务流程的运行也可以在多个运行环境之间完美衔接。例如,任务A基于C语言环境,而任务B基于Java语言环境,则本发明的实施例中,任务A可以与任务B完美衔接。这是由于各个任务之间的输入数据和输出数据可以以字符串的形式表达,从而是业务流程编排系统表现出良好的通用性和可扩展性。
任务列表中提供有多种任务,而开发人员选择何种任务进行编排,与其所面对的具体开发任务密切相关。为了帮助开发人员实现目标业务流程,在本发明的一个实施例中,步骤S12中根据开发人员在所述可视化界面的操作,从所述任务列表中选择至少一个所述任务模板作为目标任务可以包括:通过所述开发人员在所述可视化界面的操作,接收所述目标业务流程的输入约束条件和输出约束条件;根据所述输入约束条件和所述输出约束条件,从所述任务列表中选择至少一个所述任务作为目标任务。其中,输入约束条件可以用于描述目标业务流程需要输入怎样的数据,输出约束条件可以用于描述目标业务流程输出怎样的数据,则编排系统可以根据对输入数据和输出数据的描述,从任务列表中选择一个或更多任务作为目标任务。
举例而言,在本发明的一个实施例中,目标业务流程为根据用户购买行为的历史数据,训练出用户是否会买某件商品的模型,则对应的输入约束条件可以包括购买行为的历史数据的属性描述,对应的输出约束条件可以包括决策是否会购买某项商品的描述。
由于开发人员意欲开发的目标业务流程可能是各种规模的业务流程,为了兼顾开发效率和开发的灵活性,任务列表中的各种任务也可以基于不同的封装规模,也即基于不同的封装层级。例如,在本发明的一个实施例中,任务列表中的各任务可以分为至少两个封装层级,其中,较高封装层级的任务由相邻的较低封装层级的任务编排而成。例如,一个模型A的训练过程可以是其中一个较高的封装层级,其中又可以包括:数据处理、标注、召回、排序等一系列较低的封装层级。
基于此,在本发明的一个实施例中,根据所述输入约束条件和所述输出约束条件,从所述任务列表中选择至少一个所述任务作为目标任务具体可以包括:根据所述输入约束条件和所述输出约束条件,确定所述目标任务对应的目标封装层级;从属于所述目标封装层级的备选任务中,选择至少两个备选任务模板作为所述目标任务。例如,可以根据输入约束条件和输出约束条件,确定目标业务流程为如何进行数据处理,则可以据此确定目标任务对应的目标封装层级,该目标封装层级中的备选任务例如可以包括数据清洗任务、分词任务、语义分析任务等。这样,先确定了目标封装层级,再从目标封装层级中进行任务的筛选,能够大大缩减检索范围,有效提高任务的选择效率。
由于目标业务流程可能会随着需求的不同而产生各种变化,任务列表中的各种任务也不可能穷尽各种可能,因此,有可能会存在选择了目标任务后,某个目标任务并没有百分之百的契合目标业务流程的需求,从而需要对目标任务进行进一步调整。例如,在本发明的一个实施例中,从目标封装层级的备选任务模板中选择至少两个备选任务作为目标任务之后,本发明的实施例提供的业务流程编排方法还可以包括:若所述目标任务需要进一步调整,确定所述目标任务是否为最低封装层级的任务;在所述目标任务不是最低封装层级的任务的情况下,通过编排所述目标任务的下一封装层级的任务,调整所述目标任务。
也即是说,若目标任务是由下一个封装层级的任务编排而成的,那么当需要对目标任务进行调整时,可以对该下一个封装层级的任务重新编排调整,从而进一步提高了目标业务流程编排的灵活性。仍以如何进行数据处理的目标业务流程为例,若选择的目标任务为数据清洗任务、分词任务、语音识别任务、语义分析任务。其中,语义分析任务需要进一步调整,例如需要在语义分析任务中加入某种算法,则可以进入语义分析任务,该语义分析任务是由各种算法任务编排而成,则可以在其中添加上所需的算法并进行编排,生成新的语义分析任务作为组成目标业务流程的目标任务。
选择了目标任务后,在步骤S13中可以述通过所述可视化界面接收开发人员对所述目标任务的编排操作,以利用所述目标任务生成目标业务流程。在本发明的一个实施例中,该步骤具体可以包括:
通过所述可视化界面接收所述开发人员在各所述目标任务之间的连线操作和所述开发人员对各所述目标任务的参数配置;
根据所述连线操作确定各所述目标任务之间的依赖关系;
根据所述目标任务和所述依赖关系生成所述目标业务流程,其中,每个所述目标任务被实例化为所述目标业务流程中的一个目标任务。
也即是说,本发明的实施例中,开发人员可以在任务(任务节点)之间进行连线操作,线的一端是上游任务的输出,另一端是下游任务的输入。通过不同任务之间的连线,即可定义出各个任务的执行顺序和前后依赖关系,这种执行顺序和依赖关系使各种任务模板串联形成了流程。如果需要调整业务流程,则只需调整各任务之间的连线即可,操作非常便捷高效。
除了可以接收开发人员在各任务之间进行连线操作之外,在本发明的一个实施例中,还可以接收开发人员对每个任务的参数配置。例如,任务job1中包括三个参数a、b、c,开发人员可以在可视化界面中为a、b、c分别赋值为a1、b1、c1,还可以对任务模板job1进行复用,并对其中的三个参数a、b、c分别赋值为a2、b2、c2。
可选的,在本发明的一个实施例中,任务也可以不含有配置参数或者采用默认的配置参数。
本发明的实施例提供的业务流程编排方法,可以将开发人员意欲呈现的业务流程映射到任务列表中的任务,也即是将一个大流程拆分成很多小任务,通过编排小任务来完成大流程。这样一来,两个任务模板在画布上用一根线牵联在一起,线的一端是一个任务的输出,另一端连另一个的任务的输入,整个任务运行的进度会及时的反应在画布上,使整个流程逻辑清晰,可读性非常高,不需要读代码就可以理解离线流程,大大降低了维护成本。
而且,由于任务之间都是通过输入和输出联系起来的,耦合度非常低,这就使任务的复用度有效提高,而替换任务的成本大大降低,整个流程变得更灵活。开发人员看似特别复杂的需求,在之前可能要涉及改代码,发版等一系列复杂的流程,并且需要做大量的测试来确保修改的地方不会影响其他子流程,采用了本发明的技术方案后,这些流程通通可以省掉,并且影响范围可以控制到最小。
进一步的,步骤S13通过所述可视化界面接收开发人员对所述目标任务的编排操作,以利用所述目标任务生成目标业务流程之后,即可利用该目标业务流程来运行业务,即进一步解析并运行目标业务流程。
在本发明的一个实施例中,解析并运行所述目标业务流程具体可以包括:解析所述目标业务流程中各所述目标任务及各所述目标任务之间的依赖关系;根据所述目标任务及所述依赖关系,确定当前需要执行的待执行任务;根据已执行任务的执行结果以及任务运行的上下文信息,执行所述待执行任务。
解析各目标任务后,即可获知各目标任务分别执行哪些操作,解析各目标任务之间的依赖关系即可获知各目标任务之间的相互依赖关系,例如可以获知哪个目标任务是哪个目标任务的前提,在执行待执行任务时,可以根据在先任务的执行结果以及任务运行的上下文信息,执行所述待执行任务。
为了避免一个任务结束而另一个任务没有正常启动导致的程序运行失败,在本发明的一个实施例中,根据在先任务的执行结果以及任务运行的上下文信息,执行所述待执行任务具体可以包括:在任务调度进程的调度下,启动所述待执行任务的运行环境;在启动的所述运行环境中,根据已执行任务的执行结果以及任务运行的上下文信息,执行所述待执行任务。这样,通过统一的任务调度进程调度各任务的执行,有效避免了任务衔接可能出现问题,提高了业务流程运行的稳定性。
具体而言,本发明的实施例中,可以在内存中开辟出专用区域保障业务流程顺利运行。例如,可以开辟出:任务模版区,用于存放定义好的任务模板;任务实例区,可以用于存放任务模板实例化后得到的对象和任务的运行信息,例如各任务之间的输入输出关系等;运行常量池,用于存放维护任务所需要的上下文信息等;任务运行池,用于维护任务的运行环境,是执行任务的地方,如jdk、python3等。解析器核心区,用于串联以上各区。
任务模版区存放着用户定义好的任务模板,解析器根据开发人员的操作,从任务模版区里找到对应的目标任务,然后根据目标任务之间的连接关系和参数配置情况,将目标任务实例化成任务实例放到任务实例区。如果有任务需要运行,则可以判断该任务是否符合运行条件,如果有上游任务没有运行完成,则不符合运行条件,否则符合运行条件,任务运行池启动运行环境,并将任务实例提交到运行环境中运行,等待运行结果。
第二方面,本发明的实施例还提供一种业务运行方法,能够使业务流程维护难度大大降低,灵活性有效提高
如图2所示,本发明的实施例提供的业务运行方法可以包括:
S21,获取待运行业务对应的目标业务流程模板,所述目标业务流程模板中提供有所述目标业务流程中的目标任务和所述目标任务之间的依赖关系;
开发人员可以预先编排多种业务流程,即形成多个业务流程模板,需要执行业务时,获取相应的业务流程模板即可。
编排的方法可参见前文实施例,这里不再赘述。
S22,解析所述目标业务流程模板,确定所述目标业务流程中的各目标任务及所述各目标任务之间的依赖关系;
S23,获取所述各目标任务对应的目标任务模板;
开发人员可以预先创建多种目标任务,即创建多个目标任务模板,放置在任务库中。
S24,根据所述各目标任务对应的目标任务模板,获取各所述目标任务的任务实例;
S25,根据所述目标任务之间的依赖关系,确定当前需要执行的目标任务;
S26,运行所述当前需要运行的目标任务的实例。
本发明的实施例提供的业务运行方法,能够获取待运行业务对应的目标业务流程模板,所述目标业务流程模板中提供有所述目标业务流程中的目标任务和所述目标任务之间的依赖关系;解析所述目标业务流程模板,确定所述目标业务流程中的各目标任务及所述各目标任务之间的依赖关系;获取所述各目标任务对应的目标任务模板;根据所述各目标任务对应的目标任务模板,获取各所述目标任务的任务实例;根据所述目标任务之间的依赖关系,确定当前需要执行的目标任务;运行所述当前需要运行的目标任务的实例。这样,由于目标业务流程都是由相互具有依赖关系的目标任务组成,目标业务流程的实现过程无需编写代码,而只需对已经封装好的各种任务进行可视化的编排操作即可,对目标业务流程的修改也可通过修改目标任务即可,代码修改成本会明显降低,因此可以使得业务流程的逻辑结构更加清晰,也更有利于各种任务在同一个业务流程中或在不同业务流程之间进行复用,从而使业务流程的维护难度大大降低,灵活性有效提高。
可选的,步骤S21中,获取待运行业务对应的目标业务流程模板可以包括:
接收用户的业务运行请求,所述业务运行请求中携带有待运行业务的标识;
根据所述待运行业务的标识,获取待运行业务对应的目标业务流程模板。
例如,在本发明的一个实施例中,可以接收用户运行模型训练任务的请求,该任务标识为model1,根据model1获取该任务对应的业务流程模板,即目标业务流程模板。该模板是预先编排好的目标业务流程的模板,目标业务流程模板中包括实现该业务流程所需要运行的一个或多个目标任务,这些目标任务按照预设逻辑组合到一起,形成目标任务之间的依赖关系。运行目标业务流程,也就是让目标业务流程模板中的各目标任务按照预设逻辑运行。为此可以先解析目标业务流程模板,获取各目标任务及其依赖关系。
为了运行目标任务,可以先获取目标任务对应的目标任务模板。具体而言,步骤S23中获取所述各目标任务对应的目标任务模板可以包括:从预先创建的任务模板库中,获取所述各目标任务对应的目标任务模板。也即是说,各任务已经预置了相应的模板,无需开发人员编写复杂的代码,直接按照对应的模板运行即可,从而使业务流程的维护难度大大降低,灵活性有效提高。
获取到目标任务对应的目标任务模板后,可以结合当前的输入数据和运行条件,将目标任务实例化,并运行当前需要运行的目标任务的实例。在具体的任务运行时,由于各目标任务之间存在一定的依赖关系,为了保证目标任务按照该依赖关系运行,在本发明的一个实施例中,在步骤S26运行所述当前需要运行的目标任务的实例具体可以包括:确定所述当前需要执行的目标任务的上游目标任务是否执行完成;若是,基于所述上游任务的执行结果,运行所述当前需要运行的目标任务的实例。若否,也就是上游任务还没有完成,则暂不运行该目标任务。
目标任务的运行需要一定的运行环境时,例如基于C语言实现的目标任务需要在C语言的编译运行环境下运行,基于Java语言实现的目标任务需要在Java语言的编译运行环境下运行。目标业务流程中的各目标任务可以基于同一种运行环境,也可以基于彼此不同的运行环境。当任一目标任务运行时,只需调用其对应的运行环境即可。具体而言,在本发明的一个实施例中,根据所述上游任务的执行结果,运行所述当前需要运行的目标任务的实例具体可以包括:启动所述当前需要运行的目标任务的运行环境;将所述当前需要运行的目标任务的实例提交到所述启动的运行环境中,以基于所述上游任务的执行结果,运行所述当前需要运行的目标任务的实例。
目标业务流程运行系统中可以集成多种运行环境,供不同的任务调用。可选的,在本发明的一个实施例中,也可以根据需要在系统中加入新的运行环境。
本发明的实施例中,目标业务模板中的各种目标任务可以跨越多种运行环境。相应的,基于这些任务生成的目标业务流程的运行也可以在多个运行环境之间完美衔接。例如,任务A基于C语言环境,而任务B基于Java语言环境,则本发明的实施例中,任务A可以与任务B完美衔接。这是由于各个任务之间的输入数据和输出数据可以以字符串的形式表达,从而表现出良好的通用性和可扩展性。
以上介绍了目标业务流程的运行,也就是按照已经建立的目标业务流程模板运行业务流程。为了得到该目标业务流程模板,本发明的实施例提供的业务流程运行方法还提供了可视化编排环境,能够根据开发人员的操作创建业务流程模板。
具体而言,在本发明的一个实施例中,在步骤S21获取待运行业务对应的目标业务流程模板前,本发明的实施例提供的业务运行方法还可以包括:
通过可视化界面,向开发人员提供任务列表;
根据开发人员在所述可视化界面的操作,从所述任务列表中选择至少一个任务作为目标任务;
通过所述可视化界面接收开发人员对所述目标任务的编排操作,以创建利用所述目标任务编排而成的目标业务流程模板。
其中,可视化界面例如可以是图形化的用户界面,能够接收开发人员在该界面的拖拽、点击等操作,界面对用户友好,能够有效降低用户的操作门槛,提升用户体验和操作效率。
任务列表可以是多个任务的集合。任务可以是指对于一个大的任务进行合理拆分抽象而得到的最小粒度的任务,使得尽量保证一个任务只负责完成一个功能。任务列表中的任务的显示可包括任务ID或任务名称。此外,任务的显示还可包括任务类型,例如,Java、Python、Shell及Dag。
其中,可预先创建任务,即对一种或多种相对独立的算法、步骤、处理、阶段等进行封装,形成任务对应的任务模板。即,每个任务模板都可以是对一种或多种相对独立的算法、步骤、处理、阶段等的封装。可选的,每个任务可以由三部分构成,任务的输入,任务的输出以及自定义的处理脚本,每个任务可以用一个唯一标示来表示。
可以预先通过可视化界面,接收开发人员对目标任务模板的创建操作,以创建目标任务模板,则在编排时,创建有目标任务模板的目标任务能够被显示在任务列表中。
本发明的实施例中,每个任务可以抽象出业务流程的某个环节所涉及到的共性问题,而具体到业务流程的实际情况和个性问题,则可以在任务中预留出相应的参数或接口,由开发人员根据实际情况配置,从而使任务兼具通用性与灵活性。
开发人员可以在可视化界面中分类查看或搜索任务列表中的各种任务,并根据需要从中选择所需的任务作为目标任务。作为目标业务流程的组成元素,本步骤中选择出的目标任务的数量可以为1个、2个或更多个。
编排是对计算机系统、应用及服务的自动化配置、管理和协调。本步骤中,通过对目标任务的编排操作能够生成开发人员所要开发的目标业务流程。
在本发明的实施例中,开发人员可以在图形化界面中定义各种任务、可视化定义任务之间的关系、运行参数、运行策略、生命周期等。通过可视化的界面交互操作,可以使开发人员通过拖拽等的方式,可视化构建任务间的流程编排关系,使得操作、展示更加直观。
可选的,根据开发人员在所述可视化界面的操作,从所述任务列表中选择至少一个任务作为目标任务具体可以包括:通过所述可视化界面,接收开发人员将所述任务列表中选择的目标任务拖拽到所述可视化界面的预定区域的操作,在所述预定区域显示所述目标任务对应的目标任务节点。
基于此,通过所述可视化界面接收开发人员对所述目标任务的编排操作,以创建利用所述目标任务编排而成的目标业务流程模板具体可以包括:通过所述可视化界面接收所述开发人员在各所述目标任务节点之间的连线操作和所述开发人员对各所述目标任务的参数配置;根据所述连线操作确定各所述目标任务之间的依赖关系;根据所述目标任务、所述依赖关系和所述配置的参数,创建所述目标业务流程模板。
也即是说,本发明的实施例中,开发人员可以在目标任务之间进行连线操作,线的一端是上游任务的输出,另一端是下游任务的输入。通过不同任务之间的连线,即可定义出各个任务的执行顺序和前后依赖关系,这种执行顺序和依赖关系使各种任务串联形成了流程。如果需要调整业务流程,则只需调整各任务之间的连线即可,操作非常便捷高效。
除了可以接收开发人员在各目标任务之间进行连线操作之外,在本发明的一个实施例中,还可以接收开发人员对每个任务的参数配置。例如,目标任务job1中包括三个参数a、b、c,开发人员可以在可视化界面中为a、b、c分别赋值为a1、b1、c1,还可以对目标任务job1进行复用,并对其中的三个参数a、b、c分别赋值为a2、b2、c2。
可选的,在本发明的一个实施例中,任务也可以不含有配置参数或者采用默认的配置参数。
本发明的实施例提供的业务运行方法,可以将开发人员意欲呈现的业务流程映射到任务列表中的任务,也即是将一个大流程拆分成很多小任务,通过编排小任务来完成大流程。这样一来,两个任务模板在画布上用一根线牵联在一起,线的一端是一个任务的输出,另一端连另一个的任务的输入,整个任务运行的进度会及时的反应在画布上,使整个流程逻辑清晰,可读性非常高,不需要读代码就可以理解离线流程,大大降低了维护成本。
而且,由于任务之间都是通过输入和输出联系起来的,耦合度非常低,这就使任务的复用度有效提高,而替换任务的成本大大降低,整个流程变得更灵活。开发人员看似特别复杂的需求,在之前可能要涉及改代码,发版等一系列复杂的流程,并且需要做大量的测试来确保修改的地方不会影响其他子流程,采用了本发明的技术方案后,这些流程通通可以省掉,并且影响范围可以控制到最小。
本发明的实施例中,任务列表中提供有多种任务,而开发人员选择何种任务进行编排,与其所面对的具体开发任务密切相关。为了帮助开发人员创建合适的目标业务流程,在本发明的一个实施例中,根据开发人员在所述可视化界面的操作,从所述任务列表中选择至少一个任务作为目标任务具体可以包括:通过所述开发人员在所述可视化界面的操作,接收所述待运行业务的输入约束条件和输出约束条件;根据所述输入约束条件和所述输出约束条件,从所述任务列表中选择至少一个所述任务作为目标任务。
其中,输入约束条件可以用于描述目标业务流程需要输入怎样的数据,输出约束条件可以用于描述目标业务流程输出怎样的数据,则系统可以根据对输入数据和输出数据的描述,从任务列表中选择一个或更多任务作为目标任务。举例而言,在本发明的一个实施例中,目标业务流程为根据用户购买行为的历史数据,训练出用户是否会买某件商品的模型,则对应的输入约束条件可以包括购买行为的历史数据的属性描述,对应的输出约束条件可以包括决策是否会购买某项商品的描述。
由于开发人员意欲实现的目标业务流程可能是各种规模的业务流程,为了兼顾开发效率和开发的灵活性,任务列表中的各种任务也可以基于不同的封装规模,也即基于不同的封装层级。例如,在本发明的一个实施例中,任务列表中的各任务可以分为至少两个封装层级,其中,较高封装层级的任务由相邻的较低封装层级的任务编排而成。例如,一个模型A的训练过程可以是其中一个较高的封装层级,模型A中又可以包括:数据处理、标注、召回、排序等一系列较低的封装层级。
基于此,在本发明的一个实施例中,根据所述输入约束条件和所述输出约束条件,从所述任务列表中选择至少一个所述任务作为目标任务具体可以包括:根据所述输入约束条件和所述输出约束条件,确定所述目标任务对应的目标封装层级;从属于所述目标封装层级的备选任务中,选择至少一个备选任务作为所述目标任务。
举例而言,在本发明的一个实施例中,可以根据输入约束条件和输出约束条件,确定目标业务流程为如何进行数据处理,目标任务对应的目标封装层级为数据处理的下一级封装,该下一级封装的备选任务例如可以包括数据清洗任务、分词任务、语义分析任务等。这样,先确定了目标封装层级,再从目标封装层级中进行任务的筛选,能够大大缩减检索范围,有效提高任务的选择效率。
由于目标业务流程可能会随着需求的不同而产生各种变化,任务列表中的各种任务也不可能穷尽各种可能,因此,有可能会存在选择了目标任务后,某个目标任务并没有百分之百的契合目标业务流程的需求,从而需要对目标任务进行进一步调整。例如,在本发明的一个实施例中,从目标封装层级的备选任务模板中选择至少一个备选任务作为目标任务之后,本发明的实施例提供的业务运行方法还可以包括:若所述目标任务需要进一步调整,确定所述目标任务是否为最低封装层级的任务;在所述目标任务不是最低封装层级的任务的情况下,通过编排所述目标任务的下一封装层级的任务,调整所述目标任务。
也即是说,若目标任务是由下一个封装层级的任务编排而成的,那么当需要对目标任务进行调整时,可以对该下一个封装层级的任务重新编排调整,从而进一步提高了目标业务流程编排的灵活性。仍以如何进行数据处理的目标业务流程为例,若选择的目标任务为数据清洗任务、分词任务、语音识别任务、语义分析任务。其中,语义分析任务需要进一步调整,例如需要在语义分析任务中加入某种算法,则可以进入语义分析任务中,该语义分析任务是由各种算法任务编排而成,可以在其中添加上所需的算法并进行编排,生成新的语义分析任务作为组成目标业务流程的目标任务。
相应的,如图3所示,本发明的实施例还提供了一种业务运行装置,可以包括:
第一获取单元31,用于获取待运行业务对应的目标业务流程模板,所述目标业务流程模板中提供有所述目标业务流程中的目标任务和所述目标任务之间的依赖关系;
解析单元32,用于解析所述目标业务流程模板,确定所述目标业务流程中的各目标任务及所述各目标任务之间的依赖关系;
第二获取单元33,用于获取所述各目标任务对应的目标任务模板;
第三获取单元34,用于根据所述各目标任务对应的目标任务模板,获取各所述目标任务的任务实例;
第一确定单元35,用于根据所述目标任务之间的依赖关系,确定当前需要执行的目标任务;
运行单元36,用于运行所述当前需要运行的目标任务的实例。
本发明的实施例提供的业务运行装置,能够获取待运行业务对应的目标业务流程模板,所述目标业务流程模板中提供有所述目标业务流程中的目标任务和所述目标任务之间的依赖关系;解析所述目标业务流程模板,确定所述目标业务流程中的各目标任务及所述各目标任务之间的依赖关系;获取所述各目标任务对应的目标任务模板;根据所述各目标任务对应的目标任务模板,获取各所述目标任务的任务实例;根据所述目标任务之间的依赖关系,确定当前需要执行的目标任务;运行所述当前需要运行的目标任务的实例。这样,由于目标业务流程都是由相互具有依赖关系的目标任务组成,目标业务流程的实现过程无需编写代码,而只需对已经封装好的各种任务进行可视化的编排操作即可,因此可以使得业务流程的逻辑结构更加清晰,也更有利于各种任务在同一个业务流程中或在不同业务流程之间进行复用,从而使业务流程的维护难度大大降低,灵活性有效提高。
可选的,第一获取单元31可以包括:
第一接收模块,接收用户的业务运行请求,所述业务运行请求中携带有待运行业务的标识;
获取模块,用于根据所述待运行业务的标识,获取待运行业务对应的目标业务流程模板。
可选的,第二获取单元33,具体用于从预先创建的任务模板库中,获取所述各目标任务对应的目标任务模板。
可选的,运行单元36包括:
第一确定模块,用于确定所述当前需要执行的目标任务的上游目标任务是否执行完成;
运行模块,用于所述当前需要执行的目标任务的上游目标任务执行完成,基于所述上游任务的执行结果,运行所述当前需要运行的目标任务的实例。
可选的,所述运行模块包括:
启动子模块,用于启动所述当前需要运行的目标任务的运行环境;
提交子模块,用于将所述当前需要运行的目标任务的实例提交到所述启动的运行环境中,以基于所述上游任务的执行结果,运行所述当前需要运行的目标任务的实例。
可选的,所述目标业务流程中的各目标任务的运行环境彼此相同或不同。
可选的,所述业务运行装置还包括:
提供单元,用于在获取待运行业务对应的目标业务流程模板前,通过可视化界面,向开发人员提供任务列表;
选择单元,用于根据开发人员在所述可视化界面的操作,从所述任务列表中选择至少一个任务作为目标任务;
第一接收单元,用于通过所述可视化界面接收开发人员对所述目标任务的编排操作,以创建利用所述目标任务编排而成的目标业务流程模板。
可选的,所述选择单元包括:
第二接收模块,用于通过所述可视化界面,接收开发人员将所述任务列表中选择的目标任务拖拽到所述可视化界面的预定区域的操作,在所述预定区域显示所述目标任务对应的目标任务节点;
所述第一接收单元包括:
第三接收模块,用于通过所述可视化界面接收所述开发人员在各所述目标任务节点之间的连线操作和所述开发人员对各所述目标任务的参数配置;
第二确定模块,用于根据所述连线操作确定各所述目标任务之间的依赖关系;
创建模块,用于根据所述目标任务、所述依赖关系和所述配置的参数,创建所述目标业务流程模板。
可选的,所述业务运行装置还可以包括:
第二接收单元,用于通过可视化界面,接收开发人员对目标任务模板的创建操作,以创建所述目标任务模板;其中,创建有目标任务模板的目标任务能够被显示在所述任务列表中。
可选的,所述选择单元包括:
第四接收模块,用于通过所述开发人员在所述可视化界面的操作,接收所述待运行业务的输入约束条件和输出约束条件;
选择模块,用于根据所述输入约束条件和所述输出约束条件,从所述任务列表中选择至少一个所述任务作为目标任务。
可选的,所述任务列表中的各任务分为至少两个封装层级,其中,较高封装层级的任务由相邻的较低封装层级的任务编排而成;
所述选择模块包括:
确定子模块,用于根据所述输入约束条件和所述输出约束条件,确定所述目标任务对应的目标封装层级;
选择子模块,用于从属于所述目标封装层级的备选任务中,选择至少一个备选任务作为所述目标任务。
可选的,所述业务运行装置还包括:
第二确定单元,用于在从属于所述目标封装层级的备选任务中,选择至少一个备选任务作为所述目标任务之后,若所述目标任务需要进一步调整,确定所述目标任务是否为最低封装层级的任务;
调整单元,在所述目标任务不是最低封装层级的任务的情况下,通过编排所述目标任务的下一封装层级的任务,调整所述目标任务。
以上图2示出的具体操作可由图3的装置中的各个单元来执行,这里,对于具体操作细节将不再赘述。
相应的,本发明实施例提供一种电子设备,能够使业务流程的维护难度大大降低,灵活性有效提高。
如图4所示,本发明的实施例提供的一种电子设备,可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的业务运行方法。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
该电子设备以多种形式存在,可具有单机或分布式的运算结构,本发明对此不作限制。
相应的,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种业务运行方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种业务运行方法,其特征在于,包括:
获取待运行业务对应的目标业务流程模板,所述目标业务流程模板中提供有所述目标业务流程中的目标任务和所述目标任务之间的依赖关系;
解析所述目标业务流程模板,确定所述目标业务流程中的各目标任务及所述各目标任务之间的依赖关系;
获取所述各目标任务对应的目标任务模板;
根据所述各目标任务对应的目标任务模板,获取各所述目标任务的任务实例;
根据所述目标任务之间的依赖关系,确定当前需要执行的目标任务;
运行所述当前需要运行的目标任务的实例。
2.根据权利要求1所述的方法,其特征在于,所述获取待运行业务对应的目标业务流程模板包括:
接收用户的业务运行请求,所述业务运行请求中携带有待运行业务的标识;
根据所述待运行业务的标识,获取待运行业务对应的目标业务流程模板。
3.根据权利要求1所述的方法,其特征在于,所述获取所述各目标任务对应的目标任务模板包括:
从预先创建的任务模板库中,获取所述各目标任务对应的目标任务模板。
4.根据权利要求1所述的方法,其特征在于,所述运行所述当前需要运行的目标任务的实例包括:
确定所述当前需要执行的目标任务的上游目标任务是否执行完成;
若是,基于所述上游任务的执行结果,运行所述当前需要运行的目标任务的实例。
5.根据权利要求4所述的方法,其特征在于,
所述根据所述上游任务的执行结果,运行所述当前需要运行的目标任务的实例包括:
启动所述当前需要运行的目标任务的运行环境;
将所述当前需要运行的目标任务的实例提交到所述启动的运行环境中,以基于所述上游任务的执行结果,运行所述当前需要运行的目标任务的实例。
6.根据权利要求5所述的方法,其特征在于,所述目标业务流程中的各目标任务的运行环境彼此相同或不同。
7.根据权利要求1-6任一项所述的方法,其特征在于,在所述获取待运行业务对应的目标业务流程模板前,所述方法还包括:
通过可视化界面,向开发人员提供任务列表;
根据开发人员在所述可视化界面的操作,从所述任务列表中选择至少一个任务作为目标任务;
通过所述可视化界面接收开发人员对所述目标任务的编排操作,以创建利用所述目标任务编排而成的目标业务流程模板。
8.一种业务运行装置,其特征在于,包括:
第一获取单元,用于获取待运行业务对应的目标业务流程模板,所述目标业务流程模板中提供有所述目标业务流程中的目标任务和所述目标任务之间的依赖关系;
解析单元,用于解析所述目标业务流程模板,确定所述目标业务流程中的各目标任务及所述各目标任务之间的依赖关系;
第二获取单元,用于获取所述各目标任务对应的目标任务模板;
第三获取单元,用于根据所述各目标任务对应的目标任务模板,获取各所述目标任务的任务实例;
第一确定单元,用于根据所述目标任务之间的依赖关系,确定当前需要执行的目标任务;
运行单元,用于运行所述当前需要运行的目标任务的实例。
9.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1至7任一项所述的业务运行方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述权利要求1至7中任一项所述的业务运行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011568814.7A CN114691122A (zh) | 2020-12-25 | 2020-12-25 | 一种业务运行方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011568814.7A CN114691122A (zh) | 2020-12-25 | 2020-12-25 | 一种业务运行方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114691122A true CN114691122A (zh) | 2022-07-01 |
Family
ID=82129776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011568814.7A Pending CN114691122A (zh) | 2020-12-25 | 2020-12-25 | 一种业务运行方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114691122A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048156A (zh) * | 2022-08-12 | 2022-09-13 | 北京拓普丰联信息科技股份有限公司 | 一种业务决策的确定方法、装置、电子设备及存储介质 |
CN117234489A (zh) * | 2023-11-14 | 2023-12-15 | 云筑信息科技(成都)有限公司 | 一种基于业务流程实现动态模块编排的方法 |
-
2020
- 2020-12-25 CN CN202011568814.7A patent/CN114691122A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115048156A (zh) * | 2022-08-12 | 2022-09-13 | 北京拓普丰联信息科技股份有限公司 | 一种业务决策的确定方法、装置、电子设备及存储介质 |
CN115048156B (zh) * | 2022-08-12 | 2022-11-08 | 北京拓普丰联信息科技股份有限公司 | 一种业务决策的确定方法、装置、电子设备及存储介质 |
CN117234489A (zh) * | 2023-11-14 | 2023-12-15 | 云筑信息科技(成都)有限公司 | 一种基于业务流程实现动态模块编排的方法 |
CN117234489B (zh) * | 2023-11-14 | 2024-03-15 | 云筑信息科技(成都)有限公司 | 一种基于业务流程实现动态模块编排的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112394922B (zh) | 决策配置方法、业务决策方法和决策引擎系统 | |
WO2021114530A1 (en) | Hardware platform specific operator fusion in machine learning | |
US8452714B2 (en) | System and method for the automatic creation of a graphical representation of navigation paths generated by intelligent planner | |
CN112764736B (zh) | 一种web端流程图建模方法、设备和系统 | |
CN114691122A (zh) | 一种业务运行方法、装置、电子设备及存储介质 | |
CN113781149B (zh) | 信息推荐方法、装置、计算机可读存储介质及电子设备 | |
US12001823B2 (en) | Systems and methods for building and deploying machine learning applications | |
CN113721898A (zh) | 机器学习模型部署方法、系统、计算机设备及存储介质 | |
CN118093801A (zh) | 基于大语言模型的信息交互方法、装置以及电子设备 | |
US11262986B2 (en) | Automatic software generation for computer systems | |
CN114860218A (zh) | 一种低代码开发方法和装置 | |
Voigt et al. | Using expert and empirical knowledge for context-aware recommendation of visualization components | |
CN117234488A (zh) | 基于epc模型的智能法律合约生成方法及装置 | |
CN114610273A (zh) | Ai模型的实现方法、电子设备及存储介质 | |
EP3432144A1 (en) | A computer-implemented method and system for automatically recommending a code modification | |
Panda et al. | Test scenario prioritization for object-oriented systems using UML diagram | |
Soude et al. | A model driven approach for unifying user interfaces development | |
CN113885844A (zh) | 一种业务服务编排方法及相关装置 | |
CN112612481A (zh) | 一种智能中台的系统架构 | |
CN110333844A (zh) | 计算公式处理方法及装置 | |
Atencio et al. | Automatic generation of web applications for information systems | |
US20240231891A9 (en) | Automatic workflow generation and optimization | |
US20230418831A1 (en) | Generating a customer journey based on reasons for customer interactions and times between customer interactions | |
Setiadi et al. | Design and Development of Assets Management System Using Spring Webflux and Command Pattern | |
Baldoni et al. | Programming goal-driven web sites using an agent logic language |
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 |