CN101390092A - 高度可用的网络元件中的冲突解决 - Google Patents
高度可用的网络元件中的冲突解决 Download PDFInfo
- Publication number
- CN101390092A CN101390092A CNA2006800468231A CN200680046823A CN101390092A CN 101390092 A CN101390092 A CN 101390092A CN A2006800468231 A CNA2006800468231 A CN A2006800468231A CN 200680046823 A CN200680046823 A CN 200680046823A CN 101390092 A CN101390092 A CN 101390092A
- Authority
- CN
- China
- Prior art keywords
- value
- data set
- data
- node
- conflict
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Abstract
本发明涉及一种在网络数据库系统中存储数据的方法,包括接收用于数据集的第一值(330),所述第一值与第一节点(300)对应;存储用于所述数据集的所述第一值;接收用于所述数据集的第二值(316),所述第二值与第二节点(302)对应,其中所述第一值不同于所述第二值;识别在用于所述数据集的所述第一值与用于所述数据集的所述第二值之间的冲突;以及,与用于所述数据集的所述第一值一起存储用于所述数据集的所述第二值,并通过查询权威的数据源来解决冲突。
Description
技术领域
本发明涉及数据库系统。更具体地,本发明涉及高度可用的数据库系统中的冲突解决。
背景技术
在复制的数据存储系统中,其中更新可以出现在该系统内的任何节点处,数据冲突是众所周知的问题。复制的数据存储系统是具有位于该系统内多个位置(即,节点)的数据库副本的数据库系统。该系统内的每个节点都具有本地存储的数据库副本。每个节点可以独立地更新在其数据库的本地副本内的数据。通常,将此更新然后传送到该系统内的其他节点。当两个或多个节点对于数据库系统中的正确数据不一致时,数据冲突出现。冲突解决的目标是确保所有节点上的所有数据都是相同的。因为可以在任何节点上更新任何数据,而且由于存在将数据从一个节点传送到其他节点的时滞,所以无法避免冲突(即,它总是有可能在两个或多个节点之间交叉更新)。对于带有复制的任何数据库系统来说,第一件事就是能够识别冲突。一旦识别了冲突,就存在用于解决冲突的各种方法,已经用于使在数据库系统中任何地方存储的不正确数据的发生数量最小化的尝试中。
一种方法是使用时间戳冲突解决。当使用时间戳冲突解决时,每个数据库条目都包括一个与该数据库条目相关的时间戳。如果在两个条目之间存在冲突,将总是使用带有最新时间戳的条目。然而,如果在活动-活动高度可用的机器上的时钟之间的时间差大于在对不同机器上相同对象的连续更新之间的最小时间,则该时间戳冲突解决方法将会不正确。
另外,在机器之间复制数据时包括一些识别数据的情况下,(例如在其更新前的对象的基础时间戳,或是在其更新前的对象的基础数据值),缺少应用专用规则,在交叉更新的情况下,就不可能判断是否应该将所复制的更新应用于数据库。在此情况下,就只可能记录该冲突并做出一些后退决定,这对系统的可用性有副作用,尤其是与系统的用户相关的可用性,其中数据与该系统的用户相关。
附图说明
从以下结合附图介绍的其更具体的描述中,本发明的以上及其他方面、特征和优点将显而易见,其中:
图1示出根据一个实施例对数据库系统进行更新的实例;
图2示出根据另一实施例对数据库系统进行更新的实例;
图3示出根据一个实施例在数据库系统内的冲突的实例;
图4是示出根据一个实施例的即时冲突解决的流程图;
图5是示出根据一个实施例的成功的即时冲突解决的流程图;
图6是示出根据一个实施例的失败的即时冲突解决的流程图;
图7是示出根据一个实施例的延迟冲突解决的流程图;
图8是示出根据一个实施例的成功的延迟冲突解决的流程图;
图9是示出根据一个实施例的失败的延迟冲突解决的流程图。
贯穿附图的几个示图,用相同的附图标记表示相同的元件。技术人员将理解,附图中的元件是为了简单和清楚而示出的且不必按比例绘制。例如,可以相对于其他元件夸大图中某些元件的尺寸、大小和/或相对位置以帮助改善对本发明的各个实施例的理解。而且,为了便于几乎无障碍地查看本发明的这些各个实施例,经常不描述通用但众所周知的元件,该元件是在商业可行的实施例中是有用或必要的。还将理解,在此所用的术语和表达具有如调查和研究的相应各自领域内的技术人员通常赋予这种术语和表达的普通含义,除非另外在此阐明其他特定的含义。
具体实施方式
以下描述并非在限制性意义上进行,而只是为了描述本发明的普通原理而做出的。应参照权利要求来确定本发明的范围。本实施例解决了在背景技术中所描述的问题,同时还解决了其他额外的问题,如将从以下的详细描述中可见的。
本实施例提供了一种用来解决数据库系统中的冲突的方案,它消除了在数据库系统中的每个机器上保持精确时间的需要,并确保数据在数据库系统中交叉传送更新的情况下保持有效。在一些实施例中,一旦识别了冲突就立即或在数据库系统上的负载允许时,使用权威的源来执行冲突解决。
一个实施例的特征可以是一种将数据存储在网络数据库系统中的方法,包括:接收数据集的第一值,所述第一值与第一节点对应;存储所述数据集的所述第一值;接收所述数据集的第二值,所述第二值与第二节点对应,其中所述第一值不同于所述第二值;识别在所述数据集的所述第一值与所述数据集的所述第二值之间的冲突;以及与所述数据集的所述第一值一起存储所述数据集的所述第二值。
另一个实施例的特征可以是一种解决网络数据库系统中的冲突的方法,包括:存储数据集的第一值,所述第一值与第一节点对应;存储所述数据集的第二值,所述第二值与第二节点对应,其中所述第一值不同于所述第二值;基于所述数据集的所述第一值来启动第一处理;基于所述数据集的所述第二值来启动第二处理;以及基于所述第一处理和所述第二处理的至少一个的结果来删除所述数据集的所述第一值和所述数据集的所述第二值中的一个。
又一个实施例包括一种解决网络数据库系统中的冲突的方法,所述方法包括:存储数据集的第一值,所述第一值与第一节点对应;存储所述数据集的第二值,所述第二值与第二节点对应,其中所述第一值不同于所述第二值;接收来自于请求线程对所述数据集的请求;创建所述请求线程的克隆;向所述请求线程提供所述数据集的所述第一值,所述请求线程运行第一处理;向所述请求线程的所述克隆提供所述数据集的所述第二值,所述请求线程的所述克隆运行第二处理;以及基于所述第一处理和所述第二处理的至少一个的结果来删除所述数据集的所述第一值和所述数据集的所述第二值中的一个。
将通过假设存储在数据库系统中的数据包含易失的和非权威的数据来描述在此描述的以下实施例。也就是说,最终可以从一些其他权威的数据位置重新加载数据库中的数据,而且可以随时改变该数据。因此,例如,在此描述的实施例适用于访问位置寄存器(VLR,VisitedLocation Register),该访问位置寄存器存储临时数据,例如,关于移动站所服务的订户的供应信息和关于该订户的移动性管理信息。比如说,当订户实际上在纽约时,VLR会认为该订户在芝加哥。该订户是能够纠正VLR中的数据的权威的源,这是因为该订户将总是知道其当前位置。许多其他类型的数据库系统,例如网络搜索引擎,也可以使用在此描述的实施例。虽然以上假设适用于在此描述的实施例,但在此描述的实施例不应仅限于包括所有以上假设的数据库系统。
参照图1,示出了根据一个实施例对数据库系统进行更新的实例。示出的是第一节点100和第二节点102。
第一节点100(示出为节点A)是例如包括数据库的计算机。第二节点102(如节点B所示)也是例如包括该数据库的副本的计算机。初始时,第一节点100和第二节点102具有用于其数据库中所有数据的相同的值。
在所示实例中,存储在第一节点100中的数据104具有初始值“ABCDE”。另外,与数据104一起存储的是第一时间戳106的值。数据104和时间戳106还与指定(designation)108相关,指定108指示在该系统中,数据104来源于第一节点100。存储在第二节点102中的数据110另外具有与存储在第一节点100中的数据104相同的值“ABCDE”。另外,与数据110相关的时间戳112存储在第二节点102中。然而,存储在第二节点102中的数据110和时间戳112与指定114相关,指定114与第一节点100对应。因此,第二节点102知道数据110来源于第一节点100。
在操作中,第一节点100接收数据更新116。在该实例中示出了数据更新116具有“FGHIJ”的值。第一节点100存储数据新的值,并另外存储新的时间戳118。因为该数据从权威的源而非从第二节点进入第一节点,所以数据116还具有与第一节点100相关的指定120。随后,将数据116与时间戳118和指定120一起传送到第二节点102。第二节点102用新的数据122、新的时间戳124和新的指定126来覆盖原始的数据110、时间戳112和指定114。由于数据104初始时与第一节点100相关,且数据更新116也与第一节点100相关,所以不存在冲突。贯穿所示的实例,从不存在与第二节点102相关的,或者存储在与第二节点102相关的部分中的数据库内的任何数据。
参照图2,示出了根据另一个实施例对数据库系统进行更新的第二实例。示出的是第一节点200和第二节点202。与图1所示的实例一样,两个数据库都以相同的初始条件开始(即,这两个节点中的所有数据都是相同的)。
在该实例中,示出了存储在第一节点200中的数据204具有初始值“ABCDE”。另外,与数据204一起存储的是第一时间戳206的值。数据204和时间戳206与指定208相关,指定208指示在该系统中,数据204来自于第一节点200。存储在第二节点202中的数据210另外具有与存储在第一节点200中的数据204相同的值“ABCDE”。另外,与数据210相关的时间戳212存储在第二节点202中。然而,存储在第二节点202中的数据210和时间戳212与指定214相关,指定214与第一节点200对应。因此,第二节点202知道数据210来自于第一节点200。
在操作中,第二节点202接收具有“FGHIJ”的值的数据更新216。与第二时间戳218一起存储该数据更新216。数据更新216和时间戳218与指定220相关,指定220与第二节点202对应。另外,数据更新216来自于权威的源。因为数据来自于权威的源,所以第二节点202知道数据更新216是正确的。因此,可以删除存储在第二节点202中且与第一节点200相关的数据210和时间戳212。如所示的,已经从第二节点202中删除具有“ABCDE”的值的原始数据。
随后,把数据更新216传送到第一节点200。把数据更新216发送到具有第二时间戳218的第一节点,数据更新216具有“FGHIJ”的值。另外,第二节点202把第一时间戳212发送到第二节点。以此方式,第一节点200能够确定第二节点接收对原始数据204和原始时间戳206的更新。因此,第一节点能够确定第一节点200与第二节点202之间没有冲突。第一节点将新的数据222和新的时间戳200与第二节点的指定226一起存储。以此方式,第一节点200跟踪数据更新216来源于何处。在第一节点200确认了数据更新216是对存储在两个节点中的数据的相同基值(即,ABCDE和时间戳1)的更新之后,从第一节点200中删除原始数据204和原始时间戳206。如所述的,当数据从一个数据库传送到该系统内的另一个时,与该数据一起发送先前数据(例如,基值)是在该更新之前的指示。在以上所给出的实例中,与数据更新216和第二时间戳218一起发送原始时间戳206,以给出先前数据是在该更新之前的指示。该信息用来判断何时出现冲突,且下面将参照图3进行描述。如图1和2所示,数据可以从第一节点200或第二节点202更新。
对于以上在图1和2中所描述的实例,示出了高度可用的数据库系统的常规操作,其中在该数据库内的数据之间不存在冲突。
参照图3,示出了根据一个实施例在数据库系统内的冲突的实例。示出的是第一节点300和第二节点302。
类似于图1和2所示的实例,存储在第一节点300内的数据304具有初始值“ABCDE”。另外,与数据304一起存储的是第一时间戳306的值。数据304和时间戳306与指定308相关,指定308指示了在该系统中,数据304来自于第一节点300。初始时,在第一节点300和第二节点302中的数据都是相等的。
在操作中,第二节点302接收来自于接收队列的具有“FGHIJ”的值的数据更新316。与第二时间戳318一起存储数据更新316。数据更新316和时间戳318存储在数据库中且与指定320相关,该指定320指示了该数据与第二节点302对应。另外,数据更新316来自于权威的源。如所示的,然后从第二节点302中删除初始时与第一节点300相关的数据和时间戳。
另外,第二节点302通过复制队列接收来自于第一节点300的数据更新330(即,在数据库之间的数据传送)。数据更新330具有“KLMNO”值。来自于第一节点300的数据更新330包括第三时间戳332。另外,与数据更新220一起从第一节点300发送的是关于该更新之前的原始数据值的指示(例如,原始时间戳306)。例如,为了指示第二节点302该数据更新330是对原始数据304的更新,与数据更新330一起发送原始时间戳306。因为来自于接收队列的数据更新316和来自于复制队列的数据更新330都是对数据304的更新,对数据304的更新与原始时间戳306有关,现在在数据库系统内存在冲突。根据本实施例,来自于接收队列的数据更新316和来自于复制队列的数据更新330都存储在第二接点302中。将会存储数据片段直至解决了冲突为止。虽然未示出,但还将在第一节点300中存储同一数据。这与将在其中存储具有后来的时间戳的数据并丢弃其他数据片断的现有系统形成对比。这是在高度可用的数据库系统中如何会出现冲突以及识别该冲突的实例。可出现其他冲突,且不同的方法可用来识别系统内的冲突。
以下在图4到9中所描述的实例提供了用于一旦在系统内识别了冲突就解决该冲突的方法。
参照图4,示出了根据一个实施例的即时冲突解决的流程图。
在步骤400中,将第一数据集存储在数据库中。该数据库可以位于计算机上或与该计算机相连的高度可用的存储器设备中。随后,在步骤402中,将第二数据集存储在该数据库中。在本实例中,我们假设第一数据集和第二数据集是冲突的。
接下来在步骤404中,一旦识别了冲突就创建一个控制线程。在步骤406中,基于存储在该数据库中的第一数据集进行第一请求,且在步骤408中,基于存储在该数据库中的第二数据集进行第二请求。优选地,同时启动并运行步骤406和步骤408。在订户VLR的实例中,假设第一数据集指示该订户在芝加哥,且第二数据集指示该订户在密尔沃基。第一请求将发送位置请求到芝加哥。第二请求将发送位置请求到密尔沃基。因为订户每次只能在物理上处于一个位置上,所以仅有一个请求将返回正面回答。因此,已解决了冲突,可以从数据库中丢弃不正确的数据集。
接下来参照图5,示出了根据一个实施例的成功的即时冲突解决的流程图。
在步骤500中,创建一个控制线程,它类似于图4所示的控制线程。在步骤502中,基于存储在数据库中的第一数据集采取行动或请求。在步骤504中,基于存储在该数据库中的第二数据集采取行动或请求。如上所述,优选同时启动并运行步骤505和步骤504,然而,这不是必需的。在所示实例中,步骤506示出了步骤502已经成功地解决了冲突。在步骤508中,该成功被发送给控制线程,且该控制线程基于第二数据集来启动该行动的终止。在步骤510中,由控制线程来终止基于第二数据集的行动。
在步骤512中,从数据库中删除第二数据集,且在步骤514中,终止该控制线程。
参照图6,示出了根据一个实施例的失败的即时冲突解决的流程图。
在步骤600中,创建一个控制线程,它类似于图5所示的控制线程。在步骤602中,基于存储在数据库中的第一数据集采取行动或请求。在步骤604中,基于存储在该数据库中的第二数据集采取行动或请求。如上所述,优选同时运行步骤602和步骤604,然而,这不是必需的。在步骤606中,第一行动返回失败,且在步骤608中,第二行动返回失败。在此情况下,在步骤610中,在该数据库中继续存储第一数据集和第二数据集直至解决该冲突为止。
参照图7,示出了根据一个实施例的延迟冲突解决的流程图。
在步骤700中,执行线程向数据库请求数据。对于本实例来说,假设所请求的数据包括两个冲突的数据集。在步骤702中,返回两个数据集(即,第一数据集和第二数据集)。随后在步骤704中,创建一个控制线程。在步骤706中,克隆该向数据库请求数据的执行线程。随后在步骤708中,原始的执行线程和所克隆的线程现在都由控制线程控制。在步骤710中,控制线程将第一数据集返回给执行线程,并将第二数据集返回给所克隆的线程。
参照图8,示出了根据一个实施例的成功的延迟冲突解决的流程图。
在步骤800中,创建一个控制线程。在步骤802中,该执行线程基于存储在数据库中的第一数据集采取行动或请求。在步骤804中,所克隆的线程基于存储在数据库中的第二数据集采取行动或请求。优选同时运行步骤802和步骤804,然而,这不是必需的。在所示实例中,步骤806示出了步骤802已经成功地解决了冲突。在步骤808中,该成功被发送给控制线程,而且控制线程基于第二数据集来启动该行动的终止。应当理解,成功与失败不依赖于该线程是原始执行线程还是所克隆的线程。在步骤810中,由控制线程终止该基于第二数据集的行动(即,在本实例中,终止所克隆的线程)。
在步骤812中,从数据库中删除第二数据集,且在步骤814中,控制线程返回成功。
参照图9,示出了根据一个实施例的失败的延迟冲突解决的流程图。
在步骤900中,创建一个控制线程。在步骤902中,该执行线程基于存储在数据库中的第一数据集采取行动或请求。在步骤904中,所克隆的线程基于存储在数据库中的第二数据集采取行动或请求。在步骤906中,第一行动返回失败,且在步骤908中,第二行动返回失败。在此情况下,在步骤610中,在数据库中继续存储第一数据集和第二数据集,并且该控制线程返回失败。
除了冲突解决的以上实例之外,当高度可用的网络数据库内的节点(例如,节点B)已经离线且正在连线时,节点A将把在其数据库中的整个数据集发送到节点B。当以此方式来存储来自于节点A的数据时,将保持用于所有数据的关联。例如,如果节点A在与节点A相关的位置上包括单个数据副本,当向节点B发送该数据时,节点B将把该数据存储在相同的位置上并使其与节点A相关联。类似地,如果节点A在一个位置上包括两个数据副本,一个副本与节点A相关且另一个副本与节点B相关,当向节点B发送该数据时,与节点A相关的数据将保持与节点A相关,与节点B相关的数据将保持与节点B相关。
在以上过程中,节点B也许在其数据存储(datastore)中已经包含了若干数量的数据。也就是说,虽然离线,但也许还没有抹去节点B上的数据。在节点B接收来自于节点A的一个位置上的数据的情况下,其中该位置已经具有数据,将进行以下行动。当来自于节点A的数据与节点A相关时,如果节点B已经具有与节点A相关的数据,节点B将重写该数据。当来自于节点A的数据与节点B相关时,如果节点B已经具有与节点B相关的数据,它将丢弃来自于节点A的数据。请注意,涉及节点何时连线的以上过程还适用于系统中的节点之间的通信已经中断的情况。
在此所述的实施例允许高度可用的数据库系统避免让用户对冲突进行后期处理,其有利于更可靠的自动化方法,该更可靠的自动化方法确保将不会丢失所复制的数据,且所复制的数据将总会导致正确的过程,这基于以所存储的数据作为输入来运行的应用程序。以此方式,该实施例实现了自校正且高度可用的数据存储。
虽然已经借助于本发明的特定实施例和应用描述了在此公开的本发明,但是可以根据并非专门描述的以上教导来对本发明进行其他修改、变化和安排,以在由以下权利要求所限定的精神和范围内实践本发明。
Claims (10)
1.一种在网络数据库系统中存储数据的方法,包括:
接收数据集的第一值,所述第一值与第一节点对应;
存储所述数据集的所述第一值;
接收所述数据集的第二值,所述第二值与第二节点对应,其中所述第一值不同于所述第二值;
识别在所述数据集的所述第一值与所述数据集的所述第二值之间的冲突;以及
与所述数据集的所述第一值一起存储所述数据集的所述第二值。
2.如权利要求1所述的在网络数据库系统中存储数据的方法,还包括:
基于所述数据集的所述第一值来启动第一处理;以及
基于所述数据集的所述第二值来启动第二处理。
3.如权利要求2所述的在网络数据库系统中存储数据的方法,还包括:基于所述第一处理和所述第二处理中的至少一个的结果,来删除所述数据集的所述第一值和所述数据集的所述第二值中的一个。
4.如权利要求3所述的在网络数据库系统中存储数据的方法,还包括:创建控制线程,以控制启动所述第一处理的步骤和启动所述第二处理的步骤。
5.如权利要求1所述的在网络数据库系统中存储数据的方法,其中所述网络数据库系统是访问位置寄存器。
6.一种解决网络数据库系统中的冲突的方法,包括:
存储数据集的第一值,所述第一值与第一节点对应;
存储所述数据集的第二值,所述第二值与第二节点对应,其中所述第一值不同于所述第二值;
基于所述数据集的所述第一值来启动第一处理;
基于所述数据集的所述第二值来启动第二处理;以及
基于所述第一处理和所述第二处理中的至少一个的结果,来删除所述数据集的所述第一值和所述数据集的所述第二值中的一个。
7.如权利要求6所述的解决网络数据库系统中的冲突的方法,还包括:创建控制线程,以控制启动所述第一处理的步骤和启动所述第二处理的步骤。
8.如权利要求6所述的在网络数据库系统中存储数据的方法,还包括:接收来自于请求线程的对所述数据集的请求。
9.如权利要求8所述的在网络数据库系统中存储数据的方法,还包括:
创建所述请求线程的克隆;
向所述请求线程提供所述数据集的所述第一值,所述请求线程启动所述第一处理;以及
向所述请求线程的所述克隆提供所述数据集的所述第二值,所述请求线程的所述克隆启动所述第二处理。
10.一种解决网络数据库系统中的冲突的方法,包括:
存储数据集的第一值,所述第一值与第一节点对应;
存储所述数据集的第二值,所述第二值与第二节点对应,其中所述第一值不同于所述第二值;
接收来自于请求线程的对所述数据集的请求;
创建所述请求线程的克隆;
向所述请求线程提供所述数据集的所述第一值,所述请求线程运行第一处理;
向所述请求线程的所述克隆提供所述数据集的所述第二值,所述请求线程的所述克隆运行第二处理;以及
基于所述第一处理和所述第二处理中的至少一个的结果,来删除所述数据集的所述第一值和所述数据集的所述第二值中的一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/304,190 US20070143368A1 (en) | 2005-12-15 | 2005-12-15 | Conflict resolution in highly available network element |
US11/304,190 | 2005-12-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101390092A true CN101390092A (zh) | 2009-03-18 |
Family
ID=38175016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800468231A Pending CN101390092A (zh) | 2005-12-15 | 2006-12-12 | 高度可用的网络元件中的冲突解决 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070143368A1 (zh) |
CN (1) | CN101390092A (zh) |
WO (1) | WO2007078774A2 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961804B2 (en) * | 2001-07-20 | 2005-11-01 | International Business Machines Corporation | Flexible techniques for associating cache memories with processors and main memory |
US7975109B2 (en) | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
US8732386B2 (en) | 2008-03-20 | 2014-05-20 | Sandisk Enterprise IP LLC. | Sharing data fabric for coherent-distributed caching of multi-node shared-distributed flash memory |
US8229945B2 (en) | 2008-03-20 | 2012-07-24 | Schooner Information Technology, Inc. | Scalable database management software on a cluster of nodes using a shared-distributed flash memory |
US8856593B2 (en) | 2010-04-12 | 2014-10-07 | Sandisk Enterprise Ip Llc | Failure recovery using consensus replication in a distributed flash memory system |
US9047351B2 (en) | 2010-04-12 | 2015-06-02 | Sandisk Enterprise Ip Llc | Cluster of processing nodes with distributed global flash memory using commodity server technology |
US8868487B2 (en) | 2010-04-12 | 2014-10-21 | Sandisk Enterprise Ip Llc | Event processing in a flash memory-based object store |
US9164554B2 (en) | 2010-04-12 | 2015-10-20 | Sandisk Enterprise Ip Llc | Non-volatile solid-state storage system supporting high bandwidth and random access |
US8677055B2 (en) | 2010-04-12 | 2014-03-18 | Sandisk Enterprises IP LLC | Flexible way of specifying storage attributes in a flash memory-based object store |
US8954385B2 (en) | 2010-06-28 | 2015-02-10 | Sandisk Enterprise Ip Llc | Efficient recovery of transactional data stores |
US8694733B2 (en) * | 2011-01-03 | 2014-04-08 | Sandisk Enterprise Ip Llc | Slave consistency in a synchronous replication environment |
US8874515B2 (en) | 2011-04-11 | 2014-10-28 | Sandisk Enterprise Ip Llc | Low level object version tracking using non-volatile memory write generations |
US9135064B2 (en) | 2012-03-07 | 2015-09-15 | Sandisk Enterprise Ip Llc | Fine grained adaptive throttling of background processes |
US10540340B2 (en) * | 2016-02-09 | 2020-01-21 | International Business Machines Corporation | Performing conflict analysis of replicated changes among nodes in a network |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5546580A (en) * | 1994-04-15 | 1996-08-13 | Hewlett-Packard Company | Method and apparatus for coordinating concurrent updates to a medical information database |
US5806074A (en) * | 1996-03-19 | 1998-09-08 | Oracle Corporation | Configurable conflict resolution in a computer implemented distributed database |
US6779030B1 (en) * | 1997-10-06 | 2004-08-17 | Worldcom, Inc. | Intelligent network |
US6594355B1 (en) * | 1997-10-06 | 2003-07-15 | Worldcom, Inc. | Method and apparatus for providing real time execution of specific communications services in an intelligent network |
US6810405B1 (en) * | 1998-08-18 | 2004-10-26 | Starfish Software, Inc. | System and methods for synchronizing data between multiple datasets |
US6718173B1 (en) * | 1999-09-30 | 2004-04-06 | Iowa State University Research Foundation | Location information recovery and management for mobile networks |
US6694336B1 (en) * | 2000-01-25 | 2004-02-17 | Fusionone, Inc. | Data transfer and synchronization system |
US7149759B2 (en) * | 2002-03-25 | 2006-12-12 | International Business Machines Corporation | Method and system for detecting conflicts in replicated data in a database network |
US6898609B2 (en) * | 2002-05-10 | 2005-05-24 | Douglas W. Kerwin | Database scattering system |
US20040010522A1 (en) * | 2002-05-24 | 2004-01-15 | Shulok Thomas Aaron | Method and system for detecting significant changes in dynamic datasets |
US7561876B2 (en) * | 2003-02-21 | 2009-07-14 | Groundhog Technologies Inc. | System with user interface for network planning and mobility management optimization in a mobile communication network and method thereof |
US20060106879A1 (en) * | 2004-11-16 | 2006-05-18 | International Business Machines Corporation | Conflict resolution in a synchronization framework |
US7606838B2 (en) * | 2006-02-22 | 2009-10-20 | Microsoft Corporation | Distributed conflict resolution for replicated databases |
-
2005
- 2005-12-15 US US11/304,190 patent/US20070143368A1/en not_active Abandoned
-
2006
- 2006-12-12 CN CNA2006800468231A patent/CN101390092A/zh active Pending
- 2006-12-12 WO PCT/US2006/047561 patent/WO2007078774A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20070143368A1 (en) | 2007-06-21 |
WO2007078774A2 (en) | 2007-07-12 |
WO2007078774A3 (en) | 2008-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101390092A (zh) | 高度可用的网络元件中的冲突解决 | |
US6938070B2 (en) | Conflict resolution for collaborative work system | |
CN106685691B (zh) | 物联网系统中终端设备的高效更新配置方法 | |
CN1794207B (zh) | 实现缓存一致性的方法和系统 | |
US9753656B2 (en) | Data synchronization method, apparatus and system | |
EP3803618B1 (en) | Distributed transactions in cloud storage with hierarchical namespace | |
JP4414381B2 (ja) | ファイル管理プログラム、ファイル管理装置、ファイル管理方法 | |
US6243715B1 (en) | Replicated database synchronization method whereby primary database is selected queries to secondary databases are referred to primary database, primary database is updated, then secondary databases are updated | |
US20190370362A1 (en) | Multi-protocol cloud storage for big data and analytics | |
EP3398044B1 (en) | System and method for acquiring, processing and updating global information | |
CN103095769B (zh) | 跨机房的数据同步方法以及系统 | |
US7165083B2 (en) | File management method in a distributed storage system | |
CN101526958B (zh) | 一种iptv系统模块间数据同步的方法及系统 | |
US7502876B1 (en) | Background memory manager that determines if data structures fits in memory with memory state transactions map | |
US20050210081A1 (en) | Data synchronization method | |
CN105956176A (zh) | 数据库管理系统 | |
US7860827B1 (en) | Data synchronization method for an application database available on multiple wirelessly connected platforms | |
CN104657158A (zh) | 一种业务系统中业务处理的方法和装置 | |
CN113094430B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN111291062B (zh) | 数据同步写入方法、装置、计算机设备及存储介质 | |
CN114185991A (zh) | 基于分布式数据库实现数据同步的方法及相关装置 | |
Armendáriz-Inigo et al. | SIPRe: a partial database replication protocol with SI replicas | |
CN112417043A (zh) | 数据处理系统及方法 | |
US7533132B2 (en) | Parallel replication mechanism for state information produced by serialized processing | |
CN107656992A (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 | ||
ASS | Succession or assignment of patent right |
Owner name: MOTOROLA MOBILE CO., LTD. Free format text: FORMER OWNER: MOTOROLA INC. Effective date: 20110107 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20110107 Address after: Illinois State Applicant after: Motorola Mobility LLC Address before: Illinois State Applicant before: Motorola Inc. |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090318 |