[发明专利]一种存储扩容方法、装置、设备及可读存储介质在审
申请号: | 201911398108.X | 申请日: | 2019-12-30 |
公开(公告)号: | CN111159296A | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 刘鹏程 | 申请(专利权)人: | 深圳市网心科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/21;G06F3/06 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王兆林 |
地址: | 518052 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储 扩容 方法 装置 设备 可读 介质 | ||
本申请公开了一种存储扩容方法。本申请还公开了一种存储扩容装置、设备及可读存储介质。本申请所提供的技术方案能够利用Murmur哈希对数据分库进行负载均衡;在扩容时利用Murmur哈希确定各个数据分库中的待迁数据;创建新数据分库并将待迁数据写入新数据分库中;数据迁移完成后,删除旧数据分库中待迁移数据。仅在完成数据迁移后,将旧数据分库中的待迁移数据删除,如此便可在扩容数据迁移过程中,旧数据分库依然可提供数据读取服务,同时新旧数据分库均可提供数据写入服务。可见,方法可在不影响对外提供数据服务的情况下,完成存储扩容。
技术领域
本申请涉及存储技术领域,特别涉及一种存储扩容方法、装置、设备及可读存储介质。
背景技术
区块链的历史数据需要持久化且不可修改,以供日后的查询对账等。
目前区块链业务的存储量级取决于单块SSD(Solid State Drive,固态硬盘)的容量大小。随着区块链业务的运行,区块以及交易不断的产生会遇到存储引擎会逐渐吃满整块存储空间(即一块存储介质不够用),另外,文件是有数据存储结构的,数据量的增大会直接影响数据的读取性能。写入性能也会间接的受到影响随着单存储引擎的不断膨胀,数据的读写性能会受到影响。为了解决上述问题,目前主要通过扩大存储容量的方式解决,但目前的扩容方式数据迁移复杂,需运维介入切数据。因而区块链业务需停止对外服务,影响用户体验。
因此,如何在不影响业务的情况下实现区块链存储扩容等问题,是本领域技术人员需要解决的问题。
发明内容
本申请的主要目的在于提供一种存储扩容方法、装置、设备及可读存储介质,旨在解决如何在不影响业务的情况下实现区块链存储扩容的技术问题。
为实现上述目的,本申请提供了一种存储扩容方法,包括:
利用Murmur哈希对数据分库进行负载均衡;
在扩容时利用所述Murmur哈希确定各个所述数据分库中的待迁数据;
创建新数据分库并将所述待迁数据写入所述新数据分库中;
数据迁移完成后,删除旧数据分库中所述待迁移数据。
优选地,创建新数据分库并将所述待迁数据写入所述新数据分库中,包括:
在扩容存储设备中创建新数据分库;其中,所述扩容存储设备与旧存储设备的存储空间大小一致;
将所述待迁数据写入所述新数据分库中。
优选地,将所述待迁数据写入所述新数据分库中,包括:
将所述待迁移数据划分为大小相同的若干个批次数据;
将批次数据批量写入所述新数据分库对应的磁盘中。
优选地,在扩容时利用所述Murmur哈希确定各个所述数据分库中的待迁数据,包括:
为各个所述数据分库创建迭代器;
利用所述迭代器遍历对应数据分库的所有数据,并利用所述Murmur哈希判断是否需求迁移;
将需要迁移的数据确定为所述待迁数据。
优选地,在扩容时将当前扩容状态标记为写状态,在所述数据迁移完成后,删除旧数据分库中所述待迁移数据之后,将所述当前扩容状态标记为完成。
优选地,在所述当前扩容状态为写状态时,包括:
接收并解析数据读取请求,确定目标数据;
从所述旧数据分库中读取所述目标数据。
优选地,在所述当前扩容状态为写状态时,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市网心科技有限公司,未经深圳市网心科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911398108.X/2.html,转载请声明来源钻瓜专利网。