基于QoS的柔性服务查找方法

文档序号:7551038阅读:113来源:国知局
专利名称:基于QoS的柔性服务查找方法
技术领域
本发明涉及SOA架构系统中高效查找到最合适的服务方法,特别是一种基于QoS的柔性服务查找方法。
背景技术
QoS主要与网络接入点能提供的带宽资源有关,对带宽资源分配有一个基本要求,可以在动态调整,因而提出QoS具有柔性。为了使用户能从这些功能相似的服务中选出满足QoS要求的最佳服务,我们在面向服务系统中引入了 QoS信息库,基于QoS的服务查找的基础设施,满足用户服务查找时对服务质量的要求,QoS信息库记录了服务的四个QoS指标:价格、平均响应时间、可靠性、信誉度。系统运行过程中会调用相关服务对其中的平均响应时间、可靠性、信誉度三项指标进行实时更新,反映系统中服务质量的变化提高用户服务查找的准确度和满意度。目前面向服务系统中的服务查找大多是根据服务注册信息进行关键词精确匹配实现的,但不足以有效支持在大量服务环境下服务的快速发现和准确定位。面对越来越多的服务提供者,传统的服务查找方法已不能满足需求,QoS逐渐成为目前SOA架构中对柔性服务查找的一个重要因素。希腊学者YannisMakripoulia和ChristosMakr等人提出基于对服务描述的扩展进行的服务查找方法,展现了一种基于QoS的服务发现机制的通用的设计与实现,这种机制对现有的包含多组动态web服务的环境进行了扩展,以透明的方式来考虑QoS特性的UDDI查找包被引入来便利传统的WebService查找。这种设计由于需要进行人工干预,导致在处理主观QoS需求的时候不适应与B2B的应用。

发明内容
本发明的目的在于提出一种基于QoS的柔性服务查找方法,使其具有通用性,从而在保证服务提供者提供 柔性服务的同时,能够保证所提供的服务质量,满足柔性服务查找的标准,快速而又准确的查找到所需的合适服务。为了实现上述目的,本发明的技术方案是:
基于QoS的柔性服务查找方法按以下步骤进行:
步骤一:S0A架构由注册中心,服务提供者,客户端三者组成,在客户端与注册中心之间建立N级缓存结构,N ^ 2 ;Cache对客户端进行分组,每组客户端对应一个Cache,里面保存服务调用信息、服务信息和客户端之间的相似度;客户端请求服务时,首先将服务请求发送到所对应的Cache,服务请求中包含客户端的信息、服务的功能需求、QoS服务需求,对QoS服务指标进行量化处理,由两个属性Name和Weight组成,其相应权重数值越高对应的服务质量越高;
步骤二:每个客户端都对应唯一的末端Cache,末端Cache保存着所辖客户端的调用过的服务信息、服务调用的QoS服务历史记录和客户端之间的相似度;Cache接收到客户端的服务请求后,首先按照服务功能需求在自己所保存的本组客户端调用过的所有服务中查找满足的功能性服务请求;当Cache找到满足客户端功能性服务请求时,称为Cache命中;当Cache找不到所需要功能性阿服务请求时,为Cache缺失;
步骤三:每一层Cache,都向上对应一个父级Cache,父级Cache里保存自己所辖子级Cache的所有服务信息和客户端信息,通过父级Cache,可以找到该父级Cache下任何一个子级Cache所辖客户端的信息和服务调用历史信息;判断Cache命中还是Cache缺失,Cache缺失则执行步骤四,Cache命中则执行步骤五;
步骤四:Cache将服务请求发送给父级Cache,父级Cache根据服务请求信息中的功能性要求查找除发送服务请求Cache之外的所有子级Cache ;当找到存在满足功能性需求的服务时,父级Cache将服务请求转发给存在满足要求的服务所在的Cache,执行步骤六,否则执行步骤五;
步骤五:如果在该父级Cache中仍然没有查找到满足的功能性服务,则继续向上一级Cache转发服务请求,当请求到达注册中心时,注册中心的子级Cache仍无法找到满足要求的服务,则注册中心根据服务发布信息进行服务的查找和返回客户端,执行步骤七;
步骤六:时当Cache命中时,则取出最近被调用过的服务作为候选服务;对于每一个候选服务,Cache继续查询保存在Cache中的客户端调用的所有QoS服务历史信息;QoS服务的历史信息中包含客户端信息、服务信息及服务实际执行质量,对于Cache命中的服务,根据QoS指标权重大小,优先考虑权重最大的那个,并对具有相似功能的那一组服务按照该QoS指标值的大小排序;
步骤七:客户端接受到来自Cache返回的服务信息后,将服务执行所需要的参数发送给服务提供者,执行服务调用;当服务结果返回到客户端后,服务执行的QoS信息以及服务信息都会反馈到Cache中,服务信息列表中如果没有该服务,则首先将服务添加到Cache的服务信息列表中,然后将服务信息、客户端信息及QoS实际执行信息保存到Cache的服务调用历史信息中。优选的,QoS指标包括服务价格、平均响应时间、可靠性、信誉度。优选的,服务价格由服务提供者设定;平均响应时间计算方法为旧的平均响应时间值乘以信誉度再加上本次响应时间最后除以信誉度加一;可靠性为服务成功调用次数/调用次数;信誉度为服务被调用次数。本发明与现有技术相比,其显著优点:
(I)提高了服务查找速度:在客户端与注册中心之间建立多级缓存结构,Cache对客户端进行分组,每组客户端对应一个Cache,里面保存着所有服务调用信息和服务信息,Cache是客户端服务请求的代理者,也是基于客户端QoS约束的服务查找的执行者,客户端进行服务请求时,将不必每次都访问注册中心。(2)提高了服务查找的精确度:采用用户驱动的QoS协商机制,主要从服务价格、平均响应时间、可靠性、信誉度这几个方面来考虑服务质量,并采用服务质量属性量化的方法,将以上的四个QoS指标度量值都规范化为一个非负值,数值越高对应的服务质量越高。


图1是扩展的服务查找模型图。图2是多级缓存结构架构图。
具体实施例方式下面结合附图对本发明作进一步详细描述。如图1,本发明基于QoS的柔性服务查找方法,在服务查找模型中加入了 Cache多级缓存。客户端请求服务时,首先将服务请求发送到所对应的Cache,服务请求中包含客户端的信息、服务的功能需求,非功能性需求(QoS)以及其他需求。接收到客户端的服务请求后,Cache首先按照服务功能需求在自己所保存的本组客户端调用过的所有服务中查找满足功能性需求的服务。当在Cache中找到满足客户端要求的服务时,称为Cache命中;当Cache中找不到所需要的服务时,称为Cache缺失。如图2,每个客户端都对应自己唯一的Cache。最底层的末端Cache,直接对应一组客户端,这一层末端Cache保存着所辖客户端调用过的服务信息、服务调用的QoS历史记录以及客户端之间的相似度。每一层Cache,都向上对应一个父级Cache,父级Cache里保存自己所辖子级Cache的所有服务信息和客户端信息,通过父级Cache,可以找到该父级Cache下任何一个子级Cache所辖客户端的信息和服务调用历史信息。当Cache命中时,则取出最近被调用过的N个服务作为候选服务,对于每一个候选服务,Cache继续查询保存在Cache中的客户端调用的所有QoS历史信息。QoS历史信息中包含客户端信息、服务信息及服务实际执行质量。当Cache缺失时,则将请求发送给父级Cache,父级Cache根据服务请求信息中的功能性要求查选所有子级Cache。这时的查找范围不包括发送服务请求的Cache。当找到存在满足功能性需求的服务时,父级Cache将服务请求转发给存在满足要求的服务所在的Cache。在Cache内部的处理过程类似Cache命中时所描述的过程。如果在该父级Cache中仍然没有查找到满足的服务,则继续向上一级Cache转发服务请求。当请求到达注册中心时,注册中心的子级Cache仍无法找到满足要求的服务,则注册中心根据服务发布信息进行服务的查找和返回。服务请求中记录着请求服务的客户端的信息,所以不论转发到哪一级的Cache,服务信息都会返回给最初请求的客户端。对于Cache命中的服务,采用用户驱动的QoS协商机制。该机制允许用户给出各个QoS指标的权重,由两个属性Name和Weight组成,分别代表QoS指标及其相应权重。然后根据指标权重大小,优先考虑权重最大的那个QoS指标,并对具有相似功能的那一组服务按照该QoS指标值的大小排序,由于事先我们已经对服务QoS指标进行量化处理,并且约定数值越高对应的服务质量越高,对服务根据某个给定的QoS指标的大小进行排序就会非常的方便,排序后最前面的服务就是符合用户QoS要求的最佳服务。从而保证了准确性。其中,QoS指标定义及计算公式如下:
权利要求
1.种基于Q0S的柔性服务查找方法,其特征在于按照以下步骤进行: 步骤一:S0A架构由注册中心,服务提供者,客户端三者组成,在客户端与注册中心之间建立N级缓存结构,N ^ 2 ;Cache对客户端进行分组,每组客户端对应一个Cache,里面保存服务调用信息、服务信息和客户端之间的相似度;客户端请求服务时,首先将服务请求发送到所对应的Cache,服务请求中包含客户端的信息、服务的功能需求、QoS服务需求,对QoS服务指标进行量化处理,由两个属性Name和Weight组成,其相应权重数值越高对应的服务质量越高; 步骤二:每个客户端都对应唯一的末端Cache,末端Cache保存着所辖客户端的调用过的服务信息、服务调用的QoS服务历史记录和客户端之间的相似度;Cache接收到客户端的服务请求后,首先按照服务功能需求在自己所保存的本组客户端调用过的所有服务中查找满足的功能性服务请求;当Cache找到满足客户端功能性服务请求时,称为Cache命中;当Cache找不到所需要功能性阿服务请求时,为Cache缺失; 步骤三:每一层Cache,都向上对应一个父级Cache,父级Cache里保存自己所辖子级Cache的所有服务信息和客户端信息,通过父级Cache,可以找到该父级Cache下任何一个子级Cache所辖客户端的信息和服务调用历史信息;判断Cache命中还是Cache缺失,Cache缺失则执行步骤四,Cache命中则执行步骤五; 步骤四:Cache将服务请求发送给父级Cache,父级Cache根据服务请求信息中的功能性要求查找除发送服务请求Cache之外的所有子级Cache ;当找到存在满足功能性需求的服务时,父级Cache将服务请求转发给存在满足要求的服务所在的Cache,执行步骤六,否则执行步骤五; 步骤五:如果在该父级Cache中仍然没有查找到满足的功能性服务,则继续向上一级Cache转发服务请求,当请求到达注册中心时,注册中心的子级Cache仍无法找到满足要求的服务,则注册中心根据服务发布信息进行服务的查找和返回客户端,执行步骤七; 步骤六:时当Cache命中时,则取出最近被调用过的服务作为候选服务;对于每一个候选服务,Cache继续查询保存在Cache中的客户端调用的所有QoS服务历史信息;QoS服务的历史信息中包含客户端信息、服务信息及服务实际执行质量,对于Cache命中的服务,根据QoS指标权重大小,优先考虑权重最大的那个,并对具有相似功能的那一组服务按照该QoS指标值的大小排序; 步骤七:客户端接受到来自Cache返回的服务信息后,将服务执行所需要的参数发送给服务提供者,执行服务调用;当服务结果返回到客户端后,服务执行的QoS信息以及服务信息都会反馈到Cache中,服务信息列表中如果没有该服务,则首先将服务添加到Cache的服务信息列表中,然后将服务信息、客户端信息及QoS实际执行信息保存到Cache的服务调用历史信息中。
2.根据权利要求1所述的基于QoS的柔性服务查找方法,其特征在于:QoS指标包括服务价格、平均响应时间、可靠性、信誉度。
3.根据权利要求2所述的基于QoS的柔性服务查找方法,其特征在于:服务价格由服务提供者设定;平均响应时间计算方法为旧的平均响应时间值乘以信誉度再加上本次响应时间最后除以信誉度加一;可靠性为服务成功调用次数/调用次数;信誉度为服务被调用次数。
全文摘要
本发明涉及一种基于QoS的柔性服务查找方法。为提高服务查找速度,在客户端与注册中心之间建立多级缓存结构,Cache对客户端进行分组,每组客户端对应一个Cache,里面保存着所有服务调用信息和服务信息,Cache是客户端服务请求的代理者,也是基于客户端QoS约束的服务查找的执行者,客户端进行服务请求时,将不必每次都访问注册中心;为提高服务查找的精确度:采用用户驱动的QoS协商机制,主要从服务价格、平均响应时间、可靠性、信誉度这几个方面来考虑服务质量,并采用服务质量属性量化的方法,将以上的四个QoS指标度量值都规范化为一个非负值,数值越高对应的服务质量越高。
文档编号H04L29/06GK103095713SQ201310026540
公开日2013年5月8日 申请日期2013年1月24日 优先权日2013年1月24日
发明者李千目, 李嘉 申请人:无锡南理工科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1