區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸方法、系統(tǒng)及裝置制造方法
【專利摘要】本發(fā)明提出區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸方法、系統(tǒng)及裝置,其中方法包括:預先在數(shù)據(jù)發(fā)送端設置針對不同數(shù)據(jù)類型的發(fā)送模式,所述發(fā)送模式包括優(yōu)先級;數(shù)據(jù)發(fā)送端獲取數(shù)據(jù),根據(jù)數(shù)據(jù)的類型查找對應的優(yōu)先級,將所述數(shù)據(jù)按照優(yōu)先級插入數(shù)據(jù)發(fā)送序列,并將所述數(shù)據(jù)的狀態(tài)標記為未發(fā)送;按照優(yōu)先級由高到低的順序逐個處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù)。本發(fā)明能夠為不同類型的數(shù)據(jù)靈活配置優(yōu)先級,從而為不同類型的數(shù)據(jù)提供不同優(yōu)先級的多播傳輸服務。
【專利說明】區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸方法、系統(tǒng)及裝置
【技術領域】
[0001] 本發(fā)明涉及多播傳輸【技術領域】,尤其涉及區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸方法、系統(tǒng) 及裝置。
【背景技術】
[0002] 現(xiàn)有的多播技術有非可靠IP多播技術和可靠IP多播技術。
[0003] 其中,非可靠 IP多播技術實現(xiàn)一對多的數(shù)據(jù)的不可靠傳輸,優(yōu)點是進行多播傳送 的實時性非常好;缺點是因為鏈路層沒有提供可靠機制,會存在比較嚴重的丟包,數(shù)據(jù)傳輸 的可靠性非常差,另外因為缺乏對發(fā)送速率的調節(jié)或控制,在網(wǎng)絡發(fā)生擁塞的時候,完全不 會顧及到網(wǎng)絡擁塞而繼續(xù)大量發(fā)送數(shù)據(jù)。
[0004] 可靠 IP多播技術采用了冗余數(shù)據(jù)、重傳數(shù)據(jù)等可靠性機制,實現(xiàn)一對多的數(shù)據(jù)的 可靠性傳輸。
[0005] 無論是非可靠 IP多播技術還是可靠 IP多播技術,均沒有為不同類型的數(shù)據(jù)靈活 配置優(yōu)先級等發(fā)送模式,因此無法為不同類型的數(shù)據(jù)提供不同優(yōu)先級的傳輸服務。
【發(fā)明內容】
[0006] 本發(fā)明提供了一種區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸方法,能夠為不同類型的數(shù)據(jù)靈活 配置優(yōu)先級,從而為不同類型的數(shù)據(jù)提供不同優(yōu)先級的多播傳輸服務。
[0007] 本發(fā)明還提供了實現(xiàn)區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸?shù)南到y(tǒng)及裝置,能夠為不同類型 的數(shù)據(jù)靈活配置優(yōu)先級,從而為不同類型的數(shù)據(jù)提供不同優(yōu)先級的多播傳輸服務。
[0008] 本發(fā)明的技術方案是這樣實現(xiàn)的:
[0009] -種區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸方法,包括:
[0010] 預先在數(shù)據(jù)發(fā)送端設置針對不同數(shù)據(jù)類型的發(fā)送模式,所述發(fā)送模式包括優(yōu)先 級;
[0011] 數(shù)據(jù)發(fā)送端獲取數(shù)據(jù),根據(jù)數(shù)據(jù)的類型查找對應的優(yōu)先級,將所述數(shù)據(jù)按照優(yōu)先 級插入數(shù)據(jù)發(fā)送序列,并將所述數(shù)據(jù)的狀態(tài)標記為未發(fā)送;按照優(yōu)先級由高到低的順序逐 個處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù)。
[0012] 一種區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸系統(tǒng),包括數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端;
[0013] 所述數(shù)據(jù)發(fā)送端包括:
[0014] 發(fā)端控制模塊,用于接收針對不同數(shù)據(jù)類型的發(fā)送模塊,并將發(fā)送模式發(fā)送至發(fā) 端模式管理模塊,所述發(fā)送模式包括優(yōu)先級;還用于獲取數(shù)據(jù),根據(jù)數(shù)據(jù)的類型查找對應的 優(yōu)先級,將所述數(shù)據(jù)按照優(yōu)先級插入數(shù)據(jù)發(fā)送序列,并將所述數(shù)據(jù)的狀態(tài)標記為未發(fā)送;按 照優(yōu)先級由高到低的順序逐個處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù);
[0015] 發(fā)端模式管理模塊,用于接收并保存不同數(shù)據(jù)類型的發(fā)送模式;
[0016] 數(shù)據(jù)發(fā)送序列存儲模塊,用于存儲所述數(shù)據(jù)發(fā)送序列。
[0017] 一種實現(xiàn)區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸?shù)臄?shù)據(jù)發(fā)送端,包括:
[0018] 發(fā)端控制模塊,用于接收針對不同數(shù)據(jù)類型的發(fā)送模塊,并將發(fā)送模式發(fā)送至發(fā) 端模式管理模塊,所述發(fā)送模式包括優(yōu)先級;還用于獲取數(shù)據(jù),根據(jù)數(shù)據(jù)的類型查找對應的 優(yōu)先級,將所述數(shù)據(jù)按照優(yōu)先級插入數(shù)據(jù)發(fā)送序列,并將所述數(shù)據(jù)的狀態(tài)標記為未發(fā)送;按 照優(yōu)先級由高到低的順序逐個處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù);
[0019] 發(fā)端模式管理模塊,用于接收并保存不同數(shù)據(jù)類型的發(fā)送模式;
[0020] 數(shù)據(jù)發(fā)送序列存儲模塊,用于存儲所述數(shù)據(jù)發(fā)送序列。
[0021] 一種實現(xiàn)區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸?shù)臄?shù)據(jù)接收端,包括:
[0022] 收端控制模塊,用于接收針對不同數(shù)據(jù)類型的發(fā)送模式,并將發(fā)送模式發(fā)送至收 端模式管理模塊,所述發(fā)送模式包括優(yōu)先級、可靠性參數(shù)和最大時延;還用于將來自數(shù)據(jù)發(fā) 送端的數(shù)據(jù)按照接收順序插入數(shù)據(jù)接收序列,并按照接收順序由先到后的順序逐個處理述 數(shù)據(jù)接收序列中的數(shù)據(jù),處理的方式為:判斷該數(shù)據(jù)是否有缺失,如果沒有缺失,則從收端 模式管理模塊中查找該數(shù)據(jù)的類型對應的可靠性參數(shù),根據(jù)該可靠性參數(shù)指令FEC解碼模 塊對該數(shù)據(jù)進行FEC解碼,如果有缺失,則從收端模式管理模塊中查找該數(shù)據(jù)的類型對應 的最大時延,根據(jù)該最大時延判斷該數(shù)據(jù)重傳時是否會超時,如果會超時,則根據(jù)該數(shù)據(jù)的 類型對應的可靠性參數(shù)指令FEC解碼模塊對該數(shù)據(jù)進行FEC解碼;如果不會超時,則生成針 對該數(shù)據(jù)的NAK請求,將該NAK請求按照該數(shù)據(jù)類型對應的優(yōu)先級插入NAK請求發(fā)送序列;
[0023] 收端模式管理模塊,用于接收并保存不同數(shù)據(jù)類型的發(fā)送模式;
[0024] 數(shù)據(jù)接收模塊,用于接收來自數(shù)據(jù)發(fā)送端的數(shù)據(jù);
[0025] 數(shù)據(jù)接收序列存儲模塊,用于存儲所述數(shù)據(jù)接收序列;
[0026] FEC解碼模塊,用于按照收端控制模塊的指令對數(shù)據(jù)進行FEC解碼;
[0027] NAK發(fā)送模塊,用于保存NAK請求發(fā)送序列,并逐個處理NAK請求發(fā)送序列中的 NAK請求。
[0028] 可見,本發(fā)明提出的區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸方法、系統(tǒng)及裝置,預先為不同類 型的數(shù)據(jù)靈活配置優(yōu)先級,針對待發(fā)送的數(shù)據(jù),根據(jù)該數(shù)據(jù)的優(yōu)先級將該數(shù)據(jù)插入數(shù)據(jù)發(fā) 送序列;在發(fā)送時,按照優(yōu)先級由高到低的順序逐個處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù),從而為不 同類型的數(shù)據(jù)提供不同優(yōu)先級的多播傳輸服務。
【專利附圖】
【附圖說明】
[0029] 圖1為本發(fā)明提出的區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸方法實現(xiàn)流程圖;
[0030] 圖2為本發(fā)明實施例一中數(shù)據(jù)發(fā)送端的結構示意圖;
[0031] 圖3為本發(fā)明實施例二的實現(xiàn)流程圖;
[0032] 圖4為本發(fā)明實施例三的實現(xiàn)流程圖;
[0033] 圖5為本發(fā)明實施例四的實現(xiàn)流程圖;
[0034] 圖6為本發(fā)明實施例五中數(shù)據(jù)接收端的結構示意圖;
[0035] 圖7為本發(fā)明實施例六的實現(xiàn)流程圖;
[0036] 圖8為本發(fā)明實施例七的實現(xiàn)流程圖;
[0037] 圖9為本發(fā)明實施例八的實現(xiàn)流程圖。
【具體實施方式】
[0038] 本發(fā)明提出一種區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸方法,如圖1為該方法的實現(xiàn)流程 圖,包括:
[0039] 步驟101 :預先在數(shù)據(jù)發(fā)送端設置針對不同數(shù)據(jù)類型的發(fā)送模式,所述發(fā)送模式 包括優(yōu)先級;
[0040] 步驟102 :數(shù)據(jù)發(fā)送端獲取數(shù)據(jù),根據(jù)數(shù)據(jù)的類型查找對應的優(yōu)先級,將所述數(shù)據(jù) 按照優(yōu)先級插入數(shù)據(jù)發(fā)送序列,并將所述數(shù)據(jù)的狀態(tài)標記為未發(fā)送;
[0041] 步驟103 :按照優(yōu)先級由高到低的順序逐個處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù)。
[0042] 數(shù)據(jù)發(fā)送序列中每次插入新的數(shù)據(jù)之后,數(shù)據(jù)發(fā)送端都會重新從優(yōu)先級最高的數(shù) 據(jù)開始處理,這樣保證了優(yōu)先級高的數(shù)據(jù)能夠優(yōu)先被發(fā)送出去,從而實現(xiàn)了為不同類型的 數(shù)據(jù)提供不同優(yōu)先級的多播傳輸服務。
[0043] 上述發(fā)送模式可以進一步包括可靠性參數(shù),可靠性參數(shù)規(guī)定了數(shù)據(jù)采用何種FEC 編碼方式進行編碼。
[0044] 相應地,步驟102中的將所述按照優(yōu)先級順序插入數(shù)據(jù)發(fā)送序列的方式可以為: 根據(jù)數(shù)據(jù)的類型查找對應的可靠性參數(shù),根據(jù)該可靠性參數(shù)對數(shù)據(jù)進行FEC編碼,將編碼 后的數(shù)據(jù)按照優(yōu)先級順序插入數(shù)據(jù)發(fā)送序列。
[0045] 上述發(fā)送模式還可以進一步包括最大時延;
[0046] 相應地,上述步驟103中處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù)的方式可以為:
[0047] 根據(jù)數(shù)據(jù)的類型查找對應的最大時延;
[0048] 當所述數(shù)據(jù)的狀態(tài)為未發(fā)送時,根據(jù)該最大時延判斷是否已超時,如果已超時,則 從所述數(shù)據(jù)發(fā)送序列中刪除該數(shù)據(jù);如果未超時,則發(fā)送該數(shù)據(jù),并將該數(shù)據(jù)的狀態(tài)標記為 已發(fā)送;
[0049] 當所述數(shù)據(jù)的狀態(tài)為已發(fā)送時,根據(jù)該最大時延判斷是否已超時,如果已超時,則 從所述數(shù)據(jù)發(fā)送序列中刪除該數(shù)據(jù);如果未超時,則不作任何處理。
[0050] 進一步地,如果數(shù)據(jù)接收端對數(shù)據(jù)的接收出錯,將向數(shù)據(jù)發(fā)送端反饋針對該數(shù)據(jù) 的NAK請求;
[0051] 針對數(shù)據(jù)接收端反饋的NAK請求,數(shù)據(jù)發(fā)送端首先可以判斷在之前一段預先設定 的時間段內是否接收過針對該數(shù)據(jù)的NAK請求;如果是,則忽略該NAK請求;(這種處理方 式的原因是:由于數(shù)據(jù)發(fā)送端可能接收到多個數(shù)據(jù)接收端針對同一數(shù)據(jù)的NAK請求,為了 避免重復發(fā)送數(shù)據(jù),如果短期內收到針對同一數(shù)據(jù)的一個以上NAK請求,則數(shù)據(jù)發(fā)送端只 針對一個NAK請求進行數(shù)據(jù)重發(fā))
[0052] 否則,將該數(shù)據(jù)的狀態(tài)標記為未發(fā)送,并提高該數(shù)據(jù)的優(yōu)先級,根據(jù)該優(yōu)先級調整 該數(shù)據(jù)在數(shù)據(jù)發(fā)送序列中的位置,按照優(yōu)先級由高到低的順序逐個處理數(shù)據(jù)發(fā)送序列中的 數(shù)據(jù)。此處,提高數(shù)據(jù)優(yōu)先級的具體方式可以為:將原有優(yōu)先級提高預設的級別數(shù),得到提 高后的優(yōu)先級;這樣,對于之前出現(xiàn)傳輸異常的數(shù)據(jù),提高優(yōu)先級之后可以保證該數(shù)據(jù)盡快 被發(fā)送成功。
[0053] 上述內容中,在數(shù)據(jù)發(fā)送端設置了針對不同數(shù)據(jù)類型的發(fā)送模式,其中發(fā)送模式 可以包括優(yōu)先級、可靠性參數(shù)和最大時延;從而數(shù)據(jù)發(fā)送端可以對不同類型的數(shù)據(jù)采用不 同的發(fā)送模式進行發(fā)送。
[0054] 相應地,在數(shù)據(jù)接收端也可以預先設置針對不同數(shù)據(jù)類型的發(fā)送模式,所述發(fā)送 模式包括優(yōu)先級、可靠性參數(shù)和最大時延;
[0055] 數(shù)據(jù)接收端接收來自數(shù)據(jù)發(fā)送端的數(shù)據(jù),將該數(shù)據(jù)按照接收順序插入數(shù)據(jù)接收序 列;按照接收順序由先到后的順序逐個處理數(shù)據(jù)接收序列中的數(shù)據(jù);所述處理的方式為:
[0056] 判斷該數(shù)據(jù)是否有缺失,如果沒有缺失,則根據(jù)該數(shù)據(jù)的類型對應的可靠性參數(shù) 對該數(shù)據(jù)進行FEC解碼;
[0057] 如果有缺失,則根據(jù)該數(shù)據(jù)的類型對應的最大時延判斷該數(shù)據(jù)重傳時是否會超 時,如果會超時,則根據(jù)該數(shù)據(jù)的類型對應的可靠性參數(shù)對該數(shù)據(jù)進行FEC解碼;如果不會 超時,則生成針對該數(shù)據(jù)的NAK請求,將該NAK請求按照該數(shù)據(jù)類型對應的優(yōu)先級插入NAK 請求發(fā)送序列,逐個處理NAK請求發(fā)送序列中的NAK請求。
[0058] 其中,處理NAK請求發(fā)送序列中的NAK請求的方式可以為:
[0059] 在預先設定的一段時間之后,判斷是否收到該NAK請求所針對的數(shù)據(jù)的重傳數(shù) 據(jù),如果收到,則刪除該NAK請求;如果沒有,則發(fā)送該NAK請求。前述預先設定的一段時間 稱為退避時間,其設置的目的是盡量減少NAK數(shù)據(jù)量,避免NAK風暴的產生。
[0060] 進一步地,數(shù)據(jù)接收端還可以向數(shù)據(jù)發(fā)送端反饋網(wǎng)絡狀態(tài)參數(shù),數(shù)據(jù)發(fā)送端可以 根據(jù)網(wǎng)絡狀態(tài)參數(shù)調節(jié)數(shù)據(jù)發(fā)送速率。例如,數(shù)據(jù)發(fā)送端可以將當前的網(wǎng)絡狀況參數(shù)與 網(wǎng)絡是否擁塞的臨界參數(shù)(本例中將丟包率10%作為無擁塞情況,30%為已經(jīng)產生擁塞, 10%?30%為穩(wěn)定區(qū)域作為臨界參數(shù)的初始值)進行比較,如果網(wǎng)絡狀況良好且未產生擁 塞則將發(fā)送速率提高一個等級,反之將發(fā)送速率降低一個等級。
[0061] 數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端可以通過WIFI無線路由器連接,但不限于WIFI局域網(wǎng) 環(huán)境。系統(tǒng)中,一個裝置既可以作為數(shù)據(jù)發(fā)送端、也可以作為數(shù)據(jù)接收端。本發(fā)明所使用的 底層傳輸方法可以為IP多播技術,用于完成數(shù)據(jù)從數(shù)據(jù)發(fā)送端到數(shù)據(jù)接收端的基本傳輸 功能。以下舉具體的實施例詳細介紹。
[0062] 實施例一:
[0063] 本實施例介紹數(shù)據(jù)發(fā)送端的一種結構示例,如圖2為本實施例中數(shù)據(jù)發(fā)送端的結 構示意圖,包括:
[0064] 發(fā)端控制模塊201,用于為調用者提供調用接口;總控數(shù)據(jù)發(fā)送端的主體流程,并 負責數(shù)據(jù)發(fā)送端各個部件間的通信;管理數(shù)據(jù)發(fā)送序列。
[0065] 發(fā)端模式管理模塊202,負責存儲和維護用戶注冊的不同數(shù)據(jù)類型的發(fā)送模式,每 個發(fā)送模式可以包括優(yōu)先級,可靠性參數(shù)和最大時延。其中,可靠性參數(shù)規(guī)定了數(shù)據(jù)采用的 FEC編碼方式。該部件的設置,是為了完成本發(fā)明的創(chuàng)新點之一,即為數(shù)據(jù)的發(fā)送提供靈活 的發(fā)送模式配置,由此實現(xiàn)數(shù)據(jù)在優(yōu)先級、可靠性和時延上的按需傳送。同時,本發(fā)明的創(chuàng) 新點之二,在提供可靠數(shù)據(jù)傳輸?shù)耐瑫r,亦提供對時延的控制,也是仰賴于本部件存儲的最 大時延數(shù)據(jù)。
[0066] 數(shù)據(jù)發(fā)送序列存儲模塊203,用于保存數(shù)據(jù)發(fā)送序列;
[0067] FEC編碼模塊204,負責對原始數(shù)據(jù)進行FEC編碼,生成用于保護原始數(shù)據(jù)的FEC 冗余數(shù)據(jù),從而生成編碼后的數(shù)據(jù)。
[0068] 數(shù)據(jù)發(fā)送模塊205,負責將編碼后的數(shù)據(jù)以及重傳的數(shù)據(jù),用多播的方式發(fā)送到數(shù) 據(jù)接收端。
[0069] NAK接收模塊206,負責接收數(shù)據(jù)接收端反饋的NAK請求。
[0070] 速率調節(jié)模塊207,負責接收數(shù)據(jù)接收端反饋的網(wǎng)絡狀況信息,并根據(jù)該網(wǎng)絡狀況 信息調節(jié)發(fā)送速率。
[0071] 具體地,發(fā)端控制模塊201,用于接收針對不同數(shù)據(jù)類型的發(fā)送模塊,并將發(fā)送模 式發(fā)送至發(fā)端模式管理模塊202,所述發(fā)送模式包括優(yōu)先級;還用于獲取數(shù)據(jù),根據(jù)數(shù)據(jù)的 類型查找對應的優(yōu)先級,將所述數(shù)據(jù)按照優(yōu)先級插入數(shù)據(jù)發(fā)送序列,并將所述數(shù)據(jù)的狀態(tài) 標記為未發(fā)送;按照優(yōu)先級由高到低的順序逐個處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù);
[0072] 發(fā)端模式管理模塊202,用于接收并保存不同數(shù)據(jù)類型的發(fā)送模式;
[0073] 數(shù)據(jù)發(fā)送序列存儲模塊203,用于存儲所述數(shù)據(jù)發(fā)送序列。
[0074] 上述發(fā)送模式可以進一步包括可靠性參數(shù);所述數(shù)據(jù)發(fā)送端還包括:FEC編碼模 塊204,用于根據(jù)發(fā)端控制模塊的指令對數(shù)據(jù)進行FEC編碼;
[0075] 所述發(fā)端控制模塊201還用于,針對數(shù)據(jù)發(fā)送序列中的數(shù)據(jù),從發(fā)端模式管理模 塊202中查找該數(shù)據(jù)的類型對應的可靠性參數(shù),根據(jù)該可靠性參數(shù)指令FEC編碼模塊204 對該數(shù)據(jù)進行FEC編碼,并將編碼后的數(shù)據(jù)按照優(yōu)先級順序插入數(shù)據(jù)發(fā)送序列。
[0076] 上述發(fā)送模式可以進一步包括最大時延;
[0077] 所述發(fā)端控制模塊201處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù)的方式可以為:
[0078] 從發(fā)端模式管理模塊202中查找該數(shù)據(jù)的類型對應的最大時延;
[0079] 當所述數(shù)據(jù)的狀態(tài)為未發(fā)送時,根據(jù)該最大時延判斷是否已超時,如果已超時,則 從所述數(shù)據(jù)發(fā)送序列中刪除該數(shù)據(jù);如果未超時,則指令數(shù)據(jù)發(fā)送模塊205發(fā)送該數(shù)據(jù),并 將該數(shù)據(jù)的狀態(tài)標記為已發(fā)送;當所述數(shù)據(jù)的狀態(tài)為已發(fā)送時,根據(jù)該最大時延判斷是否 已超時,如果已超時,則從所述數(shù)據(jù)發(fā)送序列中刪除該數(shù)據(jù);
[0080] 所述數(shù)據(jù)發(fā)送端還包括數(shù)據(jù)發(fā)送模塊205,用于按照發(fā)端控制模塊201的指令發(fā) 送數(shù)據(jù)。
[0081] 數(shù)據(jù)發(fā)送端還可以包括NAK接收模塊206,用于接收數(shù)據(jù)接收端反饋的針對數(shù)據(jù) 的NAK請求;
[0082] 所述發(fā)端控制模塊201還用于,判斷在之前一段預先設定的時間段內是否接收過 針對該數(shù)據(jù)的NAK請求,如果是,則忽略該NAK請求;否則,將該數(shù)據(jù)的狀態(tài)標記為未發(fā)送, 并提高該數(shù)據(jù)的優(yōu)先級,根據(jù)該優(yōu)先級調整該數(shù)據(jù)在數(shù)據(jù)發(fā)送序列的位置,按照優(yōu)先級由 高到低的順序逐個處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù)。
[0083] 數(shù)據(jù)發(fā)送端還可以進一步包括:速率調節(jié)模塊207,用于接收網(wǎng)絡狀態(tài)參數(shù),并根 據(jù)該網(wǎng)絡狀態(tài)參數(shù)調節(jié)數(shù)據(jù)發(fā)送速率。
[0084] 實施例二:
[0085] 本實施例介紹數(shù)據(jù)發(fā)送端發(fā)送數(shù)據(jù)的基本流程示例,如圖3為本實施例的實現(xiàn)流 程圖,包括:
[0086] 步驟301 :應用程序向數(shù)據(jù)發(fā)送端的發(fā)端控制模塊注冊針對不同數(shù)據(jù)類型的發(fā)送 模式,每種發(fā)送模式通過優(yōu)先級、可靠性參數(shù)和最大時延進行描述。
[0087] 步驟302 :發(fā)端控制模塊將發(fā)送模式傳遞給發(fā)端模式管理模塊進行存儲。
[0088] 步驟303 :應用程序從待發(fā)送數(shù)據(jù)區(qū)域中取出一塊數(shù)據(jù),請求發(fā)端控制模塊采用 該數(shù)據(jù)所需的發(fā)送模發(fā)送。
[0089] 步驟304 :發(fā)端控制模塊通過發(fā)端模式管理模塊讀取該數(shù)據(jù)對應的發(fā)送模式信 息,并基于發(fā)送模式中的可靠性參數(shù),控制FEC編碼模塊進行編碼。
[0090] 步驟305 :發(fā)端控制模塊將編碼后的數(shù)據(jù)(包括原始數(shù)據(jù)和FEC冗余數(shù)據(jù))按照 優(yōu)先級順序插入數(shù)據(jù)發(fā)送序列,并將該數(shù)據(jù)標記為未發(fā)送。
[0091] 步驟306 :發(fā)端控制模塊按照優(yōu)先級由高到低的順序處理數(shù)據(jù)發(fā)送序列中的數(shù) 據(jù),處理方式為:
[0092] 讀取速率調節(jié)模塊中的發(fā)送速率信息;
[0093] 針對數(shù)據(jù)發(fā)送序列中標記為未發(fā)送的數(shù)據(jù),通過發(fā)端模式管理模塊讀取該數(shù)據(jù)對 應的最大時延,根據(jù)該最大時延判斷是否超時,如果未超時,則控制數(shù)據(jù)發(fā)送模塊采用上述 發(fā)送速率發(fā)送該數(shù)據(jù),并將該數(shù)據(jù)標記為已發(fā)送;如果已超時,則刪除該數(shù)據(jù);
[0094] 針對數(shù)據(jù)發(fā)送序列中標記為已發(fā)送的數(shù)據(jù),通過發(fā)端模式管理模塊讀取該數(shù)據(jù)對 應的最大時延,根據(jù)該最大時延判斷是否超時,則刪除該數(shù)據(jù)。
[0095] 實施例三:
[0096] 本實施例介紹數(shù)據(jù)發(fā)送端針對NAK請求的處理方式實例,如圖4為本實施例的實 現(xiàn)流程圖,包括:
[0097] 步驟401 :數(shù)據(jù)發(fā)送端的NAK接收模塊接收NAK請求,如發(fā)現(xiàn)針對同一數(shù)據(jù)的NAK 請求接收超過一次,并且相差時間過短,則忽略該NAK請求;否則,請求發(fā)端控制模塊執(zhí)行 數(shù)據(jù)的重發(fā)。
[0098] 步驟402 :發(fā)端控制模塊從發(fā)端模式管理模塊中讀取該數(shù)據(jù)對應的優(yōu)先級信息, 并據(jù)此對待重發(fā)的數(shù)據(jù)設置優(yōu)先級為:原有優(yōu)先級+提升值;根據(jù)該優(yōu)先級設置調整數(shù)據(jù) 在數(shù)據(jù)發(fā)送序列中的位置。
[0099] 步驟403 :發(fā)端控制模塊按照優(yōu)先級由高到低的順序依次處理數(shù)據(jù)發(fā)送序列中的 數(shù)據(jù)。
[0100] 實施例四:
[0101] 本實施例介紹數(shù)據(jù)發(fā)送端根據(jù)網(wǎng)絡狀態(tài)參數(shù)調整發(fā)送速率的實例,如圖5為本實 施例的實現(xiàn)流程圖,包括:
[0102] 步驟501 :數(shù)據(jù)發(fā)送端的速率調節(jié)模塊接收來自數(shù)據(jù)接收端的網(wǎng)絡狀態(tài)參數(shù)。
[0103] 步驟502 :速率調節(jié)模塊將該網(wǎng)絡狀態(tài)參數(shù)與網(wǎng)絡是否擁塞的臨界參數(shù)進行比 較,如果網(wǎng)絡狀況良好則將發(fā)送速率提高一個等級,反之降低一個等級。
[0104] 步驟503 :發(fā)端控制模塊控制數(shù)據(jù)發(fā)送模塊采用更新后的速率發(fā)送數(shù)據(jù)。
[0105] 以上采用4個實施例介紹了數(shù)據(jù)發(fā)送端的結構、功能及數(shù)據(jù)發(fā)送流程,以下介紹 數(shù)據(jù)接收端的結構、功能及數(shù)據(jù)接收流程。
[0106] 實施例五:
[0107] 本實施例介紹數(shù)據(jù)接收端的一種結構示例,如圖2為本實施例中數(shù)據(jù)接收端的結 構示意圖,包括:
[0108] 收端控制模塊601 :用于為調用者提供調用接口;總控數(shù)據(jù)接收端的主體流程,并 負責數(shù)據(jù)接收端各個部件間的通信;管理數(shù)據(jù)接收序列;
[0109] 收端模式管理模塊602,負責存儲和維護用戶注冊的不同數(shù)據(jù)類型的發(fā)送模式,每 個發(fā)送模式可以包括優(yōu)先級,可靠性參數(shù)和最大時延。其中,可靠性參數(shù)規(guī)定了數(shù)據(jù)采用的 FEC編碼方式。
[0110] 數(shù)據(jù)接收模塊603 :負責接收來自數(shù)據(jù)發(fā)送端的數(shù)據(jù)及重傳的數(shù)據(jù);
[0111] 數(shù)據(jù)接收序列存儲模塊604,負責緩存接收到的數(shù)據(jù),并提供按照數(shù)據(jù)的接收順序 插入序列的功能;
[0112] FEC解碼模塊605,負責對接收到的數(shù)據(jù)(包括原始數(shù)據(jù)和冗余數(shù)據(jù))進行FEC解 碼運算,以便在原始數(shù)據(jù)發(fā)生丟失時,通過冗余數(shù)據(jù)解碼出丟失的原始數(shù)據(jù);
[0113] NAK發(fā)送模塊606,負責在原始數(shù)據(jù)發(fā)生丟失,且冗余數(shù)據(jù)也不足以恢復原始數(shù)據(jù) 時,向數(shù)據(jù)發(fā)送端發(fā)送數(shù)據(jù)的NAK消息;
[0114] 網(wǎng)絡監(jiān)測模塊607,負責監(jiān)測網(wǎng)絡狀況,并將網(wǎng)絡狀況信息實時反饋給發(fā)送端。
[0115] 具體地,收端控制模塊601,用于接收針對不同數(shù)據(jù)類型的發(fā)送模式,并將發(fā)送模 式發(fā)送至收端模式管理模塊602,所述發(fā)送模式包括優(yōu)先級、可靠性參數(shù)和最大時延;還用 于將來自數(shù)據(jù)發(fā)送端的數(shù)據(jù)按照接收順序插入數(shù)據(jù)接收序列,并按照接收順序由先到后的 順序逐個處理述數(shù)據(jù)接收序列中的數(shù)據(jù),處理的方式為:判斷該數(shù)據(jù)是否有缺失,如果沒有 缺失,則從收端模式管理模塊602中查找該數(shù)據(jù)的類型對應的可靠性參數(shù),根據(jù)該可靠性 參數(shù)指令FEC解碼模塊605對該數(shù)據(jù)進行FEC解碼,如果有缺失,則從收端模式管理模塊 602中查找該數(shù)據(jù)的類型對應的最大時延,根據(jù)該最大時延判斷該數(shù)據(jù)重傳時是否會超時, 如果會超時,則根據(jù)該數(shù)據(jù)的類型對應的可靠性參數(shù)指令FEC解碼模塊605對該數(shù)據(jù)進行 FEC解碼;如果不會超時,則生成針對該數(shù)據(jù)的NAK請求,將該NAK請求按照該數(shù)據(jù)類型對 應的優(yōu)先級插入NAK請求發(fā)送序列;
[0116] 收端模式管理模塊602,用于接收并保存不同數(shù)據(jù)類型的發(fā)送模式;
[0117] 數(shù)據(jù)接收模塊603,用于接收來自數(shù)據(jù)發(fā)送端的數(shù)據(jù);
[0118] 數(shù)據(jù)接收序列存儲模塊604,用于存儲所述數(shù)據(jù)接收序列;
[0119] FEC解碼模塊605,用于按照收端控制模塊601的指令對數(shù)據(jù)進行FEC解碼;
[0120] NAK發(fā)送模塊606,用于保存NAK請求發(fā)送序列,并逐個處理NAK請求發(fā)送序列中 的NAK請求。
[0121] 上述NAK發(fā)送模塊606處理NAK請求發(fā)送序列中的NAK請求的方式可以為:
[0122] 在預先設定的一段時間之后,判斷數(shù)據(jù)接收模塊603是否收到該NAK請求所針對 的數(shù)據(jù)的重傳數(shù)據(jù),如果收到,則刪除該NAK請求;如果沒有,則發(fā)送該NAK請求。
[0123] 網(wǎng)絡監(jiān)測模塊607,用于監(jiān)測網(wǎng)絡狀態(tài)參數(shù),并向數(shù)據(jù)發(fā)送端反饋該網(wǎng)絡狀態(tài)參 數(shù)。
[0124] 實施例六:
[0125] 本實施例介紹數(shù)據(jù)接收端接收數(shù)據(jù)的基本流程示例,如圖7為本實施例的實現(xiàn)流 程圖,包括:
[0126] 步驟701 :應用程序向數(shù)據(jù)接收端的收端控制模塊注冊針對不同數(shù)據(jù)類型的發(fā)送 模式,每種發(fā)送模式通過優(yōu)先級、可靠性參數(shù)和最大時延進行描述。
[0127] 步驟702 :收端控制模塊將發(fā)送模式傳遞給收端模式管理模塊進行存儲。
[0128] 步驟703 :數(shù)據(jù)接收模塊接收到新數(shù)據(jù),將其遞交給收端控制模塊,收端控制模塊 按照數(shù)據(jù)的接收順序將其插入數(shù)據(jù)接收序列。
[0129] 步驟704 :收端控制模塊將接收到數(shù)據(jù)的信息通知網(wǎng)絡監(jiān)測模塊,網(wǎng)絡監(jiān)測模塊 據(jù)之更新監(jiān)控的網(wǎng)絡狀態(tài)參數(shù)。
[0130] 步驟705 :收端控制模塊從頭至尾依次處理數(shù)據(jù)接收序列中的數(shù)據(jù),處理方式為:
[0131] 對于足夠解碼的數(shù)據(jù)(包括原始數(shù)據(jù)和冗余數(shù)據(jù)),從收端模式管理模塊中查找 該數(shù)據(jù)對應的可靠性參數(shù),指示FEC解碼模塊采用相應的FEC解碼方式進行解碼;
[0132] 對于原始數(shù)據(jù)+冗余數(shù)據(jù)不足夠解碼的數(shù)據(jù),從收端模式管理模塊中查找該數(shù)據(jù) 對應的最大時延,判斷重傳時是否會超時,如果會超時,則從收端模式管理模塊中查找該數(shù) 據(jù)對應的可靠性參數(shù),指示FEC解碼模塊采用相應的FEC解碼方式進行解碼;如果不會超 時,則指示NAK發(fā)送模塊發(fā)送針對該數(shù)據(jù)的NAK請求。
[0133] 步驟706 :數(shù)據(jù)接收模塊接收該數(shù)據(jù)的重傳數(shù)據(jù),將其遞交給收端控制模塊,收端 控制模塊按照數(shù)據(jù)的接收順序將其插入數(shù)據(jù)接收序列。
[0134] 實施例七:
[0135] 本實施例介紹數(shù)據(jù)接收端發(fā)送NAK請求的處理方式實例,如圖8為本實施例的實 現(xiàn)流程圖,包括:
[0136] 步驟801 :收端控制模塊指示NAK發(fā)送模塊發(fā)送針對一個數(shù)據(jù)的NAK請求。
[0137] 步驟802 :NAK發(fā)送模塊將該NAK請求按照該數(shù)據(jù)類型對應的優(yōu)先級插入NAK請求 發(fā)送序列,并逐個處理序列中的NAK請求,處理的方式為:
[0138] 在預先設定的一段時間(即退避時間)之后,判斷數(shù)據(jù)接收模塊是否收到該NAK 請求所針對的數(shù)據(jù)的重傳數(shù)據(jù),如果收到,則刪除該NAK請求;如果沒有,則發(fā)送該NAK請 求。
[0139] 實施例八:
[0140] 本實施例介紹數(shù)據(jù)接收端反饋網(wǎng)絡狀態(tài)參數(shù)的方式實例,如圖9為本實施例的實 現(xiàn)流程圖,包括:
[0141] 步驟901 :數(shù)據(jù)接收模塊接收到新數(shù)據(jù),將接收到的數(shù)據(jù)的序列號通知網(wǎng)絡監(jiān)測 模塊。
[0142] 步驟902 :網(wǎng)絡監(jiān)測模塊以若干個數(shù)據(jù)為一個基本單位,統(tǒng)計網(wǎng)絡狀態(tài)參數(shù)。
[0143] 步驟903 :網(wǎng)絡監(jiān)測模塊將網(wǎng)絡狀態(tài)參數(shù)反饋至數(shù)據(jù)發(fā)送端。
[0144] 以上介紹了本發(fā)明提出的區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸方法、數(shù)據(jù)發(fā)送端及數(shù)據(jù) 接收端的具體實施例,本發(fā)明還提出一種區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸系統(tǒng),該系統(tǒng)包括數(shù) 據(jù)發(fā)送端及數(shù)據(jù)接收端,數(shù)據(jù)發(fā)送端及數(shù)據(jù)接收端的具體結構及功能在前文中已有詳細介 紹,在此不贅。
[0145] 綜上可見,本發(fā)明為不同類型的數(shù)據(jù)提供不同的傳輸優(yōu)先級,可靠性,最大時延選 擇。使得不同類型的數(shù)據(jù)同時進行傳輸時,重要的數(shù)據(jù)能夠被優(yōu)先傳送,并且不同類型的數(shù) 據(jù)能獲得不同的可靠性保障和不同的傳輸時延。為數(shù)據(jù)傳輸提供最大時延的控制,以避免 實時性要求高的流媒體數(shù)據(jù)無法實時傳送。采用FEC冗余前向糾錯和反饋重傳機制結合的 可靠傳輸策略。以期在網(wǎng)絡環(huán)境好的時候,盡量節(jié)省所耗費的傳輸帶寬,避免網(wǎng)絡擁塞。以 及在網(wǎng)絡環(huán)境差的時候,采用更高的可靠性參數(shù),解決有效丟包率過高的問題。并且,為NAK 請求的發(fā)送提供退避處理,以盡量減少NAK請求的數(shù)據(jù)量,避免NAK風暴的產生。
[0146] 以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內。
【權利要求】
1. 一種區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸方法,其特征在于,所述方法包括: 預先在數(shù)據(jù)發(fā)送端設置針對不同數(shù)據(jù)類型的發(fā)送模式,所述發(fā)送模式包括優(yōu)先級; 數(shù)據(jù)發(fā)送端獲取數(shù)據(jù),根據(jù)數(shù)據(jù)的類型查找對應的優(yōu)先級,將所述數(shù)據(jù)按照優(yōu)先級插 入數(shù)據(jù)發(fā)送序列,并將所述數(shù)據(jù)的狀態(tài)標記為未發(fā)送;按照優(yōu)先級由高到低的順序逐個處 理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù)。
2. 根據(jù)權利要求1所述的方法,其特征在于,所述發(fā)送模式進一步包括可靠性參數(shù); 所述將所述數(shù)據(jù)按照優(yōu)先級順序插入數(shù)據(jù)發(fā)送序列的方式為:根據(jù)數(shù)據(jù)的類型查找對 應的可靠性參數(shù),根據(jù)該可靠性參數(shù)對數(shù)據(jù)進行FEC編碼,將編碼后的數(shù)據(jù)按照優(yōu)先級順 序插入數(shù)據(jù)發(fā)送序列。
3. 根據(jù)權利要求1或2所述的方法,其特征在于,所述發(fā)送模式進一步包括最大時延; 所述處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù)的方式為: 根據(jù)數(shù)據(jù)的類型查找對應的最大時延; 當所述數(shù)據(jù)的狀態(tài)為未發(fā)送時,根據(jù)該最大時延判斷是否已超時,如果已超時,則從所 述數(shù)據(jù)發(fā)送序列中刪除該數(shù)據(jù);如果未超時,則發(fā)送該數(shù)據(jù),并將該數(shù)據(jù)的狀態(tài)標記為已發(fā) 送; 當所述數(shù)據(jù)的狀態(tài)為已發(fā)送時,根據(jù)該最大時延判斷是否已超時,如果已超時,則從所 述數(shù)據(jù)發(fā)送序列中刪除該數(shù)據(jù)。
4. 根據(jù)權利要求3所述的方法,其特征在于,所述發(fā)送該數(shù)據(jù)之后,進一步包括: 接收數(shù)據(jù)接收端反饋的針對該數(shù)據(jù)的NAK請求,判斷在之前一段預先設定的時間段內 是否接收過針對該數(shù)據(jù)的NAK請求,如果是,則忽略該NAK請求;否則,將該數(shù)據(jù)的狀態(tài)標記 為未發(fā)送,并提高該數(shù)據(jù)的優(yōu)先級,根據(jù)該優(yōu)先級調整該數(shù)據(jù)在數(shù)據(jù)發(fā)送序列中的位置,按 照優(yōu)先級由高到低的順序逐個處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù)。
5. 根據(jù)權利要求3所述的方法,其特征在于,所述方法進一步包括: 預先在數(shù)據(jù)接收端設置針對不同數(shù)據(jù)類型的發(fā)送模式,所述發(fā)送模式包括優(yōu)先級、可 靠性參數(shù)和最大時延; 數(shù)據(jù)接收端接收來自數(shù)據(jù)發(fā)送端的數(shù)據(jù),將該數(shù)據(jù)按照接收順序插入數(shù)據(jù)接收序列; 按照接收順序由先到后的順序逐個處理數(shù)據(jù)接收序列中的數(shù)據(jù);所述處理的方式為: 判斷該數(shù)據(jù)是否有缺失,如果沒有缺失,則根據(jù)該數(shù)據(jù)的類型對應的可靠性參數(shù)對該 數(shù)據(jù)進行FEC解碼; 如果有缺失,則根據(jù)該數(shù)據(jù)的類型對應的最大時延判斷該數(shù)據(jù)重傳時是否會超時,如 果會超時,則根據(jù)該數(shù)據(jù)的類型對應的可靠性參數(shù)對該數(shù)據(jù)進行FEC解碼;如果不會超時, 則生成針對該數(shù)據(jù)的NAK請求,將該NAK請求按照該數(shù)據(jù)類型對應的優(yōu)先級插入NAK請求 發(fā)送序列,逐個處理NAK請求發(fā)送序列中的NAK請求。
6. 根據(jù)權利要求5所述的方法,其特征在于,所述處理NAK請求發(fā)送序列中的NAK請求 的方式為: 在預先設定的一段時間之后,判斷是否收到該NAK請求所針對的數(shù)據(jù)的重傳數(shù)據(jù),如 果收到,則刪除該NAK請求;如果沒有,則發(fā)送該NAK請求。
7. 根據(jù)權利要求1或2所述的方法,其特征在于,所述方法進一步包括: 數(shù)據(jù)接收端向數(shù)據(jù)發(fā)送端反饋網(wǎng)絡狀態(tài)參數(shù),所述數(shù)據(jù)發(fā)送端根據(jù)網(wǎng)絡狀態(tài)參數(shù)調節(jié) 數(shù)據(jù)發(fā)送速率。
8. -種區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸系統(tǒng),其特征在于,所述系統(tǒng)包括數(shù)據(jù)發(fā)送端和數(shù) 據(jù)接收端; 所述數(shù)據(jù)發(fā)送端包括: 發(fā)端控制模塊,用于接收針對不同數(shù)據(jù)類型的發(fā)送模塊,并將發(fā)送模式發(fā)送至發(fā)端模 式管理模塊,所述發(fā)送模式包括優(yōu)先級;還用于獲取數(shù)據(jù),根據(jù)數(shù)據(jù)的類型查找對應的優(yōu)先 級,將所述數(shù)據(jù)按照優(yōu)先級插入數(shù)據(jù)發(fā)送序列,并將所述數(shù)據(jù)的狀態(tài)標記為未發(fā)送;按照優(yōu) 先級由高到低的順序逐個處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù); 發(fā)端模式管理模塊,用于接收并保存不同數(shù)據(jù)類型的發(fā)送模式; 數(shù)據(jù)發(fā)送序列存儲模塊,用于存儲所述數(shù)據(jù)發(fā)送序列。
9. 根據(jù)權利要求8所述的系統(tǒng),其特征在于,所述發(fā)送模式進一步包括可靠性參數(shù); 所述數(shù)據(jù)發(fā)送端還包括:FEC編碼模塊,用于根據(jù)發(fā)端控制模塊的指令對數(shù)據(jù)進行FEC 編碼; 所述發(fā)端控制模塊還用于,針對數(shù)據(jù)發(fā)送序列中的數(shù)據(jù),從發(fā)端模式管理模塊中查找 該數(shù)據(jù)的類型對應的可靠性參數(shù),根據(jù)該可靠性參數(shù)指令FEC編碼模塊對該數(shù)據(jù)進行FEC 編碼,并將編碼后的數(shù)據(jù)按照優(yōu)先級順序插入數(shù)據(jù)發(fā)送序列。
10. 根據(jù)權利要求8或9所述的系統(tǒng),其特征在于,所述發(fā)送模式進一步包括最大時 延; 所述發(fā)端控制模塊處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù)的方式為: 從發(fā)端模式管理模塊中查找該數(shù)據(jù)的類型對應的最大時延; 當所述數(shù)據(jù)的狀態(tài)為未發(fā)送時,根據(jù)該最大時延判斷是否已超時,如果已超時,則從所 述數(shù)據(jù)發(fā)送序列中刪除該數(shù)據(jù);如果未超時,則指令數(shù)據(jù)發(fā)送模塊發(fā)送該數(shù)據(jù),并將該數(shù)據(jù) 的狀態(tài)標記為已發(fā)送;當所述數(shù)據(jù)的狀態(tài)為已發(fā)送時,根據(jù)該最大時延判斷是否已超時,如 果已超時,則從所述數(shù)據(jù)發(fā)送序列中刪除該數(shù)據(jù); 所述數(shù)據(jù)發(fā)送端還包括數(shù)據(jù)發(fā)送模塊,用于按照發(fā)端控制模塊的指令發(fā)送數(shù)據(jù)。
11. 根據(jù)權利要求10所述的系統(tǒng),其特征在于,所述數(shù)據(jù)發(fā)送端還包括NAK接收模塊, 用于接收數(shù)據(jù)接收端反饋的針對數(shù)據(jù)的NAK請求; 所述發(fā)端控制模塊還用于,判斷在之前一段預先設定的時間段內是否接收過針對該數(shù) 據(jù)的NAK請求,如果是,則忽略該NAK請求;否則,將該數(shù)據(jù)的狀態(tài)標記為未發(fā)送,并提高該 數(shù)據(jù)的優(yōu)先級,根據(jù)該優(yōu)先級調整該數(shù)據(jù)在數(shù)據(jù)發(fā)送序列的位置,按照優(yōu)先級由高到低的 順序逐個處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù)。
12. 根據(jù)權利要求10所述的系統(tǒng),其特征在于,所述數(shù)據(jù)接收端包括: 收端控制模塊,用于接收針對不同數(shù)據(jù)類型的發(fā)送模式,并將發(fā)送模式發(fā)送至收端模 式管理模塊,所述發(fā)送模式包括優(yōu)先級、可靠性參數(shù)和最大時延;還用于將來自數(shù)據(jù)發(fā)送端 的數(shù)據(jù)按照接收順序插入數(shù)據(jù)接收序列,并按照接收順序由先到后的順序逐個處理述數(shù)據(jù) 接收序列中的數(shù)據(jù),處理的方式為:判斷該數(shù)據(jù)是否有缺失,如果沒有缺失,則從收端模式 管理模塊中查找該數(shù)據(jù)的類型對應的可靠性參數(shù),根據(jù)該可靠性參數(shù)指令FEC解碼模塊對 該數(shù)據(jù)進行FEC解碼,如果有缺失,則從收端模式管理模塊中查找該數(shù)據(jù)的類型對應的最 大時延,根據(jù)該最大時延判斷該數(shù)據(jù)重傳時是否會超時,如果會超時,則根據(jù)該數(shù)據(jù)的類型 對應的可靠性參數(shù)指令FEC解碼模塊對該數(shù)據(jù)進行FEC解碼;如果不會超時,則生成針對該 數(shù)據(jù)的NAK請求,將該NAK請求按照該數(shù)據(jù)類型對應的優(yōu)先級插入NAK請求發(fā)送序列; 收端模式管理模塊,用于接收并保存不同數(shù)據(jù)類型的發(fā)送模式; 數(shù)據(jù)接收模塊,用于接收來自數(shù)據(jù)發(fā)送端的數(shù)據(jù); 數(shù)據(jù)接收序列存儲模塊,用于存儲所述數(shù)據(jù)接收序列; FEC解碼模塊,用于按照收端控制模塊的指令對數(shù)據(jù)進行FEC解碼; NAK發(fā)送模塊,用于保存NAK請求發(fā)送序列,并逐個處理NAK請求發(fā)送序列中的NAK請 求。
13. 根據(jù)權利要求12所述的系統(tǒng),其特征在于,所述NAK發(fā)送模塊處理NAK請求發(fā)送序 列中的NAK請求的方式為: 在預先設定的一段時間之后,判斷數(shù)據(jù)接收模塊是否收到該NAK請求所針對的數(shù)據(jù)的 重傳數(shù)據(jù),如果收到,則刪除該NAK請求;如果沒有,則發(fā)送該NAK請求。
14. 根據(jù)權利要求8或9所述的系統(tǒng),其特征在于,數(shù)據(jù)接收端進一步包括:網(wǎng)絡監(jiān)測 模塊,用于監(jiān)測網(wǎng)絡狀態(tài)參數(shù),并向數(shù)據(jù)發(fā)送端反饋該網(wǎng)絡狀態(tài)參數(shù); 所述數(shù)據(jù)發(fā)送端進一步包括:速率調節(jié)模塊,用于接收網(wǎng)絡狀態(tài)參數(shù),并根據(jù)該網(wǎng)絡狀 態(tài)參數(shù)調節(jié)數(shù)據(jù)發(fā)送速率。
15. -種實現(xiàn)區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸?shù)臄?shù)據(jù)發(fā)送端,其特征在于,所述數(shù)據(jù)發(fā)送端 包括: 發(fā)端控制模塊,用于接收針對不同數(shù)據(jù)類型的發(fā)送模塊,并將發(fā)送模式發(fā)送至發(fā)端模 式管理模塊,所述發(fā)送模式包括優(yōu)先級;還用于獲取數(shù)據(jù),根據(jù)數(shù)據(jù)的類型查找對應的優(yōu)先 級,將所述數(shù)據(jù)按照優(yōu)先級插入數(shù)據(jù)發(fā)送序列,并將所述數(shù)據(jù)的狀態(tài)標記為未發(fā)送;按照優(yōu) 先級由高到低的順序逐個處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù); 發(fā)端模式管理模塊,用于接收并保存不同數(shù)據(jù)類型的發(fā)送模式; 數(shù)據(jù)發(fā)送序列存儲模塊,用于存儲所述數(shù)據(jù)發(fā)送序列。
16. 根據(jù)權利要求15所述的數(shù)據(jù)發(fā)送端,其特征在于,所述發(fā)送模式進一步包括可靠 性參數(shù);所述數(shù)據(jù)發(fā)送端還包括:FEC編碼模塊,用于根據(jù)發(fā)端控制模塊的指令對數(shù)據(jù)進行 FEC編碼; 所述發(fā)端控制模塊還用于,針對數(shù)據(jù)發(fā)送序列中的數(shù)據(jù),從發(fā)端模式管理模塊中查找 該數(shù)據(jù)的類型對應的可靠性參數(shù),根據(jù)該可靠性參數(shù)指令FEC編碼模塊對該數(shù)據(jù)進行FEC 編碼,并將編碼后的數(shù)據(jù)按照優(yōu)先級順序插入數(shù)據(jù)發(fā)送序列。
17. 根據(jù)權利要求15或16所述的數(shù)據(jù)發(fā)送端,其特征在于,所述發(fā)送模式進一步包括 最大時延; 所述發(fā)端控制模塊處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù)的方式為: 從發(fā)端模式管理模塊中查找該數(shù)據(jù)的類型對應的最大時延; 當所述數(shù)據(jù)的狀態(tài)為未發(fā)送時,根據(jù)該最大時延判斷是否已超時,如果已超時,則從所 述數(shù)據(jù)發(fā)送序列中刪除該數(shù)據(jù);如果未超時,則指令數(shù)據(jù)發(fā)送模塊發(fā)送該數(shù)據(jù),并將該數(shù)據(jù) 的狀態(tài)標記為已發(fā)送;當所述數(shù)據(jù)的狀態(tài)為已發(fā)送時,根據(jù)該最大時延判斷是否已超時,如 果已超時,則從所述數(shù)據(jù)發(fā)送序列中刪除該數(shù)據(jù); 所述數(shù)據(jù)發(fā)送端還包括數(shù)據(jù)發(fā)送模塊,用于按照發(fā)端控制模塊的指令發(fā)送數(shù)據(jù)。
18. 根據(jù)權利要求17所述的數(shù)據(jù)發(fā)送端,其特征在于,所述數(shù)據(jù)發(fā)送端還包括NAK接收 模塊,用于接收數(shù)據(jù)接收端反饋的針對數(shù)據(jù)的NAK請求; 所述發(fā)端控制模塊還用于,判斷在之前一段預先設定的時間段內是否接收過針對該數(shù) 據(jù)的NAK請求,如果是,則忽略該NAK請求;否則,將該數(shù)據(jù)的狀態(tài)標記為未發(fā)送,并提高該 數(shù)據(jù)的優(yōu)先級,根據(jù)該優(yōu)先級調整該數(shù)據(jù)在數(shù)據(jù)發(fā)送序列的位置,按照優(yōu)先級由高到低的 順序逐個處理數(shù)據(jù)發(fā)送序列中的數(shù)據(jù)。
19. 根據(jù)權利要求15或16所述的數(shù)據(jù)發(fā)送端,其特征在于,所述數(shù)據(jù)發(fā)送端進一步包 括:速率調節(jié)模塊,用于接收網(wǎng)絡狀態(tài)參數(shù),并根據(jù)該網(wǎng)絡狀態(tài)參數(shù)調節(jié)數(shù)據(jù)發(fā)送速率。
20. -種實現(xiàn)區(qū)分數(shù)據(jù)優(yōu)先級的多播傳輸?shù)臄?shù)據(jù)接收端,其特征在于,所述數(shù)據(jù)接收端 包括: 收端控制模塊,用于接收針對不同數(shù)據(jù)類型的發(fā)送模式,并將發(fā)送模式發(fā)送至收端模 式管理模塊,所述發(fā)送模式包括優(yōu)先級、可靠性參數(shù)和最大時延;還用于將來自數(shù)據(jù)發(fā)送端 的數(shù)據(jù)按照接收順序插入數(shù)據(jù)接收序列,并按照接收順序由先到后的順序逐個處理述數(shù)據(jù) 接收序列中的數(shù)據(jù),處理的方式為:判斷該數(shù)據(jù)是否有缺失,如果沒有缺失,則從收端模式 管理模塊中查找該數(shù)據(jù)的類型對應的可靠性參數(shù),根據(jù)該可靠性參數(shù)指令FEC解碼模塊對 該數(shù)據(jù)進行FEC解碼,如果有缺失,則從收端模式管理模塊中查找該數(shù)據(jù)的類型對應的最 大時延,根據(jù)該最大時延判斷該數(shù)據(jù)重傳時是否會超時,如果會超時,則根據(jù)該數(shù)據(jù)的類型 對應的可靠性參數(shù)指令FEC解碼模塊對該數(shù)據(jù)進行FEC解碼;如果不會超時,則生成針對該 數(shù)據(jù)的NAK請求,將該NAK請求按照該數(shù)據(jù)類型對應的優(yōu)先級插入NAK請求發(fā)送序列; 收端模式管理模塊,用于接收并保存不同數(shù)據(jù)類型的發(fā)送模式; 數(shù)據(jù)接收模塊,用于接收來自數(shù)據(jù)發(fā)送端的數(shù)據(jù); 數(shù)據(jù)接收序列存儲模塊,用于存儲所述數(shù)據(jù)接收序列; FEC解碼模塊,用于按照收端控制模塊的指令對數(shù)據(jù)進行FEC解碼; NAK發(fā)送模塊,用于保存NAK請求發(fā)送序列,并逐個處理NAK請求發(fā)送序列中的NAK請 求。
21. 根據(jù)權利要求20所述的數(shù)據(jù)接收端,其特征在于,所述NAK發(fā)送模塊處理NAK請求 發(fā)送序列中的NAK請求的方式為: 在預先設定的一段時間之后,判斷數(shù)據(jù)接收模塊是否收到該NAK請求所針對的數(shù)據(jù)的 重傳數(shù)據(jù),如果收到,則刪除該NAK請求;如果沒有,則發(fā)送該NAK請求。
22. 根據(jù)權利要求20或21所述的數(shù)據(jù)接收端,其特征在于,數(shù)據(jù)接收端進一步包括: 網(wǎng)絡監(jiān)測模塊,用于監(jiān)測網(wǎng)絡狀態(tài)參數(shù),并向數(shù)據(jù)發(fā)送端反饋該網(wǎng)絡狀態(tài)參數(shù)。
【文檔編號】H04L12/865GK104125161SQ201410401733
【公開日】2014年10月29日 申請日期:2014年8月14日 優(yōu)先權日:2014年8月14日
【發(fā)明者】李文靜, 劉美丹, 徐杰, 陳列新 申請人:三星電子(中國)研發(fā)中心, 三星電子株式會社