CN105183520B - 计算机软件远程自动化装调方法及系统 - Google Patents
计算机软件远程自动化装调方法及系统 Download PDFInfo
- Publication number
- CN105183520B CN105183520B CN201510603341.2A CN201510603341A CN105183520B CN 105183520 B CN105183520 B CN 105183520B CN 201510603341 A CN201510603341 A CN 201510603341A CN 105183520 B CN105183520 B CN 105183520B
- Authority
- CN
- China
- Prior art keywords
- computer
- primary control
- control program
- program
- assignment instructions
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种计算机软件远程自动化装调方法及系统,涉及计算机技术领域,所述方法包括:目标计算机从网络侧获取用来安装计算机程序的主控程序;利用所获取的主控程序,对所述目标计算机进行目标识别,得到目标计算机信息;利用所得到的目标计算机信息,对所述目标计算机进行BIOS设置;利用所获取的主控程序,从网络侧获取用来安装计算机程序的安装信息;利用所述从网络侧获取的用来安装计算机程序的安装信息,在所述目标计算机上自动安装计算机程序。本发明通过网络在大批量计算机上远程自动执行,最大限度地取代了人工操作,实现了企业级的大规模计算机软件自动装调的目的。
Description
技术领域
本发明涉及计算机技术领域,特别涉及计算机软件远程自动化装调方法及系统。
背景技术
企业信息技术(Information Technology,IT)部门在日常计算机维护工作中投入大量的人力和时间,主要是操作系统和应用程序的安装以及相关调试等涉及软件层面的工作。目前主要操作方式有以下几种方式:
1、采用光盘、闪存盘(USB flash disk,U盘)等介质逐台人工操作,操作中每一步都需要人工点击鼠标或键盘输入来完成,工作效率和完成质量都处于较低的水平;
2、利用网络共享资源,或者使用软件厂商提供的一些安装脚本进行较为快速的安装,但无论是通过远程执行或者到达现场,仍然需要维护人员逐台操作;
3、运用域策略等方式可以实现一定程度的网络推送功能,但仅局限于某些特定类型的安装程序,并且大规模实施中经常因为用户端环境复杂而部署失败;
4、微软等公司也推出过很多用于系统部署的方案和工具集,一方面价格昂贵,另一方面不能兼容其它品牌的产品。
以在一台计算机上以传统方式人工安装操作系统及应用程序为例,主要包括以下步骤:1.基本输入输出系统(Basic Input Output System,BIOS)设置。常常需要将BIOS刷新到较高版本,或者调整BIOS参数来满足新一代操作系统的要求,例如硬盘模式由集成驱动电子设备(Integrated Drive Electronics,IDE)模式改为高级主机控制器接口(SerialATA Advanced Host Controller Interface,AHCI)模式。2.磁盘分区。对原有系统可能附带的保留分区、休眠分区、恢复分区等进行删除或合并,以释放磁盘空间,例如,在从XP升级到Win7时,由于“分区对齐”的要求,必要时对系统盘重新分区。3.硬盘控制器。在安装前必须确定其型号,并准备好相应版本的驱动程序,为做到这两点常常需要花费很多时间进行测试,以保证后续安装操作。4.介质安装。当使用光盘或U盘等介质安装操作系统时,可能需要再次进入BIOS设置介质引导。5.硬件驱动程序。安装完成启动新操作系统后,安装主板芯片组、控制器、声卡、显卡、网卡、通用串行总线(Universal Serial Bus,USB)、AMT、蓝牙、指纹识别等驱动程序。6.系统更新。联网更新最新补丁包(Service Pack)、安全补丁等,下载量最多可能达到1GB以上,可能需要数小时时间完成更新。7.系统配置。性能优化,界面调整,更改计算机名、网络互连协议(Internet Protocol,IP)设置,加入域等操作。8.插入U盘或移动硬盘,或通过网络共享方式依次安装各种应用程序并进行相关调试。
以对大批量计算机(例如100台计算机)统一安装操作系统和应用程序为例,通常采用硬盘克隆的安装方式,主要步骤如下:1.在其中一台计算机上按照上述步骤安装配置好操作系统和应用程序,作为模板计算机。2.用维护光盘或U盘引导模板计算机启动,打开克隆工具(例如,通用硬件导向系统转移(General Hardware Oriented System Transfer,Ghost)软件)对硬盘做克隆备份,生成一个通常有数GB至数十GB大小的系统镜像文件,并保存到移动硬盘。3.对其余计算机逐台开机,首先进行必要的BIOS设置。4.重启后用维护光盘或U盘逐台引导启动,插入移动硬盘,打开克隆工具将移动硬盘上保存的系统镜像文件克隆恢复到本地硬盘上,完成批量安装。每个单机硬盘克隆过程一般需要30至60分钟。5.由于硬盘克隆后所有计算机与模板计算机的计算机名相同,因此再次重启后需要逐台更改计算机名,并进行其它差异化调整。
可见,安装操作系统及后续应用程序安装调试的过程至少需要数百个操作动作,步骤繁多,专业性要求高。对于中大型企业,拥有几百甚至上千台计算机,假设按照传统方式安装一台计算机消耗一名IT人员一天时间,在此期间计算机使用人将被迫停下工作等待安装完成,极大降低了工作效率。即使使用克隆方式实现模板复制,也并没有减少人工操作,且不能确定操作效果,很难得到真实准确的记录和统计,人工操作的随意性很容易带来各种潜在的运行风险。
发明内容
本发明的目的在于提供一种计算机软件远程自动化装调方法及系统,能更好地解决大规模的计算机操作系统升级和/或应用软件的自动装调问题。
根据本发明的一个方面,提供了一种计算机软件远程自动化装调方法,包括:
目标计算机从网络侧获取用来安装计算机程序的主控程序;
利用所获取的主控程序,对所述目标计算机进行目标识别,得到目标计算机信息;
利用所得到的目标计算机信息,对所述目标计算机进行BIOS设置;
利用所获取的主控程序,从网络侧获取用来安装计算机程序的安装信息;
利用所述从网络侧获取的用来安装计算机程序的安装信息,在所述目标计算机上自动安装计算机程序。
优选地,所述用来安装计算机程序的主控程序包括用来在目标计算机关机期间安装应用程序的第一主控程序,所述第一主控程序由所述目标计算机的操作系统通过触发关机脚本从网络侧获取。
优选地,在对所述目标计算机进行目标识别之前还包括以下步骤:
利用所获取的第一主控程序,从网络侧获取用来确认是否存在应用程序安装任务的任务口令,并将所获取的任务口令与所述目标计算机的本地注册表中保存的任务口令进行匹配;
若所述任务口令与所述目标计算机的本地注册表中保存的任务口令匹配,则退出所述第一主控程序;
若所述任务口令与所述目标计算机的本地注册表中保存的任务口令不匹配,则对目标计算机进行目标识别。
优选地,所述安装信息是用来指示安装任务的任务指令,所述利用所述从网络侧获取的用来安装计算机程序的安装信息,在所述目标计算机上自动安装计算机程序的步骤包括:
所述第一主控程序执行所获取的任务指令,将所述任务指令指示安装的计算机程序装载至所述目标计算机;
在将所述任务指令指示安装的计算机程序装载至所述目标计算机之后,将所述本地注册表中保存的任务口令替换为从网络侧获取的任务口令。
优选地,所述用来安装计算机程序的主控程序还包括用来在目标计算机开机期间安装应用程序的第二主控程序,所述安装信息是用来指示短时安装任务的短时任务指令和用来指示长时安装任务的长时任务指令,所述主控程序依次执行所获取的任务指令,将所述任务指令指示安装的计算机程序装载至所述目标计算机的步骤包括:
所述第一主控程序判断所获取的任务指令中是短时任务指令和/或长时任务指令;
若判断所获取的任务指令是短时任务指令,则所述第一主控程序通过执行所获取的短时任务指令,将所述短时任务指令指示安装的应用程序装载至所述目标计算机;
若判断所获取的任务指令是长时任务指令,则所述第一主控程序从网络侧获取所述第二主控程序,并将所述第二主控程序保存至所述目标计算机操作系统的启动项中,以供所述第二主控程序在所述目标计算机下次开机期间,通过执行所述长时任务指令,将所述长时任务指令指示安装的应用程序装载至所述目标计算机;
若判断所获取的任务指令中是短时任务指令和长时任务指令,则所述第一主控程序在将从网络侧获取的第二主控程序保存至所述目标计算机操作系统的启动项之后,执行所述短时任务指令;
所述第一主控程序将所述本地注册表中保存的任务口令替换为从网络侧获取的任务口令。
优选地,所述用来安装计算机程序的主控程序包括用来对目标计算机安装操作系统的第三主控程序,所述第三主控程序由所述目标计算机启动视窗预安装环境(WindowsPreinstallation Environment,WinPE)后,在WinPE环境下从网络侧获取。
优选地,所述安装信息是用来安装操作系统的系统镜像文件,所述利用所获取的主控程序,从网络侧获取用来安装计算机程序的安装信息的步骤包括:
所述第三主控程序在WinPE环境下启动Ghost客户端,使所述Ghost客户端与网络侧的Ghost服务器建立通信连接;
所述第三主控程序利用所建立的通信连接,接收所述Ghost服务器分发的所述系统镜像文件。
优选地,所述利用所述从网络侧获取的用来安装计算机程序的安装信息,在所述目标计算机上自动安装计算机程序的步骤包括:
所述第三主控程序利用所收到的系统镜像文件,在所述目标计算机上自动安装操作系统。
优选地,所述用来安装计算机程序的主控程序还包括用来配置已完成操作系统安装的目标计算机的第四主控程序,所述第四主控程序由所述第三主控程序在所述目标计算机上自动安装操作系统之后,从网络侧获取,以便在所述目标计算机重新启动并进入操作系统之后,利用所述第四主控程序对所述目标计算机进行包括更改目标计算机名和加入域的配置。
根据本发明的另一方面,提供了一种计算机软件远程自动化装调系统,包括:
主控程序获取模块,用于从网络侧获取用来安装计算机程序的主控程序;
目标终端识别模块,用于利用所获取的主控程序,对所述目标计算机进行目标识别,得到目标计算机信息;
BIOS配置模块,用于利用所得到的目标计算机信息,对所述目标计算机进行BIOS设置;
安装信息获取模块,用于利用所获取的主控程序,从网络侧获取用来安装计算机程序的安装信息;
软件自动装调模块,用于利用所述从网络侧获取的用来安装计算机程序的安装信息,在所述目标计算机上自动安装计算机程序。
与现有技术相比较,本发明的有益效果在于:
本发明实现了大规模的计算机操作系统升级换代和/或应用软件的安装部署,能够全面覆盖计算机日常维护范围,兼容各种品牌规格的计算机,以自动化方式最大限度取代人工操作方式,大大提高了工作效率,同时能够避免人工操作的随意性带来的负面效果。
附图说明
图1是本发明实施例提供的计算机软件远程自动化装调方法原理框图;
图2是本发明实施例提供的计算机软件远程自动化装调系统框图;
图3是本发明实施例提供的在命令行提示符下安装某一程序的示意图;
图4是本发明实施例提供的网络克隆示意图;
图5是本发明实施例提供的主控程序流程图;
图6是本发明实施例提供的资源共享拓扑图;
图7是本发明实施例提供的应用程序短时操作安装期间的系统各部分交互流程图;
图8是本发明实施例提供的应用程序长时操作安装期间的系统各部分交互流程图;
图9是本发明实施例提供的操作系统安装阶段流程图;
图10是本发明实施例提供的Ghost服务器与三个客户端建立连接的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明实施例提供的计算机软件远程自动化装调方法原理框图,如图1所示,步骤包括:
步骤S101:目标计算机从网络侧获取用来安装计算机程序的主控程序。
所述用来安装计算机程序的主控程序包括:
用来在目标计算机关机期间安装应用程序的第一主控程序,所述第一主控程序由所述目标计算机的操作系统通过触发关机脚本从网络侧获取;
用来在目标计算机开机期间安装应用程序的第二主控程序,所述第二主控程序由所述第一主控程序在判断存在长时操作指令时从网络侧获取;
用来对目标计算机安装操作系统的第三主控程序,所述第三主控程序由所述目标计算机启动WinPE后,在WinPE环境下从网络侧获取;
用来配置已完成操作系统安装的目标计算机的第四主控程序,所述第四主控程序由所述第三主控程序在所述目标计算机上自动安装操作系统之后,从网络侧获取。
步骤S102:利用所获取的主控程序,对所述目标计算机进行目标识别,得到目标计算机信息。
目标识别的主要目的是准确识别目标计算机的品牌、型号等特征,以作为条件判断依据,调用正确的程序命令或工具程序,来完成相应的操作功能。
此外,采集出厂编号(序列号)、媒体访问控制(Media Access Control,MAC)地址、硬件配置等信息进行输出,生成系统日志和设备登记、验收数据。
第一主控程序至第四主控程序在采集到目标计算机信息后,需要进行一定的规整,使得从不同品牌、型号的目标计算机得到的数据具有相同的格式,并尽量使其与计算机机身标签保持一致,从而使输出的数据具有高度的专业性和一致性,可以直接录入企业资产管理台账,避免数据错漏。
需要说明的是,在执行所述步骤S102之前,利用所获取的第一主控程序,从网络侧获取用来确认是否存在应用程序安装任务的任务口令,并将所获取的任务口令与所述目标计算机的本地注册表中保存的任务口令进行匹配,若所述任务口令与所述目标计算机的本地注册表中保存的任务口令匹配,则说明没有安装任务,此时退出所述第一主控程序,否则,对目标计算机进行目标识别。
步骤S103:利用所得到的目标计算机信息,对所述目标计算机进行BIOS设置。
BIOS设置包括BIOS密码和参数设置,以及BIOS版本刷新。本发明可以通过BIOS设置开启目标计算机的网络唤醒功能,还可以为目标计算机提升性能、改善兼容性或者信息安全所需要的其它BIOS工况也在此一并设置。
需要说明的是,不同品牌、型号计算机的BIOS设置工具通常不能混用,主控程序(主要是第一主控程序和第三主控程序)依据步骤S102采集到的品牌、型号等信息,调用正确的工具程序。
步骤S104:利用所获取的主控程序,从网络侧获取用来安装计算机程序的安装信息。
在实际装调期间,步骤S104也可以在步骤S103之前执行。
步骤S105:利用所述从网络侧获取的用来安装计算机程序的安装信息,在所述目标计算机上自动安装计算机程序。
对于应用程序安装,所述第一主控程序执行所获取的安装信息,即用来指示安装任务的任务指令,将所述任务指令指示安装的计算机程序装载至所述目标计算机,并在将所述任务指令指示安装的计算机程序装载至所述目标计算机之后,将所述本地注册表中保存的任务口令替换为从网络侧获取的任务口令。或者,为避免关机过程中安装应用程序时间过长而造成用户强行关机,可以将任务指令分为用来指示短时安装任务的短时任务指令(即应用程序安装时间较短)和用来指示长时安装任务的长时任务指令(即应用程序安装时间较长)。此时,所述第一主控程序判断所获取的任务指令中是短时任务指令和/或长时任务指令,若判断所获取的任务指令是短时任务指令,则所述第一主控程序通过执行所获取的短时任务指令,将所述短时任务指令指示安装的应用程序装载至所述目标计算机;若判断所获取的任务指令是长时任务指令,则所述第一主控程序从网络侧获取所述第二主控程序,并将所述第二主控程序保存至所述目标计算机操作系统的启动项中,以供所述第二主控程序在所述目标计算机下次开机期间,通过执行所述长时任务指令,将所述长时任务指令指示安装的应用程序装载至所述目标计算机;若判断所获取的任务指令中是短时任务指令和长时任务指令,则所述第一主控程序在将从网络侧获取的第二主控程序保存至所述目标计算机操作系统的启动项之后,执行所述短时任务指令;最后,所述第一主控程序将所述本地注册表中保存的任务口令替换为从网络侧获取的任务口令。
对于操作系统安装,所述第三主控程序在WinPE环境下启动Ghost客户端,使所述Ghost客户端与网络侧的Ghost服务器建立通信连接,所述第三主控程序利用所建立的通信连接,接收所述Ghost服务器分发的安装信息,即用来安装操作系统的系统镜像文件,并利用所收到的系统镜像文件,在所述目标计算机上自动安装操作系统。所述第三主控程序在所述目标计算机上自动安装操作系统之后,从网络侧获取第四主控程序,并将所述第四主控程序保存至所述目标计算机操作系统的启动项之后,然后重新启动目标计算机。在所述目标计算机重新启动并进入操作系统之后,利用所述第四主控程序对所述目标计算机进行包括更改目标计算机名和加入域的配置。
本发明将计算机日常维护工作中原来由人工完成的各种软件安装调试操作完全转化为程序指令,通过网络在大批量计算机上远程自动执行,最大限度地取代了人工操作,实现了企业级的大规模计算机软件自动装调的目的。
图2是本发明实施例提供的计算机软件远程自动化装调系统框图,如图2所示,包括主控程序获取模块10、目标终端识别模块20、BIOS配置模块30、安装信息获取模块40和软件自动装调模块50。
主控程序获取模块10用于从网络侧获取用来安装计算机程序的主控程序,所述主控程序包括图1所述步骤S101中给出的四个主控程序;
目标终端识别模块20用于利用所获取的主控程序,对所述目标计算机进行目标识别,得到目标计算机信息,包括目标计算机的品牌、型号、出厂编号、MAC地址、硬件配置等信息;
BIOS配置模块30用于利用所得到的目标计算机信息,对所述目标计算机进行BIOS设置,包括BIOS密码和参数设置、BIOS版本刷新、开启网络唤醒功能,以及用来对目标计算机提升性能、改善兼容性或者信息安全的所需要的其它BIOS工况设置;
安装信息获取模块40用于利用所获取的主控程序,从网络侧获取用来安装计算机程序的安装信息,对于应用程序安装,所述安装信息指任务指令,对于操作系统安装,所述安装信息指系统镜像文件;
软件自动装调模块50用于利用所述从网络侧获取的用来安装计算机程序的安装信息,在所述目标计算机上自动安装计算机程序,实现应用程序安装和/或操作系统安装。
所述系统的工作流程如下:
对于应用程序安装,主控程序获取模块10在计算机关机期间,从网络侧获取第一主控程序,并利用所述第一主控程序从网络侧获取用来确认是否存在应用程序安装任务的任务口令,并将所获取的任务口令与所述目标计算机的本地注册表中保存的任务口令进行匹配,若所述任务口令与所述目标计算机的本地注册表中保存的任务口令匹配,则说明没有安装任务,此时退出所述第一主控程序,否则,目标终端识别模块20利用所述第一主控程序对目标计算机进行目标识别,得到目标计算机的品牌、型号、出厂编号、MAC地址、硬件配置等目标计算机信息。BIOS配置模块30利用所得到的目标计算机信息,对所述目标计算机进行BIOS设置,使目标计算机的配置满足应用程序的安装条件。安装信息获取模块40获取任务指令,软件自动装调模块50利用第一主控程序判断安装信息获取模块40获取的任务指令中是短时任务指令还是长时任务指令。若是短时任务指令,则软件自动装调模块50利用第一主控程序通过执行所获取的短时任务指令,将所述短时任务指令指示安装的应用程序装载至所述目标计算机,将所述本地注册表中保存的任务口令替换为从网络侧获取的任务口令。若判断所获取的任务指令是长时任务指令,则主控程序获取模块10利用所述第一主控程序从网络侧获取所述第二主控程序,并将所述第二主控程序保存至所述目标计算机操作系统的启动项中,然后将所述本地注册表中保存的任务口令替换为从网络侧获取的任务口令。若判断所获取的任务指令中是短时任务指令和长时任务指令,则软件自动装调模块50在利用所述第一主控程序从网络侧获取第二主控程序并保存至所述目标计算机操作系统的启动项之后,执行所述短时任务指令,并将所述本地注册表中保存的任务口令替换为从网络侧获取的任务口令。在上述操作结束之后,目标计算机退出主控程序,目标计算机完成关机过程。当用户再次开启目标计算机时,从目标计算机操作系统的启动项中自动执行第二主控程序,在目标终端识别模块20对目标计算机进行目标识别之后,安装信息获取模块40利用目标终端识别模块20识别得到的目标计算机信息,从网络侧获取长时任务指令,软件自动装调模块50通过执行所述长时任务指令,将所述长时任务指令指示安装的应用程序装载至所述目标计算机,并在完成安装后,通过所述第二主控程序发出重启命令,然后删除第二主控程序,并重新启动目标计算机,以供用户正常使用。
对于操作系统安装,处于关机状态的目标计算机根据其收到的网络侧广播的网络唤醒信号,BIOS被远程唤醒,主控程序获取模块10从网络侧下载WinPE映像文件,通过执行预先在WinPE启动脚本startnet.cmd末尾新增加的用来调用第三主控程序的语句,从网络侧获取第三主控程序。目标终端识别模块20利用所述第三主控程序对目标计算机进行目标识别,得到目标计算机的品牌、型号、出厂编号、MAC地址、硬件配置等目标计算机信息。BIOS配置模块30利用所得到的目标计算机信息,对所述目标计算机的BIOS设置进行修改,使目标计算机的配置满足操作系统的安装条件。在修改目标计算机BIOS设置之后,安装信息获取模块40利用所述第三主控程序在WinPE环境下启动Ghost客户端,使所述Ghost客户端与网络侧的Ghost服务器建立通信连接,并利用所建立的通信连接,接收所述Ghost服务器分发的系统镜像文件。软件自动装调模块50利用所收到的系统镜像文件,在所述目标计算机上自动安装操作系统。在所述目标计算机上自动安装操作系统之后,主控程序获取模块10从网络侧获取第四主控程序,并将所述第四主控程序保存至所述目标计算机操作系统的启动项,然后重新启动目标计算机。在目标计算机重新启动并进入操作系统之后,软件自动装调模块50利用所述第四主控程序对所述目标计算机进行包括更改目标计算机名和加入域的配置,并在配置之后发出关机命令,删除第四主控程序。
计算机操作系统内部集成有类似于磁盘操作系统(Disk Operating System,DOS)命令的强大的命令行执行功能,大多数应用软件的安装程序都可以在命令行提示符下,通过附加一些命令行参数来运行,实现隐藏人机交互界面的静默安装。图3是本发明实施例提供的在命令行提示符下安装某一程序的示意图,如图3所示,某个安装程序setup.exe带“/s”参数静默运行。
随着操作系统不断改进和升级,命令行功能也不断完善,对计算机的任何操作几乎都可以通过特定的命令行命令来完成,例如,键入命令“shutdown-s-f-t 10”,计算机将在10秒钟后自动关闭。因此,将IT人员在计算机维护过程中的各种操作进行逻辑分解,都可以转化为命令行命令或者通过调用第三方命令行工具(即第三方命令行程序)的方式来完成。
将对应于预定软件装调操作的一系列命令行命令编写成脚本程序,通过网络推送到所有待操作目标计算机上,并使脚本程序在一定的运行环境和触发条件下启动执行,就可以自动完成预定的全部操作流程,实现大批量计算机远程同步操作的目标,最大限度地取代人工操作,达到全程“无人值守”级别的自动化水平。
在本发明中,软件装调操作是指在计算机软件层面进行的安装调试类操作。其中,安装操作主要包括两大类:一类是应用程序(含驱动程序)的安装操作,包括全新安装、更新升级和卸载(即反安装)等方式;一类是操作系统的安装操作,包括传统方式和硬盘克隆等方式。调试操作主要应用于系统配置和优化,涉及系统各个层面,例如文件权限、环境变量、注册表、IE选项等等。经常被忽视的一点是BIOS工况对于计算机发挥性能、稳定运行和信息安全所起到的重要作用。本发明支持各类型(例如主流商用型)计算机的BIOS调试操作,包括BIOS参数设置、密码设置以及BIOS版本刷新。
对计算机进行不同类型的软件装调操作,需要在不同的运行环境中执行。例如,在正常的用户环境下安装应用程序,具体地说,应用程序要在用户日常使用的操作系统环境(即生产环境)下进行安装调试;在定制的WinPE环境下安装操作系统,具体地说,操作系统通常安装到计算机的硬盘上,但是正处于活动状态的硬盘不能进行安装,例如正在运行中的操作系统所处的硬盘,因此,一般先以硬盘以外的例如光盘或U盘等其它方式引导计算机启动一个WinPE系统,并在此运行环境下,向其硬盘安装操作系统。本发明提供一个集成了最新硬件驱动程序和必要系统服务、以网络引导方式启动、通过自动执行主控程序来完成一系列预定操作的自定义WinPE运行环境。需要说明的是,相对于执行安装程序的传统安装方式,硬盘克隆方式更为适合批量安装操作系统。图4是本发明实施例提供的网络克隆示意图,如图4所示,本发明优选克隆方式,克隆工具采用Ghost软件,支持组播技术(GhostCast),能够实现一对多的快速网络克隆。将客户端程序(Ghost.exe)封装于自定义WinPE映像文件中,在目标计算机上运行,在网络侧的控制台上运行服务器端程序(Ghostsrv.exe),将保存在控制台上的系统镜像文件同时向多个Ghost客户端(目标计算机)进行分发,快速完成批量硬盘克隆操作。其中,在企业网络环境中,所有联网运行的计算机都是本发明潜在的目标计算机。
本发明的命令行脚本程序采用主程序/子程序结构,主程序控制整体流程,称为主控程序。子程序执行某项具体功能,由主控程序进行调用。主控程序的操作对象为目标计算机,目标计算机同时也是主控程序运行的载体。图5是本发明实施例提供的主控程序流程图,如图5所示,步骤包括:
S11:启动主控程序。
S12:主控程序启动后,进行目标识别。
主控程序对目标计算机进行数据采集,将采集到的数据按照品牌、型号、类型(例如,台式机或笔记本)、出厂编号、MAC地址、计算机名、硬件配置(例如,CPU、内存、硬盘)、系统版本等信息进行格式规整,使其与计算机铭牌或标签保持一致,从而获得准确而规范的目标识别信息。
步骤S12能够保证本发明对任何品牌型号的计算机具有广泛的通用性,能够在企业复杂环境中精确识别目标计算机。
另外,计算机设备作为企业重要资产,管理部门需要进行验收登记、编制资产编号、定期盘点等管理措施。目前大多数企业仍然沿用人工逐台抄录铭牌的传统方法来登记资产,同时用户对计算机规格型号命名也有很大的随意性,不可避免地造成很多错漏数据,并且随着资产报表层层传递,最终进入企业财务账目,导致企业财务账目存在错漏数据。通过步骤S12,降低了人工登记方式的工作量,提高了工作效率,并避免了人工登记资产而导致的数据错漏。
S13:执行后续任务指令。
主控程序利用目标识别信息进行条件判断,从而找到匹配的任务指令或跳转至正确的程序分支,准确地完成预定的软件装调任务。
S14:触发和衔接。
一个完整的软件装调任务,需要切换多个运行环境执行不同类型的装调操作,因此本发明通过多个主控程序以及各自的触发和衔接机制,使各个主控程序能够自动触发启动,自动接力联动,以“无人值守”形式全程自动化执行全部装调任务流程。具体如表1所示。
1、触发方式
1)远程唤醒。
当满足特定BIOS工况条件的目标计算机处于关机状态下,目标计算机的网卡接收到来自网络的唤醒信号后立即向目标计算机的主板发送开机信号,使目标计算机远程开机,并直接以网络引导方式启动,该过程在本发明中定义为远程唤醒。对WinPE运行环境进行自定义,预先在默认初始化脚本startnet.cmd末尾增加一条调用主控程序P3的命令。目标计算机被远程唤醒后,其网卡芯片从网络侧的指定地址下载WinPE映像,加载到内存中开始运行。首先自动执行默认初始化脚本startnet.cmd,进而启动所调用的主控程序P3。
2)启动项。
在目标计算机运行期间,预先将主控程序P2或P4拷贝到目标计算机的系统启动项中。当目标计算机下一次启动时,首先自动执行启动项中的主控程序P2或P4。
3)关机脚本。
启用目标计算机组策略中的关机脚本策略,并预先在关机脚本末尾增加一条调用主控程序P1的命令。当目标计算机的使用者点击“重新启动”或“关机”时,系统首先在后台触发关机脚本,进而启动所调用的主控程序P1并执行,执行结束之后,向主板发送物理重启或关机信号。
2.衔接方式
1)接力联动。
在一个主控程序中设置一条命令,将另一个主控程序拷贝到下一次将要启动的运行环境的启动项中,使两个主控程序在目标计算机重启前后切换运行环境,实现自动接力联动。
2)删除自身。
拷贝到启动项中的主控程序,在目标计算机每一次启动后都会自动执行,直到该程序执行一条删除自身的命令为止,完成终结这个操作流程。
表1.触发和衔接表
流程 | 主控程序 | 触发方式 | 衔接或终结 | 运行环境 | 装调类型 |
S1 | P1 | 关机脚本 | 联动S2 | 生产环境 | 短时装调 |
S2 | P2 | 启动项 | 删除自身 | 生产环境 | 长时装调 |
S3 | P3 | 远程唤醒 | 联动S4 | WinPE环境 | 操作系统安装 |
S4 | P4 | 启动项 | 删除自身 | 新系统首次运行 | 新系统配置 |
其中,流程S1和S2负责应用程序类装调任务,流程S3和S4负责操作系统类装调任务。
S1:目标计算机的使用者每次点击“重新启动”或“关机”时,首先触发关机脚本,进而启动P1,在大约1分钟时间内执行小型应用程序装调。P1执行过程中,判断如果存在预定的长时操作,则将P2拷贝到系统启动项中,做好S1-S2联动准备。P1执行完毕后,目标计算机物理重启或关机。
S2:目标计算机重启或开机后,首先从启动项中启动P2,实现S1-S2联动。P2执行耗时较长的大型应用程序装调,全部完成后P2删除自身,下一次开机后由用户登录使用。
S3:目标计算机在关机状态下,经远程网络唤醒后启动WinPE,自动执行P3,安装操作系统。P3执行到最后,将P4拷贝到新装操作系统的启动项中,做好S3-S4联动准备,然后重启目标计算机。
S4:目标计算机首次启动新装的操作系统,首先从启动项中执行P4,实现S3-S4联动。P4进行更改计算机名和加入域等操作都需要重启生效,并在重启后继续执行P4,直到完成新装操作系统的全部初始化配置,最后删除自身。下一次开机后将由用户登录使用。
本发明的触发与衔接机制,实现流程之间的自动接力联动,在各个环节中最大限度地取代人工操作,达成本发明的设计目标。
为了提供必要的系统服务和共享资源访问,需要在与目标计算机同一网络内选择一台计算机作为控制台。控制台向网络中的目标计算机发送网络唤醒信号和分发磁盘镜像数据,控制操作系统装调流程的远程启动和顺利执行。进一步地,在控制台上建立一个允许所有目标计算机访问的共享文件夹,图6是本发明实施例提供的资源共享拓扑图,如图6所示,共享文件夹存放系统需要调用的主控程序、工具程序、配置文件、BIOS刷新包、应用程序安装包等资源文件,也称为网络侧共享资源,或简称网络侧。网络服务包括网络唤醒服务、网络引导服务和镜像下载服务,其中,网络唤醒服务是指允许通过局域网向目标计算机广播网络唤醒信号;网络引导服务是指在动态主机配置协议(Dynamic Host ConfigurationProtocol,DHCP)服务器上启用引导程序协议(Bootstrap Protocol,BOOTP)及设置相关参数,以开启网络引导支持服务;映像下载服务是指在控制台指定位置存放自定义的WinPE映像文件,供目标计算机在网络引导过程中自动获取和加载运行。
本发明对控制台的硬件规格要求不高,一台具备标准千兆连接和普通SATA硬盘的低端PC即可支持千台以上规模的自动化装调流程,具体要求可以按照实际情况调整和配置。
实施例1.大批量计算机远程安装应用程序
假设某研发企业共有1000台计算机,分布在企业大楼内各个部门的员工工位上。所述1000台计算机连接企业局域网,并已加入Windows域ABC.com。当前需要在所述1000台计算机上安装一套小型办公软件和一套大型研发软件,此时首先需要编辑任务配置文件,设定新的任务口令和新的装调任务指令,并保存在网络侧控制台资源共享区中。例如:
其中,在[task-code]项下删除或屏蔽掉上一次任务使用过的口令oldtask,设定一个新的任务口令newtask。在[short-command](短时操作)和[long-command](长时操作)项下分别设定小型和大型应用软件的安装程序的网络路径和静默安装参数。
设定一个新的任务口令,即标志一次新的应用程序装调任务流程的开始。由于包含大型应用程序安装,将由两个流程S1和S2在每一台目标计算机上联动执行。
图7是本发明实施例提供的应用程序短时操作安装期间的系统各部分交互流程图,由企业员工的关机动作为起点,到计算机物理关机之间的关机过程,如图7所示,步骤包括:
步骤S1-01:企业员工下班正常关闭计算机,即从开始菜单中点击“关机”。
步骤S1-02:目标计算机的操作系统接收“关机”命令,首先在后台触发关机脚本,进而调用网络侧控制台资源共享区的主控程序P1。
步骤S1-03:目标计算机的操作系统读取网络侧控制台资源共享区的任务配置文件中的任务口令newtask。
步骤S1-04:目标计算机的操作系统判断所述任务口令newtask是否为新口令,即将所获取的任务口令newtask与本地注册表中保存的任务口令(oldtask或newtask)进行比较,判断两者是否相同,若比较结果相同则判断所述任务口令不是新口令,说明已完成此次任务,执行步骤S1-12跳出主控程序P1,若比较结果不相同则判断所述任务口令是新口令,此时继续执行。
本发明通过设置任务口令机制,避免重复执行任务指令,缩短关机时间。
步骤S1-05:主控程序P1采集目标计算机的品牌、型号、出厂编号、MAC地址、硬件配置等信息进行目标识别,所有采集的信息列入网络侧控制台资源共享区的整体系统日志及以“品牌_型号_出厂编号_MAC地址”的命名规则在网络侧为该目标计算机唯一建立的单机日志中。IT人员依据系统日志导出目标计算机信息,编制用于进行操作系统装调流程的目标数据库。
步骤S1-06:主控程序P1修正BIOS设置,开启目标计算机的远程唤醒功能。不同品牌的计算机生产厂商提供不同的工具程序进行BIOS设置。
假设A品牌的工具为Atool.exe,B品牌为Btool.exe。在未做目标识别而不知道计算机品牌的情况下,只能逐一试用,编写脚本程序可能如下:
……
Atool.exe
Btool.exe
……
假设Atool.exe对B品牌计算机不兼容而造成死机,则上述脚本程序将在B品牌上运行失败。借助步骤S1-05的目标识别处理步骤得到品牌信息(保存到变量brand中),就可以通过条件判断来选择正确的工具加以调用,保证无论A、B品牌的计算机都能正确运行BIOS设置程序。例如:
……
IF brand==A Atool.exe
IF brand==B Btool.exe
……
步骤S1-07:主控程序P1读取网络侧控制台资源共享区的任务配置文件中的所有任务指令。
步骤S1-08:判断是否存在“长时操作”任务指令,具体地说,若读取到[long-command]项下的“长时操作”任务指令,即需要安装大型应用程序,此时执行步骤S1-09,否则执行步骤S1-10。
步骤S1-09:从网络侧控制台资源共享区拷贝主控程序P2至目标计算机操作系统的启动项中,做好S1-S2联动准备。
大多数小型应用软件的安装程序以及系统调试的命令执行得很快,大都以秒计。IT人员可以事先进行测试,将那些可在主控程序P1下直接执行而使主控程序P1整体执行时间平均不超过预定时间(例如1分钟)的任务指令,作为“短时操作”指令,放在[short-command]项下。从而在短暂的关机过程中完成大多数小型应用程序的安装以及系统调试任务。
通常关闭计算机是在下班时刻,由于关机脚本启动主控程序P1是在后台执行的,不会出现任何交互画面,用户不知道计算机关机的同时在后台进行密集的应用程序安装以及系统调试操作。如果此时执行“长时操作”任务指令,将延长关机时间,有可能使用户产生焦躁情绪而强行关机或直接断电,危害计算机安全。通过设置预定时间和设计任务口令机制,可以尽量缩短主控程序P1所额外消耗的关机时间,降低对用户体验的负面影响,即在关机过程中完成小型应用程序的安装以及系统调试任务的同时,保证良好的用户体验。
步骤S1-10:主控程序P1执行所有“短时操作”任务指令。
例如,执行一条“短时操作”任务指令“\\网络侧\办公软件\install.exe/silent”,完成任务目标之一——小型办公软件的安装,并将执行时间、执行结果等信息写入网络侧控制台资源共享区的单机日志。
步骤S1-11:将新的任务口令保存到本机注册表中,用于下一次进行口令比较。
步骤S1-12:退出主控程序P1,关机过程结束。
步骤S1-13:目标计算机物理关机。
图8是本发明实施例提供的应用程序长时操作安装期间的系统各部分交互流程图,由员工的开机动作为起点,至呈现用户登录界面为止,如图8所示,具体步骤包括:
步骤S2-01:次日员工上班通过按动电源按钮正常开机。
步骤S2-02:目标计算机操作系统启动后,首先执行启动项中的主控程序P2,在屏幕上显示友好的任务提示和执行进度,并将启动时间写入网络侧控制台资源共享区的单机日志。
步骤S2-03:主控程序P2采集目标计算机信息,进行目标识别,并将本机信息写入网络侧控制台资源共享区的单机日志。
步骤S2-04:从网络侧控制台资源共享区获取任务配置文件[long-command]项下读取“长时操作”指令。
例如,读取到一条“长时操作”指令“\\网络侧\研发软件\setup.exe/quiet”并予以执行,完成任务目标之二——大型研发软件的安装,将执行时间和结果写入网络侧控制台资源共享区的单机日志。
“长时操作”任务指令通常用来指示安装大型应用软件,将这类任务指令放在目标计算机重启后执行,不必限制完成时间,而用户可以看到友好提示和任务执行的动态过程,一般都会静待任务流程自然完成,不会强行关机。
步骤S2-05:主控程序P2最后执行2条命令,延时重启和删除自身:
……
shutdown-r-f-t 10
del%0
:END
任务目标所要求的2套软件已经安装就绪,主控程序P2删除自身,预定延时时间(例如延时10秒)后目标计算机自动重启,交由用户正常登录使用。
实施例2.大批量计算机远程同步安装操作系统.
本实施例沿用实施例1的企业模型,并将其中100台运行Windows XP操作系统的计算机统一升级Windows 7操作系统,同时为了不影响企业员工正常工作,操作系统升级期间需要满足如下要求:
1.仅对系统分区进行操作,清除原系统并安装新系统,其它分区保存的用户数据必须完整保留;
2.保持原有计算机名和加入域的状态;
3.安装实施例1中所装的2套应用程序。
在实施例1中,该企业所有计算机上均已执行过应用程序装调流程S1,即S1-01至S1-13,因此已为本次操作系统装调任务做好如下准备:
1.目标数据库
通过流程S1,生成了一份完整的系统日志,其中包括全部1000台计算机的详细信息,例如,品牌、型号、出厂编号、MAC地址、计算机名、系统版本等。在系统版本项目中以“XP”为关键字进行筛选,过滤得到100台目标计算机的准确信息,导出所过滤的100台目标计算机的出厂编号、MAC地址、计算机名和域名等信息,生成目标数据库,保存在网络侧。
2.远程唤醒。
计算机在出厂时的缺省BIOS工况大多不能满足远程唤醒的技术要求,然而通过流程S1中的步骤S1-06执行BIOS设置修正后,所有目标计算机都已开启远程唤醒功能,从而使所有目标计算机均具备流程S3的网络唤醒触发条件。
图9是本发明实施例提供的操作系统安装阶段流程图,如图9所示,具体步骤如下:
步骤S3-01:网络侧控制台向100台目标计算机发送网络唤醒信号。
待员工下班后,所有目标计算机已处于关机状态,准备触发操作系统安装流程,以发送网络唤醒信号为起点。
网络侧控制台根据管理员在控制台上输入的脚本程序,利用循环语句从目标数据库中依次读取需要进行操作系统升级的100个目标计算机的MAC地址,并根据所述100个目标计算机的MAC地址,顺序向网络中发送网络唤醒信号。
步骤S3-02:目标计算机BIOS被远程唤醒,并从网络侧下载WinPE映像文件。
处于关机状态的100台目标计算机分别根据收到的各自的网络唤醒信号,自动开机以网络引导方式启动,网卡芯片按照DHCP服务器提供的地址从网络侧控制台指定位置(本实施例以网络侧控制台资源共享区为例)下载WinPE映像文件,并加载到内存中开始运行。
100台目标计算机可以同时执行以下步骤,从而减少了操作系统升级时间。本实施例为便于说明,仅以某一目标计算机为例对后续步骤进一步阐述。
步骤S3-03:目标计算机启动WinPE,并在WinPE环境下从网络侧控制台资源共享区调用主控程序P3。
WinPE启动后,首先自动执行默认初始化脚本startnet.cmd,进而调用主控程序P3。
步骤S3-04:主控程序P3对处于WinPE环境下的目标计算机进行信息采集和目标识别,并将启动时间和本机信息等信息写入网络侧控制台资源共享区的整体系统日志和关于该目标计算机的单机日志。
步骤S3-05:主控程序P3对目标计算机BIOS设置进行修改,以满足新操作系统的技术要求,在修改结束后,将执行结果写入网络侧控制台资源共享区的单机日志。
例如,将硬盘控制器工作模式由IDE更改为AHCI,以满足Windown 7系统对磁盘性能的要求。保存在网络侧控制台资源共享区的BIOS配置文件以“品牌_型号”的格式来命名。主控程序P3通过步骤S3-04进行目标识别而得到的目标识别信息进行正确匹配和调用,从网络侧控制台资源共享区的BIOS配置文件中获取需要更改的设置进行操作。
步骤S3-06:主控程序P3在处于WinPE环境下的目标计算机上启动Ghost客户端程序,准备从网络侧控制台资源共享区获取系统镜像数据。
此时,在网络侧控制台资源共享区上启动Ghost服务器端程序并设置Windows 7操作系统的系统镜像数据的文件路径和Ghost客户端计划数量之后,Ghost服务器端程序开始接收Ghost客户端的连接请求。当所述100台目标计算机陆续执行该步骤时,Ghost服务器端界面依次显示已连接的Ghost客户端信息和已连接的Ghost客户端的计数值,如图10所示,为本发明实施例提供的Ghost服务器与三个Ghost客户端建立连接的示意图。
当所有Ghost客户端都已成功建立连接时,Ghost服务器端同时向所有已建立连接的Ghost客户端分发系统镜像数据。Ghost客户端将收到的系统镜像数据克隆恢复到本地硬盘的系统分区直至系统镜像数据分发完毕,完成操作系统安装,最后将执行结果写入网络侧控制台资源共享区的单机日志。
这样,安装新的操作系统的同时,既清除了系统分区,同时又保持了其它分区数据完整,符合任务要求。
步骤S3-07:主控程序P3从网络侧控制台资源共享区拷贝主控程序P4到本地硬盘的新安装操作系统的启动项中,为流程S3向流程S4过渡做好联动准备。
其中,流程S3,包括步骤S3-01至步骤S3-08,用于安装新的操作系统;
其中,流程S4,包括步骤S4-01至步骤S4-06,用于对所安装的新的操作系统进行后续配置。
步骤S3-08:主控程序P3重新启动目标计算机。
步骤S4-01:启动新安装的操作系统,并自动执行主控程序P4。
目标计算机重新启动期间,从硬盘引导首次启动的新安装的操作系统,首先执行启动项中的主控程序P4,进一步地,将启动时间写入网络侧控制台资源共享区的单机日志。
步骤S4-02:主控程序P4采集数据,并进行目标识别。
主控程序P4读取网络侧控制台资源共享区的目标数据库,通过目标计算机的出厂编号和MAC地址查询对应的目标计算机的目标计算机名和目标计算机域名。
步骤S4-03:主控程序P4执行用来更改目标计算机名和将目标计算机加入域的程序命令,完成新安装的操作系统的配置任务,并将执行结果写入网络侧控制台资源共享区的单机日志。
步骤S4-04:主控程序P4将结束时间写入网络侧控制台资源共享区的单机日志,最后执行2条命令,延时关机命令和删除自身命令。
步骤S4-05:由于目标计算机已经成功加入域,主控程序P4在发出关机命令时触发关机脚本,进而启动主控程序P1。
由于新安装的操作系统未曾保存任何任务口令,因而需要再次完整执行流程S1-S2联动,完成2套应用程序的安装任务,具体流程如图7和图8所示,在此不再赘述。
步骤S4-06:关机过程结束,目标计算机物理关机,企业员工在次日上班后通过按动目标计算机电源按钮,正常开机即可登录全新的Windows 7操作系统,并使用原有软件开始工作。.
综上所述,本发明具有以下技术效果:
1、本发明实现全程“无人值守”自动化计算机软件远程装调操作,最大限度地取代人工操作,将IT技术人员从被动、重复的软件装调工作中解放出来,降低了人力成本和技术人员的工作量;
2、本发明通过执行时间以毫秒计的程序命令进行计算机软件的自动装调,极大地提高了软件装调效率,也就是说,本发明基于网络以程序命令形式执行所有操作,一般情况下,可以在1分钟内完成10个以上小型应用程序的安装,在1小时内完成包括操作系统和大型软件的全部装调任务,特别地,不仅仅可以在单台计算机上运行,还可以在整个网络范围内大规模批量运行,对于中大型企业,本发明能够高效完成计算机软件装调任务;
3、本发明通过自动装调计算机,计算机会严格执行每一条程序命令,高度保证计算机装调质量,进一步说,本发明通过强大的日志功能,为每一台计算机自动建立一份操作日志,将每一项操作的执行结果详细记录下来,对于失败的操作,更加详尽记录其反馈信息,帮助IT技术人员迅速定位并准确排除故障。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (9)
1.计算机软件远程自动化装调方法,其特征在于,包括:
目标计算机从网络侧获取用来安装计算机程序的主控程序;
利用所获取的主控程序,对所述目标计算机进行目标识别,得到目标计算机信息;
利用所得到的目标计算机信息,对所述目标计算机进行BIOS设置;
利用所获取的主控程序,从网络侧获取用来安装计算机程序的安装信息,所述安装信息是用来指示安装任务的任务指令;
利用所述主控程序从网络侧获取的用来安装计算机程序的用来指示安装任务的任务指令,在所述目标计算机上自动安装计算机程序;
所述用来安装计算机程序的主控程序包括用来在目标计算机关机期间安装应用程序的第一主控程序,所述第一主控程序由所述目标计算机的操作系统通过触发关机脚本从网络侧获取;
所述用来安装计算机程序的主控程序还包括用来在目标计算机开机期间安装应用程序的第二主控程序;
所述安装信息包括用来指示短时安装任务的短时任务指令和用来指示长时安装任务的长时任务指令;
利用所述从网络侧获取的用来安装计算机程序的安装信息,在所述目标计算机上自动安装计算机程序的步骤包括:
所述第一主控程序判断所获取的任务指令中是短时任务指令还是长时任务指令;
若判断所获取的任务指令是短时任务指令,则所述第一主控程序通过执行所获取的短时任务指令,将所述短时任务指令指示安装的应用程序装载至所述目标计算机;
若判断所获取的任务指令是长时任务指令,则所述第一主控程序从网络侧获取所述第二主控程序,并将所述第二主控程序保存至所述目标计算机操作系统的启动项中,以供所述第二主控程序在所述目标计算机下次开机期间,通过执行所述长时任务指令,将所述长时任务指令指示安装的应用程序装载至所述目标计算机。
2.根据权利要求1所述的方法,其特征在于,在对所述目标计算机进行目标识别之前还包括以下步骤:
利用所获取的第一主控程序,从网络侧获取用来确认是否存在应用程序安装任务的任务口令,并将所获取的任务口令与所述目标计算机的本地注册表中保存的任务口令进行匹配;
若所述任务口令与所述目标计算机的本地注册表中保存的任务口令匹配,则退出所述第一主控程序;
若所述任务口令与所述目标计算机的本地注册表中保存的任务口令不匹配,则对目标计算机进行目标识别。
3.根据权利要求2所述的方法,其特征在于,利用所述从网络侧获取的用来安装计算机程序的安装信息,在所述目标计算机上自动安装计算机程序的步骤包括:
所述第一主控程序执行所获取的任务指令,将所述任务指令指示安装的计算机程序装载至所述目标计算机;
在将所述任务指令指示安装的计算机程序装载至所述目标计算机之后,将所述本地注册表中保存的任务口令替换为从网络侧获取的任务口令。
4.根据权利要求2所述的方法,其特征在于,利用所述从网络侧获取的用来安装计算机程序的安装信息,在所述目标计算机上自动安装计算机程序的步骤还包括:
所述第一主控程序判断所获取的任务指令中是否为短时任务指令和长时任务指令;
若判断所获取的任务指令中是短时任务指令和长时任务指令,则所述第一主控程序在将从网络侧获取的第二主控程序保存至所述目标计算机操作系统的启动项之后,执行所述短时任务指令;
所述第一主控程序将所述本地注册表中保存的任务口令替换为从网络侧获取的任务口令。
5.根据所述权利要求1所述的方法,其特征在于,所述用来安装计算机程序的主控程序包括用来对目标计算机安装操作系统的第三主控程序,所述第三主控程序由所述目标计算机启动WinPE后,在WinPE环境下从网络侧获取。
6.根据权利要求5所述的方法,其特征在于,所述安装信息是用来安装操作系统的系统镜像文件,所述利用所获取的主控程序,从网络侧获取用来安装计算机程序的安装信息的步骤包括:
所述第三主控程序在WinPE环境下启动Ghost客户端,使所述Ghost客户端与网络侧的Ghost服务器建立通信连接;
所述第三主控程序利用所建立的通信连接,接收所述Ghost服务器分发的所述系统镜像文件。
7.根据权利要求6所述的方法,其特征在于,利用所述从网络侧获取的用来安装计算机程序的安装信息,在所述目标计算机上自动安装计算机程序的步骤包括:
所述第三主控程序利用所收到的系统镜像文件,在所述目标计算机上自动安装操作系统。
8.根据权利要求7所述的方法,其特征在于,所述用来安装计算机程序的主控程序还包括用来配置已完成操作系统安装的目标计算机的第四主控程序,所述第四主控程序由所述第三主控程序在所述目标计算机上自动安装操作系统之后,从网络侧获取,以便在所述目标计算机重新启动并进入操作系统之后,利用所述第四主控程序对所述目标计算机进行包括更改目标计算机名和加入域的配置。
9.计算机软件远程自动化装调系统,其特征在于,包括:
主控程序获取模块,用于从网络侧获取用来安装计算机程序的主控程序;
目标终端识别模块,用于利用所获取的主控程序,对目标计算机进行目标识别,得到目标计算机信息;
BIOS配置模块,用于利用所得到的目标计算机信息,对所述目标计算机进行BIOS设置;
安装信息获取模块,用于利用所获取的主控程序,从网络侧获取用来安装计算机程序的安装信息,所述安装信息是用来指示安装任务的任务指令;
软件自动装调模块,用于利用所述主控程序从网络侧获取的用来安装计算机程序的用来指示安装任务的任务指令,在所述目标计算机上自动安装计算机程序;
所述用来安装计算机程序的主控程序包括用来在目标计算机关机期间安装应用程序的第一主控程序,所述第一主控程序由所述目标计算机的操作系统通过触发关机脚本从网络侧获取;
所述用来安装计算机程序的主控程序还包括用来在目标计算机开机期间安装应用程序的第二主控程序;
所述安装信息包括用来指示短时安装任务的短时任务指令和用来指示长时安装任务的长时任务指令;
利用所述从网络侧获取的用来安装计算机程序的安装信息,在所述目标计算机上自动安装计算机程序包括:
所述第一主控程序判断所获取的任务指令中是短时任务指令和/或长时任务指令;
若判断所获取的任务指令是短时任务指令,则所述第一主控程序通过执行所获取的短时任务指令,将所述短时任务指令指示安装的应用程序装载至所述目标计算机;
若判断所获取的任务指令是长时任务指令,则所述第一主控程序从网络侧获取所述第二主控程序,并将所述第二主控程序保存至所述目标计算机操作系统的启动项中,以供所述第二主控程序在所述目标计算机下次开机期间,通过执行所述长时任务指令,将所述长时任务指令指示安装的应用程序装载至所述目标计算机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510603341.2A CN105183520B (zh) | 2015-09-21 | 2015-09-21 | 计算机软件远程自动化装调方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510603341.2A CN105183520B (zh) | 2015-09-21 | 2015-09-21 | 计算机软件远程自动化装调方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105183520A CN105183520A (zh) | 2015-12-23 |
CN105183520B true CN105183520B (zh) | 2019-01-15 |
Family
ID=54905618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510603341.2A Active CN105183520B (zh) | 2015-09-21 | 2015-09-21 | 计算机软件远程自动化装调方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183520B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107346235B (zh) * | 2016-05-04 | 2021-01-08 | 鸿富锦精密电子(天津)有限公司 | 自动安装软件的系统和方法 |
CN106250139B (zh) * | 2016-07-28 | 2019-09-13 | 湖南新云网科技有限公司 | 基于透明计算智能终端的启动方法、系统及智能自助系统 |
CN106843920A (zh) * | 2016-12-13 | 2017-06-13 | 北京元心科技有限公司 | 服务器和终端之间的应用分发安装方法及装置 |
CN107330070A (zh) * | 2017-06-30 | 2017-11-07 | 联想(北京)有限公司 | 一种处理方法及电子设备 |
CN107391640B (zh) * | 2017-07-11 | 2020-12-08 | 浪潮云信息技术股份公司 | 一种实现SQL Server数据库镜像模式自动部署的方法 |
CN108170479A (zh) * | 2017-12-21 | 2018-06-15 | 曙光信息产业(北京)有限公司 | 一种动态配置bios设置的方法和装置 |
CN108830115A (zh) * | 2018-05-30 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种信息处理的方法及装置 |
CN108897580A (zh) * | 2018-07-12 | 2018-11-27 | 成都傲梅科技有限公司 | 一种关机执行任务的方法 |
CN112817808B (zh) * | 2019-11-18 | 2024-04-19 | 赵伟 | 一种计算机集群维护任务管理方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1731738A (zh) * | 2005-08-30 | 2006-02-08 | 西安交通大学 | 大规模计算机集群系统节点的自动化快速部署方法 |
CN1869934A (zh) * | 2005-05-27 | 2006-11-29 | 联想(北京)有限公司 | 实现网络间克隆软件系统的方法及嵌入式系统 |
CN101937351A (zh) * | 2010-09-15 | 2011-01-05 | 深圳市任子行网络技术股份有限公司 | 一种自动安装应用软件的方法和系统 |
CN103902321A (zh) * | 2012-12-28 | 2014-07-02 | 鸿富锦精密工业(深圳)有限公司 | 主机安装系统及方法 |
CN104184604A (zh) * | 2013-05-24 | 2014-12-03 | 北京天地超云科技有限公司 | 一种云平台基础架构监管系统 |
JP2015038638A (ja) * | 2009-09-16 | 2015-02-26 | 株式会社東芝 | 情報処理装置及び制御方法 |
CN104391713A (zh) * | 2014-10-28 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种Windows系统自动安装方法 |
CN104394223A (zh) * | 2014-12-03 | 2015-03-04 | 浪潮集团有限公司 | 大规模计算机集群系统节点的自动化快速部署方法 |
-
2015
- 2015-09-21 CN CN201510603341.2A patent/CN105183520B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1869934A (zh) * | 2005-05-27 | 2006-11-29 | 联想(北京)有限公司 | 实现网络间克隆软件系统的方法及嵌入式系统 |
CN1731738A (zh) * | 2005-08-30 | 2006-02-08 | 西安交通大学 | 大规模计算机集群系统节点的自动化快速部署方法 |
JP2015038638A (ja) * | 2009-09-16 | 2015-02-26 | 株式会社東芝 | 情報処理装置及び制御方法 |
CN101937351A (zh) * | 2010-09-15 | 2011-01-05 | 深圳市任子行网络技术股份有限公司 | 一种自动安装应用软件的方法和系统 |
CN103902321A (zh) * | 2012-12-28 | 2014-07-02 | 鸿富锦精密工业(深圳)有限公司 | 主机安装系统及方法 |
CN104184604A (zh) * | 2013-05-24 | 2014-12-03 | 北京天地超云科技有限公司 | 一种云平台基础架构监管系统 |
CN104391713A (zh) * | 2014-10-28 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种Windows系统自动安装方法 |
CN104394223A (zh) * | 2014-12-03 | 2015-03-04 | 浪潮集团有限公司 | 大规模计算机集群系统节点的自动化快速部署方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105183520A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105183520B (zh) | 计算机软件远程自动化装调方法及系统 | |
US9250672B2 (en) | Cloning target machines in a software provisioning environment | |
US8959322B2 (en) | Information handling system image management deployment of virtual machine images to physical information handling systems | |
JP5362974B2 (ja) | ソフトウェア製品の出荷用仮想化ソフトウェアの使用方法 | |
US9081747B1 (en) | Computer program deployment to one or more target devices | |
US8892700B2 (en) | Collecting and altering firmware configurations of target machines in a software provisioning environment | |
US8402123B2 (en) | Systems and methods for inventorying un-provisioned systems in a software provisioning environment | |
US7330967B1 (en) | System and method for injecting drivers and setup information into pre-created images for image-based provisioning | |
US20090144730A1 (en) | Software deployment method and system, software deployment server and user server | |
CN112424750A (zh) | 云平台上的多集群供应及管理办法 | |
US6944653B2 (en) | Zero-click deployment of data processing systems | |
US20030055919A1 (en) | One-click deployment of data processing systems | |
CN108829409A (zh) | 一种分布式系统快速部署方法及系统 | |
US20080313626A1 (en) | Applicable patch selection device and applicable patch selection method | |
CN102792270A (zh) | 经由bios配置概要文件的bios参数虚拟化 | |
JP2003316578A (ja) | 受注生産(bto)式パーソナルコンピュータ製造における高速ブート方法 | |
CN106980493B (zh) | 固件管理方法和装置 | |
CN102937909A (zh) | 一种部署和更新Linux系统的方法 | |
CN112214227A (zh) | 一种边缘服务器镜像定制化及部署系统和方法 | |
CN111786810A (zh) | 一种大规模测试床节点的自动化部署方法及系统 | |
CN102053845B (zh) | 自动化连续安装操作系统的电子装置及其相关方法与系统 | |
CN103389909B (zh) | 一种渲染农场节点虚拟化部署系统及其应用 | |
US9207928B2 (en) | Computer-readable medium, apparatus, and methods of automatic capability installation | |
US7152189B2 (en) | Testing distributed services by using multiple boots to timeshare a single computer | |
JP2003050649A (ja) | 集中管理システム、集中管理方法および集中管理を行う為のプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 3-3-9, Puhui Beili, Haidian District, Beijing 100036 Patentee after: Zhao Wei Address before: 101320 north gate of Beiqi research and development base, No. 99 Shuanghe Road, Renhe Town, Beijing, Shunyi District Patentee before: Zhao Wei |
|
CP02 | Change in the address of a patent holder |