一种语义Web服务组合方法

文档序号:6381647阅读:129来源:国知局
专利名称:一种语义Web服务组合方法
技术领域
本发明涉及一种Web服务组合方法,尤其是涉及一种语义Web服务组合方法。
背景技术
随着云计算技术的不断发展,互联网上各类Web服务的数量飞速增长。然而,单个Web服务提供的功能极其有限,大多数应用都难以通过单一 Web服务予以实现,往往需要把若干个Web服务组合起来,共同满足应用需求。其次,面向服务的软件开发方法逐渐被全球的开发者所接受,而服务质量动态变化、用户需求个性化、多样化,如何实时抽取服务质量最好的若干服务,并能按照用户需求自动组合出可执行的服务流程方案,也将成为未来软件业发展的巨大机遇和挑战。另外,Web服务的分布式特性与传统的组件系统不同,服务本身处于分布式的环境中,面对不断涌现出来的服务,以专家静态规定服务组合的方式是远远不够的,如何高效、正确、智能的将现有的服务组合成新的服务成为现在国内外的研究热点。目前,Web服务组合方法主要包括以下几种(I)基于工作流的方法。工作流可被用作分布活动的协调执行引擎或服务组合方案的描述方式,其中以BPEL,WSFL等工作流建模语言最为常见。但是,该方法主要以人工编辑为主,不能实现自动服务组合。(2)基于人工智能(Al)规划的方法。该方法借鉴了 Al中的形式化方法和逻辑推理,但它时间复杂度高,无法适应问题规模较大情况下的服务组合。(3)基于图搜索的方法。该方法将服务按照概念输入集合和概念输出集合构建成服务依赖图(SDG)。将服务组合算法转换成从有向图中查找最优路径的问题。该方法效率较高,但仅考虑了概念语义,而未考虑QoS。(4)基于信息检索的方法。该方法以SQL查询来实现服务组合,避免了传统服务组合算法极占内存的缺点,适用于更大规模服务集合的组合计算。但由于其对服务抽象度要求过高,限制了实际应用价值;另外,对于多QoS、语义关系复杂的情况下,该方法效率会大幅下降。(5)单一 QoS的图搜索方法。此类方法中服务的选择策略存在多种形式,包括局部最优、全局最优、混合最优等,算法的实现多基于贪心算法、动态规划算法、遗传算法等智能算法。通过服务接口方式及根据QoS启发式规则对子图进行裁剪来生成最优组合方案。但存在以下不足以单一 QoS属性概括服务的所有非功能性特性;只返回一个符合自定义规则的最佳搜索结果;只能选择某一个服务进行配置;动态QoS适应性较差。

发明内容
本发明的上述技术问题主要是通过下述技术方案得以解决的一种语义Web服务组合方法,其特征在于,包括以下步骤步骤I. Top K服务中正向概念扩展阶段根据用户需求,在服务的功能性要求满足的情况下,依次从服务的非功能目标形成的Skyline中选择备选服务进行概念扩展;概念扩展过程将测试比较当前状态至目标概念的距离及相似度,对扩展的各个状态进行取舍,从而构建多条从Cl到CO的概念扩展链,即多套服务调用备选方案;其中,概念扩展链中每条链由概念与提供此概念的服务组成;步骤2. Top K服务中反向方案择优阶段由于步骤I中生成的概念扩展链一般包含一簇服务组合方案,为把其中的单个组合方案分离出来,并选取其中最优的几套方案返回,则需要将概念扩展链转换成基于与或树的服务组合方案描述模型,将组合方案生成过程转换为二叉树的遍历问题,其中,左节点表示服务前置条件,而右节点表示某前置条件可满足的服务;同时,对所有服务组合方案进行择优,生成全局QoS最优的K个组合方案;步骤3.采用基于纸带模型的Skyline算法优化基于多维QoS的Top K服务组合方法按照设定的规则对步骤2中产生的服务组合方案进行智能裁剪,生成最简服务组合 方案树,在服务择取过程中,采用基于纸带模型的Skyline算法克服传统Skyline空间中存在的数据点频繁更新造成的性能瓶颈,同时大幅提高获得TopK方案的计算效率。在上述的一种语义Web服务组合方法,所述步骤I的具体实现方法包括以下子步骤第一步,采用六种非功能服务特征组成六维向量来构造服务QoS模型;分别为服务响应时间Qrt,服务吞吐量Qtp,服务可靠性Qr,服务信誉度Qcd,服务价格Qc,服务安全性Qs,对QoS各个属性进行规范化处理,将各属性值归一化至统一区间;第二步,定义扩展状态如下某时刻扩展得到的所有概念及到它们所消耗QoS信息组成的中间状态,其中结束状态为包含CO的扩展状态;第三步,对用户需求UR进行判断,计算从Cl到CO是否有可用概念扩展路线可达,若没有,则直接返回给用户;第四步,对概念关系图进行遍历,在满足功能要求的前提下,根据服务的非功能特征形成每个概念关系图的最优备选服务集合Skyline ;Skyline定义为,对于数据集合中某一点P,若在同样数据集合中不存在任何点能够支配P,即不存在一个点在所有维度上的值都小于或等于P在同维度上的值,则称P点为此数据集合的Skyline点;第五步,遍历Skyline,克隆概念图,并选取每个Skyline点作为扩展方向,沿扩展方向进行概念扩展,每个克隆的概念继承父状态的Skyline,各种概念之间可以通过服务组合算法生成一条概念之间转换的链表,链表中的每一项即为某一服务的调用,算法据此当前状态到用户需求CO之间的最小QoS花费判断各个状态至目标的距离,概念关系图得到概念直接距离矩阵,矩阵中每一数据项表示概念直接调用某一服务进行转换所需的QoS值,利用Floyd加权图求定点最短路径算法对概念直接距离矩阵进行处理,最终得到概念之间通过服务组合进行转换所需的最小QoS值,概念扩展过程中实时比较当前状态至终点的概念距离及相似度;第六步,具体的概念扩展和备选服务的加入,首先求出备选服务的前置条件消耗的QoS与此备选服务自身消耗的QoS之和,并将其保存于服务对象中,然后得到加入此备选服务后新增的概念,即此服务的输出概念集合,亦即概念的扩展;进而将概念及提供此概念的服务保存于概念服务链中,并更新skyline ;第七步,对扩展后的状态进行实时去重操作,去除重复多余的状态;
第八步,当生成的状态数目大于K时抛弃离目标过远的状态,概念扩展过程比较当前状态至终点的概念距离及相似度,比较各状态距离,依据所需概念扩展链个数K并依据保留距离小的,舍弃距离大的的原则进行扩展。在上述的一种语义Web服务组合方法,所述步骤2的具体实现方法包括以下子步骤第一步,方案树左节点的生成,由于服务调用时所需的概念集合在服务概念扩展链中一般有多种提供方式,因此所提供方式采用笛卡尔积进行,并当可提供方式过多时对所有可提供的方式进行排序取Top-K个,然后依次作为生成的左节点;第二步,方案树右节点的生成,从扩展链中提取提供服务的集合及集合中每个服务所提供概念,以此构建右节点;第三步,递归调用构建方案树,调用上两步算法产生某一节点的左右节点,将其按照方案树的特性进行组织,按照基于“与或树”的方案树的特点,某一服务的所有条件以父 子链表的关系进行组织,后一提供方式为前一提供方式的左孩子,算法称此为左孩子链,某一条件的提供者也以父子的关系进行组织,称为右孩子链,算法产生某个右节点所有的左节点,遍历生成的左节点,生成每个左节点所需服务,即所有右节点然后遍历生成的这些右节点,然后将正向概念扩展阶段的所有概念扩展链全部转换成方案树;第四步,遍历服务组合方案树生成各个服务组合方案子树,其规则如下服务组合方案树根节点为服务组合方案子树的根节点;当服务组合方案树中一个左节点在服务组合方案子树中时,该左节点的所有右孩子链表节点皆在服务组合方案子树中;当服务组合方案树中的一个右节点在服务组合方案子树中时,则该右节点的左节点链必有唯一一个在服务组合方案子树中;遍历过程从服务组合方案树的根节点开始,至服务组合方案子树所有节点皆为服务组合方案树中的叶子节点为止;第五步,产生一定数量的组合方案子树,当生成方案超过用户的要求K时,算法以服务组合方案全局QoS离Skyline坐标系原点距离为择优依据对结果集合进行增减,对方案按照某种特定规则排序即可得到组合方案中最优的K个方案。在上述的一种语义Web服务组合方法,所述步骤3的具体实现方法包括新状态Skyline集合产生,服务组合算法,最简服务组合方案树分支裁剪判断步骤,其中,服务组合算法采用服务失效和备选组合算法用来从Skyline空间坐标集合中删除数据点。在上述的一种语义Web服务组合方法,所述新状态Skyline集合产生的具体实现步骤如下第一步,根据Skyline点集合坐标分布,将整个Skyline空间坐标系分成三区域,分别为支配区域,即新进服务必然会支配已经生成的Skyline集合中某些数据点;盲点区域,此区域各点不归原Skyline各点支配,也不支配原Skyline中的元素;被支配区域,此区域的各点被Skyline支配;第二步,依据数据点建立多维纸带模型,即根据服务的QoS属性维度建立相应数目的纸带,每一维属性用一条纸带表示,遍历所有的纸带,将Skyline集合按照此纸带表示的QoS属性进行排序,将排序好的服务按照前后关系一一在对应的纸带中记录,记录每个服务的Id,遍历所有的纸带,对纸带上的每个服务在纸带上的位置按照从左到右依次编号,编号从I开始,编号记录在对应纸带的相应位置的服务上;
第三步,继承父状态的Skyline空间坐标系;第四步,得到新增概念集合及现有概念集合;第五步,根据变化后的新增概念集合从服务库取得可先进行扩展的服务组成的集合WSS,将WSS集合中每个服务加入至继承的Skyline空间坐标系;第六步,对于任意一个可进行扩展的服务,算出服务绝对优集sps与绝对劣集
SWS ; 第七步,根据多维QoS纸带模型判定规定,当绝对劣集不为空时,从原Skyline中删除此服务的绝对劣集,并按插入处于A支配区域的服务的方式增加至Skyline中,即将服务加入到skyline集合后映射到skyline坐标系,当服务绝对优集与绝对劣集皆为空时,同样将新增服务加入至原skyline集合后映射到skyline坐标系即可,而当服务绝对优集为空时,只需将服务映射至skyline坐标系即可;第八步,对父状态以新skyline及合并后的新旧概念集合为依据进行更新得到新的状态;第九步,当按照方案生成算法生成所有服务组合方案时,为从方案集合中取得K个最优方案返回,因涉及方案的多QoS比较,算法同样以比较Skyline点集合坐标分布的方式进行判定。在上述的一种语义Web服务组合方法,所述服务组合算法的具体实现方法如下第一步,取得服务绝对优集和绝对劣集,按照纸带模型判断所属区域;第二步,删除服务必不可能位于支配区,当变动服务位于盲点区域时,算法将计算对应变动服务的唯一支配区Local Skyline,将Local Skyline所有元素依次插入到原Skyline,然后把对应变动服务在Skyline坐标系中的映射删除;第三步,当变动服务位于受支配区域,算法直接将服务从Skyline坐标系中将相应的映射删除;第四步,设置新Skyline至相应的状态的概念扩展链。在上述的一种语义Web服务组合方法,所述最简服务组合方案树分支裁剪的判断依据为用户要求返回QoS全局最优的组合方案数目K以及算法在概念扩展时记录的扩展到某一概念所消耗的QoS数值,其生成算法为第一步,参照步骤B中生成组合方案树;第二步,算法对方案树进行中序遍历,对各个右节点进行处理;第三步,按照同右节点同层次,不同右节点同层次,不同右节点不同层次依照对应规则顺序进行,规则如下同右节点同层次对此节点的左孩子链表进行排序,择取最优的K个方案,此步可在生成方案树时进行处理;不同右节点同层次此种情形下选择服务提供方式数量的笛卡尔积接近K数值,按照提供方式消耗的QoS数值进行比较排序;删除QoS消耗太多的左节点,并保证所有遍历过的右节点都有至少一个左节点作为提供方式;不同右节点不同层次要将某提供条件进行分解后进行排序,再按照上两步方式处理;第四步,返回处理完成的方案树即为所需最简服务组合方案树。
因此,本发明具有如下优点1.通过概念最短转换路径思想,解决传统正向概念扩展过程中随机选取的盲目性;2.以服务支配集Skyline为依据,对概念进行多方向择优扩展,避免最优方案丢失;3.将与或树服务组合方案描述模型转换成二叉树遍历问题,更为简单易懂;4.利用最简服务组合方案树,极大提高组合算法的时间和空间效率5.利用基于纸带模型的Skyline算法克服Skyline空间中由于数据点频繁更新所造成的性能降低。


附图I是本发明的流程示意图。附图2是本发明中C-K概念关系图。附图3是本发明中概念直接距离与概念最短路径。附图4是本发明中Web服务概念化描述实例。 附图5是本发明中用户需求为CI={C9,C10},C0={C4,C5}的一条路径。附图6是本发明中组合方案树。附图7是本发明中Skyline纸带模型空间示意图。附图8是本发明中二维纸带模型示意图。
具体实施例方式下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。实施例I.首先,介绍一下本发明的具体实现过程本发明主要包括如下步骤步骤I.正向概念扩展阶段根据用户需求(包括概念输入集Cl和概念输出集CO),在服务的功能性要求满足的情况下,依次从服务的非功能目标形成的Skyline中选择备选服务进行概念扩展;概念扩展过程将测试比较当前状态至目标概念的距离及相似度,对扩展的各个状态进行取舍,从而构建多条从Cl到CO的概念扩展链,即多套服务调用备选方案。其中,概念扩展链中每条链由概念与提供此概念的服务组成。可根据概念扩展链个数判断用户需求是否可满足,当此个数不为O时,可知当前服务集可满足用户需求;否则,服务集无法满足用户需求。同时,为方便反向方案择优,在概念扩展阶段记录扩展到某一概念时所消耗的QoS数值。步骤2.反向方案择优阶段由于正向概念扩展阶段生成的概念扩展链一般包含一簇服务组合方案,为把其中的单个组合方案分离出来,并选取其中最优的几套方案返回,则需要将概念扩展链转换成基于“与或树”的服务组合方案描述模型,将组合方案生成过程转换为二叉树的遍历问题,其中,左节点表示服务前置条件,而右节点表示某前置条件可满足的服务。同时,对所有服务组合方案进行择优,生成全局QoS最优的K个组合方案。步骤3.采用基于纸带模型的Skyline算法优化基于多维QoS的Top K服务组合方法按照特定规则对服务组合方案树进行智能裁剪,生成最简服务组合方案树,在服务择取过程中,采用基于纸带模型的Skyline算法克服传统Skyline空间中存在的数据点频繁更新造成的性能瓶颈,同时大幅提闻获得TopK方案的计算效率。基于上述技术方案,更进一步地,如图I所述,Top K自动服务组合算法详细步骤描述如下步骤I详细说明如下第一步,采用六种非功能服务特征组成六维向量来构造服务QoS模型。分别为服务响应时间Qrt,服务吞吐量Qtp,服务可靠性Qr,服务信誉度Qcd,服务价格Qc,服务安全性Qs0对QoS各个属性进行规范化处理,将各属性值归一化至统一区间,如
ο第二步,定义扩展状态如下某时刻扩展得到的所有概念及到它们所消耗QoS信息组成的中间状态,其中结束状态为包含CO的扩展状态。第三步,对用户需求UR(Cl,CO)进行判断,计算从Cl到CO是否有可用概念扩展路线可达,若没有,则直接返回给用户。
第四步,对概念关系图进行遍历,在满足功能要求的前提下,根据服务的非功能特征形成每个概念关系图的最优备选服务集合Skyline。Skyline定义为,对于数据集合中某一点P,若在同样数据集合中不存在任何点能够支配P,即不存在一个点在所有维度上的值都小于或等于P在同维度上的值,则称P点为此数据集合的Skyline点。第五步,遍历Skyline,克隆概念图,并选取每个Skyline点作为扩展方向,沿扩展方向进行概念扩展,每个克隆的概念继承父状态的Skyline。各种概念之间可以通过服务组合算法生成一条概念之间转换的链表,链表中的每一项即为某一服务的调用。算法据此当前状态到用户需求CO之间的最小QoS花费判断各个状态至目标的距离。概念关系图得到概念直接距离矩阵(矩阵横纵皆为概念),矩阵中每一数据项表示概念直接调用某一服务进行转换所需的QoS值。利用Floyd加权图求定点最短路径算法对概念直接距离矩阵进行处理,最终得到概念之间通过服务组合进行转换所需的最小QoS值。概念扩展过程中实时比较当前状态至终点的概念距离及相似度。第六步,具体的概念扩展和备选服务的加入,首先求出备选服务的前置条件消耗的QoS与此备选服务自身消耗的QoS之和,并将其保存于服务对象中,然后得到加入此备选服务后新增的概念,即此服务的输出概念集合,亦即概念的扩展;进而将概念及提供此概念的服务保存于概念服务链中,并更新skyline。第七步,对扩展后的状态进行实时去重操作,去除重复多余的状态。第八步,当生成的状态数目大于K时抛弃离目标过远的状态。概念扩展过程比较当前状态至终点的概念距离及相似度,比较各状态距离,依据所需概念扩展链个数K并依据保留距离小的,舍弃距离大的的原则进行扩展。步骤2详细说明如下第一步,方案树左节点的生成,由于服务调用时所需的概念集合(B卩服务前置条件)在服务概念扩展链中一般有多种提供方式,因此所提供方式采用笛卡尔积进行,并当可提供方式过多时对所有可提供的方式进行排序取Top-K个,然后依次作为生成的左节点第二步,方案树右节点的生成,从扩展链中提取提供服务的集合及集合中每个服务所提供概念,以此构建右节点。第三步,递归调用构建方案树,调用上两步算法产生某一节点的左右节点,将其按照方案树的特性进行组织。按照基于“与或树”的方案树的特点,某一服务的所有条件以父子链表的关系进行组织,后一提供方式为前一提供方式的左孩子,算法称此为左孩子链。某一条件的提供者也以父子的关系进行组织,称为右孩子链。算法产生某个右节点所有的左节点,遍历生成的左节点,生成每个左节点所需服务,即所有右节点然后遍历生成的这些右节点,然后将正向概念扩展阶段的所有概念扩展链全部转换成方案树。第四步,遍历服务组合方案树生成各个服务组合方案子树,其规则如下服务组合方案树根节点为服务组合方案子树的根节点;当服务组合方案树中一个左节点在服务组合方案子树中时,该左节点的所有右孩子链表节点皆在服务组合方案子树中;当服务组合方案树中的一个右节点在服务组合方案子树中时,则该右节点的左节点链必有唯一一个在服务组合方案子树中;遍历过程从服务组合方案树的根节点开始,至服务组合方案子树所有节点皆为服务组合方案树中的叶子节点为止。第五步,产生一定数量的组合方案子树,当生成方案超过用户的要求K时,算法以服务组合方案全局QoS离Skyline坐标系原点距离为择优依据对结果集合进行增减。对方案按照某种特定规则排序即可得到组合方案中最优的K个方案。步骤3包括新状态Skyline集合产生,服务组合算法,最简服务组合方案树SCCPT,现详细说明如下 其中新状态Skyline集合产生采用的方式为采用并操作的方式将可扩展服务集合元素依次增加至继承的Skyline中,这样既使继承Skyline中元素支配关系不必进行比较操作获得,又可依纸带模型算法快速进行动态调整得到本状态的Skyline集合,定义优集P(WS)为纸带中处于改动服务编号之前服务组成的集合。定义劣集ff(ws)为纸带中处于改动服务编号之后服务组成的集合。定义绝对优集SP (WS)为对于某一服务,其在各个纸带上的优集的交集。定义绝对劣集SW(ws)为对于某一服务,其在各个纸带上的劣集的交集。定义唯一支配区为,若某一区域!■中所有数据点只被某一数据点P支配,而无其他数据点支配r中任意一点。算法则称区域r为数据点P的唯一支配区。定义Local Skyline为,任意Skyline点的唯一支配区。步骤3. I.新Skyline集合产生步骤如下第一步,根据Skyline点集合坐标分布,将整个Skyline空间坐标系分成三区域,分别为支配区域,即新进服务必然会支配已经生成的Skyline集合中某些数据点(即某些服务);盲点区域,此区域各点不归原Skyline各点支配,也不支配原Skyline中的元素;被支配区域,此区域的各点被Skyline支配。第二步,依据数据点建立多维纸带模型,即根据服务的QoS属性维度建立相应数目的纸带,每一维属性用一条纸带表示。遍历所有的纸带,将Skyline集合按照此纸带表示的QoS属性进行排序,将排序好的服务按照前后关系一一在对应的纸带中记录,记录每个服务的Id。遍历所有的纸带,对纸带上的每个服务在纸带上的位置按照从左到右依次编号,编号从I开始,编号记录在对应纸带的相应位置的服务上。第三步,继承父状态的Skyline空间坐标系;第四步,得到新增概念集合及现有概念集合,第五步,根据变化后的新增概念集合从服务库取得可先进行扩展的服务组成的集合WSS,将WSS集合中每个服务加入至继承的Skyline空间坐标系。第六步,对于任意一个可进行扩展的服务,算出服务绝对优集sps与绝对劣集
SWSo
第七步,根据多维QoS纸带模型判定规定,当绝对劣集不为空时,从原Skyline中删除此服务的绝对劣集,并按插入处于A支配区域的服务的方式增加至Skyline中,即将服务加入到skyline集合后映射到skyline坐标系。当服务绝对优集与绝对劣集皆为空时,同样将新增服务加入至原skyline集合后映射到skyline坐标系即可。而当服务绝对优集为空时,只需将服务映射至skyline坐标系即可。第八步,对父状态以新skyline及合并后的新旧概念集合为依据进行更新得到新的状态。第九步,当按照方案生成算法生成所有服务组合方案时,为从方案集合中取得K个最优方案返回,因涉及方案的多QoS比较,算法同样以比较Skyline点集合坐标分布的方式进行判定。步骤3. 2.其中服务失效和备选组合算法用来从Skyline空间坐标集合中删除数据点,步骤如下 第一步,取得服务绝对优集和绝对劣集,按照纸带模型判断所属区域第二步,删除服务必不可能位于支配区。当变动服务位于盲点区域时,算法将计算对应变动服务的唯一支配区Local Skyline,将Local Skyline所有元素依次插入到原Skyline,然后把对应变动服务在Skyline坐标系中的映射删除。第三步,当变动服务位于受支配区域,算法直接将服务从Skyline坐标系中将相应的映射删除第四步,设置新Skyline至相应的状态的概念扩展链。步骤3. 3.最简服务组合方案树分支裁剪的判断依据为用户要求返回QoS全局最优的组合方案数目K以及算法在概念扩展时记录的扩展到某一概念所消耗的QoS数值,其生成算法为第一步,参照步骤B中生成组合方案树第二步,算法对方案树进行中序遍历,对各个右节点进行处理,第三步,按照同右节点同层次,不同右节点同层次,不同右节点不同层次依照对应规则顺序进行。规则如下同右节点同层次对此节点的左孩子链表进行排序,择取最优的K个方案,此步可在生成方案树时进行处理;不同右节点同层次此种情形下选择服务提供方式数量的笛卡尔积接近K数值,按照提供方式消耗的QoS数值进行比较排序;删除QoS消耗太多的左节点。并保证所有遍历过的右节点都有至少一个左节点作为提供方式;不同右节点不同层次要将某提供条件进行分解后进行排序,再按照上两步方式处理。第四步,返回处理完成的方案树即为所需最简服务组合方案树。2.下面介绍一下采用本发明的实现方法所进行的具体实施例根据图I,分两部分阐述本方法第一部分,正向概念扩展阶段I.概念扩展算法步骤I.对Al中所述QoS各个属性进行规范化,将各属性的值统一调整至某一区间。定义在服务QoS模型中的正负增益,正增益为数值取值越大越佳,负增益则相反,为数值取值越小越优。算法选择最小-最大规范法进行处理。规范处理规则如下正增益属性规范化公式
权利要求
1.一种语义Web服务组合方法,其特征在于,包括以下步骤 步骤I. Top K服务中正向概念扩展阶段根据用户需求,在服务的功能性要求满足的情况下,依次从服务的非功能目标形成的Skyline中选择备选服务进行概念扩展;概念扩展过程将测试比较当前状态至目标概念的距离及相似度,对扩展的各个状态进行取舍,从而构建多条从Cl到CO的概念扩展链,即多套服务调用备选方案;其中,概念扩展链中每条链由概念与提供此概念的服务组成; 步骤2. Top K服务中反向方案择优阶段由于步骤I中生成的概念扩展链一般包含一簇服务组合方案,为把其中的单个组合方案分离出来,并选取其中最优的几套方案返回,则需要将概念扩展链转换成基于与或树的服务组合方案描述模型,将组合方案生成过程转换为二叉树的遍历问题,其中,左节点表示服务前置条件,而右节点表示某前置条件可满足的服务;同时,对所有服务组合方案进行择优,生成全局QoS最优的K个组合方案; 步骤3.采用基于纸带模型的Skyline算法优化基于多维QoS的Top K服务组合方法按照设定的规则对步骤2中产生的服务组合方案进行智能裁剪,生成最简服务组合方案树,在服务择取过程中,采用基于纸带模型的Skyline算法克服传统Skyline空间中存在的数据点频繁更新造成的性能瓶颈,同时大幅提高获得TopK方案的计算效率。
2.根据权利要求I所述的一种语义Web服务组合方法,其特征在于,所述步骤I的具体实现方法包括以下子步骤 第一步,采用六种非功能服务特征组成六维向量来构造服务QoS模型;分别为服务响应时间Qrt,服务吞吐量Qtp,服务可靠性Qr,服务信誉度Qcd,服务价格Qc,服务安全性Qs,对QoS各个属性进行规范化处理,将各属性值归一化至统一区间; 第二步,定义扩展状态如下某时刻扩展得到的所有概念及到它们所消耗QoS信息组成的中间状态,其中结束状态为包含CO的扩展状态; 第三步,对用户需求UR进行判断,计算从Cl到CO是否有可用概念扩展路线可达,若没有,则直接返回给用户; 第四步,对概念关系图进行遍历,在满足功能要求的前提下,根据服务的非功能特征形成每个概念关系图的最优备选服务集合Skyline ;Skyline定义为,对于数据集合中某一点P,若在同样数据集合中不存在任何点能够支配P,即不存在一个点在所有维度上的值都小于或等于P在同维度上的值,则称P点为此数据集合的Skyline点; 第五步,遍历Skyline,克隆概念图,并选取每个Skyline点作为扩展方向,沿扩展方向进行概念扩展,每个克隆的概念继承父状态的Skyline,各种概念之间可以通过服务组合算法生成一条概念之间转换的链表,链表中的每一项即为某一服务的调用,算法据此当前状态到用户需求CO之间的最小QoS花费判断各个状态至目标的距离,概念关系图得到概念直接距离矩阵,矩阵中每一数据项表示概念直接调用某一服务进行转换所需的QoS值,利用Floyd加权图求定点最短路径算法对概念直接距离矩阵进行处理,最终得到概念之间通过服务组合进行转换所需的最小QoS值,概念扩展过程中实时比较当前状态至终点的概念距离及相似度; 第六步,具体的概念扩展和备选服务的加入,首先求出备选服务的前置条件消耗的QoS与此备选服务自身消耗的QoS之和,并将其保存于服务对象中,然后得到加入此备选服务后新增的概念,即此服务的输出概念集合,亦即概念的扩展;进而将概念及提供此概念的服务保存于概念服务链中,并更新skyline ; 第七步,对扩展后的状态进行实时去重操作,去除重复多余的状态; 第八步,当生成的状态数目大于K时抛弃离目标过远的状态,概念扩展过程比较当前状态至终点的概念距离及相似度,比较各状态距离,依据所需概念扩展链个数K并依据保留距离小的,舍弃距离大的的原则进行扩展。
3.根据权利要求I所述的一种语义Web服务组合方法,其特征在于,所述步骤2的具体实现方法包括以下子步骤 第一步,方案树左节点的生成,由于服务调用时所需的概念集合在服务概念扩展链中一般有多种提供方式,因此所提供方式采用笛卡尔积进行,并当可提供方式过多时对所有可提供的方式进行排序取Top-K个,然后依次作为生成的左节点; 第二步,方案树右节点的生成,从扩展链中提取提供服务的集合及集合中每个服务所提供概念,以此构建右节点; 第三步,递归调用构建方案树,调用上两步算法产生某一节点的左右节点,将其按照方案树的特性进行组织,按照基于“与或树”的方案树的特点,某一服务的所有条件以父子链表的关系进行组织,后一提供方式为前一提供方式的左孩子,算法称此为左孩子链,某一条件的提供者也以父子的关系进行组织,称为右孩子链,算法产生某个右节点所有的左节点,遍历生成的左节点,生成每个左节点所需服务,即所有右节点然后遍历生成的这些右节点,然后将正向概念扩展阶段的所有概念扩展链全部转换成方案树; 第四步,遍历服务组合方案树生成各个服务组合方案子树,其规则如下服务组合方案树根节点为服务组合方案子树的根节点;当服务组合方案树中一个左节点在服务组合方案子树中时,该左节点的所有右孩子链表节点皆在服务组合方案子树中;当服务组合方案树中的一个右节点在服务组合方案子树中时,则该右节点的左节点链必有唯一一个在服务组合方案子树中;遍历过程从服务组合方案树的根节点开始,至服务组合方案子树所有节点皆为服务组合方案树中的叶子节点为止; 第五步,产生一定数量的组合方案子树,当生成方案超过用户的要求K时,算法以服务组合方案全局QoS离Skyline坐标系原点距离为择优依据对结果集合进行增减,对方案按照某种特定规则排序即可得到组合方案中最优的K个方案。
4.根据权利要求I所述的一种语义Web服务组合方法,其特征在于,所述步骤3的具体实现方法包括新状态Skyline集合产生,服务组合算法,最简服务组合方案树分支裁剪判断步骤,其中,服务组合算法采用服务失效和备选组合算法用来从Skyline空间坐标集合中删除数据点。
5.根据权利要求4所述的一种语义Web服务组合方法,其特征在于,所述新状态Skyline集合产生的具体实现步骤如下 第一步,根据Skyline点集合坐标分布,将整个Skyline空间坐标系分成三区域,分别为支配区域,即新进服务必然会支配已经生成的Skyline集合中某些数据点;盲点区域,此区域各点不归原Skyline各点支配,也不支配原Skyline中的元素;被支配区域,此区域的各点被Skyline支配; 第二步,依据数据点建立多维纸带模型,即根据服务的QoS属性维度建立相应数目的纸带,每一维属性用一条纸带表示,遍历所有的纸带,将Skyline集合按照此纸带表示的QoS属性进行排序,将排序好的服务按照前后关系一一在对应的纸带中记录,记录每个服务的Id,遍历所有的纸带,对纸带上的每个服务在纸带上的位置按照从左到右依次编号,编号从I开始,编号记录在对应纸带的相应位置的服务上; 第三步,继承父状态的Skyline空间坐标系; 第四步,得到新增概念集合及现有概念集合; 第五步,根据变化后的新增概念集合从服务库取得可先进行扩展的服务组成的集合WSS,将WSS集合中每个服务加入至继承的Skyline空间坐标系; 第六步,对于任意一个可进行扩展的服务,算出服务绝对优集sps与绝对劣集SWS ;第七步,根据多维QoS纸带模型判定规定,当绝对劣集不为空时,从原Skyline中删除此服务的绝对劣集,并按插入处于A支配区域的服务的方式增加至Skyline中,即将服务加入到skyline集合后映射到skyline坐标系,当服务绝对优集与绝对劣集皆为空时,同样将新增服务加入至原skyline集合后映射到skyline坐标系即可,而当服务绝对优集为空时,只需将服务映射至skyline坐标系即可; 第八步,对父状态以新skyline及合并后的新旧概念集合为依据进行更新得到新的状态; 第九步,当按照方案生成算法生成所有服务组合方案时,为从方案集合中取得K个最优方案返回,因涉及方案的多QoS比较,算法同样以比较Skyline点集合坐标分布的方式进行判定。
6.根据权利要求4所述的一种语义Web服务组合方法,其特征在于,所述服务组合算法的具体实现方法如下 第一步,取得服务绝对优集和绝对劣集,按照纸带模型判断所属区域; 第二步,删除服务必不可能位于支配区,当变动服务位于盲点区域时,算法将计算对应变动服务的唯一支配区Local Skyline,将Local Skyline所有元素依次插入到原Skyline,然后把对应变动服务在Skyline坐标系中的映射删除; 第三步,当变动服务位于受支配区域,算法直接将服务从Skyline坐标系中将相应的映射删除; 第四步,设置新Skyline至相应的状态的概念扩展链。
7.根据权利要求4所述的一种语义Web服务组合方法,其特征在于,所述最简服务组合方案树分支裁剪的判断依据为用户要求返回QoS全局最优的组合方案数目K以及算法在概念扩展时记录的扩展到某一概念所消耗的QoS数值,其生成算法为 第一步,参照步骤B中生成组合方案树; 第二步,算法对方案树进行中序遍历,对各个右节点进行处理; 第三步,按照同右节点同层次,不同右节点同层次,不同右节点不同层次依照对应规则顺序进行,规则如下 同右节点同层次对此节点的左孩子链表进行排序,择取最优的K个方案,此步可在生成方案树时进行处理; 不同右节点同层次此种情形下选择服务提供方式数量的笛卡尔积接近K数值,按照提供方式消耗的QoS数值进行比较排序;删除QoS消耗太多的左节点,并保证所有遍历过的右节点都有至少一个左节点作为提供方式;不同右节点不同层次要将某提供条件进行分解后进行排序,再按照上两步方式处理; 第四步,返回处理完成的方案树即为所需最简服务组合方案树。
全文摘要
本发明涉及一种语义Web服务组合方法,是一种针对大规模Web服务,实现按需自动服务组合的技术。该技术能够同时考虑多种服务质量(QoS),如服务的响应时间、吞吐量、价格等,根据用户的输入输出需求,自动构建语义上满足需求的若干服务流程,并返回多种服务质量综合最优的TopK个组合方案。此外,该技术能够在百万Web服务规模下,实现秒级的组合效率,从而在大幅减小程序开发者实际编程量的同时,还能够实时适应网络状况和Web服务的运行状况,始终保证用户使用到最优组合方案。
文档编号G06F17/30GK102945283SQ20121046875
公开日2013年2月27日 申请日期2012年11月19日 优先权日2012年11月19日
发明者曾承, 丁伟, 胡扬, 曹德强 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1