一种并行流程图的生成方法与系统与流程

文档序号:33458107发布日期:2023-03-15 02:59阅读:52来源:国知局
一种并行流程图的生成方法与系统与流程

1.本发明涉及流程图生成技术领域,尤其涉及一种并行流程图的生成方法与系统。


背景技术:

2.任务并行,也称为功能平行或控制平行,是平行计算程序设计模型的一种,在这个模型中,每一个线程执行一个分配到的任务,而这些线程则被分配到该并行计算体系的各个计算节点中去。
3.经检索,中国专利号cn201811396956.2公开了一种并行流程图的生成方法与系统,虽然可以根据工艺结构树自动生成工艺流程图,提高了工艺流程图的绘图效率和绘制结果的准确性,但是其无法判断流程图是否准确,且无法生成并行流程图,带来了方法缺陷的问题。


技术实现要素:

4.本发明的目的是为了解决现有技术中存在的缺陷,而提出的一种并行流程图的生成方法与系统。
5.为了实现上述目的,本发明采用了如下技术方案:
6.一种并行流程图的生成方法,该并行流程图的生成方法具体步骤如下:
7.(1)创建流程图:利用java web客户端新增各类节点模板组件和节点信息编辑组件,形成节点组件,并定义校验规则和封装方法,再集成各类节点组件,形成集成节点组件;其中,所述各类节点组件包括开始节点、结束节点、并行网关、分支网关、hop节点和任务节点,再加载可拖拽工具栏和画布,并将集成节点组件配置至可拖拽工具栏中,再从可拖拽工具栏中拖拽出需要的节点到画布中,再通过鼠标在节点间拖拽建立连接线,即得流程图;
8.(2)检验流程图:再通过java web客户端执行流程图相关参数配置,形成可解析的kettle文件,再读取kettle文件的hop节点,根据hop节点调用基于geotools编写的validatehop方法判断流程是否为一个有效流程,并存储有效流程;
9.(3)创建并行流程图:根据有效流程重新创建流程图,形成有效流程图,并进入图形化编辑界面,执行有效流程图的开始节点,从而启动流程,并根据连接线的规则依次执行有效流程图的节点,当执行至开始并行节点时,根据下一个节点列表的数量,新建对应数量的线程,并执行每个节点,当执行至结束并行节点时,判断每个并行的节点是否全部执行完成,若有没有执行完成的节点,则等待执行,若所有节点执行完成,则关闭新建线程,继续执行下一个节点,若仍有开始并行节点,则重复上述操作,直至执行到结束节点,即得并行流程图。
10.进一步地,步骤(1)中所述节点信息编辑组件采用弹窗的方式收集节点名称、步骤名称、输入参数和输出参数的信息。
11.进一步地,步骤(1)中所述校验规则用于判断节点组件是否允许添加。
12.进一步地,步骤(2)中所述判断有效流程的具体操作为:
13.s1、创建一个栈stack,创建一个数组array_hop,存储所有的hop对象,创建另一个数组array_tool,存储tool对象;
14.s2、根据hop计算每一个tool的入度indegree,把indegree=0 的tool加入栈;
15.s3、如果栈stack的容量capacity≠0,则取出stack的顶点 tool_a,并从array_tool删除对应的tool;
16.s4、从array_hop中删除所有以tool_a为起点的hop,如果删除的hop另一个顶点outputtool入度indegree为0,则把outputtool 入栈stack;
17.s5、重复步骤(3)和(4),直到stack的容量capacity=0,如果array_tool中还存在tool,则表示流程无效,反之则为有效流程。
18.一种并行流程图的生成系统,包括java web客户端和图像化编辑器;其中,所述java web客户端包括节点新增模块、定义输入模块、集成模块、绘制模块、执行读取模块和初次判断模块;所述图像化编辑器包括编辑界面、线程新建模块、分析模块、二次判断模块和生成模块。
19.进一步地,所述节点新增模块用于新增各类节点模板组件和节点信息编辑组件,形成节点组件;所述定义输入模块用于输入校验规则和封装方法;所述集成模块依据校验规则和封装方法集成节点组件,形成集成节点组件;所述绘制模块依据集成节点组件绘制流程图;所述执行读取模块用于执行流程图,形成kettle文件,并读取kettle 文件中的hop节点;所述初次判断模块依据hop节点判断流程是否为有效流程,并将有效流程重新输入绘制模块,形成有效流程图。
20.进一步地,所述编辑界面用于执行有效流程图,至开始并行节点处;所述线程新建模块根据下一个节点列表的数量,新建对应数量的线程,并执行每个节点;所述分析模块用于分析每个并行的节点是否全部执行完成,若未完成,则等待执行,若完成,则关闭线程新建模块;所述二次判断模块用于判断是否还有开始并行节点,若有,则返回编辑界面,若没有,则启动生成模块;所述生成模块用于生成并行流程图。
21.相比于现有技术,本发明的有益效果在于:
22.1、本发明通过将集成节点组件配置至可拖拽工具栏中,再从可拖拽工具栏中拖拽出需要的节点到画布中,再通过鼠标在节点间拖拽建立连接线,即得流程图,使得流程图的形成较为简便,再通过javaweb客户端执行流程图相关参数配置,形成可解析的kettle文件,再读取kettle文件的hop节点,根据hop节点调用基于geotools编写的validatehop方法判断流程是否为一个有效流程,根据有效流程重新创建流程图,形成有效流程图,达到判断流程图是否准确的目的,充分提高了流程图的准确性,再通过图形化编辑界面执行至开始并行节点时,根据下一个节点列表的数量,新建对应数量的线程,并执行每个节点,达到生成并行流程图的目的。
附图说明
23.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
24.图1为本发明提出的一种并行流程图的生成方法的流程示意图;
25.图2为本发明提出的一种并行流程图的生成系统的流程示意图。
具体实施方式
26.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
27.在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
28.实施例1:
29.请参阅图1,本发明提供一种技术方案:一种并行流程图的生成方法,该并行流程图的生成方法具体步骤如下:
30.(1)创建流程图:利用java web客户端新增各类节点模板组件和节点信息编辑组件,形成节点组件,并定义校验规则和封装方法,再集成各类节点组件,形成集成节点组件;其中,各类节点组件包括开始节点、结束节点、并行网关、分支网关、hop节点和任务节点,再加载可拖拽工具栏和画布,并将集成节点组件配置至可拖拽工具栏中,再从可拖拽工具栏中拖拽出需要的节点到画布中,再通过鼠标在节点间拖拽建立连接线,即得流程图,节点信息编辑组件采用弹窗的方式收集节点名称、步骤名称、输入参数和输出参数的信息,校验规则用于判断节点组件是否允许添加;
31.(2)检验流程图:再通过java web客户端执行流程图相关参数配置,形成可解析的kettle文件,再读取kettle文件的hop节点,根据hop节点调用基于geotools编写的validatehop方法判断流程是否为一个有效流程,并存储有效流程,判断有效流程的具体操作为:
32.s1、创建一个栈stack,创建一个数组array_hop,存储所有的 hop对象,创建另一个数组array_tool,存储tool对象;
33.s2、根据hop计算每一个tool的入度indegree,把indegree=0 的tool加入栈;
34.s3、如果栈stack的容量capacity≠0,则取出stack的顶点 tool_a,并从array_tool删除对应的tool;
35.s4、从array_hop中删除所有以tool_a为起点的hop,如果删除的hop另一个顶点outputtool入度indegree为0,则把outputtool 入栈stack;
36.s5、重复步骤(3)和(4),直到stack的容量capacity=0,如果array_tool中还存在tool,则表示流程无效,反之则为有效流程;
37.(3)创建并行流程图:根据有效流程重新创建流程图,形成有效流程图,并进入图形化编辑界面,执行有效流程图的开始节点,从而启动流程,并根据连接线的规则依次执行有效流程图的节点,当执行至开始并行节点时,根据下一个节点列表的数量,新建对应数量的线程,并执行每个节点,当执行至结束并行节点时,判断每个并行的节点是否全部执行完成,若有没有执行完成的节点,则等待执行,若所有节点执行完成,则关闭新建线程,继续执行下一个节点,若仍有开始并行节点,则重复上述操作,直至执行到结束节点,即得并行流程图。
38.具体的,在提高流程图准确性的过程中,利用java web客户端新增各类节点模板组件和节点信息编辑组件,形成节点组件,并定义校验规则和封装方法,再集成各类节点组
件,形成集成节点组件,并将集成节点组件配置至可拖拽工具栏中,再从可拖拽工具栏中拖拽出需要的节点到画布中,再通过鼠标在节点间拖拽建立连接线,即得流程图,使得流程图的形成较为简便,再通过java web客户端执行流程图相关参数配置,形成可解析的kettle文件,再读取kettle文件的hop节点,根据hop节点调用基于geotools编写的validatehop 方法判断流程是否为一个有效流程,根据有效流程重新创建流程图,形成有效流程图,达到判断流程图是否准确的目的,充分提高了流程图的准确性。
39.实施例2:
40.请参阅图2,本发明提供一种技术方案:一种并行流程图的生成系统,包括java web客户端和图像化编辑器;其中,java web客户端包括节点新增模块、定义输入模块、集成模块、绘制模块、执行读取模块和初次判断模块;图像化编辑器包括编辑界面、线程新建模块、分析模块、二次判断模块和生成模块,节点新增模块用于新增各类节点模板组件和节点信息编辑组件,形成节点组件;定义输入模块用于输入校验规则和封装方法;集成模块依据校验规则和封装方法集成节点组件,形成集成节点组件;绘制模块依据集成节点组件绘制流程图;执行读取模块用于执行流程图,形成kettle文件,并读取kettle文件中的hop节点;初次判断模块依据hop节点判断流程是否为有效流程,并将有效流程重新输入绘制模块,形成有效流程图,编辑界面用于执行有效流程图,至开始并行节点处;线程新建模块根据下一个节点列表的数量,新建对应数量的线程,并执行每个节点;分析模块用于分析每个并行的节点是否全部执行完成,若未完成,则等待执行,若完成,则关闭线程新建模块;二次判断模块用于判断是否还有开始并行节点,若有,则返回编辑界面,若没有,则启动生成模块;生成模块用于生成并行流程图。
41.具体的,在生成并行流程图的过程中,通过图形化编辑界面执行有效流程图的开始节点,从而启动流程,并根据连接线的规则依次执行有效流程图的节点,当执行至开始并行节点时,根据下一个节点列表的数量,新建对应数量的线程,并执行每个节点,当执行至结束并行节点时,判断每个并行的节点是否全部执行完成,若有没有执行完成的节点,则等待执行,若所有节点执行完成,则关闭新建线程,继续执行下一个节点,若仍有开始并行节点,则重复上述操作,直至执行到结束节点,即得并行流程图,达到生成并行流程图的目的。
42.本发明的工作原理及使用流程:利用java web客户端新增各类节点模板组件和节点信息编辑组件,形成节点组件,并定义校验规则和封装方法,再集成各类节点组件,形成集成节点组件,并将集成节点组件配置至可拖拽工具栏中,再从可拖拽工具栏中拖拽出需要的节点到画布中,再通过鼠标在节点间拖拽建立连接线,即得流程图,使得流程图的形成较为简便,再通过java web客户端执行流程图相关参数配置,形成可解析的kettle文件,再读取kettle文件的hop节点,根据hop节点调用基于geotools编写的validatehop方法判断流程是否为一个有效流程,根据有效流程重新创建流程图,形成有效流程图,达到判断流程图是否准确的目的,充分提高了流程图的准确性,再通过图形化编辑界面执行有效流程图的开始节点,从而启动流程,并根据连接线的规则依次执行有效流程图的节点,当执行至开始并行节点时,根据下一个节点列表的数量,新建对应数量的线程,并执行每个节点,当执行至结束并行节点时,判断每个并行的节点是否全部执行完成,若有没有执行完成的节点,则等待执行,若所有节点执行完成,则关闭新建线程,继续执行下一个节点,若仍有开始并行节点,则重复上述操作,直至执行到结束节点,即得并行流程图,达到生成并行流程图的
目的,完成操作。
43.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1