[发明专利]分布式处理任务的方法、系统、电子设备和可读介质有效
申请号: | 201710362214.7 | 申请日: | 2017-05-22 |
公开(公告)号: | CN108932157B | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 赵伟 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/48 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;赵静 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 处理 任务 方法 系统 电子设备 可读 介质 | ||
本发明实施例提供一种分布式处理任务的方法、系统、电子设备和可读介质,能够实现分布式集群环境下高可用的worker架构方案,可以通过自定义命令的方式,使得执行机可以灵活、多样化的执行任务。该方法包括:将任务配置信息保存至ZooKeeper的配置服务持久化节点中,管理端从所述配置服务持久化节点中读取所述任务配置信息;管理端根据所述任务配置信息判断任务的复杂程度,根据所述任务的复杂程度从ZooKeeper的命令服务持久化节点中选择执行所述任务的执行机,并生成相应的自定义命令;通过所述命令服务持久化节点将所述自定义命令下发至执行机,以使所述执行机按照所述自定义命令执行所述任务。
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式处理任务的方法、系统、电子设备和可读介质。
背景技术
在如今业务复杂的系统中,常常有很多的工作需要一些任务在固定的时间或者固定的周期去定时处理,例如每天上下班打卡的提醒、每周关键指标的报表、重要邮件的定时发送等。在系统软件设计过程中,为了降低系统之间的耦合性以及单个应用程序的负荷,通常会将这些固定周期要去做的任务抽取出来,放在一个单独应用程序里去维护,这样的应用程序统称为Worker。
现有技术中,实现任务调度的worker方案主要包括如下两种:
1)利用开源项目Quartz实现任务定时调度的应用;
2)利用淘宝开源的一套分布式调度框架TBSchedule实现任务调度,可以支持集群的部署方案,支持特定任务在单个执行机器上执行,支持单个任务拆分到多个执行机器上执行。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1、Quartz:
(1)支持简单集群,但不能对单个任务进行分片式拆分;
(2)在单个任务处理数据量大的情况下,对应用服务器造成的压力很大,甚至可能引起服务器宕机。
2、TBSchedule:
当多个执行机并行执行单个任务时,只能根据任务的数据量来拆分任务,拆分策略相对单一,不能自定义执行机执行任务的策略。
发明内容
有鉴于此,本发明实施例提供一种分布式处理任务的方法、系统、电子设备和可读介质,能够实现分布式集群环境下高可用的worker架构方案,可以通过自定义命令的方式,使得执行机可以灵活、多样化的执行任务。
为实现上述目的,根据本发明实施例的一个方面,提供了一种分布式处理任务的方法。
本发明实施例的一种分布式处理任务的方法包括:将任务配置信息保存至ZooKeeper的配置服务持久化节点中,管理端从所述配置服务持久化节点中读取所述任务配置信息;管理端根据所述任务配置信息判断任务的复杂程度,根据所述任务的复杂程度从ZooKeeper的命令服务持久化节点中选择执行所述任务的执行机,并生成相应的自定义命令;通过所述命令服务持久化节点将所述自定义命令下发至执行机,以使所述执行机按照所述自定义命令执行所述任务。
可选地,所述方法还包括:将所述任务配置信息保存至数据库中。
可选地,所述方法还包括:所述执行机根据预设性能分析周期,计算其所在服务器的性能分数,并将所述性能分数保存至数据库中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710362214.7/2.html,转载请声明来源钻瓜专利网。