任务协作装置及方法

文档序号:7979649阅读:111来源:国知局
任务协作装置及方法
【专利摘要】本发明提出一种任务协作装置及方法。其中,任务协作装置包括:任务接收模块,用于接收多个任务;任务注册模块,用于注册所述多个任务并管理所述多个任务的信息,所述多个任务包括简单任务和复杂任务;任务分发模块,用于将复杂的任务拆成多条子任务并分发所述多条子任务以及所述简单任务;任务处理模块,用于从所述任务分发模块接收所述多条子任务以及所述简单任务并处理所述多条子任务以及所述简单任务;以及任务控制模块,用于根据所述任务处理模块的负载确定扩充或缩减所述任务处理模块。根据本发明的任务协作装置,采用基于流的处理方式,保证系统的自适应性,可以在不间断服务的条件下根据任务执行情况自动扩充或缩减任务执行能力。
【专利说明】任务协作装置及方法
【技术领域】
[0001]本发明涉及互联网【技术领域】,尤其涉及一种任务协作装置及方法。
【背景技术】
[0002]现有的任务协调系统,大多数是类似RPC的机制,按照标准的请求/应答模式执行。这种方法的问题是,无法完成复杂的任务。
[0003]此外,针对某些特定的应用场景,现有技术提供了一些任务协调的处理方案。例如,中国专利中提出的针对消费电子产品的任务协调系统。但是,这种系统只能针对特殊的应用场景,不能保证任务执行的自适应性。

【发明内容】

[0004]本发明旨在至少解决上述技术问题之一。
[0005]为此,本发明的一个目的在于提出一种能够在复杂、多变的分布式环境下工作且能够保证系统的自适应性的任务协作装置。
[0006]本发明的另一目的在于提出一种任务协作方法。
[0007]为了实现上述目的,根据本发明的第一方面实施例的任务协作装置,包括:任务接收模块,所述任务接收模块用于接收多个任务;任务注册模块,所述任务注册模块用于注册所述多个任务并管理所述多个任务的信息,所述多个任务包括简单任务和复杂任务;任务分发模块,所述任务分发模块用于将复杂的任务拆成多条子任务并分发所述多条子任务以及所述简单任务;任务处理模块,所述任务处理模块用于从所述任务分发模块接收所述多条子任务以及所述简单任务并处理所述多条子任务以及所述简单任务;以及任务控制模块,所述任务控制模块用于根据所述任务处理模块的负载确定扩充或缩减所述任务处理模块。
[0008]根据本发明实施例的任务协作装置,采用基于流的处理方式,将复杂任务转化成多个子任务,保证系统的自适应性,可以在不间断服务的条件下根据任务执行情况自动扩充或缩减任务执行能力,并且适用于复杂、多变的分布式环境。
[0009]为了实现上述目的,根据本发明的第二方面实施例的任务协作方法,包括以下步骤:接收多个任务;注册所述多个任务并管理所述多个任务的信息,所述多个任务包括简单任务和复杂任务;将复杂的任务拆成多条子任务并分发所述多条子任务以及所述简单任务;接收所述多条子任务以及所述简单任务并处理所述多条子任务以及所述简单任务;以及根据处理所述多条子任务以及所述简单任务的负载确定对处理能力进行扩充或缩减。
[0010]根据本发明实施例的任务协作方法,采用基于流的处理方式,将复杂任务转化成多个子任务,保证系统的自适应性,可以在不间断服务的条件下根据任务执行情况自动扩充或缩减任务执行能力,并且适用于复杂、多变的分布式环境。
[0011]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。【专利附图】

【附图说明】
[0012]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
[0013]图1是根据本发明一个实施例的任务协作装置的结构示意图;
[0014]图2是根据本发明一个实施例的任务协作装置的结构示意图;
[0015]图3是根据本发明一个实施例的任务协作装置的结构示意图;
[0016]图4是根据本发明一个实施例的任务协作方法的流程图;
[0017]图5是根据本发明一个实施例的任务协作方法的流程图;以及
[0018]图6是根据本发明一个实施例的任务协作方法的流程图。
【具体实施方式】
[0019]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0020]在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0021]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0022]下面参考附图描述根据本发明实施例的任务协作装置。
[0023]一种任务协作装置,包括:任务接收模块,用于接收多个任务;任务注册模块,用于注册多个任务并管理多个任务的信息,所述多个任务包括简单任务和复杂任务;任务分发模块,用于将复杂的任务拆成多条子任务并分发多条子任务以及简单任务;任务处理模块,用于从任务分发模块接收多条子任务以及简单任务并处理多条子任务以及简单任务;以及任务控制模块,用于根据任务处理模块的负载确定扩充或缩减任务处理模块。
[0024]图1是根据本发明一个实施例的任务协作装置的结构示意图。
[0025]如图1所示,根据本发明实施例的任务协作装置包括:任务接收模块10、任务注册模块20、任务分发模块30、任务处理模块40和任务控制模块50。
[0026]任务接收模块10用于接收多个任务。
[0027]任务注册模块20用于注册多个任务并管理多个任务的信息,其中多个任务包括简单任务和复杂任务。在本发明的一个实施例中,多个任务的信息可包括任务的优先级、任务的处理方法以及任务所占的资源等。
[0028]任务分发模块30用于将复杂的任务拆成多条子任务并分发多条子任务以及简单任务。在本发明的一个实施例中,该多条子任务是流任务,由此可增加任务处理的伸缩性,提高可用性。例如,将“改变服务器的名称”的任务分成“改hostname”和“改DNS”两个子任务;将“更换内核”的任务分成“备份原内核文件”、“下载新内核文件”、“修改配置文件”和“重启机器”四个子任务。
[0029]任务处理模块40用于从任务分发模块30接收多条子任务以及简单任务,并处理多条子任务以及简单任务。
[0030]应理解,任务分发模块30可根据任务处理模块40的任务负载实时分发流任务,且在任务分发时,将任务的信息如任务的优先级等分发至任务处理模块40,由此任务处理模块40可根据任务信息执行具体的任务。例如,根据任务的优先级进行排序,根据排序的结果按序处理任务。
[0031]任务控制模块50用于根据任务处理模块40的负载确定扩充或缩减任务处理模块40。例如,当任务处理模块40中待处理的任务队列长度超过预定的数值时,确定增加任务处理模块40的数目。
[0032]根据本发明实施例的任务协作装置,采用基于流的方式,将复杂任务转化成多个子任务,保证系统的自适应性,可以在不间断服务的条件下根据任务执行情况自动扩充或缩减任务执行能力,并且适用于复杂、多变的分布式环境。
[0033]图2是根据本发明一个实施例的任务协作装置的结构示意图。如图2所示,该任务协作装置包括:任务接收模块10、任务注册模块20、任务分发模块30、任务处理模块40、任务控制模块50和检查模块60。
[0034]任务接收模块10用于接收多个任务。
[0035]检查模块60用于检查多个任务是否合理。在判断任务合理后才进行后续的处理过程,否则不进行任务处理。例如,接收到的任务为“更改服务器名称”,在进行更改之前,首先判断发送任务的请求方是否具有合法的权限等。
[0036]任务注册模块20用于在检查模块60确定多个任务合理之后,注册多个任务并管理多个任务的信息,其中多个任务包括简单任务和复杂任务。在本发明的一个实施例中,多个任务的信息可包括任务的优先级、任务的处理方法以及任务所占的资源等。
[0037]任务分发模块30用于将复杂的任务拆成多条子任务并分发多条子任务以及简单任务。在本发明的一个实施例中,该多条子任务是流任务,由此可增加任务处理的伸缩性,提高可用性。例如,将“改变服务器的名称”的任务分成“改hostname”和“改DNS”两个子任务;将“更换内核”的任务分成“备份原内核文件”、“下载新内核文件”、“修改配置文件”和“重启机器”四个子任务。
[0038]应理解,任务分发模块30可根据任务处理模块40的任务负载实时分发流任务,且在任务分发时,将任务的信息如任务的优先级等分发至任务处理模块40,由此任务处理模块40可根据任务信息执行具体的任务。
[0039]任务处理模块40用于从任务分发模块30接收多条子任务以及简单任务,并处理多条子任务以及简单任务。例如,根据任务的优先级进行排序,根据排序的结果按序处理任务。
[0040]任务控制模块50用于根据任务处理模块40的负载确定扩充或缩减任务处理模块40。例如,当任务处理模块40中待处理的任务队列长度超过预定的数值时,确定增加任务处理模块40的数目。
[0041]根据本发明实施例的任务协作装置,通过增加检查模块,在进行任务处理之前首先判断接收到的任务是否合理,由此保证系统的安全性。
[0042]图3是根据本发明一个实施例的任务协作装置的结构示意图。如图3所示,该任务协作装置包括:任务接收模块10、任务注册模块20、任务分发模块30、任务处理模块40、任务控制模块50、检查模块60、判断模块70和回滚模块80。
[0043]任务接收模块10用于接收多个任务。
[0044]检查模块60用于检查多个任务是否合理。在判断任务合理后才进行后续的处理过程,否则不进行任务处理。例如,接收到的任务为“更改服务器名称”,在进行更改之前,首先判断发送任务的请求方是否具有合法的权限等。
[0045]任务注册模块20用于在检查模块60确定多个任务合理之后,注册多个任务并管理多个任务的信息,其中多个任务包括简单任务和复杂任务。在本发明的一个实施例中,多个任务的信息可包括任务的优先级、任务的处理方法以及任务所占的资源等。
[0046]任务分发模块30用于将复杂的任务拆成多条子任务并分发多条子任务以及简单任务。在本发明的一个实施例中,该多条子任务是流任务,由此可增加任务处理的伸缩性,提高可用性。例如,将“改变服务器的名称”的任务分成“改hostname”和“改DNS”两个子任务;将“更换内核”的任务分成“备份原内核文件”、“下载新内核文件”、“修改配置文件”和“重启机器”四个子任务。
[0047]应理解,任务分发模块30可根据任务处理模块40的任务负载实时分发流任务,且在任务分发时,将任务的信息如任务的优先级等分发至任务处理模块40,由此任务处理模块40可根据任务信息执行具体的任务。
[0048]任务处理模块40用于从任务分发模块30接收多条子任务以及简单任务,并处理多条子任务以及简单任务。例如,根据任务的优先级进行排序,根据排序的结果按序处理任务。
[0049]任务控制模块50用于根据任务处理模块40的负载确定扩充或缩减任务处理模块40。例如,当任务处理模块40中待处理的任务队列长度超过预定的数值时,确定增加任务处理模块40的数目。
[0050]判断模块70用于判断任务处理模块40处理完成的任务是否需要回滚。也就是说,检查任务处理模块40的处理结果是否正确,如果正确则不需要回滚,如果错误则需要对处理结果进行清空重新处理,即需要回滚。
[0051]回滚模块80用于根据判断模块70的判断结果将需要回滚的任务回滚。
[0052]在本发明的一个实施例中,检查模块60为可选的。
[0053]根据本发明实施例的任务协作装置,通过增加判断模块和回滚模块,在任务处理完成后进行查错处理,对处理错误的任务重新处理,由此保证准确地完成任务。
[0054]下面参考附图描述根据本发明实施例的任务协作方法。
[0055]一种任务协作方法,包括以下步骤:接收多个任务;注册多个任务并管理多个任务的信息,其中多个任务包括简单任务和复杂任务;将复杂的任务拆成多条子任务,并分发多条子任务以及简单任务;接收多条子任务以及简单任务,并处理多条子任务以及简单任务;以及根据处理多条子任务以及简单任务的负载确定对处理能力进行扩充或缩减。
[0056]图4是根据本发明一个实施例的任务协作方法的流程图。
[0057]如图4所示,根据本发明实施例的任务协作方法包括下述步骤。
[0058]步骤SlOl,接收多个任务。
[0059]步骤S102,注册多个任务并管理多个任务的信息,其中多个任务包括简单任务和复杂任务。
[0060]在本发明的一个实施例中,多个任务的信息可包括任务的优先级、任务的处理方法以及任务所占的资源等。
[0061]步骤S103,将复杂的任务拆分成多条子任务并分发该多条子任务以及简单任务。
[0062]在本发明的一个实施例中,该多条子任务是流任务,由此可增加任务处理的伸缩性,提高可用性。例如,将“改变服务器的名称”的任务分成“改hostname”和“改DNS”两个子任务;将“更换内核”的任务分成“备份原内核文件”、“下载新内核文件”、“修改配置文件”和“重启机器”四个子任务。
[0063]步骤S104,接收多条子任务以及简单任务,并处理该多条子任务以及简单任务。
[0064]应理解,任务分发模块30可根据任务处理模块40的任务负载实时分发流任务,且在任务分发时,将任务的信息如任务的优先级等分发至任务处理模块40,由此任务处理模块40可根据任务信息执行具体的任务。例如,根据任务的优先级进行排序,根据排序的结果按序处理任务。
[0065]步骤S105,根据处理多条子任务以及简单任务的负载确定对处理能力进行扩充或缩减。
[0066]例如,当任务处理模块40中待处理的任务队列长度超过预定的数值时,确定增加任务处理模块40的数目。
[0067]根据本发明实施例的任务协作方法,采用基于流的方式,将复杂任务转化成多个子任务,保证系统的自适应性,可以在不间断服务的条件下根据任务执行情况自动扩充或缩减任务执行能力,并且适用于复杂、多变的分布式环境。
[0068]图5是根据本发明一个实施例的任务协作方法的流程图。
[0069]如图5所示,根据本发明实施例的任务协作方法包括下述步骤。
[0070]步骤S201,接收多个任务。
[0071]步骤S202,检查多个任务是否合理。
[0072]例如,接收到的任务为“更改服务器名称”,在进行更改之前,可判断发送任务的请求方是否具有合法的权限等,在判断任务合理后才进行后续的处理过程,由此保证系统的安全性。
[0073]步骤S203,在确定多个任务合理之后,注册多个任务并管理多个任务的信息,其中多个任务包括简单任务和复杂任务。
[0074]步骤S204,将复杂的任务拆成多条子任务并分发多条子任务以及简单任务。
[0075]步骤S205,接收多条子任务以及简单任务,并处理该多条子任务以及简单任务。
[0076]步骤S206,根据处理多条子任务以及简单任务的负载确定对处理能力进行扩充或缩减。
[0077]其中,步骤S201、步骤S203至步骤S206的具体实现方法与上述步骤SlOl至步骤S105相同,此处不再详细描述。
[0078]根据本发明实施例的任务协作方法,在进行任务处理之前,首先判断接收到的任务是否合理。由此,可以保证系统的安全性。
[0079]图6是根据本发明一个实施例的任务协作方法的流程图。
[0080]如图6所示,根据本发明实施例的任务协作方法包括下述步骤。
[0081]步骤S301,接收多个任务。
[0082]步骤S302,检查多个任务是否合理。
[0083]步骤S303,注册多个任务并管理多个任务的信息,其中多个任务包括简单任务和复杂任务。
[0084]步骤S304,将复杂的任务拆成多条子任务并分发多条子任务以及简单任务。
[0085]步骤S305,接收多条子任务以及简单任务,并处理该多条子任务以及简单任务。
[0086]步骤S306,根据处理多条子任务以及简单任务的负载确定对处理能力进行扩充或缩减。
[0087]上述步骤S301至步骤S306的具体实现方法与步骤S201至步骤S206相同,此处不再详细描述。
[0088]步骤S307,判断处理完成的任务是否需要回滚。
[0089]也就是说,检查任务处理模块40的处理结果是否正确,如果正确则不需要回滚,如果错误则需要对处理结果进行清空重新处理,即需要回滚。
[0090]步骤S308,如果是,生成新的回滚任务并返回至步骤S305。
[0091]根据本发明实施例的任务协作方法,在任务完成后进行查错处理,对处理错误的任务重新处理,由此保证准确地完成任务。
[0092]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0093]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0094]尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
【权利要求】
1.一种任务协作装置,其特征在于,包括: 任务接收模块,所述任务接收模块用于接收多个任务; 任务注册模块,所述任务注册模块用于注册所述多个任务并管理所述多个任务的信息,所述多个任务包括简单任务和复杂任务; 任务分发模块,所述任务分发模块用于将复杂的任务拆成多条子任务并分发所述多条子任务以及所述简单任务; 任务处理模块,所述任务处理模块用于从所述任务分发模块接收所述多条子任务以及所述简单任务并处理所述多条子任务以及所述简单任务;以及 任务控制模块,所述任务控制模块用于根据所述任务处理模块的负载确定扩充或缩减所述任务处理模块。
2.根据权利要求1所述的任务协作装置,其特征在于,进一步包括: 检查模块,所述检查模块用于检查所述多个任务是否合理。
3.根据权利要求1或2所述的任务协作装置,其特征在于,进一步包括: 判断模块,所述判断模块用于判断所述任务处理模块处理完成的任务是否需要回滚。
4.根据权利要求3所述的任务协作装置,其特征在于,进一步包括: 回滚模块,所述回滚模块用于根据所述判断模块的判断将需要回滚的任务回滚。
5.根据权利要求1或2所述的任务协作装置,其特征在于,所述多个任务的信息包括任务的优先级、任务的处理方式以及任务所占的资源。
6.根据权利要求1或2所述的任务协作装置,其特征在于,所述多条子任务是流任务。
7.—种任务协作方法,其特征在于,包括: 接收多个任务; 注册所述多个任务并管理所述多个任务的信息,所述多个任务包括简单任务和复杂任务; 将复杂的任务拆成多条子任务并分发所述多条子任务以及所述简单任务; 接收所述多条子任务以及所述简单任务并处理所述多条子任务以及所述简单任务;以及 根据处理所述多条子任务以及所述简单任务的负载确定对处理能力进行扩充或缩减。
8.根据权利要求7所述的任务协作方法,其特征在于,进一步包括: 检查所述多个任务是否合理。
9.根据权利要求7或8所述的任务协作方法,其特征在于,进一步包括: 判断处理完成的任务是否需要回滚。
10.根据权利要求9所述的任务协作方法,其特征在于,进一步包括: 根据判断结果将需要回滚的任务回滚。
11.根据权利要求7或8所述的任务协作方法,其特征在于,所述多个任务的信息包括任务的优先级、任务的处理方式以及任务所占的资源。
12.根据权利要求7或8所述的任务协作方法,其特征在于,所述多条子任务是流任务。
【文档编号】H04L29/08GK103473119SQ201210185776
【公开日】2013年12月25日 申请日期:2012年6月6日 优先权日:2012年6月6日
【发明者】陈卫国, 李力, 梁振方 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1