本發(fā)明涉及通信技術領域,具體而言,涉及一種用于可靠組播傳輸數(shù)據(jù)的方法及設備。
背景技術:
現(xiàn)有的可靠組播技術,分為基于確認(ACK)和基于否定確認(NACK)的模式?,F(xiàn)有的可靠組播技術,在對組播響應速度要求高以及對網(wǎng)絡擁堵較敏感的應用領域,可例如在金融領域的使用場景,存在缺點。金融領域的的快速交易平臺上,具有如下特點:1、系統(tǒng)低延時要求,對單筆響應要求極高,所花的交易時間一般是1毫秒以內,甚至要求100微秒級別的。系統(tǒng)這種特性,意味著可靠組播方案,必須使用快者優(yōu)先兼顧穩(wěn)定可靠的原則。2、系統(tǒng)處理冗余設計,請求數(shù)據(jù)包組播給多個相同的交易單元并行處理,處理完后再組播給下一類多個相同的交易單元。在這種設計下,就存在著多個相同發(fā)布者對多個相同接收者情況,故可靠組播的數(shù)據(jù)包去重和防擁塞的功能尤為重要。
在以上場景下,現(xiàn)有基于ACK確認模式的可靠組播技術,可擴展性差,隨著接收者數(shù)量的增加,返回ACK數(shù)線性增加,占用大量的帶寬,俗稱“ACK爆炸”?,F(xiàn)有基于NACK確認模式的可靠組播技術,對網(wǎng)絡穩(wěn)定性敏感度高,在網(wǎng)絡丟包率增大的情況下,所有接收者上的丟失的數(shù)據(jù)包增多,意味著重傳數(shù)據(jù)包大大增加,同樣占用大量的帶寬,然后又增加丟包率,造成惡性循環(huán),俗稱“NACK爆炸”,特別是在多對多的場景下,情況尤其惡劣。
因此,需要一種新的用于可靠組播傳輸數(shù)據(jù)的方法及設備。
在所述背景技術部分公開的上述信息僅用于加強對本發(fā)明的背景的理解,因此它可以包括不構成對本領域普通技術人員已知的現(xiàn)有技術的信息。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明提供一種用于可靠組播傳輸數(shù)據(jù)的方法及設備,能夠降低網(wǎng)絡穩(wěn)定性敏感度,具備良好的可擴展性。
本發(fā)明的其他特性和優(yōu)點將通過下面的詳細描述變得顯然,或部分地通過本發(fā)明的實踐而習得。
根據(jù)本發(fā)明的一方面,提出一種用于可靠組播傳輸數(shù)據(jù)的方法,該方法包括:確定主接收者;組播傳送數(shù)據(jù)包;以及保存數(shù)據(jù)包的接收情況以及相關狀態(tài)信息;根據(jù)所述主接收者返回信息進行后續(xù)操作。
在本公開的一種示例性實施例中,輪流選擇接收者之一作為主接收者。
在本公開的一種示例性實施例中,組播傳送數(shù)據(jù)包,包括:將預定信息加入數(shù)據(jù)包中,組播傳送數(shù)據(jù)包。
在本公開的一種示例性實施例中,還包括:計算下次待確認的數(shù)據(jù)包的序號和待發(fā)送的數(shù)據(jù)包的序號。
根據(jù)本發(fā)明的一方面,提出一種用于可靠組播傳輸數(shù)據(jù)的方法,該方法包括:接收數(shù)據(jù)包;保存數(shù)據(jù)包的發(fā)送情況以及相關狀態(tài)信息;判斷是否為主接收者;以及如果為主接收者,則根據(jù)預定規(guī)則返回ACK或NACK給發(fā)送者。
在本公開的一種示例性實施例中,還包括:計算下次待接收的數(shù)據(jù)包的序號和歷史接收到的數(shù)據(jù)包的最大序號。
在本公開的一種示例性實施例中,保存每一個發(fā)送者的發(fā)送情況以及相關狀態(tài)信息。
在本公開的一種示例性實施例中,如果為主接收者,則根據(jù)預定規(guī)則返回ACK或NACK給發(fā)送者,包括:如果接收到的數(shù)據(jù)包的總數(shù)未超過預定閾值;并且并未到達檢查缺口時間;返回ACK給發(fā)送者。
在本公開的一種示例性實施例中,如果為主接收者,則根據(jù)預定規(guī)則返回ACK或NACK給發(fā)送者,包括:如果接收到的數(shù)據(jù)包的總數(shù)未超過預定閾值;并且到達檢查缺口時間;并且數(shù)據(jù)包不存在缺口;返回ACK給發(fā)送者。
在本公開的一種示例性實施例中,如果為主接收者,則根據(jù)預定規(guī)則返回ACK或NACK給發(fā)送者,包括:如果接收到的數(shù)據(jù)包的總數(shù)到達預定閾值;并且數(shù)據(jù)包不存在缺口;返回ACK給發(fā)送者。
在本公開的一種示例性實施例中,如果為主接收者,則根據(jù)預定規(guī)則返回ACK或NACK給發(fā)送者,包括:如果接收到的數(shù)據(jù)包的總數(shù)到達預定閾值;并且數(shù)據(jù)包存在缺口;并且距離上次發(fā)送NACK時間不超過預定時間間隔;并且本次補缺范圍小于上次補缺范圍;返回ACK給發(fā)送者。
在本公開的一種示例性實施例中,如果為主接收者,則根據(jù)預定規(guī)則返回ACK或NACK給發(fā)送者,包括:如果接收到的數(shù)據(jù)包的總數(shù)到達預定閾值;并且數(shù)據(jù)包存在缺口;并且距離上次發(fā)送NACK時間不超過預定時間間隔;并且本次補缺范圍大于上次補缺范圍;返回NACK給發(fā)送者;并且清空數(shù)據(jù)包的總數(shù),儲存本次發(fā)送NACK的時間以及補缺范圍。
在本公開的一種示例性實施例中,如果為主接收者,則根據(jù)預定規(guī)則返回ACK或NACK給發(fā)送者,包括:如果接收到的數(shù)據(jù)包的總數(shù)到達預定閾值;并且數(shù)據(jù)包存在缺口;并且距離上次發(fā)送NACK時間超過預定時間間隔;返回NACK給發(fā)送者;并且清空數(shù)據(jù)包的總數(shù),儲存本次發(fā)送NACK的時間以及補缺范圍。
根據(jù)本發(fā)明的一方面,提出一種用于可靠組播傳輸數(shù)據(jù)的設備,該設備包括:選擇模塊,用于確定主接收者;組播模塊,用于組播傳送數(shù)據(jù)包;以及接收儲存模塊,用于保存數(shù)據(jù)包的接收情況以及相關狀態(tài)信息,操作模塊,用于根據(jù)主接收者返回信息進行后續(xù)操作。
在本公開的一種示例性實施例中,包括:信息子模塊,用于將預定信息加入數(shù)據(jù)包中,組播傳送數(shù)據(jù)包。
在本公開的一種示例性實施例中,還包括:第一計算模塊,用于計算下次待確認的數(shù)據(jù)包的序號和待發(fā)送的數(shù)據(jù)包的序號。
根據(jù)本發(fā)明的一方面,提出一種用于可靠組播傳輸數(shù)據(jù)的設備,該設備包括:接收模塊,用于獲取數(shù)據(jù)包;發(fā)送儲存模塊,用于保存數(shù)據(jù)包的發(fā)送情況以及相關狀態(tài)信息;判斷模塊,用于判斷是否為主接收者;以及返回信息模塊,用于為主接收者時,則根據(jù)預定規(guī)則返回ACK或NACK給發(fā)送者,預定規(guī)則包括閾值。
在本公開的一種示例性實施例中,還包括:第二計算模塊,用于計算下次待接收的數(shù)據(jù)包的序號和歷史接收到的數(shù)據(jù)包的最大序號。
根據(jù)本發(fā)明的用于可靠組播傳輸數(shù)據(jù)的方法及設備,能夠降低網(wǎng)絡穩(wěn)定性敏感度,具備良好的可擴展性。
應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性的,并不能限制本發(fā)明。
附圖說明
通過參照附圖詳細描述其示例實施例,本發(fā)明的上述和其它目標、特征及優(yōu)點將變得更加顯而易見。下面描述的附圖僅僅是本發(fā)明的一些實施例,對于本領域的普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是根據(jù)一示例性實施例示出的一種用于可靠組播傳輸數(shù)據(jù)的方法的流程圖。
圖2是根據(jù)另一示例性實施例示出的一種用于可靠組播傳輸數(shù)據(jù)的方法的流程圖。
圖3是根據(jù)現(xiàn)有技術中可靠組播傳輸數(shù)據(jù)的方法示意圖。
圖4是根據(jù)另一示例性實施例示出的一種用于可靠組播傳輸數(shù)據(jù)的方法的流程圖。
圖5是根據(jù)一示例性實施例示出的一種用于組播傳輸數(shù)據(jù)的設備的框圖。
圖6是根據(jù)另一示例性實施例示出的一種用于組播傳輸數(shù)據(jù)的設備的框圖。
圖7是根據(jù)另一示例性實施例示出的一種用于組播傳輸數(shù)據(jù)的設備的框圖。
圖8是根據(jù)另一示例性實施例示出的一種用于組播傳輸數(shù)據(jù)的設備的框圖。
圖9是根據(jù)另一示例性實施例示出的一種用于組播傳輸數(shù)據(jù)的設備的框圖。
具體實施例
現(xiàn)在將參考附圖更全面地描述示例實施例。然而,示例實施例能夠以多種形式實施,且不應被理解為限于在此闡述的實施例;相反,提供這些實施例使得本發(fā)明將全面和完整,并將示例實施例的構思全面地傳達給本領域的技術人員。在圖中相同的附圖標記表示相同或類似的部分,因而將省略對它們的重復描述。
此外,所描述的特征、結構或特性可以以任何合適的方式結合在一個或更多實施例中。在下面的描述中,提供許多具體細節(jié)從而給出對本發(fā)明的實施例的充分理解。然而,本領域技術人員將意識到,可以實踐本發(fā)明的技術方案而沒有特定細節(jié)中的一個或更多,或者可以采用其它的方法、組元、裝置、步驟等。在其它情況下,不詳細示出或描述公知方法、裝置、實現(xiàn)或者操作以避免模糊本發(fā)明的各方面。
附圖中所示的方框圖僅僅是功能實體,不一定必須與物理上獨立的實體相對應。即,可以采用軟件形式來實現(xiàn)這些功能實體,或在一個或多個硬件模塊或集成電路中實現(xiàn)這些功能實體,或在不同網(wǎng)絡和/或處理器裝置和/或微控制器裝置中實現(xiàn)這些功能實體。
附圖中所示的流程圖僅是示例性說明,不是必須包括所有的內容和操作/步驟,也不是必須按所描述的順序執(zhí)行。例如,有的操作/步驟還可以分解,而有的操作/步驟可以合并或部分合并,因此實際執(zhí)行的順序有可能根據(jù)實際情況改變。
應理解,雖然本文中可能使用術語第一、第二、第三等來描述各種組件,但這些組件不應受這些術語限制。這些術語乃用以區(qū)分一組件與另一組件。因此,下文論述的第一組件可稱為第二組件而不偏離本公開概念的教示。如本文中所使用,術語「及/或」包括相關聯(lián)的列出項目中的任一個及一或多者的所有組合。
本領域技術人員可以理解,附圖只是示例實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的,因此不能用于限制本發(fā)明的保護范圍。
圖1是根據(jù)另一示例性實施例示出的一種用于可靠組播傳輸數(shù)據(jù)的方法的流程圖。
如圖1所示,在S102中,確定主接收者??衫?,輪流選擇接受者之一作為主接收者。
在S104中,組播傳送數(shù)據(jù)包。如上文所述,確定主接收者之后,可例如,將預定的信息放在待傳輸?shù)臄?shù)據(jù)包的預定位置,以便組播數(shù)據(jù)包,使得接收者判斷自身是否為主接收者。還可例如,將主接收者的信息,放入數(shù)據(jù)包中組播,以便接受者識別主接收者。本發(fā)明不以此為限??衫?,發(fā)送者按照應用層調用API發(fā)送的次序給數(shù)據(jù)包編號,每個數(shù)據(jù)包,都有一個全局的編號。序號是連續(xù)的,且在當前組播會話中是全局唯一的。發(fā)送者通過維護各類序號實現(xiàn)流量控制和補缺功能,接收者通過維護各類序號實現(xiàn)數(shù)據(jù)包去重、檢查消息缺口的功能。(注:一個局域網(wǎng)以太幀最大為1514字節(jié),所以一般一個組播數(shù)據(jù)包最大可用緩存是1472字節(jié),但是實際上業(yè)務數(shù)據(jù)包很容易就超過了這個限制,因而在設計可靠組播協(xié)議的時候,還考慮了分片情況,分片也有序號。在本實施例中,為了方便說明情況,按一個組播數(shù)據(jù)包一個編號處理。)
在S106中,保存數(shù)據(jù)包的接收情況以及相關狀態(tài)信息??衫?,保存每一個接受者接收到的數(shù)據(jù)包的情況以及相關狀態(tài)信息。
在S108中,根據(jù)主接收者返回信息進行后續(xù)操作。如上文所述,現(xiàn)有的可靠組播技術,分為基于確認(ACK)和基于否定確認(NACK)的模式??衫?,主接收者根據(jù)自身接收數(shù)據(jù)包的情況返回確認字符ACK或NACK,發(fā)送者在接收到確認字符后,根據(jù)字符內容進行后續(xù)操作。
根據(jù)本發(fā)明的用于可靠組播傳輸數(shù)據(jù)的方法,通過選擇組播接收者之一作為主接收者,通過主接收者返回確認字符進行后續(xù)處理的方式,能夠降低網(wǎng)絡穩(wěn)定性敏感度,具備良好的可擴展性。
應清楚地理解,本發(fā)明描述了如何形成和使用特定示例,但本發(fā)明的原理不限于這些示例的任何細節(jié)。相反,基于本發(fā)明公開的內容的教導,這些原理能夠應用于許多其它實施例。
在本公開的一種示例性實施例中,還包括:輪流選擇接收者之一作為所述主接收者。輪流選擇接受者之一作為所述主接收者。只有主接收者才有權利返回ACK或者NACK數(shù)據(jù)包。在本實施例中,選擇主接收者是以快者優(yōu)先兼顧穩(wěn)定可靠作為原則,如果采用最弱者作為主接收者,那么帶來的后果是犧牲單筆性能來提高吞吐量。如果采用最強者作為主接收者,那么帶來的后果是影響穩(wěn)定性(可能會引起大量補缺)進而影響吞吐量。輪流選擇是一種折中的辦法,帶來的好處除了可以盡量避免出現(xiàn)上述問題以外,還可以很好的解決在某個主接收者崩潰導致不返回ACK確認數(shù)據(jù)包的情況下,引起網(wǎng)絡擁堵的問題。另外如果當前接收者發(fā)現(xiàn)數(shù)據(jù)有丟失,那么意味著其他接收者也很可能數(shù)據(jù)有丟失,這時候應該選擇一個代表回復NACK即可。發(fā)送者在收到補缺請求后,通過組播的方式發(fā)送補缺數(shù)據(jù)包,其他接收者同樣也可以收到補缺數(shù)據(jù)包。
根據(jù)本發(fā)明的用于可靠組播傳輸數(shù)據(jù)的方法,通過輪流選擇組播接收者之一作為主接收者的方式,可以在保證吞吐量的同時兼顧系統(tǒng)的穩(wěn)定可靠。
在本公開的一種示例性實施例中,還包括:計算下次待確認的所述數(shù)據(jù)包的序號和待發(fā)送的所述數(shù)據(jù)包的序號。發(fā)送者維護每一接收者的數(shù)據(jù)包接收情況及保存相關狀態(tài)信息,并算出下次待確認的序號和下次待發(fā)送的序號,以便流量控制。
圖2是根據(jù)一示例性實施例示出的一種用于可靠組播傳輸數(shù)據(jù)的方法的流程圖。
如圖2所示,在S202中,獲取數(shù)據(jù)包。在組播會話中,接受者獲取數(shù)據(jù)包。在組播會話:多個相同發(fā)送者和多個相同接收者組成一個組播會話,其特點是在同一個組播地址和端口上傳遞冗余的數(shù)據(jù)包數(shù)據(jù)??蓞⒖紙D3的示意圖,每個接收者和發(fā)送者之間都會維護一個組播連接,實線代表S1與R1/R2/R3分別建立了三條組播連接。虛線代表S2與R1/R2/R3分別建立了三條組播連接。每個組播會話存在多條組播連接,也就是相同發(fā)送者和相同接收者之間的組播連接共同組成一個組播會話。也就是相同發(fā)送者和相同接收者之間的組播連接共同組成一個組播會話?,F(xiàn)有的可靠組播技術,分為基于確認(ACK)的和基于否定確認(NACK)的模式。在本發(fā)明實施例中,混合ACK和NACK的兩種模式,進行可靠組播數(shù)據(jù)傳輸。
在S204中,保存所述數(shù)據(jù)包的發(fā)送情況以及相關狀態(tài)信息??衫?,保存每一個發(fā)送者的所述發(fā)送情況以及所述相關狀態(tài)信息。
在S206中,判斷是否為主接收者??衫纾ㄟ^發(fā)送者在數(shù)據(jù)包的預定位置預留預定信息,接收者通過預訂信息來判斷自身是否為主接收者??衫?,將全局編號做特定的標注,以便接受者判斷自己是否為主接收者,還可例如,將主接收者的編號放在數(shù)據(jù)包的特定位置,以便接受者判斷自己是否為主接收者,本發(fā)明不以此為限。如果接受者為主接收者,則進入步驟S208。
在S208中,根據(jù)預定規(guī)則返回ACK或NACK給發(fā)送者,預定規(guī)則包括閾值?;诖_認ACK的技術特點是:1、發(fā)送者通過組播的方式向接收者發(fā)送數(shù)據(jù)。2、接收者在首次收到數(shù)據(jù)包后,利用單播方式向發(fā)送者發(fā)送ACK確認數(shù)據(jù)包3、如果發(fā)送者中一定時間內沒有收到對應的ACK確認包,則重傳組播數(shù)據(jù)?;诜穸ù_認NACK的技術特點:1、發(fā)送者通過組播的方式向接收者發(fā)送數(shù)據(jù)。2、接收者如果數(shù)據(jù)包空缺,利用單播方式向發(fā)送者發(fā)送NACK數(shù)據(jù)包,要求重發(fā)。3、發(fā)送者在收到NACK數(shù)據(jù)包后,判斷在RTT(接收者和發(fā)送者之間網(wǎng)絡延時)之內,如果曾經(jīng)重發(fā)過,則不再重傳,否則重發(fā)此NACK所請求的組播數(shù)據(jù)包。在本實施例中,預定規(guī)則可例如為,判斷數(shù)據(jù)包的數(shù)量是否超出一定數(shù)值,還可例如,判斷是否存在數(shù)據(jù)缺口等等,本發(fā)明不以此為限。
根據(jù)本發(fā)明的用于可靠組播傳輸數(shù)據(jù)的方法,通過選擇組播接受者之一作為主接收者,由主接收者返回數(shù)據(jù)包確認字符ACK或NACK的方式,能夠降低網(wǎng)絡穩(wěn)定性敏感度,具備良好的可擴展性。
在本公開的一種示例性實施例中,還包括:計算下次待接收的所述數(shù)據(jù)包的序號和歷史接收到的所述數(shù)據(jù)包的最大序號。接收者維護每一個發(fā)送者的數(shù)據(jù)包發(fā)送情況及保存相關狀態(tài)信息,并算出下次待接收的序號和歷史收到的最大序號,以便返回確認消息(ACK)或者否定確認消息(NACK)。
圖4是根據(jù)另一示例性實施例示出的一種用于可靠組播傳輸數(shù)據(jù)的方法的流程圖。圖4是對圖2中S206以及S208的示例性描述。
在S402中,判斷是否為主接收者,接收者判斷下自己是否是主接收者,如果是,進入S404,否則結束此流程。
在S404中,判斷接收數(shù)是否達到預定閾值??衫?,在接收到數(shù)據(jù)包時,接收者將接收數(shù)據(jù)包總數(shù)加1,如果收到數(shù)據(jù)包總數(shù)超過初始設定的閾值,則進入步驟S410,否則進入S406。
在S406中,判斷是否到達檢查缺口時間??衫?,接收者針對當前待接收的數(shù)據(jù)包設定一個隨機的定時器(這里設置隨機定時器的用意是為降低各個接收者在同一時間點檢查NACK的概率),如果定時器超時但是未收到該數(shù)據(jù)數(shù)據(jù)包,進入S410,否則設定下一個定時器,進入S408。
在S408中,判斷是否有缺口??衫?,接收者將歷史收到的最大序號減去下次待接收的序號,算出當前數(shù)據(jù)的缺口范圍,如果不存在缺口范圍,則代表不需要補缺,進入S408。否則進入S412。
在S410中,返回ACK數(shù)據(jù)包給當前發(fā)送者。
在S412中,判斷距離上次發(fā)送NACK的時間是否大于預定時間??衫缭O定預定時間為10ms,如果在當前組播會話中,距離上次發(fā)送NACK時間超過10ms,則進入S416,否則進入S414。在本實施例中,當前組播會話,因為在一個組播會話中可能存在多個發(fā)送者,即使前后兩次返回NACK的目標發(fā)送者不一樣,如果時間間隔是10ms以內,都要跳到下一步。
S414,判斷本次補缺范圍是否大于上次補缺范圍。如果在當前組播會話中,本次NACK消息表示的需要重傳的數(shù)據(jù)范圍小于等于上次發(fā)送NACK消息表示的需要重傳的數(shù)據(jù)范圍,則進入S310。否則進入S316。因為同一個組播會話中可能存在多個發(fā)送者,每個發(fā)送者發(fā)送相同的冗余數(shù)據(jù),返回ACK數(shù)據(jù)包給當前發(fā)送者,防止出現(xiàn)擁塞問題。
在S416中,清空當前接收數(shù)據(jù)包總數(shù),記錄上次發(fā)出需要重傳的NACK消息的時間和需要重傳的數(shù)據(jù)范圍,發(fā)回NACK。還可例如,設置下一個定時器。
本發(fā)明實施例的用于可靠組播傳輸數(shù)據(jù)的方法,混合了ACK和NACK兩種返回確認消息模式,具有兩種方式的優(yōu)點。
更進一步的,本發(fā)明實施例的用于可靠組播傳輸數(shù)據(jù)的方法,通過輪流選擇主接收者的方式,解決了基于ACK模式的缺點(ACK爆炸問題),因為只有主接收者才會返回ACK報文,其他接收者不會返回,所以返回的ACK數(shù)量只跟發(fā)送者的數(shù)據(jù)個數(shù)有關,與接收者個數(shù)無關,因而不會因為接收者規(guī)模的增加而影響帶寬。
更進一步的,本發(fā)明實施例的用于可靠組播傳輸數(shù)據(jù)的方法,通過主接收方判斷報文返回的時間間隔,以此來遏制NACK確認消息的發(fā)送素的的方式,解決了基于NACK模式的缺點(NACK爆炸),借助接收者遏止NACK發(fā)送速度,提高補缺重傳效率。即每個接收者只有在自己是主接收者情況下,且在一定時間以外,且范圍不重復的情況下,才發(fā)起NACK請求。
本領域技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟被實現(xiàn)為由CPU執(zhí)行的計算機程序。在該計算機程序被CPU執(zhí)行時,執(zhí)行本發(fā)明提供的上述方法所限定的上述功能。所述的程序可以存儲于一種計算機可讀存儲介質中,該存儲介質可以是只讀存儲器,磁盤或光盤等。
此外,需要注意的是,上述附圖僅是根據(jù)本發(fā)明示例性實施例的方法所包括的處理的示意性說明,而不是限制目的。易于理解,上述附圖所示的處理并不表明或限制這些處理的時間順序。另外,也易于理解,這些處理可以是例如在多個模塊中同步或異步執(zhí)行的。
下述為本發(fā)明裝置實施例,可以用于執(zhí)行本發(fā)明方法實施例。對于本發(fā)明裝置實施例中未披露的細節(jié),請參照本發(fā)明方法實施例。
圖5是根據(jù)一示例性實施例示出的一種用于可靠組播傳輸數(shù)據(jù)設備的框圖。
其中,選擇模塊502用于確定主接收者。
組播模塊504用于組播傳送所述數(shù)據(jù)包。
接收儲存模塊506用于保存數(shù)據(jù)包的接收情況以及相關狀態(tài)信息。
操作模塊508用于根據(jù)所述主接收者返回信息進行后續(xù)操作。
根據(jù)本發(fā)明的用于可靠組播傳輸數(shù)據(jù)的設備,通過選擇組播接收者之一作為主接收者,通過主接收者返回確認字符進行后續(xù)處理的方式,能夠降低網(wǎng)絡穩(wěn)定性敏感度,具備良好的可擴展性。
圖6是根據(jù)另一示例性實施例示出的一種用于可靠組播傳輸數(shù)據(jù)設備的框圖。圖7是對圖5中,組播模塊504的示例性描述。
信息子模塊5042用于將預定信息加入所述數(shù)據(jù)包中,組播傳送所述數(shù)據(jù)包。
圖7是根據(jù)另一示例性實施例示出的一種用于可靠組播傳輸數(shù)據(jù)設備的框圖。
第一計算模塊702用于計算下次待確認的所述數(shù)據(jù)包的序號和待發(fā)送的所述數(shù)據(jù)包的序號。
圖8是根據(jù)另一示例性實施例示出的一種用于可靠組播傳輸數(shù)據(jù)的設備的框圖。
其中接收模塊802用于獲取數(shù)據(jù)包。
發(fā)送儲存模塊804用于保存數(shù)據(jù)包的發(fā)送情況以及相關狀態(tài)信息。
判斷模塊806用于判斷是否為主接收者。
返回信息模塊808用于在為主接收者時,則根據(jù)預定規(guī)則返回ACK或NACK給發(fā)送者,預定規(guī)則包括閾值。
根據(jù)本發(fā)明的用于可靠組播傳輸數(shù)據(jù)的設備,通過選擇組播接受者之一作為主接收者,由主接收者返回數(shù)據(jù)包確認字符ACK或NACK的方式,能夠降低網(wǎng)絡穩(wěn)定性敏感度,具備良好的可擴展性。
圖9是根據(jù)另一示例性實施例示出的一種用于可靠組播傳輸數(shù)據(jù)的設備的框圖。
第二計算模塊902用于計算下次待接收的所述數(shù)據(jù)包的序號和歷史接收到的所述數(shù)據(jù)包的最大序號。
根據(jù)本發(fā)明的用于可靠組播傳輸數(shù)據(jù)的設備,通過選擇組播接受者之一作為主接收者,由主接收者返回數(shù)據(jù)包確認字符ACK或NACK的方式,能夠降低網(wǎng)絡穩(wěn)定性敏感度,具備良好的可擴展性。
本領域技術人員可以理解上述各模塊可以按照實施例的描述分布于裝置中,也可以進行相應變化唯一不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
通過以上的實施例的描述,本領域的技術人員易于理解,這里描述的示例實施例可以通過軟件實現(xiàn),也可以通過軟件結合必要的硬件的方式來實現(xiàn)。因此,根據(jù)本發(fā)明實施例的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(可以是CD-ROM,U盤,移動硬盤等)中或網(wǎng)絡上,包括若干指令以使得一臺計算設備(可以是個人計算機、服務器、移動終端、或者網(wǎng)絡設備等)執(zhí)行根據(jù)本發(fā)明實施例的方法。
通過以上的詳細描述,本領域的技術人員易于理解,根據(jù)本發(fā)明實施例的用于可靠組播傳輸數(shù)據(jù)的方法及設備具有以下優(yōu)點中的一個或多個。
根據(jù)一些實施例,本發(fā)明的用于可靠組播傳輸數(shù)據(jù)的方法,通過選擇組播接收者之一作為主接收者,通過主接收者返回ACK或NACK確認字符進行后續(xù)處理的方式,混合了ACK和NACK兩種模式的優(yōu)點,能夠降低網(wǎng)絡穩(wěn)定性敏感度,具備良好的可擴展性。
根據(jù)另一些實施例,本發(fā)明的用于可靠組播傳輸數(shù)據(jù)的方法,通過輪流選擇組播接收者之一作為主接收者的方式,可以解決ACK模式的“ACK爆炸”問題,在保證吞吐量的同時兼顧系統(tǒng)的穩(wěn)定可靠。
根據(jù)另一些實施例,本發(fā)明的用于可靠組播傳輸數(shù)據(jù)的方法,通過選擇組播接受者之一作為主接收者,由主接收者返回數(shù)據(jù)包確認字符ACK或NACK的方式,并且主接收者遏制返回報文發(fā)送速度的方式,能夠解決NACK模式的“NACK爆炸”問題,能夠降低網(wǎng)絡穩(wěn)定性敏感度,具備良好的可擴展性。
以上具體地示出和描述了本發(fā)明的示例性實施例。應可理解的是,本發(fā)明不限于這里描述的詳細結構、設置方式或實現(xiàn)方法;相反,本發(fā)明意圖涵蓋包含在所附權利要求的精神和范圍內的各種修改和等效設置。
此外,本說明書說明書附圖所示出的結構、比例、大小等,均僅用以配合說明書所公開的內容,以供本領域技術人員了解與閱讀,并非用以限定本公開可實施的限定條件,故不具技術上的實質意義,任何結構的修飾、比例關系的改變或大小的調整,在不影響本公開所能產(chǎn)生的技術效果及所能實現(xiàn)的目的下,均應仍落在本公開所公開的技術內容得能涵蓋的范圍內。同時,本說明書中所引用的如「上」、「第一」、「第二」及「一」等的用語,也僅為便于敘述的明了,而非用以限定本公開可實施的范圍,其相對關系的改變或調整,在無實質變更技術內容下,當也視為本發(fā)明可實施的范疇。