一种数据重分布方法、电子设备及存储介质技术

技术编号:28373798 阅读:53 留言:0更新日期:2021-05-08 00:00
本发明专利技术实施例涉及通信领域,公开了一种数据重分布方法、电子设备及存储介质。本发明专利技术中,方法包括:为待存储的数据记录添加桶号标识,并根据预先设置的桶号标识与分片数据库的对应关系,将数据记录存储至与数据记录的桶号标识对应的分片数据库;响应于数据重分布请求,获取待迁移数据的目标桶号标识;根据目标桶号标识,将待迁移数据迁移至目标分片数据库,通过在逻辑上对数据进行分区存储,提高了超大量数据重分布的可拓展性,避免了由于物理分区的受限而导致数据量过大时发生热点问题,提高系统可靠性;以一个桶号标识对应的数据记录为基本单元进行数据迁移,保证了数据迁移的性能和质量,并且降低了对业务的影响,提高了数据重分布的可用性。

【技术实现步骤摘要】
一种数据重分布方法、电子设备及存储介质
本专利技术实施例涉及分布式数据存储领域,特别涉及一种数据重分布方法、电子设备及存储介质。
技术介绍
随着通信技术的发展和进步,当前对数据进行存储的方法已经不再仅仅局限于集中式存储,对于大数据的存储,开始将数据进行拆分并进行分布式存储,在分布式数据库中,数据根据分发键存储到不同的数据节点上,构成逻辑上的大型数据库,提高数据存储的能力的对存储资源的综合利用,若因分发键选择的不合理、或者热点数据等问题,可能导致部分数据节点的数据量远超其他数据节点,成为性能及存储容量的瓶颈,严重影响分布式数据库的服务。对当前的数据进行数据重分布,是分布式数据库一项重要的基本功能。在现有技术中,重分布的方法包括离线重分布和基于数据预分片计数进行在线数据重分布,离线重分布过程关闭业务运行,然后进行数据的重分布,基于数据预分片的在线数据分布,通过预先在各节点建立多张表格,采用物理分区的方式将数据拆分,然后将数据按照映射关系填入对应表格,表格按照映射关系存于对应分片,数据重分布时,以分片作为基本单元进行数据变更。专利技术人发现相关技术中至少存在如下问题:离线重分布无法满足业务运行要求,现有计数在线重分布的方法不仅索引效率很低,而且会降低系统可靠性;在进行超大量数据的重分布时,可拓展性较差,依旧会出现热点问题,并且在数据迁移过程中,可能会因为磁盘容量导致数据迁移失败。
技术实现思路
本专利技术实施方式的目的在于提供一种数据重分布方法、电子设备及存储介质,使得能够进行高效的数据在线重分布,降低数据迁移对业务造成的影响,提高数据重分布的可拓展性,避免热点问题,保证数据迁移的效率和质量。为解决上述技术问题,本专利技术的实施方式提供了一种数据重分布方法,包括:为待存储的数据记录添加桶号标识,并根据预先设置的桶号标识与分片数据库的对应关系,将数据记录存储至与数据记录的桶号标识对应的分片数据库;响应于数据重分布请求,获取待迁移数据的目标桶号标识;根据目标桶号标识,将待迁移数据迁移至目标分片数据库。本专利技术的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述数据重分布方法。本专利技术的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的数据重分布方法。本专利技术实施方式相对于现有技术而言,通过为接收到的每条数据记录添加桶号标识,并将数据按照自身桶号标识及桶号标识和分片数据库的对应关系进行存储,实现了在逻辑上对数据进行分区并存储,使得不再需要为每个分片数据库都单独维护一张数据库存储的数据记录的表格,避免根据物理分区建立表格进行数据存储的时候受到建表数量的限制,将业务数据划分成更小的单元进行存储,提高了数据重分布的可拓展性,从而避免了数据量过大带来的热点问题,提高系统可靠性;在进行数据重分布的时候,通过确定要迁移数据的目标桶号标识,将目标桶号标识对应的数据迁移到目标数据库中,实现了以一个桶号标识对应的数据记录为基本单元进行数据迁移,保证了数据迁移的效率和质量,并且降低了对业务的影响,提高了数据重分布的可用性。另外,根据目标桶号标识,将待迁移数据迁移至目标分片数据库,包括:将待迁移数据的目标桶号标识分成N组,同一组的目标桶号标识对应的待迁移数据作为同一批次的待迁移数据;其中,N为大于1的整数;根据各组的目标桶号标识,分批次迁移至目标数据库,通过对待迁移数据按照桶号标识进行分批迁移,避免了单次迁移的数据过多,占用存储资源过大,影响迁移性能,同时由于采用了分批迁移数据的方式,降低了迁移数据过程中,对业务造成的影响。另外,根据各组的目标桶号标识,分批次迁移至目标数据库,包括:锁定当前批次的待迁移数据的目标桶号标识;将当前批次的待迁移数据迁移至目标数据库,并在完成迁移后解锁当前批次的待迁移数据的目标桶号标识,对一个分组内的数据标识对应的数据进行迁移时,通过根据数据标识,锁定数据的操作权限,避免了在数据迁移时对数据进行访问和操作导致数据丢失等问题,保证了数据迁移的质量。另外,将当前批次的待迁移数据迁移至目标数据库,包括:向数据库代理发送数据迁移指令,数据迁移指令携带当前批次的待迁移数据的目标桶号标识和目标分片数据库,供数据库代理根据目标桶号标识从源分片数据库中获取当前批次的待迁移数据,并将当前批次的待迁移数据迁移至目标分片数据库,根据待迁移数据的桶号标识和数据迁移的目标分片数据库发布数据迁移命令,由数据库代理对待迁移数据进行读取和迁移,省去了将数据导出到文件系统这一步骤,避免了额外的导出和导入,提高了数据迁移的性能和效率。另外,为待存储的数据记录添加桶号标识前,还包括:按照以下公式计算桶号标识的数量M,其中,S为预估的待存储数据记录的数量,L为各桶号标识预设最大使用次数,通过预先设置足够数量的桶号标识,避免了数据分布存储时出现热点问题,保证了数据尽可能均匀的分布。另外,为待存储的数据记录添加桶号标识,包括:根据随机散列算法确定待添加的桶号标识;将确定的待添加的桶号标识,添加至待存储的数据记录的拓展字段中,通过随机散列算法为待存储数据记录分配待添加的桶号标识,从而保证了在根据桶号标识将数据记录存储到分片数据库中时,数据的均匀分布。另外,为待存储的数据记录添加桶号标识后,还包括:检测添加的桶号标识的使用次数是否已达到预设最大使用次数;若已达到预设最大使用次数,则将添加的桶号标识标记为禁止使用;方法还包括;在根据随机散列算法确定待添加的桶号标识后,在将确定的待添加的桶号标识,添加至待存储的数据记录的扩展字段前,检测确定的待添加的桶号标识,是否为标记为禁止使用的桶号标识;若是标记为禁止使用的桶号标识,则重新根据随机散列算法确定待添加的桶号标识;若不是标记为禁止使用的桶号标识,则再执行将确定的待添加的桶号标识,添加至待存储的数据记录的扩展字段中,通过在一个桶号标识使用次数足够多的时候,禁用这个桶号标识,在计算出的数据结果对应已禁止使用的桶号标识时,重新进行桶号标识的分配,避免了一个桶号标识下对应的数据过多,导致数据迁移的性能下降。另外,根据目标桶号标识,将待迁移数据迁移至目标分片数据库后,还包括:更新桶号标识与分片数据库的对应关系,通过对桶号标识和分片数据库对应关系的更新,避免了数据访问的错误,保证了数据迁移的质量。附图说明一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。图1是根据本专利技术第一实施方式中的数据重分布方法流程图;图2是根据本专利技术第二实施方式中的数据重分布方法流程图;图3是根据本专利技术第二实施方式中的数据重分布方法的系统架构示意图;图4是根据本专利技术第三实施方式中的电子设备结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发本文档来自技高网...

【技术保护点】
1.一种数据重分布方法,其特征在于,包括:/n为待存储的数据记录添加桶号标识,并根据预先设置的桶号标识与分片数据库的对应关系,将所述数据记录存储至与所述数据记录的桶号标识对应的分片数据库;/n响应于数据重分布请求,获取待迁移数据的目标桶号标识;/n根据所述目标桶号标识,将所述待迁移数据迁移至目标分片数据库。/n

【技术特征摘要】
1.一种数据重分布方法,其特征在于,包括:
为待存储的数据记录添加桶号标识,并根据预先设置的桶号标识与分片数据库的对应关系,将所述数据记录存储至与所述数据记录的桶号标识对应的分片数据库;
响应于数据重分布请求,获取待迁移数据的目标桶号标识;
根据所述目标桶号标识,将所述待迁移数据迁移至目标分片数据库。


2.根据权利要求1所述的数据重分布方法,其特征在于,所述根据所述目标桶号标识,将所述待迁移数据迁移至目标分片数据库,包括:
将所述待迁移数据的目标桶号标识分成N组,同一组的目标桶号标识对应的待迁移数据作为同一批次的待迁移数据;其中,N为大于1的整数;
根据各组的目标桶号标识,分批次迁移至所述目标数据库。


3.根据权利要求2所述的数据重分布方法,其特征在于,所述根据各组的目标桶号标识,分批次迁移至所述目标数据库,包括:
锁定当前批次的待迁移数据的目标桶号标识;
将所述当前批次的待迁移数据迁移至所述目标数据库,并在完成迁移后解锁所述当前批次的待迁移数据的目标桶号标识。


4.根据权利要求3所述的数据重分布方法,其特征在于,所述将当前批次的待迁移数据迁移至所述目标数据库,包括:
向数据库代理发送数据迁移指令,所述数据迁移指令携带所述当前批次的待迁移数据的目标桶号标识和目标分片数据库,供所述数据库代理根据所述目标桶号标识从源分片数据库中获取所述当前批次的待迁移数据,并将所述当前批次的待迁移数据迁移至所述目标分片数据库。


5.根据权利要求1所述的数据重分布方法,其特征在于,在所述为待存储的数据记录添加桶号标识前,还包括:按照以下公式计算桶号标识的数量M,



其中,S为预估的待存储数据记录的数量,L为各桶号标识预设最大使用次数。<...

【专利技术属性】
技术研发人员:郭龙波岳新新丁岩刘志文
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

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

1