本發明涉及通信技術領域,特別涉及一種時鐘同步方法及裝置。
背景技術:
ad-hoc網絡也被稱為多跳無線網、自組織網絡。ad-hoc網絡有三個主要的特征:自組織、對等式、多跳。自組織指ad-hoc網絡不依賴于預設的基礎網絡設施,對等式指其無中心節點、所有節點地位平等,多跳指節點可以利用中間節點的多跳轉發與其覆蓋范圍之外的節點進行通信。ad-hoc網絡是一種動態的網絡,網絡中的節點狀態在動態變化,它不依賴于基礎設施、無需基站,可以自組織地形成網絡,并且具有很強的抗毀性,因此在軍事運用和惡劣環境等條件下具有較好的表現。
ad-hoc網絡啟動時,各節點間的時鐘存在一個偏移量;由于制作工藝和時鐘老化問題,網絡中各節點內部時鐘頻率不一致,因此,即使一個同步的網絡,在工作過程中也不可避免地會產生時鐘異步的現象。這些原因都將導致各節點內部參考時鐘不一致。
cdma(codedivisionmultipleacces,碼分多址)等多址方式雖然有較高的系統容量,但要求傳輸節點具有功率控制的能力,在ad-hoc網絡的設備中難以實現。而在ad-hoc網絡的一些運用(如軍事運用)中,對實時性的要求較高,因此ad-hoc網絡采用tdma(timedivisionmultipleaddress,時分多址)的多址方式。tdma需要較高同步精度的時鐘以完成多址工作,同時,ad-hoc中的數據包接收、節點的休眠與喚醒等工作也需要同步的時鐘。
ad-hoc各節點的時鐘同步面臨著一些困難。ad-hoc是對等式網絡,各節點處于分布式狀態,無中心節點對各節點進行同步;由于成本高、能耗大、高風險,一般不采用gps(globalpositioningsystem,全球定位系統)進行時鐘同步;ad-hoc網絡形成初期存在較多的沖突,而且網絡的拓撲結構在迅速變化,同步算法實現的復雜度較高。
相關技術中,通常采用的時鐘同步算法主要分為主從同步算法和互同步算法兩種,其中,主從同步算法通過一定的方式選取出代表網絡參考時鐘的主節點,主節點給其他節點廣播自身的時鐘信息,以此達到網絡的同步。該類算法實現簡單,收斂速度快,但在網絡規模較大,主節點的多跳鄰居節點存在較大的累計延時,同步精度較差。
互同步算法中,網絡中的每個節點都向鄰居節點廣播自身的時鐘信息,鄰居節點間可根據該時鐘信息做出反饋,實現兩者間的時鐘同步。該方法受累計延時和網絡拓撲變化的影響較小,但一般情況下每次同步需要鄰居節點間實現一次往來通信,在網絡規模較大時,收斂速度較慢。
兩類算法各有優劣,但單純的主從同步算法和互同步算法無法滿足ad-hoc網絡對于時鐘同步精度及同步算法開銷的要求。
技術實現要素:
本發明旨在至少在一定程度上解決上述技術問題。
為此,本發明的第一個目的在于提出一種時鐘同步方法,通過對網絡中的節點先進行時隙同步再進行時鐘同步,并通過定時校正時間周期性地對節點的時鐘計數器進行校正,減少了傳播延時和處理延時帶來的同步誤差,糾正節點內部時鐘頻率的差異,減少了網絡時鐘同步的開銷,使得網絡能夠快速達到同步狀態,提高了的時鐘同步精度并維持較為穩定的同步狀態。
本發明的第二個目的在于提出一種時鐘同步裝置。
為達上述目的,根據本發明第一方面實施例提出了一種時鐘同步方法,包括:s1,為網絡中的每個節點分配節點號,并根據每個節點的節點號確定網絡中的時鐘參考節點;s2,根據所述時鐘參考節點的時隙號信息對網絡中其余節點進行時隙號糾正,以完成網絡中節點的時隙的同步;s3,根據往返延時校正機制和所述時鐘參考節點的時鐘計數器信息對網絡中其余節點進行時鐘同步,以完成網絡中節點的時鐘的同步;s4,獲取預先為節點設置的定時校正時間,并根據所述定時校正時間周期性對節點的時鐘計數器進行校正。
本發明實施例的時鐘同步方法,為網絡中的每個節點分配節點號,并根據每個節點的節點號確定網絡中的時鐘參考節點;根據時鐘參考節點的時隙號信息對網絡中其余節點進行時隙號糾正,以完成網絡中節點的時隙的同步;根據往返延時校正機制和時鐘參考節點的時鐘計數器信息對網絡中其余節點進行時鐘同步,以完成網絡中節點的時鐘的同步,以及獲取預先為節點設置的定時校正時間,并根據定時校正時間周期性對節點的時鐘計數器進行校正。由此,通過對網絡中的節點先進行時隙同步再進行時鐘同步,并通過定時校正時間周期性地對節點的時鐘計數器進行校正,減少了傳播延時和處理延時帶來的同步誤差,糾正節點內部時鐘頻率的差異,減少了網絡時鐘同步的開銷,使得網絡能夠快速達到同步狀態,提高了的時鐘同步精度并維持較為穩定的同步狀態。
本發明第二方面實施例提出了一種時鐘同步裝置,包括:確定模塊,用于為網絡中的每個節點分配節點號,并根據每個節點的節點號確定網絡中的時鐘參考節點;第一處理模塊,用于根據所述時鐘參考節點的時隙號信息對網絡中其余節點進行時隙號糾正,以完成網絡中節點的時隙的同步;第二處理模塊,用于根據往返延時校正機制和所述時鐘參考節點的時鐘計數器信息對網絡中其余節點進行時鐘同步,以完成網絡中節點的時鐘的同步;校正模塊,用于獲取預先為節點設置的定時校正時間,并根據所述定時校正時間周期性對節點的時鐘計數器進行校正。
本發明實施例的時鐘同步裝置,為網絡中的每個節點分配節點號,并根據每個節點的節點號確定網絡中的時鐘參考節點;根據時鐘參考節點的時隙號信息對網絡中其余節點進行時隙號糾正,以完成網絡中節點的時隙的同步;根據往返延時校正機制和時鐘參考節點的時鐘計數器信息對網絡中其余節點進行時鐘同步,以完成網絡中節點的時鐘的同步,以及獲取預先為節點設置的定時校正時間,并根據定時校正時間周期性對節點的時鐘計數器進行校正。由此,通過對網絡中的節點先進行時隙同步再進行時鐘同步,并通過定時校正時間周期性地對節點的時鐘計數器進行校正,減少了傳播延時和處理延時帶來的同步誤差,糾正節點內部時鐘頻率的差異,減少了網絡時鐘同步的開銷,使得網絡能夠快速達到同步狀態,提高了的時鐘同步精度并維持較為穩定的同步狀態。
本發明的附加方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發明的實踐了解到。
附圖說明
本發明的上述和/或附加的方面和優點從結合下面附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1為根據本發明一個實施例的時鐘同步方法的流程圖;
圖2為自組織網絡的網絡拓撲結構示例圖;
圖3為時隙結構的示例圖;
圖4為圖2中節點在競爭選擇時鐘參考節點的時隙占用情況的示例圖;
圖5為步驟s2的細化流程圖;
圖6為第一廣播包的格式的示例圖;
圖7為圖2中節點的時隙同步過程的示例圖;
圖8為步驟s3的細化流程圖;
圖9為第二廣播包的格式的示例圖;
圖10為第三廣播包的格式的示例圖;
圖11為圖2中的節點在進行時鐘同步時所對應的時隙的示例圖;
圖12為根據本發明一個實施例的時鐘同步裝置的結構示意;
圖13為根據本發明另一個實施例的時鐘同步裝置的結構示意。
具體實施方式
下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發明,而不能理解為對本發明的限制。
在本發明的描述中,需要理解的是,術語“多個”指兩個或兩個以上;術語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性。
下面參考附圖描述根據本發明實施例的時鐘同步方法及裝置。
圖1為根據本發明一個實施例的時鐘同步方法的流程圖。其中,需要說明的是,該實施例應用于自組織a-doc網絡中。
如圖1所示,根據本發明實施例的時鐘同步方法,包括以下步驟。
s1,為網絡中的每個節點分配節點號,并根據每個節點的節點號確定網絡中的時鐘參考節點。
在本發明的一個實施例中,針對自組織網絡中的每個節點,為網絡中的每個節點分配節點號,并為每個節點設置各自包發送的時隙,然后,每個節點在其對應的時隙將自身的節點號廣播給其相鄰的節點,之后,接收到廣播的節點號的節點將自身的節點號與接收到的節點號比較,以確定出最小的節點號,之后,接收到廣播的節點號的節點在其對應的時隙將最小的節點號廣播給其相鄰的節點,直至網絡中所有節點廣播的節點號均相同。
在網絡中所有節點廣播的節點號均相同時,針對每個節點,將每個節點接收到的最小的節點號與其自身的節點號比較,如果兩者相同,則將對應的節點作為時鐘參考節點。
作為一種示例性的實施方式,為每個節點設置各自包發送的時隙的方式可采用隨機選擇的方式,并在節點發包發生沖突時,可重新隨機選擇時隙。
作為一種示例性的實施方式,檢測沖突的方式可采用間接確認的方式,如果從來自鄰居節點的信息中發現鄰居節點未收到自己所發的包,說明發包發生沖突。
具體而言,針對每個節點,如果確定節點所接收到的包未發生沖突,則接收到廣播的節點號的節點將自身的節點號與接收到的節點號比較,以確定出最小的節點號,之后,接收到廣播的節點號的節點在其對應的時隙將最小的節點號廣播給其相鄰的節點。
如果確定節點接收到的包發生沖突,則對應的節點在其對應的時隙將自身的節點號廣播給其相鄰的節點。
舉例而言,假設自組織網絡的網絡拓撲結構示例圖,如圖2所示,圖2中所示的自組織網絡中有四個節點號分別為1、2、3、4的節點,直線相連表示兩個節點互為鄰居節點,可以接收到對方發出的包。假設時隙結構的示例圖,如圖3所示,每個周期中包含n個時隙,周期數的總數為m。假設網絡中的節點異步啟動,并在n個時隙中隨機選擇一個時隙發送自身的節點號,如果1號節點隨機選擇了第3個時隙發送,2號節點隨機選擇了第2個時隙發送,3號節點隨機選擇了第6個時隙發送,4號節點隨機選擇了第5個時隙發送。由于節點異步啟動,2號節點的啟動比1號節點晚了一個時隙,在3號節點處收到的來自1號、2號節點的包發生了沖突,3號節點未能成功收包,因此3號節點將發送自己的節點號。1號節點和2號節點收到來自3號節點的包后,發現包中的節點號大于自身的節點號,判斷自己所發的包發生了沖突,因此重新隨機選擇時隙發包,假設此后1號節點在2號時隙發包,2號節點在4號時隙發包。未判斷發生沖突的3號節點和4號節點維持原發包時隙不變。在下一個周期,2號節點和3號節點收到來自1號節點的包,其節點號小于自身節點號,此后2號節點和3號節點也會發送1號節點的節點號。4號節點此前收到過2號節點的包,但這個周期收到了更小的節點號,將自己收到過的最小的節點號更新為1。在下一個周期,由于每個節點均在各自的時隙均發送最小的節點號,即,每個節點均發送節點號1,因此,每個節點判斷自身收到過的最小的節點號是否與自己的節點號相等,相等時認為自己是網絡中節點號最小的節點,則成為網絡中的時鐘參考節點,其余節點等待來自時鐘參考節點的同步。其中,圖2中節點在競爭選擇時鐘參考節點的時隙占用情況的示例圖,如圖4所示,其中,圖4中的數字2表示第2個時隙,數字3表示第3個時隙,數字4表示第4個時隙,數字5表示第5個時隙,數字6表示第6個時隙。
s2,根據時鐘參考節點的時隙號信息對網絡中其余節點進行時隙號糾正,以完成網絡中節點的時隙的同步。
在本發明的一個實施例中,如圖5所示,步驟s2可以包括以下步驟。
s21,控制時鐘參考節點將包含自身的時隙號信息的第一廣播包廣播給其相鄰的節點。
其中,需要說明的是,第一廣播包中除了包含是時隙號信息外,還可以包括自身節點號、粗同步標志位、包類型等信息。
其中,第一廣播包的格式的示例圖,如圖6所示,圖6所示的第一廣播包中包括包類型、自身節點號、粗同步標志位和時隙號。
s22,控制接收到第一廣播包的節點根據時隙號信息進行時隙號糾正,以完成時隙的同步。
s23,控制接收到第一廣播包的節點將包含自身的時隙號信息的第一廣播包廣播給其相鄰的節點。
s24,重復執行步驟s22至s23,直至網絡拓撲關系圖中所有節點完成時隙的同步。
再以圖2所示的自組織網絡為例,假設1號節點在2號時隙發包,2號節點在4號時隙發包,3號節點隨機選擇了第6個時隙發送,4號節點隨機選擇了第5個時隙發送。在將1號節點作為時鐘參考節點時,1號節點廣播包含自身的時隙號信息的第一廣播包,接收到第一廣播包的2號節點和3號節點利用第一廣播包中的時隙號信息同步自身的時隙號,把自身內部維護的粗同步標志位置為1,此后,在下一個周期,2號節點和3號節點在各自的時隙也開始發送包含自身的時隙號信息的第一廣播包,對應地,4號節點接收到來自2號節點的第一廣播包后,4號節點根據第一廣播包中的時隙號信息完成粗同步,至此,整個自組織網絡完成節點間的時隙的同步,其中,圖2中節點的時隙同步過程的示例圖,如圖7所示。
s3,根據往返延時校正機制和時鐘參考節點的時鐘計數器信息對網絡中其余節點進行時鐘同步,以完成網絡中節點的時鐘的同步。
在本發明的一個實施例中,如圖8所示,步驟s3可以包括以下步驟。
s31,控制時鐘參考節點將包含自身的時鐘計時器信息的第二廣播包廣播給其相鄰的節點。
其中,該實施例中的時鐘計數器信息包括往返延時校正時鐘值。
在本發明的一個實施例中,控制時鐘參考節點起始時發送的第二廣播包中的節點號和往返延時校正時鐘值均設為空,并將對應的第二廣播包廣播給其相鄰的節點。
s32,控制接收到第二廣播包的節點根據時鐘計數器信息和往返延時校正機制完成時鐘計數器的同步。
在本發明的一個實施例中,第二廣播包還可以包括目的節點號、包類型、自身節點號、目的節點號,節點序列號等信息。
其中,包含包類型、自身節點號、目的節點號,節點序列號和返延時校正時鐘值的第二廣播包的格式,如圖9所示。
在本發明的一個實施例中,控制接收到第二廣播包的節點根據時鐘計數器信息和往返延時校正機制完成時鐘計數器的同步可以包括:接收到第二廣播包的節點判斷出第二廣播包中的目的節點號與其自身的節點號不一致時,將自身的時鐘計數器清零,之后,接收到第二廣播包的節點在其對應的時隙向時鐘參考節點發送第三廣播包,其中,第三廣播包用于向時鐘參考節點發送往返時延請求。
然后,如果判斷出時鐘參考節點在本周內接收到多個第三廣播包,則控制時鐘參考節點將本周期內最先接到的第三廣播包中的時鐘計數器值與自身的時鐘計數器值進行計算,以獲取第一往返延時校正值,之后,控制時鐘參考節點將包含第一往返延時校正值的第二廣播包發送給與最先接到的第三廣播包對應的第一節點。然后,第一節點根據第一往返延時校正值對其自身的時鐘計數器進行校正,以完成時鐘的同步。之后,控制時鐘參考節點接收后續的第三廣播包,并根據后續接收到的第三廣播包中的時鐘計數器值與自身的時鐘計數器值進行計算,以獲取第二往返延時校正值。之后,控制時鐘參考節點將包含第二往返延時校正值的第二廣播包發送給第二節點,其中,第二節點與后續接收到的第三廣播包對應。以及控制第二節點根據第二往返延時校正值對其自身的時鐘計數器進行校正,以完成時鐘的同步。
另外,在本發明的一個實施例中,如果接收到第二廣播包的節點判斷出目的節點號和自身的節點號相同,且包中的節點序列號與自己存儲的節點序列號一致,則利用第二廣播包中的往返延時校正值校正自身的時鐘計數器,并將自身中的節點序列號加一。
其中,第三廣播包可以包括但不限于包類型、自身節點號、目的節點號、時鐘計數器值。
其中,包含包類型、自身節點號、目的節點號和時鐘計數器數值的第三廣播包的格式,如圖10所示。
s33,控制接收到第二廣播包的節點將包含自身的時鐘計數器信息的第二廣播包廣播給其相鄰的節點。
s34,重復執行步驟s32至s33,直至網絡拓撲關系圖中所有節點完成時鐘計數器的同步。
舉例而言,再以圖2所示的自組織網絡為例,假設1號節點在2號時隙發包,2號節點在4號時隙發包,3號節點隨機選擇了第6個時隙發送,4號節點隨機選擇了第5個時隙發送。在該網絡中的所有節點完成時隙的同步后,控制1號節點發送第二廣播包,其中,該第二廣播包中的目的節點為空,往返延時校正時鐘值為空,節點序列號為0,接收到第二廣播包的2號節點和3號節點判斷第二廣播包中的目的節點號與自己節點號不一致,分別將自身的時鐘計數器清零,記錄收到的節點序列號,2號節點和3號節點分別在第4個時隙和第6個時隙發送一個第三廣播包,其中,第三廣播包中的目的節點為1號節點。1號節點收到來自2號節點的第三廣播包,其目的節點是自身,則利用包中的時鐘計數器值與自身的時鐘計數器值計算出往返延時校正值。之后1號節點收到來自3號節點的第三廣播包,對其不加以處理。1號節點在下一個周期,在1號節點對應的第2時隙發送第二廣播包,目的節點為2號節點,2號節點接收到該第二廣播包后,判斷出該第二廣播包中的目的節點號與自身的節點號相同,且該第二廣播包中的節點序列號和自身存儲的節點序列號相同,此時,2號節點利用該第二廣播包中的往返延時校正值對自身的計數器進行校正,完成自身的時鐘同步,記錄此次同步自身的節點為1號節點,其節點序列號為0,并記錄此次同步的時間,同時自身的節點序列號加1。完成時鐘同步的2號節點把自身內部維護的細同步標志位置為1,此后,2號節點也開始發送第二廣播包,其中,需要說明的是,2號節點第一次發送第二廣播包時,第二廣播包中的目的節點號和往返延時校正時鐘值均為空,其對應的節點序列號為1。對于3號節點,3號節點在其對應的時隙繼續發送目的節點為1號節點的第三廣播包,1號節點在接收到3號節點發送的第三廣播包后,利用包中的時鐘計數器值與自身的時鐘計數器值計算出往返延時校正值。1號節點在下一個周期,在1號節點對應的第3時隙發送第二廣播包,目的節點為3號節點,3號節點接收到該第二廣播包后,判斷出該第二廣播包中的目的節點號與自身的節點號相同,且該第二廣播包中的節點序列號和自身存儲的節點序列號相同,此時,3號節點利用該第二廣播包中的往返延時校正值對自身的計數器進行校正,完成自身的時鐘同步,記錄此次同步自身的節點為1號節點,其節點序列號為0,并記錄此次同步的時間,同時自身的節點序列號加1。完成時鐘同步的3號節點把自身內部維護的細同步標志位置為1,此后,3號節點也開始發送第二廣播包。對于4號節點,4號節點通過與2號節點的相互交互完成4號節點的時鐘同步。其中,實現過程與1號節點對2號節點的時鐘同步過程類似,此處不再贅述。其中,圖2中的節點在進行時鐘同步時所對應的時隙的示例圖,如圖11所示,通過圖11可以看出,時鐘參考節點(即1號節點)先對2號節點進行時鐘同步,然后,1號節點再繼續對3號節點進行時鐘同步,對應的,已完成時鐘同步的2號節點對4號節點進行時鐘同步。
s4,獲取預先為節點設置的定時校正時間,并根據定時校正時間周期性對節點的時鐘計數器進行校正。
其中,定時校正時間是預先設置的時間,每個節點在達到定時校正時間時,根據時鐘參考節點的時鐘計數器對自身節點中的時鐘計時器進行校正。
舉例而言,對于圖2中的2號節點,如果確定2號節點的時鐘計數器每秒比時鐘參考節點1多10個偏移量,假設定時校正時間為1分鐘,則在每間隔1分鐘對節點2的時鐘計數器進行校正,以校正節點2的時鐘計數器。
作為一種示例性的實施方式,在網絡中的所有節點均完成時鐘同步后,在較長的周期內不用進行時鐘同步。在一定的周期后,網絡中除時鐘參考節點外的節點將自身內部維護的細同步標志位置為0,重新開始細同步階段。2號節點再次被1號節點時鐘同步后,來自1號節點的第二廣播包中的節點序列號與自身存儲的上一次1號節點的節點序列號都為0,2號節點在兩次被1號節點同步的過程中,1號節點和2號節點均未被其他節點所同步,此時2號節點根據兩次同步記錄的時間,計算出定時校正時間,使用定時校正時間對自身的時鐘進行周期性校正。
也就是說,對于網絡中的任意一個節點,節點被同一個節點兩次同步進行時鐘校正后,如果在此期間這兩個節點未被其他節點同步,節點序列號未發生改變,則可以利用時鐘校正值計算出定時校正時間,并根據定時校正時間周期性對節點的時鐘計數器進行校正。
本發明實施例的時鐘同步方法,為網絡中的每個節點分配節點號,并根據每個節點的節點號確定網絡中的時鐘參考節點;根據時鐘參考節點的時隙號信息對網絡中其余節點進行時隙號糾正,以完成網絡中節點的時隙的同步;根據往返延時校正機制和時鐘參考節點的時鐘計數器信息對網絡中其余節點進行時鐘同步,以完成網絡中節點的時鐘的同步,以及獲取預先為節點設置的定時校正時間,并根據定時校正時間周期性對節點的時鐘計數器進行校正。由此,通過對網絡中的節點先進行時隙同步再進行時鐘同步,并通過定時校正時間周期性地對節點的時鐘計數器進行校正,減少了傳播延時和處理延時帶來的同步誤差,糾正節點內部時鐘頻率的差異,減少了網絡時鐘同步的開銷,使得網絡能夠快速達到同步狀態,提高了的時鐘同步精度并維持較為穩定的同步狀態。
為了實現上述實施例,本發明還提出一種時鐘同步裝置。
圖12為根據本發明一個實施例的時鐘同步裝置的結構示意圖。
如圖12所示,根據本發明實施例的時鐘同步裝置包括確定模塊110、第一處理模塊120、第二處理模塊130和校正模塊140,其中:
確定模塊110用于為網絡中的每個節點分配節點號,并根據每個節點的節點號確定網絡中的時鐘參考節點。
第一處理模塊120用于根據時鐘參考節點的時隙號信息對網絡中其余節點進行時隙號糾正,以完成網絡中節點的時隙的同步。
第二處理模塊130用于根據往返延時校正機制和時鐘參考節點的時鐘計數器信息對網絡中其余節點進行時鐘同步,以完成網絡中節點的時鐘的同步。
校正模塊140用于獲取預先為節點設置的定時校正時間,并根據定時校正時間周期性對節點的時鐘計數器進行校正。
在本發明的一個實施例中,第一處理模塊通過步驟s21至s24完成網絡中節點的時隙的同步,其中:
s21,控制時鐘參考節點將包含自身的時隙號信息的第一廣播包廣播給其相鄰的節點。
s22,控制接收到第一廣播包的節點根據時隙號信息進行時隙號糾正,以完成時隙的同步。
s23,控制接收到第一廣播包的節點將包含自身的時隙號信息的第一廣播包廣播給其相鄰的節點。
s24,重復執行步驟s22至s23,直至網絡拓撲關系圖中所有節點完成時隙的同步。
其中,需要說明的是,具體過程可參見前述對圖5,前述對圖5的解釋說明也適用于該實施例,此處不再贅述。
在本發明的一個實施例中,第二處理模塊通過步驟s31至s34完成網絡中節點的時鐘的同步,其中:
s31,控制時鐘參考節點將包含自身的時鐘計時器信息的第二廣播包廣播給其相鄰的節點。
s32,控制接收到第二廣播包的節點根據時鐘計數器信息和往返延時校正機制完成時鐘計數器的同步。
s33,控制接收到第二廣播包的節點將包含自身的時鐘計數器信息的第二廣播包廣播給其相鄰的節點。
s34,重復執行步驟s32至s33,直至網絡拓撲關系圖中所有節點完成時鐘計數器的同步。
其中,第二處理模塊130完成網絡中節點的時鐘的同步的具體過程,可參見圖8,前述對圖8的解釋說明也使用該實施例,此處不再贅述。
在本發明的一個實施例中,在圖12所示的實施例的基礎上,如圖13所示,確定模塊110可以包括設置單元111、廣播單元112、確定單元113、第一處理單元114和第二處理單元115,其中:
設置單元111用于為每個節點設置各自包發送的時隙。
廣播單元112用于每個節點在其對應的時隙將自身的節點號廣播給其相鄰的節點。
確定單元113用于接收到廣播的節點號的節點將自身的節點號與接收到的節點號比較,以確定出最小的節點號。
第一處理單元114用于接收到廣播的節點號的節點在其對應的時隙將最小的節點號廣播給其相鄰的節點,直至網絡中所有節點廣播的節點號均相同。
第二處理單元115用于針對每個節點,將每個節點接收到的最小的節點號與其自身的節點號比較,如果兩者相同,則將對應的節點作為時鐘參考節點。
在本發明的一個實施例中,第二廣播包還包括目的節點號和節點序列號,時鐘計時器信息包括往返延時校正時鐘值,起始時第二廣播包中的節點號和往返延時校正時鐘值均為空,第二處理模塊130具體用于:接收到第二廣播包的節點判斷出第二廣播包中的目的節點號與其自身的節點號不一致時,將自身的時鐘計數器清零,并保存接收到的節點序列號,并在其對應的時隙向時鐘參考節點發送第三廣播包,其中,第三廣播包包含時鐘計數器值,第三廣播包用于向時鐘參考節點發送往返時延請求;如果判斷出時鐘參考節點在本周內接收到多個第三廣播包,則控制時鐘參考節點將本周期內最先接到的第三廣播包中的時鐘計數器值與自身的時鐘計數器值進行計算,以獲取第一往返延時校正值;控制時鐘參考節點將包含第一往返延時校正值的第二廣播包發送給與最先接到的第三廣播包對應的第一節點;第一節點根據第一往返延時校正值對其自身的時鐘計數器進行校正,以完成時鐘的同步;控制時鐘參考節點接收后續的第三廣播包,并根據后續接收到的第三廣播包中的時鐘計數器值與自身的時鐘計數器值進行計算,以獲取第二往返延時校正值;控制時鐘參考節點將包含第二往返延時校正值的第二廣播包發送給第二節點,其中,第二節點與后續接收到的第三廣播包對應;控制第二節點根據第二往返延時校正值對其自身的時鐘計數器進行校正,以完成時鐘的同步。
其中,需要說明的是,前述對時鐘同步方法的解釋說明也適用于該實施例的時鐘同步裝置,此處不再贅述。
本發明實施例的時鐘同步裝置,為網絡中的每個節點分配節點號,并根據每個節點的節點號確定網絡中的時鐘參考節點;根據時鐘參考節點的時隙號信息對網絡中其余節點進行時隙號糾正,以完成網絡中節點的時隙的同步;根據往返延時校正機制和時鐘參考節點的時鐘計數器信息對網絡中其余節點進行時鐘同步,以完成網絡中節點的時鐘的同步,以及獲取預先為節點設置的定時校正時間,并根據定時校正時間周期性對節點的時鐘計數器進行校正。由此,通過對網絡中的節點先進行時隙同步再進行時鐘同步,并通過定時校正時間周期性地對節點的時鐘計數器進行校正,減少了傳播延時和處理延時帶來的同步誤差,糾正節點內部時鐘頻率的差異,減少了網絡時鐘同步的開銷,使得網絡能夠快速達到同步狀態,提高了的時鐘同步精度并維持較為穩定的同步狀態。
在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結合。此外,在不相互矛盾的情況下,本領域的技術人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結合和組合。
此外,術語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術特征的數量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個該特征。在本發明的描述中,“多個”的含義是兩個或兩個以上,除非另有明確具體的限定。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現特定邏輯功能或過程的步驟的可執行指令的代碼的模塊、片段或部分,并且本發明的優選實施方式的范圍包括另外的實現,其中可以不按所示出或討論的順序,包括根據所涉及的功能按基本同時的方式或按相反的順序,來執行功能,這應被本發明的實施例所屬技術領域的技術人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用于實現邏輯功能的可執行指令的定序列表,可以具體實現在任何計算機可讀介質中,以供指令執行系統、裝置或設備(如基于計算機的系統、包括處理器的系統或其他可以從指令執行系統、裝置或設備取指令并執行指令的系統)使用,或結合這些指令執行系統、裝置或設備而使用。就本說明書而言,"計算機可讀介質"可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執行系統、裝置或設備或結合這些指令執行系統、裝置或設備而使用的裝置。計算機可讀介質的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(ram),只讀存儲器(rom),可擦除可編輯只讀存儲器(eprom或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(cdrom)。另外,計算機可讀介質甚至可以是可在其上打印所述程序的紙或其他合適的介質,因為可以例如通過對紙或其他介質進行光學掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。
應當理解,本發明的各部分可以用硬件、軟件、固件或它們的組合來實現。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執行系統執行的軟件或固件來實現。例如,如果用硬件來實現,和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現:具有用于對數據信號實現邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現場可編程門陣列(fpga)等。
本技術領域的普通技術人員可以理解實現上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,該程序在執行時,包括方法實施例的步驟之一或其組合。
此外,在本發明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現,也可以采用軟件功能模塊的形式實現。所述集成的模塊如果以軟件功能模塊的形式實現并作為獨立的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中。
上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。盡管上面已經示出和描述了本發明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發明的限制,本領域的普通技術人員在本發明的范圍內可以對上述實施例進行變化、修改、替換和變型。