本發(fā)明實(shí)施方式涉及通訊技術(shù)領(lǐng)域,特別是涉及一種多對(duì)多無(wú)線數(shù)據(jù)發(fā)送方法及發(fā)送裝置,以及一種多對(duì)多無(wú)線數(shù)據(jù)接收方法及接收裝置。
背景技術(shù):
無(wú)論在有線通信系統(tǒng)還是無(wú)線通信系統(tǒng)中,發(fā)送裝置發(fā)送數(shù)據(jù)包給接收裝置,都需要知道接收裝置否收到數(shù)據(jù)包,但無(wú)線通信系統(tǒng)相對(duì)于有線通信系統(tǒng)來(lái)說(shuō),難點(diǎn)就在于此。在無(wú)線通信系統(tǒng)中,一個(gè)完整的通信邏輯如圖1所示:發(fā)送裝置10發(fā)送數(shù)據(jù)包給接收裝置20,當(dāng)接收裝置20收到數(shù)據(jù)包后,立刻回復(fù)確認(rèn)包給發(fā)送裝置10,收到確認(rèn)包說(shuō)明此次數(shù)據(jù)包發(fā)送成功。若等待一段時(shí)間后發(fā)送裝置10沒(méi)有收到來(lái)自接收裝置20的確認(rèn)包,將會(huì)重發(fā)之前的數(shù)據(jù)包,直到收到確認(rèn)包或達(dá)到最大重發(fā)次數(shù)為止。在實(shí)際網(wǎng)絡(luò)中,通常包括多個(gè)發(fā)送裝置和多個(gè)接收裝置,在多對(duì)多的無(wú)線數(shù)據(jù)包發(fā)送情況下,就會(huì)存在如下情況:假如一個(gè)發(fā)送裝置給多個(gè)接收裝置發(fā)送數(shù)據(jù)包,若沒(méi)有AckTable對(duì)確認(rèn)包進(jìn)行控制,多個(gè)接收裝置20每次收到數(shù)據(jù)后均會(huì)回復(fù)確認(rèn)包,因?yàn)榻邮昭b置一收到發(fā)送裝置的數(shù)據(jù)包立刻回復(fù)確認(rèn)包,這會(huì)導(dǎo)致在同一時(shí)段對(duì)應(yīng)頻段的2.4GHz射頻信號(hào)相互干擾,數(shù)據(jù)碰撞嚴(yán)重。此外,對(duì)于發(fā)送強(qiáng)度較弱的接收裝置,其回復(fù)的確認(rèn)包發(fā)送裝置將可能永遠(yuǎn)收不到。從而導(dǎo)致,發(fā)送裝置在不能完全收到確認(rèn)包的情況下,反復(fù)多次重復(fù)發(fā)送之前的數(shù)據(jù)包,導(dǎo)致發(fā)送裝置的運(yùn)行負(fù)擔(dān)重,浪費(fèi)通信頻段資源。
在實(shí)現(xiàn)本發(fā)明過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題:在多對(duì)多的無(wú)線數(shù)據(jù)通信中,發(fā)送裝置在廣播數(shù)據(jù)包給多個(gè)接收裝置時(shí),多個(gè)接收裝置同時(shí)回復(fù)確認(rèn)包會(huì)導(dǎo)致確認(rèn)包碰撞,影響確認(rèn)包的準(zhǔn)確接收,發(fā)送強(qiáng)度弱的接收裝置回復(fù)的確認(rèn)包將無(wú)法收到的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問(wèn)題,使發(fā)送裝置能準(zhǔn)確接收確認(rèn)包,本發(fā)明實(shí)施方式采用的一個(gè)技術(shù)方案是:提供一種多對(duì)多無(wú)線數(shù)據(jù)發(fā)送方法,包括:發(fā)送裝置廣播數(shù)據(jù)包,所述數(shù)據(jù)包中包括ACK索引表(AckTable)字段,所述字段包括若干接收裝置標(biāo)識(shí)和對(duì)應(yīng)所述每一接收裝置標(biāo)識(shí)是否需要回復(fù)確認(rèn)包的值;所述發(fā)送裝置接收到所述數(shù)據(jù)包的接收裝置回復(fù)的確認(rèn)包;所述發(fā)送裝置根據(jù)所述確認(rèn)包對(duì)應(yīng)的接收裝置,更新所述數(shù)據(jù)包的ACK索引表字段,將已收到數(shù)據(jù)包的接收裝置標(biāo)識(shí)對(duì)應(yīng)的值修改為不需要回復(fù)確認(rèn)包。
其中,所述ACK索引表為一張映射表,存儲(chǔ)若干接收裝置標(biāo)識(shí)與對(duì)應(yīng)是否需要回復(fù)確認(rèn)包值的對(duì)應(yīng)關(guān)系。
其中,所述發(fā)送裝置廣播數(shù)據(jù)包之前,還包括:所述發(fā)送裝置與所述接收裝置相互交換并存儲(chǔ)對(duì)方的軟件地址,所述軟件地址指示所述發(fā)送裝置與所述接收裝置配對(duì)成功。
其中,所述數(shù)據(jù)包中包括目標(biāo)ID(G_ID)字段,用于寫(xiě)入接收裝置的軟件地址;以及,源ID(S_ID)字段,用于寫(xiě)入發(fā)送裝置的軟件地址;所述接收裝置根據(jù)所述源ID(S_ID)字段中發(fā)送裝置的軟件地址過(guò)濾接收到的數(shù)據(jù)包,當(dāng)所述源ID(S_ID)字段中發(fā)送裝置的軟件地址與所述接收裝置存儲(chǔ)的發(fā)送裝置的軟件地址不同,過(guò)濾掉對(duì)應(yīng)的數(shù)據(jù)包。
其中,所述發(fā)送裝置與所述接收裝置的硬件地址相同,所述發(fā)送裝置根據(jù)所述硬件地址發(fā)送所述數(shù)據(jù)包。
本發(fā)明實(shí)施方式采用的另一個(gè)技術(shù)方案是:提供一種多對(duì)多無(wú)線數(shù)據(jù)發(fā)送裝置,包括:收發(fā)單元,用于廣播數(shù)據(jù)包,所述數(shù)據(jù)包中包括ACK索引表字段,所述字段包括若干接收裝置標(biāo)識(shí)和對(duì)應(yīng)所述每一接收裝置標(biāo)識(shí)是否需要回復(fù)確認(rèn)包的值,以及,接收到所述數(shù)據(jù)包的接收裝置回復(fù)的確認(rèn)包;處理器,用于根據(jù)所述確認(rèn)包對(duì)應(yīng)的接收裝置,更新所述數(shù)據(jù)包的ACK索引表字段,將已收到數(shù)據(jù)包的接收裝置標(biāo)識(shí)對(duì)應(yīng)的值修改為不需要回復(fù)確認(rèn)包。
其中,進(jìn)一步包括記錄單元,用于根據(jù)所述收到確認(rèn)包,記錄所述確認(rèn)包對(duì)應(yīng)的接收裝置已經(jīng)收到所述數(shù)據(jù)包。
其中,進(jìn)一步包括時(shí)鐘單元,用于計(jì)時(shí)等待返回確認(rèn)包的時(shí)間,當(dāng)?shù)却瑫r(shí),觸發(fā)處理器根據(jù)收到的確認(rèn)包,判斷是否全部接收裝置接收所述數(shù)據(jù)包成功。
其中,所述時(shí)鐘端單元,還用于統(tǒng)計(jì)所述數(shù)據(jù)包的重發(fā)次數(shù),當(dāng)未達(dá)到最大重發(fā)次數(shù)時(shí),觸發(fā)處理器統(tǒng)計(jì)返回確認(rèn)包對(duì)應(yīng)的接收裝置。
本發(fā)明實(shí)施方式采用的另一個(gè)技術(shù)方案是:提供一種多對(duì)多無(wú)線數(shù)據(jù)接收方法,包括:接收裝置接收數(shù)據(jù)包,所述數(shù)據(jù)包中包括ACK索引表(AckTable)字段,所述字段包括若干接收裝置標(biāo)識(shí)和對(duì)應(yīng)所述每一接收裝置標(biāo)識(shí)是否需要回復(fù)確認(rèn)包的值;所述接收裝置根據(jù)所述ACK索引表字段判斷是否需要回復(fù)確認(rèn)包,若需要回復(fù),則隨機(jī)延時(shí)后向發(fā)送裝置回復(fù)確認(rèn)包。
其中,所述接收裝置根據(jù)所述ACK索引表字段判斷是否需要回復(fù)確認(rèn)包,若不需要回復(fù),則不回復(fù)確認(rèn)包。
其中,所述ACK索引表為一張映射表,存儲(chǔ)若干接收裝置標(biāo)識(shí)與對(duì)應(yīng)是否需要回復(fù)確認(rèn)包值的對(duì)應(yīng)關(guān)系。
其中,所述接收裝置接收數(shù)據(jù)包之前,還包括:所述發(fā)送裝置與所述接收裝置相互交換并存儲(chǔ)對(duì)方的軟件地址,所述軟件地址指示所述發(fā)送裝置與所述接收裝置配對(duì)成功。
其中,所述確認(rèn)包中包括目標(biāo)ID(G_ID)字段,用于寫(xiě)入發(fā)送裝置的軟件地址;以及,源ID(S_ID)字段,用于寫(xiě)入接收裝置的軟件地址;所述發(fā)送裝置根據(jù)所述源ID(S_ID)字段中接收裝置的軟件地址過(guò)濾接收到的確認(rèn)包,當(dāng)所述源ID(S_ID)字段中接收裝置的軟件地址,與所述發(fā)送裝置存儲(chǔ)的接收裝置的軟件地址不同,過(guò)濾掉對(duì)應(yīng)的確認(rèn)包。
本發(fā)明實(shí)施方式采用的另一個(gè)技術(shù)方案是:提供一種多對(duì)多無(wú)線數(shù)據(jù)接收裝置,包括:收發(fā)單元,用于接收數(shù)據(jù)包,所述數(shù)據(jù)包中包括ACK索引表字段,所述字段包括若干接收裝置標(biāo)識(shí)和對(duì)應(yīng)所述每一接收裝置標(biāo)識(shí)是否需要回復(fù)確認(rèn)包的值;處理器,用于根據(jù)所述ACK索引表字段判斷是否需要回復(fù)確認(rèn)包,若需要回復(fù),則隨機(jī)延時(shí)后觸發(fā)所述收發(fā)單元向發(fā)送裝置回復(fù)確認(rèn)包。
其中,所述處理器還用于根據(jù)所述ACK索引表字段判斷不需要回復(fù)確認(rèn)包時(shí),則不回復(fù)確認(rèn)包。
其中,所述ACK索引表為一張映射表,存儲(chǔ)若干接收裝置標(biāo)識(shí)與對(duì)應(yīng)是否需要回復(fù)確認(rèn)包值的對(duì)應(yīng)關(guān)系。
本發(fā)明實(shí)施方式的有益效果是:發(fā)送裝置發(fā)送的數(shù)據(jù)包中包括ACK索引表字段,該字段可以指示接收到數(shù)據(jù)包的接收裝置是否需要回復(fù)確認(rèn)包,無(wú)需所有的接收裝置回復(fù)確認(rèn)包,減少確認(rèn)包沖突,減少2.4GHz射頻信號(hào)干擾,提高確認(rèn)包接收的成功率。另外,接收裝置可以根據(jù)數(shù)據(jù)包中的ACK索引表字段判斷是否需要回復(fù)確認(rèn)包,當(dāng)需要回復(fù)確認(rèn)包時(shí),可以隨機(jī)延時(shí)后再發(fā)送確認(rèn)包。減少了同一時(shí)段的確認(rèn)包沖突問(wèn)題,同時(shí)也提高了確認(rèn)包接收的成功率。發(fā)送裝置能夠準(zhǔn)確接收確認(rèn)包,也減少了數(shù)據(jù)包重復(fù)的次數(shù)。
附圖說(shuō)明
圖1是現(xiàn)有技術(shù)多對(duì)多無(wú)線數(shù)據(jù)包通信邏輯示意圖;
圖2是本發(fā)明實(shí)施方式提供的數(shù)據(jù)包格式定義示意圖;
圖3是本發(fā)明實(shí)施方式提供的發(fā)送裝置發(fā)送無(wú)線數(shù)據(jù)包的方法流程示意圖;
圖4是本發(fā)明實(shí)施方式提供的接收裝置接收無(wú)線數(shù)據(jù)包的方法流程示意圖;
圖5是本發(fā)明實(shí)施方式提供的多對(duì)多無(wú)線數(shù)據(jù)包通信邏輯示意圖;
圖6是本發(fā)明實(shí)施方式提供的發(fā)送裝置的組成結(jié)構(gòu)示意圖;
圖7是本發(fā)明實(shí)施方式提供的接收裝置的組成結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施方式中,發(fā)送裝置廣播數(shù)據(jù)包給多個(gè)接收裝置,所述數(shù)據(jù)包采用了如圖2所示的數(shù)據(jù)包格式。該數(shù)據(jù)包包括如下字段:包頭(Header)、目標(biāo)地址(G_Id)、源地址(S_Id)、幀號(hào)(SeqNum)、包號(hào)(PacNum)、包類(lèi)型(PackType,包括DATA和ACK)、ACK索引表(AckTable)、data域長(zhǎng)度(Len)、data域內(nèi)容(Data)、G_Id到Data的異或結(jié)果(Xor)、包尾(End)。
其中,ACK索引表(AckTable)字段包括若干接收裝置標(biāo)識(shí)和對(duì)應(yīng)所述每一接收裝置標(biāo)識(shí)是否需要回復(fù)確認(rèn)包的值,可以為映射表形式。每個(gè)接收裝置標(biāo)識(shí)對(duì)應(yīng)一個(gè)值,占一個(gè)比特位。如果接收裝置標(biāo)識(shí)對(duì)應(yīng)的值為1,說(shuō)明該接收裝置標(biāo)識(shí)對(duì)應(yīng)的接收裝置需要回復(fù)確認(rèn)包;或者如果接收裝置標(biāo)識(shí)對(duì)應(yīng)的值為0,說(shuō)明該接收裝置標(biāo)識(shí)對(duì)應(yīng)的接收裝置不需要回復(fù)確認(rèn)包。這樣發(fā)送裝置即使一直在廣播數(shù)據(jù)包,但是限制已收到確認(rèn)包的接收裝置不回復(fù)確認(rèn)包,所以即使有多個(gè)接收裝置,也可在多次廣播中逐漸減少因回復(fù)確認(rèn)包產(chǎn)生的無(wú)線數(shù)據(jù)碰撞問(wèn)題,提高數(shù)據(jù)包的成功發(fā)送率。
其中,包類(lèi)型字段用于指示該數(shù)據(jù)包為數(shù)據(jù)包或者確認(rèn)包。
其中,目標(biāo)地址字段用于存儲(chǔ)接收該數(shù)據(jù)包的所有接收裝置的軟件地址。
其中,源地址字段用于存儲(chǔ)發(fā)送該數(shù)據(jù)包的發(fā)送裝置的軟件地址。
如下將結(jié)合圖3至7所示的實(shí)施方式,進(jìn)一步說(shuō)明所述數(shù)據(jù)包中各個(gè)字段的用途。
如圖3所示,為本發(fā)明實(shí)施方式提供的發(fā)送裝置廣播數(shù)據(jù)包給接收裝置的方法流程示意圖。
在發(fā)送裝置廣播數(shù)據(jù)包之前,需要發(fā)送裝置與接收裝置之間交互并存儲(chǔ)對(duì)方的軟件地址,以實(shí)現(xiàn)發(fā)送裝置與接收裝置成功配對(duì)。
步驟S101:發(fā)送裝置廣播數(shù)據(jù)包給接收裝置;
發(fā)送裝置廣播數(shù)據(jù)包,所述數(shù)據(jù)包中包括ACK索引表字段,所述字段包括若干接收裝置標(biāo)識(shí)和對(duì)應(yīng)所述每一接收裝置標(biāo)識(shí)是否需要回復(fù)確認(rèn)包的值。
步驟S102:發(fā)送裝置接收到所述數(shù)據(jù)包的接收裝置回復(fù)的確認(rèn)包;
步驟S103:發(fā)送裝置判斷接收到的確認(rèn)包,是否是已匹配的接收裝置發(fā)送的確認(rèn)包;若否,執(zhí)行步驟S104;若是,執(zhí)行步驟S105;
所述確認(rèn)包中包括目標(biāo)ID(G_ID)字段,用于寫(xiě)入發(fā)送裝置的軟件地址;以及,源ID(S_ID)字段,用于寫(xiě)入接收裝置的軟件地址;所述發(fā)送裝置根據(jù)所述源ID(S_ID)字段中接收裝置的軟件地址過(guò)濾接收到的確認(rèn)包,當(dāng)所述源ID(S_ID)字段中接收裝置的軟件地址,與前述配對(duì)過(guò)程發(fā)送裝置存儲(chǔ)的接收裝置的軟件地址不同,過(guò)濾掉對(duì)應(yīng)的確認(rèn)包。
步驟S104:發(fā)送裝置過(guò)濾掉不是已配對(duì)成功的接收裝置發(fā)送的確認(rèn)包;
步驟S105:當(dāng)確認(rèn)包是已配對(duì)成功的接收裝置發(fā)送的,記錄對(duì)應(yīng)的接收裝置接收數(shù)據(jù)包成功;
步驟S106:發(fā)送裝置會(huì)預(yù)設(shè)等待接收確認(rèn)包的時(shí)間,若等待時(shí)間超過(guò)了預(yù)設(shè)時(shí)間;
步驟S107:發(fā)送裝置根據(jù)所有接收到的確認(rèn)包,判斷是否所有接收裝置均返回確認(rèn)包;若是,執(zhí)行步驟S108;若否,執(zhí)行步驟S110;
步驟S108:發(fā)送裝置記錄全部接收裝置接收數(shù)據(jù)包成功;
步驟S109:發(fā)送裝置上報(bào)全部接收裝置接收數(shù)據(jù)包成功的發(fā)送結(jié)果;
步驟S110:發(fā)送裝置判斷是否達(dá)到最大重發(fā)次數(shù);若是,執(zhí)行步驟S111;若否,執(zhí)行步驟S113;
當(dāng)發(fā)送裝置等待時(shí)間達(dá)到預(yù)設(shè)的等待確認(rèn)包的時(shí)間時(shí),會(huì)重新廣播數(shù)據(jù)包,直到達(dá)到預(yù)設(shè)的最大重發(fā)次數(shù),或全部的接收裝置均收到數(shù)據(jù)包,則會(huì)停止重新廣播數(shù)據(jù)包。
步驟S111:發(fā)送裝置記錄非全部接收裝置接收數(shù)據(jù)包成功;
步驟S112:發(fā)送裝置上報(bào)非全部接收裝置接收數(shù)據(jù)包成功的發(fā)送結(jié)果;
步驟S113:發(fā)送裝置統(tǒng)計(jì)所有返回確認(rèn)包的接收裝置;
步驟S114:發(fā)送裝置更新數(shù)據(jù)包中的ACK索引表字段;
發(fā)送裝置根據(jù)確認(rèn)包對(duì)應(yīng)的接收裝置,更新數(shù)據(jù)包的ACK索引表字段,將已收到數(shù)據(jù)包的接收裝置標(biāo)識(shí)對(duì)應(yīng)的值修改為不需要回復(fù)確認(rèn)包。
采用本發(fā)明的實(shí)施方式,發(fā)送裝置以廣播形式發(fā)送數(shù)據(jù)包,會(huì)通過(guò)數(shù)據(jù)包中的ACK索引表字段告知對(duì)應(yīng)的接收裝置是否需要回復(fù)確認(rèn)包,已收到確認(rèn)包的接收裝置,就告知其無(wú)需回復(fù)確認(rèn)包。每廣播一次數(shù)據(jù)包,都會(huì)對(duì)返回的確認(rèn)包做統(tǒng)計(jì),已收到確認(rèn)包的接收裝置會(huì)被發(fā)送裝置通知不需要回復(fù)確認(rèn)包,所以在一次次廣播過(guò)程中,空中確認(rèn)包的無(wú)線數(shù)據(jù)會(huì)越來(lái)越少,碰撞也會(huì)越來(lái)越小。
可選地,在本發(fā)明的其它實(shí)施方式中,在多對(duì)多通信時(shí),為了減少硬件成本,給發(fā)送裝置和接收裝置配置相同的物理地址,同時(shí),給發(fā)送裝置配置唯一的軟件地址,接收裝置也配置唯一的軟件地址。發(fā)送裝置通過(guò)該物理地址廣播數(shù)據(jù)包,所有具有該同一物理地址的接收裝置均能夠接收到所述數(shù)據(jù)包。而發(fā)送裝置和接收裝置通過(guò)交互和存儲(chǔ)對(duì)方的軟件地址實(shí)現(xiàn)配對(duì),并且通過(guò)對(duì)方的軟件地址過(guò)濾接收到的數(shù)據(jù)包或確認(rèn)包。
如圖4所示,為本發(fā)明實(shí)施方式提供的接收裝置接收數(shù)據(jù)包并返回確認(rèn)包的方法流程示意圖。
步驟S201:接收裝置接收數(shù)據(jù)包;
所述數(shù)據(jù)包中包括ACK索引表字段,所述字段包括若干接收裝置標(biāo)識(shí)和對(duì)應(yīng)所述每一接收裝置標(biāo)識(shí)是否需要回復(fù)確認(rèn)包的值。
步驟S202:接收裝置判斷接收到的數(shù)據(jù)包,是否是已匹配的發(fā)送裝置發(fā)送的數(shù)據(jù)包;若否,執(zhí)行步驟S203;若是,執(zhí)行步驟S204;
所述數(shù)據(jù)包中包括目標(biāo)ID(G_ID)字段,用于寫(xiě)入接收裝置的軟件地址;以及,源ID(S_ID)字段,用于寫(xiě)入發(fā)送裝置的軟件地址;所述接收裝置根據(jù)所述源ID(S_ID)字段中發(fā)送裝置的軟件地址過(guò)濾接收到的數(shù)據(jù)包,當(dāng)所述源ID(S_ID)字段中發(fā)送裝置的軟件地址與所述接收裝置存儲(chǔ)的發(fā)送裝置的軟件地址不同,過(guò)濾掉對(duì)應(yīng)的數(shù)據(jù)包。
步驟S203:接收裝置過(guò)濾掉不是已成功配對(duì)的發(fā)送裝置發(fā)送的數(shù)據(jù)包;
步驟S204:接收裝置根據(jù)數(shù)據(jù)包中的ACK索引表字段判斷是否需要回復(fù)確認(rèn)包;若是,執(zhí)行步驟S205;若否,不需要回復(fù)確認(rèn)包,該流程結(jié)束;
步驟S205:接收裝置隨機(jī)延時(shí)后向發(fā)送裝置回復(fù)確認(rèn)包。
通常情況下,接收裝置的隨機(jī)延時(shí)時(shí)間要小于發(fā)送裝置預(yù)設(shè)的等待確認(rèn)包回復(fù)的時(shí)間。該隨機(jī)延時(shí)時(shí)間是為了防止大量接收裝置同時(shí)回復(fù)確認(rèn)包,產(chǎn)生的數(shù)據(jù)嚴(yán)重碰撞。
如圖5所示,為本發(fā)明實(shí)施方式提供的多對(duì)多無(wú)線數(shù)據(jù)包通信邏輯實(shí)示意圖。
假設(shè)網(wǎng)絡(luò)中有2個(gè)發(fā)送裝置和6個(gè)接收裝置,用實(shí)線表示發(fā)送裝置發(fā)送數(shù)據(jù)包,虛線表示接收裝置回復(fù)確認(rèn)包。
在通信前,相互通信的發(fā)送裝置和接收裝置需先相互配對(duì)。其中,發(fā)送裝置1與接收裝置3、接收裝置4、接收裝置5和接收裝置6配對(duì)成功;發(fā)送裝置2與接收裝置1和接收裝置2配對(duì)成功。
送裝置1需要發(fā)送數(shù)據(jù)包時(shí),會(huì)以廣播的形式廣播數(shù)據(jù)包,因?yàn)橛布刂废嗤械慕邮昭b置都能收到數(shù)據(jù)包。但因?yàn)榘l(fā)送裝置1只與接收裝置3、接收裝置4、接收裝置5和接收裝置6進(jìn)行了軟件地址配對(duì),所以接收裝置1和接收裝置2雖然能收到數(shù)據(jù)包,但會(huì)通過(guò)發(fā)送裝置的軟件地址過(guò)濾數(shù)據(jù)包,即接收裝置1和接收裝置2并沒(méi)有存儲(chǔ)發(fā)送裝置1的軟件地址,接收裝置1和接收裝置2對(duì)所述接收到的數(shù)據(jù)包不做處理。
接收裝置3、接收裝置4、接收裝置5和接收裝置6收到廣播數(shù)據(jù)包后,若檢查是其成功配對(duì)的發(fā)送裝置1發(fā)來(lái)的,并根據(jù)數(shù)據(jù)包中的ACK索引表字段判斷是否需要回復(fù)確認(rèn)包,若需要,再隨機(jī)延時(shí)后回復(fù)確認(rèn)包。
假設(shè)發(fā)送裝置1第一次廣播數(shù)據(jù)包后收到了來(lái)自接收裝置3和接收裝置5的確認(rèn)包,沒(méi)收到接收裝置4和接收裝置6回復(fù)的確認(rèn)包。發(fā)送裝置1重發(fā)數(shù)據(jù)包時(shí),就會(huì)在數(shù)據(jù)包的ACK索引表字段里標(biāo)識(shí)接收裝置3和接收裝置5已無(wú)需再回復(fù)確認(rèn)包,接收裝置4和接收裝置6需要回復(fù)確認(rèn)包。這樣接收裝置3、接收裝置4、接收裝置5和接收裝置6就能做相應(yīng)的處理,每次重發(fā)后能逐步減少空中確認(rèn)包的碰撞情況。
如圖6所示,為本發(fā)明實(shí)施方式提供的發(fā)送裝置的組成結(jié)構(gòu)示意圖。
發(fā)送裝置10包括:收發(fā)單元110、處理器120、記錄單元130和時(shí)鐘單元140。
收發(fā)單元110,用于廣播數(shù)據(jù)包,所述數(shù)據(jù)包中包括ACK索引表字段,所述字段包括若干接收裝置標(biāo)識(shí)和對(duì)應(yīng)所述每一接收裝置標(biāo)識(shí)是否需要回復(fù)確認(rèn)包的值,以及,接收到所述數(shù)據(jù)包的接收裝置回復(fù)的確認(rèn)包。
處理器120,用于根據(jù)所述確認(rèn)包對(duì)應(yīng)的接收裝置,更新所述數(shù)據(jù)包的ACK索引表字段,將已收到數(shù)據(jù)包的接收裝置標(biāo)識(shí)對(duì)應(yīng)的值修改為不需要回復(fù)確認(rèn)包。
記錄單元130,用于根據(jù)所述收到確認(rèn)包,記錄所述確認(rèn)包對(duì)應(yīng)的接收裝置已經(jīng)收到所述數(shù)據(jù)包。
時(shí)鐘單元140,用于計(jì)時(shí)等待返回確認(rèn)包的時(shí)間,當(dāng)?shù)却瑫r(shí),觸發(fā)處理器根據(jù)收到的確認(rèn)包,判斷是否全部接收裝置接收所述數(shù)據(jù)包成功。時(shí)鐘單元140,還用于統(tǒng)計(jì)所述數(shù)據(jù)包的重發(fā)次數(shù),當(dāng)未達(dá)到最大重發(fā)次數(shù)時(shí),觸發(fā)處理器統(tǒng)計(jì)返回確認(rèn)包對(duì)應(yīng)的接收裝置。
如圖7所示,為本發(fā)明實(shí)施方式提供的接收裝置的組成結(jié)構(gòu)示意圖。
接收裝置20包括:收發(fā)單元210、處理器220和時(shí)鐘單元230。
收發(fā)單元210,用于接收數(shù)據(jù)包,所述數(shù)據(jù)包中包括ACK索引表字段,所述字段包括若干接收裝置標(biāo)識(shí)和對(duì)應(yīng)所述每一接收裝置標(biāo)識(shí)是否需要回復(fù)確認(rèn)包的值;
處理器220,用于根據(jù)所述ACK索引表字段判斷是否需要回復(fù)確認(rèn)包,若需要回復(fù),則根據(jù)時(shí)鐘單元230提供的時(shí)間信息,隨機(jī)延時(shí)后觸發(fā)所述收發(fā)單元210向發(fā)送裝置回復(fù)確認(rèn)包。
本發(fā)明實(shí)施方式的有益效果是:發(fā)送裝置發(fā)送的數(shù)據(jù)包中包括ACK索引表字段,該字段可以指示接收到數(shù)據(jù)包的接收裝置是否需要回復(fù)確認(rèn)包,無(wú)需所有的接收裝置回復(fù)確認(rèn)包,減少確認(rèn)包沖突,減少2.4GHz射頻信號(hào)干擾,提高確認(rèn)包接收的成功率。另外,接收裝置可以根據(jù)數(shù)據(jù)包中的ACK索引表字段判斷是否需要回復(fù)確認(rèn)包,當(dāng)需要回復(fù)確認(rèn)包時(shí),可以隨機(jī)延時(shí)后再發(fā)送確認(rèn)包。減少了同一時(shí)段的確認(rèn)包沖突問(wèn)題,同時(shí)也提高了確認(rèn)包接收的成功率。發(fā)送裝置能夠準(zhǔn)確接收確認(rèn)包,也減少了數(shù)據(jù)包重復(fù)的次數(shù)。
以上所述僅為本發(fā)明的實(shí)施方式,并非因此限制本發(fā)明的專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。