CN111142924B - 一种基于Bsdiff方法的应用增量更新方法 - Google Patents
一种基于Bsdiff方法的应用增量更新方法 Download PDFInfo
- Publication number
- CN111142924B CN111142924B CN202010070639.2A CN202010070639A CN111142924B CN 111142924 B CN111142924 B CN 111142924B CN 202010070639 A CN202010070639 A CN 202010070639A CN 111142924 B CN111142924 B CN 111142924B
- Authority
- CN
- China
- Prior art keywords
- file
- package
- newly added
- differential
- equal
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于Bsdiff方法的应用增量更新方法,基于目标应用中的文件信息与应用服务器所发布升级包中的文件信息进行对比,针对各新增文件、各修改文件,以及其分别在升级包中的存储路径,基于Bsdiff方法构建差分增量包,然后根据目标应用各新增文件与各修改文件的重要性、以及用户所设置差分增量包的发布权重值阈值,判断差分增量包是否需要发布,同时利用自动化测试工具对修改功能进行自动测试验证,测试用例通过之后则进入打包发布阶段,实现对目标应用的增量更新,提高目标应用更新的工作效率。
Description
技术领域
本发明涉及一种基于Bsdiff方法的应用增量更新方法,属于应用增量升级技术领域。
背景技术
随着网络和计算机技术的发展,现有软件***可以通过网络直接进行远程更新,且现有技术软件的更新都是通过增量式的更新,但是软件的增量打包发布更新,通常是软件***提供方根据需求或者功能漏洞修复需要,进行的增量打包更新,未考虑用户对软件的需求,因此实际应用中,软件更新效率较低。
发明内容
本发明所要解决的技术问题是提供一种基于Bsdiff方法的应用增量更新方法,基于升级差分信息,结合用户对目标应用升级与否的个性化设定,提高目标应用更新的工作效率。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于Bsdiff方法的应用增量更新方法,用于针对目标应用实现增量升级,包括如下步骤:
步骤A.根据目标应用中的文件存储关系,针对目标应用中的文件信息与应用服务器所发布升级包中的文件信息进行对比,获得相对目标应用的各新增文件与各修改文件,并结合各新增文件、各修改文件分别在升级包中的存储路径,基于Bsdiff方法构建差分增量包,然后进入步骤B;
步骤B.针对差分增量包,根据差分增量包中新增文件的数量AddNum,差分增量包中新增文件与修改文件的总数量FileNum,获得差分增量包所对应的修改权重值β,然后进入步骤C;
步骤D.分别针对差分增量包中包括新增文件与修改文件的各个文件,获得文件所对应的参数ChangRate;并进一步获得该文件所对应的参数τ;待完成对差分增量包中包括新增文件与修改文件的各个文件上述操作后,进入步骤E;
步骤E.分别针对差分增量包中包括新增文件与修改文件的各个文件,按文件所对应参数τ与其所对应应用影响权重之间的乘积,获得该文件的权重,包括差分增量包中各新增文件的权重ρi,以及差分增量包中各修改文件的权重σj,其中,1≤I≤AddNum,1≤i≤I,1≤J≤FileNum-AddNum,1≤j≤J;然后进入步骤F;
步骤F.根据差分增量包中包括新增文件与修改文件的各个文件的权重,获得差分增量包所对应的RateValue,然后进入步骤G;
步骤G.判断差分增量包所对应的RateValue是否不小于预设阈值α,是则发布该差分增量包,根据其中各新增文件、各修改文件分别在升级包中的存储路径,由升级包中调用相应各文件、对目标应用进行升级;否则不做任何进一步操作。
作为本发明的一种优选技术方案:所述步骤G中,当差分增量包所对应的RateValue不小于预设阈值α时,根据差分增量包中修改功能的测试用例,应用指定自动测试工具针对差分增量包中的修改功能进行测试,若测试通过,则发布该差分增量包,根据其中各新增文件、各修改文件分别在升级包中的存储路径,由升级包中调用相应各文件、对目标应用进行升级;若测试不通过,则不做任何进一步操作。
作为本发明的一种优选技术方案:所述步骤B中,针对差分增量包,根据差分增量包中新增文件的数量AddNum,差分增量包中新增文件与修改文件的总数量FileNum,按如下公式:
获得差分增量包所对应的修改权重值β。
作为本发明的一种优选技术方案:所述步骤C中,分别针对差分增量包中包括新增文件与修改文件的各个文件,按如下公式:
作为本发明的一种优选技术方案:若所述文件依据预设模块功能划分、属于应用核心范围模块或新增功能模块,则该文件的权重大于0.7;此外该文件的权重小于0.3。
作为本发明的一种优选技术方案:所述步骤D中,分别针对差分增量包中包括新增文件与修改文件的各个文件,按如下公式:
ChangRate=(DEffect+IndEffect)/(DEffect+IndEffect+NEffect)
获得文件所对应的参数ChangRate;其中,NEffect表示文件对目标应用中不产生影响的其它文件的数量,DEffect表示文件对目标应用中产生直接影响的其它文件的数量,IndEffect表示文件对目标应用中产生间接影响的其它文件的数量;
然后进一步按如下公式:
τ=FileValue*ChangeRate
获得该文件所对应的参数τ;待完成对差分增量包中包括新增文件与修改文件的各个文件上述操作后,进入步骤E。
作为本发明的一种优选技术方案:所述步骤F中,按如下公式:
获得差分增量包所对应的RateValue,其中,1≤I≤AddNum,1≤i≤I,ρi表示差分增量包中第i个新增文件的权重,1≤J≤FileNum-AddNum,1≤j≤J,σj表示差分增量包中第j个修改文件的权重。
本发明所述一种基于Bsdiff方法的应用增量更新方法,采用以上技术方案与现有技术相比,具有以下技术效果:
本发明所设计基于Bsdiff方法的应用增量更新方法,基于目标应用中的文件信息与应用服务器所发布升级包中的文件信息进行对比,针对各新增文件、各修改文件,以及其分别在升级包中的存储路径,基于Bsdiff方法构建差分增量包,然后根据目标应用各新增文件与各修改文件的重要性、以及用户所设置差分增量包的发布权重值阈值,判断差分增量包是否需要发布,同时利用自动化测试工具对修改功能进行自动测试验证,测试用例通过之后则进入打包发布阶段,实现对目标应用的增量更新,提高目标应用更新的工作效率。
附图说明
图1为本发明设计基于Bsdiff方法的应用增量更新方法的流程示意图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
本发明设计了一种基于Bsdiff方法的应用增量更新方法,用于针对目标应用实现增量升级,实际应用当中,如图1所示,具体包括如下步骤A至步骤G。
步骤A.根据目标应用中的文件存储关系,针对目标应用中的文件信息与应用服务器所发布升级包中的文件信息进行对比,获得相对目标应用的各新增文件与各修改文件,并结合各新增文件、各修改文件分别在升级包中的存储路径,基于Bsdiff方法构建差分增量包,然后进入步骤B。
差分增量包中针对各文件分别定义type、path、name,其中,type代表文件的类型,取值为0、1,其中,0代表文件为新增文件,1代表文件为修改文件;path代表文件在升级包中的存储路径,name代表文件的文件名。
步骤B.针对差分增量包,根据差分增量包中新增文件的数量AddNum,差分增量包中新增文件与修改文件的总数量FileNum,按如下公式:
获得差分增量包所对应的修改权重值β,然后进入步骤C。实际应用中,当β值越大说明新增文件的数量越多,说明此差分增量包进行自动打包的权重越高。
步骤C.分别针对差分增量包中包括新增文件与修改文件的各个文件,按如下公式:
获得文件所对应的应用影响权重然后进入步骤D;其中,ConnectValue表示文件相对目标应用中其它文件的关联度,FileValue表示文件依据预设模块功能划分所对应权重划分范围下的随机值权重,实际应用中,所述文件依据预设模块功能划分、属于应用核心范围模块或新增功能模块,则该文件的权重FileValue大于0.7;此外该文件的权重FileValue小于0.3。
步骤D.分别针对差分增量包中包括新增文件与修改文件的各个文件,按如下公式:
ChangRate=(DEffect+IndEffect)/(DEffect+IndEffect+NEffect)
获得文件所对应的参数ChangRate;其中,NEffect表示文件对目标应用中不产生影响的其它文件的数量,DEffect表示文件对目标应用中产生直接影响的其它文件的数量,IndEffect表示文件对目标应用中产生间接影响的其它文件的数量;
然后进一步按如下公式:
τ=FileValue*ChangeRate
获得该文件所对应的参数τ;待完成对差分增量包中包括新增文件与修改文件的各个文件上述操作后,进入步骤E。
步骤E.分别针对差分增量包中包括新增文件与修改文件的各个文件,按文件所对应参数τ与其所对应应用影响权重之间的乘积,获得该文件的权重,包括差分增量包中各新增文件的权重ρi,以及差分增量包中各修改文件的权重σj,其中,1≤I≤AddNum,1≤i≤I,1≤J≤FileNum-AddNum,1≤j≤J;然后进入步骤F。
步骤F.按如下公式:
获得差分增量包所对应的RateValue,其中,1≤I≤AddNum,1≤i≤I,ρi表示差分增量包中第i个新增文件的权重,1≤J≤FileNum-AddNum,1≤j≤J,σj表示差分增量包中第j个修改文件的权重,然后进入步骤G。
步骤G.判断差分增量包所对应的RateValue是否不小于预设阈值α,是则进入步骤H;否则不做任何进一步操作。
步骤H.根据差分增量包中修改功能的测试用例,应用指定自动测试工具针对差分增量包中的修改功能进行测试,若测试通过,则发布该差分增量包,根据其中各新增文件、各修改文件分别在升级包中的存储路径,由升级包中调用相应各文件、对目标应用进行升级;若测试不通过,则不做任何进一步操作。
本发明所设计基于Bsdiff方法的应用增量更新方法在实际应用当中,基于目标应用中的文件信息与应用服务器所发布升级包中的文件信息进行对比,针对各新增文件、各修改文件,以及其分别在升级包中的存储路径,基于Bsdiff方法构建差分增量包,然后根据目标应用各新增文件与各修改文件的重要性、以及用户所设置差分增量包的发布权重值阈值,判断差分增量包是否需要发布,同时利用自动化测试工具对修改功能进行自动测试验证,测试用例通过之后则进入打包发布阶段,实现对目标应用的增量更新,提高目标应用更新的工作效率。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (7)
1.一种基于Bsdiff方法的应用增量更新方法,用于针对目标应用实现增量升级,其特征在于,包括如下步骤:
步骤A.根据目标应用中的文件存储关系,针对目标应用中的文件信息与应用服务器所发布升级包中的文件信息进行对比,获得相对目标应用的各新增文件与各修改文件,并结合各新增文件、各修改文件分别在升级包中的存储路径,基于Bsdiff方法构建差分增量包,然后进入步骤B;
步骤B.针对差分增量包,根据差分增量包中新增文件的数量AddNum,差分增量包中新增文件与修改文件的总数量FileNum,获得差分增量包所对应的修改权重值β,然后进入步骤C;
步骤D.分别针对差分增量包中包括新增文件与修改文件的各个文件,获得文件所对应的参数ChangRate;并进一步获得该文件所对应的参数τ;待完成对差分增量包中包括新增文件与修改文件的各个文件上述操作后,进入步骤E;
步骤E.分别针对差分增量包中包括新增文件与修改文件的各个文件,按文件所对应参数τ与其所对应应用影响权重之间的乘积,获得该文件的权重,包括差分增量包中各新增文件的权重ρi,以及差分增量包中各修改文件的权重σj,其中,1≤I≤AddNum,1≤i≤I,1≤J≤FileNum-AddNum,1≤j≤J,然后进入步骤F;
步骤F.根据差分增量包中包括新增文件与修改文件的各个文件的权重,获得差分增量包所对应的RateValue,然后进入步骤G;
步骤G.判断差分增量包所对应的RateValue是否不小于预设阈值α,是则发布该差分增量包,根据其中各新增文件、各修改文件分别在升级包中的存储路径,由升级包中调用相应各文件、对目标应用进行升级;否则不做任何进一步操作。
2.根据权利要求1所述一种基于Bsdiff方法的应用增量更新方法,其特征在于:所述步骤G中,当差分增量包所对应的RateValue不小于预设阈值α时,根据差分增量包中修改功能的测试用例,应用指定自动测试工具针对差分增量包中的修改功能进行测试,若测试通过,则发布该差分增量包,根据其中各新增文件、各修改文件分别在升级包中的存储路径,由升级包中调用相应各文件、对目标应用进行升级;若测试不通过,则不做任何进一步操作。
5.根据权利要求4所述一种基于Bsdiff方法的应用增量更新方法,其特征在于:若所述文件依据预设模块功能划分、属于应用核心范围模块或新增功能模块,则该文件的权重大于0.7;此外该文件的权重小于0.3。
6.根据权利要求4所述一种基于Bsdiff方法的应用增量更新方法,其特征在于:所述步骤D中,分别针对差分增量包中包括新增文件与修改文件的各个文件,按如下公式:
ChangRate=(DEffect+IndEffect)/(DEffect+IndEffect+NEffect)
获得文件所对应的参数ChangRate;其中,NEffect表示文件对目标应用中不产生影响的其它文件的数量,DEffect表示文件对目标应用中产生直接影响的其它文件的数量,IndEffect表示文件对目标应用中产生间接影响的其它文件的数量;
然后进一步按如下公式:
τ=FileValue*ChangeRate
获得该文件所对应的参数τ;待完成对差分增量包中包括新增文件与修改文件的各个文件上述操作后,进入步骤E。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010070639.2A CN111142924B (zh) | 2020-01-21 | 2020-01-21 | 一种基于Bsdiff方法的应用增量更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010070639.2A CN111142924B (zh) | 2020-01-21 | 2020-01-21 | 一种基于Bsdiff方法的应用增量更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111142924A CN111142924A (zh) | 2020-05-12 |
CN111142924B true CN111142924B (zh) | 2022-08-12 |
Family
ID=70526675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010070639.2A Active CN111142924B (zh) | 2020-01-21 | 2020-01-21 | 一种基于Bsdiff方法的应用增量更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111142924B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657170A (zh) * | 2013-11-25 | 2015-05-27 | 腾讯科技(上海)有限公司 | 一种数据更新方法、装置及*** |
CN103713928B (zh) * | 2013-12-31 | 2017-02-22 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN106909404A (zh) * | 2015-12-22 | 2017-06-30 | 博雅网络游戏开发(深圳)有限公司 | 软件更新方法和*** |
-
2020
- 2020-01-21 CN CN202010070639.2A patent/CN111142924B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111142924A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104102511A (zh) | 一种基于SQL Server的脚本自动升级***及方法 | |
CN111399828B (zh) | 一种基于模型驱动的逻辑设备建模方法及终端 | |
CN113448685A (zh) | 一种基于Kubernetes的Pod调度方法及*** | |
CN111142924B (zh) | 一种基于Bsdiff方法的应用增量更新方法 | |
CN113987283A (zh) | 资费配置的校验方法、装置、设备及存储介质 | |
CN110879936B (zh) | 一种基于TeamCenter的批量生成并输出工艺控制计划的方法 | |
CN112947896A (zh) | 一种基于有向图的组件依赖分析方法 | |
CN115858884A (zh) | 一种日志校验方法、装置和产品 | |
CN111427582A (zh) | Rtl代码的管理方法、装置、设备及计算机可读存储介质 | |
CN116629015A (zh) | 数字孪生任务的处理方法、装置、设备及存储介质 | |
CN108345603A (zh) | 一种sql语句解析方法及装置 | |
WO2003038690A2 (en) | Incremental automata verification | |
CN115828803A (zh) | 网表缩减方法、芯片验证方法及计算机存储介质 | |
CN112256978B (zh) | 一种基于数据模型的数据处理方法、装置、介质 | |
WO2005059744A1 (en) | A method of automatically generating test scripts from a system specification model | |
CN115130043A (zh) | 基于数据库的数据处理方法、装置、设备及存储介质 | |
CN113495831B (zh) | 基于关键字生成测试用例的方法、***、设备及介质 | |
CN113342647A (zh) | 一种测试数据的生成方法及装置 | |
CN112817808A (zh) | 一种计算机集群维护任务管理方法及*** | |
CN112307589A (zh) | 单位工况创建方法、装置、电子设备及存储介质 | |
CN106143353B (zh) | 一种车载电子控制单元模块刷新方法及*** | |
CN112653648B (zh) | 一种生成通信协议的方法和装置 | |
CN113377672B (zh) | 测试方法、装置及设备 | |
CN110633266B (zh) | 业务***的版本生成方法及*** | |
CN111125956B (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 | ||
CB02 | Change of applicant information |
Address after: 211100 floor 5, block a, China Merchants high speed rail Plaza project, No. 9, Jiangnan Road, Jiangning District, Nanjing, Jiangsu (South Station area) Applicant after: JIANGSU AIJIA HOUSEHOLD PRODUCTS Co.,Ltd. Address before: 211100 No. 18 Zhilan Road, Science Park, Jiangning District, Nanjing City, Jiangsu Province Applicant before: JIANGSU AIJIA HOUSEHOLD PRODUCTS Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |