一種數據傳輸方法、處理方法及裝置

一種數據傳輸方法、處理方法及裝置

《一種數據傳輸方法、處理方法及裝置》是京信通信系統(中國)有限公司京信通信系統(廣州)有限公司京信通信技術(廣州)有限公司天津京信通信系統有限公司於2017年9月21日申請的專利,該專利的公布號為CN107749815A,授權公布日為2018年3月2日,發明人是鄭自永、胡呈欣。該發明涉及通信技術領域。

《一種數據傳輸方法、處理方法及裝置》用以提高隧道傳輸中對原始報文的壓縮效果,其中,數據傳輸方法包括:獲取待傳輸的原始報文和當前的參考報文;當前的參考報文和原始報文為同一隧道中傳輸的報文;對原始報文與當前的參考報文進行差分後壓縮,獲得信息報文;利用隧道協定封裝信息報文生成隧道報文;隧道報文包括壓縮信息頭,壓縮信息頭中包括當前的參考報文對應的參考報文標識;傳送隧道報文。同一隧道內的各個報文之間具有一定的相關性,因此對原始報文和當前的參考報文進行差分後所獲得的差分結果具有更高的規律性,其信息熵更小,能夠獲得更好的壓縮效果。

2021年11月,《一種數據傳輸方法、處理方法及裝置》獲得第八屆廣東專利獎銀獎。

(概述圖為《一種數據傳輸方法、處理方法及裝置》摘要附圖)

基本介紹

  • 中文名:一種數據傳輸方法、處理方法及裝置
  • 申請人:京信通信系統(中國)有限公司、京信通信系統(廣州)有限公司、京信通信技術(廣州)有限公司、天津京信通信系統有限公司
  • 申請日:2017年9月21日
  • 申請號:201710860616X
  • 公布號:CN107749815A
  • 公布日:2018年3月2日
  • 發明人:鄭自永、胡呈欣
  • 地址:廣東省廣州市蘿崗區科學城神舟路10號
  • 分類號:H04L12/46(2006.01)I、H04L29/06(2006.01)I
  • 代理機構:北京同達信恆智慧財產權代理有限公司
  • 代理人:黃志華
  • 類別:發明專利
專利背景,發明內容,專利目的,技術方案,改善效果,附圖說明,權利要求,實施方式,榮譽表彰,

專利背景

通信技術領域經常涉及隧道技術,如虛擬專用網路(Virtual Private Network,VPN)被廣泛套用在網際網路、2G/3G/4G通信接入網等等,其使用的便是隧道技術。使用隧道技術,可以將不同協定的原始報文經隧道協定封裝後通過隧道傳送,經隧道協定封裝後的報文頭部包含有路由信息,以供網路傳輸。
在數據傳輸過程中,常常會遇到頻寬資源緊張的情況,人為增加頻寬資源的成本有時較為昂貴,因此,2017年9月之前的隧道技術中,一般先對原始報文進行壓縮後再通過隧道協定封裝,以節省頻寬資源。然而,原始報文的壓縮效果,如壓縮比,大多依賴於原始報文的具體內容,其具體內容規律性越高,信息熵越低,壓縮效果越好,如全部字元完全相同的原始報文壓縮效果最好,反之,具體內容規律性越低,信息熵越高,壓縮效果越差,如隨機數幾乎無法壓縮。對於已有的隧道技術,一個原始報文的具體內容的不確定性非常高,因此其壓縮效果並不理想,無法有效地節省頻寬資源。

發明內容

專利目的

該發明提供一種數據傳輸方法、處理方法及裝置,用以提高隧道報文中對原始報文的壓縮效果。

技術方案

《一種數據傳輸方法、處理方法及裝置》實施例提供一種數據傳輸方法,包括:獲取待傳輸的原始報文和當前的參考報文;所述當前的參考報文和所述原始報文為同一隧道中傳輸的報文;對所述原始報文與所述當前的參考報文進行差分後壓縮,獲得信息報文;利用隧道協定封裝所述信息報文生成隧道報文;所述隧道報文包括壓縮信息頭,所述壓縮信息頭中包括所述當前的參考報文對應的參考報文標識;傳送所述隧道報文。
可選的,獲取當前的參考報文之前,還包括:確認所述原始報文是否滿足參考報文更新條件,若不滿足則獲取所述當前的參考報文。可選的,還包括:若所述原始報文滿足參考報文更新條件,則根據所述原始報文更新所述當前的參考報文並更新所述當前的參考報文的參考報文標識;利用所述隧道協定封裝所述原始報文生成隧道報文;所述隧道報文包括壓縮信息頭,所述壓縮信息頭中包括所述當前的參考報文對應的參考報文標識。可選的,所述壓縮信息頭中還包括更新標識,所述更新標識用於指示所述隧道報文對應的原始報文為當前的參考報文。
該發明實施例提供一種數據處理方法,包括:接收隧道報文;解封所述隧道報文,得到信息報文,所述信息報文為對原始報文與參考報文進行差分後壓縮得到的;所述參考報文和所述原始報文為同一隧道中傳輸的報文;根據所述隧道報文的壓縮信息頭中包括的參考報文標識,獲取所述參考報文;根據所述信息報文和所述參考報文,獲得所述原始報文。
可選的,解封所述隧道報文,得到信息報文之前,還包括:確認所述隧道報文的壓縮信息頭中的更新標識是否為設定值;若所述隧道報文的壓縮信息頭中的更新標識是所述設定值,則對所述隧道報文解封,得到所述信息報文。可選的,還包括:若所述隧道報文的壓縮信息頭中的更新標識不是所述設定值,則對所述隧道報文解封,獲取所述原始報文,並關聯保存所述原始報文和所述壓縮信息頭中的參考報文標識。
該發明實施例提供一種數據傳輸裝置,包括:處理單元,用於通過收發單元獲取待傳輸的原始報文和當前的參考報文;所述當前的參考報文和所述原始報文為同一隧道中傳輸的報文;所述處理單元,還用於對所述原始報文與所述當前的參考報文進行差分後壓縮,獲得信息報文;所述處理單元,還用於利用隧道協定封裝所述信息報文生成隧道報文;所述隧道報文包括壓縮信息頭,所述壓縮信息頭中包括所述當前的參考報文對應的參考報文標識;所述處理單元,還用於控制所述收發單元傳送所述隧道報文。
可選的,所述處理單元還用於:確認所述原始報文是否滿足參考報文更新條件,若不滿足則獲取所述當前的參考報文。可選的,所述處理單元還用於:若所述原始報文滿足參考報文更新條件,則根據所述原始報文更新所述當前的參考報文並更新所述當前的參考報文的參考報文標識;利用所述隧道協定封裝所述原始報文生成隧道報文;所述隧道報文包括壓縮信息頭,所述壓縮信息頭中包括所述當前的參考報文對應的參考報文標識。可選的,所述壓縮信息頭中還包括更新標識,所述更新標識用於指示所述隧道報文對應的原始報文為當前的參考報文。
該發明實施例提供一種數據處理裝置,包括:收發單元,用於接收隧道報文;處理單元,用於解封所述隧道報文,得到信息報文,所述信息報文為對原始報文與參考報文進行差分後壓縮得到的;所述參考報文和所述原始報文為同一隧道中傳輸的報文;所述處理單元,還用於根據所述隧道報文的壓縮信息頭中包括的參考報文標識,獲取所述參考報文;所述處理單元,還用於根據所述信息報文和所述參考報文,獲得所述原始報文。
可選的,所述處理單元還用於:確認所述隧道報文的壓縮信息頭中的更新標識是否為設定值;若所述隧道報文的壓縮信息頭中的更新標識是所述設定值,則對所述隧道報文解封,得到所述信息報文。可選的,所述處理單元還用於:若所述隧道報文的壓縮信息頭中的更新標識不是所述設定值,則對所述隧道報文解封,獲取所述原始報文,並關聯保存所述原始報文和所述壓縮信息頭中的參考報文標識。
該發明實施例提供一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機可執行指令,所述計算機可執行指令用於使所述計算機執行上述任一項所述的數據傳輸方法。
該發明實施例提供一種計算設備,包括:存儲器,用於存儲程式指令;處理器,用於調用所述存儲器中存儲的程式指令,按照獲得的程式執行上述任一項所述的數據傳輸方法。
該發明實施例提供一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機可執行指令,所述計算機可執行指令用於使所述計算機執行上述任一項所述的數據處理方法。
該發明實施例提供一種計算設備,包括:存儲器,用於存儲程式指令;處理器,用於調用所述存儲器中存儲的程式指令,按照獲得的程式執行上述任一項所述的數據處理方法。

改善效果

《一種數據傳輸方法、處理方法及裝置》所述數據傳輸方法包括:獲取待傳輸的原始報文和當前的參考報文;當前的參考報文和原始報文為同一隧道中傳輸的報文;對原始報文與當前的參考報文進行差分後壓縮,獲得信息報文;利用隧道協定封裝信息報文生成隧道報文;隧道報文包括壓縮信息頭,壓縮信息頭中包括當前的參考報文對應的參考報文標識;傳送隧道報文。同一隧道內的各個報文之間具有一定的相關性,由於原始報文和當前的參考報文是同一隧道內的報文,因此對原始報文和當前的參考報文進行差分後所獲得的差分結果相較於原始報文具有更高的規律性,其信息熵相較於原始報文更小,因此對差分結果進行壓縮相較於2017年9月之前的技術直接對原始報文的壓縮能夠獲得更好的壓縮效果。

附圖說明

圖1為《一種數據傳輸方法、處理方法及裝置》實施例提供的一種隧道傳輸互動示意圖;
圖2為該發明實施例提供的一種數據傳輸方法流程示意圖;
圖3為一種2017年9月之前的隧道報文幀格式示意圖;
圖4為該發明實施例提供的一種隧道報文幀格式示意圖;
圖5為該發明實施例提供的一種差分過程示意圖;
圖6為該發明實施例提供的一種數據處理方法流程示意圖;
圖7為該發明實施例提供的一種逆差分過程示意圖;
圖8為該發明實施例提供的一種可行的數據傳輸方法流程示意圖;
圖9為該發明實施例提供一種可行的數據處理方法流程示意圖;
圖10為該發明實施例提供的一種數據傳輸裝置結構示意圖;
圖11為該發明實施例提供的一種數據處理裝置結構示意圖;
圖12為該發明實施例提供的一種計算設備結構示意圖;
圖13為該發明實施例提供的一種計算設備結構示意圖。

權利要求

1.一種數據傳輸方法,其特徵在於,包括:獲取待傳輸的原始報文和當前的參考報文;所述當前的參考報文和所述原始報文為同一隧道中傳輸的報文;對所述原始報文與所述當前的參考報文進行差分後壓縮,獲得信息報文;利用隧道協定封裝所述信息報文生成隧道報文;所述隧道報文包括壓縮信息頭,所述壓縮信息頭中包括所述當前的參考報文對應的參考報文標識;傳送所述隧道報文。
2.如權利要求1所述的方法,其特徵在於,獲取當前的參考報文之前,還包括:確認所述原始報文是否滿足參考報文更新條件,若不滿足則獲取所述當前的參考報文。
3.如權利要求2所述的方法,其特徵在於,還包括:若所述原始報文滿足參考報文更新條件,則根據所述原始報文更新所述當前的參考報文並更新所述當前的參考報文的參考報文標識;利用所述隧道協定封裝所述原始報文生成隧道報文;所述隧道報文包括壓縮信息頭,所述壓縮信息頭中包括所述當前的參考報文對應的參考報文標識。
4.如權利要求3所述的方法,其特徵在於,所述壓縮信息頭中還包括更新標識,所述更新標識用於指示所述隧道報文對應的原始報文為當前的參考報文。
5.一種數據處理方法,其特徵在於,包括:接收隧道報文;解封所述隧道報文,得到信息報文,所述信息報文為對原始報文與參考報文進行差分後壓縮得到的;所述參考報文和所述原始報文為同一隧道中傳輸的報文;根據所述隧道報文的壓縮信息頭中包括的參考報文標識,獲取所述參考報文;根據所述信息報文和所述參考報文,獲得所述原始報文。
6.如權利要求5所述的方法,其特徵在於,解封所述隧道報文,得到信息報文之前,還包括:確認所述隧道報文的壓縮信息頭中的更新標識是否為設定值;若所述隧道報文的壓縮信息頭中的更新標識是所述設定值,則對所述隧道報文解封,得到所述信息報文。
7.如權利要求6所述的方法,其特徵在於,還包括:若所述隧道報文的壓縮信息頭中的更新標識不是所述設定值,則對所述隧道報文解封,獲取所述原始報文,並關聯保存所述原始報文和所述壓縮信息頭中的參考報文標識。
8.一種數據傳輸裝置,其特徵在於,包括:處理單元,用於通過收發單元獲取待傳輸的原始報文和當前的參考報文;所述當前的參考報文和所述原始報文為同一隧道中傳輸的報文;所述處理單元,還用於對所述原始報文與所述當前的參考報文進行差分後壓縮,獲得信息報文;所述處理單元,還用於利用隧道協定封裝所述信息報文生成隧道報文;所述隧道報文包括壓縮信息頭,所述壓縮信息頭中包括所述當前的參考報文對應的參考報文標識;所述處理單元,還用於控制所述收發單元傳送所述隧道報文。
9.如權利要求8所述的裝置,其特徵在於,所述處理單元還用於:確認所述原始報文是否滿足參考報文更新條件,若不滿足則獲取所述當前的參考報文。
10.如權利要求9所述的裝置,其特徵在於,所述處理單元還用於:若所述原始報文滿足參考報文更新條件,則根據所述原始報文更新所述當前的參考報文並更新所述當前的參考報文的參考報文標識;利用所述隧道協定封裝所述原始報文生成隧道報文;所述隧道報文包括壓縮信息頭,所述壓縮信息頭中包括所述當前的參考報文對應的參考報文標識。
11.如權利要求10所述的裝置,其特徵在於,所述壓縮信息頭中還包括更新標識,所述更新標識用於指示所述隧道報文對應的原始報文為當前的參考報文。
12.一種數據處理裝置,其特徵在於,包括:收發單元,用於接收隧道報文;處理單元,用於解封所述隧道報文,得到信息報文,所述信息報文為對原始報文與參考報文進行差分後壓縮得到的;所述參考報文和所述原始報文為同一隧道中傳輸的報文;所述處理單元,還用於根據所述隧道報文的壓縮信息頭中包括的參考報文標識,獲取所述參考報文;所述處理單元,還用於根據所述信息報文和所述參考報文,獲得所述原始報文。
13.如權利要求12所述的裝置,其特徵在於,所述處理單元還用於:確認所述隧道報文的壓縮信息頭中的更新標識是否為設定值;若所述隧道報文的壓縮信息頭中的更新標識是所述設定值,則對所述隧道報文解封,得到所述信息報文。
14.如權利要求13所述的裝置,其特徵在於,所述處理單元還用於:若所述隧道報文的壓縮信息頭中的更新標識不是所述設定值,則對所述隧道報文解封,獲取所述原始報文,並關聯保存所述原始報文和所述壓縮信息頭中的參考報文標識。
15.一種計算機可讀存儲介質,其特徵在於,所述計算機可讀存儲介質存儲有計算機可執行指令,所述計算機可執行指令用於使所述計算機執行權利要求1至4任一項所述的數據傳輸方法。
16.一種計算設備,其特徵在於,包括:存儲器,用於存儲程式指令;處理器,用於調用所述存儲器中存儲的程式指令,按照獲得的程式執行如權利要求1至4任一項所述的數據傳輸方法。
17.一種計算機可讀存儲介質,其特徵在於,所述計算機可讀存儲介質存儲有計算機可執行指令,所述計算機可執行指令用於使所述計算機執行如權利要求5至7任一項所述的數據處理方法。
18.一種計算設備,其特徵在於,包括:存儲器,用於存儲程式指令;處理器,用於調用所述存儲器中存儲的程式指令,按照獲得的程式執行如權利要求5至7任一項所述的數據處理方法。

實施方式

隧道傳輸技術是一種常見的網路傳輸技術,圖1為該發明實施例提供的一種隧道傳輸互動示意圖,如圖1所示,隧道設備(如VPN)為用戶1、用戶2、……、用戶N提供隧道傳輸服務,N個用戶的數據通過隧道設備訪問網路伺服器。具體套用過程中,隧道設備分別為N個用戶分配不同的IP位址,這些IP位址雖然不同,但具有一定的相似性,用戶構建原始報文並將原始報文傳送給隧道設備,原始報文的報文頭中便包含有隧道設備分配給用戶的IP位址信息。由此可見,同一隧道內的原始報文至少具有相同或相似的IP位址信息,因此同一隧道內的原始報文具有一定的相關性。當然,以上只是以IP位址為例,具體實施過程中,原始報文中的傳輸控制協定(Transmission Control Protocol,TCP)和用戶數據報協定(User Datagram Protocol,UDP)信息也同樣具有一定的相關性。
圖2為該發明實施例提供的一種數據傳輸方法流程示意圖,如圖2所示,包括以下步驟:
S201:獲取待傳輸的原始報文和當前的參考報文;當前的參考報文和原始報文為同一隧道中傳輸的報文。
S202:對原始報文與當前的參考報文進行差分後壓縮,獲得信息報文。
S203:利用隧道協定封裝信息報文生成隧道報文;隧道報文包括壓縮信息頭,壓縮信息頭中包括當前的參考報文對應的參考報文標識。
S204:傳送隧道報文。
在S201中,當前的參考報文可以是隧道中傳輸過的歷史原始報文,也可以是根據隧道中原始報文特徵而專門設計的參考報文,使得當前的參考報文與待傳輸的原始報文之間具有足夠的相關性。在當前的參考報文是隧道中傳輸過的歷史原始報文的情況下,為了提高當前的參考報文與待傳輸的原始報文之間的相關性,可選的,根據預設的參考報文更新條件不斷更新當前的參考報文。具體來說,在S201中獲取當前的參考報文之前,還包括:確認原始報文是否滿足參考報文更新條件,若不滿足則獲取當前的參考報文。若原始報文滿足參考報文更新條件,則根據原始報文更新當前的參考報文。參考報文的更新條件可根據實際套用環境確定,例如,可以每隔3個原始報文,確定一個原始報文為參考報文。
在S202中,在原始報文不滿足參考報文更新條件的情況下,對原始報文與當前的參考報文進行差分,由於原始報文和參考報文為同一隧道中傳輸的報文,因此二者之間具有一定的相關性,其差分結果規律性更強,以異或差分為例,差分結果中將以0字元為主,只有少部分字元為1。對差分結果進行壓縮,可以採用傳統的lzo、zlib等壓縮算法進行壓縮,將獲得更好的壓縮效果,即壓縮後的檔案大小與差分結果的大小之比更低,因此該發明實施例中信息報文的大小將遠遠小於2017年9月之前的技術中對直接原始檔案壓縮後的檔案大小。
在S203中,所使用的隧道協定可以是點對點隧道協定(Point-to-Point Tunneling Protocol,PPTP)、第二層隧道協定(Layer 2 Tunneling Protocol,L2TP)、IP安全協定(IP Security Protocol,IPSec)等隧道傳輸協定,該發明實施例對此不多作限定。可選的,在原始報文不滿足參考報文更新條件時,採用隧道協定封裝S202中獲得的信息報文,在原始報文滿足參考報文更新條件時,採用隧道協定封裝原始報文以生成隧道報文。在隧道報文中,還包括壓縮信息頭,壓縮信息頭包括了S202中所使用的當前參考報文對應的參考報文標識。可選的,在原始報文滿足參考報文更新條件時,根據原始報文更新當前的參考報文的同時更新當前的參考報文的參考報文標識,在對原始報文採用隧道協定封裝後生成的隧道報文中,其壓縮信息頭中所包括的參考報文標識為該原始報文對應的參考報文標識。
圖3為一種2017年9月之前的隧道報文幀格式示意圖,圖4為該發明實施例提供的一種隧道報文幀格式示意圖。如圖3和圖4示,該發明實施例所提供的不同隧道協定下幀格式與已有的幀格式類似,對於PPTP協定下的幀格式,二者都具有IP頭、通用路由封裝(Generic Route Encapsulation,GRE)頭、點到點協定(Point-to-Point Protocol,PPP)頭等,對於L2TP協定下的幀格式,二者都具有IP頭、UDP頭、L2TP頭、PPP頭等,對於IPSec協定下的幀格式,二者都具有IP頭、認證頭(Authentication Header,AH)、封裝安全協定(Encapsulating Security Protocol,ESP)頭、ESP尾等。區別在於已有技術直接對原始報文進行了壓縮和封裝,而該發明實施例的幀格式中攜帶了壓縮信息頭和信息報文(或作為參考報文的原始報文)。
採用該發明實施例所提供的隧道報文可以在S204中按照已有的隧道報文傳送隧道報文。同一隧道內的各個報文之間具有一定的相關性,由於原始報文和當前的參考報文是同一隧道內的報文,因此對原始報文和當前的參考報文進行差分後所獲得的差分結果相較於原始報文具有更高的規律性,其信息熵相較於原始報文更小,因此對差分結果進行壓縮相較於已有技術直接對原始報文的壓縮能夠獲得更好的壓縮效果。
在S202中,需要對不滿足參考報文更新條件的原始報文進行差分。該發明實施例提供一種可行的原始報文和當前的參考報文進行差分的實現方式,請參考圖5,為該發明實施例提供的一種差分過程示意圖,如圖5所示,進行差分的原始報文和參考報文並不一定具有相同的長度,在參考報文較短時對參考報文低位補零使其達到與原始報文一致的長度,在參考報文較長時,從低位截短參考報文使其達到與原始報文一致的長度。之後,原始報文和參考報文相同位的字元進行減法處理,獲得與原始報文長度一致的差分結果。與上述數據傳輸方法相對應的,該發明實施例還提供一種數據處理方法,可以處理通過上述數據傳輸方法傳輸的隧道報文。圖6為該發明實施例提供的一種數據處理方法流程示意圖,如圖6所示,包括以下步驟:
S601:接收隧道報文。
S602:解封隧道報文,得到信息報文,信息報文為對原始報文與參考報文進行差分後壓縮得到的;參考報文和原始報文為同一隧道中傳輸的報文。
S603:根據隧道報文的壓縮信息頭中包括的參考報文標識,獲取參考報文。
S604:根據信息報文和參考報文,獲得原始報文。
在S602中,可採用與2017年9月之前的技術類似的操作解封隧道報文,去除隧道報文的報文頭,如圖4中PPTP幀格式中的IP頭、GRE頭、PPP頭等,從而獲得信息報文。在該發明實施例所提供的隧道報文中還有可能包括作為參考報文的原始報文,則解封隧道報文後還可能獲得隧道報文中的原始報文。
在理想的情況下,隧道報文接收方可根據壓縮信息頭中參考報文標識是否發生變化來判斷對隧道報文解封后獲得的報文是信息報文還是原始報文,具體來說,若參考報文標識較上一次接收的隧道報文中的參考報文標識未發生變化,說明解封后獲得的是信息報文,若參考報文標識較上一次接收的隧道報文中的參考報文標識發生了變化,說明解封后獲得的是作為參考報文的原始報文。但是在實際操作過程中,隧道報文的接收順序可能與傳送順序不一致,即後傳送的隧道報文被率先接收的情況,此時便會出現判斷錯誤。為了避免這種情況的發生,可選的,壓縮信息頭中還包括更新標識,更新標識用於指示隧道報文對應的原始報文是否為參考報文,例如,更新標識為0時說明隧道報文對應的原始報文為參考報文,此時對隧道報文解封后獲得的是作為參考報文的原始報文,更新標識為1時說明隧道報文對應的原始報文不是參考報文,此時對隧道報文解封后獲得的是信息報文。可選的,在確認隧道報文解封后獲得的是作為參考報文的原始報文時,關聯記錄該原始報文和壓縮信息頭中參考報文標識,在利用參考報文逆差分時,便可直接根據參考報文標識獲取對應的參考報文。
在603中,若隧道報文解封后獲得的是信息報文,則還需對其進行解壓和逆差分操作,因此需要根據壓縮信息頭中的參考報文標識確定生成該信息報文時所使用的參考報文。接收方可直接查詢本地中保存的原始報文與參考報文標識間的對應關係,壓縮信息頭中的參考報文標識所指向的原始報文即是該信息報文所對應的參考報文。
在S604中,需要先對信息報文解壓縮,再根據S603中所確定參考報文對其進行逆差分操作。可選的,壓縮信息頭中還包括壓縮算法標識,接收方可根據壓縮算法標識確定信息報文所對應的壓縮算法並進行解壓縮操作,從而獲得原始報文與參考報文的差分結果。之後,根據參考報文和差分結果進行逆差分操作,便可獲得原始報文。與圖5所示的差分過程相對應的,該發明實施例還提供一種可行的逆差分實施方式,如圖7所示,為該發明實施例提供的一種逆差分過程示意圖。如圖7所示,進行逆差分的差分結果和參考報文並不一定具有相同的長度,在參考報文較短時對參考報文低位補零使其達到與差分結果一致的長度,在參考報文較長時,從低位截短參考報文使其達到與差分結果一致的長度。之後,差分結果和參考報文相同位的字元進行加法處理,獲得與差分結果長度一致的原始報文。
該發明實施例提供以下兩種可行的實現方式,以分別說明該發明實施例所提供的數據傳輸方法和數據處理方法。應理解,以下兩種可行的實現方式僅為舉例說明,並不代表該發明實施例僅包括或僅適用於以下兩種情況。
假設壓縮算法標識分別包括以下幾種情況:0(無壓縮)、1(lzo算法)、2(zlib算法)、3(其它算法)。更新標識包括以下幾種情況:0(原始報文)、1(信息報文)。
圖8為該發明實施例提供的一種可行的數據傳輸方法流程示意圖,如圖8所示,包括以下步驟:
S801:接收待傳送原始報文。
S802:判斷原始報文是否作為參考報文,即是否滿足參考報文更新條件;若是,則執行S807,若否,則執行S803。
S803:將原始報文與當前參考報文做差分處理。
S804:根據預設的壓縮算法,將差分結果執行壓縮處理獲取信息報文。
S805:為信息報文封裝壓縮信息頭,壓縮信息頭中包括參考報文標識、壓縮算法標識、更新標識。假設S804中採用的壓縮算法為lzo算法,此時壓縮算法標識為1。同時,也可確定更新標識為1,指示隧道報文中包括的是信息報文。
S806:根據隧道協定封裝其餘各層頭部信息,獲得隧道報文。
S807:根據原始報文更新當前參考報文。
S808:更新參考報文標識。例如,可以直接在前一個參考報文標識的基礎上加1。
S809:為原始報文封裝壓縮信息頭。壓縮信息頭中壓縮算法標識為0,表示原始報文未經壓縮,更新標識為0,指示隧道報文中包括的是作為參考報文的原始報文。
S810:傳送隧道報文。基於相同的假設,與圖8向對應的,圖9為該發明實施例提供一種可行的數據處理方法流程示意圖,如圖9所示,包括以下步驟:
S901:接收隧道報文。
S902:拆除隧道報文中除壓縮信息頭之外的隧道各層頭部信息。
S903:根據壓縮信息頭中的更新標識判斷隧道報文中包括的是否是參考報文;若是,則執行S907;若否,則執行S904。
S904:拆除壓縮信息頭內容。
S905:根據壓縮信息頭中的壓縮報文標識選擇相應的壓縮算法,對解封獲得的信息報文進行解壓處理。
S906:根據壓縮信息頭中的參考報文標識確定參考報文,將解壓後獲得的差分結果根據參考報文進行逆差分,從而獲得原始報文。
S907:更新存儲參考報文(原始報文)及其參考報文標識。
S908:拆除壓縮信息頭內容。
S909:將原始報文發往下游。
該發明實施例所提供的數據傳輸方法和數據處理方法充分利用隧道內所傳輸原始報文間的相關性,採用相近報文差分後再壓縮的方法,從時間維度提升壓縮率,提升隧道傳輸效率,更大程度保障頻寬服務質量。
基於相同的技術構思,該發明實施例還提供一種數據傳輸裝置,該裝置能夠實現上述任一實施例所提供的數據傳輸方法。圖10為該發明實施例提供的一種數據傳輸裝置結構示意圖,如圖10所示,裝置1000包括收發單元1001和處理單元1002,其中:處理單元1002,用於通過收發單元1001獲取待傳輸的原始報文和當前的參考報文;當前的參考報文和原始報文為同一隧道中傳輸的報文;處理單元1002,還用於對原始報文與當前的參考報文進行差分後壓縮,獲得信息報文;處理單元1002,還用於利用隧道協定封裝信息報文生成隧道報文;隧道報文包括壓縮信息頭,壓縮信息頭中包括當前的參考報文對應的參考報文標識;處理單元1002,還用於控制收發單元1001傳送隧道報文。
可選的,處理單元1002還用於:確認原始報文是否滿足參考報文更新條件,若不滿足則獲取當前的參考報文。可選的,處理單元1002還用於:若原始報文滿足參考報文更新條件,則根據原始報文更新當前的參考報文並更新當前的參考報文的參考報文標識;利用隧道協定封裝原始報文生成隧道報文;隧道報文包括壓縮信息頭,壓縮信息頭中包括當前的參考報文對應的參考報文標識。可選的,壓縮信息頭中還包括更新標識,更新標識用於指示隧道報文對應的原始報文為當前的參考報文。
基於相同的技術構思,該發明實施例還提供一種數據處理裝置,該裝置能夠實現上述任一實施例所提供的數據處理方法。圖11為該發明實施例提供的一種數據處理裝置結構示意圖,如圖11所示,裝置1100包括收發單元1101和處理單元1102,其中:收發單元1101,用於接收隧道報文;處理單元1102,用於解封隧道報文,得到信息報文,信息報文為對原始報文與當前的參考報文進行差分後壓縮得到的;當前的參考報文和原始報文為同一隧道中傳輸的報文;處理單元1102,還用於根據隧道報文的壓縮信息頭中包括的參考報文標識,獲取當前的參考報文;處理單元1102,還用於根據信息報文和當前的參考報文,獲得原始報文。
可選的,處理單元1102還用於:確認隧道報文的壓縮信息頭中的更新標識是否為設定值;若隧道報文的壓縮信息頭中的更新標識是設定值,則對隧道報文解封,得到信息報文。可選的,處理單元1102還用於:若隧道報文的壓縮信息頭中的更新標識不是設定值,則對隧道報文解封,獲取原始報文,並根據原始報文更新當前的參考報文。
基於相同的技術構思,該發明實施例還提供一種計算設備,該計算設備具體可以為桌面計算機、攜帶型計算機、智慧型手機、平板電腦、個人數字助理(Personal Digital Assistant,PDA)等。如圖12所示,為該發明實施例提供的一種計算設備結構示意圖,該計算設備可以包括中央處理器1201(Center Processing Unit,CPU)、存儲器1202、輸入設備1203、輸出設備1204等,輸入設備1203可以包括鍵盤、滑鼠、觸控螢幕等,輸出設備1204可以包括顯示設備,如液晶顯示器(Liquid Crystal Display,LCD)、陰極射線管(Cathode Ray Tube,CRT)等。
存儲器1202可以包括唯讀存儲器(ROM)和隨機存取存儲器(RAM),並向處理器提供存儲器中存儲的程式指令和數據。在該發明實施例中,存儲器可以用於存儲該發明實施例所提供的數據傳輸方法的程式,處理器通過調用存儲器存儲的程式指令,按照獲得的程式指令執行上述任一項所述的數據傳輸方法。基於相同的技術構思,該發明實施例還提供一種計算機可讀存儲介質,用於存儲為上述計算設備所用的電腦程式指令,其包含用於執行上述任一項所述的數據傳輸方法的程式。
所述計算機存儲介質可以是計算機能夠存取的任何可用介質或數據存儲設備,包括但不限於磁性存儲器(例如軟碟、硬碟、磁帶、磁光碟(MO)等)、光學存儲器(例如CD、DVD、BD、HVD等)、以及半導體存儲器(例如ROM、EPROM、EEPROM、非易失性存儲器(NAND FLASH)、固態硬碟(SSD))等。
基於相同的技術構思,該發明實施例還提供一種計算設備,該計算設備具體可以為桌面計算機、攜帶型計算機、智慧型手機、平板電腦、個人數字助理(Personal Digital Assistant,PDA)等。如圖13所示,為該發明實施例提供的一種計算設備結構示意圖,該計算設備可以包括中央處理器1301(Center Processing Unit,CPU)、存儲器1302、輸入設備1303、輸出設備1304等,輸入設備1303可以包括鍵盤、滑鼠、觸控螢幕等,輸出設備1304可以包括顯示設備,如液晶顯示器(Liquid Crystal Display,LCD)、陰極射線管(Cathode Ray Tube,CRT)等。
存儲器1302可以包括唯讀存儲器(ROM)和隨機存取存儲器(RAM),並向處理器提供存儲器中存儲的程式指令和數據。在該發明實施例中,存儲器可以用於存儲該發明實施例所提供的數據處理方法的程式,處理器通過調用存儲器存儲的程式指令,按照獲得的程式指令執行上述任一項所述的數據處理方法。基於相同的技術構思,該發明實施例還提供一種計算機可讀存儲介質,用於存儲為上述計算設備所用的電腦程式指令,其包含用於執行上述任一項所述的數據驗證方法的程式。
所述計算機存儲介質可以是計算機能夠存取的任何可用介質或數據存儲設備,包括但不限於磁性存儲器(例如軟碟、硬碟、磁帶、磁光碟(MO)等)、光學存儲器(例如CD、DVD、BD、HVD等)、以及半導體存儲器(例如ROM、EPROM、EEPROM、非易失性存儲器(NAND FLASH)、固態硬碟(SSD))等。

榮譽表彰

2021年11月,《一種數據傳輸方法、處理方法及裝置》獲得第八屆廣東專利獎銀獎。

相關詞條

熱門詞條

聯絡我們