Find Jobs
Hire Freelancers

Coding Assignment

$30-250 USD

En curso
Publicado hace casi 8 años

$30-250 USD

Pagado a la entrega
Deadline: 11:55pm on 12 May 2016 Viva: Mandatory in-person viva on 16 May 2016 Understand and implement archival storage with online de-duplication as discussed in the Venti paper. Use a block size of 200 bytes. Your archival storage will be a designated directory. Each file in the directory will contain just one block of data and the name of the file will be the 20 byte SHA1 hash encoded in 32 bytes. For encoding, map every 5 bits of the SHA1 hash to one of 32 characters that can be used in a file name. Write two programs vac and unvac that will be executed like this vac <archival_directory> <file_to_arhive> If <arhival_directory> does not exist, it should be created. Then all 200 byte blocks of the file_to_archive should be saved to the archival_directory followed by necessary pointer blocks. Use as few pointer blocks as absolutely necessary. Finally store the 20 byte root SHA1, exact file size, and the archival_directory name in a file named <file_to_archive>.vac (i.e. append a vac extension to the file archived). unvac <file_to_arhive>.vac Find the archival directory path, root block SHA1, and file size from contents of this file. Create a file called <file_to_archive> (i.e. without the vac extension). Now from file size, determine whether the root block is a data block or a pointer block and if it is a pointer block, with how many levels of indirection and then follow pointer blocks and append all 200 byte data blocks in the file. You are free in choosing the language (Java, C#, C, C++, Python, etc.) to implement the assignment. One possible test is to store two large files that only differ in the first and last byte. Then vac and see if your directory size shows correct deduplication and if the files can be unvaced correctly.
ID del proyecto: 10431624

Información sobre el proyecto

2 propuestas
Proyecto remoto
Activo hace 8 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
Adjudicado a:
Avatar del usuario
$70 USD en 7 días
4,6 (5 comentarios)
2,3
2,3

Sobre este cliente

Bandera de PAKISTAN
Pakistan
0,0
0
Forma de pago verificada
Miembro desde may 6, 2016

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.