CN1036737C - 出错时用于数据库的关系恢复的方法 - Google Patents

出错时用于数据库的关系恢复的方法 Download PDF

Info

Publication number
CN1036737C
CN1036737C CN93121135A CN93121135A CN1036737C CN 1036737 C CN1036737 C CN 1036737C CN 93121135 A CN93121135 A CN 93121135A CN 93121135 A CN93121135 A CN 93121135A CN 1036737 C CN1036737 C CN 1036737C
Authority
CN
China
Prior art keywords
target
subsystem
information
object oriented
recovery
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.)
Expired - Lifetime
Application number
CN93121135A
Other languages
English (en)
Other versions
CN1091846A (zh
Inventor
B·E·S·拉松
M·S·伊万
H·J·辛托恩
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN1091846A publication Critical patent/CN1091846A/zh
Application granted granted Critical
Publication of CN1036737C publication Critical patent/CN1036737C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

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)
  • Multi Processors (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Container Filling Or Packaging Operations (AREA)
  • Debugging And Monitoring (AREA)

Abstract

在出错的情况下在数据库中进行关系恢复的方法,包括被计算机执行的功能度且保证数据库中的数据被作为在若干恢复子系统中的数据项来建立,各数据项只属于一个子系统。如一子系统包含依赖于在另一子系统中的一个或多个数据项的一个或多个数据项,最先的子系统被标记为依赖于第二次提到的子系统。如第一子系统被标记为依赖于第二子系统而后者又被标记为依赖于第三子系统。该第一子系统就被递归地标记为依赖于该第三子系统。

Description

本发明涉及出错时用于关系恢复的方法。
在数据库系统中有许多措施可被用来防止信息的丢失。通常使用副本和记录来保证数据库有备用的拷贝。这些拷贝在系统损坏或出现硬件差错的情况下被用来恢复数据库。
数据库通常具有根据存储在该数据库中具有一致性的数据(即对于不同的修改以及它们的分组具有可预期的状态的数据)进行恢复的功能。
为了使能够从错写数据库而导致的损坏中恢复过来,必须安全地存储备份版本。备份包含了为了能够将数据库再建立到与产生备份时占优势的状态相同的一致状态所必须的所有信息。
用于恢复数据库的典型策略可概括如下:
如果数据库由于出现突发错误而变成不一致,恢复功能就命令重新开始将数据库再写入到最后的备份版本。为了能够回复到最近做的状态,数据库然后被用已存储在记录上的信息来修改,即该信息存储在存储器中的先前操作的记载中,这些记载被恢复功能用来恢复最后允许的事务处理。即对目标操作或数据库中的记录。目标的概念在此具有在数据处理领域中通常的意义。简言之,目标就是具有如何管理其信息的相关描述的信息包。目标也如数据记录一样在它们使用领域被划分为类并被利用键来区分。目标的概念的更详细描述可以参看例如Yourdon出版社计算系列中Peter Coad和Edward Yourdon的“OBJECT-ORIENTEDANALYSIS”(面向目标的分折)。
恢复数据库所需的信息和机制由修改数据库所用的方法来确定。在修改目标的情况下,产生原始目标的拷贝,加锁以便防止其它用户修改数据库,并且直至得到确认(即,直至程序或操作员使用的表示当前事务处理已结束以及它的作用应当保持的事务操作)时,才采用修改的拷贝并取消加锁。
在数据库的错误不能被立即检测的情形中,数据库拷贝是不够用的。在银行寄存器中,操作者可例如由于出错而消除了客户记录,尽管还有相关的帐户输入,或者他可能碰巧消除了全部的支付申诉。
在第一种情形中,有熟知的方法保证数据的完整性。这些方法被称为完整性条件。这样的条件可以例如是帐户输入必须与客户寄存器相结合。还可以有建立的恢复机制规定如果完整性条件被违反将出现什么情况。在上述例子中可迫使客户记录的消除以前存在着是连续的清算步骤,它导致帐户输入也和客户记录一道被消除。
在第二种情形中,由于全部的支付申诉被消除,必须能够根据副本恢复被消除的记录。另一方面,不是数据库中的所有数据都被恢复,例如超过12小时的银行交易项目。即使在更新数据库的其余部分为最新状态的同时能够只发现和恢复关于支付申诉的记录,但也必须能够发现对完整性条件的全部违反情况并且采取恢复数据库的完整性所需的相应恢复措施。但是,保证更重要的数据不会由于这些措施(例如银行交易)而被损坏可能是困难的。
在通常的数据库管理系统中,恢复部分系统的功能是通过使用完全不同的数据库来实现的。这就没有保证不同的恢复部分系统之间的一致性,在不同的数据库和部分系统中的目标之间没有满足完整性条件(例如存在依赖性)。
通过US4933848我们得知一数据库管理系统,在该系统中数据被耍求应当是引用约束。该数据库是一关系数据库,数据被存储在具有行和列的表中。装入新的行并提取和分类关于装入的信息和约束。对于新的行进行是否违反约束的检查,并改正该违反以便恢复引用完整性。
GB2252853总的来说涉及在关系数据库中存储的恢复数据。
本发明的目的就是在允许连续存取数据库的同时建立在数据库中的关系恢复系统,保证数据总是处于一致的状态并最大可能地减轻数据损坏的后果。
根据本发明,在出错的情况下,在数据库中进行关系恢复的方法包括被计算机执行的功能度并且保证:
数据库中的数据被作为在若干个恢复子系统中的数据项来建立,每个数据项仅属于一个子系统。
如果一个系统包含依赖于在另一子系统中的一个或多个数据项的一个或多个数据项,最先提到的子系统就被标记为依赖于第二次提到的子系统。
如果第一子系统被标记为依赖于第二子系统而第二子系统又被标记为依赖于第三子系统,所述第一子系统就被递归地标记为依赖于所述第三子系统。
没有任何两个子系统可能被标记为相互依赖。
只要这些子系统之一被标记为依赖于另一子系统,一个子系统中的数据项和另一子系统中的数据项之间的完整性约束就被承认,以及
在子系统上执行恢复动作以便只引起该子系统和被标记为依赖于该子系统的其它子系统中的数据项的改变。
以下是本发明的一些优越的实施例,就象在紧接着的描述中所揭示的那样。
第一实施例在对一个于系统进行备份的同时还对被标记为依赖于这一被备份的子系统的所有子系统进行一致性备份。
第二实施例在根据副本恢复子系统时还恢复被标记为依赖于这一子系统的子系统。
第三实施例在子系统的恢复操作方面只执行导致所述子系统重新达到一致状态的操作。
第四实施例在子系统的恢复操作方面只采取不影响与被标记为依赖于这一子系统的那些子系统不同的子系统的措施。
本发明的系统可以是在上述引言中所指的那种类型,在该系统中,数据根据面向目标的语言来描述和排列,在该面向目标的语言中,概念目标指的是具有如何管理其信息的相关描述的信息包。根据以下参看附图对实施例的更详细描述这也将会更一清二楚。
对于这样的系统也有以下本发明的一些优越的实施例,就象在紧接着的描述中所揭示的那样。
一个这样的实施例是:如果在关系恢复时,不一致值在两个不同的恢复子系统中的目标之间出现,就使用满足所有有效性约束的值来代替不一致值的重新设置方法。
为此,目标的属性通过简单的指定可被重新设置为与环境兼容的值,以便不从其它对象建立任何依赖性,并且不失效。
在另一实施例中,如果在关系恢复时不一致值在两个不同的恢复子系统中的目标之间出现就改变目标的状态。
为此,引用或一个或两个目标可以被消除。
在另一个实施例中,本发明的系统包含检测一个目标所依赖的关系,其方法是请求检验位于在所涉及的依赖关系另一端的所有目标,使此目标依赖于所检验的关系,在出错情况下,运行关系的控制将在此是危险的。
在另一实施例中,可以对目标进行关系检测以便在出错的情况下重新设置该目标,并且告诉对于该目标具有依赖性关系的那些目标:
这些关系依赖于已改变的目标。
在涉及出现在其中包括一目标恢复操作的情形的另一实施例中,不是重新设置目标的属性、从该目标中消除关系,就是消除目标、随因其关系被规定为恢复动作的目标而定。
根据另一实施例,在所有其它目标已被检验之前允许对被检验的目标执行数据库操作。
在另一实施例中,恢复处理程序通过用表明目标位于关系恢复系统中,该目标已被反绕、其关系尚未被完全恢复以及自反绕以来该目标尚未被检验的特征位来标记所有受影响的目标,通过启动关系恢复处理程序和通过允许数据库操作来开始关系恢复。
关系恢复处理程序最好是可以检查被反绕的恢复系统以便消除已有的关系问题,并由此在某些应用程序打开涉及的目标之前消除大部分这些关系问题。
现在参看附图详细地描述本发明的实施例,其中
图1示意性地说明导致本发明的问题之一。
图2表示与图1类似的说明与第一恢复实例有关的事件的进程的图示。
图3是与图2相关的流程图。
图4表示与图2类似的说明与第二恢复实例有关的事件的进程的图示。
图5是与图4相关的流程图。
在以下的描述中,一些不同的作用物、功能和操作将被描述。在这里应当指出,除非另有所指,属于被计算机执行的软件功能性的问题,没有被表示出来。这样的计算机和其执行方式对阅读以下描述的本领域的技术人员可以是显而易见的,因此不必在此描述。在描述中使用的代码是C一语言的伪代码,对本领域的技术人员也是熟知的。
根据本发明的特征之一,本发明是基于恢复子系统的使用,在这些子系统之间可以有某些依赖性关系,这些依赖性关系将在下面详述。这些恢复子系统被用来将问题局限于产生该问题的应用。在数据库中,这就涉及到在没有再装入记录的情况下能反绕部分数据库而不是反绕整个数据库的功能。以下描述的实例基于在恢复子系统的分层中有几个等级的假定。
在图1的图示中,水平轴是时间轴。与其交叉的垂直轴表示最后备份的时刻。上面和下面的区域2和4分别用来表示在“上面”和“下面”的恢复子系统中的事件的进程。在各自的“事件的进程”中的圆形无阴影的小区域6和8表示在它们之间存在依赖性关系的那些目标。在上面的恢复子系统中的事件2的进程的末端出现了需要反绕这一恢复部分系统的错误状态,如箭头10所示。
箭头12表示的问题就是:现在反绕之后不存在的目标6和目标8之间的关系将如何?
参看图1进行的以上描述被用来说明已被本发明解决了的问题之一。特别是这一问题将保证;那些遍布于一个以上的数据库记录和一个以上的恢复子系统的完整性约束在对子系统之一备份之后仍然是有效的。
部分的解将确定指定给目标的一些属性,以及各种情形的关系恢复方法。
一些属性的实例如下所述。以下在属性的名称中使用的缩写DOL来自于Data Object Logic(数据目标逻辑),其意义是显而易见的。
属性
DOL.Foreiqn Dependency
这是被包括在事务处理协议、事务处理记录和备份中的一位特征位。如果设置的话,该特征位就表示该目标对于在另一较低恢复部分系统中的目标具有直接的依赖性关系。该特性位在最初的直接依赖性已被建立时被关系逻辑设置,在最后的直接依赖性已被消除时被消除。只有直接依赖性是相关的,因此没有间接依赖性。
该特征位被关系恢复媒介用来找出可以是问题层的“根”的目标。因此它可以作为一位被恰当地包括在目标的目录中。
DOL.Not OK
这是不必被包括在事务处理记录中和不必被反绕的一位特征位。但是,零设置必须被包括在事务处理协议中。如果设置的话,该特征位就表示该目标被包括在一个恢复子系统中,该恢复子系统已被反绕并且其关系没有被完全恢复,还表示该目标自反绕以来尚未被检查。
在反绕的情况下对所有目标设置该特征位,当检查时每一目标都不设置该特征位。当关系恢复煤介已经检查了设置特征位外部依赖性的所有目标时,所有Not UK特征位都可不设置。这一特征位也可作为一位被恰当地包括在目标目录中。
DOL.Depend Om me
这是被包括在事务处理协议、事务处理记录和备份中的引用清单。该清单包括对具有对自对象(Self-object)的直接依赖性的所有对象的引用,它被DOL关系逻辑保持。
它被用来提醒非独立对象:自对象是否已崩溃以及是否已被关系恢复功能恢复。
DOL.Depending On
这是被包括在事务处理协议、事务处理记录和备份中的引用清单。该清单包括对自目标具有直接依赖性的目标的引用,它被DOL的关系逻辑保持。
它被用来产生在自目标可被保证为正确之前(利用核实的方法,该方法将在下面描述)必须被检查的那些目标的知识。该特征位适合于用枚举目标的引用来实现,使得那些具有依赖性的引用是已知的。
DOL.Rec Status
只在关系恢复期间用于打开的目标不必被存储,有关自目标是否被包括在正被核实(VerifyingSelf)以便避免迂回的相关树中的各状态,必须在进行核实(Must_Check)自目标时被检查,当它已经被重新设置时(Reset),不必再被重新设置;成者如果没有什么特别就是可应用的(Normal)。
DOL.Rec_Status被关系恢复功能度保持和使用。
以上在括弧中表示的名称在下面对恢复方法的描述中将使用。
RecDB Rewind Timestamp
被包括在名称中的RecDB(恢复数据库)是指关系恢复数据库。它是表示恢复子系统以及恢复数据库什么时候被最后反绕的加时间章的问题。
它被恢复功能度用来产生没有被反绕、因此可以具有不兼容数据的目标的知识。它在反绕的情况下被恢复处理程序设置。
关系恢复方法
为简化描述起见,稍微不正确地认定目标可以打开它们自己并且它们可以对它们不存在或者其它的东西已锁住它们时作出响应。与以下详细描述的实施例作比较。
在以下的描述中,方法的定义被称为type-of-object.name-of-method(type-of-argu-ment formal name)。这应当被作如此的解释,图为对于type-of-object类型的目标,定义了name-of-method方法,该方法使用type-of-ar-gument类型的自变量。在定义中自变量用指定for-mal name来表述。
根据name-of-method(自变量)调用方法应当被解释为用在括弧内所述自变量的值调用带有name-of-method名称的方法。
对方法调用的响应被称为响应代码或响应代码(定义),其中的响应代码表示具有在括弧内的定义(如果有该定义的话)的响应。
Dol.Verify(事务处理TR)
如果目标被另一事务处理锁定就应使用LOCKED(锁定)响应。
如果目标不使NOT_OK特征位设定或者如果它已经在事务处理TR中被打开,V_Ready响应就应与部分系统的最后反绕时刻被作为一自变量。
如果目标没有被打开并且如果它使NOT_OK特征位设定,它就得被用在TR中的写锁定来打开。
属性Rec_Status被设置到Verifving_Self。核实(TR)被进一步(递归地)传送给自目标依赖的目标。如果任一目标被锁住就放弃这一企图并应当使用响应V_locked。如果所有目标以正确的反绕时间进行响应并且如果自目标的Alert方法没有被调用(即Rec.Status已被设置到Must_Check,参看下面),就应当使用V_readmy应答(反绕时刻)并将Rec Status置为Normal。否则就调用自目标的Check(TR)方法。如果被满足的话应答就是V_ready(反绕时刻)。
DoL.Check(事务处理TR)
开始目标的关系检查。如果它们被满足,属性Rec_Status就被置为Normal。
如果出错,就执行Reset(TR)并且对依赖于自目标的所有目标调用Alert(TR)(参看下面描述)。
DoL.Reset(事务处理TR)
根据被规定为关系恢复作用的目标的不同,对象的属性得到它们零设置值,否则目标被消除。
属性Rec.Status被设置为Reset。
有四种作为恢复方法的操作能够组合的作用:
属性设置。目标的状态被重新设置为与环境兼容的状态是相当简单的。由于属性设置一方面必须不依赖于其它目标-它们是造成问题的对象,另一方面因为没有“过去值”可以返回,所以必须不失败,所以属性设置必须是简单的指定。
引用消除。这是对于不存在的目标的引用通常采取的方式。在任选的已消失的引用的情形下这是合适的,但在基数错误、甚至状态错误的情况下也可以是有用的。
目标消除。这可以适合于存在依赖性的场合、或者可能适合于基数性的依赖性的场合。如果目标被消除,就没有理由再使用上述两种作用中的任何一种。
传送通知给某一媒介。例如如果需要通知操作员等等就可以使用这一作用。
DoL.Alert(事务处理TR)
如果目标被某一其它事务处理锁定就将LDCKED返回。
如果目标没有打开,就用在TR中的写锁定来打开,如果它使NOT_OK特征位设定,它就使Verify(TR)对自己有效。可存在的代码被返回,否则调用自目标的Check(TR)并返回错误代码或A_Ready。
如果目标被打开正在自我核实,即Rec_Sta-tus是Verifying_Self或Must_Check,Rec_Sta-tus就被设置为Must_Check。返回A_Ready。
如果目标已经被重新设置,即Rec_Status是Reset,就返回A_Ready,这是由于不可能再将目标设置为零。
在余下的情形中调用Check(TR),并返回其错误代码或A_Ready。
对打开数据库目标的补充
这是对打开正常功能的目标的通常方法的补充,如果Not_OK特征位不被设置的话。这样的情形下,就开始新的事务处理并调用自目标的Ver-ify。
如果在返回中获得LOCKED(或者某些其它错误代码),事务处理TR就被中断并且应答将是“关系没有完全恢复”。打开失败了。
如果在返回中获得V_Ready(TK),事务处理就被确认并且象通常一样完成打开。
对确认协议的补充
每当目标作为事务处理的一部分被写入,由于关系逻辑被满足,如果设置该特征位,Nor OK特征就不再被设置。
对关系逻辑的补充
一旦给在另一关系恢复数据库中的目标设置依赖性关系,Foreign_Dependency特征位应被设置。
如果对在另一关系恢复数据库中的目标的最后依赖性被消除,Foreign_Dependency特征位就不被设置。
Foreign_Dependency特征位被包括在事务处理协议中。
下面概括描述在关系恢复情况下使用的算法。
        恢复情况下的算法
关系恢复
数据库的恢复处理程序通过以下步骤开始关系恢复:
用Not_OK标记所有目标。这最适合在目标目录被重建时进行。
启动关系恢复处理程序(参看以下描述)。此后可以启动信息通信。
当不是恢复数据库的全部事务处理记录都已经被读出时,在所有情况下都需要这样做。
关系恢复处理程序
这一媒介检查在背景中的被反绕恢复子系统。对于数据库的一致性不是必须的,但消除了存在的关系问题以便在目标被某些应用打开之前已经消除了大部分的问题。
算法基于不反绕“来自底层”的问题链。这是通过检查目标目录寻找具有Not_OK特征位和Foreign_Dependency特征位的目标而实现的。当发现这样的目标时,就启动事务处理TR并将Ver-ify(TR)传送给该目标。如果事务处理顺利结束,它将被确认,如果出现锁定就进行异常中止并继续搜索。
当没有剩下具有Not_OK特征位和Foreign_Dependency特征位的目标时,所有具有对另一子系统的直接依赖性的目标就已经被重新设置由于传递作用,所有具有间接依赖性的目标也一样。因此,所有Not_OK特征后都可以不被设置。
在以上所述的实施方案中,对每类目标只有一种恢复方法一即对每一有效性约束不是一种方法。原因在于性能的要求。但本质上在不同的有效性违反和它们的恢复之间将是非常复杂的关系。例如,一个违反能够产生一种恢复,这一恢复产生的一新的违反,这新的违反产生一恢复,这一恢复又产生第一个违反。但是,可以设想对每类目标允许多种恢复方法的实施方案。
图2表示由于错误事件20的进程在“上面”恢复数据库中的时刻BD2已被中断并且后者根据箭头22已被反绕到最后的备份日期BD1的情形。该数据库包含目标B1和B2,它们具有相互依赖性,B1还具有对被包括在“下面”恢复数据库中的事件24的进程中的目标A1的依赖性。除目标没有被检查外任何变化没有发生。
如果现在某人打开B2、事务处理TRI,参看图3将发生以下变化:
在打开调用时,B2的逻辑发现B2具有被设置的Not_OK特征位。因此新的事务处理被启动,它对B2进行Verify调用。
在这一调用中,B2被用写锁定来打开并且依赖性被检查。对B1的依赖性被发现并且对B1进行Verify调用。由于B1也是Not_OK,所以它在TR2中被用写锁定来打开并检查它的依赖性清单。对A1的依赖性被发现并对A1进行Verify调用。
A1是完好的并且以其最后的反绕日期(BD1)来正确地应答。
由于这一日期与B1日期不同,因此有可能A1包含的数据与B2不兼容。
B1继续检查它的依赖性清单,发出对B2的依赖性,且发送Verify调用。
B2以其日期(BD″)直接应答,这是由于它已经打开并因而已被验证。
由于B1已经从A1接收了时间标记BD1、A1可以是不兼容的。因此B1必须通过运行其关系逻辑来检查自己(Check)。
这就发现了一切都整齐有序并且B1以V_Ready(BD2)来应答B2
B2没有理由改变其状态,或者即使运行关系逻辑,但也确认事务处理TR。
由于这一原因,B2和B1的Not_OK特征位(以及已经被发现为完好的A1)就不被设置。
对于事务处理TR1,现在可以象通常一样打开B2
在图4所示的第二实施例中,事件30的进程在“上面”恢复数据库中的时刻BD2已被中断并且后者根据箭头32被反绕到最后的备份日期BD1。它包括具有相互依赖性的目标B1和B2,B1还具有对被包括在在“下面”恢复数据库中的事件34的进程中的目标,A1的依赖性。由于备份,全部三个目标已被消除并且A1尚未出现。
如果现在某人打开B2事务处理TR1,参看图5将发生以下变化:
在打开调用时,B2的逻辑发现B2的Not_OK特征位被设置。因此新的事务处理TR2被启动,并对B2进行Verify调用。
由于这一调用,B2被用写锁定来打开关依赖性被检查。B1的依赖性被发现并对B1进行Verify。
由于B1也是Not_OK,所以它在TR2中用写锁定来打开并且检查其依赖性清单。A1的依赖性被发现并且Verify调用返回Not_Found。且Verify调用返回Not_Found。
B1将其对A1的引用设置为零,继续其依赖性清单,发现对B2的依赖性并传送Verify调用。
由于它做好保持Verify的准备,所以B2应答Verify_Ready。
由于B1已接收应答Not_Found,所以它必须通过运行关系逻辑进行自我检查(Check)。
这就发现由于不一致性所以B1必须被“设置为零”(Reset)。当这样做时,所有对B1的依赖性必须被告知并必须对B2进行Alert调用。
当B2接收Alert调用时,它知道它必须运行关系逻辑,但由于不是全部Verify清单已经被检查,所以不是马上运行。它返回Alert_Ready。
B1现在已准备好并返回V_Ready(BD2)。
B2除运行关系逻辑外(Check)没有更多目标需要核实。
由于B1已被改变并且必须被重新设置(Resef)。这就引起了问题。此后所有相关目标必须被告知并且Alert调用必须被传送给B1
B1知道它已经被设置为零,因此立即应答Alert_Rrady。
事务处理TR2被确认。
由于这一缘故,B2和B1的Not_OK特征位被设置为零。
对于事务处理TR1,现在可以象通常一样打开B2-但它被设置为零。

Claims (16)

1.在出错的情况下在数据库中进行关系恢复的方法,其特征在于被计算机执行的功能度并且保证:
数据库中的数据被作为在若干个恢复子系统中的数据项来建立,每个数据项只属于一个子系统。
如果一子系统包含依赖于在另一子系统中的一个或多个数据项的一个或多个数据项,最先提到的子系统就被标记为依赖于第二次提到的子系统。
如果第一子系统被标记为依赖于第二子系统而第二子系统又被标记为依赖于第三子系统,所述第一子系统就被递归地标记为依赖于所述第三子系统。
没有两个子系统被标记为相互依赖。
只要这些子系统之一被标记为依赖于另一子系统,一个子系统中的数据项和另一个子系统中的数据项之间的完整性约束就被承认,以及
在子系统上执行恢复动作以便只引起该子系统和被标记为依赖于该子系统的其它子系统中的数据项的改变。
2.根据权利要求1的方法,其特征在于
在对一个子系统进行备份的同时还始终和一地对被标记为依赖于这一被备份的子系统的所有子系统进行备份。
3.根据权利要求2的方法,其特征在于
在根据副本恢复子系统时还恢复被标记为依赖于这一子系统的所有子系统。
4.根据前述任一权利要求的方法,其特征在于
在子系统的恢复操作方面只执行导致所述子系统重新达到一致状态的操作。
5.根据权利要求1的方法,其特征在于
在子系统的恢复操作方面只采取不影响与被标记为依赖于这一子系统的那些子系统不同的子系统的措施。
6.根据权利要求1的方法,在该方法中,数据根据面向目标的语言来描述和排列,在该面向目标的语言中,概念目标指的是具有如何管理其信息的相关描述的信息包,其特征在于
如果在关系恢复时,不一致值在两个不同的恢复子系统中的目标之间出现,就使用用满足所有有效性约束的值来代替不一致值的重新设置方法。
7.根据权利要求6的方法,其特征在于对目标的属性通过简单的赋值被重新设置为与兼容的值,以便不从其它目标建立任何依赖性并且不失败。
8.根据权利要求1的方法,在该方法中,数据根据面向目标的语言来描述和排列,在该面向目标的语言中,概念目标指的是具有如何管理其信息的相关描述的信息包其特征在于如果在关系恢复时不一致值在两个不同的恢复子系统中的目标之间出现就改变目标的状态。
9.根据权利要求8的方法,其特征在于消除引用。
10.根据权利要求8的方法,其特征在于消除一个或两个目标。
11.根据权利要求1的方法,在该方法中,数据根据面向目标的语言来描述和排列,在该面向目标的语言中,概念目标指的是具有如何管理其信息的相关描述的信息包,其特征在于
通过从位于所涉及的依赖性关系的另一端的所有目标请求核实而检验目标依赖的关系,运行关系控制将冒出错的危险。
12.根据权利要求1的方法,在该方法中,数据根据面向目标的语言来描述的排列,在该面向目标的语言中,概念目标指的是具有如何管理其信息的相关描述的信息包,其特征在于
对一目标进行关系检测以便在出错的情况下重新设置该目标,并且告诉对于该目标具有依赖性关系的目标这些关系依赖于已被改变的目标。
13.根据权利要求1的方法,在该方法中,数据根据面向目标的语言来描述和排列,在该面向目标的语言中,概念目标指的是具有如何管理其信息的相关描述的信息包,其特征在于
在其中包括一目标的恢复操作的情况下,不是重新设置目标的属性,从目标中消除关系就是消除目标随因其关系被规定为恢复动作的目标而定。
14.根据权利要求1的方法,在该方法中,数据根据面向目标的语言来描述和排列,在该面向目标的语言中,概念目标指的是具有如何管理其信息的相关描述的信息包,其特征在于在所有其它目标已被检验之前允许对被检验的目标执行数据库操作。
15.根据权利要求1的方法,在该方法中,数据根据面向目标的语言来描述和排列,在该面向目标的语言中,概念目标指的是具有如果管理其信息的相关描述的信息包,其特征在于
恢复处理程序通过用表明目标位于关系恢复系统中,该目标已被反绕,其关系尚未被完全恢复以及自反绕以来,该目标尚未被检验的特征位、标记所有受影响的目标,通过启动关系恢复处理程序和通过允许数据库操作来开始关系恢复。
16.根据权利要求15的方法,其特征在于关系恢复处理程序检查被反绕的恢复系统以便消除已有的关系问题,并由此在某些应用程序打开涉及的目标之前消除大部分这些关系问题。
CN93121135A 1992-12-08 1993-12-08 出错时用于数据库的关系恢复的方法 Expired - Lifetime CN1036737C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE9203690A SE508828C2 (sv) 1992-12-08 1992-12-08 System för relationsåterhämtning av databas i händelse av fel
SE9203690 1992-12-08

Publications (2)

Publication Number Publication Date
CN1091846A CN1091846A (zh) 1994-09-07
CN1036737C true CN1036737C (zh) 1997-12-17

Family

ID=20388059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN93121135A Expired - Lifetime CN1036737C (zh) 1992-12-08 1993-12-08 出错时用于数据库的关系恢复的方法

Country Status (13)

Country Link
US (1) US5530800A (zh)
EP (1) EP0673529B1 (zh)
JP (1) JPH08504530A (zh)
KR (1) KR100266978B1 (zh)
CN (1) CN1036737C (zh)
AU (1) AU674193B2 (zh)
BR (1) BR9307607A (zh)
CA (1) CA2151255C (zh)
DE (1) DE69330433T2 (zh)
FI (1) FI952792A0 (zh)
NO (1) NO952247L (zh)
SE (1) SE508828C2 (zh)
WO (1) WO1994014126A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100399325C (zh) * 2002-10-25 2008-07-02 联想(北京)有限公司 一种嵌入式数据库的数据备份和恢复方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE515344C2 (sv) * 1994-02-08 2001-07-16 Ericsson Telefon Ab L M Distribuerat databassystem
US5734817A (en) * 1995-03-01 1998-03-31 Unisys Corporation Method for making a data base available to a user program during data base recovery
US5752247A (en) * 1996-07-30 1998-05-12 Hewlett-Packard Company Log access interface between a network and repositories
US6115830A (en) * 1997-11-11 2000-09-05 Compaq Computer Corporation Failure recovery for process relationships in a single system image environment
EP0991226A1 (de) * 1998-09-30 2000-04-05 Siemens Aktiengesellschaft Verfahren für den Zugriff auf Daten in Netzelementen
US6295611B1 (en) 1998-12-14 2001-09-25 Sun Microsystems, Inc.. Method and system for software recovery
US7363633B1 (en) * 2000-04-24 2008-04-22 Microsoft Corporation Registering and storing dependencies among applications and objects in a computer system and communicating the dependencies to a recovery or backup service
KR100365891B1 (ko) * 2000-12-13 2002-12-27 한국전자통신연구원 주기억장치 상주형 데이터베이스 시스템에서 로그 처리를하지 않는 백업/회복 장치 및 그 방법
CN104794010B (zh) * 2015-04-29 2018-02-16 中国人民解放军国防科学技术大学 一种系统内信息交互优化方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043871A (en) * 1986-03-26 1991-08-27 Hitachi, Ltd. Method and apparatus for database update/recovery

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4814979A (en) * 1981-04-01 1989-03-21 Teradata Corporation Network to transmit prioritized subtask pockets to dedicated processors
US4627019A (en) * 1982-07-08 1986-12-02 At&T Bell Laboratories Database management system for controlling concurrent access to a database
JPS63245529A (ja) * 1987-03-31 1988-10-12 Toshiba Corp レジスタ退避復元装置
US5065311A (en) * 1987-04-20 1991-11-12 Hitachi, Ltd. Distributed data base system of composite subsystem type, and method fault recovery for the system
US5247692A (en) * 1988-02-08 1993-09-21 Nec Corporation Multiple file system having a plurality of file units holding the same files in which loss of data is prevented in a failure of a file unit
US4945474A (en) * 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols
US5043866A (en) * 1988-04-08 1991-08-27 International Business Machines Corporation Soft checkpointing system using log sequence numbers derived from stored data pages and log records for database recovery
US4933848A (en) * 1988-07-15 1990-06-12 International Business Machines Corporation Method for enforcing referential constraints in a database management system
US5201044A (en) * 1990-04-16 1993-04-06 International Business Machines Corporation Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
JPH0415840A (ja) * 1990-05-10 1992-01-21 Toshiba Corp 分散型データベース管理装置
US5295256A (en) * 1990-12-14 1994-03-15 Racal-Datacom, Inc. Automatic storage of persistent objects in a relational schema
GB2252853B (en) * 1991-02-13 1994-06-01 Fexco Management Services Limi A data storage and retrieval apparatus
US5247664A (en) * 1991-03-28 1993-09-21 Amoco Corporation Fault-tolerant distributed database system and method for the management of correctable subtransaction faults by the global transaction source node
JP3092189B2 (ja) * 1991-04-15 2000-09-25 松下電器産業株式会社 無線電話装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043871A (en) * 1986-03-26 1991-08-27 Hitachi, Ltd. Method and apparatus for database update/recovery

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100399325C (zh) * 2002-10-25 2008-07-02 联想(北京)有限公司 一种嵌入式数据库的数据备份和恢复方法

Also Published As

Publication number Publication date
CN1091846A (zh) 1994-09-07
EP0673529A1 (en) 1995-09-27
DE69330433D1 (de) 2001-08-16
SE9203690D0 (sv) 1992-12-08
BR9307607A (pt) 1999-08-31
FI952792A (fi) 1995-06-07
KR100266978B1 (ko) 2000-09-15
SE508828C2 (sv) 1998-11-09
US5530800A (en) 1996-06-25
CA2151255A1 (en) 1994-06-23
NO952247D0 (no) 1995-06-07
JPH08504530A (ja) 1996-05-14
SE9203690L (sv) 1994-06-09
AU5663394A (en) 1994-07-04
AU674193B2 (en) 1996-12-12
KR950704752A (ko) 1995-11-20
EP0673529B1 (en) 2001-07-11
WO1994014126A1 (en) 1994-06-23
CA2151255C (en) 2002-02-12
DE69330433T2 (de) 2002-05-16
FI952792A0 (fi) 1995-06-07
NO952247L (no) 1995-08-02

Similar Documents

Publication Publication Date Title
US7366740B2 (en) Systems and methods for automatic maintenance and repair of enitites in a data model
US7840539B2 (en) Method and system for building a database from backup data images
US7143120B2 (en) Systems and methods for automated maintenance and repair of database and file systems
US7487395B2 (en) Method, system, and apparatus for creating an architectural model for generating robust and easy to manage data protection applications in a data protection system
US7860837B2 (en) Method and system for improving management of media used in archive applications
JP5620053B2 (ja) スケーラブル・ファイル・システムの回復のためのリソース管理
US8881131B2 (en) Method and apparatus for populating a software catalogue with software knowledge gathering
US9372906B2 (en) Method, system, and apparatus for providing resilient data transfer in a data protection system
US7043504B1 (en) System and method for parallel primary and secondary backup reading in recovery of multiple shared database data sets
US8078587B2 (en) Configuring a data protection system
US20070276833A1 (en) System and Method for Assignment of Unique Identifiers in a Distributed Environment
CN1036737C (zh) 出错时用于数据库的关系恢复的方法
US7865470B2 (en) Method, system, and apparatus for translating logical information representative of physical data in a data protection system
CN108804253B (zh) 一种用于海量数据备份的并行作业备份方法
US20050154740A1 (en) Method and system for a self-healing query access plan
CN1906613A (zh) 产生可扩展的文件系统元数据和文件系统内容处理的系统和方法
US20050228832A1 (en) Method and system for verifying integrity of storage
US20070168720A1 (en) Method and apparatus for providing fault tolerance in a collaboration environment
CN1161505A (zh) 用于自动修改数据库存取方法的系统和方法
CN1892613A (zh) 备份数据协调方法和系统
US20080140965A1 (en) Resource management for data storage services
US9342524B1 (en) Method and apparatus for single instance indexing of backups
US6823348B2 (en) File manager for storing several versions of a file
CN1530859A (zh) 一种保护erp接口数据的方法
CN115858480A (zh) 一种共享平台及其共享方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CX01 Expiry of patent term

Expiration termination date: 20131208

Granted publication date: 19971217