一种数据逻辑位置映射方法技术

技术编号:24681834 阅读:17 留言:0更新日期:2020-06-27 07:35
本发明专利技术公开了一种数据逻辑位置映射方法,将每个逻辑卷分成多个相同空间大小的逻辑节点;将待存储数据对象的数据摘要值依次存储至每个逻辑节点中;根据每个存储有数据摘要值的逻辑节点生成该节点的节点摘要值;填充上层父节点:将相邻的n个存储有数据摘要值的逻辑节点的节点摘要值填充至一个空的逻辑节点,将填充后的逻辑节点作为该n个存储有数据摘要值的逻辑节点的上层父节点;重复执行填充上层父节点步骤,直至生成的上层父节点的数量为1个,生成数据逻辑位置对应关系;本发明专利技术通过巧妙地安排元数据组织方式,使得元数据本身也可以被精简配置以及重复删除,提高了空间利用率以及运行效率。

A method of data logical location mapping

【技术实现步骤摘要】
一种数据逻辑位置映射方法
本专利技术属于计算机数据存储
,尤其涉及一种数据逻辑位置映射方法。
技术介绍
随着大数据时代的降临,业务应用对存储空间的需求越来越大,性能越来越高。海量的数据对存储的要求已经远远超出了传统的多控存储系统所能承受的范围。没有哪一套单机的存储能够提供如此大的数据存储能力。存储系统正在向着大规模、分布式、虚拟化方向发展。分布式存储空间的管理,是通过某种手段或者软件将分散在多个服务器节点上的零散硬盘空间组织到一起,组成一个逻辑上连续的大型储存空间。然后,由多台存储服务器相互协作,给用户呈现一个统一的、虚拟的单一空间视图。从成本和性能等的多方面考虑,目前的分布式存储往往会使用许多台廉价的商用硬件,在其上安装一层软件管理系统,作为一套统一的系统对外提供存储服务。已有的解决方案比如开源的CEPH,以及EMC和NETAPP的相关存储产品,均提供存储虚拟化和分布式管理的功能。CEPH提供分布式对象存储和块存储,以及文件系统的功能。但CEPH的实现中缺失重复数据删除这一环节,导致空间利用率不高。若使用复杂的跨节点纠删码,可以适当提升其空间利用率。但是,由于其纠删码实现过程的复杂性,导致性能降低,故障率上升。EMC和NETAPP的相关产品虽然提供了全局重复数据删除的功能,但由于其在元数据管理的设计上的不足,导致其元数据本身无法被重删和精简,使得存储空间使用并不高效。由上述可知,现有技术的缺点在于要么根本无法对存储中的数据进行重复删除,要么对元数据部分无法进行精简配置和重复数据删除。同时,将元数据和用户数据区别对待,导致软件逻辑变得十分复杂,规模更庞大,增加了出错的几率,降低了运行的效率。
技术实现思路
本专利技术的目的是提供一种数据逻辑位置映射方法,以对分布式存储的元数据进行有效的管理,实现元数据本身的精简配置和重复数据删除。本专利技术采用以下技术方案:一种数据逻辑位置映射方法,包括:将每个逻辑卷分成多个相同空间大小的逻辑节点;其中,b=n*a,b为每个逻辑节点的空间大小,n为正整数,a为数据对象的数据摘要值所占用的空间大小;将待存储数据对象的数据摘要值依次存储至每个逻辑节点中;根据每个存储有数据摘要值的逻辑节点生成该节点的节点摘要值;填充上层父节点:将相邻的n个存储有数据摘要值的逻辑节点的节点摘要值填充至一个空的逻辑节点,将填充后的逻辑节点作为该n个存储有数据摘要值的逻辑节点的上层父节点;重复执行填充上层父节点步骤,直至生成的上层父节点的数量为1个,将该上层父节点作为根节点,生成数据逻辑位置对应关系。进一步地,当需要对逻辑卷进行克隆或快照时,提取根节点的节点摘要值,生成克隆或快照的逻辑卷。进一步地,生成克隆或快照的逻辑卷还包括将每个节点摘要值的引用计数加1。进一步地,在未填充数据摘要值或节点摘要值的逻辑节点中,引用全零对象。进一步地,采用SHA1或者CITYHASH算法生成数据摘要值和节点摘要值。本专利技术的有益效果是:本技术方案巧妙地安排元数据组织方式,实现了将用户数据和元数据一视同仁,共享同一块存储池,使得元数据本身也可以被精简配置以及重复删除,同时,因为对元数据和用户数据同源,所以在实现中只需要同一套逻辑来进行管理,无需区别对待,大大降低了软件逻辑的复杂度,从而提高了空间利用率以及运行效率。【附图说明】图1为本专利技术实施例中逻辑空间树的结构示意图;图2为本专利技术实施例中零逻辑空间树的结构示意图。【具体实施方式】下面结合附图和具体实施方式对本专利技术进行详细说明。一般地,存储系统给用户所提供的是一个逻辑卷设备,用户通过设备的逻辑地址读写数据。在分布式存储系统中,由于真实的数据对象是分布在不同节点的不同硬盘上。因而需要某种手段将逻辑地址和该地址所对应的数据位置联系起来。本实施例使用“LUNTREE”逻辑空间树,管理逻辑卷的逻辑地址到其对应的数据摘要值的映射。进而,分布式存储系统还可以通过数据摘要值向更底层的模块请求对应的数据对象。本实施例通过将逻辑空间树的元数据封装成跟用户数据同样的对象,将用户数据和元数据巧妙存放在同一个存储池中,按照相同的逻辑进行处理。从而支持元数据的重删和精简。本专利技术实施例提供了一种数据逻辑位置映射方法,包括:将每个逻辑卷分成多个相同空间大小的逻辑节点;其中,b=n*a,b为每个逻辑节点的空间大小,n为正整数,a为数据对象的数据摘要值所占用的空间大小;将待存储数据对象的数据摘要值依次存储至每个逻辑节点中;根据每个存储有数据摘要值的逻辑节点生成该节点的节点摘要值;填充上层父节点:将相邻的n个存储有数据摘要值的逻辑节点的节点摘要值填充至一个空的逻辑节点,将填充后的逻辑节点作为该n个存储有数据摘要值的逻辑节点的上层父节点;重复执行填充上层父节点步骤,直至生成的上层父节点的数量为1个,将该上层父节点作为根节点,如图1所示,生成数据逻辑位置对应关系。本技术方案巧妙地安排元数据组织方式,实现了将用户数据和元数据一视同仁,共享同一块存储池,使得元数据本身也可以被精简配置以及重复删除,同时,因为对元数据和用户数据同源,所以在实现中只需要同一套逻辑来进行管理,无需区别对待,大大降低了软件逻辑的复杂度,从而提高了空间利用率以及运行效率。分布式管理的存储系统跨节点地将每个服务器的零散存储空间组织起来,给用户呈现一个统一连续的视图。用户所见的连续视图,就是一个存储设备,也叫做LUN(逻辑卷)。LUN(逻辑卷)是一个由软件模拟的虚拟存储设备,用传统的方式呈现给用户操作系统识别,被用于底层块设备。在本实施例中,用一个逻辑空间树来表示数据对象与逻辑位置之间的对应关系,当完成了上述的步骤后,即可生成如图1所示的逻辑空间树,在该树形结构中,n取值为3,包含如下结点:根结点:0;中间结点:1,2,3叶子节结点:4,5,6,7,8,9。每一个树节点都是一个存储了一组数据,树结点内部所保存的数据为加密摘要值(即数据摘要值或节点摘要值)。每当有新的用户数据或者元数据写入,数据会被切分为一个个相同大小的“数据对象”。数据对象的大小可以预先定义,一般为4KB或者8KB。树节点对象和用户数据对象具有相同大小,按照同样逻辑处理。数据对象会被某种加密哈希算法进行摘要计算,得到该数据对象的加密摘要值,即数据摘要值。摘要算法可以使用SHA1或者CITYHASH等成熟算法。随后,数据摘要值会被保存在树结点内部。结点大小预先定义,根据预先定义的结点大小,可以包含的加密摘要值的个数也随之确定。在实际应用的存储系统中,每个结点可以包含的加密摘要值的数量可能多达几百个。本实施例为了叙述方便,图中以3个加密摘要值为例。叶子结点的内部数据保存用户数据的数据摘要值,根据叶子结点在树中所处的位置,以及数据摘要值在结点内部的偏移量,代表逻辑卷的不同逻辑块号的内容。例本文档来自技高网
...

【技术保护点】
1.一种数据逻辑位置映射方法,其特征在于,包括:/n将每个逻辑卷分成多个相同空间大小的逻辑节点;其中,b=n*a,b为每个逻辑节点的空间大小,n为正整数,a为数据对象的数据摘要值所占用的空间大小;/n将待存储数据对象的数据摘要值依次存储至每个逻辑节点中;/n根据每个存储有数据摘要值的逻辑节点生成该节点的节点摘要值;/n填充上层父节点:将相邻的n个存储有数据摘要值的逻辑节点的节点摘要值填充至一个空的逻辑节点,将填充后的逻辑节点作为该n个存储有数据摘要值的逻辑节点的上层父节点;/n重复执行所述填充上层父节点步骤,直至生成的上层父节点的数量为1个,将该上层父节点作为根节点,生成数据逻辑位置对应关系。/n

【技术特征摘要】
1.一种数据逻辑位置映射方法,其特征在于,包括:
将每个逻辑卷分成多个相同空间大小的逻辑节点;其中,b=n*a,b为每个逻辑节点的空间大小,n为正整数,a为数据对象的数据摘要值所占用的空间大小;
将待存储数据对象的数据摘要值依次存储至每个逻辑节点中;
根据每个存储有数据摘要值的逻辑节点生成该节点的节点摘要值;
填充上层父节点:将相邻的n个存储有数据摘要值的逻辑节点的节点摘要值填充至一个空的逻辑节点,将填充后的逻辑节点作为该n个存储有数据摘要值的逻辑节点的上层父节点;
重复执行所述填充上层父节点步骤,直至生成的上层父节点的数量为1个,将该上层父节点作为根节点,生成数据逻辑位置对应...

【专利技术属性】
技术研发人员:陈鹏刘洋刘露
申请(专利权)人:西安奥卡云数据科技有限公司
类型:发明
国别省市:陕西;61

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

1