数据库的数据处理方法、存储介质与设备技术

技术编号:38002458 阅读:11 留言:0更新日期:2023-06-30 10:16
本发明专利技术提供了一种数据库的数据处理方法、存储介质与设备,该数据处理方法包括对事务进行解析,得到解析结果;根据所述解析结果筛选得到待处理事务;根据所述待处理事务中的语句判断所述待处理事务是否为目标事务;对所述目标事务的预设位置增加预设处理标记,并进行打包;发送打包后的所述目标事务至目标端。本发明专利技术的数据库数据处理方法预先标记事务属性,使得在源端解析的过程中提前识别出包含预设处理标记的事务,标记在事务属性上,当此类事务传输到目标端时,目标端就可以根据该属性,选择比较快的入库方式,加快数据处理效率。加快数据处理效率。加快数据处理效率。

【技术实现步骤摘要】
数据库的数据处理方法、存储介质与设备


[0001]本专利技术涉及数据库领域,特别是涉及一种数据库的处理方法、存储介质与设备。

技术介绍

[0002]在利用数据同步软件进行数据实时同步时分为三个阶段,第一阶段进行存量数据的初始化装载,获得数据同步的基础点;第二阶段以初始化数据装载建立的同步基础点为基准进行增量数据同步;第三阶段定期对数据同步的源端数据和目标数据进行比对校验,以确认在数据同步过程中没有丢失数据。其中第二阶段和第三阶段会处于长时间并行状态。
[0003]在第二阶段进行增量数据同步时,通过分析数据库日志(REDO LOG)获取增量数据,从而实现数据实时同步是一种常用的实时数据复制技术。这种技术通过解析源数据库的在线日志(ONLINE LOG)或者归档日志(ARCHIVE LOG),获得数据的增删改变化,再将这些变化以事务为单位转换为同步软件内部特定的消息格式,通过数据同步软件的私有传输协议发送到目标端数据同步软件,最后目标端同步软件将获取到的事务日志恢复成目标数据库支持的SQL语句并在目标端数据库上执行,来实现数据的实时同步,进而保持源端和目标数据库的数据一致性。
[0004]对于某些分析型数据库系统,通常出现类似INSERT INTO SELECT或者CREATE TABLE AS的操作,此类操作的特点是会短时间内产生超大事务,并且全部为新增数据。
[0005]数据同步软件是一种通用性的软件,需要同时处理INSERT、UPDATE、DELETE以及DDL操作,其在目标端入库时,由于无法预知下一条语句的属性(INSERT、UPDATE、DELETE),往往会一条一条语句的处理;如果遇到类似INSERT INTO SELECT或者CREATE TABLE AS等操作产生的超大事务,即便是这些操作会被解析到一个事务当中,也会被当作一条一条的、独立的INSERT操作来处理。
[0006]对于千万级别的表,使用INSERT INTO SELECT的方式复制,在源端可能仅需要几分钟时间,到了目标端入库可能就需要花费几个小时。

技术实现思路

[0007]本专利技术的一个目的是要提供一种能够解决上述任一问题的数据库的数据处理方法、存储介质与设备。
[0008]本专利技术一个进一步的目的是要提升数据处理效率。
[0009]特别地,本专利技术提供了一种数据库的数据处理方法,该数据处理方法包括:
[0010]对事务进行解析,得到解析结果;
[0011]根据解析结果筛选得到待处理事务;
[0012]根据待处理事务中的语句判断待处理事务是否为目标事务;
[0013]对目标事务的预设位置增加预设处理标记,并进行打包;
[0014]发送打包后的目标事务至目标端。
[0015]进一步地,根据解析结果筛选得到待处理事务的步骤包括:
[0016]判断解析结果内是否包含用于提交的设定标记;
[0017]若是,则确定事务为待处理事务。
[0018]进一步地,待处理事务中包括多个语句,根据待处理事务中的语句判断待处理事务是否为目标事务的步骤包括:
[0019]对待处理事务增加正确标记;
[0020]由头至尾依次确定待处理事务内语句的语句类型;并
[0021]根据语句类型对待处理事务的标记进行更新;
[0022]在待处理事务的尾部标记仍为正确标记的情况下,确定待处理事务为目标事务。
[0023]进一步地,根据语句类型对待处理事务的标记进行更新的步骤包括:
[0024]若语句为数据操纵语句,则判断数据操纵语句是否为插入语句;
[0025]若是,则判断数据操纵语句涉及的表名称是否与数据库执行的上一条数据操纵语句中的表名称相同;
[0026]若否,则对待处理事务进行错误标记;
[0027]若是,则对待处理事务进行正确标记,并记为目标事务。
[0028]进一步地,在判断数据操纵语句为插入语句的步骤之后还包括:
[0029]在数据操纵语句不是插入语句的情况下,对待处理事务进行错误标记。
[0030]进一步地,根据语句类型对待处理事务的标记进行更新的步骤包括:
[0031]若语句为数据定义语句,则对待处理事务进行错误标记。
[0032]进一步地,预设位置为目标事务的头部位置;
[0033]进一步地,预设处理标记为批量处理标记。
[0034]根据本专利技术的另一方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现上述任一种的数据库集群的数据处理方法。
[0035]根据本专利技术的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述任一种的数据库集群的数据处理方法。
[0036]本专利技术的数据库的数据处理方法包括对事务进行解析,得到解析结果;根据所述解析结果筛选得到待处理事务;根据所述待处理事务中的语句判断所述待处理事务是否为目标事务;对所述目标事务的预设位置增加预设处理标记,并进行打包;发送打包后的所述目标事务至目标端。本专利技术的数据处理方法在数据同步软件遇到了针对单表的、全部为新增数据的超大事务时,同步软件在目标端入库的过程中,可以充分利用数据库提供的批量入库工具或者类似途径,快速加载此类事务,从而提高数据同步软件的同步性能。
[0037]根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。
附图说明
[0038]后文将参照附图以示例性而非限制性的方式详细描述本专利技术的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
[0039]图1是根据本专利技术一个实施例的数据库的数据处理方法的示意性步骤图;
[0040]图2是根据本专利技术又一个实施例的数据库的数据处理方法中对于SQL语句增加开始/提交标识的示意图;
[0041]图3是根据本专利技术又一个实施例的数据库的数据处理方法中将事务序列化的示意图;
[0042]图4是根据本专利技术又一个实施例的数据库的数据处理方法中对SQL语句方式的事务增加预设处理标记的示意图;
[0043]图5根据本专利技术又一个实施例的数据库的数据处理方法中对序列化方式的事务增加预设处理标记的示意图;
[0044]图6是根据本专利技术又一个实施例的数据库的数据处理方法的示意性步骤图;
[0045]图7是根据本专利技术又一个实施例的数据库的数据处理方法的示意性步骤图;
[0046]图8是根据本专利技术又一个实施例的数据库的数据处理方法的示意性步骤图;
[0047]图9是根据本专利技术一个实施例的机器可读存储介质的示意性框图;以及
[0048]图10是根据本专利技术一个实施例的计算机设备的示意性框图。...

【技术保护点】

【技术特征摘要】
1.一种数据库的数据处理方法,包括:对事务进行解析,得到解析结果;根据所述解析结果筛选得到待处理事务;根据所述待处理事务中的语句判断所述待处理事务是否为目标事务;对所述目标事务的预设位置增加预设处理标记,并进行打包;发送打包后的所述目标事务至目标端。2.根据权利要求1所述的数据处理方法,其中,所述根据所述解析结果筛选得到待处理事务的步骤包括:判断所述解析结果内是否包含用于提交的设定标记;若是,则确定所述事务为待处理事务。3.根据权利要求1所述的数据处理方法,其中,所述待处理事务中包括多个语句,所述根据所述待处理事务中的语句判断所述待处理事务是否为目标事务的步骤包括:对所述待处理事务增加正确标记;由头至尾依次确定所述待处理事务内语句的语句类型;并根据语句类型对所述待处理事务的标记进行更新;在更新至所述待处理事务的尾部时,若所述标记仍为所述正确标记则确定所述待处理事务为目标事务。4.根据权利要求3所述的数据处理方法,其中,根据语句类型对所述待处理事务的标记进行更新的步骤包括:若所述语句为数据操纵语句,则判断所述数据操纵语句是否为插入语句;若是,则判断所述数据操...

【专利技术属性】
技术研发人员:王凯龙冷建全
申请(专利权)人:北京人大金仓信息技术股份有限公司
类型:发明
国别省市:

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

1