專利名稱::一種在組播業(yè)務中實現(xiàn)差錯恢復的方法
技術領域:
:本發(fā)明涉及組播技術,特別是涉及一種在組播業(yè)務中實現(xiàn)差錯恢復的方法。
背景技術:
:在組播業(yè)務中,發(fā)送方需要將同一份業(yè)務數(shù)據(jù)發(fā)送給不同的接收方,即發(fā)送給組播組內所有的成員。在發(fā)送的過程中,由于鏈路等方面的原因,發(fā)送的業(yè)務數(shù)據(jù)可能存在丟失現(xiàn)象,即分組丟失。在這種情況下,接收方就無法正確接收業(yè)務數(shù)據(jù),將嚴重影響組播業(yè)務的實現(xiàn)。為了控制分組丟失現(xiàn)象對組播業(yè)務的影響,可以采用自動重傳請求(ARQ,AutomaticRepeatRequest)的方法進4亍差4普恢復。ARQ差錯恢復技術可以分為全局性差錯恢復方法和基于本地恢復組的差錯恢復方法。其中,全局性差錯恢復方法的大致思想是當某接收方發(fā)生分組丟失時,先將丟失情況通知給發(fā)送方,發(fā)送方再將該丟失的數(shù)據(jù)通過組播的方式重新下發(fā)給該接收方,直到接收方正確接收到該丟失的數(shù)據(jù)。全局性差錯恢復方法主要存在以下缺點的所有接收方都會向接收方反饋自身的接收情況。如果接收方比較多,發(fā)送方會接收到大量的反饋信息。進一步地,如果多個接收方發(fā)生分組丟失現(xiàn)象,并且丟失不同的數(shù)據(jù),那么,發(fā)送方將釆用組播的方式將每一個丟失的數(shù)據(jù)下發(fā)給多個接收方。這樣,所有的接收方就會針對每一個下發(fā)的數(shù)據(jù)向發(fā)送方反饋信息,可能造成反饋風暴,淹沒組播組。2)由于發(fā)送方采用組播的方式下發(fā)丟失的數(shù)據(jù),該組播組內其他已經(jīng)正確接收的接收方將不可避免地再次接收該數(shù)據(jù),即重復恢復,不但浪費網(wǎng)絡和接收方的資源,還容易導致網(wǎng)絡阻塞情況的發(fā)生。3)由于發(fā)送方每次只能下發(fā)一個丟失的數(shù)據(jù),該組播組內的某些接收方可能無法快速獲得丟失的數(shù)據(jù),即無法快速恢復差錯,從而影響組播業(yè)務的實現(xiàn)。
發(fā)明內容有鑒于此,本發(fā)明的主要目的在于提供一種在組播業(yè)務中實現(xiàn)差錯恢復的方法,可以提高接收方差錯恢復的效率,節(jié)約網(wǎng)絡資源,以及避免反饋風暴。為了達到上述目的,本發(fā)明提出的技術方案為一種在組播業(yè)務中實現(xiàn)差錯恢復的方法,其特征在于,該方法包括以下步驟a、發(fā)送方先將組播數(shù)據(jù)包劃分為數(shù)據(jù)塊,再將數(shù)據(jù)塊依次下發(fā)給組播組內的接收方,并接收返回的攜帶有丟失信息的響應消息;b、發(fā)送方根據(jù)接收到丟失信息確定丟失的數(shù)據(jù)塊,再根據(jù)丟失的數(shù)據(jù)塊確定差錯恢復數(shù)據(jù)塊,并將差錯恢復數(shù)據(jù)塊下發(fā)給組播組內的接收方;c、組播組內丟失數(shù)據(jù)塊的接收方根據(jù)差錯恢復數(shù)據(jù)塊獲得丟失的數(shù)據(jù)塊,實現(xiàn)差錯恢復。上述方案中,步驟a所述發(fā)送方將數(shù)據(jù)塊下發(fā)給接收方時,該方法進一步包括發(fā)送方將數(shù)據(jù)塊對應的數(shù)據(jù)塊標識一并發(fā)送給接收方;步驟a所述組播組內的接收方向發(fā)送方返回響應消息的方法為接收方根據(jù)自身接收到的數(shù)據(jù)塊所對應的數(shù)據(jù)塊標識生成丟失信息,并將丟失信息攜帶于響應消息中返回給發(fā)送方。上述方案中,預先在組播組內的接收方設置用于記錄每一個數(shù)據(jù)塊接收狀態(tài)的接收狀態(tài)列表,并設置反饋周期,所述接收方生成丟失信息的方法為在反^"周期中,當所述接收方接收到下發(fā)的數(shù)據(jù)塊時,按照數(shù)據(jù)塊對應的標識將已接收狀態(tài)信息記錄在所述接收狀態(tài)列表中,并在反饋周期結束時,所述接收方根據(jù)接收狀態(tài)列表生成丟失信息。上述方案中,預先在發(fā)送方設置重發(fā)周期,步驟b所述發(fā)送方根據(jù)丟失信息確疋丟大的#:揚塊的方法為在重發(fā)周期中,所述發(fā)送方接收并記錄組播組內所有接收方返回的響應消息中的丟失信息,并在重發(fā)周期結束時,根據(jù)所有接收方最近發(fā)送的響應消息中的丟失信息確定丟失的數(shù)據(jù)塊。上述方案中,步驟b所述確定差錯恢復數(shù)據(jù)塊的方法為發(fā)送方根據(jù)網(wǎng)絡編碼算法將確定丟失的數(shù)據(jù)塊進行組合,生成復合數(shù)據(jù)塊,并將生成的復合數(shù)據(jù)塊作為差錯恢復凄t據(jù)塊。上述方案中,所述網(wǎng)絡編碼算法為線性網(wǎng)絡編碼算法。上述方案中,所述差錯恢復數(shù)據(jù)塊中包括進行組合的數(shù)據(jù)塊的識別信息,步驟c所述獲得丟失的數(shù)據(jù)塊的方法為接收方根據(jù)所述識別信息判斷所述差錯恢復數(shù)據(jù)塊中是否包括自身丟失的數(shù)據(jù)塊,如果包括,則根據(jù)網(wǎng)絡編碼算法的逆運算將自身丟失的數(shù)據(jù)塊從所述差錯恢復數(shù)據(jù)塊中譯出。上述方案中,所述接收方將自身丟失的數(shù)據(jù)塊從差錯恢復數(shù)據(jù)塊中譯出之前,該方法進一步包括接收方根據(jù)所述識別信息判斷在用于組合差錯恢復數(shù)據(jù)塊的數(shù)據(jù)塊中,自身是否只丟失一個數(shù)據(jù)塊,如果是,則繼續(xù)執(zhí)行。上述方案中,當發(fā)送方確定丟失的數(shù)據(jù)塊之后,該方法進一步包括發(fā)送方根據(jù)預先設置的組合策略判斷在丟失的數(shù)據(jù)塊中,是否存在無需組合的數(shù)據(jù)塊,如果存在,則直接將所述無需組合的數(shù)據(jù)塊下發(fā)給接收方。綜上所述,本發(fā)明提出的一種在組播業(yè)務中實現(xiàn)差錯恢復的方法,由于發(fā)送方可以將各個接收方丟失的不同的數(shù)據(jù)塊采用網(wǎng)絡編碼算法組合起來,生成一個統(tǒng)一的差錯恢復數(shù)據(jù)塊,各接收方再分別從所述差錯恢復數(shù)據(jù)塊中獲得自身丟失的數(shù)據(jù)塊,不但可以提高接收方差錯恢復的效率,減少發(fā)送方和接收方交互的次數(shù),節(jié)約網(wǎng)絡資源,還可以抑制重發(fā),避免反饋風暴。圖1是本發(fā)明的流程圖;圖2是本發(fā)明實施例中接收方丟失數(shù)據(jù)塊的示意圖;圖3是本發(fā)明實施例的流程圖。具體實施方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖及具體實施例對本發(fā)明作進一步地詳細描述。本發(fā)明的基本思想是發(fā)送方根據(jù)組播組內接收方丟失的數(shù)據(jù)塊確定差錯恢復數(shù)據(jù)塊,并將所述差錯恢復數(shù)據(jù)塊發(fā)送給接收方,丟失數(shù)據(jù)塊的接收方則可以根據(jù)差錯恢復數(shù)據(jù)塊獲得丟失的數(shù)據(jù)塊,從而實現(xiàn)差錯恢復。圖l是本發(fā)明的流程圖。如圖1所示,本發(fā)明實現(xiàn)在組播業(yè)務中進行差錯恢復的方法包括以下步驟步驟101:發(fā)送方先將組播數(shù)據(jù)包劃分為數(shù)據(jù)塊,再將數(shù)據(jù)塊依次下發(fā)給組播組內的接收方,并接收返回的攜帶有丟失信息的響應消息。本步驟中,為了接收方能夠更好地判斷出自身丟失了哪個數(shù)據(jù)塊,發(fā)送方可以在劃分數(shù)據(jù)包時,將劃分的每一個數(shù)據(jù)塊分配一個對應的數(shù)據(jù)塊標識,并在下發(fā)數(shù)據(jù)塊時,將所述的數(shù)據(jù)塊標識一起發(fā)送給接收方。這樣,接收方就可以根據(jù)接收到的數(shù)據(jù)塊所對應的數(shù)據(jù)塊標識生成丟失信息。這里所述的丟失信息可以為接收方丟失的數(shù)據(jù)塊所對應的數(shù)據(jù)塊標識,也可以為其它信息,只要可以將自身丟失數(shù)據(jù)塊的信息通知給發(fā)送方即可。比如數(shù)據(jù)包一共劃分為5個數(shù)據(jù)塊,如果接收方丟失了第二個和第三個數(shù)據(jù)塊,可以直接將"2、3"發(fā)送給發(fā)送方,也可以將"10011"發(fā)送給發(fā)送方。如果將"10011"發(fā)送給發(fā)送方,其中值為"0"的第二位、第三位則可以表示丟失了第二個和第三個數(shù)據(jù)塊。實際應用中,如果發(fā)送方和接收方可以確定發(fā)送數(shù)據(jù)塊的時間、順序等因素,也可用不為劃分的數(shù)據(jù)塊分配對應的數(shù)據(jù)塊標識,只要接收方可以判斷出自身丟失哪個數(shù)據(jù)塊即可。步驟102:發(fā)送方根據(jù)接收到丟失信息確定丟失的數(shù)據(jù)塊,再根據(jù)丟失的數(shù)據(jù)塊確定差錯恢復數(shù)據(jù)塊,并將差錯恢復數(shù)據(jù)塊下發(fā)給組播組內的接收方。本步驟所述確定差錯恢復數(shù)據(jù)塊的方法可以為發(fā)送方根據(jù)網(wǎng)絡編碼算法將確定丟失的數(shù)據(jù)塊進行組合,生成復合數(shù)據(jù)塊,并將生成的復合數(shù)據(jù)塊作為差錯恢復數(shù)據(jù)塊。這里所述網(wǎng)絡編碼算法可以為線性網(wǎng)絡編碼算法,比如XOR算法等。當然,實際應用中,也可以不采用網(wǎng)絡編碼算法,只要接收方可以從編碼后的差錯恢復數(shù)據(jù)塊中譯出自身丟失的數(shù)據(jù)塊即可。步驟103:組播組內丟失數(shù)據(jù)塊的接收方根據(jù)差錯恢復數(shù)據(jù)塊獲得丟失的數(shù)據(jù)塊,實現(xiàn)差錯恢復。這里,不管之前發(fā)送方采用哪種方法確定差錯恢復數(shù)據(jù)塊,當接收方需要從所述差錯恢復數(shù)據(jù)塊中獲得自身丟失的數(shù)據(jù)塊時,還需要知道所述差錯恢復數(shù)據(jù)塊由哪些丟失的數(shù)據(jù)塊組合,即所述差錯恢復數(shù)據(jù)塊中包括進行組合的數(shù)據(jù)塊的識別信息。這樣,接收方就可以根據(jù)所述識別信息判斷所述差錯恢復數(shù)據(jù)塊中是否包括自身丟失的數(shù)據(jù)塊,如果包括,則根據(jù)網(wǎng)絡編碼算法的逆運算將自身丟失的數(shù)據(jù)塊從所述差錯恢復數(shù)據(jù)塊中譯出;否則,丟棄所述差錯恢復數(shù)據(jù)塊。這里所述識別信息用于識別進行組合的數(shù)據(jù)塊,可以為數(shù)據(jù)塊所對應的^:據(jù)塊標識,也可以為其它信息。比如識別信息為"10110",如果"1"表示參加組合的數(shù)據(jù)塊,則"10110"可以表示第一個、第三個和第四個數(shù)據(jù)塊進行了組合。當然,實際應用中,也可以采用其它的方法來表示,只要接收方可以標識哪些數(shù)據(jù)塊參加了組合即可。另外,實際應用中,如果發(fā)送給組播組內各接收方的數(shù)據(jù)塊丟失得比較多,下發(fā)一次差錯恢復數(shù)據(jù)塊可能無法使所有的接收方恢復差錯。在這種情況下,可以采用多次下發(fā)差錯恢復數(shù)據(jù)塊的方法。當然,這里每一次下發(fā)的差錯恢復數(shù)據(jù)塊可能是不同的,而是根據(jù)接收方返回的最新的響應消息重新確定丟失的數(shù)據(jù)塊,并根據(jù)重新確定丟失的數(shù)據(jù)塊生成新的差錯恢復數(shù)據(jù)塊。為了更好地說明本發(fā)明方案,下面用具體的實施例進行詳細描述。本實施例中,有5個接收方,即接收方1接收方5。預先在組播組內的發(fā)送方設置重發(fā)周期,在每一個接收方設置反饋周期,所述重發(fā)周期和反饋周期的設置與數(shù)據(jù)傳輸速率、傳輸時延等信息相關,可以根據(jù)實際情況確定。本實施例中,發(fā)送方將需要傳輸給接收方的組播數(shù)據(jù)包劃分為5個數(shù)據(jù)塊,依次表示為D1D5,并為每一個數(shù)據(jù)塊分配一個對應的數(shù)據(jù)塊標識。相應地,本實施例中,為了記錄接收數(shù)據(jù)塊的情況,接收方預先設置了用于記錄每一個數(shù)據(jù)塊接收狀態(tài)的接收狀態(tài)列表,如表一所示<table>tableseeoriginaldocumentpage9</column></row><table>表一在接收方的每一個反饋周期,當所述接收方接收到下發(fā)的數(shù)據(jù)塊時,按照數(shù)據(jù)塊對應的標識將已接收狀態(tài)信息記錄在所述接收狀態(tài)列表中。這里,接收方可以先將接收狀態(tài)列表中的每一項初始為"未接收",當接收到某數(shù)據(jù)塊時,則將其更改為"已接收",所述"已接收"就是已接收狀態(tài)信息。當然,實際應用中,也可以用"0"、'T,等信息表示是否已經(jīng)接收到對應的數(shù)據(jù)塊,此處不再贅述。圖2是本實施例接收方丟失數(shù)據(jù)塊的示意圖。如圖2所示,本實施例中,接收方中每一個陰影表示丟失的數(shù)據(jù)塊,即接收方1丟失D5,接收方2丟失D3,接收方3丟失D2,接收方4丟失D4,接收方5丟失D1。圖3是本實施例的流程圖。如圖3所示,本實施例在組播業(yè)務中實現(xiàn)差錯恢復的方法包括以下步驟步驟301:發(fā)送方將劃分的數(shù)據(jù)塊DWD5依次下發(fā)給組播組內的接收方1~接收方5。步驟302:在反饋周期中,當接收方1~接收方5接收到下發(fā)的數(shù)據(jù)塊時,按照數(shù)據(jù)塊對應的標識將已接收狀態(tài)信息記錄在自身接收狀態(tài)列表中。步驟303:在反饋周期結束時,接收方1~接收方5根據(jù)自身的接收狀態(tài)列表生成丟失信息。本步驟中,如杲接收方接收到某數(shù)據(jù)塊,就將對應的接收狀態(tài)一項記錄為'T,,則接收方1的接收狀態(tài)列表中的值為"11110",表示未接收到D5。這里所述"11110"就是丟失信息。步驟304:接收方1~接收方5將丟失信息攜帶于響應消息NACK中返回給發(fā)送方。實際應用中,如果某接收方接收到了全部的數(shù)據(jù)塊,可以向發(fā)送方返回不包括丟失信息的ACK響應消息t步驟305:發(fā)送方接收并記錄接收方1~接收方5返回的NACK響應消息中的丟失信息。重發(fā)周期中,如果接收方向發(fā)送方返回了多條響應消息,接收方可以只記錄最新的響應消息。當重發(fā)周期結束時,發(fā)送方將根據(jù)所有接收方最近發(fā)送的響應消息中的丟失信息確定丟失的數(shù)據(jù)塊。至于重發(fā)周期之后達到的響應消息,則作為下一次確定丟失數(shù)據(jù)塊的依據(jù)。這種方法可以稱為盡力而為策略,也可以作為重發(fā)抑制策略。其原因在于發(fā)送方雖然在某一個重發(fā)周期未接收到某接收方的NACK響應消息,但該接收方可能在該重發(fā)周期結束接收到差錯恢復數(shù)據(jù)塊,并根據(jù)差錯恢復數(shù)據(jù)塊獲得全部或部分丟失的數(shù)據(jù)塊。那么,下一次發(fā)送給發(fā)送方的NACK響應消息可能與前一次的NACK響應消息不同,此時,發(fā)送方就不必參考前一次的NACK響應消息了。步驟306:重發(fā)周期結束時,發(fā)送方根據(jù)接收方1~接收方5最近發(fā)送的響應消息中的丟失信息確定丟失的數(shù)據(jù)塊。本實施例中,假設接收方1接收方5在第一個重發(fā)周期就將丟失信息發(fā)送給了發(fā)送方,即接收方1丟失D5,接收方2丟失D3,接收方3丟失D2,接收方4丟失D4,接收方5丟失D1。步驟307:發(fā)送方根據(jù)線性網(wǎng)絡編碼算法將確定丟失的數(shù)據(jù)塊進行組合,生成復合數(shù)揚塊,開將生成的復合數(shù)椐塊作為差錯恢復數(shù)據(jù)塊。本步驟中,表示根據(jù)線性網(wǎng)絡編碼算法對數(shù)據(jù)塊進行組合的方法可以由以下公式一表示D=Dtxk,+D2xk2+......+Dnxkn(公式一)其中,D,為發(fā)送方用于組合差錯恢復數(shù)據(jù)塊,Ki為線性網(wǎng)絡編碼算法中的編碼因子,而D則為組合后生成的差錯恢復數(shù)據(jù)塊。這里,所述的編碼因子&與具體的線性網(wǎng)絡編碼算法相關。比如如果線性網(wǎng)絡編碼算法采用XOR編碼算法,則編碼因子K,為"0"或'T'。下面以XOR編碼算法為例對差錯恢復數(shù)據(jù)塊進行組合的方法說明如果發(fā)送方共發(fā)送5個數(shù)據(jù)塊,并確定接收方丟失的數(shù)據(jù)塊為Dl、D3、D5,則組合差錯恢復數(shù)據(jù)塊的公式應該為D=D!x1+D2x0+D3x1+D4x0+D5x1=D1+D3+D5(公式二)當然,實際應用中,也可以不采用XOR編碼算法,而是采用其它的線性網(wǎng)絡編碼算法。此時,編碼因子就不是全部為"0"或'T,。進一步地,為了增加傳輸?shù)目煽啃?,還可以根據(jù)信號功率確定編碼因子。比如如果丟失數(shù)據(jù)塊D1的接收方比較多,則可以將編碼因子設置得比較大;反之,則設置得比較小。例如在5個接收方中有4個接收方丟失了數(shù)據(jù)塊1,有3個接收方丟失了數(shù)據(jù)塊3,有1個接收方丟失了數(shù)據(jù)塊5。那么,編碼因子k,、k3和ks之間的關系就可以為kr>k3>k5,至于具體的值則可以根據(jù)實際情況確定。另外,所述差錯恢復數(shù)據(jù)塊中還可以包含進行組合的數(shù)據(jù)塊的識別信息,以便于接收方確定該差錯恢復數(shù)據(jù)塊由哪些數(shù)據(jù)塊組合。這里所述識別信息可以為參加組合的數(shù)據(jù)塊對應的數(shù)據(jù)塊標識,也可以為其它信息。比如仍然以Dl、D3和D5組合差錯恢復數(shù)據(jù)塊為例,所述識別信息就可以為"10101",接收方根據(jù)值為"1"的位置就可以確定哪些數(shù)據(jù)塊進行了組合。步驟308:發(fā)送方將攜帶有數(shù)據(jù)塊識別信息的差錯恢復數(shù)據(jù)塊發(fā)送給接4文方1~凈妾4文方5。本步驟中,發(fā)送方是將一個差錯恢復數(shù)據(jù)塊分別發(fā)送給5個不同的接收方,即采用組播的方式下發(fā)。步驟309~步驟311:接收方1~接收方5分別根據(jù)識別信息判斷差錯恢復數(shù)據(jù)塊中是否包含自身丟失的數(shù)據(jù)塊,如果有,則根據(jù)網(wǎng)絡編碼算法的譯碼算法將自身丟失的數(shù)據(jù)塊從差錯恢復數(shù)據(jù)塊中譯出;否則,丟棄所述差錯恢復數(shù)據(jù)塊。本步驟中,接收方是采用網(wǎng)絡編碼算法的譯碼算法將自身丟失的數(shù)據(jù)塊從差錯恢復數(shù)據(jù)塊中譯出的。比如發(fā)送方采用的網(wǎng)絡編碼算法為XOR編碼算法,進行組合的Dl=0010,D3=1110,D5=1010,那么,組合之后的D=0110。此時,如果接收方1已經(jīng)接收到Dl和D3,那么,將D、Dl和D3進行譯碼運算,就可以獲得1010,即接收方從差錯恢復數(shù)據(jù)塊中譯出D5,從而實現(xiàn)差錯恢復。與接收方l相似,其它的接收方也可以譯出自身丟失的數(shù)據(jù)塊本實施例是以每個接收方只丟失一個數(shù)據(jù)塊為例說明本發(fā)明方案的,實際應用中,如果接收方丟失了組合差錯恢復數(shù)據(jù)塊中的一個以上的數(shù)據(jù)塊,就無法一次直接從組合差錯恢復數(shù)據(jù)塊中譯出自身丟失的數(shù)據(jù)塊。比如發(fā)送方采用的網(wǎng)絡編碼算法為XOR編碼算法,進行組合的Dl=0010,D3=1110,D5-1010,組合后的D-0110。如果接收方1之前只接收到Dl,那么,接收方1就無法直接根據(jù)D和Dl譯出D3和D5。在上述這種情況下,在接收方將自身丟失的數(shù)據(jù)塊從差錯恢復數(shù)據(jù)塊中譯出之前,該方法進一步包括接收方根據(jù)所述識別信息判斷在用于組合差錯恢復數(shù)據(jù)塊的數(shù)據(jù)塊中,自身是否只丟失一個數(shù)據(jù)塊,如果是,繼續(xù)執(zhí)行。當然,如果接收方根據(jù)所述識別信息判斷出在用于組合差錯恢復數(shù)據(jù)塊的數(shù)據(jù)塊中,自身丟失了一個以上的數(shù)據(jù)塊,此時,接收方還需要保存所述差錯恢復數(shù)據(jù)塊。沒有直接譯出自身丟失的數(shù)據(jù)塊的接收方還需要向發(fā)送方返回下一條NACK響應消息。發(fā)送又將重新根據(jù)新接收到的NACK響應消息確定丟失的數(shù)據(jù)塊,并生成新的差錯恢復數(shù)據(jù)塊,即重復執(zhí)行步驟304~步驟311。此時,之前沒有直接譯出自身丟失的數(shù)據(jù)塊的接收方就可以根據(jù)事先保存的差錯恢復數(shù)據(jù)塊和新接收到的差錯恢復數(shù)據(jù)塊譯出自身丟失的數(shù)據(jù)塊。當然,如果仍然沒有譯出自身丟失的全部數(shù)據(jù)塊,則還需要重復執(zhí)行步驟304~步驟311,直到發(fā)送方不再接收到NACK消息,即所有的接收方全部實現(xiàn)了差錯恢復。實際應用中,不同的數(shù)據(jù)塊丟失的情況可能不同,發(fā)送方還可以預先設置的組合策略,以確定是否進行組合。也就是說,當發(fā)送方確定丟失的數(shù)據(jù)塊之后,該方法進一步包括發(fā)送方根據(jù)預先設置的組合策略,判斷在丟失的數(shù)據(jù)塊中是否存在無需組合的數(shù)據(jù)塊如果存在,則直接將所述無需組合的數(shù)據(jù)塊下發(fā)給接收方。這里所述預先設置的組合策略可以是與數(shù)據(jù)塊丟失概率相關的策略。比如所有的接收方都沒有接收到Dl,那么,Dl丟失的概率為100%。如果預先設置的數(shù)據(jù)塊丟失概率為80%,那么,所述組合策略就可以為當某數(shù)據(jù)塊丟失概率大于預先設置的數(shù)據(jù)塊丟失概率時,將進行組合;否則,無需進行組合。如果判斷出某教據(jù)塊無需進行組合,就可以直接將該數(shù)據(jù)塊下發(fā)給組播組內的所有接收方實際應用中,還可以按照數(shù)據(jù)塊丟失的情況進行分類,并將確定無需組合的數(shù)據(jù)塊設置較高優(yōu)先級,將需要進行組合的數(shù)據(jù)塊設置較低的優(yōu)先級,并先將優(yōu)先級高的數(shù)據(jù)塊下發(fā)給接收方,再將優(yōu)先級低的數(shù)據(jù)塊組合后下發(fā)給接收方。但實際應用中,至于是否進行分類,是否設置優(yōu)先級別等則可以有應用本發(fā)明方案的用戶自行確定,此處不再贅述。另外,本發(fā)明方案可以適用于有線、無線、包含中繼節(jié)點的網(wǎng)絡。應用本發(fā)明方案,發(fā)送方可以將各個接收方丟失的不同的數(shù)據(jù)塊采用網(wǎng)絡編碼算法組合起來,生成一個統(tǒng)一的差錯恢復數(shù)據(jù)塊,各接收方再分別從所述差錯恢復數(shù)據(jù)塊中獲得自身丟失的數(shù)據(jù)塊,不但可以提高接收方差錯恢復的效率,減少發(fā)送方和接收方交互的次數(shù),節(jié)約網(wǎng)絡資源,還可以抑制重發(fā),避免反饋風暴。綜上所述,以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。權利要求1.一種在組播業(yè)務中實現(xiàn)差錯恢復的方法,其特征在于,該方法包括以下步驟a、發(fā)送方先將組播數(shù)據(jù)包劃分為數(shù)據(jù)塊,再將數(shù)據(jù)塊依次下發(fā)給組播組內的接收方,并接收返回的攜帶有丟失信息的響應消息;b、發(fā)送方根據(jù)接收到丟失信息確定丟失的數(shù)據(jù)塊,再根據(jù)丟失的數(shù)據(jù)塊確定差錯恢復數(shù)據(jù)塊,并將差錯恢復數(shù)據(jù)塊下發(fā)給組播組內的接收方;c、組播組內丟失數(shù)據(jù)塊的接收方根據(jù)差錯恢復數(shù)據(jù)塊獲得丟失的數(shù)據(jù)塊,實現(xiàn)差錯恢復。2、根據(jù)權利要求1所述的方法,其特征在于,步驟a所述發(fā)送方將數(shù)據(jù)塊下發(fā)給接收方時,該方法進一步包括發(fā)送方將數(shù)據(jù)塊對應的數(shù)據(jù)塊標識一并發(fā)送給4妄收方;步驟a所述組播組內的接收方向發(fā)送方返回響應消息的方法為接收方根據(jù)自身接收到的數(shù)據(jù)塊所對應的數(shù)據(jù)塊標識生成丟失信息,并將丟失信息攜帶于響應消息中返回給發(fā)送方。3、根據(jù)權利要求2所述的方法,其特征在于,預先在組播組內的接收方設置用于記錄每一個數(shù)據(jù)塊接收狀態(tài)的接收狀態(tài)列表,并設置反饋周期,所述接收方生成丟失信息的方法為在反饋周期中,當所述接收方接收到下發(fā)的數(shù)據(jù)塊時,按照數(shù)據(jù)塊對應的標識將已接收狀態(tài)信息記錄在所述接收狀態(tài)列表中,并在反饋周期結束時,所述接收方根據(jù)接收狀態(tài)列表生成丟失信息。4、根據(jù)權利要求1所述的方法,其特征在于,預先在發(fā)送方設置重發(fā)周期,步驟b所述發(fā)送方根據(jù)丟失信息確定丟失的數(shù)據(jù)塊的方法為在重發(fā)周期中,所述發(fā)送方接收并記錄組播組內所有接收方返回的響應消息中的丟失信息,并在重發(fā)周期結束時,根據(jù)所有接收方最近發(fā)送的響應消息中的丟失信息確定丟失的數(shù)據(jù)塊。5、根據(jù)權利要求l所述的方法,其特征在于,步驟b所述確定差錯恢復數(shù)據(jù)塊的方法為發(fā)送方根據(jù)網(wǎng)絡編碼算法將確定丟失的lt據(jù)塊進行組合,生成復合數(shù)據(jù)塊,并將生成的復合數(shù)據(jù)塊作為差錯恢復數(shù)據(jù)塊。6、根據(jù)權利要求5所述的方法,其特征在于,所述網(wǎng)絡編碼算法為線性網(wǎng)絡編碼算法。7、根據(jù)權利要求5所述的方法,其特征在于,所述差錯恢復數(shù)據(jù)塊中包括進行組合的數(shù)據(jù)塊的識別信息,步驟c所述獲得丟失的數(shù)據(jù)塊的方法為接收方根據(jù)所述識別信息判斷所述差錯恢復數(shù)據(jù)塊中是否包括自身丟失的數(shù)據(jù)塊,如果包括,則根據(jù)網(wǎng)絡編碼算法的譯碼算法將自身丟失的數(shù)據(jù)塊從所述差錯恢復數(shù)據(jù)塊中譯出。8、根據(jù)權利要求7所述的方法,其特征在于,所述接收方將自身丟失的數(shù)據(jù)塊從差錯恢復數(shù)據(jù)塊中譯出之前,該方法進一步包括接收方根據(jù)所述識別信息判斷在用于組合差錯恢復數(shù)據(jù)塊的數(shù)據(jù)塊中,自身是否只丟失一個數(shù)據(jù)塊,如果是,則繼續(xù)執(zhí)行。9、根據(jù)權利要求5所迷的方法,其特征在于,當發(fā)送方確定丟失的數(shù)據(jù)塊之后,該方法進一步包括發(fā)送方根據(jù)預先設置的組合策略判斷在丟失的數(shù)據(jù)塊中,是否存在無需組合的數(shù)據(jù)塊,如果存在,則直接將所述無需組合的數(shù)據(jù)塊下發(fā)給接收方。全文摘要本發(fā)明提供一種在組播業(yè)務中實現(xiàn)差錯恢復的方法,具體為發(fā)送方先將組播數(shù)據(jù)包劃分為數(shù)據(jù)塊,再將數(shù)據(jù)塊依次下發(fā)給組播組內的接收方,并接收返回的攜帶有丟失信息的響應消息;發(fā)送方根據(jù)接收到丟失信息確定丟失的數(shù)據(jù)塊,再根據(jù)丟失的數(shù)據(jù)塊確定差錯恢復數(shù)據(jù)塊,并將差錯恢復數(shù)據(jù)塊下發(fā)給組播組內的接收方;組播組內丟失數(shù)據(jù)塊的接收方根據(jù)差錯恢復數(shù)據(jù)塊獲得丟失的數(shù)據(jù)塊,實現(xiàn)差錯恢復。應用本發(fā)明方案,不但可以提高接收方差錯恢復的效率,減少發(fā)送方和接收方交互的次數(shù),節(jié)約網(wǎng)絡資源,還可以抑制重發(fā),避免反饋風暴。文檔編號H04L1/16GK101222302SQ200710063400公開日2008年7月16日申請日期2007年1月11日優(yōu)先權日2007年1月11日發(fā)明者吳偉陵,譜宋,林家儒,林雪紅,凱牛,賀志強申請人:北京郵電大學