Platforma

Federiran kontekstni sloj NGSI-LD z uveljavljanjem politik in konektorji podatkovnega prostora, adapterji za sisteme, ki jih že vodite, in podatkovni modeli, ki v vseh ohranijo svoj pomen.

Kontekstni sloj

Vsak sistem, ki ga priključite, obdrži svojo bazo. Nad njimi teče context broker NGSI-LD, ki hrani en opis vsake resnične stvari: ulice, transformatorske postaje, senzorja, prostora. Vaše aplikacije nato brokerju postavijo eno vprašanje, namesto da bi dvanajstim sistemom postavile dvanajst različnih.

Entiteta NGSI-LD nosi svoje lastnosti, svoja razmerja in svoj @context. To zadošča, da poizvedba, kot je „vsak temperaturni senzor v tej četrti in stavba, ki ji pripada", prečka meje sistemov brez lepilnega kode, napisane za priložnost.

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"]
}
Ena ulična svetilka kot entiteta NGSI-LD: stanje, lokacija in razmerje do ceste, ob kateri stoji.

Trije načini priklopa aplikacije

Kje podatki živijo, ko prispejo, odloči, koliko podvajanja in usklajevanja nosi projekt, zato vsako aplikacijo pred gradnjo uvrstimo v enega od treh tipov.

  • Brez stanja. Aplikacija ne hrani lastnih podatkov. Bere iz brokerja in piše nazaj vanj, broker pa je edini vir resnice.
  • Delna kopija. Aplikacija potrebuje podmnožico entitet v svoji bazi, za iskanje po celotnem besedilu ali težko analizo, za katero broker ni zgrajen. To podmnožico držimo usklajeno in dokumentiramo, kaj se kopira.
  • V lasti aplikacije. Aplikacija že govori NGSI-LD in hrani svoje podatke. Broker hrani registracijo, ki kaže nanjo, in posreduje ustrezne poizvedbe, tako da se dobaviteljev sistem priključi na platformo, ne da bi se karkoli hranilo dvakrat.

Kako brokerji delijo

En sam broker za celotno organizacijo je redko sprejet. Oddelki so lastniki svojih podatkov in so pri predaji previdni, kar je razumno. Zato se brokerji registrirajo drug pri drugem kot viri konteksta: poizvedba prispe do enega brokerja, potuje naprej do tistega brokerja ali adapterja, ki hrani te entitete, in se vrne kot en združen odgovor.

Vodovod obdrži svojo bazo in svoja pravila dostopa. Mestna nadzorna plošča kljub temu prikazuje podatke o vodi ob štetju prometa. Preverimo, da ni bilo nič kopirano, namesto da bi to predpostavili: ista poizvedba, omejena na lokalno shranjene entitete, vrne samo tisto, kar je last tega brokerja.

poizvedba en odgovor Promet context broker obdrži svoje podatke registriran kot vir konteksta Voda context broker obdrži svoje podatke Energija context broker obdrži svoje podatke
Poizvedba pride do enega brokerja, odgovorijo pa vsi trije. Noben podatek ni bil kopiran.

Kdo vidi kaj

NGSI-LD nadzor dostopa namenoma pušča zunaj standarda. Mi ga dodamo na prehodu pred brokerjem. Vsako pravilo poimenuje subjekt, dejanje, vir in pogoj: ta partner sme poizvedovati po teh tipih entitet znotraj tega obsega. Prehod vsako zahtevo primerja s pogonom politik, in če pogona ni mogoče doseči, je zahteva zavrnjena, namesto da bi jo spustil skozi.

Pri deljenem dvojčku šteje, kako se pravilo uveljavi. Prehod odgovora ne filtrira naknadno. Poizvedbo prepiše, preden jo broker vidi, tako da se lahko ujame samo z entitetami, do katerih je klicatelj upravičen, karkoli je klicatelj napisal. Partner, ki zahteva obseg, ki ga ne sme brati, dobi dovoljeno podmnožico in nič drugega, odgovor pa ostane običajen odgovor NGSI-LD. Nespremenjeni odjemalci za njim delujejo naprej.

Med organizacijami

Znotraj ene organizacije federacija med brokerji zadošča. Med mestom in njegovo regijo ali obratom in njegovim komunalnim podjetjem lastnik hoče pogodbo, preden se premakne prvi bajt. Vsaka organizacija poleg svojega brokerja poganja konektor Dataspace Protocol. Konektor uporabnika zaprosi za katalog, dogovori ponudbo in dobi končno točko prenosa; federacija brokerja nato kaže na to točko in ne neposredno na nasprotno stran.

Pogajanje se zgodi enkrat na razmerje in traja nekaj sekund. Po tem federirana poizvedba skozi konektor stane 2 ms več kot navadna federacija med brokerji za eno entiteto in 4 ms za deset, merjeno med tremi organizacijami prek širokopasovnega omrežja. Federacije ne draži suverenost.

Adapterji in zajem podatkov

Večina dela v vsakem projektu je pod brokerjem.

  • IoT in telemetrija: tokovi MQTT, LoRaWAN in OPC UA, normalizirani v entitete in posodobljeni, ko prihajajo meritve. Tok javnega prevoza z okoli 400 vozili po eno sporočilo na vozilo na sekundo je običajna obremenitev.
  • Prostorski podatki: sloji WFS, GeoJSON in PostGIS, da entitete ohranijo pravo geometrijo namesto para koordinat.
  • Meritve senzorjev: OGC SensorThings in s STA združljive storitve za časovne vrste.
  • Registri in datoteke: baze sredstev, izvozi CSV, izvlečki BIM in IFC, katastrski zapisi.
MQTT LoRaWAN OPC UA SCADA WFS · PostGIS GeoJSON SensorThings STA CSV · IFC BIM Adapter normalizira NGSI-LD entitete, pripravljene za poizvedbe
Kaj hrani kontekst: protokoli noter, entitete NGSI-LD ven.

Modeli, ki ohranijo pomen

Entiteta potuje med sistemi le, če oba pod njo mislita isto. Gradimo na objavljenih Smart Data Models tam, kjer ustrezajo, in jih razširimo tam, kjer ne, vsaka razširitev pa se zapiše kot del dobave. Nastali konteksti JSON-LD so vaši, verzionirate jih kot vsak drug artefakt in jih vzamete s seboj.

Delo opravi dogovor o IRI modela. Ko sta dve organizaciji isti odčitek PM2.5 objavili pod različnimi imeni atributov, vsakega preslikanega na skupni model, je uporabnik oba dobil pod enim ključem, brez prevajalne kode na poti. Atribut, ki ga ni preslikal nihče, je ostal ločen, in to je pravilen izid: platforma pokaže vrzel v besednjaku, namesto da bi jo skrila.

Kako se poganja

Sklad je odprtokoden: Scorpio kot context broker, Apache APISIX in Open Policy Agent za uveljavljanje, Keycloak za identiteto, distribucija Eclipse Dataspace Components kot konektor, vse na Kubernetesu. Teče na vaši gruči, na upravljani gruči v regiji EU, ki jo izberete, ali na enem strežniku za pilot. Dobite namestitev kot kodo, modele, adapterje in priročnik, napisan za nekoga, ki ni bil v projektu. Zamenjajte nas kasneje in vse deluje naprej.

Česa še ni

Raje slišite od nas. Federirane poizvedbe pokrivajo trenutno stanje partnerjevih entitet; njihovo zgodovino je treba pred risanjem grafa še vedno replicirati. Pisanje v partnerjevega dvojčka po pogodbi je zasnovano, a še ni dobavljeno, zato partner danes bere. Pod trajno programsko obremenitvijo federirana pot postreže približno četrtino prepustnosti neposredne poizvedbe, kar je precej več, kot potrebujejo nadzorne plošče, in je dobro vedeti, preden nanjo postavite javni API.

Kaj prepuščamo drugim

Ne prodajamo dvojčkov, nadzornih plošč ali naprav. Vizualizacija gre orodju, ki ga vaše ekipe zjutraj tako ali tako odprejo, mi pa mu podamo povezan kontekst, iz katerega riše.

Vprašajte o svojih sistemih