访问多代数据库中的数据制造技术

技术编号:7161214 阅读:227 留言:0更新日期:2012-04-11 18:40
提供了一种用于访问多代数据库中数据的方法。该方法包括:接收访问数据库中第一数据的请求,其中第一数据位于数据库的第一页面上;读取对应于第一页面的条目以定位第一页面上的第一轨道从而访问该数据的最新版本;获取第一锁以同步对第一轨道的访问;以及响应于在保持第一锁的同时读取该条目,确定第一轨道存储该数据的最新版本。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总体上涉及数据库,更具体地,涉及访问多代数据库(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个轨道,可以使用大约Im2(N)个位来参考轨道。在图1中的示例性示出中,页面1上数据的最新版本(版本C)定位于轨道3 ;而页面2上数据的最新版本(版本D)定位于轨道1。由于在页面上存在3个轨道,因此使用两个位来参考轨道。例如,“00”用于参考轨道1,“01”用于参考轨道2,而“10”用于参考轨道 3。参见图1和图3,根据一个实施方式,DBMS 110接收访问位于数据库100上的第一页面上的数据的请求(P300)。作为响应,DBMS 110从页面表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 还释放在本文档来自技高网...

【技术保护点】
一种用于访问多代数据库中的数据的方法,所述方法包括:接收访问所述数据库中的第一数据的请求,其中所述第一数据位于所述数据库的第一页面上;读取对应于所述第一页面的条目以定位所述第一页面上的第一轨道从而访问所述数据的最新版本;获取第一锁以同步对所述第一轨道的访问;以及响应于在保持所述第一锁的同时读取所述条目,确定所述第一轨道存储所述数据的所述最新版本。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:I·科亨
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1