Uživatelské nástroje

Nástroje pro tento web


cs:data-uploader

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
cs:data-uploader [2016/08/15 20:10] – [Postup aktualizace data-uploaderu z RMDS-data-uploaderu] kaklikcs:data-uploader [2017/08/16 10:23] (aktuální) – [Postup aktualizace data-uploaderu z RMDS-data-uploaderu] kaklik
Řádek 3: Řádek 3:
 Pro upload naměřených dat ze stanic se využívá python program [[https://github.com/bolidozor/data-uploader|data-uploader]]. Program lze použít pro upload dat projektů Bolidozor a [[http://wiki.ionozor.eu|Ionozor]]. Pro upload naměřených dat ze stanic se využívá python program [[https://github.com/bolidozor/data-uploader|data-uploader]]. Program lze použít pro upload dat projektů Bolidozor a [[http://wiki.ionozor.eu|Ionozor]].
  
-Program při uploadování na server kontroluje celistvos esunutého souboru pomocí kontrolních součtů a zároveň edá informaci do indexační databáze [[cs:RTbolidozor|RTbolidozoru]] o novém souboru na serveru.+Upload na centrální server probíhá es SSH protokol. Zabezpečení enosu je pomocí ssh-klíče
  
-program se spouští s parametrem cesty ke konfiguračnímu souboru [[cs:radio-observer|radio-observeru]]. například takto: +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 [[cs:RTbolidozor|RTbolidozoru]] o novém souboru na serveru. 
-  ./repos/RMDS-data-uploader/dataUpload.py ~/bolidozor/station/Bolidozor.json+ 
 +Celkově řeší tyto úlohy: 
 + 
 +  * Roztřídění [[cs:convention|dat do složek]] 
 +  * Upload dat na server [[http://space.astro.cz/bolidozor/|space.astro.cz]] 
 +  * Kontrola volného místa na disku (zatím nevyřešeno) 
 + 
 +Celý skript je připraven pro fungování s [[cs:radio-observer|radio-observerem]] program se proto spouští s parametrem cesty ke konfiguračnímu souboru [[cs:radio-observer|radio-observeru]]. například takto: 
 +  ./repos/data-uploader/dataUpload.py ~/bolidozor/station/Bolidozor.json 
 +   
 +======Instalace====== 
 + 
 +Zdrojové soubory jsou umístěny na Githubu  [[https://github.com/bolidozor/RMDS-data-uploader|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 ====
  
-=== Konfigurační soubor === 
 Pro správné fungování data-uploaderu se musí do konfiguračního souboru radio-observeru přidat následující parametry: Pro správné fungování data-uploaderu se musí do konfiguračního souboru radio-observeru přidat následující parametry:
  
Řádek 18: Řádek 46:
   "storage_protocol": "ssh",   "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==== ==== Postup aktualizace data-uploaderu z RMDS-data-uploaderu====
      
Řádek 42: Řádek 78:
   "storage_stationpath": "/storage/bolidozor/",   "storage_stationpath": "/storage/bolidozor/",
   "storage_protocol": "ssh",   "storage_protocol": "ssh",
- +   
- +  "HWversion": "RMDS02D", 
-<WRAP center round important 60%> +   
-Následující popis je pro starší verzi [[https://github.com/bolidozor/RMDS-data-uploader|RMDS-data-uploaderu]].  +  "observatory": [ 
-</WRAP> +      { 
- +          "name""svakov", 
- +          "owner.login": "kaklik", // GitHub login 
-Pro přenos naměřených dat ze sítě [[cs:rmds|RMDS]] na centrální úložiště byl vytvořen skript [[https://github.com/bolidozor/data-uploader|RMDS-data-uploader]]+          "lat": 49.260658, 
-Tento skript má na starosti následující záležitosti+          "lon"14.691537, 
- +          "alt"445.0, 
-  * Roztřídění dat do složek +          "location""Svakov", //City, local name 
-  * Upload dat na server [[http://space.astro.cz/bolidozor/|space.astro.cz]] +      } 
-  * Kontrola volného místa na disku (zatím nevyřešeno) +  ],
- +
-Celý skript je připraven pro fungování s [[cs:radio-observer|radio-observerem]] a [[cs:spectrumlab|SpectrumLabem]].+
  
 ====Rozřazení dat do složek==== ====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ě: 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+ 
 +  /station/typ dat/rok/měsíc/den/[hodina]/soubor.záznamu
  
 Tato struktura ctí [[cs:convention|standardy sítě Bolidozor]]. Tato struktura ctí [[cs:convention|standardy sítě Bolidozor]].
Řádek 69: Řádek 104:
 ====Upload dat na server==== ====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íčePoužitý rsync příkaz vypadá takto:+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.
  
-  rsync -vaz cesta_do_zdrojove_slozke/ uzivatel@space.astro.cz:/storage/bolidozor/cesta_cilove_slozky/ +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:
-   +
-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 náhledy spektra (snapshoty) 
Řádek 84: Řádek 112:
   - Synchronizují se konfigurační soubory stanice   - Synchronizují se konfigurační soubory stanice
   - Synchronizují se záznamy meteorů RAW   - 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. 
  
  
  
      
-======Popis jednotlivých zdrojových kódů====== 
  
-===DiskGuard.py=== 
  
-Tato část se bude starat o odstraňování dat z plného disku stanice. 
- 
-===config.py=== 
-konfigurační soubor pro stanici a RMDS-data-uploader. 
- 
-===run.py=== 
-spouštěcí skript stanice. 
-stará se o pravidelné spouštění jednotlivých částí aplikace. 
- 
-===serversetup.py=== 
-vytváří nové adresáře, pokud ještě neexistují. 
- 
-===sort.py=== 
-Stará se o správné rozřazení do složek. 
- 
-===sync.py=== 
-Spouští rsync příkaz a kontroluje dostupnost serveru space.astro.cz 
- 
- 
- 
-======Instalace====== 
- 
-Celý skript je umístěn na Githubu [[https://github.com/bolidozor/RMDS-data-uploader|bolidozor/RMDS-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/RMDS-data-uploader.git 
-  cd RMDS-data-uploader 
-   
-Pak je uz jenom potreba mit spravne klicove vyrazy v Bolidozor.json 
  
-Skript se následně spustí: 
-  ./data_upload.py 
cs/data-uploader.1471291818.txt.gz · Poslední úprava: 2016/08/15 20:10 autor: kaklik