一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

任务数据处理方法及装置与流程

2023-03-29 08:37:35 来源:中国专利 TAG:


1.本说明书涉及数据处理技术领域,特别涉及一种任务数据处理方法及装置。


背景技术:

2.由于单个计算机系统不能满足业务处理的性能要求,往往采用计算机集群的方式对业务进行处理。计算机集群中的每个节点处理的任务都不相同,以达到快速响应的目的。
3.现有的集群节点任务分配方式一般有两种。一种是中心化的任务分配方式,在集群中设立一个或者多个中心节点,统筹管理集群中的任务分配。这种方式的缺点是集群过度依赖于中心节点。如果中心节点发生故障,整个集群的任务都会受到影响。另一种是预分配的任务分配方式,即集群中各节点的任务是预先分配好的,集群中各个节点的任务也是固定不变的,一旦发生改变,需要重新分配任务。如果某个节点出现故障,该节点上的任务便不能执行。随着时间的推移,业务量可能会发生变化,当前各个节点分配的任务可能不再适合,造成对集群资源的浪费。如果集群中需要增减节点,该方式需要重新分配任务,过程复杂。
4.针对上述问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本说明书实施例提供了一种任务数据处理方法及装置,以解决现有技术中问题。
6.本说明书实施例提供了一种任务数据处理方法,包括:应用于第一节点,所述第一节点为计算机集群中的计算节点,所述方法包括:
7.从数据库中获取集群节点任务分配信息表和任务信息表;所述集群节点任务分配信息表中包括集群标识、节点标识和任务标识之间的对应关系;所述任务信息表中包括任务标识和任务信息之间的对应关系;
8.从所述集群节点任务分配信息表中查找所述第一节点的节点标识和集群标识对应的目标任务标识;从所述任务信息表中查找所述目标任务标识对应的目标任务信息,以基于所述目标任务信息执行任务处理。
9.在一个实施例中,该方法还包括:
10.对所述计算机集群中的第二节点进行故障检测;
11.在检测到所述第二节点存在故障的情况下,锁定所述数据库中与所述第二节点的节点标识对应的数据;
12.在锁定成功的情况下,将所述第二节点从所述计算机集群中移除。
13.在一个实施例中,该方法还包括:
14.在锁定成功的情况下,将所述任务信息表中的所述第二节点的节点标识修改为所述第一节点的节点标识。
15.在一个实施例中,所述任务信息表中还包括所述任务标识、所述任务信息和任务复杂程度指数之间的对应关系;所述任务信息表中还包括平均任务复杂程度指数;
16.相应的,所述方法还包括:
17.从所述任务信息表中查找所述目标任务标识对应的任务复杂程度指数;
18.基于所述任务复杂程度指数与所述平均任务复杂程度指数,确定是否将所述第一节点对应的目标任务信息中的部分任务分配给任务复杂程度指数满足预设条件的第三节点。
19.在一个实施例中,所述任务信息表中还包括目标任务信息和任务状态之间的对应关系;
20.相应的,在基于所述目标任务信息执行任务处理之后,还包括:
21.生成所述目标任务信息对应的任务执行结果;
22.基于所述任务执行结果更新所述任务信息表中的任务状态。
23.本说明书实施例还提供了一种任务数据处理装置,应用于第一节点,所述第一节点为计算机集群中的计算节点,所述装置包括:
24.获取模块,用于从数据库中获取集群节点任务分配信息表和任务信息表;所述集群节点任务分配信息表中包括集群标识、节点标识和任务标识之间的对应关系;所述任务信息表中包括任务标识和任务信息之间的对应关系;
25.执行模块,用于从所述集群节点任务分配信息表中查找所述第一节点的节点标识和集群标识对应的目标任务标识;从所述任务信息表中查找所述目标任务标识对应的目标任务信息,以基于所述目标任务信息执行任务处理。
26.在一个实施例中,该装置还包括故障检测模块,所述故障检测模块具体用于:
27.对所述计算机集群中的第二节点进行故障检测;
28.在检测到所述第二节点存在故障的情况下,锁定所述数据库中与所述第二节点的节点标识对应的数据;
29.在锁定成功的情况下,将所述第二节点从所述计算机集群中移除。
30.在一个实施例中,所述任务信息表中还包括所述任务标识、所述任务信息和任务复杂程度指数之间的对应关系;所述任务信息表中还包括平均任务复杂程度指数;
31.相应的,所述装置还包括任务分配模块,所述任务分配模块具体用于:
32.从所述任务信息表中查找所述目标任务标识对应的任务复杂程度指数;
33.基于所述任务复杂程度指数与所述平均任务复杂程度指数,确定是否将所述第一节点对应的目标任务信息中的部分任务分配给任务复杂程度指数满足预设条件的第三节点。
34.本说明书实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的任务数据处理方法的步骤。
35.本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述的任务数据处理方法的步骤。
36.在本说明书实施例中,提供了一种任务数据处理方法,应用于第一节点,所述第一节点为计算机集群中的计算节点,第一节点可以从数据库中获取集群节点任务分配信息表和任务信息表,所述集群节点任务分配信息表中包括集群标识、节点标识和任务标识之间的对应关系,所述任务信息表中包括任务标识和任务信息之间的对应关系,第一节点可以
从所述集群节点任务分配信息表中查找所述第一节点的节点标识和集群标识对应的目标任务标识,从所述任务信息表中查找所述目标任务标识对应的目标任务信息,以基于所述目标任务信息执行任务处理。上述方案中,用户通过数据库对集群节点信息和任务信息进行初始化配置。如有新节点或者新任务,用户也可以进行配置到数据库中。第一节点为计算机集群中的任一个节点,各节点可以定时读取数据库表配置信息,读取任务信息并基于该信息完成相应功能,实现了集群在不设立中心节点的情况下,对集群中的各个节点进行任务分配。
附图说明
37.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,并不构成对本说明书的限定。在附图中:
38.图1示出了本说明书一实施例中任务数据处理方法的应用场景的示意图;
39.图2示出了本说明书一实施例中任务数据处理方法的流程图;
40.图3示出了本说明书一实施例中实现任务数据处理方法所需的模块关系示意图;
41.图4示出了本说明书一实施例中集群节点与数据库配置模块之间的关系示意图;
42.图5示出了本说明书一实施例中任务数据处理装置的示意图;
43.图6示出了本说明书一实施例中的计算机设备的示意图。
具体实施方式
44.下面将参考若干示例性实施方式来描述本说明书的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书,而并非以任何方式限制本说明书的范围。相反,提供这些实施方式是为了使本说明书公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
45.本领域的技术人员知道,本说明书的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本说明书公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
46.本说明书实施例提供了一种任务数据处理方法。图1示出了本说明书一实施例中任务数据处理方法的应用场景的示意图。如图1所示,计算机集群中可以包括多个计算节点。第一节点可以为多个计算节点中的任一个计算节点。第一节点可以从数据库获取集群节点任务分配信息表和任务信息表。所述集群节点任务分配信息表中包括集群标识、节点标识和任务标识之间的对应关系。所述任务信息表中包括任务标识和任务信息之间的对应关系。第一节点可以从所述集群节点任务分配信息表中查找所述第一节点的节点标识和集群标识对应的目标任务标识。之后,第一节点可以从所述任务信息表中查找所述目标任务标识对应的目标任务信息,以基于所述目标任务信息执行任务处理。
47.第一节点可以对计算集群中的第二节点进行故障检测。在检测到第二节点存在故障的情况下,锁定所述数据库中与所述第二节点的节点标识对应的数据。在锁定成功的情况下,第一节点可以将所述第二节点从所述计算机集群中移除。第二节点可以是计算机集群中除第一节点之外的计算节点。
48.任务信息表中还可以包括所述任务标识、所述任务信息和任务复杂程度指数之间
的对应关系。所述任务信息表中还可以包括平均任务复杂程度指数。第一节点可以从所述任务信息表中查找所述目标任务标识对应的任务复杂程度指数。之后,第一节点可以基于所述任务复杂程度指数与所述平均任务复杂程度指数,确定是否将所述第一节点对应的目标任务信息中的部分任务分配给任务复杂程度指数满足预设条件的第三节点。第三节点可以是计算机集群中除第一节点之外的任务复杂程度指数满足预设条件的计算节点。
49.本实施例中的,第一节点、第二节点和第三节点均为计算机集群中的任意计算节点,编号仅是为了便于说明。第一节点、第二节点和第三节点均可以执行以下操作:读取任务信息;任务执行;节点故障检测与任务迁移;任务复杂度计算等。
50.上述方案中,用户通过数据库对集群节点信息和任务信息进行初始化配置。如有新节点或者新任务,用户也可以进行配置到数据库中。第一节点为计算机集群中的任一个节点,各节点可以定时读取数据库表配置信息,读取任务信息并基于该信息完成相应功能,实现了集群在不设立中心节点的情况下,对集群中的各个节点进行任务分配。第一节点还可以对计算机集群中的第二节点进行故障检测,实现了集群在不设立中心节点的情况下,对集群中的各个节点进行故障检测。
51.图2示出了本说明书一实施例中任务数据处理方法的流程图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
52.具体地,如图2所示,本说明书一种实施例提供的任务数据处理方法可以包括以下步骤:
53.步骤s201,从数据库中获取集群节点任务分配信息表和任务信息表;所述集群节点任务分配信息表中包括集群标识、节点标识和任务标识之间的对应关系;所述任务信息表中包括任务标识和任务信息之间的对应关系。
54.本说明书中的任务数据处理方法可以应用于第一节点。所述第一节点为计算机集群中的任意计算节点。
55.数据库中可以存储有计算机集群中的计算节点的信息以及对应的任务分配信息。第一节点可以从数据库中获取集群节点任务分配信息表和任务分析表。数据库中可以是本地数据库或者云数据服务器。
56.第一节点可以从数据库中读取集群节点任务分配信息表和任务信息表。集群节点任务分配信息表可以包括集群标识、节点标识和任务标识之间的对应关系。集群标识可以唯一标识计算机集群。节点标识可以唯一标识计算节点。任务标识可以唯一标识任务信息。任务信息表中可以包括任务标识和任务信息之间的对应关系。任务信息可以包括执行任务所需的各种数据。
57.步骤s202,从所述集群节点任务分配信息表中查找所述第一节点的节点标识和集群标识对应的目标任务标识;从所述任务信息表中查找所述目标任务标识对应的目标任务信息,以基于所述目标任务信息执行任务处理。
58.第一节点可以从集群节点任务分配信息表中查找第一节点的节点标识和集群标识对应的目标任务标识。之后,第一节点可以从任务信息表中查找目标任务标识对应的目标任务信息,以基于目标任务信息执行任务处理。
59.上述实施例中,用户通过数据库对集群节点信息和任务信息进行初始化配置。如有新节点或者新任务,用户也可以进行配置到数据库中。第一节点为计算机集群中的任一个节点,各节点可以定时读取数据库表配置信息,读取任务信息并基于该信息完成相应功能,实现了集群在不设立中心节点的情况下,对集群中的各个节点进行任务分配。
60.在本说明书一些实施例中,所述任务信息表中还可以包括目标任务信息和任务状态之间的对应关系;相应的,在基于所述目标任务信息执行任务处理之后,还可以包括:生成所述目标任务信息对应的任务执行结果;基于所述任务执行结果更新所述任务信息表中的任务状态。
61.任务信息表中还可以包括目标任务信息和任务状态之间的对应关系。在第一节点基于目标任务信息执行任务处理之后,第一节点可以生成目标任务信息对应的任务执行结果。任务执行结果中可以包括任务状态。第一节点可以基于任务执行结果更新任务信息表中的任务状态。任务状态可以包括:执行成功、执行中和执行失败。通过上述方式,可以实时更新数据库中存储的任务的执行状态,便于后续的任务分配。
62.在本说明书一些实施例中,该方法还可以包括:对所述计算机集群中的第二节点进行故障检测;在检测到所述第二节点存在故障的情况下,锁定所述数据库中与所述第二节点的节点标识对应的数据;在锁定成功的情况下,将所述第二节点从所述计算机集群中移除。
63.第一节点还可以对计算机集群中的第二节点进行故障检测。第二节点可以是计算机集群中除第一节点之外的其他计算节点。第一节点通过某种方式对集群中的其他节点进行故障检测,包括但不限于进行通讯检测、心跳时间存储检测等方式。如果检测到某一个第二节点存在故障,锁定数据库表中该节点所有的相关信息:如果能锁定相关信息,就将该第二节点移出集群。相反,第二节点也可以对第一节点进行故障检测。在不能锁定故障节点的相关信息的情况下,第一节点不执行移除操作,代表集群中已有其他节点已经检测到该节点故障。通过上述方式,可以在不存在中心节点的情况下实现故障检测。
64.在本说明书一些实施例中,该方法还可以包括:在锁定成功的情况下,将所述任务信息表中的所述第二节点的节点标识修改为所述第一节点的节点标识。
65.在锁定成功的情况下,第一节点可以将任务信息表中的第二节点的节点标识修改为第一节点的节点标识,即将第二节点上执行的任务转移至第一节点上来执行。在另一个实施例中,第一节点还可以将第二节点上执行的任务转移至新加入的节点或者未执行任务的节点或者负载较低的节点上执行。通过上述方昂是,可以检测存在故障的节点,还可以将存在故障的节点上执行的任务转移至自身节点或者其他正常节点上执行。通过上述方式,可以保证任务的顺利执行,提高任务处理的效率。
66.在本说明书一些实施例中,所述任务信息表中还可以包括所述任务标识、所述任务信息和任务复杂程度指数之间的对应关系;所述任务信息表中还可以包括平均任务复杂程度指数;相应的,所述方法还可以包括:从所述任务信息表中查找所述目标任务标识对应的任务复杂程度指数;基于所述任务复杂程度指数与所述平均任务复杂程度指数,确定是
否将所述第一节点对应的目标任务信息中的部分任务分配给任务复杂程度指数满足预设条件的第三节点。
67.具体地,任务信息表中还可以包括任务标识、任务信息和任务复杂程度指数之间的对应关系。任务信息表中还可以包括平均任务复杂程度指数。复杂程度指数越高,表明该任务越复杂,所需的计算资源和/或计算时间越多。在一个实施例中,可以先计算各个计算节点上执行的任务的复杂程度指数总和,作为各节点的任务复杂程度指数。平均任务复杂程度指数可以是数据库基于各节点的任务复杂程度指数计算得到的平均复杂程度指数。第一节点可以从任务信息表中查找目标任务标识对应的任务复杂程度指数。第一节点还可以基于任务复杂程度指数和平均任务复杂程度指数,确定第一节点上执行的任务的复杂程度是否远高于平均任务复杂程度。在一个实施例中,第一节点可以在任务复杂程度指数与平均任务复杂程度指数的比值或者差值是否大于预设阈值,若是,则确定第一节点上执行的任务的复杂程度远高于平均任务复杂程度。在确定第一节点上执行的任务的复杂程度远高于平均任务复杂程度的情况下,可以将第一节点对应的目标任务信息中的部分任务分配给任务复杂程度指数满足预设条件的第三节点。第三节点可以是计算机集群中除第一节点之外的任务复杂程度指数满足预设条件的计算节点。这里的任务复杂程度指数满足预设条件可以是未执行任务的节点,还可以是任务复杂程度指数小于预设指数的节点。通过上述方式,计算机集群中各节点在发现自身节点的任务复杂程度高于平均水平,则将自身节点的部分任务迁移到任务复杂程度最低的节点,以达到各个节点任务的动态均衡分配。当集群中有新节点加入时,刚开始没有分配任务,通过此机制也能快速得到任务执行。
68.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。具体的可以参照前述相关处理相关实施例的描述,在此不做一一赘述。
69.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
70.下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本说明书,并不构成对本说明书的不当限定。
71.本实施例中可以提供一种任务数据处理方法。本实施例可以为集群中的每个节点设立一个标识,利用数据库对节点信息和分配的任务信息进行存储。集群中的每个节点读取数据库配置,完成为自己分配的任务。集群中每个节点检测其他节点健康情况以及任务分配情况:如果检测到其他节点存在故障,就将故障节点移出集群,并且将故障节点任务分配给自身节点处理;如果检测到自身节点任务繁重程度高于集群节点任务的平均水平,就将自身节点的部分任务分配给任务最少的节点,最终集群中各个节点任务能够均衡分配。即使新增节点也能自适应分配任务,实现集群的可扩展与高可用。
72.可以利用数据库存储集群中各节点相关信息。数据库中应该存储有各节点的集群信息、任务信息、各节点是否故障等信息,以保证各节点能够正常完成任务,实现任务均衡分配与故障节点任务转移等功能。数据库配置表一般至少包含如下表及相应的属性。
73.集群节点任务分配信息表一般至少包含如下表1所示的属性:
74.表1
75.clusterid集群标识nodeid节点标识taskid任务标识
76.表1中的clusterid集群标识,表示集群的id信息,同一集群中的所有节点具有相同的集群id标识。当集群中某节点发生故障需要移出集群时,节点的该字段被置为其他信息。表1中的nodeid节点标识,用来区分同一集群中的不同节点。同一集群的不同节点具有不同的节点标识。表1中的taskid任务标识,用来唯一确定需要执行的任务,根据此id在任务信息表中可以找到相应的任务。
77.任务信息表一般至少包含如下表2所示的属性:
78.表2
79.taskid任务标识taskinfo任务信息tasklevel任务复杂程度标识
80.表2中的taskid任务标识,是此表中每个任务信息的唯一标识,用来区分不同的任务。表2中的taskinfo任务信息,用来存储各节点执行此任务所需要的信息,包括任务名称、任务参数、任务返回结果等等,此字段可以根据需要扩展成多个字段。表2中的tasklevel任务复杂程度标识,是指根据某一标准将任务复杂程度分级并记录,集群中各节点可以根据此字段信息对任务进行合理的平衡与再分配,已达到集群性能最大化。
81.可以为集群各节点分配标识。集群中的各个节点都应该具有在集群中的唯一的标识信息,以用于查找分配给自己的任务信息。为了标记节点所在的集群,节点也应该记录有自己所在的集群标识信息。
82.集群各节点可以执行已分配任务。各个节点根据自身标识,查找数据库相关表找到为自己分配的任务信息,并对任务进行执行。
83.集群各节点还可以进行故障检测与任务迁移。各个节点通过某种方式对集群中的其他节点进行故障检测,包括但不限于进行通讯检测、心跳时间存储检测等方式。如果检测到某一个节点存在故障,锁定数据库表中该节点所有的相关信息:如果能锁定相关信息,就将该节点移出集群,并将该节点任务分配给自身节点执行;如果不能锁定故障节点的相关信息,直接放弃,代表集群中已有其他节点已经检测到该节点故障,正在进行任务转移。
84.集群各节点还可以进行任务动态均衡再分配。各个节点根据数据库中存储的任务信息及分配信息,对每个节点的任务复杂程度进行计算。经过计算,如果发现自身节点的任务复杂程度高于平均水平,则将自身节点的部分任务迁移到任务复杂程度最低的节点,以达到各个节点任务的动态均衡分配。当集群中有新节点加入时,刚开始没有分配任务,通过此机制也能快速得到任务执行。
85.请参考图3,示出了本说明书实施例中的各模块关系示意图。如图3所示,本实施例中的任务数据处理方法可以由以下五个模块实现。
86.数据库表配置模块,该模块主要用于配置和读取数据库存储集群中的节点信息和任务信息。此模块的主要作用有:(1)当有新任务需要增加执行时,需要在数据库中配置任
务信息,以及分配任务给任意节点。(2)当集群中有新节点时,需要将新节点加入到集群中。集群会自动分配任务给该节点。
87.各节点任务管理主模块,该模块的主要作用是定时读取数据库的配置,调度其他模块进行任务执行、节点故障检测与任务迁移、节点任务均衡再分配等。
88.各节点任务执行模块,该模块主要功能是各个节点根据自身节点标识,查找到为自身分配的任务,根据任务信息执行任务。
89.各节点集群故障检测与任务迁移模块,该模块主要功能是通过某些方式对集群中其他节点进行故障检测,如果达到故障标准,就判定节点故障。检测到节点故障后进行后续动作:锁定数据库表中该节点所有的相关信息,如果能锁定相关信息,就将该节点移出集群,并将该节点任务分配给自身节点执行;如果不能锁定故障节点的相关信息,直接放弃,代表集群中已有其他节点已经检测到该节点故障,正在进行任务迁移。将故障节点的任务转移到自身节点后,等待节点任务管理主模块调度相关模块进行任务执行。
90.各节点任务复杂度计算与动态任务分配模块,该模块的主要作用是根据数据库表配置的集群中所有节点的任务信息,计算每个节点的任务复杂程度和集群节点平均任务复杂程度。如果当前节点任务复杂程度高于集群节点的平均水平,则将自身节点部分任务转移给复杂度最低的节点;如果当前节点的任务复杂度低于集群平均水平,则不进行任何操作。当集群中有新节点加入时,也通过此模块得到任务执行。经过几次任务的再分配,最终达到每个节点的任务复杂度几乎相同,集群中每个节点都能得到充分利用。
91.请参考图4,示出了本说明书实施例中集群节点与数据库配置模块的关系图。如图4所示,节点1、节点2、
……
和节点n可以从数据库配置模块获取集群节点信息与任务信息。节点1、节点2、
……
和节点n可以向数据库配置模块返回任务执行结果数据。
92.本实施例中的任务数据处理方法可以包括以下流程步骤:
93.步骤1、用户通过数据库表配置模块对集群节点信息和任务信息进行初始化配置。如有新节点或者新任务,用户也可以通过此模块配置到数据库中。
94.步骤2、各节点任务管理主模块定时读取数据库表配置信息,并调用其他模块完成相应功能。
95.步骤3、各节点任务管理主模块将配置信息传递给任务执行模块,任务执行模块执行分配的具体任务。
96.步骤4、各节点任务管理主模块将配置信息传递给集群故障检测与任务迁移模块。集群故障检测与任务迁移模块完成集群节点的故障检测与任务迁移功能。
97.步骤5、各节点任务管理主模块将配置信息传递给任务复杂度计算与动态任务分配模块。任务复杂度计算与动态任务分配模块能够保证集群任务的动态平均分配。
98.本实施例中,将集群信息以及各个节点的任务分配信息存储在数据库表中,用户可以对数据库表存储的信息进行更改。当有新任务或者新节点加入到集群中时,只需要更改数据库配置即可。集群中各个节点都有在集群中的唯一标识,用于分配任务以及完成其他的相关功能。集群中各个节点定时读取数据库的配置信息,然后根据配置信息完成相应功能。集群中的各个节点根据数据库的配置信息,完成为其分配的任务。集群中的各个节点能够对其他节点进行故障检测,当检测到故障节点后,将故障节点的任务任务迁移到分配给自身节点。在任务迁移时,通过数据库锁机制保证,不会有多个节点同时迁移任务,导致
预期外的结果。集群中的各个节点根据数据库的配置信息,计算各个节点的任务复杂度,在没有中心节点的情况下,完成节点任务的动态均衡分配。当有新节点加入集群时,本说明书实施例也能达到任务的均衡分配。
99.本实施例实现了集群在不设立中心节点的情况下,集群中节点任务的自动分配。本实施例实现了集群节点的故障检测与任务自动迁移功能,保证了集群的高可用性。本实施例实现了集群节点任务的自动均衡分配,能够充分利用集群性能完成任务。本实施例实现了集群在新加入节点的情况下,自动分配任务,保证了集群的可扩展性。
100.基于同一发明构思,本说明书实施例中还提供了一种任务数据处理装置,如下面的实施例所述。由于任务数据处理装置解决问题的原理与任务数据处理方法相似,因此任务数据处理装置的实施可以参见任务数据处理方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图5是本说明书实施例的任务数据处理装置的一种结构框图,如图5所示,包括:获取模块501和执行模块502,下面对该结构进行说明。
101.获取模块501用于从数据库中获取集群节点任务分配信息表和任务信息表;所述集群节点任务分配信息表中包括集群标识、节点标识和任务标识之间的对应关系;所述任务信息表中包括任务标识和任务信息之间的对应关系。
102.执行模块502用于从所述集群节点任务分配信息表中查找所述第一节点的节点标识和集群标识对应的目标任务标识;从所述任务信息表中查找所述目标任务标识对应的目标任务信息,以基于所述目标任务信息执行任务处理。
103.在本说明书一些实施例中,该装置还可以包括故障检测模块,故障检测模块可以用于:对所述计算机集群中的第二节点进行故障检测;在检测到所述第二节点存在故障的情况下,锁定所述数据库中与所述第二节点的节点标识对应的数据;在锁定成功的情况下,将所述第二节点从所述计算机集群中移除。
104.在本说明书一些实施例中,故障检测模块还可以用于:在锁定成功的情况下,将所述任务信息表中的所述第二节点的节点标识修改为所述第一节点的节点标识。
105.在本说明书一些实施例中,所述任务信息表中还可以包括所述任务标识、所述任务信息和任务复杂程度指数之间的对应关系;所述任务信息表中还包括平均任务复杂程度指数;相应的,所述装置还可以包括任务分配模块,任务分配模块可以用于:从所述任务信息表中查找所述目标任务标识对应的任务复杂程度指数;基于所述任务复杂程度指数与所述平均任务复杂程度指数,确定是否将所述第一节点对应的目标任务信息中的部分任务分配给任务复杂程度指数满足预设条件的第三节点。
106.在本说明书一些实施例中,所述任务信息表中还可以包括目标任务信息和任务状态之间的对应关系;相应的,该装置还可以包括更新模块,更新模块可以具体用于:生成所述目标任务信息对应的任务执行结果;基于所述任务执行结果更新所述任务信息表中的任务状态。
107.从以上的描述中,可以看出,本说明书实施例实现了如下技术效果:用户通过数据库对集群节点信息和任务信息进行初始化配置。如有新节点或者新任务,用户也可以进行配置到数据库中。第一节点为计算机集群中的任一个节点,各节点可以定时读取数据库表
配置信息,读取任务信息并基于该信息完成相应功能,实现了集群在不设立中心节点的情况下,对集群中的各个节点进行任务分配。
108.本说明书实施方式还提供了一种计算机设备,具体可以参阅图6所示的基于本说明书实施例提供的任务数据处理方法的计算机设备组成结构示意图,所述计算机设备具体可以包括输入设备61、处理器62、存储器63。其中,所述存储器63用于存储处理器可执行指令。所述处理器62执行所述指令时实现上述任意实施例中所述的任务数据处理方法的步骤。
109.在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如ram、fifo等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、tf卡等。
110.在本实施方式中,该计算机设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
111.本说明书实施方式中还提供了一种基于任务数据处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现上述任意实施例中所述任务数据处理方法的步骤。
112.在本实施方式中,上述存储介质包括但不限于随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、缓存(cache)、硬盘(hard disk drive,hdd)或者存储卡(memory card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
113.在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
114.显然,本领域的技术人员应该明白,上述的本说明书实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
115.应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本说明书的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及
这些权利要求所拥有的等价物的全部范围来确定。
116.以上所述仅为本说明书的优选实施例而已,并不用于限制本说明书,对于本领域的技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献