主備板的數(shù)據(jù)庫雙向同步方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種主備板的數(shù)據(jù)庫雙向同步方法,包括如下步驟:根據(jù)預(yù)設(shè)的時(shí)間周期分別對主備板的數(shù)據(jù)庫進(jìn)行備份,得到對應(yīng)的備份數(shù)據(jù);檢測主備板的運(yùn)行狀態(tài);若主備板都重啟過,則主備板的數(shù)據(jù)庫分別通過其備份數(shù)據(jù)進(jìn)行數(shù)據(jù)恢復(fù)。本發(fā)明還提供對應(yīng)的系統(tǒng),能在主備板重啟或異常宕機(jī)時(shí),保證主備板數(shù)據(jù)庫保持同步狀態(tài)。
【專利說明】主備板的數(shù)據(jù)庫雙向同步方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫同步【技術(shù)領(lǐng)域】,特別是涉及一種主備板的數(shù)據(jù)庫雙向同步方法,以及一種主備板的數(shù)據(jù)庫雙向同步系統(tǒng)。
【背景技術(shù)】
[0002]在網(wǎng)關(guān)的HA (High Availability,高可靠性)切換過程中,主備板的數(shù)據(jù)庫數(shù)據(jù)同步是必不可少的一步。Mysql數(shù)據(jù)庫因其高性能、穩(wěn)定可靠和免費(fèi)開源,被廣泛用于中小型項(xiàng)目的數(shù)據(jù)載體。Mysql自身帶有數(shù)據(jù)庫復(fù)制功能,即數(shù)據(jù)庫同步功能,具體原理如圖1。簡單來說,Mysql數(shù)據(jù)庫的同步是通過日志來進(jìn)行的,備板獲取主機(jī)的日志,然后在本端解析執(zhí)行,來完成數(shù)據(jù)同步。
[0003]Mysql自帶的同步功能在正常情況下工作良好,但是一旦涉及到板卡系統(tǒng)重啟或者掉電,同步就會(huì)產(chǎn)生不可預(yù)知的異常,這部分異常產(chǎn)生的主要源于對數(shù)據(jù)庫的操作日志沒辦法即時(shí)寫入磁盤和網(wǎng)絡(luò)傳輸過程中的丟失。另外在異常宕機(jī)時(shí),甚至可能產(chǎn)生數(shù)據(jù)庫崩潰的嚴(yán)重情況,而網(wǎng)關(guān)HA切換過程,就經(jīng)常涉及到掉電重啟等情況。
[0004]在互為主/備(master/slave)的兩個(gè)數(shù)據(jù)庫之間。slave上mysql的同步工作有兩個(gè)線程I/O thread和SQL thread, I/O線程的作用是從master的3306端口(Mysql默認(rèn)端口)把它的binlog取過來(master在被修改了任何內(nèi)容后,就會(huì)把修改了什么寫到自己的binlog等待slave更新),然后寫到本地的relay-log上;而SQL線程則是去讀本地的relay-log,再轉(zhuǎn)換成本mysql所能理解的語句,于是同步就這樣一步步完成。
[0005]正常情況下,配置過Mysql雙向同步后,能夠按照上面的描述工作,雙主的兩臺(tái)機(jī)A,B能夠同步所有對數(shù)據(jù)庫的操作。這里有一點(diǎn)需要注意,對于數(shù)據(jù)庫自增的主鍵,需要在配置里面添加配置避免主鍵沖突。
[0006]但是在系統(tǒng)宕機(jī)、重啟、或者掉電時(shí),應(yīng)用程序?qū)?shù)據(jù)庫的操作的日志很可能沒那么即時(shí)的刷寫到磁盤上去,導(dǎo)致這部分?jǐn)?shù)據(jù)沒法同步到對端數(shù)據(jù)庫中;而且傳輸中的數(shù)據(jù)也可能丟失。
【發(fā)明內(nèi)容】
[0007]基于此,本發(fā)明提供一種主備板的數(shù)據(jù)庫雙向同步方法和系統(tǒng),能在主備板運(yùn)行異常時(shí),保證主備板數(shù)據(jù)庫保持同步狀態(tài)。
[0008]一種主備板的數(shù)據(jù)庫雙向同步方法,包括如下步驟:
[0009]根據(jù)預(yù)設(shè)的時(shí)間周期分別對主備板的數(shù)據(jù)庫進(jìn)行備份,得到對應(yīng)的備份數(shù)據(jù);
[0010]檢測主備板是否重啟過;
[0011]若主備板都重啟過,則主備板的數(shù)據(jù)庫分別通過其備份數(shù)據(jù)進(jìn)行數(shù)據(jù)恢復(fù)。
[0012]一種主備板的數(shù)據(jù)庫雙向同步系統(tǒng),包括:
[0013]備份模塊,用于根據(jù)預(yù)設(shè)的時(shí)間周期分別對主備板的數(shù)據(jù)庫進(jìn)行備份,得到對應(yīng)的備份數(shù)據(jù);[0014]檢測模塊,用于檢測主備板是否重啟過;
[0015]恢復(fù)模塊,用于若主備板都重啟過,則主備板的數(shù)據(jù)庫分別通過其備份數(shù)據(jù)進(jìn)行數(shù)據(jù)恢復(fù)。
[0016]上述主備板的數(shù)據(jù)庫雙向同步方法和系統(tǒng),根據(jù)主備板的工作狀態(tài),可設(shè)定在網(wǎng)關(guān)較為空閑的時(shí)候分別對主備板的數(shù)據(jù)庫進(jìn)行備份,如果板卡同時(shí)重啟并且重啟后數(shù)據(jù)庫服務(wù)都不正常,則通過備份的數(shù)據(jù)進(jìn)行恢復(fù),保證在主備板同時(shí)運(yùn)行異常時(shí)仍能保持?jǐn)?shù)據(jù)同步;本發(fā)明實(shí)現(xiàn)過程簡單,能良好的保證數(shù)據(jù)庫同步狀態(tài)正確,解決了主備板運(yùn)行異常時(shí)的數(shù)據(jù)同步難題。
【專利附圖】
【附圖說明】
[0017]圖1為傳統(tǒng)技術(shù)數(shù)據(jù)庫同步的示意圖。
[0018]圖2為本發(fā)明主備板的數(shù)據(jù)庫雙向同步方法在一實(shí)施例中的流程示意圖。
[0019]圖3為本發(fā)明主備板的數(shù)據(jù)庫雙向同步方法在一實(shí)施例中的邏輯框圖。
[0020]圖4為本發(fā)明主備板的數(shù)據(jù)庫雙向同步系統(tǒng)在一實(shí)施例中的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0021]下面結(jié)合實(shí)施例及附圖對本發(fā)明作進(jìn)一步詳細(xì)說明,但本發(fā)明的實(shí)施方式不限于此。
[0022]如圖2所示,是本發(fā)明一種主備板的數(shù)據(jù)庫雙向同步方法,包括如下步驟:
[0023]S21、根據(jù)預(yù)設(shè)的時(shí)間周期分別對主備板的數(shù)據(jù)庫進(jìn)行備份,得到對應(yīng)的備份數(shù)據(jù);
[0024]在本步驟中,可根據(jù)主備板的工作狀態(tài),設(shè)定在網(wǎng)關(guān)較為空閑的時(shí)候分別對主備板的數(shù)據(jù)庫進(jìn)行備份;或者也可設(shè)定更為頻繁的備份方式,如每小時(shí)進(jìn)行一次數(shù)據(jù)庫備份;如果板卡同時(shí)重啟并且重啟后數(shù)據(jù)庫服務(wù)都不正常,則通過備份的數(shù)據(jù)進(jìn)行恢復(fù);主備板備份的數(shù)據(jù)分別存儲(chǔ)在各自對應(yīng)的數(shù)據(jù)庫中。
[0025]S22、檢測主備板的運(yùn)行狀態(tài);
[0026]S23、若主備板都重啟過,則主備板的數(shù)據(jù)庫分別通過其備份數(shù)據(jù)進(jìn)行數(shù)據(jù)恢復(fù);
[0027]板卡系統(tǒng)若重啟或者掉電,數(shù)據(jù)庫雙向同步就會(huì)產(chǎn)生不可預(yù)知的異常,這部分異常產(chǎn)生的原因主要源于對數(shù)據(jù)庫的操作日志沒辦法即時(shí)寫入磁盤和網(wǎng)絡(luò)傳輸過程中的丟失。另外在異常宕機(jī)時(shí),甚至可能產(chǎn)生數(shù)據(jù)庫崩潰的嚴(yán)重情況,而網(wǎng)關(guān)HA切換過程,就經(jīng)常涉及到掉電重啟等情況;
[0028]在本實(shí)施例中,循環(huán)檢測主備板的運(yùn)行狀態(tài),當(dāng)主板與備板都重啟過時(shí),由于兩板同時(shí)重啟或者被整機(jī)斷電過,因此無法預(yù)知哪一個(gè)板卡的數(shù)據(jù)是正確的,因此兩板同時(shí)宕機(jī)時(shí),以備份的數(shù)據(jù)分別對各自的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)恢復(fù),保證主備板數(shù)據(jù)同步。
[0029]在一較佳實(shí)施例中,還可包括步驟:
[0030]若主板重啟過,備板未重啟,則以備板的數(shù)據(jù)庫對主板的數(shù)據(jù)庫進(jìn)行恢復(fù);
[0031]若主板未重啟,備板重啟過,并且備板的數(shù)據(jù)庫與主板的數(shù)據(jù)庫不同步,則以主板的數(shù)據(jù)庫對備板的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)恢復(fù);
[0032]在本實(shí)施例中,主板重啟過,則主板數(shù)據(jù)庫的數(shù)據(jù)可能發(fā)生異常,需恢復(fù)主板數(shù)據(jù)庫的數(shù)據(jù);由于備板未重啟過,其數(shù)據(jù)庫運(yùn)行正常,以備板數(shù)據(jù)庫當(dāng)前的數(shù)據(jù)對主板的數(shù)據(jù)庫進(jìn)行恢復(fù);
[0033]備板重啟,則檢測雙板數(shù)據(jù)庫的同步狀態(tài),若備板數(shù)據(jù)庫與主板數(shù)據(jù)庫的數(shù)據(jù)不同步,則以主板的數(shù)據(jù)庫當(dāng)前的數(shù)據(jù)對備板的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)恢復(fù);若同步,則可不進(jìn)行備板數(shù)據(jù)庫恢復(fù)操作。
[0034]在一較佳實(shí)施例中,可在根據(jù)預(yù)設(shè)的時(shí)間周期對數(shù)據(jù)庫進(jìn)行備份時(shí),將當(dāng)前備份的數(shù)據(jù)覆蓋上一次備份的數(shù)據(jù),在減少占用資源的同時(shí)保證當(dāng)前的備份數(shù)據(jù)為最新的數(shù)據(jù)。
[0035]在一較佳實(shí)施例中,在通過備份數(shù)據(jù)對數(shù)據(jù)庫進(jìn)行數(shù)據(jù)庫恢復(fù)時(shí),將備份數(shù)據(jù)逐條寫入數(shù)據(jù)庫,防止設(shè)備宕機(jī)時(shí)丟失過多數(shù)據(jù),例如可通過shell腳本進(jìn)行配置,配置sync_binlog限定每次同步進(jìn)磁盤的語句條數(shù)。
[0036]在一較佳實(shí)施例中,還可包括在主備板初始化時(shí)分別對其數(shù)據(jù)庫進(jìn)行主鍵自增起始值和偏移量設(shè)置的步驟,在設(shè)備初始化時(shí)配置數(shù)據(jù)庫雙向同步,shell腳本下可設(shè)置auto_increment_offset偏移量和auto_increment_increment自增量防止自增主鍵在同步過程中產(chǎn)生沖突;
[0037]例如,自增主鍵設(shè)置為:
[0038]auto_increment_offset=l, auto_increment_increment=2 ;
[0039]數(shù)據(jù)同步設(shè)置為:
[0040]auto_increment_off set=2, auto_increment_increment=2 ;
[0041]則可防止自增主鍵在同步過程中產(chǎn)生沖突。
[0042]接下來通過一具體實(shí)施例詳細(xì)闡述本發(fā)明,如圖3所示,示出了其中一種實(shí)現(xiàn)本發(fā)明的邏輯框圖。
[0043]步驟1:配置數(shù)據(jù)庫雙向同步。需要配置設(shè)置auto_increment_offset偏移量和auto_increment_increment自增量防止自增主鍵在同步過程中產(chǎn)生沖突,并配置sync_binlog限定每次同步進(jìn)磁盤的語句條數(shù),同時(shí)配置每天3點(diǎn)鐘時(shí)對數(shù)據(jù)庫進(jìn)行備份。
[0044]步驟2:循環(huán)檢測,判斷A機(jī)是否重啟,如果A機(jī)重啟了,去到步驟3 ;否則去到步驟7。
[0045]步驟3:如果檢測到A機(jī)重啟過,則以B機(jī)的數(shù)據(jù)庫數(shù)據(jù)為準(zhǔn)。
[0046]步驟4:判斷B機(jī)是否也是開機(jī)重啟過,如果是,去到步驟5 ;否則去到步驟6。
[0047]步驟5:如果A,B兩機(jī)同時(shí)重啟或者被整機(jī)斷電過,此時(shí)無法預(yù)知那邊數(shù)據(jù)是正確的,本發(fā)明采用恢復(fù)成每天早上3點(diǎn)鐘備份的那份數(shù)據(jù)庫。當(dāng)然,這里有不同的解決方法,為了更準(zhǔn)確,也可以每小時(shí)做一次數(shù)據(jù)庫備份,兩機(jī)同時(shí)宕機(jī)時(shí),以前一次備份的數(shù)據(jù)庫為準(zhǔn)進(jìn)行恢復(fù),去到步驟10。
[0048]步驟6:A宕機(jī),B正常工作,此時(shí)以B機(jī)數(shù)據(jù)庫數(shù)據(jù)為準(zhǔn)進(jìn)行恢復(fù),去到步驟10。
[0049]步驟7:如果A機(jī)未重啟,則數(shù)據(jù)庫數(shù)據(jù)以A機(jī)的為準(zhǔn),去到步驟8。
[0050]步驟8:檢測B機(jī)是否重啟過,如果B機(jī)重啟了,則去到步驟9 ;否則,去到步驟10。
[0051]步驟9:以A機(jī)數(shù)據(jù)庫數(shù)據(jù)為準(zhǔn)進(jìn)行數(shù)據(jù)庫恢復(fù),去到步驟10。
[0052]步驟10:循環(huán)檢測A,B兩機(jī)同步狀態(tài),一般來說,異常只出現(xiàn)在宕機(jī)的時(shí)候,正常情況下A,B兩機(jī)應(yīng)該是同步狀態(tài)的。[0053]在異常掉電的情況下,Mysql有較小幾率出現(xiàn)無法提供正常服務(wù)的情況。本發(fā)明對于這種情況的處理方式為:在開機(jī)的時(shí)候檢測Mysql的服務(wù)狀態(tài),如果服務(wù)狀態(tài)異常,則需要重新安裝數(shù)據(jù)庫,并以數(shù)據(jù)庫服務(wù)正常的那邊數(shù)據(jù)庫為準(zhǔn)進(jìn)行恢復(fù),如果兩邊數(shù)據(jù)庫服務(wù)都不正常,則回退到3點(diǎn)鐘的數(shù)據(jù)庫數(shù)據(jù),并進(jìn)行同步配置。
[0054]如圖4所示,是本發(fā)明一種主備板的數(shù)據(jù)庫雙向同步系統(tǒng)的結(jié)構(gòu)示意圖,包括:
[0055]備份模塊41,用于根據(jù)預(yù)設(shè)的時(shí)間周期分別對主備板的數(shù)據(jù)庫進(jìn)行備份,得到對應(yīng)的備份數(shù)據(jù);
[0056]在本步驟中,可根據(jù)主備板的工作狀態(tài),設(shè)定在網(wǎng)關(guān)較為空閑的時(shí)候分別對主備板的數(shù)據(jù)庫進(jìn)行備份;或者也可設(shè)定更為頻繁的備份方式,如每小時(shí)進(jìn)行一次數(shù)據(jù)庫備份;如果板卡同時(shí)重啟并且重啟后數(shù)據(jù)庫服務(wù)都不正常,則通過備份的數(shù)據(jù)進(jìn)行恢復(fù);主備板備份的數(shù)據(jù)分別存儲(chǔ)在各自對應(yīng)的數(shù)據(jù)庫中。
[0057]檢測模塊42,用于檢測主備板的運(yùn)行狀態(tài);
[0058]恢復(fù)模塊43,用于若主備板都重啟過,則主備板的數(shù)據(jù)庫分別通過其備份數(shù)據(jù)進(jìn)行數(shù)據(jù)恢復(fù);
[0059]板卡系統(tǒng)若重啟或者掉電,數(shù)據(jù)庫雙向同步就會(huì)產(chǎn)生不可預(yù)知的異常,這部分異常產(chǎn)生的主要原因源于對數(shù)據(jù)庫的操作日志沒辦法即時(shí)寫入磁盤和網(wǎng)絡(luò)傳輸過程中的丟失。另外在異常宕機(jī)時(shí),甚至可能產(chǎn)生數(shù)據(jù)庫崩潰的嚴(yán)重情況,而網(wǎng)關(guān)HA切換過程,就經(jīng)常涉及到掉電重啟等情況;
[0060]在本實(shí)施例中,循環(huán)檢測主備板的運(yùn)行狀態(tài),當(dāng)主板與備板都重啟過時(shí),由于兩板同時(shí)重啟或者被整機(jī)斷電過,無法預(yù)知哪一個(gè)板卡的數(shù)據(jù)是正確的,因此兩機(jī)同時(shí)宕機(jī)時(shí),以備份的數(shù)據(jù)分別對數(shù)據(jù)庫進(jìn)行數(shù)據(jù)恢復(fù),保證主備板數(shù)據(jù)同步。
[0061]在一較佳實(shí)施例中,還可包括:
[0062]主板恢復(fù)模塊,用于若主板重啟過,備板未重啟,則以備板的數(shù)據(jù)庫對主板的數(shù)據(jù)庫進(jìn)行恢復(fù);
[0063]備板恢復(fù)模塊,用于若主板未重啟,備板重啟過,并且備板的數(shù)據(jù)庫與主板的數(shù)據(jù)庫不同步,則以主板的數(shù)據(jù)庫對備板的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)恢復(fù);
[0064]在本實(shí)施例中,主板重啟過,則主板數(shù)據(jù)庫的數(shù)據(jù)可能發(fā)生異常,需恢復(fù)主板數(shù)據(jù)庫的數(shù)據(jù);由于備板未重啟過,其數(shù)據(jù)庫運(yùn)行正常,以備板當(dāng)前數(shù)據(jù)庫的數(shù)據(jù)對主板的數(shù)據(jù)庫進(jìn)行恢復(fù);
[0065]備板重啟,則檢測雙機(jī)數(shù)據(jù)庫的同步狀態(tài),若備板數(shù)據(jù)庫與主板數(shù)據(jù)庫的數(shù)據(jù)不同步,則以主板的數(shù)據(jù)庫對備板的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)恢復(fù);若同步,則不進(jìn)行備板數(shù)據(jù)庫恢復(fù)操作。
[0066]在一較佳實(shí)施例中,可在根據(jù)預(yù)設(shè)的時(shí)間周期對數(shù)據(jù)庫進(jìn)行備份時(shí),將當(dāng)前備份的數(shù)據(jù)覆蓋上一次備份的數(shù)據(jù),在減少占用資源的同時(shí)保證當(dāng)前的備份數(shù)據(jù)為最新的數(shù)據(jù)。
[0067]在一較佳實(shí)施例中,可在通過備份數(shù)據(jù)對數(shù)據(jù)庫進(jìn)行數(shù)據(jù)庫恢復(fù)時(shí),將備份數(shù)據(jù)逐條寫入數(shù)據(jù)庫,防止設(shè)備宕機(jī)時(shí)丟失過多數(shù)據(jù),例如可通過shell腳本進(jìn)行配置,配置sync_binlog限定每次同步進(jìn)磁盤的語句條數(shù)。
[0068]在一較佳實(shí)施例中,還可包括設(shè)置模塊,用于根據(jù)預(yù)設(shè)值在主備板初始化時(shí)分別對數(shù)據(jù)庫的主鍵自增起始值和偏移量進(jìn)行設(shè)置,在設(shè)備初始化時(shí)配置數(shù)據(jù)庫雙向同步,shell 腳本下可設(shè)置auto_increment_offset 偏移量和 auto_increment_increment 自增量防止自增主鍵在同步過程中產(chǎn)生沖突。
[0069]本發(fā)明主備板的數(shù)據(jù)庫雙向同步方法和系統(tǒng),根據(jù)主備板的工作狀態(tài),設(shè)定在網(wǎng)關(guān)較為空閑的時(shí)候分別對主備板的數(shù)據(jù)庫進(jìn)行備份,如果板卡同時(shí)重啟并且重啟后數(shù)據(jù)庫服務(wù)都不正常,則通過備份的數(shù)據(jù)進(jìn)行恢復(fù),保證在主備板同時(shí)運(yùn)行異常時(shí)仍能保持?jǐn)?shù)據(jù)同步;若是其中一板重啟,則根據(jù)兩板重啟后的數(shù)據(jù)庫狀態(tài)確定數(shù)據(jù)恢復(fù)操作;本發(fā)明實(shí)現(xiàn)過程簡單,能良好的保證數(shù)據(jù)庫同步狀態(tài)正確,解決了主備板運(yùn)行異常時(shí)的數(shù)據(jù)同步難題。
[0070]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種主備板的數(shù)據(jù)庫雙向同步方法,其特征在于,包括如下步驟: 根據(jù)預(yù)設(shè)的時(shí)間周期分別對主備板的數(shù)據(jù)庫進(jìn)行備份,得到對應(yīng)的備份數(shù)據(jù); 檢測主備板的運(yùn)行狀態(tài); 若主備板都重啟過,則主備板的數(shù)據(jù)庫分別通過其備份數(shù)據(jù)進(jìn)行數(shù)據(jù)恢復(fù)。
2.根據(jù)權(quán)利要求1所述的主備板的數(shù)據(jù)庫雙向同步方法,其特征在于,還包括步驟: 若主板重啟過,備板未重啟,則以備板的數(shù)據(jù)庫對主板的數(shù)據(jù)庫進(jìn)行恢復(fù); 若主板未重啟,備板重啟過,并且備板的數(shù)據(jù)庫與主板的數(shù)據(jù)庫不同步,則以主板的數(shù)據(jù)庫對備板的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)恢復(fù)。
3.根據(jù)權(quán)利要求1所述的主備板的數(shù)據(jù)庫雙向同步方法,其特征在于,在根據(jù)預(yù)設(shè)的時(shí)間周期對數(shù)據(jù)庫進(jìn)行備份時(shí),將當(dāng)前備份的數(shù)據(jù)覆蓋上一次備份的數(shù)據(jù)。
4.根據(jù)權(quán)利要求1或2所述的主備板的數(shù)據(jù)庫雙向同步方法,其特征在于,在通過備份數(shù)據(jù)對數(shù)據(jù)庫進(jìn)行數(shù)據(jù)庫恢復(fù)時(shí),將備份數(shù)據(jù)逐條寫入數(shù)據(jù)庫。
5.根據(jù)權(quán)利要求1所述的主備板的數(shù)據(jù)庫雙向同步方法,其特征在于,還包括根據(jù)預(yù)設(shè)值在主備板初始化時(shí)分別對其數(shù)據(jù)庫進(jìn)行主鍵自增起始值和偏移量設(shè)置的步驟。
6.一種主備板的數(shù)據(jù)庫雙向同步系統(tǒng),其特征在于,包括: 備份模塊,用于根據(jù)預(yù)設(shè)的時(shí)間周期分別對主備板的數(shù)據(jù)庫進(jìn)行備份,得到對應(yīng)的備份數(shù)據(jù); 檢測模塊,用于檢測主備板的運(yùn)行狀態(tài); 恢復(fù)模塊,用于若主備板都重啟過,則主備板的數(shù)據(jù)庫分別通過其備份數(shù)據(jù)進(jìn)行數(shù)據(jù)恢復(fù)。
7.根據(jù)權(quán)利要求6所述的主備板的數(shù)據(jù)庫雙向同步系統(tǒng),其特征在于,還包括: 主板恢復(fù)模塊,用于若主板重啟過,備板未重啟,則以備板的數(shù)據(jù)庫對主板的數(shù)據(jù)庫進(jìn)行恢復(fù); 備板恢復(fù)模塊,用于若主板未重啟,備板重啟過,并且備板的數(shù)據(jù)庫與主板的數(shù)據(jù)庫不同步,則以主板的數(shù)據(jù)庫對備板的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)恢復(fù)。
8.根據(jù)權(quán)利要求6所述的主備板的數(shù)據(jù)庫雙向同步系統(tǒng),其特征在于,在根據(jù)預(yù)設(shè)的時(shí)間周期對數(shù)據(jù)庫進(jìn)行備份時(shí),將當(dāng)前備份的數(shù)據(jù)覆蓋上一次備份的數(shù)據(jù)。
9.根據(jù)權(quán)利要求6或7所述的主備板的數(shù)據(jù)庫雙向同步系統(tǒng),其特征在于,在通過備份數(shù)據(jù)對數(shù)據(jù)庫進(jìn)行數(shù)據(jù)庫恢復(fù)時(shí),將備份數(shù)據(jù)逐條寫入數(shù)據(jù)庫。
10.根據(jù)權(quán)利要求6所述的主備板的數(shù)據(jù)庫雙向同步系統(tǒng),其特征在于,還包括設(shè)置模塊,用于根據(jù)預(yù)設(shè)值在主備板初始化時(shí)分別對數(shù)據(jù)庫的主鍵自增起始值和偏移量進(jìn)行設(shè)置。
【文檔編號】G06F17/30GK103488721SQ201310416525
【公開日】2014年1月1日 申請日期:2013年9月12日 優(yōu)先權(quán)日:2013年9月12日
【發(fā)明者】吳志鵬, 李高朋, 劉志勇, 鄧梅娟, 姚舜, 譚廷柱, 徐胤 申請人:京信通信系統(tǒng)(中國)有限公司