一种通用F2FS文件系统解析方法、终端设备及存储介质技术方案

技术编号:18084056 阅读:42 留言:0更新日期:2018-05-31 12:32
本发明专利技术涉及一种通用F2FS文件系统解析方法、终端设备及存储介质,在该方法中,包括以下步骤:S100:模拟挂载的过程,构建F2FS文件系统的元数据,包括以下步骤:S110:对超级块的内容进行校验;S120:对超级块进行初始化;S130:选择有效检查点;S140:构建段信息表;S150:初始化节点地址表;S200:根据通用的目录项块构建文件目录项,所述通用的目录项块包括但不限于以下组成部分:文件类型、索引节点号、父项索引节点号、文件大小、创建时间、修改时间、文件名指针、文件名长度、指向下一个节点指针和目录有效,指向该目录的第一个节点指针。本发明专利技术解决了文件系统的可移植性和兼容性差的问题。

【技术实现步骤摘要】
一种通用F2FS文件系统解析方法、终端设备及存储介质
本专利技术涉及计算机文件系统领域,尤其涉及一种通用F2FS(FlashFriendlyFileSystem)文件系统解析方法、终端设备及存储介质。
技术介绍
目前的安卓移动设备终端的用户数据分区文件系统类型通常为EXT(延伸文件系统,Extendedfilesystem)或F2FS,特别是在安卓智能手机上被广泛使用,EXT做为较早的Linux文件系统,使用范围较广,也存在一定数量的技术文档和相关专利,但F2FS做为新型Linux文件系统,相比EXT在整体性能上具备一定优势,在一些中高端手机上频繁被采用,且目前没有发现相关的技术专利。EXT文件系统支持扇区大小范围均是512/1024/2048/4096字节,块大小是4KB,解析方法是根据位图信息直接遍历解析目录项,随着存储器技术的发展,存储容量会越来越大,为了提高读写效率,扇区和块大小会相应变大,相关的元数据也会随之改变,当文件系统研发机构对文件系统做出技术改动或推出新的文件系统版本时,就会出现兼容性差、相关解析技术发展迭代慢等问题。
技术实现思路
为了解决上述问题,本专利技术旨在提供一种通用F2FS文件系统解析方法、终端设备及存储介质,解决了文件系统的可移植性和兼容性差的问题。具体方案如下:1.一种通用F2FS文件系统解析方法,其特征在于:包括以下步骤:S100:模拟挂载(mount)的过程,构建F2FS文件系统的元数据,包括以下步骤:S110:对超级块(Superblock,SB)的内容进行校验;所述校验为先对超级块0进行校验,当超级块0校验不通过时,切换到超级块1进行校验,当超级块1校验不通过时结束;S120:对超级块进行初始化:对超级块内的统计数据和元数据的起始地址参数以及其他相关参数进行赋值;所述初始化为当超级块0校验通过时,对超级块0进行初始化;当超级块0校验不通过但超级块1校验通过时,对超级块1进行初始化;S130:选择有效检查点(Checkpoint,CP):选择两个检查点中版本号较高的检查点作为当前的有效检查点;S140:构建段信息表(SegmentInformationTable,SIT):从有效检查点中读取段信息表位图信息,检查位图和有效数据块关系,并将获取到的有效位图信息载入段汇总区(SegmentsummaryArea,SSA);S150:初始化节点地址表(NodeAddressTable,NAT):从有效检查点中读取节点地址表位图信息和指针信息,完成节点块和位图映射对应关系;S200:根据通用的目录项块构建文件目录项;所述通用的目录项块包括但不限于以下组成部分:文件类型、索引节点号、父项索引节点号、文件大小、创建时间、修改时间、文件名指针、文件名长度、指向下一个节点指针和目录有效,指向该目录的第一个节点指针。进一步的,所述文件类型占用1字节,索引节点号占用4字节,父项索引节点号占用4字节,创建时间占用8字节,修改时间占用8字节,文件名指针为宽字节指针,其占用的地址大小动态分配。一种通用F2FS文件系统解析终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本专利技术实施例上述的方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本专利技术实施例上述的方法的步骤。本专利技术采用如上技术方案,根据Linux操作系统的挂载命令,F2FS文件系统特性、数据组织和文件结构,提出一种针对该文件系统的解析方案,并成功应用于使用了该文件系统的移动设备终端镜像文件系统解析上,扩充了原来只支持EXT和较少量采用yaffs(YetAnotherFlashFileSystem)文件系统的低端安卓手机的镜像文件取证范围。通过模拟挂载过程的镜像文件系统解析方案对安卓移动终端设备进行的镜像文件系统解析具有较好的稳定性和兼容性,同时也为镜像文件取证领域提供了一种重要思路。附图说明图1所示为本专利技术实施例一的流程示意图。具体实施方式为进一步说明各实施例,本专利技术提供有附图。这些附图为本专利技术揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本专利技术的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。现结合附图和具体实施方式对本专利技术进一步说明。实施例一:本专利技术实施例一提供了一种通用F2FS文件系统解析方法,如图1所示,其为本专利技术实施例一所述的通用F2FS文件系统解析方法的流程示意图,所述方法可包括以下步骤:S100:模拟挂载(mount)的过程,构建F2FS文件系统的元数据。所述挂载为将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了,该实施例中,通过将镜像磁盘文件挂接到Linux的一个文件夹下,从而将镜像磁盘文件和该文件夹目录联系起来。所述过程中将属于对操作系统环境变量初始化或赋值等相关动作剔除,只保留该过程中对文件系统操作的部分。所述F2FS的元数据为文件系统组织架构信息,包括以下几种:1)超级块(Superblock,SB)2)检查点(Checkpoint,CP)3)段信息表(SegmentInformationTable,SIT)4)节点地址表(NodeAddressTable,NAT)5)段汇总区(SegmentsummaryArea,SSA)所述模拟挂载的过程包括:S110:对F2FS文件中超级块的内容进行校验。所述F2FS文件是专门为基于NAND的存储设备设计的新型开源flash文件系统。F2FS文件中有两个备份超级块以避免文件系统破碎(crash)无法恢复的情况发生,分别为超级块0和超级块1,每个块各占用4KB,以磁盘镜像文件0开始偏移0x400字节为超级块0,块开始的四个字节即是文件系统魔数“1020F5F2”,所述超级块仅包含只读数据,一旦文件系统创建,超级块的信息就不会再改变,超级块包含基本的分区信息和默认的F2FS参数,描述了文件系统有多大、段(Segment)有多大、区段(Section)有多大、存储区(Zone)有多大以及分配了多少空间给各个部分的“元数据”区域以及其他少量的细节信息。所述校验的过程为首先是进行魔数检查,这也是判别F2FS文件系统的重要标识之一,接着是进行主区域(MainArea)总数、扇区大小检查,目前支持的扇区大小为512/1024/2048/4096字节,不属于这个范围将返回失败,最后检查根(root)索引节点号、元数据索引节点号、节点(node)索引节点号,这几个索引节点号都是固定的,否则也将返回失败。进一步的,所述校验为先对超级块0进行校验,当超级块0校验不通过即超级块0发生损坏时,切换到超级块1进行校验,当超级块1校验不通过时结束,表明磁盘发生损毁或者镜像文件提取有误。S120:对超级块进行初始化,即对超级块内的统计数据和元数据的起始地址参数以及其他相关参数进行赋值。所述相关参数包括但不限于块的总数、块大小、总节点数、根节点号、元数据开始块地址、主区域(Main本文档来自技高网...
一种通用F2FS文件系统解析方法、终端设备及存储介质

【技术保护点】
一种通用F2FS文件系统解析方法,其特征在于:包括以下步骤:S100:模拟挂载(mount)的过程,构建F2FS文件系统的元数据,包括以下步骤:S110:对超级块的内容进行校验;所述校验为先对超级块0进行校验,当超级块0校验不通过时,切换到超级块1进行校验,当超级块1校验不通过时结束;S120:对超级块进行初始化:对超级块内的统计数据和元数据的起始地址参数以及其他相关参数进行赋值;所述初始化为当超级块0校验通过时,对超级块0进行初始化;当超级块0校验不通过但超级块1校验通过时,对超级块1进行初始化;S130:选择有效检查点:选择两个检查点中版本号较高的检查点作为当前的有效检查点;S140:构建段信息表:从有效检查点中读取段信息表位图信息,检查位图和有效数据块关系,并将获取到的有效位图信息载入段汇总区;S150:初始化节点地址表:从有效检查点中读取节点地址表位图信息和指针信息,完成节点块和位图映射对应关系;S200:根据通用的目录项块构建文件目录项;所述通用的目录项块包括但不限于以下组成部分:文件类型、索引节点号、父项索引节点号、文件大小、创建时间、修改时间、文件名指针、文件名长度、指向下一个节点指针和目录有效,指向该目录的第一个节点指针。...

【技术特征摘要】
1.一种通用F2FS文件系统解析方法,其特征在于:包括以下步骤:S100:模拟挂载(mount)的过程,构建F2FS文件系统的元数据,包括以下步骤:S110:对超级块的内容进行校验;所述校验为先对超级块0进行校验,当超级块0校验不通过时,切换到超级块1进行校验,当超级块1校验不通过时结束;S120:对超级块进行初始化:对超级块内的统计数据和元数据的起始地址参数以及其他相关参数进行赋值;所述初始化为当超级块0校验通过时,对超级块0进行初始化;当超级块0校验不通过但超级块1校验通过时,对超级块1进行初始化;S130:选择有效检查点:选择两个检查点中版本号较高的检查点作为当前的有效检查点;S140:构建段信息表:从有效检查点中读取段信息表位图信息,检查位图和有效数据块关系,并将获取到的有效位图信息载入段汇总区;S150:初始化节点地址表:从有效检查点中读取节点地址表位图信息和指针信息,完成节点块和位图映射对...

【专利技术属性】
技术研发人员:潘泽汇陈明辉张辉极曹荣鑫
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1