CN112463177A - 一种软件的更新包的生成方法 - Google Patents
一种软件的更新包的生成方法 Download PDFInfo
- Publication number
- CN112463177A CN112463177A CN202011447046.XA CN202011447046A CN112463177A CN 112463177 A CN112463177 A CN 112463177A CN 202011447046 A CN202011447046 A CN 202011447046A CN 112463177 A CN112463177 A CN 112463177A
- Authority
- CN
- China
- Prior art keywords
- sub
- installation
- installation package
- package
- software
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000009434 installation Methods 0.000 claims abstract description 292
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/61—Installation
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种软件的更新包的生成方法,软件的任意一个安装包中包括多个子安装包,每个子安装包中包括多个安装文件,该方法包括,获取第一特征信息与第二特征信息,在第一特征信息与第二特征信息不同的情况下,根据第一子安装包,生成软件的更新包。本申请实施例提供的方法,一个子安装包对应一个特征信息,根据特征信息对比第一子安装包与第二子安装包,大大减少了对比两个版本之间的安装文件的时间,从而减少服务器的资源消耗,提升软件更新包的生成效率。
Description
技术领域
本申请属于计算机技术领域,尤其涉及一种软件的更新包的生成方法。
背景技术
目前,可以通过增量升级的方法对软件的版本进行更新。其中,增量升级是:将软件的新版本安装包与旧版本安装包做差分,确定更新的文件,将更新的文件打包,生成增量升级包。在做差分时,新版本安装包中的文件需要逐个与旧版本安装包中的文件进行比对。随着软件版本的更新,安装包中的文件越来越多,这种差分方式的速度较慢,需要消耗较多的服务器资源。
发明内容
本申请实施例提供了一种软件的更新包的生成方法,能够减少服务器的资源消耗,提升软件更新包的生成效率。
第一方面,本申请实施例提供了一种软件的更新包的生成方法,所述软件的任意一个安装包中包括多个子安装包,每个子安装包中包括多个安装文件,所述方法包括:
获取第一特征信息与第二特征信息,所述第一特征信息与第一子安装包对应,所述第二特征信息与第二子安装包对应,所述第一子安装包为所述软件升级后的版本对应的安装包中的一个子安装包,所述第二子安装包为所述软件升级前的版本对应的安装包中与所述第一子安装包对应的子安装包;
在所述第一特征信息与所述第二特征信息不同的情况下,根据所述第一子安装包,生成所述软件的更新包。
特别的,所述获取第一特征信息与第二特征信息,包括:
获取第一标识与第二标识,所述第一标识用于指示所述第一子安装包,所述第二标识用于指示所述第二子安装包,所述第一标识与所述第二标识相同;
将与所述第一标识相对应的特征信息确定为所述第一特征信息,且将与所述第二标识相对应的特征信息确定为所述第二特征信息。
特别的,所述根据所述第一子安装包,生成所述软件的更新包,包括:
将所述第一子安装包中不同于所述第二子安装包的安装文件打包,生成所述软件的更新包。
特别的,所述第一特征信息是根据所述第一子安装包中的多个安装文件对应的多个版本信息确定的。
特别的,所述第二特征信息是根据所述第二子安装包中的多个安装文件对应的多个版本信息确定的。
特别的,当所述第一子安装包中的第一安装文件与所述第二子安装包中的第二安装文件相同时,所述第一特征信息是根据第一序列生成的,所述第二特征信息是根据第二序列生成的,所述第一序列与所述第二序列相同,所述第一序列与所述第一子安装包中的多个安装文件对应的多个版本信息对应,所述第二序列与所述第二子安装包中的多个安装文件对应的多个版本信息对应,所述第一安装文件是所述第一子安装包中的多个安装文件中的任意一个文件。
第二方面,本申请实施例还提供了一种软件的更新包的生成装置,所述软件的任意一个安装包中包括多个子安装包,每个子安装包中包括多个安装文件,所述装置包括:
处理单元,用于获取第一特征信息与第二特征信息,所述第一特征信息与第一子安装包对应,所述第二特征信息与第二子安装包对应,所述第一子安装包为所述软件升级后的版本对应的安装包中的一个子安装包,所述第二子安装包为所述软件升级前的版本对应的安装包中与所述第一子安装包对应的子安装包;在所述第一特征信息与所述第二特征信息不同的情况下,根据所述第一子安装包,生成所述软件的更新包。
第三方面,本申请实施例还提供了一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的软件的更新包的生成方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面所述的软件的更新包的生成方法。
第五方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,该计算机程序在被处理器执行时,实现如第一方面所述的软件的更新包的生成方法。
本申请实施例提供了一种软件的更新包的生成方法,将软件的安装包划分为多个子安装包,每个子安装包中包括多个安装文件。在生成软件的更新包时,在第一特征信息与第二特征信息不同的情况下,根据第一子安装包,生成软件的更新包。本申请实施例提供的方法,一个子安装包对应一个特征信息,根据特征信息对比第一子安装包与第二子安装包,大大减少了对比两个版本之间的安装文件的时间,从而减少服务器的资源消耗,提升软件更新包的生成效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种软件的更新包的生成方法100的流程图示意图;
图2是本申请实施例提供的一种软件的安装包的划分示意图;
图3是本申请实施例提供的一种软件升级的方法300的流程图示意图;
图4是本申请实施例提供的一种软件升级的方法400的流程图示意图;
图5是本申请实施例提供的装置500的结构示意图;
图6是本申请实施例提供的设备600的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
通常情况下,一个大型的发布版本的软件在安装到终端设备中之后会有很多文件,比如一个操作***中包含的各类文件有上百个。在软件的版本更新时,一般不需要对软件安装包中的所有文件进行修改,只需要对软件安装包中的某一部分文件进行更新。
图1是本申请实施例提供的一种软件的更新包的生成方法100的示意性流程图。该方法100至少包括以下步骤:
S101,获取第一特征信息与第二特征信息,第一特征信息与第一子安装包对应,第二特征信息与第二子安装包对应,第一子安装包为软件升级后的版本对应的安装包中的一个子安装包,第二子安装包为软件升级前的版本对应的安装包中与第一子安装包对应的子安装包;
S102,在第一特征信息与第二特征信息不同的情况下,根据第一子安装包,生成软件的更新包。
本申请实施例中,一个软件可以有多个版本,一个版本对应的一个安装包。在制作软件的一个安装包的时候,如图2所示,按照一定的规则将待打包至安装包中的所有安装文件进行归类,将软件的整体安装包划分成part1、part2、……、partn等n个子安装包。每个子安装包中包括多个安装文件。子安装包划分的规则可以是依据模块的功能划分、或者依据安装文件的类型划分、或者依据安装文件的来源划分等等。比如,按照模块的功能进行划分,一个软件安装包中的所有安装文件可以划分为Kernel、Ramdisk、Base和Spos四部分。其中,Kernel包含***内核文件,Ramdisk包含根文件***,Base包含***基础库文件,Spos包含安全处理器***文件。在子安装包划分之后,生成子安装包的特征信息。一个子安装包对应一个特征信息。
本申请实施例中,软件升级后的版本对应的安装包记为第一软件安装包,软件升级前的版本对应的安装包记为第二软件安装包。第一软件安装包中包括n个子安装包,记为part1、part2、……、partn。第二软件安装包中包括n个子安装包,记为part1′、part2′、……、partn′。partn与partn′对应。可以通过划分规则、映射表、标识等多种方式确定partn与partn′的对应关系。
在生成软件的更新包时,从第一软件安装包中获取第一特征信息,并且从第二软件安装包中获取第二特征信息。第一特征信息与第一子安装包对应,第二特征信息与第二子安装包对应。第一子安装包为第一软件安装包中包括的n个子安装包中的一个,比如part1。第二子安装包为第二软件安装包中与第一子安装包对应的子安装包,比如part1′。
判断第一特征信息与第二特征信息是否相同。若第一特征信息与第二特征信息不相同,则第二子安装包需要更新。若第一特征信息与第二特征信息相同,则第二子安装包不需要更新。在第一特征信息与第二特征信息不同的情况下,根据第一子安装包,生成软件的更新包。
本申请实施例提供的方法,一个子安装包对应一个特征信息,根据特征信息对比第一子安装包与第二子安装包,大大减少了对比两个版本之间的安装文件的时间,从而减少服务器的资源消耗,提升软件的更新包的生成效率。
进一步的,每个子安装包均具有标识,且partn与partn′的标识相同。标识可以是文件名或者序号等。软件的安装包中包括子安装包的标识与特征信息之间的对应关系。在生成软件的更新包时,根据各子安装包的标识获取各子安装包对应的特征信息。
本申请实施例中,从第一软件安装包中获取第一标识,第一标识用于指示第一子安装包。将第一标识对应的特征信息确定为第一特征信息,第一特征信息与第一子安装包对应。从第二软件安装包中获取与第一标识相同的标识,即第二标识。第二标识用于指示第二子安装包。将与第二标识对应的特征信息确定为第二特征信息,第二特征信息与第二子安装包对应。然后在第一特征信息与第二特征信息不同的情况下,根据第一子安装包,生成软件的更新包。
在一种实现方式中,确定出第一软件安装包中用于更新的其他子安装包。直接将第一子安装包与其他子安装包打包,生成软件的更新包。
在另一种实现方式中,假设只有第一子安装包用于更新,将第一子安装包中的安装文件逐个与第二子安装包中的安装文件进行对比,将第一子安装包中不同于第二子安装包的安装文件打包,生成软件的更新包。
本申请实施例提供的方法,在第一特征信息与第二特征信息不同的情况下,进一步确定第一子安装包中不同于第二子安装包的安装文件。在提升软件更新包的生成效率的同时,能够减少更新包的数据量,减少网络传输数据的消耗。
特别的,第一特征信息是根据第一子安装包中的多个安装文件对应的多个版本信息确定的。第二特征信息是根据第二子安装包中的多个安装文件对应的多个版本信息确定的。
本申请实施例中,针对每一个子安装包,生成一个版本信息描述文件。版本信息描述文件中记录了子安装包中的多个安装文件对应的多个版本信息。一个安装文件对应一个版本信息。安装文件的版本信息包括文件名、版本号、版本状态等。根据版本信息描述文件的内容,计算版本信息描述文件的哈希值,将哈希值作为子安装包的特征信息。将各子安装包的特征信息记录到特征信息描述文件中。在软件发布时,软件安装包中包括了各子安装包以及特征信息描述文件。
一般来讲,整体安装包内部划分的子安装包越多,能越精准的确定需要更新的子安装包,在升级时消耗的网络传输数据越少。但划分的子安装包太多时,软件维护的工作量会增加。因此在实际划分时需要根据实际情况对子安装包的数量进行取舍,确定一个合适的平衡点。
示例性的,以n=4为例进行说明,在软件的一个新版本发布之前,将待打包的所有安装文件依次标记为f1、f2、f3、f4、……、fm。将所有安装文件划分为part1、part2、part3、part4四部分。其中,f1至f30划分至part1,f31至f50划分至part2,f51至f80划分至part3,f81至fm划分至part4。并且分别给part1、part2、part3、part4设置一个标识。
将f1-f30的多个版本信息记录到part1的版本信息描述文件part1-cnt中;将f31-f50的多个版本信息记录到part2的版本信息描述文件part2-cnt中;将f51-f80的多个版本信息记录到part3的版本信息描述文件part3-cnt中;将f81-fm的多个版本信息记录到part4的版本信息描述文件part4-cnt中。
根据版本信息描述文件part1-cnt的内容,计算part1-cnt的哈希值hash1。同理,计算part2-cnt的哈希值hash2、part3-cnt的哈希值hash3、以及part4-cnt的哈希值hash4。分别将hash1、hash2、hash3、hash4作为part1、part2、part3、part4的特征信息。
在一些软件代码中会引入与编译时间相关的信息。即使软件代码完全相同,在不同时间编译出来的安装文件的哈希值也是不同的。如果直接根据子安装包的内容计算子安装包的哈希值,将此哈希值作为特征信息,会出现错误判断的问题。即第一子安装包的特征信息与第二子安装包的特征信息不相同,被判定为第二子安装包需要更新。但实际上,第一子安装包与第二子安装包的代码相同而编译时间不同,二者在功能上并没有更新。本申请实施例提供的方法,可以确保两个子安装包内部的安装文件实现的功能一致时,生成的特征信息是相同的。
在软件的一个新版本发布时,软件编译打包服务器分别编译待发布的各子安装包part1、part2、part3、part4,并将各子安装包对应的标识以及特征信息记录到特征信息描述文件中;软件编译打包服务器将编译产生的各子模块和特征信息描述文件整合打包,生成软件的一个待发布的新版本的安装包;待发布的新版本通过测试后,发布新版本,将新版本推送给客户;客户根据需要将软件的新版本部署到版本升级服务器,终端设备通过版本升级服务器进行软件的更新。
编译***在编译时编译各模块的顺序并不是固定不变的。在将多个版本信息记录到版本信息描述文件之后,按照一定的规则对各版本信息描述文件中的内容排序,避免因统计顺序不同引入的不确定因素。比如一条版本信息在版本信息描述文件中占用一行,则按照每行的首字母对各版本信息描述文件中的内容排序。
排序之后,第一子安装包中的多个安装文件对应的多个版本信息对应第一序列,第二子安装包中的多个安装文件对应的多个版本信息对应第二序列。第一序列与第二序列相同,即第一子安装包中的第一安装文件与第二子安装包中的第二安装文件相同,且第一安装文件的排列顺序与第二子安装包的排列顺序相同。第一安装文件的功能代码与第二安装文件的功能代码相同时,第一安装文件与第二安装文件相同,第一安装文件是第一子安装包中的多个安装文件中的任意一个文件。
根据第一序列生成第一特征信息,根据第二序列生成第二特征信息。本申请实施例提供的方法,可以确保两个子安装包内部的安装文件实现的功能一致时,生成的特征信息是相同的。
在生成软件更新包时,解析特征信息描述文件,从特征信息描述文件中获取子安装包的标识与特征信息。解析第一软件安装包中的特征信息描述文件,从特征信息描述文件中获取第一标识,进一步获取第一特征信息。解析第二软件安装包中的特征信息描述文件,将与第一标识相同的标识确定为第二标识,进一步获取第二特征信息。或者解析第一软件安装包中的特征信息描述文件,从特征信息描述文件中获取第一特征信息。解析第二软件安装包中的特征信息描述文件,从特征信息描述文件中获取第二特征信息。
判断第一特征信息与第二特征信息是否相同。若第一特征信息与第二特征信息不相同,则第二子安装包需要更新。若第一特征信息与第二特征信息相同,则第二子安装包不需要更新。在第一特征信息与第二特征信息不同的情况下,根据第一子安装包,生成软件的更新包。
基于图1所示实施例,本申请实施例提供一种软件升级的方法300,如图3所示,该方法300至少包括以下步骤:
S301,终端设备向版本升级服务器发送软件的标识、当前版本信息;
S302,版本升级服务器根据软件的标识确定软件的最新版本对应的安装包,并根据当前版本信息确定软件的当前版本对应的安装包;
S303,版本升级服务器根据最新版本对应的安装包、当前版本对应的安装包,获取第一特征信息与第二特征信息,第一特征信息与第一子安装包对应,第二特征信息与第二子安装包对应,第一子安装包为最新版本对应的安装包中的一个子安装包,第二子安装包为当前版本对应的安装包中与第一子安装包对应的子安装包;
S304,版本升级服务器在第一特征信息与第二特征信息不同的情况下,根据第一子安装包,生成软件的更新包;
S305,版本升级服务器将软件的更新包发送给终端设备;
S306,终端设备根据更新包对软件进行升级;
S307,终端设备向版本升级服务器发送更新完成信息。
本申请实施例中,版本升级服务器实时等待终端设备接入。当软件需要进行升级时,终端设备接入版本升级服务器。当终端设备与版本升级服务器成功连接时,终端设备向版本升级服务器上报软件的标识、当前版本信息V1。版本升级服务器默认软件升级至最新版本。版本升级服务器根据软件的标识查询适用于终端设备的最新版本信息Vn。当前版本为软件升级前的版本。最新版本为软件升级后的版本。
版本升级服务器向终端设备发送最新版本信息Vn,终端设备确认是否进行更新,当终端设备确认进行更新时,向版本升级服务器发送更新确认信息。版本升级服务器根据当前版本信息V1确定软件的当前版本对应的安装包,并根据最新版本信息Vn确定软件的最新版本对应的安装包。版本升级服务器根据最新版本对应的安装包、当前版本对应的安装包,生成软件的更新包。
版本升级服务器将软件的更新包发送给终端设备。终端设备接收软件的更新包,并解析软件的更新包,根据更新包对软件进行升级。终端设备升级时直接升级需要升级的子安装包,对于不需要升级的子安装包不进行升级,减少升级过程中出错的概率。不需要将软件的更新包先与当前版本的安装包合并。
升级成功后,终端设备向版本升级服务器发送更新完成信息。版本服务器确认终端设备完成更新。终端设备与版本升级服务器中断连接。终端设备结束更新流程。版本升级服务器等待下一次终端设备连接。
在生成软件的更新包时,版本升级服务器根据当前版本信息V1,获取V1对应的特征信息描述文件f-c1。根据最新版本信息Vn,获取Vn对应的特征信息描述文件f-cn。版本升级服务器解析特征信息描述文件中记录的信息,得到各子安装包的特征信息。
版本升级服务器取第一子安装包的特征信息(vn-part1-c1)和第二子安装包的特征信息(v1-part1-c1),比对v1-part1-c1和vn-part1-c1是否相同,确定从V1版本升级到Vn版本时是否需要对第二子安装包更新。如果v1-part1-c1和vn-part1-c1不相同,则需要对第二子安装包更新。如果v1-part1-c1和vn-part1-c1相同,则不需要对第二子安装包更新。采用同样的方案,依次确定从V1版本升级到Vn版本时,最新版本对应的安装包中用于升级的其他子安装包。
在确定用于升级的子安装包后,版本升级服务器将用于升级的子安装包打包,生成软件的更新包。软件的更新包中可能只有一个子安装包,也可能包括多个子安装包,也可能包括全部的子安装包。
方法300中其他未描述的细节,请参见前述方法100中的描述,为了简洁,在此不再赘述。
本申请实施例提供的方法,软件的更新包是在终端设备升级软件时由版本升级服务器动态生成的,因此可以避免增量升级只能在指定的版本间进行升级的问题。
在终端设备需要升级软件时,版本升级服务器会自动取新旧两个版本的安装包,生成从旧版本升级到新版本的更新包。因此,在发布软件的版本时,只需要发布完整的软件安装包,而不需要提供用于增量升级的更新包,能够简化版本发布的流程,避免在服务器上存储多个更新包带来的存储空间浪费。
本申请实施例还提供一种软件升级的方法400,如图4所示,该方法400至少包括以下步骤:
S401,终端设备向版本升级服务器发送软件的标识、当前版本信息;
S402,版本升级服务器根据软件的标识、当前版本信息,查询版本升级服务器上存在的可升级版本;
S403,向终端设备发送可升级版本的信息;
S404,终端设备向版本升级服务器发送确定的目标版本信息;
S405,版本升级服务器根据软件的目标版本信息确定软件的目标版本对应的安装包,并根据当前版本信息确定软件的当前版本对应的安装包;
S406,版本升级服务器根据目标版本对应的安装包、当前版本对应的安装包,获取第一特征信息与第二特征信息,第一特征信息与第一子安装包对应,第二特征信息与第二子安装包对应,第一子安装包为目标版本对应的安装包中的一个子安装包,第二子安装包为当前版本对应的安装包中与第一子安装包对应的子安装包;
S407,版本升级服务器在第一特征信息与第二特征信息不同的情况下,根据第一子安装包,生成软件的更新包;
S408,版本升级服务器将软件的更新包发送给终端设备;
S409,终端设备根据更新包对软件进行升级;
S410,终端设备向版本升级服务器发送更新完成信息。
本申请实施例中,终端设备向版本升级服务器上报软件的当前版本信息,查询版本升级服务器上存在的可以升级的版本。版本升级服务器上存在的可以升级的版本可能是一个、两个或者多个。版本升级服务器向终端设备发送可以升级的多个版本,终端设备选择一个版本作为目标版本,向版本升级服务器发送确定的目标版本信息。当前版本为软件升级前的版本。目标版本为软件升级后的版本。
版本升级服务器根据软件的当前版本信息和目标版本信息,生成软件的更新包。版本升级服务器将软件的更新包发送给终端设备。终端设备接收软件的更新包,并解析软件的更新包,根据更新包对软件进行升级。
方法400中其他未描述的细节,请参见前述方法100以及方法300中的描述,为了简洁,在此不再赘述。
由于一些终端设备使用时间较长,可能存储容量不足或者处理能力不足。如果将软件的版本升级到最新版本,可能导致终端设备与软件不兼容、或者引起终端设备卡顿。本申请实施例中,由终端设备选择一个版本作为目标版本,能够更好的满足终端设备的升级需求。
上文结合图1至图4详细介绍了本申请实施例提供的方法,下文结合图5至图6详细地描述本申请实施例所提供的装置与设备。
图5为本申请实施例提供的装置500的示意性框图,包括接收单元501、处理单元502与发送单元503。
接收单元501,用于接收终端设备发送的信息。
发送单元503,用于向终端设备发送信息。
处理单元502,用于获取第一特征信息与第二特征信息,第一特征信息与第一子安装包对应,第二特征信息与第二子安装包对应,第一子安装包为软件升级后的版本对应的安装包中的一个子安装包,第二子安装包为软件升级前的版本对应的安装包中与第一子安装包对应的子安装包;在第一特征信息与第二特征信息不同的情况下,根据第一子安装包,生成软件的更新包。
处理单元502,还用于获取第一标识与第二标识,第一标识用于指示第一子安装包,第二标识用于指示第二子安装包,第一标识与第二标识相同;将与第一标识相对应的特征信息确定为第一特征信息,且将与第二标识相对应的特征信息确定为第二特征信息。
处理单元502,还用于将第一子安装包中不同于第二子安装包的安装文件打包,生成软件的更新包。
应理解的是,本申请实施例的装置500可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图1所示的软件的更新包的生成方法,当通过软件实现图1所示的软件的更新包的生成方法时,装置500及其各个模块也可以为软件模块。
图6为本申请实施例提供的一种设备600的结构示意图。如图6所示,该设备600包括处理器601、存储器602、通信接口603和总线604。其中,处理器601、存储器602、通信接口603通过总线604进行通信,也可以通过无线传输等其他手段实现通信。该存储器602用于存储指令,该处理器601用于执行该存储器602存储的指令。该存储器602存储程序代码6021,且处理器601可以调用存储器602中存储的程序代码6021执行图1所示的软件的更新包的生成方法,或者图3所示的软件升级的方法,或者图4所示的软件升级的方法。
应理解,在本申请实施例中,处理器601可以是CPU,处理器601还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
该存储器602可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器602还可以包括非易失性随机存取存储器。该存储器602可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datadate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。
该总线604除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图6中将各种总线都标为总线604。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (8)
1.一种软件的更新包的生成方法,其特征在于,所述软件的任意一个安装包中包括多个子安装包,每个子安装包中包括多个安装文件,所述方法包括:
获取第一特征信息与第二特征信息,所述第一特征信息与第一子安装包对应,所述第二特征信息与第二子安装包对应,所述第一子安装包为所述软件升级后的版本对应的安装包中的一个子安装包,所述第二子安装包为所述软件升级前的版本对应的安装包中与所述第一子安装包对应的子安装包;
在所述第一特征信息与所述第二特征信息不同的情况下,根据所述第一子安装包,生成所述软件的更新包。
2.根据权利要求1所述的方法,其特征在于,所述获取第一特征信息与第二特征信息,包括:
获取第一标识与第二标识,所述第一标识用于指示所述第一子安装包,所述第二标识用于指示所述第二子安装包,所述第一标识与所述第二标识相同;
将与所述第一标识相对应的特征信息确定为所述第一特征信息,且将与所述第二标识相对应的特征信息确定为所述第二特征信息。
3.根据权利要求1或2所述方法,其特征在于,所述根据所述第一子安装包,生成所述软件的更新包,包括:
将所述第一子安装包中不同于所述第二子安装包的安装文件打包,生成所述软件的更新包。
4.根据权利要求2所述方法,其特征在于,所述第一特征信息是根据所述第一子安装包中的多个安装文件对应的多个版本信息确定的。
5.根据权利要求4所述方法,其特征在于,所述第二特征信息是根据所述第二子安装包中的多个安装文件对应的多个版本信息确定的。
6.根据权利要求5所述的方法,其特征在于,当所述第一子安装包中的第一安装文件与所述第二子安装包中的第二安装文件相同时,所述第一特征信息是根据第一序列生成的,所述第二特征信息是根据第二序列生成的,所述第一序列与所述第二序列相同,所述第一序列与所述第一子安装包中的多个安装文件对应的多个版本信息对应,所述第二序列与所述第二子安装包中的多个安装文件对应的多个版本信息对应,所述第一安装文件是所述第一子安装包中的多个安装文件中的任意一个文件。
7.一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的方法。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011447046.XA CN112463177A (zh) | 2020-12-11 | 2020-12-11 | 一种软件的更新包的生成方法 |
PCT/CN2021/124468 WO2022121505A1 (zh) | 2020-12-11 | 2021-10-18 | 一种软件的更新包的生成方法 |
US18/207,977 US20230418585A1 (en) | 2020-12-11 | 2023-06-09 | Method for generating update package of software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011447046.XA CN112463177A (zh) | 2020-12-11 | 2020-12-11 | 一种软件的更新包的生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112463177A true CN112463177A (zh) | 2021-03-09 |
Family
ID=74800172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011447046.XA Pending CN112463177A (zh) | 2020-12-11 | 2020-12-11 | 一种软件的更新包的生成方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230418585A1 (zh) |
CN (1) | CN112463177A (zh) |
WO (1) | WO2022121505A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022121505A1 (zh) * | 2020-12-11 | 2022-06-16 | 百富计算机技术(深圳)有限公司 | 一种软件的更新包的生成方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240111513A1 (en) * | 2022-10-04 | 2024-04-04 | Sophos Limited | Pausing automatic software updates of virtual machines |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699408A (zh) * | 2013-12-12 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种软件升级的方法和设备 |
US20150100955A1 (en) * | 2012-06-13 | 2015-04-09 | Tencent Technology (Shenzhen) Company Limited | Method and System for Updating Software |
CN109491694A (zh) * | 2019-01-04 | 2019-03-19 | 中国银行股份有限公司 | 应用更新方法和装置、数据推送方法和装置 |
CN110032383A (zh) * | 2019-04-08 | 2019-07-19 | 网易(杭州)网络有限公司 | 软件更新方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463177A (zh) * | 2020-12-11 | 2021-03-09 | 百富计算机技术(深圳)有限公司 | 一种软件的更新包的生成方法 |
-
2020
- 2020-12-11 CN CN202011447046.XA patent/CN112463177A/zh active Pending
-
2021
- 2021-10-18 WO PCT/CN2021/124468 patent/WO2022121505A1/zh active Application Filing
-
2023
- 2023-06-09 US US18/207,977 patent/US20230418585A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150100955A1 (en) * | 2012-06-13 | 2015-04-09 | Tencent Technology (Shenzhen) Company Limited | Method and System for Updating Software |
CN103699408A (zh) * | 2013-12-12 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种软件升级的方法和设备 |
CN109491694A (zh) * | 2019-01-04 | 2019-03-19 | 中国银行股份有限公司 | 应用更新方法和装置、数据推送方法和装置 |
CN110032383A (zh) * | 2019-04-08 | 2019-07-19 | 网易(杭州)网络有限公司 | 软件更新方法、装置及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022121505A1 (zh) * | 2020-12-11 | 2022-06-16 | 百富计算机技术(深圳)有限公司 | 一种软件的更新包的生成方法 |
Also Published As
Publication number | Publication date |
---|---|
US20230418585A1 (en) | 2023-12-28 |
WO2022121505A1 (zh) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230418585A1 (en) | Method for generating update package of software | |
US20050165760A1 (en) | Auto version managing system and method for use in software | |
CN110597531B (zh) | 分布式的模块升级方法、装置及存储介质 | |
CN109032631B (zh) | 应用程序补丁包获取方法、装置、计算机设备及存储介质 | |
JP2022100301A (ja) | ソフトウェア・アップグレードがコンピューティング・デバイスに与える潜在的な影響を判定するための方法、コンピュータ・プログラム、および更新推奨コンピュータ・サーバ(ソフトウェア・アップグレードの安定性の推奨) | |
US20210026756A1 (en) | Deriving software application dependency trees for white-box testing | |
US20230384750A1 (en) | Efficient controller data generation and extraction | |
CN111679852A (zh) | 一种冲突依赖库的检测方法及装置 | |
US20160378553A1 (en) | Resource Management Method and Device for Terminal System | |
CN111712795A (zh) | 用于评估应用部署的方法、设备、计算机程序产品和可读介质 | |
CN112748949A (zh) | 一种操作***的软件包管理方法、装置、设备及存储介质 | |
CN112947956B (zh) | 一种应用软件升级方法 | |
CN115794384A (zh) | 代码编译任务分配方法、装置、设备及存储介质 | |
CN114330278A (zh) | 一种判断返回数据一致性的方法及设备 | |
CN113721940A (zh) | 一种软件部署方法、装置、电子设备及存储介质 | |
CN111124459B (zh) | 一种fpga云服务器服务逻辑的更新方法及装置 | |
CN112099860B (zh) | 驱动文件的自动重构分组方法、装置、计算机设备及存储介质 | |
CN115390916A (zh) | 一种软件程序处理方法、装置及电子设备 | |
CN115617489B (zh) | 操作***迁移方法、迁移应用及迁移应用部署方法 | |
CN112732332B (zh) | 适用于koji管理***的软件包管理方法、装置及电子设备 | |
CN116661905B (zh) | 一种基于动态库加载实现设备自动适配方法以及*** | |
US20230259345A1 (en) | Declarative deployment of a software artifact | |
CN118426816A (zh) | 设备固件升级方法、电子设备、存储介质及程序产品 | |
CN118409785A (zh) | 一种应用兼容性评估方法及计算设备 | |
CN116257275A (zh) | Bmc升级方法、装置、电子设备及存储介质 |
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 |