操作系统的启动方法、装置、存储介质及客户端与流程

文档序号:18141908发布日期:2019-07-10 11:10阅读:175来源:国知局
操作系统的启动方法、装置、存储介质及客户端与流程

本公开涉及网络技术领域,尤其涉及一种操作系统的启动方法、装置、存储介质及客户端。



背景技术:

pxe(prebootexecuteenvironment,预启动执行环境)由intel公司开发,是目前比较主流的技术,其通过c/s(client/server,客户端/服务器)网络模式工作,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程。

然而,现有的基于pxe方式启动操作系统的方法是客户端使用基于用户数据报协议(userdatagramprotocol,udp)的tftp从服务器下载内核文件和文件系统文件,在大规模生产环境中,客户端数量众多,网络质量可能不佳,因而可能出现比较严重的数据包丢失问题,从而造成并发性能不可靠,并且操作系统文件的下载速度受到tftp传输协议的速度限制,下载速度不高,从而影响启动操作系统的速度。



技术实现要素:

有鉴于此,本公开提供一种操作系统的启动方法、装置、存储介质及客户端,用以提高大规模生产环境中并发性能的稳定性,以及提高启动操作系统的速度。

第一方面,本公开实施例提供了一种操作系统的启动方法,所述方法包括:

启动预启动执行环境pxe,在通过普通文本传输协议tftp从服务器获取到启动引导文件和启动配置文件后,基于所述启动引导文件和启动配置文件通过tftp从所述服务器下载内核文件和迷你文件系统文件;

基于所述内核文件和迷你文件系统文件启动迷你操作系统;

在所述迷你操作系统环境中,通过超文本传输协议http从所述服务器下载镜像文件,以及基于下载的所述镜像文件安装具有独立可操作性的最终操作系统,并切换所述迷你操作系统至所述最终操作系统。

上述方法,先通过tftp下载内核文件和迷你文件系统文件以启动迷你操作系统,再在迷你操作系统环境中,通过http下载镜像文件以安装具有独立可操作性的最终操作系统,在操作系统的启动过程中,最终操作系统的镜像文件是通过http下载的,不容易发生丢包,因此可以提高大规模生产环境中并发性能的稳定性,另外,相比于使用tftp下载最终操作系统的镜像文件,使用http下载最终操作系统的镜像文件可以提高镜像文件的下载速度,从而可以提高启动操作系统的速度。

在一可能的实现方式中,所述在所述迷你操作系统环境中,通过http从所述服务器下载镜像文件,包括:

在所述迷你操作系统环境中,挂载网络组件;

当基于所述网络组件通过动态主机配置协议dhcp从所述服务器获取到ip地址时,根据所述启动配置文件中记载的镜像文件的地址通过http从所述服务器下载镜像文件。

在一可能的实现方式中,该方法还包括:

当基于所述网络组件通过dhcp从所述服务器未获取到ip地址,或者通过http从所述服务器下载镜像文件失败时,提示用户操作系统启动异常。

在一可能的实现方式中,所述在所述迷你操作系统环境中,基于下载的所述镜像文件安装具有独立可操作性的最终操作系统,包括:

在所述迷你操作系统环境中,解压下载的所述镜像文件到客户端的内存中,并将解压后的所述镜像文件作为具有独立可操作性的最终操作系统。

该方法中,通过将最终操作系统安装在客户端的内存中,从而可以提高启动操作系统的速度。

在一可能的实现方式中,所述启动引导文件、所述启动配置文件、所述内核文件、所述迷你文件系统文件和所述镜像文件中至少一种文件存储在所述服务器的内存中。

该方法中,由于启动引导文件、启动配置文件、内核文件、迷你文件系统文件和镜像文件中至少一种文件存储在服务器的内存中,因此,可以提高文件读取速度,从而可以提高启动操作系统的速度。

第二方面,本公开实施例还提供了一种操作系统的启动装置,包括用于执行第一方面或第一方面的任意可能的实现方式中的操作系统的启动方法的模块。

第三方面,本公开实施例还提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面或第一方面的任意可能的实现方式中的操作系统的启动方法的步骤。

第四方面,本公开实施例还提供了一种客户端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面或第一方面的任意可能的实现方式中的操作系统的启动方法的步骤。

附图说明

图1为本公开实施例提供的操作系统启动系统的示意图;

图2为本公开实施例提供的一种操作系统的启动方法的流程示意图;

图3为本公开实施例中迷你操作系统的运行流程示意图;

图4为本公开实施例中操作系统的整体启动流程示意图;

图5为本公开实施例提供的操作系统的启动装置的第一种结构示意图;

图6为本公开实施例提供的操作系统的启动装置的第二种结构示意图;

图7为本公开实施例提供的一种客户端的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

目前,服务器的需求量非常大,而服务器的测试需要操作系统的支持,但操作系统的安装、维护是一项十分消耗时间和人力的工作,因此,迫切需要能够快速启动操作系统的技术方案。

为了解决该问题,可以将拥有pxe网卡的待测服务器作为客户端,利用相关技术中提出的基于pxe方式启动操作系统的方案,该基于pxe方式启动操作系统的过程一般包括如下步骤:

1、客户端启动pxe,并通过动态主机配置协议(dynamichostconfigurationprotocol,dhcp)从服务器获取ip地址和启动引导文件的地址;

2、根据启动引导文件的地址通过普通文本传输协议(trivialfiletransferprotocol,tftp)从服务器下载启动引导文件;

3、根据启动引导文件中记载的启动配置文件的地址通过tftp从服务器下载启动配置文件;

4、基于启动引导文件和启动配置文件通过tftp从服务器下载内核文件和文件系统文件;

5、基于内核文件和文件系统文件安装具有独立可操作性的操作系统至客户端的硬盘中,并进入该操作系统。

这种基于pxe方式启动操作系统的效率要远远高于采用光驱、1394接口、usb接口等方式。然而,现有的基于pxe方式启动操作系统的方法是客户端使用基于用户数据报协议(userdatagramprotocol,udp)的tftp从服务器下载内核文件和文件系统文件,在大规模生产环境中,客户端数量众多,网络质量可能不佳,因而可能出现比较严重的数据包丢失问题,从而造成并发性能不可靠,并且操作系统文件的下载速度受到tftp传输协议的速度限制,下载速度不高,从而影响启动操作系统的速度。

基于此,本公开提供了一种操作系统的启动方法及装置。

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。

本公开提供的操作系统启动系统如图1所示,该操作系统启动系统包括:服务器101、多个客户端102和交换机103;服务器101和多个客户端102均接入交换机103。

服务器101支持pxe服务、dhcp服务、tftp服务和http服务;pxe服务用于客户端102无盘启动,dhcp服务可以用于为客户端102分配ip地址以及为客户端102提供启动引导文件的地址(例如启动引导文件的存放路径),tftp服务可以用于为客户端102提供启动引导文件、启动配置文件、内核文件和迷你文件系统文件,http服务可以用于为客户端102提供镜像文件。

用户可以在服务器侧为各客户端102选定测试所需安装的操作系统,于是在服务器101中保存有启动引导文件、启动配置文件、内核文件、迷你文件系统文件和镜像文件。其中,启动引导文件中记载有至少一个启动配置文件的地址,启动配置文件中记载有内核文件、迷你文件系统文件和镜像文件的地址。

之后,在测试各客户端102时,每一个客户端102自动完成各自的操作系统的启动,具体的操作系统的启动方法流程,如图2所示,可以包括如下步骤:

s101、启动pxe,在通过tftp从服务器获取到启动引导文件和启动配置文件后,基于启动引导文件和启动配置文件通过tftp从服务器下载内核文件和迷你文件系统文件;

本步骤中,基于启动引导文件和启动配置文件通过tftp从服务器下载内核文件和迷你文件系统文件,具体可以包括:

使用启动引导文件并根据启动配置文件中记载的内核文件的地址通过tftp从服务器下载内核文件;

以及使用启动引导文件并根据启动配置文件中记载的迷你文件系统文件的地址通过tftp从服务器下载迷你文件系统文件。

s102、基于内核文件和迷你文件系统文件启动迷你操作系统;

例如:可以加载内核文件和迷你文件系统文件至客户端的内存中,以启动迷你操作系统。

s103、在迷你操作系统环境中,通过http从服务器下载镜像文件,以及基于下载的镜像文件安装具有独立可操作性的最终操作系统,并切换该迷你操作系统至最终操作系统。

其中,镜像文件包含启动最终操作系统的内核文件和文件系统文件。

在一可能的实现方式中,步骤s103中在迷你操作系统环境中,通过http从服务器下载镜像文件,可以包括:

在迷你操作系统环境中,挂载网络组件(例如网卡);

当基于该网络组件通过dhcp从服务器获取到ip地址时,根据启动配置文件中记载的镜像文件的地址通过http从该服务器下载镜像文件。

在一可能的实现方式中,该方法还可以包括:

当基于网络组件通过dhcp从服务器未获取到ip地址,或者通过http从服务器下载镜像文件失败时,提示用户操作系统启动异常。

在一可能的实现方式中,步骤s103中在迷你操作系统环境中,基于下载的镜像文件安装具有独立可操作性的最终操作系统,可以包括:

在迷你操作系统环境中,解压下载的镜像文件到客户端的内存中,并将解压后的镜像文件作为具有独立可操作性的最终操作系统。

具体地,可以根据启动配置文件中记载的镜像文件的大小在客户端的内存中划分一部分内存空间,并将其与其他内存空间隔离,然后解压下载的镜像文件到该部分内存空间。

需要指出的是,上述启动引导文件、启动配置文件、内核文件、迷你文件系统文件和镜像文件的源文件通常存放在服务器的硬盘中,为了提高源文件的读取速度,本公开实施例中在服务器启动后,可以采用内存硬盘技术(ramdisk)将启动引导文件、启动配置文件、内核文件、迷你文件系统文件和镜像文件中至少一种文件存储在服务器的内存中,例如可以将启动引导文件、启动配置文件、内核文件、迷你文件系统文件和镜像文件全都存储在服务器的内存中。

为了更好地理解,下面结合图3具体说明本公开实施例中迷你操作系统的运行流程。

迷你操作系统启动后,可以自动执行如下步骤:

s201、挂载网络组件;

s202、判断基于该网络组件通过dhcp从服务器是否获取到ip地址;若获取到ip地址,执行步骤s203,若未获取到ip地址,执行步骤s206;

s203、根据启动配置文件中记载的镜像文件的地址通过http从该服务器下载镜像文件;

s204、判断下载镜像文件是否成功;若下载镜像文件成功,执行步骤s205,若下载镜像文件失败,执行步骤s206;

s205、基于下载的镜像文件安装具有独立可操作性的最终操作系统,并切换该迷你操作系统至最终操作系统;

s206、提示用户操作系统启动异常。

为了更好地理解本公开实施例提供的技术方案,下面结合图4说明本公开实施例中操作系统的整体启动流程:

s301、客户端启动pxe;

s302、客户端发送ip地址请求消息给服务器;

其中,ip地址请求消息携带客户端的mac地址。

s303、服务器为该客户端分配ip地址,并将该ip地址与客户端的mac地址关联;

这里,通过将该ip地址与客户端的mac地址关联就能确定哪些mac地址已分配ip地址,从而可以避免重复分配。

s304、服务器通过dhcp返回ip地址响应消息给客户端;

其中,ip地址响应消息携带ip地址和启动引导文件的地址。

s305、客户端发送启动引导文件下载请求消息给服务器;

其中,启动引导文件下载请求消息携带启动引导文件的地址。

s306、服务器通过tftp将该启动引导文件的地址处的启动引导文件发送给客户端;

其中,启动引导文件中记载有启动配置文件的下载优先级、启动配置文件的地址和启动配置文件的命名规则。启动配置文件的下载优先级可以使用属性参数进行定义,例如:下载优先级顺序可以设为:uuid(通用唯一识别码)>mac>ip>default。

s307、客户端基于启动配置文件的命名规则确定启动配置文件的名称;

其中,启动配置文件的名称包含该客户端的属性参数,例如:假设客户端的uuid:xxx-xxx-xxx-xxxxx,mac:ff-ff-ff-ff-ff-ff,ip:100.101.102.103,启动配置文件的命名规则为:cfg-uuid,cfg-mac,cfg-ip,cfg-default,该客户端的启动配置文件的名称可以为:cfg-xxx-xxx-xxx-xxxxx,cfg-ff-ff-ff-ff-ff-ff,cfg-100,cfg-default。

s308、客户端基于启动配置文件的下载优先级发送启动配置文件下载请求消息给服务器;

其中,启动配置文件下载请求消息携带启动配置文件的地址和当前优先级对应的启动配置文件的名称(例如cfg-xxx-xxx-xxx-xxxxx),当前优先级对应的启动配置文件的名称包含当前优先级对应的属性参数。

s309、服务器根据接收到的启动配置文件的地址和启动配置文件的名称查找是否存在该启动配置文件的名称对应的启动配置文件;若存在,则执行步骤s310,若不存在,则执行步骤s319;

s310、服务器通过tftp将查找到的该启动配置文件发送给客户端;

其中,启动配置文件中记载有内核文件的地址、迷你文件系统文件的地址和镜像文件的地址。

s311、客户端发送内核文件下载请求消息给服务器;

其中,内核文件下载请求消息携带内核文件的地址。

s312、服务器通过tftp将该内核文件的地址处的内核文件发送给客户端;

s313、客户端发送迷你文件系统文件下载请求消息给服务器;

其中,迷你文件系统文件下载请求消息携带迷你文件系统文件的地址。

s314、服务器通过tftp将该迷你文件系统文件的地址处的迷你文件系统文件发送给客户端;

s315、客户端基于内核文件和迷你文件系统文件启动迷你操作系统;

s316、在迷你操作系统环境中,客户端发送镜像文件下载请求消息给服务器;

其中,镜像文件下载请求消息携带镜像文件的地址。

s317、服务器通过http将该镜像文件的地址处的镜像文件发送给客户端;

s318、在迷你操作系统环境中,客户端基于下载的镜像文件安装具有独立可操作性的最终操作系统,并切换该迷你操作系统至最终操作系统;

s319、服务器返回不存在该启动配置文件的名称对应的启动配置文件的消息给客户端;

客户端接收到该不存在该启动配置文件的名称对应的启动配置文件的消息,继续执行步骤s308,也就是说接着将请求cfg-ff-ff-ff-ff-ff-ff对应的启动配置文件。

基于同一发明构思,参见图5,本公开实施例还提供了一种操作系统的启动装置,该装置包括:pxe启动模块11、下载模块12、第一处理模块13和第二处理模块14。

其中,pxe启动模块11,用于启动pxe;

下载模块12,用于在通过tftp从服务器获取到启动引导文件和启动配置文件后,基于启动引导文件和启动配置文件通过tftp从服务器下载内核文件和迷你文件系统文件;

第一处理模块13,用于基于内核文件和迷你文件系统文件启动迷你操作系统;

第二处理模块14,用于在迷你操作系统环境中,通过http从服务器下载镜像文件,以及基于下载的镜像文件安装具有独立可操作性的最终操作系统,并切换该迷你操作系统至最终操作系统。

在一可能的实现方式中,第二处理模块14可以用于:

在迷你操作系统环境中,挂载网络组件;

当基于该网络组件通过dhcp从服务器获取到ip地址时,根据启动配置文件中记载的镜像文件的地址通过http从该服务器下载镜像文件。

在一可能的实现方式中,如图6所示,上述装置还可以包括:

提示模块15,用于当基于网络组件通过dhcp从服务器未获取到ip地址,或者通过http从服务器下载镜像文件失败时,提示用户操作系统启动异常。

在一可能的实现方式中,第二处理模块14可以用于:

在迷你操作系统环境中,解压下载的镜像文件到客户端的内存中,并将解压后的镜像文件作为具有独立可操作性的最终操作系统。

其中,启动引导文件、启动配置文件、内核文件、迷你文件系统文件和镜像文件中至少一种文件可以存储在服务器的内存中。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

基于同一发明构思,本公开实施例还提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任意可能的实现方式中的操作系统的启动方法的步骤。

可选地,该存储介质具体可以为存储器。

基于同一发明构思,参见图7,本公开实施例还提供了一种客户端,包括存储器61(例如非易失性存储器)、处理器62及存储在存储器61上并可在处理器62上运行的计算机程序,处理器62执行所述程序时实现上述任意可能的实现方式中的操作系统的启动方法的步骤。

如图7所示,该客户端一般还可以包括:内存63、网络接口64、以及内部总线65。除了这些部件外,还可以包括其他硬件,对此不再赘述。

需要指出的是,上述操作系统的启动装置可以通过软件实现,其作为一个逻辑意义上的装置,是通过其所在的客户端的处理器62将非易失性存储器中存储的计算机程序指令读取到内存63中运行形成的。

本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。

本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如fpga(现场可编程门阵列)或asic(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。

适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏操纵台、全球定位系统(gps)接收机、或例如通用串行总线(usb)闪存驱动器的便携式存储设备,仅举几例。

适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如eprom、eeprom和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及cdrom和dvd-rom盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。

虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。

由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。

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