一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种记录存储优化过的Linux下文件系统实现方法与流程

2022-05-21 05:32:18 来源:中国专利 TAG:
一种记录存储优化过的linux下文件系统实现方法
技术领域
:1.本发明涉及一种数据存储技术、磁盘阵列
技术领域
:,尤其涉及一种记录存储优化过的linux下文件系统实现方法。
背景技术
::2.文件系统:文件系统是在硬盘上保持跟踪所有文件和目录的一组结构。3.ms-dos中以往使用的是fat文件系统(fileallocationtable,文件配置表,就是用来记录文件所在位置的表格),fat文件系统总共有三个版本fat-12、fat-16、fat-32。其中fat32分区突破了fat-16每一个分区的容量只有2gb的限制,但是易产生磁盘碎片,目前在微软的操作系统中已开始被ntfs分区格式文件系统类型所取代,ntfs文件系统属于微软商业秘密,其原理不得而知。4.对于linux下常见的文件系统是ext4、xfs等,由于其通用性,尽管对大文件有一些优化、擅长处理大文件,但是在一次分配几gb空间时,延时仍然较高,特别是在文件系统空间快要用完的情况下,延时非常明显;此外,由于这些文件系统的通用性,长时间使用会造成碎片,导致大文件的读写性能下降的更加明显,用户主动进行磁盘碎片整理也会打断用户的使用,存在诸多不便。技术实现要素:5.本发明的目的解决了文件系统在空间分配、文件地址到块设备地址转换的高时延,文件系统长期使用会碎片化进一步降低大文件空间分配效率的问题。6.在存储记录场景下,针对文件系统本身的性能损耗高、文件系统分配空间以及从文件地址到块设备的地址转换延迟高的问题,本技术提出一种将大小文件数据块分开的思路,小文件使用小的数据块,如几十kb,大文件使用达到大的数据块,如几十mb到几gb,这样就不会产生碎片,大文件的空间分配效率将会得到极大提升。7.本发明的目的在于提供一种记录存储优化过的linux下文件系统实现方法,以解决上述技术背景中提出的问题。8.为实现上述目的,本发明采用以下技术方案:9.本发明第一个方面提供了一种记录存储优化过的linux下文件系统实现方法,包括:10.格式化过程:初始化文件系统元数据,计算文件数据块表的大小并初始化,建立一个空的根目录;11.分区过程:根据设备的实际容量以及用户指定的大文件数据块的大小,算出磁盘数据区的大小,将各数据区划分为小文件数据块和大文件数据块,逻辑上小文件数据块在大文件数据块前;12.文件读写过程:linux下,文件系统在文件读写过程中仅需提供文件逻辑地址,并转换为文件系统所在块设备的逻辑地址;并且,在写入未分配空间的地址时,给文件分配数据块。13.其中,所述块设备是i/o设备中的一种,其用于存放数据、并支持随机访问,如硬盘、u盘等。14.优选地,所述大文件和小文件的区分条件,可以根据其所占空间大小、和/或文件系统所在磁盘容量进行预先设定。15.优选地,利用小文件数据块数量是大文件数据块数量的倍数的关系,确定小文件数据块和大文件数据块的数量。即,本技术中,小文件数据块和大文件数据块的数量可以是相同或不同,并且分别独立地至少为一个,并分别独立地优先为不止一个。16.优选地,所述文件系统元数据包括:文件系统版本、数据块数量、大文件数据块的大小、大文件数据块的数量中的任意一种或更多种。17.优选地,所述分区过程,用户指定的大文件数据块最大不能大于设备的实际容量。18.优选地,在文件写过程,文件系统在创建文件空间时采用第一大小分开的原则。19.更优选地,所述第一大小分开的原则为:用户写入文件为大文件时,文件系统分配大文件数据块进行写入访问;用户写入文件为小文件时,文件系统分配小文件数据块进行写入访问。20.优选地,在文件写过程,文件系统判断待写入文件为大文件还是小文件,21.优选地,所述文件读过程,文件系统采用第二大小分开的原则。22.更优选地,所述文件读过程的大小分开的原则为:将该文件写入时的数据块地址进行转换,转换为块设备的地址。23.本发明第二个方面还提供了一种装置/终端设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行上述一种记录存储优化过的linux下文件系统。24.本技术中,块设备逻辑地址是数据块的地址,文件系统进行读写请求时发给块设备的地址;文件的逻辑地址是文件读写时用到的地址,例如,有两个文件大大小相同,文件名分别为a和b,读a的时候传给文件系统的地址是0,读b的时候传给文件系统的地址也是0,文件系统将地址0转换为块设备的地址。25.与现有技术相比,本发明的技术方案具有以下有益效果:26.本技术提供了一些linux操作系统下的文件系统,在空间分配、文件地址到块设备地址转换的延时低,文件系统的本身性能损耗远低于linux常用的ext4、xfs等文件系统。附图说明27.构成本技术的一部分附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:28.图1是本发明优选实施例的记录存储优化过的linux下文件系统;29.图2是本发明优选实施例的文件写入流程图;30.图3是本发明优选实施例的文件读取流程图;31.图4是传统文件系统结构示意图;32.图5是本技术文件系统结构示意图。具体实施方式33.本发明提供一种记录存储优化过的linux下文件系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。34.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的数据在适当情况下可以互换。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。35.实施例1:36.本发明提供一种记录存储优化过的linux下文件系统(本技术称其为n-fat系统)应用实例,其文件系统实现方法如图1所示。37.首先,根据文件系统版本,数据块数量,大文件数据块的大小和数量等系统元数据初始化文件系统,计算文件数据块大小并初始化,并建立一个空的根目录。38.其次,参照图5,根据磁盘容量及用户指定的大文件的块大小为256m,算出数据区的大小,利用小文件数据块的数量是大文件的倍数,确定小文件块a1和大文件块a2的数量,逻辑上a1小文件数据在大文件数据a2前。大小文件数据各自分离,不混合使用。39.参照图4,传统文件系统结构中,大文件被分开写入到b1、b2和b3等多个分区,导致大文件非常分散。对于用户写文件,应用层创建一个文件,然后不停写4k大小的数据,传统文件系统,每次写就去分配4k空间,并且还要保存分配的数据块的位置(假设每个位置要8个字节),如果每次分配都写一次数据块位置,那么256mb数据就得额外进行64k个写i/o请求。40.参阅图2,对于本技术文件系统,应用层在创建文件的时候,将该256m数据指定为大文件,那么每写256m数据只需分配一次空间,也只需保存一个数据块的位置,只产生一个额外写,额外占用的空间也很少,总体性能就大大提高了。41.参阅图3,对于用户读文件,用户每读256m,文件系统指定其为大文件,只需产生一次额外读数据块位置的请求。但是对于传统文件系统,由于每4k对应一个数据块位置,故而需要多次读数据块位置,而且在代码层面处理起来更复杂,明显会消耗更多cpu资源。42.对于本实例,如果文件系统选用ext4,开始记录时要分配大文件,有时延时达到数秒,系统内存无法缓存那么多数据,使得数据丢失,使用本技术技术方案,分配大文件延时变得很低,带缓冲的延时仅几十微秒,落盘分配的延时在20毫秒左右,而且不会有磁盘碎片。43.实施例2:44.本技术提供了一种记录存储优化过的linux下文件系统应用实例——高带宽的记录存储。45.对于高带宽的记录存储应用场景,通常由一个大文件(比如几gb)存数据搭配一个小文件(比如几十kb)作为元数据,当一个大文件存满,就再创建一个大文件,记录数据在快使用完存储空间时,删除早期的记录文件,这样达成循环记录的效果。此场景中,大文件是一直顺序写数据,小文件只更新几次,故而对顺序写性能要求较高。46.首先,根据文件系统版本,数据块数量,大文件数据块的大小和数量等系统元数据初始化文件系统,计算文件数据块大小并初始化,并建立一个空的根目录。47.其次,参照图5,分别创建一个大于1gb的大文件数据块(用a2区域中一个单元格表示),和一个小于100kb的小文件数据块(用a1区域中一个单元格表示),逻辑上小文件数据块在大文件数据块前。大小文件数据块各自分离,不混合使用。48.当一个大文件存满,就再创建一个大文件,记录数据在快使用完存储空间时,删除早期的记录文件;当一个小大文件存满,就再创建一个小文件,记录数据在快使用完存储空间时,删除早期的记录文件;这样达成循环记录的效果。49.另一方面,本发明还提供了一种装置/终端设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行上述一种记录存储优化过的linux下文件系统。50.综上所述,本技术采用记录存储优化过的linux下文件系统实现方法,解决了决了linux下文件系统在空间分配、文件地址到块设备地址转换的高时延,文件系统长期使用碎片化进一步降低大文件空间分配效率问题。51.以上对本发明的具体实施例进行了详细描述,但其只是作为范例,本发明并不限制于以上描述的具体实施例。对于本领域技术人员而言,任何对本发明进行的等同修改和替代也都在本发明的范畴之中。因此,在不脱离本发明的精神和范围下所作的均等变换和修改,都应涵盖在本发明的范围内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献