一种国产系统预装软件的方法、系统、终端及存储介质与流程

文档序号:26139018发布日期:2021-08-03 14:22阅读:129来源:国知局
一种国产系统预装软件的方法、系统、终端及存储介质与流程

本发明涉及服务器技术领域,具体涉及一种国产系统预装软件的方法、系统、终端及存储介质。



背景技术:

国产化pc项目中,国产pc主流操作系统包括麒麟和uos,麒麟和uos需要预装正版软件(流版签软件)出货,但是麒麟和uos厂商提供流版签软件的解决方案不相同,在实际导入时需要针对两家国产pc操作系统时需要进行不同的操作流程。操作流程不同造成制造维护成本增加,且容易产生维护出错。本方法旨在利用现有技术基础上统一麒麟和uos操作系统流版签软件预装方法,减少维护成本,提高生产效率。

麒麟预装流版签软件有两种方法,一是先安装操作系统后,在系统内安装流版签软件,软件安装完成后再打包成ghost安装包,通过还原功能完成流版签软件预装,二是把系统filesystem.squashfs文件解压,chroot后再预装流版签软件,安装完成后再打包成filesystem.squashfs文件,生成安装安装iso镜像,再执行安装动作完成安装。麒麟预装流版签软件需要进行操作很多,修改镜像要求技术要求较高,客户需求不一样时都要对镜像进行修改。

uos操作系统预装流版签软件当前方法是通用镜像中添加oem/deb目录,把需要安装软件安装包放入oem/deb目录中生成新的镜像再执行安装。uos操作系统预装流版标签软件方法相对较为简单,但是同样存在不同客户需要生成不同镜像,当预装软件较多时,系统镜像会超过4g,造成http安装失败。



技术实现要素:

针对现有技术的上述不足,本发明提供一种国产系统预装软件的方法、系统、终端及存储介质,以解决上述技术问题。

第一方面,本发明提供一种国产系统预装软件的方法,包括:

在操作系统预留下载软件的接口;

创建基于网络的软件管理目录,并将软件安装包存储在所述软件管理目录下;

根据操作系统的需求生成下载指令,并为操作系统创建以下载指令为文件名的需求软件列表,所述需求软件列表存储有操作系统需要的软件安装包文件名;

获取发送软件下载请求的接口系统信息,并根据所述系统信息查找对应下载指令;

查找以所述对应下载指令为文件名的对应需求软件列表,并将所述对应需求软件列表指定的软件安装包返回至发送软件下载请求的接口。

进一步的,所述在操作系统预留下载软件的接口,包括:

在麒麟操作系统镜像内的接口添加脚本中添加下载、执行统一软件接口;

在统信操作系统镜像的根目录添加软件接口。

进一步的,所述创建基于网络的软件管理目录,并将软件安装包存储在所述软件管理目录下,包括:

在http对应目录下创建软件管理目录,所述软件管理目录支持http下载;

在将软件安装包存储在所述软件管理目录下之后,生成软件安装包列表,所述软件安装包列表中包含软件安装包文件名和校验值。

进一步的,所述获取发送软件下载请求的接口系统信息,并根据所述系统信息查找对应下载指令,包括:

获取发送请求的系统的整机序列号;

根据预存的整机序列号与下载指令的映射关系查找对应的下载指令。

进一步的,所述方法还包括:

获取发送请求的接口系统上传的安装返回值,并将安装返回值记录在安装日志;

比对所述安装日志与所述对应需求软件列表的一致性,若两者不一致则输出安装异常提示。

第二方面,本发明提供一种国产系统预装软件的系统,包括:

接口设置单元,配置用于在操作系统预留下载软件的接口;

文件存储单元,配置用于创建基于网络的软件管理目录,并将软件安装包存储在所述软件管理目录下;

需求汇总单元,配置用于根据操作系统的需求生成下载指令,并为操作系统创建以下载指令为文件名的需求软件列表,所述需求软件列表存储有操作系统需要的软件安装包文件名;

指令查找单元,配置用于获取发送软件下载请求的接口系统信息,并根据所述系统信息查找对应下载指令;

文件返回单元,配置用于查找以所述对应下载指令为文件名的对应需求软件列表,并将所述对应需求软件列表指定的软件安装包返回至发送软件下载请求的接口。

进一步的,所述接口设置单元包括:

第一设置模块,配置用于在麒麟操作系统镜像内的接口添加脚本中添加下载、执行统一软件接口;

第二设置模块,配置用于在统信操作系统镜像的根目录添加软件接口。

进一步的,所述文件存储单元包括:

目录创建模块,配置用于在http对应目录下创建软件管理目录,所述软件管理目录支持http下载;

列表生成模块,配置用于在将软件安装包存储在所述软件管理目录下之后,生成软件安装包列表,所述软件安装包列表中包含软件安装包文件名和校验值。

第三方面,提供一种终端,包括:

处理器、存储器,其中,

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

该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。

第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本发明的有益效果在于,

本发明提供的国产系统预装软件的方法、系统、终端及存储介质,把预装软件当作一个模块独立出来,预装软件的维护、安装、设置独立于操作系统镜像之外,针对不同操作系统、软件预装需求实现标准化、轻量化,达到快速、简单的目的。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

附图说明

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

图1是本发明一个实施例的方法的示意性流程图。

图2是本发明一个实施例的系统的示意性框图。

图3为本发明实施例提供的一种终端的结构示意图。

具体实施方式

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

图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种国产系统预装软件的系统。

如图1所示,该方法包括:

步骤110,在操作系统预留下载软件的接口;

步骤120,创建基于网络的软件管理目录,并将软件安装包存储在所述软件管理目录下;

步骤130,根据操作系统的需求生成下载指令,并为操作系统创建以下载指令为文件名的需求软件列表,所述需求软件列表存储有操作系统需要的软件安装包文件名;

步骤140,获取发送软件下载请求的接口系统信息,并根据所述系统信息查找对应下载指令;

步骤150,查找以所述对应下载指令为文件名的对应需求软件列表,并将所述对应需求软件列表指定的软件安装包返回至发送软件下载请求的接口。

具体的,本实施例以预装软件为流版签软件为例进行说明,所述国产系统预装软件的方法包括:

s1、针对麒麟操作系统和uos操作系统部署统一调用接口。

由于麒麟操作系统和uos操作系统是两种不同系统,部署方式也不相同,本实施例只需要对同一版本进行一次部署,即可实现不同客户预装不同流版签软件需求,麒麟操作系统和uos操作系统部署方法分别如下:

麒麟操作系统。麒麟操作系统安装结束后调用镜像内”.kylin-post-actions”脚本文件,在脚本中添加下载、执行统一流版签预装软件接口;

uos操作系统。uos操作系统本身提供了安装后执行脚本选项,只需要把流版签预装软件接口放入uos操作系统镜像”oem/hooks/after_chroot”目录即可。

s2、部署流版签软件目录及软件列表;

本方法把流版签软件独立于操作系统镜像之外,需要在安装之前通过网络方式(nfs、http)把对应软件包下载到本地使用,本方法建议使用http方式(nfs在批量进行时占用服务器资源更多、效率更低);

(1)创建流版签软件目录,在http对应目录下创建softmanager目录(apache对应目录为:/var/tomcat/apache-tomcat/webapps/root/softmanager,http对应目录为:/var/www/html/softmanager),目录依赖于支持http下载的目录设置;

(2)生成软件列表。把软件安装包放如softmanager目录下,相同软件只需要存放一次即可(原有方式需要每个客户定制镜像下都放置一个),生成软件列表(config.ini,config.ini文件)中包含安装包文件名及安装包校验值(防止网络传输错误造成安装包不全)。

s3、部署不同客户需求软件列表。

不同客户的不同需求以指令方式管控,每种不同需求以指令方式下达;在softmanager目录下以指令方式命名(如v2021_01_15_xx.conf)一个需求软件列表,把需求的软件安装包文件名保存在该列表中。

s4、通过整机序列号查找订单、指令确定客户及需求软件列表。

获取发送请求的接口所属服务器的整机序列号,通过序列号获取对应订单、指令信息,获取指令后下载指令方式命名(如v2021_01_15_xx.conf)的需求软件列表。将需求软件列表中包括的所有软件安装包返回至发送请求的系统接口。

s5、安装操作系统后实现自动下载安装对应软件,并生成安装日志;

遍历令方式命名(如v2021_01_15_xx.conf)文件,获取软件安装列表;

下载softmanager下config.ini文件;

循环获取软件安装文件(http方式下载);

获取校验值,并和config.ini文件中校验值进行比较,校验值正确进行安装,校验值错误,重新下载再次进行校验(重复三次,如果三次都不正确,记录安装错误日志,退出安装);

执行安装动作,获取安装返回值,记录安装日志(/var/log/softinstall.log);

s6、依据安装软件列表检查安装日志,确认软件正确安装。

安装结束后依据软件列表逐个检查安装日志(/var/log/softinstall.log),确保软件安装无异常。

如图2所示,该系统200包括:

接口设置单元210,配置用于在操作系统预留下载软件的接口;

文件存储单元220,配置用于创建基于网络的软件管理目录,并将软件安装包存储在所述软件管理目录下;

需求汇总单元230,配置用于根据操作系统的需求生成下载指令,并为操作系统创建以下载指令为文件名的需求软件列表,所述需求软件列表存储有操作系统需要的软件安装包文件名;

指令查找单元240,配置用于获取发送软件下载请求的接口系统信息,并根据所述系统信息查找对应下载指令;

文件返回单元250,配置用于查找以所述对应下载指令为文件名的对应需求软件列表,并将所述对应需求软件列表指定的软件安装包返回至发送软件下载请求的接口。

可选地,作为本发明一个实施例,所述接口设置单元包括:

第一设置模块,配置用于在麒麟操作系统镜像内的接口添加脚本中添加下载、执行统一软件接口;

第二设置模块,配置用于在统信操作系统镜像的根目录添加软件接口。

可选地,作为本发明一个实施例,所述文件存储单元包括:

目录创建模块,配置用于在http对应目录下创建软件管理目录,所述软件管理目录支持http下载;

列表生成模块,配置用于在将软件安装包存储在所述软件管理目录下之后,生成软件安装包列表,所述软件安装包列表中包含软件安装包文件名和校验值。

图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例提供的国产系统预装软件的方法。

其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。

处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integratedcircuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器310可以仅包括中央处理器(centralprocessingunit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。

通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

因此,本发明把预装软件当作一个模块独立出来,预装软件的维护、安装、设置独立于操作系统镜像之外,针对不同操作系统、软件预装需求实现标准化、轻量化,达到快速、简单的目的,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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