本發明實施例涉及智能交通領域,尤其涉及一種地磁車輛檢測的數據包傳輸及處理方法和主控器。
背景技術:
交通信號控制應用通常需要根據檢測到的流量、占有率、即時速度等數據,對交通狀態進行判斷,從而做出相應的交通信號控制策略。檢測準確率直接影響了交通信號控制效果,因此高準確率的交通檢測數據是先進交通管理應用的先決條件。無線地磁檢測作為一種新興的檢測方式近年來受到了廣泛關注。地磁檢測器產品各項指標同線圈最為接近,流量和擁堵狀態下的占有率檢測精度較高,同時破路較少,施工維護成本較低,可維護性和可靠性遠高于線圈,使用壽命長,因此是破路檢測技術的首選。
對于無線地磁交通檢測系統,影響交通流數據準確率的因素除了檢測器本身的檢測準確率之外,還有無線通信的丟包現象。雖然無線協議中包含重傳措施,但因交通環境惡劣以及無線發射功率受限,仍存在達到重傳次數限制后無法將有效信息發送成功的情況,此時就會造成無線通信失敗,而無線通信失敗也是影響檢測準確率的重要原因之一。
技術實現要素:
本發明實施例提供了一種地磁車輛檢測的數據包傳輸及處理方法和主控器,用于解決現有技術中無線通信失敗而導致的檢測準確率低的問題。
本發明實施例提供了一種地磁車輛檢測的數據包傳輸及處理方法,包括:
主控器接收檢測器發送的數據包,所述數據包攜帶自身的編號和車輛狀態變化信息,所述車輛狀態變化信息表征設定區域為“車輛占有”或“車輛離開”;
所述主控器根據所述接收到的多個數據包的編號和預設的編號規則,判斷是否有數據包丟失及確定丟失的數據包的數量;
若是,則所述主控器根據所述丟失的數據包的數量、所述丟失的數據包相鄰的數據包的車輛狀態變化信息、檢測器依次發送數據包攜帶的車輛狀態變化信息交替為“車輛占有”、“車輛離開”的規律,生成丟失的數據包。
可選地,在所述主控器根據所述丟失的數據包的數量、所述丟失的數據包相鄰的數據包的車輛狀態變化信息、檢測器依次發送數據包攜帶的車輛狀態變化信息交替為“車輛占有”、“車輛離開”的規律,生成丟失的數據包之后,包括:
所述主控器根據所述丟失的數據包生成所述丟失的數據包對應的電平信號;
所述主控器將所述丟失的數據包對應的電平信號發送至信號機。
可選地,所述電平信號的延遲時間由下述公式(1)確定;
所述公式(1)為:
t2>2t1………………………………………(1)
其中,t1為信號機的采樣周期,t2為電平信號的延遲時間;
所述主控器發送的所述丟失的數據包對應的電平信號的總數量需要符合下述公式(2);
所述公式(2)為:
a≤t3/t2………………………………………(2)
其中,a為主控器發送的丟失的數據包對應的電平信號的總數量,t2為電平信號的延遲時間,t3為車輛正常通行的車輛狀態變化的周期,t3/t2為設定閾值。
可選地,在所述主控器將所述丟失的數據包對應的電平信號發送至信號機之后,還包括:
所述主控器根據所述接收到的數據包攜帶的車輛狀態變化信息,生成所述接收到的數據包對應的電平信號;
所述主控器將所述接收的數據包對應的電平信號發送至所述信號機。
可選地,所述主控器接收檢測器發送的數據包之后,還包括:
所述主控器若確定接收的數據包中的最后一個數據包的車輛狀態變化信息為“車輛占有”時且在設定時間段內沒有再接收到數據包,則發送反饋信號至所述檢測器,以觸發所述檢測器發送位于所述最后一個數據包之后的數據包。
相應的,本發明實施例提供了一種主控器,包括:
接收模塊,用于接收檢測器發送的數據包,所述數據包攜帶自身的編號和車輛狀態變化信息,所述車輛狀態變化信息表征設定區域為“車輛占有”或“車輛離開”;
確定模塊,用于根據所述接收到的多個數據包的編號和預設的編號規則,判斷是否有數據包丟失及確定丟失的數據包的數量;
處理模塊,用于在所述確定模塊確定所述接收到的多個數據包中存在數據包丟失時,根據所述丟失的數據包的數量、所述丟失的數據包相鄰的數據包的車輛狀態變化信息、檢測器依次發送數據包攜帶的車輛狀態變化信息交替為“車輛占有”、“車輛離開”的規律,生成丟失的數據包。
可選地,所述處理模塊還用于:
在所述主控器根據所述丟失的數據包的數量、所述丟失的數據包相鄰的數據包的車輛狀態變化信息、檢測器依次發送數據包攜帶的車輛狀態變化信息交替為“車輛占有”、“車輛離開”的規律,生成丟失的數據包之后,
根據所述丟失的數據包生成所述丟失的數據包對應的電平信號;
將所述丟失的數據包對應的電平信號發送至信號機。
可選地,所述處理模塊具體用于:
根據下述公式(1)確定所述電平信號的延遲時間;
所述公式(1)為:
t2>2tx………………………………………(1)
其中,t1為信號機的采樣周期,t2為電平信號的延遲時間;
根據下述公式(2)確定所述主控器發送的所述丟失的數據包對應的電平信號的總數量;
所述公式(2)為:
a≤t3/t2………………………………………(2)
其中,a為主控器發送的丟失的數據包對應的電平信號的總數量,t2為電平信號的延遲時間,t3為車輛正常通行的車輛狀態變化的周期,t3/t2為設定閾值。
可選地,所述處理模塊還用于:
在所述主控器將所述丟失的數據包對應的電平信號發送至信號機之后,根據所述接收到的數據包攜帶的車輛狀態變化信息,生成所述接收到的數據包對應的電平信號;
所述主控器將所述接收的數據包對應的電平信號發送至所述信號機。
可選地,所述接收模塊還用于:
所述主控器接收檢測器發送的數據包之后,若確定接收的數據包中的最后一個數據包的車輛狀態變化信息為“車輛占有”時且在設定時間段內沒有再接收到數據包,則發送反饋信號至所述檢測器,以觸發所述檢測器發送位于所述最后一個數據包之后的數據包。
本發明實施例表明:主控器接收檢測器發送的數據包,數據包攜帶自身的編號和車輛狀態變化信息,車輛狀態變化信息表征設定區域為“車輛占有”或“車輛離開,然后主控器根據接收到的多個數據包的編號和預設的編號規則,判斷是否有數據包丟失及確定丟失的數據包的數量。若是,則主控器根據丟失的數據包的數量、丟失的數據包相鄰的數據包的車輛狀態變化信息、檢測器依次發送數據包攜帶的車輛狀態變化信息交替為“車輛占有”、“車輛離開”的規律,生成丟失的數據包。本發明實施中檢測器檢測車輛狀態后,對檢測到的車輛狀態變化信息以數據包的形式發送至主控器,檢測器在發送車輛狀態變化信息之前對數據包根據預設的編號規則進行編號,故主控器在接收到數據包后,根據數據包的編號快速判斷數據包是否丟失,進而根據丟失的數據包的數量、丟失的數據包相鄰的數據包的車輛狀態變化信息、檢測器依次發送數據包攜帶的車輛狀態變化信息交替為“車輛占有”、“車輛離開”的規律,生成丟失的數據包,從而避免了因無線通信失敗而導致的檢測準確率低的問題。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域的普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例提供的一種系統架構示意圖;
圖2為本發明實施例提供的一種地磁車輛檢測的數據包傳輸及處理方法的流程示意圖;
圖3為本發明實施例提供的一種數據包的命名和編號示意圖;
圖4為本發明實施例提供的一種主控器的結構示意圖。
具體實施方式
為了使本發明的目的、技術方案及有益效果更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
本發明實施例中,圖1示例性示出了本發明實施例適用的一種系統架構,如圖1所示,本發明實施例適用的系統架構包括檢測器101、主控器102以及信號機103,檢測器101可以通過有線或無線的方式與和主控器102連接,主控器102可以位于信號器103中,也可以獨立于信號機103之外。檢測器101可以為地磁檢測器,位于需要檢測車輛狀態的路段,具體路段位置可以根據具體情況確定。檢測器101用于檢測車輛的狀態得到車輛狀態變化信息,車輛狀態變化信息表征地磁檢測器的設定區域為“車輛占有”或“車輛離開”。檢測器101檢測到車輛狀態后將車輛狀態變化信息打包成數據包并且對數據包進行編號。之后檢測器101將數據包發送至主控器102。主控器102在接收到數據包后根據數據包的車輛狀態變化信息和編號判斷是否存在數據包丟失。若是,則主控器102將丟失的數據包以電平信號的形式發送至信號機103,然后將接收的數據包以電平信號的形式發送至信號機103。否則主控器102將接收的數據包以電平信號的形式發送至信號機103。
圖2例性示出了本發明實施例提供的一種地磁車輛檢測的數據包傳輸及處理方法的流程,該流程可以由主控器執行。
如圖2所示,該流程的具體步驟包括:
步驟S201,主控器接收檢測器發送的數據包。
步驟S202,主控器根據接收到的多個數據包的編號和預設的編號規則,判斷是否有數據包丟失及確定丟失的數據包的數量。
步驟S203,若是,則主控器根據丟失的數據包的數量、丟失的數據包相鄰的數據包的車輛狀態變化信息、檢測器依次發送數據包攜帶的車輛狀態變化信息交替為“車輛占有”、“車輛離開”的規律,生成丟失的數據包。
具體地,在步驟S201中,主控器接收到的數據包攜帶自身的編號和車輛狀態變化信息,車輛狀態變化信息表征設定區域為“車輛占有”或“車輛離開”。具體實施中,檢測器可以根據數據包的車輛狀態變化信息對數據包進行命名并編號,例如檢測器連續檢測到三輛車經過,具體數據包的命名和編號如圖3所示。三輛車中每輛車經過產生兩個數據包,這兩個數據包的車輛狀態變化信息分別是“車輛占有”和“車輛離開”,針對上述兩個車輛狀態變化信息可以將數據包分別命名為COME以及GO,命名為COME的數據包的車輛狀態變化信息為“車輛占有”,命名為GO的數據包的車輛狀態變化信息為“車輛離開”。數據包的編號可以根據檢測到車輛的順序先后確定,比如檢測到的三輛車對應的六個數據包編號為X、X+1、X+2、X+3、X+4、X+5。檢測器對檢測到的車輛狀態變化信息打包、命名和編號后發送至主控器。
在步驟S202中,主控器根據接收到的多個數據包的編號和預設的編號規則確定是否存在數據包丟失及確定丟失的數據包的數量,例如設定檢測器對數據包進行編號的規則是連續編號,若主控器成功接收的兩個數據包的編號分表為X和X+5,兩個數據包的編號不連續,則說明存在數據包丟失,根據編號可以確實丟失的數據包的個數為4個。若主控器成功接收的兩個數據包的編號分表為X和X+1,兩個數據包的編號連續,則說明不存在數據包丟失。
在步驟S203中,若在步驟S202中確定了存在數據包丟失,則主控器根據丟失的數據包的數量、丟失的數據包相鄰的數據包的車輛狀態變化信息、檢測器依次發送數據包攜帶的車輛狀態變化信息交替為“車輛占有”、“車輛離開”的規律,生成丟失的數據包。丟失的數據包相鄰的數據包即為主控器成功接收的兩個數據包。為了更加清楚地介紹上述流程,本發明實施例提供以下示例,設定主控器成功接收的兩個數據包的編號分表為X和X+5,接收的兩個數據包的命名分別為COME以及GO,其對應的車輛狀態變化信息分別為“車輛占有”和“車輛離開”。根據編號可以確定丟失的數據包的數量為4,根據丟失的數據包的數量、成功接收的兩個數據包的車輛狀態變化信息、檢測器依次發送數據包攜帶的車輛狀態變化信息交替為“車輛占有”、“車輛離開”的規律可以確定丟失的四個數據包的車輛狀態變化信息分別為“車輛離開”、“車輛占有”、“車輛離開”和“車輛占有”,其對應的命名分別為GO、COME、GO、COME。主控器根據丟失的四個數據包的車輛狀態變化信息生成丟失的數據包。具體實施中,主控器采用I/O(INPUT/OUTPUT,輸入/輸出)口高低電平的方式將數據包的車輛狀態變化信息發送至信號機,高電平表示“車輛占有”,低電平表示“車輛離開”。主控器根據丟失的4個數據包的車輛狀態變化信息生成的對應電平信號為低電平信號、高電平信號、低電平信號、高電平信號。然后將生成的四個電平信號發送至信號機。之后主控器根據接收到的多個數據包的車輛狀態變化信息,生成接收到的多個數據包對應的電平信號。然后主控器將接收的數據包對應的電平信號發送至信號機。具體為主控器根據接受的編號為X和X+5的兩個數據包生成高電平信號、低電平信號兩個電平信號,然后將生成的兩個電平信號發送至信號機。
若在步驟S202中確定出數據包未丟失,則主控器根據接收到的多個數據包的車輛狀態變化信息,生成接收到的多個數據包對應的電平信號。然后主控器將接收的數據包對應的電平信號發送至信號機。
具體實施中,為了保證補發的電平信號能夠被信號機采集到,電平信號的延遲時間由下述公式(1)確定:
t2>2t1………………………………………(1)
其中,t1為信號機的采樣周期,t2為電平信號的延遲時間。
本發明實施例中,主控器在以電平信號的形式發送丟失的數據包至信號機時,主控器還需要以電平信號的形式發送正常接收的數據包至信號機。若補發電平信號的數量太多,會影響正常接收的數據包的發送,因此主控器補發的電平信號的數量是有限的。具體地,主控器發送的丟失的數據包對應的電平信號的總數量需要符合下述公式(2):
a≤t3/t2………………………………………(2)
其中,a為發送的丟失的數據包對應的電平信號的總數量,t2為電平信號的延遲時間,t3為車輛正常通行的車輛狀態變化的周期,t3/t2為設定閾值。
通過檢測器對數據包進行命名和編號。主控器接收檢測器發送的數據包時,根據數據包的命名和編號確定丟失的數據包的數量和車輛狀態變化信息,進而將丟失的數據包以電平信號的形式補發至信號機,從而避免了因無線丟包造成的交通流量統計偏差,提高了交通流量統計精度。
可選地,主控器接收檢測器發送的多個數據包之后,主控器若確定接收的多個數據包中的最后一個數據包的車輛狀態變化信息為“車輛占有”時且在設定時間段內沒有再接收到數據包,則發送反饋信號至檢測器,以觸發檢測器發送位于最后一個數據包之后的數據包。
具體實施中,車輛在離開檢測器后,檢測器會將攜帶車輛狀態變化信息為“車輛離開”的數據包發送至主控器,若該數據包沒有被正常發送和接收,同時設定時間段內檢測器沒有檢測到其他車輛且無線協議中的重傳次數用完時,則檢測器啟動定時重傳機制,具體為檢測器周期性發送位于最后一個數據包之后的數據包。定時重傳機制在檢測器重新檢測到車輛狀態時停止。設定時間段根據具體情況設定,檢測器發送位于最后一個數據包之后的數據包的周期根據具體情況設定。需要說明的是,本發明實施例中,主控器確定接收的多個數據包中的最后一個數據包的車輛狀態變化信息為“車輛離開”且在設定時間段內沒有再接收到數據包時,檢測器也會啟動定時重傳機制。
本發明實施例中車輛離開狀態的數據包未被成功發送和接收且后續很長一段時間內檢測器沒有檢測到車輛時,會出現檢測器持續被占用的假象,導致檢測器占有率的統計存在很大偏差。信號機若使用檢測器檢測到的車輛狀態進行信號控制,會導致在平峰時段觸發擁堵方案,對信號控制效果產生較大的影響。通過設置定時重傳機制,有效地補償了因“車輛離開”的數據包丟失且后續車輛長時間沒有到達而導致的占有率統計偏差。
從上述內容可以看出,主控器接收檢測器發送的數據包,數據包攜帶自身的編號和車輛狀態變化信息,車輛狀態變化信息表征設定區域為“車輛占有”或“車輛離開,然后主控器根據接收到的多個數據包的編號和預設的編號規則,判斷是否有數據包丟失及確定丟失的數據包的數量。若是,則主控器根據丟失的數據包的數量、丟失的數據包相鄰的數據包的車輛狀態變化信息、檢測器依次發送數據包攜帶的車輛狀態變化信息交替為“車輛占有”、“車輛離開”的規律,生成丟失的數據包。本發明實施中檢測器檢測車輛狀態后,對檢測到的車輛狀態變化信息以數據包的形式發送至主控器,檢測器在發送車輛狀態變化信息之前對數據包根據預設的編號規則進行編號,故主控器在接收到數據包后,根據數據包的編號快速判斷數據包是否丟失,進而根據丟失的數據包的數量、丟失的數據包相鄰的數據包的車輛狀態變化信息、檢測器依次發送數據包攜帶的車輛狀態變化信息交替為“車輛占有”、“車輛離開”的規律,生成丟失的數據包,從而避免了因無線通信失敗而導致的檢測準確率低的問題。
基于相同構思,圖4示例性的示出了本發明實施例提供的一種主控器的結構,該主控器可以執行地磁車輛檢測的數據包傳輸及處理方法的流程。
如圖4所示,該主控器包括:
接收模塊401,用于接收檢測器發送的數據包,所述數據包攜帶自身的編號和車輛狀態變化信息,所述車輛狀態變化信息表征設定區域為“車輛占有”或“車輛離開”;
確定模塊402,用于根據所述接收到的多個數據包的編號和預設的編號規則,判斷是否有數據包丟失及確定丟失的數據包的數量;
處理模塊403,用于在所述確定模塊402確定所述接收到的多個數據包中存在數據包丟失時,根據所述丟失的數據包的數量、所述丟失的數據包相鄰的數據包的車輛狀態變化信息、檢測器依次發送數據包攜帶的車輛狀態變化信息交替為“車輛占有”、“車輛離開”的規律,生成丟失的數據包。
所述處理模塊403還用于:
在所述主控器根據所述丟失的數據包的數量、所述丟失的數據包相鄰的數據包的車輛狀態變化信息、檢測器依次發送數據包攜帶的車輛狀態變化信息交替為“車輛占有”、“車輛離開”的規律,生成丟失的數據包之后,
根據所述丟失的數據包生成所述丟失的數據包對應的電平信號;
將所述丟失的數據包對應的電平信號發送至信號機。
所述處理模塊403具體用于:
根據下述公式(1)確定所述電平信號的延遲時間;
所述公式(1)為:
t2>2t1………………………………………(1)
其中,t1為信號機的采樣周期,t2為電平信號的延遲時間;
根據下述公式(2)確定所述主控器發送的所述丟失的數據包對應的電平信號的總數量;
所述公式(2)為:
a≤t3/t2………………………………………(2)
其中,a為主控器發送的丟失的數據包對應的電平信號的總數量,t2為電平信號的延遲時間,t3為車輛正常通行的車輛狀態變化的周期,t3/t2為設定閾值。
所述處理模塊403還用于:
在所述主控器將所述丟失的數據包對應的電平信號發送至信號機之后,根據所述接收到的數據包攜帶的車輛狀態變化信息,生成所述接收到的數據包對應的電平信號;
所述主控器將所述接收的數據包對應的電平信號發送至所述信號機。
所述接收模塊401還用于:
所述主控器接收檢測器發送的數據包之后,若確定接收的數據包中的最后一個數據包的車輛狀態變化信息為“車輛占有”時且在設定時間段內沒有再接收到數據包,則發送反饋信號至所述檢測器,以觸發所述檢測器發送位于所述最后一個數據包之后的數據包。
本領域內的技術人員應明白,本發明的實施例可提供為方法、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。