一種支持通用資料庫基於物理隔離設備同步數據的方法
2023-09-10 10:25:40
專利名稱:一種支持通用資料庫基於物理隔離設備同步數據的方法
技術領域:
本發明屬於電力系統電網數據管理技術領域,尤指一種支持通用資料庫基於物理隔離設備同步數據的方法。
背景技術:
智能電網調度技術支持系統網絡架構分為安全I、II、III區。為了保證數據安全,I、 II區與III區之間架有物理隔離設備。安全I、II區上部署有實時監控與預警類應用、調度計劃類應用和安全校核應用,而安全III區則部署有調度管理應用。為了對部署在安全I、II、III區上的四大類電網應用所需的電網數據進行統一的管理和維護,需要支持跨物理隔離設備同步數據。原有的方式是由上層應用來實現,在同步效率和可靠性上都較低,不能保證數據一致性,無法滿足新一代智能電網調度技術支持系統的要求。需要提供一種全新的數據同步方法,可以做到在資料庫層面的高效同步,支持多種資料庫和多種物理隔離設備,具有高可靠性和完善的異常處理機制,保證已提交的數據不會在同步過程中丟失。
發明內容
本發明所要解決的技術問題是提供一種支持通用資料庫基於物理隔離設備同步數據的方法。為解決以上問題,本發明提供一種支持通用資料庫基於物理隔離設備同步數據的方法,包括以下步驟
(1)實時監視源端資料庫的物理日誌,若發現有新的變化數據產生,則依次解析物理日誌的變化內容,生成邏輯日誌,並放入外存邏輯日誌文件中;
(2)當外存邏輯日誌文件存在新的變化數據時,從外存邏輯日誌文件讀取一條或多條邏輯日誌記錄,然後封裝成網絡報文,並通過物理隔離設備與目的資料庫建立連結,進行發送;
(3)目的資料庫實時監視源端發送的連接請求,若收到連接請求,則創建一個邏輯日誌接收線程,用於接收源端發送的數據;
(4)讀取接收到的網絡報文,重新組裝成邏輯日誌記錄,並保存到外存邏輯日誌文件
中;
(5)目的端實時監測接受到的外存邏輯日誌文件,依次讀取每條邏輯日誌記錄,寫入到目的端資料庫中,完成數據同步,若無法寫入目的端資料庫,則反覆重新嘗試寫入,直至寫入成功。本發明支持多種通用資料庫產品,支持跨多種物理隔離設備進行數據同步;數據同步方式採用觸髮式實現,當源端資料庫發生數據修改時,可以立即觸發同步流程,同步到目的資料庫中;針對物理隔離設備對帶寬的限制,支持網絡數據包的壓縮功能,提高數據同步性能;數據同步採用異步複製方式,當數據寫入源端資料庫後立即將執行結果返回給調用者,數據同步在後臺完成;數據同步支持DDL和DML語句,既可以同步INSERT、DELETE、UPDATE等數據更新語句,也可以同步CREATE、ALTER、DROP等結構更新語句;數據同步可以提供完善的異常處理機制,可以保證在網絡異常或目的資料庫異常時,在源端資料庫已提交的數據不丟失。本發明的方法具有較強的通用性,可以支持多種資料庫產品和多種物理隔離設備;具有完善的異常處理機制,可以最大程度保證源端資料庫和目的資料庫的數據一致性; 具有網絡數據包壓縮功能,可以提高數據同步的效率;異步複製方式可以最大限度降低數據同步對源端資料庫數據訪問的影響。本發明的工作原理為
實時監視源端資料庫的物理日誌,若發現有新的變化數據產生,則依次解析物理日誌的變化內容,生成外存邏輯日誌,然後從外存邏輯日誌文件讀取一條或多條邏輯日誌記錄, 封裝成網絡報文(可選擇是否壓縮),並通過物理隔離設備與目的資料庫建立連結,進行發送。發送完畢後若未收到回執報文,將關閉並嘗試重建連結,重發此網絡報文,直至發送成功。目的資料庫實時監視源端發送的連接請求,接收源端發送的數據,讀取接收到的網絡報文,重新組裝成邏輯日誌記錄,並保存到外存邏輯日誌文件中。如果保存成功,則發送回執報文到源端資料庫,若出現失敗,則關閉當前建立的連結,等待源端資料庫重連重發。目的端實時監測外存邏輯日誌文件,依次讀取每條邏輯日誌記錄,寫入到目的端資料庫中,完成數據同步,若無法寫入目的端資料庫,則反覆重新嘗試寫入,直至寫入成功。
圖1為本發明的一種支持通用資料庫基於物理隔離設備同步數據的方法流程圖。
具體實施例方式下面結合附圖對本發明作進一步說明。圖1為本發明的一種支持通用資料庫基於物理隔離設備同步數據的方法的流程圖。本發明的處理流程為
流程開始時,源端資料庫接收外部的數據更新請求,形成變化數據,寫入物理日誌中。實時監視源端資料庫的物理日誌,若發現有新的變化數據產生,則依次解析物理日誌的變化內容,生成邏輯日誌,並放入外存邏輯日誌文件中。當外存邏輯日誌文件存在新的變化數據時,從外存邏輯日誌文件讀取一條或多條 (可動態配置)邏輯日誌記錄,然後封裝成網絡報文(可選擇是否壓縮),並通過物理隔離設備與目的資料庫建立連結,進行發送。發送完畢後等待回執報文,若收到則準備進行下次發送,若未收到回執報文,將關閉並嘗試重建連結,重發此網絡報文,直至發送成功。目的資料庫實時監視源端發送的連接請求,若收到連接請求,則創建一個邏輯日誌接收線程,用於接收源端發送的數據。讀取接收到的網絡報文,重新組裝成邏輯日誌記錄,並保存到外存邏輯日誌文件中。如果上述過程成功,則發送回執報文到源端資料庫。若出現失敗,則關閉當前建立的連結,等待源端資料庫重連重發。目的端實時監測接受到的外存邏輯日誌文件,依次讀取每條邏輯日誌記錄,寫入到目的端資料庫中,完成數據同步。若無法寫入目的端資料庫,則反覆重新嘗試寫入,直至寫入成功。 本發明按照優選實施例進行了說明,應當理解,上述實施例不以任何形式限定本發明,凡採用等同替換或等效變換的形式所獲得的技術方案,均落在本發明的保護範圍之內。
權利要求
1.一種支持通用資料庫基於物理隔離設備同步數據的方法,其特徵在於包括以下步驟(1)實時監視源端資料庫的物理日誌,若發現有新的變化數據產生,則依次解析物理日誌的變化內容,生成邏輯日誌,並放入外存邏輯日誌文件中;(2)當外存邏輯日誌文件存在新的變化數據時,從外存邏輯日誌文件讀取一條或多條邏輯日誌記錄,然後封裝成網絡報文,並通過物理隔離設備與目的資料庫建立連結,進行發送;(3)目的資料庫實時監視源端發送的連接請求,若收到連接請求,則創建一個邏輯日誌接收線程,用於接收源端發送的數據;(4)讀取接收到的網絡報文,重新組裝成邏輯日誌記錄,並保存到外存邏輯日誌文件中;(5)目的端實時監測接收到的外存邏輯日誌文件,依次讀取每條邏輯日誌記錄,寫入到目的端資料庫中,完成數據同步,若無法寫入目的端資料庫,則反覆重新嘗試寫入,直至寫入成功。
2.根據權利要求1所述的一種支持通用資料庫基於物理隔離設備同步數據的方法,其特徵在於在所述步驟2)中,發送完畢後等待回執報文,若收到回執報文則準備進行下次發送,若未收到回執報文,將關閉並重建連結,重發此網絡報文,直至發送成功。
3.根據權利要求1所述的一種支持通用資料庫基於物理隔離設備同步數據的方法,其特徵在於在所述步驟3)和4)中,如果保存成功,則發送回執報文到源端資料庫,若出現失敗,則關閉當前建立的連結,等待源端資料庫重連重發。
4.根據權利要求1所述的一種支持通用資料庫基於物理隔離設備同步數據的方法,其特徵在於在所述步驟2)中,針對物理隔離設備對帶寬的限制,支持網絡數據包的壓縮功能,提高數據同步性能。
5.根據權利要求1所述的一種支持通用資料庫基於物理隔離設備同步數據的方法,其特徵在於在所述步驟2)中,數據同步採用異步複製方式,當數據寫入源端資料庫後立即將執行結果返回給調用者,數據同步在後臺完成。
6.根據權利要求1所述的一種支持通用資料庫基於物理隔離設備同步數據的方法,其特徵在於數據同步支持DDL和DML語句,既同步數據更新語句,也同步結構更新語句。
全文摘要
本發明公開了一種支持通用資料庫基於物理隔離設備同步數據的方法,包括以下步驟1)實時監視源端資料庫的物理日誌,若發現有新的變化數據產生,則依次解析物理日誌的變化內容,生成邏輯日誌,並放入外存邏輯日誌文件中;2)從外存邏輯日誌文件讀取邏輯日誌記錄,然後封裝成網絡報文,並通過物理隔離設備與目的資料庫建立連結,進行發送;3)目的資料庫若收到連接請求,則創建一個邏輯日誌接收線程,用於接收源端發送的數據;4)讀取接收到的網絡報文,並保存到外存邏輯日誌文件中;5)目的端實時監測接受到的外存邏輯日誌文件,依次讀取並寫入到目的端資料庫中。本發明的方法具有較強的通用性,可以支持多種資料庫產品和多種物理隔離設備。
文檔編號G06F17/30GK102289469SQ201110210120
公開日2011年12月21日 申請日期2011年7月26日 優先權日2011年7月26日
發明者季學純, 張鴻, 翟明玉, 陳鵬, 黃海峰 申請人:國電南瑞科技股份有限公司