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

  • Jak zvládá DDS®🌀 zahlcení daty

    Existují situace, kdy poskytovatelé dat generují tolik dat, že konzumenti nejsou schopni tolik dat zpracovat a jsou zahlcení daty. Konzumenti tedy omezují rychlost systému, protože nezvládají zpracovávat tolik dat a potřebují, aby poskytovatelé na ně tolik netlačili – snaží se vytvořit protitlak (backpressure). Tato situace může vést až ke kolapsu systému. V tomto videu vám…

  • Digital Twin a DDS™🌀

    V souvislosti s průmyslovým internetem věcí jste možná zaslechli pojem Digital Twin – digitální dvojče. V tomto videu se podíváme na to, co to digitální dvojče je, k jakým účelům slouží, a jak může technologie Data Distribution Service™ (DDS)🌀 pomoci s jeho vytvořením. Co je digitální dvojče🧑‍🤝‍🧑? • Já zde nebudu uvádět přesné definice, od…

  • Co DDS usnadňuje? Část 1: Návrh

    Rozhodnutí o použití technologie v architektuře vašeho systému je potřeba dobře rozmyslet. Budete zvažovat, co vám technologie v systému umožní a na druhé straně, co vás bude její nasazení stát. Špatně zvolená technologie vám totiž z dlouhodobého hlediska může velmi prodražit cenu celého systému v průběhu jeho životního cyklu. Data Distribution Service™ (DDS) usnadňuje vytvoření…

  • |

    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í…

  • 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 je to distribuovaný systém?

    Data Distribution Service (DDS™️) usnadňuje vytvoření distribuovaných systému. Co distribuovaný systém je… a jaké má výhody, nevýhody a omezení oproti centralizovanému řešení  se dozvíte v tomto článku. Hlavním přínosem technologie DDS, kterou jsme si v krátkosti představili v minulém videu je to, že DDS usnadňuje vytvoření distribuovaného systému. A to v oblasti jeho návrhu, vývoje,…

Napsat komentář

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