CN114610366A - 一种差分包升级方法、系统、智能电子设备和存储介质 - Google Patents
一种差分包升级方法、系统、智能电子设备和存储介质 Download PDFInfo
- Publication number
- CN114610366A CN114610366A CN202210293640.0A CN202210293640A CN114610366A CN 114610366 A CN114610366 A CN 114610366A CN 202210293640 A CN202210293640 A CN 202210293640A CN 114610366 A CN114610366 A CN 114610366A
- Authority
- CN
- China
- Prior art keywords
- version
- upgrading
- upgrade
- functional software
- differential
- 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/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- 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
Abstract
本发明公开了一种差分包升级方法、系统、智能电子设备和存储介质,其方法包括:根据功能软件的当前版本名称与目标版本名称,分析判断所述功能软件是否需要升级;若判断结果为需要升级,查询所述功能软件的最短升级路径并下载获取对应的差分升级包;所述最短升级路径为以最少升级次数从当前版本升级至目标版本的升级路径;根据所述差分升级包按照所述最短升级路径,将所述功能软件从当前版本升级至目标版本。本发明简化软件升级流程,提升软件升级效率。
Description
技术领域
本发明涉及无线通信技术领域,进一步地涉及一种差分包升级方法、系统、智能电子设备和存储介质。
背景技术
随着科技的发展,出现了日新月异的智能电子设备,目前的打印机、投影仪、电脑等智能电子设备一般内置有无线通信模块。
为了满足人们对新鲜事物的追求,智能电子设备在不停地扩展功能。由于智能电子设备的软件版本过于陈旧,会影响到新功能的使用,因此智能电子设备需要进行软件升级。软件升级方式一般是通过网络FOTA的方式进行差分包升级。
其中,现有软件升级方式由于可能存在众多各不同的历史旧版本,同时有场景不能把各旧版本升级到某一统一的新版本。这样使用差分包升级会面临两个问题。一是由于差分包版本很多,简单的从低版本向高版本依次升级会有冗余升级次数过多的问题。二是如何精确控制使得某台设备从一个版本升级到某个固定版本。
发明内容
针对上述技术问题,本发明的目的在于解决现有软件升级技术冗余升级次数过多导致软件升级耗时长,以及不可定向升级至需要的目标版本的技术问题。
为了实现上述目的,本发明提供一种差分包升级方法,应用于智能电子设备,所述智能电子设备安装有功能软件,包括步骤:
根据功能软件的当前版本名称与目标版本名称,分析判断所述功能软件是否需要升级;
若判断结果为需要升级,查询所述功能软件的最短升级路径并下载获取对应的差分升级包;所述最短升级路径为以最少升级次数从当前版本升级至目标版本的升级路径;
根据所述差分升级包按照所述最短升级路径,将所述功能软件从当前版本升级至目标版本。
在一些实施方式中,所述根据功能软件的当前版本名称与目标版本名称,分析判断所述功能软件是否需要升级之前包括步骤:
获取云端服务器发送的升级控制指令;所述升级控制指令用于指示所述智能电子设备进行升级,所述升级控制指令包括版本索引表、下载地址首字段和所述功能软件的目标版本名称;
所述根据功能软件的当前版本名称与目标版本名称,分析判断所述功能软件是否需要升级包括步骤:
从配置文件的摘要字段处获取所述功能软件的当前版本名称;
查询版本索引表得到所述当前版本名称对应的当前版本序号,以及所述目标版本名称对应的目标版本序号;所述版本索引表包括各功能软件的版本名称和版本序号之间的对应关系;
判断所述当前版本序号与所述目标版本序号是否相同;
若相同,确定所述判断结果为功能软件不需要升级;
若不相同,确定所述判断结果为功能软件需要升级。
在一些实施方式中,所述查询所述功能软件的最短升级路径并下载获取对应的差分升级包包括步骤:
根据所述当前版本名称和所述目标版本名称,查询所述版本索引表得到所述功能软件对应的基础升级路径;所述版本索引表还包括各功能软件的版本名称、版本序号和版本属性之间的对应关系;所述版本属性包括必要和非必要;
删除所述基础升级路径中非必要的版本序号得到所述最短升级路径;
根据所述最短升级路径获取对应的下载地址链接;
根据所述下载地址链接从云端服务器下载获取所述差分升级包。
在一些实施方式中,所述根据所述最短升级路径获取对应的下载地址链接包括步骤:
获取所述云服务器提供的下载地址首字段;
按照所述先后排列顺序,将所述下载地址首字段、所述相邻的两个版本序号进行拼接生成对应的下载地址链接。
根据本发明的另一方面,本发明进一步提供一种软件云端升级系统,其特征在于,包括智能电子设备和云端服务器,所述云端服务器储存有差分升级包,所述智能电子设备安装有功能软件,所述智能电子设备包括:
分析模块,用于根据功能软件的当前版本名称与目标版本名称,分析判断所述功能软件是否需要升级;
处理模块,用于若判断结果为需要升级,查询所述功能软件的最短升级路径并下载获取对应的差分升级包;所述最短升级路径为以最少升级次数从当前版本升级至目标版本的升级路径;
安装模块,用于根据所述差分升级包按照所述最短升级路径,将所述功能软件从当前版本升级至目标版本。
在一些实施方式中,所述分析模块包括:
获取单元,用于获取云端服务器发送的升级控制指令;所述升级控制指令用于指示所述智能电子设备进行升级,所述升级控制指令包括版本索引表、下载地址首字段和所述功能软件的目标版本名称;
提取单元,用于从配置文件的摘要字段处获取所述功能软件的当前版本名称;
搜索单元,用于查询版本索引表得到所述当前版本名称对应的当前版本序号,以及所述目标版本名称对应的目标版本序号;所述版本索引表包括各功能软件的版本名称和版本序号之间的对应关系;
判断单元,用于判断所述当前版本序号与所述目标版本序号是否相同,若相同,确定所述判断结果为功能软件不需要升级;若不相同,确定所述判断结果为功能软件需要升级。
在一些实施方式中,所述处理模块包括:
查询单元,用于根据所述当前版本名称和所述目标版本名称,查询所述版本索引表得到所述功能软件对应的基础升级路径;所述版本索引表还包括各功能软件的版本名称、版本序号和版本属性之间的对应关系;所述版本属性包括必要和非必要;
删除单元,用于删除所述基础升级路径中非必要的版本序号得到所述最短升级路径;
处理单元,用于根据所述最短升级路径获取对应的下载地址链接;
下载单元,用于根据所述下载地址链接从云端服务器下载获取所述差分升级包。
在一些实施方式中,所述处理单元包括:
获取子单元,用于获取所述云服务器提供的下载地址首字段;
生成子单元,用于按照所述先后排列顺序,将所述下载地址首字段、所述相邻的两个版本序号进行拼接生成对应的下载地址链接。
根据本发明的另一方面,本发明进一步提供一种智能电子设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器,用于执行所述存储器上所存放的计算机程序,实现所述的差分包升级方法所执行的操作。
根据本发明的另一方面,本发明进一步提供一种存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现所述的差分包升级方法所执行的操作。
与现有技术相比,本发明所提供的一种差分包升级方法、系统、智能电子设备和存储介质。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对本发明的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明一种差分包升级方法的一个实施例的流程图;
图2是本发明一种差分包升级方法的另一个实施例的流程图;
图3是本发明一种差分包升级方法的另一个实施例的流程图;
图4是本发明的4G版本索引表的示意图;
图5是本发明打印机的4G模块的版本升级逻辑框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
参考说明书附图1,一种差分包升级方法,应用于智能电子设备,所述智能电子设备安装有功能软件,包括步骤:
S100根据功能软件的当前版本名称与目标版本名称,分析判断所述功能软件是否需要升级;
具体的,FOTA(Firmware Over-The-Air)移动终端的空中下载软件升级,指通过云端升级技术,为具有连网功能的设备:例如手机、平板电脑、便携式媒体播放器、移动互联网设备等提供固件升级服务,用户使用网络以按需、易扩展的方式获取智能终端系统升级包,并通过FOTA进行云端升级,完成系统修复和优化。功能模块包括但是不限于4G通信模块、5G通信模块、图像显示模块、打印模块。智能电子设备根据功能软件的当前版本名称与目标版本名称判断自身是否需要升级,即根据当前版本判断所述智能电子设备的功能软件是否为最新版或者目标版等,如果不是则需要升级。
S200若判断结果为需要升级,查询所述功能软件的最短升级路径并下载获取对应的差分升级包;所述最短升级路径为以最少升级次数从当前版本升级至目标版本的升级路径;
具体的,依照上述判断出需要升级时,智能电子设备再查询功能软件的最短升级路径,根据功能软件的最短升级路径下载对应的差分升级包。智能电子设备根据所述下载地址链接进行下载功能软件对应的差分升级包。
S300根据所述差分升级包按照所述最短升级路径,将所述功能软件从当前版本升级至目标版本。
具体的,FOTA差分包升级是指在一个旧的基准版本上替换部分差异软件的方式升级到一个新版本。假设基线版本1描述为B1,即Base 1,云端服务器中储存有一个FOTA升级包B1_FOTA_B2可使得B1升级到B2。同理,基线版本2描述为B2,即Base 2,云端服务器中储存有一个FOTA升级包B2_FOTA_B3可使得B2升级到B3。基线版本x描述为Bx,即Base x,云端服务器中储存有一个FOTA升级包Bx_FOTA_Bx+1可使得Bx升级到Bx+1。其中X>=1。
实际上,FOTA升级不仅仅在相邻的两个版本之间发生,为减少升级次数,也可以在每一个任意间隔版本之间发生。例如当前最新版本是B10,而实际上4G存在的各种不一的老版本,比方B1,B2,B3,……,B9这样就需要类似B1_FOTA_B10,B2_FOTA_B10,B3_FOTA_B10,……,B9_FOTA_B10这样的差分包,来实现从任意一个老版本一步升级到一个新的版本(这里不讨论一个差分包,可以把之前任意版本升级到最新的情况,因为这样全能的差分包实际不一定能得到的)。有时还会遇到版本不能跳过的情况,比方目前最新还是B10,而某一4G的版本还是B1,由于一些原因B2,B5这两个版本的升级不能跳过,于是实际从B1升级到B10的最短升级路径是B1->B2->B5->B10。在此基础上更进一步,有时候尽管目前最新版本是B10,但是某些情况下,某用户还是希望统一维持到一个不是最新的版本,比方B8,这样实际的最短升级路径变成B1->B2->B5->B8(注意这里控制在B8而不是最新的B10)。
当然智能电子设备也可以在升级过程中监控软件下载任务进展,智能电子设备根据升级情况向云端服务器返回升级结果。本发明实现从一个旧版本以升级次数最少的最快速的方式升级到一个新版本或者某一特定版本(不一定最新),本发明能以最高效的方式进行软件升级,大大减小软件升级耗时,提高智能电子设备的升级效率。
参考说明书附图2和图3,一种差分包升级方法,应用于智能电子设备,所述智能电子设备安装有功能软件,包括步骤:
S010获取云端服务器发送的升级控制指令;所述升级控制指令用于指示所述智能电子设备进行升级,所述升级控制指令包括版本索引表、下载地址首字段和所述功能软件的目标版本名称;
具体的,云端服务器也称OTA服务器,OTA是Over-the-Air Technology的缩写。本发明首先按照预设命名规则设计名字形如Bx_FOTA_Bn的差分升级包放在云端服务器,并且设计从云端服务器推送到智能电子设备(例如打印机、电视机、手机、电脑等)的控制信息即本发明的升级控制指令,包括:i).版本索引表,其用于方便版本索引;ii).URL:即下载地址首字段,URL用于标记获得FOTA差分包基础路径;iii).目标版本序号:最终升级到的版本(可以包括最新版本或者某一特定版本);iv).关键路径节点(即本发明的中间必要版本),中间必要版本为不可跳过的升级版本,中间必要版本可以不止一个。下载地址链接指的是功能软件在云端服务器上的统一资源定位地址,即UniformResourceLocator地址,其缩写为URL。
S110从配置文件的摘要字段处获取所述功能软件的当前版本名称;
S120查询版本索引表得到所述当前版本名称对应的当前版本序号,以及所述目标版本名称对应的目标版本序号;所述版本索引表包括各功能软件的版本名称和版本序号之间的对应关系;
S130判断所述当前版本序号与所述目标版本序号是否相同;
S140若相同,确定所述判断结果为功能软件不需要升级;
S150若不相同,确定所述判断结果为功能软件需要升级;
S210根据所述当前版本名称和所述目标版本名称,查询所述版本索引表得到所述功能软件对应的基础升级路径;所述版本索引表还包括各功能软件的版本名称、版本序号和版本属性之间的对应关系;所述版本属性包括必要和非必要;
S220删除所述基础升级路径中非必要的版本序号得到所述最短升级路径;
S230根据所述最短升级路径获取对应的下载地址链接;
具体的,S230根据所述最短升级路径获取对应的下载地址链接包括步骤:
S231获取所述云服务器提供的下载地址首字段;
S232按照所述先后排列顺序,将所述下载地址首字段、所述相邻的两个版本序号进行拼接生成对应的下载地址链接;
S240根据所述下载地址链接从云端服务器下载获取所述差分升级包;
S300根据所述差分升级包按照所述最短升级路径,将所述功能软件从当前版本升级至目标版本;
S300根据所述差分升级包按照所述最短升级路径,将所述功能软件从当前版本升级至目标版本具体包括步骤:
S310若所述最短升级路径包括必要版本,根据所述差分升级包将所述功能软件从当前版本升级至所述必要版本后,再从所述必要版本升级至所述目标版本;
S320若所述最短升级路径不包括必要版本,根据所述差分升级包将所述功能软件直接从当前版本升级至所述目标版本。
具体的,云端服务器定期向智能电子设备发送升级控制指令,由智能电子设备判断是否需要进行升级,如果需要升级智能电子设备会收到云端服务器推送的功能软件的URL地址,云端服务器可以对相应的URL地址的有效时间进行设置,以保证功能软件下载更新的安全性。智能电子设备收到URL之后,通过HTTPS协议根据URL地址下载差分升级包。当然,在升级过程中智能电子设备定时上报差分升级包下载情况的进展。当智能电子设备下载完成差分升级包后,智能电子设备根据升级情况向云端服务器返回升级结果。
示例性的,当如上升级控制指令从云端服务器推送到打印机后,打印机通过读取4G模块的当前版本名称,并且查询4G版本索引表得知本模块的当前版本序号,打印机将当前版本序号同目标版本序号进行比较来判断是否需要升级。然后,打印机再查询下升级路径上是否存在不能跳过的版本即中间必要版本。最后,打印机通过URL的基础路径和规则命名的下载地址链接,就可以从云端服务器拿到对应的差分升级包依次进行FOTA升级。
示例性的,为说明版本演进以及云端服务器的差分升级包的变化情况,从A,B两个时刻看其变化情况。为图示方便,如图4所示简化图示最多4个版本。假设当前4G模块对应版本序号为1,目标升级版本为4,其中版本序号为2对应的软件版本在升级时不能跳过(即本发明的必要版本),升级控制指令包括如下信息:
i).4G版本索引表:B时刻的版本索引表
ii).URL云端服务器基础地址(即本发明的下载地址首字段),比方:https://xxxx/
iii).目标版本序号:4
iv).关键路径节点:2
云端服务器推送升级控制指令至打印机。打印机重启读取4G模块版本号VER_ABCD(1),查表发现当前对应版本序号为1,目标版本是4,需要升级,但是其见还有关键路径节点2(VER_EFGH),可得到先做1->2的升级。从https://xxxx/B1_FOTA_B2.zip拿到对应差分升级包,解压安装成功之后进行升级。升级成功再读取4G版本号VER_EFGH(2),查表发现对当前应版本序号2,目标版本是4,其间没有额外的关键路径节点,从https://xxxx/B2_FOTA_B4.zip拿到对应的差分升级包,解压升级成功之后进行升级。-->升级成功后读取4G版本号VER_MNOP,查表对应版本序号为4,目前升级版本为4,升级完成,即本发明功能软件的最终升级路径为1->2->4。
示例性的,如图5所示是打印机实际的4G FOTA版本升级逻辑框图。其中4G_WNET是指打印机4G模块的软件功能模块/线程,Download Manager是打印机中控制FOTA下载安装的功能模块/线程。打印机启动后查询日志文件的预设标志字段(例如图5所示的4g_fota),判断预设标志字段是否为第一预设字符(例如图5所示的TRUE,或者1),举例说明,如果预设标志字段4g_fota==TURE或者4g_fota==1,表明打印机需要使用4G_FOTA方式升级。如果预设标志字段4g_fota==False或者4g_fota==0,表明打印机不需要使用4G_FOTA方式升级进而进入正常的4G开机流程。打印机进入正常的4G开机流程之前,获取打印机当前4G版本号并保存至ver字段,然后,一旦接收到CheckWnet FOTaDL()通知,打印机就会从ver字段获取当前4G版本号,并查询如图4所示的版本索引表,判断打印机是否需要进行FOTA升级,如果需要打印机就从云端服务器处下载对应的4G FOTA升级文件(即本发明的差分升级包),然后,将日志文件的预设标志字段设置为第一预设字符以便进行FOTA升级。
上述流程中有一种情况,假设4G FOTA升级文件已经下载下来了,但是升级过程还在进行中没有完成,如果这期间由于强制关机停掉了4G FOTA升级,然后改用USB进行升级至最新版本后打印机再次重启开机时,如果不删除第一预设字符,容易导致打印机程序认定需要继续重启未完成的下载任务,从而继续进行FOTA方式升级,导致打印机因为FOTA升级与USB升级造成不必要的冲突。并且,因为打印机已经使用USB升级到最新版本,之前FOTA升级需要使用到的文件会变成冗余文件了,因此需要删除。对于这种情况,本实施例还可以提供一个接口来强制删除预设标志字段(例如删除4g_fota),以便解决使用USB本地升级后,由于4g_fota标志还存在导致4G模块进行USB升级和FOTA升级之间出现冲突的问题,还能有效删除冗余文件。
其中,4G FOTA升级是云端差分包升级方式,而USB指一般意义上人工操作的全版本覆盖升级,默认升级者知道使用USB可升级至目标版本。
本发明根据最短升级路径下载功能软件对应的差分升级包来实现功能软件的升级,即将需要升级的目标功能软件版本与现有智能电子设备运行的功能软件的当前版本进行比较,以最短升级路径方式下载安装对应的差分功能软件包,具有低空间占用、最快、最高效升级至目标版本的效果,大大简化软件升级流程,提升软件升级效率。
在一个实施例中,根据本发明的另一方面,本发明进一步提供一种软件云端升级系统,包括智能电子设备和云端服务器,所述云端服务器储存有差分升级包,所述智能电子设备安装有功能软件,所述智能电子设备包括:
分析模块,用于根据功能软件的当前版本名称与目标版本名称,分析判断所述功能软件是否需要升级;
处理模块,用于若判断结果为需要升级,查询所述功能软件的最短升级路径并下载获取对应的差分升级包;所述最短升级路径为以最少升级次数从当前版本升级至目标版本的升级路径;
安装模块,用于根据所述差分升级包按照所述最短升级路径,将所述功能软件从当前版本升级至目标版本。
在一些实施方式中,所述分析模块包括:
获取单元,用于获取云端服务器发送的升级控制指令;所述升级控制指令用于指示所述智能电子设备进行升级,所述升级控制指令包括版本索引表、下载地址首字段和所述功能软件的目标版本名称;
提取单元,用于从配置文件的摘要字段处获取所述功能软件的当前版本名称;
搜索单元,用于查询版本索引表得到所述当前版本名称对应的当前版本序号,以及所述目标版本名称对应的目标版本序号;所述版本索引表包括各功能软件的版本名称和版本序号之间的对应关系;
判断单元,用于判断所述当前版本序号与所述目标版本序号是否相同,若相同,确定所述判断结果为功能软件不需要升级;若不相同,确定所述判断结果为功能软件需要升级。
在一些实施方式中,所述处理模块包括:
查询单元,用于根据所述当前版本名称和所述目标版本名称,查询所述版本索引表得到所述功能软件对应的基础升级路径;所述版本索引表还包括各功能软件的版本名称、版本序号和版本属性之间的对应关系;所述版本属性包括必要和非必要;
删除单元,用于删除所述基础升级路径中非必要的版本序号得到所述最短升级路径;
处理单元,用于根据所述最短升级路径获取对应的下载地址链接;
下载单元,用于根据所述下载地址链接从云端服务器下载获取所述差分升级包。
在一些实施方式中,所述处理单元包括:
获取子单元,用于获取所述云服务器提供的下载地址首字段;
生成子单元,用于按照所述先后排列顺序,将所述下载地址首字段、所述相邻的两个版本序号进行拼接生成对应的下载地址链接。
根据本发明的另一方面,本发明进一步提供一种智能电子设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器,用于执行所述存储器上所存放的计算机程序,实现所述的差分包升级方法所执行的操作。
根据本发明的另一方面,本发明进一步提供一种存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现所述的差分包升级方法所执行的操作。
具体的,本实施例是上述方法实施例对应的系统实施例,具体效果参见上述方法实施例,在此不再一一赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的程序模块完成,即将所述装置的内部结构划分成不同的程序单元或模块,以完成以上描述的全部或者部分功能。实施例中的各程序模块可以集成在一个处理单元中,也可是各个单元单独物理存在,也可以两个或两个以上单元集成在一个处理单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序单元的形式实现。另外,各程序模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
本发明的一个实施例,一种智能电子设备,包括处理器、存储器,其中,存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的计算机程序,所述计算机程序被所述处理器执行时实现包括上述任意一个或者多个实施例所述差分包升级方法的步骤。
所述智能电子设备可以为桌上型计算机、笔记本、掌上电脑、平板型计算机、手机、人机交互屏等设备。所述智能电子设备可包括,但不仅限于处理器、存储器。本领域技术人员可以理解,上述仅仅是智能电子设备的示例,并不构成对智能电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如:智能电子设备还可以包括输入/输出接口、显示设备、网络接入设备、通信总线、通信接口等。通信接口和通信总线,还可以包括输入/输出接口,其中,处理器、存储器、输入/输出接口和通信接口通过通信总线完成相互间的通信。该存储器存储有计算机程序,该处理器用于执行存储器上所存放的计算机程序,实现上述所对应方法实施例中的差分包升级方法。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可以是所述智能电子设备的内部存储单元,例如:智能电子设备的硬盘或内存。所述存储器也可以是所述智能电子设备的外部存储设备,例如:所述智能电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器还可以既包括所述智能电子设备的内部存储单元也包括外部存储设备。所述存储器用于存储所述计算机程序以及所述智能电子设备所需要的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
通信总线是连接所描述的元素的电路并且在这些元素之间实现传输。例如,处理器通过通信总线从其它元素接收到命令,解密接收到的命令,根据解密的命令执行计算或数据处理。存储器可以包括程序模块,例如内核(kernel),中间件(middleware),应用程序编程接口(Application Programming Interface,API)和应用。该程序模块可以是有软件、功能软件或硬件、或其中的至少两种组成。输入/输出接口转发用户通过输入/输出接口(例如感应器、键盘、触摸屏)输入的命令或数据。通信接口将该智能电子设备与其它网络设备、用户设备、网络进行连接。例如,通信接口可以通过有线或无线连接到网络以连接到外部其它的网络设备或用户设备。无线通信可以包括以下至少一种:无线保真(WiFi),蓝牙(BT),近距离无线通信技术(NFC),全球卫星定位系统(GPS)和蜂窝通信等等。有线通信可以包括以下至少一种:通用串行总线(USB),高清晰度多媒体接口(HDMI),异步传输标准接口(RS-232)等等。网络可以是电信网络和通信网络。通信网络可以为计算机网络、因特网、物联网、电话网络。智能电子设备可以通过通信接口连接网络,智能电子设备和其它网络设备通信所用的协议可以被应用、应用程序编程接口(API)、中间件、内核和通信接口至少一个支持。
本发明的一个实施例,一种存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现上述差分包升级方法对应实施例所执行的操作。例如,存储介质可以是只读内存(ROM)、随机存取存储器(RAM)、只读光盘(CD-ROM)、磁带、软盘和光数据存储设备等。
它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/智能电子设备和方法,可以通过其他的方式实现。例如,以上所描述的装置/智能电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性、机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可能集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序发送指令给相关的硬件完成,所述的计算机程序可存储于一存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述存储介质可以包括:能够携带所述计算机程序的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如:在某些司法管辖区,根据立法和专利实践,计算机可读的存储介质不包括电载波信号和电信信号。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种差分包升级方法,其特征在于,应用于智能电子设备,所述智能电子设备安装有功能软件,包括步骤:
根据功能软件的当前版本名称与目标版本名称,分析判断所述功能软件是否需要升级;
若判断结果为需要升级,查询所述功能软件的最短升级路径并下载获取对应的差分升级包;所述最短升级路径为以最少升级次数从当前版本升级至目标版本的升级路径;
根据所述差分升级包按照所述最短升级路径,将所述功能软件从当前版本升级至目标版本。
2.根据权利要求1所述的差分包升级方法,其特征在于,所述根据功能软件的当前版本名称与目标版本名称,分析判断所述功能软件是否需要升级之前包括步骤:
获取云端服务器发送的升级控制指令;所述升级控制指令用于指示所述智能电子设备进行升级,所述升级控制指令包括版本索引表、下载地址首字段和所述功能软件的目标版本名称;
所述根据功能软件的当前版本名称与目标版本名称,分析判断所述功能软件是否需要升级包括步骤:
从配置文件的摘要字段处获取所述功能软件的当前版本名称;
查询版本索引表得到所述当前版本名称对应的当前版本序号,以及所述目标版本名称对应的目标版本序号;所述版本索引表包括各功能软件的版本名称和版本序号之间的对应关系;
判断所述当前版本序号与所述目标版本序号是否相同;
若相同,确定所述判断结果为功能软件不需要升级;
若不相同,确定所述判断结果为功能软件需要升级。
3.根据权利要求2所述的差分包升级方法,其特征在于,所述查询所述功能软件的最短升级路径并下载获取对应的差分升级包包括步骤:
根据所述当前版本名称和所述目标版本名称,查询所述版本索引表得到所述功能软件对应的基础升级路径;其中,所述版本索引表还包括各功能软件的版本名称、版本序号和版本属性之间的对应关系;所述版本属性包括必要和非必要;
删除所述基础升级路径中非必要的版本序号得到所述最短升级路径;
根据所述最短升级路径获取对应的下载地址链接;
根据所述下载地址链接从云端服务器下载获取所述差分升级包。
4.根据权利要求3所述的差分包升级方法,其特征在于,所述根据所述最短升级路径获取对应的下载地址链接包括步骤:
获取所述云服务器提供的下载地址首字段;
按照所述先后排列顺序,将所述下载地址首字段、所述相邻的两个版本序号进行拼接生成对应的下载地址链接。
5.根据权利要求1-4所述的差分包升级方法,其特征在于,所述根据所述差分升级包按照所述最短升级路径,将所述功能软件从当前版本升级至目标版本包括步骤:
若所述最短升级路径包括必要版本,根据所述差分升级包将所述功能软件从当前版本升级至所述必要版本后,再从所述必要版本升级至所述目标版本;
若所述最短升级路径不包括必要版本,根据所述差分升级包将所述功能软件直接从当前版本升级至所述目标版本。
6.一种软件云端升级系统,其特征在于,包括智能电子设备和云端服务器,所述云端服务器储存有差分升级包,所述智能电子设备安装有功能软件,所述智能电子设备包括:
分析模块,用于根据功能软件的当前版本名称与目标版本名称,分析判断所述功能软件是否需要升级;
处理模块,用于若判断结果为需要升级,查询所述功能软件的最短升级路径并下载获取对应的差分升级包;所述最短升级路径为以最少升级次数从当前版本升级至目标版本的升级路径;
安装模块,用于根据所述差分升级包按照所述最短升级路径,将所述功能软件从当前版本升级至目标版本。
7.根据权利要求6所述的差分包升级系统,其特征在于,所述分析模块包括:
获取单元,用于获取云端服务器发送的升级控制指令;所述升级控制指令用于指示所述智能电子设备进行升级,所述升级控制指令包括版本索引表、下载地址首字段和所述功能软件的目标版本名称;
提取单元,用于从配置文件的摘要字段处获取所述功能软件的当前版本名称;
搜索单元,用于查询版本索引表得到所述当前版本名称对应的当前版本序号,以及所述目标版本名称对应的目标版本序号;所述版本索引表包括各功能软件的版本名称和版本序号之间的对应关系;
判断单元,用于判断所述当前版本序号与所述目标版本序号是否相同,若相同,确定所述判断结果为功能软件不需要升级;若不相同,确定所述判断结果为功能软件需要升级。
8.根据权利要求7所述的差分包升级系统,其特征在于,所述处理模块包括:
查询单元,用于根据所述当前版本名称和所述目标版本名称,查询所述版本索引表得到所述功能软件对应的基础升级路径;所述版本索引表还包括各功能软件的版本名称、版本序号和版本属性之间的对应关系;所述版本属性包括必要和非必要;
删除单元,用于删除所述基础升级路径中非必要的版本序号得到所述最短升级路径;
处理单元,用于根据所述最短升级路径获取对应的下载地址链接;
下载单元,用于根据所述下载地址链接从云端服务器下载获取所述差分升级包。
9.根据权利要求8所述的差分包升级系统,其特征在于,所述处理单元包括:
获取子单元,用于获取所述云服务器提供的下载地址首字段;
生成子单元,用于按照所述先后排列顺序,将所述下载地址首字段、所述相邻的两个版本序号进行拼接生成对应的下载地址链接。
10.根据权利要求6-9所述的差分包升级系统,其特征在于,
所述安装模块,还用于若所述最短升级路径包括必要版本,根据所述差分升级包将所述功能软件从当前版本升级至所述必要版本后,再从所述必要版本升级至所述目标版本;
所述安装模块,还用于若所述最短升级路径不包括必要版本,根据所述差分升级包将所述功能软件直接从当前版本升级至所述目标版本。
11.一种智能电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器,用于执行所述存储器上所存放的计算机程序,实现如权利要求1至权利要求5任一项所述的差分包升级方法所执行的操作。
12.一种存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求5任一项所述的差分包升级方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210293640.0A CN114610366A (zh) | 2022-03-24 | 2022-03-24 | 一种差分包升级方法、系统、智能电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210293640.0A CN114610366A (zh) | 2022-03-24 | 2022-03-24 | 一种差分包升级方法、系统、智能电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114610366A true CN114610366A (zh) | 2022-06-10 |
Family
ID=81865201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210293640.0A Pending CN114610366A (zh) | 2022-03-24 | 2022-03-24 | 一种差分包升级方法、系统、智能电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610366A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116401262A (zh) * | 2023-03-06 | 2023-07-07 | 安芯网盾(北京)科技有限公司 | 数据库升级方法及装置 |
-
2022
- 2022-03-24 CN CN202210293640.0A patent/CN114610366A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116401262A (zh) * | 2023-03-06 | 2023-07-07 | 安芯网盾(北京)科技有限公司 | 数据库升级方法及装置 |
CN116401262B (zh) * | 2023-03-06 | 2024-02-02 | 安芯网盾(北京)科技有限公司 | 数据库升级方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9519654B2 (en) | Method, device, processing center and system for desktop synchronization | |
US8719810B2 (en) | Program upgrade system and method for over the air-capable mobile terminal | |
US20140380295A1 (en) | Method and system for updating application, and computer storage medium thereof | |
EP2919440B1 (en) | Advertisement processing method and device | |
CN104919423A (zh) | 对等软件更新 | |
CN105302587A (zh) | 数据更新方法及装置 | |
US10078532B2 (en) | Resource management method and device for terminal system among multiple operating systems | |
CN114610366A (zh) | 一种差分包升级方法、系统、智能电子设备和存储介质 | |
CN109656592B (zh) | 卡片管理方法、装置、终端及计算机可读存储介质 | |
CN111290773A (zh) | 系统升级方法、设备及可读存储介质 | |
CN110750286A (zh) | OTA升级Mbn的管理方法、装置、系统、设备和介质 | |
CN110532016B (zh) | 版本管理方法、版本更新方法和版本管理系统 | |
CN112084254A (zh) | 一种数据同步方法和系统 | |
CN114860213A (zh) | 一种应用程序包生成方法、装置、设备及介质 | |
CN111417927A (zh) | 资源权限处理方法、装置、存储介质及芯片 | |
CN114327548A (zh) | 软件升级方法及相关装置 | |
CN105991729B (zh) | 一种安装包下载方法及服务器 | |
CN113032046A (zh) | so文件的修复方法、装置、设备及存储介质 | |
CN113934437A (zh) | 云手机安装应用的方法、系统和客户端云手机 | |
CN109325057B (zh) | 中间件管理方法、装置、计算机设备以及存储介质 | |
CN110825406A (zh) | 一种软件升级的方法及相关设备 | |
KR100538627B1 (ko) | 무선통신단말기의 소프트웨어 부분 업그레이드 방법 | |
CN111241852A (zh) | 一种文案翻译方法、装置、终端及存储介质 | |
CN111459536A (zh) | 移动终端蓝牙固件更新方法、装置、终端设备和存储介质 | |
CN111258810A (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 |