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

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

Info

Publication number
CN103793514A
CN103793514A CN201410048013.6A CN201410048013A CN103793514A CN 103793514 A CN103793514 A CN 103793514A CN 201410048013 A CN201410048013 A CN 201410048013A CN 103793514 A CN103793514 A CN 103793514A
Authority
CN
China
Prior art keywords
statement
data modification
database
data
type
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.)
Granted
Application number
CN201410048013.6A
Other languages
English (en)
Other versions
CN103793514B (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

Images

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

Abstract

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

Description

数据库同步方法及数据库
技术领域
本发明实施例涉及信息技术领域,尤其涉及一种数据库同步方法及数据库。
背景技术
数据库是按照数据结构来组织、存储和管理数据的仓库,数据库通常包括如下部署模式:主备模式、双主模式、跨地域主备容灾模式、异构数据库复制模式等。其中,双主模式是指两个节点的数据库都支持业务访问,支持负载均衡,当一个节点发生故障时,可以将业务切换到另一个节点。上述任何部署模式都需要复制源节点的更新事务到对端节点,复制的方式通常有物理复制和逻辑复制,物理复制是将数据文件物理位置的修改复制到目标节点同样的位置,这种方式只适用于主备模式。逻辑复制是将源节点的修改操作记录为日志信息,在目标节点上以重放事务的方式完成数据同步复制。逻辑复制的处理流程比物理复制复杂的多,其处理性能与系统的可靠性紧密相关。
现有数据库双主模式中,源数据库在修改事务时产生日志信息,接收端将日志信息还原成结构化查询语言(Structured Query Language,sql),对于每一条日志信息,均需要解析和编译sql语句,并逐条执行sql语句,从而完成事务同步。然而,这种方式使得数据库同步效率低下。
发明内容
本发明提供一种数据库同步方法及数据库,用以解决在数据库双主系统中事务复制同步的性能瓶颈问题从而提升事务复制同步的效率。
第一方面,本发明实施例提供了一种数据库同步方法,包括:接收源数据库发送的日志信息,所述日志信息用于表示所述源数据库中的数据修改操作。获取所述日志信息中所述数据修改操作的类型和参数,并将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句,运行所述数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。
结合第一方面,在第一方面的第一种可能实施方式中,所述将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句之前,还包括:生成所述语句模板。
结合第一方面或者第一方面的第一种可能实施方式,在第一方面的第二种可能实施方式中,在所述运行所述数据修改操作语句之前,还包括:将所述数据修改操作语句添加到语句组。所述运行所述数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改具体包括:在所述语句组的语句数量达到预设值时,运行所述语句组,完成对目标数据库中相同存储位置的数据的修改。
结合第一方面的第二种可能实施方式,在第一方面的第三种可能实施方式中,所述将所述数据修改操作语句添加到语句组具体包括:确定所述数据修改操作语句的类型,并根据所述数据修改操作语句的类型将所述数据修改操作语句添加到对应的语句组。
结合第一方面,或第一方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式任一项,在第四种可能实施方式中,所述获取所述日志信息中所述数据修改操作的类型和参数,并将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句,具体包括:获取所述日志信息中所述数据修改操作的类型和参数,在所述数据修改操作的参数不匹配所述语句模板时,利用内置函数调整所述语句模板,并将所述数据修改操作的参数绑定到调整过的语句模板中生成所述数据修改操作语句。
第二方面,本发明实施例还提供了一种数据库,包括:接收单元,用于接收源数据库发送的日志信息,所述日志信息用于表示所述源数据库中的数据修改操作。获取单元,用于获取所述日志信息中所述数据修改操作的类型和参数,并将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句。运行单元,用于运行所述数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。
结合第二方面,在第二方面的第一种可能实施方式中,所述数据库还包括生成单元,所述生成单元具体用于在所述获取单元将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句之前,生成语句模板。
结合第二方面或者第二方面的第一种可能实施方式,在第二方面的第二种可能实施方式中,所述数据库还包括添加单元,所述添加单元具体用于将所述获取单元生成的数据修改操作语句添加到语句组;所述运行单元,具体用于在所述语句组的语句数量达到预设值时,运行所述语句组,完成对目标数据库中相同存储位置的数据的修改。
结合第二方面的第二种可能实施方式,在第二方面的第三种可能实施方式中,所述添加单元具体用于确定所述数据修改操作语句的类型,并根据所述数据修改操作语句的类型将所述数据修改操作语句添加到对应的语句组。
结合第二方面,或第二方面的第一种可能实施方式或第二种可能实施方式或第三种可能实施方式任一项,在第四种可能实施方式中,所述获取单元具体用于:获取所述日志信息中所述数据修改操作的类型和参数。在所述数据修改操作的参数不匹配所述语句模板时,利用内置函数调整所述语句模板,并将所述数据修改操作的参数绑定到调整过的语句模板中生成所述数据修改操作语句。
本发明通过提供一种数据库同步方法和数据库,接收源数据库发送的日志信息,日志信息用于表示源数据库中的数据修改操作,获取日志信息中数据修改操作的类型和参数,并将获取的数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句,运行数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改,从而提升了数据库同步的效率。
附图说明
图1为本发明一实施例提供的数据库同步方法的流程图;
图2为本发明另一实施例提供的数据库同步方法的流程图;
图3为本发明一实施例提供的数据库的结构图;
图4为本发明另一实施例提供的数据库的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例涉及的数据库同步方法,主要适用于双主模式数据库,所谓双主模式是指两个节点的数据库都支持业务访问,支持负载均衡,当一个节点发生故障时,可以将业务切换到另一个节点。在业务切换的过程中,对源数据库所做的更新操作需要更新到目标数据库,具体是将源数据库的修改操作记录为日志信息,在目标数据库上以重新执行日志信息的方式完成对目标数据库的同步操作。本发明实施例提供了一种数据库同步方法及数据库,可以提高数据库同步效率。
图1为本发明一实施例提供的数据库同步方法的流程图,如图1所示,本实施例提供了一种数据库同步方法,具体包括如下步骤:
步骤101,接收源数据库发送的日志信息,所述日志信息用于表示所述源数据库中的数据修改操作。
数据库双主模式下,在业务切换的过程中,对源数据库所做的更新操作需要更新到目标数据库,具体是将源数据库的修改操作记录为日志信息,在目标数据库上以重新执行日志信息的方式完成对目标数据库的同步操作。因此,首先要接收源数据库发送的日志信息,该日志信息用于表示所述源数据库中的数据修改操作,目标数据库接收源数据库发送的日志信息后,可将其放入目标数据库的缓冲区。
步骤102,获取所述日志信息中所述数据修改操作的类型和参数,并将获取的所述数据修改操作的参数绑定到与所述数据修改操作的类型对应的语句模板中,生成数据修改操作语句。
由于数据修改操作的类型包括删除,插入和更新三种,因此目标数据库包括对应的语句模板,该语句模板包括3条结构化查询语言(StructuredQuery 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 Only Memory,只读存储器)、RAM(Random AccessMemory,随机存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

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

Cited By (17)

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

Citations (3)

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

Patent Citations (3)

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

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320680A (zh) * 2014-07-15 2016-02-10 中国移动通信集团公司 一种数据同步方法及装置
CN107004010A (zh) * 2014-12-08 2017-08-01 国际商业机器公司 控制多数据库系统
CN107004010B (zh) * 2014-12-08 2020-08-11 国际商业机器公司 控制多数据库系统
US11176171B2 (en) 2014-12-08 2021-11-16 International Business Machines Corporation Controlling a multi-database system
WO2016092430A1 (en) * 2014-12-08 2016-06-16 International Business Machines Corporation Controlling multi-database system
US10552451B2 (en) 2014-12-08 2020-02-04 International Business Machines Corporation Controlling a multi-database system
WO2017080431A1 (zh) * 2015-11-12 2017-05-18 中国银联股份有限公司 一种基于日志解析的数据库复制方法及装置
CN105260486A (zh) * 2015-11-23 2016-01-20 郑州悉知信息科技股份有限公司 一种数据处理方法、装置及系统
CN105488115A (zh) * 2015-11-23 2016-04-13 北京奇虎科技有限公司 数据库的数据操作的方法及装置
CN105677876A (zh) * 2016-01-12 2016-06-15 国家电网公司 一种基于物理级的数据库日志挖掘方法
CN105912427A (zh) * 2016-04-29 2016-08-31 浪潮(北京)电子信息产业有限公司 一种数据容灾同步的方法及装置
CN109033193A (zh) * 2018-06-16 2018-12-18 温州职业技术学院 一种数据库结构及其数据同步方法
CN109033268A (zh) * 2018-07-10 2018-12-18 安心财产保险有限责任公司 数据同步方法、装置、设备及存储介质
CN109255104A (zh) * 2018-09-03 2019-01-22 中国平安财产保险股份有限公司 批文模板配置方法、装置、计算机设备及存储介质
CN109255104B (zh) * 2018-09-03 2023-11-14 中国平安财产保险股份有限公司 批文模板配置方法、装置、计算机设备及存储介质
CN110784532B (zh) * 2019-10-25 2021-09-07 北京天润融通科技股份有限公司 双向数据同步方法及系统
CN110784532A (zh) * 2019-10-25 2020-02-11 北京天润融通科技股份有限公司 双向数据同步方法及系统
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 中国人寿保险股份有限公司上海数据中心 一种基于数据修改规则的数据修改方法、系统和存储介质
CN112699131A (zh) * 2021-01-18 2021-04-23 中国电子系统技术有限公司 一种映射连接的交互方法以及装置
CN112699131B (zh) * 2021-01-18 2021-11-30 中国电子系统技术有限公司 一种映射连接的交互方法以及装置

Also Published As

Publication number Publication date
CN103793514B (zh) 2017-09-19

Similar Documents

Publication Publication Date Title
CN103793514A (zh) 数据库同步方法及数据库
US11288267B2 (en) Pluggable storage system for distributed file systems
CN106777225B (zh) 一种数据的迁移方法和系统
US7958088B2 (en) Dynamic data reorganization to accommodate growth across replicated databases
JP6044539B2 (ja) 分散ストレージシステムおよび方法
CN102402596B (zh) 一种主从分离数据库的读写方法和系统
US9760617B2 (en) Applying transaction log in parallel
CN103780638B (zh) 数据同步方法及系统
CN103544077A (zh) 数据处理方法及装置、共享存储设备
US20070233753A1 (en) Database system management method, database system, database device, and backup program
CN102158540A (zh) 分布式数据库实现系统及方法
CN103294675A (zh) 一种分布式存储系统中的数据更新方法及装置
CN107590207B (zh) 数据同步方法及装置、电子设备
US9384202B1 (en) Gateway module to access different types of databases
CN102831120A (zh) 一种数据处理方法及系统
CN102945212A (zh) 汇集分区布局和表示
CN105574217B (zh) 分布式关系型数据库的数据同步方法和装置
CN103092970A (zh) 一种数据库操作方法及设备
US20220035786A1 (en) Distributed database management system with dynamically split b-tree indexes
CN105404679A (zh) 数据处理方法和装置
JP6440773B2 (ja) データ複製方法及びその装置
US11553023B2 (en) Abstraction layer for streaming data sources
CN106873902B (zh) 一种文件存储系统、数据调度方法及数据节点
CN105095392A (zh) 一种数据集市间共享数据的方法及装置
JP2017027326A (ja) ストレージシステムおよびストレージシステム用プログラム

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
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 Technology Co.,Ltd.

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

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.