一种多种类任务的动态调度方法与流程
未命名
08-27
阅读:162
评论:0
1.本发明涉及一种多种类任务的动态调度方法,属于任务的动态调度技术领域。
背景技术:
2.随着信息时代通信技术的发展,人机操作便捷化并不能满足人们的自动化运行的高需求,指挥调度智能化更加符合系统业务运行的发展趋势。针对调度系统具备多种类数据处理的需求,对任务执行成功率的要求也越来越高。
3.传统的指挥调度平台信息整合能力有限,多网络信息整合困难,无法实现多种类任务的综合指挥调度,由于要满足具备多种类型任务处理的能力以及优先级的约束,因此首先要对系统中的所有任务做一个全局优先级的分析,再进行统一的调度;每当有新的任务加入时,都要对该任务的信息进行分析,并根据分析结果更新任务处理顺序,满足用户对不同种类任务的先后处理需求。
技术实现要素:
4.本发明的技术解决问题是:克服现有调度技术具备专用性,综合调度能力低的补足,提出一种多种类任务的动态调度方法。
5.本发明的技术解决方案是:
6.一种多种类任务的动态调度方法,该方法包括:
7.s1,调度中心获取任务字段信息,方法为:调度中心接收到任务计划文件,若任务计划为新建计划,则解析任务计划信息,提取关键字段信息,并提取数据库信息进行冲突检测,如果没有冲突则根据计划内容生成数据记录并入库;若任务计划为取消计划,则解析任务计划信息,并检测数据库中是否存在此计划,如果存在且该计划有对应任务运行,则发送停止命令向停止该任务;
8.s2,调度中心根据任务字段信息进行信息交互,方法为:计划管控服务进程在获取任务计划信息后,通过任务状态监听、消息命令交互等,完成任务的分配与执行,主进程同时进行任务计划监听、数据库表扫描、rabbitmq消息接收与发送线程,任务计划监听进程负责检测是否接到任务计划信息,若有新的任务计划信息,数据库表扫描进行实时扫描计划信息与任务运行信息,确认任务计划状态以进行计划冲突或执行与否的判断,任务运行状态信息的则用来判断并确认任务是否停止或继续;rabbitmq消息发送与接收线程则通过消息交互完成任务操作与状态更新;
9.s3,调度中心根据信息交互结果对所接收的任务进行类型划分;
10.进行任务类型划分时的步骤包括:
11.第一步,根据任务的紧急程度进行划分,紧急程度包括紧急任务和非紧急任务,紧急任务的优先级高于非紧急任务;
12.第二步,当任务的紧急程度一致时,再根据任务的重要程度将任务划分为重要任务与非重要任务,重要任务的优先级高于非重要任务;
13.第三步,当任务的重要程度一致时,再根据任务的类别将任务划分为实时任务r1、重传任务r2、事后回放(重新执行已经执行过的任务)任务r3,r1的优先级高于r2,r2的优先级高于r3;
14.第四步,当任务的类别一致时,再根据任务的处理方式将任务划分为实时处理d1和事后处理d2,实时处理d1的优先级高于事后处理d2;
15.第五步,当任务的处理方式一致时,再根据任务的初始时间进行任务的先后排序;
16.所述的第一步和第二步中进行任务划分的方法为:紧急程度与重要程度为任务类型判断的两个重要属性,计划中心下发任务计划到调度中心,调度中心对任务计划文件中的紧急程度字段与重要程度字段的内容进行解析,解析后获取任务的紧急程度与重要程度;
17.将任务分为四种类型:紧急重要任务a、非重要紧急任务b、重要非紧急任务c、常规任务d,其中,紧急重要任务a即为既紧急又重要的任务,必须马上创建处理流程立即处理,且能够确保处理结果正确性的任务;非重要紧急任务b即为紧急但是不重要的任务为立即安排处理,但结果不受关注,处理流程正常结束即可,重要非紧急任务c即为重要但是不紧急的任务,可以暂时延缓处理,但必须处理且处理结果确保正确性的任务;常规任务d即为正常下发的没有特殊要求的任务,非紧急且非重要;四种任务的处理优先级为:紧急重要任务a》非重要紧急任务b》重要非紧急任务c》常规任务d;
18.所述的第三步中,进行任务类别划分的方法为:调度中心根据已经下发的任务计划文件中的任务类别字段的内容并对字段的内容进行解析后获取任务的类别信息,将任务分为实时任务r1、重传任务r2和事后回放任务r3,其中,实时任务r1即为对数据进行实时接收并同步下传与处理的任务;重传任务r2即为读取已经记录归档的数据并将读取的数据进行下发与处理的任务;事后回放任务r3即是读取已经记录到本地的数据进行回放处理的任务;
19.所述的第四步中,进行任务处理方式进行划分的方法为:调度中心对已经下发的任务计划文件中的任务处理方式字段的内容进行解析,解析后获取任务的处理方式信息,将任务划分为实时处理d1和事后处理d2,实时处理d1即为数据接收的同时进行数据的处理;事后处理d2是接收数据的过程中,不进行数据的处理,待数据接收记录落盘结束后,再对数据进行处理;
20.所述的第五步中,根据任务的处理时间对任务进行处理时:调度中心对已经下发的任务计划文件中的任务时间的字段进行解析,解析后获取任务的初始时间。
21.针对任务实时并行处理的需求,调度中心根据任务处理的优先级,通过计划管控服务实现任务分配与调度。计划管控服务首先根据任务计划中的紧急程度与重要程度将任务进行优先级排列;若重要与紧急程度相同,则判断任务类别,将任务进行优先级排列;若重要程度、紧急程度与任务类别均一致,则根据处理方式进行优先级排列;若任务分类的四种属性均一致,则按照任务开始时间的先后顺序进行排列;
22.s4,任务进行优先级排序后形成任务处理队列,处理队列信息根据任务信息进行实时更新并写入数据库,当接收到新的任务计划时,将任务计划按照上述方法进行字段解析与优先级判断,并根据得到的处理顺序结果插入任务处理队列并更新数据库。
23.有益效果
24.(1)本发明结合任务多种类的特点与处理需求,首先对下发的计划文件字段内容进行解析,采用mq(message queue,消息队列)发送实时特定消息(命令)来实现任务计划信息交互,并根据得到的计划信息进行任务优先级排序,完成任务的动态调度。
25.(2)本发明的任务优先级排序采用多种属性判断的划分逻辑:根据任务的紧急性与重要性排列出基本处理顺序,然后针对不同任务类型与不同任务处理方式,在基本顺序调度机制的基础上,完成任务优先级的判断并设置任务处理优先级,完成多种类任务动态调度方法的实时应用。
26.(3)本发明对系统中的所有任务做一个全局的分析,再进行统一的调度,每当有新的任务加入时,分析任务优先等级,插入对应位置的任务处理队列,实现多种类任务的动态调度。
27.(4)本发明的方法中通过紧急程度与重要程度为任务类型判断的两个重要属性,计划中心下发任务计划到调度中心,调度中心对任务计划文件中的紧急程度字段与重要程度字段的内容进行解析,解析后获取任务的紧急程度与重要程度。
28.(5)本发明的方法中将任务分为四种类型:紧急重要任务a、非重要紧急任务b、重要非紧急任务c、常规任务d,其中,紧急重要任务a即为既紧急又重要的任务,必须马上创建处理流程立即处理,且能够确保处理结果正确性的任务;非重要紧急任务b即为紧急但是不重要的任务为立即安排处理,但结果不受关注,处理流程正常结束即可,重要非紧急任务c即为重要但是不紧急的任务,暂时延缓处理,但必须处理且处理结果确保正确性的任务;常规任务d即为正常下发的没有特殊要求的任务,非紧急且非重要;四种任务的处理优先级为:紧急重要任务a》非重要紧急任务b》重要非紧急任务c》常规任务d。
29.(6)本发明的方法中进行任务类别划分时调度中心根据已经下发的任务计划文件中的任务类别字段的内容并对字段的内容进行解析后获取任务的类别信息,将任务分为实时任务r1、重传任务r2和事后回放任务r3,其中,实时任务r1即为对数据进行实时接收并同步下传与处理的任务;重传任务r2即为读取已经记录归档的数据并将读取的数据进行下发与处理的任务;事后回放任务r3即是读取已经记录到本地的数据进行回放处理的任务。
附图说明
30.图1为任务紧急与重要优先级判断规则图;
31.图2为任务优先级判断规则图。
具体实施方式
32.下面结合附图和实施例对本发明做进一步说明。
33.如图1和图2所示,一种多种类任务的动态调度方法,该方法包括:
34.s1,调度中心获取任务字段信息,方法为:调度中心接收到任务计划文件,若任务计划为新建计划,则解析任务计划信息,提取关键字段信息,并提取数据库信息进行冲突检测,如果没有冲突则根据计划内容生成数据记录并入库;若任务计划为取消计划,则解析任务计划信息,并检测数据库中是否存在此计划,如果存在且该计划有对应任务运行,则发送停止命令向停止该任务;
35.s2,调度中心根据任务字段信息进行信息交互,方法为:计划管控服务进程在获取
任务计划信息后,通过任务状态监听、消息命令交互等,完成任务的分配与执行,主进程同时进行任务计划监听、数据库表扫描、rabbitmq消息接收与发送线程,任务计划监听进程负责检测是否接到任务计划信息,若有新的任务计划信息,数据库表扫描进行实时扫描计划信息与任务运行信息,确认任务计划状态以进行计划冲突或执行与否的判断,任务运行状态信息的则用来判断并确认任务是否停止或继续;rabbitmq消息发送与接收线程则通过消息交互完成任务操作与状态更新;
36.s3,调度中心根据信息交互结果对所接收的任务进行类型划分;
37.进行任务类型划分时的步骤包括:
38.第一步,根据任务的紧急程度进行划分,紧急程度包括紧急任务和非紧急任务,紧急任务的优先级高于非紧急任务;
39.第二步,当任务的紧急程度一致时,再根据任务的重要程度将任务划分为重要任务与非重要任务,重要任务的优先级高于非重要任务;
40.第三步,当任务的重要程度一致时,再根据任务的类别将任务划分为实时任务r1、重传任务r2、事后回放(重新执行已经执行过的任务)任务r3,r1的优先级高于r2,r2的优先级高于r3;
41.第四步,当任务的类别一致时,再根据任务的处理方式将任务划分为实时处理d1和事后处理d2,实时处理d1的优先级高于事后处理d2;
42.第五步,当任务的处理方式一致时,再根据任务的初始时间进行任务的先后排序;
43.所述的第一步和第二步中进行任务划分的方法为:紧急程度与重要程度为任务类型判断的两个重要属性,计划中心下发任务计划到调度中心,调度中心对任务计划文件中的紧急程度字段与重要程度字段的内容进行解析,解析后获取任务的紧急程度与重要程度;
44.将任务分为四种类型:紧急重要任务a、非重要紧急任务b、重要非紧急任务c、常规任务d,其中,紧急重要任务a即为既紧急又重要的任务,必须马上创建处理流程立即处理,且能够确保处理结果正确性的任务;非重要紧急任务b即为紧急但是不重要的任务为立即安排处理,但结果不受关注,处理流程正常结束即可,重要非紧急任务c即为重要但是不紧急的任务,可以暂时延缓处理,但必须处理且处理结果确保正确性的任务;常规任务d即为正常下发的没有特殊要求的任务,非紧急且非重要;四种任务的处理优先级为:紧急重要任务a》非重要紧急任务b》重要非紧急任务c》常规任务d;
45.所述的第三步中,进行任务类别划分的方法为:调度中心根据已经下发的任务计划文件中的任务类别字段的内容并对字段的内容进行解析后获取任务的类别信息,将任务分为实时任务r1、重传任务r2和事后回放任务r3,其中,实时任务r1即为对数据进行实时接收并同步下传与处理的任务;重传任务r2即为读取已经记录归档的数据并将读取的数据进行下发与处理的任务;事后回放任务r3即是读取已经记录到本地的数据进行回放处理的任务;
46.所述的第四步中,进行任务处理方式进行划分的方法为:调度中心对已经下发的任务计划文件中的任务处理方式字段的内容进行解析,解析后获取任务的处理方式信息,将任务划分为实时处理d1和事后处理d2,实时处理d1即为数据接收的同时进行数据的处理;事后处理d2是接收数据的过程中,不进行数据的处理,待数据接收记录落盘结束后,再
对数据进行处理;
47.所述的第五步中,根据任务的处理时间对任务进行处理时:调度中心对已经下发的任务计划文件中的任务时间的字段进行解析,解析后获取任务的初始时间。
48.针对任务实时并行处理的需求,调度中心根据任务处理的优先级,通过计划管控服务实现任务分配与调度。计划管控服务首先根据任务计划中的紧急程度与重要程度将任务进行优先级排列;若重要与紧急程度相同,则判断任务类别,将任务进行优先级排列;若重要程度、紧急程度与任务类别均一致,则根据处理方式进行优先级排列;若任务分类的四种属性均一致,则按照任务开始时间的先后顺序进行排列;
49.s4,任务进行优先级排序后形成任务处理队列,处理队列信息根据任务信息进行实时更新并写入数据库,当接收到新的任务计划时,将任务计划按照上述方法进行字段解析与优先级判断,并根据得到的处理顺序结果插入任务处理队列并更新数据库。
50.实施例
51.计划中心同时下发了8条任务计划文件,分别为task1、task1、task3、task4、task5、task6、task7、task8,调度中心对接收到的该8条任务进行任务调度安排。
52.首先,解析8条计划文件中的紧急程度与重要程度字段内容,获得任务的紧急程度与重要程度,并进行优先级排序。其中,task1划分为重要紧急任务a,task2划分为非重要紧急任务b,task3划分为重要非紧急任务c,task4、task5、task6、task7和task8均划分为常规任务d。此时8条任务的优先级为:task1的优先级高于task2,task2的优先级高于task3,task3的优先级高于task4、task5、task6、task7和task8。
53.然后,解析任务task4、task5、task6、task7和task8的计划文件中的任务类别字段内容,获得任务的类别,将任务根据类别进行优先级排序。其中,task4划分为实时任务r1,task5划分为重传任务r2,task6、task7和task8均划分为事后回放任务r3。此时该5条任务的优先级为:task4的优先级高于task5,task5的优先级高于task6、task7和task8。
54.接着,解析task6、task7和task8。的计划文件中的处理方式字段内容,获得任务的处理方式,将任务根据处理方式进行优先级排序。其中,task6划分为实时处理d1,task7和task8均划分为事后处理d2。此时该3条任务的优先级为:task6的优先级高于task7和task8。
55.最后,解析task7和task8的计划文件中的任务时间信息字段内容,获得任务的处理开始时间,将任务进行优先级排序。其中,task7的任务开始时间早于task8的任务开始时间,因此task7的优先级高于task8。
56.汇总8条任务的优先级,优先级排序为:task1》task1》task3》task4》task5》task6》task7》task8。根据任务优先级排序结果形成任务处理队列,并将处理队列信息根据写入数据库。
57.当接收到新的任务计划task9时,将该任务计划按照上述任务优先级规则进行判断,得到该任务划分结果为常规任务d、事后回放任务r3和实时处理c1,则该任务的优先级低于task6且高于task7,因此将task9插入任务处理队列中task6与task7之间,并更新数据库。
技术特征:
1.一种多种类任务的动态调度方法,其特征在于该方法的步骤包括:s1,调度中心获取任务字段信息;s2,调度中心根据任务字段信息进行信息交互;s3,调度中心根据信息交互结果对所接收的任务进行类型划分;s4,根据任务类型划分结果进行任务优先级排序后形成任务处理队列,完成多种类任务的动态调度。2.根据权利要求1所述的一种多种类任务的动态调度方法,其特征在于:所述的步骤s1中,调度中心获取任务字段信息的方法为:调度中心接收到任务计划文件,若任务计划为新建计划,则解析任务计划信息,提取关键字段信息,并提取数据库信息进行冲突检测,如果没有冲突则根据计划内容生成数据记录并入库;若任务计划为取消计划,则解析任务计划信息,并检测数据库中是否存在此计划,如果存在且该计划有对应任务运行,则发送停止命令向停止该任务。3.根据权利要求2所述的一种多种类任务的动态调度方法,其特征在于:所述的步骤s2中,调度中心根据任务字段信息进行信息交互的方法为:计划管控服务进程在获取任务计划信息后,通过任务状态监听、消息命令交互,完成任务的分配与执行,主进程同时进行任务计划监听、数据库表扫描、rabbitmq消息接收与发送线程,任务计划监听进程负责检测是否接到任务计划信息,若有新的任务计划信息,数据库表扫描进行实时扫描计划信息与任务运行信息,确认任务计划状态以进行计划冲突或执行与否的判断,任务运行状态信息的则用来判断并确认任务是否停止或继续;rabbitmq消息发送与接收线程则通过消息交互完成任务操作与状态更新。4.根据权利要求3所述的一种多种类任务的动态调度方法,其特征在于:所述的步骤s3中,调度中心根据信息交互结果对所接收的任务进行类型划分的方法为:第一步,根据任务的紧急程度进行划分,紧急程度包括紧急任务和非紧急任务,紧急任务的优先级高于非紧急任务;第二步,当任务的紧急程度一致时,再根据任务的重要程度将任务划分为重要任务与非重要任务,重要任务的优先级高于非重要任务;第三步,当任务的重要程度一致时,再根据任务的类别将任务划分为实时任务r1、重传任务r2、事后回放任务r3,r1的优先级高于r2,r2的优先级高于r3;第四步,当任务的类别一致时,再根据任务的处理方式将任务划分为实时处理d1和事后处理d2,实时处理d1的优先级高于事后处理d2;第五步,当任务的处理方式一致时,再根据任务的初始时间进行任务的先后排序。5.根据权利要求4所述的一种多种类任务的动态调度方法,其特征在于:所述的第一步和第二步中进行任务划分的方法为:紧急程度与重要程度为任务类型判断的两个重要属性,计划中心下发任务计划到调度中心,调度中心对任务计划文件中的紧急程度字段与重要程度字段的内容进行解析,解析后获取任务的紧急程度与重要程度。6.根据权利要求5所述的一种多种类任务的动态调度方法,其特征在于:将任务分为四种类型:紧急重要任务a、非重要紧急任务b、重要非紧急任务c、常规任务d,其中,紧急重要任务a即为既紧急又重要的任务,必须马上创建处理流程立即处理,且能
够确保处理结果正确性的任务;非重要紧急任务b即为紧急但是不重要的任务为立即安排处理,但结果不受关注,处理流程正常结束即可,重要非紧急任务c即为重要但是不紧急的任务,暂时延缓处理,但必须处理且处理结果确保正确性的任务;常规任务d即为正常下发的没有特殊要求的任务,非紧急且非重要;四种任务的处理优先级为:紧急重要任务a>非重要紧急任务b>重要非紧急任务c>常规任务d。7.根据权利要求4-6任一所述的一种多种类任务的动态调度方法,其特征在于:所述的第三步中,进行任务类别划分的方法为:调度中心根据已经下发的任务计划文件中的任务类别字段的内容并对字段的内容进行解析后获取任务的类别信息,将任务分为实时任务r1、重传任务r2和事后回放任务r3,其中,实时任务r1即为对数据进行实时接收并同步下传与处理的任务;重传任务r2即为读取已经记录归档的数据并将读取的数据进行下发与处理的任务;事后回放任务r3即是读取已经记录到本地的数据进行回放处理的任务。8.根据权利要求4所述的一种多种类任务的动态调度方法,其特征在于:所述的第四步中,进行任务处理方式进行划分的方法为:调度中心对已经下发的任务计划文件中的任务处理方式字段的内容进行解析,解析后获取任务的处理方式信息,将任务划分为实时处理d1和事后处理d2,实时处理d1即为数据接收的同时进行数据的处理;事后处理d2是接收数据的过程中,不进行数据的处理,待数据接收记录落盘结束后,再对数据进行处理。9.根据权利要求4所述的一种多种类任务的动态调度方法,其特征在于:所述的第五步中,根据任务的处理时间对任务进行处理时:调度中心对已经下发的任务计划文件中的任务时间的字段进行解析,解析后获取任务的初始时间。10.根据权利要求4所述的一种多种类任务的动态调度方法,其特征在于:所述的步骤s4中,任务进行优先级排序后形成任务处理队列后处理队列信息根据任务信息进行实时更新并写入数据库,当接收到新的任务计划时,将任务计划按照上述方法进行字段解析与优先级判断,并根据得到的处理顺序结果插入任务处理队列并更新数据库。
技术总结
本发明涉及一种多种类任务的动态调度方法,属于任务的动态调度技术领域。本发明结合任务多种类的特点与处理需求,首先对下发的计划文件字段内容进行解析,发送实时特定消息来实现任务计划信息交互,并根据得到的计划信息进行任务优先级排序,完成任务的动态调度。任务优先级排序采用多种属性判断的划分逻辑:根据任务的紧急性与重要性排列出基本处理顺序,然后针对不同任务类型与不同任务处理方式,在基本顺序调度机制的基础上,完成任务优先级的判断并设置任务处理优先级,完成多种类任务动态调度方法的实时应用。态调度方法的实时应用。态调度方法的实时应用。
技术研发人员:赵薇薇 陈亮 陈雪华 吕守业 刘喆 王永刚
受保护的技术使用者:中国人民解放军61646部队
技术研发日:2022.09.02
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
