[发明专利]数据处理方法、装置、电子设备及存储介质有效
| 申请号: | 202010664421.X | 申请日: | 2020-07-10 |
| 公开(公告)号: | CN113297318B | 公开(公告)日: | 2023-05-02 |
| 发明(设计)人: | 郭超;李飞飞 | 申请(专利权)人: | 阿里云计算有限公司 |
| 主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/215 |
| 代理公司: | 北京智信四方知识产权代理有限公司 11519 | 代理人: | 钟文芳;宋海龙 |
| 地址: | 310024 浙江省杭*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据处理 方法 装置 电子设备 存储 介质 | ||
本公开实施例公开了一种数据处理方法、装置、电子设备及存储介质,所述方法包括:确定当前节点上的主数据范围;所述主数据范围内的主数据对应有存储在其他节点上的多个副本数据;将所述主数据范围切分成多个第一子数据范围;分别针对每个所述第一子数据范围进行数据修复,以便将所述第一子数据范围内的子数据与所述副本数据中对应的副本子数据中不一致的数据修复一致。该技术方案能够克服在数据修复过程中,针对在多个节点上存储有多个副本的数据进行多次修复而造成资源浪费的缺陷。
技术领域
本公开涉及计算机技术领域,具体涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
分布式系统为了保证数据可靠性,通常会把一份数据分别存在多个节点上,并且需要保持多个节点上的数据一致。但是一些分布式系统由于各种原因会存在各个数据副本不一致的情况,例如Cassandra数据库中用户采用one、two、quorum等多种不同的级别向多个数据副本进行写数据时,会造成其中一些副本数据不全。常见的分布式系统也会有自己的数据修复功能,例如Cassandra数据库的hintread-reapair修复机制,但是这种修复机制会造成系统的资源开销较大,运维成本较高。
发明内容
本公开实施例提供一种数据处理方法、装置、电子设备及计算机可读存储介质。
第一方面,本公开实施例中提供了一种数据处理方法,其中,包括:
确定当前节点上的主数据范围;所述主数据范围内的主数据对应有存储在其他节点上的多个副本数据;
将所述主数据范围切分成多个第一子数据范围;
分别针对每个所述第一子数据范围进行数据修复,以便将所述第一子数据范围内的子数据与所述副本数据中对应的副本子数据中不一致的数据修复一致。
进一步地,别针对每个所述第一子数据范围进行数据修复,以便将所述第一子数据范围内的子数据与所述副本数据中对应的副本子数据中不一致的数据修复一致,包括:
生成每个所述第一子数据范围对应的第一数据修复任务,所述修复任务用于将所述第一子数据范围内的子数据与所述副本数据中对应的副本子数据中不一致的数据修复一致;
为所述第一数据修复任务赋予优先级后提交至任务队列,以便按照所述优先级从所述任务队列中执行所述第一数据修复任务。
进一步地,所述方法还包括:
给所述第一子数据范围内被修复过的数据赋予修复标识;
在所述第一子数据范围内的所有数据均被赋予了修复标识后,标识所述第一子数据范围为修复完成状态。
进一步地,所述方法还包括:
基于修复开始失败的第一条数据至修复开始成功的第一条数据确定第二子数据范围;
生成所述第二子数据范围对应的第二数据修复任务;
为所述第二数据修复任务赋予优先级后提交至所述任务队列。
进一步地,所述方法还包括:
在当前节点宕机恢复之后,针对修复状态为未完成的所述第一子数据范围重新生成所述第一数据修复任务,以及将重新生成的所述第一数据修复任务提交到所述任务队列。
进一步地,分别针对每个所述第一子数据范围进行数据修复,以便将所述第一子数据范围内的子数据与所述副本数据中对应的副本子数据中不一致的数据修复一致,包括:
判断当前的所述第一子数据范围是否属于当前节点的主数据范围;
在当前的所述第一子数据范围属于当前节点的主数据范围时,对当前的所述第一子数据范围进行数据修复。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里云计算有限公司,未经阿里云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010664421.X/2.html,转载请声明来源钻瓜专利网。





