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.

Data-uploader vyžaduje tyto závislosti:

sudo apt install python-paramiko

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

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",
"HWversion": "RMDS02D",

"observatory": [
    {
        "name": "svakov",
        "owner.login": "kaklik", // GitHub login
        "lat": 49.260658,
        "lon": 14.691537,
        "alt": 445.0,
        "location": "Svakov",	//City, local name
    }
],

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ě:

/station/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 je vyřešeno voláním scp a žádostí o kontrolní součet MD5 na straně datového serveru.

Skript každé 2 minuty zkontroluje připojeni k internetu (dostupnost space.astro.cz) a v případě autentizace se spustí synchronizace dat. 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
cs/data-uploader.1502879024.txt.gz · Poslední úprava: 2017/08/16 10:23 autor: kaklik