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

一种分布式处理方法、系统及装置与流程

2022-07-10 12:50:46 来源:中国专利 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.将原先由所述故障节点处理的对应于所述任务的任务分片,分配至除所述故障节点之外的其他执行节点之前,所述方法还包括:
39.在所述协调组件检测到存在与之断开连接的执行节点时,将该断开连接的执行节
点确定为故障节点。
40.在本说明书一个可选的实施例中,获取存储在各执行节点本地的中间结果,包括:
41.针对每个执行节点,若未获取到该执行节点本地存储的对应于所述任务的中间结果,则确定该节点为故障节点;
42.将原先由所述故障节点处理的对应于所述任务的任务分片,分配至除所述故障节点之外的其他执行节点,并从该其他执行节点获取该任务分片对应的中间结果。
43.在本说明书一个可选的实施例中,其中,将原先由所述故障节点处理的对应于所述任务的任务分片,分配至除所述故障节点之外的其他执行节点,包括:
44.在除所述故障节点之外的其他执行节点中,确定出可用的数据处理资源最多的执行节点;
45.将原先由所述故障节点处理的对应于所述任务的任务分片,分配至该可用的数据处理资源最多的执行节点。
46.在本说明书一个可选的实施例中,得到所述任务的处理结果之后,所述方法还包括:
47.生成中间结果删除指令,发送至各执行节点,使得各执行节点根据所述中间结果删除指令,删除本地存储的对应于所述任务的中间结果。
48.在本说明书一个可选的实施例中,所述第一地址、第二地址中的至少一种采用https协议。
49.第二方面,本技术实施例还提供一种所述方法基于分布式处理系统,所述分布式处理系统包括第二控制端,以及与所述第二控制端连接的若干个机房;至少一个机房包括第一方面中的第一控制端和若干个执行节点;各机房处理的任务属于同一业务,所述方法由所述第二控制端执行,所述方法包括:
50.在满足预设的第二条件时,针对每个机房,获取该机房针对任务得到的处理结果;
51.根据从各个机房获取到的各处理结果,对各处理结果对应业务进行处理;各处理结果中的至少一个,是通过第一方面中的方法得到的。
52.在本说明书一个可选的实施例中,所述第一控制端包括连接的控制节点和协调组件;
53.获取该机房针对任务得到的处理结果之前,所述方法还包括:
54.针对每个机房,获取该机房的控制节点生成的第三地址;所述第三地址示出该机房针对任务得到处理结果在该机房的控制节点本地的存储位置。
55.在本说明书一个可选的实施例中,获取该机房针对任务得到的处理结果之前,所述方法还包括:
56.若针对每个机房均获取到该机房的控制节点生成的第三地址,则确定满足预设的第二条件。
57.在本说明书一个可选的实施例中,获取该机房针对任务得到的处理结果,包括:
58.获取对应于该机房的第三地址;
59.根据获取到的第三地址,在该机房的控制节点本地,获取该机房针对任务得到的处理结果。
60.第三方面,本技术实施例还提供一种分布式处理方法,其中,所述方法基于分布式
处理系统,所述分布式处理系统包括第一控制端和若干个执行节点,所述方法由任一执行节点执行,所述方法包括:
61.对第一控制端分配至本执行节点的任务分片进行处理,得到中间结果;所述任务分片是根据任务得到的,所述中间结果对应于所述任务;
62.将所述中间结果存储至本地;
63.在所述第一控制端获取对应于所述任务的中间结果时,将所述中间结果发送至所述第一控制端,使得所述第一控制端根据该中间结果,得到所述任务的处理结果。
64.在本说明书一个可选的实施例中,对第一控制端分配至本执行节点的任务分片进行处理之前,所述方法还包括:
65.接收第一控制端发送的第一地址,所述第一地址示出该处理该任务分片所依赖的数据在预设的数据源中的存储位置;
66.根据所述第一地址,从所述数据源获取数据,以对分配至该执行节点的任务分片进行处理。
67.在本说明书一个可选的实施例中,将所述中间结果存储至本地,包括:
68.将所述中间结果存储至本地,并确定所述中间结果在本地的存储位置,作为第二地址;
69.所述分布式处理系统还包括地址数据库;将所述中间结果存储至本地之后,所述方法还包括:
70.将所述第二地址发送至所述地址数据库,使得所述第一控制端通过所述地址数据库获取该第二地址。
71.在本说明书一个可选的实施例中,在所述第一控制端获取对应于所述任务的中间结果时,将所述中间结果发送至所述第一控制端,包括:
72.在所述第一控制端根据所述第二地址获取对应于所述任务的中间结果时,将本地存储的对应于所述第二地址的中间结果,发送至所述第一控制端。
73.在本说明书一个可选的实施例中,将所述中间结果发送至所述第一控制端之后,所述方法还包括:
74.若接收到中间结果删除指令,则该执行节点删除本地存储的对应于所述任务的中间结果;所述中间结果删除指令是第一控制端根据所述任务生成的。
75.第四方面,本说明书实施例还提供了第一种分布式处理装置,所述第一种分布式处理装置应用于第一控制端。所述第一控制端属于分布式处理系统,所述分布式处理系统还包括若干个执行节点。所述第一种分布式处理装置包括以下模块中的一个或多个:
76.任务获取模块,配置为获取待处理的任务;
77.任务分片确定模块,配置为根据所述任务,确定出各执行节点对应的任务分片;
78.第一分配模块,配置为将各执行节点对应的任务分片分配至相应的执行节点,使得各执行节点对分配到的任务分片进行处理,并将处理得到的中间结果存储至各执行节点本地;
79.中间结果获取模块,配置为在满足预设的第一条件时,获取存储在各执行节点本地的中间结果;
80.汇总模块,配置为对从各执行节点获取的中间结果进行汇总,得到所述任务的处
理结果。
81.在本说明书一个可选的实施例中,所述第一控制端包括连接的控制节点和协调组件;所述控制节点用于确定任务分片与所述执行节点之间的对应关系,所述协调组件用于将所述任务分片分配至该任务分片对应的执行节点。
82.在本说明书一个可选的实施例中,所述第一种分布式处理装置还可以包括控制节点确定模块。所述控制节点确定模块配置为:在所述协调组件检测不到与之连接的控制节点时,将各执行节点中的至少一个,确定为新的控制节点,并根据新的控制节点执行分布式处理。
83.在本说明书一个可选的实施例中,所述第一分配模块具体配置为:针对每个任务分片,将该处理该任务分片所依赖的数据在预设的数据源中的存储位置,作为该任务分片的第一地址。将该执行节点对应的任务分片的第一地址,发送至该执行节点,使得该执行节点根据接收到的第一地址获取数据,以对该执行节点对应的任务分片进行处理。
84.在本说明书一个可选的实施例中,所述分布式处理系统还包括地址数据库;所述地址数据库用于针对每个任务分片,存储该任务分片的第二地址;所述第二地址示出该任务分片对应中间结果在执行节点本地的存储位置。
85.在本说明书一个可选的实施例中,所述第一种分布式处理装置还可以包括第一判断模块。所述第一判断模块针对每个任务分片,确定所述地址数据库中是否存在对应于该任务分片的第二地址。若是,则确定满足预设的第一条件。
86.在本说明书一个可选的实施例中,所述中间结果获取模块具体配置为:针对每个执行节点,从所述地址数据库中,确定出由该执行节点生成的对应于所述任务的第二地址;根据确定出的第二地址,获取该执行节点本地存储的中间结果。
87.在本说明书一个可选的实施例中,所述第一控制端包括控制节点。所述中间结果获取模块具体配置为:针对每个执行节点,所述控制节点获取该执行节点本地存储的对应于所述任务的中间结果,存储在所述控制节点本地。所述汇总模块具体配置为所述控制节点在其本地,对从各执行节点获取的中间结果进行汇总。
88.在本说明书一个可选的实施例中,所述分布式处理系统还可以包括第二控制端。所述第一种分布式处理装置还可以包括第三地址生成模块。所述第三地址生成模块配置为:在控制节点的本地存储所述处理结果,并确定所述处理结果在所述控制节点本地的存储位置作为第三地址,使得所述第二控制端根据所述第三地址从所述控制节点本地获取所述处理结果。
89.在本说明书一个可选的实施例中,所述分布式处理系统还可以包括第一接收模块。所述第一接收模块配置为若接收到处理结果删除指令,则所述控制节点删除本地存储的对应于所述任务的处理结果;所述处理结果删除指令是第二控制端根据所述任务生成的。
90.在本说明书一个可选的实施例中,所述分布式处理系统还可以包括第二分配模块。所述第二分配模块配置为在检测到各个执行节点中存在故障节点时,将原先由所述故障节点处理的对应于所述任务的任务分片,分配至除所述故障节点之外的其他执行节点。
91.在本说明书一个可选的实施例中,所述第一控制端还可以包括协调组件,所述协调组件与各执行节点分别地连接。所述第一种分布式处理装置还可以包括检测模块。所述
检测模块配置为:在所述协调组件检测到存在与之断开连接的执行节点时,将该断开连接的执行节点确定为故障节点。
92.在本说明书一个可选的实施例中,所述中间结果获取模块具体配置为针对每个执行节点,若未获取到该执行节点本地存储的对应于所述任务的中间结果,则确定该节点为故障节点。将原先由所述故障节点处理的对应于所述任务的任务分片,分配至除所述故障节点之外的其他执行节点,并从该其他执行节点获取该任务分片对应的中间结果。
93.在本说明书一个可选的实施例中,所述第一控制端还可以包括资源确定模块。所述资源确定模块配置为在除所述故障节点之外的其他执行节点中,确定出可用的数据处理资源最多的执行节点。将原先由所述故障节点处理的对应于所述任务的任务分片,分配至该可用的数据处理资源最多的执行节点。
94.在本说明书一个可选的实施例中,所述第一控制端还可以包括第一删除模块。所述第一删除模块配置为生成中间结果删除指令,发送至各执行节点,使得各执行节点根据所述中间结果删除指令,删除本地存储的对应于所述任务的中间结果。
95.第五方面,本说明书实施例还提供了第二种分布式处理装置,所述第二种分布式处理装置应用于第二控制端。所述分布式处理系统还包括若干个机房;至少一个机房包括第一控制端和若干个执行节点;各机房处理的任务属于同一业务。所述第二种分布式处理装置包括以下模块中的一个或多个:
96.处理结果获取模块,配置为在满足预设的第二条件时,针对每个机房,获取该机房针对任务得到的处理结果。
97.处理模块,配置为根据从各个机房获取到的各处理结果,对各处理结果对应业务进行处理。所述处理结果中的至少一个,是通过前述的任意一种分布式处理过程得到的。
98.在本说明书一个可选的实施例中,所述第二种分布式处理装置还可以包括第二判断模块。所述第二判断模块配置为:若针对每个机房均获取到该机房的控制节点生成的第三地址,则确定满足预设的第二条件。
99.在本说明书一个可选的实施例中,所述第二种分布式处理装置还可以包括第三地址获取模块。所述第三地址获取模块配置为针对每个机房,获取该机房的控制节点生成的第三地址;所述第三地址示出该机房针对任务得到处理结果在该机房的控制节点本地的存储位置。
100.在本说明书一个可选的实施例中,处理结果获取模块具体配置为:获取对应于该机房的第三地址;根据获取到的第三地址,在该机房的控制节点本地,获取该机房针对任务得到的处理结果。
101.第六方面,本说明书实施例还提供了第三种分布式处理装置。所述第三种分布式处理装置应用于分布式处理系统的若干个执行节点中的任一执行节点,所述分布式处理系统还包括第一控制端。所述第三种分布式处理装置包括以下模块中的一个或多个:
102.中间结果生成模块,配置为对第一控制端分配至本执行节点的任务分片进行处理,得到中间结果;所述任务分片是根据任务得到的,所述中间结果对应于所述任务。
103.存储模块,配置为将所述中间结果存储至本地。
104.中间结果发送模块,配置为在所述第一控制端获取对应于所述任务的中间结果时,将所述中间结果发送至所述第一控制端,使得所述第一控制端根据该中间结果,得到所
述任务的处理结果。
105.在本说明书一个可选的实施例中,所述第三种分布式处理装置还可以包括第一地址接收模块和任务分片处理模块。
106.所述第一地址接收模块,配置为接收第一控制端发送的第一地址,所述第一地址示出该处理该任务分片所依赖的数据在预设的数据源中的存储位置。
107.所述任务分片处理模块,配置为根据所述第一地址,从所述数据源获取数据,以对分配至该执行节点的任务分片进行处理。
108.在本说明书一个可选的实施例中,所述存储模块具体配置为将所述中间结果存储至本地,并确定所述中间结果在本地的存储位置,作为第二地址。
109.在本说明书一个可选的实施例中,所述第三种分布式处理装置还可以包括第二地址发送模块。所述第二地址发送模块配置为:将所述第二地址发送至所述地址数据库,使得所述第一控制端通过所述地址数据库获取该第二地址。
110.在本说明书一个可选的实施例中,所述中间结果发送模块具体配置为在所述第一控制端根据所述第二地址获取对应于所述任务的中间结果时,将本地存储的对应于所述第二地址的中间结果,发送至所述第一控制端。
111.在本说明书一个可选的实施例中,所述第三种分布式处理装置还可以包括第二删除模块。所述第二删除模块配置为:若接收到中间结果删除指令,则该执行节点删除本地存储的对应于所述任务的中间结果;所述中间结果删除指令是第一控制端根据所述任务生成的。
112.第七方面,本技术实施例还提供一种电子设备,所述电子设备包括:
113.处理器;以及
114.被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行本说明书第一方面、第二方面或第三方面提供的任一种方法。
115.第八方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行本说明书第一方面、第二方面或第三方面提供的任一种方法。
116.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:本说明书中的分布式处理方法及装置基于分布式处理系统,分布式处理系统包括第一控制端和若干个执行节点。其中至少一个执行节点在对分配至自身的分片进行处理并得到中间结果之后,将该中间结果存储在本地,而不是存储在共享文件中,则在后续步骤中,第一控制端可以从执行节点的本地获取中间结果,而不是从共享文件中获取中间结果。可见,本说明书中的分布式处理过程不依赖于共享文件,有效的避免共享文件的故障、存储空间的限制对分布式处理造成的负面影响。并且,将中间结果分散的存储在执行节点本地,即使某一个执行节点发生故障,也不会影响到其他执行节点中存储的中间结果,有利于提高分布式处理系统的容灾能力。
附图说明
117.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
118.图1为现有的分布式处理系统执行任务处理的过程示意图;
119.图2为本说明书实施例提供的一种分布式处理系统的部分架构示意图;
120.图3为本说明书实施例提供的一种分布式处理过程示意图;
121.图4为本说明书实施例提供的一种分布式处理系统的部分架构示意图;
122.图5为本说明书实施例提供的一种分布式处理过程确定故障节点的场景示意图;
123.图6为本说明书实施例提供的一种分布式处理过程确定故障节点的场景示意图;
124.图7为本说明书实施例提供的第一种分布式处理装置结构示意图;
125.图8为本说明书实施例提供的第二种分布式处理装置结构示意图;
126.图9为本说明书实施例提供的第三种分布式处理装置结构示意图;
127.图10为本技术实施例中一种电子设备的结构示意图。
具体实施方式
128.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
129.现有的分布式处理系统通常具有如图1所示的架构。其中,主控端将任务拆分为多个分片(即,分片1至分片k),并将各分片分配至各节点(即节点1至节点k)。各节点中的每一个,对由其负责的分片进行处理,得到中间结果。之后各个节点均将其生成的中间结果写入共享文件中,由共享文件进行统一的存储。之后,主控端从共享文件中读取各个中间结果,并进行下一步的处理。
130.可见,现有的基于分布式处理系统的任务处理对共享文件的依赖性较强,若共享文件出现问题,将导致任务无法继续执行。
131.有鉴于此,提出本说明书各实施例提供的技术方案,以至少部分的解决对共享文件的依赖造成的问题。
132.以下结合附图,详细说明本技术各实施例提供的技术方案。
133.本说明书中的分布式处理过程基于分布式处理系统,示例性的如图2所示,该分布式处理系统包括第二控制端和若干个机房。以若干个机房中的机房i(即,第i个机房,机房i可以是若干个机房中的任意一个)为例,该机房i包括:第一控制端和若干个执行节点(即,图2中的执行节点1至执行节点m)。第二控制端与各机房中的各第一控制端通信连接。
134.其中,第二控制端与各个机房的第一控制端交互,第一控制端与其所属的机房中的各个执行节点交互。第一控制端用于对其所属机房的分布式处理过程进行管理和控制,执行节点则承担具体的处理职能。
135.为便于说明,本说明书中以第二控制端、机房i中的第一控制端和机房i中的执行节点j(执行节点j可以是机房i中的任意一个执行节点)之间的交互为例,对本说明书中的分布式处理过程进行说明。如图3所示,本说明书中的分布式处理过程可以包括以下步骤中的一个或多个:
136.s300:第一控制端获取待处理的任务。
137.在本说明书中,分布式处理系统处理的对象为

业务

,即,

业务

是分布式处理系
统处理的最小单元。分布式处理系统接到业务之后,按照其包含的各个机房,将该业务拆分为若干个任务,并将任务分配至各个机房,使得每个任务均对应有一个机房对其进行处理,即,

任务

是机房处理的最小单元。如图2所示,机房i获得了任务i。
138.本说明书中的业务、任务的具体含义可以根据实际的场景确定。例如,在本说明书中的分布式处理过程应用于金融场景中的条件下,业务可以是对某一交易批次进行的清算,任务可以是对库表级交易进行的清算。
139.在本说明书中,在得到处理结果之前的任务处于待处理的状态。
140.在一个可选实施例中,任务可以是第一控制端从第二控制端获得的。
141.s302:第一控制端根据任务确定出各执行节点对应的任务分片。
142.现有的对任务进行分片的方法均可以应用于本说明书中的过程。
143.在本说明书一个可选的实施例中,第一控制端可以根据其所属机房中执行节点的数量对任务进行划分。例如,在图2所示的实例中,机房i共包括m个执行节点,则第一控制端将任务划分为m个分片。
144.需要说明的是,本说明书中的执行节点是指处理能力正常、且在分布式处理过程中被采用的节点。此外,某一个机房中还可能存在其他的处理能力不正常的节点(例如,故障节点),和/或在分布式处理过程中未被采用的节点(例如,非执行节点)。
145.s304:第一控制端将各执行节点对应的任务分片分配至相应的执行节点。
146.在确定出执行节点与任务分片之间的对应关系(确定对应关系的过程可以如图4所示)之后,可以针对每个分片,将该分片分配至该分片对应的执行节点。如图2所示的,任务分片1被分配至执行节点1,以此类推。
147.s306:执行节点j对第一控制端分配至本执行节点的任务分片进行处理,得到中间结果。
148.由于执行节点j处理的任务分片是根据任务得到的,则执行节点j生成的中间结果对应于所述任务。
149.本说明书对执行节点对分片进行处理的过程不做具体限制。任何能够实现对任务分片进行处理的过程,均适用于本步骤。
150.s308:执行节点j将所述中间结果存储至执行节点j本地。
151.执行节点j在根据其接收到的任务分片生成中间结果之后,直接将该中间结果存储在执行节点j的本地,而不是诸如现有技术中的共享文件(如图1所示)的公共存储位置。一方面,能够避免对公共存储位置的使用,简化分布式处理系统的架构;另一方面,还能够避免公共存储位置出现故障引起的数据丢失和/或损坏。
152.进一步地,一个机房中的执行节点的数量通常不唯一,则在执行节点的数量较多的情况下,相应的,各个执行节点提供的总的存储空间也较大,使得本说明书中的过程能够避免公共存储空间存储能力有限造成的存储压力。
153.s310:在满足预设的第一条件时,第一控制端获取存储在其所属的机房i中的各执行节点本地的中间结果。
154.本说明书中的第一条件可以根据实际的需求确定,第一条件用于确定触发第一控制端获取中间结果的时机。
155.由于本说明书中的任务分片是对任务进行划分得到的,则根据任务分片得到的中
间结果仅能从该分片的角度,对任务的处理结果进行反映,即,某一任务分片对应的中间结果均较难反映出任务的处理结果的全貌。则需由第一控制端获取各个中间结果,并对各个中间结果进行汇总,以得到任务的处理结果。
156.在本说明书中,中间结果是存储在执行节点本地的,则第一控制端可以针对每个执行节点,从该执行节点的本地,获取对应于任务的中间结果。
157.s312:在所述第一控制端获取对应于所述任务的中间结果时,执行节点j将其本地存储的中间结果发送至所述第一控制端。
158.在本说明一个可选地的实施例中,在满足预设的第一条件时,第一控制端生成中间结果获取请求,发送至其所属机房的各执行节点。各执行节点在接收到中间结果获取请求后,将其本地存储的对应于所述待处理业务的中间结果发送至第一控制端。
159.s314:第一控制端对从各执行节点获取的中间结果进行汇总,得到所述任务的处理结果。
160.本说明书对第一控制端针对各中间结果进行汇总的具体方式不做限制。在本说明书一个可选的实施例中,第一控制端将待处理业务对应的各个中间结果存储在第一控制端本地,即完成了汇总,得到了该任务的处理结果。
161.在本说明书一个可选的实施例中,第一控制端得到任务的处理结果之后,将该处理结果存储在第一控制端本地,以备后续步骤使用。
162.s316:在满足预设的第二条件时,针对每个机房,第二控制端获取该机房针对任务得到的处理结果。
163.本说明书中的第二条件可以根据实际的需求确定,第二条件用于确定触发第二控制端获取各个机房生成的处理结果的时机。
164.由前述内容可知,本说明书中的分布式处理系统的处理对象是业务,业务可能会被拆分为多个任务,则某一个任务的处理结果较难反映出整个业务的处理结果的全貌,需由第二控制端获取各个机房生成的针对任务的处理结果,并对获取到的各个任务的处理结果进行进一步处理,以得到业务的处理结果。
165.s318:第一控制端将处理结果发送至第二控制端。
166.在本说明书一个可选的实施例中,第二控制端获取各任务的处理结果的过程可以是,第二控制端生成第一获取指令,发送至各机房(具体地,可以是发送至每个机房的第一控制端),使得各机房根据所述第一获取指令,返回任务的处理结果。
167.s320:第二控制端根据从各个机房获取到的各处理结果,对各处理结果对应业务进行处理。
168.本说明书对第二控制端对业务进行处理的具体方式不做限制。由于,本说明书中的分布式处理系统处理的对象为

业务

,则在本说明书一个可选的实施例中,第二控制端输出的结果即为针对业务进行处理的结果;而在本说明书另一个可选的实施例中,第二控制端输出的结果是待定结果,还需由分布式处理系统中的其他端(例如第三控制端)对待定结果进行进一步处理,以得到针对业务进行处理的结果。
169.由前述内容可知,在机房i中,第一控制端一定程度的承担了分布式处理的管理、协调工作,现就第一控制端如何实现其管理协调的功能进行说明。
170.在本说明书一个可选的实施例中,第一控制端包括控制节点和协调组件,如图4所
示。其中,控制节点用于将机房i接收到的任务划分为若干个任务分片,并针对每个任务分片,确定该任务分片与所述执行节点之间的对应关系;协调组件用于将控制节点划分出的任务分片分配至该任务分片对应的执行节点。
171.可选地,本说明书实施例中的控制节点不仅仅具备控制、管理的功能,还具备任务分片处理的功能。则控制节点在将任务划分任务分片时,也划分出其自身将处理的任务分片,并以此为据生成所述对应关系。此后,协调组件在分配任务分片时,根据所述对应关系将由控制节点负责处理的任务分片分配至控制节点。
172.本说明书对协调组件的类型不做具体限制,例如,该协调组件可以是zk(zookeeper,分布式应用程序协调服务)。可以由协调组件负责对其所属的机房中的各个节点(包括控制节点和执行节点)的工作状态进行监督。
173.为使得机房i中的各个执行节点能够对其负责的任务分片进行有效的处理,在本说明书一个可选的实施例中,可以由第一控制端(具体地,可以是第一控制端中的控制节点,如图4所示)针对每个任务分片,将该处理该任务分片所依赖的数据在预设的数据源中的存储位置,作为该任务分片的第一地址。之后,由第一控制端(具体地,可以是第一控制端中的协调组件)将该执行节点对应的任务分片的第一地址,发送至该执行节点。
174.该执行节点接收到第一地址之后,根据所述第一地址,从所述数据源获取数据,以对分配至该执行节点的任务分片进行处理。
175.由于本说明书中的各个执行节点生成的中间结果存储在执行节点本地,而不是存储在共享文件中。为使得第一控制端能够从执行节点得到中间结果,可以在执行节点将中间结果存储在本地之后,第一控制端获取各中间结果在各个执行节点本地的存储位置。之后,第一控制端根据中间结果的存储位置,获取中间结果。
176.在本说明书一个可选的实施例中,本说明书中的分布式处理系统还可以包括地址数据库,如图2所示。所述地址数据库用于针对每个任务分片,存储该任务分片的第二地址。执行节点在生成中间结果之后,可以将其生成的中间结果存储至本地,并确定所述中间结果在本地的存储位置,作为第二地址。之后,执行节点将所述第二地址发送至所述地址数据库。则第一控制端可以根据地址数据库中记录的各个第二地址,获知执行节点生成的中间结果的具体存储位置。在第一控制端根据第二地址从执行节点获取中间结果时,执行节点将其本地存储的对应于所述第二地址的中间结果,发送至所述第一控制端,如图4所示。
177.进一步地,获取中间结果的操作可以由控制节点执行。控制节点在获取到各个执行结果的中间结果之后,将获得的各个中间结果存储在控制节点的本地。则在此后,控制节点可以直接针对其本地存储的中间结果进行汇总。
178.在控制节点通过汇总得到所述任务的处理结果之后,将该任务的处理结果存储在其本地,并确定所述处理结果在所述控制节点本地的存储位置作为第三地址,使得所述第二控制端根据所述第三地址从所述控制节点本地获取所述处理结果。具体地,控制节点在生成第三地址之后,将该第三地址写入地址数据库,使得第二控制端可以根据地址数据库得到第三地址。之后,第二控制端根据获取到的第三地址,在机房i的控制节点本地,获取机房i针对任务得到处理结果。可见,本说明书中的业务处理过程还能够实现跨机房的业务处理。
179.进一步地,本说明书中的地址数据库中记载的第二地址不仅仅具有使得第一控制
端获取中间结果的功能,地址数据库中记载的第二地址可以用于确定是否满足第一条件。具体地,第一控制端可以针对每个任务分片,判断所述地址数据库中是否存在对应于该任务分片的第二地址。若是,则确定满足预设的第一条件。若否,则等待预设的第一时间,再次确定所述地址数据库中是否存在对应于该任务分片的第二地址,直至判断的结果为是。
180.可选地,说明书中的地址数据库中记载的第三地址可以用于确定是否满足第二条件。具体地,第二控制端可以针对每个任务,判断所述地址数据库中是否存在对应于该任务的处理结果的第三地址。若是,则确定满足预设的第二条件。若否,则等待预设的第二时间,再次确定所述地址数据库中是否存在对应于该任务分片的第三地址,直至判断的结果为是。
181.其中,第一时间和第二时间可以根据实际的需求确定。
182.由前述内容可知,本说明书中的协调组件还负责其所属机房中的各个节点的状态的监督。具体地,对各个节点的状态的监督可以是通过如下手段实现的:协调组件与各个节点分别地连接,在检测到某一节点与协调组件的连接断开时,确定该断开连接的节点发生故障,该断开连接的节点是故障节点,如图5和图6所示。
183.在协调组件检测到控制节点是故障节点时,如图5所示,为提高分布式处理系统的容灾能力,协调组件生成控制节点选取指令,发送至各个执行节点。各执行节点接收到控制节点选取指令之后,生成控制节点选取请求,发送至协调组件。协调组件确定出其接收到的第一个控制节点选取请求,将发送该第一个控制节点选取请求的执行节点(如图5中的执行节点2)作为新的控制节点。之后,协调组件生成指派指令和通知,将指派指令发送至新的控制节点,使得该新的控制节点在此后行使任务执行的管理执行;并将通知发送至除新的控制节点之外的其他执行节点,使得其他各执行节点不再继续向协调组件发送控制节点选取请求,并继续行使执行节点的职能。
184.在协调组件检测到某一执行节点是故障节点(如图6中的执行节点3)时,则需进一步根据发现故障的时机进行决策。
185.具体地,若发现执行节点是故障节点的时机,是在该故障节点存储其所处理的任务分片的执行结果之前(即,前述的步骤s308之前),则可以将原先由所述故障节点处理的对应于所述任务的任务分片,分配至除所述故障节点之外的其他执行节点。
186.若根据地址数据库中的第二地址未能获取到该第二地址对应的执行节点本地存储的中间结果,则确定该节点为故障节点,则可以确定该执行节点是故障节点。此时,发现执行节点是故障节点的时机,是在该故障节点生成其所处理的任务分片的执行结果之后(即,前述的步骤s308之后)。则除将原先由所述故障节点处理的对应于所述任务的任务分片,分配至除所述故障节点之外的其他执行节点;还删除地址数据库中该故障节点生成的对应于所述任务的第二地址。
187.在将原先由故障节点处理的任务分片分配至其他节点时,可以在除所述故障节点之外的其他执行节点中,确定出可用的数据处理资源最多的执行节点。将原先由所述故障节点处理的对应于所述任务的任务分片,分配至该可用的数据处理资源最多的执行节点,以实现负载均担,提高分布式处理系统的整体效率。
188.可见,本说明书中的分布式处理过程具有较好的容灾能力,即使机房中的节点发生故障,也能够较大程度的降低该故障对任务的执行造成的不利影响。
189.由前述内容可知,现有的任务处理过程所依赖的共享文件还存在存储空间有限的问题。本说明书中的过程通过前述的由各个节点共同实现的分布式存储,能够有效的扩展用于存储中间结果的存储空间。进一步地,本说明书中的过程还在第一控制端生成针对任务的处理结果之后,指令各执行节点删除其本地的中间数据,以释放执行节点本地的存储空间,为下一次分布式处理做准备。
190.具体地,释放执行节点本地的存储空间的过程可以是:第一控制端在得到所述任务的处理结果之后,生成中间结果删除指令,发送至各执行节点。执行节点在接收到中间结果删除指令之后,根据该执行节点删除本地存储的对应于所述任务的中间结果。可选地,执行节点在删除其本地的中间结果之后,删除地址数据库中对应于该被删除的中间结果的第二地址。
191.由于控制节点中存储的任务的处理结果也一定程度的占用了控制节点的存储空间,则第二控制端可以在生成业务的处理结果之后,生成处理结果删除指令,发送至各个第一控制端。使得各个第一控制端的控制节点根据接收到的处理结果删除指令删除其本地存储的对应于所述任务的处理结果,以释放控制节点的存储空间。可选地,控制节点在删除其本地对应于任务的处理结果之后,删除地址数据库中对应于该被删除的处理结果的第三地址。
192.在本说明书一个可选的实施例中,控制节点在划分任务分片时,首先根据其所属的机房中的各个执行节点的信息(例如,该信息可以是根据所述地址数据库中的数据得到,该数据可以是所述第二地址),针对每个执行节点,确定该执行节点本地可用的存储空间。根据该执行节点本地可用的存储空间,确定将由该执行节点处理的任务分片,使得该执行节点针对该任务分片的处理得到的中间结果的数据量不会超过该执行节点本地可用的存储空间。
193.可见,本说明书中的业务处理过程以及业务处理系统中的节点在对分配至自身的分片进行处理并得到中间结果之后,将该中间结果存储在本地,而不是存储在共享文件中,有利于提高系统的容灾能力,提高系统的存储扩展能力。并且,在后的业务处理步骤完成之后,删除在前的业务处理步骤产生的文件(例如中间结果、任务的处理结果中的至少一种),有利于及时释放系统的存储空间。
194.基于同样的思路,如图7所示,本说明书实施例还提供了对应于图3所示过程部分步骤的第一种分布式处理装置,所述第一种分布式处理装置应用于第一控制端。所述第一控制端属于分布式处理系统,所述分布式处理系统还包括若干个执行节点。所述第一种分布式处理装置包括以下模块中的一个或多个:
195.任务获取模块700,配置为获取待处理的任务;
196.任务分片确定模块702,配置为根据所述任务,确定出各执行节点对应的任务分片;
197.第一分配模块704,配置为将各执行节点对应的任务分片分配至相应的执行节点,使得各执行节点对分配到的任务分片进行处理,并将处理得到的中间结果存储至各执行节点本地;
198.中间结果获取模块706,配置为在满足预设的第一条件时,获取存储在各执行节点本地的中间结果;
199.汇总模块708,配置为对从各执行节点获取的中间结果进行汇总,得到所述任务的处理结果。
200.在本说明书一个可选的实施例中,所述第一控制端包括连接的控制节点和协调组件;所述控制节点用于确定任务分片与所述执行节点之间的对应关系,所述协调组件用于将所述任务分片分配至该任务分片对应的执行节点。
201.在本说明书一个可选的实施例中,所述第一种分布式处理装置还可以包括控制节点确定模块710。所述控制节点确定模块710配置为:在所述协调组件检测不到与之连接的控制节点时,将各执行节点中的至少一个,确定为新的控制节点,并根据新的控制节点执行分布式处理。
202.在本说明书一个可选的实施例中,所述第一分配模块704具体配置为:针对每个任务分片,将该处理该任务分片所依赖的数据在预设的数据源中的存储位置,作为该任务分片的第一地址。将该执行节点对应的任务分片的第一地址,发送至该执行节点,使得该执行节点根据接收到的第一地址获取数据,以对该执行节点对应的任务分片进行处理。
203.在本说明书一个可选的实施例中,所述分布式处理系统还包括地址数据库;所述地址数据库用于针对每个任务分片,存储该任务分片的第二地址;所述第二地址示出该任务分片对应中间结果在执行节点本地的存储位置。
204.在本说明书一个可选的实施例中,所述第一种分布式处理装置还可以包括第一判断模块712。所述第一判断模块712针对每个任务分片,确定所述地址数据库中是否存在对应于该任务分片的第二地址。若是,则确定满足预设的第一条件。
205.在本说明书一个可选的实施例中,所述中间结果获取模块706具体配置为:针对每个执行节点,从所述地址数据库中,确定出由该执行节点生成的对应于所述任务的第二地址;根据确定出的第二地址,获取该执行节点本地存储的中间结果。
206.在本说明书一个可选的实施例中,所述第一控制端包括控制节点。所述中间结果获取模块706具体配置为:针对每个执行节点,所述控制节点获取该执行节点本地存储的对应于所述任务的中间结果,存储在所述控制节点本地。所述汇总模块708具体配置为所述控制节点在其本地,对从各执行节点获取的中间结果进行汇总。
207.在本说明书一个可选的实施例中,所述分布式处理系统还可以包括第二控制端。所述第一种分布式处理装置还可以包括第三地址生成模块。所述第三地址生成模块配置为:在控制节点的本地存储所述处理结果,并确定所述处理结果在所述控制节点本地的存储位置作为第三地址,使得所述第二控制端根据所述第三地址从所述控制节点本地获取所述处理结果。
208.在本说明书一个可选的实施例中,所述分布式处理系统还可以包括第一接收模块714。所述第一接收模块714配置为若接收到处理结果删除指令,则所述控制节点删除本地存储的对应于所述任务的处理结果;所述处理结果删除指令是第二控制端根据所述任务生成的。
209.在本说明书一个可选的实施例中,所述分布式处理系统还可以包括第二分配模块718。所述第二分配模块718配置为在检测到各个执行节点中存在故障节点时,将原先由所述故障节点处理的对应于所述任务的任务分片,分配至除所述故障节点之外的其他执行节点。
210.在本说明书一个可选的实施例中,所述第一控制端还可以包括协调组件,所述协调组件与各执行节点分别地连接。所述第一种分布式处理装置还可以包括检测模块716。所述检测模块716配置为:在所述协调组件检测到存在与之断开连接的执行节点时,将该断开连接的执行节点确定为故障节点。
211.在本说明书一个可选的实施例中,所述中间结果获取模块706具体配置为针对每个执行节点,若未获取到该执行节点本地存储的对应于所述任务的中间结果,则确定该节点为故障节点。将原先由所述故障节点处理的对应于所述任务的任务分片,分配至除所述故障节点之外的其他执行节点,并从该其他执行节点获取该任务分片对应的中间结果。
212.在本说明书一个可选的实施例中,所述第一控制端还可以包括资源确定模块720。所述资源确定模块720配置为在除所述故障节点之外的其他执行节点中,确定出可用的数据处理资源最多的执行节点。将原先由所述故障节点处理的对应于所述任务的任务分片,分配至该可用的数据处理资源最多的执行节点。
213.在本说明书一个可选的实施例中,所述第一控制端还可以包括第一删除模块722。所述第一删除模块722配置为生成中间结果删除指令,发送至各执行节点,使得各执行节点根据所述中间结果删除指令,删除本地存储的对应于所述任务的中间结果。
214.基于同样的思路,如图8所示,本说明书实施例还提供了对应于图3所示过程部分步骤的第二种分布式处理装置,所述第二种分布式处理装置应用于第二控制端。所述分布式处理系统还包括若干个机房;至少一个机房包括第一控制端和若干个执行节点;各机房处理的任务属于同一业务。所述第二种分布式处理装置包括以下模块中的一个或多个:
215.处理结果获取模块800,配置为在满足预设的第二条件时,针对每个机房,获取该机房针对任务得到的处理结果。
216.处理模块802,配置为根据从各个机房获取到的各处理结果,对各处理结果对应业务进行处理。所述处理结果中的至少一个,是通过前述的任意一种分布式处理过程得到的。
217.在本说明书一个可选的实施例中,所述第二种分布式处理装置还可以包括第二判断模块804。所述第二判断模块804配置为:若针对每个机房均获取到该机房的控制节点生成的第三地址,则确定满足预设的第二条件。
218.在本说明书一个可选的实施例中,所述第二种分布式处理装置还可以包括第三地址获取模块806。所述第三地址获取模块806配置为针对每个机房,获取该机房的控制节点生成的第三地址;所述第三地址示出该机房针对任务得到处理结果在该机房的控制节点本地的存储位置。
219.在本说明书一个可选的实施例中,处理结果获取模块800具体配置为:获取对应于该机房的第三地址;根据获取到的第三地址,在该机房的控制节点本地,获取该机房针对任务得到的处理结果。
220.基于同样的思路,如图9所示,本说明书实施例还提供了对应于图3所示过程部分步骤的第三种分布式处理装置。所述第三种分布式处理装置应用于分布式处理系统的若干个执行节点中的任一执行节点,所述分布式处理系统还包括第一控制端。所述第三种分布式处理装置包括以下模块中的一个或多个:
221.中间结果生成模块900,配置为对第一控制端分配至本执行节点的任务分片进行处理,得到中间结果;所述任务分片是根据任务得到的,所述中间结果对应于所述任务。
222.存储模块902,配置为将所述中间结果存储至本地。
223.中间结果发送模块904,配置为在所述第一控制端获取对应于所述任务的中间结果时,将所述中间结果发送至所述第一控制端,使得所述第一控制端根据该中间结果,得到所述任务的处理结果。
224.在本说明书一个可选的实施例中,所述第三种分布式处理装置还可以包括第一地址接收模块906和任务分片处理模块908。
225.所述第一地址接收模块906,配置为接收第一控制端发送的第一地址,所述第一地址示出该处理该任务分片所依赖的数据在预设的数据源中的存储位置。
226.所述任务分片处理模块908,配置为根据所述第一地址,从所述数据源获取数据,以对分配至该执行节点的任务分片进行处理。
227.在本说明书一个可选的实施例中,所述存储模块902具体配置为将所述中间结果存储至本地,并确定所述中间结果在本地的存储位置,作为第二地址。
228.在本说明书一个可选的实施例中,所述第三种分布式处理装置还可以包括第二地址发送模块910。所述第二地址发送模块910配置为:将所述第二地址发送至所述地址数据库,使得所述第一控制端通过所述地址数据库获取该第二地址。
229.在本说明书一个可选的实施例中,所述中间结果发送模块904具体配置为在所述第一控制端根据所述第二地址获取对应于所述任务的中间结果时,将本地存储的对应于所述第二地址的中间结果,发送至所述第一控制端。
230.在本说明书一个可选的实施例中,所述第三种分布式处理装置还可以包括第二删除模块。所述第二删除模块配置为:若接收到中间结果删除指令,则该执行节点删除本地存储的对应于所述任务的中间结果;所述中间结果删除指令是第一控制端根据所述任务生成的。
231.图10是本技术的一个实施例电子设备的结构示意图。请参考图10,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
232.处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
233.存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
234.处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成前述的分布式处理装置之一。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
235.获取待处理的任务;根据所述任务,确定出各执行节点对应的任务分片;将各执行
节点对应的任务分片分配至相应的执行节点,使得各执行节点对分配到的任务分片进行处理,并将处理得到的中间结果存储至各执行节点本地;在满足预设的第一条件时,获取存储在各执行节点本地的中间结果;对从各执行节点获取的中间结果进行汇总,得到所述任务的处理结果。或者,
236.在满足预设的第二条件时,针对每个机房,获取该机房针对任务得到的处理结果。根据从各个机房获取到的各处理结果,对各处理结果对应业务进行处理;各处理结果中的至少一个,是通过前述任一种方法得到的。或者,
237.对第一控制端分配至本执行节点的任务分片进行处理,得到中间结果;所述任务分片是根据任务得到的,所述中间结果对应于所述任务。将所述中间结果存储至本地。在所述第一控制端获取对应于所述任务的中间结果时,将所述中间结果发送至所述第一控制端,使得所述第一控制端根据该中间结果,得到所述任务的处理结果。
238.上述如本技术图7至图9所示实施例揭示的任意一种分布式处理装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
239.该电子设备还可执行图7至图9中任一分布式处理装置执行的方法,并实现交易对账装置在图3所示实施例的至少部分功能,本技术实施例在此不再赘述。
240.本技术实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图7至图9中任一分布式处理装置执行的方法,并具体用于执行:
241.获取待处理的任务;根据所述任务,确定出各执行节点对应的任务分片;将各执行节点对应的任务分片分配至相应的执行节点,使得各执行节点对分配到的任务分片进行处理,并将处理得到的中间结果存储至各执行节点本地;在满足预设的第一条件时,获取存储在各执行节点本地的中间结果;对从各执行节点获取的中间结果进行汇总,得到所述任务的处理结果。或者,
242.在满足预设的第二条件时,针对每个机房,获取该机房针对任务得到的处理结果。根据从各个机房获取到的各处理结果,对各处理结果对应业务进行处理;各处理结果中的至少一个,是通过前述任一种方法得到的。或者,
243.对第一控制端分配至本执行节点的任务分片进行处理,得到中间结果;所述任务分片是根据任务得到的,所述中间结果对应于所述任务。将所述中间结果存储至本地。在所述第一控制端获取对应于所述任务的中间结果时,将所述中间结果发送至所述第一控制端,使得所述第一控制端根据该中间结果,得到所述任务的处理结果。
244.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
245.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
246.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
247.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
248.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
249.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
250.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
251.还需要说明的是,术语

包括



包含

或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要
素。在没有更多限制的情况下,由语句

包括一个......

限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
252.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
253.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献