APP下载

基于服务质量的Web 服务发现模型研究

2013-07-04李跃军王向辉崔巍

山东建筑大学学报 2013年5期
关键词:请求者服务提供者服务质量

李跃军,王向辉,崔巍

(山东建筑大学 计算机科学与技术学院,山东 济南 250101)

0 引言

随着Web 服务在企业应用集成EAI等大型应用中的大规模应用,如何选择满足需求的高质量Web 服务成为构建大型应用的重要问题。Web 服务发现作为Web 服务的一个关键技术,承担着服务的定位和发现以及为Web 服务的更高层应用提供基础支持的任务,如服务的自动组成和执行。有效的服务发现机制将为应用开发人员寻找服务提供支持,极大的加快服务组合等复杂应用的构建速度,提高基于Web 服务的系统构建和开发的速度、效率、质量。Paolucci等提出了一种将关键字检索和WSDL 结构化匹配相结合的服务发现方法[1]。文献[1-2]中提出一种基于语义的服务发现方法,其采用一种基于DAML 服务本体的语义标记语言DAML-S来描述服务的属性和功能,并提出了若干语义服务匹配算法。基于语义描述语言的服务发现可显著提高服务发现的查准率,但查全率不高。为WSDL 和UDDI 添加语义标记的方法是对UDDI 和语义方法取一个折中。该方法利用了现有的标准,在一定意义上兼有两者的特点,但为UDDI 和WSDL添加标记是一个艰巨的任务。Xin等提出了服务相似性检索的概念,并设计了Web 服务搜索引擎Woogle,可以查找相似的操作或者查找可以组合成一个给定服务的操作[3]。

QoS 包括服务的可用性、价格、可靠性、健壮性等评价的特性,这些特性都会在一定程度上影响到服务的选择过程,即服务发现的过程。将服务质量引入到服务评价标准中将有助于实现服务发现过程的多方面多角度服务评价,而不仅仅是从服务提供者宣称的服务功能描述来选择服务。文章利用服务质量(QoS)支持服务发现的方法对Web 服务质量进行了数学建模,其中关于服务质量的建模简化了服务质量的计算,使服务质量计算过程更具可操作性;提出了改进的服务质量计算公式和两服务间的相似度计算方法;构建了一个基于服务功能和质量相似度计算的服务发现原型系统。该系统集成了服务提供者和请求者的交互接口,使基于服务功能和服务质量的发布和发现过程变的简便易行,提供者可以快速发布服务,用户可以利用功能参数和服务质量参数来进行基于服务质量的服务发现,从而达到更好的检索效果。

1 Web 服务质量模型

1.1 数据模型

式中:p1,p2,…,pl是正向参数;pi+1,pl+2,…,pm是反向参数;max 是QoS 的参数的最大值。通过用max 减去每个反向参数,将反向参数转化为正向参数。

定义一个QoS 基准区间(0,max),将每个服务参数的值转化到该基准区间上。由于服务提供者开发Web 服务的软硬件平台各不相同,技术实力也不尽相同,因此不同的提供者开发同一个功能的Web服务,其服务质量可能差距比较大,计算服务质量的标准也有所不同。这就造成了服务提供者提供的服务质量参数没有一致的度量标准,同功能的服务的质量不具有可比性。通过将不同提供者提供的服务质量转化到一个基准区间可以解决这个问题。

利用上面介绍的基准区间(0,max),每个刻度的增加值为1。假设某服务提供者提供的某服务质量参数区间为(l,l +1,l +2,…,l+max,l+max+1,…,l+n),即它的区间长度超过了基准区间。

首先,将每一项都减去l,区间转化为(0,1,…,max,max+1,…,n)。然后对该区间进行长度缩减,将每n/max个单位合并为一个刻度,这样原来的区间就转化到(0,max)了。例如,当n=2 max 时,将每两个刻度合并为一个新刻度。

采用类似的方法可以解决参数取值区间小于基准区间的情况。基准区间为(0,max),刻度为1,而服务提供者提供的质量参数取值区间为(l,m),刻度也为1。其中l 是服务提供者认为的该参数的最小值,m 是最大值,m <max。通过将(1,m)中的每个值都乘以max/m,就可以将短区间也转化到基准区间上了。例如,基准区间为(0,1,2,3,4,5),服务提供者的区间为(1,2,3)预处理为→(0,1,2),将区间的每个值都乘以5/2,原来的区间取值变为(0,2.5,5)。这样,如果服务提供者原来对某参数的取值为3,其新值将变化为5,原来取值为1 的服务质量参数,其新值将为0。从而真实的体现了服务提供者对该参数取值的含义。

1.2 计算模型

不同的服务参数,其取值范围很可能是不同的,在进行服务质量计算时,应避免最终服务质量的值受某个参数取值特别大的影响。通过每个参数值都除以所有相似服务在该参数上的平均值,就可以降低某个参数值特别大对最后服务质量的影响。

以上是单个服务的服务质量的计算模型。根据以上模型计算每个服务的服务质量,最后按照服务质量的大小进行排序,就可以有效的加速Web 服务的发现过程。

在服务发现过程中,计算两个Web 服务之间的相似度是最基本的问题,请求与服务的相似度计算问题可以参考两Web 服务间的相似度计算方法,计算两服务间的相似度还可以应用到服务的分类和聚类中,因此计算两服务间的相似度就成为服务发现中的关键问题之一。以下公式可以计算两服务的服务质量之间的相似性:

两服务间的功能相似度的计算是经典服务发现的重要方法。服务包括若干操作,操作又包含若干输入参数和输出参数,并且这些参数的数目是不定的。可以应用如下公式来计算两操作间输入和输出参数间的相似度[5]。

式中:SimoperationI(Oper1,Oper2)计算分属于两个服务的两个操作内的输入参数匹配度。SimoperationO(Oper1,Oper2)计算分属于两个服务的两个操作内的输出参数的匹配度。通过计算两服务间的所有操作的相似度可计算出两服务间的相似度Simfunction(s1,s2)。其中ω1ω2分别是对输入和输出的权值参数。结合Web 服务的功能相似度,从而得到综合考虑服务功能和QoS 信息来计算服务间的相似度。

式中:Request 代表用户对所请求的服务的描述;Service 代表所有待选择的 Web 服务;Simfunction(Request,Service)计算请求与待选服务的功能相似性,功能包括服务名称、操作名称、输入输出、文档描述等。

2 基于服务质量的服务发现模型

在利用以上模型进行基于服务质量的服务发现时,可以利用图1 来描述用户与服务提供者之间的交互关系,利用该服务发现模型可以构建基于服务质量的查询系统。在图1 中,服务提供者P1 可以以服务提供者身份注册到服务注册表中,获得用户ID和密码。提供者可以发布多个服务,在发布每一个服务时,提供者需要提供服务的服务名称、操作及对应的输入输出名称、WSDL 文件等功能描述信息,同时在服务质量发布接口,可以发布其服务质量属性。每个服务通过发布接口将服务发布到服务注册表中。在请求者一端,请求者通过客户端请求接口提出其请求,然后将请求发送到匹配器后,匹配器进行服务质量匹配,到服务注册表中寻找到质量和功能与请求相近的服务,按照相似度的大小列表显示出来。

图1 基于服务质量的服务发现模型图

3 服务发现原型系统

利用上述算法,创建了一个原型系统来演示服务的发布、请求过程。系统采用B/S 结构,服务提供者和请求者可以通过统一的接口来进入系统进行服务发布和请求操作。在请求与服务的匹配过程中,将使用以上介绍的算法来计算请求与服务之间的相似性。系统可以分为系统登录、服务功能发布接口、服务质量发布接口、请求接口、结果显示接口。

3.1 服务提供者的功能发布接口

服务提供者进行发布操作时,指定服务的名称和它的服务描述文件wsdl 所在的位置。提交后转至下一步,通过在输入框中输入操作的名称,该操作所包含的所有输入和输出参数,以及操作的说明文档,和服务所存在的地址。点击提交后,就可将服务的功能属性添加到服务注册表中。

3.2 服务提供者QoS 输入接口

服务提供者发布了服务的功能属性还可以为其发布质量参数。响应时间(Response Time)以ms为计数单位,可靠性(Reliability)和健壮性(Robust)的取值范围为15。

在该过程中,系统同时将利用前面介绍的服务质量计算方法计算已发布服务的总体QoS。考虑服务的3 项因素:响应时间、可靠性、健壮性。QoS 的计算方法定义为:

式中:MAX_TIME 定义的是响应时间的最大值;time是响应时间;robust.reliability 分别代表健壮性和可靠性。权值初始定义为1/3,即这3 项指标参数的重要性是一样的系统。可以通过改变权值来获得不同的QoS 计算方法。

3.3 请求者的功能和质量请求接口

面向服务提供者的服务发布过程结束后,服务的请求者可以通过登录界面开始服务发现过程。服务请求者在请求接口界面中的各项中输入自己的请求参数包括输入和输出参数等。请求者还可以输入服务质量属性的查询条件,包括响应时间、可靠性,健壮性等。

3.4 搜索结果显示接口

搜索结果接口负责显示请求结果。用户发出请求后,请求被发送到质量匹配器和功能匹配器,匹配器将请求参数与服务注册表中的服务进行匹配,相似性最高的服务被列表显示出来,并且按照功能和质量排序输出。请求与服务相似度计算可以用式(9)计算:

式中:r 代表请求;s 代表待匹配服务;t、c、reliability、robust 分别代表响应时间、费用、可靠性、健壮性。上式中每对参数的相似性用(10)式计算:

式中:pr,ps分别代表请求属性和服务的属性参数。

针对请求r 的响应结果是一组相关服务的列表,包括服务ID、与请求的相似度、该服务的QoS值、WSDL 链接。列表按照与请求的相似度大小进行排序。用户点击WSDL 链接可以得到该服务的WSDL 描述。Web 服务搜索结果显示如表2 所示。

表2 Web 服务探索结果显示

4 结语

通过应用服务质量(QoS)支持服务发现的方法对Web 服务质量进行了数学建模,其中关于服务质量的建模简化了服务质量的计算,使服务质量计算过程更具可操作性。文章提出了改进的服务质量计算公式和两服务间的相似度计算 方法,构建了一个基于服务功能和质量相似度计算的服务发现原型系统。该系统采用B/S 结构,集成了服务提供者和请求者的交互接口,使基于服务功能和服务质量的发布和发现过程变的简便易行。提供者可以快速、轻松发布服务,而用户可以利用服务质量参数来进行基于服务质量的服务过滤,从而达到更好的检索效果。

[1]Paolucci M.,Kawamura T.,Payne T..Semantic matching of Web services capabilities[C].Heidelberg:The Semantic Web-ISWC2002 Proceedings.Lecture Notes in Computer Science,2002(2342):333-347.

[2]Cabral L.,Domingue J.,Motta E.,et al.Approaches to semantic Web services:an overview and comparisons[C].Heraklion:Proceedings of the First European Semantic Web Symposium (ESWS2004),LNCS 3053,2004(5):225-239.

[3]Xin D.,Alon H.,Jayant M.,et al.Similarity search for Web services [C].Toronto:Proceedings of the 30th VLDB Conference,2004:372-383.

[4]Yutu L.,Anne H.,Ngu H.,et al.QoS computation and policing in dynamic Web service selection[C].New York:Proceedings ofthe 13th international World Wide Web conference on Alternate track papers & posters,2004:66-73.

[5]吴键,吴朝晖,李莹,等.基于本体论和词汇语义相似度的Web服务发现[J].计算机学报,2005,28(4):595-601.

[6]蒋哲远,韩江洪,王钊.动态的QoS 感知Web 服务选择和组合优化模型[J].计算机学报,2009,32(5):1014-1025.

[7]Liu W.,Wong W..Web service clustering using text mining techniques[J].International Journal of Agent Oriented Software Engineering,2009,3(1):6-26.

[8]张忠宇,黄光奇,常涛,等.面向QoS 的服务运行时绑定方案[J].计算机工程与设计,2011,32(8):2700-2703.

[9]Santhana A.,Vijayan S.,Balasundaram R..Effective Webservice discovery using K-means clustering[C].ICDCIT 2013,LNCS 7753,2013:455-464.

[10]Elgazzar K.,Hassan A.E.,Martin P..Clustering WSDL documents to bootstrap the discovery of Web services[C].Curran:2010 IEEE International Conference on Web Services,2010:287–294.

[11]吕强,宋玲,马军,等.基于本体的Deep Web 语义分类研究[J].山东建筑大学学报,2010,25(2):118-124.

[12]孙澎.开放式网站的信息存储方法[J].山东建筑大学学报,2009,24(6):553-557.

猜你喜欢

请求者服务提供者服务质量
基于D2D 多播通信的合作内容下载机制
网络服务提供者的侵权责任研究
群智感知中基于云辅助的隐私信息保护机制
论如何提升博物馆人性化公共服务质量
基于传感器数据采集的快递服务质量分析
论网络服务提供者刑事责任的归责模式一一以拒不履行网络安全管理义务罪为切入点
汉语自然会话中请求行为的序列结构
论网络服务提供者的侵权责任
基于差值诱导的Web服务评价可信度的评估
网络服务提供者第三方责任的立法审视