Pregunta

Quiero ser capaz de distribuir paquetes de archivos, alrededor de 500 MB por paquete, a todas las máquinas en una de las empresas "extranet" (que es básicamente un par de redes LAN conectadas mediante diversos mecanismos privados, incluidas las líneas arrendadas y VPN).

El número total de hosts es aproximadamente 100, y el objetivo es conseguir una copia del paquete de un host a todos los otros hosts de forma fiable, rápida y eficiente. Una cuestión importante es que algunos hosts se agrupan juntos en LANs rápidos individuales, en cuyo caso la red I / O debe hacerse una vez de un grupo a la siguiente y luego dentro de cada grupo entre todos los pares. Esto es en contraposición a un sistema de servidor central estricta donde múltiples hosts pueden cada buscar el mismo haz sobre un enlace lento, en lugar de una vez a través del vínculo lento y luego entre sí de forma rápida.

Un nuevo paquete será producido cada pocos días, y se eliminará de vez en cuando fardos (pero ese problema puede ser resuelto por separado).

Las máquinas en cuestión pase a ejecutar Linuxes recientes, pero los puntos de bonificación irá a soluciones que son al menos algo multiplataforma (en cuyo caso el paquete podría diferir por plataforma, pero tal vez el mismo mecanismo puede ser utilizado).

Eso es más o menos la misma. No me opongo a escribir algo de código para manejar esto, pero sería preferible si se tratara de uno de fiesta, Python, Ruby, Lua, C o C ++.

¿Fue útil?

Solución

Creo que todos estos problemas han sido resueltos por la investigación moderna en las redes P2P y bien empaquetado en formas agradables. Un poco de guión y Bit Torrent debe resolver estos problemas. Existen clientes torrent para todos los sistemas operativos modernos, a continuación, una secuencia de comandos en cada máquina para comprobar la ubicación de un nuevo archivo de torrente, se inicia la lista de lesionados, a continuación, elimine el antiguo paquete una vez que el DL ha terminado.

Otros consejos

¿Qué pasa con rsync?

Me voy a sugerir que utiliza la idea de compie de rysnc para copiar los archivos en cuyo caso se puede utilizar un lenguaje de script de su elección.

En el sistema de propagación se necesita un script que contiene alguna forma de representación de los anfitriones y una matriz ponderada entre ellos con la velocidad. A continuación, deberá calcular un árbol de expansión mínima de esa información. Desde que, a continuación, puede enviar mensajes a los sistemas a los que tiene la intención de propagar detallando el MST y el haz a buscar, mediante el cual ese guión / daemon se inicia la transferencia. Que se pone en contacto acogida de los anfitriones más de los más rápidos enlaces ...

Se podría ponerlo en práctica en bash -. Pitón podría ser mejor o un demonio de encargo C

Al actualizar la red a la que tendrá que actualizar la matriz basada en la información más reciente.

Ver:. de Prim Algoritmo

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top