分布式任务调度方法及系统技术方案

技术编号:13791408 阅读:140 留言:0更新日期:2016-10-06 00:47
本申请公开了一种分布式任务调度方法及系统,其中,分布式任务调度方法包括:至少一个应用服务器从分布式服务器集群中获取待处理的任务;至少一个应用服务器计算获取到的对应任务的运行周期;以及至少一个应用服务器根据任务的运行周期处理对应的任务,并向分布式服务器集群返回对应的任务处理结果,重复上述操作,直至分布式服务器集群中不存在待处理的任务。本申请实施例的分布式任务调度方法及系统,可以通过多个应用服务器并行处理任务,从而大大提高了任务的处理效率。

【技术实现步骤摘要】

本申请涉及服务器
,尤其涉及一种分布式任务调度方法及系统
技术介绍
随着互联网和电子商务的快速发展,出现了很多新的产品,其中余额宝等理财产品便是出现的一种产品。由于使用电子商务平台进行各种业务的用户数众多,因此,针对不同的业务需要处理的任务众多。目前,处理任务的方式为:通过消息驱动的方式进行任务分发,在每次任务分发时,集群中只有一个服务器可以处理任务。其中,消息是一个报告事件发生的通知,消息驱动是围绕消息的产生与处理展开的,并依靠消息循环机制来实现。由此可见,在现有的任务处理过程中只有一台服务器可以处理任务,其他服务器均处于等待状态,因此,处理效率较低。
技术实现思路
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本申请的一个目的在于提出一种分布式任务调度方法,可以通过多个应用服务器并行处理任务,从而大大提高了任务的处理效率。本申请的第二个目的在于提出一种分布式任务调度系统。为了实现上述目的,本申请第一方面实施例提出了一种分布式任务调度方法,包括:至少一个应用服务器从分布式服务器集群中获取待处理的任务;所述至少一个应用服务器计算获取到的对应任务的运行周期;以及所述至少一个应用服务器根据所述任务的运行周期处理对应的任务,并向所述分布式服务器集群返回对应的任务处理结果,重复上述操作,直至所述分布式服务器集群中不存在待处理的任务。上述分布式任务调度方法,通过至少一个应用服务器从分布式服务器集群中获取待处理的任务,计算获取到的对应任务的运行周期;以及根据上述任务的运行周期处理对应的任务,并向上述分布式服务器集群返回对应的任务处理结果,重复上述操作,直至分布式服务器集群中不存在待处理的任务;由此可见,本申请实施例的分布式任务调度方法可以通过多个应用服务器并行处理任务,从而大大提高了任务的处理效率。为了实现上述目的,本申请第二方面实施例提出了一种分布式任务调度系统,包括:分布式服务器集群,用于保存任务,所述任务包括待处理的任务,并接收任务处理结果;以及至少一个应用服务器,用于从所述分布式服务器集群中获取待处理的任务,计算对应任务的运行周期;以及根据所述任务的运行周期处理对应的任务,并向所述分布式服务器集群返回所述任务处理结果,重复上述操作,直至所述分布式服务器集群中不存在待处理的任务。上述分布式任务调度系统,通过分布式服务器集群保存任务,通过至少一个应用服务器从分布式服务器集群中获取待处理的任务,计算对应任务的运行周期;以及根据上述任务的运行周期处理对应的任务,并向上述分布式服务器集群返回上述任务处理结果,重复上述操作,直至分布式服务器集群中不存在待处理的任务;由此可见,本申请实施例的分布式任务调度方法可以通过多个应用服务器并行处理任务,从而大大提高了任务的处理效率。附图说明图1是本申请一个实施例分布式任务调度方法的流程图。图2是是本申请另一个实施例分布式任务调度方法的流程图。图3是本申请一个实施例分布式任务调度系统的结构示意图。图4是本申请另一个实施例分布式任务调度系统的结构示意图。具体实施方式下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。下面参考附图描述本申请实施例的分布式任务调度方法及系统。图1是本申请一个实施例分布式任务调度方法的流程图。如图1所示,该分布式任务调度方法包括:S101,至少一个应用服务器从分布式服务器集群中获取待处理的任务。其中,分布式服务器集群可以为zookeeper服务器集群或其他服务器集群。至少一个应用服务器包括多个应用服务器。具体地,S101可以为:至少一个应用服务器例如多个应用服务器定时或实时向上述分布式服务器集群发送查询请求,若查询结果表示上述分布式服务器集群中存在待处理的任务,则从上述分布式服务器集群中获取待处理的任务。其中,待处理的任务可以为具有不同运行周期的不同类型的业务,例如可以为每天下午3点计算余额宝的收益或计算某一基金每天的收益等。S102,至少一个应用服务器计算获取到的对应任务的运行周期。至少一个应用服务器根据获取到的任务可以计算出对应的运行周期,例如,对于“每天下午3点计算余额宝的收益”这一任务而言,其运行周期为每天下午3点。S103,至少一个应用服务器根据上述任务的运行周期处理对应的任务,并向上述分布式服务器集群返回对应的任务处理结果,重复上述操作,直至上述分布式服务器集群中不存在待处理的任务。至少一个应用服务器例如多个应用服务器可以待当前时间与获取到的任务的运行周期吻合时开始处理任务,并在任务处理结果中携带任务的处理状态,其中,任务的处理状态包括已完成和未完成状态。当多个应用服务器处理完当前任务后,重新从分布式服务器集群例如zookeeper服务器集群中获取任务,即重复执行S101-103,直至分布式服务器集群不存在待处理的任务。上述分布式任务调度方法,通过至少一个应用服务器从分布式服务器集群中获取待处理的任务,计算获取到的对应任务的运行周期;以及根据上述任务的运行周期处理对应的任务,并向上述分布式服务器集群返回对应的任务处理结果,重复上述操作,直至分布式服务器集群中不存在待处理的任务;由此可见,本申请实施例的分布式任务调度方法可以通过多个应用服务器并行处理任务,从而大大提高了任务的处理效率。图2是本申请另一个实施例分布式任务调度方法的流程图。如图2所示,该分布式任务调度方法包括:S200,多个应用服务器向分布式服务器集群发送心跳数据,以与分布式服务器集群建立长连接,并生成对应的标识。其中,分布式服务器集群可以为zookeeper服务器集群或其他服务器集群。具体地,S200可以为:多个应用服务器可以初始化配置文件,连接分布式服务器集群例如zookeeper服务器集群,同时生成本服务器的唯一标识(UUID)。上述分布式服务器集群例如zookeeper服务器集群可以动态地增加或减少任务。S201,多个应用服务器查询分布式服务器集群中是否存在待处理的任务,若存在,执行S202,若不存在,操作结束。具体地,S201可以为:多个应用服务器定时或实时向上述分布式服务器集群发送查询请求,以查询分布式服务器集群中是否存在待处理的任务。S202,多个应用服务器从分布式服务器集群中获取待处理的任务,并为上述任务设置
对应的标识。在该实施例中,若查询结果表示上述分布式服务器集群中存在待处理的任务,则从上述分布式服务器集群中获取待处理的任务。其中,待处理的任务可以为具有不同运行周期的不同类型的业务。在该实施例中,为任务设置对应的标识是为了标记该任务已经有服务器在处理了,从而避免同一任务被重复处理的情况发生。具体地,为任务设置对应的标识可以为:将服务器的标识设置为对应任务的标识,当然也可以为对应任务设置其他的标识,此处不做具体限定。S203,多个应用服务器计算获取到的对应任务的运行周期。多个应用服务器根据获取到的任务可以计算出对应的运行周期,例如,对于“每天下午3点计算余额宝的收益”这一任务而言,其运行周期为每天下午3点。S204,多个应用服务器根据上述任务的运行周本文档来自技高网
...

【技术保护点】
一种分布式任务调度方法,其特征在于,包括:至少一个应用服务器从分布式服务器集群中获取待处理的任务;所述至少一个应用服务器计算获取到的对应任务的运行周期;以及所述至少一个应用服务器根据所述任务的运行周期处理对应的任务,并向所述分布式服务器集群返回对应的任务处理结果,重复上述操作,直至所述分布式服务器集群中不存在待处理的任务。

【技术特征摘要】
1.一种分布式任务调度方法,其特征在于,包括:至少一个应用服务器从分布式服务器集群中获取待处理的任务;所述至少一个应用服务器计算获取到的对应任务的运行周期;以及所述至少一个应用服务器根据所述任务的运行周期处理对应的任务,并向所述分布式服务器集群返回对应的任务处理结果,重复上述操作,直至所述分布式服务器集群中不存在待处理的任务。2.根据权利要求1所述的方法,其特征在于,所述至少一个应用服务器从分布式服务器集群中获取待处理的任务,包括:所述至少一个应用服务器定时或实时向所述分布式服务器集群发送查询请求,若查询结果表示所述分布式服务器集群中存在待处理的任务,则从所述分布式服务器集群中获取待处理的任务。3.根据权利要求1所述的方法,其特征在于,所述至少一个应用服务器从分布式服务器集群中获取待处理的任务时,还包括:为所述任务设置对应的标识,以使所述分布式服务器集群标记对应的任务已被处理。4.根据权利要求3所述的方法,其特征在于,所述为所述任务设置对应的标识,包括:将服务器的标识设置为对应任务的标识。5.根据权利要求1所述的方法,其特征在于,所述任务处理结果中携带有任务的处理状态信息。6.根据权利要求4所述的方法,其特征在于,在所述至少一个应用服务器从分布式服务器集群中获取待处理的任务之前,还包括:所述至少一个应用服务器向所述分布式服务器集群发送心跳数据,以与所述分布式服务器集群建立长连接,并生成对应的标识。7.一种分布式任务调度系统,其特征在于,包括:分布式服务器集群,用于保存任务,所述任务包括待处理的任务,并接收任务处理结果;以及至少一个应用服务器,用于从所述分布式服务器集群中获取待处理的任务,计算对应任务的运行周期;以及根据所述任务的运行周期处理对应的任...

【专利技术属性】
技术研发人员:何杰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1