CN102708143B - 在页级跟踪重做完成 - Google Patents

在页级跟踪重做完成 Download PDF

Info

Publication number
CN102708143B
CN102708143B CN201210071285.9A CN201210071285A CN102708143B CN 102708143 B CN102708143 B CN 102708143B CN 201210071285 A CN201210071285 A CN 201210071285A CN 102708143 B CN102708143 B CN 102708143B
Authority
CN
China
Prior art keywords
stage
page
database
dirty pages
containing dirty
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.)
Active
Application number
CN201210071285.9A
Other languages
English (en)
Other versions
CN102708143A (zh
Inventor
R·D·达曼卡
H·R·科达瓦拉
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102708143A publication Critical patent/CN102708143A/zh
Application granted granted Critical
Publication of CN102708143B publication Critical patent/CN102708143B/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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及在页级跟踪重做完成。各实施例涉及实现过渡重做阶段以允许先于重做阶段的数据访问,以及涉及确定要在过渡重做阶段期间处理哪些包括未经处理的事务的数据页。在一实施例中,计算机系统启动数据库恢复的分析阶段,该阶段扫描数据库事务日志并构建包括与未经处理的数据事务相对应的页的脏页表。计算机系统在最终重做阶段之前从该脏页表中确定要在过渡重做阶段期间处理哪些页。计算机系统在到达最终重做阶段之前在过渡重做阶段期间处理所确定的页,并在系统事务重做阶段完成后,使以下内容可用:在过渡重做阶段期间被处理的那些页以及未被调度为要在最终重做阶段期间进行处理的那些数据库页。

Description

在页级跟踪重做完成
技术领域
本发明涉及先于重做阶段的数据访问的技术。
背景技术
计算机已变得高度集成于工作、家庭、移动设备以及许多其他地方中。计算机可快速且有效地处理大量信息。被设计成在计算机系统上运行的软件应用允许用户执行包括商业应用、学校作业、娱乐等等在内的各种各样的功能。软件应用通常被设计成执行特定的任务,诸如用于草拟文档的文字处理器应用或者用于发送、接收和组织电子邮件的电子邮件程序。
在许多情况下,软件应用被设计为与其他软件应用或其他计算机系统交互。例如,因特网用户可经由web浏览器与web服务器进行交互。用户可请求诸如电子邮件的特定服务并接收与其相对应的数据。在一些情况下,web服务器可从数据库检索数据,以履行用户的请求。这些数据库可存储几百万用户的数据。因此,数据库被频繁地备份,以确保用户数据是安全的。然而,有时候,数据服务器可发生故障,并且这些故障可在客户机或服务器事务正在进行时发生。随后要执行多个步骤来使该数据库重新在线。在这些步骤正在被执行时,用户不能访问来自该数据库的数据。
发明内容
在此描述的各实施例涉及实现过渡重做阶段以允许先于重做阶段的数据访问,并涉及确定要在过渡重做阶段期间处理哪些包含未经处理事务的数据页。在一个实施例中,计算机系统启动数据库恢复的分析阶段,该阶段扫描数据库事务日志并构建包括与未经处理的数据事务相对应的页的脏页表。计算机系统在最终重做阶段之前从脏页表中确定要在过渡重做阶段期间处理哪些页。计算机系统在到达最终重做阶段之前在过渡重做阶段期间处理所确定的页,并在系统过渡重做阶段完成后,使以下内容可用:在过渡重做阶段期间被处理了的那些页以及未被调度为要在最终重做阶段期间进行处理的那些数据库页。
在另一个实施例中,计算机系统启动数据库恢复的分析阶段,该阶段扫描数据库事务日志并构建包括与未经处理的数据事务相对应的页的脏页表。计算机系统访问数据库事务日志以确定哪些优先数据页已在特定时间段内被访问了阈值次数。计算机系统还访问脏页表以确定要在过渡重做阶段期间处理哪些包括未经处理的事务的数据页。计算机系统然后在到达最终重做阶段之前在过渡重做阶段期间处理优先数据页和所确定的包括未经处理的事务的数据页两者。
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
另外的特征和优点将在以下的描述中阐述,并且部分可从该描述中显而易见,或者可以从此处的教示实践中习得。本发明的特征和优点可以通过在所附权利要求中特别指出的手段和组合来实现并获取。本发明的特征将从以下描述和所附权利要求书中变得完全显而易见,或者可通过如下所述对本发明的实践而获知。
附图说明
为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,附图中:
图1示出了在其中本发明的各实施例可用于包括实现过渡重做阶段以允许先于重做阶段的数据访问和确定要在过渡重做阶段期间处理哪些包括未经处理的事务的数据页的计算机体系结构。
图2示出了用于实现过渡重做阶段以允许先于重做阶段的数据访问的示例方法的流程图。
图3示出了用于确定要在过渡重做阶段期间处理哪些包括未经处理的事务的数据页的示例方法的流程图。
图4示出示例数据库恢复阶段排序的流程图。
具体实施方式
在此描述的各实施例涉及实现过渡重做阶段以允许先于重做阶段的数据访问,并涉及确定要在过渡重做阶段处理哪些包含未经处理的事务的数据页。在一个实施例中,计算机系统启动数据库恢复的分析阶段,该分析阶段扫描数据库事务日志并构建包括与未经处理的数据事务相对应的页的脏页表。计算机系统在最终重做阶段之前从脏页表中确定要在过渡重做阶段期间处理哪些页。计算机系统在到达最终重做阶段之前在过渡重做阶段期间处理所确定的页,并在系统过渡重做阶段完成后,使以下内容可用:在过渡重做阶段期间被处理了的那些页以及未被调度为要在最终重做阶段期间进行处理的那些数据库页。
在另一个实施例中,计算机系统启动数据库恢复的分析阶段,该分析阶段扫描数据库事务日志并构建包括与未经处理的数据事务相对应的页的脏页表。计算机系统访问数据库事务日志以确定哪些优先数据页已在特定时间段内被访问了阈值次数。可在运行时期间确定关于哪些页被频繁访问的信息,并将该信息记录在事务日志中。在崩溃以后,数据恢复过程可使用日志中的信息来确定哪些页被频繁地访问。计算机系统还访问脏页表以确定要在过渡重做阶段期间处理哪些包括未经处理的事务的数据页。计算机系统然后在到达最终重做阶段之前在过渡重做阶段期间处理优先数据页和所确定的包括未经处理的事务的数据页两者。由于各用户工作量可阻塞(block)在对这些页的重做之后才进行,因此包括优先(被频繁访问的)页可能是有好处的。
以下讨论现涉及可以执行的多种方法以及方法动作。应当注意,虽然这些方法动作可能是按一定次序讨论的,或者是在流程图中被描绘为是按照特定顺序进行的,然而并非必然需要特定的次序,除非特别声明,或者是在一个动作被执行之前因为该动作依赖于另一动作的完成而需要的情况。
本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。本发明范围内的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
“网络”被定义为允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的数据或所需程序代码装置且可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
计算机可执行指令包括,例如使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明还可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境(例如,云计算、云服务等)中实践。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
图1示出了可在其中采用本发明的原理的计算机体系结构100。计算机体系结构100包括数据库110。数据库110可以是任何类型的本地或分布式数据库,包括云数据库。数据库可以具有一个或多个数据存储145,该数据存储145可以位于本地计算机系统或者可以分布在多个计算机系统上。数据库可以被配置为接收来自各个计算机用户105的数据请求106。数据库处理该数据请求并用数据107来响应该用户。在一些情况下,数据库可需要从故障恢复。该故障可以是硬件相关的或者是软件相关的。为了确保向用户提供精确的、最新的数据,数据库启动恢复阶段以合适并完全地从该故障恢复。数据库的模块115可被配置为启动这个恢复阶段。该恢复可以是完全恢复或者可以是从故障转移或备份节点146的部分恢复。
恢复阶段可以包括和/或启动其他阶段。例如,如图4的数据库恢复阶段400所示,分析阶段410可作为恢复数据库时的初始步骤而被启动。在分析阶段期间,数据库的页处理确定模块120可被配置为查看脏页表140以确定哪些数据页141还没有被处理。然后,这些未经处理的页中的至少一些可被调度为要在恢复的过渡重做阶段415期间进行处理。页处理确定模块确定哪些未经处理的页最重要并将被首先处理。页处理模块可使用各种标准来确定哪些页最重要,如以下将更详细解释的。
过渡重做阶段处理模块125可随后处理在分析阶段410期间被确定为是最重要的那些页。过渡重做阶段被实现在最终重做阶段之前。数据恢复阶段随后包括系统事务重做阶段420,该系统事务重做阶段420完成过渡重做阶段中处理的事务。一旦系统事务重做阶段完成以后,就可向用户开放该数据库的大部分(阶段425、模块130)。一旦已向数据库用户开放了该数据库以后,仅仍处于脏页表内的那些页不可被访问。随后可处理未经处理的页,并启动最终重做阶段430,接着是用户事务重做435。在完成了430和435之后,所有数据页都可被数据库用户使用。下面,分别针对图2和图3的方法200和300,更详细地解释这些概念。
考虑到以上描述的系统和体系结构,参考图2和图3的流程图将更好地理解根据所公开的主题实现的方法。为了解释简明起见,这些方法被示出和描述为一系列框。然而,应该理解和了解,所要求保护的主题不受框的次序的限制,因为一些框可按不同的次序进行和/或与此处所描绘和描述的其他框同时进行。此外,并非全部所示的框都是实现下面所述的方法所必需的。
图2示出了用于实现过渡重做阶段以允许先于重做阶段的数据访问的方法200的流程图。方法200现在将频繁地参考环境100的组件和数据以及图4的元素来进行描述。
方法200包括启动数据库恢复的分析阶段的动作,其中该分析阶段扫描数据库事务日志并构建包括与未经处理的数据事务相对应的一个或多个页的脏页表(动作210)。例如,数据库恢复阶段启动模块115可启动分析阶段410。该分析阶段可扫描数据库事务日志135并构建脏页表140,该脏页表140包括与未经处理的数据事务相对应的各个页或条目141。这些页可包括在数据库崩溃时正被处理的页。随后将这些页考虑在脏页表中,并在其他恢复阶段过程中处理这些页。
方法200包括在最终重做阶段之前从脏页表中确定要在过渡重做阶段期间处理哪些页的动作(动作220)。例如,页处理确定模块120可从脏页表140中的条目确定要在过渡重做阶段415期间处理哪些页。过渡重做阶段可以是在传统的、最终重作阶段430之前发生的中间重做阶段。过渡重做阶段可以比最终重做阶段短,并且可以被想成是小重做阶段。可以将较短的过渡阶段与系统事务重做一起实现,以在整个最终重做阶段和用户事务重做完成之前向用户425开放数据库因此,可在最终重做阶段完成之前在数据库处接收并处理用户请求。
在一些情况下,可向表示未经处理的数据事务的页中的每一个添加标记。该标记可指示已标记页要在过渡重做阶段被处理。在一些实施例中,事件可被实例化以等待被标记为要在过渡重做阶段期间进行处理的已标记页。可创建包括要在过渡重做阶段期间处理的那些已标记页的页链表。
方法200包括在到达最终重做阶段之前在过渡重做阶段期间处理所确定的页的动作(动作230)。例如,过渡重做阶段处理模块125可在过渡重做阶段415期间处理所确定的(已标记的)页。因此,标记要在系统事务重做内处理的页及优先(被频繁访问的)页以供在过渡重作阶段期间进行处理。这些已标记页被处理以允许在系统事务重做完成后开放数据库的其余部分。
在一些情况下,被标记为要在过渡重做阶段期间进行处理的页包括在某一时间段内已被访问了阈值次数的优先数据页。在运行时期间可确定关于哪些页被频繁访问的信息,并将该信息记录在事务日志中。在崩溃以后,数据恢复过程可使用日志中的信息来确定哪些页被频繁地访问。因此,可将在给定时间段内被访问了多次的频繁使用页标记为要在过渡重做阶段期间进行处理。这些被频繁访问的页可包括系统事务页、脏页表中列出的页、事务日志、分配映射、较高级B树索引和工作量频繁访问的任何其他页。因此,用于标记页以供过渡阶段处理的标准可包括被频繁访问的页、系统事务重做所需的页以及过渡阶段处理可能需要的其他页。
方法200包括在系统事务重做阶段完成以后,使以下内容可用的动作:在过渡重做阶段期间被处理了的那些页以及未被调度为要在最终重做阶段期间进行处理的那些数据库页(动作240)。例如,数据库可用性模块130可至少使过渡重做阶段期间被处理了的那些页对用户105可用。模块130还可使未被调度为要在最终重做阶段期间进行处理的那些数据库页对用户可用。因此,模块130可在系统事务重做阶段420完成以后使数据库110对用户可用。一旦使数据库可用,用户可访问未被调度为要在最终重做阶段435期间进行处理的任何数据库页。
可以以每一页为基础来跟踪被调度为要在最终重做阶段期间进行处理的各页。因此,正在最终重做阶段中被处理的所请求页只是被阻塞直到该所请求页为已重做的为止,并且该所请求页在最终重做阶段完成之前被释放。被调度为供最终重做阶段处理的这些页是用不同的标记来标记的,各不同的标记专用于标识供最终重作阶段处理的页。
在一些情况下,每一页可在被访问之前被锁存,使得在最终重做阶段期间,如果页正等待被重新处理或者如果最终重做没有完成,则用户请求被阻塞直到最终重做阶段完成为止。以这种方式,用户将被阻止访问非最新的数据。如果系统确定页不是在脏页表中找到的,则系统应用锁存并允许访问该页。在一些情况下,锁可能是用户事务重做所必需的,以确保用户被阻止访问未提交的数据。用户事务重做阶段435可随后在最终重做阶段完成之后被执行。此时,整个数据库是最新的并且被完全恢复。
图3示出了用于确定要在过渡重做阶段期间处理哪些包括未经处理的事务的数据页的方法300的流程图。现在将频繁参考环境100的组件和数据来描述方法300。
方法300包括启动对数据库恢复的分析阶段的动作,其中该分析阶段扫描数据库事务日志并构建包括与未经处理的数据事务相对应的一个或多个页的脏页表(动作310)。例如,数据库恢复阶段启动模块115可启动分析阶段410。如以上所解释的,该分析阶段可扫描数据库事务日志135并构建包括与未经处理的数据事务相对应的页141的脏页表140。该分析还可确定:哪些页正被修改、这些页是哪个事务的部分、以及哪些页是系统事务重做阶段所必需的。
方法300包括访问数据库事务日志以确定哪些优先数据页在特定时间段内已被访问了阈值次数的动作(动作320)。例如,数据库可访问事务日志135以确定哪些页141已被访问了某一次数。可在运行时期间确定关于哪些页被频繁访问的信息,并将该信息记录在事务日志中。在崩溃以后,数据恢复过程可使用日志中的信息来确定哪些页被频繁地访问。指示页被频繁访问的阈值数可以是可变的且可动态调整的。因此,在一些情况下,阈值数可以是较小的,这可能导致较小数目的页是优先数据页(因为页将被访问多于一次的时间较少)。相反也是正确的。当阈值数较大时(即,较长时间段),可导致较大数目的页是优先数据页(因为页将被访问多于一次的时间较多)。
方法300包括访问脏页表以确定要在过渡重做阶段期间处理哪些包括未经处理的事务的数据页的动作(动作330)。例如,数据库110可访问脏页表140以确定要在过渡重做阶段415期间处理哪些包括未经处理的事务的数据页。脏页表中的一个或多个页可被标记为要在阶段415期间进行处理。此外,可创建列出要在过渡重做阶段期间处理的已标记页的链表。这些列表可包括系统事务重做所必需的页,或包括在特定时间段内已被访问了阈值次数的页。
方法300包括在到达最终重做阶段之前在过渡重做阶段期间处理优先数据页和所确定的包括未经处理的事务的数据页两者的动作(动作340)。例如,数据库可在过渡重做阶段期间处理被标记为优先数据页的那些页和未经处理的事务页两者。因此这些页在达到最终重做阶段之前被处理。可使在过渡重做阶段期间被处理的那些页可用,并且在系统事务重做阶段完成后也可使没有被调度为要在最终重做阶段期间进行处理的那些数据库页可用。
可实例化各事件,这些事件被配置为等待被标记为要在最终重做期间处理的那些页。如果用户事务尝试访问最终重做阶段尚未完成处理的页(即,它不是最新的),则用户事务在一事件上等待并不被允许访问该页。当最终重做完成处理该页时,发信号通知这个事件并且允许用户访问该页。每一页可在被访问之前被锁存,使得在最终重做阶段期间,如果页正在等待被重新处理或者如果最终重做没有完成,则用户请求被阻塞直到最终重做阶段完成处理所请求的页为止。
因此,提供了实现过渡重做阶段以允许先于重做阶段的数据访问的方法、系统和计算机程序产品。此外,提供了确定要在过渡重做阶段期间处理哪些包括未经处理的事务的数据页的方法、系统和计算机程序产品。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变被权利要求书的范围所涵盖。

Claims (12)

1.在包括至少一个处理器和存储器的计算机系统中,一种用于在数据库或数据库系统的故障后在恢复期间实现过渡重做阶段的计算机实现的方法,所述计算机系统被包括在包括多个其他计算系统和至少一个数据库服务器的计算机联网环境中,所述过渡重做阶段允许在提供完全恢复的最终重做阶段之前至少对所述数据库的限制性访问,所述方法包括以下动作:
在检测到数据库服务器处的数据库故障后,通过扫描数据库事务日志以标识脏页来启动数据库恢复的分析阶段,所述脏页表示具有由于所述数据库故障而未经处理的数据事务的页;
构建所标识的脏页的表;
使用一个或多个预定标准来分析所标识的脏页的表以确定所标识的脏页的表中的哪些脏页将在最终重做阶段期间提供的完全恢复之前在所述过渡重做阶段期间被优先处理,所标识的脏页的表中的所有其他脏页面将在所述最终重做阶段时被处理;
在到达所述最终重做阶段之前在所述过渡重做阶段期间处理优先的脏页;以及
在系统事务重做阶段的完成之际,其中所述系统重做阶段的完成对应于优先的脏页中的所有未经处理的数据事务的完成:
使得在所述过渡重做阶段期间处理的具有现在已完成的数据事务的先前优先的脏页对数据库用户可用;
使得未受所述数据库故障影响的任何其他页对数据库用户可用;以及
启动所述最终重做阶段以针对不优先的任何剩下的脏页完成完全数据库恢复,使得具有现在已完成的数据事务的所有先前优先的脏页以及未受所述数据库故障影响的任何其他页都可被数据库用户在所述最终重做阶段期间访问。
2.如权利要求1所述的方法,其特征在于,在页级跟踪数据恢复,使得正在所述最终重做阶段中进行处理的不优先的任何剩下的脏页只是被阻塞直到每一这样的页已重做的为止,其中至少一些完成的页随后被释放,以供数据库用户在所述最终重做阶段完成之前访问。
3.如权利要求1所述的方法,其特征在于,还包括向所标识的脏页的表中与在所述过渡重做阶段期间要处理的各优先的脏页相对应的条目添加标记。
4.如权利要求3所述的方法,其特征在于,还包括实例化一事件,该事件被配置为等待所标识的脏页的表中没有被标记并由此被调度用于在所述最终重做阶段期间进行处理的任何剩下的脏页。
5.如权利要求3所述的方法,其特征在于,还包括使用所添加的标记来创建要在所述过渡重做阶段期间处理的优先的脏页的链表。
6.如权利要求1所述的方法,其特征在于,还包括确定哪些页是系统事务重做所必需的。
7.如权利要求6所述的方法,其特征在于,还包括标记要在所述系统事务重做阶段内处理的那些优先的脏页,其中所述标记指示这些优先的脏页要被处理以便完成所述过渡重做阶段。
8.如权利要求1所述的方法,其特征在于,要在所述过渡重做阶段期间处理的优先的脏页包括已被访问了阈值次数的优先数据页。
9.如权利要求8所述的方法,其特征在于,所述优先数据页包括以下各项中的至少一项:系统事务页、事务日志、分配映射和工作量频繁访问的任何其他页。
10.如权利要求1所述的方法,其特征在于,所标识的脏页的表中不优先的并由此被调度用于在所述最终重做阶段期间进行处理的任何剩下的脏页在被访问之前被锁存,使得在所述最终重做阶段期间,如果页正在等待被重新处理或者如果重做没有完成,则用户请求被阻塞直到所述最终重做阶段完成处理所请求的页为止。
11.一种存储指令的计算机可读存储介质,所述指令在被执行时使得计算机执行如权利要求1-10中的任一项所述的方法。
12.一种用于在数据库或数据库系统故障后在恢复期间实现过渡重做阶段的系统,所述过渡重做阶段允许在提供完全恢复的最终重做阶段之前至少对所述数据库的限制性访问,所述系统包括:
用于在检测到数据库服务器处的数据库故障后,通过扫描数据库事务日志以标识脏页来启动数据库恢复的分析阶段的装置,所述脏页表示具有由于所述数据库故障而未经处理的数据事务的页;
用于构建所标识的脏页的表的装置;
用于使用一个或多个预定标准来分析所标识的脏页的表以确定所标识的脏页的表中的哪些脏页将在最终重做阶段期间提供的完全恢复之前在所述过渡重做阶段期间被优先处理的装置,所标识的脏页的表中的所有其他脏页面将在所述最终重做阶段时被处理;
用于在到达所述最终重做阶段之前在所述过渡重做阶段期间处理优先的脏页的装置;以及
在系统事务重做阶段的完成之际,其中所述系统重做阶段的完成对应于优先的脏页中的所有未经处理的数据事务的完成:
用于使得在所述过渡重做阶段期间处理的具有现在已完成的数据事务的先前优先的脏页对数据库用户可用的装置;
用于使得未受所述数据库故障影响的任何其他页对数据库用户可用的装置;以及
用于启动所述最终重做阶段以针对不优先的任何剩下的脏页完成完全数据库恢复,使得具有现在已完成的数据事务的所有先前优先的脏页以及未受所述数据库故障影响的任何其他页都可被数据库用户在所述最终重做阶段期间访问的装置。
CN201210071285.9A 2011-03-18 2012-03-16 在页级跟踪重做完成 Active CN102708143B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/051,970 2011-03-18
US13/051,970 US8818960B2 (en) 2011-03-18 2011-03-18 Tracking redo completion at a page level

Publications (2)

Publication Number Publication Date
CN102708143A CN102708143A (zh) 2012-10-03
CN102708143B true CN102708143B (zh) 2018-05-15

Family

ID=46829291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210071285.9A Active CN102708143B (zh) 2011-03-18 2012-03-16 在页级跟踪重做完成

Country Status (2)

Country Link
US (2) US8818960B2 (zh)
CN (1) CN102708143B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053024B2 (en) * 2012-11-30 2015-06-09 Hewlett-Packard Development Company, L. P. Transactions and failure
EP2951694B1 (en) * 2013-01-30 2017-08-16 Hewlett-Packard Enterprise Development LP Recovering pages of a database
CN106610876B (zh) * 2015-10-23 2020-11-03 中兴通讯股份有限公司 数据快照的恢复方法及装置
CN105741121B (zh) * 2016-02-15 2019-04-05 深圳市我家网络科技有限公司 一种基于条目引用的产品溯源信息的编写与存储方法
US11003549B2 (en) 2018-07-25 2021-05-11 Microsoft Technology Licensing, Llc Constant time database recovery

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333303A (en) * 1991-03-28 1994-07-26 International Business Machines Corporation Method for providing data availability in a transaction-oriented system during restart after a failure
CN1454349A (zh) * 2000-06-07 2003-11-05 处理存储器有限公司 主存储器事务处理系统中的高度并行日志和恢复操作的方法和系统
CN1784677A (zh) * 2004-03-31 2006-06-07 微软公司 用于数据库备份的一致性检验的系统和方法
CN101794247A (zh) * 2010-03-26 2010-08-04 天津理工大学 嵌套事务模型下实时数据库故障恢复方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6000020A (en) 1997-04-01 1999-12-07 Gadzoox Networks, Inc. Hierarchical storage management from a mirrored file system on a storage network segmented by a bridge
US6185699B1 (en) 1998-01-05 2001-02-06 International Business Machines Corporation Method and apparatus providing system availability during DBMS restart recovery
US6289357B1 (en) 1998-04-24 2001-09-11 Platinum Technology Ip, Inc. Method of automatically synchronizing mirrored database objects
CA2322603C (en) 2000-10-06 2005-04-12 Ibm Canada Limited-Ibm Canada Limitee Optimizing updatable scrollable cursors in database systems
US6751636B1 (en) 2000-12-05 2004-06-15 Silicon Graphics, Inc. System and method for maintaining and recovering data consistency across multiple instances of a database
US6721739B1 (en) 2000-12-05 2004-04-13 Silicon Graphics, Inc. System and method for maintaining and recovering data consistency across multiple pages
US7051052B1 (en) 2002-06-20 2006-05-23 Unisys Corporation Method for reading audit data from a remote mirrored disk for application to remote database backup copy
GB0219909D0 (en) 2002-08-28 2002-10-02 Koninkl Philips Electronics Nv Secure logging of transactions
US6910106B2 (en) * 2002-10-04 2005-06-21 Microsoft Corporation Methods and mechanisms for proactive memory management
US7290015B1 (en) 2003-10-02 2007-10-30 Progress Software Corporation High availability via data services
US6859811B1 (en) 2004-01-15 2005-02-22 Oracle International Corporation Cluster database with remote data mirroring
US20050203974A1 (en) 2004-03-09 2005-09-15 Smith Gary S. Checkpoint methods and systems utilizing non-disk persistent memory
US20050235017A1 (en) 2004-04-15 2005-10-20 Jeff Ashman System and method for high availability of data in a disaster recovery system
US7689607B2 (en) * 2005-04-15 2010-03-30 Microsoft Corporation Database page mirroring

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333303A (en) * 1991-03-28 1994-07-26 International Business Machines Corporation Method for providing data availability in a transaction-oriented system during restart after a failure
CN1454349A (zh) * 2000-06-07 2003-11-05 处理存储器有限公司 主存储器事务处理系统中的高度并行日志和恢复操作的方法和系统
CN1784677A (zh) * 2004-03-31 2006-06-07 微软公司 用于数据库备份的一致性检验的系统和方法
CN101794247A (zh) * 2010-03-26 2010-08-04 天津理工大学 嵌套事务模型下实时数据库故障恢复方法

Also Published As

Publication number Publication date
US8818960B2 (en) 2014-08-26
US20140365444A1 (en) 2014-12-11
US20120239628A1 (en) 2012-09-20
US9384100B2 (en) 2016-07-05
CN102708143A (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
Engin et al. Algorithmic government: Automating public services and supporting civil servants in using data science technologies
EP3113037B1 (en) Adaptive adjustment of network responses to client requests in digital networks
CN102708143B (zh) 在页级跟踪重做完成
US20220035845A1 (en) Search indexing using discourse trees
US7685152B2 (en) Method and apparatus for loading data from a spreadsheet to a relational database table
US8843646B2 (en) Multi-desktop interaction using nested remote desktop sessions
US11238231B2 (en) Data relationships in a question-answering environment
WO2011080772A1 (en) Method and system for ranking affinity degree among functional blocks
US20140279803A1 (en) Disambiguating data using contextual and historical information
US20200089586A1 (en) Cognitively triggering recovery actions during a component disruption in a production environment
US8898126B1 (en) Method and apparatus for providing concurrent data insertion and updating
CN111782809A (zh) 国际收支网申数据处理方法、装置、电子设备及存储介质
CN110705235A (zh) 业务办理的信息录入方法、装置、存储介质及电子设备
US20190163838A1 (en) Method and system for processing multimodal user queries
US10489728B1 (en) Generating and publishing a problem ticket
US20200042940A1 (en) Interactive apparatus, control apparatus, interactive system, interactive method, and control method
US20130185112A1 (en) Optimizing benefits of community development with reference to resources through multiple time periods for multiple cooperating and competing entities with reference to multiple dimensions
US20130332369A1 (en) Leveraging analytics to propose context sensitive workflows for case management solutions
US7783588B2 (en) Context modeling architecture and framework
CN112019675A (zh) 通讯录联系人的排序方法、装置及电子设备
CN112100187A (zh) 一种基于VueJS的学生学习数据存储方法及装置
CN115859964B (zh) 基于教育云平台的教育资源共享方法及系统
WO2019036040A1 (en) COMPUTERIZED TEACHING SYSTEM OF AGREEMENT ANALYSIS
CN110780996B (zh) 进程优化方法、装置、存储介质和计算机设备
US8972939B1 (en) Systems and methods for processing and producing content for web sites

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1174994

Country of ref document: HK

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1174994

Country of ref document: HK