【技术实现步骤摘要】
一种基于多状态科学工作流的数据世系追溯系统和方法
本专利技术提供了一种基于多状态科学工作流的数据世系追溯系统和方法,具体涉及一种多任务状态下科学工作流程实例中,各流程节点之间的数据世系关系追溯方法以及数据世系关系的存储方式。
技术介绍
在大规模、复杂系统设计制造过程和科学实验中,比如航天器设计、轮船制造等,通常需要众多人员协同完成大量的、相互依赖关联的等量级任务。在这一过程中,显著的特点就是设计过程和实施过程中涉及到大量任务和海量数据,工作流程高度复杂。对于复杂工作流程的管理,在过程方面,由于复杂型号产品的设计过程中通常包括大量的活动节点和参数,同时又要能够支持多部门多学科的协同设计和优化,这就要求过程管理应关注于各活动节点之间的数据传递,以及节点参数之间的映射,所以,过程管理需要能够控制复杂性,兼顾控制流和数据流,支持流程优化。为了解决复杂工作流程的过程管理问题,研究人员将工作流技术被引入到科学研究领域,提出了科学工作流(ScientificWorkflow,SWF)的概念和模型。工作流可以将工作分解成定义良好的任务和角色,按照预先定义好的规则和过程来执行,同时对各项任务进行协调和监控。科学工作流继承了工作流的优点,通过对任务间数据依赖关系的分析,提供了优化组合的方法,控制各部分在一定约束条件下按序完成,可以有效地控制和管理各活动节点之间的数据流动,推进工作流程向下进行。对于科学研究和复杂系统设计过程中各节点可能出现的迭代研发操作,在科学工作流基础上增加了节点的状态管理,以支持工作流程中的执行、重做等操作。在数据管理方面,随着系统复杂度的提高,所涉及的数 ...
【技术保护点】
【技术特征摘要】
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...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。