oracle一种基于全量数据的增量备份方案_oracle数据库增量备份

其他范文 时间:2020-02-28 13:18:02 收藏本文下载本文
【www.daodoc.com - 其他范文】

oracle一种基于全量数据的增量备份方案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“oracle数据库增量备份”。

一种基于全量数据的增量备份方案

1、发明名称

一种基于全量数据的增量数据备份方案 摘要:

本发明公开了一种基于全量数据的增量备份方案,本文中采取的全量数据增量备份方案包括:读取原始数据与数据库当前数据、原始数据与数据库当前数据对比并生成对比结果日志——筛选出增量数据、按照对比结果将增量数据存入数据库临时增量表,最后将增量数据备份至数据库。整个备份过程,使用了MD5(Meage Digest Algorithm MD5)信息摘要算法和二分查找算法等IT技术,极大的提高了运行效率。通过本发明可以对海量数据进行高效、可靠、快速的备份,对此类问题的解决具有普遍意义。

开始读取原始数据与数据库当前数据数据比对生成比对结果筛选增量数据增量数据存入数据库临时增量表增量数据备份至数据库结束

2、权利要求书

1.读取原始数据与数据库当前数据:使用MD5(Meage Digest Algorithm MD5)信息摘要算法读取原始数据与数据库当前数据,其中数据文件为-CSV格式的文件; 2.数据比对生成比对结果筛选增量数据:原始数据MD5散列值与数据库当前数据的MD5散列值进行全量比对,生成比对结果保存在日志文件中,检索出增量数据; 3.增量数据入数据库临时增量表:按照将通过数据比对筛选出来的增量数据存入数据库临时增量表;

4.增量数据备份至数据库:按照增量表内的数据,通过增加、修改、删除操作更新数据库当前数据,实现原始数据全量备份至数据库;

3、说明书 3.1、技术领域

本申请是一种进行海量数据增量备份的方法。通过本发明可以对海量数据进行高效、可靠、快速的备份,对此类问题的解决具有普遍意义。

3.2、背景技术

目前在有着某种业务关联的分布式数据库和分布式信息系统的各类应用中,常常需要对不同的分布式数据库和信息应用系统中的一些关键数据进行同步,以维护它们之间的数据的一致性。在需要同步的数据量、信息应用系统的独立性、实时性及容错性要求不高的情况下,通常使用数据库同步、ftp、http 下载或者简单的接口调用等方法就可以满足需求。但是,一旦所涉及的数据量达到海量(数以亿计)级别而需要同步的数据仅仅为总数据量的一个很小的子集时,如何快速定位到需要同步的数据也会是一个异常突出的问题,本发明即根据此类问题的要求,通过使用MD5(Meage Digest Algorithm MD5)信息摘要算法和二分查找算法等IT技术,解析读取数据,比对数据筛选出增量数据,按照增量数据更新数据,从而实现原始数据全量备份;

4、发明内容

4.1、发明的目的解决海量数据的增量备份。

4.2、实现的步骤

本方案包括:解析、读取原始数据与数据库当前数据、数据比对生成比对结果筛选增量数据、增量数据入数据库临时增量表、增量备份至数据库。

其中筛选增量数据分为筛选:需要在当前数据库内增加的数据、需要根据原始数据在当前数据库内修改的数据、需要在当前数据库内删除的数据,下文将根据以上三种情况来分类阐述本方案中的“解析、读取原始数据与数据库当前数据、数据比对生成比对结果筛选增量数据”步骤,“增量数据入数据库临时增量表、增量备份至数据库”步骤不再分类阐述。4.2.1、读取原始数据与数据库当前数据

开始读取当前数据库中的一条记录,将主键值与其对应的整条记录的值转化成MD5散列值读取原始数据中的一条记录,将主键值与其对应的整条记录的值转化成MD5散列值否业务主键MD5散列值存入字符串数组YS1,整条记录的MD5散列值存入字符串数组YS1业务主键MD5散列值存入字符串数组TS1,整条记录的MD5散列值存入字符串数组TS1否文件是否读完是是文件是否读完结束

上图为读原始数据与数据库当前数据流程图,详细步骤如下:首先根据业务确定资源对象的业务主键,依次读取当前数据库中的每一条记录,抽取其业务主键值和整条记录的值,通过MD5(Meage Digest Algorithm MD5)信息摘要算法将业务主键值与其对应的整条记录的值转化成MD5散列值,分别存入到字符串数组YS1和YS2中。

采用上述同样的数据读取方式,将原始CSV格式的数据文件,依次读出并通过MD5算法转化成MD5散列值,分别存入字符串数组TS1和TS2。4.2.2、数据比对生成比对结果-筛选增量数据

为了提高全量比对效率,系统采用多进程、多线程操作系统,将参与全量比对的对象随机分配在5个不同的线程队列中,相比于单线程全量比对操作系统,效率提高5倍;

数据比对进行需两次比对,第一次比对筛选出增加的数据、修改的数据,第二次比对筛选出删除的数据,两次比对详细描述如下。

4.2.2.1、筛选出增加的数据、修改的数据

开始YS1和YS2字符串数组排序读取原始数据中的一条记录,将主键值与其对应的整条记录的值转化成MD5散列值主键值在YS1中查找存在整条记录值在YS2中查找存在不存在在LOG文件中记录该条记录实际值并标识位A否不存在在LOG文件中记录该条记录实际值并标识位M数据是否读完结束 上图为筛选增加数据、修改数据的流程图,详细描述如下: 首先将字符串数组YS1和YS2排序,依次使用原始数据一条记录的业务主键MD5散列值在YS1中使用二分查找算法查找,分以下情况:

 若不存在,则说明该条原始数据为新增的数据,并在LOG文件中记录原始数据中该条据的实际值,以A(add)进行标记;

 若存在,则使用原始数据中该记录的整条记录的MD5散列值--TS2在YS2中折半查找:若不存在,则说明该条数据为需要在当前数据库中除业务主键外其他信息需要修改的数据,并在LOG文件中记录原始数据中该条据的实际值,以M(modify)进行标记;

若原始数据该条记录的业务主键MD5散列值、整条记录MD5散列值,即存在于YS1又存在于YS2中,则说明该条记录无变化,无需更新。

4.2.2.2、筛选出删除的数据

开始将TS1排序读取当前数据库的一条记录,将字符串转换成MD5散列值否主键值在TS1中查找存在在LOG文件中记录该条记录实际值并标识位D不存在数据是否读完结束 上图为筛选删除数据的流程图,详细描述如下:

首先将字符串数组TS1和TS2排序,依次使用数据库一条记录的业务主键MD5散列值在TS1中使用二分查找算法查找,若不存在则说明该条数据为需要在当前数据库中删除的数据,并在LOG文件中记录当前数据库中该条据的实际值,以D(delete)进行标记;

4.2.3、增量数据入数据库临时增量表

当前数据库执行存储过程,将比对过程生成的LOG文件中的数据读入到数据库临时增量表中,按照LOG文件中的标识码在临时增量表中的每条记录后面添加一个属性值其中:LOG文件中‘A’对应临时增量表中‘I’(insert 新增的数据)、LOG文件中‘M’ 对应临时增量表中‘U’(update更新的数据)、LOG文件中‘D’ 对应临时增量表中‘D’(delete删除的数据);

4.2.4、增量备份至数据库

当前数据库执行存储过程,读取数据库临时增量表中一条记录,标识码在当前数据库相对应的表中做增删改操作,如下:

 若临时增量表中标识码为‘I’则在当前数据库相对应的表中插入该条记录;  若临时增量表中标识码为‘D’则在当前数据库相对应的表中删除该条记录;  若临时增量表中标识码为‘U’则在当前数据库相对应的表中先删除当前数据库该条记录,再把原始数据中与该条记录的业务主键值相等的记录插入到数据库中; 按照以上操作实现全量数据增量备份。

5、附录

5.1、MD5(Meage Digest Algorithm MD5)信息摘要算法

所谓MD5,即“Meage-Digest Algorithm 5(信息-摘要算法)”,它由MD2、MD3、MD4发展而来的一种单向函数算法(也就是HASH算法),它是国际著名的公钥加密算法标准RSA的第一设计者R.Rivest于上个世纪90年代初开发出来的。MD5的最大作用在于,将不同格式的大容量文件信息在用数字签名软件来签署私人密钥前“压缩”成一种保密的格式,关键之处在于——这种“压缩”是不可逆的。

MD5信息-摘要算法,用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。

MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的 MD5信息摘要。

5.2、二分查找算法

折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如 果xa[n/2],则我们只要在数组a的右 半部继续搜索x。

二分查找的基本思想是:(设R[low..high]是当前的查找区间)

(1)首先确定该区间的中点位置:

(2)然后将待查的K值与R[mid].key比较:若相等,则查找成功并返回此位置,否则须确定新的查找区间,继续二分查找,具体方法如下:

①若R[mid].key>K,则由表的有序性可知R[mid..n].keys均大于K,因此若表中存在关键字等于K的结点,则该结点必定是在位置mid左边的子表R[1..mid-1]中,故新的查找区间是左子表R[1..mid-1]。②类似地,若R[mid].key

因此,从初始的查找区间R[1..n]开始,每经过一次与当前查找区间的中点位置上的结点关键字的比较,就可确定查找是否成功,不成功则当前的查找区间就缩小一半。这一过程重复直至找到关键字为K的结点,或者直至当前的查找区间为空(即查找失败)时为止。

ORACLE数据备份与数据恢复方案

ORACLE数据备份与数据恢复方案摘 要结合金华电信IT系统目前正在实施的备份与恢复策略,重点介绍电信业务计算机管理系统(简称97系统)和营销支撑系统的ORALCE数据库备份和恢复......

ORACLE数据备份与数据恢复方案论文.

ORACLE 数据备份与数据恢复方案 学号: 11129149 姓名:文明艺 1 引 言目前, 数据已成为信息系统的基础核心和重要资源, 同时也是各单位的宝贵财富, 数据 的丢失将导致直接经......

数据备份方案

浪擎官网:http://www.daodoc.com/浪擎容灾案例浪擎-北京航空航天大学 - 构建统一备份方案北京航空航天大学文件服务器存储着大量档案资料,一旦服务器存储发生故障,就会造成相当......

数据备份方案

办公环境下计算机数据备份方案随着公司信息化技术的发展,公司同事在日常办公中越来越离不开计算机;但与生俱来的各种计算机问题也让大家痛苦不堪。诸如意外断电、不正常关机、......

ORACLE备份解决方案

ORACLE备份解决方案2009年09月16日 星期三 14:00 Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是......

下载oracle一种基于全量数据的增量备份方案word格式文档
下载oracle一种基于全量数据的增量备份方案.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文