CN110928660B - 一种基于工作流技术的排障任务管理方法及装置 - Google Patents
一种基于工作流技术的排障任务管理方法及装置 Download PDFInfo
- Publication number
- CN110928660B CN110928660B CN201911149201.7A CN201911149201A CN110928660B CN 110928660 B CN110928660 B CN 110928660B CN 201911149201 A CN201911149201 A CN 201911149201A CN 110928660 B CN110928660 B CN 110928660B
- Authority
- CN
- China
- Prior art keywords
- workflow
- node
- nodes
- target
- variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
Abstract
本申请提供了一种基于工作流技术的排障任务管理方法及装置,方法包括:获取工作流编辑界面中编辑的多个工作流结点及多个工作流结点的执行顺序,工作流结点用于表征目标排障任务中的排障步骤,且不同的工作流结点表征的排障步骤不同;按照多个工作流结点的执行顺序,将多个工作流结点组合为工作流文件,工作流文件在被执行时,用于执行目标排障任务。在本申请中,通过以上方式可以提高排障程序更新的灵活性。
Description
技术领域
本申请涉及软件设计技术领域,特别涉及一种基于工作流技术的排障任务管理方法及装置。
背景技术
在生产或应用过程中,一般需要对基础设施(如,数据中心的IT基础设施)进行监测及根据监测结果排除故障。其中,排除故障的操作多依靠排障程序自动执行。
排障程序更新的灵活性,更有利于适应新的故障排除要求。但是,如何提高排障程序更新的灵活性成为问题。
发明内容
为解决上述技术问题,本申请实施例提供一种基于工作流技术的排障任务管理方法及装置,以达到提高排障程序更新的灵活性的目的,技术方案如下:
一种基于工作流技术的排障任务管理方法,包括:
获取工作流编辑界面中编辑的多个工作流结点及多个所述工作流结点的执行顺序,所述工作流结点用于表征目标排障任务中的排障步骤,且不同的工作流结点表征的排障步骤不同;
按照多个所述工作流结点的执行顺序,将多个所述工作流结点组合为工作流文件,所述工作流文件在被执行时,用于执行所述目标排障任务。
优选的,所述工作流编辑界面中编辑所述工作流结点的过程,包括:
在所述工作流编辑界面接收到用户针对服务任务结点的编辑指令时,在所述工作流编辑界面展示服务任务结点可使用的程序信息,所述服务任务结点为用于表征某一种排障步骤的工作流结点;
在接收到用户针对所述服务任务结点可使用的程序信息输入的程序信息选择指令时,将所述程序信息选择指令对应的程序信息保存为所述服务任务结点待使用的程序信息。
优选的,所述工作流编辑界面中编辑所述工作流结点的过程,包括:
在所述工作流编辑界面接收到用户针对目标工作流结点的编辑指令时,获取所述目标工作流结点所消费的变量及生产的变量;
将包含所述目标工作流结点所消费的变量的信息推送至所述目标工作流结点的上游结点;
将包含有所述目标工作流结点生产的变量的信息推送至所述目标工作流结点的下游结点。
优选的,所述方法还包括:
将所述工作流文件解析为包括工作流结点及有向边的有向有环图;
将所述有向有环图去环,得到有向无环图;
对所述有向无环图中的工作流结点进行拓扑排序,得到拓扑排序结果;
获取所述有向有环图中各个工作流结点的输入变量和输出变量;
根据所述拓扑排序结果及各个所述工作流结点的输入变量和输出变量,判断是否各个所述工作流结点是否存在输入变量缺失;
若某一个工作流结点或多个工作流结点存在输入变量缺失,则确定针对所述工作流文件的校验不通过;
若全部工作流结点均不存在输入变量缺失,则确定针对所述工作流文件的校验通过。
优选的,所述获取所述有向有环图中各个工作流结点的输入变量和输出变量,包括:
若所述工作流结点为开始结点或用户任务结点,则从所述工作流结点的表单属性中获取输入变量和输出变量;
若所述工作流结点为网关结点,则从所述工作流结点的判断表达式中获取输入变量和输出变量;
若所述工作流结点为服务任务结点,则从所述工作流结点所调用的实现类中获取输入变量和输出变量。
一种基于工作流技术的排障任务管理装置,包括:
获取模块,用于获取工作流编辑界面中编辑的多个工作流结点及多个所述工作流结点的执行顺序,所述工作流结点用于表征目标排障任务中的排障步骤,且不同的工作流结点表征的排障步骤不同;
组合模块,用于按照多个所述工作流结点的执行顺序,将多个所述工作流结点组合为工作流文件,所述工作流文件在被执行时,用于执行所述目标排障任务。
优选的,所述装置还包括:
第一编辑模块,用于:
在所述工作流编辑界面接收到用户针对服务任务结点的编辑指令时,在所述工作流编辑界面展示服务任务结点可使用的程序信息,所述服务任务结点为用于表征某一种排障步骤的工作流结点;
在接收到用户针对所述服务任务结点可使用的程序信息输入的程序信息选择指令时,将所述程序信息选择指令对应的程序信息保存为所述服务任务结点待使用的程序信息。
优选的,所述装置还包括:
第二编辑模块,用于:
在所述工作流编辑界面接收到用户针对目标工作流结点的编辑指令时,获取所述目标工作流结点所消费的变量及生产的变量;
将包含所述目标工作流结点所消费的变量的信息推送至所述目标工作流结点的上游结点;
将包含有所述目标工作流结点生产的变量的信息推送至所述目标工作流结点的下游结点。
优选的,所述装置还包括:
校验模块,用于:
将所述工作流文件解析为包括工作流结点及有向边的有向有环图;
将所述有向有环图去环,得到有向无环图;
对所述有向无环图中的工作流结点进行拓扑排序,得到拓扑排序结果;
获取所述有向有环图中各个工作流结点的输入变量和输出变量;
根据所述拓扑排序结果及各个所述工作流结点的输入变量和输出变量,判断是否各个所述工作流结点是否存在输入变量缺失;
若某一个工作流结点或多个工作流结点存在输入变量缺失,则确定针对所述工作流文件的校验不通过;
若全部工作流结点均不存在输入变量缺失,则确定针对所述工作流文件的校验通过。
优选的,所述校验模块具体用于:
若所述工作流结点为开始结点或用户任务结点,则从所述工作流结点的表单属性中获取输入变量和输出变量;
若所述工作流结点为网关结点,则从所述工作流结点的判断表达式中获取输入变量和输出变量;
若所述工作流结点为服务任务结点,则从所述工作流结点所调用的实现类中获取输入变量和输出变量。
与现有技术相比,本申请的有益效果为:
在本申请中,通过获取工作流编辑界面中编辑的多个工作流结点及多个所述工作流结点的执行顺序,及按照多个所述工作流结点的执行顺序,将多个所述工作流结点组合为工作流文件,所述工作流文件在被执行时,用于执行所述目标排障任务,以工作流文件的形式实现排障程序。由于工作流文件的更新更灵活,因此可以提高排障程序更新的灵活性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种基于工作流技术的排障任务管理方法的流程图;
图2是本申请提供的另一种基于工作流技术的排障任务管理方法的流程图;
图3是本申请提供的再一种基于工作流技术的排障任务管理方法的流程图;
图4是本申请提供的再一种基于工作流技术的排障任务管理方法的流程图;
图5是本申请提供的一种基于工作流技术的排障任务管理装置的逻辑结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种基于工作流技术的排障任务管理方法,包括:获取工作流编辑界面中编辑的多个工作流结点及多个所述工作流结点的执行顺序,所述工作流结点用于表征目标排障任务中的排障步骤,且不同的工作流结点表征的排障步骤不同;按照多个所述工作流结点的执行顺序,将多个所述工作流结点组合为工作流文件,所述工作流文件在被执行时,用于执行所述目标排障任务。在本申请中,可以提高排障程序更新的灵活性。
如图1所示的,为本申请提供的一种基于工作流技术的排障任务管理方法实施例1的流程图,该方法包括以下步骤:
步骤S11、获取工作流编辑界面中编辑的多个工作流结点及多个所述工作流结点的执行顺序,所述工作流结点用于表征目标排障任务中的排障步骤,且不同的工作流结点表征的排障步骤不同。
本实施例中,可以提供工作流编辑界面,由运维人员在工作流编辑界面中编辑工作流结点。优选的,工作流编辑界面可以为Activiti的编辑界面。A ctiviti是一个开源工作流软件,基于BPMN2.0协议,提供了从工作流引擎、工作流所见即所得编辑器、流程从建立到部署及执行、工作流参与人员权限管理等功能。
编辑工作流结点可以理解为:在工作流编辑界面选取结点、拖放结点、联结结点或修改结点属性等过程。
需要说明的是,在联结结点时,结点之间的执行顺序随之确定。
其中,在工作流编辑界面可以编辑的工作流结点的类型可以包括:开始结点、结束结点、网关结点、用户任务结点和服务任务结点。
开始结点用于标识一个流程的入口、可以接收参数;
结束结点用于标识流程的正常终止;
网关结点用于实现条件判断、流程分支、流程合并等流程控制任务;
用户任务结点用于实现工作流执行时与用户的交互点,例如提示用户输入参数;
服务任务结点用于调用预先写好的程序,完成某一项排除故障步骤。
本实施例中,目标排除故障任务可以为但不局限于:对数据中心的IT 基础设施(如,软件、硬件、网络等)进行故障排除的任务。
步骤S12、按照多个所述工作流结点的执行顺序,将多个所述工作流结点组合为工作流文件,所述工作流文件在被执行时,用于执行所述目标排障任务。
按照多个所述工作流结点的执行顺序,将多个所述工作流结点组合为工作流文件,完成以工作流文件的形式实现排障程序。
在本申请中,通过获取工作流编辑界面中编辑的多个工作流结点及多个所述工作流结点的执行顺序,及按照多个所述工作流结点的执行顺序,将多个所述工作流结点组合为工作流文件,所述工作流文件在被执行时,用于执行所述目标排障任务,以工作流文件的形式实现排障程序。由于工作流文件的更新更灵活,因此可以提高排障程序更新的灵活性。
作为本申请另一可选实施例,参照图2,为本申请提供的一种基于工作流技术的排障任务管理方法实施例2的流程示意图,本实施例主要是对上述实施例1描述的基于工作流技术的排障任务管理方法的扩展方案,如图2所示,该方法可以包括但并不局限于以下步骤:
步骤S21、在所述工作流编辑界面接收到用户针对服务任务结点的编辑指令时,在所述工作流编辑界面展示服务任务结点可使用的程序信息,所述服务任务结点为用于表征某一种排障步骤的工作流结点。
服务任务结点可使用的程序信息可以包括:程序的类名、输入变量、输出变量及分类。
在所述工作流编辑界面展示服务任务结点可使用的程序信息可以包括但不局限于:在所述工作流编辑界面以对话框的形式展示服务任务结点可使用的程序信息。
步骤S22、在接收到用户针对所述服务任务结点可使用的程序信息输入的程序信息选择指令时,将所述程序信息选择指令对应的程序信息保存为所述服务任务结点待使用的程序信息。
程序信息选择指令,可以理解为从服务任务结点可使用的程序信息中选择一个或多个程序信息的指令。
将所述程序信息选择指令对应的程序信息保存为所述服务任务结点待使用的程序信息,以便在组合成工作流文件时,可以一并将服务任务结点待使用的程序信息组合到工作流文件中,以保证服务任务结点正常执行排障步骤。
步骤S21-S22可以理解为在工作流编辑界面中编辑任意一个工作流结点的过程。
当然,在工作流编辑界面中编辑各个服务任务结点的过程均可以参见步骤S21-S22介绍的过程。
步骤S23、获取工作流编辑界面中编辑的多个工作流结点及多个所述工作流结点的执行顺序,所述工作流结点用于表征目标排障任务中的排障步骤,且不同的工作流结点表征的排障步骤不同。
步骤S24、按照多个所述工作流结点的执行顺序,将多个所述工作流结点组合为工作流文件,所述工作流文件在被执行时,用于执行所述目标排障任务。
步骤S23-S24的详细过程可以参见实施例1中步骤S11-S12的相关介绍,在此不再赘述。
作为本申请另一可选实施例,参照图3,为本申请提供的一种基于工作流技术的排障任务管理方法实施例3的流程示意图,本实施例主要是对上述实施例1描述的基于工作流技术的排障任务管理方法的扩展方案,如图3所示,该方法可以包括但并不局限于以下步骤:
步骤S31、在所述工作流编辑界面接收到用户针对目标工作流结点的编辑指令时,获取所述目标工作流结点所消费的变量及生产的变量。
可以理解的是,不论何种类型的工作流结点,都可以生产、消费流程中的变量。变量的生产,可以在开始结点或用户任务结点执行时由用户输入(来自流程外部),也可以由流程结点在内部处理后得到(来自流程内部),变量在生产后即进入流程内部,可供下游结点消费。比如用于与用户交互的用户任务结点,可以接收用户的输入,为流程“生产”变量;用于提供某种服务的服务任务结点,“消费”用户任务结点生产的变量,并可能生产新的变量供流程后续结点使用。
每一个工作流结点,都需要清楚地将其所消费的变量告诉上游结点,以及将其生产的变量告诉其下游结点,实现工作流结点之间的变量传递约定。大部分的基础类型的结点都可以由流程定义本身确定变量传递约定,除了服务任务结点还需要依赖所调用的程序。
每一个工作流结点,都需要清楚地将其所消费的变量告诉上游结点,以便工作流文件正常执行。如,一个”重启服务器“的排障工作流,服务器的IP 地址是重要参数。它由用户输入(或由其他途径得到),由工作流结点A存储于变量”ip_addr”中。工作流结点A的下游结点在使用时,需要知道IP地址存储的变量名是“ip_addr”。
步骤S32、将包含所述目标工作流结点所消费的变量的信息推送至所述目标工作流结点的上游结点。
将包含所述目标工作流结点所消费的变量的信息推送至所述目标工作流结点的上游结点,实现目标工作流结点与其上游结点的变量传递。
步骤S33、将包含有所述目标工作流结点生产的变量的信息推送至所述目标工作流结点的下游结点。
将包含有所述目标工作流结点生产的变量的信息推送至所述目标工作流结点的下游结点,实现目标工作流结点与其下游结点的变量传递。
步骤S31-S33可以理解为在工作流编辑界面中编辑任意一个工作流结点的过程。
当然,在工作流编辑界面中编辑各个服务任务结点的过程均可以参见步骤S31-S33介绍的过程。
步骤S34、获取工作流编辑界面中编辑的多个工作流结点及多个所述工作流结点的执行顺序,所述工作流结点用于表征目标排障任务中的排障步骤,且不同的工作流结点表征的排障步骤不同。
步骤S35、按照多个所述工作流结点的执行顺序,将多个所述工作流结点组合为工作流文件,所述工作流文件在被执行时,用于执行所述目标排障任务。
步骤S34-S35的详细过程可以参见实施例1中步骤S11-S12的相关介绍,在此不再赘述。
作为本申请另一可选实施例,参照图4,为本申请提供的一种基于工作流技术的排障任务管理方法实施例4的流程示意图,本实施例主要是对上述实施例1描述的基于工作流技术的排障任务管理方法的扩展方案,如图4所示,该方法可以包括但并不局限于以下步骤:
步骤S41、获取工作流编辑界面中编辑的多个工作流结点及多个所述工作流结点的执行顺序,所述工作流结点用于表征目标排障任务中的排障步骤,且不同的工作流结点表征的排障步骤不同。
步骤S42、按照多个所述工作流结点的执行顺序,将多个所述工作流结点组合为工作流文件,所述工作流文件在被执行时,用于执行所述目标排障任务。
步骤S41-S42的详细过程可以参见实施例1中步骤S11-S12的相关介绍,在此不再赘述。
步骤S43、将所述工作流文件解析为包括工作流结点及有向边的有向有环图。
在工作流文件生成之后,可能会存在错误,为了保证工作流文件能够顺利部署及执行,需要对工作流文件的正确性进行校验。
其中,工作流文件可能存在的错误类型包括:
1.结点间的输入输出参数不匹配;
2.工作流缺少必要的启动参数、上游结点未给下游结点必要的输入参数或计算结果;
3.编辑得到的工作流文件存在语义错误,无法部署为可执行流程。比如,结点不该存在的属性却存在了,且赋了值,如输入参数(表单属性)可以绑定到开始结点,不可以绑定到服务任务结点(ServiceTask)、终止结点;应该存在的属性却不存在或无有效值,均会导致部署失败,比如ServiceTask 中的class属性。
基于上述几种错误类型,本实施例中提供了校验的过程,具体参见步骤 S43-S48。
步骤S44、将所述有向有环图去环,得到有向无环图。
步骤S45、对所述有向无环图中的工作流结点进行拓扑排序,得到拓扑排序结果。
步骤S46、获取所述有向有环图中各个工作流结点的输入变量和输出变量。
步骤S47、根据所述拓扑排序结果及各个所述工作流结点的输入变量和输出变量,判断是否各个所述工作流结点是否存在输入变量缺失。
若某一个工作流结点或多个工作流结点存在输入变量缺失,则执行步骤S48。若全部工作流结点均不存在输入变量缺失,则执行步骤S49。
步骤S48、确定针对所述工作流文件的校验不通过。
确定针对所述工作流文件的校验不通过之后,不允许工作流文件部署和执行。
步骤S49、确定针对工作流文件的校验通过。
本实施例中,在工作流文件的校验通过之后,可以部署及执行工作流文件。其中,工作流文件的执行支持两种执行模式:交互式执行、后台执行。交互式执行是工作流的常规使用方式,此处不予讨论。下面讨论后台执行模式。
后台执行模式的技术要点主要如下:
以URL服务访问的方式调用一个工作流文件的执行;
在工作流文件启动前,提供工作流文件的所有初始参数。要求用户在调用工作流文件之前,知道需要哪些参数并提供;
工作流文件启动后不再向用户询问参数或选项,直到执行结束。这就要求工作流文件校验机制要健壮合理,保证工作流文件的流畅执行;执行的时候,也要确保健壮性,保证可以快速地处理异常。
在本申请的另一个实施例中,对实施例4中步骤S46、获取所述有向有环图中各个工作流结点的输入变量和输出变量的过程进行介绍,在介绍获取所述有向有环图中各个工作流结点的输入变量和输出变量的过程之前,首先对工作流结点的输入变量和输出变量的设计进行介绍,具体如下:
维护所有服务任务结点所使用的实现类的信息:类名、输入变量、输出变量;
服务任务结点所使用的实现类,它的输入、输出变量命名,以双下划线 (__)为前缀和后缀,以区别于其他变量;
调用工作流执行前,提供流程的初始输入参数和参数映射表。初始参数对于后台执行模式的流程来说等同于全部参数,对于交互式执行的流程仅是部分参数。参数映射表用来解决结点之间输入输出名称不一致的问题,如结点A的输出名称为__IP__,而结点A的下游结点B的输入是__input_ip__,则需要在参数映射表中指明“__input_ip_alias__=__IP__”,这样结点B在需要使用参数__input_ip__时会访问参数__IP__。
基于上述设计,获取所述有向有环图中各个工作流结点的输入变量和输出变量的过程可以包括:
A11、若所述工作流结点为开始结点或用户任务结点,则从所述工作流结点的表单属性中获取输入变量和输出变量。
表单属性可以理解为一个或多个名-值对,可以接收用户参数。
A12、若所述工作流结点为网关结点,则从所述工作流结点的判断表达式中获取输入变量和输出变量。
判断表达式可以由运维人员设定。
A13、若所述工作流结点为服务任务结点,则从所述工作流结点所调用的实现类中获取输入变量和输出变量。
实现类可以理解为服务任务结点的一个属性。具体地,运维人员在编辑服务任务结点时,会指定它的实现类。
接下来对本申请提供的基于工作流技术的排障任务管理装置进行介绍,下文介绍的基于工作流技术的排障任务管理装置与上文介绍的基于工作流技术的排障任务管理方法可相互对应参照。
请参见图5,基于工作流技术的排障任务管理装置包括:获取模块11 和组合模块12。
获取模块11,用于获取工作流编辑界面中编辑的多个工作流结点及多个所述工作流结点的执行顺序,所述工作流结点用于表征目标排障任务中的排障步骤,且不同的工作流结点表征的排障步骤不同;
组合模块12,用于按照多个所述工作流结点的执行顺序,将多个所述工作流结点组合为工作流文件,所述工作流文件在被执行时,用于执行所述目标排障任务。
本实施例中,基于工作流技术的排障任务管理装置还可以包括:
第一编辑模块,用于:
在所述工作流编辑界面接收到用户针对服务任务结点的编辑指令时,在所述工作流编辑界面展示服务任务结点可使用的程序信息,所述服务任务结点为用于表征某一种排障步骤的工作流结点;
在接收到用户针对所述服务任务结点可使用的程序信息输入的程序信息选择指令时,将所述程序信息选择指令对应的程序信息保存为所述服务任务结点待使用的程序信息。
本实施例中,基于工作流技术的排障任务管理装置还可以包括:
第二编辑模块,用于:
在所述工作流编辑界面接收到用户针对目标工作流结点的编辑指令时,获取所述目标工作流结点所消费的变量及生产的变量;
将包含所述目标工作流结点所消费的变量的信息推送至所述目标工作流结点的上游结点;
将包含有所述目标工作流结点生产的变量的信息推送至所述目标工作流结点的下游结点。
本实施例中,上述基于工作流技术的排障任务管理装置还可以包括:
校验模块,用于:
将所述工作流文件解析为包括工作流结点及有向边的有向有环图;
将所述有向有环图去环,得到有向无环图;
对所述有向无环图中的工作流结点进行拓扑排序,得到拓扑排序结果;
获取所述有向有环图中各个工作流结点的输入变量和输出变量;
根据所述拓扑排序结果及各个所述工作流结点的输入变量和输出变量,判断是否各个所述工作流结点是否存在输入变量缺失;
若某一个工作流结点或多个工作流结点存在输入变量缺失,则确定针对所述工作流文件的校验不通过;
若全部工作流结点均不存在输入变量缺失,则确定针对所述工作流文件的校验通过。
本实施例中,所述校验模块具体可以用于:
若所述工作流结点为开始结点或用户任务结点,则从所述工作流结点的表单属性中获取输入变量和输出变量;
若所述工作流结点为网关结点,则从所述工作流结点的判断表达式中获取输入变量和输出变量;
若所述工作流结点为服务任务结点,则从所述工作流结点所调用的实现类中获取输入变量和输出变量。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种基于工作流技术的排障任务管理及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (6)
1.一种基于工作流技术的排障任务管理方法,其特征在于,包括:
获取工作流编辑界面中编辑的多个工作流结点及多个所述工作流结点的执行顺序,所述工作流结点用于表征目标排障任务中的排障步骤,且不同的工作流结点表征的排障步骤不同;在工作流编辑界面编辑的工作流结点的类型包括:服务任务结点;所述服务任务结点用于调用预先写好的程序,完成某一项排除故障步骤;
按照多个所述工作流结点的执行顺序,将多个所述工作流结点组合为工作流文件,所述工作流文件在被执行时,用于执行所述目标排障任务;
所述工作流编辑界面中编辑所述工作流结点的过程,包括:
在所述工作流编辑界面接收到用户针对目标工作流结点的编辑指令时,获取所述目标工作流结点所消费的变量及生产的变量;
将包含所述目标工作流结点所消费的变量的信息推送至所述目标工作流结点的上游结点;
将包含有所述目标工作流结点生产的变量的信息推送至所述目标工作流结点的下游结点;
其中,所述方法还包括:
将所述工作流文件解析为包括工作流结点及有向边的有向有环图;
将所述有向有环图去环,得到有向无环图;
对所述有向无环图中的工作流结点进行拓扑排序,得到拓扑排序结果;
获取所述有向有环图中各个工作流结点的输入变量和输出变量;
根据所述拓扑排序结果及各个所述工作流结点的输入变量和输出变量,判断是否各个所述工作流结点是否存在输入变量缺失;
若某一个工作流结点或多个工作流结点存在输入变量缺失,则确定针对所述工作流文件的校验不通过;
若全部工作流结点均不存在输入变量缺失,则确定针对所述工作流文件的校验通过。
2.根据权利要求1所述的方法,其特征在于,所述工作流编辑界面中编辑所述工作流结点的过程,包括:
在所述工作流编辑界面接收到用户针对服务任务结点的编辑指令时,在所述工作流编辑界面展示服务任务结点可使用的程序信息,所述服务任务结点为用于表征某一种排障步骤的工作流结点;
在接收到用户针对所述服务任务结点可使用的程序信息输入的程序信息选择指令时,将所述程序信息选择指令对应的程序信息保存为所述服务任务结点待使用的程序信息。
3.根据权利要求1所述的方法,其特征在于,所述获取所述有向有环图中各个工作流结点的输入变量和输出变量,包括:
若所述工作流结点为开始结点或用户任务结点,则从所述工作流结点的表单属性中获取输入变量和输出变量;
若所述工作流结点为网关结点,则从所述工作流结点的判断表达式中获取输入变量和输出变量;
若所述工作流结点为服务任务结点,则从所述工作流结点所调用的实现类中获取输入变量和输出变量。
4.一种基于工作流技术的排障任务管理装置,其特征在于,包括:
获取模块,用于获取工作流编辑界面中编辑的多个工作流结点及多个所述工作流结点的执行顺序,所述工作流结点用于表征目标排障任务中的排障步骤,且不同的工作流结点表征的排障步骤不同;在工作流编辑界面编辑的工作流结点的类型包括:服务任务结点;所述服务任务结点用于调用预先写好的程序,完成某一项排除故障步骤;
组合模块,用于按照多个所述工作流结点的执行顺序,将多个所述工作流结点组合为工作流文件,所述工作流文件在被执行时,用于执行所述目标排障任务;
所述装置还包括:
第二编辑模块,用于:
在所述工作流编辑界面接收到用户针对目标工作流结点的编辑指令时,获取所述目标工作流结点所消费的变量及生产的变量;
将包含所述目标工作流结点所消费的变量的信息推送至所述目标工作流结点的上游结点;
将包含有所述目标工作流结点生产的变量的信息推送至所述目标工作流结点的下游结点;
其中,所述装置还包括:
校验模块,用于:
将所述工作流文件解析为包括工作流结点及有向边的有向有环图;
将所述有向有环图去环,得到有向无环图;
对所述有向无环图中的工作流结点进行拓扑排序,得到拓扑排序结果;
获取所述有向有环图中各个工作流结点的输入变量和输出变量;
根据所述拓扑排序结果及各个所述工作流结点的输入变量和输出变量,判断是否各个所述工作流结点是否存在输入变量缺失;
若某一个工作流结点或多个工作流结点存在输入变量缺失,则确定针对所述工作流文件的校验不通过;
若全部工作流结点均不存在输入变量缺失,则确定针对所述工作流文件的校验通过。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:
第一编辑模块,用于:
在所述工作流编辑界面接收到用户针对服务任务结点的编辑指令时,在所述工作流编辑界面展示服务任务结点可使用的程序信息,所述服务任务结点为用于表征某一种排障步骤的工作流结点;
在接收到用户针对所述服务任务结点可使用的程序信息输入的程序信息选择指令时,将所述程序信息选择指令对应的程序信息保存为所述服务任务结点待使用的程序信息。
6.根据权利要求4所述的装置,其特征在于,所述校验模块具体用于:
若所述工作流结点为开始结点或用户任务结点,则从所述工作流结点的表单属性中获取输入变量和输出变量;
若所述工作流结点为网关结点,则从所述工作流结点的判断表达式中获取输入变量和输出变量;
若所述工作流结点为服务任务结点,则从所述工作流结点所调用的实现类中获取输入变量和输出变量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911149201.7A CN110928660B (zh) | 2019-11-21 | 2019-11-21 | 一种基于工作流技术的排障任务管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911149201.7A CN110928660B (zh) | 2019-11-21 | 2019-11-21 | 一种基于工作流技术的排障任务管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928660A CN110928660A (zh) | 2020-03-27 |
CN110928660B true CN110928660B (zh) | 2022-08-19 |
Family
ID=69850646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911149201.7A Active CN110928660B (zh) | 2019-11-21 | 2019-11-21 | 一种基于工作流技术的排障任务管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928660B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218706A (zh) * | 2013-03-20 | 2013-07-24 | 深圳市赛为智能股份有限公司 | 工作流文件生成方法及设备、生成执行方法及系统 |
CN103368760A (zh) * | 2012-03-31 | 2013-10-23 | 北京泰乐德信息技术有限公司 | 一种铁路电务与通信信号综合运维系统和方法 |
CN103744647A (zh) * | 2013-10-18 | 2014-04-23 | 北京邮电大学 | 一种基于工作流GPD的Java工作流开发系统及其方法 |
CN104811331A (zh) * | 2014-01-29 | 2015-07-29 | 华为技术有限公司 | 一种可视化网络运维方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8261270B2 (en) * | 2006-06-20 | 2012-09-04 | Google Inc. | Systems and methods for generating reference results using a parallel-processing computer system |
CN101783873A (zh) * | 2009-01-19 | 2010-07-21 | 北京视典无限传媒技术有限公司 | 数字化多媒体信息传输平台 |
US9978024B2 (en) * | 2009-09-30 | 2018-05-22 | Teradata Us, Inc. | Workflow integration with Adobe™ Flex™ user interface |
GB2513709B (en) * | 2013-03-15 | 2021-06-16 | Fisher Rosemount Systems Inc | Method and apparatus for managing a work flow in a process plant |
US10255409B2 (en) * | 2013-08-15 | 2019-04-09 | Zymeworks Inc. | Systems and methods for in silico evaluation of polymers |
US10805316B2 (en) * | 2016-05-31 | 2020-10-13 | University Of South Florida | Systems and methods for detecting attacks in big data systems |
CN106154209B (zh) * | 2016-07-29 | 2018-11-30 | 国电南瑞科技股份有限公司 | 基于决策树算法的电能表故障预测方法 |
-
2019
- 2019-11-21 CN CN201911149201.7A patent/CN110928660B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368760A (zh) * | 2012-03-31 | 2013-10-23 | 北京泰乐德信息技术有限公司 | 一种铁路电务与通信信号综合运维系统和方法 |
CN103218706A (zh) * | 2013-03-20 | 2013-07-24 | 深圳市赛为智能股份有限公司 | 工作流文件生成方法及设备、生成执行方法及系统 |
CN103744647A (zh) * | 2013-10-18 | 2014-04-23 | 北京邮电大学 | 一种基于工作流GPD的Java工作流开发系统及其方法 |
CN104811331A (zh) * | 2014-01-29 | 2015-07-29 | 华为技术有限公司 | 一种可视化网络运维方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110928660A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10992543B1 (en) | Automatically generating an intent-based network model of an existing computer network | |
US11567994B2 (en) | Configuration, telemetry, and analytics of a computer infrastructure using a graph model | |
US11625293B1 (en) | Intent driven root cause analysis | |
CN110928772B (zh) | 一种测试方法及装置 | |
US11528195B2 (en) | System for creating network troubleshooting procedure | |
US9374278B2 (en) | Graphic user interface based network management system to define and execute troubleshooting procedure | |
US8434058B1 (en) | Integrated system and method for validating the functionality and performance of software applications | |
US8869111B2 (en) | Method and system for generating test cases for a software application | |
US9558106B1 (en) | Testing service with control testing | |
US20110093308A1 (en) | Process monitoring system | |
JP6268029B2 (ja) | テストケース生成装置及びテストケース生成方法 | |
US20220078072A1 (en) | Closed-loop automation of a managed network | |
CN111861235A (zh) | 任务流程编排方法及装置、电子设备 | |
JP2007208633A (ja) | ネットワーク設計装置、ネットワーク設計方法およびネットワーク設計プログラム | |
WO2014145818A1 (en) | A graphic user interface based network management system to define and execute troubleshooting procedure | |
JPWO2006117832A1 (ja) | 運用中システムチェック処理装置,方法およびそのプログラム | |
CN109460268B (zh) | 应用参数配置方法、装置和系统 | |
CN112838944B (zh) | 诊断及管理、规则确定及部署方法、分布式设备、介质 | |
Bezahaf et al. | To all intents and purposes: Towards flexible intent expression | |
KR102325258B1 (ko) | 원격통신 네트워크의 네트워크 성능에 관한 자율적 또는 ai-보조적 유효성 검증 또는 결정 수행을 행하고 그리고/또는 원격통신 네트워크 내에서 자율적 또는 ai-보조적 장애해결 또는 성능 증진을 행하기 위한 방법, 원격통신 네트워크, 시스템, 머신 지능 엔티티, 시각화 인터페이스, 컴퓨터 프로그램 그리고 컴퓨터-판독가능 매체 | |
CN110928660B (zh) | 一种基于工作流技术的排障任务管理方法及装置 | |
US20140032276A1 (en) | Method And Apparatus For Assessing Layered Architecture Principles Compliance For Business Analytics In Traditional And SOA Based Environments | |
CN107015831A (zh) | 一种基于服务器端升级的客户端升级管理方法及系统 | |
Machado et al. | Component-based integration testing from UML interaction diagrams | |
KR20110135966A (ko) | 복합 시스템의 개발 또는 사용을 지원하는 방법 및 장치, 그리고 그 지원 방법을 사용하는 프린터 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |