CN103631903B - 一种数据库同步数据的系统 - Google Patents
一种数据库同步数据的系统 Download PDFInfo
- Publication number
- CN103631903B CN103631903B CN201310594287.0A CN201310594287A CN103631903B CN 103631903 B CN103631903 B CN 103631903B CN 201310594287 A CN201310594287 A CN 201310594287A CN 103631903 B CN103631903 B CN 103631903B
- Authority
- CN
- China
- Prior art keywords
- block device
- data
- distributed
- write
- resource
- 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.)
- Active
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing 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)
Abstract
本发明涉及一种数据库系统,具体涉及一种数据库同步数据的系统。该系统通过Linux内核模块的分布式复制块设备实现,所述分布式复制块设备为虚拟块设备,所述虚拟块设备用于在不同计算节点上实时透明的进行同步块数据,同步块数据与数据库同步数据结合,能够实现数据库数据文件的同步。本发明实现了分布式复制块设备技术,是一种基于软件的,无共享,复制的存储解决方案,在服务器之间的对块设备进行镜像。在基于分布式复制块设备技术的基础上,直接同步不同数据库上的数据文件,对应用实现了透明的数据同步,具有极大的灵活性和适应性。
Description
技术领域
本发明涉及一种数据库系统,具体涉及一种数据库同步数据的系统。
背景技术
数据库高可用通常指为应用提供数据服务的数据库会有多个节点,在某个数据库发生故障时,其他数据库服务能够替代提供服务。这其中需要保证这些数据库中的数据一致,才能实现应用在切换数据库时能正常工作。
在数据库高可用的方案中,如何实现不同数据库节点上数据的同步是一个重要的技术点,现有技术大多基于数据库自带的数据复制功能,其原理基本上是围绕数据库自身的日志通过相应的方法进行数据的同步。
通过数据库自身提供的数据复制功能,会受到很大限制。在此功能存有bug时,通常很难解决。其基本原理是围绕数据库的日志展开,基于日志再进行同步,通常有一定的延时性。另外为了支持数据复制功能,会对原有数据库的安装配置需做相应的改动,因此对部分应用都需做相应的调整。同时数据库的复制功能对数据库自身的一些表的设计,数据库节点上依赖的环境(例如需要时间同步)等都有较大的耦合性,在实践使用过程中往往很难与应用非常完美的结合。
发明内容
针对现有技术的不足,本发明的目的是提供一种数据库同步数据的系统,本发明实现了分布式复制块设备技术,可在不同节点上实时透明的同步块数据,将此与数据库同步数据结合,直接将数据库的数据文件进行同步,进而实现了一种基于分布式复制块设备技术的同步数据方法。
本发明的目的是采用下述技术方案实现的:
本发明提供一种数据库同步数据的系统,其改进之处在于,所述系统包括分布式复制块设备,所述分布式复制块设备为虚拟块设备,所述虚拟块设备用于在不同计算节点上实时透明的进行同步块数据,同步块数据与数据库同步数据结合,能够实现数据库数据文件的同步。
进一步地,所述分布式复制块设备包含在Linux内核模块中;所述系统包括依次连接的的服务单元、文件子系统、缓存区、磁盘附表、磁盘驱动器和磁盘,所述分布式复制块设备位于缓存区和磁盘附表之间,裸设备与分布式复制块设备进行数据交互,所述裸设备通过TCP/IP协议与网卡驱动器进行数据交互,所述网卡驱动器与网卡连接,网卡接入计算服务器中。
进一步地,所述分布式复制块设备包括用户空间管理工具、资源单元和资源角色单元。
进一步地,所述用户空间管理工具用于管理和配置分布式复制块设备的资源单元,包括:
synadm:高层的复制模块程序管理套件工具,该套件工具从配置文件中获取配置参数;synadm为synsetup和synmeta两个命令充当程序的前端应用;
synsetup命令:用于使用户配置已经加载在内核中运行的SYN模块,synsetup命令是底层的SYN程序管理套件工具;使用该命令时,所有的配置参数直接在命令行中定义;
synmeta命令:允许用户创建、转储、还原和修改SYN模块的原数据结构。
进一步地,所述资源单元为可复制移动存储设备的总称,所述资源单元的属性包括:
资源名属性:资源名指定除了空格外US-ASCII中的任意字符;
同步设备属性:分布式复制块设备中的虚拟块设备,包括一个主设备号为147的设备,默认的次要号码编从0开始;分布式复制块设备命名为数字M,表示为/dev/synm,其中M是设备的次要号码;
磁盘配置属性:分布式复制块设备内部应用的本地数据副本,即为元数据;
网络配置属性:用于对等节点间的数据通信;所述对等节点指的是复制到的目标节点。
进一步地,所述资源角色单元用于确定分布式复制块设备的角色,所述分布式复制块设备的角色分为主复制块设备和备复制块设备;在所述主复制块设备中进行不受限制的读和写操作,用于创建和挂载文件系统、初始化或作为直接I/O的块设备;
在备复制模块设备中,接收所有来自对等节点的更新,且不以任何形式被访问,即不能被应用也不能被读写访问。
进一步地,所述系统支持以下模式:
1)单主模式:
在单主模式下,任何资源在任何特定的时间,集群中存在一个主节点;此模式用在任何的文件系统上,包括EXT3、EXT4和XFS文件系统;
2)双主模式:
在双主模式下,任何资源在任何特定的时间,集群中都存在两个主节点;所述两个主节点共享一个集群文件系统,利用分布式的锁机制进行管理;
3)复制模式,包括:
①协议A:一旦本地磁盘写入已经完成,复制数据包已在发送队列中,则写被认为是完成的;即数据一旦写入磁盘并发送到网络中就认为完成了写入操作。
②协议B:一旦本地磁盘写入已完成且复制数据包达到对等节点则认为写在主节点上被认为是完成的;即收到接收确认就认为完成了写入操作。
③协议C:在本地和远程节点的磁盘已经确认写操作完成,写被认为完成;即收到写入确认就认为完成了写入操作。
与现有技术比,本发明达到的有益效果是:
1、本发明实现了分布式复制块设备技术,是一种基于软件的,无共享,复制的存储解决方案,在服务器之间的对块设备(硬盘,分区,逻辑卷等)进行镜像。它具有:
实时性:当应用对磁盘的数据进行修改时,复制立即发生。
透明性:应用程序的数据存储在镜像设备上是独立和透明的,数据可存储在不同的服务器上。
同步镜像和异步镜像:同步镜像,当本地发申请进行写操作进行时,同步写到两台服务器上。异步镜像,当本地写申请已经完成对本地的写操作时,开始对对应的服务器进行写操作。
2、在基于分布式复制块设备技术的基础上,直接同步不同数据库上的数据文件,对应用实现了透明的数据同步,具有极大的灵活性和适应性。
附图说明
图1是本发明提供的数据库同步数据的系统的结构图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的详细说明。
本发明实现了分布式复制块设备技术,可在不同节点上实时透明的同步块数据,将此与数据库同步数据结合,直接将数据库的数据文件进行同步,进而实现了一种基于分布式复制块设备技术的同步数据方法。
本发明的核心功能是通过一个Linux内核模块实现的。具体来说,包含一个虚拟的块设备,因此它是位于“右底部附近的”一个系统的I/O堆栈。正因为如此,它极为灵活,这使得它成为几乎适合任何程序的一个高可用的块复制解决方案。
本发明提供数据库同步数据的系统,该系统通过Linux内核模块的分布式复制块设备实现,所述分布式复制块设备为虚拟块设备,所述虚拟块设备用于在不同计算节点上实时透明的进行同步块数据,同步块数据与数据库同步数据结合,能够实现数据库数据文件的同步。
该系统还包括依次进行数据交互的服务单元、文件子系统、缓存区、磁盘附表、磁盘驱动器和磁盘,所述分布式复制块设备位于缓存区和磁盘附表之间,裸设备与分布式复制块设备进行数据交互,所述裸设备通过TCP/IP协议与网卡驱动器进行数据交互,所述网卡驱动器与网卡连接,网卡接入计算服务器中,其结构图如图1所示。
分布式复制块设备包括用户空间管理工具、资源单元和资源角色单元。
1)用户空间管理工具:
为了能够管理和配置复制模块的资源,复制模块配备了一些管理工具与内核模块进行通信。
synadm:高层的复制模块程序管理套件工具。它从配置文件中获取所有配置参数。synadm为synsetup和synmeta两个命令充当程序的前端应用,执行synadm实际是执行的synsetup和synmeta两个命令。
synsetup:synsetup可以让用户配置已经加载在内核中运行的SYN模块,它是底层的SYN程序管理套件工具。使用该命令时,所有的配置参数都需要直接在命令行中定义,命令很灵活。
synmeta:synmeta允许用户创建、转储、还原和修改syn的原数据结构。这个命令用户极少用到。
2)资源单元:
在复制模块中,资源是所有可复制移动存储设备的总称。资源单元属性包括:
资源名属性:资源名可以指定除了空格外us-ascii中的任意字符。
同步设备属性:复制模块中的虚拟块设备。它有一个主设备号为147的设备,默认的它的次要号码编从0开始。相关的块设备需命名为/dev/synm,其中M是设备的次要号码。
磁盘配置属性:复制模块内部应用需要本地数据副本,元数据。
网络配置属性:各个对等接点间需要进行数据通信;所述对等节点指的是复制到的目标节点。
3)资源角色单元:
资源角色单元用于确定分布式复制块设备的角色,所述分布式复制块设备的角色分为主复制块设备和备复制块设备;在复制模块中,每个节点都有自己的角色,比如主或者备。在主复制模块设备中可以进行不受限制的读和写的操作。他可用来创建和挂载文件系统、初始化或者是直接I/O的块设备,等等。在备复制模块设备中,接收所有来自对等节点的更新,但是与此同时也就完全拒绝了访问。它即不能被应用也不能被读写访问。为次节不能被读写访问是为了保持缓冲一致性,这就意味着次节点是不可能以任何形式被访问的。
人工干预和管理程序的自动聚类算法都可以改变资源的角色。资源从次节点变为主节点为升级,而反操作则成为降级。
为了支持不同场景下的数据库节点同步,本发明支持了如下一些特性和模式:
①单主模式
在单主模式下,任何资源在任何特定的时间,集群中只存在一个主节点。正是因为这样在集群中只能有一个节点可以随时操作数据,这种模式可用在任何的文件系统上(EXT3、EXT4、XFS等等)。
②双主模式:
在双主模式下,任何资源在任何特定的时间,集群中都存在两个主节点。
由于双方数据存在并发的可能性,这种模式需要一个共享的集群文件系统,利用分布式的锁机制进行管理。
部署双主模式时,复制模块是负载均衡的集群,这就需要从两个并发的主节点中选取一个首选的访问数据。这种模式默认是禁用的,如果要是用的话必须在配置文件中进行声明。
③复制模式:
协议A:一旦本地磁盘写入已经完成,数据包已在发送队列中,则写被认为是完成的。即数据一旦写入磁盘并发送到网络中就认为完成了写入操作。在一个节点发生故障时,可能发生数据丢失,因为被写入到远程节点上的数据可能仍在发送队列。尽管,在故障转移节点上的数据是一致的,但没有及时更新。这通常是用于地理上分开的节点。
协议B:一旦本地磁盘写入已完成且复制数据包达到了对等节点则认为写在主节点上被认为是完成的。即收到接收确认就认为完成了写入操作。数据丢失可能发生在参加的两个节点同时故障的情况下,因为在飞行中的数据可能不会被提交到磁盘。
协议C:只有在本地和远程节点的磁盘已经确认了写操作完成,写才被认为完成。即收到写入确认就认为完成了写入操作。没有任何数据丢失,所以这是一个群集节点的流行模式,但I/O吞吐量依赖于网络带宽。
在数据库同步数据的方案中我们优先使用协议C。
本发明实现了分布式复制块设备技术,是一种基于软件的,无共享,复制的存储解决方案,在服务器之间的对块设备(硬盘,分区,逻辑卷等)进行镜像。在基于分布式复制块设备技术的基础上,直接同步不同数据库上的数据文件,对应用实现了透明的数据同步,具有极大的灵活性和适应性。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
Claims (3)
1.一种数据库同步数据的系统,其特征在于,所述系统包括分布式复制块设备,所述分布式复制块设备为虚拟块设备,所述虚拟块设备用于在不同计算节点上实时透明的进行同步块数据,同步块数据与数据库同步数据结合,能够实现数据库数据文件的同步;
所述分布式复制块设备包括用户空间管理工具、资源单元和资源角色单元;
所述用户空间管理工具用于管理和配置分布式复制块设备的资源单元,包括:
synadm:高层的复制模块程序管理套件工具,该套件工具从配置文件中获取配置参数;synadm为synsetup和synmeta两个命令充当程序的前端应用;
synsetup命令:用于使用户配置已经加载在内核中运行的SYN模块,synsetup命令是底层的SYN模块管理套件工具;使用该命令时,所有的配置参数直接在命令行中定义;
synmeta命令:允许用户创建、转储、还原和修改SYN模块的原数据结构;
所述资源单元为可复制移动存储设备的总称,所述资源单元的属性包括:
资源名属性:资源名指定除了空格外US-ASCII中的任意字符;
同步设备属性:虚拟块设备,包括一个主设备号为147的设备,默认的次要号码编从0开始;虚拟块设备命名为数字M,表示为/dev/synm,其中M是设备的次要号码;
磁盘配置属性:分布式复制块设备内部应用的本地数据副本,即为元数据;
网络配置属性:用于对等节点间的数据通信;所述对等节点指的是复制到的目标节点;
所述资源角色单元用于确定分布式复制块设备的角色,所述分布式复制块设备的角色分为主复制块设备和备复制块设备;在所述主复制块设备中进行不受限制的读和写操作,用于创建和挂载文件系统、初始化或作为直接I/O的块设备;
在备复制模块设备中,接收所有来自对等节点的更新,且不以任何形式被访问,即不能被应用也不能被读写访问。
2.如权利要求1所述的数据库同步数据的系统,其特征在于,所述分布式复制块设备包含在Linux内核模块中;所述系统包括依次连接的服务单元、文件子系统、缓存区、磁盘附表、磁盘驱动器和磁盘,所述分布式复制块设备位于缓存区和磁盘附表之间,裸设备与分布式复制块设备进行数据交互,所述裸设备通过TCP/IP协议与网卡驱动器进行数据交互,所述网卡驱动器与网卡连接,网卡接入计算服务器中。
3.如权利要求1-2中任一项所述的数据库同步数据的系统,其特征在于,所述系统支持以下模式:
1)单主模式:
在单主模式下,任何资源在任何特定的时间,集群中存在一个主节点;此模式用在任何的文件系统上,包括EXT3、EXT4和XFS文件系统;
2)双主模式:
在双主模式下,任何资源在任何特定的时间,集群中都存在两个主节点;所述两个主节点共享一个集群文件系统,利用分布式的锁机制进行管理;
3)复制模式,包括:
①协议A:一旦本地磁盘写入已经完成,复制数据包已在发送队列中,则写被认为是完成的;即数据一旦写入磁盘并发送到网络中就认为完成了写入操作;
②协议B:一旦本地磁盘写入已完成且复制数据包达到对等节点则认为写在主节点上被认为是完成的;即收到接收确认就认为完成了写入操作;
③协议C:在本地和远程节点的磁盘已经确认写操作完成,写被认为完成;即收到写入确认就认为完成了写入操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310594287.0A CN103631903B (zh) | 2013-11-22 | 2013-11-22 | 一种数据库同步数据的系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310594287.0A CN103631903B (zh) | 2013-11-22 | 2013-11-22 | 一种数据库同步数据的系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103631903A CN103631903A (zh) | 2014-03-12 |
CN103631903B true CN103631903B (zh) | 2017-09-01 |
Family
ID=50212945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310594287.0A Active CN103631903B (zh) | 2013-11-22 | 2013-11-22 | 一种数据库同步数据的系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103631903B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103986771A (zh) * | 2014-05-22 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | 一种不依赖于共享存储的高可用集群管理方法 |
CN105117307B (zh) * | 2015-09-25 | 2018-06-19 | 北京飞杰信息技术有限公司 | 数据实时备份方法及系统 |
CN105843713B (zh) * | 2016-04-01 | 2019-06-28 | 杭州沃趣科技股份有限公司 | 一种双机系统无共享存储实现Oracle RAC的方法 |
CN106101208A (zh) * | 2016-06-10 | 2016-11-09 | 北京银信长远科技股份有限公司 | 构建基于以太网的跨平台高可用系统的方法 |
CN108810150B (zh) * | 2018-06-15 | 2020-11-27 | 国网上海市电力公司 | 协同办公系统应用级灾备系统的数据复制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1746855A (zh) * | 2005-10-26 | 2006-03-15 | 北京启明星辰信息技术有限公司 | 一种基于伪块设备的应用层透明容灾备份方法及系统 |
CN103384267A (zh) * | 2013-06-07 | 2013-11-06 | 曙光信息产业(北京)有限公司 | 一种基于分布式块设备的Parastor200并行存储管理节点高可用方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8490088B2 (en) * | 2010-09-10 | 2013-07-16 | International Business Machines Corporation | On demand virtual machine image streaming |
-
2013
- 2013-11-22 CN CN201310594287.0A patent/CN103631903B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1746855A (zh) * | 2005-10-26 | 2006-03-15 | 北京启明星辰信息技术有限公司 | 一种基于伪块设备的应用层透明容灾备份方法及系统 |
CN103384267A (zh) * | 2013-06-07 | 2013-11-06 | 曙光信息产业(北京)有限公司 | 一种基于分布式块设备的Parastor200并行存储管理节点高可用方法 |
Non-Patent Citations (1)
Title |
---|
高可用性集群技术的分析;李文姣,亓峰;《中国科技论文在线》;20111223;1-6 * |
Also Published As
Publication number | Publication date |
---|---|
CN103631903A (zh) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110268380B (zh) | 跨云数据存储库的文件系统层次结构镜像 | |
CN103631903B (zh) | 一种数据库同步数据的系统 | |
CN103237046B (zh) | 支持混合云存储应用的分布式文件系统及实现方法 | |
US10621146B2 (en) | Synchronizing configuration of partner objects across distributed storage systems using transformations | |
US8516159B2 (en) | Asynchronous file operations in a scalable multi-node file system cache for a remote cluster file system | |
EP2411918B1 (en) | Virtualized data storage system architecture | |
CN103109292B (zh) | 在容错数据库管理系统中聚集查询结果的系统和方法 | |
US20240168673A1 (en) | Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity | |
EP2002339B1 (en) | Use of volume containers in replication and provisioning management | |
CN103218248B (zh) | 一种虚拟机镜像的更新方法、服务器和桌面云系统 | |
JP4919851B2 (ja) | ファイルレベルの仮想化を行う中間装置 | |
US11836115B2 (en) | Gransets for managing consistency groups of dispersed storage items | |
CN108604164A (zh) | 用于存储区域网络协议存储的同步复制 | |
US20090187668A1 (en) | Protocol Independent Server Replacement and Replication in a Storage Area Network | |
CN104917843B (zh) | 云存储与医疗图像无缝对接系统 | |
US20160142249A1 (en) | Method, medium, and system for configuring a new node in a distributed memory network | |
CN102340533A (zh) | 多租户系统及多租户系统存取数据的方法 | |
JP2007317183A (ja) | ネットワークデータストレージシステム | |
US20150046394A1 (en) | Storage system, storage control device, and storage medium storing control program | |
TW201434300A (zh) | 跨越叢集邊界的服務遷移 | |
WO2016050315A1 (en) | Method and an apparatus, and related computer-program products, for managing access request in multi-tenancy environments | |
US11579983B2 (en) | Snapshot performance optimizations | |
US20040205145A1 (en) | Data transfer method | |
CN114513530B (zh) | 一种跨域存储空间双向供给方法和系统 | |
CN108369588A (zh) | 数据库级别自动存储管理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |