Disclaimer: The explanation provided on this website (Hotmaps Wiki) are indicative and for research purposes only. No responsibility is taken for the accuracy of the provided information, explanations and figures or for using them for unintended purposes.
Data privacy: By clicking OK below, you accept that this website may use cookies.
Den här sidan innehåller all information som krävs för utvecklare att bidra till Hotmaps-plattformen eller för att förstå hur den fungerar.
Integrering av nya offentliga datamängder hanteras enligt följande:
Dataintegration
Om en dataset misslyckas under integrationen skapas ett problem på Taiga (projekthanteringsplattform). Problemet visar det uppkomna felet och utvecklaren bör fixa det och trycka igen sitt arbete till Git så att manuset kan försöka integrera det igen nästa kväll.
Källkoden för integrationsskriptet finns tillgänglig på den här länken: Dataintegration
För att lägga till datamängder i listan över offentliga datamängder måste de skjutas till ett nytt Git-arkiv på GitLab. Här är GitLab-organisationen där datauppsättningar ska tryckas: Datamängder på GitLab .
En gång om dagen kontrolleras förvaren för nya åtaganden och integreras i så fall. Integrationsprocessen kontrollerar om data överensstämmer med specifikationen eller inte.
Här är specifikationen: Hotmaps_Data-upload-on-Gitlab_2017-12-04_V4.pdf
Applikationens kod finns på GitHub under Hotmaps-organisationen . Denna organisation äger flera förvar
Om du vill lägga till lite kod i Hotmaps har du två möjligheter: om du vill uppdatera gränssnittet eller backend direkt måste du ändra klient- eller serviceförvaret för verktygslådan. Om du vill lägga till din egen beräkningsmodul kan du skapa din egen databas genom att följa readme till bas_calculation_module repository
Om du vill utföra lite arbete på Git-arkivet, vänligen arbeta inte direkt med huvudgrenen. Skapa en ny gren från utvecklingsgrenen, gör ditt arbete med den här grenen och när din funktion testas kan du slå samman ditt arbete med utvecklingsgrenen som visas i följande graf.
Git_workflow
För att driva något till Hotmaps-förvaret måste du vara medlem i Hotmaps-teamet, om du inte är det kan du fortfarande utföra en gaffel med vårt verktyg för att utveckla ditt eget verktyg.
Du hittar mer information om hur du arbetar i dessa dokument:
ReverseProxy_architecture_latest
Alla tjänster och komponenter används via sin egen Docker-container. Alla dessa behållare definieras i en enda docker-komponeringsfil. Bilden ovan representerar Hotmaps IT-arkitektur.
Vissa partnerorganisationer begränsade endast kommunikationen till port 80. För att undvika problemen orsakade av denna begränsning skapades en omvänd proxy. Denna omvända proxy erbjuder en enda ingångspunkt och distribuerar sedan begäran som skickats av kunden till den berörda tjänsten. Den omvända proxyen består av tre komponenter:
Det finns tre nätverk:
Varje beräkningsmodul har sin egen Docker-behållare.
Hotmaps använder Docker- programvara och Docker-Compose- verktyg för att hantera behållare. En docker-compose.yml-fil innehåller hela konfigurationen av Docker-arkitekturen (konfiguration av behållare, nätverk, länkar, ...). Detta gör att containrar kan köras med ett enkelt kommando:
docker-compose up
Det finns mer om docker-compose på webbplatsen för Docker: Skriv kommandoradsreferens och Skriv filreferens .
Det finns bara en container som körs separat från andra: det är databasen eftersom den måste vara uppe hela tiden. Det är därför det inte finns i docker-compose-konfigurationsfilen.
För närvarande är servern värd för HES-SO i Schweiz. Det finns två maskiner tillgängliga: en för utveckling (utveckling och testning) och en för produktion (den faktiska verktygslådan, tillgänglig på www.hotmaps.eu ).
Båda maskinerna har samma specifikation:
Vi kör ofta prestandatester på utvecklingsservern för att garantera en viss mängd samtidiga användare.
Som ett exempel nedan är resultaten av den första betaversionen jämfört med framtida release-test. Den nya versionen innehåller några förbättringar av prestanda.
Detta exempel visar prestandatesterna för samtidiga användare som använder samma funktion: "varaktighetskurva för hektarval". Den djärva raden visar gränsen där servern börjar ta upp fel. Hektarval är ett bra exempel eftersom det visar de frågor som kräver mest resurser.
Beta släpps från mars 2019
| Antal simulerade användare | Genomsnittlig tid | Median | Max tid | Min tid | Procentandel av fel | | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 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 |
Slutlig release (augusti 2020)
| Antal simulerade användare | Genomsnittlig tid | Median | Max tid | Min tid | Procentandel av fel | | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | | 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 |
Daniel Hunacek, Lucien Zuber, Matthieu Dayer, i Hotmaps Wiki, utvecklaravdelningen (september 2020)
Denna sida skrevs av Daniel Hunacek, Lucien Zuber och Matthieu Dayer ( HES-SO ).
☑ Denna sida granskades av Mostafa Fallahnejad ( EEG - TU Wien ).
Copyright © 2016-2020: Daniel Hunacek, Lucien Zuber och Matthieu Dayer
Creative Commons Attribution 4.0 internationell licens
Detta arbete är licensierat under en Creative Commons CC BY 4.0 International License.
SPDX-licensidentifierare: CC-BY-4.0
Licenstext: https://spdx.org/licenses/CC-BY-4.0.html
Vi vill förmedla vår djupaste uppskattning till Horizon 2020 Hotmaps-projektet (bidragsöverenskommelse nummer 723677), som gav finansieringen för att genomföra denna undersökning
This page was automatically translated. View in another language:
English (original) Bulgarian* Czech* Danish* German* Greek* Spanish* Estonian* Finnish* French* Irish* Croatian* Hungarian* Italian* Lithuanian* Latvian* Maltese* Dutch* Polish* Portuguese (Portugal, Brazil)* Romanian* Slovak* Slovenian*
* machine translated
Last edited by web, 2020-09-30 11:29:36