一种通过查表实现工作流循环控制的方法技术

技术编号:7612755 阅读:227 留言:0更新日期:2012-07-26 20:36
本发明专利技术公开了一种用于实现工作流循环控制的查表方法,该方法通过建立工作流节点模型、建立工作流任务的网络连接模型、创建循环、工作流管理服务器控制循环的启动与终止等步骤,在工作流模型的循环中设置循环控制条件,通过查询数据存储服务器中的循环信息表与循环控制表,控制循环的启动和终止,从而解决结构较为复杂的循环的控制,具有很好的可控性和可操作性。且该方法以网络拓扑结构为基础,具有一定的普遍性,可以扩展应用到其它以网结构为基础的工作流模型中,具有可移植性。

【技术实现步骤摘要】

本专利技术属于工作流
,涉及工作流运行过程中循环控制的实现方法。
技术介绍
根据工作流管理联盟(Workfiow Management Coalition,WfMC)的定义,工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。然而,这种传递和执行过程并不一定是单向的,可能会在几个执行者之间反复进行传递和执行,这种情况在工作流领域称为循环。现有文献只是根据路由特点对循环模式进行了分类,对于在工作流管理系统中如何控制循环,现有文献并没有提及。此外,在实际的工作流循环中,可能包含复杂的环形结构,还可能具有复杂的控制方法。如循环中可以包含控制条件,当控制条件成立时,循环才能进行或者停止。因此,本专利技术提出了一种工作流循环控制的方法。和现有方法相比较,该循环控制方法可以解决结构较为复杂的循环,并且方案中设置的循环控制条件,包括循环的启动条件和终止条件,可以控制循环的启动和终止。
技术实现思路
本专利技术目的在于克服现有技术的缺点,提供一种能够解决结构复杂、控制方法复杂循环情况的控制方法,该种通过查表实现循环控制的方法以网络拓扑结构为基础,可以扩展应用到其它以网结构为基础的工作流模型中,具有可移植性。而且专利技术中设置的循环控制条件,包括循环的启动条件和终止条件,可以控制循环的启动和终止,具有更好的可控性和可操作性。本专利技术的目的是通过以下技术解决方案来解决的这种通过查表实现工作流循环控制的方法是在互联网或局域网的服务器与客户端中按照下述步骤实现的(A)建立工作流节点模型工作流节点由服务器和计算机客户端组成,以连接于网络上的若干计算机客户端作为工作流任务的执行单元;以连接于网络上的一个或多个第一服务器作为分发工作流任务的工作流管理服务器;以连接于网络上的一个或多个第二服务器作为数据存储服务器; 其中数据存储服务器中至少包含循环信息表和循环控制表;(B)建立工作流任务的网络连接模型工作流的任务是由计算机客户端负责执行的,一个工作流任务执行完毕后即终止或者被传递到其它计算机客户端;任务的传递是单向的,依靠计算机之间的有线或无线网络连接实现;任意两个工作流任务之间最多只能有一个直接传递关系,但允许一个工作流任务完成后被同时传递给多个工作流任务;其中,直接传递关系是指不通过其它任务的两个工作流任务之间的单向传递关系;网络连接模型由工作流任务和相邻任务间的单向传递关系组成;将这种工作流任务的网络连接模型存储在数据存储服务器中;(C)创建循环按照下述步骤创建循环(I)在步骤(B)创建的网络连接模型中,选择一个包含有工作流任务和这些工作流任务间单向传递关系的子集;从该子集中任何一个工作流任务出发,都存在一个或多个单向传递关系,使得该工作流任务可以通过这些传递关系不断传递,并再次回到这个工作流任务;将该子集中的工作流任务和这些任务间的单向传递关系定义为一个循环,并存储到数据存储服务器中的循环信息表中;其中,一个传递关系最多只能属于一个循环;(2)创建启动点集合在步骤(I)的子集中选择一个或多个工作流任务作为循环的启动点,它们的集合称为启动点集合;只有启动点才能启动一个循环;将启动点集合存储到数据存储服务器中的循环信息表中;(3)创建启动条件在步骤(2)创建的启动点上创建条件,该条件称为启动条件;只有当启动条件成立时,才允许启动一个循环;将启动条件存储到数据存储服务器中的循环信息表中;一个循环中的某个启动点上,最多只能定义一个启动条件,如果没有定义启动条件,则默认为无条件启动循环;当循环启动后,循环中包含的任务可以按照传递关系反复执行与传递,一直到循环结束;(4)创建终止点集合在步骤(I)的子集中选择一个或多个工作流任务作为循环的终止点,它们的集合称为终止点集合;只有终止点才能终止一个循环;将终止点集合存储到数据存储服务器中的循环信息表中;(5)创建终止条件在步骤(4)创建的终止点上创建条件,该条件称为终止条件;只有当终止条件成立时,才允许终止一个循环;将终止条件存储到数据存储服务器中的循环信息表中;一个循环中的某个终止点上,最多只能定义一个终止条件,如果没有定义终止条件,则默认为无条件终止循环;(6)创建出口点集合和出口集合在步骤(I)的子集中选择一个或多个工作流任务作为出口点,它们的集合称为出口点集合;在步骤(B)建立的工作流任务的网络连接模型中,选择一个或多个以上述出口点为起点的单向传递关系作为循环的出口,它们的集合称为出口集合;其中,出口不能包含在步骤(I)所选的子集中,一个出口点可以对应一个或多个出口,但一个出口只能对应一个出口点;将出口点集合和出口集合存储在数据存储服务器中的循环信息表中;(7)创建终止点集合和出口点集合的映射关系为步骤(4)创建的终止点集合和步骤(6)创建的出口点集合建立映射关系;一个终止点可以映射到一个或多个出口点上;一个出口点可以映射到一个或多个终止点上;当终止点终止一个循环时,工作流任务仅能从该终止点映射的出口点的出口继续传递;将终止点集合与出口点集合的映射关系存储到数据存储服务器中的循环控制表中;(D)工作流管理服务器为步骤(B)创建的工作流任务的网络连接模型创建工作流实例,并控制工作流实例的运行;其中,工作流管理服务器通过查数据存储服务器中的循环信息表和循环控制表控制工作流实例中循环的执行,包括循环的启动控制和循环的终止控制;具体步骤如下(I)循环的启动控制工作流管理服务器判断正在执行的工作流任务是否包含在步骤(3)创建的启动点集合中;如果不包含,则该循环不启动;如果包含,则该工作流任务为循环的启动点;查询工作流数据存储服务器的循环信息表中该启动点上是否定义了启动条件;如果未定义启动条件,则该循环默认为无条件启动;如果定义了启动条件,判断启动条件是否成立若启动条件成立,则该循环启动;若启动条件不成立,则该循环不启动;循环启动后,工作流管理服务器将循环的状态由就绪转换成运行;循环中包含的工作流任务可以按照传递关系反复执行与传递;(II)循环的终止控制当循环处于运行状态时,工作流管理服务器判断正在执行的工作流任务是否包含在步骤(4)创建的终止点集合中;如果不包含,则该循环不终止;如果包含,则该工作流任务为循环的终止点;查询工作流数据存储服务器的循环信息表中该终止点上是否定义了终止条件;如果未定义终止条件,则该循环默认为无条件终止;如果定义了终止条件,判断终止条件是否成立若终止条件成立,则该循环终止;若终止条件不成立,则该循环不终止;①循环终止,工作流管理服务器将循环的状态由运行转换成终止;查询工作流数据存储服务器的循环控制表中该终止点对应的出口点,工作流任务从上述出口点的出口继续传递;工作流管理服务器将循环的状态由终止转换成退出,循环结束;②循环不终止,则执行下述步骤(i),直到循环结束;(i)工作流管理服务器判断正在执行的工作流任务是否包含在步骤(6)创建的出口点集合中;如果不包含,则工作流任务传递给步骤(B)创建的工作流任务的网络连接模型中有直接传递关系的其它工作流任务,转到步骤(II)继续执行直到循环结束;如果包含,则该工作流任务为循环的出口点;查询数据存储服务器的循环控制表,找出该出口点的出口,工作流任务通过除上述本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:胡飞虎邵晓寒
申请(专利权)人:西安交通大学
类型:发明
国别省市:

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

1
相关领域技术