CN105512286B - 一种读写数据免拷贝系统与方法 - Google Patents
一种读写数据免拷贝系统与方法 Download PDFInfo
- Publication number
- CN105512286B CN105512286B CN201510894367.7A CN201510894367A CN105512286B CN 105512286 B CN105512286 B CN 105512286B CN 201510894367 A CN201510894367 A CN 201510894367A CN 105512286 B CN105512286 B CN 105512286B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- buffer pool
- shared buffer
- network communication
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004891 communication Methods 0.000 claims abstract description 72
- 238000006243 chemical reaction Methods 0.000 claims abstract description 57
- 230000003139 buffering effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种读写数据免拷贝系统和方法,系统包括:网络通信模块、共享缓存池模块和NAS协议转换模块,网络通信模块直接将数据请求数据放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池中的请求数据进行格式转换,所述网络通信模块直接将所述共享缓存池中格式转换后的请求数据发送至目的端,使用共享缓存池模块直接进行网络数据的缓存,网络通信模块和NAS协议转换模块可以直接使用共享缓存池模块中的数据,无需再次拷贝,实现了读写数据缓存的零拷贝,减少了网络延时,用户体验好。
Description
技术领域
本发明涉及分布式存储领域,特别是涉及一种读写数据免拷贝系统与方法。
背景技术
分布式文件系统具有良好的扩展性能、快速自愈能力及低廉的成本等诸多优点,但是由于分布式系统的技术特点决定,客户应用只能通过网关等转换节点才能够接入系统,实现网络协议的转换,一般分布式文件系统使用网络附属存储NAS网关,NAS服务是存储扩展的行业标准,已经广泛的应用到各个领域,但是在NAS网关进行文件读写涉及多次数据拷贝才能完成数据的转发,造成了网络延时,影响了用户体验。
发明内容
有鉴于此,本发明的主要目的在于提供一种读写数据免拷贝系统和方法,可以实现读写数据的零拷贝。
为实现上述目的,本发明提供了一种读写数据免拷贝系统,包括:
网络通信模块、共享缓存池模块和NAS协议转换模块;
所述共享缓存池模块用于进行网络数据发送或接收的数据缓存;
所述网络通信模块与所述共享缓存池模块相连接,用于直接使用所述共享缓存池进行网络数据的接收或发送;
所述NAS协议转换模块与所述共享缓存池模块相连接,用于直接将所述共享缓存池模块中的网络数据进行NAS通信格式与分布式文件系统通信格式之间的互相转换。
优选地,所述网络通信模块还与客户端和分布式文件系统均相连接。
本发明还提供了一种读写数据免拷贝方法,包括:
网络通信模块直接将数据请求数据放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池中的请求数据进行格式转换,所述网络通信模块直接将所述共享缓存池中格式转换后的请求数据发送至目的端。
优选地,所述数据请求包括读数据和写数据。
优选地,网络通信模块直接将数据请求数据放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池中的请求数据进行格式转换,所述网络通信模块直接将所述共享缓存池中格式转换后的请求数据发送至目的端包括:
当网络通信模块识别到客户端的写数据请求时,将所述写数据请求放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池模块中的所述写数据请求,将所述写数据请求的格式转换为分布式文件系统通信格式,所述网络通信模块直接将所述共享缓存池模块中的格式转换后的写数据请求发送至分布式文件系统;
当网络通信模块识别到客户端的读数据请求时,将所述读数据请求放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池模块中的所述读数据请求,将所述读数据请求的格式转换为分布式文件系统通信格式,所述网络通信模块直接将所述共享缓存池模块中的格式转换后的读数据请求发送至分布式文件系统,当分布式文件系统返回数据时,所述网络通信模块将所述返回数据放入所述共享缓存池模块,所述NAS协议转换模块直接引用所述共享缓存池模块中的所述返回数据,将所述返回数据的格式转换为NAS通信格式,所述网络通信模块直接将所述共享缓存池模块中的格式转换后的返回数据返回客户端。
优选地,网络通信模块直接将数据请求数据放入共享缓存池模块之前还包括:
初始化共享缓存池模块,加载网络通信模块,启动NAS协议转换模块。
应用本发明提供的一种读写数据免拷贝系统和方法,系统包括:网络通信模块、共享缓存池模块和NAS协议转换模块,网络通信模块直接将数据请求数据放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池中的请求数据进行格式转换,所述网络通信模块直接将所述共享缓存池中格式转换后的请求数据发送至目的端,使用共享缓存池模块直接进行网络数据的缓存,网络通信模块和NAS协议转换模块可以直接使用共享缓存池模块中的数据,无需再次拷贝,实现了读写数据缓存的零拷贝,减少了网络延时,用户体验好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明一种读写数据免拷贝系统实施例的结构示意图;
图2为本发明一种读写数据免拷贝系统实施例的应用结构示意图;
图3为本发明一种读写数据免拷贝系统实施例的详细结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种读写数据免拷贝系统,图1示出了本发读写数据面拷贝系统实施例的结构示意图,包括:
网络通信模块101、共享缓存池模块102和NAS协议转换模块103;
所述共享缓存池模块102用于进行网络数据发送或接收的数据缓存;
所述网络通信模块101与所述共享缓存池模块102相连接,用于直接使用所述共享缓存池102进行网络数据的接收或发送;
所述NAS协议转换模块103与所述共享缓存池102模块相连接,用于直接将所述共享缓存池模块102中的网络数据进行NAS通信格式与分布式文件系统通信格式之间的互相转换。
如图2所示,NAS网关位于客户端与分布式文件系统集群节点之间,客户端可以为windows标准NAS客户端或Linux标准NAS客户端,图3为图2中NAS网关的详细结构示意图,图中可看出内核态和用户态共享缓存,网络通信模块还与客户端和分布式文件系统均相连接。
本实施例中,共享缓存池模块用来直接缓存网络发送数据或网络接收数据;实现了内核态地址到用户态地址的相互映射,完成内核态到用户态的免拷贝;网络通信模块可以直接接管网卡缓存区,能够直接使用共享缓存池模块内存空间进行网络报文的接收、发送,完成网络发送报文用户态内核态的零拷贝;不连续缓存,实现NAS协议转换后数据缓存的直接引用,实现读写缓存的零拷贝;NAS协议转换模块实现标准NAS协议到分布式文件系统内部通信的相互转换。
应用本实施例提供的一种读写数据免拷贝系统,包括:网络通信模块、共享缓存池模块和NAS协议转换模块,网络通信模块直接将数据请求数据放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池中的请求数据进行格式转换,所述网络通信模块直接将所述共享缓存池中格式转换后的请求数据发送至目的端,使用共享缓存池模块直接进行网络数据的缓存,网络通信模块和NAS协议转换模块可以直接使用共享缓存池模块中的数据,无需再次拷贝,实现了读写数据缓存的零拷贝,减少了网络延时,用户体验好。
本发明还提供了一种读写数据免拷贝方法,基于本发明的读写数据免拷贝系统,本发明的读写数据免拷贝方法具体实施方法为:
步骤S1:初始化共享缓存池;加载网络通信模块,启动NAS协议转换模块;
步骤S1:接收NAS客户端的文件写请求,转换协议发送到后端分布式文件系统集群;
具体为,当网络通信模块识别到客户端的写数据请求时,将所述写数据请求放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池模块中的所述写数据请求,将所述写数据请求的格式转换为分布式文件系统通信格式,所述网络通信模块直接将所述共享缓存池模块中的格式转换后的写数据请求发送至分布式文件系统;
步骤S1:接收NAS客户端的文件读请求,转换协议后发送到后端分布式文件系统集群,并将分布式文件系统集群返回的数据转换为标准NAS协议格式返回。
具体为,当网络通信模块识别到客户端的读数据请求时,将所述读数据请求放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池模块中的所述读数据请求,将所述读数据请求的格式转换为分布式文件系统通信格式,所述网络通信模块直接将所述共享缓存池模块中的格式转换后的读数据请求发送至分布式文件系统,当分布式文件系统返回数据时,所述网络通信模块将所述返回数据放入所述共享缓存池模块,所述NAS协议转换模块直接引用所述共享缓存池模块中的所述返回数据,将所述返回数据的格式转换为NAS通信格式,所述网络通信模块直接将所述共享缓存池模块中的格式转换后的返回数据返回客户端。
本实施例中,内核态与用户态共享缓存池,实现文件读写NAS协议转换零拷贝,减少NAS协议转换的网络延时;协议转换完成必要的语义和协议适配,采用共享的数据缓存,减少数据的拷贝,实现文件缓存级别的零拷贝;
应用本实施例提供的一种读写数据免拷贝方法,网络通信模块直接将数据请求数据放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池中的请求数据进行格式转换,所述网络通信模块直接将所述共享缓存池中格式转换后的请求数据发送至目的端,使用共享缓存池模块直接进行网络数据的缓存,网络通信模块和NAS协议转换模块可以直接使用共享缓存池模块中的数据,无需再次拷贝,实现了读写数据缓存的零拷贝,减少了网络延时,用户体验好。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的方法和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种读写数据免拷贝系统,其特征在于,包括:
网络通信模块、共享缓存池模块和NAS协议转换模块;
所述共享缓存池模块用于进行网络数据发送或接收的数据缓存;
所述网络通信模块与所述共享缓存池模块相连接,用于直接使用所述共享缓存池进行网络数据的接收或发送;
所述NAS协议转换模块与所述共享缓存池模块相连接,用于直接将所述共享缓存池模块中的网络数据进行NAS通信格式与分布式文件系统通信格式之间的互相转换;
其中,所述共享缓存池模块被内核态与用户态共享。
2.根据权利要求1所述的读写数据免拷贝系统,其特征在于,所述网络通信模块还与客户端和分布式文件系统均相连接。
3.一种读写数据免拷贝方法,其特征在于,包括:
网络通信模块直接将数据请求数据放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池中的请求数据进行格式转换,所述网络通信模块直接将所述共享缓存池中格式转换后的请求数据发送至目的端;
其中,所述共享缓存池模块被内核态与用户态共享。
4.根据权利要求3所述的读写数据免拷贝方法,其特征在于,所述数据请求包括读数据和写数据。
5.根据权利要求4所述的读写数据免拷贝方法,其特征在于,网络通信模块直接将数据请求数据放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池中的请求数据进行格式转换,所述网络通信模块直接将所述共享缓存池中格式转换后的请求数据发送至目的端包括:
当网络通信模块识别到客户端的写数据请求时,将所述写数据请求放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池模块中的所述写数据请求,将所述写数据请求的格式转换为分布式文件系统通信格式,所述网络通信模块直接将所述共享缓存池模块中的格式转换后的写数据请求发送至分布式文件系统;
当网络通信模块识别到客户端的读数据请求时,将所述读数据请求放入共享缓存池模块,NAS协议转换模块直接引用所述共享缓存池模块中的所述读数据请求,将所述读数据请求的格式转换为分布式文件系统通信格式,所述网络通信模块直接将所述共享缓存池模块中的格式转换后的读数据请求发送至分布式文件系统,当分布式文件系统返回数据时,所述网络通信模块将所述返回数据放入所述共享缓存池模块,所述NAS协议转换模块直接引用所述共享缓存池模块中的所述返回数据,将所述返回数据的格式转换为NAS通信格式,所述网络通信模块直接将所述共享缓存池模块中的格式转换后的返回数据返回客户端。
6.根据权利要求3所述的读写数据免拷贝方法,其特征在于,网络通信模块直接将数据请求数据放入共享缓存池模块之前还包括:
初始化共享缓存池模块,加载网络通信模块,启动NAS协议转换模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510894367.7A CN105512286B (zh) | 2015-11-27 | 2015-11-27 | 一种读写数据免拷贝系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510894367.7A CN105512286B (zh) | 2015-11-27 | 2015-11-27 | 一种读写数据免拷贝系统与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105512286A CN105512286A (zh) | 2016-04-20 |
CN105512286B true CN105512286B (zh) | 2019-09-24 |
Family
ID=55720268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510894367.7A Active CN105512286B (zh) | 2015-11-27 | 2015-11-27 | 一种读写数据免拷贝系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105512286B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254434A (zh) * | 2016-07-28 | 2016-12-21 | 武汉华星光电技术有限公司 | 一种网络附属存储设备与方法 |
CN110121114B (zh) * | 2018-02-07 | 2021-08-27 | 华为技术有限公司 | 发送流数据的方法及数据发送设备 |
CN109274774A (zh) * | 2018-11-16 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种数据存储方法、装置和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1647054A (zh) * | 2002-06-19 | 2005-07-27 | 艾利森电话股份有限公司 | 网络设备驱动体系结构 |
CN102082698A (zh) * | 2009-11-26 | 2011-06-01 | 上海大学 | 基于改进型零拷贝技术的高性能内核的网络数据处理系统 |
US9092426B1 (en) * | 2011-01-03 | 2015-07-28 | Applied Micro Circuts Corporation | Zero-copy direct memory access (DMA) network-attached storage (NAS) file system block writing |
-
2015
- 2015-11-27 CN CN201510894367.7A patent/CN105512286B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1647054A (zh) * | 2002-06-19 | 2005-07-27 | 艾利森电话股份有限公司 | 网络设备驱动体系结构 |
CN102082698A (zh) * | 2009-11-26 | 2011-06-01 | 上海大学 | 基于改进型零拷贝技术的高性能内核的网络数据处理系统 |
US9092426B1 (en) * | 2011-01-03 | 2015-07-28 | Applied Micro Circuts Corporation | Zero-copy direct memory access (DMA) network-attached storage (NAS) file system block writing |
Also Published As
Publication number | Publication date |
---|---|
CN105512286A (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713180B2 (en) | Zero-copy network and file offload for web and application servers | |
CN110191194B (zh) | 一种基于rdma网络的分布式文件系统数据传输方法和系统 | |
US8255667B2 (en) | System for managing memory | |
CN101459676B (zh) | 针对文件系统的基于高速网络的消息传输框架和方法 | |
US20030145230A1 (en) | System for exchanging data utilizing remote direct memory access | |
CN110011933B (zh) | 发送数据包的方法、装置及计算机可读存储介质 | |
CN105512286B (zh) | 一种读写数据免拷贝系统与方法 | |
WO2015000302A1 (zh) | 一种数据传输方法、设备及系统 | |
WO2015180513A1 (zh) | 一种数据传输方法及计算机 | |
CN105554143A (zh) | 一种高可用缓存服务器及其数据处理方法和系统 | |
CN104378435A (zh) | 计算设备的浏览器与移动终端的文件传输 | |
CN102917005B (zh) | 一种支持事务的海量存储访问方法及装置 | |
CN102045399B (zh) | 云计算模式文件系统及文件读取方法 | |
CN104394208A (zh) | 文件传输方法和服务器 | |
CN111881104A (zh) | 一种nfs服务器及其数据写入方法、装置和存储介质 | |
CN106294842A (zh) | 一种数据交互方法、平台及分布式文件系统 | |
US20100296518A1 (en) | Single DMA Transfers from Device Drivers to Network Adapters | |
WO2017177400A1 (zh) | 一种数据处理方法及系统 | |
CN111506547A (zh) | 一种文件夹挂载方法、装置、设备、介质 | |
CN107229755A (zh) | 一种分布式系统优化方法及设备 | |
US8762432B2 (en) | Methods and systems for using distributed allocation tables | |
CN104363269B (zh) | 一种通过fc链路传输、接收nas数据的方法及装置 | |
CN101931776B (zh) | 视频监控中的数据存储系统及数据存储、预览和回放方法 | |
CN104850548B (zh) | 一种实现大数据平台输入/输出处理的方法及系统 | |
US12260112B2 (en) | Method and apparatus for accessing solid state disk |
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 |