一种导出配置文件的方法、装置、设备及可读存储介质与流程

文档序号:16735333发布日期:2019-01-28 12:35阅读:231来源:国知局
一种导出配置文件的方法、装置、设备及可读存储介质与流程

本发明涉及计算机应用技术领域,特别是涉及一种导出配置文件的方法、装置、设备及计算机可读存储介质。



背景技术:

基板管理控制器(baseboardmanagementcontroller,简称bmc)是服务器特有的管理控制器,bmc的主要功能之一是自动监控服务器运行状态,主要包括各硬件的健康状态。bmc监测各硬件的健康状态,获取各硬件的信息,有助于运维人员及时了解服务器的运行状况,保证服务器正常运行。

redfish是一种全新的基于restful接口和json数据模型的服务器管理标准。redfish具有可发现,可扩展,易于管理,安全等优点,能够进一步丰富服务器远程管理功能。

作为新的服务器管理标准,而现有的redfish接口并不能像传统的restful接口一样直接支持文件的导入导出功能。因此若想通过redfish接口获取bmc配置选项或bios配置选项,只能调用对应的redfishurl,然后根据返回值得到对应的配置信息,而不能将相应的配置文件导出到远程服务器。而在很多应用场景中,运维人员需要获取到配置文件中所有的配置选项的信息,而redfish的url返回值可能存在信息不全的现象,因此需要实现通过redfish导出bmc配置文件和bios配置文件的功能。

综上所述,如何有效地解决调用redfishurl导出配置选项造成的信息不全的现象,无法实现通过redfish导出bmc配置文件和bios配置文件等问题,是目前本领域技术人员急需解决的问题。



技术实现要素:

本发明的目的是提供一种导出配置文件的方法,该方法实现了通过redfish导出bmc配置文件和bios配置文件,保证了导出的配置信息的完整性;本发明的另一目的是提供一种导出配置文件的装置、设备、及计算机可读存储介质。

为解决上述技术问题,本发明提供如下技术方案:

一种导出配置文件的方法,包括:

接收目标远程服务器通过redfishurl发送的目标配置文件请求;其中,所述目标配置文件请求为预先封装为json格式的请求;

对所述目标配置文件请求进行解析,得到目标配置文件的目标文件名称及所述目标远程服务器的目标ip地址;其中,所述目标配置文件为与所述目标配置文件请求对应的配置文件;

根据所述目标文件名称查找所述目标配置文件;

调用远程文件传输协议scp及预先配置的expect脚本,将所述目标配置文件发送给所述目标ip地址对应的所述目标远程服务器。

在本发明的一种具体实施中,当所述目标配置文件请求为包含所述目标远程服务器的目标用户名和目标密码的请求时,将所述目标配置文件发送给所述目标ip地址对应的所述目标远程服务器,包括:

将所述目标用户名、所述目标密码及所述目标配置文件发送给所述目标ip地址对应的所述目标远程服务器,以使所述目标远程服务器在接收所述目标配置文件前,利用所述目标用户名和所述目标密码对所述目标配置文件的发送方进行身份验证。

在本发明的一种具体实施中,当所述目标配置文件请求为包含所述目标远程服务器对所述目标配置文件的目标存放路径的请求时,将所述目标配置文件发送给所述目标ip地址对应的所述目标远程服务器,包括:

将所述目标配置文件按所述目标存放路径发送给所述目标ip地址对应的所述目标远程服务器。

在本发明的一种具体实施中,当所述目标配置文件为bmc配置文件时,接收目标远程服务器通过redfishurl发送的目标配置文件请求,包括:

接收目标远程服务器通过bmcredfishurl发送的目标配置文件请求;

当所述目标配置文件为bios配置文件时,接收目标远程服务器通过redfishurl发送的目标配置文件请求,包括:

接收目标远程服务器通过biosredfishurl发送的目标配置文件请求。

一种导出配置文件的装置,包括:

请求接收模块,用于接收目标远程服务器通过redfishurl发送的目标配置文件请求;其中,所述目标配置文件请求为预先封装为json格式的请求;

请求解析模块,用于对所述目标配置文件请求进行解析,得到目标配置文件的目标文件名称及所述目标远程服务器的目标ip地址;其中,所述目标配置文件为与所述目标配置文件请求对应的配置文件;

文件查找模块,用于根据所述目标文件名称查找所述目标配置文件;

文件发送模块,用于调用远程文件传输协议scp及预先配置的expect脚本,将所述目标配置文件发送给所述目标ip地址对应的所述目标远程服务器。

在本发明的一种具体实施中,当所述目标配置文件请求为包含所述目标远程服务器的目标用户名和目标密码的请求时,所述文件发送模块具体为将所述目标用户名、所述目标密码及所述目标配置文件发送给所述目标ip地址对应的所述目标远程服务器,以使所述目标远程服务器在接收所述目标配置文件前,利用所述目标用户名和所述目标密码对所述目标配置文件的发送方进行身份验证的模块。

在本发明的一种具体实施中,当所述目标配置文件请求为包含所述目标远程服务器对所述目标配置文件的目标存放路径的请求时,文件发送模块具体为将所述目标配置文件按所述目标存放路径发送给所述目标ip地址对应的所述目标远程服务器的模块。

在本发明的一种具体实施中,所述请求接收模块,具体为当所述目标配置文件为所述bmc配置文件时,接收目标远程服务器通过bmcredfishurl发送的目标配置文件请求;当所述目标配置文件为所述bios配置文件时,接收目标远程服务器通过biosredfishurl发送的目标配置文件请求的模块。

一种导出配置文件的设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如前所述导出配置文件的方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述导出配置文件的方法的步骤。

应用本发明实施例所提供的导出配置文件的方法,基板控制器接收目标远程服务器发送的json格式的目标配置文件请求,通过对目标配置文件请求进行解析,得到目标配置文件的目标文件名称及目标远程服务器的目标ip地址,根据目标文件名称查找目标配置文件。基板控制器通过调用预先导入的远程文件传输协议scp及预先配置的expect脚本,将目标配置文件发送给目标ip地址对应的目标远程服务器。从而实现了通过redfish导出配置文件,保证了导出的配置信息的完整性。

相应的,本发明实施例还提供了与上述导出配置文件的方法相对应的导出配置文件的装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

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

图1为本发明实施例中导出配置文件的方法的一种实施流程图;

图2为本发明实施例中导出配置文件的方法的另一种实施流程图;

图3为本发明实施例中一种的导出配置文件的装置的结构框图;

图4为本发明实施例中一种的导出配置文件的设备的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

参见图1,图1为本发明实施例中导出配置文件的方法的一种实施流程图,该方法可以包括:

s101:接收目标远程服务器通过redfishurl发送的目标配置文件请求。

其中,目标配置文件请求为预先封装为json格式的请求。

当运维人员通过所在端的目标远程服务器对另一端的目标服务器进行管控时,需要获取目标服务器相应的配置文件,因此可以利用目标远程服务器生成针对目标配置文件的目标配置文件请求,并将目标配置文件请求预先封装为redfish接口支持的json格式。可以通过redfishurl将封装完成后的目标配置文件请求发送给目标服务器所在端负责对目标服务器进行管控的基板管理控制器。基板管理控制器接收该目标配置文件请求。

目标配置文件请求可以是对目标服务器中任意一个配置文件的请求,并且可以包含有目标远程服务器需要获取的目标配置文件的名称和目标远程服务器的目标ip地址,还可以包括目标远程服务器的用户名、密码等信息。

目标服务器可以是任一个受目标远程服务器管控的服务器。

s102:对目标配置文件请求进行解析,得到目标配置文件的目标文件名称及目标远程服务器的目标ip地址。

其中,目标配置文件为与目标配置文件请求对应的配置文件。

基板管理控制器在接收到目标配置文件请求之后,可以对目标配置文件请求进行解析,得到与目标配置文件请求对应的目标配置文件的目标文件名称及目标远程服务器的目标ip地址,为后续对目标配置文件的查找和返回做准备。

s103:根据目标文件名称查找目标配置文件。

在获得目标配置文件的目标文件名称之后,可以根据目标文件名称查找目标配置文件。

s104:调用远程文件传输协议scp及预先配置的expect脚本,将目标配置文件发送给目标ip地址对应的目标远程服务器。

可以预先给基板管理控制器导入针对远程文件传输协议scp的代码或工具,使得基板管理控制器支持远程文件传输协议scp,并且可以在基板管理控制器中预先配置expect脚本。在根据目标文件名称查找到目标配置文件之后,可以将目标配置文件发送给目标ip地址对应的目标远程服务器,从而基板管理控制器成功地将目标配置文件导出到目标远程服务器,目标远程服务器可以一次性获取到目标配置文件中各配置项,节省了运维人员的人力成本和时间成本,达到对目标服务器的有效远程监视。

应用本发明实施例所提供的导出配置文件的方法,基板控制器接收目标远程服务器发送的json格式的目标配置文件请求,通过对目标配置文件请求进行解析,得到目标远程服务器的目标配置文件的目标文件名称及目标远程服务器的目标ip地址,根据目标文件名称查找目标配置文件。基板控制器通过调用预先导入的远程文件传输协议scp及预先配置的expect脚本,将目标配置文件发送给目标ip地址对应的目标远程服务器。从而实现了通过redfish导出配置文件,保证了导出的配置信息的完整性。

需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。

在本发明的一种具体实施中,当目标配置文件为bmc配置文件时,接收目标远程服务器通过redfishurl发送的目标配置文件请求,包括:

接收目标远程服务器通过bmcredfishurl发送的目标配置文件请求;

当目标配置文件为bios配置文件时,接收目标远程服务器通过redfishurl发送的目标配置文件请求,包括:

接收目标远程服务器通过biosredfishurl发送的目标配置文件请求。

目标远程服务器向目标服务器请求的目标配置文件可以包括bmc配置文件和bios配置文件,可以为bmc配置文件和bios配置文件分别配置对应的redfishurl。当需要请求的目标配置文件为bmc配置文件时,可以通过bmcredfishurl向基板管理控制器发送目标配置文件请求;当需要请求的目标配置文件为bios配置文件时,可以通过biosredfishurl向基板管理控制器发送目标配置文件请求。通过为bmc配置文件和bios配置文件分别配置对应的redfishurl,在需要请求对应类型的目标配置文件,可以通过对应的redfishurl快速将目标配置文件请求发送给基板管理控制,提高目标配置文件的请求效率。

实施例二:

参见图2,图2为本发明实施例中导出配置文件的方法的另一种实施流程图,该方法可以包括以下步骤:

s201:接收目标远程服务器通过redfishurl发送的目标配置文件请求。

其中,目标配置文件请求为预先封装为json格式的请求;目标配置文件请求为包含目标远程服务器对目标配置文件的目标存放路径的请求。

目标远程服务器向基板管理控制器发送的目标配置文件请求中可以包含目标远程服务器对请求的目标配置文件的存放路径。在这种情况下,可以避免默认将请求到的目标配置文件存放到一个位置,导致存储空间过满的现象。通过为请求的目标配置文件分配目标存放路径,可以实现目标远程服务器的负载均衡,提高目标远程服务器的运行速度。

s202:对目标配置文件请求进行解析,得到目标远程服务器的目标用户名和目标密码、目标配置文件的目标文件名称及目标远程服务器的目标ip地址。

其中,目标配置文件为与目标配置文件请求对应的配置文件。

s203:根据目标文件名称查找目标配置文件。

s204:当目标配置文件请求为包含目标远程服务器的目标用户名、目标密码的请求及目标远程服务器对目标配置文件的目标存放路径时,调用远程文件传输协议scp及预先配置的expect脚本,将目标用户名、目标密码及目标配置文件按目标存放路径发送给目标ip地址对应的目标远程服务器,以使目标远程服务器在接收目标配置文件前,利用目标用户名和目标密码对目标配置文件的发送方进行身份验证。

其中,except脚本为可自动输入目标用户名和目标密码的脚本。

目标远程服务器向基板管理控制器发送的目标配置文件请求中可以包括目标远程服务器的目标用户名、目标密码以及目标远程服务器对目标配置文件的目标存放路径。当基板管理控制器查找到目标配置文件之后,可以调用远程文件传输协议scp及预先配置的可自动输入目标用户名和目标密码的expect脚本,将目标用户名、目标密码及目标配置文件按目标存放路径发送给目标ip地址对应的目标远程服务器。目标远程服务器在接收到目标用户名、目标密码及目标配置文件之后,可以先利用目标用户名和目标密码对目标配置文件的发送方进行身份验证,当验证成功后,再对目标配置文件进行接收并存储,从而较大地提高了配置文件获取过程的安全性。

相应于上面的方法实施例,本发明实施例还提供了一种导出配置文件的装置,下文描述的导出配置文件的装置与上文描述的导出配置文件的方法可相互对应参照。

参见图3,图3为本发明实施例中一种的导出配置文件的装置的结构框图,该装置可以包括:

请求接收模块31,用于接收目标远程服务器通过redfishurl发送的目标配置文件请求;其中,目标配置文件请求为预先封装为json格式的请求;

请求解析模块32,用于对目标配置文件请求进行解析,得到目标配置文件的目标文件名称及目标远程服务器的目标ip地址;其中,目标配置文件为与目标配置文件请求对应的配置文件;

文件查找模块33,用于根据目标文件名称查找目标配置文件;

文件发送模块34,用于调用远程文件传输协议scp及预先配置的expect脚本,将目标配置文件发送给目标ip地址对应的目标远程服务器。

应用本发明实施例所提供的导出配置文件的方法,基板控制器接收目标远程服务器发送的json格式的目标配置文件请求,通过对目标配置文件请求进行解析,得到目标配置文件的目标文件名称及目标远程服务器的目标ip地址,根据目标文件名称查找目标配置文件。基板控制器通过调用预先导入的远程文件传输协议scp及预先配置的expect脚本,将目标配置文件发送给目标ip地址对应的目标远程服务器。从而实现了通过redfish导出配置文件,保证了导出的配置信息的完整性。

在本发明的一种具体实施中,当目标配置文件请求为包含目标远程服务器的目标用户名和目标密码的请求时;文件发送模块34具体为将目标用户名、目标密码及目标配置文件发送给目标ip地址对应的目标远程服务器,以使目标远程服务器在接收目标配置文件前,利用目标用户名和目标密码对目标配置文件的发送方进行身份验证的模块。

在本发明的一种具体实施中,当目标配置文件请求为包含目标远程服务器对目标配置文件的目标存放路径的请求时,文件发送模块34具体为将目标配置文件按目标存放路径发送给目标ip地址对应的目标远程服务器的模块。

在本发明的一种具体实施中,请求接收模块31,具体为当目标配置文件为bmc配置文件时,接收目标远程服务器通过bmcredfishurl发送的目标配置文件请求;当目标配置文件为bios配置文件时,接收目标远程服务器通过biosredfishurl发送的目标配置文件请求的模块。

相应于上面的方法实施例,参见图4,图4为本发明所提供的导出配置文件的设备的示意图,该设备可以包括:

存储器41,用于存储计算机程序;

处理器42,用于执行上述存储器41存储的计算机程序时可实现如下步骤:

接收目标远程服务器通过redfishurl发送的目标配置文件请求;其中,目标配置文件请求为预先封装为json格式的请求;对目标配置文件请求进行解析,得到目标配置文件的目标文件名称及目标远程服务器的目标ip地址;其中,目标配置文件为与目标配置文件请求对应的配置文件;根据目标文件名称查找目标配置文件;调用远程文件传输协议scp及预先配置的expect脚本,将目标配置文件发送给目标ip地址对应的目标远程服务器。

对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。

相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:

接收目标远程服务器通过redfishurl发送的目标配置文件请求;其中,目标配置文件请求为预先封装为json格式的请求;对目标配置文件请求进行解析,得到目标配置文件的目标文件名称及目标远程服务器的目标ip地址;其中,目标配置文件为与目标配置文件请求对应的配置文件;根据目标文件名称查找目标配置文件;调用远程文件传输协议scp及预先配置的expect脚本,将目标配置文件发送给目标ip地址对应的目标远程服务器。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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