首页> 中国专利> 一种计算具有QoS关联关系的QoS最优组合服务限定范围的方法

一种计算具有QoS关联关系的QoS最优组合服务限定范围的方法

摘要

本发明公开了一种计算具有QoS关联关系的QoS最优组合服务限定范围的方法,该方法具体包括:步骤一、首先在备选服务中,根据服务支配关系计算出Skyline服务,移除被支配的QoS关联,进而移除非Skyline且不具备QoS关联的服务,然后将有QoS关联关系的服务分解,并根据QoS累加值进行排序;步骤二、在削减部分服务后的基础上,通过依赖抽象组合服务模型中的抽象服务之间的序关系,逐层进行服务组合,移除被支配并不具备QoS关联关系的子组合服务,最终得到限定范围。本发明避免了现有做法错过一些正确的组合服务,并且具有较高的效率,能够在较短的时间内计算出限定范围,快速响应用户的请求。

著录项

  • 公开/公告号CN104796467A

    专利类型发明专利

  • 公开/公告日2015-07-22

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN201510168726.0

  • 发明设计人 胡昊;宋巍;葛季栋;吕建;杜宇;

    申请日2015-04-10

  • 分类号H04L29/08(20060101);G06F17/30(20060101);

  • 代理机构32207 南京知识律师事务所;

  • 代理人张苏沛

  • 地址 210093 江苏省南京市鼓楼区汉口路22号

  • 入库时间 2023-12-18 10:02:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-06

    授权

    授权

  • 2015-10-14

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20150410

    实质审查的生效

  • 2015-07-22

    公开

    公开

说明书

技术领域

本发明涉及计算机互联网Web服务组合领域,尤其是一种计算具有QoS关联关系 的QoS最优组合服务限定范围的方法及系统。

背景技术

Web服务是一个平台独立的,低耦合的,自包含的web的应用程序,可使用开放 的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操 作的应用程序。SOA架构使得分布于网络的独立的Web服务可以被组合,从而完成更 加复杂的功能。通常我们用一个抽象组合服务模型(例如工作流)来代表一个组合服 务,我们通过为该模型中每一个任务绑定一个服务的方式,来实例化一个组合服务。

QoS通常用来描述Web服务的非功能属性,例如:价格、响应时间。随着网络上 提供相同功能的Web服务越来越多,服务组合技术要解决的问题不仅仅是满足功能需 求,还要选出全局QoS最优的服务。已有很多学者研究了这个问题,这些解决方案中 根据用户为每一个QoS属性指定权重,算法依据权重来选择全局QoS中最优的服务。

然而,如果用户所对QoS所指定的权重变了,还需要重新运行一遍算法来选择全 局QoS最优的服务,导致了大量的计算。为了解决这个问题,一些服务组合领域的学 者将Skyline理论应用到服务选择中,大大减小了每个任务候选服务的数量大小,其中 Yu Qi提出了组合服务Skyline的概念,在所有组合服务实例中计算Skyline。计算出组 合服务Skyline,就计算出了QoS最优组合服务限定范围。

但是上述工作都没有考虑到Web服务之间存在QoS关联的情况,QoS关联在实际 生活中普遍存在,比如:我们的在线旅行服务选的是阿里去啊,航班选择南方航空, 我们会发现通过阿里去啊来预订南航的航班通常会有折扣,价格会降低,这就是一种 在价格上的QoS关联。现有的工作在这种情况下都无法正确的限定QoS最优组合服务 的范围。如果枚举所有的组合服务,然后计算组合服务Skyline,也可以限定QoS最优 组合服务的范围,但是在每个任务候选服务较大的时候会导致组合爆炸问题。

发明内容

针对上面提到的问题,本发针对Web服务之间存在QoS关联的情况,提出了一种 计算具有QoS关联关系的QoS最优组合服务限定范围的方法,服务组合根据一个抽象 组合服务模型建立,该模型中每一个抽象服务会对应一组功能相同但服务质量不同的 实体服务,同时不同抽象服务所对应的实体服务之间具有QoS关联关系——即某个抽 象服务的实体服务的QoS值会被参与组合的与其关联的抽象服务所对应的实体服务所 影响,当不同的用户向组合服务代理提出请求的时候,这些用户可能对组合服务的QoS 有着不同的需求,组合服务代理根据用户对QoS的偏好做出计算,然后返回满足用户 需求且QoS加权求和最高的组合服务,由于不同的用户对QoS的偏好可能不一样,有 的用户可能对价格比较敏感,而有的用户会对信誉比较敏感,根据不同的偏好,组合 服务代理需要做出多次运算来响应用户的请求,然而我们希望组合服务代理可以快速 的响应用户的需求,使用我们的方法可以计算出一个组合服务子集,该集合将不可能 满足用户需求或者QoS加权求和分值不是最高的组合服务排除,这样当不同用户请求 到达的时候,组合服务代理只需要在这个子集中去做计算,已有的方法忽视了一点: 在现实世界中,服务与服务之间通常存在QoS关联,我们的方法可以适应不同抽象服 务的备选服务之间存在QoS关联的情况,正确的计算出最优QoS组合服务的限定范围, 将不可能满足用户QoS需求的组合服务排除,具体技术方案包括如下步骤:

步骤1,首先在备选服务中移除一定不会成为组合服务QoS最优解的候选实体服 务,然后将这些剩余的带有QoS关联关系的服务进行分解,这些分解后的服务可以看 作新的备选服务,并根据QoS的累加值进行排序;

步骤2,在步骤1削减部分备选服务的基础上,通过依赖抽象组合服务模型中的抽 象服务之间的序关系,逐层进行服务组合,来不断筛选,移除被支配的不含有QoS关 联关系的自服务,最终我们的方法一定保证最优服务在我们计算出的范围内。

本发明步骤1包括以下步骤:

将一个服务记为ws=<id,Q,C,InSet,OutSet,NoInSet>,其中服务的唯一标识为id,服 务的默认QoS记为Q,C表示存放QoS关联的集合(其中QoS关联记为c=<q,cv,s>, q表示的是所关联的QoS属性,cv是该属性的关联值,s表示的是影响ws的QoS值的 服务),InSet中存放影响ws的QoS值的服务,OutSet中存放被ws影响QoS值的服务 的集合,NoInSet存放不可以和ws组合的服务。

步骤1.1,在用户给出请求前,每一个服务代理利用服务之间的支配关系求出Skyline 服务,以及带有QoS关联的服务,在带有QoS关联的服务中,利用支配关系,进一步 移除服务中被其他备选服务QoS支配的QoS关联,当一个非Skyline服务的QoS关联 都被移除,该服务也被移除:

步骤1.1.1,在各个服务代理中的备选服务构成的候选服务集合中计算出Skyline服 务以及与其他备选服务存在QoS关联的服务,移除候选服务集合中的其他Web服务;

步骤1.1.2,在新的候选服务集合中移除冗余的QoS关联,有一些备选服务虽然存 在QoS关联,但是关联后的QoS值仍然不可能与其他备选服务组合成为QoS最优组 合服务,那么这样的QoS关联关系就需要移除(移除规则:1、一个服务的OutSet为 空,关联后的QoS值仍然被Skyline服务所支配;2、一个服务s1的OutSet为空,影 响其QoS值的一个服务为s,同一个候选集合中的其他服务s2,如果影响它QoS值的 服务也为s,且s1的关联值被s2的关联值支配);

步骤1.1.3,移除候选服务集合中冗余的Web服务,这部分服务的QoS无法满足用 户的需求,在候选服务集合中,当一个服务既不是Skyline服务,又不与其他备选服务 存在QoS关联,就需要移除。

步骤1.2,在收到用户请求后,组合服务代理根据用户的请求,以及各个服务代理 中备选服务的信息,利用支配关系进一步移除被支配的QoS关联,当一个非Skyline 服务的QoS关联都被移除,该服务也被移除,然后将这些带有QoS关联关系的服务进 行分解,将这些分解后的服务看做新的可以组合的服务,并根据QoS的累加值进行排 序:

步骤1.2.1,根据用户的请求,进一步移除候选服务集合中冗余的QoS关联:移除 候选服务集合中与用户请求无关的QoS关联,有的服务所关联的服务并不在用户的请 求中,这样的关联需要移除;除此之外,步骤1.1中的步骤是在每一个服务代理上被执 行,由于此时不知道其他服务代中备选服务的详细信息,因此只能移除部分冗余QoS 关联,本步骤被组合服务代理所执行,组合服务代理可以知道与抽象组合服务模型相 关抽象服务所对应的所有备选服务信息,此时进一步移除含有不满足用户需求的关联 值的QoS关联(移除规则:1、一个服务的OutSet为空,关联后的QoS值仍然被Skyline 服务所支配;2、一个服务s1的OutSet为空,影响其QoS值的一个服务为s,同一个 候选集合中的其他服务s2,如果影响它QoS值的服务也为s,且s1的关联值被s2的关 联值支配;3、对于同一个候选服务集合中的两个服务s1和s2,它们的InSet都为空, 如果它们影响一个相同服务s的QoS值,并且s2与s组合后的QoS值支配s1与s组合 后的QoS值,需要移除s1与s的QoS关联);

步骤1.2.2,移除候选服务集合中冗余的Web服务,这部分服务的QoS无法满足用 户的需求,在候选服务集合中,当一个服务既不是Skyline服务,又不与其他备选服务 存在QoS关联,就需要移除;

步骤1.2.3,对最终候选服务集合中带有QoS关联的服务进行分解,并按照QoS累 加公式得到的分值进行排序,下面的求和公式会使得服务的QoS值在归一化后,累加 结果越小服务质量越好,分解后得到服务像以前的服务一样,可以参与到后面的服务 组合过程;

score(ws)=Σi=1kqimax-qiqimax-qimin+Σi=k+1dqi-qiminqimax-qimin

在上面的公式中,QoS的第1至第k个属性是正属性,其含义是QoS值越高,服 务质量越高,而第k+1到第d个属性为负属性,其含义是QoS值越低,服务质量越高。 本发明步骤2包括以下步骤:

步骤2.1,通过依赖抽象组合服务模型中的抽象服务之间的序关系,逐层进行服务 组合,组合的顺序依据Lattice结构和小顶堆结构得到;

我们通过一个例子来介绍Lattice结构,假设我们有两个抽象服务,每个抽象服务 有两个备选服务分别为{ws11,ws12}以及{ws21,ws22},这个例子对应的Lattice结构如图4 所示,那么组合的顺序就从Lattice的顶点往下走。然而对于兄弟节点,我们就需要利 用小顶堆来完成了。

步骤2.2,在服务组合的过程中,限定QoS最优组合服务的范围。在服务组合过程 中,会出现一些子组合服务,这些子组合服务构成了新的候选服务集合,我们需要移 除不具备QoS关联关系且被支配的子组合服务。

此外,本发明还涉及一种计算具有QoS关联关系的QoS最优组合服务限定范围的 系统,包括预处理模块及最优组合服务计算模块,所述的预处理模块用于在备选服务 中移除一定不会成为组合服务QoS最优解的候选实体服务,然后将剩余的带有QoS关 联关系的服务进行分解,将分解后的服务看作新的备选服务,并根据QoS的累加值进 行排序;所述的最优组合服务计算模块用于在预处理模块削减部分备选服务的基础上, 通过依赖抽象组合服务模型中的抽象服务之间的序关系,逐层进行服务组合,来不断 筛选,移除被支配的不含有QoS关联关系的自服务,最终计算出最优组合服务。

有益效果:本发明在计算QoS最优组合服务限定范围时,可以在具有QoS关联的 情况正确得出限定范围,避免了现有做法错过一些正确的组合服务,并且具有较高的 效率,通过一系列规则来移除备选服务,减少候选服务集合的大小,从而在较短的时 间内计算出限定范围,快速响应用户的请求。

附图说明

图1是本发明实施例的一种计算具有QoS关联关系的QoS最优组合服务限定范围 的方法的流程示意图。

图2是本发明实施例的系统结构示意图。

图3是本发明实施例的抽象组合服务模型示例图。

图4是本发明实施例所用的Lattice结构。

图5是本发明实施例的具有QoS关联的服务实例表,其中每一列代表的是一个候 选服务列表,一个格子中包含了服务标识,以及该服务对应的QoS值(在括号中),括 号下面的值是关联的QoS值,包括那个服务与当前服务关联,以及关联后的值是多少, 假设QoS关联存在于第一个QoS属性上。

具体实施方式

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述/或 其他方面的优点将会变得更加清楚。

请参考图1,为本发明实施例的一种计算具有QoS关联关系的QoS最优组合服务 限定范围的方法。图2是本发明实施例的系统结构示意图,用户向组合服务代理服务 器发起请求,组合服务代理根据用户的请求设计抽象组合服务模型,然后从每一个服 务代理中选择合适的服务进行组合,计算得到QoS最优组合服务的限定范围。

实施例一

下面我们通过一个具体的例子来解释我们的方法是如何执行的。图5是本发明实施 例一的具有QoS关联的服务实例表,其中每一列代表的是一个候选服务列表即一个候 选服务集合,一个格子中包含了备选服务标识,以及该备选服务对应的QoS值(在括 号中),括号下面的值是关联的QoS值,包括哪个备选服务与当前备选服务关联,以及 关联后的值是多少,我们的假设是QoS关联存在于第一个QoS属性上。如表中所示, 在网络中存在4个任务,我们的抽象组合服务模型由三个任务组成(图3),我们要限 定具有QoS关联关系的QoS最优组合服务范围域。

步骤1,在分布式的Web服务代理服务器中离线计算Skyline服务并获取带有QoS 关联的服务,并移除冗余服务:Task1的候选列表为{s11,s12,s13,s14},其中s13与s14是Skyline 服务,s11与s12分别影响s31与s41的QoS,所以不能删除;Task2的候选服务列表为 {s22,s23,s24},其中s21虽然有QoS关联,但是其关联后所得的新值仍被Skyline服务支配, 所以关联被移除,在移除后s21没有任何QoS关联,且s21不是Skyline服务,所以其被 删除,s24影响s31的QoS值,所以要保留;Task3的候选服务列表为{s32,s34},虽然s31有QoS关联,但其所有可能的QoS值都被s34支配,并且s31不是Skyline服务,故移 除,s33同理被移除。对于不是Skyline的服务,移除默认的QoS值。

在用户指定了抽象组合服务模型之后,进一步移除每一个候选服务列表中的冗余服 务,分解服务:Task1的候选列表为{s13,s14},这是因为s11所影响服务所属的任务不在 给定的抽象组合服务模型中,s12与s31之间的关联在步骤1中被删除,所以s12也没有 任何关联了,并且其不是Skyline服务所以被删除;Task2的候选服务列表为{s22,s23}, s24与s32组合的QoS值不如s23与s32组合的得到的QoS好;Task3中候选服务列表为 {s32,s34},其中s32只与s23关联。然后进行服务分解,例子中只有s22需要分解,其QoS 分别为(0.4,0.3,0.2)和(0.3,0.3,0.2),如果为前者s22-1,那么NoInSet为s14,也就是不能和 s14进行组合,如果为后者s22-2,则InSet为s14,我们在组合中如果发现InSet不为空, 那么在相应任务中就只可以和InSet中的服务进行组合。最后按照每个服务的分值进行 排序,在本例中我们假设所有QoS属性都是负向属性,且累加函数就是求和函数。

步骤2,利用CCSKYAC方法计算得到组合服务Skyline:现在我们已经有了三个候 选服务列表{s13,s14},{s22-2,s22-1,s23},{s32,s34}。先看任务1与任务2的候选服务:根据Lattice 结构,{s13,s22-2}先组合,但是这不是合法组合,因为s22-2只能和s14组合,取出{s13,s22-2} 的子节点{s14,s22-2}与{s13,s22-1},这两个都是合法的组合,其中第一个QoS为(0.7,0.7,0.5), 第二个QoS为(0.9,0.6,0.4),将两个组合服务放入小顶堆中,因为这两个组合服务的分 值都是1.9,所以假设堆顶是{s14,s22-2},弹出后取子节点{s14,s22-1},但是{s14,s22-1}还有一 个父节点没有访问,故而先不管此节点,此时堆不为空,弹出{s13,s22-1},存入列表中, 此时取出它的子节点{s14,s22-1}与{s13,s23},第一个组合不是合法的组合,忽略,第二个组 合的QoS是(1,0.5,0.6),因为这个组合与s32有QoS关联,所以不用比较直接加入列表, 接着是{s13,s23}的子节点{s14,s23},其QoS为(0.9,0.6,0.7),因为其与s32关联,故直接加入 列表中,将此列表中的服务与任务3的候选服务列表中服务进行组合,过程与前面的 叙述相同。最终得到的QoS最优组合服务的范围是{{s13,s22,s34},{s13,s23,s34},{s14,s22, s34},{s13,s23,s32}}。对比先枚举所有组合的方法,我们拥有较高的效率,对比单纯利用 Skyline的方法,我们的准确率高,因为单纯利用Skyline的方法会错过一个正确解{s13, s23,s32}。

本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技 术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本 发明技术方案作出可能的变动和修改,因此,凡是未脱离发明技术方案的内容,依据 本发明的技术是指对以上实施例所做的任何简单修改、等同变化及修饰,均属于本发 明技术方案的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号