CN111736895A - 软件产品版本号合并及升级方法、设备及存储介质 - Google Patents
软件产品版本号合并及升级方法、设备及存储介质 Download PDFInfo
- Publication number
- CN111736895A CN111736895A CN202010792769.7A CN202010792769A CN111736895A CN 111736895 A CN111736895 A CN 111736895A CN 202010792769 A CN202010792769 A CN 202010792769A CN 111736895 A CN111736895 A CN 111736895A
- Authority
- CN
- China
- Prior art keywords
- software product
- version number
- accumulated
- upgraded
- target
- 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
- 238000012795 verification Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 21
- 238000007596 consolidation process Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012356 Product development Methods 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000002715 modification method Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 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/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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
技术领域
本申请涉及数据处理技术领域,尤其涉及一种软件产品版本号合并及升级方法、设备及存储介质。
背景技术
版本号是版本的标识号,几乎每一个软件产品(包括操作系统与应用软件)都有一个版本号,用以区分该产品的不同版本所提供的功能差异。版本号代表着对应的功能,性能等技术特征,甚至对应软件的法律状况,以及鉴别和区分不同产品的参数。软件管理者对软件产品的版本号的变更有他们自己定义的规范,每个组成部分的代表的含义,何时对其中的部分变更以及变更为何值,软件管理者可自行定义。例如编译版本号,有些管理者设定为软件的编译时刻,有些设定为软件或产品编译、构建的次数。
目前几乎所有软件产品的版本号,都能标记与反应产品的升级变更。但是,对于迭代频率较高,且并行开发的产品变更方式下,无法从版本号来辨别出两个产品的包含关系。例如,基于A版本发行了B版本与C版本,B版本与C版本是功能独立的两个版本,在后续的产品研发可能基于B版本,也可能基于C版本发行了众多新版本产品,假如此时运行的项目为D版本,要升级到最新X版本,如果不知道D版本与X版本的包含关系,则无法安全地对产品做升级。
发明内容
本申请的多个方面提供一种软件产品版本号合并及升级方法、设备及存储介质,用以快速地验证软件产品之间的包含关系,以对软件产品安全升级。
本申请实施例提供一种软件产品版本号合并方法,包括:
获取第一软件产品的内部版本号中和第二软件产品的内部版本号;
将第一软件产品和第二软件产品进行合并,得到合并后的目标软件产品;以及
根据第一软件产品的内部版本号和所述第二软件产品的内部版本号,生成目标软件产品的内部版本号;
其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;所述积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
本申请实施例还提供一种软件产品版本号升级方法,包括:
获取目标软件产品的积累版本号和待升级软件产品的基础版本号或积累版本号;
根据目标软件产品的积累版本号和待升级软件产品的基础版本号、或目标软件产品的积累版本号和待升级软件产品的积累版本号,生成目标软件产品是否包含待升级软件产品的验证结果;
根据所述验证结果,将待升级软件产品升级至目标软件产品。
本申请实施例还提供一种软件产品合并设备,包括:存储器和处理器;
所述存储器,用于存储一条或多条计算机指令;
所述处理器,用于执行所述一条或多条计算机指令以用于:
获取第一软件产品的内部版本号中和第二软件产品的内部版本号;
将第一软件产品和第二软件产品进行合并,得到合并后的目标软件产品;以及
根据第一软件产品的内部版本号和所述第二软件产品的内部版本号,生成目标软件产品的内部版本号;
其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;所述积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
获取第一软件产品的内部版本号中和第二软件产品的内部版本号;
将第一软件产品和第二软件产品进行合并,得到合并后的目标软件产品;以及
根据第一软件产品的内部版本号和所述第二软件产品的内部版本号,生成目标软件产品的内部版本号;
其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;所述积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
本申请实施例还提供一种软件产品升级设备,包括:存储器和处理器;
所述存储器,用于存储一条或多条计算机指令;
所述处理器,用于执行所述一条或多条计算机指令以用于:
获取目标软件产品的内部版本号的积累版本号和待升级软件产品的内部版本号的基础版本号或积累版本号;
根据目标软件产品的积累版本号和待升级软件产品的基础版本号、或目标软件产品的积累版本号和待升级软件产品的积累版本号,生成目标软件产品是否包含待升级软件产品的验证结果;
根据所述验证结果,将待升级软件产品升级至目标软件产品;
其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;所述积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
获取目标软件产品的内部版本号的积累版本号和待升级软件产品的内部版本号的基础版本号或积累版本号;
根据目标软件产品的积累版本号和待升级软件产品的基础版本号、或目标软件产品的积累版本号和待升级软件产品的积累版本号,生成目标软件产品是否包含待升级软件产品的验证结果;
根据所述验证结果,将待升级软件产品升级至目标软件产品;
其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;所述积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
在本申请的一些实施例中,通过对软件产品自定义内部版本号,该内部版本号包括基础版本号和积累版本号,积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态;根据目标软件产品的积累版本号和待升级软件产品的基础版本号、或目标软件产品的积累版本号和待升级软件产品的积累版本号,可以快速验证目标软件产品是否包含待升级软件产品,以供后续对待升级软件产品进行安全升级,提高软件产品之间包含关系验证效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请示例性实施例提供的一种软件产品版本号合并方法的流程示意图;
图2为本申请示例性实施例提供的另一种软件产品版本号合并方法的流程示意图;
图3为本申请示例性实施例提供的一种软件产品版本号升级方法的流程示意图;
图4为本申请示例性实施例提供的一种软件产品合并设备的结构示意图;
图5为本申请示例性实施例提供的一种软件软件产品升级设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
几乎所有软件产品的版本号,都能标记与反应产品的升级变更。但是,对于迭代频率较高,且并行开发的产品变更方式下,无法从版本号来辨别出两个产品的包含关系。例如,基于A版本发行了B版本与C版本,B版本与C版本是功能独立的两个版本,在后续的产品研发可能基于B版本,也可能基于C版本发行了众多新版本产品,假如此时运行的项目为D版本,要升级到最新X版本,如果不知道D版本与X版本的包含关系,则无法安全地对产品做升级。
针对上述无法验证软件产品之间的包含关系,无法安全对产品做升级的技术问题,在本申请的一些实施例中,通过对软件产品自定义内部版本号,该内部版本号包括基础版本号和积累版本号,积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态;根据目标软件产品的积累版本号和待升级软件产品的基础版本号、或目标软件产品的积累版本号和待升级软件产品的积累版本号,可以快速验证目标软件产品是否包含待升级软件产品,以供后续对待升级软件产品进行安全升级,提高软件产品之间包含关系验证效率。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请示例性实施例提供的一种软件产品版本号合并方法的流程示意图,如图1所示,该方法包括:
S101:获取第一软件产品的内部版本号中和第二软件产品的内部版本号;
S102:将第一软件产品和第二软件产品进行合并,得到合并后的目标软件产品;
S103:根据第一软件产品的内部版本号和第二软件产品的内部版本号,生成目标软件产品的内部版本号。
在本实施例中,上述软件产品版本号合并方法的执行主体,用于在两个软件产品进行合并时,生成目标软件产品的内部版本号。在本实施例中,并不限定服务器的实现形态,上述软件产品版本号合并方法的执行主体可以为服务器或者其他类型的计算机设备。当执行主体为服务器时,服务器可以是常规服务器、云服务器、云主机、虚拟中心等服务器设备。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类型。服务器可以包含一台网站服务器,也可以包含多台网站服务器。
目前,每个软件产品都设有外部版本号,用来表示产品的特征。在本实施例中,对每个软件产品单独设置内部版本号,内部版本号不对外展示,用于在不需要外部数据库的维护前提下,通过内部版本号来达到快速验证产品之间的包含关系。
其中,内部版本号有两个部分组成:基础版本号和积累版本号。其中基础版本号为从1开始的自然数开始递增,每个产品有唯一的id(基础版本号)。积累版本号为十六进制字符串,存储着所有早于该产品的包含状态(包含自身)。例如,内部版本号:1,2,3,…,100,101,102,103,…;每一个产品有唯一的内部版本号,和对应的积累版本号。积累版本号的存储规则:以二进制的比特位bit为单位存储每个产品的包含状态,0表示不包含,1表示包含。
在本实施例中,获取第一软件产品的内部版本号中和第二软件产品的内部版本号,将第一软件产品和第二软件产品进行合并,得到合并后的目标软件产品,并得到合并后的目标软件产品的内部版本号。其中,分别对第一软件产品和第二软件产品的积累版本号和基础版本号进行合并,生成合并后的目标软件产品的内部版本号。
在上述实施例中,对第一软件产品和第二软件产品的基础版本号进行合并,得到目标软件产品的基础版本号。例如,第一软件产品的基础版本号为1,第二软件产品的基础版本号为2;则合并后的目标软件产品的基础版本号为1,2。
在上述实施例中,根据第一软件产品的积累版本号和第二软件产品的内部版本号,生成目标软件产品的积累版本号,包括但不限于以下两种方式:
方式一:根据第一软件产品的积累版本号和第二软件产品的基础版本号,生成目标软件产品的积累版本号。
方式二:根据第一软件产品的积累版本号和第二软件产品的积累版本号,生成目标软件产品的积累版本号。
例如,合并了基础版本号为1,2,3,4,5,7,8,9,10的积累版本号为DF03。过程如下:
基础版本号1的积累版本号:01
基础版本号1,2的积累版本号:03
基础版本号1,2,3的积累版本号:07
基础版本号1,2,3,4的积累版本号:0F
基础版本号1,2,3,4,5的积累版本号:1F
基础版本号1,2,3,4,5,7的积累版本号:5F
基础版本号1,2,3,4,5,7,8的积累版本号:DF
基础版本号1,2,3,4,5,7,8,9的积累版本号:DF01
基础版本号1,2,3,4,5,7,8,9,10的积累版本号:DF03。
在本实施例中,在获取到目标软件产品的内部版本号后,根据目标软件产品的内部版本号,存储目标软件产品的内部版本号。一种可实现的方式为,根据目标软件产品的基础版本号或者内部版本号,得到目标软件产品占据的内存地址的长度;根据目标软件产品占据的内存地址的长度,创建目标存储空间;将目标软件产品的内部版本号按照预设的存储规则存储至目标存储空间内。例如,找出要合并的产品的基础版本号的最大值,对于基础版本号N,它所在的位置L计算公式为:L = (N - 1) / 8+1 (/ 表示除以运算,结果取整数);对于积累版本号,由于积累版本号每个字节占据两个字符空间,它的最大值 M 等于 M= Len / 2,Len 是积累版本号字符个数。根据最大值Max创建长度为M的空间,将基础产品号直接拷贝到新创建内存的低地址处,遍历即将合并的基础版本号,计算每个基础版本号所在的字节位置,再计算此基础版本号在该字节中的比特bit位置,与新创建的内存空间的原有值做合并计算,得出新的值,作为最后的结果。
基于以上各实施例的描述,图2为本申请示例性实施例提供的另一种软件产品版本号合并方法的流程示意图,如图2所示,该方法包括:
S201:获取第一软件产品的内部版本号中和第二软件产品的内部版本号;
S202:将第一软件产品和第二软件产品进行合并,得到合并后的目标软件产品;
S203:根据第一软件产品的内部版本号和第二软件产品的内部版本号,生成目标软件产品的内部版本号;
S204:根据目标软件产品的内部版本号,存储目标软件产品的内部版本号。
本申请定义的软件产品的内部版本号都包含基础版本号和积累版本号。通过两个软件产品的内部版本号可验证两个软件产品之间的包含关系,以对软件产品进行安全地升级。
图3为本申请示例性实施例提供的一种软件产品版本号升级方法的流程示意图。如图3所示,该方法包括:
S301:获取目标软件产品的内部版本号的积累版本号和待升级软件产品的内部版本号的基础版本号或积累版本号;
S302:根据目标软件产品的积累版本号和待升级软件产品的基础版本号、或目标软件产品的积累版本号和待升级软件产品的积累版本号,生成目标软件产品是否包含待升级软件产品的验证结果;
S303:根据验证结果,将待升级软件产品升级至目标软件产品。
其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
在本实施例中,上述方法的执行主体,用于快速验证目标软件产品和待升级软件产品之间的包含关系。在本实施例中,并不限定服务器的实现形态,上述软件产品版本号合并方法的执行主体可以为服务器或者其他类型的计算机设备。当执行主体为服务器时,服务器可以是常规服务器、云服务器、云主机、虚拟中心等服务器设备。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类型。服务器可以包含一台网站服务器,也可以包含多台网站服务器。
在本实施例中,验证目标软件产品和待升级软件产品之间的包含关系,需要获取目标软件产品的积累版本号。根据目标软件产品的积累版本号和待升级软件产品的基础版本号、或目标软件产品的积累版本号和待升级软件产品的积累版本号,生成目标软件产品是否包含待升级软件产品的验证结果。
在上述实施例中,根据目标软件产品的积累版本号和待升级软件产品的基础版本号,生成目标软件产品是否包含待升级软件产品的验证结果。一种可实现的方式为,计算待升级软件产品的基础版本号所在的字节序号;判断待升级软件产品的基础版本号所在的字节序号是否大于目标软件产品的字节序号;若是,则目标软件产品不包含待升级软件产品;若否,根据待升级软件产品的基础版本号所在的字节的比特位,判断目标软件产品是否包含待升级软件产品。
可选地,根据待升级软件产品的基础版本号所在的字节的比特位,判断目标软件产品是否包含待升级软件产品。一种可实现的方式为,根据待升级软件产品的基础版本号所在的字节的比特位,查询目标软件产品的积累版本号相应位置存储的包含关系;根据目标软件产品的积累版本号相应位置存储的包含关系,判断目标软件产品是否包含待升级软件产品。
例如,目标软件产品的积累版本号:DFF77DDFF77DDFF77DDFF77D0F,验证待升级产品的基础版本号119,60,17是否包含在积累版本号为DFF77DDFF77DDFF77DDFF77D0F的目标软件产品中。
首先,计算待升级软件产品的基础版本号所在的字节序号。结合下表1.1:
表1.1
其中,1-8位于第1字节,9-16位于第2字节,基础版本号N 位于第M个字节,计算M的公式为:
M = (N - 1)/8 + 1,取整数。
目标软件产品的字节数为26/2 = 13;
根据公式,计算出待升级软件产品119,60, 17所在的字节序号分别为15,8,3。
接着,判断待升级软件产品的基础版本号所在的字节序号是否大于目标软件产品的字节序号,若是,则目标软件产品不包含待升级软件产品。
基础版本号119的待升级软件产品,基础版本号119的位置15已经大于目标软件产品的字节序号13,因此,基础版本号119的待升级软件产品不包含在目标软件产品中;继续验证基础版本号60的待升级软件产品和基础版本号17的待升级软件产品的基础版本号所在的字节的比特位。
获取基础版本号60和基础版本号17的具体的比特位位置,结合上表1.1,1-8位于第1字节,9-16位于第2字节,17-24位于第3字节。
[8 * x + 1, 8 * x + 8)],x为自然数,包括0,表示字节序号减1,即x+1表示字节序号。
60 = 8 * 7 + 4,即60位于所在字节序号8的第4个比特位。
17 = 8 * 2 + 1,即17位于所在字节序号3的第1个比特位。
与积累版本号的二进制对应位置比较,基础版本号60所在位置的bit信息为0,表示不包含,基础版本号60的待升级软件产品未包含在目标软件产品中。基础版本号17所在位置的bit信息为1,表示包含,基础版本号17的待升级软件产品包含在目标软件产品中,可以安全地将待升级软件产品升级至目标软件产品中。
在上述实施例中,根据目标软件产品的积累版本号和待升级软件产品的积累版本号,生成目标软件产品是否包含待升级软件产品的验证结果。一种可实现的方式为,判断目标软件产品的积累版本号的字符的个数是否小于待升级软件产品的积累版本号的字符的个数;若是,则目标软件产品不包含待升级软件产品;若否,则根据待升级软件产品的积累版本号存储位置对应的二进制的值和目标软件产品的积累版本号相应位置的二进制的值,判断目标软件产品是否包含待升级软件产品。
可选地,根据待升级软件产品的积累版本号存储位置对应的二进制的值和目标软件产品的积累版本号相应位置的二进制的值,判断目标软件产品是否包含待升级软件产品。一种可实现的方式为,判断待升级软件产品的积累版本号存储位置对应的二进制的值是否小于等于目标软件产品的积累版本号相应位置的二进制的值;若是,则目标软件产品包含待升级软件产品;若否,则目标软件产品不包含待升级软件产品。
例如,目标软件产品的积累版本号:DFF77DDFF77DDFF77DDFF77D0F,待升级软件产品的积累版本号:AAA00BBBB00CCCC00DDDD00A0001,积累版本号:ECC6和积累版本号:DBC359。
其中,积累版本号:AAA00BBBB00CCCC00DDDD00A0001比积累版本号:DFF77DDFF77DDFF77DDFF77D0F长,说明积累版本号:AAA00BBBB00CCCC00DDDD00A0001对应的产品包含了目标软件产品没有的功能,该积累版本号:AAA00BBBB00CCCC00DDDD00A0001的待升级软件产品未包含在目标软件产品中;
继续判断待升级软件产品的积累版本号存储位置对应的二进制的值是否小于等于目标软件产品的积累版本号相应位置的二进制的值。结合上表1.1,以下为积累版本号:ECC6和积累版本号:DBC359的二进制值:
ECC6对应的二进制值 1110 1100 1100 0110
DBC359 对应的二进制值 1101 1011 1100 0011 0101 1001
经过对比,ECC6对应的二进制值存在大于目标软件产品的积累版本号相应位置的二进制的值的情形,因此,目标软件产品不包含积累版本号ECC6的待升级软件产品。
DBC359对应的二进制值小于等于目标软件产品的积累版本号相应位置的二进制的值,因此,目标软件产品不包含积累版本号DBC359的待升级软件产品。
在本实施例中,若目标软件产品包含待升级软件产品,则可安全地将待升级软件产品升级至目标软件产品;若目标软件产品不包含待升级软件产品,则不能够将待升级软件产品升级至目标软件产品。
在上述一些实施例中,提供一种以可是字符存储,且能反应产品版本迭代关系的版本号生成方法,体现高迭代。且通过软件产品的积累版本号,能够快速追溯产品版本包含关系,体现高可溯性。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤301至步骤303的执行主体可以为设备A;又比如,步骤301和302的执行主体可以为设备A,步骤303的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如301、302等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
在本申请的上述方法实施例中,通过对软件产品自定义内部版本号,该内部版本号包括基础版本号和积累版本号,积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态;根据目标软件产品的积累版本号和待升级软件产品的基础版本号、或目标软件产品的积累版本号和待升级软件产品的积累版本号,可以快速验证目标软件产品是否包含待升级软件产品,以供后续对待升级软件产品进行安全升级,提高软件产品之间包含关系验证效率。
图4为本申请示例性实施例提供的一种软件产品合并设备的结构示意图。如图4所示,该软件产品合并设备包括存储器401和处理器402。另外,该软件产品合并设备还包括电源组件403、通信组件404等必要组件。
存储器401,用于存储计算机程序,并可被配置为存储其它各种数据以支持在软件产品合并设备上的操作。这些数据的示例包括用于在软件产品合并设备上操作的任何应用程序或方法的指令。
存储器401,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
通信组件404,用于与其他设备进行数据传输。
处理器402,可执行存储器401中存储的计算机指令,以用于:获取第一软件产品的内部版本号和第二软件产品的内部版本号;
将第一软件产品和第二软件产品进行合并,得到合并后的目标软件产品;以及
根据第一软件产品的内部版本号和第二软件产品的内部版本号,生成目标软件产品的内部版本号;
其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
可选地,处理器402在根据第一软件产品的积累版本号和第二软件产品的内部版本号,生成目标软件产品的积累版本号时,具体用于:根据第一软件产品的积累版本号和第二软件产品的基础版本号,生成目标软件产品的积累版本号;或者,根据第一软件产品的积累版本号和第二软件产品的积累版本号,生成目标软件产品的积累版本号。
可选地,处理器402,还可用于:根据目标软件产品的内部版本号,存储目标软件产品的内部版本号。
可选地,处理器402在根据目标软件产品的内部版本号,存储目标软件产品的内部版本号是,具体用于:根据目标软件产品的基础版本号或者内部版本号,得到目标软件产品占据的内存地址的长度;根据目标软件产品占据的内存地址的长度,创建目标存储空间;将目标软件产品的内部版本号按照预设的存储规则存储至目标存储空间内。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器执行时,致使一个或多个处理器执行图3方法实施例中的各步骤。
图5为本申请示例性实施例提供的一种软件软件产品升级设备的结构示意图。如图5所示,该软件软件产品升级设备包括存储器501和处理器502。另外,该软件软件产品升级设备还包括电源组件503、通信组件504、音频组件505和视频组件506等必要组件。
存储器501,用于存储计算机程序,并可被配置为存储其它各种数据以支持在软件软件产品升级设备上的操作。这些数据的示例包括用于在软件软件产品升级设备上操作的任何应用程序或方法的指令。
存储器501,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
通信组件504,用于与其他设备进行数据传输。
处理器502,可执行存储器501中存储的计算机指令,以用于:获取目标软件产品的内部版本号的积累版本号和待升级软件产品的内部版本号的基础版本号或积累版本号;根据目标软件产品的积累版本号和待升级软件产品的基础版本号、或目标软件产品的积累版本号和待升级软件产品的积累版本号,生成目标软件产品是否包含待升级软件产品的验证结果;根据验证结果,将待升级软件产品升级至目标软件产品;其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
可选地,处理器502在根据目标软件产品的积累版本号和待升级软件产品的基础版本号,生成目标软件产品是否包含待升级软件产品的验证结果时,具体用于:计算待升级软件产品的基础版本号所在的字节序号;判断待升级软件产品的基础版本号所在的字节序号是否大于目标软件产品的字节序号;若是,则目标软件产品不包含待升级软件产品;若否,根据待升级软件产品的基础版本号所在的字节的比特位,判断目标软件产品是否包含待升级软件产品。
可选地,处理器502在根据待升级软件产品的基础版本号所在的字节的比特位,判断目标软件产品是否包含待升级软件产品时,具体用于:根据待升级软件产品的基础版本号所在的字节的比特位,查询目标软件产品的积累版本号相应位置存储的包含关系;根据目标软件产品的积累版本号相应位置存储的包含关系,判断目标软件产品是否包含待升级软件产品。
可选地,处理器502在根据目标软件产品的积累版本号和待升级软件产品的积累版本号,生成目标软件产品是否包含待升级软件产品的验证结果时,具体用于:判断目标软件产品的积累版本号的字符的个数是否小于待升级软件产品的积累版本号的字符的个数;
若是,则目标软件产品不包含待升级软件产品;
若否,则根据待升级软件产品的积累版本号存储位置对应的二进制的值和目标软件产品的积累版本号相应位置的二进制的值,判断目标软件产品是否包含待升级软件产品。
可选地,处理器502在根据待升级软件产品的积累版本号存储位置对应的二进制的值和目标软件产品的积累版本号相应位置的二进制的值,判断目标软件产品是否包含待升级软件产品时,具体用于:判断待升级软件产品的积累版本号存储位置对应的二进制的值是否小于等于目标软件产品的积累版本号相应位置的二进制的值;若是,则目标软件产品包含待升级软件产品;若否,则目标软件产品不包含待升级软件产品。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质。当计算机可读存储介质存储计算机程序,且计算机程序被一个或多个处理器执行时,致使一个或多个处理器执行图3方法实施例中的各步骤。
在本申请的上述方法实施例中,通过对软件产品自定义内部版本号,该内部版本号包括基础版本号和积累版本号,积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态;根据目标软件产品的积累版本号和待升级软件产品的基础版本号、或目标软件产品的积累版本号和待升级软件产品的积累版本号,可以快速验证目标软件产品是否包含待升级软件产品,以供后续对待升级软件产品进行安全升级,提高软件产品之间包含关系验证效率。
上述图4和图5中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图4和图5中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种软件产品版本号合并方法,其特征在于,包括:
获取第一软件产品的内部版本号和第二软件产品的内部版本号;
将第一软件产品和第二软件产品进行合并,得到合并后的目标软件产品;以及
根据第一软件产品的内部版本号和所述第二软件产品的内部版本号,生成目标软件产品的内部版本号;
其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;所述积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
2.根据权利要求1所述的方法,其特征在于,根据第一软件产品的积累版本号和所述第二软件产品的内部版本号,生成目标软件产品的积累版本号,包括:
根据第一软件产品的积累版本号和第二软件产品的基础版本号,生成目标软件产品的积累版本号;
或者,
根据第一软件产品的积累版本号和第二软件产品的积累版本号,生成目标软件产品的积累版本号。
3.根据权利要求1所述的方法,其特征在于,还包括:
根据目标软件产品的内部版本号,存储所述目标软件产品的内部版本号。
4.根据权利要求3所述的方法,其特征在于,根据目标软件产品的内部版本号,存储所述目标软件产品的内部版本号,包括:
根据目标软件产品的基础版本号或者内部版本号,得到目标软件产品占据的内存地址的长度;
根据所述目标软件产品占据的内存地址的长度,创建目标存储空间;
将所述目标软件产品的内部版本号按照预设的存储规则存储至所述目标存储空间内。
5.一种软件产品版本号升级方法,其特征在于,包括:
获取目标软件产品的内部版本号的积累版本号和待升级软件产品的内部版本号的基础版本号或积累版本号;
根据目标软件产品的积累版本号和待升级软件产品的基础版本号、或目标软件产品的积累版本号和待升级软件产品的积累版本号,生成目标软件产品是否包含待升级软件产品的验证结果;
根据所述验证结果,将待升级软件产品升级至目标软件产品;
其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;所述积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
6.根据权利要求5所述的方法,其特征在于,根据目标软件产品的积累版本号和待升级软件产品的基础版本号,生成目标软件产品是否包含待升级软件产品的验证结果,包括:
计算待升级软件产品的基础版本号所在的字节序号;
判断待升级软件产品的基础版本号所在的字节序号是否大于目标软件产品的字节序号;
若是,则目标软件产品不包含待升级软件产品;
若否,根据待升级软件产品的基础版本号所在的字节的比特位,判断目标软件产品是否包含待升级软件产品。
7.根据权利要求6所述的方法,其特征在于,根据待升级软件产品的基础版本号所在的字节的比特位,判断目标软件产品是否包含待升级软件产品,包括:
根据待升级软件产品的基础版本号所在的字节的比特位,查询目标软件产品的积累版本号相应位置存储的包含关系;
根据所述目标软件产品的积累版本号相应位置存储的包含关系,判断目标软件产品是否包含待升级软件产品。
8.根据权利要求5所述的方法,其特征在于,根据目标软件产品的积累版本号和待升级软件产品的积累版本号,生成目标软件产品是否包含待升级软件产品的验证结果,包括:
判断目标软件产品的积累版本号的字符的个数是否小于待升级软件产品的积累版本号的字符的个数;
若是,则目标软件产品不包含待升级软件产品;
若否,则根据待升级软件产品的积累版本号存储位置对应的二进制的值和目标软件产品的积累版本号相应位置的二进制的值,判断目标软件产品是否包含待升级软件产品。
9.根据权利要求8所述的方法,其特征在于,根据待升级软件产品的积累版本号存储位置对应的二进制的值和目标软件产品的积累版本号相应位置的二进制的值,判断目标软件产品是否包含待升级软件产品,包括:
判断待升级软件产品的积累版本号存储位置对应的二进制的值是否小于等于目标软件产品的积累版本号相应位置的二进制的值;
若是,则目标软件产品包含待升级软件产品;
若否,则目标软件产品不包含待升级软件产品。
10.一种软件产品合并设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储一条或多条计算机指令;
所述处理器,用于执行所述一条或多条计算机指令以用于:
获取第一软件产品的内部版本号中和第二软件产品的内部版本号;
将第一软件产品和第二软件产品进行合并,得到合并后的目标软件产品;以及
根据第一软件产品的内部版本号和所述第二软件产品的内部版本号,生成目标软件产品的内部版本号;
其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;所述积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
11.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
获取第一软件产品的内部版本号中和第二软件产品的内部版本号;
将第一软件产品和第二软件产品进行合并,得到合并后的目标软件产品;以及
根据第一软件产品的内部版本号和所述第二软件产品的内部版本号,生成目标软件产品的内部版本号;
其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;所述积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
12.一种软件产品升级设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储一条或多条计算机指令;
所述处理器,用于执行所述一条或多条计算机指令以用于:
获取目标软件产品的积累版本号和待升级软件产品的基础版本号或积累版本号;
根据目标软件产品的内部版本号的积累版本号和待升级软件产品的内部版本号的基础版本号、或目标软件产品的积累版本号和待升级软件产品的积累版本号,生成目标软件产品是否包含待升级软件产品的验证结果;
根据所述验证结果,将待升级软件产品升级至目标软件产品;
其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;所述积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
13.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
获取目标软件产品的内部版本号的积累版本号和待升级软件产品的内部版本号的基础版本号或积累版本号;
根据目标软件产品的积累版本号和待升级软件产品的基础版本号、或目标软件产品的积累版本号和待升级软件产品的积累版本号,生成目标软件产品是否包含待升级软件产品的验证结果;
根据所述验证结果,将待升级软件产品升级至目标软件产品;
其中,内部版本号是自定义的版本号形式,包括基础版本号和积累版本号;所述积累版本号为十六进制字符,且体现其对应软件产品与及之前出现的各软件产品的信息的包含状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010792769.7A CN111736895A (zh) | 2020-08-10 | 2020-08-10 | 软件产品版本号合并及升级方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010792769.7A CN111736895A (zh) | 2020-08-10 | 2020-08-10 | 软件产品版本号合并及升级方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111736895A true CN111736895A (zh) | 2020-10-02 |
Family
ID=72658238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010792769.7A Pending CN111736895A (zh) | 2020-08-10 | 2020-08-10 | 软件产品版本号合并及升级方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111736895A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849218A (zh) * | 2021-09-17 | 2021-12-28 | 苏州浪潮智能科技有限公司 | 软件信息合并方法、装置、计算机设备和存储介质 |
CN116450203A (zh) * | 2023-04-19 | 2023-07-18 | 大陆软件系统开发中心(重庆)有限公司 | 应用的版本号管理方法、应用升级方法、及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252364A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 增量更新的方法、设备及系统 |
US20170091651A1 (en) * | 2015-09-24 | 2017-03-30 | Linkedin Corporation | Version control for asynchronous distributed machine learning |
CN109358898A (zh) * | 2018-10-24 | 2019-02-19 | 网易(杭州)网络有限公司 | 一种信息处理方法、装置、电子设备和存储介质 |
CN110865828A (zh) * | 2018-08-28 | 2020-03-06 | 成都鼎桥通信技术有限公司 | 数据升级方法、装置、设备及计算机可读存储介质 |
-
2020
- 2020-08-10 CN CN202010792769.7A patent/CN111736895A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252364A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 增量更新的方法、设备及系统 |
US20170091651A1 (en) * | 2015-09-24 | 2017-03-30 | Linkedin Corporation | Version control for asynchronous distributed machine learning |
CN110865828A (zh) * | 2018-08-28 | 2020-03-06 | 成都鼎桥通信技术有限公司 | 数据升级方法、装置、设备及计算机可读存储介质 |
CN109358898A (zh) * | 2018-10-24 | 2019-02-19 | 网易(杭州)网络有限公司 | 一种信息处理方法、装置、电子设备和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849218A (zh) * | 2021-09-17 | 2021-12-28 | 苏州浪潮智能科技有限公司 | 软件信息合并方法、装置、计算机设备和存储介质 |
CN113849218B (zh) * | 2021-09-17 | 2024-01-12 | 苏州浪潮智能科技有限公司 | 软件信息合并方法、装置、计算机设备和存储介质 |
CN116450203A (zh) * | 2023-04-19 | 2023-07-18 | 大陆软件系统开发中心(重庆)有限公司 | 应用的版本号管理方法、应用升级方法、及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025559B (zh) | 一种业务处理方法及装置 | |
CN110058873B (zh) | 应用页面更新方法、装置、设备和存储介质 | |
CN107506221B (zh) | 应用程序升级方法、装置及设备 | |
CN111399840B (zh) | 一种模块开发方法及装置 | |
CN109710286B (zh) | 系统升级方法、装置、设备和存储介质 | |
CN104113576A (zh) | 一种客户端的更新方法及装置 | |
CN111831297B (zh) | 零差分升级方法及装置 | |
CN105407130A (zh) | 一种移动端插件系统及移动端插件处理方法 | |
CN113110853B (zh) | 一种组态数据在线下载方法、装置及电子设备 | |
CN111736895A (zh) | 软件产品版本号合并及升级方法、设备及存储介质 | |
CN112286796A (zh) | 一种软件测试方法、设备及存储介质 | |
CN107360265A (zh) | 一种设备唯一标识码获取方法、装置及移动终端 | |
CN110597764B (zh) | 一种文件下载、版本管理方法及装置 | |
CN103379145B (zh) | 信息处理的方法、设备和系统 | |
CN105447040A (zh) | 二进制文件管理、更新方法、装置以及系统 | |
CN110362316A (zh) | 一种源代码管理方法 | |
CN108804403B (zh) | 业务图表的实现方法和装置 | |
CN114201174A (zh) | 混合移动应用的构建方法、装置、电子设备及存储介质 | |
CN115048083A (zh) | 组件的可视化方法、装置、存储介质及电子设备 | |
CN112286795A (zh) | 软件测试方法、设备及存储介质 | |
CN112162767A (zh) | 一种热更新方法、装置、设备及存储介质 | |
CN112749159A (zh) | 表单生成方法、装置、电子设备及存储介质 | |
CN110334098A (zh) | 一种基于脚本的数据库合并方法及系统 | |
CN117270902B (zh) | Ota升级包生成方法和装置、ota升级方法和装置 | |
CN113687973B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201002 |