一种多点多跳的数据实时备份方法

文档序号:6459787阅读:175来源:国知局
专利名称:一种多点多跳的数据实时备份方法
技术领域
本发明提出了一种多点多跳的数据实时备份方法,属于信息安全领域。二、 背景技术随着灾难备份与恢复成为信息安全领域越来越关注的话题,容灾系统被广泛应用于金 融、银行、民航等重要行业中,其中数据实时备份是保证敏感性数据安全的关键技术。商业数据库管理系统提供了一些数据库的备份与恢复工具。但这些方式用于进行表的数 据实时备份会存在以下缺点(1) 实时性差,数据更新慢;(2) 不能同时支持多个备份点;(3) 对全库进行实时备份,备份数据量大,资源配置环境要求较高;(4) 容错性差,当网络出现故障时需要重新备份。专利公开号为CN1851662中所述的一种数据备份系统,无法实现多点多跳的数据实时备 份。本发明提出了一种多点多跳的数据表实时备份方法,在主数据库服务器与多个备份数据 库服务器之间进行表级数据的实时备份,其中多点是指同级之间有多个备份数据库服务器, 多跳是指在主数据库与跨级备份数据库之间进行数据实时备份,该方法具有以下优点(1) 粒度细化到表级,实时性好,效率高;(2) 支持多个备份点,可以向多点备份数据库服务器和跨级备份数据库服务器进行实时 备份,备份数据具有多个备份,可生存性好;(3) 采取数据加密、以及独特的差错控制等机制,安全性好。
发明内容
本发明的核心包括数据实时监控、数据多点多跳传输、数据远程重做等三个部分。其中 数据实时监控部分支持多种字段类型,它监控在源数据库服务器上的数据变化,截获源数据 表变化的数据和操作,并将其封装成重做记录。数据多点多跳传输部分首先计算重做记录的 摘要值,然后对重做记录进行数据加密,确保数据传输的安全性。数据多点多跳传输分为发 送端和接收端,发送端驻留在主数据库服务器端,接收端驻留在远程备份服务器端,通过 TCP在发送端与接收端之间建立数据传输通道。远程备份服务器可以是多个,也可以跨级分 布,地域没有限制。数据远程重做部分从数据传输模块中接收重做记录,解密重做记录,对
其进行差错控制若传输出错,则请求重传。若传输无误,则解析重做记录为可以执行的重 做命令集合,执行重做命令集合,从而将源数据库中的数据变化更新到备份数据库服务器 中。
为了描述方便,引入以下名词
(1) 重做记录i :将触发器监控截获到的数据和操作封装成一定格式的数据记录。
(2) 多点多跳多点是指同级(同一局域网)数据库之间的多个数据库备份点,多 跳是指跨级(不同网络)数据库服务器之间的多个数据库备份点。
(3) 同级备份数据库同一局域网的备份数据库,相对于主数据库被称为同级备份 数据库。
(4) 跨级备份数据库不同网络的备份数据库,相对于主数据库被称为跨级备份数 据库。
(5) 多点备份数据库列表^:用于记录主数据库服务器的多个同级备份数据库服务 器信息,列表中每一个元素包含备份数据库服务器的IP和备份数据库服务器 名称等信息;
(6) 多跳备份数据库列表^:用于记录主数据库服务器的多个跨级备份数据库服务 器信息,列表中每一个元素包含备份数据库服务器的IP和备份数据库服务器 名称等信息。四

图l是多点多跳的数据实时备份的体系架构图。
图2是本发明的工作原理图。
图3是数据实时监控的步骤。
图4是数据多点多跳传输的步骤。
图5是数据远程重做的步骤。
具体实施例方式
以下结合附图详细说明本发明的具体方法。
图1是多点多跳的数据实时备份的体系架构图。
如图1所示,主数据库服务器和备份数据库服务器可以处于不同的网络环境和不同的系 统平台中。主数据库服务器同时向多个备份数据库进行数据表级实时备份,数据实时备份有
多个备份点同级备份数据库备份点、跨级备份数据库备份点。主数据库服务器上驻留数据 实时监控模块,数据多点多跳传输模块包括数据传输发送端和接收端,分别驻留在主数据库 服务器和备份数据库服务器,数据远程重做模块驻留在备份数据库服务器上。
图2是本发明的工作原理图。
本发明由数据实时监控、数据多点多跳传输和数据远程重做三部分组成。数据实时监控 部分首先监控主数据库服务器上的数据变化,截获数据变化和操作变化,将其封装成重做记 录。传输多点多跳数据部分首先计算重做记录的摘要值,加密重做记录,并将其送入数据发 送缓存队列;发送程序从数据发送缓存队列取出加密后的重做记录及其摘要值,然后根据多 点备份数据库列表&和多跳备份数据库列表分别传输到各个备份数据库服务器上;备 份数据库服务器上的解密程序解密重做记录、验证摘要值正确后进行远程重做。通信传输部 分的数据缓存队列保证当网络发生故障时重做记录不会丢失,差错控制保证传输数据的一致 性。数据远程重做部分首先解析重做记录为可执行的命令集合,最后在备份数据库中执行该 命令集合,从而达到数据实时备份的目的。具体来说,本发明包括以下步骤-
(1) 数据实时监控的步骤;
(2) 数据多点多跳传输的步骤;
(3) 数据远程重做的步骤。图3是数据实时监控的步骤。
数据实时监控应用了数据库触发器的行级事件触发功能和快照日志的监控功能,实时监 控和截获数据表的插入、删除及更新等操作和具体的数据变化。当触发器截获到数据变化
时,触发器调用外部过程将截获到的操作和数据封装成重做记录。具体步骤如下
(1) 实时监控安装,具体包括以下步骤
1) 安装监控截获库拷贝监控截获库到数据库系统目录,库中封装了截获特殊 数据类型和写缓存队列等方法的实现;
2) 安装外部程序包在数据库中注册外部程序包和创建存储过程,提供调用监 控截获库中方法的接口;
(2) 创建快照日志对含特殊字段类型的表建立快照日志,该日志能监控到行级数据
变化的动作记录,监控特殊类型如BLOB、 CL0B、 BFILE等字段类型的数据变化,通 过快照日志获得变化的行,对指定用户的表建立相应的触发器,该触发器监控数 据的变化,截获数据变化的新旧值;
(3) 创建触发器,具体包括以下步骤
1) 创建监控普通表触发器在普通表(不含特殊字段类型的表,特殊字段类型 包括BL0B、 CL0B、 BFILE等字段类型)上建立触发器,在触发器中引用字段 的:NEW和OLD值截获数据变化的新旧值;
2) 创建监控特殊表触发器在特殊表(含特殊字段类型的表,特殊字段类型包 括BL0B、 CL0B、 BFILE等字段类型)和该特殊表的快照日志上都建立触发 器,表上触发器监控一般操作,快照日志上触发器监控快照日志的变化,并 调用外部过程截获特殊数据类型的新旧值;
(4) 生成重做记录将触发器截获到的数据变化的新旧值和操作信息封装为重做记 录。
图4是数据多点多跳传输的步骤。
数据多点多跳传输的步骤包括重做记录的摘要计算、加密后传输到同级或者跨级的备份
数据库服务器端,备份端接收加密数据,进行解密、差错控制等工作。具体步骤如下
(1)摘要计算采用单向散列函数H (如MD2、 MD5、 SHA1等)计算重做记录i 的 摘要值A, /2=/ff^;(2) 数据加密采用对称密码算法对重做记录i 进行加密,得到密文实体C,加密算 法可采用DES、 IDEA、 AES等对称密码算法。设&代表对称加密算法,A代表该 对称加密算法使用的密钥,重做记录/ 代表明文,C代表密文,则重做记录i 的加 密过程为C=&「&;
(3) 数据发送缓存将加密后的重做记录及其摘要值<<:、/^送入数据发送缓存队列
保存;
(4) 数据发送,具体步骤如下
1) 获取发送重做记录从数据发送缓存队列中按先进先出原则依次取出 加密后的重做记录及其摘要值〈C,
2) 同级多点数据发送将<。/^分别发送到同级多点备份数据库列表 Z;中的所有备份数据库服务器;
3) 跨级多跳数据发送将<。/^分别发送到跨级多跳备份数据库列表 ^中的所有备份数据库服务器;
(5) 数据接收,具体步骤如下
1) 接收重做记录备份点数据接收模块接收发过来的加密后的重做记录 及其摘要值〈C, /Z>;
2) 数据解密设At代表相应对称密码算法的解密算法,^代表密钥,重 做记录i 代表明文,则解密过程描述为i =Z)^q;
3) 差错控制,具体步骤如下
① 重新计算摘要值/ '=7^^;
② 出错重传如果/ ^/2',则意味着传送过程出错,通知数据发送 程序重传,否则意味着数据接收成功,直接进行下一步;
4) 数据接收缓存将解密后的重做记录送入数据接收缓存队列保存。
图5是数据远程重做的歩骤。
备份数据库服务器接收到数据重做记录后,按重做记录中规定的相应操作和数据在备份 数据库服务器上重做一遍,从而将源数据库中的数据变化更新到备份数据库服务器。数据远 程重做具体步骤如下-
(1)重做记录解析从数据接收缓存队列中按先进先出原则依次取出重做记录,解析 重做记录为可以执行的重做命令集合;(2)执行重做命令,具体步骤如下
1) 判断特殊字段类型判断重做记录中是否含有特殊字段类型,特殊字段类型包
括BL0B、 CL0B、 BFILE等;
2) 普通字段类型数据重做如果不是含有特殊字段类型的重做记录,则直接执行
解析后的SQL重做命令集合;
3) 特殊字段类型数据重做如果是含有特殊字段类型的重做记录,调用外部过程
执行特殊字段类型的重做命令。
权利要求
1、一种多点多跳的数据实时备份方法,其特征在于包括以下步骤数据实时监控的步骤;数据多点多跳传输的步骤;数据远程重做的步骤;其中(1)数据实时监控的步骤包括以下步骤1)实时监控安装的步骤,包括安装监控截获库的步骤;安装外部程序包的步骤;2)创建快照日志的步骤;3)创建触发器的步骤,包括创建监控普通表触发器的步骤;创建监控特殊表触发器的步骤;4)生成重做记录的步骤;(2)数据多点多跳传输的步骤包括以下步骤1)摘要计算的步骤;2)数据加密的步骤;3)数据发送缓存的步骤;4)数据发送的步骤,包括获取发送重做记录的步骤;同级多点数据发送的步骤;跨级多跳数据发送的步骤;5)数据接收的步骤,包括接收重做记录的步骤;数据解密的步骤;差错控制的步骤;数据接收缓存的步骤;(3)数据远程重做的步骤包括以下步骤1)重做记录解析的步骤;2)执行重做命令的步骤,包括判断特殊字段类型的步骤;普通字段类型数据重做的步骤;特殊字段类型数据重做的步骤。
2、 根据权利要求1所述的一种多点多跳的数据实时备份方法,其特征在于数据 多点多跳传输的步骤中的数据接收的步骤中的差错控制的步骤,包括以下步 骤重新计算摘要值的步骤;出错重传的步骤。
全文摘要
本发明提出了一种多点多跳的数据实时备份方法,该方法通过数据实时监控、数据多点多跳传输、数据远程重做等技术在主数据库服务器与多目标备份数据库服务器之间进行表级数据的实时备份,其中多点是指同级(同一局域网)数据库之间的多个数据库备份点,多跳是指跨级(不同网络)数据库服务器之间的多个数据库备份点。本发明备份粒度细化到表级,支持多个备份点,采取数据加密和差错控制等机制,确保了数据传输的安全性。本发明实时性好,效率高,可操作性强,应用前景广阔。
文档编号G06F17/30GK101216843SQ200810045209
公开日2008年7月9日 申请日期2008年1月17日 优先权日2008年1月17日
发明者涛 李 申请人:四川大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1