CN114840242A - 一种电子设备的***升级方法、装置及可读存储介质 - Google Patents
一种电子设备的***升级方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN114840242A CN114840242A CN202210391568.5A CN202210391568A CN114840242A CN 114840242 A CN114840242 A CN 114840242A CN 202210391568 A CN202210391568 A CN 202210391568A CN 114840242 A CN114840242 A CN 114840242A
- Authority
- CN
- China
- Prior art keywords
- partition
- upgrade
- file
- electronic equipment
- upgrading
- 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.)
- Pending
Links
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/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0643—Management of files
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种电子设备的***升级方法、装置及可读存储介质,该方法包括:确定电子设备是否满足用于***升级的预设条件,其中,电子设备包括快闪存储器,快闪存储器包括用于存储电子设备的***软件版本对应的原文件的第一分区和用于存储电子设备的***软件版本对应的升级文件的第二分区;若满足,则将升级文件从第二分区复制至第一分区,并在第一分区基于升级文件运行电子设备,以实现电子设备的***升级;若不满足,则在第一分区基于原文件运行电子设备。如此,提高了电子设备的***升级的安全可靠性,即便在升级过程中断电导致未下载到升级文件,也可以保证电子设备的正常运行。
Description
技术领域
本发明涉及软件升级技术领域,尤其涉及一种电子设备的***升级方法、装置及可读存储介质。
背景技术
随着移动互联网技术的飞速发展,如安卓***、Linux操作***这样的智能操作***不仅在诸如手机、平板电脑这类移动终端上得到广泛应用,也开始应用在一些与常见的移动终端的应用范围完全不同的电子设备上,例如,基于嵌入式设备上运行的linux***openwrt的网关设备。
在通过OTA(Over-the-Air Technology,空中下载技术)等方式对智能操作***的***软件进行在线升级过程中,由于停电、用户误操作等原因出现电子设备断电时,电子设备的***软件版本对应的升级文件很大概率会因为断电而出现损坏或下载不完全的情况,导致电子设备即使恢复供电也无法正常使用的现象。
发明内容
本发明实施例提供了一种电子设备的***升级方法、装置及可读存储介质,以解决上述技术问题。
第一方面,本发明实施例提供了一种电子设备的***升级方法,所述方法包括:
确定所述电子设备是否满足用于***升级的预设条件,其中,所述电子设备包括快闪存储器,所述快闪存储器包括第一分区和第二分区,所述第一分区用于存储所述电子设备的***软件版本对应的原文件,所述第二分区用于存储所述电子设备的***软件版本对应的升级文件;
若满足,则将所述升级文件从所述第二分区复制至所述第一分区,并在所述第一分区基于所述升级文件运行所述电子设备,以实现所述电子设备的***升级;
若不满足,则在所述第一分区基于所述原文件运行所述电子设备。
可选地,所述方法还包括:
向服务器发送升级请求;
若基于所述升级请求确定所述电子设备能够进行***升级,则将从所述服务器获取的所述升级文件存储至所述第二分区,并在所述快闪存储器的第三分区设置校验信息,其中,所述校验信息用于确定是否能够进行所述电子设备的***升级;
若基于所述升级请求确定所述电子设备无需进行***升级,则按照预定间隔继续向所述服务器发送所述升级请求。
可选地,所述校验信息包括升级标志,所述确定所述电子设备是否满足用于***升级的预设条件,包括:
确定所述升级标志是否置位;
若是,则确定所述电子设备满足用于***升级的预设条件;
若否,则确定所述电子设备不满足用于***升级的预设条件。
可选地,所述方法还包括:
在将所述升级文件从所述第二分区复制至所述第一分区后,在所述第三分区复位所述升级标志。
可选地,所述校验信息包括所述升级文件的文件大小以及预定值,所述将所述升级文件从所述第二分区复制至所述第一分区,包括:
获取所述升级文件的文件大小;
基于所述升级文件的文件大小从所述第二分区获取所述升级文件,并根据所述升级文件确定校验值;
若所述校验值与所述预定值一致,则将所述升级文件从所述第二分区复制值所述第一分区。
可选地,在每次设置所述校验信息时,所述预定值为基于所述升级文件更新。
可选地,所述快闪存储器还包括第四分区,所述第四分区用于存储所述电子设备的用户配置数据,所述第四分区的数据在所述电子设备的***升级过程中是不可更新的。
可选地,所述第一分区的大小与所述第二分区的大小相同。
第二方面,本发明实施例提供了一种电子设备的***升级装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序时实现上述第一方面所述方法的步骤。
第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述方法的步骤。
本发明实施例提供了一种电子设备的***升级方法、装置及可读存储介质,通过在电子设备的快闪存储器设置用于存储电子设备的***软件版本对应的原文件的第一分区和用于存储电子设备获取的***软件版本对应的升级文件的第二分区,在电子设备满足用于***升级的预设条件时,能够基于升级文件实现电子设备的***升级,反之,可以基于原文件保证电子设备的正常运行。如此,由于分区存储文件,保证了电子设备的***升级过程的安全可靠性,即使在升级过程中断电导致升级文件损坏或未下载到完整的升级文件,也不会损坏电子设备的***版本软件对应的原文件,且通电后电子设备仍然可以基于原文件正常运行。
附图说明
图1为本发明一实施例提供的一种电子设备的快闪存储器的分区示意图;
图2为本发明一实施例提供的一种电子设备的***升级方法的流程示意图;
图3为本发明一实施例提供的一种电子设备的***升级方法装置的结构示意图。
具体实施方式
本发明实施例提供了一种电子设备的***升级方法、装置及可读存储介质,用于实现电子设备的***升级及正常运行。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
电子设备的***经过一段时间的使用,就会显现出***中的一些漏洞(bug),可以通过升级***以修复这些bug,同时,通过升级可以提升***的性能以使得电子设备的***满足用户的需求。例如,市面上基于openwrt的网关设备,这些设备的功能需要不断的被更新,以让用户获取最新功能。
在电子设备的***升级中,受限于***软件版本对应的原文件删除而升级文件正在下载中的情况,不允许电子设备断电,否则会损坏电子设备的***软件版本对应的升级文件或未下载完全该升级文件,导致电子设备的***无法正常运行。
基于此,本发明实施例提供了一种电子设备的***升级方法、装置及可读存储介质,通过在电子设备的快闪存储器设置用于存储电子设备的***软件版本对应的原文件的第一分区和用于存储电子设备获取的***软件版本对应的升级文件第二分区,在电子设备满足用于***升级的预设条件时,能够基于升级文件实现电子设备的***升级,反之,可以基于原文件保证电子设备的正常运行。如此,由于分区存储文件,保证了电子设备的***升级过程的安全可靠性,即使在升级过程中断电导致升级文件损坏或未下载到升级文件,也不会损坏电子设备的***版本软件对应的原文件,且通电后电子设备仍然可以基于原文件正常运行。
本发明实施例中,电子设备可以包括快闪存储器,该快闪存储器可以划分成多个分区。该快闪存储器中,每个分区都是独立的,用于存储不同的分区文件。可以理解的是,某一个分区中的分区文件所占该快闪存储器空间的大小可以比该分区小,也可以跟该分区一样大。
具体的,为优化电子设备的***升级程序,该快闪存储器可以包括第一分区和第二分区。其中,第一分区用于存储电子设备的***软件版本对应的原文件,第二分区用于存储电子设备的***软件版本对应的升级文件。如此,通过双分区分别存储电子设备的***软件版本对应的文件,可以应对升级过程中升级文件损害或未下载完全的情况,使得电子设备仍然可以正常运行。
需要说明的是,该快闪存储器除了包括上述的第一分区和第二分区之外,在实际应用中,还可以包括其它数量以及作用的分区,此处不做具体限定。
图1为本发明一实施例提供的一种电子设备的快闪存储器的分区示意图。参见图1,以基于openwrt的网关的***为例,该快闪存储器设有6个分区,分别为分区1、分区2、分区3、分区4、分区5、分区6。其中,分区1为uboot,分区2为uboot-env,分区3为factory,分区4为firmware1,分区5为firmware2,分区6为rootfs_data。
分区1用于存放uboot代码,以引导启动内核;分区2用于存放uboot使用的环境变量,如升级标志、升级文件大小和循环冗余校验CRC值都存在此位置,且作为linux***和uboot***数据交换的分区,使得两个***都可以共同使用该分区的数据,保证了诸如升级标志的设置与获取;分区3用于存放原厂固件;分区4用于存放openwrt***对应的原文件,也包含了openwrt***的内核kernel和根文件rootfs_rom数据,电子设备的***可以从此分区启动;分区5为***备份分区,从服务器下载的升级文件将存放在此分区;分区6用于存放用户配置数据和应用程序。其中,第一分区可以为分区4,第二分区可以为分区5,且由于第一分区存储的数据的类型包括第二分区存储的数据的类型,第一分区和第二分区的大小可以相同,以保证快闪存储器有尽量多的空间用于存储保证电子设备的***正常运行的文件。
其中,在电子设备的***启动完时,会将分区6挂载成可读可写的jffs2文件***,而分区4中的rootfs_rom则挂载只读的squashfs文件***,而分区5可作为执行可读可写的分区块,不挂载文件***。
为便于理解,下面结合上述对电子设备的快闪存储器的分区示意图对本发明实施例中的具体流程进行描述。图2是一种电子设备的***升级方法的流程示意图。参见图2,本发明实施例中的电子设备的***升级方法包括:
01:确定电子设备是否满足用于***升级的预设条件;
02:若满足,则将升级文件从所述第二分区复制至第一分区,并在第一分区基于升级文件运行电子设备,以实现电子设备的***升级;
03:若不满足,则在第一分区基于原文件运行电子设备。
电子设备的当前***会存在bug或者性能需要提升的情况,基于此,可以对电子设备的***进行升级。在本实施例的电子设备的***升级过程中,可以先确定电子设备是否满足用于***升级的预设条件,以避免升级过程中由于断电导致升级文件损坏或下载不完全而导致无法利用升级文件正常运行电子设备的现象。
其中,在确定电子设备是否满足用于***升级的预设条件之前,也可以确定电子设备的当前***是否存在bug或者性能需要提升,若是,则可以进一步确定电子设备是否满足用于***升级的预设条件,以对当前***进行升级来修复bug或提升性能;若否,则无需确定电子设备是否满足用于***升级的预设条件。
若电子设备满足用于***升级的预设条件,则可以将电子设备的快闪存储器中的升级文件从第二分区复制至第一分区,并在第一分区基于升级文件实现电子设备的***升级,以使得电子设备能够基于新的***软件版本工作。其中,第二分区的升级文件可以当即删除,也可以在下一次升级时由新的升级文件替代,以避免占用存储空间。
若电子设备不满足用于***升级的预设条件,则可以在非易失性内存的第一分区中基于原文件运行电子设备,以使得电子设备能够基于原有的***软件版本工作。其中,原文件可以是上一次升级后的***文件,也可以是出厂时的***文件。
可以理解,基于修复bug或提升性能的目的,升级文件对应的***功能可以与原文件对应的***功能一致,也可以是对原文件对应的***功能的扩充。
在一些实施例中,电子设备的***升级方法,还可以包括:向服务器发送升级请求;若基于升级请求确定电子设备能够进行***升级,则将从服务器获取的升级文件存储至第二分区,并在快闪存储器的第三分区设置校验信息,其中,校验信息用于确定是否能够进行电子设备的***升级;若基于升级请求确定电子设备无需进行***升级,则按照预定间隔继续向服务器发送升级请求。
具体的,电子设备可以具有远程OTA功能,可以实现***的在线升级。在电子设备启动后,电子设备可以主动向服务器发送升级请求,以获取升级文件。示例性的,服务器接收到升级请求后,可以通知电子设备有升级文件可下载,则确定基于升级请求确定电子设备能够进行***升级,反之,则确定基于升级请求确定电子设备无需进行***升级。若确定电子设备能够进行***升级,即有升级文件可下载,则电子设备可以从服务器下载升级文件,并存储在第二分区,以在***升级时,可以从第二分区获取升级文件。同时,可以在快闪存储器的第三分区设置校验信息,确保电子设备能够进行安全可靠的***升级。
其中,第三分区可以为上述图1中所述的分区2,即uboot-env。
可以理解,基于升级请求确定电子设备是否能够进行***升级,除了由服务器基于升级请求通知电子设备之外的方式,在实际应用中,还可以是其它方式,例如,服务器接收到升级请求后,不管是否有升级文件,均会将当前最新的***文件发送给电子设备,电子设备接收到该当前最新的***文件后,可以将该当前最新的***文件与自身当前***软件版本对应的文件做比较,若不一致,则确定基于升级请求确定电子设备能够进行***升级,反之,则确定基于升级请求确定电子设备无需进行***升级。
需要说明的是,上述升级文件除了可以是直接从服务器下载,在实际应用中,还可以是通过第三方下载,如电子设备与某一终端设备通过有线连接或通过局域网无线连接,在终端设备从服务器下载升级文件后,由终端设备传输升级文件至电子设备,此处不做具体限定。
在一些实施例中,校验信息包括升级标志,确定所述电子设备是否满足用于***升级的预设条件,可以包括:确定升级标志是否置位;若是,则确定电子设备满足用于***升级的预设条件;若否,则确定电子设备不满足用于***升级的预设条件。
具体的,在校验信息包括升级标志时,可以在下载完升级文件后,在快闪存储器的第三分区置位升级标志,以使得电子设备初步判断可以进行***升级。而若升级文件未下载或下载不完全,则升级标志处于复位,以使得电子设备初步判断不可以进行***升级。
示例性的,标志为1的时候,可以确定升级标志置位,电子设备满足用于***升级的预设条件;升级标志为0的时候,可以确定升级标志复位,电子设备不满足用于***升级的预设条件。
可以理解,升级标志置位或复位的情况除了上述说明的内容,在实际应用中,也可以为其它,例如,升级标志为0意味着置位,反之,则意味着复位,此处不作具体限定。
需要说明的是,在实际应用中,除了利用升级标志来确定电子设备是否满足用于***升级的预设条件,还可以是其它,例如,在从第一分区基于原文件运行电子设备之前,可以从第二分区获取相应的***文件,并将该***文件与原文件做比较,若有差异,可以确定电子设备满足用于***升级的预设条件,反之,则不满足。
其中,预设条件是出厂时设定的,也可以由用户自定义,此处不做具体限定。
在一些实施例中,电子设备的***升级方法,还可以包括:在将升级文件从第二分区复制至第一分区后,在第三分区复位升级标志。
具体的,由于升级标志置位意味着可以将升级文件从第二分区复制到第一分区,则将升级文件从第二分区复制至第一分区后,可以对第三分区存放的uboot使用的环境变量修正,即在第三分区复位升级标志,以避免升级完成的情况下反复将已经用于电子设备***升级的升级文件复制到第一分区,而此时完全可以直接从第一分区利用复制的升级文件运行电子设备。如此,有利于提高电子设备的运行效率。
可以理解,在实现电子设备的***升级后,电子设备仍可以再次向服务器发送升级请求,以获取更新的升级文件,相关获取说明可以参照前述内容,此处不再赘述。
在一些实施例中,校验信息包括升级文件的文件大小以及预定值,将升级文件从第二分区复制至第一分区,可以包括:获取升级文件的文件大小;基于升级文件的文件大小从第二分区获取升级文件,并根据升级文件确定校验值;若校验值与预定值一致,则将升级文件从第二分区复制值第一分区。
具体的,为了确定升级文件的安全可靠性,没有由于断电等其它原因导致损坏或下载不完全,可以从第三分区获取升级文件的大小,并将获取的升级文件的大小作为查找依据,从第二分区中获取升级文件,并利用该获取的升级文件计算校验值,该校验值可以为CRC值,具体计算方法可以参考相关技术,此处不再赘述。
其中,在校验值为CRC值时,第三分区的预定值也为CRC值。预定值可以是服务器基于正确的升级文件生成,并由电子设备从服务器获取后存储于第三分区。
可以理解,校验值以及预定值的类型除了上述说明的CRC值,在实际应用中,还可以是其它,此处不做具体限定。
需要说明的是,为了将安全可靠的升级文件复制到第一分区,除了利用校验值与预定值比较的方式之外,也可以利用其它校验方式,此处不做具体限定。
在一些实施例中,在每次设置校验信息时,预定值为基于升级文件更新。
具体的,在每次升级过程中的升级文件是不同的,由于预定值是基于升级文件确定的,那么在每次设置校验信息时,预定值均会基于当前下载的升级文件更新。
其中,在升级文件每次下载结束后,校验信息可以整体更新。也即,升级标志、文件大小、预定值。该下载结束并不一定意味着下载完全或下载正确,如此,即使校验信息更新使得升级标志置位,也会由于校验值与预定值不一致而无法将升级文件从第二分区复制到第一分区,进而不会利用不完整或不正确的升级文件运行电子设备而导致电子设备无法正常使用。
在一些实施例中,快闪存储器还设有第四分区,第四分区用于存储电子设备的用户配置数据,第四分区的数据在电子设备的***升级过程中是不可更新的。
具体的,第四分区作为快闪存储器的一个独立分区,在电子设备的***升级过程中的执行动作,诸如在第二分区保存升级文件、将升级文件从第二分区复制到第一分区、在第一分区基于升级文件运行电子设备,都不会对第四分区中存储的用户配置数据进行任何操作,保证了用户的数据安全和数据配置。
可以理解,在收到用户修改指令时,可以对第四分区中的数据进行修改。
其中,第四分区可以为上述图1中所述的分区6,即rootfs_data。
具体应用时,以基于openwrt***的网关设备的***升级为例进行说明,该方法可以参考以下阶段:(1)升级文件的下载阶段;(2)升级文件的应用阶段。下面对上述两个阶段的具体实现过程进行详细说明:
(1)、升级文件的下载阶段
沿用图1所示示例,升级文件的下载包括如下步骤:
step1:在电子设备通电后,获取电子设备的当前***版本;
step2:向服务器请求目标***版本;
其中,目标***版本即为当前***版本需要升级的***版本。
step3:确定当前***版本是否需要更新,若是,则执行step4,若否,则执行step2;
具体的,若服务器中存在目标***版本对应的升级文件,可以执行step4,若服务器中不存在目标***版本对应的升级文件,那么可以在预定间隔时间结束后继续向服务器请求目标***版本,即执行step2。其中,预定时间间隔可以为300秒。
step4:下载升级文件,并将升级文件保存到分区5(firmware2)中;
step5:在分区2(Uboot-env)中设置环境变量;
具体的,环境变量包括上述说明的校验信息,在升级文件下载后,可以置位升级标志,存储从服务器获取的升级文件的文件大小以及预定值。
step6:软重启电子设备。
(2)升级文件的应用阶段
沿用图1所示示例,升级文件的应用可以包括如下步骤:
step1:运行分区1中的uboot;
具体的,电子设备软重启后,可以运行分区1中的uboot。其中,在电子设备上电后,也可以运行分区1中的uboot,也即,分区1中的uboot的运行与上述升级文件的下载阶段可以不具有先后关系,而可能出现电子设备以原有的***软件版本工作的时候下载了升级文件,此时可以通过软重启电子设备,并通过该升级文件的应用阶段实现电子设备的***升级,以使得电子设备以新的***软件版本工作。
step2:确定升级标志是否置位,若是,则执行step3,若否,则执行step;
具体的,分区1中的uboot启动后,可以校验分区2(Uboot-env)中的环境变量,也即升级标志是否置位,若分区3(Uboot-env)中的升级标志置位,如升级标志为1,则进一步执行step3,反之,执行step。
step3:基于分区2(Uboot-env)中的升级文件的文件大小和CRC对分区5(firmware2)中的升级文件进行校验;
step4:若校验通过,将分区5(firmware2)中的升级文件复制到分区4(firmware1)中;
可以理解,若校验未通过,说明分区5(firmware2)中的升级文件下载不完全或不正确,那么可以执行step6。
step5:清除分区2(Uboot-env)中环境变量中的升级标志;
清除分区2(Uboot-env)中环境变量中的升级标志,即复位升级标志,如将升级标志设置为0。
step6:在分区4(firmware1)中运行电子设备的***软件版本对应的文件。
具体的,分区5(firmware2)中的升级文件复制到分区4(firmware1)后,分区4(firmware1)中电子设备的***软件版本对应的文件即为升级文件,而若未有升级文件复制到分区4(firmware1),分区4(firmware1)中电子设备的***软件版本对应的文件即为原文件。如此,无论是否有升级文件,均能正常启动网关设备的openwrt***。
通过上述可知,由于原文件与升级文件分别存储在一分区中,大大地提高了升级的安全可靠性,即使在升级过程中,例如于升级文件的下载阶段掉电,也可以基于原文件恢复电子设备的正常运行。
上面从软件处理的角度对本发明实施例中的电子设备的***升级方法进行了描述,下面从硬件处理的角度对本发明实施例中的电子设备的***升级装置进行描述。请参阅图3,本发明实施例中的电子设备的***升级装置300,包括:
存储器301,用于存储计算机程序;
处理器302,用于执行存储器301中存储的计算机程序时实现:
确定电子设备是否满足用于***升级的预设条件,其中,所述电子设备包括快闪存储器,所述快闪存储器包括第一分区和第二分区,所述第一分区用于存储所述电子设备的***软件版本对应的原文件,所述第二分区用于存储所述电子设备的***软件版本对应的升级文件;
若满足,则将升级文件从第二分区复制至第一分区,并在第一分区基于升级文件运行电子设备,以实现电子设备的***升级;
若不满足,则在第一分区基于原文件运行电子设备。
可选地,处理器302还用于:向服务器发送升级请求;若基于升级请求确定电子设备能够进行***升级,则将从服务器获取的升级文件存储至第二分区,并在快闪存储器的第三分区设置校验信息,其中,所验信息用于确定是否能够进行电子设备的***升级;若基于升级请求确定电子设备无需进行***升级,则按照预定间隔继续向服务器发送升级请求。
可选地,处理器302具体用于:确定升级标志是否置位;若是,则确定电子设备满足用于***升级的预设条件;若否,则确定电子设备不满足用于***升级的预设条件。
可选地,处理器302还用于:在将升级文件从第二分区复制至第一分区后,在第三分区复位升级标志。
可选地,处理器302具体用于:获取升级文件的文件大小;基于升级文件的文件大小从第二分区获取升级文件,并根据升级文件确定校验值;若校验值与预定值一致,则将升级文件从第二分区复制值第一分区。
可选地,在每次设置校验信息时,预定值为基于升级文件更新。
可选地,快闪存储器还包括第四分区,第四分区用于存储电子设备的用户配置数据,第四分区的数据在电子设备的***升级过程中是不可更新的。
可选地,第一分区的大小与第二分区的大小相同。
其中,该装置可以为集成或独立于网关设备,本实施例可以是集成于网关设备。
其中,该网关设备不设有电池,可以与电源通过电源线连接,以实现被供电。
本发明实施例提供的电子设备的***升级装置用于执行上述电子设备的***升级方法,其内容和效果可参考前述方法实施例的内容和效果,对其在此不再赘述。
本发明实施例还提供了一种计算机可读存储介质。本发明实施例的计算机可读存储介质存储有计算机程序,该计算机程序可被处理器执行以完成上述任意一种实施例的方法。
例如,计算机程序可被处理器执行以完成以下步骤所述的控制方法:
01:确定电子设备是否满足用于***升级的预设条件,其中,所述电子设备包括快闪存储器,所述快闪存储器包括第一分区和第二分区,所述第一分区用于存储所述电子设备的***软件版本对应的原文件,所述第二分区用于存储所述电子设备的***软件版本对应的升级文件;
02:若满足,则将升级文件从第二分区复制至第一分区,并在第一分区基于升级文件运行电子设备,以实现电子设备的***升级;
03:若不满足,则在第一分区基于原文件运行电子设备。
再例如,计算机程序还可被处理器执行以完成以下步骤所述的方法:
04:向服务器发送升级请求;
05:若基于升级请求确定电子设备能够进行***升级,则将从服务器获取的升级文件存储至第二分区,并在快闪存储器的第三分区设置校验信息,其中,校验信息用于确定是否能够进行电子设备的***升级;
06:若基于升级请求确定电子设备无需进行***升级,则按照预定间隔继续向服务器发送升级请求。
可以理解,本文中关于步骤的序号只是为了说明有相应的步骤,但并不对步骤的时序做具体限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种电子设备的***升级方法,其特征在于,所述方法包括:
确定所述电子设备是否满足用于***升级的预设条件,其中,所述电子设备包括快闪存储器,所述快闪存储器包括第一分区和第二分区,所述第一分区用于存储所述电子设备的***软件版本对应的原文件,所述第二分区用于存储所述电子设备的***软件版本对应的升级文件;
若满足,则将所述升级文件从所述第二分区复制至所述第一分区,并在所述第一分区基于所述升级文件运行所述电子设备,以实现所述电子设备的***升级;
若不满足,则在所述第一分区基于所述原文件运行所述电子设备。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向服务器发送升级请求;
若基于所述升级请求确定所述电子设备能够进行***升级,则将从所述服务器获取的所述升级文件存储至所述第二分区,并在所述快闪存储器的第三分区设置校验信息,其中,所述校验信息用于确定是否能够进行所述电子设备的***升级;
若基于所述升级请求确定所述电子设备无需进行***升级,则按照预定间隔继续向所述服务器发送所述升级请求。
3.根据权利要求2所述的方法,其特征在于,所述校验信息包括升级标志,所述确定所述电子设备是否满足用于***升级的预设条件,包括:
确定所述升级标志是否置位;
若是,则确定所述电子设备满足用于***升级的预设条件;
若否,则确定所述电子设备不满足用于***升级的预设条件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在将所述升级文件从所述第二分区复制至所述第一分区后,在所述第三分区复位所述升级标志。
5.根据权利要求2所述的方法,其特征在于,所述校验信息包括所述升级文件的文件大小以及预定值,所述将所述升级文件从所述第二分区复制至所述第一分区,包括:
获取所述升级文件的文件大小;
基于所述升级文件的文件大小从所述第二分区获取所述升级文件,并根据所述升级文件确定校验值;
若所述校验值与所述预定值一致,则将所述升级文件从所述第二分区复制值所述第一分区。
6.根据权利要求5所述的方法,其特征在于,在每次设置所述校验信息时,所述预定值为基于所述升级文件更新。
7.根据权利要求1所述的方法,其特征在于,所述快闪存储器还包括第四分区,所述第四分区用于存储所述电子设备的用户配置数据,所述第四分区的数据在所述电子设备的***升级过程中是不可更新的。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一分区的大小与所述第二分区的大小相同。
9.一种电子设备的***升级装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序时实现权利要求1至8中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391568.5A CN114840242A (zh) | 2022-04-14 | 2022-04-14 | 一种电子设备的***升级方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391568.5A CN114840242A (zh) | 2022-04-14 | 2022-04-14 | 一种电子设备的***升级方法、装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114840242A true CN114840242A (zh) | 2022-08-02 |
Family
ID=82566612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210391568.5A Pending CN114840242A (zh) | 2022-04-14 | 2022-04-14 | 一种电子设备的***升级方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114840242A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115130114A (zh) * | 2022-08-31 | 2022-09-30 | 杭州云动智能汽车技术有限公司 | 一种网关安全启动方法、装置、电子设备及存储介质 |
CN116719670A (zh) * | 2022-09-30 | 2023-09-08 | 荣耀终端有限公司 | 数据处理的方法、电子设备及可读存储介质 |
CN117055929A (zh) * | 2023-10-11 | 2023-11-14 | 国网信息通信产业集团有限公司 | 一种实现双芯***安全升级的方法、设备及介质 |
-
2022
- 2022-04-14 CN CN202210391568.5A patent/CN114840242A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115130114A (zh) * | 2022-08-31 | 2022-09-30 | 杭州云动智能汽车技术有限公司 | 一种网关安全启动方法、装置、电子设备及存储介质 |
CN115130114B (zh) * | 2022-08-31 | 2022-12-23 | 杭州云动智能汽车技术有限公司 | 一种网关安全启动方法、装置、电子设备及存储介质 |
CN116719670A (zh) * | 2022-09-30 | 2023-09-08 | 荣耀终端有限公司 | 数据处理的方法、电子设备及可读存储介质 |
CN116719670B (zh) * | 2022-09-30 | 2024-04-12 | 荣耀终端有限公司 | 数据处理的方法、电子设备及可读存储介质 |
CN117055929A (zh) * | 2023-10-11 | 2023-11-14 | 国网信息通信产业集团有限公司 | 一种实现双芯***安全升级的方法、设备及介质 |
CN117055929B (zh) * | 2023-10-11 | 2024-01-09 | 国网信息通信产业集团有限公司 | 一种实现双芯***安全升级的方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7275153B2 (en) | Booting and boot code update system using boot strapper code to select between a loader and a duplicate backup loader | |
CN114840242A (zh) | 一种电子设备的***升级方法、装置及可读存储介质 | |
CN106325929B (zh) | 一种固件升级方法、固件升级装置、冰箱和服务端 | |
US8539471B2 (en) | Updating firmware of an electronic device | |
CN102023908B (zh) | 一种引导程序备份方法及装置 | |
TWI533216B (zh) | 作業系統更新方法 | |
WO2019062635A1 (zh) | 升级方法和装置 | |
CN105260215A (zh) | 一种u盘升级车载行车记录仪终端的方法 | |
CN102667716A (zh) | 使用固件更新应用程序更新部件的固件的方法及装置 | |
CN107783776B (zh) | 固件升级包的处理方法及装置、电子设备 | |
CN102945177A (zh) | Plc固件升级***及方法 | |
CN109491698A (zh) | 基于热补丁的***更新方法及装置 | |
CN110597545B (zh) | 一种基于ota组件的热补丁智能升级方法及*** | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
CN106897166B (zh) | 一种移动终端及其修复方法 | |
WO2018024198A1 (zh) | 机顶盒的应用程序升级方法、***及机顶盒 | |
CN114356361A (zh) | 嵌入式***及控制非易失性存储器的方法 | |
CN112152846A (zh) | 一种基于物联网的计量仪表远程升级方法 | |
CN114911500A (zh) | 终端升级方法、终端及*** | |
CN106775874B (zh) | 终端设备的***升级方法 | |
CN109871334B (zh) | 电缆调制解调器及操作方法 | |
CN109375953B (zh) | 一种操作***启动方法及装置 | |
CN113821238A (zh) | 智能穿戴设备外设固件更新方法、装置、移动终端及介质 | |
CN114995852A (zh) | 一种设备升级方法、设备及计算机可读存储介质 | |
US9529581B2 (en) | Circuit and method for writing program codes of basic input/output system |
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 |