CN110780890B - 系统升级方法、装置、电子设备和介质 - Google Patents
系统升级方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN110780890B CN110780890B CN201911018452.1A CN201911018452A CN110780890B CN 110780890 B CN110780890 B CN 110780890B CN 201911018452 A CN201911018452 A CN 201911018452A CN 110780890 B CN110780890 B CN 110780890B
- Authority
- CN
- China
- Prior art keywords
- partition
- current partition
- backup
- current
- upgrade
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000005192 partition Methods 0.000 claims abstract description 385
- 238000003860 storage Methods 0.000 claims abstract description 57
- 230000015654 memory Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 abstract description 34
- 230000008901 benefit Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000033772 system development Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种系统升级方法、装置、电子设备和介质,涉及计算机技术领域,其中该系统升级方法包括:从待升级的至少两个分区中确定当前分区;将当前分区中的原镜像数据写入备份分区进行备份;在当前分区中写入新镜像数据,以对当前分区进行升级;其中,待升级的至少两个分区复用备份分区进行升级。本申请实施例技术方案可以对现有的系统升级方法进行优化,减少系统升级过程中对系统存储空间的占用。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及系统升级技术领域,具体涉及一种系统升级方法、装置、电子设备和介质。
背景技术
嵌入式设备系统升级过程一般都是将系统中各分区的镜像文件,例如:内核(kernel)分区、根文件(rootfs)系统分区、用户数据(data)分区以及其他自定义分区,直接刷写进入设备闪存(Flash)的特定位置。
嵌入式设备升级时需要考虑的一个重要问题在于:需要保证升级过程中遇到断电、断网等意外情况时设备不会因升级失败导致系统无法启动。针对该问题,目前普遍使用A/B分区升级方案,即对系统中每个待升级的分区都另划分一块完全相同大小的存储空间,并称当前系统运行的各分区为A分区,预留空间为B分区,将系统中所有待升级分区在B分区中按照区域对应进行一次完整备份,当确认B分区中各分区全部升级完成后,写入一个标记位,指示下次系统启动从B分区启动,从而达到整个系统的升级效果,避免了升级过程中因断电、断网等意外情况导致系统无法启动的问题。
然而,为避免系统升级过程中无法启动的问题,上述A/B分区升级方案对各个待升级系统的存储空间具有较高要求,即系统存储空间需要足够大,进而需要嵌入式设备厂商在设备制造阶段增加制造成本。
发明内容
本申请实施例公开一种系统升级方法、装置、电子设备和介质,以优化现有的系统升级方法,减少对系统存储空间的占用。
第一方面,本申请实施例公开了一种系统升级方法,包括:
从待升级的至少两个分区中确定当前分区;
将所述当前分区中的原镜像数据写入备份分区进行备份;
在所述当前分区中写入新镜像数据,以对所述当前分区进行升级;
其中,所述至少两个分区复用所述备份分区进行升级。
上述申请中的一个实施例具有如下优点或有益效果:通过在系统升级过程中,待升级的各分区对备份分区进行复用,解决了现有系统升级方案对系统存储空间占用较大的问题,减少了对系统存储空间的占用,节省了系统存储空间,降低了对系统存储的硬件要求。
可选的,所述从待升级的至少两个分区中确定当前分区,包括:
根据所述至少两个分区的升级顺序,确定当前分区标识;
根据所述当前分区标识,从所述待升级的至少两个分区中确定所述当前分区。
上述申请中的一个实施例具有如下优点或有益效果:按照分区升级顺序进逐个升级,保证了系统升级进程的条理性以及系统升级的完整性。
可选的,将所述当前分区中的原镜像数据写入备份分区进行备份之后,还包括:
如果检测到所述当前分区完成备份,则将所述备份分区作为系统下次启动时的加载分区;
相应地,在所述当前分区中写入新镜像数据,以对所述当前分区进行升级之后,还包括:
如果检测到所述当前分区完成升级,则将所述当前分区作为所述系统下次启动时的加载分区。
上述申请中的一个实施例具有如下优点或有益效果:通过动态变更系统下次启动的加载分区,在减少对系统存储空间的占用的同时,保证了系统升级过程中遇到断电、断网等意外情况时设备不会因升级失败导致系统无法正常启动。
可选的,所述方法还包括:
如果检测到所述当前分区升级失败,则记录所述当前分区升级失败信息,以使得所述系统重新启动后,基于所述升级失败的当前分区继续执行升级。
上述申请中的一个实施例具有如下优点或有益效果:通过记录分区升级失败信息,系统重新启动后,可以基于该升级失败的分区继续升级,无需从头开始,提高了系统升级效率。
可选的,在将所述当前分区中的原镜像数据写入备份分区进行备份之前,还包括:
确定所述待升级的至少两个分区中每个分区的存储空间;
根据所述每个分区的存储空间,确定满足存储要求的备份分区。
可选的,所述系统升级方法应用于嵌入式系统。
上述申请中的一个实施例具有如下优点或有益效果:嵌入式设备通常属于低成本设备,当系统升级过程中对系统存储空间占用较小时,可以节省系统存储空间,降低对设备硬件的要求,进而降低了制造商的设备造价成本。
第二方面,本申请实施例还公开了一种系统升级装置,包括:
当前分区确定模块,用于从待升级的至少两个分区中确定当前分区;
原镜像数据备份模块,将所述当前分区中的原镜像数据写入备份分区进行备份;
分区升级模块,用于在所述当前分区中写入新镜像数据,以对所述当前分区进行升级;
其中,所述至少两个分区复用所述备份分区进行升级。
第三方面,本申请实施例还公开了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请实施例任一所述的系统升级方法。
第四方面,本申请实施例还公开了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请实施例任一所述的系统升级方法。
根据本申请实施例的技术方案,通过在系统升级过程中,各待升级分区对备份分区进行复用,解决了现有系统升级方案对系统存储空间占用较大的问题,实现了对现有系统升级方案的优化,减少了对系统存储空间的占用,节省了系统存储空间,降低了对系统存储空间的硬件要求,进而降低了制造商对设备的制造成本。上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例公开的一种系统升级方法的流程图;
图2是根据本申请实施例公开的一种系统分区的示意图;
图3是根据本申请实施例公开的另一种系统升级方法的流程图;
图4是根据本申请实施例公开的又一种系统升级方法的流程图;
图5是根据本申请实施例公开的一种系统升级装置的结构示意图;
图6是根据本申请实施例公开的一种电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例公开的一种系统升级方法的流程图,本实施例可适用于对包括多个待升级分区的系统进行升级或更新的情况。本实施例公开的方法可以由系统升级装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成在任意的可升级的电子设备上,例如服务器、移动终端、个人电脑等。
本实施例公开的系统升级方法可以应用于任意的需要对系统中的多个分区分别进行升级,以实现系统完整升级的设备系统中,包括但不限于嵌入式系统。本实施例中待升级的设备系统包括至少两个待升级的分区,每个分区的升级逻辑相同,因此,在对本实施例的技术方案进行解释说明的过程中,具体以待升级的当前分区为例,进行示例性说明。
如图1所示,本实施例公开的系统升级方法可以包括:
S101、从待升级的至少两个分区中确定当前分区。
在本实施例中,当电子设备系统运行过程中,检测到升级需求时,可以触发系统分区升级请求,按照预先设定的当前分区确定策略,确定待升级的当前分区,例如按照系统开发过程中设定的分区升级顺序,或者按照系统中各分区中存储数据的重要性确定的待升级分区的优先级等,确定待升级的当前分区。
示例性的,从待升级的至少两个分区中确定当前分区,包括:
根据至少两个分区的升级顺序,确定当前分区标识,其中,分区标识用于唯一性的区分每个分区;
根据当前分区标识,从待升级的至少两个分区中确定当前分区。
例如,系统开发过程中按照分区升级顺序,将各个分区的分区标识进行排序,并记录排序结果,后续按照该排序结果对各分区进行逐个升级,以保证系统升级的完整性,以及系统升级进程的条理性。
S102、将当前分区中的原镜像数据写入备份分区进行备份。
原镜像数据是指每个分区在升级之前的存储数据,根据分区的不同,存储的镜像数据不同。在进行升级之前,将当前分区中的原镜像数据写入或者拷贝至备份分区中进行备份,可以确保当前分区升级过程中,原镜像数据不被丢失,进而确保一旦升级失败时,系统可以基于原镜像数据重新启动。其中,待升级的至少两个分区复用备份分区进行升级,即备份分区可以根据系统升级过程中当前分区的变化,动态变更当前指向的分区,并动态存储对应分区的原镜像数据。
图2是根据本申请实施例公开的一种系统分区的示意图,如图2所示,假设系统中包括N个待升级分区,在各分区升级过程中,对备份分区进行复用,N为正整数。例如,如果当前分区为分区1,则备份分区对分区1的原镜像数据进行备份,分区1升级完成后,如果当前分区变更为分区2,则备份分区对分区2的原镜像数据进行备份,此时,分区2的原镜像数据替换分区1的原镜像数据。其中,配置分区可以用于记录:升级过程中的当前分区信息,例如当前分区标识,当前分区是否升级成功,系统下次重新启动时需要加载的分区,各分区是否全部升级完成,以及系统升级进程等信息。图2中的第一个分区是指系统的加载程序分区(bootloader)。在嵌入式系统中,配置分区可以是指flags分区。
相比于现有的A/B分区升级方案,本实施例中无需为每个分区均配置与其同等存储空间的备份分区,通过备份分区的复用,减少了系统升级过程中对系统存储空间的占用。系统存储空间与设备造价成本直接相关,因而系统升级过程中占用的存储空间减少,可以减少制造商对电子设备硬件的制造成本,这对于成本较低的嵌入式设备而言,是非常有利的。
可选的,在将当前分区中的原镜像数据写入备份分区进行备份之前,该系统升级方法还包括:
确定待升级的至少两个分区中每个分区的存储空间;
根据每个分区的存储空间,确定满足存储要求的备份分区。
满足存储要求是指备份分区可以完整存储任一待升级分区的原镜像数据。例如,对各分区的存储空间进行分析,确定出最大的存储空间,将该最大存储空间作为备份分区的存储空间大小,在确保备份空间够用的基础上,不会增加额外的存储空间占用。需要说明的是,关于备份分区的具体确定时机,可以是在执行待升级的各分区中原镜像数据的备份之前,系统划分各个分区的过程中确定;也可以是在执行待升级的各分区中原镜像数据的备份之前,划分完成待升级的各分区之后确定。在确保各分区中原镜像数据被成功备份的基础上,本实施例对备份分区的具体确定时机不作限定。
S103、在当前分区中写入新镜像数据,以对当前分区进行升级。
其中,写入当前分区中的新镜像数据可以是预先存储的设备本地数据,也可以是从云端获取的数据。按照当前分区的存储路径和分区标识等信息,将新镜像数据写入当前分区,替换或覆盖当前分区中的原镜像数据。当前分区升级完成后,变更备份分区指向的新的当前分区,开始对新的当前分区进行升级,即重复执行上述S101至S103的操作,最终实现对系统的完整升级。
根据本申请实施例的技术方案,通过在系统升级过程中,待升级的各分区对备份分区进行复用,解决了现有系统升级方案对系统存储空间占用较大的问题,实现了对现有系统升级方案的优化,减少了对系统存储空间的占用,节省了系统存储空间,降低了对系统存储的硬件要求,进而降低了制造商对设备的制造成本。
图3是根据本申请实施例公开的另一种系统升级方法的流程图,基于上述实施方式进一步进行优化与扩展,并可以与上述实施方式中各个可选技术方案结合。如图3所示,该方法可以包括:
S201、从待升级的至少两个分区中确定当前分区。
S202、将当前分区中的原镜像数据写入备份分区进行备份。
其中,待升级的至少两个分区复用备份分区进行升级。
S203、如果检测到当前分区完成备份,则将备份分区作为系统下次启动时的加载分区。
当检测到当前分区完成备份后,通过将备份分区作为系统下次启动时的加载分区,可以确保在当前分区升级过程中,如果发生意外导致升级失败,设备系统可以基于当前分区的原镜像数据执行重新启动。
S204、在当前分区中写入新镜像数据,以对当前分区进行升级。
S205、如果检测到当前分区完成升级,则将当前分区作为系统下次启动时的加载分区。
当前分区完成升级后,将当前分区作为系统下次启动时的加载分区,实现设备系统重新启动时加载升级后的分区。此外,新镜像数据写入完成后,可以将备份分区的存储状态调整为无效,当下次需要写入其他分区的原镜像数据时,可以再次调整为有效状态,避免系统重新启动过程中,加载分区出现错误,例如应该加载分区升级后的新镜像数据,但系统实际上仍是加载备份分区中原镜像数据。
在本实施例中,当前分区的原镜像数据备份完成后和当前分区升级完成后,均会动态变更系统下次启动的加载分区,确保了在系统升级过程中,无论当前分区是否升级成功,系统均可正常启动,即确保了系统分区升级的原子性。另一方面,这也表明了本实施例技术方案可以应用于待升级的各分区之间不存在强依赖关系的系统中,即系统可以通过加载已经完成升级的分区和未升级的分区,实现系统的重新启动。
进一步的,该系统升级方法还包括:
如果检测到当前分区升级失败,则记录当前分区升级失败信息,以使得系统重新启动后,基于升级失败的当前分区继续执行升级。通过记录当前分区升级失败信息,相当于记录了系统升级的进度,当系统重新启动后,可以通过检测记录的分区升级失败信息,基于上次升级失败的分区,继续执行系统升级,已经完成升级的分区升级结果有效,而无需再次从第一个系统分区开始进行分区升级,从而提高系统升级效率。
图4是根据本申请实施例公开的又一种系统升级方法的流程图。具体的,图4以嵌入式系统中待升级的分区包括内核分区(kernel)、根文件分区(rootfs)和用户数据分区(data)为例,对本申请实施例的技术方案进行示例性说明,但不应理解为对本申请实施例的具体限定。图4中分区名后的A\B标识用于对待升级分区和备份分区进行区分。如图4所示,涉及的升级流程如下:
1.首先升级内核分区A
(a)将内核分区A的原镜像数据拷贝至备份分区B(Dynamic)中,并在配置分区(flags)中将系统下次启动的加载分区变更为备份分区B;
(b)将内核分区A的新镜像数据写入内核分区A,将新镜像数据写入成功后的内核分区A记作内核分区B,并在配置分区中将系统下次启动的加载分区变更为内核分区B;
2.其次升级根文件分区A
(c)将根文件分区A的原镜像数据拷贝至备份分区B中,并在配置分区中将系统下次启动挂载根文件的分区变更为备份分区B;
(d)将根文件分区A的新镜像数据写入根文件分区A,将新镜像数据写入成功后的根文件分区A记作根文件分区B,并在配置分区中将系统下次启动挂载根文件的分区变更为根文件分区B;
3.最后升级用户数据分区A
(e)将用户数据分区A的原镜像数据拷贝至备份分区B中,并在配置分区中将系统下次启动加载用户数据的分区变更为备份分区B;
(f)将用户数据分区A的新镜像数据写入用户数据分区A,将新镜像数据写入成功后的用户数据分区A记作用户数据分区B,并在配置分区中将系统下次启动加载用户数据的分区变更为用户数据分区B。
4.系统升级完成
所有分区升级完成,重启设备。
其中,在每个分区升级过程中,可以对每个分区的升级结果进行监测,并在配置分区中记录待升级的所有分区是否全部完成升级,如果是则记为Y,如果否则记为N,实现实时动态监测系统的升级进程。
根据本申请实施例的技术方案,通过在系统升级过程中,待升级的各分区对备份分区进行复用,以及在每个分区的原镜像数据完成备份和每个分区完成升级后,对系统下次启动的加载分区进行动态变更,在减少对系统存储空间的占用的同时,保证了系统升级过程中遇到断电、断网等意外情况时设备不会因升级失败导致系统无法正常启动,实现了对现有系统升级方案的优化,降低了对系统存储的硬件要求。
图5是根据本申请实施例公开的一种系统升级装置的结构示意图,本实施例可适用于对包括多个待升级分区的系统进行升级或更新的情况。本实施例公开的系统升级装置可以采用软件和/或硬件的方式实现,并可集成在任意的可升级的电子设备上,例如服务器、移动终端、个人电脑等。
如图5所示,本实施例公开的系统升级装置500可以包括当前分区确定模块501、原镜像数据备份模块502和分区升级模块503,其中:
当前分区确定模块501,用于从待升级的至少两个分区中确定当前分区;
原镜像数据备份模块502,将当前分区中的原镜像数据写入备份分区进行备份;
分区升级模块503,用于在当前分区中写入新镜像数据,以对当前分区进行升级;
其中,至少两个分区复用备份分区进行升级。
可选的,当前分区确定模块501包括:
当前分区标识确定单元,用于根据至少两个分区的升级顺序,确定当前分区标识;
当前分区确定单元,用于根据当前分区标识,从待升级的至少两个分区中确定当前分区。
可选的,该系统升级装置还包括:
第一加载分区确定模块,用于在原镜像数据备份模块502执行将当前分区中的原镜像数据写入备份分区进行备份的操作之后,如果检测到当前分区完成备份,则将备份分区作为系统下次启动时的加载分区;
第二加载分区确定模块,用于在分区升级模块503执行在当前分区中写入新镜像数据,以对当前分区进行升级的操作之后,如果检测到当前分区完成升级,则将当前分区作为系统下次启动时的加载分区。
可选的,该系统升级装置还包括:
升级失败信息记录模块,用于如果检测到当前分区升级失败,则记录当前分区升级失败信息,以使得系统重新启动后,基于升级失败的当前分区继续执行升级。
可选的,该系统升级装置还包括:
存储空间确定模块,用于在原镜像数据备份模块502执行将当前分区中的原镜像数据写入备份分区进行备份的操作之前,确定待升级的至少两个分区中每个分区的存储空间;
备份分区确定单元,用于根据每个分区的存储空间,确定满足存储要求的备份分区。
可选的,该系统升级装置可以配置于嵌入式系统。
本申请实施例所公开的系统升级装置500可执行本申请实施例所公开的任意的系统升级方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本申请任意方法实施例中的描述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,图6是用于实现本申请实施例中系统升级方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请实施例的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作,例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统。图6中以一个处理器601为例。
存储器602即为本申请实施例所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请实施例所提供的系统升级方法。本申请实施例的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请实施例所提供的系统升级方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中系统升级方法对应的程序指令/模块,例如,附图5所示的当前分区确定模块501、原镜像数据备份模块502和分区升级模块503。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的系统升级方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据系统升级方法的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至用于实现本实施例中系统升级方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
用于实现本实施例中系统升级方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与用于实现本实施例中系统升级方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置和触觉反馈装置等,其中,辅助照明装置例如发光二极管(Light Emitting Diode,LED);触觉反馈装置例如,振动电机等。该显示设备可以包括但不限于,液晶显示器(Liquid Crystal Display,LCD)、LED显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路(Application Specific Integrated Circuit,ASIC)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序,也称作程序、软件、软件应用、或者代码,包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置,例如,磁盘、光盘、存储器、可编程逻辑装置(Programmable Logic Device,PLD),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置,例如,阴极射线管(Cathode Ray Tube,CRT)或者LCD监视器;以及键盘和指向装置,例如,鼠标或者轨迹球,用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈,例如,视觉反馈、听觉反馈、或者触觉反馈;并且可以用任何形式,包括声输入、语音输入或者、触觉输入,来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统,例如,作为数据服务器,或者实施在包括中间件部件的计算系统,例如,应用服务器,或者实施在包括前端部件的计算系统,例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互,或者实施在包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信,例如通信网络,来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过在系统升级过程中,待升级的各分区对备份分区进行复用,以及在每个分区的原镜像数据完成备份和每个分区完成升级后,对系统下次启动的加载分区进行动态变更,在减少对系统存储空间的占用的同时,保证了系统升级过程中遇到断电、断网等意外情况时设备不会因升级失败导致系统无法正常启动,降低了对系统存储的硬件要求。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (9)
1.一种系统升级方法,其特征在于,包括:
从待升级的至少两个分区中确定当前分区;
将所述当前分区中的原镜像数据写入备份分区进行备份;
如果检测到所述当前分区完成备份,则将所述备份分区作为系统下次启动时的加载分区;
在所述当前分区中写入新镜像数据,以对所述当前分区进行升级;
如果检测到所述当前分区完成升级,则将所述当前分区作为所述系统下次启动时的加载分区;
其中,所述至少两个分区复用所述备份分区进行升级。
2.根据权利要求1所述的方法,其特征在于,所述从待升级的至少两个分区中确定当前分区,包括:
根据所述至少两个分区的升级顺序,确定当前分区标识;
根据所述当前分区标识,从所述待升级的至少两个分区中确定所述当前分区。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果检测到所述当前分区升级失败,则记录所述当前分区升级失败信息,以使得所述系统重新启动后,基于所述升级失败的当前分区继续执行升级。
4.根据权利要求1所述的方法,其特征在于,在将所述当前分区中的原镜像数据写入备份分区进行备份之前,还包括:
确定所述待升级的至少两个分区中每个分区的存储空间;
根据所述每个分区的存储空间,确定满足存储要求的备份分区。
5.根据权利要求1所述的方法,其特征在于,所述系统升级方法应用于嵌入式系统。
6.一种系统升级装置,其特征在于,包括:
当前分区确定模块,用于从待升级的至少两个分区中确定当前分区;
原镜像数据备份模块,将所述当前分区中的原镜像数据写入备份分区进行备份;
第一加载分区确定模块,用于在将所述当前分区中的原镜像数据写入备份分区进行备份之后,如果检测到所述当前分区完成备份,则将所述备份分区作为系统下次启动时的加载分区;
分区升级模块,用于在所述当前分区中写入新镜像数据,以对所述当前分区进行升级;
第二加载分区确定模块,用于在所述当前分区中写入新镜像数据,以对所述当前分区进行升级之后,如果检测到所述当前分区完成升级,则将所述当前分区作为所述系统下次启动时的加载分区;
其中,所述至少两个分区复用所述备份分区进行升级。
7.根据权利要求6所述的装置,其特征在于,所述当前分区确定模块包括:
当前分区标识确定单元,用于根据所述至少两个分区的升级顺序,确定当前分区标识;
当前分区确定单元,用于根据所述当前分区标识,从所述待升级的至少两个分区中确定所述当前分区。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的系统升级方法。
9.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的系统升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911018452.1A CN110780890B (zh) | 2019-10-24 | 2019-10-24 | 系统升级方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911018452.1A CN110780890B (zh) | 2019-10-24 | 2019-10-24 | 系统升级方法、装置、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110780890A CN110780890A (zh) | 2020-02-11 |
CN110780890B true CN110780890B (zh) | 2023-06-06 |
Family
ID=69386324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911018452.1A Active CN110780890B (zh) | 2019-10-24 | 2019-10-24 | 系统升级方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110780890B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522571B (zh) * | 2020-03-12 | 2024-02-09 | 深圳英飞拓仁用信息有限公司 | 设备升级方法、装置、终端设备及存储介质 |
CN111679848A (zh) * | 2020-04-16 | 2020-09-18 | 福建星网物联信息系统有限公司 | 一种软件更新方法及终端 |
CN111522566B (zh) * | 2020-04-23 | 2023-08-01 | Oppo(重庆)智能科技有限公司 | 一种系统升级方法、终端及存储介质 |
CN111698558A (zh) * | 2020-06-01 | 2020-09-22 | 深圳Tcl数字技术有限公司 | 电视软件升级方法、电视终端及计算机可读存储介质 |
CN112631626B (zh) * | 2020-12-02 | 2023-11-14 | 广东中兴新支点技术有限公司 | 基于双系统的系统升级方法、装置及存储介质 |
CN112363739B (zh) * | 2021-01-18 | 2021-04-09 | 杭州觅睿科技股份有限公司 | 终端设备的分区镜像在线升级方法、装置、设备及介质 |
CN112954036B (zh) * | 2021-02-03 | 2023-06-30 | 博为科技有限公司 | 一种软件升级方法、终端设备及系统 |
CN113050965A (zh) * | 2021-03-12 | 2021-06-29 | 成都国科微电子有限公司 | 一种嵌入式系统升级方法、装置、设备及介质 |
CN113190245A (zh) * | 2021-04-13 | 2021-07-30 | 佳格科技(浙江)股份有限公司 | 多备份系统升级方法 |
CN113900699B (zh) * | 2021-05-26 | 2022-09-27 | 荣耀终端有限公司 | 一种系统升级方法和电子设备 |
CN116069375A (zh) * | 2021-06-15 | 2023-05-05 | 荣耀终端有限公司 | 操作系统数据更新方法、设备及存储介质 |
CN113900673B (zh) * | 2021-06-15 | 2022-10-28 | 荣耀终端有限公司 | 系统安装包的管理方法、设备、存储介质及程序产品 |
CN113485736B (zh) * | 2021-06-17 | 2024-05-07 | 厦门亿联网络技术股份有限公司 | 一种系统增量更新方法及装置 |
CN113852717B (zh) * | 2021-09-27 | 2024-03-19 | 努比亚技术有限公司 | 一种壁纸模块位置迁移方法、设备及计算机可读存储介质 |
CN114780019A (zh) * | 2022-03-22 | 2022-07-22 | 江苏泽景汽车电子股份有限公司 | 电子设备的管理方法、装置、电子设备及存储介质 |
CN115017116A (zh) * | 2022-06-24 | 2022-09-06 | 杭州杰峰科技有限公司 | 一种嵌入式系统更新方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020865A (zh) * | 2016-05-10 | 2016-10-12 | 百度在线网络技术(北京)有限公司 | 一种系统升级方法和装置 |
CN107247603A (zh) * | 2017-04-18 | 2017-10-13 | 深圳市广和通无线股份有限公司 | 支持固件自动恢复功能的远程升级方法与系统 |
CN109032632A (zh) * | 2018-07-13 | 2018-12-18 | 深圳高新兴物联科技有限公司 | 一种fota升级方法、无线通信终端及存储介质 |
CN110134426A (zh) * | 2019-04-18 | 2019-08-16 | 深圳市致宸信息科技有限公司 | 一种嵌入式系统升级方法、装置及终端设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610840A (zh) * | 2015-10-22 | 2017-05-03 | 深圳市中兴微电子技术有限公司 | 一种无线固件升级方法及系统 |
CN108196870A (zh) * | 2017-12-29 | 2018-06-22 | 北京臻迪科技股份有限公司 | 升级方法及装置 |
TWI722269B (zh) * | 2018-01-26 | 2021-03-21 | 和碩聯合科技股份有限公司 | 韌體更新方法及使用此方法的電子裝置 |
CN109634645B (zh) * | 2018-12-28 | 2022-03-22 | 深圳市有方科技股份有限公司 | 固件升级方法及终端 |
-
2019
- 2019-10-24 CN CN201911018452.1A patent/CN110780890B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020865A (zh) * | 2016-05-10 | 2016-10-12 | 百度在线网络技术(北京)有限公司 | 一种系统升级方法和装置 |
CN107247603A (zh) * | 2017-04-18 | 2017-10-13 | 深圳市广和通无线股份有限公司 | 支持固件自动恢复功能的远程升级方法与系统 |
CN109032632A (zh) * | 2018-07-13 | 2018-12-18 | 深圳高新兴物联科技有限公司 | 一种fota升级方法、无线通信终端及存储介质 |
CN110134426A (zh) * | 2019-04-18 | 2019-08-16 | 深圳市致宸信息科技有限公司 | 一种嵌入式系统升级方法、装置及终端设备 |
Non-Patent Citations (3)
Title |
---|
Research firmware update over the air from the cloud;Neven Nikolov;《2018 IEEE XXVII International Scientific Conference Electronics - ET》;第1-4页 * |
分区的备份和还原;郭小芬;《电脑迷》(第5期);第50页 * |
基于Android平台OTA差分升级系统设计与实现;施超;《信息技术》(第10期);第137-140页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110780890A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110780890B (zh) | 系统升级方法、装置、电子设备和介质 | |
CN111258609B (zh) | Kubernetes集群的升级方法、装置、电子设备和介质 | |
US11297126B2 (en) | System and method for image file generation and management | |
CN111770169A (zh) | 设备固件升级的方法、装置、设备以及存储介质 | |
EP3869336A1 (en) | Method and apparatus for processing development machine operation task, device and storage medium | |
CN110995480B (zh) | 区块链网络部署方法、装置、电子设备和介质 | |
US20130086571A1 (en) | Dynamically Updating Firmware In A Computing System | |
CN111506401B (zh) | 自动驾驶仿真任务调度方法、装置、电子设备及存储介质 | |
CN110520844A (zh) | 云管理平台、虚拟机管理方法及其系统 | |
CN112328296B (zh) | 针对跨平台应用的软件更新方法、装置、设备和介质 | |
CN111562969B (zh) | 一种区块链的智能合约实现方法、装置、设备和介质 | |
CN112328328B (zh) | 设备驱动重载的方法、装置、设备以及存储介质 | |
CN108776587B (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
CN110597797A (zh) | 表空间碎片回收方法、装置、电子设备及存储介质 | |
CN111708653B (zh) | 内存故障处理方法、装置、电子设备和存储介质 | |
CN114721686A (zh) | 配置数据更新方法、装置、电子设备和存储介质 | |
CN110532225A (zh) | 存储引擎切换方法、装置、电子设备和介质 | |
CN111782357B (zh) | 标签控制方法及装置、电子设备和可读存储介质 | |
CN111597192B (zh) | 数据库的切换控制方法、装置及电子设备 | |
CN111399888B (zh) | 音频处理芯片的处理方法、装置及电子设备 | |
JP2021131897A (ja) | スケジューリング方法、装置、設備、記憶設備、及びプログラム | |
CN110728773A (zh) | 一种图像存储的方法、装置和电子设备 | |
CN111694608B (zh) | 终端设备的系统升级方法和装置、电子设备和终端设备 | |
KR20180023575A (ko) | 펌웨어 자동 업데이트 방법 및 이의 방법을 기록한 컴퓨터 판독 가능한 기록 매체 | |
CN115576565A (zh) | 应用程序的部署方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |