Toto je starší verze dokumentu!
−Obsah
Systém pro upload měřených dat ze stanic
Pro upload naměřených dat ze stanic se využívá python program data-uploader. Program lze použít pro upload dat projektů Bolidozor a Ionozor.
Program při nahrávání dat na server kontroluje celistvost přesunutého souboru pomocí kontrolních součtů a zároveň předá informaci do indexační databáze RTbolidozoru o novém souboru na serveru.
program se spouští s parametrem cesty ke konfiguračnímu souboru radio-observeru. například takto:
./repos/data-uploader/dataUpload.py ~/bolidozor/station/Bolidozor.json
Instalace
Zdrojové soubory jsou umístěny na Githubu bolidozor/data-uploader.
Pomocné knihovny:
git clone https://github.com/MLAB-project/python-mlab-utils.git cd python-mlab-utils/ sudo python setup.py install develop
Skript stáhnete pomocí:
git clone https://github.com/bolidozor/data-uploader.git cd data-uploader
Pak je uz jenom potreba mit spravne klicove vyrazy v Bolidozor.json
Konfigurace
Pro správné fungování data-uploaderu se musí do konfiguračního souboru radio-observeru přidat následující parametry:
"project": "bolidozor", "project_home_folder": "/home/odroid/bolidozor/station/", "storage_hostname": "space.astro.cz", "storage_username": "obsjaromer", "storage_stationpath": "/storage/bolidozor/", "storage_protocol": "ssh",
Data-uploader vyžaduje tyto závislosti:
sudo apt install python-paramiko
Omezení datového toku
V některých případech, obvykle hvězdárnách s pomalým datovým připojením je vhodné omezit rychlost uploadu dat ze stanice, aby se dostalo i na ostatní uživatele sítě. Data uploaderu lze šířku přenosového pásma omezit programem trickle:
trickle -u 200 ./dataUpload.py ~/bolidozor/station/Bolidozor.json
Postup aktualizace data-uploaderu z RMDS-data-uploaderu
cd ~/repos/ mv RMDS-data-uploader data-uploader cd ~/repos/data-uploader/ git pull
cd ~/repos/station-supervisor/ git pull
sudo apt install python-paramiko
Do konfiguračního souboru přidat tyto parametry před „frontend“: „tcp_raw“,
:
"project": "bolidozor", "project_home_folder": "/home/odroid/bolidozor/station/", "storage_hostname": "space.astro.cz", "storage_username": "<< uzivatel >>", "storage_stationpath": "/storage/bolidozor/", "storage_protocol": "ssh",
Následující popis je pro starší verzi RMDS-data-uploaderu.
Pro přenos naměřených dat ze sítě RMDS na centrální úložiště byl vytvořen skript RMDS-data-uploader. Tento skript má na starosti následující záležitosti:
- Roztřídění dat do složek
- Upload dat na server space.astro.cz
- Kontrola volného místa na disku (zatím nevyřešeno)
Celý skript je připraven pro fungování s radio-observerem a SpectrumLabem.
Rozřazení dat do složek
rozřazování probíhá na základě názvu původního souboru. Výsledná struktura pak vypadá následovně:
/stanice/typ dat/rok/měsíc/den/[hodina]/soubor.záznamu
Tato struktura ctí standardy sítě Bolidozor.
Při rozřazování dat jsou meta-datové .csv záznamy z aktuální hodiny zachovány na původním místě a pouze překopírovány na úložiště kvůli možnosti dalšího zápisu do tohoto souboru.
Upload dat na server
Upload na centrální server probíhá pomocí rsync přes SSH protokol. Zabezpečení přenosu je pomocí ssh-klíče. Použitý rsync příkaz vypadá takto:
rsync -vaz cesta_do_zdrojove_slozke/ uzivatel@space.astro.cz:/storage/bolidozor/cesta_cilove_slozky/
parametry udávají:
- -v - výpis stavu synchronizace
- -a - archivační mód (data na stanici jsou vždy považována za správnou verzi)
- -z - komprese přenášených dat
Skript každých 30 minut zkontroluje připojeni k internetu (dostupnost space.astro.cz) a v případě autentizace se spustí synchronizace dat pomocí rsync. Synchronizace probíhá postupně ve čtyřech krocích:
- Synchronizují se náhledy spektra (snapshoty)
- Synchronizují se meta-datové soubory
- Synchronizují se konfigurační soubory stanice
- Synchronizují se záznamy meteorů RAW
Pokud poslední část trvá déle, než je nastavený časový limit, přenos je ukončen. Po uplynutích dalších 30ti minut skript roztřídí data do složek a spustí znovu synchronizaci.