远程数据恢复设备和方法

文档序号:6413036阅读:386来源:国知局
专利名称:远程数据恢复设备和方法
技术领域
本发明一般地涉及来自计算机数据存储装置和/或媒体的信息恢复,本发明尤其涉及由正常的工作环境无法访问的信息恢复,以及允许这种数据损失远程诊断和远程校正的方法。
背景技术
对用户来说,计算的真正价值并不限于构成该系统的硬件和软件的实际价格,而还包含了该系统中所呈现的数据的价值。确实,个人存储在计算机系统中的会计数据、知识财产、设计和生产信息以及/或其他记录,以及商业的使用具有极大的价值,这种价值远远超过了计算机装备本身的价值。
作为操作员失误、错误软件、瞬时电气事件、破坏行动或电气/机械故障的结果,常可发生失去访问计算机存储装置(诸如磁盘驱动器)上的数据的能力。在许多情况下,虽然数据不能通过正常的工作环境而访问,但是数据本身仍然存在于存储媒体上,并可以通过操纵媒体上的数据结构使其可访问,其中所述数据结构显示由工作环境使用的文件系统。这种对媒体上数据结构的操纵由经过培训并具备高度专业化的软件工具的技术人员非常可靠地执行。
有时候,数据不可访问的情况可能成为巨大费用和/或失去生意的原因,有时达到灾难性的程度。虽然一些数据形式可以成为重新创建的候选者,但该重新创建的花费可能从平常的到高额的。另外,数据重新创建要用有限的时间,该期间生意方面可能由于依赖于无法访问的数据而必需中止或受阻。还存在着各种通常在实时中获得的数据,这种数据不能重新创建,由此被认为是不可替代的。
传统的诸如脱机备用件之类的冗余机构会减轻数据损失情况。但是从脱机备用件恢复很耗时,并且可能提供相对于通过数据恢复处理可能得到的数据来说已老化的数据。因此,可以考虑理论上可从脱机备用件恢复的数据损失作为可能的数据恢复候选者。
商业数据恢复服务业以各种类别的服务记录了这些问题。这些典型地包含就位和离位服务。离位数据恢复服务(其中含有不可访问数据的媒体或装置由数据恢复技术人员在服务设备处处理)需要媒体或装置从消费者的房屋物理地转移,并迁移到服务设备处。这可能由于货运引起的延误而导致重要的停机时间。还存在数据敏感的情况,并且相应的安全考虑请求数据的离位是适当的。许多情况甚至是对由使用前夜的载体引起的延误是是敏感的。就位数据恢复服务(其中数据恢复技术人员和专业设备到消费者住宅并在当地进行服务)可减少停机时间,但技术人员和必需设备来回于消费者住宅的运输增加了费用。
有一些远程控制方法,允许计算机通过通信硬件连接到通信线路,从而由操纵者在也通过通信硬件连接到通信线路的第二台计算机处控制。这种硬件的配置在个人电脑中是典型的,并且这种远程控制软件对一般个人电脑操作系统易于得到。这种远程控制程序的例子包含各处的PC、远程2Carbon Copy等等。这种方法的一个缺点是被恢复的计算机必需驱动一支持远程控制软件的操作系统。因此,当操作系统不支持远程控制时,这种方法是没用的。
可靠地允许由远处的技术人员来远程恢复来自计算机存储媒体和装置的数据的系统和方法是当前技术领域中的迫切需要。传统的现有技术需要计算机存储媒体或装置在消费者位置或技术人员设备处由技术人员处理。已经成功地在电话线路上使用远处数据恢复服务的性能,以解决在位和离位恢复的缺点,但是需要目标计算机能够装载一个支持远处控制软件,并允许访问需要被恢复的数据的操作系统。不幸的是,导致数据损失的环境还可能引起正常操作系统不稳定或不可使用。因此,即使当正常操作系统不必需是可装载的或可依赖时,在现有技术中对提供远处数据恢复能力的方法也有一特别的需要。
本发明解决了这些问题,并提供一种来自计算机数据存储装置和/或媒体的,在正常操作环境中无法访问的远程数据的恢复方法和设备,以及数据损失的远程诊断和远程校正的方法。
发明概述本发明的一个目的是为包括但不限于正常操作系统无法运作的情形提供使远程数据恢复操作的装置。
本发明的一个实施例涉及数据恢复的方法,它包含步骤
由通信硬件从具有需要数据恢复的存储装置的本地计算机到由技术人员操作的远程数据恢复计算机建立通信线路;使技术人员能和本地计算机作用,访问所有在远程数据恢复计算机上的数据恢复程序;及使技术人员能诊断并校正本地计算机的存储装置上的数据损失。
在另一个实施例中,本发明的原理通过实行可引导数据恢复操作系统而达到,它具有足够的机能允许通过通信硬件与远程技术人员通信。远程技术人员还配备了专门的远程控制软件,允许通过通信软件与计算机的通信驱动可引导数据。当在恢复的计算机和远程计算机在进行通信时,在恢复的计算机上的数据恢复操作可在远程技术人员的完全控制下进行。
在较佳实施例中,远程数据恢复操作系统足够小,以直接从其本身的分配软磁盘工作,允许数据恢复操作在没有正常可引导操作系统的情况下进行。它能够从同一个分配软磁盘,或从远程技术人员的这种软件的比较大的程序库经通信硬件装载数据恢复实用软件。
在较佳实施例中,在装载时可引导远程数据恢复操作系统对当地使用者显示了有限数量的选择,允许使用者输入关于使用者数据恢复需要的性能和使用者个人数据的信息。当输入信息时,本地使用者可以确认其意图,以使操作系统通过连接的通信硬件建立和远程技术人员的联系。该联系可以立即开始数据恢复操作,或可排队请求,从而数据恢复操作在数据恢复技术人员有时间复验请求并准备数据恢复操作时进行。当数据恢复操作开始时,所有本地计算机的控制释放给远程数据恢复技术人员。技术人员然后能够操作本地计算机,就象技术人员直接坐在它前面一样,可访问所有在技术人员的位置上可得到的数据恢复实用软件以及可有选择地访问在数据恢复操作系统磁盘上的软件。
在使用中,使用本发明的数据恢复可通过将可引导远程数据恢复操作程序引导或输入到使用者本地计算机的存储器中来进行。然后远程数据恢复操作程序确定使用者的本地计算机的特定硬件配置。然后远程数据恢复操作程序可询问使用者其姓名、住址、电话号码等等。还可以询问使用者对数据恢复情况的解释。然后远程数据恢复操作程序通过通信硬件和远程数据恢复计算机建立初始电话线路,并下装由使用者在上面的步骤中输入的信息。如果时间允许,在远程数据恢复计算机处的技术人员通过远程线路对使用者计算机进行控制,并开始远程数据恢复程序。否则,对远程数据恢复处理允许稍后。相应地,远程连接被终止,然后在允许的时间重新建立,开始远程数据恢复。
给本发明赋予特征的新颖性的这些和其他各种优点和特点在所附的权利请求中以特殊性指出,并形成其一部分。但是,为了更好地理解本发明、其优点和通过对它的使用达到的目的,应该参考形成其另一部分的附图和描述部分,并且在该部分中描述和解释了本发明的较佳实施例。
在附图中,相应的参数通常表示几个示图中相应的部分;

图1是根据本发明的原理的设备的实施例的方块图;图2是根据本发明的原理的设备的另一个实施例的方块图;图3是本发明的实施例的本地环境的软件分级图;图4是本发明的实施例的本地RDR应用程序流程图;图5是本发明的实施例的本地RDR应用程序一部分流程图,它促进了本地计算机的远程控制操作;图6是本发明的实施例的本地RDR应用程序一部分流程图,处理通信频道事件;图7是本发明的实施例的本地RDR应用程序一部分流程图,处理各种输入的数据组;图8是本发明的实施例的本地RDR应用程序一部分流程图,发送输出通信数据组;图9是本发明的实施例的本地RDR应用程序的一部分流程图,阻止和处理用于文件创建/打开/关闭功能的本机操作系统API;图10是本发明的实施例的本地RDR应用程序的一部分流程图,阻止和处理用于文件读写功能的本机操作系统API;图11是本发明的实施例的本地RDR应用程序一部分流程图,阻止和处理用于显示屏幕读写功能的本机操作系统API;图12是本发明的实施例的RDR通信服务应用程序的流程图;图13是本发明的实施例的RDR通信服务应用程序的一部分流程图,它便利了回叫时间和本地计算机使用者之间的协商;图14是本发明的实施例的RDR通信服务应用程序的一部分流程图,它下装到本地计算机,并在该处导致执行数据恢复诊断应用程序;
图15是本发明的实施例的RDR通信服务应用程序的一部分流程图,它下装了合法协议至、并引起在本地计算机处执行协议读应用程序;图16是本发明的实施例的RDR通信服务应用程序的一部分流程图,它在本地计算机和适当的RDR工作站之间建立了本地连接,并保持所述本地连接;图17是本发明的实施例的RDR通信服务应用程序的一部分流程图,处理来自本地计算机的文件打开/创建/关闭请求组;图18是本发明的实施例的RD通信服务应用程序的一部分流程图,处理来自本地计算机的文件写请求数据组;图19是本发明的实施例的RDR通信服务应用程序的一部分流程图,处理来自本地计算机的各种请求数据组;图20是本发明的实施例的RDR通信服务应用程序的一部分流程图,控制来自RDR工作站计算机的TCP/IP消息;图21是本发明的实施例的RDR工作站主要应用程序的流程图;图22描述了计算机屏幕显示形式,其中本地计算机使用者可以在其中填写,以提供关于使用者身份和目前数据损失情况性质以及所需的相应服务等的信息;图23描述了将信息提供给远程数据恢复设备的管理员,以管理通信服务器的计算机屏幕;图24描述了允许远处数据恢复工作站的使用者控制并监视来自远处数据恢复本地计算机的程序的输出,以及控制和监视远处数据恢复本地计算机的实际屏幕表现的计算机屏幕;图25包含用于本地远处数据恢复应用程序的实施例中的数据结构的描述性附图;图26包含本地的远处数据恢复应用程序实施例中使用的另外的数据结构的描述性附图,以及远处数据恢复通信服务器应用程序中使用的数据结构的描述性附图;图27是本地RDR应用程序308中的IO逻辑层的流程图,它执行“取消”任何修改本地数据存储装置26的修改能力;图28是一应用程序的流程图,它操作记录文件,以方便放弃变更、新数据的确认和原始数据的潜在恢复。
发明详述现参照附图,描述远处数据恢复的设备和方法的实施例。图1中描述的是发明的一个实施例的方块图。数据恢复处理所需的本地远程数据恢复(RDR)计算机20描述为具有中央处理单元(CPU)和存储器21(典型地安排在共用系统板上)、本地输入装置22、本地显示器24、本地存储装置26和可拆装媒体存储装置28。另外,本地RDR计算机20显示具有本地通信硬件单元30,用于和其他计算机,例如调制解调器或网卡进行通信。本地RDR计算机20可能是任何IBM兼容系统或其他一般由各类贩主出售的计算机系统,诸如GATEWAY2000,IBM,APPLE,Hewlett Packard。Compaq等等。特别地,本地RDR计算机20的主系统板可具有INTEL CPU,诸如386、486或586,或任何其他具有适当数量随机存取存储器(RAM)的微处理器。本地输入装置22可以是任何适当类型使用者输入装置,诸如键盘、鼠标、指针、触摸敏感显示屏幕等等。可以有不止一个使用者输入装置22。本地显示器24可以是任何适当的显示装置,诸如可视显示单元。本地存储装置26可以是内部的或外部的,并可以包含各种技术。存储装置可以是传统的硬盘驱动器,诸如Winchester技术、光盘、CD-ROM等等。可拆装媒体存储装置28可以是传统的软磁盘驱动器或任何其他适当的可拆装媒体驱动器。本地通信硬件单元30可以是任何传统类型调制解调器装置,诸如Hayes兼容调制解调器、ISDN调制解调器、无线调制解调器,或者可以是传统的本地区域网络、广域网络或Internet(LAN/WAN/InterNet)连通硬件,诸如网卡等等。
图1中输出用于远程数据恢复的远处数据恢复(RDR)工作站40的实施例,它具有CPU和附属的存储器41、远程输入装置42、远程显示器44、远程存储装置46和远程可拆装媒体存储装置48。RDR工作站40还示出具有远程通信硬件单元50,诸如调制解调器或网卡。有一点可欣赏,即本地RDR计算机20和RDR工作站40之间的主要通信频道35可以是电话线路或传统的LAN/WAN/InterNet连通通信信道。
图2中描述的是根据本发明原理的系统的另一个实施例。在这个实施例中,多个RDR工作站40由局域网络互连。在实施例中示出一文件服务器60,它通过网络62(最好是TCP/IP网络)和RDR工作站40相互连接。文件服务器60具有存储在网络共享驱动器65上的数据64,从而数据可由RDR工作站40和通信服务器68访问。RDR工作站40能够以如此形式通过TCP/IP网络62和通信服务器68通信,以允许在选出的RDR工作站40和任一的网络通信硬件单元69之间建立一个或多个逻辑连接。网络通信硬件单元69可以是连接到外部电话线路的调制解调器或可以是连接到LAN/WAN/InterNet的网络硬件的调制解调器等等。网络硬件通信单元69通过通信交换机70(诸如PBX)和本地RDR计算机20进行通信。相应地,任何一RDR工作站40可以用于通过通信信道35恢复来自本地RDR计算机20的数据,同时多个其他RDR工作站40用于恢复来自不同本地RDR计算机的数据。可使用这个实施例以允许在拨一个号或连接到LAN/WAN/InterNet上的一个实体后即可访问许多技术人员中的任何一个技术人员,以提供远程数据恢复。
在较佳实施例中,将远程数据恢复操作程序提供给本地RDR计算机20的物主/购买者(提供在诸如软磁盘之类的可拆装存储媒体上)。程序可以在购计算机地同时购买,或以后通过零售或邮购购买。另外,可以通过任何数量电子分配机构(包含通信服务器68和其网络通信硬件单元69的BBS之类的操作模式(“Guest模式))来提供。
如此由远程数据恢复操作程序提供的程序包含了足够的功能,以允许本地RDR计算机20的操作以及通过本地通信以及单元30和RDR工作站40的通信。
图3描述了包含远程数据恢复操作程序的各种软件部分。各种数据恢复应用程序300运作,以完成数据恢复和/或诊断处理。这样的程序可以包含存储装置功能诊断例行程序、存储媒体分析例行程序、在以十六进制、ASCII或其他和恢复中的文件系统相应的格式工作的扇区编辑器、文件恢复例行程序、文件不擦除例行程序和文件系统完整性检查/恢复例行程序(该例行程序和恢复中的文件系统相关)。这些数据恢复应用程序300以一般条件和在NORTON UTILITIES或Ontrack’s ODR-NTM或DOSUTILS软件组中找到的例行程序关联。
数据恢复应用DRA程序300通过一组应用程序接口(API’s)310与本地RDR应用程序308接口,其中应用程序接口310直接和基本输入/输出子系统(BIOS)360和/或操作系统340接口。本地RDR应用程序308有效地对这些API’s重新定向,或“勾”这些API’s,以允许DRA300的远程控制操作。另外,本地RDR应用程序308提供了专用API’s,它允许“RDR知道”应用程序通过将“通过”提供给“被勾”的BIOS功能316和OS功能314直接和通信子系统312接口。这样允许“RDR知道”应用程序绕过重新定向的功能,因此使能接口到本地RDR计算机20的操作者,以及通信子系统的控制。剩下的本地RDR应用程序308包含通信子系统码318和本地RDR应用程序码320。图4中示出本地RDR应用程序码320的流程图。
这种系统的软件部分包含数据恢复操作系统(DROS)306,作为本地RDR计算机操作系统340。DROS306允许在本地RDR计算机的本机操作系统不运行时发生远程数据数据恢复。DROS306包含支持本地RDR应用程序308所必需的例行程序和用于执行数据恢复处理的所需的数据恢复应用程序300。这种必需的例行程序的例子包含存储器管理、文件系统访问和管理、应用程序装载和执行、以及外部设备控制功能。这些例行程序通常等同于几个MS-DOS中断21H功能。为了在任何数据恢复应用程序300之外,允许本地RDR应用程序308运作,DROS306可以直接仿效本机操作系统的呼叫约定和协议。另外,可以设置类似于本机命令行解释程序的用户命令解释功能。本地RDR应用程序308还可如本地RDR计算机操作系统340一样,应用本机操作系统来运行。
在IBM兼容个人计算机的例子中,由基本输入/输出子系统或BIOS,360通过共享接口接到附属硬件380。当程序进入步骤402时,安装API’s312、314和316,并安装适当的操作系统和BIOS“勾”。这使任何随后装载的程序在远程控制下运作。在步骤404,向本地RDR计算机20的操作者提供一菜单,允许他将操作制定为新使用者、已注册的使用者,或退出本地RDR应用程序308。
如果在步骤410选择了新使用者选项,实行访问本地RDR计算机的硬件配置的例行程序。使用者在步骤412被请求用有关使用者身份、电话号码等等的信息,以及对数据恢复情形的环境和性质填写表格2210和2220。当完成了表格的填写后,在步骤414立即以新使用者进行拨号并与远程数据恢复设备建立通信的尝试。
如果选择了已注册使用者选项,在步骤420以已注册使用者马上进行拨号,并与远程数据恢复设备建立通信。
如果在步骤430确定连接到远程数据恢复设备的尝试不成功,则在步骤440将表示连接失败的对话显示给本地计算机的操作者,并且使控制返回到菜单。
如果在步骤430确定连接到远程数据恢复设备成功了,则在步骤450根据下面描述的逻辑控制在远处位置方向的远程控制的启动。当完成时,在步骤460终止通话,并且将命令通信硬件终止通话。
如果选择EXIT选项,本地RDR应用程序308在步骤406移去专用API’s312、314和316以及以前安装的操作系统和BIOS“勾”。
图5是在远处控制操作期间执行的本地RDR应用程序308的一部分流程图。在步骤504设定了关键数据结构(它们管理通信组接收和文件重新定向控制)的初始值后,本地RDR应用程序308进入一循环(步骤510-550)。这个循环在步骤510连续地控制所有通信事件,并派送一可能已从远处数据恢复设备传送来的命令。当在步骤520确定已从远程数据恢复设备接收到完成远程命令,并存储在本地键盘缓冲器中时,在步骤540显示远程命令,看它是否是一中止命令。如果已经接收到中止命令,则在步骤560退出例行程序。如果在步骤540确定命令不是中止命令,则在步骤550将命令发送到操作系统的本机命令行解释程序。注意,本地键盘缓冲器由在远程输入装置41始发的命令填入。如果在步骤520已确定在本地键盘缓冲器中没有完成命令,则在步骤530不启动超时(inactivity timeout)发现通信失败,并在步骤560适当地退出。由远程位置引导的相应的启动参照附图12描述。
图6中所示的流程图描述了本地RDR应用程序308中的通信事件的处理程序。通信事件处理程序从本地勾以及几个操作系统和BIOS勾中大量的指针中调出(例如在步骤450)。通信事件处理程序的目的是为通信驱动器服务、并派送进来的数据组(步骤602到630)。在步骤600启动了通信事件处理程序后,例行程序在步骤602确定是否接收到新字符。如果已经接收到字符,则在步骤605将字符放置在接收缓冲器中,然后在步骤610进行检验在接收缓冲器中是否有完整的数据组。如果在接收缓冲器中有完整的数据组,则将这些完整地形成的数据组与数据组接收控制结构的表进行比较。这个表通过指针连接字段2612保持为个别连接的表。搜索这个表以寻找匹配数据组接收控制结构。如果数据组的类型字段和数据组接收控制结构2610的数据组类型数字段2614匹配,则数据组计数字段2616增加,并且调出由数据组处理例行程序指针字段2618指出的例行程序。在图7中描述多个数据组处理例行程序,包括文件创建/打开或关闭ACK数据组(步骤700)、文件写请求列表数据组(步骤710)、回送确认(步骤720)、屏幕改变确认(步骤730)、显示数据组(步骤740)、击键数据组(步骤750)、文件读数据组(步骤760)、和回送请求(步骤770)。但是如果接收到的数据组在步骤620被确定为不匹配,则在步骤630忽视数据组,并且在步骤610处例行程序返回,寻找在接收缓冲器中的完整的数据组。如果在步骤602没有接收到字符,则在步骤650呼叫,以确保给了任何屏幕更新(它们已经发生,但是无法在前面发送)到达发送队列的机会。另外,在步骤655进行确定,看在发送队列中是否有出网数据组。若有,并且如果在步骤660中确定发送缓冲器中有空隙,则出网数据组在步骤670被添加到通信驱动器的发送缓冲器。发送队列由图26的2510所示的出网数据组描述符的个别连接列表执行。每一个数据组描述符包含连接到列表的下一个元素的连接2511,接着分段长度2512和分段指针2514对。每一对描述一个存储器区域,它可能包含要形成和发送的数据组。对子的集合通过输入一零长度字段而终止(如2516所示)。数据组本身用这个“集中写”原理,并且结合其他在步骤670将数据放置到发送缓冲器之前可能被实行者认为是适当的编码、成帧和失误控制方法而形成。
图7包含表示本地RDR应用程序308在处理各种数据组类型的行为的流程图。
文件创建确认、文件打开确认和文件关闭确认数据组在步骤700响应于那些所发送的请求在远程数据恢复设备中产生文件创建/打开/关闭作用的数据组而被接收。在步骤702通过只更新适当的文件控制结构2520处理这些文件创建/打开/关闭确认数据组,以反映请求被认知的事实,以及登记了文件创建/打开/关闭操作的情况。这允许进行被认知的文件创建/打开/关闭操作。
在步骤710处响应于最初的文件写请求,接收文件写请求列表数据组。这些文件写请求列表数据组包含那些远处数据恢复允许服务器装备接收的文件段的列表。在步骤712通过更新文件控制结构2520,处理文件写请求列表数据组,以反映新的请求列表,并随后在每一被更新的文件控制结构2520的步骤714发送文件写数据组。另外,在步骤716更新文件控制结构2520重新设定超时。参照图10进一步描述文件读和写的勾。
在步骤72响应于回送请求接收到回送确认数据组。为通信诊断能力提供回送结构。通过在步骤722将数据内容拷贝到专门的回送缓冲器,处理回送确认数据组,从而程序接下来可以进一步分析回送数据。
在步骤730响应于屏幕变化数据组接收屏幕变化确认数据组。在步骤732通过标记屏幕变化在不再传送时处理屏幕变化确认数据组。
在步骤740接收显示器数据组,作为将文本放置在本地RDR计算机监视器24上的指令。在步骤742通过将分组数据拷贝到本地显示器24来处理显示数据组,然后在步骤744发送显示数据确认数据组,以通知远程数据恢复通信服务数据组被成功地接收到,并被描绘在本地显示器24上。
当在RDR工作站40发生击键时,在步骤750接收到击键数据组,并通过RDR通信服务器68发送。在步骤752通过将分组击键信息拷贝到本地键盘缓冲器中来处理击键数据组。这允许本地RDR应用程序308非同步地检索这些击键,并按需要解释它们。然后当击键被存储到本地键盘缓冲器中用于以后由本地RDR计算机20中的操作系统或应用程序的解释后,击键确认数据组在在步骤754返回。
在步骤760响应于文件读请求列表数据组接收文件读数据组。文件读数据组包含已经由RDR通信服务器68读出并发送的实际远程文件数据段。在步骤762通过检查来处理文件读数据组,查看文件段是否是按照顺序的需要的段数。如果不是,则在步骤766发送校正过的读请求列表数据组。如果输入的数据组包含在步骤762所预期按次序的段数,则在步骤764将文件数据拷贝到数据缓冲器。
在步骤770接收回送请求数据组,作为通信诊断请求。通过在步骤772从回送请求数据组拷贝分组数据并在步骤774发送一个回送应答数据组,以响应这个回送请求数据组。
图8是本地RDR应用程序308中通信数据组发送例行程序的流程图。在步骤810通过将发送的数据组放置到传送队列中来开始例行程序。如果调出这个例行程序800的本地RDR应用程序308请求该例行程序800不在步骤830确定等待确认(ACK),则例行程序在步骤835对通信事件处理器作出呼叫,以保证数据组有被发送的机会,然后在步骤890以成功的状态退出。如果本地RDR应用程序308如在步骤830所确定的请求该例行程序应该等待确认(ACK)则进入一循环,它处理通信事件,直到在步骤850发生ACK,导致在步骤890成功地退出,或直到在步骤860确定超时状态。在超时状态的情况下,发送数据组和等待确认的顺序重试有限的次数(这在步骤870确定)。在步骤880在重试计数用完后的失败导致失败状态退出。
图9是本地RDR应用程序308中的文件创建/打开/关闭截断器,或“勾”的流程图。装入这个程序,以通过应用程序优先尝试创建、打开、或关闭任意的文件。这个勾的行为首先是在步骤910确定文件是否是远程或本地文件。这在文件打开/创建期间通过检查由这个例行程序的呼叫者提供的文件名执行,如果它是本地RDR应用程序308或数据恢复应用程序300,利用任意的协定,命名可从本地文件对它们进行诊断的远程文件,并在文件关闭操作期间通过检查由本地RDR应用程序308提供的文件处理执行。如果文件在步骤910由文本确定为本地的,则在步骤912操作被转移到系统的本机文件创建/打开/关闭程序。如果在步骤910文件被确定是远程的,则在步骤920构成文件创建请求、文件打开请求或文件关闭请求数据组。接收到的确认反映了远端请求的状态,这在步骤940对文件控制结构2520的内容产生影响。然后,状态返回每一个本机系统的文件创建/打开/关闭协定的本地RDR计算机20的操作者。在远程文件创建和/或打开活动的情况下,文件标识值返回到呼叫者,该呼叫者可以容易地从任何一文件标识值进行诊断,它可以从系统本机文件创建或打开程序合法地返回。这允许将来的读/写/关闭操作从远程文件诊断本地文件。
图10是本地RDR应用程序308中的文件读和写截断器或者“勾”的流程图。装入这一程序,以使尝试读或写任意文件的应用程序优先。这个勾的行为首先在步骤1010确定文件是否是远程或本地文件。这通过检查由这个例行程序的呼叫者提供的文件标识值执行,看它是否是本地RDR应用程序308或数据恢复应用程序300。如果在步骤1010由文本确定文件是本地的,则在步骤1012将执行转移到系统的本机文件读或写程序。如果文件被确定是远程的,则在步骤1020文件控制结构2520被更新,以反应请求的性质。根据文件控制结构2520的内容,在步骤1030构成并发送适当的文件读请求或写请求数据组。然后在步骤1040进入循环,它在步骤600继续处理通信事件,并在步骤1050测试读或写请求是否已完全满足。如果已经满足请求,则成功状态在1090返回每一个本机系统的文件读/写协议的呼叫者。如果在步骤1050确定请求未完成,则在步骤1060监视超时的情况。如果没有发生超时,则例行程序在步骤1040继续处理通信,并在步骤1050监视请求是否完成。如果在步骤1060发生超时,则在步骤1030重新发送有限次数。如果在步骤1020用尽计数,则请求在步骤1080处返回每一个本机系统文件读/写协议的失败状态。
图11示出本地RDR应用程序308的显示器屏幕写和读功能的“勾”的流程的冲击最小。屏幕写功能通过首先在步骤1110将完全地描述显示器屏幕状态的所需的屏幕写信息拷贝到内部缓冲器中而执行。缓冲区的目的是在步骤1170方便屏幕读勾,以及在它们选出和发送期间提供屏幕更新数据组源。较佳实施例将屏幕行变化描述符数据结构用于本地RDR计算机显示器24中的每一行字符。示于图25的2560的这些屏幕行变化描述符为每一行有关的字符描述列的范围(其字符已经被应用程度修改的、以及那些修改的字符未被放置在发送队列中心)。被修改但未发送的分栏的范围被称为那一行“沾污”范围,并由屏幕行变化描述符2560通过标记每一个屏幕行第一(最左边)沾污分栏2562和最后(最右边)沾污分栏2564来描述。在步骤1110将新的屏幕字符拷贝到内部缓冲器后,每一个受影响的显示行的屏幕行变化描述符将被修改,以保证“沾污”范围包括这些新写的分栏。然后在1130呼叫,以将任何未发送的屏幕修改放置在发送队列中以随后发送列及DR工作站40。
在1170-1178解释将屏幕变化描述发送到远程位置的尝试。如果在1172确认屏幕变化描述正在发送,并因为它们的传送中而未被确认,则这时不是发送屏幕变化信息。如果在步骤1174确定不存在显示未发送的屏幕变化的当前屏幕变化描述,则不采取行动。如果未遇到前面的情况,刚利用描述非尽沾污范围的下一个屏幕行变化描述符,将1178的表目添加到从内部屏幕缓冲器发送有关沾污屏幕内容的发送队列。屏幕变化现在是“在位送中”,并予消除有关的屏幕行变化描述符。当接收到随后的该屏幕行变化数据组的确认,则认为屏幕变化不再处于“传送中(每个步骤730)。如果没有确认而发生超时,则将传送面屏幕行变化描述。
显示器屏幕读功能的勾通过将所需的信息直接从内部屏幕翻译缓冲器拷贝到本地RDM计算机的缓冲器。
本发明的一个实施例中实行RDR通信服务器应用程序的至应用程序在图12的步骤程图中进行描述。典型地,每一个网络通信硬件单元69的应用线程启动,实行步骤1210到1280,当接收到进来的电活呼收时,步骤1210发送ASC11提示符,请求本地RDR计算机20的操作有提供所需的服务器类型。这允许通过位流终端应用程序以及通过自由地RDR应用程序308的高及自动化的呼叫处理使用远程数据恢复通信服务器。
在RDR通信服务器应用程序由任意的使用者用终端呼叫的典型情况中,使用中响应的在步骤1210处的提示符,作为“客人”。这使RDR通信服务应用程序作为著名的电子公告牌网络服务,其功能只由程序设计员的创造性和本地操作员的终应用程序的能力限制。服务的“客人”范畴的用处是它在于以著名的BBS的方式,改进组织的服务/产品。另外,它予以用于下载设备,以允许分派本地RDR应用程序308和有关的应用程序。
一理本地RDR应用程序由本地使用者所拥有,本地使用者可安装并使用应用程序,以从RDR通信服务应用程序访问“新使用者”类别。本地RDR应用程序308可以确认步骤1210设置的标识符,并且是RDR通信服务应用程序所期望的响应,并在图4中描述。
在步骤1225,RDR通信服务器应用程序确定本地RDR应用程序308是否请求服务的“新使用者”类别(步骤404)。将在本地位置产生的描述硬件配置使用者信息和问题描述(在步骤410,412)的文件拷贝到远程数据恢复设备,用于在步骤1230进一步的分析和加到登记的使用者数据库。
如果在步骤1234在当前时间确认进行远程数据恢复是不予行的,则在步骤1238显示一菜单,并义定进行远程数据恢复处理的时间。
在要开始前面议定的RDR程序的时候,在步骤1235,本地RDR应用程序308从RDR通信服务应用程序请求“先登记使用者”类型的服务。然后在步骤1240这个呼叫对登记的使用者的数据库进行鉴定。停止非鉴定呼叫。当通过图12描述的各级阶段建立3个别通信连接和程序时,程序的状态可从在通信频道状态窗口3210中通信服务器68的操作看控制台描述,例如图23中所示。
如果在步骤1234,“新的使用者”服务器被允许立即进行RDR程序,当在步骤1240成内鉴定先登记的使用者时,在步骤1250进行RDR诊断程序。参照图14描述诊断程序。在步骤1260描述任一提出的数据恢复服务的用户法律协议并然后提供给本发RDR计算机20的操作者。图15中详细描述了协议的发送和诉讼。如果在步骤1270确定本地RDR计算机20的操作者同意协议、项目,则在步骤1280进行远程数据恢复处理。参照图16详细描述远程数据恢复处理。
图13中的流程图描述了RDR通信服务器应用程序的部分,不管什么原因,只要在步骤1234确定在初始登记电话呼叫后应进行数据恢复处理,就请求该部分程序。维持调度,并在文件服务器60的网络共享数据存储器64上的文件在步骤1310被读出。然后在步骤1320由对这一特别的数据恢复附近状态的需要,处理这个文件,以确定处理RDR程序的适当调度时间的列表。诸如执行恢复所估计的时间,具体技术人员的可靠性之类的因系,以及其它优先的可用于产生该提供远程数据恢复服务器的适当时间的判定的列表。在步骤1330,在本地计算机开始一应用程序,在随后可看制定的时间表,并任意地选择相互同意的时间,以继续进行远程的数据恢复。如果在步骤1340选择这一时间,则在步骤1350将到时间表文件。如果在步骤1340没有选择这样的时间,则在步骤1360将对进一步的描述展现给本地RDR计算机20的操作者。步骤1360显示的选项可包括将设备发送到远程数据恢复设备,用于传统的离位恢复,或者请求在位种类的数据恢复服务。
图14是远程数据恢复通信服务器一部分流程图,该部分程序的执行数据恢复诊断,先在步骤1410进行核查,看在本地位置的分配媒体上是否存在当前版的诊断应用程序的有效拷贝。如果不存在该诊断应用程序的有效拷贝,或者没有适当版本的诊断应用程序,则在步骤1420将适当版本的诊断应用程序下载到本地位置。如在步骤1410确定存在适当的诊断应程序,则在步骤1430开始诊断应用程序。诊断应用程序执行数据恢复情况的诊断,并在步骤1440将记录放到通信服务器68的文件中,用于由远程的技术人员和/或远程数据恢复设备的其它应用程序。
图15是远程的数据恢复通信硬件应用程序的部分流程图,该部分程序帮助在法律协议本地TDT计算机20的操作者的表示和可任选的接收。首先,在步骤1510进行检查,看是否法律协议的当前版本的有效拷贝存在于在使用者位置处的分配媒体上。如果法律协议不存在,或者它不是适当的版本,则在步骤1520将法律协议的适当版本下载到本地位置,在1520的下载,或者在1510确定适当的法律协议处于适当的位置后,在步骤1530注释当前数据和时间。然后在步骤1540,在本地RDR计算机20开始协议实应用程序。协议阅读器应用程序允许本地RDR计算机20的操作者检查法律协议,并任选地接收包含于其中的项目。在步骤1550再次注释电操作者作接收/衰落响应和当前数据和时间。具有协议的数据和时间的精确的认识,表示和协议的接收可从是在解决任意可能在争论协议产生的争论的有关的因素。
图16是远程数据恢复通信服务器应用程序的部分流程图,它执行远程数据恢复。这一程序通过在操作RDR工作法40的技术人员能远程地控制本地RDR计算机20而完成。在步骤1610通过TCPIP形成和任意的RDR工作站40的逻辑连接,这可以执行远程数据恢复处理。另外,在步骤1620,在文件服务器60的网络共享数据存储器64上产生通话的唯一子方向。这个唯一子方向是由本地RDR计算机20的操作者产生的会话唯一文件和RDR通信服务器应用程序或者RDR工作站40可能希望产生的任何记录文件的资源库。然后进入一个循环,步骤1640~1660,它处在步骤1640处理来自本地RDR计算机20的通信数据组,并在步骤处理来自RDR工作站40的任意TCP/IP信息。如果在步骤1660确定没有从RDR工作站40接收到“挂起”信息,则继续循环。最终在步骤1600RDR工作站操作者在“挂起”信息发送(这终断了循环),并在步骤1670在“挂起”命令话向本地RDR计算机20。
图17是RDR通信服务器应用程序的部分流程图,它响应于从本地RDR计算机20通过网络通信硬件单元69到达的数据组,这需要打开、创建成关闭远程文件。数据组包含文件索引,其范围从0到当前打开的文件的最大数目,并且用于辨别这一请求的继续的数作为文件索引的唯一用处,因此可利用文件索引和连续的数据的组合确定这是否是唯一的要求,或者这是由于通信频道35中的错误导致失认知而再试要求。如果在步骤1710确定区不是前面要求的重复,则在步骤1720,则打开/创建/关闭每一个剩余的数据组的文件。如果在步骤1710确定该要求的确是一重复的要求,则跳过文件实际打开/创建/关闭。或者,如果在步骤1730处确定打开/创建/关闭要求是成功的,则在步骤1740在远程数据恢复通信服务器中开始每个打开/创建/关闭请求数据组的文件连接数据结构,然后在1750发送一成功的确认。
图18是RDR通信服务器应用程序的部分流程图,它响应从本地RDR计算机20通过网络通信硬件单元61到达的那些数据组,这要求文件写活动。接收到的第一个数据级理写文件初始数据组,检查文件上最后活动的继续数目,在步骤1810看它们是否是前面接收到的要求的重试。如果在步骤1810确定这不是复试,则在步骤1850执行开始(包括活动的存储器的分配以及初始文件控制经构2620准备)。如果在步骤1810确定不是尝试,则初始已经执行,但认知由于通信错误而遗失,故跳过了初始化,在两种之一的情况中,流程进到图18的A,它是确定怎样响应文件写数据组的算法的开始。在步骤1860进行检查,确定是否接收到通过整个写文件初始数据组的所有的写数据。如果已接收到所有的数据,则在到通过整个写文件初始数据组的所有的写数据。如果已接收到所有的数据,则在步骤1865将留有存储器缓冲器中心进行数据都写列文件上。在步骤1850分配的存储器现在在步骤1870处去分配,并且在步骤1880发送一空请求列表,以指出完成了文件写。如果在步骤1860的测试期间确定接收到更多文件数据,则在步骤1890用公式表示并发送了适当写请求列在数据组。这请求要求那些没有接收到数据的和有用的并且在当前不包含任何未写数据缓冲器空间的数据段。
当文件写数据组响应文件写数据请求数据组而到达时,在步骤1815根据数据组中顺序号确定这是否是重试。如果这是重试,则处理在点A继续。如果确定这不是重试,则在步骤1820将组数据拷贝到在步骤1850分派的缓冲器。如果在步骤1825确定段号的顺序不适当,则在步骤1845调整请求列表,以引起任何一未接收到的段的重新请求。如果在步骤1825确定段的顺序适当(象没有通信错误的情况),则在步骤1830进行一检查,看文件写活动是否在当前发生。如果没有文件写活动,则在步骤1835开始任何包含未写文件数据的数据缓冲器的文件写。然后在步骤1840调整请求列表,以考虑如此接收到的文件段,以及现在自由接收更多数据的文件数据缓冲器。然后处理在点A继续。
图19描述了各种存在于RDR通信服务器应用程序的实施例中的数据组处理器。在例行程序开始的步骤1900回送请求数据组,在步骤1902发送回送确认数据组,它包含最初的回送请求数据组中的任选的回送数据组的拷贝。文件读请求列表数据组包含本地使用者准备接收的数据的文件段的列表。这些文件读请求列表数据组由例行程序开始的步骤1910控制,在步骤1920执行实际读,然后在步骤1930以文件读数据组的形式发送数据。在例行程序开始的步骤1939处理的屏幕变化数据组在步骤1940进行检查,看它们是否是已经处理过的数据组的重试。在有许多其他数据组的这种检查由包含在数据组中的顺序号的功效实现。如果在步骤1940确定数据组不是重试,则在步骤1950通过将其由TCP/IP连接引向远程数据恢复工作站。在此动作后,或确定数据组为重试,则在步骤1960将屏幕变化确认数据组发送到本地RDR计算机20。
图20是表示步骤2002-2008的执行段(它在RDR通信服务器应用程序中连续工作,以监视远程数据恢复工作站的连接),以及连续控制来自RDR工作站40的信息(当它们活动地包含在远程数据恢复操作中时)的执行段。
连接监视段(步骤2002-2008)监视TCP/IP端口,这对所有系统上的RDR工作站40是已知的。RDR通信服务器应用程序在步骤2002等待任一RDR工作站40以建立TCP/IP连接。因此,任一开始其RDR工作站应用程序的RDR工作站40(在下面的图21中描述)通过这一端口建立逻辑连接。当在这一端口上建立TCP/IP连接时,在步骤2006产生出另一个执行段,它处理来自RDR工作站40的信息。如此连接的RDR工作站40在步骤2008记录为能够执行远程数据恢复服务。在步骤2008如此记录的RDR工作站连接可以描述在通信服务器68的操作者的控制台上(在工作站状态的窗口2320),如图23所示。
在步骤2006作为TCP/IP连接的结果而产生的段(步骤2010-2075)有责任处理所有由RDR工作站40发送的TCP/IP信息。这种类型的独立的段为所有RDR工作站40而存在于RDR通信服务应用程序中,它们当前被建立为远程数据恢复服务的可能的提供者。这些作为RDR工作站40的操作者而接收信息的段在远程数据恢复表现中进行活动。
特定的TCP/IP信息通常通过由通信硬件上的各种数据组将这些信息引向本地RDR计算机20而控制。在步骤2020发现表示击键的TCP/IP信息,并在步骤2025引向本地RDR计算机20,作为击键数据组。在步骤2030发现表示显示信息的TCP/IP信息,并在步骤2035引向本地RDR计算机20,作为显示数据组,类似地,在步骤2040发现“挂断”TCP/IP信息,并在步骤2045引向使本地RDR计算机20挂断对话连接。剩余的TCP/IP信息类型是“退出”信息,它是由RDR工作站操作者退出RDR工作站应用程序而引起的。当在步骤2050发现“退出”信息时,在步骤2075引起RDR通信服务应用程序记录这个RDR工作站不再准备处理远程数据恢复服务。然后在步骤2080关闭TCP/IP连接,而该执行段终止。
图21是表示应用程序的全部工作的流程图,它控制RDR工作站40。当在步骤2100启用RDR工作站应用程序时,在步骤2110通过RDR计算机服务器68上预定的固定的TCP/IP端口和RDR通信服务应用程序建立逻辑连接。然后进入循环(步骤2115-2120),它等到在步骤2115工作站操作者请求退出应用程序,或者在步骤2120从RDR通信服务应用程序到达一TCP/IP信息,请求开始远处远程数据恢复段。在步骤1610,通信服务器68发出TCP/IP请求以开始远程数据恢复段。在步骤2120由RDR工作站40检测该请求1610,窗口2410、2420和控制器2430、2440的集合被画在RDR工作站控制台44上,如图24中所示。
提供宏控制按钮2430以允许“宏”能力,从而任何个别按钮的活动都和多个预先设置的击键等价。提供状态控制按钮2440,以允许能指定状态信息以显示在RDR本地计算机控制台24上。
在步骤2130,任何在步骤117由本地RDR计算机20发送,随后由通信服务器68在步骤1950引出,并通过TCP/IP接收的屏幕更新信息表示在窗口2410上。由此,窗口2410示出所有由那些在本地RDR计算机20工作的数据恢复应用程序300执行的屏幕活动。
在步骤2135,任何来自RDR工作站键盘42的击键通过TCP/IP发送到通信服务器68,以将2020、2025作为击键数据组引向本地RDR计算机20。这些击键数据组由本地RDR计算机20接收,如图7中的步骤750和755所示,由此允许RDR工作站40的操作者控制在本地RDR计算机20工作的数据恢复应用程序300。
在步骤2140,任何由控制按钮2440的活动指定的显示数据信息通过TCP/IP发送到通信服务器68,以将2030、2035作为显示数据组引向本地RDR计算机20。在步骤742,本地RDR计算机20通过将它们拷贝到本地屏幕控制这些数据。另外,在步骤2140,这些显示数据信息表示在窗口2420上,从而窗口2420保留了本地RDR计算机控制台24的表示的正确表示。
当在步骤2150确定该段被完成后,“挂断”信息被发送到通信服务器68,并且在步骤2155清除窗口2410和2420以及控制2430和2440。
图22包含显示在本地显示器24上的计算机屏幕表示表格(本地RDR计算机20的使用者可填充,以提供有关使用者的身份、当前数据所示状态的性质以及相应的所需服务的信息)的描述。使用者身份和其他有关信息由表格2210确定。有关数据失落的正确的诊断和描述所需的服务的信息通过使用者填充表格2220确定。
图23包含由通信服务应用程序显示的计算机屏幕的描述,它提供远程数据恢复设备的管理者,管理通信服务器68。提供通信信道状态窗口2310,以帮助监视每一个配置的LAN通信信道66的状态。每一个LAN通信信道66可以是处于等待模式、客人模式、新使用者模式、活动数据恢复模式、或可以离线。可以提供其他控制,以便于总体上维持和配置个体的LAN通信信道66或通信服务器68。另外,提供工作站状态窗口2320,以允许监视那些建立了到通信服务器68的TCP/IP连接的远程数据恢复工作站40,以及表示在那些远程数据恢复工作站40正在执行的当前活动。
图24包含可以显示在RDR工作站显示器44上的计算机屏幕的描述。这些屏幕允许RDR工作站40的使用者控制并监视从本地RDR计算机20的输出,并控制和监视本地RDR计算机显示器24的实际屏幕的表现。本地程序输出窗口2410是所有RCR应用程序300的输出的显示器。这个输出使RDR工作站40的操作者能够监视在本地RDR计算机20上运行的应用程序。宏控制按钮2430为RDR工作站40的操作者提供将经常使用的击键顺序发送给本地RDR计算机20方法。使用状态控制按钮2440允许RDR工作站40的操作者使预定配置或用户状态信息显示在本地RDR计算机显示器24上。实际本地显示窗口2420是本地RDR计算机显示器24的内容之后的显示器。这允许RDR工作站40的操作者保持知道已经显示的状态消息。
图25包含用于本地RDR应用程序300的实施例中的数据结构的描述的附图。图表2510描述了出网数据组描述符(OPD)数据结构。该OPD2510和任何一通过链表指针2511连接的OPD包含本地RDR应用程序308的通信子系统码318中的传输队列。数据结构的剩余部分由片断长度字段2512和片断指针字段2514对构成。任何数量的这样的片断长度字段2512和片断指针字段1514对可以存在,直至遇到具有空片断长度字段的对2516,它终止了对表。每一对描述了包含出网数据组部分的存储器区域。这是正统的“集中写”方法,它允许从广泛分离开的存储器区域收集出网数据组的各种部分的集合。
图表2520描述了本地文件控制结构(本地FCS)。这样一个本地FCS2520为每一个打开本地远程数据恢复应用程序308中的远程文件可能同时发生的例子而存在。通过参照图7、9和10的流程图以及关于那些流程图的详细的描述,可以进一步观察这个数据结构的用处。本地FCS2520包含状态字段2522,表示文件的当前状态,如当前打开、当前关闭或当发生通信时处于某些中间状态。在每一个远程文件读、写、打开、创建或关闭尝试的最初通信之前,改变顺序号字段2524。同样地,远程数据恢复通信服务器68可以确定这样的请求是否是新的请求,或是由于通信错误遗失响应的请求的重试。重试用重试计数字段2526根据预先请求的基础计算,从而在工作终止前可以尝试有限次数的重试。当前文件指针字段2528用于文件保留偏移量的记录,用于流式工作。为了保护不受由于通信错误而遗失的请求或者确认的影响,存在一超时字段2530,以允许确定在请求和任一请求响应中间是否经过了足够的实时。不论何时经过了足够的时间,都假定请求或该请求的响应已经遗失了。
在文件读操作期间,发送读请求列表数据组,以请求那些所需但未接收到的文件段。文件根据定额单元呼叫段传送,段是文件的固定尺寸连续片断。任何文件数据传送数据组最多包含一个片断。片断的固定的尺寸由程序员预定,并以计算的方便、文件系统表现为基础,并考虑得到的数据组的尺寸。请求列表用等于下一个将接收的片断2532的最初片断值创建,并请求尽可能多的连续的片断,而不需超过留下接收字段2534的总片断。未按顺序接收的任何片断被丢弃,并且立即引起产生校正的读请求列表并被放置在发送队列中(图7的步骤766)。还有,任何超时状态引起创建一个校正的读请求列表,并被放置在发送队列中(图10的步骤1030)。
在文件写操作期间,发送写初始化数据组,其中写初始化数据组包含开始片断数和总字节计数。该数据组允许通信服务器68请求文件片断作为通信服务器的缓冲器,并且I/O子系统可以接收文件片断。通信服务器68通过发送文件写请求列表数据组产生这种请求文件片断,这在图7的步骤712进行。从文件写请求列表数据组直接取出请求的数据结构文件第一片断2536和请求的片断计数2538。然后将文件写数据组放置在发送队列中。下一个发送字段2540的片断由于确定哪一个片断开始放置在队列中。只要下一个发送的片断在由请求的第一片断和请求的片断计数描述的范围内,则假设下一个发送的片断2540和请求的第一片断2536之间的任何差别是由传送中的数据组引起的。将带有空请求的文件写请求列表数据组的接收解释为文件写操作的成功完成。
图表2560描述了用于通过RDR应用程序300,保持虚拟屏幕写未成功发送到RDR通信服务器68的部分的轨迹的屏幕行变化描述(SLCD)数据结构。在SLCD中为在屏幕上,每一行字符存在一对字段,第一沾污列2562和最后沾污列2564。这对字段描述列的包含的范围,它包含修改的但未发送的数据。
图26包含用于本地RDR应用程序308的实施例的另外数据结构的描述的附图,以及用于RDR通信服务器应用程序的实施例中的数据结构的描述的附图。
图26中2610描述的数据结构是数据组接收控制(PRC)结构。PRC由RDR本地应用程序308用于译码输入的数据组、保留统计表、并将控制转移到图7的例行程序,它有责任控制每一个特定类型的输入数据组。连接到下一个数据组接收结构字段2612的指针用于在正统的单独连接的列表中保留这种结构的集合。数据组类型数字段2614和输入数据组的类型字段匹配,并确定该数据组是否应该根据该PRC或后来的数据组控制。如果数据组类型字段等于输入数据组的类型字段,则数据组计数字段2616增加,以保留统计的数值,并且由指向数据组处理例行程序字段2618的指针指的软件例行程序被调用,以控制输入数据组的处理。
数据结构2620是在RDR通信服务器68中使用的文件控制结构(FCS)。一个服务器FCS2620为每一个可能的打开在允许服务器应用程序中的远程文件同时发生的例子而存在。通过参照图18和19的流程图,以及关于那些流程图详细描述,可以进一步洞察这个数据结构的用处。服务器FCS2620包含状态字段2622,它表示文件的当前状态,如当前打开、当前关闭、或当发生通信时处于某一中间状态。在每一个远程文件读、写、打开、创建或关闭尝试时检查最后顺序号字段2624。由此,RDR通信服务器应用程序可以确定这种请求是新的请求或由于通信错误引起遗失响应的请求的重试。在每一请求基础上用重试计数字段2626给重试计数,从而在操作终止前可以重试有限次数的重试。为了保护不受由于通信错误而遗失的请求或确认的影响,存在超时字段2630,以允许确定在请求和任何请求的响应中间是否已经过了足够的实时。只要经过了足够的时间,则假定请求或该请求的响应已经遗失。当创建、或打开文件时,实际文件控制字段2636用于控制实际文件处理,这由系统用于将来读、写、或关闭请求时作参照文件。
在文件读操作期间,通过仅仅执行请求列表中指定的实际文件读响应读请求列表数据组,并随后发送请求的文件数据作为文件读数据组。如果读请求列表数据组到达,而文件读数据组在发送,应该假定数据组由于通信错误而遗失,并且文件读数据在先的顺序应该被停止,并应该实行新的读请求列表。在读操作期间FCS数据结构的相关的字段是当前文件指针2628,请求的第一片断2632、请求的片断计数2624。这些文件从读请求列表数据组的内容填充,并进行调整,同时发送有关文件读数据组。
在文件写操作期间,接收写文件初始化数据组,以定义想要的写操作。写文件初始化数据组提供信息给当前文件指针2628、请求的第一片断2632、和服务器FCS2620的请求片断计数2634字段。另外,由每一个请求,并考虑系统资源利用,分派存储器。设置自由片断缓冲器字段2636的数量、片断字段2640以及片断缓冲器2642的指针的总数,以反映分派的片断缓冲器的数量以及它们的存储器的位置。当写文件数据组到达时,它们被放置在可用的缓冲器中,并预定,以写到文件。文件片断的到达将减小自由片断缓冲器2638的数量,并且这些片断的成功的写将再次增加自由片断缓冲器2638的数量。文件写请求列表数据组通过利用第一片断请求的字段2632作为开始片断数而用公式表达,而请求的片断的数量由自由片断缓冲器2638的数量或片断计数请求2634字段限制。当文件数据组到达时,第一片断请求2632和片断计数请求2634字段分别增加和减小,从而它们保留对剩下要接收的文件数据的精确描述。
可以理解,本发明可以呈现各种上述的实施例。本发明的原理允许通过远程数据恢复计算机诊断数据存储装置和/或数据恢复。在某些情况下,只有诊断是远程地执行,使用者可以选择不继续进行实际恢复。在某些情况下,恢复在本地计算机进行,并且恢复的数据再次存储在本地使用者的存储装置26中。在许多情况下,数据可以下装到RDR网络共享驱动器65,恢复并保存在新的存储媒体上,然后发送到使用者和/或由使用者捡起。在某些情况下,被损坏的数据可以下装到RCR网络共享驱动器65,恢复装回本地RDR计算机20。可以理解,这些只是在本发明的原理下可以发生的一些方案。
可以理解,显著事件自动的详细记录,包含谈话、法律协议的接收、使用的数据恢复应用程序等等在商业趋势分析中以及作为任何时时会引起的争论的参考资料将很有价值。由此,RDR的较佳实施例将包含由于记录诸如下面的事件的装置1)连接开始日期/时间、客户工作证和电话号码、通信信道类型和速度;2)数据恢复诊断/应用程序开始和停止日期/时间以及任何来自所述程序的报告;3)所有闲聊和交谈的信息(双向);4)所有提交的法律协议、客户对所述协议的响应,所有附件和补充物;5)所有修改的数据段的和它们以前的状态的完整的记录;和6)连接终止日期/时间。
可以理解,数据恢复可以包括假设被证明在恢复处理连续时是不精确的假定。因此,需要允许能“撤销”所对本地存储装置26执行的修改(如果这种修改随后确定为以不正确或不适当的假定为基础)。在较佳实施例中,为本地存储装置提供一机构,以延迟所有的变化,直到RDR工作站的操作者作出继续的选择时或放弃所述变化时。如果决定是要作该变化,则所有标志变化的数据首先发送到RDR设备以归档。然后新数据才实际上写到本地存储装置26。实现这种机构的较佳方法是用记录所有写活动的文件,这将在本地存储装置26上执行。文件在远程数据恢复位置存储装置65(它是联网的)上。文件中的每一个条目包含一标识符,它标识唯一的扇区和表示的本地存储装置,以及写到该扇区的最近数据。它实际上是“写-高速缓冲存储器”。
图27是本地RDR应用程序308中IO逻辑层的流程图,它实现“撤销”所有对本地数据存储装置26的修改的能力。所有写到本地存储装置26的尝试在2710进入IO逻辑层。如果请求的扇区先前未写过,则记录文件中不存在条目。如果这一条件在2720被发现,则将在2730添加记录文件条目,并在2735将要写的数据写入记录文件条目。如果在2720发现请求的扇区已经预先写好,则存在的记录文件条目将在2740用要写的新数据更新。因此在这个记录文件中将存在一条目,以及在数据恢复期间已经写好的每一个扇区的当前的数据。所有读本地存储装置26的尝试在2750进入该IO层。如果在2760确定请求的扇区不存在于记录文件中,即,它们在该期间未写,则在2750直接从装置读数据。如果在2760确定请求的扇区存在于记录文件中,即,扇区在该期间已经写,则在2780从记录文件读出数据以满足请求。这给数据恢复应用程序300一表现,即,扇区真正地被写了,但这些写由记录文件有效地真正高速存储起来了。
图28是应用程序的流程图,它操纵记录文件,以便于放弃变化、委托新数据、以及原始数据的可能的恢复。被确定已经不适当地修改的扇区可以在2810通过去掉相应的记录文件条目(在2825)而“未完成”。当希望在2820委托所有修改时,重写的原始数据在2830发送到远程数据恢复位置的存储装置65(联网)。然后在2840将原始数据记录文件存档。最后,由于原始数据已经被安全地归档,故记录文件数据用于在2850修改本地存储装置26。如果不管什么原因,认为适宜将本地存储装置26恢复到原始状态,则可在2870取消所有委托的变化。在这种情况下,分别在2830和2840存档的原始数据在2880传送回本地计算机存储器,并且所有在这个原始数据记录文件中记录的扇区在2885恢复到本地存储装置26,将本地存储装置26留在它的原始状态。
应该理解,虽然本发明的许多特征和优点,以及本发明的结构和功能的细节已经在上面描述了,但揭示的内容只是说明性的,可以在本发明的原理范围之内,有细节的改变最大的范围,尤其在部分的形状、尺寸和安排上,其中该范围由所附的权利要求表示的宽广的通常的意义所指出。
权利要求
1.一种用于远程恢复来自具有普通操作系统的本地计算机的数据的方法,其特征在于包括步骤从存储媒体将可引导的远程数据恢复操作程序装入本地计算机的存储器,其中可引导远程数据恢复操作程序通过本地计算机在本地操作,不依赖于普通操作系统;在本地计算机和远程数据恢复计算机之间通过远程数据恢复操作程序的操作由本地计算机建立通信;及通过远程数据恢复计算机远程控制本地计算机,数据恢复可以通过远程数据恢复计算机的操作进行。
2.如权利要求1所述的方法,其特征在于还包含通过远程数据恢复操作应用程序,由本地计算机在和远程数据恢复计算机建立通信前,向本地计算机使用者查询信息的步骤。
3.如权利要求2所述的方法,其特征在于还包含通过远程数据恢复操作程序的工作,由本地计算机在和远程数据恢复计算机建立通信前,向本地计算机使用者询问数据恢复信息的步骤。
4.如权利要求2所述的方法,其特征在于还包含通过远程数据恢复操作程序由本地计算机在和远程数据恢复计算机建立通信前,向本地计算机使用者询问使用者识别信息的步骤。
5.如权利要求1所述的方法,其特征在于还包含数据恢复程序的监视操作,它通过远处数据恢复计算机上显示而在本地计算机上执行。
6.如权利要求5所述的方法,其特征在于监视步骤包含监视存储媒体,它包含用于数据恢复应用程序的远程数据恢复操作程序。
7.如权利要求1所述的方法,其特征在于还包含控制数据恢复程序的操作的步骤,它在本地计算机上通过远程数据恢复计算机的计算机输入装置执行。
8.如权利要求1所述的方法,其特征在于还包含在本地计算机上由远程数据恢复计算机控制本地显示外貌的步骤。
9.如权利要求1所述的方法,其特征在于还包含在本地计算机上由远程数据恢复计算机上的远程显示器监视本地显示外貌的步骤。
10.如权利要求1所述的方法,其特征在于还包含从远程数据恢复计算机将数据恢复应用程序下装到本地计算机的步骤。
11.如权利要求1所述的方法,其特征在于还包含从远程数据恢复计算机将数据恢复诊断程序下装到本地计算机的步骤。
12.如权利要求11所述的方法,其特征在于所述下装步骤包含将数据恢复应用程序下装到本地计算机的存储媒体上。
13.如权利要求1所述的方法,其特征在于还包含在本地计算机执行数据恢复应用程序的步骤。
14.如权利要求1所述的方法,其特征在于还包含在本地计算机执行数据恢复诊断程序的步骤。
15.如权利要求1所述的方法,其特征在于还包含从本地计算机将要恢复的数据下装到远程数据恢复计算机的步骤。
16.如权利要求1所述的方法,其特征在于还包含将数据恢复应用程序从远程数据恢复计算机下装到本地计算机以及执行数据恢复应用程序的步骤。
17.如权利要求1所述的方法,其特征在于建立通信的步骤通过通信服务器建立了通信,并且还包含通过通信服务器为数据恢复在第二远程数据恢复计算机和第二本地计算机之间建立通信。
18.如权利要求1所述的方法,其特征在于包含延迟数据中到本地计算机变化,直至远程数据恢复计算机的操作者决定继续,或放弃数据中的变化。
19.如权利要求18所述的方法,其特征在于还包含一步骤,其中如果决定将数据中的改变置于本地计算机,则所有标记以变化的数据先发送到计算机处的存档设备,以存档。
20.如权利要求19所述的方法,其特征在于包含步骤将所有在本地计算机的本地存储装置的扇区上执行的写活动记录到远程数据恢复计算机的处的文件。
21.如权利要求20所述的方法,其特征在于包含步骤给文件中的每一个提供一标识符,标识扇区和本地存储装置,以及写到那个扇区的最近的数据。
22.一种在存储媒体上的计算机应用程序,其特征在于,包括所引导的远程数据恢复操作应用程序,可在本地计算机的中央处理单元操作,并独立于本地计算机的普通操作系统;以及用于和远程数据恢复计算机建立通信的通信应用程序装置。
23.如权利要求22所述的计算机应用程序,其特征在于所述可引导的远程数据恢复操作应用程序包含数据恢复诊断应用程序。
24.如权利要求22所述的计算机应用程序,其特征在于所述可引导远程数据恢复操作应用程度包含数据恢复应用程序。
25.一种数据恢复的方法,其特征在于包含步骤在有要求数据恢复的数据存储装置的本地计算机和远程恢复计算机之间建立通信连接;在本地计算机和运程数据恢复计算机之间建立交互作用;保留远程数据恢复计算机数据恢复应用程序的的访问;诊断数据存储装置;及接收本地计算机数据存储装置上的恢复数据。
26.如权利要求25所述的方法,其特征在于建立通连接的步骤包括在局域网、广域网和Internet上建立通信连接。
27.一种用于恢复来自数据存储媒体的不予访问的数据的数据恢复系统,其特征在于包括和数据存储媒体、有中央处理单元的本地计算机和普通操作系统相关的本地计算机;远程数据恢复计算机;和可引导远程数据恢复程序装置,以装入本地计算机的存储器。
28.如权利要求27所述的数据恢复系统,其特征在于所述可引导远程数据恢复应用程序装置包含可引导操作系统装置,用于操作本地计算机。
29.如权利要求27所述的数据恢复系统,其特征在于所述可引导远程数据恢复应用程序装置包含数据恢复诊断程序装置。
30.如权利要求27所述的数据恢复系统,其特征在于所述可引导远程数据恢复程序装置包含数据恢复应用程序装置。
31.如权利要求27所述的数据恢复系统,其特征在于所述远程数据恢复计算机包含第二数据存储媒体,用于存储数据恢复应用程序装置,所述数据恢复应用程序装置从远程数据恢复计算机下装到本地计算机。
32.如权利要求27所述的数据恢复系统,其特征在于还包含通信信道,在本地计算机和远程数据恢复计算机之间通过所述通信信道建立通信,通信信道使用由电话线路、本地局域网、广域网和因特网所组成的组中的一种。
33.如权利要求27所述的数据恢复系统,其特征在所述远程数据恢复计算机包含显示器,用于在本地计算机监视数据恢复应用程序。
34.如权利要求27所述的数据恢复系统,其特征在于所述可引导远程数据恢复程序装置包含一程序,用于向本地计算机的使用者询问使用者信息。
35.如权利要求27所述的数据恢复系统,其特征在于所述可引导远程数据恢复程序装置包含一程序,用于向本地计算机的使用者询问数据恢复信息。
36.如权利要求27所述的数据恢复系统,其特征在于所述可引导远程数据恢复应用程序装置可从远程数据恢复计算机操作,从而恢复来自数据存储媒体的数据。
37.如权利要求27所述的数据恢复系统,其特征在于所述可引导远程数据恢复程序装置可从远程数据恢复计算机操作,从而诊断数据存储媒体上的数据恢复状态。
38.如权利要求27所述的数据恢复系统,其特征在于所述可引导远程数据恢复程序装置可从远程数据恢复计算机操作,从而将要恢复的数据下装到远程数据恢复计算机。
39.一种远程恢复来自本地计算机的数据的方法,其特征在于包括步骤从存储媒体将远程数据恢复应用程序装入本地计算机的存储器,在本地计算机和远程数据恢复计算机之间通过由本地计算机对远程数据恢复应用程序的操作建立通信;及通过远程数据恢复计算机远程控制本地计算机,数据恢复可以通过远程数据恢复计算机的操作执行。
40.如权利要求39所述的方法,其特征在于还包含步骤在有关本地计算机的本地显示器上显示选出的数据恢复信息。
41.一种数据恢复系统,用于恢复来自数据存储媒体的不可访问的数据,其特征在于包括和数据存储媒体有关的本地计算机,本地计算机具有存储器;远程数据恢复计算机;和要装入本地计算机的存储器的远程数据恢复程序装置,在本地计算机和远程数据恢复计算机之间建立通信;其中远程数据恢复程序装置允许本地计算由远程数据恢复计算机远程地控制,以恢复来自数据存储媒体的数据。
42.如权利要求41所述的数据恢复系统,其特征在于包括延迟所有至本地计算机的数据中的变化,直到远程数据恢复计算机的操作者决定继续时,或放弃数据中的变化时。
43.如权利要求42所述的数据恢复系统,其特征在于如果决定将数据中的变化委托给本地计算机,则包含用于转移所有数据的装置,这些数据被标记以示正被改变,并在本地计算机作改变之前,转移至远程数据恢复计算机处的存档设备。
44.如权利要求43所述的数据恢复系统,其特征在于包括记录所有写活动的装置,以在本地计算机的本地存储装置的扇区上执行,并记录到远程数据恢复计算机的文件。
45.如权利要求44所述的数据恢复系统,其特征在于文件中的每一个条目包含标识符,标识扇区和本地存储装置,以及写到该扇区的最新的数据。
46.如权利要求41所述的数据恢复系统,其特征在于包括在数据恢复处理期间选择数据恢复事件的装置。
47.一种在存储媒体上的计算机程序,其特征在于包含远程数据恢复程序装置,它可由本地计算机的中央处理单元本地地实现;及通信程序装置,用于和远程数据恢复计算机建立通信,从而远程数据恢复计算机能控制本地计算机,以恢复数据。
全文摘要
本发明揭示了一种用于远程恢复在计算机存储装置上不可访问的数据的设备和方法。方法包括步骤:1.从包含需要数据恢复的存储装置的本地计算机到由技术人员操作的远程数据恢复计算机建立通信连接;2.允许远程的技术人员交互影响,即使是坐在本地计算机前面也访问的技术人员计算机处的所有软件程序,3.使远程技术人员能够诊断和整理数据损失。
文档编号G06F11/22GK1276071SQ97197421
公开日2000年12月6日 申请日期1997年6月18日 优先权日1997年6月17日
发明者G·S·史蒂文斯 申请人:昂却克数据国际股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1