CN114785685B - 软件差分升级方法、装置、电子设备及可读存储介质 - Google Patents
软件差分升级方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114785685B CN114785685B CN202210383750.6A CN202210383750A CN114785685B CN 114785685 B CN114785685 B CN 114785685B CN 202210383750 A CN202210383750 A CN 202210383750A CN 114785685 B CN114785685 B CN 114785685B
- Authority
- CN
- China
- Prior art keywords
- version
- target
- upgrading
- upgrade
- path
- 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 73
- 230000008569 process Effects 0.000 claims abstract description 25
- 238000012546 transfer Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- 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/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种软件差分升级方法、装置、电子设备及可读存储介质,涉及计算机技术领域。该方法包括:获取待升级设备中目标软件对应的当前版本和目标版本,若当前版本和目标版本不一致,则基于升级路径规划算法模型进行依次迭代,确定出每次应当推送的目标差分版本,使待升级设备根据目标差分版本的下载信息依次进行升级,直到升级为目标版本为止。本申请通过升级路径规划算法模型,确定自动连续升级流程中每次升级时应推送的目标差分版本,并对待升级设备推送目标差分版本相应的下载信息,直到将目标软件升级为目标版本,使待升级设备根据模型计算出的最优升级路径进行升级,提高了软件升级的速度和效率。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种软件差分升级方法、装置、电子设备及可读存储介质。
背景技术
OTA(Over-the-Air Technology,空中下载技术)是一项基于短消息机制,通过手机终端或服务器(网上)方式实现SIM卡(Subscriber Identity Module,用户身份识别卡)内业务菜单的动态下载、删除与更新,使用户获取个性化信息服务的数据增值业务。
OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载,因此,OTA技术的应用场景日益广泛。例如,在物联网应用场景中,为使设备侧实现远程下载服务器中的升级包从而对系统进行功能升级或稳定性升级,OTA升级技术应运而出并成为当下学术界的研究热点。
然而,目前使用OTA技术进行升级时,存在升级步骤冗余以及升级速度和效率不够高的问题,难以满足实际应用需求。
发明内容
本申请实施例的目的旨在能解决升级速度和效率不够高的问题。
第一方面,本申请提供了一种软件差分升级方法,该方法包括:
接收待升级设备的升级请求,解析升级请求确定待升级设备中目标软件对应的当前版本和目标版本;
对比目标软件的当前版本和目标版本是否一致,若不一致,则重复执行如下操作,直到当前版本和目标版本一致:
基于预设的升级路径规划算法模型、目标软件的当前版本和目标版本确定出目标差分版本,生成并发送目标差分版本对应的升级推送消息;
接收待升级设备基于升级推送消息对目标软件进行升级后的目标软件的版本信息,将其确定为目标软件的当前版本。
在第一方面的可选实施例中,通过中转服务器发送目标差分版本对应的升级推送消息和接收待升级设备升级后的目标软件的版本信息。
在第一方面的可选实施例中,通过中转服务器发送目标差分版本对应的升级推送消息和接收待升级设备升级后的目标软件的版本信息,包括:
确定待升级设备在中转服务器中订阅的目标消息主题,将升级推送消息发送至目标消息主题中,以使待升级设备从中转服务器的目标消息主题中获取升级推送消息;
接收中转服务器发送的、待升级设备上传至目标消息主题中的升级后的目标软件的版本信息。
在第一方面的可选实施例中,生成目标差分版本对应的升级推送消息,包括:
确定目标差分版本对应的下载信息,基于下载信息生成目标差分版本对应的升级推送消息。
在第一方面的可选实施例中,基于预设的升级路径规划算法模型、目标软件的当前版本和目标版本确定出目标差分版本,包括:
确定目标软件对应的版本升级路径列表,其中,版本升级路径列表包括目标软件对应的至少一个版本升级路径;
将版本升级路径列表、目标软件的当前版本和目标版本输入升级路径规划算法模型,得到升级路径规划算法模型输出的目标版本升级路径;
基于目标版本升级路径确定出目标差分版本。
在第一方面的可选实施例中,升级路径规划算法模型包括至少一个被预先定义的节点,升级路径规划算法模型中的每个节点用于存储一个版本升级路径的起点版本和终点版本。
在第一方面的可选实施例中,将版本升级路径列表、当前版本和目标版本输入升级路径规划算法模型,得到升级路径规划算法模型输出的目标版本升级路径,包括:
遍历版本升级路径列表,若版本升级路径列表中存在目标软件的当前版本和目标版本对应的版本升级路径,则将对应的版本升级路径作为目标版本升级路径。
在第一方面的可选实施例中,方法还包括:
若版本升级路径列表中不存在目标软件的当前版本和目标版本对应的版本升级路径,则执行如下步骤:
从升级路径规划算法模型的至少一个节点中确定出根节点,设置根节点存储的起点版本和终点版本均为目标软件的当前版本;
基于版本升级路径列表和根节点确定目标软件对应的版本升级树;
版本升级树包括根节点以及根节点对应的、根据层级向下排列的至少一个叶节点,每个叶节点均存储有各自对应的起点版本和终点版本;
利用版本升级树,确定目标版本升级路径。
第二方面,提供了一种软件差分升级装置,该装置包括:
升级请求接收模块,用于接收待升级设备的升级请求,解析升级请求确定待升级设备中目标软件对应的当前版本和目标版本;
升级路径确定模块,用于对比目标软件的当前版本和目标版本是否一致,若不一致,则重复执行如下操作,直到当前版本和目标版本一致:
基于预设的升级路径规划算法模型、目标软件的当前版本和目标版本确定出目标差分版本,生成并发送目标差分版本对应的升级推送消息;
接收待升级设备基于升级推送消息对目标软件进行升级后的目标软件的版本信息,将其确定为目标软件的当前版本。
在第二方面的可选实施例中,升级路径确定模块具体用于通过中转服务器发送目标差分版本对应的升级推送消息和接收待升级设备升级后的目标软件的版本信息。
在第二方面的可选实施例中,升级路径确定模块在通过中转服务器发送目标差分版本对应的升级推送消息和接收待升级设备升级后的目标软件的版本信息时,具体用于:
确定待升级设备在中转服务器中订阅的目标消息主题,将升级推送消息发送至目标消息主题中,以使待升级设备从中转服务器的目标消息主题中获取升级推送消息;
接收中转服务器发送的、待升级设备上传至目标消息主题中的升级后的目标软件的版本信息。
在第二方面的可选实施例中,升级路径确定模块生成目标差分版本对应的升级推送消息时,具体用于:
确定目标差分版本对应的下载信息,基于下载信息生成目标差分版本对应的升级推送消息。
在第二方面的可选实施例中,升级路径确定模块在基于预设的升级路径规划算法模型、目标软件的当前版本和目标版本确定出目标差分版本时,具体用于:
确定目标软件对应的版本升级路径列表,其中,版本升级路径列表包括目标软件对应的至少一个版本升级路径;
将版本升级路径列表、目标软件的当前版本和目标版本输入升级路径规划算法模型,得到升级路径规划算法模型输出的目标版本升级路径;
基于目标版本升级路径确定出目标差分版本。
在第二方面的可选实施例中,升级路径规划算法模型包括至少一个被预先定义的节点,升级路径规划算法模型中的每个节点用于存储一个版本升级路径的起点版本和终点版本。
在第二方面的可选实施例中,升级路径确定模块在将版本升级路径列表、当前版本和目标版本输入升级路径规划算法模型,得到升级路径规划算法模型输出的目标版本升级路径时,具体用于:
遍历版本升级路径列表,若版本升级路径列表中存在目标软件的当前版本和目标版本对应的版本升级路径,则将对应的版本升级路径作为目标版本升级路径。
在第二方面的可选实施例中,升级路径确定模块还用于:
若版本升级路径列表中不存在目标软件的当前版本和目标版本对应的版本升级路径,则执行如下步骤:
从升级路径规划算法模型的至少一个节点中确定出根节点,设置根节点存储的起点版本和终点版本均为目标软件的当前版本;
基于版本升级路径列表和根节点确定目标软件对应的版本升级树;
版本升级树包括根节点以及根节点对应的、根据层级向下排列的至少一个叶节点,每个叶节点均存储有各自对应的起点版本和终点版本;
利用版本升级树,确定目标版本升级路径。
第三方面,提供了一种电子设备,该电子设备包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例的软件差分升级方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述任一实施例的软件差分升级方法。
第五方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现第一方面实施例中所提供的方法。
上述的软件差分升级方法,获取待升级设备中目标软件对应的当前版本和目标版本,若当前版本和目标版本不一致,则重复执行以下操作,直到接收到的当前版本与目标版本一致为止:基于预设的升级路径规划算法模型、目标软件的当前版本和目标版本确定出目标差分版本,生成并发送目标差分版本对应的升级推送消息;接收待升级设备基于升级推送消息对目标软件进行升级后的目标软件的版本信息,将其确定为目标软件的当前版本。本申请通过升级路径规划算法模型,确定自动连续升级流程中每次升级时应推送的目标差分版本,并对待升级设备推送目标差分版本相应的下载信息,直到将目标软件升级为目标版本,使待升级设备根据模型计算出的最优升级路径进行升级,提高了软件升级的速度和效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种软件差分升级方法的流程示意图;
图2为本申请实施例提供的一种软件差分升级方法的流程示意图;
图3为本申请实施例提供的一种软件差分升级方法中的确定目标版本升级路径示意图;
图4为本申请实施例提供的一种软件差分升级方法中服务器与设备之间进行交互的示意图;
图5为本申请实施例提供的一种软件差分升级装置的结构示意图;
图6为本申请实施例提供的一种用于软件差分升级的电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
物联网即“万物相连的互联网”,是互联网基础上的延伸和扩展的网络,将各种信息传感设备与网络结合起来而形成的一个巨大网络,在任何时间、任何地点实现人、机、物的互联互通,因此受到学术界和工业界的广泛关注。
在物联网系统中,为使设备侧实现远程下载服务器中的升级包从而对系统进行功能升级或稳定性升级,OTA升级技术应运而生并成为当下学术界的研究热点。
但目前的OTA升级方式中,通过打包新版本的全部软件数据对系统进行升级、或者人为选择升级路径来进行多步骤地升级,存在升级步骤冗余以及升级速度和效率不够高的问题,难以满足实际应用需求。
本申请提供软件差分升级方法、装置、电子设备及可读存储介质,旨在解决现有技术的如上技术问题。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
本申请实施例中提供的软件差分升级方法,该方法可以应用于服务器。
本技术领域技术人员可以理解,本申请中的“服务器”可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本申请实施例中提供了一种软件差分升级方法,如图1所示,以应用于服务器为例,该方法可以包括:
步骤S101,接收待升级设备的升级请求,解析升级请求确定待升级设备中目标软件对应的当前版本和目标版本。
其中,待升级设备可以是所有存在软件升级需求的设备,而目标软件包括系统软件和应用软件。目标软件对应的当前版本可以为当前时刻目标软件的版本,在本申请所提供的软件差分升级流程中,目标软件的当前版本可以随着迭代升级的过程进行动态变化。而目标版本可以为目标软件的最终想要升级为的版本。具体的,当前版本和目标版本的表现形式可以为版本号。
待升级设备的升级请求可以包含目标软件对应的当前版本和目标版本,对升级请求进行解析后可以得到目标软件对应的当前版本和目标版本。升级请求还可以包括待升级设备的设备信息,设备信息可以是设备标识,用于对待升级设备进行识别,
本申请所提供的软件差分升级方法可以在一组OTA服务器上实现,OTA服务器可以具有前端网页,该服务器可以通过前端网页获取由设备使用人员输入或选择的待升级设备的设备信息以及待升级设备中目标软件对应的当前版本和目标版本;也可以是以间接的方式从中转服务器中获取,具体获取方式本申请不做限制。
在一些实施例中,设备使用人员还可以直接或间接(例如通过与待升级设备连接的终端)操作待升级设备向OTA服务器发送升级请求。
步骤S102,对比目标软件的当前版本和目标版本是否一致,若不一致,则进入步骤S103,重复执行步骤S103至步骤S104,直到当前版本与目标版本一致为止;若当前版本和目标版本一致,则进入步骤S105。
其中,若当前版本和目标版本一致,则判断目标软件无需进行升级,终止升级流程。
若当前版本和目标版本不一致,在重复执行步骤S103至步骤S104之前,还可以先判断是否满足预设的升级消息推送条件。其中,预设的升级消息推送条件可以是OTA服务器中存储有待升级设备适用的目标软件的目标版本的下载信息。
可以基于设备信息以及目标版本,在OTA服务器中查询是否存在待升级设备适用的目标软件的目标版本的下载信息,若存在,则判断满足预设的升级消息推送条件,可以进入后续升级流程,若不存在,可以通过前端网页显示暂时无法升级的提示消息,以提醒设备使用人员在OTA服务器中不存在待升级设备适用的目标版本的下载信息。
步骤S103,基于预设的升级路径规划算法模型、目标软件的当前版本和目标版本确定出目标差分版本,生成并发送目标差分版本对应的升级推送消息。
其中,本申请所提供的软件差分升级方法,在将目标软件从当前版本升级到目标版本的过程中,可以存在多个差分版本,差分版本可以理解为从当前版本到目标版本之间的中间版本。
例如,假设当前版本为“1.0”,目标版本为“5.0”,则两者之间的差分版本可能为“2.0”、“3.0”或“4.0”等,而目标差分版本则是基于升级路径规划算法模型从多个差分版本中确定出的当前最优升级路径对应的最优差分版本。本申请中的升级路径(或版本升级路径)可以是指针对跨版本的升级任务,升级过程中版本变化的过程。
在本申请实施例中,当前版本和差分版本实际是动态变化的。例如,第一次进行升级时,当前版本为“1.0”,目标版本为“5.0”,假设本次基于升级路径规划算法模型从多个差分版本中确定出的当前最优升级路径对应的最优差分版本为“2.0”,则可以先将待升级设备中的目标软件先升级为“2.0”,升级完成之后,此时的当前版本为“2.0”,目标版本仍为“5.0”,可以重新基于升级路径规划算法模型从多个差分版本中确定出新的最优差分版本,例如“4.0”,可见,在软件差分升级的流程中,当前版本和目标差分版本在循环中是动态变化的。
在本申请实施例中,升级路径规划算法模型可以是预先设置或者训练好的、用于确定出当前最优升级路径的模型。在一些实施例中,升级路径规划算法模型可以基于预设的升级路径规划算法进行设置,本申请将会在后文以举例的方式提供一种升级路径规划算法的具体原理和使用方法。
在本申请实施例中,升级路径规划算法模型可以包括至少一个被预先定义的节点,升级路径规划算法模型中的每个节点可以用于存储一个版本升级路径的起点版本和终点版本。
具体的,节点可以是指节点类,多个节点类可以组成链表。可以定义每个节点存储两个数据,即起点版本和终点版本。
本申请中的版本升级路径可以包括以下两种含义:
(1)当前版本到目标版本的升级过程所有版本的变化过程,此时,起点版本是当前版本,终点版本是目标版本,中间可以有多个差分版本,例如,假设用“1.0”数字形式来描述软件版本,则版本升级路径可以描述为“1.0—3.0—4.0—5.0”,含义为可以先将软件从“1.0”版本升级到“3.0”版本,再从“3.0”版本升级到“4.0”版本,最后从“4.0”版本升级到“5.0”版本,完成整个升级流程;
(2)针对每次升级而言的版本升级短路径,一般而言只包含两个版本,例如“1.0—3.0”、“3.0—4.0”和“4.0—5.0”等,针对这种版本升级路径而言,起点版本可以是情形(1)中的当前版本,也可以是各个差分版本,终点版本可以是情形(1)中的目标版本,也可以是各个差分版本。
升级路径规划算法模型中的一个节点存储的起点版本和终点版本可以用于描述情况(2)中版本升级路径,而多个节点形成的链表可以用于描述情况(1)中,从当前版本到目标版本的升级过程所有版本的变化过程。
在本申请实施例中,生成目标差分版本对应的升级推送消息,可以包括:确定目标差分版本对应的下载信息,基于下载信息生成目标差分版本对应的升级推送消息。
下载信息可以包括但不限于目标差分版本的版本号以及下载地址等。
目标差分版本对应的升级推送消息可以包括但不限于目标差分版本对应的下载信息、待升级设备的设备信息以及提供给待升级设备对应的操作人员的提示信息。
步骤S104,接收待升级设备基于升级推送消息对目标软件进行升级后的目标软件的版本信息,将其确定为目标软件的当前版本,进入步骤S102。
步骤S105,结束软件差分升级流程。
在本申请实施例中,可以通过中转服务器发送目标差分版本对应的升级推送消息和接收待升级设备升级后的目标软件的版本信息。
在本申请实施例中,中转服务器可以是MQTT(Message Queuing TelemetryTransport,消息队列遥测传输)服务器。其中,MQTT是一种基于发布/订阅范式的轻量级消息协议。
MQTT服务器可以通过规则引擎配置各个设备各个软件对应的消息主题,OTA服务器和各个设备均可以对MQTT服务器中的消息主题进行订阅。当待升级设备订阅了MQTT服务器中相应的消息主题时,若消息主题中接收到了OTA服务器发送的升级推送消息,当待升级设备上电并且连接MQTT服务器后,待升级设备可以及时地从MQTT服务器中获取升级推送消息。
在本申请实施例中,通过中转服务器发送目标差分版本对应的升级推送消息和接收待升级设备升级后的目标软件的版本信息,可以包括如下步骤:
(1)确定待升级设备在中转服务器中订阅的目标消息主题,将升级推送消息发送至目标消息主题中,以使待升级设备从中转服务器的目标消息主题中获取升级推送消息。
其中,中转服务器可以预先设置有多个消息主题,各个设备可以对MQTT服务器中的消息主题进行订阅,各个设备订阅的消息主题还可以根据不同的软件进一步进行细分,本申请对于消息主题的划分方式不做限制。
在本申请实施例中,待升级设备在中转服务器中订阅的目标消息主题可以为中转服务器中待升级设备订阅的、与目标软件对应的消息主题。
确定待升级设备在中转服务器中订阅的目标消息主题的方法可以为:根据待升级设备的设备信息(如设备标识)确定中转服务器中的目标消息主题。
(2)接收中转服务器发送的、待升级设备上传至目标消息主题中的升级后的目标软件的版本信息。
在本申请实施例中,待升级设备可以将升级后的目标软件的版本信息作为新的当前版本上传至中转服务器中的目标消息主题。
中转服务器中目标消息主题在接收到升级后的目标软件的版本信息后,可以将接收到的版本信息发送给OTA服务器,OTA服务器可以将升级后的目标软件的版本信息确定为目标软件的当前版本。
其中,OTA服务器也可以对目标消息主题进行订阅,便于中转服务器将升级后的目标软件的版本信息发送至OTA服务器。
OTA服务器在接收到当前版本之后,可以重新对比当前版本和目标版本,以判断是否需要继续进行升级。若需要继续升级,则可以重新通过升级路径规划算法模型确定出新的目标差分版本,并生成新的升级推送消息,以使待升级设备继续通过升级推送消息进行升级,直到将目标软件升级为目标版本为止。
在本申请实施例中,当每次升级完成后,待升级设备中目标软件的当前版本发生变化后,可以将新的当前版本(即待升级设备上传至中转服务器中的、升级后的目标软件的版本信息)和目标版本输入升级路径规划算法模型,重新确定出当前最优的升级路径对应的目标差分版本,保证在升级过程中,设备一直是按照当前最优的升级路径进行升级。
上述的软件差分升级方法,获取待升级设备的设备信息以及待升级设备中目标软件对应的当前版本和目标版本,若当前版本和目标版本不一致,则重复执行以下操作,直到接收到的当前版本与目标版本一致为止:基于预设的升级路径规划算法模型、目标软件的当前版本和目标版本确定出目标差分版本,生成并发送目标差分版本对应的升级推送消息;接收待升级设备基于升级推送消息对目标软件进行升级后的目标软件的版本信息,将其确定为目标软件的当前版本。本申请通过升级路径规划算法模型,确定自动连续升级流程中每次升级时应推送的目标差分版本,并对待升级设备推送目标差分版本相应的下载信息,直到将目标软件升级为目标版本,使待升级设备根据模型计算出的最优升级路径进行升级,提高了软件升级的速度和效率。
本申请实施例中提供了一种可能的实现方式,基于预设的升级路径规划算法模型、目标软件的当前版本和目标版本确定出目标差分版本,可以包括如下步骤:
(1)确定目标软件对应的版本升级路径列表,其中,版本升级路径列表包括目标软件对应的至少一个版本升级路径。具体的,OTA服务器中可以预先存储有各个目标软件对应的版本升级路径列表,版本升级路径列表中可以包括目标软件对应的至少一个版本升级路径,每个版本升级路径可以是指针对一次升级而言的版本升级短路径,一般而言由两个版本组成。例如,假设用“1.0”数字形式来描述软件版本,版本升级路径列表中的版本升级路径可以描述为“1.0—3.0”、“3.0—4.0”和“4.0—5.0”等。
(2)将版本升级路径列表、目标软件的当前版本和目标版本输入升级路径规划算法模型,得到升级路径规划算法模型输出的目标版本升级路径;其中,目标版本升级路径可以是描述从当前版本到目标版本的升级过程所有版本的变化过程的整体升级路径。
(3)基于目标版本升级路径确定出目标差分版本。具体的,可以将目标版本升级路径中,将与当前版本最接近的差分版本作为目标差分版本。例如,假设用“1.0”数字形式来描述软件版本,若当前版本为“1.0”,目标版本升级路径为“1.0—3.0—4.0—5.0”,则确定出的目标差分版本可以为“3.0”。
在本申请实施例中,将版本升级路径列表、当前版本和所述目标版本输入升级路径规划算法模型,得到升级路径规划算法模型输出的目标版本升级路径,可以包括如下两种情形:
(1)遍历版本升级路径列表,若版本升级路径列表中存在当前版本和目标版本对应的版本升级路径,则将对应的版本升级路径作为目标版本升级路径;例如,当当前版本为“1.0”,目标版本为“5.0”,而版本升级路径列表中存在“1.0—5.0”的版本升级路径,意味着OTA服务器中存储有可以使目标软件直接从“1.0”版本升级至“5.0”版本的软件包,可以将该软件包的下载信息发送至待升级设备,使待升级设备直接将目标软件升级为目标版本。
(2)若版本升级路径列表中不存在当前版本和目标版本对应的版本升级路径,则将版本升级路径列表、当前版本和目标版本输入升级路径规划算法模型,得到升级路径规划算法模型输出的目标版本升级路径。
本申请实施例中提供了一种可能的实现方式,若版本升级路径列表中不存在目标软件的当前版本和目标版本对应的版本升级路径,则可以执行如下步骤:
(1)从升级路径规划算法模型的至少一个节点中确定出根节点,设置根节点存储的起点版本和终点版本均为目标软件的当前版本。
(2)基于版本升级路径列表和根节点确定目标软件对应的版本升级树;版本升级树包括根节点以及根节点对应的、根据层级向下排列的至少一个叶节点,每个叶节点均存储有各自对应的起点版本和终点版本。
其中,根节点与叶节点、以及叶节点与叶节点之间存在逻辑关系。针对根节点而言,根节点下一层级的叶节点(为方便说明,称之为第一叶节点)中存储的起点版本为根节点的终点版本,终点版本则是根据版本升级路径列表设置。每个第一叶节点可以分别对应有下一层级的叶节点(称之为第二叶节点)。针对任一个对应有第二叶节点的第一叶节点,其所对应的各个第二叶节点所存储的起点版本为该第一叶节点的终点版本,而终点版本则是根据版本升级路径列表进行设置。
根据上述的方法,可以基于版本升级路径列表和根节点确定目标软件对应的版本升级树。
(3)利用版本升级树来确定遍历,确定出目标版本升级路径。
具体来说,基于版本升级树确定出目标叶节点,其中,目标叶节点存储的终点版本与目标版本一致。并且,目标叶节点是版本升级树中离根节点路径最短、同时满足存储的终点版本与目标版本一致的叶节点。然后,基于目标叶节点在版本升级树中进行反向遍历,确定出目标版本升级路径。
在本申请实施例中,叶节点可以包括版本升级树中除了根节点以外的其他节点。
将版本升级路径列表、当前版本和目标版本输入升级路径规划算法模型,得到升级路径规划算法模型输出的目标版本升级路径,可以如图2所示,具体包括如下流程:
步骤S201,从升级路径规划算法模型中确定出根节点,设置根节点存储的起点版本和终点版本均为当前版本;
步骤S202,遍历版本升级路径列表,确定出版本升级路径列表中起点版本与根节点存储的终点版本一致的至少一个版本升级路径,将确定出的各个版本升级路径的起点版本和终点版本分别作为根节点的各个下一节点存储的起点版本和终点版本;将根节点的各个下一节点作为各个第一节点;
步骤S203,遍历各个第一节点以及版本升级路径列表,重复执行以下操作,直到第二节点中存在目标第二节点存储的终点版本与目标版本一致为止:
步骤S204,确定出版本升级路径列表中起点版本与第一节点存储的终点版本一致的至少一个版本升级路径,将确定出的各个版本升级路径的起点版本和终点版本分别作为各个第一节点的各个下一节点存储的起点版本和终点版本;将各个第一节点的各个下一节点作为各个第二节点;
步骤S205,将各个第二节点存储的终点版本与目标版本进行比对,检验是否存在存储的终点版本与目标版本一致的第二节点,若不存在,则进入步骤S206,否则,进入步骤S207;
步骤S206,将各个第二节点作为新的各个第一节点,进入步骤S203;
步骤S207,若第二节点中存在目标第二节点存储的终点版本与目标版本一致,则基于目标第二节点进行反向遍历,确定出目标版本升级路径。
在一个示例中,确定目标版本升级路径的示意图可以如图3所示,假设目标软件的当前版本为“1.0”,目标版本为“5.0”,目标软件的版本升级路径列表如图3左侧所示。版本升级路径列表说明OTA服务器可以提供如版本升级路径列表所示的多种版本升级路径。
可以先确定出根节点A1,设置根节点A1存储的起点版本和终点版本均为当前版本“1.0”。
遍历版本升级路径列表,若有版本升级路径的起点版本与根节点A1存储的终点版本一致,为“1.0”版本,则将符合条件的各个版本升级路径的起点版本和终点版本分别作为根节点A1的各个下一节点存储的起点版本和终点版本。如图3所示,可以从版本升级路径列表中确定出“1.0—2.0”和“1.0—3.0”两条版本升级路径的起点版本与根节点A1存储的终点版本一致,则将这两条版本升级路径的起点版本和终点版本分别作为根节点A1的各个下一节点存储的起点版本和终点版本,得到节点B1和节点B2。其中,节点B1存储的起点版本和终点版本分别为“1.0”和“2.0”;节点B2存储的起点版本和终点版本分别为“1.0”和“3.0”。
检验得到节点B1和节点B2中存储的终点版本与目标版本“5.0”不一致,继续后续流程。
遍历版本升级路径列表,若有版本升级路径的起点版本与节点B1或者B2存储的终点版本一致,则将符合条件的各个版本升级路径的起点版本和终点版本分别作为节点B1或者节点B2的各个下一节点存储的起点版本和终点版本。如图所示,版本升级路径列表中,起点版本与节点B1存储的终点版本一致的版本升级路径为“2.0—3.0”,因此,节点C1中存储的起点版本和终点版本可以分别设置为“2.0”和“3.0”。起点版本与节点B2存储的终点版本一致的版本升级路径为“3.0—4.0”和“4.0—5.0”,因此,节点C2中存储的起点版本和终点版本可以分别设置为“3.0”和“4.0”,节点C3中存储的起点版本和终点版本可以分别设置为“4.0”和“5.0”。
检验节点C1、节点C2和节点C3中是否存在存储的终点版本与目标版本一致的节点,检验结果为节点C3存储的终点版本与目标版本一致,则基于节点C3进行反向遍历,可以确定出目标版本升级路径“1.0—3.0—5.0”。
进一步地,本次确定出的目标差分版本可以为“3.0”版本。
在实际应用场景中,本申请提供的软件差分方法可以实现为一组OTA服务器。中转服务器可以为MQTT服务器。OTA服务器、MQTT服务器和待升级设备之间的交互关系可以如图4所示。
MQTT服务器可以通过规则引擎配置各个设备各个软件对应的消息主题,OTA服务器和各个设备均可以对MQTT服务器中的消息主题进行订阅。
OTA服务器获取待升级设备的设备信息、当前版本以及目标版本之后,可以先判断是否满足预设的升级消息推送条件,若满足升级消息推送条件,可以进一步应用路径规划算法(即升级路径规划算法模型)确定出要推送的目标差分版,生成相应的升级推送消息。然后,将升级推送消息发送至MQTT服务器中的消息主题。订阅了该消息主题的待升级设备可以及时从MQTT服务器中获取升级推送消息。
当待升级设备更新完成,处于上电状态时,连接MQTT服务器,向MQTT服务器中的相应的消息主题中发布版本消息,版本消息中包括当前版本。MQTT服务器在接收到版本消息后,根据规则引擎,将版本消息发送至OTA服务器中,由OTA服务器中对应的路由函数对版本消息进行处理。具体的,路由函数用于比对版本消息中的当前版本和目标版本是否一致,若当前版本与目标版本不一致,可以应用路径规划算法(即升级路径规划算法模型)确定出下次要推送的目标差分版本,并对待升级设备继续推送目标差分版本对应的下载信息。
在本申请实施例中,还可以设置定时升级功能,即在基于路径规划算法确定出目标差分版本之前,可以先判断是否针对待升级设备进行了定时升级设置,若设置了定时升级,则在到达预设的时刻时再继续执行确定目标差分版本的步骤,若未设置定时升级,则进一步判断设备是否处于在线状态,若处于在线状态,则可以继续执行确定目标差分版本的步骤,对待升级设备推送确定出的目标差分版本对应的升级推送消息。
本申请实施例提供了一种软件差分升级装置,如图5所示,该软件差分升级装置50可以包括:升级请求接收模块501和升级路径确定模块502,其中,
升级请求接收模块501,用于接收待升级设备的升级请求,解析升级请求确定待升级设备中目标软件对应的当前版本和目标版本;
升级路径确定模块502,用于对比目标软件的当前版本和目标版本是否一致,若不一致,则重复执行如下操作,直到当前版本和目标版本一致:
基于预设的升级路径规划算法模型、目标软件的当前版本和目标版本确定出目标差分版本,生成并发送目标差分版本对应的升级推送消息;
接收待升级设备基于升级推送消息对目标软件进行升级后的目标软件的版本信息,将其确定为目标软件的当前版本。
上述的软件差分升级装置,获取待升级设备中目标软件对应的当前版本和目标版本,若当前版本和目标版本不一致,则基于升级路径规划算法模型进行依次迭代,确定出每次应当推送的目标差分版本,使待升级设备根据目标差分版本的下载信息依次进行升级,直到升级为目标版本为止。本申请通过升级路径规划算法模型,确定自动连续升级流程中每次升级时应推送的目标差分版本,并对待升级设备推送目标差分版本相应的下载信息,直到将目标软件升级为目标版本,使待升级设备根据模型计算出的最优升级路径进行升级,提高了软件升级的速度和效率。
在本申请实施例中,升级路径确定模块502具体用于通过中转服务器发送目标差分版本对应的升级推送消息和接收待升级设备升级后的目标软件的版本信息。
在本申请实施例中,升级路径确定模块502在通过中转服务器发送目标差分版本对应的升级推送消息和接收待升级设备升级后的目标软件的版本信息时,具体用于:
确定待升级设备在中转服务器中订阅的目标消息主题,将升级推送消息发送至目标消息主题中,以使待升级设备从中转服务器的目标消息主题中获取升级推送消息;
接收中转服务器发送的、待升级设备上传至目标消息主题中的升级后的目标软件的版本信息。
在本申请实施例中,升级路径确定模块502生成目标差分版本对应的升级推送消息时,具体用于:
确定目标差分版本对应的下载信息,基于下载信息生成目标差分版本对应的升级推送消息。
在本申请实施例中,升级路径确定模块502在基于预设的升级路径规划算法模型、目标软件的当前版本和目标版本确定出目标差分版本时,具体用于:
确定目标软件对应的版本升级路径列表,其中,版本升级路径列表包括目标软件对应的至少一个版本升级路径;
将版本升级路径列表、目标软件的当前版本和目标版本输入升级路径规划算法模型,得到升级路径规划算法模型输出的目标版本升级路径;
基于目标版本升级路径确定出目标差分版本。
在本申请实施例中,升级路径规划算法模型包括至少一个被预先定义的节点,升级路径规划算法模型中的每个节点用于存储一个版本升级路径的起点版本和终点版本。
在本申请实施例中,升级路径确定模块502在将版本升级路径列表、当前版本和目标版本输入升级路径规划算法模型,得到升级路径规划算法模型输出的目标版本升级路径时,具体用于:
遍历版本升级路径列表,若版本升级路径列表中存在目标软件的当前版本和目标版本对应的版本升级路径,则将对应的版本升级路径作为目标版本升级路径。
在本申请实施例中,升级路径确定模块502还用于:
若版本升级路径列表中不存在目标软件的当前版本和目标版本对应的版本升级路径,则执行如下步骤:
从升级路径规划算法模型的至少一个节点中确定出根节点,设置根节点存储的起点版本和终点版本均为目标软件的当前版本;
基于版本升级路径列表和根节点确定目标软件对应的版本升级树;
版本升级树包括根节点以及根节点对应的、根据层级向下排列的至少一个叶节点,每个叶节点均存储有各自对应的起点版本和终点版本;
利用所述版本升级树,确定所述目标版本升级路径。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现软件差分升级方法的步骤,与相关技术相比可实现使待升级设备根据模型计算出的最优升级路径进行升级,提高了软件升级的速度和效率。
在一个可选实施例中提供了一种电子设备,如图6所示,图6所示的电子设备6000包括:处理器6001和存储器6003。其中,处理器6001和存储器6003相连,如通过总线6002相连。可选地,电子设备6000还可以包括收发器6004,收发器6004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器6004不限于一个,该电子设备6000的结构并不构成对本申请实施例的限定。
处理器6001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器6001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线6002可包括一通路,在上述组件之间传送信息。总线6002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线6002可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器6003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器6003用于存储执行本申请实施例的计算机程序,并由处理器6001来控制执行。处理器6001用于执行存储器6003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:移动电话、笔记本电脑、PAD等等移动终端以及诸如数字TV、台式计算机等等固定终端。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (8)
1.一种软件差分升级方法,其特征在于,包括:
接收待升级设备的升级请求,解析所述升级请求确定所述待升级设备中目标软件对应的当前版本和目标版本;
对比所述目标软件的当前版本和所述目标版本是否一致,若不一致,则重复执行如下操作,直到当前版本和目标版本一致:
基于预设的升级路径规划算法模型、所述目标软件的当前版本和所述目标版本确定出目标差分版本,生成并发送所述目标差分版本对应的升级推送消息;
接收所述待升级设备基于所述升级推送消息对所述目标软件进行升级后的目标软件的版本信息,将其确定为所述目标软件的当前版本;
所述基于预设的升级路径规划算法模型、所述目标软件的当前版本和所述目标版本确定出目标差分版本,包括:
确定所述目标软件对应的版本升级路径列表,其中,所述版本升级路径列表包括所述目标软件对应的至少一个版本升级路径;
将所述版本升级路径列表、所述目标软件的当前版本和所述目标版本输入所述升级路径规划算法模型,得到所述升级路径规划算法模型输出的目标版本升级路径;所述目标版本升级路径为描述从当前版本到目标版本的升级过程所有版本的变化过程的整体升级路径;
基于所述目标版本升级路径确定出所述目标差分版本;所述目标差分版本为所述目标版本升级路径中与当前版本最接近的差分版本;
所述方法还包括:
若所述版本升级路径列表中不存在所述目标软件的当前版本和所述目标版本对应的版本升级路径,则执行如下步骤:
从所述升级路径规划算法模型的至少一个节点中确定出根节点,设置所述根节点存储的起点版本和终点版本均为所述目标软件的当前版本;
基于所述版本升级路径列表和所述根节点确定所述目标软件对应的版本升级树,其中,所述版本升级树包括所述根节点以及所述根节点对应的、根据层级向下排列的至少一个叶节点,每个叶节点均存储有各自对应的起点版本和终点版本;
所述根节点下一层级的叶节点中存储的起点版本为根节点的终点版本,对应的终点版本是根据版本升级路径设置的;针对任一叶节点,所述叶节点的下一层级的叶节点所存储的起点版本为所述叶节点的终点版本,对应的终点版本是根据版本升级路径设置的;
利用所述版本升级树,确定所述目标版本升级路径;
所述利用所述版本升级树,确定所述目标版本升级路径,包括:
基于所述版本升级树确定出目标叶节点;所述目标叶节点为所述版本升级树中离根节点路径最短,且存储的终点版本与目标版本一致的叶节点;
基于所述目标叶节点在所述版本升级树中进行反向遍历,确定出所述目标版本升级路径。
2.根据权利要求1所述的软件差分升级方法,其特征在于,通过中转服务器发送所述目标差分版本对应的升级推送消息和接收所述待升级设备升级后的目标软件的版本信息。
3.根据权利要求2所述的软件差分升级方法,其特征在于,所述通过中转服务器发送所述目标差分版本对应的升级推送消息和接收所述待升级设备升级后的目标软件的版本信息,包括:
确定所述待升级设备在所述中转服务器中订阅的目标消息主题,将所述升级推送消息发送至所述目标消息主题中,以使所述待升级设备从所述中转服务器的所述目标消息主题中获取所述升级推送消息;
接收所述中转服务器发送的升级后的目标软件的版本信息;所述升级后的目标软件的版本信息是所述待升级设备上传至所述中转服务器的所述目标消息主题中的。
4.根据权利要求1所述的软件差分升级方法,其特征在于,所述生成所述目标差分版本对应的升级推送消息,包括:确定所述目标差分版本对应的下载信息,基于所述下载信息生成所述目标差分版本对应的升级推送消息。
5.根据权利要求1所述的软件差分升级方法,其特征在于,所述将所述版本升级路径列表、当前版本和所述目标版本输入所述升级路径规划算法模型,得到所述升级路径规划算法模型输出的目标版本升级路径,包括:遍历所述版本升级路径列表,若所述版本升级路径列表中存在所述目标软件的当前版本和所述目标版本对应的版本升级路径,则将所述对应的版本升级路径作为所述目标版本升级路径。
6.一种软件差分升级装置,其特征在于,包括:
升级请求接收模块,用于接收待升级设备的升级请求,解析所述升级请求确定所述待升级设备中目标软件对应的当前版本和目标版本;
升级路径确定模块,用于对比所述目标软件的当前版本和所述目标版本是否一致,若不一致,则重复执行如下操作,直到当前版本和目标版本一致:
基于预设的升级路径规划算法模型、所述目标软件的当前版本和所述目标版本确定出目标差分版本,生成并发送所述目标差分版本对应的升级推送消息;
接收所述待升级设备基于所述升级推送消息对所述目标软件进行升级后的目标软件的版本信息,将其确定为所述目标软件的当前版本;
升级路径确定模块,在基于预设的升级路径规划算法模型、所述目标软件的当前版本和所述目标版本确定出目标差分版本时,具体用于:
确定所述目标软件对应的版本升级路径列表,其中,所述版本升级路径列表包括所述目标软件对应的至少一个版本升级路径;
将所述版本升级路径列表、所述目标软件的当前版本和所述目标版本输入所述升级路径规划算法模型,得到所述升级路径规划算法模型输出的目标版本升级路径;所述目标版本升级路径为描述从当前版本到目标版本的升级过程所有版本的变化过程的整体升级路径;
基于所述目标版本升级路径确定出所述目标差分版本;所述目标差分版本为所述目标版本升级路径中与当前版本最接近的差分版本;
升级路径确定模块,还用于:
若所述版本升级路径列表中不存在所述目标软件的当前版本和所述目标版本对应的版本升级路径,则执行如下步骤:
从所述升级路径规划算法模型的至少一个节点中确定出根节点,设置所述根节点存储的起点版本和终点版本均为所述目标软件的当前版本;
基于所述版本升级路径列表和所述根节点确定所述目标软件对应的版本升级树,其中,所述版本升级树包括所述根节点以及所述根节点对应的、根据层级向下排列的至少一个叶节点,每个叶节点均存储有各自对应的起点版本和终点版本;
所述根节点下一层级的叶节点中存储的起点版本为根节点的终点版本,对应的终点版本是根据版本升级路径设置的;针对任一叶节点,所述叶节点的下一层级的叶节点所存储的起点版本为所述叶节点的终点版本,对应的终点版本是根据版本升级路径设置的;
利用所述版本升级树,确定所述目标版本升级路径;
升级路径确定模块在利用所述版本升级树,确定所述目标版本升级路径时,具体用于:
基于所述版本升级树确定出目标叶节点;所述目标叶节点为所述版本升级树中离根节点路径最短,且存储的终点版本与目标版本一致的叶节点;
基于所述目标叶节点在所述版本升级树中进行反向遍历,确定出所述目标版本升级路径。
7.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-5任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5任一项所述的软件差分升级的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210383750.6A CN114785685B (zh) | 2022-04-12 | 2022-04-12 | 软件差分升级方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210383750.6A CN114785685B (zh) | 2022-04-12 | 2022-04-12 | 软件差分升级方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114785685A CN114785685A (zh) | 2022-07-22 |
CN114785685B true CN114785685B (zh) | 2024-06-25 |
Family
ID=82430105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210383750.6A Active CN114785685B (zh) | 2022-04-12 | 2022-04-12 | 软件差分升级方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114785685B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115756554B (zh) * | 2023-02-13 | 2023-06-30 | 美云智数科技有限公司 | 版本升级方法及装置 |
CN116401262B (zh) * | 2023-03-06 | 2024-02-02 | 安芯网盾(北京)科技有限公司 | 数据库升级方法及装置 |
CN116620331B (zh) * | 2023-07-19 | 2023-10-13 | 禾多科技(北京)有限公司 | 车辆控制方法、装置、电子设备和计算机可读介质 |
CN116820525B (zh) * | 2023-08-24 | 2024-01-26 | 新华三技术有限公司 | 组件升级方法、装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230966A (zh) * | 2020-11-06 | 2021-01-15 | 天津经纬恒润科技有限公司 | 一种ota升级方法及装置 |
CN114296777A (zh) * | 2021-12-25 | 2022-04-08 | 深圳市元征科技股份有限公司 | 软件升级方法、装置、服务器及计算机可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG11201401480QA (en) * | 2011-12-01 | 2014-07-30 | Tencent Tech Shenzhen Co Ltd | Method and system for upgrading software |
CN106603311A (zh) * | 2017-01-18 | 2017-04-26 | 北京洋浦伟业科技发展有限公司 | Ota升级方法、客户端、服务器和系统 |
CN106850800B (zh) * | 2017-01-24 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 一种下载路径确定的方法以及客户端 |
EP3809259B1 (en) * | 2019-10-16 | 2023-08-16 | NXP USA, Inc. | Network node firmware update |
CN112181471A (zh) * | 2020-10-16 | 2021-01-05 | 北京紫光展锐通信技术有限公司 | 差分升级方法及装置、存储介质、计算机设备 |
CN112764627B (zh) * | 2021-01-28 | 2022-08-26 | 青岛海信传媒网络技术有限公司 | 一种升级包安装进度显示方法及显示设备 |
-
2022
- 2022-04-12 CN CN202210383750.6A patent/CN114785685B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230966A (zh) * | 2020-11-06 | 2021-01-15 | 天津经纬恒润科技有限公司 | 一种ota升级方法及装置 |
CN114296777A (zh) * | 2021-12-25 | 2022-04-08 | 深圳市元征科技股份有限公司 | 软件升级方法、装置、服务器及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114785685A (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114785685B (zh) | 软件差分升级方法、装置、电子设备及可读存储介质 | |
US10958524B2 (en) | Method for generating network slice template and for applying network slice template, and apparatus | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
US20200204688A1 (en) | Picture book sharing method and apparatus and system using the same | |
CN111177243B (zh) | 数据的导出方法及装置、存储介质和电子装置 | |
CN112394932A (zh) | 浏览器网页自动换肤方法及装置 | |
EP3506599A1 (en) | Method for synchronizing contact information, apparatus, medium, electronic device and system | |
CN114422436A (zh) | 网关、网关控制方法、装置、电子设备和存储介质 | |
CN111062682B (zh) | 一种工单处理方法和装置 | |
CN106664637B (zh) | 路由信息配置方法及装置 | |
CN102904935A (zh) | 基于家庭网关的下载方法、设备和系统 | |
CN113791984B (zh) | 接口自动化测试方法及装置 | |
CN103220327B (zh) | 用户信息存储方法及装置 | |
CN110968334B (zh) | 应用资源更新方法、资源包制作方法、装置、介质及设备 | |
CN111367500A (zh) | 数据的处理方法和装置 | |
CN115934076A (zh) | 跨平台客户端的微服务提供装置、方法和电子设备 | |
CN113297491A (zh) | 基于社交网络的服务订阅信息推送方法及系统 | |
CN111181836B (zh) | 一种消息推送方法及装置 | |
CN111001157B (zh) | 引用信息的生成方法和装置、存储介质及电子装置 | |
CN115794876A (zh) | 针对业务数据包的分片处理方法、装置、设备及存储介质 | |
CN114090074A (zh) | 运行环境的配置方法和装置、存储介质及电子装置 | |
US8484182B1 (en) | Wireless device content searching | |
CN113448960A (zh) | 一种导入表格文件的方法和装置 | |
CN115208960B (zh) | 协议切换方法及相关设备 | |
CN111314457B (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 | ||
CB02 | Change of applicant information |
Address after: 100176 Room 101, 1f, building 3, yard 18, Kechuang 10th Street, Beijing Economic and Technological Development Zone, Beijing Applicant after: Beijing ESWIN Computing Technology Co.,Ltd. Address before: 100176 Room 101, 1f, building 3, yard 18, Kechuang 10th Street, Beijing Economic and Technological Development Zone, Beijing Applicant before: Beijing yisiwei Computing Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |