数据云端存储方法技术

技术编号:11707823 阅读:134 留言:0更新日期:2015-07-09 14:33
本发明专利技术提供了一种数据云端存储方法,该方法包括:通过存储集群的区段映射进行地址转换,将应用程序发来的非顺序的读写请求地址映射到连续的实际地址空间以实现连续写入,利用基于缓存的存储集群写优化存储架构,在缓存中缓存并构造与存储集群条块对齐的写数据,以整个条块的方式将数据写入存储集群。本发明专利技术提出了一种存储方法,在写入磁盘过程中避免了因生成校验数据而产生的额外读写开销,通过数据的顺序写入有效减少了寻址操作,提高了存储性能。

【技术实现步骤摘要】

本专利技术涉及网络存储,特别涉及一种大数据存储处理方法。
技术介绍
在大规模存储系统中,为了提高存储系统的可靠性、改善IO性能以及满足海量数 据存储需求,将多个存储集群联合起来,形成统一的存储设备,例如将数据分散存储到集群 中的不同磁盘上以保证并行性,并采用冗余校验机制,在保证数据安全性的同时可获得大 容量和高数据传输率,对于顺序读写数据的存储系统,一般对数据传输带宽要求不苛刻,但 对数据可靠性、存储空间要求较高。即使考虑视频回放、备份恢复等对带宽的额外需求,采 用存储集群时,也存在着严重的性能浪费,同时伴随着严重的能源浪费和磁盘损耗,为了计 算校验数据,数据写入需要额外的读写开销和延时,降低了存储集群的吞吐能力。另一方 面,当向存储集群写入的数据块随机时,磁盘就需要寻址到新的数据位置,此时,随机读写 传输性能比顺序读写传输性能更低。
技术实现思路
为解决上述现有技术所存在的问题,本专利技术提出了一种,包 括: 通过存储集群的区段映射进行地址转换,将应用程序发来的非顺序的读写请求地 址映射到连续的实际地址空间以实现连续写入,利用基于缓存的存储集群写优化存储架 构,在缓存中缓存并构造与存储集群条块对齐的写数据,以整个条块的方式将数据写入存 储集群。 优选地,所述通过存储集群的区段映射进行地址转换,进一步包括: 将应用程序发来的非顺序的虚拟地址映射为连续的存储集群实际物理地址,定义 映射元数据、映射存储区,并记录映射关系到地址转换表,以每次写操作的写区段为单位进 行地址映射; 其中所述映射元数据描述一个映射区段的映射元数据,形式为(ViStart,Pistart, Leni,next),Vistart,Pistart,Leni,next分别为映射区段i的虚拟起始地址、物理起始地址区 段长度和相邻映射元数据索引; 所述映射存储区是外存中映射元数据的存储区段; 所述地址转换表记录每个虚拟地址对应的元数据索引和外存数据结构; 在进行地址转换时,先根据虚拟地址从地址转换表获得元数据索引,然后在映射 存储区由索引值获得元数据,并根据元数据进行区段地址转换,从虚拟区段(vstart,VEnd)中 的Vstart到VEnd,其中Vstart为虚拟区段的虚拟起始地址,ViEnd为虚拟区段的虚拟结束地址,根 据虚拟地址逐个查询。 优选地,还包括:利用LSM树进行映射区段查询,在内存中建立映射元数据的LSM 树,用(Vistart,viEnd,Pimeta)表示叶子节点,Vstart为区段i的虚拟起始地址,ViEnd为区段i的 虚拟结束地址,Pimeta是指向元数据(Vistart,Pistart,Leni,next)的已读入内存的指针; 父节点的关键字是所有子树中的最大关键字,每个叶子节点只包含两个关键字, 表示一个顺序区段,查找时,如果被查找值位于某个区段则查找成功,否则可由其父节点的 关键字确定其相邻区段,映射按虚拟地址由低到高的顺序排列在链表中; 并且,利用LSM树查询映射区段的过程如下: 1)分别查找Vkstart,VkEnd在LSM树中的位置,其中区段(Vkstart,VkEnd)为请求k的虚 拟地址区段; 2)将Vkstart,VkEnd之间所有存在的映射作为要查找的映射; 设定LSM树的最大节点数,当超过该最大节点数时便构建一棵新的LSM树,查找时 先根据虚拟地址确定所在的LSM树再进行查找。 本专利技术相比现有技术,具有以下优点: 本专利技术提出了一种存储方法,在写入磁盘过程中避免了因生成校验数据而产生的 额外读写开销,通过数据的顺序写入有效减少了寻址操作,提高了存储性能。【附图说明】 图1是根据本专利技术实施例的的流程图。【具体实施方式】 下文与图示本专利技术原理的附图一起提供对本专利技术一个或者多个实施例的详细描 述。结合这样的实施例描述本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅由权 利要求书限定,并且本专利技术涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节 以便提供对本专利技术的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中 的一些或者所有细节也可以根据权利要求书实现本专利技术。 本专利技术的一方面提供了一种,以提高顺序数据存储中存储集群 的写入性能。图1是根据本专利技术实施例的方法流程图。 本专利技术利用区段映射进行地址转换,将非顺序的读写请求地址映射到连续的地址 空间,以实现连续写入。特别适合顺序数据存储中的大块数据的地址转换;利用基于缓存的 存储集群写优化存储架构,在缓存中缓存并构造与存储集群条块对齐的写数据,然后整个 条块写入存储集群,实现对存储集群的完全写。 在写数据地址转换和对齐写数据过程中,首先引入虚拟地址、物理地址的定义。虚 拟地址是应用程序发来的读写请求地址;物理地址是数据在存储集群存储空间内的实际地 址。地址转换过程实现虚拟地址到物理地址的映射,即将非顺序(可能部分顺序)的虚拟 地址映射为连续的物理地址,并记录映射关系到地址转换表。经过地址转换后,写操作在物 理地址空间内完全顺序化。 对齐写数据是对物理地址顺序化的写请求进行聚合或拆分,在内存缓存区内组织 成为与存储集群条块对齐的写请求,即1个写请求在存储集群上恰好占满1个或多个完整 的条块。为了防止掉电导致缓存区内数据丢失,采用非易失性RAM镜像内存缓存区内的写 请求。 在本专利技术的区段映射中实现地址转换,以每次写操作的写区段为单位进行地址映 射,主要数据结构如下。 1)映射元数据:开$式为(ViStart,PiStart,Leni,next),描述一个映射区段,ViStart, PistartAeivnext分别为映射区段i的虚拟起始地址、物理起始地址区段长度和相邻映射元 数据索引,外存数据结构简称元数据; 2)映射存储区:外存中映射元数据的存储区段; 3)地址转换表:记录每个虚拟地址对应的元数据索引(index),外存数据结构。 地址转换时,先根据虚拟地址从地址转换表获得元数据索引,然后在映射存储区 由索引值获得元数据,并根据元数据进行区段地址转换。 地址转换时可以从虚拟区段(Vstart,VEnd)中的VEnd,其中Vstart为虚拟区段 的虚拟起始地址,ViEnd为虚拟区段的虚拟结束地址,根据虚拟地址逐个查询,最坏情况是查 询所有块的虚拟地址。 为了进一步提高地址转换效率,可以考虑引入LSM树进行映射区段查询。在内存 中建立映射元数据的LSM树,用(ViStart,ViEnd,pimrta)表示叶子节点,其中Vstart为区段i的虚 拟起始地址,ViEnd为区段i的虚拟结束地址,pimeta是指向元数据(ViStal^PistartAeivnext) 的指针(已读入内存)。 父节点的关键字是所有子树中的最大关键字,每个叶子节点只包含两个关键字, 表示一个顺序区段。查找时如果查找值位于某个区段则查找成功,否则可由其父节点的关 键字,确定其相邻区段,映射按虚拟地址由低到高的顺序排列在链表中(由映射插入规则, 虚拟区段不会相交)。 设请求k的虚拟地址区段为(Vkstart,VkEnd),利用LSM树查询映射区段的过程如下: 1)分别查找Vkstart,VkEnd在LSM树中的位置; 2)将Vkstart,VkEnd之间所本文档来自技高网...

【技术保护点】
一种数据云端存储方法,其特征在于,包括:通过存储集群的区段映射进行地址转换,将应用程序发来的非顺序的读写请求地址映射到连续的实际地址空间以实现连续写入,利用基于缓存的存储集群写优化存储架构,在缓存中缓存并构造与存储集群条块对齐的写数据,以整个条块的方式将数据写入存储集群。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨立波
申请(专利权)人:成都博元时代软件有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1