1.一种数据存储方法,其特征在于,具体方法为:
在存储数据前,将需要存储的数据信息分解为一条一条不可再分割的基本元数据,同时,为每一条元数据分配一个序列号ID,序列号ID从0开始依次递增;定义一条数据信息包括有N条元数据,所述N为大于等于1的自然数;
在存储数据时,先将数据写入到一段连续的内存空间中,再写入磁盘或者其他介质中;
内存空间的具体写入方法为:将数据信息分为元数据部分和ID位置部分两部分,元数据部分为将数据信息所分解成的N个元数据,ID位置部分的每个ID位置与元数据部分的每个元数据为一一顺序对应关系;元数据部分位于ID位置部分之后;每个ID位置写入一个偏移值作为其对应的元数据在其写入的内存空间中的实际偏移值;
存储数据在内存空间的具体写入方法步骤为:
S1、在连续的内存空间开始位置分配N个单元的数组空间;
S2、获取数据空间之后的第一个空闲位置的偏移值,将第一个元数据的内容写入到该空闲位置上,并将其偏移值写入其对应的ID位置;
S3、计算和更新当前写入的元数据内容及空闲位置的新的偏移值,将第二个元数据的内容写到该空闲位置上,并将其偏移值写入其对应的ID位置;
以此类推,将元数据依次写入连续的内存空间中的数组空间之后,每个元数据在写入之前或之时或之后都获得其偏移值并将其偏移值写入其对应的ID位置。
2.根据权利要求1所述的数据存储方法,其特征在于,元数据的内容按照写入的顺序依次写入到元数据部分。
3.根据权利要求1所述的数据存储方法,其特征在于,每个偏移值由2个字节组成,也就是说ID位置部分包括N*2个字节。
4.根据权利要求1所述的数据存储方法,其特征在于,定义第一个元数据的实际偏移值为0。
5.根据权利要求1所述的数据存储方法,其特征在于,所述N个单元,每个单元包含2个字节。
6.基于权利要求1到5之一所述的数据存储方法的数据读取还原方法,其特征在于,具体方法为:
还原一条元数据时,根据元数据的ID值,读取其偏移值;根据元数据的类型,确定要读取的固定字节长度,从其偏移值位置开始读取所述固定字节长度的字节,完成对一个元数据内容的读取;依次读取数据信息中包含的所有元数据内容,完成一个完整的数据信息的还原。