CN102609485B - 基于Linux文件系统的NFS数据I/O加速方法 - Google Patents

基于Linux文件系统的NFS数据I/O加速方法 Download PDF

Info

Publication number
CN102609485B
CN102609485B CN2012100182570A CN201210018257A CN102609485B CN 102609485 B CN102609485 B CN 102609485B CN 2012100182570 A CN2012100182570 A CN 2012100182570A CN 201210018257 A CN201210018257 A CN 201210018257A CN 102609485 B CN102609485 B CN 102609485B
Authority
CN
China
Prior art keywords
nfs
data
buffer zone
file system
buffer
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.)
Expired - Fee Related
Application number
CN2012100182570A
Other languages
English (en)
Other versions
CN102609485A (zh
Inventor
张庆敏
张衡
胡刚
谢海威
吴清秀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi North Data Computing Co ltd
Original Assignee
WUXI SOUL DATA COMPUTING Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WUXI SOUL DATA COMPUTING Co Ltd filed Critical WUXI SOUL DATA COMPUTING Co Ltd
Priority to CN2012100182570A priority Critical patent/CN102609485B/zh
Publication of CN102609485A publication Critical patent/CN102609485A/zh
Application granted granted Critical
Publication of CN102609485B publication Critical patent/CN102609485B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种计算机存储技术,是一种基于Linux文件系统的NFS数据I/O加速方法,方法是:在物理存储中划出一个区域作为缓冲区,在RPC层实现一个NFS解析模块,对每一个NFS请求包进行解析。对于每一个NFS写请求的包,从缓冲区中分配出相应的内存,把NFS数据包接收到缓冲区中。当缓冲区满足本方案提出的条件时,先激活缓冲区,然后开始刷新缓冲区。本发明可以减少物理存储介质的I/O次数,并且通过缓冲区保证数据地址的连续性,提高I/O性能。

Description

基于Linux文件系统的NFS数据I/O加速方法
技术领域
本发明涉及计算机数据存储技术,特别是一种Linux的网络文件系统(NFS)数据的读写(I/O)方法。
背景技术
网络文件系统(NFS,Network File System的简写)是FreeBSD支持的文件系统中的一种,允许一个系统在网络上与他人共享目录和文件。现有Linux系统下的NFS进行数据读写是通过远程过程调用协议(RPC,Remote Procedure Call Protocol的简写,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。)请求实现的,每个RPC包中都带有NFS请求/响应包。典型的NFS数据流模型如图1所示的:每个NFS请求包都包含RPC包头信息,先经过RPC层,RPC层接收完整的RPC包,解析出NFS包,然后传到NFS 层,再解析NFS请求的指令,最后由虚拟文件系统层(Virtual File System 、VFS)执行相应的存入或读取动作。这样,每次I/O,都要从系统中分配内存,并且物理存储介质会有一次以上I/O操作,性能较低。
发明内容
本发明的目的为了克服背景技术所说的现有Linux系统NFS数据I/O的缺陷,发明一种速度更快、效率更高的I/O方法。
本发明的方法是,使用连续的物理内存当作NFS的I/O缓冲区(cache);RPC层接收数据包时,边接收边解析,解析出每个数据包中NFS写请求的包,确定是NFS数据包开始接收其数据段时,从NFS的I/O缓冲区(cache)中分配所需的内存,并将NFS数据段接收到该缓冲区内;从NFS的I/O缓冲区分配内存时,目标地址连续的NFS数据分配连续的内存,多个连续的NFS数据组合到一个连续的物理内存里面;当累积到如下条件之一时,一次性把一段连续物理内存的整段数据刷到物理存储介质中:
(1)   当缓冲区快填满时;
(2)   当请求中的目标逻辑地址与缓冲区中已填入的数据地址不连续时;
(3)   超过设定的时间上限,没有新的请求,而缓冲区中仍有数据时;
数据刷入物理存储介质以后清空NFS的I/O缓冲区。
为了防止缓冲区正在刷数据时,外部请求暂时无法分配到缓冲区内存,优选方案是:同时使用多个缓冲区,每一时刻,只有一个缓冲区处于活动状态(Active),分配内存都优先从活动状态的缓冲区分配,当该缓冲区要刷新数据时,激活下一个缓冲区,多个缓冲区依次循环使用。
本发明的方法,可以明显减少物理存储设备的I/O次数,降低能耗,提高速度;同时,本发明方法将小的请求包数据通过缓冲区累积形成大块的数据进行I/O操作,可以提高性能。
附图说明
图1,现有技术的NFS数据流图示意图;
图2,本发明方法的流程模型图。
具体实施方式
本发明方法仅涉及使用标准RPC协议的网络文件系统(NFS)数据在RPC协议层的接收到存储至物理存储介质的I/O流程,而不涉及现有技术中的数据传输的其他过程。除本发明所述的这部分流程以外,其他流程照样可以使用现有方法实现而没有冲突。
如图2的原理模型,数据流依然经过RPC层、NFS层和VFS层,最后将储存到物理存储介质,本发明所述的数据I/O就在这部分完成。一个NFS数据请求包括有RPC字头(RPC Header)、NFS字头(NFS Header)和需要I/O的数据段。
在RPC层中实现了一个NFS解析模块,边接收边解析。另一方面,在物理存储介质中,分配出NFS的I/O缓冲区(NFS Cache),这里根据需要设置有多个I/O缓冲区:缓冲区0(NFS Cache0)、缓冲区1(NFS Cache1)……多个I/O缓冲区一次循环使用。接收到的I/O数据段,检查是否需要写入I/O缓冲区,是的话则写入;同时,还判断是否需要切换I/O缓冲区。连续的数据写入I/O缓冲区的连续内存地址,当满足下列三种条件之一的情况,则将积累的一段数据以直接I/O方式刷入物理存储介质。这三种情况是:1,当前I/O缓冲区填满,无法写入新数据;2,当请求中的目标逻辑地址与缓冲区中已填入的数据地址不连续时,也就是说不是连续地址数据,无法形成连续数据不能累计成大段数据;3,超过预先设定的时间上限,一直没有新的请求下来,而缓冲区中仍有数据;这是说明数据传输停止的情况。
数据刷到物理存储介质(如磁盘)以后,清空当前使用的I/O缓冲区,重新开始本发明方法的流程。
多个I/O缓冲区循环依次使用是指在数据写入I/O缓冲区的时候,其他外部请求无法使用该段分配内存造成堵塞,降低I/O效率;每次只有一个I/O缓冲区被激活(Active)使用,前述切换I/O缓冲区的情况即是基于此产生。

Claims (2)

1.基于Linux文件系统的NFS数据I/O加速方法,其特征是:使用连续的物理内存当作NFS的I/O缓冲区;RPC层接收数据包时,边接收边解析,解析出每个数据包中NFS写请求的包,确定是NFS数据包开始接收其数据段时,从NFS的I/O缓冲区中分配所需的内存,并将NFS数据段接收到该缓冲区内;从NFS的I/O缓冲区分配内存时,目标地址连续的NFS数据分配连续的内存,多个连续的NFS数据组合到一个连续的物理内存里面;当累积到如下条件之一时,一次性把一段连续物理内存的整段数据刷到物理存储介质中:
1,当缓冲区快填满时;
2,当请求中的目标逻辑地址与缓冲区中已填入的数据地址不连续时;
3,超过设定的时间上限,没有新的请求,而缓冲区中仍有数据时;
数据刷入物理存储介质以后清空NFS的I/O缓冲区。
2.根据权利要求1所述的基于Linux文件系统的NFS数据I/O加速方法,其特征是:同时使用多个I/O缓冲区,每一时刻,只有一个I/O缓冲区处于活动状态,分配内存都优先从活动状态的I/O缓冲区分配,当该缓冲区要刷新数据时,激活下一个缓冲区,多个缓冲区依次循环使用。
CN2012100182570A 2012-01-20 2012-01-20 基于Linux文件系统的NFS数据I/O加速方法 Expired - Fee Related CN102609485B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012100182570A CN102609485B (zh) 2012-01-20 2012-01-20 基于Linux文件系统的NFS数据I/O加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012100182570A CN102609485B (zh) 2012-01-20 2012-01-20 基于Linux文件系统的NFS数据I/O加速方法

Publications (2)

Publication Number Publication Date
CN102609485A CN102609485A (zh) 2012-07-25
CN102609485B true CN102609485B (zh) 2013-11-13

Family

ID=46526857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100182570A Expired - Fee Related CN102609485B (zh) 2012-01-20 2012-01-20 基于Linux文件系统的NFS数据I/O加速方法

Country Status (1)

Country Link
CN (1) CN102609485B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110865989A (zh) * 2019-11-22 2020-03-06 浪潮电子信息产业股份有限公司 一种大规模计算集群的业务处理方法
CN111767257B (zh) * 2020-06-28 2024-05-31 北京星辰天合科技股份有限公司 基于fuse文件系统和nfs协议的数据传输方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763226A (zh) * 2010-01-19 2010-06-30 北京航空航天大学 一种虚拟存储设备的缓存方法
CN102053929A (zh) * 2010-12-17 2011-05-11 天津曙光计算机产业有限公司 一种基于Linux系统DM层的IO缓存操作方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763226A (zh) * 2010-01-19 2010-06-30 北京航空航天大学 一种虚拟存储设备的缓存方法
CN102053929A (zh) * 2010-12-17 2011-05-11 天津曙光计算机产业有限公司 一种基于Linux系统DM层的IO缓存操作方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
欧军,吴清秀,白晓波.基于Linux的vsFTPd服务的构建.《信息与电脑》.2011, *

Also Published As

Publication number Publication date
CN102609485A (zh) 2012-07-25

Similar Documents

Publication Publication Date Title
US10705974B2 (en) Data processing method and NVME storage device
US9747318B2 (en) Retrieving data in a storage system using thin provisioning
WO2018119901A1 (zh) 存储系统和固态硬盘
US10795599B2 (en) Data migration method, host and solid state disk
US7937522B2 (en) Method for flash memory data management
AU2003286967B2 (en) Dual journaling store method and storage medium thereof
CN103559146B (zh) 一种提高NAND flash控制器读写速度的方法
CN101344861B (zh) 一种智能卡内存管理方法
CN103077132B (zh) 一种高速缓存处理方法及协议处理器高速缓存控制单元
CN105389376B (zh) 基于连续块的无碎片化多媒体数据存储方法及系统
CN104866428A (zh) 数据存取方法和数据存取装置
US20160170656A1 (en) Implementing enhanced performance flash memory devices
WO2016176807A1 (zh) 一种dram刷新方法、装置和系统
CN103902475A (zh) 一种基于队列管理机制的固态硬盘并行访问方法及装置
WO2016127291A1 (zh) 内存管理装置和方法
KR20140146458A (ko) 메모리 관리 방법 및 장치
CN109086168A (zh) 一种利用硬件备份固态硬盘写速度的方法及其系统
CN110515550A (zh) 一种sata固态硬盘冷热数据分离的方法及其装置
CN102609485B (zh) 基于Linux文件系统的NFS数据I/O加速方法
WO2016188373A1 (zh) 存储系统中融合san及nas存储架构的方法及装置
CN102096679A (zh) 一种索引段合并和写入磁盘的方法及装置
CN113377288B (zh) 硬件队列管理系统、方法、固态硬盘控制器及固态硬盘
JP2013200868A (ja) 動的に適応されるキャッシュ格納のためのシステム
CN101923513B (zh) 存储器的数据写读方法、系统和flash存储器
CN102063383B (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
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 214000 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Jiangsu Software Outsourcing Industrial Park Building 6 layer A Taurus

Applicant after: SOUL STORAGE TECHNOLOGY WUXI Co.,Ltd.

Address before: 214000 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Jiangsu Software Outsourcing Industrial Park Building 6 layer A Taurus

Applicant before: SOUL Storage Technology(Wuxi )Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: WUXI SOUL STORAGE TECHNOLOGY CO., LTD. TO: SOUL STORAGE TECHNOLOGY UXI O., LTD.

C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 214000 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Jiangsu Software Outsourcing Industrial Park Building 6 layer A Taurus

Applicant after: WUXI SOUL DATA COMPUTING Co.,Ltd.

Address before: 214000 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Jiangsu Software Outsourcing Industrial Park Building 6 layer A Taurus

Applicant before: SOUL STORAGE TECHNOLOGY WUXI Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SOUL STORAGE TECHNOLOGY UXI O., LTD. TO: SOUL DATA COMPUTING (WUXI) CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 214000 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Jiangsu Software Outsourcing Industrial Park Building 6 layer A Taurus

Patentee after: WUXI NORTH DATA COMPUTING CO.,LTD.

Address before: 214000 Jiangsu Province, Wuxi City District Zhenze Road No. 18 Jiangsu Software Outsourcing Industrial Park Building 6 layer A Taurus

Patentee before: WUXI SOUL DATA COMPUTING Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131113

Termination date: 20220120

CF01 Termination of patent right due to non-payment of annual fee