亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

多播的實(shí)現(xiàn)方法

文檔序號(hào):7756286閱讀:492來(lái)源:國(guó)知局
專(zhuān)利名稱:多播的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種網(wǎng)絡(luò)通信方法,特別是涉及一種多播(multicast,組播)的實(shí)現(xiàn)方法。
背景技術(shù)
多播是一種點(diǎn)到多點(diǎn)的通信方式,即由一個(gè)發(fā)送端將相同的信息發(fā)送給多個(gè)接收端。通常多播的發(fā)送端為局端設(shè)備,接收端為用戶端設(shè)備。傳統(tǒng)的組播實(shí)現(xiàn)方式是發(fā)送端設(shè)備要將一個(gè)數(shù)據(jù)包發(fā)送給多個(gè)接收端設(shè)備時(shí), 先將該數(shù)據(jù)包存入一個(gè)多播隊(duì)列,然后從該多播數(shù)據(jù)包中得到多播成員組。所述多播成員組即接收該數(shù)據(jù)包的多個(gè)接收端設(shè)備。發(fā)送端設(shè)備根據(jù)多播成員組的內(nèi)容,重復(fù)地從多播隊(duì)列中取出該多播數(shù)據(jù)包,并將該多播數(shù)據(jù)包放入各個(gè)接收端設(shè)備的通信隊(duì)列。這種組播實(shí)現(xiàn)方法對(duì)帶寬資源和存儲(chǔ)空間的浪費(fèi)較大。如果多播成員組中包括10 個(gè)接收端設(shè)備,則發(fā)送端設(shè)備需要將多播數(shù)據(jù)包復(fù)制10份,分別放入這10個(gè)接收端設(shè)備的輸出隊(duì)列。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種多播的實(shí)現(xiàn)方法,可以節(jié)約發(fā)送端設(shè)備的帶寬資源和存儲(chǔ)空間。為解決上述技術(shù)問(wèn)題,本發(fā)明多播的實(shí)現(xiàn)方法為,發(fā)送端設(shè)備要將一個(gè)數(shù)據(jù)包發(fā)送給多個(gè)接收端設(shè)備時(shí),先將該數(shù)據(jù)包存入一個(gè)多播隊(duì)列,同時(shí)為該多播數(shù)據(jù)包申請(qǐng)一個(gè) ID;發(fā)送端設(shè)備還為該多播數(shù)據(jù)包生成一個(gè)指向幀,所述指向幀至少包括該多播數(shù)據(jù)包的 ID和該多播數(shù)據(jù)包在該多播隊(duì)列中的存儲(chǔ)地址;接著,發(fā)送端設(shè)備從該多播數(shù)據(jù)包中得到多播成員組,并將該多播數(shù)據(jù)包的指向幀放入多播成員組中的每一個(gè)接收端設(shè)備的輸出隊(duì)列;發(fā)送端設(shè)備發(fā)現(xiàn)接收端設(shè)備的輸出隊(duì)列中包含指向幀時(shí),先根據(jù)該指向幀中的多播數(shù)據(jù)包的ID和存儲(chǔ)地址找到該多播數(shù)據(jù)包,再將該多播數(shù)據(jù)包發(fā)送給該接收端設(shè)備。根據(jù)本發(fā)明所述方法,多播數(shù)據(jù)包只在發(fā)送端設(shè)備存儲(chǔ)一次,多播數(shù)據(jù)包本身并不進(jìn)入各個(gè)接收端設(shè)備的輸出隊(duì)列,而是由多播數(shù)據(jù)包的指向幀進(jìn)入各個(gè)接收端設(shè)備的輸出隊(duì)列。通常多播數(shù)據(jù)包的指向幀僅需幾個(gè)字節(jié)即可,遠(yuǎn)小于多播數(shù)據(jù)包的長(zhǎng)度,因而可以顯著節(jié)約發(fā)送端設(shè)備的內(nèi)部處理帶寬及內(nèi)部存儲(chǔ)空間。


圖1是本發(fā)明多播的實(shí)現(xiàn)方法的示意圖。
具體實(shí)施例方式本發(fā)明多播的實(shí)現(xiàn)方法包括如下步驟
第1步,發(fā)送端設(shè)備要將一個(gè)數(shù)據(jù)包發(fā)送給多個(gè)接收端設(shè)備時(shí),先將該數(shù)據(jù)包存入一個(gè)多播隊(duì)列,同時(shí)為該多播數(shù)據(jù)包申請(qǐng)一個(gè)ID。多播隊(duì)列中的每個(gè)多播數(shù)據(jù)包都具有不同的ID。發(fā)送端設(shè)備還為該多播數(shù)據(jù)包生成一個(gè)指向幀,所述指向幀至少包括該多播數(shù)據(jù)包的ID和該多播數(shù)據(jù)包在該多播隊(duì)列中的存儲(chǔ)地址。第2步,請(qǐng)參閱圖1,發(fā)送端設(shè)備從該多播數(shù)據(jù)包中得到多播成員組,并將該多播數(shù)據(jù)包的指向幀放入多播成員組中的每一個(gè)接收端設(shè)備的輸出隊(duì)列。發(fā)送端設(shè)備發(fā)現(xiàn)接收端設(shè)備的輸出隊(duì)列中包含指向幀時(shí),先根據(jù)該指向幀中的多播數(shù)據(jù)包的ID和存儲(chǔ)地址找到該多播數(shù)據(jù)包,再將該多播數(shù)據(jù)包發(fā)送給該接收端設(shè)備。以下是本發(fā)明所述方法的進(jìn)一步改進(jìn)。所述方法第1步中,發(fā)送端設(shè)備還為該多播數(shù)據(jù)包設(shè)置一個(gè)復(fù)制計(jì)數(shù)器,該復(fù)制計(jì)數(shù)器的初始值為0。發(fā)送端設(shè)備還為該多播數(shù)據(jù)包設(shè)置一個(gè)完成標(biāo)志,該完成標(biāo)志的初始值為“未完成”。在一個(gè)典型的實(shí)施例中,發(fā)送端設(shè)備預(yù)先設(shè)置好多組多播數(shù)據(jù)包的ID、復(fù)制計(jì)數(shù)器和完成標(biāo)志,即預(yù)留一些存儲(chǔ)空間并將其定義為多播數(shù)據(jù)包的ID、復(fù)制計(jì)數(shù)器和完成標(biāo)志。一個(gè)新的數(shù)據(jù)包存入多播隊(duì)列時(shí),從預(yù)先設(shè)置的多播數(shù)據(jù)包的ID中申請(qǐng)一個(gè)空閑的 ID,從預(yù)先設(shè)置的復(fù)制計(jì)數(shù)器中申請(qǐng)一個(gè)空閑的復(fù)制計(jì)數(shù)器,從預(yù)先設(shè)置的完成標(biāo)志中申請(qǐng)一個(gè)空閑的完成標(biāo)志,所述“空閑”指沒(méi)有被其他多播數(shù)據(jù)包使用。所述方法第2步中,該多播數(shù)據(jù)包的指向幀每進(jìn)入一個(gè)接收端設(shè)備的輸出隊(duì)列, 該多播數(shù)據(jù)包的復(fù)制計(jì)數(shù)器加1。該多播數(shù)據(jù)包的指向幀從每一個(gè)接收端設(shè)備的輸出隊(duì)列中發(fā)出,該多播數(shù)據(jù)包的復(fù)制計(jì)數(shù)器減1。所述多播數(shù)據(jù)包的指向幀從一個(gè)接收端設(shè)備的輸出隊(duì)列中發(fā)出,是指先根據(jù)該指向幀中的多播數(shù)據(jù)包的ID和存儲(chǔ)地址找到該多播數(shù)據(jù)包, 再將該多播數(shù)據(jù)包發(fā)送給該接收端設(shè)備。當(dāng)該多播數(shù)據(jù)包的指向幀已放入多播成員組中的所有接收端設(shè)備的輸出隊(duì)列,該多播數(shù)據(jù)包的完成標(biāo)志改為“已完成”。發(fā)送端設(shè)備發(fā)現(xiàn)該多播數(shù)據(jù)包的完成標(biāo)志為“已完成”、且該多播數(shù)據(jù)包的復(fù)制計(jì)數(shù)器為0,表示該多播數(shù)據(jù)包已發(fā)送完成,從多播隊(duì)列中刪除該多播數(shù)據(jù)包,同時(shí)釋放除該多播數(shù)據(jù)包的ID,清除復(fù)制計(jì)數(shù)器和完成標(biāo)志。這樣這一組多播數(shù)據(jù)包的ID、復(fù)制計(jì)數(shù)器和完成標(biāo)志變?yōu)榭臻e。該多播數(shù)據(jù)包的指向幀只存儲(chǔ)在該多播數(shù)據(jù)包的多播成員組的輸出隊(duì)列之中,當(dāng)各個(gè)輸出隊(duì)列將指向幀都發(fā)出后,所有指向幀就全部被刪除了。所述方法第1步中還可增加內(nèi)容發(fā)送端設(shè)備要將一個(gè)數(shù)據(jù)包發(fā)送給多個(gè)接收端設(shè)備時(shí),判斷多播隊(duì)列中是否有足夠空間存儲(chǔ)該數(shù)據(jù)包。如果多播隊(duì)列中的空間足夠,則將該數(shù)據(jù)包存入多播隊(duì)列。如果多播隊(duì)列中的空間不足,則丟棄該數(shù)據(jù)包。本發(fā)明多播的實(shí)現(xiàn)方法,使得每個(gè)多播數(shù)據(jù)包在發(fā)送端設(shè)備只占用一個(gè)存儲(chǔ)空間,不會(huì)重復(fù)存儲(chǔ),從而節(jié)約了發(fā)送端設(shè)備的帶寬及存儲(chǔ)資源。
權(quán)利要求
1.一種多播的實(shí)現(xiàn)方法,其特征是,發(fā)送端設(shè)備要將一個(gè)數(shù)據(jù)包發(fā)送給多個(gè)接收端設(shè)備時(shí),先將該數(shù)據(jù)包存入一個(gè)多播隊(duì)列,同時(shí)為該多播數(shù)據(jù)包申請(qǐng)一個(gè)ID ;發(fā)送端設(shè)備還為該多播數(shù)據(jù)包生成一個(gè)指向幀,所述指向幀至少包括該多播數(shù)據(jù)包的ID和該多播數(shù)據(jù)包在該多播隊(duì)列中的存儲(chǔ)地址;接著,發(fā)送端設(shè)備從該多播數(shù)據(jù)包中得到多播成員組,并將該多播數(shù)據(jù)包的指向幀放入多播成員組中的每一個(gè)接收端設(shè)備的輸出隊(duì)列;發(fā)送端設(shè)備發(fā)現(xiàn)接收端設(shè)備的輸出隊(duì)列中包含指向幀時(shí),先根據(jù)該指向幀中的多播數(shù)據(jù)包的ID和存儲(chǔ)地址找到該多播數(shù)據(jù)包,再將該多播數(shù)據(jù)包發(fā)送給該接收端設(shè)備。
2.根據(jù)權(quán)利要求1所述的多播的實(shí)現(xiàn)方法,其特征是,發(fā)送端設(shè)備還為該多播數(shù)據(jù)包設(shè)置一個(gè)復(fù)制計(jì)數(shù)器,初始值為0 ;發(fā)送端設(shè)備還為該多播數(shù)據(jù)包設(shè)置一個(gè)完成標(biāo)志,初始值為“未完成”;該多播數(shù)據(jù)包的指向幀每進(jìn)入一個(gè)接收端設(shè)備的輸出隊(duì)列,該多播數(shù)據(jù)包的復(fù)制計(jì)數(shù)器加1 ;該多播數(shù)據(jù)包的指向幀從每一個(gè)接收端設(shè)備的輸出隊(duì)列中發(fā)出,該多播數(shù)據(jù)包的復(fù)制計(jì)數(shù)器減1 ;當(dāng)該多播數(shù)據(jù)包的指向幀已放入多播成員組中的所有接收端設(shè)備的輸出隊(duì)列,該多播數(shù)據(jù)包的完成標(biāo)志改為“已完成”;發(fā)送端設(shè)備發(fā)現(xiàn)該多播數(shù)據(jù)包的完成標(biāo)志為“已完成”、且該多播數(shù)據(jù)包的復(fù)制計(jì)數(shù)器為0,表示該多播數(shù)據(jù)包已發(fā)送完成,從多播隊(duì)列中刪除該多播數(shù)據(jù)包,同時(shí)釋放該多播數(shù)據(jù)包的ID,清除復(fù)制計(jì)數(shù)器和完成標(biāo)志。
3.根據(jù)權(quán)利要求1所述的多播的實(shí)現(xiàn)方法,其特征是,多播隊(duì)列中的每個(gè)多播數(shù)據(jù)包都具有不同的ID。
4.根據(jù)權(quán)利要求1所述的多播的實(shí)現(xiàn)方法,其特征是,所述多播數(shù)據(jù)包的指向幀從一個(gè)接收端設(shè)備的輸出隊(duì)列中發(fā)出,是指先根據(jù)該指向幀中的多播數(shù)據(jù)包的ID和存儲(chǔ)地址找到該多播數(shù)據(jù)包,再將該多播數(shù)據(jù)包發(fā)送給該接收端設(shè)備。
全文摘要
本發(fā)明公開(kāi)了一種多播的實(shí)現(xiàn)方法,發(fā)送端設(shè)備要將一個(gè)數(shù)據(jù)包發(fā)送給多個(gè)接收端設(shè)備時(shí),先將該數(shù)據(jù)包存入一個(gè)多播隊(duì)列,同時(shí)為該多播數(shù)據(jù)包申請(qǐng)一個(gè)ID;發(fā)送端設(shè)備還為該多播數(shù)據(jù)包生成一個(gè)指向幀,所述指向幀至少包括該多播數(shù)據(jù)包的ID和該多播數(shù)據(jù)包在該多播隊(duì)列中的存儲(chǔ)地址;接著,發(fā)送端設(shè)備從該多播數(shù)據(jù)包中得到多播成員組,并將該多播數(shù)據(jù)包的指向幀放入多播成員組中的每一個(gè)接收端設(shè)備的輸出隊(duì)列;發(fā)送端設(shè)備發(fā)現(xiàn)接收端設(shè)備的輸出隊(duì)列中包含指向幀時(shí),先根據(jù)該指向幀中的多播數(shù)據(jù)包的ID和存儲(chǔ)地址找到該多播數(shù)據(jù)包,再將該多播數(shù)據(jù)包發(fā)送給該接收端設(shè)備。本發(fā)明可以節(jié)約了發(fā)送端設(shè)備的帶寬及存儲(chǔ)資源。
文檔編號(hào)H04L12/18GK102377576SQ201010247929
公開(kāi)日2012年3月14日 申請(qǐng)日期2010年8月6日 優(yōu)先權(quán)日2010年8月6日
發(fā)明者何運(yùn)鋒, 蔡云陽(yáng) 申請(qǐng)人:高通創(chuàng)銳訊通訊科技(上海)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1