一种集群协同升级方法、设备以及可读存储介质与流程

文档序号:31966931发布日期:2022-10-29 00:37阅读:74来源:国知局
一种集群协同升级方法、设备以及可读存储介质与流程

1.本发明实施例涉及但不限于通信技术领域,具体而言,涉及但不限于一种集群协同升级方法、设备以及可读存储介质。


背景技术:

2.目前设备的ota升级能力是各种设备都需要具备的基本能力,因为这种能力可以有效降低产品的维护成本,提升产品的竞争力。另外随着智能设备的普及,各种场所下的集群组网环境越来越普及,比如个人家庭环境内的各种智能电子产品组网,车载环境下的各类模块组网等。由于集群组网设备的数据处理能力不同,限制了集群组网设备的升级需求或者成本需求。


技术实现要素:

3.本发明实施例提供的一种集群协同升级方法、设备以及可读存储介质,主要解决的技术问题是可以在自身升级能力不足的情况下,利用集群组网设备中的其他设备实现升级,从而解决待升级设备自身资源不足导致的无法升级的问题。
4.为解决上述技术问题,本发明实施例提出一种集群协同升级方法,应用于待升级设备侧,包括:在确认需要升级时,检测当前升级能力,并获取当前可用升级版本的升级能力需求;当所述当前升级能力不满足所述升级能力需求时,发送协同升级请求到与所述待升级设备处于同一网络环境的集群设备;根据所述协同升级请求与所述集群设备中的至少一个协助升级设备建立连接;进入升级模式,接收所述协助升级设备发送的升级数据,并将所述升级数据写入系统分区。
5.本发明实施例还提供一种集群协同升级方法,应用于协助升级设备侧,包括:在监听到集群设备中处于同一网络环境的待升级设备发送的协同升级请求时,根据所述协同升级请求检测当前协助升级能力;当所述当前协助升级能力满足所述协同升级请求对应的升级能力时,与所述待升级设备建立连接;进入协同升级模式,向所述待升级设备发送升级数据,以使所述待升级设备利用所述升级数据写入所述待升级设备的系统分区,完成升级。
6.本发明实施例还提供一种终端设备,包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个第一计算机程序,以实现前述应用于待升级设备侧的集群协同升级方法的步骤;和/或,所述处理器用于执行存储器中存储的一个或者多个第二计算机程序,以实现应用于协助升级设备侧的集群协同升级方法的步骤。
7.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个第一计算机程序以及一个或者多个第二计算机程序,所述一个或者多个第一计算机程序可被一个或者多个处理器执行,以实现前述应用于待升级设备侧的集群协同升级方法的步骤;或,所述一个或者多个第二计算机程序可被一个或者多个处理器执行,以实现前述应用于协助升级设备侧的集群协同升级方法的步骤。
8.根据本发明实施例提供的集群协同升级方法、设备以及可读存储介质,在待升级设备侧,通过检测当前升级能力,在当前升级能力不满足升级至可用升级版本的升级能力需求时,通过与集群设备中的协助升级设备建立连接,由此接收协助升级设备发送的升级数据,并直接写入系统分区,从而完成升级,由此解决了现有技术中需要对升级数据进行下载、缓存以及数据处理等中间过程带来的自身资源不足造成的无法升级的问题。
9.本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。
附图说明
10.图1为本发明实施例一的设备组网结构示意图;
11.图2为本发明实施例一的基本流程图;
12.图3为本发明实施例一的待升级设备与协助设备的组网结构示意图;
13.图4为本发明实施例一的写升级数据流程图;
14.图5为本发明实施例二的基本流程图;
15.图6本发明实施例三的基本流程图。
具体实施方式
16.为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
17.实施例一:
18.随着智能设备的普及,各种场所下的集群组网环境越来越普及,比如图1所示的个人家庭环境内的各种智能电子产品组网,各设备通过有线或者无线的方式连接在路由器上实现接入网络。现有的设备上可以实现自身的ota升级,但随着产品的成本要求,集群设备内单个设备的设计都会优化资源,减少存储,计算能力等,导致用户在升级时如果需要较大的存储资源或者较多的计算能力时,单个设备就无法完成升级。为了解决这个问题,本发明实施例提出一种利用集群内其他设备协助升级的方案,来完成待升级设备的升级。由于集群内可能存在多种类型的设备,某些设备可能具有更好的计算能力或者存储能力,所以可以利用这些设备来完成升级。通过这种方式,可以解决单个设备能力不足导致的无法升级问题,同时也不用为了升级对这些设备配置较高的额外资源,兼顾成本和后续维护的方便。
19.本实施例提出一种集群协同升级方法,如图2所示,应用于待升级设备侧,包括:
20.s201、在确认需要升级时,检测当前升级能力,并获取当前可用升级版本的升级能力需求。
21.s202、当所述当前升级能力不满足所述升级能力需求时,发送协同升级请求到与所述待升级设备处于同一网络环境的集群设备;
22.s203、根据所述协同升级请求与所述集群设备中的至少一个协助升级设备建立连接;
23.s204、进入升级模式,接收所述协助升级设备发送的升级数据,并将所述升级数据写入系统分区。
24.本实施例中在确认需要升级时,检测当前升级能力。例如待升级设备自身监测到可用升级版本,或者接收到服务器发送的升级通知消息的情况下,表明待升级设备需要升级,待升级设备可以检测自身的cpu负荷,升级至可用升级版本所需的rom信息和ram信息等。若无法满足升级至可用升级版本所需的升级能力需求,则向集群设备中的其他设备发送协同升级请求,例如可以从集群设备中预设有优先级表,根据选取优先级表中升级能力靠前的一个或者多个设备并发送协同升级请求,当然也可以直接向所有其他设备发送协同升级请求或指定的某一设备发送协同升级请求,发送协同升级请求可以使用指定的数据格式和数据内容以及广播的方式。协同升级请求中至少包括所述可用升级版本的下载地址,所需rom信息、所需ram信息和设备连接信息。其中本示例中所指的设备连接信息是其他集群设备响应时所需要的连接信息。如图3所示待升级设备与协助升级设备在同一局域网中,在集群中的其他设备响应后,与所述集群设备中的至少一个协助升级设备建立连接,进入升级模式,接收协助升级设备发送的升级数据,本示例中升级数据是助升级设备已经处理好的可以直接写入系统分区完成升级的系统数据,由此待升级设备可以利用升级数据实现升级。
25.本实施例实现了将协助升级设备发送的升级数据直接写入,从而完成版本升级,由此解决了现有技术中需要对升级数据进行下载、缓存以及数据处理等中间过程带来的自身资源不足造成的无法升级的问题。
26.在一示例中,与所述集群设备中的至少一个协助升级设备建立连接之后,所述集群协同升级方法还包括:
27.生成数字证书;
28.向所述协助升级设备发送所述数字证书,以使所述协助升级设备根据所述数字证书对升级数据进行加密。
29.本示例中,在待升级设备得到协助升级设备的响应之后,生成数字证书,并将生成的数字证书发送给协助升级设备,当然还可以一并发送指示数据,所述指示数据用于向协助升级设备表明待升级设备需要协助升级。协助升级设备可以保存该数字证书,并利用数字证书对协助升级设备发送的升级数据进行加密,待升级设备也可以利用数字证书对加密的升级数据进行解密,从而实现对升级数据的校验。
30.在一示例中,如图4所示,所述接收所述协助升级设备发送的升级数据,并将所述升级数据写入系统分区包括:
31.s401、接收所述协助升级设备发送的加密升级数据;
32.s402、利用所述数字证书对所述加密升级数据进行解密,获得升级数据;
33.s403、将所述升级数据写入系统分区中。
34.作为一种示例性的写入数据的方式,可以在协助升级设备向待升级设备发送可用版本的升级数据的过程中,在待升级设备一侧根据自身当前的升级能力获取一部分升级数据。由于协助升级设备在发送升级数据的过程采用了数字证书进行加密,因此本示例中可以对于获取到的一部分加密升级数据利用数据证书进行解密获取部分升级数据,然后将该部分升级数据写入系统分区,写入完成后,继续获取下一部分的加密升级数据,然后进行解密,如此往复,直至将完整的升级数据写入系统分区。
35.作为另一种示例性的写入数据的方式,可以接收协助升级设备一侧预先将可用版
本的升级数据进行拆分之后发送的加密升级数据包,数据拆分的依据可以是协助升级设备的升级能力也可以是预设的拆分为n个升级数据分包,待升级设备只需将接收到的加密升级数据包进行解密后写入系统分区即可。在写入完成后,待升级设备可以对写入系统分区的数据进行校验,确保数据写入无异常,升级完成后重启进入新的系统,完成系统升级。如果存在异常,可以重新进行升级,或者请求辅助升级设备还原系统数据。
36.通过上书写入方式还可以进一步克服待升级设备的缓存空间不足的问题,同时数字证书使用在发现设备阶段生成的数字证书对接收的升级数据进行校验,保证写入到系统分区的数据是可靠和完整的。
37.在一示例中,所述与所述集群设备中的至少一个协助升级设备建立连接包括:
38.在所述集群设备中有两个及以上设备响应所述协同升级请求的情况下,从两个及以上所述设备中选取符合预设条件的一个设备作为所述协助升级设备;
39.在预设时间内未能收到集群设备响应所述协同升级请求的情况下,放弃升级。
40.本示例中,在一定的时间内接收响应的设备信息,如果有多个集群设备响应,则根据预设的条件从中选择一个设备作为协助升级设备,并向该设备发送数字证书,对其他响应的设备发送结束的数据。与所选的协助升级设备建立连接的过程还包括,启动升级程序进入升级模式,并接入协助设备发送的在升级模式下需要连接的地址和端口。本示例中的升级程序指的是使得待升级设备进入升级模式的程序,在升级模式下设备可以实现系统分区的升级,且只可以受到信任的设备上接收数据,该升级模式下设备能够实现有线或者无线的方式联网,但启动的应用程序只包含升级程序,不启动其他的应用程序。
41.如果在一定时间内没有接收到有设备响应,则放弃升级,可以等待预设之间之后再发起协同升级请求。
42.综上,本发明方法可以实现对本身资源无法完成升级情况下的设备进行升级,兼顾产品的硬件成本和后续的维护成本。
43.实施例二:
44.本实施例提出一种集群协同升级方法,如图5所示,应用于协助升级设备侧,包括:
45.s501、在监听到集群设备中处于同一网络环境的待升级设备发送的协同升级请求时,根据所述协同升级请求检测当前协助升级能力;
46.s502、当所述当前协助升级能力满足所述协同升级请求对应的升级能力时,与所述待升级设备建立连接;
47.s503、进入协同升级模式,向所述待升级设备发送升级数据,以使所述待升级设备利用所述升级数据写入所述待升级设备的系统分区,完成升级。
48.本实例中,处于集群中的其他设备首先可以判定自身是否支持协助升级的功能,若支持,则设备启动对局域网广播的监听程序,监听待升级设备使用指定的数据格式和数据内容以及广播的方式发送的协同升级请求,在监听到集群设备中的待升级设备发送的协同升级请求时,从接收到的协同升级请求中解析待升级设备的可用版本升级信息,例如所需rom、ram空间、固件下载地址以及解析待升级设备的连接信息(如端口)等,根据待升级设备的升级信息综合确定自身是否满足协同升级请求对应的升级能力。若满足,则根据协同升级请求与所述待升级设备建立连接,例如可以根据协同升级请求的待升级设备的端口与待升级设备建立连接。如果确定无法协助升级,则不用发送任何信息到被升级设备。
49.与所述待升级设备建立连接的过程可以包括,接收待升级设备发送的指示数据之后与所述待升级设备建立连接,其中所述指示数据用于标识待升级设备是否需要协助升级。
50.在与所述待升级设备建立连接之后,协助升级设备可以进入协助升级模式,并获取可用版本对应的升级数据,将升级数据发送至待升级设备。当然也可以是在与所述待升级设备建立连接之后,获取可用版本对应的升级数据,再进入协助升级模式将升级数据发送至待升级设备。具体的获取可用版本对应的升级数据的顺序在此不做限定。
51.在向待升级设备发送升级数据之后,待升级设备利用所述升级数据写入所述待升级设备的系统分区,完成升级。
52.本实施例实现了协助升级设备直接向待升级设备发送可直接写入的升级数据,待升级设备利用所述升级数据写入所述待升级设备的系统分区,完成升级。由此解决了现有技术中待升级设备需要对升级数据进行下载、缓存以及数据处理等中间过程的资源不足问题,而将上述过程利用具备处理能力的协助升级设备完成,从而降低了待升级设备的升级门槛。
53.在一示例中,所述与所述待升级设备建立连接之后,所述集群协同升级方法还包括:
54.接收所述待升级设备发送的数字证书;
55.利用所述数字证书对所述升级数据进行加密,获得加密数据;
56.将所述加密数据发送至所述待升级设备,以使所述待升级设备根据所述数字证书对所述加密数据进行解密获得所述升级数据。
57.本示例中,接收从待升级设备发来的指示数据,如果该指示数据表示需要协助升级,将接收的数字证书保存,并向待升级设备发送升级模式下需要连接的地址和端口。
58.然后利用接收的数字证书对升级数据进行加密,获得加密数据,并将加密数据发送至所述待升级设备,具体的发送方式可以是将加密数据顺序发送至待升级设备,以使所述待升级设备根据所述数字证书对所述加密数据进行解密获得所述升级数据,并直接写入系统分区。当然也可以根据预设的分割方案对加密数据分割为n个升级数据分包,然后按照一定的顺序以数据分包的方式发送给待升级设备,待升级设备收到数据分包后,对应写入即可。本示例中利用数字证书对升级数据进行校验,保证写入到系统分区的数据是可靠和完整的。
59.在一示例中,向所述待升级设备发送升级数据之前,所述集群协同升级方法还包括:
60.根据所述协同升级请求中的可用升级版本的下载地址获取所述升级数据;
61.或者;
62.备份所述待升级设备的原始版本数据,并根据所述协同升级请求中的可用升级版本的下载地址获取差分升级包,将所述原始版本数据和所述差分升级包合成所述升级数据;
63.或者;
64.检测当前版本信息,若所述当前版本信息与所述协同升级请求对应的版本信息适配,从本地提取所述升级数据。
65.向所述待升级设备发送升级数据之前,本示例中介绍几种协同升级设备获取待升级设备的升级数据的方式。
66.作为一种示例性的获取升级数据的方式,本示例中可以直接利用协同升级请求中的可用升级版本的下载地址获取所述升级数据。也即利用协同升级请求中的可用升级版本的下载地址获取完整的升级数据。由此可以无需其他的数据处理,例如数据合成即可获得完整的所述可用升级版本,在获取到完整升级数据之后,可以通过数字证书对升级数据进行加密,再进行发送。
67.作为一种示例性的获取升级数据的方式,本示例中可以备份所述待升级设备的原始版本数据,备份的方法可以是读取待升级设备的系统分区,由此获得待升级设备的原始数据。然后利用协同升级请求中的可用升级版本的下载地址获取差分升级数据,并利用差分合成算法将差分升级数据和原始版本数据进行合成,获得升级数据。再通过数字证书对升级数据进行加密后发送。本实施例方法可以降低待升级设备进行升级的网络流量使用以及带宽占用。
68.作为一种示例性的获取升级数据的方式,若待升级设备与协助升级设备是相同的设备,还可以检测协助升级设备自身的版本信息,若自身的版本信息与协同升级请求对应的版本信息适配,则可以直接从协助升级设备本地提取升级数据。
69.上述升级数据的获取过程可以在与所述待升级设备建立连接之后进行,也可以在协助升级设备进入协同升级模式之后进行。
70.在一示例中,向所述待升级设备发送升级数据之后,所述集群协同升级方法还包括:
71.读取写入所述待升级设备的系统分区的写入数据;
72.校验所述写入数据,在确定所述写入数据异常的情况下,重复对所述待升级设备进行升级;
73.或者,
74.利用所述原始版本数据对所述待升级设备进行还原。
75.本示例中,进一步对写入数据进行校验,读取写入所述待升级设备的系统分区的写入数据,并进行数据校验,确认升级数据是否正常,如果校验异常,则可以再次进行升级流程。或者利用在先备份的原始版本数据对待升级设备进行还原。如果校验正常,则待升级设备升级完成,可以进入新的系统版本。
76.本实施例待升级设备资源不足时,通过协助升级设备的可用资源来完成升级数据的合成和存储,可以充分利用到集群环境的特点,实现待升级设备的升级,从而解决了待升级设备原来因资源不足导致的无法升级问题。使用指定的数据格式和数据内容以及广播的方式可以快速从集群内获取到满足条件的辅助升级设备,其中所定义的被升级设备和集群内其他设备的连接方法可以更高效的完成有用设备连接,避免无效连接。利用协助升级设备,还可以实现待升级设备升级失败或者异常情况下的系统还原,这也改善了现有升级流程下被升级设备一旦升级异常(无法正常进入系统)则不得不返厂维修的情况。协助升级设备利用差分升级包和待升级设备原始系统数据来实现目标数据的合成,可以有效减少从互联网环境中下载系统数据的带宽压力,降低服务器压力。
77.实施例三:
78.本实施例提出一种集群协同升级方法的实施案例,如图6所示,包括如下步骤:
79.s601、集群内某一个设备(待升级设备)发现服务器上存在可用升级版本时,判断自身是否可以完成升级。
80.如果能自身完成升级则使用传统的升级方案实现升级;
81.如果不能,则将可用版本升级信息通过局域网广播的方式发送给集群内其他连接的设备,可用版本升级信息包含版本的下载地址,所需rom、ram空间,以及其他可能的信息;发送的协同升级请求还可以包含其他设备响应时所需要的连接信息,用于集群内其他设备响应时使用。
82.s602、集群内的其他设备如果支持协助升级功能,则设备启动对局域网广播的监听程序,该程序可监听其他设备发送的协同升级请求。
83.从接收到的协同升级请求中解析所需rom、ram空间,并解析被升级设备的连接信息(如端口),并根据协助升级设备自身剩余rom、ram情况判断是否能协助被升级设备升级;如果可以,则使用连接信息发送自身的rom、ram信息,计算能力信息(如果没有连接信息,则协助升级设备向默认的端口发送自身的rom、ram及计算能力信息);如果无法协助升级,则不用发送任何信息到被升级设备。
84.s603、待升级设备在一定的时间内接收响应的集群内其他设备信息。
85.如果有多个其他设备响应,则根据预设的条件从中选择一个设备作为协助升级设备,并向该设备发送数字证书以及指示数据,该数字证书用于后续的升级包数据接收校验,并对其他响应的设备发送结束的数据。
86.如果在一定时间内没有接收到有设备响应,则放弃升级。
87.s604、协助升级设备接收从被升级设备发来的指示数据。
88.如果该指示数据表示需要协助升级,则将接收的数字证书保存,发送待升级设备在升级模式下需要连接的地址和端口。
89.如果接收的数据表示不需要协助升级,则结束流程。
90.s605、待升级设备进入升级模式。
91.升级模式下只启动升级程序,该升级程序通过网络连接到辅助升级设备(根据从辅助升级设备获取的连接信息进行连接),并接收从协助升级设备发来的升级数据。
92.s606、协助升级设备进入协助升级流程,并将协助设备在集群设备中进行标记。
93.s607、协助升级设备启动辅助升级程序。
94.监听待升级设备是否连接至协助升级设备对应的地址及端口,并根据从待升级设备获取的可用版本的下载地址下载差分升级包。
95.s608、协助升级设备在差分升级包下载完成后,且待升级设备已在升级模式下接入,则从待升级设备的系统分区中读取数据。
96.通过读取的原始系统数据和下载的差分升级包,利用差分合成算法完成目标数据的合成,使用从待升级设备获取的数字证书对数据进行加密,并将加密的升级数据顺序发送到待升级设备,反复执行升级数据发送过程,直到升级数据传输完成。
97.s609、待升级设备对接收的加密的升级数据使用数字证书进行解密。
98.确保数据来源于辅助升级设备,数据正确后写入到系统分区中,实现系统升级,顺序接收升级数据并写入系统分区,直到升级数据传输完成。
99.s610、待升级设备对写入系统分区的数据进行校验,确保数据写入无异常,升级完成后重启进入新的系统,完成系统升级。
100.如果存在异常,可以重新进行升级,或者请求辅助升级设备还原系统数据。
101.s611、协助升级设备从待升级设备读取写入到系统分区的数据,进行数据校验。
102.确认升级数据是否正常,如果不正常,则可以再次进入升级流程,或者利用第二步读取的被升级设备原始系统数据对被升级设备进行系统版本复原。如果正常,则结束升级流程。
103.本实施例待升级设备资源不足时,通过协助升级设备的可用资源来完成升级数据的合成和存储,可以充分利用到集群环境的特点,实现待升级设备的升级,从而解决了待升级设备原来因资源不足导致的无法升级问题。利用协助升级设备,还可以实现待升级设备升级失败或者异常情况下的系统还原,这也改善了现有升级流程下被升级设备一旦升级异常(无法正常进入系统)则不得不返厂维修的情况。协助升级设备利用差分升级包和待升级设备原始系统数据来实现目标数据的合成,可以有效减少从互联网环境中下载系统数据的带宽压力,降低服务器压力。
104.本实施例还提供了一种终端设备,包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个第一计算机程序,以实现前述实施例一的集群协同升级方法的步骤;和/或,所述处理器用于执行存储器中存储的一个或者多个第二计算机程序,以实现前述实施例二的集群协同升级方法的步骤。
105.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个第一计算机程序以及一个或者多个第二计算机程序,所述一个或者多个第一计算机程序可被一个或者多个处理器执行,以实现前述实施例一的集群协同升级方法的步骤;或,所述一个或者多个第二计算机程序可被一个或者多个处理器执行,以实现前述实施例二的集群协同升级方法的步骤。
106.本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(random access memory,随机存取存储器),rom(read-only memory,只读存储器),eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compact disc read-only memory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
107.可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
108.此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
109.以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1