CN112579140A - 一种软件升级方法及装置 - Google Patents
一种软件升级方法及装置 Download PDFInfo
- Publication number
- CN112579140A CN112579140A CN202011534021.3A CN202011534021A CN112579140A CN 112579140 A CN112579140 A CN 112579140A CN 202011534021 A CN202011534021 A CN 202011534021A CN 112579140 A CN112579140 A CN 112579140A
- Authority
- CN
- China
- Prior art keywords
- file
- software
- upgrading
- upgrade
- version number
- 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
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
技术领域
本申请涉及移动通信领域,具体而言,涉及一种软件升级方法及装置。
背景技术
目前就嵌入式终端远程升级而言,大部分都是采用的全量升级的方式对嵌入式终端中的软件进行升级。嵌入式终端通过网络连接到升级服务器,查询升级信息,然后升级服务器把升级文件整包下发到终端,终端再进行升级文件替换,完成升级。但是,这种升级方式既浪费流量和资源,又使得升级的效率较低。
发明内容
本申请实施例的目的在于提供一种软件升级方法及装置,用以解决升级过程浪费流量和资源以及升级效率较低的技术问题。
为了实现上述目的,本申请实施例所提供的技术方案如下所示:
第一方面,本申请实施例提供一种软件升级方法,应用于服务器,包括:通过web界面上传升级文件以及对应的升级文件信息;其中,所述升级文件用于对终端中的待升级软件进行升级,所述升级文件信息包括升级版本号以及所述待升级软件对应的软件标识;根据所述软件标识查找与所述待升级软件对应的至少一个软件版本号以及与查找到的每一个软件版本号对应的版本文件;利用差分算法对所述升级文件以及所述软件版本号对应的版本文件进行计算,得到所述软件版本号对应的差分文件;利用压缩算法对所述差分文件进行压缩,得到所述软件版本号对应的压缩文件,以在向所述终端发送所述压缩文件后,使所述终端利用所述压缩文件对所述待升级软件进行升级。在上述方案中,服务器可以利用差分算法对升级文件以及版本文件进行计算得到差分文件,再利用压缩算法对差分文件进行压缩得到压缩文件。与最初的升级文件相比,压缩文件的数据量降低了很多,因此,服务器在将压缩文件发送给终端时,可以节约流量和资源,同时可以提高升级的效率。
在本申请的可选实施例中,在所述得到所述软件版本号对应的压缩文件之后,所述方法还包括:接收所述终端发送的当前软件版本信息;判断所述当前软件版本信息中的软件版本号是否小于所述升级版本号;在所述当前软件版本信息中的软件版本号小于所述升级版本号时,查找与所述当前软件版本信息中的软件版本号对应的压缩文件;向所述终端发送查找到的所述压缩文件。在上述方案中,当服务器判断接收到的终端发送的当前软件版本号小于升级版本号时,可以认为终端需要进行升级,此时可以将压缩文件发送给终端,以使终端可以完成升级。
第二方面,本申请实施例提供一种软件升级方法,应用于终端,包括:向服务器发送当前软件版本信息;其中,所述当前软件版本信息包括软件版本号;接收所述服务器根据所述软件版本号返回的压缩文件;其中,所述压缩文件为利用压缩算法对差分文件进行压缩得到,所述差分文件为利用差分算法对升级文件以及所述软件版本号对应的版本文件计算得到;将所述压缩文件进行解压,得到所述差分文件;根据所述差分文件以及本地的当前文件,利用所述差分算法还原所述升级文件;利用所述升级文件对待升级软件进行升级。在上述方案中,终端可以接收服务器发送的压缩文件,并在对升级文件进行解压以及还原之后进行升级。由于与升级文件相比,压缩文件的数据量降低了很多,因此,终端在接收服务器发送的压缩文件时,可以节约流量和资源,同时可以提高升级的效率。
在本申请的可选实施例中,在所述将所述压缩文件进行解压之前,所述方法还包括:对所述压缩文件进行校验;在所述压缩文件校验通过时,存储表征所述待升级软件待升级的升级标识,并重启所述待升级软件;所述将所述压缩文件进行解压,包括:在重启所述待升级软件后,根据所述升级标识将所述压缩文件进行解压。在上述方案中,终端在接收到压缩文件之后,可以首先对文件进行校验,保证接收到的压缩文件的正确性,从而提高终端升级的效率。
在本申请的可选实施例中,在所述利用所述升级文件对待升级软件进行升级之前,所述方法还包括:对所述升级文件进行校验;在所述升级文件校验通过时,删除所述升级标识。在上述方案中,终端在对压缩文件进行解压以及还原之后,可以对还原得到的升级文件进行校验,保证用于升级的升级文件的正确性,从而提高终端升级的效率。
第三方面,本申请实施例提供一种软件升级装置,应用于服务器,包括:前端web界面模块,用于通过web界面上传升级文件以及对应的升级文件信息;其中,所述升级文件用于对终端中的待升级软件进行升级,所述升级文件信息包括升级版本号以及所述待升级软件对应的软件标识;第一查找模块,用于根据所述软件标识查找与所述待升级软件对应的至少一个软件版本号以及与查找到的每一个软件版本号对应的版本文件;差分计算模块,用于利用差分算法对所述升级文件以及所述软件版本号对应的版本文件进行计算,得到所述软件版本号对应的差分文件;压缩模块,用于利用压缩算法对所述差分文件进行压缩,得到所述软件版本号对应的压缩文件,以在向所述终端发送所述压缩文件后,使所述终端利用所述压缩文件对所述待升级软件进行升级。在上述方案中,服务器可以利用差分算法对升级文件以及版本文件进行计算得到差分文件,再利用压缩算法对差分文件进行压缩得到压缩文件。与最初的升级文件相比,压缩文件的数据量降低了很多,因此,服务器在将压缩文件发送给终端时,可以节约流量和资源,同时可以提高升级的效率。
在本申请的可选实施例中,所述装置还包括:第二接收模块,用于接收所述终端发送的当前软件版本信息;判断模块,用于判断所述当前软件版本信息中的软件版本号是否小于所述升级版本号;第二查找模块,用于在所述当前软件版本信息中的软件版本号小于所述升级版本号时,查找与所述当前软件版本信息中的软件版本号对应的压缩文件;第二发送模块,用于向所述终端发送查找到的所述压缩文件。在上述方案中,当服务器判断接收到的终端发送的当前软件版本号小于升级版本号时,可以认为终端需要进行升级,此时可以将压缩文件发送给终端,以使终端可以完成升级。
第四方面,本申请实施例提供一种软件升级装置,应用于终端,包括:第一发送模块,用于向服务器发送当前软件版本信息;其中,所述当前软件版本信息包括软件版本号;第一接收模块,用于接收所述服务器根据所述软件版本号返回的压缩文件;其中,所述压缩文件为利用压缩算法对差分文件进行压缩得到,所述差分文件为利用差分算法对升级文件以及所述软件版本号对应的版本文件计算得到;解压模块,用于将所述压缩文件进行解压,得到所述差分文件;还原模块,用于根据所述差分文件以及本地的当前文件,利用所述差分算法还原所述升级文件;升级模块,用于利用所述升级文件对待升级软件进行升级。在上述方案中,终端可以接收服务器发送的压缩文件,并在对升级文件进行解压以及还原之后进行升级。由于与升级文件相比,压缩文件的数据量降低了很多,因此,终端在接收服务器发送的压缩文件时,可以节约流量和资源,同时可以提高升级的效率。
在本申请的可选实施例中,所述装置还包括:第一校验模块,用于对所述压缩文件进行校验;存储模块,用于在所述压缩文件校验通过时,存储表征所述待升级软件待升级的升级标识,并重启所述待升级软件;所述解压模块还用于:在重启所述待升级软件后,根据所述升级标识将所述压缩文件进行解压。在上述方案中,终端在接收到压缩文件之后,可以首先对文件进行校验,保证接收到的压缩文件的正确性,从而提高终端升级的效率。
在本申请的可选实施例中,所述装置还包括:第二校验模块,用于对所述升级文件进行校验;删除模块,用于在所述升级文件校验通过时,删除所述升级标识。在上述方案中,终端在对压缩文件进行解压以及还原之后,可以对还原得到的升级文件进行校验,保证用于升级的升级文件的正确性,从而提高终端升级的效率。
第五方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面或者第二方面中的软件升级方法。
第六方面,本申请实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面或者第二方面中的软件升级方法。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举本申请实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种应用于服务器的软件升级方法;
图2为本申请实施例提供的另一种应用于服务器的软件升级方法;
图3为本申请实施例提供的一种应用于终端的软件升级方法;
图4为本申请实施例提供的一种应用于服务器的软件升级装置的结构框图;
图5为本申请实施例提供的一种应用于终端的软件升级装置的结构框图;
图6为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参照图1,图1为本申请实施例提供的一种应用于服务器的软件升级方法,该软件升级方法可以包括如下步骤:
步骤S101:服务器通过web界面上传升级文件以及对应的升级文件信息。
步骤S102:服务器根据软件标识查找与待升级软件对应的至少一个软件版本号以及与查找到的每一个软件版本号对应的版本文件。
步骤S103:服务器利用差分算法对升级文件以及软件版本号对应的版本文件进行计算,得到软件版本号对应的差分文件。
步骤S104:服务器利用压缩算法对差分文件进行压缩,得到软件版本号对应的压缩文件,以在向终端发送压缩文件后,使终端利用压缩文件对待升级软件进行升级。
当管理员发现有软件需要进行升级时,管理员可以在某一终端上编译生成对应的升级文件,终端可以利用该升级文件对对应的软件进行升级。然后,管理员可以通过web界面将生成的升级文件上传至服务器中进行存储。同时,管理员还可以通过前端的显示界面填写升级文件信息,服务器可以同时存储上述升级文件信息。其中,管理员填写的升级文件信息可以包括多个内容,例如:升级版本号、终端中的待升级软件对应的软件标识、设备类型、所需升级的设备等,本申请实施例对此不作具体的限定。
因此,作为一种方式,服务器可以读取存储在本地或者云端的升级文件以及对应的升级文件信息;作为另一种实施方式,服务器也可以接收外部设备发送的升级文件以及对应的升级文件信息。
服务器在获取到升级文件以及对应的升级文件信息之后,可以根据升级文件信息中的软件标识查找到与对应的软件相关的数据,包括:软件版本号、与软件版本号对应的当前版本的文件等。
针对每一个软件版本号以及与该软件版本号对应的版本文件,服务器可以利用差分算法计算获取到的升级文件与上述版本文件之间的差分文件,然后利用压缩算法对上述步骤中得到的差分文件进行压缩,从而得到每个软件版本号对应的压缩文件。然后,服务器可以在需要的时候讲上述压缩文件发送给终端,以使终端可以利用接收到的压缩文件进行软件更新。
其中,利用差分算法计算获取到的升级文件与上述版本文件之间的差分文件的步骤可以包括如下步骤:
第一步,使用差分算法(bsdiff)对一软件版本号对应的版本文件进行处理,使得版本文件中的所有字符串形成一个字典。
第二步,对比软件版本号对应的版本文件和升级文件,生成区别文件(diffstring)和扩展文件(extra string)。
第三步,将区别文件(diffstring)和扩展文件(extra string)合并得到一个差分文件(patch包)。
第四步,重复上述第一步至第三步,使用差分算法(bsdiff)得到每一个软件版本号对应的差分文件(patch包)。
利用压缩算法对差分文件进行压缩的步骤可以包括如下步骤:
通过滑动窗口(sliding window)实现动态字典,用前面出现过的字符串作为字典通过映射(与前一个字符串的距离和字符串长度)替代后面重复出现的字符串。
在上述方案中,服务器可以利用差分算法对升级文件以及版本文件进行计算得到差分文件,再利用压缩算法对差分文件进行压缩得到压缩文件。与最初的升级文件相比,压缩文件的数据量降低了很多,因此,服务器在将压缩文件发送给终端时,可以节约流量和资源,同时可以提高升级的效率。
请参照图2,图2为本申请实施例提供的另一种应用于服务器的软件升级方法,该软件升级方法可以包括如下步骤:
步骤S201:服务器接收终端发送的当前软件版本信息。
步骤S202:服务器判断当前软件版本信息中的软件版本号是否小于升级版本号。
步骤S203:服务器在当前软件版本信息中的软件版本号小于升级版本号时,查找与当前软件版本信息中的软件版本号对应的压缩文件。
步骤S204:服务器向终端发送查找到的压缩文件。
终端在每次上电时或者每隔预设时间,可以向服务器发送本地的当前软件版本信息。其中,终端发送的当前软件版本信息同样可以包括多个内容,例如:终端软件当前版本对应的软件版本号、终端中的待升级软件对应的软件标识、终端类型等,本申请实施例对此同样不作具体的限定。
服务器在接收到终端发送的当前软件版本信息之后,首先可以查找对应的待升级软件以及相关的信息,然后可以将当前软件版本信息中的软件版本号与步骤S101中获取到的升级版本号进行对比,判断当前软件版本信息中的软件版本号是否小于步骤S101中获取到的升级版本号。
若当前软件版本信息中的软件版本号不小于步骤S101中获取到的升级版本号,则说明该终端中的软件当前并不需要进行升级;若当前软件版本信息中的软件版本号小于步骤S101中获取到的升级版本号,则说明该终端中的软件当前需要进行升级,因此,服务器可以将与软件版本号对应的压缩文件发送给终端。
作为一种实施方式,服务器与终端之间可以通过无线通信的方式进行通信,其中,无线通信可以包括Wi-fi通信、蓝牙通信、Zigbee通信等方式,本申请实施例对此不作具体的限定。
在上述方案中,当服务器判断接收到的终端发送的当前软件版本号小于升级版本号时,可以认为终端需要进行升级,此时可以将压缩文件发送给终端,以使终端可以完成升级。
请参照图3,图3为本申请实施例提供的一种应用于终端的软件升级方法,该软件升级方法可以包括如下步骤:
步骤S301:终端向服务器发送当前软件版本信息。
步骤S302:终端接收服务器根据软件版本号返回的压缩文件。
步骤S303:终端将压缩文件进行解压,得到差分文件。
步骤S304:终端根据差分文件以及本地的当前文件,利用差分算法还原升级文件。
步骤S305:终端利用升级文件对待升级软件进行升级。
如上述实施例中所述,终端可以向服务器发送当前软件版本信息,然后服务器会在判断终端中的软件当前需要进行升级时,将对应的压缩文件发送给终端。
终端在接收到压缩文件之后,可以将压缩文件保存在终端的固定位置中,首先将压缩文件进行解压得到差分文件,然后根据解压得到的差分文件以及终端本地的当前版本对应的当前文件,利用差分算法还原得到升级文件。最后,终端可以利用还原得到的升级文件对待升级软件进行升级。
需要说明的是,利用差分算法还原得到升级文件的实现方式与上述实施例中利用差分算法计算差分文件的实现方式类似,此处不再赘述。
在上述方案中,终端可以接收服务器发送的压缩文件,并在对升级文件进行解压以及还原之后进行升级。由于与升级文件相比,压缩文件的数据量降低了很多,因此,终端在接收服务器发送的压缩文件时,可以节约流量和资源,同时可以提高升级的效率。
进一步的,终端在接收到压缩文件之后,可以执行如下步骤:
第一步,终端对压缩文件进行校验。
第二步,在压缩文件校验通过时,终端存储表征待升级软件待升级的升级标识,并重启待升级软件。
第三步,在重启待升级软件后,终端根据升级标识将压缩文件进行解压,得到差分文件。
第四步,终端根据差分文件以及本地的当前文件,利用差分算法还原升级文件。
第五步,终端对升级文件进行校验。
第六步,在升级文件校验通过时,终端删除升级标识。
第七步,终端利用升级文件对待升级软件进行升级。
也就是说,终端在接收到压缩文件之后,可以首先对压缩文件进行校验,保证接收到的压缩文件的正确性。然后,当压缩文件校验通过时,终端可以写入升级标志等信息,也就是存储表征待升级软件待升级的升级标识,并重启待升级软件。
作为一种实施方式,在重启待升级软件后,终端可以进入boot loader,并根据上述步骤中存储的升级标识,将对应的压缩文件进行解压得到差分文件,并利用差分算法将差分文件还原为升级文件。然后,终端在对压缩文件进行解压以及还原之后,可以对还原得到的升级文件进行校验,保证用于升级的升级文件的正确性。
在升级文件校验通过时,终端可以删除上述实施例中存储的升级标识,并利用升级文件对待升级软件进行升级。升级完成后,终端可以跳转到软件开始正常运行。
请参照图4,图4为本申请实施例提供的一种应用于服务器的软件升级装置的结构框图,该软件升级装置400可以包括:前端web界面模块401,用于通过web界面上传升级文件以及对应的升级文件信息;其中,所述升级文件用于对终端中的待升级软件进行升级,所述升级文件信息包括升级版本号以及所述待升级软件对应的软件标识;第一查找模块402,用于根据所述软件标识查找与所述待升级软件对应的至少一个软件版本号以及与查找到的每一个软件版本号对应的版本文件;差分计算模块403,用于利用差分算法对所述升级文件以及所述软件版本号对应的版本文件进行计算,得到所述软件版本号对应的差分文件;压缩模块404,用于利用压缩算法对所述差分文件进行压缩,得到所述软件版本号对应的压缩文件,以在向所述终端发送所述压缩文件后,使所述终端利用所述压缩文件对所述待升级软件进行升级。
在本申请实施例中,服务器可以利用差分算法对升级文件以及版本文件进行计算得到差分文件,再利用压缩算法对差分文件进行压缩得到压缩文件。与最初的升级文件相比,压缩文件的数据量降低了很多,因此,服务器在将压缩文件发送给终端时,可以节约流量和资源,同时可以提高升级的效率。
进一步的,所述软件升级装置400还包括:第二接收模块,用于接收所述终端发送的当前软件版本信息;判断模块,用于判断所述当前软件版本信息中的软件版本号是否小于所述升级版本号;第二查找模块,用于在所述当前软件版本信息中的软件版本号小于所述升级版本号时,查找与所述当前软件版本信息中的软件版本号对应的压缩文件;第二发送模块,用于向所述终端发送查找到的所述压缩文件。在上述方案中,当服务器判断接收到的终端发送的当前软件版本号与升级版本号不同时,可以认为终端需要进行升级,此时可以将压缩文件发送给终端,以使终端可以完成升级。
请参照图5,图5为本申请实施例提供的一种应用于终端的软件升级装置的结构框图,该软件升级装置500可以包括:第一发送模块501,用于向服务器发送当前软件版本信息;其中,所述当前软件版本信息包括软件版本号;第一接收模块502,用于接收所述服务器根据所述软件版本号返回的压缩文件;其中,所述压缩文件为利用压缩算法对差分文件进行压缩得到,所述差分文件为利用差分算法对升级文件以及所述软件版本号对应的版本文件计算得到;解压模块503,用于将所述压缩文件进行解压,得到所述差分文件;还原模块504,用于根据所述差分文件以及本地的当前文件,利用所述差分算法还原所述升级文件;升级模块505,用于利用所述升级文件对待升级软件进行升级。
在本申请实施例中,终端可以接收服务器发送的压缩文件,并在对升级文件进行解压以及还原之后进行升级。由于与升级文件相比,压缩文件的数据量降低了很多,因此,终端在接收服务器发送的压缩文件时,可以节约流量和资源,同时可以提高升级的效率。
进一步的,所述软件升级装置500还包括:第一校验模块,用于对所述压缩文件进行校验;存储模块,用于在所述压缩文件校验通过时,存储表征所述待升级软件待升级的升级标识,并重启所述待升级软件;所述解压模块503还用于:在重启所述待升级软件后,根据所述升级标识将所述压缩文件进行解压。
在本申请实施例中,终端在接收到压缩文件之后,可以首先对文件进行校验,保证接收到的压缩文件的正确性,从而提高终端升级的效率。
进一步的,所述软件升级装置500还包括:第二校验模块,用于对所述升级文件进行校验;删除模块,用于在所述升级文件校验通过时,删除所述升级标识。
在本申请实施例中,终端在对压缩文件进行解压以及还原之后,可以对还原得到的升级文件进行校验,保证用于升级的升级文件的正确性,从而提高终端升级的效率。
请参照图6,图6为本申请实施例提供的一种电子设备的结构框图,该电子设备600包括:至少一个处理器601,至少一个通信接口602,至少一个存储器603和至少一个通信总线604。其中,通信总线604用于实现这些组件直接的连接通信,通信接口602用于与其他节点设备进行信令或数据的通信,存储器603存储有处理器601可执行的机器可读指令。当电子设备600运行时,处理器601与存储器603之间通过通信总线604通信,机器可读指令被处理器601调用时执行上述软件升级方法。
例如,本申请实施例的处理器601通过通信总线604从存储器603读取计算机程序并执行该计算机程序可以实现如下方法:步骤S101:服务器通过web界面上传升级文件以及对应的升级文件信息。步骤S102:服务器根据软件标识查找与待升级软件对应的至少一个软件版本号以及与查找到的每一个软件版本号对应的版本文件。步骤S103:服务器利用差分算法对升级文件以及软件版本号对应的版本文件进行计算,得到软件版本号对应的差分文件。步骤S104:服务器利用压缩算法对差分文件进行压缩,得到软件版本号对应的压缩文件,以在向终端发送压缩文件后,使终端利用压缩文件对待升级软件进行升级。在一些示例中,处理器601还可以执行如下步骤:步骤S301:终端向服务器发送当前软件版本信息。步骤S302:终端接收服务器根据软件版本号返回的压缩文件。步骤S303:终端将压缩文件进行解压,得到差分文件。步骤S304:终端根据差分文件以及本地的当前文件,利用差分算法还原升级文件。步骤S305:终端利用升级文件对待升级软件进行升级。
处理器601可以是一种集成电路芯片,具有信号处理能力。上述处理器601可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器603可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
可以理解,图6所示的结构仅为示意,电子设备600还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。于本申请实施例中,电子设备600可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备、车载设备等实体设备,还可以是虚拟机等虚拟设备。另外,电子设备600也不一定是单台设备,还可以是多台设备的组合,例如服务器集群,等等。于本申请实施例中,软件升级方法中的服务器及终端均可以采用图6示出的电子设备600实现。
本申请实施例还提供一种计算机程序产品,包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述实施例中软件升级方法的步骤,例如包括:通过web界面上传升级文件以及对应的升级文件信息;其中,所述升级文件用于对终端中的待升级软件进行升级,所述升级文件信息包括升级版本号以及所述待升级软件对应的软件标识;根据所述软件标识查找与所述待升级软件对应的至少一个软件版本号以及与查找到的每一个软件版本号对应的版本文件;利用差分算法对所述升级文件以及所述软件版本号对应的版本文件进行计算,得到所述软件版本号对应的差分文件;利用压缩算法对所述差分文件进行压缩,得到所述软件版本号对应的压缩文件,以在向所述终端发送所述压缩文件后,使所述终端利用所述压缩文件对所述待升级软件进行升级。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种软件升级方法,其特征在于,应用于服务器,包括:
通过web界面上传升级文件以及对应的升级文件信息;其中,所述升级文件用于对终端中的待升级软件进行升级,所述升级文件信息包括升级版本号以及所述待升级软件对应的软件标识;
根据所述软件标识查找与所述待升级软件对应的至少一个软件版本号以及与查找到的每一个软件版本号对应的版本文件;
利用差分算法对所述升级文件以及所述软件版本号对应的版本文件进行计算,得到所述软件版本号对应的差分文件;
利用压缩算法对所述差分文件进行压缩,得到所述软件版本号对应的压缩文件,以在向所述终端发送所述压缩文件后,使所述终端利用所述压缩文件对所述待升级软件进行升级。
2.根据权利要求1所述的软件升级方法,其特征在于,在所述得到所述软件版本号对应的压缩文件之后,所述方法还包括:
接收所述终端发送的当前软件版本信息;
判断所述当前软件版本信息中的软件版本号是否小于所述升级版本号;
在所述当前软件版本信息中的软件版本号小于所述升级版本号时,查找与所述当前软件版本信息中的软件版本号对应的压缩文件;
向所述终端发送查找到的所述压缩文件。
3.一种软件升级方法,其特征在于,应用于终端,包括:
向服务器发送当前软件版本信息;其中,所述当前软件版本信息包括软件版本号;
接收所述服务器根据所述软件版本号返回的压缩文件;其中,所述压缩文件为利用压缩算法对差分文件进行压缩得到,所述差分文件为利用差分算法对升级文件以及所述软件版本号对应的版本文件计算得到;
将所述压缩文件进行解压,得到所述差分文件;
根据所述差分文件以及本地的当前文件,利用所述差分算法还原所述升级文件;
利用所述升级文件对待升级软件进行升级。
4.根据权利要求3所述的软件升级方法,其特征在于,在所述将所述压缩文件进行解压之前,所述方法还包括:
对所述压缩文件进行校验;
在所述压缩文件校验通过时,存储表征所述待升级软件待升级的升级标识,并重启所述待升级软件;
所述将所述压缩文件进行解压,包括:
在重启所述待升级软件后,根据所述升级标识将所述压缩文件进行解压。
5.根据权利要求4所述的软件升级方法,其特征在于,在所述利用所述升级文件对待升级软件进行升级之前,所述方法还包括:
对所述升级文件进行校验;
在所述升级文件校验通过时,删除所述升级标识。
6.一种软件升级装置,其特征在于,应用于服务器,包括:
前端web界面模块,用于通过web界面上传升级文件以及对应的升级文件信息;其中,所述升级文件用于对终端中的待升级软件进行升级,所述升级文件信息包括升级版本号以及所述待升级软件对应的软件标识;
第一查找模块,用于根据所述软件标识查找与所述待升级软件对应的至少一个软件版本号以及与查找到的每一个软件版本号对应的版本文件;
差分计算模块,用于利用差分算法对所述升级文件以及所述软件版本号对应的版本文件进行计算,得到所述软件版本号对应的差分文件;
压缩模块,用于利用压缩算法对所述差分文件进行压缩,得到所述软件版本号对应的压缩文件,以在向所述终端发送所述压缩文件后,使所述终端利用所述压缩文件对所述待升级软件进行升级。
7.根据权利要求6所述的软件升级装置,其特征在于,在所述装置还包括:
第二接收模块,用于接收所述终端发送的当前软件版本信息;
判断模块,用于判断所述当前软件版本信息中的软件版本号是否小于所述升级版本号;
第二查找模块,用于在所述当前软件版本信息中的软件版本号小于所述升级版本号时,查找与所述当前软件版本信息中的软件版本号对应的压缩文件;
第二发送模块,用于向所述终端发送查找到的所述压缩文件。
8.一种软件升级装置,其特征在于,应用于终端,包括:
第一发送模块,用于向服务器发送当前软件版本信息;其中,所述当前软件版本信息包括软件版本号;
第一接收模块,用于接收所述服务器根据所述软件版本号返回的压缩文件;其中,所述压缩文件为利用压缩算法对差分文件进行压缩得到,所述差分文件为利用差分算法对升级文件以及所述软件版本号对应的版本文件计算得到;
解压模块,用于将所述压缩文件进行解压,得到所述差分文件;
还原模块,用于根据所述差分文件以及本地的当前文件,利用所述差分算法还原所述升级文件;
升级模块,用于利用所述升级文件对待升级软件进行升级。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线;
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-7任一项所述的软件升级方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1-7任一项所述的软件升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011534021.3A CN112579140A (zh) | 2020-12-22 | 2020-12-22 | 一种软件升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011534021.3A CN112579140A (zh) | 2020-12-22 | 2020-12-22 | 一种软件升级方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112579140A true CN112579140A (zh) | 2021-03-30 |
Family
ID=75138969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011534021.3A Pending CN112579140A (zh) | 2020-12-22 | 2020-12-22 | 一种软件升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579140A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568641A (zh) * | 2021-08-02 | 2021-10-29 | 成都长城开发科技有限公司 | 无线升级系统 |
CN113721966A (zh) * | 2021-08-27 | 2021-11-30 | 杭州华橙软件技术有限公司 | 节点升级方法、装置、存储介质及电子装置 |
CN116048577A (zh) * | 2022-12-29 | 2023-05-02 | 哈尔滨工大卫星技术有限公司 | 一种分布式数字化卫星系统升级方法、装置及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169875A1 (en) * | 2008-12-31 | 2010-07-01 | Stewart Elliot M | System and Method for Downloading Software Upgrades |
CN103051723A (zh) * | 2012-12-27 | 2013-04-17 | 广州市动景计算机科技有限公司 | 一种增量升级方法及服务器、终端 |
CN103973475A (zh) * | 2013-02-05 | 2014-08-06 | 腾讯科技(深圳)有限公司 | 差异补丁包生成方法及下载方法、服务器、客户端 |
CN104123149A (zh) * | 2013-04-28 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 软件升级方法、装置、客户端及系统 |
CN104391728A (zh) * | 2014-12-12 | 2015-03-04 | 北京奇虎科技有限公司 | 软件升级差量包获取方法和相应的升级方法以及装置 |
CN104657170A (zh) * | 2013-11-25 | 2015-05-27 | 腾讯科技(上海)有限公司 | 一种数据更新方法、装置及系统 |
CN105138347A (zh) * | 2015-07-17 | 2015-12-09 | 广东欧珀移动通信有限公司 | 一种差分升级包生成方法、软件升级方法及相应装置 |
CN108279922A (zh) * | 2018-01-03 | 2018-07-13 | 深圳市泰比特科技有限公司 | 差分文件生成方法、基于该差分文件的升级方法及系统 |
CN111538523A (zh) * | 2020-04-20 | 2020-08-14 | Tcl海外电子(惠州)有限公司 | 差分升级方法、设备及存储介质 |
-
2020
- 2020-12-22 CN CN202011534021.3A patent/CN112579140A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169875A1 (en) * | 2008-12-31 | 2010-07-01 | Stewart Elliot M | System and Method for Downloading Software Upgrades |
CN103051723A (zh) * | 2012-12-27 | 2013-04-17 | 广州市动景计算机科技有限公司 | 一种增量升级方法及服务器、终端 |
CN103973475A (zh) * | 2013-02-05 | 2014-08-06 | 腾讯科技(深圳)有限公司 | 差异补丁包生成方法及下载方法、服务器、客户端 |
CN104123149A (zh) * | 2013-04-28 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 软件升级方法、装置、客户端及系统 |
CN104657170A (zh) * | 2013-11-25 | 2015-05-27 | 腾讯科技(上海)有限公司 | 一种数据更新方法、装置及系统 |
CN104391728A (zh) * | 2014-12-12 | 2015-03-04 | 北京奇虎科技有限公司 | 软件升级差量包获取方法和相应的升级方法以及装置 |
CN105138347A (zh) * | 2015-07-17 | 2015-12-09 | 广东欧珀移动通信有限公司 | 一种差分升级包生成方法、软件升级方法及相应装置 |
CN108279922A (zh) * | 2018-01-03 | 2018-07-13 | 深圳市泰比特科技有限公司 | 差分文件生成方法、基于该差分文件的升级方法及系统 |
CN111538523A (zh) * | 2020-04-20 | 2020-08-14 | Tcl海外电子(惠州)有限公司 | 差分升级方法、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
洪小达: "《多媒体计算机与数据压缩技术》", vol. 1, 中国国际广播出版社, pages: 119 - 120 * |
狂奔之林: "bsdiff差分算法", pages 1 - 5 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568641A (zh) * | 2021-08-02 | 2021-10-29 | 成都长城开发科技有限公司 | 无线升级系统 |
CN113568641B (zh) * | 2021-08-02 | 2024-02-23 | 成都长城开发科技股份有限公司 | 无线升级系统 |
CN113721966A (zh) * | 2021-08-27 | 2021-11-30 | 杭州华橙软件技术有限公司 | 节点升级方法、装置、存储介质及电子装置 |
CN113721966B (zh) * | 2021-08-27 | 2024-03-29 | 杭州华橙软件技术有限公司 | 节点升级方法、装置、存储介质及电子装置 |
CN116048577A (zh) * | 2022-12-29 | 2023-05-02 | 哈尔滨工大卫星技术有限公司 | 一种分布式数字化卫星系统升级方法、装置及介质 |
CN116048577B (zh) * | 2022-12-29 | 2024-05-17 | 哈尔滨工大卫星技术有限公司 | 一种分布式数字化卫星系统升级方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112579140A (zh) | 一种软件升级方法及装置 | |
US8719810B2 (en) | Program upgrade system and method for over the air-capable mobile terminal | |
CN112765271A (zh) | 区块链交易索引的存储方法、装置、计算机设备及介质 | |
CN108388599B (zh) | 电子装置、数据迁移及调用方法及存储介质 | |
CN105389177A (zh) | 一种软件版本确认方法、装置及系统 | |
CN109814524B (zh) | 一种车辆诊断方法、装置及系统 | |
CN110618830B (zh) | 一种基于nbiot网络的远程升级方法和系统 | |
CN105335181A (zh) | 一种实现ota升级的方法和终端 | |
CN101694623A (zh) | 一种更新手持设备软件的方法 | |
CN111782660A (zh) | 基于键值存储的数据压缩的方法和系统 | |
CN108092667B (zh) | 压缩时序数据以及查询时序数据的方法、装置 | |
CN112181471A (zh) | 差分升级方法及装置、存储介质、计算机设备 | |
CN104881454A (zh) | 参数的更新方法及系统 | |
CN115712447A (zh) | 一种智能电表实现增量式升级的方法及系统 | |
CN109462661B (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN112286565B (zh) | 一种基于存储容器的嵌入式系统差分升级方法 | |
CN112765270A (zh) | 区块链数据处理方法、装置、计算机设备及介质 | |
WO2021097624A1 (zh) | 一种文件处理方法、文件处理装置及终端设备 | |
CN116450184A (zh) | 一种系统升级方法、装置、电子设备及存储介质 | |
CN115883359A (zh) | 升级安装方法及其装置、系统、电子设备及存储介质 | |
CN115421745A (zh) | 设备远程升级方法、装置、终端及存储介质 | |
CN110825706A (zh) | 一种数据压缩的方法和相关设备 | |
CN108011952B (zh) | 一种获取压缩字典的方法和装置 | |
WO2021097623A1 (zh) | 一种文件处理方法、文件处理装置及终端设备 | |
CN111538651A (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 |