system: [SYSTEM]

user: 3. 典型Web服务发现方法 3.1. 基于规则推理的服务发现 由于服务注册中心只能支持基于关键字的Web服务检索，这种方式的检索条件过于简单，多数情况下无法准确表达用户的需求，因此其检索效率一般较低，检索结果精度也比较差。为解决此类问题，许多方法通过构建规则或者逻辑来描述服务请求，使其能更清晰准确地刻画出服务请求的具体内容，再基于这些规则或者逻辑来实现服务发现过程的自动推理。文献 [ 3 ] 通过语义规则来描述服务请求，基于本体来分解服务发布的描述信息，并提出了一个基于语义规则驱动的Web服务发现方法。该方法通过在语义规则上设立影响因子来调节和度量最终的服务匹配精度，判定最终的匹配结果。文献 [ 4 ] 基于本体和计算逻辑提出了一个推理引擎来解决服务发现问题。该推理引擎推理主要面向服务发布与服务请求之间的行为接口来建立推理规则和计划。为降低服务发现的复杂度，文献 [ 5 ] 在服务匹配之前增加了一个预处理环节，该环节中通过编程设定规则，在候选服务发布集内首先滤除无关的服务，从而缩小服务发现的范围，提高服务发现的准确度。为提高服务发现效率，文献 [ 6 ] 区别对待服务请求和服务描述，采用语义规则来刻画服务请求，对服务发布描述进行子类扩展，通过验证个体与集合关系来不断缩小服务匹配范围，提出了一种基于语义规则的分阶段语义Web服务发现方法。其核心思想是基于OWL-S本体规范给ServiceProfile的ServiceParameter属性扩展增加一个规则子类：Rule，如图2所示。 此类方法的性能主要取决于其规则与推理逻辑，理想情况下此类方法能够有效实现服务发现过程的自动化，取得比较满意的服务发现精度。但如何设计出有效的规则和合理的逻辑推理往往具有较高的难度，而且这些规则和逻辑一般比较复杂，在服务发现过程中的执行往往需要额外增加时间和计算方面的费用开销，致使方法的性能不能达到预期。 图2. 扩展后的OWL-S结构图 3.2. 基于增强语义的服务发现 相对于语法级别的服务发现，采用语义技术的服务发现方法能够提升服务发现过程中的自动推理能力，其结果的准确性普遍较高，因此许多方法通过增强Web服务以及服务请求中的语义信息来提高服务发现的性能。这类方法通常以本体为支撑技术，通过语义标注、语义扩展等典型手段，增加服务发现两端的语义信息来凸显服务发布方和服务请求方的功能属性，使两者的表述针对性更强，语义特征更加明显，从而提高服务匹配的精度。文献 [ 7 ] 中提出了一种基于功能语义标注的Web服务发现方法。该方法通过对领域本体进行扩展，定义了一个Web服务的领域功能语义模型，来实现Web服务描述的语义扩展；其在服务发现过程中，先对服务的功能进行语义相似度匹配，再对符合条件的服务再进行接口匹配。该方法还特别设计了一个功能语义标注算法来对对WSDL进行语义标注，其服务发现过程如图3所示。文献 [ 8 ] 则给出了一个基于语义自动标注的服务发现方法，其核心思想是综合利用多层本体概念以及一个改进的服务向量模型来标注和聚类服务，从而生产一个类似于UDDI的Web服务语义分类目录。该方法主要利用其定义的潜在语义索引来增强服务请求的语义，首先根据服务功能参数对语义分类目录中的Web服务进行初步过滤，再计算出对应的语义相似度进行匹配，最后得到一个排序的Web服务候选列表。文献 [ 9 ] 针对现有的Web服务体系结构普遍存在的不可扩展、语义信息不足等问题，设计了一种可扩展语义的Web服务体系结构，该方法中给出了相应的服务发布与服务删除算法、服务体系结构的动态调整算法，以达到提高系统的存储资源利用率和服务发现效率的目的。 此类方法一般将研究重点放在服务及请求的描述上，其方法原理相对简单，可操作性相对较强。但此类方法的性能依赖于本体的优劣，而本体的构建标准常常不统一，即使对同一领域建模，不同的本体其性能差别也会很大，而且建立和维护本体库的开销也比较大，因此，此类方法的实际应用效果往往达不到预期设计。 3.3. 基于服务质量的服务发现 前述的两类方法在其服务匹配中考虑的匹配对象几乎都是服务的输入、输出、前提条件和服务效果等参数，这些参数从本质上来说都属于候选服务的功能属性。服务发现过程中若只以服务的功能属性作为匹配对象，结果中往往会出现一批功能相似的候选服务，由于缺少功能属性外的参数依据，一般难以 图3. 服务发现过程图 从中选择出最佳的服务。因此，在功能属性之外考虑非功能属性来实现Web服务发现就成为了一种必然的选择，其中基于服务质量(QoS)的服务发现又是其中的研究重点，它成为发现和选择候选服务的一个重要依据，用以更好地满足用户的需求。文献 [ 10 ] 设计并实现了一种用于支持非功能性web服务的QOS方法。该方法基于OWL-S扩展，并通过添加获取非功能参数所需的信息，来构建了一个QoS度量模型。实验结果表明，其提出的方法能提高服务发现的准确性。在文献 [ 11 ] 中，为找到最好的Web服务，作者提出了一个形式化的客户端请求消息结构和服务代理架构。首先，代理架构从客户端获取带有QoS要求的Web服务需求信息，然后它检索出功能相似的Web服务。再基于那些被代理所确认的QoS属性，代理将根据一个算法机制来对候选服务进行排名。类似的，文献 [ 12 ] 提出了一个两阶段的Web服务发现框架。第一个阶段是一种功能匹配方法，它评估给定的Web服务集之间的相似性，并根据用户的功能需求提供相关的服务。在此之后，基于从第一个阶段产生的相关服务的用户上下文和非功能性需求，计算二者的上下文信息之间的相似度。根据计算的相似度，返回一组同时能满足用户功能需求和非功能需求的服务。文献 [ 13 ] 设计了一种支持服务QoS差异度控制的Web服务发现模型，如图4所示。在该模型中，通过增加第三方监控Interceptor来保证数据的真实性，同时通过在服务使用者端和QoS认证中心处增加QoS属性本地规约验证机来控制需求端和发布端两者间对QoS的差异度，以此来达到为用户提供更优Web服务的目的。类似的研究也比较多 [ 14 ] [ 15 ] [ 16 ] ，重点都利用了QoS参数来改进服务发现的效果。 相对于前两类方法，基于服务质量的服务发现方法将研究重点置于服务匹配后的服务排序或者服务选择阶段，其服务匹配阶段的算法原理与前两者差别不大。因此，此类方法的服务发现精度往往高于前两者，但其计算开销和计算复杂度也比前两者要大。 图4. 支持服务QoS差异度控制的Web服务发现模型 3.4. 基于图的服务发现 虽然在服务发现过程中增加语义信息会提高服务发现过程的自动性和结果的准确性，但由于大部分语义模型和方法只能适用于某些特定领域，应用的难度和复杂度都很高，而且这些方法通常在匹配过程中对匹配条件要求过于严格，致使结果的查全率往往偏低。为解决此问题，偏重于服务接口逻辑关系或服务参数间依赖关系的方法逐渐引起了重视，这类方法通常利用二分图等作为主要工具来分析问题。文献 [ 17 ] 在服务发现中引入聚类与二分图匹配技术，采用空间向量模型表示服务，设计专门的聚类算法对服务进行聚类，其服务发现过程中借鉴带权二分图最优匹配思想对服务的功能属性进行匹配。其二分图的权值根据概念间语义相似度计算得出。文中还讨论了如何构建满足最优匹配条件的带权二分图问题并给出了其解决方案。文献 [ 18 ] 为解决传统基于二分图匹配的服务发现算法查全率和查准率不高的问题，提出了一种扩展的二分图匹配的Web服务自动发现算法，利用松弛函数值扩展等价子图来寻找新的增广路径。文献 [ 19 ] 在计算服务功能属性的相似度时，考虑了输入输出参数之间的依赖关系，将服务的输入输出参数按照其依赖关系进行配对，同时用有向树表示对应的服务过程模型，给出了有向图的相似度计算方法，匹配过程中通过对树同构的判断和有向树中结点及边的相似度计算得到对应服务过程之间的相似度。文中设计了一个基于功能和过程计算的服务发现框架，如图5所示。此外，还有另外一些文献也提出了类似的方法 [ 20 ] [ 21 ] [ 22 ] 。 基于图的服务发现方法在匹配过程中对匹配条件要求较为宽松，方法的复杂度相对不高，相对前三种方法而言易于应用，能够达到较为理想的召回率和准确率，在服务发现效率方面的表现也不错。但此类方法在考虑服务质量QoS方面仍存在着不足。