專利名稱:一種數據同步方法
技術領域:
本發明涉及數據通信領域中的數據發送和接收,特別是一種讓數據發送方或接收方的數據保持同步的方法,尤其涉及碼分多址CDMA系統中利用主備方式保護數據完整性和一致性的問題。
背景技術:
在碼分多址CDMA系統中,經常要涉及到數據的同步問題,例如,為了提高系統的穩定性,各種重要的單板一般都采用主備方式的工作模式,數據保存在主備板上,這樣當主板由于各種原因而出現異常時,我們可以迅速用備板代替主板工作,而防止系統出現混亂甚至崩潰。但也正由于采用了這種工作模式,我們不得不考慮另一個問題數據如何正確、完整的在主備板上同步。
目前,數據同步被廣泛運用于各個方面。例如,在服務器和單板之間以及主備板之間就有數據同步的問題,我們一般把它們稱為前后臺(服務器端到單板)數據同步和主備數據同步。現在,數據同步的方法很多,但一般都存在下面幾個問題1,前后臺或主備板之間的數據同步慢;這樣當單板在啟動過程或手工進行數據同步時,花費的時間很長,影響了數據同步效率。
2,前后臺或主備板之間的數據能夠正常傳輸,但接收方數據不完整;這是由很多原因引起的,可能是由于發送方組織數據錯誤引起的,也可能是由于接收方處理數據引起的;當出現數據的不完整后,如果不能進行正確處理,就可能引起系統運行異常。
3,前后臺或主備板之間的數據經常不一致;發送方和接收方數據的不一致性,容易導致系統出現故障。
發明內容
本發明的目的是為了解決在碼分多址CDMA系統中,前后臺或主備板之間的數據同步慢,數據的不一致及數據的不完整性問題。
為了達到上述目的,本發明的技術解決方案所提供的一種數據同步方法,是基于碼分多址CDMA系統中,讓數據發送方或接收方的數據保持同步的方法,其主要處理包括如下步驟第一步、數據發送方得到接收方現在的各種運行控制參數,例如當前數據庫的版本號、版本參考號等;第二步、數據發送方根據數據接收方的反饋和自己的數據更改情況決定要同步的方式;第三步、發送方和接收方進行數據的相互傳輸;第四步、發送方和接收方數據傳輸結束后,接收方進行數據的加載;第五步、發送方和接收方數據同步結束后,發送方和接收方進行各種運行控制參數的設置。
所述的數據同步方法,其所述的第一步還包括(1)發送方收到接收方發來的開始進行主備數據同步的消息;(2)發送方通知主板數據傳輸過程將要開始;(3)接收方確認,向發送方發送反饋消息。
所述的數據同步方法,其所述的第二步還包括發送方根據數據接收方的反饋和自己的數據更改情況決定要同步的數據和數據量。
所述的數據同步方法,其所述的第四步還包括當接收方從內存緩沖區讀取數據到內存后,傳輸過程成功完成,接收方向發送方發送完成信息。
本發明的思路主要是考慮到發送方和接收方的數據同步容易發生各種異常,所以在整個數據的同步過程中,采用了多種方法來進行異常處理,同時,還充分考慮了同步的效率及對系統性能的影響。本發明的創新點有如下幾個方面1、數據發送方和接收方利用各種參數來決定同步的數據。
例如,當進行主備之間的數據同步時,并不是簡單的把主板的數據傳輸到備板就可以的事情。在決定主備數據同步前,主板要進行各種運行控制參數的比較(例如主備板要比較各自當前數據庫的版本號、版本參考號等參數),并且要判斷自己的數據更改情況,從而決定哪些數據是應該進行同步的,這樣,很大程度上提高了主備之間數據同步的性能。
2、數據同步過程中保證關系表的完整性和一致性。
例如,為保證數據傳輸過程中,數據能夠正確、完整的傳輸到備板,以及保證數據加載時的完整性,備板在接受數據時,先將數據暫存在本地的內存緩沖區中,只有當本次傳輸的所有數據庫表傳輸完畢后,才將緩沖區的數據加載到內存數據庫中,并清空內存緩沖區。
同時,為保證主備之間進行同步的數據的完整性,前臺在接收后臺數據時,使前后臺數據的傳輸和主備之間數據的傳輸成為互斥,并采用多種完整性互斥保護措施來保證數據的完整性。
3、數據庫關系表的傳輸機制。
例如,在主備用的處理機之間的數據傳輸為數據庫整表的傳輸,而且是多張變動過的數據庫整表的傳輸。在前后臺的數據庫傳輸過程既有數據庫整表的傳輸,也有數據庫表變動部分的傳輸,對于數據庫整表的傳輸和數據庫表變動部分的傳輸,在將數據從內存緩沖區讀到內存中時,設計采用不同的方法當做數據庫的整表傳輸時,數據從緩沖區到內存只有記錄的插入操作,具體的做法是,先將接收方的數據庫關系表打上預刪除標記,再將緩沖區的記錄調用插入方法讀到內存中,最后將有預刪除標記的記錄刪除;當做數據庫的變動表傳輸時,直接根據傳送過來的記錄的數據更新標記做記錄的插入或刪除操作,在做記錄的插入或刪除操作時,設計算法使操作滿足關系表數據的一致性約束要求。
4、數據接收方內存緩沖區的設計。
內存緩沖區是用來完成緩存傳輸過程中數據庫文件的,由于傳輸的數據庫大小最大可以是整個數據庫文件的大小,所以緩沖區必須設置的足夠大才行。
數據庫的傳輸是多個數據庫表的傳輸,傳輸過來的數據庫表內部數據關系的一致性是由發送方來保證的,所以接收方必須在接收到的全部數據庫表接收完成之后,才能將數據讀到內存數據庫,以保證數據庫讀到內存中后,前臺數據表之間關系的一致性。這樣就要求在內存緩沖區構造一個文件系統來管理接收到的數據庫文件。
本發明所述方法,是通過對數據的發送方和接收方采用運行控制參數判斷、在接收方開辟緩沖區及采用合理的傳輸措施和各種保護措施,從而實現了數據在發送方和接收方之間安全而有效的同步。這種方法提高了數據同步的性能,又保證了數據的一致性和完整性。在采用本發明所述方法實現前后臺和主備之間數據同步后,數據同步的效率得到明顯改善,系統的穩定性也得到了更大保障。
下面結合附圖進一步說明本發明。
圖1為內存緩沖區的結構圖;圖2為本發明的主備板之間數據同步的實施方式的流程圖。
具體實施例方式
參見圖1為內存緩沖區的結構圖,由于在內存緩沖區中不需要單個文件的刪除及文件的打開及關閉操作,以及不需要文件的插入操作,而且每個數據庫文件的數據都是連續存儲的,所以文件系統的構造只需要能夠進行文件的查找、讀寫及內存緩沖區所有文件的同時刪除操作就可以滿足需要。
操作此內存緩沖區的主要過程為a.找到文件注冊表FileReg的頭地址。
b.根據文件注冊表中的信息(例如表名)找到所需要的文件記錄地址,例如這里可以根據表名A找到它所對應文件的地址。
c.由于文件注冊表中存放了數據庫表記錄的頭地址。所以可以查找表記錄了。
d.根據找到的數據庫表中的記錄,加載本地數據庫。
參見圖2所示的是本發明的一個實施方式的流程圖,這里進行的是主備板之間的數據同步,它包括以下步驟
j、主板收到后臺服務器發來的開始進行主備數據同步的消息;k、主板通知主板數據傳輸過程將要開始;l、備板確認,向主機發送反饋消息;m、主板根據備板反饋的情況和自己的數據更改情況,決定要同步的數據量及同步的方式;n、主備數據的傳輸開始進行;o、主備之間進行數據的傳輸;p、主備數據的傳輸結束,備板從內存緩沖區讀取到內存,傳輸過程成功完成,備板向主板發送完成消息;q、主板結束數據同步過程,更改運行控制參數。
r、主板向后臺服務器發送主備同步結束消息;如圖2所示,當主板收到后臺服務器發來的進行主備數據同步的消息后,它把這個消息再轉發給備板,從而得到備板的反饋。這樣,主板就可以綜合考慮主備板當前各自的情況而決定要同步的數據量。主板再給備板發同步開始消息,主備之間的同步就開始了。當主備同步結束后,備板把數據從緩沖區中取出來再加載到數據庫的表中,這個加載過程的處理可以參考上面的創新點描述。當加載結束后,備板更改自己的運行控制參數,并發結束反饋消息到主板。主板收到結束反饋消息,更改自己的運行控制參數,最后結束主備之間數據同步。
權利要求
1.一種數據同步方法,是基于碼分多址CDMA系統中,讓數據發送方或接收方的數據保持一致的方法,其特征在于,包括如下步驟第一步、數據發送方得到接收方現在的各種運行控制參數;第二步、數據發送方根據數據接收方的反饋和自己的數據更改情況決定要同步的方式;第三步、發送方和接收方進行數據的相互傳輸;第四步、發送方和接收方數據傳輸結束后,接收方進行數據的加載;第五步、發送方和接收方數據同步結束后,發送方和接收方進行各種運行控制參數的設置。
2.如權利要求1所述的數據同步方法,其特征在于,所述的第一步還包括(1)發送方收到接收方發來的開始進行主備數據同步的消息;(2)發送方通知主板數據傳輸過程將要開始;(3)接收方確認,向發送方發送反饋消息。
3.如權利要求1所述的數據同步方法,其特征在于,所述的第二步還包括發送方根據數據接收方的反饋和自己的數據更改情況決定要同步的數據和數據量。
4.如權利要求1所述的數據同步方法,其特征在于,所述的第四步還包括當接收方從內存緩沖區讀取數據到內存后,傳輸過程成功完成,接收方向發送方發送完成信息。
5.如權利要求1所述的數據同步方法,其特征在于,運行控制參數包括當前數據庫的版本號、版本參考號。
6.一種數據同步方法,包括主備板數據的同步,包括如下步驟a、主板收到后臺服務器發來的開始進行主備數據同步的消息;b、主板通知主板數據傳輸過程將要開始;c、備板確認,初始化內存緩沖區,并向主機發送反饋消息;d、主板根據備板反饋的情況和自己的數據更改情況,決定要同步的數據量及同步的方式;e、主備數據的傳輸開始進行;f、主備之間進行數據的傳輸;備板把從主板傳來的數據存入內存緩沖區。g、主備數據的傳輸結束,備板從內存緩沖區讀取到內存,傳輸過程成功完成,備板向主板發送完成消息;h、主板結束數據同步過程,更改運行控制參數。i、主板向后臺服務器發送主備同步結束消息。
全文摘要
本發明涉及數據發送和接收技術,是一種數據同步方法,解決了碼分多址CDMA系統中利用主備方式保護數據完整性和一致性的問題。本發明包括如下步驟第一步、數據發送方得到數據接收方現在的各種運行控制參數;第二步、發送方根據接收方的反饋和自己的數據更改情況決定要同步的數據和數據量;第三步、發送方和接收方進行數據的相互傳輸;第四步、發送方和接收方數據傳輸結束后,接收方進行數據的加載;第五步、發送方和接收方數據同步結束后,發送方和接收方進行各種運行控制參數的設置。該方法提高了數據同步的性能,又保證了數據的一致性和完整性。
文檔編號H04L7/02GK1536802SQ0311312
公開日2004年10月13日 申請日期2003年4月3日 優先權日2003年4月3日
發明者龔凡, 鄭霖, 龔 凡 申請人:中興通訊股份有限公司