论文部分内容阅读
随着互联网技术与应用的迅速发展,Web服务作为部署在互联网上的组件,展现出良好的封装性、松耦合性以及跨平台性。因此,Web服务成为了人们关注的焦点。近年来,互联网上出现的Web服务越来越多,但是单一的Web服务所提供的功能有限,因此需要把已有的Web服务组合起来,生成满足用户需求的组合服务。在服务组合过程中,如何根据用户输入信息快速地找出相关Web服务生成组合服务成为了服务组合的关键问题。
目前的自动服务组合生成算法仅能生成具有串并逻辑的简单组合服务,而依据OWL-S:Semantic Markup for Web Services(后文简称OWL-S)规范很容易描述并生成复杂的Web组合服务。OWL-S规范中定义了Sequence, Split, Split+Join, Choice,Any-Order, Condition, If-Then-Else,Iterate,Repeat-While以及Repeat-Until控制结构,通过上述几种简单控制结构的相互组合,可以生成复杂的控制结构。
本文实现了一种基于IO匹配的半自动Web服务组合算法。其核心思想是根据输出优先满足的基准条件,由后往前迭代查找抽象服务,找出满足用户需求的模板。在查找过程中,根据用户查询的领域知识,在搜索的个别分支上利用事先设计的模型进行分解,同时采取与用户协商的策略来降低搜索的复杂度。同时,依据本算法生成的Web服务组合模板将被保存到模板库中(即按照OWL-S规范人工生成服务组合文档)。
当模板库规模较大时,检索模板将是一项耗时的任务。本文因此提出了一种基于分类cache的Web服务组合模板检索算法以快速响应用户查询。其核心思想是将模板按照用途分类存放,并利用LRU缓存算法,提高模板查询命中率。理论分析和实验结果都表明,该算法能够有效地提高模板检索效率。
最后,基于Web服务组合算法及模板检索算法,本文设计并实现了一个可以灵活扩展的服务组合子系统。