一种异步任务分发系统及调度分发计算单元的制作方法

文档序号:7639129阅读:451来源:国知局
专利名称:一种异步任务分发系统及调度分发计算单元的制作方法
技术领域
本发明涉及计算系统技术领域,尤其涉及一种异步任务分发系统及调度分发计算单元。
背景技术
在现有的系统平台中,由于业务需求的不同,总存在各种任务处理机制,例如视频转码、文档转换、邮件群发、语音识别等。在大型的系统平台中,一方面由于系统规模过大,导致处理单元的处理能力往往不能够进行实时处理,需要采用队列控制机制,来进行异步处理。另一方面,部分处理机制需要较长耗时,例如视频转码可能耗费几十分钟甚至更长时间才能完成。这些机制都决定了需要有一个异步任务分发的系统来调度完成。现有的技术方案对于集群式的异步任务调度提出了一些实现思路,按照统一调度,各个分发的思想建立任务分发的机制,将来源于各个业务的任务请求由调度系统分发到具体的处理单元,并进行回馈。典型的架构如图I所示,其中,各个Web终端11来将转码任务统一发送到调度服务器12,调度服务器12再根据自己的策略将任务分发到转码服务器13,由转码服务器13完成后再进行任务回馈。这一方案实现了在一定规模内的集群转码任务的调度处理。现有架构的缺点主要有如下几点仅适用于一定规模内的小集群作业,不适合大规模集群;其业务涉及相对单一,例如仅针对转码,不够抽象,能容纳的处理机制有限;其它一些类似的方案或者存在类似问题或者实现过于复杂,系统彼此之间耦合度太高,部署成本高。

发明内容
本发明的目的在于提出一种异步任务分发系统及调度分发计算单元,用于解决现有异步任务分发系统无法满足大规模系统架构下多层级多集群集中式调度管理的问题。为达此目的,本发明采用以下技术方案
一种异步任务分发系统,该系统由若干计算单元和调度分发计算单元构成,具体如

所述计算单元,用于接收计算任务,完成具体任务处理过程,并回调任务处理结果;并负责将本计算单元向调度分发计算单元注册;
所述调度分发计算单元,用于接收计算单元和其它调度分发计算单元的注册,维护计算单元和其它调度分发计算单元的注册信息,接收计算任务并转发计算单元进行处理。所述计算单元或调度分发计算单元仅能够注册到一个调度分发计算单元。所述调度分发计算单元维护计算单元和其它调度分发计算单元的注册信息,包括计算能力、计算类型和接收请求地址。所述调度分发计算单元具体包括接收模块、调度处理模块和回调模块,具体如下所述接收模块,用于接收任务请求,接收计算单元和其它调度分发计算单元的注册请
求;
所述调度处理模块,用于维护计算单元和其它调度分发计算单元的注册信息,按照任务请求的特征确定所述任务发送处理的计算单元,接收所述任务处理结果;
所述回调模块,用于发送所述任务处理结果。所述调度处理模块具体包括子单元管理子模块、任务下发子模块和回调处理子模块,具体如下
所述子单元管理子模块,用于维护计算单元和其它调度分发计算单元的注册信息; 所述任务下发子模块,用于按照任务请求的特征确定所述任务发送处理的计算单元; 所述回调处理子模块,用于接收所述任务处理结果,并发送所述回调模块进行发送。所述计算单元具体包括接收模块、处理模块和回调模块,具体如下
所述接收模块,用于接收计算任务;
所述处理模块,用于完成具体任务处理过程,并进行本计算单元在调度分发计算单元的注册;
所述回调模块,用于发送任务处理结果。一种调度分发计算单元,应用于如上所述的异步任务分发系统,具体包括接收模块、调度处理模块和回调模块,具体如下
所述接收模块,用于接收任务请求,接收计算单元和其它调度分发计算单元的注册请
求;
所述调度处理模块,用于维护计算单元和其它调度分发计算单元的注册信息,按照任务请求的特征确定所述任务发送处理的计算单元,接收所述任务处理结果;
所述回调模块,用于发送所述任务处理结果。所述调度处理模块,还用于将本调度分发计算单元注册到其它调度分发计算单
J Li ο所述调度处理模块具体包括子单元管理子模块、任务下发子模块和回调处理子模块,具体如下
所述子单元管理子模块,用于将本调度分发计算单元注册到其它调度分发计算单元;维护其它调度分发计算单元的注册信息;
所述任务下发子模块,用于按照任务请求的特征确定所述任务发送处理的计算单元; 所述回调处理子模块,用于接收所述任务处理结果,并发送所述回调模块进行发送。采用了本发明的技术方案,突破了传统任务分发处理系统的任务类型单一和扁平式架构模式,采用树状分布式架构,能够满足大规模系统架构下多层级多集群的集中式管理,并提供了简明的计算单元实现标准,可以方便的对接任何计算类任务,实现了大型异步任务分发系统的可管理、易扩展。


图I是现有技术中网络架构示意 图2是本发明实施例提供的计算单元结构示意 图3是本发明实施例提供的调度分发计算单元结构示意图;图4是本发明实施例提供的第一种调度分发流程示意 图5是本发明实施例提供的第二种调度分发流程示意 图6是本发明实施例提供的网络结构示意 图7是本发明实施例提供的一种网络结构实施示意图。
具体实施例方式下面结合附图并通过具体实施方式
来进一步说明本发明的技术方案。

本发明实施例旨在解决在超大规模系统规模下,能够通过简明清晰的架构方式,实现对系统内各种需要异步处理计算任务的统一调度和分发,并能够在规模扩张和处理业务增加时,各种处理单元按照本系统所描述的接口协议方便的接入,丰富本系统的处理能力。本发明提出了一种结构清晰的异步计算系统的接口标准,能够将遵从这一标准的大量计算单元,快速组装成一个庞大的任务处理网络。本发明实施例提供一种异步任务分发系统,该系统由若干计算单元和调度分发计算单元构成。调度分发计算单元是计算单元的一种,具备与计算单元相同的逻辑结构。在本发明的整体架构下,存在一个核心的组成部分,即计算单元,各种计算单元的类型不一,但其总体架构均如图2所示。计算单元,用于接收计算任务,完成具体任务处理过程,并回调任务处理结果。如图2所示,具体包括接收模块101、回调模块102和处理模块103。接收模块101,用于接收计算任务,也就是按照标准的协议接收其它系统传递过 来的处理任务。每一个计算单元在接收模块101所接受的信息都具备同样的描述方法,其包括如下四个核心要素,分别是任务标识符、任务类型、回调地址、任务详情。例如其格式可以如下
<missionId>564afa4fda23fe649981</missionId> // 任务标识 <missionType>videoEncoder</missionType> // 任务类型
<calIbackUrI>http://www. example, com/callback. php〈/callbackUrl> // 回调地址〈detailX!-此处描述该任务的详情一>〈/detail> //任务详情任务标识符来区分唯一计算任务,任务类型描述本任务的种类,回调地址则用于处理单元在完成或者失败、出错之后进行反馈通知。任务详情适用于不同类型的计算单元,其所处理任务类型不同,对于详情的处理解析方式也不相同。例如,在一个文件分发的任务中,详情描述的应该是源文件地址和目标文件地址,而转码任务则应该是源文件地址和目标编码方式,邮件发送任务则应该包含发件人、收件人、主题和正文等内容。回调模块102,用于发送任务处理结果,也就是负责按照标准的协议对任务的请求者进行处理结果的回调通知。各种类型的计算单元的回调模块102也都按照同样的标准进行任务回调,任务的回调主要具备两个核心要素任务唯一标识符和处理结果,然后还可以另外附带一些附加信息,并按照特定的传输方式传输给创建任务时所指定的回调地址。例如,规则指定为按照POST方式把如下信息反馈给回调地址HTTP 方法POST
目标地址http://www. example, com/callback, php传输内容
<missionId>564afa4fda23fe649981</missionId>
<result>failed</result>
〈message〉源文件获取失败〈/message〉
任务发起者按照这一标准进行接口实现,则能够达到任务回馈接收的目的。处理模块103,用于完成具体任务处理过程。

处理模块103是计算单元的核心所在,不同类型的计算单元的处理模块103实现方式完全不一样,但都通过接收模块101来接收任务请求后,按照自己的业务逻辑进行处理,完成具体的任务,最终在需要的时候请求回调模块102进行任务回调,通知任务发起者当前任务的执行情况。处理模块103能够随着系统的业务功能不断改变而改变,在整个系统中,将能够存在大量按照标准协议实现的计算单元,例如转码类计算单元、文本识别类计算单元、邮件群发类计算单元。这些具体的计算单元所包含处理模块103的实现细节。本发明实施例中的调度分发计算单元,用于接收计算单元和其它调度分发计算单元的注册,维护计算单元和其它调度分发计算单元的注册信息,接收计算任务并转发计算单元进行处理。每个计算单元或调度分发计算单元仅能够注册到一个调度分发计算单元。调度分发计算单元维护计算单元和其它调度分发计算单元的注册信息,包括计算能力、计算类型和接收请求地址。在按照如上标准组成实现各个计算单元之后,本发明实施例要继续解决如何将各个计算单元有机联系起来,构建成一个庞大的处理网络的问题。 在这些计算单元之中,有一种计算单元——调度分发计算单元是将本系统构建成一个庞大网络所不可缺少的元素,其相当于网络环境中的路由器,将各个节点联系起来。调度分发单元是一种相对特殊的计算单元,其所负责处理的任务是接受并存储任务后,根据任务类型将任务分发到能够完成该任务类型的计算单元。其在核心组成基础之上,具备如图3所示的内部设计。图3中,调度分发计算单元与其他计算单元一样,具备接收模块、调度处理模块和回调模块,具体如下
接收模块,用于接收任务请求,接收计算单元和其它调度分发计算单元的注册请求。相应的,为了满足系统需求,上述实施例中的计算单元也必须具备将本计算单元注册到适当的调度分发计算单元的任务。调度处理模块,用于维护计算单元和其它调度分发计算单元的注册信息,按照任务请求的特征确定任务发送处理的计算单元,接收所述任务处理结果。为避免混乱管理,每一个计算单元能且仅能够注册为一次子单元,即其不能够同时被登记成为多个调度分发计算单元的子单元。而一个调度分发计算单元则可以拥有多个注册的子单元,维护和管理这些子单元的信息。每一个计算单元都具备三个关键属性计算类型(例如是转码、语音识别、视频关键帧提取、高清转码、邮件发送、文件同步)、计算能力(能够同时支持的任务数量),接收模块请求地址(告知上级单元如何请求,例如http://www. exam, com/request, php),在注册登记时,调度分发计算单元根据这些这三个关键属性来决定将任务如何分发,首先根据计算类型来筛选所有符合该类型的计算单元,并可以根据已经分发的数量和计算单元的最大计算能力,来决定是否应该继续分发更多任务。回调模块,用于发送回调任务处理结果。进一步的,图3中,调度处理模块具体包括子单元管理子模块201、任务下发子模块202和回调处理子模块203,具体如下
子单元管理子模块201,用于维护计算单元和其它调度分发计算单元的注册信息;管理登记在本节点下的所有其它计算单元,任何一个计算单元(也包括其它的调度分发计算单元)都可以注册登记在本调度单元之下作为其子单元。

任务下发子模块202,用于按照任务请求的特征确定任务发送处理的计算单元;负责转发任务到具体的计算单元,其跟计算单元的接收模块是对应功能设计。回调处理子模块203,用于接收任务处理结果,并发送回调模块进行发送。接收其它单元的回调请求,其跟计算单元的回调模块也是对应功能设计,分别为数据的发送和接收方。本发明实施例提供的系统架构中,能够通过调度分发计算单元来将各个计算单元连接起来,形成一个庞大的网络体系。例如,如图4所示,外部业务系统(请求最初发起者)通过计算单元请求任务,计算单元将任务发送调度分发计算单元,调度分发计算单元接收任务再进行下发,其它类计算单元完成任务后通知调度分发计算单元,调度分法计算单元接受其回调,并作出处理,并最终返回给业务系统。由于调度分发计算单元也是一种计算单元,其核心组成同普通的计算单元是完全一致的,因此,在本发明的一个实施例中,可以采用另外一种流程来处理,即将调度分发计算单元B作为调度分发计算单元A的子单元,B注册到A的子单元时跟普通单元注册时并无区别,只是其计算能力更丰富,可能包含多个计算类型。表I是调度分发计算单元A所具备的子单元注册登记情况。表I
权利要求
1.一种异步任务分发系统,其特征在干,该系统由若干计算单元和调度分发计算単元构成,具体如下 所述计算単元,用于接收计算任务,完成具体任务处理过程,并回调任务处理結果;并负责将本计算单元向调度分发计算単元注册; 所述调度分发计算単元,用于接收计算单元和其它调度分发计算単元的注册,维护计算单元和其它调度分发计算単元的注册信息,接收计算任务并转发计算单元进行处理。
2.如权利要求I所述的异步任务分发系统,其特征在于,所述计算単元或调度分发计算单元仅能够注册到ー个调度分发计算単元。
3.如权利要求I所述的异步任务分发系统,其特征在于,所述调度分发计算単元维护计算单元和其它调度分发计算単元的注册信息,包括计算能力、计算类型和接收请求地址。
4.如权利要求I所述的异步任务分发系统,其特征在于,所述调度分发计算単元具体包括接收模块、调度处理模块和回调模块,具体如下 所述接收模块,用于接收任务请求,接收计算単元和其它调度分发计算単元的注册请求; 所述调度处理模块,用于维护计算单元和其它调度分发计算単元的注册信息,按照任务请求的特征确定所述任务发送处理的计算单元,接收所述任务处理结果; 所述回调模块,用于发送所述任务处理結果。
5.如权利要求4所述的异步任务分发系统,其特征在干,所述调度处理模块具体包括子単元管理子模块、任务下发子模块和回调处理子模块,具体如下 所述子单元管理子模块,用于维护计算单元和其它调度分发计算単元的注册信息; 所述任务下发子模块,用于按照任务请求的特征确定所述任务发送处理的计算单元; 所述回调处理子模块,用于接收所述任务处理结果,并发送所述回调模块进行发送。
6.如权利要求I所述的异步任务分发系统,其特征在于,所述计算単元具体包括接收模块、处理模块和回调模块,具体如下 所述接收模块,用于接收计算任务; 所述处理模块,用于完成具体任务处理过程,并进行本计算单元在调度分发计算単元的注册; 所述回调模块,用于发送任务处理結果。
7.一种调度分发计算単元,应用于如权利要求I所述的异步任务分发系统,其特征在干,具体包括接收模块、调度处理模块和回调模块,具体如下 所述接收模块,用于接收任务请求,接收计算単元和其它调度分发计算単元的注册请求; 所述调度处理模块,用于维护计算单元和其它调度分发计算単元的注册信息,按照任务请求的特征确定所述任务发送处理的计算单元,接收所述任务处理结果; 所述回调模块,用于发送所述任务处理結果。
8.如权利要求7所述的调度分发计算単元,其特征在于,所述调度处理模块,还用于将本调度分发计算単元注册到其它调度分发计算単元。
9.如权利要求8所述的调度分发计算単元,其特征在干,所述调度处理模块具体包括子単元管理子模块、任务下发子模块和回调处理子模块,具体如下所述子单元管理子模块,用于将本调度分发计算単元注册到其它调度分发计算単元;维护其它调度分发计算単元的注册信息; 所述任务下发子 块,用于接收所述任务处理结果,并发送所述回调模块进行发送。
全文摘要
本发明公开了一种异步任务分发系统及调度分发计算单元,该系统由若干计算单元和调度分发计算单元构成,所述计算单元,用于接收计算任务,完成具体任务处理过程,并回调任务处理结果;并负责将本计算单元向调度分发计算单元注册;所述调度分发计算单元,用于接收计算单元和其它调度分发计算单元的注册,维护计算单元和其它调度分发计算单元的注册信息,接收计算任务并转发计算单元进行处理。采用了本发明的技术方案,突破了传统任务分发处理系统的任务类型单一和扁平式架构模式,采用树状分布式架构,能够满足大规模系统架构下多层级多集群的集中式管理。
文档编号H04L29/08GK102685173SQ20111009333
公开日2012年9月19日 申请日期2011年4月14日 优先权日2011年4月14日
发明者官文吉 申请人:天脉聚源(北京)传媒科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1