本技术涉及系统保活,特别是指质一种系统程序启动方法、装置、计算设备及存储介质。
背景技术:
1、随着生产生活水平的提高,设备的功能也越来越复杂多变,难免会出现设备无法正常运行的情况。在很多场景中,一旦出现设备死机、无法启动等现象,可能会造成难以挽回的损失,因此,都会要求设备能够保活运行。本技术中的保活运行是指确保设备可处于运行的状态。
2、为了设备能够保活运行,就必须要求设备在设备死机、无法启动等情况下,能够通过其它方法自动恢复运行。目前,市场上有很多种做法,主要做法是设计成双系统,即在存储器上保存两份系统程序,若其中一个系统有问题,重启后的最小系统就启动另外一个作为备用的系统,最小系统为uboot、bootloader、redboot等系统引导程序。
3、然而,这种方法也存在弊端,一方面,若设备的存储器所存储的备用的系统程序的文件出现损坏,那么处理器可能会无法加载该备用的系统程序,导致系统无法正常启动,另一方面,系统程序所占空间通常较大,这将导致需要占用存储器额外的空间来存储备用的系统程序。
技术实现思路
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、为达到上述目的,本技术第四方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机实现上述第一方面的任一所述的系统程序启动方法。
1.一种系统程序启动方法,其特征在于,应用于第一设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从与所述第一设备通信的第二设备中获取第二系统程序,包括:
3.根据权利要求2所述的方法,其特征在于,所述从所述第一设备通信所在的网络中,确定可以正常启动系统程序的第二设备集,包括:
4.根据权利要求3所述的方法,其特征在于,所述应答指令中还包括设备生产序列号、设备类型、应答设备的本地系统程序版本号;所述从所述第二设备集中选取一设备作为所述第二设备包括:
5.根据权利要求3所述的方法,其特征在于,所述从所述第二设备上获取所述第二系统程序包括:
6.根据权利要求1所述的方法,其特征在于,所述启动系统引导程序之后,还包括:
7.根据权利要求1所述的方法,其特征在于,所述系统引导程序和所述系统程序存储在所述第一设备的不同的存储器中。
8.一种系统程序启动装置,其特征在于,包括:
9.一种计算设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至7任一项所述的系统程序启动方法。
