Uživatelské nástroje

Nástroje pro tento web

Tento překlad je starší než originální stránka a nejspíše i zastaralý. Zobrazit změny.
Překlady této stránky?:

cs:data-uploader

Toto je starší verze dokumentu!


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.

Upload na centrální server probíhá přes SSH protokol. Zabezpečení přenosu je pomocí ssh-klíče.

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.

Celkově řeší tyto úlohy:

Celý skript je připraven pro fungování s radio-observerem program se proto 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

Funkci můžeme ověřit například programy bmon nebo iftop

sudo apt-get install bmon

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",

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:

  1. Synchronizují se náhledy spektra (snapshoty)
  2. Synchronizují se meta-datové soubory
  3. Synchronizují se konfigurační soubory stanice
  4. 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.

cs/data-uploader.1473703666.txt.gz · Poslední úprava: 2016/09/12 18:07 autor: kaklik