TW202301144A - 應用於資料分散式服務的時間校正方法 - Google Patents
應用於資料分散式服務的時間校正方法 Download PDFInfo
- Publication number
- TW202301144A TW202301144A TW110122123A TW110122123A TW202301144A TW 202301144 A TW202301144 A TW 202301144A TW 110122123 A TW110122123 A TW 110122123A TW 110122123 A TW110122123 A TW 110122123A TW 202301144 A TW202301144 A TW 202301144A
- Authority
- TW
- Taiwan
- Prior art keywords
- time
- message
- data
- sender
- correction method
- Prior art date
Links
Images
Landscapes
- Electric Clocks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本發明係一種應用於資料分散式服務的時間校正方法,包含:取得一包括至少一訊息發送者的訊息發送端的一第一時間;該訊息發送者將含有該第一時間的一訊息發佈至一資料分散式服務區域内;包括於一訊息接收端内的至少一訊息接收者自該資料分散式服務區域内取得該第一時間;及依據所取得的該第一時間進行該訊息接收端的一第二時間的校正。
Description
本發明是有關於一種時間校正方法,尤其是一種應用於資料分散式服務(Data Distribution Service,DDS)的時間校正方法。
資料分散式服務(DDS)是Object Management Group (OMG)組織針對即時系統(Real-time Systems)所提出的一種標準規範,其目的在於使用發布/訂閱模式所具有服務自發現、動態擴展、事件過濾的特點,達成數據來源的快速獲取、興趣訂閱和退出、降低頻寬佔用流量等優點,再配合品質服務(Quality of Service,QoS)策略的強化下,資料分散式服務能有效地控制和管理網路傳輸狀況、頻寬流量、内存空間等資源的使用管理,同時也能控制傳輸數據的可靠性、即時性和數據的存在時間。因此,縱使是在無線傳輸資源受限的情況下,透過DDS的應用,仍能產生高可靠且即時性的表現。
基於DDS上述所列之優勢,目前DDS已經廣泛應用於國防、民航、工業控制等領域,例如,智能家居的電力供給控制,發電廠的發動機組的監控都可以使用DDS所提供的技術與機制來達成。此外,關於車輛自動駕駛仍是現今非常熱門且令人持續關注之議題,由於一輛自動駕駛車在行駛24小時後,大約會產生1 兆位元組(Terabyte)的記錄資料量,這大量的資料記錄的用途,除了如同飛機中的黑盒子,能在發生意外後,釐清事發經過之外,也是自動駕駛系統在分析車輛感測環節、控制車輛作動的重要依據資料。但是如果要執行此自動駕駛動作,勢必需要能支援龐大資料之傳輸,又必須確保這些資料在傳輸上是高可靠、即時性的,因此,DDS所提供的技術與機制著實讓車輛自動駕駛的發展邁進一大步。
然而,縱使DDS的技術與機制能讓我們對於智能家居電力控制、發電廠的發動機組的監控,或車輛自動駕駛等夢想更接近實踐,但現階段的DDS仍存在訊息發佈與訂閲之間,如何進行“時間校正、同步”等議題。
舉例而言,在車輛自動駕駛時,當中央系統感測到某些道路上發生突發狀況,而必須下達停止指令讓某些車輛停止時,若這些車輛上的時間與發送停止指令的中央系統上的時間不一致時,哪怕是微秒級的延遲,都可能因爲車輛來不及停下而發生不可回復的憾事。
抑或在智能家居的電力供給控制或發電廠的發動機組的供電上,如中央系統下達關電指令,卻因指令發送方與接收方的時間不同步而導致關電指令的接收有落差時,可能衍生某設備來不及切換開關,吃電過多而超出負荷,造成設備短路毀損,或發電機組未及時關電,導致周邊人員觸電而傷亡。
雖然目前尚有他人提出關於DDS時間同步的作法,如主流方式為“集中式時間校正方法”,也就是訊息的發送方與接收方均統一地跟某一個伺服器進行時間同步,但是在實務運用上,仍具有下列缺點:
一、此方式的時間校正仍會發生延遲:如訊息的發送方或接收方與提供時間校正的伺服器之間的距離,就會影響訊息收發時間延遲,當兩者間的距離越遠,遲延的情形就會越明顯且嚴重;另或者是提供時間校正的伺服器所處理之訊號數量,也會發生延遲情形,亦即因為一次需要同步的設備過多,就會在時間的同步過程中,產生一些時間差。
二、採用此方式進行時間校正,當校正頻率過多時,會造成封包遺漏,並導致精確度不夠。
三、由於此方式是針對“某單一伺服器”的時間進行同步,所以只能同步一個時間。
除此之外,現階段另一個主流的設備時間校正方式,是採用硬體校正方式,即透過所接收到內含有時間校正資訊的GPS訊號,進行GPS訊號定位校正,惟其在實務運用上仍有以下缺點:
僅侷限在設備必須有可以接收GPS訊號的功能,才適用。
易受待校正設備所處地理環境因素影響,例如,該設備位在地下室或者室內收不到GPS訊號或GPS收訊不佳的環境,就無法有效進行時間的校正。
接收額外的GPS訊號,需要多花費相應的電力資源(提高耗電量)。
因此,如何克服上述現階段關於DDS時間同步的缺失,是相關技術人員亟需努力的目標。
有鑑於此,本發明之目的是在提供一種應用於資料分散式服務(DDS)的時間校正方法。
本發明之一目的,係提供一種應用於資料分散式服務的時間校正方法,包含下列步驟:
(一) 首先,取得一包括至少一訊息發送者的訊息發送端的一第一時間。
(二) 接著,該訊息發送者將含有該第一時間的一訊息發佈至一資料分散式服務區域内。
(三) 然後,包括於一訊息接收端内的至少一訊息接收者自該資料分散式服務區域内取得該第一時間。
(四) 最後,依據所取得的該第一時間進行該訊息接收端的一第二時間的校正。
本發明的又一目的,是在於上述的第二時間經過本發明所揭示的時間校正處理之後,是與第一時間互相同步而一致的。
本發明的另一目的,是在於上述之訊息發送者所發佈資料分散式服務區域内的訊息,除了内含第一時間之外,更包含一數據資料,此數據資料内容可為文字、數字、圖片、影音多媒體等各種數位資訊,也可為任何電腦、硬體裝置可識別的機器指令、編碼等。
本發明的再一目的,是在於上述之訊息發送者及訊息接收者之間所進行的訊息發佈與接收行爲,是依據資料分散式服務的服務品質(QoS)控制機制來規範。
本發明的又另一目的,是在於上述的訊息發送端與訊息接收端,可以是分別處於不同的系統環境(即跨平臺),或甚至處於不同的硬體裝置上。
因此,本發明之有益功效在於,在保有資料分散式服務(DDS)之既有即時性(Real Time)、低延遲性、高可靠性及跨多元軟硬體平臺/裝置等優勢前提下,同時有效提升訊息發送者及訊息接收者之間,關於兩邊的時間校正、同步。簡言之,本發明是主動提出時間校正,而不需要任何訊息回饋,且只要透過訂閱方式,就可以定期接收時間校正資訊,全然與集中式伺服器處理時間校正的設備數目、距離等變數無關,進而確實克服了先前技術所述之現行關於DDS時間同步的缺失。
為便貴審查委員能對本發明目的、技術特徵及其功效,做更進一步之認識與瞭解,茲舉實施例配合圖式,詳細說明如下:
有關本發明之相關申請專利特色與技術內容,在以下配合參考圖式之一個較佳實施例的詳細說明中,將可清楚地呈現。
參閱第1圖,為本發明一種應用於資料分散式服務的時間校正方法之一較佳實施例,該時間校正方法包含以下步驟:
(一) 步驟110:取得一包括至少一訊息發送者的訊息發送端的一第一時間。
(二) 步驟120:該訊息發送者將含有該第一時間的一訊息發佈至一資料分散式服務區域内。
(三) 步驟130:包括於一訊息接收端内的至少一訊息接收者自該資料分散式服務區域内取得該第一時間。
(四) 步驟140:依據所取得的該第一時間進行該訊息接收端的一第二時間的校正。
承上,並配合參見第2圖,於該較佳實施例中,透過步驟110,該訊息發送者21可將資料分散式服務(DDS)機制中的DataWriter(數據寫入器)23取得的所在訊息發送端的時間(即本發明的“第一時間221”)而藉由步驟120,以Topic(主題)型態(即本發明的“訊息22”)將含有該第一時間221的訊息22發佈(publish)至一資料分散式服務區域4(Data Distribution Service Domain)内;接著,透過步驟130,訊息接收者31可自該資料分散式服務區域4内,以訂閲(subscribe)方式,透過DataReader-I(第一數據閱讀器)32取得在該訊息22中標示的所在時間(即第一時間221)資訊;進而根據步驟140,以第一時間221來校正該訊息接收者31所在的訊息接收端的時間(即本發明的“第二時間”)。
舉例來説,當中央電力控制中心在監測某處發電廠的發電及供電情形,若發現接下來的發電量即將超出蓄電負荷時,可先採用本發明所示的時間校正方法,透過上述發佈及訂閲程序,將中央電力控制中心的所在時間,即時地傳給該發電廠並讓該發電廠的時間與中央電力控制中心的時間同步,接下來,當中央電力控制中心下達例如5分鐘後停止發電的指令時,該發電廠才能分秒不差地準時執行停止發電的指令;反之,當採用前開所提及的現階段時間同步機制,難免會有時間同步之落差,縱使是微秒級的誤差,都可能導致發電廠未即時停止發電,造成蓄電超出負載,導致機組故障或甚至釀成人員傷亡的災害;此外,現階段的時間同步機制,在校正頻率過多時,會造成封包遺漏,並導致時間同步的精確度不夠,且若所造成遺漏的封包恰是“停止發電”指令者,所衍生的災禍將難以令人想象。
再者,於該較佳實施例中,本發明的訊息發送者21所發佈的Topic(訊息22)内容不限定只有其所在訊息發送端的第一時間221,還可在該訊息22内附帶其他訊息(即本發明的“數據資料”),該數據資料的内容可為文字、數字、圖片、影音多媒體等各種數位資訊,也可為任何電腦、硬體裝置可識別的機器指令、編碼等,此為電腦科學之技術領域人士所熟知,於此不再詳加贅述。。
承前所述,並參見第1至3圖,在資料分散式服務(DDS)機制中尚未建立“發佈-訂閲關聯”的階段(即未完成DDS中所謂的Discovery(探尋)階段),此時,在第3圖中,雙方可在Discovery階段即預先採用本發明所揭示的時間校正方法,其相關設計的實作流程如下:
在訊息發送者21發出探尋的訊息時,就能採用步驟110及步驟120而同時將其所處的第一時間221一併發佈出去,該探尋的訊息包括“訊息發送者資料附加時間211”及“訊息發送者資料的第一次重播212”;接下來,訊息接收者31在收到訊息發送者21所發出之上述訊息後,也會發出“訊息接收者資料311”及“訊息接收者資料的第一次重播312”訊息作爲回應,此時,訊息發送者21就會知道訊息接收者31的存在,並將訊息接收者31加入訊息發送者21這端的資料庫内;再來,訊息發送者21再繼續根據步驟110及步驟120來發送“訊息發送者資料附加時間211”,此時,訊息接收者31就會知道訊息發送者21的存在,而將訊息發送者21加入訊息接收者31這端的資料庫内,並透過步驟130及步驟140,訊息接收者31也會同時根據所接收之訊息發送者21所處的第一時間221(訊息發送者資料附加時間211)進行其第二時間的校正;於此階段,訊息發送者21及訊息接收者31都知道彼此,且雙方基於發佈-訂閲相互關係的時間也都校正而完成同步。
此外,續參見第1至3圖,本發明應用於資料分散式服務的時間校正方法,為了克服“時間校正仍會發生延遲”及“當校正頻率過多時,會造成封包遺漏,並導致精確度不夠”等缺點,在訊息發送者21及訊息接收者31都知道彼此(將對方加入各自的資料庫)之後,訊息發送者21可以定期地透過步驟110及步驟120,在發佈的訊息22中夾帶訊息發送者21所處的第一時間221資訊(即圖3的“訊息發送者資料附加時間211”),或甚至在每次發佈的訊息中,仍持續透過步驟110及步驟120而夾帶訊息發送者21所處的第一時間221資訊,再藉由步驟130及步驟140的實踐,以擔保訊息發送者21及訊息接收者31兩邊的時間在同步一段時間後,不會因爲各方的軟硬體因素而造成時間上的落差,達到持續同步之效果;再者,訊息發送者21是在發佈訊息22時附帶其所處的第一時間221資訊,而非個別密集地多次發送只有單純時間資訊的内容,因此,能因爲減少封包發送量,而大幅降低“校正頻率過多時,會造成封包遺漏,並導致精確度不夠”之習知技術缺點。
值得一提的是,因爲每個訊息接收者31在完成與某訊息發送者21的Discovery階段,而將雙方加入各自的資料庫之後,此訊息接收者31就取得該某訊息發送者21所處的第一時間221而同步;但此後,該訊息接收者31可能再與其他訊息發送者完成Discovery階段,而再將此其他訊息發送者加入到自己的資料庫,也就同時取得該其他訊息發送者所處的時間。簡言之,併參見第2圖,在DDS架構機制下,當一個訊息接收者31分別對X、Y、Z議題都有興趣,而分別訂閲這些複數個訊息發送者的Topic X、Topic Y、Topic Z時,藉由上開之本發明所揭示的“應用於資料分散式服務的時間校正方法”的步驟110~步驟140,此訊息接收者31即能透過DataReader-II(第二數據閱讀器)33、DataReader-III(第三數據閱讀器)34、DataReader-IV(第四數據閱讀器)35分別取得Topic X、Topic Y、Topic Z所屬訊息發送者的各個所處時間並分別於訂閲時校正之,藉此訂閲到最新的Topic訊息,如此克服了習知“只能與某單一伺服器的時間進行同步,所以只能同步一個時間”的缺點。
於該較佳實施例中,該第二時間經過校正之後,是與該第一時間相同,但在實際實施時,也可依所延伸應用的需求,讓該第二時間經過校正之後,成爲“該第一時間+T”或“該第一時間-T”,其中T為時間參數,可為時、分、秒或其他時間單位,故不應以此為限。
補充説明的是,於該較佳實施例中,該訊息發送者21及該訊息接收者31間所進行的該訊息22發佈與接收,通常是依據資料分散式服務(DDS)的服務品質(QoS)規範來對訊息的數據流進行常規控制,常見的基本QoS策略設定,大致有以下方面:
(1) 數據的持久度:
(1-1) 易失的(VOLATILE)– 發送的訊息不被保存。
(1-2) 本地臨時保存(TRANSIENT_LOCAL)–訊息發送者自己保存發送過的數據。
(1-3) 臨時保存(TRANSIENT)– 發送過的訊息被保存在暫存空間中。
(1-4) 永久保存(PERSISTENT)– 發送過的訊息被保存在永久性的儲存空間中。
(2) 訊息的傳輸方式:如UDPv4、UDPv6、Shared memory、WAN、DTLS(Datagram Transport Layer Security)等。
(3) 容錯性:使用各DDS開發者所提供擴展的QoS策略,來實現更深層次的控制。
(4) 可靠性(Reliability):
(4-1) 最高效–不保證訊息是否能被接收到(但是可以確保訊息到達的先後順序)。
(4-2) 確保最後N個訊息–發送所有訊息,但僅僅確保最後N個訊息被收到。
(4-3) 全部確保–確保所有訊息按照順序被接受到。
(5) 訊息的歷史記錄(History):如DDS應於一段時間内保存多少個歷史訊息。
(6) 周期訊息的超時(deadline):
(6-1) 訊息發送者承擔在每一個訊息周期的截止時間內發送訊息的責任。
(6-2) 訊息接收者希望在每一個訊息周期的截止時間內接收到訊息。
(6-3) 保證訊息接收者的deadline(期限)>= 訊息發送者的deadline,否則產生不兼容的錯誤。
(7) 基於時間的過濾(Time-based filter):
(7-1) 訊息接收者設定期望得到新訊息的最小時間間隔。
(7-2) DDS在滿足上述條件的情況下,傳送最小量的訊息。
(8) 訊息的有效期(Lifespan):
(8-1) 防止傳輸過期訊息。
(8-2) 寫訊息者,每個訊息都附有保質期(expiration time)。
(8-3) 讀訊息者,直接刪除過期訊息。
(8-4) 要求訊息發送者與訊息接收者的時鐘(clock)足夠同步。如果服務發現不同步,訊息讀取者可以用接收時間戳計算保質期。
(9) 訊息的所有權(Ownership):用來指定訊息接收者是否可以同時從多個訊息發送者中接收訊息。
由於本發明的時間校正機制可實踐於DDS架構機制下,基於前述説明提及的DDS跨平臺優勢,因此,本發明之該訊息發送端與該訊息接收端可以是分別處於不同的系統環境,也可以是分別處於不同的硬體裝置上,此類DDS跨平臺應用的例子,請併參第4圖,DDS是一個位於軟體層的中介角色,它一方面連接作業系統,網路傳輸和低階硬體層級,另一方面連接應用程式層。允許以不同的程式語言提供相同的DDS概念和API,並允許應用程式跨作業系統、語言和處理器體系、設備硬體等結構,來交換訊息,達成跨系統環境、跨硬體裝置的功能,此亦為熟知DDS技術領域人士所諳,故於此不再詳加贅述。
由上述說明可知,本發明一種應用於資料分散式服務的時間校正方法,確實具有下列功效,而克服了習知技術的三大缺點:
一、於時間的校正上,不會發生延遲。
二、不再有因爲時間校正頻率過多,所造成封包遺漏,導致校正精確度不足的情形。
三、能讓訊息接收者取得各訊息發送端的所處時間,即能藉由訊息的訂閲,分別地各自與多個訊息發送端進行時間校正,打破過往只能跟某單一伺服器的時間進行同步,所以只能同步一個時間的不足處。
綜上所述,本發明所揭示的應用於資料分散式服務的時間校正方法,確實可以達成本發明之目的,而克服了習知技術的缺失。
惟以上所述者,僅為本發明之一個較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
[習知]
無
[本發明]
110、120、130、140:步驟
21:訊息發送者
211:訊息發送者資料附加時間
212:訊息發送者資料的第一次重播
22:訊息
221:第一時間
23:DataWriter
31:訊息接收者
311:訊息接收者資料
312:訊息接收者資料的第一次重播
32:DataReader-I
33:DataReader-II
34:DataReader-III
35:DataReader-IV
4:資料分散式服務區域
[第1圖]為本發明一種應用於資料分散式服務的時間校正方法之實施例的流程圖;
[第2圖]為本發明該較佳實施例應用於資料分散式服務架構下的示意圖;
[第3圖]為本發明該較佳實施例應用於資料分散式服務架構下的另一種示意圖;及
[第4圖]為資料分散式服務架構關於跨平臺的架構圖。
110、120、130、140:步驟
Claims (6)
- 一種應用於資料分散式服務的時間校正方法,包含: 取得一包括至少一訊息發送者的訊息發送端的一第一時間; 該訊息發送者將含有該第一時間的一訊息發佈至一資料分散式服務區域内; 包括於一訊息接收端内的至少一訊息接收者自該資料分散式服務區域内取得該第一時間;及 依據所取得的該第一時間進行該訊息接收端的一第二時間的校正。
- 如請求項1所述之時間校正方法,其中,該第二時間經過校正之後,是與該第一時間相同。
- 如請求項1所述之時間校正方法,其中該訊息發送者所發佈的内含該第一時間的該訊息,更包含一數據資料。
- 如請求項1所述之時間校正方法,其中,該訊息發送者及該訊息接收者間所進行的該訊息發佈與接收,是依據資料分散式服務的服務品質控制機制來規範。
- 如請求項1所述之時間校正方法,其中,該訊息發送端與該訊息接收端是分別處於不同的系統環境。
- 如請求項1所述之時間校正方法,其中,該訊息發送端與該訊息接收端是分別處於不同的硬體裝置上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110122123A TW202301144A (zh) | 2021-06-17 | 2021-06-17 | 應用於資料分散式服務的時間校正方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110122123A TW202301144A (zh) | 2021-06-17 | 2021-06-17 | 應用於資料分散式服務的時間校正方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202301144A true TW202301144A (zh) | 2023-01-01 |
Family
ID=86658107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110122123A TW202301144A (zh) | 2021-06-17 | 2021-06-17 | 應用於資料分散式服務的時間校正方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW202301144A (zh) |
-
2021
- 2021-06-17 TW TW110122123A patent/TW202301144A/zh unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220045979A1 (en) | Apparatus, system, and method of elastically processing message information from multiple sources | |
US7146516B2 (en) | Time synchronization schemes wherein at least one data message associates a hardware pulse with a future time | |
CN101534230B (zh) | 基于以太网的发送数据的方法、以太网节点及控制系统 | |
CN107579791B (zh) | 适用于单向通讯网络的卫星在轨遥测数据实时监测系统 | |
TW202021313A (zh) | 訊息佇列發佈與訂閱之同步方法及其系統 | |
KR20140072044A (ko) | 다중-소스 푸시 통지를 다수의 타겟들로의 분배 기법 | |
Fetzer et al. | Fail-aware datagram service | |
CN102937895A (zh) | 一种基于tao的虚拟试验中间件系统 | |
CN103023680A (zh) | 一种终端状态收集系统及方法 | |
TW202301144A (zh) | 應用於資料分散式服務的時間校正方法 | |
CN100452704C (zh) | 一种发布博客文章的方法和系统 | |
CN117714532A (zh) | 一种基于Timeline模型的数据信息推送方法、网关及相关设备 | |
CN103458024A (zh) | 一种用于列车自动监控系统人机界面数据更新及同步方法 | |
CN105141687A (zh) | 一种生产消息的方法 | |
Martirosyan et al. | Preserving temporal relationships of events for wireless sensor actor networks | |
Dong et al. | Research on fault-tolerant strategy of time synchronization for industrial wireless sensor network | |
US9509572B2 (en) | Presence delay and state computation for composite services | |
CN113468259A (zh) | 一种数据实时采集入库方法及系统 | |
CN106254568B (zh) | 一种基于调度数据网的电力域名管理方法 | |
Shvartzshnaider et al. | Design for change: Information-centric architecture to support agile disaster response | |
CN116859419B (zh) | 一种基于分布式架构的卫星导航实时数据流管理方法 | |
Hastings et al. | Towards an improved phasor measurement unit data communications framework | |
WO2016206272A1 (zh) | 一种网元间信令排序方法及装置、网管系统 | |
CN116155948A (zh) | 一种易车消息平台系统 | |
Zhou | Wide-area synchrophasor data server system and data analytics platform |