CN117687663A - 基于ota的分区动态调整方法、装置、设备及存储介质 - Google Patents
基于ota的分区动态调整方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117687663A CN117687663A CN202410158248.4A CN202410158248A CN117687663A CN 117687663 A CN117687663 A CN 117687663A CN 202410158248 A CN202410158248 A CN 202410158248A CN 117687663 A CN117687663 A CN 117687663A
- Authority
- CN
- China
- Prior art keywords
- partition
- ota
- target
- slot
- target domain
- 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.)
- Granted
Links
- 238000005192 partition Methods 0.000 title claims abstract description 294
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012795 verification Methods 0.000 claims description 12
- 238000013316 zoning Methods 0.000 claims 2
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于OTA的分区动态调整方法、装置、设备及存储介质,涉及计算机技术领域,包括当检测到OTA对目标域所写的新分区表时,控制其他独立运行域根据所述新分区表对所述目标域进行重新分区,得到新分区,以供所述其他独立运行域基于所述新分区对与所述目标域对应的备份槽进行OTA升级;待OTA升级完毕,基于所述备份槽和所述新分区表控制目标域的启动。通过本申请,可在OTA架构下实现分区的在线可靠动态调整以及OTA升级。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种基于OTA的分区动态调整方法、装置、设备及存储介质。
背景技术
一般来说,OTA(Over-The-Air,空中下载)并不支持重新划分分区,因此对于UFS(通用闪存存储,其是一种主要为移动设备设计的高速、高性能闪存存储接口)、eMMC(Embedded Multi Media Card,其是针对手机或平板电脑等产品的内嵌式存储器标准规格)等存储而言,在现有OTA架构下很难进行可靠的分区调整。比如,一旦确定了整个UFS上的分区表设计和各个分区的大小设计之后,后面如果想修改分区的大小或者增加、减少分区,那么很难通过OTA进行可靠的调整。由此可见,如何在OTA架构下可靠的实现分区的动态调整是当前亟需解决的问题。
发明内容
本申请提供一种基于OTA的分区动态调整方法、装置、设备及存储介质,可以解决现有技术中存在的无法可靠实现OTA架构下分区的动态调整技术问题。
第一方面,本申请实施例提供一种基于OTA的分区动态调整方法,所述基于OTA的分区动态调整方法包括:
当检测到OTA对目标域所写的新分区表时,控制其他独立运行域根据所述新分区表对所述目标域进行重新分区,得到新分区,以供所述其他独立运行域基于所述新分区对与所述目标域对应的备份槽进行OTA升级;
待OTA升级完毕,基于所述备份槽和所述新分区表控制目标域的启动。
结合第一方面,在一种实施方式中,在所述当检测到OTA对目标域所写的新分区表时的步骤之前,还包括:
将与所述目标域对应的目标分区表备份至目标备份存储模块中,并将与所述目标分区表对应的A槽和B槽分别对应存储至与所述目标域对应的目标存储盘的首、尾区域,以供重新分区失败或OTA升级失败时进行回退操作;其中,若A槽为当前运行槽,则B槽为备份槽。
结合第一方面,在一种实施方式中,所述基于所述备份槽和所述新分区表控制目标域的启动,包括:
对所述新分区表的正确性进行校验;
若校验通过,则基于备份槽启动所述目标域;
当检测到所述目标域启动成功时,判定OTA升级成功,并将所述新分区表备份至所述目标备份存储模块,以替换所述目标分区表。
结合第一方面,在一种实施方式中,当A槽为当前运行槽且B槽为备份槽时,所述方法还包括:
若校验未通过或所述目标域启动失败,则控制目标域回退至A槽启动,从所述目标备份存储模块中恢复目标分区表;
控制B槽的分区还原至与所述目标分区表对应的分区。
结合第一方面,在一种实施方式中,在所述当检测到OTA对目标域所写的新分区表时的步骤之后,还包括:
判断所述目标备份存储模块中的目标分区表是否正确;
若正确,则执行所述控制其他独立运行域根据所述新分区表对所述目标域进行重新分区的步骤;
若不正确,则重新获取与目标存储盘对应的目标分区表;
将目标备份存储模块中原有的目标分区表替换为重新获取的目标分区表,并执行所述控制其他独立运行域根据所述新分区表对所述目标域进行重新分区的步骤。
结合第一方面,在一种实施方式中,所述方法还包括:
当未检测到OTA对目标域所写的新分区表时,控制其他独立运行域对与所述目标域对应的备份槽进行OTA升级。
第二方面,本申请实施例提供了一种基于OTA的分区动态调整装置,所述基于OTA的分区动态调整装置包括:
调整升级模块,其用于当检测到OTA对目标域所写的新分区表时,控制其他独立运行域根据所述新分区表对所述目标域进行重新分区,得到新分区,以供所述其他独立运行域基于所述新分区对与所述目标域对应的备份槽进行OTA升级;
启动控制模块,其用于待OTA升级完毕,基于所述备份槽和所述新分区表控制目标域的启动。
结合第二方面,在一种实施方式中,所述基于OTA的分区动态调整装置还包括:备份存储模块,其用于将与所述目标域对应的目标分区表备份至目标备份存储模块中,并将与所述目标分区表对应的A槽和B槽分别对应存储至与所述目标域对应的目标存储盘的首、尾区域,以供重新分区失败或OTA升级失败时进行回退操作;其中,若A槽为当前运行槽,则B槽为备份槽。
第三方面,本申请实施例提供了一种基于OTA的分区动态调整设备,所述基于OTA的分区动态调整设备包括处理器、存储器以及存储在所述存储器上并可被所述处理器执行的基于OTA的分区动态调整程序,其中所述基于OTA的分区动态调整程序被所述处理器执行时,实现如前述的基于OTA的分区动态调整方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有基于OTA的分区动态调整程序,其中所述基于OTA的分区动态调整程序被处理器执行时,实现如前述的基于OTA的分区动态调整方法的步骤。
本申请实施例提供的技术方案带来的有益效果包括:
当检测到OTA需要对目标域进行重新分区时,通过控制其他独立运行域根据OTA所写的新分区表对目标域进行重新分区,以得到新分区,并使其他独立运行域基于新分区对与目标域对应的备份槽进行OTA升级,即在其他独立的运行域进行当前域分区的动态调整和OTA升级,且待OTA升级完毕后,基于备份槽和新分区表来控制目标域的启动,进而在OTA架构下实现分区的在线可靠动态调整以及OTA升级,解决了现有技术中存在的无法可靠实现OTA架构下分区的动态调整技术问题。
附图说明
图1为本申请基于OTA的分区动态调整方法实施例的流程示意图;
图2为常规AB分区存储示意图;
图3为本申请实施例方案中涉及的AB分区存储示意图;
图4为本申请实施例方案中涉及的分区动态调整的具体流程示意图;
图5为本申请实施例方案中涉及的基于OTA的分区动态调整设备的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先,对本申请中的部分技术术语进行解释说明,以便于本领域技术人员理解本申请。
多域:指同一个SoC(System-on-a-Chip,系统级芯片)片内划分的不同子系统,各个子系统有自己独立的core、GIC和TCU等组件且能独立的运行不同的操作系统,各个域可以独立运行互不干扰,又可以通过片内总线NOC等互相共享包括网络,内存在内的部分硬件资源。其中不同的操作系统如一个域运行Android系统,一个域运行Ubuntu系统等。
OTA:指通过网络连接等非近距离有线连接来升级或更新设备的软件版本,比如操作系统或者系统固件等的在线升级。
LUN(Logical Unit Number):指UFS的逻辑单元号,每个UFS设备可以包含一个或多个LUN,每个LUN可以被视为一个独立的逻辑存储单元。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
第一方面,本申请实施例提供一种基于OTA的分区动态调整方法。
一实施例中,参照图1,图1为本申请基于OTA的分区动态调整方法实施例的流程示意图。如图1所示,基于OTA的分区动态调整方法包括:
步骤S10:当检测到OTA对目标域所写的新分区表时,控制其他独立运行域根据所述新分区表对所述目标域进行重新分区,得到新分区,以供所述其他独立运行域基于所述新分区对与所述目标域对应的备份槽进行OTA升级。
示范性的,需要说明的是,目标域指的是当前需要进行OTA升级的子系统,根据已设计好的目标分区表对目标域所在的目标存储盘进行常规的AB分区后,将得到多个分区,比如分区1、分区2以及分区3等;然后将分区1至分区3分别拷贝至A槽(即A slot)和B槽(即Bslot),使得A槽和B槽均包括分区1至分区3。假设目标域基于A槽启动,则其在运行过程中仅使用A槽中的分区,且B槽将作为备份槽,一旦当前运行的A槽出现问题,系统仍可以选择B槽进行启动,从而保证系统良好的可用性。
在本实施例中,当需要对存储盘进行分区调整和OTA升级时,将使用一个独立的运行域去更新另外一个域,其中,可通过分区调整标志位信息来确定是否需要对当前域进行重新分区处理,比如分区调整标志位置1时,表示需要对当前域进行重新分区,而若分区调整标志位置0,则表示不需要对当前域进行重新分区;此外,若需要进行重新分区,则会生成对应的新分区表,通过该新分区表可确定如何对目标域进行重新分区调整、哪些数据需要进行更新以及每个数据包分别对应的新分区等。
可以理解的是,若其他独立运行域需要对目标域进行OTA操作时,需要依赖目标域对应的OTA配置信息,该OTA配置信息包括分区调整标志位信息和新分区表,因此,当目标域从OTA服务器上下载OTA包后,目标域停止运行,且其他独立运行域根据上述OTA包中的OTA配置信息对目标域进行重新分区处理。具体的,待OTA校验完成目标域重启后,其他独立运行域可通过该分区调整标志位确定是否需要对目标域进行重新分区,若需要进行重新分区,则可基于新分区表对目标域进行重新分区以及数据更新,即可得到新分区,以实现对目标域的分区动态调整;然后其他独立运行域将基于该新分区对目标域的备份槽进行OTA升级。
步骤S20:待OTA升级完毕,基于所述备份槽和所述新分区表控制目标域的启动。
示范性的,在本实施例中,当OTA升级完毕后,将对槽切换标志位进行更新,以表征目标域是否需要切换至备份槽进行启动。比如,槽切换标志位置1,说明需要进行槽切换,则控制目标域从当前槽切换至备份槽进行启动,而若槽切换标志位置0,说明不需要进行槽切换,则控制目标域继续从当前槽进行启动。因此,当根据槽切换标志位确定需要进行槽切换时,将基于备份槽启动目标域并通过新分区表进行分区校验,待确定系统功能正常,即可成功启动目标域,并说明OTA升级成功,至此完成分区动态调整和OTA升级。
由此可见,本实施例通过在其他独立的运行域实现当前域分区的可靠动态调整和OTA升级,解决了现有技术中存在的无法可靠实现OTA架构下分区的动态调整技术问题。
进一步地,一实施例中,在所述当检测到OTA对目标域所写的新分区表时的步骤之前,还包括:
将与所述目标域对应的目标分区表备份至目标备份存储模块中,并将与所述目标分区表对应的A槽和B槽分别对应存储至与所述目标域对应的目标存储盘的首、尾区域,以供重新分区失败或OTA升级失败时进行回退操作;其中,若A槽为当前运行槽,则B槽为备份槽。
示范性的,可以理解的是,相关技术中即使支持OTA重新分区,其也未考虑重新分区失败之后的回退问题,即一旦重新分区失败则可能会导致整个系统变砖。而为了解决该问题,本实施例将目标域的目标分区表备份至一个独立的目标备份存储模块中,以使得在出现重新分区失败或OTA升级失败问题时,能够通过对已备份的目标分区表进行恢复,来还原备份槽中的原始分区和数据。
同时,将与目标分区表对应的A槽中的分区存放到目标存储盘的首部区域,并将与目标分区表对应的B槽中的分区存放到目标存储盘的尾部区域,且首尾之间可通过用户数据分区或者预留分区来隔开,进而使得在分区OTA失败时,实际数据读写也不会覆盖原有slot分区所在位置,从而可以通过还原分区表来使系统能够正常访问之前的slot数据。可以理解的是,A槽和B槽互为备份槽,即若A槽为当前运行槽,则B槽为备份槽,而若B槽为当前运行槽,则A槽为备份槽。
以目标存储盘是UFS且目标备份存储模块是UFS中的备份LUN为例,本实施例将把目标分区表备份到到一个单独的备份LUN上;同时,假设目标域经过常规AB分区后得到Part1和Part2,将Part1和Part2分别拷贝至A槽和B槽,则A槽中包括Part1 A和Part2 A,B槽中包括Part1 B和Part2 B;此时若按照常规方法将A槽和B槽中的分区存储至UFS,那么通过图2可知A槽和B槽中的分区存储位置是交叉且紧挨着,则对其中一个solt分区的操作将会覆盖到另外一个solt分区;而本实施例中,参见图3所示,则将A槽中的Part1 A和Part2 A放在UFS的首部区域,而B槽中的Part1 B和Part2 B则放在UFS的尾部区域,且首尾之间可通过数据LUN来隔开,使得A槽和B槽的分区能够相隔足够远,以保证对其中一个solt分区的操作不会覆盖到另外一个solt分区。
进一步地,一实施例中,所述基于所述备份槽和所述新分区表控制目标域的启动,包括:
对所述新分区表的正确性进行校验;
若校验通过,则基于备份槽启动所述目标域;
当检测到所述目标域启动成功时,判定OTA升级成功,并将所述新分区表备份至所述目标备份存储模块,以替换所述目标分区表。
示范性的,在本实施例中,当loader启动后,若监测到OTA分区调整,此时目标域将进行分区校验,即对新分区表的正确性进行校验,如果检验通过,说明更新后的数据是正确的,则正常从备份槽启动目标域;并在操作系统启动后,检测当前OTA状态,若正常,则目标域启动成功,说明系统功能正常,判定OTA升级成功,并将新分区表备份到目标备份存储模块,以替换目标备份存储模块中原有的目标分区表。
进一步地,一实施例中,当A槽为当前运行槽且B槽为备份槽时,所述方法还包括:
若校验未通过或所述目标域启动失败,则控制目标域回退至A槽启动,从所述目标备份存储模块中恢复目标分区表;
控制B槽的分区还原至与所述目标分区表对应的分区。
示范性的,在本实施例中,如果新分区表的正确性未通过校验,即分区校验未通过,说明更新后数据存在问题,则判定重新分区失败;或者当前OTA状态不正常,即目标域启动失败,说明系统功能不正常,则判定OTA升级失败;不管是以上哪种,均需要控制系统回退至本次升级之前,并进行报错。其中,在新分区表的正确性未通过校验时,可重新进行校验,若重新校验成功了,则可通过引导启动目标域,而若依然未通过校验,则回退至本次升级之前,并进行报错。
进一步地,一实施例中,在所述当检测到OTA对目标域所写的新分区表时的步骤之后,还包括:
判断所述目标备份存储模块中的目标分区表是否正确;
若正确,则执行所述控制其他独立运行域根据所述新分区表对所述目标域进行重新分区的步骤;
若不正确,则重新获取与目标存储盘对应的目标分区表;
将目标备份存储模块中原有的目标分区表替换为重新获取的目标分区表,并执行所述控制其他独立运行域根据所述新分区表对所述目标域进行重新分区的步骤。
示范性的,在本实施例中,对于其他独立运行域而言,在检测到目标域存在调整分区需求时,将对已备份的目标区分表的正确性进行判定,若正确,将根据新分区表对目标域进行重新分区;若不正确,则需要重新获取目标分区表,并将目标分区表重新存储至目标备份存储模块中,以替换目标备份存储模块中原有的目标分区表,进而保证OTA升级失败时,能够根据正确的目标分区表对备份槽进行还原。
进一步地,一实施例中,所述方法还包括:
当未检测到OTA对目标域所写的新分区表时,控制其他独立运行域对与所述目标域对应的备份槽进行OTA升级。
示范性的,在本实施例中,当根据分区调整标志位确定目标域不需要进行重新分区时,将使其他独立运行域直接对备份槽进行OTA升级,并槽切换标志位置1,以控制目标域切换至备份槽进行启动运行。
以下实施例将以目标域是X域、其他独立运行域是Y域且目标备份存储模块是备份LUN为例,并结合图3对分区动态调整的方法和原理进行阐释。
对于Y域而言,获取OTA配置信息,并根据OTA配置信息中的分区调整标志位判断X域是否存在分区调整需求;若不存在,则直接基于Y域对X域的备份槽进行OTA升级,并对槽切换标志位进行更新;而若存在,则继续判断备份LUN中的目标分区表是否正确,若正确,则使Y域根据OTA配置信息中的新分区表重新划分X域,以得到新分区,而若不正确,则需要在备份LUN中重新备份目标分区表,再使Y域根据OTA配置信息中的新分区表对X域的备份槽进行重新划分,得到新分区;然后使Y域基于新分区进行X域的OTA升级,并对槽切换标志位进行更新,且在完成更新后重启系统。
对于X域而言,在重启系统后,将对当前新分区表进行校验,若新分区表不正确,则从备份LUN中恢复目标分区表,以对备份槽进行分区和数据还原;而若新分区表正确,则基于备份槽启动X域,并判断X域是否成功启动,若是,则OTA完成;若否,则从备份LUN中恢复目标分区表,以对备份槽进行分区和数据还原。
综上,现有的OTA不能直接支持在线存储分区的重新调整(即增加分区、减少分区、分区size的增大或者缩小),使得在产品上线发售后,通过OTA进行软件的更新受到一定限制,而本实施例则扩大了现有OTA的功能,以支持在线分区的可靠调整。
第二方面,本申请实施例还提供一种基于OTA的分区动态调整装置。
一实施例中,基于OTA的分区动态调整装置包括:
调整升级模块,其用于当检测到OTA对目标域所写的新分区表时,控制其他独立运行域根据所述新分区表对所述目标域进行重新分区,得到新分区,以供所述其他独立运行域基于所述新分区对与所述目标域对应的备份槽进行OTA升级;
启动控制模块,其用于待OTA升级完毕,基于所述备份槽和所述新分区表控制目标域的启动。
进一步地,一实施例中,所述基于OTA的分区动态调整装置还包括:备份存储模块,其用于将与所述目标域对应的目标分区表备份至目标备份存储模块中,并将与所述目标分区表对应的A槽和B槽分别对应存储至与所述目标域对应的目标存储盘的首、尾区域,以供重新分区失败或OTA升级失败时进行回退操作;其中,若A槽为当前运行槽,则B槽为备份槽。
进一步地,一实施例中,所述启动控制模块具体用于:
对所述新分区表的正确性进行校验;
若校验通过,则基于备份槽启动所述目标域;
当检测到所述目标域启动成功时,判定OTA升级成功,并将所述新分区表备份至所述目标备份存储模块,以替换所述目标分区表。
进一步地,一实施例中,当A槽为当前运行槽且B槽为备份槽时,所述启动控制模块还具体用于:
若校验未通过或所述目标域启动失败,则控制目标域回退至A槽启动,从所述目标备份存储模块中恢复目标分区表;
控制B槽的分区还原至与所述目标分区表对应的分区。
进一步地,一实施例中,所述调整升级模块还用于:
判断所述目标备份存储模块中的目标分区表是否正确;
若正确,则执行所述控制其他独立运行域根据所述新分区表对所述目标域进行重新分区的步骤;
若不正确,则重新获取与目标存储盘对应的目标分区表;
将目标备份存储模块中原有的目标分区表替换为重新获取的目标分区表,并执行所述控制其他独立运行域根据所述新分区表对所述目标域进行重新分区的步骤。
进一步地,一实施例中,所述调整升级模块还用于:
当未检测到OTA对目标域所写的新分区表时,控制其他独立运行域对与所述目标域对应的备份槽进行OTA升级。
其中,上述基于OTA的分区动态调整装置中各个模块的功能实现与上述基于OTA的分区动态调整方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
第三方面,本申请实施例提供一种基于OTA的分区动态调整设备,基于OTA的分区动态调整设备可以是个人计算机(personal computer,PC)、笔记本电脑、服务器等具有数据处理功能的设备。
参照图5,图5为本申请实施例方案中涉及的基于OTA的分区动态调整设备的硬件结构示意图。本申请实施例中,基于OTA的分区动态调整设备可以包括处理器、存储器、通信接口以及通信总线。
其中,通信总线可以是任何类型的,用于实现处理器、存储器以及通信接口互连。
通信接口包括输入/输出(input/output,I/O)接口、物理接口和逻辑接口等用于实现基于OTA的分区动态调整设备内部的器件互连的接口,以及用于实现基于OTA的分区动态调整设备与其他设备(例如其他计算设备或用户设备)互连的接口。物理接口可以是以太网接口、光纤接口、ATM接口等;用户设备可以是显示屏(Display)、键盘(Keyboard)等。
存储器可以是各种类型的存储介质,例如非易失性RAM(non-volatileRAM,NVRAM)、闪存、光存储器、硬盘、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、电可擦除PROM(electrically erasable PROM,EEPROM)等。
处理器可以是通用处理器,通用处理器可以调用存储器中存储的基于OTA的分区动态调整程序,并执行本申请实施例提供的基于OTA的分区动态调整方法。例如,通用处理器可以是中央处理器(central processing unit,CPU)。其中,基于OTA的分区动态调整程序被调用时所执行的方法可参照本申请基于OTA的分区动态调整方法的各个实施例,此处不再赘述。
本领域技术人员可以理解,图5中示出的硬件结构并不构成对本申请的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
第四方面,本申请实施例还提供一种计算机可读存储介质。
本申请可读存储介质上存储有基于OTA的分区动态调整程序,其中所述基于OTA的分区动态调整程序被处理器执行时,实现如上述的基于OTA的分区动态调整方法的步骤。
其中,基于OTA的分区动态调整程序被执行时所实现的方法可参照本申请基于OTA的分区动态调整方法的各个实施例,此处不再赘述。
需要说明的是,上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。术语“第一”、“第二”和“第三”等描述,是用于区分不同的对象等,其不代表先后顺序,也不限定“第一”、“第二”和“第三”是不同的类型。
在本申请实施例的描述中,“示例性的”、“例如”或者“举例来说”等用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
在本申请实施例描述的一些流程中,包含了按照特定顺序出现的多个操作或步骤,但是应该理解,这些操作或步骤可以不按照其在本申请实施例中出现的顺序来执行或并行执行,操作的序号仅用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作或步骤可以按顺序执行或并行执行,并且这些操作或步骤可以进行组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种基于OTA的分区动态调整方法,其特征在于,所述基于OTA的分区动态调整方法包括:
当检测到OTA对目标域所写的新分区表时,控制其他独立运行域根据所述新分区表对所述目标域进行重新分区,得到新分区,以供所述其他独立运行域基于所述新分区对与所述目标域对应的备份槽进行OTA升级;
待OTA升级完毕,基于所述备份槽和所述新分区表控制目标域的启动。
2.如权利要求1所述的基于OTA的分区动态调整方法,其特征在于,在所述当检测到OTA对目标域所写的新分区表时的步骤之前,还包括:
将与所述目标域对应的目标分区表备份至目标备份存储模块中,并将与所述目标分区表对应的A槽和B槽分别对应存储至与所述目标域对应的目标存储盘的首、尾区域,以供重新分区失败或OTA升级失败时进行回退操作;其中,若A槽为当前运行槽,则B槽为备份槽。
3.如权利要求2所述的基于OTA的分区动态调整方法,其特征在于,所述基于所述备份槽和所述新分区表控制目标域的启动,包括:
对所述新分区表的正确性进行校验;
若校验通过,则基于备份槽启动所述目标域;
当检测到所述目标域启动成功时,判定OTA升级成功,并将所述新分区表备份至所述目标备份存储模块,以替换所述目标分区表。
4.如权利要求3所述的基于OTA的分区动态调整方法,其特征在于,当A槽为当前运行槽且B槽为备份槽时,所述方法还包括:
若校验未通过或所述目标域启动失败,则控制目标域回退至A槽启动,从所述目标备份存储模块中恢复目标分区表;
控制B槽的分区还原至与所述目标分区表对应的分区。
5.如权利要求2所述的基于OTA的分区动态调整方法,其特征在于,在所述当检测到OTA对目标域所写的新分区表时的步骤之后,还包括:
判断所述目标备份存储模块中的目标分区表是否正确;
若正确,则执行所述控制其他独立运行域根据所述新分区表对所述目标域进行重新分区的步骤;
若不正确,则重新获取与目标存储盘对应的目标分区表;
将目标备份存储模块中原有的目标分区表替换为重新获取的目标分区表,并执行所述控制其他独立运行域根据所述新分区表对所述目标域进行重新分区的步骤。
6.如权利要求1所述的基于OTA的分区动态调整方法,其特征在于,所述方法还包括:
当未检测到OTA对目标域所写的新分区表时,控制其他独立运行域对与所述目标域对应的备份槽进行OTA升级。
7.一种基于OTA的分区动态调整装置,其特征在于,所述基于OTA的分区动态调整装置包括:
调整升级模块,其用于当检测到OTA对目标域所写的新分区表时,控制其他独立运行域根据所述新分区表对所述目标域进行重新分区,得到新分区,以供所述其他独立运行域基于所述新分区对与所述目标域对应的备份槽进行OTA升级;
启动控制模块,其用于待OTA升级完毕,基于所述备份槽和所述新分区表控制目标域的启动。
8.如权利要求7所述的基于OTA的分区动态调整装置,其特征在于,所述基于OTA的分区动态调整装置还包括:备份存储模块,其用于将与所述目标域对应的目标分区表备份至目标备份存储模块中,并将与所述目标分区表对应的A槽和B槽分别对应存储至与所述目标域对应的目标存储盘的首、尾区域,以供重新分区失败或OTA升级失败时进行回退操作;其中,若A槽为当前运行槽,则B槽为备份槽。
9.一种基于OTA的分区动态调整设备,其特征在于,所述基于OTA的分区动态调整设备包括处理器、存储器以及存储在所述存储器上并可被所述处理器执行的基于OTA的分区动态调整程序,其中所述基于OTA的分区动态调整程序被所述处理器执行时,实现如权利要求1至6中任一项所述的基于OTA的分区动态调整方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于OTA的分区动态调整程序,其中所述基于OTA的分区动态调整程序被处理器执行时,实现如权利要求1至6中任一项所述的基于OTA的分区动态调整方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410158248.4A CN117687663B (zh) | 2024-02-04 | 2024-02-04 | 基于ota的分区动态调整方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410158248.4A CN117687663B (zh) | 2024-02-04 | 2024-02-04 | 基于ota的分区动态调整方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117687663A true CN117687663A (zh) | 2024-03-12 |
CN117687663B CN117687663B (zh) | 2024-04-16 |
Family
ID=90139504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410158248.4A Active CN117687663B (zh) | 2024-02-04 | 2024-02-04 | 基于ota的分区动态调整方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117687663B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118227383A (zh) * | 2024-05-22 | 2024-06-21 | 湖北芯擎科技有限公司 | 槽位一致性控制方法、装置、设备及可读存储介质 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176824A (zh) * | 2013-03-15 | 2013-06-26 | 青岛海信移动通信技术股份有限公司 | 一种系统升级的方法及装置 |
CN103455348A (zh) * | 2013-08-27 | 2013-12-18 | 小米科技有限责任公司 | 分区调整方法、装置、终端、服务器及系统 |
CN105487903A (zh) * | 2015-12-04 | 2016-04-13 | 小米科技有限责任公司 | 系统升级方法及装置 |
US20160321063A1 (en) * | 2013-12-13 | 2016-11-03 | Zte Corporation | Method and Device for Making Differential Upgrade Package, and Method and Device for System Differential Upgrading |
CN106412696A (zh) * | 2016-09-20 | 2017-02-15 | 深圳Tcl数字技术有限公司 | 智能电视的系统升级方法及装置 |
CN106484450A (zh) * | 2015-08-28 | 2017-03-08 | 青岛海信移动通信技术股份有限公司 | 一种软件升级方法及装置 |
CN106484448A (zh) * | 2015-08-28 | 2017-03-08 | 青岛海信移动通信技术股份有限公司 | 一种软件升级方法及装置 |
JP2017061278A (ja) * | 2015-09-25 | 2017-03-30 | 株式会社デンソー | 制御システム |
CN107643898A (zh) * | 2016-07-21 | 2018-01-30 | 中兴通讯股份有限公司 | 终端升级方法及装置 |
US20190227882A1 (en) * | 2018-01-24 | 2019-07-25 | Nicira, Inc. | Upgrade backup in virtualized computing environments |
CN112860291A (zh) * | 2021-02-08 | 2021-05-28 | 杭州涂鸦信息技术有限公司 | 固件升级方法及装置 |
US20210173630A1 (en) * | 2019-12-06 | 2021-06-10 | Delta Electronics, Inc. | Online program updating method |
CN114237675A (zh) * | 2021-12-14 | 2022-03-25 | 深圳创维数字技术有限公司 | 一种Android系统升级方法、装置、机顶盒及存储介质 |
CN115686584A (zh) * | 2021-07-30 | 2023-02-03 | 荣耀终端有限公司 | 一种操作系统升级方法、设备、存储介质及计算机程序产品 |
CN115827046A (zh) * | 2022-10-31 | 2023-03-21 | 厦门紫光展锐科技有限公司 | 实现spl分区ota升级的方法及装置、终端设备、芯片 |
CN116360831A (zh) * | 2023-05-31 | 2023-06-30 | 中国第一汽车股份有限公司 | 一种应用程序升级方法、装置、电子设备及存储介质 |
US20230221940A1 (en) * | 2022-01-11 | 2023-07-13 | Pensando Systems Inc. | Methods and systems for dynamically creating upgrade specifications based on per device capabilities |
-
2024
- 2024-02-04 CN CN202410158248.4A patent/CN117687663B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176824A (zh) * | 2013-03-15 | 2013-06-26 | 青岛海信移动通信技术股份有限公司 | 一种系统升级的方法及装置 |
CN106293848A (zh) * | 2013-03-15 | 2017-01-04 | 青岛海信移动通信技术股份有限公司 | 一种系统升级的方法及装置 |
CN103455348A (zh) * | 2013-08-27 | 2013-12-18 | 小米科技有限责任公司 | 分区调整方法、装置、终端、服务器及系统 |
US20160321063A1 (en) * | 2013-12-13 | 2016-11-03 | Zte Corporation | Method and Device for Making Differential Upgrade Package, and Method and Device for System Differential Upgrading |
CN106484450A (zh) * | 2015-08-28 | 2017-03-08 | 青岛海信移动通信技术股份有限公司 | 一种软件升级方法及装置 |
CN106484448A (zh) * | 2015-08-28 | 2017-03-08 | 青岛海信移动通信技术股份有限公司 | 一种软件升级方法及装置 |
JP2017061278A (ja) * | 2015-09-25 | 2017-03-30 | 株式会社デンソー | 制御システム |
CN105487903A (zh) * | 2015-12-04 | 2016-04-13 | 小米科技有限责任公司 | 系统升级方法及装置 |
CN107643898A (zh) * | 2016-07-21 | 2018-01-30 | 中兴通讯股份有限公司 | 终端升级方法及装置 |
CN106412696A (zh) * | 2016-09-20 | 2017-02-15 | 深圳Tcl数字技术有限公司 | 智能电视的系统升级方法及装置 |
US20190227882A1 (en) * | 2018-01-24 | 2019-07-25 | Nicira, Inc. | Upgrade backup in virtualized computing environments |
US20210173630A1 (en) * | 2019-12-06 | 2021-06-10 | Delta Electronics, Inc. | Online program updating method |
CN112860291A (zh) * | 2021-02-08 | 2021-05-28 | 杭州涂鸦信息技术有限公司 | 固件升级方法及装置 |
CN115686584A (zh) * | 2021-07-30 | 2023-02-03 | 荣耀终端有限公司 | 一种操作系统升级方法、设备、存储介质及计算机程序产品 |
CN114237675A (zh) * | 2021-12-14 | 2022-03-25 | 深圳创维数字技术有限公司 | 一种Android系统升级方法、装置、机顶盒及存储介质 |
US20230221940A1 (en) * | 2022-01-11 | 2023-07-13 | Pensando Systems Inc. | Methods and systems for dynamically creating upgrade specifications based on per device capabilities |
CN115827046A (zh) * | 2022-10-31 | 2023-03-21 | 厦门紫光展锐科技有限公司 | 实现spl分区ota升级的方法及装置、终端设备、芯片 |
CN116360831A (zh) * | 2023-05-31 | 2023-06-30 | 中国第一汽车股份有限公司 | 一种应用程序升级方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
SCHIPS: "Android 官方AB Update说明", Retrieved from the Internet <URL:https://www.cnblogs.com/schips/p/android_a-b_partition.html> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118227383A (zh) * | 2024-05-22 | 2024-06-21 | 湖北芯擎科技有限公司 | 槽位一致性控制方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117687663B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5113700B2 (ja) | ファームウェア更新装置及び方法 | |
US7036007B2 (en) | Firmware architecture supporting safe updates and multiple processor types | |
CN104572229B (zh) | 嵌入式系统的固件升级方法以及固件升级装置 | |
US8639973B2 (en) | System reset | |
US7313682B2 (en) | Method and system for updating boot memory that stores a fail-safe reset code and is configured to store boot code and boot updater code | |
EP2477111B1 (en) | Computer system and program restoring method thereof | |
CN117687663B (zh) | 基于ota的分区动态调整方法、装置、设备及存储介质 | |
US20060036832A1 (en) | Virtual computer system and firmware updating method in virtual computer system | |
US20080098381A1 (en) | Systems and methods for firmware update in a data processing device | |
US11474805B2 (en) | System capable of upgrading firmware in background and method for upgrading firmware in background | |
CN111562934A (zh) | 一种基于热补丁的软件系统升级方法、终端及存储介质 | |
CN113254048A (zh) | 引导程序更新方法、装置、设备及计算机可读介质 | |
US20100205482A1 (en) | Mirroring controller, storage device, and mirroring control method | |
CN112650513B (zh) | 程序升级方法、装置、计算机设备和存储介质 | |
CN111258617B (zh) | 一种电子设备 | |
CN114265603A (zh) | 基于不对称分区的系统升级方法、装置和电子设备 | |
CN113377425A (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
CN118227383B (zh) | 槽位一致性控制方法、装置、设备及可读存储介质 | |
CN114328374A (zh) | 一种快照方法、装置、相关设备及数据库系统 | |
CN113590388B (zh) | 一种基于uboot的spl回滚方法及装置、存储介质、终端 | |
CN113467797A (zh) | 程序更新方法、装置和系统以及计算机可读存储介质 | |
KR20120062536A (ko) | 차량 내 멀티미디어 시스템에 대한 업데이트 방법 및 시스템 | |
CN107656747B (zh) | 一种数据升级方法及移动终端 | |
CN115576492A (zh) | 集群存储系统、升级方法、计算机设备和存储介质 | |
CN118656101A (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 |