一种嵌入式设备中硬盘关键信息区的保护方法

文档序号:6757152阅读:98来源:国知局

专利名称::一种嵌入式设备中硬盘关键信息区的保护方法
技术领域
:本发明属于信息
技术领域
,针对嵌入式硬盘录像机在硬盘上记录数据的特点,提供了一种嵌入式设备中硬盘关键信息区的保护方法。
背景技术
:在数字化音视频监控领域,随着嵌入式技术的发展,嵌入式数字硬盘录像机(EDVR,EmbeddedDigitalVideoRecorder)在性能、功能、适用性、可维护性、稳定性等各方面有了根本性的改善,因此其应用领域也越来越广,从最初的金融领域发展到交通、公安、电力、移动车载、采矿等各种应用场所。随着应用环境的多样化、复杂化,对嵌入式数字硬盘录像机的可靠性和故障恢复能力提出了更高的要求。常见的嵌入式硬盘录像机无法正常录像的故障主要是由于系统异常掉电等原因引起的硬盘的引导扇区、文件分区表、文件目录项丢失或不完整等原因导致的“软错误”引起,而由于盘片物理损坏、磁头损坏、驱动电机或控制系统故障等硬件原因引起的“硬错误”比较少见。众所周知,采用FAT32文件系统的EDVR硬盘一般由主引导扇区、保留扇区和分区组成(1至多个分区),每个分区又由分区引导扇区、FAT表(Fileallocationtable,文件分配表)、文件目录项(Filedirectorytable)、文件数据区等4个部分组成。主引导扇区位于硬盘的0头0道1扇区,包含了硬盘参数和分区表等重要信息,一旦分区表被破坏,就会造成分区丢失等错误;每个分区包含1个分区引导扇区和31个扇区的保留空间,紧接着的是FAT表区,文件目录项则可以分布在分区的任何地方。一个普通的数据文件由FAT表链、目录项和数据区三个部分组成,一旦FAT表、目录项被破坏,就会造成文件损坏或文件丢失等错误。硬盘以扇区为最小的操作单元(一般一个扇区大小为512字节),硬盘的每一个扇区都有一个线性的地址,称为LBA地址(LogicalBlockAddress,逻辑块地址),因此在逻辑上我们可以把硬盘看成线性的连续空间。例如,主引导扇区位于硬盘的0头0道1扇区,对应LBA地址为0x0000H。为方便起见,我们把硬盘的主引导扇区及分区引导扇区、FAT表、文件目录项等称为硬盘关键信息区。传统的FAT32文件系统中,对一个普通文件的读/写操作,除了读/写文件的数据外,都需要更新目录项和FAT表,目录项包含有文件名、文件属性、文件创建时间、文件最后访问时间、文件最后修改时间、文件首簇号、文件长度等重要信息,FAT表存放文件的簇号链表信息。由于硬盘都是以扇区为单位进行读/写操作的,所以如果在更新文件的FAT表或目录项时由于异常掉电等原因导致硬盘的写操作被异常中断,就很容易造成整个扇区的数据被破坏,导致一个甚至多个文件丢失或者状态错误。由于嵌入式硬盘录像机硬盘用于记录实时的音视频数据,因此对硬盘的写操作十分频繁,不断修改目录项或FAT表内容,在各种复杂的应用环境下,很容易由于各种原因造成硬盘的“软错误”。
发明内容本发明的目的是克服上述不足而提供的一种嵌入式设备中硬盘关键信息区的保护方法,对硬盘的关键信息区进行冻结保护,从而提高嵌入式硬盘录像机中FAT32文件系统的可靠性,避免“软错误”的发生。冻结关键信息区就是在嵌入式硬盘录像机中,除了初始化硬盘时需要写这些关键信息区外,其余对硬盘的读/写操作时都不对这些关键信息区进行写操作。实现本发明目的的技术方案是这种嵌入式设备中硬盘关键信息区的保护方法,主要包括如下步骤1)、硬盘分区并格式化将一个PGB容量的硬盘,分成L个分区,并格式化每一个硬盘分区;2)、预创建文件(21)、根据分区的容量和音视频数据文件的大小(每个数据文件的大小MMB),确定一个分区可以创建的音视频数据文件总数N;(22)、在该分区上,创建索引文件和N个音视频数据文件,文件长度均为0字节;(23)、更改步骤(22)创建的索引文件长度,N个音视频数据文件每个长度为MMB,即为全部数据区文件分配硬盘空间,先是索引文件,然后是音视频数据文件;在分配空间的时候,FAT32系统相应更新FAT表和目录项的内容;(24)、重复步骤(21)、(22)、(23)至L个分区预创建文件全部完成;3)、嵌入式设备录像时对硬盘的关键信息区进行冻结保护(所述的关键信息区是指硬盘的主引导扇区、分区引导扇区、FAT表、目录项)(31)、在硬盘驱动程序中记录了硬盘每一个分区的关键信息区的地址范围,在每一个硬盘“写操作”时,要把该操作的硬盘目的地址与关键信息区的地址范围进行比较,如果在这个范围之内,则硬盘驱动程序直接返回错误;(32)、设定FAT32文件系统的I/O函数read()/write(),使所有对索引文件和音视频数据文件的读/写操作都不更新目录项和FAT表。实现本发明的技术方案还可以进一步完善。在预创建文件过程中,创建2个索引文件,2个索引文件的内容是相同的,当文件检索或回放时,如果某一个索引文件校验出错,则启用另外一个备份的索引文件。在步骤(22)中,在全部数据区文件创建完成后,这些文件的目录项所占用的硬盘空间是连续的,并且位于FAT表之后。本发明有益的效果是可以大大减少由于异常掉电等原因引起的嵌入式硬盘录像机硬盘“软故障”导致的维修,提高硬盘乃至整个嵌入式硬盘录像机的可靠性。图1是本发明工作流程图;图2是本发明实施例硬盘分区组成示意图;图3是本发明实施例硬盘的关键信息区与数据区文件组成示意图。具体实施例方式下面结合附图和实例,对本发明的嵌入式硬盘录像机的硬盘关键信息区保护方法做进一步阐述。本发明所采用的技术方案包括硬盘分区并格式化、预创建文件、嵌入式硬盘录像机录像时对硬盘的关键信息区冻结保护过程。硬盘分区并格式化过程首先根据硬盘大小分区,最少分成1个分区。例如1个西数公司80GB的硬盘(WDCWD800BB-00DKA0,总扇段数156301488,系统显示硬盘总容量74.5GB),根据需要可分成4个容量相同的分区,每个分区大小为20GB(如图2所示),分区1占用的地址空间为0x8000-0x4A7A67FFF。然后格式化。硬盘分区并格式化后,主引导扇区和分区引导扇区的内容将不会改变。对于每一个硬盘分区,预创建文件过程如下(21)根据分区的容量和音视频数据文件的大小,确定一个分区可以创建的音视频数据文件总数。例如每个音视频数据文件的大小为128MB,对1个20GB的分区来说可建立149个128MB的音视频数据文件(实际建立147个128MB的音视频数据文件)和2个1.15MB索引文件。索引文件大小由以下公式计算文件头+(文件索引+文件片段索引)×文件数,其中,文件头为512Bytes,文件索引长度为16Bytes,文件片段索引长度为8192Bytes,所以索引文件大小=512+8208×N,N是音视频数据文件的个数。由于索引文件相比于128MB数据文件所占空间很小,1000个128MB数据文件所占硬盘空间为128GB,其相应的2个索引文件总长度只有16MB,所以,一般情况下,可先根据可用分区大小计算可创建128MB固定大小文件个数,相应地少建立1-2个数据文件,剩余空间留给索引文件即可。(22)在FAT32文件系统中,目录项可以分布在分区的任何地方。为了简化保护目录项的程序,必须使这些文件的目录项连续地分布在紧随FAT表的区域。具体过程是创建2个索引文件和147个音视频数据文件,文件长度均为0字节,并从0开始为每一个音视频数据文件编号,其序号包含在文件名中。在全部数据区文件创建完成后,这些文件的目录项所占用的硬盘空间是连续的,并且位于FAT表之后。(23)为全部数据区文件分配硬盘空间。先是2个索引文件,文件长度为1.15MB。2个索引文件的内容是相同的。其作用是当文件检索或回放时,如果某一个索引文件校验出错,则启用另外一个备份的索引文件。索引文件记录音视频数据文件开始时间、结束时间、录像片断大小,文件序号(名称)、音视频数据文件状态等信息,文件序号(名称)按自然数顺序编号,音视频数据文件状态包括未记录、已记录、正在记录三种。然后是音视频数据文件,文件长度为128MB。在分配空间的过程中,FAT32文件系统相应更新FAT表和目录项的内容。本实例中分区1在创建文件完成后的逻辑结构图如图3所示。(24)重复步骤(21)、(22)、(23)至4个分区预创建文件全部完成。嵌入式硬盘录像机录像时对硬盘的关键信息区进行冻结保护包括如下步骤(31)为了防止由于干扰等原因造成意外写关键信息区操作,我们在硬盘驱动程序中记录了硬盘每一个分区的关键信息区的地址范围,例如如图3所示,分区1关键信息区地址范围是0x8000--0x95F800。在每一个硬盘“写操作”时,要把该操作的硬盘目的地址与关键信息区的地址范围进行比较,如果在这个范围之内,则硬盘驱动程序直接返回错误,以防止破坏关键信息区。(32)在FAT32文件系统中,FAT表只有在添加/删除文件、改变文件长度时需要更新。在嵌入式硬盘录像机中,在硬盘初始化完成后,我们不再添加/删除任何文件,也不改变任何文件的长度,这样确保FAT表不需要更新,从而达到保护FAT表的目的。在FAT32文件系统中,一个目录项由文件名、文件属性、创建时间、最后访问时间、最后修改时间、文件首簇号、文件长度等信息组成。通常,对一个文件的读操作需要更新‘最后访问时间’;而写操作则需要更新‘最后修改时间’,如果文件的长度改变,则同时需要更新‘文件长度’。而在嵌入式硬盘录像机中,我们并不关心文件的‘最后访问时间’、‘最后修改时间’,音视频数据片断的时间信息都记录在2个索引文件之中,而且除初始化过程外文件长度不变,因此我们修改了FAT32文件系统的I/O函数read()/write(),使所有对索引文件和音视频数据文件的读/写操作都不更新目录项和FAT表,达到保护嵌入式设备中硬盘关键信息区的目的。权利要求1.一种嵌入式设备中硬盘关键信息区的保护方法,其特征是主要包括如下步骤1)、硬盘分区并格式化将一个PGB容量的硬盘,分成L个分区,并格式化每一个硬盘分区;2)、预创建文件(21)、根据分区的容量和音视频数据文件的大小,确定一个分区可以创建的音视频数据文件总数N(22)、在该分区上,创建索引文件和N个音视频数据文件,文件长度均为0字节;(23)、更改步骤(22)创建的索引文件长度,N个音视频数据文件每个长度为MMB,即为全部数据区文件分配硬盘空间,先是索引文件,然后是音视频数据文件;在分配空间的时候,FAT32系统相应更新FAT表和目录项的内容;(24)、重复步骤(21)、(22)、(23)至L个分区预创建文件全部完成;3)、嵌入式设备录像时对硬盘的关键信息区进行冻结保护(31)、在硬盘驱动程序中记录了硬盘每一个分区的关键信息区的地址范围,在每一个硬盘“写操作”时,要把该操作的硬盘目的地址与关键信息区的地址范围进行比较,如果在这个范围之内,则硬盘驱动程序直接返回错误;(32)、设定FAT32文件系统的I/O函数read()/write(),使所有对索引文件和音视频数据文件的读/写操作都不更新目录项和FAT表。2.根据权利要求1所述的嵌入式设备中硬盘关键信息区的保护方法,其特征在于创建2个索引文件,2个索引文件的内容是相同的,当文件检索或回放时,如果某一个索引文件校验出错,则启用另外一个备份的索引文件。3.根据权利要求1所述的嵌入式设备中硬盘关键信息区的保护方法,其特征在于在步骤(22)中,在全部数据区文件创建完成后,这些文件的目录项所占用的硬盘空间是连续的,并且位于FAT表之后。4.根据权利要求1所述的嵌入式设备中硬盘关键信息区的保护方法,其特征在于所述的关键信息区是指硬盘的主引导扇区、分区引导扇区、FAT表、目录项。全文摘要本发明涉及一种嵌入式设备中硬盘关键信息区的保护方法,主要包括如下步骤1)、硬盘分区并格式化;2)、预创建文件在该分区上,创建索引文件和N个音视频数据文件,文件长度均为0字节,更改创建的索引文件长度;3)、录像时对硬盘的关键信息区进行冻结保护(31)、在每一个硬盘“写操作”时,要把该操作的硬盘目的地址与关键信息区的地址范围进行比较,如果在这个范围之内,则硬盘驱动程序直接返回错误;(32)、使所有对索引文件和音视频数据文件的读/写操作都不更新目录项和FAT表。本发明有益的效果是可以大大减少由于异常掉电等原因引起的嵌入式硬盘录像机硬盘“软故障”导致的维修,提高硬盘乃至整个嵌入式硬盘录像机的可靠性。文档编号G11B20/12GK1822174SQ20051006193公开日2006年8月23日申请日期2005年12月8日优先权日2005年12月8日发明者陈军科,赵先林,陈礼进,周治平,胡扬忠申请人:杭州海康威视数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1