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.
Esta página contiene toda la información necesaria para que los desarrolladores contribuyan a la Plataforma Hotmaps o comprendan cómo funciona.
La integración de nuevos conjuntos de datos públicos se maneja de la siguiente manera:
Si un conjunto de datos falla durante la integración, se crea un problema en Taiga (plataforma de gestión de proyectos). El problema muestra el error provocado y el desarrollador debe solucionarlo y volver a enviar su trabajo a Git para que el script pueda intentar integrarlo nuevamente la noche siguiente.
El código fuente del script de integración está disponible en este enlace: Integración de datos
Para agregar conjuntos de datos en la lista de conjuntos de datos públicos, se deben enviar a un nuevo repositorio de Git en GitLab. Aquí está la Organización GitLab donde los conjuntos de datos deben ser empujados: Conjuntos de datos en GitLab .
Una vez al día, los repositorios se comprueban en busca de nuevas confirmaciones y se integran si es así. El proceso de integración verifica si los datos se ajustan a la especificación o no.
Aquí está la especificación: Hotmaps_Data-upload-on-Gitlab_2017-12-04_V4.pdf
El código de la aplicación se encuentra en GitHub bajo la organización Hotmaps . Esta organización posee varios repositorios.
Si desea agregar algún código a Hotmaps, tiene dos posibilidades: si desea actualizar la interfaz o el backend directamente, debe modificar el repositorio de servicio o cliente de la caja de herramientas. Si desea agregar su propio módulo de cálculo, puede crear su propio repositorio siguiendo el archivo Léame del repositorio base_calculation_module
Si desea realizar algún trabajo en el repositorio de Git, no trabaje directamente con la rama maestra. Cree una nueva rama desde la rama de desarrollo, haga su trabajo en esta rama y cuando se pruebe su característica, puede fusionar su trabajo con la rama de desarrollo como se muestra en el siguiente gráfico.
Para enviar algo a un repositorio de Hotmaps, debe ser miembro del equipo de Hotmaps; si no lo está, aún puede realizar una bifurcación de nuestra herramienta para desarrollar su propia herramienta.
Puede encontrar más información sobre cómo trabajar en estos documentos:
Todos los servicios y componentes se utilizan a través de su propio contenedor Docker. Todos estos contenedores están definidos en un único archivo docker-compose. La imagen de arriba representa la arquitectura de TI de Hotmaps.
Algunas organizaciones asociadas limitaron la comunicación al puerto 80 únicamente. Para evitar los problemas causados por esta limitación, se creó un proxy inverso. Este proxy inverso ofrece un único punto de entrada y luego distribuye la solicitud enviada por el cliente al servicio en cuestión. El proxy inverso está compuesto por tres componentes:
Existen tres redes:
Cada módulo de cálculo tiene su propio contenedor Docker.
Hotmaps utiliza acoplable software y estibador-Componer herramienta para manejar contenedores. Un archivo docker-compose.yml contiene toda la configuración de la arquitectura Docker (configuración de contenedores, redes, enlaces, ...). Esto permite que los contenedores se ejecuten con un simple comando:
docker-compose up
Hay más información sobre docker-compose en el sitio web de Docker: Redactar referencia de línea de comandos y Redactar archivo de referencia .
Solo hay un contenedor que se ejecuta por separado de los demás: es la base de datos porque debe mantenerse activa todo el tiempo. Es por eso que no está en el archivo de configuración docker-compose.
Por el momento, el servidor está alojado en el HES-SO en Suiza. Hay 2 máquinas disponibles: una para desarrollo (desarrollo y prueba) y otra para producción (la caja de herramientas real, disponible en www.hotmaps.eu ).
Ambas máquinas tienen la misma especificación:
Con frecuencia realizamos pruebas de rendimiento en el servidor de desarrollo para garantizar una cierta cantidad de usuarios concurrentes.
Como ejemplo, a continuación se muestran los resultados de la primera versión beta frente a las pruebas de versiones futuras. La nueva versión incluye algunas mejoras de rendimiento.
Este ejemplo muestra las pruebas de rendimiento de usuarios concurrentes que usan la misma función: "curva de duración para la selección de hectáreas". La línea en negrita muestra el límite donde el servidor comienza a generar errores. La selección de hectáreas es un buen ejemplo, ya que muestra las consultas que requieren más recursos.
Lanzamiento beta de marzo de 2019
El | Número de usuarios simulados | Tiempo medio | Mediana | Tiempo máximo | Tiempo min | Porcentaje de errores | El | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | El | 1 | 2936 | 2936 | 2936 | 2936 | 0 | El | 20 | 9329 | 9503 | 11778 | 6901 | 0 | El | 50 22922 | 22713 | 33401 | 8661 | 0 | El | 100 | 33302 | 32875 | 58257 | 4929 | 16 El | 200 na | na | na | na | na | El | 300 na | na | na | na | na |
Lanzamiento futuro en el DEV (marzo de 2019)
El | Número de usuarios simulados | Tiempo medio | Mediana | Tiempo máximo | Tiempo min | Porcentaje de errores | El | --------------------- | ------------ | ------ | -------- | -------- | -------------------- | El | 1 | 1802 | 1802 | 1802 | 1802 | 0 | El | 20 | 5289 | 2677 | 6873 | 2149 | 0 | El | 50 10775 | 11274 | 17081 | 2577 | 0 | El | 100 | 19807 | 20280 | 35142 | 3156 | 0 | El | 200 37302 | 37575 | 69930 | 3381 | 0 | El | 300 49091 | 57536 | 83578 | 2447 | 26 |
Autores
Revisores
Nos gustaría transmitir nuestro más profundo agradecimiento al Proyecto Horizonte 2020 Hotmaps (Acuerdo de subvención número 723677), que proporcionó los fondos para llevar a cabo la presente investigación.
This page was automatically translated. View in another language:
English (original) Bulgarian* Croatian* Czech* Danish* Dutch* Estonian* Finnish* French* German* Greek* Hungarian* Irish* Italian* Latvian* Lithuanian* Maltese* Polish* Portuguese (Portugal, Brazil)* Romanian* Slovak* Slovenian* Swedish*
*: machine translated
Last edited by web, 2020-09-30 11:29:36