专利名称:分布式数据处理系统和在分布式数据处理系统中处理数据的方法
技术领域:
本发明涉及一种分布式数据处理系统。包括多个服务器和多个连接到这些服务器的客户用于对待被控制的一目标执行一分布式数据处理过程,和一种在这样一分布式数据处理系统中处理数据的方法。
近年来在信息处理器和信息处理技术的进步已导致在不同领域的计算机处理的广泛实践。例如,由众所周知的用于金融机构的在线数据处理系统。这样的在线数据处理系统是一恢复系统故障的全双工结构。具体地,该双工系统由一现用系统和一后备系统组成,且在该现用系统发生故障的情况下,该现用系统转换到该后备系统以提供对用户的继续服务。
为了使该现用系统可在任何实践转换到该后备系统,各现用系统和后备系统具有待由该系统处理的数据的一数据库和该系统处理该数据所需的信息。当该现用系统的数据库的数据被更新为其数据处理操作的结果时,该后备系统的数据库的对应的数据也被更新,这样该现用系统和后备系统的数据库将在所有时间包含相同的数据。
在该后备系统的数据库将用现用系统的数据库被进行均衡时,该后备系统仅被保持在备用模式并不执行任何数据处理操作。该现用系统简单地发送一指令以将该数据库中的更新的数据写至该后备系统。因此,不需要执行对访问该数据库的一冲突控制过程。
上述在线数据处理系统具有大的系统规模且趋于将在系统故障情况下的实际上不利的影响强加给社会。因此,在本技术领域中已意识到实现全双工系统设计所需的硬件和软件的成本是不可避免的。
小尺寸的系统例如室内信息处理系统经常未结合有上述全双工原理,因为可用的资源是有限的且应被有效地利用。这些系统经常被构成以使在操作中,后备系统执行不同于现用系统处理的任务的另一过程。
近来的计算机在尺寸上变得更小且系能上变得更佳,并结合有高速处理器和大容量的主存储器和硬盘,而成本更低。鉴于这些进步,许多室内信息处理系统包括有多个服务器和连接至这些服务器的多个客户用于执行对这些服务器的数据的分布式处理。
对于这样的室内信息处理系统,已建议有各种不同的数据库后备功能以在这些服务器的数据库中保持同样的数据,如果一服务器发生故障,将处理从该服务器传送给另一服务器,并使用正常工作的另一服务器的数据库,恢复已被损坏或发生故障的一服务器的数据库。
例如,一些建议的数据库后备功能在这些服务器的数据库中保持同样的数据并使用另一服务器的数据库中的数据,恢复发生故障的一服务器的数据库中的文件(见日本专利申请No.7-11495和No.5-265829)。根据一公知的数据库后备过程,待被后备的数据被收集在一档案文件中,以使它们可在一缩短的时间周期内被后备(见日本专利No.11-53240)。
图6示出了使用正常工作的另一服务器的数据库,恢复一已被损坏或发生故障的服务器的数据库的过程。
图6中所示的一种分布式数据处理系统具有多个通过例如LAN的通信电缆被相互连接的服务器1、2和客户3、4。这些服务器1、2具有各自的存储相应数据库的数据库存储器6、7。服务器1、2被构成以用一分布的方式处理来自客户3、4的处理请求。这些服务器1、2和客户3、4具有各自的根据待由该分布式数据处理系统处理的任务已被累计的服务器应用1b、2b和用户应用3a、4a。用户应用3a、4a执行给定的处理序列。
为了根据来自客户3、4的处理请求更新服务器1、2的数据库中的数据,服务器1、2相互通信,复制处理器1a、2a,并在相互的数据库中反映在它们的数据库中的更新的数据,从而均衡了在它们的数据库中的数据。
如果因为某些原因,服务器1、2之一,例如服务器2的数据库发生故障且在该数据库中存储的数据被损坏,则使用正常的服务器1的数据库中的数据,恢复该故障数据库中的数据。
至今,如下地使用这些数据库的输出和输入功能来恢复故障数据库中的数据已成为惯例
客户3、4的处理操作被停止,且使用正常的服务器1的后备处理器8a的输出功能,数据库存储器6中的数据被存入一后备数据存储器6a中。然后,使用服务器2的后备处理器9a的输入功能,后备数据存储器6a中的数据被输入给数据库存储器7,这样,使得数据库存储器7可反映在该数据库发生故障后被更新的数据库数据直至该系统停机。然后,该分布式数据处理系统恢复其工作。
这些输出和输入功能执行以下处理根据输出功能,数据库中的数据被分成有关表定义的信息、有关数据的信息、有关索引定义(index definition)的信息、有关触发定义的信息、和有关匹配限制的信息,且这些信息项被存储在后备数据存储器6a、7a中。上述数据处理被执行以使数据处理量最小,以使后备数据存储器6a、7a具有存储以上信息所可用的足够的存储容量。根据输入功能,该数据库用这些划分的数据被重建。
当使用上述输出和输入功能,该数据库被后备时,可节省用于存储该些数据的硬件资源,但恢复数据库的过程很费时间。
例如,根据一通用数据库中的输入功能的处理时间很大程度上取决于该数据库的索引定义。具体地,重建索引所需的时间取决于数据量、索引数量、和这些索引中使用的表的场数(列数),并被如下地确定构建时间=数据量×索引数量×使用的场数×每场的处理时间。
生成系统中的数据库包含用于一完成(achievement)表等的大量数据,且这样的生成系统中的用户应用需要快速地从该表检索数据。因此,对于使用的索引数量和场数给出多个定义。因此,需要一长的输入处理时间。除了生成系统以外的,被要求处理数据库的系统也需要长的时间进行输入处理。
当一数据库正被恢复时,需要停止正常工作的一服务器的处理,并因此使整个分布式数据处理系统停机。这是因为如果当一故障数据库正被恢复时一正常工作的服务器接受来自一客户的处理请求并更新其数据库,则该正常服务器的数据库中的数据和正被恢复的数据库中的数据将相互不适合。在例如需要一天24小时工作的在工厂中的生产线的生产管理和机器设备控制(以下称为过程控制)的应用中,如果恢复数据库故障所需的系统停机时间太长,则将大大地影响生产效率。
已知有一群集系统,其中一分布式数据处理系统的多个服务器相互监视,且当任一服务器发生故障时,所有的功能被移至一正常的服务器以避免该分布式数据处理系统的停机。
然而,该常规的群集系统被应用于在例如硬件和OS水平的较高水平的功能故障,而非在例如数据库水平等较低水平的功能故障。该常规的群集系统需要某一时间周期来检查这些服务器的状态并在发生一故障时进行服务器的转换。而且,该常规的群集系统存在的不足之处在于由于由这些服务器的共享的多个通信地址的分配而使成本提高。
如果该常规的群集系统被结合在一生产系统中,该生产系统是一执行数据库中的更新、插入、删除等的数据处理的OLTP(在线事务处理)系统,则在一服务器转换期间,该整体系统被关断。由于当服务器转换被完成时,该系统自动地恢复开机,各客户需要一些用于识别一故障的装置。然而,因为该群集系统使用多个共享的通信地址,在发生一故障时,所有的通信地址由一正常工作的服务器接管。这样,在各客户中难以构建一用于监视一服务器变化的装置。
本发明的目的在于提供一种分布式数据处理系统,其包括多个服务器和连接至这些服务器的多个客户,该分布式数据处理系统可在任意服务器发生故障的情况下不进行系统停机,继续一处理序列;和一种在这种分布式数据处理系统中处理数据的方法。
本发明的另一目的在于提供一种分布式数据处理系统,其包括多个服务器和连接至这些服务器的多个客户,该分布式数据处理系统可在任意服务器发生故障的情况下,快速将连接至该故障服务器的一客户转换到一在客户管理下的无故障服务器并继续一处理序列;和一种在这种分布式数据处理系统中处理数据的方法。
本发明的再另一目的在于提供一种分布式数据处理系统,其包括多个服务器和连接至这些服务器的多个客户,该分布式数据处理系统可在任意服务器发生故障的情况下,快速恢复一数据库而不会使系统长时间地停机;和一种在这种分布式数据处理系统中处理数据的方法。
从以下结合附图进行的描述中,本发明的以上和其他目的、特征和优点将变得显见,附图示出的本发明的优选实施例仅为说明性而非限制性的例子。
图1是根据本发明的一分布式数据处理系统的方框图;图2是根据本发明的分布式数据处理系统被结合在一生产线中的一配置的方框图;图3是用于控制根据本发明的分布式数据处理系统中的客户的连接的一系统构成的方框图;图4是根据本发明的分布式数据处理系统中的一数据库更新处理器的处理序列的流程图;图5是根据本发明的分布式数据处理系统中的一更新信息传送单元的处理序列的流程图;图6是一常规的分布式数据处理系统的方框图。
图1是根据本发明的一分布式数据处理系统10的方框图。该分布式数据处理系统10包括通过通信电缆例如LAN别相互连接的多个服务器12、14和多个客户20、22、24、26、30、32。
当该分布式数据处理系统10正常工作时,例如服务器12和客户20、22、24、26进行一生产线的过程控制系统的处理,例如用于控制一生产胶片的生产机器的控制过程的处理,且服务器14和客户30、32进行用于管理生产计划、原材料和库存的生产管理系统的处理。
是用于进行过程控制系统的处理的服务器的服务器12基本上包括一数据库存储器122,用于存储在客户20、22、24、26之间发送和接收的例如生产指令信息、制造历史信息等(在后描述)的数据;一后备处理器123,用于在某些时间间隔在线后备数据库存储器122中的数据并在一后备数据库存储器124中存储该后备的数据;一档案数据发生器125,用于根据数据库存储器122中存储的且由客户20、22、24、26更新的数据库的更新信息,生成档案数据并在一档案数据存储器126中存储该档案数据;一复制触发(trgger)发生器132,用于根据由客户20、22、24、26执行的一数据库更新过程,生成一数据复制触发;一更新信息传送单元130,用于根据该数据复制触发,将该数据库的更新信息传送给另一服务器14;和一数据库更新处理器128,用于根据一对更新该数据库的请求,更新数据库存储器122中的数据。
档案数据发生器125用于在数据库存储器122中的数据库在后备数据存储器124中被后备后,根据新的更新信息,生成档案数据。在数据库存储器122中的数据库开始被后备之前的,档案数据存储器126中存储的档案数据被丢弃。数据库存储器122中的数据库可在由操作者设定的任何期望的时间间隔,在后备数据存储器124中被后备。例如,数据库存储器122中的数据库可在一天,即24小时的间隔,周期地在后备数据存储器124中被后备。在后备过程开始后直至下一后备过程开始的所有档案数据被存储在该档案数据存储器126中。更新信息传送单元130在由系统管理人设定的某些时间间隔传送更新信息。
是用于进行一生产管理系统的处理的服务器的服务器14具有一用于存储在客户30、32之间生成的、生产计划、原材料和库存的数据的数据库存储器142。该服务器14还具有一后备处理器143、一后备数据存储器144、一档案数据发生器145、一档案数据存储器146、一数据库更新处理器148、一更新信息传送单元150、和一复制触发发生器152,这些单元与服务器12的对应单元相同。
如图2所示,客户20、22、24、26具有对应的用户应用220、222、224、226,这些应用根据来自服务器12的生产指令信息,分别控制一切割机40、一卷绕机42、一包装机46和一打包机50,并将自这些机器收集的制造历史信息发送给服务器12。类似地,客户30、32具有用于执行包括在它们自己和服务器14之间的生产计划、原材料购买管理过程、和产品储存管理过程的任务的相应的用户应用230、232。
由客户20控制的切割机40将一主卷的摄影胶片材料切下一定的宽度以生成一切割卷。由客户22控制的卷绕机42将自切割机40提供的该切割卷卷绕进一筒壳,该筒壳由一模制和装配机44进行模制和装配。由客户24控制的包装机46用自一小盒提供设备48提供的一小盒包装一胶卷。由客户26控制的该打包机50用自一硬纸盒提供设备52提供的一硬纸盒包装装在该小盒中的胶卷。
各服务器12、14和客户20、22、24、26、30、32具有一硬件配置,该硬件配置包括一处理器、一主存储器、一硬盘、一网络接口等,如同一通用个人计算机的情况。上述的机器和用户应用在被安装在服务器12、14和客户20、22、24、26、30、32中的操作系统的控制下被操作。
以下将参照图2描述该分布式数据处理系统10的一正常工作模式。
首先,客户20接收来自服务器12的单独的生产指令信息并在一显示监视器屏幕上显示接收的单独的生产指令信息。其他客户以与客户20相同的方式工作。
该单独的生产指令信息由连接至服务器14的客户30、32生成,并自服务器14发送给服务器12。由服务器12自客户20、22、24、26收集的信息被从服务器12发送给服务器14。
从服务器12发送给客户20的该单独的生产指令信息包括与由生产计划数据指示的产品类型匹配的一主卷摄影胶片材料的生产批号。具有相同生产批号的一主卷通过一自供电车辆(carriage)或类似装置被自一存储室中存储的若干主卷中提供给切割机40。
客户20将例如切割条件,例如该主卷被馈送的速度和用于切割机40中的一表面检查装置的检查条件的工作条件发送给切割机40。根据自客户20提供的这些工作条件,切割机40将该主卷切下一定的宽度,从而生成一切割卷。
在此时,从该单个主卷生成多个切割卷。为了在后继的过程中识别这些切割卷,每当一切割卷被完成时,生成带有指示一乳剂号的印刷条形码、一主卷生产批号和一切割卷号的一标签,且生成的标签被施加给相应的切割卷。这些条形码由一条形码读取器读取,其将条形码输入客户20。
该切割卷被提供给由客户22控制的卷绕机42,并放置在一筒壳中。
自服务器12的数据库存储器122发送的单独的生产指令信息包括乳剂号、主卷生产批号和使用的切割卷的切割卷号。
卷绕机42自一存储室取出由该单独的生产指令信息指示的切割卷,并将该切割卷放置到位。该卷绕机42读取施加给设置到位的该切割卷的条形码并确认该条形码是否对应于该被指示的切割卷。该卷绕机42还经客户22,将多少先前的切割卷已被消耗了的信息发送给服务器12。客户22然后根据由来自服务器12的该单独的生产指令信息指示的这些条件,操作卷绕机42。
该卷绕机42有一穿孔机和一侧打印机。该穿孔机根据一被指示的格式在该切割卷中执行穿孔。该侧打印机在该切割卷上记录生产信息的一潜象。该生产信息包括以条形码形式记录的一胶片ID号、帧号、一缩写的产品号、一制造商的名称等。该胶片ID号连同生产计划的序号一起被保存在服务器14中,并被发送给服务器12且写在生产指令信息中,该生产指令信息被发送给客户22,客户22控制卷绕机42。
当该侧打印机打印该胶片ID号时,该胶片ID号连同其他打印信息一起被反馈给客户22,客户22确认该提供的ID号是否与由该单独的生产指令信息指示的胶片ID号一样。客户22将至此获得的与胶片ID号相关联的其他信息,即乳剂号、主卷生产批号和切割卷号发送给服务器12。该发送的信息被保存在服务器12中并被发送给服务器14。
卷绕机42还具有一切割器和卷绕器。在该侧打印机已经打印了需要的信息后,该切割器将从该切割卷上解开的一细长的胶片切割成对应于曝光帧数的一长度,这样生成一摄影胶片带。切割器根据包括在经服务器12发送给客户22的单独的生产指令信息中的制造条件进行工作。
该摄影胶片带然后被馈送给该卷绕器,该卷绕器还被提供有一通过模制和装配机自一叠放站模制和装配的一盘筒壳。该盘有一盘ID号,其经客户22读取并被提供给服务器12。
该服务器12存储与该盘ID号相关联的,有关该盘的筒壳的筒ID号和制造历史信息。因此,该服务器12可根据存储的信息,确认提供给卷绕机42的筒壳所属的筒ID号的范围、筒壳被制造所依据的次序号、和组装这些筒壳的部件的生产批号。
当这些筒壳被连续地提供给该卷绕器时,从施加在这些筒壳的标签上的条形码读取筒ID号,并马上输入客户22。
在条形码位置中的筒壳是待被与摄影胶片带相组合的一筒壳,该摄影胶片带接着将由侧打印机进行打印。因此,客户在侧打印机在该摄影胶片带上打印信息之前确认筒ID号。
这样读取的筒ID号被发送给服务器12,服务器12将该筒ID号与一待由侧打印机分配给该摄影胶片带的一胶片ID号进行比较。由于当生成生产计划数据时,服务器12保持分配给待被制造的产品的筒ID号和胶片ID号,服务器12可确定提供给卷绕器的筒壳的筒ID号是否正确。
当卷绕器工作时,该摄影胶片带的尾端与该筒壳中的一卷轴啮合,且然后该卷轴旋转以将该摄影胶片带卷绕进该筒壳。然后,关闭该筒壳的一遮光盖,将一摄影胶片筒完成为一产品。
由于已经知道该摄影胶片带的制造历史信息,包括乳剂号、主卷生产批号和切割卷号,该筒壳和摄影胶片带的制造历史信息作为与该筒ID号或胶片ID号相关联的生产管理信息,经服务器12被保存进服务器14。
这样生产的一定数量的摄影胶片筒被放置在一盘上,并存储在一叠放站中。在此时,该盘的盘ID号被读取并被发送给客户22,其将该盘ID号与该盘上的摄影胶片筒的ID号,即筒ID号或胶片ID号、关于摄影胶片筒的ID号的使用和缺乏的信息和制造历史信息相关联,并将该关联的信息反馈给服务器12。服务器12将该关联的信息发送给服务器14。
因此,代表该叠放站中存储的摄影胶片筒的ID号、产品类型和这些摄影胶片带和筒壳的制造历史的信息可与该盘ID号相关联地被识别。
客户24控制包装机46和小盒提供设备48。一摄影胶片筒被从卷绕机42提供给包装机46,在包装机46中,该摄影胶片筒被放置在一胶片壳中且然后存放在一小盒中。
来自服务器12的生产指令信息指示被使用的胶片壳所属的生产批号。该被使用的胶片壳的生产批号经客户24被发送给服务器12。
该小盒带有一指标和一指示该产品类型的条形码。当生产该小盒时,指示该产品的类型的条形码被印刷。然而,当该小盒被从小盒提供设备48提供给包装机46时,指示该小盒的包装材料ID号的一条形码被印刷。
在生成该生产计划时,待被印刷的包装材料ID号由服务器14确定。正如胶片ID号的侧打印的情况,在确认待被包装的摄影胶片筒的筒ID号和作为生产指令信息被发送的包装材料ID号相互符合后,该包装材料ID号被印刷。
包装在小盒中的摄影胶片筒然后被传送给由客户25控制的打包机50。打包机50被提供有来自硬纸盒提供设备52的包装硬纸盒,并例如在该硬纸盒中包装1000个摄影胶片筒。
该打包机50具有一包装单元,其在在硬纸盒中包装摄影胶片筒或产品时,在硬纸盒上打印一包装ID号作为一条形码。该包装ID号由服务器14确定,如同包装材料ID号的情况。相对于使用的由包装机46打印的包装材料ID号的范围,一包装ID号被分配给待被包装在硬纸盒中的1000件产品。包装ID号与这1000件产品之间的相关性被保存在服务器14中。因此,当从硬纸盒读取该包装ID号时,可能识别使用的在该硬纸盒中包装的这些产品的包装材料ID号的范围。
客户30、32执行在它们自己和服务器14之间的包括生产计划、原材料购买管理过程和产品库存管理过程的任务。客户30、32由在生产管理部门的操作员进行操作以将生产指令信息发送给服务器12并从已被服务器12收集并发送的这些产品的制造历史数据生成生产管理数据。
下面将描述根据图3中所示的客户20、30的系统结构的一分布式数据处理过程。由于客户22、24、26、32具有相同的系统结构,根据其的分布式数据处理过程将不作描述。
客户20具有一过程控制模块20a,用于控制切割机40;一连接目的地服务器信息参数20b(连接信息管理程序-manager);和一连接目的地服务器检查模块20c(连接信息转换程序-switcher)。类似地,客户30还具有一过程控制模块30a,用于控制生产管理;一连接目的地服务器信息参数30b(连接信息管理程序);和一连接目的地服务器检查模块30c(连接信息转换程序)。服务器12、14具有各自的工作状态信息表122a、142a。
当分布式数据处理系统10处于正常工作时,客户20被连接至服务器12并控制生产线的过程,且客户30被连接至服务器14并执行生产管理的任务。客户20的连接目的地服务器信息参数20b代表服务器12作为一缺省设置,服务器14被指示为一后备服务器。相反地,客户30的连接目的地服务器信息参数30b代表服务器14作为一缺省设置,服务器12被指示为一后备服务器。
当该分布式数据处理系统10被致动时,客户20的连接目的地服务器检查模块20c检查由该连接目的地服务器信息参数20b代表的服务器,即初始地被指示为一缺省设置的服务器12。具体地,该连接目的地服务器检查模块20c证实被指示为一缺省设置的服务器12的工作状态信息表122a,并如果服务器12处于正常工作,建立一连接。客户30以相同的方式工作。
如果服务器12不处于正常工作,则连接目的地服务器检查模块20c证实被示为一缺省设置的服务器14的工作状态信息表142a,并如果服务器14处于正常工作,建立一连接。如果服务器12、14都不处于正常工作,则显示一连接误差,且该分布式数据处理系统10被关断。
当建立一连接时,该连接目的地服务器检查模块20c指示连接端口信息给过程控制模块20a。接着,该连接目的地服务器检查模块20c周期地轮询工作状态信息表122a,且如果该连接目的地服务器停止其工作,则客户20的应用,即过程控制模块20a被自动地停止。客户30也以相同的方式工作。
如果当该分布式数据处理系统10正常工作时,一服务器发生故障并停止其工作,已被连接至被关断的服务器的客户20或30被自动地停止。例如,如果由于故障,服务器12被关断,则操作员操作已被关断的客户20以激活连接目的地管理软件(未示出)以将来自已通过连接目的地服务器信息参数20b被建立作为一缺省设置的服务器12的连接目的地改变到已被建立作为一后备服务器的服务器14。
客户20的连接目的地管理软件被构成以指定服务器12作为在正常条件下待被连接的一服务器及指定服务器14作为在发生故障的情况下待被连接的服务器。连接目的地服务器检查模块20c参照服务器14的工作状态信息表142a,并建立到服务器14的连接。
在此时,服务器12的数据库存储器122和服务器14的数据库存储器142存储相同的数据(如在后所述),且因此过程控制处理可被连续地执行,即使客户20被连接至服务器14。当服务器14由于故障停止其工作时,也是这样。因此,即使服务器12、14之一发生故障,该胶片制造过程被继续而不受到破坏。
以下将参见图1、4和5描述该分布式数据处理系统10的在正常工作下的一后备过程。
在图4的流程图中,在步骤S1,如果作为客户20、22、24、26执行的在切割机40上的控制过程的结果,或作为操作员进行的一动作的结果,出现对将数据插入数据库存储器122中存储的数据库,或改变其中的数据,或删除其中的数据的请求,则服务器12的数据库更新处理器128接收指示在该更新请求时生成的更新信息的一SQL(结构化询问语言)。然后,在步骤S2,数据库更新处理器128确定接收的SQL是用于更新其自己的数据库存储器12的数据库的一更新SQL还是用于更新另一服务器14的其自己的数据库存储器124的数据库的一传播SQL。
在步骤S3,如果接收的SQL是一更新SQL,则数据库更新处理器128根据该SQL的指令,将数据插入数据库存储器122中存储的数据库,或改变其中的数据,或删除其中的数据,并指令复制触发发生器132生成一复制触发。在步骤S4,该被指令的复制触发发生器生成一复制触发以复制该数据库。在步骤S5,根据该复制触发,该复制触发发生器132将该更新SQL转换成一传播SQL,并将该传播SQL提供给该更新信息传送单元130。
在图5的流程图中,在步骤S21,该更新信息传送单元130以一定的时间间隔执行一轮询过程。在步骤S22,如果更新信息传送单元130被提供来自复制触发发生器132的传播SQL,则在步骤S23,更新信息传送单元130将该传播SQL传送给数据库更新处理器148。在步骤S24,如果更新信息传送单元130接收到来自数据库更新处理器148的确认该传播SQL的一确认信号,则在步骤S25,更新信息传送单元130删除其自己的传播SQL。
在图4中,数据库更新处理器148确定在步骤S1中接收的SQL是由客户30、32生成的一更新SQL还是在步骤S2中自另一服务器12传送的一传播SQL。
如果接收的SQL是一传播SQL,在步骤S6,则数据库更新处理器148确定该传播SQL的更新信息是否代表一数据插入,在步骤S7,确定该传播SQL的更新信息是否代表一数据变化,以及在步骤S8,确定该传播SQL的更新信息是否代表一数据删除。在步骤S9、S10、S11,数据库更新处理器148还确定该改变信息是否具有数据。如果该改变信息没有数据,则该传送过程被判定为发生故障,且在步骤S12处理一误差。
在步骤S13中对所有传播SQL执行上述处理后,在步骤S3,更新数据库存储器142中的数据库。在该情况下,数据库处理器148发出一复制触发发生禁止指令给复制触发发生器152。该复制触发发生禁止指令禁止根据该传播SQL的更新信息被从更新信息传送单元150传送到服务器12。
以此方式,服务器12、14的各自的数据库存储器122、142中存储的数据库被保持为一相同的数据库,尽管异步地。
在一异步地执行处理的分布式数据处理系统中,一数据冲突可被预期。然而,在根据本实施例的分布式数据处理系统10中,这样的数据冲突可被防止,因为根据各被连接的数据库,在正常工作下,生产管理系统的功能和过程控制系统的功能被清楚地区分。也就是说,相对于用于插入、更新或删除数据的一传播SQL被再处理的相同记录,用于插入、更新或删除由被连接至该数据库的一客户生成的数据的各SQL不被处理。
服务器12、14的后备处理器123、143在一定的间隔,例如一天24小时的间隔将相应的数据库存储器122、142中存储的数据库拷贝到后备数据存储器124、144中,同时在工作中,生成用于数据库存储器122、142的后备数据。不同的过程可获得用于后备用于数据库存储器122、142的后备数据。这些后备过程包括例如用于一次后备数据库存储器122、142中的全部数据的一全后备过程、用于仅后备带有更新的数据的文件或仅后备在先前全后备循环后生成的数据的一差分后备过程、及用于仅后备带有更新的数据的文件或仅后备在先前全后备循环或先前差分后备循环后生成的数据的一递增后备过程。根据这些可用的不同的后备过程任一生成用于数据库存储器122、142的后备数据。
在开始生成后备数据时,档案文件发生器125、145丢弃累计至今这些数据库的更新信息的档案文件数据存储器126、146中的数据。然后,档案文件发生器125、145开始在数据库存储器122、142中记录新更新的数据作为在档案文件数据存储器126、146中的档案数据。
使用在OS水平的服务器12、14的一文件拷贝功能,实现后备数据存储器124、144中的数据库的后备。不象将数据库存储器122、142的结构信息和数据转换成相应的不同形式并将它们输出作为文件的输出功能,该文件拷贝功能照原样拷贝这些数据库,并仅费较短的时间后备这些数据库,尽管它需要较大的硬盘资源。
例如,鉴于输出功能需要约600分钟来后备一具有3G字节的数据库,而该文件拷贝功能仅需60分钟(600分钟的十分之一)来后备同样的数据库。然而,根据文件拷贝功能生成拷贝数据,需要使用用于数据库存储器122、142的文件和后备数据存储器124、144的数据的相同的设置和文件名。
带有上述配置,在服务器12、14正在工作的同时生成后备数据,且在后备数据已开始被生成后的数据库存储器122、142的新的更新信息被记录在档案数据存储器126、146中。这样,数据库存储器122、142可在短的时间周期内被有效地后备。如果例如数据库数据破坏的一故障出现,则可使用后备数据和档案数据快速地恢复该数据库数据。
下面将说明在发生故障以使服务器14的数据库存储器142的数据被破坏的情况下恢复数据的过程。
连接至服务器14的客户30、32将其连接目的地改变到服务器12,并且分布式数据处理系统10仅与服务器12一起工作。这样生产过程可被继续而不会系统关机。然后,故障的服务器14的硬件配置被恢复。例如,数据库142的硬盘被更换一个新的。
然后,后备数据存储器124中的数据通过文件拷贝被再存储在数据库存储器142上。通过该操作,在数据库存储器122被后备时,数据库存储器122中的数据库的复制被构建在数据库存储器142中。在该处理期间,该操作中后备过程开始后的档案数据被记录在档案数据存储器126中。
使用文件拷贝功能实现在数据库存储器142上再存储后备数据存储器124中的数据的操作。因此,包括在数据库存储器122、142中的设置的数据库被使得相互完全相同并存储在相同名称的硬盘驱动器中。为了接管连接至发生故障的一服务器的客户的处理,需要使用不同的全局名称用于来自一外部源的访问。
在用于后备数据的拷贝过程被完成后,连接至服务器12的所有客户20、22、24、26、30、32被暂时地关断以防止数据库存储器122被更新。然后,在档案数据存储器126中累计的档案数据被提供给,即写在数据库存储器142中。该写过程根据所谓的向前滚动(roll-forward)功能被自动地执行。该向前滚动功能与在通用数据库处理软件中结合的向前滚动功能相同。该操作将数据库存储器122、142中的数据恢复到相同的数据。
在完成上述恢复过程后,客户30、32被再连接到服务器14,并且服务器12、14被再激活以恢复整个分布式数据处理系统10的工作。
仅在除了后备数据以外的档案数据正被提供给数据库时,该分布式数据处理系统10完全脱离工作。如果在工作期间后备档案数据的时间间隔被设置为一天,则档案数据量最多等于一天内被更新的数据库数据的量。从档案数据恢复该数据库所需的时间在几分种到几十分钟之间。因此,分布式数据处理系统10被关断的时间周期也被减少到几分种到几十分钟之间。系统停机时间远短于根据常规的输出和输入功能恢复数据库所需的约8小时的时间。
尽管详细示出和描述了本发明的某一优选实施例,应理解在不脱离后附的权利要求的范围的前提下,可作出各种不同的改变和变型。
权利要求
1.一种分布式数据处理系统,包括多个服务器(12、14)和连接到这些服务器的多个客户(20、22、24、26、30、32),用于对待被控制的一目标执行一分布式数据处理,各所述服务器包括一数据库存储器(122、142),用于存储由所述客户执行的分布式数据处理过程更新的一数据库;一复制触发发生器(132、152),用于根据通过所述客户执行的分布式数据处理过程的所述数据库的更新,生成一复制触发;一更新信息传送单元(130、150),用于根据所述复制触发,将所述数据库的更新信息传送给另一服务器;及一数据库更新处理器(128、148),用于根据自另一服务器传送的该更新信息,更新所述数据库。
2.根据权利要求1的分布式数据处理系统,其中各所述客户包括一连接信息管理程序(20b、30b),用于管理这些客户被连接至的一连接目的地服务器的连接信息;及一连接信息转换程序(20c、30c),用于改变该连接目的地服务器的连接信息;该配置使得如果任何所述服务器发生故障,所述连接信息通过所述连接信息转换程序被改变,且该由连接至发生故障的服务器的这些客户执行的该分布式数据处理过程在所述连接信息被改变至的另一正常的服务器的管理下被继续。
3.根据权利要求1的分布式数据处理系统,还包括一后备处理器(123、143),用于在所述数据库处于工作时的预定时间间隔执行后备过程;一后备数据存储器(124、144),用于存储在所述数据库处于工作时执行的后备过程产生的后备数据;一档案数据发生器(125、145),用于根据在所述数据库处于工作时执行的后备过程已开始后生成的数据库的更新信息,生成档案数据;及一档案数据存储器(126,146),用于存储该档案数据;该配置使得所述数据库根据所述后备数据和所述档案数据被恢复。
4.根据权利要求2的分布式数据处理系统,还包括一后备处理器(123、143),用于在所述数据库处于工作时的预定时间间隔执行后备过程;一后备数据存储器(124、144),用于存储在所述数据库处于工作时执行的后备过程产生的后备数据;一档案数据发生器(125、145),用于根据在所述数据库处于工作时执行的后备过程已开始后生成的数据库的更新信息,生成档案数据;及一档案数据存储器(126,146),用于存储该档案数据;该配置使得所述数据库根据所述后备数据和所述档案数据被恢复。
5.根据权利要求1的分布式数据处理系统,其中所述服务器包括一服务器(14),用于管理这些客户之一,其是作为待被控制的该目标的一生产管理系统;及一服务器(12),用于管理这些客户之一,其是作为待被控制的该目标的一过程控制系统。
6.根据权利要求5的分布式数据处理系统,其中各所述服务器具有独立设置的分布式数据处理以使所述数据库可通过插入、更新或删除数据而被独立地处理。
7.一种用于在一分布式数据处理系统中处理数据的方法,该分布式数据处理系统包括多个服务器和连接到这些服务器的多个客户,用于对待被控制的一目标执行一分布式数据处理,包括有步骤根据由所述客户执行的分布式数据处理过程更新一数据库;根据通过所述客户执行的分布式数据处理过程的所述数据库的更新,生成一复制触发;根据所述复制触发,将所述数据库的更新信息传送给另一服务器;及根据自另一服务器传送的该更新信息,更新所述数据库。
8.根据权利要求7的方法,还包括有步骤如果任何所述服务器发生故障,改变连接至发生故障的服务器的这些客户的连接目的地到另一正常的服务器;及在该另一正常的服务器的管理下,继续由连接至该服务器的这些客户执行的该分布式数据处理过程。
9.根据权利要求8的方法,还包括有步骤再致动所述发生故障的服务器以在完成一恢复过程后再开始正常工作,所述再致动所述服务器的步骤包括有步骤关断所有连接至所述服务器的客户;再设置这些客户的连接目的地的信息;根据该设置信息,将这些客户连接到所述服务器;及在一正常连接状态下再开始该分布式数据处理过程。
10.根据权利要求7的方法,还包括有步骤在所述数据库处于工作时的预定时间间隔执行后备过程并保存由执行的后备过程产生的后备数据;根据在所述数据库处于工作时执行的后备过程已开始后生成的数据库的更新信息,生成并保存档案数据;及如果所述服务器之一发生故障,复制另一正常服务器的所述后备数据,并自该另一正常服务器的所述档案数据恢复该数据库。
11.根据权利要求7的方法,还包括有步骤在这些客户通过所述另一正常服务器被连续操作时,拷贝所述后备数据。
12.根据权利要求8的方法,还包括有步骤在所述数据库处于工作时的预定时间间隔执行后备过程并保存由执行的后备过程产生的后备数据;根据在所述数据库处于工作时执行的后备过程已开始后生成的数据库的更新信息,生成并保存档案数据;及如果所述服务器之一发生故障,复制另一正常服务器的所述后备数据,并自该另一正常服务器的所述档案数据恢复该数据库。
全文摘要
当一服务器(12、14)的一数据库存储器(122、142)的一数据库通过由客户(20、22、24、26、30、32)对待被控制的一目标执行的一分配数据处理过程而被更新时,一复制触发发生器(132、152)生成一复制触发。根据该复制触发,一更新信息传送单元(130、150)将更新信息传送给另一服务器(12、14)。该已接收到该更新信息的服务器(12、14)的一数据库更新处理器(128、148)更新该数据库存储器(122、142)中存储的数据库。
文档编号H04L29/06GK1320862SQ0110974
公开日2001年11月7日 申请日期2001年3月29日 优先权日2000年3月29日
发明者须藤章夫 申请人:富士胶片株式会社