WSlin2 pozna dva načina zbiranja podatkov, lokalno in preko interneta. Oba načina sta enakovredna in uporabljata enake metode. Pravzaprav se tudi lokalni podatki zbirajo preko internetnega vmesnika, le da program prebere podatke iz datoteke, ki se nahaja lokalnem datotečnem sistemu. Lahko bi se nahajala tudi kjerkoli na internetu, le njeno branje je potrebno periodično prožiti. Na strežnikih, ki jih nimamo v lastni oskrbi, pa po navadi nimamo pravic, da bi periodično prožili programe, zato je za tak način primernejšo periodično pošiljanje podatkov na internetni naslov. Podatki se lahko pošiljajo s standardno http/get metodo.
Lokalni način zbiranja podatkov
Za lokalni način zbiranja podatkov, moramo imeti na voljo podatke s senzorjev (vremenske postaje) v nekakšnem tekstovnem formatu (Human Readble). V najenostavnejšem primeru je to lahko awekas.txt, xml oblika ali kakršnakoli tekstovna oblika zapisa, za katero poznamo format zapisa. Branje podatkov s postaje ali senzorjev je izvedeno z zunanjimi programi. Najprimernejša oblika zapisa je:
parameter=vrednost
drugiParameter=drugaVrednost
vsak par v svoji vrstici. Tak zapis dobimo pri postaji WS2300 in tudi pri digitemp senzorjih. Za druge oblike je mogoče napisati vtičnik, ki podatke prebere in prilagodi notranji strukturi programa. Vtičnik je enostavno mogoče preklopiti v konfiguraciji programa.
V primeru, da imamo več postaj (lahko tudi različnih), je možno podatke za vsako postajo zbirati ločeno v okviru istega programa, in pozneje podatke primerjati.
Poseben način lokalnega zbiranja podatkov je uvoz starih podatkov. Trenutno je na voljo prenos podatkov iz WSlin1 baze, možen pa je iz kateregakoli tabelaričnega zapisa podatkov. Ko so ti podatki shranjeni, so enakovredni ostalim. Mogoče je tudi preračunati hitre statistike za njih, kar pa lahko traja tudi več ur (odvisno od količine podatkov).
Oddaljeni način zbiranja podatkov
Bistvena razlika pri tem načinu je ta, da podatke pošiljamo na strežnik. Na voljo sta dva načina. standardni http/get format npr:
http://server.com/WS/WS_client/getWSData.php?WSsign=imepostaje&Ts=20100302&To=3.5&Rp=1024 ....
Imena parametrov so določena, vrstni red ni pomemben, prav tako niso obvezni vsi, pač pa samo tisti, ki so nam na voljo. Ta način je primeren za pošiljanje podatkov preko žičnega interneta. Za pošiljanje preko mobilnih povezav obstaja skrajšan (kodiran) način, ki veliko prihrani pri količini prenosa podatkov (cena). Ta zgleda nekako takole:
http://server.com/WS/g.php?99pW091018193801058510240013025P015010025001020-14DN
Iz primera se vidi, da je količina prenesenih podatkov veliko manjša, saj prejšnja vrstica ni izpisana v celoti, ker bi bila predolga, spodnja pa ne zaseda niti cele širine strani in so v njej zajeti vsi možni podatki. Je pa jo zaradi tega malce težje zakodirati/odkodirati. Tako obliko prenosa podatkov uporablja VP Križevci preko mobilne povezave.
Odpravljanje napak (glitch detection)
Podatki, ki so bili sprejeti ali prebrani se nadalje obdelajo na enak način. Eden izmed postopkov, ki je na voljo od V1.1-4 dalje je tudi odkrivanje napak v meritvah.
Vsi, ki se ukvarjate z avtomatskim zbiranjem merjenih vrednosti veste, da se velikokrat zgodi, da kakšna izmed izmerjenih vrednosti odstopa oziroma je napačna. Taki meritvi se reče po angleško glitch. Vzrokov je lahko veliko, in jih je skoraj nemogoče odpraviti, zato jih tudi nima smisla iskati. Lahko pa jih z enostavnimi metodami odkrivamo.
Skoraj vse merilne veličine pri merjenju vremenskih količin se spreminjajo počasi. Nemogoče je, da bi se na primer temperatura v 5 minutah spremenila za več kot 5 stopinj (kar je že zelo velikodušna razlika) ali pa da bi v tem času padlo 50l padavin. Te napačne meritve je potrebno odkriti in po možnosti popraviti.
WSlin2 dela to na način, da preden zapiše izmerjene vrednosti v bazo, jih primerja s prejšnjo izmerjeno vrednostjo. Če je razlika prevelika v bazo zapiše vrednost prejšnje meritve (pri predpostavki, da so meritve dovolj pogoste, če je od prejšnje meritve preteklo preveč časa zapiše izmerjen podatek). Vendar to še ni vse. Napačno meritev, časovni index, spremenljivko meritve in popravljeno vrednost zapiše še v posebno tabelo, kjer ostanejo podatki na voljo za kontrolo ali ročno popravljanje.
Odkrivanje napak je mogoče tudi na starih podatkih. Potrebno je le zagnati skript odkrivanja napak. Pri tem načinu se podatki ne popravljajo avtomatično, pač pa jih moramo popraviti ročno, kar pa tudi ni preveč težko, ker do napačnega podatka pridemo z enim klikom, v obrazcu za popravljanje pa vidimo tudi prejšnje in naslednje meritve, da se lažje odločimo.
Shranjevanje podatkov
Na koncu se podatki shranijo v tabelo v bazi, za vsako postajo posebej. Izračunajo se hitro dostopne statistike za trenutni dan (za trenutni mesec vsako uro). Te statistike se hranijo v posebnih tabelah za vsako postajo posebej, da je potrebno čimmanj časa za njihov dostop. Možno jih je tudi naknadno preračunati. Analize in grafi se računajo/rišejo iz izmerjenih podatkov za vsako zahtevo posebej.
Pri standardni instalaciji se aktivira tudi posebni sistem varnostnega kopiranja podatkov za slučaj izgube podatkov. Zelo smiselno je, če se ti podatki hranijo na fizično drugem trdem disku ali računalniku. Podatki se kopirajo 1x dnevno v ciklično 3 dnevno rezervno kopijo. To pomeni da imao v vsakem trenutku na voljo 3 rezervne kopije, od katerih je najstarejša stara 3 dni.





