CN111666091B - 系统更新方法、装置、电子设备和计算机可读存储介质 - Google Patents
系统更新方法、装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111666091B CN111666091B CN202010539674.4A CN202010539674A CN111666091B CN 111666091 B CN111666091 B CN 111666091B CN 202010539674 A CN202010539674 A CN 202010539674A CN 111666091 B CN111666091 B CN 111666091B
- Authority
- CN
- China
- Prior art keywords
- update
- path
- file
- updating
- storage area
- 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
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
Abstract
本申请提供了一种系统更新方法、装置、电子设备和计算机可读存储介质,其中,该方法包括:在第一时间节点,向服务器发送设备信息;接收服务器发送的关于设备信息对应的更新引导文件;根据更新引导文件得到包含更新文件的资源存储区域;切换系统更新路径至资源存储区域所在路径;在第二时间节点,根据切换后的系统更新路径对目标功能进行更新。通过本实施例中的方法,能提高系统更新的便利性。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种系统更新方法、装置、电子设备和计算机可读存储介质。
背景技术
当前系统软件更新主要是通过OTA(Over the Air,空中下载技术)的方式更新整包或差分更新;不管是那种方式,都需要进入恢复模式(recovery)进行升级;即使更新一个文件,也需要下载-重启进recovery更新,以实现更新。
申请内容
本申请的目的在于提供一种系统更新方法、装置、电子设备和计算机可读存储介质,能够提高系统更新的便利性。
第一方面,本申请实施例提供一种系统更新方法,包括:
在第一时间节点,向服务器发送设备信息;
接收所述服务器发送的关于所述设备信息对应的更新引导文件;
根据所述更新引导文件得到包含更新文件的资源存储区域;
切换系统更新路径至所述资源存储区域所在路径;
在第二时间节点,根据切换后的所述系统更新路径对目标功能进行更新。
在可选的实施方式中,所述更新引导文件包括:更新路径、模块更新文件的下载地址;所述根据所述更新引导文件确定包含更新文件的资源存储区域,包括:
根据所述更新路径构建资源存储区域;
对所述更新引导文件进行解析,以得到所述模块更新文件的所述下载地址;
根据所述下载地址下载所述模块更新文件;
将所述模块更新文件存储至所述资源存储区域中。
本实施例提供的系统更新方法,通过对更新引导文件的解析,从而可以构建专门用于存放更新文件的最新的资源存储区域,从而可以方便系统在需要更新时能够准确获取最新的更新文件,从而可以提高系统更新的准确性。
在可选的实施方式中,所述将所述模块更新文件存储至所述资源存储区域中,包括:
为所述模块更新文件设置更新标识;
将所述更新标识与所述模块更新文件存入所述资源存储区域中;
所述根据切换后的所述系统更新路径对目标功能进行更新,包括:
在启动一目标功能时,从所述系统更新路径查找是否存在与所述目标功能对应的更新标识;
若存在所述对应的更新标识,则从所述系统更新路径读取所述目标功能对应的更新文件,以对所述目标功能进行更新。
本实施例提供的系统更新方法,通过为更新文件设置更新标识,从而可以方便对应的功能能够根据更新标识,更准确地获得需要使用的更新文件。
在可选的实施方式中,所述根据所述更新路径构建资源存储区域,包括:
在指定大小的存储区域中根据所述更新路径构建资源存储区域。
本实施例提供的系统更新方法,通过设定用于存放更新文件的大小,从而可以避免更新文件占用较大的存储区域。
在可选的实施方式中,所述根据切换后的所述系统更新路径对目标功能进行更新,包括:
判断所述更新引导文件中是否包含固件下载地址;
若所述更新引导文件中不包含固件下载地址,则根据切换后的所述系统更新路径对目标功能进行更新。
本实施例提供的系统更新方法,通过确定当前运行的固件是不是最新的固件,在当前运行的固件是最新固件的情况下,再进行系统中各功能进行更新,从而减少对较低版本的固件进行更新后,由于有更新版本的固件,又需要再次对固件更新,则进行多余功能更新动作,造成资源的浪费。
在可选的实施方式中,所述切换系统更新路径至所述资源存储区域所在路径,包括:
使用信息摘要算法,对所述更新文件进行校验;
校验成功后,切换系统更新路径至所述资源存储区域所在路径。
本实施例提供的系统更新方法,通过对更新文件进行校验,从而可以增加更新文件是完整文件的概率,从而可以提高系统更新的准确性。
在可选的实施方式中,所述方法还包括:
判断所述更新引导文件中是否包含固件下载地址;
若所述更新引导文件中包含固件下载地址,则下载固件的更新文件;
判断所述系统更新路径中的更新文件是否为所述最新固件有效的更新文件;
若所述系统更新路径中的更新文件不为所述最新固件有效的更新文件,则删除所述系统更新路径中的更新文件;
采用恢复模式使用所述固件的更新文件对固件进行更新。
本实施例提供的系统更新方法,通过先判断固件是否需要更新,在固件需要更新时,可以先对固件进行更新,在固件更新后对系统更新路径内的更新文件进行有效性判断,从而可以提高功能更新的有效性,提高功能更新的准确率。
第二方面,本申请实施例提供一种系统更新装置,包括:
发送模块,用于在第一时间节点,向服务器发送设备信息;
接收模块,用于接收所述服务器发送的关于所述设备信息对应的更新引导文件;
得到模块,用于根据所述更新引导文件得到包含更新文件的资源存储区域;
切换模块,用于切换系统更新路径至所述资源存储区域所在路径;
第一更新模块,用于在第二时间节点,根据切换后的所述系统更新路径对目标功能进行更新。
第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如前述实施方式任一所述的方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如前述实施方式任一所述的方法的步骤。
本申请实施例的有益效果是:通过在指定时间节点获取可用于设备的更新文件,在需要使用时,则可以从预先分配的用于存放更新文件的存储区域中寻找更新文件,则不需要下载-重启进恢复模式更新,就能够实现系统中的软件或模块的更新。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的电子设备的方框示意图。
图2为本申请实施例提供的系统更新方法的流程图。
图3为本申请实施例提供的系统更新方法的步骤203的详细流程图。
图4为本申请实施例提供的系统更新方法的部分流程图。
图5为本申请实施例提供的系统更新装置的功能模块示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例一
为便于对本实施例进行理解,首先对执行本申请实施例所公开的系统更新方法的电子设备进行详细介绍。
如图1所示,是电子设备的方框示意图。电子设备100可以包括存储器111、处理器113。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对电子设备100的结构造成限定。例如,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
上述的存储器111、处理器113各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
其中,存储器111可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本申请实施例任一实施例揭示的过程定义的电子设备100所执行的方法可以应用于处理器113中,或者由处理器113实现。
上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
可选地,本实施例中的电子设备100可以是投影仪。示例性地,若电子设备100为投影仪时,投影仪则还可以包括采集单元、光机等组件。
上述的采集单元用于采集电子设备100周边的环境数据。示例性地,该环境数据可以包括投影区域的图像。
示例性地,上述的光机可以包括DMD(Digital Micromirror Device,数字微镜器件)显示核心、光源、镜头光路等机构。可选地,光机中还可以包括散热机构等。
可选地,电子设备100还可以是个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)等设备。此时,电子设备100还可以包括:输入输出单元、显示单元。
上述的输入输出单元用于提供给用户输入数据。所述输入输出单元可以是,但不限于,鼠标和键盘等。
上述的显示单元在电子设备100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。
可选地,上述的存储器存储的程序可以包括操作系统。示例性地,操作系统可以是Android操作系统。
本实施例中,存储器中增设一个系统补丁服务分区,将从服务器中下载的更新文件放置在系统补丁服务分区中。对应的系统或功能模块被启动时,系统或功能模块从系统补丁服务分区寻找,使用系统补丁服务分区的对应模块的更新文件,以此完成了代码的热更新。可选地,更新文件可以是需要更新的代码。
本实施例中的电子设备100可以用于执行本申请实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述系统更新方法的实现过程。
实施例二
本实施例首先对一些概念进行介绍。
热修复:通过下发补丁包,让已安装的客户端动态更新,让用户可以不用重新安装APP,就能够修复软件缺陷的一种技术。
请参阅图2,是本申请实施例提供的系统更新方法的流程图。下面将对图2所示的具体流程进行详细阐述。
步骤201,在第一时间节点,向服务器发送设备信息。
可选地,上述的第一时间节点可以是电子设备启动时;还可以是指定按钮被触发时。
示例性地,设备信息可包括:固件版本号、型号名称(modelname)、产品名称(productname)、补丁版本(patchver)等信息。
可选地,上述的设备信息还可以包括该设备中需要更新的程序或功能模块的名称。
在一个实例中,若电子设备是Android手机。则设备信息可以包括:机型、序列号、有线和无线MAC(Media Access Control Address,局域网地址)、版本号、区域码、AndroidVer、系统root标识等信息。
可选地,上述的设备信息还可以包括用于存放更新文件的存储区域中当前剩余空间等。
步骤202,接收所述服务器发送的关于所述设备信息对应的更新引导文件。
本实施例中,上述的更新引导文件可以包含需要更新的功能的更新文件的下载地址、MD5(Message-Digest Algorithm,信息摘要算法)、以及更新文件的存储路径。
示例性地,更新的功能的更新文件的下载地址可以包括:应用层(System Apps)需要使用的补丁的下载地址、接口层(Java API Framework)需要使用的补丁的下载地址、核心层(Linux Kernel)需要使用的补丁的下载地址、本地库(Native C/C++Libraries)需要使用的补丁的下载地址、硬件抽象层(Hardware Abstraction Layer)需要使用的补丁的下载地址中的一种或多种地址。
示例性地,应用层中可以包括:拨号盘(Dialer)、邮件(Email)、日历(calendar)、相机(Camera)等应用中的一种或多种。
示例性地,核心层可以包括:音频(Audio)、Binder通信机制、display技术等中的一种或多种。
示例性地,接口层可以包括:内容提供(Content Providers)、视图系统(ViewSystem)、资源(resource)、电话(telephony)、窗口(window)、通知(notification)、包(package)等中的一种或多种。
示例性地,本地库层可以包括:webkit、OpenMAX AL、Libc、Media Framework、OpenGL ES等中的一种或多种。
示例性地,硬件抽象层可以包括:音频(Audio)、蓝牙(Bluetooth)、相机(Camera)、传感器(Sensors)中的一种或多种。
在一个实例中,更新引导文件可以是xml文件。例如,更新引导文件可以是patch_xxxx.xml文件。
可选地,上述的更新引导文件也可以包含固件更新文件的下载地址。
步骤203,根据所述更新引导文件得到包含更新文件的资源存储区域。
可选地,更新文件可以是固件中的一个功能的补丁,也可以是固件版本的更新文件。
可选地,更新文件可以是需要更新的功能的更新代码。
在一种实施方式中,更新引导文件可以包括:更新路径、模块更新文件的下载地址。如图3所示,步骤203可以包括以下步骤。
步骤2031,根据所述更新路径构建资源存储区域。
可选地,可以预先为存放更新文件设置系统补丁服务分区。
因此,可以在在指定大小的存储区域中根据所述更新路径构建资源存储区域。该指定大小的存储区域可以是上述的系统补丁服务分区。
示例性地,系统补丁服务分区的大小可以是预先设定的大小。例如,系统补丁服务分区的大小可以是100M、200M等大小。
可选地,若系统补丁服务分区的剩余空间已经不满足当前的更新文件的存储需求,则可以将历史更新文件进行删除,以使系统补丁服务分区的剩余空间满足当前的更新文件的存储需求。示例性地,可以删除下载时间最早的更新文件,以使系统补丁服务分区的剩余空间满足当前的更新文件的存储需求。
可选地,该资源存储区域的命名可以以时间命名,例如,p20200311。
进一步地,还可以将更新引导文件存储至资源存储区域中。
步骤2032,对所述更新引导文件进行解析,以得到所述模块更新文件的所述下载地址。
步骤2033,根据所述下载地址下载所述模块更新文件。
步骤2034,将所述模块更新文件存储至所述资源存储区域中。
可选地,存入资源存储区域中的更新文件可以设置有标识。示例性地,每个更新文件的标识用于表示该更新文件对应所属的功能。
在一实施方式中,步骤2034可以包括以下步骤。
步骤a,为所述模块更新文件设置更新标识。
可选地,更新标识可以使用模块更新文件对应的功能的名称。可选地,更新标识可以使用模块更新文件对应的功能的匹配的标识符。
可选地,上述的模块更新文件可以是对应一功能的更新代码。
步骤b,将所述更新标识与所述模块更新文件存入所述资源存储区域中。
步骤204,切换系统更新路径至所述资源存储区域所在路径。
可选地,当前的系统更新路径可以是之前创建的资源存储区域所在路径。则可以将系统更新路径由之前创建的资源存储区域所在路径切换至当前的资源存储区域所在路径。
示例性地,当前的系统更新路径可以是指向文件P20200101,最新创建的资源存储区域是P20200201,则可以将系统更新路径由P20200101切换至P20200201。其中,P20200101和P20200201可以表示文件夹名。
可选地,在切换系统更新路径之前还可以对更新文件的完整性进行检测。
可选地,步骤204可以包括:使用信息摘要算法,对所述更新文件进行校验;校验成功后,切换系统更新路径至所述资源存储区域所在路径。
当下载了多个更新文件时,则可以使用信息摘要算法逐一对多个更新文件的完整性进行检测。
本实施例中,系统补丁服务分区中可能存在一个或多个资源存储区域,但是由于在每次创建新的资源存储区域后,会将系统更新路径进行切换,以使能够实现功能模块更新的更新文件均为最新构建的资源存储区域中的更新文件。因此,在系统补丁服务分区中的多个资源存储区域生效的仅为最新创建的资源存储区域。
步骤205,在第二时间节点,根据切换后的所述系统更新路径对目标功能进行更新。
可选地,上述的第二时间节点可以是在电子设备启动后,且构建最新的资源存储区域后的时间节点。
可选地,上述的第二时间节点可以是在电子设备中的任意一功能被启动时。
可选地,上述的第二时间节点还可以是电子设备的操作系统被重启时。
可选地,上述的目标功能可以是电子设备中的任一软件功能。
示例性地,则可以在第二时间节点对应用层、接口层、核心层、本地库、硬件抽象层中的任意部分进行更新。
可选地,当资源存储区域中的更新文件设置有对应的标识时,则可以对根据标识在资源存储区域查找需要的更新文件。步骤205可以包括:在启动一目标功能时,从所述系统更新路径查找是否存在与所述目标功能对应的更新标识;若存在所述对应的更新标识,则从所述系统更新路径读取所述目标功能对应的更新文件,以对所述目标功能进行更新。
可选地,就其中一指定功能而言,当系统更新路径指向的资源存储区域中不包含其更新文件时,则可以不执行系统更新路径指向的资源存储区域中的任何更新文件,按照指定功能原始的路径进行启动。
本实施例中,步骤205中对目标模块进行更新的方式可以是通过执行更新文件中的内容,以实现对目标功能的更新。
示例性地,以电子设备的操作系统是Android为例,Android启动都是以文件为基础,各模块相对较为独立;比如蓝牙App(Application,应用)以bluetooth.apk为基础,其存放位置相对较为固定。若资源存储区域中的更新文件为蓝牙APP的更新文件时,在启动蓝牙App时,蓝牙App直接从根据当前的系统更新路径从资源存储区域获得更新文件,并执行,以实现对蓝牙App的更新。
可选地,由于不同的固件的情况下,各个功能模块的需求或使用条件也不同,因此,可以在固件为最新版本、或不需要更新的情况下再对各个功能进行更新。
可选地,步骤205可以包括:判断所述更新引导文件中是否包含固件下载地址;若所述更新引导文件中不包含固件下载地址,则根据切换后的所述系统更新路径对目标功能进行更新。
可选地,可以通过服务器发送更新引导文件判断固件是否需要更新。若固件需要更新,则表示当前固件不是最新版本;若固件不需要更新,则表示当前固件是最新版本。
示例性地,通过对更新引导文件进行识别,判断更新引导文件中是否存在固件的下载地址,若更新引导文件中不包含固件下载地址,则表示当前固件不需要更新,则表示当前固件是最新版本;若更新引导文件中包含固件下载地址,则表示当前固件需要更新,则表示当前固件不是最新版本。
本实施例中,若当前固件不是最新版本,则可以先不对其它功能进行更新,先对固件进行更新。
可选地,如图4所示,本实施例中的系统更新方法还可以包括以下步骤。
步骤206,判断所述更新引导文件中是否包含固件下载地址。
若所述更新引导文件中包含固件下载地址,则执行步骤207。
步骤207,下载固件的更新文件。
步骤208,判断所述系统更新路径中的更新文件是否为所述最新固件有效的更新文件。
若所述系统更新路径中的更新文件不为所述最新固件有效的更新文件,则执行步骤209。若所述系统更新路径中的更新文件是所述最新固件有效的更新文件,则执行步骤210。
步骤209,删除所述系统更新路径中的更新文件。
步骤210,采用恢复模式使用所述固件的更新文件对固件进行更新。
本实施例中,固件更新可以采用与其它功能的更新方式不同的更新方式更新。示例性地,固件更新可以采用恢复模式(recovery)方式进行更新。
本实施例中的方法,通过更新文件替换形式,直接整体替换整个文件以实现功能的更新,区别于现有的基于函数级别,在函数加载的时候改变hook实现;现有的函数的实现方式对于终端厂家有定制的部分,无法实现;比如wifi驱动。本申请实施例采用的系统补丁服务分区根据系统分级(固件的更新优先级高于其它功能的更新优先级),实现多种对象的热/冷更新,与现有技术中的仅仅针对APP或者其他单独或者特定对象,本申请实施例提供的方式适应性更强。
本实施例中,提供了独立于原有android系统之外的一个系统补丁服务分区,该分区可以用于存放更新文件。在启动每一个功能时,增加可以从而资源存储区域中确定是否有更新文件,如果有可以无感知的实现功能的更新,不需要进入独立的Recovery模式。
实施例三
基于同一申请构思,本申请实施例中还提供了与系统更新方法对应的系统更新装置,由于本申请实施例中的装置解决问题的原理与前述的系统更新方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
请参阅图5,是本申请实施例提供的系统更新装置的功能模块示意图。本实施例中的系统更新装置中的各个模块用于执行上述方法实施例中的各个步骤。系统更新装置包括:发送模块301、接收模块302、得到模块303、切换模块304以及第一更新模块305;其中,
发送模块301,用于在第一时间节点,向服务器发送设备信息;
接收模块302,用于接收所述服务器发送的关于所述设备信息对应的更新引导文件;
得到模块303,用于根据所述更新引导文件得到包含更新文件的资源存储区域;
切换模块304,用于切换系统更新路径至所述资源存储区域所在路径;
第一更新模块305,用于在第二时间节点,根据切换后的所述系统更新路径对目标功能进行更新。
一种可能的实施方式中,所述更新引导文件包括:更新路径、模块更新文件的下载地址;得到模块303包括:构建单元、解析单元、下载单元以及存储单元;
构建单元,用于根据所述更新路径构建资源存储区域;
解析单元,用于对所述更新引导文件进行解析,以得到所述模块更新文件的所述下载地址;
下载单元,用于根据所述下载地址下载所述模块更新文件;
存储单元,用于将所述模块更新文件存储至所述资源存储区域中。
一种可能的实施方式中,存储单元,用于:
为所述模块更新文件设置更新标识;
将所述更新标识与所述模块更新文件存入所述资源存储区域中;
第一更新模块305,用于:
在启动一目标功能时,从所述系统更新路径查找是否存在与所述目标功能对应的更新标识;
若存在所述对应的更新标识,则从所述系统更新路径读取所述目标功能对应的更新文件,以对所述目标功能进行更新。
一种可能的实施方式中,构建单元,用于:
在指定大小的存储区域中根据所述更新路径构建资源存储区域。
一种可能的实施方式中,切换模块304,用于:
判断所述更新引导文件中是否包含固件下载地址;
若所述更新引导文件中不包含固件下载地址,则根据切换后的所述系统更新路径对目标功能进行更新。
一种可能的实施方式中,切换模块304,用于:
使用信息摘要算法,对所述更新文件进行校验;
校验成功后,切换系统更新路径至所述资源存储区域所在路径。
一种可能的实施方式中,本实施例中的系统更新装置还可以包括:
第一判断模块,用于判断所述更新引导文件中是否包含固件下载地址;
下载模块,用于若所述更新引导文件中包含固件下载地址,则下载固件的更新文件;
第二判断模块,用于判断所述系统更新路径中的更新文件是否为所述最新固件有效的更新文件;
删除模块,用于若所述系统更新路径中的更新文件不为所述最新固件有效的更新文件,则删除所述系统更新路径中的更新文件;
第二更新模块,用于采用恢复模式使用所述固件的更新文件对固件进行更新。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的系统更新方法的步骤。
本申请实施例所提供的系统更新方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的系统更新方法的步骤,具体可参见上述方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种系统更新方法,其特征在于,包括:
在第一时间节点,向服务器发送设备信息;所述第一时间节点为:电子设备启动时或指定按钮被触发时;
接收所述服务器发送的关于所述设备信息对应的更新引导文件;
根据所述更新引导文件得到包含更新文件的资源存储区域;
切换系统更新路径至所述资源存储区域所在路径;
在第二时间节点,根据切换后的所述系统更新路径对目标功能进行更新;所述第二时间节点为:在所述电子设备启动后,并构建最新的资源存储区域后的时间节点,或电子设备中的任意一功能被启动时的时间节点,或电子设备的操作系统被重启时的时间节点;
其中,所述更新引导文件包括:更新路径、模块更新文件的下载地址;所述根据所述更新引导文件得到包含更新文件的资源存储区域,包括:在指定大小的存储区域中根据所述更新路径构建资源存储区域;对所述更新引导文件进行解析,以得到所述模块更新文件的所述下载地址;根据所述下载地址下载所述模块更新文件;将所述模块更新文件存储至所述资源存储区域中;
所述切换系统更新路径至所述资源存储区域所在路径,包括:将系统更新路径由之前创建的资源存储区域所在路径切换至当前的资源存储区域所在路径。
2.根据权利要求1所述的方法,其特征在于,所述将所述模块更新文件存储至所述资源存储区域中,包括:
为所述模块更新文件设置更新标识;
将所述更新标识与所述模块更新文件存入所述资源存储区域中;
所述根据切换后的所述系统更新路径对目标功能进行更新,包括:
在启动一目标功能时,从所述系统更新路径查找是否存在与所述目标功能对应的更新标识;
若存在所述对应的更新标识,则从所述系统更新路径读取所述目标功能对应的更新文件,以对所述目标功能进行更新。
3.根据权利要求1所述的方法,其特征在于,所述根据切换后的所述系统更新路径对目标功能进行更新,包括:
判断所述更新引导文件中是否包含固件下载地址;
若所述更新引导文件中不包含固件下载地址,则根据切换后的所述系统更新路径对目标功能进行更新。
4.根据权利要求1所述的方法,其特征在于,所述切换系统更新路径至所述资源存储区域所在路径,包括:
使用信息摘要算法,对所述更新文件进行校验;
校验成功后,切换系统更新路径至所述资源存储区域所在路径。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:
判断所述更新引导文件中是否包含固件下载地址;
若所述更新引导文件中包含固件下载地址,则下载固件的更新文件;
判断所述系统更新路径中的更新文件是否为最新固件有效的更新文件;
若所述系统更新路径中的更新文件不为所述最新固件有效的更新文件,则删除所述系统更新路径中的更新文件;
采用恢复模式使用所述固件的更新文件对固件进行更新。
6.一种系统更新装置,其特征在于,包括:
发送模块,用于在第一时间节点,向服务器发送设备信息;所述第一时间节点为:电子设备启动时或指定按钮被触发时;
接收模块,用于接收所述服务器发送的关于所述设备信息对应的更新引导文件;
得到模块,用于根据所述更新引导文件得到包含更新文件的资源存储区域;其中,所述更新引导文件包括:更新路径、模块更新文件的下载地址;所述得到模块用于:在指定大小的存储区域中根据所述更新路径构建资源存储区域;对所述更新引导文件进行解析,以得到所述模块更新文件的所述下载地址;根据所述下载地址下载所述模块更新文件;将所述模块更新文件存储至所述资源存储区域中;
切换模块,用于切换系统更新路径至所述资源存储区域所在路径;所述切换模块用于:将系统更新路径由之前创建的资源存储区域所在路径切换至当前的资源存储区域所在路径;
第一更新模块,用于在第二时间节点,根据切换后的所述系统更新路径对目标功能进行更新;所述第二时间节点为:在所述电子设备启动后,并构建最新的资源存储区域后的时间节点,或电子设备中的任意一功能被启动时的时间节点,或电子设备的操作系统被重启时的时间节点。
7.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至5任一所述的方法的步骤。
8.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至5任一所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010539674.4A CN111666091B (zh) | 2020-06-12 | 2020-06-12 | 系统更新方法、装置、电子设备和计算机可读存储介质 |
PCT/CN2021/098029 WO2021249266A1 (zh) | 2020-06-12 | 2021-06-03 | 系统更新方法、装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010539674.4A CN111666091B (zh) | 2020-06-12 | 2020-06-12 | 系统更新方法、装置、电子设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111666091A CN111666091A (zh) | 2020-09-15 |
CN111666091B true CN111666091B (zh) | 2023-08-29 |
Family
ID=72387525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010539674.4A Active CN111666091B (zh) | 2020-06-12 | 2020-06-12 | 系统更新方法、装置、电子设备和计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111666091B (zh) |
WO (1) | WO2021249266A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666091B (zh) * | 2020-06-12 | 2023-08-29 | 成都极米科技股份有限公司 | 系统更新方法、装置、电子设备和计算机可读存储介质 |
CN113703821A (zh) * | 2021-08-26 | 2021-11-26 | 北京百度网讯科技有限公司 | 云手机更新方法、装置、设备以及存储介质 |
CN113821246A (zh) * | 2021-09-22 | 2021-12-21 | 四川虹美智能科技有限公司 | 软件无感增量式更新方法、装置、系统及存储介质 |
CN113992516B (zh) * | 2021-10-21 | 2023-07-28 | 远景智能国际私人投资有限公司 | 物联网设备的固件更新方法、装置及物联网 |
CN115033259A (zh) * | 2022-05-31 | 2022-09-09 | 珠海视熙科技有限公司 | 固件升级方法、装置、存储介质及电子设备 |
CN115242775A (zh) * | 2022-07-04 | 2022-10-25 | 中国银联股份有限公司 | 资源文件获取方法、装置、设备、介质及产品 |
WO2024087234A1 (zh) * | 2022-10-29 | 2024-05-02 | 华为技术有限公司 | 更新软件的方法、装置和智能设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046758A (zh) * | 2006-03-28 | 2007-10-03 | 冲电气工业株式会社 | 冗余系统的文件更新方法 |
CN101141729A (zh) * | 2006-09-07 | 2008-03-12 | 三星电子株式会社 | 移动终端的固件更新方法及使用该方法的移动终端 |
CN108845824A (zh) * | 2018-07-10 | 2018-11-20 | 平安科技(深圳)有限公司 | 应用更新方法和装置及计算机可读存储介质 |
CN109391509A (zh) * | 2018-04-16 | 2019-02-26 | 深圳思为科技有限公司 | 一种更新应用程序的方法、系统及应用服务器 |
CN109933348A (zh) * | 2019-01-21 | 2019-06-25 | 宁波普瑞均胜汽车电子有限公司 | 一种电子控制单元中Bootloader的更新方法和装置 |
CN110347414A (zh) * | 2019-07-15 | 2019-10-18 | 西安易朴通讯技术有限公司 | 固件更新方法、装置、设备及计算机可读存储介质 |
EP3564808A4 (en) * | 2017-01-26 | 2019-11-06 | Huawei Technologies Co., Ltd. | METHOD FOR CONFIGURING DATA AND APPARATUS FOR CONFIGURING DATA |
CN111010423A (zh) * | 2019-11-20 | 2020-04-14 | 远景智能国际私人投资有限公司 | 更新包的下载系统、方法、装置、设备及可读存储介质 |
CN111045714A (zh) * | 2019-12-19 | 2020-04-21 | 歌尔股份有限公司 | 一种固件更新方法、装置、耳机及计算机可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IN2014CN04930A (zh) * | 2011-12-01 | 2015-09-18 | Tencent Tech Shenzhen Co Ltd | |
CN107205057A (zh) * | 2017-08-02 | 2017-09-26 | 无锡江南影视传播有限公司 | 一种游戏资源更新方法、装置及客户端 |
US10409586B1 (en) * | 2018-02-16 | 2019-09-10 | Wipro Limited | Method and system for developing and delivering an update on human machine interface (HMI) application |
US10884759B2 (en) * | 2018-10-30 | 2021-01-05 | Hewlett Packard Enterprise Development Lp | Remote deployment of operating systems |
CN110825419B (zh) * | 2019-11-15 | 2022-07-22 | 苏州浪潮智能科技有限公司 | 一种固件刷新方法、装置及电子设备和存储介质 |
CN111666091B (zh) * | 2020-06-12 | 2023-08-29 | 成都极米科技股份有限公司 | 系统更新方法、装置、电子设备和计算机可读存储介质 |
-
2020
- 2020-06-12 CN CN202010539674.4A patent/CN111666091B/zh active Active
-
2021
- 2021-06-03 WO PCT/CN2021/098029 patent/WO2021249266A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101046758A (zh) * | 2006-03-28 | 2007-10-03 | 冲电气工业株式会社 | 冗余系统的文件更新方法 |
CN101141729A (zh) * | 2006-09-07 | 2008-03-12 | 三星电子株式会社 | 移动终端的固件更新方法及使用该方法的移动终端 |
EP3564808A4 (en) * | 2017-01-26 | 2019-11-06 | Huawei Technologies Co., Ltd. | METHOD FOR CONFIGURING DATA AND APPARATUS FOR CONFIGURING DATA |
CN109391509A (zh) * | 2018-04-16 | 2019-02-26 | 深圳思为科技有限公司 | 一种更新应用程序的方法、系统及应用服务器 |
CN108845824A (zh) * | 2018-07-10 | 2018-11-20 | 平安科技(深圳)有限公司 | 应用更新方法和装置及计算机可读存储介质 |
CN109933348A (zh) * | 2019-01-21 | 2019-06-25 | 宁波普瑞均胜汽车电子有限公司 | 一种电子控制单元中Bootloader的更新方法和装置 |
CN110347414A (zh) * | 2019-07-15 | 2019-10-18 | 西安易朴通讯技术有限公司 | 固件更新方法、装置、设备及计算机可读存储介质 |
CN111010423A (zh) * | 2019-11-20 | 2020-04-14 | 远景智能国际私人投资有限公司 | 更新包的下载系统、方法、装置、设备及可读存储介质 |
CN111045714A (zh) * | 2019-12-19 | 2020-04-21 | 歌尔股份有限公司 | 一种固件更新方法、装置、耳机及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
MTK平台数据卡在Windows 8系统下的FOTA升级;康鹏涛;《中国优秀硕士学位论文全文数据库 信息科技辑》;I136-544 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021249266A1 (zh) | 2021-12-16 |
CN111666091A (zh) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111666091B (zh) | 系统更新方法、装置、电子设备和计算机可读存储介质 | |
US10417060B2 (en) | Automated API publication for Internet of Things platform | |
CN108196878B (zh) | 应用程序安装包的生成方法、装置、电子设备及存储介质 | |
US10282185B2 (en) | Method and apparatus for firmware virtualization | |
US20130225148A1 (en) | Terminal with module protection and module managing method | |
CN113727333A (zh) | 定制应用的下载方法和系统 | |
CN110955449B (zh) | 客户端的灰度发布方法及装置 | |
CN109710287B (zh) | 一种热更新方法、装置及计算机存储介质 | |
CN112732265A (zh) | 一种数据处理方法和相关装置 | |
US20140143311A1 (en) | Authority management system, server system, non-transitory computer- readable storage medium having stored therein authority management program, and authority management method | |
CN113064611B (zh) | 针对无线设备实现数据分析软件升级的方法及其更新方法 | |
KR101369254B1 (ko) | 악성 애플리케이션 진단장치 및 방법 | |
CN114866517A (zh) | 一种安装文件执行方法、装置及存储介质 | |
CN109522014B (zh) | 基于新产品开发的算法处理方法、电子装置及可读存储介质 | |
CN109933357B (zh) | 应用程序升级方法及装置 | |
CN108234216B (zh) | 下载数据报文的方法及装置 | |
CN112307466A (zh) | 一种应用程序检测方法、装置、电子设备和存储介质 | |
CN112558975B (zh) | 组件的代码切换方法、装置、电子设备及可读存储介质 | |
CN111258873A (zh) | 测试方法及装置 | |
CN116774949B (zh) | 一种资源包的存储方法及服务器 | |
CN113626245B (zh) | 防止ios应用程序崩溃的方法 | |
CN112433741B (zh) | 页面处理方法、装置、系统、电子设备及存储介质 | |
CN106021367B (zh) | 一种查找备份数据的方法及终端 | |
CN116719537A (zh) | 应用安装方法、装置、设备及存储介质 | |
CN115098154A (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 |