一种持久性存储的高效字节访问存储系统的制作方法

文档序号:21406969发布日期:2020-07-07 14:41阅读:154来源:国知局
一种持久性存储的高效字节访问存储系统的制作方法

本发明涉及数据存储技术领域,特别是涉及一种持久性存储的高效字节访问存储系统。



背景技术:

随着科技的发展,大量数据存储给现有存储系统带来性能上的瓶颈。

现有的nvmeof技术仅支持块方式的访问不支持内存设备的字节访问方式;nvmeof技术主要是针对nvme设备通过rdma网络远程访问的技术,仅支持块形式的访问方式,无法满足低延时要求的字节访问方式,并且从底层支持上无法支持pmem设备的远程映射,存储效率低下。



技术实现要素:

本发明实施例的目的在于提供一种持久性存储的高效字节访问存储系统,以降低网络响应延时,进而提高存储效率。具体技术方案如下:

本发明实施例提供了一种持久性存储的高效字节访问存储系统,其特征在于,包括:服务器端、客户端;

所述服务器端包括存储模块,传输模块、核心处理模块、用户空间模块;

所述客户端生成永久存储请求指令,并将所述永久存储请求指令发送至所述核心处理模块,其中,所述永久存储请求指令中包含有目标数据字节;

所述核心处理模块接收所述永久存储请求指令,并将所述永久存储请求指令发送至所述用户空间模块,所述用户空间模块通过所述传输模块将所述永久存储请求指令传输至所述存储模块;

所述存储模块存储所述目标数据字节,并生成存储结果;

所述用户空间通过所述传输模块获取所述存储结果,并将所述存储结果反馈至所述核心处理模块;

所述核心处理模块将所述存储结果反馈至所述客户端。

进一步的,所述服务器端还包括异步处理模块;

所述异步处理模块用于接收所述永久存储请求指令,并将所述永久存储请求指令发送至所述核心处理模块;

所述异步处理模块接收所述核心处理模块发送的存储结果,并将存储结果反馈至所述客户端。

进一步的,包括至少两个所述客户端;各所述客户端分别连接所述异步处理模块。

进一步的,所述异步处理模块将所述永久存储请求指令发送至所述核心处理模块后,所述异步处理模块继续工作,并接收除所述永久存储请求指令之外的永久存储请求指令;

所述异步处理模块接收所述核心处理模块的存储结果。

进一步的,所述存储模块为非易失性存储介质。

进一步的,所述客户端包括处理模块、第一封装模块、第一收发模块;

所述处理模块用于接收用户指令以及待存储数据,所述第一封装模块用于封装所述用户指令以及所述待存储数据,并获得所述永久存储请求指令;

所述第一收发模块与物联网协议绑定,所述第一收发模块将所述永久存储请求指令发送至所述核心处理模块。

进一步的,所述服务器端还包括第二封装模块、第二收发模块;

所述第二封装模块用于封装所述异步处理模块接收的所述存储结果,得到反馈信息;

所述第一收发模块与物联网协议绑定,所述第二收发模块将所述反馈信息反馈至所述第一收发模块。

进一步的,所述第一收发模块与所述第二收发模块通过网络接口控制器连接。

进一步的,所述服务器端与所述客户端之间采用松耦合模式进行信息交互。

进一步的,所述服务器端与所述客户端基于远程直接数据存储连接。

本发明实施例提供的一种持久性存储的高效字节访问存储系统,包括:服务器端、客户端;服务器端包括存储模块,传输模块、核心处理模块、用户空间模块;客户端生成永久存储请求指令,并将永久存储请求指令发送至核心处理模块,其中,永久存储请求指令中包含有目标数据字节;核心处理模块接收永久存储请求指令,并将永久存储请求指令发送至用户空间模块,用户空间模块通过传输模块将永久存储请求指令传输至存储模块;存储模块存储目标数据字节,并生成存储结果;用户空间通过所述传输模块获取所述存储结果,并将存储结果反馈至核心处理模块;核心处理模块将存储结果反馈至客户端,完成数据存储全过程,本发明实施例采用非易失性存储介质,提供内存级存储性能并保障数据的持久性,采用自主的rdma网络协议实现内存设备的字节方式网络访问,降低网络延时,提高存储效率,针对远端的pmem设备访问不需要同步响应,只需要异步的将同步站点的响应信息回传至客户端即可,这样大大降低了在网络层的消息传递,从而降低延时,提高性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的一种持久性存储的高效字节访问存储系统模块连接图。

图2为本发明实施例提供的异步处理模块原理图。

图3为本发明实施例提供的另一种持久性存储的高效字节访问存储系统模块连接图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

本发明所使用到的专业术语解释:

persistentmemory:持久性存储器(pmem),也称为存储类存储器(scm);

rdma:remotedirectmemoryaccess的缩写,意思是远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的;

libpmem和librmen是提供底层持久存储支持和使用rdma网络远程访问持久性内存提供底层支持的基本库;

pmemof:(persistentmemoryoverfabrics)允许用户通过rdma网络以字节方式访问远端的持久化存储池;

pmem设备:可用于分配物理内存的设备;

pmemrunner,适用于pmem的传输模块;

pmemtarget,适用于pmem的目标存储模块;

pmemcore,适用于pmem的核心处理模块;

client端,客户端;

server端,服务器端;

persistentmemoryoverfabrics,持久性存储的高效字节访问存储;

fabirc协议:物联网数据传输协议;

nvdimm设备:非易失性双列直插式内存模块(英语:non-volatiledualin-linememorymodule,缩写nvdimm)是一种用于计算机的随机存取存储器。非易失性存储器是即使断电也能保留其内容的内存,这包括意外断电、系统崩溃或正常关机。双列直插式表示该内存使用dimm封装。nvdimm在某些情况下可以改善应用程序的性能、数据安全性和系统崩溃恢复时间。这增强了固态硬盘(ssd)的耐用性和可靠性。

为了降低网络响应延时,进而提高存储效率,本发明实施例提供了一种持久性存储的高效字节访问存储系统。

请参见图1、图3,本发明实施例所提供的本发明实施例提供了一种持久性存储的高效字节访问存储系统,其特征在于,包括:服务器端、客户端;

所述服务器端包括存储模块,传输模块、核心处理模块、用户空间模块;

所述客户端生成永久存储请求指令,并将所述永久存储请求指令发送至所述核心处理模块,其中,所述永久存储请求指令中包含有目标数据字节;

所述核心处理模块接收所述永久存储请求指令,并将所述永久存储请求指令发送至所述用户空间模块,所述用户空间模块通过所述传输模块将所述永久存储请求指令传输至所述存储模块;

所述存储模块存储所述目标数据字节,并生成存储结果;

所述用户空间通过所述传输模块获取所述存储结果,并将所述存储结果反馈至所述核心处理模块;

所述核心处理模块将所述存储结果反馈至所述客户端。

具体的,在本发明实施例中,存储模块可以是持久性存储器(pmem),传输模块可以是pmemrunner,适用于pmem的传输模块,核心处理模块可以是pmemcore,适用于pmem的核心处理模块。

具体的,本发明实施例提供的一种持久性存储的高效字节访问存储系统,包括:服务器端、客户端;服务器端包括存储模块,传输模块、核心处理模块、用户空间模块;客户端生成永久存储请求指令,并将永久存储请求指令发送至核心处理模块,其中,永久存储请求指令中包含有目标数据字节;核心处理模块接收永久存储请求指令,并将永久存储请求指令发送至用户空间模块,用户空间模块通过传输模块将永久存储请求指令传输至存储模块;存储模块存储目标数据字节,并生成存储结果;用户空间通过所述传输模块获取所述存储结果,并将存储结果反馈至核心处理模块;核心处理模块将存储结果反馈至客户端,完成数据存储全过程,本发明实施例采用非易失性存储介质,提供内存级存储性能并保障数据的持久性,采用自主的rdma网络协议实现内存设备的字节方式网络访问,降低网络延时,提高存储效率,针对远端的pmem设备访问不需要同步响应,只需要异步的将同步站点的响应信息回传至客户端即可,这样大大降低了在网络层的消息传递,从而降低延时,提高性能。

进一步的,请参见图2,所述服务器端还包括异步处理模块;

所述异步处理模块用于接收所述永久存储请求指令,并将所述永久存储请求指令发送至所述核心处理模块;

所述异步处理模块接收所述核心处理模块发送的存储结果,并将存储结果反馈至所述客户端。

具体的,应用程序在运行过程中经常需要对文件系统进行读写操作。该应用程序一般会将访问的文件数据封装成一个输入输出请求即io请求,并将该io请求提交给操作系统,进而由操作系统对该io请求进行处理,以完成io操作并通知该应用程序。异步io请求是io请求的一种,应用程序向操作系统提交异步io请求后,该应用程序可进行其他处理,无需进行等待,当io操作完成时,操作系统会通知该应用程序,从而提高了系统的吞吐量。目前,通过异步io请求进行文件系统的读写操作被广泛应用。为了获取更好的性能本发明对于pmem请求转发采用异步转发技术,在pmemof框架中存储协议有一个内置的内部协议作为同步点,针对远端的pmem设备访问不需要同步响应,只需要异步的将同步站点的响应信息回传至客户端即可,这样大大降低了在网络层的消息传递,从而降低延时,提高性能。

在一个具体实施方式中,本发明本发明由server端(服务器端)和client端(客户端)两部分组成,server端在pmemof框架中新增pmemtarget模块(目标存储模块),client端实现与pmemtarget交互的pmemrunner模块(目标存储模块)。pmemtarget模块(目标存储模块):和pmemcore(核心处理模块)交互,接收pmem请求,并将pmem请求发送到用户空间处理;接收用户空间处理结果,并将结果发送给pmemcore模块。pmemrunner:在用户空间接收来自内核的pmem设备请求,通过调用后端存储库(libpmem、librmem或者其他库)将请求发送给后端持久存储处理。接收后端存储处理结果并将结果发送给内核。

进一步的,包括至少两个所述客户端;各所述客户端分别连接所述异步处理模块。

进一步的,所述异步处理模块将所述永久存储请求指令发送至所述核心处理模块后,所述异步处理模块继续工作,并接收除所述永久存储请求指令之外的永久存储请求指令;

所述异步处理模块接收所述核心处理模块的存储结果。

进一步的,所述存储模块为非易失性存储介质。

进一步的,所述客户端包括处理模块、第一封装模块、第一收发模块;

所述处理模块用于接收用户指令以及待存储数据,所述第一封装模块用于封装所述用户指令以及所述待存储数据,并获得所述永久存储请求指令;

所述第一收发模块与物联网协议绑定,所述第一收发模块将所述永久存储请求指令发送至所述核心处理模块。

进一步的,所述服务器端还包括第二封装模块、第二收发模块;

所述第二封装模块用于封装所述异步处理模块接收的所述存储结果,得到反馈信息;

所述第一收发模块与物联网协议绑定,所述第二收发模块将所述反馈信息反馈至所述第一收发模块。

进一步的,所述第一收发模块与所述第二收发模块通过网络接口控制器连接。

进一步的,所述服务器端与所述客户端之间采用松耦合模式进行信息交互。具体的,采用松耦合模式使pmemof可以对接用户空间后端scm存储。

进一步的,所述服务器端与所述客户端基于远程直接数据存储连接。具有创造性的rdma协议支持内存设备通过网络远程映射技术。通过网络以字节方式访问远端持久化存储设备,降低网络延时,提高存储效率。

本发明实施例提供的一种持久性存储的高效字节访问存储系统,基于persistentmemoryoverfabrics字节访问存储技术发明突出两点,其一是采用非易失性存储介质,提供内存级存储性能并保障数据的持久性,其二是采用自主的rdma网络协议实现内存设备的字节方式网络访问。实现方式主要采用server端和client端方式分别实现server端和client端。底层在pmem-core.ko的支持下封装libpmen库通过内存映射方式将nvdimm设备挂载至本地文件系统,连接librmen库封装pmemtarget端程序来定义pmem设备和fabirc协议绑定。client端使用librmem库封装pmemrunner定义远端pmem设备的发现和连接机制。

本发明实施例提供的一种持久性存储的高效字节访问存储系统,包括:服务器端、客户端;服务器端包括存储模块,传输模块、核心处理模块、用户空间模块;客户端生成永久存储请求指令,并将永久存储请求指令发送至核心处理模块,其中,永久存储请求指令中包含有目标数据字节;核心处理模块接收永久存储请求指令,并将永久存储请求指令发送至用户空间模块,用户空间模块通过传输模块将永久存储请求指令传输至存储模块;存储模块存储目标数据字节,并生成存储结果;用户空间通过所述传输模块获取所述存储结果,并将存储结果反馈至核心处理模块;核心处理模块将存储结果反馈至客户端,完成数据存储全过程,本发明实施例采用非易失性存储介质,提供内存级存储性能并保障数据的持久性,采用自主的rdma网络协议实现内存设备的字节方式网络访问,降低网络延时,提高存储效率,针对远端的pmem设备访问不需要同步响应,只需要异步的将同步站点的响应信息回传至客户端即可,这样大大降低了在网络层的消息传递,从而降低延时,提高性能。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1