Jak zapisovat a číst data v DDS aplikaci

V příspěvku Co tvoří DDS aplikaci a doporučení pro implementaci jsme si řekli, co tvoří DDS aplikaci. Že se jedná o entity

  • DomainParticipant,
  • Topic,
  • Publisher,
  • Subscriber,
  • DataWriter
  • DataReader.

V tomto videu se podíváme na to, jakým způsobem je možné zapisovat a číst data 🎞️👇.

Aplikace zapisuje data pomocí DataWriterů➡ a čte data pomocí DataReaderů⬅.

Každý DataWriter a DataReader má k sobě přiřazen jeden Topic. Např. Movement (id, position, orientation, speed).

API pro zápis je jednoduché, jedná se o write tato operace je neblokovaná jak byste od publish subscribe modelu komunikace očekávali. Nicméně write operace může být blokována, a to v případě, kdy je nutné zabránit ztrátě dat.

U operace pro čtení to je zajímavější.

Informaci o nově příchozích datech můžete získat pomocí
👉 Listeneru asynchronně – pomocí callbacku.
👉 WaitSetu synchronně – pomocí vlastního threadu s čekáním na nově příchozí data.

Když potřebujete data číst tak to můžete provést pomocí dvou API.
👉 Read – vzorky zůstávají v cache
👉 Take – vzorky jsou odebrán z cache

A můžete si vybírat data, která čtete a to na základě
👉 Obsahu – jsme schopni filtrovat data, která se dostanou do cache a provádět výběr dat nad daty v cache pomocí klauzule WHERE.
👉 Stavu instance, nebo vzorku – pomocí metadat, které nám middleware poskytuje jsme schopni detekovat změny stavů a reagovat na ně (vzorek přečten/nepřečten, instance nově přidaná, instance je aktivní/neaktivní/zrušena). V základu čteme nepřečtené vzorky od všech aktivních instancí.

Nyní tedy už víte, co vám DDS umožňuje při zápisu a hlavně při čtení vzorků.

Mimochodem připravuji trénink, kde ukazuji nadhled, souvislosti a kontext ve kterém uvažovat o technologii DDS. Jestli by vás takový trénink zajímal, tak se podívejte na stránku www.pavelpohanka.cz/technologie, kde se po zadání emailu budete moci o tréninku dozvědět více.

PP
Author: PP

Podobné příspěvky

  • Technologie DDS® není bezpečná? Naopak❗

    V distribuovaných systémech, jako jsou třeba IoT systémy, je potřeba data přenášet mezi jednotlivými částmi systému. Mluvíme tak o datech v pohybu (Data in Motion). Jak tato data zabezpečit a jak to řeší technologie DDS® se podíváme v tomto videu. Nejpoužívanějším způsobem pro zabezpečení dat při přenosu přes síť je použití šifrování pomocí: TLS –…

  • |

    Funguje DDS bez multicastu?

    Technologie DDS je neodmyslitelně spojena s použitím multicastu.  DDS používá multicast pro vyhledávání a zajištění nízké latence a škálovatelnost sdílení dat. Protože data mohou být odeslána pouze jednou, i když je více příjemců, která tato data vyžadují.  S rostoucím využitím různých živých vysílání se multicast bude využívat stále více. Nicméně s tím multicastem to není…

  • |

    Data-centric revoluce

    Před časem jsem mluvil od architektuře zaměřené na data (Data-centric architecture), kde jsou data základním prvkem a tato data jsou využívána aplikacemi. Funkčnosti aplikací jsou tak založeny na jednotném, co nejjednoduším a rozšiřitelném datovém modelu. Přínosem pak je že, data jsou k dispozici všem aplikacím a je snadná jejich integrace. Správná data jsou tak k dispozici…

  • Jak neposílat DDS data tam kam nechci?

    Když používate publish subcribe model komunikace, tak si vyberete topiky, které vás zajímají a ty odebíráte. U DDS® máme dvě možnosti, jak omezit zasílání dat. Jedná se o: domény segmenty. O doménách jsem již mluvil a v tomto videu se podíváme na segmenty (Partitions). U domén jsme si řekli, že aplikace může komunikovat pouze s…

  • Co usnadňuje DDS? Část 2: Vývoj

    Často se ve spojení s DDS používá pojem middleware. Což si můžeme představit jako vrstvu, mezi aplikacemi a operačním systémem, která zabezpečuje komunikaci mezi všemi částmi distribuovaného systému. Na straně aplikací poskytuje jednotné rozhraní, aby se při vývoji nemuseli starat na které platformě (operační systém, architektura procesoru) je aplikace nasazena. Middleware (tedy i DDS) z…

  • Kde využít DDS – Cloud, Fog, Edge?

    Když se podíváme na systémy budované v rámci Internetu věcí z nadhledu, tak obsahují fyzická zařízení, komunikační brány a datová centra. Mezi všemi částmi systému je nutné efektivně přenášet a sdílet data. Je to z toho důvodu, že potřebujeme provádět👉 sběr dat/informací/znalostí,👉 uložení dat/informací/znalostí,👉 analýzu dat/informací/znalostí,👉 sdílení výsledků k uživatelům nebo zpět k zařízením. Moderní…

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *