当前位置: 首页 > 专利查询>北京大学专利>正文

一种基于多状态科学工作流的数据世系追溯系统和方法技术方案

技术编号:9976077 阅读:192 留言:0更新日期:2014-04-28 12:19
一种基于多状态科学工作流的数据世系追溯系统和方法,以基于有向图的科学工作流过程模型为基础,对其进行扩展,得到一个扩展的科学工作流过程模型。再利用数据世系技术丰富其数据模型部分,从过程和数据两个角度全方位地描述科学工作流的执行过程,得到基于多状态的科学工作流过程数据统一管理模型,并以此对数据世系进行描述和追溯。本发明专利技术可以更好地描述大规模复杂科学计算和协同研发流程中数据的演化和状态,从而增强对流程过程的监控能力,实现流程全方位的管理策略,提高科研效率,并促进科学发展和技术进步。

【技术实现步骤摘要】
一种基于多状态科学工作流的数据世系追溯系统和方法
本专利技术提供了一种基于多状态科学工作流的数据世系追溯系统和方法,具体涉及一种多任务状态下科学工作流程实例中,各流程节点之间的数据世系关系追溯方法以及数据世系关系的存储方式。
技术介绍
在大规模、复杂系统设计制造过程和科学实验中,比如航天器设计、轮船制造等,通常需要众多人员协同完成大量的、相互依赖关联的等量级任务。在这一过程中,显著的特点就是设计过程和实施过程中涉及到大量任务和海量数据,工作流程高度复杂。对于复杂工作流程的管理,在过程方面,由于复杂型号产品的设计过程中通常包括大量的活动节点和参数,同时又要能够支持多部门多学科的协同设计和优化,这就要求过程管理应关注于各活动节点之间的数据传递,以及节点参数之间的映射,所以,过程管理需要能够控制复杂性,兼顾控制流和数据流,支持流程优化。为了解决复杂工作流程的过程管理问题,研究人员将工作流技术被引入到科学研究领域,提出了科学工作流(ScientificWorkflow,SWF)的概念和模型。工作流可以将工作分解成定义良好的任务和角色,按照预先定义好的规则和过程来执行,同时对各项任务进行协调和监控。科学工作流继承了工作流的优点,通过对任务间数据依赖关系的分析,提供了优化组合的方法,控制各部分在一定约束条件下按序完成,可以有效地控制和管理各活动节点之间的数据流动,推进工作流程向下进行。对于科学研究和复杂系统设计过程中各节点可能出现的迭代研发操作,在科学工作流基础上增加了节点的状态管理,以支持工作流程中的执行、重做等操作。在数据管理方面,随着系统复杂度的提高,所涉及的数据越来越多,只关注集成后的结果数据无法保证数据的正确性和一致性,所以分析数据的产生和演化的过程对于评估数据质量、保证数据的正确性和安全性有很大的作用。基于此,在计算机领域中,数据世系概念被提出并成为研究热点,其重要性已经被多个科学工作流项目所认可,如GridDB,Chimera,myGRID,CMCS等。在工作流程中,各活动节点能够在前置节点完成、输入数据满足的情况下启动执行,执行结束后将得到的数据进行合理存储,并驱动后续节点的执行;支持任务重做功能,当一个活动节点重新执行后,其后续节点都应该获得消息,提示变更;要求能对各活动节点历次执行的数据进行有效的版本管理,可以根据活动节点的某个数据版本,追溯该版本数据是由之前各前置节点的哪个版本数据所计算得到的,并绘制成世系图。但是这些系统之间对数据世系的表示和查询都是不同的。例如,Kepler提供了世系记录器来实时记录所创建的工作流实例的信息,这些信息包括了工作流上下文,数据历史,工作流的定义和演化。Taverna则通过使用Semantic网技术构建了四个层次,用来逐层表示世系数据:流程层,数据层,组织层和知识层。同样的RDFProv系统也使用了Semantic网技术,继承其可互操作性,扩展性等优点,提供了存储和查询关系数据库管理系统的能力。Chimera使用一种虚拟化数据目录(VDC)的技术,由一组将可执行任务映射到变换,将任务调用映射到数据变换,将输入/输出映射到数据对象的关系组成。VisTrails则是第一个除了支持数据演化历史,也支持工作流演化世系追踪的科学工作流管理系统。
技术实现思路
针对当前基于科学工作流的复杂系统设计仿真过程和科学研究实验中,缺乏一个统一的支持多状态科学工作流的数据世系描述和追溯方法问题,本专利技术提供了一种基于多状态科学工作流的数据世系追溯方法,给出了科学工作流过程执行中数据世系的组织机制和挖掘方法。本专利技术的原理是:以基于有向图的科学工作流过程模型为基础,对其进行扩展,得到一个扩展的科学工作流过程模型。再利用数据世系技术丰富其数据模型部分,从过程和数据两个角度全方位地描述科学工作流的执行过程,得到基于多状态的科学工作流过程数据统一管理模型,并以此对数据世系进行描述和追溯。本专利技术提供的技术方案如下:一种基于多状态科学工作流的数据世系追溯系统,其特征是,包括:系统服务端、用户端、关系数据库、数据操作单元、逻辑计算单元;其中,所述的系统服务端,为一台或多台位于云端或局域网环境的计算机,用以接受工作流用户的工作流执行请求以及对请求作出反应;所述的用户端,为位于本地的计算机终端,是工作流用户执行工作流过程的输入设备;所述的关系数据库,用以保存工作流活动节点信息、逻辑节点信息、数据的依赖关系以及条件约束集等;所述的关系数据库安装在系统服务端;所述的数据操作单元,和所述的关系数据库进行交互,包括:查询数据、增加数据、修改数据、删除数据;所述的逻辑计算单元,根据工作流用户的当前工作状态进行逻辑计算,通过数据操作单元和关系数据库进行交互,并把计算结果通过用户端展现给工作流用户;在工作流用户第一次执行某个任务节点时:所述的逻辑计算单元,首先,检查关系数据库中是否已经存在以这个任务为后置逻辑节点的表项,如果存在,则更新该表项的当前任务版本;然后,检查关系数据库中是否存在以这个任务为前置逻辑节点的表项,如果存在,则更新该表项的当前任务版本;如果上述两项均不存在,则在关系数据库中新增加一项,以当前任务、当前任务后置逻辑节点以及当前任务版本号创建,后置逻辑节点版本号由后置逻辑节点执行时填写;在工作流用户重做某个任务节点时:所述的逻辑计算单元,首先检查关系数据库中是否已经存在以这个任务为后置逻辑节点的表项,如果有,则新增一项,保存已存在的前置任务版本和当前重做的任务版本之间的关系;然后,检查关系数据库中是否存在以这个任务为前置节点的表项,如果有,并且后置节点还没有进行,则直接改变该项的前置任务版本号为当前任务节点版本号;如果上述两项均不存在,则新增加一项,以当前任务、当前任务后置逻辑节点以及当前任务版本号创建,其后置逻辑节点版本号由后置逻辑节点执行时填写。所述的数据世系追溯系统,其特征是,所述的数据操作单元和逻辑计算单元位于系统服务端,所述的数据世系追溯系统为一个瘦客户端系统,用户端的用户接口为浏览器或者用户自定义系统。所述的数据世系追溯系统,其特征是,所述的数据操作单元和逻辑计算单元位于客户端,所述的数据世系追溯系统为一个胖客户端系统,用户端的用户接口为用户自定义系统。所述的数据世系追溯系统,其特征是,工作流用户查询数据世系关系时,直接在关系数据库中查询当前任务和当前版本号所在表项。本专利技术同时提供一种基于多状态科学工作流的数据世系追溯方法,其特征是,包括:构建关系数据库,用以保存工作流节点的活动节点信息、逻辑节点信息、数据的依赖关系以及条件约束集等;所述的关系数据库位于服务器端;在工作流用户第一次执行某个任务节点时:首先,检查关系数据库中是否已经存在以这个任务为后置逻辑节点的表项,如果存在,则更新该表项的当前任务版本;然后,检查关系数据库中是否存在以这个任务为前置逻辑节点的表项,如果存在,则更新该表项的当前任务版本;如果上述两项均不存在,则在关系数据库中新增加一项,以当前任务、当前任务后置逻辑节点以及当前任务版本号创建,后置逻辑节点版本号由后置逻辑节点执行时填写;在工作流用户重做某个任务节点时:首先检查关系数据库中是否已经存在以这个任务为后置逻辑节点的表项,如果有,则新增一项,保存已存在的前置任务版本文档来自技高网
...
一种基于多状态科学工作流的数据世系追溯系统和方法

【技术保护点】

【技术特征摘要】
1.一种基于多状态科学工作流的数据世系追溯系统,其特征是,包括:系统服务端、用户端、关系数据库、数据操作单元、逻辑计算单元;其中,所述的系统服务端,为一台或多台位于云端或局域网环境的计算机,用以接受工作流用户的工作流执行请求以及对请求作出反应;所述的用户端,为位于本地的计算机终端,是工作流用户执行工作流过程的输入设备;所述的关系数据库,用以保存工作流活动节点信息、逻辑节点信息、数据的依赖关系以及条件约束集;所述的关系数据库安装在系统服务端;所述的数据操作单元,和所述的关系数据库进行交互,包括:查询数据、增加数据、修改数据、删除数据;所述的逻辑计算单元,根据工作流用户的当前工作状态进行逻辑计算,通过数据操作单元和关系数据库进行交互,并把计算结果通过用户端展现给工作流用户;在工作流用户第一次执行某个任务节点时:所述的逻辑计算单元,首先,检查关系数据库中是否已经存在以这个任务为后置逻辑节点的表项,如果存在,则更新该表项的当前任务版本;然后,检查关系数据库中是否存在以这个任务为前置逻辑节点的表项,如果存在,则更新该表项的当前任务版本;如果上述两项均不存在,则在关系数据库中新增加一项,以当前任务、当前任务后置逻辑节点以及当前任务版本号创建,后置逻辑节点版本号由后置逻辑节点执行时填写;在工作流用户重做某个任务节点时:所述的逻辑计算单元,首先检查关系数据库中是否已经存在以这个任务为后置逻辑节点的表项,如果有,则新增一项,保存已存在的前置任务版本和当前重做的任务版本之间的关系;然后,检查关系数据库中是否存在以这个任务为前置节点的表项,如果有,并且后置节点还没有进行,则直接改变该项的前置任务版本号为当前任务节点版本号;如果上述两项均不存在,则新增加一项,以当前任务、当前任务后置逻辑节点以及当前任务版本号创建,其后置逻辑节点版本号由后置逻辑节点执行时填写。2.如权利要求1所述的数据世系追溯系统,其特征是,所述的数据操作单元和逻辑计算单元位于系统服务端。3.如权利要求1所述的数据世系追溯系统,其特征是,所述的数据操作单元和逻辑计算单元位于用户端。4.如权利要求1所述的数据世系追溯系统,其特征是,工作流用户查询数据世系关系时,直接在关系数据库中查询当前任务和当前版本号所在表项。5.一种基于多状态科学工作流的数据世系追溯方法,其特征是,包括:构建关系数据库,用以保存工作流节点的活动节点信息、逻辑节点信息、数据的依赖关系以及条件约束集;所述的关系数据库位于服务器端;在工作流用户第一次执行某个任务节点时:首先,检查关系数据库中是否已经存在以这个任务为后置逻辑节点的表项,如果存在,则更新该表项的当前任务版本;然后,检查关系数据库中是否存在以这个任务为前置逻辑节点的表项,如果存在,则更新该表项的当前任务版本;如果上述两项均不存在,则在关系数据库中新增加一项,以当前任务、当前任务后置逻辑节点以及当前任务版本号创建,后置逻辑节点版本号由后置逻辑节点执行时填写;在工作流用户重做某个任务节点时:首先检查关系数据库中是否已经存在以这个任务为后置逻辑节点的表项,如果有,则新增一项,保存已存在的前置任务版本和当前重做的任务版本之间的关系;然后,检查关系数据库中是否存在以这个任务为前置节点的表项,如果有,并且后置节点还没有进行,则直接改变该项的前置任务版本号为当前任务节点版本号;如果上述两项均不存在,则新增加一项,以当前任务、当前任务后置逻辑节点以及当前任务版本号创建,其后置逻辑节点版本号由后置逻辑节点执行时填写。6.如权利要求5所述的数据世系追溯方法,其特征是,工作流用户查询数据世系关系时,直接在关系数据库中查询当前任务和当前版本号所在表项。7.如权利要求5所述的数据世系追溯方法,其特征是,各工作流数据绑定在工作流节点上,得到的数据世系关系根据工作流节点之间关系的配置与管理自动更新。8.如权利要求5所述的数据世系追溯方法,其特征是,所述关系数据库中,每项工作流节点数据的存储结构中应至少存储以下节点信息:当前节点引用<CurrentNode>,当前节点数据版本号<CurrentNodeVersion>,当前节点的后续节点引用<NextNode>,当前节点的后续节点数据版本号<NextNodeVersion>。9.如权利要求8所述的数据世系追溯方法,其特征是,科学工作流节点之间数据世系关系的建立与更新方法如下:数据世系关系建立与更新方法的输入包括已建立好的科学工作流模型和科学工作流中某个刚执行完毕的节点,对于该节点,将其视作科学工作流中的一般性节点,由科学工作流模型可以获得该节点的前置、后续节点信息,以及该节点的状态是首次执行还是重做,为表述方便,做出以下假设:●Node为工作流中的一个节点;●Node的前置节点共有m个,分别为pNode1,pNode2,···,pNodem;●Node的后续节点共有n个,分别为nNode1,nNode2,···,nNoden;当节点Node执行完成、产生新数据后:1)判断节点Node是否为首次执行,如果是首次执行,则执行步骤2);否则节点Node为重新执行,则执行步骤3);2)Node节点为首次执行,执行以下子步骤:2.1)检查是否存在这样的数据记录:<NextNode>为Node的引用,<NextNodeVersion>为0;如果存在这样的数据记录,则将该数据记录的<NextNodeVersion>更新为节点Node的数据版本号;如果不存在这样的数据记录,执行步骤2.2);2.2)为Node的第1个后续节点Node1在存储结构中增加一项数据记录,其中的<CurrentNode>存储节点Node的引用,<CurrentNodeVersion>存储节点Node的数据版本号,<NextNode>存储Node1的引用,<NextNodeVersion>为0;2.3)重复执行步骤2.2),直至为Node的所有后续节点都在存储结构中建立了对应的数据记录;2.4)方法结束;3)Node节点为重新执行,假设Node原来的最新数据版本号为OldVersion,重新执行后得到的新数据版本号为NewVersion,本方法将执行以下子步骤:3.1)在存储结构中检查是否存在这样的数据记录:<Ne...

【专利技术属性】
技术研发人员:黄雨井玉欣王捍贫张世琨
申请(专利权)人:北京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1