CN111078315B - 微服务编排、执行方法及***、架构、设备、存储介质 - Google Patents

微服务编排、执行方法及***、架构、设备、存储介质 Download PDF

Info

Publication number
CN111078315B
CN111078315B CN201911275029.XA CN201911275029A CN111078315B CN 111078315 B CN111078315 B CN 111078315B CN 201911275029 A CN201911275029 A CN 201911275029A CN 111078315 B CN111078315 B CN 111078315B
Authority
CN
China
Prior art keywords
micro
service
information
target
file
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.)
Active
Application number
CN201911275029.XA
Other languages
English (en)
Other versions
CN111078315A (zh
Inventor
沈金奎
黄佳庆
张俊鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lazas Network Technology Shanghai Co Ltd
Original Assignee
Lazas Network Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lazas Network Technology Shanghai Co Ltd filed Critical Lazas Network Technology Shanghai Co Ltd
Priority to CN201911275029.XA priority Critical patent/CN111078315B/zh
Publication of CN111078315A publication Critical patent/CN111078315A/zh
Application granted granted Critical
Publication of CN111078315B publication Critical patent/CN111078315B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

微服务编排、执行方法及***、架构、设备、存储介质,所述微服务编排方法包括:按照预设的微服务编排模板,基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本;将所述可执行脚本加载至JAVA虚拟机中进行执行。采用上述方案,可以替代人工代码开发,提高开发效率。

Description

微服务编排、执行方法及***、架构、设备、存储介质
技术领域
本说明书涉及数据处理技术领域,尤其涉及一种微服务编排、执行方法及***、架构、设备、存储介质。
背景技术
随着微服务架构在企业应用越来越流行,微服务通过分解单体式应用为多个服务方法解决了复杂性问题。在功能不变的情况下,应用被分解为多个可管理的服务。每个服务都有一个用远程过程调用(Remote Procedure Call,RPC)定义清楚的边界。
为满足用户需求,微服务的数量也在不断增加,在一些情况下,存在多个微服务接口数据需要组合调用的需求,目前通常由开发人员进行代码开发,工作量繁琐,新的组合接口上线速度缓慢,此外可能存在微服务接口组合重复开发的情况,也不利于微服务接口的统一管理。
发明内容
有鉴于此,本说明书实施例提供一种微服务编排、执行方法及***、架构、设备、存储介质,能够提高微服务组合的开发效率,及微服务接口组合的可复用性,便于对微服务接口进行统一管理。
本说明书实施例的一个方面,提供了一种微服务编排方法,包括:
按照预设的微服务编排模板,基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;
对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本;
将所述可执行脚本加载至JAVA虚拟机中进行执行。
可选地,所述输出结果信息包含按照预先设置对编排的微服务组合的调用结果进行处理后,返回用户自定义的数据结构的信息。
可选地,所述按照预先设置对编排的微服务组合的调用结果进行处理包括如下至少一种:
对编排的微服务组合的调用结果进行组合;
对编排的微服务组合的调用结果进行裁剪。
可选地,所述目标微服务接口信息包括如下至少一种信息:
接口类的包名、方法名称和参数信息。
可选地,所述目标微服务接口的执行逻辑包括以下至少一种:
执行一个微服务调用;
按照设置条件执行一个微服务调用;
执行赋值行为;
按照设置条件执行一个赋值行为。
可选地,所述基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,按照预设的微服务编排模板,配置生成微服务编排文件,包括:
通过预设的交互界面,从预设的微服务编排原子信息库中选择目标微服务组合中的目标微服务对应的输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出接口信息,填充至所述预设的微服务编排模板,配置生成微服务编排文件。
本说明书实施例的另一个方面,提供了一种微服务执行方法,包括:
响应于微服务调用请求,获取到所述微服务调用请求对应的微服务编排文件的标识信息及输入参数信息;
基于获取到的微服务编排文件的标识信息,匹配到与所述微服务编排文件的标识信息对应的可执行脚本;
基于所述输入参数信息执行所述可执行脚本,对所述微服务编排文件中包含的目标微服务接口按照所述微服务编排文件中配置目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息进行调用;
返回输出结果信息;
其中,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;所述可执行脚本为对所述微服务编排文件进行解析动态生成,并加载到JAVA虚拟机中。
可选地,所述匹配到与所述微服务编排文件的标识信息对应的可执行脚本,包括如下至少一种:
匹配预先存储的所述微服务编排文件的标识信息对应的微服务编排文件所生成的可执行脚本;
匹配到与所述微服务编排文件的标识对应的微服务编排文件,对所述微服务编排文件进行解析,动态生成对应的可执行脚本。
可选地,所述返回输出结果信息包括:返回按照预先设置对编排的微服务组合的调用结果进行处理后所得到的用户自定义的数据结构的信息。
可选地,所述返回按照预先设置对编排的微服务组合的调用结果进行处理后所得到的用户自定义的数据结构的信息,包括以下任意一种:
返回按照预先设置对编排的微服务组合的调用结果进行组合后所得到的用户自定义的数据结构的信息;
返回按照预先设置对编排的微服务组合的调用结果进行裁剪后所得到的用户自定义的数据结构的信息;
返回按照预先设置对编排的微服务组合的调用结果进行组合和裁剪后所得到的用户自定义的数据结构的信息。
可选地,所述目标微服务接口信息包括如下至少一种信息:
接口类的包名、方法名称和参数信息。
可选地,所述目标微服务接口的执行逻辑包括以下至少一种:
执行一个微服务调用;
按照设置条件地执行一个微服务调用;
执行赋值行为;
按照设置条件地执行一个赋值行为。
本说明书实施例的另一个方面,提供了一种微服务编排***,包括:
编排文件配置单元,适于按照预设的微服务编排模板,基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;
脚本生成单元,适于对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本;
加载单元,适于将所述可执行脚本加载至JAVA虚拟机中进行执行。
本说明书实施例的另一个方面,提供了一种微服务执行***,包括:
输入单元,适于响应于微服务调用请求,获取到所述微服务调用请求对应的微服务编排文件的标识信息及输入参数信息;
匹配单元,适于基于获取到的微服务编排文件的标识信息,匹配到与所述微服务编排文件的标识信息对应的可执行脚本;
调用单元,适于基于所述输入参数信息执行所述可执行脚本,对所述微服务编排文件中包含的目标微服务接口按照所述微服务编排文件中配置目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息进行调用;
输出单元,适于返回输出结果信息;
其中,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;所述可执行脚本为对所述微服务编排文件进行解析动态生成,并加载到JAVA虚拟机中。
本说明书实施例的又一个方面,提供了一种微服务架构,包括:
客户端,适于发送微服务调用请求,所述微服务调用请求包含请求的微服务编排文件的标识信息及输入参数信息;
微服务泛化接口,包括:服务编排单元、服务调用单元和输出单元,其中:
服务编排单元,适于按照预设的微服务编排模板,基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本;响应于微服务调用请求,获取到所述微服务调用请求对应的微服务编排文件的标识信息及输入参数信息,基于获取到的微服务编排文件的标识信息,匹配到与所述微服务编排文件的标识信息对应的可执行脚本;
服务调用单元,适于基于所述输入参数信息执行所述可执行脚本,对所述微服务编排文件中包含的目标微服务接口按照所述微服务编排文件中配置目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息进行调用;
输出单元,适于返回输出结果信息;
微服务业务逻辑,适于基于服务调用单元的执行逻辑进行执行并返回调用结果。
本说明书实施例的又一个方面,提供了一种数据处理设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理器执行前述任一实施例所述方法的步骤。
本说明书实施例的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行前述任一实施例所述方法的步骤。
采用本发明实施例中的微服务编排方法,按照预设的微服务编排模板,可以基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本,并加载到JAVA虚拟机中进行执行,从而可以实现配置即上线,可以替代人工代码开发,提高开发效率。
进一步地,按照预设设置对编排的微服务组合的调用结果进行处理后,返回用户自定义的数据结构的信息,可以更好地满足用户需求,按照用户需要的形式返回所需要的信息。
进一步地,通过对编排的微服务组合的调用结果进行组合和裁剪等处理,可以一次性返回用户真正需要的信息。
进一步地,目标微服务接口信息包括接口类的包名、方法名称和参数信息等其中至少一种信息,因此可以根据业务需求对待调用的目标微服务接口的信息进行灵活的配置,也实现更加复杂及精细化的微服务逻辑编排(换言之,不仅可以实现对微服务组合的编排,还可以实现对微服务的接口、方法等组合逻辑的编排)。
进一步地,可以根据需求设置目标微服务组合中各目标微服务接口的执行逻辑,包括执行一个微服务调用、按照设置条件执行一个微服务调用、执行赋值行为、按照设置条件执行一个赋值行为等,从而可以根据需要高效而灵活地设置目标微服务组合的执行逻辑。
进一步地,通过预设的交互界面,从预设的微服务编排原子信息库中选择目标微服务组合中的目标微服务对应的输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出接口信息,填充至所述预设的微服务编排模板,配置生成微服务编排文件,可以降低微服务编排的难度,进一步提高微服务编排的效率。
采用本说明书实施例中的微服务执行方法,响应于微服务调用请求,通过微服务调用请求中包含的微服务编排文件的标识信息及输入参数信息,调用预先编排好的微服务编排文件对应的可执行脚本即可直接执行,用户无须通过多个微服务调用请求一一与相应的微服务接口进行交互,因而可以极大地减少微服务接口组合的开发量,提高微服务接口的可复用性。
在接收到微服务调用请求时,通过将微服务调用请求对应的微服务编排文件的标识信息与预先存储的微服务编排文件所生成的可执行脚本进行直接匹配,在微服务执行过程中,无须解析,因此可以提高微服务执行效率。
采用本说明书实施例中的微服务架构,对于客户端而言,仅需要一个微服务调用请求访问微服务泛化接口,屏蔽了访问其他业务微服务接口的细节,因而可以极大地减少微服务接口组合的开发量,便于对微服务接口进行统一管理,可以提高微服务接口的可复用性。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书实施例中一种微服务编排方法的流程图。
图2是本说明书实施例中一种微服务编排交互界面的示意图。
图3是本说明书实施例中一种微服务执行方法的流程图。
图4是本说明书实施例中一种微服务编排***的结构示意图。
图5是本说明书实施例中一种微服务执行***的结构示意图。
图6是本说明书实施例中一种微服务架构的结构示意图。
具体实施方式
如前所述,随着微服务数量的不断增加,在一些情况下,存在多个微服务接口数据需要组合调用的需求。目前通常由开发人员进行代码开发,工作量繁琐,新的组合接口上线速度缓慢,此外可能存在微服务接口组合重复开发的情况,也不利于微服务接口的统一管理。
针对上述问题,本说明书实施例提供了可以根据需要对微服务组合进行编排的方案,以及相应的微服务执行方法,以及相应的处理***及微服务架构、数据处理设备及存储介质。
为使本领域技术技术人员更好地理解本发明实施例的构思、实现方案及优点,以下参照附图,通过具体应用场景进行详细说明。
参照图1所示的微服务编排方法的流程图,在本说明书实施例中,可以采用如下步骤进行微服务编排,得到所需的微服务组合:
S11,按照预设的微服务编排模板,基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件。
在具体实施中,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息。
S12,对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本。
S13,将所述可执行脚本加载至JAVA虚拟机中进行执行。
采用上述实施例,按照预设的微服务编排模板,可以基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本,并加载到JAVA虚拟机中进行执行,这样,当有调用请求时,可以直接执行所述可执行脚本,从而可以实现配置即上线,可以替代人工代码开发,提高开发效率。
在具体实施中,目标微服务信息可以包括如下至少一种信息:接口类的包名、方法名称和参数信息,从而可以根据业务需求对待调用的目标微服务接口的信息进行灵活的配置。
在具体实施中,可以预先在微服务编排模板中设置一种或多种命令,对应相应的微服务接口的执行逻辑,从而可以根据需要高效而灵活地设置目标微服务组合的执行逻辑。例如,所述目标微服务接口的执行逻辑包括以下至少一种:
执行一个微服务调用;
按照设置条件执行一个微服务调用;
执行赋值行为;
按照设置条件执行一个赋值行为。
在具体实施中,所述输出结果信息可以包含按照预先设置对编排的微服务组合的调用结果进行处理后,返回用户自定义的数据结构的信息,这样可以更好地满足用户需求,按照用户需要的形式返回所需要的信息。
例如,可以按照预先设置对编排的微服务组合的调用结果进行组合,又如,可以对编排的微服务组合的调用结果进行裁剪,或者可以按照预先设置对编排的微服务组合的调用结果进行组合和裁剪。通过对编排的微服务组合的调用结果进行组合和裁剪等处理,可以一次性返回用户真正需要的信息。
为使本领域技术人员更好地理解和实现本说明书实施例,以下通过一个具体的应用场景进行详细说明。
如下所示,为本说明书一实施例中的微服务编排模板,其采用领域特定语言(Domain-Specific Language,DSL)进行描述。具体格式如下:
Figure BDA0002315330790000081
Figure BDA0002315330790000091
Figure BDA0002315330790000101
在上述微服务编排模板中,通过JS对象简谱(JavaScript Object Notation,JSON)形式分别对微服务编排模板中的各种信息分别进行表示。JSON是一种轻量级的数据交换格式,它基于ECAMScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和标识数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
其中:requestType节点适于表征微服务编排的唯一标识,客户端通过所述标识可以执行对应的微服务编排逻辑。每一种微服务组合的微服务接口及组合逻辑对应唯一的微服务编排文件的标识。
inputs节点适于表征输入参数信息,通过inputs节点可以设置请求的接口输入的参数的格式。如上述微服务编排模板所示,输入参数可以包含用户标识userId和商户标识shopId。可以理解的是,在具体实施中,可以根据具体的业务类型设置不同的输入参数。
通过tasks节点可以配置需要编排的微服务的接口(Application ProcessInterface,API)信息,在具体实施中,可以包括接口类的包名、方法名称和参数信息。在上述微服务编排模板中,示出了包含两个微服务接口进行组合的情形,包括微服务接口“sampleServiceAlias1”及“sampleServiceAlias2”,对应的接口类的包名interfaceClassName包括:“me.demo.ShopTagService”和“me.demo.UserService”。在具体配置过程中,可以配置包含涉及的微服务接口组合中所有的目标微服务接口。除了在tasks节点中配置微服务接口组合中包含的具体微服务接口外,还可以包括微服务接口中具体包含的方法(method),如上述微服务编排模板中所示例的方法“getShopTags”和“getUserTags”,可以理解的是,若微服务接口组合中的目标微服务接口并不包含多个方法,则可以不对所调用的方法作具体配置。此外,如上述微服务编排模板所示,还可以设置调用相应的微服务接口的超时时间(timeout),通过设置超时时间,可以在相应的微服务超过预设时间没有响应时,继续执行微服务组合中其他微服务接口的调用处理。在具体实施中,各个微服务可能有自己的标识,通过appID进行标识,可以提高微服务编排模板的可读性。tasks中的params(参数)区域适于设置相应的接口所需要的参数,这里微服务接口的参数的来源可能有两种,一种是用户输入的参数,这里可以通过inputs节点进行获取,也可能来源于微服务接口组合中之前已执行的微服务返回的调用结果,例如是上一个调用的微服务接口返回的调用结果。
commands节点是微服务编排的核心,通过这个节点可以配置目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序,也即,通过这个节点配置信息和指令可以动态生成编排流程。如上述微服务编排模板所示,可以采用四个命令来配置微服务的执行逻辑,其中:
invoke,适于表征执行一个微服务调用的指令;
if-invoke,适于表征按照预设的具体条件执行一个微服务调用的指令;
set,适于表征执行赋值行为的指令;
if-set,适于表征按照预设的具体条件执行一个赋值行为的指令。
可以采用上述指令配置目标微服务组合中各个微服务接口具体的执行逻辑,且按照执行顺序编排各个微服务接口的执行逻辑,即可形成目标微服务组合具体的执行逻辑及执行流程。
可以理解的是,在具体实施中,也可以采用其他的指令形式表示能够实现上述执行逻辑的指令,根据具体的业务需求,还可以扩展具有其他执行逻辑的指令,此处不再一一示出。
outputs节点中可以输出微服务组合返回的结果信息,在具体实施中,可以根据需要对outputs节点进行配置,例如可以配置对编排的微服务组合的调用结果进行处理的方式,以及返回的结果信息的数据结构等。其中,可以通过多种方式对微服务组合的调用结果进行处理,以得到用户需要的输出结果。例如可以对编排的微服务组合的调用结果进行组合,又如可以对编排的微服务组合的调用结果进行裁剪,或者根据用户需要对编排的微服务组合的调用结果分别进行相应的组合和裁剪。输出结果的具体数据结构也可以由用户自定义。需要说明的是,上述实施例仅为便于本领域技术人员理解和实现,对编排的微服务组合的调用结果进行处理的示例方式,本说明书中并不对调用结果具体的处理方式作具体限定,对调用结果的具体处理方式和输出结果的具体数据结构均可以根据用户需要进行灵活设置。
在步骤S11中,可以按照上述示例中的微服务编排模板,基于实际业务中所需要调用的目标微服务组合以及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成对应的微服务编排文件。
可以理解的是,在具体实施中,除了可以采用JSON格式来描述微服务编排模板,还可以采用其他的语言形式,例如可以采用可扩展标记语言(eXtensible Markup Language,XML)进行编排。
之后,执行步骤S12,例如,上述示例中的微服务编排模板,通过DSL解析,动态生成对应的可执行脚本。在本说明书一具体实施例中,上述DSL格式的微服务编排模板经过解析,可以动态生成相应的groovy代码。
在步骤S13中,将生成的groovy代码加载到JAVA虚拟机中,即可实现微服务接口组合的动态加载调用。
在具体实施中,为提升用户体验,在微服务编排过程中,可以通过预设的交互界面,从预设的微服务编排原子信息库中选择目标微服务组合中的目标微服务对应的输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出接口信息,填充至所述预设的微服务编排模板,配置生成微服务编排文件,可以降低微服务编排的难度,进一步提高微服务编排的效率。
参照图2所示的一种微服务编排交互界面的示意图,交互界面20包括:微服务接口选择区21,可以展示可选择的微服务接口,微服务接口参数选择区22、命令配置区23及微服务编排文件编辑区24。用户可以通过点击、拖拽或手动输入等方式配置生成微服务编排文件,并通过保存控件按钮25进行保存。此外,可以对生成的微服务编排文件进行在线调试,以测试所生成的微服务编排文件中的目标微服务组合是否按照所需要的执行逻辑进行执行,可以设置相应的在线调试按钮,此处不再展开描述。
为使本领域技术人员更好地理解和实现本说明书实施例,以下参照附图,通过具体实施例对调用微服务组合的微服务执行方法进行对应描述。
参照图3所示的本说明书实施例中的微服务执行方法的流程图,微服务架构处理***具体可以采用如下步骤进行执行:
S31,响应于微服务调用请求,获取到所述微服务调用请求对应的微服务编排文件的标识信息及输入参数信息。
S32,基于获取到的微服务编排文件的标识信息,匹配到与所述微服务编排文件的标识信息对应的可执行脚本。
S33,基于所述输入参数信息执行所述可执行脚本,对所述微服务编排文件中包含的目标微服务接口按照所述微服务编排文件中配置目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息进行调用。
S34,返回输出结果信息。
其中,所述微服务编排文件的配置内容可以包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;所述可执行脚本为对所述微服务编排文件进行解析动态生成,并加载到JAVA虚拟机中。
在具体实施中,所述目标微服务接口信息包括如下至少一种信息:
接口类的包名、方法名称和参数信息。
通过配置目标微服务接口信息中更具体的信息,可以根据业务需求对待调用的目标微服务接口的信息进行灵活的配置,实现更加复杂及精细化的微服务逻辑编排(换言之,不仅可以实现对微服务组合的编排,还可以实现对微服务的接口、方法等组合逻辑的编排)。
在具体实施中,所述目标微服务接口的执行逻辑包括以下至少一种:
执行一个微服务调用;
按照设置条件地执行一个微服务调用;
执行赋值行为;
按照设置条件地执行一个赋值行为。
通过上述可以实现上述执行逻辑的指令的实施,可以根据需要高效而灵活地设置目标微服务组合的执行逻辑。
采用上述实施例中的微服务执行方法,响应于微服务调用请求,通过微服务调用请求中包含的微服务编排文件的标识信息及输入参数信息,调用预先编排好的微服务编排文件对应的可执行脚本即可直接执行,用户无须通过多个微服务调用请求一一与相应的微服务接口进行交互,因而可以极大地减少微服务接口组合的开发量,提高微服务接口的可复用性。
在具体实施中,微服务架构处理***可以采用如下至少一种方法匹配对应的可执行脚本:
可以先匹配到与所述微服务编排文件的标识对应的微服务编排文件,之后对所述微服务编排文件进行解析,即可动态生成对应的可执行脚本。
或者,可以匹配预先存储的所述微服务编排文件的标识信息对应的微服务编排文件所生成的可执行脚本。也即,在微服务编排文件生成后,可以直接解析为对应的可执行脚本进行存储,当获取到微服务调用请求后,可以直接获取所述微服务调用请求的微服务组合所对应的微服务编排文件的标识信息及输入参数信息,然后匹配到对应的可执行文件,并将输入参数信息填充至可执行脚本中的输入参数所对应的数据即可。采用这一方式,通过预先存储微服务编排文件对应的可执行脚本,因此在微服务执行过程中,无须解析,因此可以提高微服务执行效率。
在具体实施中,在调用结果进行输出前,可以根据用户需求进行处理,例如,可以按照预先设置对编排的微服务组合的调用结果进行处理后所得到的用户自定义的数据结构的信息,从而可以更好地满足用户需求,按照用户需要的形式返回所需要的信息。
例如,按照预先设置进行处理后,可以返回按照预先设置对编排的微服务组合的调用结果进行组合后所得到的用户自定义的数据结构的信息;或者可以返回按照预先设置对编排的微服务组合的调用结果进行裁剪后所得到的用户自定义的数据结构的信息;又如,可以返回按照预先设置对编排的微服务组合的调用结果进行组合和裁剪后所得到的用户自定义的数据结构的信息。
通过对编排的微服务组合的调用结果进行组合和裁剪等处理,可以一次性返回用户真正需要的信息。
本说明书实施例还提供了相应的微服务编排***,如图4所示的微服务编排***40,可以包括:
编排文件配置单元41,适于按照预设的微服务编排模板,基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;
脚本生成单元42,适于对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本;
加载单元43,适于将所述可执行脚本加载至JAVA虚拟机中进行执行。
本说明书实施例还提供了相应的微服务执行***,如图5所示的微服务执行***50,可以包括:
输入单元51,适于响应于微服务调用请求,获取到所述微服务调用请求对应的微服务编排文件的标识信息及输入参数信息;
匹配单元52,适于基于获取到的微服务编排文件的标识信息,匹配到与所述微服务编排文件的标识信息对应的可执行脚本;
调用单元53,适于基于所述输入参数信息执行所述可执行脚本,对所述微服务编排文件中包含的目标微服务接口按照所述微服务编排文件中配置目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息进行调用;
输出单元54,适于返回输出结果信息;
其中,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;所述可执行脚本为对所述微服务编排文件进行解析动态生成,并加载到JAVA虚拟机中。
在具体实施中,可以将微服务编排***集成至微服务执行***,从而可以实现配置即上线,微服务编排***所生成的微服务编排文件可以直接存放至匹配单元所要匹配的微服务编排文件库中。
本说明书实施例还提供了相应的微服务架构,参照图6所示的微服务架构60,可以包括:
客户端61,适于发送微服务调用请求,所述微服务调用请求包含请求的微服务编排文件的标识信息及输入参数信息;
微服务泛化接口62,包括:服务编排单元621、服务调用单元622和输出单元623,其中:
服务编排单元621,适于按照预设的微服务编排模板,基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本;响应于微服务调用请求,获取到所述微服务调用请求对应的微服务编排文件的标识信息及输入参数信息,基于获取到的微服务编排文件的标识信息,匹配到与所述微服务编排文件的标识信息对应的可执行脚本;
服务调用单元622,适于基于所述输入参数信息执行所述可执行脚本,对所述微服务编排文件中包含的目标微服务接口按照所述微服务编排文件中配置目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息进行调用;
输出单元623,适于返回输出结果信息;
微服务业务逻辑63,适于基于服务调用单元的执行逻辑进行执行并返回调用结果。
采用上述微服务架构,对于客户端而言,仅需要一个微服务调用请求访问微服务泛化接口,屏蔽了访问其他业务微服务接口的细节,因而可以极大地减少微服务接口组合的开发量,便于对微服务接口进行统一管理,可以提高微服务接口的可复用性。
本说明书实施例中的微服务编排***、微服务执行方法及微服务架构均可以采用前述微服务编排方法、微服务执行方法进行处理,具体可以参见前述实施例及相应附图,此处不再赘述。
本说明书实施例还提供了相应的数据处理设备,所述数据处理设备可以包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理器执行前述任一实施例所述微服务编排方法或微服务执行方法的步骤,此处不再赘述。
其中,所述数据处理设备可以为数据处理终端如个人计算机设备,平板电子设备,或者为云端服务器等。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时可以执行本发明上述任一实施例所示微服务编排方法或微服务执行方法的步骤,具体步骤可以参见前述任一实施例中方法的步骤,此处不再赘述。
其中,所述计算机可读存储介质可以是光盘、机械硬盘、固态硬盘等各种适当的可读存储介质。所述计算机可读存储介质上存储的指令执行的识别异常字符串的方法,具体可参照上述各识别异常字符串的方法的实施例,不再赘述。
综上,本说明书实施例公开了A1实施例,一种微服务编排方法,包括:
按照预设的微服务编排模板,基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;
对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本;
将所述可执行脚本加载至JAVA虚拟机中进行执行。
本说明书实施例公开了A2实施例,如A1实施例所述的微服务编排方法,所述输出结果信息包含按照预先设置对编排的微服务组合的调用结果进行处理后,返回用户自定义的数据结构的信息。
本说明书实施例公开了A3实施例,如A2实施例所述的微服务编排方法,所述按照预先设置对编排的微服务组合的调用结果进行处理包括如下至少一种:
对编排的微服务组合的调用结果进行组合;
对编排的微服务组合的调用结果进行裁剪。
本说明书公开了A4实施例,如A1实施例所述的微服务编排方法,所述目标微服务接口信息包括如下至少一种信息:
接口类的包名、方法名称和参数信息。
本说明书实施例公开了A5实施例,如A1实施例所述的微服务编排方法,所述目标微服务接口的执行逻辑包括以下至少一种:
执行一个微服务调用;
按照设置条件执行一个微服务调用;
执行赋值行为;
按照设置条件执行一个赋值行为。
本说明书实施例公开了A6实施例,如A1实施例所述的微服务编排方法,所述基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,按照预设的微服务编排模板,配置生成微服务编排文件,包括:
通过预设的交互界面,从预设的微服务编排原子信息库中选择目标微服务组合中的目标微服务对应的输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出接口信息,填充至所述预设的微服务编排模板,配置生成微服务编排文件。
本说明书实施例公开了B1实施例,一种微服务执行方法,包括:
响应于微服务调用请求,获取到所述微服务调用请求对应的微服务编排文件的标识信息及输入参数信息;
基于获取到的微服务编排文件的标识信息,匹配到与所述微服务编排文件的标识信息对应的可执行脚本;
基于所述输入参数信息执行所述可执行脚本,对所述微服务编排文件中包含的目标微服务接口按照所述微服务编排文件中配置目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息进行调用;
返回输出结果信息;
其中,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;所述可执行脚本为对所述微服务编排文件进行解析动态生成,并加载到JAVA虚拟机中。
本说明书实施例公开了B2实施例,如B1实施例所述的微服务执行方法,所述匹配到与所述微服务编排文件的标识信息对应的可执行脚本,包括如下至少一种:
匹配预先存储的所述微服务编排文件的标识信息对应的微服务编排文件所生成的可执行脚本;
匹配到与所述微服务编排文件的标识对应的微服务编排文件,对所述微服务编排文件进行解析,动态生成对应的可执行脚本。
本说明书实施例公开了B3实施例,如B1实施例所述的微服务执行方法,所述返回输出结果信息包括:
返回按照预先设置对编排的微服务组合的调用结果进行处理后所得到的用户自定义的数据结构的信息。
本说明书实施例公开了B4实施例,如B3实施例所述的微服务执行方法,所述返回按照预先设置对编排的微服务组合的调用结果进行处理后所得到的用户自定义的数据结构的信息,包括以下任意一种:
返回按照预先设置对编排的微服务组合的调用结果进行组合后所得到的用户自定义的数据结构的信息;
返回按照预先设置对编排的微服务组合的调用结果进行裁剪后所得到的用户自定义的数据结构的信息;
返回按照预先设置对编排的微服务组合的调用结果进行组合和裁剪后所得到的用户自定义的数据结构的信息。
本说明书实施例公开了B5实施例,如B1实施例所述的微服务执行方法,所述目标微服务接口信息包括如下至少一种信息:
接口类的包名、方法名称和参数信息。
本说明书实施例公开了B6实施例,如B1实施例所述的微服务执行方法,所述目标微服务接口的执行逻辑包括以下至少一种:
执行一个微服务调用;
按照设置条件地执行一个微服务调用;
执行赋值行为;
按照设置条件地执行一个赋值行为。
本说明书实施例公开了C1实施例,一种微服务编排***,包括:
编排文件配置单元,适于按照预设的微服务编排模板,基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;
脚本生成单元,适于对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本;
加载单元,适于将所述可执行脚本加载至JAVA虚拟机中进行执行。
本说明书实施例公开了D1实施例,一种微服务执行***,包括:
输入单元,适于响应于微服务调用请求,获取到所述微服务调用请求对应的微服务编排文件的标识信息及输入参数信息;
匹配单元,适于基于获取到的微服务编排文件的标识信息,匹配到与所述微服务编排文件的标识信息对应的可执行脚本;
调用单元,适于基于所述输入参数信息执行所述可执行脚本,对所述微服务编排文件中包含的目标微服务接口按照所述微服务编排文件中配置目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息进行调用;
输出单元,适于返回输出结果信息;
其中,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;所述可执行脚本为对所述微服务编排文件进行解析动态生成,并加载到JAVA虚拟机中。
本说明书实施例公开了E1实施例,一种微服务架构,包括:
客户端,适于发送微服务调用请求,所述微服务调用请求包含请求的微服务编排文件的标识信息及输入参数信息;
微服务泛化接口,包括:服务编排单元、服务调用单元和输出单元,其中:
服务编排单元,适于按照预设的微服务编排模板,基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本;响应于微服务调用请求,获取到所述微服务调用请求对应的微服务编排文件的标识信息及输入参数信息,基于获取到的微服务编排文件的标识信息,匹配到与所述微服务编排文件的标识信息对应的可执行脚本;
服务调用单元,适于基于所述输入参数信息执行所述可执行脚本,对所述微服务编排文件中包含的目标微服务接口按照所述微服务编排文件中配置目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息进行调用;
输出单元,适于返回输出结果信息;
微服务业务逻辑,适于基于服务调用单元的执行逻辑进行执行并返回调用结果。
本说明书实施例公开了F1实施例,一种数据处理设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理器执行前述任一实施例所述方法的步骤。
本说明书实施例公开了G1实施例,一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行前述任一实施例所述方法的步骤。
虽然本说明书披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (16)

1.一种微服务编排方法,其特征在于,应用于微服务编排***,所述微服务编排方法包括:
按照预设的微服务编排模板,基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;
对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本;
将所述可执行脚本加载至JAVA虚拟机中进行执行。
2.根据权利要求1所述的微服务编排方法,其特征在于,所述输出结果信息包含按照预先设置对编排的微服务组合的调用结果进行处理后,返回用户自定义的数据结构的信息。
3.根据权利要求2所述的微服务编排方法,其特征在于,所述按照预先设置对编排的微服务组合的调用结果进行处理包括如下至少一种:
对编排的微服务组合的调用结果进行组合;
对编排的微服务组合的调用结果进行裁剪。
4.根据权利要求1所述的微服务编排方法,其特征在于,所述目标微服务接口信息包括如下至少一种信息:
接口类的包名、方法名称和参数信息。
5.根据权利要求1所述的微服务编排方法,其特征在于,所述目标微服务接口的执行逻辑包括以下至少一种:
执行一个微服务调用;
按照设置条件执行一个微服务调用;
执行赋值行为;
按照设置条件执行一个赋值行为。
6.根据权利要求1所述的微服务编排方法,其特征在于,所述基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,按照预设的微服务编排模板,配置生成微服务编排文件,包括:
通过预设的交互界面,从预设的微服务编排原子信息库中选择目标微服务组合中的目标微服务对应的输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出接口信息,填充至所述预设的微服务编排模板,配置生成微服务编排文件。
7.一种微服务执行方法,其特征在于,包括:
响应于微服务调用请求,获取到所述微服务调用请求对应的微服务编排文件的标识信息及输入参数信息;
基于获取到的微服务编排文件的标识信息,匹配到预先存储的所述微服务编排文件的标识信息对应的微服务编排文件所生成的可执行脚本;
基于所述输入参数信息执行所述可执行脚本,对所述微服务编排文件中包含的目标微服务接口按照所述微服务编排文件中配置目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息进行调用;
返回输出结果信息;
其中,所述微服务编排文件为按照预设的微服务编排模板,基于模板微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系配置生成,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;所述可执行脚本为对所述微服务编排文件进行解析动态生成,并加载到JAVA虚拟机中。
8.根据权利要求7所述的微服务执行方法,其特征在于,所述返回输出结果信息包括:
返回按照预先设置对编排的微服务组合的调用结果进行处理后所得到的用户自定义的数据结构的信息。
9.根据权利要求8所述的微服务执行方法,其特征在于,所述返回按照预先设置对编排的微服务组合的调用结果进行处理后所得到的用户自定义的数据结构的信息,包括以下任意一种:
返回按照预先设置对编排的微服务组合的调用结果进行组合后所得到的用户自定义的数据结构的信息;
返回按照预先设置对编排的微服务组合的调用结果进行裁剪后所得到的用户自定义的数据结构的信息;
返回按照预先设置对编排的微服务组合的调用结果进行组合和裁剪后所得到的用户自定义的数据结构的信息。
10.根据权利要求7所述的微服务执行方法,其特征在于,所述目标微服务接口信息包括如下至少一种信息:
接口类的包名、方法名称和参数信息。
11.根据权利要求7所述的微服务执行方法,其特征在于,所述目标微服务接口的执行逻辑包括以下至少一种:
执行一个微服务调用;
按照设置条件地执行一个微服务调用;
执行赋值行为;
按照设置条件地执行一个赋值行为。
12.一种微服务编排***,其特征在于,包括:
编排文件配置单元,适于按照预设的微服务编排模板,基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;
脚本生成单元,适于对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本;
加载单元,适于将所述可执行脚本加载至JAVA虚拟机中进行执行。
13.一种微服务执行***,其特征在于,包括:
输入单元,适于响应于微服务调用请求,获取到所述微服务调用请求对应的微服务编排文件的标识信息及输入参数信息;
匹配单元,适于基于获取到的微服务编排文件的标识信息,匹配到预先存储的所述微服务编排文件的标识信息对应的微服务编排文件所生成的可执行脚本;
调用单元,适于基于所述输入参数信息执行所述可执行脚本,对所述微服务编排文件中包含的目标微服务接口按照所述微服务编排文件中配置目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息进行调用;
输出单元,适于返回输出结果信息;
其中,所述微服务编排文件为按照预设的微服务编排模板,基于模板微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系配置生成,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;所述可执行脚本为对所述微服务编排文件进行解析动态生成,并加载到JAVA虚拟机中。
14.一种微服务架构,其特征在于,包括:
客户端,适于发送微服务调用请求,所述微服务调用请求包含请求的微服务编排文件的标识信息及输入参数信息;
微服务泛化接口,包括:服务编排单元、服务调用单元和输出单元,其中:
服务编排单元,适于按照预设的微服务编排模板,基于目标微服务组合及所述目标微服务组合中目标微服务之间的逻辑关系,配置生成微服务编排文件,所述微服务编排文件的配置内容包括:所述微服务编排文件的标识信息、输入参数信息、目标微服务接口信息、目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息,以及输出结果信息;对配置生成的微服务编排文件进行解析,动态生成对应的可执行脚本;响应于微服务调用请求,获取到所述微服务调用请求对应的微服务编排文件的标识信息及输入参数信息,基于获取到的微服务编排文件的标识信息,匹配到与所述微服务编排文件的标识信息对应的微服务编排文件所生成的可执行脚本;
服务调用单元,适于基于所述输入参数信息执行所述可执行脚本,对所述微服务编排文件中包含的目标微服务接口按照所述微服务编排文件中配置目标微服务接口的执行逻辑及目标微服务接口之间的执行顺序信息进行调用;
输出单元,适于返回输出结果信息;
微服务业务逻辑,适于基于服务调用单元的执行逻辑进行执行并返回调用结果。
15.一种数据处理设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理器执行权利要求1至6或权利要求7至11任一项所述方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至6或权利要求7至11任一项所述方法的步骤。
CN201911275029.XA 2019-12-12 2019-12-12 微服务编排、执行方法及***、架构、设备、存储介质 Active CN111078315B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911275029.XA CN111078315B (zh) 2019-12-12 2019-12-12 微服务编排、执行方法及***、架构、设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911275029.XA CN111078315B (zh) 2019-12-12 2019-12-12 微服务编排、执行方法及***、架构、设备、存储介质

Publications (2)

Publication Number Publication Date
CN111078315A CN111078315A (zh) 2020-04-28
CN111078315B true CN111078315B (zh) 2020-12-08

Family

ID=70314171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911275029.XA Active CN111078315B (zh) 2019-12-12 2019-12-12 微服务编排、执行方法及***、架构、设备、存储介质

Country Status (1)

Country Link
CN (1) CN111078315B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021217655A1 (zh) * 2020-04-30 2021-11-04 深圳中砼物联网科技有限公司 基于服务实现的协同控制软件开发方法、计算机设备、及存储介质
CN113590170B (zh) * 2020-04-30 2022-09-30 深圳中砼物联网科技有限公司 基于服务实现的协同控制软件开发方法、计算机设备、及存储介质
CN111638984A (zh) * 2020-05-29 2020-09-08 拉扎斯网络科技(上海)有限公司 接口配置方法、接口调用方法及相关装置
CN111708520B (zh) * 2020-06-16 2023-08-29 北京百度网讯科技有限公司 应用构建方法、装置、电子设备及存储介质
CN113760693A (zh) * 2020-06-29 2021-12-07 北京沃东天骏信息技术有限公司 用于微服务***的本地调试的方法和装置
CN113923250B (zh) * 2020-07-07 2023-04-07 华为技术有限公司 一种辅助网络服务编排的方法、装置及***
CN112363714A (zh) * 2020-11-03 2021-02-12 中国建设银行股份有限公司 一种服务组合模型的开发方法、装置、存储介质及设备
CN112468463B (zh) * 2020-11-13 2023-04-11 福建福诺移动通信技术有限公司 一种基于云原生能力网关的场景能力编排的装置及方法
CN112527254B (zh) * 2020-12-04 2024-06-28 佰聆数据股份有限公司 基于服务编排的业务策略设计方法、***及计算机设备
CN112631696B (zh) * 2020-12-29 2021-10-22 智慧神州(北京)科技有限公司 服务的编排方法、编排装置、处理器与服务的编排***
CN112817565B (zh) * 2021-01-20 2024-06-18 ***股份有限公司 微服务组合方法、装置、设备及存储介质
CN112929358B (zh) * 2021-01-29 2022-12-30 中国工商银行股份有限公司 用于微服务编排的方法和装置、电子设备、及介质
CN113094331A (zh) * 2021-03-30 2021-07-09 联想(北京)有限公司 一种处理方法及装置
CN113238733A (zh) * 2021-04-25 2021-08-10 天津易和信息科技有限公司 微服务的生成方法、装置和***
CN113220481B (zh) * 2021-04-30 2024-07-05 平安壹钱包电子商务有限公司 请求处理及反馈方法、装置、计算机设备及可读存储介质
CN113326026B (zh) * 2021-05-11 2023-09-08 福建天泉教育科技有限公司 一种微服务业务流程接口的生成方法与终端
CN113312037B (zh) * 2021-06-15 2023-11-24 北京百度网讯科技有限公司 应用于微服务的数据处理方法、装置、设备和存储介质
CN113656096A (zh) * 2021-08-10 2021-11-16 成都长城开发科技有限公司 微服务快速集成***、方法、设备及存储介质
CN114244729A (zh) * 2021-12-01 2022-03-25 中国邮政储蓄银行股份有限公司 一种适用于服务编排的漏斗型超时控制方法及装置
CN114153444A (zh) * 2021-12-09 2022-03-08 中国建设银行股份有限公司 一种构建组合服务的方法及装置
CN114579215A (zh) * 2022-03-07 2022-06-03 首约科技(北京)有限公司 一种程序执行逻辑和顺序的自动控制方法
CN116795378B (zh) * 2023-08-18 2023-11-21 宁波数益工联科技有限公司 基于代码动态编译的流程编排执行方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603583A (zh) * 2017-02-23 2017-04-26 北京工业大学 一种微服务网络构建方法
CN107391142A (zh) * 2017-07-26 2017-11-24 北京中电普华信息技术有限公司 一种应用拆分的方法及装置
CN107423952A (zh) * 2017-07-25 2017-12-01 苏州博纳讯动软件有限公司 一种可扩展的DevOps持续交付***及其方法
CN109040152A (zh) * 2017-06-08 2018-12-18 阿里巴巴集团控股有限公司 一种基于服务编排的服务请求和提供方法、装置以及电子设备
CN109189381A (zh) * 2018-10-18 2019-01-11 行吟信息科技(上海)有限公司 一种业务流组件的创建方法及装置
CN109918151A (zh) * 2019-03-14 2019-06-21 佳都新太科技股份有限公司 工作流实现方法、装置、设备及存储介质
CN110286884A (zh) * 2019-06-21 2019-09-27 北京百度网讯科技有限公司 微服务编排方法、装置、设备及计算机可读存储介质
CN110457143A (zh) * 2019-07-25 2019-11-15 腾讯科技(深圳)有限公司 微服务的调用方法及装置
CN110489181A (zh) * 2019-08-23 2019-11-22 深圳前海微众银行股份有限公司 基于微服务架构的服务运行方法、装置、平台及存储介质
CN110532020A (zh) * 2019-09-04 2019-12-03 中国工商银行股份有限公司 一种微服务编排的数据处理方法、装置及***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10862733B2 (en) * 2016-06-28 2020-12-08 Virtustream Ip Holding Company Llc Standardized microservices for controlling components of distinct applications in multi-tenant clouds
US11216764B2 (en) * 2017-07-11 2022-01-04 Jpmorgan Chase Bank, N.A. Systems and methods for distributed business process management
CN109634571A (zh) * 2018-12-17 2019-04-16 武汉烽火信息集成技术有限公司 一种api编排方法、存储介质、电子设备及***
CN109766166A (zh) * 2018-12-29 2019-05-17 优刻得科技股份有限公司 业务流程处理方法、装置、存储介质和设备
CN110149364A (zh) * 2019-04-15 2019-08-20 厦门市美亚柏科信息股份有限公司 基于数据服务平台提供微服务的方法、装置、存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603583A (zh) * 2017-02-23 2017-04-26 北京工业大学 一种微服务网络构建方法
CN109040152A (zh) * 2017-06-08 2018-12-18 阿里巴巴集团控股有限公司 一种基于服务编排的服务请求和提供方法、装置以及电子设备
CN107423952A (zh) * 2017-07-25 2017-12-01 苏州博纳讯动软件有限公司 一种可扩展的DevOps持续交付***及其方法
CN107391142A (zh) * 2017-07-26 2017-11-24 北京中电普华信息技术有限公司 一种应用拆分的方法及装置
CN109189381A (zh) * 2018-10-18 2019-01-11 行吟信息科技(上海)有限公司 一种业务流组件的创建方法及装置
CN109918151A (zh) * 2019-03-14 2019-06-21 佳都新太科技股份有限公司 工作流实现方法、装置、设备及存储介质
CN110286884A (zh) * 2019-06-21 2019-09-27 北京百度网讯科技有限公司 微服务编排方法、装置、设备及计算机可读存储介质
CN110457143A (zh) * 2019-07-25 2019-11-15 腾讯科技(深圳)有限公司 微服务的调用方法及装置
CN110489181A (zh) * 2019-08-23 2019-11-22 深圳前海微众银行股份有限公司 基于微服务架构的服务运行方法、装置、平台及存储介质
CN110532020A (zh) * 2019-09-04 2019-12-03 中国工商银行股份有限公司 一种微服务编排的数据处理方法、装置及***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
微服务核心研究之--编排;沉落的星星;《https://www.jianshu.com/p/54e2e223dbac》;20190718;第1-10页 *
微服务编排;zhangjunli;《https://blog.csdn.net/zhangjunli/article/details/88656584》;20190319;第1-7页 *
微服务编排之道;Cherry_DR;《https://blog.csdn.net/cherry_dr/article/details/80132599》;20171025;第1-5页 *

Also Published As

Publication number Publication date
CN111078315A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN111078315B (zh) 微服务编排、执行方法及***、架构、设备、存储介质
US11561846B2 (en) API notebook tool
US11301287B2 (en) Pattern-based orchestration of cloud provisioning tasks at runtime
US8918448B2 (en) Application component decomposition and deployment
CN114115852A (zh) 可视化服务编排方法、装置、设备及介质
US9996336B2 (en) Apparatus and method for validating application deployment topology in cloud computing environment
US20120047506A1 (en) Resource abstraction via enabler and metadata
US20040205525A1 (en) Automatic identification of form contents
US10521243B2 (en) Pre/post deployment customization
US10996997B2 (en) API-based service command invocation
US10534582B2 (en) Application deployment on a host platform based on text tags descriptive of application requirements
US9367289B2 (en) Method and apparatus for enabling agile development of services in cloud computing and traditional environments
US11108871B2 (en) Dynamic generation of network routing configuration with service requirements
US11431563B1 (en) Intelligent management of cloud infrastructures using a cloud management platform
US20220214931A1 (en) System and method for exposing features of integration platform adapters as first-class actions in an orchestration template
US10452371B2 (en) Automating enablement state inputs to workflows in z/OSMF
CN112948110B (zh) 云应用的拓扑与编排***、方法、存储介质及电子设备
JP2023070148A (ja) ロボティックプロセスオートメーション(rpa)ロボットをリソースへ動的にバインドさせるためのシステムおよび方法
US20230401058A1 (en) Semantic functional wrappers of services
US20150317405A1 (en) Web Page Variation
JP2023152695A (ja) ロボティックプロセスオートメーション(rpa)ロボットを設計するためにブラウザを使用するシステムおよび方法
CN113448678A (zh) 应用信息生成方法、部署方法及装置、***、存储介质
US20230037199A1 (en) Intelligent integration of cloud infrastructure tools for creating cloud infrastructures
US11989558B2 (en) Automatic generation of a cloud integration adapter from a standard, programming language-agnostic interface specification
US20240220237A1 (en) Smart grouping of code packages

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