一种流程图的生成方法、装置及计算机可读存储介质与流程

文档序号:20115098发布日期:2020-03-17 19:45阅读:118来源:国知局
一种流程图的生成方法、装置及计算机可读存储介质与流程

本文涉及计算机技术,尤指一种流程图的生成方法、装置及计算机可读存储介质。



背景技术:

流程图是流经一个系统的信息流、观点流或部件流的图形代表。

相关技术中,流程图可以根据一系列信息节点生成,用以说明某一过程,这种过程既可以是生产线上的工艺流程,也可以是完成一项任务必需的管理过程。

然而,由于现有流程图的生成方法没有从底层考虑其依赖关系,因此所生成的流程图无法如实反映正确流程,从而使得用户对于流程的走向不清楚,降低用户体验。



技术实现要素:

本申请提供了一种流程图的生成方法、装置及计算机可读存储介质,能够如实反映正确流程,从而使得用户对于流程的走向清晰明了,提高用户体验。

本申请提供了一种流程图的生成方法,包括:

获取用于生成流程图的一系列节点集合;

获取所述节点集合中节点之间的依赖关系,并根据所述依赖关系生成所述流程图展示于界面上。

所述获取节点集合中节点之间的依赖关系,并根据依赖关系生成流程图展示于界面上,包括:

获取所述节点集合中节点之间的依赖关系,并根据依赖关系从所述界面的底部开始向顶部部署节点并增加表示节点间依赖关系的标记,以生成所述流程图展示于所述界面上。

所述获取节点集合中节点之间的依赖关系,并根据依赖关系从界面的底部开始向顶部部署节点并增加表示节点间依赖关系的标记,以生成流程图展示于界面上,包括:

获取所述节点集合中不依赖其他任何节点的根节点,并将获得的根节点部署于所述界面的底部;

获取所述节点集合中依赖于所述根节点的第一子节点,将获得的第一子节点部署于所述根节点的上层,并增加表示所述第一子节点指向所依赖的所述根节点的标记;

获取所述节点集合中依赖于所述第一子节点的第二子节点,将获得的第二子节点部署于所述第一子节点的上层,并增加表示所述第二子节点指向所依赖的所述第一子节点的标记,以此循环直到获取完所述节点集合中的节点,得到所述流程图展示于所述界面上。

所述节点集合中的节点存在对应的节点信息,所述节点信息包括:节点的标识以及节点所依赖节点的标识,所述根节点的节点信息中节点所依赖节点的标识为空;所述依赖关系是根据所述节点信息中所依赖节点的标识获取的。

所述获取完所述节点集合中的节点之后,且得到所述流程图展示于所述界面上之前,还包括:

从所述流程图的顶部开始向下逐层调整每层节点的横向位置,以使每层节点的标记所指向的下层节点处于每层节点的正中间。

本申请还提供了一种服务器,包括:

获取模块,用于获取用于生成流程图的一系列节点集合;

处理模块,用于获取所述节点集合中节点之间的依赖关系,并根据所述依赖关系生成所述流程图展示于界面上。

所述处理模块,具体用于获取所述节点集合中节点之间的依赖关系,并根据依赖关系从所述界面的底部开始向顶部部署节点并增加表示节点间依赖关系的标记,以生成所述流程图展示于所述界面上。

所述处理模块具体用于:

获取所述节点集合中不依赖其他任何节点的根节点,并将获得的根节点部署于所述界面的底部;

获取所述节点集合中依赖于所述根节点的第一子节点,将获得的第一子节点部署于所述根节点的上层,并增加表示所述第一子节点指向所依赖的所述根节点的标记;

获取所述节点集合中依赖于所述第一子节点的第二子节点,将获得的第二子节点部署于所述第一子节点的上层,并增加表示所述第二子节点指向所依赖的所述第一子节点的标记,以此循环直到获取完所述节点集合中的节点,得到所述流程图展示于所述界面上。

本申请还提供了一种流程图的生成装置,包括:处理器和存储器,其中,存储器中存储有以下可被处理器执行的命令:

获取用于生成流程图的一系列节点集合;

获取所述节点集合中节点之间的依赖关系,并根据所述依赖关系生成所述流程图展示于界面上。

本申请还提供了一种计算机可读存储介质,所述存储介质上存储有计算机可执行命令,所述计算机可执行命令用于执行以下步骤:

获取用于生成流程图的一系列节点集合;

获取所述节点集合中节点之间的依赖关系,并根据所述依赖关系生成所述流程图展示于界面上。

与相关技术相比,本申请包括:获取用于生成流程图的一系列节点集合;获取所述节点集合中节点之间的依赖关系,并根据所述依赖关系生成所述流程图展示于界面上。由于从底层考虑节点间的依赖关系,因此所生成的流程图如实反映了正确流程,从而使得用户对于流程的走向清晰明了,降低了用户体验。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。

图1为本申请实施例提供的一种流程图的生成方法的流程示意图;

图2为本申请实施例提供的一种服务器的结构示意图。

具体实施方式

本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。

本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。

此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。

本申请实施例提供一种流程图的生成方法,如图1所示,包括:

步骤101、获取用于生成流程图的一系列节点集合。

在一种示例性实例中,用于生成流程图的一系列节点集合可以是从外部导入的,也可以是用户在界面上拖拽得到的。

步骤102、获取节点集合中节点之间的依赖关系,并根据依赖关系生成流程图展示于界面上。

在一种示例性实例中,可以将获取完依赖关系的节点放置于数组中,待所有节点集合中的节点获取完后,再根据依赖关系生成流程图展示于界面上。

在一种示例性实例中,获取节点集合中节点之间的依赖关系,并根据依赖关系生成流程图展示于界面上,包括:

获取节点集合中节点之间的依赖关系,并根据依赖关系从界面的底部开始向顶部部署节点并增加表示节点间依赖关系的标记,以生成流程图展示于界面上。

在一种示例性实例中,流程图的浏览习惯一般是由上至下,依赖关系也是从上至下建立的,界面上部的节点是直接依赖关系和间接依赖关系最繁杂的节点,下部是直接依赖关系和间接依赖关系较少的节点,而最下部是不依赖其他节点的节点,因此流程图的生成应该是一个逆向过程,从依赖关系最少的节点到依赖关系最多的节点进行部署。

在一种示例性实例中,标记可以单箭头线段,且箭头指向所依赖的节点。

在一种示例性实例中,获取节点集合中节点之间的依赖关系,并根据依赖关系从界面的底部开始向顶部部署节点并增加表示节点间依赖关系的标记,以生成流程图展示于界面上,包括:

首先、获取节点集合中不依赖其他任何节点的根节点,并将获得的根节点部署于界面的底部。

其次、获取节点集合中依赖于根节点的第一子节点,将获得的第一子节点部署于根节点的上层,并增加表示第一子节点指向所依赖的根节点的标记。

最后、获取节点集合中依赖于第一子节点的第二子节点,将获得的第二子节点部署于第一子节点的上层,并增加表示第二子节点指向所依赖的第一子节点的标记,以此循环直到获取完节点集合中的节点,得到流程图展示于界面上。

在一种示例性实例中,节点集合中的节点存在对应的节点信息,节点信息包括:节点的标识以及节点所依赖节点的标识,根节点的节点信息中节点所依赖节点的标识为空;依赖关系是根据节点信息中所依赖节点的标识获取的。

在一种示例性实例中,获取节点集合中节点之间的依赖关系,并根据依赖关系从界面的底部开始向顶部部署节点并增加表示节点间依赖关系的标记,以生成流程图展示于界面上,包括:

首先、获取节点集合中所依赖节点的标识为空的节点,确定获得的节点为不依赖其他任何节点的根节点,并将获得的根节点部署于界面的底部。

其次、获取节点集合中所依赖节点的标识为根节点标识的节点,确定获得的节点为依赖于根节点的第一子节点,将获得的第一子节点部署于根节点的上层,并增加表示第一子节点指向所依赖的根节点的标记。

最后、获取节点集合中依赖节点的标识为第一子节点标识的节点,确定获得的节点为依赖于第一子节点的第二子节点,将获得的第二子节点部署于第一子节点的上层,并增加表示第二子节点指向所依赖的第一子节点的标记,以此循环直到获取完节点集合中的节点,得到流程图展示于界面上。

在一种示例性实例中,获取完节点集合中的节点之后,且得到流程图展示于界面上之前,还包括:

从流程图的顶部开始向下逐层调整每层节点的横向位置,以使每层节点的标记所指向的下层节点处于每层节点的正中间。

在一种示例性实例中,如果上层节点中有三个节点的标记指向下层节点中一个节点,那么下层节点中这一个节点部署于上层节点中这是三个节点的正中间,即所对的位置为上层节点的中间节点处。

在一种示例性实例中,从流程图的顶部开始向下逐层调整每层节点的横向位置,以使每层节点的标记所指向的下层节点处于每层节点的正中间可以让流程图看起来更加美观。

本申请实施例提供的流程图的生成方法,由于从底层考虑节点间的依赖关系,因此所生成的流程图如实反映了正确流程,从而使得用户对于流程的走向清晰明了,降低了用户体验。

本申请实施例还提供一种流程图的生成方法,包括:

步骤一:对关系数组先进行筛选,将无上级依赖节点筛选出来,形成底层数据数组。

步骤二:筛选底层数组,将依赖底层数组的节点筛选出来,放入新建的一个空数组,形成二级数据数组,修改二级数组中对应上述筛选出共同下级的属性,记录下层节点的上级数量。然后按照同一下级的节点个数大小将底层数组和二级数组排序,将无上下级项放到数组最后,形成新的底层数组和二级数组,保证每一个单元项的下级与另外的单元项的下级没有交叉排列。遍历底层数组,底层数组中每一个节点记录当前纵向位置为0,横向位置为当前遍历项索引。

步骤三:遍历二级数组,重复步骤二过程,形成三级数组,且三级数组内各个节点的下级数量为各个下级自身下级数量的总和,三级数组节点纵向记录为1,相当于层级加1。横向位置,根据当前遍历的二级节点下级数量及所有前置位节点下级数量确定。

步骤四:重复进行步骤三,直至筛选不出任何下级。各层级数组整合为一个数据数组。

步骤五:遍历数组,按照具体节点展示大小需求、层级、及各个节点下级数量,计算各个节点位置,布局完成。

本申请实施例还提供一种服务器,如图2所示,包括:

获取模块21,用于获取用于生成流程图的一系列节点集合。

处理模块22,用于获取节点集合中节点之间的依赖关系,并根据依赖关系生成流程图展示于界面上。

在一种示例性实例中,处理模块22,具体用于获取节点集合中节点之间的依赖关系,并根据依赖关系从界面的底部开始向顶部部署节点并增加表示节点间依赖关系的标记,以生成流程图展示于界面上。

在一种示例性实例中,处理模块22具体用于:

获取节点集合中不依赖其他任何节点的根节点,并将获得的根节点部署于界面的底部。

获取节点集合中依赖于根节点的第一子节点,将获得的第一子节点部署于根节点的上层,并增加表示第一子节点指向所依赖的根节点的标记。

获取节点集合中依赖于第一子节点的第二子节点,将获得的第二子节点部署于第一子节点的上层,并增加表示第二子节点指向所依赖的第一子节点的标记,以此循环直到获取完节点集合中的节点,得到流程图展示于界面上。

在一种示例性实例中,节点集合中的节点存在对应的节点信息,节点信息包括:节点的标识以及节点所依赖节点的标识,根节点的节点信息中节点所依赖节点的标识为空;依赖关系是根据节点信息中所依赖节点的标识获取的。。

在一种示例性实例中,处理模块22还用于:

从流程图的顶部开始向下逐层调整每层节点的横向位置,以使每层节点的标记所指向的下层节点处于每层节点的正中间。

本申请实施例提供的服务器,由于从底层考虑节点间的依赖关系,因此所生成的流程图如实反映了正确流程,从而使得用户对于流程的走向清晰明了,降低了用户体验。

在实际应用中,所述获取模块21和处理模块22均由服务器中的中央处理器(centralprocessingunit,cpu)、微处理器(microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)或现场可编程门阵列(fieldprogrammablegatearray,fpga)等实现。

本申请实施例还提供一种流程图的生成装置,包括:处理器和存储器,其中,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时实现如上述任意一种所述的方法的处理。

本申请实施例还提供一种存储介质,存储介质上存储有计算机可执行命令,计算机可执行命令用于执行如上述任意一种所述的方法的处理。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

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