CN105956090A - 一种基于i/o自适应的文件系统日志模式 - Google Patents
一种基于i/o自适应的文件系统日志模式 Download PDFInfo
- Publication number
- CN105956090A CN105956090A CN201610284434.8A CN201610284434A CN105956090A CN 105956090 A CN105956090 A CN 105956090A CN 201610284434 A CN201610284434 A CN 201610284434A CN 105956090 A CN105956090 A CN 105956090A
- Authority
- CN
- China
- Prior art keywords
- data block
- file system
- data
- write
- random
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于I/O自适应的文件系统日志模式,特征是采取根据需要写入数据块的长度对数据块进行分类,将需要写入的连续数据块写入文件系统的数据区,将需要写入的随机数据块以及元数据写入文件系统的日志区,在建立检查点时,将随机数据块与元数据写入文件系统的数据区的操作步骤。由于采用了I/O自适应的文件系统日志模式,与传统的文件系统日志模式相比,在保证文件系统一致性情况下,降低了对数据区的写入数据量与写入次数,缩短了文件系统的写请求的响应时间,提高文件系统的服务质量与性能。
Description
技术领域
本发明属于计算机文件系统技术领域,具体涉及数据写入文件系统时的写入方式选择的方法。
背景技术
美国计算机协会出版的《第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次写操作,缩短了系统写请求完成所需要的时间。
Claims (1)
1.一种基于I/O自适应的文件系统日志模式,其特征在于包括以下步骤:
第一步、根据需要写入数据块的长度对数据块进行分类:
遍历已经修改的文件内容数据块的集合,将处于连续位置的数据块整理成一个连续的数据块写入,整理完成后根据数据块的长度是否大于特定的阈值将这些数据块分成连续数据块和随机数据块两类,并设置标志位表示这些数据块是连续的‐‐‐‐如果数据块的长度超过阈值时,或者是随机的‐‐‐‐如果数据块的长度小于阈值时;
第二步、将需要写入的连续数据块,也就是被标记连续标志的数据块,写入文件系统的数据区;
第三步、将需要写入的随机数据块,也就是被标记随机标志的数据块,与元数据以及事务数据写入文件系统的日志区:
第四步、在建立检查点时,将存储在日志区的随机数据块与元数据一起写入文件系统的数据区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610284434.8A CN105956090B (zh) | 2016-04-27 | 2016-04-27 | 一种基于i/o自适应的日志文件系统数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610284434.8A CN105956090B (zh) | 2016-04-27 | 2016-04-27 | 一种基于i/o自适应的日志文件系统数据存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105956090A true CN105956090A (zh) | 2016-09-21 |
CN105956090B CN105956090B (zh) | 2019-06-11 |
Family
ID=56914299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610284434.8A Active CN105956090B (zh) | 2016-04-27 | 2016-04-27 | 一种基于i/o自适应的日志文件系统数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105956090B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502587A (zh) * | 2016-10-19 | 2017-03-15 | 华为技术有限公司 | 磁盘数据管理方法和磁盘控制装置 |
CN107967122A (zh) * | 2017-11-22 | 2018-04-27 | 郑州云海信息技术有限公司 | 一种块设备的数据写入方法、装置及介质 |
CN109828862A (zh) * | 2017-11-23 | 2019-05-31 | 成都华为技术有限公司 | 一种回放日志的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1755673A (zh) * | 2004-09-30 | 2006-04-05 | 株式会社东芝 | 具备文件管理功能的文件系统及文件管理方法 |
EP1221646A3 (en) * | 2001-01-09 | 2008-07-23 | Kabushiki Kaisha Toshiba | Disk control system and method |
CN101364218A (zh) * | 2007-08-10 | 2009-02-11 | 深圳市锐明视讯技术有限公司 | 一种硬盘录像机文件系统及其检查方法 |
CN101937319A (zh) * | 2009-06-29 | 2011-01-05 | 联发科技股份有限公司 | 存储器系统及其映射方法 |
-
2016
- 2016-04-27 CN CN201610284434.8A patent/CN105956090B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1221646A3 (en) * | 2001-01-09 | 2008-07-23 | Kabushiki Kaisha Toshiba | Disk control system and method |
CN1755673A (zh) * | 2004-09-30 | 2006-04-05 | 株式会社东芝 | 具备文件管理功能的文件系统及文件管理方法 |
CN101364218A (zh) * | 2007-08-10 | 2009-02-11 | 深圳市锐明视讯技术有限公司 | 一种硬盘录像机文件系统及其检查方法 |
CN101937319A (zh) * | 2009-06-29 | 2011-01-05 | 联发科技股份有限公司 | 存储器系统及其映射方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502587A (zh) * | 2016-10-19 | 2017-03-15 | 华为技术有限公司 | 磁盘数据管理方法和磁盘控制装置 |
CN106502587B (zh) * | 2016-10-19 | 2019-10-25 | 华为技术有限公司 | 硬盘数据管理方法和硬盘控制装置 |
CN107967122A (zh) * | 2017-11-22 | 2018-04-27 | 郑州云海信息技术有限公司 | 一种块设备的数据写入方法、装置及介质 |
CN109828862A (zh) * | 2017-11-23 | 2019-05-31 | 成都华为技术有限公司 | 一种回放日志的方法和装置 |
CN109828862B (zh) * | 2017-11-23 | 2023-08-22 | 成都华为技术有限公司 | 一种回放日志的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105956090B (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101908073B (zh) | 一种文件系统中实时删除重复数据的方法 | |
US20160048341A1 (en) | Optimized data placement for individual file accesses on deduplication-enabled sequential storage systems | |
US9996557B2 (en) | Database storage system based on optical disk and method using the system | |
CN105335098A (zh) | 一种基于存储级内存的日志文件系统性能提高方法 | |
CN105183839A (zh) | 一种基于Hadoop的小文件分级索引的存储优化方法 | |
CN102831069B (zh) | 内存处理方法、内存管理设备 | |
CN103246609B (zh) | 一种闪存存储设备中冷热数据区分管理的方法及装置 | |
CN107729558A (zh) | 文件系统碎片整理的方法、系统、装置及计算机存储介质 | |
CN103514258B (zh) | 一种基于离线缓存文件操作集中记录预处理并重放的方法 | |
US9684664B2 (en) | Elimination of fragmentation of files in storage medium by utilizing head movement time | |
CN106469123A (zh) | 一种基于nvdimm的写缓存分配、释放方法及其装置 | |
CN105956090A (zh) | 一种基于i/o自适应的文件系统日志模式 | |
CN102637147A (zh) | 利用固态硬盘作为计算机写缓存的存储系统以及相应的管理调度方法 | |
CN102184229A (zh) | 一种海量rfid标签信息的内存数据存储方法 | |
CN104239438A (zh) | 基于分离存储的文件信息存储方法和文件信息读写方法 | |
CN102306124A (zh) | Nand Flash芯片硬件驱动层的实现方法 | |
CN108959526A (zh) | 日志管理方法以及日志管理装置 | |
CN103729149A (zh) | 一种存储数据的方法 | |
CN104050057A (zh) | 一种历史感知的数据去重碎片消除方法与系统 | |
WO2023185111A1 (zh) | 一种数据文件的快速存取方法及装置 | |
CN110019063A (zh) | 计算节点数据容灾回放的方法、终端设备及存储介质 | |
CN103984508A (zh) | 基于飞腾处理器平台的raid多线程并发读写方法 | |
CN112506860A (zh) | 基于区块链的协同审计方法、装置及系统 | |
CN103176868B (zh) | 一种文件状态备份方法 | |
CN102479232A (zh) | 文件分类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |