CN103793514B - 数据库同步方法及数据库 - Google Patents

数据库同步方法及数据库 Download PDF

Info

Publication number
CN103793514B
CN103793514B CN201410048013.6A CN201410048013A CN103793514B CN 103793514 B CN103793514 B CN 103793514B CN 201410048013 A CN201410048013 A CN 201410048013A CN 103793514 B CN103793514 B CN 103793514B
Authority
CN
China
Prior art keywords
sentence
data modification
modification operation
data
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410048013.6A
Other languages
English (en)
Other versions
CN103793514A (zh
Inventor
彭勇飞
姚理
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410048013.6A priority Critical patent/CN103793514B/zh
Publication of CN103793514A publication Critical patent/CN103793514A/zh
Application granted granted Critical
Publication of CN103793514B publication Critical patent/CN103793514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种数据库同步方法及数据库,该方法具体包括:接收源数据库发送的日志信息,所述日志信息用于表示所述源数据库中的数据修改操作,获取所述日志信息中所述数据修改操作的类型和参数,并将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句,运行所述数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改,从而提升数据库同步效率。

Description

数据库同步方法及数据库
技术领域
本发明实施例涉及信息技术领域,尤其涉及一种数据库同步方法及数据库。
背景技术
数据库是按照数据结构来组织、存储和管理数据的仓库,数据库通常包括如下部署模式:主备模式、双主模式、跨地域主备容灾模式、异构数据库复制模式等。其中,双主模式是指两个节点的数据库都支持业务访问,支持负载均衡,当一个节点发生故障时,可以将业务切换到另一个节点。上述任何部署模式都需要复制源节点的更新事务到对端节点,复制的方式通常有物理复制和逻辑复制,物理复制是将数据文件物理位置的修改复制到目标节点同样的位置,这种方式只适用于主备模式。逻辑复制是将源节点的修改操作记录为日志信息,在目标节点上以重放事务的方式完成数据同步复制。逻辑复制的处理流程比物理复制复杂的多,其处理性能与系统的可靠性紧密相关。
现有数据库双主模式中,源数据库在修改事务时产生日志信息,接收端将日志信息还原成结构化查询语言(Structured Query Language,sql),对于每一条日志信息,均需要解析和编译sql语句,并逐条执行sql语句,从而完成事务同步。然而,这种方式使得数据库同步效率低下。
发明内容
本发明提供一种数据库同步方法及数据库,用以解决在数据库双主系统中事务复制同步的性能瓶颈问题从而提升事务复制同步的效率。
第一方面,本发明实施例提供了一种数据库同步方法,包括:接收源数据库发送的日志信息,所述日志信息用于表示所述源数据库中的数据修改操作。获取所述日志信息中所述数据修改操作的类型和参数,并将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句,运行所述数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。
结合第一方面,在第一方面的第一种可能实施方式中,所述将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句之前,还包括:生成所述语句模板。
结合第一方面或者第一方面的第一种可能实施方式,在第一方面的第二种可能实施方式中,在所述运行所述数据修改操作语句之前,还包括:将所述数据修改操作语句添加到语句组。所述运行所述数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改具体包括:在所述语句组的语句数量达到预设值时,运行所述语句组,完成对目标数据库中相同存储位置的数据的修改。
结合第一方面的第二种可能实施方式,在第一方面的第三种可能实施方式中,所述将所述数据修改操作语句添加到语句组具体包括:确定所述数据修改操作语句的类型,并根据所述数据修改操作语句的类型将所述数据修改操作语句添加到对应的语句组。
结合第一方面,或第一方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式任一项,在第四种可能实施方式中,所述获取所述日志信息中所述数据修改操作的类型和参数,并将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句,具体包括:获取所述日志信息中所述数据修改操作的类型和参数,在所述数据修改操作的参数不匹配所述语句模板时,利用内置函数调整所述语句模板,并将所述数据修改操作的参数绑定到调整过的语句模板中生成所述数据修改操作语句。
第二方面,本发明实施例还提供了一种数据库,包括:接收单元,用于接收源数据库发送的日志信息,所述日志信息用于表示所述源数据库中的数据修改操作。获取单元,用于获取所述日志信息中所述数据修改操作的类型和参数,并将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句。运行单元,用于运行所述数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。
结合第二方面,在第二方面的第一种可能实施方式中,所述数据库还包括生成单元,所述生成单元具体用于在所述获取单元将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句之前,生成语句模板。
结合第二方面或者第二方面的第一种可能实施方式,在第二方面的第二种可能实施方式中,所述数据库还包括添加单元,所述添加单元具体用于将所述获取单元生成的数据修改操作语句添加到语句组;所述运行单元,具体用于在所述语句组的语句数量达到预设值时,运行所述语句组,完成对目标数据库中相同存储位置的数据的修改。
结合第二方面的第二种可能实施方式,在第二方面的第三种可能实施方式中,所述添加单元具体用于确定所述数据修改操作语句的类型,并根据所述数据修改操作语句的类型将所述数据修改操作语句添加到对应的语句组。
结合第二方面,或第二方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式任一项,在第四种可能实施方式中,所述获取单元具体用于:获取所述日志信息中所述数据修改操作的类型和参数。在所述数据修改操作的参数不匹配所述语句模板时,利用内置函数调整所述语句模板,并将所述数据修改操作的参数绑定到调整过的语句模板中生成所述数据修改操作语句。
本发明通过提供一种数据库同步方法和数据库,接收源数据库发送的日志信息,日志信息用于表示源数据库中的数据修改操作,获取日志信息中数据修改操作的类型和参数,并将获取的数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句,运行数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改,从而提升了数据库同步的效率。
附图说明
图1为本发明一实施例提供的数据库同步方法的流程图;
图2为本发明另一实施例提供的数据库同步方法的流程图;
图3为本发明一实施例提供的数据库的结构图;
图4为本发明另一实施例提供的数据库的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例涉及的数据库同步方法,主要适用于双主模式数据库,所谓双主模式是指两个节点的数据库都支持业务访问,支持负载均衡,当一个节点发生故障时,可以将业务切换到另一个节点。在业务切换的过程中,对源数据库所做的更新操作需要更新到目标数据库,具体是将源数据库的修改操作记录为日志信息,在目标数据库上以重新执行日志信息的方式完成对目标数据库的同步操作。本发明实施例提供了一种数据库同步方法及数据库,可以提高数据库同步效率。
图1为本发明一实施例提供的数据库同步方法的流程图,如图1所示,本实施例提供了一种数据库同步方法,具体包括如下步骤:
步骤101,接收源数据库发送的日志信息,所述日志信息用于表示所述源数据库中的数据修改操作。
数据库双主模式下,在业务切换的过程中,对源数据库所做的更新操作需要更新到目标数据库,具体是将源数据库的修改操作记录为日志信息,在目标数据库上以重新执行日志信息的方式完成对目标数据库的同步操作。因此,首先要接收源数据库发送的日志信息,该日志信息用于表示所述源数据库中的数据修改操作,目标数据库接收源数据库发送的日志信息后,可将其放入目标数据库的缓冲区。
步骤102,获取所述日志信息中所述数据修改操作的类型和参数,并将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句。
由于数据修改操作的类型包括删除,插入和更新三种,因此目标数据库包括对应的语句模板,该语句模板包括3条结构化查询语言(Structured Query Language,sql)语句,3条sql语句分别用于实现删除,插入和更新功能,在目标数据库启动过程中,语句模板中所包括的3条sql语句完成编译和解析,目标数据库获取数据修改操作的类型和参数后,将获取的数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中生成数据修改操作语句,其中数据修改操作语句形式是上述3条sql语句。其中,所述数据修改操作的类型包括删除、插入和修改,所述参数包括数据库中表名、表中的字段名、以及字段名所对应的参数等。
可选地,将获取的数据修改操作的参数绑定到与数据修改操作的类型对应的语句模板中,生成数据修改操作语句之前还包括:生成语句模板,从而在执行数据修改操作语句时,只需将获得的数据修改操作的参数绑定到语句模板执行即可。
步骤103,运行所述数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。
当目标数据库将获取的数据修改操作的参数绑定到对应的语句模板中生成数据修改操作语句后,运行所述数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。其中相同存储位置指的是源数据库中数据与目标数据库对应数据具有相同的表项标识和字段标识。
本发明通过提供一种数据库同步方法,其中目标数据库通过接收源数据库发送的日志信息,获取日志信息中数据修改操作的类型和参数,并将获取的数据修改操作的参数绑定到与数据修改操作的类型对应的语句模板中生成数据修改操作语句,运行数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。从而提升了数据库同步的效率。
图2为本发明另一实施例提供的数据库同步方法的流程图,如图2所示,本实施例在上一实施例步骤101,步骤102的基础上,对步骤103进行细化,主要通过在目标数据库中设置语句组,从而提高数据库同步效率。具体他,本实施例提供的数据库同步方法包括如下步骤:
步骤1031,将所述数据修改操作语句添加到语句组。
目标数据库将获取的数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中生成数据修改操作语句,由于根据日志信息生成的数据修改操作语句可能存在数目较多的情况,因此目标数据库可以设置语句组。首先确定所述数据修改操作语句的类型,并根据所述数据修改操作语句的类型将所述数据修改操作语句添加到对应的语句组。具体可以将数据修改操作语句进行分类,并根据分类添加到对应语句组中,其中分类方式可以为:将同类型数据修改操作语句放入同一个语句组,也可以为不同类型,此处不限制分类方式。将数据修改操作语句添加至语句组可以通过gm_execute_add函数实现。
可选地,在目标数据库启动时,目标数据库通过一个申请函数申请上述语句组。目标数据库在执行上述的数据修改操作语句之前,首先要通过申请函数申请语句组。其中所述申请函数可以为gm_alloc_group函数。
步骤1032,在所述语句组的语句数量达到预设值时,运行所述语句组,完成对目标数据库中相同存储位置的数据的修改。
目标数据库为每一个语句组设置预设值,使得语句组中包括的数据修改操作语句有限,从而有效提高源数据库与目标数据库同步的效率。并且数据库双主模式下,源数据库和目标数据库都支持业务访问,数据库中数据以表的形式存储。每一个二维表对应一个关系,二维表中的每一行有若干个数据项,每一列称为一个字段。所谓数据的表项标识表示的是该数据属于哪一张表。所谓数据的字段标识指的是该数据属于哪一列。源数据库的表项和字段与目标数据库的表项和字段存在一一对应关系。同时存在一一对应关系的表项则具有相同的表项标识。存在一一对应关系的字段则具有相同的字段标识。因此,如果在源数据库的一个数据与目标数据库中的另一个数据具有相同的表项标识和字段标识,则可以确定这两个数据具有相同的存储位置。在业务切换的过程中,对源数据库所做的更新操作需要更新到目标数据库,当确定完所述日志信息所涉及的所述源数据库中的数据的表项标识和字段标识后,则需要对所述目标数据库中相同表项标识和字段标识的数据执行对应类型的数据修改操作语句。其中执行数据修改操作语句可通过gm_execute_all函数实现,目标数据库执行完一个语句组中所有的数据修改操作语句后,可以通过目标数据库中的初始化函数对该语句组进行初始化,经过初始化后的语句组可以被重复使用。或者若该语句组不再被使用时,可以通过目标数据库中的释放函数来释放语句组所占用的资源。其中,初始化函数形式为gm_clean_group,释放函数形式可以为gm_free_group。
进一步地,上述数据修改操作语句具体为3条sql语句,分别具有删除,插入和更新的功能。3条sql语句模板分别为:
1、Delete sql:
DELETE FROM TBL_DML WHERE A=:A AND NVL(ROWVER,0)=:ROWVER
2、Insert sql:
INSERT INTO TBL_DML(A,B,C,D,ROWVER)VALUES(:A,:B,:C,:D,:ROWVER)
3、Update sql:
UPDATE TBL_DML SET
A=NVLFN(:A,A,:0),B=NVLFN(:B,B,:1),C=NVLFN(:C,C,:2),D=NVLFN(:D,D,:3),ROWVER=NVLFN(:ROWVER,ROWVER,:4)
WHERE A=:A AND NVL(ROWVER,0)=:ROWVER
其中,每个表创建时都需创建主键,同时添加ROWVER用作两端操作的冲突处理。NVL(ROWVER,0)功能为:如果ROWVER为NULL,则NVL函数返回0,否则返回ROWVER的值。
可选地,获取日志信息中数据修改操作的类型和参数,并将获取的数据修改操作的参数绑定到与数据修改操作的类型对应的语句模板中,生成数据修改操作语句,具体包括:获取日志信息中数据修改操作的类型和参数,在所述数据修改操作的参数不匹配所述语句模板时,利用内置函数调整所述语句模板,并将所述数据修改操作的参数绑定到调整过的语句模板中生成数据修改操作语句。
其中内置函数具体为:NVLFN(expression1,expression2,val),其功能为:如果expression1为NULL,当val为“1”,则返回NULL。当val为“0”,则返回expression2。如果expression1为非NULL,则返回expression1。该内置函数用于对一个字段进行多种操作,所述多种操作包括:修改为新值、不修改、置空。上述修改操作模板包括的3条sql语句并不能实现对多个字段进行多种操作,即数据修改操作的参数存在不匹配语句模板的情况,因此通过将用来完成更新操作的sql语句与该内置函数结合可以实现对多个字段进行多种操作,从而提升了数据库同步的效率。
本实施例提供了一种数据库同步方法,通过将数据修改操作语句放入语句组中,可以实现同时执行上述多条数据修改操作语句,最后完成对目标数据库中相同存储位置的数据的修改。从而提高了数据库同步效率。
图3为本发明一实施例提供的数据库的结构图,如图3所示,本发明实施例提供一种数据库,具体包括:接收单元301,获取单元302,运行单元303。具体地:
接收单元301,用于接收源数据库发送的日志信息,所述日志信息用于表示所述源数据库中的数据修改的操作。
数据库双主模式下,在业务切换的过程中,对源数据库所做的更新操作需要更新到目标数据库,具体是将源数据库的修改操作记录为日志信息,在目标数据库上以重新执行日志信息的方式完成对目标数据库的同步操作。因此,首先要接收源数据库的日志信息,该日志信息用于表示所述源数据库中的数据修改操作,目标数据库接收单元301接收源数据库发送的日志信息后,可将其放入目标数据库的缓冲区。
获取单元302,用于获取所述日志信息中所述数据修改操作的类型和参数,并将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句。
由于数据修改操作的类型包括删除,插入和更新三种,因此目标数据库包括对应的语句模板,该语句模板包括3条sql语句,3条sql语句分别用于实现删除,插入和更新功能,在目标数据库启动过程中,语句模板中所包括的3条sql语句完成编译和解析,获取单元302获取数据修改操作的类型和参数后,将获取的数据修改操作的参数绑定到与数据修改操作的类型对应的语句模板中生成数据修改操作语句,其中数据修改操作语句形式是上述3条sql语句。
运行单元303,用于运行所述数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。
数据库双主模式下,源数据库和目标数据库都支持业务访问,数据库中数据以表的形式存储。每一个二维表对应一个关系,二维表中的每一行有若干个数据项,每一列称为一个字段。所谓数据的表项标识表示的是该数据属于哪一张表。所谓数据的字段标识指的是该数据属于哪一列。源数据库的表项和字段与目标数据库的表项和字段存在一一对应关系。同时存在一一对应关系的表项则具有相同的表项标识。存在一一对应关系的字段则具有相同的字段标识。因此,如果在源数据库的一个数据与目标数据库中的另一个数据具有相同的表项标识和字段标识,则可以确定这两个数据具有相同的存储位置。在业务切换的过程中,对源数据库所做的更新操作需要更新到目标数据库,当确定完所述日志信息所涉及的所述源数据库中的数据的表项标识和字段标识后,则需要对所述目标数据库中相同表项标识和字段标识的数据执行对应类型的数据修改操作语句。其中执行数据修改操作语句可通过gm_execute_all函数实现,目标数据库运行单元303运行完一个语句组中所有的数据修改操作语句后,可以通过目标数据库中的初始化函数对该语句组进行初始化,经过初始化后的语句组可以被重复使用。或者若该语句组不再被使用时,可以通过目标数据库中的释放函数来释放语句组所占用的资源。其中,初始化函数形式为gm_clean_group,释放函数形式可以为gm_free_group。
本发明通过提供一种数据库,其中该数据库包括接收单元,获取单元,运行单元。其中获取单元,用于获取日志信息中数据修改操作的类型和参数,并将获取的数据修改操作的参数绑定到与数据修改操作的类型对应的语句模板中,生成数据修改操作语句。从而提升了数据库同步的效率。
图4为本发明另一实施例提供的数据库的结构图,如图4所示,在上一实施例的基础上,数据库还包括:生成单元304,添加单元305。
所述生成单元304具体用于在获取单元将获取的数据修改操作的参数绑定到与数据修改操作的类型对应的语句模板中,生成数据修改操作语句之前,生成语句模板。
所述数据库还包括添加单元305,所述添加单元305用于确定数据修改操作语句的类型,并根据数据修改操作语句的类型将数据修改操作语句添加到对应的语句组。
由于根据日志信息生成的数据修改操作语句可能存在数目较多的情况,因此目标数据库可以设置语句组,首先确定所述数据修改操作语句的类型,并根据所述数据修改操作语句的类型将所述数据修改操作语句添加到对应的语句组。具体可以将数据修改操作语句进行分类,并根据分类添加到对应语句组中,其中分类方式可以为:将同类型数据修改操作语句放入同一个语句组,也可以为不同类型,此处不限制分类方式。将数据修改操作语句添加至语句组可以通过gm_execute_add函数实现。
可选地,在目标数据库启动时,目标数据库通过一个申请函数申请上述语句组。目标数据库在执行上述的数据修改操作语句之前,首先要通过申请函数申请语句组。其中所述申请函数可以为gm_alloc_group函数。
可选地,获取单元302获取日志信息中所述数据修改操作的类型和参数后,在数据修改操作的参数不匹配语句模板时,利用内置函数调整语句模板,并将数据修改操作的参数绑定到调整过的语句模板中生成数据修改操作语句。
其中内置函数具体为:NVLFN(expression1,expression2,val),其功能为:如果expression1为NULL,当val为“1”,则返回NULL。当val为“0”,则返回expression2。如果expression1为非NULL,则返回expression1。该内置函数用于对一个字段进行多种操作,所述多种操作包括:修改为新值、不修改、置空。上述修改操作模板包括的3条sql语句并不能实现对多个字段进行多种操作,即数据修改操作的类型和参数不匹配数据修改操作模板,因此通过将用来完成更新操作的sql语句与该内置函数结合可以实现对多个字段进行多种操作,从而提升了数据库同步的效率。
进一步地,运行单元303,具体用于在语句组的语句数量达到预设值时,运行语句组,完成对目标数据库中相同存储位置的数据的修改。
目标数据库为每一个语句组设置预设值,使得语句组中包括的数据修改操作语句有限,从而有效提高源数据库与目标数据库同步的效率。
本实施例提供了一种数据库,本发明通过提供一种数据库,包括生成单元,接收单元,获取单元,添加单元,运行单元。其中生成单元生成修改操作模板,使得在执行数据修改操作语句时只需将获取的数据修改操作的参数绑定到与数据修改操作的类型对应的语句模板中执行即可,另外,通过将生成的数据修改操作语句添加至语句组,使得同一语句组中所包括的数据修改操作语句同时执行。从而提升了数据库同步的效率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM(Read OnlyMemory,只读存储器)、RAM(Random Access Memory,随机存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种数据库同步方法,其特征在于,包括:
接收源数据库发送的日志信息,所述日志信息用于表示所述源数据库中的数据修改操作;
获取所述日志信息中所述数据修改操作的类型和参数,并将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句;
运行所述数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。
2.根据权利要求1所述的方法,其特征在于,所述将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句之前,还包括:生成所述语句模板。
3.根据权利要求1或2所述的方法,其特征在于,在所述运行所述数据修改操作语句之前,还包括:
将所述数据修改操作语句添加到语句组;
所述运行所述数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改具体包括:
在所述语句组的语句数量达到预设值时,运行所述语句组,完成对目标数据库中相同存储位置的数据的修改。
4.根据权利要求3所述的方法,其特征在于,所述将所述数据修改操作语句添加到语句组具体包括:
确定所述数据修改操作语句的类型,并根据所述数据修改操作语句的类型将所述数据修改操作语句添加到对应的语句组。
5.根据权利要求1或2所述的方法,其特征在于,所述获取所述日志信息中所述数据修改操作的类型和参数,并将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句,具体包括:
获取所述日志信息中所述数据修改操作的类型和参数;
在所述数据修改操作的参数不匹配所述语句模板时,利用内置函数调整所述语句模板,并将所述数据修改操作的参数绑定到调整过的语句模板中生成所述数据修改操作语句。
6.一种数据库,其特征在于,包括:
接收单元,用于接收源数据库发送的日志信息,所述日志信息用于表示所述源数据库中的数据修改操作;
获取单元,用于获取所述日志信息中所述数据修改操作的类型和参数,并将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句;
运行单元,用于运行所述数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。
7.根据权利要求6所述的数据库,其特征在于,所述数据库还包括生成单元,所述生成单元具体用于在所述获取单元将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句之前,生成所述语句模板。
8.根据权利要求6或7所述的数据库,其特征在于,
所述数据库还包括添加单元,所述添加单元具体用于将所述获取单元生成的数据修改操作语句添加到语句组;
所述运行单元,具体用于在所述语句组的语句数量达到预设值时,运行所述语句组,完成对目标数据库中相同存储位置的数据的修改。
9.根据权利要求8所述的数据库,其特征在于,所述添加单元具体用于确定所述数据修改操作语句的类型,并根据所述数据修改操作语句的类型将所述数据修改操作语句添加到对应的语句组。
10.根据权利要求6或7所述的数据库,其特征在于,所述获取单元具体用于:
获取所述日志信息中所述数据修改操作的类型和参数;
在所述数据修改操作的参数不匹配所述语句模板时,利用内置函数调整所述语句模板,并将所述数据修改操作的参数绑定到调整过的语句模板中生成所述数据修改操作语句。
CN201410048013.6A 2014-02-11 2014-02-11 数据库同步方法及数据库 Active CN103793514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410048013.6A CN103793514B (zh) 2014-02-11 2014-02-11 数据库同步方法及数据库

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410048013.6A CN103793514B (zh) 2014-02-11 2014-02-11 数据库同步方法及数据库

Publications (2)

Publication Number Publication Date
CN103793514A CN103793514A (zh) 2014-05-14
CN103793514B true CN103793514B (zh) 2017-09-19

Family

ID=50669180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410048013.6A Active CN103793514B (zh) 2014-02-11 2014-02-11 数据库同步方法及数据库

Country Status (1)

Country Link
CN (1) CN103793514B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320680A (zh) * 2014-07-15 2016-02-10 中国移动通信集团公司 一种数据同步方法及装置
GB2533086A (en) 2014-12-08 2016-06-15 Ibm Controlling a multi-database system
CN105955970A (zh) * 2015-11-12 2016-09-21 中国银联股份有限公司 一种基于日志解析的数据库复制方法及装置
CN105488115A (zh) * 2015-11-23 2016-04-13 北京奇虎科技有限公司 数据库的数据操作的方法及装置
CN105260486A (zh) * 2015-11-23 2016-01-20 郑州悉知信息科技股份有限公司 一种数据处理方法、装置及系统
CN105677876B (zh) * 2016-01-12 2018-04-03 国家电网公司 一种基于物理级的数据库日志挖掘方法
CN105912427A (zh) * 2016-04-29 2016-08-31 浪潮(北京)电子信息产业有限公司 一种数据容灾同步的方法及装置
CN109033193A (zh) * 2018-06-16 2018-12-18 温州职业技术学院 一种数据库结构及其数据同步方法
CN109033268A (zh) * 2018-07-10 2018-12-18 安心财产保险有限责任公司 数据同步方法、装置、设备及存储介质
CN109255104B (zh) * 2018-09-03 2023-11-14 中国平安财产保险股份有限公司 批文模板配置方法、装置、计算机设备及存储介质
CN110784532B (zh) * 2019-10-25 2021-09-07 北京天润融通科技股份有限公司 双向数据同步方法及系统
CN110781243A (zh) * 2019-11-06 2020-02-11 杭州安恒信息技术股份有限公司 关系型数据库双主数据增量同步方法和系统
CN111104409A (zh) * 2019-12-25 2020-05-05 上海米哈游天命科技有限公司 一种数据库处理方法、装置、存储介质及电子设备
CN111143470A (zh) * 2019-12-27 2020-05-12 中国银行股份有限公司 跨平台数据库数据同步比对方法及装置
CN112069194A (zh) * 2020-08-31 2020-12-11 杭州铁驰云商科技有限公司 一种对数据库中数据的实时修改方法及系统
CN112765156A (zh) * 2020-12-29 2021-05-07 中国人寿保险股份有限公司上海数据中心 一种基于数据修改规则的数据修改方法、系统和存储介质
CN112699131B (zh) * 2021-01-18 2021-11-30 中国电子系统技术有限公司 一种映射连接的交互方法以及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156720A (zh) * 2011-03-28 2011-08-17 中国人民解放军国防科学技术大学 一种数据恢复的方法、装置和系统
CN102346775A (zh) * 2011-09-26 2012-02-08 苏州博远容天信息科技有限公司 一种基于日志的异构多源数据库同步方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555502B2 (en) * 2006-03-10 2009-06-30 Oracle International Corporation Detecting database events using recovery logs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156720A (zh) * 2011-03-28 2011-08-17 中国人民解放军国防科学技术大学 一种数据恢复的方法、装置和系统
CN102346775A (zh) * 2011-09-26 2012-02-08 苏州博远容天信息科技有限公司 一种基于日志的异构多源数据库同步方法

Also Published As

Publication number Publication date
CN103793514A (zh) 2014-05-14

Similar Documents

Publication Publication Date Title
CN103793514B (zh) 数据库同步方法及数据库
CN106874440B (zh) 一种基于sql数据库的区块链状态存储方法
US20200167315A1 (en) Multi-range and runtime pruning
US9760617B2 (en) Applying transaction log in parallel
CN106164865B (zh) 用于数据复制的依赖性感知的事务批处理的方法和系统
US20160142249A1 (en) Method, medium, and system for configuring a new node in a distributed memory network
CN102663007B (zh) 一种支持敏捷开发和横向扩展的数据存储与查询方法
CN105912691B (zh) 基于分布式存储的电网模型多版本多租户管理系统和方法
CN104781809A (zh) 容器数据库
CN105069109B (zh) 一种分布式数据库扩容的方法和系统
CN106933703A (zh) 一种数据库数据备份的方法、装置及电子设备
EP2406736A2 (en) Composite hash and list partitioning of database tables
CN105447156A (zh) 资源描述框架分布式引擎及增量式更新方法
CN106936899A (zh) 分布式统计分析系统的配置方法及分布式统计分析系统
CN106815330A (zh) 沿空间维度拓展的区块链的生成方法及系统
US20210250218A1 (en) Abstraction layer for streaming data sources
CN106991190A (zh) 一种数据库自动创建子数据库系统
CN102609446A (zh) 一种分布式Bloom过滤系统及其使用方法
CN105608228B (zh) 一种高效的分布式的rdf数据存储方法
EP2965492B1 (en) Selection of data storage settings for an application
CN102193990A (zh) 一种图形数据库及其实现方法
CN110389766A (zh) HBase容器集群部署方法、系统、设备及计算机可读存储介质
CN105912427A (zh) 一种数据容灾同步的方法及装置
CN111367924A (zh) 数据同步方法、装置、电子设备、存储介质
US11151157B2 (en) Database management method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220208

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right