CN107908365A - 用户态存储系统数据交互的方法、装置及设备 - Google Patents

用户态存储系统数据交互的方法、装置及设备 Download PDF

Info

Publication number
CN107908365A
CN107908365A CN201711122925.3A CN201711122925A CN107908365A CN 107908365 A CN107908365 A CN 107908365A CN 201711122925 A CN201711122925 A CN 201711122925A CN 107908365 A CN107908365 A CN 107908365A
Authority
CN
China
Prior art keywords
data
memory
storage
region
messaging device
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.)
Pending
Application number
CN201711122925.3A
Other languages
English (en)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201711122925.3A priority Critical patent/CN107908365A/zh
Publication of CN107908365A publication Critical patent/CN107908365A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Abstract

本发明公开了一种用户态存储系统数据交互的方法、装置、设备以及计算机可读存储介质,包括:前端接发设备接收到实际数据时,将所述实际数据映射到存储系统预留的内存区域内,所述存储系统预留的内存区域被所有用户线程共享;在所述前端接发设备内生成包含指向实际数据存储区域的指针;通过用户线程传递所述包含指向实际数据存储区域的指针至后端存储设备,以便将所述实际数据映射并存储至所述后端存储设备上。利用本发明所提供的方法、装置、设备及计算机可读存储介质可以提高存储系统的IO性能。

Description

用户态存储系统数据交互的方法、装置及设备
技术领域
本发明涉及服务器存储系统领域,特别是涉及一种用户态存储系统数据交互的方法、装置、设备以及计算机可读存储介质。
背景技术
随着计算机网络的发展,数据信息的价值越来越高。数据作为资产也越来越受到社会的重视,各种云计算中心,数据中心如雨后春笋,得到了巨大发展。然而随着数据中心的规模扩大,存储与服务器数量猛增,其中的数据访问、数据共享也变得更加频繁,由此带来了数据网络、存储性能提高的要求。
在传统的存储中大量的存储模块都是在内核态中实现,如网络驱动,FC(Fibrechannel光纤网络通道)驱动、SAS(Serial Attached SCSI)串行连接SCSI)驱动等,使用内核态实现驱动,带来方便的同时,也带来了问题,特别是性能变得越来越力不从心。比如网络,随着访问量的剧增,使用传统的网络处理方式,在网卡接收到数据包以后需要产生大量的中断和多次拷贝,带来了数据访问性能的大量损失。
现有的存储系统中加载了大量的模块,这些模块有各种管理,访问控制的,还有各种外设的驱动等,特别是外设驱动以模块的形式加入内核,这些驱动需要处理大量的IO,由此会带来大量的中断和数据拷贝,这在访问量较低的情况下,存储性能满足要求,但是在访问量大增以后,性能,时延变得越来越让人无法忍受。
综上所述可以看出,如何提高存储系统的IO性能是目前有待解决的问题。
发明内容
本发明的目的是提供一种用户态存储系统数据交互的方法、装置、设备以及计算机可读存储介质,已解决现有技术中的存储系统的IO性能较低的问题。
为解决上述技术问题,本发明提供一种用户态存储系统数据交互的方法,包括:前端接发设备接收到实际数据时,将所述实际数据映射到存储系统预留的内存区域内,所述存储系统预留的内存区域被所有用户线程共享;在所述前端接发设备内生成包含指向实际数据存储区域的指针;通过用户线程传递所述包含指向实际数据存储区域的指针至后端存储设备,以便将所述实际数据映射并存储至所述后端存储设备上。
优选地,所述前端接发设备接收到实际数据,将所述实际数据映射到存储系统预留的内存区域内,所述存储系统预留的内存区域被所有用户线程共享包括:前端接发设备、后端存储设备通过DMA与存储系统存放实际数据预留的内存区域建立内存映射;当所述前端接发设备接收到实际数据时,将所述实际数据DMA到所述存储系统预留的内存区域内。
优选地,所述在所述前端接发设备内生成包含指向实际数据存储区域的指针包括:在所述前端接发设备接收到实际数据时,形成包含指向实际数据存储区域的指针的数据结构F,将所述数据结构F挂载至所述前端接发设备的接收环形队列中。
优选地,所述通过用户线程传递所述包含指向实际数据存储区域的指针至后端存储设备,以便将所述实际数据映射并存储至所述后端存储设备上包括:通过用户线程从所述前端接发设备的接收环形队列中获取所述数据结构F;依据预设处理规则以及所述数据结构F,生成包含指向实际数据存储区域的指针的数据结构N,并将所述数据结构N挂载至后端存储设备的发送环形队列中;在内存管理单元的管理下,将所述实际数据DMA到所述后端存储设备,并存储所述实际数据至所述后端存储设备。
优选地,所述存储系统预留的内存区域在系统启动时被分割为连续、固定大小的内存小块,且所述前端接发设备的内存区域的被分割成的内存小块与所述存储系统预留的内存区域的内存小块大小相同。
本发明还提供了一种用户态存储系统数据交互的装置,包括:
映射模块,用于前端接发设备接收到实际数据时,将所述实际数据映射到存储系统预留的内存区域内,所述存储系统预留的内存区域被所有用户线程共享;
生成模块,用于在所述前端接发设备内生成包含指向实际数据存储区域的指针;
传递模块,用于通过用户线程传递所述包含指向实际数据存储区域的指针至后端存储设备,以便将所述实际数据映射并存储至所述后端存储设备上。
优选地,所述映射模块具体用于:前端接发设备、后端存储设备通过DMA与存储系统存放实际数据预留的内存区域建立内存映射;当所述前端接发设备接收到实际数据时,将所述实际数据DMA到所述存储系统预留的内存区域内。
优选地,所述生成模块具体用于:在所述前端接发设备接收到实际数据时,形成包含指向实际数据存储区域的指针的数据结构F,将所述数据结构F挂载至所述前端接发设备的接收环形队列中。
本发明还提供了一种用户态存储系统数据交互的设备,包括:
存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种用户态存储系统数据交互的方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种用户态存储系统数据交互的方法的步骤。
本发明所提供的一种用户态存储系统数据交互的方法、装置、设备以及计算机可读存储介质,当存储系统的前端接发设备接收到外部发送的实际数据时,所述前端接发设备将所述实际数据映射至存储系统预留存放实际数据的内存区域内,所述存储系统预留的内存区域被所有用户处理线程共享;在所述前端接发设备内形成包含实际数据存储地址的指针;所述存储系统的用户处理线程从所述前端接发设备获取所述指针,并传递所述包含实际数据存储地址的指针至后端存储设备,将所述存储系统预留的内存区域的所述实际数据映射至所述后端存储设备。根据上述方法、装置、设备以及计算机可读存储介质,实际用户数据产生以后,不管需要经过有多少进程进行处理,都不会对实际的用户数据进行拷贝,只会对实际的用户数据的指针进行传递;这样存储上的操作系统就可以从大量的数据拷贝无用功中解放出来,专注做相关处理,IO实现主要由用户态完成,实现了零拷贝,提高了存储系统的IO性能。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的用户态存储系统数据交互的方法的第一种具体实施例的流程图;
图2为本发明提供的使用SAN定义的存储系统的结构框架图;
图3为本发明所提供的用户态存储系统数据交互的方法的第二种具体实施例的流程图;
图4为本发明实施例提供的一种用户态存储系统数据交互的装置的结构框图。
具体实施方式
本发明的核心是提供一种用户态存储系统数据交互的方法、装置、设备以及计算机可读存储介质,提高了存储系统的IO性能。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明所提供的用户态存储系统数据交互的方法的第一种具体实施例的流程图;具体操作步骤如下:
步骤S101:前端接发设备接收到实际数据时,将所述实际数据映射到存储系统预留的内存区域内,所述存储系统预留的内存区域被所有用户线程共享;
所述存储系统与外界设备进行数据交互主要通过相关接口卡,因此所述前端接发设备可以使用以太网、FC、IB(Infiniband无线宽带技术)。
步骤S102:在所述前端接发设备内生成包含指向实际数据存储区域的指针;
步骤S103:通过用户线程传递所述包含指向实际数据存储区域的指针至后端存储设备,以便将所述实际数据映射并存储至所述后端存储设备上。
所述后端存储设备可以使用SAS(SerialAttachedSCSI串行连接SCSI)、NVME等。
本实施例所涉及的软件定义存储主要面向SAN(Storage Area Network存储区域网络),即使用块的方式进行存储。由服务器端管理数据的组织,及其他相关的thinprovision,重删等功能,存储只专注数据的存储及数据的存储。因为本实施例的数据存储主要面向是SAN,只给服务器提供存储容量支持,就像服务器本地的磁盘一样,但是存储的容量可以通过各种网络实现多个服务共享。
由于存储简化了一些附属功能,可以根据专注的进行IO,容量支持。这里的容量支持包括raid(磁盘阵列)、逻辑卷等的管理。所述IO也主要是各种HBA(主机总线适配器)卡、initiator、target等的支持,即实现数据能快速的进的来,快速地存下,也能快速地取得出,快速地传走。
如图2所示,本实施例所提供的存储系统的外设接口主要分为用户态和内存态,内核态的部分主要为用户态代码提供使用内核的相关接口,这些接口包括相关管理和工具两部分,内核态中的寄存器映射主要借助UIO(UserspaceI/O)技术,将板卡硬件寄存器映射到用户态。用户态port数据接口部分,主要为各个端口实现接收数据的内存空间的管理;用户态的处理层主要是对数据包根据相关协议栈进行数据处理,包括接收线程和发送线程。
本具体实施例提出一种提高存储性能的解决方案,主要通过剥离存储中的相关特性到服务器,专注数据传输及数据存储等基本功能,以应对服务器对存储的高并发访问。实际用户数据产生以后,不管需要经过有多少进程进行处理,都不会对实际的用户数据进行拷贝,只会对实际的用户数据的指针进行传递;这样存储上的操作系统就可以从大量的数据拷贝无用功中解放出来,提高了存储系统的IO性能。
请参考图3,图3为本发明所提供的用户态存储系统数据交互的方法的第二种具体实施例的流程图。
在上述实施例的基础上,本实施例选用FC卡作为前端接发设备,在FC卡接收到实际用户数据时,通过DMA(direct memory access直接内存访问)建立内存映射,即FC接收到实际用户数据后,DMA会直接将FC卡的数据拷贝到预先分配的一块固定的用于接收和发送缓存的内存区域。
所述前端接发设备以及后端存储设备的内存区域选用环形队列方式管理,每种网卡都会有两个总的环形队列,一个用于发送,一个用于接收。所述环形队列中的每一项都为一个数据结构,环形队列具体数据结构如下:
以FC卡为例:当存储系统需要通过FC卡发送数据时,相关线程会首先将数据存储到FC卡的这个总的环形队列中,将数据发送到该环形队列中的用户线程可以看成是生产者,因为存储中可能有多个线程需要通过FC卡发送数据,所以看成多生产者,FC卡发送线程会一直轮询该总的环形队列,是否有数据发送,如果有,立即将数据取走,并进行发送,此时的FC卡发送线程一般可以看成是消费者。这是一种多生产者单消费者情形。
当接收数据时,FC接收线程会将数据发到总的接收环形队列,存储的处理线程(可能包括SCSI,NVME等接收线程)也会轮询总的接收环形队列,是否有数据接收,如有就接收。这里的FC接收线程可以看成是生产者,而存储用户处理线程可以看成是消费者,这是一个单生产者多消费者的情形。
本实施例的具体操作步骤如下:
步骤S301:FC卡接收到实际数据,将实际数据DMA到存储系统预留的内存区域;
所述存储系统预留的内存区域在系统启动时被分割为连续、固定大小的内存小块,且所述前端接发设备的内存区域的被分割成的内存小块与所述存储系统预留的内存区域的内存小块大小相同。为了实现整个数据处理过程不需要进行实际数据拷贝,预留存放实际数据的存储内存区域将被所有线程共享,同时所有的接口卡都能对这块区域进行DMA操作。所有卡对这块区域进行操作的时候,相关同步,管理有MMU(memory menagerie unit内存管理单元)硬件完成。
步骤S302:形成包含指向实际用户存储区域的指针的数据结构F,并将所述数据结构F挂载至总的FC卡的接收环形队列上;
步骤S303:相关存储中的用户处理线程从总的FC卡的接收环形队列中获取所述数据结构F;
步骤S304:对所述数据结构F进行处理,形成包含指向实际数据存储区域的指针的数据结构N;
为了实现实际用户数据不进行拷贝,只进行指针传递思想,所有与实际用户数据有关的数据结构当中都有一个成员——指向实际数据区域的指针。
步骤S305:将所述数据结构N挂载至所述NVME卡的发送环形队列中;
步骤S306:在内存管理单元的管理下,将所述实际数据DMA到所述NVME卡,并存储所述实际数据至所述NVME固态盘上。
在本实施中,由于环形队列中保存的是存放实际数据的相关数据结构的指针,数据发送到环形队列和从环形队列里接收数据只是将相关数据结构的指针进行转移,并不引起实际数据的拷贝。引起数据拷贝的情形只有两种,一种是:FC卡发送线程从环形队列中取数据发送,数据会通过DMA通道重内存拷贝到FC卡的相关内存区域。另一种是:FC卡接收到数据,FC卡接收线程通过DMA将数据从FC中拷贝到内存中。
实际的用户数据产生以后,不管需要经过有多少进程进行处理,都不会对实际的用户数据进行拷贝,只会对实际的用户数据的指针进行传递。这样存储上的操作系统就可以从大量的数据拷贝无用功中解放出来,专注做相关处理,整个数据从接收到落盘都相对现在的存储简单很多。本实施例所提供的存储管理系统,将实际用户数据指针和整个接收或发送数据的指针进行独立,以便数据处理时用户指针传递方便,全部存储用户数据的内存区域进行预留,并实现所有接口卡都能对该存储区域进行DMA操作,其IO实现主要由用户态完成,实现了零拷贝,可提高存储的IO性能,提高了存储相关竞争力。
请参考图4,图4为本发明实施例提供的一种用户态存储系统数据交互的装置的结构框图;具体装置可以包括:
映射模块100,用于前端接发设备接收到实际数据时,将所述实际数据映射到存储系统预留的内存区域内,所述存储系统预留的内存区域被所有用户线程共享;
生成模块200,用于在所述前端接发设备内生成包含指向实际数据存储区域的指针;
传递模块300,用于通过用户线程传递所述包含指向实际数据存储区域的指针至后端存储设备,以便将所述实际数据映射并存储至所述后端存储设备上。
本实施例的用户态存储系统数据交互的装置用于实现前述的用户态存储系统数据交互的方法,因此用户态存储系统数据交互的装置中的具体实施方式可见前文中的用户态存储系统数据交互的方法的实施例部分,例如,映射模块100,生成模块200,传递模块300,分别用于实现上述用户态存储系统数据交互的方法中步骤S101,S102和S103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
本发明具体实施例还提供了一种用户态存储系统数据交互的设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种用户态存储系统数据交互的方法的步骤。
本发明具体实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种用户态存储系统数据交互的方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的用户态存储系统数据交互的方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种用户态存储系统数据交互的方法,其特征在于,包括:
前端接发设备接收到实际数据时,将所述实际数据映射到存储系统预留的内存区域内,所述存储系统预留的内存区域被所有用户线程共享;
在所述前端接发设备内生成包含指向实际数据存储区域的指针;
通过用户线程传递所述包含指向实际数据存储区域的指针至后端存储设备,以便将所述实际数据映射并存储至所述后端存储设备上。
2.如权利要求1所述的方法,其特征在于,所述前端接发设备接收到实际数据,将所述实际数据映射到存储系统预留的内存区域内,所述存储系统预留的内存区域被所有用户线程共享包括:
前端接发设备、后端存储设备通过DMA与存储系统存放实际数据预留的内存区域建立内存映射;
当所述前端接发设备接收到实际数据时,将所述实际数据DMA到所述存储系统预留的内存区域内。
3.如权利要求2所述的方法,其特征在于,所述在所述前端接发设备内生成包含指向实际数据存储区域的指针包括:
在所述前端接发设备接收到实际数据时,形成包含指向实际数据存储区域的指针的数据结构F,将所述数据结构F挂载至所述前端接发设备的接收环形队列中。
4.如权利要求3所述的方法,其特征在于,所述通过用户线程传递所述包含指向实际数据存储区域的指针至后端存储设备,以便将所述实际数据映射并存储至所述后端存储设备上包括:
通过用户线程从所述前端接发设备的接收环形队列中获取所述数据结构F;
依据预设处理规则以及所述数据结构F,生成包含指向实际数据存储区域的指针的数据结构N,并将所述数据结构N挂载至后端存储设备的发送环形队列中;
在内存管理单元的管理下,将所述实际数据DMA到所述后端存储设备,并存储所述实际数据至所述后端存储设备。
5.如权利要求1至4任一项所述的方法,其特征在于,所述存储系统预留的内存区域在系统启动时被分割为连续、固定大小的内存小块,且所述前端接发设备的内存区域的被分割成的内存小块与所述存储系统预留的内存区域的内存小块大小相同。
6.一种用户态存储系统数据交互的装置,其特征在于,包括:
映射模块,用于前端接发设备接收到实际数据时,将所述实际数据映射到存储系统预留的内存区域内,所述存储系统预留的内存区域被所有用户线程共享;
生成模块,用于在所述前端接发设备内生成包含指向实际数据存储区域的指针;
传递模块,用于通过用户线程传递所述包含指向实际数据存储区域的指针至后端存储设备,以便将所述实际数据映射并存储至所述后端存储设备上。
7.如权利要求6所述的装置,其特征在于,所述映射模块具体用于:
前端接发设备、后端存储设备通过DMA与存储系统存放实际数据预留的内存区域建立内存映射;
当所述前端接发设备接收到实际数据时,将所述实际数据DMA到所述存储系统预留的内存区域内。
8.如权利要求6所述的装置,其特征在于,所述生成模块具体用于:
在所述前端接发设备接收到实际数据时,形成包含指向实际数据存储区域的指针的数据结构F,将所述数据结构F挂载至所述前端接发设备的接收环形队列中。
9.一种用户态存储系统数据交互的设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述一种用户态存储系统数据交互的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述一种用户态存储系统数据交互的方法的步骤。
CN201711122925.3A 2017-11-14 2017-11-14 用户态存储系统数据交互的方法、装置及设备 Pending CN107908365A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711122925.3A CN107908365A (zh) 2017-11-14 2017-11-14 用户态存储系统数据交互的方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711122925.3A CN107908365A (zh) 2017-11-14 2017-11-14 用户态存储系统数据交互的方法、装置及设备

Publications (1)

Publication Number Publication Date
CN107908365A true CN107908365A (zh) 2018-04-13

Family

ID=61844082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711122925.3A Pending CN107908365A (zh) 2017-11-14 2017-11-14 用户态存储系统数据交互的方法、装置及设备

Country Status (1)

Country Link
CN (1) CN107908365A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874336A (zh) * 2019-10-21 2020-03-10 无锡江南计算技术研究所 一种基于申威平台的分布式块存储低延迟控制方法及系统
CN111970249A (zh) * 2020-07-22 2020-11-20 山西大学 一种基于DPDK的Modbus协议实现方法和装置
CN114003520A (zh) * 2021-09-28 2022-02-01 苏州浪潮智能科技有限公司 一种主机与设备之间的数据传输方法、装置、系统及介质
CN115167786A (zh) * 2022-09-06 2022-10-11 浪潮电子信息产业股份有限公司 一种数据存储方法、装置、系统、设备和介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402487A (zh) * 2011-11-15 2012-04-04 北京天融信科技有限公司 一种零拷贝接收报文的方法和系统
CN103034544A (zh) * 2012-12-04 2013-04-10 杭州迪普科技有限公司 一种用户态与内核态共享内存的管理方法和装置
CN103391256A (zh) * 2013-07-25 2013-11-13 武汉邮电科学研究院 一种基于Linux系统的基站用户面数据处理优化方法
US20130312005A1 (en) * 2012-05-16 2013-11-21 International Business Machines Corporation Apparatus and Method to Manage Device Performance in a Storage System
CN104123229A (zh) * 2014-07-21 2014-10-29 上海斐讯数据通信技术有限公司 能使报文高效地从内核态提交到用户态的方法及系统
CN104333533A (zh) * 2014-09-12 2015-02-04 北京华电天益信息科技有限公司 一种用于工业控制系统网络的数据包零拷贝获取方法
CN104796337A (zh) * 2015-04-10 2015-07-22 京信通信系统(广州)有限公司 一种转发报文的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402487A (zh) * 2011-11-15 2012-04-04 北京天融信科技有限公司 一种零拷贝接收报文的方法和系统
US20130312005A1 (en) * 2012-05-16 2013-11-21 International Business Machines Corporation Apparatus and Method to Manage Device Performance in a Storage System
CN103034544A (zh) * 2012-12-04 2013-04-10 杭州迪普科技有限公司 一种用户态与内核态共享内存的管理方法和装置
CN103391256A (zh) * 2013-07-25 2013-11-13 武汉邮电科学研究院 一种基于Linux系统的基站用户面数据处理优化方法
CN104123229A (zh) * 2014-07-21 2014-10-29 上海斐讯数据通信技术有限公司 能使报文高效地从内核态提交到用户态的方法及系统
CN104333533A (zh) * 2014-09-12 2015-02-04 北京华电天益信息科技有限公司 一种用于工业控制系统网络的数据包零拷贝获取方法
CN104796337A (zh) * 2015-04-10 2015-07-22 京信通信系统(广州)有限公司 一种转发报文的方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874336A (zh) * 2019-10-21 2020-03-10 无锡江南计算技术研究所 一种基于申威平台的分布式块存储低延迟控制方法及系统
CN111970249A (zh) * 2020-07-22 2020-11-20 山西大学 一种基于DPDK的Modbus协议实现方法和装置
CN114003520A (zh) * 2021-09-28 2022-02-01 苏州浪潮智能科技有限公司 一种主机与设备之间的数据传输方法、装置、系统及介质
CN114003520B (zh) * 2021-09-28 2023-06-20 苏州浪潮智能科技有限公司 一种主机与设备之间的数据传输方法、装置、系统及介质
CN115167786A (zh) * 2022-09-06 2022-10-11 浪潮电子信息产业股份有限公司 一种数据存储方法、装置、系统、设备和介质

Similar Documents

Publication Publication Date Title
US9935899B2 (en) Server switch integration in a virtualized system
CN107908365A (zh) 用户态存储系统数据交互的方法、装置及设备
CN105892943B (zh) 一种分布式存储系统中块存储数据的访问方法及系统
US9405725B2 (en) Writing message to controller memory space
US20150127691A1 (en) Efficient implementations for mapreduce systems
CN103763173B (zh) 数据传输方法和计算节点
US20150234776A1 (en) Facilitating, at least in part, by circuitry, accessing of at least one controller command interface
US9390036B2 (en) Processing data packets from a receive queue in a remote direct memory access device
JP6763984B2 (ja) インフィニバンド(IB)上で仮想ホストバスアダプタ(vHBA)を管理およびサポートするためのシステムおよび方法、ならびに単一の外部メモリインターフェイスを用いてバッファの効率的な使用をサポートするためのシステムおよび方法
CN105335309B (zh) 一种数据传输方法及计算机
AU2021269201B2 (en) Utilizing coherently attached interfaces in a network stack framework
CN107678835A (zh) 一种数据传输方法及系统
CN101150488A (zh) 一种零拷贝网络报文接收方法
CN112948149A (zh) 一种远端内存共享方法、装置、电子设备及存储介质
CN107967180A (zh) 基于numa虚拟化环境下资源全局亲和度网络优化方法和系统
WO2017054540A1 (zh) 一种数据处理方法、装置、服务器及控制器
CN103533090A (zh) 单个物理网口模拟为多个逻辑网口的映射方法与装置
CN108234551A (zh) 一种数据处理方法及装置
CN108090018A (zh) 数据交换方法及系统
WO2017210015A1 (en) Improving throughput in openfabrics environments
CN110471627B (zh) 一种共享存储的方法、系统及装置
CN110399314A (zh) 一种cpu、一种电子设备以及一种cpu缓存控制方法
CN102868684A (zh) 一种光纤通道目标器及光纤通道目标器实现方法
Tian et al. Rxio: Design and implementation of high performance rdma-capable gridftp
CN116166605B (zh) 数据混合传输方法、装置、dma控制器、介质及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180413

RJ01 Rejection of invention patent application after publication