The present invention provides reliable systems and methods for rapidly
determining whether file data streams are the same, or different, without
having to make a comparison between the actual data streams. If the
determination is made that the data streams are different, the present
invention can rapidly determine where the changes between the data streams
occur, again, without having to actually compare the entire size of the
data streams. Such methods and systems are accomplished by generating a
native data signature (NDS) for each data stream stored by the file
system, wherein each NDS is substantially smaller in size as compared to
the data stream corresponding thereto. The NDS is generated by separating
the data stream into a plurality of allocation units, ranging in size from
4K bytes to 256K bytes; by generating a unique change identifier (UCI),
one per each allocation unit; and by assembling the UCIs into a series of
bits, typically ranging up to, and including, 64 in number. Thus, even
with a UCI having 64 bits, time efficiency for comparing data streams by
comparing between NDSs is improved on the order of 500:1 or 32,000:1,
depending upon the size of the allocation unit.
La presente invenzione fornisce i sistemi ed i metodi certi per velocemente la determinazione se i flussi di dati della lima sono gli stessi, o il differente, senza dovere raffrontare i flussi di dati reali. Se la determinazione è fatta che i flussi di dati sono differenti, la presente invenzione può determinare velocemente dove i cambiamenti fra i flussi di dati si presentano, ancora, senza dovere realmente confrontare l'intero formato dei flussi di dati. Tali metodi e sistemi sono compiuti generando una firma natale di dati (NDS) per ogni flusso di dati immagazzinato dal sistema di lima, in cui ogni NDS è sostanzialmente più piccolo nel formato rispetto al flusso di dati che corrisponde a ciò. Il NDS è generato separando il flusso di dati in una pluralità di unità di ripartizione, variante nel formato dai byte 4K ai byte 256K; generando un contrassegno unico del cambiamento (UCI), uno per ogni unità di ripartizione; e montando il UCIs in una serie di punte, tipicamente variando fino a ed includendo, 64 nel numero. Quindi, anche con un UCI avere 64 bit, efficienza di tempo per confrontare i flussi di dati confrontando fra NDSs è migliorato sull'ordine di 500:1 o di 32,000:1, dipendendo dal formato dell'unità di ripartizione.