CN102473122B - 容错的批量处理 - Google Patents
容错的批量处理 Download PDFInfo
- Publication number
- CN102473122B CN102473122B CN201080031812.2A CN201080031812A CN102473122B CN 102473122 B CN102473122 B CN 102473122B CN 201080031812 A CN201080031812 A CN 201080031812A CN 102473122 B CN102473122 B CN 102473122B
- Authority
- CN
- China
- Prior art keywords
- checkpoint
- buffer memory
- data
- ingredient
- working cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Retry When Errors Occur (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
处理批量的输入数据包括:读取包括数个记录的批量,并且使所述批量经过数据流程图。至少一个但少于全部的图组成部分包括检查点处理,用于针对与一个或更多个记录相关联的数个工作单元中的每一个执行的动作;检查点处理包括:在处理开始时,打开检查点缓存。如果由于对工作单元执行所述动作所产生的结果在之前被保存在检查点缓存中,则使用所保存的结果完成工作单元的处理而不再次执行所述动作。如果由于对工作单元执行所述动作所产生的结果未被保存在检查点缓存中,则执行所述动作以完成工作单元的处理并且将由于执行所述动作所产生的结果保存在检查点缓存中。
Description
技术领域
此描述涉及以容错方式处理批量的数据。
背景技术
复杂的计算通常可以表示为有向图(称为“数据流程图(daaflowgraph)”),其中计算的各组成部分与图的节点(或顶点)相关联并且各组成部分之间的数据流对应于图的各节点之间的链路(link)(或,弧(arc)、边缘(edge))。组成部分包括处理数据的数据处理组成部分和用作数据流的源(source)或接收器(sink)的组成部分。各数据处理组成部分形成可以并发地处理多级的数据的流水线系统。美国专利5,966,072,EXECUTINGCOMPUTATIONSEXPRESSEDASGRAPHS中描述了实施这种基于图的计算(graph-basedcomputation)的系统。在某些情况下,将基于图的计算配置为接收输入数据的流并且处理连续的数据流以便无限地提供来自一个或更多个组成部分的结果,直到计算关闭为止。在某些情况下,将基于图的计算配置为接收批量的输入数据并且处理批量的数据以提供对于此批量的结果。然后在已经处理了该批量之后关闭或返回到空闲的状态。
发明内容
在一方面,总体上,用于以容错方式处理批量输入数据的方法包括:从一个或更多个数据源读取包括多个记录的批量输入数据;以及使所述批量经过包括由链路连接的代表组成部分的两个或更多个节点的数据流程图,所述链路代表各组成部分之间的数据的流,其中,至少一个但少于全部的组成部分包括检查点处理,用于针对与一个或更多个记录相关联的数个工作单元中的每一个执行的动作。所述检查点处理包括:在针对批量的处理开始时,打开非易失性存储器中存储的检查点缓存;以及对于来自所述批量的每个工作单元,如果由于对工作单元执行所述动作所产生的结果在之前被保存在检查点缓存中,则使用所保存的结果完成工作单元的处理而不再次执行所述动作,或者如果由于对工作单元执行所述动作所产生的结果未被保存在检查点缓存中,则执行所述动作以完成工作单元的处理并且将由于执行所述动作所产生的结果保存在检查点缓存中。
一些方面可以包括下列特征中的一个或更多个。
所述动作包括与远程服务器通信。
由于执行所述动作所产生的结果包括由于用于工作单元的与远程服务器的通信所产生的信息。
所述方法进一步包括:在完成所述批量的处理时删除检查点缓存。
与远程服务器的通信被收费。
与远程服务器的通信的结果存储在易失性存储器中,并且在发生触发事件时按组保存至检查点缓存。
所述触发事件是来自检查点管理器的信号。
所述触发事件是自从上次写至检查点缓存时起记录的数目的处理。
所述触发事件是自上次写至检查点缓存时起时间段的经过。
包括检查点处理的组成部分并行地在多个处理设备上运行。
数据记录在多个并行处理设备之中的分配在批量的运行之间是一致的,并且每个处理设备保持独立的检查点缓存。
数据记录在多个并行处理设备之中的分配是动态的,并且处理设备共享对于所共享的非易失性存储器中存储的单个检查点缓存的访问,其中对于检查点缓存的写入由检查点管理器控制。
所述方法进一步包括:在已经发生错误状况时,重新开始数据流程图中的所有组成部分;从一个或更多个数据源读取包括多个记录的批量输入数据;以及使整个批量经过数据流程图。
所述动作包括与远程服务器通信。
在另一方面,总体上,计算机可读介质存储用于以容错方式处理批量输入数据的计算机程序。该计算机程序包括指令,所述指令使得计算机:从一个或更多个数据源读取包括多个记录的批量输入数据;以及使所述批量经过包括由链路连接的代表组成部分的两个或更多个节点的数据流程图,所述链路代表各组成部分之间的数据的流,其中,至少一个但少于全部的组成部分包括检查点处理,用于针对与一个或更多个记录相关联的数个工作单元中的每一个执行的动作。所述检查点处理进一步包括:在针对批量的处理开始时,打开非易失性存储器中存储的检查点缓存;以及对于来自所述批量的每个工作单元,如果由于对工作单元执行所述动作所产生的结果在之前被保存在检查点缓存中,则使用所保存的结果完成工作单元的处理而不再次执行所述动作,或者如果由于对工作单元执行所述动作所产生的结果未被保存在检查点缓存中,则执行所述动作以完成工作单元的处理并且将由于执行所述动作所产生的结果保存在检查点缓存中。
在另一方面,总体上,用于以容错方式处理批量输入数据的系统包括:用于从一个或更多个数据源读取包括多个记录的批量输入数据的部件;以及用于使所述批量经过包括两个或更多个节点的数据流程图的部件,所述节点代表由链路连接的组成部分,所述链路代表各组成部分之间的数据的流,其中,至少一个但少于全部的组成部分包括检查点处理,用于针对与一个或更多个记录相关联的数个工作单元中的每一个执行的动作。所述检查点处理包括:在针对批量的处理开始时,打开非易失性存储器中存储的检查点缓存;以及对于来自所述批量的每个工作单元,如果由于对工作单元执行所述动作所产生的结果在之前被保存在检查点缓存中,则使用所保存的结果完成工作单元的处理而不再次执行所述动作,或者如果由于对工作单元执行所述动作所产生的结果未被保存在检查点缓存中,则执行所述动作以完成工作单元的处理并且将由于执行所述动作所产生的结果保存在检查点缓存中。
一些方面可以包括下列优点中的一个或更多个:可以消除对于数据流程图中不同组成部分之间的一些检查点有关通信的需要。可以选择性地避免在错误恢复期间在多级批量处理中重复复杂和高成本的步骤,而没有实施整个流水线的系统的检查点的复杂性和花费。例如,通过避免对于收费服务的重复调用,此方法可以用于省钱。
本发明的其它特征和优点将根据下面的描述并且根据权利要求书而变得明显。
附图说明
图1是具有输入/输出检查点的批量数据处理系统的方框示图。
图2是检查点处理的流程图。
图3是具有拥有并行性的输入/输出检查点的批量数据处理系统的方框示图。
图4是具有拥有并行性的输入/输出检查点的批量数据处理系统和检查点管理器的方框示图。
具体实施方式
基于图的数据处理系统可以配置为以容错(faulttolerant)方式处理批量的输入数据,其包含:将数据流程图中的一个组成部分的中间结果保存至缓存(buffer),其中它们可以从该缓存中检索到并且在错误状况强制批量输入数据的处理的重新启动的情况下被重新使用。
图1是示例性的数据处理系统100的方框示图。数据经过数据流程图的数据处理组成部分的序列,所述数据流程图处理从一个或更多个数据源(datasource)至一个或更多个数据接收器(datasink)的数据流。数据流程图中的各种数据处理组成部分中的任何一个均可以通过在单独的处理设备上运行的处理而加以实施,或者数个数据处理组成部分可以通过在单个处理设备上运行的一个或更多个处理而加以实施。可以按批量处理数据,其标识要由系统100处理的一组输入数据记录。
系统100对于批量数据的处理可以通过用户输入或者某种其它事件(如,定时器的到期)而启动。当开始批量数据的处理时,从一个或更多个输入数据源读取输入数据记录。例如,从诸如数据存储组成部分110表示的计算机可读存储器件上存储的一个或更多个文件读取输入数据。也可以从诸如数据存储组成部分112表示的服务器上运行的数据库读取输入数据记录。结合组成部分120按顺序从数个数据源读取数据(例如,记录),并且将输入数据安排为一序列的离散工作单元(workunit)。工作单元例如可以代表基于输入记录以预定格式存储的记录,或者例如可以代表要处理的事务(transaction)。在某些实施方案中,每个工作单元可以由批量内唯一的编号(如,处理的工作单元的计数)来标识。然后按顺序将工作单元传给数据流程图中的下一组成部分。
实施系统100的示例性数据流程图还包括数据处理组成部分130和140。数据处理组成部分130包括检查点处理,其在批量处理过程期间将关于其处理的状态信息有规律地保存至非易失性存储器。当出现错误状况并且必须重新启动批量时,检查点的组成部分130访问所存储的状态信息以降低在批量的重复运行期间必须重复的处理的量。由此,检查点以使用非易失性存储器资源和向数据处理组成部分130添加复杂性为代价提供了容错。数据处理组成部分140是没有检查点的组成部分。其它数据流程图可以包括更多或更少的数据处理组成部分。可以将所需要那么多的数据处理组成部分配置为包括检查点处理。典型地,将在延迟或某些其它度量方面具有高成本的组成部分配置为包括检查点处理,从而在错误状况的情况下,无需针对批量中的所有工作单元重复系统100中的高成本处理步骤。
数据处理组成部分130包括访问远程服务器150的步骤。对于处理的每个工作单元,第一处理组成部分130将把请求发送至远程服务器150并且接收来自该远程服务器的结果(例如,来自数据库的数据)。这种操作出于各种原因而可能是高成本的,所述各种原因包括:在与远程服务器通信时经历的网络延迟或者远程控制器提供的服务的收费。在接收到结果后,组成部分130为下一数据处理组成部分140产生输出。由于此组成部分130已配置为包括检查点处理,其通过将工作单元的输出传递至下一数据处理组成部分140并且开始下一工作单元的处理,以保存来自远程服务器150的结果作为完成处理之前的处理状态信息的一部分。处理状态信息可以暂存在运行检查点处理的处理设备上的易失性存储器中。以有规律的时间将一个或更多个工作单元的处理状态信息写入至非易失性存储器中所存储的检查点缓存,从而其稍后在错误状况的情况下是可用的。
随着工作单元通过数据流程图的各数据处理组成部分,与每个工作单元相关联的最终结果被传输至数据接收器160。可以单独地传输工作单元,或者在某些实施方案中,工作单元可以用于递增地更新最终结果,或者可以在最终结果传输至数据接收器160之前(例如,按队列)予以累积。数据接收器160可以是存储工作单元或者基于工作单元的一些累积输出的数据存储组成部分,例如,或者数据接收器160可以是工作单元被公布到的队列或者用于接收最终结果的某些其它类型的接收器。批量处理在批量中的所有工作单元的结果已被传输至数据接收器160时结束。此时,可终止数据流程图中的组成部分。与检查点的组成部分相关联的检查点处理可以删除其检查点缓存作为其终止例程的一部分。
图2是用于对检查点的组成部分进行检查点的示例性处理200的流程图。例如,一旦来自于通过数据流程图实施批量处理的软件的外部调用时,处理200启动201。启动可以包括:为检查点的组成部分在其上运行的处理设备上的处理200分配易失性存储器,并且保留任何其它所需要的资源。处理200接着检查205是否已经将与此处理相关联的检查点缓存保存在非易失性存储器中。如果不存在检查点缓存,则在非易失性存储器中创建207新的检查点缓存。如果之前存储了检查点缓存,则其被打开208。打开208检查点缓存可以包括:发现非易失性存储器中检查点缓存的位置,或者可能将检查点缓存的所有或一部分复制到处理设备上的易失性存储器。
在用于应对每个工作单元的循环开始时,从数据流程图中的之前组成部分或者从源接收210与工作单元相关联的输入数据。可选地,对工作单元进行预处理220。预处理220例如可包括:重新格式化数据记录,或者确定可用于针对与工作单元相关联的结果搜索检查点缓存的值。检查点处理200的检查点缓存被检查225以(例如,根据被中断的批量的之前处理)确定此工作单元的结果是否存储在检查点缓存中。
如果相关联的结果未存储在检查点缓存中,则对工作单元进行包括高成本动作的处理230。高成本动作的示例可包括:通过网络访问远程服务器上的资源并且遭遇显著的延迟或收取费用。然后将此处理的结果存储240在检查点缓存中。例如可以使用递增计数器将此结果与正在处理的工作单元相关联,所述递增处理器可以通过相同的计数器值标识工作单元和其相关联的结果。该结果可以直接写入至非易失性存储器,或者可以暂时缓存在易失性存储器中,直到触发事件使得其被复制至非易失性存储器为止。示例性的触发事件包括:处理固定数量的工作单元、经过的时间段或者来自外部处理的信号。
如果相关联的结果存储在检查点缓存中,则从检查点缓存中检索250该结果。
可选地,进行后处理260以完成工作单元的处理。后处理260例如可以包括:重新格式化数据或者将数据传递至数据流程图中的下一组成部分。在工作单元的处理完成后,检查点处理200接着检查270是否另一工作单元有待处理。如果另一工作单元是可用的,则检查点处理200循环回至读取与下一工作单元相关联的输入数据。当没有更多的工作单元有待处理时,工作点处理200等待280指示批量处理已经完成并且指令其终止的外部信号。当接收到终止信号时,检查点处理200在完成其终止序列290之前从非易失性存储器中删除285其检查点缓存。完成终止序列290可以包括:释放处理设备或其它保留的资源上的易失性存储器。
图3是示例性的数据处理系统300的方框示图,其中实施系统300的数据流程图包括具有分布式检查点处理的并行组成部分。数据流程图中的一个或更多个组成部分可以并行地运行在数个处理设备(例如,数个计算机或并行处理器的处理器核或数个处理器)上。在此示例中,明确地描绘了检查点并行组成部分的数个实例331、332和333。并行组成部分的实例运行在每个处理设备上,并且每个实例处理批量的工作单元的子集。在分布式检查点办法的此示例中,针对并行组成部分的三个实例中的每一个运行不同的检查点处理。
当开始批量数据的处理时,从一个或更多个输入数据源读取输入数据记录。例如,可以从诸如数据存储组成部分310表示的计算机可读存储设备上存储的一个或更多个文件读取输入数据。也可以从在诸如数据存储组成部分312表示的服务器上运行的数据库读取输入数据记录。结合组成部分320按顺序从数个数据源读取数据,并且将输入数据安排到一序列的离散工作单元。工作单元按顺序传递至数据流程图中的下一组成部分。
由于数据流程图中的下一数据处理组成部分是并行组成部分,因此工作单元由数据单元分割组成部分330分割并分配至数个组成部分实例。在此示例中,工作单元在各实例之中的分配在不同的批量处理运行之间一致(consistent),从而各实例无需访问被分配给其它实例的工作单元的状态信息。在出现错误状况并且需要再次运行批量时,工作单元分割组成部分330基于利用一致的结果可重复的一致算法,将工作单元分配至特定的实例。例如,工作单元分配分割组成部分330继而可以只是将工作单元每次一个地分配给每个组成部分实例,在工作单元计数超过并行实例的数目时循环至第一实例。在另一示例中,工作单元分割组成部分330可以应用这样的分割算法:其未保证在运行之间产生一致分配并且将分配信息保存至非易失性存储器,从而在需要批量的重复运行的情况下可以重复相同的分配。
检查点并行组成部分的每个实例331、332和333使用结合图1的检查点组成部分130所描述的方法,独立地处理向其分配的工作单元。每个实例331、332和333在非易失性存储器中创建并保持其自身的检查点缓存。当处理了工作单元时,实例检查其自身的检查点缓存以确定之前是否已经在批量的先前运行期间处理了工作单元。在示例性的系统300中,检查点的并行组成部分包括与远程服务器350通信以获取每个工作单元的信息的动作。在其它示例中,检查点并行组成部分可以包括具有与其相关联的高成本的其它动作,其为容错判断检查点缓存的维护(maintenance)。
当工作单元的处理结束时,将结果传递至聚集组成部分338,该聚集组成部分338收集来自数个实例的结果并且将它们传递至数据流程图中的下一数据处理组成部分。
数据处理组成部分340是没有检查点的组成部分。在其它示例中,数据流程图中的任何数目的组成部分均可以包括检查点。在某些情况下,将检查点处理限制到进行高成本动作的组成部分是有益的。其它数据流程图可以包括更多或更少的数据处理组成部分,其对于任何给定的数据处理组成部分具有或没有并行性(parallelism)。
随着工作单元通过数据流程图的各组成部分,与每个工作单元相关联的最终结果被传输至数据接收器360。批量处理在批量中的所有工作单元的结果已被传输至数据接收器360时结束。此时,可终止数据流程图中的各组成部分相关联的处理。给定实例的检查点处理可以删除其检查点缓存作为其终止例程的一部分。
图4是示例性的数据处理系统400的方框示图,其中实施系统400的数据流程图包括具有集中式检查点处理的并行组成部分。在此示例中,明确地描绘了检查点并行组成部分的数个实例431、432和433。并行化的组成部分的实例运行在每个处理设备上,并且每个实例处理批量的工作单元的子集。在集中式检查点办法的此示例中,检查点管理器436应对与并行组成部分的三个实例中的每一个通信的至少一些检查点处理。可以在运行并行组成部分的实例的各处理设备中的一个处理设备上或者在单独的处理设备上运行检查点管理器436。
当开始批量数据的处理时,从数据存储组成部分410和412读取输入数据记录。结合组成部分420按顺序从数个数据源读取数据,并且将输入数据安排到所存储的一序列的离散工作单元。然后将工作单元按顺序传递至数据流程图中的下一组成部分,其在此示例中是检查点并行组成部分。
在图4的示例中,检查点管理器436控制对于由实例431、432和433(其每一个均运行在不同的处理设备上)共享的单个检查点缓存的访问。对于批量中的所有工作单元共享单个检查点缓存允许将工作单元动态地分配至各实例,而不需要从批量的之前运行匹配分配。共享的检查点缓存存储在所有的实例可以经由总线或通信网络直接地、或者经由与检查点管理器436的通信间接地访问的所共享的非易失性存储器435上。实例431、432、433可以在它们处理工作单元时读取所共享的非易失性存储器435以检查检查点缓存。如果在检查点缓存中发现当前工作单元的结果,则所存储的结果用以避免重复高成本动作。如果在检查点缓存中未发现当前工作单元的结果,则执行工作单元的动作并且将结果存储在检查点缓存中。为了写入至检查点缓存,实例431、432、433将写请求消息发送至检查点管理器436。检查点管理器436然后向共享的非易失性存储器435写入以更新检查点缓存。在可替换的实施例中,检查点管理器436将记号(token)发送至给出向共享的非易失性存储器435写入的许可的请求实例,以便更新检查点缓存。
由于所有的实例431、432、433使用共享的检查点缓存,因此在批量数据的每一运行期间,工作单元分割组成部分430可以以不同的方式在各实例之间动态地分配工作单元。例如,工作单元分割组成部分430可以基于运行时在每个处理设备上的可用容量(其可能在运行之间变化)动态地分配每个工作单元。这种方法还允许工作单元分割组成部分430使用不同数量的并行实例。例如,在错误状况之后,运行并行组成部分的实例(例如,实例433)的处理设备之一可以被禁止或者不可用。在批量重新启动的这种情况下,工作单元分割组成部分430可以将所有的工作单元分配至剩余的实例431、432,其可以无缝地访问由禁止的实例433之前处理的工作单元的检查点缓存入口。
检查点管理器436可以由在单独的处理设备上运行的处理来实施,或者其可以由在运行并行组成部分的实例的处理设备之一上运行的处理来实施。在检查点缓存更新事件之间,实例431、432、433可以将检查点缓存更新缓存在本地的易失性存储器中。检查点管理器436可以将信号发送至实例,其触发实例以易失性存储器中缓存的任何信息开始检查点缓存更新。
当工作单元的处理完成时,将结果传递至聚集组成部分438,该聚集组成部分438收集来自数个实例的结果并且将它们传递至数据流程图中的下一数据处理组成部分。
数据处理组成部分440是没有检查点的组成部分。在其它示例中,数据流程图中的任何数量的组成部分可以包括检查点。在某些情况下,将检查点处理限制到要进行高成本动作的组成部分是有益的。其它数据流程图可以包括更多或更少的处理组成部分,其对于任何给定的数据处理组成部分具有或没有并行性(parallelism)。
随着工作单元通过数据流程图的各组成部分,与每个工作单元相关联的最终结果被传输至数据接收器460。批量处理在批量中的所有工作单元的结果已被传输至数据接收器460时结束。此时,可终止数据流程图中的组成部分。检查点管理器436可以删除检查点缓存作为其终止例程的一部分。
上面描述的容错批量处理办法可以通过使用用于在计算机上运行的软件来实施。例如,软件将过程形成在一个或更多个计算机程序中,所述程序运行在一个或更多个编程的或可编程的计算机系统(其可以是诸如分布式、客户端/服务器或网格(grid)之类的各种架构)上,每个计算机系统包括至少一个处理器、至少一个数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备或端口和至少一个输出设备或端口。软件例如可以形成更大程序的一个或更多个模块,其提供计算图(computationgraph)的配置和设计有关的其它服务。图的节点和要素可以实施为计算机可读介质中所存储的数据结构或者遵循数据仓库(datarepository)中存储的数据模型的其它有组织的数据。
可以将软件提供在可由通用或专用可编程计算机读取的CD-ROM之类的存储介质上,或者经由网络的通信介质输送(以传播的信号编码)至其被运行的计算机。可以在专用的计算机上或者使用专用硬件(如,协处理器)执行所有的功能。可以以由不同的计算机执行软件所指定的计算的不同部分的分布式方式实施软件。最好将每个这种计算机程序存储于或者下载至可由通用或专用可编程计算机读取的存储介质或器件(例如,固态存储器或介质,或者磁或光介质),用于在计算机系统读取存储介质或器件时配置和操作计算机以执行在此描述的过程。还可以考虑将本发明的系统实施为以计算机程序配置的计算机可读存储介质,其中如此配置的存储介质使得计算机系统以特定和预定义的方式工作以执行在此描述的功能。
已经描述了本发明的多个实施例。然而,要理解的是,在不脱离本发明精神和范围的情况下可以进行各种变型。例如,上面描述的步骤中的一些可以是有序独立的,由此可以以与描述的顺序不同的顺序加以执行。
要理解,前面的描述旨在说明而不是要限制本发明的范围,本发明的范围由所附权利要求书的范围限定。例如,可以在实质上不影响总体处理的情况下以不同的顺序执行上面描述的多个功能步骤。其它实施例在所附权利要求书的范围内。
Claims (28)
1.一种用于以容错方式处理批量输入数据的方法,该方法包括:
从一个或更多个数据源读取包括多个记录的批量输入数据;以及
使所述批量输入数据经过包括由链路连接的代表组成部分的两个或更多个节点的数据流程图,所述链路代表各组成部分之间的数据的流,其中,所述组成部分中的至少一个但少于全部包括检查点处理,所述检查点处理用于针对与一个或更多个记录相关联的数个工作单元中的每一个执行的动作;
其中,所述检查点处理包括:
在针对批量输入数据的处理开始时,打开非易失性存储器中存储的检查点缓存;以及
对于来自所述批量输入数据的每个工作单元,检查由于对工作单元执行所述动作所产生的结果是否在之前被保存在检查点缓存中;以及对于来自所述批量输入数据的每个工作单元,如果由于对工作单元执行所述动作所产生的结果在之前被保存在检查点缓存中,则使用所保存的结果完成工作单元的处理而不再次执行所述动作,或者如果由于对工作单元执行所述动作所产生的结果未被保存在检查点缓存中,则执行所述动作以完成工作单元的处理并且将由于执行所述动作所产生的结果保存在检查点缓存中。
2.如权利要求1所述的方法,其中,所述动作包括与远程服务器通信。
3.如权利要求2所述的方法,其中,由于执行所述动作所产生的结果包括由于用于工作单元的与远程服务器的通信所产生的信息。
4.如权利要求1所述的方法,进一步包括:在完成所述批量的处理时删除检查点缓存。
5.如权利要求2所述的方法,其中,与远程服务器的通信被收费。
6.如权利要求2所述的方法,其中,与远程服务器的通信的结果存储在易失性存储器中,并且在发生触发事件时按组保存至检查点缓存。
7.如权利要求6所述的方法,其中,所述触发事件是来自检查点管理器的信号。
8.如权利要求6所述的方法,其中,所述触发事件是自从上次写至检查点缓存时起记录数目的处理。
9.如权利要求6所述的方法,其中,所述触发事件是自上次写至检查点缓存时起,已经经过特定时间段。
10.如权利要求1所述的方法,其中,包括检查点处理的组成部分并行地在多个处理设备上运行。
11.如权利要求10所述的方法,其中,数据记录在多个并行处理设备之中的分配在批量的运行之间是一致的,并且每个处理设备保持独立的检查点缓存。
12.如权利要求10所述的方法,其中,数据记录在多个并行处理设备之中的分配是动态的,并且处理设备共享对于所共享的非易失性存储器中存储的单个检查点缓存的访问,其中对于检查点缓存的写入由检查点管理器控制。
13.如权利要求1所述的方法,进一步包括:
在已经发生错误状况之后,重新开始数据流程图中的所有组成部分;
从一个或更多个数据源读取包括多个记录的批量输入数据;以及
使所述批量输入数据经过数据流程图。
14.如权利要求13所述的方法,其中,所述动作包括与远程服务器通信。
15.一种用于以容错方式处理批量输入数据的系统,该系统包括:
用于从一个或更多个数据源读取包括多个记录的批量输入数据的部件;以及
用于使所述批量输入数据经过包括由链路连接的、代表组成部分的两个或更多个节点的数据流程图的部件,所述链路代表各组成部分之间的数据的流,其中,所述组成部分中的至少一个但少于全部包括检查点处理,所述检查点处理用于针对与一个或更多个记录相关联的数个工作单元中的每一个执行的动作;
其中,所述检查点处理包括:
在针对批量输入数据的处理开始时,打开非易失性存储器中存储的检查点缓存;以及
对于来自所述批量输入数据的每个工作单元,检查由于对工作单元执行所述动作所产生的结果是否在之前被保存在检查点缓存中;以及对于来自所述批量输入数据的每个工作单元,如果由于对工作单元执行所述动作所产生的结果在之前被保存在检查点缓存中,则使用所保存的结果完成工作单元的处理而不再次执行所述动作,或者如果由于对工作单元执行所述动作所产生的结果未被保存在检查点缓存中,则执行所述动作以完成工作单元的处理并且将由于执行所述动作所产生的结果保存在检查点缓存中。
16.如权利要求15所述的系统,其中,所述动作包括与远程服务器通信。
17.如权利要求16所述的系统,其中,由于执行所述动作所产生的结果包括由于用于工作单元的与远程服务器的通信所产生的信息。
18.如权利要求15所述的系统,其中,在完成所述批量的处理时删除检查点缓存。
19.如权利要求16所述的系统,其中,与远程服务器的通信被收费。
20.如权利要求16所述的系统,其中,与远程服务器的通信的结果存储在易失性存储器中,并且在发生触发事件时按组保存至检查点缓存。
21.如权利要求20所述的系统,其中,所述触发事件是来自检查点管理器的信号。
22.如权利要求20所述的系统,其中,所述触发事件是自从上次写至检查点缓存时起记录数目的处理。
23.如权利要求20所述的系统,其中,所述触发事件是自上次写至检查点缓存时起,已经经过特定时间段。
24.如权利要求15所述的系统,其中,包括检查点处理的组成部分并行地在多个处理设备上运行。
25.如权利要求24所述的系统,其中,数据记录在多个并行处理设备之中的分配在批量的运行之间是一致的,并且每个处理设备保持独立的检查点缓存。
26.如权利要求24所述的系统,其中,数据记录在多个并行处理设备之中的分配是动态的,并且处理设备共享对于所共享的非易失性存储器中存储的单个检查点缓存的访问,其中对于检查点缓存的写入由检查点管理器控制。
27.如权利要求15所述的系统,进一步包括:
用于在已经发生错误状况之后,重新开始数据流程图中的所有组成部分的部件;
用于从一个或更多个数据源读取包括多个记录的批量输入数据的部件;以及
用于使所述批量输入数据经过数据流程图的部件。
28.如权利要求27所述的系统,其中,所述动作包括与远程服务器通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510997582.XA CN105573866B (zh) | 2009-07-14 | 2010-07-13 | 以容错方式处理批量输入数据的方法和系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/502,851 | 2009-07-14 | ||
US12/502,851 US8205113B2 (en) | 2009-07-14 | 2009-07-14 | Fault tolerant batch processing |
PCT/US2010/041791 WO2011008734A1 (en) | 2009-07-14 | 2010-07-13 | Fault tolerant batch processing |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510997582.XA Division CN105573866B (zh) | 2009-07-14 | 2010-07-13 | 以容错方式处理批量输入数据的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102473122A CN102473122A (zh) | 2012-05-23 |
CN102473122B true CN102473122B (zh) | 2016-01-20 |
Family
ID=43449727
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080031812.2A Active CN102473122B (zh) | 2009-07-14 | 2010-07-13 | 容错的批量处理 |
CN201510997582.XA Active CN105573866B (zh) | 2009-07-14 | 2010-07-13 | 以容错方式处理批量输入数据的方法和系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510997582.XA Active CN105573866B (zh) | 2009-07-14 | 2010-07-13 | 以容错方式处理批量输入数据的方法和系统 |
Country Status (9)
Country | Link |
---|---|
US (3) | US8205113B2 (zh) |
EP (2) | EP2454666B1 (zh) |
JP (3) | JP5735961B2 (zh) |
KR (3) | KR101721466B1 (zh) |
CN (2) | CN102473122B (zh) |
AU (1) | AU2010273531B2 (zh) |
CA (1) | CA2767667C (zh) |
HK (2) | HK1165051A1 (zh) |
WO (1) | WO2011008734A1 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7877350B2 (en) | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
KR101758670B1 (ko) | 2007-07-26 | 2017-07-18 | 아브 이니티오 테크놀로지 엘엘시 | 에러 핸들링이 가능한 그래프 기반의 트랜잭션 연산 처리 방법 및 시스템 |
KR20150038758A (ko) | 2009-02-13 | 2015-04-08 | 아브 이니티오 테크놀로지 엘엘시 | 태스크 실행 관리 |
US8205113B2 (en) * | 2009-07-14 | 2012-06-19 | Ab Initio Technology Llc | Fault tolerant batch processing |
US20110051729A1 (en) * | 2009-08-28 | 2011-03-03 | Industrial Technology Research Institute and National Taiwan University | Methods and apparatuses relating to pseudo random network coding design |
US8667329B2 (en) * | 2009-09-25 | 2014-03-04 | Ab Initio Technology Llc | Processing transactions in graph-based applications |
EP2583168B1 (en) | 2010-06-15 | 2017-11-08 | Ab Initio Technology LLC | Dynamically loading graph-based computations |
US8839252B1 (en) | 2010-09-01 | 2014-09-16 | Misys Ireland Limited | Parallel execution of batch data based on modeled batch processing workflow and contention context information |
US9495477B1 (en) * | 2011-04-20 | 2016-11-15 | Google Inc. | Data storage in a graph processing system |
US8849929B2 (en) * | 2011-04-27 | 2014-09-30 | Microsoft Corporation | Applying actions to item sets within a constraint |
US8924974B1 (en) * | 2011-06-08 | 2014-12-30 | Workday, Inc. | System for error checking of process definitions for batch processes |
US20140137121A1 (en) * | 2012-10-05 | 2014-05-15 | Hitachi, Ltd. | Job management system and job control method |
US10108521B2 (en) | 2012-11-16 | 2018-10-23 | Ab Initio Technology Llc | Dynamic component performance monitoring |
US9507682B2 (en) | 2012-11-16 | 2016-11-29 | Ab Initio Technology Llc | Dynamic graph performance monitoring |
US9274926B2 (en) | 2013-01-03 | 2016-03-01 | Ab Initio Technology Llc | Configurable testing of computer programs |
US9401835B2 (en) | 2013-03-15 | 2016-07-26 | International Business Machines Corporation | Data integration on retargetable engines in a networked environment |
US9323619B2 (en) | 2013-03-15 | 2016-04-26 | International Business Machines Corporation | Deploying parallel data integration applications to distributed computing environments |
US9256460B2 (en) * | 2013-03-15 | 2016-02-09 | International Business Machines Corporation | Selective checkpointing of links in a data flow based on a set of predefined criteria |
US9223806B2 (en) * | 2013-03-28 | 2015-12-29 | International Business Machines Corporation | Restarting a batch process from an execution point |
US9477511B2 (en) | 2013-08-14 | 2016-10-25 | International Business Machines Corporation | Task-based modeling for parallel data integration |
WO2015085152A1 (en) | 2013-12-05 | 2015-06-11 | Ab Initio Technology Llc | Managing interfaces for dataflow graphs composed of sub-graphs |
CA2959392C (en) | 2014-09-02 | 2021-08-10 | Ab Initio Technology Llc | Managing invocation of tasks |
CA2959389A1 (en) | 2014-09-02 | 2016-03-10 | Ab Initio Technology Llc | Compilation of graph-based program specifications with automated clustering of graph components based on the identification of particular data port connections |
CN106663075B (zh) | 2014-09-02 | 2020-12-11 | 起元科技有限公司 | 执行基于图的程序规范 |
CN104536893B (zh) * | 2015-01-05 | 2018-01-30 | 中国农业银行股份有限公司 | 一种批量处理程序容报错处理方法及装置 |
US10191948B2 (en) * | 2015-02-27 | 2019-01-29 | Microsoft Technology Licensing, Llc | Joins and aggregations on massive graphs using large-scale graph processing |
US10657134B2 (en) | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
AU2016371481B2 (en) * | 2015-12-17 | 2019-09-19 | Ab Initio Technology Llc | Processing data using dynamic partitioning |
AU2016377516B2 (en) | 2015-12-21 | 2020-01-30 | Ab Initio Technology Llc | Sub-graph interface generation |
AU2017207404B2 (en) * | 2016-01-14 | 2020-12-10 | Ab Initio Technology Llc | Recoverable stream processing |
US10073746B2 (en) * | 2016-07-12 | 2018-09-11 | Advanced Micro Devices, Inc. | Method and apparatus for providing distributed checkpointing |
US10802945B2 (en) * | 2016-12-07 | 2020-10-13 | Ab Initio Technology Llc | Differencing of executable dataflow graphs |
CN108009037A (zh) * | 2017-11-24 | 2018-05-08 | 中国银行股份有限公司 | 批处理作业故障处理方法、装置、存储介质及设备 |
CN108491159B (zh) * | 2018-03-07 | 2020-07-17 | 北京航空航天大学 | 一种基于随机延迟缓解i/o瓶颈的大规模并行系统检查点数据写入方法 |
US11886433B2 (en) * | 2022-01-10 | 2024-01-30 | Red Hat, Inc. | Dynamic data batching for graph-based structures |
KR102625338B1 (ko) * | 2023-03-06 | 2024-01-15 | 주식회사 모레 | 인공지능 연산과 연관된 호출 목록 병렬 처리 방법및 시스템 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100444121C (zh) * | 2006-09-11 | 2008-12-17 | 中国工商银行股份有限公司 | 批量任务调度引擎及调度方法 |
CN100461122C (zh) * | 2006-04-12 | 2009-02-11 | 国际商业机器公司 | 应用容错和恢复的系统和方法 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0212532A (ja) * | 1988-06-30 | 1990-01-17 | Toshiba Corp | 情報処理装置 |
EP0554854A3 (en) * | 1992-02-04 | 1996-02-28 | Digital Equipment Corp | System and method for executing, tracking and recovering long running computations |
JPH06274401A (ja) * | 1993-03-18 | 1994-09-30 | Nec Corp | 分散データベース制御方式 |
US5819021A (en) | 1995-12-11 | 1998-10-06 | Ab Initio Software Corporation | Overpartitioning system and method for increasing checkpoints in component-based parallel applications |
US5966072A (en) | 1996-07-02 | 1999-10-12 | Ab Initio Software Corporation | Executing computations expressed as graphs |
US6154877A (en) | 1997-07-03 | 2000-11-28 | The University Of Iowa Research Foundation | Method and apparatus for portable checkpointing using data structure metrics and conversion functions |
JP2000039990A (ja) * | 1998-07-24 | 2000-02-08 | Nippon Telegr & Teleph Corp <Ntt> | 情報提供装置および方法と情報提供プログラムを記録した記録媒体 |
US6401216B1 (en) * | 1998-10-29 | 2002-06-04 | International Business Machines Corporation | System of performing checkpoint/restart of a parallel program |
JP4094752B2 (ja) * | 1998-11-27 | 2008-06-04 | 株式会社日立製作所 | トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体 |
US6584581B1 (en) * | 1999-12-06 | 2003-06-24 | Ab Initio Software Corporation | Continuous flow checkpointing data processing |
JP3463020B2 (ja) * | 2000-06-14 | 2003-11-05 | 日本電信電話株式会社 | ワークフロー実行方法および装置とワークフロー実行プログラムを記録した記録媒体 |
US7164422B1 (en) | 2000-07-28 | 2007-01-16 | Ab Initio Software Corporation | Parameterized graphs with conditional components |
US7412520B2 (en) * | 2001-06-07 | 2008-08-12 | Intel Corporation | Systems and methods for recoverable workflow |
JP2003085021A (ja) * | 2001-09-07 | 2003-03-20 | Nippon Soken Holdings:Kk | リカバリ・リスタート機能を備えたバッチ処理システム、リカバリ・リスタート機能を備えたバッチ処理システム用プログラム、及びそのプログラムを記録した記録媒体 |
US6954877B2 (en) * | 2001-11-29 | 2005-10-11 | Agami Systems, Inc. | Fault tolerance using logical checkpointing in computing systems |
US7206964B2 (en) * | 2002-08-30 | 2007-04-17 | Availigent, Inc. | Consistent asynchronous checkpointing of multithreaded application programs based on semi-active or passive replication |
US7167850B2 (en) | 2002-10-10 | 2007-01-23 | Ab Initio Software Corporation | Startup and control of graph-based computation |
JP2004178316A (ja) * | 2002-11-27 | 2004-06-24 | Computer Consulting:Kk | プログラム生成装置および方法 |
US7340741B2 (en) * | 2003-02-28 | 2008-03-04 | International Business Machines Corporation | Auto-restart processing in an IMS batch application |
CN102982065B (zh) | 2003-09-15 | 2016-09-21 | 起元科技有限公司 | 数据处理方法、数据处理装置及计算机可读存储介质 |
CN101271471B (zh) * | 2003-09-15 | 2011-08-17 | 起元科技有限公司 | 数据处理方法、软件和数据处理系统 |
US8024733B2 (en) * | 2004-05-13 | 2011-09-20 | International Business Machines Corporation | Component model for batch computing in a distributed object environment |
US7644050B2 (en) * | 2004-12-02 | 2010-01-05 | International Business Machines Corporation | Method and apparatus for annotation-based behavior extensions |
US7543001B2 (en) * | 2004-06-17 | 2009-06-02 | International Business Machines Corporation | Storing object recovery information within the object |
DE102004037713A1 (de) * | 2004-08-04 | 2006-03-16 | Robert Bosch Gmbh | Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms |
US7899833B2 (en) | 2004-11-02 | 2011-03-01 | Ab Initio Technology Llc | Managing related data objects |
US7665093B2 (en) * | 2004-12-22 | 2010-02-16 | Microsoft Corporation | Synchronization of runtime and application state via batching of workflow transactions |
US7634687B2 (en) * | 2005-01-13 | 2009-12-15 | Microsoft Corporation | Checkpoint restart system and method |
JP4710380B2 (ja) * | 2005-03-31 | 2011-06-29 | 日本電気株式会社 | 分散処理システム及び分散処理方法 |
US7870556B2 (en) * | 2006-05-16 | 2011-01-11 | Ab Initio Technology Llc | Managing computing resources in graph-based computations |
US20080005227A1 (en) * | 2006-07-03 | 2008-01-03 | Srinivasan Subbian | Method and system for content processing |
EP2050013A4 (en) | 2006-08-10 | 2010-01-06 | Ab Initio Software Llc | DISTRIBUTION SERVICES IN DIAGRAM-BASED CALCULATIONS |
JP5018133B2 (ja) * | 2007-02-27 | 2012-09-05 | 富士通株式会社 | ジョブ管理装置、クラスタシステム、およびジョブ管理プログラム |
US8069129B2 (en) | 2007-04-10 | 2011-11-29 | Ab Initio Technology Llc | Editing and compiling business rules |
US7900015B2 (en) * | 2007-04-13 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods of quota accounting |
US7895474B2 (en) * | 2007-05-03 | 2011-02-22 | International Business Machines Corporation | Recovery and restart of a batch application |
JP5251002B2 (ja) * | 2007-05-25 | 2013-07-31 | 富士通株式会社 | 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム |
US7779298B2 (en) * | 2007-06-11 | 2010-08-17 | International Business Machines Corporation | Distributed job manager recovery |
EP2191362B1 (en) * | 2007-09-20 | 2015-08-19 | Ab Initio Technology LLC | Managing data flows in graph-based computations |
US8949801B2 (en) * | 2009-05-13 | 2015-02-03 | International Business Machines Corporation | Failure recovery for stream processing applications |
US8205113B2 (en) | 2009-07-14 | 2012-06-19 | Ab Initio Technology Llc | Fault tolerant batch processing |
-
2009
- 2009-07-14 US US12/502,851 patent/US8205113B2/en active Active
-
2010
- 2010-07-13 CN CN201080031812.2A patent/CN102473122B/zh active Active
- 2010-07-13 WO PCT/US2010/041791 patent/WO2011008734A1/en active Application Filing
- 2010-07-13 CA CA2767667A patent/CA2767667C/en active Active
- 2010-07-13 KR KR1020167035996A patent/KR101721466B1/ko active IP Right Grant
- 2010-07-13 EP EP10800408.6A patent/EP2454666B1/en active Active
- 2010-07-13 JP JP2012520711A patent/JP5735961B2/ja active Active
- 2010-07-13 KR KR20157008164A patent/KR20150042873A/ko not_active Application Discontinuation
- 2010-07-13 CN CN201510997582.XA patent/CN105573866B/zh active Active
- 2010-07-13 KR KR1020127003290A patent/KR101691126B1/ko active IP Right Grant
- 2010-07-13 EP EP14188647.3A patent/EP2851799B1/en active Active
- 2010-07-13 AU AU2010273531A patent/AU2010273531B2/en active Active
-
2012
- 2012-06-11 HK HK12105678.4A patent/HK1165051A1/zh unknown
- 2012-06-14 US US13/523,422 patent/US8566641B2/en active Active
-
2013
- 2013-10-18 US US14/057,157 patent/US9304807B2/en active Active
-
2015
- 2015-03-02 JP JP2015040581A patent/JP5897747B2/ja active Active
- 2015-04-13 HK HK15103553.6A patent/HK1202951A1/zh unknown
-
2016
- 2016-03-02 JP JP2016040269A patent/JP6499986B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100461122C (zh) * | 2006-04-12 | 2009-02-11 | 国际商业机器公司 | 应用容错和恢复的系统和方法 |
CN100444121C (zh) * | 2006-09-11 | 2008-12-17 | 中国工商银行股份有限公司 | 批量任务调度引擎及调度方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20120040707A (ko) | 2012-04-27 |
US8566641B2 (en) | 2013-10-22 |
CN105573866B (zh) | 2018-11-13 |
KR20160150126A (ko) | 2016-12-28 |
CA2767667C (en) | 2020-08-18 |
CN105573866A (zh) | 2016-05-11 |
CN102473122A (zh) | 2012-05-23 |
JP2012533796A (ja) | 2012-12-27 |
EP2454666A4 (en) | 2013-04-24 |
US20110016354A1 (en) | 2011-01-20 |
US20120311588A1 (en) | 2012-12-06 |
US8205113B2 (en) | 2012-06-19 |
KR101721466B1 (ko) | 2017-03-30 |
WO2011008734A1 (en) | 2011-01-20 |
HK1165051A1 (zh) | 2012-09-28 |
AU2010273531A1 (en) | 2012-01-19 |
EP2454666A1 (en) | 2012-05-23 |
CA2767667A1 (en) | 2011-01-20 |
HK1202951A1 (zh) | 2015-10-09 |
EP2851799B1 (en) | 2016-02-17 |
EP2851799A1 (en) | 2015-03-25 |
JP6499986B2 (ja) | 2019-04-10 |
JP5897747B2 (ja) | 2016-03-30 |
EP2454666B1 (en) | 2014-11-12 |
JP5735961B2 (ja) | 2015-06-17 |
US9304807B2 (en) | 2016-04-05 |
KR101691126B1 (ko) | 2016-12-29 |
KR20150042873A (ko) | 2015-04-21 |
JP2016129056A (ja) | 2016-07-14 |
US20140053159A1 (en) | 2014-02-20 |
JP2015143999A (ja) | 2015-08-06 |
AU2010273531B2 (en) | 2014-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102473122B (zh) | 容错的批量处理 | |
CN102906743B (zh) | 混合oltp和olap高性能数据库系统 | |
EP3117349B1 (en) | System and method for massively parallel processing database | |
CN103370693B (zh) | 重启进程 | |
CN108027829A (zh) | 在具有分布式数据库系统的网络中提供数据库访问控制的系统和架构 | |
EP3264283A1 (en) | Concurrency control method and apparatus | |
CN104572260A (zh) | 用于实现事务内存区域提升的代码版本控制的方法和设备 | |
CN107728935A (zh) | 对分布式计算系统中的数据重新分区 | |
BE1024939B1 (nl) | Systeem en apparaat voor het gegarandeerd precies eenmalig verwerken van een gebeurtenis in een verdeelde gebeurtenissen-aangedreven omgeving | |
US9678834B2 (en) | Recovery and fault-tolerance under computational indeterminism | |
WO2020238348A1 (zh) | 区块的验证方法、装置及设备 | |
Fu et al. | Run-time compilation for parallel sparse matrix computations | |
US8291419B2 (en) | Fault tolerant system for execution of parallel jobs | |
CN107851101A (zh) | 具有键/值存储检查点的基于流簇的处理 | |
CN106844242B (zh) | 一种数据交换方法和系统 | |
AU2014274491B2 (en) | Fault tolerant batch processing | |
CN113807817A (zh) | 运维管理方法及系统、存储介质及电子设备 | |
CN116302546A (zh) | 流处理系统、状态恢复方法、设备及存储介质 | |
CN113448949A (zh) | 用户数据动态迁移方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |