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

一种无盘客户机的启动方法、装置以及介质与流程

2022-03-22 23:23:16 来源:中国专利 TAG:


1.本技术涉及无盘启动技术领域,特别是涉及一种无盘客户机的启动方法、装置以及介质。


背景技术:

2.无盘系统是用于网吧,卡拉ok,办公室的一种网络传输技术。使用无盘系统的计算机将不使用本机的硬盘获得启动系统,而是通过网络的指定服务器去获得启动系统的镜像文件,并下载回本机后用于机器启动。
3.在无盘启动的过程中,无盘客户机会在预启动执行环境(preboot execution environment,pxe)的扩展版“ipxe”的启动阶段、或者统一可扩展固件接口(unified extensible firmware interface,uefi)的启动阶段虚拟一个系统盘,对该虚拟盘的读写操作均会通过网络重定向到服务端的系统镜像文件。ipxe或uefi启动阶段会加载运行系统盘的引导程序,引导程序在引导过程中需要从虚拟的系统盘上读取其所需的文件资源,这些io请求最终均会通过网络重定向到服务端的系统镜像文件。可以看出,当前技术中,系统启动速度取决于虚拟盘io速率,虚拟盘的io速率又受网络速率影响。
4.由此可见,如何降低网络速率对io速率的影响,提高无盘客户机的启动速度是本领域技术人员亟待解决的问题。


技术实现要素:

5.本技术的目的是提供一种无盘客户机的启动方法、装置以及介质,用于降低网络速率对io速率的影响,提高无盘客户机的启动速度。
6.为解决上述技术问题,本技术提供一种无盘客户机的启动方法,该方法包括:
7.在接收到无盘启动指令后,判断在本地系统中,是否存在预缓存信息;其中,所述预缓存信息包括引导模式和镜像信息的id;
8.若存在,则根据所述预缓存信息从服务端下载并保存所述预缓存信息对应的数据。
9.优选的,若所述本地系统中不存在所述预缓存信息,则还包括:
10.向所述服务端发送请求信息,以获取所述预缓存信息;
11.若获取到所述预缓存信息,则进入所述根据预缓存信息从服务端下载并保存所述预缓存信息对应的数据的步骤。
12.优选的,若未获取到所述预缓存信息,则还包括:
13.获取所述引导模式和所述镜像信息的id;
14.记录在根据所述引导模式和所述镜像信息的id,引导镜像信息时生成的各所述io请求信息;所述io请求信息包括各所述io请求的起始扇区的地址和长度;
15.根据所述io请求信息从服务端下载并保存对应的数据。
16.优选的,还包括:
17.生成并保存由所述引导模式和所述镜像信息的id组成的所述预缓存信息;
18.将所述预缓存信息和所述io请求信息发送至服务端保存。
19.优选的,在所述将所述预缓存信息和所述io请求信息发送至服务端保存的步骤之前,还包括:
20.将各所述io请求信息按照预先设置的块的大小进行分配;
21.生成各所述块的索引信息;
22.进一步的,所述将所述预缓存信息和所述io请求信息发送至服务端保存包括:将所述预缓存信息和所述索引信息发送至服务端保存。
23.优选的,还包括:
24.删除重复的所述io请求信息。
25.优选的,还包括:
26.将长度符合预设条件且所述起始扇区相邻的所述io请求合并。
27.为解决上述技术问题,本技术还提供一种无盘客户机的启动装置,该装置包括:
28.判断模块,用于在接收到无盘启动指令后,判断在本地系统中,是否存在预缓存信息;其中,所述预缓存信息包括引导模式和镜像信息的id;
29.处理模块,用于若存在预缓存信息,则根据所述预缓存信息从服务端下载并保存所述预缓存信息对应的数据。
30.为解决上述技术问题,本技术还提供另一种无盘客户机的启动装置,该装置包括存储器,用于存储计算机程序;
31.处理器,用于执行所述计算机程序时实现如上述的无盘客户机的启动方法的步骤。
32.为解决上述技术问题,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的无盘客户机的启动方法的步骤。
33.本技术所提供的无盘客户机的启动方法,包括:在接收到无盘启动指令后,判断在本地系统中,是否存在预缓存信息;其中,预缓存信息包括引导模式和镜像信息的id;若存在,则根据预缓存信息从服务端下载并保存预缓存信息对应的数据。相对于当前技术中,无盘客户机每次启动时生成io请求,进而从服务端获取相应的镜像文件。采用本技术方案,提前将预缓存信息存放在本地系统中,在无盘启动时,根据预缓存信息直接从服务端引导所需的相关数据,服务端无需再根据io请求找寻相关数据,提高了服务端的处理效率,降低了网络速率对io速率的影响,从而提高了无盘客户机的启动速度。
34.此外,本技术所提供的无盘客户机的启动装置以及介质,与上述的无盘客户机的启动方法相对应,效果同上。
附图说明
35.为了更清楚地说明本技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1为本技术实施例提供的一种无盘客户机的启动方法的流程图;
37.图2为本技术实施例提供的一种无盘客户机的启动方法的应用效果对照表;
38.图3为本技术实施例提供的一种无盘客户机的启动装置的结构图;
39.图4为本技术实施例提供的另一种无盘客户机的启动装置的结构图。
具体实施方式
40.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本技术保护范围。
41.无盘启动技术,一般是指通过网络下载系统镜像并启动的计算机,无盘客户机本身并没有硬盘,即本地是没有系统镜像的,系统镜像存储于服务端。无盘客户机通过其自身网卡中的启动代码,使用动态主机配置协议(dynamic host configuration protocol,dhcp)获取ip地址,使用简单文件传输协议(trivial file transfer protocol,tftp)下载镜像或引导文件,构建镜像或引导文件的运行环境,使无盘客户机通过服务端的镜像启动。
42.在无盘启动过程中,ipxe/uefi阶段虚拟一个系统盘,对该虚拟盘的读写操作均会通过网络重定向到服务端的系统镜像文件,ipxe/uefi加载运行系统盘的引导程序,引导程序在引导过程中需要从虚拟的系统盘上读取其所需的文件资源,这些io操作最终均会通过网络重定向到服务端的系统镜像文件。
43.可以看出,无盘客户机的启动速度取决于虚拟盘io速率,而虚拟盘io速率则受网络速率影响最大,在一般的千兆局域网内,网络延时小于1ms,启动速度影响较小;但是,在城域网中,部分无盘工作站距离服务端所在机房较远,网络延时较高,并且可能出现丢包,则对启动速度影响较大,实测在网络延时1ms-2ms时,win10引导阶段耗时增加10s左右,在网络延时4ms时,win10引导阶段耗时增加34s左右。
44.本技术的核心是提供一种无盘客户机的启动方法、装置以及介质,用于降低网络速率对io速率的影响,提高无盘客户机的启动速度。
45.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。
46.图1为本技术实施例提供的一种无盘客户机的启动方法的流程图,如图1所示,该方法包括:
47.s10:接收无盘启动指令。
48.s11:判断在本地系统中,是否存在预缓存信息;其中,预缓存信息包括引导模式和镜像信息的id。若存在,则进入步骤s12。
49.在具体实施中,同一无盘客户机多次启动时,所引导的镜像信息和引导模式应当是相同的。其中,引导模式包括uefi或ipxe。ipxe是一套开源的无盘启动技术,是在pxe基础上开发的,它提供了一个完整的pxe实现,增强了大部分功能。uefi是一种个人电脑系统规格,用来定义操作系统与系统固件之间的软件界面。可扩展固件接口(extensible firmware interface,efi),是英特尔公司推出的一种在未来的类pc的电脑系统中替代bios的升级方案。efi负责加电自检、联系操作系统以及提供连接操作系统与硬件的接口,后更名为uefi。服务端中存有多种镜像信息,以满足不同的需求。因此,服务端会为各镜像
信息配置各自的id,以区分各镜像信息。
50.在无盘客户机第一次启动后,会将启动时所引导的镜像信息的id和该客户机的引导模式进行记录,保存在本地系统中。该无盘客户机在后续启动时,接收到无盘启动指令后,直接访问本地系统的数据库,从中获取到预缓存信息。
51.s12:根据预缓存信息从服务端下载并保存预缓存信息对应的数据。
52.在步骤s12中,无盘客户机根据预缓存信息从服务端下载并保存预缓存信息对应的数据。可以理解的是,由于预缓存信息包括引导模式和镜像信息的id,通过该信息可以判断出该无盘客户机所需要引导的镜像信息。而无盘客户机引导的镜像信息往往并不是全部的镜像信息,只需引导该镜像信息中的一部分。因此,在本实施例中的预缓存信息对应的数据为无盘客户机在启动时所需要的数据。
53.在具体实施中,由于该数据存在于服务端中,无盘客户机在任务结束后,服务端会对数据进行回收,以便于后续使用。无盘客户机根据预缓存信息找到镜像信息后,下载与预缓存信息对应的数据。由于无盘客户机引导的数据是相同的,在无盘客户机的后续启动时,只需根据预缓存信息,在服务端的磁盘上找到所需数据所处的位置,即可下载数据。该位置即为各io请求的位置。该位置包括各io请求所处的扇区的地址、各io请求的长度。需要说明的是,各io请求所处的扇区的地址和各io请求的长度,在无盘客户机第一次启动时已被记录并存储在服务端,并且,与预缓存信息具有对应关系。当无盘客户机根据预缓存信息下载数据时,根据预缓存信息找到该位置,下载与该位置处的数据。
54.本技术实施例提供的无盘客户机的启动方法,包括:在接收到无盘启动指令后,判断在本地系统中,是否存在预缓存信息;其中,预缓存信息包括引导模式和镜像信息的id;若存在,则根据预缓存信息从服务端下载并保存预缓存信息对应的数据。相对于当前技术中,无盘客户机每次启动时生成io请求,进而从服务端获取相应的镜像文件。采用本技术方案,提前将预缓存信息存放在本地系统中,在无盘启动时,根据预缓存信息直接从服务端引导所需的相关数据,服务端无需再根据io请求找寻相关数据,提高了服务端的处理效率,降低了网络速率对io速率的影响,从而提高了无盘客户机的启动速度。
55.可以理解的是,相同配置的无盘客户机所引导的镜像信息的数据是相同的,在无盘客户机第一次启动后,会在本地存入预缓存信息,在后续使用时可以直接利用该预缓存信息。而相同配置的其他无盘客户机在第一次启动时,本地系统中并不存在预缓存信息,但是服务端已经存有经过第一次启动后的无盘客户机在启动时所需的数据的相关记录。
56.因此,在上述实施例的基础上,在本实施例中,若本地系统中不存在预缓存信息,则还包括:
57.向服务端发送请求信息,以获取预缓存信息;
58.若获取到预缓存信息,则进入根据预缓存信息从服务端下载并保存预缓存信息对应的数据的步骤。
59.可以理解的是,本实施例中的请求信息是为了获取到与该无盘客户机拥有相同配置的无盘客户机的预缓存信息,为了准确的获取到所需的预缓存信息,请求信息应当具有一定的识别性。该请求信息可以包括无盘客户机启动的引导模式和所需的镜像信息的id。
60.本技术实施例提供的无盘客户机的启动方法,由于相同配置的无盘客户机所引导的镜像信息是相同的,因此,如果无盘客户机的本地系统中不存在预缓存信息,则向服务端
请求预缓存信息,进而根据预缓存信息下载数据,提高了启动速度。采用本技术方案,可以提高不同地点的拥有相同配置的无盘客户机的启动速度。
61.不同配置的无盘客户机所引导的镜像信息是不同的,在无盘客户机第一次启动时,本地系统并没有预缓存信息,并且,服务端也没有相关的记录。
62.因此,在上述实施例的基础上,在本实施例中,若未获取到预缓存信息,则还包括:
63.获取引导模式和镜像信息的id;
64.记录在根据引导模式和镜像信息的id,引导镜像信息时生成的各io请求信息;io请求信息包括各io请求的起始扇区的地址和长度;
65.根据io请求信息从服务端下载并保存对应的数据。
66.可以理解的是,在本实施例中,io请求信息即上述实施例中所述的位置,该io请求信息包括引导镜像信息时,各io请求的起始扇区的地址和长度。客户端通过该io请求信息即可找到启动所需的数据。
67.本技术实施例提供的无盘客户机的启动方法,作为保底的技术方案,在无盘客户机第一次启动时,没有获取到预缓存信息的情况下,仍能实现客户机的启动。
68.在具体实施中,在无盘客户机第一次启动时,已经记录了启动所需的数据在服务端的位置,因此,为了提高该无盘客户机的后续启动或者与该无盘客户机拥有相同配置的其他无盘客户机的启动速度,在上述实施例的基础上,在本实施例中,还包括:
69.生成并保存由引导模式和镜像信息的id组成的预缓存信息;
70.将预缓存信息和io请求信息发送至服务端保存。
71.可以理解的是,为了便于该无盘客户机的后续启动,预缓存信息是保存在该无盘客户机的本地系统中的。
72.本技术实施例提供的无盘客户机的启动方法,将无盘客户机第一次启动时的引导模式和引导的镜像信息的id保存在本地系统中,并将预缓存信息和io请求信息发送至服务端保存,在该无盘客户机再次启动时可以根据本地系统中的预缓存信息找到服务端的io请求信息所对应的数据,提高了启动速度。并且,拥有相同配置的其他无盘客户机在第一次启动时也能够通过服务端获取到预缓存信息。
73.由于在处理io请求时,有些io请求会重叠,因此,在将预缓存信息和io请求信息发送至服务端保存的步骤之前,还包括:
74.将各io请求信息按照预先设置的块的大小进行分配;
75.生成各块的索引信息;
76.进一步的,将预缓存信息和io请求信息发送至服务端保存包括:将预缓存信息和索引信息发送至服务端保存。
77.在本实施例中,由于io请求不会跨块,因此,根据用户预先设置的块的大小,以块为单位对io请求信息进行保存。本实施例中,可以将128个扇区合并为一个块,即64kb。
78.本技术实施例提供的无盘客户机的启动方法,将io请求信息以块为单位进行保存,间接的处理重叠的io请求,并且,连续的io请求也会被合并处理,减少客户端的io请求次数,减轻服务端处理io请求的压力。
79.在具体实施中,有的扇区会重复读取,造成io请求信息的重复,使服务端的处理压力变大。因此在上述实施例的基础上,在本实施例中,还包括:
80.删除重复的io请求信息。
81.本技术实施例提供的无盘客户机的启动方法,删除重复的io请求信息,减少了io请求次数,减轻了服务端的处理压力。
82.在具体实施中,io请求的最小单位是扇区,默认扇区大小为512字节,在引导过程中有较多的长度短的io请求,过多的io请求次数会在高延时网络环境下,降低无盘客户机的启动速度。
83.因此,在上述实施例的基础上,在本实施例中,还包括:
84.将长度符合预设条件且起始扇区相邻的io请求合并。
85.本技术实施例提供的无盘客户机的启动方法,将长度符合预设条件且起始扇区相邻的io请求合并。减少了io请求的次数,提高了无盘客户机的启动速度。
86.图2为本技术实施例提供的一种无盘客户机的启动方法的应用效果对照表,如图2所示,在延时小于1ms的网络环境下,采用本技术提供的无盘客户机的启动方法,可以提高2s的启动时间。在延时1ms-2ms时,可以提高8s的启动时间,在延时4ms时,提高16s的启动时间。可以看出,采用本技术提供的无盘客户机的启动方法,能够有效的降低网络速率对无盘客户机的启动速度的影响,并且延时越高,启动速度提升越明显。并且,io请求数明显减少,减轻了服务端的处理压力。
87.在上述实施例中,对于无盘客户机的启动方法进行了详细描述,本技术还提供无盘客户机的启动装置对应的实施例。需要说明的是,本技术从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
88.图3为本技术实施例提供的一种无盘客户机的启动装置的结构图,如图3所示,该装置包括:
89.判断模块10,用于在接收到无盘启动指令后,判断在本地系统中,是否存在预缓存信息;其中,预缓存信息包括引导模式和镜像信息的id;
90.处理模块11,用于若存在预缓存信息,则根据预缓存信息从服务端下载并保存预缓存信息对应的数据。
91.本技术实施例提供的无盘客户机的启动装置,在接收到无盘启动指令后,判断在本地系统中,是否存在预缓存信息;其中,预缓存信息包括引导模式和镜像信息的id;若存在,则根据预缓存信息从服务端下载并保存预缓存信息对应的数据。相对于当前技术中,无盘客户机每次启动时生成io请求,进而从服务端获取相应的镜像文件。采用本技术方案,提前将预缓存信息存放在本地系统中,在无盘启动时,根据预缓存信息直接从服务端引导所需的相关数据,服务端无需再根据io请求找寻相关数据,提高了服务端的处理效率,降低了网络速率对io速率的影响,从而提高了无盘客户机的启动速度。
92.由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
93.图4为本技术实施例提供的另一种无盘客户机的启动装置的结构图,如图4所示,该装置包括:存储器20,用于存储计算机程序;
94.处理器21,用于执行计算机程序时实现如上述实施例无盘客户机的启动方法的步骤。
95.本实施例提供的无盘客户机的启动装置可以包括但不限于智能手机、平板电脑、
笔记本电脑或台式电脑等。
96.其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(central processing unit,cpu);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(graphics processing unit,gpu),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(artificial intelligence,ai)处理器,该ai处理器用于处理有关机器学习的计算操作。
97.存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的无盘客户机的启动方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括windows、unix、linux等。数据203可以包括但不限于预缓存信息、请求信息、索引信息等。
98.在一些实施例中,无盘客户机的启动装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
99.本领域技术人员可以理解,图4中示出的结构并不构成对无盘客户机的启动装置的限定,可以包括比图示更多或更少的组件。
100.本技术实施例提供的无盘客户机的启动装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:在接收到无盘启动指令后,判断在本地系统中,是否存在预缓存信息。其中,预缓存信息包括引导模式和镜像信息的id。若存在,则根据预缓存信息从服务端下载并保存预缓存信息对应的数据。
101.本技术实施例提供的无盘客户机的启动装置,在接收到无盘启动指令后,判断在本地系统中,是否存在预缓存信息;其中,预缓存信息包括引导模式和镜像信息的id;若存在,则根据预缓存信息从服务端下载并保存预缓存信息对应的数据。相对于当前技术中,无盘客户机每次启动时生成io请求,进而从服务端获取相应的镜像文件。采用本技术方案,提前将预缓存信息存放在本地系统中,在无盘启动时,根据预缓存信息直接从服务端引导所需的相关数据,服务端无需再根据io请求找寻相关数据,提高了服务端的处理效率,降低了网络速率对io速率的影响,从而提高了无盘客户机的启动速度。
102.最后,本技术还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
103.可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以
以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
104.本技术实施例提供的计算机可读存储介质,在接收到无盘启动指令后,判断在本地系统中,是否存在预缓存信息;其中,预缓存信息包括引导模式和镜像信息的id;若存在,则根据预缓存信息从服务端下载并保存预缓存信息对应的数据。相对于当前技术中,无盘客户机每次启动时生成io请求,进而从服务端获取相应的镜像文件。采用本技术方案,提前将预缓存信息存放在本地系统中,在无盘启动时,根据预缓存信息直接从服务端引导所需的相关数据,服务端无需再根据io请求找寻相关数据,提高了服务端的处理效率,降低了网络速率对io速率的影响,从而提高了无盘客户机的启动速度。
105.以上对本技术所提供的无盘客户机的启动方法、装置以及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
106.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

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

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

相关文献