Kalo te përmbajtja kryesore
LIOMO

Teknologji · Inxhinieri softueri

Softuer që përballon të dhënat reale

Ndërtojmë gateway-t, platformat dhe panelet që i kthejnë të dhënat e pajisjeve në punë të përditshme, dhe i projektojmë që të vazhdojnë të funksionojnë kur këto të dhëna vijnë me vonesë, me zhurmë ose të paplota.

Përmbledhje

Nga paketa e papërpunuar te ekrani që njerëzit i besojnë

Softueri për sistemet e lidhura u shërben dy palëve. Pajisjet dërgojnë një rrjedhë të vazhdueshme mesazhesh që duhet të merren, të kontrollohen dhe të ruhen pa humbje. Njerëzit kanë nevojë për ekrane, raporte dhe alarme që janë të shpejta, të sakta dhe të lehta për t’u lexuar. Pjesa më e madhe e punës inxhinierike ndodhet mes këtyre të dyjave.

Këtë rrugë e ndërtojmë nga fillimi deri në fund. Në LIOMO Fleet, platformën tonë, një gateway TCP dekodon paketat e pajisjeve të gjurmimit, i validon dhe i ruan pozicionet në PostgreSQL, pastaj gjeneron alarme, ngjarje gjeozonash dhe ngjarje kodesh defekti. Mbi të qëndron një platformë web me Next.js dhe React, me akses sipas roleve, regjistra aktiviteti dhe funksionalitete që aktivizohen për çdo klient dhe për çdo mjet.

Projektet me porosi ndjekin të njëjtën qasje: modele të qarta të dhënash, ndërfaqe që mund t’i përdorin sisteme të tjera, teste të automatizuara, si dhe rutinat operacionale, si kopjet rezervë dhe pastrimi i të dhënave, që e mbajnë sistemin në gjendje të mirë pas vënies në punë.

Arkitekturë ilustruese · shembull. Arkitekturë softueri me shtresa: ndërfaqet në krye, pastaj shërbimet për marrjen e të dhënave, rregullat, raportimin dhe integrimet, pastaj ruajtja e të dhënave, dhe në fund gateway-t edge dhe dekoduesit e protokolleve. Një panel anësor tregon një shembull kërkese API.

Parime

Si ndërtojmë softuer

  • 01

    Të dhëna që mund t’u besoni

    Çdo mesazh validohet para se të ruhet, dhe sistemi tregon qartë kur një vlerë mungon ose është e vjetëruar, në vend që ta hamendësojë.

  • 02

    Ndërtuar rreth detyrave të përditshme

    Ekranet projektohen sipas asaj që njerëzit duhet të bëjnë, si gjetja e një mjeti ose reagimi ndaj një alarmi, dhe jo sipas bazës së të dhënave.

  • 03

    Ndërfaqe të hapura

    Të dhënat mund të merren përmes API-ve të dokumentuara dhe eksporteve, që të mund të kalojnë në sisteme të tjera dhe të mbeten nën kontrollin tuaj.

  • 04

    Operimi që nga dita e parë

    Kopjet rezervë, rregullat e ruajtjes së të dhënave, regjistrimi i ngjarjeve dhe kontrolli i aksesit janë pjesë e versionit të parë, jo shtesa pasi diçka shkon keq.

Blloqet ndërtuese

Shtresat e softuerit

Shtresat që ndërtojmë zakonisht, nga mesazhi i pajisjes te raporti i përfunduar. Teknologjitë konkrete zgjidhen për çdo projekt; shembujt më poshtë vijnë nga platforma jonë dhe nga standarde të hapura të përhapura.
  1. 01

    Marrja e të dhënave

    Shërbime që marrin mesazhet e pajisjeve, i dekodojnë dhe i kontrollojnë para se të ruhet ndonjë gjë.

    • Shërbime dëgjuese TCP dhe MQTT
    • Dekodues protokollesh
    • Validimi i mesazheve
    • Konfirmime marrjeje për pajisjet
  2. 02

    Të dhënat

    Ruajtje e projektuar për vëllime të mëdha leximesh me vulë kohore, krahas të dhënave të zakonshme të biznesit.

    • PostgreSQL
    • Modele të dhënash për seri kohore
    • Indeksim sipas intervalit kohor
    • Rregulla ruajtjeje
  3. 03

    Aplikacioni dhe API-të

    Logjika e biznesit, rregullat dhe ndërfaqet që përdoren nga ndërfaqja web dhe nga sisteme të tjera.

    • API REST
    • Webhook
    • Akses sipas roleve
    • Regjistra aktiviteti
    • Procese në sfond
  4. 04

    Ndërfaqet

    Ekranet web, hartat, grafikët dhe raportet që njerëzit përdorin çdo ditë.

    • Next.js dhe React
    • Harta në kohë reale
    • Grafikë dhe panele
    • Eksporte në fletë llogaritëse dhe PDF
  5. 05

    Cilësia dhe operimi

    Kontrollet dhe rutinat që e mbajnë sistemin të saktë dhe funksional pas vënies në punë.

    • Teste të automatizuara
    • Teste qëndrueshmërie me kohëzgjatje të gjatë
    • Pastrim ditor i të dhënave
    • Skripte për kopje rezervë dhe rikthim

Praktikat inxhinierike

Praktika inxhinierike

Testuar para publikimit
Dekoduesit, rregullat dhe llogaritjet mbulohen nga teste të automatizuara, ndërsa testet e gjata të qëndrueshmërisë kontrollojnë që shërbimet të mbeten stabile kur punojnë pa ndërprerje.
Pa kulme të rreme
Kur një sensor raporton „Pa sinjal“, vlera shënohet si mungesë dhe jo si kulm në grafik, dhe leximet më të vjetra se 15 minuta shënohen si të vjetëruara.
Siguria si kërkesë projektimi
Aksesi jepet sipas rolit, çdo e dhënë hyrëse nga një pajisje ose një përdorues validohet, dhe lidhjet enkriptohen kudo që pajisjet dhe rrjetet e lejojnë.
Gjurmë për çdo veprim
Regjistrat e aktivitetit dhe të komandave tregojnë kush bëri çfarë dhe kur, gjë që ndihmon në pyetjet e mbështetjes, në rishikime dhe në mosmarrëveshje.
Të dhëna në masën e duhur
Të dhënat e vjetra të pozicioneve pastrohen çdo ditë sipas një rregulli të caktuar ruajtjeje, që baza e të dhënave të mbetet e shpejtë dhe hapësira e ruajtjes të jetë e parashikueshme.
I rikuperueshëm që në projektim
Skriptet për kopje rezervë dhe rikthim janë pjesë e sistemit, që rikuperimi i të dhënave të ndjekë një skript dhe jo improvizimin.

Zbatohet në

Zgjidhje

Pyetje të shpeshta

Pyetje që bëjnë blerësit

A punoni vetëm në platformën tuaj?

Jo. LIOMO Fleet është platforma jonë, por ndërtojmë edhe platforma, panele dhe integrime me porosi si projekte, me të njëjtat praktika inxhinierike.

Çfarë teknologjish përdorni?

I zgjedhim për çdo projekt. Platforma jonë përdor një gateway TCP, PostgreSQL për ruajtjen e të dhënave dhe një ndërfaqe web me Next.js dhe React. Për projekte të tjera nisemi nga kërkesat dhe sistemet tuaja ekzistuese, dhe parapëlqejmë teknologji të përhapura e të mbështetura mirë, që mund t’i mirëmbajë edhe një ekip tjetër.

Si i trajtoni vëllimet e mëdha të të dhënave nga sensorët?

Duke i trajtuar që në fillim si seri kohore: ruajtje e organizuar sipas kohës, kërkime që punojnë mbi intervale kohore, përmbledhje për periudha të gjata dhe një rregull ruajtjeje, që të dhënat e vjetra të papërpunuara të fshihen sipas planit. Në LIOMO Fleet, të dhënat e vjetra të pozicioneve pastrohen çdo ditë.

Si testoni para publikimit?

Logjika kryesore, si dekoduesit, rregullat dhe llogaritjet, mbulohet nga teste të automatizuara. Për shërbimet që punojnë pa ndërprerje, testet e gjata të qëndrueshmërisë kontrollojnë stabilitetin në kohë, jo vetëm saktësinë për një kërkesë të vetme.

Diskutoni anën teknike të projektit tuaj

Sillni inxhinierët tuaj. Jemi të gatshëm të hyjmë në detaje për protokollet, modelet e të dhënave, sigurinë dhe integrimin.