[发明专利]一种NFS服务器及其数据写入方法、装置和存储介质在审
申请号: | 202010745376.0 | 申请日: | 2020-07-29 |
公开(公告)号: | CN111881104A | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 张亚奇 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/11;G06F16/172 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 刘志红 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 nfs 服务器 及其 数据 写入 方法 装置 存储 介质 | ||
本发明公开了一种NFS服务器的数据写入方法,包括:获取客户端发送的数据写入指令;其中,数据写入指令包括文件数据;通过mmap内存映射,将文件数据映射到内核缓冲区;将内核缓冲区中的文件数据拷贝到磁盘;本发明在客户端发送写请求时,通过mmap内存映射的使用,将文件数据映射到内核缓冲区,使用户空间可以共享内核空间的数据,减少了内核空间与用户空间之间的数据拷贝,从而提高了数据传输的性能,提升了NFS服务器性能。此外,本发明还公开了一种NFS服务器的数据写入装置、NFS服务器及计算机可读存储介质,同样具有上述有益效果。
技术领域
本发明涉及服务器技术领域,特别涉及一种NFS服务器的数据写入方法、装置、NFS服务器及计算机可读存储介质。
背景技术
NFS(Network File System,网络文件系统)服务器作为服务端对外通过共享目录提供服务,使客户端可以挂载共享目录上来对服务端进行访问数据,对于客户端来说,文件数据的读写带宽是衡量服务端性能的重要指标,在一些业务场景下,比如卫星场景和高性能计算场景,由于数据量较大,读写操作频繁,文件数据的读写带宽是此业务的重大瓶颈,读写带宽的提升迫在眉睫,尤其是多个客户端访问服务端时,服务端性能很容易成为业务的瓶颈。
现有技术中,内核空间(Kernbel space)的缓冲区(Kernbel buffer)与网络套接字的缓冲区(socket buffer)之间的数据传输过程中经过了两次拷贝,如图1所示,客户端将读请求发送给服务端,服务端收到请求后,将数据读取到Kernbel buffer,然后将数据拷贝到用户空间(user space)的缓冲区(user buffer),当要把这些数据发送给客户端时,还需要将数据拷贝到socket buffer;在某些情况下,这些数据拷贝操作会极大地降低数据传输的性能。这其中也涉及到了用户态和内核态的上下文切换,当多个客户端连接服务端,进行读写数据业务操作时,数据量较大时这样就带来了很多不要的耗时,导致服务端性能下降,业务出现卡顿等问题。
因此,如何能够减少数据拷贝次数,提高数据传输的性能,提升NFS服务器性能,是现今急需解决的问题。
发明内容
本发明的目的是提供一种NFS服务器的数据写入方法、装置、NFS服务器及计算机可读存储介质,以减少数据拷贝次数,提高数据传输的性能,提升NFS服务器性能,是现今急需解决的问题。
为解决上述技术问题,本发明提供一种NFS服务器的数据写入方法,包括:
获取客户端发送的数据写入指令;其中,所述数据写入指令包括文件数据;
通过mmap内存映射,将所述文件数据映射到内核缓冲区;
将所述内核缓冲区中的所述文件数据拷贝到磁盘。
可选的,所述数据写入指令为追加写指令时,所述将所述内核缓冲区中的所述文件数据拷贝到磁盘,包括:
将所述内核缓冲区中的所述文件数据传输到追加缓冲区中;其中,所述追加缓冲区为内核空间中所述内核缓冲区之外的缓冲区;
将所述追加缓冲区的所述文件数据拷贝到所述磁盘。
可选的,所述将所述内核缓冲区中的所述文件数据传输到追加缓冲区中,包括:
通过copy_file_range函数,将所述内核缓冲区中的所述文件数据传输到所述追加缓冲区中。
可选的,该方法还包括:
获取所述客户端发送的数据读取指令;其中,所述数据读取指令包括文件信息;
将所述磁盘中存储的所述文件信息对应的读取文件数据拷贝到内核读缓冲区;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010745376.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置