可重新启动的计算机数据库的信息处理的制作方法

文档序号:6444397阅读:182来源:国知局
专利名称:可重新启动的计算机数据库的信息处理的制作方法
在此引用的美国专利申请09/283,223(发明人为K.F.Day Ⅲ等人)显示的是一种使用同步令牌的数据存储库系统,用于在数据存储库中存储和跟踪许多数据的副本。
本发明涉及有关计算机数据库的信息处理,更具体地说,是在终止和重新启动的过程中保护数据库的处理信息。
有效性是许多计算机系统的关键环节,它需要该系统以尽可能少的停机时间尽可能多地保持工作。在许多事务中,系统的无效性能够对该事务产生即时的和持久的不良影响。如果在绝大多数计算机系统中产生致命的错误,计算机系统就必须被停止和重新引导。所有正在进行的活动连同正在处理的数据会丢失。通常存在的数据是处于上次在已停止的过程开始前保存的数据状态,但是,也不能保证数据的精确状态。因此,为了满足这些关键任务的需求,该系统必须保持稳定和连续运行而不丢失数据的状态。
一个必须尽可能保持运行的计算机系统的例子包括服务器,这些服务器支持关键任务领域中的大量客户和客户访问他们需要执行其工作的数据。该数据经常保存在磁盘驱动器,如RAID系统中,以用于短期的访问,和保存在数据存储库中以用于长期的访问。为了有效地操作系统,磁盘驱动器和数据存储库必须能够在连续的基准上保持运行。
RAID系统提供一种能保护数据的设备,它有效地复制数据,这样即使其中一个磁盘驱动器失败,数据副本也可利用。所引入的DayⅢ等人的申请揭示了一种把数据卷的冗余副本存储在两个(或多个)相同库中的数据存储库系统。为了节省时间,数据首先存储在一个库中,然后被复制到另一个库中。数据被再调用时,必须访问最新的副本。最新的副本通过与每个库中的每个数据卷直接相连接的同步令牌而确定。因此,在数据卷将被访问时,库中数据卷的同步令牌被访问和比较以确定最新的同步令牌。然后,从与最新的同步令牌直接相连接的库中访问数据卷。
如果在同步令牌处理的过程中发生误差,则管理,更新和比较同步令牌的库控制器必须被停止和重新引导,因此就停止了全部数据处理程序。因此,被接收以引导令牌处理的信息可能被丢失,为了查明每个数据卷的以前更新的状态,它就需要两个库的库存,这样最新的信息就能被再查看。而且,丢失的信息将不得不从初始源中复原,这样也许是不可能的。简单地寻找一过程来保存所有令牌信息一段时间以便复原令牌,这可证明是冒险的,因为如果其中的一个信息产生致命的错误,则再执行信息的处理动作可能再产生一致命错误,还会导致无限重复的循环。
对于处理任何数据库,也存在相同的问题具有高度的紧急状态和可能产生致命的错误。
本发明的概述本发明的目的是保护数据库处理信息以容许终止和重新启动而无需全系统范围的重新引导。
本发明所揭示的是一种计算机信息处理器,一种在计算机程序产品中可以实施的用于保护终止和重新启动过程中的数据库处理信息的方法,和一种实现本发明以保护同步令牌处理的数据存储库。
一正在处理的信息队列与一信息阅读器相连接,接收每个读入信息的副本。一完成响应检测器监测每个读入信息的有效完成响应信息,且在检测到有效完成响应信息时,就从正在处理的信息队列中删除复制的输入信息。在终止和重新启动时,重新启动处理器就启动信息阅读器以读取正在处理的信息队列中的输入信息,并从正在处理的信息队列中删除复制的输入信息。因此,这种删除能够在第二次重新启动时避免任何再访问所复制的输入信息,同时能够避免产生循环。
终止和重新启动的简易性容许受影响的数据库执行过程的特定再启动,而不是全系统范围的终止和重新启动。
启动处理器首先启动信息阅读器以从正在处理的信息队列中读取所有的输入信息,仅在从正在处理的信息队列中读取到所有保存的输入信息时,才读取新的输入信息。
为了更充分地理解本发明,应该参考下面结合附图的详细描述。


图1是根据本发明的用数据库管理器实施的计算机信息处理器实施例的方框图;图2是描述使用图1中的计算机信息处理器和数据库管理器的根据本发明的一种计算机实施方法的实施例流程图;图3是表示使用同步令牌以跟踪数据卷许多复制的数据存储库子系统的功能部件相互连接的方框图;图4是表示根据本发明一个实施例使用的图3数据存储库示例的功能部件的方框图;图5是存储在单个物理卷中用于图3和4中的数据存储库的逻辑数据卷的通用图;图6A和6B是使用图3和4数据存储库将数据卷与直接联系于数据卷的同步令牌关联起来的目录图形图;图7是描述图3数据存储库子系统一种方法的通用实施例的流程图;图8是描述处理使用图4数据存储库的同步令牌的通用方法的流程图。
本发明在下面参考附图描述的最佳实施例中加以描述,其中, 同一标号表示相同或相似的部件。在根据本发明最佳方式描述以实现本发明的目的时,应该明白对于本领域的熟练技术人员来说根据这些讲授可以对本发明进行各种变化而并没有脱离本发明的精神和保护范围。
参考图1,一种计算机信息处理器200根据本发明加以解释说明,它表示为用可以与一数据库214一起工作的数据库管理器212来实现。各种输入/输出215-217接收请求过程中的输入信息。输入信息请求计算机信息处理器和数据库管理器处理数据库214中的项目,该提供输出的处理器响应该输入/输出。请求过程可以从内部或外部将输入信息发给信息处理器驻留的装置中。例如,在数据存储库的库控制器中,请求过程或是请求将信息发送给信息处理器如虚拟磁带驱动仿真器的过程,或是一种内部库控制器程序。计算机信息处理器和数据库管理器执行输入信息中特定的过程。计算机信息处理器200和数据库管理器例如可以至少在一个可编程计算机处理器,如IBM RS-6000处理器中实现。该处理器设有一操作系统和根据本发明操作的应用程序。应用程序可由包括计算机可读程序编码的计算机程序产品组成。计算机程序产品可用电子装置提供,另一种情况,计算机程序产品可在处理器的I/O站提供,或由存储介质提供,存储介质存储可执行的计算机指令,它由一种产品制成,下面将对此作讨论。
如上所述,计算机信息处理器,数据库管理器,或它们运行的操作系统可能产生一致命错误,被停止工作和重新引导,或者可能被有意地停止工作和初始化,如为了更新编码。这种停止工作(故障)将使系统不能使用相当长的时间,通常为10-20分钟,直到重新引导或初始化完成为止。根据本发明,如果需要停止计算机信息处理器200,则整个系统将不会停止工作,并且计算机信息处理器在启动信号发出后将会在很短的时间内返回操作状态,显示出连续操作的特征。
在图示的实施例中,输入信息从输入/输出215-217提供给请求信息队列218。请求信息队列将这些信息按它们将被处理的顺序,正如本领域的技术人员所熟知的那样,如按优先顺序放置。
一启动处理器233启动信息阅读器219以从请求信息队列218中按处理顺序读取下一个信息,通常是,该信息在那时已从请求信息队列中被删除。根据本发明,信息阅读器219将请求信息队列中的信息放置在一个正在处理的信息队列220中。然后启动处理器将信息发送给执行该过程的模块,如数据库管理器212,以便该信息所确定的处理能被执行。一完成该处理时,响应信息就放置在响应信息队列221中,完成响应处理器222检测到完成时,就从正在处理的信息队列220中删除输入信息。正如本领域的技术人员所熟知的那样,该响应提供给输入/输出215-217。
队列由许多操作系统,如在IBM RS-6000处理器使用的AIX提供,正如本领域的技术人员所熟知的那样,应用程序可以使用这些队列以用于各种目的。在没有提供队列的系统中,还正如本领域的技术人员所熟知的那样,队列通过提供合适的程序代码而能够建立。请求信息队列218和响应信息队列221是典型的信息处理器。根据本发明,提供正在处理的信息队列220,以存储输入信息。
设置一常用的看门狗225(监视器),以监视请求信息队列218,响应信息队列221和计算机信息处理器200,还可以任意地监视数据库管理器212。看门狗监视这个过程寻找“固定(stuck)”或“死机”操作。如一个例子中,过程可以进入一个循环和“死机”。在另一个例子中,该过程可以尝试操作系统的非法操作,从过程表中退出,终止此过程,将会“死机”。看门狗可能从请求信息队列218中读取信息的时间中等待一段预先设定的时间,以便在响应信息队列221中寻找一有效完成响应。看门狗可发送一个询问,例如“强制回应”(ping)给过程240,或通过请求信息队列218,寻找表示该过程在正确地进行中的响应。如果没有响应,则看门狗可询问操作系统以确定该过程是在过程表中,是“固定”的,或没有在处理表中,是“死机”的。
如果该过程已失败,看门狗225就将一失败信号发送给终止/重新启动处理器230。另一方面,该操作系统或操作员可以决定终止计算机信息处理器200,并且在输入端231显示。然后终止/重新启动处理器230终止计算机信息处理器200的当前操作,将一扼杀信号提供给计算机信息处理器。
接着,根据本发明,作为终止的结果而完成任何动作后,终止/重新启动处理器230就证实计算机信息处理器的终止,然后提供一在启动信息处理器233开始一新的计算机信息过程的启动信号。启动处理器使信息阅读器219从正在处理的信息队列220中读取输入信息,由此在终止产生的相同点开始信息的处理。
此外,根据本发明,已从正在处理的信息队列220中读取的每个信息要从该队列中删除。因此,如果该信息是终止的原因,则在一进行第二次终止和重新启动时,该信息会从该队列中清除掉,而且是无效的。因此,它不可能形成无限的重复循环。
图2说明本发明实施例的一种计算机。参考图1和2,在步骤235中,在215-217中之一的输入端接收一输入信息,在步骤236中,该输入信息被存入请求信息队列218中。然后该输入过程循环返回步骤235中以接收下一个输入信息。如上所述,在步骤236中,信息队列可根据所需的优先顺序放置输入信息。
在步骤242中,启动处理器233以确定任何信息是否在正在处理的信息队列220中。如果不在,则在步骤237中,该启动处理器操作信息阅读器219以从请求信息队列218中读取下一个信息。
根据本发明,在步骤238中,通过信息阅读器从请求信息队列中读取的信息被复制到正在处理的信息队列220中。根据惯例,该信息被信息阅读器219读取后将从请求信息队列218中删除。因此,该输入信息能在正在处理的信息队列中得到暂时的保护。
然后由该信息确定的处理在步骤239中开始,在步骤240中执行,在步骤241中产生一完成响应。如上所述,在步骤243中,看门狗225监视该过程。例如,在步骤241中,看门狗可从请求信息队列218中读取信息的时间中等待一段预先设定的时间,以便在响应信息队列221中寻找一有效完成响应。此外,看门狗可发送一个询问,或“强制回应”(ping)给过程240,或在步骤236中经过连接器244通过请求信息队列218发出。
如果该过程能在合理的时间内正常完成,步骤245就确定该信息是否来自请求信息队列218,或计算机信息处理器200是否处于正常或重新启动的模式,下面将作解释。如果在步骤237的作用下被处理的输入信息来自请求信息队列218中,该处理器就处于正常的模式。因此,在步骤246中,该过程从正在处理的信息队列中删除该信息,表示该信息的过程已完成,该信息无需保护,连接器247返回步骤242以选择下一个信息。
然而,在步骤243中,如果看门狗对该过程检测出问题,或者在步骤248中,如果在输入端231提供终止输入,则在步骤250中,终止/重新启动处理器230就通过提供一扼杀信号,终止该过程。
接着,根据本发明,由于终止和通过终止/重新启动处理器230终止的验证,故当完成任何动作后,在步骤251中,该处理器经过连接器256提供一启动信号给计算机信息处理器的启动处理器233。在步骤242中,该启动处理器确定任何信息是否在正在处理的信息队列220中,以便给这些信息以优先次序。在步骤253中,通过信息阅读器219从保存在正在处理的信息队列220中的信息中读取下一个信息,以便信息的处理在终止产生的相同点开始。
根据本发明,在步骤253中从正在处理的信息队列内读取的信息在步骤255中从该队列内删除。该过程在步骤239中再重新开始,接着进入步骤240以执行这些信息的操作。在步骤243中,看门狗225再监视该过程。如果终止发生在步骤253读取信息的处理过程中,并且计算机信息处理器在步骤251中重新启动,那么该信息将会在步骤255中从正在处理的信息队列内删除,和被丢失掉。因此,就能避免一个无限重复循环,并且在步骤253从正在处理的信息队列中读取下一个有效信息,或者在步骤237从请求信息队列中读取下一个新信息。
步骤253中的信息在完成步骤240的过程和完成步骤241的响应时,步骤245就确定计算机信息处理器处于重新启动的模式。连接器247返回步骤242,并且正在处理的信息队列220被检验以确定是否有任何信息存留在队列中。如果“是”,则在步骤253中从正在处理的信息队列内读取下一个新的有效信息。如果正在处理的信息队列已被处理完,并且所有信息已在步骤255中被删除,则在步骤242中为“否”,过程就进入步骤237以从请求信息队列218中读取下一个有效信息。
因此,启动处理器233首先启动信息阅读器219以从正在处理的信息队列220中读取所有输入信息,并且仅在从正在处理的信息队列中读取完所有保存的输入信息时,它才启动该信息阅读器以从请求信息队列218中读取新的输入信息。
数据库处理的信息被保护以容许终止和重新启动而无需全系统范围的重新引导。
本发明的一个执行过程可以从多个数据存储库相对地访问可识别数据卷的冗余副本。冗余副本从使用可更新的同步令牌的库中访问,每个直接与一可识别数据卷相连接,同步令牌表示直接相连的冗余副本的相对更新水平。图3和4表示根据所引入的Day Ⅲ等人申请的一种数据存储库系统。在Day Ⅲ等人申请中关键处理元素是每个库的库控制器中的同步令牌处理器和数据库,下面将作解释。本发明提供一种保护数据库处理信息以容许终止和重新启动而无需全系统范围内的重新引导的设备。
参考图3,它表示一种数据存储库系统10的实施例,它根据Day Ⅲ等人申请经过多个指令器71-74将主机系统11和12冗余地和数据存储库14和15相连接。Day Ⅲ等人申请提供存储和跟踪数据存储库中数据多个副本的指令器。跟踪通过提供与同步令牌直接相连的数据卷的每个冗余副本而完成。每个指令器71-74通过接口69与主机相连接,通过接口70与库14或15相连接。
主机系统11和12连接于和使用数据存储库子系统10以存储数据,通常存储成数据卷,它不是主机立即需要的,例如,如果数据卷不被频繁地访问。然而,当需要该数据时,数据卷可被访问无数次,且被连续更新。因此,另参考图4,每个数据存储库由一“虚拟”库组成,它包括非易失性超高速缓冲存储器,如磁盘驱动器40,用于保存被最新访问的数据卷,还包括一后备存储器,如具有数据卷18的可移动数据存储介质,用于存储被频繁访问的数据卷。
数据卷从主机和指令器中提供给库,在提供一“返回”信号给主机之前,主机等待直到虚拟库将数据卷写入非易失性超高速缓冲存储器中。
主机系统11和12可以通过不同类型和数量的处理单元,服务器或计算系统而体现。数据存储库14和15可以包括任何相似的库以用于存储可移动可重写的数据存储介质,如盒式磁带或光盘。一适用的数据存储库的例子是IBM3494虚拟磁带服务器。可以提供多于两个的数据存储库14-15,每个存储每个冗余数据卷的冗余副本中之一。
参考图4,可移动数据存储介质被存储在至少被一个机器人22在库控制器30的控制下访问的存储架20中。包含数据卷18的存储架20中的可移动数据存储介质包括一后备存储器。多个数据存储器驱动器容许访问以读取和/或写入数据卷18。数据存储库是一个具有与数据存储器驱动器35相连接的非易失性超高速缓冲存储器40的“虚拟”库。存储器39可包括一个电子存储器,用于暂时存储与超高速缓冲存储器40连接的数据,或一个可具有非易失性容量的存储器,如“闪烁”存储器,具有一电池作为后备电源的存储器。超高速缓冲存储器40可包括一磁盘驱动器。库控制器30可包括一库管理器,它使用一数据库36跟踪每个数据卷和在其上存储该数据卷的数据存储介质,跟踪每个数据存储介质的存储架位置20,跟踪非易失性快速存储器39和非易失性超高速缓冲存储器40中的每个数据卷,和跟踪同步令牌。
数据库36和非易失性超高速缓冲存储器40可包括相同或不同的磁盘驱动器。
与库的通信是在存储器接口38引入至库控制器30,非易失性快速存储器39和地址驱动器35的。数据存储器驱动器35可包括存储在光盘中的数据卷18的光盘驱动器,或包括存储在盒式磁带中的数据卷18的磁带驱动器。
通常,在可移动数据存储系统中,多个数据卷18存储在被称之为物理卷的单个物理数据存储介质中。图5是物理卷44,如磁带盒中的磁带的示意表示图,它包含N个逻辑卷,以此代替N个单个盒式磁带51-58。在单个物理卷中的许多逻辑数据卷的存储器被称之为“卷堆栈”。在一种结构中,单个物理卷包括每个为50MB的140个逻辑卷,每个能被单独地寻址和访问。在另一种结构中,单个物理卷包括数量不同、尺寸不同的逻辑数据卷,每个能被单独地寻址和访问。这里,数据卷18可包括一个逻辑卷51等,或者,如果不提供逻辑卷,则数据卷18可包括一物理卷44。
逻辑数据卷和物理卷的关键标识符是包括一设定字符或空格的号码的“卷序号”或“VOLSER”。绝大多数物理卷具有VOLSER,或能译为VOLSER的相似标识符,它能在库机器人可读取的介质(磁带盒)一侧的标号上被编码。因此,物理卷44和逻辑数据卷51-58一样将具有一个VOLSER。典型的数据存储介质44包括一个能够识别存储在物理卷中的每个数据卷18的索引或卷目录表(VTOC)。
根据所引入的Day Ⅲ等人申请,库控制器30提供一直接与每个数据卷相连接的同步令牌,同步令牌包括一可更新的令牌。参考图4和5,同步令牌通过将令牌存储在数据库36中和借助VOLSER识别数据卷,可直接与数据卷18相连接。
参考图3和4,提供了多个指令器71-74,每个与主机11-12相分离连接,每个还与每个数据存储库14-15相分离连接。每个指令器对应于分离的分隔访问地址,如用提供的指令由主机寻址的数据存储器驱动器地址。例如,指令器71对应于驱动器地址0-3,指令器72对应于驱动器地址4-7,指令器73对应于驱动器地址8-B,指令器74对应于驱动器地址C-F。每个数据存储库14-15的库控制器30提供与每个数据卷直接相连接的可更新同步令牌。对应的指令器71-74将主机供给的每个数据卷提供给所有数据存储库,更新与所提供的数据卷直接相连接的同步令牌。因此,库14-15存储数据卷的复制副本。流动的每个数据卷通过直接相连接的同步令牌跟踪,同步令牌没有被主机跟踪,而同步令牌被指令器更新,且通过数据库和数据库处理器保存在每个库中。如果数据卷被更新,则指令器增值同步令牌,并且将更新的同步令牌提供给库以使同步令牌直接与数据卷相连接,从而跟踪数据卷的更新水平。由于每个冗余副本被更新,直接相连接的同步令牌也被更新,这样,数据卷的每个冗余副本的流动被同步令牌跟踪。
库控制器30至少包括一个可编程计算机处理器,如IBM RS-6000处理器,它设有一操作系统和根据本发明运行的应用程序。应用程序可包括由计算机可读程序码组成的计算机程序产品。计算机程序产品可由电子装置,如从网络或在通信接口38的主机11-12中之一,经过指令器提供。另一种情况,计算机程序产品可在处理器的I/O站提供,或从存储可执行计算机指令和包括一种产品的存储介质中,如图5中的数据存储介质中提供。是一种产品的存储介质的另一个例子是磁盘。其它适用的存储介质是盒式光盘,盒式磁带,盒式可移动硬盘,只读存储器(ROM)或可编程只读存储器(PROM)。对存储介质或存储器的需求是,它们能够存储计算机可执行指令的数字表示法。操作系统和应用程序可存储在数据库36中。
对应的指令器71-74响应于寻址主机11-12提供的指令和任何附属数据卷18,依次地将指令和附属数据卷18提供给所有数据存储库14-15,并且对应的指令器71-74更新每个与所提供的数据卷直接相连接的同步令牌。
同步令牌可包括可增加的整数,这些整数是由对应的指令器71-74通过增加每个与所提供的数据卷直接相连接的同步令牌,如图6A和6B的表61和表62中的列66而被更新的。对应的指令器可以以相同的整数值增加每个与所提供的相同数据卷直接相连接的同步令牌。该指令器可以通过比较每个与所提供的数据卷直接相连接的同步令牌的先前的整数值,和设定同步令牌为一个大于由比较结果所显示的最新整数值的值而确定整数值。
因此,指令器71-74相对于主机11-12来说用作数据存储库,并且将数据卷18的复制副本存储在数据存储库14-15中而无需主机的干预。流动的数据卷18通过同步令牌被跟踪,并且同步令牌直接与数据卷18相连接,不受到主机11-12的跟踪。
如果库14-15中的一个不可使用,则对应的指令器71-74可以访问另一个库中的数据卷18而无需主机的干预。
具体地说,每个指令器与每个数据存储库相分离连接,这样,即使一个库完全失效也不会对指令器产生不利的影响。
指令器71-74可以在其它库中更新数据卷和同步令牌,并且当失效的库可以使用,和数据卷可以被再次访问时,对应的指令器71-74将确定哪些同步令牌不配对,将提供最新的副本给主机,和将更新不是最新的数据卷,还无需主机的干预。
图7是根据所引入的Day Ⅲ等人申请的流程图,在此将作出讨论。另参考图1,主机11-12通过包括数据存储器驱动器地址的访问地址而寻址指令器,提供将被存储的数据卷,和接收被访问的数据卷。在步骤75中,指令器从有关可识别数据卷的主机11-12中接收指令,并且指令器与主机相分离,与每个数据存储库14-15也是分离的。在步骤76中,指令器响应于主机寻址的每个分离的分隔访问地址和响应于任何附属数据卷。在步骤77中,响应于分隔访问地址和数据卷再次请求的指令器首先请求所有数据存储库的同步令牌存储数据卷。然后,在步骤78中,指令器检查库所接收的同步令牌,确认具有数据卷最新同步令牌的库。最后,在步骤79中,指令器选择确认过的库。如果多于一个的库具有与数据卷直接相连接的最新同步令牌,那么指令器,例如根据旋转基础,选择诸库中之一。
图8是包括同步令牌的数据库91执行各种操作的通用实施例图。这些操作可包括初始化92以确定库的当前内容,文件操作93以存储或删除数据卷,库中数据卷的迁移94和令牌操作95。当任一操作完成时,连接器96指示库准备下一个操作。
文件操作93包括主机起主导作用的文件关闭97,和根据指令器的指令的另一个库起主导作用的文件复制98。在任一情况下,库在步骤99中存储数据卷。即使数据卷不会立刻被重新访问,它也存储在超高速缓冲存储器中以节约处理时间。
在步骤100中,当数据卷存储在超高速缓冲存储器中时,数据存储库控制器将超高速缓冲存储器标志指示器与数据卷的同步令牌相连接,以确认数据卷已存储在超高速缓冲存储器中。在步骤101中,该库会存储与图6A或6B的表61或62中的数据卷65主机相连接的同步令牌。
迁移操作94是在库内部进行的,它包括在步骤102中将数据卷从超高速缓冲存储器40迁移到后备存储器20中。然后在步骤103中库控制器30改变超高速缓冲存储器标志以表示迁移。
如果标志是未知的或还没有提供,则初始化操作92也可以执行。在步骤104中,库识别当前存储在超高速缓冲存储器39-40中的每个数据卷,将超高速缓冲存储器标志指示器与同步令牌相连接。在步骤105中,库识别也被迁移到后备存储器20中和当前存储在其中的每个数据卷,将超高速缓冲存储器标志与表示后备存储器的同步令牌相连接。
在步骤106中,指令器一接收到数据卷的请求,指令器就请求一同步令牌,并且库在步骤107中就执行一数据卷的读取令牌操作。在步骤109中,库从合适的表中读取同步令牌和数据卷的超高速缓冲存储器的标志,并且在步骤110中将步骤100,103,104或105中的超高速缓冲存储器的标志根据请求时库中数据卷的位置提供给与数据卷直接相连接的同步令牌。
主机,指令器或库在操作112中可以请求令牌扫描。在步骤114中,库控制器读取图6A或6B中表61或62的内容,并在步骤115中,提供所有同步令牌和任何附属标志给请求者。
当数据卷在操作116中从库内被去除时,任何超高速缓冲存储器标志在步骤117中被清除,且同步令牌在步骤118中被设定为零。图6A或6B的表61或62中的空格因此就被另一个数据卷的同步令牌使用。
因此,保持同步令牌数据库36是在管理数据存储系统的每个库14-15的操作中的关键的元素,是处于连续的操作中。库控制器30的令牌管理器建立所有队列和表的赋值,管理同步令牌。如果令牌管理器意外地失去作用,则在没有本发明的情况下,库控制器将不得不被停止和重新引导,因此就会停止整个数据处理过程。而且,重新初始化过程会冲洗掉所有队列。另参考图1,请求信息队列218和响应信息队列221将会被冲洗掉。因此,执行令牌处理所接收的信息然后也会丢失,它可能需要两个库的库存和/或初始化92以便查明每个数据卷的原先更新状态,这样最新的信息才可能被重新建立。例如,在任何主要过程停止时,IBM3494虚拟磁带服务器产生一个“CHECK1”,停止库控制器的操作和重新引导该控制器。
可能产生“CHECK1”问题的例子包括接收不能处理的请求,过程使用太多的存储器以至于操作系统扼杀该过程而引起的存储器泄漏,或操作超过所指定代码的程序而引起的分段违反。此外,可能有人工干预,它需要安装一个新版本或更新一些代码。若没有本发明,则可能需要10-20分钟去下落库和停止系统,安装新负载和重新启动。
参考图1和2,输入/输出215-217包括在令牌管理器中,如在共同代理的美国专利No.5,911,148中描述的磁带“ELF”中,它们每个是操作库活动的具体方面的接口,提供指令或信息给数据库36。
即使令牌管理器被终止,在看门狗225使其恢复时,本发明通过快速重新启动令牌管理器也容许库继续运行而无需停止工作。
如上所述,在步骤235中,输入信息在输入“ELF”215-217中之一被接收,在步骤236中,输入信息被加入请求信息队列218中。然后输入过程循环返回步骤235以输入下一个信息。
启动处理器233在步骤242中检验正在处理的信息队列,如果该队列是空的,则在步骤237中,信息阅读器219读取请求信息队列的下一个输入信息。
根据本发明,在步骤238中,信息阅读器从请求信息队列中读取的信息被复制到正在处理的信息队列220中。根据惯例,信息在被信息阅读器219读取时,它将从请求信息队列218中删除。因此,该输入信息被暂时保护在正在处理的信息队列中。
然后由信息中“ELF”所规定的数据库处理在步骤239开始,在步骤240中执行,在步骤241中产生一完全响应。如上所述,看门狗225在步骤243中监视该过程。例如,看门狗可以从请求信息队列218中读取信息的时间中等待一段预先设定的时间,以便在步骤241中,在响应信息队列221中寻找一有效完成响应。
如果过程在合理的时间内正常完成,则步骤245确定计算机信息处理器200是否处于正常模式。如果由于步骤237的作用而使所处理的输入信息来自请求信息队列218,则该处理器就处于正常模式,而不是重新启动模式。因此,在步骤246中,该过程从正在处理的信息队列中删除该信息,从而表示该信息的过程已经完成,该信息不需要保护,过程经过连接器247循环返回,以输入下一个信息。
然而,如果在步骤243中看门狗检测出该过程有问题,或者如果在步骤248中在输入231提供终止输入,则在步骤250中,终止/重新启动处理器230就终止该过程,命令操作系统停止(扼杀)计算机信息处理器工作,证实计算机信息处理器已终止执行。
然后,根据本发明,一完成终止引起的的任何动作,终止/重新启动处理器230就在步骤251中启动计算机信息处理器233,这可以在看门狗225中执行。在步骤242中,因为处理器230正在重新启动,故在步骤253中,它通过信息阅读器219从保存在正在处理的信息队列220的信息中读取下一个信息,这样信息的处理就能在终止产生的相同点开始。
根据本发明,在步骤253中从正在处理的信息队列中读取的信息在步骤255中从该队列中删除。该过程在步骤239中再次被启动,进入步骤240以执行信息的操作。看门狗225在步骤243中再次监视该信息。如果终止在步骤253读取信息的处理过程中产生,并且计算机信息处理器在步骤251中重新启动,则该信息将在步骤255中从正在处理的信息队列中删除,并被丢失。因此,就能避免无限重复循环,步骤253从正在处理的信息队列中读取下一个有效信息。
当步骤240的过程完成和用于步骤253信息的步骤241的响应完成时,步骤245确定计算机信息处理器处于重新启动模式,并返回步骤242。接着,在步骤242中,正在处理的信息队列220被检验以确定刚才所处理的信息是否是该队列中最新的信息。如果有一个信息在队列中,“是”,则在步骤253中,从正在处理的信息队列中读取下一个有效信息。如果正在处理的信息队列已被处理完,所有信息就在步骤255中被删除。在步骤242中,是“否”,该过程就进入步骤237以从请求信息队列218中读取下一个有效信息。
因此,启动处理器233首先启动信息阅读器219以从正在处理的信息队列220中读取所有输入信息,仅在从正在处理的信息队列中读取完所有被保存的输入信息时,才能从请求信息队列218中读取新的输入信息。
数据库处理信息被保护以容许令牌管理器的终止和重新启动而无需全系统范围内的重新引导,降低整个库。库看来将在稍微下降的水平上操作,然后将恢复正常操作,库系统本质上将继续不受影响。
本发明可替换的申请对于本领域的熟练技术人员来说可以预见得到。
至此本发明的最佳实施例已被详细地描述说明,很显然本领域的熟练技术人员可以对这些实施例作出修改和变化而没有脱离后面权利要求所限定的本发明的保护范围。
权利要求
1.一种用于在终止和重新启动的过程中保护数据库处理信息的计算机信息处理器,它包括一信息阅读器,用于读取输入信息;一正在处理的信息队列,它与所述信息阅读器相连接,以接收每个所述读取输入信息的复制副本;一完成响应检测器,它与所述正在处理的信息队列相连接,以监视每个所述读取输入信息的有效完成响应信息,并且当检测到所述有效完成响应信息时,从所述正在处理的信息队列中删除所述复制的输入信息;一启动处理器,它与所述信息阅读器相连接,以响应于终止后重新启动所述计算机信息处理器的启动信号,启动所述信息阅读器以读取所述正在处理的信息队列中的所述输入信息,从所述正在处理的信息队列中删除所述复制的输入信息,因此,当进行第二次所述重新启动时,所述的删除能够避免所述复制输入信息的所述访问。
2.如权利要求1所述的计算机信息处理器,它还包括一请求信息队列,它接收所述输入信息,并且与所述读取所述输入信息的所述信息阅读器相连接,所述输入信息在被读取时从所述请求信息队列中遭受删除;其中,所述启动信息处理器首先启动所述信息阅读器以便从所述正在处理的信息队列中读取所述输入信息,当从所述正在处理的信息队列中读取完所有所述输入信息时,就从所述请求信息队列中读取所述输入信息。
3.如权利要求2所述的计算机信息处理器,它还包括一数据存储库的令牌管理器,所述库具有与存储在所述数据存储库中的数据卷直接相连接的同步令牌,上述令牌存储于上述数据存储库的数据库中,其中所述输入信息与所述同步令牌相关,所述令牌管理器对应于所述读取的输入信息,管理执行所述同步令牌的操作。
4.如权利要求1所述的计算机信息处理器,它还包括一看门狗监视器,它监视响应于所述读取输入信息而执行的操作,直到通过所述有效完成响应信息而证实完成为止,从而监视在一预先设定的时间周期内所述操作终止或完成所述操作失败;在检测到完成操作的所述终止或所述失败时,就停止所述读取输入信息的所有所述操作,因此也就停止所述有效完成响应信息,并提供所述启动信号。
5.如权利要求所述1的计算机信息处理器,它还包括一响应于终止输入的终止输入处理器,用于终止响应于所述读取输入信息所执行的操作,接着提供所述启动信号。
6.一种用于在终止和重新启动的过程中保护数据库处理信息的方法,它包括下列步骤读取一输入信息;将所述读取的输入信息复制到正在处理的信息队列中;监视所述读取的输入信息的有效完成响应信息;一检测到所监视过的所述读取输入信息的有效完成响应信息,就从所述正在处理的信息队列中删除所述复制过的输入信息;一接收到终止后重新启动的启动信号,就从所述正在处理的信息队列中访问所述复制过的输入信息,读取所述输入信息,且从所述正在处理的信息队列中删除所述复制过的输入信息,因此在进行第二次所述重新启动时所述删除就能避免对所述复制过的输入信息的所述访问。
7.如权利要求6所述的方法,它还包括接收每个所述输入信息,将所述输入信息放置在请求信息队列中的启动步骤,其中所述输入信息读取步骤还包括从所述请求信息队列中读取所述输入信息,在被读取完时,所述输入信息要从所述请求信息队列中删除掉;并且其中所述启动访问步骤还包括从所述正在处理的信息队列中首先读取信息,在从所述正在处理的信息队列中读取完所有所述信息时,就从所述请求信息队列中读取输入信息。
8.如权利要求7所述的方法,其中所述输入信息与存储在数据存储库中数据卷直接相连接的同步令牌相关,所述同步令牌存储在所述数据存储库的一个数据库中,它还包括响应于所述读取输入信息,管理执行所述同步令牌的操作的步骤。
9.如权利要求6所述的方法,它还包括下列步骤监视响应于所述读取输入信息而执行的操作,直到通过所述有效完成响应信息而证实完成为止,从而监视在一预先设定的时间周期内所述操作终止或完成所述操作失败;在检测到完成操作的所述终止或所述失败时,就停止所述读取输入信息的所有所述操作,因此也就停止所述有效完成响应信息,并提供所述启动信号。
10.如权利要求所述6的方法,它还包括下列步骤响应于终止输入,终止响应于所述读取输入信息而执行的操作,接着提供所述启动信号。
11.一种能够和可编程计算机处理器一起使用的计算机程序产品,在此配备的计算机可读取程序编码包含在可编程计算机处理器中,该计算机程序产品在终止和重新启动过程中用于保护数据库处理的信息,它包括计算机可读取程序编码,它能使所述可编程计算机处理器读取一输入信息;计算机可读取程序编码,它能使所述可编程计算机处理器将所述读取的输入信息复制到一正在处理的信息队列中;计算机可读取程序编码,它能使所述可编程计算机处理器监视所述读取的输入信息的有效完成响应信息,并且在检测到所监视过的所述读取输入信息的有效完成响应信息时,能从所述正在处理的信息队列中删除所述复制过的输入信息;计算机可读取程序编码,它能使所述可编程计算机处理器一接收到终止后重新启动的启动信号,就从所述正在处理的信息队列中访问所述复制过的输入信息,读取所述输入信息,和从所述正在处理的信息队列中删除所述复制过的输入信息,因此在进行第二次所述重新启动时,所述删除就能避免对所述复制过的输入信息的所述访问。
12.如权利要求11所述的计算机程序产品,其中所述计算机可读取程序编码使所述可编程计算机处理器初始地接收每个所述输入信息,将所述输入信息放置在请求信息队列中;其中使所述可编程计算机处理器读取所述输入信息的所述计算机可读取程序编码还使所述可编程计算机处理器从所述请求信息队列中读取所述输入信息,所述输入信息一被读取完,就从所述请求信息队列中删除;并且使所述可编程计算机处理器访问对应于所述启动信号的所述复制输入信息的所述计算机可读取程序编码还使所述可编程计算机处理器首先从所述正在处理的信息队列中读取信息,当从所述正在处理的信息队列中读取完所有所述信息时,就从所述请求信息队列中读取输入信息。
13.如权利要求12所述的计算机程序产品,其中所述可编程计算机处理器还包括数据存储库的令牌管理器,所述库具有与存储在所述数据存储库中的数据卷直接相连接的同步令牌,所述令牌存储在所述数据存储库的数据库中,其中所述输入信息与所述同步令牌相关;其中所述计算机可读取程序编码还能使所述可编程计算机处理器响应所述读取的输入信息,管理执行所述同步令牌的操作。
14.如权利要求11所述的计算机程序产品,其中所述计算机可读取程序编码还能使所述可编程计算机处理器监视响应于所述读取输入信息而执行的操作,直到通过所述有效完成响应信息而证实完成为止,从而监视在一预先设定的时间周期内所述操作终止或完成所述操作失败;在检测到完成操作的所述终止或所述失败时,就停止所述读取输入信息的所有所述操作,因此也就停止所述有效完成响应信息,并提供所述启动信号。
15.如权利要求所述11的计算机程序产品,其中所述计算机可读取程序编码还能使所述可编程计算机处理器响应于终止输入,终止响应于所述读取输入信息而执行的操作,接着提供所述启动信号。
16.一种用于访问可识别数据卷冗余副本的数据存储库,所述冗余副本存储在多个所述数据存储库中,所述冗余副本响应于访问请求而被访问,所述可识别数据卷每个与一可更新的同步令牌直接相连接,所述同步令牌表示所述直接连接的冗余副本的相对更新水平,所述接收输入信息的库与所述同步令牌相关,所述库包括后备存储器,用于存储和访问所述可识别数据卷;一输入端,用于接收所述输入信息;和一库控制器,用于管理所述后备存储器,所述库控制器响应于与所述同步令牌相关的所述所接收的输入信息而管理所述同步令牌,所述库控制器读取一输入信息;将所述读取的输入信息复制到正在处理的信息队列中;监视所述读取的输入信息的有效完成响应信息;一检测到所监视过的所述读取输入信息的有效完成响应信息,就从所述正在处理的信息队列中删除所述复制过的输入信息;一接收到终止后重新启动的启动信号,就从所述正在处理的信息队列中访问所述复制过的输入信息,读取所述输入信息,和从所述正在处理的信息队列中删除所述复制过的输入信息,因此在进行第二次所述重新启动时,所述删除就能避免对所述复制过的输入信息的所述访问。
17.如权利要求16所述的数据存储库,其中所述库控制器还初始地接收每个所述输入信息,将所述输入信息放置在请求信息队列中;其中所述输入信息的所述读取还包括从所述请求信息队列中读取所述输入信息,所述输入信息一被读取完就从所述请求信息队列中删除;并且其中所述启动访问还包括首先从所述正在处理的信息队列中读取信息,当从所述正在处理的信息队列中读取完所有所述信息时,就从所述请求信息队列中读取输入信息。
18.如权利要求16所述的数据存储库,其中所述库控制器还监视响应于所述读取输入信息而执行的操作,直到通过所述有效完成响应信息证实完成,从而监视在一预先设定的时间周期内所述操作终止或完成所述操作失败;在检测到完成操作的所述终止或所述失败时,就停止所述读取输入信息的所有所述操作,因此也就停止所述有效完成响应信息,并提供所述启动信号。
19.如权利要求16所述的数据存储库,其中所述库控制器还响应于终止输入,终止响应于所述读取输入信息而执行的操作,接着提供所述启动信号。
全文摘要
在终止和重新启动过程中保护数据库处理信息的计算机信息处理器。利用正在处理的信息队列保存输入信息的副本。当检测到有效完成响应信息时,从正在处理的信息队列中删除所复制的输入信息。在终止和重新启动时,读取正在处理的信息队列中的输入信息,且从正在处理的信息队列中删除复制的输入信息。因此在第二次重新启动时,该删除能够避免所复制输入信息的任何重新访问,避免了循环。
文档编号G06F11/20GK1304095SQ0013525
公开日2001年7月18日 申请日期2000年12月12日 优先权日1999年12月13日
发明者格雷戈里·T·凯什 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1