一种网络文件系统中服务器写数据的方法技术方案

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

【技术实现步骤摘要】
—种网络文件系统中服务器写数据的方法
本申请涉及计算机网络
,尤其涉及一种网络文件系统(NFS, Network File System)中服务器写数据的方法。
技术介绍
网络文件系统(NFS,Network File System)允许一个计算机系统在网络上与其他 用户共享目录和文件。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时,在这个函数中加上同步写标示(0_SYNC),执行同步写操作,否则执行异步写。如果NFS服务器设置为同步写,服务程序每次执行写请求时候,如果文件后缀 为” .a”,NFS执行写文件数据时候,去除写文件的0_SYNC标识,使该文件执行异步写操作, 否则执行同步写。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在 本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申 请保护的范围之内。本文档来自技高网
...

【技术保护点】
一种网络文件系统NFS中写数据的方法,其特征在于,包括:在服务器创建文件时,如果该文件需要执行同步写,在文件名称加上第一后缀;如果该文件需要执行异步写,在文件名称加上第二后缀;若服务器设置为异步写,服务器执行写操作前,判断所要写的文件的文件名是否含有第一后缀,若是,对该文件执行同步写操作,否则对该文件执行异步写操作;或者,若服务器设置为同步写,服务器执行写操作前,判断所要写的文件的文件名是否含有第二后缀,若是,对该文件执行异步写操作,否则对该文件执行同步写操作。

【技术特征摘要】
1.一种网络文件系统NFS中写数据的方法,其特征在于,包括在服务器创建文件时,如果该文件需要执行同步写,在文件名称加上第一后缀;如果该文件需要执行异步写,在文件名称加上第二后缀;若服务器设置为异步写,服务器执行写操作前,判断所要写的文件的文件名是否含有第一后缀,若是,对该文件执行同步写操作,否则对该文件执行异步写操作;或者,若服务器设置为同步写,服务器执行写操作前,判断所要写的文件的文件名是否含有第二后缀,若是,对该文件执行异步写操作,否则对该文件...

【专利技术属性】
技术研发人员:金振成
申请(专利权)人:创新科存储技术深圳有限公司创新科软件技术深圳有限公司
类型:发明
国别省市:

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

1