[發明專利]一種基于UDP的可靠一對多數據傳輸方法有效
| 申請號: | 202310237665.3 | 申請日: | 2023-03-14 |
| 公開(公告)號: | CN116073957B | 公開(公告)日: | 2023-06-06 |
| 發明(設計)人: | 吳陽 | 申請(專利權)人: | 南京鼎巖信創科技有限公司 |
| 主分類號: | H04L1/00 | 分類號: | H04L1/00;H04L1/1607;H04L67/06;H04L69/164 |
| 代理公司: | 南京源古知識產權代理事務所(普通合伙) 32300 | 代理人: | 鄭宜梅 |
| 地址: | 210000 江蘇省南京*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 udp 可靠 一對 多數 據傳 方法 | ||
1.一種基于UDP的可靠一對多數據傳輸方法,包括以下步驟:
步驟一:發送端將待發送數據按照預設單位數據塊大小b分成M塊;每一個數據塊按照預設單位數據包大小s分成N個數據包,其中s小于等于網絡最大傳輸單元MTU;根據數據包的個數N創建對應數目位的狀態位圖sbmp;其中M、N均為大于等于1的整數;
步驟二:發送端將待發送數據HEAD信息,通過UDP廣播或組播的形式發送給所有接收端;所述待發送數據HEAD信息包括待發送數據大小、數據塊大小b、數據塊數目M、每個數據包大小s、每個數據塊中包含數據包的數目N;接收端接收到待發送數據HEAD信息后根據數據包數目N創建對應數目位狀態位圖rbmp,使狀態位圖rbmp的每一位對應一個數據包,然后回復發送端確認收到HEAD信息;發送端如果在預設的時間發現有的接收端沒有回復,則重新發送HEAD信息至沒有回復的接收端,直到所有接收端都回復收到為止;
步驟三:發送端依次發送所有數據塊,每個數據塊的數據傳輸具體包括以下步驟:
S31:發送端將狀態位圖sbmp中所有位清零;
S32:發送端采用UDP廣播或組播的形式通知所有接收端準備傳輸當前塊,接收端收到通知后,清零狀態位圖rbmp;
S33:發送端依次查看sbmp位是否為0,如果為0則發送當前位對應的數據包;
S34:接收端收到數據包后,將數據包存儲到狀態位圖rbmp的對應位置,并將其在rbmp中對應位置標記為1;
S35:發送端發送完當前塊的所有數據包后,采用UDP廣播或組播的形式通知所有接收端結束傳輸當前塊;接收端收到通知后,將標記后的狀態位圖rbmp發送給發送端,如果發送端收到標記后的狀態位圖rbmp則回復接收端,否則接收端重新發送標記后的狀態位圖rbmp,直到發送端接收到為止;
?S36:發送端將狀態位圖sbmp所有位設置為1,每收到一個接收端的rbmp,則將sbmp與rbmp的對應位進行與運算,并將運算結果存入sbmp的對應位;
?S37:發送端查看當前sbmp是否全部為1,如果全部為1則當前數據塊發送完成,否則重復執行步驟S33-S36,直到sbmp的所有位都為1;
步驟四:當收到的數據塊個數和步驟二發送的HEAD中M相等時,接收端則判斷數據完成傳輸。
2.根據權利要求1所述的一種基于UDP的可靠一對多數據傳輸方法,其特征在于:所述發送端將待發送數據按照預設單位數據塊大小b分成M塊為除去最后一個數據塊大小小于b,其余數據塊大小均等于b。
3.根據權利要求1所述的一種基于UDP的可靠一對多數據傳輸方法,其特征在于:所述每一個數據塊按照預設單位數據包大小s分成N個數據包為除了最后一個數據包大小小于s,其余的數據包大小均等于s。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京鼎巖信創科技有限公司,未經南京鼎巖信創科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310237665.3/1.html,轉載請聲明來源鉆瓜專利網。





