数据库双写方法技术

技术编号:39734264 阅读:11 留言:0更新日期:2023-12-17 23:36
本申请实施例提供一种数据库双写方法

【技术实现步骤摘要】
数据库双写方法、装置、设备、介质及产品


[0001]本申请属于数据存储
,尤其涉及一种数据库双写方法

装置

设备

介质及产品


技术介绍

[0002]现有技术中,一般是在应用程序写成功数据库
A
后,使用数据库同步工具,将相关数据变更到数据库
B。
然而,由于在全栈国产化的技术背景下所涉及到的硬件以及操作系统的不同,且该数据库同步工具在上述技术背景中未被验证,以致于会出现数据库
A
与数据库
B
的执行写操作的结果不同,或者无法实现数据库双写的功能,即无法保证数据库双写的功能准确性


技术实现思路

[0003]本申请实施例提供一种数据库双写方法及其装置

设备

介质及产品,保证了数据库双写的功能准确性

[0004]第一方面,本申请实施例提供一种数据库双写方法,该方法包括:
[0005]接收应用程序针对第一数据库发送的请求,所述请求包括请求执行类型;
[0006]响应于所述请求,控制所述第一数据库执行与所述请求对应的第一操作;
[0007]响应于所述第一数据库执行所述第一操作的结束指令,基于所述请求执行类型,控制第二数据库执行与所述请求对应的第一操作,所述第一数据库和所述第二数据库为关系型数据库

[0008]在第一方面的一种可选的实施方式中,所述响应于所述第一数据库执行所述第一操作的结束指令,基于所述请求执行类型,控制第二数据库执行与所述请求对应的第一操作,包括:
[0009]响应于第一数据库执行第一操作的结束指令,在请求执行类型为第一执行类型的情况下,获取第一数据库执行第一操作的执行参数;
[0010]基于第一链接向第二数据库发送执行参数,以用于第二数据库基于执行参数执行第一操作,第一链接为响应于应用程序的启动输入

创建的用于访问第二数据库的链接

[0011]在第一方面的一种可选的实施方式中,响应于第一数据库执行第一操作的结束指令,基于请求执行类型,控制第二数据库执行与请求对应的第一操作,包括:
[0012]响应于第一数据库执行第一操作的结束指令,在请求执行类型为第二执行类型的情况下,获取请求对应的事务标识以及第一数据库执行第一操作的执行参数;
[0013]在缓存中不存在与事务标识对应的第二链接的情况下,初始化与事务标识对应的第二链接,并基于第二链接向第二数据库发送第一数据库执行第一操作的执行参数,以用于第二数据库基于执行参数执行第一操作

[0014]在第一方面的一种可选的实施方式中,方法还包括:
[0015]在缓存中存在与事务标识对应的第二链接的情况下,从缓存中获取第二操作的执
行结果;
[0016]基于第二链接,向第二数据库发送用于执行第一操作的执行参数以及第二操作的执行结果,以用于第二数据库在确定第二操作执行完成之后,基于第一操作的执行参数,执行请求对应的操作;
[0017]其中,第二操作为事务
ID
对应的事务内第一操作的前一操作,事务包括多个操作以及多个操作的操作序列

[0018]在第一方面的一种可选的实施方式中,方法还包括:
[0019]存储第一操作的执行结果存储至缓存

[0020]在第一方面的一种可选的实施方式中,方法还包括:
[0021]响应于第一数据库执行事务标识对应的事务的结束指令,在获取到第二数据库执行事务中最后一个操作的执行结果的情况下,清理缓存

[0022]第二方面,本申请实施例提供一种数据库双写装置,该装置包括:
[0023]接收模块,用于接收应用程序针对第一数据库发送的请求,请求包括请求执行类型;
[0024]控制模块,用于响应于请求,控制第一数据库执行与请求对应的第一操作;
[0025]控制模块,用于响应于第一数据库执行第一操作的结束指令,基于请求执行类型,控制第二数据库执行与请求对应的第一操作,第一数据库和第二数据库为关系型数据库

[0026]第三方面,提供一种电子设备,包括:存储器,用于存储计算机程序指令;处理器,用于读取并运行存储器中存储的计算机程序指令,以执行第一方面中任一可选的实施方式提供的数据库双写方法

[0027]第四方面,提供一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面中的任一可选的实施方式提供的数据库双写方法

[0028]第五方面,提供一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行实现第一方面中的任一可选的实施方式提供的数据库双写方法

[0029]在本申请实施例中,能够接收应用程序针对第一数据库发送的请求,进而可以响应于该请求,控制第一数据库执行与请求对应的第一操作,并且由于请求可以包括请求执行类型,进而可以响应于第一数据库执行第一操作的结束指令,基于该请求执行类型,控制第二数据库执行与请求对应的第一操作

如此,通过接收应用程序层发送的请求实现了数据库双写,进而保证了数据库双写的功能准确性

附图说明
[0030]为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图

[0031]图1是本申请实施例提供的一种数据库双写方法的流程示意图;
[0032]图2是本申请实施例提供的一种数据库双写装置的结构示意图;
[0033]图3是本申请实施例提供的一种电子设备的结构示意图

具体实施方式
[0034]下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的

技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述

应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请

对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施

下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解

另外,需要说明的是,本申请技术方案中对数据的获取

存储

使用

处理等均符合国家法律法规的相关规定

[0035]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据库双写方法,其特征在于,所述方法包括:接收应用程序针对第一数据库发送的请求,所述请求包括请求执行类型;响应于所述请求,控制所述第一数据库执行与所述请求对应的第一操作;响应于所述第一数据库执行所述第一操作的结束指令,基于所述请求执行类型,控制第二数据库执行与所述请求对应的第一操作,所述第一数据库和所述第二数据库为关系型数据库
。2.
根据权利要求1所述的方法,其特征在于,所述响应于所述第一数据库执行所述第一操作的结束指令,基于所述请求执行类型,控制第二数据库执行与所述请求对应的第一操作,包括:响应于所述第一数据库执行所述第一操作的结束指令,在所述请求执行类型为第一执行类型的情况下,获取所述第一数据库执行所述第一操作的执行参数;基于第一链接向所述第二数据库发送所述执行参数,以用于所述第二数据库基于所述执行参数执行所述第一操作,所述第一链接为响应于所述应用程序的启动输入

创建的用于访问第二数据库的链接
。3.
根据权利要求1所述的方法,其特征在于,所述响应于所述第一数据库执行所述第一操作的结束指令,基于所述请求执行类型,控制第二数据库执行与所述请求对应的第一操作,包括:响应于所述第一数据库执行所述第一操作的结束指令,在所述请求执行类型为第二执行类型的情况下,获取所述请求对应的事务标识以及所述第一数据库执行所述第一操作的执行参数;在缓存中不存在与所述事务标识对应的第二链接的情况下,初始化与所述事务标识对应的第二链接,并基于所述第二链接向所述第二数据库发送所述第一数据库执行所述第一操作的执行参数,以用于所述第二数据库基于所述执行参数执行所述第一操作
。4.
根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述缓存中存在与所述事务标识对应的第二链接的情况下,从所述缓存中获取第二操作的执行结果;基于所述第二链接,向第二数据库发送...

【专利技术属性】
技术研发人员:田茂伟陈志伟
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

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

1