一種基于自適應互補機制的數(shù)據發(fā)布與接收方法
【專利摘要】本發(fā)明屬于融合網絡【技術領域】,具體涉及一種基于自適應互補機制的數(shù)據發(fā)布與接收方法。為彌補互聯(lián)網訪問所呈現(xiàn)的冪律分布特性和廣播網傳輸單向性所帶來的劣勢,使二者配合工作,本方法提出自適應互補機制,經廣播信道循環(huán)發(fā)布較大規(guī)模的數(shù)據,保證信息傳遞的快速性,在廣播信道存在誤碼的前提下,通過互聯(lián)網信道請求補包,保證數(shù)據完整性。本發(fā)明能夠減少由信道誤碼帶來的數(shù)據重傳時間,彌補單一信道傳輸數(shù)據的劣勢,提升用戶體驗。
【專利說明】一種基于自適應互補機制的數(shù)據發(fā)布與接收方法
【技術領域】
[0001]本發(fā)明屬于融合網絡【技術領域】,具體涉及一種基于自適應互補機制的數(shù)據發(fā)布與接收方法。
【背景技術】
[0002]隨著社會的不斷進步,人們對物質文化生活的需求也日益提升。在信息【技術領域】,傳統(tǒng)的互聯(lián)網服務已不能完全滿足用戶的需要,大數(shù)據量傳輸業(yè)務如高清電影、視頻點播等受到用戶越來越多的青睞。
[0003]當前的主要傳輸網絡如有線互聯(lián)網、廣播電視網等,均無法獨立應對用戶對大數(shù)據量傳輸業(yè)務的需求。有線互聯(lián)網受到帶寬限制,在大文件傳輸?shù)倪^程中耗時較長,并且其訪問形式服從冪律(Power-law)分布,極易造成網絡擁塞;廣播電視網雖然帶寬足夠,但屬于單向網絡,無法與用戶進行信息交互,只能采用前向糾錯(FEC)進行多次傳輸以保證服務質量,效率較低。同時,廣播網的資源較為匱乏,難以吸引用戶。
[0004]上述單一網絡的情況,服務質量、效率較低,不能滿足用戶需求。融合網絡的概念被提出,目前業(yè)界對融合網絡沒有明確的定義,其特點主要表現(xiàn)在可靠性、高效性、穩(wěn)定性和跨平臺等方面。簡單來說,就是利用兩個或多個不同類型的網絡來實現(xiàn)單一網絡所不能達到的效果。網絡的融合可以使多類網絡互補工作,借助它們的優(yōu)點,從多方面感知外在環(huán)境變化的特征,統(tǒng)計環(huán)境變化對服務質量和性能的影響規(guī)律,為更好的用戶體驗提供幫助。
【發(fā)明內容】
[0005]本發(fā)明所要解決的技術問題是提供一種基于自適應互補機制的數(shù)據發(fā)布與接收方法。采用本發(fā)明能夠減少由信道誤碼帶來的數(shù)據重傳時間,彌補單一信道的劣勢,提升用戶體驗。
[0006]本發(fā)明的數(shù)據發(fā)布方法,依次包括如下內容:
A.解析單元解析節(jié)目單,提取傳輸數(shù)據(可能不止一個文件)的身份標識ID、傳輸開始時間、傳播輪數(shù)、數(shù)據大小;
B.數(shù)據接收單元依據ID和傳輸開始時間,從廣播信道中接收數(shù)據,每當收到“本輪數(shù)據發(fā)送結束”的標志時,就將傳播輪數(shù)值減一,進入步驟C ;
C.遍歷單元遍歷接收到的數(shù)據,依據解析單元中讀取的數(shù)據大小,計算接收比例、缺失數(shù)據包的序號,進入步驟D ;
D.第一判斷單元判定數(shù)據是否接收完整,如果接收完整則進入步驟H,否則根據預先設置好的閾值,判斷是否達到可以通過互聯(lián)網進行補包的門限,如果達到則進入步驟Ejn果未達到則進入步驟F ;
E.補包單元根據遍歷單元中計算出的缺失數(shù)據包的序號,依據序號向數(shù)據源請求數(shù)據包,并將數(shù)據源響應的數(shù)據包寫入已接收到的數(shù)據中,記錄補包成功的數(shù)據包序號,直至所有缺失序號的補包請求均被發(fā)出,進入步驟G ; F.第二判斷單元讀取數(shù)據接收單元的傳播輪數(shù)參數(shù),判定參數(shù)是否為O,如果不為O,則轉至數(shù)據接收單元,重復步驟B、C、D,如果為O,則丟棄已接收到的全部數(shù)據,轉至數(shù)據接收單元,重復步驟B、C、D,接收新數(shù)據;
G.第三判斷單元查找缺失數(shù)據包的序號,如果仍有數(shù)據源未響應的數(shù)據包,則重復步驟E,重復步驟E五次后,如果依然存在數(shù)據源未響應的數(shù)據包,則丟棄已接收到的全部數(shù)據;
H.輸出單元輸出已被完整接收的數(shù)據。
[0007]本發(fā)明的方法中步驟C計算接收比例和缺失數(shù)據包的序號過程為:根據傳輸數(shù)據大小和包長(每個數(shù)據包的長度)建立臨時文件記錄接收到的數(shù)據包。臨時文件的大小即為數(shù)據大小與包長的比值取整,臨時文件的每一位對應一個數(shù)據包,初值均為O。當一個數(shù)據包接收完畢時,將臨時文件的對應位置I。這樣就可以快速、實時地計算出接收比例,并能遍歷查找缺失包號。
[0008]本發(fā)明的方法中步驟E記錄補包成功的數(shù)據包序號的過程為:依據臨時文件,每次補包成功后,將臨時文件中對應位置I。
[0009]本發(fā)明的方法中步驟G中的重復步驟E五次的過程為:從某個默認端口開始發(fā)送請求,如果請求不成功,則下次請求的端口號遞增1,重新發(fā)送請求,同時重發(fā)請求的間隔也隨機變換(1-5秒隨機)。
[0010]本發(fā)明利用廣播信道循環(huán)發(fā)布較大規(guī)模的數(shù)據,保證信息傳遞的快速性,在廣播信道存在誤碼率的情況下,通過互聯(lián)網信道請求補包,保證數(shù)據完整性。將兩類信道結合使用,采用自適應互補的機制進行數(shù)據發(fā)布與接收,提高傳輸效率,提升用戶體驗。
【專利附圖】
【附圖說明】
[0011]圖1是本發(fā)明的基于自適應互補機制的數(shù)據發(fā)布與接收方法結構框圖;
圖2是本發(fā)明的基于自適應互補機制的數(shù)據發(fā)布與接收方法流程圖;
圖3是本發(fā)明計算接收比例和缺失數(shù)據包序號的流程圖;
圖4是本發(fā)明計算接收比例和缺失數(shù)據包序號的示意圖。
【具體實施方式】
[0012]為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加簡明易懂,下面結合附圖和【具體實施方式】對本發(fā)明進行進一步的說明。
[0013]本發(fā)明可用但不局限于大數(shù)據發(fā)布方面。例如,視頻點播、數(shù)據推送、緊急信息發(fā)布等。在硬件方面可用于個人計算機、服務器、多處理器系統(tǒng)以及包含上述任何系統(tǒng)的計算環(huán)境等。
[0014]本發(fā)明可以由計算機程序模塊描述,一般地,程序模塊包括程序、對象、組件、數(shù)據結構等。程序模塊可位于本地的計算機存儲介質中。
[0015]圖1是本發(fā)明的基于自適應互補機制的數(shù)據發(fā)布與接收方法中的結構框圖,從圖中可以看出:
解析單元101、用于解析節(jié)目單,提取傳輸數(shù)據的相關參數(shù)。
[0016]本發(fā)明實施例中,節(jié)目單采用XML文件格式,通過互聯(lián)網點對點傳輸方式由源端發(fā)送給目的端,也可以采用其它文件格式及其它獲取方式。
[0017]本發(fā)明實施例中,采用的硬件為通用計算機,解析單元、接收單元、遍歷單元、第一判斷單元、第二判斷單元、第三判斷單元、補包單元均采用Intel x86芯片;存儲單元采用聯(lián)想公司的存儲產品;輸出單元采用聯(lián)想公司的顯示設備。
[0018]接收單元102、用于接收廣播信道傳輸來的數(shù)據,并存于存儲單元中。
[0019]遍歷單元103、用于對遍歷已接收的數(shù)據,計算接收比例、缺失數(shù)據包的序號。
[0020]第一判斷單元104、用于結合遍歷信息,判定數(shù)據是否接收完整。如果接收完整則進入輸出單元108 ;如果接收不完整則根據預先設置好的閾值,判斷是否達到可以通過互聯(lián)網進行補包的門限,如果達到則進入補包單元105,否則進入第二判斷單元106。
[0021]補包單元105、用于根據第一判斷單元的判定結果,執(zhí)行互聯(lián)網補包操作。
[0022]第二判斷單元106、用于判定傳播輪數(shù)參數(shù)是否為零。
[0023]第三判斷單元107、用于結合補包單元的信息,判定是否存在數(shù)據源未響應的數(shù)據包。
[0024]輸出單元108、用于輸出已被完整接收的數(shù)據。
[0025]存儲單元109、用于存儲接收到的數(shù)據及其它臨時信息。
[0026]下面對本發(fā)明的基于自適應互補機制的數(shù)據發(fā)布與接收方法的工作原理及工作過程進行介紹:
解析單元101用于解析節(jié)目單,提取傳輸數(shù)據的相關參數(shù)。接收單元102根據解析出來的信息,建立相應的連接,接收廣播信道傳輸來的數(shù)據,并存于存儲單元109中。遍歷單元103遍歷接收到的數(shù)據,依據解析單元中讀取的數(shù)據大小,計算接收比例、缺失數(shù)據包的序號。第一判斷單元104結合遍歷結果,判定數(shù)據是否接收完整,如果接收完整則進入輸出單元108,輸出已被完整接收的數(shù)據;如果接收不完整,則根據預先設置好的閾值,判斷是否達到可以通過互聯(lián)網進行補包的門限,如果達到則進入補包單元105,否則進入第二判斷單元106。進入補包單元105后,接收端依據遍歷信息,向數(shù)據源請求缺失的數(shù)據,期間采用第三判斷單元107判定是否在達到預定的請求次數(shù)后(默認五次)依然沒有收到全部的數(shù)據包,如果沒有收到全部數(shù)據則丟棄已收到的全部數(shù)據,進入接收單元102,準備接收新數(shù)據,如果數(shù)據已收全,則進入輸出單元108,輸出已被完整接收的數(shù)據。進入第二判斷單元106后,讀取傳播輪數(shù)參數(shù),判定此參數(shù)是否為0,如果不為0,則轉至接收單元102,準備接收同一數(shù)據的下一次輪播,如果為0,證明該數(shù)據已經不會再繼續(xù)播出,且丟包較多沒有達到互聯(lián)網補包的門限,此時丟棄已收到的全部數(shù)據,進入接收單元102,準備接收新數(shù)據。
[0027]圖2是本發(fā)明的基于自適應互補機制的數(shù)據發(fā)布與接收方法流程圖,從圖中可以看出:
步驟201、解析節(jié)目單。
[0028]提取傳輸數(shù)據(可能不止一個文件)的ID、傳輸開始時間、傳播輪數(shù)、數(shù)據大小。
[0029]步驟202、接收新數(shù)據。
[0030]依據ID和傳輸開始時間,從廣播信道中接收數(shù)據。
[0031]步驟203、判定是否收到“本輪數(shù)據發(fā)送結束”標志。
[0032]當收到“本輪數(shù)據發(fā)送結束”的標志時,執(zhí)行步驟204,否則執(zhí)行步驟202,繼續(xù)接收數(shù)據。[0033]步驟204、將傳播輪數(shù)值減一。
[0034]步驟205、遍歷接收到的數(shù)據,依據解析單元中讀取的數(shù)據大小,計算接收比例、缺失數(shù)據包的序號。
[0035]步驟206、判定數(shù)據是否接收完整,如果完整則執(zhí)行步驟213,否則執(zhí)行步驟207。
[0036]步驟207、判定未接收完整的數(shù)據是否達到可以通過互聯(lián)網進行補包的門限,如果達到則執(zhí)行步驟208,否則執(zhí)行步驟211。
[0037]步驟208、根據遍歷單元中計算出的缺失數(shù)據包的序號,向數(shù)據源請求符合序號的數(shù)據包,并將數(shù)據源響應的數(shù)據包寫入已接收到的數(shù)據中,記錄補包成功的數(shù)據包序號,直至所有缺失序號的補包請求均被發(fā)出。
[0038]步驟209、查找缺失數(shù)據包的序號,判定是否有數(shù)據源未響應的數(shù)據包,如果有,則執(zhí)行步驟210,否則執(zhí)行步驟213。
[0039]步驟210、判定已發(fā)送的對缺失數(shù)據包的補包請求是否已達到5次,如果是,則執(zhí)行步驟214,否則執(zhí)行步驟208。
[0040]步驟211、判定傳播輪數(shù)值是否為0,如果是則執(zhí)行步驟214,否則執(zhí)行步驟212。
[0041]步驟212、等待同一數(shù)據的下一輪播發(fā)。
[0042]步驟213、輸出已被完整接收的數(shù)據。
[0043]步驟214、丟棄已接收的數(shù)據。
[0044]圖3是本發(fā)明計算接收比例和缺失數(shù)據包序號的流程圖,從圖中可以看出:
步驟301、建立臨時文件。
[0045]在解析單元讀取到即將傳輸?shù)臄?shù)據的大小后,即建立臨時文件,文件長度以位為單位。
[0046]步驟302、設置臨時文件大小。
[0047]臨時文件的大小設置為數(shù)據大小與包長的比值取整,臨時文件的每一位對應一個數(shù)據包。
[0048]步驟303、將臨時文件所有位至零。
[0049]步驟304、將收到的數(shù)據包的對應位置I。
[0050]每個數(shù)據包接收完畢時,均將臨時文件的對應位置I。
[0051]步驟305、計算接收比例和缺失數(shù)據包序號
依據臨時文件,統(tǒng)計文件的位數(shù),以及已被置I的位數(shù),即可實時計算接收比例,并能根據對應關系找到缺失數(shù)據包序號。
[0052]需要說明的是,對于前述的各方法實施例,為了便于理解,將其表述為一系列動作的組合,但是本領域技術人員應該知悉,本發(fā)明并不完全受到所描述動作順序的限制,某些步驟可以同時進行。
[0053]以上對本發(fā)明所提供的一種基于自適應互補機制的數(shù)據發(fā)布與接收方法進行了詳細的介紹,本發(fā)明的優(yōu)點在于,能夠減少由信道誤碼帶來的數(shù)據重傳時間,彌補單一信道的劣勢,提升用戶體驗,故可用于實際的軟件或系統(tǒng)中。綜上所述,以上【具體實施方式】僅用于說明本發(fā)明,而不應該被理解為對本發(fā)明的限制。
【權利要求】
1.一種基于自適應互補機制的數(shù)據發(fā)布與接收方法,其特征在于,所述的方法依次包括如下步驟: A.解析單元:解析節(jié)目單,提取傳輸數(shù)據的身份標識ID、傳輸開始時間、傳播輪數(shù)、數(shù)據大?。? B.數(shù)據接收單元:依據身份標識ID和傳輸開始時間,從廣播信道中接收數(shù)據,每當收到“本輪數(shù)據發(fā)送結束”的標志時,就將傳播輪數(shù)值減一,進入步驟C ; C.遍歷單元:遍歷接收到的數(shù)據,依據解析單元中讀取的數(shù)據大小,計算接收比例、缺失數(shù)據包的序號,進入步驟D ; D.第一判斷單元:判定數(shù)據是否接收完整,如果接收完整則進入步驟H,否則根據預先設置好的閾值,判斷是否達到可以通過互聯(lián)網進行補包的門限,如果達到則進入步驟Ejn果未達到則進入步驟F ; E.補包單元:根據遍歷單元中計算出的缺失數(shù)據包的序號,依據序號向數(shù)據源請求數(shù)據包,并將數(shù)據源響應的數(shù)據包寫入已接收到的數(shù)據中,記錄補包成功的數(shù)據包序號,直至所有缺失序號的補包請求均被發(fā)出,進入步驟G ; F.第二判斷單元:讀取數(shù)據接收單元的傳播輪數(shù)參數(shù),判定參數(shù)是否為O,如果不為O,則轉至數(shù)據接收單元,重復步驟B、C、D,如果為O,則丟棄已接收到的全部數(shù)據,轉至數(shù)據接收單元,重復步驟B、C、D,接收新數(shù)據; G.第三判斷單元:查找缺失數(shù)據包的序號,如果仍有數(shù)據源未響應的數(shù)據包,則重復步驟E,重復步驟E五次后,如果依然存在數(shù)據源未響應的數(shù)據包,則丟棄已接收到的全部數(shù)據; H.輸出單元:輸出已被完整接收的數(shù)據。
2.根據權利要求1所述的方法,其特征在于,步驟C中計算接收比例和缺失數(shù)據包的序號過程為:根據傳輸數(shù)據大小和每個數(shù)據包的長度建立臨時文件記錄接收到的數(shù)據包;臨時文件的大小即為數(shù)據大小與包長的比值取整,臨時文件的每一位對應一個數(shù)據包,初值均為O ;當一個數(shù)據包接收完畢時,將臨時文件的對應位置I。
3.根據權利要求1所述的方法,其特征在于,步驟E中記錄補包成功的數(shù)據包序號的過程為:依據臨時文件,每次補包成功后,將臨時文件中對應位置I。
4.根據權利要求1所述的方法,其特征在于,步驟G中的重復步驟E五次的過程為:從某個默認端口開始發(fā)送請求,如果請求不成功,則下次請求的端口號遞增I,重新發(fā)送請求,同時重發(fā)請求的間隔也隨機變換。
【文檔編號】H04L1/00GK103716140SQ201310726272
【公開日】2014年4月9日 申請日期:2013年12月26日 優(yōu)先權日:2013年12月26日
【發(fā)明者】孔思淇, 王開云, 付云生, 潘澤友 申請人:中國工程物理研究院計算機應用研究所