Evaluando propuestas

Nube P2p

Publicado el 05 Noviembre, 2023 en Programación y Tecnología

Sobre este proyecto

Abierto

Plataforma de hosting y almacenamiento de datos basada en la nube

Tecnologías utilizadas

Python: Para el análisis de recursos y la administración de archivos.
Django: Para crear una interfaz web para que los usuarios puedan solicitar servicios.
PHP: Para crear una interfaz web para que los usuarios puedan programar.
Docker: Para crear contenedores para almacenar los archivos de los usuarios.
Funciones

Análisis de recursos: El programa analiza los recursos de la computadora, como la cpu, la gpu y el almacenamiento.
Cálculo del pago: El programa calcula el pago en base a los recursos de la computadora.
Administración de recursos: El programa administra los recursos de la computadora para almacenar los archivos de los usuarios.
Seguridad: El programa crea un firewall y un antivirus para proteger los archivos de los usuarios.
Recuperación de datos: En caso de que un servidor se caiga, el servidor principal tiene una copia de todos los archivos.
Limpieza: Cuando se termina la suscripción de un cliente, el servidor donde se almacenaban sus archivos se borra.
Implementación

El programa se implementa en dos partes:

Parte cliente: Un programa que los usuarios pueden descargar a sus computadoras. Este programa analiza los recursos de la computadora y se pone en contacto con el servidor principal para solicitar servicios.
Parte servidor: Un servidor que gestiona las solicitudes de los usuarios. Este servidor almacena los archivos de los usuarios y se encarga de la seguridad y la recuperación de datos.
Parte cliente

El programa cliente se implementa en Python utilizando la biblioteca psutil para analizar los recursos de la computadora. El programa se comunica con el servidor principal utilizando la biblioteca requests.

El programa cliente tiene las siguientes funciones:

Analizar recursos: El programa analiza los recursos de la computadora, como la cpu, la gpu y el almacenamiento.
Solicitar servicios: El programa se pone en contacto con el servidor principal para solicitar servicios.
Almacenar archivos: El programa almacena los archivos en la computadora del usuario.
Parte servidor

El servidor se implementa en Python utilizando el framework Django. El servidor utiliza la biblioteca Docker para crear contenedores para almacenar los archivos de los usuarios.

El servidor tiene las siguientes funciones:

Recibir solicitudes: El servidor recibe solicitudes de los usuarios.
Analizar solicitudes: El servidor analiza las solicitudes de los usuarios para determinar el tipo de servicio que se requiere.
Proporcionar servicios: El servidor proporciona los servicios solicitados por los usuarios.
Gestionar archivos: El servidor gestiona los archivos de los usuarios, incluyendo la creación de contenedores, el almacenamiento de archivos y la eliminación de archivos.
Ejemplo de funcionamiento

Un usuario descarga el programa cliente y lo ejecuta en su computadora. El programa cliente analiza los recursos de la computadora y determina que tiene una cpu de 4 núcleos, una gpu de 12 gb y 1 tb de almacenamiento ssd libre. El programa cliente calcula que el pago será de $50 por hora.

El usuario acepta los términos y condiciones del servicio. El programa cliente se pone en contacto con el servidor principal, que le envía una suscripción. El programa cliente almacena la suscripción en la computadora del usuario.

Si el servidor principal detecta que un servidor se ha caído, envía una copia de los archivos a otro servidor.

Cuando se termina la suscripción de un usuario, el servidor principal elimina los archivos de la computadora del usuario.

Seguridad: El programa cliente debe utilizar un cifrado fuerte para proteger los datos de los usuarios.
Privacidad: Los usuarios deben tener la posibilidad de controlar quién tiene acceso a sus datos.
Escalabilidad: El servidor debe ser escalable para soportar un mayor número de usuarios.
Durabilidad: El servidor debe estar diseñado para soportar fallas de hardware y software.

Contexto general del proyecto

Desarrollo de una plataforma de hosting y almacenamiento de datos basada en la nube. La plataforma está dirigida a usuarios que desean almacenar sus archivos en un servidor remoto y pagar solo por los recursos que utilizan. La plataforma se implementa en dos partes: un programa cliente que se ejecuta en la computadora del usuario y un servidor que gestiona las solicitudes de los usuarios. El programa cliente analiza los recursos de la computadora del usuario y se pone en contacto con el servidor principal para solicitar servicios. El servidor principal calcula el pago en base a los recursos utilizados y proporciona los servicios solicitados.

Categoría Programación y Tecnología
Subcategoría Otros
Tamaño del proyecto Medio
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Integraciones de API Otros (Otras APIs)

Plazo de Entrega: No definido

Habilidades necesarias

Otros proyectos publicados por I. O. T. P. W. C.