CN103064929B - 一种网络文件系统中服务器写数据的方法 - Google Patents

一种网络文件系统中服务器写数据的方法 Download PDF

Info

Publication number
CN103064929B
CN103064929B CN201210564381.7A CN201210564381A CN103064929B CN 103064929 B CN103064929 B CN 103064929B CN 201210564381 A CN201210564381 A CN 201210564381A CN 103064929 B CN103064929 B CN 103064929B
Authority
CN
China
Prior art keywords
write
server
document
file
data
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.)
Active
Application number
CN201210564381.7A
Other languages
English (en)
Other versions
CN103064929A (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.)
Shenzhen Innovation Software Technology Co., Ltd.
Shenzhen Innovation Technology Co., Ltd.
Original Assignee
CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd
UIT STORAGE TECHNOLOGY (SHENZHEN) 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 CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd, UIT STORAGE TECHNOLOGY (SHENZHEN) Co Ltd filed Critical CHUANGXINKE SOFTWARE TECHNOLOGY (SHENZHEN) Co Ltd
Priority to CN201210564381.7A priority Critical patent/CN103064929B/zh
Publication of CN103064929A publication Critical patent/CN103064929A/zh
Application granted granted Critical
Publication of CN103064929B publication Critical patent/CN103064929B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

本申请公开了一种网络文件系统(NFS)中写数据的方法,包括:在服务器创建文件时,如果该文件需要执行同步写,在文件名称加上第一后缀;如果该文件需要执行异步写,在文件名称加上第二后缀;若服务器设置为异步写,服务器执行写操作前,判断所要写的文件的文件名是否含有第一后缀,若是,对该文件执行同步写操作,否则对该文件执行异步写操作;或者,若服务器设置为同步写,服务器执行写操作前,判断所要写的文件的文件名是否含有第二后缀,若是,对该文件执行异步写操作,否则对该文件执行同步写操作。通过应用本申请技术方案,可以实现在服务器端实现某些文件同步写,同时对另外一些文件异步写。

Description

一种网络文件系统中服务器写数据的方法
技术领域
本申请涉及计算机网络技术领域,尤其涉及一种网络文件系统(NFS,NetworkFileSystem)中服务器写数据的方法。
背景技术
网络文件系统(NFS,NetworkFileSystem)允许一个计算机系统在网络上与其他用户共享目录和文件。NFS至少包括两个主要部分:一台服务器和一台(或者更多)客户端。一台服务器共享目录(提供NFS服务),客户端可将服务器上的共享目录挂载到本地,从而共享信息。客户端通过远程过程调用(RPC)服务获得服务器的提供NFS的端口,并与服务器建立连接。通过使用NFS,本地用户或程序可以像访问本地文件一样访问位于网络远端其他计算机系统上的文件。
NFS提供同步写和异步写两种文件写入模式。
如果客户端处于同步写模式,客户端的写数据立即提交到服务器缓存,同时数据也写入本地缓存。服务器如果是同步写模式,则立即将缓存中的数据写入磁盘,在服务器将数据写入磁盘后,向客户端返回写入成功的信息,客户端才能进行下一次的写数据。服务器端如果是异步写模式,则不立即将缓存数据写入磁盘,而是在随后某时间将数据写入磁盘(写入数据的时机是由服务器系统的pdflush进程完成的,pdflush进程是为了将脏数据写回的工作进程),但服务器迅速向客户端返回写入成功的信息,客户端可以继续下一次的写数据。
如果客户端处于异步写模式,客户端的写数据写入本地缓存,在本地缓存需要强行输出(flush)的时候由客户端的pdflush系统进程将数据写入到服务器的缓存。服务器如果是同步写模式,则立即将缓存中的数据写入磁盘,在服务器将数据写入磁盘后,向客户端返回写入成功的信息,客户端才能进行下一次的写数据。服务器端如果是异步写模式,则不立即将缓存数据写入磁盘,而是在随后某时间将缓存中的数据写入磁盘(写入数据的时机是由服务器系统的pdflush进程完成的,pdflush进程是为了将脏数据写回的工作进程),但服务器迅速向客户端返回写入成功的信息,客户端可以继续下一次的写数据。
现有技术中,NFS需要配置服务器是同步写还是异步写时,只能配置一种模式,配置完成后NFS服务端对所有的文件写数据都是按照同一种模式写数据,比如配置为同步写,所有的文件都同步写,配置异步写,所有的文件都采用异步写,不能实现某些文件同步写,同时对另外一些文件异步写的需求。例如,客户业务中会有多种类型的文件,有些文件存放关键数据(比如元数据),有的文件只是存放一般数据,这种情况下,希望关键数据可以同步存放到磁盘,一般数据文件就异步写。
发明内容
本申请提供了一种NFS中服务器写数据的方法,可以实现在服务器端实现某些文件同步写,同时对另外一些文件异步写。
本申请实施例提供的一种NFS中写数据的方法,包括:
在服务器创建文件时,如果该文件需要执行同步写,在文件名称加上第一后缀;如果该文件需要执行异步写,在文件名称加上第二后缀;
若服务器设置为异步写,服务器执行写操作前,判断所要写的文件的文件名是否含有第一后缀,若是,对该文件执行同步写操作,否则对该文件执行异步写操作;或者,若服务器设置为同步写,服务器执行写操作前,判断所要写的文件的文件名是否含有第二后缀,若是,对该文件执行异步写操作,否则对该文件执行同步写操作。
较佳地,所述第一后缀为“.s”。
较佳地,所述第二后缀为“.a”。
较佳地,所述同步写操作为:服务器立即将缓存中的数据写入磁盘,在服务器将数据写入磁盘后,向客户端返回写入成功的信息。
较佳地,所述异步写操作为:服务器立即向客户端返回写入成功的信息,并在随后由pdflush进程将缓存中的数据写入磁盘。
从以上技术方案可以看出,通过在文件名加上特殊后缀的方式区别对文件执行同步写还是异步写,可以根据需要实现某些指定的文件在NFS服务器同步写磁盘,某些文件异步写磁盘。
附图说明
图1为本申请提出的NFS中服务器写数据的方法流程图。
具体实施方式
根据NFS服务器写文件的特点,本申请提出一种根据文件名称区分文件是异步写还是同步写方法,本方法可以根据需要实现某些指定的文件在NFS服务器同步写磁盘,某些文件异步写磁盘。
本申请提出的NFS中服务器写数据的方法流程如图1所示,包括如下步骤:
步骤101:在服务器创建文件时,如果该文件需要执行同步写,在文件名称加上第一后缀;如果该文件需要执行异步写,在文件名称加上第二后缀;
步骤102:若服务器设置为异步写,服务器执行写操作前,判断所要写的文件的文件名是否含有第一后缀,若是,对该文件执行同步写操作,否则对该文件执行异步写操作;或者,若服务器设置为同步写,服务器执行写操作前,判断所要写的文件的文件名是否含有第二后缀,若是,对该文件执行异步写操作,否则对该文件执行同步写操作。
为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
在创建文件时,根据需求,该文件是需要同步写,还是异步写,如果同步写,在文件名称加上后缀“.s”,举例“file.s”,如果需要异步写,文件名称加上后缀”.a”(不区分大小写),例如“file.a”。
如果NFS服务器设置为异步写,则服务器每次执行写请求的时候,都会根据该文件名称后缀判断该文件是否需要执行同步写,如果该文件的后缀名称是“.s”(不区分大小写),NFS执行写操作的时候,就在调用系统vfs层写函数vfs_writev时,在这个函数中加上同步写标示(O_SYNC),执行同步写操作,否则执行异步写。
如果NFS服务器设置为同步写,服务程序每次执行写请求时候,如果文件后缀为”.a”,NFS执行写文件数据时候,去除写文件的O_SYNC标识,使该文件执行异步写操作,否则执行同步写。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (4)

1.一种网络文件系统NFS中写数据的方法,其特征在于,包括:
在服务器创建文件时,如果该文件需要执行同步写,在文件名称加上第一后缀;如果该文件需要执行异步写,在文件名称加上第二后缀;所述同步写为立即将缓存中的数据写入磁盘,在服务器将数据写入磁盘后,向客户端返回写入成功的信息,客户端才能进行下一次的写数据;所述异步写为:则不立即将缓存数据写入磁盘,而是在随后某时间将数据写入磁盘,但服务器迅速向客户端返回写入成功的信息,客户端可以继续下一次的写数据;
若服务器设置为异步写,服务器执行写操作前,判断所要写的文件的文件名是否含有第一后缀,若是,则在调用系统vfs层写函数vfs_writev时,在该函数中加入同步写标识,对该文件执行同步写操作,否则对该文件执行异步写操作;或者,若服务器设置为同步写,服务器执行写操作前,判断所要写的文件的文件名是否含有第二后缀,若是,则去除写文件的同步写标识,对该文件执行异步写操作,否则对该文件执行同步写操作。
2.根据权利要求1所述的方法,其特征在于,所述第一后缀为“.s”。
3.根据权利要求1所述的方法,其特征在于,所述第二后缀为“.a”。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述异步写操作为:服务器立即向客户端返回写入成功的信息,并在随后由pdflush进程将缓存中的数据写入磁盘。
CN201210564381.7A 2012-12-24 2012-12-24 一种网络文件系统中服务器写数据的方法 Active CN103064929B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210564381.7A CN103064929B (zh) 2012-12-24 2012-12-24 一种网络文件系统中服务器写数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210564381.7A CN103064929B (zh) 2012-12-24 2012-12-24 一种网络文件系统中服务器写数据的方法

Publications (2)

Publication Number Publication Date
CN103064929A CN103064929A (zh) 2013-04-24
CN103064929B true CN103064929B (zh) 2016-06-29

Family

ID=48107559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210564381.7A Active CN103064929B (zh) 2012-12-24 2012-12-24 一种网络文件系统中服务器写数据的方法

Country Status (1)

Country Link
CN (1) CN103064929B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104731533B (zh) * 2015-03-31 2018-06-05 百度在线网络技术(北京)有限公司 数据写入方法和装置
CN104991745B (zh) * 2015-07-21 2018-06-01 浪潮(北京)电子信息产业有限公司 一种存储系统数据写入方法和系统
CN105630413B (zh) * 2015-12-23 2018-09-28 中国科学院深圳先进技术研究院 一种磁盘数据的同步回写方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216850A (zh) * 2008-01-11 2008-07-09 清华大学 文件系统访问记录的动态采集方法
US7412496B2 (en) * 2003-08-22 2008-08-12 Emc Corporation Management of the file-modification time attribute in a multi-processor file server system
CN102136003A (zh) * 2011-03-25 2011-07-27 上海交通大学 大规模分布式存储系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412496B2 (en) * 2003-08-22 2008-08-12 Emc Corporation Management of the file-modification time attribute in a multi-processor file server system
CN101216850A (zh) * 2008-01-11 2008-07-09 清华大学 文件系统访问记录的动态采集方法
CN102136003A (zh) * 2011-03-25 2011-07-27 上海交通大学 大规模分布式存储系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"集群环境中影响NFS文件系统带宽的测试与分析";曹立强 等;《计算机工程》;20071031;第33卷(第19期);125-127 *

Also Published As

Publication number Publication date
CN103064929A (zh) 2013-04-24

Similar Documents

Publication Publication Date Title
CN103179185B (zh) 一种分布式文件系统客户端缓存中文件创建方法及其系统
CN103858109B (zh) 信息处理系统及使用该信息处理系统的文件恢复方法
US9235594B2 (en) Synchronizing updates across cluster filesystems
US8495250B2 (en) Asynchronous file operations in a scalable multi-node file system cache for a remote cluster file system
CN103379159B (zh) 一种分布式Web站点数据同步的方法
CN105183839A (zh) 一种基于Hadoop的小文件分级索引的存储优化方法
CN102843436B (zh) 一种设备管理方法、设备、服务器以及系统
CN102541984B (zh) 一种分布式文件系统客户端的文件系统的实现方法
CN106294585A (zh) 一种云计算平台下的存储方法
WO2006029032A3 (en) Methods, systems, and computer program products for implementing single-node and cluster snapshots
CN103002027A (zh) 基于键值对系统实现树形目录结构的数据存储系统及方法
WO2011023134A1 (en) Method and system for managing distributed storage system through virtual file system
CN102272751B (zh) 在数据库环境通过背景同步的数据完整性
CN103294731A (zh) 实时索引建立、实时搜索方法及装置
CN103795801A (zh) 一种基于实时应用集群的元数据集群设计方法
WO2015051641A1 (zh) 一种磁盘镜像空间回收的方法及装置
CN103744875B (zh) 基于文件系统的数据快速迁移方法及系统
US9122689B1 (en) Recovering performance of a file system post-migration
US10152493B1 (en) Dynamic ephemeral point-in-time snapshots for consistent reads to HDFS clients
CN103067519A (zh) 一种异构平台下数据分布存储的方法及装置
CN103064929B (zh) 一种网络文件系统中服务器写数据的方法
CN102523301A (zh) 一种云存储中在客户端缓存数据的方法
CN104021137A (zh) 一种基于目录授权的客户端本地开闭文件的方法及系统
CN105828017A (zh) 一种面向视频会议的云存储接入系统及方法
CN105653566B (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
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 518057 Shenzhen Software Park, No. 9, 501, 502, Science and Technology Middle Road, Nanshan District, Shenzhen City, Guangdong Province

Co-patentee after: Shenzhen Innovation Software Technology Co., Ltd.

Patentee after: Shenzhen Innovation Technology Co., Ltd.

Address before: 518057 Shenzhen Software Park, No. 9, 501, 502, Science and Technology Middle Road, Nanshan District, Shenzhen City, Guangdong Province

Co-patentee before: Chuangxinke Software Technology (Shenzhen) Co., Ltd.

Patentee before: UIT Storage Technology (Shenzhen) Co., Ltd.

CP01 Change in the name or title of a patent holder