當前位置:
首頁 > 最新 > 基於交換中心的分散式系統數據同步技術

基於交換中心的分散式系統數據同步技術

摘要:分散式資料庫系統由於具有高效性、數據共享等優點被廣泛應用。目前,分散式資料庫間的數據同步已成為一個熱門研究方向。因此,提出了一種基於交換中心的分散式資料庫系統同步方案。方案中,各資料庫站點只需要直接與交換中心進行數據交換,可有效避免各資料庫站點之間相互維護的麻煩;可靈活配置同步模式和數據下發方式,並有利於以後系統的擴充或刪減;系統採用JAVA相關技術進行開發,具有很好的跨平台適應能力;傳輸過程採用符合一定格式的XML文本進行傳輸,很好地解決了異構資料庫系統間的不兼容性;傳輸數據按照安全協議數據格式封裝,有效保證了數據的安全性、完整性和抗抵賴性。

正文內容:

0 引 言

當前,分散式資料庫系統已被廣泛應用。分散式資料庫系統是指數據在物理上分散而在邏輯上集中的資料庫系統[1-3]。分散式資料庫系統通過適當的數據冗餘,增加了系統的效率和可靠性[4];通過提供局部的數據自治和全局的數據共享,使系統具有快速的數據處理能力。分散式資料庫還有一個重要特點,即在用戶看來,整個資料庫仍然是一個集中的資料庫。用戶不關心數據物理位置分布的細節,也不必關心數據副本是否一致,分布的實現完全由系統來完成。而要實現上述特點,就要依賴數據同步技術。

數據同步技術[5]通過使在分散式資料庫中的資料庫站點之間的數據更新的同步,達到使數據分布存放的目的,從而實現資料庫的分散式處理應用。這種處理方式允許應用程序透明地存取分布存放的數據,使用戶感覺好像這些數據就存放在本地的資料庫伺服器上。

傳統的資料庫同步技術主要是由各大主流資料庫廠商提供的同步方案,如Oracle提出的透明網關技術、微軟公司的出版者/訂閱者方案、DB2提出的CCD(Consistent Change Data)表方式等。這些同步解決方案各有所長,但也有缺點,主要表現為過於依賴自身的資料庫系統,無法實現真正的異構,其次往往對自身的應用系統改動或影響較大。因此,設計一種應對於異構資料庫間的數據同步技術顯得十分必要。

1 概述

本文根據分散式資料庫的有關理論,利用XML(eXtensible Markup Language)和JAVA技術,結合實際需求,研究和設計一套分散式資料庫同步系統。此同步系統具有以下特點。

1.1 跨平台性和異構性

JAVA技術是一門跨平台的語言。利用JAVA技術開發的模塊或系統,不需要過多考慮操作系統的差異性,具有很好的跨平台適應能力。該同步系統採用JAVA技術進行開發,具有很好的跨平台性。XML作為一種中間件,降低了異構資料庫系統之間信息交換的複雜性,解決了異構資料庫系統的差異性和不兼容性。可把異構資料庫系統之間的信息交換轉變為資料庫與XML之間的映射關係,然後使用一種XML格式實現異構資料庫系統之間信息的交換。這有利於以後系統的擴充和與其他系統的信息交流。

XML[6]是由W3C(World Wide Web Consortium)制定的一種基於SGML(Standard Generalized Markup Language,標準通用標記語言)的標記語言。它提供了一種用文本格式描述數據的方法,主要目的是使用標記、屬性等選項來描述數據內容。XML可以通過DTD(Document Type Definition,文檔類型定義)和XML schema對其結構進行定義和驗證。XML技術支持DOM(Document Object Model,文檔對象模型)和SAX(Simple Application for XML,XML簡單應用程序)兩種編程介面技術,還能使用XPath語言對數據內容進行查詢。XML技術支持XSLT(eXtensible Style sheet Language Transformations,可擴展樣式表語言轉換)格式轉換。利用XSLT技術能將XML文件轉換為各種不同的格式,如格式不同的XML文件、HTML文件、文本文件、無線標記語言(WML)和SVG文件等。

1.2 靈活配置同步模式

可以按不同的應用環境選擇不同的數據同步模式:全量同步或增量同步。全量同步即所有資料庫存有最大化數據,任一資料庫數據發生變化,需要全量同步給所有其他資料庫;增量同步可以通過配置,選擇同步部分變化數據給指定資料庫。

1.3 穩定性

不會因為網路原因丟失數據,也不能因為某個站點的數據丟失導致整個系統數據的錯亂。

1.4 保證傳輸過程中的機密性

傳輸數據遵循特殊的封裝格式,並通過安全設備進行傳輸數據的機密性和完整性保護。

總之,該同步機制不僅實施簡單、配置靈活、效率高,而且具有較強的穩定性和擴展性。

2 應用設計

2.1 架構設計

本文採用基於交換中心的同步架構方式,即每個資料庫站點只需要提交待同步數據給交換中心,然後由交換中心決定數據需要推送給哪個資料庫站點。這樣每個資料庫站點的數據發生變化後,就不需要分發給所有其他資料庫站點,只需將數據推送給交換中心,然後由交換中心統一分發數據。這樣既避免了各站點間頻繁的交換數據,減少了由於資料庫同步導致的網路開銷,又減弱了各站點間的耦合性。同步架構如圖1所示。

2.2 具體實現

2.2.1 系統組成

該同步系統包含三部分:各資料庫站點同步模塊、交換中心和數據傳輸模塊。其中,資料庫站點同步模塊主要負責變化數據的採集、XML數據的封裝、XML數據的解析以及同步數據的入庫等操作;交換中心主要負責同步模式的配置、同步站點的維護、同步數據的收集與分發等;數據傳輸模塊則主要負責數據的安全傳輸等。它的組成結構,如圖2所示。

如圖2所示,同步模塊A和同步模塊B分別部署於資料庫站點A和資料庫站點B,以用於監聽對應站點的數據變化。當本站點有數據變化時,通過數據採集模塊採集變化數據,然後調用XML封裝模塊將數據封裝成一定格式的XML文件,交由數據傳輸模塊進行傳輸;交換中心接收到數據傳輸模塊傳來的數據後,通過數據收集模塊進行匯總;至此,數據上報階段完成。交換中心對數據進行匯總後,可根據同步配置信息,調用數據分發模塊,將待同步數據交予數據傳輸模塊,由數據傳輸模塊將數據下發給對應的站點。對應的接收站點接收到數據後,調用XML解析模塊解析數據,然後由入庫模塊完成數據的入庫。至此,數據下發完成。它的數據同步過程,如圖3所示。

交換中心的站點維護模塊主要完成資料庫站點的增刪和信息維護等,主要包含站點的IP信息、埠信息、在線信息等,如表1所示。

同步配置模塊主要配置同步模式、數據下發模式等。其中,同步模式主要是配置全量同步或增量同步;數據下發模式可以配置數據是實時下發或定時下發等,如表2所示。

2.2.2 同步詳細流程

本同步系統的詳細流程,如圖4所示。

2.2.3 數據變化的捕捉方式

數據信息變化的獲取是數據進行同步的基礎。它是數據同步更新的依據,也是同步操作的主體(即待同步數據)產生的源頭。這裡,本文選擇觸發器方式。在源資料庫中對同步數據信息對象建立一個觸發器,當資料庫中的同步數據發生插入、修改和刪除變化操作時,觸發器被激活,標記變化數據。然後,觸發本地同步模塊啟動,將變化數據映射成XML文件並及時傳送給交換中心。經過實驗對比,相對於日誌法、快照法等方案,該方案具有執行效率較高的優點,原理如圖5所示。

2.2.4 XML文本格式

當資料庫站點中相應表數據發生變化時,資料庫同步程序根據表映射關係生成XML文檔,並視該文檔為消息載體,將此消息發布到交換中心。生成的XML文檔的主要結構如下:

......

......

2.2.5 安全傳輸模塊

本同步系統基於交換中心,交換中心維護全部資料庫站點的IP地址等信息,各資料庫站點也清楚知道交換中心的地址。這裡,本系統的安全傳輸模塊採用JAVA的套接字進行編程,通過對方的IP與埠進行建立連接。

socket是面向客戶/伺服器模型而設計的。針對客戶和伺服器程序,提供不同的socket系統調用。客戶隨機申請一個socket,伺服器擁有全局公認的socket,任何客戶都可以向它發出連接請求和信息請求。socket利用客戶/伺服器模式巧妙解決了進程之間建立通信連接的問題。它的偽代碼如下:

//接收端

ServerSocket ss = new ServerSocket(Port);

Socket socket = ss.accept();

//發送端

Socket s = new Socket(IP, Port);

傳輸過程中的安全傳輸數據協議格式,如圖6所示。

3 結 語

文中描述了一種基於交換中心的數據同步技術,通過交換中心的架構提供服務,並具體分析了該同步技術的架構設計、組成部分、同步過程、數據捕捉方式以及XML的主體格式等。通過該數據同步技術,不僅能夠高效、準確地完成數據同步任務,而且能夠靈活配置同步模式,大大降低了同步過程中各站點的配置複雜性,並將異構資料庫間的數據交換簡單化。

參考文獻:

[1] 王珊.資料庫系統概論[M].北京:電子工業出版社,2001.

[2] 薩師煊,王珊.資料庫系統概論[M].第3版.北京:高等教育出版社,2000.

[3] 賈焰,王志英,韓偉紅等.分散式資料庫技術[M].北京:國防工業出版社,2001:342-349.

[4] 蒲志林.網路環境下分散式資料庫同步機制的研究[D].大連:大連海事大學,2003.

[5] 苗福友.資料庫同步技術的研究及其在ZK-MIS中的實現[D].北京:北京航天航空大學,2001.

作者:張 瑩,步曉亮,李 強,徐 輝

單位:中國電子科技集團公司第三十研究所,四川 成都 610041

作者簡介:張 瑩,男,碩士,工程師,主要研究方向為計算機應用、信息安全;

步曉亮,男,碩士,工程師,主要研究方向為信息安全;

李 強,男,學士,工程師,主要研究方向為信息網路安全;

徐 輝,男,學士,工程師,主要研究方向為信息網路安全。

本文刊登在《通信技術》2018年第2期(轉載請註明出處,否則禁止轉載)

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 通信技術編輯部 的精彩文章:

監控視頻幀間篡改檢測系統設計與性能優化研究
WSN中LEACH協議的改進與研究

TAG:通信技術編輯部 |