[发明专利]一种数据库系统及其数据同步方法有效
申请号: | 201310062039.1 | 申请日: | 2013-02-27 |
公开(公告)号: | CN103139308A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | 何雄辉;谢锐 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/757;G06F17/30 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 纪烈超 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 系统 及其 数据 同步 方法 | ||
技术领域
本发明涉及数据库技术领域,特别涉及一种数据库系统及其数据同步方法。
背景技术
数据库系统通常采用一主多备实现高可用性。备机在建立时先从主机全量同步所有数据,随后增量地同步redo日志,并进行回放,从而让备机与主机保持数据的一致;主机有数据变化时,会产生redo日志,因此redo日志可以看成是一个连续不断的数据流,从主机流向备机。备机需要的开始点由redo的ID来标识,通常称为DCN(database change number),任何一次数据变化都有唯一的DCN标识。主机的redo日志有大小限制,随着旧的redo日志将被覆盖,这可能导致太慢的备机跟不上,而需要触发全量同步,或复制失效。如果有多台备机,则主机需要同时向所有备机发送redo日志。
图1a是现有数据库系统的一种网络拓扑示意图,其采用一主多备的实现方案,所有备机直接连接到主机,由主机向所有备机连续发送redo日志,实现增量同步。
图1b是现有数据库系统的另一种网络拓扑示意图,所有备机连接到一台中转备机,中转备机再连接到主机,redo日志自上而下发送,实现增量同步。
上述两种现有方案的共同问题在于,如果备机与复制源之间的网络不稳定,或复制源不可用,则该备机无法复制新数据。另外,当主机作为单一的复制源,则其负载将与备机数量成正比,影响主机的性能,进而影响整个集群的数据一致性和性能;当设置中转备机时,redo日志需要中转才能复制到叶子备机,时延加长,也会影响整个集群的数据一致性和性能。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种数据库系统及其数据同步方法,以增强数据库系统中数据同步的可靠性,减轻主机的负载,进而提高数据库系统的数据一致性和性能。
(二)技术方案
为解决上述技术问题,本发明第一方面提供一种数据库系统,包括:主机,以及和所述主机连接的备机;
所述备机用于从所述主机复制数据,并且当所述备机无法从所述主机复制数据时,按照预定策略选择连接其他备机,并从被连接的备机复制数据。
在第一方面的第一种可能的实现方式中,所述主机上维护有主路由表,所述主路由表包含至少一个表项,每个所述表项对应于一个备机,且每个所述表项包括该表项对应的备机的地址,以及用于标记该表项对应的备机可供其他备机复制数据范围的最小数据库变化标识码DCN和最大DCN。
在第一方面的第二种可能的实现方式中,每个所述表项中还包括以下信息中的一种或多种:用于标识该表项对应的备机的负载情况的负载指数、用于标识该表项对应的备机是否可用的可用标识和该表项对应的备机的路由信息版本号。
在第一方面的第三种可能的实现方式中,所述备机上维护有所述主路由表对应的本地路由表;
所述备机具体用于,当其无法从所述主机复制数据时,根据所述本地路由表选择连接其他备机,并从被连接的备机复制数据。
在第一方面的第四种可能的实现方式中,所述备机根据所述本地路由表选择连接其他备机时,被选择的备机满足以下条件:
被选择的备机的最小DCN<=所需DCN<=被选择的备机的最大DCN;
其中,所需DCN为发起连接的备机上最大DCN加1后的数值。
在第一方面的第五种可能的实现方式中,所述备机根据所述本地路由表选择连接其他备机时,被选择的备机还满足以下条件中的一项或多项:
被选择的备机的可用标识为可连接;
被选择的备机与发起连接的备机处于同一网段;
被选择的备机是可供发起连接的备机选择的备机中负载指数最低的;
被选择的备机是可供发起连接的备机选择的备机中最大DCN最大的。
在第一方面的第六种可能的实现方式中,所述备机还用于定期将自身的最小DCN、最大DCN和负载指数上报给所述主机,以供所述主机更新所述主路由表中相应的表项;
所述备机定期根据更新后的主路由表刷新自身的本地路由表。
在第一方面的第七种可能的实现方式中,当所述备机无法连接所述主机时,所述备机还用于将自身的最小DCN、最大DCN和负载指数上报给其所连接的其他备机以供其所连接的其他备机更新自身的本地路由表,并根据其所连接的其他备机的本地路由表刷新自身的本地路由表;
当所述备机连接所述主机时,所述备机还用于将自身的本地路由表上报给所述主机,以供所述主机更新无法与自己连接的备机对应的所述主路由表中的表项。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310062039.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置