一种数据库结构及其数据同步方法技术

技术编号:19821978 阅读:38 留言:0更新日期:2018-12-19 14:46
本发明专利技术公开了一种数据库结构及其数据同步方法,涉及数据库及数据同步技术领域。本发明专利技术包括接收单元、模板设置单元,用于设置语句模板;获取单元,用于获取日志信息中数据修改操作的类型和参数,还用于将数据修改操作的类型和参数绑定对应的语句模板并生成数据修改操作语句;确认单元,用于确认数据修改操作对应的数据在目标数据库中的位置;运行单元。本发明专利技术还提供一种数据库结构的数据同步方法。本发明专利技术通过在源数据库与目的数据库设置语句模板,同时源数据库根据目的数据库中的日志信息获取数据修改操作的类型和参数并绑定源数据库中的语句模板生成数据修改操作语句进而完成数据同步,安全便捷的进行源数据库与目的数据库间的数据同步,提高数据同步效率。

【技术实现步骤摘要】
一种数据库结构及其数据同步方法
本专利技术属于数据库及数据同步
,特别是涉及一种数据库结构及其数据同步方法。
技术介绍
双主模式数据库是指两个节点的数据库都支持业务访问,支持负载均衡,当一个节点发生故障时,可以将业务切换到另一个节点。双主模式数据库的复制方式通常有物理复制和逻辑复制,物理复制是将数据文件物理位置的修改复制到目标节点同样的位置,这种方式只适用于主备模式。逻辑复制是将源节点的修改操作记录为日志信息,在目标节点上以重放事务的方式完成数据同步复制。逻辑复制的处理流程比物理复制复杂的多,其处理性能与系统的可靠性紧密相关。现有数据库双主模式下,源数据库接收端将日志信息还原成结构化查询语言(StructuredQueryLanguage,sql),对于每一条日志信息,均需要解析和编译sql语句,并逐条执行sql语句完成数据同步。然而,这种方式使得数据库同步效率低下。
技术实现思路
本专利技术的目的在于提供一种数据库结构及其数据同步方法,通过在源数据库与目的数据库设置语句模板,同时源数据库根据目的数据库中的日志信息获取数据修改操作的类型和参数并绑定源数据库中的语句模板生成数据修改操作语句进而完成数据同步,实现了双主模式下的快速有效数据同步,解决了现有双主模式下数据同步效率低的问题。为解决上述技术问题,本专利技术是通过以下技术方案实现的:本专利技术为一种数据库结构,包括接收单元,用于接收源数据库发送的日志信息;所述日志信息记录源数据库中的数据修改操作;模板设置单元,用于设置语句模板;获取单元,用于获取日志信息中数据修改操作的类型和参数,还用于将数据修改操作的类型和参数绑定对应的语句模板并生成数据修改操作语句;确认单元,用于确认数据修改操作对应的数据在目标数据库中的位置;运行单元,用于运行数据修改操作语句并完成对目标数据库中相同存储位置的数据的修改。优选地,所述数据库还包括添加单元;所述添加单元用于将所述获取单元生成的数据修改操作语句添加到语句组;所述语句组用于存储数据修改操作语句。优选地,所述添加单元内设置有上限阈值;所述语句组中的数据修改操作语句数量达到所述上限阈值时,所述运行单元运行数据修改操作语句。一种数据库结构的数据同步方法,包括如下步骤:S000:设置源数据库与目的数据库中的语句模板;S001:接收源数据库发送的日志信息;S002:获取日志信息中数据修改操作的类型和参数,并将获取的数据修改操作的参数绑定到与数据修改操作的类型对应的语句模板中进而生成数据修改操作语句;S003:确认单元确认数据修改操作对应的数据在目标数据库中的位置;S004:运行数据修改操作语句,完成对目标数据库中相同存储位置的数据的修改。优选地,S000中的语句模板具体为3条sql语句,分别具有删除,插入和更新的功能;其中3条所述sql语句模板分别为:(1)、Deletesql:DELETEFROMTBL_DMLWHEREA=:AANDNVL(ROWVER,0)=:ROWVER;(2)、Insertsql:INSERTINTOTBL_DML(A,B,C,D,ROWVER)VALUES(:A,:B,:C,:D,:ROWVER);(3)、Updatesql:UPDATETBL_DMLSETA=NVLFN(:A,A,:0),B=NVLFN(:B,B,:1),C=NVLFN(:C,C,:2),D=NVLFN(:D,D,:3),ROWVER=NVLFN(:ROWVER,ROWVER,:4)WHEREA=:AANDNVL(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)、Deletesql:DELETEFROMTBL_DMLWHEREA=:AANDNVL(ROWVER,0)=:ROWVER;(2)、Insertsql:INSERTINTOTBL_DML(A,B,C,D,ROWVER)VALUES(:A,:B,:C,:D,:ROWVER);(3)、Updatesql:UPDATETBL_DMLSETA=NVLFN(:A,A,:0),B=NVLFN(:B,B,:1),C=NVLFN(:C,C,:2),D=NVLFN(:D,D,:3),ROWVER=NVLFN(:ROWVER,ROWV本文档来自技高网...

【技术保护点】
1.一种数据库结构,其特征在于,包括:接收单元,用于接收源数据库发送的日志信息;所述日志信息记录源数据库中的数据修改操作;模板设置单元,用于设置语句模板;获取单元,用于获取日志信息中数据修改操作的类型和参数,还用于将数据修改操作的类型和参数绑定对应的语句模板并生成数据修改操作语句;确认单元,用于确认数据修改操作对应的数据在目标数据库中的位置;运行单元,用于运行数据修改操作语句并完成对目标数据库中相同存储位置的数据的修改。

【技术特征摘要】
1.一种数据库结构,其特征在于,包括:接收单元,用于接收源数据库发送的日志信息;所述日志信息记录源数据库中的数据修改操作;模板设置单元,用于设置语句模板;获取单元,用于获取日志信息中数据修改操作的类型和参数,还用于将数据修改操作的类型和参数绑定对应的语句模板并生成数据修改操作语句;确认单元,用于确认数据修改操作对应的数据在目标数据库中的位置;运行单元,用于运行数据修改操作语句并完成对目标数据库中相同存储位置的数据的修改。2.根据权利要求1所述的一种数据库结构,其特征在于,所述数据库还包括添加单元;所述添加单元用于将所述获取单元生成的数据修改操作语句添加到语句组;所述语句组用于存储数据修改操作语句。3.根据权利要求2所述的一种数据库结构,其特征在于,所述添加单元内设置有上限阈值;所述语句组中的数据修改操作语句数量达到所述上限阈值时,所述运行单元运行数据修改操作语句。4.如权利要求1-3所述的一种数据库结构的数据同步方法,其特征在于,包括如下步骤:S000:设置源数据库与目的数据库中的语句模板;S001:接收源数据库发送的日志信息;S002:获取日志信息中数据修改操作的类型和参数,并将获取的数据修改操作的参数绑定到与数据修改操作的类型对应的语句模板中进而生成数据修改操作语句;S003:确认单元确认数据修改操作对应的数据在目标数据库中的位置;S004:运行数据修改操作语句,完成对目标数据库中相同存储位置的数据的修...

【专利技术属性】
技术研发人员:张得佳
申请(专利权)人:温州职业技术学院
类型:发明
国别省市:浙江,33

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

1