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