欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于Socket協(xié)議的數(shù)據(jù)傳輸容錯系統(tǒng)的制作方法

文檔序號:7973224閱讀:416來源:國知局
專利名稱:一種基于Socket協(xié)議的數(shù)據(jù)傳輸容錯系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)傳輸容錯系統(tǒng),尤其是ー種基于Socket協(xié)議的數(shù)據(jù)傳輸容錯系統(tǒng)。本發(fā)明屬于通信技術(shù)領(lǐng)域。
背景技術(shù)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,目前越來越多的應(yīng)用都需要在網(wǎng)絡(luò)中傳輸數(shù)據(jù),而各種應(yīng)用間內(nèi)的數(shù)據(jù)交互的準確性是ー個十分重要的問題,對于用戶來說數(shù)據(jù)就是企業(yè)的生命線,數(shù)據(jù)傳輸?shù)陌踩?,?shù)據(jù)傳輸?shù)臏蚀_性,對數(shù)據(jù)在傳輸過程中丟失,或者數(shù)據(jù)傳輸錯誤,系統(tǒng)能否自動容錯都是現(xiàn)在需要重要解決的ー個問題。數(shù)據(jù)傳輸?shù)姆椒ㄒ苍絹碓绞艿杰浖_發(fā)人員的重視,目前數(shù)據(jù)傳輸?shù)氖侄问谴蠖际峭ㄟ^TCP協(xié)議或者UDP協(xié)議來進行數(shù)據(jù)的傳輸,UDP協(xié)議不提供數(shù)據(jù)包分組、組裝和不能對數(shù)據(jù)包進行排序的缺點,也就是說,當報文發(fā)送之后,是無法得知其是否安全完整到達的,TCP協(xié)議通過三個報文段完成連接的建立,這個過程稱為三次握手(three-wayhandshake)。第一次握手建立連接時,客戶端發(fā)送SYN包(SEQ = X)到服務(wù)器,并進入SYN_SEND狀態(tài),等待服務(wù)器確認。第二次握手服務(wù)器收到SYN包,必須確認客戶的SYN(ACK =x+1),同時自己也送ー個SYN包(SEQ = y),即SYN+ACK包,此時服務(wù)器進入SYN_RECV狀態(tài)。第三次握手客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認包ACK(ACK = y+1),此包發(fā)送完畢,客戶端和服務(wù)器進入Established狀態(tài),完成三次握手。雖然TCP協(xié)議比UDP協(xié)議在傳輸?shù)臏蚀_性上有了很大的提高,但是如果在傳輸過程中出錯,TCP協(xié)議是無法解決的?,F(xiàn)有的技術(shù)存在如下的弊端一是通過現(xiàn)有技術(shù)仍然只能采用先建立連接的方法來確定數(shù)據(jù)傳輸?shù)臏蚀_性,對數(shù)據(jù)包的檢驗比較弱。在多播廣播中還可能使數(shù)據(jù)包發(fā)生串包。導(dǎo)致接收到的數(shù)據(jù)不準確甚至接收到錯誤的數(shù)據(jù)。UDP協(xié)議不提供數(shù)據(jù)包分組、組裝和不能對數(shù)據(jù)包進行排序的缺點,也就是說,當報文發(fā)送之后,是無法得知其是否安全完整到達的。TCP協(xié)議雖然彌補了 UDP協(xié)議的不足,但是也只能確定數(shù)據(jù)是否能正常的傳輸?shù)侥康牡兀瑢?shù)據(jù)的準確性不進行驗證,遇到錯誤的數(shù)據(jù)包也不能自動的修復(fù)。對錯誤的數(shù)據(jù)只能響應(yīng)接收,不能再請求服務(wù)器發(fā)送正確的數(shù)據(jù)。雖然在傳輸數(shù)據(jù)的過程中可以通過某些組件來完成數(shù)據(jù)的容錯性,但是通過第三方組件會使原本的協(xié)議高傳輸效率這ー特點大大折扣,而且相同的組件對不同的系統(tǒng)支持的程序也不相同,導(dǎo)致兼容性差、系統(tǒng)間的數(shù)據(jù)傳輸速度慢,達不到數(shù)據(jù)傳輸?shù)淖罴研Ч1景l(fā)明要解決的問題是提供ー種數(shù)據(jù)傳輸容錯方法,通過Socket技術(shù)中的數(shù)據(jù)緩存機制對數(shù)據(jù)進行校驗、容錯,并將正確的數(shù)據(jù)包發(fā)響應(yīng)到相應(yīng)的地點。對傳輸過程中的數(shù)據(jù)包丟失或數(shù)據(jù)包錯誤能及時的將消息發(fā)送給服務(wù)器端并要求重新接收數(shù)據(jù),在數(shù)據(jù)的傳輸過程中就能對正確的數(shù)據(jù)和錯誤的數(shù)據(jù)進行并行處理。保證到達目的地的數(shù)據(jù)的準確性。顯然,本發(fā)明更能方便、有效、安全的傳輸數(shù)據(jù)。

發(fā)明內(nèi)容
本發(fā)明的目的在于針對以上現(xiàn)有技術(shù)存在的不足,提供一種基于Socket協(xié)議的數(shù)據(jù)傳輸容錯系統(tǒng),以克服現(xiàn)有技術(shù)中數(shù)據(jù)傳輸準確性不夠的問題。為了達到以上目的,本發(fā)明包含如下組成部分建立模塊——建立基于Socket協(xié)議的通訊模式,并且驗證連接是否可用;生成模塊——定義數(shù)據(jù)交換過程中的數(shù)據(jù)包格式,數(shù)據(jù)包格式有3部分組成協(xié)議頭、功能碼、數(shù)據(jù)(請求或接收的數(shù)據(jù) ),并且對每個數(shù)據(jù)包的協(xié)議頭進行定義,并將數(shù)據(jù)包封裝到寄存器中;緩沖處理模塊——采用寄存器技術(shù)對服務(wù)器端和客戶端的數(shù)據(jù)進行緩沖處理;為實現(xiàn)本發(fā)明的功能,上述功能模塊還包括如下子模塊 建立通訊模塊——建立連接模塊和驗證連接模塊——通過建立連接子模塊,將服務(wù)器和客戶端建立連接?!ㄟ^驗證連接子模塊,在服務(wù)器和客戶端建立連接后,自動識別服務(wù)器和客戶端間的是否正常,若連接異常,將斷開連接,重新建立連接。生成模塊——拆分子模塊、定義協(xié)議頭子模塊、定義功能碼子模塊、數(shù)據(jù)封裝子模塊——按照數(shù)據(jù)大小將數(shù)據(jù)拆分成各個數(shù)據(jù)包?!x協(xié)議頭,協(xié)議頭主要有事務(wù)ID標識、數(shù)據(jù)包大小。——定義2個功能碼(十進制)1、讀取寄存器里的值,2、寫入寄存器里的值。——對數(shù)據(jù)進行數(shù)據(jù)包封裝,存儲到寄存器中。緩沖處理模塊——Socket緩沖區(qū)驗證子模塊、并行處理子模塊——通過Socket緩沖區(qū)驗證子模塊,驗證數(shù)據(jù)包中包含寄存器的數(shù)量,計算從服務(wù)器端返回數(shù)據(jù)的大小,進行驗證?!ㄟ^并行處理子模塊,對驗證不正確的數(shù)據(jù)包進行處理。并將信息發(fā)送回服務(wù)器要求重新發(fā)送數(shù)據(jù)。對正確的數(shù)據(jù)直接進行下載。采用并行的方式可以提高傳輸?shù)乃俣取J褂貌襟E為步驟ー登錄系統(tǒng),系統(tǒng)將通過建立模塊自動建立服務(wù)器與客戶端之間的連接。驗證連接,確保連接暢通。步驟ニ 生成模塊對數(shù)據(jù)進行數(shù)據(jù)包分配,自動生成數(shù)據(jù)包,數(shù)據(jù)包的格式協(xié)議頭、功能碼、數(shù)據(jù)(請求或接收的數(shù)據(jù))。生成模塊對每個數(shù)據(jù)包的協(xié)議頭的字段再進行定義,協(xié)議頭有2個字段組成事務(wù)ID標識、數(shù)據(jù)包的大小。步驟三生成模塊對所有的數(shù)據(jù)包進行數(shù)據(jù)封裝,將數(shù)據(jù)包存儲到寄存器中。步驟四緩沖處理模塊根據(jù)事務(wù)ID標識查詢所有的數(shù)據(jù)包并且將數(shù)據(jù)包存放到Socket緩沖區(qū)中進行驗證。通過并行處理對數(shù)據(jù)包進行驗證傳輸。并最終發(fā)送到客戶端。如此,通過本發(fā)明,可以避免接收到錯誤數(shù)據(jù),保證用戶下載下來的數(shù)據(jù)都是正確的,可以減少下載文件的時間,和下載文件的準確性,大大提高了用戶的工作效率。
具體實施方式
實施例一使用Microsoft VisualStudio. Net2008開發(fā)工具開發(fā)服務(wù)器端和客戶端運行軟件,具體方式為建立模塊——建立基于Socket協(xié)議的通訊模式,并且驗證連接是否可用,建立模塊包括建立連接子模塊建立服務(wù)器端和客戶端之間的通訊;驗證連接子模塊驗證服務(wù)器端和客戶端之間的通訊是否已經(jīng)建立,通訊是否正常。
生成模塊——定義數(shù)據(jù)交換過程中的數(shù)據(jù)包格式,數(shù)據(jù)包格式有3部分組成協(xié)議頭、功能碼、數(shù)據(jù)(請求或接收的數(shù)據(jù)),并且對每個數(shù)據(jù)包的協(xié)議頭進行定義,并將數(shù)據(jù)包封裝到寄存器中,生成模塊包括定義功能碼子模塊拆分子模塊、定義協(xié)議頭子模塊、定義功能碼子模塊、數(shù)據(jù)封裝子模塊拆分子模塊將數(shù)據(jù)按照指定的算法算出最佳的數(shù)據(jù)包數(shù)量,算法是按照網(wǎng)絡(luò)的帶寬,數(shù)據(jù)的大小來進行計算的,然后對數(shù)據(jù)進行拆分。定義協(xié)議頭子模塊定義協(xié)議頭的字段,協(xié)議頭有2個字段組成事務(wù)ID標識、數(shù)據(jù)包的大小。數(shù)據(jù)包在傳輸過程中會建立,對每ー個請求都會建立ー個唯一表示符。定義功能碼子模塊定義2個功能碼(十進制)1、讀取寄存器里的值,2、寫入寄存器里的值。數(shù)據(jù)封裝子模塊將協(xié)議頭、功能碼、數(shù)據(jù)組成的數(shù)據(jù)包進行封裝,存儲到寄存器中。緩沖處理模塊——Socket緩沖區(qū)驗證子模塊、并行處理子模塊包括Socket緩沖區(qū)驗證子模塊通過Socket緩沖區(qū)驗證子模塊,驗證數(shù)據(jù)包中包含寄存器的數(shù)量,計算從服務(wù)器端返回數(shù)據(jù)的大小,進行驗證;在數(shù)據(jù)沒有差錯的正常情況下,客戶端每次發(fā)送請求后,其請求包里面包含需要讀取的寄存器數(shù)量,能算出從服務(wù)器端返回的數(shù)據(jù)大小,這樣就能確定讀完服務(wù)器端返回的所有緩沖區(qū)中的數(shù)據(jù);每次交互后,Socket緩沖區(qū)中都為空,則整個過程沒有問題。如果服務(wù)器端出錯,或者數(shù)據(jù)串包等異常情況下,客戶端不能確定服務(wù)器端返回的數(shù)據(jù)包(占用的緩沖區(qū))有多大;因此,毎次讀取完數(shù)據(jù)時,直接把Socket給清除掉;然后下次需要讀取或發(fā)送數(shù)據(jù)的時候,再重新建立Socket 連接。并行處理子模塊對驗證不正確的數(shù)據(jù)包進行處理。并將信息發(fā)送回服務(wù)器要求重新發(fā)送數(shù)據(jù)。對正確的數(shù)據(jù)直接進行下載。采用并行的方式可以提高傳輸?shù)乃俣?。使用步驟為步驟ー登錄系統(tǒng),系統(tǒng)將通過此建立模塊自動建立服務(wù)器與客戶端之間的連接。服務(wù)器對客戶端傳來的信息進行驗證,如果連接可用,則建立連接。步驟ニ 生成模塊按照數(shù)據(jù)的大小,網(wǎng)絡(luò)的帶寬,讓數(shù)據(jù)按照算法進行數(shù)據(jù)拆分,拆分成各個數(shù)據(jù)包以便對數(shù)據(jù)的準確性進行驗證,拆分成數(shù)據(jù)包也便于大數(shù)據(jù)的并行傳輸,數(shù)據(jù)包的格式協(xié)議頭、功能碼、數(shù)據(jù)(請求或接收的數(shù)據(jù))。定義協(xié)議頭子模塊對再對每個數(shù)據(jù)包的協(xié)議頭字段再進行定義,協(xié)議頭有2個字段組成事務(wù)ID標識、數(shù)據(jù)包的大小。步驟三生成模塊將已經(jīng)定義好的功能碼、協(xié)議頭和數(shù)據(jù)的數(shù)據(jù)包進行數(shù)據(jù)包封裝,將數(shù)據(jù)包存儲到寄存器中,以便傳輸。步驟四緩沖處理模塊根據(jù)事務(wù)ID標識查詢出傳輸數(shù)據(jù)的所有數(shù)據(jù)包并且將數(shù)據(jù)包存放到Socket緩沖區(qū)中進行驗證。通過并行處理對數(shù)據(jù)包進行驗證傳輸下載。對正確的數(shù)據(jù)包直接傳輸,把錯誤的數(shù)據(jù)包發(fā)送回服務(wù)器端并且要求服務(wù)器端重新發(fā)送新的數(shù)據(jù)包。并最終發(fā)送到客戶端。
除上述實施例外,本發(fā)明還可以有其他實施方式。凡采用等同替換或等效變換形成的技術(shù)方案,均落在本發(fā)明要求的保護范圍。
權(quán)利要求
1.一種基于Socket協(xié)議的數(shù)據(jù)傳輸容錯系統(tǒng),其特征在于完成數(shù)據(jù)傳輸容錯方法包括如下模塊 建立模塊——建立基于Socket協(xié)議的通訊模式,并且驗證連接是否可用; 生成模塊——定義數(shù)據(jù)交換過程中的數(shù)據(jù)包格式,數(shù)據(jù)包格式有3部分組成協(xié)議頭、功能碼、數(shù)據(jù)(請求或接收的數(shù)據(jù)),并且對每個數(shù)據(jù)包的協(xié)議頭進行定義,并將數(shù)據(jù)包封裝到寄存器中; 緩沖處理模塊——采用寄存器技術(shù)對服務(wù)器端和客戶端的數(shù)據(jù)進行緩沖處理。
2.根據(jù)權(quán)利要求1所述一種基于Socket協(xié)議的數(shù)據(jù)傳輸容錯系統(tǒng),其特征還在于完成數(shù)據(jù)傳輸容錯還需要如下步驟 步驟一登錄系統(tǒng),系統(tǒng)將通過建立模塊自動建立服務(wù)器與客戶端之間的連接。驗證連接,確保連接暢通; 步驟二 生成模塊對數(shù)據(jù)進行數(shù)據(jù)包分配,自動生成數(shù)據(jù)包,數(shù)據(jù)包的格式協(xié)議頭、功能碼、數(shù)據(jù)(請求或接收的數(shù)據(jù))。生成模塊對每個數(shù)據(jù)包的協(xié)議頭的字段再進行定義,協(xié)議頭有2個字段組成事務(wù)ID標識、數(shù)據(jù)包的大?。? 步驟三生成模塊對所有的數(shù)據(jù)包進行數(shù)據(jù)封裝,將數(shù)據(jù)包存儲到寄存器中; 步驟四緩沖處理模塊根據(jù)事務(wù)ID標識查詢所有的數(shù)據(jù)包并且將數(shù)據(jù)包存放到Socket緩沖區(qū)中進行驗證。通過并行處理對數(shù)據(jù)包進行驗證傳輸。并最終發(fā)送到客戶端。
全文摘要
本發(fā)明涉及一種數(shù)據(jù)傳輸容錯的系統(tǒng),尤其是一種基于Socket協(xié)議的數(shù)據(jù)傳輸容錯系統(tǒng)。本發(fā)明屬于通信技術(shù)領(lǐng)域。本發(fā)明實現(xiàn)的基于Socket協(xié)議的數(shù)據(jù)傳輸容錯系統(tǒng),其特征在于能夠通過建立模塊建立客戶端與服務(wù)器端的可靠連接模塊、完成定義數(shù)據(jù)在傳輸過程中標準的數(shù)據(jù)包格式模塊、完成定義協(xié)議頭的字段模塊、完成對數(shù)據(jù)進行數(shù)據(jù)包封裝模塊、完成Socket緩沖區(qū)驗證數(shù)據(jù)包準確性模塊、完成數(shù)據(jù)包傳輸并行處理模塊。本發(fā)明突破了傳統(tǒng)的TCP或UDP協(xié)議傳輸數(shù)據(jù)的模式,有效提高了獲取數(shù)據(jù)的準確性和實時性,有效杜絕網(wǎng)絡(luò)傳輸中錯誤數(shù)據(jù),更好的滿足了用戶在獲取數(shù)據(jù)時實時性和準確性的要求。
文檔編號H04L29/08GK103023602SQ20111027863
公開日2013年4月3日 申請日期2011年9月20日 優(yōu)先權(quán)日2011年9月20日
發(fā)明者王志剛 申請人:鎮(zhèn)江雅迅軟件有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
泗洪县| 新津县| 光泽县| 泸州市| 鄂尔多斯市| 方城县| 洛川县| 南部县| 平塘县| 大理市| 抚松县| 罗平县| 通榆县| 交城县| 横峰县| 武平县| 承德市| 托克托县| 太原市| 岑巩县| 雷州市| 温州市| 嵩明县| 绥化市| 大方县| 襄垣县| 尼木县| 澄城县| 高台县| 江安县| 河曲县| 古浪县| 龙州县| 什邡市| 平乡县| 肥西县| 木兰县| 葫芦岛市| 抚州市| 牡丹江市| 镇赉县|