一种用于高清媒体的嵌入式文件系统的制作方法

文档序号:6335194阅读:192来源:国知局
专利名称:一种用于高清媒体的嵌入式文件系统的制作方法
技术领域
本发明涉及嵌入式文件系统技术领域,特别涉及一种用于高清媒体的嵌入式文件 系统。
背景技术
目前众多基于嵌入式文件系统开发的影音娱乐设备,由数据存储量骤增所带来的 压力通常通过更换更大容量存储设备来缓解。但是,由于其嵌入式系统稳定性、存储空间、 存储器带宽、传输带宽等的限制,用于数据存储管理的操作系统的可靠性、一致性、稳定性 以及高效读写性能却无法保证,从而出现如文件系统崩溃、文件丢失等不可恢复的问题,始 终未能有很好的解决方案。在媒体产业进入高清时代的大环境、加之高清化带来的数据存 储技术的应用、以及以嵌入式文件系统为支撑的嵌入式平台的应用背景下,现有的存储技 术暴露出诸多问题。暴露的诸多问题包括(1)由于用户的存储数据以影音视频数据为主,尤其是高清晰视频文件的数据量 巨大,虽然这些文件对数据精确性要求不高,允许少量字节的丢失,但是一旦文件丢失或者 损坏,需要很长时间去修复,或重新拷贝,而且一旦形成用户不可见的垃圾文件只能格式化 才能解决问题,因此代价较高。(2)由于磁盘寻址和读写瓶颈所致,含有数据量巨大的文件需要合适的数据存储 机制来进行存储才能更好的满足一些特定功能的要求。如断点续拷、快速查找、快速读写。(3)由于高清媒体音视频文件的数据量巨大,因此对文件系统的健壮性提出了很 高的要求。综上所述,高清媒体影音视频文件的存储给嵌入式文件系统提出了特殊的要求。 加之嵌入式操作系统的自身又存在系统资源有限、易受外界因素影响、容灾能力有限、机制 制约性能、算法过于庞大等诸多问题。因此无论是从存储特殊性角度、嵌入式系统性能角 度,还是从存储质量角度都对高清媒体的嵌入式文件系统提出了新的要求。

发明内容
本发明的目的在于,提供一种用于高清媒体的嵌入式文件系统,以有效提高嵌入 式文件系统的可靠性、稳定性及读写性能。为实现上述发明目的,本发明提出一种用于高清媒体的嵌入式文件系统,其特征 在于,该嵌入式文件系统包括数据结构模块、数据检索模块、数据读写模块、数据备份模块 和数据恢复模块;所述的数据结构模块,用于将用户数据与元数据、目录数据的彻底分离,隔离元数 据与实际的文件数据;所述的数据检索模块,用于根据外部信息利用所述的数据结构模块中的临时域中 存放的元数据存储位置的定位;
所述的数据读写模块,用于利用所述的数据检索模块定位得到的元数据信息进行 数据读取和写入操作,并将操作结果提供给外部;所述的数据备份模块,用于对所述的数据结构模块中的元数据信息进行快照备 份,并对所述的数据读写模块的操作进行日志记录;所述的数据恢复模块,用于利用所述的数据备份模块信息进行数据恢复;利用上述五个模块之间相互作用关系来实现对高清媒体存储的嵌入式文件系统 的组织和管理。所述的数据结构模块内部划分为独立并联系的功能区域,功能区域包括卷标域、 片单元索引域、目录项索引域、临时交换域和数据单元域所述的卷标域,用于记录本文件系统自身的属性信息;所述的片单元索引域,用于确定的本文件系统最小存储单元进行管理,所述的片 单元索引域内部为各个文件占用数据块的链表,并与所述的数据单元域建立映射关系;所述的目录项索引域,用于记录具体文件或目录的属性信息,并通过提供具体文 件对应片单元在所述的片单元索引域中的首位置来实现对文件占用片单元链表头的定 位;所述的临时交换域,用于存储为辅助内存查找而生成的一些临时数据,同时保存 对系统元数据的快照以及操作日志记录;所述的数据单元域,用于保存文件对应的实际数据,使用时通过片单元索引域进 行索引管理。所述的数据检索模块采用哈希算法,该算法采用将文件名称ASCII码值的哈希散 列函数值作为键值进行哈希查找,采用每次进行磁盘校验与修复对哈希表进行重新生成, 本哈希表存放在该系统的数据结构模块的临时交换域中,根据需要进行检索。所述的哈希表的形成步骤如下步骤1)读取目录项索引域,并按照目录项索引顺序对目录项进行解析。将所需 数据存入哈希表存储结构体中;步骤2)将本文件对应目录项索引中名称的所有字节计算哈希函数值;步骤3)组织哈希表中的数据,填写哈希表结构;步骤4)为了降低磁盘读写的频率,需要将所有数据在内存中组织完毕后一次性 写入磁盘中,最终在磁盘中一次性形成一张哈希散列表。所述的数据检索模块通过链式地址法,加入哈希冲突,同时引入字节趋势值以及 其他剪枝条件进行冲突判断。所述的数据读写模块读写一个文件的过程步骤如下步骤1)打开文件,首先将文件名及父目录名传入所述的数据检索模块,找到并 读取该文件对应的目录项;步骤2)根据目录项中文件数据片单元链表头,顺序读取片单元索引域,得到所 述文件所有数据的片单元索引;步骤3)根据本嵌入式文件系统的片单元大小,计算出目标数据在文件内的片单 元序号及该片单元内的偏移,进一步由步骤2)的片单元索引得到目标数据在数据域中的 片单元号及该片单元内的偏移;
步骤4)由片单元号和片单元内的偏移计算出所在磁盘分区的扇区,将对应扇区 的读写请求提交给操作系统内核,内核的读请求完成后,将数据提供给用户;内核的写请求 完成后,返回给用户状态代码。所述的数据备份模块的快照卷卷标用于存储分别指向日志体和快照体的指针、日 志体和快照体所占字节以及面向高清媒体存储的嵌入式文件系统卷的卷标域副本信息;所述的数据备份模块的日志体用于存储日志安全策略下所形成的各种日志数 据;所述的数据备份模块的快照体用于存储采用快照安全策略下所形成的快照数据。所述的数据备份模块采用动态自适应安全策略,即针对日志、快照记录的不同特 性,需要确定不同更新的粗细粒度和完整性检验策略;对于快照备份,采用粗粒度的更新策略,即在每次系统重启时进行重新校验和备 份;对快照内容的检验采用MD5值校验,但不限于此算法;对于日志记录,采用细粒度的更新策略,在涉及到目录项变化及对应数据的片单 元索引链表变化时,要更新日志;对日志内容的检验采用CRC32校验,但不限于此算法。所述的数据恢复模块采用问题数据恢复策略,该恢复策略是一种针对校验点信息 的快速恢复机制;不包含系统崩溃状态下的部分可信恢复策略处理流程步骤为步骤1)启动数据恢复程序,读取快照卷中的快照内容,完成完整性与有效性验 证;步骤2)校验是否存在有效日志;若存在有效日志,则说明存在未正常关闭或操 作未执行完即被中断的现象,需根据有效日志提供的数据对比片单元索引域与目录项索引 域的数据是否一致进行恢复;若不存在有效日志,则转至步骤3);步骤3)校验片单元索引域与目录项索引域的快照进行完整性简单校验;步骤4):备份系统信息卷片单元索引域及目录项索引域。本发明的优点在于,该系统简化了文件系统内部模块间的索引关系,有效的提高 了嵌入式文件系统的可靠性、稳定性及读写性能。另外,该系统有效的减少了文件系统元数 据数量,从而降低因为系统断电元数据回写不及时造成的宕机事故的发生。


图1为本发明提出的一种用于高清媒体的嵌入式文件系统图。
具体实施例方式下面结合附图和具体实施例对本发明进行详细的说明。面向高清媒体的嵌入式文件系统的系统内部包括数据结构模块、数据备份模块、 数据恢复模块、数据检索模块和数据读写模块。如图1所示,本发明提出的一种用于高清媒 体的嵌入式文件系统图。数据备份模块为数据的存储安全提供了强有力的保障。在该模块中提供了策略 分层的快照卷数据层次结构,提供了对系统元数据的双快照保护以及系统操作日志记录。 该模块能够提高从系统崩溃与文件丢失错误中恢复的概率,为数据恢复提供了取证与恢复 的依据。
数据恢复模块问题数据的恢复策略。该模块中包含了对日志、快照、现有元数据 的全面分析,确定数据恢复策略。该恢复策略是一种针对校验点信息的快速恢复机制,相比 传统文件系统修复策略运行时所需的大量内存与时间来说,是一种快速而且低能耗的恢复 技术,适用于嵌入式文件系统。数据检索模块加速对文件的检索速度。该模块利用数据结构模块中的临时域中 的存放信息,设计了快速文件查找方法,从而快速获得文件或目录在目录项索引域中的存 放位置信息,利用数据检索模块提高了文件的检索速度,从而便于后续对文件的读写操作。数据读写模块重点解决随机读取的效率。1、数据结构模块数据结构模块从数据存储结构的合理性上保证文件系统的可靠性与系统的性能。 该模块内部划分为独立并连续的功能区域,文件元数据与实际数据分离,各功能区域支持 区域扩展,该模块降低了系统内元数据的数量,从而保证了系统的可靠性。数据结构模块的功能区域包括卷标域、片单元索引域、目录项索引域、临时交换 域、数据单元域。该模块将用户数据与元数据、目录数据的彻底分离,从而隔离元数据与实际的文 件数据,保证了各个区域的独立、连续、可扩展的性质。各功能区域的存储特性为卷标域,用于存储文件系统向虚拟文件系统挂载时刻所需信息以及本系统特有信 息,作用类似于Ext2文件系统结构中的超级块。片单元索引域,用于确定的本文件系统最小存储单元进行管理,内部为各个文件 占用数据块的链表,并与数据单元域建立映射关系。目录项索引域,用于记录具体文件的元数据信息,并通过提供具体文件对应片单 元在片单元索引域中的首位置来实现对文件占用片单元链表头的定位。临时交换域,用于存储为辅助内存查找而生成的一些临时数据,同时保存对系统 元数据的快照以及操作日志记录。数据单元域,用于保存文件对应的实际数据,使用时通过片单元索引域进行索引管理。本发明在充分考虑不同存储数据片单元容量对磁盘空间利用、元数据容量、样本 连续度、系统最大支持存储样本数量等约束条件的影响后,确定适用该文件系统的片单元 大小。2、数据备份模块数据备份模块为数据的存储安全提供了强有力的保障。在该模块中提供了策略分 层的快照卷数据层次结构,提供了对系统元数据的双快照保护以及系统操作日志记录。该 模块能够提高从系统崩溃与文件丢失错误中恢复的概率,为数据恢复提供了取证与恢复的 依据。因此,该模块包括快照卷卷标、日志体和快照体。快照卷卷标,用于存储分别指向日志体和快照体的指针、日志体和快照体所占字 节和面向高清媒体的嵌入式文件系统卷的卷标域副本信息等。日志体,用于存储日志安全策略下所形成的各种日志数据。快照体,用于存储采用快照安全策略下所形成的快照数据。本文件系统采用动态自适应安全策略,即针对日志、快照记录的不同特性,需要确定不同更新的粗细粒度和完整性检验策略。对于快照备份,采用粗粒度的更新策略,即在每 次系统重启时进行重新检验和备份;对快照内容的检验采用MD5值校验。对于日志记录,采 用细粒度的更新策略,在涉及到目录项变化及对应数据的片单元索引链表变化时,要更新 日志;日志内容的检验采用CRC32校验。3、数据恢复模块数据恢复模块为问题数据的恢复策略。该模块中包含了对日志、快照、现有元数据 的全面分析,确定数据恢复策略。该恢复策略是一种针对校验点信息的快速恢复机制,相比 传统文件系统修复策略运行时所需的大量内存与时间来说,是一种快速而且低能耗的恢复 技术,适用于嵌入式文件系统。不包含系统崩溃状态下的部分可信恢复策略处理流程步骤为步骤1)启动数据恢复程序,读取快照卷中的快照内容,完成完整性与有效性验 证。步骤2)校验是否存在有效日志。若存在有效日志,则说明存在未正常关闭或操 作未执行完即被中断的现象,需根据有效日志提供的数据对比片单元索引域与目录项索引 域的数据是否一致,并进行恢复。若不存在有效日志,转至步骤3)。步骤3)校验片单元索引域与目录项索引域的快照,进行完整性简单校验。步骤4)备份系统信息卷,片单元索引域及目录项索引域。4、数据检索模块数据检索模块利用数据结构模块中的临时域中的存放信息,设计了快速文件查找 方法,从而快速获得文件或目录在目录项索引域中的存放位置信息,利用数据检索模块提 高了文件的检索速度,从而便于后续对文件的读写操作。数据检索模块为加速对文件的检索速度的策略。该模块采用以下实现策略(1)基于面向高清媒体的嵌入式文件数据检索文件检索哈希算法该哈希算法采用将文件名称ASCII码值求和并对哈希散列和作为键值进行哈希 查找,哈希表位于临时交换域中。面向高清媒体的嵌入式文件系统支持最大文件名称长度 为256字节,包括255字节字符串和‘\0’结束符。根据对文件名称长度的限制,哈希表总 共有256X255 = 65280个表项,每个表项10字节,约占640KB的存储空间。本算法采用每次进行磁盘校验与修复后对哈希表进行重新生成。本哈希表存放在 本文件系统数据结构模块的临时交换域。如前所述哈希表的容量大小640KB,因此可根据需 要对存入内存中的信息进行检索。哈希表的形成步骤如下步骤1)读取目录项索引域,并按照目录项索引顺序对目录项进行解析。将所需 数据存入哈希表存储结构体中;步骤2)将本文件对应目录项索引中名称的所有字节累加求和;步骤3)组织哈希表中的数据,填写哈希表结构;步骤4)为了降低磁盘读写的频率,需要将所有数据在内存中组织完毕后一次性 写入磁盘中,最终在磁盘中一次性形成一张哈希散列表。(2)数据检索哈希冲突的解决通过链式地址法,加入哈希冲突,同时引入字节趋势值以及其他剪枝条件进行判断,尽量降低由哈希冲突带来的反复的目录项追踪,从而降低文件检索的时间复杂度。本算法中主要的冲突有如下几种可能性(1)字节数不同。如文件abc. ts与文件acll. ts的字节和相同,字节数却不同;(2)字节数相同,但名称内容组成不同。如abed, ts与bbbd. ts ;(3)字节数和名称内容组成相同,但字节顺序不同。如abed, ts与beda. ts ;(4)字节和、字节数、名称内容组成、字节顺序全部相同的情况。如一父目录下的文 件与目录同名、字节和相同,从而造成哈希冲突;(5)不同父路径下的文件与目录、文件与文件、目录与目录的全等同字节情况。相 同父路径下的相同文件与目录名称全等字节情况。在解决上述冲突时引入了一个特殊的关键字字节趋势值。该值表示的是文件或 目录名称的字节走势。该值使用256bit来表示该名称的字节走势情况。通过该值可以区 分出如abed, ts与beda. ts,此类字节组成完全相同,字节和相同的不同名称。5、数据读写模块所述的数据读写模块读写一个文件的过程步骤如下步骤1)打开文件,首先将文件名及父目录名传入所述的数据检索模块,找到并 读取该文件对应的目录项;步骤2)根据目录项中文件数据片单元链表头,顺序读取片单元索引域,得到所 述文件所有数据的片单元索引;步骤3)根据本嵌入式文件系统的片单元大小,计算出目标数据在文件内的片单 元序号及该片单元内的偏移,进一步由步骤2)的片单元索引得到目标数据在数据域中的 片单元号及该片单元内的偏移;步骤4)由片单元号和片单元内的偏移计算出所在磁盘分区的扇区,将对应扇区 的读写请求提交给操作系统内核,内核的读请求完成后,将数据提供给用户;内核的写请求 完成后,返回给用户状态代码。以在嵌入式Linux系统中读写一个文件abed, ts为例,所述的数据读写模块读写 文件abed, ts的过程步骤如下(1)打开文件abed, ts,首先将文件名及父目录名传入前述的数据检索模块,找到 并读取该文件对应的目录项。(2)根据目录项信息填充虚拟文件系统中与该文件对应的索引节点的各项数据。(3)根据目录项中文件数据片单元链表头,顺序读取片单元索引域,得到文件 abed, ts所有数据的片单元索引,以数组的形式存放在对应的虚拟文件系统索引节点的私 有信息中。(4)根据面向高清媒体的嵌入式文件系统的片单元大小,计算出目标数据所在的 逻辑片单元号及片单元内的偏移,并以逻辑片单元号为abed, ts所对应的片单元索引数组 的下标,得到目标数据所在的物理片单元号。(5)由物理片单元号和片单元内的偏移计算出所在磁盘分区的扇区位置。将对应 扇区的读写请求提交给内核。内核的读请求完成后,将数据提供给用户;内核的写请求完成 后,返回给用户状态代码。由于一个文件被打开后,它所对应的片单元索引数组已经全部一次性读入内存,之后的数据寻址操作都在内存中完成,勿需再访问磁盘,可以保证快的寻址速度。一个片单 元内的数据对应的磁盘扇区都是连续的,通过选取适合高清媒体的片单元大小,可以保证 在一次片单元寻址后连续高速的磁盘数据传输。 最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参 照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方 案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明 的权利要求范围当中。
权利要求
一种用于高清媒体的嵌入式文件系统,其特征在于,该嵌入式文件系统包括数据结构模块、数据检索模块、数据读写模块、数据备份模块和数据恢复模块;所述的数据结构模块,用于将用户数据与元数据、目录数据的彻底分离,隔离元数据与实际的文件数据;所述的数据检索模块,用于根据外部信息利用所述的数据结构模块中的临时域中存放的元数据存储位置的定位;所述的数据读写模块,用于利用所述的数据检索模块定位得到的元数据信息进行数据读取和写入操作,并将操作结果提供给外部;所述的数据备份模块,用于对所述的数据结构模块中的元数据信息进行快照备份,并对所述的数据读写模块的操作进行日志记录;所述的数据恢复模块,用于利用所述的数据备份模块信息进行数据恢复;利用上述五个模块之间相互作用关系来实现对高清媒体存储的嵌入式文件系统的组织和管理。
2.根据权利要求1所述的用于高清媒体的嵌入式文件系统,其特征在于,所述的数据 结构模块内部划分为独立并联系的功能区域,功能区域包括卷标域、片单元索引域、目录 项索引域、临时交换域和数据单元域;所述的卷标域,用于记录本文件系统自身的属性信息;所述的片单元索引域,用于确定的本文件系统最小存储单元进行管理,所述的片单元 索引域内部为各个文件占用数据块的链表,并与所述的数据单元域建立映射关系;所述的目录项索引域,用于记录具体文件或目录的属性信息,并通过提供具体文件对 应片单元在所述的片单元索引域中的首位置来实现对文件占用片单元链表头的定位;所述的临时交换域,用于存储为辅助内存查找而生成的一些临时数据,同时保存对系 统元数据的快照以及操作日志记录;所述的数据单元域,用于保存文件对应的实际数据,使用时通过片单元索引域进行索 引管理。
3.根据权利要求1所述的用于高清媒体的嵌入式文件系统,其特征在于,所述的数据 检索模块采用哈希算法,该算法采用将文件名称ASCII码值的哈希散列函数值作为键值进 行哈希查找,采用每次进行磁盘校验与修复对哈希表进行重新生成,本哈希表存放在该系 统的数据结构模块的临时交换域中,根据需要进行检索。
4.根据权利要求3所述的用于高清媒体的嵌入式文件系统,其特征在于,所述的哈希 表的形成步骤如下步骤1)读取目录项索引域,并按照目录项索引顺序对目录项进行解析。将所需数据 存入哈希表存储结构体中;步骤2)将本文件对应目录项索引中名称的所有字节计算哈希函数值; 步骤3)组织哈希表中的数据,填写哈希表结构;步骤4)为了降低磁盘读写的频率,需要将所有数据在内存中组织完毕后一次性写入 磁盘中,最终在磁盘中一次性形成一张哈希散列表。
5.根据权利要求3所述的用于高清媒体的嵌入式文件系统,其特征在于,所述的数据 检索模块通过链式地址法,加入哈希冲突,同时引入字节趋势值以及其他剪枝条件进行冲突判断。
6.根据权利要求1所述的用于高清媒体的嵌入式文件系统,其特征在于,所述的数据 读写模块读写一个文件的过程步骤如下步骤1)打开文件,首先将文件名及父目录名传入所述的数据检索模块,找到并读取 该文件对应的目录项;步骤2)根据目录项中文件数据片单元链表头,顺序读取片单元索引域,得到所述文 件所有数据的片单元索引;步骤3)根据本嵌入式文件系统的片单元大小,计算出目标数据在文件内的片单元序 号及该片单元内的偏移,进一步由步骤2)的片单元索引得到目标数据在数据域中的片单 元号及该片单元内的偏移;步骤4)由片单元号和片单元内的偏移计算出所在磁盘分区的扇区,将对应扇区的读 写请求提交给操作系统内核,内核的读请求完成后,将数据提供给用户;内核的写请求完成 后,返回给用户状态代码。
7.根据权利要求1所述的用于高清媒体的嵌入式文件系统,其特征在于,所述的数据 备份模块的快照卷卷标用于存储分别指向日志体和快照体的指针、日志体和快照体所占字 节以及面向高清媒体存储的嵌入式文件系统卷的卷标域副本信息;所述的数据备份模块的日志体用于存储日志安全策略下所形成的各种日志数据; 所述的数据备份模块的快照体用于存储采用快照安全策略下所形成的快照数据。
8.根据权利要求1或7所述的用于高清媒体的嵌入式文件系统,其特征在于,所述的数 据备份模块采用动态自适应安全策略,即针对日志、快照记录的不同特性,需要确定不同更 新的粗细粒度和完整性检验策略;对于快照备份,采用粗粒度的更新策略,即在每次系统重启时进行重新校验和备份; 对于日志记录,采用细粒度的更新策略,在涉及到目录项变化及对应数据的片单元索 引链表变化时,要更新日志。
9.根据权利要求8所述的用于高清媒体的嵌入式文件系统,其特征在于,所述的对快 照内容的检验采用MD5值校验;所述的对日志内容的检验采用CRC32校验。
10.根据权利要求1所述的用于高清媒体的嵌入式文件系统,其特征在于,所述的数据 恢复模块采用问题数据恢复策略,该恢复策略是一种针对校验点信息的快速恢复机制;不 包含系统崩溃状态下的部分可信恢复策略处理流程步骤为步骤1)启动数据恢复程序,读取快照卷中的快照内容,完成完整性与有效性验证; 步骤2)校验是否存在有效日志;若存在有效日志,则说明存在未正常关闭或操作未 执行完即被中断的现象,需根据有效日志提供的数据对比片单元索引域与目录项索引域的 数据是否一致进行恢复;若不存在有效日志,则转至步骤3);步骤3)校验片单元索引域与目录项索引域的快照进行完整性简单校验; 步骤4)备份系统信息卷片单元索引域及目录项索引域。
全文摘要
本发明涉及一种用于高清媒体的嵌入式文件系统,该系统包括数据结构模块、数据检索模块、数据读写模块、数据备份模块和数据恢复模块;数据检索模块利用外部输入的需要检索信息完成对文件在数据结构模块中元数据存储位置的定位;数据结构模块解析出文件对应的元数据信息;数据读写模块利用文件元数据信息进行数据写入和读取操作,并将操作结果提供给外部;数据备份模块对系统元数据进行快照备份,并对系统操作进行日志记录;数据恢复模块利用数据备份模块记录信息进行数据恢复。利用上述五个模块之间相互作用关系来实现对高清媒体嵌入式文件系统的组织和管理。本发明有效的提高嵌入式文件系统的可靠性、稳定性及读写性能。
文档编号G06F17/30GK101980203SQ20101053150
公开日2011年2月23日 申请日期2010年10月29日 优先权日2010年10月29日
发明者刘贤卓, 吴丽彬, 孙鹏, 栾德杰, 王劲林, 胡建良, 邓峰 申请人:中国科学院声学研究所;北京中科智网科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1