一種時隙資源的選擇方法及裝置制造方法
【專利摘要】本發明公開了一種時隙資源的選擇方法及裝置,用以在車載通信系統中,降低業務數據包發送延遲。該方法為:節點對時隙狀態的更新采用“周期性時間觸發+事件觸發”的更新操作機制,這樣,在新的業務包數據到達且需要申請新的時隙資源和時隙資源發生碰撞且需要申請資源時,節點可以得到實時的時隙狀態信息,以可以靈活地進行時隙資源的選擇,從而降低了業務數據包的緩存等待時延,即降低了業務數據包的發送等待時延,進而降低了節點超時丟包的概率,有效保證了系統服務性能及安全性。
【專利說明】一種時隙資源的選擇方法及裝置
【技術領域】
[0001]本發明涉及通信領域,特別涉及一種時隙資源的選擇方法及裝置。
【背景技術】
[0002]隨著車載通信系統的發展和移動自組網技術的逐漸成熟,為了實現對車輛的實時、動態、智能化管理,國際上專門開發了針對車聯網的專用短程通信(Dedicated ShortRange Communicat1ns,DSRC)協議。DSRC通過信息的雙向傳輸,將車輛與車輛、車輛和路側的信息采集設備有機的連接起來,支持點對點、點對多點通信。
[0003]移動分時隙ALOHA (Mobile Slotted Aloha,MS-AL0HA)機制是一種基于分時方式的DSRC媒體接入控制(Medium Access Control,MAC)層接入和資源分配機制,資源分配基于中貞結構以時隙(slot)為單位。參閱圖1所示,每N個slot構成一個巾貞(記為Frame),每個幀中的slot的編號為O?N-1,在幀之間循環往復。每個slot中只允許一個車輛進行發送,即車輛之間為TDMA (Time Divis1n Multiple Access,時分復用接入)模式。車輛在所占用的時隙上中不僅發送應用層的數據,而且還需要發送幀信息(Frame Informat1n,FI),在FI中會指示一個幀中各個slot的占用狀態。
[0004]MS-ALOHA機制的基本思想是:任意一節點(如,車輛)加入網絡時,需要通過監聽時隙狀態信息占用一個時隙,如果節點不主動放棄該所占用的時隙資源,則可一直使用占用的時隙傳輸數據,在這期間其他節點不能使用該時隙。在占用的時隙上,節點需要周期性發送FI,FI中攜帶節點獲得的與該節點相距兩跳范圍內的其他節點占用時隙的情況以及自身的時隙狀態信息,指示節點感知到的每個時隙的占用狀況信息(也稱時隙狀態信息、時隙信息),對每個時隙給出該時隙的:時隙占用狀態信息,占用時隙的節點對應的節點臨時標識(Source Temporary Identifier, STI)或可稱為節點標識,占用時隙的節點的優先級狀態(也可認為是占用時隙節點在該時隙發送的數據對應的優先級狀態);其中,時隙占用狀態信息可以表達時隙的四種占用狀態:(00)表示時隙為空閑狀態,(10)表示時隙已被與本節點相距一跳的其他節點占用(簡稱為一跳鄰節點占用)或本節點占用,(11)表示時隙已被與本節點相距兩跳的其他節點占用(簡稱為兩跳鄰節點占用),(01)表示時隙已被其他兩個以上的節點占用,即為碰撞狀態;在非自身占用的時隙,每個節點通過監聽相鄰一跳的節點發送的FI,能夠判斷相鄰三跳范圍內每個節點占用時隙的情況,當發現本節點占用的時隙資源與其他節點使用的資源發生碰撞時,重新預約新的空閑時隙。為方便后續描述,本發明中對FI及其內部信息內容統一米用如下描述方式:
[0005]節點發送幀信息稱為:FI消息,也可簡稱為FI ;
[0006]FI中指示的每個時隙對應的占用狀況信息稱為:FI消息中每個時隙對應的時隙信息域;
[0007]FI中每個時隙對應的占用狀況信息中給出的三類信息(即:時隙占用狀態、ST1、優先級信息)分別稱為:每個時隙的時隙信息域中包含的時隙占用狀態子域、STI子域、優先級子域(參閱圖2所示);
[0008]需要說明的是,上述描述方式只是為了后續描述方便而規定,當然也可以采用其他的描述方式。
[0009]在MS-ALOHA機制下,在對占用時隙的維護過程中,節點需要維護(N_l) *N時隙狀態緩存表,用來存儲對應時隙上接收到的相鄰節點發送的FI消息中攜帶的各時隙的時隙信息域。例如,參閱圖3所示,圖3中展示的時隙狀態緩存表的維數為N*N維,由于節點本身在所占時隙發送的FI消息不需要存儲,因此節點實際維護的時隙狀態緩存表為N-1行(假設每個節點只占用一個時隙),本發明后續內容中描述的(N-1 )*N時隙狀態緩存表均是指不保存節點本身占用時隙發送FI的時隙信息;其中,時隙對應的檢測域是指占用該時隙發送的FI消息中該時隙對應的時隙信息域稱為該時隙的“檢測域”,“非檢測域”是指非占用該時隙發送的FI中該時隙對應的時隙信息域稱為該時隙的非“檢測域”,其中default值為缺省值。
[0010]節點在一個時隙上接收到FI消息時,總是用新接收到的FI消息中攜帶的時隙信息內容覆蓋時隙狀態緩存表中對應時隙所在行的信息內容(即覆蓋一個幀周期前記錄的內容)。具體過程如下:
[0011]節點在自身占用的時隙(也稱發送時隙)生成并發送FI消息,需要按照一定規則填寫各個field (域),包括時隙占用狀態子域、STI子域以及優先級子域。發送完畢后,節點會清空所發送的FI信息。
[0012]下面再從流程的角度,對節點的行為做一個描述,節點的行為可以劃分為信道占用和信道維護兩個過程。
[0013]第一種行為:信道占用過程。
[0014]信道占用過程以FI連續發送為前提。下面描述的場景中,假設節點申請第一個時隙資源(BC),當申請額外的時隙資源(如SC)時,可以忽略步驟I (監聽)過程。
[0015]節點行為分為5個步驟:監聽、選擇空閑時隙、等待并確認該時隙空閑、發送、監聽反饋。大體流程如圖1所示。
[0016]各個步驟詳細定義如下:
[0017]步驟1:監聽一幀。
[0018]節點監聽一幀中的所有時隙,并將信息填入如圖3所示的N*N時隙狀態緩存表中。具體而言:
[0019]如果節點在時隙η (0〈=η〈=Ν_1)上收到了 FI,則將該FI中的N個field填入Ν*Ν時隙狀態緩存表中時隙η對應的行中(每個field有4種取值,圖中表示為XX);如果在時隙η上節點沒有收到任何內容時,則將N列“default狀態”填入N*N時隙狀態緩存表中時隙η對應的行中。
[0020]通過上述方式,在一幀結束后,節點獲得了 Ν*Ν矩陣形式維護的時隙狀態信息,并執行步驟2。
[0021]步驟2:選擇一個空閑時隙。
[0022]對于某個時隙,僅當該時隙在Ν*Ν時隙狀態緩存表中的列滿足以下條件時,認為該時隙是空閑可用(available)的:列中各個元素,或者為空閑狀態(00),或者為default狀態。
[0023]如果有空閑時隙,選擇該時隙;如果空閑時隙多于一個,從中隨機選一個;如果沒有空閑時隙,那么節點將當前比自身優先級低的節點占用的時隙看做為空閑時隙進行選擇。
[0024]選擇空閑時隙后,執行步驟3。
[0025]步驟3:等待選定的時隙到達,再次確認是否空閑。
[0026]假設步驟2中,選擇的空閑時隙為時隙P。那么在時隙P到達前,節點持續監聽各個時隙,用新的時隙狀態信息覆蓋N*N時隙狀態緩存表中的舊的時隙狀態信息(即窗口中始終保持最近N個時隙的時隙狀態信息)。等到時隙p-1的結尾,利用N*N時隙狀態緩存表,檢查時隙P是否仍然滿足步驟2中的條件(包括無空閑時隙時的優先級考慮的方式):如滿足,則執行步驟4 ;如不滿足,此刻立即執行步驟2。
[0027]步驟4:在時隙P發送子巾貞(subframe)。
[0028]此時,在subframe攜帶的FI中,節點按照如下規則填寫各個field:
[0029]對于當前時隙(即時隙P),填寫占用狀態(10),且填寫自己的STI和優先級信息。
[0030]對于其他時隙,考察(N-1) *N時隙狀態緩存表中對應的列:
[0031]如果其他時隙對應的列中的N-1個元素都是空閑狀態(00)、default狀態或兩跳占用狀態(11),則將其他該時隙的狀態填寫為空閑狀態(00),此時不填寫STI和優先級信息;
[0032]如果其他時隙的檢測域為占用狀態(10),而且其他N-1個元素都是空閑狀態
(00)、default狀態、兩跳占用狀態(11),或與檢測域STI相同的占用狀態(10),則將該其他時隙的狀態填寫為占用狀態(10),且填寫對應的STI和優先級信息);
[0033]如果其他時隙對應的N-1個元素中,出現了 2個及其以上的占用狀態(10),且STI不同,則將該其他時隙的狀態填寫為沖突狀態(01),同時填寫優先級最高的STI,當優先級相同時,隨機選一個填寫,填寫最高的優先級)。
[0034]如果其他時隙對應的檢測域為default狀態,而且在剩下的N_1個元素中,一個或多個為占用狀態(10),且它們的STI都相同,則將該其他時隙的狀態填寫為兩跳占用狀態
(11),同時填寫STI和優先級信息。
[0035]在發送完畢后,節點清空N*N時隙狀態緩存表中時隙P對應的行。執行步驟5。
[0036]步驟5:監聽反饋,確認是否成功。
[0037]從時隙p+1開始,節點監聽N-1個時隙,生成(N-1) *N時隙狀態緩存表,在時隙P+N-1的結尾(也就是時隙p+N的開頭),判斷時隙P對應的列中的N-1個元素:
[0038]如果N-1個元素為default狀態、空閑狀態(00),或者為占用狀態(10)且記錄的STI與節點自身的STI相同,則認為接入成功;
[0039]如果N-1個元素中,出現了一個或多個STI,則判斷優先級:如果節點自身STI的優先級比其他STI的優先級都高,則認為接入成功,可以使用時隙P+N繼續發送數據;如果節點自己STI的優先級不是其中最高的,則認為接入失敗,立即重新選擇空閑時隙(從上面的步驟2開始);如果其他STI中存在一個STI的優先級和節點自身STI的優先級一致(即均為最高的優先級),則節點可以在時隙P+N發送數據,然后如果再次出現這種情況,則以概率P再次在時隙P+2*N發送,以概率(1-p)認為發送失敗,立即重新選擇空閑時隙,即執行步驟2。
[0040]當上面判斷成功時,自然進入后續的信道維護過程。
[0041]第二種行為:信道維護過程。
[0042]信道維護過程也以FI連續發送為前提。信道維護過程中,分為2類情況:
[0043]維護發送時隙:此時,節點填寫FI的方式與信道占用過程中的步驟4完全一致。只是此時不需要清空時隙狀態緩存表中時隙P對應的行(因為根本沒有維護該行)。
[0044]維護接收時隙:維護(N-1) *N時隙狀態緩存表并且在自身占用的時隙p+X*N到達前判斷是否接入成功,方法與信道占用過程中的步驟5也完全一致。
[0045]其中,時隙默認設置為接收狀態,當節點在某個時隙需要發送數據時,將該時隙設置為發送時隙。發送時隙分為2類:
[0046]自占時隙:節點已在該時隙發送FI和數據等信息,并得到其它節點反饋的FI時,再確認該時隙的狀態為自占狀態。
[0047]申請時隙:節點選擇在該時隙發送數據,但還未到達該時隙,節點還未在該時隙上發送FI和數據等信息;
[0048]在某個時間點上,節點可能不存在任何發送時隙,此時全部時隙都為接收時隙。
[0049]現有技術下,車聯網業務是與安全相關的業務,因此對時延尤為敏感,其最主要需求就是時延需求,然而,采用現有的信道占用流程和信道維護流程卻會存在以下問題:
[0050]I)時隙資源碰撞可能發生在任意一個接收時隙,然而節點卻需要等到發送時隙到達前,才能根據已保存的FI做更新判定,這將會造成嚴重的業務時延。
[0051]很顯然,采用現有的MS-ALOHA算法不能實時發現時隙資源的碰撞,節點要判定自身的發送時隙是否發生碰撞,需要對接收到的FI進行處理后才能做決定,而MS-ALOHA算法是在發送FI之前才對緩存的(N-1) *N時隙狀態緩存表進行處理,這樣的話,節點對發送時隙(包括自占時隙和申請時隙)發生碰撞的判定會存在一定的時延,這將會嚴重影響業務性倉泛。
[0052]2)當新業務包到達且判定需要申請新的時隙資源的時候,節點需要實時地了解時隙狀態信息,然而新業務包的到達也可能發生在任意一個時隙,而節點同時需要等到發送時隙到達前,才能根據已保存的FI做更新判定,這同時將會造成嚴重的業務時延。
[0053]很顯然,新業務包到達之后,節點不能實時地申請新的時隙資源,節點不做立即對當前緩存的(N-1) *N時隙狀態緩存表進行處理,因而就無法獲取實時的時隙狀態信息,這樣也就無法實時地申請新的時隙資源,那么新業務包的發送也將會被延遲。
【發明內容】
[0054]本發明實施例提供一種時隙狀態信息的選擇方法及裝置,用以在車載通信系統中,令節點能夠實時掌握各個時隙的狀態,從而避免業務處理延遲。
[0055]本發明實施例提供的具體技術方案如下:
[0056]第一方面,一種時隙資源的選擇方法,包括:
[0057]第一節點在接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的FI對幀周期中各個時隙的時隙狀態信息進行更新,得到第一更新結果,再根據第一更新結果選擇新的發送時隙;和/或,
[0058]第一節點按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的FI,判斷所述第一節點使用的發送時隙是否發生碰撞,并在確定所述第一節點使用的發送時隙發生碰撞且需要申請新的時隙資源時,繼續根據保存的時隙狀態緩存表中當前記錄的?1,對幀周期中各個時隙的時隙狀態信息進行更新,得到第二更新結果,再根據第二更新結果選擇新的發送時隙。
[0059]這樣,節點可以得到實時的時隙狀態信息,以便可以靈活地進行時隙資源的選擇,從而降低了業務數據包的緩存等待時延,即降低了業務數據包的發送等待時延,進而降低了節點超時丟包的概率,有效保證了系統服務性能及安全性。
[0060]結合第一方面,在第一種可能的實現方式中,第一節點接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的FI對幀周期中各個時隙的時隙狀態信息進行更新,包括:
[0061]第一節點根據保存的時隙狀態緩存表中當前記錄的所有FI,對幀周期中各個時隙的時隙狀態信息進行更新。
[0062]這樣,可以實時獲得最全面準確的更新結果。
[0063]結合第一方面,在第二種可能的實現方式中,第一節點按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的FI,判斷所述第一節點使用的發送時隙是否發生碰撞,包括:
[0064]第一節點根據保存的時隙狀態緩存表中當前記錄的,在上一次更新操作和本次更新操作之間接收的各個FI中包含的第一節點的發送時隙的時隙狀態信息,判斷所述第一節點使用的發送時隙是否發生碰撞。
[0065]這樣,可以有效避免重復操作,提高處理效率。
[0066]結合第一方面的第二種可能的實現方式,在第三種可能的實現方式中,第一節點繼續根據保存的時隙狀態緩存表中當前記錄的FI,對幀周期中各個時隙的時隙狀態信息進行更新,包括:
[0067]第一節點根據保存的時隙狀態緩存表中當前記錄的所有FI,對幀周期中各個時隙的時隙狀態信息進行更新。
[0068]這樣,可以實時獲得最全面準確的更新結果。
[0069]結合第一方面上述任意一種實現方式,在第四種可能的實現方式中,所述第一節點將采用的更新周期的時長為設置為M,M的取值為1,或者,M的取值為X-1的公約數,X為幀周期中時隙的總數目,或者,M的取值為小于X的任意自然數;其中,M的取值令執行更新操作的時隙不為發送時隙。
[0070]結合第一方面上述任意一種可能的實現方式,在第五種可能的實現方式中,第一節點在根據第一更新結果選擇新的發送時隙后,將所述第一更新結果刪除,且不采用所述第一更新結果對所述時隙狀態緩存表進行更新;以及
[0071]第一節點根據第二更新結果選擇新的發送時隙后,將所述第二更新結果刪除,且不采用所述第二更新結果對所述時隙狀態緩存表進行更新。
[0072]這樣,不會對發送時隙狀態緩存表產生影響,從而對在發送時隙觸發的正常流程不會產生影響。
[0073]第二方面,一種時隙資源的選擇裝置,包括:
[0074]第一處理單元,用于在接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的FI對幀周期中各個時隙的時隙狀態信息進行更新,得到第一更新結果,再根據第一更新結果選擇新的發送時隙;和/或,
[0075]第二處理單元,用于按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的FI,判斷所述第一節點使用的發送時隙是否發生碰撞,并在確定所述第一節點使用的發送時隙發生碰撞且需要申請新的時隙資源時,繼續根據保存的時隙狀態緩存表中當前記錄的FI,對幀周期中各個時隙的時隙狀態信息進行更新,得到第二更新結果,再根據第二更新結果選擇新的發送時隙。
[0076]這樣,節點可以得到實時的時隙狀態信息,以便可以靈活地進行時隙資源的選擇,從而降低了業務數據包的緩存等待時延,即降低了業務數據包的發送等待時延,進而降低了節點超時丟包的概率,有效保證了系統服務性能及安全性。
[0077]結合第二方面,在第一種可能的實現方式中,第一處理單元接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的FI對幀周期中各個時隙的時隙狀態信息進行更新,包括:
[0078]所述第一處理單元根據保存的時隙狀態緩存表中當前記錄的所有FI,對幀周期中各個時隙的時隙狀態信息進行更新。
[0079]這樣,可以實時獲得最全面準確的更新結果。
[0080]結合第二方面,在第二種可能的實現方式中,第二處理單元按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的FI,判斷所述第一節點使用的發送時隙是否發生碰撞,包括:
[0081]所述第二處理單元根據保存的時隙狀態緩存表中當前記錄的,在上一次更新操作和本次更新操作之間接收的各個FI中包含的第一節點的發送時隙的時隙狀態信息,判斷所述第一節點使用的發送時隙是否發生碰撞。
[0082]這樣,可以有效避免重復操作,提高處理效率。
[0083]結合第二方面的第二種可能的實現方式,在第三種可能的實現方式中,第二處理單元繼續根據保存的時隙狀態緩存表中當前記錄的FI,對幀周期中各個時隙的時隙狀態信息進行更新,包括:
[0084]所述第二處理單元根據保存的時隙狀態緩存表中當前記錄的所有FI,對幀周期中各個時隙的時隙狀態信息進行更新。
[0085]這樣,可以實時獲得最全面準確的更新結果。
[0086]結合第二方面上述任意一種可能的實現方式,在第四種可能的實現方式中,第二處理單元將采用的更新周期的時長為設置為M,M的取值為1,或者,M的取值為X-1的公約數,X為幀周期中時隙的總數目,或者,M的取值為小于X的任意自然數;其中,M的取值令執行更新操作的時隙不為發送時隙。
[0087]結合第二方面上述任意一種可能的實現方式,在第五種可能的實現方式中,所述第一處理單元在根據第一更新結果選擇新的發送時隙后,將所述第一更新結果刪除,且不采用所述第一更新結果對所述時隙狀態緩存表進行更新;以及
[0088]所述第二處理單元根據第二更新結果選擇新的發送時隙后,將所述第二更新結果刪除,且不采用所述第二更新結果對所述時隙狀態緩存表進行更新。
[0089]這樣,不會對發送時隙狀態緩存表產生影響,從而對在發送時隙觸發的正常流程不會產生影響。
[0090]第三方面,一種時隙資源的選擇裝置,包括:
[0091]第一處理器,用于在接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的FI對幀周期中各個時隙的時隙狀態信息進行更新,得到第一更新結果,再根據第一更新結果選擇新的發送時隙;和/或,
[0092]第三處理器,用于按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的FI,判斷所述第一節點使用的發送時隙是否發生碰撞,并在確定所述第一節點使用的發送時隙發生碰撞且需要申請新的時隙資源時,繼續根據保存的時隙狀態緩存表中當前記錄的FI,對幀周期中各個時隙的時隙狀態信息進行更新,得到第二更新結果,再根據第三更新結果選擇新的發送時隙。
[0093]這樣,節點可以得到實時的時隙狀態信息,以便可以靈活地進行時隙資源的選擇,從而降低了業務數據包的緩存等待時延,即降低了業務數據包的發送等待時延,進而降低了節點超時丟包的概率,有效保證了系統服務性能及安全性。
[0094]結合第三方面,在第一種可能的實現方式中,第一處理器接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的FI對幀周期中各個時隙的時隙狀態信息進行更新,包括:
[0095]所述第一處理器根據保存的時隙狀態緩存表中當前記錄的所有FI,對幀周期中各個時隙的時隙狀態信息進行更新。
[0096]這樣,可以實時獲得最全面準確的更新結果。
[0097]結合第三方面,在第三種可能的實現方式中,第三處理器按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的FI,判斷所述第一節點使用的發送時隙是否發生碰撞,包括:
[0098]所述第三處理器根據保存的時隙狀態緩存表中當前記錄的,在上一次更新操作和本次更新操作之間接收的各個FI中包含的第一節點的發送時隙的時隙狀態信息,判斷所述第一節點使用的發送時隙是否發生碰撞。
[0099]這樣,可以有效避免重復操作,提高處理效率。
[0100]結合第三方面的第三種可能的實現方式,在第三種可能的實現方式中,第三處理器繼續根據保存的時隙狀態緩存表中當前記錄的FI,對幀周期中各個時隙的時隙狀態信息進行更新,包括:
[0101]所述第三處理器根據保存的時隙狀態緩存表中當前記錄的所有FI,對幀周期中各個時隙的時隙狀態信息進行更新。
[0102]這樣,可以實時獲得最全面準確的更新結果。
[0103]結合第三方面上述任意一種可能的實現方式,在第四種可能的實現方式中,第三處理器將采用的更新周期的時長為設置為M,M的取值為1,或者,M的取值為X-1的公約數,X為幀周期中時隙的總數目,或者,M的取值為小于X的任意自然數;其中,M的取值令執行更新操作的時隙不為發送時隙。
[0104]結合第三方面上述任意一種可能的實現方式,在第五種可能的實現方式中,所述第一處理器在根據第一更新結果選擇新的發送時隙后,將所述第一更新結果刪除,且不采用所述第一更新結果對所述時隙狀態緩存表進行更新;以及
[0105]所述第三處理器根據第三更新結果選擇新的發送時隙后,將所述第三更新結果刪除,且不采用所述第三更新結果對所述時隙狀態緩存表進行更新。
[0106]這樣,不會對發送時隙狀態緩存表產生影響,從而對在發送時隙觸發的正常流程不會產生影響。
【專利附圖】
【附圖說明】
[0107]圖1為現有技術下超幀結構示意圖;
[0108]圖2為現有技術下一種FI結構常見示意圖;
[0109]圖3為現有技術及本發明實施例中時隙狀態緩存表示意圖;
[0110]圖4為現有技術下MS-ALOHA算法信道占用過程示意圖;
[0111]圖5為本發明實施例中時隙資源選擇流程圖;
[0112]圖6和圖7為本發明實施例中第一節點示意圖。
【具體實施方式】
[0113]在車載通信系統中,為了令節點能夠實時掌握各個時隙的狀態,從而避免業務處理延遲,本發明實施例中在不過度增加系統復雜度的前提下,提出了以下方案:除了按照現有方案中需要在發送時隙到達前對所有時隙的狀態進行更新處理之外,還需要在其他接收時隙對全部或者部分時隙的狀態進行更新處理,簡單來說:新的更新機制為:周期性時間觸發+事件觸發的更新時隙狀態操作機制。
[0114]下面結合附圖對本發明優選的實施方式進行詳細說明。
[0115]參閱圖5所示,本發明實施例中,各個節點對時隙資源進行選擇的詳細流程如下:
[0116]步驟500:第一節點在接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的FI對幀周期中各個時隙的時隙狀態信息進行更新,得到第一更新結果,再根據第一更新結果選擇新的發送時隙。
[0117]具體的,第一節點在接收到新的業務數據包時,若之前申請的發送時隙可用于發送新的業務數據包,則第一節點可以在到達該發送時隙時直接將新的業務數據包進行發送,若之前申請的發送時隙不可用于發送新的業務數據包(即確定需要申請新的時隙資源),則第一節點會繼續根據保存的時隙狀態緩存表中當前記錄的FI,對幀周期中各個時隙的時隙狀態信息進行更新,并根據第一更新結果選擇新的空閑時隙作為新的發送時隙用于發送新的業務數據包。
[0118]較佳的,本發明實施例中,第一節點不會根據第一更新結果對時隙狀態緩存表進行更新,第一更新結果僅僅用于選擇新的發送時隙,選擇完畢后,第一節點會將緩存的第一更新結果進行刪除。
[0119]實際應用中,第一節點可以是系統中的任意一車輛,后續實施例均采用如此定義,將不再贅述。
[0120]步驟510:第一節點按照設定的更新周期,根據保存的時隙狀態緩存表中記錄的FI,判斷第一節點使用的發送時隙是否發生碰撞,并在確定所述第一節點使用的發送時隙發生碰撞且需要申請新的時隙資源時,繼續根據保存的時隙狀態緩存表中記錄的FI,對幀周期中各個時隙的時隙狀態信息進行更新,得到第二更新結果,再根據第二更新結果選擇新的發送時隙。
[0121]本實施例中,步驟500和步驟510之間采用“和/或”方式執行,即既可以擇一執行,也可以相結合執行,本實施例中以相結合執行為例進行說明。
[0122]具體的,第一節點在未接收到新的業務數據包時,會按照設定的更新周期根據保存的時隙狀態緩存表中當前記錄的FI (如,時隙狀態緩存表中當前記錄的在上一次更新操作和本次更新操作之間接收到的各個FI ),判斷第一節點的發送時隙(包含自占時隙和申請時隙)是否發生碰撞,若第一節點的發送時隙發生碰撞且第一節點的占用優先級不是最高,則第一節點需要申請新的時隙資源,此時,第一節點可以繼續根據保存的時隙狀態緩存表中記錄的FI (如,時隙狀態緩存表中當前記錄的所有FI,對幀周期中各個時隙的時隙狀態信息進行更新,并根據第二更新結果選擇新的空閑時隙作為新的發送時隙。
[0123]較佳的,本發明實施例中,第一節點不會根據第二更新結果對時隙狀態緩存表進行更新,第二更新結果僅僅用于選擇新的發送時隙,選擇完畢后,第一節點會將緩存的第二更新結果進行刪除。
[0124]另一方面,若第一節點判定第一節點的發送時隙發生碰撞但第一節點的占用優先級最高時,可以不必申請新的時隙資源,此時,第一節點無需對各個時隙的時隙狀態信息進行更新。
[0125]在上述實施例中,第一節點采用的更新周期的時長(也稱更新處理粒度)可以設置為Μ,Μ的取值為I,或者,M的取值為X-1的公約數,X為巾貞周期中時隙的總數目,或者,M的取值為小于X的任意自然數;其中,較佳的,在設置M取值時需要考慮到,執行更新操作時隙最好不是發送時隙,因為在發送時隙上,第一節點不接收數據,因此,能參考的FI會變少。
[0126]換言之,上述步驟500 —步驟510記載的技術方案,其原理可以歸結為:第一節點在發送FI之后在時隙狀態緩存表中,將發送時隙所在的行中的各個元素均設置為Default(只針對于信道接入過程,信道維護過程中不維護此行),在一個接收時隙,第一節點總是用新接收的FI包含的信息內容覆蓋時隙狀態緩存表中該接收時隙對應的行中的各個元素。同時,在每一次周期性觸發更新操作時,為了避免重復性操作,較佳的,第一節點只針對自身的發送時隙所在的列中,位于此次更新操作與上一次更新操作之間的多個時隙(除了第一節點的發送時隙)對應的該發送時隙的時隙狀態信息進行遍歷處理,以判斷第一節點的發送時隙是否發生碰撞,即僅針對更新周期內做判定,且只根據在此次更新操作和上一次更新操作之間接收到的各個FI中包含的第一節點的發送時隙的時隙狀態信息,對第一節點的發送時隙做狀態判定,以判斷第一節點的發送時隙是否發生碰撞。
[0127]進一步地,無論是有新的業務包數據到達時判定需要申請時隙資源,還是在每一次周期性觸發更新操作時判定發送時隙發生碰撞且需要申請新的時隙資源,第一節點均可以觸發對幀周期內所有時隙的時隙狀態信息的更新,這需要參考時隙狀態緩存表中所有的FI,即第一節點需要分別對時隙狀態緩存表中每一列內的(N-1)個元素做綜合處理,得到各個時隙實時更新的時隙狀態信息,并根據更新后的各個時隙的時隙狀態信息選擇新的發送時隙。
[0128]但是,更新后的各個時隙的時隙狀態信息不會緩存在時隙狀態列表中,僅僅緩存在另一處,用于選擇新的發送時隙,一旦新的發送時隙選擇完畢,第一節點會將更新的各個時隙的時隙狀態信息進行刪除。
[0129]下面通過兩個具體的應用場景對上述實施例作出進一步詳細說明。
[0130]第一種應用場景為:有新的業務數據包到達且第一節點需要申請新的時隙資源。
[0131]假設巾貞長度為6,第一節點只有一個發送時隙為時隙2,第一節點穩定維護時隙2,即時隙2為第一節點的自占時隙。在時隙3,第一節點有新的業務數據包到達。
[0132]在時隙3,新的業務數據包到達后,此時,第一節點判斷是否需要申請新的時隙資源,當第一節點判定需要申請新的時隙資源時,就觸發第一節點對當前所有時隙的時隙狀態的更新,并根據獲得的第一更新結果實時得到所有時隙的時隙狀態信息,第一節點再參考實時獲得的所有時隙的時隙狀態信息,選擇其中的空閑時隙做為新的發送時隙。
[0133]第二種應用場景為:在更新時間點,第一節點判定發送時隙發生碰撞。
[0134]假設巾貞長度為6,第一節點只有一個發送時隙為時隙2,第一節點穩定維護時隙2,即時隙2為第一節點的自占時隙。第一節點確定更新周期的時長是3,即每3個時隙做I次更新操作,假定節點在時隙O和時隙3做更新操作。
[0135]參閱圖4所示,當時隙O到達,觸發更新操作,第一節點接收完FI之后,根據在上一幀中的時隙4接收的FI中時隙2的時隙狀態信息、在上一幀中的時隙5接收的FI中包含的時隙2的時隙狀態信息,以及在本幀中的時隙O接收的FI中包含的時隙2的時隙狀態信息(如果時隙O沒有接收到FI,相當于接收到一個default),判定時隙2是否發生了碰撞。
[0136]若此時判定時隙2沒有發生碰撞,則第一節點繼續維護此發送時隙。
[0137]當時隙I到達,節點接收FI,暫時放在時隙狀態緩存表中,不做處理;
[0138]當時隙2到達,節點發送FI ;
[0139]當時隙3到達,觸發更新操作,第一節點接收完FI之后,根據在時隙I接收的FI中時隙2的時隙狀態信息和在時隙3接收的FI中時隙2時隙狀態信息,判斷時隙2是否發生了碰撞。
[0140]若此時判定時隙2發生了碰撞,則第一節點不需要再維護此時隙2。
[0141]進一步,第一節點判斷是否需要申請新的時隙資源,假定此時第一節點判定不需要申請新的時隙資源,則不做任何其他處理。
[0142]基于上述實施例,參閱圖6所示,本發明實施例中,第一節點包括第一處理單元60和第二處理單元61,其中,
[0143]第一處理單元60,用于在接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的FI對幀周期中各個時隙的時隙狀態信息進行更新,得到第一更新結果,再根據第一更新結果選擇新的發送時隙;和/或,
[0144]第二處理單元61,用于按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的FI,判斷第一節點使用的發送時隙是否發生碰撞,并在確定第一節點使用的發送時隙發生碰撞且需要申請新的時隙資源時,繼續根據保存的時隙狀態緩存表中當前記錄的FI,對幀周期中各個時隙的時隙狀態信息進行更新,得到第二更新結果,再根據第二更新結果選擇新的發送時隙。
[0145]第一處理單元60接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的FI對幀周期中各個時隙的時隙狀態信息進行更新,包括:
[0146]第一處理單元60根據保存的時隙狀態緩存表中當前記錄的所有FI,對幀周期中各個時隙的時隙狀態信息進行更新。
[0147]第二處理單元61按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的FI,判斷第一節點使用的發送時隙是否發生碰撞,包括:
[0148]第二處理單元61根據保存的時隙狀態緩存表中當前記錄的,在上一次更新操作和本次更新操作之間接收的各個FI中包含的第一節點的發送時隙的時隙狀態信息,判斷第一節點使用的發送時隙是否發生碰撞。
[0149]第二處理單元61繼續根據保存的時隙狀態緩存表中當前記錄的FI,對幀周期中各個時隙的時隙狀態信息進行更新,包括:
[0150]第二處理單元61根據保存的時隙狀態緩存表中當前記錄的所有FI,對幀周期中各個時隙的時隙狀態信息進行更新。
[0151]第二處理單元61將采用的更新周期的時長為設置為M,M的取值為1,或者,M的取值為X-1的公約數,X為幀周期中時隙的總數目,或者,M的取值為小于X的任意自然數;其中,M的取值令執行更新操作的時隙不為發送時隙。
[0152]第一處理單元60在根據第一更新結果選擇新的發送時隙后,將第一更新結果刪除,且不采用第一更新結果對時隙狀態緩存表進行更新;以及
[0153]第二處理單元61根據第二更新結果選擇新的發送時隙后,將第二更新結果刪除,且不采用第二更新結果對時隙狀態緩存表進行更新。
[0154]基于上述實施例,參閱圖7所示,本發明實施例中,第一節點包括第一處理器70和第二處理器71,其中,
[0155]第一處理器70,用于在接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的FI對幀周期中各個時隙的時隙狀態信息進行更新,得到第一更新結果,再根據第一更新結果選擇新的發送時隙;和/或,
[0156]第二處理器71,用于按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的FI,判斷第一節點使用的發送時隙是否發生碰撞,并在確定第一節點使用的發送時隙發生碰撞且需要申請新的時隙資源時,繼續根據保存的時隙狀態緩存表中當前記錄的FI,對幀周期中各個時隙的時隙狀態信息進行更新,得到第二更新結果,再根據第二更新結果選擇新的發送時隙。
[0157]第一處理器70接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的FI對幀周期中各個時隙的時隙狀態信息進行更新,包括:
[0158]第一處理器70根據保存的時隙狀態緩存表中當前記錄的所有FI,對幀周期中各個時隙的時隙狀態信息進行更新。
[0159]第二處理器71按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的FI,判斷第一節點使用的發送時隙是否發生碰撞,包括:
[0160]第二處理器71根據保存的時隙狀態緩存表中當前記錄的,在上一次更新操作和本次更新操作之間接收的各個FI中包含的第一節點的發送時隙的時隙狀態信息,判斷第一節點使用的發送時隙是否發生碰撞。
[0161]第二處理器71繼續根據保存的時隙狀態緩存表中當前記錄的FI,對幀周期中各個時隙的時隙狀態信息進行更新,包括:
[0162]第二處理器71根據保存的時隙狀態緩存表中當前記錄的所有FI,對幀周期中各個時隙的時隙狀態信息進行更新。
[0163]第二處理器71將采用的更新周期的時長為設置為M,M的取值為1,或者,M的取值為X-1的公約數,X為幀周期中時隙的總數目,或者,M的取值為小于X的任意自然數;其中,M的取值令執行更新操作的時隙不為發送時隙。
[0164]第一處理器70在根據第一更新結果選擇新的發送時隙后,將第一更新結果刪除,且不采用第一更新結果對時隙狀態緩存表進行更新;以及
[0165]第二處理器71根據第二更新結果選擇新的發送時隙后,將第二更新結果刪除,且不采用第二更新結果對時隙狀態緩存表進行更新。
[0166]綜上所述,本發明實施例中,節點對時隙狀態的更新采用“周期性時間觸發+事件觸發”的更新操作機制,這樣,在新的業務包數據到達且需要申請新的時隙資源和時隙資源發生碰撞且需要申請資源時,節點可以得到實時的時隙狀態信息,以便可以靈活地進行時隙資源的選擇,從而降低了業務數據包的緩存等待時延,即降低了業務數據包的發送等待時延,進而降低了節點超時丟包的概率,有效保證了系統服務性能及安全性。
[0167]本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
[0168]本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0169]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0170]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0171]盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。
[0172]顯然,本領域的技術人員可以對本發明實施例進行各種改動和變型而不脫離本發明實施例的精神和范圍。這樣,倘若本發明實施例的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
【權利要求】
1.一種時隙資源的選擇方法,其特征在于,包括: 第一節點在接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的幀信息對幀周期中各個時隙的時隙狀態信息進行更新,得到第一更新結果,再根據第一更新結果選擇新的發送時隙;和/或, 第一節點按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的?I,判斷所述第一節點使用的發送時隙是否發生碰撞,并在確定所述第一節點使用的發送時隙發生碰撞且需要申請新的時隙資源時,繼續根據保存的時隙狀態緩存表中當前記錄的?I,對幀周期中各個時隙的時隙狀態信息進行更新,得到第二更新結果,再根據第二更新結果選擇新的發送時隙。
2.如權利要求1所述的方法,其特征在于,第一節點接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的?I對幀周期中各個時隙的時隙狀態信息進行更新,包括: 第一節點根據保存的時隙狀態緩存表中當前記錄的所有?I,對幀周期中各個時隙的時隙狀態信息進行更新。
3.如權利要求1所述的方法,其特征在于,第一節點按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的?I,判斷所述第一節點使用的發送時隙是否發生碰撞,包括: 第一節點根據保存的時隙狀態緩存表中當前記錄的,在上一次更新操作和本次更新操作之間接收的各個?I中包含的第一節點的發送時隙的時隙狀態信息,判斷所述第一節點使用的發送時隙是否發生碰撞。
4.如權利要求3所述的方法,其特征在于,第一節點繼續根據保存的時隙狀態緩存表中當前記錄的?1,對幀周期中各個時隙的時隙狀態信息進行更新,包括: 第一節點根據保存的時隙狀態緩存表中當前記錄的所有?I,對幀周期中各個時隙的時隙狀態信息進行更新。
5.如權利要求1一 4任一項所述的方法,其特征在于,所述第一節點將采用的更新周期的時長為設置為的取值為1,或者,1的取值為XI的公約數,X為幀周期中時隙的總數目,或者,1的取值為小于X的任意自然數;其中,1的取值令執行更新操作的時隙不為發送時隙。
6.如權利要求1一 4任一項所述的方法,其特征在于,第一節點在根據第一更新結果選擇新的發送時隙后,將所述第一更新結果刪除,且不采用所述第一更新結果對所述時隙狀態緩存表進行更新;以及 第一節點根據第二更新結果選擇新的發送時隙后,將所述第二更新結果刪除,且不采用所述第二更新結果對所述時隙狀態緩存表進行更新。
7.一種時隙資源的選擇裝置,其特征在于,包括: 第一處理單元,用于在接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的幀信息對幀周期中各個時隙的時隙狀態信息進行更新,得到第一更新結果,再根據第一更新結果選擇新的發送時隙;和/或, 第二處理單元,用于按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的?1,判斷所述第一節點使用的發送時隙是否發生碰撞,并在確定所述第一節點使用的發送時隙發生碰撞且需要申請新的時隙資源時,繼續根據保存的時隙狀態緩存表中當前記錄的?1,對幀周期中各個時隙的時隙狀態信息進行更新,得到第二更新結果,再根據第二更新結果選擇新的發送時隙。
8.如權利要求7所述的裝置,其特征在于,第一處理單元接收到新的業務數據包時,若確定需要申請新的時隙資源,則根據保存的時隙狀態緩存表中當前記錄的?I對幀周期中各個時隙的時隙狀態信息進行更新,包括: 所述第一處理單元根據保存的時隙狀態緩存表中當前記錄的所有?I,對幀周期中各個時隙的時隙狀態信息進行更新。
9.如權利要求7所述的裝置,其特征在于,第二處理單元按照設定的更新周期,根據保存的時隙狀態緩存表中當前記錄的?I,判斷所述第一節點使用的發送時隙是否發生碰撞,包括: 所述第二處理單元根據保存的時隙狀態緩存表中當前記錄的,在上一次更新操作和本次更新操作之間接收的各個?I中包含的第一節點的發送時隙的時隙狀態信息,判斷所述第一節點使用的發送時隙是否發生碰撞。
10.如權利要求9所述的裝置,其特征在于,第二處理單元繼續根據保存的時隙狀態緩存表中當前記錄的?I,對幀周期中各個時隙的時隙狀態信息進行更新,包括: 所述第二處理單元根據保存的時隙狀態緩存表中當前記錄的所有?I,對幀周期中各個時隙的時隙狀態信息進行更新。
11.如權利要求7— 10任一項所述的裝置,其特征在于,第二處理單元將采用的更新周期的時長為設置為的取值為1,或者,1的取值為XI的公約數,X為幀周期中時隙的總數目,或者,1的取值為小于X的任意自然數;其中,1的取值令執行更新操作的時隙不為發送時隙。
12.如權利要求7— 10任一項所述的裝置,其特征在于,所述第一處理單元在根據第一更新結果選擇新的發送時隙后,將所述第一更新結果刪除,且不采用所述第一更新結果對所述時隙狀態緩存表進行更新;以及 所述第二處理單元根據第二更新結果選擇新的發送時隙后,將所述第二更新結果刪除,且不采用所述第二更新結果對所述時隙狀態緩存表進行更新。
【文檔編號】H04W74/08GK104469855SQ201310419163
【公開日】2015年3月25日 申請日期:2013年9月13日 優先權日:2013年9月13日
【發明者】馮媛, 趙麗, 趙毅, 房家奕, 李鳳 申請人:電信科學技術研究院, 北京大唐高鴻數據網絡技術有限公司