2013-06-28 38 views
0

我在想我是否可以在我的軟件中輸入大量數據,或者我是否有義務使用外部解決方案。Opensplice DDS持久數據有多大?

使用OpenSplice DDS或RTI的DDS的持久性可以提供多少數據?

回答

4

這取決於您對'放入持久性數據'的定義。 在OpenSplice-DDS中,有多種方法通過在非易失性介質上「保存」非易失性數據來「保存」非易失性數據。第一種方法是將數據公佈爲PERSISTENT(耐用性-QoS)並結合具有一個或多個耐用性服務(OpenSplice核心[LGPL-v3]中的'標準',即非可選/商業功能)。啓動系統時,耐久性服務(通常是第一個啓動的節點)會將持久數據注入到「全局數據空間」中,並將其用於每個應用程序(這可以阻止注入此信息通過wait_for_historical_data API)。持久數據大小的一個典型限制是發佈後可用內存的大小(或放入DDS_terminology中:爲'durability-service'指定的資源限制,用max_samples,max_samples_per_instance和max_instances表示每個持久話題)。請注意,您可以將PERSISTENT數據作爲TRANSIENT數據的子集,並且如果您配置了多個持久性服務,這些將在啓動時「對齊」對方(和/或添加也配置了耐久性服務的新節點)導致這些PERSISTENT數據在應用程序啓動和/或加入已經運行的系統時立即可用。

第二種方法是利用DDS和DBMS(兼容ODBC 3.0)系統之間透明「複製」(雙向)數據的附加組件。 OpenSplice DDS爲這個名爲'DBMSConnect'的插件提供服務,可以配置爲在兩個方向上轉發數據,既可以是基於事件的,也可以是基於狀態的(向下採樣)以及可能對內容進行過濾。

第三種方式(對於OpenSplice)是使用名爲'OpenSplice Gateway'的通用網關產品,它使用Apache Camel,因此所有'連接器'都可用於該基礎結構。在這裏,您可以定義'路線'和端點,使您的DDS數據可以路由至80多種非DDS技術,包括關係數據庫系統,然後可以「保留」您的DDS信息。

希望這有助於一些,

-Hans

+0

那是......一個很好的答案。即使我有一些困難要充分理解其後果。謝謝 – Xaltar