[发明专利]分片扩容方法、装置及电子设备有效
申请号: | 201911070037.0 | 申请日: | 2019-11-05 |
公开(公告)号: | CN110968265B | 公开(公告)日: | 2023-08-08 |
发明(设计)人: | 许凤强 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京风雅颂专利代理有限公司 11403 | 代理人: | 安凯 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分片 扩容 方法 装置 电子设备 | ||
本公开实施例中提供了一种分片扩容方法、装置及电子设备,属于数据处理技术领域,该方法包括:获取待存储于分片的目标数据及所述目标数据所对应的key值;基于所述key值,确定生成所述目标数据的数据源的创建时间;将所述创建时间与所述分片的扩展时间进行比较,确定所述目标数据所述对应的分片数量;基于所述key值和所述分片数量,确定所述目标数据应该存储的分片ID。本公开的方案能够提高分片扩容的效率。
技术领域
本公开涉及数据处理技术领域,尤其涉及一种分片扩容方法、装置及电子设备。
背景技术
存储系统采用分布式架构通常用来解决两种问题,一个是解决存储数据量太大,单个物理机放不下的问题,另一种是通过对数据进行分散,提供系统数据读取的性能。只要是对存储进行分片,把数据均匀的拆分到不同机器上存储,上面的两种问题都会在一定程度上得到解决。
常见的分片方案有两种,一种是基于日期分片,比如一天一个表,一年一个库,这种适用于日志处理的场景。第二种是基于某个key进行哈希、取模运算,实现数据均匀分布。
随着数据量的增多,就需要对系统扩分片,扩容后,取模的值就会变化,数据就会落到不同的分片,为了保证扩容的时候不影响用户体验,通常的做法是在扩容期间数据采取双写的方案,扩容之前还需要预先把旧的数据迁移到新的分片,整个扩容过程很复杂。
发明内容
有鉴于此,本公开实施例提供一种分片扩容方法、装置及电子设备,至少部分解决现有技术中存在的问题。
第一方面,本公开实施例提供了一种分片扩容方法,包括:
获取待存储于分片的目标数据及所述目标数据所对应的key值;
基于所述key值,确定生成所述目标数据的数据源的创建时间;
将所述创建时间与所述分片的扩展时间进行比较,确定所述目标数据所述对应的分片数量;
基于所述key值和所述分片数量,确定所述目标数据应该存储的分片ID。
根据本公开实施例的一种具体实现方式,所述获取待存储于分片的目标数据及所述目标数据所对应的key值,包括:
获取产生所述目标数据的数据源;
基于所述数据源,确定所述目标数据所对应的key值。
根据本公开实施例的一种具体实现方式,所述基于所述数据源,确定所述目标数据所对应的key值,包括:
在所述数据源创建时,对所述数据源进行哈希计算,得到哈希值;
将所述哈希值作为所述数据源产生的目标数据对应的key值。
根据本公开实施例的一种具体实现方式,所述基于所述key值,确定生成所述目标数据的数据源的创建时间之前,所述方法还包括:
获取数据源的创建操作;
响应于所述数据源的创建操作,在所述key值中记录数据源的创建时间。
根据本公开实施例的一种具体实现方式,所述基于所述key值,确定生成所述目标数据的数据源的创建时间之前,所述方法还包括:
获取发生分片数量变更的操作;
响应于所述发生分片数量变更的操作,记录发生分片数量变更的操作的时间以及变更后的分片数量。
根据本公开实施例的一种具体实现方式,所述基于所述key值,确定生成所述目标数据的数据源的创建时间,包括:
从所述key值中读取时间信息;
基于所述时间信息,确定生成所述目标数据的数据源的创建时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911070037.0/2.html,转载请声明来源钻瓜专利网。