CN117407031A - 补丁包升级文件生成方法、装置、设备及存储介质 - Google Patents
补丁包升级文件生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117407031A CN117407031A CN202311585350.4A CN202311585350A CN117407031A CN 117407031 A CN117407031 A CN 117407031A CN 202311585350 A CN202311585350 A CN 202311585350A CN 117407031 A CN117407031 A CN 117407031A
- Authority
- CN
- China
- Prior art keywords
- file
- package
- script
- patch
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000006835 compression Effects 0.000 claims abstract description 73
- 238000007906 compression Methods 0.000 claims abstract description 73
- 230000001960 triggered effect Effects 0.000 claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 18
- 238000004088 simulation Methods 0.000 claims abstract description 10
- 230000006837 decompression Effects 0.000 claims description 34
- 238000010276 construction Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 2
- 230000007547 defect Effects 0.000 abstract description 5
- 238000012937 correction Methods 0.000 abstract description 2
- 238000009434 installation Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004069 differentiation Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
-
- 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
Abstract
本发明涉及软件领域,公开了一种补丁包升级文件生成方法、设备及存储介质。该方法包括:推送生成补丁包升级文件对应的功能界面,并识别在功能界面中选定的目标软件安装压缩包及目标差异化文件压缩包;响应用户触发的脚本运行命令,并执行脚本运行命令,对目标软件安装压缩包及目标差异化文件压缩包进行解压,得到目标软件安装包及目标差异化文件;通过仿真模拟操作调用预设升级脚本;执行预设升级脚本,根据目标软件安装包及目标差异化文件,通过差量更新算法生成补丁包升级文件。在本发明实施例中,能快速地进行线上程序的纠错,修复程序的缺陷,降低升级包的大小,从而提高补丁升级包生成的效率。
Description
技术领域
本发明涉及软件领域,尤其涉及一种补丁包升级文件生成方法、设备及存储介质。
背景技术
软件系统开发中,软件系统由于其本身的缺陷或者其他原因引起系统错误,或用户提出新的需求,则需要改进软件,为了控制成本和影响范围,这个时候会发一个补丁升级包解决自身缺陷问题,这样测试成本更小也可以更好的控制自身缺陷的修改影响范围,而且补丁升级包具有体积小,下载、安装快的好处。
当前大部分程序软件在升级方案方面大部分选择的是全量升级,这样会导致补丁升级包生成的效率低。
发明内容
本发明的主要目的在于解决补丁升级包生成效率低的技术问题。
本发明第一方面提供了一种补丁包升级文件生成方法,所述补丁包升级文件生成方法包括:
推送生成补丁包升级文件对应的功能界面,并识别在所述功能界面中选定的目标软件安装压缩包及目标差异化文件压缩包;
响应用户触发的脚本运行命令,并执行所述脚本运行命令,对所述目标软件安装压缩包及所述目标差异化文件压缩包进行解压,得到目标软件安装包及目标差异化文件;
通过仿真模拟操作调用预设升级脚本;
执行所述预设升级脚本,根据所述目标软件安装包及所述目标差异化文件,通过差量更新算法生成补丁包升级文件。
可选的,在本发明第一方面的第一种实现方式中,所述脚本运行命令包括解压脚本命令及构建脚本命令;
所述响应用户触发的脚本运行命令,并执行所述脚本运行命令,对所述目标软件安装压缩包及所述目标差异化文件压缩包进行解压,得到目标软件安装包及目标差异化文件包括:
若用户触发的脚本运行命令是解压脚本命令,则执行所述解压脚本命令,查询预设解压脚本;
执行所述预设解压脚本,对所述目标软件安装压缩包进行解压,得到目标软件安装包;
若用户触发的脚本运行命令是构建脚本命令,则执行所述构建脚本命令,查询预设补丁包脚本;
执行所述预设补丁包脚本,对所述目标差异化文件压缩包进行解压,得到目标差异化文件。
可选的,在本发明第一方面的第二种实现方式中,所述响应用户触发的脚本运行命令之前,还包括:
预先设定脚本程序框架,所述脚本程序框架包括多个脚本编写接口;
根据选定的脚本类型,获取所述脚本类型对应的脚本编写接口;
根据所述脚本编写接口,进行预设解压脚本和预设补丁包脚本的编写。
可选的,在本发明第一方面的第三种实现方式中,所述执行所述预设升级脚本,根据所述目标软件安装包及所述目标差异化文件,通过差量更新算法生成补丁包升级文件包括:
获取旧版本程序文件;
执行所述预设升级脚本,通过差量更新算法,对所述旧版本程序文件及所述目标差异化文件进行比较差分,生成增量文件;
根据所述增量文件及所述目标软件安装包,生成补丁包升级文件。
可选的,在本发明第一方面的第四种实现方式中,所述目标软件安装压缩包中有旧补丁版本标识;
所述根据所述增量文件及所述目标软件安装包,生成补丁包升级文件包括:
执行所述预设补丁包脚本,根据所述旧补丁包版本标识,生成新补丁包版本标识;
执行所述预设升级脚本,调用软件制作安装工具;
触发所述软件制作安装工具,根据所述新补丁包版本标识、所述增量文件及所述目标软件安装包,生成补丁包升级文件。
可选的,在本发明第一方面的第五种实现方式中,所述补丁包升级文件生成方法还包括:
获取所述目标软件安装包的程序标识;
根据所述程序标识,获取旧版本程序文件和新版本程序文件;
将所述旧版本程序文件及所述新版本程序文件比较,判断所述旧版本程序文件和所述新版本程序文件是否相同;
若不同,则根据所述旧版本程序文件和所述新版本程序文件,得到所述目标差异化文件。
可选的,在本发明第一方面的第六种实现方式中,所述补丁包升级文件生成方法还包括:
获取目标文件,所述目标文件是新程序所需的文件;
通过Inno Setup软件,构建目标软件安装压缩包;
将所述目标文件打包进所述目标软件安装压缩包中。
本发明第二方面提供了一种补丁包升级文件生成设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述补丁包升级文件生成设备执行上述的补丁包升级文件生成方法。
本发明的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的补丁包升级文件生成方法。
在本发明实施例中,推送生成补丁包升级文件对应的功能界面,并识别在所述功能界面中选定的目标软件安装压缩包及目标差异化文件压缩包;响应用户触发的脚本运行命令,并执行所述脚本运行命令,对所述目标软件安装压缩包及所述目标差异化文件压缩包进行解压,得到目标软件安装包及目标差异化文件;通过仿真模拟操作调用预设升级脚本;执行所述预设升级脚本,根据所述目标软件安装包及所述目标差异化文件,通过差量更新算法生成补丁包升级文件。本发明中,通过执行脚本运行命令,进行解压得到目标软件安装包及目标差异化文件,并通过仿真模拟操作调用预设升级脚本,执行预设升级脚本,再根据目标软件安装包及目标差异化文件,通过差量更新算法生成补丁包升级文件,能快速地进行线上程序的纠错,修复程序的缺陷,降低升级包的大小,从而提高补丁升级包生成的效率。
附图说明
图1为本发明实施例中补丁包升级文件生成方法的一个实施例示意图;
图2为本发明实施例中补丁包升级文件生成装置的一个实施例示意图;
图3为本发明实施例中补丁包升级文件生成设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种补丁包升级文件生成方法、设备及存储介质。
下面将参照附图更详细地描述本发明公开的实施例。虽然附图中显示了本发明公开的某些实施例,然而应当理解的是,本发明公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本发明公开的附图及实施例仅用于示例性作用,并非用于限制本发明公开的保护范围。
在本发明公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中补丁包升级文件生成方法的一个实施例包括:
S100,推送生成补丁包升级文件对应的功能界面,并识别在功能界面中选定的目标软件安装压缩包及目标差异化文件压缩包。
在本实施例中,补丁包生成系统会预先设置存储多个软件安装压缩包和差异化文件压缩包,其中,软件安装压缩包是指新版本程序的目标文件压缩包,差异化文件压缩包是指新版本程序相较于旧版本程序有所更新修改的文件压缩包。用户登录补丁包生成系统后,系统会自动推送相应的功能界面,其中功能界面中包括软件安装压缩包选择框、差异化文件压缩包选择框等;用户点击安装压缩包选择框和差异化文件压缩包选择框,从多个软件安装压缩包和差异化文件压缩包中选定目标软件安装压缩包及目标差异化文件压缩包。
S200,响应用户触发的脚本运行命令,并执行脚本运行命令,对目标软件安装压缩包及目标差异化文件压缩包进行解压,得到目标软件安装包及目标差异化文件。
在本实施例中,系统功能界面中还包括运行脚本按钮,用户触发此按钮,生成脚本运行命令,可选地,脚本运行命令还可以通过触发菜单栏等方式生成,服务器响应用户触发的脚本运行命令,并执行脚本运行命令,对在功能界面中选定的目标软件安装压缩包及目标差异化文件压缩包进行解压,解压后得到相应的目标软件安装包及目标差异化文件。
S300,通过仿真模拟操作调用预设升级脚本。
在本实施例中,通过仿真模拟操作调用补丁包生成系统中的预设升级脚本,其中,预设升级脚本是用来生成补丁包升级文件,仿真模拟操作是指借助高速、大存储量数字计算机及相关技术,对复杂真实系统的运行过程或状态进行数字化模拟,具体地,会通过模拟键盘鼠标操作调用预设升级脚本,此预设升级脚本可以是py脚本。
S400,执行预设升级脚本,根据目标软件安装包及目标差异化文件,通过差量更新算法生成补丁包升级文件。
在本实施例中,执行调用的预设升级脚本,生成补丁包生成命令,根据补丁包生成命令,将目标软件安装包及目标差异化文件通过差量更新算法,生成补丁包升级文件;然后修改程序的更新检测逻辑,增加逻辑处理检测补丁包升级文件,安装补丁包。
在本发明第一方面一种可选的实施方式中,脚本运行命令包括解压脚本命令及构建脚本命令;响应用户触发的脚本运行命令,并执行脚本运行命令,对目标软件安装压缩包及目标差异化文件压缩包进行解压,得到目标软件安装包及目标差异化文件包括:
若用户触发的脚本运行命令是解压脚本命令,则执行解压脚本命令,查询预设解压脚本;执行预设解压脚本,对目标软件安装压缩包进行解压,得到目标软件安装包;若用户触发的脚本运行命令是构建脚本命令,则执行构建脚本命令,查询预设补丁包脚本;执行预设补丁包脚本,对目标差异化文件压缩包进行解压,得到目标差异化文件。
在本实施例中,系统功能界面中的运行脚本按钮可以分为运行解压脚本按钮、运行构建脚本按钮,如果触发运行解压脚本按钮,则生成解压脚本命令,服务器加载的系统响应解压脚本命令,查询系统中的预设解压脚本,然后执行预设解压脚本,生成第一脚本解压命令,用于对目标软件安装压缩包进行解压,得到目标软件安装包;如果触发运行构建脚本按钮,则生成构建脚本命令,服务器加载的系统响应构建脚本命令,查询系统中的预设补丁包脚本,然后执行预设补丁包脚本,生成第二脚本解压命令,用于对目标差异化文件压缩包进行解压,得到目标差异化文件。
在本发明第一方面一种可选的实施方式中,响应用户触发的脚本运行命令之前,还包括:
预先设定脚本程序框架,脚本程序框架包括多个脚本编写接口;根据选定的脚本类型,获取脚本类型对应的脚本编写接口;根据脚本编写接口,进行预设解压脚本和预设补丁包脚本的编写。
在本实施例中,预先设定的脚本程序框架可为py脚本程序框架,其是由多个脚本编写接口 (Application Programming Interface, API)而组成。API 是指定一组函数成员而不实现成员的引用类型,其他类型-类和结构可以实现接口。接口指定必须由类提供的成员或实现它的其他接口,接口可以包含方法、属性、索引器和事件作为成员。用户在功能界面选择脚本类型,根据选定的脚本类型,获取脚本类型对应的脚本编写接口,例如,脚本类型包括bat脚本和py脚本,若选择bat脚本,则获取bat脚本对应的脚本编写接口,通过此脚本编写接口编写预设解压脚本;若选择py脚本,则获取py脚本对应的脚本编写接口,通过此脚本编写接口编写预设补丁包脚本。
在本发明第一方面一种可选的实施方式中,执行预设升级脚本,根据目标软件安装包及目标差异化文件,通过差量更新算法生成补丁包升级文件包括:
获取旧版本程序文件;执行预设升级脚本,通过差量更新算法,对旧版本程序文件及目标差异化文件进行比较差分,生成增量文件;根据增量文件及目标软件安装包,生成补丁包升级文件。
在本实施例中,执行预设升级脚本,生成补丁包生成命令,响应补丁包生成命令,通过差量更新算法,可选的,差量更新算法可以是XDELTA算法,对旧版本程序文件及目标差异化文件进行比较差分,生成一个增量文件,增量文件中包含一堆增量指令,增量指令指示了目标软件安装包中目标文件数据内容的处理,通过对目标文件数据内容的处理,生成补丁包升级文件。
在本发明第一方面一种可选的实施方式中,目标软件安装压缩包中有旧补丁版本标识;根据增量文件及目标软件安装包,生成补丁包升级文件包括:
执行预设补丁包脚本,根据旧补丁包版本标识,生成新补丁包版本标识;执行预设升级脚本,调用软件制作安装工具;触发软件制作安装工具,根据新补丁包版本标识、增量文件及目标软件安装包,生成补丁包升级文件。
在本实施例中,执行预设补丁包脚本,生成补丁包生成命令的同时,还生成版本标识生成命令,根据目标软件安装压缩包中的旧补丁版本标识,生成新补丁包版本标识,然后执行预设升级脚本,调用软件制作安装工具,其中,软件制作安装工具可以是Inno SetupXDELTA Patch Maker工具,触发软件制作安装工具,根据新补丁包版本标识生成补丁包升级文件。
在本发明第一方面一种可选的实施方式中,补丁包升级文件生成方法还包括:
获取目标软件安装包的程序标识;根据程序标识,获取旧版本程序文件和新版本程序文件;将旧版本程序文件及新版本程序文件比较,判断旧版本程序文件和新版本程序文件是否相同;若不同,则根据旧版本程序文件和新版本程序文件,得到目标差异化文件。
在本实施例中,查询程序标识,获取旧版本程序文件和新版本程序文件,将旧版本程序文件和新版本程序文件比较,判断旧版本程序文件和新版本程序文件是否相同,示例性地,假设有Windows应用程序A,程序安装包需配置patch标识:A-20230804-01,此标识具有可读性,即A程序于20230804这一天第一次构建。于20230901有一次程序更新,相较于20230804这一天的程序有若干文件更新,则根据旧版本程序文件和新版本程序文件,得到目标差异化文件。
在本发明第一方面一种可选的实施方式中,补丁包升级文件生成方法还包括:
获取目标文件,目标文件是新程序所需的文件;通过Inno Setup软件,构建目标软件安装压缩包;将目标文件打包进目标软件安装压缩包中。
在本实施例中,使用Inno Setup构建目标软件安装压缩包,准备好新版本的目标文件,将目标文件打包进目标软件安装压缩包中。
参见图2,本发明第二方面提供了一种补丁包升级文件生成装置,所述补丁包升级文件生成装置包括:
推送模块100,用于推送生成补丁包升级文件对应的功能界面,并识别在功能界面中选定的目标软件安装压缩包及目标差异化文件压缩包;
命令执行模块200,用于响应用户触发的脚本运行命令,并执行脚本运行命令,对目标软件安装压缩包及目标差异化文件压缩包进行解压,得到目标软件安装包及目标差异化文件;
仿真模块300,用于通过仿真模拟操作调用预设升级脚本;
文件生成模块400,用于执行预设升级脚本,根据目标软件安装包及目标差异化文件,通过差量更新算法生成补丁包升级文件。
在本发明第二方面一种可选的实施方式中,命令执行模块200还用于若用户触发的脚本运行命令是解压脚本命令,则执行解压脚本命令,查询预设解压脚本;执行预设解压脚本,对目标软件安装压缩包进行解压,得到目标软件安装包;若用户触发的脚本运行命令是构建脚本命令,则执行构建脚本命令,查询预设补丁包脚本;执行预设补丁包脚本,对目标差异化文件压缩包进行解压,得到目标差异化文件。
在本发明第二方面一种可选的实施方式中,补丁包升级文件生成装置还包括:
编写模块,用于预先设定脚本程序框架,脚本程序框架包括多个脚本编写接口;根据选定的脚本类型,获取脚本类型对应的脚本编写接口;根据脚本编写接口,进行预设解压脚本和预设补丁包脚本的编写。
在本发明第二方面一种可选的实施方式中,文件生成模块400还用于获取旧版本程序文件;执行预设升级脚本,通过差量更新算法,对旧版本程序文件及目标差异化文件进行比较差分,生成增量文件;根据增量文件及目标软件安装包,生成补丁包升级文件。
在本发明第二方面一种可选的实施方式中,文件生成模块400还用于执行预设补丁包脚本,根据旧补丁包版本标识,生成新补丁包版本标识;执行预设升级脚本,调用软件制作安装工具;触发软件制作安装工具,根据新补丁包版本标识、增量文件及目标软件安装包,生成补丁包升级文件。
在本发明第二方面一种可选的实施方式中,补丁包升级文件生成装置还包括:
目标差异化文件获取模块,用于获取目标软件安装包的程序标识;根据程序标识,获取旧版本程序文件和新版本程序文件;将旧版本程序文件及新版本程序文件比较,判断旧版本程序文件和新版本程序文件是否相同;若不同,则根据旧版本程序文件和新版本程序文件,得到目标差异化文件。
在本发明第二方面一种可选的实施方式中,补丁包升级文件生成装置还包括:
打包模块,用于获取目标文件,目标文件是新程序所需的文件;通过Inno Setup软件,构建目标软件安装压缩包;将目标文件打包进目标软件安装压缩包中。
图3是本发明实施例提供的一种补丁包升级文件生成设备的结构示意图,该补丁包升级文件生成设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对补丁包升级文件生成设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在补丁包升级文件生成设备500上执行存储介质530中的一系列指令操作。
基于补丁包升级文件生成设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,Free BSD等等。本领域技术人员可以理解,图3示出的补丁包升级文件生成设备结构并不构成对基于补丁包升级文件生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述补丁包升级文件生成方法的步骤。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种补丁包升级文件生成方法,其特征在于,所述补丁包升级文件生成方法包括:
推送生成补丁包升级文件对应的功能界面,并识别在所述功能界面中选定的目标软件安装压缩包及目标差异化文件压缩包;
响应用户触发的脚本运行命令,并执行所述脚本运行命令,对所述目标软件安装压缩包及所述目标差异化文件压缩包进行解压,得到目标软件安装包及目标差异化文件;
通过仿真模拟操作调用预设升级脚本;
执行所述预设升级脚本,根据所述目标软件安装包及所述目标差异化文件,通过差量更新算法生成补丁包升级文件。
2.根据权利要求1所述的补丁包升级文件生成方法,其特征在于,所述脚本运行命令包括解压脚本命令及构建脚本命令;
所述响应用户触发的脚本运行命令,并执行所述脚本运行命令,对所述目标软件安装压缩包及所述目标差异化文件压缩包进行解压,得到目标软件安装包及目标差异化文件包括:
若用户触发的脚本运行命令是解压脚本命令,则执行所述解压脚本命令,查询预设解压脚本;
执行所述预设解压脚本,对所述目标软件安装压缩包进行解压,得到目标软件安装包;
若用户触发的脚本运行命令是构建脚本命令,则执行所述构建脚本命令,查询预设补丁包脚本;
执行所述预设补丁包脚本,对所述目标差异化文件压缩包进行解压,得到目标差异化文件。
3.根据权利要求2所述的补丁包升级文件生成方法,其特征在于,所述响应用户触发的脚本运行命令之前,还包括:
预先设定脚本程序框架,所述脚本程序框架包括多个脚本编写接口;
根据选定的脚本类型,获取所述脚本类型对应的脚本编写接口;
根据所述脚本编写接口,进行预设解压脚本和预设补丁包脚本的编写。
4.根据权利要求1所述的补丁包升级文件生成方法,其特征在于, 所述执行所述预设升级脚本,根据所述目标软件安装包及所述目标差异化文件,通过差量更新算法生成补丁包升级文件包括:
获取旧版本程序文件;
执行所述预设升级脚本,通过差量更新算法,对所述旧版本程序文件及所述目标差异化文件进行比较差分,生成增量文件;
根据所述增量文件及所述目标软件安装包,生成补丁包升级文件。
5.根据权利要求4所述的补丁包升级文件生成方法,其特征在于,所述目标软件安装压缩包中有旧补丁版本标识;
所述根据所述增量文件及所述目标软件安装包,生成补丁包升级文件包括:
执行预设补丁包脚本,根据所述旧补丁版本标识,生成新补丁包版本标识;
执行所述预设升级脚本,调用软件制作安装工具;
触发所述软件制作安装工具,根据所述新补丁包版本标识、所述增量文件及所述目标软件安装包,生成补丁包升级文件。
6.根据权利要求1所述的补丁包升级文件生成方法,其特征在于,还包括:
获取所述目标软件安装包的程序标识;
根据所述程序标识,获取旧版本程序文件和新版本程序文件;
将所述旧版本程序文件及所述新版本程序文件比较,判断所述旧版本程序文件和所述新版本程序文件是否相同;
若不同,则根据所述旧版本程序文件和所述新版本程序文件,得到所述目标差异化文件。
7.根据权利要求1所述的补丁包升级文件生成方法,其特征在于,还包括:
获取目标文件,所述目标文件是新程序所需的文件;
通过Inno Setup软件,构建目标软件安装压缩包;
将所述目标文件打包进所述目标软件安装压缩包中。
8.一种补丁包升级文件生成装置,其特征在于,所述补丁包升级文件生成包括:
推送模块,用于推送生成补丁包升级文件对应的功能界面,并识别在所述功能界面中选定的目标软件安装压缩包及目标差异化文件压缩包;
命令执行模块,用于响应用户触发的脚本运行命令,并执行所述脚本运行命令,对所述目标软件安装压缩包及所述目标差异化文件压缩包进行解压,得到目标软件安装包及目标差异化文件;
仿真模块,用于通过仿真模拟操作调用预设升级脚本;
文件生成模块,用于执行所述预设升级脚本,根据所述目标软件安装包及所述目标差异化文件,通过差量更新算法生成补丁包升级文件。
9.一种补丁包升级文件生成设备,其特征在于,所述补丁包升级文件生成设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述补丁包升级文件生成设备执行如权利要求1-7中任一项所述的补丁包升级文件生成方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的补丁包升级文件生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311585350.4A CN117407031B (zh) | 2023-11-27 | 补丁包升级文件生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311585350.4A CN117407031B (zh) | 2023-11-27 | 补丁包升级文件生成方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117407031A true CN117407031A (zh) | 2024-01-16 |
CN117407031B CN117407031B (zh) | 2024-04-26 |
Family
ID=
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080019454A (ko) * | 2006-08-28 | 2008-03-04 | 웹싱크 주식회사 | 휴대 단말기의 펌웨어 업데이트용 델타파일 생성 방법과델타파일 및 이를 이용한 펌웨어 업데이트 방법 |
CN103324494A (zh) * | 2012-03-22 | 2013-09-25 | 金蝶软件(中国)有限公司 | 自动制作补丁的方法、服务器及系统 |
CN103677876A (zh) * | 2012-09-12 | 2014-03-26 | 中兴通讯股份有限公司 | 一种软件安装包制作安装方法、设备及系统 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN105468396A (zh) * | 2014-09-11 | 2016-04-06 | 深圳Tcl数字技术有限公司 | 差分包生成方法、升级方法、生成装置及Linux终端 |
CN105760183A (zh) * | 2014-12-15 | 2016-07-13 | 北京奇虎科技有限公司 | 文件处理方法、装置及通信系统 |
CN106648712A (zh) * | 2017-02-27 | 2017-05-10 | 百度在线网络技术(北京)有限公司 | 增量更新包的生成方法、装置和服务器 |
CN108446127A (zh) * | 2017-02-14 | 2018-08-24 | 百度在线网络技术(北京)有限公司 | 更新包的处理方法及装置 |
US20190155598A1 (en) * | 2017-11-17 | 2019-05-23 | Apple Inc. | Techniques for updating a file using a multi-version patch file |
CN110162330A (zh) * | 2019-07-08 | 2019-08-23 | 上海赫千电子科技有限公司 | 一种应用于汽车ecu升级文件的系统及方法 |
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080019454A (ko) * | 2006-08-28 | 2008-03-04 | 웹싱크 주식회사 | 휴대 단말기의 펌웨어 업데이트용 델타파일 생성 방법과델타파일 및 이를 이용한 펌웨어 업데이트 방법 |
CN103324494A (zh) * | 2012-03-22 | 2013-09-25 | 金蝶软件(中国)有限公司 | 自动制作补丁的方法、服务器及系统 |
CN103677876A (zh) * | 2012-09-12 | 2014-03-26 | 中兴通讯股份有限公司 | 一种软件安装包制作安装方法、设备及系统 |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN105468396A (zh) * | 2014-09-11 | 2016-04-06 | 深圳Tcl数字技术有限公司 | 差分包生成方法、升级方法、生成装置及Linux终端 |
CN105760183A (zh) * | 2014-12-15 | 2016-07-13 | 北京奇虎科技有限公司 | 文件处理方法、装置及通信系统 |
CN108446127A (zh) * | 2017-02-14 | 2018-08-24 | 百度在线网络技术(北京)有限公司 | 更新包的处理方法及装置 |
CN106648712A (zh) * | 2017-02-27 | 2017-05-10 | 百度在线网络技术(北京)有限公司 | 增量更新包的生成方法、装置和服务器 |
US20190155598A1 (en) * | 2017-11-17 | 2019-05-23 | Apple Inc. | Techniques for updating a file using a multi-version patch file |
CN110162330A (zh) * | 2019-07-08 | 2019-08-23 | 上海赫千电子科技有限公司 | 一种应用于汽车ecu升级文件的系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577475B (zh) | 一种数据中心集群系统的软件包管理方法及系统 | |
CN108319460B (zh) | 应用程序安装包的生成方法、装置、电子设备及存储介质 | |
CN108388445B (zh) | 一种基于“平台+应用”模式的持续集成方法 | |
CN107844343B (zh) | 一种复杂服务端应用系统的升级系统及方法 | |
CN105354140A (zh) | 一种自动化测试的方法及系统 | |
CN108897547B (zh) | 一种软件自动化部署方法及装置 | |
CN111158741B (zh) | 监控业务模块对第三方类库依赖关系变化的方法及装置 | |
JP7262818B2 (ja) | エンジンデバッグ、テスト、較正、及び調節を制御するためのソフトウェア環境 | |
CN108959086B (zh) | 程序包测试部署方法、装置、系统、电子设备及存储介质 | |
CN106325902B (zh) | 数据库软件升级检测方法及装置 | |
CN110543427B (zh) | 测试用例存储方法、装置、电子设备及存储介质 | |
CN112860251A (zh) | 一种网站前端构建的方法与系统 | |
CN117407031B (zh) | 补丁包升级文件生成方法、装置、设备及存储介质 | |
CN108170588B (zh) | 一种测试环境搭建方法及装置 | |
CN117407031A (zh) | 补丁包升级文件生成方法、装置、设备及存储介质 | |
CN111782516A (zh) | 一种代码测试方法及装置、存储介质 | |
CN114816437A (zh) | 一种逆向生成Java实体类的方法、系统和设备 | |
CN113127884A (zh) | 一种基于虚拟化的漏洞并行验证方法及装置 | |
CN112346994A (zh) | 一种测试信息关联方法、装置、计算机设备及存储介质 | |
CN112015427A (zh) | 多种编译环境的搭建方法、装置及电子设备 | |
CN111506339A (zh) | 软件开发工具包sdk的变更信息处理方法及装置 | |
CN111949268A (zh) | 项目编译方法、装置、电子设备及存储介质 | |
CN112559444A (zh) | Sql文件迁移方法、装置、存储介质及设备 | |
CN111209197A (zh) | 应用程序持续集成测试方法、系统、设备和存储介质 | |
US20210406160A1 (en) | Verification device and verification method |
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 | ||
GR01 | Patent grant |