CN104395891A - 分布式数据库系统及其方法 - Google Patents
分布式数据库系统及其方法 Download PDFInfo
- Publication number
- CN104395891A CN104395891A CN201380032942.1A CN201380032942A CN104395891A CN 104395891 A CN104395891 A CN 104395891A CN 201380032942 A CN201380032942 A CN 201380032942A CN 104395891 A CN104395891 A CN 104395891A
- Authority
- CN
- China
- Prior art keywords
- data
- management information
- stored
- timestamp
- distributed
- 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.)
- Granted
Links
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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- 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/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
分布式数据库系统通过使用由另一个数据存储区所管理的管理信息来访问数据,并且加快对具有高访问频率的数据记录的更新时间。从而,可以容易地获得最新数据。根据一个实施例的分布式数据库系统包括分布式数据库,该分布式数据库包括存储数据的多个节点,以及数据管理装置,该数据管理装置管理存储在多个节点中的数据。每个节点包括数据存储单元,该数据存储单元存储与表示数据被存储时的时间的时间戳相关的数据,以及标识了该数据的键,更新该数据的数据更新单元,获得存储在数据存储单元中的数据的数据发送单元,以及数据更新促进单元,其用于当获得的数据不是最新数据时,请求数据更新单元来更新获得的数据。
Description
技术领域
本发明的实施例涉及分布式数据库系统及其方法。
背景技术
总体上,在被称为数据存储区的分布式数据库系统中,为了加速处理的目的,在多个节点装置中分布式地保存并管理数据。在下文中,用于存储数据的节点装置被称为数据存储节点,其被描述为节点。
至于哪个数据被存储在那个节点中,由服务器或节点(每个都具有数据管理功能)来保存并管理数据识别信息(被分配给每个数据)和存储目的节点对。
在本分布式数据库系统中,相同的数据记录的副本被存储在多个节点中。因此,每个节点可以分别响应于来自客户终端或系统的请求而发送数据。由此,对相同的数据记录的大量访问可以被分布式地处理。
在这种情况下,当更新存储在一个节点中的一些数据记录的值时,如果同时更新了存储在另一个节点中的相同数据记录的值,则由于分布式访问带来的优点受到干扰。由此,不执行这种在另一个节点中的同时更新。通常,在更新另一个节点中的一些数据记录的值之后,通过使用用于数据交换的协议来顺序地传播来自该一个节点的值以替代存储在另一个节点中的相同的数据记录的值。
由此,当使用最新值来更新(替换)一个数据记录的值时,这需要一定的时间直到用该最新值更新了存储在所有相关节点中的该数据记录的值。因此,在更新存储在所有节点中的数据记录的值之前,访问该数据记录的客户终端或系统很可能获得旧值(而非最新值)。
此外,当应用程序在数据记录被更新时获得该数据记录的值时,即使在刚刚获得该值之后就更新了该值,该应用程序也不能够知道该更新的值。
发明内容
实施例提供分布式数据库系统,该分布式数据库系统用于通过用另一个数据存储区来管理数据管理信息而容易地获得最新数据。具体地,在访问数据的情况下,当基于管理信息而要求数据的更新时,对于具有高访问频率的数据,加快了更新数据记录的时间。
根据一个实施例,分布式数据系统包括包含有用于存储数据的多个节点的分布式数据库,以及用于管理存储在所述多个节点中的数据的数据管理装置。每个节点包括:数据存储单元,其用于存储与表示该数据被存储时的时间戳相关的数据以及识别了该数据的键;数据更新单元,其用于更新该数据;数据发送单元,其用于获得存储在数据存储单元中的数据;以及数据更新促进单元,其用于当获得的数据不是最新数据时,请求数据更新单元来更新所述获得的数据。所述数据管理装置包括管理信息存储单元,所述管理信息存储单元用于存储包括了存储在所述数据存储单元中的所述键和所述时间戳的管理信息,以及管理信息更新单元,其用于当所述数据被更新时,更新已更新的数据的管理信息。
根据实施例,可以提供一种分布式数据库系统,其能够通过用另一个数据存储区来管理数据管理信息而容易地获得最新数据。
附图说明
图1为示出了根据本实施例的分布式数据库系统的示例性配置的视图。
图2为示出了根据本实施例的分布式数据库系统的示例性功能配置的视图。
图3为示出了根据本实施例的存储在分布式数据库系统的数据存储单元中的数据记录的示例的视图。
图4为示出了根据本实施例的存储在分布式数据库系统的管理信息存储单元中的管理信息的示例的视图。
图5为示出了根据本实施例的分布式数据库系统的数据更新处理的示例的顺序图。
图6为示出了根据本实施例的分布式数据库系统的数据更新处理的示例的顺序图。
图7为示出了根据本实施例的存储在分布式数据库系统的管理信息存储单元中的管理信息的示例的视图。
图8为示出了根据本实施例的存储在分布式数据库系统的数据存储单元中的数据记录的示例的视图。
图9为示出了根据本实施例的存储在分布式数据库系统的管理信息存储单元中的管理信息的示例的视图。
图10为示出了根据本实施例的存储在分布式数据库系统的管理信息存储单元中的管理信息的示例的视图。
图11为示出了根据本实施例的存储在分布式数据库系统的数据存储单元中的数据记录的示例的视图。
图12为示出了根据本实施例的存储在分布式数据库系统的管理信息存储单元中的管理信息的示例的视图。
图13为示出了根据本实施例的分布式数据库系统的数据获得处理的示例的顺序图。
图14为示出了根据本实施例的分布式数据库系统的数据更新的促进处理的示例的顺序图。
图15为示出了根据本实施例的分布式数据库系统的数据更新的促进处理的处理操作的细节的示例的顺序图。
具体实施方式
在下文中,将参考附图来说明一个实施例的分布式数据库系统。
图1为示出了根据本实施例的分布式数据库系统1的示例性配置的视图,分布式数据库系统1具有用于对管理信息进行管理的作为另一个装置的数据库功能。
如图1所示,本实施例的分布式数据库系统1由分布式数据库100和数据管理装置200构成。分布式数据库100是仅采集多个键-值元素的数据库,其中所述键-值元素作为值(数据)和键(ID)的组合以标识该值。数据管理装置200管理存储在分布式数据库100中的数据。在下文中,一组值和键被称为数据记录。
分布式数据库系统1从客户终端300或连接到分布式数据库系统1的另一个系统接收请求。另外,在本实施例的分布式数据库系统1中,分布式数据库100、数据管理装置200和客户终端300可以经由诸如因特网的网络而连接。此外,在本实施例中,分布式数据库100、数据管理装置200和客户终端300分别为一个单元。然而,它们的数量并不限于一。例如,可以构成包括多个数据管理装置200或多个客户终端300的分布式数据库系统。
分布式数据库100包括数据存储节点10(10A、10B、10C、10D、10E、10F、10G),分布式数据库100为数据记录及其副本被分布式地存储在这些数据存储节点10中的数据库。这里,除了10A-10G之外,还可以存在多个数据存储节点10(在下文中,其被称为节点)。构成分布式数据库100的各个节点10A-10G连接到任意的其它节点10,并且能够与构成分布式数据库系统1的所有节点10通信。
数据管理装置200是信息处理装置,其用于管理存储在分布式数据库系统1中的数据记录。数据管理装置200由通用数据库构成,该通用数据库可以不是分布式数据库。
客户终端300是例如PC(个人计算机),并且向分布式数据库系统1输入请求。
图2是示出了分布式数据库系统1的示例性的功能性配置的视图。
如图2所示,对于每个节点10,分布式数据库100包括请求接收单元101、数据更新单元102、数据发送单元103、更新促进单元104、以及数据存储单元105。在图2中,示出了一个节点的功能性配置作为表示。
请求接收单元101从客户终端300或另一个节点10接收请求。数据更新单元102更新存储在节点10的数据存储单元105中的数据。图3示出了存储在节点10A的数据存储单元105(在下文中,其被称为数据存储单元105A)中的数据记录的一个示例。
如图3所示,存储在数据存储单元105中的数据记录包括“键”106和“值”107。键106是值107的标识符(ID)。
如图3所示,“键A”和“键B”被存储在键106中。在下文中,包括键A的数据记录被称为数据记录A,而包括键B的数据记录被称为数据记录B。
此外,时间戳(表示数据被存储时的时间)和数据被存储在值107中。例如,在值107的上栏处存储有“5:值AA”。这意味着所存储的数据为“值AA”并且时间戳(表示数据被存储时的时间)为“5”。这里,在本实施例中,如果时间戳的数值较大,则这表示在之后的时间更新了数据。即,在本实施例中,时间戳表示数据被存储的顺序,并且其时间戳数值最大的数据记录为最新的数据记录。
基于来自客户终端300或另一个节点10的请求,数据发送单元103将存储在节点10的数据存储单元105中的数据发送到请求源。
响应于来自客户终端300或另一个节点10的请求,更新促进单元104促进对应数据的更新。
数据管理装置200包括请求接收单元201、管理信息更新单元202、管理信息发送单元203、和管理信息存储单元204。数据管理装置200是信息处理装置,其用于管理存储在分布式数据库100中的数据记录。
请求接收单元201接收来自客户终端300的请求。基于由请求接收单元201接收到的请求,管理信息更新单元202更新存储在管理信息存储单元204中的管理信息。
基于由请求接收单元201接收到的请求,管理信息发送单元203发送存储在管理信息存储单元204中的管理信息。图4示出了存储在管理信息存储单元204中的管理信息的一个示例。
如图4所示,管理信息包括“键”205、“状态”206、和“时间戳”207三项。
键205是存储在每个节点10中的数据记录的标识符,其与存储在数据存储单元105中的键106相同。
状态206表示存储在数据存储单元105中的数据的更新状态。在本实施例中,状态206包括两种类型,即,“锁定(正在更新)”以及“已提交(committed)(处理完成)”。
至于时间戳207,存储了当数据记录被存储在数据存储单元207中时的时间。当在数据更新处理中更新数据记录时(在下文中解释),该更新时间被存储为时间戳207。
在分布式数据库系统1中,通过标识符(存储在键106、键205中)和时间戳(存储在值107中,时间戳207),可以取回并获得数据和管理信息。
在下文中,将通过参考图5-图15来说明本实施例的分布式数据库系统1的操作的一个示例。分布式数据库系统1的主要处理包括数据更新处理、数据获得处理、和数据更新的促进处理。
首先,将通过参考图5和图12来说明本实施例的数据更新处理。图5和图6是根据本实施例的分布式数据库系统的数据更新处理的一个示例的时序图。这里,在分布式数据库系统1中,将详细说明这样的实例:将键“键A”和值“6:值AAA”作为来自客户终端300的更新目标的数据记录而输入。
此外,这里,仅更存储在新节点10B的数据存储单元105B中的一个数据记录(数据记录A)。
首先,客户终端300将对包括键“键A”(表示更新目标的数据记录A)和数据“值AAA”(被包括在数据记录A中)的管理信息的更新请求发送到数据管理装置200(步骤S1)。在数据管理装置200中,当请求接收单元201接收管理信息的更新请求时,请求接收单元201通知管理信息更新单元202该更新请求(步骤S2)。基于管理信息的更新请求,管理信息更新单元202执行第一更新处理以更新存储在管理信息存储单元204中的管理信息(步骤S3)。
具体地,如图7所示,管理信息更新单元202对应地将“键A”(被包括在接收到的管理信息的更新请求中)存储到键205中,将“6”(表示当接收到该更新请求时的时间)存储到时间戳207中,并将“锁定”(更新目标的数据记录的状态)存储到状态206中。这里,时间戳可以不从客户终端300而输入。例如,与存储在管理信息存储单元204中的数据记录A相关的时间戳的最大值为“5”。由此,可以存储的下一个数值为“6”。
即,在步骤S3处,添加由图7中的点所表示的线。简单来说,在本实施例中,更新处理并不意味着覆盖已存储的信息而是添加新的管理信息。
当完成第一更新处理时,管理信息更新单元202将管理信息更新完成的第一通知发送给客户终端300(步骤S4)。当客户终端300接收到该第一通知时,客户终端300向分布式数据库100发送包括有键“键A”(表示数据记录的更新目标)和值“6:值AAA”的数据更新请求(步骤S5)。
在分布式数据库100的多个节点10之中,当一个节点10中的请求接收单元101接收到数据更新请求(步骤S6)时,数据更新单元102基于作为要更新的数据的“键A”(表示更新目标的数据记录)和“值AAA”而执行数据更新处理以更新存储在数据存储单元105中的数据(步骤S7)。这里,节点10B接收数据更新请求。
具体地,如图8所示,作为数据记录A,“键A”被对应地添加到键106而“6:值AAA”被对应地添加到值107。这里,分布式数据库100的另一个节点10中的数据记录A的值并没有被同时更新。
当完成数据记录更新时,数据更新单元102将数据更新完成通知发送给客户终端300(步骤S8)。
当客户终端300接收到数据更新完成通知时,客户终端300将管理信息更新请求发送到数据管理装置200(步骤S9)。在数据管理装置200中,当请求接收单元201接收到管理信息更新请求(步骤S10)时,管理信息更新单元202执行第二更新处理以更新存储在管理信息存储单元204中的管理信息(与更新目标的数据记录相关)(步骤S11)。具体地,如图9所示,将管理信息存储单元204中的状态206的第一行处的更新状态(在步骤S3被存储)更新为“已提交”。
当完成第二更新处理时,管理信息更新单元202将管理信息更新完成的第二通知发送到客户终端300(步骤S12)。由此,完成了本实施例的数据更新处理。
接下来,将通过参考图10-图12,在更新数据存储单元105B而同时维持至少两个数据记录(数据记录A、数据记录B)之间的一贯性的实例(例如,事务处理)中说明数据更新处理。
在该实例中,在步骤S3处,如图10所示,管理信息更新单元202将与两个数据记录(要更新的)相关的管理信息添加到管理信息存储单元204。这里,至于数据记录A,如图10的第一行所示,将“键A”添加到键205、将“6”添加到时间戳207、并将“锁定”添加到状态206。
至于数据记录B,如图10的第四行所示,通过管理信息更新单元202,将“键B”添加到键205、将“7”添加到时间戳207、并将“锁定”添加到状态206。
此外,在步骤S7处,如图11所示,至于数据存储单元105B中的数据记录A,将“键A”添加到键106并将具有时间戳“6”的“值AA-α”添加到值107(图11的第一行)。至于数据存储单元105B中的数据记录B,将“键B”添加到键106并将具有时间戳“7”的“值AA+α”添加到值107(图11的第四行)。这里,以与更新一个数据记录相同的方式,并不同时更新分布式数据库100的另一个节点10中的数据记录A和B的值。
在步骤S11处,如图12所示,被包括在管理信息存储单元204中的数据记录A和B的状态206“锁定”(在步骤S3被更新)变为“已提交”。
接下来,将通过参考图13-图15,在本实施例的分布式数据库系统1中说明用于使客户终端300来获得存储在分布式数据库100中的数据记录的数据获得处理。
图13示出了表示本实施例的数据获得处理的一个示例的时序图。在下文中,将通过参考图13,在以下实例中说明用于获得数据记录A的数据获得处理:图3中所示的数据记录被存储在节点10A的数据存储单元105A中,图8中所示的数据记录被存储在节点10B的数据存储单元105B中,并且图9中所示的管理信息被存储在数据管理装置200的管理信息存储单元204中。
首先,客户终端300将与要获得的数据记录相关的管理信息请求发送到数据管理装置200(步骤S21)。在数据管理装置200中,当请求接收单元201接收到管理信息请求(步骤S22)时,管理信息发送单元202从管理信息存储单元204获得与要获得的数据记录相关的管理信息(图7中所示)(步骤S23)。
管理信息发送单元202将获得的管理信息发送到客户终端300(步骤S24)。在这种情况下,在所有获得的管理信息之中,管理信息发送单元202可以发送具有存储在时间戳207中的最大数值的管理信息,即与最新数据相关的管理信息。
当客户终端300接收到管理信息时,客户终端300将发送数据的请求发送到分布式数据库100(步骤S25)。
另外,在步骤S25处,通过确认由客户终端300接收到的管理信息,在对应于最新时间戳(与要获得的数据记录相关)的状态为“锁定”或“已提交”的情况下,用户可以决定是否请求发送数据。具体地,如果对应于最新时间戳(与要获得的数据记录相关)的状态为“锁定”,则可以完成数据获得处理并且在经过预先确定的时间之后重新开始数据获得处理。这里,对应于最新时间戳的状态为“已提交”,并且继续数据获得处理。
在分布式数据库100中的节点10A-10G之中,当一个节点10中的请求接收单元101接收到发送数据请求(步骤S26),则数据发送单元102从数据存储单元105获得在数据记录(要获得的)之中具有最新时间戳的数据记录(步骤S27)。
在本实施例中,假设节点10A接收到发送数据请求。即,在步骤S27处,获得存储在数据存储单元105A中的数据记录之中具有最新时间戳“5”的数据记录。这里,如果要获得的数据记录A并不被存储在节点A中,则数据发送单元102将该请求传送到另一个节点,并且执行相同的处理。
基于数据记录A被存储在哪里的位置信息(表示哪个节点10存储有要获得的数据记录A),通过不同方式来执行该传送处理。例如,在第一传送方法中,如果数据记录A的位置信息被包括在由客户终端300发送的(发送数据)请求中,则基于被包括在该请求中的数据记录A的位置信息,节点10A中的数据发送单元102决定数据记录A的保存目的节点10,并且将该请求传送到目的节点10。
此外,在第二传送方法中,如果节点10A存储有数据记录A的位置信息,则基于数据记录A的键值(存储在数据记录A中),节点10A中的数据发送单元102传送请求(由节点10A接收到的)。
然后,在第三传送方法中,如果数据记录A的位置信息(表示保存目的节点10)并不被存储在由客户终端300和节点A发送的(发送数据)请求中,则节点10A中的数据发送单元102将请求传送到节点10A附近的另一个(适合的)节点10。
这里,如果接收到所传送的请求的另一个节点10存储有数据记录A的位置信息,则另一个节点10中的数据发送单元102执行第二传送方法。另一方面,如果另一个节点10并不存储有数据记录A的位置信息,则另一个节点10中的数据发送单元102执行第三传送方法。
数据发送单元102将数据记录(获得的)发送到客户终端300(步骤S28)。
客户终端300执行管理信息确认处理以将被包括在数据记录(在步骤S28处从数据发送单元102发送)中的时间戳与被包括在管理信息(在步骤S24处发送)中最新时间戳进行比较。这里,在步骤S24处发送的管理信息中包括的最新时间戳为“6”。
作为比较的结果,如果被包括在管理信息(在步骤处S24发送)中的最新时间戳大于在步骤S28处发送的时间戳,即,如果在步骤S28处发送的数据为旧数据,则客户终端300执行数据更新的促进处理(步骤S30)。在这种情况下,表示要获得的数据记录的键以及在步骤S24处发送的最新时间戳被包括在数据更新的促进请求中。
在本实施例中,节点A的数据存储单元105A中存储的数据记录中包括的最新时间戳为“5”,并且在步骤S24处发送的管理信息中包括的最新时间戳为“6”。由此,在步骤S30处,执行数据更新的促进处理。
在接收到数据更新的促进请求之后,分布式数据库100执行数据更新的促进处理(步骤S31)。
将通过参考图14和图15来说明图13的步骤S31处的数据更新的促进处理。图14是示出了根据本发明的分布式数据库100的数据更新的促进处理的一个示例的时序图。图15示出了根据本发明的分布式数据库100的数据更新的促进处理具体操作的示意图。
首先,分布式数据库100的节点10A中的请求接收单元101接收数据更新的促进请求(步骤S311)。
当请求接收单元101A接收到数据更新的促进请求时,数据更新促进单元104A将数据更新请求发送到数据更新单元102A(步骤S312)。当数据更新单元102A接收到数据更新请求时,数据更新单元102A将包括有键(表示要获得的数据记录)和最新时间戳(在步骤S24处发送)的最新数据获得请求发送到存储有要获得的数据记录的另一个节点10(步骤S313)。这里,假设将最新数据获得请求发送到节点10B。
当节点10B中的请求接收单元101B接收到最新数据获得请求(步骤S314)时,数据发送单元103B获得包括有来自数据存储单元105的键(表示要获得的数据记录)和数据(包括最新时间戳)的数据记录(在下文中,其被称为最新数据记录)(步骤S315)。另外,在步骤S315处,如果节点10B并不存储有最新数据记录,则将最新数据获得请求传送到另一个节点。这里,假设节点10B存储有最新数据记录。
数据发送单元103B将最新数据记录(在步骤S315处获得)发送到发送数据更新获得请求的节点10A(步骤S316)。
当请求接收单元101A接收到最新数据记录时,请求接收单元101A请求数据更新单元102A进行数据更新(步骤S317)。数据更新单元102A通过将最新数据记录(接收到的)添加到数据存储单元105A而执行数据更新(步骤S318)。由此,完成了本实施例的数据更新的促进处理。
这里,我们回到图13的说明。在完成了步骤S31的数据更新的促进处理之后,分布式数据库100将更新的数据发送到客户终端300(步骤S32),并且数据获得处理完成。
另外,作为步骤S29处的比较的结果,如果在步骤S24处发送的最新时间戳等于在步骤S28处发送的时间戳,则不执行从步骤S30之后的处理。此外,在客户终端300已经执行了数据更新的促进处理之后,可以完成本实施例的数据获得处理。在数据更新的促进处理之后,客户终端可以再一次执行数据获得处理并且请求要获得的数据记录。
如上所述,根据本实施例的分布式数据库系统1,在管理存储在多个存储节点中的数据的分布式数据库中,可以由另一个数据库对管理信息(例如,数据记录的更新状态或时间戳)进行管理。因此,即使正在更新数据,也可以获得相同数据记录的管理信息。
此外,在本实施例的分布式数据库系统1中,在请求数据获得的情况下,通过使用管理信息,确认所获得的数据是否是最新的数据。如果所获得的数据不是最新的数据,则存储所获得的数据的节点被要求更新该数据。所以,至于访问频率高的数据记录,加快了更新数据记录的时间。由此,至于访问频率更高的数据记录,可以提供容易地获得较新的数据(最新数据)的分布式数据库系统。
此外,在本实施例的分布式数据库系统1中,来自客户终端的数据请求目标的数据记录在被更新时,延迟数据请求的执行。通过在数据记录的更新完成之后而发送数据,可以提供容易地获得最新数据的分布式数据库系统(即,数据的一贯性高)。
可以不由数据发送目的的客户终端300而由数据发送单元103在获得数据之后(在步骤S27之后)来执行数据获得处理中的管理信息确认处理(步骤S29)。在这之后,数据发送单元103将已更新的最新数据发送到客户终端300。
此外,可以由数据管理装置200来执行管理信息确认处理(步骤S29)。在这种情况下,在步骤S28处的数据发送目的并不是客户终端300而是数据管理装置200。这里,数据管理装置200可以配备有管理信息确认单元以执行管理信息确认处理。
虽然已经描述了某些实施例,但是这些实施例仅通过示例的方式呈现,并且不是要限制本发明的范围。确实,本文中描述的新颖实施例可以以多种其它形式来实施;此外,可以以本文中所描述的实施例的形式进行各种省略、替代和改变而不背离本发明的精神。所附权利要求和它们的等价物是要覆盖落在本发明的范围和精神内的那些形式或修改。
Claims (3)
1.一种分布式数据库系统,包括:
分布式数据库,其包括存储数据的多个节点;以及
数据管理装置,其用于管理存储在所述多个节点中的所述数据;
其中,所述节点中的每一个包括:
数据存储单元,其用于存储与表示所述数据被存储时的时间的时间戳相关的数据,以及标识了所述数据的键;
数据更新单元,其用于更新所述数据;
数据发送单元,其用于获得存储在所述数据存储单元中的所述数据;以及
数据更新促进单元,其用于当获得的数据不是最新数据时,请求所述数据更新单元来更新所述获得的数据;
其中,所述数据管理装置包括:
管理信息存储单元,其用于存储包括了存储在所述数据存储单元中的所述键和所述时间戳的管理信息;以及
管理信息更新单元,其用于当更新了所述数据时,对已更新的数据的管理信息进行更新;
其中,基于通过使用所述获得的数据中包括的所述时间戳以及存储在所述管理信息存储单元中的所述获得的数据的最新时间戳的所述获得的数据是否为最新数据的决策结果,所述数据更新促进单元从另一个节点获得与所述最新时间戳相关的最新数据,并且请求所述数据更新单元用所述最新数据来更新存储在所述数据存储单元中的所述获得的数据。
2.根据权利要求1所述的分布式数据库系统,其中,
所述管理信息存储单元存储所述管理信息,所述管理信息包括存储在所述数据存储单元中的所述数据的更新状态,
当所述数据存储单元接收到所述数据的更新请求时,所述管理信息更新单元将所述更新状态改变为“正在更新”,并且,当完成了对所述数据的更新时,将所述更新状态改变为“完成”。
当所述更新状态为“正在更新”时,所述数据发送单元并不从所述数据存储单元获得所述数据。
3.一种用于控制分布式数据库系统的方法,所述分布式数据库系统包括:
分布式数据库,其包括在相应的数据存储单元中存储数据的多个节点,以及
数据管理装置,其用于管理存储在所述多个节点中的所述数据,
所述方法包括:
将与表示所述数据被存储时的时间的时间戳相关的数据,和标识了所述数据的键,存储到所述存储单元中;
更新所述数据;
获得存储在所述数据存储单元中的所述数据;
当获得的数据不是最新数据时,请求对所述获得的数据的更新;
存储包括了存储在所述数据存储单元中的所述键和所述时间戳的管理信息;
当更新了所述数据时,对已更新的数据的管理信息进行更新;
基于通过使用所述获得的数据中包括的所述时间戳以及存储在所述管理信息存储单元中的所述获得的数据的最新时间戳的所述获得的数据是否为最新数据的决策结果,从另一个节点获得与所述最新时间戳相关的最新数据;并且
请求用所述最新数据来更新所述获得的数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012140718A JP5449462B2 (ja) | 2012-06-22 | 2012-06-22 | 分散型データベースシステム及びプログラム |
JP2012-140718 | 2012-06-22 | ||
PCT/JP2013/000265 WO2013190735A1 (ja) | 2012-06-22 | 2013-01-22 | 分散型データベースシステム及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104395891A true CN104395891A (zh) | 2015-03-04 |
CN104395891B CN104395891B (zh) | 2017-06-20 |
Family
ID=49768350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380032942.1A Active CN104395891B (zh) | 2012-06-22 | 2013-01-22 | 分布式数据库系统及其方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10185735B2 (zh) |
JP (1) | JP5449462B2 (zh) |
CN (1) | CN104395891B (zh) |
WO (1) | WO2013190735A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302700A (zh) * | 2016-08-11 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 基于paxos算法的分布式系统一致性更新方法及系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6211949B2 (ja) * | 2014-02-12 | 2017-10-11 | 株式会社東芝 | データベース装置 |
CN106776635A (zh) * | 2015-11-24 | 2017-05-31 | 北京国双科技有限公司 | 知识库数据的更新方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11219309A (ja) * | 1997-09-29 | 1999-08-10 | Ricoh Co Ltd | 分散型データベースシステムの一貫性管理方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2005250521A (ja) * | 2004-03-01 | 2005-09-15 | Mitsubishi Electric Corp | データ処理システム及びデータ処理装置及びデータ処理方法 |
US20060230099A1 (en) * | 2005-04-08 | 2006-10-12 | Yuzuru Maya | File cache-controllable computer system |
CN101079869A (zh) * | 2006-05-26 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种基于分布式的数据同步方法及系统 |
CN101755419A (zh) * | 2007-05-21 | 2010-06-23 | 思达伦特网络公司 | 全局同步时间戳数值计数器 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08115247A (ja) | 1994-10-14 | 1996-05-07 | Mitsubishi Electric Corp | データ管理装置およびデータ管理方法 |
JP2000501532A (ja) * | 1995-12-01 | 2000-02-08 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | データベースアクセス |
US6098078A (en) * | 1995-12-29 | 2000-08-01 | Lucent Technologies Inc. | Maintaining consistency of database replicas |
US5787262A (en) * | 1996-06-26 | 1998-07-28 | Microsoft Corporation | System and method for distributed conflict resolution between data objects replicated across a computer network |
JP2957551B2 (ja) * | 1997-12-12 | 1999-10-04 | 株式会社リコー | 分散型データベースシステムの一貫性管理方法およびコンピュータ読み取り可能な記録媒体 |
JP4140910B2 (ja) * | 2004-12-28 | 2008-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理装置、データ管理装置、データ処理方法、データ管理方法、データ処理プログラム、データ管理プログラム、及び情報システム |
JP4738941B2 (ja) * | 2005-08-25 | 2011-08-03 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの管理方法 |
EP1850227A1 (en) * | 2006-04-28 | 2007-10-31 | Sag Ag | Data processing system and metod for providing a status management service |
US7899783B1 (en) * | 2006-05-30 | 2011-03-01 | Cisco Technology, Inc | Monitoring data integrity |
US7627611B2 (en) * | 2006-08-17 | 2009-12-01 | Osisoft, Inc. | Conflict resolution in database replication through autonomous node qualified folding |
JP4763587B2 (ja) * | 2006-12-11 | 2011-08-31 | 株式会社ソニー・コンピュータエンタテインメント | キャッシュサーバ、キャッシュサーバの制御方法、プログラム及び情報記憶媒体 |
JP5265711B2 (ja) * | 2011-01-05 | 2013-08-14 | 日本電信電話株式会社 | キャッシュ制御システム及びキャッシュ制御方法 |
US20130311488A1 (en) * | 2012-01-06 | 2013-11-21 | Citus Data Bilgi Islemleri Ticaret A.S. | Time Stamp Bounded Addition of Data to an Append-Only Distributed Database Table |
US8972491B2 (en) * | 2012-10-05 | 2015-03-03 | Microsoft Technology Licensing, Llc | Consistency-based service-level agreements in cloud storage environments |
-
2012
- 2012-06-22 JP JP2012140718A patent/JP5449462B2/ja active Active
-
2013
- 2013-01-22 WO PCT/JP2013/000265 patent/WO2013190735A1/ja active Application Filing
- 2013-01-22 CN CN201380032942.1A patent/CN104395891B/zh active Active
-
2014
- 2014-12-17 US US14/572,837 patent/US10185735B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11219309A (ja) * | 1997-09-29 | 1999-08-10 | Ricoh Co Ltd | 分散型データベースシステムの一貫性管理方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2005250521A (ja) * | 2004-03-01 | 2005-09-15 | Mitsubishi Electric Corp | データ処理システム及びデータ処理装置及びデータ処理方法 |
US20060230099A1 (en) * | 2005-04-08 | 2006-10-12 | Yuzuru Maya | File cache-controllable computer system |
CN101079869A (zh) * | 2006-05-26 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种基于分布式的数据同步方法及系统 |
CN101755419A (zh) * | 2007-05-21 | 2010-06-23 | 思达伦特网络公司 | 全局同步时间戳数值计数器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302700A (zh) * | 2016-08-11 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 基于paxos算法的分布式系统一致性更新方法及系统 |
CN106302700B (zh) * | 2016-08-11 | 2019-09-24 | 浪潮(北京)电子信息产业有限公司 | 基于paxos算法的分布式系统一致性更新方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
JP5449462B2 (ja) | 2014-03-19 |
US10185735B2 (en) | 2019-01-22 |
US20150100545A1 (en) | 2015-04-09 |
JP2014006635A (ja) | 2014-01-16 |
WO2013190735A1 (ja) | 2013-12-27 |
CN104395891B (zh) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103955486A (zh) | 分布式服务系统及其数据更新、数据查询的方法 | |
US20140059001A1 (en) | Cloud computing-based data sharing system and method | |
CN106357778A (zh) | 一种会话信息的共享方法、装置及系统 | |
JP5538560B2 (ja) | アクセス制御方法、アクセス制御装置およびアクセス制御プログラム | |
CN111506592B (zh) | 一种数据库的升级方法和装置 | |
CN110580293A (zh) | 实体关系的存储方法及装置 | |
CN111782235A (zh) | 一种数据升级、查询方法和装置 | |
CN104395891A (zh) | 分布式数据库系统及其方法 | |
CN114185991A (zh) | 基于分布式数据库实现数据同步的方法及相关装置 | |
US8463793B2 (en) | Method executed by management server, system, and computer-readable recording medium | |
CN106130751A (zh) | 一种升级状态数据管理装置、系统和方法 | |
CN109145054A (zh) | 一种管理客户端数据的方法 | |
JP3542812B2 (ja) | 分散処理装置 | |
JP2009123047A (ja) | 端末キャッシュ管理装置、端末キャッシュ管理方法及びプログラム | |
CN104969217A (zh) | 预测缓存装置和缓存预测方法 | |
JP4684605B2 (ja) | 情報伝達方法及びホスト装置 | |
CN112685064B (zh) | 设备标识的处理方法以及装置、存储介质、电子装置 | |
CN110659299B (zh) | 数据更新的方法及装置、前端开发客户端 | |
JP5402066B2 (ja) | 情報検索システム、情報検索装置、情報検索プログラム及び情報検索方法 | |
JP7027153B2 (ja) | ネットワークシステム、ゲートウェイ装置およびデータ処理方法 | |
JP2003271387A (ja) | ダウンロード方法、ダウンロードシステム | |
JP2000112810A (ja) | データ端末装置、サーバ装置、及び記憶媒体 | |
US20070156631A1 (en) | Synchronization of transactional applications and analytical applications | |
EP3282357A1 (en) | Apparatus and method for running plurality of threads | |
CN117390078B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |