用于确定工作流模板的方法及设备与流程

文档序号:12748595阅读:215来源:国知局
用于确定工作流模板的方法及设备与流程

本申请涉及计算机技术领域,尤其涉及一种用于确定工作流模板的技术。



背景技术:

随着科技的发展,尤其是大数据时代的到来,通过计算机处理的业务越来越多;需要通过计算机处理的业务也越来越复杂化、多样化。此时,为了提高业务处理效率,降低对业务处理参与人员的要求,将业务处理过程模式化非常重要,具体地是使业务过程的部分或整体步骤在计算机应用环境下的自动化。

例如,随着大型分布式网络应用系统,尤其是大数据处理系统的应用日益广泛,系统运维工作的重要性凸显了出来。而大数据运维非常的复杂,需要有经验的运维人员多人协同才能完成发布或者变更,尤其是类似ODPS(分布式的海量数据处理平台)这样的海量数据、海量机器的平台,变更更是非常的复杂,流程很多。稍不小心,就可能会出现纰漏,造成故障。



技术实现要素:

本申请的目的是提供一种用于确定工作流模板的方法与设备,以解决实践中与本申请相关的业务处理工作过程的流程化、自动化问题。

根据本申请的一个方面,提供了一种用于确定工作流模板的方法,该方法解决了实践中与本申请相关的业务处理工作过程的流程化、自动化问题,该方法包括:

将工作流记录分解为多个第一执行节点;

根据所述多个第一执行节点之间的执行顺序信息,确定对应的多个第二执行节点;

根据所述多个第二执行节点之间的执行顺序关系,确定对应的工作流模 板。

根据本申请的另一方面,还提供了一种用于确定工作流模板的设备,该设备解决了实践中与本申请相关的业务处理工作过程的流程化、自动化问题,该设备包括:

分解装置,用于将工作流记录分解为多个第一执行节点;

第二执行节点确定装置,用于根据所述多个第一执行节点之间的执行顺序信息,确定对应的多个第二执行节点;

工作流模板确定装置,用于根据所述多个第二执行节点之间的执行顺序关系,确定对应的工作流模板。

与现有技术相比,本申请通过将工作流记录分解为多个第一执行节点,根据所述多个第一执行节点之间的执行顺序信息,确定对应的多个第二执行节点,根据所述多个第二执行节点之间的执行顺序关系,确定对应的工作流模板;从而支持工作流程复用,简化数据处理操作,并改善用户使用体验。而且,本申请还可以对多个第二执行节点进一步处理,获得具有更高扩展性的工作流模板,从而应对更复杂的数据处理要求并进一步提高数据处理效率。此外,本申请还可以依据该工作流模板生成工作流实例,从而提供工作效率,改善用户使用体验;而且,还通过执行工作流实例,提高处理效率,并降低了对操作人员经验的依赖性,适应大数据时代处理业务的需求,尤其是大数据运维,通过本申请建立的运维工作流模板,可以标准化的完成操作,不会出现纰漏,而且可以尽量减少变更需要的时间。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出根据本申请一个方面的一种用于确定工作流模板的设备示意图;

图2示出根据本申请一个优选实施例的一种用于确定工作流模板的设备示意图;

图3示出根据本申请另一个方面的一种用于确定工作流模板的方法流程图;

图4示出根据本申请一个优选实施例的一种用于确定工作流模板的方法流程图;

图5示出根据本申请一个优选实施例的一种工作流模板中顺序执行的节点结构示意图;

图6示出根据本申请一个优选实施例的一种工作流模板中可并发执行的节点结构示意图;

图7示出根据本申请一个优选实施例的一种工作流模板的结构示意图;

图8-1示出根据本申请一个优选实施例的一种工作流模板及对应配置参数的结构示意图;

图8-2示出图8-1对应的工作流模板实例的结构示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁 盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

为更进一步阐述本申请所采取的技术手段及取得的效果,下面结合附图及较佳实施例,对本申请的技术方案,进行清楚和完整的描述。

如图1所示,展示了本申请用于确定工作流模板的设备示意图,该设备包括:

分解装置11,用于将工作流记录分解为多个第一执行节点;

第二执行节点确定装置12,用于根据所述多个第一执行节点之间的执行顺序信息,确定对应的多个第二执行节点;

工作流模板确定装置13,用于根据所述多个第二执行节点之间的执行顺序关系,确定对应的工作流模板。

本领域技术人员应能理解,在具体的方案实施中,所述第一执行节点可包括业务处理操作中的基本操作步骤,例如,大数据平台运维操作中对应的基本操作步骤;所述第二执行节点可包括所述分解装置11分解获得的第一执行节点中,需要按照顺序执行的多个第一执行节点组成的列表节点,也可包括其中可并发执行的多个第一执行节点组成的树根节点,还可包括其中未被所述列表节点及树节点包含的第一执行节点。为表述方便,我们将在实施例中对第一执行节点与业务处理操作中的基本操作步骤、第二执行节点与所述列表节点或树根节点或第一执行节点分别进行互换使用。

在该实施例中,分解装置11将工作流记录分解为多个第一执行节点。其中工作流记录,即业务操作中包括的模式化的步骤、流程等,例如,计算机系统的运维操作步骤、流程。其中第一执行节点为业务操作中的基本操作步骤,例如,远程执行命令、远程执行脚本、推送配置文件、开关警报等。具体地,分解装置11将工作流记录分解为多个第一执行节点的方式不做限制,可通过根据用户输入的配置文件,实现将工作流记录分解为多个第一执行节 点的目的,使业务操作中的步骤的格式进行统一拆分,以备后续建立工作流模板时使用。

继续在该实施例中,第二执行节点确定装置12根据所述多个第一执行节点之间的执行顺序信息,确定对应的多个第二执行节点。具体地,第二执行节点确定装置12将前述分解装置11分解的第一执行节点,按照这些第一执行节点间的执行顺序信息,进行组合,进一步地,可将需要按照前后顺序执行的第一执行节点进行组合,并确定组合后对应的第二执行节点信息,如图5所示,其中的第一执行节点1、2、3为需要顺序执行的节点,节点L1为该组合的第二执行节点;也可将需要并发执行的第一执行节点进行组合,并确定组合后对应的第二执行节点信息,如图6所示,其中的第一执行节点4、5、6为可并发执行的节点,节点T1为该组合的第二执行节点。其中的第二执行节点信息包括对应组合中的第一执行节点相关信息,例如,如图5所示,其中第二执行节点L1包括了第一执行节点为1、2、3共三个节点,该组合为顺序执行等信息。其中第一执行节点的执行顺序信息,需要根据实际执行用户业务的需求而定,并不限于上述的顺序、并发执行顺序信息。另外,需要指出的是,第二执行节点确定装置12根据执行用户业务的需要进行第二执行节点的确定,并不必然将所有的第一执行节点均确定在第二执行节点对应的组合中。

继续在该实施例中,工作流模板确定装置13根据所述多个第二执行节点之间的执行顺序关系,确定对应的工作流模板,具体地,工作流模板确定装置13将前述第二执行节点确定装置12确定的第二执行节点,按照这些第二执行节点间的执行顺序信息,进行组合形成工作流模板,进一步地,可将需要按照前后顺序执行,及并发执行等执行顺序的第二执行节点进行组合,以确定该业务操作对应的工作流模板。具体地,该工作流模板中的第二执行节点包括第二执行节点确定装置12确定的第二执行节点,及未被第二执行节点确定装置12确定的第二执行节点所涵盖的第一执行节点;也即,分解装置11分解的第一执行节点未完全被第二执行节点确定装置12用于组合对应的第二 执行节点的情况,如图7所示,第一执行节点10未被第二执行节点确定装置12用于组合对应的第二执行节点,所述第一执行节点10与第二执行节点T1为并发执行关系,此时第一执行节点10便为第二执行节点。

优选地,所述第二执行节点包括以下至少任一项:

所述第一执行节点;

包含多个顺序执行的所述第一执行节点的顺序控制节点;

包含多个可并发执行的所述第一执行节点的并发控制节点。

在该实施例中,第二执行节点可以为第一执行节点,具体地,是指分解装置11分解获得的业务处理基本步骤对应的第一执行节点,并未被第二执行节点确定装置12全部组合至前述实施例中的第二执行节点对应的组合中的情况。进一步地,第二执行节点可以为不需要与其它第一执行节点按照前后、并发等顺序执行的第一执行节点,也即业务处理的过程中,有些第一执行节点对应的基本步骤不需要与其它基本步骤具有执行顺序关系。更进一步地,这些第一执行节点与其它第一执行节点没有执行顺序关系,而是需要与其它第二执行节点按照前后、并发等顺序进行执行。例如,如图7所示,第一执行节点10未被第二执行节点确定装置12用于组合对应的第二执行节点,所述第一执行节点10与第二执行节点T1为并发执行关系,此时第一执行节点10便为第二执行节点。

继续在该实施例中,第二执行节点可以为包含多个顺序执行的所述第一执行节点的顺序控制节点,具体地,多个第一执行节点为顺序执行关系时,也即业务处理过程中多个第一执行节点对应的步骤必须按照严格的先后顺序进行执行时,它们便组合成一个列表,该列表的控制节点便为顺序控制节点,所述顺序控制节点存储该列表的信息,一般包括执行顺序信息、步骤操作信息、包括的第一执行节点相关信息等,该顺序控制节点代表该列表,例如,如图5所示,其中的第一执行节点1、2、3为需要顺序执行的节点,节点L1为该组合对应的列表的顺序控制节点,代表该列表。

继续在该实施例中,第二执行节点可以为包含多个可并发执行的所述第 一执行节点的并发控制节点,具体地,多个第一执行节点为并发执行关系时,也即业务处理过程中多个第一执行节点对应的步骤需要并发执行时,它们便组合成一个树,该树的树根便为该树的控制节点,也即并发控制节点,所述并发控制节点存储该树的信息,一般包括执行顺序信息、步骤操作信息、包括的第一执行节点相关信息等。例如,当执行某命令与执行某脚本为并发执行的第一执行节点对应的基本操作步骤时,二者便可形成一个树,树根为该树的控制节点,设置有二者的执行关系、二者操作步骤信息等。例如,如图6所示,其中的第一执行节点4、5、6为可并发执行的节点,节点T1为该组合对应的树的并发控制节点,代表该树。

参图2所示,更优选地,所述第二执行节点包括包含多个顺序执行的所述第一执行节点的顺序控制节点;

其中,所述第二执行节点确定装置12包括用于确定顺序执行的多个所述第一执行节点的单元;及用于根据所述顺序执行的多个第一执行节点,生成对应的顺序控制节点的单元,其中,该顺序控制节点包括所述顺序执行的多个第一执行节点。

该实施例主要针对第二执行节点为包含顺序执行的多个第一执行节点的顺序控制节点的情况,具体地,顺序控制节点的确定方式及过程可以为:首先,具体地,第二执行节点确定装置12中用于确定顺序执行的多个所述第一执行节点的单元在分解装置11分解获得的第一执行节点中,可以根据用户输入的配置文件信息,查找或者计算分析出需要顺序执行的第一执行节点;也可以根据预设的规则确定需要顺序执行的第一执行节点;具体的确定方式及查找依据不做限制。

其次,具体地,第二执行节点确定装置12中用于根据所述顺序执行的多个第一执行节点,生成对应的顺序控制节点的单元生成对应的顺序控制节点的方式,可以为根据业务处理的需要或用户输入的配置文件,将分解装置11分解的所有顺序执行的第一执行节点生成一个列表,该列表的控制节点即为顺序控制节点;也可以为根据业务处理的需要或者用户输入的配置文件,将 分解装置11分解的第一执行节点中,需要顺序执行的多个第一执行节点生成对应的多个顺序控制节点,每个顺序控制节点对应一组需要顺序执行的多个第一执行节点,例如,若分解装置11将业务操作步骤分解为15个第一执行节点,其中每5个第一执行节点需要顺序执行,那么便产生3个顺序控制节点,每个顺序控制节点包括5个需要顺序执行的第一执行节点。

更优选地,所述第二执行节点包括包含多个可并发执行的所述第一执行节点的并发控制节点;

其中,所述第二执行节点确定装置12包括用于确定可并发执行的多个所述第一执行节点的单元;用于根据所述可并发执行的多个第一执行节点,生成对应的并发控制节点的单元,其中,该并发控制节点包括所述可并发执行的多个第一执行节点。

该实施例主要针对第二执行节点为包含可并发执行的多个所述第一执行节点的并发控制节点的情况,具体地,并发控制节点的确定方式及过程可以为:首先,具体地,第二执行节点确定装置12中用于确定可并发执行的多个所述第一执行节点的单元,在分解装置11分解获得的第一执行节点中,可以根据用户输入的配置文件,查找或者分析计算出需要并发执行的多个第一执行节点;也可以根据预设的规则确定需要并发执行的第一执行节点;确定可并发执行的多个所述第一执行节点的具体方式及具体确定依据不做限制。

其次,具体地,第二执行节点确定装置12中根据所述可并发执行的多个第一执行节点,生成对应的并发控制节点的单元,生成对应的并发控制节点的方式,可以为根据业务处理的需要或用户输入的配置文件,将分解装置11分解的所有并发执行的第一执行节点生成一个树,该树的控制节点即为并发控制节点;也可以为根据业务处理的需要或者用户输入的配置文件,将分解装置11分解的第一执行节点中,可并发执行的多个第一执行节点生成对应的多个并发控制节点,每个并发控制节点对应一组可并发执行的第一执行节点,例如,若分解装置11将业务操作步骤分解为15个第一执行节点,其中每5个第一执行节点可并发执行,那么便产生3个并发控制节点,每个并发控制 节点包括5个可并发执行的第一执行节点。

另外,本申请中的第二执行节点确定装置12也可同时包括上述用于确定顺序执行的多个所述第一执行节点的单元;用于根据所述顺序执行的多个第一执行节点,生成对应的顺序控制节点的单元;用于确定可并发执行的多个所述第一执行节点的单元;及用于根据所述可并发执行的多个第一执行节点,生成对应的并发控制节点的单元。本领域的技术人员应当能够理解,本申请中的第二执行节点可同时包含顺序执行的多个所述第一执行节点对应的顺序控制节点,及可并发执行的多个所述第一执行节点对应的并发控制节点,故本申请中的第二执行节点确定装置12同时包括上述四个单元的方案也在本申请的保护范围之内。

优选地,所述第二执行节点确定装置12还用于当检测到所述多个第一执行节点构成回路时,启动报错机制。

在该实施例中,第二执行节点确定装置12检测到所述多个第一执行节点构成回路时,启动报错机制,该实施例主要针对第二执行节点确定装置根据所述多个第一执行节点之间的执行顺序信息,确定对应的多个第二执行节点的过程中,第一执行节点形成回路的情况。具体地,第二执行节点确定装置12检测的方式,可以为遍历需要顺序执行的第一执行节点,同时记录每个需要顺序执行的第一节点的已依赖节点,当检测到下一个第一执行节点为之前已依赖的第一执行节点之一时,则判定该顺序执行的第一执行节点中存在回路,其中的已依赖节点为顺序执行节点中已经排入顺序的节点,例如,节点1、节点2、节点3为顺序执行节点,节点1执行完毕执行节点2,接着执行节点3,那么节点1为节点2的依赖节点,节点2为节点3的依赖节点,节点1和节点2均为已依赖节点。

继续在该实施例中,由于若顺序执行列表中存在回路,便陷入执行的死循环,使业务操作无法顺序进行执行。故,当检测出顺序执行的列表中存在回路时,需要启动报错机制,通知用户或者相关设备,并发出报错的信号,具体地,报错机制可以为发出报警信号,也可以为自动停止,并显示错误信 息,本领域的技术人员应当能够理解具体的报错方式等不做限制,只要能够满足使用户或者相关操作设备、人员等获得该错误信息即可。

参图1所示,优选地,所述工作流模板确定装置13包括根据所述多个第二执行节点之间的执行顺序关系,确定所述多个第二执行节点之间的依赖关系的单元;根据所述多个第二执行节点之间的依赖关系,确定对应的工作流模板的单元。

该实施例主要针对业务操作对应的工作流模板中包括需要顺序执行的第二执行节点的情况。在该实施例中,具体地,工作流模板确定装置13中根据所述多个第二执行节点之间的执行顺序关系,确定所述多个第二执行节点之间的依赖关系的单元,根据第二执行节点确定装置12确定的第二执行节点,按照这些第二执行节点的执行顺序信息,确定所述第二执行节点之间的依赖关系,其中的依赖关系也即顺序执行关系。进一步地,可根据业务处理需要、用户输入的业务操作对应的配置文件或者预设执行规则等信息,查找需要顺序执行的第二执行节点,这些第二执行节点间的执行关系便为依赖关系。

继续在该实施例中,具体地,工作流模板确定装置13的根据所述多个第二执行节点之间的依赖关系,确定对应的工作流模板的单元将前述第二执行节点确定装置12确定的第二执行节点,按照这些第二执行节点间的依赖关系,进行组合形成工作流模板,进一步地,可将需要按照前后顺序执行的第二执行节点形成工作流模板,其中的第二执行节点可以为第一执行节点、顺序控制节点或者并发控制节点至少其一。如图7所示,其中的节点10便为同时是第一执行节点和第二执行节点的情况。

参图1所示,更优选地,所述工作流模板确定装置13还包括用于根据所述多个第二执行节点之间的执行顺序关系,确定所述多个第二执行节点之间的并发合并执行关系的单元。

该实施例主要针对业务操作对应的工作流模板中还包括需要并发执行的第二执行节点的情况。在该实施例中,具体地,用于根据所述多个第二执行节点之间的执行顺序关系,确定所述多个第二执行节点之间的并发合并执行 关系的单元根据业务处理需要、用户输入的业务操作对应的配置文件或者预设执行规则等信息,查找需要并发执行的第二执行节点,这些第二执行节点间的执行关系便为并发合并执行关系。工作流模板确定装置13将前述第二执行节点确定装置12确定的第二执行节点,按照这些第二执行节点间的依赖关系、并发合并执行关系,进行组合形成工作流模板。

另外,在该实施例中,需要并发执行的第二执行节点并发合并成新的树,并形成该树的新的控制节点,该新的控制节点可以称为第三执行节点,以此类推,以便将模式化业务处理过程中的操作步骤分级别、按顺序、有条不紊地执行。如图7所示,其中的第二执行节点T1与第二执行节点T2可并发执行,形成新的控制节点R1,即第三执行节点。

如图2所示,优选地,所述设备还包括工作流模板实例化装置14,该工作流模板实例化装置14用于根据用户输入的所述工作流模板的配置参数,将所述工作流模板进行实例化。

在该实施例中,工作流模板实例化装置14根据用户输入的所述工作流模板的配置参数,将所述工作流模板进行实例化,具体地,用户输入的所述工作流模板的配置参数,一般地包括工作流模板中各个节点对应的参数,也即其中的第一执行节点、第二执行节点等节点所对应的参数。进一步地,该设备1根据工作流模板的节点信息及该节点信息对应的配置参数信息,生成与该节点对应的实例节点,以使所述工作流模板实例化。其中,具体生成与该节点对应的实例节点的个数,需要根据用户输入的该节点的配置参数信息确定,配置参数信息一般包括参数的类型,及该参数对应的节点是否具有迭代性等信息。如图8-1及图8-2所示,根据工作流模板及该模板中各节点对应的配置参数信息,使该工作流模板进行实例化。

参图2所示,更优选地,所述工作流模板实例化装置14包括用于根据用户输入的所述工作流模板配置参数,生成与所述工作流模板中第一执行节点及第二执行节点对应的实例节点的单元;用于遍历所述工作流模板中的第一执行节点及第二执行节点,生成与所述工作流模板对应的工作流实例的单元。

在该实施例中,具体地,用户输入的所述工作流模板的配置参数,一般地包括工作流模板中各个节点对应的参数,也即其中的第一执行节点、第二执行节点等节点所对应的参数,并且,该配置参数为根据用户输入的对应于业务处理工作流模板的参数,并不是所有的节点都具有参数,也不是每个节点只能够对应一个参数。进一步地,该设备1根据工作流模板的节点信息及该节点信息对应的配置参数信息,生成与该节点对应的实例节点,以使所述工作流模板实例化。其中,具体生成与该节点对应的实例节点的个数,需要根据用户输入的该节点的配置参数信息确定,配置参数信息一般包括参数的类型,及该参数对应的节点是否具有迭代性等信息。

继续在该实施例中,具体地,工作流模板实例化装置14中的所述单元遍历工作流模板中所有节点(具体包括第一执行节点第二执行节点等),根据用户输入的每个节点对应的配置参数信息,将每个节点生成对应的实例节点,其中配置参数信息一般包括参数的类型,及该参数对应的节点是否具有迭代性等信息。更进一步地,可通过一个节点的配置参数信息中,表明该节点迭代性的迭代次数信息,确定该节点生成的实例节点个数。工作流模板实例化装置14中的所述单元如此遍历完整个工作流模板中的所有节点,便生成该工作流模板对应的工作流实例。如图8-1及图8-2所示,根据工作流模板及该模板中各节点对应的配置参数信息,使该工作流模板进行实例化。

如图2所示,更优选地,该设备还包括工作流实例执行装置15,该工作流实例执行装置15用于执行所述工作流实例。

在该实施例中,工作流实例执行装置15执行所述工作流实例,具体地,工作流实例执行装置15根据第一执行节点的配置参数信息,执行该节点对应的操作步骤,其中该第一执行节点为,分解装置11分解的第一执行节点中与第二执行节点具有依赖关系,或者并发执行关系的第一执行节点。工作流实例执行装置15根据用户输入的配置参数信息,顺序执行顺序控制节点对应的列表中的每个第一执行节点,进一步地,顺序执行所述每个第一执行节点对 应的操作步骤。工作流实例执行装置15根据用户输入的配置参数信息,并发执行并发控制节点对应的树中的每个第一执行节点,进一步地,并发执行所述每个第一执行节点对应的操作步骤。如图8-2所示,为工作流实例化后的实例节点结构图,每个实例节点对应工作流业务操作的基本步骤,需要执行图8-2中的所有实例节点对应的基本操作步骤,以实现整个工作流的业务操作。

参图2所示,更更优选地,所述工作流实例执行装置15用于根据所述工作流模板的数据结构信息,执行所述工作流实例。

在该实施例中,所述工作流实例执行装置15根据所述工作流模板的数据结构信息,执行所述工作流实例,具体地,工作流实例执行装置15执行工作流模板中的不同数据结构对应的第一执行节点其结果会产生不同,进一步地,工作流实例执行装置15需要执行的步骤操作包括第一执行节点、顺序控制节点对应的第一执行节点、并发控制节点对应的第一执行节点分别对应的基本操作步骤。例如,在根据第一执行节点的配置参数信息,执行该节点对应的操作步骤时(其中该第一执行节点为,分解装置11分解的第一执行节点中与第二执行节点具有依赖关系,或者并发执行关系的第一执行节点),若执行失败,可根据该节点的配置参数信息决定是否重试、发出相关报警信号等操作。

继续在该实施例中,工作流实例执行装置15根据用户输入的配置参数信息,顺序执行顺序控制节点对应的列表中的每个第一执行节点对应的操作步骤时,若其中的某个第一执行节点对应的操作步骤失败,则停止执行,并标记该第一顺序执行节点对应的整个列表执行失败。工作流实例执行装置15根据用户输入的配置参数信息,并发执行并发控制节点对应的树中的每个第一执行节点对应的操作步骤时,若其中的所有第一执行节点对应的操作步骤均成功,则该并发控制节点对应的树执行成功,否则执行失败的第一执行节点所在的树执行失败,如此执行整个多层树。

与现有技术相比,本申请通过将工作流记录分解为多个第一执行节点,根据所述多个第一执行节点之间的执行顺序信息,确定对应的多个第二执行 节点,根据所述多个第二执行节点之间的执行顺序关系,确定对应的工作流模板;从而支持工作流程复用,简化数据处理操作,并改善用户使用体验。而且,本申请还可以对多个第二执行节点进一步处理,获得具有更高扩展性的工作流模板,从而应对更复杂的数据处理要求并进一步提高数据处理效率。此外,本申请还可以依据该工作流模板生成工作流实例,从而提供工作效率,改善用户使用体验;而且,还通过执行工作流实例,提高处理效率,并降低了对操作人员经验的依赖性,适应大数据时代处理业务的需求,尤其是大数据运维,通过本申请建立的运维工作流模板,可以标准化的完成操作,不会出现纰漏,而且可以尽量减少变更需要的时间。

现有技术的实践中,当在非常复杂的变更和发布系统中,人变得不可信赖,目前常见的大数据产品中都包含运维平台,但是这些平台需要有经验的人员去参与运维,只是形式化地帮助运维人员执行他们定义好的步骤,没有经验的留存,无法为其他并不熟悉该系统的运维人员操作。而本申请提供的工作流模板应用在上述系统的运维方面,能够解决现有技术中的相应问题。

如图3所示,展示了本申请的一种用于确定工作流模板的方法流程图,该方法包括:

S1将工作流记录分解为多个第一执行节点;

S2根据所述多个第一执行节点之间的执行顺序信息,确定对应的多个第二执行节点;

S3根据所述多个第二执行节点之间的执行顺序关系,确定对应的工作流模板。

本领域技术人员应能理解,在具体的方案实施中,所述第一执行节点可包括业务处理操作中的基本操作步骤,例如,大数据平台运维操作中对应的基本操作步骤;所述第二执行节点可包括所述步骤S1分解获得的第一执行节点中,需要按照顺序执行的多个第一执行节点组成的列表节点,也可包括其中可并发执行的多个第一执行节点组成的树根节点,还可包括其中未被所述 列表节点及树节点包含的第一执行节点。为表述方便,我们将在实施例中对第一执行节点与业务处理操作中的基本操作步骤、第二执行节点与所述列表节点或树根节点或第一执行节点分别进行互换使用。

在该实施例中,步骤S1将工作流记录分解为多个第一执行节点。其中工作流记录,即业务操作中包括的模式化的步骤、流程等,例如,计算机系统的运维操作步骤、流程。其中第一执行节点为业务操作中的基本操作步骤,例如,远程执行命令、远程执行脚本、推送配置文件、开关警报等。具体地,步骤S1中将工作流记录分解为多个第一执行节点的方式不做限制,可通过根据用户输入的配置文件,实现将工作流记录分解为多个第一执行节点的目的,使业务操作中的步骤的格式进行统一拆分,以备后续建立工作流模板时使用。

继续在该实施例中,步骤S2根据所述多个第一执行节点之间的执行顺序信息,确定对应的多个第二执行节点。具体地,将前述步骤S1分解的第一执行节点,按照这些第一执行节点间的执行顺序信息,进行组合,进一步地,可将需要按照前后顺序执行的第一执行节点进行组合,并确定组合后对应的第二执行节点信息,如图5所示,其中的第一执行节点1、2、3为需要顺序执行的节点,节点L1为该组合的第二执行节点;也可将需要并发执行的第一执行节点进行组合,并确定组合后对应的第二执行节点信息,如图6所示,其中的第一执行节点4、5、6为可并发执行的节点,节点T1为该组合的第二执行节点。其中的第二执行节点信息包括对应组合中的第一执行节点相关信息,例如,如图5所示,其中第二执行节点L1包括了第一执行节点为1、2、3共三个节点,该组合为顺序执行等信息。其中第一执行节点的执行顺序信息,需要根据实际执行用户业务的需求而定,并不限于上述的顺序、并发执行顺序信息。另外,需要指出的是,步骤S2中根据执行用户业务的需要进行第二执行节点的确定,并不必然将所有的第一执行节点均确定在第二执行节点对应的组合中。

继续在该实施例中,步骤S3根据所述多个第二执行节点之间的执行顺序关系,确定对应的工作流模板,具体地,将前述步骤S2确定的第二执行节点, 按照这些第二执行节点间的执行顺序信息,进行组合形成工作流模板,进一步地,可将需要按照前后顺序执行,及并发执行等执行顺序的第二执行节点进行组合,以确定该业务操作对应的工作流模板。具体地,该工作流模板中的第二执行节点包括步骤S2确定的第二执行节点,及未被步骤S2确定的第二执行节点所涵盖的第一执行节点;也即,步骤S1分解的第一执行节点没有完全被步骤S2用于组合对应的第二执行节点的情况,如图7所示,第一执行节点10未被步骤S2用于组合对应的第二执行节点,所述第一执行节点10与第二执行节点T1为并发执行关系,此时第一执行节点10便为第二执行节点。

优选地,所述第二执行节点包括以下至少任一项:

所述第一执行节点;

包含多个顺序执行的所述第一执行节点的顺序控制节点;

包含多个可并发执行的所述第一执行节点的并发控制节点。

在该实施例中,第二执行节点可以为第一执行节点,具体地,是指步骤S1分解获得的业务处理基本步骤对应的第一执行节点,并未被步骤S2全部组合至前述实施例中的第二执行节点对应的组合中的情况。进一步地,第二执行节点可以为不需要与其它第一执行节点按照前后、并发等顺序执行的第一执行节点,也即业务处理的过程中,有些第一执行节点对应的基本步骤不需要与其它基本步骤具有执行顺序关系。更进一步地,这些第一执行节点与其它第一执行节点没有执行顺序关系,而是需要与其它第二执行节点按照前后、并发等顺序进行执行。例如,如图7所示,第一执行节点10未被步骤S2用于组合对应的第二执行节点,所述第一执行节点10与第二执行节点T1为并发执行关系,此时第一执行节点10便为第二执行节点。

继续在该实施例中,第二执行节点可以为包含多个顺序执行的所述第一执行节点的顺序控制节点,具体地,多个第一执行节点为顺序执行关系时,也即业务处理过程中多个第一执行节点对应的步骤必须按照严格的先后顺序进行执行时,它们便组合成一个列表,该列表的控制节点便为顺序控制节点,所述顺序控制节点存储该列表的信息,一般包括执行顺序信息、步骤操作信 息、包括的第一执行节点相关信息等,该顺序控制节点代表该列表,例如,如图5所示,其中的第一执行节点1、2、3为需要顺序执行的节点,节点L1为该组合对应的列表的顺序控制节点,代表该列表。

继续在该实施例中,第二执行节点可以为包含多个可并发执行的所述第一执行节点的并发控制节点,具体地,多个第一执行节点为并发执行关系时,也即业务处理过程中多个第一执行节点对应的步骤需要并发执行时,它们便组合成一个树,该树的树根便为该树的控制节点,也即并发控制节点,所述并发控制节点存储该树的信息,一般包括执行顺序信息、步骤操作信息、包括的第一执行节点相关信息等。例如,当执行某命令与执行某脚本为并发执行的第一执行节点对应的基本操作步骤时,二者便可形成一个树,树根为该树的控制节点,设置有二者的执行关系、二者操作步骤信息等。例如,如图6所示,其中的第一执行节点4、5、6为可并发执行的节点,节点T1为该组合对应的树的并发控制节点,代表该树。

更优选地,所述第二执行节点包括包含多个顺序执行的所述第一执行节点的顺序控制节点;

其中,所述S2包括:

S21(未示出)确定顺序执行的多个所述第一执行节点;

S22(未示出)根据所述顺序执行的多个第一执行节点,生成对应的顺序控制节点,其中,该顺序控制节点包括所述顺序执行的多个第一执行节点。

该实施例主要针对第二执行节点为包含顺序执行的多个所述第一执行节点对应的顺序控制节点的情况,具体地,顺序控制节点的确定方式及过程可以为:首先,步骤S21确定多个顺序执行的所述第一执行节点。具体地,在步骤S1分解获得的第一执行节点中,可以根据用户输入的配置文件信息,查找或者计算分析出需要顺序执行的第一执行节点;也可以根据预设的规则确定需要顺序执行的第一执行节点;具体的确定方式及查找依据不做限制。

其次,步骤S22根据所述顺序执行的多个第一执行节点,生成对应的顺序控制节点,其中,该顺序控制节点包括所述顺序执行的多个第一执行节点, 具体地,生成对应的顺序控制节点的方式,可以为根据业务处理的需要或用户输入的配置文件,将步骤S1中分解的所有顺序执行的第一执行节点生成一个列表,该列表的控制节点即为顺序控制节点;也可以为根据业务处理的需要或者用户输入的配置文件,将步骤S1中分解的第一执行节点中,需要顺序执行的多个第一执行节点生成对应的多个顺序控制节点,每个顺序控制节点对应一组需要顺序执行的多个第一执行节点,例如,若步骤S1将业务操作步骤分解为15个第一执行节点,其中每5个第一执行节点需要顺序执行,那么便产生3个顺序控制节点,每个顺序控制节点包括5个需要顺序执行的第一执行节点。

更优选地,所述第二执行节点包括包含多个可并发执行的所述第一执行节点的并发控制节点;

其中,所述步骤S2包括:

S23(未示出)确定可并发执行的多个所述第一执行节点;

S24(未示出)根据所述可并发执行的多个第一执行节点,生成对应的并发控制节点,其中,该并发控制节点包括所述可并发执行的多个第一执行节点。

该实施例主要针对第二执行节点为包含可并发执行的多个所述第一执行节点对应的并发控制节点的情况,具体地,并发控制节点的确定方式及过程可以为:首先,步骤S23确定可并发执行的多个所述第一执行节点。具体地,在步骤S1分解获得的第一执行节点中,可以根据用户输入的配置文件,查找或者分析计算出需要并发执行的多个第一执行节点;也可以根据预设的规则确定需要并发执行的第一执行节点;确定可并发执行的多个所述第一执行节点的具体方式及具体确定依据不做限制。

其次,步骤S24根据所述可并发执行的多个第一执行节点,生成对应的并发控制节点,其中,该并发控制节点包括所述可并发执行的多个第一执行节点,具体地,生成对应的并发控制节点的方式,可以为根据业务处理的需要或用户输入的配置文件,将步骤S1分解的所有并发执行的第一执行节点生 成一个树,该树的控制节点即为并发控制节点;也可以为根据业务处理的需要或者用户输入的配置文件,将步骤S1分解的第一执行节点中,可并发执行的多个第一执行节点生成对应的多个并发控制节点,每个并发控制节点对应一组可并发执行的第一执行节点,例如,若步骤S1将业务操作步骤分解为15个第一执行节点,其中每5个第一执行节点可并发执行,那么便产生3个并发控制节点,每个并发控制节点包括5个可并发执行的第一执行节点。

另外,本申请中的步骤S2也可同时包括上述步骤S21、步骤S22、步骤S23及步骤S24。本领域的技术人员应当能够理解,本申请中的第二执行节点可同时包含顺序执行的多个所述第一执行节点对应的顺序控制节点,及可并发执行的多个所述第一执行节点对应的并发控制节点,故本申请中的步骤S2同时包括上述步骤S21、步骤S22、步骤S23及步骤S24的方案也在本申请的保护范围之内。

优选地,所述步骤S2还包括:

当检测到所述多个第一执行节点构成回路时,启动报错机制。

在该实施例中,当检测到所述多个第一执行节点构成回路时,启动报错机制,该实施例主要针对步骤S2中根据所述多个第一执行节点之间的执行顺序信息,确定对应的多个第二执行节点的过程中,第一执行节点形成回路的情况。具体地,检测的方式,可以为遍历需要顺序执行的第一执行节点,同时记录每个需要顺序执行的第一节点的已依赖节点,当检测到下一个第一执行节点为之前已依赖的第一执行节点之一时,则判定该顺序执行的第一执行节点中存在回路,其中的已依赖节点为顺序执行节点中已经排入顺序的节点,例如,节点1、节点2、节点3为顺序执行节点,节点1执行完毕执行节点2,接着执行节点3,那么节点1为节点2的依赖节点,节点2为节点3的依赖节点,节点1和节点2均为已依赖节点。

继续在该实施例中,由于若顺序执行列表中存在回路,便陷入执行的死循环,使业务操作无法顺序进行执行。故,当检测出顺序执行的列表中存在回路时,需要启动报错机制,通知用户或者相关设备,并发出报错的信号, 具体地,报错机制可以为发出报警信号,也可以为自动停止,并显示错误信息,本领域的技术人员应当能够理解具体的报错方式等不做限制,只要能够满足使用户或者相关操作设备、人员等获得该错误信息即可。

优选地,所述步骤S3包括:

S31(未示出)根据所述多个第二执行节点之间的执行顺序关系,确定所述多个第二执行节点之间的依赖关系;

S32(未示出)根据所述多个第二执行节点之间的依赖关系,确定对应的工作流模板。

该实施例主要针对业务操作对应的工作流模板中包括需要顺序执行的第二执行节点的情况。在该实施例中,步骤S31根据所述多个第二执行节点之间的执行顺序关系,确定所述多个第二执行节点之间的依赖关系,具体地,根据步骤S2确定的第二执行节点,按照这些第二执行节点的执行顺序信息,确定所述第二执行节点之间的依赖关系,其中的依赖关系也即顺序执行关系。进一步地,根据业务处理需要、用户输入的业务操作对应的配置文件或者预设执行规则等信息,查找需要顺序执行的第二执行节点,这些第二执行节点间的执行关系便为依赖关系。

继续在该实施例中,步骤S32根据所述多个第二执行节点之间的依赖关系,确定对应的工作流模板。具体地,步骤S3将前述步骤S2中确定的第二执行节点,按照这些第二执行节点间的依赖关系,进行组合形成工作流模板,进一步地,可将需要按照前后顺序执行的第二执行节点形成工作流模板,其中的第二执行节点可以为第一执行节点、顺序控制节点或者并发控制节点至少其一。如图7所示,其中的节点10便为同时是第一执行节点和第二执行节点的情况。

更优选地,所述步骤S3还包括:

根据所述多个第二执行节点之间的执行顺序关系,确定所述多个第二执行节点之间的并发合并执行关系。

本领域技术人员应能理解,在具体的方案实施中,所述第三执行节点可 包括需要并发执行的第二执行节点组成的新的树根节点。为表述方便,我们将在实施例中对第三执行节点与新的树根结点进行互换使用。

该实施例主要针对业务操作对应的工作流模板中还包括需要并发执行的第二执行节点的情况。在该实施例中,根据所述多个第二执行节点之间的执行顺序关系,确定所述多个第二执行节点之间的并发合并执行关系,具体地,根据业务处理需要、用户输入的业务操作对应的配置文件或者预设执行规则等信息,查找需要并发执行的第二执行节点,这些第二执行节点间的执行关系便为并发合并执行关系。步骤S3将前述步骤S2中确定的第二执行节点,按照这些第二执行节点间的依赖关系、并发合并执行关系,进行组合形成工作流模板。

另外,在该实施例中,需要并发执行的第二执行节点并发合并成新的树,并形成该树的新的控制节点,该新的控制节点可以称为第三执行节点,以此类推,以便将模式化业务处理过程中的操作步骤分级别、按顺序、有条不紊地执行。如图7所示,其中的第二执行节点T1与第二执行节点T2可并发执行,形成新的控制节点R1,即第三执行节点。

如图4所示,优选地,所述方法还包括:

S4根据用户输入的所述工作流模板的配置参数,将所述工作流模板进行实例化。

在该实施例中,步骤S4根据用户输入的所述工作流模板的配置参数,将所述工作流模板进行实例化,具体地,用户输入的所述工作流模板的配置参数,一般地包括工作流模板中各个节点对应的参数,也即其中的第一执行节点、第二执行节点等节点所对应的参数。进一步地,该方法根据工作流模板的节点信息及该节点信息对应的配置参数信息,生成与该节点对应的实例节点,以使所述工作流模板实例化。其中,具体生成与该节点对应的实例节点的个数,需要根据用户输入的该节点的配置参数信息确定,配置参数信息一般包括参数的类型,及该参数对应的节点是否具有迭代性等信息。如图8-1及图8-2所示,根据工作流模板及该模板中各节点对应的配置参数信息,使 该工作流模板进行实例化。

更优选地,所述步骤S4包括:

S41(未示出)根据用户输入的所述工作流模板配置参数,生成与所述工作流模板中第一执行节点及第二执行节点对应的实例节点;

S42(未示出)遍历所述工作流模板中的第一执行节点及第二执行节点,生成与所述工作流模板对应的工作流实例。

在该实施例中,步骤S41根据用户输入的所述工作流模板配置参数,生成与所述工作流模板中第一执行节点及第二执行节点对应的实例节点,具体地,用户输入的所述工作流模板的配置参数,一般地包括工作流模板中各个节点对应的参数,也即其中的第一执行节点、第二执行节点等节点所对应的参数,并且,该配置参数为根据用户输入的对应于业务处理工作流模板的参数,并不是所有的节点都具有参数,也不是每个节点只能够对应一个参数。进一步地,该方法根据工作流模板的节点信息及该节点信息对应的配置参数信息,生成与该节点对应的实例节点,以使所述工作流模板实例化。其中,具体生成与该节点对应的实例节点的个数,需要根据用户输入的该节点的配置参数信息确定,配置参数信息一般包括参数的类型,及该参数对应的节点是否具有迭代性等信息。

继续在该实施例中,步骤S42遍历所述工作流模板中的第一执行节点及第二执行节点,生成与所述工作流模板对应的工作流实例,具体地,遍历工作流模板中所有节点(具体包括第一执行节点第二执行节点等),根据用户输入的每个节点对应的配置参数信息,将每个节点生成对应的实例节点,其中配置参数信息一般包括参数的类型,及该参数对应的节点是否具有迭代性等信息。更进一步地,可通过一个节点的配置参数信息中,表明该节点迭代性的迭代次数信息,确定该节点生成的实例节点个数。如此遍历完整个工作流模板中的所有节点,便生成该工作流模板对应的工作流实例。如图8-1及图8-2所示,根据工作流模板及该模板中各节点对应的配置参数信息,使该工作流模板进行实例化。

如图4所示,更优选地,该方法还包括:

S5执行所述工作流实例。

在该实施例中,步骤S5执行所述工作流实例,具体地,根据第一执行节点的配置参数信息,执行该节点对应的操作步骤,其中该第一执行节点为,步骤S1中分解的第一执行节点中与第二执行节点具有依赖关系,或者并发执行关系的第一执行节点。根据用户输入的配置参数信息,顺序执行顺序控制节点对应的列表中的每个第一执行节点,进一步地,顺序执行所述每个第一执行节点对应的操作步骤。根据用户输入的配置参数信息,并发执行并发控制节点对应的树中的每个第一执行节点,进一步地,并发执行所述每个第一执行节点对应的操作步骤。如图8-2所示,为工作流实例化后的实例节点结构图,每个实例节点对应工作流业务操作的基本步骤,需要执行图8-2中的所有实例节点对应的基本操作步骤,以实现整个工作流的业务操作。

参图4所示,更更优选地,所述步骤S5包括:

根据所述工作流模板的数据结构信息,执行所述工作流实例。

在该实施例中,所述步骤S5根据所述工作流模板的数据结构信息,执行所述工作流实例,具体地,执行工作流模板中的不同数据结构对应的第一执行节点其结果会产生不同,进一步地,步骤S5需要执行的步骤操作包括第一执行节点、顺序控制节点对应的第一执行节点、并发控制节点对应的第一执行节点分别对应的基本操作步骤。例如,在根据第一执行节点的配置参数信息,执行该节点对应的操作步骤时(其中该第一执行节点为,步骤S1分解的第一执行节点中与第二执行节点具有依赖关系,或者并发执行关系的第一执行节点),若执行失败,可根据该节点的配置参数信息决定是否重试、发出相关报警信号等操作。

继续在该实施例中,步骤S5中根据用户输入的配置参数信息,顺序执行顺序控制节点对应的列表中的每个第一执行节点对应的操作步骤时,若其中的某个第一执行节点对应的操作步骤失败,则停止执行,并标记该第一顺序执行节点对应的整个列表执行失败。根据用户输入的配置参数信息,并发执 行并发控制节点对应的树中的每个第一执行节点对应的操作步骤时,若其中的所有第一执行节点对应的操作步骤均成功,则该并发控制节点对应的树执行成功,否则执行失败的第一执行节点所在的树执行失败,如此执行整个多层树。

与现有技术相比,本申请通过将工作流记录分解为多个第一执行节点,根据所述多个第一执行节点之间的执行顺序信息,确定对应的多个第二执行节点,根据所述多个第二执行节点之间的执行顺序关系,确定对应的工作流模板;从而支持工作流程复用,简化数据处理操作,并改善用户使用体验。而且,本申请还可以对多个第二执行节点进一步处理,获得具有更高扩展性的工作流模板,从而应对更复杂的数据处理要求并进一步提高数据处理效率。此外,本申请还可以依据该工作流模板生成工作流实例,从而提供工作效率,改善用户使用体验;而且,还通过执行工作流实例,提高处理效率,并降低了对操作人员经验的依赖性,适应大数据时代处理业务的需求,尤其是大数据运维,通过本申请建立的运维工作流模板,可以标准化的完成操作,不会出现纰漏,而且可以尽量减少变更需要的时间。

现有技术的实践中,当在非常复杂的变更和发布系统中,人变得不可信赖,目前常见的大数据产品中都包含运维平台,但是这些平台需要有经验的人员去参与运维,只是形式化地帮助运维人员执行他们定义好的步骤,没有经验的留存,无法为其他并不熟悉该系统的运维人员操作。而本申请提供的工作流模板应用在上述系统的运维方面,能够解决现有技术中的相应问题。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要 求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

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