CN109033193A - 一种数据库结构及其数据同步方法 - Google Patents
一种数据库结构及其数据同步方法 Download PDFInfo
- Publication number
- CN109033193A CN109033193A CN201810685059.7A CN201810685059A CN109033193A CN 109033193 A CN109033193 A CN 109033193A CN 201810685059 A CN201810685059 A CN 201810685059A CN 109033193 A CN109033193 A CN 109033193A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- sentence
- modification operation
- rowver
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000004048 modification Effects 0.000 claims abstract description 57
- 238000012986 modification Methods 0.000 claims abstract description 57
- 238000012790 confirmation Methods 0.000 claims abstract description 16
- 230000009471 action Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000010977 unit operation Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 1
Abstract
本发明公开了一种数据库结构及其数据同步方法,涉及数据库及数据同步技术领域。本发明包括接收单元、模板设置单元,用于设置语句模板;获取单元,用于获取日志信息中数据修改操作的类型和参数,还用于将数据修改操作的类型和参数绑定对应的语句模板并生成数据修改操作语句;确认单元,用于确认数据修改操作对应的数据在目标数据库中的位置;运行单元。本发明还提供一种数据库结构的数据同步方法。本发明通过在源数据库与目的数据库设置语句模板,同时源数据库根据目的数据库中的日志信息获取数据修改操作的类型和参数并绑定源数据库中的语句模板生成数据修改操作语句进而完成数据同步,安全便捷的进行源数据库与目的数据库间的数据同步,提高数据同步效率。
Description
技术领域
本发明属于数据库及数据同步技术领域,特别是涉及一种数据库结构及其数据同步方法。
背景技术
双主模式数据库是指两个节点的数据库都支持业务访问,支持负载均衡,当一个节点发生故障时,可以将业务切换到另一个节点。双主模式数据库的复制方式通常有物理复制和逻辑复制,物理复制是将数据文件物理位置的修改复制到目标节点同样的位置,这种方式只适用于主备模式。逻辑复制是将源节点的修改操作记录为日志信息,在目标节点上以重放事务的方式完成数据同步复制。逻辑复制的处理流程比物理复制复杂的多,其处理性能与系统的可靠性紧密相关。
现有数据库双主模式下,源数据库接收端将日志信息还原成结构化查询语言(Structured Query Language,sql),对于每一条日志信息,均需要解析和编译sql语句,并逐条执行sql语句完成数据同步。然而,这种方式使得数据库同步效率低下。
发明内容
本发明的目的在于提供一种数据库结构及其数据同步方法,通过在源数据库与目的数据库设置语句模板,同时源数据库根据目的数据库中的日志信息获取数据修改操作的类型和参数并绑定源数据库中的语句模板生成数据修改操作语句进而完成数据同步,实现了双主模式下的快速有效数据同步,解决了现有双主模式下数据同步效率低的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种数据库结构,包括接收单元,用于接收源数据库发送的日志信息;所述日志信息记录源数据库中的数据修改操作;
模板设置单元,用于设置语句模板;
获取单元,用于获取日志信息中数据修改操作的类型和参数,还用于将数据修改操作的类型和参数绑定对应的语句模板并生成数据修改操作语句;
确认单元,用于确认数据修改操作对应的数据在目标数据库中的位置;
运行单元,用于运行数据修改操作语句并完成对目标数据库中相同存储位置的数据的修改。
优选地,所述数据库还包括添加单元;所述添加单元用于将所述获取单元生成的数据修改操作语句添加到语句组;所述语句组用于存储数据修改操作语句。
优选地,所述添加单元内设置有上限阈值;所述语句组中的数据修改操作语句数量达到所述上限阈值时,所述运行单元运行数据修改操作语句。
一种数据库结构的数据同步方法,包括如下步骤:
S000:设置源数据库与目的数据库中的语句模板;
S001:接收源数据库发送的日志信息;
S002:获取日志信息中数据修改操作的类型和参数,并将获取的数据修改操作的参数绑定到与数据修改操作的类型对应的语句模板中进而生成数据修改操作语句;
S003:确认单元确认数据修改操作对应的数据在目标数据库中的位置;
S004:运行数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。
优选地,S000中的语句模板具体为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的值。
优选地,S003中确认单元确认数据修改操作对应的数据在目标数据库中的位置的过程如下:
所述确认单元根据表标识tablesign以及记录标识rowsign确认数据位置;
其中,表标识tablesign为表名,记录标识rowsign为记录名。
本发明具有以下有益效果:
本发明通过在源数据库与目的数据库设置语句模板,同时源数据库根据目的数据库中的日志信息获取数据修改操作的类型和参数并绑定源数据库中的语句模板生成数据修改操作语句进而完成数据同步,安全便捷的进行源数据库与目的数据库间的数据同步,提高数据同步效率。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种数据库结构的结构示意图;
图2为本发明的一种数据库结构的数据同步方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,本发明为一种数据库结构,接收单元,用于接收源数据库发送的日志信息;日志信息记录源数据库中的数据修改操作;
模板设置单元,用于设置语句模板;
获取单元,用于获取日志信息中数据修改操作的类型和参数,还用于将数据修改操作的类型和参数绑定对应的语句模板并生成数据修改操作语句;
确认单元,用于确认数据修改操作对应的数据在目标数据库中的位置;
运行单元,用于运行数据修改操作语句并完成对目标数据库中相同存储位置的数据的修改。
其中,数据库还包括添加单元;添加单元用于将获取单元生成的数据修改操作语句添加到语句组;语句组用于存储数据修改操作语句。
其中,添加单元内设置有上限阈值;语句组中的数据修改操作语句数量达到上限阈值时,运行单元运行数据修改操作语句。
请参阅图2所示,一种数据库结构的数据同步方法,包括如下步骤:
S000:设置源数据库与目的数据库中的语句模板;
S001:接收源数据库发送的日志信息;
S002:获取日志信息中数据修改操作的类型和参数,并将获取的数据修改操作的参数绑定到与数据修改操作的类型对应的语句模板中进而生成数据修改操作语句;
S003:确认单元确认数据修改操作对应的数据在目标数据库中的位置;
S004:运行数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。
其中,S000中的语句模板具体为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的值。
其中,S003中确认单元确认数据修改操作对应的数据在目标数据库中的位置的过程如下:
确认单元根据表标识tablesign以及记录标识rowsign确认数据位置;
其中,表标识tablesign为表名,记录标识rowsign为记录名。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (6)
1.一种数据库结构,其特征在于,包括:
接收单元,用于接收源数据库发送的日志信息;所述日志信息记录源数据库中的数据修改操作;
模板设置单元,用于设置语句模板;
获取单元,用于获取日志信息中数据修改操作的类型和参数,还用于将数据修改操作的类型和参数绑定对应的语句模板并生成数据修改操作语句;
确认单元,用于确认数据修改操作对应的数据在目标数据库中的位置;
运行单元,用于运行数据修改操作语句并完成对目标数据库中相同存储位置的数据的修改。
2.根据权利要求1所述的一种数据库结构,其特征在于,所述数据库还包括添加单元;所述添加单元用于将所述获取单元生成的数据修改操作语句添加到语句组;所述语句组用于存储数据修改操作语句。
3.根据权利要求2所述的一种数据库结构,其特征在于,所述添加单元内设置有上限阈值;所述语句组中的数据修改操作语句数量达到所述上限阈值时,所述运行单元运行数据修改操作语句。
4.如权利要求1-3所述的一种数据库结构的数据同步方法,其特征在于,包括如下步骤:
S000:设置源数据库与目的数据库中的语句模板;
S001:接收源数据库发送的日志信息;
S002:获取日志信息中数据修改操作的类型和参数,并将获取的数据修改操作的参数绑定到与数据修改操作的类型对应的语句模板中进而生成数据修改操作语句;
S003:确认单元确认数据修改操作对应的数据在目标数据库中的位置;
S004:运行数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。
5.根据权利要求4所述的一种数据库结构的数据同步方法,其特征在于,S000中的语句模板具体为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的值。
6.根据权利要求4所述的一种数据库结构的数据同步方法,其特征在于,S003中确认单元确认数据修改操作对应的数据在目标数据库中的位置的过程如下:
所述确认单元根据表标识tablesign以及记录标识rowsign确认数据位置;
其中,表标识tablesign为表名,记录标识rowsign为记录名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810685059.7A CN109033193A (zh) | 2018-06-16 | 2018-06-16 | 一种数据库结构及其数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810685059.7A CN109033193A (zh) | 2018-06-16 | 2018-06-16 | 一种数据库结构及其数据同步方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109033193A true CN109033193A (zh) | 2018-12-18 |
Family
ID=65521880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810685059.7A Pending CN109033193A (zh) | 2018-06-16 | 2018-06-16 | 一种数据库结构及其数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033193A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000681A (zh) * | 2020-08-25 | 2020-11-27 | 浪潮云信息技术股份公司 | 一种能够自适应模式变更的同步方法 |
CN112287021A (zh) * | 2020-07-13 | 2021-01-29 | 上海柯林布瑞信息技术有限公司 | 数据实时同步参数的生成、同步方法及装置、存储介质、终端 |
CN113220785A (zh) * | 2021-05-21 | 2021-08-06 | 上海申铁信息工程有限公司 | 一种基于主键比对的数据库变更记录同步方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542007A (zh) * | 2011-12-13 | 2012-07-04 | 中国电子科技集团公司第十五研究所 | 关系型数据库之间的同步方法及系统 |
CN103793514A (zh) * | 2014-02-11 | 2014-05-14 | 华为技术有限公司 | 数据库同步方法及数据库 |
CN105912427A (zh) * | 2016-04-29 | 2016-08-31 | 浪潮(北京)电子信息产业有限公司 | 一种数据容灾同步的方法及装置 |
-
2018
- 2018-06-16 CN CN201810685059.7A patent/CN109033193A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542007A (zh) * | 2011-12-13 | 2012-07-04 | 中国电子科技集团公司第十五研究所 | 关系型数据库之间的同步方法及系统 |
CN103793514A (zh) * | 2014-02-11 | 2014-05-14 | 华为技术有限公司 | 数据库同步方法及数据库 |
CN105912427A (zh) * | 2016-04-29 | 2016-08-31 | 浪潮(北京)电子信息产业有限公司 | 一种数据容灾同步的方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287021A (zh) * | 2020-07-13 | 2021-01-29 | 上海柯林布瑞信息技术有限公司 | 数据实时同步参数的生成、同步方法及装置、存储介质、终端 |
CN112287021B (zh) * | 2020-07-13 | 2024-04-05 | 上海柯林布瑞信息技术有限公司 | 数据实时同步参数的生成、同步方法及装置、存储介质、终端 |
CN112000681A (zh) * | 2020-08-25 | 2020-11-27 | 浪潮云信息技术股份公司 | 一种能够自适应模式变更的同步方法 |
CN113220785A (zh) * | 2021-05-21 | 2021-08-06 | 上海申铁信息工程有限公司 | 一种基于主键比对的数据库变更记录同步方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102188667B1 (ko) | 고속 카피가능 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치 | |
CN103793514B (zh) | 数据库同步方法及数据库 | |
EP2959373B1 (en) | Object-level replication of cloned objects in a data storage system | |
CN106933703B (zh) | 一种数据库数据备份的方法、装置及电子设备 | |
CN105608088B (zh) | 一种基于配置文件的数据库自动创建与数据动态记录方法 | |
CN109189852B (zh) | 一种数据同步的方法及用于数据同步的装置 | |
CN106126540B (zh) | 数据库访问系统及其访问方法 | |
CN105354036B (zh) | 数据库操作代码生成方法及装置 | |
CN109033193A (zh) | 一种数据库结构及其数据同步方法 | |
CN105447156A (zh) | 资源描述框架分布式引擎及增量式更新方法 | |
CN108932282A (zh) | 一种数据库迁移方法、装置和存储介质 | |
CN104182484B (zh) | 一种实现HBase数据与Java域对象映射的方法和装置 | |
CN104731569B (zh) | 一种数据处理方法及相关设备 | |
JP3866466B2 (ja) | データ構造管理装置、データ構造管理システム、データ構造管理方法およびデータ構造管理プログラムを格納する記録媒体 | |
CN103970833A (zh) | 一种基于日志的异构数据库同步系统中双向同步数据循环的解决方法 | |
WO2015070674A1 (zh) | 一种操作数据的方法和系统 | |
CN108304473A (zh) | 数据源之间的数据传输方法和系统 | |
CN109684282A (zh) | 一种构建元数据缓存的方法及装置 | |
CN109471851A (zh) | 数据处理方法、装置、服务器和存储介质 | |
CN106326040B (zh) | 一种快照元数据管理方法和装置 | |
CN115146002A (zh) | 跨数据中心的数据同步方法及装置 | |
JP2013533564A (ja) | データベース化された共有メモリを利用した工学的分析用プログラム間の同期化された連係方法及びシステム | |
JP6505135B2 (ja) | バージョン管理されたドメインとバージョン管理されないドメインの間でアーチファクトを相関付けるためのコンピュータ実装方法、コンピュータ・プログラム、および装置 | |
CN105912427A (zh) | 一种数据容灾同步的方法及装置 | |
Wenzel | PIDE as front-end technology for Coq |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181218 |
|
RJ01 | Rejection of invention patent application after publication |