Pirilä - Awot - Tulosseuranta tietoverkoissa
Sanomajonot
Awot:n palvelin ottaa vastaan Pirilän ohjelmista tulossanomia.Ko. sanomat on luettavissa Awot:n palvelimelta muihinkin ohjelmiin. Näin voi vaikka jokainen rakentaa oman Online-tulospalvelun ko. tulossanomien avulla. Mielenkiinnolla jäämme odottamaan erilaisten asiakasohjelmien syntymistä. Jos toteutus on Java, ksh, perl tai C-kielinen, niin Awotilta voisi saada vaikka palvelinympäristön käyttöönsä kehittää ja kokeilla.
Ensimmäinen tälläinen ko.dataa hyödyntä ohjelma on OliveResults reaaliaikainen tulostaulu.
Samoin voidaan monistaa sanomat muille palvelimille ja ns. asiakasohjelmat voivat lukea tulossanomia myös muilta palvelimilta. Näin voidaan hajauttaa palvelimet, jolloin tehot riittävät varmasti vaikka miten suuren joukon palvelimiseen. Tätä hajauttamista varten Awot julkaisee myöhemmin palvelin-protokollan, jonka avulla halukkaat palvelimet ilmoittautuvat sanomapalvelijoiksi.
Sanomien luku palvelimelta
Awot sanomapalvelija toimii http-protokolla. Lähettämällä GET-pyyntö palvelimelle, alkaa palvelin lähettämään sanomia ja istunto pysyy kokoajan auki elikun uusi sanoma syntyy, siirtyy se myös avoinna oleville sanomapyytäjille.Sanomapalvelijan URL on esim. kilpailutunnukselle tst1:
http://www.suunnistus.info/cgi-bin/textdb/pirila/showmsg?event=tst1Sanomapalvelijalta voi kysyä kaikki tarjolla olevat jonot URL:lla
http://www.suunnistus.info/cgi-bin/textdb/pirila/showqueuelistMolemmat URL:t palauttavat tiedon ns. plain-text muodossa. showqueuelist palauttaa listan ja sulkee yhteyden, kun taas showmsg jää avoimiksi odottaen tulisiko lisää sanomia.
Yleiset sanoman periaatteet
Yksi sanoma on yhdellä tekstirivillä. Kenttien välinen erotin on puolipiste ( ; ). Rivien välinen erotin on ascii 10 eli linefeed. # -merkillä alkavat rivit ovat kommenttirivejä.Jos rakenteeseen tulee muutoksia, tulee uudet kentät ensisijassa vanhojen kenttien perään.
Tulossanoman rakenne
Awot palvelimelta luettavan tulossanoman rakenne on:
kilpailutunnus;aikaleima;sarja;matka;numero;sukunimi;etunimi;seura;aika;aikasek;<LF>
Esimerkki
tst1;20020802141430;H21A;5,0;7;Sallinen;Kari;Delta;10:49:15;38955;
Selitys kentille:
- kilpailutunnuson tunnus sanomajonolle, josta lukua tehdään.
- aikaleima on tapahtuman tallennushetki Awot-palvelimella muodossa vvvvkkmmhhmmss eli vuosi, kuukausi, päivä, tunti, minuutti ja sekunti. Voidaan hyödyntää esim. suoritettaessa palvelimelta ns. uudelleen lähetyspyyntö eli pyydetään sanomat tietystä ajasta alkaen tai tietyltä aikaväliltä.
- sarja on merkkijono toimien sarjan tunnuksena.
- matka matka on muodossa km,xxx. Jos tietoja tulee myös väliaikarasteilta, on silloin matka arvoltaan pienempi kuin maalissa. Ko.matka kertoo miltä kohtaa rataa aikatieto on. Näin toimii myös maali.
- numero on kilpailijan numero.
- sukunimi on ...
- etunimi on ...
- seura on seuralyhenne.
- aika on muodossa hh:mm:ss. Aika voi olla myös merkkijono DNS, DNF, DQ ,. Tällöin aikasek on > 999990
- aikasek on sama kuin aika, mutta sekunteina.
- loppumerkki sanoman loppumerkkinä on ascii 10 eli ns. linefeed
Sanomajonolistauksen rakenne
kilpailutunnus;kilpailun nimi;kilpailutunnus on se tunnus, jota sanomien noudossa tulee käyttää.
Esimerkki sanomien lukemiseen
Oheinen esimerkki readqueue on tehty ksh-kuoriohjelmalla (KornShell).
#!/usr/local/bin/ksh # readqueue # ex. ksh-script for reading result messages # Karjalan ATK-Awot Oy, Jukka.Inkeri@Awot.biz # - open filehandler/socket read/write exec 3<>/dev/tcp/www.suunnistus.info/http # - send GET message to server echo "GET /cgi-bin/textdb/pirila/showmsg?event=jitst1" >&3 # - read lines forever while read line do # variable line include messageline echo "$line" done <&3 # - read from socket exec 3<&- # - close socket
Awot verkkopalvelut
Awot on erikoistunut palvelinohjelmistoihin ja verkkotekniikkaan.
© Karjalan ATK-Awot Oy web.mgr@awot.fi A>