发明内容
本申请的目的在于提供一种基于国产服务器的开源软件安装方法、系统及一种电子设备和一种计算机可读存储介质,解决了人工适配过程中存在的低效、繁琐的问题。
为实现上述目的,本申请提供了一种基于国产服务器的开源软件安装方法,包括:
获取开源软件安装请求,并确定所述开源软件安装请求对应的国产服务器型号和操作系统型号;
根据所述国产服务器型号从服务器资源库中提取对应的服务器软硬件资源,根据所述操作系统型号从操作系统资源库中提取对应的操作系统资源;
利用所述服务器软硬件资源和所述操作系统资源进行操作系统的安装和环境配置,在完成后根据所述国产服务器型号和所述操作系统型号自动生成适用于当前环境中针对目标开源软件的安装脚本;
获取所述目标开源软件所需的依赖包,并将所述依赖包对应的安装源码写入所述安装脚本中,利用所述安装脚本和所述依赖包进行所述目标开源软件的安装。
可选的,所述获取开源软件安装请求,并确定所述开源软件安装请求对应的国产服务器型号和操作系统型号,包括:
获取用户终端发起的开源软件安装请求,解析得到所述开源软件安装请求中的配置环境信息,所述配置环境信息用于配置服务器中的操作系统;
在预设配置库中查询是否存在与所述配置环境信息匹配的配置信息,如果是,则根据所述配置环境信息确定对应的国产服务器型号和操作系统型号;其中,所述预设配置库用于存储各种服务器的操作系统的配置信息。
可选的,所述服务器资源库用于按照服务器架构、版本、型号的维度存储不同类型的服务器资源,所述服务器资源包括实体硬件资源和虚拟软件资源;所述操作系统资源库用于存储不同类型的操作系统资源,所述操作系统资源包括安装源文件、环境配置参数、基本模块配置参数和运行状态调优参数。
可选的,所述获取所述目标开源软件所需的依赖包,并将所述依赖包对应的安装源码写入所述安装脚本中,包括:
在预设的开源软件库中查找是否存在所述目标开源软件所需的依赖包;
如果是,则直接提取所述依赖包对应的安装源码并写入所述安装脚本中;
如果否,则通过虚拟网络路由在外网中查找并保存所述目标开源软件所需的依赖包及对应的安装源码,将所述安装源码写入所述安装脚本中。
可选的,所述利用所述服务器软硬件资源和所述操作系统资源进行操作系统的安装和环境配置,包括:
确定所述开源软件安装请求中指定的安装方式;所述安装方式包括通过本地ISO镜像的安装方式、通过外置引导介质的安装方式和通过内外网络PXE的安装方式;
基于所述安装方式,利用所述服务器软硬件资源和所述操作系统资源进行操作系统的安装和环境配置。
可选的,所述利用所述安装脚本和所述依赖包进行所述目标开源软件的安装,包括:
利用所述安装脚本和所述依赖包进行所述目标开源软件的安装,并对软件安装过程进行监控,自动生成对应的安装操作记录文件;
在完成安装后,根据预设适配脚本对所述目标开源软件进行适配测试,并对适配测试过程进行监控,自动生成对应的适配记录文件。
可选的,所述根据预设适配脚本对所述目标开源软件进行适配测试之后,还包括:
获取适配测试结果,所述适配测试结果包括所述安装脚本、所述依赖包、所述安装操作记录文件、所述适配记录文件、所述开源软件安装请求对应的适配需求、配置环境信息;
将所述适配测试结果作为模板写入预设配置库中进行存储。
为实现上述目的,本申请提供了一种基于国产服务器的开源软件安装系统,包括:
型号确定模块,用于获取开源软件安装请求,并确定所述开源软件安装请求对应的国产服务器型号和操作系统型号;
资源提取模块,用于根据所述国产服务器型号从服务器资源库中提取对应的服务器软硬件资源,根据所述操作系统型号从操作系统资源库中提取对应的操作系统资源;
脚本生成模块,用于利用所述服务器软硬件资源和所述操作系统资源进行操作系统的安装和环境配置,在完成后根据所述国产服务器型号和所述操作系统型号自动生成适用于当前环境中针对目标开源软件的安装脚本;
软件安装模块,用于获取所述目标开源软件所需的依赖包,并将所述依赖包对应的安装源码写入所述安装脚本中,利用所述安装脚本和所述依赖包进行所述目标开源软件的安装。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现前述公开的任一种基于国产服务器的开源软件安装方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种基于国产服务器的开源软件安装方法的步骤。
通过以上方案可知,本申请提供的一种基于国产服务器的开源软件安装方法,包括:获取开源软件安装请求,并确定所述开源软件安装请求对应的国产服务器型号和操作系统型号;根据所述国产服务器型号从服务器资源库中提取对应的服务器软硬件资源,根据所述操作系统型号从操作系统资源库中提取对应的操作系统资源;利用所述服务器软硬件资源和所述操作系统资源进行操作系统的安装和环境配置,在完成后根据所述国产服务器型号和所述操作系统型号自动生成适用于当前环境中针对目标开源软件的安装脚本;获取所述目标开源软件所需的依赖包,并将所述依赖包对应的安装源码写入所述安装脚本中,利用所述安装脚本和所述依赖包进行所述目标开源软件的安装。
由上可知,本申请可根据开源软件安装请求确定出需要安装软件的国产服务器型号和操作系统型号,并获取资源进行操作系统的安装和配置,进而可根据国产服务器型号和操作系统型号自动生成对应的安装脚本,并确定软件依赖包和对应的源码,以便利用安装脚本和依赖包实现开源软件的自动安装,也即,本申请在实现开源软件兼容性的基础上解决了人工适配过程中存在的低效、繁琐的问题,能够实现开源软件的自动适配,降低了适配成本和工作时间,有利于国产服务器的广泛使用。
本申请还公开了一种基于国产服务器的开源软件安装系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在相关技术中,为了解决开源软件迁移时操作系统的差异问题,可以采用人工迁移的方式进行适配,即分别在所有需要适配的服务器和操作系统组合平台上进行开源软件的手动适配迁移,然而,这种方式面对大规模适配时需要人工调试方案,且耗时过长,投入人力成本高。
因此,本申请实施例公开了一种基于国产服务器的开源软件安装方法,能够实现开源软件的自动适配,降低了适配成本和工作时间。
参见图1所示,本申请实施例公开的一种基于国产服务器的开源软件安装方法包括:
S101:获取开源软件安装请求,并确定所述开源软件安装请求对应的国产服务器型号和操作系统型号;
本申请实施例中,可首先获取开源软件安装请求,开源软件安装请求具体为将开源软件安装至指定国产服务器的请求。在接收到开源软件安装请求之后,可确定请求中指定的国产服务器型号和操作系统型号。
作为一种可行的实施方式,本申请实施例可获取用户终端发起的开源软件安装请求,解析得到开源软件安装请求中的配置环境信息,所述配置环境信息用于配置服务器中的操作系统。进而在预设配置库中查询是否存在与配置环境信息匹配的配置信息,如果是,则可根据配置环境信息确定对应的国产服务器型号和操作系统型号。其中,上述预设配置库用于存储各种服务器的操作系统的配置信息。
S102:根据所述国产服务器型号从服务器资源库中提取对应的服务器软硬件资源,根据所述操作系统型号从操作系统资源库中提取对应的操作系统资源;
在本步骤中,可以根据上述确定的国产服务器型号从服务器资源库中提取对应的软硬件资源。其中,服务器资源库用于按照服务器架构、版本、型号的多个维度存储不同类型的服务器资源,可包括但不限于实体硬件资源和虚拟软件资源。另外,可以根据操作系统型号从操作系统资源库中提取需要的操作系统资源,其中,操作系统资源库用于存储不同类型的操作系统资源,可以包括但不限于安装源文件、环境配置参数、基本模块配置参数和运行状态调优参数。
S103:利用所述服务器软硬件资源和所述操作系统资源进行操作系统的安装和环境配置,在完成后根据所述国产服务器型号和所述操作系统型号自动生成适用于当前环境中针对目标开源软件的安装脚本;
可以理解的是,本步骤可利用上述提取到的服务器软硬件资源和操作系统资源,进行操作系统的安装和环境配置。在配置完成后,可以根据国产服务器型号和操作系统型号自动生成适用于当前环境中针对目标开源软件的安装脚本。
在具体实施中,可以按照指定的安装方式进行安装。具体地,可确定开源软件安装请求中指定的安装方式,即用户可通过开源软件安装请求设定安装方式。上述安装方式可以包括但不限于通过本地ISO镜像的安装方式、通过外置引导介质的安装方式和通过内外网络PXE的安装方式。在确定指定的安装方式之后,即可基于该安装方式利用服务器软硬件资源和操作系统资源进行操作系统的安装和环境配置。
S104:获取所述目标开源软件所需的依赖包,并将所述依赖包对应的安装源码写入所述安装脚本中,利用所述安装脚本和所述依赖包进行所述目标开源软件的安装。
需要说明的是,本申请实施例需要进一步获取目标开源软件需要的依赖包。具体地,可以通过对目标开源软件的安装脚本进行解析,或根据目标开源软件的基本信息查询其所需的依赖包,进而获取对应的依赖包,以及依赖包对应的安装源码。进而将依赖包的安装源码添加至安装脚本的对应位置,后续即可利用安装脚本和依赖包安装目标开源软件。
上述获取目标开源软件所需的依赖包时,可以在预设的开源软件库中查找是否存在目标开源软件所需的依赖包。如果存在,则可直接提取依赖包对应的安装源码并写入安装脚本中。如果不存在,则可通过虚拟网络路由在外网中查找并保存目标开源软件所需的依赖包及对应的安装源码,将安装源码写入安装脚本中。
由上可知,本申请可根据开源软件安装请求确定出需要安装软件的国产服务器型号和操作系统型号,并获取资源进行操作系统的安装和配置,进而可根据国产服务器型号和操作系统型号自动生成对应的安装脚本,并确定软件依赖包和对应的源码,以便利用安装脚本和依赖包实现开源软件的自动安装,也即,本申请在实现开源软件兼容性的基础上解决了人工适配过程中存在的低效、繁琐的问题,能够实现开源软件的自动适配,降低了适配成本和工作时间,有利于国产服务器的广泛使用。
本申请实施例公开了另一种基于国产服务器的开源软件安装方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:
S201:获取开源软件安装请求,并确定所述开源软件安装请求对应的国产服务器型号和操作系统型号;
S202:根据所述国产服务器型号从服务器资源库中提取对应的服务器软硬件资源,根据所述操作系统型号从操作系统资源库中提取对应的操作系统资源;
S203:利用所述服务器软硬件资源和所述操作系统资源进行操作系统的安装和环境配置,在完成后根据所述国产服务器型号和所述操作系统型号自动生成适用于当前环境中针对目标开源软件的安装脚本;
S204:获取所述目标开源软件所需的依赖包,并将所述依赖包对应的安装源码写入所述安装脚本中;
S205:利用所述安装脚本和所述依赖包进行所述目标开源软件的安装,并对软件安装过程进行监控,自动生成对应的安装操作记录文件;
S206:在完成安装后,根据预设适配脚本对所述目标开源软件进行适配测试,并对适配测试过程进行监控,自动生成对应的适配记录文件。
本申请实施例中,可进一步对开源软件的安装过程进行监控,以生成对应的安装操作记录文件,以便实现安装过程的查验和追溯。
在软件完成安装之后,还可根据预设适配脚本对目标开源软件进行适配测试。其中,上述预设适配脚本可以为预先针对各类型开源软件编写的用于测试是否适配的脚本。作为一种优选的实施方式,本申请实施例同样对适配测试过程进行监控,以自动生成对应的适配记录文件供用户查阅。
进一步地,在对目标开源软件进行适配测试之后,还可以获取适配测试结果,并将适配测试结果写入预设配置库中进行存储,可作为对应操作系统类型的模板以供后续参考。其中,上述适配测试结果中可以包括但不限于安装脚本、依赖包、安装操作记录文件、适配记录文件、开源软件安装请求对应的适配需求、配置环境信息。
下面通过一种具体的实施场景对本申请实施例提供的基于国产服务器的开源软件安装方法进行介绍。为了解决开源软件迁移时操作系统的差异问题,除了采用人工迁移的方式进行适配之外,还可以利用工具进行迁移,根据开源软件提供的安装包或源码进行本地构建安装,可以通过工具和脚本的方式记录软件源和应用安装包,并构建依赖列表和安装操作记录,最终输出适配方案和操作流程。然而,此种方案面对不同平台需要预先人工提供特定平台的脚本,由于脚本工具和记录工具本身也是开源软件,需要首先迁移至国产平台,同时运行过程中出现适配兼容性问题,同样需要人工干预调整。由此,本申请提出了在解决开源软件兼容性问题的基础上减少人工操作干预和测试时间的软件安装适配方案。
具体地,图3为本申请实施例所使用的适配平台架构及流程图。如图3所示,该平台可具体为基于分布式服务器的PaaS(Platform-as-a-Service,平台即服务)平台,可包括以下基本功能模块:服务器资源管理模块,用于管理多个不同CPU和型号的服务器资源,资源可包括实体硬件服务器资源或者服务器虚拟分区,具体可以CPU架构、产品型号、版本等不同维度进行区分;操作系统资源管理模块,用于管理多个不同类型的操作系统资源,资源可以包括但不限于安装源文件、安装在不同CPU和型号的服务器所需的上下文和配置参数、运行状态调优参数和操作系统基本模块配置参数;安装功能引擎,可以支持多种形式进行安装,支持通过脚本导入配置信息以对已安装的操作系统中进行软件配置和交互,同时支持输出操作系统日志和文件;虚拟网络路由,用于管理工具内部虚拟网络和外部网络反向代理和负载功能,保证内部服务器资源的通信,例如,在操作系统资源安装时可以支持导入配置文件,并支持与外部网络进行交互;配置库管理模块,用于存储各种服务器操作系统的配置、操作流程、日志和管理记录,支持导入和导出功能;软件源库,即本地化的开源软件库,支持同一软件多个在线源的安装包、代码和版本同步,同时支持国产CPU架构下的开源软件源码和依赖打包存储;管理控制台,基于浏览器的平台提供账号管理功能,可对各个模块进行操作和监控。
基于上述提供的适配平台,整体的软件适配安装流程可以包括:导入用户的适配需求,即确定开源软件需要安装的操作系统,从配置库中提取出配置上下文。根据配置上下文,通过虚拟网络向安装功能引擎中导入国产平台型号和操作系统型号对应的配置信息,安装引擎可从服务器资源库中提取对应型号的服务器资源,从操作系统资源库中提取对应的系统安装介质,并可按照配置指定的安装方式进行操作系统的安装和环境准备。在完成操作系统的安装和环境配置后,安装引擎即可根据国产平台型号和操作系统型号配置,自动生成适合当前生产环境中针对目标开源软件的安装脚本,同时向软件源库提出安装依赖分析,同步提取开源软件需要的依赖包和依赖包安装配置,写入上述安装脚本中。对于内网中软件源库缺少的依赖包和源码,软件源库可以通过虚拟网络路由,向外网中当前操作系统的软件源请求获取并保存。根据软件源库传入的整体安装包和安装脚本,安装引擎可在当前操作系统中进行开源软件的安装,在完成安装后,进一步根据配置中的适配脚本进行适配测试。整个过程中,安装引擎可监控操作系统日志和应用日志。自动形成安装操作和适配记录文档。
在具体的实施过程中,上述软件适配安装和适配测试的过程可根据服务器型号和操作系统类型进行分组,基于分组情况,多平台的适配过程可以并行或串行的进行。
本申请实施例中,PaaS平台可通过内部虚拟网络进行国产平台硬件资源管理,因此其中的管理控制台和安装引擎可以架设在国产平台上,也可以架设在传统X86架构的非国产平台上。由于安装引擎完成了全部安装配置、监控、脚本生成、文档报告生成的主要过程,不需要借助第三方工具,无需人工参与适配过程,系统的兼容性和可靠性明显高于人工适配和工具脚本适配方式。同时,由于PaaS平台中服务器资源可以快速创建和复用,引入配置库后,同类型操作系统的多次适配可以从配置库中直接提取完整模板进行适配,在保证流程化工作高效运行的情况下,减少了重复适配造成的时间损耗,有效提高了工作效率,可适用于大型项目海量软件的多国产平台适配场景。通过上述方案,使得大规模开源软件在国产平台广泛适配的项目能够通过程序化方式进行,解决了大型业务系统在国产生态中进行应用迁移中的技术阻碍,为服务器国产化项目降低了风险和成本,有利于国产CPU服务器和操作系统平台的广泛使用。
下面对本申请实施例提供的一种基于国产服务器的开源软件安装系统进行介绍,下文描述的一种基于国产服务器的开源软件安装系统与上文描述的一种基于国产服务器的开源软件安装方法可以相互参照。
参见图4所示,本申请实施例提供的一种基于国产服务器的开源软件安装系统包括:
型号确定模块301,用于获取开源软件安装请求,并确定所述开源软件安装请求对应的国产服务器型号和操作系统型号;
资源提取模块302,用于根据所述国产服务器型号从服务器资源库中提取对应的服务器软硬件资源,根据所述操作系统型号从操作系统资源库中提取对应的操作系统资源;
脚本生成模块303,用于利用所述服务器软硬件资源和所述操作系统资源进行操作系统的安装和环境配置,在完成后根据所述国产服务器型号和所述操作系统型号自动生成适用于当前环境中针对目标开源软件的安装脚本;
软件安装模块304,用于获取所述目标开源软件所需的依赖包,并将所述依赖包对应的安装源码写入所述安装脚本中,利用所述安装脚本和所述依赖包进行所述目标开源软件的安装。
关于上述模块301至304的具体实施过程可参考前述实施例公开的相应内容,在此不再进行赘述。
本申请还提供了一种电子设备,参见图5所示,本申请实施例提供的一种电子设备包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现前述任一实施例公开的基于国产服务器的开源软件安装方法。
在上述实施例的基础上,作为优选实施方式,参见图6所示,所述电子设备还包括:
输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。
显示单元400,与处理器200相连,用于显示处理器200处理的数据以及用于显示可视化的用户界面。该显示单元400可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。
网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
图6仅示出了具有组件100-500的电子设备,本领域技术人员可以理解的是,图6示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现任一实施例公开的基于国产服务器的开源软件安装方法。
本申请可根据开源软件安装请求确定出需要安装软件的国产服务器型号和操作系统型号,并获取资源进行操作系统的安装和配置,进而可根据国产服务器型号和操作系统型号自动生成对应的安装脚本,并确定软件依赖包和对应的源码,以便利用安装脚本和依赖包实现开源软件的自动安装,也即,本申请在实现开源软件兼容性的基础上解决了人工适配过程中存在的低效、繁琐的问题,能够实现开源软件的自动适配,降低了适配成本和工作时间,有利于国产服务器的广泛使用。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。