一种arm服务器及其启动方法、装置和可读存储介质
技术领域
1.本发明涉及计算机技术领域,特别涉及一种arm服务器的启动方法、装置、arm服务器及计算机可读存储介质。
背景技术:
2.随着数字科技的发展越来越多的终端客户都选择将各自的业务进行云上部署。与此同时,移动手机端的云游戏或者云手机亦或是游戏等软件应用均使用的是数据中心的物理服务器,但是在众多架构的服务器产品中arm(advanced risc machines,进阶精简指令集机器)架构服务器性价比显得格外突出,同时手机芯片也是arm架构,这样便更加有利于手机端的应用直接部署在arm架构服务器的数据中心中。
3.但是,对于某些软件应用来讲需要时刻关注系统
时间或者是系统时间差以便于计算耗时时间,而arm架构的系统中读取rtc(
实时时钟)时间的i2c总线与bmc(baseboard management controller,基板管理控制器)的读取rtc时间的i2c总线一致,但读取rtc时间的频率却不一致,这就使得i2c总线会以2种不同时间频率去读取rtc时间,这就使得某些软件频繁的调用读取时间的函数时,容易导致i2c总线的时钟频率混乱的情况发生,从而导致arm架构系统下出现软锁问题;当出现软锁后系统一直卡在读取系统时间的等待期间,导致其他的系统进程及应用无法使用,出现了所谓的宕机现象,这种情况的出现将导致终端客户无法继续游戏或者业务暂停造成巨大的经济损失。
4.因此,如何能够减少arm服务器因i2c总线的时钟频率混乱而导致的软锁宕机情况,提升arm服务器的适用场景,是现今急需解决的问题。
技术实现要素:
5.本发明的目的是提供一种arm服务器的启动方法、装置、arm服务器及计算机可读存储介质,以减少arm服务器因i2c总线的时钟频率混乱而导致的软锁宕机情况,提升arm服务器的适用场景。
6.为解决上述技术问题,本发明提供一种arm服务器的启动方法,包括:在bios启动后,利用
所述bios将i2c总线的时钟频率设置为预设时钟频率;其中,所述预设时钟频率为基板管理控制器通过所述i2c总线读取实时时钟时间的时钟频率;利用所述bios初始化所述i2c总线,并启动进入操作系统;利用所述bios通过所述i2c总线读取所述实时时钟时间,并判断所述bios是否成功读取所述实时时钟时间;若是,则在所述操作系统下显示所述实时时钟时间对应的系统时间。
7.可选的,所述利用所述bios初始化所述i2c总线之前,还包括:利用所述bios将所述i2c总线上的读写命令的时间延时设置为预设延时时间;其中,所述预设延时时间小于1.5s。
8.可选的,所述预设延时时间为50ms。
9.可选的,所述利用所述bios通过所述i2c总线读取所述实时时钟时间,包括:利用所述bios以单字节方式读取所述实时时钟时间。
10.可选的,所述判断所述bios是否成功读取所述实时时钟时间之后,还包括:若所述bios未成功读取所述实时时钟时间,则重启所述操作系统。
11.可选的,所述利用所述bios通过所述i2c总线读取所述实时时钟时间,包括:利用所述bios按预设时钟频率通过所述i2c总线读取所述实时时钟时间。
12.可选的,所述在所述操作系统下显示所述实时时钟时间对应的系统时间,包括:在所述操作系统下显示所述实时时钟时间。
13.可选的,所述判断所述bios是否成功读取所述实时时钟时间,包括:判断所述bios读取的所述实时时钟时间对应的时间数据是否为预设时间;若不为所述预设时间,则确定所述bios成功读取所述实时时钟时间,并执行所述在所述操作系统下显示所述实时时钟时间对应的系统时间的步骤。
14.可选的,所述利用所述bios初始化所述i2c总线之前,还包括:利用所述bios将所述i2c总线读取实时时钟时间失败时的默认时间设置为所述预设时间。
15.可选的,所述判断所述bios读取的所述实时时钟时间对应的时间数据是否为预设时间之后,还包括:若不为所述预设时间,则确定所述bios未成功读取所述实时时钟时间,并在所述操作系统下显示所述预设时间。
16.可选的,所述预设时间的年数为0。
17.可选的,所述预设时间为0年0月0日0时0分0秒。
18.本发明还提供了一种arm服务器的启动装置,包括:配置模块,用于在bios启动后,利用所述bios将i2c总线的时钟频率设置为预设时钟频率;其中,所述预设时钟频率为基板管理控制器通过所述i2c总线读取实时时钟时间的时钟频率;初始化模块,用于利用所述bios初始化所述i2c总线,并启动进入操作系统;判断模块,用于利用所述bios通过所述i2c总线读取所述实时时钟时间,并判断所述bios是否成功读取所述实时时钟时间;显示模块,用于若所述bios成功读取所述实时时钟时间,则在所述操作系统下显示所述实时时钟时间对应的系统时间。本发明还提供了一种arm服务器,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述所述的arm服务器的启动方法的步骤。
19.此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的arm服务器的启动方法的步骤。
20.本发明所提供的一种arm服务器的启动方法,包括:在bios启动后,利用bios将i2c总线的时钟频率设置为预设时钟频率;其中,预设时钟频率为基板管理控制器通过i2c总线读取实时时钟时间的时钟频率;利用bios初始化i2c总线,并启动进入操作系统;利用bios
通过i2c总线读取实时时钟时间,并判断bios是否成功读取实时时钟时间;若是,则在操作系统下显示实时时钟时间对应的系统时间;可见,本发明通过利用bios将i2c总线的时钟频率设置为预设时钟频率,使bios和基板管理控制器通过i2c总线读取实时时钟时间的频率相同,避免i2c总线以2种不同的时间频率去读取实时时钟时间易导致i2c时钟频率混乱的情况,从而减少arm服务器因系统下业务频繁调用系统时间而出现的软锁宕机情况,提升arm服务器的适用场景;并且通过判断bios是否成功读取实时时钟时间,可以便捷地确定是否发生了读取时间软锁宕机的情况,以保证arm服务器的正常启动运行。此外,本发明还提供了一种arm服务器的启动装置、arm服务器及计算机可读存储介质,同样具有上述有益效果。
附图说明
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
22.图1为本发明实施例所提供的一种arm服务器的启动方法的流程图;图2为本发明实施例所提供的另一种arm服务器的启动方法的流程示意图;图3为本发明实施例所提供的另一种arm服务器的启动方法的流程图;图4为本发明实施例所提供的一种arm服务器的启动装置的结构框图;图5为本发明实施例所提供的一种arm服务器的结构示意图;图6为本发明实施例所提供的一种arm服务器的具体结构示意图。
具体实施方式
23.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.请参考图1,图1为本发明实施例所提供的一种arm服务器的启动方法的流程图。该方法可以包括:步骤101:在bios启动后,利用bios将i2c总线的时钟频率设置为预设时钟频率。
25.其中,预设时钟频率为基板管理控制器通过i2c总线读取实时时钟时间的时钟频率。
26.具体的,本实施例所提供的arm服务器的启动方法可以应用于arm服务器,即arm架构的服务器;也就是说,arm服务器的处理器(如arm处理器)可以执行本实施例所提供的方法中的步骤,完成arm服务器的启动。
27.可以理解的是,本步骤中i2c(inter-integrated circuit,集成电路总线)总线的时钟频率可以为bios(basic input output system,基本输入输出系统)利用i2c总线读取rtc(实时时钟)时间的频率。由于现有技术中arm架构读取rtc(实时时钟)时间的i2c总线与bmc的读取rtc时间的i2c总线一致,但i2c总线的时钟频率设置却不相同,即bios利用i2c
总线读取rtc时间与bmc利用i2c总线读取rtc时间的频率不一致,如bios利用i2c总线读取rtc时间的频率为400khz而bmc利用i2c总线读取rtc时间的频率为100khz,这就使得i2c总线会以2种不同时间频率去读取rtc时间,容易导致i2c总线的时钟频率混乱,从而导致系统软锁宕机的情况发生。本实施例中可以利用bios将i2c总线的时钟频率设置为与基板管理控制器通过i2c总线读取实时时钟时间的时钟频率相同的预设时钟频率,可以使bios和基板管理控制器通过i2c总线读取实时时钟时间的频率相同,保证i2c总线下的设备对i2c总线读取rtc时间的频率相同。
28.对应的,对于本实施例中的预设时钟频率的具体数值设置,可以由设计人员根据实用场景和用户需求自行设置,如图2所示,bmc(基板管理控制器)设置的i2c总线的时钟频率为100khz时,预设时钟频率可以为100khz,即本步骤中可以利用bios将i2c总线的时钟频率设置为100khz,使bios设置的i2c总线的时钟频率与bmc设置的i2c总线的时钟频率一致。
29.具体的,本实施例中的i2c总线可以与rtc(实时时钟)单元物理连接,使得bios和基板管理控制器能够利用i2c总线从rtc单元读取rtc时间对应的时间数据,得到rtc时间。
30.进一步的,由于在操作系统运行阶段读取通过i2c总线协议读取rtc时间时等待时间过长,不利于读取rtc时间的准确性和精度。在一些实施例中可以在利用bios初始化i2c总线之前,利用启动的bios,将i2c总线上的读写命令的时间延时设置为预设延时时间;其中,预设延时时间小于1.5s。也就是说,bios可以将i2c总线上读取i2c数据的读写命令的时间延时间隔由默认的1.5s改为更小的时间(即预设延时时间),如图2中的50ms,以缩短bios通过i2c总线读取实时时钟时间时的等待时间。
31.进一步的,由于利用硬件示波器抓取读取的实时时钟时间的i2c数据波形时发现i2c总线的数据信号线存在毛刺现象,会导致获取的时间数据不准确容易出现时间混乱的现象,即当恢复默认时间时难以准确判断是人为设置的系统时间的还是系统恢复默认时间了。本实施例中可以在利用bios初始化i2c总线之前,利用启动的bios,将i2c总线读取实时时钟时间失败时的默认时间设置为预设时间;其中,预设时间的年数可以0;如图2所示,bios可以将读取rtc时间失败时的默认时间由2022年1月1日0时0分0秒修改为0年0月0日0时0分0秒(即预设时间),以便于在操作系统下确定bios是否成功读取实时时钟时间。相应的,在利用bios启动进入操作系统后,可以利用bios以单字节方式读取实时时钟时间,即由现有的多字节方式改为单字节方式去读取实时时钟时间的秒、分、时、日、月和年等时间数据,以减少毛刺现象的发生。
32.步骤102:利用bios初始化i2c总线,并启动进入操作系统。
33.可以理解的是,本步骤中arm服务器可以在利用bios调整完i2c总线协议的相应参数(如上述时钟频率)后,利用bios初始化i2c总线协议,并正常启动进入操作系统,以继续完成arm服务器的启动。
34.步骤103:利用bios通过i2c总线读取实时时钟时间,并判断bios是否成功读取实时时钟时间;若是,则进入步骤104。
35.可以理解的是,本步骤中arm服务器可以在操作系统下利用bios通过i2c总线读取实时时钟时间,如按预设时钟频率通过i2c总线读取实时时钟时间,并通过判断bios是否成功读取实时时钟时间,确定是否发生了读取时间软锁宕机的情况,以保证arm服务器的正常启动运行。
36.对应的,在确定bios成功读取实时时钟时间,即未发生读取时间软锁宕机的情况时,可以进入步骤104,使arm服务器能够继续正常运行并在操作系统下显示实时时钟时间对应的系统时间。在确定bios未成功读取实时时钟时间,即发生了读取时间软锁宕机的情况时,如图2所示,arm服务器可以在操作系统下显示实时时钟时间读取失败时的默认时间(0年0月0日0时0分0秒),以提示发生读取时间软锁宕机的情况;arm服务器也可以自行重启arm服务器或重启操作系统,以实现软锁宕机情况发生时的自动系统重启。
37.具体的,对于本步骤中判断bios是否成功读取实时时钟时间的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如判断bios读取的实时时钟时间对应的时间数据是否为预设时间(即实时时钟时间读取失败时的默认时间);若不为预设时间,则确定bios成功读取实时时钟时间,并进入步骤104;若为预设时间,则确定bios未成功读取实时时钟时间,可以在操作系统下显示预设时间或与预设时间不同的预设告警时间。如图2所示,本步骤中操作系统下应用程序通过调用读取系统时间的函数调用bios的运行阶段代码,bios运行阶段代码通过由多字节改为单字节方式去读取当前rtc下的rtc时间的秒、分、时、日、月、年等时间数据并判断是否利用当前获取的rtc时间与0年0月0日0时0分0秒一致;若一致,则可以在操作系统下显示实时时钟时间对应的系统时间(即当前时间);若不一致,则可以在操作系统下显示0年0月0日0时0分0秒(即预设时间)。
38.步骤104:在操作系统下显示实时时钟时间对应的系统时间。
39.可以理解的是,本步骤中arm服务器可以在确定bios当前成功读取实时时钟时间时,在操作系统下显示当前的实时时钟时间对应的系统时间,以更新系统时间。
40.具体的,对于本步骤中的系统时间的具体时间设置,可以由设计人员根据实用场景和用户需求自行设置,如系统时间与实时时钟时间相同,即arm服务器可以将bios当前成功读取的实时时钟时间作为操作系统下的系统时间,在操作系统下进行显示;系统时间与实时时钟时间也可以不同,即arm服务器可以利用bios当前成功读取实时时钟时间,得到操作系统下的显示的系统时间,本实施例对此不做任何限制。
41.本实施例中,本发明实施例通过利用bios将i2c总线的时钟频率设置为预设时钟频率,使bios和基板管理控制器通过i2c总线读取实时时钟时间的频率相同,避免i2c总线以2种不同的时间频率去读取实时时钟时间易导致i2c时钟频率混乱的情况,从而减少arm服务器因系统下业务频繁调用系统时间而出现的软锁宕机情况,提升arm服务器的适用场景;并且通过判断bios是否成功读取实时时钟时间,可以便捷地确定是否发生了读取时间软锁宕机的情况,以保证arm服务器的正常启动运行。
42.基于上述实施例,本发明实施例还提供了另一种arm服务器的启动方法,以进一步提升bios获取的实时时钟时间的准确性,减少arm服务器的软锁宕机情况。
43.具体的,请参考图3,图3为本发明实施例所提供的另一种arm服务器的启动方法的流程图。该方法可以包括:步骤201:在bios启动后,利用bios将i2c总线的时钟频率设置为预设时钟频率。
44.其中,预设时钟频率为基板管理控制器通过i2c总线读取实时时钟时间的时钟频率。
45.具体的,对于本实施例中的预设时钟频率的具体数值设置,可以由设计人员根据实用场景和用户需求自行设置,如图2所示,bmc(基板管理控制器)设置的i2c总线的时钟频
率为100khz时,预设时钟频率可以为100khz,即本步骤中可以利用bios将i2c总线的时钟频率设置为100khz,使bios设置的i2c总线的时钟频率与bmc设置的i2c总线的时钟频率一致,避免i2c总线以2种不同时间频率去读取rtc时间的情况,防止i2c总线的时钟频率混乱的情况发生。只要保证本实施例中的预设时钟频率与基板管理控制器通过i2c总线读取实时时钟时间的时钟频率相同,本实施例对此不做任何限制。
46.步骤202:利用bios将i2c总线上的读写命令的时间延时设置为预设延时时间。
47.其中,预设延时时间小于1.5s。
48.可以理解的是,本步骤中bios可以将i2c总线上的读写命令的时间延时调整为小于1.5s的时间值,以缩短i2c总线读取时间数据时的等待时间。对于本步骤中的预设延时时间的具体时间值设置,可以由设计人员根据实用场景和用户需求自行设置,如图2所示,预设延时时间可以为50ms,即bios可以将i2c总线上读取i2c数据的读写命令的时间延时间隔由现有默认的1.5秒改为50ms,以缩短i2c总线读取数据时的等待时间;预设延时时间也可以为100ms或小于1.5s的其他时间。只要保证预设延时时间可以小于1.5s,本实施例对此不做任何限制。
49.步骤203:利用bios将i2c总线读取实时时钟时间失败时的默认时间设置为预设时间。
50.其中,本实施例中预设时间的年数可以为0,以方便区分人为设置的系统时间和系统恢复的默认时间。
51.具体的,对于本步骤中的预设时间的具体时间点设置,可以由设计人员根据实用场景和用户需求自行设置,如预设时间包括年数、月数、日数、小时数、分钟数和秒数时,如图2所示,预设时间可以为0年0月0日0时0分0秒,即预设时间的年数、月数、日数、小时数、分钟数和秒数均为0;例如,bios可以将读取rtc时间失败时的默认时间由现有的2022年1月1日0时0分0秒修改设置为0年0月0日0时0分0秒,以便于操作系统下确认当前时间是否获取失败。
52.需要说明的是,对于biso启动后步骤201至步骤203的具体逻辑先后顺序,可以由设计人员自行设置,可以如本实施例所示依次进行步骤201、步骤202和步骤203,也可以按照其它顺序依次进行这三个步骤或三个步骤同时进行,只要保证能够在利用bios初始化i2c总线前完成这三个步骤,本实施例对此不做任何限制。
53.步骤204:利用bios初始化i2c总线,并启动进入操作系统。
54.其中,本步骤中arm服务器可以在利用bios调整完i2c总线协议的相应参数(如上述时钟频率、时间延时和默认时间)后,利用bios初始化i2c总线协议,并正常启动进入操作系统,以继续完成arm服务器的启动。
55.具体的,对于本步骤中arm服务器利用bios初始化i2c总线,并启动进入操作系统的具体方式,可以由设计人员自行设置,如采用现有技术中bios的i2c总线协议初始化方法和操作系统启动方法相同或相似的方式实现,本实施例对此不做任何限制。
56.步骤205:利用bios以单字节方式读取实时时钟时间对应的时间数据。
57.可以理解的是,本步骤中arm服务器在操作系统下可以利用bios以单字节方式读取实时时钟时间对应的时间数据;时间数据可以包括秒数、分钟数、小时数、日数、月数和年数。例如,操作系统下应用程序可以通过调用读取系统时间的函数调用bios的运行阶段代
码,bios运行阶段代码通过由多字节改为单字节方式去读取当前的rtc时间的秒、分、时、日、月、年等时间数据。
58.步骤206:判断bios读取的实时时钟时间对应的时间数据是否为预设时间;若否,则进入步骤207;若是,则进入步骤208。
59.可以理解的是,本步骤中arm服务器可以通过判断bios读取的实时时钟时间对应的时间数据是否为预设时间(即i2c总线读取实时时钟时间失败时的默认时间),确定bios是否成功读取到实时时钟时间;从而在时间数据不为预设时间时,确定bios成功读取到实时时钟时间,以在操作系统下显示相应的系统时间。
60.具体的,对于本步骤中的预设时间的具体时间点设置,可以由设计人员根据实用场景和用户需求自行设置,如预设时间包括年数、月数、日数、小时数、分钟数和秒数时,如图2所示,预设时间可以为0年0月0日0时0分0秒,即预设时间的年数、月数、日数、小时数、分钟数和秒数均为0;也就是说,bios可以将读取rtc时间失败时的默认时间(即预设时间)由现有的2022年1月1日0时0分0秒修改设置为0年0月0日0时0分0秒,以便于操作系统下确认当前时间是否获取失败。
61.对应的,本步骤中arm服务器在确定bios读取的实时时钟时间对应的时间数据不为预设时间,即bios成功读取实时时钟时间,未发生读取时间软锁宕机的情况时,可以进入步骤207,使arm服务器能够继续正常运行并在操作系统下显示实时时钟时间对应的系统时间;在确定bios读取的实时时钟时间对应的时间数据为预设时间,即bios未成功读取实时时钟时间,发生了读取时间软锁宕机的情况时,可以进入步骤208,使arm服务器能够在操作系统下显示预设时间,如图2所示的0年0月0日0时0分0秒,以提示发生读取时间软锁宕机的情况。
62.步骤207:在操作系统下显示实时时钟时间对应的系统时间。
63.其中,本步骤中arm服务器可以在确定bios读取的实时时钟时间对应的时间数据不为预设时间,即bios成功读取到实时时钟时间时,在操作系统下显示实时时钟时间对应的系统时间,如直接显示bios成功读取到的实时时钟时间,即系统时间为实时时钟时间。
64.具体的,对于本步骤中的系统时间的具体时间设置,可以由设计人员根据实用场景和用户需求自行设置,如系统时间与实时时钟时间相同,即arm服务器可以将bios当前成功读取的实时时钟时间作为操作系统下的系统时间,在操作系统下进行显示,即arm服务器可以直接显示实时时钟时间;系统时间与实时时钟时间也可以不同,即arm服务器可以利用bios当前成功读取实时时钟时间,得到操作系统下的显示的系统时间,本实施例对此不做任何限制。
65.步骤208:在操作系统下显示预设时间。
66.可以理解的是,本步骤中arm服务器可以在确定bios读取的实时时钟时间对应的时间数据为预设时间,即bios未能读取到实时时钟时间时,在操作系统下显示预设时间,如0年0月0日0时0分0秒,以提示发生读取时间软锁宕机的情况。
67.需要说明的是,本实施例中是以arm服务器在确定bios未能读取到实时时钟时间时,通过在操作系统下显示预设时间,提示用户发生读取时间软锁宕机的情况为例进行的展示;arm服务器也可以在确定bios未能读取到实时时钟时间时,在操作系统下显示与预设时间不同的预设告警时间,通过预设告警时间的显示提示用户发生读取时间软锁宕机的情
况;或者在确定bios未能读取到实时时钟时间时,重启arm服务器或重启操作系统,以实现软锁宕机情况发生时的自动系统重启,本实施例对此不作任何限制。
68.本实施例中,本发明实施例通过bios启动时设置rtc单元的i2c时钟频率,减少i2c读取rtc时间的时间延时,设置rtc时间读取失败的默认时间设置为预设时间和rtc时间读取方式为单字节读取的方案设置,能够解决操作系统下频繁调用系统时间引起的系统软锁宕机问题,使得arm服务器能够适用于云业务、游侠业务和视频业务等互联网主流应用,提升了arm服务器的适用场景,便于互联网客户大规模采购部署arm服务器,降低了互联网客户的采购成本提升了业务利润率。
69.相应于上面的方法实施例,本发明实施例还提供了一种arm服务器的启动装置,下文描述的一种arm服务器的启动装置与上文描述的一种arm服务器的启动方法可相互对应参照。
70.请参考图4,图4为本发明实施例所提供的一种arm服务器的启动装置的结构框图。该装置可以包括:配置模块10,用于在bios启动后,利用bios将i2c总线的时钟频率设置为预设时钟频率;其中,预设时钟频率为基板管理控制器通过i2c总线读取实时时钟时间的时钟频率;初始化模块20,用于利用bios初始化i2c总线,并启动进入操作系统;判断模块30,用于利用bios通过i2c总线读取实时时钟时间,并判断bios是否成功读取实时时钟时间;显示模块40,用于若bios成功读取实时时钟时间,则在操作系统下显示实时时钟时间对应的系统时间。
71.可选的,配置模块10还可以包括:延时配置子模块,用于利用bios将i2c总线上的读写命令的时间延时设置为预设延时时间;其中,预设延时时间小于1.5s。
72.可选的,预设延时时间为50ms。
73.可选的,判断模块30可以包括:读取子模块,用于利用bios以单字节方式读取实时时钟时间。
74.可选的,该装置还可以包括:重启模块,用于若bios未成功读取实时时钟时间,则重启操作系统。
75.可选的,判断模块30可以包括:读取子模块,用于利用bios按预设时钟频率通过i2c总线读取实时时钟时间。
76.可选的,显示模块40具体用于在操作系统下显示实时时钟时间。
77.可选的,判断模块30可以包括:判断子模块,用于判断bios读取的实时时钟时间对应的时间数据是否为预设时间;若不为预设时间,则确定bios成功读取实时时钟时间,并向显示模块40发送启动信号。
78.可选的,配置模块10还可以包括:默认配置子模块,用于利用bios将i2c总线读取实时时钟时间失败时的默认时间设置为预设时间。
79.可选的,该装置还可以包括:告警显示模块,用于若不为预设时间,则确定bios未成功读取实时时钟时间,并在
操作系统下显示预设时间。
80.可选的,预设时间的年数为0。
81.可选的,预设时间为0年0月0日0时0分0秒。
82.本实施例中,本发明实施例通过配置模块10利用bios将i2c总线的时钟频率设置为预设时钟频率,使bios和基板管理控制器通过i2c总线读取实时时钟时间的频率相同,避免i2c总线以2种不同的时间频率去读取实时时钟时间易导致i2c时钟频率混乱的情况,从而减少arm服务器因系统下业务频繁调用系统时间而出现的软锁宕机情况,提升arm服务器的适用场景;并且通过判断模块30判断bios是否成功读取实时时钟时间,可以便捷地确定是否发生了读取时间软锁宕机的情况,以保证arm服务器的正常启动运行。
83.相应于上面的方法实施例,本发明实施例还提供了一种arm服务器,下文描述的一种arm服务器与上文描述的一种arm服务器的启动方法可相互对应参照。
84.请参考图5,图5为本发明实施例所提供的一种arm服务器的结构示意图。该arm服务器可以包括:存储器d1,用于存储计算机程序;处理器d2,用于执行计算机程序时实现上述方法实施例所提供的arm服务器的启动方法的步骤。
85.具体的,请参考图6,图6为本发明实施例所提供的一种arm服务器的具体结构示意图,该arm服务器310可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(如arm处理器)322(例如,一个或一个以上arm处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在arm服务器310上执行存储介质330中的一系列指令操作。
86.arm服务器310还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等。
87.其中,arm服务器310可以具体为arm架构的服务器。
88.上文所描述的arm服务器的启动方法中的步骤可以由arm服务器的结构实现。
89.相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,下文描述的一种计算机可读存储介质与上文描述的一种arm服务器的启动方法可相互对应参照。
90.一种计算机可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所提供的arm服务器的启动方法的步骤。
91.该计算机可读存储介质具体可以为u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
92.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、
arm服务器及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
93.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
94.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
95.以上对本发明所提供的一种arm服务器的启动方法、装置、arm服务器及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
技术特征:
1.一种arm服务器的启动方法,其特征在于,包括:在bios启动后,利用所述bios将i2c总线的时钟频率设置为预设时钟频率;其中,所述预设时钟频率为基板管理控制器通过所述i2c总线读取实时时钟时间的时钟频率;利用所述bios初始化所述i2c总线,并启动进入操作系统;利用所述bios通过所述i2c总线读取所述实时时钟时间,并判断所述bios是否成功读取所述实时时钟时间;若是,则在所述操作系统下显示所述实时时钟时间对应的系统时间。2.根据权利要求1所述的arm服务器的启动方法,其特征在于,所述利用所述bios初始化所述i2c总线之前,还包括:利用所述bios将所述i2c总线上的读写命令的时间延时设置为预设延时时间;其中,所述预设延时时间小于1.5s。3.根据权利要求2所述的arm服务器的启动方法,其特征在于,所述预设延时时间为50ms。4.根据权利要求1所述的arm服务器的启动方法,其特征在于,所述利用所述bios通过所述i2c总线读取所述实时时钟时间,包括:利用所述bios以单字节方式读取所述实时时钟时间。5.根据权利要求1所述的arm服务器的启动方法,其特征在于,所述判断所述bios是否成功读取所述实时时钟时间之后,还包括:若所述bios未成功读取所述实时时钟时间,则重启所述操作系统。6.根据权利要求1所述的arm服务器的启动方法,其特征在于,所述利用所述bios通过所述i2c总线读取所述实时时钟时间,包括:利用所述bios按预设时钟频率通过所述i2c总线读取所述实时时钟时间。7.根据权利要求1所述的arm服务器的启动方法,其特征在于,所述在所述操作系统下显示所述实时时钟时间对应的系统时间,包括:在所述操作系统下显示所述实时时钟时间。8.根据权利要求1至7任一项所述的arm服务器的启动方法,其特征在于,所述判断所述bios是否成功读取所述实时时钟时间,包括:判断所述bios读取的所述实时时钟时间对应的时间数据是否为预设时间;若不为所述预设时间,则确定所述bios成功读取所述实时时钟时间,并执行所述在所述操作系统下显示所述实时时钟时间对应的系统时间的步骤。9.根据权利要求8所述的arm服务器的启动方法,其特征在于,所述利用所述bios初始化所述i2c总线之前,还包括:利用所述bios将所述i2c总线读取实时时钟时间失败时的默认时间设置为所述预设时间。10.根据权利要求8所述的arm服务器的启动方法,其特征在于,所述判断所述bios读取的所述实时时钟时间对应的时间数据是否为预设时间之后,还包括:若不为所述预设时间,则确定所述bios未成功读取所述实时时钟时间,并在所述操作系统下显示所述预设时间。11.根据权利要求8所述的arm服务器的启动方法,其特征在于,所述预设时间的年数为
0。12.根据权利要求11所述的arm服务器的启动方法,其特征在于,所述预设时间为0年0月0日0时0分0秒。13.一种arm服务器的启动装置,其特征在于,包括:配置模块,用于在bios启动后,利用所述bios将i2c总线的时钟频率设置为预设时钟频率;其中,所述预设时钟频率为基板管理控制器通过所述i2c总线读取实时时钟时间的时钟频率;初始化模块,用于利用所述bios初始化所述i2c总线,并启动进入操作系统;判断模块,用于利用所述bios通过所述i2c总线读取所述实时时钟时间,并判断所述bios是否成功读取所述实时时钟时间;显示模块,用于若所述bios成功读取所述实时时钟时间,则在所述操作系统下显示所述实时时钟时间对应的系统时间。14.一种arm服务器,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至12任一项所述的arm服务器的启动方法的步骤。15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述的arm服务器的启动方法的步骤。
技术总结
本发明公开了一种ARM服务器的启动方法、装置、ARM服务器及计算机可读存储介质,涉及计算机技术领域,该方法包括:在BIOS启动后,利用BIOS将I2C总线的时钟频率设置为预设时钟频率;其中,预设时钟频率为基板管理控制器通过I2C总线读取实时时钟时间的时钟频率;利用BIOS初始化I2C总线,并启动进入操作系统;利用BIOS通过I2C总线读取实时时钟时间,并判断BIOS是否成功读取实时时钟时间;若是,则在操作系统下显示实时时钟时间对应的系统时间;本发明通过配置BIOS和基板管理控制器通过I2C总线读取实时时钟时间的频率相同,避免I2C时钟频率混乱的情况,从而减少ARM服务器出现的软锁宕机情况。锁宕机情况。锁宕机情况。
技术研发人员:
孙秀强 公维锋 贡维 黄家明 李岩 许泗强 李道童 宿培伟
受保护的技术使用者:
苏州浪潮智能科技有限公司
技术研发日:
2022.11.16
技术公布日:
2022/12/19