一种数据迁移的方法及系统技术方案

技术编号:5141486 阅读:253 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种数据迁移的方法,该方法包括:根据用户选择通知数据移出节点进行数据迁移;数据移出节点将迁移数据及重做日志直接发送给数据移入节点;数据移入节点接收迁移数据并保存,接收重做日志并根据重做日志对接收的迁移数据进行校验和更新。本发明专利技术还公开了一种数据迁移的系统,采用本发明专利技术所述的方法及系统,可以在保证系统正常工作的同时,提高数据的迁移速度,保证迁移过程中数据的一致性。

【技术实现步骤摘要】

本专利技术涉及数据分布式缓存领域,特别是指一种数据迁移的方法及系统
技术介绍
云计算是网格计算、分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均 衡等传统计算机技术和网络技术发展融合的产物;它旨在通过网络将多个成本相对较低的 计算实体整合成一个具有强大计算能力的系统。分布式缓存是云计算范畴中的一个领域, 其作用是提供云计算中海量数据的分布式存储服务以及高速读写访问的能力。提供分布式缓存功能的分布式缓存系统由若干服务器节点以下简称节点、以及客 户端互相连接构成。一般来说,为保证数据的安全性,写入节点的数据不可能只保存在单 个节点上,而是在多台节点上保存同一个数据的副本,互为备份。所述数据由键(Key)和 值(Value)构成,Key相当于数据的索引,Value是Key所代表的数据内容。逻辑上Key和 Value是一对一的关系。分布式缓存系统在长期工作过程中可能出现节点负载不均勻、某些节点不稳定、 系统负荷过大等等的问题,这时就需要将负载较高或不稳定的节点上的部分数据迁移到负 载较低的节点上;或者添加新的节点,将系统中的部分数据迁移至新节点上维护。在分布式 缓存系统中,如何在不影响系统正常工作的前提下迁移数据是比较难以解决的关键问题。现有技术中,数据迁移一般有两种解决方法方案1,停止分布式缓存系统的正常工作,提示客户端分布式缓存系统正在更新, 然后进行分布式缓存系统的数据迁移;方案2,分布式缓存系统正常工作情况下,客户端通过遍历读取要迁出数据的节点 中的数据,然后写入要迁入数据的节点;上述方案1中的方法,要停止分布式缓存系统的正常工作,影响了分布式缓存系 统的正常运行;方案2中的方法,通过遍历的方法读取数据,会导致数据迁移速度缓慢,并 且,在分布式缓存系统正常工作的情况下,新产生的数据可能会被遗漏,导致迁移的数据在 迁出数据的节点与迁入数据的节点之间不一致。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种数据迁移的方法及系统,可以在保证 系统正常工作的同时,提高数据的迁移速度,保证迁移过程中数据的一致性。为达到上述目的,本专利技术的技术方案是这样实现的本专利技术提供了一种数据迁移的方法,该方法包括根据用户选择通知数据移出节点进行数据迁移;数据移出节点将迁移数据及重做日志直接发送给数据移入节点;数据移入节点接收迁移数据并保存,根据重做日志对迁移数据进行校验和更新。上述方案中,所述通知包括数据移入节点地址、迁移数据所在的虚节点地址。上述方案中,所述数据移出节点将迁移数据及重做日志直接发送给数据移入节点 包括数据移出节点根据数据移入节点地址,将虚节点地址中的迁移数据及重做日志以数 据包的形式发送给数据移入节点,在当前重做日志的数据包发送完成后,通知管控平台,管 控平台暂停数据移出节点的服务。上述方案中,所述根据重做日志对迁移数据的校验和更新包括数据移入节点根 据接收到的重做日志,确定重做日志中记录的操作中的数据与迁移数据不同,重新执行一 次该操作。上述方案中,所述根据重做日志对迁移数据进行校验和更新之后,该方法进一步 包括数据移入节点通知管控平台重操作完成,管控平台通知所有节点及客户端,由数据移 入节点代替数据移出节点为客户端提供迁移数据的相关服务,同时清除数据移出节点中的 迁移数据。本专利技术还提供了一种数据迁移的系统,该系统包括数据迁移管控模块、数据移出 处理模块、数据移入处理模块;数据迁移管控模块,用于根据用户选择通知数据移出处理模块迁移数据;数据移出处理模块,用于将迁移数据及重做日志发送给数据移入处理模块;数据移入处理模块,用于接收迁移数据并保存,根据重做日志对接收的迁移数据 进行校验和更新。上述方案中,所述数据迁移管控模块具体用于,根据用户选择,将包含数据移入节 点地址、迁移数据所在的虚节点地址的通知发送给数据移出处理模块。上述方案中,所述数据移出处理模块具体用于,根据数据移入节点地址,将虚节点 中的迁移数据及重做日志以数据包的形式发送给数据移入处理模块,确定当前重做日志的 数据包发送完成,通知数据迁移管控模块;所述数据迁移管控模块进一步用于,根据数据移 出处理模块的通知,暂停数据移出节点的服务。上述方案中,所述数据移入处理模块进一步用于,重操作完成后通知数据迁移管 控模块;相应的,所述数据迁移管控模块进一步用于,通知所有节点及客户端,由数据移入 节点代替数据移出节点为客户端提供迁移数据的相关服务,清除数据移出节点中的迁移数 据。由此可见,采用本专利技术所述的方法及系统,将迁移数据从数据移出节点直接发送 到数据移入节点,提高数据迁移的速度;迁移数据在复制后进行迁移,有效保证系统的正常 功能;数据移入节点根据重做日志进行重操作,保证数据迁移期间,客户端向数据移入节点 发送请求时,迁移数据发生变化后,数据移出节点与数据移入节点之间迁移数据的一致性。附图说明图1为本专利技术实现数据迁移的方法流程示意图;图2为本专利技术实现数据迁移的系统组成示意图。具体实施例方式本专利技术的基本思想是根据用户选择通知数据移出节点进行数据迁移,数据移出 节点将数据及重做(Redo)日志发送给数据移入节点,数据移入节点接收迁移数据并保存,根据重做日志对接收的迁移数据进行校验和更新。下面通过具体实施例与附图来对本专利技术进行详细说明。一种数据迁移的方法,如图1所示,具体步骤如下步骤101、系统负担过重或负载不均时,根据用户选择通知数据移出节点进行数据 迁移;用户发现系统负载过重或负载不均时,需要启动数据迁移,通过管控平台选择需 要迁移数据的节点,即数据移出节点;以及接收迁移数据的节点,即数据移入节点,通知数 据移出节点进行数据迁移;这里,所述系统指分布式缓存系统;其中,所述通知为管控平台向数据移出节点发送数据迁移信息,所述数据迁移信 息包含需要迁移的虚节点、数据移入节点地址等;所述虚节点是节点将数据进行分组保存 在不同的虚节点中。所述数据移入节点可以是负载较轻的节点,也可以是新增节点,新增节 点接入系统,向管控平台发送自身信息,管控平台根据新增节点发送的自身信息,要求其他 节点与新增节点建立连接,或者要求新增节点与其他节点建立连接;所述自身信息包含自 身地址等。步骤102、数据移出节点将数据及Redo日志直接发送给数据移入节点;数据移出节点根据管控平台的通知,选取虚节点中的数据,以数据包的形式,根据 数据移入节点地址,发送给数据移入节点。如果这时客户端向数据移出节点发送请求,因为数据移出节点的数据仍在,仍可 以向客户端提供服务。同时,因为客户端向数据移出节点发送请求,会导致数据移出节点的 数据发生变化,为保存数据移出节点与数据移入节点中数据的一致性,数据移出节点在数 据迁移期间,将根据客户端发送的请求,数据移出节点做出的响应,即数据移出节点的操作 写入Redo日志,在数据移出节点将迁移数据发送给数据移入节点后,将Redo日志以数据包 的形式发送给数据移出节点,所述Redo用于记录数据移出节点的操作,所述数据移出节点 的操作包括数据移出节点做动作及对应的数据,例如删除及要删除数据、增加及要增加的 数据、修改及修改的数据等,所述Redo日志的功能可通过管控模块选择是否开启。因为客户端会不时的向数据移出节点发送请求,所以Redo日志中的记录会本文档来自技高网
...

【技术保护点】
一种数据迁移的方法,其特征在于,该方法包括:  根据用户选择通知数据移出节点进行数据迁移;  数据移出节点将迁移数据及重做日志直接发送给数据移入节点;  数据移入节点接收迁移数据并保存,根据重做日志对迁移数据进行校验和更新。

【技术特征摘要】
一种数据迁移的方法,其特征在于,该方法包括根据用户选择通知数据移出节点进行数据迁移;数据移出节点将迁移数据及重做日志直接发送给数据移入节点;数据移入节点接收迁移数据并保存,根据重做日志对迁移数据进行校验和更新。2.根据权利要求1所述的方法,其特征在于,所述通知包括数据移入节点地址、迁移 数据所在的虚节点地址。3.根据权利要求2所述的方法,其特征在于,所述数据移出节点将迁移数据及重做日 志直接发送给数据移入节点包括数据移出节点根据数据移入节点地址,将虚节点地址中的迁移数据及重做日志以数据 包的形式发送给数据移入节点,在当前重做日志的数据包发送完成后,通知管控平台,管控 平台暂停数据移出节点的服务。4.根据权利要求1所述的方法,其特征在于,所述根据重做日志对迁移数据的校验和 更新包括数据移入节点根据接收到的重做日志,确定重做日志中记录的操作中的数据与迁移数 据不同,重新执行一次该操作。5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据重做日志对迁移数据 进行校验和更新之后,该方法进一步包括数据移入节点通知管控平台重操作完成,管控平台通知所有节点及客户端,由数据移 入节点代替数据移出节点为客户端提供迁移数据的相关服务,同时清除数据移出节点中的 迁移数据。6.一种数据迁移的系统,其特征在于,该系统包括数据迁移管控模块、数据移出处理 模...

【专利技术属性】
技术研发人员:陈典强郭斌韩银俊
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1