一種數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種數(shù)據(jù)庫(kù)系統(tǒng),具體涉及一種數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng)。該系統(tǒng)通過Linux內(nèi)核模塊的分布式復(fù)制塊設(shè)備實(shí)現(xiàn),所述分布式復(fù)制塊設(shè)備為虛擬塊設(shè)備,所述虛擬塊設(shè)備用于在不同計(jì)算節(jié)點(diǎn)上實(shí)時(shí)透明的進(jìn)行同步塊數(shù)據(jù),同步塊數(shù)據(jù)與數(shù)據(jù)庫(kù)同步數(shù)據(jù)結(jié)合,能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)文件的同步。本發(fā)明實(shí)現(xiàn)了分布式復(fù)制塊設(shè)備技術(shù),是一種基于軟件的,無(wú)共享,復(fù)制的存儲(chǔ)解決方案,在服務(wù)器之間的對(duì)塊設(shè)備進(jìn)行鏡像。在基于分布式復(fù)制塊設(shè)備技術(shù)的基礎(chǔ)上,直接同步不同數(shù)據(jù)庫(kù)上的數(shù)據(jù)文件,對(duì)應(yīng)用實(shí)現(xiàn)了透明的數(shù)據(jù)同步,具有極大的靈活性和適應(yīng)性。
【專利說(shuō)明】一種數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)庫(kù)系統(tǒng),具體涉及一種數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng)。
【背景技術(shù)】
[0002]數(shù)據(jù)庫(kù)高可用通常指為應(yīng)用提供數(shù)據(jù)服務(wù)的數(shù)據(jù)庫(kù)會(huì)有多個(gè)節(jié)點(diǎn),在某個(gè)數(shù)據(jù)庫(kù)發(fā)生故障時(shí),其他數(shù)據(jù)庫(kù)服務(wù)能夠替代提供服務(wù)。這其中需要保證這些數(shù)據(jù)庫(kù)中的數(shù)據(jù)一致,才能實(shí)現(xiàn)應(yīng)用在切換數(shù)據(jù)庫(kù)時(shí)能正常工作。
[0003]在數(shù)據(jù)庫(kù)高可用的方案中,如何實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)節(jié)點(diǎn)上數(shù)據(jù)的同步是一個(gè)重要的技術(shù)點(diǎn),現(xiàn)有技術(shù)大多基于數(shù)據(jù)庫(kù)自帶的數(shù)據(jù)復(fù)制功能,其原理基本上是圍繞數(shù)據(jù)庫(kù)自身的日志通過相應(yīng)的方法進(jìn)行數(shù)據(jù)的同步。
[0004]通過數(shù)據(jù)庫(kù)自身提供的數(shù)據(jù)復(fù)制功能,會(huì)受到很大限制。在此功能存有bug時(shí),通常很難解決。其基本原理是圍繞數(shù)據(jù)庫(kù)的日志展開,基于日志再進(jìn)行同步,通常有一定的延時(shí)性。另外為了支持?jǐn)?shù)據(jù)復(fù)制功能,會(huì)對(duì)原有數(shù)據(jù)庫(kù)的安裝配置需做相應(yīng)的改動(dòng),因此對(duì)部分應(yīng)用都需做相應(yīng)的調(diào)整。同時(shí)數(shù)據(jù)庫(kù)的復(fù)制功能對(duì)數(shù)據(jù)庫(kù)自身的一些表的設(shè)計(jì),數(shù)據(jù)庫(kù)節(jié)點(diǎn)上依賴的環(huán)境(例如需要時(shí)間同步)等都有較大的耦合性,在實(shí)踐使用過程中往往很難與應(yīng)用非常完美的結(jié)合。
【發(fā)明內(nèi)容】
[0005]針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明的目的是提供一種數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng),本發(fā)明實(shí)現(xiàn)了分布式復(fù)制塊設(shè)備技術(shù),可在不同節(jié)點(diǎn)上實(shí)時(shí)透明的同步塊數(shù)據(jù),將此與數(shù)據(jù)庫(kù)同步數(shù)據(jù)結(jié)合,直接將數(shù)據(jù)庫(kù)的數(shù)據(jù)文件進(jìn)行同步,進(jìn)而實(shí)現(xiàn)了一種基于分布式復(fù)制塊設(shè)備技術(shù)的同步數(shù)據(jù)方法。
[0006]本發(fā)明的目的是采用下述技術(shù)方案實(shí)現(xiàn)的:
[0007]本發(fā)明提供一種數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng),其改進(jìn)之處在于,所述系統(tǒng)包括分布式復(fù)制塊設(shè)備實(shí)現(xiàn),所述分布式復(fù)制塊設(shè)備為虛擬塊設(shè)備,所述虛擬塊設(shè)備用于在不同計(jì)算節(jié)點(diǎn)上實(shí)時(shí)透明的進(jìn)行同步塊數(shù)據(jù),同步塊數(shù)據(jù)與數(shù)據(jù)庫(kù)同步數(shù)據(jù)結(jié)合,能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)文件的同步。
[0008]進(jìn)一步地,所述分布式復(fù)制塊設(shè)備包含在Linux內(nèi)核模塊中;所述系統(tǒng)包括依次連接的的服務(wù)單元、文件子系統(tǒng)、緩存區(qū)、磁盤附表、磁盤驅(qū)動(dòng)器和磁盤,所述分布式復(fù)制塊設(shè)備位于緩存區(qū)和磁盤附表之間,裸設(shè)備與分布式復(fù)制塊設(shè)備進(jìn)行數(shù)據(jù)交互,所述裸設(shè)備通過TCP/IP協(xié)議與網(wǎng)卡驅(qū)動(dòng)器進(jìn)行數(shù)據(jù)交互,所述網(wǎng)卡驅(qū)動(dòng)器與網(wǎng)卡連接,網(wǎng)卡接入計(jì)算服務(wù)器中。
[0009]進(jìn)一步地,所述分布式復(fù)制塊設(shè)備包括用戶空間管理工具、資源單元和資源角色單元。
[0010]進(jìn)一步地,所述用戶空間管理工具用于管理和配置分布式復(fù)制塊設(shè)備的資源單元,包括:[0011]synadm:高層的復(fù)制模塊程序管理套件工具,該套件工具從配置文件中獲取配置參數(shù);synadm為synsetup和syneta兩個(gè)命令充當(dāng)程序的前端應(yīng)用;
[0012]synsetup命令:用于使用戶配置已經(jīng)加載在內(nèi)核中運(yùn)行的SYN模塊,synsetup命令是底層的SYN程序管理套件工具;使用該命令時(shí),所有的配置參數(shù)直接在命令行中定義;
[0013]synmeta命令:允許用戶創(chuàng)建、轉(zhuǎn)儲(chǔ)、還原和修改SYN模塊的原數(shù)據(jù)結(jié)構(gòu)。
[0014]進(jìn)一步地,所述資源單元為可復(fù)制移動(dòng)存儲(chǔ)設(shè)備的總稱,包括:
[0015]資源名:資源名指定除了空格外US-ASCII中的任意字符;
[0016]同步設(shè)備:分布式復(fù)制塊設(shè)備中的虛擬塊設(shè)備,包括一個(gè)主設(shè)備號(hào)為147的設(shè)備,默認(rèn)的次要號(hào)碼編從0開始;分布式復(fù)制塊設(shè)備命名為數(shù)字M,表示為/dev/synm,其中M是設(shè)備的次要號(hào)碼;
[0017]磁盤配置:分布式復(fù)制塊設(shè)備內(nèi)部應(yīng)用的本地?cái)?shù)據(jù)副本,即為元數(shù)據(jù);
[0018]網(wǎng)絡(luò)配置:用于對(duì)等節(jié)點(diǎn)間的數(shù)據(jù)通信;所述對(duì)等節(jié)點(diǎn)指的是復(fù)制到的目標(biāo)節(jié)點(diǎn)。
[0019]進(jìn)一步地,所述資源角色單元用于確定分布式復(fù)制塊設(shè)備的角色,所述分布式復(fù)制塊設(shè)備的角色分為主復(fù)制塊設(shè)備和備復(fù)制塊設(shè)備;在所述主復(fù)制塊設(shè)備中進(jìn)行不受限制的讀和寫操作,用于創(chuàng)建和掛載文件系統(tǒng)、初始化或作為直接I/o的塊設(shè)備;
[0020]在備復(fù)制模塊設(shè)備中,接收所有來(lái)自對(duì)等節(jié)點(diǎn)的更新,且不以任何形式被訪問,即不能被應(yīng)用也不能被讀寫訪問。
[0021]進(jìn)一步地,所述系統(tǒng)支持以下模式:
[0022]I)單主模式:
[0023]在單主模式下,任何資源在任何特定的時(shí)間,集群中存在一個(gè)主節(jié)點(diǎn);此模式用在任何的文件系統(tǒng)上,包括EXT3、EXT4和XFS文件系統(tǒng);
[0024]2)雙主模式:
[0025]在雙主模式下,任何資源在任何特定的時(shí)間,集群中都存在兩個(gè)主節(jié)點(diǎn);所述兩個(gè)主節(jié)點(diǎn)共享一個(gè)集群文件系統(tǒng),利用分布式的鎖機(jī)制進(jìn)行管理;
[0026]3)復(fù)制模式,包括:
[0027]①協(xié)議A:—旦本地磁盤寫入已經(jīng)完成,復(fù)制數(shù)據(jù)包已在發(fā)送隊(duì)列中,則寫被認(rèn)為是完成的;即數(shù)據(jù)一旦寫入磁盤并發(fā)送到網(wǎng)絡(luò)中就認(rèn)為完成了寫入操作。
[0028]②協(xié)議B:—旦本地磁盤寫入已完成且復(fù)制數(shù)據(jù)包達(dá)到對(duì)等節(jié)點(diǎn)則認(rèn)為寫在主節(jié)點(diǎn)上被認(rèn)為是完成的;即收到接收確認(rèn)就認(rèn)為完成了寫入操作。
[0029]③協(xié)議C:在本地和遠(yuǎn)程節(jié)點(diǎn)的磁盤已經(jīng)確認(rèn)寫操作完成,寫被認(rèn)為完成;即收到寫入確認(rèn)就認(rèn)為完成了寫入操作。
[0030]與現(xiàn)有技術(shù)比,本發(fā)明達(dá)到的有益效果是:
[0031]1、本發(fā)明實(shí)現(xiàn)了分布式復(fù)制塊設(shè)備技術(shù),是一種基于軟件的,無(wú)共享,復(fù)制的存儲(chǔ)解決方案,在服務(wù)器之間的對(duì)塊設(shè)備(硬盤,分區(qū),邏輯卷等)進(jìn)行鏡像。它具有:
[0032]實(shí)時(shí)性:當(dāng)應(yīng)用對(duì)磁盤的數(shù)據(jù)進(jìn)行修改時(shí),復(fù)制立即發(fā)生。
[0033]透明性:應(yīng)用程序的數(shù)據(jù)存儲(chǔ)在鏡像設(shè)備上是獨(dú)立和透明的,數(shù)據(jù)可存儲(chǔ)在不同的服務(wù)器上。
[0034]同步鏡像和異步鏡像:同步鏡像,當(dāng)本地發(fā)申請(qǐng)進(jìn)行寫操作進(jìn)行時(shí),同步寫到兩臺(tái)服務(wù)器上。異步鏡像,當(dāng)本地寫申請(qǐng)已經(jīng)完成對(duì)本地的寫操作時(shí),開始對(duì)對(duì)應(yīng)的服務(wù)器進(jìn)行寫操作。
[0035]2、在基于分布式復(fù)制塊設(shè)備技術(shù)的基礎(chǔ)上,直接同步不同數(shù)據(jù)庫(kù)上的數(shù)據(jù)文件,對(duì)應(yīng)用實(shí)現(xiàn)了透明的數(shù)據(jù)同步,具有極大的靈活性和適應(yīng)性。
【專利附圖】
【附圖說(shuō)明】
[0036]圖1是本發(fā)明提供的數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng)的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0037]下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】作進(jìn)一步的詳細(xì)說(shuō)明。
[0038]本發(fā)明實(shí)現(xiàn)了分布式復(fù)制塊設(shè)備技術(shù),可在不同節(jié)點(diǎn)上實(shí)時(shí)透明的同步塊數(shù)據(jù),將此與數(shù)據(jù)庫(kù)同步數(shù)據(jù)結(jié)合,直接將數(shù)據(jù)庫(kù)的數(shù)據(jù)文件進(jìn)行同步,進(jìn)而實(shí)現(xiàn)了一種基于分布式復(fù)制塊設(shè)備技術(shù)的同步數(shù)據(jù)方法。
[0039]本發(fā)明的核心功能是通過一個(gè)Linux內(nèi)核模塊實(shí)現(xiàn)的。具體來(lái)說(shuō),包含一個(gè)虛擬的塊設(shè)備,因此它是位于“右底部附近的”一個(gè)系統(tǒng)的I/O堆棧。正因?yàn)槿绱?,它極為靈活,這使得它成為幾乎適合任何程序的一個(gè)高可用的塊復(fù)制解決方案。
[0040]本發(fā)明提供數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng),該系統(tǒng)通過Linux內(nèi)核模塊的分布式復(fù)制塊設(shè)備實(shí)現(xiàn),所述分布式復(fù)制塊設(shè)備為虛擬塊設(shè)備,所述虛擬塊設(shè)備用于在不同計(jì)算節(jié)點(diǎn)上實(shí)時(shí)透明的進(jìn)行同步塊數(shù)據(jù),同步塊數(shù)據(jù)與數(shù)據(jù)庫(kù)同步數(shù)據(jù)結(jié)合,能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)文件的同步。
[0041]該系統(tǒng)還包括依次進(jìn)行數(shù)據(jù)交互的服務(wù)單元、文件子系統(tǒng)、緩存區(qū)、磁盤附表、磁盤驅(qū)動(dòng)器和磁盤,所述分布式復(fù)制塊設(shè)備位于緩存區(qū)和磁盤附表之間,裸設(shè)備與分布式復(fù)制塊設(shè)備進(jìn)行數(shù)據(jù)交互,所述裸設(shè)備通過TCP/IP協(xié)議與網(wǎng)卡驅(qū)動(dòng)器進(jìn)行數(shù)據(jù)交互,所述網(wǎng)卡驅(qū)動(dòng)器與網(wǎng)卡連接,網(wǎng)卡接入計(jì)算服務(wù)器中,其結(jié)構(gòu)圖如圖1所示。
[0042]分布式復(fù)制塊設(shè)備包括用戶空間管理工具、資源單元和資源角色單元。
[0043]I)用戶空間管理工具:
[0044]為了能夠管理和配置復(fù)制模塊的資源,復(fù)制模塊配備了一些管理工具與內(nèi)核模塊進(jìn)行通信。
[0045]synadm:高層的復(fù)制模塊程序管理套件工具。它從配置文件中獲取所有配置參數(shù)。synadm為synsetup和syneta兩個(gè)命令充當(dāng)程序的前端應(yīng)用,執(zhí)行synadm實(shí)際是執(zhí)行的synsetup和syneta兩個(gè)命令。
[0046]synsetup:synsetup可以讓用戶配置已經(jīng)加載在內(nèi)核中運(yùn)行的SYN模塊,它是底層的SYN程序管理套件工具。使用該命令時(shí),所有的配置參數(shù)都需要直接在命令行中定義,命令很靈活。
[0047]synmeta:synmeta允許用戶創(chuàng)建、轉(zhuǎn)儲(chǔ)、還原和修改syn的原數(shù)據(jù)結(jié)構(gòu)。這個(gè)命令用戶極少用到。
[0048]2)資源單元:
[0049]在復(fù)制模塊中,資源是所有可復(fù)制移動(dòng)存儲(chǔ)設(shè)備的總稱。這些措施包括:
[0050]資源名:資源名可以指定除了空格外us-ascii中的任意字符。[0051]同步設(shè)備:復(fù)制模塊中的虛擬塊設(shè)備。它有一個(gè)主設(shè)備號(hào)為147的設(shè)備,默認(rèn)的它的次要號(hào)碼編從0開始。相關(guān)的塊設(shè)備需命名為/dev/synm,其中M是設(shè)備的次要號(hào)碼。
[0052]磁盤配置:復(fù)制模塊內(nèi)部應(yīng)用需要本地?cái)?shù)據(jù)副本,元數(shù)據(jù)。
[0053]網(wǎng)絡(luò)配置:各個(gè)對(duì)等接點(diǎn)間需要進(jìn)行數(shù)據(jù)通信;所述對(duì)等節(jié)點(diǎn)指的是復(fù)制到的目標(biāo)節(jié)點(diǎn)。。
[0054]3)資源角色單元:
[0055]資源角色單元用于確定分布式復(fù)制塊設(shè)備的角色,所述分布式復(fù)制塊設(shè)備的角色分為主復(fù)制塊設(shè)備和備復(fù)制塊設(shè)備;在復(fù)制模塊中,每個(gè)節(jié)點(diǎn)都有自己的角色,比如主或者備。在主復(fù)制模塊設(shè)備中可以進(jìn)行不受限制的讀和寫的操作。他可用來(lái)創(chuàng)建和掛載文件系統(tǒng)、初始化或者是直接I/O的塊設(shè)備,等等。在備復(fù)制模塊設(shè)備中,接收所有來(lái)自對(duì)等節(jié)點(diǎn)的更新,但是與此同時(shí)也就完全拒絕了訪問。它即不能被應(yīng)用也不能被讀寫訪問。為次節(jié)不能被讀寫訪問是為了保持緩沖一致性,這就意味著次節(jié)點(diǎn)是不可能以任何形式被訪問的。
[0056]人工干預(yù)和管理程序的自動(dòng)聚類算法都可以改變資源的角色。資源從次節(jié)點(diǎn)變?yōu)橹鞴?jié)點(diǎn)為升級(jí),而反操作則成為降級(jí)。
[0057]為了支持不同場(chǎng)景下的數(shù)據(jù)庫(kù)節(jié)點(diǎn)同步,本發(fā)明支持了如下一些特性和模式:
[0058]①單主模式
[0059]在單主模式下,任何資源在任何特定的時(shí)間,集群中只存在一個(gè)主節(jié)點(diǎn)。正是因?yàn)檫@樣在集群中只能有一個(gè)節(jié)點(diǎn)可以隨時(shí)操作數(shù)據(jù),這種模式可用在任何的文件系統(tǒng)上(EXT3、EXT4、XFS 等等)。
[0060]②雙主模式:
[0061]在雙主模式下,任何資源在任何特定的時(shí)間,集群中都存在兩個(gè)主節(jié)點(diǎn)。
[0062]由于雙方數(shù)據(jù)存在并發(fā)的可能性,這種模式需要一個(gè)共享的集群文件系統(tǒng),利用分布式的鎖機(jī)制進(jìn)行管理。
[0063]部署雙主模式時(shí),復(fù)制模塊是負(fù)載均衡的集群,這就需要從兩個(gè)并發(fā)的主節(jié)點(diǎn)中選取一個(gè)首選的訪問數(shù)據(jù)。這種模式默認(rèn)是禁用的,如果要是用的話必須在配置文件中進(jìn)行聲明。
[0064]③復(fù)制模式:
[0065]協(xié)議A:—旦本地磁盤寫入已經(jīng)完成,數(shù)據(jù)包已在發(fā)送隊(duì)列中,則寫被認(rèn)為是完成的。即數(shù)據(jù)一旦寫入磁盤并發(fā)送到網(wǎng)絡(luò)中就認(rèn)為完成了寫入操作。在一個(gè)節(jié)點(diǎn)發(fā)生故障時(shí),可能發(fā)生數(shù)據(jù)丟失,因?yàn)楸粚懭氲竭h(yuǎn)程節(jié)點(diǎn)上的數(shù)據(jù)可能仍在發(fā)送隊(duì)列。盡管,在故障轉(zhuǎn)移節(jié)點(diǎn)上的數(shù)據(jù)是一致的,但沒有及時(shí)更新。這通常是用于地理上分開的節(jié)點(diǎn)。
[0066]協(xié)議B:—旦本地磁盤寫入已完成且復(fù)制數(shù)據(jù)包達(dá)到了對(duì)等節(jié)點(diǎn)則認(rèn)為寫在主節(jié)點(diǎn)上被認(rèn)為是完成的。即收到接收確認(rèn)就認(rèn)為完成了寫入操作。數(shù)據(jù)丟失可能發(fā)生在參加的兩個(gè)節(jié)點(diǎn)同時(shí)故障的情況下,因?yàn)樵陲w行中的數(shù)據(jù)可能不會(huì)被提交到磁盤。
[0067]協(xié)議C:只有在本地和遠(yuǎn)程節(jié)點(diǎn)的磁盤已經(jīng)確認(rèn)了寫操作完成,寫才被認(rèn)為完成。即收到寫入確認(rèn)就認(rèn)為完成了寫入操作。沒有任何數(shù)據(jù)丟失,所以這是一個(gè)群集節(jié)點(diǎn)的流行模式,但I(xiàn)/O吞吐量依賴于網(wǎng)絡(luò)帶寬。
[0068]在數(shù)據(jù)庫(kù)同步數(shù)據(jù)的方案中我們優(yōu)先使用協(xié)議C。
[0069]本發(fā)明實(shí)現(xiàn)了分布式復(fù)制塊設(shè)備技術(shù),是一種基于軟件的,無(wú)共享,復(fù)制的存儲(chǔ)解決方案,在服務(wù)器之間的對(duì)塊設(shè)備(硬盤,分區(qū),邏輯卷等)進(jìn)行鏡像。在基于分布式復(fù)制塊設(shè)備技術(shù)的基礎(chǔ)上,直接同步不同數(shù)據(jù)庫(kù)上的數(shù)據(jù)文件,對(duì)應(yīng)用實(shí)現(xiàn)了透明的數(shù)據(jù)同步,具有極大的靈活性和適應(yīng)性。
[0070]最后應(yīng)當(dāng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非對(duì)其限制,盡管參照上述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:依然可以對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行修改或者等同替換,而未脫離本發(fā)明精神和范圍的任何修改或者等同替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
【權(quán)利要求】
1.一種數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng),其特征在于,所述系統(tǒng)包括分布式復(fù)制塊設(shè)備實(shí)現(xiàn),所述分布式復(fù)制塊設(shè)備為虛擬塊設(shè)備,所述虛擬塊設(shè)備用于在不同計(jì)算節(jié)點(diǎn)上實(shí)時(shí)透明的進(jìn)行同步塊數(shù)據(jù),同步塊數(shù)據(jù)與數(shù)據(jù)庫(kù)同步數(shù)據(jù)結(jié)合,能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)文件的同步。
2.如權(quán)利要求1所述的數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng),其特征在于,所述分布式復(fù)制塊設(shè)備包含在Linux內(nèi)核模塊中;所述系統(tǒng)包括依次連接的的服務(wù)單元、文件子系統(tǒng)、緩存區(qū)、磁盤附表、磁盤驅(qū)動(dòng)器和磁盤,所述分布式復(fù)制塊設(shè)備位于緩存區(qū)和磁盤附表之間,裸設(shè)備與分布式復(fù)制塊設(shè)備進(jìn)行數(shù)據(jù)交互,所述裸設(shè)備通過TCP/IP協(xié)議與網(wǎng)卡驅(qū)動(dòng)器進(jìn)行數(shù)據(jù)交互,所述網(wǎng)卡驅(qū)動(dòng)器與網(wǎng)卡連接,網(wǎng)卡接入計(jì)算服務(wù)器中。
3.如權(quán)利要求1所述的數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng),其特征在于,所述分布式復(fù)制塊設(shè)備包括用戶空間管理工具、資源單元和資源角色單元。
4.如權(quán)利要求3所述的數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng),其特征在于,所述用戶空間管理工具用于管理和配置分布式復(fù)制塊設(shè)備的資源單元,包括: synadm:高層的復(fù)制模塊程序管理套件工具,該套件工具從配置文件中獲取配置參數(shù);synadm為synsetup和syneta兩個(gè)命令充當(dāng)程序的前端應(yīng)用; synsetup命令:用于使用戶配置已經(jīng)加載在內(nèi)核中運(yùn)行的SYN模塊,synsetup命令是底層的SYN程序管理套件工具 ;使用該命令時(shí),所有的配置參數(shù)直接在命令行中定義; synmeta命令:允許用戶創(chuàng)建、轉(zhuǎn)儲(chǔ)、還原和修改SYN模塊的原數(shù)據(jù)結(jié)構(gòu)。
5.如權(quán)利要求3所述的數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng),其特征在于,所述資源單元為可復(fù)制移動(dòng)存儲(chǔ)設(shè)備的總稱,包括: 資源名:資源名指定除了空格外US-ASCII中的任意字符; 同步設(shè)備:分布式復(fù)制塊設(shè)備中的虛擬塊設(shè)備,包括一個(gè)主設(shè)備號(hào)為147的設(shè)備,默認(rèn)的次要號(hào)碼編從O開始;分布式復(fù)制塊設(shè)備命名為數(shù)字M,表示為/dev/synm,其中M是設(shè)備的次要號(hào)碼; 磁盤配置:分布式復(fù)制塊設(shè)備內(nèi)部應(yīng)用的本地?cái)?shù)據(jù)副本,即為元數(shù)據(jù); 網(wǎng)絡(luò)配置:用于對(duì)等節(jié)點(diǎn)間的數(shù)據(jù)通信;所述對(duì)等節(jié)點(diǎn)指的是復(fù)制到的目標(biāo)節(jié)點(diǎn)。
6.如權(quán)利要求3所述的數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng),其特征在于,所述資源角色單元用于確定分布式復(fù)制塊設(shè)備的角色,所述分布式復(fù)制塊設(shè)備的角色分為主復(fù)制塊設(shè)備和備復(fù)制塊設(shè)備;在所述主復(fù)制塊設(shè)備中進(jìn)行不受限制的讀和寫操作,用于創(chuàng)建和掛載文件系統(tǒng)、初始化或作為直接I/O的塊設(shè)備; 在備復(fù)制模塊設(shè)備中,接收所有來(lái)自對(duì)等節(jié)點(diǎn)的更新,且不以任何形式被訪問,即不能被應(yīng)用也不能被讀寫訪問。
7.如權(quán)利要求1-6中任一項(xiàng)所述的數(shù)據(jù)庫(kù)同步數(shù)據(jù)的系統(tǒng),其特征在于,所述系統(tǒng)支持以下模式: 1)單主模式: 在單主模式下,任何資源在任何特定的時(shí)間,集群中存在一個(gè)主節(jié)點(diǎn);此模式用在任何的文件系統(tǒng)上,包括EXT3、EXT4和XFS文件系統(tǒng); 2)雙主模式: 在雙主模式下,任何資源在任何特定的時(shí)間,集群中都存在兩個(gè)主節(jié)點(diǎn);所述兩個(gè)主節(jié)點(diǎn)共享一個(gè)集群文件系統(tǒng),利用分布式的鎖機(jī)制進(jìn)行管理;3)復(fù)制模式,包括: ①協(xié)議A:—旦本地磁盤寫入已經(jīng)完成,復(fù)制數(shù)據(jù)包已在發(fā)送隊(duì)列中,則寫被認(rèn)為是完成的;即數(shù)據(jù)一旦寫入磁盤并發(fā)送到網(wǎng)絡(luò)中就認(rèn)為完成了寫入操作。 ②協(xié)議B:—旦本地磁盤寫入已完成且復(fù)制數(shù)據(jù)包達(dá)到對(duì)等節(jié)點(diǎn)則認(rèn)為寫在主節(jié)點(diǎn)上被認(rèn)為是完成的;即收到接收確認(rèn)就認(rèn)為完成了寫入操作。 ③協(xié)議C:在本地和遠(yuǎn)程節(jié)點(diǎn)的磁盤已經(jīng)確認(rèn)寫操作完成,寫被認(rèn)為完成;即收到寫入確認(rèn)就認(rèn)為完成了寫入操作。
【文檔編號(hào)】G06F17/30GK103631903SQ201310594287
【公開日】2014年3月12日 申請(qǐng)日期:2013年11月22日 優(yōu)先權(quán)日:2013年11月22日
【發(fā)明者】郭慶, 謝瑩瑩, 班軍成, 苗艷超, 劉新春, 邵宗有 申請(qǐng)人:曙光信息產(chǎn)業(yè)股份有限公司