数据库备份方法及装置制造方法及图纸

技术编号:21246971 阅读:23 留言:0更新日期:2019-06-01 07:21
本发明专利技术实施例提供一种数据库备份方法及装置,其中方法包括:监听并解析源数据库的binlog日志,分解出多种类型的数据库操作语言;将所述数据库操作语言的数据类型和语法格式转换为目标数据库可识别的数据库操作语言,以在所述目标数据库中执行;其中,所述源数据库为mysql数据库,所述目标数据库为oracle数据库。本发明专利技术实施例能够在毫秒级对源数据库进行实时数据备份。

Database Backup Method and Device

The embodiment of the present invention provides a database backup method and device, which includes: listening and parsing binlog logs of the source database, decomposing various types of database operation languages, converting the data types and grammatical formats of the database operation languages into database operation languages recognizable by the target database for execution in the target database; The source database is MySQL database and the target database is Oracle database. The embodiment of the invention can backup real-time data of the source database at the millisecond level.

【技术实现步骤摘要】
数据库备份方法及装置
本专利技术实施例涉及数据库
,更具体地,涉及数据库备份方法及装置。
技术介绍
当前市场的软件都在追求实时的数据反馈,秒级的结果反馈,不同数据库系统之间的实时交互,同步传输等。目前遇到了包括以下几点的架构挑战:1.对现有数据库管理技术的挑战。2.传统的数据库技术对数据的多类别、SQL并没有太多的考虑,在设计之初对非结构化数据的存储问题是没有考虑到的。3.传统的BI应用、数据库仓库系统等,对数据处理时间的要求并不是很高。因此这样的应用建模后,运行一两天都是没有任何问题的。但对于要求数据进行实时处理,则存在一定问题,这也是区别大数据应用和传统数据仓库技术、BI技术的关键差别之一。4.随着每天创建的数据量爆炸性的增长,数据保存能改进的技术空间不是很大,而数据丢失的这种可能性却不断的增加。如此庞大的数据量存储就是首先面临的非常严峻的问题,硬件的更新速度将是大数据发展的基石,但效果确实不甚理想。信息是当代企业运用科学管理、决策分析的基础,是企业的重要资源。目前,大多数企业花费大量的资金和时间来构建联机事务处理OLTP的业务系统和办公自动化系统,用来记录事务处理的各种相关数据。据统计,数据量每2~3年时间就会成倍增长,这些数据蕴含着巨大的商业价值,而企业所关注的通常只占在总数据量的2%~4%左右。因此,企业仍然没有最大化地利用已存在的数据资源,以至于浪费了更多的时间和资金,也失去制定关键商业决策的最佳契机。于是,企业如何通过各种技术手段,并把数据转换为信息、知识,已经成了提高其核心竞争力的主要瓶颈。
技术实现思路
本专利技术实施例提供一种克服上述问题或者至少部分地解决上述问题的数据库备份方法及装置。第一个方面,本专利技术实施例提供一种数据库备份方法,包括:监听并解析源数据库的binlog日志,分解出多种类型的数据库操作语言;将所述数据库操作语言的数据类型和语法格式转换为目标数据库可识别的数据库操作语言,以在所述目标数据库中执行;其中,所述源数据库为mysql数据库,所述目标数据库为oracle数据库。第二个方面,本专利技术实施例提供一种数据库备份装置,包括:解析模块,监听并解析源数据库的binlog日志,分解出多种类型的数据库操作语言;转换模块,用于将所述数据库操作语言的数据类型和语法格式转换为目标数据库可识别的数据库操作语言,以在所述目标数据库中执行;其中,所述源数据库为mysql数据库,所述目标数据库为oracle数据库。第三个方面,本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。第四个方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。本专利技术实施例提供的数据库备份方法及装置,通过监听并解析源数据库的binlog日志,分解出多种类型的数据库操作语言;将所述数据库操作语言的数据类型和语法格式转换为目标数据库可识别的数据库操作语言,以在所述目标数据库中执行,能够完成在毫秒级对源数据库进行实时数据备份的目的。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的数据库备份方法的流程示意图;图2为本专利技术另一个实施例提供的数据库备份方法的流程示意图;图3为本专利技术实施例的技术架构图;图4为本专利技术实施例提供的数据库备份装置的结构示意图;图5为本专利技术实施例提供的配置平台的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。ETL(Extract-Transform-Load),用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。现在市场大多数ETL工具,还是以批次性的、对数据源进行sql方式进行,需要对源数据库每秒的进行监控扫描,极大的消耗源数据库的IOPS。而目前市场上可以进行数据库系统之家毫秒级实时传输的,仅限于X(X表示市场流行的数据库)到Mysql,目标数据库有极大的限制。为了克服现有技术的上述问题,图1为本专利技术实施例提供的数据库备份方法的流程示意图,如图1所示,该方法包括:S101、监听并解析源数据库的binlog日志,分解出多种类型的数据库操作语言。binlog日志即二进制日志,本专利技术实施例的源数据库是mysql数据库,mysql数据库中的binlog日志中记录了所有的DDL(datadefinitionlanguage)和DML(datamanipulationlanguage)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。二进制日志包括两类文件:二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件,二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句)语句事件。可以理解的时,通过对binlog日志进行解析,可以分解出DDL、DML等多种类型数据库操作语言。DDL指针对数据源的表进行的变更操作,如altertable。DML是正常对数据进行增删改等操作。本专利技术实施例会对DDL和DML进行解析并在目标执行,保证源和目标的表的一致性。S102、将所述数据库操作语言的数据类型和语法格式转换为目标数据库可识别的数据库操作语言,以在所述目标数据库中执行;在本专利技术实施例中,目标数据库为oracle数据库。通过将mysql数据库中的数据库操作语言的数据类型和语法格式转换为oracle数据库可识别的数据库操作语言,以在oracle数据库中执行。本专利技术实施例是对源数据库进行binlog日志的采集,不走源数据库迎亲,所以不会对数据源进行任何资源消耗。可以理解的是,Mysql的日志记录存在binlog日志中,binlog日志中记录了针对数据表的所有操作记录,而本专利技术实施例针对该日志,每次binlog日志有变化都会同步到目标指向,并不是对表进行扫描,因此能够实现毫秒级的扫描,答复提高扫描速度。本专利技术实施例适用于Mysql-oracle属于跨数据库类型的数据同步,具有极其重要的实践意义。在上述各实施例的基础上,作为一种可选实施例,将所述数据库操作语言的数据类型和语法格式转换为目标数据库可识别的数据库操作语言,具体为:将varchar数据类型的数据转换为varchar2数据类型;将int数本文档来自技高网...

【技术保护点】
1.一种数据库备份方法,其特征在于,包括:监听并解析源数据库的binlog日志,分解出多种类型的数据库操作语言;将所述数据库操作语言的数据类型和语法格式转换为目标数据库可识别的数据库操作语言,以在所述目标数据库中执行;其中,所述源数据库为mysql数据库,所述目标数据库为oracle数据库。

【技术特征摘要】
1.一种数据库备份方法,其特征在于,包括:监听并解析源数据库的binlog日志,分解出多种类型的数据库操作语言;将所述数据库操作语言的数据类型和语法格式转换为目标数据库可识别的数据库操作语言,以在所述目标数据库中执行;其中,所述源数据库为mysql数据库,所述目标数据库为oracle数据库。2.根据权利要求1所述的数据库备份方法,其特征在于,所述将所述数据库操作语言的数据类型和语法格式转换为目标数据库可识别的数据库操作语言,具体为:将varchar数据类型的数据转换为varchar2数据类型;将int数据类型的数据转换为number数据类型;将decimal数据类型的数据转换为number数据类型;将float数据类型的数据转换为number数据类型。3.根据权利要求1所述的数据库备份...

【专利技术属性】
技术研发人员:段湾湾秦琴陈建文
申请(专利权)人:北京市天元网络技术股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1