[發明專利]一種基于噴泉碼的文件傳輸方法有效
| 申請號: | 201811436842.6 | 申請日: | 2018-11-28 |
| 公開(公告)號: | CN109714130B | 公開(公告)日: | 2020-05-15 |
| 發明(設計)人: | 倪祖耀;徐寶昌;王秋生;楊永杰 | 申請(專利權)人: | 南通先進通信技術研究院有限公司;南通大學 |
| 主分類號: | H04L1/00 | 分類號: | H04L1/00;H04L29/08 |
| 代理公司: | 北京聯瑞聯豐知識產權代理事務所(普通合伙) 11411 | 代理人: | 黃冠華 |
| 地址: | 226000 江蘇省南*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 噴泉 文件傳輸 方法 | ||
1.一種基于噴泉碼的文件傳輸方法,其特征在于,包括以下步驟:
步驟(1):在服務端,從文件列表或數據庫中獲取待傳輸文件路徑,讀取文件大小L,根據小包長度l,計算文件的塊數B及包數P;同時定義一個文件塊發送序列,初始化狀態為未發送狀態,用于標記每個文件塊的發送狀態;
步驟(2):服務端發送文件信息幀,向客戶端通知待發送文件的信息;
步驟(3):在線客戶端收到信息幀后,檢測本地磁盤是否存在相同文件,若存在,則不進行處理;若不存在,則在本地磁盤建立相應緩存文件,同時創建一個補塊序列,用于存儲未收到的塊序號或譯碼失敗的塊序號,進入等待接收狀態;
步驟(4):服務端獲取文件塊發送序列中第一個狀態為未發送狀態的序號,將文件中該塊對應的內容讀入內存,進行噴泉碼編碼,按照協議幀格式封裝成多條數據幀,將編碼后的數據幀按順序向外發送;發送完畢后,再發送3次文件塊結束幀,并更新文件塊發送序列相對應的塊狀態為已發送狀態;
步驟(5):服務端查詢文件塊發送序列,若所有標志均為已發送狀態,表示所有文件塊發送完畢,則連續發送三條輪次結束幀,并將輪號N加1,等待各個客戶端反饋的補塊請求,若N大于3,則自動結束發送;
步驟(6):客戶端接收文件塊結束幀或收到當前塊最后一幀后,對接收的數據進行譯碼,并將此塊的丟包情況存入長度為M的丟包序列;如果譯碼成功,則將此塊數據寫入磁盤緩存;若譯碼失敗,則將該塊序號填入補塊序列;
步驟(7):當客戶端接收到輪次結束幀后,先查詢補塊序列是否有記錄,若有記錄則將最近的M個數據塊的平均丟包率以及補塊序列中的內容封裝成補塊請求幀,然后發給服務端;若補塊序列沒有記錄,則表示所有數據塊均接收成功,將緩存文件還原成正式文件并存儲在磁盤中;
步驟(8):服務端收到補塊請求后,將補塊請求幀中的塊序號解析出來,更新文件塊發送序列中相應的標志為未發送狀態,表示此塊需要重發,并根據反饋的丟包率重新計算編碼冗余β,進入步驟(4)。
2.根據權利要求書1所述的一種基于噴泉碼的文件傳輸方法,其特征在于,所述步驟(2)、(4)、(5)和(7)中的通信方式采用UDP組播協議進行數據通信。
3.根據權利要求書1所述的一種基于噴泉碼的文件傳輸方法,其特征在于,所述步驟(1)中的最后一塊文件的包數按實際剩余的包數計算。
4.根據權利要求書1所述的一種基于噴泉碼的文件傳輸方法,其特征在于,所述步驟(1)、(4)、(5)和(8)中的未發送狀態標記為0,所述步驟(1)至步驟(8)中的發送狀態標記為1。
5.根據權利要求書1所述的一種基于噴泉碼的文件傳輸方法,其特征在于,所述步驟(2)中的服務端發送文件信息幀采用連續三幀發送。
6.根據權利要求書1所述的一種基于噴泉碼的文件傳輸方法,其特征在于,所述步驟(2)中發送的文件信息包括文件名、文件大小及文件校驗信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南通先進通信技術研究院有限公司;南通大學,未經南通先進通信技術研究院有限公司;南通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811436842.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:編碼方法、裝置及設備
- 下一篇:一種采用偽隨機序列的新型信息傳輸方法





