一种文件数据块寻址方法、系统及设备和存储介质技术方案

技术编号:19593144 阅读:57 留言:0更新日期:2018-11-28 04:48
本申请公开了一种文件数据块寻址方法、系统及设备和计算机可读存储介质,该方法包括:获取待操作文件的文件块号,并判断所述文件块号是否在预设范围内;若是,则根据所述文件块号对应的指针通过直接寻址的方式确定所述待操作文件对应的磁盘逻辑块号;若否,则获取目标指针,并根据所述目标指针指向的基树和所述文件块号确定所述待操作文件对应的磁盘逻辑块号;其中,所述基树为存储文件的磁盘逻辑块号的基树。本申请提供的文件数据块寻址方法,采用直接映射加基树映射,将文件块号映射到磁盘逻辑块号。通过文件块号预设范围的直接索引,小文件通过两次访问磁盘就能完成磁盘请求,对稀疏文件及大文件采用基树映射,有效降低了索引块的磁盘占用。

【技术实现步骤摘要】
一种文件数据块寻址方法、系统及设备和存储介质
本申请涉及存储
,更具体地说,涉及一种文件数据块寻址方法、系统及设备和一种计算机可读存储介质。
技术介绍
用户数据在文件系统中以文件的方式进行存储,文件由文件数据和文件元数据组成,文件数据就是用户存储的数据内容,元数据是描述文件数据的数据,即如何识别找到该文件数据,如何记录文件数据的变化等。每个非空的普通文件都由一组数据块组成。这些块由文件内的相对位置(即文件块号)来标识,或者磁盘分区内的位置(即磁盘逻辑块号)来标识。为了从文件内的偏移量导出相应数据块的磁盘逻辑块号,需要从偏移量导出文件块号,即在偏移量处的字符所在的块索引,再将文件块号转换为相应的磁盘逻辑块号。因此,文件系统必须提供一种方法,建立每个文件块号与相应逻辑块号之间的关系。现有技术中采用分级索引映射,如图1所示,索引节点的i_block数组将文件块号的0-11进行直接映射,文件块号大于11的采取分级映射。使用分级索引映射操作简单,应用于小文件时性能优异,但映射间接块所占的磁盘空间较大,对于大文件及稀疏文件性能较差。因此,如何减少文件块号与磁盘逻辑块号映射所占的磁盘空间是本领域技术人员需要解决的问题。
技术实现思路
本申请的目的在于提供一种文件数据块寻址方法、系统及设备和一种计算机可读存储介质,减少了文件块号与磁盘逻辑块号映射所占的磁盘空间。为实现上述目的,本申请提供了一种文件数据块寻址方法,包括:获取待操作文件的文件块号,并判断所述文件块号是否在预设范围内;若是,则根据所述文件块号对应的指针通过直接寻址的方式确定所述待操作文件对应的磁盘逻辑块号;若否,则获取目标指针,并根据所述目标指针指向的基树和所述文件块号确定所述待操作文件对应的磁盘逻辑块号;其中,所述基树为存储文件的磁盘逻辑块号的基树。其中,获取待操作文件的文件块号,包括:获取文件操作请求;其中,所述文件操作请求至少包括所述待操作文件的文件块号;相应的,所述确定所述待操作文件对应的磁盘逻辑块号之后,还包括:根据所述文件操作请求对所述磁盘逻辑块号对应的数据块执行相应的操作,并返回操作结果。其中,根据所述文件操作请求对所述磁盘逻辑块号对应的数据块执行相应的操作,并返回操作结果之后,还包括:根据所述操作结果更新所述基树。其中,所述基树的根节点的数据结构至少包括所述基树的当前深度和根节点指针,所述根节点指针指向所述基树的第一层节点。其中,所述基树除所述根节点外的节点的数据结构至少包括指针数组和所述指针数组中非空指针的计数变量。其中,根据所述目标指针指向的基树和所述文件块号确定所述待操作文件对应的磁盘逻辑块号,包括:根据所述指针数组中的指针数量将所述文件块号划分为N个文件块号子部分;所述文件块号中由低位至高位的第N个所述文件块号子部分对应所述基树由底层至高层的第N层;其中,N为正整数;根据所述N个文件块号子部分从所述基树的根节点向孩子节点方向确定所述待操作文件对应的磁盘逻辑块号。其中,若所述指针数组中的指针数量为64,则根据所述指针数组中的指针数量将所述文件块号划分为N个文件块号子部分,包括:将所述文件块号由低位至高位每6位划分为一个所述文件块号子部分。为实现上述目的,本申请提供了一种文件数据块寻址系统,包括:获取模块,用于获取待操作文件的文件块号,并判断所述文件块号是否在预设范围内;若是,则启动第一确定模块的工作流程;若否,则启动第二确定模块的工作流程;所述第一确定模块,用于根据所述文件块号对应的指针通过直接寻址的方式确定所述待操作文件对应的磁盘逻辑块号;所述第二确定模块,用于获取目标指针,并根据所述目标指针指向的基树和所述文件块号确定所述待操作文件对应的磁盘逻辑块号;其中,所述基树为存储文件的磁盘逻辑块号的基树。为实现上述目的,本申请提供了一种文件数据块寻址设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述文件数据块寻址方法的步骤。为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述文件数据块寻址方法的步骤。通过以上方案可知,本申请提供的一种文件数据块寻址方法,包括:获取待操作文件的文件块号,并判断所述文件块号是否在预设范围内;若是,则根据所述文件块号对应的指针通过直接寻址的方式确定所述待操作文件对应的磁盘逻辑块号;若否,则获取目标指针,并根据所述目标指针指向的基树和所述文件块号确定所述待操作文件对应的磁盘逻辑块号;其中,所述基树为存储文件的磁盘逻辑块号的基树。本申请提供的文件数据块寻址方法,当文件块号在预设范围内时采用直接映射方式,当文件块号大于预设范围时采用基树映射,即采用直接映射加基树映射,将文件块号映射到磁盘逻辑块号。通过文件块号预设范围的直接索引,小文件通过两次访问磁盘就能完成磁盘请求,对稀疏文件及大文件采用基树映射,由于基树中每个叶子节点都可以存储磁盘逻辑块号的指针,因磁盘逻辑块号随基树的深度的增加以指数的形式增加,与现有技术中分级索引的方式相比,在存储相同数量的磁盘逻辑块号时有效降低了索引块的磁盘占用。寻址时逐层寻址,与b+树等的区间映射的方式相比,降低了复杂性,减少了磁盘操作次数。本申请还公开了一种文件数据块寻址系统及设备和一种计算机可读存储介质,同样能实现上述技术效果。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中索引映射的结构图;图2为本申请实施例公开的一种文件数据块寻址方法的流程图;图3为本申请实施例公开的另一种文件数据块寻址方法的流程图;图4为本申请实施例公开的一种映射关系的结构图;图5为本申请实施例公开的一种文件数据块寻址系统的结构图;图6为本申请实施例公开的一种文件数据块寻址设备的结构图;图7为本申请实施例公开的另一种文件数据块寻址设备的结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请实施例公开了一种文件数据块寻址方法,减少了文件块号与磁盘逻辑块号映射所占的磁盘空间。参见图2,本申请实施例公开的一种文件数据块寻址方法的流程图,如图2所示,包括:S201:获取待操作文件的文件块号,并判断所述文件块号是否在预设范围内;若是,则进入S202;若否,则进入S203;在具体实施中,在客户端请求文件操作时,首先要读取磁盘获取文件的元数据索引节点及i_block数据块指针。具体的,获取文件操作请求,该文件操作请求至少包括待操作文件的文件块号,并判断文件操作请求中的文件块号是否在预设范围内;若是,则采用直接寻址的方式;若否,则采用基树寻址的方式。也就是说,当请求操作的文件为小文件时,采用直接寻址的方式,使得通过两次访问磁盘就能完成磁盘请求,当请求本文档来自技高网...

【技术保护点】
1.一种文件数据块寻址方法,其特征在于,包括:获取待操作文件的文件块号,并判断所述文件块号是否在预设范围内;若是,则根据所述文件块号对应的指针通过直接寻址的方式确定所述待操作文件对应的磁盘逻辑块号;若否,则获取目标指针,并根据所述目标指针指向的基树和所述文件块号确定所述待操作文件对应的磁盘逻辑块号;其中,所述基树为存储文件的磁盘逻辑块号的基树。

【技术特征摘要】
1.一种文件数据块寻址方法,其特征在于,包括:获取待操作文件的文件块号,并判断所述文件块号是否在预设范围内;若是,则根据所述文件块号对应的指针通过直接寻址的方式确定所述待操作文件对应的磁盘逻辑块号;若否,则获取目标指针,并根据所述目标指针指向的基树和所述文件块号确定所述待操作文件对应的磁盘逻辑块号;其中,所述基树为存储文件的磁盘逻辑块号的基树。2.根据权利要求1所述文件数据块寻址方法,其特征在于,获取待操作文件的文件块号,包括:获取文件操作请求;其中,所述文件操作请求至少包括所述待操作文件的文件块号;相应的,所述确定所述待操作文件对应的磁盘逻辑块号之后,还包括:根据所述文件操作请求对所述磁盘逻辑块号对应的数据块执行相应的操作,并返回操作结果。3.根据权利要求1所述文件数据块寻址方法,其特征在于,根据所述文件操作请求对所述磁盘逻辑块号对应的数据块执行相应的操作,并返回操作结果之后,还包括:根据所述操作结果更新所述基树。4.根据权利要求1-3任一项所述文件数据块寻址方法,其特征在于,所述基树的根节点的数据结构至少包括所述基树的当前深度和根节点指针,所述根节点指针指向所述基树的第一层节点。5.根据权利要求4所述文件数据块寻址方法,其特征在于,所述基树除所述根节点外的节点的数据结构至少包括指针数组和所述指针数组中非空指针的计数变量。6.根据权利要求5所述文件数据块寻址方法,其特征在于,根据所述目标指针指向的基树和所述文件块号确定所述待操作文件对应的磁盘逻辑块号,包括:根...

【专利技术属性】
技术研发人员:邸忠辉
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1