[发明专利]一种分布式系统任务执行的方法和装置有效
申请号: | 201710270128.3 | 申请日: | 2017-04-24 |
公开(公告)号: | CN108733469B | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 高平;孔文杰;冷维伟;邢磊 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 系统 任务 执行 方法 装置 | ||
本发明提供一种分布式系统任务执行的方法和装置,能够将控制任务流和结果数据流分离开来,解决了任务调度者的系统瓶颈问题,减少了系统资源消耗,提高了系统可靠性。本发明的分布式系统任务执行的方法,包括:任务发起者创建任务并将任务发送给任务调度者;任务调度者接收任务并将任务分发给任务处理者;任务处理者接收并执行任务,并保存任务的执行结果;任务发起者从保存的执行结果中获取任务的执行结果。
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式系统任务执行的方法和装置。
背景技术
分布式任务处理系统是为了提高任务的并行处理速度,将多个自主的、相互连接的计算机在一个高级操作系统协调下共同完成同一任务的计算机系统。
现有的分布式任务处理系统以Gearman为例,如图1所示,是现有的Gearman任务分发系统的实现原理框图。一个Gearman任务的处理过程涉及三个角色:Client、JobServer和Worker。其中:
Client,任务的发起者,创建需要被执行的任务然后发送给任务的调度者JobServer;
JobServer,任务的调度者,用来负责协调把任务的发起者Client发出的任务请求转发给合适的任务的处理者Worker执行,并在Worker出现异常的时候重新派发任务,JobServer只负责分派任务,无业务处理逻辑;
Worker,任务的处理者,真正执行任务的角色,接收到JobServer分派的任务后,调用相应的代理商Agent来完成工作。
在图1所示的Gearman任务分发系统中,任务的流向如图1中实线所示,是按照Client→Job Server→Worker的顺序,而相应的结果数据流向如图1中的虚线所示,是按照Worker→Job Server→Client的顺序反方向往上层流动的。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1、JobServer是整个系统中负载最重的节点,单机性能会严重影响整个系统的性能;
2、Client、JobServer、Worker之间的通信会带来大量的系统资源消耗,当Client需要多次获取结果数据时,会带来巨大的系统负担;
3、系统可靠性低,如果Worker故障,会影响在该Worker上运行的历史数据的获取。
发明内容
有鉴于此,本发明实施例提供一种分布式系统任务执行的方法和装置,能够将控制任务流和结果数据流分离开来,解决了任务调度者的系统瓶颈问题,减少了系统资源消耗,提高了系统可靠性。
为实现上述目的,根据本发明实施例的一个方面,提供了一种分布式系统任务执行的方法。
一种分布式系统任务执行的方法,包括:任务发起者创建任务并将所述任务发送给任务调度者;所述任务调度者接收所述任务并将所述任务分发给任务处理者;所述任务处理者接收并执行所述任务,并保存所述任务的执行结果;所述任务发起者从保存的所述执行结果中获取所述任务的执行结果。
可选地,所述任务的执行结果是通过按照预定的结果处理规则对所述任务的执行日志进行处理得到。
可选地,所述结果处理规则包括:从所述执行日志中抽取所述任务对应的数据字段,并将所述数据字段作为所述任务的执行结果。
可选地,还包括:根据所述执行日志监控所述任务的执行状态,并当所述执行日志出现异常时进行异常处理以及向所述任务发起者发送预警消息。
可选地,所述任务发起者通过轮询的方式获取所述任务的执行结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710270128.3/2.html,转载请声明来源钻瓜专利网。