亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)報(bào)文傳輸方法和系統(tǒng)的制作方法

文檔序號(hào):7870238閱讀:238來源:國知局
專利名稱:數(shù)據(jù)報(bào)文傳輸方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)傳輸技術(shù),特別是涉及一種數(shù)據(jù)報(bào)文傳輸方法和系統(tǒng)。
背景技術(shù)
隨著互聯(lián)網(wǎng)的迅猛發(fā)展,長肥網(wǎng)絡(luò)(Long Fat Network)越來越普遍,而對(duì)數(shù)據(jù)敏感的網(wǎng)絡(luò)應(yīng)用也越來越多,例如,視頻應(yīng)用和音頻應(yīng)用將占用了大量的網(wǎng)絡(luò)資源,進(jìn)而使得網(wǎng)絡(luò)中的擁塞現(xiàn)象變得越來越嚴(yán)重,應(yīng)用傳統(tǒng)的傳輸方式將無法滿足當(dāng)前的網(wǎng)絡(luò)傳輸要求。
TCP協(xié)議(Transmission Control Protocol),即傳輸控制協(xié)議,是當(dāng)前使用較多的數(shù)據(jù)傳輸協(xié)議,以提供端到端的可靠數(shù)據(jù)傳輸。然而,在應(yīng)用傳輸控制協(xié)議進(jìn)行數(shù)據(jù)報(bào)文傳輸時(shí),若發(fā)生數(shù)據(jù)報(bào)文丟失的現(xiàn)象時(shí),只能等待數(shù)據(jù)發(fā)送端進(jìn)行重傳。
具體的,數(shù)據(jù)發(fā)送端發(fā)送了多個(gè)數(shù)據(jù)報(bào)文,數(shù)據(jù)接收端在接收到數(shù)據(jù)報(bào)文時(shí)將會(huì)向數(shù)據(jù)發(fā)送端發(fā)送確認(rèn)(ACK)信息,若數(shù)據(jù)接收端未接收到報(bào)文信息則不可能發(fā)送任何確認(rèn)信息,數(shù)據(jù)發(fā)送端只有通過重傳計(jì)時(shí)器的超時(shí)獲知數(shù)據(jù)報(bào)文的傳輸過程中發(fā)生了數(shù)據(jù)報(bào)文的丟棄現(xiàn)象,進(jìn)而進(jìn)行數(shù)據(jù)報(bào)文的重傳。
然而,當(dāng)前所使用的TCP連接將會(huì)因?yàn)榈却?jì)時(shí)器的超時(shí)而閑置非常長的時(shí)間, 進(jìn)而造成網(wǎng)絡(luò)帶寬的嚴(yán)重浪費(fèi)。發(fā)明內(nèi)容
基于此,有必要提供一種能降低網(wǎng)絡(luò)帶寬浪費(fèi)的數(shù)據(jù)報(bào)文傳輸方法。
另外,還有必要提供一種能降低網(wǎng)絡(luò)帶寬浪費(fèi)的數(shù)據(jù)報(bào)文傳輸系統(tǒng)。
一種數(shù)據(jù)報(bào)文傳輸方法,包括如下步驟
接收建立連接后傳輸?shù)氖讉€(gè)數(shù)據(jù)報(bào)文;
從所述首個(gè)數(shù)據(jù)報(bào)文的選項(xiàng)域中提取待傳輸數(shù)據(jù)長度;
獲取數(shù)據(jù)報(bào)文的接收等待時(shí)間,根據(jù)所述接收等待時(shí)間和待傳輸數(shù)據(jù)長度發(fā)送報(bào)文丟失消息;
接收根據(jù)報(bào)文丟失消息重傳的數(shù)據(jù)報(bào)文。
在其中一個(gè)實(shí)施例中,所述接收通過建立的連接傳輸?shù)氖讉€(gè)數(shù)據(jù)報(bào)文的步驟之前還包括
建立連接,并通過連接建立數(shù)據(jù)報(bào)文中的選項(xiàng)域,并進(jìn)行協(xié)商;
成功協(xié)商后封裝首個(gè)數(shù)據(jù)報(bào)文,并將待傳輸數(shù)據(jù)長度封裝于所述首個(gè)數(shù)據(jù)報(bào)文的選項(xiàng)域中。
在其中一個(gè)實(shí)施例中,所述根據(jù)所述接收等待時(shí)間和待傳輸數(shù)據(jù)長度發(fā)送報(bào)文丟失消息的步驟包括
根據(jù)所述待傳輸數(shù)據(jù)長度判斷進(jìn)行的后續(xù)數(shù)據(jù)報(bào)文傳輸是否結(jié)束,若否,則
進(jìn)一步判斷后續(xù)數(shù)據(jù)報(bào)文的接收等待時(shí)間是否達(dá)到接收數(shù)據(jù)報(bào)文的時(shí)間間隔,若是,則向數(shù)據(jù)發(fā)送端發(fā)送報(bào)文丟失消息。
在其中一個(gè)實(shí)施例中,所述根據(jù)所述待傳輸數(shù)據(jù)長度判斷進(jìn)行的后續(xù)數(shù)據(jù)報(bào)文傳輸是否結(jié)束的步驟為
根據(jù)首個(gè)數(shù)據(jù)報(bào)文和/或后續(xù)數(shù)據(jù)報(bào)文對(duì)應(yīng)的長度統(tǒng)計(jì)已接收的數(shù)據(jù)報(bào)文長度;
判斷所述已接收的數(shù)據(jù)報(bào)文長度是否達(dá)到待傳輸數(shù)據(jù)長度,若否,則
進(jìn)入所述進(jìn)一步判斷所述統(tǒng)計(jì)的接收等待時(shí)間是否達(dá)到接收數(shù)據(jù)報(bào)文的時(shí)間間隔的步驟。
在其中一個(gè)實(shí)施例中,所述進(jìn)一步判斷數(shù)據(jù)報(bào)文的接收等待時(shí)間是否達(dá)到接收數(shù)據(jù)報(bào)文的時(shí)間間隔的步驟之前還包括
首個(gè)數(shù)據(jù)報(bào)文或后續(xù)數(shù)據(jù)報(bào)文的接收完畢時(shí)觸發(fā)計(jì)時(shí)以統(tǒng)計(jì)接收等待時(shí)間。
一種數(shù)據(jù)報(bào)文傳輸系統(tǒng),包括數(shù)據(jù)接收端,所述數(shù)據(jù)接收端包括
接收模塊,用于接收通過建立的連接傳輸?shù)氖讉€(gè)數(shù)據(jù)報(bào)文和后續(xù)數(shù)據(jù)報(bào)文;
提取模塊,用于從所述首個(gè)數(shù)據(jù)報(bào)文的選項(xiàng)域中提取待傳輸數(shù)據(jù)長度;
控制模塊,用于獲取后續(xù)數(shù)據(jù)報(bào)文的接收等待時(shí)間,根據(jù)所述接收等待時(shí)間和待傳輸數(shù)據(jù)長度發(fā)送報(bào)文丟失消息;
所述接收模塊還用于接收?qǐng)?bào)文丟失消息重傳的數(shù)據(jù)報(bào)文。
在其中一個(gè)實(shí)施例中,還包括
數(shù)據(jù)發(fā)送端,用于建立連接,并通過連接建立數(shù)據(jù)報(bào)文中的選項(xiàng)域,并進(jìn)行協(xié)商, 成功協(xié)商后封裝首個(gè)數(shù)據(jù)報(bào)文,將待傳輸數(shù)據(jù)長度封裝于所述首個(gè)數(shù)據(jù)報(bào)文的選取域中。
在其中一個(gè)實(shí)施例中,所述控制模塊包括
傳輸判斷單元,用于根據(jù)所述待傳輸數(shù)據(jù)長度判斷進(jìn)行的后續(xù)數(shù)據(jù)報(bào)文傳輸是否結(jié)束,若否,則通知時(shí)間判斷單元;
所述時(shí)間判斷單元用于判斷數(shù)據(jù)報(bào)文的接收等待時(shí)間是否達(dá)到接收數(shù)據(jù)報(bào)文的時(shí)間間隔,若是,則通知發(fā)送單元;
所述發(fā)送單元用于向所述數(shù)據(jù)發(fā)送端發(fā)送報(bào)文丟失消息。
在其中一個(gè)實(shí)施例中,所述傳輸判斷單元包括
長度統(tǒng)計(jì)單元,用于根據(jù)首個(gè)數(shù)據(jù)報(bào)文和/或后續(xù)數(shù)據(jù)報(bào)文對(duì)應(yīng)的長度統(tǒng)計(jì)已接收的數(shù)據(jù)報(bào)文長度;
長度判斷單元,用于判斷所述已接收的數(shù)據(jù)報(bào)文長度是否達(dá)到待傳輸數(shù)據(jù)長度, 若否,則通知所述時(shí)間判斷單元。
在其中一個(gè)實(shí)施例中,所述控制模塊還包括
計(jì)時(shí)器,用于首個(gè)數(shù)據(jù)報(bào)文或后續(xù)數(shù)據(jù)報(bào)文的接收完畢時(shí)觸發(fā)計(jì)時(shí)以統(tǒng)計(jì)接收等待時(shí)間。
上述數(shù)據(jù)報(bào)文傳輸方法和系統(tǒng),建立連接之后在接收到的首個(gè)數(shù)據(jù)報(bào)文時(shí),將從首個(gè)數(shù)據(jù)報(bào)文中提取待傳輸數(shù)據(jù)長度,根據(jù)后續(xù)數(shù)據(jù)報(bào)文的接收等待時(shí)間和待傳輸數(shù)據(jù)長度獲知當(dāng)前發(fā)生了后續(xù)數(shù)據(jù)報(bào)文丟失的情況,進(jìn)而發(fā)送報(bào)文丟失消息,與現(xiàn)有技術(shù)相比較, 由于后續(xù)數(shù)據(jù)報(bào)文丟失的情況進(jìn)基于數(shù)據(jù)報(bào)文的接收等待時(shí)間獲知的,后續(xù)數(shù)據(jù)報(bào)文的接待等待時(shí)間遠(yuǎn)小于超時(shí)重傳時(shí)間,進(jìn)而使得當(dāng)前所使用的連接不需要等待過長的時(shí)間即可進(jìn)行丟失數(shù)據(jù)報(bào)文的重傳,降低了網(wǎng)絡(luò)帶寬的浪費(fèi)。


圖1為一個(gè)實(shí)施例中數(shù)據(jù)報(bào)文傳輸方法的流程圖2為另一個(gè)實(shí)施例中數(shù)據(jù)報(bào)文傳輸方法的流程圖3為一個(gè)實(shí)施例中選項(xiàng)域的示意圖4為一個(gè)實(shí)施例中根據(jù)接收等待時(shí)間和待傳輸數(shù)據(jù)長度發(fā)送報(bào)文丟失消息的方法流程圖5為一個(gè)實(shí)施例中根據(jù)待傳輸數(shù)據(jù)長度判斷進(jìn)行的后續(xù)數(shù)據(jù)報(bào)文傳輸是否結(jié)束的方法流程圖6為一個(gè)實(shí)施例中數(shù)據(jù)報(bào)文傳輸方法的應(yīng)用示意圖7為圖6中數(shù)據(jù)報(bào)文傳輸?shù)臅r(shí)序圖8為一個(gè)實(shí)施例中數(shù)據(jù)報(bào)文傳輸系統(tǒng)的結(jié)構(gòu)示意圖9為另一個(gè)實(shí)施例中數(shù)據(jù)報(bào)文傳輸系統(tǒng)的結(jié)構(gòu)示意圖10為一個(gè)實(shí)施例中控制模塊的結(jié)構(gòu)示意圖;
圖11為一個(gè)實(shí)施例中傳輸判斷單元的結(jié)構(gòu)示意圖。
具體實(shí)施方式
如圖1所示,在一個(gè)實(shí)施例中,一種數(shù)據(jù)報(bào)文傳輸方法,包括如下步驟
步驟S110,接收建立連接后傳輸?shù)氖讉€(gè)數(shù)據(jù)報(bào)文。
本實(shí)施例中,接收到的首個(gè)數(shù)據(jù)報(bào)文是當(dāng)前連接被建立之后所傳輸?shù)牡谝粋€(gè)數(shù)據(jù)報(bào)文。首個(gè)數(shù)據(jù)報(bào)文是通過TCP協(xié)議傳輸?shù)摹?br> 如圖2所示,在一個(gè)實(shí)施例中,上述步驟SllO之前還包括
步驟S210,建立連接,并通過連接建立數(shù)據(jù)報(bào)文中的選項(xiàng)域,并進(jìn)行協(xié)商。
本實(shí)施例中,為進(jìn)行數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端之間的數(shù)據(jù)報(bào)文傳輸,數(shù)據(jù)發(fā)送端將與數(shù)據(jù)接收端建立連接,并向數(shù)據(jù)接收端發(fā)送協(xié)商報(bào)文,以確定數(shù)據(jù)接收端是否同意在數(shù)據(jù)報(bào)文中添加傳輸數(shù)據(jù)長度這一信息,并進(jìn)一步說明這一信息的作用。
步驟S230,成功協(xié)商后封裝首個(gè)數(shù)據(jù)報(bào)文,并將待傳輸數(shù)據(jù)長度封裝于首個(gè)數(shù)據(jù)報(bào)文的選項(xiàng)域中。
本實(shí)施例中,數(shù)據(jù)傳輸雙方進(jìn)行成功協(xié)商之后將進(jìn)行首個(gè)數(shù)據(jù)報(bào)文的封裝,獲取本次數(shù)據(jù)報(bào)文傳輸所需要傳輸?shù)臄?shù)據(jù)長度,即待傳輸數(shù)據(jù)長度,進(jìn)而將獲取的待傳輸數(shù)據(jù)長度封裝到首個(gè)數(shù)據(jù)報(bào)文的選項(xiàng)域中。
其中,首個(gè)數(shù)據(jù)報(bào)文包括報(bào)文頭和數(shù)據(jù)區(qū),數(shù)據(jù)區(qū)用于填充需要傳輸?shù)臄?shù)據(jù),報(bào)文頭包括各種提示選項(xiàng)信息,即選項(xiàng)域。
如圖3所示,選項(xiàng)域包括類型域Kind、長度域Length和待傳輸數(shù)據(jù)長度Data_sum 三部分,其中,類型域?yàn)镮個(gè)字節(jié),長度域?yàn)镮個(gè)字節(jié),待傳輸數(shù)據(jù)長度將為4個(gè)或更多個(gè)字節(jié),在此不做限定。
步驟S130,從首個(gè)數(shù)據(jù)報(bào)文的選項(xiàng)域中提取待傳輸數(shù)據(jù)長度。
本實(shí)施例中,在數(shù)據(jù)接收端接收到發(fā)送的首個(gè)數(shù)據(jù)報(bào)文之后,將從數(shù)據(jù)報(bào)文中提取記錄于選項(xiàng)域中的待傳輸數(shù)據(jù)長度,并存儲(chǔ)該待傳輸數(shù)據(jù)長度,以便于查看當(dāng)前所需要傳輸?shù)臄?shù)據(jù)長度。
步驟S150,獲取后續(xù)數(shù)據(jù)報(bào)文的接收等待時(shí)間,根據(jù)接收等待時(shí)間和待傳輸數(shù)據(jù)長度發(fā)送報(bào)文丟失消息。
本實(shí)施例中,后續(xù)數(shù)據(jù)報(bào)文是繼首個(gè)數(shù)據(jù)報(bào)文之后數(shù)據(jù)接收端接收到的數(shù)據(jù)報(bào)文。后續(xù)數(shù)據(jù)報(bào)文的接收等待時(shí)間是在當(dāng)前數(shù)據(jù)報(bào)文接收完畢之時(shí)開始統(tǒng)計(jì)所得到的時(shí)間,這一時(shí)間統(tǒng)計(jì)將在下一數(shù)據(jù)報(bào)文接收開始時(shí)結(jié)束。
根據(jù)接收等待時(shí)間和待傳輸數(shù)據(jù)長度主動(dòng)向數(shù)據(jù)發(fā)送端發(fā)送報(bào)文丟失消息,以實(shí)現(xiàn)數(shù)據(jù)報(bào)文丟棄現(xiàn)象的主動(dòng)反饋,而接收等待時(shí)間將是小于或者等于接收?qǐng)?bào)文的時(shí)間間隔的,接收?qǐng)?bào)文的時(shí)間間隔是正常情況中上一數(shù)據(jù)報(bào)文接收完畢至下一數(shù)據(jù)報(bào)文開始接收之間的時(shí)間間隔,由于該時(shí)間間隔是遠(yuǎn)小于超時(shí)重傳時(shí)間的,因此,當(dāng)前所建立的連接不會(huì)出現(xiàn)長時(shí)間空閑的狀態(tài),進(jìn)而降低網(wǎng)絡(luò)帶寬的浪費(fèi),提高網(wǎng)絡(luò)傳輸效率。
如圖4所示,上述根據(jù)接收等待時(shí)間和待傳輸數(shù)據(jù)長度發(fā)送報(bào)文丟失消息的具體過程為
步驟S151,根據(jù)待傳輸數(shù)據(jù)長度判斷進(jìn)行的數(shù)據(jù)報(bào)文傳輸是否結(jié)束,若是則結(jié)束, 若否,則進(jìn)入步驟S153。
本實(shí)施例中,在數(shù)據(jù)接收端以待傳輸數(shù)據(jù)長度為依據(jù),判斷當(dāng)前所進(jìn)行的數(shù)據(jù)傳輸是否已經(jīng)完成所有數(shù)據(jù)報(bào)文的傳輸,若是,則不需要進(jìn)行處理,若否,則說明后續(xù)數(shù)據(jù)報(bào)文還未傳輸完畢,數(shù)據(jù)接收端還應(yīng)當(dāng)接收到后續(xù)數(shù)據(jù)報(bào)文,因此,將進(jìn)入步驟S153中進(jìn)行進(jìn)一步的判斷。
如圖5所示,在一個(gè)實(shí)施例中,上述步驟S151的具體過程為
步驟S1511,根據(jù)首個(gè)數(shù)據(jù)報(bào)文和/或后續(xù)數(shù)據(jù)報(bào)文對(duì)應(yīng)的長度統(tǒng)計(jì)已接收的數(shù)據(jù)報(bào)文長度。
本實(shí)施例中,在數(shù)據(jù)接收端不斷接收后續(xù)數(shù)據(jù)報(bào)文的過程中,將根據(jù)接收到的首個(gè)數(shù)據(jù)報(bào)文和/或后續(xù)數(shù)據(jù)報(bào)文進(jìn)行長度統(tǒng)計(jì),以得到當(dāng)前所接收到的數(shù)據(jù)報(bào)文長度。
步驟S1513,判斷已接收的數(shù)據(jù)報(bào)文長度是否達(dá)到待傳輸數(shù)據(jù)長度,若否,則進(jìn)入步驟S153,若是,則結(jié)束。
本實(shí)施例中,讀取存儲(chǔ)的待 輸數(shù)據(jù)長度,判斷統(tǒng)計(jì)得到的已接收的數(shù)據(jù)報(bào)文長度是否達(dá)到了讀取的待傳輸數(shù)據(jù)長度,若否,則進(jìn)入步驟S153中進(jìn)行進(jìn)一步的判斷,若是, 則說明當(dāng)前連接所進(jìn)行的數(shù)據(jù)報(bào)文傳輸已經(jīng)完成,所有后續(xù)數(shù)據(jù)報(bào)文均已經(jīng)完整的傳輸完畢,未丟棄任一后續(xù)數(shù)據(jù)報(bào)文。
步驟S153,進(jìn)一步判斷后續(xù)數(shù)據(jù)報(bào)文的接收等待時(shí)間是否達(dá)到接收數(shù)據(jù)報(bào)文的時(shí)間間隔,若是,則進(jìn)入步驟S155,若否,則進(jìn)入步驟S157。
本實(shí)施例中,若判斷到已接收的數(shù)據(jù)報(bào)文長度還未達(dá)到待傳輸數(shù)據(jù)長度,則說明數(shù)據(jù)接收端還應(yīng)當(dāng)接收到后續(xù)數(shù)據(jù)報(bào)文,此時(shí),數(shù)據(jù)接收端在等待接收新的后續(xù)數(shù)據(jù)報(bào)文。
數(shù)據(jù)接收端在等待接收新的后續(xù)數(shù)據(jù)報(bào)文時(shí),將判斷后續(xù)數(shù)據(jù)報(bào)文的等待接收時(shí)間是否已經(jīng)達(dá)到了接收數(shù)據(jù)報(bào)文的時(shí)間間隔,若是,則說明即將發(fā)送至數(shù)據(jù)接收端的后續(xù)數(shù)據(jù)報(bào)文在達(dá)到該時(shí)間間隔之時(shí),仍未達(dá)到數(shù)據(jù)接收端,因此這一后續(xù)數(shù)據(jù)接收?qǐng)?bào)文發(fā)生了丟棄的可能性非常高,若否,則繼續(xù)進(jìn)行接收等待時(shí)間的統(tǒng)計(jì),以繼續(xù)判斷是否達(dá)到接收后續(xù)數(shù)據(jù)報(bào)文的時(shí)間間隔。
在一個(gè)實(shí)施例中,上述步驟S153之前還包括首個(gè)數(shù)據(jù)報(bào)文或后續(xù)數(shù)據(jù)報(bào)文的接收完畢時(shí)觸發(fā)計(jì)時(shí)以統(tǒng)計(jì)接收等待時(shí)間。
本實(shí)施例中,數(shù)據(jù)接收端在完成首個(gè)數(shù)據(jù)報(bào)文或每一后續(xù)數(shù)據(jù)報(bào)文的接收時(shí),都將觸發(fā)計(jì)算,統(tǒng)計(jì)下一數(shù)據(jù)報(bào)文的接收等待時(shí)間。
步驟S155,向數(shù)據(jù)發(fā)送端發(fā)送報(bào)文丟失消息。
本實(shí)施例中,在判斷到數(shù)據(jù)報(bào)文的接收等待時(shí)間達(dá)到了接收后續(xù)數(shù)據(jù)報(bào)文的時(shí)間間隔,則說明發(fā)生了數(shù)據(jù)報(bào)文丟棄,因此數(shù)據(jù)接收端應(yīng)當(dāng)向數(shù)據(jù)發(fā)送端發(fā)送報(bào)文丟失消息, 進(jìn)而使得數(shù)據(jù)發(fā)送端重新進(jìn)行數(shù)據(jù)報(bào)文的發(fā)送,以保證數(shù)據(jù)接收端所接收到的數(shù)據(jù)報(bào)文的完整性。
步驟S157,繼續(xù)進(jìn)行接收等待時(shí)間的統(tǒng)計(jì)。
本實(shí)施例中,若判斷到后續(xù)數(shù)據(jù)報(bào)文的接收等待時(shí)間尚未達(dá)到接收數(shù)據(jù)報(bào)文的時(shí)間間隔,則繼續(xù)進(jìn)行接收等待時(shí)間的統(tǒng)計(jì),以便于再次進(jìn)行判斷。
步驟S170,接收根據(jù)報(bào)文丟失消息重傳的數(shù)據(jù)報(bào)文。
下面結(jié)合一個(gè)具體的實(shí)施例說明上述數(shù)據(jù)報(bào)文傳輸方法。該實(shí)施例中,如圖6所示,數(shù)據(jù)發(fā)送端601通過TCP連接向數(shù)據(jù)接收端603傳輸數(shù)據(jù)報(bào)文A、B、C、D和E,其中數(shù)據(jù)報(bào)文A為數(shù)據(jù)接收端603接收到的首個(gè)數(shù)據(jù)報(bào)文。
在傳輸?shù)倪^程中,后續(xù)數(shù)據(jù)報(bào)文C、D和E都發(fā)生了丟失的情況,此時(shí),通過上述數(shù)據(jù)報(bào)文傳輸方法,如圖7所示,數(shù)據(jù)發(fā)送端601通過數(shù)據(jù)接收端603所發(fā)送的報(bào)文丟失消息即可在一個(gè)接收數(shù)據(jù)報(bào)文的時(shí)間間隔獲知后續(xù)數(shù)據(jù)報(bào)文發(fā)生的丟棄,進(jìn)而重新發(fā)送數(shù)據(jù)報(bào)文。
如圖8所示,在一個(gè)實(shí)施例中,一種數(shù)據(jù)報(bào)文傳輸 系統(tǒng),包括數(shù)據(jù)接收端10,該數(shù)據(jù)接收端10包括接收模塊110、提取模塊130和控制模塊150。
接收模塊110,用于接收通過建立的連接傳輸?shù)氖讉€(gè)數(shù)據(jù)報(bào)文和后續(xù)數(shù)據(jù)報(bào)文。
本實(shí)施例中,接收模塊110接收到的首個(gè)數(shù)據(jù)報(bào)文是當(dāng)前連接被建立之后所傳輸?shù)牡谝粋€(gè)數(shù)據(jù)報(bào)文。首個(gè)數(shù)據(jù)報(bào)文是通過TCP協(xié)議傳輸?shù)摹?br> 如圖9所示,在一個(gè)實(shí)施例中,上述數(shù)據(jù)報(bào)文傳輸系統(tǒng)還包括數(shù)據(jù)發(fā)送端30。該數(shù)據(jù)發(fā)送端30用于建立連接,并通過連接建立數(shù)據(jù)報(bào)文中的選項(xiàng)域,并進(jìn)行協(xié)商,成功協(xié)商后封裝首個(gè)數(shù)據(jù)報(bào)文,將待傳輸數(shù)據(jù)長度封裝于首個(gè)數(shù)據(jù)報(bào)文的選取域中。
本實(shí)施例中,為進(jìn)行數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端之間的數(shù)據(jù)報(bào)文傳輸,數(shù)據(jù)發(fā)送端 30將與數(shù)據(jù)接收端10建立連接,并向數(shù)據(jù)接收端10發(fā)送協(xié)商報(bào)文,以確定數(shù)據(jù)接收端10 是否同意在數(shù)據(jù)報(bào)文中添加傳輸數(shù)據(jù)長度這一信息,并進(jìn)一步說明這一信息的作用。
數(shù)據(jù)傳輸雙方進(jìn)行成功協(xié)商之后將進(jìn)行首個(gè)數(shù)據(jù)報(bào)文的封裝,數(shù)據(jù)發(fā)送端30獲取本次數(shù)據(jù)報(bào)文傳輸所需要傳輸?shù)臄?shù)據(jù)長度,即待傳輸數(shù)據(jù)長度,進(jìn)而將獲取的待傳輸數(shù)據(jù)長度封裝到首個(gè)數(shù)據(jù)報(bào)文的選項(xiàng)域中。
其中,首個(gè)數(shù)據(jù)報(bào)文包括報(bào)文頭和數(shù)據(jù)區(qū),數(shù)據(jù)區(qū)用于填充需要傳輸?shù)臄?shù)據(jù),報(bào)文頭包括各種提示選項(xiàng)信息,即選項(xiàng)域。
選項(xiàng)域包括類型域Kind、長度域Length和待傳輸數(shù)據(jù)長度Data_sum三部分,其中,類型域?yàn)镮個(gè)字節(jié),長度域?yàn)镮個(gè)字節(jié),待傳輸數(shù)據(jù)長度將為4個(gè)或更多個(gè)字節(jié),在此不做限定。
提取模塊130,用于從首個(gè)數(shù)據(jù)報(bào)文的選項(xiàng)域中提取待傳輸數(shù)據(jù)長度。
本實(shí)施例中,在數(shù)據(jù)接收端10接收到發(fā)送的首個(gè)數(shù)據(jù)報(bào)文之后,提取模塊130將從數(shù)據(jù)報(bào)文中提取記錄于選項(xiàng)域中的待傳輸數(shù)據(jù)長度,并存儲(chǔ)該待傳輸數(shù)據(jù)長度,以便于查看當(dāng)前所需要傳輸?shù)臄?shù)據(jù)長度。
控制模塊150,獲取后續(xù)數(shù)據(jù)報(bào)文的接收等待時(shí)間,根據(jù)接收等待時(shí)間和待傳輸數(shù)據(jù)長度發(fā)送報(bào)文丟失消息。
本實(shí)施例中,后續(xù)數(shù)據(jù)報(bào)文是繼首個(gè)數(shù)據(jù)報(bào)文之后數(shù)據(jù)接收端接收到的數(shù)據(jù)報(bào)文。后續(xù)數(shù)據(jù)報(bào)文的接收等待時(shí)間是在當(dāng)前數(shù)據(jù)報(bào)文接收完畢的時(shí)開始統(tǒng)計(jì)所得到的時(shí)間,這一時(shí)間統(tǒng)計(jì)將在下一數(shù)據(jù)報(bào)文接收開始時(shí)結(jié)束。
控制模塊150根據(jù)接收等待時(shí)間和待傳輸數(shù)據(jù)長度主動(dòng)向數(shù)據(jù)發(fā)送端30發(fā)送報(bào)文丟失消息,以實(shí)現(xiàn)數(shù)據(jù)報(bào)文丟棄現(xiàn)象的主動(dòng)反饋,而接收等待時(shí)間將是小于或者等于接收?qǐng)?bào)文的時(shí)間間隔的,接收?qǐng)?bào)文的時(shí)間間隔是正常情況中上一數(shù)據(jù)報(bào)文接收完畢至下一數(shù)據(jù)報(bào)文開始接收之間的時(shí)間間隔,由于該時(shí)間間隔是遠(yuǎn)小于超時(shí)重傳時(shí)間的,因此,當(dāng)前所建立的連接不會(huì)出現(xiàn)長時(shí)間空閑的狀態(tài),進(jìn)而降低網(wǎng)絡(luò)帶寬的浪費(fèi),提高網(wǎng)絡(luò)傳輸效率。
如圖10所示,在一個(gè)實(shí)施例中,上述控制模塊150包括傳輸判斷單元151、時(shí)間判斷單元153和發(fā)送單元155。
傳輸判斷單元151,用于根據(jù)待傳輸數(shù)據(jù)長度判斷進(jìn)行的數(shù)據(jù)報(bào)文傳輸是否結(jié)束, 若否,則通知時(shí)間判斷單元153,若是,則停止執(zhí)行。
本實(shí)施例中,在數(shù)據(jù)接收端10以待傳輸數(shù)據(jù)長度為依據(jù),傳輸判斷單元151判斷當(dāng)前所進(jìn)行的數(shù)據(jù)傳輸是否已經(jīng)完成所有數(shù)據(jù)報(bào)文的傳輸,若是,則不需要進(jìn)行處理,若否,則說明后續(xù)數(shù)據(jù)報(bào)文還未傳輸完畢,數(shù)據(jù)接收端10還應(yīng)當(dāng)接收到后續(xù)數(shù)據(jù)報(bào)文,因此, 將通知時(shí)間判斷單元153進(jìn)行進(jìn)一步的判斷。
如圖11所示,在一個(gè)實(shí)施例中,上述傳輸判斷單元151包括長度統(tǒng)計(jì)單元1511和長度判斷單元1513。
長度統(tǒng)計(jì)單元1511,用于根據(jù)首個(gè)數(shù)據(jù)報(bào)文和/或后續(xù)數(shù)據(jù)報(bào)文對(duì)應(yīng)的長度統(tǒng)計(jì)已接收的數(shù)據(jù)報(bào)文長度。
本實(shí)施例中,在數(shù)據(jù)接收端不斷接收后續(xù)數(shù)據(jù)報(bào)文的過程中,長度統(tǒng)計(jì)單元1511 將根據(jù)接收到的首個(gè)數(shù)據(jù)報(bào)文和/或后續(xù)數(shù)據(jù)報(bào)文進(jìn)行長度統(tǒng)計(jì),以得到當(dāng)前所接收到的數(shù)據(jù)報(bào)文長度。
長度判斷單元1513,用于判斷已接收的數(shù)據(jù)報(bào)文長度是否達(dá)到待傳輸數(shù)據(jù)長度, 若否,則通知時(shí)間判斷單元153,若是,則停止執(zhí)行。
本實(shí)施例中,長度判斷單元1513讀取存儲(chǔ)的待傳輸數(shù)據(jù)長度,判斷統(tǒng)計(jì)得到的已接收的數(shù)據(jù)報(bào)文長度是否達(dá)到了讀取的待傳輸數(shù)據(jù)長度,若否,則通知時(shí)間判斷單元153 進(jìn)行進(jìn)一步的判斷,若是,則說明當(dāng)前連接所進(jìn)行的數(shù)據(jù)報(bào)文傳輸已經(jīng)完成,所有后續(xù)數(shù)據(jù)報(bào)文已經(jīng)完整的傳輸完畢,未丟棄任一后續(xù)數(shù)據(jù)報(bào)文。
時(shí)間判斷單元153,用于判斷后續(xù)數(shù)據(jù)報(bào)文的接收等待時(shí)間是否達(dá)到接收數(shù)據(jù)報(bào)文的時(shí)間間隔,若是,則通知發(fā)送單元155,若否,則繼續(xù)進(jìn)行接收等待時(shí)間的統(tǒng)計(jì)。
本實(shí)施例中,若判斷到已接收的數(shù)據(jù)報(bào)文長度還未達(dá)到待傳輸數(shù)據(jù)長度,則說明數(shù)據(jù)接收端10還應(yīng)當(dāng)接收到后續(xù)數(shù)據(jù)報(bào)文,此時(shí),數(shù)據(jù)接收端10在等待接收新的后續(xù)數(shù)據(jù)報(bào)文。
數(shù)據(jù)接收端10在等待接收新的后續(xù)數(shù)據(jù)報(bào)文時(shí),時(shí)間判斷單元153將判斷數(shù)據(jù)報(bào)文的等待接收時(shí)間是否已經(jīng)達(dá)到了接收數(shù)據(jù)報(bào)文的時(shí)間間隔,若是,則說明即將發(fā)送至數(shù)據(jù)接收端10的后續(xù)數(shù)據(jù)報(bào)文在達(dá)到該時(shí)間間隔之后,仍未達(dá)到數(shù)據(jù)接收端10,因此這一后續(xù)數(shù)據(jù)接收?qǐng)?bào)文發(fā)生了丟棄的可能性非常高,若否,則繼續(xù)進(jìn)行接收等待時(shí)間的統(tǒng)計(jì),以繼續(xù)判斷是否達(dá)到接收后續(xù)數(shù)據(jù)報(bào)文的時(shí)間間隔。
在一個(gè)實(shí)施例中,上述控制模塊150還包括計(jì)時(shí)器。該計(jì)時(shí)器用于首個(gè)數(shù)據(jù)報(bào)文或后續(xù)數(shù)據(jù)報(bào)文的接收完畢時(shí)觸發(fā)計(jì)時(shí)以統(tǒng)計(jì)接收等待時(shí)間。
本實(shí)施例中,數(shù)據(jù)接收端10在完成首個(gè)數(shù)據(jù)報(bào)文或每一后續(xù)數(shù)據(jù)報(bào)文的接收時(shí), 計(jì)時(shí)器將觸發(fā)計(jì)算,統(tǒng)計(jì)下一數(shù)據(jù)報(bào)文的接收等待時(shí)間。
發(fā)送單元155,用于向數(shù)據(jù)發(fā)送端發(fā)送報(bào)文丟失消息。
本實(shí)施例中,在判斷到數(shù)據(jù)報(bào)文的接收等待時(shí)間達(dá)到了接收后續(xù)數(shù)據(jù)報(bào)文的時(shí)間間隔,則說明發(fā)生了數(shù)據(jù)報(bào)文丟棄,因此發(fā)送單元155應(yīng)當(dāng)向數(shù)據(jù)發(fā)送端30發(fā)送報(bào)文丟失消息,進(jìn)而使得數(shù)據(jù)發(fā)送端30重新進(jìn)行數(shù)據(jù)報(bào)文的發(fā)送,以保證數(shù)據(jù)接收端10所接收到的數(shù)據(jù)報(bào)文的完整性。
接收模塊110還用于接收?qǐng)?bào)文丟失消息重傳的數(shù)據(jù)報(bào)文。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解 為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種數(shù)據(jù)報(bào)文傳輸方法,包括如下步驟接收建立連接后傳輸?shù)氖讉€(gè)數(shù)據(jù)報(bào)文;從所述首個(gè)數(shù)據(jù)報(bào)文的選項(xiàng)域中提取待傳輸數(shù)據(jù)長度;獲取后續(xù)數(shù)據(jù)報(bào)文的接收等待時(shí)間,根據(jù)所述接收等待時(shí)間和待傳輸數(shù)據(jù)長度發(fā)送報(bào)文丟失消息;接收根據(jù)報(bào)文丟失消息重傳的數(shù)據(jù)報(bào)文。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)報(bào)文傳輸方法,其特征在于,所述接收建立連接后傳輸?shù)氖讉€(gè)數(shù)據(jù)報(bào)文的步驟之前還包括建立連接,并通過連接建立數(shù)據(jù)報(bào)文中的選項(xiàng)域,并進(jìn)行協(xié)商;成功協(xié)商后封裝首個(gè)數(shù)據(jù)報(bào)文,并將待傳輸數(shù)據(jù)長度封裝于所述首個(gè)數(shù)據(jù)報(bào)文的選項(xiàng)域中。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)報(bào)文傳輸方法,其特征在于,所述根據(jù)所述接收等待時(shí)間和待傳輸數(shù)據(jù)長度發(fā)送報(bào)文丟失消息的步驟包括根據(jù)所述待傳輸數(shù)據(jù)長度判斷進(jìn)行的后續(xù)數(shù)據(jù)報(bào)文傳輸是否結(jié)束,若否,則進(jìn)一步判斷后續(xù)數(shù)據(jù)報(bào)文的接收等待時(shí)間是否達(dá)到接收數(shù)據(jù)報(bào)文的時(shí)間間隔,若是, 則向數(shù)據(jù)發(fā)送端發(fā)送報(bào)文丟失消息。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)報(bào)文傳輸方法,其特征在于,所述根據(jù)所述待傳輸數(shù)據(jù)長度判斷進(jìn)行的后續(xù)數(shù)據(jù)報(bào)文傳輸是否結(jié)束的步驟為根據(jù)首個(gè)數(shù)據(jù)報(bào)文和/或后續(xù)數(shù)據(jù)報(bào)文對(duì)應(yīng)的長度統(tǒng)計(jì)已接收的數(shù)據(jù)報(bào)文長度;判斷所述已接收的數(shù)據(jù)報(bào)文長度是否達(dá)到待傳輸數(shù)據(jù)長度,若否,則進(jìn)入所述進(jìn)一步判斷所述統(tǒng)計(jì)的接收等待時(shí)間是否達(dá)到接收數(shù)據(jù)報(bào)文的時(shí)間間隔的步驟。
5.根據(jù)權(quán)利要求3所述的數(shù)據(jù)報(bào)文傳輸方法,其特征在于,所述進(jìn)一步判斷數(shù)據(jù)報(bào)文的接收等待時(shí)間是否達(dá)到接收數(shù)據(jù)報(bào)文的時(shí)間間隔的步驟之前還包括首個(gè)數(shù)據(jù)報(bào)文或后續(xù)數(shù)據(jù)報(bào)文的接收完畢時(shí)觸發(fā)計(jì)時(shí)以統(tǒng)計(jì)接收等待時(shí)間。
6.一種數(shù)據(jù)報(bào)文傳輸系統(tǒng),其特征在于,包括數(shù)據(jù)接收端,所述數(shù)據(jù)接收端包括接收模塊,用于接收建立連接后傳輸?shù)氖讉€(gè)數(shù)據(jù)報(bào)文和后續(xù)數(shù)據(jù)報(bào)文;提取模塊,用于從所述首個(gè)數(shù)據(jù)報(bào)文的選項(xiàng)域中提取待傳輸數(shù)據(jù)長度;控制模塊,用于獲取后續(xù)數(shù)據(jù)報(bào)文的接收等待時(shí)間,根據(jù)所述接收等待時(shí)間和待傳輸數(shù)據(jù)長度發(fā)送報(bào)文丟失消息;所述接收模塊還用于接收?qǐng)?bào)文丟失消息重傳的數(shù)據(jù)報(bào)文。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)報(bào)文傳輸系統(tǒng),其特征在于,還包括數(shù)據(jù)發(fā)送端,用于建立連接,并通過連接建立數(shù)據(jù)報(bào)文中的選項(xiàng)域,并進(jìn)行協(xié)商,成功協(xié)商后封裝首個(gè)數(shù)據(jù)報(bào)文,將待傳輸數(shù)據(jù)長度封裝于所述首個(gè)數(shù)據(jù)報(bào)文的選取域中。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)報(bào)文傳輸系統(tǒng),其特征在于,所述控制模塊包括傳輸判斷單元,用于根據(jù)所述待傳輸數(shù)據(jù)長度判斷進(jìn)行的后續(xù)數(shù)據(jù)報(bào)文傳輸是否結(jié)束,若否,則通知時(shí)間判斷單元;所述時(shí)間判斷單元用于判斷數(shù)據(jù)報(bào)文的接收等待時(shí)間是否達(dá)到接收數(shù)據(jù)報(bào)文的時(shí)間間隔,若是,則通知發(fā)送單元;所述發(fā)送單元用于向所述數(shù)據(jù)發(fā)送端發(fā)送報(bào)文丟失消息。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)報(bào)文傳輸系統(tǒng),其特征在一起,所述傳輸判斷單元包括 長度統(tǒng)計(jì)單元,用于根據(jù)首個(gè)數(shù)據(jù)報(bào)文和/或后續(xù)數(shù)據(jù)報(bào)文對(duì)應(yīng)的長度統(tǒng)計(jì)已接收的數(shù)據(jù)報(bào)文長度;長度判斷單元,用于判斷所述已接收的數(shù)據(jù)報(bào)文長度是否達(dá)到待傳輸數(shù)據(jù)長度,若否, 則通知所述時(shí)間判斷單元。
10.根據(jù)權(quán)利要求8所述的數(shù)據(jù)報(bào)文傳輸系統(tǒng),其特征在于,所述控制模塊還包括 計(jì)時(shí)器,用于首個(gè)數(shù)據(jù)報(bào)文和/或后續(xù)數(shù)據(jù)報(bào)文的接收完畢時(shí)觸發(fā)計(jì)時(shí)以統(tǒng)計(jì)接收等待時(shí)間。
全文摘要
本發(fā)明提供了一種數(shù)據(jù)報(bào)文傳輸方法和系統(tǒng)。所述方法包括接收通過建立的連接傳輸?shù)氖讉€(gè)數(shù)據(jù)報(bào)文;從所述首個(gè)數(shù)據(jù)報(bào)文的選項(xiàng)域中提取待傳輸數(shù)據(jù)長度;獲取數(shù)據(jù)報(bào)文的接收等待時(shí)間,根據(jù)所述接收等待時(shí)間和待傳輸數(shù)據(jù)長度發(fā)送報(bào)文丟失消息;接收根據(jù)報(bào)文丟失消息重傳的數(shù)據(jù)報(bào)文。所述系統(tǒng)包括接收模塊,用于接收通過建立的連接傳輸?shù)氖讉€(gè)數(shù)據(jù)報(bào)文;提取模塊,用于從所述首個(gè)數(shù)據(jù)報(bào)文的選項(xiàng)域中提取待傳輸數(shù)據(jù)長度;控制模塊,用于獲取數(shù)據(jù)報(bào)文的接收等待時(shí)間,根據(jù)所述接收等待時(shí)間和待傳輸數(shù)據(jù)長度發(fā)送報(bào)文丟失消息;所述接收模塊還用于接收?qǐng)?bào)文丟失消息重傳的數(shù)據(jù)報(bào)文。采用本發(fā)明降低了網(wǎng)絡(luò)帶寬的浪費(fèi)。
文檔編號(hào)H04L12/841GK103001885SQ20121057263
公開日2013年3月27日 申請(qǐng)日期2012年12月25日 優(yōu)先權(quán)日2012年12月25日
發(fā)明者劉進(jìn), 須成忠, 閆茜, 邱健聰, 彭賢斌, 陳凱, 陳光華 申請(qǐng)人:中國科學(xué)院深圳先進(jìn)技術(shù)研究院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1