APP下载

面向云制造的服务组合执行引擎框架研究

2018-02-23项哲锐张元鸣章振杰陆佳炜

图学学报 2018年6期
关键词:调用引擎条件

肖 刚,项哲锐,张元鸣,章振杰,陆佳炜,高 飞



面向云制造的服务组合执行引擎框架研究

肖 刚1,2,项哲锐1,张元鸣2,章振杰1,陆佳炜2,高 飞2

(1. 浙江工业大学机械工程学院,浙江 杭州 310014;2. 浙江工业大学计算机科学与技术学院,浙江 杭州 310023)

云制造模式下,制造资源被封装成制造服务,通常以服务组合的方式满足用户复杂的制造需求。针对云制造服务组合执行过程中高效性、准确性和动态性等要求,提出了面向云制造的服务组合执行引擎框架,并详细阐述了引擎运行机制。首先,通过解析云制造服务组合描述文件,构造服务组合节点和服务组合依赖边,建立服务组合节点参数关联关系,归纳推倒出相应的执行规则。然后,基于执行状态变更的服务组合执行算法实现了制造服务组合的动态执行。最后,给出了面向电梯产业联盟的云制造服务组合执行引擎实例,验证了框架的可行性和有效性。

云制造;服务组合;服务组合执行;执行引擎

云制造(cloud manufacturing,CMfg)是一种面向服务的网络化制造新模式[1],利用云计算、物联网等技术将各类制造资源和制造能力虚拟化、服务化,通过云制造平台实现多方共赢、普适化和高效的共享与协同[2]。云制造模式中,用户发布制造任务后选择合适的云制造服务,在业务流程的驱动下[3]得到云制造服务组合。云制造服务组合作为提高云制造资源利用率、实现制造资源增值的关键途径之一,对云制造的实施和开展具有重要作用[4]。为完成制造任务,需要在云制造服务组合的执行阶段[5]对制造服务进行调用。目前,众多云制造平台[6-8]处于研发试用阶段,用户已经可以在云制造平台上对制造服务进行组合来满足自身的业务需求[9]。因此如何有效地对云制造服务组合进行执行,成为云制造领域迫切需要解决的问题。

针对服务组合的执行问题,研究者们提出了多种服务组合执行方案:宋波和李妙妍[10]提出了先创建服务组合模型,然后将模型转化为BPEL描述,最后在BPEL引擎上加以执行的方法;王朔等[11]针对服务组合模型转化为BPEL后的执行效率问题,提出了层次化服务流程向可执行BPEL转换的方法对服务组合执行进行优化;铁威等[12]通过扩展BPEL元模型,增加了BPEL对异步RESTful Web服务组合的支持,并设计实现了扩展后的BPEL执行引擎。但是以上方案需要建立服务组合模型并进行模型转换,流程较为复杂,需要专业的开发人员。班倩超等[13]针对业务模型转化为执行模型的语义失配缺陷问题,提出了一种基于业务流程建模标注的Web服务组合执行方案,但一定程度依赖于Web服务的结构,不具备良好的通用性。孙强等[14]将Petri网应用于服务组合领域,使用基于Petri网的服务组合执行引擎实现服务组合的执行;陈伟安和高春鸣[15]针对Web服务组合执行引擎中解耦流程执行和成分Web服务调用问题,提出了一种基于反馈控制的Web服务组合执行引擎,提高引擎性能。但是这些方法没有考虑服务组合执行过程中的流程判断问题,不能应用于包含选择、并行等结构的服务组合。

以上方案并不能很好地运用于云制造服务组合的执行:①自身方案不够完善,存在各自不足;②面向的服务对象主要为传统Web服务。与传统Web服务相比,云制造服务的调用周期较长,在复杂多变的云制造运行环境下调用条件更为苛刻[16-18],需要在执行过程中通过流程验证方法[19-23]防止服务组合执行阶段因服务失效造成执行失败。

结合上述分析,服务组合执行引擎能较好地改进上述方案的不足,具有较大的现实意义。执行引擎解耦了服务选择和服务执行过程,实现了多服务之间的参数传递和自动调用,使用户专注于业务逻辑层面的服务优选组合操作,由执行引擎对服务进行统一调度,同时为云平台后期对云制造服务进行质量监控、流量统计以及调用决策等方面的进一步研究打下基础。本文通过解析云制造服务组合中的服务组合依赖和服务组合节点,保证执行过程中流程判断的正确性,通过基于执行状态变更的服务组合执行算法实现云制造模式下服务组合的动态执行,提出了一种面向云制造的服务组合执行引擎框架。

1 服务组合执行问题描述

如图1所示,对于一个云制造服务组合,包含了1、2、3、4、5、6、7、8等8个云制造服务,每个方块表示一个云制造服务,每个服务的具体信息见表1,云制造服务之间的连线代表2个云制造服务之间的依赖关系。

该服务组合执行流程如下:Start表示服务组合的原始输入参数IT,获得原始输入后开始调用服务1、5,得到1的调用结果、、、、和5的调用结果后,将、、、作为2的输入参数,自动执行2得到调用结果P,结合1的调用结果自动调用3,获得3的调用结果T按照此规则,最终获得8的调用结果A作为云制造服务组合的执行结果。

图1 云制造服务组合

表1 服务属性表

云制造模式下,制造企业通过虚拟化技术将制造资源封装成服务并发布到云制造平台中,用户通过服务组合的方式满足自身复杂的制造需求。由于用户需求的多样化,会产生大量的云制造服务组合,所有服务组合共享云平台服务库中的云制造服务。如图2所示,由于云制造服务组合只包含了需要调用的服务及其调用顺序,为了实现其执行,需要设计一个执行引擎进行解读,管理服务参数,按照组合逻辑自动调用云制造服务。

图2 服务组合与服务组合执行

2 服务组合执行方法

2.1 服务组合描述文件

服务组合是由多个服务及服务间复杂的调用逻辑和严格的调用时序所共同组成的整体。为了保证以服务组合的方式实现业务流程的正确运行,本文将服务组合中的服务及其关系抽象为服务组合节点、服务组合依赖边和节点参数关联,进行结构化描述,以Json格式进行持久化,生成服务组合描述文件,保存在云平台中。以图1中的服务组合为例,其云制造服务组合描述文件如下所示:

{"comeFrom": "yzz016",

"area": "垂直梯",

"Links":

{

"7": {"child": {"and": [{"id":"3"}]}, "father": {"and": [{"id": "6","paramMatch": [{"M1": "M1"}]}]}},

"6":{"child":{"and":[{"id":"5"},{"id":"7"}]},"father":{"and": [{"id": "end","paramMatch": []}]}},

"5":{"child":{"and":[{"id":"3"},{"id":"0"},{"id":"4"}]},"father":{"and":[{"id":"6","paramMatch":[{"Mmax":"Mmax"}]}]}},

"0": {"child": {"and": []},"father": {"and": [{"id": "1","paramMatch": [{"Q": "Q"}, {"V": "V"}, {"alpha": "alpha"}, {"H": "H"}],"paramRule":[{"Q": "Q>2000"}]},{"id": "2","paramMatch": [{"V": "V"}]}, {"id": "5","paramMatch": [{"alpha": "alpha"}, {"Q": "Q"}]}]}},

"end": "6"

},

"description": "用于曳引机扭矩校核",

"name": "yyjjhxt",

"edgeInCanvas": [{"0": "1"}, {"1": "2"}, {"0": "2"}, {"2": "3"}, {"3": "5"}, {"0": "5"}, {"4": "5"}, {"3": "7"}, {"5": "6"}, {"7": "6"}],

"executeArr": [],

"chiName": "曳引机校核系统",

"Nodes":

{

"3":{"id":"3","outputParams":[{"param":"Imax"},{"param":"D1"},{"param":"N"},{"param":"n1"},{"param":"RGS"},{"param":"gama"},{"param":"beta"},{"param":"i"}],"realId":"20171122173123789","inputParams":[{"mathed":"true","param": "Tractortype"}],"name": "tractor technical parameter query","chiName": "曳引机技术参数查询","y": 229.33333206176758,"x": 497.75},

"2":{"id":"2","outputParams":[{"param":"Tractortype"}],"realId":"20171117163421730","inputParams":[{"mathed":"true", "param":"V"},{"mathed":"true","param":"Pd"}],"name": "tractor choose","chiName": "曳引机选型","y": 194.33333206176758,"x": 455.75},

}

}

服务组合描述文件中的Nodes和Links是对服务组合节点和服务组合依赖边的文本描述。Nodes代表云制造服务组合中所有服务组合节点的集合,组合文件通过该集合描述执行过程中需要调用的云制造服务;Links代表云制造服务组合中所有服务组合依赖边集合,组合文件通过该集合描述云制造服务之间的调用顺序、参数匹配以及参数依赖。

服务组合节点是指云制造服务组合系统中的服务本身以及其所依赖的参数和依赖该节点输出的参数,用表示。

定义1. 服务组合节点可表示为一个四元组=(,,,),其中,为节点的标识;为节点所包含服务的名称;为节点所依赖的输入参数,其个数称为入度;为依赖节点输出的参数,其个数称为出度。

服务组合依赖边是指云制造服务组合系统中节点之间的参数依赖关系,用表示。

定义2. 服务组合依赖边可表示为五元组=(,,,,),其中,为依赖边的标识;o为依赖边的起点;o为依赖边的终点;为依赖边的匹配条件;为依赖边的依赖条件,不存在依赖条件时用表示。

2.2 服务组合节点参数关联关系

服务组合节点参数关联关系指的是作用于同一节点的输入参数或者输出参数之间的关系。每个云制造服务都包含输入参数和输出参数,在服务组合过程中,复杂的组合逻辑使得输入、输出参数之间产生各种关联,通过服务组合节点参数关联关系对其进行阐述,作为服务组合在执行过程中流程判断的依据。服务组合节点参数关联关系如图3所示,包含以下4种类型:

(1) 输入并行关系。云制造服务组合节点的入度为,以该节点为终点的依赖边的个数为,若满足=,则称该节点为输入并行关系。

(2) 输入选择关系。云制造服务组合节点的入度为,以该节点为终点的依赖边的个数为,若满足<,则称该节点为输入选择关系。

(3) 输出并行关系。云制造服务组合节点的出度为,以该节点为起点的依赖边的个数为,若满足=,则称该节点为输出并行关系。

(4) 输出选择关系。云制造服务组合节点的出度为,以该节点为起点的依赖边的个数为,若满足<,则称该节点为输出选择关系。

图3 云制造服务节点NO参数关联关系

2.3 服务组合执行实例化

当云制造服务组合执行时,执行引擎会读取其描述文件,在内存中生成云制造服务组合执行时对象(cloud manufacturing service composition execution object,CMSCEO),完成服务组合的一次实例化。每个CMSCEO包含区分执行时对象的唯一标志符,执行状态信息(包括等待、执行、挂起和结束状态)以及记录运行过程的执行上下文。服务组合每次执行都会产生一个新的执行时对象。

定义3.云制造服务组合执行时对象可以表示为一个三元组=(V,l,V),其中:

(1)V={NO|NO是服务组合节点,1≤≤},表示所有服务组合节点集合;

(2)l={LO|LO是服务组合依赖边,1≤≤},表示所有服务组合依赖边集合;

(3)V={NO|j是服务组合节点,1≤≤},表示正在执行的服务组合节点集合。

云制造服务组合执行时对象初始化过程包括服务组合节点初始化和服务组合依赖边初始化。

首先,读取服务组合描述文件Nodes中的信息,获取服务组合包含的云制造服务以及服务具体信息完成云制造服务组合节点初始化。其次,读取服务组合描述文件Links中的信息,提取服务间的参数匹配关系和参数依赖关系完成云制造服务组合依赖边初始化。然后,根据获得的节点和依赖边,计算每个服务组合节点的出度和入度,确定每个服务组合节点的参数关联关系。最终,云制造服务组合节点和云制造服务组合依赖边的集合共同构成执行时对象。

以图1中的服务组合为例,执行时对象的初始化过程为:

对于云制造服务1,该服务的输入参数为I,输出参数为、、、、,设1为包含1的云制造服务组合节点,该节点的为1。因为1的输入参数I依赖于Start节点的1个原始参数I,所以节点1的入度为1;1的输出参数被2的输入参数和6的输入参数所依赖,输出参数未被其他服务参数依赖,结合其他输出参数、、的被依赖情况,可得到共有7个参数依赖于节点1的输出,所以出度为7。最终得到节点1={1,1,1,7}。同理,可得节点1~8。

对于云制造服务组合节点1和2,由于1的输出参数作为2的输入参数,即参数匹配关系:→,同时根据约束条件只有当1的输出参数大于2 000时才能作为2的输入参数的输入,即存在参数依赖关系:>2000,所以涉及的依赖边表示为1={1,1,2,→,>2000}。同理。可得依赖边2~24。

云制造服务组合节点和云制造服务组合依赖边初始化完成后,对服务组合节点参数关联关系进行判断。服务组合节点2={2,2,4,1},该节点的输入参数依赖于1的、、、的4个输出参数,所以入度为4,以该节点为终点的依赖边有1={1,1,2,→,>2000},2={1,1,2,→,},3={1,1,2,→,},4={1,1,2,→,},共4条,与入度数量相等,所以为输入并行关系;共有1个参数(3输入参数P)依赖于该节点的输出参数,所以出度为1,以该节点为起点的依赖边有8={1,2,3,PP,},共1个,与出度数量相等,所以为输出并行关系。同理,可得其他服务组合节点的参数关联关系。

将依赖于Start节点的1和5归入正在执行的服务组合节点集合,最终得到执行时对象如下:

V={NO|NO是云制造服服组合节点,1≤≤8};

l= {LO|LO是云制造服务组合依赖边,1≤≤24 };

V= {1,5}。

3 服务组合执行引擎框架

云制造服务组合执行引擎的框架如图4所示,包括业务层、调度层、执行层、服务层和交互层。

(1) 业务层。执行引擎在业务层中对云制造服务组合描述文件进行相关操作,包括云制造服务组合描述文件的创建、查找、存储、修改以及删除,并对外提供操作接口。

图4 云制造服务组合执行引擎框架

(2) 调度层。执行引擎在调度层中进行云制造服务组合执行任务的调度。调度层中包含任务请求队列、任务线程池、任务管理器、负载监测模块,负责云制造服务组合从开始运行到执行完毕的整个生命周期管理。其中,任务请求队列是一个队列对象,用户每次发起云制造服务组合执行请求,执行引擎将把请求加入该队列中;任务线程池是执行引擎管理工作线程的工具,可以根据硬件条件和用户需求设置有效的工作线程数量;任务管理器是执行引擎管理任务执行请求的工具,负责从队列中获取任务执行请求,以及为任务请求分配工作线程;负载监测模块用于根据当前任务数量监测引擎负载。

(3) 执行层。执行引擎在执行层完成云制造服务组合的执行流程解析和服务调用。执行层包含预处理模块、流程解析模块、服务调用模块、服务监控模块、异常处理模块等。其中,预处理模块负责读取云制造服务组合文件,并将云制造服务组合文件转化为执行时对象;流程解析模块负责执行时对象执行过程中节点的服务执行条件判断和执行状态转移条件判断;服务调用模块负责接收用户外部参数输入,并通过服务操作接口实现云制造服务的调用;服务监控模块负责服务调用过程中的服务监控,并将服务调用日志记录在服务状态文档中;异常处理模块负责云制造服务组合执行过程中发生服务调用异常时的相关处理操作。

(4) 服务层。执行引擎在服务层中对云制造服务进行相关操作,包括云制造服务的查找、聚类、替换以及调用,并对外提供云制造服务操作接口。

(5) 交互层。交互层是由前端页面组成,提供用户对执行引擎进行各种操作的入口,包括业务层交互、调度层交互、执行层交互和服务层交互。用户通过业务层交互对执行引擎发起云制造服务组合描述文件的相关操作请求;用户通过调度层交互查看引擎当前包含的执行任务,并可以使用任务管理器设置任务执行的优先级;用户通过执行层交互输入服务调用需要的外部输入参数,查看服务调用结果;用户通过服务层交互对执行引擎发起云制造服务的相关操作请求。

云制造服务组合的执行需要引擎框架中的业务层、调度层、执行层、服务层和交互层共同协作完成,执行引擎的执行流程如图5所示。用户通过交互层选择需要运行的云制造服务组合并通过服务层提供的云制造服务操作接口查看云制造服务组合中包含的云制造服务的具体信息,在业务层中调用云制造服务组合操作接口,根据读取的服务组合文件生成运行实例,在调度层中将运行实例放入运行实例队列,执行引擎不断轮询任务线程池中的空闲线程数量,当查询到有空闲的任务线程并且引擎负载在正常范围内时,任务管理器将运行实例从队列中取出,占用该空闲任务线程。任务线程在执行层中生成云制造服务组合执行时对象,调用流程解析模块解析执行时对象的执行流程顺序,然后结合服务调用模块实现服务的自动调用,同时用户通过交互层输入服务调用需要的外部参数,利用服务监控模块和异常处理模块确保服务调用的正常执行,得到服务调用的结果。

图5 执行引擎运行流程

4 服务组合执行引擎的运行机制

云制造服务组合的执行过程可以抽象为云制造服务组合执行时对象(V,l,V)的执行状态变更过程。每次组合节点中的云制造服务调用完成,则发生执行状态变更。串行业务流程所形成的云制造服务组合呈线性结构,引擎解析节点参数关联关系依次调用云制造服务,经过一定次数的执行状态变更,得到最终结果;并行业务流程所形成的云制造服务组合呈分叉结构,引擎解析节点参数关联关系,获取并行服务的信息并发起调用,待多次执行状态变更操作完成,则并行业务流程结束。当正在执行的云制造服务组合节点集合V中节点数量为0时,称执行状态为稳定状态,否则为不稳定状态。通过上述分析,将云制造服务组合执行问题转化为执行状态判断流程。此时如若正在执行的云制造服务组合发生变化(例如,服务失效),执行引擎不会受其影响运行出错,而是根据服务组合的执行状态是否稳定而继续运行,即将服务组合原本基于流程的静态执行转化为动态执行。

如图6所示,执行状态变更分为执行状态转移和服务执行两个环节,当某个云制造服务组合节点执行完毕后,获取后续将要执行的云制造服务组合节点,对满足执行状态转移条件和服务执行条件的节点完成执行状态变更操作。

图6 执行状态变更示意图

算法1. 服务组合动态执行算法。

Input:V,V,l

Output:

(1)V

(2) IF=THEN V.add(n)

(3) END IF

(4) WHILE(V)>0:

(5)n = V. reduce()

(6) IF=THEN

(7)=()

(8) IF>0 THEN

(9)lV=

(10) IF=THEN

(11) IF !V.contains ()

(12)V.add ()

(13) END IF

(14) END FOR

(15) END IF

(16) END WHILE

(17) RETURN

基于执行状态变更的服务组合执行算法见算法1,其中,为云制造服务组合节点;l为云制造服务组合依赖边;=为节点满足服务执行条件;=为依赖边l的起点节点满足到终点节点的执行状态转移条件。其具体过程为:首先,获取节点集合V进行循环判断,找出入度为0的节点放入正在执行的节点集合V(第1~3行)。其次,对V中的节点循环判断是否满足服务执行条件,如若节点满足条件,则执行节点包含的云制造服务,将执行结果保存在CMSCEO的上下文中(第4~7行)。然后将节点从V中去除,判断与其后续节点是否满足执行状态转移条件,如果满足,则将该后续节点放入V,继续循环直到执行状态达到稳定。最终,返回服务组合执行结果(第8~17行)。

(1) 服务执行条件的判断规则为:当判断节点执行条件时,首先获取以为终点并且满足依赖条件的所有依赖边,依次查询依赖边中包含的参数匹配条件,然后从的上下文中搜索依赖边的起始节点的执行结果,若所有匹配条件中涉及的参数都在上下文中找到对应执行结果,并且节点的输入参数都有对应的匹配参数,则说明满足节点执行条件。

(2) 执行状态转移条件的判断规则为:设节点1服务执行完毕,2为1的后续节点,(,1,2,,)为连接1,2的依赖边,开始进行1到2的转移条件判断。①当1为输出并行关系,2为输入并行关系时:若满足依赖条件,则说明满足1到2执行状态转移条件。②当1为输出并行关系,2为输入选择关系时:若中是1的输出参数与2的输入参数的参数匹配关系,当以2为终点并且匹配条件涉及该参数的依赖边数目为1时,若满足的依赖条件,则说明满足1到2执行状态转移条件;当以2为终点并且匹配条件涉及该参数的依赖边数目>1时,则说明参数是选择逻辑,只有当满足依赖条件时,说明有且仅有1能满足到2的执行状态转移条件,于此同时把其他依赖边的置为。③当1为输出选择关系,2为输入并行关系时,若中是1的输出参数与2的输入参数的参数匹配关系,当以1为起点并且涉及该参数的依赖边数目等于1,若满足的依赖条件,则说明满足1到2执行状态转移条件;当以1为起点并且涉及该参数的依赖边数目>1,则说明参数是选择逻辑,只有当满足依赖条件时,说明有且仅有1能满足到2的执行状态转移条件,于此同时把其他依赖边的置为。④当1为输出选择关系,2为输入选择关系时:若中是1的输出参数与2的输入参数的参数匹配关系。当以1为起点并且涉及该参数的依赖边数目等于1,以2为终点并且涉及该参数的依赖边数目等于1,若满足的依赖条件,则说明满足1到2执行状态转移条件;当以1为起点并且涉及该参数的依赖边数目等于1,以2为终点并且涉及该参数的依赖边数目>1,只有当满足依赖条件时,说明有且仅有1能满足到2的执行状态转移条件,于此同时把其他涉及参数的依赖边的置为;当以1为起点并且涉及该参数的依赖边数目>1,以2为终点并且涉及该参数的依赖边数目等于1,只有当满足依赖条件时,说明有且仅有1能满足到2的执行状态转移条件,于此同时把其他涉及参数的依赖边的置为;当以1为起点并且涉及该参数的依赖边数目>1,以2为终点并且涉及该参数的依赖边数目>1,只有当满足依赖条件时,说明有且仅有1能满足到2的执行状态转移条件,于此同时把其他涉及参数和的依赖边的置为。

5 实例验证

电梯作为一类重要的特种设备,对电梯企业的生产水平具有较高要求,然而由于大多数电梯企业属于中小型企业,制造资源短缺,不具备独立自主研发的条件;另一方面,具有优质资源的大企业,在生产过程中往往出现制造资源闲置现象。

本文依托面向电梯产业联盟的云制造平台[24],以Intel Xeon X3430 2.40 GH、8 G内存、320 G硬盘的服务器和Windows10操作系统终端作为硬件开发环境,以Java和Javascript编程语言,Eclipse开发环境、Mysql数据库、Tomcat7.0服务器、Windows10操作系统等为软件开发环境,结合服务组合执行引擎框架构建了面向电梯产业联盟的云制造服务组合执行引擎,实现了云制造平台对于大量个性化服务组合的执行功能。

本节以电梯制造过程中的设计阶段为例,验证执行引擎的有效性。电梯的设计本质上是根据领域知识对制造资源中计算资源的使用,通过面向电梯产业联盟的云制造平台对计算服务进行组合,可以为不同联盟企业用户定制个性化的设计计算系统。图7给出了电梯曳引机校验服务组合的执行过程。

(1) 根据曳引机校验流程对云制造服务进行服务组合。通过云制造服务信息区查看服务的具体信息,在云制造服务库中选取需要的服务,在服务组合操作区域定义服务调用流程,在服务匹配操作区域为服务节点之间添加参数匹配条件和参数依赖条件,最终生成云制造服务组合并产生相应的云制造服务组合描述文件,曳引机校验流程服务组合和该组合涉及的具体服务如图1和表1所示,相应生成的服务组合描述文件及参数依赖关系在第2节已做详细说明。

(2) 引擎读取服务组合描述文件开始执行。曳引机校核服务组合包含的云制造服务显示在服务列表区,运行区中部显示当前正在执行的云制造服务的输入参数表单,底部显示服务调用结果。所有执行步骤完成后最终云制造服务组合得出执行结果“max<1,满足设计要求”,与实际设计结果相符。

按照上述流程,云制造平台管理员对所有云制造服务组合进行管理,根据电梯企业用户各自提出的服务组合定制需求,为不同的企业组合出个性化的电梯设计计算服务组合。通过云制造平台,如图8所示垂直梯设计计算和扶梯设计计算的流程,分别为西奥电梯公司设计了垂直梯设计设计算服务组合,为巨人电梯公司设计了扶梯设计计算服务组合,并同时在执行引擎中进行执行,执行效果如图9所示。

图8 电梯设计计算服务流程图

图9 电梯设计计算服务组合执行引擎运行效果图

企业设计人员通过选择垂直梯设计计算服务组合和扶梯设计计算服务组合进行执行,最后获得垂直梯和扶梯的设计计算说明书。由实例运行结果可知,该引擎框架能正确解析云制造服务组合的执行流程,并实现云制造服务的自动调用,进一步推进了云制造技术的发展,使云制造平台在集成企业以服务方式发布的制造资源的同时,支持用户在产业联盟电梯产品的设计、生产、装配、测试、认证等制造活动过程中,自主、高效、灵活地组合所需要的设计服务、分析服务、装配服务、测试服务,并且将最终的组合方案以云制造服务组合的形式由引擎自动执行,实现企业间资源共享和按需调度。

6 结束语

云制造模式下,服务组合是实现制造资源增值的重要手段。本文提出了一种面向云制造的服务组合执行引擎框架,对云制造服务组合的执行方法、运行机制、框架结构进行了详细阐述。基于该执行引擎,可以解析制造服务组合描述文件,构造云制造服务节点和云制造服务依赖边,实现了动态环境下制造服务组合的自动执行。最后以面向产业联盟的云制造服务平台为例,验证了执行引擎框架的可行性和有效性。下一步将针对云制造服务组合的高并发执行情况下,确保执行引擎执行准确率的同时提高执行效率进行研究。

[1] 李伯虎, 张霖, 王时龙, 等. 云制造——面向服务的网络化制造新模式[J]. 计算机集成制造系统, 2010, 16(1): 1-7.

[2] 李伯虎, 张霖, 任磊, 等. 再论云制造[J]. 计算机集成制造系统, 2011, 17(3): 449-457.

[3] 张霖, 罗永亮, 陶飞, 等. 制造云构建关键技术研究[J]. 计算机集成制造系统, 2010, 16(11): 2510-2520.

[4] 陶飞, 张霖, 郭华, 等. 云制造特征及云服务组合关键问题研究[J]. 计算机集成制造系统, 2011, 17(3): 477-486.

[5] 易树平, 刘觅, 温沛涵. 基于全生命周期的云制造服务研究综述[J]. 计算机集成制造系统, 2016, 22(4): 871-883.

[6] 尹瀚坤, 尹超, 龚小容, 等. 汽摩零部件新产品开发云制造平台总体框架及关键技术[J]. 计算机集成制造系统, 2013, 19(9): 2332-2339.

[7] 杨琛, 王中杰, 刘朝辉, 等. 面向起重机企业的云制造服务平台的研究与应用[J]. 系统仿真学报, 2017, 29(6): 1351-1358.

[8] 杨晨, 李伯虎, 柴旭东, 等. 面向云制造的云仿真支撑框架及应用过程模型[J]. 计算机集成制造系统, 2012, 18(7): 1444-1452.

[9] 赵秋云, 魏乐, 舒红平. 基于业务流程的制造云服务组合模型[J]. 计算机应用, 2014, 34(11): 3100-3103.

[10] 宋波, 李妙妍. 面向Web服务的BPEL的研究与实现[J]. 计算机工程与设计, 2007, 28(9): 2212-2214.

[11] 王朔, 王忠杰, 于梦, 等. 层次化服务流程向可执行BPEL转换的方法[J]. 计算机科学与探索, 2015, 9(7): 781-792.

[12] 铁威, 黄志球, 王进, 等. 基于BPEL的RESTful Web服务异步交互及组合研究[J]. 计算机工程与科学, 2013, 35(4): 29-36.

[13] 班倩超, 刘旭东, 曾晋, 等. 基于BPMN的服务组合执行引擎的研究与实现[J]. 计算机应用研究, 2009, 26(7): 2554-2558.

[14] 孙强, 马炳先, 孙华强. Web服务组合构建与执行的Petri网平台研究[J]. 计算机科学, 2016, 43(11): 117-120.

[15] 陈伟安, 高春鸣. 一种基于反馈控制的Web服务组合执行引擎设计[J]. 计算机工程与应用, 2007, 43(29): 154-158.

[16] YADEKAR Y, SHEHAB E, MEHNEN J. Taxonomy and uncert-ainties of cloud manufacturing [J]. International Journal of Agile Systems & Management, 2016, 9(1): 48-66.

[17] LIU W, LIU B, SUN D, et al. Study on multi-task oriented services composition and optimisation with the ‘multi-composition for each task’ pattern in cloud manufacturing systems [J]. International Journal of Computer Integrated Manufacturing, 2013, 26(8): 786-805.

[18] 章振杰, 张元鸣, 徐雪松, 等. 基于动态匹配网络的制造服务组合自适应方法[J/OL]. 软件学报, 2018, 29(11). [2018-02-05]. http://www.jos.org.cn/1000-9825/ 5475.html.

[19] 黄贻望, 徐松金, 冯在文, 等. 基于数据流约束的可配置业务流程分析与验证[J]. 计算机集成制造系统, 2017, 23(8): 1797-1808.

[20] 易良辰, 黄林鹏. 基于抽象状态机的普适服务组合分析与验证[J]. 微电子学和计算机, 2013, 30(3): 122-126.

[21] 敬石开, 姜浩, 许文婷, 等. 考虑执行可靠性的云制造服务组合算法[J]. 计算机辅助设计与图形学学报, 2014, 26(3): 392-400.

[22] 单保华, 韩燕波, 李厚福, 等. 一种验证业务级服务组合可执行能力的方法[J]. 计算机科学, 2006, 33 (3): 114-116.

[23] 刘之强, 李红燕, 王磊, 等. 面向业务流程的数据模型异常检测方法[J]. 计算机学报, 2010, 33(8): 1349-1358.

[24] 肖刚, 柯旭东, 张元鸣, 等. 面向产业联盟的云制造应用模式及关键技术研究[J]. 浙江工业大学学报, 2018, 46(1): 11-20.

Research on Service Composition Execution Engine Framework for Cloud Manufacturing

XIAO Gang1,2, XIANG Zherui1, ZHANG Yuanming2, ZHANG Zhenjie1, LU Jiawei2, GAO Fei2

(1. College of Mechanical Engineering, Zhejiang University of Technology, Hangzhou Zhejiang 310014, China; 2. College of Computer Science and Technology, Zhejiang University of Technology, Hangzhou Zhejiang 310023, China)

In the cloud manufacturing model, manufacturing resources are encapsulated into manufacturing services and they meet users’ complex needs in service composition. Aiming at the efficiency, correctness and dynamic of the implementation requirements of cloud manufacturing service composition, Service Composition Execution Engine Framework for Cloud Manufacturing are proposed. By parsing cloud manufacturing service composition description file, this paper constructs service composition nodes and service composition dependencies and establishes the service composition node parameter association relationship and summarize the corresponding execution rules. The dynamic implementation of Manufacturing Service Compositions is carried out through service composition execution algorithm based on execution status change. Finally, an example of a cloud manufacturing service composition execution engine for the elevator industry alliance is given, which verifies the feasibility and effectiveness of the framework.

cloud manufacturing; service composition; service composition execution; execution engine

TP 311

10.11996/JG.j.2095-302X.2018061165

A

2095-302X(2018)06-1165-10

2018-03-08;

2018-06-04

浙江省重大科技专项(2014C01048,2018C01064);浙江省公益性技术项目(2017C31014)

肖 刚(1965-),男,浙江上虞人,教授,博士。主要研究方向为云计算、云制造、智能信息系统。E-mail:xg@zjut.edu.cn

猜你喜欢

调用引擎条件
排除多余的条件
选择合适的条件
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
蓝谷: “涉蓝”新引擎
基于系统调用的恶意软件检测技术研究
为什么夏天的雨最多
无形的引擎
基于Cocos2d引擎的PuzzleGame开发
利用RFC技术实现SAP系统接口通信