CN110780862B - 基于关键路径生成树的自动服务组合方法 - Google Patents
基于关键路径生成树的自动服务组合方法 Download PDFInfo
- Publication number
- CN110780862B CN110780862B CN201910967241.6A CN201910967241A CN110780862B CN 110780862 B CN110780862 B CN 110780862B CN 201910967241 A CN201910967241 A CN 201910967241A CN 110780862 B CN110780862 B CN 110780862B
- Authority
- CN
- China
- Prior art keywords
- service
- qos
- algorithm
- response time
- output
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了网络服务领域内的一种基于关键路径生成树的自动服务组合方法,提出在服务的选择中加入服务QoS属性作为服务衡量依据,同时为了完成复杂的功能请求,首先将服务的WSDL文档生成对应的OWL‑S说明文档并加入QoS属性值以充分利用语义本体在服务匹配中的优势,然后提出一种基于广度优先算法的搜索算法WSACA以最优全局QoS属性值为目标进行组合方案的搜索,并产生组合服务的OWL‑S说明文档进行服务的重新发布与调用,本发明避免了手工组合的繁琐,同时为组合服务文档生成提出了关键路径生成树概念,简化组合服务控制结构的生成,为组合服务的再发布创造条件。
Description
技术领域
本发明涉及一种Web服务组合方法,一种自动服务组合方法,属于互联网服务技术领域。
背景技术
Web服务概念以及面向服务体系结构(SOA)的提出,使得服务的提供者可以将自己的软件以服务形式提供给用户。Web服务的接口是采用中立的方式进行定义的,独立于实现服务的平台、操作系统和编程语言,这使得各种服务能够以一种统一的通用方式进行交互。由于Web服务的封装性、松耦合和跨平台性的优点,基于Web服务的应用越来越广泛。而随着Web服务标准的完善与支持服务的软件平台不断成熟,越来越多的企业将其业务功能和流程包装成标准的Web服务发布出去,比如Amazon平台上面的图书查询服务。
随着Web服务越来越多,有许多的Web服务功能其实类似,这就使我们在区分这些功能类似的Web服务时遇到困难。而QoS(Quality of Service)的提出较好的解决了这个问题,也就是Web服务的实现、运行平台以及Web服务器的差异使得不同服务的QoS例如响应时间,运行代价,吞吐量有所不同。
由于网络上的服务越来越多,用户请求实现的功能日益复杂,单个服务已经不能满足复杂的客户需求,同时人工组合与选择服务也变得不现实。为了提高网络共享的Web服务利用率,降低开发新服务的成本,需要将多个功能有限的简单Web服务按照服务描述、服务约束、可用资源等进行服务选择和组合,实现用户对复杂服务功能请求的目标,从而产生增值服务,这就是服务的组合。
服务组合被广泛用来改进企业软件系统的敏捷性、灵活性和可用性,在新的业务需求驱动的促使下,以开放的Web服务方式进行的、由服务质量QoS驱动的服务组合与选择已经成为Web服务领域的研究重点。
发明内容
本发明的目的是提供一种基于关键路径生成树的自动服务组合方法,实现更高的组合性能,并加强灵活度,为组合服务的再发布创造条件。
本发明的目的是这样实现的:一种基于关键路径生成树的自动服务组合方法,包括以下步骤:
步骤1)计算组合服务的QoS模型;
步骤2)构建服务组合与选择的问题模型;
步骤3)创建服务自动组合与选择算法WSACA;
步骤4)构设服务组合关键路径生成树算法。
作为本发明的进一步限定,步骤1)具体步骤为:
步骤1-1)提出响应时间的全局QoS计算方法;
步骤1-2)通过对可靠性与可得性的取对数与归一化操作使得其全局QoS计算方法与响应时间一样;
步骤1-3)通过用户权重分配从而完成各项属性QoS值的聚合。
作为本发明的进一步限定,步骤1-1)中的全局响应时间计算公式如下表所示:
其中,服务与服务前后关系有三种:序列(Sequence),分支(Split)和汇合(Join),假设getLocQos(S)为得到服务S的本地响应时间(即服务的单独调用响应时间),而getGlbQos(S)为获取服务S的全局响应时间(在组合服务过程中运行完此服务所需的响应时间),glbQos(S)表示得到服务S的全局响应时间为qos,并能改变它的值;
步骤1-2)中的响应时间的归一化公式:
其中qos*为服务的原始响应时间值(真实响应时间值),而qosmax为所有服务当中的最大响应时间,qosmin为所有服务当中的最小响应时间,qos为归一化之后的响应时间。
作为本发明的进一步限定,步骤2)具体步骤为:
步骤2-1)服务匹配,基于服务输入参数集、输出参数集与QoS属性值给出两个服务匹配的判断规则,用以辅助服务组合与选择问题模型的构建;
步骤2-2)服务组合与选择问题模型,在给定服务集内寻找满足服务请求的服务组合方案问题定义为寻找一个特定目标服务集,且一旦该服务集确定,根据服务之间的匹配关系,服务集组合调用流程图也相应确定。
作为本发明的进一步限定,步骤3)具体步骤为:
步骤3-1)建立算法当中所用到的数据结构和输出的哈希表;
步骤3-2)构设服务自动组合选择算法WSACA,利用现有的服务输入查找能够调用的服务列表,然后将可调用服务的输出加入可得输入之中,更新服务的全局QoS及RefTable哈希表,并进行下一层次的搜索,具体算法描述如下:
由上面描述的算法WSACA能够在用户给定输入并请求特定输出后,根据用户的功能请求与具有全局最优QoS值的目标驱动下自动寻找组合服务方案。
作为本发明的进一步限定,步骤4)的具体步骤为:
提出服务流程图的关键路径生成树算法,选择步骤3中搜索出的服务用以组合;在服务中添加了一个输入关联服务哈希表,即存储了每个服务的输入与提供此输入数据对应的服务输出,从而实现服务间数据关联绑定;随后采用关键路径树生成算法,同时生成组合服务的OWL-S文件以方便调用或者发布;具体生成关键路径树的算法如下:
由于响应时间的限制,在构造了关键路径生成树之后产生的控制流程能保证服务被调用时与之有数据相关的服务输出都已经具备了,这就是构造关键路径生成树的必要性。在服务中添加了一个输入关联服务哈希表,即存储了每个服务的输入与提供此输入数据对应的服务输出,从而实现服务间数据关联绑定。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明提出了一种拥有较优性能的服务自动组合算法,避免了手工组合的繁琐;为组合服务文档生成提出了关键路径生成树概念,简化组合服务控制结构的生成,为组合服务的再发布创造条件。
附图说明
图1为本发明工作流程图。
图2为本发明中服务组合控制模式图。
图3为本发明中WSDL与OWL-S的映射关系。
图4为本发明中样例服务组合流程图。
图5为本发明中样例组合服务关键路径生成树。
图6为本发明中样例组合服务控制结构。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
一种基于关键路径生成树的自动服务组合方法,包含如下步骤:
1)计算组合服务的QoS模型;
2)生成OWL-S文档;
3)构建服务组合与选择问题模型;
4)创设服务自动组合与选择算法WSACA;
5)构建组合服务控制流程。
步骤1的具体步骤为:
步骤1.1)在本发明的QoS计算模型中,服务与服务前后关系有三种,分别是:序列(Sequence),分支(Split)和汇合(Join);控制模式三种情况介绍如下图1所示,以响应时间(Response Time)为例进行全局QoS计算;
假设getLocQos(S)为得到服务S的本地响应时间(即本服务的单独调用响应时间),而getGlbQos(S)为获取服务S的全局响应时间(在组合服务过程中运行完此服务所需的响应时间),glbQos(S)表示得到服务S的全局响应时间为qos,并能改变它的值。由上图可知三种控制模式中下一层服务的全局响应时间计算公式如下表所示:
表1控制模式响应时间计算公式
由上面控制模式的响应时间计算公式可知,如果控制模式是Sequence的话就是简单的响应时间值累加,因为服务都是顺序执行的。而如果一个服务的输入必须由多个服务的输出提供时即Join模式,则可将其看成多个独立的Sequence取其中具有最大延迟时间的Sequence作为关键延迟即这服务的全局相应时间,因为多个独立的Sequence之间的服务是可以并行运行的。而类似的Split结构其实就可以直接看成是互不干扰的Sequence,故而计算也很类似下一层的每个服务互不影响,只与上一层服务与本服务的响应时间有关。由此可看出整个组合服务流程的响应时间只与其中的几条关键服务路径的响应时间有关,故而,利用这一原理,后文会介绍如何据此生成相应的服务调用过程,以达到充分利用生成服务方案的全局QoS属性。
步骤1.2)由于服务的QoS属性之间单位各不相同,而且取值范围也不一样,未免在QoS属性聚合时产生某一属性值占主导优势而直接决定聚合后的QoS值,故本发明对服务的各种属性进行归一化,即将各种QoS属性值映射到区间[0,1]范围,而且要保证每个QoS属性全局属性值的计算方法都与上述响应时间的计算方法一致,以保证服务组合的准确性;
1.2.1)首先是响应时间的归一化公式:
其中qos*为服务的原始响应时间值(真实响应时间值),而qosmax为所有服务当中的最大响应时间,qosmin为所有服务当中的最小响应时间,qos为归一化之后的响应时间。
1.2.2)其次是可靠性与可得性的归一化,由于二者都是比例,取值为[0,1],但是在序列控制结构情况下的全局QoS属性值的计算公式不是相加,而是相乘,而且组合服务的可靠性或可得性越大越好(与响应时间越小越好不一致),故而要使二者的组合服务值计算拥有与组合服务响应时间一样的计算方法必须加以变化:
1.2.2.1)首先对原始值取对数,假设可靠性或者可得性原始值为1≧a>0,这样使得序列中组合服务的可靠性与可得性计算也演化为加法运算:
qos*=ln(a)
1.2.2.2)其次取对数之后再进行归一化,同样规定qosmax为所有最大可靠性或可得性值,所不同的是可靠性与可得性的初始值具有理论最大值1,所以可以设定qosmax=ln(1)=0,对于qosmin则为全部服务可靠性或可得性的最小值取对数(值为0的不予考虑,不参加组合),故其归一化操作为:
此时可发现,服务的可靠性与可得性归一化后所得值不仅具有越小越优的性质,且其全局QoS的计算与响应时间的原理一样,故而简化了组合服务的QoS值计算;
1.2.3)完成各种属性的归一化操作后,将其进行聚合,以达到简化组合服务整体QoS值计算的目的,在此定义一个服务s的本地QoS值为各属性的权重与属性值的乘积和,及下面等式:
locQos=w1×responseTime(s)+w2×availability(s)+w3×reliability(s)
其中w1,w2,w3分别是用户给定的响应时间、可得性与可靠性的比例权重,范围为[0,1],且三者相加和为1,可以看出本地QoS值的范围为[0,3]。通过上述对服务的QoS操作,服务的各类属性值便都聚合为一个值,但是组合之后组合服务的各类QoS值依然与分开计算各个QoS属性的组合值是相等的。
步骤2的具体步骤为:
在服务组合过程中,服务之间的输入输出参数匹配成为关键,而对于直接从WSDL文档解析获取输入输出参数类型进行匹配时缺少语义匹配,导致很多适配情况丢失,而且准确性无法得到保证,而如果在服务描述中增加语义说明,则能够较好的解决此类问题;因而有必要根据服务的WSDL文档说明生成对应的OWL-S文档;两种语言的映射关系如图2所示:
如图2所示利用两种语言之间互补的优势,一方面,开发人员通过使用OWL-S的过程模型(process model)及其相对于XSD(XML Schema Definition)具有更强大表达力的OWL类型机制而获益,另一方面,开发人员还能重复使用WSDL中已经做好的大量工作(即相关的语言如SOAP),并根据这些声明的消息交流的软件支持来定义最新的各种协议和传输机制。在此重点关注OWL-S/WSDL grounding转换关系;一个OWL-S/WSDL grounding的产生基于如下三种OWL-S与WSDL的对应关系,图2展示出了前两种:
(1)一个OWL-S的原子过程(atomic process)对应一个WSDL的操作(operation);不同类型的操作对应的OWL-S操作如下:
A.同时拥有输入(inputs)与输出(outputs)的一个原子过程对应于一个WSDL中的请求-响应(request-response)操作;
B.只有输入没有输出的原子过程对应于一个WSDL的单向(one-way)操作;
C.一个只有输出没有输入的原子过程对应于一个WSDL通告(notification)操作;
D.拥有输出与输入,而且一个过程的输出传送给下一个过程的输入的一个组合过程(composite process)对应于WSDL的要求-应答(solicit-response)操作;
(2)一个OWL-S的原子过程(atomic process)的输入集与输出集对应一个WSDL的消息概念(message)。确切的说,OWL-S的输入对应于WSDL操作的输入消息的part元素,OWL-S的输出对应于WSDL操作输出消息的part元素;
(3)OWL-S原子过程的输入输出参数(即OWL类型)对应于WSDL中的抽象类型概念(可用于WSDL说明的消息部分)。
由于OWL-S是一种基于XML的语言,并且它的原子过程声明与输入输出类型已经与WSDL有着良好的对应关系,因此很容易将现有的WSDL绑定(binding)适用于OWL-S(例如SOAP绑定);
值得一提的是现有的服务说明还不能满足基于QoS的服务组合要求,而且一般服务说明也没有包括QoS属性,所以必须在文档中嵌入服务的QoS属性值。
步骤3的具体步骤为:
步骤3.1)服务匹配:首先由于本发明只关心服务的输入参数集、输出参数集与QoS属性值,于是定义服务可以使用一个三元组表示:
WS={wi,wo,qos}
其中wi是输入参数集,其中wo是输出参数集,而qos则是服务的本地QoS属性值。
服务WSB与服务WSA是否匹配取决于WSB的wo B是否与WSA的wi A匹配。服务参数类型的匹配分为Exact,Subsume,Relaxed,Fail四种类型;假设wo B的一个参数为OB,而wi A的一个参数是IA,则:
(1)Exact:OB与IA的概念(concept)是等价的(equivalent);
(2)Subsume:OB是IA的子概念(sub-concept);
(3)Relaxed:IA是OB的父概念(super-concept);
(4)Fail:除了上面匹配,其他都为Fail;
在此定义OB与IA匹配为:OB与IA概念等价或者OB是IA的子概念。于是对于WSB的wo B与WSA的wi A匹配定义为:对于任意输入参数IA∈wi A,都存在OB∈wo B,使得OB与IA匹配。此处定义函数match(wo B,wi A)表示wo B与wi A匹配关系;故而只要WSB的wo B与WSA的wi A匹配则WSB与WSA匹配。
步骤3.2)服务组合与选择问题模型:
描述服务组合选择问题如下:在给定服务集WS={WS1,WS2,…,WSn}(n为服务总数)条件下寻找满足服务请求R={wi R,wo R,qos}的服务组合方案问题定义为寻找一个特定目标服务集WSg={WSg(1),WSg(2),…,WSg(k)},且一旦该服务集确定,根据服务之间的匹配关系,服务集组合调用流程图也相应确定,并且此目标服务集满足以下条件:
(1)match(wi R∪wo g(1)∪wo g(2)∪…∪wo g(i),wi g(i+1))=true;
(2)match(wo g(1)∪wo g(2)∪…∪wo g(k),wo R)=true;
(3)组合服务方案WSg全局qos最优;
其中下标数组g={g(1),g(2),…,g(k)}中所有元素值均小于n,且k为下表数组大小;由上可知在搜索目标服务集过程中,不仅每步得出的中间服务集输出参数集并上请求输入参数集要与下一个可调用服务的输入参数集匹配,而且搜索完成后整个服务集的输出参数要与请求输出参数集匹配;不仅如此,在满足用户的功能要求之外,应尽可能使组合方案的全局QoS属性值最优。
步骤4的具体步骤为:
上述服务组合问题可描述为在一个服务匹配图中寻找能满足服务请求并拥有最优QoS值的服务组合方案子图问题,称为SSOD问题;本发明在解决SSOD问题上提出了基于广度优先搜索的WSACA(WebService Atomatic Composition Algorithm)算法。
步骤4.1)算法当中所使用到的数据结构和输出的哈希表:
表2.WSACA所用的数据结构
表2所展示的是服务WSNode数据结构,在组合选择算法计算中所使用,也可以添加额外结构如关联的服务列表,这样在接下来产生服务组合OWL-S文档时会显得方便一些;
表3.WSACA算法完成后输出的哈希表
此哈希表称为RefTable哈希表,用来存储至今为止提供特定输出参数类型并具有最好全局QoS的服务,即一个输出参数提供者的存储查找表。
步骤4.2)服务自动组合选择算法WSACA:
基本思想是基于广度优先搜索的,利用现有的服务输入查找能够调用的服务列表,然后将可调用服务的输出加入可得输入之中,更新服务的全局QoS及RefTable哈希表,并进行下一层次的搜索,其具体算法描述如下:
由上面描述的算法WSACA能够在用户给定输入并请求特定输出后,根据用户的功能请求与具有全局最优QoS值的目标驱动下自动寻找组合服务方案。
步骤5的具体步骤为:
由WSACA算法得到的RefTable并没有得出最后的组合方案表示结果,只是找出了算法认为提供特定类型并具有最优全局QoS的服务,间接的求出了一个服务组合流程图;必须将上面服务的组合形式生成OWL-S文件以方便将来的调用或者组合服务发布,所以必须有一个算法能自动生成组合服务的OWL-S文档说明。
步骤5.1)为了从服务组合流程图中得到关键路径生成树,使用一个HashMap存储关键路径树(注意只存储其中链接关系),关键字是WSNode类型,值的类型是List<WSNode>服务列表类型,其中关键字表示的是父亲,而值是其连接的孩子序列,因此只需遍历一次流程图将关键路径生成树上的各个连接关系存储下来即可,具体生成关键路径树的算法如下:
由于响应时间的限制,在构造了关键路径生成树之后产生的控制流程能保证服务被调用时与之有数据相关的服务输出都已经具备了,这就是构造关键路径生成树的必要性。在服务中添加了一个输入关联服务哈希表,即存储了每个服务的输入与提供此输入数据对应的服务输出,从而实现服务间数据关联绑定。
步骤5.2)实例说明此生成算法:
由图3可以看出,用户给定输入A,请求输出E,组合服务的全局QoS值(即组合服务的响应时间)为65。组合服务的调用时间长短取决于流程图中的关键调用路径,在此为了解决问题的方便,定义服务流程图的关键路径生成树为:1)它是组合服务流程图的一棵生成树;2)树上的每个服务的全局QoS与父亲服务的全局QoS值相减之后得到的值与服务的本地QoS值相等。
在此可证明组合服务关键路径生成树存在:首先从起点(用户提供输入集)到服务的最长路径(即关键路径)显然存在(可将服务的本地QoS映射到边上),取起点到每个服务关键路径中的一条,所组成的便是一个联通无回路的子图,这便是生成的一棵关键路径树。
根据上述算法将图3服务组合图生成组合服务关键路径树如图4所示:
组合服务关键路径生成树生成之后,从服务开端开始,每个服务对应一个Perform,而整个组合服务流程对应一个Sequence,并且从服务开端之后,其接下来的每棵子树对应一个Sequence,而开端之后的Sequence控制结构添加一个SplitJoin结构,这个SplitJoin结构再将子树对应的Sequence一一加入本身,之后子树同样用此方法来递归构造服务控制结构,这便形成了整个组合服务的控制构造,图4生成关键路径树之后,利用上述原理得到的控制构造如图5所示:
由上面组合服务控制可知,组合服务默认由一个主Sequence构成,在主Sequence中只有一个SplitJoin结构,SplitJoin中添加了Sequence A0与Sequence A1,在SplitJoin结构中的Sequence之间的服务都可并行调用例如上述的服务W1与W2,但是Sequence之间的服务可能有数据关联绑定,如上图服务W2的输出要提供给W3的输入,但是由于响应时间的限制,在构造了关键路径生成树之后产生的控制流程能保证服务被调用时与之有数据相关的服务输出都已经具备了,这就是构造关键路径生成树的必要性。
由于响应时间的限制,在构造了关键路径生成树之后产生的控制流程能保证服务被调用时与之有数据相关的服务输出都已经具备了,这就是构造关键路径生成树的必要性。在服务中添加了一个输入关联服务哈希表,即存储了每个服务的输入与提供此输入数据对应的服务输出,从而实现服务间的数据关联绑定。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (2)
1.一种基于关键路径生成树的自动服务组合方法,其特征在于,包括以下步骤:
步骤1)计算组合服务的QoS模型,具体步骤为:
步骤1-1)提出响应时间的全局QoS计算方法,公式如下:
其中,服务与服务前后关系有三种:序列Sequence,分支Split和汇合Join,假设getLocQos(S)为得到服务S的本地响应时间,即服务的单独调用响应时间,而getGlbQos(S)为获取服务S的全局响应时间,即组合服务过程中运行完此服务所需的响应时间,glbQos(S)表示得到服务S的全局响应时间为qos,并能改变它的值;
步骤1-2)通过对可靠性与可得性的取对数与归一化操作使得其全局QoS计算方法与响应时间一样;归一化公式如下:
其中qos*为服务的原始响应时间值,即真实响应时间值,而qosmax为所有服务当中的最大响应时间,qosmin为所有服务当中的最小响应时间,qos为归一化之后的响应时间;
步骤1-3)通过用户权重分配从而完成各项属性QoS值的聚合;
步骤2)构建服务组合与选择的问题模型,具体步骤为:
步骤2-1)服务匹配,基于服务输入参数集、输出参数集与 QoS 属性值给出两个服务匹配的判断规则,用以辅助服务组合与选择问题模型的构建;
步骤2-2)服务组合与选择问题模型,在给定服务集内寻找满足服务请求的服务组合方案问题定义为寻找一个特定目标服务集,且一旦该特定目标服务集确定,根据服务之间的匹配关系,服务集组合调用流程图也相应确定;
步骤3)创建服务自动组合与选择算法WSACA;具体步骤为:
步骤3-1)建立算法当中所用到的数据结构和输出的哈希表;
步骤3-2)构设服务自动组合选择算法WSACA,利用现有的服务输入查找能够调用的服务列表,然后将可调用服务的输出加入可得输入之中,更新服务的全局QoS及RefTable哈希表,并进行下一层次的搜索,WSACA算法具体描述如下:
输入:由n个服务构成的服务集WS = { WS 1 ,WS 2 ,…,WS n },目标服务R={ w i R,w o R},其中w i R和w o R分别是目标服务R的输入集和输出集;
输出:目标服务R的服务流程哈希表refTable :: RefTable
算法步骤:
A初始化可调用服务集activeServices,初始化输入参数集availableInputs为w i R,输出参数集requireOutputs为w o R,在查找表refTable中首先加入请求服务提供输出参数集w o R;进入步骤B;
B从服务集WS中遍历每一个服务S,依次执行步骤CDEF,直到遍历完跳转到步骤G;
C判断服务S是否可以调用,即判断服务S的输入是否都在输入参数集availableInputs中,如果是则先计算服务S的全局QoS值,接着添加服务S至查找表refTable,作为未出现输出参数的提供者,然后可调用服务集activeServices中添加服务S,最后将服务S的输出加入可得到的输入参数集availableInputs,如果不是,则直接进入步骤D;
D判断可调用服务集activeServices是否为空,若是则算法结束输出Fail,表示出错,否则直接进入步骤E;
E从服务集WS中删除服务S,并从输出参数集requireOutputs中取出服务S可获得的输出,进入步骤F;
F判断输出参数集requireOutputs是否为空,若是则算法结束输出Success,表示请求输出得到满足,否则直接返回步骤B,对下一个服务进行操作;
G在算法输出Fail或者Success则算法结束,并输出当时的服务流程哈希表refTable;
由上面描述的算法WSACA能够在用户给定输入并请求特定输出后,根据用户的功能请求与具有全局最优QoS值的目标驱动下自动寻找组合服务方案
步骤4)构设服务组合关键路径生成树算法。
2.根据权利要求1所述的基于关键路径生成树的自动服务组合方法,其特征在于,步骤4)的具体步骤为:
提出服务流程图的关键路径生成树算法,选择步骤3中搜索出的服务用以组合;在服务中添加了一个输入关联服务哈希表,即存储了每个服务的输入与提供此输入数据对应的服务输出,从而实现服务间数据关联绑定;随后采用关键路径树生成算法,同时生成组合服务的OWL-S 文件以方便调用或者发布;具体生成关键路径树的算法如下:
输入:WSACA算法输出的服务流程哈希表refTable,关键路径树的开始WSNode节点startService;
输出:关键路径树存储HashMap<WSNode, List<WSNode>> treeMap
A设置一个表示flag,并初始化为FALSE,表示是否找到当前服务的关键前驱;提取节点startService的输入集为inputs;进入步骤B;
B判断inputs是否为空,若是则返回,否则进入步骤C;
C遍历inputs中的所有输入对象type,逐一进行步骤D-F,直到遍历完跳转到步骤G;
D从refTable中获得以type为输入之一的服务S,如果S的全局QoS值等于startService的全局QoS值与本地QoS值之差且flag为FALSE,那么执行步骤F;否则直接执行步骤G;
E在treeMap中,将服务S与startService进行绑定,且将flag设置为TRUE,表示前驱已找到,防止有多棵生成树;执行步骤F;
F函数自调用,递归产生树;返回步骤C继续执行;
G在算法结束,输出treeMap;
由于响应时间的限制,在构造了关键路径生成树之后产生的控制流程能保证服务被调用时与之有数据相关的服务输出都已经具备了,这就是构造关键路径生成树的必要性。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910967241.6A CN110780862B (zh) | 2019-10-12 | 2019-10-12 | 基于关键路径生成树的自动服务组合方法 |
PCT/CN2020/101390 WO2021068581A1 (zh) | 2019-10-12 | 2020-07-10 | 基于关键路径生成树的自动服务组合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910967241.6A CN110780862B (zh) | 2019-10-12 | 2019-10-12 | 基于关键路径生成树的自动服务组合方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110780862A CN110780862A (zh) | 2020-02-11 |
CN110780862B true CN110780862B (zh) | 2021-05-11 |
Family
ID=69385159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910967241.6A Active CN110780862B (zh) | 2019-10-12 | 2019-10-12 | 基于关键路径生成树的自动服务组合方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110780862B (zh) |
WO (1) | WO2021068581A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110780862B (zh) * | 2019-10-12 | 2021-05-11 | 南京邮电大学 | 基于关键路径生成树的自动服务组合方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719932A (zh) * | 2009-11-20 | 2010-06-02 | 中国科学院计算技术研究所 | 自动服务组合的系统及方法 |
CN103544547A (zh) * | 2013-11-02 | 2014-01-29 | 南京航空航天大学 | 一种基于离散化全局分布搜索的可信服务组合方法 |
CN108170404A (zh) * | 2017-12-25 | 2018-06-15 | 南京航空航天大学 | 一种基于参数化模型的Web服务组合验证方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7840515B2 (en) * | 2007-02-16 | 2010-11-23 | Panasonic Corporation | System architecture and process for automating intelligent surveillance center operations |
CN101175090B (zh) * | 2007-11-21 | 2011-01-19 | 华为技术有限公司 | 基于服务特性的服务合成系统及服务合成方法 |
CN101605141A (zh) * | 2008-08-05 | 2009-12-16 | 天津大学 | 基于语义的Web服务关系网络系统 |
US20100106767A1 (en) * | 2008-10-24 | 2010-04-29 | Microsoft Corporation | Automatically securing distributed applications |
CN103106269B (zh) * | 2013-02-04 | 2016-03-23 | 南京大学 | 一种基于搜索空间约减的Web服务组合方法 |
US20150149362A1 (en) * | 2015-02-04 | 2015-05-28 | vitaTrackr, Inc. | Encryption and Distribution of Health-related Data |
CN108764805A (zh) * | 2018-06-11 | 2018-11-06 | 河南理工大学 | 一种协同物流服务组合的多模型自适应推荐方法及系统 |
CN110120888B (zh) * | 2019-04-26 | 2022-03-18 | 井冈山大学 | 一种云众包平台海量服务资源组合优化方法与系统 |
CN110780862B (zh) * | 2019-10-12 | 2021-05-11 | 南京邮电大学 | 基于关键路径生成树的自动服务组合方法 |
-
2019
- 2019-10-12 CN CN201910967241.6A patent/CN110780862B/zh active Active
-
2020
- 2020-07-10 WO PCT/CN2020/101390 patent/WO2021068581A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719932A (zh) * | 2009-11-20 | 2010-06-02 | 中国科学院计算技术研究所 | 自动服务组合的系统及方法 |
CN103544547A (zh) * | 2013-11-02 | 2014-01-29 | 南京航空航天大学 | 一种基于离散化全局分布搜索的可信服务组合方法 |
CN108170404A (zh) * | 2017-12-25 | 2018-06-15 | 南京航空航天大学 | 一种基于参数化模型的Web服务组合验证方法 |
Non-Patent Citations (1)
Title |
---|
用户需求驱动的语义Web服务组合研究;申改英;《计算机软件与理论》;20091211;第9-39页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021068581A1 (zh) | 2021-04-15 |
CN110780862A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7676472B2 (en) | Method and apparatus for accessing web services | |
US8521754B2 (en) | System and methods for web data transformation sourcing | |
US20170031986A1 (en) | Method and System for Providing Integrated Virtualized Database Management and Software Defined Network Topology | |
US10453165B1 (en) | Computer vision machine learning model execution service | |
Thuluva et al. | Recipes for IoT applications | |
JP2011204228A (ja) | 学習メカニズムを用いたマッシュアップインフラストラクチャ | |
Netzer et al. | Distributed envy minimization for resource allocation | |
US20050125738A1 (en) | Composite network-accesible services | |
Di Martino et al. | Towards an Ontology-Based Intercloud Resource Catalogue--The IEEE P2302 Intercloud Approach for a Semantic Resource Exchange | |
CN105051687A (zh) | 应用部署方法和设备 | |
Jia et al. | An IoT service aggregation method based on dynamic planning for QoE restraints | |
US7774373B2 (en) | Method and system for implementing multiple web services for a service query | |
CN110780862B (zh) | 基于关键路径生成树的自动服务组合方法 | |
Yamato et al. | Context-aware service composition and component change-over using semantic Web techniques | |
CN110276605B (zh) | 规则生成方法、装置、电子设备及可读存储介质 | |
Hou et al. | Modeling and verifying web services driven by requirements: An ontology-based approach | |
KR101286284B1 (ko) | 온 더 플라이 학습 기반 검색을 이용한 큐 오 에스 인식 웹 서비스 구성방법 | |
Berardi et al. | Reasoning about actions for e-service composition | |
CN110300168A (zh) | 一种基于多边缘服务器协作的并发任务优化方法 | |
Kotstein et al. | Reinforcement learning for IoT interoperability | |
Nguyen et al. | Issue in automatic combination of cloud services | |
Ramasamy et al. | Adaptive and dynamic service composition for cloud-based mobile application | |
Sellami et al. | Automating resources discovery for multiple data stores cloud applications | |
KR20220147674A (ko) | 고해상도 계약 기반의 무선 네트워크 가상화 | |
Zhang et al. | A policy-driven service composition method for adaptation in pervasive computing environment |
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 |