数据迁移处理方法、装置及系统的制作方法

文档序号:6506754阅读:180来源:国知局
数据迁移处理方法、装置及系统的制作方法
【专利摘要】本发明实施例提供一种数据迁移处理方法、装置及系统,该方法包括:迁出节点确定待迁移数据和与待迁移数据对应的数据索引;迁出节点将待迁移数据和与待迁移数据对应的数据索引迁移到迁入节点。本发明的技术方案,可以实现减少迁入节点在数据迁移过程中磁盘的I/O操作,提高分布式存储系统中数据迁移的效率,进而提高分布式存储系统的性能。
【专利说明】数据迁移处理方法、装置及系统

【技术领域】
[0001] 本发明实施例涉及通信技术,尤其涉及一种数据迁移处理方法、装置及系统。

【背景技术】
[0002] 关键字-对象值(Key-Value)类型的分布式数据存储系统中多个key组成的集合 称为区间(range)每个节点负责全部keyrange中的一部分range,如果有新节点加入或者 负载均衡时需要对集群中各个节点负责的range进行重新分配,即进行range的切分和该 range负责的数据的迁移。
[0003] 然而,现有技术存在进行数据迁移的效率较低的问题,进而影响分布式存储系统 的性能。


【发明内容】

[0004] 本发明实施例提供一种数据迁移处理方法、装置及系统,用以提高分布式存储系 统中数据迁移的效率,进而提高分布式存储系统的性能。
[0005] 本发明第一方面,提供一种数据迁移处理方法,包括:
[0006] 迁出节点确定待迁移数据和与所述待迁移数据对应的数据索引;
[0007] 所述迁出节点将所述待迁移数据和与所述待迁移数据对应的数据索引迁移到迁 入节点。
[0008] 在第一方面的第一种可能的实现方式中,所述迁出节点将所述待迁移数据和与所 述待迁移数据对应的数据索引迁移到迁入节点,包括:
[0009] 所述迁出节点将所述待迁移数据迁移到所述迁入节点;
[0010] 所述迁出节点将所述待迁移数据对应的数据索引迁移到迁入节点。
[0011] 根据第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式 中,所述迁出节点将所述待迁移数据对应的数据索引迁移到迁入节点之前,还包括:
[0012] 所述迁出节点确定所述待迁移数据发生更新;
[0013] 所述迁出节点将更新的数据同步到所述迁入节点;
[0014] 所述迁出节点更新与更新后的待迁移数据对应的数据索引;
[0015] 所述迁出节点将所述待迁移数据对应的数据索引迁移到迁入节点,包括:
[0016] 所述迁出节点将与更新后的待迁移数据对应的更新后的数据索引迁移到迁入节 点。
[0017] 根据第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式 中,所述迁出节点更新与更新后的待迁移数据对应的数据索引,包括:
[0018] 所述迁出节点在接收到所述迁入节点发送的同步数据成功接收响应之后,更新与 更新后的待迁移数据对应的数据索引。
[0019] 结合第一方面或第一方面的第一种至第三种可能的实现方式中任意一种,在第一 方面的第四种可能的实现方式中,所述迁出节点确定待迁移数据和与所述待迁移数据对应 的数据索引,包括:
[0020] 所述迁出节点根据待迁移区间中的关键字确定待迁移数据;
[0021] 所述迁出节点根据待迁移区间中的关键字从数据索引库中过滤得到与所述待迁 移数据对应的索引数据。
[0022] 根据第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式 中,所述迁出节点根据待迁移区间中的关键字从数据索引库中过滤得到与所述待迁移数据 对应的索引数据之前,还包括:
[0023] 所述迁出节点确定所述数据索引库是否处于维护状态;
[0024] 若是,则所述迁出节点向所述迁入节点发送第一指示信息,所述第一指示信息用 于指示所述迁入节点在所述待迁移数据迁移完成之后自行创建与所述待迁移数据对应的 索引数据;
[0025] 若否,则所述迁出节点向所述迁入节点发送第二指示信息,所述第二指示信息用 于指示所述迁入节点等待接收与所述待迁移数据对应的索引数据。
[0026] 本发明第二方面,提供一种数据迁移处理方法,包括:
[0027] 迁入节点接收迁出节点发送的待迁移数据和与所述待迁移数据对应的数据索 引;
[0028] 所述迁入节点根据待迁移数据和与所述待迁移数据对应的数据索引更新本地数 据和与所述本地数据对应的数据索引。
[0029] 在第二方面的第一种可能的实现方式中,所述迁入节点接收迁出节点发送的待迁 移数据和与所述待迁移数据对应的数据索引,包括:
[0030] 所述迁入节点接收所述迁出节点发送的所述待迁移数据;
[0031] 所述迁入节点接收所述迁出节点发送的所述待迁移数据对应的数据索引。
[0032] 根据第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式 中,所述迁入节点接收所述迁出节点发送的所述待迁移数据对应的数据索引之前,还包 括:
[0033] 所述迁入节点接收所述迁出节点发送的更新的数据;
[0034] 所述迁入节点接收所述迁出节点发送的所述待迁移数据对应的数据索引,包括:
[0035] 所述迁入节点接收所述迁出节点发送的与更新后的待迁移数据对应的更新后的 数据索引。
[0036] 根据第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式 中,所述迁入节点接收所述迁出节点发送的与更新后的待迁移数据对应的更新后的数据索 引之前,还包括:
[0037] 所述迁入节点向所述迁出节点发送同步数据成功接收响应,以使所述迁出节点更 新与更新后的待迁移数据对应的数据索引。
[0038] 结合第二方面或第二方面的第一种至第三种可能的实现方式中任意一种,在第二 方面的第四种可能的实现方式中,所述迁入节点接收所述迁出节点发送的所述待迁移数据 对应的数据索引之前,还包括:
[0039] 若所述迁入节点接收到所述迁出节点发送的第一指示信息,则所述迁入节点在所 述待迁移数据接收完成之后自行创建与所述待迁移数据对应的索引数据;
[0040] 若所述迁入节点接收到所述迁出节点发送的第二指示信息,则所述迁入节点等待 接收与所述待迁移数据对应的索引数据。
[0041] 本发明第三方面,提供一种迁出节点,包括:
[0042] 确定模块,用于确定待迁移数据和与所述待迁移数据对应的数据索引;
[0043] 迁移模块,用于将所述待迁移数据和与所述待迁移数据对应的数据索引迁移到迁 入节点。
[0044] 在第三方面的第一种可能的实现方式中,所述迁移模块,具体用于:
[0045] 将所述待迁移数据迁移到所述迁入节点;
[0046] 将所述待迁移数据对应的数据索引迁移到迁入节点。
[0047] 根据第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式 中,所述迁移模块,还用于:在将所述待迁移数据对应的数据索引迁移到迁入节点之前,确 定所述待迁移数据发生更新;
[0048] 所述迁移模块,还用于将更新的数据同步到所述迁入节点;
[0049] 所述迁出节点,还包括:
[0050] 更新模块,用于更新与更新后的待迁移数据对应的数据索引;
[0051] 所述迁移模块,还用于:
[0052] 将与更新后的待迁移数据对应的更新后的数据索引迁移到迁入节点。
[0053] 根据第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式 中,所述更新模块,还用于:
[0054] 所述迁出节点在接收到所述迁入节点发送的同步数据成功接收响应之后,更新与 更新后的待迁移数据对应的数据索引。
[0055] 结合第三方面或第三方面的第一种至第三种可能的实现方式中任意一种,在第三 方面的第四种可能的实现方式中,所述确定模块,具体用于:
[0056] 根据待迁移区间中的关键字确定待迁移数据;
[0057] 根据待迁移区间中的关键字从数据索引库中过滤得到与所述待迁移数据对应的 索引数据。
[0058] 根据第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式 中,所述迁出节点,还包括:发送模块;
[0059] 所述确定模块,还用于在根据待迁移区间中的关键字从数据索引库中过滤得到与 所述待迁移数据对应的索引数据之前,确定所述数据索引库是否处于维护状态;
[0060] 若是,则所述发送模块向所述迁入节点发送第一指示信息,所述第一指示信息用 于指示所述迁入节点在所述待迁移数据迁移完成之后自行创建与所述待迁移数据对应的 索引数据;
[0061] 若否,则所述发送模块向所述迁入节点发送第二指示信息,所述第二指示信息用 于指示所述迁入节点等待接收与所述待迁移数据对应的索引数据。
[0062] 本发明第四方面,提供一种迁入节点,包括:
[0063] 接收模块,用于接收迁出节点发送的待迁移数据和与所述待迁移数据对应的数据 索引;
[0064] 更新模块,用于根据待迁移数据和与所述待迁移数据对应的数据索引更新本地数 据和与所述本地数据对应的数据索引。
[0065] 在第四方面的第一种可能的实现方式中,所述接收模块,具体用于:
[0066] 接收所述迁出节点发送的所述待迁移数据;
[0067] 接收所述迁出节点发送的所述待迁移数据对应的数据索引。
[0068] 根据第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式 中,所述接收模块,还用于在接收所述迁出节点发送的所述待迁移数据对应的数据索引之 前,接收所述迁出节点发送的更新的数据;
[0069] 所述接收模块还用于:
[0070] 接收所述迁出节点发送的与更新后的待迁移数据对应的更新后的数据索引。
[0071] 根据第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式 中,所述迁入节点,还包括:发送模块,用于在接收所述迁出节点发送的与更新后的待迁移 数据对应的更新后的数据索引之前,向所述迁出节点发送同步数据成功接收响应,以使所 述迁出节点更新与更新后的待迁移数据对应的数据索引。
[0072] 结合第四方面或第四方面的第一种至第三种可能的实现方式中任意一种,在第四 方面的第四种可能的实现方式中,所述迁入节点,还包括:处理模块,用于在接收所述迁出 节点发送的所述待迁移数据对应的数据索引之前,若接收到所述迁出节点发送的第一指示 信息,则在所述待迁移数据接收完成之后自行创建与所述待迁移数据对应的索引数据;若 接收到所述迁出节点发送的第二指示信息,则等待接收与所述待迁移数据对应的索引数 据。
[0073] 本发明第五方面,提供一种系统,包括:第三方面或第三方面中任意一种可能的实 现方式中的迁出节点和第四方面或第四方面中任意一种可能的实现方式中的迁入节点。
[0074] 本发明实施例提供一种数据迁移处理方法、装置及系统,通过迁出节点确定待迁 移数据和与待迁移数据对应的数据索引,迁出节点再将待迁移数据和与待迁移数据对应的 数据索引迁移到迁入节点,可以实现减少迁入节点在数据迁移过程中的磁盘I/O操作,提 高分布式存储系统中数据迁移的效率,进而提高分布式存储系统的性能。

【专利附图】

【附图说明】
[0075] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以 根据这些附图获得其他的附图。
[0076] 图1为本发明提供的数据迁移处理方法实施例一的流程图;
[0077] 图2A为本发明提供的数据迁移处理方法实施例一中确定待迁移数据和与待迁移 数据对应的数据索引的流程示意图;
[0078] 图2B为本发明提供的数据迁移处理方法实施例一的原理示意图;
[0079] 图3为本发明提供的数据迁移处理方法实施例二的流程图;
[0080] 图4为本发明提供的数据迁移处理方法实施例三的流程图;
[0081] 图5为本发明提供的数据迁移处理方法实施例四的流程图;
[0082] 图6为本发明提供的数据迁移处理方法实施例五的流程图;
[0083] 图7为本发明提供的迁出节点实施例一的结构示意图;
[0084] 图8为本发明提供的迁出节点实施例二的结构示意图;
[0085] 图9为本发明提供的迁出节点实施例三的结构示意图;
[0086] 图10为本发明提供的迁入节点实施例一的结构示意图;
[0087] 图11为本发明提供的迁入节点实施例二的结构示意图;
[0088] 图12为本发明提供的迁入节点实施例三的结构示意图;
[0089] 图13为本发明提供的系统实施例一的结构示意图。

【具体实施方式】
[0090] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0091] 图1为本发明提供的数据迁移处理方法实施例一的流程图,如图1所示,本实施例 的数据迁移处理方法包括:
[0092] S101、迁出节点确定待迁移数据和与待迁移数据对应的数据索引。
[0093] S102、迁出节点将待迁移数据和与待迁移数据对应的数据索引迁移到迁入节点。
[0094] 本实施例适用的场景为分布式数据存储系统中进行数据迁移时附带索引迁移。
[0095] 具体来说,迁出节点为迁出数据的节点,迁入节点为接收迁出数据的节点,本实施 例的数据索引可以包括与数据在文件中位置无关的索引,例如二级索引或者全文检索过程 中适用的数据索引等,存储节点通常通过建立二级索引来加速范围查找,范围查找是为了 实现一次请求查找一个范围内所有的key,范围查询的查询请求被发送到多个节点,在每一 个节点执行全表扫描查询,并对结果进行合并。如果节点数据量较大,全表扫描效率非常 低,此时就需要建立二级索引来加速范围查找,所谓二级索引就是记录了所有含有一个特 定value的key的集合,以下通过表1、表2和表3来解释二级索引和原始数据表的关系,表 1为原始数据表,表2为Age列的二级索引表,表3为Sex列的二级索引表。

【权利要求】
1. 一种数据迁移处理方法,其特征在于,包括: 迁出节点确定待迁移数据和与所述待迁移数据对应的数据索引; 所述迁出节点将所述待迁移数据和与所述待迁移数据对应的数据索引迁移到迁入节 点。
2. 根据权利要求1所述的方法,其特征在于,所述迁出节点将所述待迁移数据和与所 述待迁移数据对应的数据索引迁移到迁入节点,包括: 所述迁出节点将所述待迁移数据迁移到所述迁入节点; 所述迁出节点将所述待迁移数据对应的数据索引迁移到迁入节点。
3. 根据权利要求2所述的方法,其特征在于,所述迁出节点将所述待迁移数据对应的 数据索引迁移到迁入节点之前,还包括: 所述迁出节点确定所述待迁移数据发生更新; 所述迁出节点将更新的数据同步到所述迁入节点; 所述迁出节点更新与更新后的待迁移数据对应的数据索引; 所述迁出节点将所述待迁移数据对应的数据索引迁移到迁入节点,包括: 所述迁出节点将与更新后的待迁移数据对应的更新后的数据索引迁移到迁入节点。
4. 根据权利要求3所述的方法,其特征在于,所述迁出节点更新与更新后的待迁移数 据对应的数据索引,包括: 所述迁出节点在接收到所述迁入节点发送的同步数据成功接收响应之后,更新与更新 后的待迁移数据对应的数据索引。
5. 根据权利要求1?4任一项所述的方法,其特征在于,所述迁出节点确定待迁移数据 和与所述待迁移数据对应的数据索引,包括: 所述迁出节点根据待迁移区间中的关键字确定待迁移数据; 所述迁出节点根据待迁移区间中的关键字从数据索引库中过滤得到与所述待迁移数 据对应的索引数据。
6. 根据权利要求5所述的方法,其特征在于,所述迁出节点根据待迁移区间中的关键 字从数据索引库中过滤得到与所述待迁移数据对应的索引数据之前,还包括: 所述迁出节点确定所述数据索引库是否处于维护状态; 若是,则所述迁出节点向所述迁入节点发送第一指示信息,所述第一指示信息用于指 示所述迁入节点在所述待迁移数据迁移完成之后自行创建与所述待迁移数据对应的索引 数据; 若否,则所述迁出节点向所述迁入节点发送第二指示信息,所述第二指示信息用于指 示所述迁入节点等待接收与所述待迁移数据对应的索引数据。
7. -种数据迁移处理方法,其特征在于,包括: 迁入节点接收迁出节点发送的待迁移数据和与所述待迁移数据对应的数据索引; 所述迁入节点根据待迁移数据和与所述待迁移数据对应的数据索引更新本地数据和 与所述本地数据对应的数据索引。
8. 根据权利要求7所述的方法,其特征在于,所述迁入节点接收迁出节点发送的待迁 移数据和与所述待迁移数据对应的数据索引,包括: 所述迁入节点接收所述迁出节点发送的所述待迁移数据; 所述迁入节点接收所述迁出节点发送的所述待迁移数据对应的数据索引。
9. 根据权利要求8所述的方法,其特征在于,所述迁入节点接收所述迁出节点发送的 所述待迁移数据对应的数据索引之前,还包括: 所述迁入节点接收所述迁出节点发送的更新的数据; 所述迁入节点接收所述迁出节点发送的所述待迁移数据对应的数据索引,包括: 所述迁入节点接收所述迁出节点发送的与更新后的待迁移数据对应的更新后的数据 索引。
10. 根据权利要求9所述的方法,其特征在于,所述迁入节点接收所述迁出节点发送的 与更新后的待迁移数据对应的更新后的数据索引之前,还包括: 所述迁入节点向所述迁出节点发送同步数据成功接收响应,W使所述迁出节点更新与 更新后的待迁移数据对应的数据索引。
11. 根据权利要求8-10中任一项所述的方法,其特征在于,所述迁入节点接收所述迁 出节点发送的所述待迁移数据对应的数据索引之前,还包括: 若所述迁入节点接收到所述迁出节点发送的第一指示信息,则所述迁入节点在所述待 迁移数据接收完成之后自行创建与所述待迁移数据对应的索引数据; 若所述迁入节点接收到所述迁出节点发送的第二指示信息,则所述迁入节点等待接收 与所述待迁移数据对应的索引数据。
12. -种迁出节点,其特征在于,包括: 确定模块,用于确定待迁移数据和与所述待迁移数据对应的数据索引; 迁移模块,用于将所述待迁移数据和与所述待迁移数据对应的数据索引迁移到迁入节 点。
13. 根据权利要求12所述的迁出节点,其特征在于,所述迁移模块,具体用于: 将所述待迁移数据迁移到所述迁入节点; 将所述待迁移数据对应的数据索引迁移到迁入节点。
14. 根据权利要求13所述的迁出节点,其特征在于,所述迁移模块,还用于:在将所述 待迁移数据对应的数据索引迁移到迁入节点之前,确定所述待迁移数据发生更新; 所述迁移模块,还用于将更新的数据同步到所述迁入节点; 所述迁出节点,还包括: 更新模块,用于更新与更新后的待迁移数据对应的数据索引; 所述迁移模块,还用于: 将与更新后的待迁移数据对应的更新后的数据索引迁移到迁入节点。
15. 根据权利要求14所述的迁出节点,其特征在于,所述更新模块,还用于: 所述迁出节点在接收到所述迁入节点发送的同步数据成功接收响应之后,更新与更新 后的待迁移数据对应的数据索引。
16. 根据权利要求12?15任一项所述的迁出节点,其特征在于,所述确定模块,具体用 于: 根据待迁移区间中的关键字确定待迁移数据; 根据待迁移区间中的关键字从数据索引库中过滤得到与所述待迁移数据对应的索引 数据。
17. 根据权利要求16所述的迁出节点,其特征在于,所述迁出节点,还包括;发送模 块; 所述确定模块,还用于在根据待迁移区间中的关键字从数据索引库中过滤得到与所述 待迁移数据对应的索引数据之前,确定所述数据索引库是否处于维护状态; 若是,则所述发送模块向所述迁入节点发送第一指示信息,所述第一指示信息用于指 示所述迁入节点在所述待迁移数据迁移完成之后自行创建与所述待迁移数据对应的索引 数据; 若否,则所述发送模块向所述迁入节点发送第二指示信息,所述第二指示信息用于指 示所述迁入节点等待接收与所述待迁移数据对应的索引数据。
18. -种迁入节点,其特征在于,包括: 接收模块,用于接收迁出节点发送的待迁移数据和与所述待迁移数据对应的数据索 引; 更新模块,用于根据待迁移数据和与所述待迁移数据对应的数据索引更新本地数据和 与所述本地数据对应的数据索引。
19. 根据权利要求18所述的迁入节点,其特征在于,所述接收模块,具体用于: 接收所述迁出节点发送的所述待迁移数据; 接收所述迁出节点发送的所述待迁移数据对应的数据索引。
20. 根据权利要求19所述的迁入节点,其特征在于,所述接收模块,还用于在接收所述 迁出节点发送的所述待迁移数据对应的数据索引之前,接收所述迁出节点发送的更新的数 据; 所述接收模块还用于: 接收所述迁出节点发送的与更新后的待迁移数据对应的更新后的数据索引。
21. 根据权利要求20所述的迁入节点,其特征在于,所述迁入节点,还包括;发送模块, 用于在接收所述迁出节点发送的与更新后的待迁移数据对应的更新后的数据索引之前,向 所述迁出节点发送同步数据成功接收响应,W使所述迁出节点更新与更新后的待迁移数据 对应的数据索引。
22. 根据权利要求19-21中任一项所述的迁入节点,其特征在于,所述迁入节点,还包 括;处理模块,用于在接收所述迁出节点发送的所述待迁移数据对应的数据索引之前,若接 收到所述迁出节点发送的第一指示信息,则在所述待迁移数据接收完成之后自行创建与所 述待迁移数据对应的索引数据;若接收到所述迁出节点发送的第二指示信息,则等待接收 与所述待迁移数据对应的索引数据。
23. -种系统,其特征在于,包括:如权利要求12-17任一项所述的迁出节点和如权利 要求18-22任一项所述的迁入节点。
【文档编号】G06F17/30GK104348862SQ201310329438
【公开日】2015年2月11日 申请日期:2013年7月31日 优先权日:2013年7月31日
【发明者】李勇, 王铁英, 鲁水锋 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1