一种内存数据库与物理数据库间的数据同步方法及系统技术方案

技术编号:2819700 阅读:441 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种内存数据库与物理数据库间的数据同步方法及系统,所述系统包括内存数据库、物理数据库和数据同步装置;所述方法为:内存数据库每进行数据修改操作时,按照既定规范生成用以记录数据修改操作信息的同步日志文件,并将该文件保存于内存数据库所在主机;数据同步装置定时从所述内存数据库所在主机获取新生成的同步日志文件,将其保存于本地的指定目录中,然后对该文件进行解析,将其转换成符合目标物理数据库的语法规则的基本SQL语句,之后与目标物理数据库建立连接,执行所述基本SQL语句。本发明专利技术不仅保证了同步的实时性;而且有效地控制了同步的数据量,加快了同步速度,可以在多种操作系统平台上使用。

【技术实现步骤摘要】

本专利技术涉及一种内存数据库与物理数据库间的数据同步方法及系统
技术介绍
随着社会信息化程度的逐步深入,数据库在各行各业中的应用越来 越广,尤其是通讯领域,业务的数据量非常大,性能要求越来越高,并 且对数据的安全性有着很高的要求。内存数据库具有速度快、性能高的 优点,所以越来越多的应用系统都自行开发了基于内存运算的专用存储 程序,将常用的数据緩存在内存中,加快访问速度。但是,内存数据库 的安全性不足,当异常宕机或者掉电的情况下,内存中的数据就会丢失,这样一来,就需要后台有一个对应的物理数据库来作数据备份;另外, 很多应用系统的门户或者界面等外围程序需要通过物理数据库来访问 内存中的数据表,所以必须有一种把内存数据库中的数据变化及时更新 到物理数据库的同步机制。具体而言,当内存数据库中的数据被修改后, 应用程序通过一种方法,自动将内存数据库中的数据更新同步到物理数 据库,这样既能满足门户或者界面的查询需求,又能保证数据的安全备 份,从而保证整个应用系统的安全和稳定运行。然而,该同步问题一直 没有得到解决,很多外围程序无法实现既有的功能,数据的安全性也无 法得到保证。
技术实现思路
本专利技术所要解决的技术问题是提供一种内存数据库与物理数据库 之间的数据同步方法,以及实现该方法的数据同步系统。为解决上述技术问题,本专利技术是通过以下技术方案实现的一种数据同步系统,包括内存数据库和目标物理数据库,还包括数据同步装置,且所述内存数据库中包括同步日志生成模块;所述内存数据库,在每次进行数据修改操作时,调用所述同步日志 生成模块,生成用以记录数据修改操作信息的同步日志文件,并保存该同步日志文件;所述数据同步装置,用于通过文件传输协议定时获取所述内存数据 库新生成的同步日志文件,对该同步日志文件进行解析,将其转换成符 合目标物理数据库的语法规则的基本SQL语句,与目标物理数据库建 立连接后执行所述SQL语句。其中,所述数据同步装置包括同步日志文件传输模块,用于定时从所述内存数据库获取新生成的 同步日志文件,并将其存放于本地的指定目录中;同步日志文件解析模块,用于对所述指定目录中的同步日志文件逐同步日志文件重做模块,用于建立和维护物理数据库连接池,通过 调用目标物理数据库的驱动程序与目标物理数据库建立连接后执行所 述基本SQL语句。其中,所述数据同步装置还包括日志管理模块,用于定时检查所述 本地的指定目录中保存的同步日志文件,删除其中已经解析处理的同步 日志文件。一种内存数据库与物理数据库间的数据同步方法,包括内存数据库每进行数据修改操作时,按照既定规范生成用以记录数 据修改操作信息的同步日志文件,并将该文件保存于内存数据库所在主 机;数据同步装置定时从所述内存数据库所在主机获取新生成的同步日志文件,将其保存于本地的指定目录中,然后对该文件进行解析,将其转换成符合目标物理数据库的语法规则的基本SQL语句,之后与目 标物理数据库建立连接,执行所述基本SQL语句。上述方法还包括所述数据同步装置定时检查本地的指定目录中所 保存的同步日志文件,删除其中已经解析处理的同步日志文件。其中,所述同步日志文件的内容包括日志序列号、日志长度、本 日志是否需要同步标识、表的名称、表名称长度以及数据修改信息。其中,所述同步日志文件为二进制格式。本专利技术解决了内存数据库与物理数据之间的数据同步问题和安全 问题,具有以下有益效果1 )内存数据库程序只需要将数据的更改操作信息写入同步日志文 件,后续的数据同步主要步骤(同步日志文件的传输、解析、SQL重做 等)都可以在另外的主机上进行,不会过多地增加内存数据库所在主机 的系统负担,将对该应用主机的影响降低到最小程度,且保"^L了同步的 实时性;2) 由于同步日志文件是在嵌入在内存数据库中生成的,属于底层 的实现,因此,不管是谁向内存数据库发起的数据修改操作或者通过什 么途径发起数据修改操作,同步日志文件中记录的都是原始的二进制数 据码流,实现了数据库类型无关性和操作平台无关性,使得后续的文件 传输和解析方便自如;3) 可以灵活定制需要增量同步的表、操作或者数据信息,有效地 控制了同步的数据量,加快了同步速度;4) 同步日志文件使用标准的文件传输协议,可在不同设备间转移, 因此与操作系统和数据库类型无关,可以在多种操作系统平台上使用, 扩展性好。附图说明图1是本专利技术实施例中的数据同步系统的结构示意图; 图2是本专利技术实施例中的数据同步方法的流程图; 图3是本专利技术实施例中的同步日志文件传输方法流程图; 图4是本专利技术实施例中的解析过程示意图。具体实施例方式下面结合附图及具体实施例对本专利技术作进一步详细的描述请参阅图1,该图所示为本专利技术所提出的数据同步系统,包括专用 内存数据庠A,^An、物理数据库B,—Bn、数据同步装置;其中,内存 数据库中均包含有同步日志文件生成模块,数据同步装置包括同步日志 文件传输模块、同步日志文件解析模块、同步日志文件重做模块。上述 系统中各部分的作用为各内存数据库,在每次进行数据修改操作时,分别调用其同步日志 生成模块,生成用以记录数据修改操作信息的二进制格式的同步日志文 件,并保存该同步日志文件于本内存数据库所在的主机;同步日志文件传输模块,用于定时从各内存数据库所在主机分别获 取新的同步日志文件,将其存储于本地的指定目录中;同步日志文件解析模块,用于对本地所存储的同步日志文件分别逐 行解析,将其转换成符合其目标物理数据库的语法规则的基本SQL语 句;同步日志文件重做模块,用于建立和维护物理数据库连接池,通过 调用目标物理数据库的驱动程序与目标物理数据库建立连接后执行上 述基本SQL语句。数据同步装置还可包括日志管理模块,用于定时检查本地的指定目 录中保存的同步日志文件,删除其中已经解析处理的同步日志文件,以保持存储空间的持续可用。请参阅图2,该图所示为本专利技术所提出的内存数据库与物理数据库间的数据同步方法,包括以下步骤201 、各个内存数据库和数据同步装置分别进行初始化配置对于内存数据库,需要进行以下配置①定义全局统一分配的日志 序列号(lsn)变量和文件序列号变量;②定义增、删、改等"t喿作类型, 一条SQL命令在实际执行时分解成多个基本操作,基本操作有3种 更新字l爻的值(UPDATE—FIELD)、删除记录行(DELETE_RECORD )、 插入记录4亍(INSERT_RECORD );定义元组结构field—desc的属性 字段名称(name),字段名称的长度(name—len ),字段的数据类型(type ), 字段的值(data),值的长度(data—len);对于数据同步装置,需要初始配置内存数据库(即源数据库,可以 有多个)的主机地址、FTP用户名以及密码,以及物理凝:据库(即目标 数据库,可以有多个,也可以是不同类型)的主机地址。202、生成同步日志文件内存数据库在每次进行数据修改操作时, 调用其同步日志生成模块,按照既定规范生成用以记录数据修改操作信 息的同步日志文件,并将该文件保存于本内存数据库所在主^L。首先,内存数据库所生成的同步日志文件的命名格式为XLOG— 内存数据库主机IP一文件生成日期—文件序列号。其中,XLOG为自定义 文件前缀;内存数据本文档来自技高网...

【技术保护点】
一种数据同步系统,包括内存数据库和物理数据库,其特征在于,该系统还包括数据同步装置,且所述内存数据库中包括同步日志生成模块; 所述内存数据库,在每次进行数据修改操作时,调用所述同步日志生成模块,生成用以记录数据修改操作信息的同步日志文件,并保存该同步日志文件; 所述数据同步装置,用于通过文件传输协议定时获取所述内存数据库新生成的同步日志文件,对该同步日志文件进行解析,将其转换成符合目标物理数据库的语法规则的基本SQL语句,与目标物理数据库建立连接后执行所述SQL语句。

【技术特征摘要】

【专利技术属性】
技术研发人员:常二鹏卢勤元丁奇鹏印和平陈河堆
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1