论文部分内容阅读
工作流技术的不断发展,使其应用领域也不断扩大。科学工作流作为一种有别于传统工作流的工作流类型正成为当前学术界研究的热点。科学工作流为了给科学家提供高效的数据管理和实验分析,将工作流技术应用于科学研究领域,在网络基础设施上进行大规模计算和协同计算提供有效方法。数据集中与计算密集是科学工作流的主要特点。因此,科学工作流的数据跟踪成为科学工作流的迫切需求。国内对科学工作流数据跟踪的研究几乎是空白,而国外对其研究较多,但是大部分都缺乏良好的模型支持、数据流分析、国际标准的查询接口和便于用户使用的可视化跟踪。
针对这一问题,本文提出一种支持过程网络计算模型的科学工作流模型。通过对该模型的数据流分析,在开源项目—Kepler科学工作流系统的基础上,实现了数据项的可视化跟踪与具有国际标准的XQuery对跟踪数据的查询,极大的方便了科学工作流用户。
科学工作流数据跟踪的实现需要有相应的模型支持。过程网络计算模型是科学工作流领域广泛使用的一个计算模型,并且该模型有利于数据流的分析。数据跟踪贯穿于科学工作流流程设计阶段、运行阶段和运行后三个阶段。本文在流程设计阶段对工作流的数据流进行分析,检验流程中的数据异常,包括数据缺失和数据冗余,并给出相应的数据验证算法;在流程运行阶段,对数据项进行记录,包括元数据、参数与流程数据项等;在流程运行后保存跟踪数据,然后从用户的角度,把要跟踪的数据项的起源数据项图形化的展现给用户,用户可以直接看到流程数据项的变化过程。本文实现了XQuery对跟踪数据的查询,当用户需要对跟踪数据进行分析的时候,通过自定义XQuery查询,可以对跟踪数据进行灵活的处理。
本文数据跟踪的实现基于Kepler科学工作流系统。通过扩展Kepler系统的核心类,实现科学工作流运行时数据项的记录。数据流中数据项的变化是有前后依赖关系的,通过依赖关系,如数据项依赖关系、调用依赖关系等,可视化的给用户展示数据项在流程中的变化过程。XQuery是一个标准。本文在科学工作流客户端通过XQJ(XQuery API for Java)与XQuery引擎进行交互,实现对跟踪数据的查询。
本文的研究是国家自然科学基金项目—“支持人工协作的服务工作流关键技术研究”中关于数据流的前期研究工作。本文数据流的验证以及可视化数据跟踪的实现对服务工作流在分布式环境下流程数据的处理,具有重要的意义。