新四季網

一種基於Socket協議的數據傳輸容錯系統的製作方法

2023-07-23 09:37:06 1

專利名稱:一種基於Socket協議的數據傳輸容錯系統的製作方法
技術領域:
本發明涉及一種數據傳輸容錯系統,尤其是ー種基於Socket協議的數據傳輸容錯系統。本發明屬於通信技術領域。
背景技術:
隨著網際網路技術的發展,目前越來越多的應用都需要在網絡中傳輸數據,而各種應用間內的數據交互的準確性是ー個十分重要的問題,對於用戶來說數據就是企業的生命線,數據傳輸的安全性,數據傳輸的準確性,對數據在傳輸過程中丟失,或者數據傳輸錯誤,系統能否自動容錯都是現在需要重要解決的ー個問題。數據傳輸的方法也越來越受到軟體開發人員的重視,目前數據傳輸的手段是大都是通過TCP協議或者UDP協議來進行數據的傳輸,UDP協議不提供數據包分組、組裝和不能對數據包進行排序的缺點,也就是說,當報文發送之後,是無法得知其是否安全完整到達的,TCP協議通過三個報文段完成連接的建立,這個過程稱為三次握手(three-wayhandshake)。第一次握手建立連接時,客戶端發送SYN包(SEQ = X)到伺服器,並進入SYN_SEND狀態,等待伺服器確認。第二次握手伺服器收到SYN包,必須確認客戶的SYN(ACK =x+1),同時自己也送ー個SYN包(SEQ = y),即SYN+ACK包,此時伺服器進入SYN_RECV狀態。第三次握手客戶端收到伺服器的SYN+ACK包,向伺服器發送確認包ACK(ACK = y+1),此包發送完畢,客戶端和伺服器進入Established狀態,完成三次握手。雖然TCP協議比UDP協議在傳輸的準確性上有了很大的提高,但是如果在傳輸過程中出錯,TCP協議是無法解決的。現有的技術存在如下的弊端一是通過現有技術仍然只能採用先建立連接的方法來確定數據傳輸的準確性,對數據包的檢驗比較弱。在多播廣播中還可能使數據包發生串包。導致接收到的數據不準確甚至接收到錯誤的數據。UDP協議不提供數據包分組、組裝和不能對數據包進行排序的缺點,也就是說,當報文發送之後,是無法得知其是否安全完整到達的。TCP協議雖然彌補了 UDP協議的不足,但是也只能確定數據是否能正常的傳輸到目的地,對數據的準確性不進行驗證,遇到錯誤的數據包也不能自動的修復。對錯誤的數據只能響應接收,不能再請求伺服器發送正確的數據。雖然在傳輸數據的過程中可以通過某些組件來完成數據的容錯性,但是通過第三方組件會使原本的協議高傳輸效率這ー特點大大折扣,而且相同的組件對不同的系統支持的程序也不相同,導致兼容性差、系統間的數據傳輸速度慢,達不到數據傳輸的最佳效果。本發明要解決的問題是提供ー種數據傳輸容錯方法,通過Socket技術中的數據緩存機制對數據進行校驗、容錯,並將正確的數據包發響應到相應的地點。對傳輸過程中的數據包丟失或數據包錯誤能及時的將消息發送給伺服器端並要求重新接收數據,在數據的傳輸過程中就能對正確的數據和錯誤的數據進行並行處理。保證到達目的地的數據的準確性。顯然,本發明更能方便、有效、安全的傳輸數據。

發明內容
本發明的目的在於針對以上現有技術存在的不足,提供一種基於Socket協議的數據傳輸容錯系統,以克服現有技術中數據傳輸準確性不夠的問題。為了達到以上目的,本發明包含如下組成部分建立模塊——建立基於Socket協議的通訊模式,並且驗證連接是否可用;生成模塊——定義數據交換過程中的數據包格式,數據包格式有3部分組成協議頭、功能碼、數據(請求或接收的數據 ),並且對每個數據包的協議頭進行定義,並將數據包封裝到寄存器中;緩衝處理模塊——採用寄存器技術對伺服器端和客戶端的數據進行緩衝處理;為實現本發明的功能,上述功能模塊還包括如下子模塊 建立通訊模塊——建立連接模塊和驗證連接模塊——通過建立連接子模塊,將伺服器和客戶端建立連接。——通過驗證連接子模塊,在伺服器和客戶端建立連接後,自動識別伺服器和客戶端間的是否正常,若連接異常,將斷開連接,重新建立連接。生成模塊——拆分子模塊、定義協議頭子模塊、定義功能碼子模塊、數據封裝子模塊——按照數據大小將數據拆分成各個數據包。——定義協議頭,協議頭主要有事務ID標識、數據包大小。——定義2個功能碼(十進位)1、讀取寄存器裡的值,2、寫入寄存器裡的值。——對數據進行數據包封裝,存儲到寄存器中。緩衝處理模塊——Socket緩衝區驗證子模塊、並行處理子模塊——通過Socket緩衝區驗證子模塊,驗證數據包中包含寄存器的數量,計算從伺服器端返回數據的大小,進行驗證。——通過並行處理子模塊,對驗證不正確的數據包進行處理。並將信息發送回伺服器要求重新發送數據。對正確的數據直接進行下載。採用並行的方式可以提高傳輸的速度。使用步驟為步驟ー登錄系統,系統將通過建立模塊自動建立伺服器與客戶端之間的連接。驗證連接,確保連接暢通。步驟ニ 生成模塊對數據進行數據包分配,自動生成數據包,數據包的格式協議頭、功能碼、數據(請求或接收的數據)。生成模塊對每個數據包的協議頭的欄位再進行定義,協議頭有2個欄位組成事務ID標識、數據包的大小。步驟三生成模塊對所有的數據包進行數據封裝,將數據包存儲到寄存器中。步驟四緩衝處理模塊根據事務ID標識查詢所有的數據包並且將數據包存放到Socket緩衝區中進行驗證。通過並行處理對數據包進行驗證傳輸。並最終發送到客戶端。如此,通過本發明,可以避免接收到錯誤數據,保證用戶下載下來的數據都是正確的,可以減少下載文件的時間,和下載文件的準確性,大大提高了用戶的工作效率。
具體實施方式
實施例一使用Microsoft VisualStudio. Net2008開發工具開發伺服器端和客戶端運行軟體,具體方式為建立模塊——建立基於Socket協議的通訊模式,並且驗證連接是否可用,建立模塊包括建立連接子模塊建立伺服器端和客戶端之間的通訊;驗證連接子模塊驗證伺服器端和客戶端之間的通訊是否已經建立,通訊是否正常。
生成模塊——定義數據交換過程中的數據包格式,數據包格式有3部分組成協議頭、功能碼、數據(請求或接收的數據),並且對每個數據包的協議頭進行定義,並將數據包封裝到寄存器中,生成模塊包括定義功能碼子模塊拆分子模塊、定義協議頭子模塊、定義功能碼子模塊、數據封裝子模塊拆分子模塊將數據按照指定的算法算出最佳的數據包數量,算法是按照網絡的帶寬,數據的大小來進行計算的,然後對數據進行拆分。定義協議頭子模塊定義協議頭的欄位,協議頭有2個欄位組成事務ID標識、數據包的大小。數據包在傳輸過程中會建立,對每ー個請求都會建立ー個唯一表示符。定義功能碼子模塊定義2個功能碼(十進位)1、讀取寄存器裡的值,2、寫入寄存器裡的值。數據封裝子模塊將協議頭、功能碼、數據組成的數據包進行封裝,存儲到寄存器中。緩衝處理模塊——Socket緩衝區驗證子模塊、並行處理子模塊包括Socket緩衝區驗證子模塊通過Socket緩衝區驗證子模塊,驗證數據包中包含寄存器的數量,計算從伺服器端返回數據的大小,進行驗證;在數據沒有差錯的正常情況下,客戶端每次發送請求後,其請求包裡面包含需要讀取的寄存器數量,能算出從伺服器端返回的數據大小,這樣就能確定讀完伺服器端返回的所有緩衝區中的數據;每次交互後,Socket緩衝區中都為空,則整個過程沒有問題。如果伺服器端出錯,或者數據串包等異常情況下,客戶端不能確定伺服器端返回的數據包(佔用的緩衝區)有多大;因此,毎次讀取完數據時,直接把Socket給清除掉;然後下次需要讀取或發送數據的時候,再重新建立Socket 連接。並行處理子模塊對驗證不正確的數據包進行處理。並將信息發送回伺服器要求重新發送數據。對正確的數據直接進行下載。採用並行的方式可以提高傳輸的速度。使用步驟為步驟ー登錄系統,系統將通過此建立模塊自動建立伺服器與客戶端之間的連接。伺服器對客戶端傳來的信息進行驗證,如果連接可用,則建立連接。步驟ニ 生成模塊按照數據的大小,網絡的帶寬,讓數據按照算法進行數據拆分,拆分成各個數據包以便對數據的準確性進行驗證,拆分成數據包也便於大數據的並行傳輸,數據包的格式協議頭、功能碼、數據(請求或接收的數據)。定義協議頭子模塊對再對每個數據包的協議頭欄位再進行定義,協議頭有2個欄位組成事務ID標識、數據包的大小。步驟三生成模塊將已經定義好的功能碼、協議頭和數據的數據包進行數據包封裝,將數據包存儲到寄存器中,以便傳輸。步驟四緩衝處理模塊根據事務ID標識查詢出傳輸數據的所有數據包並且將數據包存放到Socket緩衝區中進行驗證。通過並行處理對數據包進行驗證傳輸下載。對正確的數據包直接傳輸,把錯誤的數據包發送回伺服器端並且要求伺服器端重新發送新的數據包。並最終發送到客戶端。
除上述實施例外,本發明還可以有其他實施方式。凡採用等同替換或等效變換形成的技術方案,均落在本發明要求的保護範圍。
權利要求
1.一種基於Socket協議的數據傳輸容錯系統,其特徵在於完成數據傳輸容錯方法包括如下模塊 建立模塊——建立基於Socket協議的通訊模式,並且驗證連接是否可用; 生成模塊——定義數據交換過程中的數據包格式,數據包格式有3部分組成協議頭、功能碼、數據(請求或接收的數據),並且對每個數據包的協議頭進行定義,並將數據包封裝到寄存器中; 緩衝處理模塊——採用寄存器技術對伺服器端和客戶端的數據進行緩衝處理。
2.根據權利要求1所述一種基於Socket協議的數據傳輸容錯系統,其特徵還在於完成數據傳輸容錯還需要如下步驟 步驟一登錄系統,系統將通過建立模塊自動建立伺服器與客戶端之間的連接。驗證連接,確保連接暢通; 步驟二 生成模塊對數據進行數據包分配,自動生成數據包,數據包的格式協議頭、功能碼、數據(請求或接收的數據)。生成模塊對每個數據包的協議頭的欄位再進行定義,協議頭有2個欄位組成事務ID標識、數據包的大小; 步驟三生成模塊對所有的數據包進行數據封裝,將數據包存儲到寄存器中; 步驟四緩衝處理模塊根據事務ID標識查詢所有的數據包並且將數據包存放到Socket緩衝區中進行驗證。通過並行處理對數據包進行驗證傳輸。並最終發送到客戶端。
全文摘要
本發明涉及一種數據傳輸容錯的系統,尤其是一種基於Socket協議的數據傳輸容錯系統。本發明屬於通信技術領域。本發明實現的基於Socket協議的數據傳輸容錯系統,其特徵在於能夠通過建立模塊建立客戶端與伺服器端的可靠連接模塊、完成定義數據在傳輸過程中標準的數據包格式模塊、完成定義協議頭的欄位模塊、完成對數據進行數據包封裝模塊、完成Socket緩衝區驗證數據包準確性模塊、完成數據包傳輸並行處理模塊。本發明突破了傳統的TCP或UDP協議傳輸數據的模式,有效提高了獲取數據的準確性和實時性,有效杜絕網絡傳輸中錯誤數據,更好的滿足了用戶在獲取數據時實時性和準確性的要求。
文檔編號H04L29/08GK103023602SQ20111027863
公開日2013年4月3日 申請日期2011年9月20日 優先權日2011年9月20日
發明者王志剛 申請人:鎮江雅迅軟體有限責任公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀