[發明專利]基于UDP的文件可靠傳輸方法有效
| 申請號: | 201010284120.0 | 申請日: | 2010-09-17 |
| 公開(公告)號: | CN101951370A | 公開(公告)日: | 2011-01-19 |
| 發明(設計)人: | 崔曉宇 | 申請(專利權)人: | 北京神州泰岳軟件股份有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L29/08 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩 |
| 地址: | 100089 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 udp 文件 可靠 傳輸 方法 | ||
技術領域
本發明涉及計算機通信技術領域,特別涉及一種基于UDP的文件可靠傳輸方法。
背景技術
計算機網絡技術是通信技術與計算機技術相結合的產物。近年來,計算機網絡通信在人們的日常生活中有著越來越重要的地位,用戶可以在計算機網絡上進行文字、聲音和視頻的交流,共享文件、圖片和視頻信息等,從而方便用戶的生活、工作和學習。在使用計算機網絡進行溝通交流的過程中,服務器壓力非常巨大,為了降低服務器的壓力,文件傳輸及音視頻傳輸常采用點對點(peer?to?peer,P2P)的傳輸方式。如果兩個節點間存在網絡地址轉換(Network?AddressTranslation,Nat)設備,就會給傳輸造成很大障礙,因此需要在Nat設備之間建立通路。通路建立成功后,需要用用戶數據報協議(UserDatagram?Protocol,UDP)傳輸數據,眾所周知,UDP協議本身是不可靠的,在傳輸過程中會發生丟包現象,使傳輸不穩定,效率低。
發明內容
(一)要解決的技術問題
本發明要解決的技術問題是:如何在Nat設備之間建立通路后,使用該通路的UDP傳輸過程不丟包,傳輸更穩定、更高效。
(二)技術方案
為解決上述技術問題,本發明提出了一種基于UDP的文件可靠傳輸方法,包括以下步驟:
S1:發送方將要發送的數據包分割成大小相同的若干小數據包;
S2:將所述小數據包存入發送緩沖區,并發送;
S3:接收方接收到小數據包后向發送方發送對該小數據包的確認應答;
S4:發送方接收所述確認應答后將該確認應答對應的小數據包從所述發送緩沖區中刪除,若發送小數據包后超過3秒未接收到所述確認應答,則向接收方重發該小數據包。
其中,所述步驟S4中接收到所述確認應答后還包括:
統計從發送小數據包到收到對應的確認應答的平均時間,若重發次數小于預定次數,則增大所述發送緩沖區,若重發次數大于所述預定次數,則縮小所述發送緩沖區。
其中,所述預定次數為10次。
其中,還包括:實時判斷發送緩沖區是否滿的步驟,若不滿,則執行步驟S2,直到小數據包全部放入發送緩沖區,否則等待發送緩沖區不滿時再執行步驟S2。
其中,所述步驟S4中,若重發次數超過10次,則認為網絡斷開,停止傳輸。
其中,所述步驟S3中接收方將接收的小數據包放入接收緩沖區中,若接收緩沖區滿,則通知發送方暫停發送,并將接收緩沖區中的數據轉移到用戶內存。
其中,所述小數據包的大小為1KB。
一種基于UDP的文件可靠傳輸系統,包括:
數據包分割模塊,用于發送方將要發送的數據包分割成大小相同的若干小數據包;
發送模塊,用于將所述小數據包放入發送緩沖區,并發送;
接收模塊,用于接收方接收到小數據包后向發送方發送對該小數據包的確認應答;
重發模塊,用于發送方接收所述確認應答后將該確認應答對應的小數據包從所述發送緩沖區中刪除,若發送小數據包后超過3秒未接收到所述確認應答,則向接收方重發該確認應答對應的小數據包。
其中,所述重發模塊包括:
發送緩沖區調整單元,用于統計從發送小數據包到收到對應的確認應答的平均時間,若重發次數小于預定次數,則增大所述發送緩沖區,若重發次數大于所述預定次數,則縮小所述發送緩沖區。
其中,系統還包括:
發送緩沖區判斷模塊,用于實時判斷發送緩沖區是否滿的步驟,若不滿,則執行發送模塊,直到小數據包全部放入發送緩沖區,否則等待發送緩沖區不滿再執行所述發送模塊。
(三)有益效果
本發明采用小數據包傳送,丟包后快速重發,使在UDP數據傳輸過程中不丟失數據包,傳輸過程中根據傳輸情況實時動態調整發送緩沖區的大小,提高了傳輸數據的效率,并使傳輸更穩定。
附圖說明
圖1是本發明實施例的一種基于UDP的文件可靠傳輸方法流程圖;
圖2是本發明實施例的一種基于UDP的文件可靠傳輸系統結構示意圖。
具體實施方式
下面結合附圖和實施例,對本發明的具體實施方式作進一步詳細描述。以下實施例用于說明本發明,但不用來限制本發明的范圍。
如圖1所示,為本發明實施例的基于UDP的文件可靠傳輸方法流程圖,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京神州泰岳軟件股份有限公司,未經北京神州泰岳軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010284120.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:物體指定裝置和具有該裝置的車輛控制設備
- 下一篇:用于保密數據的系統和方法





