CN114518908A - 服务编排方法、介质、装置和计算设备 - Google Patents
服务编排方法、介质、装置和计算设备 Download PDFInfo
- Publication number
- CN114518908A CN114518908A CN202210147997.8A CN202210147997A CN114518908A CN 114518908 A CN114518908 A CN 114518908A CN 202210147997 A CN202210147997 A CN 202210147997A CN 114518908 A CN114518908 A CN 114518908A
- Authority
- CN
- China
- Prior art keywords
- node
- target
- service
- target nodes
- nodes
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000004044 response Effects 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims description 47
- 238000012360 testing method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 23
- 238000010586 diagram Methods 0.000 description 25
- 238000011144 upstream manufacturing Methods 0.000 description 13
- 238000012217 deletion Methods 0.000 description 8
- 230000037430 deletion Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- SPBWHPXCWJLQRU-FITJORAGSA-N 4-amino-8-[(2r,3r,4s,5r)-3,4-dihydroxy-5-(hydroxymethyl)oxolan-2-yl]-5-oxopyrido[2,3-d]pyrimidine-6-carboxamide Chemical compound C12=NC=NC(N)=C2C(=O)C(C(=O)N)=CN1[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O SPBWHPXCWJLQRU-FITJORAGSA-N 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开的实施方式提供了一种服务编排方法、介质、装置和计算设备。通过终端设备提供编排界面,编排界面上包括节点类型区域、编辑区域和节点配置区域,节点类型区域包括不同类型的节点控件,该方法包括:响应于从多个目标节点控件至编辑区域的拖动操作,在编辑区域显示多个目标节点;响应于在节点配置区域针对多个目标节点的配置操作,确定多个目标节点的属性;响应于在编辑区域针对各目标节点之间的拖动操作,确定多个目标节点之间的连接关系;响应于针对编排界面上的保存控件的触控操作,向服务器发送保存请求,保存请求用于指示服务器根据多个目标节点的属性和连接关系,生成DAG编排服务文件。降低了服务编排过程的复杂度。
Description
技术领域
本公开的实施方式涉及计算机技术领域,更具体地,本公开的实施方式涉及一种服务编排方法、介质、装置和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
数据服务作为统一数据中台建设的最上层,无需关注底层数据存储和计算的细节,能够将数据仓库的数据以服务化、接口化的方式提供给数据使用方,提升数据利用率。
在数据服务中,通常涉及到调用多个数据服务实现一个大的数据服务,此时需要对各种数据服务进行服务编排。服务编排指的是对各个数据服务进行开发,根据业务功能的需要扩展出相应的功能服务,并与API接口进行绑定,以API的形式对外提供服务的过程。
目前的数据编排服务,主要是根据业务功能的需要,在后台编辑代码来进行各个数据服务的组合,实现相应的服务,上述方案实现服务编排的过程较复杂。
发明内容
本公开提供一种服务编排方法、介质、装置和计算设备,以降低服务编排的复杂度。
在本公开实施方式的第一方面中,提供了一种服务编排方法,通过终端设备提供编排界面,所述编排界面上包括节点类型区域、编辑区域和节点配置区域,所述节点类型区域包括不同类型的节点控件,所述方法包括:
响应于从多个目标节点控件至所述编辑区域的拖动操作,在所述编辑区域显示所述多个目标节点;
响应于在所述节点配置区域针对所述多个目标节点的配置操作,确定所述多个目标节点的属性;
响应于在所述编辑区域针对各所述目标节点之间的拖动操作,确定所述多个目标节点之间的连接关系;
响应于针对所述编排界面上的保存控件的触控操作,向服务器发送保存请求,所述保存请求用于指示所述服务器根据所述多个目标节点的属性和所述连接关系,生成有向无环图DAG编排服务文件。
在本公开实施方式的第二方面中,提供了一种服务编排方法,包括:
从终端设备接收保存请求,所述保存请求中包括多个目标节点的属性和所述多个目标节点之间的连接关系;
根据所述多个目标节点的属性和所述连接关系,生成DAG编排服务文件。
在本公开实施方式的第三方面中,提供了一种服务编排装置,通过终端设备提供编排界面,所述编排界面上包括节点类型区域、编辑区域和节点配置区域,所述节点类型区域包括不同类型的节点控件,所述装置包括:
显示模块,用于响应于从多个目标节点控件至所述编辑区域的拖动操作,在所述编辑区域显示所述多个目标节点;
第一处理模块,用于响应于在所述节点配置区域针对所述多个目标节点的配置操作,确定所述多个目标节点的属性;
第二处理模块,用于响应于在所述编辑区域针对各所述目标节点之间的拖动操作,确定所述多个目标节点之间的连接关系;
收发模块,用于响应于针对所述编排界面上的保存控件的触控操作,向服务器发送保存请求,所述保存请求用于指示所述服务器根据所述多个目标节点的属性和所述连接关系,生成DAG编排服务文件。
在本公开实施方式的第四方面中,提供了一种服务编排装置,包括:
收发模块,用于从终端设备接收保存请求,所述保存请求中包括多个目标节点的属性和所述多个目标节点之间的连接关系;
处理模块,用于根据所述多个目标节点的属性和所述连接关系,生成DAG编排服务文件。
在本公开实施方式的第五方面中,提供了一种计算设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的服务编排方法,或者,使得所述至少一个处理器执行如第二方面任一项所述的服务编排方法。
在本公开实施方式的第六方面中,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面任一项所述的服务编排方法或者,实现如第二方面任一项所述的服务编排方法。
在本公开实施方式的第七方面中,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序;所述计算机程序被执行时实现如第一方面任一项所述的服务编排方法或者,实现如第二方面任一项所述的服务编排方法。
本公开实施例提供的服务编排方法、介质、装置和计算设备,通过终端设备提供编排界面,编排界面上包括节点类型区域、编辑区域和节点配置区域,节点类型区域包括不同类型的节点控件,首先响应于从多个目标节点控件至编辑区域的拖动操作,在编辑区域显示多个目标节点,然后响应于在节点配置区域针对多个目标节点的配置操作,确定多个目标节点的属性,并响应于在编辑区域针对各目标节点之间的拖动操作,确定多个目标节点之间的连接关系;在确定多个目标节点的属性和连接关系后,响应于针对编排界面上的保存控件的触控操作,向服务器发送保存请求,使得服务器根据多个目标节点的属性和连接关系生成DAG编排服务文件。本公开实施例的方案,提供了一种服务编排平台,通过该服务编排平台的编排界面上执行相应的界面操作,然后通过保存控件向服务器发送保存请求,来生成DAG编排服务文件,即可实现服务编排,无需通过后台编辑代码来进行数据服务的组合,而是通过拖动操作确定目标节点之间的连接关系以及目标节点的属性配置实现数据服务的组合,服务编排的过程较为简单。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1为一种服务编排的示意图一;
图2为一种服务编排的示意图二;
图3为本公开实施例提供的应用场景示意图;
图4为本公开实施例提供的一种服务编排方法的流程示意图;
图5为本公开实施例提供的一种编排界面示意图;
图6为本公开实施例提供的DAG示意图;
图7为本公开实施例提供的节点配置示意图;
图8为本公开实施例提供的目标节点删除示意图;
图9为本公开实施例提供的确定连接关系的示意图;
图10为本公开实施例提供的两种DAG图;
图11为本公开实施例提供的DAG图保存和执行架构示意图;
图12为本公开实施例提供的重试请求示意图一;
图13为本公开实施例提供的重试请求示意图二;
图14为本公开实施例提供的存储介质示意图;
图15为本公开实施例提供的一种服务编排装置的结构示意图;
图16为本公开实施例提供的一种服务编排装置的结构示意图;
图17为本公开实施例提供的计算设备的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本公开的实施方式,提出了一种服务编排方法、介质、装置和计算设备。在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
首先对本公开涉及的基础概念进行介绍。
API:Application Programming Interface,应用程序编程接口。
DAG:Directed Acyclic Graph,有向无环图,在图论中,如果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图。
服务编排:服务编排是一种通过简单的拖拉拽式流程编排以及参数配置的方式来进行服务开发的能力,并支持对已开发的服务重新进行组合编排。用户能够在服务编排编辑器内以图形化编排的形式快速地进行服务的开发并扩展出更丰富的业务功能,同时能够与API接口进行绑定,以API的形式对外提供服务。
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
发明概述
数据服务作为统一数据中台建设的最上层,能够屏蔽底层数据存储、计算的诸多细节,简化和加强数据的使用,将数据仓库数据以服务化、接口化的方式提供给数据使用方,同时避免烟囱式建设、加强数据API的开发和交付效率,提升数据利用率。
在对外提供数据服务时,通常需要根据业务功能对多个数据服务进行服务编排,以实现数据服务的开发,并将开发后的数据服务与API接口绑定,从而以API接口的形式提供数据服务。
下面结合图1和图2介绍相关技术中两种服务编排的实现方式。
图1为一种服务编排的示意图一。请参见图1,服务编排通过多个服务节点组成的工作流来实现,如图1中的API服务节点-1、API服务节点-2、API服务节点-3以及转换节点,其中,API服务节点用于进行数据处理,转换节点用于进行分支条件判断,各个服务节点通过调度引擎构成一个完整的工作流。在调用数据服务时,调度引擎将根据设定依次执行各个服务节点,传递服务节点输出的参数,并自动管理各个服务节点的状态转换。
图2为一种服务编排的示意图二。请参见图2,示例的服务编排由网关来执行,网关对数据进行处理和转换。当一个请求到达网关后,网关调用多个后端服务(如图2中示例的API服务节点-1、API服务节点-2、API服务节点-3等服务节点提供的服务),并在网关上对各个服务的返回数据进行处理操作(例如包括过滤、移动、重命名、封包、拆包等等),最后由网关将数据整合后返回给前端。
本发明人发现,图1示例的服务编排方案中,通过调度引擎调度各个服务节点,构成完整的工作流后,只能向下依次执行,是一种串行编排的方案,对于某个服务节点无法进行重试和异常检查,在数据服务出现异常时较难准确进行问题的定位。同时,图1示例的服务编排方案中的转换节点仅能进行较为简单的分支条件的判断,无法满足较复杂的条件判断需求。图2示例的服务编排方案,由网关来实现整个服务编排,API服务节点间的逻辑操作全部由网关处理,对于网关的依赖性比较强,属于高耦合的一种服务聚合操作,服务编排的可用性和灵活性较低。进一步的,上述图1和图2示例的服务编排方案,也需要根据业务功能在后台进行代码的编辑实现数据服务的组合,服务编排的过程较复杂。
在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
应用场景总览
首先参考图3介绍本公开的实施例的一种适用的应用场景。
图3为本公开实施例提供的应用场景示意图,如图3所示,包括终端设备31和服务器32,终端设备31作为前端提供编排界面,用于进行DAG图的构建,对服务编排进行拖拽式配置。
在终端设备31和服务器32之间,还可以包括nginx集群和API网关集群,其中,nginx集群可以看做是前端的一部分,主要用于执行接受请求、分发请求、响应请求等操作;API网关集群主要用于执行一些权限验证操作,以电商平台为例,若数据服务为查找订单信息,该数据服务的入参为订单编号,则订单编号和查找请求到达API网关集群后,API网关集群需要验证当前登录的用户账号、密码等等,在符合要求后才会将查找请求发送至服务器进行处理。
数据源用于存储数据服务的相关信息,缓存服务用于缓存一些历史查询过的信息,当需要查询某些信息时,可以先从缓存服务中查找,若缓存服务中没有该信息,则进一步从数据源中查找,并缓存至缓存服务中。通过缓存服务来缓存历史查询过的信息,能够提高查询信息的响应速度。时序数据库主要用于存储一些历史操作或者历史信息的时间,并根据时间先后顺序排列,API配置管理服务主要用于配置其他的管理服务,等等。
在图3的实施例中,示例了两种提供数据服务的方案,其中数据服务API中各个资源组提供不同的服务,各个资源组提供的服务未进行服务编排。API编排服务中进行了服务编排,最终由资源组A对外提供API接口,该数据服务可以根据服务编排调用其他资源组的服务,例如图3中调用了资源组A、资源组B、资源组N的服务。
示例性方法
下面结合图3的应用场景,参考图4来描述根据本公开示例性实施方式的服务编排方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
图4为本公开实施例提供的一种服务编排方法的流程示意图,通过终端设备提供编排界面,编排界面上包括节点类型区域、编辑区域和节点配置区域,节点类型区域包括不同类型的节点控件,如图4所示,该方法可以包括:
S41,响应于从多个目标节点控件至编辑区域的拖动操作,在编辑区域显示多个目标节点。
本公开的实施例的执行主体为终端设备,终端设备例如可以为手机、电脑、平板等等,终端设备上显示用于进行服务编排的编排界面。
图5为本公开实施例提供的一种编排界面示意图,如图5所示,在编排界面50上包括节点类型区域51、编辑区域52和节点配置区域53。其中,节点类型区域51中包括不同类型的节点控件,节点类型例如可以包括开始节点、条件节点、API节点等等。在图5中,示例了位于节点类型区域51的API节点控件511和条件节点控件512。
由于服务编排是由多个服务节点组成的,因此,可以根据业务功能的需要,设置多个目标节点作为服务节点。具体的,可以执行从多个目标节点控件至编辑区域52的拖动操作,使得多个目标节点显示在编辑区域52。
以图5中的API节点为例,可以将终端设备的光标移动至API节点控件511,然后点击API节点控件511并拖动至编辑区域52后,编辑区域52将显示一个API节点,该API节点即为多个目标节点中的一个。
对于任意一个目标节点,均可以根据该目标节点对应的目标节点控件,执行从目标节点控件至编辑区域52的拖动操作,从而在编辑区域显示相应的目标节点。
S42,响应于在节点配置区域针对多个目标节点的配置操作,确定多个目标节点的属性。
不同类型的目标节点具有不同的属性,例如,开始节点的属性包括入参,API节点的属性包括数据处理信息。相同类型的目标节点的属性也可能不同,以条件节点为例,若多个目标节点中包括两个条件节点,这两个条件节点可能包括不同的判断条件,这些不同的判断条件即为两个条件节点不同的属性。
针对任意一个目标节点,可以在节点配置区域53来配置该目标节点的属性。其中,不同类型的目标节点在节点配置区域53可以配置的属性项可能不同,例如,针对开始节点而言,在节点配置区域53只需要输入入参即可,针对条件节点而言,在节点配置区域53可能需要输入该条件节点的判断条件,以及根据判断结果执行的分支等等。
S43,响应于在编辑区域针对各目标节点之间的拖动操作,确定多个目标节点之间的连接关系。
将多个目标节点控件拖动至编辑区域后,在编辑区域会显示多个目标节点,这多个目标节点是处于零散状态的,因此需要在编辑区域52执行针对各目标节点之间的拖动操作,来确定多个目标节点之间的连接关系,使得各个目标节点连贯成为一个整体。
需要说明的是,S41、S42和S43之间的执行并不限定严格的先后顺序,针对多个目标节点而言,可以先执行S41,待多个目标节点均显示在编辑区域52后,然后依次对各个目标节点进行配置操作,确定各目标节点的属性,属性配置完成后执行S43,确定连接关系;也可以在编辑区域显示某个目标节点后先执行该目标节点的配置操作,然后再通过拖动操作在编辑区域52显示下一个目标节点;也可以在编辑区域52显示某个目标节点后执行另一个目标节点的配置操作,等等。
即,目标节点控件至编辑区域52的拖动操作、目标节点的配置操作和各目标节点之间的拖动操作是可以穿插进行的,只要满足在对目标节点进行属性配置时该目标节点显示在编辑区域52,以及在执行针对各目标节点之间的拖动操作时,拖动操作针对的目标节点显示在编辑区域52即可。
S44,响应于针对编排界面上的保存控件的触控操作,向服务器发送保存请求,保存请求用于指示服务器根据多个目标节点的属性和连接关系,生成DAG编排服务文件。
终端设备上执行的S41-S43步骤均为前端的执行步骤,在服务编排完成后,可以点击编排界面50上的保存控件,终端设备响应于针对保存控件的触控操作,向服务器发送保存请求,保存请求中包括多个目标节点的属性和连接关系,其中,多个节点的属性即为S42中通过配置操作为各个目标节点配置的属性,多个目标节点之间的连接关系即为根据S43中针对各目标节点之间的拖动操作确定的连接关系。
服务器在接收到保存请求后,可以获取多个目标节点的属性以及多个目标节点之间的连接关系,然后根据多个目标节点的属性以及多个目标节点之间的连接关系生成DAG编排服务文件,DAG编排服务文件可以用于对外提供数据服务。例如,在输入入参后,根据DAG编排服务文件中记录的目标节点的属性对入参进行处理,然后根据各目标节点之间的连接关系传递目标节点输出的参数至下一个目标节点,直至最终输出对该入参的处理结果。
通过图4所示的实施例,终端设备实现了服务编排,确定了多个目标节点的属性和连接关系。下面对服务器生成DAG编排服务文件的过程进行说明。
终端设备在确定多个目标节点的属性和多个目标节点之间的连接关系后,响应于针对保存控件的触控操作,向服务器发送保存请求,保存请求中包括这多个目标节点的属性和多个目标节点之间的连接关系。
保存请求用于触发服务器生成DAG编排服务文件,服务器在从终端设备接收到保存请求后,能够获取到多个目标节点的属性和多个目标节点之间的连接关系,然后根据多个目标节点的属性和连接关系,生成DAG编排服务文件。
DAG编排服务文件用于记录终端设备的编排结果,DAG编排服务文件中可以包括服务编排的基本信息,还包括记录的目标节点的属性和多个目标节点之间的连接关系。DAG编排服务文件可以对外提供数据服务,当输入入参后,DAG编排服务文件可以根据记录的目标节点的属性以及目标节点之间的连接关系对入参进行处理,最终输出DAG编排服务文件对该入参的处理结果。
DAG编排服务文件表示多个目标节点以及目标节点之间的连接关系构成一个DAG图,图6为本公开实施例提供的DAG示意图,如图6所示,从开始节点转到条件节点,然后转到API节点1和/或API节点2,然后API节点1和/或API节点2转到脚本节点3,最终到达结束节点,各个目标节点之间构成DAG图,图6示例的DAG图在点击保存后,可以触发服务器根据各个目标节点的属性和连接关系生成DAG编排服务文件。若在图6示例的目标节点中,从开始节点转到条件节点,然后转到API节点1和/或API节点2,然后API节点1和/或API节点2转到脚本节点3,脚本节点3转到开始节点,则未构成DAG图,因此是不符合要求的,无法根据上述目标节点的属性和连接关系生成DAG编排服务文件。
本公开实施例提供的服务编排方法,通过终端设备提供编排界面,编排界面上包括节点类型区域、编辑区域和节点配置区域,节点类型区域包括不同类型的节点控件,首先响应于从多个目标节点控件至编辑区域的拖动操作,在编辑区域显示多个目标节点,然后响应于在节点配置区域针对多个目标节点的配置操作,确定多个目标节点的属性,并响应于在编辑区域针对各目标节点之间的拖动操作,确定多个目标节点之间的连接关系;在确定多个目标节点的属性和连接关系后,响应于针对编排界面上的保存控件的触控操作,向服务器发送保存请求,使得服务器根据多个目标节点的属性和连接关系生成DAG编排服务文件。本公开实施例的方案,提供了一种服务编排平台,通过该服务编排平台的编排界面上执行相应的界面操作,然后通过保存控件向服务器发送保存请求,来生成DAG编排服务文件,即可实现服务编排,无需通过后台编辑代码来进行数据服务的组合,而是通过拖动操作确定目标节点之间的连接关系以及目标节点的属性配置实现数据服务的组合,服务编排的过程较为简单。
在上述任意一个实施例的基础上,结合下述实施例,对服务编排过程进行详细说明。
首先结合图7对目标节点的属性配置过程进行介绍。图7为本公开实施例提供的节点配置示意图,如图7所示,在编排界面70上,针对显示在编辑区域的任意一个目标节点,可以点击该目标节点,终端设备响应于针对该目标节点的触控操作,显示该目标节点的编辑控件。
在图7中示例了对开始节点71的编辑过程,在点击开始节点71后,编辑区域上显示了开始节点71的编辑控件72,编辑控件72用于触发对开始节点71的编辑步骤。在编辑控件72中包括测试节点子控件73,测试节点子控件73用于触发对开始节点71的属性配置步骤,可以点击该测试节点子控件73,终端设备响应于针对该测试节点子控件73的触控操作,在节点配置区域显示目标节点对应的属性设置界面,如图7中所示的该开始节点71的属性设置界面74。其中,属性设置界面为编排界面的子界面。
可以在属性设置界面对目标节点的属性进行配置,配置完成后,终端设备响应于针对属性设置界面的配置操作,确定目标节点的属性。目标节点主要有开始节点、任务节点、条件节点和结束节点,其中任务节点又包括API节点和脚本节点。针对不同类型的目标节点而言,可以包括相同的属性配置项,例如节点名称,而各个目标节点也可以包括各自不同的属性配置项。下面将针对不同类型的节点进行各自不同的属性配置项的介绍。
开始节点为每个服务编排的DAG图中均存在的节点,开始节点只接收入参,不执行业务逻辑,因此开始节点的属性配置主要包括入参的配置。具体的,在开始节点的属性设置界面上,可以包括入参输入框,在入参输入框可以输入相应的入参,终端设备响应于在入参输入框的输入操作,根据输入的数据确定开始节点的入参。
如图7中示例的针对开始节点的属性设置界面74,入参输入框也可以进一步包括参数名称、参数类型、输入值、默认值中的至少一项,也可以根据需要添加或删除某些属性配置项,等等。以电商平台查询订单信息为例,此时的入参可以为订单编号,则根据需要查询的订单,在入参输入框输入该订单编号即可,参数名称例如可以为订单编号,参数类型例如可以为整数型,等等。
API节点是用于进行数据处理的节点,API节点的属性配置项包括数据处理信息,在API节点的属性设置界面上包括API输入框,可以在API输入框里输入相应的脚本,终端设备响应于在属性设置界面的API输入框的输入操作,根据输入的脚本确定API节点对应的数据处理信息。
脚本节点是用于进行数据加工的节点,脚本节点的属性配置项包括数据加工信息,在脚本节点的属性设置界面上包括脚本输入框,可以在脚本输入框里输入相应的脚本,终端设备响应于在属性设置界面的脚本输入框的输入操作,根据输入的脚本确定脚本节点对应的数据加工信息。
条件节点是用于进行流转条件判断的节点,与连接的目标节点的边相关联,用于判断是否需要执行下游的目标节点。在条件节点的属性设置界面上包括条件输入框,可以在条件输入框里输入判断条件,终端设备响应于在属性设置界面的条件输入框的输入操作,根据输入的判断条件确定条件节点的条件信息。输入的判断条件可以是规则表达式,也可以是Python、groovy等脚本语言,若判断条件是脚本语言,则对于脚本的执行可能需要引入开源的执行器。
结束节点也为每个服务编排的DAG图中均存在的节点,结束节点用于汇总任务节点的处理结果并输出,结束节点的属性配置项例如可以包括汇总信息。在结束节点的属性设置界面上,可以包括汇总信息输入框,在汇总信息输入框中可以输入汇总信息,汇总信息用于指示如何对任务节点的处理结果进行汇总,从而输出结果。
在上述实施例中介绍了通过从目标节点控件至编辑区域的拖动操作来添加目标节点以及配置目标节点的属性的过程,当编辑区域存在多余的目标节点时,也可以对目标节点进行删除。
图8为本公开实施例提供的目标节点删除示意图,如图8所示,针对开始节点71,在点击开始节点71后,编辑区域显示编辑控件72,编辑控件72中除了包括测试节点子控件73外,还可以包括删除子控件80,删除子控件80用于触发对开始节点71的删除。
针对任意一个目标节点,可以点击该目标节点对应的删除子控件,终端设备响应于针对该删除子控件的触控操作,停止在编辑区域显示该目标节点。如图8中,点击删除子控件80后,开始节点71被删除,不再显示在编辑区域。
在上述实施例中介绍了目标节点的属性配置的过程,下面将结合图9介绍确定目标节点之间的连接关系的过程。本公开实施例中,终端设备是通过目标节点之间的有向连接线来确定目标节点之间的连接关系的。具体的,针对多个目标节点内的第一目标节点和第二目标节点,可以从第一目标节点拖动至第二目标节点,终端设备响应于从第一目标节点至第二目标节点的拖动操作,显示从第一目标节点至第二目标节点的有向连接线。
图9为本公开实施例提供的确定连接关系的示意图,如图9所示,在编辑区域52显示了多个目标节点,包括开始节点、条件节点、两个API节点、脚本节点和结束节点。
在连接多个目标节点内的第一目标节点和第二目标节点时,可以将终端设备的光标移动至第一目标节点,然后点击拖动该光标至第二目标节点,完成第一目标节点至第二目标节点之间的有向连接线。图9左边示例的是游离的多个目标节点,右边示例的是通过有向连接线的连接的多个目标节点。
目标节点之间并非可以任意连线,而是需要满足一定的预设规则,这些预设规则为DAG构建约束。只有在满足预设规则时,才能够在编辑区域显示从第一目标节点至第二目标节点的有向连接线。下面将结合示例对预设规则进行介绍。
本公开实施例中的预设规则主要包括如下六项:
第一项-第一目标节点为开始节点时,第二目标节点为非结束节点。
第一项规则表示的是结束节点的上游不能为开始节点,即开始节点和结束节点之间不能直接连接。由于开始节点是用于接收入参的,而结束节点是用于汇总任务节点的处理结果的,如果开始节点的下游直接连接结束节点,则入参会直接到达结束节点,没有任务节点对入参进行处理,这样的服务编排是无意义的。
第二项-第二目标节点为API节点时,第一目标节点为非API节点。
第二项规则表示的是API节点的上游不能再为API节点,即两个API节点之间不能直接连接。API节点是用于进行数据处理的,而脚本节点是用于进行数据加工的。例如,某个API节点是用于根据A数据判断用户的性别,该API节点对A数据进行处理后的输出结果为1或2,根据1或2无法直接得出用户的性别,此时就需要脚本节点对该API节点的输出结果进行数据加工。例如,将1加工为“男”,将2加工为“女”,等等。
综上,API节点的输出结果是不能直接使用的,需要通过脚本节点来对API节点的输出结果进行加工,才能输出数据供下一个API节点进行处理。因此,两个API节点不能直接连接。
第三项-第一目标节点为条件节点时,第二目标节点为非条件节点。
第三项规则表示的是条件节点的上游不可再为条件节点。本公开实施例中的条件节点的条件信息可以包括单个的规则表达式,也可以包括不同的规则表达式的排列组合,因此,如果存在多个判断条件,可以将这多个判断条件的条件信息均设置在一个条件节点的属性中,无需设置两个直接连接的条件节点。
第四项-第一目标节点的上一节点为API节点且第一目标节点为条件节点时,第二目标节点为非API节点。
第四项规则表示的是API节点的上游若为条件节点,则条件节点的上游不可再为API节点。条件节点的上游只能为开始节点,由于条件节点不能做业务逻辑的处理,不能对数据进行加工,如果条件节点的上游为API节点,API节点输出的数据条件节点无法进行处理,无法进行条件判断和流程流转。
第五项-若第一目标节点或第二目标节点为条件节点,指向条件节点的有向连接线的数量为1。
第五项规则表示的是条件节点的上游仅能有一个节点。若条件节点的上游有两个或以上的节点,即指向条件节点的有向连接线的数量大于1,则条件节点不知道应该根据上游哪个节点的数据进行条件判断,无法进行流程的流转,因此条件节点的上游只能有一个节点。
第六项-各目标节点和各目标节点之间的有向连接线构成DAG图。
第六项规则表示的是服务编排得到的是一个DAG图,即不允许发送自环。如果不是DAG图,即各目标节点之间的有向连接线形成自环了,则该自环的输出结果又成为下一目标节点的输入,使得服务编排无意义。
可选的,在编辑区域内,若存在游离节点,即该节点不与任何节点产生有向连接,则需要将该游离节点删除,或者与其他节点进行有向连接,从而保证整个服务编排构成DAG图。
图10为本公开实施例提供的两种DAG图,如图10所示,其中左边示例的是DAG长链路图,包括开始节点、条件节点,条件节点连接API节点1和API节点2,API节点1依次连接脚本节点1、API节点3、脚本节点3,API节点2依次连接脚本节点2、API节点4、脚本节点3,脚本节点3连接结束节点。右边示例的是DAG短链路图,包括开始节点、条件节点,条件节点连接API节点1和API节点2,API节点1和API节点2均连接脚本节点3,脚本节点3连接结束节点。
在服务编排完成后,可以点击编排界面上的保存控件,终端设备向服务器发送保存请求,服务器根据保存请求对编排的DAG图执行保存。图11为本公开实施例提供的DAG图保存和执行架构示意图,如图11所示,包括kong网关、服务器和调度器,kong网关的功能与图3实施例中的API网关的功能类似,此处不再赘述。服务器主要用于根据DAG图生成DAG编排服务文件。能力参ingress是一个入口,能够将编排的数据和缓存提供给kong网关。调度器可以调度执行单独的某个目标节点,也可以执行整个DAG图。
服务器在接收到终端设备发送的保存请求后,可以根据该保存请求生成DAG编排服务文件。具体的,服务器会根据多个目标节点的属性和多个目标节点之间的连接关系,将编辑区域的编排结果(即DAG图)转化为数据并存入三张关系型数据库表,这三张关系型数据库表分别是编排表、编排节点表和节点关联表。
表1为一种示例性的编排表,如表1所示,编排表主要用于记录DAG编排服务的基本信息,例如可以包括API标识、DAG标识、API名称等等。
表1
API标识 | DAG标识 | API名称 | API类型 | API协议 | 创建人 | 创建时间 |
1 | 1 | 组合测试 | 内部 | HTTP | 张三 | 2021-12-12 |
表2为一种示例性的编排节点表,如表2所示,编排节点表主要用于记录DAG编排服务的内容,例如可以包括DAG标识、DAG属性、DAG内容、调度规则、调度时间等等,其中,DAG内容包括DAG图中的各个目标节点的属性等等,调度规则例如可以指示调度执行该DAG图的时间或频率等等。
表2
DAG标识 | DAG属性 | DAG内容 | 调度规则 | 调度时间 |
1 | 并行 | {“”;””,””,””,”} | 0 0 0 1 1 | 2021-12-12 |
表3为一种示例性的节点关联表,如表3所示,节点关联表主要用于记录DAG编排服务的各个目标节点的属性和连接关系。如表3所示,节点类型标示了DAG图中的各个目标节点的节点类型,而节点值则标示了各个目标节点的属性和连接关系,节点关联表还可以包括节点标识、DAG标识、节点名称、重试次数、重试阈值等等。
表3
节点标识 | DAG标识 | 节点名称 | 节点类型 | 节点值 | 重试次数 | 重试阈值 |
1 | 1 | 开始节点 | 开始节点 | 0 | ||
2 | 1 | 条件节点 | 条件节点 | 0 | ||
3 | 1 | API-1 | API节点 | 1 | ||
4 | 1 | API-2 | API节点 | 1 | ||
5 | 1 | 脚本节点 | 脚本节点 | 1 | ||
6 | 1 | 结束节点 | 结束节点 | 0 |
在服务器根据保存请求生成DAG编排服务文件后,终端设备也可以触发DAG编排服务文件的运行。在编排界面上还包括运行控件,可以点击运行控件,终端设备响应于针对运行控件的触控操作,向服务器发送运行请求。
服务器在接收到运行请求后,由于DAG编排服务文件记录了各个目标节点的属性和连接关系,因此根据该运行请求和DAG编排服务文件对开始节点的入参进行处理,可以得到入参处理的输出结果,然后服务器将入参处理的输出结果返回给终端设备即可。
除了可以针对整个DAG图进行运行外,还可以针对部分DAG图的目标节点进行调试。具体的,可以选择多个目标节点中的至少一个目标节点,终端设备响应于针对这至少一个目标节点的选中操作,向服务器发送调试请求。服务器在接收到调试请求后,需要判断是执行单个目标记得还是执行整个链路。如果是执行单个目标节点,则无需使用调度器,直接调用API节点或脚本节点即可,如果是执行整个链路,则需要调度器拉取相关的节点的连接关系进行执行。
具体的,可以根据该调试请求和DAG编排服务文件获取这至少一个目标节点的属性,若选中的目标节点的数量有多个,还可以根据DAG编排服务文件获取选中的目标节点的连接关系,然后根据这至少一个目标节点的属性和/或至少一个目标节点的连接关系,得到至少一个目标节点对应的输出结果,完成对这至少一个目标节点的调试。
终端设备还可以响应于针对第三目标节点的重试操作,向服务器发送重试请求,第三目标节点可以是多个目标节点中的任意一个。服务器在接收重试请求后,可以根据重试请求和DAG编排服务文件,得到针对第三目标节点的第一DAG编排服务文件,并根据第一DAG编排服务文件得到第三目标节点对应的输出结果,从而将输出结果返回给终端设备。
具体的,服务器在接收到重试请求后,会先判断是执行第三目标节点的上游还是下游。
图12为本公开实施例提供的重试请求示意图一,如图12所示,如果编辑界面120上针对第三目标节点(即图12中的API节点1)的重试操作为第一重试操作,则终端设备响应于第一重试操作,在编辑区域显示虚拟结束节点,以及从第三目标节点至虚拟结束节点之间的有向连接线,然后根据第三目标节点、虚拟结束节点和从第三目标节点至虚拟结束节点之间的有向连接线,向服务器发送重试请求。
服务器接收到重试请求后,根据DAG编排服务文件获取第三目标节点的属性,然后根据第三目标节点的属性、虚拟结束节点的属性和从第三目标节点至虚拟结束节点之间的有向连接线,生成第一DAG编排服务文件,第一DAG编排服务文件对应的DAG图如图12中的虚线框示例。然后,根据第一DAG编排服务文件得到第三目标节点对应的输出结果并返回给终端设备即可。
图13为本公开实施例提供的重试请求示意图二,如图13所示,如果编辑界面130针对第三目标节点(即图13中的API节点1)的重试操作为第二重试操作,则终端设备响应于第二重试操作,在编辑区域显示虚拟开始节点,以及从虚拟开始节点至第三目标节点之间的有向连接线,然后根据虚拟开始节点、第三目标节点、从虚拟开始节点至第三目标节点之间的有向连接线、第三目标节点至结束节点之间的各节点和各有向连接线,向服务器发送重试请求。
服务器接收到重试请求后,根据DAG编排服务文件获取第三目标节点的属性,以及从第三目标节点至结束节点之间的各节点的属性和各有向连接线。然后,根据虚拟开始节点的属性、第三目标节点的属性、第三目标节点至结束节点之间的各节点的属性、从虚拟开始节点至第三目标节点之间的有向连接线、第三目标节点至结束节点之间的各节点和各有向连接线,生成第一DAG编排服务文件。第一DAG编排服务文件对应的DAG图如图13中的虚线框示例。然后,根据第一DAG编排服务文件得到第三目标节点对应的输出结果并返回给终端设备即可。
本公开实施例的方案,通过拖拽式和可视化的方式进行服务编排,无需额外编写代码即可完成多个服务的串行、并行和分支调用,大大降低了API服务的开发成本。由于多个数据服务的调用在同一个资源组内完成,每个资源组环境隔离、数据隔离,相比于自行编写和搭建工作流服务,本公开实施例的方案可有效降低服务调用的网络开销,显著提升服务调用性能。进一步的,由于前段的终端设备和后端的服务器均可以采用集群的方式实现,服务编排过程和调用过程可以基于云原生的容器化,能够实现动态伸缩,使得开发人员无需关注底层运行环境,也降低了服务编排的复杂度。
示例性介质
在介绍了本公开示例性实施方式的方法之后,接下来,参考图14对本公开示例性实施方式的存储介质进行说明。
参考图14所示,存储介质140中存储着根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备。
示例性装置
在介绍了本公开示例性实施方式的介质之后,接下来,参考图15和图16对本公开示例性实施方式的服务编排装置进行说明,用于实现上述任一方法实施例中的方法,其实现原理和技术效果类似,在此不再赘述。
图15为本公开实施例提供的一种服务编排装置的结构示意图,通过终端设备提供编排界面,所述编排界面上包括节点类型区域、编辑区域和节点配置区域,所述节点类型区域包括不同类型的节点控件,如图15所示,所述服务编排装置150包括:
显示模块151,用于响应于从多个目标节点控件至所述编辑区域的拖动操作,在所述编辑区域显示所述多个目标节点;
第一处理模块152,用于响应于在所述节点配置区域针对所述多个目标节点的配置操作,确定所述多个目标节点的属性;
第二处理模块153,用于响应于在所述编辑区域针对各所述目标节点之间的拖动操作,确定所述多个目标节点之间的连接关系;
收发模块154,用于响应于针对所述编排界面上的保存控件的触控操作,向服务器发送保存请求,所述保存请求用于指示所述服务器根据所述多个目标节点的属性和所述连接关系,生成DAG编排服务文件。
在一种可能的实施方式中,所述第一处理模块152具体用于:
针对任意一个目标节点,响应于针对所述目标节点的触控操作,显示所述目标节点的编辑控件,所述编辑控件中包括测试节点子控件;
响应于针对所述测试节点子控件的触控操作,在所述节点配置区域显示所述目标节点对应的属性设置界面,所述属性设置界面为所述编排界面的子界面;
响应于针对所述属性设置界面的配置操作,确定所述目标节点的属性。
在一种可能的实施方式中,所述目标节点为条件节点;所述第一处理模块152具体用于:
响应于在所述属性设置界面的条件输入框的输入操作,根据输入的判断条件确定所述条件节点的条件信息。
在一种可能的实施方式中,所述目标节点为API节点;所述第一处理模块152具体用于:
响应于在所述属性设置界面的API输入框的输入操作,根据输入的脚本确定所述API节点对应的数据处理信息。
在一种可能的实施方式中,所述目标节点为脚本节点;所述第一处理模块152具体用于:
响应于在所述属性设置界面的脚本输入框的输入操作,根据输入的脚本确定所述脚本节点对应的数据加工信息。
在一种可能的实施方式中,所述目标节点为开始节点;所述第一处理模块152具体用于:
响应于在所述属性设置界面的入参输入框的输入操作,根据输入的数据确定所述开始节点的入参。
在一种可能的实施方式中,所述编辑控件中还包括删除子控件,所述第一处理模块152还用于:
响应于针对所述删除子控件的触控操作,停止在所述编辑区域显示所述目标节点。
在一种可能的实施方式中,所述第二处理模块153具体用于:
针对所述多个目标节点内的第一目标节点和第二目标节点,响应于从所述第一目标节点至所述第二目标节点的拖动操作,在满足预设规则时,显示从所述第一目标节点至所述第二目标节点的有向连接线;
根据各所述目标节点之间的有向连接线,确定各所述目标节点之间的连接关系。
在一种可能的实施方式中,所述预设规则包括以下至少一项:
所述第一目标节点为开始节点时,所述第二目标节点为非结束节点;
所述第二目标节点为API节点时,所述第一目标节点为非API节点;
所述第一目标节点为条件节点时,所述第二目标节点为非条件节点;
所述第一目标节点的上一节点为API节点且所述第一目标节点为条件节点时,所述第二目标节点为非API节点;
若所述第一目标节点或所述第二目标节点为条件节点,指向所述条件节点的有向连接线的数量为1;
各所述目标节点和各所述目标节点之间的有向连接线构成DAG图。
在一种可能的实施方式中,所述编排界面上还包括运行控件,所述收发模块154还用于:
响应于针对所述运行控件的触控操作,向服务器发送运行请求;
从所述服务器接收所述DAG编排服务文件对开始节点的入参处理的输出结果。
在一种可能的实施方式中,所述收发模块154还用于:
响应于针对各所述目标节点中的至少一个目标节点的选中操作,向服务器发送调试请求;
从所述服务器接收所述至少一个目标节点对应的输出结果。
在一种可能的实施方式中,所述收发模块154还用于:
响应于针对各所述目标节点中的第三目标节点的重试操作,向服务器发送重试请求;
从所述服务器接收所述第三目标节点对应的输出结果。
在一种可能的实施方式中,所述收发模块154具体还用于:
响应于针对所述第三目标节点的第一重试操作,在所述编辑区域显示虚拟结束节点,以及从所述第三目标节点至所述虚拟结束节点之间的有向连接线;
根据所述第三目标节点、所述虚拟结束节点和从所述第三目标节点至所述虚拟结束节点之间的有向连接线,向所述服务器发送所述重试请求。
在一种可能的实施方式中,所述收发模块154具体还用于:
响应于针对所述第三目标节点的第二重试操作,在所述编辑区域显示虚拟开始节点,以及从所述虚拟开始节点至所述第三目标节点之间的有向连接线;
根据所述虚拟开始节点、所述第三目标节点、从所述虚拟开始节点至所述第三目标节点之间的有向连接线、所述第三目标节点至所述结束节点之间的各节点和各有向连接线,向所述服务器发送所述重试请求。
本公开实施例提供的服务编排装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图16为本公开实施例提供的一种服务编排装置的结构示意图,如图16所示,该服务编排装置160包括:
收发模块161,用于从终端设备接收保存请求,所述保存请求中包括多个目标节点的属性和所述多个目标节点之间的连接关系;
处理模块162,用于根据所述多个目标节点的属性和所述连接关系,生成DAG编排服务文件。
在一种可能的实施方式中,所述处理模块162具体用于:
根据所述多个目标节点的属性和所述连接关系,生成编排表、编排节点表和节点关联表;
所述编排表中包括DAG编排服务的基本信息;
所述编排节点表中包括所述DAG编排服务的内容;
所述节点关联表中包括所述DAG编排服务的各个目标节点的属性和连接关系。
在一种可能的实施方式中,所述收发模块161还用于:
从所述终端设备接收运行请求;
根据所述运行请求和所述DAG编排服务文件对开始节点的入参处理,得到所述入参处理的输出结果;
向所述终端设备发送所述入参处理的输出结果。
在一种可能的实施方式中,所述收发模块161还用于:
从所述终端设备接收针对所述多个目标节点中的至少一个目标节点的调试请求;
根据所述调试请求和所述DAG编排服务文件,获取所述至少一个目标节点的属性和/或所述至少一个目标节点之间的连接关系;
根据所述至少一个目标节点的属性和/或所述至少一个目标节点的连接关系,得到所述至少一个目标节点对应的输出结果;
向所述终端设备发送所述至少一个目标节点对应的输出结果。
在一种可能的实施方式中,所述收发模块161还用于:
从所述终端设备接收针对各所述目标节点中的第三目标节点的重试请求;
根据所述重试请求和所述DAG编排服务文件,得到针对所述第三目标节点的第一DAG编排服务文件;
根据所述第一DAG编排服务文件得到所述第三目标节点对应的输出结果;
向所述终端设备发送所述第三目标节点对应的输出结果。
在一种可能的实施方式中,所述重试请求中包括虚拟结束节点的属性和所述第三目标节点至所述虚拟结束节点之间的有向连接线;所述收发模块161具体还用于:
根据所述DAG编排服务文件获取所述第三目标节点的属性;
根据所述第三目标节点的属性、所述虚拟结束节点的属性和从所述第三目标节点至所述虚拟结束节点之间的有向连接线,生成所述第一DAG编排服务文件。
在一种可能的实施方式中,所述重试请求中包括虚拟开始节点的属性和所述虚拟开始节点至所述第三目标节点之间的有向连接线;所述收发模块161具体还用于:
根据所述DAG编排服务文件获取所述第三目标节点的属性,以及从所述第三目标节点至所述结束节点之间的各节点的属性和各有向连接线;
根据所述虚拟开始节点的属性、所述第三目标节点的属性、所述第三目标节点至所述结束节点之间的各节点的属性、从所述虚拟开始节点至所述第三目标节点之间的有向连接线、所述第三目标节点至所述结束节点之间的各节点和各有向连接线,生成所述第一DAG编排服务文件。
本公开实施例提供的服务编排装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
示例性计算设备
在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图17对本公开示例性实施方式的计算设备进行说明。
图17显示的计算设备170仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图17所示,计算设备170以通用计算设备的形式表现。计算设备170的组件可以包括但不限于:上述至少一个处理单元171、上述至少一个存储单元172,连接不同系统组件(包括处理单元171和存储单元172)的总线173。
总线173包括数据总线、控制总线和地址总线。
存储单元172可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1721和/或高速缓存存储器1722,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)1723。
存储单元172还可以包括具有一组(至少一个)程序模块1724的程序/实用工具1725,这样的程序模块1724包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备170也可以与一个或多个外部设备174(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口175进行。并且,计算设备170还可以通过网络适配器176与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图17所示,网络适配器176通过总线173与计算设备170的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备170使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了服务编排装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种服务编排方法,通过终端设备提供编排界面,所述编排界面上包括节点类型区域、编辑区域和节点配置区域,所述节点类型区域包括不同类型的节点控件,所述方法包括:
响应于从多个目标节点控件至所述编辑区域的拖动操作,在所述编辑区域显示所述多个目标节点;
响应于在所述节点配置区域针对所述多个目标节点的配置操作,确定所述多个目标节点的属性;
响应于在所述编辑区域针对各所述目标节点之间的拖动操作,确定所述多个目标节点之间的连接关系;
响应于针对所述编排界面上的保存控件的触控操作,向服务器发送保存请求,所述保存请求用于指示所述服务器根据所述多个目标节点的属性和所述连接关系,生成有向无环图DAG编排服务文件。
2.根据权利要求1所述的方法,响应于在所述节点配置区域针对所述多个目标节点的配置操作,确定所述多个目标节点的属性,包括:
针对任意一个目标节点,响应于针对所述目标节点的触控操作,显示所述目标节点的编辑控件,所述编辑控件中包括测试节点子控件;
响应于针对所述测试节点子控件的触控操作,在所述节点配置区域显示所述目标节点对应的属性设置界面,所述属性设置界面为所述编排界面的子界面;
响应于针对所述属性设置界面的配置操作,确定所述目标节点的属性。
3.根据权利要求1或2所述的方法,响应于在所述编辑区域针对各所述目标节点之间的拖动操作,确定所述多个目标节点之间的连接关系,包括:
针对所述多个目标节点内的第一目标节点和第二目标节点,响应于从所述第一目标节点至所述第二目标节点的拖动操作,在满足预设规则时,显示从所述第一目标节点至所述第二目标节点的有向连接线;
根据各所述目标节点之间的有向连接线,确定各所述目标节点之间的连接关系。
4.根据权利要求3所述的方法,所述预设规则包括以下至少一项:
所述第一目标节点为开始节点时,所述第二目标节点为非结束节点;
所述第二目标节点为API节点时,所述第一目标节点为非API节点;
所述第一目标节点为条件节点时,所述第二目标节点为非条件节点;
所述第一目标节点的上一节点为API节点且所述第一目标节点为条件节点时,所述第二目标节点为非API节点;
若所述第一目标节点或所述第二目标节点为条件节点,指向所述条件节点的有向连接线的数量为1;
各所述目标节点和各所述目标节点之间的有向连接线构成DAG图。
5.一种服务编排方法,包括:
从终端设备接收保存请求,所述保存请求中包括多个目标节点的属性和所述多个目标节点之间的连接关系;
根据所述多个目标节点的属性和所述连接关系,生成DAG编排服务文件。
6.根据权利要求5所述的方法,根据所述多个目标节点的属性和所述连接关系,生成DAG编排服务文件,包括:
根据所述多个目标节点的属性和所述连接关系,生成编排表、编排节点表和节点关联表;
所述编排表中包括DAG编排服务的基本信息;
所述编排节点表中包括所述DAG编排服务的内容;
所述节点关联表中包括所述DAG编排服务的各个目标节点的属性和连接关系。
7.一种服务编排装置,通过终端设备提供编排界面,所述编排界面上包括节点类型区域、编辑区域和节点配置区域,所述节点类型区域包括不同类型的节点控件,所述装置包括:
显示模块,用于响应于从多个目标节点控件至所述编辑区域的拖动操作,在所述编辑区域显示所述多个目标节点;
第一处理模块,用于响应于在所述节点配置区域针对所述多个目标节点的配置操作,确定所述多个目标节点的属性;
第二处理模块,用于响应于在所述编辑区域针对各所述目标节点之间的拖动操作,确定所述多个目标节点之间的连接关系;
收发模块,用于响应于针对所述编排界面上的保存控件的触控操作,向服务器发送保存请求,所述保存请求用于指示所述服务器根据所述多个目标节点的属性和所述连接关系,生成DAG编排服务文件。
8.一种服务编排装置,包括:
收发模块,用于从终端设备接收保存请求,所述保存请求中包括多个目标节点的属性和所述多个目标节点之间的连接关系;
处理模块,用于根据所述多个目标节点的属性和所述连接关系,生成DAG编排服务文件。
9.一种计算设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-4任一项所述的服务编排方法,或者,使得所述至少一个处理器执行如权利要求5-6任一项所述的服务编排方法。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-4任一项所述的服务编排方法,或者,实现如权利要求5-6任一项所述的服务编排方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210147997.8A CN114518908B (zh) | 2022-02-17 | 2022-02-17 | 服务编排方法、介质、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210147997.8A CN114518908B (zh) | 2022-02-17 | 2022-02-17 | 服务编排方法、介质、装置和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114518908A true CN114518908A (zh) | 2022-05-20 |
CN114518908B CN114518908B (zh) | 2024-03-22 |
Family
ID=81599122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210147997.8A Active CN114518908B (zh) | 2022-02-17 | 2022-02-17 | 服务编排方法、介质、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114518908B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129307A (zh) * | 2022-08-26 | 2022-09-30 | 湖南云畅网络科技有限公司 | 一种基于低代码可视化的动作流编排方法及系统 |
CN115145560A (zh) * | 2022-09-06 | 2022-10-04 | 北京国电通网络技术有限公司 | 业务编排方法、装置、设备、计算机可读介质和程序产品 |
CN115686472A (zh) * | 2022-11-04 | 2023-02-03 | 国网江苏省电力有限公司信息通信分公司 | 一种服务编排的方法及装置 |
CN116048490A (zh) * | 2023-01-28 | 2023-05-02 | 广州钛动科技股份有限公司 | 业务事件处理方法、装置、计算机设备和存储介质 |
CN116880733A (zh) * | 2023-06-02 | 2023-10-13 | 珠海银弹谷网络有限公司 | 表格数据处理方法、装置、设备、存储介质 |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090094579A1 (en) * | 2007-10-08 | 2009-04-09 | Nhn Corporation | Method and software for editing web documents |
CN106933857A (zh) * | 2015-12-30 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 一种数据仓库中任务的调度方法、装置 |
CN107133049A (zh) * | 2017-05-23 | 2017-09-05 | 中国联合网络通信集团有限公司 | 基于通信的服务的处理方法和装置 |
CN110532020A (zh) * | 2019-09-04 | 2019-12-03 | 中国工商银行股份有限公司 | 一种微服务编排的数据处理方法、装置及系统 |
CN111159268A (zh) * | 2019-12-19 | 2020-05-15 | 武汉达梦数据库有限公司 | 一种ETL流程在Spark集群中运行的方法和装置 |
CN111581115A (zh) * | 2020-06-04 | 2020-08-25 | 网易(杭州)网络有限公司 | 文件处理方法、装置、存储介质、处理器及电子装置 |
CN112015372A (zh) * | 2020-07-24 | 2020-12-01 | 北京百分点信息科技有限公司 | 一种异构服务的编排方法、处理方法、装置及电子设备 |
CN112051993A (zh) * | 2020-08-17 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 状态机模板的生成及任务处理方法、装置、介质及设备 |
CN112148164A (zh) * | 2020-09-25 | 2020-12-29 | 北京青云科技股份有限公司 | 多集群系统的编排方法、装置、计算机设备和存储介质 |
US20210006972A1 (en) * | 2020-09-18 | 2021-01-07 | Francesc Guim Bernat | Geofence-based edge service control and authentication |
CN112346618A (zh) * | 2020-11-11 | 2021-02-09 | 广州小鹏汽车科技有限公司 | 一种车辆服务处理方法和装置 |
CN112422754A (zh) * | 2020-11-06 | 2021-02-26 | 深圳壹账通智能科技有限公司 | 智能语音的配置方法、装置、终端设备及存储介质 |
CN112561386A (zh) * | 2020-12-24 | 2021-03-26 | 建信金融科技有限责任公司 | 一种获得业务流程的方法、装置及设备 |
CN113055209A (zh) * | 2019-12-27 | 2021-06-29 | 北京国双科技有限公司 | 一种边缘计算的编排方法及装置 |
CN113485870A (zh) * | 2021-06-30 | 2021-10-08 | 杭州玳数科技有限公司 | 多类型数据共享服务的执行方法 |
CN113730917A (zh) * | 2021-08-30 | 2021-12-03 | 广州三七网络科技有限公司 | 游戏脚本生成方法、装置、计算机设备和存储介质 |
CN113900636A (zh) * | 2021-09-30 | 2022-01-07 | 中电长城(长沙)信息技术有限公司 | 一种自助化渠道业务流程开发系统及其开发方法 |
CN113923250A (zh) * | 2020-07-07 | 2022-01-11 | 华为技术有限公司 | 一种辅助网络服务编排的方法、装置及系统 |
CN114035978A (zh) * | 2021-11-04 | 2022-02-11 | 杭州东方通信软件技术有限公司 | 一种基于微服务架构的服务编排处理方法及装置 |
-
2022
- 2022-02-17 CN CN202210147997.8A patent/CN114518908B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090094579A1 (en) * | 2007-10-08 | 2009-04-09 | Nhn Corporation | Method and software for editing web documents |
CN106933857A (zh) * | 2015-12-30 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 一种数据仓库中任务的调度方法、装置 |
CN107133049A (zh) * | 2017-05-23 | 2017-09-05 | 中国联合网络通信集团有限公司 | 基于通信的服务的处理方法和装置 |
CN110532020A (zh) * | 2019-09-04 | 2019-12-03 | 中国工商银行股份有限公司 | 一种微服务编排的数据处理方法、装置及系统 |
CN111159268A (zh) * | 2019-12-19 | 2020-05-15 | 武汉达梦数据库有限公司 | 一种ETL流程在Spark集群中运行的方法和装置 |
CN113055209A (zh) * | 2019-12-27 | 2021-06-29 | 北京国双科技有限公司 | 一种边缘计算的编排方法及装置 |
CN111581115A (zh) * | 2020-06-04 | 2020-08-25 | 网易(杭州)网络有限公司 | 文件处理方法、装置、存储介质、处理器及电子装置 |
CN113923250A (zh) * | 2020-07-07 | 2022-01-11 | 华为技术有限公司 | 一种辅助网络服务编排的方法、装置及系统 |
CN112015372A (zh) * | 2020-07-24 | 2020-12-01 | 北京百分点信息科技有限公司 | 一种异构服务的编排方法、处理方法、装置及电子设备 |
CN112051993A (zh) * | 2020-08-17 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 状态机模板的生成及任务处理方法、装置、介质及设备 |
US20210006972A1 (en) * | 2020-09-18 | 2021-01-07 | Francesc Guim Bernat | Geofence-based edge service control and authentication |
CN112148164A (zh) * | 2020-09-25 | 2020-12-29 | 北京青云科技股份有限公司 | 多集群系统的编排方法、装置、计算机设备和存储介质 |
CN112422754A (zh) * | 2020-11-06 | 2021-02-26 | 深圳壹账通智能科技有限公司 | 智能语音的配置方法、装置、终端设备及存储介质 |
CN112346618A (zh) * | 2020-11-11 | 2021-02-09 | 广州小鹏汽车科技有限公司 | 一种车辆服务处理方法和装置 |
CN112561386A (zh) * | 2020-12-24 | 2021-03-26 | 建信金融科技有限责任公司 | 一种获得业务流程的方法、装置及设备 |
CN113485870A (zh) * | 2021-06-30 | 2021-10-08 | 杭州玳数科技有限公司 | 多类型数据共享服务的执行方法 |
CN113730917A (zh) * | 2021-08-30 | 2021-12-03 | 广州三七网络科技有限公司 | 游戏脚本生成方法、装置、计算机设备和存储介质 |
CN113900636A (zh) * | 2021-09-30 | 2022-01-07 | 中电长城(长沙)信息技术有限公司 | 一种自助化渠道业务流程开发系统及其开发方法 |
CN114035978A (zh) * | 2021-11-04 | 2022-02-11 | 杭州东方通信软件技术有限公司 | 一种基于微服务架构的服务编排处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
王学良: "面向服务大系统可视化开发工具的设计与实现", 信息科技, no. 3 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129307A (zh) * | 2022-08-26 | 2022-09-30 | 湖南云畅网络科技有限公司 | 一种基于低代码可视化的动作流编排方法及系统 |
CN115145560A (zh) * | 2022-09-06 | 2022-10-04 | 北京国电通网络技术有限公司 | 业务编排方法、装置、设备、计算机可读介质和程序产品 |
CN115686472A (zh) * | 2022-11-04 | 2023-02-03 | 国网江苏省电力有限公司信息通信分公司 | 一种服务编排的方法及装置 |
CN115686472B (zh) * | 2022-11-04 | 2024-01-30 | 国网江苏省电力有限公司信息通信分公司 | 一种服务编排的方法及装置 |
CN116048490A (zh) * | 2023-01-28 | 2023-05-02 | 广州钛动科技股份有限公司 | 业务事件处理方法、装置、计算机设备和存储介质 |
CN116880733A (zh) * | 2023-06-02 | 2023-10-13 | 珠海银弹谷网络有限公司 | 表格数据处理方法、装置、设备、存储介质 |
CN116880733B (zh) * | 2023-06-02 | 2024-03-12 | 珠海银弹谷网络有限公司 | 表格数据处理方法、装置、设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114518908B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114518908B (zh) | 服务编排方法、介质、装置和计算设备 | |
US11481396B2 (en) | Executing untrusted commands from a distributed execution model | |
CN109634598B (zh) | 一种页面显示方法、装置、设备及存储介质 | |
CN111124906B (zh) | 基于动态埋点的跟踪方法、编译方法、装置和电子设备 | |
US10698897B2 (en) | Executing a distributed execution model with untrusted commands | |
CN108920135B (zh) | 一种自定义业务生成方法、装置、计算机设备及存储介质 | |
US8122292B2 (en) | Debugging of business flows deployed in production servers | |
CN111221521B (zh) | 日志代码的生成方法、装置、计算机系统和可读存储介质 | |
US8849753B2 (en) | Automating asynchronous programming in single threaded systems | |
CN102542382A (zh) | 业务规则的管理方法和装置 | |
CN109445841B (zh) | 接口文档管理方法、装置、服务器及存储介质 | |
US9965252B2 (en) | Method and system for generating stateflow models from software requirements | |
US7802089B2 (en) | Analyzing interpretable code for harm potential | |
WO2016127577A1 (zh) | 一种处理事件的方法及装置 | |
CN110688145A (zh) | Android MVP代码自动生成方法、装置、介质、电子设备 | |
US20190324763A1 (en) | Insertion of custom activities in an orchestrated application suite | |
CN110045952B (zh) | 代码调用方法与装置 | |
US8060885B2 (en) | Creating task queries for concrete resources using alias selection fields specifying formal resources and formal relationships | |
US7844978B2 (en) | Artifact management for an extensible runtime environment | |
CN112445473A (zh) | 客户端布局方法与装置、存储介质、电子设备 | |
CN111367500A (zh) | 数据的处理方法和装置 | |
CN114461909A (zh) | 信息处理方法、信息处理装置、电子设备和存储介质 | |
US11340906B2 (en) | System and method for business process monitoring | |
CN114911541A (zh) | 配置信息的处理方法、装置、电子设备及存储介质 | |
CN113296912A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |