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

服务器电源在线更新方法、装置、计算机设备及存储介质与流程

2021-10-29 22:15:00 来源:中国专利 TAG:在线 电源 服务器 更新 装置


1.本发明涉及服务器电源在线更新领域,尤其涉及一种服务器电源在线更新方法、装置、计算机设备及存储介质。


背景技术:

2.目前,服务器电源对软件功能的需求越来越多样化。为了满足客户端的需求,通常需要服务器电源有在线升级的功能。在现有技术中,直接在电源内部存储器(快闪存储器)中对电源固件进行升级,很容易导致电源无法开机或无法正常开机。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种服务器电源在线更新方法、装置、计算机设备及存储介质,以解决在电源内部存储器(快闪存储器)中对电源固件进行升级,很容易导致电源无法开机或无法正常开机的问题。
4.一种服务器电源在线更新方法,包括:
5.获取更新数据,将所述更新数据分块发送给服务器电源;
6.当服务器电源接收到所述更新数据,将所述更新数据分块存储至所述服务器电源的外部存储器中;所述服务器电源包括内部存储器和外部存储器;
7.在所述服务器电源完成接收所述更新数据之后,校验所述更新数据;
8.若所述更新数据通过校验,则从所述外部存储器中获取所述更新数据的版本头;
9.通过所述版本头判断所述更新数据是否为待更新的数据;
10.若所述更新数据为待更新的数据,则将所述更新数据更新至所述内部存储器中,以使所述服务器电源完成在线更新。
11.一种服务器电源在线更新装置,包括:
12.更新数据获取模块,用于获取更新数据,将所述更新数据分块发送给服务器电源;
13.更新数据存储模块,用于当服务器电源接收到所述更新数据,将所述更新数据分块存储至所述服务器电源的外部存储器中;所述服务器电源包括内部存储器和外部存储器;
14.校验模块,用于在所述服务器电源完成接收所述更新数据之后,校验所述更新数据;
15.版本头获取模块,用于若所述更新数据通过校验,则从所述外部存储器中获取所述更新数据的版本头;
16.判断模块,用于通过所述版本头判断所述更新数据是否为待更新的数据;
17.更新模块,用于若所述更新数据为待更新的数据,则将所述更新数据更新至所述内部存储器中,以使所述服务器电源完成在线更新
18.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述服务器电源
在线更新方法。
19.一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如上述服务器电源在线更新方法。
20.上述服务器电源在线更新方法、装置、计算机设备及存储介质,通过获取更新数据,将所述更新数据分块发送给服务器电源;当服务器电源接收到所述更新数据,将所述更新数据分块存储至所述服务器电源的外部存储器中;所述服务器电源包括内部存储器和外部存储器;在所述服务器电源完成接收所述更新数据之后,校验所述更新数据;若所述更新数据通过校验,则从所述外部存储器中获取所述更新数据的版本头;通过所述版本头判断所述更新数据是否为待更新的数据;若所述更新数据为待更新的数据,则将所述更新数据更新至所述内部存储器中,以使所述服务器电源完成在线更新。本发明将更新数据存储至外部存储器作备份,避免服务器电源在线过程中出现故障(断电或死机)而导致在线更新失败。
附图说明
21.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1是本发明一实施例中服务器电源在线更新方法的一应用环境示意图;
23.图2是本发明一实施例中服务器电源在线更新方法的一流程示意图;
24.图3是本发明一实施例中服务器电源在线更新装置的一结构示意图;
25.图4是本发明一实施例中计算机设备的一示意图。
具体实施方式
26.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
27.本实施例提供的服务器电源在线更新方法,可应用在如图1的应用环境中,其中,客户端与服务端进行通信。其中,客户端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
28.在一实施例中,如图2所示,提供一种服务器电源在线更新方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
29.s10、获取更新数据,将所述更新数据分块发送给服务器电源。
30.可理解的,更新数据是用于服务器电源在线更新的程序数据。更新数据可以是hex格式或者bin格式。服务器电源就是指使用在服务器上的电源(power)。更新数据由多个单元块(block)的程序数据组成,为了确保更新数据发送的准确性,对更新数据进行分块发送,服务器系统将更新数据的每个单元块的程序数据发送给服务器电源。
31.具体的,服务器系统向服务器电源发送在线更新的更新指令,服务器电源接收到更新指令后,服务器电源的控制单元执行更新启动程序以开始在线更新,服务器系统自动获取更新数据,并将更新数据的每个单元块的程序数据发送给服务器电源。
32.s20、当服务器电源接收到所述更新数据,将所述更新数据分块存储至所述服务器电源的外部存储器中;所述服务器电源包括内部存储器和外部存储器。
33.可理解的,服务器电源包括控制单元、内部存储器和外部存储器等。内部存储器可用于存储已更新的数据。外部存储器可用于存储待更新的数据。当服务器电源接收到分块发送的更新数据,按照接收顺序将更新数据分块依次保存在服务器电源的外部存储器中。其中,内部存储器可以是64kb的快闪存储器。外部存储器可以是64kb的eeprom(可擦除可编程只读存储器)存储器。
34.s30、在所述服务器电源完成接收所述更新数据之后,校验所述更新数据。
35.可理解的,由于更新数据是分块发送给服务器电源的,服务器端接收更新数据需要分块接收,直到将更新数据的每个块包含的程序数据接收完成。当服务器端的更新数据发送完毕且服务器电源端完成更新数据的接收之后,对服务器发送的且保存在服务器电源外部存储器的更新数据进行crc16校验(cyclic redundancy check 16),以确保存储在外部存储器中的更新数据是正确无误可执行的。其中,crc16是一种查错检测方法,通过对待检测数据进行多项式计算,并将得到的和数作为这个待检测数据的一个实用的特征码。
36.具体的,在服务器电源接收到完整的更新数据之后,对存储在服务器电源外部存储器的更新数据进行crc16校验,并将校验结果保存在待测试更新数据的版本头(header)信息中。
37.s40、若所述更新数据通过校验,则从所述外部存储器中获取所述更新数据的版本头;
38.可理解的,更新数据通过校验是指对更新数据进行crc16校验时,更新数据的校验结果为正确,未存在错误信息。版本头包括crc16校验结果、更新标识码、机种名和版本信息。
39.具体的,若更新数据通过crc16校验,判定存储在服务器电源外部存储器中的更新数据是正确的,则从服务器电源的外部存储器中获取该更新数据的版本头。
40.可选的,若更新数据未通过crc16校验,则判定存储在服务器电源外部存储器中的更新数据存在错误,重新执行步骤s10。
41.s50、通过所述版本头判断所述更新数据是否为待更新的数据。
42.可理解的,当服务器电源在线更新过程中出现断电故障时,容易导致服务器电源的更新数据未存储至内部存储器,此时,判定更新数据为未完成更新的数据,即待更新的数据。其中,更新数据的版本头中设置有更新标识码,更新标识码用于识别更新数据是否完成更新。当更新数据未存储至内部存储器时,更新标识码不发生变化,即该更新数据为待更新的数据。当更新数据存储至内部存储器时,更新标识码会随之发生变化,则该更新数据为已更新的数据。例如,更新数据的更新标识码为a01,当更新数据完成更新,更新标识码随之进行清零,更新标识码自动跳转为a00,a00则为该更新数据的更新标识码。版本头还包括crc16校验结果、机种名和版本信息等信息。
43.具体的,从版本头中获取更新数据的更新标识码,通过判断更新标识码是否发生
变化,确定更新数据是否为待更新的数据,即更新数据是否已经被存储至内部存储器中。
44.s60、若所述更新数据为待更新的数据,则将所述更新数据更新至所述内部存储器中,以使所述服务器电源完成在线更新。
45.可理解的,若更新数据为待更新的数据,则判定该更新数据未被更新进内部存储器,则将该更新数据更新至服务器电源的内部存储器中,以使服务器电源完成在线更新。在服务器电源完成在线更新后,需再次该更新数据进行crc16校验,当该更新数据通过crc16校验时,服务器电源才将该更新数据作为运行程序执行。其中,运行程序是指服务器电源正常工作时执行的程序。
46.可选的,若更新数据为已更新的数据,则判定该更新数据被更新进内部存储器,更新完成。在服务器电源完成在线更新后,需再次该更新数据进行crc16校验,当该更新数据通过crc16校验时,服务器系统才将该更新数据作为运行程序执行。其中,运行程序是指服务器电源正常工作时执行的程序。
47.在步骤s10

s60中,通过获取更新数据,将所述更新数据分块发送给服务器电源;当服务器电源接收到所述更新数据,将所述更新数据分块存储至所述服务器电源的外部存储器中;所述服务器电源包括内部存储器和外部存储器;在所述服务器电源完成接收所述更新数据之后,校验所述更新数据;若所述更新数据通过校验,则从所述外部存储器中获取所述更新数据的版本头;通过所述版本头判断所述更新数据是否为待更新的数据;若所述更新数据为待更新的数据,则将所述更新数据更新至所述内部存储器中,以使所述服务器电源完成在线更新。本发明将更新数据存储至外部存储器作备份,避免服务器电源在线过程中出现故障(例如,断电或死机)而导致在线更新失败。
48.可选的,在步骤s10之前,即所述获取更新数据,将所述更新数据分块发送给服务器电源之前,包括:
49.s101、向服务器电源发送在线更新请求,以使所述服务器电源的控制单元执行更新启动程序。
50.可理解的,对服务器电源进行在线更新时,需要执行更新启动程序和运行程序。更新启动程序是指在服务器电源刚开机或服务器电源正常工作时服务器系统发出在线更新的更新指令之后执行的启动程序。运行程序是指服务器电源正常工作时执行的程序。在对服务器电源进行在线更新之前,服务器系统向服务器电源发送在线更新的更新指令,以使服务器电源接收到更新指令后,服务器电源的控制单元执行更新启动程序以开始在线更新。在执行更新启动程序时,判断执行该更新启动程序的上一步是否为执行运行程序,若该更新启动程序的上一步为执行运行程序,则在执行完更新启动程序后,执行步骤s10

s60。若该更新启动程序的上一步不是执行运行程序,则跳转启动程序,执行启动程序。
51.可选的,在步骤s30中,即所述在所述服务器电源完成接收所述更新数据之后,校验所述更新数据,包括:
52.s301、判断所述服务器电源是否完成接收所述更新数据;
53.s302、若所述服务器电源完成接收所述更新数据,则对所述更新数据进行crc16校验。
54.可理解的,由于服务器电源是分块对更新数据进行接收,为了确保服务器电源能够准确的完成在线更新,需要判断服务器电源是否完成接收更新数据。当服务器电源未完
成接收更新数据时,服务器电源继续接收更新数据。当服务器电源完成接收更新数据时,才对该更新数据进行crc16校验。通过判断是否接收完成和crc16校验提高更新数据的准确性。
55.可选的,在步骤s301之后,即所述判断所述服务器电源是否完成接收所述更新数据之后,包括:
56.s3011、若所述服务器电源未完成接收所述更新数据,则判断在预设时间内所述服务器电源是否接收到操作信息;
57.s3012、若在预设时间内所述服务器电源未接收到操作信息,则重新获取更新数据,以使所述服务器电源完成在线更新。
58.可理解的,由于服务器电源是分块对更新数据进行接收,为了确保服务器电源能够准确的完成在线更新,需要判断服务器电源是否完成接收更新数据。当服务器电源未完成接收更新数据,且在预设时间内服务器电源未接收到任何操作信息,则判定该服务器电源接收更新数据时出现故障,需要通过重新获取更新数据以完成线更新。例如,若服务器电源在线过程中,出现断电故障,则服务器电源会终止接收更新数据,且在预设时间内(例如,70s内),服务器电源未接收到任何操作信息,则服务器电源会自动重启,重新获取更新数据,以继续进行服务器电源的在线更新。
59.在步骤s3011和s3012中,通过自动重启,重新获取更新数据以完成服务器电源的在线更新。即使服务器电源在更新过程中出现不可避免的故障,比如,服务器系统和电源通信出现故障,也不会导致服务器电源的在线更新终止。
60.可选的,在步骤s50中,即所述通过所述版本头判断所述更新数据是否为待更新的数据,包括:
61.s501、获取所述版本头包含的更新标识码;
62.s502、若所述更新标识码未发生变化,则判定所述更新数据为待更新的数据。
63.可理解的,版本头包括crc16校验结果、更新标识码、机种名和版本信息。其中,更新标识码用于识别更新数据是否更新完成。例如,待更新的数据的更新标识码为a01,当更新数据更新完成,对更新标识码进行清零,将更新标识码更改为a00,a00则为已更新的数据的更新标识码。
64.具体的,通过版本头得到更新数据的更新标识码,识别该更新标识码的状态,若该该更新标识码的状态发生变化,则判定该更新数据为已更新的数据。若该更新标识码的状态未发生变化,则判定该更新数据为待更新的数据。
65.在步骤s501和s502中,通过更新数据的更新标识码识别更新数据是否为已更新的数据,可提高在线更新的准确性,避免因更新数据版本错误而导致更新失败。
66.可选的,在步骤s501之后,即所述获取所述版本头包含的更新是识别码之后,包括:
67.s5011、若所述更新标识码发生变化,则判定所述更新数据为已更新的数据。
68.可理解的,已更新的数据是指被存储至内部存储器中的更新数据。当更新数据被存储至内部存储器时,更新数据的更新标识码会随之变化状态,以标识该更新数据为完成更新的更新数据。此时,服务器系统可将该更新数据作为服务器电源的运行程序进行运行。
69.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程
的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
70.在一实施例中,提供一种服务器电源在线更新装置,该服务器电源在线更新装置与上述实施例中服务器电源在线更新方法一一对应。如图3所示,该服务器电源在线更新装置包括更新数据获取模块10、更新数据存储模块20、校验模块30、版本头获取模块40、判断模块50和更新模块60。各功能模块详细说明如下:
71.更新数据获取模块10,用于获取更新数据,将所述更新数据分块发送给服务器电源;
72.更新数据存储模块20,用于当服务器电源接收到所述更新数据,将所述更新数据分块存储至所述服务器电源的外部存储器中;所述服务器电源包括内部存储器和外部存储器;
73.校验模块30,用于在所述服务器电源完成接收所述更新数据之后,校验所述更新数据;
74.版本头获取模块40,用于若所述更新数据通过校验,则从所述外部存储器中获取所述更新数据的版本头;
75.判断模块50,用于通过所述版本头判断所述更新数据是否为待更新的数据;
76.更新模块60,用于若所述更新数据为待更新的数据,则将所述更新数据更新至所述内部存储器中,以使所述服务器电源完成在线更新。
77.可选的,更新数据获取模块10之前,包括:
78.更新启动程序单元,用于向服务器电源发送在线更新请求,以使所述服务器电源的控制单元执行更新启动程序。
79.可选的,校验模块30,包括:
80.判断单元,用于判断所述服务器电源是否完成接收所述更新数据;
81.校验单元,用于若所述服务器电源完成接收所述更新数据,则对所述更新数据进行crc16校验。
82.可选的,所述判断单元,包括:
83.操作信息单元,用于若所述服务器电源未完成接收所述更新数据,则判断在预设时间内所述服务器电源是否接收到操作信息;
84.重新获取单元,用于若在预设时间内所述服务器电源未接收到操作信息,则重新获取更新数据,以使所述服务器电源完成在线更新。
85.可选的,判断模块50,包括:
86.更新标识码获取单元,用于获取所述版本头包含的更新标识码;
87.第一判定单元,用于若所述更新标识码未发生变化,则判定所述更新数据为待更新的数据。
88.可选的,更新标识码获取单元之后,包括:
89.第二判定单元,用于若所述更新标识码发生变化,则判定所述更新数据为已更新的数据。
90.关于服务器电源在线更新装置的具体限定可以参见上文中对于服务器电源在线更新方法的限定,在此不再赘述。上述服务器电源在线更新装置中的各个模块可全部或部
分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
91.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该可读存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储服务器电源在线更新方法所涉及的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种服务器电源在线更新方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
92.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:
93.获取更新数据,将所述更新数据分块发送给服务器电源;
94.当服务器电源接收到所述更新数据,将所述更新数据分块存储至所述服务器电源的外部存储器中;所述服务器电源包括内部存储器和外部存储器;
95.在所述服务器电源完成接收所述更新数据之后,校验所述更新数据;
96.若所述更新数据通过校验,则从所述外部存储器中获取所述更新数据的版本头;
97.通过所述版本头判断所述更新数据是否为待更新的数据;
98.若所述更新数据为待更新的数据,则将所述更新数据更新至所述内部存储器中,以使所述服务器电源完成在线更新。
99.在一个实施例中,提供了一个或多个存储有计算机可读指令的计算机可读存储介质,本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。可读存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现以下步骤:
100.获取更新数据,将所述更新数据分块发送给服务器电源;
101.当服务器电源接收到所述更新数据,将所述更新数据分块存储至所述服务器电源的外部存储器中;所述服务器电源包括内部存储器和外部存储器;
102.在所述服务器电源完成接收所述更新数据之后,校验所述更新数据;
103.若所述更新数据通过校验,则从所述外部存储器中获取所述更新数据的版本头;
104.通过所述版本头判断所述更新数据是否为待更新的数据;
105.若所述更新数据为待更新的数据,则将所述更新数据更新至所述内部存储器中,以使所述服务器电源完成在线更新。
106.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括
只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
107.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
108.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜