分布式任务调度方法及其系统、存储介质、电子设备技术方案

技术编号:18458595 阅读:35 留言:0更新日期:2018-07-18 12:37
本发明专利技术揭示了分布式任务调度方法及其系统、存储介质、电子设备。所述分布式任务调度系统包括至少一任务生产者、至少一任务消费者、注册中心以及管理中心,所述分布式任务调度方法包括如下步骤:任务生产者和任务消费者分别向注册中心进行注册;注册中心将所有任务生产者和任务消费者的注册信息发送至管理中心,管理中心缓存任务生产者和任务消费者的信息;由一任务生产者生成任务列表,并将任务列表推送至管理中心;管理中心接收并落地任务列表;管理中心设置任务分配规则,并实时根据任务分配规则分配各项任务;任务消费者接收管理中心分配的任务;任务消费者处理任务后,反馈任务处理的结果至管理中心。

Distributed task scheduling method and system, storage medium, and electronic device

The invention discloses a distributed task scheduling method, a system, a storage medium, and an electronic device. The distributed task scheduling system includes at least one task producer, at least one task consumer, a registration center, and a management center. The distributed task scheduling method includes the following steps: the task producer and the task consumer register in the registry respectively; the registry will eliminate all task producers and tasks. The registration information of the provider is sent to the management center, the management center caches the information of the task producer and the task consumer; the task list is generated by a task producer and the task list is pushed to the management center; the management center receives and falls to the landing task list; the management center sets up the assignment rules and according to the tasks in real time. Assign rules to assign tasks; the task consumers receive the tasks assigned by the management center; after the task consumers deal with the task, the results of the task are fed back to the management center.

【技术实现步骤摘要】
分布式任务调度方法及其系统、存储介质、电子设备
本专利技术涉及一种分布式任务调度方法及其系统、存储介质、电子设备。
技术介绍
当前,在很多大型互联网企业的任务调度系统中越来越多的地方需要使用定时触发任务的功能,譬如:定时刷新缓存,定时迁移数据等。由于之前的任务处理的作业量不大,任务处理的时间短,因此,可以采用分布式锁或Active-Standby选举的方式来实现任务调度系统中只有单个服务器处理任务。但是,随着任务的越来越多,数据越来越大,现有任务调度系统的任务处理量也日渐增加,任务处理的时间也越来越长,无法满足数据处理的需求。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种分布式任务调度方法及其系统、存储介质、电子设备,可以降低任务的处理时长,提高任务的效率和成功率,并且还能够实时监控任务,管理任务的调度。提高系统中服务器的利用率,保证服务器的负载均衡。根据本专利技术的一个方面提供一种分布式任务调度方法,所述分布式任务调度方法用于分布式任务调度系统的任务调度,所述分布式任务调度系统包括至少一任务生产者、至少一任务消费者、注册中心以及管理中心,所述分布式任务调度方法包括如下步骤:S10:所述任务生产者和所述任务消费者分别向所述注册中心进行注册;S20:所述注册中心将所有所述任务生产者和所述任务消费者的注册信息发送至所述管理中心,所述管理中心缓存所述任务生产者和所述任务消费者的信息;S30:由一所述任务生产者生成任务列表,并将所述任务列表推送至所述管理中心;S40:所述管理中心接收并落地所述任务列表;S50:所述管理中心设置任务分配规则,并实时根据所述任务分配规则分配各项任务;S60:所述任务消费者接收所述管理中心分配的任务;S70:所述任务消费者处理任务后,反馈任务处理的结果至所述管理中心。优选地,多个所述任务生产者之间才用主—备方式进行切换,同一时刻仅有一个所述任务生产者在工作。优选地,所述步骤S30还包括如下步骤:S301:所述任务生产者生成至少一待处理任务;S302:将所述待处理任务拆分为多个子任务,多个所述子任务形成一任务列表;S303:将所述任务列表推送至所述管理中心;S304:向所述注册中心发出取消注册的消息。优选地,所述注册中心接收所述任务生产者或所述任务消费者发出的取消注册的消息后,将该取消注册的消息转发至所述管理中心,所述管理中心接收到该取消注册的消息后等待一秒后,选择另一个所述任务生产者接收任务列表或选择另一个所述任务消费者分配任务。优选地,所述管理中心包括Rest接口,所述管理中心通过所述Rest接口接收所述任务生产者发出的任务列表、接收所述任务生产者反馈的任务处理的结果,并且发出启动或者停止的指令。优选地,在所述步骤S70中,任务消费者通过ACK控制字符反馈任务处理的结果发送至所述注册中心,并且通过所述注册中心修改所述管理中心的当前任务状态信息。优选地,所述注册中心为Zookeeper。根据本专利技术的另一个方面,还提供一种分布式任务调度系统,所述分布式任务调度系统包括至少一任务生产者、至少一任务消费者、注册中心以及管理中心;其中,所述任务生产者用于生成任务并拆分任务后形成任务列表,并将所述任务列表推送至所述管理中心;所述任务消费者用于接收所述管理中心分配的任务,并且处理任务后,反馈任务处理的结果至所述管理中心;所述注册中心用于将所有所述任务生产者和所述任务消费者的注册信息发送至所述管理中心、对所述任务生产者和所述任务消费者进行注册;所述管理中心用于缓存所述任务生产者和所述任务消费者的信息、接收并落地所述任务列表、设置任务分配规则、实时根据所述任务分配规则分配各项任务、启动或停止更改作业的调度周期,监控任务的进度。根据本专利技术的又一个方面,还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的分布式任务调度方法的步骤。根据本专利技术的又一个方面,还提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的分布式任务调度方法的步骤。相比于现有技术,本专利技术实施例提供的分布式任务调度方法以及系统、存储介质、电子设备中分布式任务调度方法中通过任务生产者和任务消费者分别向注册中心进行注册,由一任务生产者生成任务列表,并将任务列表推送至管理中心;管理中心接收并落地任务列表后设置任务分配规则,并实时根据任务分配规则分配各项任务;任务消费者接收管理中心分配的任务并处理后,反馈任务处理的结果至管理中心的方式。进而,至少具有如下有益效果:1、降低任务的处理时长;2、通过对任务的拆分,更好的利用分布式任务调度系统的所有服务器的处理能力,保证服务器的负载均衡,提高任务的效率和成功率;3、可以通过管理中心,更好的监控和管理任务的调度;4、可以使用错误重试,故障转移等方式提高任务处理的稳定率。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术的一个实施例的分布式任务调度方法的流程图;图2为本专利技术的一个实施例的分布式任务调度方法中一个任务生产者生成任务列表并推送的各个步骤的流程图;图3为本专利技术的一个实施例的分布式任务调度系统的模块构成示意图;图4为本专利技术公开示例性实施例中一种计算机可读存储介质示意图;以及图5为本专利技术公开示例性实施例中一种电子设备示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本专利技术将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本专利技术的实施方式的充分理解。然而,本领域技术人员应意识到,没有特定细节中的一个或更多,或者采用其它的方法、组元、材料等,也可以实践本专利技术的技术方案。在某些情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本专利技术。此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。依据本专利技术的主旨构思,本专利技术的一种分布式任务调度方法,用于分布式任务调度系统的任务调度,所述分布式任务调度系统包括至少一任务生产者、至少一任务消费者、注册中心以及管理中心,所述分布式任务调度方法包括如下步骤:所述任务生产者和所述任务消费者分别向所述注册中心进行注册;所述注册中心将所有所述任务生产者和所述任务消费者的注册信息发送至所述管理中心,所述管理中心缓存所述任务生产者和所述任务消费者的信息;由一所述任务生产者生成任务列表,并将所述任务列表推送至所述管理中心;所述管理中心接收并落地所述任务列表;所述管理中心设置任务分配规则,并本文档来自技高网...

【技术保护点】
1.一种分布式任务调度方法,其特征在于,所述分布式任务调度方法用于分布式任务调度系统的任务调度,所述分布式任务调度系统包括至少一任务生产者、至少一任务消费者、注册中心以及管理中心,所述分布式任务调度方法包括如下步骤:S10:所述任务生产者和所述任务消费者分别向所述注册中心进行注册;S20:所述注册中心将所有所述任务生产者和所述任务消费者的注册信息发送至所述管理中心,所述管理中心缓存所述任务生产者和所述任务消费者的信息;S30:由一所述任务生产者生成任务列表,并将所述任务列表推送至所述管理中心;S40:所述管理中心接收并落地所述任务列表;S50:所述管理中心设置任务分配规则,并实时根据所述任务分配规则分配各项任务;S60:所述任务消费者接收所述管理中心分配的任务;S70:所述任务消费者处理任务后,反馈任务处理的结果至所述管理中心。

【技术特征摘要】
1.一种分布式任务调度方法,其特征在于,所述分布式任务调度方法用于分布式任务调度系统的任务调度,所述分布式任务调度系统包括至少一任务生产者、至少一任务消费者、注册中心以及管理中心,所述分布式任务调度方法包括如下步骤:S10:所述任务生产者和所述任务消费者分别向所述注册中心进行注册;S20:所述注册中心将所有所述任务生产者和所述任务消费者的注册信息发送至所述管理中心,所述管理中心缓存所述任务生产者和所述任务消费者的信息;S30:由一所述任务生产者生成任务列表,并将所述任务列表推送至所述管理中心;S40:所述管理中心接收并落地所述任务列表;S50:所述管理中心设置任务分配规则,并实时根据所述任务分配规则分配各项任务;S60:所述任务消费者接收所述管理中心分配的任务;S70:所述任务消费者处理任务后,反馈任务处理的结果至所述管理中心。2.如权利要求1所述的分布式任务调度方法,其特征在于,多个所述任务生产者之间才用主—备方式进行切换,同一时刻仅有一个所述任务生产者在工作。3.如权利要求1所述的分布式任务调度方法,其特征在于,所述步骤S30还包括如下步骤:S301:所述任务生产者生成至少一待处理任务;S302:将所述待处理任务拆分为多个子任务,多个所述子任务形成一任务列表;S303:将所述任务列表推送至所述管理中心;S304:向所述注册中心发出取消注册的消息。4.如权利要求3所述的分布式任务调度方法,其特征在于,所述注册中心接收所述任务生产者或所述任务消费者发出的取消注册的消息后,将该取消注册的消息转发至所述管理中心,所述管理中心接收到该取消注册的消息后等待一秒后,选择另一个所述任务生产者接收任务列表或选择另一个所述任务消费者分配任务。5.如权利...

【专利技术属性】
技术研发人员:孙傲林蒋一新
申请(专利权)人:上海携程商务有限公司
类型:发明
国别省市:上海,31

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

1