一种挖掘BPMN编制流程并行性的方法及系统与流程

文档序号:12804086阅读:498来源:国知局
一种挖掘BPMN编制流程并行性的方法及系统与流程

本发明涉及业务过程管理中、业务过程模型重构领域,特别涉及挖掘bpmn编制流程并行性的方法及系统,以达到提高编制效率的目。



背景技术:

随着bpm技术的广泛使用,企业使用bpmn2.0(businessprocessmodelingnotation2.0)建模出了越来越多的编制流程。由于建模业务流程是耗时、易错的,且不同建模者的能力参差不齐,所以,编制流程的质量差异也很大。

当建模出一个编制流程后,建模者需要考虑一个问题:该编制流程的效率怎样?在一个实际的业务流程中,某些任务可以并发执行。但是,在建模出的编制流程中,这些任务却是串行执行。因此,如何将编制流程中串行执行的任务改变为并行执行的任务,以提高编制流程的效率,成为了业务过程重构领域研究的难点。

虽然已有文献提出将petri网中的串行执行的变迁变为并行执行变迁的方法,但尚未发现有关工作可将bpmn中的编制流程的串行执行的任务变为并行执行的任务。目前,针对petri网描述的业务流程,已有文献从数据读写的角度提出了一种方法:将petri网中串行执行的变迁改变为并行执行的变迁。而针对petri网描述的软件演化过程,已有文献从相关性的角度,也提出了一种方法:将petri网中串行执行的变迁改变为并行执行的变迁。与petri网的基本建模元素:库所、变迁、弧和托肯相比,bpmn的建模元素更加丰富,包含:开始事件、结束事件、任务、网关和序列流,但是目前无法直接将现有文献提出的方法直接应用于bpmn编制流程,以提高编制流程的效率。为此,有必要提供一种挖掘bpmn编制流程并行性的方法。



技术实现要素:

本发明要解决的技术问题是,从依赖性(dependence)角度将bpmn编制流程中存在顺序关系、但不存在数据依赖的任务对,使它们由串行执行改为并行执行的一种挖掘bpmn编制流程并行性的方法。

解决上述技术问题,本发明提供了一种挖掘bpmn编制流程并行性的方法,包括如下步骤:

根据结构特征从编制流程中提取任务间的基本关系,并构造出基本关系矩阵;

分析任务间的依赖关系,并构造出依赖关系矩阵;

根据所述依赖关系矩阵构造出依赖图;

根据转换规则将所述依赖图转换得到编制流程。

更进一步,方法还包括:预处理编制流程的步骤:根据预处理规则将结构不同但语义相同的编制流程转换为结构统一的编制流程。

更进一步,所述预处理规则至少包括:

对于开始事件,若开始事件具有多个输出流,则通过并行分叉网关与多个输出流相连,使之转换成一个具有一个输出流的开始事件;

和/或,对结束事件,若结束事件有多个输入流,可通过独占事件合并网关与多个输入流相连,使之转换成一个具有一个输入流的结束事件;和/或,对任务,若任务具有多个输入流则通过排他数据合并网关与多个输入流相连,使之转换成一个具有一个输入流的任务;

若任务具有多个输出流,则通过并行分叉网关与多个输出流相连,使之转换成一个具有一个输出流的任务。

和/或,对网关嵌套,若具有多个输入流的并行网关和具有多个输出流的并行网关直接嵌套相连,则将这两个并行网关转换为具有多个输入流和多个输出的并行网关;

若具有多个输入流的排他事件网关和具有多个输出流的排他事件网关直接嵌套相连,则将这两个排他数据网关转换为具有多个输入流和多个输出的排他数据网关。

更进一步,在编排流程中提取所有任务间的关系包括:顺序关系,选择关系,并发关系中的所述两个任务间的唯一关系。

更进一步,分析任务间的依赖关系具体包括如下步骤:

5-1)分析任务间的正依赖,

5-2)分析任务间的反依赖,

5-3)分析任务间的输出依赖,

5-4)分析任务间的控制依赖。

更进一步,根据所述依赖关系矩阵构造出依赖图的步骤具体包括:

6-1)构造节点。将编制流程中的每个任务构造为一个节点;

6-2)构造弧,若两个任务间满足正依赖或反依赖或输出依赖或控制依赖,则在该两个任务对应的节点间添加弧;

6-3)标识弧上的依赖类型,若所述两个任务间满足正依赖或反依赖或输出依赖或控制依赖,则在该两个任务对应的节点间的弧上添加对应的标记。

更进一步,对所述依赖图进行预处理,根据简化规则对依赖图进行简化处理:

7-1)简化依赖性的语义,

7-2)消除冗余的传递数据依赖,

7-3)增加开始节点及对应的弧和结束节点及相应的弧。

更进一步,根据转换规则将所述依赖图转换得到编制流程具体包括:

将依赖图中的除开始节点和结束节点外的节点转换为编制流程中的任务;

和/或,将依赖图中的单一弧,且依赖类型为数据依赖,转换为编制流程中的序列流;

和/或,将依赖图中的开始节点转换为编制流程中的开始事件;

和/或,将依赖图中的结束节点转换为编制流程中的结束事件;

和/或,将依赖图中的分叉弧,且依赖类型均为数据依赖和不存在回弧,转换为编制流程中带单输入序列流和多输出序列流的并行分叉网关;

和/或,将依赖图中的分叉弧,且依赖类型均为控制依赖和不存在回弧,转换为编制流程中带单输入序列流和多输出序列流的独占数据决策网关;

和/或,将依赖图中的汇聚弧,且依赖类型均为数据依赖和不存在回弧,转换为编制流程中的带多输入序列流和单输出序列流的并行汇聚网关;

和/或,将依赖图中的汇聚弧,且依赖类型均为控制依赖和不存在回弧,转换为编制流程中的带多输入序列流和单输出序列流的独占数据合并网关;

和/或,将依赖图中的分叉弧,且依赖类型不同、没有回弧和控制依赖弧的个数>=2,转换为并行分叉网关和独占数据决策网关直接嵌套相连,其中,并行分叉网关带1个输入序列流和2个输出序列流;独占数据决策网关带1个输入序列流和2个输出序列流;

和/或,将依赖图中的汇聚弧,且依赖类型不同和控制依赖弧的个数>=2,转换为编制流程中的独占数据合并网关和并行汇聚网关嵌套相连,其中,独占数据合并网关带2个输入序列流和1个输出序列流;并行汇聚网关带2个输入序列流和1个输出序列流。

基于上述本发明提供了一种挖掘bpmn编制流程并行性的系统,包括:

关系提取器,用以根据结构特征从编制流程中提取所有任务间的关系,并构造出任务关系矩阵;

依赖关系分析器,用以分析任务间的依赖关系,并构造出依赖关系矩阵;

依赖图构造器,用以根据所述依赖关系矩阵构造出依赖图;

转化器,用以根据转换规则将所述依赖图转换得到编制流程。

更进一步,系统还包括:

预处理器,用以根据预处理规则将结构不同但语义相同的编制流程转换为结构统一的编制流程;

以及,依赖图简化器,用以根据简化规则对依赖图进行简化处理。

本发明的有益效果:

本发明的技术区别于现有技术(比如,文献jint,wangj,yangy,etal.refactorbusinessprocessmodelswithmaximizedparallelism[j].ieeetransactionsonservicescomputing,2016,9(3):456-468和lit.anapproachtomodellingsoftwareevolutionprocesses[m],tsinghuauniversitypress,2008)的主要不同点在于:

原有技术方法文献(文献jint,wangj,yangy,etal.refactorbusinessprocessmodelswithmaximizedparallelism[j].ieeetransactionsonservicescomputing,2016)针对基于petri网描述的业务流程,从数据读写的角度,将原业务流程中存在顺序关系、但不具有读写依赖操作的任务对,将其任务间的顺序关系改变为并发关系,并使用alpha算法对原业务流程进行重构。

具体地,本发明与之的区别表现在以下方面:1)研究对象不同:文献([jint,wangj,yangy,etal.refactorbusinessprocessmodelswithmaximizedparallelism[j].ieeetransactionsonservicescomputing,2016])的研究对象为petri网,而本发明的研究对象为bpmn编制流程。与petri网相比,bpmn编制流程中的建模元素更加丰富,无法将该文献提出的方法直接应用于bpmn编制流程,以提高编制流程的效率。重构业务流程的方法不同:文献([jint,wangj,yangy,etal.refactorbusinessprocessmodelswithmaximizedparallelism[j].ieeetransactionsonservicescomputing,2016])使用alpha算法对petri网进行重构,而本发明使用依赖图和转换规则对bpmn业务流程进行重构。

原有技术方法文献([lit.anapproachtomodellingsoftwareevolutionprocesses[m],tsinghuauniversitypress,2008])针对基于petri网定义的软件演化过程,从相关性的角度,将原软件演化过程中存在顺序关系、但不具相关关系的任务对,将其任务间的顺序关系改变为并发关系,并使用相关图和转换规则对原软件演化过程进行重构。本发明与之的区别表现在以下方面:

1)研究对象不同:文献([lit.anapproachtomodellingsoftwareevolutionprocesses[m],tsinghuauniversitypress,2008])的研究对象为petri网,而本发明的研究对象为bpmn编制流程。与petri网相比,bpmn编制流程中的建模元素更加丰富,无法将该文献提出的方法直接应用于bpmn编制流程,以提高编制流程的效率。

2)转换规则不同:文献([lit.anapproachtomodellingsoftwareevolutionprocesses[m],tsinghuauniversitypress,2008])提出了三条转换规则用于将相关图转换为petri网,本申请提出了十条转换规则用于将依赖图转换为bpmn编制流程。

3)分析任务间关系的方式不同:文献([lit.anapproachtomodellingsoftwareevolutionprocesses[m],tsinghuauniversitypress,2008])使用人工方式对原软件演化过程中任务间的相关性进行分析,而本发明使用结构特征,通过依赖关系分析器自动提取原bpmn编制流程中的任务间的依赖关系。

此外,本发明技术将在提高业务流程模型的质量和效率方面具有广阔的应用背景。

附图说明

图1是本发明一实施例中的方法流程示意图;

图2是本发明一实施例中的系统结构示意图;

图3是本发明一优选实施例中的系统结构示意图。

图4(a)-图4(d)是本发明中的预处理规则示意图;

图5(a)-图5(d)是本发明中顺序关系和选择关系的特征结构示意图;

图6(a)-图6(j)是本发明中的转化规则示意图。

具体实施方式

现在将参考一些示例实施例描述本公开的原理。可以理解,这些实施例仅出于说明并且帮助本领域的技术人员理解和实施例本公开的目的而描述,而非建议对本公开的范围的任何限制。在此描述的本公开的内容可以以下文描述的方式之外的各种方式实施。

如本文中所述,术语“包括”及其各种变体可以被理解为开放式术语,其意味着“包括但不限于”。术语“基于”可以被理解为“至少部分地基于”。术语“一个实施例”可以被理解为“至少一个实施例”。术语“另一实施例”可以被理解为“至少一个其它实施例”。

图1是本发明一实施例中的方法流程示意图,本实施例中的一种挖掘bpmn编制流程并行性的方法,包括如下步骤:步骤s100根据结构特征从编制流程中提取任务间的基本关系,并构造出基本关系矩阵;步骤s101分析任务间的依赖关系,并构造出依赖关系矩阵;步骤s102根据所述依赖关系矩阵构造出依赖图;步骤s103根据转换规则将所述依赖图转换得到编制流程。

在步骤s103中本实施例提出了十条转换规则用于将依赖图转换为bpmn编制流程。

在步骤s100中本实施例使用结构特征,通过依赖关系分析器自动提取原bpmn编制流程中的任务间的依赖关系。

与现有技术中使用alpha算法对petri网进行重构所不同,在本实施例中使用依赖图和转换规则对bpmn业务流程进行重构。

作为本实施例中的优选,本实施例中的方法还包括:预处理编制流程的步骤:根据预处理规则将结构不同但语义相同的编制流程转换为结构统一的编制流程。所述预处理规则至少包括:对于开始事件,若开始事件具有多个输出流,则通过并行分叉网关与多个输出流相连,使之转换成一个具有一个输出流的开始事件;

和/或,对结束事件,若结束事件有多个输入流,可通过独占事件合并网关与多个输入流相连,使之转换成一个具有一个输入流的结束事件;和/或,对任务,若任务具有多个输入流则通过排他数据合并网关与多个输入流相连,使之转换成一个具有一个输入流的任务;

若任务具有多个输出流,则通过并行分叉网关与多个输出流相连,使之转换成一个具有一个输出流的任务。

和/或,对网关嵌套,若具有多个输入流的并行网关和具有多个输出流的并行网关直接嵌套相连,则将这两个并行网关转换为具有多个输入流和多个输出的并行网关;

若具有多个输入流的排他事件网关和具有多个输出流的排他事件网关直接嵌套相连,则将这两个排他数据网关转换为具有多个输入流和多个输出的排他数据网关。

上述预处理过程包括但不限于如下的事件处理:

1)预处理开始事件

2)预处理结束事件

3)预处理任务

4)预处理网关嵌套

具体预处理规则,如图4(a)-图4(d)所示。

作为本实施例中的优选,在编排流程中提取任务间的基本关系包括:顺序关系,选择关系,并发关系。依赖关系矩阵存在四种依赖关系:正依赖、反依赖、输出依赖和控制依赖。若该编制流程中两个任务间存在顺序关系,但不存在正依赖或反依赖或输出依赖,则我们认为这两个任务间并不真正存在顺序关系,通过后续步骤可将其重构为并行结构。

上述过程如下:1)提取任务间的顺序关系。在编排流程中,若两个任务(t1和t2)间是顺序关系,存在两种情况:第一种两个任务紧邻相连,如图5(a)中所示,其结构特征为:t1·={t2}∧·t2={t1}∧(t1,t2)∈sf。第二种,两个任务间通过并行网关相连,如图5(b)所示,其结构特征为:(t1,g),(g,t2)∈sf∧t1·={g}∧·t2={g}∧g∈gpf∪gpj。2)提取任务间的选择关系。在编排流程中,若两个任务(t1和t2)间是选择关系,存在两种情况:第一种这两个任务(t1和t2)通过排他数据网关相连,如图5(c)中所示,其结构特征为:(t1,g),(g,t2)∈sf∧t1·={g}∧·t2={g}∧g∈gxd∪gdm。第二种,两个任务间通过并行数据网关和排他网关相连,如图5(d)所示,其结构特征为:(t1,g1),(g1,g2),(g2,t2)∈sf∧t1·={g1}∧·t2={g2}∧g1∈gpf∪gpj∧g2∈gxd∪gdm。在编排流程中,由于任务间的关系只有三种,因此,如果两个任务间的关系不是顺序关系,也不是选择关系,那么它们间的关系一定是并发关系。

作为本实施例中的优选,分析任务间的依赖关系具体包括如下步骤:

5-1)分析任务间的正依赖,

5-2)分析任务间的反依赖,

5-3)分析任务间的输出依赖,

5-4)分析任务间的控制依赖。

所述步骤3由依赖关系分析器实现,任给任务t1,t2,数据网关g,其过程如下:

1)分析任务间的正依赖。若则任务t1和t2间满足正依赖。

2)分析任务间的反依赖。若则任务t1和t2间满足反依赖。

3)分析任务间的输出依赖。若则任务t1和t2间满足输出依赖。

4)分析任务间的控制依赖。若·t1∩t2·={g}∧g∈数据网关,则任务t1和t2间满足控制依赖。其中,→为顺序关系,为传递的顺序关系。

更进一步,根据所述依赖关系矩阵构造出依赖图的步骤具体包括:

6-1)构造节点。将编制流程中的每个任务构造为一个节点;

6-2)构造弧,若两个任务间满足正依赖或反依赖或输出依赖或控制依赖,则在该两个任务对应的节点间添加弧;

6-3)标识弧上的依赖类型,若所述两个任务间满足正依赖或反依赖或输出依赖或控制依赖,则在该两个任务对应的节点间的弧上添加对应的标记。

上述过程具体如下:1)构造节点。将编制流程中的每个任务构造为一个节点。2)构造弧。若任务t1和t2间满足正依赖或反依赖或输出依赖或控制依赖,则在该两个任务对应的节点间添加弧。3)标识弧上的依赖类型。若任务t1和t2间满足正依赖或反依赖或输出依赖或控制依赖,则在该两个任务对应的节点间的弧上添加对应的标记:δ、δo和δc

更进一步,对所述依赖图进行预处理,根据简化规则对依赖图进行简化处理:

7-1)简化依赖性的语义,依赖图中存在三种类型的数据依赖:正依赖、反依赖和输出依赖。在将依赖图转换为编制流程时,只要任两个任务间存在任何一种数据依赖,则这两个任务不能并发执行。因此,对转换编制流程而言,依赖图中的正依赖类型、反依赖类型和输出依赖类型的语义,并无任何语义区别,我们可以将其全部统一为数据依赖δd。该步的处理过程:依赖图中每条弧的依赖类型改为数据依赖δd即可。

7-2)消除冗余的传递数据依赖,在依赖图中,传递的数据依赖可由依赖关系描述,因而该关系是多余的。该步的处理过程:将依赖图中存在传递的数据依赖对应的弧删除即可。

7-3)增加开始节点及对应的弧和结束节点及相应的弧。增加的开始节点将来会转换为编制流程中的开始事件,增加的结束节点将来会转换为编制流程中的结束事件。该步的处理过程:在依赖图中,在入度为0的节点前添加开始节点s及相应的弧,弧的依赖类型设置为数据依赖;在出度为0的节点后添加结束节点e及相应的弧,弧的依赖类型设置为数据依赖。

作为本实施例中的优选,根据转换规则将所述依赖图转换得到编制流程具体包括:

如图6(a)所示,将依赖图中的除开始节点和结束节点外的节点转换为编制流程中的任务;

和/或,如图6(b)所示,将依赖图中的单一弧,且依赖类型为数据依赖,转换为编制流程中的序列流;

和/或,如图6(c)所示,将依赖图中的开始节点转换为编制流程中的开始事件;

和/或,如图6(d)所示,将依赖图中的结束节点转换为编制流程中的结束事件;

和/或,如图6(e)所示,将依赖图中的分叉弧,且依赖类型均为数据依赖和不存在回弧,转换为编制流程中带单输入序列流和多输出序列流的并行分叉网关;

和/或,如图6(f)所示,将依赖图中的分叉弧,且依赖类型均为控制依赖和不存在回弧,转换为编制流程中带单输入序列流和多输出序列流的独占数据决策网关;

和/或,如图6(g)所示,将依赖图中的汇聚弧,且依赖类型均为数据依赖和不存在回弧,转换为编制流程中的带多输入序列流和单输出序列流的并行汇聚网关;

和/或,如图6(h)所示,将依赖图中的汇聚弧,且依赖类型均为控制依赖和不存在回弧,转换为编制流程中的带多输入序列流和单输出序列流的独占数据合并网关;

和/或,如图6(i)所示,将依赖图中的分叉弧,且依赖类型不同、没有回弧和控制依赖弧的个数>=2,转换为并行分叉网关和独占数据决策网关直接嵌套相连,其中,并行分叉网关带1个输入序列流和2个输出序列流;独占数据决策网关带1个输入序列流和2个输出序列流;

和/或,如图6(j)所示,将依赖图中的汇聚弧,且依赖类型不同和控制依赖弧的个数>=2,转换为编制流程中的独占数据合并网关和并行汇聚网关嵌套相连,其中,独占数据合并网关带2个输入序列流和1个输出序列流;并行汇聚网关带2个输入序列流和1个输出序列流。

图2是本发明一实施例中的系统结构示意图,本实施例中的一种挖掘bpmn编制流程并行性的系统,,包括:

关系提取器1,用以根据结构特征从编制流程中提取任务间的基本关系,并构造出基本关系矩阵;所述关系提取器1,其过程如下:1)提取任务间的顺序关系。在编排流程中,若两个任务(t1和t2)间是顺序关系,存在两种情况:第一种两个任务紧邻相连,其结构特征为:t1·={t2}∧·t2={t1}∧(t1,t2)∈sf。第二种,两个任务间通过并行网关相连,其结构特征为:(t1,g),(g,t2)∈sf∧t1·={g}∧·t2={g}∧g∈gpf∪gpj。2)提取任务间的选择关系。在编排流程中,若两个任务(t1和t2)间是选择关系,存在两种情况:第一种这两个任务(t1和t2)通过排他数据网关相连,其结构特征为:(t1,g),(g,t2)∈sf∧t1·={g}∧·t2={g}∧g∈gxd∪gdm。第二种,两个任务间通过并行数据网关和排他网关相连,其结构特征为:(t1,g1),(g1,g2),(g2,t2)∈sf∧t1·={g1}∧·t2={g2}∧g1∈gpf∪gpj∧g2∈gxd∪gdm。在编排流程中,由于任务间的关系只有三种,因此,如果两个任务间的关系不是顺序关系,也不是选择关系,那么它们间的关系一定是并发关系。

依赖关系分析器2,用以分析任务间的依赖关系,并构造出依赖关系矩阵;

由关系分析器2实现,任给任务t1,t2,数据网关g,其过程如下:1、分析任务间的正依赖。若则任务t1和t2间满足正依赖。2)分析任务间的反依赖。若则任务t1和t2间满足反依赖。3)分析任务间的输出依赖。若则任务t1和t2间满足输出依赖。4)分析任务间的控制依赖。若·t1∩t2·={g}∧g∈数据网关,则任务t1和t2间满足控制依赖。其中,→为顺序关系,为传递的顺序关系。

依赖图构造器3,用以根据所述依赖关系矩阵构造出依赖图;所述依赖图构造器3,其过程如下:1)构造节点。将编制流程中的每个任务构造为一个节点。2)构造弧。若任务t1和t2间满足正依赖或反依赖或输出依赖或控制依赖,则在该两个任务对应的节点间添加弧。3)标识弧上的依赖类型。若任务t1和t2间满足正依赖或反依赖或输出依赖或控制依赖,则在该两个任务对应的节点间的弧上添加对应的标记:δ、δo和δc

转化器4,用以根据转换规则将所述依赖图转换得到编制流程,至少包括如下10个规则。

1)规则一用于将依赖图中的除开始节点和结束节点外的节点转换为编制流程中的任务。

2)规则二用于将依赖图中的单一弧,且依赖类型为δd,转换为编制流程中的序列流。

3)规则三用于将依赖图中的开始节点转换为编制流程中的开始事件;

4)规则四用于将依赖图中的结束节点转换为编制流程中的结束事件

5)规则五用于将依赖图中的分叉弧,且依赖类型均为δd和不存在回弧,转换为编制流程中带单输入序列流和多输出序列流的并行分叉网关。

6)规则六用于将依赖图中的分叉弧,且依赖类型均为δc和不存在回弧,转换为编制流程中带单输入序列流和多输出序列流的独占数据决策网关。

7)规则七用于将依赖图中的汇聚弧,且依赖类型均为δd和不存在回弧,转换为编制流程中的带多输入序列流和单输出序列流的并行汇聚网关。

(8)规则八用于将依赖图中的汇聚弧,且依赖类型均为δc和不存在回弧,转换为编制流程中的带多输入序列流和单输出序列流的独占数据合并网关。

(9)规则九用于将依赖图中的分叉弧,且依赖类型不同、没有回弧和控制依赖弧的个数>=2,转换为并行分叉网关和独占数据决策网关直接嵌套相连。其中,并行分叉网关带1个输入序列流和2个输出序列流;独占数据决策网关带1个输入序列流和2个输出序列流

(10)规则十用于将依赖图中的汇聚弧,且依赖类型不同和控制依赖弧的个数>=2,转换为编制流程中的独占数据合并网关和并行汇聚网关嵌套相连。其中,独占数据合并网关带2个输入序列流和1个输出序列流;并行汇聚网关带2个输入序列流和1个输出序列流。

图3是本发明一优选实施例中的系统结构示意图,作为本实施例中的优选,上述的系统还包括:

预处理器5,还用以根据预处理规则将结构不同但语义相同的编制流程转换为结构统一的编制流程;预处理器5其过程如下:1)预处理开始事件。若开始事件具有多个输出流,可通过并行分叉网关与多个输出流相连,使之转换成一个具有一个输出流的开始事件。2)预处理结束事件。若结束事件有多个输入流,可通过独占数据(事件)合并网关与多个输入流相连,使之转换成一个具有一个输入流的结束事件。3)预处理任务。若任务具有多个输入流可通过排他数据合并网关与多个输入流相连,使之转换成一个具有一个输入流的任务;若任务具有多个输出流,可通过并行分叉网关与多个输出流相连,使之转换成一个具有一个输出流的任务。4)预处理网关嵌套。若具有多个输入流的并行网关和具有多个输出流的并行网关直接嵌套相连,可将这两个并行网关转换为具有多个输入流和多个输出的并行网关;若具有多个输入流的排他数据网关和具有多个输出流的排他数据网关直接嵌套相连,可将这两个排他数据网关转换为具有多个输入流和多个输出的排他数据网关。

以及,依赖图简化器6,用以根据简化规则对依赖图进行简化处理,所述图简化器6其过程如下:1)简化依赖性的语义。依赖图中存在三种类型的数据依赖:正依赖、反依赖和输出依赖。在将依赖图转换为编制流程时,只要任两个任务间存在任何一种数据依赖,则这两个任务不能并发执行。因此,对转换编制流程而言,依赖图中的正依赖类型、反依赖类型和输出依赖类型的语义,并无任何语义区别,我们可以将其全部统一为数据依赖δd。该步的处理过程:依赖图中每条弧的依赖类型改为数据依赖δd即可。2)消除冗余的传递数据依赖。在依赖图中,传递的数据依赖可由依赖关系描述,因而该关系是多余的。该步的处理过程:将依赖图中存在传递的数据依赖对应的弧删除即可。3)增加开始节点及对应的弧和结束节点及相应的弧。增加的开始节点将来会转换为编制流程中的开始事件,增加的结束节点将来会转换为编制流程中的结束事件。该步的处理过程:在依赖图中,在入度为0的节点前添加开始节点s及相应的弧,弧的依赖类型设置为数据依赖;在出度为0的节点后添加结束节点e及相应的弧,弧的依赖类型设置为数据依赖。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

总体而言,本公开的各种实施例可以以硬件或专用电路、软件、逻辑或其任意组合实施。一些方面可以以硬件实施,而其它一些方面可以以固件或软件实施,该固件或软件可以由控制器、微处理器或其它计算设备执行。虽然本公开的各种方面被示出和描述为框图、流程图或使用其它一些绘图表示,但是可以理解本文描述的框、设备、系统、技术或方法可以以非限制性的方式以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备或其一些组合实施。

此外,虽然操作以特定顺序描述,但是这不应被理解为要求这类操作以所示的顺序执行或是以顺序序列执行,或是要求所有所示的操作被执行以实现期望结果。在一些情形下,多任务或并行处理可以是有利的。类似地,虽然若干具体实现方式的细节在上面的讨论中被包含,但是这些不应被解释为对本公开的范围的任何限制,而是特征的描述仅是针对具体实施例。在分离的一些实施例中描述的某些特征也可以在单个实施例中组合地执行。相反对,在单个实施例中描述的各种特征也可以在多个实施例中分离地实施或是以任何合适的子组合的方式实施。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1