论文部分内容阅读
生物信息服务具有异构性、分布性、多样性和复杂性,如何有效地利用分布在各地的服务资源、计算资源和数据资源是一个具有现实意义的问题。网格提供了在动态的多机构的虚拟组织中实现资源共享和协同工作的环境。但是,单个的、独立的网格服务很难满足生物学工作者的实际需求。随着网格环境下网格服务数量的快速增长,如何根据服务请求,进行服务的发现与组合,形成符合生物学研究需要的服务流,已成为一个迫切需要解决的问题。
由于Web服务技术与网格服务技术尚未能无缝融合,因此,Web服务的现有方法不能完全直接用于网格服务,Web服务组合技术也不能直接应用于网格服务组合。本文以生物信息网格服务的发现与组合为主要研究内容和目标,在方法和实现层面上探索现有的Web服务技术与网格技术的深度融合。
本文提出一个生物信息网格服务发现与组合平台模型。此平台是一个遵循网格最新规范OGSA/WSRF实现的网格中间件,包括表示层、执行层、服务层以及实现层,对应网格服务的描述、发现、组合与执行等环节。重点研究利用本体、服务语义描述库,应对无状态服务与有状态资源的语义描述问题,解决在服务发现与服务组合中对语义的利用问题。根据生物信息学实验服务流的需要,研究并设计了发现引擎、组合引擎、执行引擎以及服务/资源监测引擎。
本文针对OGSA/WSRF规范下无状态服务与有状态资源分离的特点,提出一个二次服务匹配算法,设计并实现了一个基于两阶段服务流生成机制的服务组合引擎。二次匹配算法采用先匹配服务功能,再匹配资源信息的工作方式。进行服务功能匹配时利用领域本体进行推理,进行资源信息匹配时同时利用了领域本体和服务语义库。组合引擎工作原理是先根据用户需求采用反向链接算法基于领域本体进行推理,生成抽象服务流,然后利用服务语义描述库将抽象服务流映射为具体服务流。本文利用网格环境的开源工具GlobusToolkits4.O完成网格实验环境的搭建。在此基础上,融合网格技术、工作流技术、本体技术和 Web服务技术构建了生物信息网格服务实例,利用Java Structs框架实现了生物信息网格服务发现与组合平台。
与现有的平台相比,该平台充分考虑了最新的网格标准、服务语义、服务组合的效率等因素,可以根据服务的请求实现服务的发现与组合,同时一定程度上保证了服务组合的效率和质量。