一种基于I/O自适应的日志文件系统数据存储方法技术方案

技术编号:13732617 阅读:54 留言:0更新日期:2016-09-21 14:18
本发明专利技术公开了一种基于I/O自适应的日志文件系统数据存储方法,特征是采取根据需要写入数据块的长度对数据块进行分类,将需要写入的连续数据块写入文件系统的数据区,将需要写入的随机数据块以及元数据写入文件系统的日志区,在建立检查点时,将随机数据块与元数据写入文件系统的数据区的操作步骤。由于采用了I/O自适应的日志文件系统数据存储方法,与传统的日志文件系统数据存储方法相比,在保证文件系统一致性情况下,降低了对数据区的写入数据量与写入次数,缩短了文件系统的写请求的响应时间,提高文件系统的服务质量与性能。

【技术实现步骤摘要】

本专利技术属于计算机文件系统
,具体涉及数据写入文件系统时的写入方式选择的方法。
技术介绍
美国计算机协会出版的《第11届ACM操作系统设计规范学术研讨会记录》(SOSP'87Proceedings ofthe eleventhACM Symposium on Operating systems principles,1987,第155~162页)所介绍的使用日志和集体提交来重新实现Cedar文件系统(Reimplementing the Cedar file system using logging and group commit)使用日志来维持文件系统中的一致性。现存的日志式文件系统通常使用日志的顺序(ordered)模式来维持文件系统本身的一致性。当采用顺序模式时,文件系统需要将所有数据块写入数据区,等数据写入完成后再将元数据写入日志区,而在将文件写入数据区时,写入的位置通常是分散的,这使得写入的完成时间比较长,写请求的完成时间比较久,这延迟了文件系统请求的响应时间,降低了文件系统的效率。
技术实现思路
本专利技术的目的是提出一种基于I/O自适应的文件系统日志模式,以克服现有技术的上述缺陷,在保证维持文件系统一致性的情况下,提高系统的响应速度,提升服务性能。本专利技术基于I/O自适应的文件系统日志模式,其特征在于包括以下步骤:第一步、根据需要写入数据块的长度对数据块进行分类:遍历已经修改的文件内容数据块的集合,将处于连续位置的数据块整理成一个连续的数据块写入,整理完成后根据数据块的长度是否大于特定的阈值将这些数据块分成连续数据块和随机数据块两类,并设置标志位表示这些数据块是连续(sequential)的‐‐‐‐如果数据块的长度超过阈值时,或者是随机(random)的‐‐‐‐如果数据块的长度小于阈值时;第二步、将需要写入的连续数据块,也就是被标记连续标志的数据块,写入文件系统的数据区;第三步、将需要写入的随机数据块,也就是被标记随机标志的数据块,与元数据以及事务数据写入文件系统的日志区;第四步、在建立检查点时,将存储在日志区的随机数据块与元数据一起写入文件系统的数据区。本专利技术基于I/O自适应的文件系统日志模式采取根据需要写入数据块的长度对数据块进行分类,将需要写入的连续数据块写入文件系统的数据区,将需要写入的随机数
据块以及元数据写入文件系统的日志区,在建立检查点时,将随机数据块与元数据写入文件系统的数据区的操作步骤。由于采用了I/O自适应的文件系统日志模式,与传统的文件系统日志模式相比,在保证文件系统一致性情况下,降低了对数据区的写入数据量、减少了写入次数,缩短了文件系统的写请求的响应时间,提高了文件系统的服务质量与性能。附图说明图1为文件系统数据存储示意图。图2为对数据块进行分类的操作流程示意框图。图3为文件系统写入时数据状态变化示意图。图4为文件系统经过检查点之后数据状态示意图。具体实施方式下面结合附图通过具体实施例对本专利技术基于I/O自适应的文件系统日志模式作进一步的详细说明。实施例1:本实施例基于I/O自适应的文件系统日志模式,具体包括以下步骤:第一步、根据需要写入数据块的长度对数据块进行分类:附图1给出了文件系统数据存储示意图。图中的粗线条的方框表示文件系统中的各个区域,整个文件系统分为元数据区M、数据区D以及日志区J三个部分,每个区域中使用细线的小方格来表示一个数据块或者元数据块,元数据区的元数据块标志为M1‐M12,数据区的数据块标志为D1‐D12,日志区可以存储任意位置的数据块。设在某一时刻需要写入的数据块为D1、D2、D3、D6、D8和D11以及元数据M1。本实施例在附图1所示的文件系统结构的基础上进行基于I/O自适应的文件系统日志模式;附图2给出了为对数据块进行分类的操作流程示意框图。在执行附图2中的获取信息步骤①获取所有需要写入的数据块信息时,此时得知数据块D1、D2、D3、D6、D8和D11需要写入,在执行附图2中的请求合并步骤②将连续的数据块请求合并时,数据块D1、D2、D3位置是连续的,所以合并为连续的数据请求。在执行附图2中的添加标记步骤③为数据块添加标记时,对各个数据块设置连续标记或者设置随机标记,由于数据块D1、D2、D3是连续的,所以对D1、D2和D3这三个数据块设置连续标志;数据块D6、D8、D11是随机分散开的,所以对D6、D8和D11这三个数据块设置随机标志;第二步:、将需要写入的连续数据块写入文件系统的数据区:附图3给出了文件系统写入时数据状态变化示意图。在执行附图三将连续数据写入数据区步骤时,文件系统首先将连续的数据块D1、D2和D3连续的写入到数据区,
并等待写入操作完成;第三步、将需要写入的随机数据块、元数据以及事务数据写入文件系统的日志区:在执行附图3中的将随机数据写入日志区步骤时,等连续数据块D1、D2、D3的写入操作完成后,将数据块D6、D8、D11以及元数据块M1一起写入文件系统的日志区,此时写操作完成;第四步、在建立检查点时,将随机数据块与元数据写入文件系统的数据区:附图4给出了文件系统经过检查点之后数据状态示意图。当系统需要创建检查点的时候,系统将保存在日志区的数据块D6、D8、D11以及元数据块M1分别写入到磁盘的数据区以及元数据区。在本实施例中,通过基于I/O自适应的文件系统日志模式,通过自适应的写入方式,将写操作所需要引起的写入次数控制为2次,与传统的顺序模式引起5次写操作相比,在本实施例中减少了3次写操作,缩短了系统写请求完成所需要的时间。本文档来自技高网
...

【技术保护点】
一种基于I/O自适应的文件系统日志模式,其特征在于包括以下步骤:第一步、根据需要写入数据块的长度对数据块进行分类:遍历已经修改的文件内容数据块的集合,将处于连续位置的数据块整理成一个连续的数据块写入,整理完成后根据数据块的长度是否大于特定的阈值将这些数据块分成连续数据块和随机数据块两类,并设置标志位表示这些数据块是连续的‐‐‐‐如果数据块的长度超过阈值时,或者是随机的‐‐‐‐如果数据块的长度小于阈值时;第二步、将需要写入的连续数据块,也就是被标记连续标志的数据块,写入文件系统的数据区;第三步、将需要写入的随机数据块,也就是被标记随机标志的数据块,与元数据以及事务数据写入文件系统的日志区:第四步、在建立检查点时,将存储在日志区的随机数据块与元数据一起写入文件系统的数据区。

【技术特征摘要】
1.一种基于I/O自适应的文件系统日志模式,其特征在于包括以下步骤:第一步、根据需要写入数据块的长度对数据块进行分类:遍历已经修改的文件内容数据块的集合,将处于连续位置的数据块整理成一个连续的数据块写入,整理完成后根据数据块的长度是否大于特定的阈值将这些数据块分成连续数据块和随机数据块两类,并设置标志位表示这些数据块是连续的‐‐‐‐如果数...

【专利技术属性】
技术研发人员:许胤龙魏舒展李永坤吴思陈友旭
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:安徽;34

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

1