本發明涉及工業物聯網領域,具體地說是一種基于事件觸發的工業物聯網低開銷時間同步方法。
背景技術:
1、為網絡節點提供統一時間參考的時間同步技術在工業物聯網中起著至關重要的作用。推動工業物聯網高效率和深層次的應用離不開各種工業設備之間及時準確的數據傳輸和協同操作。而在實際場景中,大量應用于工業物聯網感知層的無線傳感器節點由于制造工藝會呈現出時鐘速率上的微小差異,導致時間異步。因此,網絡節點之間不可避免地需要進行時鐘信息的交互,以確保它們在時間上的一致性。完全分布式的時間同步方法因其高靈活性和強魯棒性更加適用于大規模的工業物聯網中。但值得注意的是,分布式同步方法需要節點之間頻繁的通信迭代,這違背了資源受限的工業物聯網環境中關于相關算法的節能設計理念,極大地限制了按照時間進行周期性廣播的完全分布式時間同步方法的應用。
2、區別于時間觸發控制機制,事件觸發控制機制下,只有滿足特定的條件才會觸發廣播通信,可以有效節約不必要的通信開銷。因此,融合事件觸發機制設計時間同步方法為降低大型工業物聯網環境下分布式時間同步方法的通信開銷,進而延長網絡的使用壽命,提供了新的思路。
3、在基于事件觸發的時間同步方法中,節點僅在狀態自前一次傳輸以來充分改變時才廣播消息,而非傳統的基于時間進行頻繁地周期廣播,顯著降低了工業物聯網的通信能耗。但是,現有的事件觸發時間同步方法有著節點觸發不穩定、不均勻等問題。即在時間同步階段的后期,節點的觸發易處于停滯狀態,不利于提高時間同步的精度。此外,節點觸發的事件會出現疏密不一的不均勻狀態,例如節點在前期頻繁觸發、后期稀疏觸發,進而導致通信廣播次數增加的同時易增加共享網絡的堵塞概率。因此,亟需一種在不增加通信能耗的情況下,確保事件穩定和均勻觸發,并且實現全網時鐘同步的事件觸發時間同步方法。
技術實現思路
1、針對現有技術中存在的上述不足之處,本發明要解決的技術問題是提供一種應用于工業物聯網環境中基于事件觸發的完全分布式時間同步方法,處理時間觸發機制中的頻繁通信和事件觸發機制中節點不能穩定觸發且觸發不均勻的問題;為系統提供一種適用于大規模工業物聯網場景下基于事件觸發的節點交互策略,能夠以較低的通信開銷達到合理的時間同步精度,且所有節點能夠穩定地觸發廣播,同時廣播間隔均勻,廣播任務相近,降低了網絡擁塞的概率。
2、為達到上述目的,本發明提供如下技術方案:
3、一種基于事件觸發的工業物聯網低開銷時間同步方法,針對事件觸發時間同步方法中節點觸發不穩定、不均勻的問題,提出了一種基于鄰居時鐘狀態誤差的聯合估計來構造動態閾值的方法,節點的狀態誤差將隨著絕對時間的累積而增加,直到它超過所設定的動態閾值,即實現穩定和稀疏的觸發通信和及時的同步校錯,從而實現全局時鐘趨于一致;此外,設計了一個估計器來估計鄰居的實時時鐘狀態,避免了額外的通信。
4、本發明所述的基于事件觸發的工業物聯網低開銷時間同步方法采用的技術方案是:
5、將硬件參數相近的傳感器節點通過無線共享網絡連接在一起,生成隨機的拓撲結構;
6、本地節點初始化時鐘參數并設置更新周期,所有節點按照周期更新邏輯時鐘漂移和偏移補償參數;
7、本地節點基于設計的估計器,利用自身已有的信息估計鄰居的實時狀態信息,并構建動態閾值,同時為了加快前期的收斂速度,在動態閾值的基礎上增添邏輯時鐘偏移補償參數的約束,即增加一個靜態閾值的觸發條件;
8、本地節點判斷是否滿足觸發條件,超出觸發閾值的情況下保存并廣播自身的時鐘狀態信息;
9、本地節點調整本地時鐘直至全局時鐘同步。
10、所述隨機拓撲結構是指:相同功能的傳感器節點位置隨機分布,以通信半徑來確定自己的鄰居節點并進行雙向通信,形成隨機的網絡拓撲結構,但要確保每一個本地節點至少有一個鄰居節點。
11、所述初始化時鐘參數并設置更新周期是指:設定節點的更新周期為t,初始的更新次數為k=1,令所有節點的初始邏輯時鐘漂移和偏移補償參數并將相對時鐘斜率η設為1,tk表示節點第k次更新的物理時間。
12、所述節點更新邏輯時鐘漂移和偏移補償參數是指:本地節點按照設定的更新周期,利用已收集時鐘信息對本地邏輯時鐘參數進行更新。具體過程如下:
13、對于任意傳感器節點i,其硬件時鐘的第k次更新時刻可以表示為當更新次數k大于2且滿足時,分別更新邏輯時鐘漂移補償參數和偏移補償參數:
14、
15、其中,和分別表示節點i的邏輯時鐘漂移補償參數和偏移補償參數;ηij表示節點i和節點j的相對時鐘斜率,即其中,αi和αj分別表示節點i和j的硬件時鐘漂移,分別是節點i從節點j接收到硬件時鐘值時記錄的自身硬件時鐘值;為節點j第k次廣播時刻,節點i記錄鄰居節點j廣播的邏輯時鐘漂移補償參數為這意味著在節點j兩次的廣播間隔,節點i記錄的節點j的邏輯時鐘漂移補償參數不變;|ni|表示節點i的度,ni為節點i的鄰居節點集;表示更新時刻之前的瞬時時刻,表示更新之前節點i記錄的節點j的邏輯時鐘漂移補償參數,表示節點i最近一次廣播的邏輯時鐘漂移補償參數,此外,表示更新時刻時節點i記錄的節點j的邏輯時鐘估計值,表示更新時刻之前節點i的邏輯時鐘值。
16、所述估計器是指:節點并不是所有更新時刻都會廣播本地時鐘信息,所以并不可知鄰居節點的實時硬件時鐘值和邏輯時鐘值,為了在不增加額外通信的基礎上提高更新參數的精度,本發明在此處設計估計器以估計節點j的實時硬件時鐘和邏輯時鐘值:
17、
18、其中,和分別表示節點j實時硬件時鐘和邏輯時鐘的估計值。表示節點j上一次的傳輸時間,表示節點i接收到j節點上一次傳輸時鐘信息時記錄的本地硬件時鐘值,和分別表示更新之前節點i記錄的節點j邏輯時鐘漂移和偏移補償參數,在考慮理想固定時延情況下,實時硬件時鐘估計值與實際值是一致的,而實時邏輯時鐘估計值與實際值間有可接受的微小誤差。
19、所述動態閾值是指:基于鄰居的實時狀態信息估計值來構造的閾值。為了避免頻繁通信,本發明使用的是估計器中的鄰居實時狀態信息。同時,構造測量誤差與動態閾值做比較。具體過程如下:
20、用ei表示節點i的測量誤差,其中,表示節點i利用最后一次廣播給鄰居節點時鐘信息構成的邏輯時鐘估計值,即和分別表示節點i最近一次廣播的邏輯時鐘漂移和偏移補償參數;zi則表示節點i的組合測量狀態,表示更新時刻節點i的實際邏輯時鐘值,動態閾值表示為
21、節點i更新之后,需要判斷是否滿足如下公式:
22、
23、當滿足此條件時,節點i在更新時鐘后廣播時鐘信息包,其中,σ為權衡參數,滿足0<σ<1,不同節點的權衡參數可以不同。
24、所述靜態閾值是指:將當前更新的邏輯時鐘偏移補償參數和更新前的值相減,與設定的靜態閾值進行比較:
25、
26、其中,c為設定的常數,當滿足此條件時,節點i在更新時鐘后廣播時鐘信息包;設置此靜態閾值的目的是提高前期收斂速度,即,本發明設置的閾值是動態閾值和靜態閾值的組合:
27、或
28、所述保存并廣播自身的時鐘狀態信息是指:當超出了設定的動態或者靜態閾值,節點將更新后的邏輯時鐘漂移和偏移補償參數保存,并且連同本身的硬件時鐘值一起廣播給鄰居節點。
29、所述本地節點調整本地時鐘直至全局時鐘同步是指:本地節點i基于更新的邏輯時鐘補償參數,調整本地邏輯時鐘:
30、本發明采用上述技術方案的優點在于:
31、1、本發明的基于事件觸發的工業物聯網低開銷時間同步方法,是在充分考慮工業物聯網的特點及應用需求,基于隨機拓撲的無向網絡,設計了一種新型閾值的事件觸發方法,在不增加額外通信的情況下解決了事件觸發時間同步方法中無線傳感器節點觸發不穩定、不均勻的問題。
32、2、本發明提出的算法是完全分布式的,即不需要任何全局信息,各節點通過收集鄰居節點的廣播信息完成更新,顯著降低了工業物聯網中無線傳感器節點的頻繁通信。
33、3、本發明提出了一種新的狀態依賴性動態閾值,動態閾值條件由每個節點與其鄰居之間的時鐘狀態誤差確定,通過調節權衡參數來控制觸發頻率和同步精度。
34、4、本發明使用估計器來對鄰居實時時鐘進行估計,克服了節點更新時使用的鄰居節點舊時鐘信息已經隨著時間的推移變得不準確的問題,在不增加通信能耗的基礎上提高了節點的時間同步精度。