内存数据库和物理数据库间的数据同步方法
专利名称:内存数据库和物理数据库间的数据同步方法
技术领域:
本发明涉及数据处理方法,尤其涉及一种内存数据库和物理数据库间的数据同步 方法。
背景技术:
现代通信对计算机技术依赖性越来越强,需要进行数据同步的应用进程,建立应用名和对应 的应用进程的关系、应用进程和对应的SQL操作组的关系。其中,步骤2中生成逻辑日志后,系统还对生成的逻辑日志进行收集对应于应用 进程的每个线程关联一个事务缓冲区,用来存储一个事务所生成的逻辑日志;对应于每个 应用进程关联一个应用缓冲区,用来存储该应用进程所有实例所生成的逻辑日志;然后每 个应用进程再把所生成的逻辑日志存储到消息队列中;从消息队列中获取应用进程的逻 辑日志并放在系统缓冲区中,并把系统缓冲区中的逻辑日志写入到内存数据库的日志文件 中。其中,步骤3中,首先加载并解析内存数据库的日志文件,通过解析日志文件得到步骤2中所生成的逻辑日志,然后根据注册的SQL语法和SQL参数,把生成的逻辑日志在物 理数据库中重做。其中,步骤3中,在执行物理数据库的重做时,首先在管理区中注册的SQL语法中 查找准备后的SQL语法,如果没有则进行SQL语法的准备,然后再执行SQL语法对物理数据
库重做。另一方面,对于从物理数据库到内存数据库的数据同步步骤1中,根据物理数据库的日志文件,在SQL管理区中设置SQL语法表和SQL参 数表,分别用来注册操作物理数据库的SQL语法和SQL参数;步骤2中,根据物理数据库的日志文件,设置逻辑日志表,当物理数据库的数据有 变化时,通过物理数据库提供的触发器机制,将变化的数据写到逻辑日志表;步骤3中,实时扫描逻辑日志表,根据注册的SQL语法和SQL参数,把步骤2对应 的逻辑日志在内存数据库进行重做。其中,步骤3中,在执行内存数据库的重做时步骤3. 1、获取到逻辑日志后,根据SQL语法表获取准备后的SQL语法;步骤3. 2、如果获取准备后的SQL语法成功,直接执行步骤3. 3 ;如果获取准备后的 SQL语法失败,则在SQL语法表中获取SQL语法,然后执行内存数据库的准备操作,并在SQL 参数表中获取参数,然后执行内存数据库的参数绑定操作,从而完成内存数据库的重做;步骤3. 3、根据逻辑日志拆分出所有的SQL参数,依次设置到SQL语法中,然后执行 内存数据库的重做。综上所述,本发明的内存数据库和物理数据库间的数据同步方法利用了一次 prepare和多次execute机制,大大的提高了同步效率;降低了逻辑日志的大小,减少了系 统传输损耗和磁盘空间的浪费;支持了同步应用和对应SQL的变化,支持了系统的升级和 扩展。
下面结合附图,通过对本发明的具体实施方式
详细描述,将使本发明的技术方案 及其他有益效果显而易见。附图中,图1为本发明内存数据库和物理数据库间的数据同步方法的流程图;图2为应用了本发明内存数据库和物理数据库间的数据同步方法的一较佳实施 例的反向同步系统的结构示意图;图3为图2所示的反向同步系统的反向同步的数据流图;图4为应用了本发明内存数据库和物理数据库间的数据同步方法的一较佳实施 例的正向同步系统的数据流图。
具体实施例方式图1所示为本发明内存数据库和物理数据库间的数据同步方法的流程图。该方法 包括步骤1、以SQL操作的形式表示对源数据库的操
内存数据库和物理数据库间的数据同步方法 来自淘豆网m.daumloan.com转载请标明出处.