国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于記錄標(biāo)記的數(shù)據(jù)庫(kù)同步方法

      文檔序號(hào):6542523閱讀:490來(lái)源:國(guó)知局
      一種基于記錄標(biāo)記的數(shù)據(jù)庫(kù)同步方法
      【專(zhuān)利摘要】一種基于記錄標(biāo)記的數(shù)據(jù)庫(kù)同步方法,可有效解決不同數(shù)據(jù)庫(kù)間的數(shù)據(jù)同步問(wèn)題,不依賴(lài)具體的數(shù)據(jù)庫(kù)產(chǎn)品,在實(shí)現(xiàn)上更靈活、可控程度高,可適用在不同的數(shù)據(jù)庫(kù)產(chǎn)品間同步數(shù)據(jù);數(shù)據(jù)庫(kù)A、數(shù)據(jù)庫(kù)B在同個(gè)業(yè)務(wù)數(shù)據(jù)表中添加相應(yīng)的同步標(biāo)記,數(shù)據(jù)庫(kù)操作模塊通過(guò)所述同步標(biāo)記同步操作數(shù)據(jù)庫(kù)A、數(shù)據(jù)庫(kù)B中的記錄數(shù)據(jù)。
      【專(zhuān)利說(shuō)明】一種基于記錄標(biāo)記的數(shù)據(jù)庫(kù)同步方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及數(shù)據(jù)庫(kù)【技術(shù)領(lǐng)域】,具體為一種基于記錄標(biāo)記的數(shù)據(jù)庫(kù)同步方法。
      【背景技術(shù)】
      [0002]數(shù)據(jù)庫(kù)存儲(chǔ)關(guān)系型數(shù)據(jù),是數(shù)據(jù)保存與利用的重要基礎(chǔ)設(shè)施,其重要數(shù)據(jù)需要多點(diǎn)保存,以降低單點(diǎn)故障造成數(shù)據(jù)丟失的風(fēng)險(xiǎn);很多企業(yè)將信息系統(tǒng)部署在多個(gè)云計(jì)算服務(wù)商提供的IT基礎(chǔ)設(shè)施之上,互為備份,降低信息系統(tǒng)停止運(yùn)行的風(fēng)險(xiǎn),這種部署,需要在異源數(shù)據(jù)庫(kù)間進(jìn)行數(shù)據(jù)同步,同一數(shù)據(jù)庫(kù)產(chǎn)品的規(guī)格、技術(shù)規(guī)范、接口等特征相同,并提供了相應(yīng)的數(shù)據(jù)同步方法和工具,數(shù)據(jù)同步的部署實(shí)施較為容易;但不同數(shù)據(jù)庫(kù)產(chǎn)品之間特性不同,尤其是云計(jì)算的發(fā)展,出現(xiàn)了很多基于云的數(shù)據(jù)庫(kù),需要普遍適用的數(shù)據(jù)同步方法,在異構(gòu)數(shù)據(jù)庫(kù)間進(jìn)行可靠的數(shù)據(jù)同步,以滿(mǎn)足信息系統(tǒng)數(shù)據(jù)熱備的需求。

      【發(fā)明內(nèi)容】

      [0003]針對(duì)上述問(wèn)題,本發(fā)明提供了一種基于記錄標(biāo)記的數(shù)據(jù)庫(kù)同步方法,可有效解決不同數(shù)據(jù)庫(kù)間的數(shù)據(jù)同步問(wèn)題,不依賴(lài)具體的數(shù)據(jù)庫(kù)產(chǎn)品,在實(shí)現(xiàn)上更靈活、可控程度高,可適用在不同的數(shù)據(jù)庫(kù)產(chǎn)品間同步數(shù)據(jù)。
      [0004]一種基于記錄標(biāo)記的數(shù)據(jù)庫(kù)同步方法,其技術(shù)方案是這樣的:其特征在于:數(shù)據(jù)庫(kù)A、數(shù)據(jù)庫(kù)B在同個(gè)業(yè)務(wù)數(shù)據(jù)表中添加相應(yīng)的同步標(biāo)記,數(shù)據(jù)庫(kù)操作模塊通過(guò)所述同步標(biāo)記同步操作數(shù)據(jù)庫(kù)A、數(shù)據(jù)庫(kù)B中的記錄數(shù)據(jù),所述數(shù)據(jù)庫(kù)A、數(shù)據(jù)庫(kù)B的數(shù)據(jù)同步方法步驟為:
      第一,所述數(shù)據(jù)庫(kù)A、B均正常運(yùn)行:
      (1)、所述數(shù)據(jù)庫(kù)操作模塊實(shí)行兩個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行態(tài)的操作模式,準(zhǔn)備好記錄數(shù)據(jù),將所述記錄的標(biāo)記作為同步標(biāo)記,將所述同步標(biāo)記置為“已同步”狀態(tài),在所述數(shù)據(jù)庫(kù)A中修改所述記錄,如果成功修改則執(zhí)行步驟(2),否則執(zhí)行步驟(3);
      (2)、在所述數(shù)據(jù)庫(kù)B中修改所述記錄,將所述數(shù)據(jù)庫(kù)B中對(duì)應(yīng)記錄的同步標(biāo)記仍置為“已同步”狀態(tài),如果成功修改則執(zhí)行所述步驟(1),否則執(zhí)行步驟(4);
      (3)、將所述記錄的同步標(biāo)記設(shè)置為“需同步”狀態(tài),在所述數(shù)據(jù)庫(kù)B中修改所述記錄和對(duì)應(yīng)的同步標(biāo)記,如果成功修改則執(zhí)行步驟(5),否則執(zhí)行步驟(6);
      (4)、設(shè)置所述數(shù)據(jù)庫(kù)A中所述記錄的同步標(biāo)記為“需同步”狀態(tài),執(zhí)行步驟(5);
      (5)、記下所述數(shù)據(jù)庫(kù)A、B的運(yùn)行狀態(tài),所述數(shù)據(jù)庫(kù)操作模塊變遷到單個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行態(tài)模式;
      (6)、所述數(shù)據(jù)庫(kù)A、B均不能進(jìn)行修改,則所述數(shù)據(jù)庫(kù)A、B都發(fā)生故障,排除所述數(shù)據(jù)庫(kù)A、B故障后,執(zhí)行所述步驟(I);
      第二,單個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行,假定所述數(shù)據(jù)庫(kù)A正常運(yùn)行,所述數(shù)據(jù)庫(kù)B故障:
      (1)、所述數(shù)據(jù)庫(kù)操作模塊實(shí)行單個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行態(tài)的操作模式;
      (2)、準(zhǔn)備好記錄數(shù)據(jù),將所述記錄的標(biāo)記作為同步標(biāo)記,將所述同步標(biāo)記置為“需同步”狀態(tài),在所述數(shù)據(jù)庫(kù)A中修改所述記錄,如果成功修改則執(zhí)行步驟(3),否則執(zhí)行步驟
      (4);
      (3)、檢查所述數(shù)據(jù)庫(kù)B是否恢復(fù)正常,如果恢復(fù)正常則執(zhí)行步驟(5),否則執(zhí)行所述步驟(I);
      (4)、所述數(shù)據(jù)庫(kù)A、B均不能進(jìn)行修改,則所述數(shù)據(jù)庫(kù)A、B都發(fā)生故障,排除所述數(shù)據(jù)庫(kù)A、B故障后,執(zhí)行步驟(5);
      (5)、所述數(shù)據(jù)庫(kù)操作模塊變遷到數(shù)據(jù)庫(kù)同步態(tài)模式;
      第三,所述數(shù)據(jù)庫(kù)同步態(tài)模式,即為假定的所述數(shù)據(jù)庫(kù)A正常運(yùn)行,所述數(shù)據(jù)庫(kù)B從故障恢復(fù)正常運(yùn)行,所述數(shù)據(jù)庫(kù)A中有最新的記錄需要同步至所述數(shù)據(jù)庫(kù)B中:
      (1)、所述數(shù)據(jù)庫(kù)操作模塊實(shí)行數(shù)據(jù)庫(kù)同步態(tài)的操作模式,則對(duì)外僅提供查詢(xún)數(shù)據(jù)服
      務(wù);
      (2)、所述數(shù)據(jù)庫(kù)A正常運(yùn)行,以所述數(shù)據(jù)庫(kù)A為基準(zhǔn),掃描所述數(shù)據(jù)庫(kù)A中的同步標(biāo)記為“需同步”狀態(tài)的記錄,并同步修改所述數(shù)據(jù)庫(kù)B對(duì)應(yīng)的記錄,將所述數(shù)據(jù)庫(kù)A、B中相應(yīng)記錄的同步標(biāo)記設(shè)置為“已同步”狀態(tài),如果成功則執(zhí)行步驟(3);否則執(zhí)行步驟(4);
      (3)、所述數(shù)據(jù)庫(kù)操作模塊躍遷至兩個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行態(tài)的操作模式;
      (4)、對(duì)非正常運(yùn)行的數(shù)據(jù)庫(kù)進(jìn)行排除故障,執(zhí)行所述步驟(2)。
      [0005]其進(jìn)一步特征在于:所述數(shù)據(jù)庫(kù)A、B的修改記錄操作是對(duì)記錄的新增、刪除、更新操作,在所述數(shù)據(jù)庫(kù)A、B均正常運(yùn)行時(shí),將所述數(shù)據(jù)庫(kù)A、B中對(duì)應(yīng)記錄的同步標(biāo)記置為“已同步”狀態(tài);
      只有一個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行時(shí)的修改記錄操作:
      (1)、為新增記錄操作時(shí),設(shè)置正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記為“需同步”狀態(tài),類(lèi)型為“新增”,并添加記錄到正常運(yùn)行的數(shù)據(jù)庫(kù)中;
      (2)、為刪除記錄操作時(shí),如果正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記為“需同步”狀態(tài),且類(lèi)型為“新增”,則所述刪除記錄操作直接刪除記錄,否則所述刪除記錄操作僅將正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記設(shè)置為“需同步”狀態(tài),類(lèi)型為“刪除”;
      (3)、為更新記錄操作時(shí),如果正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記為“需同步”狀態(tài),且類(lèi)型為“新增”,則所述更新記錄操作更新記錄后保持正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記不變,否則所述更新記錄操作更新記錄并將正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記設(shè)置為“需同步”狀態(tài),類(lèi)型為“更新”;
      所述數(shù)據(jù)庫(kù)操作模塊對(duì)所述數(shù)據(jù)庫(kù)A、B的記錄查詢(xún)操作:
      (1)、收到記錄查詢(xún)操作請(qǐng)求時(shí),判斷所述數(shù)據(jù)庫(kù)A、B是否都正常運(yùn)行并且已同步完成,如果是執(zhí)行步驟(2),否則執(zhí)行步驟(3);
      (2)、同步標(biāo)記的過(guò)濾條件設(shè)置為“已同步”狀態(tài),任選一個(gè)數(shù)據(jù)庫(kù),查詢(xún)記錄;
      (3)、所述數(shù)據(jù)庫(kù)A、B是否在同步中,如果是,執(zhí)行步驟(5);否則執(zhí)行步驟(4);
      (4)、是否有一個(gè)數(shù)據(jù)庫(kù)可以正常運(yùn)行,如果是,執(zhí)行步驟(5);否則執(zhí)行步驟(6);
      (5)、假定所述數(shù)據(jù)庫(kù)A是正常運(yùn)行的同步參考數(shù)據(jù)庫(kù),要?jiǎng)h除的記錄無(wú)需再查詢(xún),故將查詢(xún)過(guò)濾條件設(shè)置為:不查詢(xún)同步標(biāo)記為“需同步”且類(lèi)型為“刪除”的記錄,從所述數(shù)據(jù)庫(kù)A中查詢(xún)記錄;
      (6)、所述數(shù)據(jù)庫(kù)A、B都故障,返回查詢(xún)失敗。[0006]本發(fā)明的有益效果是,其將同步標(biāo)記與記錄進(jìn)行綁定,由數(shù)據(jù)庫(kù)操作模塊在記錄層面控制不同數(shù)據(jù)庫(kù)的同步操作,數(shù)據(jù)庫(kù)的同步操作處理不影響數(shù)據(jù)庫(kù)系統(tǒng)自身的管理和運(yùn)行,非常適合基于不同云計(jì)算數(shù)據(jù)庫(kù)平臺(tái)的數(shù)據(jù)同步應(yīng)用開(kāi)發(fā)。
      【專(zhuān)利附圖】

      【附圖說(shuō)明】
      [0007]圖1是數(shù)據(jù)庫(kù)操作模塊同時(shí)操作數(shù)據(jù)庫(kù)A、B的架構(gòu)示意圖;
      圖2是數(shù)據(jù)庫(kù)A、B均正常運(yùn)行時(shí)的操作流程及狀態(tài)變遷示意圖;
      圖3是單個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行時(shí)的操作流程及狀態(tài)變遷示意圖;
      圖4是數(shù)據(jù)庫(kù)同步態(tài)模式的操作流程及狀態(tài)變遷示意圖;
      圖5是只有一個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行時(shí)的修改記錄操作流程示意圖;
      圖6是記錄查詢(xún)數(shù)據(jù)庫(kù)的操作流程示意圖。
      【具體實(shí)施方式】
      [0008]如圖1所示,本發(fā)明的一種基于記錄標(biāo)記的數(shù)據(jù)庫(kù)同步方法,數(shù)據(jù)庫(kù)A、數(shù)據(jù)庫(kù)B在同個(gè)業(yè)務(wù)數(shù)據(jù)表中添加相應(yīng)的同步標(biāo)記,同步標(biāo)記為用來(lái)標(biāo)記每行記錄做過(guò)的添加、更新和刪除操作,數(shù)據(jù)庫(kù)操作模塊在修改業(yè)務(wù)數(shù)據(jù)表中內(nèi)容時(shí),對(duì)同步標(biāo)記進(jìn)行設(shè)置,當(dāng)數(shù)據(jù)庫(kù)A、數(shù)據(jù)庫(kù)B修改失敗時(shí),數(shù)據(jù)庫(kù)操作模塊通過(guò)同步標(biāo)記同步操作數(shù)據(jù)庫(kù)A、數(shù)據(jù)庫(kù)B中的記錄數(shù)據(jù),數(shù)據(jù)庫(kù)A、數(shù)據(jù)庫(kù)B的數(shù)據(jù)同步方法步驟為:
      第一,如圖2所示,數(shù)據(jù)庫(kù)A、B均正常運(yùn)行,直接對(duì)數(shù)據(jù)庫(kù)A、B進(jìn)行操作,并在相應(yīng)數(shù)據(jù)記錄的標(biāo)記字段置正常標(biāo)記:
      (I )、數(shù)據(jù)庫(kù)操作模塊實(shí)行兩個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行態(tài)的操作模式,準(zhǔn)備好記錄數(shù)據(jù),將記錄的標(biāo)記作為同步標(biāo)記,將同步標(biāo)記置為“已同步”狀態(tài),在數(shù)據(jù)庫(kù)A中修改記錄,如果成功修改則執(zhí)行步驟(2),否則執(zhí)行步驟(3);
      (2)、在數(shù)據(jù)庫(kù)B中修改記錄,將數(shù)據(jù)庫(kù)B中對(duì)應(yīng)記錄的同步標(biāo)記仍置為“已同步”狀態(tài),如果成功修改則執(zhí)行步驟(1),否則執(zhí)行步驟(4);
      (3)、將記錄的同步標(biāo)記設(shè)置為“需同步”狀態(tài),在數(shù)據(jù)庫(kù)B中修改記錄和對(duì)應(yīng)的同步標(biāo)記,如果成功修改則執(zhí)行步驟(5),否則執(zhí)行步驟(6);
      (4)、設(shè)置數(shù)據(jù)庫(kù)A中記錄的同步標(biāo)記為“需同步”狀態(tài),執(zhí)行步驟(5);
      (5)、記下數(shù)據(jù)庫(kù)A、B的運(yùn)行狀態(tài),數(shù)據(jù)庫(kù)操作模塊變遷到單個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行態(tài)模
      式;
      (6)、數(shù)據(jù)庫(kù)A、B均不能進(jìn)行修改,則數(shù)據(jù)庫(kù)A、B都發(fā)生故障,排除數(shù)據(jù)庫(kù)A、B故障后,執(zhí)行步驟(I);
      第二,如圖3所示,單個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行,假定數(shù)據(jù)庫(kù)A正常運(yùn)行,數(shù)據(jù)庫(kù)B故障:
      (1)、數(shù)據(jù)庫(kù)操作模塊實(shí)行單個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行態(tài)的操作模式;
      (2)、準(zhǔn)備好記錄數(shù)據(jù),將記錄的標(biāo)記作為同步標(biāo)記,將同步標(biāo)記置為“需同步”狀態(tài),在數(shù)據(jù)庫(kù)A中修改記錄,如果成功修改則執(zhí)行步驟(3),否則執(zhí)行步驟(4);
      (3)、檢查數(shù)據(jù)庫(kù)B是否恢復(fù)正常,如果恢復(fù)正常則執(zhí)行步驟(5),否則執(zhí)行步驟(I);
      (4)、數(shù)據(jù)庫(kù)A、B均不能進(jìn)行修改,則數(shù)據(jù)庫(kù)A、B都發(fā)生故障,排除數(shù)據(jù)庫(kù)A、B故障后,執(zhí)行步驟(5); (5)、數(shù)據(jù)庫(kù)操作模塊變遷到數(shù)據(jù)庫(kù)同步態(tài)模式;
      第三,如圖4所示,數(shù)據(jù)庫(kù)同步態(tài)模式,即為假定的數(shù)據(jù)庫(kù)A正常運(yùn)行,數(shù)據(jù)庫(kù)B從故障恢復(fù)正常運(yùn)行,數(shù)據(jù)庫(kù)A中有最新的記錄需要同步至數(shù)據(jù)庫(kù)B中:
      (1)、數(shù)據(jù)庫(kù)操作模塊實(shí)行數(shù)據(jù)庫(kù)同步態(tài)的操作模式,則對(duì)外僅提供查詢(xún)數(shù)據(jù)服務(wù);
      (2)、數(shù)據(jù)庫(kù)A正常運(yùn)行,以數(shù)據(jù)庫(kù)A為基準(zhǔn),掃描數(shù)據(jù)庫(kù)A中的同步標(biāo)記為“需同步”狀態(tài)的記錄,并同步修改數(shù)據(jù)庫(kù)B對(duì)應(yīng)的記錄,將數(shù)據(jù)庫(kù)A、B中相應(yīng)記錄的同步標(biāo)記設(shè)置為“已同步”狀態(tài),如果成功則執(zhí)行步驟(3);否則執(zhí)行步驟(4);
      (3)、數(shù)據(jù)庫(kù)操作模塊躍遷至兩個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行態(tài)的操作模式;
      (4)、對(duì)非正常運(yùn)行的數(shù)據(jù)庫(kù)進(jìn)行排除故障,執(zhí)行步驟(2)。
      [0009]數(shù)據(jù)庫(kù)A、B的修改記錄操作是對(duì)記錄的新增、刪除、更新操作,在數(shù)據(jù)庫(kù)A、B均正常運(yùn)行時(shí),將數(shù)據(jù)庫(kù)A、B中對(duì)應(yīng)記錄的同步標(biāo)記置為“已同步”狀態(tài);
      如圖5所示,只有一個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行時(shí)的修改記錄操作,在該正常運(yùn)行的數(shù)據(jù)庫(kù)中修改記錄操作,并對(duì)其相應(yīng)的同步標(biāo)記進(jìn)行設(shè)置:
      (1)、為新增記錄操作時(shí),設(shè)置正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記為“需同步”狀態(tài),類(lèi)型為“新增”,并添加記錄到正常運(yùn)行的數(shù)據(jù)庫(kù)中;
      (2)、為刪除記錄操作時(shí),如果正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記為“需同步”狀態(tài),且類(lèi)型為“新增”,則刪除記錄操作直接刪除記錄,否則刪除記錄操作僅將正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記設(shè)置為“需同步”狀態(tài),類(lèi)型為“刪除”,并不實(shí)際刪除記錄;
      (3)、為更新記錄操作時(shí),如果正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記為“需同步”狀態(tài),且類(lèi)型為“新增”,則更新記錄操作更新記錄后保持正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記不變,否則更新記錄操作更新記錄并將正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記設(shè)置為“需同步”狀態(tài),類(lèi)型為“更新”;
      如圖6所示,數(shù)據(jù)庫(kù)操作模塊對(duì)數(shù)據(jù)庫(kù)A、B的記錄查詢(xún)操作:
      (1)、收到記錄查詢(xún)操作請(qǐng)求時(shí),判斷數(shù)據(jù)庫(kù)A、B是否都正常運(yùn)行并且已同步完成,如果是執(zhí)行步驟(2),否則執(zhí)行步驟(3);
      (2)、同步標(biāo)記的過(guò)濾條件設(shè)置為“已同步”狀態(tài),任選一個(gè)數(shù)據(jù)庫(kù),查詢(xún)記錄;
      (3)、數(shù)據(jù)庫(kù)A、B是否在同步中,如果是,執(zhí)行步驟(5);否則執(zhí)行步驟(4);
      (4)、是否有一個(gè)數(shù)據(jù)庫(kù)可以正常運(yùn)行,如果是,執(zhí)行步驟(5);否則執(zhí)行步驟(6);
      (5)、假定數(shù)據(jù)庫(kù)A是正常運(yùn)行的同步參考數(shù)據(jù)庫(kù),要?jiǎng)h除的記錄無(wú)需再查詢(xún),故將查詢(xún)過(guò)濾條件設(shè)置為:不查詢(xún)同步標(biāo)記為“需同步”且類(lèi)型為“刪除”的記錄,從數(shù)據(jù)庫(kù)A中查詢(xún)記錄;
      (6)、數(shù)據(jù)庫(kù)A、B都故障,返回查詢(xún)失敗。
      【權(quán)利要求】
      1.一種基于記錄標(biāo)記的數(shù)據(jù)庫(kù)同步方法,其特征在于:數(shù)據(jù)庫(kù)A、數(shù)據(jù)庫(kù)B在同個(gè)業(yè)務(wù)數(shù)據(jù)表中添加相應(yīng)的同步標(biāo)記,數(shù)據(jù)庫(kù)操作模塊通過(guò)所述同步標(biāo)記同步操作數(shù)據(jù)庫(kù)A、數(shù)據(jù)庫(kù)B中的記錄數(shù)據(jù),所述數(shù)據(jù)庫(kù)A、數(shù)據(jù)庫(kù)B的數(shù)據(jù)同步方法步驟為: 第一,所述數(shù)據(jù)庫(kù)A、B均正常運(yùn)行: (1)、所述數(shù)據(jù)庫(kù)操作模塊實(shí)行兩個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行態(tài)的操作模式,準(zhǔn)備好記錄數(shù)據(jù),將所述記錄的標(biāo)記作為同步標(biāo)記,將所述同步標(biāo)記置為“已同步”狀態(tài),在所述數(shù)據(jù)庫(kù)A中修改所述記錄,如果成功修改則執(zhí)行步驟(2),否則執(zhí)行步驟(3); (2)、在所述數(shù)據(jù)庫(kù)B中修改所述記錄,將所述數(shù)據(jù)庫(kù)B中對(duì)應(yīng)記錄的同步標(biāo)記仍置為“已同步”狀態(tài),如果成功修改則執(zhí)行所述步驟(1),否則執(zhí)行步驟(4); (3)、將所述記錄的同步標(biāo)記設(shè)置為“需同步”狀態(tài),在所述數(shù)據(jù)庫(kù)B中修改所述記錄和對(duì)應(yīng)的同步標(biāo)記,如果成功修改則執(zhí)行步驟(5),否則執(zhí)行步驟(6); (4)、設(shè)置所述數(shù)據(jù)庫(kù)A中所述記錄的同步標(biāo)記為“需同步”狀態(tài),執(zhí)行步驟(5); (5)、記下所述數(shù)據(jù)庫(kù)A、B的運(yùn)行狀態(tài),所述數(shù)據(jù)庫(kù)操作模塊變遷到單個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行態(tài)模式; (6)、所述數(shù)據(jù)庫(kù)A、B均不能進(jìn)行修改,則所述數(shù)據(jù)庫(kù)A、B都發(fā)生故障,排除所述數(shù)據(jù)庫(kù)A、B故障后,執(zhí)行所述步驟(1); 第二,單個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行,假定所述數(shù)據(jù)庫(kù)A正常運(yùn)行,所述數(shù)據(jù)庫(kù)B故障: (1)、所述數(shù)據(jù)庫(kù)操作模塊實(shí)行單個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行態(tài)的操作模式; (2)、準(zhǔn)備好記錄數(shù)據(jù),將所述記錄的標(biāo)記作為同步標(biāo)記,將所述同步標(biāo)記置為“需同步”狀態(tài),在所述數(shù)據(jù)庫(kù)A中修改所述記錄,如果成功修改則執(zhí)行步驟(3),否則執(zhí)行步驟(4); (3)、檢查所述數(shù)據(jù)庫(kù)B是否恢復(fù)正常,如果恢復(fù)正常則執(zhí)行步驟(5),否則執(zhí)行所述步驟(I); (4)、所述數(shù)據(jù)庫(kù)A、B均不能進(jìn)行修改,則所述數(shù)據(jù)庫(kù)A、B都發(fā)生故障,排除所述數(shù)據(jù)庫(kù)A、B故障后,執(zhí)行步驟(5); (5)、所述數(shù)據(jù)庫(kù)操作模塊變遷到數(shù)據(jù)庫(kù)同步態(tài)模式; 第三,所述數(shù)據(jù)庫(kù)同步態(tài)模式,即為假定的所述數(shù)據(jù)庫(kù)A正常運(yùn)行,所述數(shù)據(jù)庫(kù)B從故障恢復(fù)正常運(yùn)行,所述數(shù)據(jù)庫(kù)A中有最新的記錄需要同步至所述數(shù)據(jù)庫(kù)B中: (1)、所述數(shù)據(jù)庫(kù)操作模塊實(shí)行數(shù)據(jù)庫(kù)同步態(tài)的操作模式,則對(duì)外僅提供查詢(xún)數(shù)據(jù)服務(wù); (2)、所述數(shù)據(jù)庫(kù)A正常運(yùn)行,以所述數(shù)據(jù)庫(kù)A為基準(zhǔn),掃描所述數(shù)據(jù)庫(kù)A中的同步標(biāo)記為“需同步”狀態(tài)的記錄,并同步修改所述數(shù)據(jù)庫(kù)B對(duì)應(yīng)的記錄,將所述數(shù)據(jù)庫(kù)A、B中相應(yīng)記錄的同步標(biāo)記設(shè)置為“已同步”狀態(tài),如果成功則執(zhí)行步驟(3);否則執(zhí)行步驟(4); (3)、所述數(shù)據(jù)庫(kù)操作模塊躍遷至兩個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行態(tài)的操作模式; (4)、對(duì)非正常運(yùn)行的 數(shù)據(jù)庫(kù)進(jìn)行排除故障,執(zhí)行所述步驟(2)。
      2.根據(jù)權(quán)利要求1所述的一種基于記錄標(biāo)記的數(shù)據(jù)庫(kù)同步方法,其特征在于:所述數(shù)據(jù)庫(kù)A、B的修改記錄操作是對(duì)記錄的新增、刪除、更新操作,在所述數(shù)據(jù)庫(kù)A、B均正常運(yùn)行時(shí),將所述數(shù)據(jù)庫(kù)A、B中對(duì)應(yīng)記錄的同步標(biāo)記置為“已同步”狀態(tài); 只有一個(gè)數(shù)據(jù)庫(kù)正常運(yùn)行時(shí)的修改記錄操作:(1)、為新增記錄操作時(shí),設(shè)置正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記為“需同步”狀態(tài),類(lèi)型為“新增”,并添加記錄到正常運(yùn)行的數(shù)據(jù)庫(kù)中; (2)、為刪除記錄操作時(shí),如果正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記為“需同步”狀態(tài),且類(lèi)型為“新增”,則所述刪除記錄操作直接刪除記錄,否則所述刪除記錄操作僅將正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記設(shè)置為“需同步”狀態(tài),類(lèi)型為“刪除”; (3)、為更新記錄操作時(shí),如果正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記為“需同步”狀態(tài),且類(lèi)型為“新增”,則所述更新記錄操作更新記錄后保持正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記不變,否則所述更新記錄操作更新記錄并將正常運(yùn)行的數(shù)據(jù)庫(kù)的同步標(biāo)記設(shè)置為“需同步”狀態(tài),類(lèi)型為“更新”。
      3.根據(jù)權(quán)利要求1所述的一種基于記錄標(biāo)記的數(shù)據(jù)庫(kù)同步方法,其特征在于:所述數(shù)據(jù)庫(kù)操作模塊對(duì)所述數(shù)據(jù)庫(kù)A、B的記錄查詢(xún)操作: (1)、收到記錄查詢(xún)操作請(qǐng)求時(shí),判斷所述數(shù)據(jù)庫(kù)A、B是否都正常運(yùn)行并且已同步完成,如果是執(zhí)行步驟(2),否則執(zhí)行步驟(3); (2)、同步標(biāo)記的過(guò)濾條件設(shè)置為“已同步”狀態(tài),任選一個(gè)數(shù)據(jù)庫(kù),查詢(xún)記錄; (3)、所述數(shù)據(jù)庫(kù)A、B是否在同步中,如果是,執(zhí)行步驟(5);否則執(zhí)行步驟(4); (4)、是否有一個(gè)數(shù)據(jù)庫(kù)可以正常運(yùn)行,如果是,執(zhí)行步驟(5);否則執(zhí)行步驟(6); (5)、假定所述數(shù)據(jù)庫(kù)A是正常運(yùn)行的同步參考數(shù)據(jù)庫(kù),要?jiǎng)h除的記錄無(wú)需再查詢(xún),故將查詢(xún)過(guò)濾條件設(shè)置為: 不查詢(xún)同步標(biāo)記為“需同步”且類(lèi)型為“刪除”的記錄,從所述數(shù)據(jù)庫(kù)A中查詢(xún)記錄; (6)、所述數(shù)據(jù)庫(kù)A、B都故障,返回查詢(xún)失敗。
      【文檔編號(hào)】G06F17/30GK103886091SQ201410127885
      【公開(kāi)日】2014年6月25日 申請(qǐng)日期:2014年4月1日 優(yōu)先權(quán)日:2014年4月1日
      【發(fā)明者】李立亞, 李亞洲 申請(qǐng)人:無(wú)錫科技職業(yè)學(xué)院
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1