EO_496

DATASTORAGE TECH-FOCUS 39 - ELETTRONICA OGGI 496 - SETTEMBRE 2021 In secondo luogo, l’algorit- mo hash [2] viene utilizza- to per calcolare l’algoritmo di Rabin di ciascun blocco di dati. Infine, l’algoritmo di Rabin del blocco dati ottenuto viene confrontata con il bloc- co dati esistente nel sistema di archiviazione, e i blocchi di dati duplicati con lo stesso valore dell’algoritmo di Rabin sono cancellati restando un solo blocco di dati nel file system. Pertanto, lo spazio di archiviazione occupato dai dati nel data storage viene effettivamente ridotto e l’ef- ficienza di utilizzo dello spa- zio di archiviazione esistente disponibile viene incrementa- to. Tuttavia, durante l’esecu- zione dell’algoritmo CDC, la dimensione dei blocchi di dati è difficile da determinare poiché la granularità è troppo dettagliata e l’overhead è troppo grande. Nel processo di divisione dei blocchi di dati, possono essere generati un gran numero di blocchi di dati di grandi dimensioni e di piccoli blocchi di dati, e per questi due casi estremi indesiderati attualmente non si trova una soluzione ottimale. 3. Algoritmo del blocco scorrevole L’algoritmo del blocco scorrevole combina i vantaggi della segmentazione a lunghezza fissa e della seg- mentazione CDC, e la dimensione del blocco è fissa. L’algoritmo calcola prima il valore di controllo per il blocco a lunghezza fissa, quindi calcola il valore di controllo MD5[3] se viene applicata la corrispon- denza. Entrambe le corrispondenze sono considerate come un limite del blocco di dati. Se la distanza tra le finestre scorrevoli e la dimensione di un blocco non è ancora abbinata, viene identificata anche come limite del blocco di dati. L’algoritmo è molto efficien- te per l’eliminazione di problemi e può rilevare più dati ridondanti rispetto all’algoritmo CDC, il che non è sufficiente per produrre facilmente frammenti di dati. Adottando un’adeguata strategia di partizione a blocchi ottimizzata, il numero di blocchi di dati può essere ridotto. Gli algoritmi MD5 sono stati ampiamente utilizzati nel mondo del software per fornire una certa garanzia che un file trasferito sia arrivato intatto. Ad esempio, i file server spesso forniscono un checksum MD5 precalcolato (noto come md5sum) per il controllo di file, in modo che un utente possa confronta- re il checksum del file sca- ricato con il checksum MD5. La maggior parte dei sistemi operativi basati su Unix inclu- de le utility sum MD5 nei loro pacchetti di distribuzione; gli utenti Windows possono uti- lizzare la funzione PowerShell inclusa “Get-FileHash”, instal- lare un’utilità Microsoft o uti- lizzare applicazioni di terze parti. Anche le ROM Android utilizzano questo tipo di checksum. In figura 2 viene mostrata graficamente un’ap- plicazione di controllo MD5 di un file trasmesso. In un ambiente cloud com- puting su larga scala, alto volume di dati, virtualizzazio- ne e alta scalabilità, come ottimizzare le prestazioni del sistema di archiviazione distribuita e garantire la sua elevata affidabilità, è un problema di ricerca fondamentale. Basato sulla tecnologia di deduplicazione dei dati, la tecnologia di partizionamento dei dati confronta i vantaggi e gli svantaggi dell’algoritmo del blocco a lunghezza fissa e dell’algoritmo del blocco a lunghezza variabile e utilizza l’algoritmo del dispositivo di scorrimento per ottimizzare l’utilizzo dello spazio di archiviazione, abbreviare il tempo di backup dei dati e migliorare le prestazioni di archiviazione dei dati distribuiti in base all’ambiente di cloud computing. Fig. 2 – Esempio di un’applicazione di controlloMD5 hashing nella trasmissione dei file (Fonte: Wikipedia) Note [1] L’algoritmo di Rabin (Rabin fingerprint) è una funzione polinomiale di rolling hash usata come fingerprint, definita tramite polinomi su un campo finito. (Il rolling hash è una funzione di hash che processa l’input trami- te una finestra scorrevole sull’input stesso). [2] La funzione hash è una funzione irreversibile che mappa una stringa di dati di lunghezza arbitraria in una stringa di lunghezza predefinita. Esistono nume- rosi algoritmi che realizzano funzioni hash con par- ticolari proprietà che dipendono dall’applicazione, come ad esempio le applicazioni crittografiche. [3] L’MD5 è una funzione hash crittografica unidirezio- nale irreversibile. Riceve in input una stringa di dati di lunghezza arbitraria e ne produce in output un’altra a 128 bit.

RkJQdWJsaXNoZXIy Mzg4NjYz