CN112328296B - 针对跨平台应用的软件更新方法、装置、设备和介质 - Google Patents
针对跨平台应用的软件更新方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN112328296B CN112328296B CN202011379272.9A CN202011379272A CN112328296B CN 112328296 B CN112328296 B CN 112328296B CN 202011379272 A CN202011379272 A CN 202011379272A CN 112328296 B CN112328296 B CN 112328296B
- Authority
- CN
- China
- Prior art keywords
- software
- version
- file
- updating
- current version
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000015654 memory Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 17
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 5
- 238000009434 installation Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 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
- G06F8/658—Incremental updates; Differential 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)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种针对跨平台应用的软件更新方法、装置、设备和介质,涉及软件的增量更新技术。具体实现方案为:通过软件中预先配置的启动管理文件读取版本描述文件,根据读取结果获取当前版本程序入口,其中,启动管理文件为软件中的应用入口文件,用于管理软件更新前后的实际程序入口;通过当前版本程序入口启动当前版本软件,其中,当前版本软件用于在进行软件的增量更新后更新版本描述文件,并控制当前版本软件重启;通过启动管理文件读取更新后的版本描述文件,根据读取结果获取更新版本程序入口,并通过更新版本程序入口启动更新版本软件。本申请利用启动管理文件管理软件更新前后的程序入口,实现针对跨平台应用的增量更新,提高更新效率。
Description
技术领域
本申请涉及互联网领域,尤其涉及一种软件更新技术,具体涉及一种针对跨平台应用的软件更新方法、装置、设备和介质。
背景技术
跨平台桌面应用通常使用跨平台技术,一次编码即可打包生成不同桌面平台(Mac/Windows/Linux)的安装包,常见的技术手段例如包括Electron、nw等。
在使用这些技术构建跨平台软件时,其自身提供的更新能力仅仅支持全量安装包下载更新,而当业务迭代导致安装包体积偏大或业务迭代频繁时,用户需要频繁更新软件,就会浪费较多的网络流量,并消耗较长等待时间,影响软件更新效率。
发明内容
本申请提供一种针对跨平台应用的软件更新方法、装置、设备和介质,以实现跨平台应用的增量更新,提高软件更新效率。
第一方面,本申请提供了一种针对跨平台应用的软件更新方法,包括:
通过软件中预先配置的启动管理文件读取版本描述文件,根据读取结果获取当前版本程序入口,其中,所述启动管理文件为软件中的应用入口文件,用于管理软件更新前后的实际程序入口;
通过所述当前版本程序入口启动当前版本软件,其中,所述当前版本软件用于在进行软件的增量更新后更新所述版本描述文件,并控制所述当前版本软件重启;
通过所述启动管理文件读取所述更新后的版本描述文件,根据读取结果获取更新版本程序入口,并通过所述更新版本程序入口启动更新版本软件。
第二方面,本申请还提供了一种针对跨平台应用的软件更新装置,包括:
程序入口获取模块,用于通过软件中预先配置的启动管理文件读取版本描述文件,根据读取结果获取当前版本程序入口,其中,所述启动管理文件为软件中的应用入口文件,用于管理软件更新前后的实际程序入口;
软件启动模块,用于通过所述当前版本程序入口启动当前版本软件,其中,所述当前版本软件用于在进行软件的增量更新后更新所述版本描述文件,并控制所述当前版本软件重启;
所述程序入口获取模块,还用于通过所述启动管理文件读取所述更新后的版本描述文件,根据读取结果获取更新版本程序入口;
所述软件启动模块,还用于通过所述更新版本程序入口启动更新版本软件。
第三方面,本申请还提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任意实施例所述的针对跨平台应用的软件更新方法。
第四方面,本申请还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请任意实施例所述的针对跨平台应用的软件更新方法。
根据本申请的技术方案,通过启动管理文件管理更新前后的实际程序入口,当软件增量更新后,通过程序入口的识别来启动更新后的软件,从而实现针对跨平台应用的增量补丁更新方案,提高了更新效率。
应当理解,本部分所描述的内容并非旨在标识本申请的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解,上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例的针对跨平台应用的软件更新方法的流程示意图;
图2是根据本申请实施例的软件更新方法中当前版本软件进行增量更新的流程示意图;
图3是根据本申请实施例的当前版本软件进行增量更新流程的一种示例;
图4是根据本申请实施例的针对跨平台应用的软件更新装置的结构示意图;
图5是用来实现本申请实施例的针对跨平台应用的软件更新方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例的针对跨平台应用的软件更新方法的流程示意图,本实施例可适用于对基于跨平台应用技术生成的应用软件进行增量更新的情况,涉及软件更新技术。该方法可由一种针对跨平台应用的软件更新装置来执行,该装置采用软件和/或硬件的方式实现,优选是配置于电子设备中,例如终端等。如图1所示,该方法具体包括如下:
S101、通过软件中预先配置的启动管理文件读取版本描述文件,根据读取结果获取当前版本程序入口,其中,启动管理文件为软件中的应用入口文件,用于管理软件更新前后的实际程序入口。
其中,启动管理文件是代替软件原本的应用入口文件的独立的一个文件,用于管理更新前后的实际程序入口。由于基于跨平台技术构建跨平台软件时,其自身提供的更新能力仅仅支持全量安装包下载更新,影响软件更新效率,而通过对软件入口进行改造,将启动管理文件代替软件原本的应用入口文件,来管理更新前后的实际程序入口,并在软件执行增量更新后,通过识别更新后的软件程序的入口来启动更新后的软件,从而使得基于跨平台技术构建的跨平台软件,也能实现增量补丁的更新方案,提高了软件更新效率。
所述版本描述文件用于记录软件更新状态,可以包括软件更新程序存储的地址和版本标识等信息。例如,当软件更新后,可以在版本描述文件中描述废弃旧版本,切换到新版本上,并记录新版本的路径,这样,根据版本描述文件中记载的新版本路径,就可以获取当前更新后的程序入口,而如果软件没有更新,那么当前程序入口就还是旧版本的入口。
S102、通过当前版本程序入口启动当前版本软件,其中,当前版本软件用于在进行软件的增量更新后更新版本描述文件,并控制当前版本软件重启。
如果软件有更新,那么当前版本程序入口就是已经更新的软件的入口,当前版本软件就是更新后的软件,反之,如果软件没有更新,那么当前版本程序入口就是没有更新的软件入口,当前版本软件就是指之前的旧版本软件。
当前版本软件启动后,会与后台服务器进行交互,进行更新状态检查,例如,通过服务器下发的版本文件检查是否有更新。如果有更新,则可以通过服务器下载待更新的补丁文件、打包旧包、根据补丁文件和旧包生成新包、解压新包,以完成增量更新过程,并在增量更新后更新版本描述文件,以便在当前版本软件重启后,启动管理文件能够通过版本描述文件获知当前是否有最新的软件版本。
S103、通过启动管理文件读取更新后的版本描述文件,根据读取结果获取更新版本程序入口,并通过更新版本程序入口启动更新版本软件。
如果启动管理文件读取更新后的版本描述文件,获知当前版本已经更新,并获取到更新版本程序入口,之后,便可以通过更新版本程序入口启动更新版本软件。
本申请实施例的技术方案,通过启动管理文件管理更新前后的实际程序入口,当软件增量更新后,通过程序入口的识别来启动更新后的软件,从而实现针对跨平台应用的增量补丁更新方案,提高了更新效率。
图2是根据本申请实施例的软件更新方法中当前版本软件进行增量更新的流程示意图,本实施例在上述实施例的基础上进一步进行优化。如图2所示,该方法具体包括如下:
S201、通过服务器下载补丁文件,其中,补丁文件是服务器根据软件更新内容预先生成。
具体的,服务器是按照跨平台应用技术,并根据软件更新内容生成补丁文件。例如,服务器在按照跨平台应用技术打包软件的过程中,将更新的可执行的逻辑代码部分整合打包为tar格式归档包,作为后续补丁生成、还原的基础包。具体可以使用bsdiff算法,对新的tar包与旧版本tar包进行补丁生成运算。此外,由于此过程需要消耗资源较大,因此,补丁生成的过程可以通过分布式部署到多台机器中进行计算,以提高效率。
S202、将当前版本软件打包为旧包。
S203、根据补丁文件和旧包生成更新版本软件的新包。
其中,打包旧包和生成新包所采用的工具和算法,可以利用现有技术中的任意一种来实现,此处不再赘述。
S204、解压新包到目标地址,并在版本描述文件中更新目标地址和更新版本软件的版本标识,其中,目标地址作为更新版本程序入口。
目标地址中存储有经解压的新版本软件,也是更新版本程序的入口,通过目标地址即可获取到更新版本程序并启动。同时,版本描述文件中还可以记载更新版本软件的版本标识,根据版本标识与旧版本标识的比较,可以确定当前版本有更新,然后根据标识和入口,就可以唯一地确定当前更新版本软件。
S205、控制当前版本软件重启。
当前版本软件在执行增量更新后,将更新版本软件存储到目标地址,但是尚未运行,需要先让当前版本软件重启,由作为软件入口文件的启动管理文件,通过版本描述文件获取更新版本程序的入口,并启动更新版本软件,至此,则完成了当前版本软件的增量更新。
此外,当前版本软件进行增量更新的过程中,还可以利用文件MD5,对新包和旧包进行完整性校验,以及,在完整性校验失败时,可以通过全量更新方式或手动更新方式进行软件更新,以确保更新的顺利进行。
图3是根据本申请实施例的当前版本软件进行增量更新流程的一种示例。如图所示,其中,启动应用程序,即为启动管理文件通过获取实际程序入口并启动当前版本应用程序,当前版本应用程序启动后,会通过服务器获取更新信息,并在判断出需要更新后,如果磁盘空间充足、允许增量更新且有写入权限,并且用户同意下载更新,就可以打包旧包、下载补丁文件并生成新包了。这其中,还需要通过文件MD5对旧包和新包进行完整性验证,如果验证通过,则进行新包的解压,并更新版本描述文件,否则降级执行全量安装包下载更新操作,或进行手动更新。
本申请实施例的技术方案,通过启动管理文件管理更新前后的实际程序入口,由当前版本软件下载补丁文件、打包旧包、生成新包、解压新包并更新版本描述文件,完成软件的增量更新过程。当软件增量更新后,通过程序入口的识别来启动更新后的软件,从而实现针对跨平台应用的增量补丁更新方案,提高了更新效率,降低了更新过程造成的流量消耗。此外,通过文件的完整性校验,确保了软件程序的完整性和安全性。同时,还设置了软件更新的降级方案,以确保在各种极端情况下,也能够顺利完成更新,不会对用户造成使用体验上的割裂问题。
图4是根据本申请实施例的针对跨平台应用的软件更新装置的结构示意图,本实施例可适用于对基于跨平台应用技术生成的应用软件进行增量更新的情况,涉及软件更新技术。该装置可实现本申请任意实施例所述的针对跨平台应用的软件更新方法。如图4所示,该装置400具体包括:
程序入口获取模块401,用于通过软件中预先配置的启动管理文件读取版本描述文件,根据读取结果获取当前版本程序入口,其中,所述启动管理文件为软件中的应用入口文件,用于管理软件更新前后的实际程序入口;
软件启动模块402,用于通过所述当前版本程序入口启动当前版本软件,其中,所述当前版本软件用于在进行软件的增量更新后更新所述版本描述文件,并控制所述当前版本软件重启;
所述程序入口获取模块401,还用于通过所述启动管理文件读取所述更新后的版本描述文件,根据读取结果获取更新版本程序入口;
所述软件启动模块402,还用于通过所述更新版本程序入口启动更新版本软件。
可选的,所述当前版本软件进行增量更新的过程,包括:
通过服务器下载补丁文件,其中,所述补丁文件是所述服务器根据软件更新内容预先生成;
将所述当前版本软件打包为旧包;
根据所述补丁文件和所述旧包生成所述更新版本软件的新包;
解压所述新包到目标地址,并在所述版本描述文件中更新所述目标地址和所述更新版本软件的版本标识,其中,所述目标地址作为所述更新版本程序入口;
控制所述当前版本软件重启。
可选的,所述当前版本软件进行增量更新的过程,还包括:
利用文件MD5,对所述新包和旧包进行完整性校验。
可选的,所述当前版本软件进行增量更新的过程,还包括:
若所述完整性校验失败,则通过全量更新方式或手动更新方式进行软件更新。
可选的,所述服务器是按照跨平台应用技术,并根据软件更新内容生成所述补丁文件。
本申请实施例提供的针对跨平台应用的软件更新装置400可执行本申请任意实施例提供的针对跨平台应用的软件更新方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本申请任意方法实施例中的描述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图5所示,是根据本申请实施例的针对跨平台应用的软件更新方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器501为例。
存储器502即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的针对跨平台应用的软件更新方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的针对跨平台应用的软件更新方法。
存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的针对跨平台应用的软件更新方法对应的程序指令/模块(例如,附图4所示的程序入口获取模块401和软件启动模块402)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的针对跨平台应用的软件更新方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实现本申请实施例的针对跨平台应用的软件更新方法的电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至实现本申请实施例的针对跨平台应用的软件更新方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现本申请实施例的针对跨平台应用的软件更新方法的电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置503可接收输入的数字或字符信息,以及产生与实现本申请实施例的针对跨平台应用的软件更新方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
根据本申请实施例的技术方案,通过启动管理文件管理更新前后的实际程序入口,由当前版本软件下载补丁文件、打包旧包、生成新包、解压新包并更新版本描述文件,完成软件的增量更新过程。当软件增量更新后,通过程序入口的识别来启动更新后的软件,从而实现针对跨平台应用的增量补丁更新方案,提高了更新效率,降低了更新过程造成的流量消耗。此外,通过文件的完整性校验,确保了软件程序的完整性和安全性。同时,还设置了软件更新的降级方案,以确保在各种极端情况下,也能够顺利完成更新,不会对用户造成使用体验上的割裂问题。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (10)
1.一种针对跨平台应用的软件更新方法,包括:
通过软件中预先配置的启动管理文件读取版本描述文件,根据读取结果获取当前版本程序入口,其中,所述启动管理文件为软件中的应用入口文件,用于管理软件更新前后的实际程序入口;
通过所述当前版本程序入口启动当前版本软件,其中,所述当前版本软件用于在进行软件的增量更新后更新所述版本描述文件,并控制所述当前版本软件重启;
通过所述启动管理文件读取所述更新后的版本描述文件,根据读取结果获取更新版本程序入口,并通过所述更新版本程序入口启动更新版本软件;
其中,所述当前版本软件具体用于:
通过服务器下载补丁文件,其中,所述补丁文件是所述服务器根据软件更新内容预先生成;
将所述当前版本软件打包为旧包;
根据所述补丁文件和所述旧包生成所述更新版本软件的新包;
解压所述新包到目标地址,并在所述版本描述文件中更新所述目标地址和所述更新版本软件的版本标识,其中,所述目标地址作为所述更新版本程序入口;
控制所述当前版本软件重启。
2.根据权利要求1所述的方法,其中,所述当前版本软件进行增量更新的过程,还包括:
利用文件MD5,对所述新包和旧包进行完整性校验。
3.根据权利要求2所述的方法,其中,所述当前版本软件进行增量更新的过程,还包括:
若所述完整性校验失败,则通过全量更新方式或手动更新方式进行软件更新。
4.根据权利要求1所述的方法,其中,所述服务器是按照跨平台应用技术,并根据软件更新内容生成所述补丁文件。
5.一种针对跨平台应用的软件更新装置,包括:
程序入口获取模块,用于通过软件中预先配置的启动管理文件读取版本描述文件,根据读取结果获取当前版本程序入口,其中,所述启动管理文件为软件中的应用入口文件,用于管理软件更新前后的实际程序入口;
软件启动模块,用于通过所述当前版本程序入口启动当前版本软件,其中,所述当前版本软件用于在进行软件的增量更新后更新所述版本描述文件,并控制所述当前版本软件重启;
所述程序入口获取模块,还用于通过所述启动管理文件读取所述更新后的版本描述文件,根据读取结果获取更新版本程序入口;
所述软件启动模块,还用于通过所述更新版本程序入口启动更新版本软件;
其中,所述当前版本软件具体用于:
通过服务器下载补丁文件,其中,所述补丁文件是所述服务器根据软件更新内容预先生成;
将所述当前版本软件打包为旧包;
根据所述补丁文件和所述旧包生成所述更新版本软件的新包;
解压所述新包到目标地址,并在所述版本描述文件中更新所述目标地址和所述更新版本软件的版本标识,其中,所述目标地址作为所述更新版本程序入口;
控制所述当前版本软件重启。
6.根据权利要求5所述的装置,其中,所述当前版本软件进行增量更新的过程,还包括:
利用文件MD5,对所述新包和旧包进行完整性校验。
7.根据权利要求6所述的装置,其中,所述当前版本软件进行增量更新的过程,还包括:
若所述完整性校验失败,则通过全量更新方式或手动更新方式进行软件更新。
8.根据权利要求5所述的装置,其中,所述服务器是按照跨平台应用技术,并根据软件更新内容生成所述补丁文件。
9. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的针对跨平台应用的软件更新方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行权利要求1-4中任一项所述的针对跨平台应用的软件更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011379272.9A CN112328296B (zh) | 2020-11-30 | 2020-11-30 | 针对跨平台应用的软件更新方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011379272.9A CN112328296B (zh) | 2020-11-30 | 2020-11-30 | 针对跨平台应用的软件更新方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112328296A CN112328296A (zh) | 2021-02-05 |
CN112328296B true CN112328296B (zh) | 2024-04-02 |
Family
ID=74308351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011379272.9A Active CN112328296B (zh) | 2020-11-30 | 2020-11-30 | 针对跨平台应用的软件更新方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328296B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204351B (zh) * | 2021-07-06 | 2021-10-22 | 成都菁蓉联创科技有限公司 | 一种嵌入式系统包管理方法及其使用方法 |
CN114768258A (zh) * | 2022-03-22 | 2022-07-22 | 广州简悦信息科技有限公司 | 服务开启方法、服务重启方法以及服务热更新方法 |
CN116561472B (zh) * | 2023-04-14 | 2023-12-26 | 广州力麒智能科技有限公司 | 基于Electron跨平台技术的政务浏览器系统架构 |
CN117827261A (zh) * | 2024-03-06 | 2024-04-05 | 暗物智能科技(广州)有限公司 | 基于字符串的Electron应用增量更新方法、系统、介质及终端 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770383A (zh) * | 2010-01-22 | 2010-07-07 | 中兴通讯股份有限公司 | 一种跨平台版本在线升级的方法及装置 |
CN102300200A (zh) * | 2011-09-08 | 2011-12-28 | 中兴通讯股份有限公司 | 一种软件版本升级的方法、版本发布设备及移动终端 |
CN106528125A (zh) * | 2016-10-26 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种数据文件的增量更新方法和服务器、客户端以及系统 |
CN106919378A (zh) * | 2016-08-24 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 基于增量的应用更新和测试方法及系统、服务器及客户端 |
CN108268268A (zh) * | 2017-12-20 | 2018-07-10 | 成都志心科技有限公司 | 一种实现跨平台软件动态控制的方法及其系统 |
CN109491695A (zh) * | 2018-10-19 | 2019-03-19 | 华南理工大学 | 一种集成安卓应用的增量更新方法 |
CN111338666A (zh) * | 2020-02-10 | 2020-06-26 | 北京字节跳动网络技术有限公司 | 一种实现应用程序升级的方法、装置、介质和电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4864557B2 (ja) * | 2006-06-15 | 2012-02-01 | 富士通株式会社 | ソフトウェアの更新処理プログラム及び更新処理装置 |
US8448161B2 (en) * | 2007-07-30 | 2013-05-21 | Adobe Systems Incorporated | Application tracking for application execution environment |
-
2020
- 2020-11-30 CN CN202011379272.9A patent/CN112328296B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770383A (zh) * | 2010-01-22 | 2010-07-07 | 中兴通讯股份有限公司 | 一种跨平台版本在线升级的方法及装置 |
CN102300200A (zh) * | 2011-09-08 | 2011-12-28 | 中兴通讯股份有限公司 | 一种软件版本升级的方法、版本发布设备及移动终端 |
CN106919378A (zh) * | 2016-08-24 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 基于增量的应用更新和测试方法及系统、服务器及客户端 |
CN106528125A (zh) * | 2016-10-26 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种数据文件的增量更新方法和服务器、客户端以及系统 |
CN108268268A (zh) * | 2017-12-20 | 2018-07-10 | 成都志心科技有限公司 | 一种实现跨平台软件动态控制的方法及其系统 |
CN109491695A (zh) * | 2018-10-19 | 2019-03-19 | 华南理工大学 | 一种集成安卓应用的增量更新方法 |
CN111338666A (zh) * | 2020-02-10 | 2020-06-26 | 北京字节跳动网络技术有限公司 | 一种实现应用程序升级的方法、装置、介质和电子设备 |
Non-Patent Citations (2)
Title |
---|
MD5软件在版本控制中的应用研究;李韩芬;张家凤;陈莹;;无线互联科技(17);全文 * |
基于FTP和消息机制的跨平台系统自动更新研究;张功萱;陈瀚;;计算机安全(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112328296A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112328296B (zh) | 针对跨平台应用的软件更新方法、装置、设备和介质 | |
CN110780890B (zh) | 系统升级方法、装置、电子设备和介质 | |
CN111258609B (zh) | Kubernetes集群的升级方法、装置、电子设备和介质 | |
US11297126B2 (en) | System and method for image file generation and management | |
CN110995480B (zh) | 区块链网络部署方法、装置、电子设备和介质 | |
JP7256217B2 (ja) | サービス情報処理方法、装置、設備、コンピュータ記憶媒体、及びプログラム | |
CN111459511B (zh) | 应用程序的下载方法、装置及电子设备 | |
CN111273872A (zh) | 一种数据迁移方法、装置、设备和介质 | |
CN112565356B (zh) | 数据存储方法、装置以及电子设备 | |
CN111782254A (zh) | 用于升级对象的方法、装置、设备以及存储介质 | |
CN111885114B (zh) | 网关中的应用程序接口模块的升级方法、设备及存储介质 | |
CN112328328A (zh) | 设备驱动重载的方法、装置、设备以及存储介质 | |
CN114721686A (zh) | 配置数据更新方法、装置、电子设备和存储介质 | |
CN111625195A (zh) | 用于服务器扩容的方法及装置 | |
CN115202686A (zh) | 虚拟化系统的升级方法、装置、电子设备及存储介质 | |
JP2021131897A (ja) | スケジューリング方法、装置、設備、記憶設備、及びプログラム | |
CN111399888B (zh) | 音频处理芯片的处理方法、装置及电子设备 | |
CN113051122B (zh) | 性能数据获取方法、装置、电子设备和介质 | |
CN111694608B (zh) | 终端设备的系统升级方法和装置、电子设备和终端设备 | |
CN104516752A (zh) | 一种信息处理方法及电子设备 | |
CN113986385A (zh) | 项目字体库加载方法、装置、电子设备及存储介质 | |
CN112527368B (zh) | 集群内核版本更新方法、装置、电子设备和存储介质 | |
CN114756300B (zh) | 云设备的配置方法、装置、电子设备和介质 | |
CN113326459B (zh) | 图片更新方法和装置 | |
CN111258954B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |