CN113900682A - 一种系统软件升级方法、装置、设备和计算机存储介质 - Google Patents
一种系统软件升级方法、装置、设备和计算机存储介质 Download PDFInfo
- Publication number
- CN113900682A CN113900682A CN202111049118.XA CN202111049118A CN113900682A CN 113900682 A CN113900682 A CN 113900682A CN 202111049118 A CN202111049118 A CN 202111049118A CN 113900682 A CN113900682 A CN 113900682A
- Authority
- CN
- China
- Prior art keywords
- upgraded
- target
- program data
- equipment
- check code
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种系统软件升级方法、装置、设备和计算机存储介质。方法包括,确定目标待升级数据区域的程序数据是否正确;若正确,则向所述待升级设备推送差分升级包;若不正确,则向所述待升级设备推送全量升级包。根据本发明实施例的系统软件升级方法,确定目标待升级数据区域的程序数据是否正确,当二者符合或相同时,对待升级设备下发差分升级包予以升级,否则下发全量包到待升级设备进行全量包软件升级,从而避免差分升级出错等等。上述实施例,即避免差分升级出错,又解决了全部采用全量包升级带来高成本的问题。
Description
技术领域
本发明属于软件在线升级技术领域,尤其涉及一种系统软件升级方法、装置、设备和计算机存储介质。
背景技术
随着电子产品的普及和发展,产品功能需要不断迭代更新,大多需要通过在线升级方式及时将更新数据发送到用户已购买产品上,让用户及时享受到新技术带来的崭新体验。
现在通过互联网对已出售智能电视或手机等产品进行在线空中(over-the-airtechnology,OTA)软件版本升级,主要通过全量包升级和差分包升级,其中全量包升级方式采取的是全部代码更新方式,但是所述全量包升级软件文件比较大,会占用较大的互联网流量,费用比较高,频繁升级让厂家的财务预算压力很大;而差分升级方式,占用网络流量带宽小,费用低,升级速度快,但是差分升级软件方式依赖用户本机旧版本软件基础,一旦用户机本体软件有不可预测的变更,则差分升级后的结果就是错误的,有时是灾难性的,会造成升级故障。
因此,如何提供一种系统软件升级的方案,既能保证差分软件包升级的安全可靠,又能保证软件升级费用的预算可控,是本领域技术人员需要解决的技术问题。
发明内容
本发明实施例提供的系统软件升级方法、装置、设备和计算机存储介质,既能减少使用软件包升级时流量费用,又能保证使用差分软件包升级时的安全可靠。
第一方面,本发明实施例提供一种系统软件升级方法,包括:
确定待升级设备的目标待升级数据区域的程序数据是否正确;
若正确,则向待升级设备推送差分升级包;
若不正确,则向待升级设备推送全量升级包。
进一步的,确定待升级设备的目标待升级数据区域的程序数据是否正确,包括:
向待升级设备发送校验指令,校验指令包括目标待升级数据区域的定位索引信息和标准校验码数据表;
接收待升级设备发送的校验结果,校验结果用于指示目标校验码和标准校验码是否相同,目标校验码是待升级设备根据定位索引信息定位到程序数据,并基于程序数据计算得到的;
当校验结果指示目标校验码和标准校验码相同时,确定程序数据正确;
当校验结果指示目标校验码和标准校验码不相同时,确定程序数据不正确。
进一步的,确定待升级设备的目标待升级数据区域的程序数据是否正确,包括:
向待升级设备发送校验指令,校验指令包括目标待升级数据区域的定位索引信息;
接收待升级设备发送的目标校验码,目标校验码是待升级设备根据定位索引信息定位到程序数据,并根据程序数据计算得到的;
当目标校验码和标准校验码相同时,确定程序数据正确;
当目标校验码和标准校验码不相同时,确定程序数据不正确。
进一步的,确定待升级设备的目标待升级数据区域的程序数据是否正确,包括:
向待升级设备发送校验指令,校验指令包括目标待升级数据区域的定位索引信息;
接收待升级设备发送的程序数据,程序数据是待升级设备根据定位索引信息从目标待升级数据区域获取的;
根据程序数据确定目标校验码;
当目标校验码和标准校验码相同时,确定程序数据正确;
当目标校验码和标准校验码不相同时,确定程序数据不正确。
进一步的,确定待升级设备中的目标待升级数据区域的程序数据是否正确之前,还包括:
读取系统软件当前版本的全量升级包;
读取系统软件目标版本的全量升级包;
读取系统软件的项目编译环境配置数据项;
根据项目编译环境配置数据项,制作并生成差分升级包;其中,项目编译环境配置数据项包括当前版本的全量升级包和目标版本的全量升级包的差异信息。
进一步的,制作并生成差分升级包后,还包括:
生成定位索引信息;
读取系统软件当前版本的全量升级包;
根据定位索引信息计算系统软件当前版本的全量升级包需要校验的程序数据,并生成标准校验码数据表。
进一步的,目标校验码和标准校验码配置为根据MD5信息摘要算法,对待升级数据区域的程序数据进行计算得到。
第二方面,本发明实施例提供一种系统软件升级方法,包括:
当目标软件对应的目标待升级数据区域的程序数据正确时,接收管理设备发送的差分升级包;
当目标待升级数据区域的程序数据不正确时,接收管理设备发送的全量升级包。
进一步的,接收管理设备发送的差分升级包之前,还包括:
接收管理设备发送的校验指令,校验指令包括目标待升级数据区域的定位索引信息和标准校验码数据表;
根据定位索引信息和标准校验码数据表生成校验结果,校验结果用于指示目标校验码和标准校验码是否相同,目标校验码是根据定位索引信息定位到程序数据,并基于程序数据计算得到的;
将校验结果发送给管理设备,以使得管理设备在校验结果指示目标校验码和标准校验码相同时,确定程序数据正确,当校验结果指示目标校验码和标准校验码不相同时,确定程序数据不正确。
进一步的,接收管理设备发送的差分升级包之前,还包括:
接收管理设备发送的校验指令,校验指令包括目标待升级数据区域的定位索引信息;
根据定位索引信息定位到程序数据,并根据程序数据计算得到目标校验码;
将目标校验码发送给管理设备,以使得管理设备在目标校验码和标准校验码相同时,确定程序数据正确,当目标校验码和标准校验码不相同时,确定程序数据不正确。
进一步的,接收管理设备发送的差分升级包之前,还包括:
接收管理设备发送的校验指令,校验指令包括目标待升级数据区域的定位索引信息;
根据定位索引信息从目标待升级数据区域获取程序数据;
将程序数据发送给管理设备,以使得管理设备根据程序数据确定目标校验码,并当目标校验码和标准校验码相同时,确定程序数据正确,当目标校验码和标准校验码不相同时,确定程序数据不正确。
第三方面,本发明实施例提供一种系统软件升级装置,装置包括:程序数据校验模块,用于确定待升级设备的待升级数据区域的程序数据是否正确;
差分包推送模块,用于当待升级设备的待升级数据区域的程序数据正确时,向待升级设备推送差分包;
全量包推送模块,用于当待升级设备的待升级数据区域的程序数据不正确时,向待升级设备推送全量包。
进一步的,程序数据校验模块包括:
校验码获取模块,用于获取待升级设备的待升级数据区域的校验码;
校验码验证模块,用于确定校验码和预设校验码对照表中对应的标准校验码是否相同,若相同,则确定待升级设备的待升级数据区域的程序数据正确,若不相同,则确定待升级设备的待升级数据区域的程序数据不正确。
进一步的,校验码获取模块包括:
发送模块,用于向待升级设备发送校验码获取指令及待升级数据区域的定位索引信息;
接收模块,用于接收待升级设备返回的校验码,校验码由待升级设备根据定位索引信息定位待升级数据区域的程序数据,并基于待升级数据区域的数据计算得出。
第四方面,本发明实施例提供一种终端设备,终端设备包括:
升级包获取模块,用于选择性获取差分升级包或全量升级包,差分升级包或全量升级包的选择性获取,基于设备的待升级数据区域的程序数据是否正确而执行;
升级执行模块,用于基于获取的差分升级包或全量升级包对设备的待升级数据区域的程序数据进行升级。
第五方面,本发明实施例提供了一种电子设备,电子设备包括:处理器,以及存储有计算机程序指令的存储器;处理器读取并执行计算机程序指令,以实现如上所述第一方面以及第一方面任意一种实现方式的系统软件升级方法;或者,处理器读取并执行计算机程序指令,以实现如上所述第二方面以及第二方面任意一种实现方式的系统软件升级方法。
第六方面,本发明实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令;计算机程序指令被处理器执行时实现如上所述第一方面以及第一方面任意一种实现方式的的系统软件升级方法;或者,计算机程序指令被处理器执行时实现如上所述第二方面以及第二方面任意一种实现方式的的系统软件升级方法。
本发明实施例的系统软件升级方法、装置、设备和计算机存储介质,能够自动选择升级包的类型,从而既能保证用户软件升级的成功率和稳定性,又能有效降低数据传输流量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种系统软件升级方法的流程示意图;
图2是本发明实施例提供的一种系统软件升级装置的结构示意图;
图3是本发明实施例提供的一种系统软件升级方法中设备间交互示意图;
图4是本发明实施例提供的一种系统软件升级装置在智能电视上应用的框架示意图;
图5是本发明实施例提供的一种系统软件升级设备的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本发明,而不是限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请所提供的的技术方案主要应用于系统软件升级,对于智能电视或手机等电子产品的系统软件升级,尤其是对于差分升级方式,非常依赖于客户机(待升级设备)本体软件正确性,如果待升级设备本体软件数据发生异常,则差分升级结果可能出错,会导致死机等等故障,而全部采用全量包升级的方式,会占用较大的互联网流量,费用较高。
为了解决现有技术问题,本发明实施例提供一种系统软件升级方法、装置、设备和计算机存储介质。
首先对本申请实施例的系统架构进行介绍。本发明实施例的系统架构中可以包括管理设备和一个或多个待升级设备。
管理设备可以是一个独立的计算机设备。例如管理设备可以是一个终端设备或者一个管理设备。管理设备也可以是一个设备集群。例如管理设备管理设备用于对系统架构中所包含的一个或多个待升级设备的系统软件升级进行控制。管理设备可以生成、存储以及管理每个待升级设备对应的所有软件版本的全量升级包和差分升级包。管理设备对用于待升级设备进行全量升级包或者差分升级包的推送。
其中,待升级设备可以是终端设备,该终端设备可以包括智能家电(例如,电视机)、个人计算机、智能手机、平板电脑等,车载装置或人工智能设备等任意类型的电子设备。
基于上述的系统架构,接下来对本发明实施例所提供的系统软件升级方法进行介绍。在以下实施例中,以管理设备(例如云端管理设备或服务器等)作为系统软件升级的主体,实际上,可以完成与本发明中管理设备相同功能或作用的设备均可作为系统软件升级的主体。
图1示出了本发明一个实施例提供的系统软件升级方法的流程示意图。如图1所示,该方法可以包括步骤N1-步骤N3的内容:
N1、确定待升级设备的目标待升级数据区域的程序数据是否正确。
本申请实施例中,待升级数据区域具体是指是待升级设备的操作系统中的一段或多段待升级程序或数据所对应的存储空间,待升级数据区域也可以是安装在待升级设备上的软件(如应用软件等)的一段或多段待升级程序或数据等所对应的存储空间。待升级设备中可以包含一个或多个待升级数据区域。例如。待升级设备中包含多个待升级数据区域,分别为待升级数据区域1、待升级数据区域2、待升级数据区域3等,其中,待升级数据区域1是指待升级设备的操作系统中多段待升级程序所对应的存储空间1,待升级数据区域2是指待升级设备中所安装的应用软件A的一段或多段待升级程序或数据等所对应的存储空间2,待升级数据区域3指待升级设备中所安装的应用软件B的一段或多段待升级程序或数据等所对应的存储空间3。
本申请实施例中,当待升级设备需要对目标软件进行升级时,管理设备首先确定该目标软件所对应的目标待升级数据区域中的程序数据是否正确。目标待升级区域为上述一个或多个待升级数据区域中的一个。
本申请实施例中,管理设备确定待升级设备的目标待升级数据区域的程序数据是否正确主要是依据目标待升级数据区域的目标校验码和标准校验码是否相同来确定的。
本申请实施例中的管理设备中包含待升级设备的每一个待升级数据区域所对应的定位索引信息和校验码数据表。以其中的任意一个待升级数据区域为例,该校验码数据表包含该待升级数据区域中所包括的每个数据区块对应的标准校验码。
N2、若正确,则向所述待升级设备推送差分升级包。
N3、若不正确,则向所述待升级设备推送全量升级包,以使得所述待升级设备根据所述全量升级包对所述目标软件进行升级。
上述步骤N2、N3具体可以包括:
管理设备与待升级设备建立通信连接,向所述待升级设备发送校验码获取指令以及所述待升级数据区域的定位索引信息;
管理设备接收所述待升级设备返回的校验码,所述校验码由所述待升级设备根据所述定位索引信息定位所述待升级数据区域的程序数据,并基于所述待升级数据区域的数据计算得出。
待升级设备包含一个或多个待升级数据区域,待升级数据区域可以是待升级设备操作系统中的某一段或多段当前需要升级的程序或数据所对应的区域,或是待升级设备所安装的软件中某一段或多段需要升级的数据所对应的区域。
待升级设备接收到管理设备分发的待升级数据区域程序数据校验任务或发送的校验码获取指令,以及管理设备发送的待升级数据区域的定位索引信息后,根据所述定位索引信息定位待升级数据区域,并计算校验码。待升级设备完成计算校验码的计算之后,将该校验码发送至管理设备。
在本发明的另一种实施例中,待升级设备也可以根据接收到的待升级数据区域的定位索引信息获取该区域的程序数据,并将所获取的程序数据返回至管理设备端,由管理设备按同样算法对所述程序数据进行处理以获取校验码。这样可以减少待升级设备的计算资源,而由管理设备进行相关计算和判断。
管理设备根据获取的待升级设备所有待升级数据区域的程序数据校验码,确定所述校验码和预设校验码对照表中对应的标准校验码是否相同。例如,待升级设备包含待升级数据区域1、待升级数据区域2和待升级数据区域3,预设校验码对照表包含待升级数据区域1对应的标准校验码、待升级数据区域2对应的标准校验码,以及待升级数据区域3对应的标准校验码,管理设备确定待升级数据区域1、待升级数据区域2和待升级数据区域3的程序数据校验码和预设校验码对照表中对应的校验码是否相同。
若相同,则确定所述待升级设备的待升级数据区域的程序数据正确,则向所述待升级设备推送差分升级包。
若不相同,则确定所述待升级设备的待升级数据区域的程序数据不正确,则向所述待升级设备推送全量包。对于差分升级方式,非常强依赖于待升级设备本体软件正确性,如果待升级设备本体软件数据发生异常,则差分升级结果可能出错导致死机等等故障,因此通过本实施例的技术方案,可以有效避免因待升级设备本体软件数据异常造成的升级错误。
本实施例中的预设校验码对照表及其包含的标准校验码可以是软件厂商在制作原始升级包(差分包、全量包)时通过预定算法(例如MD5(Message-Digest Algorithm 5)信息摘要算法)针对差分升级包所对应的待升级设备中的程序或数据区域生成的。该对照表可随同所生成软件版本的升级包一起发布到管理设备。具体计算算法可以选择以Flash块为单位计算,也可以以文件方式为基本单位计算,视差分方式为文件方式和块方式而定。待升级设备上采取同样的校验码计算方式,保证计算算法一致。
以上所述仅为本发明的较佳实施例而已,并不用以限定本发明,对于MD5值计算和校验方法,只是本实施例举例采用,也可以采用其它校验码计算和验证方法,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
本实施例在升级时,对待升级设备的待升级数据区域的程序数据校验码,与预设校验码对照表中对应的标准校验码进行对比,当二者符合或相同时,对待升级设备下发差分升级包予以升级,否则下发全量包到待升级设备进行全量包软件升级。
基于图2,本申请实施例提供另一种升级方法的流程示意图,如图3所示。
S101、管理设备与待升级设备(客户机)“握手”建立连接;
S102、管理设备向待升级设备下发差分校验任务。
S103、管理设备向待升级设备发送指令启动校验任务。
S104、管理设备判断校验结果。
其中,步骤S104管理设备判断校验结果可以包括以下情况:
S1041:管理设备向所述待升级设备发送校验指令,所述校验指令包括所述目标待升级数据区域的定位索引信息和标准校验码数据表;管理设备接收所述待升级设备发送的校验结果,所述校验结果用于指示目标校验码和标准校验码是否相同,所述目标校验码是所述待升级设备根据所述定位索引信息定位到所述程序数据,并基于所述程序数据计算得到的;当所述校验结果指示所述目标校验码和所述标准校验码相同时,确定所述程序数据正确;当所述校验结果指示所述目标校验码和所述标准校验码不相同时,确定所述程序数据不正确。
S1042:管理设备向所述待升级设备发送校验指令,所述校验指令包括所述目标待升级数据区域的定位索引信息;管理设备接收所述待升级设备发送的目标校验码,所述目标校验码是所述待升级设备根据所述定位索引信息定位到所述程序数据,并根据所述程序数据计算得到的;当所述目标校验码和标准校验码相同时,确定所述程序数据正确;当所述目标校验码和标准校验码不相同时,确定所述程序数据不正确。
S1043:管理设备向所述待升级设备发送校验指令,所述校验指令包括所述目标待升级数据区域的定位索引信息;管理设备接收所述待升级设备发送的所述程序数据,所述程序数据是所述待升级设备根据所述定位索引信息从所述目标待升级数据区域获取的;管理设备根据所述程序数据确定所述目标校验码;当所述目标校验码和标准校验码相同时,确定所述程序数据正确;当所述目标校验码和标准校验码不相同时,确定所述程序数据不正确。
S105、管理设备根据校验结果。
当所述校验结果指示所述目标校验码和所述标准校验码相同时,确定所述程序数据正确;
当所述校验结果指示所述目标校验码和所述标准校验码不相同时,确定所述程序数据不正确。
若正确,则向所述待升级设备推送差分升级包;若不正确,则向所述待升级设备推送全量升级包。
本实施例所提供的的方案中,管理设备首先遍历(多个)客户机(逐个)与其握手,然后下发数据信息到目标机(待升级设备/客户机)启动差分校验任务S102,客户机根据所述信息索引表对目标机(待升级设备/客户机)基本软件待更新数据区进行MD5值校验码计算,与管理设备(云端)下发标准MD5值数据比对,然后将结果反馈给管理设备,管理设备根据所述反馈结果判定推送给目标机(待升级设备/客户机)升级包类别,如果校验码验证全通过则推送体积较小的差分包软件给目标机(待升级设备/客户机)升级,否则推送全量升级包给目标机(待升级设备/客户机)升级。既避免差分升级出错,又解决了全部采用全量包升级带来高成本的问题。此外,因目标机(待升级设备/客户机)都有固定IP地址和MAC地址定位,可以采用定点识别和推送,不会发生客户间互相干扰情况。
请参考图4,图4所示为本发明实施例提供的一种系统软件升级装置在电视机上应用的流程示意图。根据图3所示,对系统软件升级装置在电视机上应用的流程进行解释:
访问首先遍历智能电视(待升级设备/客户机)与其握手(建立通信连接),然后下发S03数据信息到目标机启动目标机(程序数据即电视机本体软件)校验任务S06,管理设备向电视机下发电视机本体软件校验指令,同时下发电视机本体软件的基准(标准)MD5值以及待升级数据区域的索引信息,电视机对电视机本体软件的MD5值进行计算,根据与对应的标准MD5值的比对,将结果保存到S08模块,然后S08将结果反馈给管理设备,管理设备根据所述反馈结果判定推送给目标机升级包类别。其中,如果校验码验证不通过则推送全量升级包给目标机升级;因目标机都有固定IP地址和MAC地址定位,可以采用定点识别和推送,不会发生客户间互相干扰情况。
如果电视机本体软件校验码验证通过,则电机及计算待升级数据区域的MD5值,并与相应的标准MD5值进行对比,将结果保存到S08模块,然后S08将结果反馈给管理设备,管理设备根据所述反馈结果判定推送给目标机升级包类别,如果校验通过则推送体积较小的差分包软件给待升级目标机升级,否则推送全量升级包给待升级目标机升级。
本实施例中,以MD5算法作为检验码的计算方法;在实际应用中也可以选择其他的算法,本发明对此并不做限定。
图5示出了本发明实施例提供的系统软件升级设备的硬件结构示意图。
系统软件升级设备可以包括处理器301以及存储有计算机程序指令的存储器302。
具体地,上述处理器301可以包括中央处理器(Central Processing Unit,CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在一个实例中,存储器302可以包括可移除或不可移除(或固定)的介质,或者存储器302是非易失性固态存储器。存储器302可在综合网关容灾设备的内部或外部。
在一个实例中,存储器302可以是只读存储器(Read Only Memory,ROM)。在一个实例中,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器301通过读取并执行存储器302中存储的计算机程序指令,以实现图1所示实施例中的方法步骤N1-N3,并达到图1所示实例执行其方法步骤达到的相应技术效果,为简洁描述在此不再赘述。
在一个示例中,系统软件升级设备还可包括通信接口303和总线310。其中,如图3所示,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。
通信接口303,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线310包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,EISA)总线、前端总线(Front Side Bus,FSB)、超传输(HyperTransport,HT)互连、工业标准架构(Industry Standard Architecture,ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
该设备可以根据待升级的待升级设备待升级数据区域的数据情况,自动选择进行差分数据包升级或全量包升级,执行本发明实施例中的系统软件升级方法,从而实现结合图1描述的系统软件升级方法。
另外,结合上述实施例中的系统软件升级方法,本发明实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种系统软件升级方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RadioFrequency,RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (15)
1.一种系统软件升级方法,其特征在于,包括:
确定待升级设备的目标待升级数据区域的程序数据是否正确;
若正确,则向所述待升级设备推送差分升级包;
若不正确,则向所述待升级设备推送全量升级包。
2.根据权利要求1所述的系统软件升级方法,其特征在于,所述确定待升级设备的目标待升级数据区域的程序数据是否正确,包括:
向所述待升级设备发送校验指令,所述校验指令包括所述目标待升级数据区域的定位索引信息和标准校验码数据表;
接收所述待升级设备发送的校验结果,所述校验结果用于指示目标校验码和标准校验码是否相同,所述目标校验码是所述待升级设备根据所述定位索引信息定位到所述程序数据,并基于所述程序数据计算得到的;
当所述校验结果指示所述目标校验码和所述标准校验码相同时,确定所述程序数据正确;
当所述校验结果指示所述目标校验码和所述标准校验码不相同时,确定所述程序数据不正确。
3.根据权利要求1所述的系统软件升级方法,其特征在于,所述确定待升级设备的目标待升级数据区域的程序数据是否正确,包括:
向所述待升级设备发送校验指令,所述校验指令包括所述目标待升级数据区域的定位索引信息;
接收所述待升级设备发送的目标校验码,所述目标校验码是所述待升级设备根据所述定位索引信息定位到所述程序数据,并根据所述程序数据计算得到的;
当所述目标校验码和标准校验码相同时,确定所述程序数据正确;
当所述目标校验码和标准校验码不相同时,确定所述程序数据不正确。
4.根据权利要求1所述的系统软件升级方法,其特征在于,所述确定待升级设备的目标待升级数据区域的程序数据是否正确,包括:
向所述待升级设备发送校验指令,所述校验指令包括所述目标待升级数据区域的定位索引信息;
接收所述待升级设备发送的所述程序数据,所述程序数据是所述待升级设备根据所述定位索引信息从所述目标待升级数据区域获取的;
根据所述程序数据确定所述目标校验码;
当所述目标校验码和标准校验码相同时,确定所述程序数据正确;
当所述目标校验码和标准校验码不相同时,确定所述程序数据不正确。
5.根据权利要求1-4任一所述的系统软件升级方法,其特征在于,所述确定待升级设备中的目标待升级数据区域的程序数据是否正确之前,还包括:
读取所述系统软件当前版本的全量升级包;
读取所述系统软件目标版本的全量升级包;
读取所述系统软件的项目编译环境配置数据项;
根据所述项目编译环境配置数据项,制作并生成差分升级包;其中,所述项目编译环境配置数据项包括所述当前版本的全量升级包和所述目标版本的全量升级包的差异信息。
6.根据权利要求5所述的系统软件升级方法,其特征在于,制作并生成所述差分升级包后,还包括:
生成定位索引信息;
读取所述系统软件当前版本的全量升级包;
根据所述定位索引信息计算所述系统软件当前版本的全量升级包需要校验的程序数据,并生成标准校验码数据表。
7.根据权利要求2所述的系统软件升级方法,其特征在于,所述目标校验码和所述标准校验码配置为根据MD5信息摘要算法,对所述待升级数据区域的程序数据进行计算得到。
8.一种系统软件升级方法,其特征在于,包括:
当目标软件对应的目标待升级数据区域的程序数据正确时,接收管理设备发送的差分升级包;
当所述目标待升级数据区域的程序数据不正确时,接收管理设备发送的全量升级包。
9.根据权利要求8所述的方法,其特征在于,所述接收管理设备发送的差分升级包之前,还包括:
接收所述管理设备发送的校验指令,所述校验指令包括所述目标待升级数据区域的定位索引信息和标准校验码数据表;
根据所述定位索引信息和所述标准校验码数据表生成校验结果,所述校验结果用于指示目标校验码和标准校验码是否相同,所述目标校验码是根据所述定位索引信息定位到所述程序数据,并基于所述程序数据计算得到的;
将所述校验结果发送给所述管理设备,以使得所述管理设备在所述校验结果指示所述目标校验码和所述标准校验码相同时,确定所述程序数据正确,当所述校验结果指示所述目标校验码和所述标准校验码不相同时,确定所述程序数据不正确。
10.根据权利要求8所述的方法,其特征在于,所述接收管理设备发送的差分升级包之前,还包括:
接收所述管理设备发送的校验指令,所述校验指令包括所述目标待升级数据区域的定位索引信息;
根据所述定位索引信息定位到所述程序数据,并根据所述程序数据计算得到目标校验码;
将所述目标校验码发送给所述管理设备,以使得所述管理设备在所述目标校验码和标准校验码相同时,确定所述程序数据正确,当所述目标校验码和所述标准校验码不相同时,确定所述程序数据不正确。
11.根据权利要求8所述的方法,其特征在于,所述接收管理设备发送的差分升级包之前,还包括:
接收所述管理设备发送的校验指令,所述校验指令包括所述目标待升级数据区域的定位索引信息;
根据所述定位索引信息从所述目标待升级数据区域获取所述程序数据;
将所述程序数据发送给所述管理设备,以使得所述管理设备根据所述程序数据确定所述目标校验码,并当所述目标校验码和标准校验码相同时,确定所述程序数据正确,当所述目标校验码和标准校验码不相同时,确定所述程序数据不正确。
12.一种系统软件升级装置,其特征在于,所述装置包括:
程序数据校验模块,用于确定待升级设备的待升级数据区域的程序数据是否正确;
差分包推送模块,用于当所述待升级设备的待升级数据区域的程序数据正确时,向所述待升级设备推送差分包;
全量包推送模块,用于当所述待升级设备的待升级数据区域的程序数据不正确时,向所述待升级设备推送全量包。
13.一种终端设备,其特征在于,所述终端设备包括:
升级包获取模块,用于选择性获取差分升级包或全量升级包,所述差分升级包或全量升级包的选择性获取,基于所述设备的待升级数据区域的程序数据是否正确而执行;
升级执行模块,用于基于获取的所述差分升级包或全量升级包对所述设备的待升级数据区域的程序数据进行升级。
14.一种电子设备,其特征在于,所述电子设备包括:处理器,以及存储有计算机程序指令的存储器;所述处理器读取并执行所述计算机程序指令,以实现如权利要求1-7任意一项所述的系统软件升级方法;或者,所述处理器读取并执行所述计算机程序指令,以实现如权利要求8-11任意一项所述的系统软件升级方法。
15.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的系统软件升级方法;或者,所述计算机程序指令被处理器执行时实现如权利要求8-11任意一项所述的系统软件升级方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111049118.XA CN113900682A (zh) | 2021-09-08 | 2021-09-08 | 一种系统软件升级方法、装置、设备和计算机存储介质 |
PCT/CN2022/113471 WO2023035901A1 (zh) | 2021-09-08 | 2022-08-19 | 系统软件升级方法、装置、设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111049118.XA CN113900682A (zh) | 2021-09-08 | 2021-09-08 | 一种系统软件升级方法、装置、设备和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113900682A true CN113900682A (zh) | 2022-01-07 |
Family
ID=79188850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111049118.XA Pending CN113900682A (zh) | 2021-09-08 | 2021-09-08 | 一种系统软件升级方法、装置、设备和计算机存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113900682A (zh) |
WO (1) | WO2023035901A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023035901A1 (zh) * | 2021-09-08 | 2023-03-16 | 深圳Tcl新技术有限公司 | 系统软件升级方法、装置、设备和计算机存储介质 |
CN116360830A (zh) * | 2023-05-31 | 2023-06-30 | 中汽智联技术有限公司 | 一种车载终端软件版本升级方法和系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116521199B (zh) * | 2023-04-14 | 2024-05-17 | 北京百度网讯科技有限公司 | 一种部件升级方法、装置、设备及存储介质 |
CN116466986B (zh) * | 2023-04-18 | 2023-10-27 | 惠州市乐亿通科技有限公司 | 储能系统的设备软件升级方法、装置、通讯模块以及介质 |
CN116954643B (zh) * | 2023-06-02 | 2024-04-05 | 深圳市华芯控股有限公司 | 基于can总线自组网系统的点播及组播固件升级方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790247A (zh) * | 2017-01-23 | 2017-05-31 | 青岛海信移动通信技术股份有限公司 | 一种Android系统升级的方法和装置 |
CN108153540B (zh) * | 2018-01-15 | 2021-07-23 | 北京小米移动软件有限公司 | 系统升级的方法、装置、终端及存储介质 |
CN108491214A (zh) * | 2018-02-08 | 2018-09-04 | 北京中科江南信息技术股份有限公司 | 应用系统升级部署的管理方法和管理系统 |
CN108958774A (zh) * | 2018-07-13 | 2018-12-07 | 深圳市道通智能航空技术有限公司 | 无人机系统中的模块升级方法及待升级模块 |
CN113900682A (zh) * | 2021-09-08 | 2022-01-07 | 深圳Tcl新技术有限公司 | 一种系统软件升级方法、装置、设备和计算机存储介质 |
-
2021
- 2021-09-08 CN CN202111049118.XA patent/CN113900682A/zh active Pending
-
2022
- 2022-08-19 WO PCT/CN2022/113471 patent/WO2023035901A1/zh unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023035901A1 (zh) * | 2021-09-08 | 2023-03-16 | 深圳Tcl新技术有限公司 | 系统软件升级方法、装置、设备和计算机存储介质 |
CN116360830A (zh) * | 2023-05-31 | 2023-06-30 | 中汽智联技术有限公司 | 一种车载终端软件版本升级方法和系统 |
CN116360830B (zh) * | 2023-05-31 | 2023-08-15 | 中汽智联技术有限公司 | 一种车载终端软件版本升级方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2023035901A1 (zh) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113900682A (zh) | 一种系统软件升级方法、装置、设备和计算机存储介质 | |
CN101917706B (zh) | Fota升级的处理方法及装置 | |
CN106886436B (zh) | 一种Android系统升级的方法和装置 | |
CN105389177A (zh) | 一种软件版本确认方法、装置及系统 | |
CN111372249B (zh) | 物联网eSIM终端码号下载流程一致性测试系统及方法 | |
CN106843976B (zh) | 用于生成镜像文件的方法和装置 | |
CN109391673A (zh) | 一种管理更新文件的方法、系统及终端设备 | |
CN110535954B (zh) | 门锁固件的升级方法、升级系统、智能网关和存储介质 | |
CN104850427B (zh) | 一种代码升级方法及装置 | |
CN112988485A (zh) | 电力物联网设备模拟测试方法及装置 | |
CN112995806A (zh) | 一种升级光网络单元方法、装置、系统及存储介质 | |
CN110889143A (zh) | 文件校验方法及装置 | |
CN111158716B (zh) | 版本升级调用方法、装置、计算机系统及可读存储介质 | |
CN113094064A (zh) | 网关软件模块升级方法、装置、设备及存储介质 | |
CN106293814B (zh) | 升级方法及装置 | |
CN111176985B (zh) | 软件接口的性能测试方法及装置、计算机设备、存储介质 | |
CN104506942A (zh) | 机顶盒及其电缆调制解调器系统的升级方法 | |
CN110990046A (zh) | 一种基于动态文件的升级方法 | |
US10979287B2 (en) | Method and apparatus for receiving a solution when configuration function verification fails in a terminal | |
CN111246447A (zh) | eUICC签约数据管理方法、模块以及终端、存储介质 | |
CN115604095A (zh) | 网络设备配置方法及系统 | |
CN115150162A (zh) | 一种根证书更新方法、装置 | |
CN105812433B (zh) | 一种云适配处理方法、装置、终端及云服务器 | |
CN111142906B (zh) | 一种设备固件升级方案迭代的方法、装置与设备 | |
CN114697368B (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 |