首页 / 专利库 / 电信 / 节点 / 子节点 / 实现基于对象存储服务的NAS的虚拟元数据映射系统和方法

实现基于对象存储服务的NAS的虚拟元数据映射系统和方法

阅读:342发布:2023-12-30

专利汇可以提供实现基于对象存储服务的NAS的虚拟元数据映射系统和方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种实现基于对象存储服务的NAS的虚拟元数据映射系统和方法。所述的虚拟元数据映射系统位于NAS服务模 块 的底层,为NAS服务模块做后端 支撑 ,所述的虚拟元数据映射系统将对象存储服务进行元数据虚拟映射来达到模拟POSIX文件系统元数据,所述的虚拟元数据映射系统包括一个可持久化元数据分级排序表;所述的分级排序表采用的表索引值是每个表 节点 的父目录索引号、该表节点代表的文件或者目录的索引号和该表节点代表的文件或者目录名,表的分级采用虚拟文件系统的目录结构来进行分级,在每一个分级表中再利用表节点里的文件或者目录名来进行排序,表节点里的父目录的索引号作为 指针 指向上级目录表,同时表节点还有一个指针指向子表的虚拟头节点。,下面是实现基于对象存储服务的NAS的虚拟元数据映射系统和方法专利的具体信息内容。

1.实现基于对象存储服务的NAS的虚拟元数据映射系统,其特征在于所述的虚拟元数据映射系统用于桥接NAS接口和后端的对象存储服务,所述的虚拟元数据映射系统位于NAS服务模的底层,为NAS服务模块做后端支撑,所述的虚拟元数据映射系统将对象存储服务进行元数据虚拟映射来达到模拟POSIX文件系统元数据,所述的虚拟元数据映射系统包括一个可持久化元数据分级排序表;
所述的分级排序表采用的表索引值是每个表节点的父目录索引号、该表节点代表的文件或者目录的索引号和该表节点代表的文件或者目录名,表的分级采用虚拟文件系统的目录结构来进行分级,在每一个分级表中再利用表节点里的文件或者目录名来进行排序,表节点里的父目录的索引号作为指针指向上级目录表,同时表节点还有一个指针指向子表的虚拟头节点。
2.根据权利要求1所述的实现基于对象存储服务的NAS的虚拟元数据映射系统,其特征在于每个子表都按照随机跳跃的方式来插入,每次新建一个文件或者目录的时候,在对应的子表中新增一个节点,根据目录或者文件不同,每个节点存在的层级也不同。
3.根据权利要求2所述的实现基于对象存储服务的NAS的虚拟元数据映射系统,其特征在于每个节点有两个指针,一个指针指向兄弟节点,另外一个指向下层节点,下层节点是本节点的复制节点,节点的跳跃方式为加权跳跃。
4.根据权利要求3所述的实现基于对象存储服务的NAS的虚拟元数据映射系统,其特征在于所述的加权跳跃就是将目录节点跳跃基数设置为5,文件节点跳跃基数设置为0,在形成这个子表的过程中,如果要插入一个目录节点,那么用随机数(范围0~5)加上5作为此目录节点的层级数,反之如果要插入一个文件节点,那么用随机数(范围0~5)作为此文件节点的层级数。
5.根据权利要求4所述的实现基于对象存储服务的NAS的虚拟元数据映射系统,其特征在于所述节点的层级数就是这个节点被复制的个数,节点有多少个层级,它就可以在多少个层级中被检索到,由于在查询路径时,目录会被经常检索,目录的层级数比文件的节点至少多5个。
6.一种实现高效元数据分级排序表持久化的方法,其特征在于根据权利要求1所述的虚拟元数据映射系统来做软硬件的定制,采用INTEL的64位处理器,定制的工控主板,加一块256GB的PCIE的SSD,并使用3块以上600GB的sas硬盘来组成raid5,裁剪Linux内核,只留下必要的驱动和模块,制作启动镜像,并且使系统启动以后完全运行在内存中,以加快系统运行速度。
NPave高性能虚拟元数据映射系统启动后,将SSD通过ioremap到系统的内存统一寻址空间,所有节点的插入和排序操作都在系统内存中完成,一旦插入部分的排序完成以后,就将内存中这一部分数据移入SSD的寻址空间,一旦需要读取或者查询的时候,都在SSD的寻址空间内完成,这样读写在不同的临界区,可以实现无读写,同时,SSD的寻址空间内保存的是常用的表空间,当SSD中部分表空间内容长时间不被使用的时候,就转移部分到SAS硬盘组成的raid5空间,需要查询时,如果需要的表空间内容不在SSD的寻址空间内部,则触发中断,并将内容从SAS硬盘组成的raid5空间中加载到SSD的寻址空间内部。

说明书全文

实现基于对象存储服务的NAS的虚拟元数据映射系统和方法

技术领域

[0001] 本发明涉及一种实现基于对象存储服务的NAS的虚拟元数据映射系统和方法。

背景技术

[0002] 对象存储服务是由网络服务商提供的一种海量、弹性、高可用、高性价比的存储服务,是一项面向Internet访问的服务,提供了基于HTTP/HTTPS协议的Web服务接口,用户可以随时随地在任意可以连接至Internet的电脑上,通过接口调用来访问和管理存储在对象存储服务中的数据。
[0003] 对象存储服务把存储作为一种服务资源进行按需付费,即使用多少存储支付多少费用。用户购买存储无需提前规划,只需花极少的钱就可以获得一个几乎无限的存储空间,可以随时根据需要调整对资源的占用,并只需为真正使用的资源付费。
[0004] 但是对象存储服务对于大多数用户而言界面是不友好的,因为对象存储服务存取数据完全是采用HTTP/HTTPS的API请求完成,不要说一般用户使用,就连没有进行专开发的软件也无法很好地使用这个存储服务。
[0005] NAS(Network Attached Storage)网络存储基于标准网络协议实现数据传输,为网络中的Windows/Linux/Mac OS等各种不同操作系统的计算机提供文件共享和数据备份。一般企业级NAS支持CIFS、NFS和FTP等协议,企业内部用户通过常用的操作系统可以直接对NAS进行文件存取,各种企业应用软件也可以无需修改很轻松地访问NAS存储。
[0006] NAS一般而言展现为一个可以进行统一授权管理的POSIX文件系统。既然是一种POSIX文件系统,那么就需要支持标准的目录分级结构、目录遍历、文件读写、重命名等等操作。
[0007] 然而,一般来说NAS采用文件系统格式化磁盘阵列作为存储后端,对于存储后端采用基于对象存储服务的NAS来说,要实现与后端的对象存储服务对接需要做很多工作。因为这个对接无法通过简单的读写接口调用来完成,这两种存储的实现原理和对外提供服务的API有很大的不同。最重要的就是对象存储是散列单元存储,是扁平化存储,不存在分级目录的概念。因此,NAS服务模不可能直接利用对象存储作为存储后端,需要通过转换,但简单的协议转换会因为对象存储服务的性能问题导致NAS服务的质量降低。

发明内容

[0008] 针对现有技术存在的问题,本发明提供一种实现基于对象存储服务的NAS的虚拟元数据映射系统和方法,能够利用对象存储服务的灵活性和扩展性提供一个简单易用、高弹性和高可靠性的NAS系统,同时保障NAS服务模块不会因为对象存储服务的性能问题导致NAS服务的质量降低,能够高效稳定地访问和管理存储在对象存储服务中的数据,使用方便。
[0009] 本发明采取的技术方案是:一种实现基于对象存储服务的NAS的虚拟元数据映射系统,所述的虚拟元数据映射系统用于桥接NAS接口和后端的对象存储服务,所述的虚拟元数据映射系统位于NAS服务模块的底层,为NAS服务模块做后端支撑,所述的虚拟元数据映射系统将对象存储服务进行元数据虚拟映射来达到模拟POSIX文件系统元数据,所述的虚拟元数据映射系统包括一个可持久化元数据分级排序表;
[0010] 所述的分级排序表采用的表索引值是每个表节点的父目录索引号、该表节点代表的文件或者目录的索引号和该表节点代表的文件或者目录名,表的分级采用虚拟文件系统的目录结构来进行分级,在每一个分级表中再利用表节点里的文件或者目录名来进行排序,表节点里的父目录的索引号作为指针指向上级目录表,同时表节点还有一个指针指向子表的虚拟头节点(这个节点不代表任何虚拟文件系统的文件或者目录,仅仅是下级表的头节点)。
[0011] 每个子表都按照随机跳跃的方式来插入,每次新建一个文件或者目录的时候,在对应的子表中新增一个节点,根据目录或者文件不同,每个节点存在的层级也不同。
[0012] 每个节点有两个指针,一个指针指向兄弟节点,另外一个指向下层节点,下层节点是本节点的复制节点,节点的跳跃方式为加权跳跃。
[0013] 所述的加权跳跃就是将目录节点跳跃基数设置为5,文件节点跳跃基数设置为0,在形成这个子表的过程中,如果要插入一个目录节点,那么用随机数(范围0~5)加上5作为此目录节点的层级数,反之如果要插入一个文件节点,那么用随机数(范围0~5)作为此文件节点的层级数。
[0014] 所谓节点的层级数就是这个节点的被复制的个数,节点有多少个层级,它就可以在多少个层级中被检索到。由于在查询路径时,目录会被经常检索,因此它的层级数比文件的节点至少多5个(就是前面提到的目录节点用随机数加上5作为层级数)。
[0015] 一种实现高效元数据分级排序表持久化的方法,是根据虚拟元数据映射系统来做软硬件的定制,采用INTEL的64位处理器,定制的工控主板,加一块256GB的PCIE的SSD,并使用3块以上600GB的sas硬盘来组成raid5,裁剪Linux内核,只留下必要的驱动和模块,制作启动镜像,并且使系统启动以后完全运行在内存中,以加快系统运行速度。
[0016] NPave高性能虚拟元数据映射系统启动后,将SSD通过ioremap到系统的内存统一寻址空间,所有节点的插入和排序操作都在系统内存中完成,一旦插入部分的排序完成以后,就将内存中这一部分数据移入SSD的寻址空间,一旦需要读取或者查询的时候,都在SSD的寻址空间内完成,这样读写在不同的临界区,可以实现无读写,同时,SSD的寻址空间内保存的是常用的表空间,当SSD中部分表空间内容长时间不被使用的时候,就转移部分到SAS硬盘组成的raid5空间,需要查询时,如果需要的表空间内容不在SSD的寻址空间内部,则触发中断,并将内容从SAS硬盘组成的raid5空间中加载到SSD的寻址空间内部。
[0017] 本发明根据元数据本身的特性和在实现模拟POSIX文件系统的需要,实现了一个我们独创的可持久化元数据分级排序表来达到这个目的,能够利用对象存储服务的灵活性和扩展性提供一个简单易用、高弹性和高可靠性的NAS系统,同时保障NAS服务模块不会因为对象存储服务的性能问题导致NAS服务的质量降低,能够高效稳定地访问和管理存储在对象存储服务中的数据,使用方便。附图说明
[0018] 图1是本发明的结构框图
[0019] 图2是本发明的目录结构图。
[0020] 图3是本发明的节点层级结构图。

具体实施方式

[0021] 下面结合附图,对本发明的技术方案作进一步说明:
[0022] 如图1所示,本发明的NPave高性能虚拟元数据映射系统,用于桥接NAS接口和后端的对象存储服务,其位于NAS服务模块的底层,为NAS服务模块做后端支撑,让对象存储服务对NAS服务模块来说是透明的。所述的虚拟元数据映射系统将对象存储服务进行元数据虚拟映射来达到模拟POSIX文件系统元数据,所述的虚拟元数据映射系统主要由一个可持久化元数据分级排序表组成;
[0023] 所述的分级排序表采用的表索引值是每个表节点的父目录索引号、该表节点代表的文件或者目录的索引号和该表节点代表的文件或者目录名,表的分级采用虚拟文件系统的目录结构来进行分级,在每一个分级表中再利用表节点里的文件或者目录名来进行排序,表节点里的父目录的索引号作为指针指向上级目录表,同时表节点还有一个指针指向子表的虚拟头节点(这个节点不代表任何虚拟文件系统的文件或者目录,仅仅是下级表的头节点)
[0024] 每个子表都按照随机跳跃的方式来插入,每次新建一个文件或者目录的时候,在对应的子表中新增一个节点,根据目录或者文件不同,每个节点存在的层级也不同。
[0025] 每个节点有两个指针,一个指针指向兄弟节点,另外一个指向下层节点,下层节点是本节点的复制节点,节点的跳跃方式为加权跳跃。所述的实现基于对象存储服务的NAS的虚拟元数据映射系统,其特征在于所述的加权跳跃就是将目录节点跳跃基数设置为5,文件节点跳跃基数设置为0,在形成这个子表的过程中,如果要插入一个目录节点,那么用随机数(范围0~5)加上5作为此目录节点的层级数,反之如果要插入一个文件节点,那么用随机数(范围0~5)作为此文件节点的层级数。所谓节点的层级数就是这个节点的被复制的个数,节点有多少个层级,它就可以在多少个层级中被检索到。由于在查询路径时,目录会被经常检索,因此它的层级数比文件的节点至少多5个(就是前面提到的目录节点用随机数加上5作为层级数)。
[0026] 如图2所示,表索引值当中的父目录的索引号作为指针指向上级目录表,同时表节点还有一个指针指向子表的虚拟头节点(这个节点不代表任何虚拟文件系统的文件或者目录,仅仅是下级表的头节点)。最后每个子表都按照随机跳跃的方式来插入以提高查找效率。每次新建一个文件或者目录的时候,在对应的字表中新增一个节点,根据目录或者文件不同,每个节点存在的层级(layer)也不同,如图3所示:
[0027] d代表节点为目录,f代表节点为文件,每个节点有两个指针,一个指针指向兄弟节点,另外一个指向下层节点(下层节点是本节点的复制节点)节点的跳跃方式为加权跳跃。
[0028] 所谓加权跳跃就是将目录节点跳跃基数设置为5,文件节点跳跃基数设置为0。在形成这个子表的过程中,如果要插入一个目录节点,那么用随机数(范围0~5)加上5作为此目录节点的层级数,反之如果要插入一个文件节点,那么用随机数(范围0~5)作为此文件节点的层级数,所谓节点的层级数就是这个节点的被复制的个数,节点有多少个层级,它就可以在多少个层级中被检索到。。之所以这样做,是考虑到目录会在全路径搜索中被大量多次搜索定位(在全路径搜索过程中,除了最后一层的文件名,前面全都是目录名)。
[0029] 实现高效元数据分级排序表的持久化,需要根据我们这个NPave高性能虚拟元数据映射系统的特性,来做软硬件的定制。首先我们采用INTEL的64位处理器,定制的工控主板,加一块256GB的PCIE的SSD,并使用3块以上600GB的sas硬盘来组成raid5,裁剪Linux内核,只留下必要的驱动和模块,制作启动镜像,并且使系统启动以后完全运行在内存中,以加快系统运行速度。
[0030] NPave高性能虚拟元数据映射系统启动后,将SSD通过ioremap到系统的内存统一寻址空间。所有节点的插入和排序操作都在系统内存中完成,一旦插入部分的排序完成以后,就将内存中这一部分数据移入SSD的寻址空间。一旦需要读取或者查询的时候,都在SSD的寻址空间内完成,这样读写在不同的临界区,可以实现无锁读写。同时,SSD的寻址空间内保存的是常用的表空间,当SSD中部分表空间内容长时间不被使用的时候,就转移部分到SAS硬盘组成的raid5空间。需要查询时,如果需要的表空间内容不在SSD的寻址空间内部,则触发中断,并将内容从SAS硬盘组成的raid5空间中加载到SSD的寻址空间内部。
[0031] 本发明根据元数据本身的特性和在实现模拟POSIX文件系统的需要,实现了一个我们独创的可持久化元数据分级排序表来达到这个目的,能够保障NAS服务模块不会因为对象存储服务的性能问题导致NAS服务的质量降低,能够利用对象存储服务的灵活性和扩展性提供一个简单易用、高弹性和高可靠性的NAS系统,同时高效稳定地访问和管理存储在对象存储服务中的数据,使用方便。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈