1.本发明属于计算机无盘启动技术领域,具体涉及一种无盘服务端自动更新无盘工作站应用资源的方法。
背景技术:2.无盘启动技术,一般是指通过网络下载系统镜像并启动计算机,无盘工作站(client)本身并没有硬盘,即本地是没有系统镜像的,系统镜像存储于服务端(server)。client通过其自身网卡rom中的启动代码,使用dhcp协议获取ip地址,使用tftp协议下载镜像或引导文件,构建镜像或引导文件的运行环境,使client通过服务端的镜像启动,它并非传统的无盘工作站,因为使用该技术的pc在网络方式下的运行速度甚至比有盘还要快。
3.软件绿化技术,是指模拟一个程序的安装并将其打包,使其可以直接使用绿化包运行,而不依赖于windows环境。一般的应用程序需要先安装到windows中才可以运行,当其拷贝到另外一个windows环境中,仍然需要安装;软件绿化后,则可以直接使用绿化包直接运行,使其便于复制部署。
4.从传统应用来说,通常用户在无盘环境上安装应用资源,需要开通超管模式并安装应用资源到默认安装环境例如c盘,保存还原点之后客户机起来才能生效;然而在win7以上版本,不同需求的客户机需要开通超管模式并由操作系统确认所安装的启动方案,才能正常使用应用资源,并且,如果用户在不同时期,有不同应用的部署需求,则需要重复性、多次进行超管的操作,这样无疑大大的增加维护成本;因此未来解决这一问题,提高驱动安装的效率,需要研发出无盘服务端自动更新无盘工作站应用资源方法。
5.从无盘服务端自动更新无盘工作站应用资源方法的产品性质上来说,其实为一种资源同步技术,通过客户机与服务器的关系,实现客户机无需自身独自安装应用资源的步骤,直接从服务器系统中的控制中心进行应用资源调用,实现应用的快速安装或升级,节省客户机硬件资源,提高资源利用效率,进一步地,通过边缘服务器与idc(互联网数据中心)的关系,可以实现idc对应用资源的中心化管理,实现服务器无需上传及管理大量应用资源,直接按idc下发的指令来下载及更新应用资源。
6.该技术的主要用途也可以多样化,现阶段无盘服务端自动更新无盘工作站应用资源方法主要应用于网吧环境或相类似场景中,主要的用途是提高控制中心与所属多个终端的资源利用效率,实现下属终端应用资源的高效同步,简化终端的应用安装流程;而通过技术的衍生,其还可以应用于各种需要提高服务器控制中心资源同步效益的场景或企业,实现控制中心与下属终端的强关联。
7.因此从产品意义上来说,无盘服务端自动更新无盘工作站应用资源方法对于如网吧这样的环境可以极大地提高客户机应用资源安装或升级的效率,同时也为诸如需要提供服务器控制中心服务的行业或企业进行技术支持,可以高效的实现控制中心对于终端的资源同步,实现资源优化。
技术实现要素:8.鉴于上述,本发明提出了一种无盘服务端自动更新无盘工作站应用资源的方法,旨在将应用资源安装过程绿化为应用资源包,并能根据客户机ip下载对应的应用资源,从而解决多种需求的客户机可以使用同一个镜像启动。
9.一种无盘服务端自动更新无盘工作站应用资源的方法,即利用应用中心程序在客户机无盘系统启动开始阶段获取客户机ip并发送给服务端,服务端根据客户机ip下发应用资源程序及相关配置信息给客户机,进而借由软件pnp驱动来完成应用资源的加载。
10.进一步地,本发明方法事先需要使用软件绿化技术,即提取并制作应用资源程序的绿化包,并将其上传到idc(互联网数据中心)服务器中,经由idc服务器下发至边缘服务器,同时将其对应的配置文件暴露给用户,使用户可以单独设置应用资源程序的配置文件。
11.进一步地,在实施过程中,服务端需对应用资源进行提取,即利用快照工具根据客户机安装前后的变化,导出安装释放的注册表以及资源文件,同时将安装需要的操作写入到配置信息中,并将提取到的应用资源及配置信息打包上传到服务器中。
12.进一步地,所述应用资源程序及相关配置信息可预先放置在安装目录中,或由用户自行导入,或从idc服务器自动获取,同时用户也可在服务端对应用属性进行个性化设置和调整。
13.进一步地,所述客户机无盘开机后服务端根据其启动方案下发对应的应用资源及配置包,客户机中的驱动程序在windows启动过程中根据应用对应配置文件提前配置好应用资源程序运行所必须的环境,使得应用资源程序可以正常运行。
14.进一步地,用户可使用用户平台设置客户机无盘系统启动方案,实现个性化配置每个启动方案所适用的应用资源,并且当应用需求发生不断变化时,仅需一键式配置应用即可,而不是传统的反复开启超管进行应用的安装和更新。
15.本发明通过将应用资源提前写入网络盘,使得客户机在无盘环境启动过程中,通过驱动将网络盘上的应用文件创建符号链接到默认安装环境,导入注册表,等待操作系统起来后加载应用资源。本发明是一种客户机应用资源高效配置技术,通过对于服务端控制中心的技术提升,实现客户机应用资源安装的无盘化、批量化操作;通过无盘服务端应用资源的自动更新,用户无需要开超管模式安装应用资源,通过无盘环境安装应用资源,提高了应用资源的安装效率,实现应用资源的批量化、一键式安装及升级。
16.在研发过程中,本发明克服了诸多技术难题,解决了传统应用资源技术的缺陷,其中以应用资源生效的时间、应用资源对于读取问题最为突出;研究的最终成果是使得服务器提供的应用资源可以高效地为客户机提供应用资源安装及升级服务。因此,本发明具有以下有益技术效果:
17.1.本发明提供了应用资源安装的便捷性,不需要传统条件下开启超管模式进行客户机驱动批量升级,解决了现有客户端和服务器应用资源的资源同步问题。
18.2.本发明能够优化服务器对于客户端的管理模式,实现客户端应用资源的批量化升级管理,解放了客户机单机升级应用资源的局限性。
19.3.本发明可进一步优化idc(互联网数据中心)对边缘服务器的管理模式,实现idc对应用资源的中心化管理,实现服务器无需上传及管理大量应用资源,直接按idc下发的指令来下载及更新应用资源
20.4.本发明能够促进应用资源程序及时更新版本,保证应用资源版本的高效管理。
21.5.本发明具备应用资源智能适配功能,可以对于客户机的多种应用资源需求进行系统化的自动适配。
附图说明
22.图1为无输入参数的应用软件资源提取实现流程示意图。
23.图2为有输入参数的应用软件资源提取实现流程示意图。
24.图3为应用资源文件组成资源镜像包及配置包的流程示意图。
25.图4为应用资源下载到边缘服务器的流程示意图。
26.图5为服务端传递可变参数的流程示意图。
27.图6为软件pnp驱动工作流程示意图。
具体实施方式
28.为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
29.本发明软件pnp功能可以在客户机系统启动比较早的阶段获取到客户机ip,并发送给服务端,服务端下发应用资源镜像及配置包给客户机,借由客户机无盘系统软件pnp驱动完成应用软件的安装;应用资源及配置包预先放置在安装目录中,或由用户自行导入,或从idc自动获取,同时用户也可在服务端对应用属性进行个性化设置和调整。
30.要实现无盘启动过程中的软件pnp,第一步就是要将软件资源从安装包中绿化出来,绿化就要了解应用在安装过程中,所释放的程序、相关工作文件以及注册表信息。
31.首先进行应用软件资源提取,提取实现流程如图1所示,利用系统快照软件,在安装软件前后各拍摄一次快照,通过2次快照的对比,提取出安装过程中,安装程序所释放的程序、相关工作文件以及注册表信息,将释放的程序及相关工作文件提取出来作为应用资源包,放置在resource即资源文件夹中,同时根据资源生成从“资源文件夹”到“应用默认安装环境”的文件链接记录在resourcecnf即资源文配置件夹中的softwarepnpinstall.inf里,对应的模块是[sw_filelinkswin764],提取出的注册表信息则写入[win7_64.reg]中,至此完成安装过程中没有需要输入参数的应用软件的资源提取。
[0032]
此外,有一些应用软件在安装过程中,需要输入类似于服务端ip的参数,对于此类应用软件,还需找出释放文件中,应用软件用于记录输入参数的配置文件,并将指定参数设置为可变参数后,将此类配置文件放置在resourcecnf下,用于接收用户对应用的参数调配,以便绿化后应用的正常运行,如图2所示。
[0033]
当完成对应用软件资源的提取后,再将提取到的应用软件资源文件组成资源包,并进行分发,如图3所示。
[0034]
资源包提取成功后,可制作成镜像包,上传至idc,用于向边缘服务器的分发。配置包中,softwarepnpinstall.inf记录了所有安装一个应用需要的操作,这份配置文件是给软件pnp驱动用的,例如:
[0035]
[intcazaudmodel]
[0036]
addreg=win7_64.reg
[0037]
addlink=sw_filelinkswin764
[0038]
copyfiles=cp
[0039]
根据[intcazaudmodel]下不同功能的模块,执行相应模块下的操作,包括写注册表、添加符号链接以及拷贝文件。
[0040]
translator.py及translator.ini是用于将resourcecnf下的配置文件中的可变参数,替换为用户实际输入参数。
[0041]
本发明中软件pnp实现方案的具体过程如下:
[0042]
(1)应用资源下载到边缘服务器的流程如图4所示。
[0043]
边缘服务器会将运营投放的所有应用的资源包和配置包都下载至硬盘,用于客户机启动时,请求应用时的及时反馈。
[0044]
(2)当用户需要使用指定应用时,可以在指定网吧的启动方案里进行开启,如果开启的应用需要个性参数的输入,也可以一并输入,其中参数的传递流程如图5所示。
[0045]
在用户环境,不同地区、不同机房、不同网吧对于应用的需求是不同的,甚至在同一网吧下,网吧老板的针对设备区的不同,对于应用的需求也不尽相同。因此,服务器会根据不同网吧(网关)和不同启动方案(启动方案id)来传递、翻译和记录实际用户的可变参数。同时,记录不同客户机ip对应的启动方案id,以便客户机启动的时候,根据客户机上报的ip来分配其需要的应用资源及应用配置。
[0046]
(3)软件pnp驱动安装应用的实际工作流程如图6所示。当客户机启动,客户机上报ip给服务器,服务器根据客户机ip,提供相应的应用资源及配置,客户机加载软件pnp驱动,然后进行软件pnp驱动读取,软件pnp解析并执行softwarepnpinstall.inf中的操作,即:
①
根据inf中[win7_64.reg]下的注册表信息写入操作系统,其中包含了文件的注册表启动项以及一些信息参数的记录;
②
执行[cp]下的文件拷贝,多数是将更新了用户个性参数的应用配置文件拷贝至应用默认安装目录下,以供应用程序读取调用;
③
执行[sw_filelinkswin764]下的文件链接,多数是将提取出的应用文件链接到应用默认安装目录下,以模拟应用的默认安装环境。至此,软件pnp完成应用安装部署的全过程,待操作系统开始执行注册表后,会根据软件pnp写入的注册表或者系统启动项,来启动应用,应用程序具备了其正常运行的配置文件以及文件环境,则可以顺利启动及正常运行。
[0047]
在上述过程中,由于应用的启动方式各不相同,有的应用需要以自动启动的服务启动,有的应用需要以windows的run键启动,有的需要通过windows启动项目录来进行启动,为了兼容以上几种应用的启动方式,软件pnp驱动需要在赶在系统加载注册表之前,把应用的注册表信息写入,又要确保注册表写入的有效性。尝试多种方式后,最终选择软件pnp在系统启动过程中,卡住boot2的阶段写入注册表,此外,相对于卡住boot1阶段,卡住boot2阶段,对客户机启动速度的影响较少。通过上述方案,在服务端通过应用的绿化后,向用户提供不同应用的版本,用户可以实现,以“批量化、一键式开关不同应用”的使用体验,替代“开启超管,输入个性参数,部署各种应用”的复杂部署。
[0048]
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围
之内。