一种工单处理方法、装置、系统及电子设备
文献发布时间:2023-06-19 12:19:35
技术领域
本申请涉及任务调度技术领域,特别是涉及一种工单处理方法、装置、系统及电子设备。
背景技术
在任务调度过程中,任务调度系统中的调度节点,按照任务流工单,向任务处理设备派发该工作流工单所指示的各个元任务,进而,由任务处理设备实现对元任务的处理。其中,工作流工单中记录有多个元任务以及各个元任务之间的依赖关系。并且,任务处理设备可以为任务调度系统中的设备,也可以为与任务调度系统相关联的用于执行任务的设备。
相关技术中,任务调度系统所处理的工作流工单为从任务调度系统关联的数据库中所提取的,而所关联数据库中的任务流工单为按照该任务调度系统所能识别的数据形式所定义的。
发明人在实现本申请的过程中发现,相关技术至少存在如下问题:
由于工作流工单是按照任务调度系统所能识别的数据形式预先定义的,因此,如果任务调度系统发生切换,针对同一工作流,必须重新通过设定该工作流以定义工作流工单,从而适配新的任务调度系统,这无疑使得任务调度过程的繁琐度较高。
发明内容
本申请实施例的目的在于提供一种工单处理方法、装置、系统及电子设备,以解决相关技术中任务调度过程的繁琐度较高的问题。具体技术方案如下:
第一方面,本申请实施例提供了一种工单处理方法,应用于工单管理端;所述工单管理端预先与目标调度系统建立通信,所述目标调度系统为作为工单接收方的任务调度系统;所述方法包括:
从预先定义的包含工作流描述信息的信息库中,获取待处理工作流的工作流描述信息,作为目标描述信息,其中,每一工作流描述信息为用于描述一工作流所指示各个元任务以及各个元任务的依赖关系的信息;
利用所述目标描述信息,生成具有目标数据形式的工作流工单,作为待下发工单;其中,所述目标数据形式为所述目标调度系统所能够识别的工单的数据形式;
将所述待下发工单发送至所述目标调度系统,使所述目标调度系统接收所述待下发工单,并依次执行所述待下发工单所指示的各个元任务,得到执行结果。
可选地,所述方法还包括:
生成任一工作流的工作流描述信息,以将所述工作流描述信息存储至所述信息库。
可选地,所述生成任一工作流的工作流描述信息,包括:
显示信息编辑界面,以供用户编辑;其中,所述信息编辑界面中显示有预定数据库中多个元任务的标识信息;
获取所述用户在所述信息编辑界面中所设置的、针对一工作流的任务组合信息,所述任务组合信息包括所述用户所选取的标识信息,以及为所选取的标识信息所设置的依赖关系;
以所述任务组合信息中的标识信息所指示的元任务,作为待生成的工作流描述信息所需描述的元任务,所述任务组合信息中的依赖关系,作为所述待生成的工作流描述信息所需描述的依赖关系,生成所述待生成的工作流描述信息。
可选地,所述显示信息编辑界面,包括:
从预定数据库中的多个第一类元任务中,确定所述用户具有可用权限的第一类元任务;所述第一类元任务为属于局部模式的元任务;
显示以所确定的第一类元任务和第二类元任务作为显示元素的所述信息编辑界面,其中,所述第二类元任务为所述预定数据库中属于全局模式的元任务。
可选地,所述利用所述目标描述信息,生成具有目标数据形式的工作流工单,作为待下发工单,包括:
确定与所述目标调度系统相匹配的适配模块;其中,每一任务调度系统对应一个适配模块;
将所述目标描述信息传递至与所述目标调度系统相匹配的适配模块,以使得与所述目标调度系统相匹配的适配模块利用所述目标描述信息,生成具有目标数据形式的工作流工单。
可选地,所述将所述待下发工单发送至所述目标调度系统之前,所述方法还包括:
为所述待下发工单标注工单类型,所述工单类型为全局类型或非全局类型;
相应的,所述目标调度系统在依次执行所述待下发工单所指示的各个元任务,得到执行结果后,如果所述待下发工单的工单类型为全局类型,将所述待下发工单的各个元任务的执行结果,存储在指定共享区域中,如果所述待下发工单的工单类型为非全局类型,将所述待下发工单所指示各个元任务的执行结果,存储在指定专有区域中。
第二方面,本申请实施例提供了一种工单处理系统,包括:工单管理端和目标调度系统;所述目标调度系统为作为工单接收方的任务调度方,所述工单管理端预先与所述目标调度系统建立通信;
所述工单管理端,用于从预先定义的包含工作流描述信息的信息库中,获取待处理工作流的工作流描述信息,作为目标描述信息,其中,每一工作流描述信息为用于描述一工作流所指示各个元任务以及各个元任务的依赖关系的信息;利用所述目标描述信息,生成具有目标数据形式的工作流工单,作为待下发工单;其中,所述目标数据形式为所述目标调度系统所能够识别的工单的数据形式;将所述待下发工单发送至所述目标调度系统;
所述目标调度系统,用于接收所述工单管理端所发送的所述待下发工单,并依次执行所述待下发工单所指示的各个元任务,得到执行结果。
第三方面,本申请实施例提供了一种工单处理装置,应用于工单管理端;所述工单管理端预先与目标调度系统建立通信,所述目标调度系统为作为工单接收方的任务调度系统;所述装置包括:
获取模块,用于从预先定义的包含工作流描述信息的信息库中,获取待处理工作流的工作流描述信息,作为目标描述信息,其中,每一工作流描述信息为用于描述一工作流所指示各个元任务以及各个元任务的依赖关系的信息;
生成模块,用于利用所述目标描述信息,生成具有目标数据形式的工作流工单,作为待下发工单;其中,所述目标数据形式为所述目标调度系统所能够识别的工单的数据形式;
发送模块,用于将所述待下发工单发送至所述目标调度系统,使所述目标调度系统接收所述待下发工单,并依次执行所述待下发工单所指示的各个元任务,得到执行结果。
可选地,所述装置还包括:
描述信息生成模块,用于生成任一工作流的工作流描述信息,以将所述工作流描述信息存储至所述信息库。
可选地,所述描述信息生成模块具体用于:
显示信息编辑界面,以供用户编辑;其中,所述信息编辑界面中显示有预定数据库中多个元任务的标识信息;
获取所述用户在所述信息编辑界面中所设置的、针对一工作流的任务组合信息,所述任务组合信息包括所述用户所选取的标识信息,以及为所选取的标识信息所设置的依赖关系;
以所述任务组合信息中的标识信息所指示的元任务,作为待生成的工作流描述信息所需描述的元任务,所述任务组合信息中的依赖关系,作为所述待生成的工作流描述信息所需描述的依赖关系,生成所述待生成的工作流描述信息。
可选地,所述描述信息生成模块显示信息编辑界面,包括:
从预定数据库中的多个第一类元任务中,确定所述用户具有可用权限的第一类元任务;所述第一类元任务为属于局部模式的元任务;
显示以所确定的第一类元任务和第二类元任务作为显示元素的所述信息编辑界面,其中,所述第二类元任务为所述预定数据库中属于全局模式的元任务。
可选地,所述生成模块具体用于:
确定与所述目标调度系统相匹配的适配模块;其中,每一任务调度系统对应一个适配模块;
将所述目标描述信息传递至与所述目标调度系统相匹配的适配模块,以使得与所述目标调度系统相匹配的适配模块利用所述目标描述信息,生成具有目标数据形式的工作流工单,作为待下发工单。
可选地,所述装置还包括:
标注模块,用于所述发送模块将所述待下发工单发送至所述目标调度系统之前,为所述待下发工单标注工单类型,所述工单类型为全局类型或非全局类型;
相应的,所述目标调度系统在依次执行所述待下发工单所指示的各个元任务,得到执行结果后,如果所述待下发工单的工单类型为全局类型,将所述待下发工单的各个元任务的执行结果,存储在指定共享区域中,如果所述待下发工单的工单类型为非全局类型,将所述待下发工单所指示各个元任务的执行结果,存储在指定专有区域中。
第四方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面所提供的工单处理方法步骤。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所提供的工单处理方法步骤。
本申请实施例所提供的方案中,增设工单管理端,通过工单管理端向任务调度系统下发工作流工单,避免在调度系统中直接定义工单所带的定义局限性;并且,预先设定工作流描述信息,而并非工作流工单,保证了数据通用性。这样,在发生调度系统切换时,工单管理端仅仅需要利用工作流描述信息生成与当前切换至的调度系统相匹配的数据形式的工作流工单即可,避免了对于相同工作流的重复设定。因此,通过本方案,可以降低任务调度过程的繁琐度。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种工单处理方法的流程图;
图2为本申请实施例所提供的关于工作流描述信息的生成方式的流程图;
图3示例性给出了工单管理端中各个适配模块与相应调度系统的匹配关系图;
图4为本申请实施例所提供的一种工单处理装置的结构示意图;
图5为本申请实施例所提供的一种工单处理系统的结构示意图;
图6为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,在任务调度过程中,任务调度系统中的调度节点,按照预先定义的工作流工单,向任务处理设备派发该工作流工单所指示的各个元任务,进而,由任务处理设备实现对元任务的处理。其中,工作流工单中记录有多个元任务以及各个元任务之间的依赖关系。并且,任务处理设备可以为任务调度系统中的设备,也可以为与任务调度系统相关联的用于执行任务的设备。举例而言:针对Apache AirFlow调度系统而言,工作流工单的数据形式为DAG(有向无环图),即通过有向无环图来描述组成工作流的各个元任务以及各个元任务的依赖关系;相应的,调度节点按照预先定义的DAG(有向无环图),向该调度系统中的各个工作节点派发任务,进而由各个工作节点实现对元任务的处理。又例如:针对ApacheOozie调度系统而言,工作流工单的数据形式为workflow.xml文件,其中,在该workflow.xml文件中,通过start,end,kill,for,join等动作描述工作流的起止元任务和执行逻辑,也即描述了组成工作流的各个元任务以及各个元任务的依赖关系;相应的,调度节点按照预先定义的workflow.xml文件,向该调度系统所关联的Hadoop大数据集群YARN节点派发任务,进而由YARN节点实现对元任务的处理。
发明人在实现本申请的过程中发现,相关技术至少存在如下问题:
由于工作流工单是按照任务调度系统所能识别的数据形式预先定义的,因此,如果任务调度系统发生切换,针对同一工作流,必须重新通过设定该工作流来定义工作流工单,从而适配新的调度系统,这无疑使得任务调度过程的繁琐度较高。仍以上述的ApacheAirFlow调度系统和Apache Oozie调度系统为例,如果从Apache AirFlow调度系统切换至Apache Oozie调度系统,将导致DAG(有向无环图)无法适用于Apache Oozie,必须在ApacheOozie中重新设定DAG(有向无环图)所表示的工作流,以定义workflow.xml文件,这无疑使得任务调度过程的繁琐度较高。
为了解决相关技术所存在的问题,本申请实施例提供了一种工单处理方法、系统、装置及电子设备。
下面首先对本申请实施例所提供的一种工单处理方法进行介绍。
其中,本申请实施例所提供的一种工单处理方法的执行主体可以为一种工单管理端。在具体应用中,该工单管理端可以为用于实现工作流工单处理的APP(Application,应用程序)或网页客户端,这都是合理的。可以理解的是,所谓的工作流工单即为记录有工作流的工作单据,并且,工作流包括有多个元任务以及多个元任务的依赖关系。
并且,该工单管理端预先与目标调度系统建立通信,以使得工单管理端可以向目标调度系统发送工作流工单,该目标调度系统为作为工单接收方的任务调度系统。可以理解的是,当调度系统发生切换时,作为工单接收方的任务调度系统发生变更,此时,工单管理端所连接的任务调度系统也发生变更,为了描述清楚,以目标调度系统指代工单接收方的任务调度系统,即指代工单管理端所连接的任务调度系统。
另外,为了解决相关技术的技术问题,除了增设工单管理端,而且,预先定义有包含工作流描述信息的信息库,每一工作流描述信息为用于描述一工作流所指示各个元任务以及各个元任务的依赖关系的信息。可以理解的是,该工作流描述信息仅仅是描述工作流的信息,不属于任何一种工单数据形式,因此,能够保证数据通用性。
在具体应用中,该工作流描述信息可以包括但不局限于:各个元任务的标识,以及,各个元任务的依赖关系。其中,所谓的依赖关系可以包括事件依赖关系,该依赖关系可以体现出一个元任务必须在哪个元任务之后执行,当然,该事件依赖关系也可以称为关于父任务和子任务的关系,子任务在父任务执行完毕后才执行。另外,该依赖关系除了包括事件依赖关系,还可以包括时间依赖关系,即在某个时间点执行工作流中的起始的元任务。其中,元任务是最小的任务单元,元任务的任务数据可以包括:任务事项信息,该任务事项信息用于表明做哪些事情,相应的,该元任务的任务数据可以表明做哪些事情;当然,该元任务的任务数据除了包括任务事项信息,还可以包括:处理元任务所需的工具程序的标识信息,此时,元任务的任务数据可以表明利用哪些工具做哪些事情。其中,工具程序可以为:Phthon、java、shell等编程语言对应的编程工具,本申请不对具体的元任务的数据内容进行限定。
并且,每一工作流描述信息可以通过所描述工作流的流标识进行命名,这样,在获知任一流标识时,可以以该流标识作为查询依据,从信息库中查找具有该流标识的工作流的工作流描述信息。另外,工作流描述信息的存储格式,在此不做限定,例如:工作流描述信息以文本文档形式存储,或者,以列表形式存储,等等。
如图1所示,本申请实施例所提供的一种工单处理方法,可以包括如下步骤:
S101,从预先定义的包含工作流描述信息的信息库中,获取待处理工作流的工作流描述信息,作为目标描述信息;
在具体应用中,该工单管理端可以在检测到满足预定发送条件时,执行S101。其中,预定发送条件可以包括但不局限于:达到预定时间点,或者,接收到预定的发送指令,等等。
并且,待处理工作流的数量可以为一个或多个。另外,待处理工作流可以通过人工方式指定,例如:向管理人员输出包含各个工作流的标识的界面,进而,管理人员可以通过该界面选中标识,并提交至该工单管理端,从而该工单管理端可以获知待处理工作流。当然,待处理工作流的确定方式还可以包括:工单管理端基于预先设定的关于工作流与发送时间范围的对应关系,确定当前时间需要发送的工作流,从而得到待处理工作流,这也是合理的。
可以理解的是,在S101之前,该工单管理端可以生成任一工作流的工作流描述信息,以将该工作流描述信息存储至所述信息库。这样,该信息库中可以存在一个或多个工作流描述信息。其中,为了方案清楚以及布局清晰,后续介绍生成任一工作流的工作流描述信息的具体实现方式。S102,利用该目标描述信息,生成具有目标数据形式的工作流工单,作为待下发工单;其中,该目标数据形式为该目标调度系统所能够识别的工单的数据形式;
在获取到待处理工作流的工作流描述信息后,为了使得作为工单接收方的目标调度系统能够识别工单,工单管理端可以利用目标描述信息,即所获取的工作流描述信息,生成具有目标数据形式的、关于该目标描述信息所描述工作流的工作流工单,作为待下发工单。
示例性,如果作为工单接收方的任务调度系统为Apache AirFlow调度系统,此时,该目标数据形式为DAG(有向无环图)形式,那么,可以利用该目标描述信息,生成属于DAG(有向无环图)形式的、关于该目标描述信息所描述工作流的工作流工单。
示例性的,如果作为工单接收方的任务调度系统为Apache Oozie调度系统,此时,该目标数据形式为workflow.xml文件的形式,那么,可以利用该目标描述信息,生成workflow.xml文件的形式的、关于该目标描述信息所描述工作流的工作流工单。
需要说明的是,利用该目标描述信息,生成具有目标数据形式的工作流工单的具体实现方式,存在多种。可选地,在一种实现方式中,利用该目标描述信息,生成具有目标数据形式的工作流工单,作为待下发工单,可以包括:
确定与该目标调度系统相匹配的适配模块;其中,每一任务调度系统对应一个适配模块;
将该目标描述信息传递至与该目标调度系统相匹配的适配模块,以使得与该目标调度系统相匹配的适配模块利用该目标描述信息,生成具有目标数据形式的工作流工单,作为待下发工单。
在该种实现方式中,可以从预先针对多个任务调度系统所设定的适配模块中,确定与该目标调度系统相匹配的适配模块。可以理解的是,预先设定具有适配功能的多个适配模块,每一适配模块用于将任一工作流描述信息转换为:与该适配模块所对应任务调度系统相匹配的数据形式的工作流工单。另外,需要说明的是,任一适配模块为具有信息转换功能的程序模块,其中,该程序模块所具有的信息转换功能为:将工作流描述信息转换为某一数据形式的工作流工单的功能,具体而言,该程序模块所具有的信息转换功能为:将工作流描述信息转换为,与该适配模块所对应任务调度系统相匹配的数据形式的工作流工单。
其中,针对多个任务调度系统所设定的适配模块可以设置于工单管理端内部,也可以设置于工单管理端的外部,这都是合理的。
为了方便理解方案,图3示例性地给出了工单管理端中各个适配模块与相应调度系统的匹配关系图。如图3所示,该工单管理端包含三个适配模块,分别为:Apache AirFlow调度系统对应的适配模块、Apache Oozie调度系统对应的适配模块以及其他调度系统对应的适配模块,这样,在目标调度系统为Apache AirFlow调度系统时,可以利用ApacheAirFlow调度系统对应的适配模块,目标调度系统为Apache Oozie调度系统,可以利用Apache Oozie调度系统对应的适配模块,而目标调度系统为其他调度系统时,可以利用其他调度系统对应的适配器。其中,该其他调度系统可以为Apache AirFlow调度系统和Apache Oozie调度系统以外的任一调度系统,在此不做限定。
上述的利用该目标描述信息,生成具有目标数据形式的、关于该目标描述信息所描述工作流的工作流工单的具体实现方式仅仅作为示例,并不应该构成对本申请实施例的限定。
S103,将该待下发工单发送至该目标调度系统,使该目标调度系统接收该待下发工单,并依次执行该待下发工单所指示的各个元任务,得到执行结果。
在得到待下发工单后,可以将该待下发工单发送至该目标调度系统,相应的,该目标调度系统可以接收该待下发工单,并依次执行该待下发工单所指示的各个元任务,得到执行结果。
其中,该目标调度系统依次执行该待下发工单所指示的各个元任务,得到执行结果具体可以为:目标调度系统中的调度节点,按照该待下发工单,向任务处理设备派发该待下发工单所指示的各个元任务,进而,由任务处理设备实现对元任务的处理,得到执行结果。其中,任务处理设备可以为任务调度系统中的设备,也可以为与任务调度系统相关联的用于执行任务的设备。
示例性的,针对Apache AirFlow调度系统而言,调度节点在接收到该待下发工单后,可以向Apache AirFlow调度系统中的各个工作节点派发任务,进而由各个工作节点实现对元任务的处理,得到执行结果。又例如:针对Apache Oozie调度系统而言,调度节点在接收到该待下发工单后,可以向该Apache Oozie调度系统所关联的Hadoop大数据集群YARN节点派发任务,进而由YARN节点实现对元任务的处理,得到执行结果。
本申请实施例所提供的方案中,增设工单管理端,通过工单管理端向任务调度系统下发工作流工单,避免在调度系统中直接定义工单所带的定义局限性;并且,预先设定工作流描述信息,而并非工作流工单,保证了数据通用性。这样,在发生调度系统切换时,工单管理端仅仅需要利用工作流描述信息生成与当前切换至的调度系统相匹配的数据形式的工作流工单即可,避免了对于相同工作流的重复设定。因此,通过本方案,可以降低任务调度过程的繁琐度。
需要说明的是,生成任一工作流描述信息的方式的存在多种。下面对生成任一工作流描述信息的方式进行示例性的介绍。
如图2所示,生成任一工作流的工作流描述信息,可以包括:
S201,显示信息编辑界面,以供用户编辑;其中,该信息编辑界面中显示有预定数据库中多个元任务的标识信息;
S202,获取该用户在所述信息编辑界面中所设置的、针对一工作流的任务组合信息,该任务组合信息包括该用户所选取的标识信息,以及为所选取的标识信息所设置的依赖关系;
该用户在该信息编辑界面中设置、针对一工作流的任务组合信息的实现方式存在多种。
可选地,在一种实现方式中,在显示信息编辑界面后,用户可以通过点选的方式,选取一工作流所需的各个元任务的标识信息,并且,为所选取的标识信息添加属于父任务的元任务的标识信息,从而给定元任务的依赖关系。
可选地,在另一种实现方式中,在显示信息编辑界面后,用户可以通过拖拽的方式,将一工作流所需的各个元任务的标识信息,拖拽到该信息编辑界面的指定编辑区域中,并通过在标识信息之间设置箭头,为该指定编辑区域中各个标识信息建立依赖关系,其中,箭头的尾端连接属于父任务的元任务,箭头的头端连接属于子任务的元任务。
可以理解的是,针对一组父任务和子任务,子任务依赖父任务的执行才能执行。
S203,以该任务组合信息中的标识信息所指示的元任务,作为待生成的工作流描述信息所需描述的元任务,该任务组合信息中的依赖关系,作为待生成的工作流描述信息所需描述的依赖关系,生成该待生成的工作流描述信息。
在执行完毕S202后,在生成工作流描述信息时,可以利用任务组合信息中的相关信息,具体的,以该任务组合信息中的标识信息所指示的元任务,作为待生成的工作流描述信息所需描述的元任务,该任务组合信息中的依赖关系,作为待生成的工作流描述信息所需描述的依赖关系。这样,便生成了该任务组合信息所指示工作流的工作流描述信息。
另外,由于预定数据库可以被多个用户使用,而预定数据库中各个元任务,可能并不是针对每个用户均可用,因此,预定数据库中的各个元任务,可以分为第一类元任务和第二类元任务。其中,该第一类元任务为属于局部模式的元任务,也就是说,该第一类元任务仅仅对某些用户可用,而对另外的用户不可用;第二类元任务为属于全局模式的元任务,也就是说,第二类元任务对全部用户公开。针对该种情况,显示信息编辑界面,可以包括:
从预定数据库中的多个第一类元任务中,确定该用户具有可用权限的第一类元任务;所述第一类元任务为属于局部模式的元任务;
显示以所确定的第一类元任务和第二类元任务作为显示元素的该信息编辑界面,其中,该第二类元任务为该预定数据库中属于全局模式的元任务。
另外,可选地,所述将所述待下发工单发送至所述任务调度系统之前,所述方法还可以包括:
为该待下发工单标注工单类型,所述工单类型为全局类型或非全局类型;
相应的,所述目标调度系统在依次执行所述待下发工单所指示的各个元任务,得到执行结果后,如果该待下发工单的工单类型为全局类型,将该待下发工单的各个元任务的执行结果,存储在指定共享区域中,如果哎待下发工单的工单类型为非全局类型,将该待下发工单所指示各个元任务的执行结果,存储在指定专有区域中。
通过为待下发工单设置全局类型或非全局类型,可以指定该待下发工单的各个元任务的执行结果的可访问范围。
并且,在为该待下发工单标注工单类型时,可以人工根据实际情况给定;当然,并不局限于此。
相应于上述方法实施例,本申请实施例还提供了一种工单处理装置,该工单处理装置应用于工单管理端;所述工单管理端预先与目标调度系统建立通信,所述目标调度系统为作为工单接收方的任务调度系统。如图4所示,该工单处理装置可以包括:
获取模块410,用于从预先定义的包含工作流描述信息的信息库中,获取待处理工作流的工作流描述信息,作为目标描述信息,其中,每一工作流描述信息为用于描述一工作流所指示各个元任务以及各个元任务的依赖关系的信息;
生成模块420,用于利用所述目标描述信息,生成具有目标数据形式的工作流工单,作为待下发工单;其中,所述目标数据形式为所述目标调度系统所能够识别的工单的数据形式;
发送模块430,用于将所述待下发工单发送至所述目标调度系统。
本申请实施例所提供的方案中,增设工单管理端,通过工单管理端向任务调度系统下发工作流工单,避免在调度系统中直接定义工单所带的定义局限性;并且,预先设定工作流描述信息,而并非工作流工单,保证了数据通用性。这样,在发生调度系统切换时,工单管理端仅仅需要利用工作流描述信息生成与当前切换至的调度系统相匹配的数据形式的工作流工单即可,避免了对于相同工作流的重复设定。因此,通过本方案,可以降低任务调度过程的繁琐度。
可选地,所述装置还可以包括:
描述信息生成模块,用于生成任一工作流的工作流描述信息,以将所述工作流描述信息存储至所述信息库。
可选地,所述描述信息生成模块具体用于:
显示信息编辑界面,以供用户编辑;其中,所述信息编辑界面中显示有预定数据库中多个元任务的标识信息;
获取所述用户在所述信息编辑界面中所设置的、针对一工作流的任务组合信息,所述任务组合信息包括所述用户所选取的标识信息,以及为所选取的标识信息所设置的依赖关系;
以所述任务组合信息中的标识信息所指示的元任务,作为待生成的工作流描述信息所需描述的元任务,所述任务组合信息中的依赖关系,作为所述待生成的工作流描述信息所需描述的依赖关系,生成所述待生成的工作流描述信息。
可选地,所述描述信息生成模块显示信息编辑界面,可以包括:
从预定数据库中的多个第一类元任务中,确定所述用户具有可用权限的第一类元任务;所述第一类元任务为属于局部模式的元任务;
显示以所确定的第一类元任务和第二类元任务作为显示元素的所述信息编辑界面,其中,所述第二类元任务为所述预定数据库中属于全局模式的元任务。
可选地,所述生成模块420具体用于:
确定与所述目标调度系统相匹配的适配模块;其中,每一任务调度系统对应一个适配模块;
将所述目标描述信息传递至与所述目标调度系统相匹配的适配模块,以使得与所述目标调度系统相匹配的适配模块利用所述目标描述信息,生成具有目标数据形式的工作流工单,作为待下发工单。
可选地,所述装置还可以包括:
标注模块,用于所述发送模块将所述待下发工单发送至所述目标调度系统之前,为所述待下发工单标注工单类型,所述工单类型为全局类型或非全局类型;
相应的,所述目标调度系统在依次执行所述待下发工单所指示的各个元任务,得到执行结果后,如果所述待下发工单的工单类型为全局类型,将所述待下发工单的各个元任务的执行结果,存储在指定共享区域中,如果所述待下发工单的工单类型为非全局类型,将所述待下发工单所指示各个元任务的执行结果,存储在指定专有区域中。
另外,本申请实施例还提供了一种工单处理系统。如图5所示,该工单处理系统,可以包括:工单管理端510和目标调度系统520;所述目标调度系统为作为工单接收方的任务调度方,所述工单管理端预先与所述目标调度系统建立通信;
所述工单管理端510,用于从预先定义的包含工作流描述信息的信息库中,获取待处理工作流的工作流描述信息,作为目标描述信息,其中,每一工作流描述信息为用于描述一工作流所指示各个元任务以及各个元任务的依赖关系的信息;利用所述目标描述信息,生成具有目标数据形式的工作流工单,作为待下发工单;其中,所述目标数据形式为所述目标调度系统所能够识别的工单的数据形式;将所述待下发工单发送至所述目标调度系统520;
所述目标调度系统520,用于接收所述工单管理端所发送的所述待下发工单,并依次执行所述待下发工单所指示的各个元任务,得到执行结果。
可选地,所述工单管理端510还用于生成任一工作流的工作流描述信息,以将所述工作流描述信息存储至所述信息库。
可选地,所述工单管理端510生成任一工作流的工作流描述信息,具体包括:
显示信息编辑界面,以供用户编辑;其中,所述信息编辑界面中显示有预定数据库中多个元任务的标识信息;
获取所述用户在所述信息编辑界面中所设置的、针对一工作流的任务组合信息,所述任务组合信息包括所述用户所选取的标识信息,以及为所选取的标识信息所设置的依赖关系;
以所述任务组合信息中的标识信息所指示的元任务,作为待生成的工作流描述信息所需描述的元任务,所述任务组合信息中的依赖关系,作为所述待生成的工作流描述信息所需描述的依赖关系,生成所述待生成的工作流描述信息。
可选地,所述工单管理端510显示信息编辑界面,可以包括:
从预定数据库中的多个第一类元任务中,确定所述用户具有可用权限的第一类元任务;所述第一类元任务为属于局部模式的元任务;
显示以所确定的第一类元任务和第二类元任务作为显示元素的所述信息编辑界面,其中,所述第二类元任务为所述预定数据库中属于全局模式的元任务。
可选地,所述工单管理端510利用所述目标描述信息,生成具有目标数据形式的工作流工单,作为待下发工单,可以包括:
确定与所述目标调度系统相匹配的适配模块;其中,每一任务调度系统对应一个适配模块;
将所述目标描述信息传递至与所述目标调度系统相匹配的适配模块,以使得与所述目标调度系统相匹配的适配模块利用所述目标描述信息,生成具有目标数据形式的工作流工单,作为待下发工单。
可选地,所述工单管理端510还用于将所述待下发工单发送至所述目标调度系统之前,为所述待下发工单标注工单类型,所述工单类型为全局类型或非全局类型;
相应的,所述目标调度系统520还用于依次执行所述待下发工单所指示的各个元任务,得到执行结果后,如果所述待下发工单的工单类型为全局类型,将所述待下发工单的各个元任务的执行结果,存储在指定共享区域中,如果所述待下发工单的工单类型为非全局类型,将所述待下发工单所指示各个元任务的执行结果,存储在指定专有区域中。
另外,本申请实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现上述实施例中任一工单处理方法的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一工单处理方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一工单处理方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
- 一种工单处理方法、装置、系统及电子设备
- 工单处理方法、电子设备、存储介质及系统