DATA STORAGE METHOD, ENCODING DEVICE AND DECODING DEVICE
FIG3 is a schematic diagram of a data dividing process according to some embodiments of the present disclosure
In the disclosed embodiment, the encoding device may acquire the to-be-transmitted data from the server, and divide the to-be-transmitted data into blocks based on the content. In actual applications, the data may be divided into blocks using a Rabin fingerprint algorithm. Specifically, referring to FIG3, the data may comprise a plurality of characters, which may be 8-bit binary numbers. When dividing the data into blocks, a data sliding window may be employed to slide from the beginning to the end of the data according to a fixed step length, and the Rabin fingerprint of the data blocks in each data sliding window is calculated one by one. If the calculated fingerprint value is the same as a predefined fingerprint value, the ending position of the present data sliding window may be used as a data block dividing position. For example, in FIG3, the data sliding window may slide to the right one character at a time, where the fingerprint k for the data blocks in the k window is the same as the predefined fingerprint value. The ending position (the dashed line position in the figure) of the k window may thus be set as a dividing position for dividing data blocks. Eventually, when the data sliding window moves to the end of the data, the block dividing process may be completed. In this way, through the block dividing process, the data may be divided into a plurality of data blocks.
schematic diagram
2
feature
['4. The method according to claim 1, after storing the set of data blocks in the to-be-confirmed queue that correspond to the confirmation message in the predefined database, the method further includes: extracting a feature index of a piece of stream data where a data block corresponding to the confirmation message is located, writing the feature index into a memory, and backing up and storing the backup on a hard drive.']