[发明专利]内存数据备份方法及内存数据备份系统有效
申请号: | 201210340231.8 | 申请日: | 2012-09-13 |
公开(公告)号: | CN102880529A | 公开(公告)日: | 2013-01-16 |
发明(设计)人: | 汤晓刚 | 申请(专利权)人: | 新浪网技术(中国)有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F17/30 |
代理公司: | 北京市京大律师事务所 11321 | 代理人: | 黄启行;方晓明 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 数据 备份 方法 系统 | ||
技术领域
本发明涉及数据存储技术,尤其涉及一种内存数据备份方法及内存数据备份系统。
背景技术
目前,内存数据持久化存储及备份主要采用纯内存存储引擎,主要通过远程字典服务器(Redis,Remote Dictionary Server)以及关系型数据库管理系统(Mysql)等构建主从结构的内存数据库系统,采用主从复制方式实现多机冗余的高可靠性(HA,High Availability),其中,Mysql的主从复制是通过增量备份(binlog)方式实现,binlog通过以二进制文件方式记录结构化查询语言(SQL,Structured Query Language)语句来进行数据备份,所有数据更新在主服务器上执行,在经过预先设置的时间周期后,即定期转储(dump)模式,定期将更新的内存数据批量写入,主服务器将数据更新的binlog发送到从服务器,以使从服务器进行相同的数据更新,从而达到主从一致的目的,实现主服务器与从服务器的同步。Redis也采用主从方式进行内存数据备份,通过类似Mysql的binlog方式进行主从同步,主从同步实现机制与Mysql的binlog同步机制类似,不同的是,Redis通过构建不断添加模式(AOF,Append Only Mode)文件进行主从服务器同步。
在进行内存数据备份时,现有技术通常采用读写分离的数据备份方式,在内存数据备份系统中,可以设置一台主服务器,并配置有多台从服务器,所有的数据更新业务逻辑访问主服务器,查询业务逻辑仅访问从服务器,也称为读写分离机制。
图1为现有内存数据备份系统结构示意图。参见图1,该内存数据备份系统包括主服务器以及从服务器,较佳地,主服务器的数量为一台,从服务器的数量为一台或多台。数据更新业务逻辑将更新的数据写入主服务器,主服务器通过binlog方式存储更新的数据,经过预先设置的时间周期,将更新的数据通过binlog方式写入从服务器,实现内存数据备份,以使从服务器与主服务器保持数据同步,查询业务逻辑通过访问从服务器,获取查询所需的数据。
现有的内存数据备份系统,采用当前主流的Mysql的读写分离机制方案,当主服务器宕机或故障发生异常时,根据预先设置的切换策略,触发从多个从服务器中,选择一个从服务器,并将其升级为主服务器,从而接替主服务器的业务功能,在发生异常的主服务器恢复正常后,再次触发升级为主服务器的从服务器,使其注销主服务器的业务功能,恢复为数据备份服务器。
由上述可见,现有的内存数据备份系统,当主服务器宕机时,由于主服务器与从服务器之间存在的binlog同步延迟,即在两次时间周期期间发生的数据更新,由于主服务器还未能及时写入从服务器,将会全部丢失,从而无法保证主服务器中所有更新数据的binlog都能够同步到从服务器上,导致被升级为主服务器的从服务器中,其备份的数据不是最新的,与主服务器中的数据不同步,造成了部分更新数据的丢失,主从服务器同步性较差;对于Redis的主从同步方案,通过同步AOF文件实现主从服务器的数据同步,一方面,当主服务器与从服务器之间的连接暂时中断时,需要从服务器将主服务器的所有AOF文件从头再重新同步一遍,这对于日更新上亿次的重负荷内存数据备份系统,完全同步AOF文件成为很重的负担,包括网络流量上的和数据恢复时间上的负担;另一方面,同步AOF文件的数据同步机制,也存在与Mysql主从同步类似的问题,当主服务器宕机后,从服务器如果直接升级为主服务器,存在部分数据丢失的问题,使得主从服务器同步性较差。
发明内容
本发明的实施例提供一种内存数据备份方法,避免数据丢失、提升数据的同步性能。
本发明的实施例还提供一种内存数据备份系统,避免数据丢失、提升数据的同步性能。
为达到上述目的,本发明实施例提供的一种内存数据备份方法,包括:
接收数据更新命令,为数据更新命令分配游标;
构建数据更新命令与分配的游标的映射关系,生成序列文件;
将生成的序列文件输出,以使数据服务器根据接收的序列文件中的数据更新命令,更新数据;
接收数据更新成功信息,存储数据更新成功的数据更新命令与游标的映射关系。
其中,所述为数据更新命令分配游标包括:
判断当前接收的数据更新命令是否为接收的第一条数据更新命令,如果是,为接收的数据更新命令分配游标序列号,并记录分配的游标序列号信息;如果不是,将记录的游标序列号进行累加,为接收数据更新命令设置累加的游标序列号,记录累加的游标序列号信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新浪网技术(中国)有限公司,未经新浪网技术(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210340231.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置