CN109271277A - 数据库宕机后的访问方法、装置和系统 - Google Patents

数据库宕机后的访问方法、装置和系统 Download PDF

Info

Publication number
CN109271277A
CN109271277A CN201710581818.0A CN201710581818A CN109271277A CN 109271277 A CN109271277 A CN 109271277A CN 201710581818 A CN201710581818 A CN 201710581818A CN 109271277 A CN109271277 A CN 109271277A
Authority
CN
China
Prior art keywords
storage unit
database systems
read operation
operation request
database
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.)
Granted
Application number
CN201710581818.0A
Other languages
English (en)
Other versions
CN109271277B (zh
Inventor
窦贤明
张广舟
周正中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710581818.0A priority Critical patent/CN109271277B/zh
Publication of CN109271277A publication Critical patent/CN109271277A/zh
Application granted granted Critical
Publication of CN109271277B publication Critical patent/CN109271277B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种数据库宕机后的访问方法和数据库访问装置,该方法包括:获取用户在数据库系统的恢复过程中的读操作请求;确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;如果该至少一个存储单元不包括该数据库系统中的未固化存储单元,执行该读操作请求并返回执行结果。

Description

数据库宕机后的访问方法、装置和系统
技术领域
本申请涉及数据库领域,尤其涉及一种数据库宕机后的访问方法、装置和系统。
背景技术
数据库为保证数据的可靠性和一致性,普遍会采用先写数据操作日志、后写数据的方式。数据操作日志是顺序写入,会优先比数据落盘。因此,当数据库意外宕机时,数据库的数据即使不一致,可以通过对某特定时间点之后的日志进行重做,达到对数据进行恢复的目的。
从上面的解释中可以发现一个问题,其恢复期间实例是不可用的,当需要恢复的数据较多时,恢复时间可能很长,导致对应用产生较大影响。而其影响的不过是整个数据库系统中的一部分数据,即需要恢复的这部分数据,全部包含在日志中。
如何在保证数据可靠性和一致性的前提下,提高数据库宕机后的访问效率,是本申请所要解决的技术问题。
发明内容
本申请实施例提出了数据库宕机后的访问方法,能够提高数据库宕机后的恢复过程中的访问效率。
第一方面,提出了一种数据库宕机后的访问方法,包括:
获取用户在数据库系统的恢复过程中的读操作请求;
确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
如果该至少一个存储单元不包括该数据库系统中的未固化存储单元,执行该读操作请求并返回执行结果。
第二方面,提出了一种数据库宕机后的访问装置,包括:
获取单元,获取用户在数据库系统的恢复过程中的读操作请求;
确定单元,确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
执行单元,如果该至少一个存储单元不包括该数据库系统中的未固化存储单元,执行该读操作请求并返回执行结果。
第三方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
获取用户在数据库系统的恢复过程中的读操作请求;
确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
如果该至少一个存储单元不包括该数据库系统中的未固化存储单元,执行该读操作请求并返回执行结果。
第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取用户在数据库系统的恢复过程中的读操作请求;
确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
如果该至少一个存储单元不包括该数据库系统中的未固化存储单元,执行该读操作请求并返回执行结果。
第五方面,提出了一种数据库宕机后的访问方法,包括:
获取用户在数据库系统的恢复过程中的读操作请求;
确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
如果该至少一个存储单元包括该数据库系统中的未固化存储单元,等待预定时间;
在该预定时间后返回结果。
第六方面,提出了一种数据库宕机后的访问装置,包括:
获取单元,获取用户在数据库系统的恢复过程中的读操作请求;
确定单元,确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
等待单元,如果该至少一个存储单元包括该数据库系统中的未固化存储单元,等待预定时间;
结果返回单元,在该预定时间后返回结果。
第七方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
获取用户在数据库系统的恢复过程中的读操作请求;
确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
如果该至少一个存储单元包括该数据库系统中的未固化存储单元,等待预定时间;
在该预定时间后返回结果。
第八方面,提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序当被包括多个应用程序的电子设备执行时,使得该电子设备执行以下操作:
获取用户在数据库系统的恢复过程中的读操作请求;
确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
如果该至少一个存储单元包括该数据库系统中的未固化存储单元,等待预定时间;
在该预定时间后返回结果。
本申请实施例的方案,能够实现以下至少一种有益效果:
通过根据用户在数据库系统恢复过程中的读操作请求,确定待访问数据的存储单元,并在待访问数据的存储单元不包括未固化存储单元时执行读操作请求并反馈执行结果,从而能够在保证数据库一致性的前提下,有效地在数据库系统恢复过程中执行访问操作,提高了数据库宕机后的恢复过程中的访问效率。
通过根据用户在数据库系统恢复过程中的读操作请求,确定待访问数据的存储单元,并在待访问数据的存储单元包括未固化存储单元时等待数据库系统恢复,并在该预定时间后返回结果,从而能够在保证数据库一致性的前提下,有效地在数据库系统恢复过程中执行访问操作,提高了数据库宕机后的恢复过程中的访问效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术数据库系统宕机的一种时序流程图。
图2是现有技术数据库系统宕机后恢复过程的另一种时序流程图。
图3是本申请的一个实施例数据库系统宕机后恢复过程中的访问方法流程图。
图4是本申请的一个实施例数据库系统宕机后恢复过程中进行访问的时序流程图。
图5是本申请的另一个实施例数据库系统宕机后恢复过程中的具体访问流程图。
图6是本申请的另一个实施例数据库系统宕机后恢复过程中的具体访问流程图。
图7是本申请的一个实施例电子设备的结构示意图。
图8是本申请的一个实施例的数据库访问装置的结构示意图。
图9是本申请的另一个实施例数据库系统宕机后恢复过程中的访问方法流程图。
图10是本申请的另一个实施例电子设备的结构示意图。
图11是本申请的另一个实施例的数据库访问装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了方便理解本申请实施例,首先在此介绍本申请实施例描述中会引入的几个要素。
ACID:数据库事务正确执行的四个基本要素,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库,必需要具有这四种特性,否则在事务过程(Transaction processing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。
原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态。
一致性:一个事务可以封装状态改变。事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少。也就是说:如果事务是并发多个,系统也必须如同串行事务一样操作。事务一致性的主要特征是保护性和不变性(Preserving an Invariant)。以转账案例为例,假设有五个账户,每个账户余额是100元,那么五个账户总额是500元,如果在这个5个账户之间同时发生多个转账,无论并发多少个,比如在A与B账户之间转账5元,在C与D账户之间转账10元,在B与E之间转账15元,五个账户总额也应该还是500元,这就是保护性和不变性。
隔离性:在隔离状态执行事务,使得各个事务好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。为了防止事务操作间的混淆,必须串行化或序列化请求,使得在同一时间仅有一个请求用于同一数据。
持久性:在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
在数据库运行过程中,会不断进行检查点,即将数据固化到磁盘中。在固化完成后的数据是ACID的,尚未固化的数据页,则属于脏页。当数据库宕机后,需要恢复的就是这部分已经在内存中修改、写入了日志但未写入磁盘的数据脏页。数据库为保证数据的可靠性和一致性,普遍会采用先写数据操作日志、后写数据的方式。数据操作日志是顺序写入,会优先比数据落盘。因此,当数据库意外宕机时,数据库的数据即使不一致,可以通过对某特定时间点之后的日志进行重做,达到对数据进行恢复的目的。
日志序号(Log Sequence Number,LSN),标识特定日志文件记录在日志文件中的位置,常用于维护数据库一致性和完整性。LSN还对于分区数据库环境中的落实和回滚操作、崩溃和前滚恢复以及数据库操作同步起非常重要的作用。日志文件中LSN的增长率与数据库活动直接相关联。也就是说,随着事务发生并且条目被写入日志文件,LSN会不断增大。数据库中的活动越多,LSN增长得越快。
图1是现有技术数据库系统宕机的一种时序流程图。在图1中,事务trx1的数据修改写入缓存,并通过WAL写入日志数据,并在提交事务后写入磁盘。在提交过程中,日志按照提交的时间顺序写入到缓存中;后台数据写入模块则将不定时地将缓存中的事务日志写入磁盘,按照顺序落盘到数据库系统的永久性存储器中,每次写入永久性存储器将产生一个检查点(Checkpoint),用于记录落盘到永久性存储器的日志位置。在本申请实施例中,假设数据库宕机发生在数据写入磁盘的过程中。
图2是现有技术数据库系统宕机后恢复过程的一种时序流程图。图2所示的时序流程图是图1所示的应用场景下在现有技术的恢复过程的时序流程图。在图2所示的时序流程图中,数据恢复过程要通过WAL写入的方式从日志数据中将未写入磁盘的日志数据写入到数据缓存中,完成缓存更新;并将未写入磁盘的日志数据写到磁盘,从而完成整个恢复过程。为保证数据一致性,在现有技术的场景中,整个数据库的恢复过程是不可读的。由于事务的日志很多,数据恢复阶段可能需要持续较长的时间,这段时间的数据操作请求将被拒绝,从而大大影响了数据库系统的执行效率。
当然,应理解,Shadow Paging类型的数据库的恢复过程也有类似的问题。
为此,本申请实施例提出了一种技术方案,能够在保证数据库一致性的前提下,提高数据库系统在恢复期间的执行效率。
图3是本申请的一个实施例数据库系统宕机后恢复过程中的访问方法流程图。图3的方法由数据库访问装置执行。在具体的应用中,该数据库访问装置可以是数据库系统中的数据访问模块,或者是只能在数据库系统的恢复过程中使用的模块,本申请实施例对此不作限制。图3的方法可包括:
S302,获取用户在数据库系统的恢复过程中的读操作请求。
S304,确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息。
应理解,本申请实施例中,存储单元是指用于记录数据操作日志的存储单元;该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元,是指用于存储该读操作请求所涉及的数据对应的数据操作日志的存储单元。当存储单元中的日志记录冲刷到数据库系统的永久存储器,即将该存储单元的数据固化到数据库系统的永久存储器后,该存储单元称为固化存储单元;反之,当该存储单元的数据未固化到数据库系统的永久存储器,则称该存储单元为未固化存储单元。
S306,如果该至少一个存储单元不包括该数据库系统中的未固化存储单元,执行该读操作请求并返回执行结果。
应理解,如果用户的读操作请求不涉及未固化存储单元中的数据,将不会影响数据库系统的一致性,可执行该读操作请求。
应理解,本申请实施例的方法,可用于WAL类型的数据库,也可用于Shadow Paging类型的数据库,本申请实施例在此不做限制。
本申请实施例中,通过根据用户在数据库系统恢复过程中的读操作请求,确定待访问数据的存储单元,并在待访问数据的存储单元不包括未固化存储单元时执行读操作请求并反馈执行结果,从而能够在保证数据库一致性的前提下,有效地在数据库系统恢复过程中执行访问操作,提高了数据库宕机后的恢复过程中的访问效率。
可选地,作为一个实施例,在步骤S304之后,步骤S306之前,该方法还包括:根据该至少一个存储单元中各存储单元的标识,和该数据库系统中最后一个已固化存储单元的标识,确定该至少一个存储单元是否包括该数据库系统中的未固化存储单元。
本申请实施例中,通过比较读操作请求所涉及数据对应的数据操作日志所属的存储单元及该数据库系统中最后一个已固化存储单元的标识,可确定读操作请求所涉及数据对应的数据操作日志所属的存储单元是否包括未固化存储单元。
进一步地,在本实施例的一种实现方式中,根据该至少一个存储单元中各存储单元的标识,和该数据库系统中最后一个已固化存储单元的标识,确定该至少一个存储单元是否包括该数据库系统中的未固化存储单元包括:如果该至少一个存储单元的第一存储单元的标识大于该最后一个已固化存储单元的标识,则确定该至少一个存储单元包括该数据库系统中的未固化存储单元,其中,该数据库系统中存储单元的标识排序与固化顺序相同。
或者,进一步地,在本实施例的另一种实现方式中,根据该至少一个存储单元中各存储单元的标识,和该数据库系统中最后一个已固化存储单元的标识,确定该至少一个存储单元是否包括该数据库系统中的未固化存储单元包括:如果该至少一个存储单元任意一个存储单元的标识都小于或等于该最后一个已固化存储单元的标识,则确定该至少一个存储单元不包括该数据库系统中的未固化存储单元,其中,该数据库系统中存储单元的标识排序与固化顺序相同。
具体的,在本申请实施例中,该存储单元为数据块,该存储单元的标识为该数据块的日志序列号(Log sequence number,LSN)。数据库系统可通过比较数据块的LSN,保证数据库一致性。
可选地,作为一个实施例,该方法还可包括:如果该至少一个存储单元包括该数据库系统中的未固化存储单元,等待预定时间;如果该预定时间内该数据库系统恢复完毕,则执行该读操作请求并返回执行结果。
本申请实施例中,当读操作请求所涉及数据对应的数据操作日志所属的存储单元包括未固化存储单元时,通过等待预定时间,并在预定时间内数据库系统恢复完毕时执行读操作请求,从而能够提高数据库系统的访问效率。
可选地,作为一个实施例,该方法还包括:如果该至少一个存储单元包括该数据库系统中的未固化存储单元,返回执行失败的结果。
本申请实施例中,当读操作请求所涉及数据对应的数据操作日志所属的存储单元包括未固化存储单元时,返回执行失败的结果,从而能够保证数据库系统的一致性。
进一步地,在本实施例中,如果该至少一个存储单元包括该数据库系统中的未固化存储单元,返回执行失败的结果,具体可实现为:如果该至少一个存储单元包括该数据库系统中的未固化存储单元,等待预定时间;如果等待该预定时间后该数据库系统尚未恢复完毕,返回执行失败的结果。
下面,将结合具体的实施例,对本申请实施例的方法作进一步的描述。
应理解,在数据库运行过程中,会不断将数据固化到永久性存储器如磁盘等,同时生成检查点(Checkpoint)。在固化完成后的数据是ACID的,那么尚未进行这个步骤的数据页,则属于脏页。当数据库宕机后,需要恢复的就是这部分已经在内存中修改、写入了日志但未写入磁盘的数据脏页。
图4是本申请的一个实施例数据库系统宕机后恢复过程中进行访问的时序流程图。
在图4所示的时序流程图中,后台用户请处理模块(Request Backend)可在恢复模块(Recovery)启动恢复过程后,响应用户请求。
具体地,后台用户请处理模块首先可检查是否启动恢复过程,并判断是否恢复过程已经检查日志的页面数据,或主动检查日志的页面数据。恢复进程(Recovery)进行检查并完成日志检查后,即可得到最后一个固化的存储单元的标识信息。
然后,后台用户请处理模块可根据用户请求,确定请求所关联的数据对应的日志数据是否包含日志数据脏页。日志数据脏页,是指已写入到日志数据,但未固化到磁盘的日志数据页面。
如果请求所关联的数据对应的日志数据包含日志数据脏页,则返回错误信息;
如果请求所关联的数据对应的日志数据不包含日志数据脏页,则返回执行结果。
图5是本申请的一个实施例数据库系统宕机后恢复过程中的具体访问流程图。结合图4,对图5的方法进行描述。图5的方法包括:
501,接收读操作请求。
如图4所示,当数据库系统进入恢复过程,完成日志检查后,即可接收并响应来自用户的读操作请求。用户的读操作请求,可包括数据查询语言(Data Query Language,DQL)。
DQL的语句可包括动词SELECT,用于选择表中的行。DQL也称为数据检索语言。
假设数据库系统在2016年5月1日11点5分发生宕机并进行恢复,并假设用户准备查询数据表products中写入日期writedate为2016年5月1日,写入时间writetime在10点至11点的数据,则用户的读操作请求可表示为“Select*from products where writedate=”20160501”and(writetime>=”10:00”and writetime≤”11:00”)”。当然,应理解,在具体的应用中,其具体的语法可能不一样。
502,确定请求所涉及的数据对应的日志数据所属的数据块标识。
结合图4,当数据库系统的后台用户请处理模块(Request Backend)接收到读操作请求后,可确定该读操作请求所涉及的数据对应的日志数据所属的数据块的标识。
不妨假设用户请求的数据存储在数据块block1、block2和block3中,其中block1、block2和block3为数据块标识。
503,判断是否包含未固化数据块。
应理解,在数据库系统进入恢复过程后,可通过检查数据得到最后一个固化的检查点的位置。不妨假设最后一个固化的数据块的标识为block0。
应理解,数据库系统在将事务日志数据固化到永久性存储器时,是按照时间顺序进行固化的。
显然,如果最后一个固化的数据块中数据的写入时间在2016年5月1日11点11:00之后,则用户的读操作请求不会涉及未固化数据块;反之,用户的读操作请求会涉及未固化数据块。
当然,在实际的应用中,数据库系统不可能根据用户的读操作请求中的检索条件去判断最后一个固化的数据块中的日志数据与该检索条件的关系,而是判断在该检索条件所涉及的数据对应的日志数据所存储的数据块与最后一个固化的数据块之间的关系。
此时,数据库系统的Backend模块可比较block0与block1、block2和block3的大小关系。
如果block1、block2和block3都小于或等于block0,则表示数据块block1、block2和block3都为已固化的数据块,用户的读操作请求所涉及的数据对应的日志数据所存储的数据块中不包括未固化数据块,此时,执行用户的读操作请求不会影响到数据库系统的一致性,数据库系统的Backend模块可执行步骤505;
如果block1、block2和block3中至少有一个大于block0,则表示block1、block2和block3中存在未固化数据块。例如,假设block1>block0,则表示block1为未固化数据块,即用户的读操作请求所涉及的数据对应的日志数据所存储的数据块中包括未固化数据块;此时,执行用户的读操作请求将会影响到数据库系统的一致性,数据库系统的Backend模块可执行步骤504。
504,返回执行失败的结果。
当数据库系统的Backend模块确定用户的读操作请求所涉及的数据对应的日志数据所存储的数据块中包括未固化数据块时,可返回执行失败的结果,并结束此次操作。
505,执行并返回执行结果。
当数据库系统的Backend模块确定用户的读操作请求所涉及的数据对应的日志数据所存储的数据块中不包括未固化数据块时,可执行用户的读操作请求,返回执行结果,并结束此次操作。
图6是本申请的另一个实施例数据库系统宕机后恢复过程中的具体访问流程图。
601,接收读操作请求。
步骤601的具体实现可参考图5的步骤501。
602,确定请求所涉及的数据对应的日志数据所存储的数据块标识。
步骤602的具体实现可参考图5的步骤502。
603,判断是否包含未固化数据块。
步骤603的具体实现可参考图5的步骤503。
此外,当数据库系统的Backend模块确定用户的读操作请求所涉及的数据对应的日志数据所存储的数据块中包括未固化数据块时,可执行步骤604;
当数据库系统的Backend模块确定用户的读操作请求所涉及的数据对应的日志数据所存储的数据块中不包括未固化数据块时,可执行步骤607。
604,等待第一预定时间。
当数据库系统的Backend模块确定用户的读操作请求所涉及的数据对应的日志数据所存储的数据块中包括未固化数据块时,数据库系统的Backend模块可等待第一预定时间,以等待恢复过程完成。
605,判断恢复过程是否完成。
数据库系统的Backend模块判断恢复过程是否完成,如果完成,则执行步骤607;如果没有完成,则执行步骤606。
应理解,如果数据库系统的恢复过程已经完成,则此时可按照正常的读操作请求的进行。
606,判断等待是否超出第二预定时间。
当数据库系统的Backend模块判断恢复过程未完成时,可进一步判断等待的总时间是否超出第二预定时间。如果超出第二预定时间,则执行步骤608;如果未超出第二等待时间,可执行步骤604,继续等待恢复过程完成。
607,执行并返回执行结果。
当数据库系统的Backend模块确定用户的读操作请求所涉及的数据对应的日志数据所存储的数据块中不包括未固化数据块时,或者在等待第二预定时间内数据库系统的恢复过程已经完成时,可执行用户的读操作请求,返回执行结果,并结束此次操作。
608,返回执行失败的结果。
当数据库系统的Backend模块确定用户的读操作请求所涉及的数据对应的日志数据所存储的数据块中包括未固化数据块,且等待的时间大于第二预定时间后数据库系统的恢复过程仍然未完成时,可返回执行失败的结果,并结束此次操作。
当然,应理解,在本实施例中,判断恢复过程是否完成的步骤605可以在步骤604之后,也可以在步骤604之前。具体地,例如,当数据库系统的Backend模块确定用户的读操作请求所涉及的数据对应的日志数据所存储的数据块中包括未固化数据块后,可先执行步骤605判断恢复过程是否完成,并在恢复过程未完成时执行步骤604和步骤606;当步骤606中判断等待未超出第二等待时间,可执行步骤605。
本实施例中,通过在用户的读操作请求涉及的数据所存储的数据块包括未固化数据块时,通过等待预设时间以等待恢复过程结束后执行读操作请求,可进一步提高数据库系统在恢复过程中的访问效率。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图7是本申请的一个实施例电子设备的结构示意图。请参考图7,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据库访问装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取用户在数据库系统的恢复过程中的读操作请求;
确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
如果该至少一个存储单元不包括该数据库系统中的未固化存储单元,执行该读操作请求并返回执行结果。
上述如本申请图3所示实施例揭示的数据库系统执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请实施例中,通过根据用户在数据库系统恢复过程中的读操作请求,确定待访问数据的存储单元,并在待访问数据的存储单元不包括未固化存储单元时执行读操作请求并反馈执行结果,从而能够在保证数据库一致性的前提下,有效地在数据库系统恢复过程中执行访问操作,提高了数据库宕机后的恢复过程中的访问效率。
该电子设备还可执行图3的方法,并实现数据库系统或数据库系统的Backend模块在图4、图5、图6所示实施例的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图3所示实施例的方法,并具体用于执行以下操作:
获取用户在数据库系统的恢复过程中的读操作请求;
确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
如果该至少一个存储单元不包括该数据库系统中的未固化存储单元,执行该读操作请求并返回执行结果。
图8是本申请的一个实施例的数据库访问装置800的结构示意图。请参考图8,在一种软件实施方式中,数据库访问装置800可包括获取单元810、确定单元820和执行单元830,其中,
获取单元810,获取用户在数据库系统的恢复过程中的读操作请求;
确定单元820,确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
执行单元830,如果该至少一个存储单元不包括该数据库系统中的未固化存储单元,执行该读操作请求并返回执行结果。
本申请实施例中,通过根据用户在数据库系统恢复过程中的读操作请求,确定待访问数据的存储单元,并在待访问数据的存储单元不包括未固化存储单元时执行读操作请求并反馈执行结果,从而能够在保证数据库一致性的前提下,有效地在数据库系统恢复过程中执行访问操作,提高了数据库宕机后的恢复过程中的访问效率。
可选地,该确定单元820具体用于:
根据该至少一个存储单元中各存储单元的标识,和该数据库系统中最后一个已固化存储单元的标识,确定该至少一个存储单元是否包括该数据库系统中的未固化存储单元。
本申请实施例中,通过比较读操作请求所涉及数据对应的数据操作日志所属的存储单元及该数据库系统中最后一个已固化存储单元的标识,可确定读操作请求所涉及数据对应的数据操作日志所属的存储单元是否包括未固化存储单元。
进一步地,在本实施例的一种实现方式中,确定单元820具体用于:如果该至少一个存储单元的第一存储单元的标识大于该最后一个已固化存储单元的标识,则确定该至少一个存储单元包括该数据库系统中的未固化存储单元,其中,该数据库系统中存储单元的标识排序与固化顺序相同。
或者,进一步地,在本实施例的另一种实现方式中,确定单元820具体用于:
如果该至少一个存储单元任意一个存储单元的标识都小于或等于该最后一个已固化存储单元的标识,则确定该至少一个存储单元不包括该数据库系统中的未固化存储单元,其中,该数据库系统中存储单元的标识排序与固化顺序相同。
更进一步地,该存储单元可以为数据块,该存储单元的标识为该数据块的日志序列号LSN。数据库系统可通过比较数据块的LSN,保证数据库一致性。
可选地,作为一个实施例,执行单元830还用于:如果该至少一个存储单元包括该数据库系统中的未固化存储单元,等待预定时间;如果该预定时间内该数据库系统恢复完毕,则执行该读操作请求并返回执行结果。
可选地,作为另一个实施例,执行单元830还用于:如果该至少一个存储单元包括该数据库系统中的未固化存储单元,返回执行失败的结果。
进一步地,执行单元830具体用于:如果该至少一个存储单元包括该数据库系统中的未固化存储单元,等待预定时间;如果等待该预定时间后该数据库系统尚未恢复完毕,返回执行失败的结果。
数据库访问装置800还可执行图3的方法,并实现数据库系统或数据库系统的Backend模块在图4、图5、图6所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种数据库系统,包括图8所示实施例的数据库访问装置800,或图7所示实施例的电子设备中的数据库访问装置。
图9是本申请的一个实施例数据库系统宕机后恢复过程中的访问方法流程图。图9的方法由数据库访问装置执行。在具体的应用中,该数据库访问装置可以是数据库系统中的数据访问模块,或者是只能在数据库系统的恢复过程中使用的模块,本申请实施例对此不作限制。图9的方法可包括:
S902,获取用户在数据库系统的恢复过程中的读操作请求。
S904,确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息。
步骤S902和步骤S904的具体实现可参考图3的步骤S302和S304,以及步骤S302和S304的具体实现方式,本申请实施例在此不再赘述。
S906,如果该至少一个存储单元包括该数据库系统中的未固化存储单元,等待预定时间。
S908,在该预定时间后返回结果。
本申请实施例中,通过根据用户在数据库系统恢复过程中的读操作请求,确定待访问数据的存储单元,并在待访问数据的存储单元包括未固化存储单元时等待数据库系统恢复,并在等待预定时间后反馈结果,从而能够在保证数据库一致性的前提下,有效地在数据库系统恢复过程中执行访问操作,提高了数据库宕机后的恢复过程中的访问效率。
可选地,作为一个实施例,步骤S908具体可实现为:
如果该预定时间内该数据库系统恢复完毕,则在等待该预定时间后执行该读操作请求并返回执行结果。
可选地,作为另一个实施例,步骤S908具体可实现为:
如果所述预定时间内所述数据库系统未恢复完毕,则返回执行失败的结果。
图9所示实施例的具体实现,还可参考图6所示实施例,不再赘述。
图10是本申请的一个实施例电子设备的结构示意图。请参考图10,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据库访问装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取用户在数据库系统的恢复过程中的读操作请求;
确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
如果该至少一个存储单元包括该数据库系统中的未固化存储单元,等待预定时间;
在该预定时间后返回结果。
上述如本申请图9所示实施例揭示的数据库系统执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图9所示实施例的方法,并实现数据库系统或数据库系统的Backend模块在图6所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图9所示实施例的方法,并具体用于执行以下操作:
获取用户在数据库系统的恢复过程中的读操作请求;
确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
如果该至少一个存储单元包括该数据库系统中的未固化存储单元,等待预定时间;
在该预定时间后返回结果。
图11是本申请的一个实施例的数据库访问装置1100的结构示意图。请参考图11,在一种软件实施方式中,数据库访问装置1100可包括获取单元1110、确定单元1120和执行单元1130,其中,
获取单元1110,获取用户在数据库系统的恢复过程中的读操作请求;
确定单元1120,确定该读操作请求所涉及的数据对应的日志数据在该数据库系统中对应的至少一个存储单元的信息;
等待单元1130,如果该至少一个存储单元包括该数据库系统中的未固化存储单元,等待预定时间;
结果返回单元1140,在该预定时间后返回结果。
应理解,在本申请实施例中,获取单元1110和确定单元1120执行的方法可参考图8所示实施例的获取单元810和确定单元820执行的方法,不再赘述。
数据库访问装置1100还可执行图9所示实施例的方法,并实现数据库系统或数据库系统的Backend模块在图6所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种数据库系统,包括图11所示实施例的数据库访问装置1100,或图10所示实施例的电子设备中的数据库访问装置。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

Claims (17)

1.一种数据库宕机后的访问方法,其特征在于,包括:
获取用户在数据库系统的恢复过程中的读操作请求;
确定所述读操作请求所涉及的数据对应的日志数据在所述数据库系统中对应的至少一个存储单元的信息;
如果所述至少一个存储单元不包括所述数据库系统中的未固化存储单元,执行所述读操作请求并返回执行结果。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述至少一个存储单元中各存储单元的标识,和所述数据库系统中最后一个已固化存储单元的标识,确定所述至少一个存储单元是否包括所述数据库系统中的未固化存储单元。
3.如权利要求2所述的方法,其特征在于,
根据所述至少一个存储单元中各存储单元的标识,和所述数据库系统中最后一个已固化存储单元的标识,确定所述至少一个存储单元是否包括所述数据库系统中的未固化存储单元包括:
如果所述至少一个存储单元的第一存储单元的标识大于所述最后一个已固化存储单元的标识,则确定所述至少一个存储单元包括所述数据库系统中的未固化存储单元,其中,所述数据库系统中存储单元的标识排序与固化顺序相同。
4.如权利要求2所述的方法,其特征在于,
根据所述至少一个存储单元中各存储单元的标识,和所述数据库系统中最后一个已固化存储单元的标识,确定所述至少一个存储单元是否包括所述数据库系统中的未固化存储单元包括:
如果所述至少一个存储单元任意一个存储单元的标识都小于或等于所述最后一个已固化存储单元的标识,则确定所述至少一个存储单元不包括所述数据库系统中的未固化存储单元,其中,所述数据库系统中存储单元的标识排序与固化顺序相同。
5.如权利要求3或4所述的方法,其特征在于,
所述存储单元为数据块,所述存储单元的标识为所述数据块的日志序列号LSN。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述至少一个存储单元包括所述数据库系统中的未固化存储单元,返回执行失败的结果。
7.如权利要求6所述的方法,其特征在于,如果所述至少一个存储单元包括所述数据库系统中的未固化存储单元,返回执行失败的结果包括:
如果所述至少一个存储单元包括所述数据库系统中的未固化存储单元,等待预定时间,如果等待所述预定时间后所述数据库系统尚未恢复完毕,返回执行失败的结果;或者
如果所述至少一个存储单元包括所述数据库系统中的未固化存储单元,直接返回执行失败的结果。
8.一种数据库宕机后的访问方法,其特征在于,包括:
获取用户在数据库系统的恢复过程中的读操作请求;
确定所述读操作请求所涉及的数据对应的日志数据在所述数据库系统中对应的至少一个存储单元的信息;
如果所述至少一个存储单元包括所述数据库系统中的未固化存储单元,等待预定时间;
如果所述预定时间内所述数据库系统恢复完毕,则执行所述读操作请求并返回执行结果。
9.一种数据库宕机后的访问方法,其特征在于,包括:
获取用户在数据库系统的恢复过程中的读操作请求;
确定所述读操作请求所涉及的数据对应的日志数据在所述数据库系统中对应的至少一个存储单元的信息;
如果所述至少一个存储单元包括所述数据库系统中的未固化存储单元,等待预定时间;
在所述预定时间后返回结果。
10.如权利要求9所述的方法,其特征在于,
在所述预定时间后返回结果,包括:
如果所述预定时间内所述数据库系统恢复完毕,则在所述预定时间后,执行所述读操作请求并返回执行结果。
11.如权利要求9所述的方法,其特征在于,
在所述预定时间后返回结果,包括:
如果所述预定时间内所述数据库系统未恢复完毕,则返回执行失败的结果。
12.一种数据库访问装置,其特征在于,包括:
获取单元,获取用户在数据库系统的恢复过程中的读操作请求;
确定单元,确定所述读操作请求所涉及的数据对应的日志数据在所述数据库系统中对应的至少一个存储单元的信息;
执行单元,如果所述至少一个存储单元不包括所述数据库系统中的未固化存储单元,执行所述读操作请求并返回执行结果。
13.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
获取用户在数据库系统的恢复过程中的读操作请求;
确定所述读操作请求所涉及的数据对应的日志数据在所述数据库系统中对应的至少一个存储单元的信息;
如果所述至少一个存储单元不包括所述数据库系统中的未固化存储单元,执行所述读操作请求并返回执行结果。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取用户在数据库系统的恢复过程中的读操作请求;
确定所述读操作请求所涉及的数据对应的日志数据在所述数据库系统中对应的至少一个存储单元的信息;
如果所述至少一个存储单元不包括所述数据库系统中的未固化存储单元,执行所述读操作请求并返回执行结果。
15.一种数据库访问装置,其特征在于,包括:
获取单元,获取用户在数据库系统的恢复过程中的读操作请求;
确定单元,确定所述读操作请求所涉及的数据对应的日志数据在所述数据库系统中对应的至少一个存储单元的信息;
等待单元,如果所述至少一个存储单元包括所述数据库系统中的未固化存储单元,等待预定时间;
结果返回单元,在所述预定时间后返回结果。
16.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
获取用户在数据库系统的恢复过程中的读操作请求;
确定所述读操作请求所涉及的数据对应的日志数据在所述数据库系统中对应的至少一个存储单元的信息;
如果所述至少一个存储单元包括所述数据库系统中的未固化存储单元,等待预定时间;
在所述预定时间后返回结果。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取用户在数据库系统的恢复过程中的读操作请求;
确定所述读操作请求所涉及的数据对应的日志数据在所述数据库系统中对应的至少一个存储单元的信息;
如果所述至少一个存储单元包括所述数据库系统中的未固化存储单元,等待预定时间;
在所述预定时间后返回结果。
CN201710581818.0A 2017-07-17 2017-07-17 数据库宕机后的访问方法、装置和系统 Active CN109271277B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710581818.0A CN109271277B (zh) 2017-07-17 2017-07-17 数据库宕机后的访问方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710581818.0A CN109271277B (zh) 2017-07-17 2017-07-17 数据库宕机后的访问方法、装置和系统

Publications (2)

Publication Number Publication Date
CN109271277A true CN109271277A (zh) 2019-01-25
CN109271277B CN109271277B (zh) 2022-03-08

Family

ID=65147737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710581818.0A Active CN109271277B (zh) 2017-07-17 2017-07-17 数据库宕机后的访问方法、装置和系统

Country Status (1)

Country Link
CN (1) CN109271277B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177143A (zh) * 2021-03-31 2021-07-27 东软集团股份有限公司 时序数据访问方法、装置、存储介质及电子设备

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101794247A (zh) * 2010-03-26 2010-08-04 天津理工大学 嵌套事务模型下实时数据库故障恢复方法
US20110131186A1 (en) * 2009-11-30 2011-06-02 Bmc Software, Inc. Extending a Database Recovery Point at a Disaster Recovery Site
CN102937957A (zh) * 2012-06-29 2013-02-20 华为技术有限公司 数据访问的处理方法和装置及服务器
CN103270499A (zh) * 2011-12-21 2013-08-28 华为技术有限公司 日志存储方法及系统
CN103412803A (zh) * 2013-08-15 2013-11-27 华为技术有限公司 数据恢复的方法及装置
CN103942252A (zh) * 2014-03-17 2014-07-23 华为技术有限公司 一种恢复数据的方法及系统
CN104537037A (zh) * 2014-12-23 2015-04-22 杭州华为数字技术有限公司 一种处理数据库日志的方法及装置
CN105069160A (zh) * 2015-08-26 2015-11-18 国家电网公司 一种基于自主可控数据库的高可用性方法及构架
CN105117308A (zh) * 2015-09-29 2015-12-02 联想(北京)有限公司 一种数据处理方法、装置和系统
CN105159818A (zh) * 2015-08-28 2015-12-16 东北大学 内存数据管理中日志恢复方法及其仿真系统
US20150378840A1 (en) * 2014-06-25 2015-12-31 Heping Shang Ensuring the same completion status for transactions after recovery in a synchronous replication environment
CN105446827A (zh) * 2014-08-08 2016-03-30 阿里巴巴集团控股有限公司 一种数据库故障时的数据存储方法和设备
CN106446300A (zh) * 2016-12-01 2017-02-22 郑州云海信息技术有限公司 一种基于共享存储池的事务处理方法及系统
CN106815251A (zh) * 2015-11-30 2017-06-09 成都华为技术有限公司 分布式数据库系统、数据库访问方法及装置

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110131186A1 (en) * 2009-11-30 2011-06-02 Bmc Software, Inc. Extending a Database Recovery Point at a Disaster Recovery Site
CN101794247A (zh) * 2010-03-26 2010-08-04 天津理工大学 嵌套事务模型下实时数据库故障恢复方法
CN103270499A (zh) * 2011-12-21 2013-08-28 华为技术有限公司 日志存储方法及系统
CN102937957A (zh) * 2012-06-29 2013-02-20 华为技术有限公司 数据访问的处理方法和装置及服务器
CN103412803A (zh) * 2013-08-15 2013-11-27 华为技术有限公司 数据恢复的方法及装置
CN103942252A (zh) * 2014-03-17 2014-07-23 华为技术有限公司 一种恢复数据的方法及系统
US20150378840A1 (en) * 2014-06-25 2015-12-31 Heping Shang Ensuring the same completion status for transactions after recovery in a synchronous replication environment
CN105446827A (zh) * 2014-08-08 2016-03-30 阿里巴巴集团控股有限公司 一种数据库故障时的数据存储方法和设备
CN104537037A (zh) * 2014-12-23 2015-04-22 杭州华为数字技术有限公司 一种处理数据库日志的方法及装置
CN105069160A (zh) * 2015-08-26 2015-11-18 国家电网公司 一种基于自主可控数据库的高可用性方法及构架
CN105159818A (zh) * 2015-08-28 2015-12-16 东北大学 内存数据管理中日志恢复方法及其仿真系统
CN105117308A (zh) * 2015-09-29 2015-12-02 联想(北京)有限公司 一种数据处理方法、装置和系统
CN106815251A (zh) * 2015-11-30 2017-06-09 成都华为技术有限公司 分布式数据库系统、数据库访问方法及装置
CN106446300A (zh) * 2016-12-01 2017-02-22 郑州云海信息技术有限公司 一种基于共享存储池的事务处理方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GFSUNNY: ""slave中继日志损坏处理办法"", 《HTTPS://BLOG.51CTO.COM/GFSUNNY/1554987》 *
HOWARD CHIVERS: ""Forensic data recovery from the Windows Search Database"", 《DIGITAL INVESTIGATION》 *
SHANKSGAO: ""Sql Sever Tempdb原理-日志机制解析实践"", 《HTTPS://WWW.CNBLOGS.COM/SHANKSGAO/P/3919820.HTML》 *
周晓云: ""并行内存数据库快速事务提交与高效恢复方法研究"", 《中国博士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113177143A (zh) * 2021-03-31 2021-07-27 东软集团股份有限公司 时序数据访问方法、装置、存储介质及电子设备
CN113177143B (zh) * 2021-03-31 2023-10-27 东软集团股份有限公司 时序数据访问方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN109271277B (zh) 2022-03-08

Similar Documents

Publication Publication Date Title
CN103729442B (zh) 记录事务日志的方法和数据库引擎
CN104541244B (zh) 用于进行重放执行的方法和设备
CN111611120B (zh) 一种片上多核处理器Cache一致性协议验证方法、系统及介质
US20180218023A1 (en) Database concurrency control through hash-bucket latching
US10970173B2 (en) Logging process in a data storage system
US20100169289A1 (en) Two Phase Commit With Grid Elements
TWI730690B (zh) 在區塊鏈中同時執行交易的方法和裝置及電腦可讀儲存媒體與計算設備
CN112181902B (zh) 数据库的存储方法、装置及电子设备
CN110597663A (zh) 一种事务处理方法及装置
CN103020003A (zh) 面向多核程序确定性重演的内存竞争记录装置及其控制方法
CN111506580A (zh) 一种基于中心化块链式账本的交易存储方法
CN111291022A (zh) 一种基于区块链的数据存储系统
CN108230130A (zh) 日切数据验证的方法、装置和电子设备
CN110019063A (zh) 计算节点数据容灾回放的方法、终端设备及存储介质
CN109271277A (zh) 数据库宕机后的访问方法、装置和系统
CN102567243B (zh) 存储设备的刷新处理方法和存储设备
CN115760405A (zh) 交易执行方法、装置、计算机设备及介质
CN108959403A (zh) 一种分布式事务处理方法及装置
CN110059115A (zh) 一种数据读取方法和装置
US11803317B2 (en) Interrupted replicated write recognition
CN108776670A (zh) 一种异地容灾方法、系统和电子设备
CN115269199A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN114328018A (zh) 快照的创建方法、计算设备及存储介质
CN109800212A (zh) 支持事务形式的中间件访问hdfs系统的方法及中间件
JPH06149485A (ja) データ完結性保証処理方法

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
GR01 Patent grant
GR01 Patent grant