[发明专利]一种哈希树缓存方法及装置在审
申请号: | 202011190181.0 | 申请日: | 2020-10-30 |
公开(公告)号: | CN112286873A | 公开(公告)日: | 2021-01-29 |
发明(设计)人: | 于超 | 申请(专利权)人: | 西安奥卡云数据科技有限公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/172;G06F16/17;G06F16/182 |
代理公司: | 西安维赛恩专利代理事务所(普通合伙) 61257 | 代理人: | 李明全 |
地址: | 710000 陕西省西安市西咸新区秦*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 哈希树 缓存 方法 装置 | ||
本发明公开了一种哈希树缓存方法及装置,根据写入数据的逻辑位置确定其在哈希树中的位置信息,将写入数据的哈希签名和位置信息存储在第一前置缓冲区;当第一前置缓冲区写满后,将其作为当前备用前置缓存区,并将其内部数据更新至哈希树;当哈希树的空间大小达到阈值时,将哈希树持久化至磁盘;在本发明中由于引入了第一前置缓冲区、第二前置缓冲区,使得读写数据对应了前置缓冲区,有效地隔离了上述两种互逆的哈希树操作,改进了哈希树操作的复杂度,可以实现用户读写任务与哈希树持久化并发执行,有效的提升了分布式存储系统的确定写性能。
技术领域
本发明属于计算机存储技术领域,尤其涉及一种哈希树缓存方法及装置。
背景技术
分布式存储空间管理的基本方法是通过多种映射,将用户可见的逻辑卷设备映射到分布在各个节点磁盘上的底层数据块。而为了维护这种映射关系,系统需要对大量的元数据进行管理。
在所有的映射关系中,逻辑卷设备通常采用树的方式实现从连续的虚拟地址空间映射到不连续的物理存储空间。已有的存储解决方案采用了基于哈希签名的方式构造空间树,一般称之为哈希树。根据内容生成哈希签名,使用哈希签名构造逻辑卷的空间树。这种方案的优点是可以直接对数据进行校验,使用树节点上的哈希签名与当前数据的哈希签名比较,可以判断数据真实性。
但是,基于哈希签名的空间树也存在缺点。当数据发生变化,树节点上的哈希签名必须跟着更新才能反映最新的数据。例如,逻辑卷设备发生了用户写任务,在指定位置的数据发生了改变,此时需要按照自顶向下的方式从磁盘读入哈希树上相应的分支上所有树节点到叶子节点,更新底层叶子节点中的哈希签名以映射新的数据。为了减少磁盘读写频率,树节点读入系统内存后会驻留一段时间。但是如果逻辑卷设备的空间很大,按照目前4K数据块构造哈希树,哈希树会占用大量的系统内存,如一个1TB的逻辑卷设备需要占用5GB内存。
因此,为了防止哈希树占用大量内存,同时尽量减少磁盘读写,设计上一般会根据当前所占系统内存的大小采取自底向上的方式将树节点持久化到磁盘。从哈希树支持用户写任务与自身持久化的方式来看,前者需要自顶向下的方式修改哈希树,把树节点从磁盘读入内存;后者需要自底向上的方式把树节点持久化到磁盘上。这两种互逆的操作,要求在同一时段只能执行一种操作,这样大大影响了分布式存储的写性能。
发明内容
本发明的目的是提供一种哈希树缓存方法及装置,以提升分布式存储系统的写性能。
本发明采用以下技术方案:一种哈希树缓存方法,包括以下步骤:
根据写入数据的逻辑位置确定其在哈希树中的位置信息,其中,位置信息包括叶子节点及偏移量;
将写入数据的哈希签名和位置信息存储在第一前置缓冲区;第一前置缓冲区为当前活动前置缓存区;
当第一前置缓冲区写满后,将其作为当前备用前置缓存区,并将其内部数据更新至哈希树;同时,将第二前置缓冲区作为当前活动前置缓存区;
当哈希树的空间大小达到阈值时,将哈希树持久化至磁盘。
进一步地,哈希树包括多个叶子节点、多个树节点及一个根节点;
其中,每个叶子节点中均存储有多个哈希签名;根节点和每个树节点中均存储有多个节点哈希签名;其中,节点哈希签名根据根节点/树节点的子节点数据生成。
进一步地,将哈希树持久化至磁盘包括以下步骤:
将哈希树中每个叶子节点的所有哈希签名均复制到磁盘中;
根据每个叶子节点的存储内容生成节点哈希签名,并更新至叶子节点对应的上一层的树节点中;
根据下一层的树节点的存储内容生成节点哈希签名,并更新至当前层的树节点中,直至当前层树节点为根节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安奥卡云数据科技有限公司,未经西安奥卡云数据科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011190181.0/2.html,转载请声明来源钻瓜专利网。