Kehittäjät

Sisällysluettelo

Johdanto

Tämä sivu sisältää kaikki tiedot, joita kehittäjät tarvitsevat voidakseen osallistua Hotmaps-alustaan tai ymmärtääkseen sen toiminnan.

To Top

Tietojoukon integrointi

Uusien julkisten tietojoukkojen integrointi hoidetaan seuraavasti:

  1. tietojoukot on siirrettävä git-arkistoon (lisää tietojoukot GitLabiin )
  2. joka ilta komentosarja integroi uudet / päivitetyt tietojoukot DEV-alustalle
  3. jos kaikki toimi hyvin, tietojoukko on nyt saatavilla DEV-alustalla ja kehittäjät voivat integroida sen koodiinsa
  4. Kun koodaus on valmis, uudet ominaisuudet lisätään tuotantoalustaan uuden julkaisun kautta

Tietojen integrointi

Jos tietojoukko epäonnistuu integroinnin aikana, Taigaan (projektinhallinta-alusta) luodaan asia. Ongelma osoittaa esiin tulleen virheen, ja kehittäjän tulisi korjata se ja työntää työnsä uudelleen Gitiin, jotta komentosarja voi yrittää integroida sen uudelleen seuraavana iltana.

Integrointikoodin lähdekoodi on saatavilla tältä linkiltä: Tietojen integrointi

To Top

Lisää tietojoukot GitLabiin

Jos haluat lisätä tietoaineistoja julkisten tietojoukkojen luetteloon, ne on siirrettävä uuteen Git-arkistoon GitLabissa. Tässä on GitLab-organisaatio, johon tietojoukot on työnnettävä: Datasets on GitLab .

Kerran päivässä arkistoista tarkistetaan uudet sitoumukset ja integroidaan, jos niin. Integraatioprosessi tarkistaa, ovatko tiedot eritelmien mukaisia vai ei.

Tässä on eritelmä: Hotmaps_Data-upload-on-Gitlab_2017-12-04_V4.pdf

To Top

Luettelo tärkeimmistä arkistoista

Sovelluksen koodi sijaitsee GitHubissa Hotmaps-organisaation alla . Tämä organisaatio omistaa useita arkistoja

To Top

Kuinka lisätä koodi

Jos haluat lisätä koodia Hotmapsiin, sinulla on kaksi mahdollisuutta: jos haluat päivittää käyttöliittymän tai taustajärjestelmän suoraan, sinun on muokattava työkalurivin asiakasta tai palveluvarastoa. Jos haluat lisätä oman laskentamoduulin, voit luoda oman arkiston seuraamalla base_calculation_module-tietovaraston readme-tiedostoa

Jos haluat tehdä töitä Git-arkistossa, älä työskentele suoraan päähaaran kanssa. Luo uusi haara kehityshaarasta, tee työsi tällä haaralla, ja kun ominaisuutesi on testattu, voit yhdistää työsi kehitystoiminnan haaraan seuraavan kaavion mukaisesti.

Git_workflow

Jotta voisit viedä jotain joihinkin Hotmaps-arkistoihin, sinun on oltava Hotmaps-tiimin jäsen. Jos et ole, voit silti suorittaa työkalun haarukan kehittääksesi oman työkalun.

Löydät lisätietoja työskentelystä näistä asiakirjoista:

To Top

Kuvaus IT-infrastruktuurista

ReverseProxy_architecture_estest

Kaikkia palveluja ja komponentteja käytetään oman Docker-kontinsa kautta. Kaikki nämä säilöt on määritelty yhdessä telakointikoneessa. Yllä oleva kuva edustaa Hotmapsin IT-arkkitehtuuria.

Jotkut kumppaniorganisaatiot rajoittivat viestintää vain porttiin 80. Tämän rajoituksen aiheuttamien ongelmien välttämiseksi luotiin käänteinen välityspalvelin. Tämä käänteinen välityspalvelin tarjoaa yhden lähtökohdan ja jakaa sitten asiakkaan lähettämän pyynnön kyseiselle palvelulle. Käänteinen välityspalvelin koostuu kolmesta osasta:

  1. Käänteinen välityspalvelin: se toimii ainutlaatuisena lähtökohtana ja jakaa pyynnöt oikeille palveluille.
  2. Proxy-gen: se on palvelu, joka kartoittaa automaattisesti kaikki palvelut käänteisessä välityspalvelimessa. Siksi uutta palvelua ei tarvitse lisätä manuaalisesti välityspalvelimen kokoonpanoon
  3. lets-encrypt: se on palvelu, joka sallii SSL-protokollan käytön. Se on tarpeen https-protokollan aktivoimiseksi. SSL-varmenteet allekirjoitetaan tässä palvelussa määritetyllä sähköpostiosoitteella.

Kolme verkostoa on olemassa:

  • hotmaps_nginx antaa käänteisen välityspalvelimen kommunikoida API: n, käyttöliittymän ja GeoServerin kanssa. Se mahdollistaa lähinnä pyynnön jakamisen oikealle palvelulle näiden kolmen kesken.
  • hotmaps_backend sallii kommunikoinnin taustajärjestelmän kaikkien komponenttien välillä: API, frontend, GeoServer ja PostgreSQL-tietokanta.
  • hotmaps_cm-net mahdollistaa tiedonsiirron kunkin laskentamoduulin ja API: n välillä.

Jokaisella laskentamoduulilla on oma Docker-kontti.

To Top

Suorita Dockerin kanssa

Hotmaps käyttää Docker- ohjelmistoa ja Docker-Compose- työkalua konttien hallintaan. Docker-compose.yml-tiedosto sisältää Docker-arkkitehtuurin koko kokoonpanon (kokoonpanot, säilöt, verkot, linkit, ...). Tämän avulla kontteja voidaan ajaa yhdellä yksinkertaisella komennolla:

 docker-compose up

Docker-composesta on lisätietoja Docker-verkkosivustolla: Compose komentoriviviite ja Compose file reference .

On vain yksi säilö, joka ajetaan erillään muista: se on tietokanta, koska sen on pysyttävä jatkuvasti yllä. Siksi sitä ei ole docker-compose-määritystiedostossa.

To Top

Palvelininfrastruktuuri

Infrastruktuuri

Tällä hetkellä palvelinta isännöidään Sveitsin HES-SO: lla. Saatavilla on 2 konetta: yksi kehitykseen (kehitys ja testaus) ja toinen tuotantoon (varsinainen työkalupakki, saatavana osoitteesta www.hotmaps.eu ).

Molemmilla koneilla on sama erittely:

  • Suoritin: Intel Xeon E5-2680 v4 (8) @ 2.4GHz)
  • RAM: 16 Gt
  • Kiintolevy: 500 Gt
  • Käyttöjärjestelmä: Ubutnu 16.04 LTS

Esitys

Suoritamme usein suorituskykytestejä kehityspalvelimella taatakseen tietyn määrän samanaikaisia käyttäjiä.

Esimerkkinä alla ovat ensimmäisen beeta-julkaisun tulokset verrattuna tuleviin julkaisutesteihin. Uusi julkaisu sisältää joitain suorituskyvyn parannuksia.

Tässä esimerkissä esitetään samanaikaisten käyttäjien suorituskykytestit, jotka käyttävät samaa toimintoa: "kestokäyrä hehtaarivalinnalle". Lihavoitu rivi osoittaa rajan, jossa palvelin alkaa aiheuttaa virheitä. Hektarivalinta on hyvä esimerkki, koska se näyttää kyselyt, jotka vaativat eniten resursseja.

Betaversio maaliskuussa 2019

| Nb simuloituja käyttäjiä Keskimääräinen aika | Mediaani | Enimmäisaika | Minimi aika Virheiden prosenttiosuus | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 1 | 1042 | 1042 | 1042 | 1042 | 0 | | 20 | 3608 | 3858 | 4475 | 2156 | 0 | | 50 | 7337 | 7595 | 11791 | 1568 | 0 | | 100 | 13897 | 13644 | 24492 | 1875 | 0 | | 200 | 27135 | 26380 | 51967 | 3045 | 0 | | 300 | 41237 | 43083 | 73245 | 3223 | 10,67 |

Lopullinen julkaisu (elokuu 2020)

| Nb simuloituja käyttäjiä Keskimääräinen aika | Mediaani | Enimmäisaika | Minimi aika Virheiden prosenttiosuus | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 1 | 1025 | 970 | 1151 | 956 | 0 | | 20 | 1671 | 1732 | 2085 | 1113 | 0 | | 50 | 3527 | 3622 | 5593 | 982 | 0 | | 100 | 6648 | 6764 | 11854 | 1118 | 0 | | 200 | 12904 | 12801 | 24163 | 1192 | 0 | | 300 | 19521 | 19382 | 38116 | 1060 | 0 |

To Top

READ.ME

Lue minulle

To Top

Kuinka määritellä indikaattorit

Indikaattorin määritelmä

To Top

Kuinka lainata

Daniel Hunacek, Lucien Zuber, Matthieu Dayer, Hotmaps Wikissä, kehittäjät -osiossa (syyskuu 2020)

To Top

Kirjoittajat ja arvostelijat

Tämän sivun ovat kirjoittaneet Daniel Hunacek, Lucien Zuber ja Matthieu Dayer ( HES-SO ).

☑ Tämän sivun tarkasteli Mostafa Fallahnejad ( EEG - TU Wien ).

To Top

Lisenssi

Tekijänoikeus © 2016-2020: Daniel Hunacek, Lucien Zuber ja Matthieu Dayer

Creative Commons Nimeä 4.0 -lisenssi

Tämä teos on lisensoitu Creative Commons CC BY 4.0 -lisenssillä.

SPDX-lisenssitunniste: CC-BY-4.0

Lisenssiteksti: https://spdx.org/licenses/CC-BY-4.0.html

To Top

Tunnustus

Haluamme antaa syvän arvostuksen Horisontti 2020 Hotmaps -hankkeelle (avustussopimuksen numero 723677), joka tarjosi rahoitusta tämän tutkimuksen suorittamiseen

To Top

This page was automatically translated. View in another language:

English (original) Bulgarian* Czech* Danish* German* Greek* Spanish* Estonian* French* Irish* Croatian* Hungarian* Italian* Lithuanian* Latvian* Maltese* Dutch* Polish* Portuguese (Portugal, Brazil)* Romanian* Slovak* Slovenian* Swedish*

* machine translated