使用可移动存储器收集和恢复用户环境数据的制作方法

文档序号:6355704阅读:203来源:国知局
专利名称:使用可移动存储器收集和恢复用户环境数据的制作方法
技术领域
本发明涉及信息处理技术。更加具体来说,本发明涉及一种简化在计算机系统中的用户环境的恢复和还原。
背景技术
UNIX操作系统是一种在1969年发明的交互式分时操作系统。UNIX操作系统是用于多个用户的支持串行和网络连接终端的多用户操作系统。UNIX操作系统包括核心程序、外壳程序和应用程序。UNIX是一个便携式操作系统,仅仅要求核心程序用汇编语言来编写,并且支持大范围的支持工具,包括开发工具、调试程序和编译程序。
作为一种多用户操作系统,UNIX使得多人同时共享相同的计算机系统。UNIX通过把计算机的中央处理单元或者“CPU”但时间分类间隔。用户获得使用该系统的特定时间量以执行的所要求的指令。在超过用户的所分配时间时,该操作系统通过中断该CPU而介入,保存该用户的程序状态(程序代码和数据),恢复下一个用户的程序状态,并且开始执行下一个用户的程序(对于下一个用户的时间量)。该过程继续无限地循环通过使用该系统的所有用户。当最后用户的时间片过期时,控制再次转移到第一用户,并且开始另一个循环。
UNIX操作系统是多用户操作系统和多任务操作系统。如其名称所示,该UNIX的多用户方面使得多个用户在相同的时间使用相同的系统。作为一个多任务操作系统,UNIX使得多个程序(或者被称为执行的线程的程序的部分)同时执行。该操作系统快速地在各个程序(或者执行的线程)之间切换,以执行每个程序或线程。IBM的OS/2和微软的Windows 95/98/NT是单用户多任务操作系统的例子,而UNIX是多用户多任务操作系统的一个例子。多任务操作系统支持前台和后台任务。前台任务是直接与使用输入设备和屏幕的用户相联系的一个任务。后台任务在后台运行,并且不访问输入设备(例如键盘、鼠标或触摸板)并且不访问屏幕。后台任务包括例如打印这样可以被假脱机用于以后执行的操作。
UNIX操作系统保持跟踪在该系统中运行的所有程序,并且根据需要分配例如磁盘、存储器和打印机队列这样的资源。UNIX分配资源,使得每个程序理想地接收公平分配的资源,以适当地执行。使用两种方法来分配资源安排优先级和系统信号标志。每个程序分配一个优先级。较高优先级的任务(例如对盘的读和写)被更加经常地执行。用户程序可以具有根据它们的活动和可用的系统资源而上下动态调节的优先级。系统信号标志由该操作系统所使用,以控制系统资源。一个程序可以通过对该操作系统发出系统调用而获得一个信号标志。当该资源不再需要时,该信号标志被返回到该操作系统,然后该操作系统可以把它分配给另一个程序。
磁盘驱动器和打印机本质上是串行的。这意味着在任何时间仅仅可以执行一个请求。为了使得一个以上的用户同时使用这些资源,该操作系统使用队列来管理它们。每个串行设备与一个队列相关联。当一个程序要访问该设备时(例如,磁盘驱动器),它把一个请求发送到与该设备相关的队列。该UNIX操作系统运行后台任务(被称为端口监控程序(daemon)),其监控该队列并且服务于对它们的请求。该请求由该端口监控程序处理所执行,并且执行结果被返回到该用户程序。
多任务系统提供一组应用程序,用于管理进程。在UNIX中,存在ps(列出进程)、kill(取消一个进程)以及在一个命令行的末尾的&(在后台运行的一个进程)。在UNIX,所有用户程序和应用程序软件使用该系统调用接口来访问系统资源,例如磁盘、打印机和存储器。在UNIX中的该系统调用接口提供一组系统调用(C语言函数)。该系统调用接口的目的是提供系统完整性,因为所有低级硬件访问在UNIX操作系统的控制下,而不是在用户编写的程序的控制下。这避免一个程序导致系统崩溃。
在接收一个系统调用时,该操作系统使得其访问许可有效,为了该请求程序执行该请求,并且把执行结果返回到该请求的程序。如果该请求无效或者用户没有访问许可,则该操作系统不执行该请求并且把一个错误消息返回到该请求的程序。该系统调用可以被作为一组C语言函数而被访问,因为大多数UNIX是用C语言来编写的。典型的系统调用是_read-从磁盘读取;_write-写入到磁盘;_getch-从一个终端读取一个字符;_putch-用于把一个字符写入到该终端;以及_ioctl-用于控制和设置设备参数。
如其名称所示,该核心程序处于该UNIX操作系统的核心并且在每次该系统启动时被装载,并且被称为系统“引导”。该核心程序管理该系统的资源,把它们提供给用户作为一个相关的系统。该用户不需要非常了解该核心程序以使用一个UNIX系统。该核心程序把各种必要的功能提供在该UNIX环境中。该核心程序管理系统存储器,并且把它分配给每个进程。核心程序需要时间来保存和恢复程序状态并且从一个程序切换到下一个程序(被称为调度)。该动作需要被快速地执行,因为在程序之间切换所消耗的时间占用可以用于实际运行用户程序的时间。在核心程序执行例如在用户程序之间的切换的任务的“系统状态”中消耗的时间是系统开销,并且应当尽可能地保持为较低。在一个典型的UNIX系统,系统开销小于总时间的10%。
该核心程序还调度要由该中央处理单元或“CPU”所执行的工作,使得每个用户的工作被有效地执行。该核心程序把数据从该系统的一个部分传送到另一个部分。在主存储器中的用户程序之间的切换也由该核心程序所执行。主系统内存被分为用于该操作系统和用户程序的部分。核心程序存储空间被保持与用户程序相分离。当主内存不足以运行一个程序时,其他程序被写回磁盘(交换),以释放足够的主内存来运行第一程序。该核心程序根据各种因素来确定哪一个程序是要交换到磁盘的最佳候选者。当太多程序同时在该系统上执行时,该系统超负荷,并且该操作系统消耗太多的时间来把文件交换到磁盘而执行程序的时间更少,导致性能下降。该核心程序还从该“外壳程序”接收指令,并且执行它们。另外,该核心程序加强置于该系统中的访问许可。访问许可为该系统中的每个文件和目录而存在,并且确定其他用户是否可以访问、执行或改变给定文件或目录。
为了文件处理,UNIX使用层级目录结构来组织和维护文件。访问许可对应于文件和目录。如上文所述,UNIX操作系统把文件组织为目录,其存储在一个层级树型结构中。在该树的顶端是根目录,其由一个斜杠(/)符号来表示。该根目录包含一个或多个目录。这些目录接着可以进一步包括包含用户文件和其他系统文件的目录。可以在许多UNIX中找到的几个标准目录如下/bin 该目录包含基本系统命令。
/etc 该目录包含系统配置文件和用于管理该系统的程序。
/lib 该目录包含系统库。
/tmp 该目录被用于存储临时文件。
/usr/bin 该目录包含不存储在在/bin中的命令。
/usr/man 该目录包含用于程序的使用手册。
/usr/local 该目录包含由系统管理员(sysadmin)所安装并且不包含在原系统中的本地程序。特别地,/usr/local/bin包含本地命令文件(binaries),/usr/local/man包含本地使用手册。
/home 该实际目录位置在各个系统之间各不相同,但是在该系统上的一些位置将是所有用户主目录可以放置的位置。
该UNIX操作系统用于存储信息的的基本结构是文件。一个文件是一系列字节。UNIX通过为每个文件指定一个唯一的标识号而保持对文件的内部跟踪。这些号码,被称为i-节点号,仅仅用于UNIX核心程序自身内部。当UNIX使用i-节点号来引用文件时,它使得用户通过一个用户指定的名称来识别每个文件。一个文件名可以是任何字符串,并且可以多达14个字符的长度。
在UNIX文件系统中有3种文件(1)普通文件,其可以是可执行程序、文本或用作为输入或从其他操作产生的输出的其他类型的数据;(2)目录文件,其包含在上述目录中的文件列表;以及(3)特殊文件,其提供访问输入/输出设备的标准方法。
在内部,一个目录是包含普通文件名的文件和其他目录以及用于该文件的相应i-节点号。利用该i-节点号,UNIX可以检验其他内部表格,以确定该文件是否被存储并且使其可以由用户所访问。UNIX目录本身具有名称,其例子在上文提供,并且可以包括多达14个字符的长度。
UNIX保存关于它所管理的文件的大量信息。对于每个文件,该文件系统保持跟踪文件大小、位置、所有权、保密性、类型、创建时间、修改时间以及访问时间的信息。所有这些信息被该文件系统自动保存,作为被创建和使用的文件。UNIX文件系统驻留在例如磁盘驱动器和磁盘阵列这样的大容量存储设备上。UNIX把一个磁盘组织为一系列块。这些块通常为512或2048个字节长度。一个文件的内容被存储在一个或多个块中,其可以被广泛地分散在该盘上。
一个普通文件通过i-节点结构而被寻址。每个i-节点由包含在一个i-列表中的一个索引来寻址。该i-列表根据文件系统的大小而产生,较大的文件系统通常意味着更多文件,因此意味着更大的i-列表。每个i-节点包含13个4字节磁盘地址单元。该直接i-节点可以包含多达10个块地址。如果该文件大于该数值,则第11个地址指向第一级间接块。地址12和13被分别用于第二级和第三级间接块,随着当在该直接i-节点中的每个新地址隙被要求时,在第一数据块之前的间接寻址链增加一级。
通过读取和写入文件实现所有输入和输出(I/O),因为所有外围设备,甚至终端,被当做在文件系统中的文件。在一个最普通的情况中,在读取和写入一个文件之前,需要通过打开该文件而把要执行该操作的意图通知该系统。为了写入一个文件,还需要创建它。当一个文件被打开或创建(通过“打开”或“创建”系统调用),该系统检查执行该操作的权限,如果该用户有权执行该操作,则该系统返回被称为文件描述符的一个非负整数。无论何时要对该文件执行I/O操作时,该文件描述符被使用,而不是使用文件名,来识别该文件。该打开文件描述符把它与保持在已经打开该文件的用户的“进程”空间中的一个文件表项目相关联。在UNIX术语中,术语“进程”可与正在被执行的程序相交换地使用。该文件表项目包含关于一个打开文件的信息,包括用于该文件的一个i-节点指针以及用于该文件的文件指针,其定义在该文件中要被读取或写入的当前位置。所有关于一个打开文件的信息被该系统所保存。
在常规的UNIX系统,所有输入和输出由两个系统调用-“读取”和“写入”-所执行,其被具有相同名称的功能的程序所访问。对于这两个系统调用,第一参数是文件描述符,第二参数是指向作为数据来源或目的地的缓冲器的指针,并且第三参数是要被传输的字节数。每个“读取”或“写入”系统调用计数所传输的字节数。在读取时,被返回的字节数可能小于所要求的字节数,因为比所要求的字节数更少的字节被保持以被读取。返回代码0意味着已经到达文件末尾,返回代码-1意味着出现一个错误。对于写入,该返回代码是实际写入的字节数。如果该数目与希望被写入的字节数不匹配,则已经出现错误。
UNIX利用一个被称为getty的系统进程来监控连接到该系统的每个终端输入线的状态。当getty检查到一个用户已经打开一个终端,则它显示该登录提示符,并且当用户标识和密码有效时,该UNIX系统把一个外壳程序(例如sh)与该终端相关联,把该用户置于该该外壳程序中。该外壳程序提供一个提示符,其一般指示哪一个外壳程序要被执行。该用户在该提示符键入命令。该外壳程序作为一个命令解释器,其获取每个命令,并且把它们传送到要被作用的核心程序。然后该外壳程序在屏幕上显示该操作的结果。用户使用该外壳程序来创建一个适合该用户的需要的个性化的环境。该用户可以改变控制用户环境的环境变量。
该EDITOR环境变量把将由例如邮件程序这样的其他程序所使用的编辑器。该PAGER环境变量设置将由例如man这样显示使用手册页面的程序所使用页面调度程序。PATH环境变量指定该外壳程序查找一个命令的目录。这些目录被按照它们出现的次序而搜索。PRINTER环境变量设置指向由lpr目录所发送的所有输出的指针。SHELL变量设置由该用户所使用的默认核心程序。TERM变量设置用于例如编辑器和页面调度程序这样的程序的终端类型。TZ环境变量设置用户所在的时区。
有几种UNIX用户可以使用的外壳程序。每个外壳程序提供与其他外壳程序不同的特征和功能。最普通的UNIX外壳程序是“Bourne”外壳程序、“C”外壳程序、“TC”外壳程序、“Korn”外壳程序以及“BASH”外壳程序。除了使用外壳程序来运行命令之外,每个外壳程序具有用户可以写入他们自己的命令或程序的一个内置的编程语言。用户可以把命令置于一个被称为外壳程序脚本的文件中,并且像执行一个命令或程序那样执行该文件。外壳程序调用两种命令由该外壳程序所处理的内部命令(例如置位和复位),以及被作为程序而调用的外部命令(例如,Is、grep、sort和ps)。
UNIX操作系统的一个优点是用户可以定制他们的工作环境以适合他们的需要。例如,用户可以选择一个默认的编辑器、显示使用手册页面的页面调度程序、指定搜索命令的目录、默认打印机、由该编辑器和该页面调度程序所使用的终端类型、用于显示正确时间的时区以及在登录到该系统之后与该用户终端相关的外壳程序。
在当今的复杂计算环境中的一个挑战是由于系统改变或者用户从一个系统变换为另一个系统而把用户从一个系统移动到另一个系统。由于计算机的复杂性和用户可以对他的环境进行定制的量,复制用户的计算环境变得更加具有挑战性。重建UNIX映像特别需要大量系统参数,包括打印机定义、tty定义(终端定义或者控制给定工作的特定终端的名称,或者甚至在具有形式tty*的名称的这样的设备的UNIX中的串行端口定义)、网络接口、用户标识和密码。在系统复制之后,如果不能够复制所有这样的参数可能导致用户不能够运行关键的应用程序或者访问关键的资源。在当前大体上是手动操作的复制方案中的挑战包括由用户和/或系统管理员所执行的手动任务消耗时间,并且这种手动任务容易发生错误。

发明内容
我们发现用户环境可以按照半自动的方式从一个工作站复制到另一个工作站。最初,一个自动数据收集处理从旧的计算机系统收集用户环境数据,用户环境数据可以包括应用程序数据、授权信息、tty设置、定制目录和其他用户定制的工作站环境变量。
一个工作站还可以用于复制大量工作站,例如当一群人更新他们的工作站时。该用户环境数据被存储以用于以后复制到一个新的工作站中。该用户环境数据被存储到一个可移动计算机操作介质上,例如磁盘或磁带,用于传送和输入到新的工作站或者用于在出现系统故障时恢复旧的计算机。把用户环境设置复制在一个新的工作站上涉及读取存储在该计算机可操作介质上的用户环境数据,并且把该用户环境设置应用于该工作站。


下面将参照附图描述本发明的示意实施例。
图1为示出通过计算机可操作介质复制的用户环境数据的系统示意图;图2为示出本发明一个实施例的高级流程图;图3为示出收集阶段的中级流程图;
图4为示出复制阶段的中级流程图;图5为示出数据收集步骤的低级流程图;图6为示出复制信息收集的低级流程图;图7为示出质量校验表的创建的的低级流程图;图8为示出复制步骤的低级流程图;图9为示出显示器设置复制的低级流程图;图10为示出信息处理系统的方框图;以及图11为示出在本发明一个实施例中所用的脚本文件的层级图。
具体实施例方式
图1为示出被复制并且从一个计算机系统发送到另一个计算机系统的用户环境数据的系统示意图。该用户的旧用户环境数据100包括网络接口105、tty定义110、打印机定义115、用户标识120、密码125和其他系统参数130,例如应用程序特定的信息。在本质上,旧的用户环境数据100包括对作为用户喜好的结果的用户考虑或者使得用户可以更好第执行与其工作相关的任务所作的定制和改变。在该例子中,用户被从旧计算机系统140中的旧用户标识125移到与新计算机系统160相连接的新用户标识155。一旦旧用户环境数据100被从旧计算机系统140收集时,它们被使用非易失性计算机介质145传送到新计算机系统160。非易失性计算机介质145可以是磁盘、磁带、ZIP盘、JAZ盘、CD-R(可记录CD-ROM)、硬盘、光盘或者可以通过从一个计算机系统传送到另一个计算机系统而传送数据的任何介质。
在旧用户环境数据100已经被在新计算机系统160接收之后,一个进程被调用,其把旧用户环境数据100复制到新计算机系统160,创建新用户环境数据195。类似于旧用户环境数据100,新用户环境数据195包括网络接口165、tty定义170、打印机定义175、用户标识180、密码185和例如应用程序特定的信息这样的其他系统参数190。在用户环境数据100已经被复制到新计算机系统160中之后,该定制设置最终与用户以前在旧计算机系统140上使用的定制设置相同。
除了从一个系统转移到另一个系统之外,环境数据100可以响应在该系统中出现的各个事件而被捕获。例如,按照一个给定的时间表,用户环境数据可以被捕获并且存储在旧计算机系统140或新计算机系统160中。按照这种方式,该环境数据100被定期地捕获,使得如果在旧计算机系统140上出现一个系统故障,则新用户标识155可以被快速地创建并且该环境数据被恢复创建新环境数据195,并且用户可以在最少的时间量中用基本上类似的系统而操作。其他事件或者触发器可以在每次由用户修改环境数据100时捕获环境数据100。按照这种方式,旧环境数据100将具有更新副本。还可以在已经发生后续的捕获操作之后,有利地保持旧环境数据100的多个副本。通过保持旧环境数据100的多个副本,如果用户不希望对该环境数据进行应用新的更新,则用户可以快速地退回到前一组环境数据。另一个事件或触发器可以是来自定期捕获几个用户的环境数据而不需要用户干预的集中操作区域的一个命令。按照这种方式,系统管理员可以确保在他们所支持的一个或多个用户出现系统故障时恢复用户环境数据。
图2示出用于收集数据和复制数据的高级流程图。该进程开始200处开始,接着在判断210做出判断以确定是否应当进行数据收集。判断210可以基于各种因素。例如,数据收集可以被安排为以各种时间间隔而重复,以备份该定制数据。用于判断210的另一个触发器可以是在任何时间用户环境数据改变时设置一个标志或指示符的监视器。如果该标志被设置,则该数据收集进程被调用。另外,判断210可以是一个手动判断,其仅仅在用户从一个系统移动到另一个系统时做出。判断210还可以由系统管理员所做出,其对多个用户确定收集数据的时间。如果判断210是否定的(即,没有到用于数据收集的时间),则进入“否”分支。如果判断210为肯定的(即,达到用于数据收集的时间),则进入“是”分支214,以执行收集进程220(对于该数据收集进程的详细流程图请参见图3)。以在一个新工作站上复制个性信息为目的而执行数据收集。特别地,如在图3中进一步详细示出,数据收集包括获得许多系统参数,包括打印机定义、tty定义、网络接口、用户标识和密码。该系统参数值定义一个系统的“个性”。个性信息可以被认为是任何用户和/或组的可选择参数、设置和/或用于定制计算机系统、软件或固件属性的选项。个性参数可以简单如菜单颜色方案,或者复杂如由一个特定的应用程序来处理信息所需的优选算法的标准。在收集进程220或者“否”分支212的处理之后,在判断240对于是否进行复制处理做出第二次判断。如果判断240为否定(即,没有到用于复制处理的时间),则进入“否”分支242循环到开始200和判断210。另一方面,如果判断240为肯定(即,达到用于复制处理的时间),则进入“是”分支244,以执行复制处理250(关于复制处理250的具体细节请参见图4)。在复制处理250之后,该处理在结束270处终止。
图3示出图2中所示的收集进程220的具体细节的中级流程图。该进程在开始300处开始,然后检查该非易失性介质(步骤305),以确定是否有足够的空间来保存由图2中所示的收集进程220所收集的数据。如果在非易失性介质上存在的空间不足,则显示一个错误消息,并且处理结束。如果在非易失性介质上的空间充足,则授权文件被识别(步骤310),以识别需要被收集的授权文件信息。在一个实施例中,识别授权文件是手动过程,从而用户修改脚本文件,以识别该授权文件。在此所用的术语“脚本文件”称为在UNIX操作系统中用于外壳程序的外壳脚本文件,其例子包括在附录中。这种脚本文件的功能可以用其他编程方式来实现,例如REXX和BASIC这样的解释语言,以及例如C和Pascal(具有用于识别授权文件的数据文件等等而不是重新编译该程序文件)的编译语言。从而,术语“脚本”在此用于表示可以用于实现本发明的功能的任何编程语言。
脚本文件以后将由该计算机系统所执行,以执行数据收集处理。在识别授权文件(步骤310)完成之后,应用程序个性数据被识别(步骤315)以识别所安装的应用程序,并且还识别对应于这种应用程序的定制设置。另外,在一个实施例中,这种识别是手动完成的并且脚本文件被分别对应用程序个性数据改变,用于随后由该计算机系统所执行。接着,授权和个性数据被添加到该数据收集程序(步骤320),以识别要被收集到数据收集脚本的信息。本发明的一个实施例允许对多个工作站执行数据收集和复制。在识别工作站中(步骤325),将收集数据的工作站被通过地址而识别。这些地址然后被包含在一个收集列表中(步骤330)。将随后调用的该数据收集脚本读取该工作站收集列表,并且对在该列表中识别的每个工作站执行数据收集。
对于在该收集列表中列出的每个工作站,执行数据收集处理(预定处理340,对于进一步的具体细节请参见图5)、收集应用程序信息处理(预定处理350,对于进一步的具体细节请参见图6)、以及创建质量校验表处理(预定处理360,对于进一步的具体细节请参见图7),并且数据被写入到该非易失性存储介质(步骤370)。在数据被写入到该非易失性存储介质之后,数据收集处理在390处结束。
图4为由图2中的复制准备和执行处理250所执行的处理的中级流程图。该处理在开始400处开始,然后该复制程序被更新(步骤410)。更新复制程序(步骤410)使用被写入到非易失性存储介质的信息(参见图3,步骤370),以更新将在该工作站上执行的复制脚本。接着,在主机名IP地址处理过程中(步骤420),一个永久的主机名和IP地址被提供给该用户的新工作站。该复制程序然后被传送到该工作站(步骤430),其中它将从该新工作站上的一个根用户会话执行。该复制程序(预定处理440)然后被执行,以复制以前从旧工作站收集到新工作站的设置。该复制(预定处理440)处理的具体细节在图8中示出。该复制程序随后调用X-Windows设置程序(预定处理450),使得X-Windows(在UNIX环境中)的定制可以出现。该X-Windows设置程序的具体细节(预定处理450)在图9中示出。接着,文件许可被使用客户许可列表(perm.list)而恢复(步骤460)。在恢复文件许可之后,从以前在旧工作站中收集的信息创建唯一的文件系统(步骤470)。在创建该唯一文件系统之后,以前从该唯一文件系统收集的数据被恢复(步骤480)到在步骤470过程中创建的文件系统。在该数据已经被恢复之后,该复制处理在结束步骤490处结束。
在完成之后,一个用户复制工作站包括与在该用户的以前工作站中显示的信息相匹配的个性信息。因此,该用户从与重新定制新工作站相关的单调乏味的任务中解脱出来。收集个性信息和使用用于定制一组工作站的普通任务被自动执行,并且可以从一个集中的位置执行。另一方面,在用户从一个工作站移动到另一个工作站之后,该系统管理员从手动地重新配置用户的新工作站的职责中解脱出来。通过提供这种方法,捕获关于工作站的数据以及把它复制在实际分离的介质上,本发明保证从一个工作站到下一个工作站的更加平滑地过度,并且减少用户在配置新工作站中经历的停机时间量。本发明对基于UNIX的操作提供附加的优点。尽管在IBM的AIX操作系统上开发,但是在此所述的原理可以容易地扩展到其他UNIX环境,例如LINUS、Solaris等等。在此所述的原理还可以扩展到非基于UNIX的操作系统,例如其他多用户操作系统和其他多任务操作系统(例如,IBM的OS/2和微软的Windows95/98/NT)。在多个计算机系统上复制用户环境设置的思想是新的和唯一的,并且将通过定制从一个工作站转移到另一个工作站所需的用户设置而有利于任何人。
图5示出用于数据收集处理的低级流程图(预定处理340,图3中所示)。数据收集处理在步骤500开始。首先,执行一个测试,以确定例如磁带或磁盘驱动器这样的用于存储数据的非易失性介质设备的位置(步骤505)。接着,环境变量被设置(步骤510),以准备进一步的处理。在环境变量已经被设置之后,在该客户机工作站和非易失性存储设备之间的连接性被确认并且主机名的工作列表被从该workstations/home/local目录中提取,并且收集其他工作站特定的信息(步骤520)。接着,网络信息被提取(步骤525),其中包括提取关键网络配置文件,获得工作站的以太网适配器的状态(步骤530),获得对应于以太网适配器的IP地址(步骤535),获得缺省网络掩码(步骤545),以及获得域信息(步骤550),其中包括域名和名服务器地址。在该网络信息被提取之后,系统信息被提取(步骤555)。然后tty信息被从旧工作站提取(步骤560)。在tty信息已经被提取之后,打印队列信息被提取(步骤565)。接着,应用程序特定的数据(以前在图3中所示的步骤315中识别)被提取(步骤570)。在该应用程序特定的数据已经被提取之后,授权信息(以前在图3中所示的预定处理310中识别)被提取。最后,文件系统信息被提取(步骤580)。在图5中所示的收集处理过程中提取的信息被存储在一个可移动非易失性计算机可操作介质中,例如磁盘、磁带或CD-R。
图6为示出在收集应用程序信息中(参见图3中的预定处理350)所涉及的具体细节的低级流程图。在开始该处理(步骤600)之后,该程序被从可移动非易失性存储设备复制到各个工作站(步骤610)。然后应用程序信息被从该工作站收集(步骤620)。进入一个循环结构,以收集用于每个所识别的应用程序的应用程序信息。如果不再有应用程序用于要被提取的数据(判断630),在执行“否”分支635,并且该处理在690结束。另一方面,如果存在更多的应用程序,则执行“是”分支640,以获得该应用程序信息。
首先,该应用程序逻辑卷名称被提取(步骤650)。接着该应用程序安装点和文件系统名被提取(步骤660)。最后,在处理循环返回(循环680)以检查是否有更多的应用程序要被提取之前,该应用程序文件系统尺寸被提取(步骤670)。该循环继续执行,直到没有更多的应用程序需要被提取,在这一点,“否”分支635被执行,并且该处理在690处结束。
图7示出一个质量校验表的创建(参见图3中的预定处理360)的具体细节的低级流程图。该处理开始(步骤700),然后执行检查,以确保一个连接已经在该工作站和可移动非易失性存储设备之间建立(步骤710)。然后联网文件被检查(步骤715),以确保它们是正确的。在联网文件被检查时,/home/local目录的恢复被检查(步骤720)。接着,密码被检查,以确保它们已经被正确地收集(步骤725)。在密码已经被检查之后,该文件系统被检查(步骤730)。接着,/usr/local目录的恢复被检查(步骤735)。在该目录被检查之后,tty被检查和确认(步骤740)。接着,对于任何被包含/排除的文件检查ADSM(IBM的ADSTAR分布式存储管理器)(步骤745)。然后检查以前被识别和收集的应用程序信息(步骤750)。最后,用于该工作站的以太网和IP地址被检查(步骤755)。在所有检查已经被执行之后,该处理在790处结束。尽管被描述为一个顺序处理,但是上述处理可以按照不同的次序来执行,并且一些处理可以与其他处理同时(并行)执行。在图7中所示的步骤可以由一个操作员按照一个指令表手动执行,或者可以通过被设计为执行上述检查的一个程序自动执行。
图8示出用于把所收集的工作站数据复制到一个不同的工作站的低级流程图(参见在图4中的预定处理440)。首先,一个可移动非易失性存储设备被安装和/或被配置为与该工作站一同工作,如果这种设备还没有安装和配置(步骤810)的话。保存所捕获数据的该可移动非易失性计算机介质被装载在该安装和配置的可移动非易失性存储设备中,以复制以前捕获的用户环境数据(步骤825)。接着,该联网文件被恢复(步骤830)。接着,以前所捕获的唯一的系统信息被复制到新的工作站(步骤835)。在该唯一的系统信息被复制之后,该home/local数据被恢复(步骤840)并且任何ADSM文件被恢复(步骤845)。接着,以前被识别和捕获的应用程序数据被复制到新的工作站(步骤850)。
在应用程序数据被恢复之后,被从该旧工作站所捕获的tty信息被复制到该新工作站(步骤855)。然后该从该旧工作站所捕获的远程打印机定义被复制到该新工作站(步骤860)。在该打印机定义被复制之后,该工作站的IP地址和工作站名称(主机名)被分配到由用户所提供的永久主机名和IP地址(步骤865)。在该主机名和IP地址改变已经发生之后,该以太网接口被检查和确认(步骤870)。接着,该已经复制到新工作站中的关键文件的文件许可被改变,以反映从旧工作站到新工作站的移动(步骤875)。在该监视器超时已经被禁止之后(步骤880),该授权文件数据被改变(步骤885),以反映例如软件产品这样的被授权数据从旧工作站复制到新工作站的情况。最后,在该处理于895结束时,临时文件被清除(步骤890)。
上述给出的步骤是用于UNIX环境的。由于操作系统的不同,其他实施例可以具有一些不同的处理步骤。另外,上文所述的步骤可以按照不同的次序而执行,但是上述次序最好用于UNIX环境。
图9示出在新工作站上改变X-windows设置(参见图4中的步骤450)的具体细节的低级流程图。首先,一个新的窗口被创建(步骤910)。然后,该X-windows会话结束(步骤920),随后设置场景(landscape)(步骤930)和新工作站的X-windows的图像(portrait)设置(步骤940)。在该设置已经改变之后,该X-windows设置的处理在990处结束。
图10示出作为能够执行在此所述的捕获和复制的计算机系统的一个简化例子的计算机系统1001。计算机系统1001包括耦合到主机总线1005的处理器1000。一个第二级(L2)高速缓冲存储器1010还耦合到主机总线1005。主机至PCI桥路1015被耦合到主内存1020,包括高速缓冲存储器和主内存控制功能,并且对处理在PCI总线1025、处理器1000、L2高速缓冲存储器1010、主存储器1020和主机总线1005之间的传输提供总线控制。PCI总线1025提供用于各种设备的接口,例如包括LAN卡1030。PCI至ISA桥路1035对处理PCI总线1025和ISA总线1040、通用串行总线(USB)功能1045、IDE设备功能1050、电源管理功能1055之间的传输提供总线控制,并且可以包括其他未示出的功能单元,例如实时时钟(RTC)、DMA控制、中断支持、和系统管理总线支持。外围设备和输入/输出(I/O)设备可以附着到与ISA总线1040耦合的各个接口1060上(例如,并行接口1062、串行接口1064、红外(IR)接口1066、键盘接口1068、鼠标接口1070和固定盘(FDD)1072)。另外,许多I/O设备可以由一个附着到ISA总线1040的上级I/O控制器(未示出)所协调。
BIOS 1080耦合到ISA总线1040,并且包含用于各种低级系统功能和系统引导功能的必要处理器可执行代码。BIOS1080可以存储在任何计算机可读介质中,包括磁性存储介质、光存储介质、闪存、随机存取存储器、只读存储器以及传递编码该指令的信号的通信介质(例如来自网络的信号)。为了把计算机系统1001通过局域网连接到NIM服务器,LAN卡1030耦合到PCI至ISA桥路1035。类似地,为了使用电话线连接而连接到一个NIM服务器,调制解调器1075连接到串行端口1064和PCI至ISA桥路1035。
尽管在图10中所述的计算机系统能够执行在此所述的捕获和复制处理,但是该计算机系统仅仅是一种计算机系统的一个例子。本领域的普通技术人员应当知道许多计算机系统设计能够运行UNIX操作系统(或者例如由微软公司所授权的Windows 95/98/NT或由IBM所授权的AIX或OS/2这样的任何操作系统),并且执行在此所述的处理。
图11示出用于在收集和复制工作站环境中所涉及的处理的层级图。系统复制1100是在该层级图中最高级。系统复制1100被分为两个普通处理类别收集1110,其从旧工作站收集用户环境数据;以及复制1120,其把由收集1110所收集的信息复制到一个新的工作站。收集1110分为四个处理。数据收集1130从旧工作站收集用户环境数据(对于流程图描述,参见图5)。工作站列表1140包括具有所收集和复制的用户环境数据的一个工作站列表。应用程序数据的收集1150包括从工作站收集应用程序数据的处理(对于流程图描述,参见图6)。最后,质量校验表1160包括检查该用户环境数据是否已经被成功收集的用户环境数据(对于流程图描述,参见图7)。
在该层级图的复制1120上,两个处理被从复制1120分离。首先,复制1170把从旧工作站收集的用户环境数据复制到新工作站(对于流程图描述,参见图8)。其次,X-windows设置1180把X-windows的设置设置在该新工作站中(对于流程图描述,参见图9)。
本发明的一个优选实施例是客户机应用程序,即,在例如可以驻留在计算机的随机存取存储器中的代码模块中的一组指令(程序代码)。直到由计算机所要求,该组指令可以存储在另一个计算机存储器中,例如在硬盘驱动器中,或者在例如光盘(最终用于一个CD ROM中)或在软盘中(例如最终用于软盘驱动器中),或者通过互联网或其他计算机网络下载。因此,本发明可以被用作为一个用于计算机中的计算机程序产品。另外,尽管所述的各种方法被方便地用于由软件有选择地激活或重新配置的一个通用计算机中,但是本领域的普通技术人员应当认识到这种方法可以用硬件、固件或者用被构造为执行所需的方法步骤的更加专用的装置来执行。
尽管本发明的特定实施例已经被示出和描述,但是本领域的普通技术人员应当显然可以看出根据在此所述的思想,可以做出各种改变和变化而不脱离本发明和其更加广义的方面,因此所附权利要求在它们的范围内包含在本发明的实质精神和范围内的所有这种改变和变型。
权利要求
1.一种用于复制在第一计算机系统中的用户环境的方法,所述方法包括在第一计算机系统上执行一个自动数据收集工具,以从第一计算机系统收集用户环境数据;以及把该用户环境数据存储在一个可移动非易失性介质中。
2.根据权利要求1所述的方法,其中该收集包括识别要包含在该用户环境数据中的属性。
3.根据权利要求1或2所述的方法,其中所述方法进一步包括把由第一计算机系统所存储的用户环境数据恢复到第二计算机系统。
4.根据上述任何一项权利要求所述的方法,其中该第一计算机系统包括一个UNIX操作系统。
5.根据上述任何一项权利要求所述的方法,其中该收集对多个用户执行,该多个用户中的每个用户在该第一计算机系统上具有一个或多个账户。
6.根据上述任何一项权利要求所述的方法,其中该用户环境数据包括至少打印机定义、tty定义、网络接口、用户密码和授权信息之一。
7.根据上述任何一项权利要求所述的方法,其中所述方法进一步包括把该可移动非易失性介质从该第一计算机系统传送到第二计算机系统;把该可移动非易失性介质装载到能够读取该介质的一个设备中;以及从该可移动非易失性介质把用户环境数据恢复到第二计算机系统中。
8.一种信息处理系统,其中包括一个或多个处理器;可由该处理器所操作的操作系统;可由该处理器所访问的存储器;可由该处理器所访问的可移动非易失性存储设备;用于把用户环境数据复制到第一计算机系统中的用户环境复制工具,该工具包括用于从第一计算机系统收集用户环境数据的装置,该收集由一个计算机程序所执行;以及用于把用户环境数据存储在一个可移动非易失性介质上的装置。
9.根据权利要求8所述的信息处理系统,其中该收集包括用于识别要包含在该用户环境数据中的属性的装置。
10.根据权利要求8或9所述的信息处理系统,其中进一步包括用于把由第一计算机系统所存储的用户环境数据恢复到第二计算机系统的装置。
11.根据权利要求8至10中的任何一项所述的信息处理系统,其中该第一计算机系统包括一个UNIX操作系统。
12.根据权利要求8至10中的任何一项所述的信息处理系统,其中用于收集的装置对多个用户执行,该多个用户中的每个用户在该第一计算机系统上具有一个或多个账户。
13.根据权利要求8至10中的任何一项所述的信息处理系统,其中该用户环境数据包括至少打印机定义、tty定义、网络接口、用户密码和授权信息之一。
14.一种存储在计算机可操作介质上的计算机程序产品,该计算机程序产品被编程为复制在第一计算机系统中的用户环境,所述计算机程序产品包括从第一计算机系统收集用户环境数据的程序代码,该收集由一个计算机程序所执行;以及用于把该用户环境数据存储在一个可移动非易失性介质中的程序代码。
15.根据权利要求14所述的计算机程序产品,其中该收集包括用于识别要包含在该用户环境数据中的属性的装置。
16.根据权利14或15所述的计算机程序产品,其中进一步包括用于把由第一计算机系统所存储的用户环境数据恢复到第二计算机系统的装置。
17.根据权利14至16中的任何一项所述的计算机程序产品,其中用于收集的装置对多个用户执行,该多个用户中的每个用户在该第一计算机系统上具有一个或多个账户。
18.根据权利14至16中的任何一项所述的计算机程序产品,其中该用户环境数据包括至少打印机定义、tty定义、网络接口、用户密码和授权信息之一。
全文摘要
一种数据收集程序从用户工作站收集数据,并且捕获用户环境数据,其中包括用户设置和应用程序数据。该用户环境数据被存储在一个可移动非易失性存储介质上,用于复制处理。所存储的用户环境数据被一个复制处理所处理,以把用户环境数据从旧工作站复制到新工作站,或者用于从一个灾难性的系统故障中恢复。不被传统的备份程序所捕获和恢复的各种用户环境设置被捕获和恢复。例如,授权信息和应用程序个性信息与例如主机名、IP地址等等其他用户特定的信息一同被识别、存储和恢复。
文档编号G06F9/46GK1500243SQ02807256
公开日2004年5月26日 申请日期2002年3月25日 优先权日2001年4月5日
发明者瑞克·汉密尔顿, 史蒂文·利普顿, 利普顿, 瑞克 汉密尔顿 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1