CN117539521A - 应用程序升级方法、装置、非易失性存储介质及电子设备 - Google Patents
应用程序升级方法、装置、非易失性存储介质及电子设备 Download PDFInfo
- Publication number
- CN117539521A CN117539521A CN202410036141.2A CN202410036141A CN117539521A CN 117539521 A CN117539521 A CN 117539521A CN 202410036141 A CN202410036141 A CN 202410036141A CN 117539521 A CN117539521 A CN 117539521A
- Authority
- CN
- China
- Prior art keywords
- module
- service module
- file
- application program
- target item
- 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 168
- 230000006854 communication Effects 0.000 claims abstract description 66
- 230000003068 static effect Effects 0.000 claims abstract description 58
- 238000012545 processing Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 21
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 238000009434 installation Methods 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication 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
- 238000000926 separation 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/60—Software deployment
- G06F8/61—Installation
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是根据本申请实施例提供的一种计算机终端(移动终端)的结构示意图;
图2是根据本申请实施例提供的一种应用程序升级方法的流程示意图;
图3是根据本申请实施例提供的一种业务模块和底座进程之间的通信过程的示意图;
图4是根据本申请实施例提供的一种应用程序升级装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在electron桌面端软件开发中,相关技术中的绝大部分技术架构基本为Electron+ Vue或者Electron + React架构,但是有一个不变的点是,这些架构中每个窗口创建的时候都需要指定视图部分的根入口文件进行页面加载,另外涉及到系统级的权限操作的时候会使用electron原生api的操作方法,利用ipc通信的方式进行视图部分和底座部分的通信。并且无论对业务代码中的哪一部分进行更新,都需要重新进行打包编译并进行覆盖更新后才能够使用更新后的应用程序,导致更新包的体积过大,且更新流程繁琐。
为了解决上述问题,本申请实施例中提供了相关的解决方案,以下详细说明。
根据本申请实施例,提供了一种应用程序升级方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现应用程序升级方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的应用程序升级方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序升级方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在上述运行环境下,本申请实施例提供了一种应用程序升级方法,如图2所示,该方法包括如下步骤:
步骤S202,确定应用程序中的业务模块和底座进程,其中,业务模块和底座进程之间通过公共通信进程进行通信,业务模块包括视图区域模块和功能模块;
在步骤S202所提供的技术方案中,确定应用程序中的业务模块和底座进程的步骤前,本申请实施例所提供的应用程序升级方法还可以采用如下步骤实现业务模块和底座进程之间的分离:确定业务模块和底座进程之间的通信进程,其中,不同的业务模块对应的通信进程不同;抽离各个业务模块对应的通信进程;对各个业务模块对应的通信进程进行封装,得到公共通信进程。
作为一种可选地实施方式,对各个业务模块对应的通信进程进行封装,得到公共通信进程的步骤后,本申请实施例所提供的应用程序升级方法还包括:通过底座进程建立方法文件,其中,方法文件用于存放公共通信进程;在加载业务模块时,发送方法文件给业务模块。
具体地,在本申请的一些实施例中,可以以electron中的ipc通信方法为基础,抽离应用程序中业务模块和底座进程之间的全部的ipc通信方法以及通信过程中依赖底座权限的通信流程,统一封装为ipc通信方法,也就是上述方法文件。另外还可以抽离应用程序的electron中的其余的api,并集成到ipc通信方法文件中。当底座进程和业务模块之间需要通信时,例如当底座在窗口和业务窗口之间需要通信时,如图3所示,可以由底座窗口将通信方法文件和通信参数发送给对应的业务窗口,从而实现底座窗口和业务窗口之间的通信。
需要说明的是,上述ipc通信方法中还包括所有使用electron内置api或者依赖electron进行数据获取的方法或者node的api。之后在加载视图模块对应的视图文件时可以发送记载有通信方法集合的方法文件给对应的视图文件。
步骤S204,建立目标项目,并将业务模块和底座进程中与视图区域对应的静态资源存入目标项目中;
具体的,上述静态资源可以包括静态文件、图标、逻辑处理编译后的文件等。
在步骤S204所提供的技术方案中,将业务模块存入目标项目中的步骤包括:确定各个业务模块的功能类型;将功能类型相同的业务模块存入同一目标项目中。
作为一种可选的实施方式,将业务模块存入目标项目中的步骤包括:确定各个业务模块的文件体积;确定文件体积小于预设文件体积阈值的目标业务模块;将目标业务模块存入同一目标项目中。
在本申请的一些实施例中,将业务模块和底座进程之间分开后,可以将业务模块存放到新创建的项目文件中,并在存放后进行老项目的架构升级和迁移。上述存放在项目文件中的业务模块在非mode环境中运行(脱离electron时)也可以看做一个单独的项目文件。此时在开发非系统方法支持的功能时,可以直接在浏览器中对项目文件进行开发和测试,提高了开发效率。
在将业务模块存放到新创建的项目文件中时,可以按照功能模块的功能,将功能接近的功能模块存放到同一个项目文件中。并且可以将文件体积较小的业务模块二次合并,存放到同一个项目文件中。之后在调用业务模块时可以通过根路径来确定需要调用的业务模块在项目文件中的位置从而加载需要调用的业务模块。对于与其他业务模块之间的耦合度较低且文件体积较大的大功能模块,则可以单独剥离为一个项目文件并进行加载。
作为一种可选的实施方式,业务模块中和底座进程之间可以由底座进程发送给对应的业务模块相应的通信参数来实现和业务模块之间的通信,从而完成对业务模块的加载和调用。也可以直接将编译后的业务模块文件放到对应的底座项目中进行入口文件的加载和引入,从而让底座进程可以调用对应的业务模块。
另外在对项目文件中的业务模块进行升级后,可以配置升级后的业务模块的打包文件,并在底座进程中加载该打包文件。在打包时可以使用webpack等相关技术中通用的打包方式。
通过将业务模块与底座进程剥离,并将业务模块存入项目文件的方式,可以实现对业务模块的单独升级和覆盖更新,并在更新后在底座进程中进行与业务模块对应的静态资源的刷新,从而实现在用户无感知的情况下对应用程序的升级。其中在底座进程中进行与业务模块对应的静态资源的刷新指的是在底座进程中加载与业务模块对应的静态资源,业务模块对应的静态资源指的是对升级后的业务模块打包得到的文件。
步骤S206,在应用程序登陆时对目标项目中的业务模块和静态资源进行更新,得到更新文件包;
在步骤S206所提供的技术方案中,在对目标项目中的业务模块和静态资源进行更新,得到更新文件包的步骤包括:确定更新后的业务模块和静态资源各自对应的根目录信息;依据更新后的业务模块和静态资源各自对应的根目录信息,生成目录文件;依据目录文件生成包含目录文件的更新文件包。
作为一种可选的实施方式,在底座进程中加载更新文件包的步骤包括:确定底座进程中需要更新的静态资源的目录信息;依据目录信息,确定更新文件包中与目录信息对应的目录文件;依据目录文件,将底座进程中需要更新的静态资源替换为更新文件包中与目录文件对应的静态资源。
在本申请的一些实施例中,在对业务模块进行更新时,可以获取业务模块的升级包,并在安装升级包后下载升级的业务模块对应的打包文件,并将安装包与升级的业务模块对应的目录下的静态资源替换为打包文件,然后进行静态资源的刷新。
步骤S208,在底座进程中加载更新文件包。
通过采用确定应用程序中的业务模块和底座进程,其中,业务模块和底座进程之间通过公共通信进程进行通信,业务模块包括视图区域模块和功能模块;建立目标项目,并将业务模块和底座进程中与视图区域对应的静态资源存入目标项目中;在应用程序登陆时对目标项目中的业务模块和静态资源进行更新,得到更新文件包;在底座进程中加载更新文件包的方式,通过将业务模块和业务模块对应的静态资源存放到目标项目中,并让试图区域文件和底座进程之间通过公共通信进程进行通信的方式,达到了分离业务模块等应用程序和底座进程的目的,从而实现了在更新时只需要对需要更新的试图区域文件等应用程序进行代码进行更新,无需对底座进程进行更新的技术效果,进而解决了相关技术中在对应用程序进行更新时采用覆盖安装的方式导致的更新过程繁琐且更新包的体积过大的技术问题。
本申请实施例提供了一种应用程序升级装置,图4是该装置的结构示意图。如图4所示,该装置包括:第一处理模块40,用于确定应用程序中的业务模块和底座进程,其中,业务模块和底座进程之间通过公共通信进程进行通信,业务模块包括视图区域模块和功能模块;第二处理模块42,用于建立目标项目,并将业务模块和底座进程中与视图区域对应的静态资源存入目标项目中;第三处理模块44,用于在应用程序登陆时对目标项目中的业务模块和静态资源进行更新,得到更新文件包;第四处理模块46,用于在底座进程中加载更新文件包。
在本申请的一些实施例中,确定应用程序中的业务模块和底座进程的步骤前,第一处理模块40还用于:确定业务模块和底座进程之间的通信进程,其中,不同的业务模块对应的通信进程不同;抽离各个业务模块对应的通信进程;对各个业务模块对应的通信进程进行封装,得到公共通信进程。
在本申请的一些实施例中,第一处理模块40对各个业务模块对应的通信进程进行封装,得到公共通信进程的步骤后,应用程序升级方法还包括:通过底座进程建立方法文件,其中,方法文件用于存放公共通信进程;在加载业务模块时,发送方法文件给业务模块。
在本申请的一些实施例中,第二处理模块42将业务模块存入目标项目中的步骤包括:确定各个业务模块的功能类型;将功能类型相同的业务模块存入同一目标项目中。
在本申请的一些实施例中,第二处理模块42将业务模块存入目标项目中的步骤包括:确定各个业务模块的文件体积;确定文件体积小于预设文件体积阈值的目标业务模块;将目标业务模块存入同一目标项目中。
在本申请的一些实施例中,第三处理模块44在对目标项目中的业务模块和静态资源进行更新,得到更新文件包的步骤包括:确定更新后的业务模块和静态资源各自对应的根目录信息;依据更新后的业务模块和静态资源各自对应的根目录信息,生成目录文件;依据目录文件生成包含目录文件的更新文件包。
在本申请的一些实施例中,第三处理模块44在底座进程中加载更新文件包的步骤包括:确定底座进程中需要更新的静态资源的目录信息;依据目录信息,确定更新文件包中与目录信息对应的目录文件;依据目录文件,将底座进程中需要更新的静态资源替换为更新文件包中与目录文件对应的静态资源。
需要说明的是,上述应用程序升级装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
在本申请的一些实施例中,还提供了一种非易失性存储介质,非易失性存储介质中存储有程序,其中,在程序运行时控制非易失性存储介质所在设备执行如下应用程序升级方法:确定应用程序中的业务模块和底座进程,其中,业务模块和底座进程之间通过公共通信进程进行通信,业务模块包括视图区域模块和功能模块;建立目标项目,并将业务模块和底座进程中与视图区域对应的静态资源存入目标项目中;在应用程序登陆时对目标项目中的业务模块和静态资源进行更新,得到更新文件包;在底座进程中加载更新文件包。
在本申请的一些实施例中,还提供了一种电子设备,电子设备中存储有程序,其中,在程序运行时控制处理器所在设备执行如下应用程序升级方法:确定应用程序中的业务模块和底座进程,其中,业务模块和底座进程之间通过公共通信进程进行通信,业务模块包括视图区域模块和功能模块;建立目标项目,并将业务模块和底座进程中与视图区域对应的静态资源存入目标项目中;在应用程序登陆时对目标项目中的业务模块和静态资源进行更新,得到更新文件包;在底座进程中加载更新文件包。
在本申请的一些实施例中,还提供了一种计算机程序产品。该计算机程序产品可被电子设备或处理器运行,并在运行时执行如下应用程序升级方法:确定应用程序中的业务模块和底座进程,其中,业务模块和底座进程之间通过公共通信进程进行通信,业务模块包括视图区域模块和功能模块;建立目标项目,并将业务模块和底座进程中与视图区域对应的静态资源存入目标项目中;在应用程序登陆时对目标项目中的业务模块和静态资源进行更新,得到更新文件包;在底座进程中加载更新文件包。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种应用程序升级方法,其特征在于,包括:
确定应用程序中的业务模块和底座进程,其中,所述业务模块和所述底座进程之间通过公共通信进程进行通信,所述业务模块包括视图区域模块和功能模块;
建立目标项目,并将所述业务模块和所述底座进程中与所述视图区域对应的静态资源存入所述目标项目中;
在所述应用程序登陆时对所述目标项目中的业务模块和所述静态资源进行更新,得到更新文件包;
在所述底座进程中加载所述更新文件包。
2.根据权利要求1所述的应用程序升级方法,其特征在于,所述在对所述目标项目中的业务模块和所述静态资源进行更新,得到更新文件包的步骤包括:
确定更新后的所述业务模块和所述静态资源各自对应的根目录信息;
依据所述更新后的所述业务模块和所述静态资源各自对应的根目录信息,生成目录文件;
依据所述目录文件生成包含所述目录文件的所述更新文件包。
3.根据权利要求2所述的应用程序升级方法,其特征在于,所述在所述底座进程中加载所述更新文件包的步骤包括:
确定所述底座进程中需要更新的所述静态资源的目录信息;
依据所述目录信息,确定所述更新文件包中与所述目录信息对应的目录文件;
依据所述目录文件,将所述底座进程中需要更新的所述静态资源替换为所述更新文件包中与所述目录文件对应的静态资源。
4.根据权利要求1所述的应用程序升级方法,其特征在于,所述确定应用程序中的业务模块和底座进程的步骤前,所述应用程序升级方法还包括:
确定所述业务模块和所述底座进程之间的通信进程,其中,不同的业务模块对应的通信进程不同;
抽离各个所述业务模块对应的所述通信进程;
对各个所述业务模块对应的所述通信进程进行封装,得到所述公共通信进程。
5.根据权利要求4所述的应用程序升级方法,其特征在于,所述对各个所述业务模块对应的所述通信进程进行封装,得到所述公共通信进程的步骤后,所述应用程序升级方法还包括:
通过所述底座进程建立方法文件,其中,所述方法文件用于存放所述公共通信进程;
在加载所述业务模块时,发送所述方法文件给所述业务模块。
6.根据权利要求1所述的应用程序升级方法,其特征在于,所述将所述业务模块和存入所述目标项目中的步骤包括:
确定各个所述业务模块的功能类型;
将所述功能类型相同的所述业务模块存入同一所述目标项目中。
7.根据权利要求1所述的应用程序升级方法,其特征在于,所述将所述业务模块和存入所述目标项目中的步骤包括:
确定各个所述业务模块的文件体积;
确定所述文件体积小于预设文件体积阈值的目标业务模块;
将所述目标业务模块存入同一所述目标项目中。
8.一种应用程序升级装置,其特征在于,包括:
第一处理模块,用于确定应用程序中的业务模块和底座进程,其中,所述业务模块和所述底座进程之间通过公共通信进程进行通信,所述业务模块包括视图区域模块和功能模块;
第二处理模块,用于建立目标项目,并将所述业务模块和所述底座进程中与所述视图区域对应的静态资源存入所述目标项目中;
第三处理模块,用于在所述应用程序登陆时对所述目标项目中的业务模块和所述静态资源进行更新,得到更新文件包;
第四处理模块,用于在所述底座进程中加载所述更新文件包。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述的应用程序升级方法。
10.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述存储器中的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的应用程序升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410036141.2A CN117539521B (zh) | 2024-01-10 | 2024-01-10 | 应用程序升级方法、装置、非易失性存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410036141.2A CN117539521B (zh) | 2024-01-10 | 2024-01-10 | 应用程序升级方法、装置、非易失性存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117539521A true CN117539521A (zh) | 2024-02-09 |
CN117539521B CN117539521B (zh) | 2024-05-07 |
Family
ID=89782750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410036141.2A Active CN117539521B (zh) | 2024-01-10 | 2024-01-10 | 应用程序升级方法、装置、非易失性存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117539521B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702692A (zh) * | 2009-10-30 | 2010-05-05 | 南京中兴软创科技股份有限公司 | 一种对消息处理系统进行热更新的系统及其方法 |
US20150347119A1 (en) * | 2014-06-02 | 2015-12-03 | Qiushi WANG | Automatic deployment and update of hybrid applications |
CN108304207A (zh) * | 2018-03-01 | 2018-07-20 | 上海找钢网信息科技股份有限公司 | 混合app应用程序的资源更新方法及系统 |
CN110764805A (zh) * | 2019-10-28 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 客户端无感升级的方法、装置、终端及存储介质 |
CN113495738A (zh) * | 2020-04-07 | 2021-10-12 | 逸驾智能科技有限公司 | 应用程序的业务逻辑的更新方法及装置 |
CN114217822A (zh) * | 2021-11-18 | 2022-03-22 | 浙江中控技术股份有限公司 | 开发hmi框架安装包的方法以及基于hmi框架的热更新方法 |
CN114579206A (zh) * | 2022-03-17 | 2022-06-03 | 重庆紫光华山智安科技有限公司 | 动态加载应用程序的方法、装置、设备及介质 |
CN115686462A (zh) * | 2022-11-14 | 2023-02-03 | 兴业银行股份有限公司 | 基于React-Native的工程化架构方法及系统 |
CN116301807A (zh) * | 2023-03-20 | 2023-06-23 | 上海哔哩哔哩科技有限公司 | 基于Electron的应用程序的实现方法和装置 |
CN117056115A (zh) * | 2023-10-10 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 应用程序的修复方法和装置、存储介质及电子设备 |
-
2024
- 2024-01-10 CN CN202410036141.2A patent/CN117539521B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702692A (zh) * | 2009-10-30 | 2010-05-05 | 南京中兴软创科技股份有限公司 | 一种对消息处理系统进行热更新的系统及其方法 |
US20150347119A1 (en) * | 2014-06-02 | 2015-12-03 | Qiushi WANG | Automatic deployment and update of hybrid applications |
CN108304207A (zh) * | 2018-03-01 | 2018-07-20 | 上海找钢网信息科技股份有限公司 | 混合app应用程序的资源更新方法及系统 |
CN110764805A (zh) * | 2019-10-28 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 客户端无感升级的方法、装置、终端及存储介质 |
CN113495738A (zh) * | 2020-04-07 | 2021-10-12 | 逸驾智能科技有限公司 | 应用程序的业务逻辑的更新方法及装置 |
CN114217822A (zh) * | 2021-11-18 | 2022-03-22 | 浙江中控技术股份有限公司 | 开发hmi框架安装包的方法以及基于hmi框架的热更新方法 |
CN114579206A (zh) * | 2022-03-17 | 2022-06-03 | 重庆紫光华山智安科技有限公司 | 动态加载应用程序的方法、装置、设备及介质 |
CN115686462A (zh) * | 2022-11-14 | 2023-02-03 | 兴业银行股份有限公司 | 基于React-Native的工程化架构方法及系统 |
CN116301807A (zh) * | 2023-03-20 | 2023-06-23 | 上海哔哩哔哩科技有限公司 | 基于Electron的应用程序的实现方法和装置 |
CN117056115A (zh) * | 2023-10-10 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 应用程序的修复方法和装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117539521B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107346252B (zh) | 应用更新方法和装置 | |
CN106658475B (zh) | 一种空中下载技术升级方法和装置 | |
CN107741844B (zh) | 一种应用安装包的生成方法和装置 | |
CN108647032B (zh) | 应用加载方法及装置、计算机装置和计算机可读存储介质 | |
CN112506584B (zh) | 资源文件加载方法、装置、设备、存储介质以及产品 | |
US10404568B2 (en) | Agent manager for distributed transaction monitoring system | |
CN107861742A (zh) | 一种程序的运行方法和终端设备 | |
CN104765624B (zh) | 虚拟机应用程序的更新处理方法和装置 | |
CN108600331A (zh) | 交互界面呈现方法、客户端、终端及系统 | |
CN110764805B (zh) | 客户端无感升级的方法、装置、终端及存储介质 | |
CN111427594A (zh) | 应用程序运行方法及装置 | |
CN109885332A (zh) | 画质芯片软件升级方法、装置、显示设备及存储介质 | |
CN107526584B (zh) | 数据接入方法和装置 | |
CN114691390A (zh) | 用户态程序的处理方法和装置、存储介质及处理器 | |
CN108733370B (zh) | 原生app的样式化显示方法、装置、终端及存储介质 | |
CN117539521B (zh) | 应用程序升级方法、装置、非易失性存储介质及电子设备 | |
CN103761126A (zh) | 应用程序的升级方法和装置 | |
CN108334360A (zh) | 应用程序动态加载的方法、装置、存储介质和计算机设备 | |
CN110837381B (zh) | 投影设备的软件升级方法及装置 | |
US10193737B2 (en) | Method for performing communication between browser and mobile terminal, and browser apparatus | |
CN111190866A (zh) | 应用文档显示方法、装置、设备及存储介质 | |
CN113190565A (zh) | 数据更新方法及装置、存储介质及电子装置 | |
CN113467776A (zh) | 设备的接入方法、装置、存储介质和电子装置 | |
CN112306843A (zh) | 一种测试方法、装置以及存储介质 | |
CN114610331A (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 |