一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

操作系统部署方法、系统、设备及计算机可读存储介质与流程

2022-03-02 01:20:54 来源:中国专利 TAG:


1.本发明涉及金融科技(fintech)技术领域,尤其涉及一种操作系统部署方法、系统、设备及计算机存储介质。


背景技术:

2.随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(fintech)转变,但由于金融行业的安全性、实时性要求,也对云计算技术提出了更高的要求。目前arm服务器自动部署操作系统的技术方案一般采用网卡pxe((preboot execute environment,预启动执行环境)启动,结合一些其他服务以及配置,能够实现无人干预完成操作系统的安装部署。金融行业的it架构通常以稳定为前提,因此在网络架构上,通常采取一组tor(top of rack,一种数据中心的布线方式)对应一个独立的小网段以达到故障影响范围缩小的目的。
3.对于web服务端而言,在其为需要部署操作系统的arm(advanced risc machine,低功耗成本的使用精简指令集的处理器)客户端服务器分配ip时,每一组tor,其动态主机配置协议的可支配ip池有限,当面对大批量的arm服务器同时存在操作系统的部署需求时,就会出现排队限流的情况,影响到服务器的部署效率,即使是采用常规的令牌桶算法,当无令牌可申请进入令牌产生等待阶段时,请求会被挂起,此时需依赖定时器根据预设的时间间隔进行轮询。而实际的应用场景中,数据中心有很多tor,与之对应有较多的令牌桶,每组令牌桶都设定定时器,在高并发场景下可能会影响到部署效率。
4.对于arm客户端自身而言,在分配到ip后,通常采用ks iso的方式在本地部署操作系统,由于源生iso文件包含所有内容,通常较大,故而文件传输速度慢,导致动态主机配置协议dhcp的ip资源占用时间长,即使是采用主流的p2v(物理机迁移到虚拟机)迁移原理,由于其仅支持mbr(master boot record,主引导记录)的引导方式,镜像文件必须包含根分区以及mbr。故当目标操作系统的系统盘,通常需要整盘复制,依旧不利于压缩镜像文件的大小,进而对整机的部署效率造成影响。
5.上述种种情况均反映出现有的对大批量arm服务器进行操作系统部署方式的部署效率低下。


技术实现要素:

6.本发明的主要目的在于提出一种操作系统部署方法、系统、设备、计算机存储介质及计算机程序产品,旨在解决现有的对大批量arm服务器进行操作系统部署方式的部署效率低下的技术问题。
7.为实现上述目的,本发明提供一种操作系统部署方法,所述方法应用于web服务端,所述方法包括:
8.将预设的启动引导工具安装于目标操作系统后,获取所述目标操作系统的系统关键文件;
9.排除所述系统关键文件中的非必要文件,将除所述非必要文件外的系统关键文件进行压缩打包,得到系统镜像包;
10.在接收到由arm客户端发送的系统部署请求时,基于预设的令牌桶算法确认通过所述请求,其中,所述令牌桶算法动态记录令牌产生的时间间隔;
11.将所述系统镜像包发送给所述客户端,以供所述客户端按照镜像克隆的部署方式并基于所述启动引导工具完成所述目标操作系统的部署。
12.可选地,所述在接收到由arm客户端发送的系统部署请求时,基于预设的令牌桶算法确认通过所述请求的步骤包括:
13.在接收到由所述客户端发送的系统部署请求时,基于所述令牌桶算法查询远程字典服务redis数据库中所存储的剩余令牌数,其中,所述redis数据库存储令牌桶组的剩余令牌数和下一次令牌产生时间;
14.判断所述剩余令牌数是否满足预设数目条件;
15.若是,则通过所述请求,并消耗指定数目令牌;
16.将所述redis数据库中存储的剩余令牌数更新为所述请求消耗后的剩余令牌数,并根据当前时间与预设的令牌生产速率更新下一次令牌产生时间。
17.可选地,所述判断所述剩余令牌数是否满足预设数目条件的步骤之后,还包括:
18.若否,则将所述请求挂起,查询所述redis数据库中存储的下一次令牌产生时间;
19.判断当前时间是否大于所述下一次令牌产生时间;
20.若是,则通过所述请求,并消耗指定数目令牌;
21.在所述redis数据库中根据当前时间和所述令牌生产速率更新所述下一次令牌产生时间。
22.可选地,所述判断当前时间是否大于所述下一次令牌产生时间的步骤之后,还包括:
23.若否,则将所述请求挂起,直至当前时间大于所述下一次令牌产生时间,执行通过所述请求的步骤,并在所述redis数据库中根据所述令牌生产速率更新所述下一次令牌产生时间。
24.可选地,所述排除所述系统关键文件中的非必要文件,将除所述非必要文件外的系统关键文件进行压缩打包,得到系统镜像包的步骤包括:
25.利用指定的排除命令排除所述系统关键文件中的非必要文件,并利用预设的系统命令工具将除所述非必要文件之外的系统关键文件压缩打包成所述系统镜像包。
26.为实现上述目的,本发明还提供一种操作系统部署方法,所述方法应用于arm客户端,所述方法包括:
27.在进入预启动执行环境pxe后,向web服务端发送系统部署请求,其中,所述服务端基于预设的令牌桶算法动态记录令牌产生的时间间隔;
28.接收所述服务端在通过所述请求后反馈的目标操作系统的系统镜像包,其中,所述目标操作系统预安装启动引导工具,所述系统镜像包由仅包含必要文件的系统关键文件压缩打包得到;
29.将所述系统镜像包解压并拷贝到指定文件系统分区,利用解压后得到的所述启动引导工具对解压后的系统镜像包执行部署流程,以完成所述目标操作系统的部署。
30.可选地,所述将所述系统镜像包解压并拷贝到指定文件系统分区,利用解压后得到的所述启动引导工具对解压后的系统镜像包执行部署流程,以完成所述目标操作系统的部署的步骤包括:
31.将所述系统镜像包解压到与所述指定文件系统分区对应的指定文件目录,并将解压后的系统镜像包拷贝到所述指定文件系统分区;
32.将所述目标操作系统的系统配置文件与当前环境绑定,并使用解压后得到的所述启动引导工具安装系统启动引导程序,其中,所述系统配置文件与所述系统镜像包一同获取得到;
33.执行所述系统启动引导程序,以创建关于所述目标操作系统的启动配置文件;
34.在所述启动配置文件创建完毕后执行重启操作以进入系统,完成所述目标操作系统的部署。
35.可选地,所述向web服务端发送系统部署请求的步骤之前,还包括:
36.在所述pxe环境下,对第一块磁盘sda创建磁盘分区;
37.将所述磁盘分区进行格式化并挂载文件系统,以将挂载文件系统后的磁盘分区作为所述指定文件系统分区。
38.此外,为实现上述目的,本发明还提供一种操作系统部署系统,所述系统包括arm客户端和web服务端,所述系统用于:
39.所述服务端将预设的启动引导工具安装于目标操作系统后,获取所述目标操作系统的系统关键文件;
40.所述服务端排除所述系统关键文件中的非必要文件,将除所述非必要文件外的系统关键文件进行压缩打包,得到系统镜像包;
41.所述客户端在进入预启动执行环境pxe后,向所述服务端发送系统部署请求;
42.所述服务端在接收所述请求时,基于预设的令牌桶算法确认通过所述请求,其中,所述令牌桶算法动态记录令牌产生的时间间隔;
43.所述服务端将所述系统镜像包发送给所述客户端;
44.所述客户端接收所述系统镜像包,将所述系统镜像包解压并拷贝到指定文件系统分区,利用解压后得到的所述启动引导工具对解压后的系统镜像包执行部署流程,以完成所述目标操作系统的部署。
45.此外,为实现上述目的,本发明还提供一种操作系统部署设备,所述操作系统部署设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的操作系统部署程序,所述操作系统部署程序被所述处理器执行时实现如上所述的操作系统部署方法的步骤。
46.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有操作系统部署程序,所述操作系统部署程序被处理器执行时实现如上所述的操作系统部署方法的步骤。
47.此外,为实现上述目的,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的操作系统部署方法的步骤。
48.对于arm客户端而言,本发明通过在服务端生成目标操作系统的镜像包之前先安装启动引导工具,为摆脱客户端的源生安装方式提供了条件;通过在排除非必要文件后再
打包生成镜像包以发送给客户端,有效降低镜像文件的大小,使得镜像克隆的过程中无需传输较大的文件,以便后续客户端在进行本地系统部署时能够借助该启动引导工具并按照镜像克隆的方式更加快速地完成目标操作系统部署,从而能够彻底摆脱客户端的源生安装方式以及限定的mbr引导方式,且相比源生安装方式,减少占用dhcp ip资源的时间,因此了提高整机的部署效率;
49.对于web服务端而言,本发明通过可动态记录令牌产生的时间间隔的令牌桶算法确认是否通过各客户端的系统部署请求,无需定时器即可实现灵活可配置的排队限流功能,使得在ip池有限的情况下也能够高效完成多个客户端的操作系统批量部署任务;
50.综上,本发明解决了对大批量arm服务器进行操作系统部署方式的部署效率低下的技术问题。
附图说明
51.图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
52.图2为本发明操作系统部署方法第一实施例的流程示意图;
53.图3为本发明操作系统部署方法第一实施例中的令牌桶算法流程图;
54.图4为本发明操作系统部署方法第二实施例中的分布式架构示意图;
55.图5为本发明操作系统部署方法第三实施例的流程示意图;
56.图6为本发明操作系统部署装置(设于web服务端)的功能模块示意图;
57.图7为本发明操作系统部署装置(设于arm客户端)的功能模块示意图。
58.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
59.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
60.目前arm服务器自动部署操作系统的技术方案一般采用网卡pxe(preboot execute environment,预启动执行环境)启动,结合一些其他服务以及配置,能够实现无人干预完成操作系统的安装部署。金融行业的it架构通常以稳定为前提,因此在网络架构上,通常采取一组tor(top of rack,一种数据中心的布线方式)对应一个独立的小网段以达到故障影响范围缩小的目的。
61.对于web服务端而言,在其为需要部署操作系统的arm(advanced risc machine,低功耗成本的使用精简指令集的处理器)客户端服务器分配ip时,每一组tor,其动态主机配置协议的可支配ip池有限,当面对大批量的arm服务器同时存在操作系统的部署需求时,就会出现排队限流的情况,影响到服务器的部署效率,即使是采用常规的令牌桶算法,当无令牌可申请进入令牌产生等待阶段时,请求会被挂起,此时需依赖定时器根据预设的时间间隔进行轮询。而实际的应用场景中,数据中心有很多tor,与之对应有较多的令牌桶,每组令牌桶都设定定时器,在高并发场景下可能会影响到部署效率。
62.对于arm客户端自身而言,在分配到ip后,通常采用ks iso的方式在本地部署操作系统,由于源生iso文件包含所有内容,通常较大,故而文件传输速度慢,导致动态主机配置协议dhcp的ip资源占用时间长,即使是采用主流的p2v(物理机迁移到虚拟机)迁移原理,由于其仅支持mbr(master boot record,主引导记录)的引导方式,镜像文件必须包含根分区
以及mbr。故当目标操作系统的系统盘,通常需要整盘复制,依旧不利于压缩镜像文件的大小,进而对整机的部署效率造成影响。
63.上述种种情况均反映出现有的对大批量arm服务器进行操作系统部署方式的部署效率低下。
64.为解决上述问题,本发明提供一种操作系统部署方法,即对于arm客户端而言,本发明通过在服务端生成目标操作系统的镜像包之前先安装启动引导工具,为摆脱客户端的源生安装方式提供了条件;通过在排除非必要文件后再打包生成镜像包以发送给客户端,有效降低镜像文件的大小,使得镜像克隆的过程中无需传输较大的文件,以便后续客户端在进行本地系统部署时能够借助该启动引导工具并按照镜像克隆的方式更加快速地完成目标操作系统部署,从而能够彻底摆脱客户端的源生安装方式以及限定的mbr引导方式,且相比源生安装方式,减少占用dhcp ip资源的时间,提高整机的部署效率;对于web服务端而言,本发明通过可动态记录令牌产生的时间间隔的令牌桶算法确认是否通过各客户端的系统部署请求,无需定时器即可实现灵活可配置的排队限流功能,使得在ip池有限的情况下也能够高效完成多个客户端的操作系统批量部署任务;综上,本发明解决了对大批量arm服务器进行操作系统部署方式的部署效率低下的技术问题。
65.如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
66.如图1所示,该操作系统部署系统可以包括:处理器1001,例如cpu,用户接口1003,网络接口1004,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
67.本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
68.如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及操作系统部署程序。
69.在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(程序员端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的操作系统部署程序,并执行下述操作系统部署方法中的操作。
70.基于上述硬件结构,提出本发明操作系统部署方法实施例。
71.参照图2,图2为本发明操作系统部署方法第一实施例的流程示意图所述方法应用于web服务端,所述方法包括:
72.步骤s10,将预设的启动引导工具安装于目标操作系统后,获取所述目标操作系统的系统关键文件;
73.步骤s20,排除所述系统关键文件中的非必要文件,将除所述非必要文件外的系统关键文件进行压缩打包,得到系统镜像包;
74.在本实施例中,本方法应用于web服务端。启动引导工具包括grub2-efi工具。目标
操作系统(目标os)指的是arm客户端请求部署的操作系统。系统关键文件指的是目标操作系统的关键文件。非必要文件可由相关人员预先指定。
75.需要说明的是,现有的主流p2v(物理机迁移到虚拟机)迁移原理,涉及到系统的打包迁移,其简单的系统镜像安装过程如下:
76.第一步,校验目标os的系统关键文件位置和权限正确无误,可以正常读写;
77.第二步,使用系统命令工具dd对系统盘sda进行分区复制,导出镜像文件例如:
78.ddif=/dev/sdaof=/mnt/kylin_os.imagebs=1kcount=$count
79.其中,$count代表需要复制的分区数量,也可以选择全盘复制,使用系统命令工具fdisk可查看系统盘sda的具体分区信息,导出的镜像中至少需要包含根分区以及mbr,缺少mbr将导致系统无法正常启动;
80.第三步,客户端部署从网卡启动第一次进入pxe环境;
81.第四步,在pxe环境下,客户端从服务端下载镜像文件例如:kylin_os.image;
82.第五步,在pxe环境下,客户端通过系统命令工具dd读取镜像文件内容还原到sda盘;
83.第六步,客户端reboot重启进入新系统,完成整个部署过程。
84.而本发明则考虑到使用系统命令工具dd进行分区复制,仅支持mbr的引导方式,镜像文件必须包含根分区以及mbr。故当目标os的第一块硬盘sda无具体分区时,通常需要整盘复制,不利于压缩镜像文件的大小,且仅支持mbr的引导方式,灵活性较差。通过服务端在先将基于主流的efi(可扩展固件接口,extensible firmware interface)方式的启动引导工具包安装到目标os,然后获取到目标os的所有的系统关键文件,先将其中非必要的文件进行排除,然后再对剩余文件进行压缩打包,将打包得到的文件包作为目标os的系统镜像包。而arm客户端在需要部署目标os时,借助这一工具能够采用主流的efi方式进行引导,而不依赖传统的mbr启动引导方式;且仅对必要的目录进行压缩打包,有效降低了镜像文件的大小。
85.另外,在步骤s10之前,服务端还可先校验目标操作系统的关键文件位置和权限是否正确无误,可以正常读写,若是则进入步骤s10;若否则可生成并输出相应的报错通知信息。
86.步骤s30,在接收到由arm客户端发送的系统部署请求时,基于预设的令牌桶算法确认通过所述请求,其中,所述令牌桶算法动态记录令牌产生的时间间隔;
87.在本实施例中,对于令牌桶算法,如图3所示。假设一个tor1可供dhcp支配的ip池有10个,则设定一个令牌桶组bucket1的令牌上限b为10。假设dhcp设定ip租期时间为1800s(该值取决于单台服务器部署所需的时间),则令牌产生速度r为1/1800toekn/s,令牌产生等待的时间间隔t则为1800s。当该tor1同时有n台服务器请求部署时,当n《=bucket1剩余令牌数时,则直接进入部署并删除n个令牌;当n》bucket1剩余令牌数时,将超过的部分处于令牌产生等待token wait状态,其他则进入部署;处于token wait状态的服务器以一个时间间隔t不断尝试直至进入部署。
88.而由于数据中心有很多tor,与之对应有较多的令牌桶,每组令牌桶都设定定时器,在高并发场景下可能会导致系统性能下降;以一定的令牌生产速度投放令牌,也依赖定时器进行工作,会进一步加大对时间定时器的依赖;另外,在分布式架构下,多节点之间保
持一致性,对时间精确度有较高要求,时间的误差容易导致程序逻辑出现缺陷。因此,本实施例对原有的令牌桶算法进行改进,取消定时器的设置,改为动态记录每组令牌桶的下一个令牌产生时间,从而实现灵活可配置的排队限流功能,合理利用有限资源,实现批量并发部署。
89.步骤s40,将所述系统镜像包发送给所述客户端,以供所述客户端按照镜像克隆的部署方式并基于所述启动引导工具完成所述目标操作系统的部署。
90.在本实施例中,服务端将系统镜像包以及其他所需的文件发送给客户端,客户端在获取到目标os的镜像包后,将其解压并拷贝到指定的文件系统分区,然后借助镜像包中预安装的启动引导工具grub2-efi执行后续的安装流程,以完成在客户端上的目标os部署。
91.本实施例提供一种操作系统部署方法。对于arm客户端而言,本发明通过在服务端生成目标操作系统的镜像包之前先安装启动引导工具,为摆脱客户端的源生安装方式提供了条件;通过在排除非必要文件后再打包生成镜像包以发送给客户端,有效降低镜像文件的大小,使得镜像克隆的过程中无需传输较大的文件,以便后续客户端在进行本地系统部署时能够借助该启动引导工具并按照镜像克隆的方式更加快速地完成目标操作系统部署,从而能够彻底摆脱客户端的源生安装方式以及限定的mbr引导方式,且相比源生安装方式可缩短部署过程中重启次数,并且减少占用dhcp ip资源的时间,因此提高了整机的部署效率;对于web服务端而言,本发明通过可动态记录令牌产生的时间间隔的令牌桶算法确认是否通过各客户端的系统部署请求,无需定时器即可实现灵活可配置的排队限流功能,使得在ip池有限的情况下也能够高效完成多个客户端的操作系统批量部署任务;综上,本发明解决了对大批量arm服务器进行操作系统部署方式的部署效率低下的技术问题。
92.进一步地,基于上述图2所示的第一实施例,提出本发明操作系统部署方法的第二实施例。在本实施例中,步骤s30包括:
93.步骤s31,在接收到由所述客户端发送的系统部署请求时,基于所述令牌桶算法查询远程字典服务redis数据库中所存储的剩余令牌数,其中,所述redis数据库存储令牌桶组的剩余令牌数和下一次令牌产生时间;
94.步骤s32,判断所述剩余令牌数是否满足预设数目条件;
95.步骤s33,若是,则通过所述请求,并消耗指定数目令牌;
96.步骤s34,将所述redis数据库中存储的剩余令牌数更新为所述请求消耗后的剩余令牌数,并根据当前时间与预设的令牌生产速率更新下一次令牌产生时间。
97.在本实施例中,服务端改用redis数据库记录动态记录每组令牌桶的下一个令牌产生时间。预设数目条件可以是剩余令牌数大于或等于预设的令牌数目。指定数目可根据实际情况灵活设置。
98.作为一具体实施例,分布式架构示意图如图4所示。pc端发送的请求通过负载均衡策略传送到包含多个业务服务器的服务端,服务端通过redis数据库集中存储每个令牌桶组的剩余令牌数量以及下一次令牌产生时间。例如:
99.keyvaluetoken_bucket1_next_available_time2021-9-15 10:22:30token_bucket2_next_available_time2021-9-15 10:32:30token_bucket1_count10
token_bucket2_count8
100.服务端接收到请求时先查询第一令牌桶组bucket1的剩余令牌数目token_bucket1_count:
101.若token_bucket1_count》1,则请求通过,消耗一枚令牌,

bucket1的剩余令牌数减1(token_bucket1_count

1);
102.若token_bucket1_count=1,则请求通过,消耗一枚令牌,bucket1的剩余令牌数减1,并将bucket1的下一令牌产生时间(token_bucket1_next_available_time)更新为当前时间current_time r(token/s)。其中,r为预设的令牌生产速率,可根据实际需求灵活调节。
103.进一步地,步骤s32之后,还包括:
104.步骤s35,若否,则将所述请求挂起,查询所述redis数据库中存储的下一次令牌产生时间;
105.步骤s36,判断当前时间是否大于所述下一次令牌产生时间;
106.步骤s37,若是,则通过所述请求,并消耗指定数目令牌;
107.步骤s38,在所述redis数据库中根据当前时间和所述令牌生产速率更新所述下一次令牌产生时间。
108.在本实施例中,沿用上述具体实施例,若token_bucket1_count《0,则请求挂起,服务端查询bucket1的下一次令牌产生时间token_bucket1_next_available_time;
109.若当前时间current_time大于bucket1的下一次令牌产生时间token_bucket1_next_available_time,则直接获得令牌并通过请求,同时更新token_bucket1_count为当前时间与下一次令牌产生时间之差与令牌产生速率的比值,即:
110.token_bucket1_count=(current_time-token_bucket1_next_available_time)/r。
111.进一步地,步骤s36之后还包括:
112.步骤s39,若否,则将所述请求挂起,直至当前时间大于所述下一次令牌产生时间,执行通过所述请求的步骤,并在所述redis数据库中根据所述令牌生产速率更新所述下一次令牌产生时间。
113.在本实施例中,沿用上述具体实施例,若当前时间current_time小于token_bucket1_next_available_time,则请求挂起直到token_bucket1_next_available_time这一时刻,同时将bucket1的下一次令牌产生时间增加r,即:
114.token_bucket1_next_available_time=token_bucket1_next_available_time r。
115.本实施例通过优化后的令牌桶算法,实现灵活可配置的排队限流功能,使得在ip池有限的情况下实现批量部署。
116.进一步地,步骤s20包括:
117.步骤s21,利用指定的排除命令排除所述系统关键文件中的非必要文件,并利用预设的系统命令工具将除所述非必要文件之外的系统关键文件压缩打包成所述系统镜像包。
118.在本实施例中,使用系统命令工具tar代替dd,通过排除命令
‑‑
exclude排除系统关键文件中不必要的文件,例如:tar zcvpf kylin_os_image.tar.gz-c/
‑‑
exclude=lost
found/*
‑‑
exclude=mnt/*
‑‑
exclude=dev/*
‑‑
exclude=proc/*
‑‑
exclude=tmp/*
‑‑
exclude=sys/*,以进一步降低镜像文件大小。
119.本实施例进一步通过采用指定的排除命令来对非必要文件进行排除,使得技术人员无需逐个查看系统关键文件,以及对其中的非必要文件进行手动删除,只需要发出指定的排除指令即可,从而增加了文件排除操作的便捷性,提高了文件排除效率。
120.进一步地,参照图5,图5为本发明操作系统部署方法第三实施例的流程示意图所述方法应用于arm客户端,所述方法包括:
121.步骤s100,在进入预启动执行环境pxe后,向web服务端发送系统部署请求,其中,所述服务端基于预设的令牌桶算法动态记录令牌产生的时间间隔;
122.在本实施例中,客户端部署从网卡启动第一次进入pxe环境,在进行相应准备操作后,向服务端请求下载目标os的镜像包,以及其他需要文件。服务端可能会接收到来自多个客户端的并发部署请求,通过对原有的令牌桶算法进行改进,取消定时器的设置,改为动态记录每组令牌桶的下一个令牌产生时间,从而实现灵活可配置的排队限流功能,合理利用有限资源,实现批量并发部署。
123.步骤s200,接收所述服务端在通过所述请求后反馈的目标操作系统的系统镜像包,其中,所述目标操作系统预安装启动引导工具,所述系统镜像包由仅包含必要文件的系统关键文件压缩打包得到;
124.在本实施例中,服务端基于优化后的令牌桶算法确定是否通过该客户端的请求,并在确认通过时向该客户端返回目标os的镜像包以及其他所需文件。对于系统镜像包,是由服务端先将基于主流的efi方式的启动引导工具包安装到目标os,然后获取到目标os的所有的系统关键文件,将其中非必要的文件进行排除,然后再对剩余文件进行压缩打包,将打包得到的文件包作为目标os的系统镜像包。
125.步骤s300,将所述系统镜像包解压并拷贝到指定文件系统分区,利用解压后得到的所述启动引导工具对解压后的系统镜像包执行部署流程,以完成所述目标操作系统的部署。
126.在本实施例中,客户端在获取到目标os的镜像包后,将其解压并拷贝到指定的文件系统分区,然后借助镜像包中预安装的启动引导工具grub2-efi执行后续的安装流程,以完成在客户端上的目标os部署。
127.本实施例提供一种操作系统部署方法。对于arm客户端而言,本发明通过在服务端生成目标操作系统的镜像包之前先安装启动引导工具,为摆脱客户端的源生安装方式提供了条件;通过在排除非必要文件后再打包生成镜像包以发送给客户端,有效降低镜像文件的大小,使得镜像克隆的过程中无需传输较大的文件,以便后续客户端在进行本地系统部署时能够借助该启动引导工具并按照镜像克隆的方式更加快速地完成目标操作系统部署,从而能够彻底摆脱客户端的源生安装方式以及限定的mbr引导方式,且相比源生安装方式,减少占用dhcp ip资源的时间,提高整机的部署效率;对于web服务端而言,本发明通过可动态记录令牌产生的时间间隔的令牌桶算法确认是否通过各客户端的系统部署请求,无需定时器即可实现灵活可配置的排队限流功能,使得在ip池有限的情况下也能够高效完成多个客户端的操作系统批量部署任务;综上,本发明解决了对大批量arm服务器进行操作系统部署方式的部署效率低下的技术问题。
128.进一步地,基于上述图5所示的第三实施例,提出本发明操作系统部署方法的第四实施例。在本实施例中,步骤s300包括:
129.步骤s301,将所述系统镜像包解压到与所述指定文件系统分区对应的指定文件目录,并将解压后的系统镜像包拷贝到所述指定文件系统分区;
130.步骤s302,将所述目标操作系统的系统配置文件与当前环境绑定,并使用解压后得到的所述启动引导工具安装系统启动引导程序,其中,所述系统配置文件与所述系统镜像包一同获取得到;
131.步骤s303,执行所述系统启动引导程序,以创建关于所述目标操作系统的启动配置文件。
132.在本实施例中,作为一具体实施方式,客户端在pxe环境下:从服务端下载镜像包kylin_os_image.tar.gz;在pxe环境下:解压系统镜像包到/mnt目录;在pxe环境下:拷贝镜像到对应sda分区;在pxe环境下:将与镜像包一同获取得到的目标os配置文件与当前环境绑定;在pxe环境下:通过系统命令工具chroot将根环境切换到解压后的目标os,命令为:chroot/mnt;使用目标os的grub2安装efi系统启动引导程序,命令为:grub2-install(默认会安装到/boor/efi分区下),grub2-mkconfig-o/boot/grub2/grub.cfg(创建启动配置文件);最后,重启进入新系统,完成整个部署过程。
133.本实施例进一步明确具体的镜像克隆的步骤流程,使得arm客户端能够基于上述的操作步骤快速准确地完成操作系统的镜像克隆操作,从而提升了整机的本地部署效率。
134.进一步地,步骤s100中向web服务端发送系统部署请求的步骤之前,还包括:
135.步骤a1,在所述pxe环境下,对第一块磁盘sda创建磁盘分区;
136.步骤a2,将所述磁盘分区进行格式化并挂载文件系统,以将挂载文件系统后的磁盘分区作为所述指定文件系统分区。
137.在本实施例中,客户端在进入pxe环境后,需要先对第一块磁盘sda创建磁盘分区、格式化并挂载文件系统,其中,第一个分区sda1必须为fat格式,挂载到/boot/efi。之后,客户端再从服务端下载镜像包以及系统配置文件等其他所需文件。
138.本实施例经过以上过程实现镜像部署之后,相对原来的部署方式提升部署效率,单台服务器占用dhcp ip时间大大缩短,有效降低token wait时间间隔,提升批量部署效率。
139.本发明还提供一种操作系统部署系统,所述系统包括arm客户端和web服务端,所述系统用于:
140.所述服务端将预设的启动引导工具安装于目标操作系统后,获取所述目标操作系统的系统关键文件;
141.所述服务端排除所述系统关键文件中的非必要文件,将除所述非必要文件外的系统关键文件进行压缩打包,得到系统镜像包;
142.所述客户端在进入预启动执行环境pxe后,向所述服务端发送系统部署请求;
143.所述服务端在接收所述请求时,基于预设的令牌桶算法确认通过所述请求,其中,所述令牌桶算法动态记录令牌产生的时间间隔;
144.所述服务端将所述系统镜像包发送给所述客户端;
145.所述客户端接收所述系统镜像包,将所述系统镜像包解压并拷贝到指定文件系统
分区,利用解压后得到的所述启动引导工具对解压后的系统镜像包执行部署流程,以完成所述目标操作系统的部署。
146.如图6所示,本发明还提供一种操作系统部署装置,所述操作系统部署装置设于服务端,所述装置包括:
147.关键文件获取模块10,用于将预设的启动引导工具安装于目标操作系统后,获取所述目标操作系统的系统关键文件;
148.镜像压缩打包模块20,用于排除所述系统关键文件中的非必要文件,将除所述非必要文件外的系统关键文件进行压缩打包,得到系统镜像包;
149.令牌确认请求模块30,用于在接收到由arm客户端发送的系统部署请求时,基于预设的令牌桶算法确认通过所述请求,其中,所述令牌桶算法动态记录令牌产生的时间间隔;
150.镜像克隆部署模块40,用于将所述系统镜像包发送给所述客户端,以供所述客户端按照镜像克隆的部署方式并基于所述启动引导工具完成所述目标操作系统的部署。
151.可选地,所述令牌确认请求模块30包括:
152.剩余令牌查询单元,用于在接收到由所述客户端发送的系统部署请求时,基于所述令牌桶算法查询远程字典服务redis数据库中所存储的剩余令牌数,其中,所述redis数据库存储令牌桶组的剩余令牌数和下一次令牌产生时间;
153.剩余令牌判断单元,用于判断所述剩余令牌数是否满足预设数目条件;
154.部署请求通过单元,用于若是,则通过所述请求,并消耗指定数目令牌;
155.剩余令牌更新单元,用于将所述redis数据库中存储的剩余令牌数更新为所述请求消耗后的剩余令牌数,并根据当前时间与预设的令牌生产速率更新下一次令牌产生时间。
156.可选地,所述操作系统部署装置还包括:
157.生产时间查询模块,用于若否,则将所述请求挂起,查询所述redis数据库中存储的下一次令牌产生时间;
158.当前时间判断模块,用于判断当前时间是否大于所述下一次令牌产生时间;
159.部署请求通过模块,用于若是,则通过所述请求,并消耗指定数目令牌;
160.产生时间更新模块,用于在所述redis数据库中根据当前时间和所述令牌生产速率更新所述下一次令牌产生时间。
161.可选地,所述操作系统部署装置还包括:
162.部署请求挂起模块,用于若否,则将所述请求挂起,直至当前时间大于所述下一次令牌产生时间,执行通过所述请求的步骤,并在所述redis数据库中根据所述令牌生产速率更新所述下一次令牌产生时间。
163.可选地,所述镜像压缩打包模块20包括:
164.镜像压缩打包单元,用于利用指定的排除命令排除所述系统关键文件中的非必要文件,并利用预设的系统命令工具将除所述非必要文件之外的系统关键文件压缩打包成所述系统镜像包。
165.如图7所示,本发明还提供一种操作系统部署装置,所述操作系统部署装置设于arm客户端,所述装置包括:
166.部署请求发送模块100,用于在进入预启动执行环境pxe后,向web服务端发送系统
部署请求,其中,所述服务端基于预设的令牌桶算法动态记录令牌产生的时间间隔;
167.系统镜像接收模块200,用于接收所述服务端在通过所述请求后反馈的目标操作系统的系统镜像包,其中,所述目标操作系统预安装启动引导工具,所述系统镜像包由仅包含必要文件的系统关键文件压缩打包得到;
168.操作系统部署模块300,用于将所述系统镜像包解压并拷贝到指定文件系统分区,利用解压后得到的所述启动引导工具对解压后的系统镜像包执行部署流程,以完成所述目标操作系统的部署。
169.可选地,所述操作系统部署模块300包括:
170.镜像解压拷贝单元,用于将所述系统镜像包解压到与所述指定文件系统分区对应的指定文件目录,并将解压后的系统镜像包拷贝到所述指定文件系统分区;
171.环境配置绑定单元,用于将所述目标操作系统的系统配置文件与当前环境绑定,并使用解压后得到的所述启动引导工具安装系统启动引导程序,其中,所述系统配置文件与所述系统镜像包一同获取得到;
172.启动文件创建单元,用于执行所述系统启动引导程序,以创建关于所述目标操作系统的启动配置文件;
173.系统重启进入单元,用于在所述启动配置文件创建完毕后执行重启操作以进入系统,完成所述目标操作系统的部署。
174.可选地,所述部署请求发送模块100包括:
175.磁盘分区创建单元,用于在所述pxe环境下,对第一块磁盘sda创建磁盘分区;
176.文件系统挂载单元,用于将所述磁盘分区进行格式化并挂载文件系统,以将挂载文件系统后的磁盘分区作为所述指定文件系统分区。
177.本发明还提供一种操作系统部署设备。
178.所述操作系统部署设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的操作系统部署程序,其中所述操作系统部署程序被所述处理器执行时,实现如上所述的操作系统部署方法的步骤。
179.其中,所述操作系统部署程序被执行时所实现的方法可参照本发明操作系统部署方法的各个实施例,此处不再赘述。
180.本发明还提供一种计算机可读存储介质。
181.本发明计算机可读存储介质上存储有操作系统部署程序,所述操作系统部署程序被处理器执行时实现如上所述的操作系统部署方法的步骤。
182.其中,所述操作系统部署程序被执行时所实现的方法可参照本发明操作系统部署方法各个实施例,此处不再赘述。
183.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的操作系统部署方法的步骤。
184.其中,所述计算机程序被执行时所实现的方法可参照本发明操作系统部署方法各个实施例,此处不再赘述。
185.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有
的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
186.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
187.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
188.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献