OpenDDS之DDS學習筆記

2021-08-21 18:54:42 字數 2332 閱讀 3127

dds:data distribution service資料分發服務

dds資訊發布中介軟體是一種輕便的、能夠提供實時資訊傳送的中介軟體技術。dds中介軟體是乙個軟體層,從作業系統、網路傳輸和底層資料格式的細節中抽象出應用。相同的概念和api提供給不同的編成語言,使得應用在不同的作業系統、編成語言和處理體系架構之間交換資訊。底層細節包括資料傳輸格式、發現、連線、可靠性和、協議、qos策略等由中介軟體來管理。

dds採用發布/訂閱體系架構,以資料為中心,提供豐富的qos服務質量策略。

以資料為中心的核心是dds知曉整個整合網路內的資料以及控制資料的共享。使用傳統的以訊息為中心的中介軟體,必須考慮傳送訊息的問題。而使用以資料為中心的中介軟體,只要考慮如何共享資料,何時共享資料的問題,就可以之間共享資料值。dds直接為使用者實現受控的、受管的、安全資料共享,而不是在應用**中管理所有的負責邏輯。在眾多的通訊中間中,dds是唯一乙個以資料為中心的標準,適用於物聯網。

dds提供基於qos控制的共享資料。應有通過發布和訂閱主題來實現,主題用他們的主題名來標識。訂閱方可以規定時間和內容過濾器,這樣可以獲得該主題發布資料的乙個子集。不同的dds域是完全不重疊的。在dds域之間沒有共享。

dds的全域性資料空間

dds把所有的本地儲存的資料稱作全域性資料空間。對於應用來說,全域性資料空間看上去像通過api來訪問記憶體一樣。你使用時,就像使用本地儲存一樣。事實上,dds傳送訊息來更新遠端節點的相應儲存值。這樣,在使用時,如同本地儲存。

總而言之,dds使應用在需要進行資料訪問的時候提供乙個虛擬的全域性資料池概念,事實上並沒有乙個儲存所有資料的全域性裝置。每個應用僅在本地儲存它需要的資料,當整個網路內的任何應用需要他們時,提供給對應應用。所有的資料分發工作全部都由dds代勞了。全域性資料空間是乙個虛擬概念,實際上是本地儲存的集合。每個應用,可以用幾乎任何一種語言編寫,執行在任何系統上,可以在本地記憶體上讀到最好的資料格式顯示的資料。全域性資料空間可以在嵌入式系統、移動和雲應用之間共享資料,採用任意的傳輸方式,無論語言和系統,而且延遲極低。

dds發布/訂閱模型

dds以資料為中心的發布-訂閱模型為所有的分布式節點之間建立了乙個虛擬共享的全域性資料空間。在該模型下分布式節點在網路

上以發布或訂閱的方式傳輸資料,節點可以是發布者或者訂閱者,或兩者都是。網路中的資料物件用主題做標識,分布式節點在全域性資料空間中發布或訂閱感興趣的主題資訊。各個節點在邏輯上無主從關係,點與點之間都是對等關係,通訊方式可以是點對點,點對多,多對多,在qos策略的控制下建立連線,自動發現和配置網路引數。

dds規範有兩層:分別是dlrl層(資料本地重構)和dcps層(以資料為中心發布訂閱)。dcps層是dds的核心和基礎,提供了通訊的基本服務;dlrl層將dcps層提供的服務進行了抽象,在dlrl層建立了與底層服務的對映關係。

dds基本結構是域domain,由域號唯一標識。domain將各個應用程式繫結在一起進行通訊,只有在同乙個域內的通訊實體才能通訊,不同域內的實體間無任何邏輯關係。

dds內所有的成員都是entity,dds中任兩個entity通訊都必須在同乙個domain內進行互動。domain內的domainparticipant是服務的入口點,任何dds應用都需首先獲取domain participant,然後通過domain participant獲取其他服務,如publisher,subscriber,topic等。

domain participant作為資料分發服務的入口點,包含若干發布者,訂閱者和註冊主題,負責建立,刪除和管理這些實體。

publisher作為發布者角色,至少包含乙個datawriter,並負責建立,刪除和管理datawriter。同樣,subcri作為訂閱者,至少與乙個datareader關聯,並負責發布資料,資料發布者通過呼叫datawriter的write函式發布資料,但資料不會立刻被送出,實際的訊息產生是通過publisher和qos綜合控制的。datareader負責訂閱資料,訂閱方式可採用非同步方式(listener),同步方式和非阻塞三種。

topic是datawriter和datareader相互通訊時約定的主題,每個datawriter/datareader必須與乙個主題繫結,相互通訊的datawriter和datareader之間的主題資料型別必須相同,qos必須匹配。另外,topic必須有確定的資料型別。

DDS 資料分發服務 學習記錄

官方文件的中文翻譯 已完成暫時跳過 直接看官方的文件不明所以,因為用到了其他的軟體,一點一點搜尋,探索如下例程參考 生成乙個vs 2008的 hello world 工程,親測可編譯,解釋幾點 在任意位置的資料夾下新建這兩個檔案 開啟windows命令列終端 cd 資料夾路徑 執行完命令檔案中會生成...

問題 D DS順序表之迴圈移位

問題 d ds順序表之迴圈移位 時間限制 1 sec 記憶體限制 128 mb 題目描述 順序表的移位是迴圈移位,例如順序表 1,2,3,4,5,6。如果左移1位,即原來的頭元素移動到末尾,其它元素向左移1位,變成2,3,4,5,6,1。同理,如果右移1位,即原來的尾元素移動到頭,其它元素向右移1位...

dds提取工具 轉錄組分析工具之 DESeq2

1 轉錄組分析介紹 轉錄組分析是目前應用最廣的高通量測序分析技術之一。常見設計是不同樣品之間比較,尋找差異基因 標誌基因 差異剪接和新轉錄本,並進行結果視覺化 功能注釋和網路分析等。轉錄組分析流程通常包括資料質控 過濾 序列比對 轉錄本拼接 可選 表達定量 相關性分析 差異基因表達分析 kegg分析...