Platvorm

Föderatiivne NGSI-LD kontekstikiht koos reeglite jõustamise ja andmeruumi konnektoritega, adapterid süsteemidele, mida te juba käitate, ja andmemudelid, mis hoiavad neis kõigis oma tähendust.

Kontekstikiht

Iga süsteem, mille ühendate, hoiab alles oma andmebaasi. Nende kohal töötab NGSI-LD context broker, mis hoiab iga päris asja kohta üht kirjeldust: tänav, alajaam, andur, ruum. Teie rakendused esitavad siis broker’ile ühe küsimuse, selle asemel et esitada kaheteistkümnele süsteemile kaksteist erinevat.

NGSI-LD olem kannab oma omadusi, oma seoseid ja oma @context-i. Sellest piisab, et päring nagu „iga temperatuuriandur selles linnaosas ja hoone, kuhu ta kuulub" ületaks süsteemide piirid ilma juhuks kirjutatud liimkoodita.

GET /ngsi-ld/v1/entities/urn:ngsi-ld:Streetlight:BB-1042
{
  "id": "urn:ngsi-ld:Streetlight:BB-1042",
  "type": "Streetlight",
  "powerState": { "type": "Property", "value": "off",
                    "observedAt": "2026-08-30T19:04:00Z" },
  "location": { "type": "GeoProperty",
                 "value": { "type": "Point", "coordinates": [19.146, 48.736] } },
  "refRoadSegment": { "type": "Relationship",
                       "object": "urn:ngsi-ld:RoadSegment:BB-Nam-SNP" },
  "@context": ["https://smartdatamodels.org/context.jsonld"]
}
Üks tänavavalgusti NGSI-LD olemina: olek, asukoht ja seos teega, mille ääres ta seisab.

Kolm viisi, kuidas rakendus ühendub

See, kus andmed pärast saabumist elavad, otsustab, kui palju dubleerimist ja sünkroonimist projekt kaasas kannab, nii et jagame iga rakenduse enne ehitamist ühte kolmest tüübist.

  • Olekuta. Rakendus ei hoia omaenda andmeid. Ta loeb broker’ist ja kirjutab sinna tagasi ning broker on ainus tõeallikas.
  • Osaline koopia. Rakendus vajab osa olemeid omaenda andmebaasi, täistekstiotsinguks või raskeks analüüsiks, milleks broker ehitatud ei ole. Hoiame selle osa sünkroonis ja dokumenteerime, mida kopeeritakse.
  • Rakenduse oma. Rakendus räägib juba NGSI-LD-d ja hoiab oma andmeid. Broker hoiab registreeringut, mis sellele osutab, ja edastab sobivad päringud, nii et tarnija süsteem haakub platvormiga ilma, et midagi kaks korda salvestataks.

Kuidas broker’id jagavad

Üht broker’it terve organisatsiooni peale harva kokku lepitakse. Osakonnad omavad oma andmeid ja on nende ära andmisega ettevaatlikud, mis on mõistlik. Nii registreeruvad broker’id üksteise juures konteksti allikatena: päring saabub ühte broker’isse, rändab edasi sellesse broker’isse või adapterisse, kes neid olemeid hoiab, ja tuleb tagasi ühe ühendatud vastusena.

Veefirma hoiab oma andmebaasi ja oma juurdepääsureegleid. Linna töölaud näitab ikkagi veeandmeid liiklusloenduse kõrval. Kontrollime, et midagi ei kopeeritud, selle asemel et seda eeldada: sama päring, piiratud kohapeal salvestatud olemitega, tagastab ainult selle, mis sellele broker’ile kuulub.

päring üks vastus Transport context broker hoiab oma andmeid registreeritud konteksti allikana Vesi context broker hoiab oma andmeid Energia context broker hoiab oma andmeid
Päring jõuab ühe brokerini ja vastavad kõik kolm. Ühtki andmerida ei kopeeritud.

Kes mida näeb

NGSI-LD jätab juurdepääsukontrolli meelega standardist välja. Meie lisame selle lüüsi broker’i ette. Iga reegel nimetab subjekti, tegevuse, ressursi ja tingimuse: see partner tohib pärida neid olemitüüpe selles ulatuses. Lüüs kontrollib iga päringut reeglimootori vastu ja kui mootorini ei jõuta, siis päring keelatakse, mitte ei lasta läbi.

Jagatud kaksiku puhul loeb see, kuidas reeglit jõustatakse. Lüüs ei filtreeri vastust tagantjärele. Ta kirjutab päringu ümber enne, kui broker seda näeb, nii et päring saab kokku langeda ainult nende olemitega, millele küsijal on õigus, ükskõik mida küsija kirjutas. Partner, kes küsib ulatust, mida ta lugeda ei tohi, saab lubatud osa ja mitte midagi muud, ning vastus on endiselt tavaline NGSI-LD vastus. Muutmata kliendid selle taga töötavad edasi.

Organisatsioonide vahel

Ühe organisatsiooni sees piisab broker’ite vahelisest föderatsioonist. Linna ja tema maakonna vahel või tehase ja tema võrguettevõtte vahel tahab omanik lepingut, enne kui esimene bait liigub. Iga organisatsioon käitab oma broker’i kõrval Dataspace Protocol’i konnektorit. Tarbija konnektor küsib kataloogi, peab pakkumise üle läbirääkimisi ja saab ülekandepunkti; broker’i föderatsioon osutab siis sellele punktile, mitte otse teisele poolele.

Läbirääkimine toimub suhte kohta üks kord ja võtab paar sekundit. Pärast seda maksab föderatiivne päring läbi konnektori ühe olemi puhul 2 ms rohkem kui tavaline broker’ite vaheline föderatsioon ja kümne puhul 4 ms, mõõdetuna kolme organisatsiooni vahel üle laivõrgu. Föderatsiooni ei tee kalliks andmesuveräänsus.

Adapterid ja andmete sisselugemine

Suurem osa tööst igas projektis asub broker’ist allpool.

  • IoT ja telemeetria: MQTT, LoRaWAN ja OPC UA vood, normaliseeritud olemiteks ja uuendatud siis, kui mõõtmised saabuvad. Ühistranspordi voog umbes 400 sõidukiga, üks sõnum sõiduki kohta sekundis, on tavaline koormus.
  • Ruumiandmed: WFS, GeoJSON ja PostGIS kihid, nii et olemid hoiavad päris geomeetriat, mitte koordinaadipaari.
  • Andurivaatlused: OGC SensorThings ja STA-ga ühilduvad teenused aegridade jaoks.
  • Registrid ja failid: varaderegistrid, CSV-eksportid, BIM- ja IFC-väljavõtted, katastrikanded.
MQTT LoRaWAN OPC UA SCADA WFS · PostGIS GeoJSON SensorThings STA CSV · IFC BIM Adapter normaliseerib NGSI-LD olemid, päritavad
Mis konteksti toidab: protokollid sisse, NGSI-LD olemid välja.

Mudelid, mis hoiavad oma tähendust

Olem rändab süsteemide vahel ainult siis, kui mõlemad mõtlevad selle all sama asja. Ehitame avaldatud Smart Data Models’i peale seal, kus need sobivad, ja laiendame neid seal, kus ei sobi, ning iga laiendus kirjutatakse tarne osana üles. Tekkivad JSON-LD kontekstid kuuluvad teile, versioonite neid nagu iga teist artefakti ja võtate endaga kaasa.

Töö teeb ära kokkulepe mudeli IRI osas. Kui kaks organisatsiooni avaldasid sama PM2.5 näidu erinevate atribuudinimede all, mõlemad seotud jagatud mudeliga, sai tarbija mõlemad ühe võtme alt ilma tõlkekoodita teel. Atribuut, mida keegi seostanud ei olnud, jäi eraldi, mis on õige tulemus: platvorm näitab sõnavara auku, selle asemel et see ära peita.

Kuidas seda käitada

Komplekt on avatud lähtekoodiga: Scorpio context broker’ina, Apache APISIX ja Open Policy Agent jõustamiseks, Keycloak identiteedi jaoks, Eclipse Dataspace Components’i distributsioon konnektorina, kõik Kubernetese peal. See töötab teie klastris, hallatud klastris teie valitud ELi piirkonnas või piloodi jaoks ühes serveris. Saate paigalduse koodina, mudelid, adapterid ja käsiraamatu, mis on kirjutatud kellelegi, kes projektis ei osalenud. Vahetage meid hiljem välja ja kõik töötab edasi.

Mida veel ei ole

Kuuleksite seda parem meilt. Föderatiivsed päringud katavad partneri olemite praeguse seisu; nende ajalugu tuleb enne graafikule kandmist ikka veel replitseerida. Partneri kaksikusse lepingu alusel kirjutamine on projekteeritud, aga veel tarnimata, nii et täna partner loeb. Püsiva programmilise koormuse all teenindab föderatiivne tee umbes veerandi otsepäringu läbilaskest, mis on töölaudade vajadustest tublisti üle ja mida tasub teada, enne kui panete peale avaliku API.

Mida jätame teistele

Me ei müü kaksikuid, töölaudu ega seadmeid. Visualiseerimine läheb sellele tööriistale, mille teie meeskonnad niikuinii hommikul avavad, ja meie anname sellele ühendatud konteksti, millest joonistada.

Küsige oma süsteemide kohta