一种服务编排本地化执行系统及其方法

文档序号:1963455 发布日期:2021-12-14 浏览:21次 >En<

阅读说明:本技术 一种服务编排本地化执行系统及其方法 (Service arrangement localization execution system and method thereof ) 是由 张小刚 齐乐 陈华 尹晋文 边耐正 王绍源 于 2021-09-01 设计创作,主要内容包括:一种服务编排本地化执行系统及其方法,该系统包括HTTP服务器、本地编排执行服务器、ESB总线和客户端,客户端与ESB总线相连,ESB总线分别与HTTP服务器、本地编排执行服务器相连,设备服务应用分别与HTTP服务器、本地编排执行服务器相连。还包括一种服务编排本地化执行方法。本发明能够缩短同一服务节点编排场景下服务间的调用间隔,提升服务调用成功率,提高系统的实时性与可靠性,增强系统运行效率与稳定性。(A service arrangement localization execution system and method thereof, the system includes HTTP server, localization arrangement execution server, ESB bus and client, the client is connected with ESB bus, ESB bus is connected with HTTP server and localization arrangement execution server, the device service application is connected with HTTP server and localization arrangement execution server. A service orchestration localization execution method is also included. The invention can shorten the calling interval between services in the same service node arrangement scene, improve the success rate of service calling, improve the real-time performance and reliability of the system and enhance the operation efficiency and stability of the system.)

一种服务编排本地化执行系统及其方法

技术领域

本发明涉及工业机器人服务编排,具体是涉及一种服务在线编排本地化执行系统及其方法。

背景技术

目前,分布式工业机器人应用场景越来越复杂,软件规模越来越大,传统的分布式机器人协同由于缺乏有效的标准,开发效率低下。为了提升开发效率,SOA架构逐渐应用工业现场中。现有的方案是,机器人厂商以WebService方式,提供设备的远程操控接口,并注册到企业服务总线(Enterprise Service Bus,ESB)。同时,为了降低客户端的开发工作量,ESB总线中支持对注册进来的服务接口进行编排,从而整合成粒度更大的服务提供客户端访问。

如图1所示,某机器人提供诸如上电,移动、抓取等一系列细粒度的服务接口。ESB总线通过对机器人服务接口进行组合,编排成一个完整的工序服务对外提供服务。客户端通过对该服务调用,即可驱动机器人实体实现一个完整的工序。上述编排过程中,无需另行编写代码,只需在ESB中修改编排规则,即可灵活地实现工序的重组。

上述流程可以看出,基于ESB总线的服务编排,客户端通过对单一服务的调用即可完成复杂的逻辑调用,可提高开发效率。从执行效率来看,相比传统的“服务消费者——ESB——服务提供者”模式,基于ESB总线的服务编排方式,可以有效减少客户端与ESB总线的交互次数。然而,ESB总线与服务提供者交互次数依然保持不变;并且基于WebService访问的通信机制,其实时性与可达性均无法有效保证。这对工序步骤严谨的工业生产应用来说存在较大的风险。

目前现状是,不同于传统互联网企业中的各服务分散部署,工业机器人控制场景下,服务与设备是高度相关的,其部署位置受硬件系统约束,往往围绕同一个工序或同一机器人的相关服务应用部署在同一台工作站的HTTP服务器下对外发布,如图2所示。

基于上述背景,可以看出,传统IT行业的服务编排技术针对具体的工业现场需求,系统实时性稳定性得不得有效保证,并且没有充分利用工业生产系统的特点。

发明内容

本发明所要解决的技术问题是,克服上述背景技术的不足,提供一种服务在线编排本地化执行系统及其方法,缩短服务调用间隔,提升服务调用成功率,提高系统的实时性与可靠性,增强系统运行效率与稳定性。

本发明解决其技术问题采用的技术方案是,一种服务编排本地化执行系统,包括HTTP服务器、本地编排执行服务器、ESB总线和客户端,客户端与ESB总线相连,ESB总线分别与HTTP服务器、本地编排执行服务器相连,设备服务应用分别与HTTP服务器、本地编排执行服务器相连。

进一步,所述本地编排执行服务器包括HTTP代理模块、ESB交互模块、编排服务执行模块、编排规则验证模块和服务应用程序交互模块,HTTP代理模块分别与ESB交互模块、编排服务执行模块相连,ESB交互模块与编排规则验证模块相连,编排服务执行模块与服务应用程序交互模块相连;

所述HTTP代理模块用于接收和发送HTTP消息,负责整个模块与外部的数据交互;

所述ESB交互模块用于和ESB总线交互,获得ESB总线下发的编排规则,向ESB总线注册发布的新服务信息;

所述编排服务执行模块用于接收ESB总线转发的服务请求,解析对应的编排规则,按照编排规则对各服务接口进行调用;

所述编排规则验证模块用于验证ESB总线下发的编排规则是否符合规范,验证通过后,基于编排规则生成新服务,并将该新服务注册ESB总线上;

所述服务应用程序交互模块用于与加载的服务应用交互通信,调用服务应用中的服务接口。

一种服务编排本地化执行方法,包括以下步骤:

步骤S1:服务器实体中,分别部署HTTP服务器与本地编排执行服务器;

步骤S2:设备服务应用挂载到HTTP服务器与本地编排执行服务器,并将设备服务应用的信息注册到ESB总线;

步骤S3:ESB总线根据注册的设备服务应用的信息,对HTTP服务器下的设备服务应用的服务接口进行编排调试,生成编排规则;

步骤S4:将编排规则下发至所述HTTP服务器对应的本地编排执行服务器中;

步骤S5:本地编排执行服务器获得下发的编排规则,解析验证编排规则,验证通过后基于编排规则生成一个新服务;

步骤S6:对外发布基于编排规则生成的新服务,并将该新服务注册到ESB总线;

步骤S7:用户通过ESB总线请求该基于编排规则的新服务时,本地编排执行服务器按照编排规则通过服务应用程序交互模块对各服务接口进行调用。

进一步,步骤S2中,所述设备服务应用按照HTTP服务器以及服务应用程序交互模块中均支持的接口规范实现。

进一步,步骤S3中,所述编排规则是指关于服务接口调用顺序与参数的编排规则。

进一步,步骤S3中,所述编排规则采用xml或json格式的标记语言进行描述。

进一步,步骤S5中,基于编排规则生成一个新服务具体是根据编排规则将细粒度的设备服务应用组合成大粒度的设备服务应用。

进一步,步骤S7的具体过程为:客户端通过ESB总线访问基于编排规则的新服务,ESB总线将请求数据转发至本地编排执行服务器,由本地编排执行服务器在服务器本地按照编排规则通过服务应用程序交互模块对挂载的服务应用程序中的服务接口进行依次调用。

与现有技术相比,本发明的优点如下:

本发明针对工业应用场景下设备服务软硬耦合的特点提出结合ESB总线与本地服务编排代理架构的在线编排本地执行系统与方法,定义本地服务代理与ESB总线通信协议,改进单纯通过ESB总线来进行编排规则的调度,从而缩短同一服务节点编排场景下服务间的调用间隔,提升服务调用成功率;不改变传统服务编排的灵活性与易用性,保持其开发效率;将编排业务逻辑执行下沉至工作站层执行,减少ESB总线工作负载的同时化分布式网络通信为本地进程间通信,显著提高系统的实时性与可靠性,有助于增强系统运行效率与稳定性。

附图说明

图1是现有技术中服务编排的时序图。

图2是现有技术中机器人的服务示意图。

图3是本发明实施例服务编排本地化执行系统的结构示意图。

图4是图3所示实施例的本地编排执行服务器的结构示意图。

图5是本发明实施例服务编排本地化执行方法的示意图。

图6是图5所示实施例的时序图(b)与现有的时序图(a)的对比。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细描述。

参照图3,本实施例服务编排本地化执行系统包括HTTP服务器、本地编排执行服务器、ESB总线、客户端,客户端与ESB总线相连,ESB总线分别与HTTP服务器、本地编排执行服务器相连,设备服务应用分别与HTTP服务器、本地编排执行服务器相连。本地编排执行服务器与HTTP服务器一一对应,每个工作站服务器实体,均部署一个HTTP服务器和与之对应的本地编排执行服务器,两者均可对绑定的服务进行管理调用。

HTTP服务器采用Apache HTTP服务器,其是一个开源网络服务器,能够解析通过HTTP发送过来的用户请求消息,支持各类服务应用标准协议规范与目标服务应用进行通信,获得处理结果后,通过HTTP协议返回处理结果。

本地编排执行服务器,类似HTTP服务器,除此之外其还提供编排规则注册与基于编排规则生成服务并发布的功能。本地编排执行服务器提供一个注册接口,接收编排规则,验证通过后,基于编排规则将细粒度的设备服务应用组合成大粒度的设备服务应用对外发布,并注册到ESB总线以供用户查询调用。

ESB总线具有前端控制界面,可以通过图形化方式对总线进行操控,实现诸如服务注册、编排以及编排结果下发功能。

客户端通过ESB总线访问基于编排规则的服务。

编排规则是由管理人员通过ESB总线对已经注册设备服务应用的调用顺序以及参数进行指定的描述性内容,采用json格式语言进行描述。

参照图4,本地编排执行服务器包括HTTP代理模块、ESB交互模块、编排服务执行模块、编排规则验证模块、服务应用程序交互模块,HTTP代理模块分别与ESB交互模块、编排服务执行模块相连,ESB交互模块与编排规则验证模块相连,编排服务执行模块与服务应用程序交互模块相连。

HTTP代理模块用于接收和发送HTTP消息,负责整个模块与外部的数据交互。

ESB交互模块用于和ESB总线交互,获得ESB总线下发的编排规则,向ESB总线注册发布的新服务信息。

编排服务执行模块用于接收ESB总线转发的服务请求,解析对应的编排规则,按照编排规则对各服务接口进行调用。

编排规则验证模块用于验证ESB总线下发的编排规则是否符合规范,验证通过后,基于编排规则生成新服务,并将该新服务注册ESB总线上。

服务应用程序交互模块用于与加载的服务应用交互通信,调用服务应用中的服务接口。本实施例中,该模块支持Fast CGI方式的服务应用接口规范,实施例中的设备服务应用按照Fast CGI接口规范标准实现。

参照图5,本实施例服务编排本地化执行方法包括以下步骤:

步骤S1:服务器实体中,分别部署HTTP服务器与本地编排执行服务器;

步骤S2:以Fast CGI接口规范实现的设备服务应用挂载到HTTP服务器与本地编排执行服务器,并将设备服务应用的信息注册到ESB总线;

步骤S3:ESB总线根据注册的设备服务应用的信息,对HTTP服务器下的设备服务应用的服务接口进行编排调试,生成关于服务接口调用顺序与参数的编排规则;本实施例中,编排规则采用json格式的标记语言进行描述,在具体应用中,还可采用诸如xml格式的标记语言进行描述。

步骤S4:将编排规则下发至所述HTTP服务器对应的本地编排执行服务器中;

步骤S5:本地编排执行服务器获得下发的编排规则,解析验证编排规则,验证通过后基于编排规则生成一个新服务,新服务具体是根据编排规则将细粒度的设备服务应用组合成大粒度的设备服务应用;

步骤S6:对外发布基于编排规则生成的新服务,并将该新服务注册到ESB总线;

步骤S7:用户通过ESB总线请求该基于编排规则的新服务时,本地编排执行服务器按照编排规则通过服务应用程序交互模块对各服务接口进行调用。具体为:客户端通过ESB总线访问基于编排规则的新服务,ESB总线将请求数据转发至本地编排执行服务器,由本地编排执行服务器在服务器本地按照编排规则通过服务应用程序交互模块对挂载的服务应用程序中的服务接口进行依次调用。

本实施例的具体应用场景是工业六轴机器人和冲压机床构建成的冲压产线,每台工业六轴机器人和冲压机床负责完成一系列冲压操作。本实施步骤S1中,工控机中分别部署Apache HTTP服务器与本地编排执行服务器。S2中按照Fast CGI接口规范标准实现工业六轴机器人的设备服务应用,提供开机、点对点移动、关节旋转、抓取、IO设置、IO读取功能接口,配置挂载于Apache HTTP服务器与本地编排执行服务器下。

步骤S6过程中,除了用户请求和处理结果返回,机器人服务接口调用过程中不再涉及网络数据传输。

图6是现有的时序图(a)与本实施例方法的时序图(b)的对比。本实施方法的详细时序图如图b)所示,对比图如图(a)所示,可以看出本发明充分利用工业应用中服务与实体关联性,提出一种在线编排本地部署运行管理方式,从而将网络请求转变为控制站内进程间的通信,显著提高时效性与稳定性的同时减少对ESB总线的资源消耗。

本发明针对工业应用场景下设备服务软硬耦合的特点提出结合ESB总线与本地服务编排代理架构的在线编排本地执行系统与方法,定义本地服务代理与ESB总线通信协议,改进单纯通过ESB总线来进行编排规则的执行调度,从而缩短同一服务节点编排场景下服务间的调用间隔,提升服务调用成功率;不改变传统服务编排开发的灵活性与易用性,保持其开发效率;将编排业务逻辑执行下沉至工作站层执行,减少ESB总线工作负载的同时化分布式网络通信为本地进程间通信,显著提高系统的实时性与可靠性,有助于增强系统运行效率与稳定性。

本领域的技术人员可以对本发明进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。

说明书中未详细描述的内容为本领域技术人员公知的现有技术。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:代码开发的处理方法、装置、电子设备与存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!