Datadistributionstjänst

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 9 februari 2019; kontroller kräver 14 redigeringar .

DDS (Data Distribution Service, Data Distribution Service) för realtidssystem är en maskin-till- maskin kommunikationsstandard för Object Management Group som syftar till att tillhandahålla skalbara , lyhörda , pålitliga, högpresterande och interoperabla datautbyten med hjälp av Publisher-Subscriber mönster . DDS tillfredsställer behoven hos applikationer relaterade till flygledning , smarta nät , autonoma fordon, robotik, logistik, strömförsörjning, medicinsk utrustning, simulering och testning, rymd och försvar, Internet of things [1] samt andra applikationer som kräver datautbyte i realtid.

Historik

Ett litet antal egenutvecklade DDS-system har varit tillgängliga under en tid. Från och med 2001 gick två kampanjer, den amerikanska statliga leverantören Real-Time Innovations och den franska Thales Group , samman för att skapa krav för DDS, som sedan godkändes av Object Management Group (OMG), vilket resulterade i publiceringen av version 1.0 i December 2004 Version 1.1 publicerades i december 2005, 1.2 i januari 2007 och 1.4 i april 2015. DDS har även ytterligare skyddats av flera amerikanska patent, bl.a. DDS-kraven beskriver följande två nivåer av gränssnitt:

Andra beroende standarder följer av huvuddokumentet. Specifikationen av ett online, trådkompatibelt DDS-protokoll för abonnent och utgivare säkerställer att information som publiceras om ett ämne med hjälp av en leverantörs DDS-implementering kan delas av en eller flera abonnenter som använder samma leverantörs DDS-implementering eller en helt annan. Även om specifikationen är riktad till DDS-gemenskapen är dess användning inte begränsad. Version 2.0 publicerades i april 2008, version 2.1 i november 2010 och 2.2 i september 2014. DDS for Simplified CCM erbjuder ett arkitektoniskt mönster som skiljer affärslogik från icke-funktionella funktioner. En expansion från 2012 introducerade stöd för trådar. JAVA 5 PSM för DDS har definierat en Java 5-språkbindning, kallad Platform Specific Model (DDS) för DDS. Det är strikt villkorat endast av mönstermatchning, utgivare-prenumerant och dataorienterad del av DDS-specifikationen.

DDS-TSN definierar en uppsättning mekanismer för att DDS ska kunna distribueras och användas i tidskänsliga nätverk ( TSN ).

Arkitektur

Modell

DDS interagerar med middleware , vilket förenklar programmering av nätverksuppgifter. Den implementerar publicerings-prenumerationsmönstret för att skicka och ta emot data, händelser och kommandon i noder. Noder som ger ut information, skapar ämnen, publicerar exempel. DDS levererar exempel till prenumeranter som är intresserade av ett visst ämne. DDS gör sysslorna: meddelandeadressering, serialisering och deserialisering (så att prenumeranter kan ha en annan plattform än utgivaren), leverans, flödeskontroll, försök igen. Varje nod kan vara en utgivare, en prenumerant eller båda, beroende på situationen. Publicera-prenumerera DDS-modellen eliminerar effektivt det komplexa systemet med nätverksuppgifter för distribuerade applikationer. DDS stöder också mekanismer som går utöver standardmodellen för prenumerant och utgivare. Den största fördelen är att applikationer som använder DDS för dataöverföring är frikopplade från varandra. Endast en liten designtid krävs för att hantera deras interaktioner. I synnerhet behöver applikationer aldrig information om andra deltagande applikationer, inklusive information om deras existens eller plats. DDS hanterar tyst leverans av meddelanden utan att behöva ingripa i användarens applikationer, inklusive:

DDS tillåter användaren att definiera QoS- parametrar för att konfigurera upptäcktsmekanismer och beteende i förväg. Genom anonym meddelandehantering förenklar DDS applikationsdistribution och uppmuntrar modulära, strukturerade program. DDS hanterar också automatiskt det omedelbara utbytet av en utgivarnod om den primära misslyckas med att slutföra uppgifter. Prenumeranter får alltid ett högprioriterat exempel om uppgifterna är korrekta. Den återgår automatiskt till huvudnoderna om de återställs.

Interaktion

Både kommersiella och öppen källkod implementeringar av DDS tillhandahålls. De inkluderar grafiska användargränssnitt och inbäddningar för ADA, C, C++, C#, Java, Scala, Lua, Pharo och Ruby. Några av implementeringarna listas i tabellerna i slutet av artikeln. DDS-leverantörer deltog i interoperativa demonstrationer vid OMG Spring Technology Meeting från 2009 till 2013. Under demonstrationen ställde var och en av leverantörerna ut sin produkt och prenumererade på varandras ämnen med hjälp av testprover. Till exempel tillhandahåller en leverantör information om en siffra, och en annan leverantör kan prenumerera på ett ämne och visa resultaten av sina egna siffror. Var och en av leverantörerna bidrar till publiceringen av information och resten prenumererar. Närvaron av två saker ledde till möjligheten av förekomsten av demoversioner: DDS-I eller operativa protokoll för utgivare och abonnenter, och avtalet att använda en enda modell. I mars 2009 visade tre leverantörer interoperabilitet mellan fristående, oberoende produkter som implementerades av online OMG Publisher-Subscriber mönsterprotokoll version 2.1 från januari 2009. Demonstrationen inkluderade observationer av var och en av utgivaren och prenumeranten på olika operativsystemplattformar och stödd multi- och envägsnätverk interaktion. I mars 2013 hade sex företag anslutit sig för att demonstrera interaktionen mellan operativsystem:

DDS-demonstrationen av interoperabilitet inkluderade följande scenarier:

Se även

Referenser

  1. David Barnett. Jämförelse av MQTT och DDS som M2M-protokoll för Internet of Things. Publicerad den 29 maj 2013. - [1] Arkiverad 29 september 2020 på Wayback Machine

Länkar