一种服务器启动方法、系统、装置、服务器及存储介质与流程
未命名
09-08
阅读:233
评论:0

1.本发明涉及服务器领域,特别是涉及一种服务器启动方法、系统、装置、服务器及存储介质。
背景技术:
2.服务器作为信息服务的载体,在数据存储方面起着重要作用。服务器主要是依靠内存实现数据存储,相关技术中为了提高服务器的数据存储容量通常在服务器中设置多个内存,并且为了进一步使内存的使用率达到最优值,通常会使用内存交叉存取技术来进行数据存储。内存交叉存取是一种并行操作的存储技术,虽然能够改善服务器的存储速度,但是也会对服务器的开机启动造成影响。若单纯在服务器中禁用内存交叉存取技术则会使服务器的存储性能降低,若使用内存交叉存储技术又可能会导致服务器无法正常开机启动,因此如何既保证服务器的存储性能,又保证服务器能够正常开机启动是亟待解决的问题。
技术实现要素:
3.本发明的目的是提供一种服务器启动控制方法、系统、装置、服务器及存储介质,保证服务器能够正常开机的基础上利用交叉存取技术提高存储性能。
4.为解决上述技术问题,本发明提供了一种服务器启动控制方法,包括:
5.在服务器开始启动并对所述服务器使用的各个内存完成初始化后,控制所述服务器利用内存交叉存取技术从各个所述内存中加载启动程序,以便所述服务器开机启动;
6.在确定所述服务器利用所述内存交叉存取技术开机失败时,控制所述服务器利用非内存交叉存取技术重新从各个所述内存中加载所述启动程序;
7.在确定所述服务器利用所述非内存交叉存取技术开机失败时,确定所述服务器使用的各个内存中的异常内存,并控制所述服务器利用所述内存交叉存取技术从所述异常内存之外的其他内存中加载所述启动程序,以便重新完成所述服务器的开机启动。
8.一方面,确定所述服务器利用所述内存交叉存取技术开机失败,包括:
9.在所述服务器开始利用所述内存交叉存取技术从各个所述内存中加载所述启动程序并经过预设启动时长之后,若所述服务器仍未完成开机启动则确定所述服务器利用所述内存交叉存取技术开机失败。
10.另一方面,在服务器开始启动并对所述服务器使用的各个内存完成初始化之后,还包括:
11.获取各个所述内存的实际安装位置以及所述服务器使用的实际内存数量;
12.在所述实际安装位置与常规内存设置中的安装位置不同时将与所述常规内存设置中的安装位置不同的内存的缓存清除,和/或,在所述实际内存数量与所述常规内存设置中的内存数量不同时将所述服务器中多余的内存的缓存清除。
13.另一方面,在确定所述服务器使用的各个内存中的异常内存之后,还包括:
14.将所述异常内存和所述服务器中除所述异常内存之外的其他内存分别作为两个
分段存储单元,以便所述服务器利用分段存储技术分别使用两个所述分段存储单元。
15.另一方面,确定所述服务器使用的各个内存中的异常内存,包括:
16.将所述服务器中的各个内存按照预设划分规则划分为多个分段存储单元;
17.控制所述服务器利用所述非内存交叉存取技术分别从各个所述分段存储单元中加载所述启动程序,并分别判断所述服务器能否成功启动;
18.若否,则将无法使所述服务器成功启动的分段存储单元作为可疑存储单元;
19.按照预设禁用顺序依次禁用所述可疑存储单元中的各个内存,并控制服务器利用所述非内存交叉存取技术从所述可疑存储单元中除被禁用的内存之外的其他内存中加载所述启动程序;
20.若所述服务器成功启动则将所述可疑存储单元中被禁用的内存作为所述异常内存。
21.另一方面,在服务器开始启动并对所述服务器使用的各个内存完成初始化后之后,还包括:
22.获取各个所述内存完成初始化所需的初始化时间以及各个所述内存的实际安装位置;
23.在将所述可疑存储单元中被禁用的内存作为所述异常内存之前,还包括:
24.判断所述可疑存储单元中被禁用的内存的实际安装位置与所述初始化时间最长的内存的实际安装位置是否一致;
25.若是,则进入将所述可疑存储单元中被禁用的内存作为所述异常内存的步骤。
26.为解决上述技术问题本技术还提供了一种服务器启动控制系统,包括:
27.第一启动单元,用于在服务器开始启动并对所述服务器使用的各个内存完成初始化后,控制所述服务器利用内存交叉存取技术从各个所述内存中加载启动程序,以便所述服务器开机启动;
28.第二启动单元,用于在确定所述服务器利用所述内存交叉存取技术开机失败时,控制所述服务器利用非内存交叉存取技术重新从各个所述内存中加载所述启动程序;
29.第三启动单元,用于在确定所述服务器利用所述非内存交叉存取技术开机失败时,确定所述服务器使用的各个内存中的异常内存,并控制所述服务器利用所述内存交叉存取技术从所述异常内存之外的其他内存中加载所述启动程序,以便重新完成所述服务器的开机启动。
30.一方面,第二启动单元具体用于在所述服务器开始利用所述内存交叉存取技术从各个所述内存中加载所述启动程序并经过预设启动时长之后,若所述服务器仍未完成开机启动则确定所述服务器利用所述内存交叉存取技术开机失败,并控制所述服务器利用非内存交叉存取技术重新从各个所述内存中加载所述启动程序。
31.另一方面,还包括:
32.第一内存参数获取单元,用于在服务器开始启动并对所述服务器使用的各个内存完成初始化之后,获取各个所述内存的实际安装位置以及所述服务器使用的实际内存数量;
33.缓存清除单元,用于在所述实际安装位置与常规内存设置中的安装位置不同时将与所述常规内存设置中的安装位置不同的内存的缓存清除,和/或,在所述实际内存数量与
所述常规内存设置中的内存数量不同时将所述服务器中多余的内存的缓存清除。
34.另一方面,还包括:
35.分段存储控制单元,用于在确定所述服务器使用的各个内存中的异常内存之后,将所述异常内存和所述服务器中除所述异常内存之外的其他内存分别作为两个分段存储单元,以便所述服务器利用分段存储技术分别使用两个所述分段存储单元。
36.另一方面,第三启动单元包括:
37.分段存储单元划分单元,用于在确定所述服务器利用所述非内存交叉存取技术开机失败时,将所述服务器中的各个内存按照预设划分规则划分为多个分段存储单元;
38.分段启动单元,用于控制所述服务器利用所述非内存交叉存取技术分别从各个所述分段存储单元中加载所述启动程序,并分别判断所述服务器能否成功启动;若否,则触发可疑判定单元;
39.所述可疑判定单元用于将无法使所述服务器成功启动的分段存储单元作为可疑存储单元;
40.异常内存排查单元,用于按照预设禁用顺序依次禁用所述可疑存储单元中的各个内存,并控制服务器利用所述非内存交叉存取技术从所述可疑存储单元中除被禁用的内存之外的其他内存中加载所述启动程序;
41.异常内存确定单元,用于在所述服务器成功启动时将所述可疑存储单元中被禁用的内存作为所述异常内存;
42.异常内存禁用启动单元,用于控制所述服务器利用所述内存交叉存取技术从所述异常内存之外的其他内存中加载所述启动程序。
43.另一方面,还包括:
44.第二内存参数获取单元,用于在服务器开始启动并对所述服务器使用的各个内存完成初始化后之后,获取各个所述内存完成初始化所需的初始化时间以及各个所述内存的实际安装位置;
45.异常内存对比单元,用于在将所述可疑存储单元中被禁用的内存作为所述异常内存之前,判断所述可疑存储单元中被禁用的内存的实际安装位置与所述初始化时间最长的内存的实际安装位置是否一致;若是,则触发所述异常内存确定单元。
46.为解决上述技术问题本技术还提供了一种服务器启动控制装置,包括:
47.存储器,用于存储计算机程序;
48.处理器,用于执行所述计算机程序时实现上述任一服务器启动控制方法的步骤。
49.为解决上述技术问题本技术还提供了一种服务器,包括上述服务器启动控制装置。
50.为解决上述技术问题本技术还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一服务器启动控制方法的步骤。
51.综上,本发明公开了一种服务器启动控制方法、系统、装置、服务器及存储介质,在服务器对各个内存完成初始化操作之后首先利用内存交叉存取技术从各个内存中加载启动程序,并对服务器是否成功开机进行检测,当确定服务器利用内存交叉存取技术开机失败时立即控制服务器使用非内存交叉存取技术从内存中加载启动程序,优先保证服务器能够正常开机。在服务器利用非内存交叉存取技术仍无法成功开机时,确定服务器中的异常
内存,并控制服务器再次利用内存交叉存取技术从除异常内存之外的其他内存中的加载启动程序,以完成服务器开机启动,在保证服务器能够正常开机的基础上提高存储性能。
附图说明
52.为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
53.图1为本发明提供的一种服务器启动控制方法的流程图;
54.图2为本发明提供的一种服务器启动控制系统的结构示意图;
55.图3为本发明提供的一种服务器启动控制装置的结构示意图;
56.图4为本发明提供的一种存储介质的结构示意图。
具体实施方式
57.本发明的核心是提供一种服务器启动控制方法、系统、装置、服务器及存储介质,保证服务器能够正常开机的基础上利用交叉存取技术提高存储性能。
58.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
59.请参照图1,图1为本发明提供的一种服务器启动控制方法的流程图,该服务器启动控制方法包括:
60.s1:在服务器开始启动并对服务器使用的各个内存完成初始化后,控制服务器利用内存交叉存取技术从各个内存中加载启动程序,以便服务器开机启动;
61.s2:在确定服务器利用内存交叉存取技术开机失败时,控制服务器利用非内存交叉存取技术重新从各个内存中加载启动程序;
62.s3:在确定服务器利用非内存交叉存取技术开机失败时,确定服务器使用的各个内存中的异常内存,并控制服务器利用内存交叉存取技术从异常内存之外的其他内存中加载启动程序,以便重新完成服务器的开机启动。
63.内存作为服务器完成信息存储功能的基础配件之一,对于内存存储的分配使用操作十分重要,尤其是对于开发者而言为了使内存使用率达到最优值,通常会在服务器中设置多个内存,并利用内存交叉存取技术从这些内存中读取所需数据以便服务器完成相应功能。内存交叉存取技术是加快内存速度的一种手段,通常将存储体的奇数地址和偶数地址分开,这样当前一部分的字节被刷新时可以不影响后一部分字节的访问。虽然相关技术使用内存交叉存取技术能够改善服务器的存储性能,但是在实际使用过程中由于服务器内的这些内存分布在不同的插槽,基于内存交叉存取技术使用这些内存时容易出现异常,比如会出现一些真空地带也即会查找不到某些内存,从而导致服务器无法开机,给客户带来不可挽回的损失。在服务器启动过程中如果选择禁用内存交叉存取技术(也即memory interleaving),虽然可以将服务器启动,但是内存的使用性能会大大降低,因此目前需要
解决的问题是如何既保证服务器的存储性能,又保证服务器能够正常开机启动。
64.需要说明的是,本技术提供的服务器启动控制方法的执行主体为服务器中运行有bios(basic input output system,基本输入输出系统)固件的处理器,bios为服务器提供最低级,最直接的硬件控制。利用服务器固件bios确保服务器在不同的内存使用方式下均能够高效稳定运行,使用户获得更加优质的使用体验。
65.具体的,在本技术中当服务器开始启动并完成对服务器中的各个内存的初始化操作之后,先控制服务器利用内存交叉存取技术从这些初始化完成的内存中读取加载启动程序,所谓启动程序是指服务器开机所需要调用的程序,以便服务器开机启动。若服务器此时能够利用内存交叉存取技术正常开机启动,则既保证了服务器的存储性能,又保证了服务器能够正常开机运行。
66.但是实际使用过程中可能会出现服务器无法利用内存交叉存取技术开机的问题,此时服务器处于停滞状态,因此需要bios主动控制服务器以另一种方式重新启动,在本技术中当通过bios检测到服务器利用内存交叉存取技术开机失败后,控制服务器利用非内存交叉存取技术重新从各个初始化完成的内存中加载启动程序,优先保证服务器能够在一定时间内正常开机启动。内存交叉存取技术一般是将存储体的奇数地址和偶数地址分开存储和访问,非内存交叉存取技术就是将存储体本身作为一个完整体进行数据存储和访问。此外,服务器开机失败包括服务器开机时间过程,或者说服务器在预设时间段内始终未开机,具体判断方式可根据实际情况进行调整。
67.若bios检测到服务器利用非内存交叉存取技术依然开机失败,则证明可能是服务器中的内存出现异常,因此需要排查出服务器中出现异常的异常内存,并将异常内存禁用,从服务器中除异常内存之外的其他内存中加载启动程序,再次尝试重新启动服务器。由于已经将异常内存禁用,只从服务器中除异常内存之外的其他内从中加载启动程序,因此目前各个内存的可靠性比较高,可以再次使用内存交叉存取技术从这些内存中加载启动程序,既能够保证服务器的开机速度及存储性能,又能够保证服务器安全稳定的开机启动。
68.综上,本发明提供了一种服务器启动方法,在服务器对各个内存完成初始化操作之后首先利用内存交叉存取技术从各个内存中加载启动程序,并对服务器是否成功开机进行检测,当确定服务器利用内存交叉存取技术开机失败时立即控制服务器使用非内存交叉存取技术从内存中加载启动程序,优先保证服务器能够正常开机。在服务器利用非内存交叉存取技术仍无法成功开机时,确定服务器中的异常内存,并控制服务器再次利用内存交叉存取技术从除异常内存之外的其他内存中的加载启动程序,以完成服务器开机启动,在保证服务器能够正常开机的基础上提高存储性能。
69.在上述实施例的基础上:
70.在一些实施例中,确定服务器利用内存交叉存取技术开机失败,包括:
71.在服务器开始利用内存交叉存取技术从各个内存中加载启动程序并经过预设启动时长之后,若服务器仍未完成开机启动则确定服务器利用内存交叉存取技术开机失败。
72.服务器开机失败通常指服务器在指定时长内未启动,服务器启动的时间比较长也可视为服务器在指定时长内未启动,因此在本实施例中确定服务器利用内存交叉存取技术开机失败具体是指:服务器在预设启动时长内未完成开机启动,预设启动时长从服务器开始利用内存交叉存取技术从各个内存中加载启动程序时开机计算。本实施例对预设启动时
长的具体取值不作特别限定,可根据服务器的实际情况进行调整。
73.同理,也可利用上述方式判断服务器利用非内存交叉存取技术开机,具体的,在服务器开始利用费内存交叉存取技术从各个内存中加载启动程序并经过预设启动时长之后,若服务器仍未完成开机启动则确定服务器利用非内存交叉存取技术开机失败。
74.在一些实施例中,在服务器开始启动并对服务器使用的各个内存完成初始化之后,还包括:
75.获取各个内存的实际安装位置以及服务器使用的实际内存数量;
76.在实际安装位置与常规内存设置中的安装位置不同时将与常规内存设置中的安装位置不同的内存的缓存清除,和/或,在实际内存数量与常规内存设置中的内存数量不同时将服务器中多余的内存的缓存清除。
77.为了进一步确保服务器能够利用内存交叉存取技术成功开机启动,在本实施例中,当服务器完成对内存的初始化之后bios还获取了这些内存的实际安装位置和服务器使用的实际内存数量。通常情况下,用户会记载一些服务器使用的常规内存设置,常规内存设置中记录有服务器使用的内存数量以及各个内存的安装位置(例如安装在哪个插槽内),当服务器的内存按照常规内存设置进行设置时通常服务器不会启动失败。
78.因此,在本实施例中通过对比内存的实际安装位置与常规内存设置中记录的安装位置是否相同,以及对比服务器使用的实际内存数量与常规内存设置中的内存数量是否相同,初步判断内存是否可能为异常内存。当时上述对比结果中的一个或两个为不相同时,将对应的内存中的缓存清除,避免后续服务器利用内存交叉存取技术或非内存交叉存取技术从这些内存中加载启动程序时出现异常,进一步确保服务器能够正常开机启动。
79.在一些实施例中,在确定服务器使用的各个内存中的异常内存之后,还包括:
80.将异常内存和服务器中除异常内存之外的其他内存分别作为两个分段存储单元,以便服务器利用分段存储技术分别使用两个分段存储单元。
81.本技术中确定的异常内存是指无法使服务器正常加载启动程序并完成开机启动的内存,并不是指该内存的基础读写功能出现异常,因此为了提高服务器中各个内存的使用率,在本实施例中将异常内存和服务器中除异常内存之外的其他内存分别作为两个分段存储单元,这两个分段存储单元互不影响,服务器可以使用内存交叉存取技术或非内存交叉存取技术分别从这两个分段存储单元中读取数据等。
82.若服务器后续无法利用异常内存完成读写操作等则可以将该异常内存禁用,并记录该异常内存的安装位置等相关参数,以便用户及时处理维护。
83.在一些实施例中,确定服务器使用的各个内存中的异常内存,包括:
84.将服务器中的各个内存按照预设划分规则划分为多个分段存储单元;
85.控制服务器利用非内存交叉存取技术分别从各个分段存储单元中加载启动程序,并分别判断服务器能否成功启动;
86.若否,则将无法使服务器成功启动的分段存储单元作为可疑存储单元;
87.按照预设禁用顺序依次禁用可疑存储单元中的各个内存,并控制服务器利用非内存交叉存取技术从可疑存储单元中除被禁用的内存之外的其他内存中加载启动程序;
88.若服务器成功启动则将可疑存储单元中被禁用的内存作为异常内存。
89.在本实施例中确定服务器使用的各个内存中的异常内存是通过分段判断实现的,
首先将服务器的所有内存按照预设划分规则划分为多个分段存储单元,以缩小确定异常内存的范围,然后分别利用非内存交叉存取技术从各个分段存储单元中加载启动程序以确定服务器能否利用该分段存储单元正常启动。需要说明的是,本实施例对预设划分规则不作特别限定,例如按照个数对服务器中的所有内存进行划分。此外,利用分内存交叉存取技术从分段存储单元中加载启动程序是考虑到非内存交叉存取技术的可靠性更强一些,能够保证对异常内存确定结果的准确性。
90.若服务器能够基于分段存储单元正常启动则证明该分段存储单元中不存在异常内存。若服务器无法基于该分段存储单元开机启动则证明该分段存储单元中存在异常内存,将该分段存储单元作为可疑存储单元,需要按照预设禁用顺序依次禁用可疑存储单元中的各个内存。若可疑存储单元中的某个内存被禁用后服务器便可利用可疑存储单元正常开机启动,则证明被禁用的内存为异常内存。
91.综上,在本实施例中将服务器中的内存划分成不同的分段存储单元,然后再分别从这些分段存储单元中定位异常内存,能够降低查找异常内存的难度,提高查找效率。
92.在一些实施例中,在服务器开始启动并对服务器使用的各个内存完成初始化后之后,还包括:
93.获取各个内存完成初始化所需的初始化时间以及各个内存的实际安装位置;
94.在将可疑存储单元中被禁用的内存作为异常内存之前,还包括:
95.判断可疑存储单元中被禁用的内存的实际安装位置与初始化时间最长的内存的实际安装位置是否一致;
96.若是,则进入将可疑存储单元中被禁用的内存作为异常内存的步骤。
97.考虑到初始化时间过长的内存可能为异常内存,因此在本实施例中在服务器对各个内存完成初始化之后还获取各个内存完成初始化需要的时间,将服务器内各个内存的初始化时间进行横向比对,认为初始化时间最长的内存可能为异常内存。为了进一步确保异常内存判断的准确性,将初始化时间最长的内存的实际安装位置和之前被确定为异常内存的实际内存安装位置进行比对,若二者位置一致则确定该内存确实为异常内存。
98.当然,在可疑存储单元中被禁用的内存的实际安装位置与初始化时间最长的内存的安装位置不一致的情况下,若为了最大程度确保服务器正常开机,用户依然可以将可疑存储单元中被禁用的内存作为异常内存。具体设置可根据实际需求而调整。
99.请参照图2,图2为本发明提供的一种服务器启动控制系统的结构示意图,该服务器启动控制系统包括:
100.第一启动单元11,用于在服务器开始启动并对服务器使用的各个内存完成初始化后,控制服务器利用内存交叉存取技术从各个内存中加载启动程序,以便服务器开机启动;
101.第二启动单元12,用于在确定服务器利用内存交叉存取技术开机失败时,控制服务器利用非内存交叉存取技术重新从各个内存中加载启动程序;
102.第三启动单元13,用于在确定服务器利用非内存交叉存取技术开机失败时,确定服务器使用的各个内存中的异常内存,并控制服务器利用内存交叉存取技术从异常内存之外的其他内存中加载启动程序,以便重新完成服务器的开机启动。
103.本发明提供了一种服务器启动系统,该系统包括第一启动单元11、第二启动单元12和第三启动单元13。首先第一启动单元11在服务器对各个内存完成初始化操作之后首先
利用内存交叉存取技术从各个内存中加载启动程序,并对服务器是否成功开机进行检测;当第二启动单元12确定服务器利用内存交叉存取技术开机失败时立即控制服务器使用非内存交叉存取技术从内存中加载启动程序,优先保证服务器能够正常开机。当第三启动单元13检测到服务器利用非内存交叉存取技术仍无法成功开机时,确定服务器中的异常内存,并控制服务器再次利用内存交叉存取技术从除异常内存之外的其他内存中的加载启动程序,以完成服务器开机启动,在保证服务器能够正常开机的基础上提高存储性能。
104.在上述实施例的基础上:
105.在一些实施例中,第二启动单元12具体用于在服务器开始利用内存交叉存取技术从各个内存中加载启动程序并经过预设启动时长之后,若服务器仍未完成开机启动则确定服务器利用内存交叉存取技术开机失败,并控制服务器利用非内存交叉存取技术重新从各个内存中加载启动程序。
106.在一些实施例中,还包括:
107.第一内存参数获取单元,用于在服务器开始启动并对服务器使用的各个内存完成初始化之后,获取各个内存的实际安装位置以及服务器使用的实际内存数量;
108.缓存清除单元,用于在实际安装位置与常规内存设置中的安装位置不同时将与常规内存设置中的安装位置不同的内存的缓存清除,和/或,在实际内存数量与常规内存设置中的内存数量不同时将服务器中多余的内存的缓存清除。
109.在一些实施例中,还包括:
110.分段存储控制单元,用于在确定服务器使用的各个内存中的异常内存之后,将异常内存和服务器中除异常内存之外的其他内存分别作为两个分段存储单元,以便服务器利用分段存储技术分别使用两个分段存储单元。
111.在一些实施例中,第三启动单元13包括:
112.分段存储单元划分单元,用于在确定服务器利用非内存交叉存取技术开机失败时,将服务器中的各个内存按照预设划分规则划分为多个分段存储单元;
113.分段启动单元,用于控制服务器利用非内存交叉存取技术分别从各个分段存储单元中加载启动程序,并分别判断服务器能否成功启动;若否,则触发可疑判定单元;
114.可疑判定单元用于将无法使服务器成功启动的分段存储单元作为可疑存储单元;
115.异常内存排查单元,用于按照预设禁用顺序依次禁用可疑存储单元中的各个内存,并控制服务器利用非内存交叉存取技术从可疑存储单元中除被禁用的内存之外的其他内存中加载启动程序;
116.异常内存确定单元,用于在服务器成功启动时将可疑存储单元中被禁用的内存作为异常内存;
117.异常内存禁用启动单元,用于控制服务器利用内存交叉存取技术从异常内存之外的其他内存中加载启动程序。
118.在一些实施例中,还包括:
119.第二内存参数获取单元,用于在服务器开始启动并对服务器使用的各个内存完成初始化后之后,获取各个内存完成初始化所需的初始化时间以及各个内存的实际安装位置;
120.异常内存对比单元,用于在将可疑存储单元中被禁用的内存作为异常内存之前,
判断可疑存储单元中被禁用的内存的实际安装位置与初始化时间最长的内存的实际安装位置是否一致;若是,则触发异常内存确定单元。
121.请参照图3,图3为本发明提供的一种服务器启动控制装置的结构示意图,该服务器启动控制装置包括:
122.存储器21,用于存储计算机程序;
123.处理器22,用于执行计算机程序时实现上述任一服务器启动控制方法的步骤。
124.其中,处理器22可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器22可以采用dsp(digital signal processor,数字信号处理器)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器22也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
125.存储器21可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器21还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器21至少用于存储以下计算机程序,其中,该计算机程序被处理器22加载并执行之后,能够实现前述任意一个实施例公开的服务器启动控制方法的相关步骤。另外,存储器21所存储的资源还可以包括操作系统和数据等,存储方式可以是短暂存储或者永久存储。其中,操作系统可以包括windows、unix、linux等。数据可以包括但不限于服务器启动控制方法的数据等。
126.为解决上述技术问题本技术还提供了一种服务器,包括上述服务器启动控制装置。
127.对于本技术提供的服务器的详细介绍请参照上述服务器启动控制方法的实施例,本技术在此不做赘述。
128.本技术对服务器的类型不作特别限定,例如可以为amd(advanced micro devices,超威半导体)服务器等。
129.请参照图4,图4为本发明提供的一种存储介质的结构示意图,该存储介质31上存储有计算机程序,计算机程序被处理器执行时实现上述任一服务器启动控制方法的步骤。
130.可以理解的是,如果上述实施例中的服务器启动控制方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本技术各个实施例所述方法的全部或部分步骤。具体地,可读存储介质31可以包括但不限于任何类型的盘,包括软盘、光盘及移动硬盘等,或适合于存储指令、数据的任何类型的媒介或设备等等,本技术在此不做特别的限定。
131.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
132.还需要说明的是,在本说明书中术语“包括”、“包含”或者其任何其他变体意在涵
盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种服务器启动控制方法,其特征在于,包括:在服务器开始启动并对所述服务器使用的各个内存完成初始化后,控制所述服务器利用内存交叉存取技术从各个所述内存中加载启动程序,以便所述服务器开机启动;在确定所述服务器利用所述内存交叉存取技术开机失败时,控制所述服务器利用非内存交叉存取技术重新从各个所述内存中加载所述启动程序;在确定所述服务器利用所述非内存交叉存取技术开机失败时,确定所述服务器使用的各个内存中的异常内存,并控制所述服务器利用所述内存交叉存取技术从所述异常内存之外的其他内存中加载所述启动程序,以便重新完成所述服务器的开机启动。2.如权利要求1所述的服务器启动控制方法,其特征在于,确定所述服务器利用所述内存交叉存取技术开机失败,包括:在所述服务器开始利用所述内存交叉存取技术从各个所述内存中加载所述启动程序并经过预设启动时长之后,若所述服务器仍未完成开机启动则确定所述服务器利用所述内存交叉存取技术开机失败。3.如权利要求1所述的服务器启动控制方法,其特征在于,在服务器开始启动并对所述服务器使用的各个内存完成初始化之后,还包括:获取各个所述内存的实际安装位置以及所述服务器使用的实际内存数量;在所述实际安装位置与常规内存设置中的安装位置不同时将与所述常规内存设置中的安装位置不同的内存的缓存清除,和/或,在所述实际内存数量与所述常规内存设置中的内存数量不同时将所述服务器中多余的内存的缓存清除。4.如权利要求1所述的服务器启动控制方法,其特征在于,在确定所述服务器使用的各个内存中的异常内存之后,还包括:将所述异常内存和所述服务器中除所述异常内存之外的其他内存分别作为两个分段存储单元,以便所述服务器利用分段存储技术分别使用两个所述分段存储单元。5.如权利要求1至4任一项所述的服务器启动控制方法,其特征在于,确定所述服务器使用的各个内存中的异常内存,包括:将所述服务器中的各个内存按照预设划分规则划分为多个分段存储单元;控制所述服务器利用所述非内存交叉存取技术分别从各个所述分段存储单元中加载所述启动程序,并分别判断所述服务器能否成功启动;若否,则将无法使所述服务器成功启动的分段存储单元作为可疑存储单元;按照预设禁用顺序依次禁用所述可疑存储单元中的各个内存,并控制服务器利用所述非内存交叉存取技术从所述可疑存储单元中除被禁用的内存之外的其他内存中加载所述启动程序;若所述服务器成功启动则将所述可疑存储单元中被禁用的内存作为所述异常内存。6.如权利要求5所述的服务器启动控制方法,其特征在于,在服务器开始启动并对所述服务器使用的各个内存完成初始化后之后,还包括:获取各个所述内存完成初始化所需的初始化时间以及各个所述内存的实际安装位置;在将所述可疑存储单元中被禁用的内存作为所述异常内存之前,还包括:判断所述可疑存储单元中被禁用的内存的实际安装位置与所述初始化时间最长的内存的实际安装位置是否一致;
若是,则进入将所述可疑存储单元中被禁用的内存作为所述异常内存的步骤。7.一种服务器启动控制系统,其特征在于,包括:第一启动单元,用于在服务器开始启动并对所述服务器使用的各个内存完成初始化后,控制所述服务器利用内存交叉存取技术从各个所述内存中加载启动程序,以便所述服务器开机启动;第二启动单元,用于在确定所述服务器利用所述内存交叉存取技术开机失败时,控制所述服务器利用非内存交叉存取技术重新从各个所述内存中加载所述启动程序;第三启动单元,用于在确定所述服务器利用所述非内存交叉存取技术开机失败时,确定所述服务器使用的各个内存中的异常内存,并控制所述服务器利用所述内存交叉存取技术从所述异常内存之外的其他内存中加载所述启动程序,以便重新完成所述服务器的开机启动。8.一种服务器启动控制装置,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述服务器启动控制方法的步骤。9.一种服务器,其特征在于,包括如权利要求8所述的服务器启动控制装置。10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述服务器启动控制方法的步骤。
技术总结
本发明公开了一种服务器启动方法、系统、装置、服务器及存储介质,涉及服务器领域,在服务器对各个内存完成初始化操作之后首先利用内存交叉存取技术从各个内存中加载启动程序,并对服务器是否成功开机进行检测,当确定服务器利用内存交叉存取技术开机失败时立即控制服务器使用非内存交叉存取技术从内存中加载启动程序,优先保证服务器能够正常开机。在服务器利用非内存交叉存取技术仍无法成功开机时,确定服务器中的异常内存,并控制服务器再次利用内存交叉存取技术从除异常内存之外的其他内存中的加载启动程序,以完成服务器开机启动,在保证服务器能够正常开机的基础上提高存储性能。存储性能。存储性能。
技术研发人员:张国奇
受保护的技术使用者:浪潮(山东)计算机科技有限公司
技术研发日:2023.05.19
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:指标数据分析方法和装置与流程 下一篇:一种智能家居用的自动开窗装置