一种基于MQ的云任务调度与执行的方法及系统技术方案

技术编号:32649224 阅读:12 留言:0更新日期:2022-03-12 18:37
本发明专利技术提供了一种基于MQ的云任务调度与执行的方法,所述方法包括以下步骤:步骤S1、将消息队列的消息生产端设置为入口,设置任务参数;步骤S2、将任务参数插入到数据库中;步骤S3、给消息队列投递任务参数的消息;步骤S4、消息队列的消费模块实时消费任务参数的消息;步骤S5、消息队列的消费模块将任务参数的消息移交至云任务调度中心,构建任务参数的指令链;步骤S6、将云任务调度中心的生产模块作为消息队列的生产端,将指令链投递至消息队列中;步骤S7、将任务指令执行的客户端作为消息队列的消费端,消费指令链消息并处理,完成后实时回调至消息队列;本发明专利技术能够实现通过消息队列使任务调度中各个部件的耦合度降为零。任务调度中各个部件的耦合度降为零。任务调度中各个部件的耦合度降为零。

【技术实现步骤摘要】
一种基于MQ的云任务调度与执行的方法及系统


[0001]本专利技术涉及计算机
,特别是一种基于MQ的云任务调度与执行的方法及系统。

技术介绍

[0002]在稍微大而复杂的系统中经常会涉及到任务调度能力,分解规模大小的执行单元以及构建清晰的任务链是任务调度的关键点。传统的任务调度系统在调度的各个环节或是Restfull或者RPC消息互相交织,增加了开发复杂度,为构建清晰的任务链造成了难度;另外,执行任务层面,传统的任务调度系统都是以任务为最小单元,而对任务中更细粒度的执行单元无法再次调度,原则上造成资源浪费。

技术实现思路

[0003]为克服上述问题,本专利技术的目的是提供一种能够实现通过消息队列使任务调度中各个部件的耦合度降为零的方法。
[0004]本专利技术采用以下方案实现:一种基于MQ的云任务调度与执行的方法,所述方法包括以下步骤:
[0005]步骤S1、将消息队列的消息生产端设置为入口,设置任务参数;
[0006]步骤S2、将任务参数插入到数据库中;
[0007]步骤S3、给消息队列投递任务参数的消息;
[0008]步骤S4、消息队列的消费模块实时消费任务参数的消息;
[0009]步骤S5、消息队列的消费模块将任务参数的消息移交至云任务调度中心,构建任务参数的指令链,指令链按照串并行方式传递至云任务调度中心的生产模块中;
[0010]步骤S6、将云任务调度中心的生产模块作为消息队列的生产端,将指令链投递至消息队列中;
[0011]步骤S7、将任务指令执行的客户端作为消息队列的消费端,消费指令链消息并处理,完成后实时回调至消息队列,从而通过消息队列实现任务调度的各个部件耦合度降为零。
[0012]进一步的,所述步骤S2进一步具体为:将任务参数按照格式插入至数据库中,根据任务参数的ID,从数据库中获取任务参数和任务类型对应的结构,后续发送至云任务调度中心的任务拆解与构建指令链模块进行使用,构建执行任务指令的先后顺序。
[0013]进一步的,所述步骤S3进一步具体为:给消息队列投递一条消息中转站为“任务”的消息,提供具体的任务参数ID,标注为${task_id}。
[0014]进一步的,所述步骤S5进一步具体为:消息队列的消费模块将带有ID任务参数的消息移交至云任务调度中心的任务拆解与构建指令链模块,构建任务参数的拓扑结构的指令链,指令链按照串并行方式传递至云任务调度中心的生产模块中。
[0015]进一步的,所述步骤S6进一步具体为:将云任务调度中心的生产模块作为消息队
列的生产端,将指令链组建一条消息中转站的消息,名称为${command_id},且消息中带有任务参数的ID,并投递至消息队列中。
[0016]进一步的,所述步骤S7进一步具体为:将任务指令执行的客户端作为消息队列的消费端,消费消息中转站的指令链消息并处理,完成后实时将结果回调至消息队列,确认执行是否成功并确认执行结果的存放路径,从而通过消息队列实现任务调度的各个部件耦合度降为零。
[0017]本专利技术还提供了一种基于MQ的云任务调度与执行的系统,包括设置模块、插入模块、投递模块、消费模块、构建模块、生产模块和回调模块,所述设置模块,即将消息队列的消息生产端设置为入口,设置任务参数;所述插入模块,即将任务参数插入到数据库中;所述投递模块,即给消息队列投递任务参数的消息;所述消费模块,即消息队列的消费模块实时消费任务参数的消息;所述构建模块,即消息队列的消费模块将任务参数的消息移交至云任务调度中心,构建任务参数的指令链,指令链按照串并行方式传递至云任务调度中心的生产模块中;所述生产模块,即将云任务调度中心的生产模块作为消息队列的生产端,将指令链投递至消息队列中;所述回调模块,即将任务指令执行的客户端作为消息队列的消费端,消费指令链消息并处理,完成后实时回调至消息队列,从而通过消息队列实现任务调度的各个部件耦合度降为零。
[0018]进一步的,所述插入模块进一步具体为:将任务参数按照格式插入至数据库中,根据任务参数的ID,从数据库中获取任务参数和任务类型对应的结构,后续发送至云任务调度中心的任务拆解与构建指令链模块进行使用,构建执行任务指令的先后顺序。
[0019]进一步的,所述投递模块进一步具体为:给消息队列投递一条消息中转站为“任务”的消息,提供具体的任务参数ID,标注为${task_id}。
[0020]进一步的,所述构建模块进一步具体为:消息队列的消费模块将带有ID任务参数的消息移交至云任务调度中心的任务拆解与构建指令链模块,构建任务参数的拓扑结构的指令链,指令链按照串并行方式传递至云任务调度中心的生产模块中。
[0021]进一步的,所述生产模块进一步具体为:将云任务调度中心的生产模块作为消息队列的生产端,将指令链组建一条消息中转站的消息,名称为${command_id},且消息中带有任务参数的ID,并投递至消息队列中。
[0022]进一步的,所述回调模块进一步具体为:将任务指令执行的客户端作为消息队列的消费端,消费消息中转站的指令链消息并处理,完成后实时将结果回调至消息队列,确认执行是否成功并确认执行结果的存放路径,从而通过消息队列实现任务调度的各个部件耦合度降为零。
[0023]本专利技术的有益效果在于:本专利技术通过MQ消息队列使得了任务调度各个部件的耦合度降为零,关注自身内部逻辑,开发难度大大降低;拆分后的执行指令,一定程度上可以让短时间指令第一时间优先执行,大大提高了效率;应对大规模复杂系统的云任务调度从开发角度,我们也需要分解使之成为小规模任务并加以处理,而这种专利技术使用分治思维满足了大问题拆分成小问题的能力。
附图说明
[0024]图1是本专利技术的方法流程示意图。
[0025]图2是本专利技术的系统原理框图。
[0026]图3为本专利技术的任务执行流程示意图。
[0027]图4为本专利技术任务详细流程示意图。
具体实施方式
[0028]下面结合附图对本专利技术做进一步说明。
[0029]请参阅图1所示,本专利技术的一种基于MQ的云任务调度与执行的方法,所述方法包括以下步骤:
[0030]步骤S1、将消息队列的消息生产端设置为入口,设置任务参数;
[0031]步骤S2、将任务参数插入到数据库中;
[0032]步骤S3、给消息队列投递任务参数的消息;
[0033]步骤S4、消息队列的消费模块实时消费任务参数的消息;
[0034]步骤S5、消息队列的消费模块将任务参数的消息移交至云任务调度中心,构建任务参数的指令链,指令链按照串并行方式传递至云任务调度中心的生产模块中;
[0035]步骤S6、将云任务调度中心的生产模块作为消息队列的生产端,将指令链投递至消息队列中;
[0036]步骤S7、将任务指令执行的客户端作为消息队列的消费端,消费指令链消息并处理,完成后实时回调至消息队列,从而通过消息队列实现任务调度的各个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于MQ的云任务调度与执行的方法,其特征在于,所述方法包括以下步骤:步骤S1、将消息队列的消息生产端设置为入口,设置任务参数;步骤S2、将任务参数插入到数据库中;步骤S3、给消息队列投递任务参数的消息;步骤S4、消息队列的消费模块实时消费任务参数的消息;步骤S5、消息队列的消费模块将任务参数的消息移交至云任务调度中心,构建任务参数的指令链,指令链按照串并行方式传递至云任务调度中心的生产模块中;步骤S6、将云任务调度中心的生产模块作为消息队列的生产端,将指令链投递至消息队列中;步骤S7、将任务指令执行的客户端作为消息队列的消费端,消费指令链消息并处理,完成后实时回调至消息队列,从而通过消息队列实现任务调度的各个部件耦合度降为零。2.根据权利要求1所述的一种基于MQ的云任务调度与执行的方法,其特征在于:所述步骤S2进一步具体为:将任务参数按照格式插入至数据库中,根据任务参数的ID,从数据库中获取任务参数和任务类型对应的结构,后续发送至云任务调度中心的任务拆解与构建指令链模块进行使用,构建执行任务指令的先后顺序。3.根据权利要求1所述的一种基于MQ的云任务调度与执行的方法,其特征在于:所述步骤S3进一步具体为:给消息队列投递一条消息中转站为“任务”的消息,提供具体的任务参数ID,标注为${task_id}。4.根据权利要求1所述的一种基于MQ的云任务调度与执行的方法,其特征在于:所述步骤S5进一步具体为:消息队列的消费模块将带有ID任务参数的消息移交至云任务调度中心的任务拆解与构建指令链模块,构建任务参数的拓扑结构的指令链,指令链按照串并行方式传递至云任务调度中心的生产模块中。5.根据权利要求1所述的一种基于MQ的云任务调度与执行的方法,其特征在于:所述步骤S6进一步具体为:将云任务调度中心的生产模块作为消息队列的生产端,将指令链组建一条消息中转站的消息,名称为${command_id},且消息中带有任务参数的ID,并投递至消息队列中。6.根据权利要求1所述的一种基于MQ的云任务调度与执行的方法,其特征在于:所述步骤S7进一步具体为:将任务指令执行的客户端作为消息队列的消费端,消费消息中转站的指令链消息并处理,完成后实时将结果回调至消息队列,确认执行是否成功并确认执行结果的存放路径,从而通过消息队列实现任务调度的各个部件耦合度降为零。7.一种基于MQ的云任务调度与执行的系统,其特征在于:包括设置模...

【专利技术属性】
技术研发人员:刘德建黄云翔黄种志汪松李佳
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1