数据库中数据更新方法、装置和电子设备制造方法及图纸

技术编号:25550674 阅读:22 留言:0更新日期:2020-09-08 18:49
本发明专利技术提供了一种数据库中数据更新方法、装置和电子设备,涉及云计算技术领域,包括:获取对数据库中的目标数据页执行读写操作时生成的数据读写指令;在获取到所述数据读写指令之后,判断所述目标数据页是否满足数据更新条件,其中,所述数据更新条件为对所述目标数据页中的数据内容进行更新的条件;若所述目标数据页满足所述数据更新条件,则对所述目标数据页中的数据内容进行更新。本申请解决通过现有的技术方案对数据库中的数据进行变更时效率较慢的技术问题。

【技术实现步骤摘要】
数据库中数据更新方法、装置和电子设备
本专利技术涉及数据库的
,尤其是涉及一种数据库中数据更新方法、装置和电子设备。
技术介绍
在支持计算与存储分离的数据库新架构中,一般主从之间采用物理复制模式,即:数据库主库和数据库从库之间同步的数据为修改的数据,即主库上修改操作涉及到的数据页传递到从库上进行数据覆盖写。针对数据库列操作的物理复制同步方式中,涉及到数据库表元数据的变更和数据库表已有数据的变更。例如对数据库表添加一列,则对表的每一行记录的数据都需要添加一列的记录,同时还需要修改表的schema信息,涉及修改的数据量非常大。当主库修改完后,需要将所有修改的数据页同步传输到从库进行映射写。也就是说,在相关技术方案中,当数据库表的数据量特别大时,数据库主库操作时间长,数据更新效率低,物理复制传输的修改数据页记录庞大,应用客户端的等待时间很长,很容易发生超时。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种数据库中数据更新方法、装置和电子设备,以提高数据库中数据的变更效率。第一方面,本专利技术实施例提供了一种数据库中数据更新方法,包括:获取对数据库中的目标数据页执行读写操作时生成的数据读写指令;在获取到所述数据读写指令之后,判断所述目标数据页是否满足数据更新条件,其中,所述数据更新条件为对所述目标数据页中的数据内容进行更新的条件;若所述目标数据页满足所述数据更新条件,则对所述目标数据页中的数据内容进行更新。进一步地,判断所述目标数据页是否满足数据更新条件包括:在所述目标数据页中获取所述目标数据页的最大日志序列号;在目标系统表中确定所述目标数据页对应的目标日志序列号,其中,所述目标系统表中包含所述数据库中各个数据表的最新元数据信息,以及所述最新元数据信息对应的操作日志的日志序列号;若所述最大日志序列号和所述目标日志序列号不相同,则确定所述目标数据页满足所述数据更新条件,并对所述目标数据页中的数据内容进行更新。进一步地,对所述目标数据页中的数据内容进行更新包括:按照所述目标系统表中所述目标数据表的最新元数据信息对所述目标数据页中的数据进行更新。进一步地,在目标系统表中确定所述目标数据页对应的目标日志序列号包括:确定所述目标数据页的表空间ID信息;在所述目标系统表查找与所述表空间ID信息相对应的日志序列号,并将查找到的日志序列号作为所述日志序列号。进一步地,所述方法还包括:在检测到对所述目标数据表的元数据修改操作时,生成所述元数据修改操作所对应的操作日志,得到目标操作日志;基于所述目标操作日志对所述目标系统表进行更新。进一步地,基于所述目标操作日志对所述目标系统表进行更新包括:确定所述目标操作日志的日志序列号和所述目标操作日志对应的元数据信息;将所述目标日志序列号更新为所述目标操作日志的日志序列号;将所述目标系统表的最新元数据信息更新为所述目标操作日志对应的元数据信息。进一步地,所述元数据修改操作包括:对目标数据表中数据列的删除操作,和/或,对目标数据表中数据列的新增操作。进一步地,所述方法还包括:若所述数据库为数据库主库,则对至少一个数据库从库中相对应的数据页中的数据进行更新;在所述至少一个数据库从库中相对应的数据页中的数据更新结束之后,向用户返回更新结束的信息。第二方面,本专利技术实施例提供了一种数据库中数据更新装置,包括:获取单元,用于获取对数据库中的目标数据页执行读写操作时生成的数据读写指令;判断单元,用于在获取到所述数据读写指令之后,判断所述目标数据页是否满足数据更新条件,其中,所述数据更新条件为对所述目标数据页中的数据内容进行更新的条件;更新单元,用于若所述目标数据页满足所述数据更新条件,则对所述目标数据页中的数据内容进行更新。第三方面,本专利技术实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述方法。第四方面,本专利技术实施例提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面中任一项所述方法。在本专利技术实施例中,首先,获取对数据库中的目标数据页执行读写操作时生成的数据读写指令,在获取到该数据读写指令之后,判断目标数据页是否满足数据更新条件,如果满足数据更新条件,则对目标数据页中的数据内容进行更新。通过上述描述可知,在本申请中,通过在检测到数据读写指令的情况下,对满足更新条件的目标数据页进行更新的方式,能够提高数据库中数据的变更效率,进而解决通过相关技术方案对数据库中的数据进行变更时效率较慢的技术问题。本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为相关技术的一种数据库物理复制方式的流程图;图2是根据本专利技术实施例的一种数据库中数据更新方法的流程图;图3是根据本专利技术实施例的另一种数据库中数据更新方法的流程图;图4是根据本专利技术实施例的一种数据库中数据更新装置的示意图;图5是根据本专利技术实施例的一种电子设备的示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在对数据库中的列数据进行更新时,如图1所示,相关技术方案描述如下:(1)应用客户端向数据库主库发起添加/删除数据库表列的操作;(2)数据库主库完成数据库表列的操作,并修改表的schame元数据;(3)数据库主库通过物理复制将操作所涉及的修改记录同步到数据库从库;(4)数据库从库回放主库同步过来的修改页数据;(5)数据库从库返回主库物理复制结果ACK确认字符;(6)数据库主库返回应用APP结果ACK确认字符。针对相关技术,当数据库表的数据量特别大时,数据库主库操作时间长,物理复制传输的修改数据页记录庞大,应用APP等待时间会很长,很容易发生超时。基于此,在本申请中,提出了一种数据库中数据更新方法,该方法通过在检测到数据读写指令的情况下,对满足更新条件的目标数据页进行更新的方式,能够提高数据库中数据的变更效率,本文档来自技高网...

【技术保护点】
1.一种数据库中数据更新方法,其特征在于,包括:/n获取对数据库中的目标数据页执行读写操作时生成的数据读写指令;/n在获取到所述数据读写指令之后,判断所述目标数据页是否满足数据更新条件,其中,所述数据更新条件为对所述目标数据页中的数据内容进行更新的条件;/n若所述目标数据页满足所述数据更新条件,则对所述目标数据页中的数据内容进行更新。/n

【技术特征摘要】
1.一种数据库中数据更新方法,其特征在于,包括:
获取对数据库中的目标数据页执行读写操作时生成的数据读写指令;
在获取到所述数据读写指令之后,判断所述目标数据页是否满足数据更新条件,其中,所述数据更新条件为对所述目标数据页中的数据内容进行更新的条件;
若所述目标数据页满足所述数据更新条件,则对所述目标数据页中的数据内容进行更新。


2.根据权利要求1所述的方法,其特征在于,判断所述目标数据页是否满足数据更新条件包括:
在所述目标数据页中获取所述目标数据页的最大日志序列号;
在目标系统表中确定所述目标数据页对应的目标日志序列号,其中,所述目标系统表中包含所述数据库中各个数据表的最新元数据信息,以及所述最新元数据信息对应的操作日志的日志序列号;
若所述最大日志序列号和所述目标日志序列号不相同,则确定所述目标数据页满足所述数据更新条件,并对所述目标数据页中的数据内容进行更新。


3.根据权利要求2所述的方法,其特征在于,对所述目标数据页中的数据内容进行更新包括:
按照所述目标系统表中目标数据表的最新元数据信息对所述目标数据页中的数据进行更新。


4.根据权利要求2所述的方法,其特征在于,在目标系统表中确定所述目标数据页对应的目标日志序列号包括:
确定所述目标数据页的表空间ID信息;
在所述目标系统表查找与所述表空间ID信息相对应的日志序列号,并将查找到的日志序列号作为所述日志序列号。


5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在检测到对所述目标数据表的元数据修改操作时,生成所述元数据修改操作所对应的操作日志,得到目标操作日志;
基于所述目标操作日志对所述目标系统表进行更...

【专利技术属性】
技术研发人员:张健
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:北京;11

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

1