CN1298149A - 工厂软件管理系统 - Google Patents
工厂软件管理系统 Download PDFInfo
- Publication number
- CN1298149A CN1298149A CN 99125062 CN99125062A CN1298149A CN 1298149 A CN1298149 A CN 1298149A CN 99125062 CN99125062 CN 99125062 CN 99125062 A CN99125062 A CN 99125062A CN 1298149 A CN1298149 A CN 1298149A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- software
- server
- file
- group
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
工厂软件安装系统,把文件服务器中的资源配置成一个“缓存器”。该系统含有耦合到存储管理引擎(SME)上的文件服务器,该SME又耦合在一个库服务器。要装载软件的客户系统被耦合在各文件服务器和该库服务器上。SME判断文件服务器中的哪些软件程序最近未被使用过,并删除它们,从而使留在文件服务器上的文件是最近使用过的。当进行装载时,首先向文件服务器请求所希望的软件,如果有,则完成下载。如果没有该软件,则客户计算机将向库服务器发出请求,然后从库服务器下载。当向库服务器请求时,该请求将被登录在库服务器中的一个目录上。SME将周期性地读出所登录的请求,然后用被客户计算机请求过的软件去更新文件服务器存储器。
Description
本发明涉及软件在计算机上的工厂安装。较具体地,本发明提供这样一种软件安装系统,它仅让最近常用软件存储在文件服务器中,而让整组软件存储在一个库服务器中。
在计算机制造工业中,当计算机还在工厂内时把一些指定软件程序装载或包装到计算机上是很普通的。这使客户能通过利用“定制”处理来定制他们的计算机系统。客户可能需要装载在所购买的计算机上的软件程序的数目真可以说是有成千上万。例如,有许多种操作系统(OS),例如磁盘操作系统(DOS)、视窗、OS/2、UNIX等等。此外,还需要安装在这些操作系统上运行的各种应用程序。各种应用程序包括一些文字处理程序,例如MS Word、Lotus WordPro、Corel Word Perfect等等。特定的最终用户还可能要求有许多其他的应用程序。例如,电子表格,经济计划程序、电子信件软件、付帐程序等等也可以被客户选择。此外,要安装软件的客户计算机系统也可能含有某种需要特定的“工厂为硬件而安装的软件(FISH)”的硬件结构,即含有一些装置驱动器,使计算机中的硬件能够工作,这些装置驱动器是必需的。这些驱动器包括打印机驱动器、鼠标器驱动器、存储器控制软件等等。还应该指出,软件程序是在不断地更新的,于是同一个程序可能存在多个版本。这就增加了计算机制造厂为了能给客户系统安装而必须保持的软件程序数目。也就是说,存在有DOS、视窗、Word等等的许多版本,它们都必须被工厂保持。
还有,上面所述的软件都是一些现成的程序,还没能包括同样必须保持的那些客户专用的程序。大的商业客户常常会雇用自己的程序员业开发特定的程序,以满足他们的特定业务需要。例如,商业客户可能会向计算机制造厂商提供内部开发的商业目录软件和处理控制程序等,以让工厂把这些程序载到该客户所定制的一批计算机系统上。这种客户指定的软件也必须为计算机制造厂所保持,以备该客户将来再下定单时使用。
可以看出,计算机制造厂为能预先装载而必须保持的软件程序数目是巨大的。此外,为了充分利用计算机硬件的进步,例如存储器容量的增大,这些软件每年也必然不断地增长。例如,视窗98版的规模已大幅度地增大,达到了500个文件中约500兆字节(MB)。但是,由于客户有可能会要求一个旧版本的软件,而定制制造的一个主要目的就是满足客户要求,所以计算机制造厂不可能删除各种软件的各个旧版本。如果找不到一个实际的解决办法,计算机工厂需要保持的软件数目可能会变得实际上不可控制。
典型地,计算机制造设备中含有一个或多个文件服务器,用来存储可装载到客户计算机系统上去的软件程序。随着客户可得到的软件程序数目的增多,存储器容量必须相应地扩大。可以看出,不断增大文件服务器的存储容量只能是一个暂时的解决办法,考虑到成本和存储器资源的可获得性,这个解决办法最终将变得不切实际。
另一个可能的解决办法是采用一种分级存储管理(HSM)系统,它使高容量存储器,例如光学存储器,与文件服务器相耦合,并利用专门的软件在光学存储器与文件服务器存储器之间交换文件。然而,在许多情况下计算机制造设备将包含多于1个的文件服务器。HSM系统的设计是仅对单个文件服务器工作的,只有通过把光学存储器在各个文件服务器之间进行分区才能够修改成对多个文件服务器工作。也就是说,对于“n”个文件服务器,光学存储器将有“n”个分区。这实际上减少了每个文件服务器可得到的存储器,这是因为一个文件服务器将只能访问指派给它的那一个分区,而分区的大小是取决于软件安装系统中的文件服务器数目的。
因此可以看到,存在着对这样一种工厂软件安装系统的需求:该系统能在不增加系统中每个文件服务器的存储器容量的情况下管理大量的软件程序。此外,可能还希望有这样一种系统,它能增加可以与多个文件服务器结合工作的中央化的存储器容量。
于是,提供了一种用于工厂软件安装的系统,它把一个或多个文件服务器中的存储器资源基本上配置成一个“缓存器(cache)”。一个工厂安装系统至少包含一个耦合在一个存储管理引擎(SME)上的文件服务器,而该SME又是耦合在一个库服务器上的。存储管理引擎执行工厂软件安装系统的基本文件存储管理功能。被装载软件的目标计算机系统耦合在文件服务器和库服务器上。库服务器应有足够的存储容量来保持目标计算机系统可能会要求的所有软件。存储管理引擎将判断含在文件服务器存储器中的哪些软件程序是最近未被使用的并删除这些文件,这使得留在服务器存储器中的文件将是最近使用过的。
当对一个客户计算机进行装载时,将向文件服务器请求所希望的软件。如果希望的程序位于文件服务器上,则实现向该客户计算机的下载。然而,如果文件服务器中没有所请求的软件,则客户计算机将向库服务器请求希望的软件,并实现库服务器向客户计算机的下载。当目标客户计算机系统向库服务器请求文件时,该请求被登录在库服务器中。SME将周期性地读出各个被登录的请求,然后用曾被目标客户计算机请求过的软件去更新文件服务器存储器。因此,最近被请求过的软件被保持在文件服务器中,而最近未被使用的程序则被存储在库服务器中。通过把最近未被使用的程序保持在库服务器中,将使文件服务器上能得到存储容量来存储较新的(并且典型地也是较大的)软件。该系统的其他一些方面将包含在下面结合附图的说明和后面所附权利要求中。
图1是根据本系统配置的一个典型目标客户计算机系统的方框图;
图2示出在工厂软件安装系统的一个实施例中所包含的各个部件;
图3是说明系统中各个部件之间的连接的方框图;
图4和4A是说明存储管理引擎(SME)为在文件服务器存储器中保持最近使用过的软件而执行的各个处理步骤的流程图;
图5是另一个流程图,它说明目标客户计算机系统向文件服务器以及有必要时向库服务器请求要装载的各种文件的一种方法;以及
图6是一个用来控制存储管理引擎的图形用户界面的描述图。
戴尔计算机公司(Dell Computer Corporation)是一个计算机系统制造商,它拥有许多带有工厂安装下载应用(FIDA)系统的设备。这些FIDA系统用来把软件程序下载到客户所定购的目标计算机上。FIDA系统是制造处理和系统定制化处理中的关键部件。随着各种各样操作系统和应用(软件)的产生和各种各样硬件配置的扩展,对制造设备中保持这些数据的FIDA服务器的容量要求有很大的增加。工厂FIDA服务器存储来自几个来源的数据,这些数据最终将用于对作为客户定单一部分的软件的安装。软件中的相当一部分是通过自动文件建立(AFP)处理而提供给服务器的,其中AFP处理用来向目标客户计算机提供操作系统、装置驱动程序和应用软件。当计划要向服务器提供较新和较大的程序时,FIDA服务器上的存储空间可能会不够用。
有许多提供给和存储于FIDA服务器的数据文件是不经常使用的,但对于需要这些特定数据的少量特殊系统定单来说它们又必须是可得到的。统计分析表明,在最近的180天内有多达70%的文件从未被使用过。
参见图1,其中示出了一个典型的数据处理系统,它是图2和图3中的典型系统104的一种可能的配置例子。典型地,该系统是一个将被用作个人计算机的客户系统。当然,它也可以预期和配置成工作站、服务器等等。设有一个中央处理单元(CPU)10,它通过一个系统总线12与各种其他系统部件互连,该CPU例如是一个可从英特尔(Intel)公司购得的英特尔奔腾微处理器。只读存储器(ROM)16通过总线12连接在CPU10上,含有能控制基本计算机功能的基本输入/输出系统(BIOS)。随机访问存储器(RAM)14、I/O(输入/输出)适配器18、和通信适配器34也都连接在系统总线12上。I/O适配器18可以是一个能与例如硬驱这样的磁盘存储器装置20、软驱21、CD-ROM(紧凑光盘只读存储器)23等通信的小型计算机系统接口(SCSI)适配器。通信适配器34使总线12与一个外部网络互连,从而使该数据处理系统能与其他的类似系统通信。调制解调器40通过总线12耦合在微处理器10上。调制解调器40可以通过电话线连接到各种在线计算机服务器和因特网上。用户输入/输出装置通过用户接口适配器22和显示适配器36也连接在系统总线12上。键盘24、跟踪球32、鼠标器26、操纵杆33和扬声器28都通过用户接口适配器22互连在总线12上。显示监视器38通过显示适配器36连接在系统总线12上。这样,用户便能借助键盘24、跟踪球32、鼠标器26、操纵杆33等向系统输入信息,并通过扬声器28和显示器38从系统接收输出。此外,一个例如DOS、OS/2、视窗95、视窗NT等这样的操作系统(OS)用来协调图1所示各部件的功能。
图2示出一个示例性实施例中所含的各种系统。较具体地说,FIDA服务器(文件服务器)以代号100示出。作为例子,可以看到图2中示出了3个文件服务器。不过应理解,该系统可以期望有10个、20个或更多个互连的文件服务器。这些文件服务器由一个网络105互连。该网络例如是一个局域网(LAN)、以太网、令环网等。
从图2还可以看出,文件服务器100也通过网络105连接在准备装载指定软件程序的目标计算机系统104上。这里同样示出了3个目标系统,但应该理解本系统可以有成千上万个连接在网络105上的可并行地进行软件装载的目标系统。目标系统104将含有被装载了视窗OS、文字处理软件、装置驱动程序等的个人计算机。目标客户计算机系统104可以包含:(1)需要视窗OS、文字处理软件、传真/调制解调器软件、驱动程序等的个人计算机(PC);(2)准备装载UNIX OS、计算机辅助设计(CAD)程序等的工作站,或者(3)需安装载视窗CE操作系统的个人数字助手(PDA)。当然,目标客户计算机系统104也可包括希望能在最终用户得到该系统之前预先装载了软件的许多其他类型的数据处理系统、模块和内设系统等等。
库服务器102也连接在目标系统104上,它含有准备装载到客户计算机104上的所有可得到的软件。光学存储器103被耦合在库服务器102上,它存储了大多数准备装载到客户计算机104上的可得到的软件程序。库服务器102、光学存储器103、再加上磁带驱动器108可以用一个分级存储管理(HSM)系统组织起来,使得最近使用过的程序被存储在库服务器存储器中,而最近未被使用过的文件则按等级在光学存储器与磁带驱动器之间分配。由于在服务器102与光学存储器103之间存在着一对一的关系,所以在一个实施例中可期望的这种类型HSM系统可以与库服务器102结合使用。
应该指出,即使硬件存储装置有了进步,通常还是利用各种压缩技术来把更多的软件程序包装到可得到的存储器资源中去。在一个实施例中,AFP112以压缩的“zip(压缩的)”文件的形式向文件服务器100和库服务器102提供软件。软件压缩包括各种算法和技术使含在软件中的信息能以最小的存储量存储在硬件存储器中。这些文件将含有“zip”扩展符,即“filename.zip”。然后一个或多个对应于一指定软件程序的zip文件被AFP112装载到服务器100和库服务器102上。目标系统104将用某个安装程序109来安装,该程序将在文件服务器100中搜索指定的文件,并且如果能在文件服务器中找到,则把软件下载到目标系统上。下载处理将包括对找到的zip文件进行“解压缩(unzip)”处理,然后把它们存储在目标计算机的硬驱上。熟悉本技术领域的人们应会理解这里所说的“解压缩”(在工业上也称作“开包(unpack)”)压缩,以把被最小化了的信息恢复成其正常的大小,并把该解压缩后的文件存储在计算机上。
在一个优选实施例中,被目标计算机用来在文件服务器中搜索指定zip文件的软件109(见图3)是一个“壳代码(shell script)”或批文件,该代码在汤姆逊工具包命令翻译程序(壳)(Thompson ToolkitCommand Interpreter(shell))环境下在目标计算机上运行。特别是,壳文件“unzip.sh”将被用来从文件服务器中提取可得到的文件。如下面将说明的,该unzip.sh文件还将被修改成能在对文件服务器搜索指定的zip文件之后搜索库服务器。这一修改是必须的,以便向SME提供一个进入到安装软件中的“挂钩”。也就是说,unzip.sh文件将提供安装软件109与SME106之间的一个接口。在FIDA100上不存在所请求的文件将导致安装软件去访问SME102上的文件。
现在将结合图3说明该系统的工作,图3是图2所示各部件的方框图。图中示出目标客户系统104被耦合在文件服务器100上。目标计算机104也连接在库服务器102上,后者又耦合在存储管理引擎106上。存储管理引擎配置应用程序(SMECU)110用来向SME106提供一个图形用户界面(GUI),让操作员可以通过设置各种参数来控制工厂下载系统。关于SMECU,将参考图6进行更详细的说明。SME106连接在文件服务器100和库服务器102上。自动文件建立(AFP)112是这样一个系统,它包含了一个将可以装载到目标系统上去的所有软件的数据库。从各个软件销售商处得到的新程序被输入给AFP系统,以分配给库服务器102。应该指出,虽然在图2和3中只示出了一个库服务器102,但可以期望还有一些冗余的系统使得可以安装至少一个后备库来保证装载到目标计算机上的程序的最大可获得性。
在一个优选实施例中,SME106可以一个服务器计算机系统,例如运行视窗NT4.0操作系统的Dell Power-Edge 2200服务器。一个专门设计来控制工厂下载安装系统的SME应用程序也将在SME硬件上运行。图中还示出了视窗NT事件日志105和SME日志107。事件日志105将包含系统级别的事件,而SME日志107则包含库服务器102与文件服务器100之间的文件转移记录,还有关于删除文件服务器100中的未使用文件的记录。
库服务器102也可以是一个服务器计算机,例如运行Netware操作系统并具有约85吉字节(GB)的附加存储容量的Dell PowerEdge6100。一个优选实施例还期望用一个结合在库服务器102上的分级存储管理系统,该系统采用了一级(硬盘)、二级(光学)和三级(磁带)存储器,总共给出约2.7太字节(TB)的存储容量。文件服务器100的配置与库服务器102的类似,不过不包含与库服务器相关联的附加存储容量。
如前所述,本系统通过把文件服务器100转化成“缓存器(cache)”存储而解决了管理大量为下载客户系统所需的软件这一问题。生成这个缓存器的第一个步骤是确定哪些文件应该继续存储在文件服务器100上。SME106被设计得能从文件服务器100中删去旧的zip文件。典型地,一个操作系统应包含一个保持着各种安装在数据处理系统上的文件的条目的目录。该目录应含有关于文件名称、文件类型、文件大小、文件最后修改日期、和文件最近访问日期等的条目。通常,一个操作系统将为检索目录条目信息而提供一个编程的接口。视窗NT操作系统为远地Net-Ware操作系统的目录条目提供了这样一个接口。于是,基于视窗NT的SME106读出文件服务器100中的目录101内的最近访问日期。应该注意这里使用的Netware和NT只是作为例子。熟悉本技术领域的人们应可理解,许多其他的操作系统和程序也可用来实现本系统。
一旦在SME106与文件服务器100之间建立了连接,就可以通过读出目录101来确定每个存储在文件服务器100内的文件最近是在什么时候被访问的。相应的日期参数可以利用下面将更详细说明的SMECU界面来设定。例如,可以确定要删除凡是在最近6个月内未曾被访问过的文件。在此情形下,SME106将读出文件服务器100中的所有文件的最近访问日期。然后删去那些等于或超过了6个月未被访问的文件,腾出文件服务器存储器中的空间。被删除的文件仍保留在库服务器102上,仍可被目标计算机得到。通过这种方式,近来未被使用的那些文件将仅保留在库服务器102中。这样,文件服务器100中空出来的存储空间便可在需由AFP系统112安装新程序时使用。
现在将说明目标计算机为得到希望软件程序的操作。如前所述,在目标计算机104上安装了一个程序,该程序将搜索准备要下载的各种软件。较具体地说,该软件含有unzip.sh程序文件和被请求软件的唯一的文件服务器名称。也就是说,目标系统安装软件知道要从文件服务器下载的程序的位置。当在该服务器上找到了希望的软件时,将通过对该文件“解压缩”并把它装载到目标计算机的硬驱上而完成对目标计算机的下载。
不过,unzip.sh文件被进行了修改,使它能在文件服务器100上未找到希望文件时将对库服务器102搜索希望文件。这样,一旦确定了希望文件不在文件服务器上,目标计算机软件便向库服务器请求希望文件。由于库服务器存储了所有已知的可被下载的软件,所以应该含有希望文件(库服务器102是文件服务器100的一个母集(superset))。然后库服务器102把所请求的文件直接下载给目标计算机104。如果库服务器102上没有所请求的软件,则发生了系统出错,将向系统管理发送一个告示。此时目标系统104将产生一个表明下载失败的出错消息。
库服务器102有一个旗标目录103。当目标系统软件的unzip.sh文件不能在文件服务器100上找到希望文件并向库服务器102请求该文件时,目录103中将设置一个“已使用文件(file-used)”旗标,表明目标客户计算机请求了一个特定文件,并且该特定文件不在文件服务器100上。
系统管理者将通过SMECU让SME106周期性地读出库服务器102中的目录103,以判断是否设置了任何的“已使用文件”旗标。当SME106判定已设置了一个旗标,则把对应于该旗标的文件从库服务器102转移给文件服务器100。这样,最近使用了的文件就被保持在文件服务器100中。可以看出该操作是如何使文件服务器100变成为文件服务器缓存器以使其上仅保持最近使用的文件的。同时,库服务器上存储了最近未使用的文件,它类似于一个“主存储器”。
存储管理引擎106可以实现为一个被编写成在视窗NT4.0(或更高)操作系统上运行的32位C++程序。基本上,SME106是通过下述操作来保持文件服务器缓存器100的“(1)删除文件服务器中那些在一个特定时间内未被访问的zip文件;和(2)当文件没有存在于服务器100上时,把最近访问的zip文件从库服务器102恢复到文件服务器100上。
SME106将实现为一个视窗NT服务程序。这将使该程序可以不加照顾地运行(即不需要用户登录到系统中),还将在系统更新起动时使SME能自动起动。
最初,当SEM起动时它将从NT记录中读出配置信息,这包括:
(1)文件服务器100的网络名称;(2)库服务器102的网络名称;(3)使用登录到文件服务器上的密码;(4)一个或多个网络管理者的电子邮件地址;以及(5)检验文件服务器上的旧文件以及库服务器上的旗标的时间周期。
SME程序将周期性地检查FIDA文件服务器100中的清单以搜索在NT配置记录所定义的给定时间长度内未被访问过的文件。当发现了一个要删除的文件时,SME将首先确认该文件存在于库服务器,然后再把它从文件服务器中删除。SME还将检查库服务器102中的旗标目录,以判断是否有任何文件应该被恢复到文件服务器中去。当然,也可以预期有其他的实现方式。例如,库服务器可以被配置得仅保持那些在超过了某一选定时间内还未被访问的文件(不存储任何最近访问过的文件),使得这些文件必须从文件服务器100转移给库服务器102。
SME106在SME日志107(图3)中保持了2个日志文件,以保持所有活动的记录。其中用Fida2Lib.txt文件来保持关于所有从文件服务器100中删除的文件的记录。用Lib2Fida.txt文件来保持关于所有从库服务器102拷贝到文件服务器100上的文件的记录。这两个文件都是循环周转的,只保持最近的记录。SME106通过其GUI(图形用户界面)110而具有这样的功能,即每天向各个系统管理者发送一个电子邮件,通知他们系统工作。如果管理者没有收到SME的电子邮件,他们将知道要检查该系统。SME106所用的另一个日志是视窗NT事件日志105(图3)。SME106在视窗NT事件日志105中除了登录其他事件之外,还登录起动、关闭等事件。系统管理者可以从NT用户界面上访问事件日志105。
下面将结合图4所示流程图详细地说明从文件服务器100中删除或“修剪”最近未被使用的文件的处理。
在步骤1中,该程序开始,在步骤2中SME106访问目录条目获取文件服务器100中的文件的最近访问日期。该处理继续到步骤3,在其中获得下一个文件的信息,即读出目录中接着的一个文件。在步骤4中判断在步骤3中得到的文件是否是旧的。具体地说,判断一个文件未被访问的时间是否长于系统管理者所指定的时间。如果判定不是这样,则该文件保留在文件服务器100上,然后处理循环回到步骤3,读出目录中的下一个文件。然而,如果在步骤4中判定该文件是旧的,则处理进入步骤5,判断该未被访问的文件是否存在于库服务器。若该文件存在于库服务器(通常情况),则在步骤7中删除该旧文件。但如果在步骤5中判定该未被访问文件不存在于库服务器102,在步骤6中向系统管理者发送一个告示,警告这一错误情况。在此情形下,不从文件服务器100中删除该文件,以保证在工厂软件安装系统上至少保持有一份拷贝。当向系统管理者发送了出错告示后,SME处理将返回步骤3并提取文件服务器目录清单中下一个文件的最近访问时间。在步骤7中删除了旧文件之后,处理进入步骤8并于那里结束。
现在将参考图4a所示的流程图说明把以前删除的文件从库服务器102转移到文件服务器100中的处理。该处理开始于步骤1,在步骤2中判断在库服务器102的旗标目录103中是否存在一个旗标。一个旗标表明在文件服务器100上未能得到一个特定文件,并且目标系统104已向库服务器102请求了该特定文件。如果不存在旗标,则处理进入步骤4并在那里结束。然而,如果在库服务器102的“已使用文件”目录103中存在至少一个旗标,则那个被目标计算机请求的特定文件将被从库服务器102拷贝到文件服务器100中。当在步骤3中向文件服务器100拷贝了已使用文件之后,处理于步骤4结束。
如前所述,对装载到客户系统上的unzip.sh文件进行了修改,以便当在文件服务器上找不到希望文件时能对库服务器进行搜索。较具体地说,目标系统的程序码首先对每个文件服务器的目录($FOREST)和这些服务器目录上的每个条目级别($FULL-NAME)搜索准备装载的zip文件,即对这些条目进行文件名和扩展符($filename.$ext)搜索。如果找到了所请求的zip文件,则把$ZIPERR寄存器设置为0,并且ARCHIVE中含有用于下载zip文件的完整路径。在完成了这个码块后如果$ZIPERR没有被设置为0,也即如果没有在文件服务器100中找到该文件,则码流将分支到一个新的文件CHECKLIB.EXE,该程序将造成对库服务器102的动态连接和继续进行zip文件搜索。如果在库服务器102上找到了文件,$ZIPERR寄存器将被设置为0,并且ARCHIVE将指出在库服务器上通达该zip文件的完整路径。在确定了被请求文件在库服务器上的位置之后,处理返回到对准备下载的文件的“解压缩”。这时如果$ZIPERR已被设置为零,则设置一个本地旗标(LIB_USED)以表明该zip文件已在库服务器上找到。如果该文件是在本地文件服务器100上找到的,则利用$ARCHIVE作为通向该zip文件的完整路径继续对该文件的“解压缩”。在退出程序码之前,$LIB_USED为判断是否应终止对库服务器的动态连接。如果LIB_USED为1,则用CHECKLIB.EXE程序来断开目标计算机104与库服务器102之间的动态网络连接。
现在参考图5所示流程图进一步说明目标系统的软件下载操作。处理开始于步骤1,步骤2根据客户计算机104的请求构筑文件名,或者,如果没有提供其他的扩展符则采用“*.zip”扩展。在步骤3中,把所有服务器100($FOREST)都初始化成X。在步骤4中,把退出状态初始化成FALL(失败)和NOT FOUND(未找到)。在步骤5中用文件名和扩展符搜索文件服务器100。此外,在步骤5中还搜索全部由$FOREST定义的驱动器,并把$ARCHIVE设置到搜索的路径和文件名上。同样在步骤5中,如果找到了文件,则把$ZIPERR寄存器设置为零。在步骤6中判断该文件是否是在文件服务器100上找到的。如果判定为是,则在步骤10中对该文件“解压缩”。然后在步骤11中判断$ZIPERR寄存器是否已被设置为零。如果是这样,则在步骤12中用一个应用程序验证已经找到了正确的文件。较具体地说,对文件名、文件大小、和最后修改日期进行比较,以保证找到的文件就是被请求的文件。然后步骤13判断是否所有的文件都已被验证为对应于各个所请求的文件。然后在步骤14中把请求的文件从文件服务器100下载给目标系统。同样在步骤14中,如果$LIB USED旗标被设置为1,表明文件是在一库服务器102而不是文件服务器100上找到的,则在该步骤中还要断开对库服务器的连接。否则,由于文件是在FIDA文件服务器上找到的从而没有必要去搜索库服务器,于是也就不会有什么库服务器连接需要断开。然后处理于步骤16退出。
然而,如果在步骤6中判断所请求的文件没有在FIDA文件服务器100上找到,则将在步骤7中调用CHECKLIB.EXE程序来搜索文件。在步骤8中,判断是否在库服务器上找到了请求的文件。如果是这样,则处理继之以步骤9,在那里设置$LIB_USED旗标以表明文件是在库服务器中找到的。如果在步骤8中判定在库服务器中没有找到请求的文件,则表明出现了错误,于是在步骤16中断开对库服务器的驱动器映射。然后处理于步骤17退出,同时给出了一个出错信息。
在步骤9之后,处理进入步骤10,对文件“解压缩”。在步骤11中,再次检验$ZIPERR是否为零。如果出现了一个非零的值,则表示发生了一个错误,于是处理跳至步骤16。若$ZIPERR为零,则在步骤12中运行一个验证从库服务器提取的文件的程序。如果在步骤13中判定所有文件都被验证为正确的,则在步骤14中文件将被下载给目标系统,然后如果$LIB_USED旗标已被设置为1(由于文件位于库服务器上,所以将存在一个对库服务器的连接),则断开驱动器对库服务器的映射。如果在步骤13中没有能验证提取的文件,则表明出现了错误,于是处理将继之以步骤16,并在步骤17中退出,同时给出了一个出错消息。
现在将结合图6说明SMECU,该图是用户界面120的屏幕照片的复制图,该界面使操作员,例如系统管理者,可以控制工厂下载安装系统。
界面120含有一个授权机制128,它提供对文件服务器100和库服务器102的网络连接。系统还提供了安全性,只让具有经授权的密码即有效口令的操作员才可进入网络。区域121含有存储了所有可下载给目标系统的软件库服务器的名称。SME服务周期性地检验库服务器目录103中是否有“已使用文件”旗标,并当访问了库服务器的目标系统设置一个旗标时,就把相应的文件移回至适当的服务器。区域122使系统管理者可以设定SME106检验库目录的时间周期(例如以分钟为单位)。
文件服务器100也通过该界面由SME106控制。正在使用的文件服务器名称示于区域123。在系统配置发生改变时SMECU有能力添加或删除一些服务器。SME106周期性地检验列在区域123内的各服务器中是否有在一可设定的天数内未被访问过的文件。具体的天数由操作员通过区域124设定。在本例子中可看到所选的天数为180天。如果有一个文件在等于或大于180天的时间内未被访问过,则它将被删去(当在库服务器中有此文件时),于是目标系统不得不到库服务器去访问该文件。区域125使系统管理者可以设置SME106对文件服务器100搜索未访问过的文件的时间周期。从图6可以看出,SME将每天(每24小时)搜索一次文件服务器100,以寻找最近未被使用的文件。区域126是定义了服务器(文件服务器100和库服务器102)中实际目录的被管理容量/目录路径。对于文件服务器100,对那些最近未被访问从而可以删除的被管理文件提供其路径。而对于库服务器102,这些目录则提供了要恢复到文件服务器100中去的最近被使用过的被管理文件的路径。
SMECU110具有只让具有某些扩展符的文件可受SME管理的。区域12被使操作员可以通过在4个方块中打钩来选择哪些类型的文件要被管理。前面讨论的“zip”文件通过对方块“·Z*”打钩而被管理。其他类型的文件,例如图像文件(“·IMG”)、鬼文件(“·GHO”)等也可受SME管理。虽然区域127只示出了4种可管理的文件类型,但也可期望本发明能管理许多其他类型的文件。在一个优选实施例中,SME106将提供一个安全措施,即只让100个具有·Z*扩展符的文件和每种8个具有其他扩展符的文件可以在一个给定时间长度内被删除。在这样一个时间长度内很少会有100个或多于100个文件合理地需要删除,SME106就是这样通过防止在没有操作员介入的情况下发生大批量的文件删除,来使任何可能的系统误操作最小化。
各种记录、配置数据和构成了SME的可执行程序驻留在EXE路径区域131中,其日志文件则驻留在区域132中。这些路径将导向SME引擎自身,除非在不属于该推荐路径(C:\SME)内的位置处安装了软件,一般不需要改变这些路径。
SMECU110提供了这样的服务,即当发生某些情况时(例如图5中的步骤8、11和13)将通知一个或几个系统操作员。要通知的管理者的电子邮件地址在区域129中提供,电子邮件服务器在区域130中输入。当发生停机、出错或其他故障时将自动地与操作员联系。此外,还可以在区域129中输入文字寻呼机号码,以便当操作员不能访问电子邮件时能向他提供一个简短的文字消息。
虽然这里示出和说明了一些优选实施例,但应该理解,在不偏离所附权利要求的范畴的情况下,其中可以做出许多改变和修改。
Claims (28)
1、一种软件安装系统,它包括:
至少一个准备装载一些指定软件文件的目标计算机;
至少一个文件服务器,存储了第一组即最近使用过的软件文件;
一个库服务器,存储了上述第一组软件文件以及第二组即最近未使用的软件文件;
其中,当上述指定软件文件包含在上述第一组软件文件内时,上述目标计算机从上述文件服务器进行装载;当上述指定软件文件包含在上述第二组软件文件内时,上述目标计算机从上述库服务器进行装载。
2、根据权利要求1的系统,它还包括一个控制系统,用来把上述第一组即最近使用过的软件文件保持在上述文件服务器上。
3、根据权利要求2的系统,其中上述控制系统包括:
一个目录,其中存储了上述第一组软件文件中的每个软件文件被上述目标计算机访问的日期;
用来读出上述目录中的上述日期的装置;以及
用来把那些其对应的日期早于一个预定日期的软件文件从上述第一组软件文化中删除的装置。
4、根据权利要求3的系统,其中上述控制系统还包括:
一个旗标目录,用来保持至少一个对应于上述第二组软件文件中被装载到了上述目标计算机上的那些软件文件的旗标;
用来读出上述旗标目录的装置;以及
用来把已被装载到上述目标计算机上的那些软件文件从上述库服务器上的上述第二组软件文件转移给上述文件服务器上的上述第一组软件文件的装置。
5、根据权利要求4的系统,其中上述目标计算机包括一个安装程序,用来在开始时向上述文件服务器请求上述指定软件文件。
6、根据权利要求5的系统,其中上述安装程序包括当上述指定软件文件没有存储在上述文件服务器上时能向上述库服务器请求上述指定软件文件的功能。
7、根据权利要求6的系统,其中上述安装程序还包括当向上述库服务器请求上述指定软件文件时能在上述旗标目录中设置上述至少一个旗标的装置。
8、根据权利要求7的系统,它还包括一个日记,用来保持一个关于被从上述文件服务器删除的上述第一组软件文件中的软件文件的第一记录,以及一个关于被从上述库服务器上的上述第二组软件文件转移给上述文件服务器上的上述第一组软件文件的那些软件文件的第二记录。
9、根据权利要求8的系统,其中上述控制系统还包括一个用户界面,该用户界面含有多个用来输入用户控制上述软件安装系统的参数的区域。
10、根据权利要求9的系统,其中上述参数包括:
预定日期;
在上述目录中搜索上述文件服务器上的上述第一组软件文件中的那些其日期早于上述预定日期的软件文件的第一时间周期;
在上述旗标目录中搜索上述库服务器上的上述第二组软件文件中的那些已被上述目标计算机请求过的软件文件的第二时间周期;
准备包含在上述第一组软件文件和上述第二组软件文件中的文件的指定类型;以及
系统管理者识别信息,包括电子邮件地址和电话号码。
11、根据权利要求3的系统,其中上述删除装置包括:
用来判断准备从上述文件服务器删除的上述软件文件是否存储在上述库服务器上的装置;以及
用来仅仅从上述文件服务器删除那些存储在上述库服务器上的其日期早于上述预定日期的软件文件的装置。
12、一种安装软件的方法,它包括以下步骤:
在至少一个文件服务器上存储第一组即最近使用过的软件文件;
在一个库服务器上存储上述第一组软件文件以及第二组即最近未使用的软件文件;
当上述指定软件文件包含在上述第一组软件文件中时从上述文件服务器对一个目标计算机进行装载;以及
当上述指定软件文件包含在上述第二组软件文件中时从上述库服务器对上述目标计算机进行装载。
13、根据权利要求12的方法,它还包括下述步骤:由一个控制系统把上述第一组即最近使用过的软件文件保持在上述文件服务器上。
14、根据权利要求13的方法,其中上述保持步骤包括以下步骤:
在上述文件服务器的一个目录中存储上述第一组软件文件中的每个软件文件被上述目标计算机访问的日期;
读出上述目录中的上述日期;以及
从存储在上述文件服务器上的上述第一组软件文件中删除那些其日期早于一个预定日期的软件文件。
15、根据权利要求14的方法,其中上述保持步骤还包括以下步骤:
在上述库服务器上的一个旗标目录中记录至少一个对应于上述第二组软件文件中那些已被装载到上述目标计算机上的文件的旗标;
周期性地读出上述旗标目录;以及
把上述第二组软件文件中那些已被装载到上述目标计算机上的文件从上述库服务器转移给上述文件服务器。
16、根据权利要求15的方法,它还包括下述步骤:由上述目标计算机上的一个安装程序请求最初准备从上述文件服务器装载的上述指定软件文件。
17、根据权利要求16的方法,其中上述请求步骤还包括下述步骤:当上述指定软件文件没有存储在上述文件服务器上时接着向上述库服务器请求上述指定软件文件。
18、根据权利要求17的方法,上述接着的请求步骤包括下述步骤:当上述指定软件文件是向上述库服务器请求的时在上述旗标目录中设置上述旗标。
19、根据权利要求18的方法,它还包括下述步骤:保持一个日记,其中含有一个关于被从上述文件服务器删除的上述第一组软件文件中的软件文件的第一记录和一个关于被从上述库服务器上的上述第二组软件文件转移给上述文件服务器上的上述第一组软件文件的那些软件文件的第二记录。
20、根据权利要求19的方法,它还包括下述步骤:向上述控制系统提供一个用户界面,其中含有多个用来输入用于控制上述软件安装系统的参数的区域。
21、根据权利要求20的方法,其中上述提供用户界面的步骤包括以下步骤:
输入预定日期;
输入一个在上述目录中搜索上述文件服务器上的上述第一组软件文件中的那些其日期早于上述预定日期的软件文件的第一时间周期;
输入一个在上述旗标目录中搜索上述库服务器上的上述第二组软件文件中的那些已被上述目标计算机请求过的软件文件的第二时间周期;
选择准备包含在上述第一组软件文件和上述第二组软件文件中的文件的指定类型;以及
输入系统管理者识别信息,包括电子邮件地址和电话号码;
22、根据权利要求14的方法,其中上述删除步骤包括以下步骤:
判断上述早于上述预定日期的软件文件是否存储在库服务器上;以及
仅从上述文件服务器删除那些存储在上述库服务器上的其日期早于上述预定日期的软件文件。
23、一种计算机系统,它包括:
至少一个文件服务器,它存储了第一组即最近使用过的软件文件;
一个库服务器,它存储了上述第一组软件文件以及第二组即最近未使用的软件文件;
至少一个目标计算机,当指定请求的软件文件包含在上述第一组软件文件中时,它将从上述文件服务器装载上述指定请求的软件文件,当指定请求的软件文件包含在上述第二组软件文件中时,它将从上述库服务器装载上述指定请求的软件文件;
一个目录,用来存储上述第一组软件文件中每个软件文件被上述目标计算机访问的日期;
用来读出上述目录中的上述日期的装置;
用来当上述日期早于一个预定日期并且上述软件文件被存储在上述库服务器上时从存储在上述文件服务器上的上述第一组软件文件中删除上述软件文件的装置;
一个旗标目录,用于保持至少一个对应于上述第二组软件文件中的那些已被装载到上述目标计算机上的软件文件的旗标;
用来周期性地读出上述旗标目录的装置;以及
用来把那些已装载到上述目标计算机上的软件文件从上述库服务器上的上述第二组软件文件转移给上述文件服务器上的上述第一组软件文件的装置。
24、根据权利要求23的系统,其中上述目标计算机包括一个安装程序,用来在开始时向上述文件服务器请求上述指定软件文件,并且当上述指定软件文件没有存储在上述文件服务器上时向上述库服务器请求上述指定软件文件。
25、根据权利要求24的系统,其中上述安装程序还包括当上述指定软件文件是向上述库服务器请求的时,能在上述旗标目录中设置上述至少一个旗标的功能。
26、根据权利要求25的系统,它还包括一个日记,用来保持一个关于被从上述文件服务器删除的上述第一组软件文件中的软件文件的第一记录,以及一个关于被从上述库服务器上的上述第二组软件文件转移给上述文件服务器上的上述第一组软件文件的那些软件文件的第二记录。
27、根据权利要求26的系统,其中上述控制系统还包括一个用户界面,其中包含多个用来输入用于控制上述软件安装系统的参数的区域。
28、根据权利要求27的系统,其中上述参数包括:
预定日期;
在上述目录中搜索上述文件服务器上的上述第一组软件文件中的那些其日期早于上述预定日期的软件文件的第一时间周期;
在上述旗标目录中搜索上述库服务器上的上述第二组软件文件中的那些已被上述目标计算机请求过的软件文件的第二时间周期;
准备包含在上述第一组软件文件和上述第二组软件文件中的文件的指定类型;以及
系统管理者识别信息,包括电子邮件地址和电话号码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 99125062 CN1298149A (zh) | 1999-11-25 | 1999-11-25 | 工厂软件管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 99125062 CN1298149A (zh) | 1999-11-25 | 1999-11-25 | 工厂软件管理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1298149A true CN1298149A (zh) | 2001-06-06 |
Family
ID=5283707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 99125062 Pending CN1298149A (zh) | 1999-11-25 | 1999-11-25 | 工厂软件管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1298149A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100365571C (zh) * | 2004-10-29 | 2008-01-30 | 英业达股份有限公司 | 一种软件升级装置及方法 |
CN100371895C (zh) * | 2005-05-30 | 2008-02-27 | 英业达股份有限公司 | 均衡负载的文件预装系统及方法 |
CN100416558C (zh) * | 2003-01-22 | 2008-09-03 | 韩国乐线株式会社 | 用户应用程序的控制方法 |
CN100419692C (zh) * | 2003-09-30 | 2008-09-17 | 联想(新加坡)私人有限公司 | 管理信息处理装置的管理装置及系统 |
CN104182244A (zh) * | 2013-05-28 | 2014-12-03 | 纬创资通股份有限公司 | 部署操作系统的方法、服务器及电子系统 |
CN111858515A (zh) * | 2020-08-03 | 2020-10-30 | 中消云(北京)物联网科技研究院有限公司 | 文件的管理方法及装置 |
-
1999
- 1999-11-25 CN CN 99125062 patent/CN1298149A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100416558C (zh) * | 2003-01-22 | 2008-09-03 | 韩国乐线株式会社 | 用户应用程序的控制方法 |
CN100419692C (zh) * | 2003-09-30 | 2008-09-17 | 联想(新加坡)私人有限公司 | 管理信息处理装置的管理装置及系统 |
CN100365571C (zh) * | 2004-10-29 | 2008-01-30 | 英业达股份有限公司 | 一种软件升级装置及方法 |
CN100371895C (zh) * | 2005-05-30 | 2008-02-27 | 英业达股份有限公司 | 均衡负载的文件预装系统及方法 |
CN104182244A (zh) * | 2013-05-28 | 2014-12-03 | 纬创资通股份有限公司 | 部署操作系统的方法、服务器及电子系统 |
CN111858515A (zh) * | 2020-08-03 | 2020-10-30 | 中消云(北京)物联网科技研究院有限公司 | 文件的管理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6591418B2 (en) | Factory software management system | |
US6223345B1 (en) | System and method for building client and server application packages | |
US6567774B1 (en) | Method and system for configuring and updating networked client stations using a virtual disk and a snapshot disk | |
EP0994425B1 (en) | System and method for generating file updates for files stored on read-only media | |
US6119129A (en) | Multi-threaded journaling in a configuration database | |
US7917494B2 (en) | System and method for a log-based data storage | |
US6618736B1 (en) | Template-based creation and archival of file systems | |
US6408434B1 (en) | System and method for using a substitute directory to automatically install an update program | |
US7472122B2 (en) | Computer system and method for managing file versions | |
JP4549715B2 (ja) | ネットワーク化された周辺デバイスクライアントのための周辺デバイスドライバ維持管理スキーム | |
US7143067B1 (en) | System and method for installing personal computer software | |
CN1129083C (zh) | 用于更新网络中远程数据库的系统和方法 | |
US6256636B1 (en) | Object server for a digital library system | |
EP0938050A2 (en) | Modular storage method and apparatus for use with software applications | |
US8862600B2 (en) | Content migration tool and method associated therewith | |
CN1609803A (zh) | 通过后加载镜像布置软件的方法与装置 | |
WO2000004483A2 (en) | Hierarchical data storage management | |
CN114461333A (zh) | 容器镜像创建和部署 | |
Colyer et al. | Depot: A tool for managing software environments | |
US6592628B1 (en) | Modular storage method and apparatus for use with software applications | |
JP3711162B2 (ja) | ソフトウェア代金決裁システムおよび方法 | |
CN1298149A (zh) | 工厂软件管理系统 | |
US6823348B2 (en) | File manager for storing several versions of a file | |
US7159139B2 (en) | Digital data storage subsystem including directory for efficiently providing formatting information for stopped records and utilization of a check value for verifying that a record is from a particular storage location | |
US20050234987A1 (en) | Smart archive for jar files |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |