[发明专利]数据在线迁移方法、代理节点在审
申请号: | 201710156970.4 | 申请日: | 2017-03-16 |
公开(公告)号: | CN106934048A | 公开(公告)日: | 2017-07-07 |
发明(设计)人: | 张航;曾镇 | 申请(专利权)人: | 北京搜狐新媒体信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 王宝筠 |
地址: | 100084 北京市海淀区中*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 在线 迁移 方法 代理 节点 | ||
技术领域
本发明涉及数据库领域,更具体的说,是涉及一种数据在线迁移方法和代理节点。
背景技术
随着互联网的迅速发展,各种电子业务数据急剧增长,对高性能、大容量的存储系统的需求越来越急迫,Redis集群既是在此环境下产生的key-value存储系统。
在存储型Redis集群的使用过程中,由于业务数据量的不断增加,会导致Redis集群的剩余内存越来越小,这种情况下,就需要对Redis集群进行扩容,以保证Redis集群后续的持续正常使用。由于存储型Redis集群中,数据都是通过一致性哈希算法来选择对应的Redis实例,因此在对Redis集群进行扩容的过程中,需要将源Redis集群中原有的数据重新进行哈希算法,并迁移到根据哈希算法确定的目标Redis实例中。然而Redis集群数据迁移的过程耗时比较长,如果在此过程中拒绝用户访问,会非常影响用户的使用体验。
现有技术中,有一种针对存储型Redis集群的数据迁移方法,该方法在源Redis集群数据迁移的过程中,同时能够接受用户写入的新数据,并直接同步到目标Redis集群。然而,上述方法在数据迁移的过程中,直接将产生的新数据更新到目标Redis集群,这样就可能造成数据的错乱或丢失,影响用户后续的正常使用。
发明内容
有鉴于此,本发明提供了一种数据在线迁移方法和代理节点,以克服现有技术中由于在数据迁移过程中直接将写操作产生的新数据同步到目标数据库实例中,而导致的数据错乱和丢失的问题。
为实现上述目的,本发明提供如下技术方案:
一种数据在线迁移方法,包括:
向源数据库实例发送同步命令;
接收源数据库实例依据所述同步命令返回的待同步数据;
将所述待同步数据发送至目标数据库实例中;
接收源数据库实例发送的,待同步数据迁移过程中源数据库实例缓存的写操作命令;
将所述写操作命令发送至所述目标数据库实例。
可选的,所述源数据库实例和所述目标数据库实例为键值数据库,在所述向源数据库实例发送同步命令前,还包括:
确定键值与目标数据库实例的对应关系;
则所述将待同步数据发送至目标数据库实例,包括:
依据所述对应关系,将所述待同步数据发送至目标数据库实例中。
可选的,所述确定键值与目标数据库实例的对应关系,包括:
获取目标数据库实例列表;
构造键值和所述目标数据库实例列表的对应关系。
可选的,所述写操作命令包括待操作数据和操作命令,则所述将所述写操作命令发送至所述目标数据库实例,包括:
确定所述待操作数据所在的目标数据库实例;
将所述操作命令发送至所述目标数据库实例,以使得所述目标数据库实例依据所述操作命令对所述待操作数据进行更新。
可选的,在所述将所述待同步数据发送至目标数据库实例中后,还包括:
向所述源数据库实例发送写操作同步命令。
可选的,在所述将所述待同步数据发送至目标数据库实例中前,还包括,解析所述待同步数据;
则所述将所述待同步数据发送至目标数据库实例中,具体包括:将解析后的所述待同步数据发送至目标数据库实例中。
一种代理节点,包括:
命令发送模块,用于向源数据库实例发送同步命令;
数据接收模块,用于接收源数据库实例依据所述同步命令返回的待同步数据;
数据发送模块,用于将所述待同步数据发送至目标数据库实例中;
操作接收模块,用于接收源数据库实例发送的,待同步数据迁移过程中源数据库实例缓存的写操作命令;
操作发送模块,用于将所述写操作命令发送至所述目标数据库实例。
可选的,所述源数据库实例和所述目标数据库实例为键值数据库,则所述代理节点还包括:
关系确定模块,用于在命令发送模块向源数据库实例发送同步命令前,确定键值与目标数据库实例的对应关系;
则所述数据发送模块具体用于:依据所述对应关系,将所述待同步数据发送至目标数据库实例中。
可选的,所述关系确定模块包括:
列表获取模块,用于获取目标数据库实例列表;
关系构造模块,用于构造键值和所述目标数据库实例列表的对应关系。
可选的,所述写操作命令包括待操作数据和操作命令,则所述操作发送模块包括:
实例确定模块,用于确定所述待操作数据所在的目标数据库实例;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京搜狐新媒体信息技术有限公司,未经北京搜狐新媒体信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710156970.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置