分布式数据处理系统、设备及方法转让专利

申请号 : CN201210348572.X

文献号 : CN103677994B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曹明刘健

申请人 : 中国银联股份有限公司

摘要 :

本发明提出了分布式数据处理系统、设备及方法。其中,所述方法包括:将至少一个数据处理任务中的每个分配给至少一个计算节点服务器中的一个,其中,基于所述至少一个计算节点服务器中的每个的性能等级分配所述至少一个数据处理任务;所述至少一个计算节点服务器中的每个执行所分配的数据处理任务,并将数据处理结果传送到结果管理服务器;所述结果管理服务器统一管理所述数据处理结果。本发明所公开的分布式数据处理系统、设备及方法具有高的数据处理性能、成本较低并且能够对数据处理结果进行统一管理。

权利要求 :

1.一种分布式数据处理系统,所述分布式数据处理系统包括:

任务管理服务器,所述任务管理服务器将至少一个数据处理任务中的每个分配给至少一个计算节点服务器中的一个;

至少一个计算节点服务器,所述至少一个计算节点服务器中的每个执行所述任务管理服务器分配的数据处理任务,并将数据处理结果传送到结果管理服务器;

结果管理服务器,所述结果管理服务器统一管理来自所述至少一个计算节点服务器的数据处理结果;

其中,所述任务管理服务器基于所述至少一个计算节点服务器中的每个的性能等级分配所述至少一个数据处理任务;

其中,如果执行数据处理任务超时,则所述至少一个计算节点服务器中的每个执行下列操作:向所述任务管理服务器返回任务执行超时信息,并将当前数据处理任务发送到另一计算节点服务器以使该数据处理任务继续被执行。

2.根据权利要求1所述的分布式数据处理系统,其特征在于,所述性能等级包括“繁忙”、“一般”和“不繁忙”。

3.根据权利要求2所述的分布式数据处理系统,其特征在于,所述任务管理服务器进一步用于数据分类、参数管理和任务管理,并基于用户的配置确定需要执行的所述至少一个数据处理任务。

4.根据权利要求3所述的分布式数据处理系统,其特征在于,所述任务管理服务器基于下列操作分配所述至少一个数据处理任务:与所述至少一个计算节点服务器建立连接;请求所述至少一个计算节点服务器向所述任务管理服务器反馈回其当前的性能等级;所述任务管理服务器基于所述性能等级和/或所述数据分类分配所述至少一个数据处理任务,并根据分配结果将所述至少一个数据处理任务发送到目标计算节点服务器;所述任务管理服务器断开与所述至少一个计算节点服务器的连接。

5.根据权利要求4所述的分布式数据处理系统,其特征在于,所述至少一个计算节点服务器中的每个在启动后执行下列操作:在接收到来自所述任务管理服务器的数据处理任务后进入任务执行状态中;与所述结果管理服务器建立连接,并将当前任务信息和任务执行开始时间传送到所述结果管理服务器;执行所述数据处理任务,并将所述数据处理任务执行完成后得到的结果参数和任务执行结束时间传送到所述结果管理服务器。

6.根据权利要求5所述的分布式数据处理系统,其特征在于,如果数据处理任务的执行过程异常结束,则所述至少一个计算节点服务器中的每个执行下列操作:将任务执行失败信息分别传送到所述任务管理服务器和所述结果管理服务器,并将当前数据处理任务发送到另一计算节点服务器以使该数据处理任务继续被执行。

7.根据权利要求6所述的分布式数据处理系统,其特征在于,所述结果管理服务器在启动后执行下列操作:接收所述至少一个计算节点服务器传送来的当前任务信息和任务执行开始时间;基于所述当前任务信息配置结果模型;在接收到所述至少一个计算节点服务器传送来的结果参数和任务执行结束时间后将所述结果参数配置到已有的结果模型或基于所述结果参数建立新的结果模型;统一发布所述结果模型。

8.一种分布式数据处理方法,所述分布式数据处理方法包括下列步骤:

(A1)任务管理服务器将至少一个数据处理任务中的每个分配给至少一个计算节点服务器中的一个,其中,所述任务管理服务器基于所述至少一个计算节点服务器中的每个的性能等级分配所述至少一个数据处理任务;

(A2)所述至少一个计算节点服务器中的每个执行所述任务管理服务器分配的数据处理任务,并将数据处理结果传送到结果管理服务器;

(A3)所述结果管理服务器统一管理来自所述至少一个计算节点服务器的数据处理结果;

其中,所述步骤(A2)进一步包括:如果执行数据处理任务超时,则所述至少一个计算节点服务器中的每个执行下列操作:向所述任务管理服务器返回任务执行超时信息,并将当前数据处理任务发送到另一计算节点服务器以使该数据处理任务继续被执行。

说明书 :

分布式数据处理系统、设备及方法

技术领域

[0001] 本发明涉及数据处理系统、设备及方法,更具体地,涉及分布式数据处理系统、设备及方法。

背景技术

[0002] 目前,随着计算机应用的日益广泛以及不同领域的业务种类的日益丰富,通过若干台计算设备协同工作而分布式地进行数据处理变得越来越重要。
[0003] 现有的分布式数据处理系统及方法通常包括任务管理服务器和至少一个计算节点服务器,其基本工作原理如下:任务管理服务器将计算任务分配到各个计算节点服务器;每个计算节点服务器执行接收到的所述计算任务;单节点服务器完成该计算任务后将计算结果和参数保存在本节点。
[0004] 然而,现有的分布式数据处理系统及方法存在如下问题:由于每个计算节点服务器均具有管理和计算功能两者,即系统管理和使用者在单节点中建模和计算,故影响计算性能并且不利于计算结果的快速应用,此外,当需要增加计算节点服务器时,需要对新增节点重新配置(例如重新配置数据库、操作系统、参数环境等),故使用繁琐,另外,需要在每个计算节点服务器部署相同数据备份,从而使得资源利用率较低,此外,现有的分布式数据处理系统及方法进一步存在如下问题:单节点计算超时或失败时需要在新的节点上部署相同的计算,从而造成系统计算效率下降,同时,由于每个节点的计算结果存储在各自的节点中,故难于统一管理,另外,由于采用单节点计算的方式,故对每个节点的硬件配置要求较高,从而导致整个系统的成本较高。
[0005] 因此,存在如下需求:提供具有高的数据处理性能、成本较低并且能够对数据处理结果进行统一管理的分布式数据处理系统、设备及方法。

发明内容

[0006] 为了解决上述现有技术方案所存在的问题,本发明提出了具有高的数据处理性能、成本较低并且能够对数据处理结果进行统一管理的分布式数据处理系统、设备及方法。
[0007] 本发明的目的是通过以下技术方案实现的:
[0008] 一种分布式数据处理系统,所述分布式数据处理系统包括:
[0009] 任务管理服务器,所述任务管理服务器将至少一个数据处理任务中的每个分配给至少一个计算节点服务器中的一个;
[0010] 至少一个计算节点服务器,所述至少一个计算节点服务器中的每个执行所述任务管理服务器分配的数据处理任务,并将数据处理结果传送到结果管理服务器;
[0011] 结果管理服务器,所述结果管理服务器统一管理来自所述至少一个计算节点服务器的数据处理结果;
[0012] 其中,所述任务管理服务器基于所述至少一个计算节点服务器中的每个的性能等级分配所述至少一个数据处理任务。
[0013] 在上面所公开的方案中,优选地,所述性能等级包括“繁忙”、“一般”和“不繁忙”。
[0014] 在上面所公开的方案中,优选地,所述任务管理服务器进一步用于数据分类、参数管理和任务管理,并基于用户的配置确定需要执行的所述至少一个数据处理任务。
[0015] 在上面所公开的方案中,优选地,所述任务管理服务器基于下列操作分配所述至少一个数据处理任务:与所述至少一个计算节点服务器建立连接;请求所述至少一个计算节点服务器向所述任务管理服务器反馈回其当前的性能等级;所述任务管理服务器基于所述性能等级和/或所述数据分类分配所述至少一个数据处理任务,并根据分配结果将所述至少一个数据处理任务发送到目标计算节点服务器;所述任务管理服务器断开与所述至少一个计算节点服务器的连接。
[0016] 5.根据权利要求4所述的分布式数据处理系统,其特征在于,所述至少一个计算节点服务器中的每个在启动后执行下列操作:在接收到来自所述任务管理服务器的数据处理任务后进入任务执行状态中;与所述结果管理服务器建立连接,并将当前任务信息和任务执行开始时间传送到所述结果管理服务器;执行所述数据处理任务,并将所述数据处理任务执行完成后得到的结果参数和任务执行结束时间传送到所述结果管理服务器。
[0017] 在上面所公开的方案中,优选地,如果执行数据处理任务超时,则所述至少一个计算节点服务器中的每个执行下列操作:向所述任务管理服务器1返回任务执行超时信息,并将当前数据处理任务发送到另一计算节点服务器以使该数据处理任务继续被执行。
[0018] 在上面所公开的方案中,优选地,如果数据处理任务的执行过程异常结束,则所述至少一个计算节点服务器中的每个执行下列操作:将任务执行失败信息分别传送到所述任务管理服务器和所述结果管理服务器,并将当前数据处理任务发送到另一计算节点服务器以使该数据处理任务继续被执行。
[0019] 在上面所公开的方案中,优选地,所述结果管理服务器在启动后执行下列操作:接收所述至少一个计算节点服务器传送来的当前任务信息和任务执行开始时间;基于所述当前任务信息配置结果模型;在接收到所述至少一个计算节点服务器传送来的结果参数和任务执行结束时间后将所述结果参数配置到已有的结果模型或基于所述结果参数建立新的结果模型;统一发布所述结果模型。
[0020] 本发明的目的也可以通过以下技术方案实现:
[0021] 一种任务管理服务器,所述任务管理服务器用于将至少一个数据处理任务中的每个分配给至少一个计算节点服务器中的一个,其中,所述任务管理服务器基于所述至少一个计算节点服务器中的每个的性能等级分配所述至少一个数据处理任务。
[0022] 本发明的目的也可以通过以下技术方案实现:
[0023] 一种计算节点服务器,所述计算节点服务器用于执行任务管理服务器分配的数据处理任务,并将数据处理结果传送到结果管理服务器。
[0024] 本发明的目的也可以通过以下技术方案实现:
[0025] 一种结果管理服务器,所述结果管理服务器用于统一管理来自至少一个计算节点服务器的数据处理结果。
[0026] 本发明的目的也可以通过以下技术方案实现:
[0027] 一种分布式数据处理方法,所述分布式数据处理方法包括下列步骤:
[0028] (A1)任务管理服务器将至少一个数据处理任务中的每个分配给至少一个计算节点服务器中的一个,其中,所述任务管理服务器基于所述至少一个计算节点服务器中的每个的性能等级分配所述至少一个数据处理任务;
[0029] (A2)所述至少一个计算节点服务器中的每个执行所述任务管理服务器分配的数据处理任务,并将数据处理结果传送到结果管理服务器;
[0030] (A3)所述结果管理服务器统一管理来自所述至少一个计算节点服务器的数据处理结果。
[0031] 本发明所公开的分布式数据处理系统、设备及方法具有以下优点:由于基于至少一个计算节点服务器中的每个的性能等级分配所述至少一个数据处理任务,故可以使资源合理分布且无需对每个计算节点服务器均配置数据处理环境和参数,也不需要在每个计算节点服务器上部署全量数据,此外,所述结果管理服务器统一管理数据处理结果,从而使得结果模型的发布过程简化并可以自动化进行,由此降低了成本,另外,本发明所公开的布式数据处理系统、设备和方法可以将超时或失败的数据处理任务交给其它计算节点服务器执行,从而可以保持数据处理的完整性和一致性,此外,本发明所公开的布式数据处理系统、设备及方法具有高的可扩展性,即在原有基础上增加和/或删除计算节点服务器不会影响计算部署。

附图说明

[0032] 结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:
[0033] 图1是根据本发明的实施例的分布式数据处理系统的示意性结构图;
[0034] 图2是根据本发明的实施例的分布式数据处理方法的流程图。

具体实施方式

[0035] 图1是根据本发明的实施例的分布式数据处理系统的示意性结构图。如图1所示,本发明所公开的分布式数据处理系统包括任务管理服务器1、至少一个计算节点服务器2和结果管理服务器3。其中,所述任务管理服务器1将至少一个数据处理任务(示例性地,所述数据处理任务是用于数据挖掘的计算和/或训练任务)中的每个分配给所述至少一个计算节点服务器2中的一个。所述至少一个计算节点服务器2中的每个执行所述任务管理服务器1分配的数据处理任务,并将数据处理结果传送到结果管理服务器3。所述结果管理服务器3统一管理来自所述至少一个计算节点服务器2的数据处理结果。其中,所述任务管理服务器
1基于所述至少一个计算节点服务器2中的每个的性能等级分配所述至少一个数据处理任务。
[0036] 优选地,在本发明所公开的分布式数据处理系统中,所述性能等级包括“繁忙”、“一般”和“不繁忙”。示例性地,所述性能等级基于每个计算节点服务器2的磁盘、CPU和内存的使用状况而被确定。
[0037] 优选地,在本发明所公开的分布式数据处理系统中,所述任务管理服务器1进一步用于数据分类、参数管理和任务管理,并基于用户(即系统使用者)的配置确定需要执行的所述至少一个数据处理任务。
[0038] 优选地,在本发明所公开的分布式数据处理系统中,所述任务管理服务器1基于下列操作分配所述至少一个数据处理任务:与所述至少一个计算节点服务器2建立连接;请求所述至少一个计算节点服务器2向所述任务管理服务器1反馈回其当前的性能等级;所述任务管理服务器1基于所述性能等级和/或所述数据分类分配所述至少一个数据处理任务,并根据分配结果将所述至少一个数据处理任务发送到目标计算节点服务器2;所述任务管理服务器1断开与所述至少一个计算节点服务器2的连接。
[0039] 优选地,在本发明所公开的分布式数据处理系统中,所述至少一个计算节点服务器2中的每个在启动后执行下列操作:在接收到来自所述任务管理服务器1的数据处理任务后进入任务执行状态中;与所述结果管理服务器3建立连接,并将当前任务信息和任务执行开始时间传送到所述结果管理服务器3;执行所述数据处理任务,并将所述数据处理任务执行完成后得到的结果参数和任务执行结束时间传送到所述结果管理服务器3。
[0040] 优选地,在本发明所公开的分布式数据处理系统中,如果执行数据处理任务超时,则所述至少一个计算节点服务器2中的每个执行下列操作:向所述任务管理服务器1返回任务执行超时信息,并将当前数据处理任务发送到另一计算节点服务器2以使该数据处理任务继续被执行。
[0041] 优选地,在本发明所公开的分布式数据处理系统中,如果数据处理任务的执行过程异常结束,则所述至少一个计算节点服务器2中的每个执行下列操作:将任务执行失败信息分别传送到所述任务管理服务器1和所述结果管理服务器3,并将当前数据处理任务发送到另一计算节点服务器2以使该数据处理任务继续被执行。
[0042] 优选地,在本发明所公开的分布式数据处理系统中,所述结果管理服务器3在启动后执行下列操作:接收所述至少一个计算节点服务器2传送来的当前任务信息和任务执行开始时间;基于所述当前任务信息配置结果模型;在接收到所述至少一个计算节点服务器2传送来的结果参数和任务执行结束时间后将所述结果参数配置到已有的结果模型或基于所述结果参数建立新的结果模型;统一发布所述结果模型。
[0043] 由上可见,由于基于所述至少一个计算节点服务器2中的每个的性能等级分配所述至少一个数据处理任务,故可以使资源合理分布且无需对每个计算节点服务器2均配置数据处理环境和参数,也不需要在每个计算节点服务器2上部署全量数据,此外,所述结果管理服务器3统一管理数据处理结果,从而使得结果模型的发布过程简化并可以自动化进行,由此降低了成本,另外,本发明所公开的布式数据处理系统可以将超时或失败的数据处理任务交给其它计算节点服务器2执行,从而可以保持数据处理的完整性和一致性。此外,本发明所公开的布式数据处理系统具有高的可扩展性,即在原有基础上增加和/或删除计算节点服务器2不会影响计算部署。
[0044] 如图1所示,本发明公开了一种任务管理服务器1,所述任务管理服务器1用于将至少一个数据处理任务(示例性地,所述数据处理任务是用于数据挖掘的计算和/或训练任务)中的每个分配给至少一个计算节点服务器2中的一个,其中,所述任务管理服务器1基于所述至少一个计算节点服务器2中的每个的性能等级分配所述至少一个数据处理任务。
[0045] 优选地,在本发明所公开的任务管理服务器1中,所述性能等级包括“繁忙”、“一般”和“不繁忙”。示例性地,所述性能等级基于每个计算节点服务器2的磁盘、CPU和内存的使用状况而被确定。
[0046] 优选地,本发明所公开的任务管理服务器1进一步用于数据分类、参数管理和任务管理,并基于用户(即系统使用者)的配置确定需要执行的所述至少一个数据处理任务。
[0047] 优选地,本发明所公开的任务管理服务器1基于下列操作分配所述至少一个数据处理任务:与所述至少一个计算节点服务器2建立连接;请求所述至少一个计算节点服务器2向所述任务管理服务器1反馈回其当前的性能等级;所述任务管理服务器1基于所述性能等级和/或所述数据分类分配所述至少一个数据处理任务,并根据分配结果将所述至少一个数据处理任务发送到目标计算节点服务器2;所述任务管理服务器1断开与所述至少一个计算节点服务器2的连接。
[0048] 如图1所示,本发明公开了一种计算节点服务器2,所述计算节点服务器2用于执行任务管理服务器1分配的数据处理任务,并将数据处理结果传送到结果管理服务器3。
[0049] 优选地,本发明所公开的计算节点服务器2在启动后执行下列操作:在接收到来自所述任务管理服务器1的数据处理任务后进入任务执行状态中;与所述结果管理服务器3建立连接,并将当前任务信息和任务执行开始时间传送到所述结果管理服务器3;执行所述数据处理任务,并将所述数据处理任务执行完成后得到的结果参数和任务执行结束时间传送到所述结果管理服务器3。
[0050] 优选地,如果执行数据处理任务超时,则本发明所公开的计算节点服务器2执行下列操作:向所述任务管理服务器1返回任务执行超时信息,并将当前数据处理任务发送到另一计算节点服务器2以使该数据处理任务继续被执行。
[0051] 优选地,如果数据处理任务的执行过程异常结束,则本发明所公开的计算节点服务器2执行下列操作:将任务执行失败信息分别传送到所述任务管理服务器1和所述结果管理服务器3,并将当前数据处理任务发送到另一计算节点服务器2以使该数据处理任务继续被执行。
[0052] 如图1所示,本发明公开了一种结果管理服务器3,所述结果管理服务器3用于统一管理来自至少一个计算节点服务器2的数据处理结果。
[0053] 优选地,本发明所公开的结果管理服务器3在启动后执行下列操作:接收所述至少一个计算节点服务器2传送来的当前任务信息和任务执行开始时间;基于所述当前任务信息配置结果模型;在接收到所述至少一个计算节点服务器2传送来的结果参数和任务执行结束时间后将所述结果参数配置到已有的结果模型或基于所述结果参数建立新的结果模型;统一发布所述结果模型。
[0054] 图2是根据本发明的实施例的分布式数据处理方法的流程图。如图2所示,本发明所公开的分布式数据处理方法包括下列步骤:(A1)任务管理服务器将至少一个数据处理任务(示例性地,所述数据处理任务是用于数据挖掘的计算和/或训练任务)中的每个分配给至少一个计算节点服务器中的一个,其中,所述任务管理服务器基于所述至少一个计算节点服务器中的每个的性能等级分配所述至少一个数据处理任务;(A2)所述至少一个计算节点服务器中的每个执行所述任务管理服务器分配的数据处理任务,并将数据处理结果传送到结果管理服务器;(A3)所述结果管理服务器统一管理来自所述至少一个计算节点服务器的数据处理结果。
[0055] 优选地,在本发明所公开的分布式数据处理方法中,所述性能等级包括“繁忙”、“一般”和“不繁忙”。示例性地,所述性能等级基于每个计算节点服务器2的磁盘、CPU和内存的使用状况而被确定。
[0056] 优选地,在本发明所公开的分布式数据处理方法中,所述步骤(A1)进一步包括:所述任务管理服务器执行数据分类、参数管理和任务管理操作,并基于用户(即系统使用者)的配置确定需要执行的所述至少一个数据处理任务。
[0057] 优选地,在本发明所公开的分布式数据处理方法中,所述步骤(A1)进一步包括:所述任务管理服务器基于下列操作分配所述至少一个数据处理任务:与所述至少一个计算节点服务器建立连接;请求所述至少一个计算节点服务器向所述任务管理服务器反馈回其当前的性能等级;所述任务管理服务器基于所述性能等级和/或所述数据分类分配所述至少一个数据处理任务,并根据分配结果将所述至少一个数据处理任务发送到目标计算节点服务器;所述任务管理服务器断开与所述至少一个计算节点服务器的连接。
[0058] 优选地,在本发明所公开的分布式数据处理方法中,所述步骤(A2)进一步包括:所述至少一个计算节点服务器中的每个在启动后执行下列操作:在接收到来自所述任务管理服务器的数据处理任务后进入任务执行状态中;与所述结果管理服务器建立连接,并将当前任务信息和任务执行开始时间传送到所述结果管理服务器;执行所述数据处理任务,并将所述数据处理任务执行完成后得到的结果参数和任务执行结束时间传送到所述结果管理服务器。
[0059] 优选地,在本发明所公开的分布式数据处理方法中,所述步骤(A2)进一步包括:如果执行数据处理任务超时,则所述至少一个计算节点服务器中的每个执行下列操作:向所述任务管理服务器返回任务执行超时信息,并将当前数据处理任务发送到另一计算节点服务器以使该数据处理任务继续被执行。
[0060] 优选地,在本发明所公开的分布式数据处理方法中,所述步骤(A2)进一步包括:如果数据处理任务的执行过程异常结束,则所述至少一个计算节点服务器中的每个执行下列操作:将任务执行失败信息分别传送到所述任务管理服务器和所述结果管理服务器,并将当前数据处理任务发送到另一计算节点服务器以使该数据处理任务继续被执行。
[0061] 优选地,在本发明所公开的分布式数据处理方法中,所述步骤(A3)进一步包括:所述结果管理服务器在启动后执行下列操作:接收所述至少一个计算节点服务器传送来的当前任务信息和任务执行开始时间;基于所述当前任务信息配置结果模型;在接收到所述至少一个计算节点服务器传送来的结果参数和任务执行结束时间后将所述结果参数配置到已有的结果模型或基于所述结果参数建立新的结果模型;统一发布所述结果模型。
[0062] 由上可见,由于基于所述至少一个计算节点服务器中的每个的性能等级分配所述至少一个数据处理任务,故可以使资源合理分布且无需对每个计算节点服务器均配置数据处理环境和参数,也不需要在每个计算节点服务器上部署全量数据,此外,所述结果管理服务器统一管理数据处理结果,从而使得结果模型的发布过程简化并可以自动化进行,由此降低了成本,另外,本发明所公开的布式数据处理方法可以将超时或失败的数据处理任务交给其它计算节点服务器执行,从而可以保持数据处理的完整性和一致性。此外,本发明所公开的布式数据处理方法具有高的可扩展性,即在原有基础上增加和/或删除计算节点服务器不会影响计算部署。
[0063] 尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。