论文部分内容阅读
面向服务的架构(Service Oriented Architecture, SO A)是一种广泛被用来构建和集成现有分布式系统的解决方案。随着SOA技术的快速发展,互联网上的Web服务数量规模快速增长,Web服务类型也日趋多样化,使得进行服务资源管理,实现准确、高效的服务发现变得愈加困难。与此同时,为了满足个性化的服务需求,以动态获取用户需求,进行随需而变、协同应变的按需服务理念开始得到国内外学术界的重视,越来越多的研究者将传统需求工程与服务计算结合,探索新的按需服务发现方法。因此,面对如此大规模多样化的服务资源,如何进行按需服务发现已经成为面向服务的软件工程急需解决的难题。然而,目前已有的服务发现方法往往只针对单一类型的服务查询,缺乏对服务候选集的有效组织方法,对用自然语言描述的RESTful等类型的服务关注较少。此外,由于用户服务需求的个性化,服务请求者的服务需求也呈现多层次的特点,用户请求潜在的过程需求并没有在服务匹配过程中得到关注。针对以上问题,本文以“面对用户需求个性化、复杂化以及服务资源规模化、多样化,如何提高按需服务发现效率”为研究着眼点展开工作,本文的主要研究内容如下:(1)提出一种功能语义驱动的服务需求建模方法,用于将自然语言描述的需求描述文本自动转换为业务流程模型BPMN。该方法利用自然语言处理工具,从需求描述中提取业务动作和流程信息,然后利用工作流模式与流程模型之间的映射关系对需求进行转换,得到BPMN模型。该方法提高了服务需求建模效率,并为后续基于过程需求的服务匹配提供基础。(2)提出一种基于需求功能语义的服务聚类方法,用于对服务集进行基于需求功能语义的聚类再组织。该方法从需求语义角度出发,利用自然语言处理工具从服务描述文本中提取服务功能信息集,然后基于功能语义计算服务相似度,最后使用K-means聚类算法对服务进行聚类。该方法对服务集进行聚类再组织,有助于用户快速定位到满足需求的服务集,为提高服务发现效率奠定基础。(3)提出一种基于功能语义和过程需求的服务发现方法,通过两阶段服务匹配定位与用户需求匹配的服务。该方法在基于功能语义聚类的基础上,通过功能语义相似度计算将用户需求定位到特定簇类并得到候选服务集;然后通过潜在的服务过程需求进行基于过程需求的服务匹配,从候选服务集中筛选更为精确的匹配结果。通过实验验证表明该方法的有效性,说明该方法能够显著提升服务发现效果。综上所述,本文在对服务需求进行建模以及基于功能语义的服务聚类基础上,提出一种基于功能语义和过程需求的服务发现方法,经过实验验证,表明该方法能够有效促进按需服务发现效果,因此具有重要的理论意义和应用价值。