互联网服务查找优化方法

文档序号:6587802阅读:159来源:国知局
专利名称:互联网服务查找优化方法
技术领域
本发明涉及的是一种互联网技术领域的方法,具体是一种基于多级缓存结构和实
时动态服务质量约束的互联网服务查找优化方法。
背景技术
当今,服务计算已经成为分布式计算与信息系统领域内迅速发展的方向,随着Web服务(Web Service)的发展与成熟,服务计算以面向服务架构(Service—orientedArchitecture, S0A)的形式f寻至lj了广^乏的推广禾口应用。
对于基于服务计算的应用来说,其质量完全取决于构成它们的服务。由于在互联网环境下,服务的数量呈几何级数增长,在数量浩瀚且质量良莠不齐的服务中,如何保证基于服务计算的应用总是由高质量的服务构成就成为了必须要解决的问题。服务质量(Quality ofService, QoS)的概念在这种情况下应运而生,成为目前S0A架构中对服务提供者(ServiceProvider)进行区分的重要标准。 很多学者都致力于在SOA的服务查找过程中支持QoS。当前,对于QoS的确定主要有两种方式, 一个是服务提供者自己对服务的质量描述,另一个是已经执行过该服务的服务消费者反馈的QoS信息来进行统计。 对于第一种方式,由于服务提供者主观因素的存在,所以在不能保证服务描述客观的情况下,这种途径不能作为QoS的主要依据;而且对于动态服务质量属性,这种静态描述也难以反映其实时状态。 经过对现有技术的检索发现,中国专利文献号CN1968322,记载了一种"Web服务查找和集成代理系统",该技术提出了一种能够针对服务质量方面的度量值进行服务查找的方法,但是这种方法的前提是Web服务必须具有自我描述服务质量的能力。中国专利文献号CN101383850,记载了一种"基于服务质量本体的互联网服务选择系统及方法",该技术提出了利用QoS本体中包含的QoS语义来处理支持Web服务的选择,这种方法需要本体技术的支持。 又进一步检索发现,Makripoulias Y. , Makris C. , Panagis Y. , Sakkopoulos
E. , Adamopoulou P. , Tsakalidis A.的"基于服务质量的互联网服务查找
(WebService discovery based on Quality of Service),, 一文(发表于2006年电气电子工程师协会计算机系统与应用国际会议论文集第196-199页);Anup Kumar,El-Geniedy A. , San Jul i Agarwal.的"在面向服务架构中提供基于服务质量的注册中心的通用框架(Ageneralized framework for providing QoS based registry in serviceorientedarchitecture)"—文(发表于2005年电气电子工程师协会服务计算国际会议论文集第295-301页);Xu Ziqiang, Martin Patrick, Powley Wendy, Zulkernine Farhana的"信誉增强的基于服务质量的互联网服务查找(R印utation-Enhanced QoS-based WebServicesDiscovery) —文(发表于2007年电气电子工程师协会互联网服务国际会议论文集第249-256页)中都提到了要利用反馈来实现对服务质量的度量。但是由于不同的服务消费者分布在不同的网络环境中,它们所反馈的动态服务质量信息对于不同的服务消费者具有的参考价值也不尽相同,因此,如何考虑具体的服务消费者环境对动态服务质量的不同感受,成为了提高基于动态服务质量约束的服务查找的精确度必须要解决的问题。

发明内容
本发明针对现有技术存在的上述不足,提供一种互联网服务查找优化方法,在任何支持接收、存储和查询有关实时动态服务质量的反馈信息的服务注册中心中使用,通过建立基于服务消费者相似度的多级服务查找缓存,可以更高效地查找服务。
本发明是通过以下技术方案实现的,本发明包括以下步骤 第一步、在服务消费者和服务注册中心之间建立多级树状缓存,每个服务消费者归属于多级树状缓存的一个对应的叶子节点缓存。 所述的多级树状缓存是指多个缓存按照树型结构组织在一起,除了作为根节点的服务注册中心之外,每个缓存在这个树型结构中都只有唯一的一个父缓存作为其上级缓存,并且可以有O个或多个子缓存作为其下级缓存,其中叶子节点缓存没有任何下级缓存。 所述的叶子节点缓存中所对应的服务消费者之间设有相似距离参数,该相似距离
参数的值小于相似距离阈值的服务消费者都被群集在该缓存中。
所述的相似距离参数具体如下 『二U_ (1) 其中n表示在叶子节点中所有的服务消费者的数量;Sj表示在叶子节点中缓存的某个服务,假设叶子节点中缓存了 1个服务,则j取值范围为从1到1的整数;Os,tk表示第k个服务消费者对服务Sj的第i个动态服务质量属性的感受值,假设包含m个动态服
务质量属性,则i取值范围为从1到m, k的取值范围从1到n ; C ::表示在某个缓存中的
所有n个服务消费者对于该缓存中缓存的某个服务Sj的某个动态服务质量属性Qj的感受值的平均值,
i=l_ ,
m ' 一 其中(J",由上式(1)计算得到;C^,&含义与上式(1)中的CJ^i含义相同;
Sj含义与上式(1)中的Sj含义相同;m表示所有动态服务质量属性的数量;Dk^表示第
k个服务消费者对服务S,.的所有m个动态服务质量属性的感受值构成的向量与由所有n个
D1;.-=
6属性Qi的感受值的平均值构成的向量之
<formula>formula see original document page 7</formula> 其中a和b表示两个服务消费者;I)"和r)h的含义同上式(2)中的 所述的建立多级树状缓存是指先选取1个服务作为样本,让所有n个服务消费者对这1个服务进行调用,并记录它们对这些服务的每个动态质量属性的感受值0^k其
中j取值范围从1到1, i取值范围从1到m, k取值范围从1到n ;根据获得的^3^k计算
Qv D巧再计算所有n个服务消费者两两之间的相似距离l ;将相似距离小于指定阀值的服务消费者群集在一起,形成多级树状缓存。 第二步、在建立多级树状缓存之后,对服务消费者发送的服务查找请求进行处理,其中服务查找请求是指按照指定的约束条件查找服务的请求,指定的约束条件包含服务功能约束条件和服务质量约束条件,具体的处理过程如下 2. 1)服务消费者将服务查找请求发送到其对应的叶子节点缓存中,并按照请求中包含的服务功能约束条件进行查找。当在该叶子节点缓存中找到了满足服务功能约束条件的待选服务后,则跳转至步骤2. 2),否则跳转至步骤2. 3); 2. 2)使用服务消费者之间的相似距离预测该服务消费者对待选服务所感知的服务质量,计算方法如公式4: <formula>formula see original document page 7</formula> 其中^含义与公式1中的1 d,tk含义类似,表示服务消费者a对服务Sx的
第i个动态服务质量属性的感受值;Qs_t经计算得到,表示在该缓存中的所有服务消费者对于服务Sx的动态服务质量属性Qi的感受值的平均值;Wab由公式3计算得到;C)s,一込表
服务消费者对于服务Sj的所有m个动态服务质j间的欧氏距离。 所述的相似距离参数是指
取"-[)b汇十
W—,— 二示服务消费者b对服务Sx的动态服务质量属性Qi的感受值的预测值,它等于服务消费者a对服务Sx的服务质量属性Qi的感受值(2、ia加上一个偏移量,该偏移量等于d^与
该缓存中所有服务消费者对该属性的平均感受值(J..,的差与a与b的相似距离Wab的乘积; 如果Qs^能够满足服务查找请求中的服务质量约束,则返回待选服务作为查找结果,并跳转至步骤2. 4),否则跳转至步骤2. 3); 2. 3)服务查找请求向上发送给父缓存,父缓存根据服务查找请求中的服务功能约
束条件查找它的其他所有子缓存,当找到满足服务功能约束条件的服务时,父缓存将服务
查找请求转发给包含满足条件的待选服务所在的子缓存,然后跳转步骤2,计算待选服务所
在的缓存中对应的服务消费者与接收服务查找请求的初始缓存对应的服务消费者之间的
相似距离,并计算发出服务查找请求的服务消费者对待选服务所感受到的服务质量,从而
最终确定待选服务是否满足查找请求中的服务质量约束条件,如果在父缓存中仍然没有查
找到满足的服务,则重复步骤3,继续向上一级缓存转发服务查找请求,当服务查找请求到
达服务注册中心时仍无法找到满足要求的服务,则服务查找过程以失败结束; 2. 4)对于成功处理的服务查找请求,查找到的服务将被缓存到产生该服务查找请
求的服务消费者对应的叶子节点缓存中,而服务消费者在调用该服务之后,将获得的动态
服务质量感受值也添加在叶子节点缓存中,至此,服务查找过程以成功结束。 第三步、定期对多级树状缓存进行更新。更新的依据就是使用在缓存中保存的服
务消费者调用服务时的动态服务质量感受值,使用动态服务质量感受值更新相似距离参
数,并用更新相似距离参数和阀值比较,得到新的服务消费者和叶子缓存节点的对应关系。 本发明有助于提高服务查找的准确度,并推动服务计算技术的发展和推广。这都
是由于建立了多级树状缓存,并根据服务消费者的相似距离来群集服务消费者而带来的优势。


图1为本发明流程示意图。
具体实施例方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例包括以下步骤 在服务注册中心和服务消费者之间设置多个服务器,作为多级缓存结构中的节点。按照服务消费者所处的网络环境,例如IP地址段对服务消费者进行初始划分,将服务消费者划分成若干个群组。在多级缓存结构中的每个叶子节点用于管理一个服务消费者群,并将这些服务消费者之间的相似距离初始化为0,即它们完全相似。每个叶子节点缓存的服务集初始化为空。
8
使用适当数量的服务作为样本进行训练,以调整服务消费者在叶子节点缓存中的 位置。在训练期间按,当某个服务消费者发起服务查找请求时,该请求被发送到它所对应的 叶子节点缓存。 在刚刚初始化之后,在该缓存中缓存的服务集为空,所以不存在符合要求的服务, 因此逐级上发该请求,直至找到符合要求的服务,表示服务查找成功,或者直至找到服务注 册中心为止也未能发现符合要求的服务,表示服务查找失败。 当服务查找成功之后,就会在该缓存节点缓存的服务集中添加该服务。同时,今后 该缓存对应的服务消费者对这个服务的调用所产生实时动态服务质量反馈信息将存储在 该缓存中。 当反馈信息的样本空间足够大时,该缓存对实时动态服务质量反馈信息进行处 理,调整其对应的服务消费者之间的相似距离。此时,服务消费者之间的相似距离将不再全 部为0。 此后,当服务消费者发出的服务查找请求发送到其对应的缓存节点时,其处理方 式为 如果在该缓存节点缓存的服务集中能够找到符合其服务功能约束条件的服务,则 利用服务质量反馈信息和服务消费者之间的相似距离,预测该服务消费者对待选服务所感 受的服务质量,以确定待选服务是否符合其动态服务质量约束条件。 如果满足上述两方面的约束条件,则将待选服务作为查找结果返回;如果不满足 约束条件,则逐级上发该请求,直至找到符合要求的服务,表示服务查找成功,或者直至找 到服务注册中心为止也未能发现符合要求的服务,表示服务查找失败。 每个叶子缓存节点将周期性地调整服务消费者之间的相似度,而节点之间通过协 作,还可以改变服务消费者的群组划分,调整每个节点所对应的服务消费者群组。
通过实验进行了对比,一种环境是搭建了一个标准的服务注册中心,并采用描述 的技术构建了包含3级缓存的该服务注册中心的多级树状缓存,其中第一级缓存有2个节 点,它们每个节点都包含2个节点的二级缓存,而二级缓存的每个节点也都包含2个节点的 三级缓存;另一种环境是只搭建了一个标准的服务注册中心。在两个环境中都注册了 1000 个服务,并模拟100个服务消费者发送服务查找请求,其中服务质量约束条件包括有关服 务性能和服务可靠性两个服务动态质量属性的约束条件。 在第一种环境中,先选择了 600个服务注册到服务注册中心中作为样本,按照第 一步的描述进行训练,将这100个服务消费者群集在8个三级缓存,即叶子节点缓存中。然 后将剩余的400个服务注册到服务注册中心。 在第二种环境中,直接将1000个服务注册到服务注册中心中。 本实施例在上述准备工作完毕后,在两个环境中模拟IOO个服务消费者产生相
同的iooo个服务查找请求,然后记录服务查找请求的平均处理时间和服务注册中心的平
均压力。实验数据表明对于服务查找请求的平均处理时间,第一种环境比第二种环境降低 40%左右,而对于服务注册中心的平均压力,第一种环境比第二种环境降低50%左右。更重 要的是,在通过第二种环境进行服务查找请求处理时,无法区分功能相同的服务,因此发现 的满足条件的服务数量比较多,而在第一种环境中可以根据用户提出的有关服务质量的约 束条件,减少备选服务数量,从而提高服务查找的精度。
9
权利要求
一种互联网服务查找优化方法,其特征在于,包括以下步骤第一步、在服务消费者和服务注册中心之间建立多级树状缓存,每个服务消费者归属于多级树状缓存的一个对应的叶子节点缓存;第二步、在建立多级树状缓存之后,对服务消费者发送的服务查找请求进行处理,其中服务查找请求是指按照指定的约束条件查找服务的请求,指定的约束条件包含服务功能约束条件和服务质量约束条件;第三步、定期对多级树状缓存进行更新更新的依据就是使用在缓存中保存的服务消费者调用服务时的动态服务质量感受值,使用动态服务质量感受值更新相似距离参数,并用更新后的相似距离参数和阀值比较,得到新的服务消费者和叶子缓存节点的对应关系。
2. 根据权利要求1所述的互联网服务查找优化方法,其特征是,所述的多级树状缓存 是指多个缓存按照树型结构组织在一起,除了作为根节点的服务注册中心之外,每个缓存 在这个树型结构中都只有唯一的一个父缓存作为其上级缓存,并且可以有0个或多个子缓存作为其下级缓存,其中叶子节点缓存没有任何下级缓存。
3. 根据权利要求1或2所述的互联网服务查找优化方法,其特征是,所述的叶子节点缓 存中所对应的服务消费者之间设有相似距离参数,该相似距离参数的值小于相似距离阈值 的服务消费者都被群集在该缓存中。
4. 根据权利要求3所述的互联网服务查找优化方法,其特征是,所述的相似距离参数 具体如下<formula>formula see original document page 2</formula>其中n表示在叶子节点中所有的服务消费者的数量;Sj表示在叶子节点中缓存的某 个服务,假设叶子节点中缓存了 1个服务,则j取值范围为从1到1的整数;(人丄表示第 k个服务消费者对服务Sj的第i个动态服务质量属性的感受值,假设包含m个动态服务质量属性,则i取值范围为从1到m, k的取值范围从1到n ; 0-:表示在某个缓存中的所有n个服务消费者对于该缓存中缓存的某个服务Sj的某个动态服务质量属性Qi的感受值的 平均值,<formula>formula see original document page 2</formula>其中Q^,由上式(i)计算得到0s,i含义与上式(i)中的0s^k含义相同;SJ含义与上式(1)中的Sj含义相同;m表示所有动态服务质量属性的数量;DlcS表示第k 个服务消费者对服务Sj的所有m个动态服务质量属性的感受值构成的向量与由所有n个服务消费者对于服务Sj的所有m个动态服务质量属性Qi的感受值的平均值构成的向量之 间的欧氏距离。
5.根据权利要求4所述的互联网服务查找优化方法,其特征是,所述的相似距离参数 是指其中a和b表示两个服务消费者;和DfeS|的含义同上式(2)中的<formula>formula see original document page 3</formula>Wab表示两个服务消费者a和b的相似距离,它是通过针对缓存中的1个服务的每个服务, 先计算a和b对该服务的服务质量感受值的差值相对于a和b对该服务的服务质量感受值 的平均值的比值,然后计算这些比值的算术平均值而得到的,、^越小,则表明两个服务消费 者越相似,当其为0时,表明两个服务消费者对服务质量的感知完全相同。
6.根据权利要求4所述的互联网服务查找优化方法,其特征是,所述的建立多级树状 缓存是指先选取1个服务作为样本,让所有n个服务消费者对这1个服务进行调用,并记录它们对这些服务的每个动态质量属性的感受值<3&&其中j取值范围从1到1, i取值范围从l到m, k取值范围从l到n;根据获得的(5s^计算(^^ DkS、再计算所有n个服务消费者两两之间的相似距离l ;将相似距离小于指定阀值的服务消费者群集在一 起,形成多级树状缓存。
7.根据权利要求1所述的互联网服务查找优化方法,其特征是,所述的第二步具体包括以下步骤2. 1)服务消费者将服务查找请求发送到其对应的叶子节点缓存中,并按照请求中包含 的服务功能约束条件进行查找,当在该叶子节点缓存中找到了满足服务功能约束条件的待 选服务后,则跳转至步骤2. 2),否则跳转至步骤2. 3);2. 2)使用服务消费者之间的相似距离预测该服务消费者对待选服务所感知的服务质量,计算方法如下<formula>formula see original document page 3</formula>其中—w含义与公式1中的1 O^xk含义类似,表示服务消费者a对服务Sx的第i个动态服务质量属性的感受值;c;)si经计算得到,表示在该缓存中的所有服务消费者对于服务Sx的动态服务质量属性Qi的感受值的平均值;i^由公式3计算得到;(3S &表示服务消费者b对服务Sx的动态服务质量属性Qi的感受值的预测值,它等于服务消费者a对服务Sx的服务质量属性Qi的感受值0s、,加上一个偏移量,该偏移量等于d,^与该缓存中所有服务消费者对该属性的平均感受值C —,的差与a与b的相似距离的乘积;如果Osy&能够满足服务查找请求中的服务质量约束,则返回待选服务作为查找结果,并跳转至步骤2. 4),否则跳转至步骤2. 3);'2. 3)服务查找请求向上发送给父缓存,父缓存根据服务查找请求中的服务功能约束条 件查找它的其他所有子缓存,当找到满足服务功能约束条件的服务时,父缓存将服务查找 请求转发给包含满足条件的待选服务所在的子缓存,然后跳转步骤2,计算待选服务所在的缓存中对应的服务消费者与接收服务查找请求的初始缓存对应的服务消费者之间的相似 距离,并计算发出服务查找请求的服务消费者对待选服务所感受到的服务质量,从而最终 确定待选服务是否满足查找请求中的服务质量约束条件,如果在父缓存中仍然没有查找到 满足的服务,则重复步骤3,继续向上一级缓存转发服务查找请求,当服务查找请求到达服 务注册中心时仍无法找到满足要求的服务时,则服务查找过程以失败结束;'2. 4)对于成功处理的服务查找请求,查找到的服务将被缓存到产生该服务查找请求的 服务消费者对应的叶子节点缓存中,而服务消费者在调用该服务之后,将获得的动态服务 质量感受值也添加在叶子节点缓存中,至此,服务查找过程以成功结束。
全文摘要
一种互联网技术领域的互联网服务查找优化方法,包括在服务消费者和服务注册中心之间建立多级树状缓存,每个服务消费者归属于多级树状缓存的一个对应的叶子节点缓存;对服务消费者发送的服务查找请求进行处理;定期对多级树状缓存进行更新。本发明有助于提高服务查找的准确度,并推动服务计算技术的发展和推广。这都是由于建立了多级树状缓存,并根据服务消费者的相似距离来群集服务消费者而带来的优势。
文档编号G06F17/30GK101739463SQ200910311680
公开日2010年6月16日 申请日期2009年12月17日 优先权日2009年12月17日
发明者叶世敏, 朱奕博, 李少翀, 杨君诚, 陈昊鹏 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1