通信系統中數據同步方法及其裝置的製作方法
2023-05-22 20:46:01 1
專利名稱:通信系統中數據同步方法及其裝置的製作方法
技術領域:
本發明涉及數據的同步技術,特別涉及在通信系統中,數據的同步技術。
背景技術:
隨著現代通信技術在人類工作和生活中扮演著日益重要的角色,人們對數據傳輸的質量提出了越來越高的要求,其中數據同步(data synchronization)是一個十分重要的指標。數據同步是指在兩個數據集合間建立一種等價關係,數據同步後,發送方數據集合中的每個數據元素與接收方數據集合中的每個數據元素相互映射,這樣雙方的數據就等價了,儘管它們並不一定等同。
具體的說,在通信領域中,數據同步即相互通信的兩個裝置,例如兩個行動裝置,或者行動裝置與PC之間,底層通信鏈路當前處於正常狀態,確保所有需要發送的數據能完整地由接收者接收的過程。
目前,通信領域中的大多數設備需要互連並進行信息交互。一些底層通信協議,如TCP/IP可以確保單次數據準確無誤的到達。然而當鏈路出現偶爾中斷繼而恢復的情況時,要確保通信雙方應用層數據保持一致,必須確立應用層數據同步協議(data synchronization protocol),即在為完成收發雙方數據集合中數據元素間的同步而明確定義的有關″握手″機制和工作流的一系列規範。其中SyncML規範是規定一個開放式數據同步的基礎。
一般情況下,可以建立應用層″握手″機制,當通信雙方發送者沒有接收到接收者發送的確認信息時,主動將數據重新發送,直到接收者確認已接收為止。
在實際應用中,上述方案存在以下問題通過上述″握手″機制,每次通信都需要接收終端向發送終端發送″確認″報告,這一方面增大了通信流量,增強對通信帶寬的需求;另一方面發送者必須接收到上一次的″確認″信息後才能發送下一次的數據,而無法異步發送,效率低下。特別在多接收者情況下,發送者處理流程複雜,並且無法利用廣播方式。
發明內容
有鑑於此,本發明的主要目的在於提供一種通信系統中數據同步方法及其裝置,使得有效控制通信流量,減小通信帶寬的負荷。並且避免由於發送者未收到確認信息延誤發送後面的數據而導致效率低下,還有助於在多接受者情況下利用廣播方式。
為實現上述目的,本發明提供了一種通信系統中數據同步方法,包含以下步驟A發送終端依次累加地為每一條待發送的數據產生一個唯一對應的序列號;B將所述待發數據及其序列號一同發送給接收終端,並保存已發送的數據及其序列號;C所述接收終端獲取所述數據對應的序列號,並產生期望序列號;D判斷所述期望序列號與所述數據對應的序列號是否一致,如果不一致,則接收終端命令發送終端從保存的已發送數據及其序列號中,取出所述期望序列號與所述數據對應的序列號之間的數據,作為待發數據重新發送,並返回步驟B。
其中,所述序列號之間為依次累加。
在所述步驟A中,所述發送終端將所述數據及其序列號封裝為一個數據包發送給所述接收終端。
在所述步驟B中,所述接收終端根據前一個接收到的數據對應的序列號產生期望序列號。
所述步驟D中,當判定所述期望序列號與所述數據對應的序列號不一致時,還包含以下步驟接收終端向發送終端發送查詢命令,所述命令中包含所述期望序列號與所述數據對應的序列號;發送終端根據所述兩個序列號,確定遺失的數據,從保存的已發送數據及其序列號中取出所述遺失的數據作為待發數據,重新發送給接收終端。
本發明還提供了一種通信系統中數據同步裝置,包含設置在發送終端內的序列號發生器,用於依次累加地為每一條待發數據產生一個唯一對應的序列號;設置在所述發送終端內的發送單元,用於將所述待發數據及其序列號發送給接收終端;設置在所述發送終端內的歷史資料庫,用於存儲已經發送給接收終端的數據及其序列號;設置在接收終端內的期望序列號發生器,用於根據接收到的數據對應的序列號,確定下一個數據的期望序列號;設置在接收終端內的比較器,用於判斷所述期望序列號與所述數據對應的序列號是否一致,並在不一致時命令所述發送終端從所戶歷史資料庫中取出所述期望序列號與所述數據對應的序列號之間的數據重新發送。
通過比較可以發現,本發明的技術方案與現有技術的區別在於,在數據通信過程中,發送終端依次累加地為每一條待發送的數據產生一個唯一對應的序列號,並在將待發數據及其序列號以數據包的形式一同發送給接收終端後,把已發送的數據及其序列號保存在歷史資料庫內。另一方面,當接收終端接收到數據包後,判斷期望序列號與數據對應的序列號是否一致,當不一致時判定存在數據遺失,在這種情況下,接收終端命令發送終端從上述歷史資料庫中取出所述期望序列號與所述數據對應的序列號之間的數據,作為待發數據重新發送。
這種技術方案上的區別,帶來了較為明顯的有益效果,即發送方和接受方簡化了數據同步的複雜性,減輕了通信帶寬的需求。並且,有效避提高了數據發送效率。另外,由於通信雙方耦合減輕,更容易適應多接收者情況。
圖1是根據本發明的一個實施例的通行系統數據同步方法的流程圖。
具體實施例方式
為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明作進一步地詳細描述。
本發明的原理是在通信雙方確立一條″周知″的協議,由接收者根據該″周知″協議主動判斷接收到的數據是否存在不完整情況,當判定不完整時,通過主動查詢方式獲取遺失數據,確保數據完整。這樣發送者與接收者耦合減輕,並避免了額外的通信流量。
下面參照圖1,進一步詳細描述根據本發明的通行系統中的數據同步方法,如圖1所示,首先,在步驟100,發送終端準備需要發送給接收終端的數據;需要指出的是,所有需要發送的數據都存儲在數據發送緩衝器中,該數據發送緩衝器設置在發送終端內部,用於存儲數據。
此後進入步驟110,發送終端為每一條所述數據產生一個唯一對應的序列號;如上所述,序列號由設置在發送終端內部的序列號發生器產生,上一個數據對應的序列號與下一個數據對應的序列號之間是依次累加的關係,由此保證每一個待發送的數據都具有一個唯一性的序列號。
接著進入步驟120,發送終端將待發送的數據與其相應的序列號封裝在一個數據包中,發送給接收終端;並存儲已經發送給接收終端的數據及其序列號存儲。具體的說,在本發明中,將上述數據及其序列號存儲在歷史資料庫中,該資料庫設置在發送終端內部。在根據本發明的另一個實施例中,也可以先將待發送的數據及其對應的序列號存儲到歷史資料庫中,然後再行對數據及其序列號進行封裝和發送。
此後進入步驟130,接收終端接收來自發送終端的數據包,並從中獲取該數據的序列號。具體的說,接收終端將來自發送終端的數據包存儲到數據接收緩衝器中,該數據接收緩衝器設置在接收終端內部,用於存儲接收到的數據包。
接著進入步驟140,根據前一個接收到的數據對應的序列號產生期望序列號,判斷所述期望序列號與獲取的序列號是否一致;如果一致,則說明接收是正確的,進入步驟150,直接將來自發送終端的數據包中的數據部分轉發給接收終端內部的業務處理模塊即可;否則,如果不一致,則表明在數據包發送過程中有數據遺失,則進入步驟160。需要說明的是,期望序列號是由設置在接收終端內部的期望序列號發生器產生的。該期望序列號發生器根據最近一次接收到的數據對應的序列號,確定下一個數據的期望序列號。期望序列號發生器產生的期望序列號和前一個接收到的數據所對應的序列號是依次累加的關係,這與設置在發送終端內的序列號發生器的序列號產生規則是一致的。
在步驟160,由於如上所述判定在數據包發送過程中有數據遺失,因此,在本步驟中,接收終端命令發送終端將遺失數據重新發送。具體的說,接收終端向發送終端發送查詢命令,該命令中包含接收終端內的期望序列號發生器產生的期望序列號以及從來自發送終端的數據包中獲取的數據對應的序列號。此後,發送終端根據這兩個序列號,確定遺失的數據,並從歷史資料庫中取出這些遺失的數據,重新發送給接收終端,此後的步驟前面描述的步驟是一致的,即返回步驟100。
另外,熟悉本領域的技術人員不難理解,在根據本發明的另一個實施例中,可以直接利用設置在發送終端內的歷史資料庫作為數據發送緩衝器,同樣可以本發明的目的和效果。
下面進一步詳細地描述根據本發明的一個實施例的通信系統中數據同步的裝置。該裝置包含設置在發送終端內的序列號發生器,用於依次累加地為每一條待發送的數據產生一個唯一對應的序列號。具體的說,每為一條待發送的數據產生一個唯一對應的序列號,下一個序列號就累加1,使得各個待發送數據的序列號之間是依次累加的關係;還包含數據發送單元,用於將待發數據及其序列號封裝為數據包並發送給接收終端;還包含歷史資料庫,用於存儲已經發送給接收終端的數據及其序列號。此外,本實施例中的數據同步裝置還包含設置在接收終端內的期望序列號發生器,用於根據接收到的數據對應的序列號,確定下一個數據的期望序列號。如上所述,發送終端內設置的序列號發生器對每一個待發送給接收終端的數據都產生一個唯一的序列號,前一個數據的序列號和後一個數據的序列號之間是依次累加的關係。根據這個規則,期望序列號發生器產生的期望序列號和前一個接收到的數據所對應的序列號也是依次累加的關係。數據同步裝置還包含比較器,用於判斷所述期望序列號與所述數據對應的序列號是否一致,並在不一致時命令所述發送終端從所戶歷史資料庫中取出所述期望序列號與所述數據對應的序列號之間的數據重新發送。
雖然通過參照本發明的某些優選實施例,已經對本發明進行了圖示和描述,但本領域的普通技術人員應該明白,可以在形式上和細節上對其作各種各樣的改變,而不偏離所附權利要求書所限定的本發明的精神和範圍。
權利要求
1.一種通信系統中數據同步方法,其特徵在於,包含以下步驟A發送終端依次累加地為每一條待發送的數據產生一個唯一對應的序列號;B將所述待發數據及其序列號一同發送給接收終端,並保存已發送的數據及其序列號;C所述接收終端獲取所述數據對應的序列號,並產生期望序列號;D判斷所述期望序列號與所述數據對應的序列號是否一致,如果不一致,則接收終端命令發送終端從保存的已發送數據及其序列號中,取出所述期望序列號與所述數據對應的序列號之間的數據,作為待發數據重新發送,並返回步驟B。
2.根據權利要求1所述的通信系統中數據同步方法,其特徵在於,所述序列號之間為依次累加。
3.根據權利要求1所述的通信系統中數據同步方法,其特徵在於,在所述步驟A中,所述發送終端將所述數據及其序列號封裝為一個數據包發送給所述接收終端。
4.根據權利要求1所述的通信系統中數據同步方法,其特徵在於,在所述步驟B中,所述接收終端根據前一個接收到的數據對應的序列號產生期望序列號。
5.根據權利要求1所述的通信系統中數據同步方法,其特徵在於,所述步驟D中,當判定所述期望序列號與所述數據對應的序列號不一致時,還包含以下步驟接收終端向發送終端發送查詢命令,所述命令中包含所述期望序列號與所述數據對應的序列號;發送終端根據所述兩個序列號,確定遺失的數據,從保存的已發送數據及其序列號中取出所述遺失的數據作為待發數據,重新發送給接收終端。
6.一種通信系統中數據同步裝置,其特徵在於,包含設置在發送終端內的序列號發生器,用於依次累加地為每一條待發數據產生一個唯一對應的序列號;設置在所述發送終端內的發送單元,用於將所述待發數據及其序列號發送給接收終端;設置在所述發送終端內的歷史資料庫,用於存儲已經發送給接收終端的數據及其序列號;設置在接收終端內的期望序列號發生器,用於根據接收到的數據對應的序列號,確定下一個數據的期望序列號;設置在接收終端內的比較器,用於判斷所述期望序列號與所述數據對應的序列號是否一致,並在不一致時命令所述發送終端從所戶歷史資料庫中取出所述期望序列號與所述數據對應的序列號之間的數據重新發送。
全文摘要
本發明涉及數據的同步技術,公開了一種通信系統中數據同步方法及其裝置,使得有效控制通信流量,減小通信帶寬的負荷。並且避免由於發送者未收到確認信息延誤發送後面的數據而導致效率低下,還有助於在多接受者情況下利用廣播方式。這種通信系統中數據同步方法包含以下步驟發送終端依次累加地為每一條待發送的數據產生一個唯一對應的序列號;將待發數據及其序列號一同發送給接收終端,並保存已發送的數據及其序列號;接收終端判斷期望序列號與數據對應的序列號是否一致,如果不一致,則接收終端命令發送終端從保存的已發送數據及其序列號中,取出期望序列號與數據對應的序列號之間的數據重新發送。
文檔編號H04L7/06GK1691571SQ20041003702
公開日2005年11月2日 申請日期2004年4月21日 優先權日2004年4月21日
發明者魏浩, 常志泉 申請人:華為技術有限公司