工作流构件的生成方法、装置、设备及存储介质与流程

文档序号:26101437发布日期:2021-07-30 18:12阅读:85来源:国知局
工作流构件的生成方法、装置、设备及存储介质与流程

本发明涉及构件设计领域,尤其涉及一种工作流构件的生成方法、装置、设备及存储介质。



背景技术:

构件是应用系统中实际存在的可更换部分,以用于实现特定的功能,符合一套接口标准并能实现一组接口。基于构件的软件开发,可以通过组装已有的构建来开发新的应用系统,即构建具有复用性。

而在软件领域的特殊业务流程建模完成后,由于业务需求的变化导致业务流程的某些部分发生频发的流程逻辑变化,这些变化会使得构件无法直接应用于软件的迭代更新或者其他的软件开发,即现有的构件生成方法未考虑到业务流程的频发改变,使得生成的构件复用性较低。



技术实现要素:

本发明的主要目的在于解决现有的构件生成方法未考虑到业务流程的频发改变,使得生成的构件复用性较低的问题。

本发明第一方面提供了一种工作流构件的生成方法,包括:获取工作流模型对应的逻辑函数矩阵,并提取所述逻辑函数矩阵中的应用逻辑起点和应用逻辑终点,以及识别所述应用逻辑起点和所述应用逻辑终点之间的所有应用逻辑节点和各应用逻辑节点之间的流程逻辑结构;根据所述流程逻辑结构,对各所述应用逻辑节点进行简化合并处理,得到多个逻辑节点组合;将所述应用逻辑起点和所述应用逻辑终点,分别与逻辑节点组合进行相互组合连接,形成工作流构件。

可选的,在本发明第一方面的第一种实现方式中,所述识别所述应用逻辑起点和所述应用逻辑终点之间的所有应用逻辑节点和各应用逻辑节点之间的流程逻辑结构包括:在所述逻辑函数矩阵中搜索所述应用逻辑起点和所述应用逻辑终点之间的一个或多个应用逻辑节点;分别识别各应用逻辑节点之间的流程逻辑,并根据所述流程逻辑,分别确定各个应用逻辑节点与相连接的各应用逻辑节点之间的流程逻辑结构。

可选的,在本发明第一方面的第二种实现方式中,所述根据所述流程逻辑结构,对各所述应用逻辑节点进行简化合并处理,得到多个逻辑节点组合包括:根据所述流程逻辑结构,对各所述应用逻辑节点进行简化合并处理,得到多个逻辑节点组合并进行记录,并判断所述逻辑节点组合是否满足预置最简化条件;若不满足,则根据各所述逻辑节点组合之间的流程逻辑结构,进一步对各所述逻辑节点组合进行简化合并处理,直到所述第二逻辑节点组合满足预置最简化条件时停止简化合并处理,得到多个逻辑节点组合。

可选的,在本发明第一方面的第三种实现方式中,所述根据所述流程逻辑结构,对各所述应用逻辑节点进行简化合并处理,得到多个逻辑节点组合并进行记录包括:根据所述流程逻辑结构,对各所述应用逻辑节点进行顺序结构的简化合并处理,得到多个带有交叉结构的逻辑节点组合并进行记录;采用带有带有交叉结构的逻辑节点组合代替所述逻辑函数矩阵中对应的应用逻辑节点,得到简化函数矩阵,并识别所述简化函数矩阵中各应用逻辑节点之间的流程逻辑结构;根据所述简化函数矩阵中各应用逻辑节点之间的流程逻辑结构,对所述简化函数矩阵中的各应用逻辑节点进行交叉结构的简化合并处理,得到多个带有顺序结构的逻辑节点组合并进行记录。

可选的,在本发明第一方面的第四种实现方式中,在所述将所述应用逻辑起点和所述应用逻辑终点,分别与逻辑节点组合进行相互组合连接,形成工作流构件之前,还包括:根据各逻辑节点组合中包含的应用逻辑节点,统计各所述应用逻辑节点进行简化合并处理的频率;根据各所述应用逻辑节点对应的频率大小,选取预置数量的应用逻辑节点作为参照逻辑节点;若所述逻辑节点组合包含所述参照逻辑节点,则将所述逻辑节点组合剔除。

可选的,在本发明第一方面的第五种实现方式中,在所述将所述应用逻辑起点和所述应用逻辑终点,分别与逻辑节点组合进行相互组合连接,形成工作流构件之后,还包括:获取所述工作流构件对应的配置文件,并将所述配置文件和预置标准工作流构件对应的结构规范文件进行对比,并根据对比结果对所述工作流构件进行完整性验证;若所述工作流构件通过完整性验证,则根据所述配置文件,对所述工作流构件进行逻辑合理性验证;若所述工作流构件通过合理性验证,则根据所述配置文件,对所述工作流构件对应应用逻辑节点的构件体进行实例化处理,以执行所述工作流构件。

本发明第二方面提供了一种工作流构件的生成装置,包括:识别模块,用于获取工作流模型对应的逻辑函数矩阵,并提取所述逻辑函数矩阵中的应用逻辑起点和应用逻辑终点,以及识别所述应用逻辑起点和所述应用逻辑终点之间的所有应用逻辑节点和各应用逻辑节点之间的流程逻辑结构;简化合并模块,用于根据所述流程逻辑结构,对各所述应用逻辑节点进行简化合并处理,得到多个逻辑节点组合;连接模块,用于将所述应用逻辑起点和所述应用逻辑终点,分别与逻辑节点组合进行相互组合连接,形成工作流构件。

可选的,在本发明第二方面的第一种实现方式中,所述识别模块包括:搜索单元,用于在所述逻辑函数矩阵中搜索所述应用逻辑起点和所述应用逻辑终点之间的一个或多个应用逻辑节点;识别单元,用于分别识别各应用逻辑节点之间的流程逻辑,并根据所述流程逻辑,分别确定各个应用逻辑节点与相连接的各应用逻辑节点之间的流程逻辑结构。

可选的,在本发明第二方面的第二种实现方式中,所述简化合并模块包括:简化合并单元,用于根据所述流程逻辑结构,对各所述应用逻辑节点进行简化合并处理,得到多个逻辑节点组合并进行记录,并判断所述逻辑节点组合是否满足预置最简化条件;循环单元,用于若所述逻辑节点组合不满足预置最简化条件,则根据各所述逻辑节点组合之间的流程逻辑结构,进一步对各所述逻辑节点组合进行简化合并处理,直到所述第二逻辑节点组合满足预置最简化条件时停止简化合并处理,得到多个逻辑节点组合。

可选的,在本发明第二方面的第三种实现方式中,所述简化合并单元还用于:根据所述流程逻辑结构,对各所述应用逻辑节点进行顺序结构的简化合并处理,得到多个带有交叉结构的逻辑节点组合并进行记录;采用带有交叉结构的逻辑节点组合代替所述逻辑函数矩阵中对应的应用逻辑节点,得到简化函数矩阵,并识别所述简化函数矩阵中各应用逻辑节点之间的流程逻辑结构;根据所述简化函数矩阵中各应用逻辑节点之间的流程逻辑结构,对所述简化函数矩阵中的各应用逻辑节点进行交叉结构的简化合并处理,得到多个带有顺序结构的逻辑节点组合并进行记录。

可选的,在本发明第二方面的第四种实现方式中,所述工作流构件的生成装置还包括:统计模块,用于根据各逻辑节点组合中包含的应用逻辑节点,统计各所述应用逻辑节点进行简化合并处理的频率;选取模块,用于根据各所述应用逻辑节点对应的频率大小,选取预置数量的应用逻辑节点作为参照逻辑节点;剔除模块,用于若所述逻辑节点组合包含所述参照逻辑节点,则将所述逻辑节点组合剔除。

可选的,在本发明第二方面的第五种实现方式中,所述工作流构件的生成装置还包括:完整性验证模块,用于获取所述工作流构件对应的配置文件,并将所述配置文件和预置标准工作流构件对应的结构规范文件进行对比,并根据对比结果对所述工作流构件进行完整性验证;合理性验证模块,用于若所述工作流构件通过完整性验证,则根据所述配置文件,对所述工作流构件进行逻辑合理性验证;实例化模块,用于若所述工作流构件通过合理性验证,则根据所述配置文件,对所述工作流构件对应应用逻辑节点的构件体进行实例化处理,以执行所述工作流构件。

本发明第三方面提供了一种工作流构件的生成设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述工作流构件的生成设备执行上述的工作流构件的生成方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的工作流构件的生成方法。

本发明提供的技术方案中,获取工作流模型对应的逻辑函数矩阵,比如现有应用系统的工作流模型中,待生成构件的局部逻辑函数矩阵,然后在该逻辑函数矩阵中提取出待生成构件的应用逻辑起点和应用逻辑终点;接着识别出两者之前的应用逻辑节点之间的流程逻辑结构,并应用逻辑节点进行简化合并处理,即将具有相应流程逻辑结构的多个应用逻辑节,采用预置算法,合并成一个虚拟节点,在此处体现为一个逻辑节点组合,以抽象逻辑函数矩阵中的应用逻辑节点,最后将抽象后的逻辑节点组合与应用逻辑起点和应用逻辑中点分别进行组合连接,即可得到工作流构件,在构件中加入工作流的流程信息,即流程逻辑结构,并抽象化低维度的应用逻辑节点,使得构件中的应用描述更具有通用性,可以适用于多个常规或者特殊的软件开发场景,以提升构件的复用性。

附图说明

图1为本发明实施例中工作流构件的生成方法的第一个实施例示意图;

图2为本发明实施例中工作流构件的生成方法的第二个实施例示意图;

图3为本发明实施例中工作流构件的生成方法的第三个实施例示意图;

图4为本发明实施例中工作流构件的生成装置的一个实施例示意图;

图5为本发明实施例中工作流构件的生成装置的另一个实施例示意图;

图6为本发明实施例中工作流构件的生成设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种工作流构件的生成方法、装置、设备及存储介质,获取工作流模型对应的逻辑函数矩阵,并提取逻辑函数矩阵中的应用逻辑起点和应用逻辑终点,以及识别应用逻辑起点和应用逻辑终点之间的所有应用逻辑节点和各应用逻辑节点之间的流程逻辑结构;根据流程逻辑结构,对各应用逻辑节点进行简化合并处理,得到多个逻辑节点组合;将应用逻辑起点和应用逻辑终点,分别与逻辑节点组合进行相互组合连接,形成工作流构件。本发明实现了工作流构件的生成,提高构件在软件开发中的复用性。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中工作流构件的生成方法的第一个实施例包括:

101、获取工作流模型对应的逻辑函数矩阵,并提取逻辑函数矩阵中的应用逻辑起点和应用逻辑终点,以及识别应用逻辑起点和应用逻辑终点之间的所有应用逻辑节点和各应用逻辑节点之间的流程逻辑结构;

可以理解的是,本发明的执行主体可以为工作流构件的生成装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。

本实施例中,应用系统均对应一个工作流模型,此处根据待生成构件的具体需求,选取一个满足该需求的应用系统,并从该应用系统对应的工作流模型中截取满足该需求的局部逻辑矩阵,即为本实施例中提及的工作流模型矩阵对应的逻辑函数矩阵。

其中,逻辑函数矩阵中包含有每个功能模块对应的应用逻辑节点,而不同的应用逻辑节点之间通过流程逻辑结构进行连接,以用于表示前后两个应用逻辑节点之间的跳转关系。

具体的,可以通过一个逻辑函数来表示各应用逻辑节点之间的流程逻辑结构,定义逻辑函数f:p1*p2→{0,1},其中,p1和p2为相连接的两个应用逻辑节点或者应用逻辑节点的集合,则流程逻辑结构和对应的逻辑函数表示如下所示:

(1)顺序结构:则f1(p1,p2)=1,否则f1(p1,p2)=0;

(2)并发分裂结构:则f2(p1,p2)=1,否则f1(p1,p2)=0;

(3)并发聚合结构:则f3(p1,p2)=1,否则f1(p1,p2)=0;

(4)选择分裂结构:则f4(p1,p2)=1,否则f1(p1,p2)=0;

(5)选择聚合结构:则f5(p1,p2)=1,否则f1(p1,p2)=0;

本实施例中,在逻辑函数矩阵中,确定待生成构件的应用逻辑起点和应用逻辑终点,即该构件起始的应用功能和终止的应用功能;然后在逻辑函数矩阵中进行搜索,识别出从应用逻辑起点到应用逻辑终点所需要经过的应用逻辑节点,即该构件在常规应用场景中,涉及的中间应用功能。

比如待生成构件需事先从页面a跳转至页面b,在常规的业务流程中,需要经过页面{c1,c2,……,ci},则页面a、页面b、页面ci在逻辑函数矩阵中则分别作为应用逻辑起点、应用逻辑终点、应用逻辑节点。

另外,识别出各应用逻辑节点之间的流程逻辑结构,即各应用逻辑节点质监是顺序结构、并发分裂结构、并发聚合结构、选择分裂结构或选择聚合结构。

102、根据流程逻辑结构,对各应用逻辑节点进行简化合并处理,得到多个逻辑节点组合;

本实施例中,逻辑函数矩阵中的各应用逻辑节点均为最小细粒度的应用功能,此处通过简化合并处理,将具有流程逻辑结构特征的各应用逻辑节点进行合并,以抽象出应用逻辑节点的应用特征,降低后续生成构件的场景针对性,提升其通用性。

本实施例中,各应用逻辑节点的简化合并处理分为两个部分,第一部分是对各应用逻辑节点进行初步的顺序结构的简化合并处理,第二部分是对各应用逻辑节点进行进一步的交叉结构的简化合并处理,其中,交叉结构即并发分裂结构、并发聚合结构、选择分裂结构和选择聚合结构。其中,顺序结构的简化合并处理用于合并一些简单的直接跳转的应用功能,交叉结构的简化合并处理用于将某场景特殊的应用功能进行合并,仅抽取该应用功能的逻辑特性。

进一步的,可以通过由内向外逐级简化合并的方式对各应用逻辑节点进行简化合并处理,即通过对前述的顺序结构简化合并处理和交叉结构简化合并处理进行循环执行,并预先设置退出条件,当应用逻辑节点的简化程度达到退出条件时,则停止执行。

具体的,对于存在不同流程逻辑结构的应用逻辑节点,则采用相应的简化合并规则进行转换,依次判断逻辑函数矩阵中是否包含有顺序结构、并发分裂结构、并发聚合结构、选择分裂结构和选择聚合结构,若有,则采用相应的顺序简化规则、并发分裂简化规则、并发聚合简化规则、选择分裂简化规则和选择聚合简化规则,将每两个或者两个以上的应用逻辑节点合并成一个逻辑节点集合。

103、将应用逻辑起点和应用逻辑终点,分别与逻辑节点组合进行相互组合连接,形成工作流构件。

本实施例中,在每次进行简化合并处理后,均会得到至少一个逻辑节点集合,将多次简化合并后得到的所有逻辑节点集合进行整合,即为待生成构件潜在的多个设计方案,再分别采用同一轮简化合并处理生成的逻辑节点集合来形成工作流构件。

进一步的,两个逻辑节点集合亦通过前后两个应用逻辑节点的流程逻辑结构进行连接,即可视为是两个逻辑节点集合之间的流程逻辑结构,对于同一轮简化合并处理后的多个逻辑节点集合,相互之间已经确定了流程逻辑结构,则将其分别与应用逻辑起点和应用逻辑终点进行组合连接,即可得到一个工作流构件的设计方案,以此类推,即得到与简化合并次数相同的工作流构件的设计方案。

比如,在第一次简化合并处理后,得到多个逻辑节点组合的集合t1,在第二次简化合并处理后,得到多个逻辑节点组合的集合t2,在第三次简化合并处理后,得到多个逻辑节点组合的集合t3,则t1、t2、t3分别应用逻辑起点和应用逻辑终点进行连接,即可对应得到三个工作流构件的设计方案。

本发明实施例中,获取工作流模型对应的逻辑函数矩阵,比如现有应用系统的工作流模型中,待生成构件的局部逻辑函数矩阵,然后在该逻辑函数矩阵中提取出待生成构件的应用逻辑起点和应用逻辑终点;接着识别出两者之前的应用逻辑节点之间的流程逻辑结构,并应用逻辑节点进行简化合并处理,即将具有相应流程逻辑结构的多个应用逻辑节,采用预置算法,合并成一个虚拟节点,在此处体现为一个逻辑节点组合,以抽象逻辑函数矩阵中的应用逻辑节点,最后将抽象后的逻辑节点组合与应用逻辑起点和应用逻辑中点分别进行组合连接,即可得到工作流构件,在构件中加入工作流的流程信息,即流程逻辑结构,并抽象化低维度的应用逻辑节点,使得构件中的应用描述更具有通用性,可以适用于多个常规或者特殊的软件开发场景,以提升构件的复用性。

请参阅图2,本发明实施例中工作流构件的生成方法的第二个实施例包括:

201、获取工作流模型对应的逻辑函数矩阵,并提取逻辑函数矩阵中的应用逻辑起点和应用逻辑终点;

202、在逻辑函数矩阵中搜索应用逻辑起点和应用逻辑终点之间的一个或多个应用逻辑节点;

本实施例中,从应用逻辑起点开始,搜索与之相连接的一个或多个应用逻辑节点,然后再以搜索到的一个或多个应用逻辑节点,进一步分别搜索与该一个或多个应用逻辑节点相连接的一个或多个应用逻辑节点,以此类推,直到最终搜索到与应用逻辑终点相连接的一个或多个应用逻辑节点,即可得到应用逻辑起点和应用逻辑终点之间的全部应用逻辑节点。

其中,搜索到的应用逻辑节点之间可以通过顺序结构、并发分裂结构、并发聚合结构、选择分裂结构或选择聚合结构的方式进行连接。

203、分别识别各应用逻辑节点之间的流程逻辑,并根据流程逻辑,分别确定各个应用逻辑节点与相连接的各应用逻辑节点之间的流程逻辑结构;

本实施例中,根据各应用逻辑节点之间的局部连接特征,识别出各应用逻辑节点之间的流程逻辑,即每两个应用逻辑节点之间的连接逻辑为顺序连接、并发分裂连接、并发聚合连接、选择分裂连接或选择聚合连接。

在确定各应用逻辑节点之间的流程逻辑之后,进一步确定各个应用逻辑节点与相连接的各应用逻辑节点之间的流程逻辑结构,其中,流程逻辑结构可以指示一个应用逻辑节点和一个应用逻辑节点之间的连接关系,也可以是一个应用逻辑节点和多个应用逻辑节点之间的连接关系。

进一步的,可以通过逻辑函数表达式来表示各应用节点之间的流程逻辑,并根据某一应用逻辑节点与其他相连接的应用逻辑节点之间的逻辑函数表达式,确定该应用逻辑节点与相连接的各应用逻辑节点之间的流程逻辑结构,并同样以一个逻辑函数表达式进行表示。

具体的,对于顺序结构,则各应用逻辑节点对应的逻辑函数表达式为:

f1(p1,p2)=f1(p2,p3)=1;

对于并行结构,则各应用逻辑节点对应的逻辑函数表达式为:

f2(p1,p2)=f1(p1,p3)=1;f3(p2,p4)=f3(p5,p4)=1;

对于选择结构,则各应用逻辑节点对应的逻辑函数表达式为:

f3(p1,p2)=f3(p1,p3)=1;f4(p2,p4)=f4(p3,p4)=1;

对于迭代结构,则各应用逻辑节点对应的逻辑函数表达式为:

f4(p1,p2)=f5(p2,p1)=1;f4(p1,p4)=f1(p5,p1)=1;

其中,p1、p2、p3、p4、p5为应用逻辑节点,也可以是逻辑节点组合。

204、根据流程逻辑结构,对各应用逻辑节点进行简化合并处理,得到多个逻辑节点组合并进行记录,并判断逻辑节点组合是否满足预置最简化条件;

205、若不满足,则根据各逻辑节点组合之间的流程逻辑结构,进一步对各逻辑节点组合进行简化合并处理,直到第二逻辑节点组合满足预置最简化条件时停止简化合并处理,得到多个逻辑节点组合;

本实施例中,根据业务需求设置应用逻辑节点的最简化条件,其中,最简优化条件可以是简化合并处理的次数n、简化合并处理后逻辑节点集合的数量m。当逻辑节点组合的属于第n次简化合并处理得到的,则确定对应的逻辑节点组合满足最简化条件;当进行简化合并处理后得到少于或等于m个逻辑节点组合时,即可确定对应的逻辑节点组合满足最简化条件。

优选地,可以设置以下最简化条件:当进行简化合并处理后,仅得到一个逻辑节点组合,即应用逻辑起点和应用逻辑终点仅通过一个逻辑节点组合,对应的逻辑函数表达式为:f(ps,pv)=f(pv,pe)=1,即该最简化条件为:应用逻辑起点、逻辑节点组合和应用逻辑终点的流程逻辑结构为顺序结构。

另外,流程逻辑结构包括顺序结构和交叉结构,对应两种不同的简化合并处理方法,即各逻辑节点的简化合并处理包括两部分,具体可以通过以下方法对应用逻辑节点进行简化合并处理:

(1)根据流程逻辑结构,对各应用逻辑节点进行顺序结构的简化合并处理,得到多个带有交叉结构的逻辑节点组合并进行记录;

(2)采用带有交叉结构的逻辑节点组合代替逻辑函数矩阵中对应的应用逻辑节点,得到简化函数矩阵,并识别简化函数矩阵中各应用逻辑节点之间的流程逻辑结构;

(3)根据简化函数矩阵中各应用逻辑节点之间的流程逻辑结构,对简化函数矩阵中的各应用逻辑节点进行交叉结构的简化合并处理,得到多个带有顺序结构的逻辑节点组合并进行记录;

本实施例中,首先将逻辑函数矩阵中所有带有顺序结构的应用逻辑节点进行简化合并处理,得到仅包含有交叉结构的逻辑节点组合;然后再对带有交叉结构的逻辑节点组合进行简化合并处理,此时可能重新产生带有顺序结构的逻辑节点组合,则循环执行前述的顺序结构的简化合并处理和交叉结构的简化合并处理,其中,交叉结构包括并行结构、选择结构和迭代结构。

对于不同的流程逻辑结构采用对应的简化合并方法进行处理,并可以通过对应的逻辑函数表达式进行表述,各类型流程逻辑结构简化合并后各逻辑节点组合的逻辑函数表达式具体如下所示:

对于顺序结构的p1、p2、p3,若t1={p1,p2},f1={p1→p2},则简化合并后各逻辑节点组合的逻辑函数表达式为:f1=(t1,p3)=1;

对于并行结构的p1、p2、p3、p4,若t2={p2,p3},f2={p2||p3},则简化合并后各逻辑节点组合的逻辑函数表达式为:f1(p1,t2)=f1(t2,p4)=1;

对于选择结构的p1、p2、p3、p4,若t3={p2,p3},f3={p2^p3},则简化合并后各逻辑节点组合的逻辑函数表达式为:f1=(t3,p3)=f1(t3,p4)=1;

对于顺序结构的p1、p2、p3、p4,若t4={p1,p2},f4={p2∪p3},则简化合并后各逻辑节点组合的逻辑函数表达式为:f1=(p3,t4)=f1(t4,p4)=1。

206、将应用逻辑起点和应用逻辑终点,分别与逻辑节点组合进行相互组合连接,形成工作流构件。

本发明实施例中,详细介绍了应用逻辑节点之间流程逻辑结构的识别,根据目标应用逻辑节点与其他相连接的应用逻辑节点的逻辑关系,确定该目标应用逻辑节点与一个或多个应用逻辑节点的流程逻辑关系,将构件的应用部分和流程部分进行关联;然后进一步说明了应用逻辑节点的简化合并处理过程,通过顺序结构和交叉结构的循环简化合并处理,对应用逻辑节点进行抽象化处理,提取流程逻辑结构的通用特征,最后通过逻辑节点集合形成的工作流构件更适用于不同的场景,提升其复用性。

请参阅图3,本发明实施例中工作流构件的生成方法的第三个实施例包括:

301、获取工作流模型对应的逻辑函数矩阵,并提取逻辑函数矩阵中的应用逻辑起点和应用逻辑终点,以及识别应用逻辑起点和应用逻辑终点之间的所有应用逻辑节点和各应用逻辑节点之间的流程逻辑结构;

302、根据流程逻辑结构,对各应用逻辑节点进行简化合并处理,得到多个逻辑节点组合;

303、根据各逻辑节点组合中包含的应用逻辑节点,统计各应用逻辑节点进行简化合并处理的频率;

304、根据各应用逻辑节点对应的频率大小,选取预置数量的应用逻辑节点作为参照逻辑节点;

305、若逻辑节点组合包含参照逻辑节点,则将逻辑节点组合剔除;

本实施例中,应用逻辑节点所在的逻辑节点组合重新进行简化合并处理时,则相当于该应用逻辑节点亦重新进行了简化合并处理。当应用逻辑节点进行简化合并的次数越多,则该应用逻辑节点出现在逻辑节点组合的频率越高,该应用逻辑节点越不稳定,意味着该应用逻辑节点并非适用于通用场景,而专用于该工作流模型对应的特定场景,此时,则可以将简化合并处理频率高的应用逻辑节点剔除。

具体的,比如在进行多次简化合并处理后,最终得到多个逻辑节点组合的集合{t1,t2,……,tn},若经统计后,得到频率最高的k个应用逻辑节点{c1,c2,……,ck},则将包含有{c1,c2,……,ck}的逻辑节点组合的集合剔除。

306、将应用逻辑起点和应用逻辑终点,分别与逻辑节点组合进行相互组合连接,形成工作流构件;

307、获取工作流构件对应的配置文件,并将配置文件和预置标准工作流构件对应的结构规范文件进行对比,并根据对比结果对工作流构件进行完整性验证;

本实施例中,对于工作流构件的完整性验证,通过将工作流构件对应的配置文件与预先配置的标准工作流构件对应的结构规范文件进行对比,判断两者涉及的结构是否一致,其中,结构规划文件的格式可以为xml(extensiblemarkuplanguage,可扩展标记语言),采用schema的规范对配置文件进行完整性验证,如果配置文件符合schama的规范则,则转入下一个步骤,否则进行错误处理。

308、若工作流构件通过完整性验证,则根据配置文件,对工作流构件进行逻辑合理性验证;

本实施例中,对于工作流构件的逻辑合理性验证,主要验证配置文件中涉及到的工作流流程是否合理,逻辑组织资源和数据信息是否能够满足对应工作流流程的要求,以及构件体内容是否完整。

309、若工作流构件通过合理性验证,则根据配置文件,对工作流构件对应应用逻辑节点的构件体进行实例化处理,以执行工作流构件。

本实施例中,工作流构件对应应用逻辑节点的构建体的实例化处理主要包括以下三个步骤:

1)构件的加载:把配置文件中构件体对应的各个功能模块,如程序包、可执行程序等,按照指定的路径装载到预置的工作流管理系统中。

2)数据信息的部署:根据配置文件的数据部分,把对应的数据对象部署到工作流管理系统相应的位置中,实现工作流构件中应用部分的实体解析。

3)流程管理:工作流构件中应用部分解析完毕之后,把解析后的结果传入流程管理器,并采用流程管理器实例化该工作流构件中的流程部分。

其中,工作流构件解析之后产生工作流流程,通过流程管理器管理工作流流程的生命周期包括实例化工作流流程对工作流流程进行启动、挂起、恢复和停止操作,以及分解工作流流程为基本的活动单元。

本发明实施例中,介绍了在简化合并得到多个逻辑节点集合之后,还筛选出不稳定的应用逻辑节点,并将应用逻辑节点所在的逻辑节点集合进行剔除,提升工作流构件的通用性,以提高工作流构件的复用性。

上面对本发明实施例中工作流构件的生成方法进行了描述,下面对本发明实施例中工作流构件的生成装置进行描述,请参阅图4,本发明实施例中工作流构件的生成装置一个实施例包括:

识别模块401,用于获取工作流模型对应的逻辑函数矩阵,并提取所述逻辑函数矩阵中的应用逻辑起点和应用逻辑终点,以及识别所述应用逻辑起点和所述应用逻辑终点之间的所有应用逻辑节点和各应用逻辑节点之间的流程逻辑结构;

简化合并模块402,用于根据所述流程逻辑结构,对各所述应用逻辑节点进行简化合并处理,得到多个逻辑节点组合;

连接模块403,用于将所述应用逻辑起点和所述应用逻辑终点,分别与逻辑节点组合进行相互组合连接,形成工作流构件。

本发明实施例中,获取工作流模型对应的逻辑函数矩阵,比如现有应用系统的工作流模型中,待生成构件的局部逻辑函数矩阵,然后在该逻辑函数矩阵中提取出待生成构件的应用逻辑起点和应用逻辑终点;接着识别出两者之前的应用逻辑节点之间的流程逻辑结构,并应用逻辑节点进行简化合并处理,即将具有相应流程逻辑结构的多个应用逻辑节,采用预置算法,合并成一个虚拟节点,在此处体现为一个逻辑节点组合,以抽象逻辑函数矩阵中的应用逻辑节点,最后将抽象后的逻辑节点组合与应用逻辑起点和应用逻辑中点分别进行组合连接,即可得到工作流构件,在构件中加入工作流的流程信息,即流程逻辑结构,并抽象化低维度的应用逻辑节点,使得构件中的应用描述更具有通用性,可以适用于多个常规或者特殊的软件开发场景,以提升构件的复用性。

请参阅图5,本发明实施例中工作流构件的生成装置的另一个实施例包括:

识别模块401,用于获取工作流模型对应的逻辑函数矩阵,并提取所述逻辑函数矩阵中的应用逻辑起点和应用逻辑终点,以及识别所述应用逻辑起点和所述应用逻辑终点之间的所有应用逻辑节点和各应用逻辑节点之间的流程逻辑结构;

简化合并模块402,用于根据所述流程逻辑结构,对各所述应用逻辑节点进行简化合并处理,得到多个逻辑节点组合;

连接模块403,用于将所述应用逻辑起点和所述应用逻辑终点,分别与逻辑节点组合进行相互组合连接,形成工作流构件。

本发明实施例中,所述识别模块401包括:

搜索单元4011,用于在所述逻辑函数矩阵中搜索所述应用逻辑起点和所述应用逻辑终点之间的一个或多个应用逻辑节点;

识别单元4012,用于分别识别各应用逻辑节点之间的流程逻辑,并根据所述流程逻辑,分别确定各个应用逻辑节点与相连接的各应用逻辑节点之间的流程逻辑结构。

本发明实施例中,所述简化合并模块402包括:

简化合并单元4021,用于根据所述流程逻辑结构,对各所述应用逻辑节点进行简化合并处理,得到多个逻辑节点组合并进行记录,并判断所述逻辑节点组合是否满足预置最简化条件;

循环单元4022,用于若所述逻辑节点组合不满足预置最简化条件,则根据各所述逻辑节点组合之间的流程逻辑结构,进一步对各所述逻辑节点组合进行简化合并处理,直到所述第二逻辑节点组合满足预置最简化条件时停止简化合并处理,得到多个逻辑节点组合。

本发明实施例中,所述简化合并单元4021还用于:

根据所述流程逻辑结构,对各所述应用逻辑节点进行顺序结构的简化合并处理,得到多个带有交叉结构的逻辑节点组合并进行记录;

采用带有交叉结构的逻辑节点组合代替所述逻辑函数矩阵中对应的应用逻辑节点,得到简化函数矩阵,并识别所述简化函数矩阵中各应用逻辑节点之间的流程逻辑结构;

根据所述简化函数矩阵中各应用逻辑节点之间的流程逻辑结构,对所述简化函数矩阵中的各应用逻辑节点进行交叉结构的简化合并处理,得到多个带有顺序结构的逻辑节点组合并进行记录。

本发明实施例中,所述工作流构件的生成装置还包括:

统计模块404,用于根据各逻辑节点组合中包含的应用逻辑节点,统计各所述应用逻辑节点进行简化合并处理的频率;

选取模块405,用于根据各所述应用逻辑节点对应的频率大小,选取预置数量的应用逻辑节点作为参照逻辑节点;

剔除模块406,用于若所述逻辑节点组合包含所述参照逻辑节点,则将所述逻辑节点组合剔除。

本发明实施例中,所述工作流构件的生成装置还包括:

完整性验证模块407,用于获取所述工作流构件对应的配置文件,并将所述配置文件和预置标准工作流构件对应的结构规范文件进行对比,并根据对比结果对所述工作流构件进行完整性验证;

合理性验证模块408,用于若所述工作流构件通过完整性验证,则根据所述配置文件,对所述工作流构件进行逻辑合理性验证;

实例化模块409,用于若所述工作流构件通过合理性验证,则根据所述配置文件,对所述工作流构件对应应用逻辑节点的构件体进行实例化处理,以执行所述工作流构件。

本发明实施例中,详细介绍了应用逻辑节点之间流程逻辑结构的识别,将构件的应用部分和流程部分进行关联;然后进一步说明了应用逻辑节点的简化合并处理过程,对应用逻辑节点进行抽象化处理,提取流程逻辑结构的通用特征,最后通过逻辑节点集合形成的工作流构件更适用于不同的场景,提升其复用性;接着介绍了在简化合并得到多个逻辑节点集合之后,还筛选出不稳定的应用逻辑节点,并将应用逻辑节点所在的逻辑节点集合进行剔除,提升工作流构件的通用性,再进一步地提高工作流构件的复用性。

上面图4和图5从模块化功能实体的角度对本发明实施例中的工作流构件的生成装置进行详细描述,下面从硬件处理的角度对本发明实施例中工作流构件的生成设备进行详细描述。

图6是本发明实施例提供的一种工作流构件的生成设备的结构示意图,该工作流构件的生成设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对工作流构件的生成设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在工作流构件的生成设备600上执行存储介质630中的一系列指令操作。

工作流构件的生成设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图6示出的工作流构件的生成设备结构并不构成对工作流构件的生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种工作流构件的生成设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述工作流构件的生成方法的步骤。本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述工作流构件的生成方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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