法律状态公告日
法律状态信息
法律状态
2013-04-10
未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20100929 终止日期:20120117 申请日:20080117
专利权的终止
2012-11-14
文件的公告送达 IPC(主分类):G06F17/30 收件人:王正涛 文件名称:专利权终止通知书 申请日:20080117
文件的公告送达
2010-09-29
授权
授权
2010-06-23
专利申请权的转移 IPC(主分类):G06F17/30 变更前: 变更后: 登记生效日:20100513 申请日:20080117
专利申请权、专利权的转移
2008-09-03
实质审查的生效
实质审查的生效
2008-07-09
公开
公开
查看全部
一、技术领域
本发明提出了一种多点多跳的数据实时备份方法,属于信息安全领域。
二、背景技术
随着灾难备份与恢复成为信息安全领域越来越关注的话题,容灾系统被广泛应用于金融、银行、民航等重要行业中,其中数据实时备份是保证敏感性数据安全的关键技术。
商业数据库管理系统提供了一些数据库的备份与恢复工具。但这些方式用于进行表的数据实时备份会存在以下缺点:
(1)实时性差,数据更新慢;
(2)不能同时支持多个备份点;
(3)对全库进行实时备份,备份数据量大,资源配置环境要求较高;
(4)容错性差,当网络出现故障时需要重新备份。
专利公开号为CN1851662中所述的一种数据备份系统,无法实现多点多跳的数据实时备份。本发明提出了一种多点多跳的数据表实时备份方法,在主数据库服务器与多个备份数据库服务器之间进行表级数据的实时备份,其中多点是指同级之间有多个备份数据库服务器,多跳是指在主数据库与跨级备份数据库之间进行数据实时备份,该方法具有以下优点:
(1)粒度细化到表级,实时性好,效率高;
(2)支持多个备份点,可以向多点备份数据库服务器和跨级备份数据库服务器进行实时备份,备份数据具有多个备份,可生存性好;
(3)采取数据加密、以及独特的差错控制等机制,安全性好。
三、发明内容
本发明的核心包括数据实时监控、数据多点多跳传输、数据远程重做等三个部分。其中数据实时监控部分支持多种字段类型,它监控在源数据库服务器上的数据变化,截获源数据表变化的数据和操作,并将其封装成重做记录。数据多点多跳传输部分首先计算重做记录的摘要值,然后对重做记录进行数据加密,确保数据传输的安全性。数据多点多跳传输分为发送端和接收端,发送端驻留在主数据库服务器端,接收端驻留在远程备份服务器端,通过TCP在发送端与接收端之间建立数据传输通道。远程备份服务器可以是多个,也可以跨级分布,地域没有限制。数据远程重做部分从数据传输模块中接收重做记录,解密重做记录,对其进行差错控制:若传输出错,则请求重传。若传输无误,则解析重做记录为可以执行的重做命令集合,执行重做命令集合,从而将源数据库中的数据变化更新到备份数据库服务器中。
为了描述方便,引入以下名词:
(1)重做记录R:将触发器监控截获到的数据和操作封装成一定格式的数据记录。
(2)多点多跳:多点是指同级(同一局域网)数据库之间的多个数据库备份点,多跳是指跨级(不同网络)数据库服务器之间的多个数据库备份点。
(3)同级备份数据库:同一局域网的备份数据库,相对于主数据库被称为同级备份数据库。
(4)跨级备份数据库:不同网络的备份数据库,相对于主数据库被称为跨级备份数据库。
(5)多点备份数据库列表L1:用于记录主数据库服务器的多个同级备份数据库服务器信息,列表中每一个元素包含备份数据库服务器的IP和备份数据库服务器名称等信息;
(6)多跳备份数据库列表L2:用于记录主数据库服务器的多个跨级备份数据库服务器信息,列表中每一个元素包含备份数据库服务器的IP和备份数据库服务器名称等信息。
四、附图说明
图1是多点多跳的数据实时备份的体系架构图。
图2是本发明的工作原理图。
图3是数据实时监控的步骤。
图4是数据多点多跳传输的步骤。
图5是数据远程重做的步骤。
五、具体实施方式
以下结合附图详细说明本发明的具体方法。
图1是多点多跳的数据实时备份的体系架构图。
如图1所示,主数据库服务器和备份数据库服务器可以处于不同的网络环境和不同的系统平台中。主数据库服务器同时向多个备份数据库进行数据表级实时备份,数据实时备份有多个备份点:同级备份数据库备份点、跨级备份数据库备份点。主数据库服务器上驻留数据实时监控模块,数据多点多跳传输模块包括数据传输发送端和接收端,分别驻留在主数据库服务器和备份数据库服务器,数据远程重做模块驻留在备份数据库服务器上。
图2是本发明的工作原理图。
本发明由数据实时监控、数据多点多跳传输和数据远程重做三部分组成。数据实时监控部分首先监控主数据库服务器上的数据变化,截获数据变化和操作变化,将其封装成重做记录。传输多点多跳数据部分首先计算重做记录的摘要值,加密重做记录,并将其送入数据发送缓存队列;发送程序从数据发送缓存队列取出加密后的重做记录及其摘要值,然后根据多点备份数据库列表L1和多跳备份数据库列表L2,分别传输到各个备份数据库服务器上;备份数据库服务器上的解密程序解密重做记录、验证摘要值正确后进行远程重做。通信传输部分的数据缓存队列保证当网络发生故障时重做记录不会丢失,差错控制保证传输数据的一致性。数据远程重做部分首先解析重做记录为可执行的命令集合,最后在备份数据库中执行该命令集合,从而达到数据实时备份的目的。具体来说,本发明包括以下步骤:
(1)数据实时监控的步骤;
(2)数据多点多跳传输的步骤;
(3)数据远程重做的步骤。
图3是数据实时监控的步骤。
数据实时监控应用了数据库触发器的行级事件触发功能和快照日志的监控功能,实时监控和截获数据表的插入、删除及更新等操作和具体的数据变化。当触发器截获到数据变化时,触发器调用外部过程将截获到的操作和数据封装成重做记录。具体步骤如下:
(1)实时监控安装,具体包括以下步骤:
1)安装监控截获库:拷贝监控截获库到数据库系统目录,库中封装了截获特殊数据类型和写缓存队列等方法的实现;
2)安装外部程序包:在数据库中注册外部程序包和创建存储过程,提供调用监控截获库中方法的接口;
(2)创建快照日志:对含特殊字段类型的表建立快照日志,该日志能监控到行级数据变化的动作记录,监控特殊类型如BLOB、CLOB、BFILE等字段类型的数据变化,通过快照日志获得变化的行,对指定用户的表建立相应的触发器,该触发器监控数据的变化,截获数据变化的新旧值;
(3)创建触发器,具体包括以下步骤:
1)创建监控普通表触发器:在普通表(不含特殊字段类型的表,特殊字段类型包括BLOB、CLOB、BFILE等字段类型)上建立触发器,在触发器中引用字段的:NEW和:OLD值截获数据变化的新旧值;
2)创建监控特殊表触发器:在特殊表(含特殊字段类型的表,特殊字段类型包括BLOB、CLOB、BFILE等字段类型)和该特殊表的快照日志上都建立触发器,表上触发器监控一般操作,快照日志上触发器监控快照日志的变化,并调用外部过程截获特殊数据类型的新旧值;
(4)生成重做记录:将触发器截获到的数据变化的新旧值和操作信息封装为重做记录。
图4是数据多点多跳传输的步骤。
数据多点多跳传输的步骤包括重做记录的摘要计算、加密后传输到同级或者跨级的备份数据库服务器端,备份端接收加密数据,进行解密、差错控制等工作。具体步骤如下:
(1)摘要计算:采用单向散列函数H(如MD2、MD5、SHA1等)计算重做记录R的摘要值h,h=H(R);
(2)数据加密:采用对称密码算法对重做记录R进行加密,得到密文实体C,加密算法可采用DES、IDEA、AES等对称密码算法。设Ek代表对称加密算法,k代表该对称加密算法使用的密钥,重做记录R代表明文,C代表密文,则重做记录R的加密过程为:C=Ek(R);
(3)数据发送缓存:将加密后的重做记录及其摘要值<C,h>送入数据发送缓存队列保存;
(4)数据发送,具体步骤如下:
1)获取发送重做记录:从数据发送缓存队列中按先进先出原则依次取出加密后的重做记录及其摘要值<C,h>;
2)同级多点数据发送:将<C,h>分别发送到同级多点备份数据库列表L1中的所有备份数据库服务器;
3)跨级多跳数据发送:将<C,h>分别发送到跨级多跳备份数据库列表L2中的所有备份数据库服务器;
(5)数据接收,具体步骤如下:
1)接收重做记录:备份点数据接收模块接收发过来的加密后的重做记录及其摘要值<C,h>;
2)数据解密:设Dk代表相应对称密码算法的解密算法,k代表密钥,重做记录R代表明文,则解密过程描述为:R=Dk(C);
3)差错控制,具体步骤如下:
①重新计算摘要值:h’=H(R);
②出错重传:如果h≠h’,则意味着传送过程出错,通知数据发送程序重传,否则意味着数据接收成功,直接进行下一步;
4)数据接收缓存:将解密后的重做记录送入数据接收缓存队列保存。
图5是数据远程重做的步骤。
备份数据库服务器接收到数据重做记录后,按重做记录中规定的相应操作和数据在备份数据库服务器上重做一遍,从而将源数据库中的数据变化更新到备份数据库服务器。数据远程重做具体步骤如下:
(1)重做记录解析:从数据接收缓存队列中按先进先出原则依次取出重做记录,解析重做记录为可以执行的重做命令集合;
(2)执行重做命令,具体步骤如下:
1)判断特殊字段类型:判断重做记录中是否含有特殊字段类型,特殊字段类型包括BLOB、CLOB、BFILE等;
2)普通字段类型数据重做:如果不是含有特殊字段类型的重做记录,则直接执行解析后的SQL重做命令集合;
3)特殊字段类型数据重做:如果是含有特殊字段类型的重做记录,调用外部过程执行特殊字段类型的重做命令。
机译: 一种用于实时数据库管理的数据备份方法
机译: 分布式实时数据库管理系统中使用客户端-服务器体系结构的数据一致性备份方法
机译: 分布式实时数据库管理系统中的数据备份方法