论文部分内容阅读
随着面向服务的体系结构(SOA)的推广和Web服务技术的广泛应用,在将来的应用开发过程中,在服务层对已有设施进行复用将具有至关重要的意义;同时,随着服务数量的增多、不同系统间进行集成的普遍化,在这一复用过程中,对服务进行自动发现、自动组合的能力也将变得越来越重要。近十年来,语义Web服务领域中对服务自动发现和自动组合问题已经有了比较充分的研究,已经建立了比较完善的理论体系、提出了为数众多的方法。但目前的问题是这些理论和方法大多着眼于对所有Web服务使用同样的功能描述和组合方法,通用性较强,但由于问题本身的复杂性,导致系统的性能不高,使得自动发现和组合难以得到实际应用。在最近几年,出现了一些根据特定场景的针对性的研究,根据具体应用的需要通过舍弃一定的表达能力换取较高的效率和可扩展性,本文也本着这样的思想,选择了信息提供类服务这一种特定的Web服务开展研究,致力于根据具体应用场景中对这类服务自动发现、自动调用、自动组合的需求,提出更合适的功能模型和匹配、组合算法。具体地,主要工作和创新有如下几点:(1)针对当前现实的Web服务环境,运用TF-IDF信息检索技术、结合WordNet语义词典提出了一个能识别简单语义、不依赖中心注册点的服务查找方法,虽然不能实现完全的自动化,但不依赖于语义Web服务需要各方使用本体对服务进行标注这个目前还未实现的假设,可以在当前环境中提高服务查找的查全率和查准率,在以人工为主的开发中起到辅助作用。(2)针对语义Web环境,提出了一个使用OWL本体来表示服务前提和效果的功能模型,虽然不适用于改变世界类服务,但能较好地刻画信息提供类服务的功能并且在语义Web环境下具有极强的通用性。相应地,提出了此模型下两个服务间的功能匹配标准,适用于构建自动发现和自动调用过程。并考察了一个利用服务自动发现和自动调用过程为最终用户带来价值的应用场景。(3)识别出信息提供类服务与数据查询的相似性,并据此考察了该类服务各种任务自动化的另一个重要应用:在数据库领域提出的数据集成系统中加入信息提供类服务,将其作为一种特殊的数据库视图,与普通的数据源一起以动态执行的形式回答用户提出的数据查询。针对此场景,为信息提供类服务提出了另一种功能模型Uniform Query,将该类服务表示为对一组彼此间通过OWL对象型性质相连的个体的数值型性质的查询,将服务输入输出参数表示为个体的数值型性质而不是个体本身。该模型使得服务的自动发现、调用过程比起常见的功能模型更精确且宜于理解,更适用于数据集成系统;与语义Web数据查询语言SPARQL相比,该模型在保留了常用的表达能力的同时方便了查询生成界面的设计。(4)分析了表示动态性知识的几个主要的形式系统,总结出它们在操作语义上的一致性,在此基础上,提出了一个综合性的信息提供类服务的功能模型。形式上,该模型将文献中常见的语义Web服务功能模型中对输入、输出参数的语义类型的要求加以放宽、并并入到前提和效果中;语义上,利用该类服务的特点通过直接用蕴涵连接词连接前提和效果形成一阶逻辑公式的方式,简洁但严格地建立了公理语义。该模型充分表达了信息提供类服务不改变世界和输入输出参数可能不具有语义类型的特点,完全兼容(2)和(3)中为两种不同场景所提的功能模型,与通常的模型中使用的操作语义一致:信息提供类服务被看作一个给定的世界状态内的信息查询,也与语义Web服务主要标准提案OWL-S和WSMO保持了基本的兼容。基于该模型,为信息提供类服务组合问题中组合方案的有效性给出了一个明确的判定标准。(5)在该综合模型的基础上,基于数据集成研究中的一种查询重写算法MiniCon提出了一种信息提供类服务的自动组合方法。具体地,改造MiniCon算法使之支持OWL subClassOf/subPropertyOf推理,并按照(4)中的组合方案判定标准对重写结果进行针对输入参数和前提的检查,最终可为组合服务生成能直接部署运行的BPEL脚本。该方法充分利用了信息提供类Web服务的两个特点,基于一个“枚举-组合”过程先匹配谓词再绑定变量,与一般基于直接搜索的服务组合方法相比,性能上具有互补性,特别适用于像数据集成那样的有大量输入输出参数不具有语义类型的场景。在一类典型问题上的性能测试结果显示该方法具有相当强的实用性。