一种动态扩展任务的调度系统和方法与流程

专利2024-03-09  104



1.本发明涉及计算机应用技术,尤其涉及了一种动态扩展任务的调度系统和方法。


背景技术:

2.任务调度是指对不同类型的任务分配至不同的资源下进行执行,调度系统就是负责所有类型的任务进行统一调度、执行,由于调度与执行紧耦合,因此如果增加一种任务类型,调度系统需要进行中断进行迭代升级,会影响其他任务,无法做到动态扩展。
3.调度系统最核心的是调度规则,该规则目前业界使用的都是调度系统自身定义的一些规则,无法针对某个任务类型进行个性化。
4.一家企业或单位或多或少都有各种线上任务需要执行,比如:视频转码任务、人脸识别任务、核酸查询任务等,目前没有好的方案可以将这些任务汇聚到一个平台上进行调度执行。
5.如现有技术cn202011623543.0,本公司申请的任务调度,其不能很好地进行动态扩展任务,也就不能很好地满足不想要其他任务调度与执行的情况下新增或剔除某类任务。


技术实现要素:

6.本发明针对现有技术中任务调度系统不能很好地进行动态扩展任务,不能很好地满足不想要其他任务调度与执行的情况下新增或剔除某类任务的问题,提供了一种动态扩展任务的调度系统。
7.为了解决上述技术问题,本发明通过下述技术方案得以解决:
8.一种动态扩展任务的调度系统,用于视频任务的调度中,其包括任务中心模块、任务插件模块、任务客户端模块和预配置模块;
9.预配置模块用于对预下发的任务进行设置;
10.任务插件模块用于实现任务中心模块标准接口的定义,并加载至任务中心模块;
11.任务客户端用于生成任务信息再交由任务中心模块进行调度与执行;且任务客户端模块与任务插件模块一一对应
12.任务中心模块用于调度系统的流转,与任务客户端模块对接,并与任务插件模块交互。
13.通过设计的动态扩展任务的调度系统,可以汇聚不同类型的任务,且可以在不影响其他任务调度与执行的情况下,新增或剔除某类任务,同时支持每类任务自定义调度规则。
14.作为优选:任务中心模块包括抽象模块和匹配模块;抽象模块用于标准接口的定义,并通过任务插件模块实现;标准接口的定义包括调度规则定义、调度规则匹配、任务执行和功能性定义;
15.匹配模块用于调度任务的筛选,并定位可执行任务的资源信息;匹配模块包括路
由匹配、集群匹配和资源匹配。
16.作为优选:预配置模块包括路由配置模块、集群配置模块和资源配置模块。
17.作为优选:路由配置包含任务类型设置、路由规则设置、路由值设置;任务类型设置用于设置任务类型,任务类型从任务插件模块获取;路由规则设置包括公共规则设置和调度规则设置;公共规则设置通过任务中心模块定义;调度规则设置通过任务插件模块获取;
18.路由值设置为路由规则对应的路由值。
19.作为优选:集群配置模块包括所属路由设置、功能特性设置和任务上限设置;所属路由设置为所属路由关联的路由信息设置;功能特性设置用于对任务插件模块获取自定义的功能特性的设置;任务上限设置用于限制集群下的每个资源运行的任务数量。
20.作为优选:路由匹配用于任务中心模块对接任务客户端模块;集群匹配用于筛选符合条件的路由下的符合条件的集群;资源匹配用于下发任务前的处理。
21.为了解决上述技术问题,本发明还提供了一种动态扩展任务的调度方法,用于视频任务的调度中,其方法;
22.任务调度信息的设置,通过预配置模块进行任务调度的信息进行配置,任务调度的信息包括任务调度的资源和任务调度的规则;
23.任务的组装,通过任务客户端模块进行任务调度信息的装置,同时可动态扩展任务;
24.任务的流转,通过任务中心模块对于任务调度的流转;
25.任务的操作,通过任务插件模块进行任务操作,并提供任务操作信息至任务中心模块;任务的操作信息包括特有的任务调度规则、任务功能特性的定义和可动态扩展的任务;任务的操作包括任务的启动、任务的停止和任务的删除。
26.为了解决上述技术问题,本发明还提供了一种存储介质,其包括一种动态扩展任务的调度系统实现的存储介质。
27.为了解决上述技术问题,本发明还提供了一种电子设备,其包括一种动态扩展任务的调度系统实现的电子设备。
28.本发明由于采用了以上技术方案,具有显著的技术效果:
29.本发明通过设计的动态扩展任务的调度系统,可以汇聚不同类型的任务,且可以在不影响其他任务调度与执行的情况下,新增或剔除某类任务,同时支持每类任务自定义调度规则。
附图说明
30.图1是本发明的系统示意图;
31.图2是本发明的实施例1系统示意图;
32.图3是本发明的流程图。
具体实施方式
33.下面结合附图与实施例对本发明作进一步详细描述。
34.实施例1
35.一种动态扩展任务的调度系统,用于视频任务的调度中,其包括任务中心模块、任务插件模块、任务客户端模块和预配置模块;
36.预配置模块用于对预下发的任务进行设置;
37.任务插件模块用于实现任务中心模块标准接口的定义,并加载至任务中心模块;
38.任务客户端用于生成任务信息再交由任务中心模块进行调度与执行;且任务客户端模块与任务插件模块一一对应
39.任务中心模块用于调度系统的流转,与任务客户端模块对接,并与任务插件模块交互。
40.通过设计的动态扩展任务的调度系统,可以汇聚不同类型的任务,且可以在不影响其他任务调度与执行的情况下,新增或剔除某类任务,同时支持每类任务自定义调度规则。
41.任务中心模块负责整个调度系统的流转,一方面与任务客户端模块对接,另一方面与任务插件模块交互,是调度平台的主要模块。任务中心模块包含抽象模块及匹配模块。
42.抽象模块包括调度规则定义、功能特性定义、调度规则匹配、任务执行。
43.调度规则定义,通过引用预设置模块的任务信息,并设置插件特有的调度规则;是任务筛选过滤的条件,比如视频转码任务插件需要提供按分辨率、按视频码率来进行筛选,插件模块应实现该接口,并且响应支持的调度规则信息集合,当预设置模块进行路由配置时,任务中心模块会查找任务插件该接口的实现,获取到提供的调度规则供预设置模块配置;java版伪代码示例:
44.public interface调度规则定义接口{
45.list《调度规则》builddispatchrules();
46.}
47.功能特性定义是由预设置模块引用,用于说明任务插件支持的范围,比如视频转码任务插件支持不同的转码厂商,那么插件模块应实现该接口,并且响应支持的厂商信息集合,当预设置模块进行集群配置时,任务中心模块会查找任务插件该接口的实现,获取到提供的功能特性供预设置模块配置;java版伪代码示例:
48.public interface功能特性定义接口{
49.list《功能特性》buildsupportedfeatures();
50.}
51.调度规则匹配是由任务中心模块的匹配模块引用,用于路由匹配筛选,任务插件如果提供了特有的调度规则,那么也同样必须实现调度规则匹配接口,匹配模块引用时会将任务客户端模块的任务信息及预设置模块的路由配置作为参数传入,任务插件实现该接口时会拿到此参数,只需响应一个布尔值,代表是否匹配,比如视频转码任务插件如果提供了两个特有调度规则:按分辨率、按视频码率,那么任务插件实现调度规则匹配的接口时就需要解析任务内容,用于获取到具体的分辨率或视频码率,再根据传递的路由配置中配置的调度规则、调度规则值进行匹配;java版伪代码示例:
52.public interface调度规则匹配接口{
53.booleanmatch(任务信息,路由配置);
54.}
55.任务执行是由任务中心模块的匹配模块引用,用于执行具体的任务内容,任务执行包含了:启动、停止、删除等常规操作,所有的操作均需任务插件进行实现,匹配模块引用时会将任务客户端模块的任务信息及预设置模块的集群配置、资源配置作为参数传入,任务插件实现该接口时会拿到此参数,其中启动接口需返回实际执行的任务标识,会在停止和删除接口时作为参数传入,比如视频转码任务插件实现任务启动时,可以从资源配置中获取到服务地址,再转换任务内容,之所以需要转换是因为可能不同厂商的转码参数不同,需要从集群配置中获取到此任务需要的功能特性(此例中是指厂商),进行任务启动;java版伪代码示例:
56.public interface任务执行接口{
57.string start(任务信息,集群配置信息、资源配置信息);
58.boolean stop(任务信息,任务id,集群配置信息、资源配置信息);
59.boolean delete(任务信息,任务id,集群配置信息、资源配置信息);
60.}
61.匹配模块是负责任务筛选,最终定位到可以执行该任务的资源信息,交由抽象模块中的任务执行,包含:路由匹配、集群匹配、资源匹配;
62.路由匹配用于任务中心模块直接对接任务客户端模块,当路由匹配接收到客户端参数时,会根据传递的任务类型从预设置模块中的路由配置筛选出该类型的所有路由,再对每个路由进行匹配,将路由信息、任务信息传递给抽象模块中的调度规则匹配,调度规则匹配会引用对应任务类型的插件实现,响应true代表此路由符合规则,无需再进行其他路由匹配,如果没有可匹配的路由,直接响应客户端异常即可,当拿到匹配后的路由时,再交由下一级集群匹配进行筛选,如果是停止任务或删除任务操作,则跳过这一步骤,因为任务已在运行,在任务中心模块中已有关联的路由、集群、资源信息;
63.集群匹配用于筛选符合条件的路由下的符合条件的集群,符合条件的标准为集群下有对应可用的资源,当接收到路由匹配传递的路由信息时,根据预设置模块中的集群配置,拿到关联的集群集合,再对每个集群下的资源信息进行查询,筛选出有空闲的资源信息,空闲的对比条件为:资源上运行的任务数量小于集群配置中的最大任务数量,拿到匹配后的集群信息和资源信息时,再交由下一级资源匹配进行处理,如果是停止任务或删除任务操作,则跳过这一步骤,因为任务已在运行,在任务中心模块中已有关联的路由、集群、资源信息;
64.资源匹配用于下发任务前的处理,当收到集群匹配传递的资源信息时,对当前资源信息进行重复校验任务数量是否符合要求,重复校验是为了防止在流转过程中该资源被使用,导致资源负载过高,如果资源已不符合要求,需要根据集群信息再重新获取一个空闲的资源信息,拿到符合条件的资源后,将资源信息、任务信息、集群信息传递给抽象模块中的任务执行,任务执行会引用对应任务类型的插件实现,如果是启动任务,需要将该资源信息中的运行任务数量加1,同时记录当前任务关联的信息至任务中心模块,如果是停止或删除任务,需要将该资源信息中的运行任务数量减1。
65.路由配置主要包含任务类型设置、路由规则设置、路由值设置。
66.任务类型从任务插件模块获取;
67.路由规则由两类组成,一类是任务中心模块定义的公共规则,比如:按名称、按标
题;另外一类是从任务插件模块获取自定义的调度规则,自定义调度规则需按照任务中心模块》抽象模块》调度规则定义的标准进行实现,比如视频转码任务可以定义按照不同分辨率进行调度,那么视频转码任务插件应提供的调度规则为:按分辨率;
68.路由值是指路由规则对应的值,比如路由规则是按名称,那么路由值应该是名称具体的值,如果任务的名称符合该值,即完成路由匹配。
69.集群配置主要包含所属路由设置、功能特性设置、任务上限设置。
70.所属路由即关联的路由信息;
71.功能特性是为了实现任务更灵活流转提供的设置,需要从任务插件模块获取自定义的功能特性,自定义功能特性需按照任务中心模块》抽象模块》功能特性定义的标准进行实现,比如视频转码任务中,同一个分辨率下的任务,想要在不同厂商生产的设备上执行,那么需要视频转码任务插件应提供的功能特性为:厂商1、厂商2,如果有不同的功能特性,对应的任务插件在其内部应实现每个功能特性下的任务执行逻辑;
72.任务上限用于限制集群下的每个资源运行的任务数量,防止单个资源负载较高。
73.资源配置主要是可以执行任务的机器信息,此处不限制为机器,也可以是一个服务地址,主要包含:所属集群、资源地址(ip或服务名称)、端口,在任务中心模块》匹配模块》资源匹配中会将配置的资源信息传递给任务插件,由插件进行任务下发,资源配置中还需要有任务运行数量,此数量由任务中心模块中》匹配模块》资源匹配进行维护。
74.任务客户端模块是与任务插件模块一一对应,即新增一种任务插件,那么就会多一种任务客户端,主要用于生成任务信息再交由任务中心模块进行调度与执行,任务信息需包含:任务类型、任务内容。
75.任务类型需要与任务插件对应,比如视频转码任务插件取名为transcode,那么任务客户端中的任务类型也必须是transcode;
76.任务内容是指具体需要执行的内容,以视频转码任务为例,任务内容需要有输入源、转码参数、输出地址等,任务内容不作限制,不同任务插件对应的任务内容也不同,全由对应插件来解析,任务中心模块在匹配到具体资源后将任务信息转发至任务插件即可。
77.实施例2
78.在实施例1基础上,本实施例为一种动态扩展任务的调度方法,用于视频任务的调度中,其方法;
79.任务调度信息的设置,通过预配置模块进行任务调度的信息进行配置,任务调度的信息包括任务调度的资源和任务调度的规则;
80.任务的组装,通过任务客户端模块进行任务调度信息的装置,同时可动态扩展任务;
81.任务的流转,通过任务中心模块对于任务调度的流转;
82.任务的操作,通过任务插件模块进行任务操作,并提供任务操作信息至任务中心模块;任务的操作信息包括特有的任务调度规则、任务功能特性的定义和可动态扩展的任务;任务的操作包括任务的启动、任务的停止和任务的删除。
83.实施例3
84.在实施例1基础上,本实施例为一种存储介质。
85.实施例4
86.在实施例1基础上,本实施例为一种电子设备。

技术特征:
1.一种动态扩展任务的调度系统,用于视频任务的调度中,其特征在于:包括任务中心模块、任务插件模块、任务客户端模块和预配置模块;预配置模块用于对预下发的任务进行设置;任务插件模块用于实现任务中心模块标准接口的定义,并加载至任务中心模块;任务客户端用于生成任务信息再交由任务中心模块进行调度与执行;且任务客户端模块与任务插件模块一一对应任务中心模块用于调度系统的流转,与任务客户端模块对接,并与任务插件模块交互。2.根据权利要求1所述的一种动态扩展任务的调度系统,其特征在于:任务中心模块包括抽象模块和匹配模块;抽象模块用于标准接口的定义,并通过任务插件模块实现;标准接口的定义包括调度规则定义、调度规则匹配、任务执行和功能性定义;匹配模块用于调度任务的筛选,并定位可执行任务的资源信息;匹配模块包括路由匹配、集群匹配和资源匹配。3.根据权利要求1所述的一种动态扩展任务的调度系统,其特征在于:预配置模块包括路由配置模块、集群配置模块和资源配置模块。4.根据权利要求3所述的一种动态扩展任务的调度系统,其特征在于:路由配置包含任务类型设置、路由规则设置、路由值设置;任务类型设置用于设置任务类型,任务类型从任务插件模块获取;路由规则设置包括公共规则设置和调度规则设置;公共规则设置通过任务中心模块定义;调度规则设置通过任务插件模块获取;路由值设置为路由规则对应的路由值。5.根据权利要求3所述的一种动态扩展任务的调度系统,其特征在于:集群配置模块包括所属路由设置、功能特性设置和任务上限设置;所属路由设置为所属路由关联的路由信息设置;功能特性设置用于对任务插件模块获取自定义的功能特性的设置;任务上限设置用于限制集群下的每个资源运行的任务数量。6.根据权利要求2所述的一种动态扩展任务的调度系统,其特征在于:路由匹配用于任务中心模块对接任务客户端模块;集群匹配用于筛选符合条件的路由下的符合条件的集群;资源匹配用于下发任务前的处理。7.一种动态扩展任务的调度方法,用于视频任务的调度中,其方法:包括任务权利要求1-6任一权利要求动态扩展任务的调度系统;任务调度信息的设置,通过预配置模块进行任务调度的信息进行配置,任务调度的信息包括任务调度的资源和任务调度的规则;任务的组装,通过任务客户端模块进行任务调度信息的装置,同时可动态扩展任务;任务的流转,通过任务中心模块对于任务调度的流转;任务的操作,通过任务插件模块进行任务操作,并提供任务操作信息至任务中心模块;任务的操作信息包括特有的任务调度规则、任务功能特性的定义和可动态扩展的任务;任务的操作包括任务的启动、任务的停止和任务的删除。8.一种存储介质,其特征在于,包括权利要求1-6所述的一种动态扩展任务的调度系统实现的存储介质。9.一种电子设备,其特征在于,包括权利要求1-6所述的一种动态扩展任务的调度系统实现的电子设备。

技术总结
本发明涉及计算机应用技术,公开了一种动态扩展任务的调度系统和方法,其包括任务中心模块、任务插件模块、任务客户端模块和预配置模块;预配置模块用于对预下发的任务进行设置;任务插件模块用于实现任务中心模块标准接口的定义,并加载至任务中心模块;任务客户端用于生成任务信息再交由任务中心模块进行调度与执行;且任务客户端模块与任务插件模块一一对应任务中心模块用于调度系统的流转,与任务客户端模块对接,并与任务插件模块交互。通过设计的动态扩展任务的调度系统,可以汇聚不同类型的任务,且可以在不影响其他任务调度与执行的情况下,新增或剔除某类任务,同时支持每类任务自定义调度规则。每类任务自定义调度规则。每类任务自定义调度规则。


技术研发人员:代存折 杨煜红 刘国强 李妃军
受保护的技术使用者:杭州当虹科技股份有限公司
技术研发日:2022.07.11
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-7006.html

最新回复(0)