一種數(shù)據(jù)包發(fā)送方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種數(shù)據(jù)包發(fā)送方法及裝置,用于解決在車(chē)路協(xié)同通信系統(tǒng)中,在數(shù)據(jù)包的最大發(fā)送時(shí)延允許范圍對(duì)應(yīng)的所有時(shí)隙隨機(jī)選擇數(shù)據(jù)包的發(fā)送時(shí)隙,當(dāng)上述發(fā)送時(shí)隙出現(xiàn)異常,使得在上述最大發(fā)送時(shí)延允許范圍內(nèi)未能及時(shí)將數(shù)據(jù)包成功發(fā)送出去,影響系統(tǒng)可靠性和安全性的問(wèn)題。方法為:基于SU-ALOHA算法,根據(jù)數(shù)據(jù)包對(duì)應(yīng)的數(shù)據(jù)包發(fā)送優(yōu)先級(jí)設(shè)置相應(yīng)的時(shí)延裕量值;根據(jù)該時(shí)延裕量值和數(shù)據(jù)包中攜帶的數(shù)據(jù)包最大發(fā)送時(shí)延信息,計(jì)算數(shù)據(jù)包的發(fā)送剩余時(shí)間;利用上述發(fā)送剩余時(shí)間發(fā)送上述數(shù)據(jù)包。
【專(zhuān)利說(shuō)明】一種數(shù)據(jù)包發(fā)送方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種數(shù)據(jù)包發(fā)送方法及裝置。
【背景技術(shù)】
[0002]隨著車(chē)路協(xié)同通信系統(tǒng)的發(fā)展和移動(dòng)自組網(wǎng)技術(shù)的逐漸成熟,為了實(shí)現(xiàn)對(duì)車(chē)輛的實(shí)時(shí)、動(dòng)態(tài)、智能化管理,國(guó)際上專(zhuān)門(mén)開(kāi)發(fā)了針對(duì)車(chē)聯(lián)網(wǎng)的專(zhuān)用短程通信(Dedicated ShortRange Communications,DSRC)協(xié)議。DSRC通過(guò)信息的雙向傳輸,將車(chē)輛與車(chē)輛、車(chē)輛和路側(cè)的信息采集設(shè)備有機(jī)的連接起來(lái),支持點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)通信。
[0003]移動(dòng)分時(shí)隙ALOHA (Mobile Slotted Aloha,MS-AL0HA)機(jī)制是一種基于分時(shí)方式的DSRC MAC層接入和資源分配機(jī)制,資源分配基于幀結(jié)構(gòu)以slot(時(shí)隙)為單位。參閱圖1所示,每N個(gè)slot構(gòu)成一個(gè)幀(記為Frame),每個(gè)幀中的slot的編號(hào)為0-Ν_1,在幀之間循環(huán)往復(fù)。每個(gè)slot中只允許一個(gè)車(chē)輛進(jìn)行發(fā)送,即車(chē)輛之間為(Time Division MultipleAccess,時(shí)分復(fù)用接入)模式。車(chē)輛在所占用的時(shí)隙上中不僅發(fā)送應(yīng)用層的數(shù)據(jù),而且還需要發(fā)送FI (Frame Information,幀信息),在FI中會(huì)指示一個(gè)幀中各個(gè)slot的占用狀態(tài)。
[0004]MS-ALOHA機(jī)制的基本思想是:任意一節(jié)點(diǎn)(如,車(chē)輛)加入網(wǎng)絡(luò)時(shí),需要通過(guò)監(jiān)聽(tīng)?zhēng)械目臻e時(shí)隙資源占用一個(gè)時(shí)隙,如果節(jié)點(diǎn)不主動(dòng)放棄該所占用的時(shí)隙資源,則可一直使用占用的時(shí)隙傳輸數(shù)據(jù),在這期間其他節(jié)點(diǎn)不能使用該時(shí)隙。在占用的時(shí)隙上,節(jié)點(diǎn)需要周期性發(fā)送FI,F(xiàn)I中攜帶節(jié)點(diǎn)獲得的與該節(jié)點(diǎn)相距兩跳范圍內(nèi)的其他節(jié)點(diǎn)占用時(shí)隙的情況,指示節(jié)點(diǎn)感知到的每個(gè)時(shí)隙的占用狀況信息,對(duì)每個(gè)時(shí)隙給出該時(shí)隙的包括:時(shí)隙占用狀態(tài)信息,占用時(shí)隙的節(jié)點(diǎn)對(duì)應(yīng)的STI (Source Temporary Identifier,臨時(shí)資源標(biāo)識(shí))或可稱(chēng)為節(jié)點(diǎn)標(biāo)識(shí),占用時(shí)隙的節(jié)點(diǎn)的優(yōu)先級(jí)狀態(tài)(也可認(rèn)為是占用時(shí)隙節(jié)點(diǎn)在該時(shí)隙發(fā)送的數(shù)據(jù)對(duì)應(yīng)的優(yōu)先級(jí)狀態(tài));其中,時(shí)隙占用狀態(tài)信息可以表達(dá)時(shí)隙的四種占用狀態(tài):(00)表示時(shí)隙為空閑狀態(tài),(10)表示時(shí)隙已被與本節(jié)點(diǎn)相距一跳的其他節(jié)點(diǎn)占用(簡(jiǎn)稱(chēng)為一跳節(jié)點(diǎn)占用)或本節(jié)點(diǎn)占用,(11)表示時(shí)隙已被與本`節(jié)點(diǎn)相距兩跳的其他節(jié)點(diǎn)占用(簡(jiǎn)稱(chēng)為兩跳節(jié)點(diǎn)占用),(01)表示時(shí)隙已被其他兩個(gè)以上的節(jié)點(diǎn)占用,即為碰撞狀態(tài);在非自身占用的時(shí)隙,每個(gè)節(jié)點(diǎn)通過(guò)監(jiān)聽(tīng)相鄰一跳的節(jié)點(diǎn)發(fā)送的FI,能夠判斷相鄰三跳范圍內(nèi)每個(gè)節(jié)點(diǎn)占用時(shí)隙的情況,當(dāng)發(fā)現(xiàn)本節(jié)點(diǎn)占用的時(shí)隙資源與其他節(jié)點(diǎn)使用的資源發(fā)生碰撞時(shí),重新預(yù)約新的空閑時(shí)隙。為方便后續(xù)描述,本發(fā)明中對(duì)FI及其內(nèi)部信息內(nèi)容統(tǒng)一采用如下描述方式:
[0005]節(jié)點(diǎn)發(fā)送幀信息(FI)稱(chēng)為:FI消息,也可簡(jiǎn)稱(chēng)為FI ;FI中指示的每個(gè)時(shí)隙對(duì)應(yīng)的占用狀況信息稱(chēng)為:FI消息中每個(gè)時(shí)隙對(duì)應(yīng)的時(shí)隙信息域。
[0006]節(jié)點(diǎn)在一個(gè)時(shí)隙上接收到FI消息時(shí),總是用新接收到的FI消息中攜帶的時(shí)隙信息內(nèi)容覆蓋一個(gè)幀周期前記錄的內(nèi)容。節(jié)點(diǎn)在自身占用的時(shí)隙生成并發(fā)送FI消息,需要按照一定規(guī)則填寫(xiě)各個(gè)field (域),包括時(shí)隙占用狀態(tài)子域、STI子域以及優(yōu)先級(jí)子域。發(fā)送完畢后,節(jié)點(diǎn)會(huì)清空所發(fā)送的FI信息。
[0007]在狀態(tài)更新AL0HA( State Update Aloha, SU-AL0HA)機(jī)制下,對(duì)FI的傳輸方式,以及節(jié)點(diǎn)根據(jù)FI消息中攜帶的時(shí)隙信息內(nèi)容對(duì)本地維護(hù)時(shí)隙的時(shí)隙信息內(nèi)容的處理方式,在MS-ALOHA機(jī)制處理方式的基礎(chǔ)上進(jìn)行了相應(yīng)改進(jìn)。具體為:在SU-ALOHA機(jī)制下,節(jié)點(diǎn)采用迭代方式保存FI信息,即節(jié)點(diǎn)僅保存一個(gè)關(guān)于各時(shí)隙當(dāng)前占用狀態(tài)的向量,稱(chēng)為時(shí)隙狀態(tài)向量(也可稱(chēng)作時(shí)隙狀態(tài)表)后續(xù)稱(chēng)為時(shí)隙狀態(tài)向量(表),當(dāng)一個(gè)節(jié)點(diǎn)僅擁有一個(gè)自身使用的時(shí)隙時(shí),該節(jié)點(diǎn)僅保存自身使用的時(shí)隙對(duì)應(yīng)的時(shí)隙狀態(tài)向量(表)。節(jié)點(diǎn)接收到其他節(jié)點(diǎn)發(fā)送的FI后,根據(jù)新接收FI中各時(shí)隙對(duì)應(yīng)的時(shí)隙信息域?qū)Ρ镜乇4娴臅r(shí)隙狀態(tài)向量(表)中每一個(gè)時(shí)隙對(duì)應(yīng)的時(shí)隙信息單元進(jìn)行更新。當(dāng)節(jié)點(diǎn)需發(fā)送自身判定的FI時(shí),會(huì)根據(jù)保存的時(shí)隙狀態(tài)向量(表)中的信息生成要發(fā)送的FI。
[0008]在車(chē)路協(xié)同通信系統(tǒng)中,應(yīng)用層發(fā)送至媒體接入控制(Medium Access Control ;MAC)層的數(shù)據(jù)包中攜帶該數(shù)據(jù)包的最大發(fā)送時(shí)延,即從數(shù)據(jù)包發(fā)送至MAC層至該數(shù)據(jù)包被MAC層從空口成功發(fā)送出去的最大允許時(shí)延。若在最大發(fā)送時(shí)延內(nèi),數(shù)據(jù)包未獲得MAC層的發(fā)送機(jī)會(huì),則表明該數(shù)據(jù)包發(fā)送失敗,即被丟棄,應(yīng)用層需要重新發(fā)送該數(shù)據(jù)包至MAC層。
[0009]現(xiàn)有技術(shù)下,主要采用MS-ALOHA算法為接入車(chē)路協(xié)同通信系統(tǒng)的節(jié)點(diǎn)分配發(fā)送時(shí)隙。具體為,當(dāng)MAC層接收到應(yīng)用層發(fā)送的數(shù)據(jù)包后,即根據(jù)時(shí)隙狀態(tài)向量(表),在該數(shù)據(jù)包的最大發(fā)送時(shí)延允許范圍內(nèi)查詢(xún)是否存在自占時(shí)隙可以用于發(fā)送該數(shù)據(jù)包,若存在,則選擇該自占時(shí)隙作為該數(shù)據(jù)包的發(fā)送時(shí)隙;若不存在,則在該數(shù)據(jù)包的最大發(fā)送時(shí)延允許范圍內(nèi)隨機(jī)分配一個(gè)空閑時(shí)隙作為該數(shù)據(jù)包的發(fā)送時(shí)隙。在車(chē)路協(xié)同通信系統(tǒng)中,自占時(shí)隙,是指第一節(jié)點(diǎn)向其他節(jié)點(diǎn)發(fā)送FI的時(shí)隙。并且,當(dāng)在以后的幀周期中,第一節(jié)點(diǎn)在發(fā)送FI的時(shí)隙不發(fā)生碰撞時(shí),則該時(shí)隙一直為第一節(jié)點(diǎn)的自占時(shí)隙。申請(qǐng)時(shí)隙,是指第一節(jié)點(diǎn)在當(dāng)前幀周期中選擇某個(gè)時(shí)隙η作為向其他節(jié)點(diǎn)發(fā)送FI的發(fā)送時(shí)隙,計(jì)劃在上述時(shí)隙η中向其他節(jié)點(diǎn)發(fā)送FI,但是未到達(dá)發(fā)送FI時(shí)刻的時(shí)隙η。自占時(shí)隙是申請(qǐng)時(shí)隙經(jīng)過(guò)周?chē)?jié)點(diǎn)正反饋FI由申請(qǐng)時(shí)隙轉(zhuǎn)化得到。
[0010]因此,自占時(shí)隙和申請(qǐng)時(shí)隙在本質(zhì)上都體現(xiàn)了在MS-ALOHA算法下數(shù)據(jù)包的發(fā)送時(shí)隙選擇的隨機(jī)性。在上述數(shù)據(jù)包發(fā)送時(shí)隙的選擇機(jī)制下,當(dāng)隨機(jī)選擇的數(shù)據(jù)包發(fā)送時(shí)隙位于最大發(fā)送時(shí)延允許范圍對(duì)應(yīng)的最后時(shí)刻時(shí),一旦上述選定的發(fā)送時(shí)隙出現(xiàn)異常,即會(huì)造成數(shù)據(jù)包的發(fā)送失敗。例如,參閱圖2所示,節(jié)點(diǎn)在時(shí)隙2觸發(fā)數(shù)據(jù)包的發(fā)送,該數(shù)據(jù)包的最大發(fā)送時(shí)延為I幀,即從第I幀時(shí)隙2開(kāi)始到第2幀時(shí)隙I結(jié)束為最大發(fā)送時(shí)延允許的數(shù)據(jù)包發(fā)送時(shí)間范圍。根據(jù)MS-ALOHA算法,在上述數(shù)據(jù)包最大發(fā)送時(shí)延對(duì)應(yīng)的所有時(shí)隙中,隨機(jī)選擇一個(gè)空閑時(shí)隙作為數(shù)據(jù)包的發(fā)送時(shí)隙,此處選擇第2幀時(shí)隙I為數(shù)據(jù)包的發(fā)送時(shí)隙;節(jié)點(diǎn)從第I幀的時(shí)隙2開(kāi)始進(jìn)入持續(xù)監(jiān)聽(tīng)階段,當(dāng)某個(gè)時(shí)隙不是本節(jié)點(diǎn)的發(fā)送時(shí)隙時(shí),則收發(fā)機(jī)將處于接收狀態(tài),接收其他節(jié)點(diǎn)發(fā)送的FI,并根據(jù)該FI對(duì)本節(jié)點(diǎn)保存的時(shí)隙狀態(tài)向量(表)進(jìn)行更新,根據(jù)上述時(shí)隙狀態(tài)向量(表),當(dāng)在第2幀時(shí)隙O判斷第2幀時(shí)隙I發(fā)生時(shí)隙資源碰撞時(shí),則不能在第2幀時(shí)隙I發(fā)送上述數(shù)據(jù)包;只能對(duì)上述數(shù)據(jù)包進(jìn)行丟棄處理。
[0011]綜上所述,在車(chē)路協(xié)同通信系統(tǒng)中,MAC層對(duì)應(yīng)用層發(fā)送的數(shù)據(jù)包經(jīng)空口進(jìn)行發(fā)送過(guò)程中,需要在該數(shù)據(jù)包的最大發(fā)送時(shí)延對(duì)應(yīng)的所有時(shí)隙中隨機(jī)選擇一個(gè)空閑時(shí)隙作為發(fā)送時(shí)隙,當(dāng)上述隨機(jī)選擇的發(fā)送時(shí)隙對(duì)應(yīng)的時(shí)刻位于最大發(fā)送時(shí)延允許范圍的后期時(shí)刻時(shí),當(dāng)該發(fā)送時(shí)隙發(fā)生異常(發(fā)生碰撞),且在最大發(fā)送時(shí)延允許范圍內(nèi),上述發(fā)送時(shí)隙之后沒(méi)有空閑時(shí)隙時(shí),或者,當(dāng)隨機(jī)選擇的發(fā)送時(shí)隙位于最大發(fā)送時(shí)延對(duì)應(yīng)的所有時(shí)隙的最后一個(gè)時(shí)隙,且該發(fā)送時(shí)隙發(fā)生異常時(shí),則沒(méi)有機(jī)會(huì)再次為該數(shù)據(jù)包選擇發(fā)送時(shí)隙,即會(huì)使該數(shù)據(jù)包發(fā)送失敗而被丟棄,此時(shí),需要應(yīng)用層向MAC層重新發(fā)送上述數(shù)據(jù)包,造成資源的浪費(fèi),安全性差的問(wèn)題。
【發(fā)明內(nèi)容】
[0012]本發(fā)明實(shí)施例提供一種數(shù)據(jù)包發(fā)送方法及裝置,用以解決現(xiàn)有技術(shù)中存在的車(chē)路協(xié)同通信系統(tǒng)中,在最大發(fā)送時(shí)延允許范圍內(nèi)未能及時(shí)將數(shù)據(jù)包成功發(fā)送出去,影響系統(tǒng)可靠性和安全性的問(wèn)題。
[0013]本發(fā)明實(shí)施例提供的具體技術(shù)方案如下:
[0014]一種數(shù)據(jù)包發(fā)送方法,包括:
[0015]確認(rèn)數(shù)據(jù)包中攜帶的數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,根據(jù)所述數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置所述數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量值;
[0016]根據(jù)所述數(shù)據(jù)包攜帶的最大發(fā)送時(shí)延信息與所述時(shí)延裕量值,計(jì)算數(shù)據(jù)包第一發(fā)送剩余時(shí)間;
[0017]利用第一發(fā)送剩余時(shí)間發(fā)送所述數(shù)據(jù)包。
[0018]一種數(shù)據(jù)包發(fā)送裝置,包括:
[0019]設(shè)置單元,用于確認(rèn)數(shù)據(jù)包中攜帶的數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,根據(jù)所述數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置所述數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量值;
[0020]計(jì)算單元,用于根據(jù)所述數(shù)據(jù)包攜帶的最大發(fā)送時(shí)延信息與所述時(shí)延裕量值,計(jì)算數(shù)據(jù)包第一發(fā)送剩余時(shí)間;
[0021]發(fā)送單元,用于利用所述第一發(fā)送剩余時(shí)間發(fā)送所述數(shù)據(jù)包。
[0022]本發(fā)明實(shí)施例中,基于SU-ALOHA算法,根據(jù)數(shù)據(jù)包對(duì)應(yīng)的數(shù)據(jù)包發(fā)送優(yōu)先級(jí)設(shè)置相應(yīng)的時(shí)延裕量值;根據(jù)該時(shí)延裕量值和數(shù)據(jù)包中攜帶的數(shù)據(jù)包最大發(fā)送時(shí)延信息,計(jì)算數(shù)據(jù)包的發(fā)送剩余時(shí)間;利用上述發(fā)送剩余時(shí)間發(fā)送上述數(shù)據(jù)包。采用本發(fā)明技術(shù)方案,能夠針對(duì)數(shù)據(jù)包對(duì)應(yīng)的優(yōu)先級(jí)設(shè)置其時(shí)延裕量值,從而在發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中隨機(jī)選擇空閑時(shí)隙作為發(fā)送時(shí)隙發(fā)送上述數(shù)據(jù)包,能夠避免將最大發(fā)送時(shí)延時(shí)長(zhǎng)的最后時(shí)刻對(duì)應(yīng)的時(shí)隙作為發(fā)送時(shí)隙,當(dāng)該發(fā)送時(shí)隙出現(xiàn)異常時(shí),造成數(shù)據(jù)包發(fā)送失敗的問(wèn)題,保證高優(yōu)先級(jí)數(shù)據(jù)包的發(fā)送,提高了系統(tǒng)的安全性和穩(wěn)定性。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0023]圖1為現(xiàn)有技術(shù)下超幀結(jié)構(gòu)示意圖;
[0024]圖2為現(xiàn)有技術(shù)下采用MS-ALOHA算法發(fā)送數(shù)據(jù)包的幀結(jié)構(gòu)示意圖;
[0025]圖3為本發(fā)明實(shí)施例中數(shù)據(jù)包發(fā)送裝置結(jié)構(gòu)示意圖;
[0026]圖4為本發(fā)明實(shí)施例中數(shù)據(jù)包發(fā)送的詳細(xì)流程圖;
[0027]圖5為本發(fā)明實(shí)施例中高優(yōu)先級(jí)數(shù)據(jù)包在第一發(fā)送時(shí)隙發(fā)送成功的幀結(jié)構(gòu)示意圖;
[0028]圖6為本發(fā)明實(shí)施例中高優(yōu)先級(jí)數(shù)據(jù)包在第一發(fā)送時(shí)隙發(fā)送成功的流程圖;
[0029]圖7為本發(fā)明實(shí)施例中高優(yōu)先級(jí)數(shù)據(jù)包在第二發(fā)送時(shí)隙發(fā)送成功的幀結(jié)構(gòu)示意圖;[0030]圖8為本發(fā)明實(shí)施例中高優(yōu)先級(jí)數(shù)據(jù)包在第二發(fā)送時(shí)隙發(fā)送成功的流程圖;
[0031]圖9為本發(fā)明實(shí)施例中高優(yōu)先級(jí)數(shù)據(jù)包在第三發(fā)送時(shí)隙發(fā)送成功的流程圖;
[0032]圖10為本發(fā)明實(shí)施例中高優(yōu)先級(jí)數(shù)據(jù)包發(fā)送不成功的流程圖。
【具體實(shí)施方式】
[0033]為了解決現(xiàn)有技術(shù)中存在的車(chē)路協(xié)同通信系統(tǒng)中,在數(shù)據(jù)包的最大發(fā)送時(shí)延時(shí)長(zhǎng)對(duì)應(yīng)的所有時(shí)隙中隨機(jī)選擇空閑時(shí)隙作為數(shù)據(jù)包的發(fā)送時(shí)隙,當(dāng)上述發(fā)送時(shí)隙出現(xiàn)異常,使得在上述最大發(fā)送時(shí)延允許范圍內(nèi)未能及時(shí)將數(shù)據(jù)包成功發(fā)送出去,影響系統(tǒng)可靠性和安全性的問(wèn)題。本發(fā)明實(shí)施例中,基于SU-ALOHA算法,根據(jù)數(shù)據(jù)包對(duì)應(yīng)的數(shù)據(jù)包發(fā)送優(yōu)先級(jí)設(shè)置相應(yīng)的時(shí)延裕量值;根據(jù)該時(shí)延裕量值和數(shù)據(jù)包中攜帶的數(shù)據(jù)包最大發(fā)送時(shí)延信息,計(jì)算數(shù)據(jù)包的發(fā)送剩余時(shí)間;利用上述發(fā)送剩余時(shí)間發(fā)送上述數(shù)據(jù)包。采用本發(fā)明技術(shù)方案,能夠針對(duì)數(shù)據(jù)包對(duì)應(yīng)的優(yōu)先級(jí)設(shè)置其時(shí)延裕量值,從而在發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中隨機(jī)選擇空閑時(shí)隙作為上述數(shù)據(jù)包發(fā)送時(shí)隙,能夠避免將最大發(fā)送時(shí)延時(shí)長(zhǎng)的最后時(shí)刻對(duì)應(yīng)的時(shí)隙作為發(fā)送時(shí)隙,當(dāng)該發(fā)送時(shí)隙出現(xiàn)異常時(shí),造成數(shù)據(jù)包發(fā)送失敗的問(wèn)題,保證高優(yōu)先級(jí)數(shù)據(jù)包的發(fā)送,提高了系統(tǒng)的安全性和穩(wěn)定性。
[0034]下面結(jié)合附圖對(duì)本發(fā)明優(yōu)選的實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。
[0035]參閱圖3所示,本發(fā)明實(shí)施例中,數(shù)據(jù)包發(fā)送裝置包括設(shè)置單元30,計(jì)算單元31和發(fā)送單元32,其中,
[0036]設(shè)置單元30,用于確認(rèn)數(shù)據(jù)包中攜帶的數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,根據(jù)上述數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置上述數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量值;
[0037]計(jì)算單元31,用于根據(jù)上述數(shù)據(jù)包攜帶的最大發(fā)送時(shí)延信息與上述時(shí)延裕量值,計(jì)算數(shù)據(jù)包第一發(fā)送剩余時(shí)間;
[0038]發(fā)送單元32,用于利用上述第一發(fā)送剩余時(shí)間發(fā)送上述數(shù)據(jù)包。
[0039]其中,數(shù)據(jù)包發(fā)送裝置還包括第一處理單元33,以及第二處理單元34:
[0040]第一處理單元33,用于判斷第一發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中是否存在空閑時(shí)隙;若存在空閑時(shí)隙,則隨機(jī)選擇一個(gè)空閑時(shí)隙作為第一發(fā)送時(shí)隙;若不存在空閑時(shí)隙,且上述時(shí)延裕量值不為零時(shí),將第一發(fā)送剩余時(shí)間更新為第二發(fā)送剩余時(shí)間,在第二發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中,隨機(jī)選擇一個(gè)空閑時(shí)隙作為第一發(fā)送時(shí)隙;
[0041]其中,第一處理單元33,具體用于判斷第一發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中是否存在空閑時(shí)隙;若存在空閑時(shí)隙,則隨機(jī)選擇一個(gè)空閑時(shí)隙作為第一發(fā)送時(shí)隙;若不存在空閑時(shí)隙,且時(shí)延裕量值不為零時(shí),記錄無(wú)空閑時(shí)隙確定時(shí)間,計(jì)算第一發(fā)送剩余時(shí)間與無(wú)空閑時(shí)隙確定時(shí)間之間的差值,獲取第一剩余時(shí)間差值,無(wú)空閑時(shí)隙確定時(shí)間為確定第一發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中不存在空閑時(shí)隙的時(shí)隙對(duì)應(yīng)的時(shí)間,第一剩余時(shí)間差值為大于等于零的值,計(jì)算第一剩余時(shí)間差值與時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng)的和,獲取第二發(fā)送剩余時(shí)間,將時(shí)延裕量值更新為零,在第二發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中,隨機(jī)選擇一個(gè)空閑時(shí)隙作為第一發(fā)送時(shí)隙。
[0042]第二處理單元34,用于當(dāng)在第一發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定第一發(fā)送時(shí)隙發(fā)生碰撞時(shí),判斷在由時(shí)隙碰撞事件確定時(shí)間至第一發(fā)送剩余時(shí)間結(jié)束前對(duì)應(yīng)的所有時(shí)隙中是否存在空閑時(shí)隙;若存在空閑時(shí)隙,則隨機(jī)選擇一個(gè)空閑時(shí)隙作為第二發(fā)送時(shí)隙;若不存在空閑時(shí)隙,且時(shí)延裕量值不為零時(shí),則將第一發(fā)送剩余時(shí)間更新為第三發(fā)送剩余時(shí)間,并在第三發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中,隨機(jī)選擇一個(gè)空閑時(shí)隙作為第二發(fā)送時(shí)隙。
[0043]其中,第二處理單元34,具體用于當(dāng)在第一發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定第一發(fā)送時(shí)隙發(fā)生碰撞時(shí),判斷在由時(shí)隙碰撞事件確定時(shí)間至第一發(fā)送剩余時(shí)間結(jié)束前對(duì)應(yīng)的所有時(shí)隙中是否存在空閑時(shí)隙;若存在空閑時(shí)隙,則隨機(jī)選擇一個(gè)空閑時(shí)隙作為第二發(fā)送時(shí)隙;若不存在空閑時(shí)隙,且時(shí)延裕量值不為零時(shí),記錄碰撞事件確定時(shí)間,計(jì)算第一發(fā)送剩余時(shí)間與碰撞事件確定時(shí)間之間的差值,獲取第二剩余時(shí)間差值,第二剩余時(shí)間差值為大于等于零的值,碰撞事件確定時(shí)間為確定第一發(fā)送時(shí)隙發(fā)生碰撞的時(shí)隙對(duì)應(yīng)的時(shí)間,計(jì)算第二剩余時(shí)間差值與時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng)的和,獲取第三發(fā)送剩余時(shí)間,將時(shí)延裕量值更新為零,在第三發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中,隨機(jī)選擇一個(gè)空閑時(shí)隙作為第二發(fā)送時(shí)隙。
[0044]基于上述技術(shù)方案,參閱圖4所示,本發(fā)明實(shí)施例中,在車(chē)路協(xié)同通信系統(tǒng)中,僅針對(duì)IOOms及以上的業(yè)務(wù)發(fā)送時(shí)延對(duì)應(yīng)的處理流程,不考慮低時(shí)延業(yè)務(wù)(低時(shí)延業(yè)務(wù)處理有其他保障機(jī)制),發(fā)送數(shù)據(jù)包的詳細(xì)流程如下:
[0045]步驟400:確認(rèn)數(shù)據(jù)包中攜帶的數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,根據(jù)上述數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量值。
[0046]具體為:
[0047]MAC層接收高層發(fā)送的數(shù)據(jù)包,該數(shù)據(jù)包中攜帶數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,根據(jù)該數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量值。
[0048]本發(fā)明實(shí)施例中,根據(jù)數(shù)據(jù)包中攜帶的數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置該數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)長(zhǎng),例如,時(shí)延裕量值為20ms ;根據(jù)數(shù)據(jù)包中攜帶的數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置該數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)隙數(shù)目,例如,時(shí)延裕量值為5個(gè)時(shí)隙,每個(gè)時(shí)隙可以對(duì)應(yīng)一定的時(shí)長(zhǎng)。
[0049]進(jìn)一步地,本發(fā)明實(shí)施例中,針對(duì)數(shù)據(jù)包攜帶的優(yōu)先級(jí)不同,為數(shù)據(jù)包設(shè)置不同的時(shí)延裕量值,即數(shù)據(jù)包的優(yōu)先級(jí)與數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量值存在一定的映射關(guān)系,該映射關(guān)系可以預(yù)先設(shè)置。上述預(yù)設(shè)映射關(guān)系的原則為:預(yù)設(shè)高優(yōu)先級(jí)數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量值比低優(yōu)先級(jí)數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量值大。例如,當(dāng)時(shí)延裕量值為時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)長(zhǎng)時(shí),數(shù)據(jù)包I的優(yōu)先級(jí)高于數(shù)據(jù)包2的優(yōu)先級(jí),則預(yù)設(shè)數(shù)據(jù)包I的時(shí)延裕量值為20ms,數(shù)據(jù)包2的時(shí)延裕量值為IOms ;又如,當(dāng)時(shí)延裕量值為時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)隙數(shù)目時(shí),數(shù)據(jù)包I的優(yōu)先級(jí)高于數(shù)據(jù)包2的優(yōu)先級(jí),則預(yù)設(shè)數(shù)據(jù)包I的時(shí)延時(shí)隙數(shù)目為5個(gè)時(shí)隙,預(yù)設(shè)數(shù)據(jù)包2的時(shí)延時(shí)隙數(shù)目為2個(gè)時(shí)隙。
[0050]步驟410:根據(jù)上述數(shù)據(jù)包攜帶的最大發(fā)送時(shí)延信息與上述時(shí)延裕量值,計(jì)算數(shù)據(jù)包第一發(fā)送剩余時(shí)間。
[0051]具體為:
[0052]根據(jù)上述數(shù)據(jù)包攜帶的最大發(fā)送時(shí)延信息,獲取該數(shù)據(jù)包對(duì)應(yīng)的最大發(fā)送時(shí)延時(shí)長(zhǎng);根據(jù)上述時(shí)延裕量值,獲取該數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng);計(jì)算上述最大發(fā)送時(shí)延時(shí)長(zhǎng)與時(shí)延裕量時(shí)長(zhǎng)的差值,該差值即為上述數(shù)據(jù)包的第一發(fā)送剩余時(shí)間。例如,數(shù)據(jù)包對(duì)應(yīng)的最大發(fā)送時(shí)延時(shí)長(zhǎng)為100ms,根據(jù)該數(shù)據(jù)包對(duì)應(yīng)的優(yōu)先級(jí)得到數(shù)據(jù)包的時(shí)延裕量時(shí)長(zhǎng)為30ms,則該數(shù)據(jù)包對(duì)應(yīng)的第一發(fā)送剩余時(shí)間為70ms,即從數(shù)據(jù)包到達(dá)時(shí)刻開(kāi)始至其后的70ms之間為該數(shù)據(jù)包的第一發(fā)送剩余時(shí)間。
[0053]步驟420:利用上述第一發(fā)送剩余時(shí)間發(fā)送上述數(shù)據(jù)包。
[0054]具體為:
[0055]本發(fā)明實(shí)施例中,本節(jié)點(diǎn)可以根據(jù)其他節(jié)點(diǎn)發(fā)送的FI生成時(shí)隙狀態(tài)向量(表),該時(shí)隙狀態(tài)向量(表)中記錄各個(gè)時(shí)隙的狀態(tài)信息,根據(jù)該時(shí)隙狀態(tài)向量(表)中記錄的各個(gè)時(shí)隙狀態(tài)信息,在上述第一發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中,判斷是否存在空閑時(shí)隙,若存在空閑時(shí)隙,則隨機(jī)選取一個(gè)空閑時(shí)隙作為第一發(fā)送時(shí)隙;若不存在空閑時(shí)隙,并且該數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量值不為零,則將第一發(fā)送剩余時(shí)間更新為第二發(fā)送剩余時(shí)間,在第二發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中選擇一個(gè)空閑時(shí)隙作為第一發(fā)送時(shí)隙。
[0056]在上述過(guò)程中,將第一發(fā)送剩余時(shí)間更新為第二發(fā)送剩余時(shí)間的方法為:記錄無(wú)空閑時(shí)隙確定時(shí)間,計(jì)算上述第一發(fā)送剩余時(shí)間與無(wú)空閑時(shí)隙確定時(shí)間之間的差值,該差值即為第一剩余時(shí)間差值,即第一剩余時(shí)間差值=第一發(fā)送剩余時(shí)間-無(wú)空閑時(shí)隙確定時(shí)間,其中,無(wú)空閑時(shí)隙確定時(shí)間為確定上述數(shù)據(jù)包對(duì)應(yīng)的第一發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中不存在空閑時(shí)隙的時(shí)隙對(duì)應(yīng)的時(shí)間,上述第一剩余時(shí)間差值為大于等于零的值;計(jì)算該第一剩余時(shí)間差值與上述時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng)的和,即第二發(fā)送剩余時(shí)間=第一剩余時(shí)間差值+時(shí)延裕量時(shí)長(zhǎng),即可獲取第二發(fā)送剩余時(shí)間;此時(shí),將時(shí)延裕量值更新為零。
[0057]當(dāng)在第一發(fā)送時(shí)隙前的各個(gè)時(shí)隙中均確定第一發(fā)送時(shí)隙未發(fā)生碰撞時(shí),在第一發(fā)送時(shí)隙發(fā)送數(shù)據(jù)包。較佳地,可以預(yù)設(shè)一定時(shí)器,當(dāng)數(shù)據(jù)包到達(dá)時(shí),該定時(shí)器即可開(kāi)始計(jì)時(shí),用于指示該數(shù)據(jù)包可用于發(fā)送的剩余時(shí)間,即定時(shí)器計(jì)數(shù)=最大發(fā)送時(shí)延時(shí)長(zhǎng)-時(shí)延裕量時(shí)長(zhǎng)。當(dāng)定時(shí)器計(jì)數(shù)為零,且時(shí)延裕量時(shí)長(zhǎng)同時(shí)為零時(shí),則表明數(shù)據(jù)包在其最大發(fā)送時(shí)延時(shí)長(zhǎng)允許范圍內(nèi)未能成功發(fā)送,即被丟棄。
[0058]本發(fā)明實(shí)施例中,預(yù)設(shè)緩存隊(duì)列存儲(chǔ)未完成數(shù)據(jù)包發(fā)送,且未到達(dá)最大發(fā)送時(shí)延時(shí)長(zhǎng)的數(shù)據(jù)包。該緩存隊(duì)列中的數(shù)據(jù)包可以按照優(yōu)先級(jí)進(jìn)行排序,優(yōu)先級(jí)最高的數(shù)據(jù)包位于緩存隊(duì)列的隊(duì)首;也可以按照數(shù)據(jù)包對(duì)應(yīng)的發(fā)送剩余時(shí)間進(jìn)行排序,發(fā)送剩余時(shí)間最短的數(shù)據(jù)包位于隊(duì)首,該發(fā)送剩余時(shí)間可以為第一發(fā)送剩余時(shí)間,也可以為在第一發(fā)送時(shí)隙未成功發(fā)送數(shù)據(jù)包,而更新第一發(fā)送剩余時(shí)間后獲得的第二發(fā)送剩余時(shí)間;還可以按照其他方式進(jìn)行排序。本發(fā)明實(shí)施例中,當(dāng)?shù)竭_(dá)某個(gè)已經(jīng)選定的發(fā)送時(shí)隙時(shí),在該發(fā)送時(shí)隙上發(fā)送哪一個(gè)數(shù)據(jù)包取決于緩存隊(duì)列中所有數(shù)據(jù)包的排序,即在發(fā)送時(shí)隙前的各個(gè)時(shí)隙中均確定該發(fā)送時(shí)隙未發(fā)生碰撞時(shí),根據(jù)緩存隊(duì)列中數(shù)據(jù)包的排隊(duì)方式,在上述發(fā)送時(shí)隙發(fā)送位于緩存隊(duì)列隊(duì)首的數(shù)據(jù)包。當(dāng)某個(gè)數(shù)據(jù)包對(duì)應(yīng)的定時(shí)器計(jì)數(shù)為零,且時(shí)延裕量時(shí)長(zhǎng)同時(shí)為零時(shí),則將該數(shù)據(jù)包從緩存隊(duì)列中刪除,表明該數(shù)據(jù)包被丟棄。
[0059]由于時(shí)隙狀態(tài)向量(表)根據(jù)其他節(jié)點(diǎn)發(fā)送的FI實(shí)時(shí)進(jìn)行更新,因此,可能存在在選擇第一發(fā)送時(shí)隙的時(shí)刻,第一發(fā)送時(shí)隙為空閑時(shí)隙,而在選定第一發(fā)送時(shí)隙后,本節(jié)點(diǎn)在第一發(fā)送時(shí)隙前的某個(gè)時(shí)隙發(fā)現(xiàn)第一發(fā)送時(shí)隙發(fā)生碰撞的情況,即其他節(jié)點(diǎn)占用第一發(fā)送時(shí)隙的情況。因此,當(dāng)在上述在第一發(fā)送時(shí)隙前的某個(gè)時(shí)隙中確定第一發(fā)送時(shí)隙發(fā)生碰撞時(shí),即上述初次選擇發(fā)送時(shí)隙后發(fā)送數(shù)據(jù)包失敗時(shí),判斷由碰撞事件確定時(shí)間至第一發(fā)送剩余時(shí)間結(jié)束前對(duì)應(yīng)的所有時(shí)隙中是否存在空閑時(shí)隙,若存在空閑時(shí)隙,則隨機(jī)選擇一個(gè)空閑時(shí)隙作為第二發(fā)送時(shí)隙,上述碰撞事件確定時(shí)間為確定第一發(fā)送時(shí)隙發(fā)生碰撞的時(shí)隙對(duì)應(yīng)的時(shí)間。當(dāng)在由碰撞事件確定時(shí)間至第一發(fā)送剩余時(shí)間結(jié)束前對(duì)應(yīng)的所有時(shí)隙中,不存在空閑時(shí)隙,則將第一發(fā)送剩余時(shí)間更新為第三發(fā)送剩余時(shí)間后,在第三發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中,重新選擇一個(gè)空閑時(shí)隙作為第二發(fā)送時(shí)隙。當(dāng)在第二發(fā)送時(shí)隙前的各個(gè)時(shí)隙中均確定第二發(fā)送時(shí)隙未發(fā)生碰撞時(shí),根據(jù)緩存隊(duì)列中數(shù)據(jù)包的排隊(duì)方式,在第二發(fā)送時(shí)隙發(fā)送位于緩存隊(duì)列隊(duì)首的數(shù)據(jù)包,即獲得再次選擇發(fā)送時(shí)隙發(fā)送數(shù)據(jù)包的機(jī)會(huì)。在獲取第三發(fā)送剩余時(shí)間的同時(shí),將時(shí)延裕量值更新為零。
[0060]在上述過(guò)程中,獲取第三發(fā)送剩余時(shí)間的具體過(guò)程為:記錄碰撞事件確定時(shí)間,計(jì)算該第一發(fā)送剩余時(shí)間與碰撞事件確定時(shí)間之間的差值,獲取第二剩余時(shí)間差值,即第二剩余時(shí)間差值=第一發(fā)送剩余時(shí)間-碰撞事件確定時(shí)間;計(jì)算上述第二剩余時(shí)間差值與時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng)的和,獲取第三發(fā)送剩余時(shí)間,即第三發(fā)送剩余時(shí)間=第二剩余時(shí)間差值+時(shí)延裕量時(shí)長(zhǎng),其中,第二剩余時(shí)間差值為大于等于零的值。例如,時(shí)延裕量值對(duì)應(yīng)的時(shí)延預(yù)量時(shí)長(zhǎng)為30ms,第一發(fā)送剩余時(shí)間為70ms,第一發(fā)送時(shí)隙對(duì)應(yīng)的時(shí)間為60ms,在第50ms處確定第一發(fā)送時(shí)隙發(fā)生碰撞,即碰撞事件確定時(shí)間為50ms,則第三發(fā)送剩余時(shí)間為50ms(70ms-50ms+30ms)。此時(shí),將上述定時(shí)器更新,根據(jù)第三發(fā)送剩余時(shí)間,重新開(kāi)始計(jì)時(shí)。
[0061]特殊地,當(dāng)在第一發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定第一發(fā)送時(shí)隙發(fā)生碰撞,且時(shí)延預(yù)量值為零時(shí),或者,在第二發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定第二發(fā)送時(shí)隙仍發(fā)生碰撞時(shí),即再次發(fā)送數(shù)據(jù)包失敗時(shí):搜索緩存隊(duì)列,查詢(xún)?cè)诰彺骊?duì)列中是否存在優(yōu)先級(jí)較低的數(shù)據(jù)包,若存在,則獲取優(yōu)先級(jí)較低的數(shù)據(jù)包的發(fā)送時(shí)隙作為第三發(fā)送時(shí)隙,在第三發(fā)送時(shí)隙發(fā)送上述數(shù)據(jù)包,上述優(yōu)先級(jí)較低的數(shù)據(jù)包即被丟棄,其中,低優(yōu)先級(jí)數(shù)據(jù)包的發(fā)送時(shí)隙對(duì)應(yīng)的時(shí)間在數(shù)據(jù)包對(duì)應(yīng)的最大發(fā)送時(shí)延結(jié)束之前。上述第一發(fā)送時(shí)隙為在第二發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中選擇的第一發(fā)送時(shí)隙。
[0062]當(dāng)?shù)诙l(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定第二發(fā)送時(shí)隙仍發(fā)生碰撞時(shí),并且在緩存隊(duì)列中不存在優(yōu)先級(jí)較低的數(shù)據(jù)包,獲取本節(jié)點(diǎn)的3跳節(jié)點(diǎn)占用的時(shí)隙作為上述數(shù)據(jù)包的第三發(fā)送時(shí)隙,在該第三發(fā)送時(shí)隙發(fā)送上述數(shù)據(jù)包,其中,上述3跳節(jié)點(diǎn)占用的時(shí)隙對(duì)應(yīng)的時(shí)間在數(shù)據(jù)包對(duì)應(yīng)的最大發(fā)送時(shí)延結(jié)束之前;或者,獲取優(yōu)先級(jí)低于該數(shù)據(jù)包的其他節(jié)點(diǎn)占用的時(shí)隙作為第三發(fā)送時(shí)隙,在第三發(fā)送時(shí)隙發(fā)送上述數(shù)據(jù)包;或者,直接丟棄上述數(shù)據(jù)包,請(qǐng)求高層重新發(fā)送該數(shù)據(jù)包。
[0063]若在上述第三發(fā)送時(shí)隙之前的任意一個(gè)時(shí)隙中確定上述第三發(fā)送時(shí)隙仍存在碰撞,或者在數(shù)據(jù)包對(duì)應(yīng)的最大發(fā)送時(shí)延結(jié)束前,不存在優(yōu)先級(jí)低于上述數(shù)據(jù)包的數(shù)據(jù)包時(shí),即定時(shí)器為零,且時(shí)延裕量值對(duì)應(yīng)的時(shí)長(zhǎng)為零時(shí),仍未完成數(shù)據(jù)包的發(fā)送時(shí),則丟棄該數(shù)據(jù)包。
[0064]本發(fā)明實(shí)施例中,將數(shù)據(jù)包對(duì)應(yīng)的最大發(fā)送時(shí)延信息對(duì)應(yīng)的時(shí)長(zhǎng)劃分為兩部分,即發(fā)送剩余時(shí)間和時(shí)延裕量值對(duì)應(yīng)的時(shí)延時(shí)長(zhǎng),根據(jù)數(shù)據(jù)包對(duì)應(yīng)的優(yōu)先級(jí)不同設(shè)置不同的時(shí)延裕量值,能夠優(yōu)先在數(shù)據(jù)包的發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中選擇上述數(shù)據(jù)包對(duì)應(yīng)的第一發(fā)送時(shí)隙,一旦第一發(fā)送時(shí)隙發(fā)生碰撞,仍能夠在確定第一發(fā)送時(shí)隙發(fā)生碰撞的碰撞事件確定時(shí)間至數(shù)據(jù)包對(duì)應(yīng)的最大發(fā)送時(shí)延時(shí)長(zhǎng)結(jié)束之前對(duì)應(yīng)的所有時(shí)隙中重新選擇其他的發(fā)送時(shí)隙發(fā)送上述數(shù)據(jù)包,并且優(yōu)先級(jí)高的數(shù)據(jù)包能夠搶占優(yōu)先級(jí)低的數(shù)據(jù)包對(duì)應(yīng)的發(fā)送時(shí)隙,進(jìn)一步保證了高優(yōu)先級(jí)數(shù)據(jù)包的發(fā)送,提高了系統(tǒng)的可靠性和安全性。[0065]根據(jù)上述技術(shù)方案,下面結(jié)合具體場(chǎng)景,詳細(xì)介紹在車(chē)路協(xié)同通信系統(tǒng)中,發(fā)送數(shù)據(jù)包的過(guò)程:假設(shè)I幀包含100個(gè)時(shí)隙,每個(gè)時(shí)隙對(duì)應(yīng)時(shí)長(zhǎng)為1ms,數(shù)據(jù)包I和數(shù)據(jù)包2對(duì)應(yīng)不同的業(yè)務(wù)優(yōu)先級(jí),其中數(shù)據(jù)包I對(duì)應(yīng)的優(yōu)先級(jí)低于數(shù)據(jù)包2對(duì)應(yīng)的優(yōu)先級(jí),數(shù)據(jù)包I對(duì)應(yīng)最大發(fā)送時(shí)延時(shí)長(zhǎng)為200ms,發(fā)送時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng)為IOms ;數(shù)據(jù)包2對(duì)應(yīng)的最大發(fā)送時(shí)延時(shí)長(zhǎng)為100ms,發(fā)送時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng)為20ms。
[0066]實(shí)施例一
[0067]參閱圖5所示,數(shù)據(jù)包I到達(dá)MAC層的時(shí)刻為第I幀時(shí)隙0,數(shù)據(jù)包2到達(dá)MAC層的時(shí)刻為第2幀的時(shí)隙0,數(shù)據(jù)緩存隊(duì)列中僅包含數(shù)據(jù)包I和數(shù)據(jù)包2。參閱圖6所示,當(dāng)為數(shù)據(jù)包I和數(shù)據(jù)包2初次選定的發(fā)送時(shí)隙未存在異常時(shí),發(fā)送數(shù)據(jù)包的流程為:
[0068]步驟600:根據(jù)數(shù)據(jù)包I攜帶的優(yōu)先級(jí)信息,設(shè)置數(shù)據(jù)包I對(duì)應(yīng)的時(shí)延裕量值,根據(jù)數(shù)據(jù)包I的最大發(fā)送時(shí)延時(shí)長(zhǎng),計(jì)算數(shù)據(jù)包I的發(fā)送剩余時(shí)間,并在該發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中隨機(jī)選擇一個(gè)空閑時(shí)隙作為數(shù)據(jù)包I的發(fā)送時(shí)隙。
[0069]參閱圖5所示,低優(yōu)先級(jí)數(shù)據(jù)包I在第I幀時(shí)隙O到達(dá)后,根據(jù)最大發(fā)送時(shí)延時(shí)長(zhǎng)200ms,時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng)10ms,確定低優(yōu)先級(jí)數(shù)據(jù)包I發(fā)送剩余時(shí)間為190ms (200ms-1Oms ),在該發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中隨機(jī)選擇一個(gè)空閑時(shí)隙作為數(shù)據(jù)包I的發(fā)送時(shí)隙,假設(shè)數(shù)據(jù)包I的發(fā)送時(shí)隙為第2幀的時(shí)隙89。數(shù)據(jù)包I對(duì)應(yīng)的定時(shí)器I由190ms開(kāi)始計(jì)時(shí)。
[0070]步驟610:根據(jù)數(shù)據(jù)包2攜帶的優(yōu)先級(jí)信息,設(shè)置數(shù)據(jù)包2對(duì)應(yīng)的時(shí)延裕量值,根據(jù)數(shù)據(jù)包2的最大發(fā)送時(shí)延時(shí)長(zhǎng),計(jì)算數(shù)據(jù)包2的發(fā)送剩余時(shí)間,并在該發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中隨機(jī)選擇一個(gè)空閑時(shí)隙作為數(shù)據(jù)包2的第一發(fā)送時(shí)隙。
[0071]高優(yōu)先級(jí)數(shù)據(jù)包2在第2幀時(shí)隙O到達(dá)后,根據(jù)最大發(fā)送時(shí)延時(shí)長(zhǎng)100ms,時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng)20ms,確定高優(yōu)先級(jí)數(shù)據(jù)包2發(fā)送剩余時(shí)間為80ms(100ms-20ms),在該發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中隨機(jī)選擇一個(gè)空閑時(shí)隙作為第一發(fā)送時(shí)隙,假設(shè)該第一發(fā)送時(shí)隙為第2幀的時(shí)隙79。數(shù)據(jù)包2對(duì)應(yīng)的定時(shí)器由80ms開(kāi)始計(jì)時(shí)。
[0072]步驟620:確定在數(shù)據(jù)包2的第一發(fā)送時(shí)隙及數(shù)據(jù)包I的發(fā)送時(shí)隙均不存在碰撞時(shí),在上述第一發(fā)送時(shí)隙發(fā)送數(shù)據(jù)包2,在上述數(shù)據(jù)包I的發(fā)送時(shí)隙發(fā)送數(shù)據(jù)包I。
[0073]本發(fā)明實(shí)施例中,節(jié)點(diǎn)在非本節(jié)點(diǎn)的發(fā)送時(shí)隙接收其他節(jié)點(diǎn)發(fā)送的FI,根據(jù)該FI更新自身的時(shí)隙狀態(tài)向量(表),根據(jù)該時(shí)隙狀態(tài)向量(表)中的信息,確定到達(dá)上述第一發(fā)送時(shí)隙及數(shù)據(jù)包I的發(fā)送時(shí)隙均未出現(xiàn)異常時(shí),在上述第一發(fā)送時(shí)隙(第2幀時(shí)隙79)發(fā)送數(shù)據(jù)包2,在上述數(shù)據(jù)包I的發(fā)送時(shí)隙(第2幀時(shí)隙89)發(fā)送數(shù)據(jù)包I。
[0074]實(shí)施例二
[0075]參閱圖7所示,當(dāng)上述數(shù)據(jù)包2的第一發(fā)送時(shí)隙發(fā)生異常,再次選擇數(shù)據(jù)包2的第二發(fā)送時(shí)隙后,成功完成數(shù)據(jù)包I和數(shù)據(jù)包2的發(fā)送,數(shù)據(jù)緩存隊(duì)列中僅包含數(shù)據(jù)包I和數(shù)據(jù)包2。參閱圖8所示,發(fā)送數(shù)據(jù)包的過(guò)程為:
[0076]步驟800:根據(jù)確定數(shù)據(jù)包2的第一發(fā)送時(shí)隙發(fā)生碰撞的碰撞事件確定時(shí)間,以及數(shù)據(jù)包2對(duì)應(yīng)的時(shí)延裕量值,更新數(shù)據(jù)包2對(duì)應(yīng)的發(fā)送剩余時(shí)間。
[0077]本發(fā)明實(shí)施例中,數(shù)據(jù)包2對(duì)應(yīng)的碰撞事件確定時(shí)間對(duì)應(yīng)的時(shí)隙為第2幀時(shí)隙78,數(shù)據(jù)包2的時(shí)延裕量對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng)為20ms,則數(shù)據(jù)包2對(duì)應(yīng)的更新后的發(fā)送剩余時(shí)間為21ms (79ms-78ms+20ms)o根據(jù)更新后的發(fā)送剩余時(shí)間,更新定時(shí)器2,即定時(shí)器2由21ms開(kāi)始計(jì)時(shí)。
[0078]步驟810:在更新后的發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中,隨機(jī)選擇一個(gè)空閑時(shí)隙作為數(shù)據(jù)包2的第二發(fā)送時(shí)隙。
[0079]此處選擇第2幀時(shí)隙95作為數(shù)據(jù)包2的第二發(fā)送時(shí)隙。
[0080]步驟820:確定數(shù)據(jù)包2的第二發(fā)送時(shí)隙及數(shù)據(jù)包I的發(fā)送時(shí)隙不存在碰撞時(shí),在上述第二發(fā)送時(shí)隙發(fā)送數(shù)據(jù)包2,在上述數(shù)據(jù)包I的發(fā)送時(shí)隙發(fā)送數(shù)據(jù)包I。
[0081]本發(fā)明實(shí)施例中,節(jié)點(diǎn)根據(jù)時(shí)隙狀態(tài)向量(表)確定上述第二發(fā)送時(shí)隙及數(shù)據(jù)包I的發(fā)送時(shí)隙均未出現(xiàn)異常時(shí),在上述第二發(fā)送時(shí)隙(第2幀時(shí)隙95)發(fā)送數(shù)據(jù)包2,在上述數(shù)據(jù)包I的發(fā)送時(shí)隙(第2幀時(shí)隙89)發(fā)送數(shù)據(jù)包I。
[0082]實(shí)施例三
[0083]當(dāng)上述數(shù)據(jù)包2的第二發(fā)送時(shí)隙存在異常,在確定第二發(fā)送時(shí)隙發(fā)生碰撞的碰撞事件確定時(shí)間至數(shù)據(jù)包2對(duì)應(yīng)的最大發(fā)送時(shí)延時(shí)長(zhǎng)之間對(duì)應(yīng)的所有時(shí)隙中,沒(méi)有空閑時(shí)隙可以作為發(fā)送時(shí)隙時(shí),搶占數(shù)據(jù)包I的發(fā)送時(shí)隙(第2幀時(shí)隙89)作為第三發(fā)送時(shí)隙,成功完成數(shù)據(jù)包2的發(fā)送,數(shù)據(jù)緩存隊(duì)列中僅包含數(shù)據(jù)包I和數(shù)據(jù)包2。參閱圖9所示,發(fā)送數(shù)據(jù)包的過(guò)程為:
[0084]步驟900:確定在數(shù)據(jù)包I的發(fā)送時(shí)隙不存在碰撞時(shí),丟棄數(shù)據(jù)包I。
[0085]根據(jù)節(jié)點(diǎn)存儲(chǔ)的時(shí)隙狀態(tài)向量(表),本節(jié)點(diǎn)在第2幀時(shí)隙85發(fā)現(xiàn)時(shí)隙95發(fā)生碰撞時(shí),由于數(shù)據(jù)包2在第2幀時(shí)隙85對(duì)應(yīng)的時(shí)間至數(shù)據(jù)包對(duì)應(yīng)的最大發(fā)送時(shí)延時(shí)長(zhǎng)之間對(duì)應(yīng)的所有時(shí)隙中,沒(méi)有空閑時(shí)隙可以作為發(fā)送時(shí)隙時(shí),且判定數(shù)據(jù)包I的發(fā)送時(shí)隙不存在碰撞時(shí),則丟棄數(shù)據(jù)包I。
[0086]步驟910:將上述數(shù)據(jù)包I的發(fā)送時(shí)隙作為數(shù)據(jù)包2的第三發(fā)送時(shí)隙,在第三發(fā)送時(shí)隙發(fā)送數(shù)據(jù)包2。
[0087]在第三發(fā)送時(shí)隙(第2幀時(shí)隙89)發(fā)送數(shù)據(jù)包2。
[0088]實(shí)施例四
[0089]參閱圖10所示,當(dāng)上述數(shù)據(jù)包2的第二發(fā)送時(shí)隙存在異常時(shí),丟棄數(shù)據(jù)包2的過(guò)程為:
[0090]步驟1000:確定數(shù)據(jù)包2的第二發(fā)送時(shí)隙為碰撞狀態(tài)時(shí),在確定第二發(fā)送時(shí)隙發(fā)生碰撞的碰撞事件確定時(shí)間至數(shù)據(jù)包2對(duì)應(yīng)的最大發(fā)送時(shí)延時(shí)長(zhǎng)之間對(duì)應(yīng)的所有時(shí)隙中,確定沒(méi)有空閑時(shí)隙可以作為發(fā)送時(shí)隙,并且也不存在優(yōu)先級(jí)低于數(shù)據(jù)包2的數(shù)據(jù)包等待發(fā)送。
[0091 ] 本發(fā)明實(shí)施例中,在第2巾貞時(shí)隙90發(fā)現(xiàn)第2巾貞時(shí)隙95發(fā)生碰撞時(shí),在第2巾貞時(shí)隙90對(duì)應(yīng)的時(shí)間至數(shù)據(jù)包2對(duì)應(yīng)的最大發(fā)送時(shí)延時(shí)長(zhǎng)之間對(duì)應(yīng)的所有時(shí)隙中,確定沒(méi)有空閑時(shí)隙可以作為發(fā)送時(shí)隙。并且低于數(shù)據(jù)包2的低優(yōu)先級(jí)數(shù)據(jù)包I在第2幀時(shí)隙89完成了發(fā)送過(guò)程,因此,在數(shù)據(jù)包2的最大發(fā)送時(shí)延允許范圍內(nèi),也不存在優(yōu)先級(jí)低于數(shù)據(jù)包2的數(shù)據(jù)包等待發(fā)送。
[0092]步驟1010:丟棄數(shù)據(jù)包2。
[0093]本發(fā)明實(shí)施例中,確認(rèn)數(shù)據(jù)包中攜帶的數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,根據(jù)該數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置該數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量值,針對(duì)數(shù)據(jù)包的優(yōu)先級(jí)不同,設(shè)置與數(shù)據(jù)包優(yōu)先級(jí)對(duì)應(yīng)的時(shí)延裕量值;根據(jù)上述數(shù)據(jù)包攜帶的最大發(fā)送時(shí)延信息與上述時(shí)延裕量值,計(jì)算數(shù)據(jù)包發(fā)送剩余時(shí)間,使不同優(yōu)先級(jí)的數(shù)據(jù)包對(duì)應(yīng)不同的發(fā)送剩余時(shí)間,優(yōu)先級(jí)高的數(shù)據(jù)包對(duì)應(yīng)更長(zhǎng)的發(fā)送剩余時(shí)間;利用上述發(fā)送剩余時(shí)間發(fā)送上述數(shù)據(jù)包,當(dāng)在發(fā)送剩余時(shí)間結(jié)束前,未能完成數(shù)據(jù)包的發(fā)送,還可以根據(jù)時(shí)延裕量值更新發(fā)送剩余時(shí)間,利用更新后的發(fā)送剩余時(shí)間重新發(fā)送上述數(shù)據(jù)包。采用本發(fā)明技術(shù)方案,能夠針對(duì)數(shù)據(jù)包對(duì)應(yīng)的優(yōu)先級(jí)設(shè)置其時(shí)延裕量值,從而在發(fā)送剩余時(shí)間中隨機(jī)選擇發(fā)送時(shí)隙發(fā)送上述數(shù)據(jù)包,能夠避免在最大發(fā)送時(shí)延的最后時(shí)刻發(fā)送上述數(shù)據(jù)包,當(dāng)為數(shù)據(jù)包隨機(jī)選擇的發(fā)送時(shí)隙出現(xiàn)異常時(shí),造成數(shù)據(jù)包發(fā)送失敗的問(wèn)題,保證高優(yōu)先級(jí)數(shù)據(jù)包的發(fā)送,提高了系統(tǒng)的安全性和穩(wěn)定性。
[0094]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0095]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0096]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0097]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0098]盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
[0099]顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明實(shí)施例進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明實(shí)施例的精神和范圍。這樣,倘若本發(fā)明實(shí)施例的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)包發(fā)送方法,其特征在于,包括: 確認(rèn)數(shù)據(jù)包中攜帶的數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,根據(jù)所述數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置所述數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量值; 根據(jù)所述數(shù)據(jù)包攜帶的最大發(fā)送時(shí)延信息與所述時(shí)延裕量值,計(jì)算數(shù)據(jù)包第一發(fā)送剩余時(shí)間; 利用第一發(fā)送剩余時(shí)間發(fā)送所述數(shù)據(jù)包。
2.如權(quán)利要求1所述的方法,其特征在于,確認(rèn)數(shù)據(jù)包中攜帶的數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,根據(jù)所述數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置所述數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量值,包括: 根據(jù)所述數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置所述數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)長(zhǎng),高優(yōu)先級(jí)數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)長(zhǎng)大于低優(yōu)先級(jí)數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)長(zhǎng);或者, 根據(jù)所述數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置所述數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)隙數(shù)目,高優(yōu)先級(jí)數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)隙數(shù)目大于低優(yōu)先級(jí)數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)隙數(shù)目。
3.如權(quán)利要求2所述的方法,其特征在于,根據(jù)所述數(shù)據(jù)包攜帶的最大發(fā)送時(shí)延信息與所述時(shí)延裕量值,計(jì)算數(shù)據(jù)包第一發(fā)送剩余時(shí)間,包括: 根據(jù)所述數(shù)據(jù)包攜帶的最大發(fā)送時(shí)延信息,獲取最大發(fā)送時(shí)延時(shí)長(zhǎng); 根據(jù)所述時(shí)延裕量值,獲取時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng); 計(jì)算所述最大發(fā)送時(shí)延時(shí)長(zhǎng)與所述時(shí)延裕量時(shí)長(zhǎng)的差值,獲取數(shù)據(jù)包第一發(fā)送剩余時(shí)間。
4.如權(quán)利要求1所述的方法,其特征在于,在利用第一發(fā)送剩余時(shí)間發(fā)送所述數(shù)據(jù)包之前,進(jìn)一步包括: 判斷所述第一發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中是否存在空閑時(shí)隙; 若存在空閑時(shí)隙,則隨機(jī)選擇一個(gè)空閑時(shí)隙作為第一發(fā)送時(shí)隙;若不存在空閑時(shí)隙,且所述時(shí)延裕量值不為零時(shí),將第一發(fā)送剩余時(shí)間更新為第二發(fā)送剩余時(shí)間,在第二發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中,隨機(jī)選擇一個(gè)空閑時(shí)隙作為第一發(fā)送時(shí)隙。
5.如權(quán)利要求4所述的方法,其特征在于,所述將第一發(fā)送剩余時(shí)間更新為第二發(fā)送剩余時(shí)間,包括: 記錄無(wú)空閑時(shí)隙確定時(shí)間,計(jì)算所述第一發(fā)送剩余時(shí)間與所述無(wú)空閑時(shí)隙確定時(shí)間之間的差值,獲取第一剩余時(shí)間差值,所述無(wú)空閑時(shí)隙確定時(shí)間為確定所述第一發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中不存在空閑時(shí)隙的時(shí)隙對(duì)應(yīng)的時(shí)間,所述第一剩余時(shí)間差值為大于等于零的值; 計(jì)算所述第一剩余時(shí)間差值與所述時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng)的和,獲取第二發(fā)送剩余時(shí)間; 將所述時(shí)延裕量值更新為零。
6.如權(quán)利要求5所述的方法,其特征在于,利用所述第一發(fā)送剩余時(shí)間發(fā)送所述數(shù)據(jù)包,包括: 當(dāng)在所述第一發(fā)送時(shí)隙前的各個(gè)時(shí)隙中均確定所述第一發(fā)送時(shí)隙未發(fā)生碰撞時(shí),根據(jù)緩存隊(duì)列中數(shù)據(jù)包的排隊(duì)方式,在所述第一發(fā)送時(shí)隙發(fā)送位于所述緩存隊(duì)列隊(duì)首的數(shù)據(jù)包; 其中,所述緩存隊(duì)列用于存儲(chǔ)未到達(dá)最大發(fā)送時(shí)延且未成功發(fā)送的數(shù)據(jù)包;所述緩存隊(duì)列按照數(shù)據(jù)包對(duì)應(yīng)的發(fā)送剩余時(shí)間排序,發(fā)送剩余時(shí)間最短的數(shù)據(jù)包位于所述緩存隊(duì)列隊(duì)首;或者,所述緩存隊(duì)列按照數(shù)據(jù)包對(duì)應(yīng)的優(yōu)先級(jí)排序,優(yōu)先級(jí)最高的數(shù)據(jù)包位于所述緩存隊(duì)列隊(duì)首。
7.如權(quán)利要求4所述的方法,其特征在于,利用所述第一發(fā)送剩余時(shí)間發(fā)送所述數(shù)據(jù)包之前,進(jìn)一步包括: 當(dāng)在第一發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定所述第一發(fā)送時(shí)隙發(fā)生碰撞時(shí),判斷在由碰撞事件確定時(shí)間至所述第一發(fā)送剩余時(shí)間結(jié)束前對(duì)應(yīng)的所有時(shí)隙中是否存在空閑時(shí)隙,所述所述碰撞事件確定時(shí)間為確定第一發(fā)送時(shí)隙發(fā)生碰撞的時(shí)隙對(duì)應(yīng)的時(shí)間; 若存在空閑時(shí)隙,則隨機(jī)選擇一個(gè)空閑時(shí)隙作為第二發(fā)送時(shí)隙;若不存在空閑時(shí)隙,且所述時(shí)延裕量值不為零時(shí),則將第一發(fā)送剩余時(shí)間更新為第三發(fā)送剩余時(shí)間,并在所述第三發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中,隨機(jī)選擇一個(gè)空閑時(shí)隙作為第二發(fā)送時(shí)隙。
8.如權(quán)利要求7所述的方法,其特征在于,所述將第一發(fā)送剩余時(shí)間更新為第三發(fā)送剩余時(shí)間,包括: 記錄碰撞事件確定時(shí)間,計(jì)算所述第一發(fā)送剩余時(shí)間與所述碰撞事件確定時(shí)間之間的差值,獲取第二剩余時(shí)間差值,所述第二剩余時(shí)間差值為大于等于零的值; 計(jì)算所述第二剩余時(shí)間差值與所述時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng)的和,獲取第三發(fā)送剩余時(shí)間; 將所述時(shí)延裕量值更新為零。
9.如權(quán)利要求8所述的方法,其特征在于,利用所述第一發(fā)送剩余時(shí)間發(fā)送所述數(shù)據(jù)包,進(jìn)一步包括: 當(dāng)在第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定所述第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙發(fā)生碰撞時(shí),并且當(dāng)在緩存隊(duì)列中存在發(fā)送剩余時(shí)間短的低優(yōu)先數(shù)據(jù)包時(shí),獲取優(yōu)先級(jí)低于所述數(shù)據(jù)包的低優(yōu)先級(jí)數(shù)據(jù)包的發(fā)送時(shí)隙作為所述數(shù)據(jù)包的第三發(fā)送時(shí)隙,在所述第三發(fā)送時(shí)隙發(fā)送所述數(shù)據(jù)包;或者, 當(dāng)在第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定所述第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙發(fā)生碰撞時(shí),并且當(dāng)在緩存隊(duì)列中不存在發(fā)送剩余時(shí)間短的低優(yōu)先數(shù)據(jù)包時(shí),獲取本節(jié)點(diǎn)的3跳節(jié)點(diǎn)占用的時(shí)隙作為所述數(shù)據(jù)包的第三發(fā)送時(shí)隙,在所述第三發(fā)送時(shí)隙發(fā)送所述數(shù)據(jù)包;或者, 當(dāng)在第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定所述第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙發(fā)生碰撞時(shí),并且當(dāng)在緩存隊(duì)列中不存在發(fā)送剩余時(shí)間短的低優(yōu)先數(shù)據(jù)包時(shí),獲取優(yōu)先級(jí)低于所述數(shù)據(jù)包的其他節(jié)點(diǎn)占用的時(shí)隙作為第三發(fā)送時(shí)隙,在所述第三發(fā)送時(shí)隙發(fā)送所述數(shù)據(jù)包;或者, 當(dāng)在第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定所述第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙發(fā)生碰撞時(shí),如果緩存隊(duì)列中不存在發(fā)送剩余時(shí)間短的低優(yōu)先數(shù)據(jù)包,丟棄所述數(shù)據(jù)包。
10.一種數(shù)據(jù)包發(fā)送裝置,其特征在于,包括: 設(shè)置單元,用于確認(rèn)數(shù)據(jù)包中攜帶的數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,根據(jù)所述數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置所述數(shù)據(jù)包對(duì)應(yīng)的時(shí)延裕量值; 計(jì)算單元,用于根據(jù)所述數(shù)據(jù)包攜帶的最大發(fā)送時(shí)延信息與所述時(shí)延裕量值,計(jì)算數(shù)據(jù)包第一發(fā)送剩余時(shí)間; 發(fā)送單元,用于利用所述第一發(fā)送剩余時(shí)間發(fā)送所述數(shù)據(jù)包。
11.如權(quán)利要求10所述的裝置,其特征在于,所述設(shè)置單元,具體用于: 根據(jù)所述數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置所述數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)長(zhǎng),高優(yōu)先級(jí)數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)長(zhǎng)大于低優(yōu)先級(jí)數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)長(zhǎng);或者, 根據(jù)所述數(shù)據(jù)包發(fā)送優(yōu)先級(jí)信息,設(shè)置所述數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)隙數(shù)目,高優(yōu)先級(jí)數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)隙數(shù)目大于低優(yōu)先級(jí)數(shù)據(jù)包的時(shí)延裕量對(duì)應(yīng)的時(shí)延時(shí)隙數(shù)目。
12.如權(quán)利要求11所述的裝置,其特征在于,所述計(jì)算單元,具體用于: 根據(jù)所述數(shù)據(jù)包攜帶的最大發(fā)送時(shí)延信息,獲取最大發(fā)送時(shí)延時(shí)長(zhǎng); 根據(jù)所述時(shí)延裕量值,獲取時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng); 計(jì)算所述最大發(fā)送時(shí) 延時(shí)長(zhǎng)與所述時(shí)延裕量時(shí)長(zhǎng)的差值,獲取數(shù)據(jù)包第一發(fā)送剩余時(shí)間。
13.如權(quán)利要求10所述的裝置,其特征在于,還包括第一處理單元,具體用于: 判斷所述第一發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中是否存在空閑時(shí)隙; 若存在空閑時(shí)隙,則隨機(jī)選擇一個(gè)空閑時(shí)隙作為第一發(fā)送時(shí)隙;若不存在空閑時(shí)隙,且所述時(shí)延裕量值不為零時(shí),將第一發(fā)送剩余時(shí)間更新為第二發(fā)送剩余時(shí)間,在第二發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中,隨機(jī)選擇一個(gè)空閑時(shí)隙作為第一發(fā)送時(shí)隙。
14.如權(quán)利要求13所述的裝置,其特征在于,所述第一處理單元,具體用于: 判斷所述第一發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中是否存在空閑時(shí)隙; 若存在空閑時(shí)隙,則隨機(jī)選擇一個(gè)空閑時(shí)隙作為第一發(fā)送時(shí)隙; 若不存在空閑時(shí)隙,且所述時(shí)延裕量值不為零時(shí),記錄無(wú)空閑時(shí)隙確定時(shí)間,計(jì)算所述第一發(fā)送剩余時(shí)間與所述無(wú)空閑時(shí)隙確定時(shí)間之間的差值,獲取第一剩余時(shí)間差值,所述無(wú)空閑時(shí)隙確定時(shí)間為確定所述第一發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中不存在空閑時(shí)隙的時(shí)隙對(duì)應(yīng)的時(shí)間,所述第一剩余時(shí)間差值為大于等于零的值;計(jì)算所述第一剩余時(shí)間差值與所述時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng)的和,獲取第二發(fā)送剩余時(shí)間,將所述時(shí)延裕量值更新為零;在所述第二發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中,隨機(jī)選擇一個(gè)空閑時(shí)隙作為第一發(fā)送時(shí)隙。
15.如權(quán)利要求14所述的裝置,其特征在于,所述發(fā)送單元,具體用于: 當(dāng)在所述第一發(fā)送時(shí)隙前的各個(gè)時(shí)隙中均確定所述第一發(fā)送時(shí)隙未發(fā)生碰撞時(shí),根據(jù)緩存隊(duì)列中數(shù)據(jù)包的排隊(duì)方式,在所述第一發(fā)送時(shí)隙發(fā)送位于所述緩存隊(duì)列隊(duì)首的數(shù)據(jù)包; 其中,所述緩存隊(duì)列用于存儲(chǔ)未到達(dá)最大發(fā)送時(shí)延且未成功發(fā)送的數(shù)據(jù)包;所述緩存隊(duì)列按照數(shù)據(jù)包對(duì)應(yīng)的發(fā)送剩余時(shí)間排序,發(fā)送剩余時(shí)間最短的數(shù)據(jù)包位于所述緩存隊(duì)列隊(duì)首;或者,所述緩存隊(duì)列按照數(shù)據(jù)包對(duì)應(yīng)的優(yōu)先級(jí)排序,優(yōu)先級(jí)最高的數(shù)據(jù)包位于所述緩存隊(duì)列隊(duì)首。
16.如權(quán)利要求13所述的裝置,其特征在于,還包括第二處理單元,具體用于: 當(dāng)在第一發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定所述第一發(fā)送時(shí)隙發(fā)生碰撞時(shí),判斷在由時(shí)隙碰撞事件確定時(shí)間至所述第一發(fā)送剩余時(shí)間結(jié)束前對(duì)應(yīng)的所有時(shí)隙中是否存在空閑時(shí)隙,所述碰撞事件確定時(shí)間為確定第一發(fā)送時(shí)隙發(fā)生碰撞的時(shí)隙對(duì)應(yīng)的時(shí)間; 若存在空閑時(shí)隙,則隨機(jī)選擇一個(gè)空閑時(shí)隙作為第二發(fā)送時(shí)隙;若不存在空閑時(shí)隙,且所述時(shí)延裕量值不為零時(shí),則將第一發(fā)送剩余時(shí)間更新為第三發(fā)送剩余時(shí)間,并在所述第三發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中,隨機(jī)選擇一個(gè)空閑時(shí)隙作為第二發(fā)送時(shí)隙。
17.如權(quán)利要求16所述的裝置,其特征在于,所述第二處理單元,具體用于: 當(dāng)在第一發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定所述第一發(fā)送時(shí)隙發(fā)生碰撞時(shí),判斷在由時(shí)隙碰撞事件確定時(shí)間至所述第一發(fā)送剩余時(shí)間結(jié)束前對(duì)應(yīng)的所有時(shí)隙中是否存在空閑時(shí)隙; 若存在空閑時(shí)隙,則隨機(jī)選擇一個(gè)空閑時(shí)隙作為第二發(fā)送時(shí)隙; 若不存在空閑時(shí)隙,且所述時(shí)延裕量值不為零時(shí),記錄碰撞事件確定時(shí)間,計(jì)算所述第一發(fā)送剩余時(shí)間與所述碰撞事件確定時(shí)間之間的差值,獲取第二剩余時(shí)間差值,所述第二剩余時(shí)間差值為大于等于零的值;計(jì)算所述第二剩余時(shí)間差值與所述時(shí)延裕量值對(duì)應(yīng)的時(shí)延裕量時(shí)長(zhǎng)的和,獲取第三發(fā)送剩余時(shí)間,將所述時(shí)延裕量值更新為零;在所述第三發(fā)送剩余時(shí)間對(duì)應(yīng)的所有時(shí)隙中,隨機(jī)選擇一個(gè)空閑時(shí)隙作為第二發(fā)送時(shí)隙。
18.如權(quán)利要求17所述的 裝置,其特征在于,所述發(fā)送單元,進(jìn)一步用于: 當(dāng)在第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定所述第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙發(fā)生碰撞時(shí),并且當(dāng)在緩存隊(duì)列中存在發(fā)送剩余時(shí)間短的低優(yōu)先數(shù)據(jù)包時(shí),獲取優(yōu)先級(jí)低于所述數(shù)據(jù)包的低優(yōu)先級(jí)數(shù)據(jù)包的發(fā)送時(shí)隙作為所述數(shù)據(jù)包的第三發(fā)送時(shí)隙,在所述第三發(fā)送時(shí)隙發(fā)送所述數(shù)據(jù)包;或者, 當(dāng)在第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定所述第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙發(fā)生碰撞時(shí),并且當(dāng)在緩存隊(duì)列中不存在發(fā)送剩余時(shí)間短的低優(yōu)先數(shù)據(jù)包時(shí),獲取本節(jié)點(diǎn)的3跳節(jié)點(diǎn)占用的時(shí)隙作為所述數(shù)據(jù)包的第三發(fā)送時(shí)隙,在所述第三發(fā)送時(shí)隙發(fā)送所述數(shù)據(jù)包;或者, 當(dāng)在第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定所述第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙發(fā)生碰撞時(shí),并且當(dāng)在緩存隊(duì)列中不存在發(fā)送剩余時(shí)間短的低優(yōu)先數(shù)據(jù)包時(shí),獲取優(yōu)先級(jí)低于所述數(shù)據(jù)包的其他節(jié)點(diǎn)占用的時(shí)隙作為第三發(fā)送時(shí)隙,在所述第三發(fā)送時(shí)隙發(fā)送所述數(shù)據(jù)包;或者, 當(dāng)在第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙前的一個(gè)時(shí)隙中確定所述第一發(fā)送時(shí)隙或第二發(fā)送時(shí)隙發(fā)生碰撞時(shí),如果緩存隊(duì)列中不存在發(fā)送剩余時(shí)間短的低優(yōu)先數(shù)據(jù)包,丟棄所述數(shù)據(jù)包。
【文檔編號(hào)】H04L12/927GK103812791SQ201210458373
【公開(kāi)日】2014年5月21日 申請(qǐng)日期:2012年11月14日 優(yōu)先權(quán)日:2012年11月14日
【發(fā)明者】趙麗, 趙毅, 房家奕, 馮媛, 李鳳 申請(qǐng)人:電信科學(xué)技術(shù)研究院