Nopeampi, reaaliaikainen synkronointi: miksi rakensimme datamoottorin uudelleen
16.7.2025 · Steve Berry, N1EZ
Tämä kirjoitus kertoo putkitöistä, enkä aio pyydellä sitä anteeksi. Vähiten hohdokas työmme — moottori, joka pitää yhteytesi synkronoituina — on juuri se työ, joka tekee kaiken muun DxQSO:ssa mahdolliseksi. Jos moottori on hidas tai epäluotettava, myös sen päälle rakentamamme hälytykset, saavutukset ja yhteistyö ovat hitaita ja epäluotettavia. Siksi rakensimme sen uudelleen.
Miksi reaaliaikaisuus on koko jutun ydin
Muistetaan, mitä DxQSO oikeastaan on: ei lokikirja, vaan järjestelmä, joka yhdistää jo käyttämäsi lokiohjelmat taskussasi olevaan puhelimeen ja sähköpostiisi. Se toimii vain, jos asemahistoriasi on aidosti ajan tasalla. LoTW®:hen saapuva kuittaus on hälytyksenä arvoton, jos sen perillemeno kestää tunteja. Juuri workkimasi uusi lokaattoriruutu ei voi näkyä saavutuksissasi tai kerhosi yhteisessä toiminnassa, jos tiedot ovat vanhentuneita. Reaaliaikaisuus ei ole tässä mukava lisä. Se on itse tuote.
Alkuvaiheessa, kun lokikirjat kasvoivat kymmeniin tuhansiin yhteyksiin, alkuperäinen synkronointimme alkoi narista. Lokin avaaminen puhelimella heikolla yhteydellä puistossa on aivan eri ongelma kuin sen avaaminen nopealla pöytäkoneella kotona, eikä ensimmäistä moottoria ollut tehty sellaiseen maailmaan. Niinpä kirjoitimme uusiksi alusta asti sen, miten DxQSO hakee, välimuistittaa ja päivittää yhteytesi.
Mitä konepellin alla muuttui
Kolme asiaa selkokielellä. Ensinnäkin synkronointi on nyt inkrementaalista — järjestelmä kysyy, mikä on muuttunut edellisen tarkistuksen jälkeen, sen sijaan että raahaisi koko lokisi joka kerta. Toiseksi kunkin laitteen tallentama data on fiksumpaa, joten yhteyksien selaaminen ja hakeminen ei enää odota verkkoa. Kolmanneksi tarkensimme aikaleimoja ja kirjanpitoa, joilla ratkaistaan, mikä on oikeasti uutta — sitä arkista yksityiskohtaa, joka tekee ”mikä muuttui viime kerrasta” -tiedosta niin luotettavan, että sen varaan voi rakentaa hälytyksen.
Mikään tästä ei näy painikkeena. Se näkyy siinä, että järjestelmä tuntuu välittömältä ja kuittaukset ja tapahtumat tavoittavat sinut lähes reaaliajassa eivätkä vasta silloin, kun sovellus sattuu huomaamaan ne.
Tehty heikolle yhteydelle, ei laboratorioon
Synkronointimoottori ei joudu todelliseen testiin nopealla pöytäkoneella kodin valokuidulla. Se joutuu testiin puhelimessa, jossa on kaksi palkkia kenttää puistotien perällä ja akku, jota yrität säästää, kun haluat vain varmistaa lokin menneen perille ennen kuin puret aseman. Juuri tähän ympäristöön optimoimme. Inkrementaalinen synkronointi tarkoittaa, että heikon signaalin yli liikkuu muutama kilotavu, ei koko asemahistoriaasi. Fiksumpi laitteen oma data tarkoittaa, että jo haettu loki on heti selattavissa ja haettavissa, vaikka yhteys katkeaisi kokonaan.
Sama ratkaisu kannattaa myös kotona. Kun lokissasi on kymmeniä tuhansia yhteyksiä, ero ”kysy mikä muuttui” ja ”hae kaikki taas” välillä on ero lokikirjan, joka aukeaa heti, ja sellaisen, jonka avaamista alat kammota. Moottori käyttäytyy nyt valtavan lokin kanssa samoin kuin pienen, ja vain niin työkalu pysyy käyttökelpoisena, kun toimintasi kasvaa vuosien mittaan.
Niin luotettava, että sen varaan voi rakentaa hälytyksiä
Nopeus oli vasta puolet työstä. Hälytysjärjestelmä on vain niin luotettava kuin sen alla olevat aikaleimat. Jos järjestelmä ei pysty varmuudella sanomaan, mikä on aidosti uutta, se joko ohittaa kuittauksia tai huutaa sutta — ja kumpikin syö luottamuksesi nopeasti. Ohi mennyt uuden DXCC:n hälytys on pettymys; jatkuva väärien hälytysten virta on pahempi, koska opit ohittamaan värinän, ja silloin se tärkeä menee myös ohi. Kirjanpidon tiukentaminen on näkymätöntä työtä, mutta se on koko perusta ilmoitukselle, johon oikeasti reagoit.
Siksi käsittelimme kysymystä ”mikä muuttui viime kerrasta” ensisijaisena ongelmana eikä jälkiajatuksena. Jokainen kuittaus, jokainen uusi ruutu ja jokainen awardin virstanpylväs, josta DxQSO voi luvata kertoa, edellyttää, että järjestelmä tietää tarkasti sen olevan uusi. Kun tämä on kunnossa, hälytykset tuntuvat taikuudelta. Jos se menee pieleen, koko idea romahtaa.
Perusta kaikelle tulevalle
Kerron uudistuksesta, jota useimmat yritykset eivät mainitsisi lainkaan, koska se on hiljainen mahdollistaja niiden ominaisuuksien takana, joiden julkaisemista odotan tulevana vuonna eniten. Automaattinen tallennus kentältä ja shäkistä. Välittömät QSL-hälytykset puhelimeesi ja sähköpostiisi. Saavutukset, jotka päivittyvät sillä hetkellä, kun kuittaus saapuu. Kerhot ja tiimit, jotka näkevät toistensa toiminnan livenä. Jokainen näistä vaatii synkronointimoottorin, joka on riittävän nopea ja luotettava pysyäkseen mukana siinä, miten oikeasti workit.
Et tule näkemään muutoslokissa merkintää ”kirjoitimme datamoottorin uusiksi”. Huomaat vain, että lokisi on ajan tasalla silloin kun tarvitset sitä, että hälytykset saapuvat silloin kun pitää ja että järjestelmä ei ole tiellä. Siinä oli koko tarkoitus — rakentaa reaaliaikainen perusta, jonka varassa muu DxQSO seisoo.


