CN115080662A - 数据库切换方法和装置 - Google Patents
数据库切换方法和装置 Download PDFInfo
- Publication number
- CN115080662A CN115080662A CN202210706139.2A CN202210706139A CN115080662A CN 115080662 A CN115080662 A CN 115080662A CN 202210706139 A CN202210706139 A CN 202210706139A CN 115080662 A CN115080662 A CN 115080662A
- Authority
- CN
- China
- Prior art keywords
- database
- data record
- speed
- speed database
- low
- 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 65
- 230000007246 mechanism Effects 0.000 claims abstract description 16
- 230000001360 synchronised effect Effects 0.000 claims description 32
- 238000001514 detection method Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000004069 differentiation Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 14
- 230000004044 response Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
说明书披露一种数据库切换方法和装置。该方法包括:根据预设的冷热区分机制检测低速数据库中的热点数据记录;在检测到所述热点数据记录后,将所述热点数据记录从低速数据库同步到高速数据库,并将所述热点数据记录的数据库状态由未切换更新为正在切换;响应于上层应用发送的更新命令,查询所述更新命令指向的目标数据记录的数据库状态;在所述目标数据记录的数据库状态为正在切换的情况下,将所述更新命令发送给高速数据库,并在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录;在所述临时数据记录写入成功后,向上层应用返回更新成功。
Description
技术领域
本说明书涉及数据处理技术领域,尤其涉及一种数据库切换方法和装置。
背景技术
数据库是按照数据结构来组织、存储和管理数据的仓库,可为上层应用提供数据存储、访问等服务。数据库的响应速度与稳定性对上层应用而言极为重要。
发明内容
有鉴于此,本说明书提供一种数据库切换方法和装置。
具体地,本说明书是通过如下技术方案实现的:
一种数据库切换方法,包括:
根据预设的冷热区分机制检测低速数据库中的热点数据记录;
在检测到所述热点数据记录后,将所述热点数据记录从低速数据库同步到高速数据库,并将所述热点数据记录的数据库状态由未切换更新为正在切换;
响应于上层应用发送的更新命令,查询所述更新命令指向的目标数据记录的数据库状态;
在所述目标数据记录的数据库状态为正在切换的情况下,将所述更新命令发送给高速数据库,并在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录;
在所述临时数据记录写入成功后,向上层应用返回更新成功。
可选的,还包括:
响应于上层应用发送的指向所述目标数据记录的读命令,查询所述目标数据记录的数据库状态;
在所述目标数据记录的数据库状态为正在切换的情况下,将所述读命令发送给低速数据库。
可选的,所述根据预设的冷热区分机制检测低速数据库中的热点数据记录,包括:
监听低速数据库上报的针对目标数据记录的获锁失败事件;
在所述目标数据记录发生获锁失败事件的次数达到预设失败次数的情况下,将所述目标数据记录确定为热点数据记录。
可选的,还包括:
在将所述热点数据记录从低速数据库同步到高速数据库后,基于预设的核对规则核对低速数据库和高速数据库中的热点数据记录是否一致;
在低速数据库和高速数据库中的热点数据记录一致的情况下,将所述热点数据记录的数据库状态由正在切换状态更新为切换完成状态。
可选的,还包括:
在所述目标数据记录的数据库状态为切换完成状态的情况下,将所述更新命令发送给高速数据库,并在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录;
在高速数据库更新成功且所述临时数据记录也写入成功后,向上层应用返回更新成功;
响应于上层应用发送的指向所述目标数据记录的读命令,在所述目标数据记录的数据库状态为切换完成状态的情况下,将所述读命令发送给高速数据库。
可选的,还包括:
在低速数据库和高速数据库中的热点数据记录不一致的情况下,将高速数据库中的热点数据记录删除,并将所述热点数据记录的数据库状态更新回未切换。
可选的,还包括:
在所述目标数据记录的数据库状态为未切换的情况下,将所述更新命令和来自上层应用的读命令均发送给低速数据库。
可选的,在将所述热点数据记录从低速数据库同步到高速数据库之前,还包括:
将所述热点数据记录的标识同步到高速数据库中,并在需要同步的目标字段中写入初始字段值。
可选的,所述将所述热点数据记录从低速数据库同步到高速数据库,包括:
根据低速数据库中所述热点数据记录在所述目标字段下的低速字段值更新高速数据库中的所述初始字段值,以实现所述热点数据记录的同步。
可选的,还包括:
基于预设的周期将所述临时表中的所述临时数据记录同步到低速数据库中相应的数据记录中;
针对每个周期,统计该周期内所述热点数据记录对应的临时数据记录数量;
当所述临时数据记录数量小于热点阈值时,将所述热点数据记录的数据库状态更新回未切换。
可选的,还包括:
在将所述热点数据记录的数据库状态更新回未切换后,删除高速数据库中存储的所述热点数据记录。
可选的,高速数据库的容量小于低速数据库的容量。
可选的,所述数据记录包括账号的资源剩余数量。
一种数据库切换装置,包括:
热点检测单元,根据预设的冷热区分机制检测低速数据库中的热点数据记录;
热点同步单元,在检测到所述热点数据记录后,将所述热点数据记录从低速数据库同步到高速数据库,并将所述热点数据记录的数据库状态由未切换更新为正在切换;
状态查询单元,响应于上层应用发送的更新命令,查询所述更新命令指向的目标数据记录的数据库状态;
更新执行单元,在所述目标数据记录的数据库状态为正在切换的情况下,将所述更新命令发送给高速数据库,并在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录;
结果返回单元,在所述临时数据记录写入成功后,向上层应用返回更新成功。
一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如前述方法。
一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现前述方法的步骤。
采用上述实施方式,响应于上层应用发送的更新命令,可查询所述更新命令指向的目标数据记录的数据库状态,在数据库状态为正在切换的情况下,可说明目标数据记录为热点数据记录,正在从低速数据库中同步到高速数据库,进而一方面可将所述更新命令发送给高速数据库,另一方面还可在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录,并在所述临时数据记录写入成功后,向上层应用返回更新成功。
采用上述技术方案,一方面可在数据记录发生热点访问时,及时将热点数据记录同步到高速数据库,以实现热点数据记录的数据库切换,提高热点数据记录的访问速度。另一方面,在热点数据记录同步的过程中,可在高速数据库和低速数据库中同时执行相应的更新操作,无需暂停热点数据记录的数据访问,实现不停服的数据库切换。
附图说明
图1是本说明书一示例性实施例示出的一种数据库切换系统的架构示意图。
图2是本说明书一示例性实施例示出的一种数据库切换方法的流程示意图。
图3是本说明书一示例性实施例示出的一种数据库切换装置所在电子设备的一种硬件结构图。
图4是本说明书一示例性实施例示出的一种数据库切换装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
数据库是按照数据结构来组织、存储和管理数据的仓库,可为上层应用提供数据存储、访问等服务。数据库的响应速度与稳定性对上层应用而言极为重要。
大部分上层应用都会发生热点访问,即数据库中的某些数据记录在一定时间内被上层应用频繁访问,这些在短期内被频繁访问的数据记录可称为热点数据记录,例如,热门商品、热门账号等。
举例来说,某金融账号可能会在短期内频繁出账,相应的金融应用就会在短期内频繁访问该金融账号进行相应的记账操作,该金融账号的资金余额所在的数据记录就是一条热点数据记录。又或者,某热门商品可能会在短期内被集中抢购,相应的售卖应用就会在短期内频繁更新该热门商品的库存,该热门商品库存所在的数据记录也是一条热点数据记录。
针对这些热点数据记录,可将其从原来所在的数据库中同步到响应速度更快的数据库中,以满足热点访问发生时上层应用对响应速度的需求。然而,在进行热点数据的同步时,为确保数据记录的一致性,往往需要暂停上层应用的访问,进而导致业务停滞甚至出错。
本说明书提供一种数据库切换方案,无需暂停上层应用的访问即可实现热点数据记录的同步。
图1是本说明书一示例性实施例示出的一种数据库切换系统的架构示意图。
请参考图1,所述数据库切换系统可包括低速数据库、高速数据库、上层应用和中间层。
其中,高速数据库通常为响应速度相对较快但容量相对较小的数据库,低速数据库通常为响应速度相对较慢但容量相对较大的数据库。所述响应速度为数据库执行来自上层应用的命令的速度,所述来自上层应用的命令可包括更新命令、读命令等。
上层应用的大量数据记录通常会被存储在容量较大的低速数据库中,在发生热点访问时,可将相关的热点数据记录从低速数据库同步到高速数据库中,进而提升热点数据记录的访问速度。
中间层在数据库访问的过程中位于上层应用和数据库之间,可将来自上层应用的各种命令发送给数据库,也可将数据库返回的命令执行结果返回给上层应用。中间层的处理逻辑可被集成在上层应用所在的物理设备中,也可被设置在独立的物理设备中,例如服务器或服务器集群,本说明书对此不作特殊限制。
图2是本说明书一示例性实施例示出的一种数据库切换方法的流程示意图。
请参考图2,所述数据库切换方法可应用于前述图1所示的中间层,包括有以下步骤:
步骤202,根据预设的冷热区分机制检测低速数据库中的热点数据记录。
在本说明书中,可预先设置用于检测热点访问的冷热区分机制,根据所述冷热区分机制可检测出低速数据库中的热点数据记录。
在一个例子中,可通过监听低速数据库上报的获锁失败事件来进行热点数据记录的检测,即所述冷热区分机制可以为预定时间段内发生获锁失败事件的次数达到预设失败次数。
数据库锁机制是用于确保数据库中数据一致性的机制,在对数据库中的数据记录进行访问时,往往需要先获取对应数据记录的“锁”,在获取到“锁”后方可进行操作,例如写入或更新等。当“锁”被其他进程获取时就需要等待,若等待超时会上报获锁失败事件。
在本例中,可监听低速数据库上报的获锁失败事件,该获锁失败事件对应着低速数据库中的某条数据记录,针对这条数据记录,可统计预设时间段内该数据记录发生获锁失败事件的次数,然后判断发生该获锁失败事件的次数是否达到预设失败次数,并可在达到预设失败次数的情况下,确定该数据记录发生热点访问,进而可将该数据记录确定为热点数据记录。
在另一个例子中,也可根据上层应用的业务特点预先设置可能会发生热点访问的数据记录以及热点访问的发生时间。
例如,某企业账号会在每月1日零时大规模的出账,那么可将每月1日零时确定为热点访问的发生时间,而该企业账号资金余额所在的数据记录在到达发生时间是即为热点数据记录。
当然,在其他例子中,还可采用其他方式检测低速数据库中的热点数据记录,本说明书对此不作特殊限制。
步骤204,在检测到所述热点数据记录后,将所述热点数据记录从低速数据库同步到高速数据库,并将所述热点数据记录的数据库状态由未切换更新为正在切换。
在本说明书中,可维护每条数据记录的数据库状态,所述数据库状态的初始状态为未切换,可表示对应的数据记录仍由低速数据库提供读、写、更新等访问服务,尚未被切换到高速数据库中。
基于前述步骤202,在检测到低速数据库中的热点数据记录后,为提高该热点数据记录的访问速度,可将该热点数据记录从低速数据库中同步到高速数据库,并将该热点数据记录的数据库状态由未切换更新为正在切换。所述正在切换状态可表示正在将对应的数据记录由低速数据库同步到高速数据库中。
在本说明书中,在进行热点数据记录的同步之前,可先在高速数据库中为即将同步的热点数据记录进行初始化,以便在后续热点数据记录同步的过程中,实现在高速数据库中执行上层应用新发起的更新命令。
所述初始化的过程可包括:先在高速数据库中写入所述热点数据记录的标识(诸如账号标识、商品标识等),即在高速数据库中创建一条新的数据记录,该新的数据记录的标识为所述热点数据记录的标识,然后可将高速数据库中该热点数据记录标识对应的需要同步的目标字段中写入预设的初始字段值。
其中,所述目标字段通常为发生热点访问的字段,例如前述热门商品示例中的商品库存,前述热门账号示例中的账号资金余额等,所述目标字段的字段值需要同步至高速数据库中。
举例来说,假设前述步骤检测出的热点数据记录是A企业账号的资金余额所在的数据记录,则目标字段为资金余额,那么在进行该热点数据记录同步之前,可先在高速数据库中创建一条对应A企业账号的数据记录,例如在高速数据库中先创建一条属于A企业账号的记录,然后将高速数据库中A企业账号的资金余额字段设置为预设的初始字段值,例如0元,即在高速数据库中A企业账号的资金余额字段中写入0。
步骤206,响应于上层应用发送的更新命令,查询所述更新命令指向的目标数据记录的数据库状态。
在本说明书中,上层应用对数据库中数据记录的访问通常可包括更新访问和读访问,对于更新访问,上层应用可发送更新命令,对于读访问,上层应用可发送读命令。更新命令和读命令中均可指定有要访问的数据记录的数据记录标识,例如账号标识、商品标识等。
在本步骤中,在接收到上层应用发送的更新命令后,可先查询所述更新命令指定的数据记录(为便于区分,后续称之为目标数据记录)的数据库状态。
步骤208,在所述目标数据记录的数据库状态为正在切换的情况下,将所述更新命令发送给高速数据库,并在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录。
基于前述步骤206的查询结果,在目标数据记录的数据库状态为正在切换的情况下,说明目标数据记录是热点数据记录,其被频繁访问的目标字段正在从低速数据库同步到高速数据库中,为提升该目标数据记录后续的访问速度,可将所述更新命令发送给高速数据库,由高速数据库执行目标数据记录的更新操作。此时,不论低速数据库中目标数据记录的目标字段值是否已被同步至高速数据库中,均可在高速数据库中执行所述更新操作。
具体的,在低速数据库中所述目标数据记录的目标字段值已同步到高速数据库后,可直接在高速数据库中执行上层应用的所述更新命令,例如,进行资金余额更新、库存更新等。在低速数据库中所述目标数据记录的目标字段值尚未被同步到高速数据库时,由于高速数据库中该目标数据记录的目标字段值是前述初始化过程中的初始值,也会基于该初始值执行所述更新命令,后续同步过程可再基于低速数据库中的低速字段值继续进行更新。
另一方面,由于该目标数据记录正在进行数据库切换操作,为确保数据可靠性,还可在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录。所述临时数据记录后续将会被周期性的异步更新至低速数据库中对应的数据记录中。
步骤210,在所述临时数据记录写入成功后,向上层应用返回更新成功。
在本说明书,由于目标数据记录的数据库状态为正在切换,即尚未完成目标数据记录的数据库切换,此时可将低速数据库针对所述更新命令的执行结果返给上层应用,即可在所述临时数据记录写入成功后,向上层应用返回写成功的消息。
在本说明书中,在临时表中写入所述临时数据记录的速度要远远快于直接在数据记录中执行对应的更新命令,在将临时数据记录成功写入临时表后向上层应用返回写成功,对于上层应用而言,更新命令的执行速度也得到了提升。
由以上描述可以看出,本说明书响应于上层应用发送的更新命令,可查询所述更新命令指向的目标数据记录的数据库状态,在数据库状态为正在切换的情况下,可说明目标数据记录为热点数据记录,正在从低速数据库中同步到高速数据库,进而一方面可将所述更新命令发送给高速数据库,另一方面还可在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录,并在所述临时数据记录写入成功后,向上层应用返回更新成功。
采用上述技术方案,一方面可在数据记录发生热点访问时,及时将热点数据记录同步到高速数据库,以实现热点数据记录的数据库切换,提高热点数据记录的访问速度。另一方面,在热点数据记录同步的过程中,可在高速数据库和低速数据库中同时执行相应的更新操作,无需暂停热点数据记录的数据访问,实现不停服的数据库切换。
在本说明书中,在目标数据记录的数据库状态为未切换的情况下,可说明目标数据记录不是热点数据记录,无需进行数据库切换,目标数据记录仍由低速数据库提供访问服务,进而可将所述更新命令发送给低速数据库,并可在低速数据库在对所述目标数据记录更新成功后向上层应用返回更新成功的消息。
在本说明书中,上层应用还可能会发送读命令,用以查询目标数据记录的目标字段值。针对该读命令,也可先查询目标数据记录的数据库状态。在目标数据记录的数据库状态为未切换的状态时,可将所述读命令发送给低速数据库。在目标数据记录的数据库状态为正在切换时,也可将所述读命令发送给低速数据库。
值得注意的是,在目标数据记录的数据库状态为正在切换的情况下,对于低速数据库而言,读命令查询的是对应数据记录中的目标字段值,并不包括临时表中的临时数据记录。对于目标数据记录而言,若其在临时表中的临时数据记录尚未被更新至对应的目标数据记录中,此时读取到的目标数据记录中的目标字段值可能会不准确,相较于数据库中热点数据记录的访问速度慢的问题,这种短暂的数据不准确是可被接受的。待到临时表中的临时数据记录被更新至目标数据记录中之后,读取到的目标字段值就是准确的数值。
当然,在其他例子中,在目标数据记录的数据库状态为正在切换时,也可将所述读命令发送给高速数据库,由于尚未进行数据核对,高速数据库中查询到的目标字段值也可能会不准确,本说明书对此不作特殊限制。
在本说明书中,为确保数据一致性,在将热点数据记录由低速数据库同步到高速数据后,还可对数据的一致性进行核对,在核对无误后,可将热点数据记录的数据库状态由正在切换更新为切换完成状态。
在本说明书中,可基于预设的核对规则核对低速数据库和高速数据库中的热点数据记录是否一致。
其中,所述核对规则可包括核对次数、核对周期等。
例如,所述核对规则可以为进行5次核对,核对周期为1天。即,在将热点数据记录从低速数据库同步到高速数据库之后,连续5天,每天核对低速数据库和高速数据库中的热点数据记录是否一致。这5天内热点数据记录仍会发生更新等访问,若连续5天热点数据记录核对一致,可认为高速数据库运行稳定,进而将热点数据记录的数据库状态由正在切换更新为切换完成。若某一次热点数据记录核对不一致,可执行数据库切换的回滚操作,仍使用低速数据库提供热点数据记录的访问服务。
在本说明书中,针对切换完成状态下的目标数据记录的更新命令,可将该更新命令发送给高速数据库,由高速数据库为上层应用提供高速的数据库访问服务。此外,与正在切换的数据库状态类似,也可在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录,以在低速数据库中实现全量数据记录的维护。
针对该切换完成状态下的目标数据记录的更新命令,可在高速数据库更新成功并且所述临时数据记录也写入成功后,向上层应用返回更新成功的消息。
值得注意的是,若所述临时数据记录写入失败,低速数据库会返回写入失败。在低速数据库写失败后,上层应用可等待预设时长后重新发起更新命令。此时,会重新在低速数据库的临时表中写入所述临时数据记录,也会将该更新命令发送给高速数据库,对于高速数据库而言,由于已经执行过该更新命令,其会进行幂等处理,不会重复执行更新。
在本说明书中,针对切换完成状态下的目标数据记录的读命令,可将该读命令发送给高速数据库,进而可从高速数据库中读取出准确的数据返回给上层应用。
在本说明书中,当低速数据库和高速数据库中的热点数据记录核对不一致的情况下,执行数据库切换的回滚操作,一方面可将该热点数据记录的数据库状态由正在切换更新回未切换,以使得后续针对该热点数据记录的访问命令均给发送给低速数据库。另一方面由于低速数据库中存储有全量的数据记录,在进行数据库切换回滚时,可直接删除高速数据库中的热点数据记录。
在本说明书中,当热点数据记录不再发生热访问时,可将该热点数据记录的数据库状态更新回未切换,并删除高速数据库中的热点数据记录,进而释放高速数据库的存储资源。
在一个例子中,针对每条热点数据记录,可统计在一个临时数据记录更新周期内临时表中对应该热点数据记录的临时数据记录数量。若该临时数据记录数量小于预设的热点阈值,可说明这条热点数据记录的访问频率下降,进而确定其不再发生热点访问。
当然,在其他例子中,也可采用其他方式检测出不再发生热点访问的数据记录,例如可由中间层统计一定时间段内热点数据记录的访问次数等,本说明书对此不作特殊限制。
下面以数据记录为账号的资源剩余数量,例如账号的资金余额为例对本说明书提供的数据库切换方法进行详细描述。
低速数据库中存储有全量账号的资金余额,在一些业务场景中,部分账号可能会发生集中动账交易,例如放贷账号集中放款等。由于低速数据库的响应速度相对较慢,可能会导致部分动账交易记账失败,即低速数据库中相关账号的部分动账交易对应的余额更新失败。
采用本说明书提供的数据库切换方案,在低速数据库的基础上,还可设置记账速度快的高速数据库。由于高速数据库往往容量有限,无法容纳全量的账号货币余额记录,进而可检测发生热点访问的账号,即检测发生集中动账交易的账号,然后将这些账号的资金余额(后续简称为账号余额)同步到高速数据库中,由高速数据库为这些账号提供高速的记账服务。其中,所述记账可指数据库中相应账号的余额更新。
在本例中,可设置3种数据库状态,分别为未切换状态、正在切换状态和切换完成状态。其中,未切换状态代表账号未发生热点访问,由低速数据库提供记账、余额查询等服务,各账号的初始数据库状态均为未切换状态;正在切换代表对应账号发生热点访问,正在将账号的记账、余额查询等服务从低速数据库切换到高速数据库,例如,正在将对应的账号余额从低速数据库同步至高速数据库,但尚未完成账号余额的核对;切换完成代表低速数据库和高速数据库中的账号余额已核对无误,已将发生热点访问的账号的记账、余额查询等服务切换到高速数据库,由高速数据库为上层应用提供高速的记账服务。
账号 | 数据库状态 |
A企业 | 未切换 |
B企业 | 正在切换 |
C用户 | 切换完成 |
表1
在本例中,可维护各个账号资金余额的数据库状态。请参考表1的示例,A企业账号的数据库状态为未切换,B企业账号的数据库状态为正在切换,C用户的数据状态为切换完成。
在本例中,可监听低速数据库上报的针对账号余额更新操作的获锁失败事件,然后可统计预设时间段内同一账号的获锁失败事件发生次数,并判断该次数是否达到预设失败次数。
例如,可判断1分钟内同一账号的获锁失败事件的发生次数是否达到10次,若达到10次,可认为该账号发生热点访问,将该账号余额所在的记录确定为热点数据记录。
在本例中,在检测到发生热点访问的账号后,可将该账号的数据库状态由未切换更新为正在切换,并可将该账号余额从低速数据库同步至高速数据库。
账号 | 数据库状态 |
A企业 | 正在切换 |
B企业 | 正在切换 |
C用户 | 切换完成 |
表2
举例来说,假设检测到A企业账号发生热点访问,可将A企业账号的数据库状态由未切换更新为正在切换,得到表2所示的各个账号资金余额的数据库状态。然后将A企业账号余额从低速数据库中同步至高速数据库。在同步A企业账号余额前,可在高速数据库中创建A企业账号对应的数据记录,并将余额字段(即目标字段)的字段值设置为0。
在将账号余额同步至高速数据库之后,可基于预设的核对周期核对高速数据库和低速数据库中相同账号的余额是否一致。若二者一致,可由高速数据库面向上层应用提供该账号的记账服务。若二者不一致,可执行回滚操作。
仍以A企业账号为例,在将A企业账号余额同步至高速数据库后,可连续7天核对高速数据库和低速数据库中A企业账号的余额是否一致。例如,可连续7天,在每天夜里24时核对高速数据库和低速数据库中A企业账号的余额是否一致。当然,在核对账号余额的基础上,还可核对高速数据库和低速数据库中每个核对周期内A企业账号的记账次数是否一致等,本说明书对此不作特殊限制。
账号 | 数据库状态 |
A企业 | 切换完成 |
B企业 | 正在切换 |
C用户 | 切换完成 |
表3
若高速数据库和低速数据库中A企业账号的余额一致,可将A企业账号的数据库状态由正在切换更新为切换完成状态,得到表3所示的各个账号资金余额的数据库状态。
若高速数据库和低速数据库中A企业账号的余额不一致,可将A企业账号的数据库状态由正在切换更新回未切换,并可删除高速数据库中A企业账号的数据记录。
在本例中,在不同的数据库状态下,可由不同的数据库提供记账与余额查询服务。
仍以A企业账号为例,在接收到针对A企业账号的资金余额访问命令后,可先获取A企业账号的数据库状态。其中,所述余额访问命令可包括涉及进账或出账的余额更新命令,也可包括针对余额的查询命令。
在A企业账号的数据库状态为未切换的情况下,不论是余额更新命令还是余额查询命令,均可将其发送至低速数据库,由低速数据库提供相应服务。
在A企业账号的数据库状态为正在切换的情况下,针对余额更新命令,一方面可将该余额更新命令发送至高速数据库,由高速数据库执行余额更新。
值得注意的是,在高速数据库执行该余额更新命令时,需要从低速数据库中同步至高速数据库的A企业账号的资金余额可能已同步完毕,也可能尚未同步完毕。
若已同步完毕,高速数据库可基于已同步过来的A企业账号资金余额直接进行余额更新操作。
若尚未同步完毕,高速数据库可根据该余额更新命令涉及到的更新金额先更新A企业账号的资金余额,待从低速数据库同步其余额时再进行一次余额更新操作。例如,假设本次余额更新操作为入账100元,在尚未同步完毕的情况下,高速数据库中A企业账号的余额为初始值0,可直接执行记账操作,将余额更新为100元,假设低速数据库中该A企业账号余额是1000元,则在同步该余额1000元时,也可直接执行记账操作,把A企业账号资金余额由100元更新为1100元。
另一方面,还可将该余额更新命令对应的临时数据记录写入低速数据库的临时表中,低速数据库临时表中的临时数据记录可周期性地被记账至相应的账号余额中,例如每10秒或20秒将临时表中的临时数据记录记账至相应的账号余额中等。本例中在所述临时数据记录成功写入低速数据库的临时表后,向上层应用返回更新成功,换言之,即便高速数据库中余额更新失败也可向上层应用返回成功的消息,由于低速数据库的临时数据记录已写入成功,低速数据库中的数据是准确的。
本说明书在开始将低速数据库中的账号余额同步至高速数据库后,将该账号发生的动账交易记录在低速数据库的临时表中,一方面可确保低速数据库记录有全量的动账交易,以便在高速数据库不稳定等情况下及时切换回低速数据库。另一方面相较于记账操作,临时表的写入速度往往会快很多,本说明书可在临时数据记录写入成功后向上层应用返回记账成功(即更新成功)的消息,也可在一定程度上提高热点访问账号的记账速度,进而提升业务体验。
在A企业账号的数据库状态为正在切换的情况下,针对余额查询命令,可将其发送给低速数据库,也可将其发送给高速数据库。对于这个状态下的余额查询,可能会存在短暂的余额不准确问题,相较于记账速度的提高,这短暂的余额不准确是可被接受的。
在A企业账号的数据库状态为切换完成的情况下,针对余额更新命令,仍然可一方面将该余额更新命令发送至高速数据库,由高速数据库执行余额更新,另一方面将该余额更新命令对应的临时数据记录写入低速数据库的临时表。并可在高速数据库更新成功且所述临时数据记录也写入成功后,向上层应用返回更新成功。若高速数据库更新失败,可向上层应用更新返回失败的消息。举例来说,若账号出账,出账的金额大于账号余额,高速数据库会返回更新失败的消息,进而可将上层应用返回更新失败,即由高速数据库实现资金透支的拦截。
在A企业账号的数据库状态为切换完成的情况下,针对余额查询命令,可将其发送给高速数据库,由高速数据库提供相应的余额查询服务。
由以上描述可以看出,采用本说明书提供的技术方案,针对正在切换状态的热点账号,一方面可将余额更新命令发送中高速数据库,由高速数据库执行余额更新,另一方面将该余额更新命令对应的临时数据记录写入低速数据库的临时表,并可在该临时数据记录写入成功的情况下,向上层应用返回更新成功的消息,从而无需暂停热点账号的记账操作,实现不停服的数据库切换。
当然,在本说明书其他例子中,还可对正在切换状态进行更细致的划分,例如将正在切换状态再划分为同步状态和核对状态。其中,同步状态代表将低速数据库中热点数据记录同步到高速数据库中的过程;核对状态代表同步状态结束后对低速数据库和高速数据库中热点数据记录是否一致进行核对的过程。
类似的,也可对切换完成状态进行更细致的划分。例如将切换完成状态再划分为更新切换状态和对客切换状态。其中,更新切换状态代表经过核对确认两个数据库中热点数据一致后,响应于上层应用的更新命令,在高速数据库成功记账且低速数据中的临时数据记录写入成功后返回更新成功,但是热点数据记录的查询服务仍由低速数据库提供;对客切换状态是更新切换状态后的一种状态,代表热点数据记录的查询服务也切换到高速数据库。
具体数据库状态的划分可由开发人员根据业务需求进行设置,本说明书对此不作特殊限制。
与前述数据库切换方法的实施例相对应,本说明书还提供了数据库切换装置的实施例。
本说明书数据库切换装置的实施例可以应用在电子设备中。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书数据库切换装置所在电子设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图4是本说明书一示例性实施例示出的一种数据库切换装置的框图。
请参考图4,所述数据库切换装置可以应用在前述图3所示的电子设备上,例如服务器等,所述装置包括有:热点检测单元、热点同步单元、状态查询单元、更新执行单元和结果返回单元。
其中,热点检测单元,根据预设的冷热区分机制检测低速数据库中的热点数据记录;
热点同步单元,在检测到所述热点数据记录后,将所述热点数据记录从低速数据库同步到高速数据库,并将所述热点数据记录的数据库状态由未切换更新为正在切换;
状态查询单元,响应于上层应用发送的更新命令,查询所述更新命令指向的目标数据记录的数据库状态;
更新执行单元,在所述目标数据记录的数据库状态为正在切换的情况下,将所述更新命令发送给高速数据库,并在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录;
结果返回单元,在所述临时数据记录写入成功后,向上层应用返回更新成功。
可选的,状态查询单元响应于上层应用发送的指向所述目标数据记录的读命令,查询所述目标数据记录的数据库状态,并在所述目标数据记录的数据库状态为正在切换的情况下,将所述读命令发送给低速数据库。
可选的,所述热点检测单元:
监听低速数据库上报的针对目标数据记录的获锁失败事件;
在所述目标数据记录发生获锁失败事件的次数达到预设失败次数的情况下,将所述目标数据记录确定为热点数据记录。
可选的,执行数据库切换的步骤还包括:在将所述热点数据记录从低速数据库同步到高速数据库后,基于预设的核对规则核对低速数据库和高速数据库中的热点数据记录是否一致;在低速数据库和高速数据库中的热点数据记录一致的情况下,将所述热点数据记录的数据库状态由正在切换状态更新为切换完成状态。
可选的,所述更新执行单元在所述目标数据记录的数据库状态为切换完成状态的情况下,将所述更新命令发送给高速数据库,并在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录;
所述结果返回单元在高速数据库更新成功且所述临时数据记录也写入成功后,向上层应用返回更新成功;
响应于上层应用发送的指向所述目标数据记录的读命令,在所述目标数据记录的数据库状态为切换完成状态的情况下,将所述读命令发送给高速数据库。
可选的,执行数据库切换的步骤还包括:在低速数据库和高速数据库中的热点数据记录不一致的情况下,将高速数据库中的热点数据记录删除,并将所述热点数据记录的数据库状态更新回未切换。
可选的,执行数据库切换的步骤还包括:在所述目标数据记录的数据库状态为未切换的情况下,将所述更新命令和来自上层应用的读命令均发送给低速数据库。
可选的,所述热点同步单元在将所述热点数据记录从低速数据库同步到高速数据库之前,还包括:将所述热点数据记录的标识同步到高速数据库中,并在需要同步的目标字段中写入初始字段值。
可选的,所述热点同步单元:根据低速数据库中所述热点数据记录在所述目标字段下的低速字段值更新高速数据库中的所述初始字段值,以实现所述热点数据记录的同步。
可选的,执行数据库切换的步骤还包括:基于预设的周期将所述临时表中的所述临时数据记录同步到低速数据库中相应的数据记录中;针对每个周期,统计该周期内所述热点数据记录对应的临时数据记录数量;当所述临时数据记录数量小于热点阈值时,将所述热点数据记录的数据库状态更新回未切换。
可选的,执行数据库切换的步骤还包括:在将所述热点数据记录的数据库状态更新回未切换后,删除高速数据库中存储的所述热点数据记录。
可选的,高速数据库的容量小于低速数据库的容量。
可选的,所述数据记录包括账号的资源剩余数量。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
与前述数据库切换方法的实施例相对应,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下步骤:
根据预设的冷热区分机制检测低速数据库中的热点数据记录;
在检测到所述热点数据记录后,将所述热点数据记录从低速数据库同步到高速数据库,并将所述热点数据记录的数据库状态由未切换更新为正在切换;
响应于上层应用发送的更新命令,查询所述更新命令指向的目标数据记录的数据库状态;
在所述目标数据记录的数据库状态为正在切换的情况下,将所述更新命令发送给高速数据库,并在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录;
在所述临时数据记录写入成功后,向上层应用返回更新成功。
可选的,还包括:
响应于上层应用发送的指向所述目标数据记录的读命令,查询所述目标数据记录的数据库状态;
在所述目标数据记录的数据库状态为正在切换的情况下,将所述读命令发送给低速数据库。
可选的,所述根据预设的冷热区分机制检测低速数据库中的热点数据记录,包括:
监听低速数据库上报的针对目标数据记录的获锁失败事件;
在所述目标数据记录发生获锁失败事件的次数达到预设失败次数的情况下,将所述目标数据记录确定为热点数据记录。
可选的,还包括:
在将所述热点数据记录从低速数据库同步到高速数据库后,基于预设的核对规则核对低速数据库和高速数据库中的热点数据记录是否一致;
在低速数据库和高速数据库中的热点数据记录一致的情况下,将所述热点数据记录的数据库状态由正在切换状态更新为切换完成状态。
可选的,还包括:
在所述目标数据记录的数据库状态为切换完成状态的情况下,将所述更新命令发送给高速数据库,并在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录;
在高速数据库更新成功且所述临时数据记录也写入成功后,向上层应用返回更新成功;
响应于上层应用发送的指向所述目标数据记录的读命令,在所述目标数据记录的数据库状态为切换完成状态的情况下,将所述读命令发送给高速数据库。
可选的,还包括:
在低速数据库和高速数据库中的热点数据记录不一致的情况下,将高速数据库中的热点数据记录删除,并将所述热点数据记录的数据库状态更新回未切换。
可选的,还包括:
在所述目标数据记录的数据库状态为未切换的情况下,将所述更新命令和来自上层应用的读命令均发送给低速数据库。
可选的,在将所述热点数据记录从低速数据库同步到高速数据库之前,还包括:
将所述热点数据记录的标识同步到高速数据库中,并在需要同步的目标字段中写入初始字段值。
可选的,所述将所述热点数据记录从低速数据库同步到高速数据库,包括:
根据低速数据库中所述热点数据记录在所述目标字段下的低速字段值更新高速数据库中的所述初始字段值,以实现所述热点数据记录的同步。
可选的,还包括:
基于预设的周期将所述临时表中的所述临时数据记录同步到低速数据库中相应的数据记录中;
针对每个周期,统计该周期内所述热点数据记录对应的临时数据记录数量;
当所述临时数据记录数量小于热点阈值时,将所述热点数据记录的数据库状态更新回未切换。
可选的,还包括:
在将所述热点数据记录的数据库状态更新回未切换后,删除高速数据库中存储的所述热点数据记录。
可选的,高速数据库的容量小于低速数据库的容量。
可选的,所述数据记录包括账号的资源剩余数量。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (16)
1.一种数据库切换方法,包括:
根据预设的冷热区分机制检测低速数据库中的热点数据记录;
在检测到所述热点数据记录后,将所述热点数据记录从低速数据库同步到高速数据库,并将所述热点数据记录的数据库状态由未切换更新为正在切换;
响应于上层应用发送的更新命令,查询所述更新命令指向的目标数据记录的数据库状态;
在所述目标数据记录的数据库状态为正在切换的情况下,将所述更新命令发送给高速数据库,并在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录;
在所述临时数据记录写入成功后,向上层应用返回更新成功。
2.根据权利要求1所述的方法,还包括:
响应于上层应用发送的指向所述目标数据记录的读命令,查询所述目标数据记录的数据库状态;
在所述目标数据记录的数据库状态为正在切换的情况下,将所述读命令发送给低速数据库。
3.根据权利要求1所述的方法,所述根据预设的冷热区分机制检测低速数据库中的热点数据记录,包括:
监听低速数据库上报的针对目标数据记录的获锁失败事件;
在所述目标数据记录发生获锁失败事件的次数达到预设失败次数的情况下,将所述目标数据记录确定为热点数据记录。
4.根据权利要求1所述的方法,还包括:
在将所述热点数据记录从低速数据库同步到高速数据库后,基于预设的核对规则核对低速数据库和高速数据库中的热点数据记录是否一致;
在低速数据库和高速数据库中的热点数据记录一致的情况下,将所述热点数据记录的数据库状态由正在切换状态更新为切换完成状态。
5.根据权利要求4所述的方法,还包括:
在所述目标数据记录的数据库状态为切换完成状态的情况下,将所述更新命令发送给高速数据库,并在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录;
在高速数据库更新成功且所述临时数据记录也写入成功后,向上层应用返回更新成功;
响应于上层应用发送的指向所述目标数据记录的读命令,在所述目标数据记录的数据库状态为切换完成状态的情况下,将所述读命令发送给高速数据库。
6.根据权利要求4所述的方法,还包括:
在低速数据库和高速数据库中的热点数据记录不一致的情况下,将高速数据库中的热点数据记录删除,并将所述热点数据记录的数据库状态更新回未切换。
7.根据权利要求1所述的方法,还包括:
在所述目标数据记录的数据库状态为未切换的情况下,将所述更新命令和来自上层应用的读命令均发送给低速数据库。
8.根据权利要求1所述的方法,在将所述热点数据记录从低速数据库同步到高速数据库之前,还包括:
将所述热点数据记录的标识同步到高速数据库中,并在需要同步的目标字段中写入初始字段值。
9.根据权利要求8所述的方法,所述将所述热点数据记录从低速数据库同步到高速数据库,包括:
根据低速数据库中所述热点数据记录在所述目标字段下的低速字段值更新高速数据库中的所述初始字段值,以实现所述热点数据记录的同步。
10.根据权利要求1所述的方法,还包括:
基于预设的周期将所述临时表中的所述临时数据记录同步到低速数据库中相应的数据记录中;
针对每个周期,统计该周期内所述热点数据记录对应的临时数据记录数量;
当所述临时数据记录数量小于热点阈值时,将所述热点数据记录的数据库状态更新回未切换。
11.根据权利要求10所述的方法,还包括:
在将所述热点数据记录的数据库状态更新回未切换后,删除高速数据库中存储的所述热点数据记录。
12.根据权利要求1所述的方法,高速数据库的容量小于低速数据库的容量。
13.根据权利要求1所述的方法,所述数据记录包括账号的资源剩余数量。
14.一种数据库切换装置,包括:
热点检测单元,根据预设的冷热区分机制检测低速数据库中的热点数据记录;
热点同步单元,在检测到所述热点数据记录后,将所述热点数据记录从低速数据库同步到高速数据库,并将所述热点数据记录的数据库状态由未切换更新为正在切换;
状态查询单元,响应于上层应用发送的更新命令,查询所述更新命令指向的目标数据记录的数据库状态;
更新执行单元,在所述目标数据记录的数据库状态为正在切换的情况下,将所述更新命令发送给高速数据库,并在低速数据库中预设的临时表中写入所述更新命令对应的临时数据记录;
结果返回单元,在所述临时数据记录写入成功后,向上层应用返回更新成功。
15.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-13中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-13中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210706139.2A CN115080662A (zh) | 2022-06-21 | 2022-06-21 | 数据库切换方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210706139.2A CN115080662A (zh) | 2022-06-21 | 2022-06-21 | 数据库切换方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115080662A true CN115080662A (zh) | 2022-09-20 |
Family
ID=83254492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210706139.2A Pending CN115080662A (zh) | 2022-06-21 | 2022-06-21 | 数据库切换方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115080662A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140222872A1 (en) * | 2013-02-04 | 2014-08-07 | Bank Of America Corporation | Multi-row database updating for enterprise workflow application |
US20180225344A1 (en) * | 2015-10-15 | 2018-08-09 | Huawei Technologies Co., Ltd. | Database access control method and apparatus |
CN111061748A (zh) * | 2019-12-12 | 2020-04-24 | 吉林亿联银行股份有限公司 | 一种热点账户的记账方法及装置 |
CN113297263A (zh) * | 2020-04-01 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、系统、电子设备及存储介质 |
CN113448977A (zh) * | 2021-07-13 | 2021-09-28 | 中国银行股份有限公司 | 基于数据库Binlog的分布式缓存更新方法及装置 |
WO2021208228A1 (zh) * | 2020-04-14 | 2021-10-21 | 苏宁易购集团股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
-
2022
- 2022-06-21 CN CN202210706139.2A patent/CN115080662A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140222872A1 (en) * | 2013-02-04 | 2014-08-07 | Bank Of America Corporation | Multi-row database updating for enterprise workflow application |
US20180225344A1 (en) * | 2015-10-15 | 2018-08-09 | Huawei Technologies Co., Ltd. | Database access control method and apparatus |
CN111061748A (zh) * | 2019-12-12 | 2020-04-24 | 吉林亿联银行股份有限公司 | 一种热点账户的记账方法及装置 |
CN113297263A (zh) * | 2020-04-01 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、系统、电子设备及存储介质 |
WO2021208228A1 (zh) * | 2020-04-14 | 2021-10-21 | 苏宁易购集团股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN113448977A (zh) * | 2021-07-13 | 2021-09-28 | 中国银行股份有限公司 | 基于数据库Binlog的分布式缓存更新方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804112B (zh) | 一种区块链落账处理方法及系统 | |
CN100375038C (zh) | 重定序两阶段提交中的资源的最后代理优化方法和系统 | |
US7461065B2 (en) | Method and system for utilizing shared numeric locks | |
US20100169289A1 (en) | Two Phase Commit With Grid Elements | |
CN104598459A (zh) | 数据库处理、数据访问方法及系统 | |
US10761948B1 (en) | Method, apparatus, and electronic device for restoring state data of blockchain | |
TWI730690B (zh) | 在區塊鏈中同時執行交易的方法和裝置及電腦可讀儲存媒體與計算設備 | |
CN110941502A (zh) | 消息处理方法、装置、存储介质及设备 | |
CN110389989B (zh) | 一种数据处理方法、装置及设备 | |
US20190311054A1 (en) | High throughput order fullfillment database system | |
CN112597153A (zh) | 一种基于区块链的数据存储方法、装置及存储介质 | |
CN111506580A (zh) | 一种基于中心化块链式账本的交易存储方法 | |
CN112181723A (zh) | 一种金融灾备方法、装置、存储介质及电子设备 | |
TWI712879B (zh) | 容災資料處理方法、裝置、設備及系統 | |
CN113312259B (zh) | 一种接口测试方法及装置 | |
US11650922B2 (en) | Cache coherency engine | |
CN111309746A (zh) | 异步并行数据同步方法及装置 | |
CN115080662A (zh) | 数据库切换方法和装置 | |
Pankowski | Consistency and availability of Data in replicated NoSQL databases | |
CN115757397A (zh) | 数据库表的数据重整方法和装置、介质和计算机设备 | |
CN113391933A (zh) | 一种处理资金的方法 | |
US11797919B2 (en) | Document-based distributed inventory system with rebalancing | |
CN111913973A (zh) | 一种数据同步方法、装置及存储介质 | |
CN105574020B (zh) | 一种数据库操作方法和装置 | |
US8706619B1 (en) | Employing spillover tables for data updates |
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 |