一种脚本获取方法及装置与流程

文档序号:12463248阅读:250来源:国知局
一种脚本获取方法及装置与流程

本申请涉及计算机技术领域,特别涉及一种脚本获取方法及装置。



背景技术:

随着信息化时代的到来,信息数据呈现爆炸式增长,数据中心服务器的数量也呈规模性增长,系统管理员不但要承担大量的服务器维护工作,而且还要在成批采购裸金属服务器后,为这些裸金属服务器安装操作系统,这将花费系统管理员大量时间。其中,裸金属服务器是指未安装操作系统的服务器。

实际应用中,为解决为大量裸金属服务器安装操作系统花费系统管理员大量时间的问题,系统管理员通常会通过现有的各种网络管理客户端(简称网管客户端)协助完成操作系统安装工作。其中,安装有网络管理客户端的设备简称为网管设备。

采用网管客户端协助完成裸金属服务器的操作系统安装时,一般先在网管客户端中生成配置文件,由于在安装操作系统之前各个裸金属服务器与网管客户端所在的服务器之间还处于“脱管”状态,所以,可以由系统管理员在各台裸金属服务器上部署配置文件,然后通过运行配置文件的方式安装操作系统。

通过上述方式能够成功借助网管客户端在各台裸金属服务器中安装操作系统,然而,实际应用中,在安装操作系统的同时,还有可能会需要安装或配置各种常用的扩展功能。其中,扩展功能是指基于操作系统实现的其他功能,例如,信息配置、安装代理、安装常用应用等等。

现有技术中,需要安装或配置扩展功能时,通常将实现扩展功能的脚本文件置于网管客户端生成的上述配置文件中,然后在上述裸金属服务器安装完操系统后,通过执行上述配置文件中与扩展功能相关的脚本文件配置或者安装扩展功能。

通常情况下,应用上述方式能够实现需要的扩展功能,然而随着需要的扩展功能增加,网管客户端生成的配置文件越来越复杂,增加新的扩展功能难度 越来越大。



技术实现要素:

本申请实施例公开了一种脚本获取方法及装置,以降低以配置文件方式安装操作系统的情况下增加新的扩展功能的难度。

为达到上述目的,本申请实施例公开了一种脚本获取方法,应用于待安装操作系统的设备,所述方法包括:

根据预设配置文件安装操作系统,其中,所述预设配置文件包括:安装操作系统的配置信息和目标脚本在网管设备的存储路径;

在操作系统安装完成后,与所述网管设备建立通信连接;

根据所述存储路径从所述网管设备获取所述目标脚本,并执行所述目标脚本。

在本申请的一种具体实现方式中,所述根据所述存储路径从所述网管设备获取所述目标脚本,包括:

根据所述预设配置文件包括的第一存储路径获取对应的目标脚本;或者,

根据所述预设配置文件包括的第一存储路径获取第二存储路径,根据所述第二存储路径获取对应的目标脚本。

在本申请的一种具体实现方式中,所述根据所述预设配置文件包括的第一存储路径获取对应的目标脚本,包括:

向所述网管设备发送脚本文件获得请求,其中,所述脚本文件获得请求中携带所述第一存储路径;

接收所述网管设备返回的所述第一存储路径对应的目标脚本,或者,接收所述网管设备返回的根据所述第一存储路径获取的所述第二存储路径对应的目标脚本。

在本申请的一种具体实现方式中,在所述根据所述存储路径从所述网管设备获取所述目标脚本之前,该方法还包括:

解析所述预设配置文件中预设的自定义脚本,获得所述第一存储路径。

为达到上述目的,本申请实施例公开了一种脚本获取装置,应用于待安装操作系统的设备,所述装置包括:

操作系统安装模块,用于根据预设配置文件安装操作系统,其中,所述预设配置文件包括:安装操作系统的配置信息和目标脚本在网管设备的存储路径;

通信连接建立模块,用于在操作系统安装完成后,与所述网管设备建立通信连接;

目标脚本获取模块,用于根据所述存储路径从所述网管设备获取所述目标脚本,并执行所述目标脚本。

在本申请的一种具体实现方式中,所述目标脚本获取模块,

具体用于根据所述预设配置文件包括的第一存储路径获取对应的目标脚本,并执行所述目标脚本;或者,

具体用于根据所述预设配置文件包括的第一存储路径获取第二存储路径,根据所述第二存储路径获取对应的目标脚本,并执行所述目标脚本。

在本申请的一种具体实现方式中,所述目标脚本获取模块,包括:

请求发送子模块,用于向所述网管设备发送脚本文件获得请求,其中,所述脚本文件获得请求中携带所述第一存储路径;

目标脚本接收子模块,用于接收所述网管设备返回的所述第一存储路径对应的目标脚本,或者,接收所述网管设备返回的根据所述第一存储路径获取的所述第二存储路径对应的目标脚本;还用于并执行所述目标脚本。

在本申请的一种具体实现方式中,所述脚本获取装置还包括:

存储路径获得模块,用于解析所述预设配置文件中预设的自定义脚本,获得所述第一存储路径,触发所述目标脚本获取模块获取所述目标脚本。

由以上可见,本申请实施例提供的方案中,待安装操作系统的设备根据预设配置文件安装完操作系统之后,与网管设备建立通信连接,然后根据上述预设配置文件中包含的存储路径从网管设备获取目标脚本,并执行目标脚本。可见,本申请实施例提供的方案中,预设配置文件中仅仅包含目标脚本的存储路径信息,具体的该脚本文件的内容存储在网管设备中,因此需要增加新的扩展 功能时,只需在预设配置文件中增加新的存储路径信息即可,而无需在预设配置文件中增加大量与新增扩展功能相关的实现脚本,因此,降低了以配置文件方式安装操作系统的情况下增加新的扩展功能的难度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种脚本获取方法的流程示意图;

图2为本申请实施例提供的另一种脚本获取方法的流程示意图;

图3为本申请实施例提供的一种脚本获取装置的结构示意图;

图4为本申请实施例提供的另一种脚本获取装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请实施例提供的一种脚本获取方法的流程示意图,该方法应用于待安装操作系统的设备,包括:

上述待安装操作系统的设备可以是裸金属设备,也可以是已安装有操作系统但是需要重新安装操作系统的设备,本申请并不对此进行限定。

S101:根据预设配置文件安装操作系统。

上述预设配置文件包括:安装操作系统的配置信息以及目标脚本在网管设备的存储路径。

本领域内的技术人员可以理解的是,在安装操作系统时,除了需要安装操作系统最基本的信息外,还需要进行各种必要信息的配置,例如,系统语言、键盘类型、时区等等,因此,上述预设配置文件中可以包括安装操作系统的配 置信息;另外,安装操作系统时,还可以同时安装一些常用的应用,因此,上述预设配置文件中还可以包括安装常用应用的脚本文件信息等等,当然,上述预设配置文件中还可以包含其他信息,例如,网管设备的网络地址等等,本申请并不对此进行限定。

具体的,上述安装操作系统的配置信息可以包括:与系统语言、键盘类型、时区等等相关的配置信息。

上述操作系统可以是Linux操作系统、Windows操作系统等等,进一步的,Linux操作系统和Windows操作系统还可以分别分为不同类型的Linux操作系统或者Windows操作系统,例如,Redhat Linux操作系统、Ubuntu Linux操作系统等等。

由于各种不同操作系统能够解析的文件类型不同,所以在安装不同操作系统时上述预设配置文件可以是不同类型的文件,例如,安装Redhat Linux操作系统时,上述预设配置文件可以是kickstart文件,安装Ubuntu Linux操作系统时,上述预设配置文件可以是preseed文件等等。

S102:在操作系统安装完成后,与网管设备建立通信连接。

第一种可选实现方式中,网管设备可以采取主动轮询的方式,确定待安装操作系统的设备是否安装完成操作系统,确定其安装完成之后,主动与上述待安装操作系统的设备建立通信连接。

第二种可选实现方式中,预设配置文件中还可以包括:网管设备的网络地址。在操作系统安装完成后,与网管设备建立通信连接时,可以是在操作系统安装完成后,上述待安装操作系统的设备获得自身网络地址,并根据所获得的自身网络地址和预设配置文件中包含的网络地址,与网管设备建立通信连接。

本领域内技术人员可以理解的是,当需要同时安装操作系统的设备较多时,第二种可选实现方式中,待安装操作系统的设备主动与网管设备建立通信连接,则可以减轻网管设备的工作压力。

S103:根据上述存储路径从网管设备获取目标脚本,并执行目标脚本。

具体的,根据上述存储路径从网管设备获取目标脚本时,可以根据预设配置文件包括的第一存储路径获取对应的目标脚本,还可以根据预设配置文件包 括的第一存储路径获取第二存储路径,根据第二存储路径获取对应的目标脚本。

需要说明的是,上述第一存储路径可以理解为是预设配置文件中包含的目标脚本在网管设备的存储路径。

具体的,预设配置文件中包含的目标脚本在网管设备的存储路径下可以直接存储有目标脚本,还可以是网管设备的该存储路径下并没有存储目标脚本,而是存储有第二存储路径,网管设备可以根据该第二存储路径获得目标脚本。

下面分情况说明待安装操作系统的设备如何根据上述存储路径从网管设备获取目标脚本。

第一种情况,待安装操作系统的设备向网管设备发送脚本获得请求,其中,脚本获得请求中携带有预设配置文件中包含的目标脚本在网管设备的存储路径,记为第一存储路径,网管设备接收到该请求后,直接从第一存储路径下获得目标脚本,并将目标脚本反馈给待安装操作系统的设备。

第二种情况,待安装操作系统的设备向网管设备发送脚本获得请求,其中,脚本获得请求中携带有预设配置文件中包含的目标脚本在网管设备的存储路径,记为第一存储路径,网管设备接收到该请求后,从第一存储路径下获得第二存储路径,然后根据第二存储路径获得目标脚本,并将目标脚本反馈给待安装操作系统的设备。

第三种情况,待安装操作系统的设备根据预设配置文件中包含的目标脚本在网管设备的存储路径,记为第一存储路径,获得第二存储路径,该第二存储路径可以理解为待安装操作系统的设备根据第一存储路径从网管设备获得的,待安装操作系统的设备获得第二存储路径后,从第二存储路径对应的设备处获得目标脚本。

综上所述,上述目标脚本可以为:预设配置文件中包含的上述存储路径下存储的脚本文件,上述目标脚本还可以为:网管设备根据预设配置文件中包含的上述存储路径下存储的另一存储路径获得的目标脚本。

本申请只是以上述为例进行说明,实际应用中,目标脚本并不仅限于此。

在本申请的一种具体实现方式中,根据预设配置文件包括的第一存储路径获取对应的目标脚本时,可以先向网管设备发送脚本文件获得请求。其中,脚 本文件获得请求中携带第一存储路径。

具体的,上述目标脚本可以是针对系统语言、键盘类型、时区等相关的配置信息、常用的应用等等的脚本,本申请并不对此进行限定。

较佳的,上述目标脚本可以为:python脚本。

另外,上述目标脚本还可以为:shell脚本等等,本申请并不对此进行限定。

在本申请的一种具体实现方式中,参见图2,提供了另一种脚本获取方法的流程示意图,与前述实施例相比,本实施例中,在根据上述存储路径从网管设备获取所述目标脚本之前,上述脚本获取方法还包括:

S104:解析预设配置文件中预设的自定义脚本,获得第一存储路径。

上述预设自定义脚本为包含在预设配置文件的预设标签中的自定义脚本。

具体的,上述预设标签为用于执行预设类型的自定义脚本的标签。例如,对于Redhat Linux操作系统而言,kickstart配置文件中的Post-installation Script标签。

上述脚本的类型与要安装的操作系统支持的编程语言相关,例如,要安装的操作系统为Linux操作系统的情况下,上述预设类型可以是python类型、shell类型等等。

由以上可见,上述各个实施例提供的方案中,待安装操作系统的设备根据预设配置文件安装完操作系统之后,与网管设备建立通信连接,然后根据上述预设配置文件中包含的存储路径从网管设备获取目标脚本,并执行目标脚本。可见,上述各个实施例提供的方案中,预设配置文件中仅仅包含目标脚本的存储路径信息,具体的该脚本文件的内容存储在网管设备中,因此需要增加新的扩展功能时,只需在预设配置文件中增加新的存储路径信息即可,而无需在预设配置文件中增加大量与新增扩展功能相关的实现脚本,因此,降低了以配置文件方式安装操作系统的情况下增加新的扩展功能的难度。

与上述脚本获取方法相对应,本申请实施例还提供了一种脚本获取装置。

图3为本申请实施例提供的一种脚本获取装置的结构示意图,该装置应用于待安装操作系统的设备,包括:

操作系统安装模块301,用于根据预设配置文件安装操作系统,其中,所述预设配置文件包括:安装操作系统的配置信息和目标脚本在网管设备的存储路径;

通信连接建立模块302,用于在操作系统安装完成后,与所述网管设备建立通信连接;

目标脚本获取模块303,用于根据所述存储路径从所述网管设备获取所述目标脚本,并执行所述目标脚本。

具体的,所述目标脚本获取模块303,

可以具体用于根据所述预设配置文件包括的第一存储路径获取对应的目标脚本,并执行所述目标脚本;或者,

可以具体用于根据所述预设配置文件包括的第一存储路径获取第二存储路径,根据所述第二存储路径获取对应的目标脚本,并执行所述目标脚本。

具体的,所述目标脚本获取模块303可以包括:

请求发送子模块,用于向所述网管设备发送脚本文件获得请求,其中,所述脚本文件获得请求中携带所述第一存储路径;

目标脚本接收子模块,用于接收所述网管设备返回的所述第一存储路径对应的目标脚本,或者,接收所述网管设备返回的根据所述第一存储路径获取的所述第二存储路径对应的目标脚本;还用于执行所述目标脚本。

在本申请的一种具体实现方式中,参见图4,提供了另一种脚本获得装置的结构示意图,与前述实施例相比,本实施例中,上述脚本获得装置还包括:

存储路径获得模块304,用于解析所述预设配置文件中预设的自定义脚本,获得所述第一存储路径,触发所述目标脚本获取模块获取所述目标脚本。

由以上可见,上述各个实施例提供的方案中,待安装操作系统的设备根据预设配置文件安装完操作系统之后,与网管设备建立通信连接,然后根据上述预设配置文件中包含的存储路径从网管设备获取目标脚本,并执行目标脚本。可见,上述各个实施例提供的方案中,预设配置文件中仅仅包含目标脚本的存储路径信息,具体的该脚本文件的内容存储在网管设备中,因此需要增加新的 扩展功能时,只需在预设配置文件中增加新的存储路径信息即可,而无需在预设配置文件中增加大量与新增扩展功能相关的实现脚本,因此,降低了以配置文件方式安装操作系统的情况下增加新的扩展功能的难度。

对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1