[发明专利]主数据库系统、复制其数据的方法以及复制数据库系统无效
申请号: | 201010572638.4 | 申请日: | 2010-10-09 |
公开(公告)号: | CN102043838A | 公开(公告)日: | 2011-05-04 |
发明(设计)人: | 海因兹·库尔登;哈拉德·斯隆宁;格哈德·舒玛切尔;汉斯-于尔根·图恩 | 申请(专利权)人: | 软件股份公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 宋鹤 |
地址: | 德国达*** | 国省代码: | 德国;DE |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 系统 复制 数据 方法 以及 | ||
技术领域
本发明涉及主数据库系统,复制数据库系统以及复制主数据库系统的数据项的方法。
背景技术
数据库系统常被用于存储、修改和查询现代计算环境中使用的大量数据。,这种数据库系统中例如由硬件或网络故障引起的意外的系统崩溃或是不一致性,会导致计算环境在长时间内处于系统故障状态,这是由于计算环境操作中的数据可能丢失或损坏。因此,数据库系统的可靠性和可用性就至关重要。为此,除了处理存储、修改和查询数据的请求(事务处理)外,数据库系统可以在一个或多个复制数据库系统中复制它的数据(复制处理)。
一旦(主)数据库系统发生故障,丢失的数据可以从一个或多个复制的数据库系统恢复,即复制数据库系统可以作为待命的备份存储器。在这个故障-恢复用例中,事务处理通常只由主数据库系统执行,而复制数据库系统只参与复制处理。
然而,复制数据库系统同样可以被用于其他场景,例如用于数据的移动使用。在此,复制数据库系统可以被设置于诸如笔记本电脑或者智能电话之类的移动设备上,并且以有规律的间隔与中央服务器上的主数据库系统同步。在该用例中,为了提高性能,事务处理可以直接在复制数据库系统上执行。
另外,使用复制数据库系统的另一个重要实例是为了负载平衡,即,同时由主数据库系统和复制数据库系统执行事务处理以提高事务处理的性能。
但是,如果复制数据库系统的数据在事务处理期间被查询,而这时正在进行复制处理,那么这次查询就可能获得不一致的结果。这是因为查询处理可以取回中间数据,而这些数据可能在复制处理过程中改变(该现象叫做“脏数据读取”)。为了克服这个问题,一种熟知的方法是只允许查询处理和复制处理在不同的时隙执行,从而保证了只有一致的数据可以被查询。然而,这种方法是以降低性能为代价的,因为查询处理必须被推迟直到任何的复制处理完成,这在负载平衡的情形中是极其不利的。或者,为了更好的性能而允许同时进行查询处理和复制处理,却是以一致性不能保证为代价的。
另外,在一些特定场景中,如下操作也是期望的:不仅同时查询主数据库系统和复制数据库系统中的数据,而且允许同时修改存储在主数据库系统和复制数据库系统中的不同数据副本。这里,一个额外的问题是不同数据副本可能转变为不同步、不一致的状态。为此,已知的方法是用复杂机制来探测和解决主数据库系统和复制数据库系统中的不一致数据。或者,同步复制技术可以被用来从一开始就防止不一致数据的修改(比如,使用已知的两阶段提交协议)。但是,这些方法的代价是由于冲突解决或同步复制的开销而降低了性能。
因此,本发明解决的技术问题是提供一种数据库复制技术,该技术允许高效、一致的事务处理,从而可以至少部分解决以上阐述的已有技术的弊端。
发明内容
根据本发明的一个方面,一种按照权利要求1的复制主数据库系统中的一个或多个数据项的方法解决了上述问题,其中,所述方法包括由主数据库系统执行的如下步骤:
a.提供复制数据给至少一个复制数据库系统,所述至少一个复制数据库系统使用所述复制数据复制所述主数据库系统的所述一个或多个数据项;以及
b.在步骤a发送的复制数据中添加锁数据,其中,所述锁数据与所述一个或多个数据项中的至少一个锁相关。
相应地,在步骤a中,由主数据库系统提供的复制数据被至少一个复制数据库系统使用来复制所述主数据库系统中的一个或多个数据项。因此,所述至少一个复制数据库能够获得所述主数据库系统的所述一个或多个数据项的本地副本。为此,所述主数据库系统可以存储所述复制数据,并且所述至少一个复制数据库系统可以请求所存储的复制数据。另外,所述主数据库系统在步骤a发送给所述至少一个复制数据库系统的复制数据中添加锁数据,其中,所述锁数据与所述一个或多个数据项中的至少一个锁相关。
这种锁可以由所述主数据库系统响应于接收到事务而创建、修改、删除和/或查询一个或多个数据项时被创建,并且,这种锁通常在被所述主数据库系统处理时用来限制其他事务访问所述一个或多个数据项。通过对发送到所述至少一个复制数据库系统的所述复制数据添加于这些锁相关的锁数据,所述至少一个复制数据库系统还能够根据接收的锁数据处理一个或多个事务,并且优选是与所述主数据库系统执行的任何复制处理和/或事务处理同步。因此,可以保证所述事务能够以一种高效且事务一致的方式被至少一个复制数据库系统处理,下面将会做进一步解释。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于软件股份公司,未经软件股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010572638.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于手动泵中接头小孔的自动装配的设备
- 下一篇:大型电机联轴器拆卸工装
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置