一种硬盘数据存储与读取方法

文档序号:6754490阅读:208来源:国知局
专利名称:一种硬盘数据存储与读取方法
技术领域
本发明涉及信息保存,尤指一种硬盘数据存储方法和对应的读取方法。
背景技术
目前比较流行的文件系统一般是FAT12,FAT16,FAT32,NTFS,EXT2,EXT3等,这些文件系统都由文件目录索引表,簇表等组成,一个文件可能会占据多个不连续的簇,因此当用户需要对硬盘进行读写时,磁头需要按照文件存储地址进行跳转和定位,如图1所示,为现有技术硬盘存储方式中读取文件的流程图,包括步骤首先定位文件索引表,查找出对应的文件;然后读出存储该文件的第一个簇的位置;硬盘磁头跳到这个簇位置读取文件内容,若文件内容没有读取完毕,则获取该文件存储的下一个簇的位置,继续读取文件内容,直到文件读取完毕。这个定位过程是硬盘损耗的主要原因。对于写操作,文件系统还需要查找空闲簇,这样将造成很多硬盘碎块,使得硬盘重新定位的操作越来越多。
对需要对大量数据进行处理的行业,如监控行业,需要将每天的录像资料数据信息存储在硬盘上,因此需要进行大量的硬盘写操作,基于这种行业的特殊需求,如果采用传统的FAT方式对硬盘进行管理和数据存储,则由于硬盘磁头操作频繁,影响硬盘使用寿命,从而使行业管理成本提高。

发明内容
本发明提供一种硬盘数据存储与读取方法,解决现有技术中对硬盘进行读写数据时,硬盘磁头需要频繁定位的问题。
本发明提供的硬盘数据存储方法,包括在硬盘0地址处保留一0地址存储空间,用以写入硬盘是否使用的标识信息和已存储数据的当前物理地址信息;当使用该硬盘进行数据存储时,执行下列步骤A、系统读取所述0地址存储空间中的当前物理地址信息,将硬盘磁头定位在其下一个物理地址;B、磁头依照硬盘磁道顺序将数据按块写入硬盘保存。
根据本发明的上述方法,当系统发出停止数据存储指令时,将当前写入数据的硬盘物理地址刷新所述0地址存储空间中的当前物理地址信息。
根据本发明的上述方法,当硬盘为一新硬盘时,将所述0地址存储空间中的标识信息和当前物理地址信息设置为全0。
根据本发明的上述方法,当对硬盘数据全部删除时,将所述0地址存储空间中保存的标识信息和当前物理地址信息刷新为全0。
根据本发明的上述方法,将需要存入硬盘的数据按设定的时长压缩成数据包,并生成至少包含本数据包压缩时间和压缩率信息的数据包头,当将所述数据包头和对应的压缩数据包一起存入硬盘。
根据本发明的上述方法,将所述硬盘划分为若干个存储空间,当将所述数据包头和对应的压缩数据包存入硬盘时,执行下列步骤a、系统根据本数据包的压缩率和压缩时长,计算出本数据包需要的存储空间大小;b、判断当前存储空间的剩余部分是否大于所需要的存储空间大小,若是,则在本存储空间写入该数据包头和对应的压缩数据包;否则,将磁头定位到划分出的下一个存储空间首地址,写入所述数据包头和对应的压缩数据包。
所述划分的若干个存储空间大小相等。
本发明提供一种硬盘数据读取方法,所述数据被存入硬盘时,按设定的时长压缩成数据包,并生成至少包含本数据包压缩时间和压缩率信息的数据包头,将所述数据包头和对应的压缩数据包一起依照硬盘磁道顺序存入硬盘;当需要读取指定时刻开始存储的数据时,包括下列步骤
步骤11系统根据数据包压缩率计算出指定时刻数据包相对于第一个数据包的最小偏移地址,读取该偏移地址的数据块;步骤12查询该数据块是否包含数据包头,若否,则执行步骤13;否则,转至步骤14;步骤13按序读取下一个数据块,转至步骤12;步骤14若所述数据包头中记载的压缩时间和指定时刻相同或者位于指定时刻一设定时间范围内,则从该数据包开始读取存储数据,直到用户发出停止读取操作命令。
根据本发明的上述方法,所述硬盘划分为N个大小相等的存储空间,当需要读取指定时刻开始存储的数据时,系统首先定位出指定时刻的数据所在的存储空间n;所述步骤11包括系统根据数据包压缩率计算出指定时刻数据包相对于该定位出的存储空间n的、第一个数据包的最小偏移地址,读取该偏移地址的数据块。
所述定位出指定时刻的数据所在的存储空间n,包括如下步骤步骤21根据数据包压缩率和硬盘数据存储的起始时间估算出指定时刻的数据所在的存储空间n;步骤22将磁头定位到存储空间n的首地址,读取第一个数据包头信息,判断该数据包头中记载的压缩时间是否小于指定时刻,若是,则执行步骤23;否则转至步骤25;步骤23将磁头定位到第(n+1)个存储空间,并读取其第一个数据包头信息,判断该数据包头中记载的压缩时间是否大于指定时刻,若是,则定位指定时刻的数据所在的存储空间为第n个存储空间;否则,执行步骤24;步骤24使n=n+1;转至步骤23;步骤25将磁头定位到第(n-1)个存储空间,并读取其第一个数据包头信息,判断该数据包头中记载的压缩时间是否小于指定时刻,若是,则定位指定时刻的数据所在的存储空间为第(n-1)个存储空间;否则,执行步骤26;
步骤26使n=n-1;转至步骤25。
本发明的有益效果是有效减少硬盘磁头在进行数据读写操作时的定位次数,延长硬盘使用寿命。


图1为现有技术硬盘存储方式下的文件读取流程图;图2为本发明方法对被存储数据进行压缩处理示意图;图3为本发明方法数据存储流程图;图4为本发明方法数据读取流程图之一;图5为本发明方法数据读取流程图之二;图6为本发明方法数据读取流程图之三。
具体实施例方式
本发明在硬盘0地址处保留一0地址存储空间,用以写入硬盘是否使用的标识信息和已存储数据的当前物理地址信息;当使用该硬盘进行数据存储时,系统首先读取所述0地址存储空间中的当前物理地址信息,将硬盘磁头定位在其下一个物理地址;然后磁头依照硬盘磁道顺序将需要存入硬盘的数据按块写入硬盘保存。当系统发出停止数据存储指令时,将当前写入数据的硬盘物理地址刷新所述0地址存储空间中的当前物理地址信息。
在硬盘第一次使用,即硬盘为一新硬盘时,将所述0地址存储空间中的标识信息和当前物理地址信息设置为全0;当对硬盘数据全部删除时,也将所述0地址存储空间中保存的标识信息和当前物理地址信息刷新为全0。用以表示该硬盘目前没有存储任何数据。
为方便存储数据的查找和充分利用硬盘资源,在将数据存入硬盘前,将数据按设定的时长(以1分钟为例)压缩成数据包,并生成至少包含本数据包压缩时间和压缩率信息的数据包头,当将所述数据包头和对应的压缩数据包一起依照硬盘磁道顺序存入硬盘。如图2所示,假设需要将图像数据存入硬盘,每帧图像的数据量大约为40KB大小,设每秒钟压缩20帧,则1分钟的数据量为48M,将每48M数据压缩成一个数据包,并在每一个数据包的前面加上一个数据包头,该数据包头中记载本包的压缩时间、压缩率信息以及用户定义的其它信息。
为方便查找某一时刻存入硬盘的数据信息,可以对硬盘进行存储空间划分,例如将整个硬盘以4G为单位划分为若干个存储空间,仍以将每分钟数据压缩成一个数据包为例,为使每个数据包头和对应的压缩后的图像数据在各存储空间对齐,在新的1分钟数据开始存储时,系统需要执行如图3所示的如下步骤步骤S1按照当前压缩率求出1分钟图像数据需要的存储空间大小,如上例,1分钟图像数据为48M;步骤S2判断当前4G存储空间的剩余部分是否大于需求空间的(1+a)倍,其中,a为当前压缩率(假设为恒定速率压缩)下可能产生的最大文件的超出部分与目标大小的比值,一般这是一个小于1的数;若是,则执行步骤S3;否则,执行步骤S4;步骤S3在当前4G空间依硬盘磁道顺序写入该分钟的数据包头和压缩图像数据;步骤S4硬盘磁头定位到下一个4G存储空间的首地址,写入该分钟的数据包头和压缩图像数据。
根据本发明的上述硬盘数据存储方式,本发明提供相对应的数据读取方法。
假设用户需要查询某一指定时刻存入该硬盘的图像数据,若该硬盘没有进行存储空间划分,其具体查询过程参见图4,包括下列步骤步骤11系统根据数据包压缩率计算出指定时刻数据包相对于硬盘第一个数据包的最小偏移地址,读取该偏移地址的数据块;
步骤12查询该数据块是否包含数据包头,若否,则执行步骤13;否则,转至步骤14;步骤13按序读取下一个数据块,转至步骤12;步骤14若所述数据包头中记载的压缩时间和指定时刻相同或者位于指定时刻一设定时间范围内,则从该数据包开始读取存储数据,直到用户发出停止读取操作命令。
根据本发明的上述方法,若将硬盘划分为若干个4G存储空间,当需要读取指定时刻开始存储的数据时,系统首先定位出指定时刻的数据所在的存储空间,具体的定位方法如图5所示,包括如下步骤步骤21根据数据包压缩率和硬盘数据存储的起始时间估算出指定时刻的数据所在的存储空间n;步骤22将磁头定位到存储空间n的首地址,读取第一个数据包头信息,判断该数据包头中记载的压缩时间是否小于指定时刻,若是,则执行步骤23;否则转至步骤25;步骤23将磁头定位到第(n+1)个存储空间,并读取其第一个数据包头信息,判断该数据包头中记载的压缩时间是否大于指定时刻,若是,则执行步骤27;否则,执行步骤24;步骤24使n=n+1;转至步骤23;步骤25将磁头定位到第(n-1)个存储空间,并读取其第一个数据包头信息,判断该数据包头中记载的压缩时间是否小于指定时刻,若是,则执行步骤28;否则,执行步骤26;步骤26使n=n-1;转至步骤25;步骤27定位指定时刻的数据所在的存储空间为第n个存储空间,结束存储空间定位流程;步骤28定位指定时刻的数据所在的存储空间为第(n-1)个存储空间,结束存储空间定位流程。
当定位出指定时刻数据所在的存储空间后,再进一步定位出指定时刻数据在该存储空间的确定的存址位置。其具体的定位方法参见图6,包括下列步骤步骤31系统根据数据包压缩率计算出指定时刻数据包相对于该存储空间中第一个数据包的最小偏移地址,读取该偏移地址的数据块;步骤32查询该数据块是否包含数据包头,若否,则执行步骤33;否则,转至步骤34;步骤33按序读取下一个数据块,转至步骤32;步骤34若所述数据包头中记载的压缩时间和指定时刻相同或者位于指定时刻一设定时间范围内,则从该数据包开始读取存储数据,直到用户发出停止读取操作命令。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1.一种硬盘数据存储方法,其特征在于包括在硬盘0地址处保留一0地址存储空间,用以写入硬盘是否使用的标识信息和已存储数据的当前物理地址信息;当使用该硬盘进行数据存储时,执行下列步骤A、系统读取所述0地址存储空间中的当前物理地址信息,将硬盘磁头定位在其下一个物理地址;B、磁头依照硬盘磁道顺序将数据按块写入硬盘保存。
2.如权利要求1所述的硬盘数据存储方法,其特征在于当系统发出停止数据存储指令时,将当前写入数据的硬盘物理地址刷新所述0地址存储空间中的当前物理地址信息。
3.如权利要求2所述的硬盘数据存储方法,其特征在于当硬盘为一新硬盘时,将所述0地址存储空间中的标识信息和当前物理地址信息设置为全0。
4.如权利要求2所述的硬盘数据存储方法,其特征在于当对硬盘数据全部删除时,将所述0地址存储空间中保存的标识信息和当前物理地址信息刷新为全0。
5.如权利要求1所述的硬盘数据存储方法,其特征在于将需要存入硬盘的数据按设定的时长压缩成数据包,并生成至少包含本数据包压缩时间和压缩率信息的数据包头,当将所述数据包头和对应的压缩数据包一起存入硬盘。
6.如权利要求5所述的硬盘数据存储方法,其特征在于将所述硬盘划分为若干个存储空间,当将所述数据包头和对应的压缩数据包存入硬盘时,执行下列步骤a、系统根据本数据包的压缩率和压缩时长,计算出本数据包需要的存储空间大小;b、判断当前存储空间的剩余部分是否大于所需要的存储空间大小,若是,则在本存储空间写入该数据包头和对应的压缩数据包;否则,将磁头定位到划分出的下一个存储空间首地址,写入所述数据包头和对应的压缩数据包。
7.如权利要求6所述的硬盘数据存储方法,其特征在于所述划分的若干个存储空间大小相等。
8.一种硬盘数据读取方法,其特征在于所述数据被存入硬盘时,按设定的时长压缩成数据包,并生成至少包含本数据包压缩时间和压缩率信息的数据包头,将所述数据包头和对应的压缩数据包一起依照硬盘磁道顺序存入硬盘;当需要读取指定时刻开始存储的数据时,包括下列步骤步骤11系统根据数据包压缩率计算出指定时刻数据包相对于第一个数据包的最小偏移地址,读取该偏移地址的数据块;步骤12查询该数据块是否包含数据包头,若否,则执行步骤13;否则,转至步骤14;步骤13按序读取下一个数据块,转至步骤12;步骤14若所述数据包头中记载的压缩时间和指定时刻相同或者位于指定时刻一设定时间范围内,则从该数据包开始读取存储数据,直到用户发出停止读取操作命令。
9.如权利要求8所述的硬盘数据读取方法,其特征在于所述硬盘划分为N个大小相等的存储空间,当需要读取指定时刻开始存储的数据时,系统首先定位出指定时刻的数据所在的存储空间n;所述步骤11包括系统根据数据包压缩率计算出指定时刻数据包相对于该定位出的存储空间n的、第一个数据包的最小偏移地址,读取该偏移地址的数据块。
10.如权利要求9所述的硬盘数据读取方法,其特征在于所述定位出指定时刻的数据所在的存储空间n,包括如下步骤步骤21根据数据包压缩率和硬盘数据存储的起始时间估算出指定时刻的数据所在的存储空间n;步骤22将磁头定位到存储空间n的首地址,读取第一个数据包头信息,判断该数据包头中记载的压缩时间是否小于指定时刻,若是,则执行步骤23;否则转至步骤25;步骤23将磁头定位到第(n+1)个存储空间,并读取其第一个数据包头信息,判断该数据包头中记载的压缩时间是否大于指定时刻,若是,则定位指定时刻的数据所在的存储空间为第n个存储空间;否则,执行步骤24;步骤24使n=n+1;转至步骤23;步骤25将磁头定位到第(n-1)个存储空间,并读取其第一个数据包头信息,判断该数据包头中记载的压缩时间是否小于指定时刻,若是,则定位指定时刻的数据所在的存储空间为第(n-1)个存储空间;否则,执行步骤26;步骤26使n=n-1;转至步骤25。
全文摘要
本发明提供一种硬盘数据存储方法,包括在硬盘0地址处保留一0地址存储空间,用以写入硬盘是否使用的标识信息和已存储数据的当前物理地址信息;当使用该硬盘进行数据存储时,系统读取所述0地址存储空间中的当前物理地址信息,将硬盘磁头定位在其下一个物理地址;磁头依照硬盘磁道顺序将数据按块写入硬盘保存。本发明另提供一种对应该种存储方式的数据读取方法。本发明能有效减少硬盘磁头在进行数据读写操作时的定位次数,延长硬盘使用寿命。
文档编号G11B27/32GK1622201SQ200410102539
公开日2005年6月1日 申请日期2004年12月24日 优先权日2004年12月24日
发明者游明琦 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1