CN102239489A - 访问多代数据库中的数据 - Google Patents
访问多代数据库中的数据 Download PDFInfo
- Publication number
- CN102239489A CN102239489A CN200980148961.4A CN200980148961A CN102239489A CN 102239489 A CN102239489 A CN 102239489A CN 200980148961 A CN200980148961 A CN 200980148961A CN 102239489 A CN102239489 A CN 102239489A
- Authority
- CN
- China
- Prior art keywords
- track
- data
- page
- logical block
- lock
- 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
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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种用于访问多代数据库中数据的方法。该方法包括:接收访问数据库中第一数据的请求,其中第一数据位于数据库的第一页面上;读取对应于第一页面的条目以定位第一页面上的第一轨道从而访问该数据的最新版本;获取第一锁以同步对第一轨道的访问;以及响应于在保持第一锁的同时读取该条目,确定第一轨道存储该数据的最新版本。
Description
技术领域
本发明总体上涉及数据库,更具体地,涉及访问多代数据库(multi-generation)中的数据。
背景技术
数据库是指在由数据库管理系统(DBMS)所管理的数据存储系统中存储的、有组织的数据聚集。DBMS通常实现某些类型的同步以允许对数据库中数据的并发访问。
同步可以涉及实现针对数据库中每个数据的“锁”。然而,如果锁被存储在高速存储器中,则根据数据库的大小可能会存在可扩展性的问题,这是由于高速存储器倾向于较小。另一方面,将锁存储在慢速访问存储器中的专用位置中将对性能产生不利影响。
在多代数据库中,数据根据一个或者多个代(generation)或者时段而被组织。在验证点、恢复点、特定操作的开始处或者在某些其他指定时间点处,一个代可以结束而另一代可以开始。
通常,每个数据存在多个版本,每个代一个版本。每个版本与一代相关联,从而可以通过搜索与最当前代相关联的版本来标识最新的版本。不幸的是,为了具有最当前代的版本而搜索所有版本是效率低下的,并且导致同步困难。
需要克服上述缺陷的系统和方法。
发明内容
本公开涉及便于访问多代数据库中的数据的系统和相应的方法。
出于概括目的,在此描述了特定的方面、优点和新颖性特征。应当理解,根据任意特定实施方式不必实现全部此类优点。由此,所要求的主题可以按照如下方式具体化或者实现,其中实现或者最优化一个优点或者一组优点,而没有实现在此教示或者提示的全部优点。
根据一个实施方式,提供了一种用于访问多代数据库中数据的方法。该方法包括:接收访问数据库中第一数据的请求,其中第一数据定位于数据库的第一页面上;读取对应于第一页面的条目以定位第一页面上的第一轨道从而访问该数据的最新版本;获取第一锁以同步对第一轨道的访问;以及响应于在保持第一锁的同时读取条目,确定第一轨道存储该数据的最新版本。
根据另一实施方式,提供了一种包括一个或多个逻辑单元的系统。一个或者多个逻辑单元配置用于执行与上述方法相关联的功能和操作。根据又一实施方式,提供了一种包括具有计算机可读程序的计算机可用介质的计算机程序产品和计算机程序。当在计算机上执行时,计算机可读程序使得计算机执行与上述公开方法相关联的功能和操作。
下面将参考附图进一步详述上文公开的一个或多个实施方式以及某些备选方案。然而,本发明并不限于所公开的任何特定实施方式。
附图说明
现在仅借助于示例并参考如下附图中所示的优选实施方式描述本发明,在附图中:
图1示出了根据一个或者多个实施方式的用于多代数据库的示例性数据库布局;
图2示出了根据一个实施方式的用于标识最新版本数据的示例性页面表;
图3是根据一个实施方式的用于从多代数据库中读取数据的方法的流程图;
图4是根据一个实施方式的用于标识最新版本数据的示例性方法的流程图;
图5是根据一个实施方式的用于向多代数据库写入数据的方法的流程图;
图6是根据一个实施方式的用于升级多代数据库中的页面的方法的流程图;以及
图7和图8是根据一个或者多个实施方式的、本发明的系统可以操作于其中的硬件和软件环境的框图。
根据一个或者多个实施方式,在不同附图中以相同数字引用的本发明的特征、元件和方面表示相同、等效或者类似的特征、元件或者方面。
具体实施方式
在下文中,阐明了多个具体细节以提供对本发明各种实施方式的彻底理解。可以在不具有这些具体细节或者存在某些细节上的变化的情况下实践本发明的特定实施方式。在某些实例中,以较少细节描述特定特征,以便不会混淆本发明优选实施方式的其他方面。与每个元件或者特征相关联的细节的水平不应当解释为限制一个特征的新颖性或者重要性超过其他特征。
参见图1,根据一个实施方式,示例性多代数据库100包括对应于在数据库100中存储的数据的一个或者多个页面。例如,数据库100可以包括N个数据,由此存在N个页面,每个数据一个页面。数据的每个页面包括数据的一个或者多个版本,其中数据的每个版本定位于页面上的不同轨道或者不同位置。例如,页面1可以分别包括定位于轨道1、2和3上的版本A、B和C;而页面2可以分别包括定位于轨道1、2和3上的版本D、B和C。
数据库100由DBMS 110管理。特别地,DBMS 100管理对数据库100中数据的访问。为此,DBMS 110可以通过实现针对数据库100中每个页面的每个轨道的锁,来同步对数据的访问。对于读取访问,锁可以由不止一个访问共享。对于写访问,锁对于一个访问是排他的。理想上,锁被存储在具有数据的轨道上,使得一次访问足以访问轨道上的数据的版本以及锁两者,由此改进大型数据库的性能并提高可扩展性。在一个实施方式中,相同页面上的锁可以被统一地认为是单个锁。
DBMS 110还可以维护页面表,以便在页面上定位数据的最新版本。通过消除搜索数据的每个版本来找到最新版本这一需要,维护页面表改进了性能并且简化了同步。参见图1和图2,根据一个实施方式,示例性页面表200包括对应于数据库100中的一个或者多个页面的一个或者多个条目。例如,页面表200可以包括对应于数据库100的N个页面的N个条目。每个条目参考在与该条目相关联的页面上存储的数据的最新版本的轨道。
取决于实现,可以使用不同格式来参考轨道。理想上,使用最少数量的位来为大型数据库提供可扩展性。例如,如果页面上存在N个轨道,可以使用大约log2(N)个位来参考轨道。在图1中的示例性示出中,页面1上数据的最新版本(版本C)定位于轨道3;而页面2上数据的最新版本(版本D)定位于轨道1。由于在页面上存在3个轨道,因此使用两个位来参考轨道。例如,“00”用于参考轨道1,“01”用于参考轨道2,而“10”用于参考轨道3。
参见图1和图3,根据一个实施方式,DBMS 110接收访问位于数据库100上的第一页面上的数据的请求(P300)。作为响应,DBMS110从页面表200读取对应于第一页面的条目,以定位第一页面上存储数据的最新版本的第一轨道(P310)。例如,如果DBMS 110接收从数据库100的页面1访问数据的请求,则DBMS 110从页面表200读取条目1。在图1和图2中,条目1参考存储数据的版本C的轨道3。
响应于定位第一轨道,DBMS 100获取锁,以便同步对第一轨道的访问(P320)。锁同步对数据的访问,使得只要条目参考第一轨道,则数据的最新版本定位于第一轨道之上,同时保持对该轨道的锁。响应于获取对第一轨道的锁,第二次读取该条目,以确定数据的最新版本是否仍然定位于第一轨道之上(P330)。
如果包括数据的第一页面在第一次读取之后但在获取对第一轨道的锁之前被升级为新的代,则条目可能在第一次读取和第二次读取之间改变。在下文参见图6提供关于升级页面的进一步细节。如果数据的最新版本仍然定位于第一轨道(P340),则DBMS返回定位于第一轨道上的数据的版本(P350)。如果数据的最新版本不再定位于第一轨道(P340),则DBMS 110释放锁(P360)并重复P310至P360。
参见图1、图3和图4,根据一个实施方式,DBMS 110接收读取定位于数据库100的第一页面上的数据的请求(P400)。响应于接收该请求,DBMS 110访问第一页面上存储该数据的最新版本的第一轨道(P410,P300-350),并且返回数据的最新版本(P420)。DBMS 110还释放在P410期间获取的对第一轨道的锁(P430)。
参见图1、图3和图5,根据一个实施方式,DBMS 110接收更新定位于数据库100的第一页面上的数据的请求。响应于接收该请求,DBMS 110访问第一页面上存储该数据的最新版本的第一轨道(P500,P300-350),并且确定第一轨道是否与当前代相关联(P520)。DBMS 110可以例如通过验证由DBMS 110维护的事务日志中的新近事务来标识当前代。
如果第一轨道与当前代相关联(P520),则DBMS 110向第一轨道进行写入,更新数据的最新版本(P530),继而释放在P500期间被排他性获取的对第一轨道的锁(P540)。否则,DBMS 110将第一页面升级到当前代(P550),并且向第一页面上的第二轨道进行写入,更新数据的最新版本(P560)。从用户角度,升级第一页面是自动执行的,该升级包括在第二轨道上创建数据的新版本以及更新页面表200。
参见图1、图5和图6,根据一个实施方式,DBMS 110创建数据的最新版本的副本(P600)。如果在第一页面上存在可用的未使用第二轨道(P610),则DBMS 110在该未使用第二轨道上存储副本(P620)。否则,DBMS 110通过覆盖数据的最老版本在已使用的第二轨道上存储副本(P630)。在一个实施方式中,数据的最老版本定位于数据的最新版本右侧的轨道。例如,在图1和图2中,由于版本C是页面1上数据的最新版本,因此数据的最老版本是定位于轨道1上的版本A(具有重叠)。
一旦数据的最新版本被复制到第二轨道,则将第二轨道与当前代相关联(P640),并且对第二轨道的访问进行同步的锁被复位和排他性地获取(P650)。由此,存储在第二轨道上的数据的最新版本的副本成为数据的最新版本。
返回参见图1、图5和图6,当获取对第二轨道的锁时,DBMS 110更新针对页面表200中的页面的条目(P660),并且释放在P500期间被排他性获取的对第一轨道的锁(P670)。一旦条目被更新,DBMS110便向第二轨道进行写入,从而更新该数据的新创建的最新版本(P680,P560),并且释放对第二轨道的锁(P690)。例如,如果页面1被升级,则图1的页面1和图2的条目1变为如同图1的页面2和图2的条目2。
在不同实施方式中,本发明可以按照如下形式实现:全部以硬件的形式、或者全部以软件的形式、或者以硬件和软件元件两者的组合。例如,数据库100和DBMS 110可以包括于受控计算系统环境,该受控计算系统环境可以在很大程度上表现为硬件组件和软件代码,该软件代码被执行以执行实现由本发明的系统所预期的结果的过程。
参见图7和图8,根据一个示例性实施方式的计算系统环境包括硬件环境1110和软件环境1120。硬件环境1110包括提供针对软件的执行环境的机器和设备;而软件提供针对硬件的执行指令,如下文所提供的。
如在此提供的,以特定逻辑/功能关系的形式描述在示出的硬件元件上执行的软件元件。然而,应当注意,例如,以软件实现的相应方法还可以借助于配置的和编程的处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和数字化信号处理器(DSP)来以硬件实现。
软件环境1120被划分为包括系统软件1121和应用软件1122的两个主要类别。系统软件1121包括控制程序,诸如操作系统(OS)和指示硬件如何功能化和处理信息的信息管理系统。
在一个实施方式中,DBMS 110实现为在一个或者多个硬件环境中执行以管理对数据库100的访问的应用软件1122。应用软件1122可以包括但不限于程序代码、数据结构、固件、驻留软件、微代码或者可以由微控制器读取、分析或者执行的任何其他形式的信息或者例程。
在备选实施方式中,本发明可以实现为计算机程序产品,该计算机程序产品从计算机可用或者计算机可读介质可访问,该介质提供用于由计算机或者任何指令执行系统使用、或者与计算机或者任何指令执行系统相结合使用的程序代码。例如,出于本说明书的目的,计算机可用或者计算机可读介质可以是包括、存储、通信、传播或者传输程序的任何装置,该程序用于由指令执行系统、装置或者设备使用、或者与指令执行系统、装置或者设备结合使用。
该计算机可读介质可以是电子、磁性、光学、电磁、红外或半导体系统(或装置或设备)或传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可移除计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前示例包括压缩盘-只读存储器(CD-ROM)、压缩盘-读/写存储器(CD-R/W)和数字视频光盘DVD。
参见图7,应用软件1122的实施方式可以按照计算机可读代码的形式实现为计算机软件,该计算机可读代码在诸如硬件环境1110的数据处理系统上执行,该硬件环境1110包括借助于系统总线1100耦合至一个或者多个存储器元件的处理器1101。存储器元件例如可以包括本地存储器1102、存储介质1106以及高速缓冲存储器1104。处理器1101从存储介质1106向本地存储器1102加载可执行代码。高速缓冲存储器1104提供临时存储以降低从存储介质1106加载用于执行的代码的次数。
用户接口设备1105(例如,键盘、指示设备等)和显示屏1107可以直接或者例如通过中介I/O控制器1103耦合至计算系统。通信接口单元1108(诸如,网络适配器)还可以耦合至计算系统以支持数据处理系统通过中介私有网络或者公共网络,而与其他数据处理系统或者远程打印机或者存储设备通信。有线或者无线调制解调器和以太网卡是网络适配器的几个示例性类型。
在一个或者多个实施方式中,硬件环境1110可以不包括全部组件,或者可以包括用于附加功能或者应用的其他组件。例如,硬件环境1110可以是膝上型计算机或者体现为嵌入式系统的其他便携式计算设备,诸如机顶盒、个人数字助理(PDA)、移动通信单元(例如,无线电话)或者具有信息处理和/或数据存储和通信能力的其他类似硬件平台。
在系统的某些实施方式中,通信接口1108通过发送和接收电的、电磁的或者光学信号来与其他系统通信,该信号承载表示包括程序代码的各种类型信息的数字数据流。通信可以借助于远程网络(例如,因特网)或者备选地借助于通过载波传输而建立。
参见图8,应用软件1122可以包括一个或者多个计算机程序,该计算机程序在从存储器介质1106加载至本地存储器1102后而在系统软件1121上执行。在客户端-服务器架构中,应用软件1122可以包括客户端软件和服务器软件。例如,在一个实施方式中,客户端软件在通用计算机系统上执行,而服务器软件在服务器系统上执行。
软件环境1120还可以包括用于访问通过本地或者远程计算网络可用的数据的浏览器软件1126。此外,软件环境1120可以包括用户接口1124(例如,图形化用户接口(GUI)),用于接收用户命令和数据。请注意:上文仅出于示例目的描述了硬件和软件架构和环境,而本发明的一个或者多个实施方式可以通过任何类型的系统架构或者处理环境来实现。
还应当注意,逻辑代码、程序、模块、过程、方法和其中执行每个方法的各个步骤的顺序仅仅是示例性的。除非在本公开中另行指示,取决于实现,步骤可以按照任意顺序或者并行地执行。此外,逻辑代码是不相关的,也不限于任意特定的程序设计语言,并且可以包括一个或者多个模块,该模块在分布式的、非分布式的或者多处理环境中的一个或者多个处理器上执行。
权利要求书(按照条约第19条的修改)
1.一种用于获取对多代数据库中的第一数据的最新版本的访问的方法,其中所述多代数据库包括数据的一个或多个版本以及一个或多个时段的代,其中所述数据的一个或多个版本中的每一个仅与一个代相关联,所述方法包括:
接收访问所述数据库中的第一数据的请求,其中所述第一数据位于所述数据库的第一页面上,并且其中所述第一页面包括一个或多个轨道;
读取对应于所述第一页面的索引条目,其中所述索引条目指示所述第一页面上存储所述第一数据的所述最新版本的第一轨道;
获取第一锁以同步对所述第一轨道的访问;以及
响应于在保持所述第一锁的同时读取所述索引条目,确定所述第一轨道存储所述第一数据的所述最新版本。
2.根据权利要求1所述的方法,其中所述请求是要读取所述第一数据,所述方法进一步包括:
返回所述第一数据的所述最新版本;以及
释放所述第一锁。
3.根据权利要求1所述的方法,其中所述请求是要更新所述第一数据,所述方法进一步包括:
确定所述第一轨道是否与所述数据库的当前代相关联。
4.根据权利要求3所述的方法,其中所述第一轨道与所述数据库的所述当前代相关联,所述方法进一步包括:
向所述第一轨道进行写入以更新所述第一数据的所述最新版本;以及
释放所述第一锁。
5.根据权利要求3所述的方法,其中所述第一轨道未与所述数据库的所述当前代相关联,所述方法进一步包括:
将所述第一页面升级到所述当前代;
向所述第一页面上的第二轨道进行写入以更新所述第一数据的所述最新版本;以及
释放对所述第二轨道的访问进行同步的第二锁。
6.根据权利要求5所述的方法,其中所述升级包括:
在所述第二轨道上创建所述第一数据的所述最新版本的副本;
将所述第二轨道与所述当前代相关联;
复位并且获取所述第二锁以同步对所述第二轨道的访问;
将所述对应于所述第一页面的索引条目更新为参考所述第二轨道,其中所述副本变为所述第一数据的所述最新版本;以及
释放所述第一锁。
7.根据权利要求6所述的方法,其中创建所述副本包括:
覆盖所述第二轨道上存储的所述第一数据的最老版本。
8.一种用于获取对多代数据库中的第一数据的最新版本的访问的系统,其中所述多代数据库包括数据的一个或多个版本以及一个或多个时段的代,其中所述数据的一个或多个版本中的每一个仅与一个代相关联,所述系统包括:
用于接收访问所述数据库中的第一数据的请求的逻辑单元,其中所述第一数据位于所述数据库的第一页面上,并且其中所述第一页面包括一个或多个轨道;
用于读取对应于所述第一页面的索引条目的逻辑单元,其中所述索引条目指示所述第一页面上存储所述第一数据的所述最新版本的第一轨道;
用于获取第一锁以同步对所述第一轨道的访问的逻辑单元;以及
用于响应于在保持所述第一锁的同时读取所述索引条目而确定所述第一轨道存储所述第一数据的所述最新版本的逻辑单元。
9.根据权利要求8所述的系统,其中所述请求是要读取所述第一数据,所述系统进一步包括:
用于返回所述第一数据的所述最新版本的逻辑单元;以及
用于释放所述第一锁的逻辑单元。
10.根据权利要求8所述的系统,其中所述请求是要更新所述第一数据,所述系统进一步包括:
用于确定所述第一轨道是否与所述数据库的当前代相关联的逻辑单元。
11.根据权利要求10所述的系统,其中所述第一轨道与所述数据库的所述当前代相关联,所述系统进一步包括:
用于向所述第一轨道进行写入以更新所述第一数据的所述最新版本的逻辑单元;以及
用于释放所述第一锁的逻辑单元。
12.根据权利要求10所述的系统,其中所述第一轨道未与所述数据库的所述当前代相关联,所述系统进一步包括:
用于将所述第一页面升级到所述当前代的逻辑单元;
用于向所述第一页面上的第二轨道进行写入以更新所述第一数据的所述最新版本的逻辑单元;以及
用于释放对所述第二轨道的访问进行同步的第二锁的逻辑单元。
13.根据权利要求12所述的系统,其中用于将所述第一页面升级到所述当前代的逻辑单元包括:
用于在所述第二轨道上创建所述第一数据的所述最新版本的副本的逻辑单元;
用于将所述第二轨道与所述当前代相关联的逻辑单元;
用于复位并且获取所述第二锁以同步对所述第二轨道的访问的逻辑单元;
用于将所述对应于所述第一页面的索引条目更新为参考所述第二轨道的逻辑单元,其中所述副本变为所述第一数据的所述最新版本;以及
用于释放所述第一锁的逻辑单元。
14.根据权利要求13所述的系统,其中用于在所述第二轨道上创建所述第一数据的所述最新版本的所述副本的逻辑单元包括:
用于覆盖所述第二轨道上存储的所述第一数据的最老版本的逻辑单元。
15.一种包括计算机代码的计算机程序产品,当被加载至计算机系统并在其上执行时,所述计算机程序产品使得所述计算机系统执行根据权利要求1至7中的任一项所述的方法的全部步骤。
16.一种包括计算机代码的计算机程序,当被加载至计算机系统并在其上执行时,所述计算机代码用于使所述计算机系统执行根据权利要求1至7中的任一项所述的方法的全部步骤。
Claims (16)
1.一种用于访问多代数据库中的数据的方法,所述方法包括:
接收访问所述数据库中的第一数据的请求,其中所述第一数据位于所述数据库的第一页面上;
读取对应于所述第一页面的条目以定位所述第一页面上的第一轨道从而访问所述数据的最新版本;
获取第一锁以同步对所述第一轨道的访问;以及
响应于在保持所述第一锁的同时读取所述条目,确定所述第一轨道存储所述数据的所述最新版本。
2.根据权利要求1所述的方法,其中所述请求是要读取所述第一数据,所述方法进一步包括:
返回所述数据的所述最新版本;以及
释放所述第一锁。
3.根据权利要求1所述的方法,其中所述请求是要更新所述第一数据,所述方法进一步包括:
确定所述第一轨道是否与所述数据库的当前代相关联。
4.根据权利要求3所述的方法,其中所述第一轨道与所述数据库的所述当前代相关联,所述方法进一步包括:
向所述第一轨道进行写入以更新所述数据的所述最新版本;以及
释放所述第一锁。
5.根据权利要求3所述的方法,其中所述第一轨道未与所述数据库的所述当前代相关联,所述方法进一步包括:
将所述第一页面升级到所述当前代;
向所述第一页面上的第二轨道进行写入以更新所述数据的所述最新版本;以及
释放对所述第二轨道的访问进行同步的第二锁。
6.根据权利要求5所述的方法,其中所述升级包括:
在所述第二轨道上创建所述数据的所述最新版本的副本;
将所述第二轨道与所述当前代相关联;
复位并且获取所述第二锁以同步对所述第二轨道的访问;
将所述对应于所述第一页面的条目更新为参考所述第二轨道,其中所述副本变为所述数据的所述最新版本;以及
释放所述第一锁。
7.根据权利要求6所述的方法,其中创建所述副本包括:
覆盖所述第二轨道上存储的所述数据的最老版本。
8.一种用于访问多代数据库中数据的系统,所述系统包括:
用于接收访问所述数据库中的第一数据的请求的逻辑单元,其中所述第一数据位于所述数据库的第一页面上;
用于读取对应于所述第一页面的条目以定位所述第一页面上的第一轨道从而访问所述数据的最新版本的逻辑单元;
用于获取第一锁以同步对所述第一轨道的访问的逻辑单元;以及
用于响应于在保持所述第一锁的同时读取所述条目而确定所述第一轨道存储所述数据的所述最新版本的逻辑单元。
9.根据权利要求8所述的系统,其中所述请求是要读取所述第一数据,所述系统进一步包括:
用于返回所述数据的所述最新版本的逻辑单元;以及
用于释放所述第一锁的逻辑单元。
10.根据权利要求8所述的系统,其中所述请求是要更新所述第一数据,所述系统进一步包括:
用于确定所述第一轨道是否与所述数据库的当前代相关联的逻辑单元。
11.根据权利要求10所述的系统,其中所述第一轨道与所述数据库的所述当前代相关联,所述系统进一步包括:
用于向所述第一轨道进行写入以更新所述数据的所述最新版本的逻辑单元;以及
用于释放所述第一锁的逻辑单元。
12.根据权利要求10所述的系统,其中所述第一轨道未与所述数据库的所述当前代相关联,所述系统进一步包括:
用于将所述第一页面升级到所述当前代的逻辑单元;
用于向所述第一页面上的第二轨道进行写入以更新所述数据的所述最新版本的逻辑单元;以及
用于释放对所述第二轨道的访问进行同步的第二锁的逻辑单元。
13.根据权利要求12所述的系统,其中用于将所述第一页面升级到所述当前代的逻辑单元包括:
用于在所述第二轨道上创建所述数据的所述最新版本的副本的逻辑单元;
用于将所述第二轨道与所述当前代相关联的逻辑单元;
用于复位并且获取所述第二锁以同步对所述第二轨道的访问的逻辑单元;
用于将所述对应于所述第一页面的条目更新为参考所述第二轨道的逻辑单元,其中所述副本变为所述数据的所述最新版本;以及
用于释放所述第一锁的逻辑单元。
14.根据权利要求13所述的系统,其中用于在所述第二轨道上创建所述数据的所述最新版本的所述副本的逻辑单元包括:
用于覆盖所述第二轨道上存储的所述数据的最老版本的逻辑单元。
15.一种包括计算机代码的计算机程序产品,当被加载至计算机系统并在其上执行时,所述计算机程序产品使得所述计算机系统执行根据权利要求1至7中的任一项所述的方法的全部步骤。
16.一种包括计算机代码的计算机程序,当被加载至计算机系统并在其上执行时,所述计算机代码用于使所述计算机系统执行根据权利要求1至7中的任一项所述的方法的全部步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/329,005 US8521776B2 (en) | 2008-12-05 | 2008-12-05 | Accessing data in a multi-generation database |
US12/329,005 | 2008-12-05 | ||
PCT/EP2009/063554 WO2010063511A1 (en) | 2008-12-05 | 2009-10-16 | Accessing data in a multi-generation database |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102239489A true CN102239489A (zh) | 2011-11-09 |
CN102239489B CN102239489B (zh) | 2014-05-21 |
Family
ID=41353855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980148961.4A Expired - Fee Related CN102239489B (zh) | 2008-12-05 | 2009-10-16 | 访问多代数据库中的数据的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8521776B2 (zh) |
EP (1) | EP2370912A1 (zh) |
JP (1) | JP5567585B2 (zh) |
CN (1) | CN102239489B (zh) |
WO (1) | WO2010063511A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682005A (zh) * | 2015-11-05 | 2017-05-17 | 华为技术有限公司 | 一种确定数据库热页面的方法及装置 |
US12086118B2 (en) * | 2021-11-15 | 2024-09-10 | International Business Corporation Machines | Chaining version data bi-directionally in data page to avoid additional version data accesses |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5043876A (en) * | 1988-05-27 | 1991-08-27 | International Business Machines Corporation | N-level file shadowing and recovery in a shared file system |
JPH0659953A (ja) * | 1992-05-21 | 1994-03-04 | Nec Corp | 仮想ファイル入出力制御方法 |
JP3593366B2 (ja) * | 1994-09-19 | 2004-11-24 | 株式会社日立製作所 | デ−タベ−ス管理方法 |
CA2262450A1 (en) * | 1996-08-02 | 1998-02-12 | David Lathrop | Method and apparatus for allowing distributed control of shared resources |
US6351753B1 (en) * | 1998-02-20 | 2002-02-26 | At&T Corp. | Method and apparatus for asynchronous version advancement in a three version database |
US6684226B1 (en) * | 2000-03-24 | 2004-01-27 | Frontline Software Aps | Method for storing data in one or more files so that both previous and new versions of the data are separately accessible |
JP2003263350A (ja) * | 2002-03-07 | 2003-09-19 | Ricoh Co Ltd | データベースシステム |
US7779039B2 (en) * | 2004-04-02 | 2010-08-17 | Salesforce.Com, Inc. | Custom entities and fields in a multi-tenant database system |
US7297000B1 (en) * | 2003-11-26 | 2007-11-20 | Hinsdale Bernard | Periodic table of the elements in three dimensional form |
US7143120B2 (en) * | 2004-05-03 | 2006-11-28 | Microsoft Corporation | Systems and methods for automated maintenance and repair of database and file systems |
US8762331B2 (en) * | 2004-06-29 | 2014-06-24 | Microsoft Corporation | Concurrent transactions and page synchronization |
JP2006085539A (ja) * | 2004-09-17 | 2006-03-30 | Fujitsu Ltd | データベース管理プログラム、方法、装置及び記録媒体 |
US7730044B2 (en) * | 2007-04-02 | 2010-06-01 | Bmc Software, Inc. | Log data store and assembler for large objects in database system |
-
2008
- 2008-12-05 US US12/329,005 patent/US8521776B2/en not_active Expired - Fee Related
-
2009
- 2009-10-16 JP JP2011538917A patent/JP5567585B2/ja not_active Expired - Fee Related
- 2009-10-16 EP EP09740670A patent/EP2370912A1/en not_active Withdrawn
- 2009-10-16 WO PCT/EP2009/063554 patent/WO2010063511A1/en active Application Filing
- 2009-10-16 CN CN200980148961.4A patent/CN102239489B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012511197A (ja) | 2012-05-17 |
CN102239489B (zh) | 2014-05-21 |
WO2010063511A1 (en) | 2010-06-10 |
US20100145996A1 (en) | 2010-06-10 |
US8521776B2 (en) | 2013-08-27 |
JP5567585B2 (ja) | 2014-08-06 |
EP2370912A1 (en) | 2011-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100430936C (zh) | 用于数据库备份的一致性检验的系统和方法 | |
CN102934114B (zh) | 用于文件系统的检查点 | |
KR101099199B1 (ko) | 데이터베이스 복구 중의 스냅샷 질의를 위한 시스템 및 방법 | |
US8738575B2 (en) | Data recovery in a hierarchical data storage system | |
US9020916B2 (en) | Database server apparatus, method for updating database, and recording medium for database update program | |
US20080104317A1 (en) | System and computer program product for synchronizing direct access storage volumes | |
JP2006506747A5 (zh) | ||
CN102591982A (zh) | 执行增量sql服务器数据库备份的方法和系统 | |
CN106155832B (zh) | 一种数据恢复的方法、装置及Android设备 | |
CN1540513A (zh) | 用于数据库的事务一致变化的跟踪 | |
CN113220729B (zh) | 数据存储方法、装置、电子设备及计算机可读存储介质 | |
JP2005532615A (ja) | データ項目の使用可能バージョンの提供 | |
CN106610839A (zh) | 发布升级包的方法、轻量升级方法、装置及系统 | |
CN111684437A (zh) | 按时间顺序排序的错位更新键-值存储系统 | |
JP2853608B2 (ja) | 並列処理システムのファイルアクセス制御方式 | |
CN111656325A (zh) | 在按时间排序的日志结构化键-值存储系统中从故障快速恢复 | |
CN105955989A (zh) | 一种云平台数据库主从服务器的建立方法 | |
US20060004877A1 (en) | Method and system for data processing with data replication for the same | |
CN102239489B (zh) | 访问多代数据库中的数据的方法和系统 | |
CN106959989A (zh) | 主备数据库的同步方法及装置 | |
US20230006814A1 (en) | Method and apparatus for implementing changes to a file system that is emulated with an object storage system | |
US20130332698A1 (en) | Data preservation method | |
US20050149270A1 (en) | Componentware creating method, apparatus and recording medium | |
KR20180113720A (ko) | 유에스비 백업시스템 | |
CN110019097A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140521 Termination date: 20181016 |
|
CF01 | Termination of patent right due to non-payment of annual fee |