应用程序的更新方法、装置、电子设备及计算机可读介质与流程
未命名
10-17
阅读:158
评论:0
1.本发明涉及程序更新技术领域,特别涉及一种应用程序的更新方法、装置、电子设备及计算机可读介质。
背景技术:
2.随着手机、电脑等智能电子设备的普及,用户也越来越多的下载和使用各种应用程序。
3.应用程序常需要进行更新,当前的应用程序在更新时会弹出对话框提示用户进行更新,用户点击对话框的确认更新按键后,应用程序会首先退出运行,然后再进行更新。
4.当前的更新方式需要用户手动确认,较为繁琐。
技术实现要素:
5.本发明提供一种应用程序的更新方法、装置、电子设备及计算机可读介质,以解决当前的更新方式较为繁琐的问题。
6.为实现上述目的,本发明提供如下技术方案:
7.一种应用程序的更新方法,应用于安装有目标应用程序的电子设备中,所述目标应用程序中设置有主进程和宿主进程,所述方法包括:
8.所述宿主进程判断所述目标应用程序是否满足预设的更新条件中的至少一个条件,所述预设的更新条件包括:所述主进程已退出运行,和/或,所述目标应用程序在后台运行的时长不低于预设时长;
9.若满足所述预设的更新条件中的至少一个条件,则所述宿主进程基于所述目标应用程序的更新文件进行更新。
10.可选的,所述宿主进程基于所述目标应用程序的更新文件进行更新,包括:
11.所述宿主进程判断所述目标应用程序的更新文件是否为公共模块的更新文件,若为公共模块的更新文件,则在所述主进程退出运行后利用所述目标应用程序的更新文件进行更新;若不为公共模块的更新文件,则在所述主进程运行的状态下利用所述目标应用程序的更新文件进行更新。
12.可选的,所述在所述主进程退出运行后利用所述目标应用程序的更新文件进行更新,包括:
13.若所述主进程未退出运行,则所述宿主进程控制所述主进程退出运行,然后利用所述目标应用程序的更新文件进行更新。
14.可选的,在所述目标应用程序更新完毕后,所述方法还包括:
15.若所述目标应用程序满足的预设的更新条件为所述主进程已退出运行,则所述宿主进程控制所述主进程启动运行,然后所述宿主进程控制所述目标应用程序在后台运行;
16.和/或,
17.若所述目标应用程序满足的预设的更新条件为所述目标应用程序在后台运行的
时长不低于预设时长,则所述宿主进程控制所述宿主进程和所述主进程退出运行。
18.可选的,在所述目标应用程序更新完毕后,所述方法还包括:
19.若所述目标应用程序满足的预设的更新条件为所述主进程已退出运行,则所述宿主进程控制所述宿主进程和所述主进程退出运行;
20.和/或,
21.若所述目标应用程序满足的预设的更新条件为所述目标应用程序在后台运行的时长不低于预设时长,则所述宿主进程控制所述主进程启动运行,然后所述宿主进程控制所述目标应用程序在后台运行。
22.可选的,所述方法还包括:
23.所述主进程获得服务端设备发送的更新资源的下载地址及所述更新资源的特征值;
24.若所述目标应用程序本地的目标资源的特征值与所述更新资源的特征值不一致,则所述主进程从所述下载地址下载所述更新资源以获得所述目标应用程序的更新文件,否则,丢弃所述下载地址及所述更新资源的特征值。
25.可选的,所述方法还包括:
26.所述主进程将所述目标应用程序的标识信息发送至服务端设备,所述标识信息包括:当前版本号和渠道号;
27.所述主进程接收所述服务端设备发送的更新资源的下载地址及所述更新资源的特征值,其中,所述更新资源与所述标识信息匹配。
28.一种应用程序的更新装置,应用于安装有目标应用程序的电子设备中,所述目标应用程序中设置有主进程和宿主进程,所述装置包括:宿主进程模块和主进程模块,
29.所述宿主进程模块,用于判断所述目标应用程序是否满足预设的更新条件中的至少一个条件,所述预设的更新条件包括:所述主进程模块已退出运行,和/或,所述目标应用程序在后台运行的时长不低于预设时长;若满足所述预设的更新条件中的至少一个条件,则所述宿主进程模块基于所述目标应用程序的更新文件进行更新。
30.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现上述任一种应用程序的更新方法。
31.一种电子设备,包括:
32.一个或多个处理器;
33.存储装置,其上存储有一个或多个程序;
34.当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任一种应用程序的更新方法。
35.由以上技术方案可以看出,本发明中公开了一种应用程序的更新方法、装置、电子设备及计算机可读介质,应用于安装有目标应用程序的电子设备中,目标应用程序中设置有主进程和宿主进程,其中方法包括:宿主进程判断目标应用程序是否满足预设的更新条件中的至少一个条件,预设的更新条件包括:主进程已退出运行,和/或,目标应用程序在后台运行的时长不低于预设时长;若满足预设的更新条件中的至少一个条件,则宿主进程基于目标应用程序的更新文件进行更新。本技术的宿主进程可以在主进程已退出运行时以及目标应用程序在后台运行的时长不低于预设时长时自动进行更新,无需用户手动确认,十
分简便。同时,本技术的更新时机不会影响用户对目标应用程序的正常使用。
附图说明
36.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.图1为本发明实施例提供的一种应用程序的更新方法的流程图;
38.图2为本发明实施例提供的另一种应用程序的更新方法的流程图;
39.图3为本发明实施例提供的一种应用程序的更新方法中主进程获得更新文件的过程的流程图;
40.图4为本发明实施例提供的一种应用程序的更新装置的结构示意图。
具体实施方式
41.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.如图1所示,本发明实施例提供了一种应用程序的更新方法,应用于安装有目标应用程序的电子设备中,目标应用程序中设置有主进程和宿主进程,该方法可以包括:
43.s001、宿主进程判断目标应用程序是否满足预设的更新条件中的至少一个条件,预设的更新条件包括:主进程已退出运行,和/或,目标应用程序在后台运行的时长不低于预设时长。若满足预设的更新条件中的至少一个条件,则执行步骤s002,否则继续执行步骤s001。
44.在实际应用中,步骤s001可以周期性执行,本技术不对其执行周期的具体数值进行限定。
45.进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。主进程是程序执行的入口,主进程用于完成目标应用程序的主要功能。宿主进程是负责启动其他进程并提供基本服务的进程。
46.可选的,目标应用程序可以为电脑系统的桌面程序,桌面程序是可以跟随电脑系统启动并将程序界面直接加载在电脑系统桌面的程序,如桌面日历程序等。当然,目标应用程序也可以是其他任何类型的应用程序,如可播放多媒体的应用程序。
47.可以理解的是,后台运行是计算机术语,它指的是程序以用户无感知的方式运行的状态。目标应用程序在后台运行时,目标应用程序的主界面可以不进行显示。可选的,上述预设时长可以为十分钟或其他时长。
48.可选的,主进程可以将自己的运行状态告知宿主进程,以便于宿主进程对主进程的状态进行监控,进而确定目标应用程序是否满足上述预设的更新条件。在实际应用中,主进程可以利用event事件机制告知宿主进程其运行状态。
49.可选的,主进程可以在退出运行前向宿主进程发送第一通知,然后退出运行。主进
程也可以在目标应用程序在后台运行的时长不低于预设时长后,向宿主进程发送第二通知。宿主进程可以根据接收到的通知来判断目标应用程序是否满足预设的更新条件中的至少一个条件。
50.s002、宿主进程基于目标应用程序的更新文件进行更新。
51.可选的,步骤s002所进行的更新可以为热更新。上述更新文件可以为热更新文件,该热更新文件为按照被更新的文件的原有的路径进行压缩后获得的文件。即:热更新文件的解压缩路径与被更新的文件的原有的路径一致,这样在进行热更新时只需要对热更新文件进行解压即可覆盖被更新的文件,从而实现热更新。
52.应用程序的更新文件通常是指安装应用程序时所需要的安装包(即升级包),其中包含了应用程序的所有新功能、修复和优化等内容。当用户安装新版本的应用程序时,通常会下载并安装该应用程序的更新文件,以获得最新的功能和修复。
53.更新文件通常是以zip、exe、msi等格式存在的,其中.zip格式的更新文件是最常见的。当用户下载并安装更新文件后,更新文件会被存储在本地电子设备上的某个位置,可以在电子设备的文件管理器中找到。
54.本发明实施例的宿主进程可以在主进程已退出运行时以及目标应用程序在后台运行的时长不低于预设时长时自动进行更新,无需用户手动确认,十分简便。同时,本技术的更新时机不会影响用户对目标应用程序的正常使用。
55.如图2所示,在本发明实施例提供的另一种应用程序的更新方法中,图1所示的步骤s002可以具体包括:
56.s003、宿主进程判断目标应用程序的更新文件是否为公共模块的更新文件,若为公共模块的更新文件,则执行步骤s004;若不为公共模块的更新文件,则执行步骤s005。
57.公共模块是可以被其他模块重复使用的基本代码和逻辑块。在一个系统中,公共模块的数量可以根据需要而定,但通常会包含一些常用的基本功能。
58.本技术可以预先记录目标应用程序的各公共模块的标识,这样就可以基于更新文件中携带的模块的标识来判断更新文件是否为公共模块的更新文件。
59.本技术可以预先对于文件模块进行划分,划分为公共模块、播放模块、下载模块、上报模块、p2p模块等等。
60.s004、在主进程退出运行后利用目标应用程序的更新文件进行更新。
61.如果为公共模块的更新文件,则该更新文件更新时需要修改公共模块,进而影响主进程的运行。因此,本技术可以在主进程退出运行后再进行更新。具体的,若需要更新时主进程已退出运行,则直接进行更新即可;若需要更新时主进程未退出运行,则需要宿主进程首先控制主进程退出运行,然后再利用目标应用程序的更新文件进行更新。
62.上述在主进程退出运行后利用目标应用程序的更新文件进行更新,包括:若主进程未退出运行,则宿主进程控制主进程退出运行,然后利用目标应用程序的更新文件进行更新。
63.s005、在主进程运行的状态下利用目标应用程序的更新文件进行更新。
64.如果不为公共模块的更新文件,则该更新文件更新时不会修改公共模块,也不影响主进程的运行,此时本技术可以在主进程运行的状态下利用目标应用程序的更新文件进行更新。
65.执行步骤s005时,更新文件不能冷加载(如通过工程项目加载dll动态库的形式),需要通过热加载的方式(如getprocaddress)进行更新。
66.在本发明实施例提供的另一种应用程序的更新方法中,在目标应用程序更新完毕后,还包括步骤一至步骤四中的至少一个:
67.步骤一、若目标应用程序满足的预设的更新条件为主进程已退出运行,则宿主进程控制主进程启动运行,然后宿主进程控制目标应用程序在后台运行。
68.通过步骤一,本技术可以在更新完毕后再次启动主进程,并控制目标应用程序在后台运行,以方便用户对更新后的目标应用程序的使用。
69.步骤二、若目标应用程序满足的预设的更新条件为目标应用程序在后台运行的时长不低于预设时长,则宿主进程控制宿主进程和主进程退出运行。
70.若更新前目标应用程序在后台运行的时长不低于预设时长,说明用户当前并不需要使用目标应用程序,本技术在更新后控制宿主进程和主进程退出运行可以起到降低电子设备运行负担的效果。
71.步骤三、若目标应用程序满足的预设的更新条件为主进程已退出运行,则宿主进程控制宿主进程和主进程退出运行。
72.步骤四、若目标应用程序满足的预设的更新条件为目标应用程序在后台运行的时长不低于预设时长,则宿主进程控制主进程启动运行,然后宿主进程控制目标应用程序在后台运行。
73.通过步骤三和步骤四,本技术可以还原目标应用程序更新前的状态,使得目标应用程序在更新前和更新后的运行状态一致,达到了用户对更新“无感”的效果,避免了更新过程对用户使用目标应用程序产生的干扰。
74.可选的,目标应用程序为个人计算机中安装的应用程序,和/或,在后台运行状态下,目标应用程序的主窗口未显示且目标应用程序未播放多媒体文件。
75.应用程序的主窗口是指位于应用程序操作系统上的,最重要的且具有大部分视觉化显示区域的窗口。主窗口是用户与应用程序进行交互的主要界面,通常是应用程序启动后首先显示的窗口。在现代操作系统中,通常还包括菜单、工具栏、状态栏和控制条等辅助元素。
76.当目标应用程序为具有多媒体文件播放功能的应用程序时,若目标应用程序仍在播放多媒体文件或其主窗口处于显示状态,则说明用户仍在使用目标应用程序,因此,为了避免在用户使用目标应用程序时进行更新,本技术的目标应用程序在后台运行状态下,其主窗口未显示且未播放多媒体文件。
77.如图3所示,在本发明实施例提供的另一种应用程序的更新方法中,还包括:
78.s006、主进程获得服务端设备发送的更新资源的下载地址及更新资源的特征值。
79.其中,更新资源的特征值可以为md5值。
80.s007、主进程判断目标应用程序本地的目标资源的特征值是否与更新资源的特征值一致,若是,执行步骤s008;否则执行步骤s009。
81.如若一致,则说明目标应用程序本地的目标资源已是最新,无需重新下载,可以节省带宽资源。如不一致,则从下载地址下载更新资源然后更新即可。
82.s008、主进程丢弃下载地址及更新资源的特征值。
83.s009、主进程从下载地址下载更新资源以获得目标应用程序的更新文件。
84.在本发明实施例提供的另一种应用程序的更新方法中,还包括:
85.主进程将目标应用程序的标识信息发送至服务端设备,标识信息包括:当前版本号和渠道号;
86.主进程接收服务端设备发送的更新资源的下载地址及更新资源的特征值,其中,更新资源与标识信息匹配。
87.可选的,服务端设备中可以保存有针对不同版本号和渠道号的更新资源,服务端设备在接收到某设备发送的某版本号和渠道号后,可以通过接口将相应的更新资源的下载地址及更新资源的特征值返回该设备。如果服务端设备中不存在与上述某版本号和渠道号关联的更新资源时,服务端设备可以向该设备发送相应的通知。
88.与上述方法实施例相对应,本技术实施例还提供了一种应用程序的更新装置,应用于安装有目标应用程序的电子设备中,目标应用程序中设置有主进程和宿主进程,如图4所示,该装置可以包括:宿主进程模块001和主进程模块002,
89.宿主进程模块001,用于判断目标应用程序是否满足预设的更新条件中的至少一个条件,预设的更新条件包括:主进程模块002已退出运行,和/或,目标应用程序在后台运行的时长不低于预设时长;若满足预设的更新条件中的至少一个条件,则宿主进程模块001基于目标应用程序的更新文件进行更新。
90.可选的,宿主进程模块001基于目标应用程序的更新文件进行更新,具体配置为:
91.宿主进程模块001判断目标应用程序的更新文件是否为公共模块的更新文件,若为公共模块的更新文件,则在主进程模块002退出运行后利用目标应用程序的更新文件进行更新;若不为公共模块的更新文件,则在主进程模块002运行的状态下利用目标应用程序的更新文件进行更新。
92.可选的,在主进程模块002退出运行后利用目标应用程序的更新文件进行更新,具体配置为:
93.若主进程模块002未退出运行,则宿主进程模块001控制主进程模块002退出运行,然后利用目标应用程序的更新文件进行更新。
94.可选的,宿主进程模块001还用于:
95.在目标应用程序更新完毕后,若目标应用程序满足的预设的更新条件为主进程模块002已退出运行,则宿主进程模块001控制主进程模块002启动运行,然后宿主进程模块001控制目标应用程序在后台运行;
96.和/或,
97.在目标应用程序更新完毕后,若目标应用程序满足的预设的更新条件为目标应用程序在后台运行的时长不低于预设时长,则宿主进程模块001控制宿主进程模块001和主进程模块002退出运行。
98.可选的,宿主进程模块001还用于:
99.在目标应用程序更新完毕后,若所述目标应用程序满足的预设的更新条件为所述主进程模块002已退出运行,则宿主进程模块001控制宿主进程模块001和主进程模块002退出运行;
100.和/或,
101.在目标应用程序更新完毕后,若所述目标应用程序满足的预设的更新条件为所述目标应用程序在后台运行的时长不低于预设时长,则宿主进程模块001控制主进程模块002启动运行,然后宿主进程模块001控制目标应用程序在后台运行。
102.可选的,主进程模块002用于获得服务端设备发送的更新资源的下载地址及更新资源的特征值;若目标应用程序本地的目标资源的特征值与更新资源的特征值不一致,则主进程模块002从下载地址下载更新资源以获得目标应用程序的更新文件,否则,丢弃下载地址及更新资源的特征值。
103.可选的,主进程模块002用于:
104.将目标应用程序的标识信息发送至服务端设备,标识信息包括:当前版本号和渠道号;接收服务端设备发送的更新资源的下载地址及更新资源的特征值,其中,更新资源与标识信息匹配。
105.本技术实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现本技术实施例提供的任一种应用程序的更新方法。
106.本技术实施例还提供了一种电子设备,可以包括:
107.一个或多个处理器;
108.存储装置,其上存储有一个或多个程序;
109.当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现本技术实施例提供的任一种应用程序的更新方法。
110.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
111.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种应用程序的更新方法,其特征在于,应用于安装有目标应用程序的电子设备中,所述目标应用程序中设置有主进程和宿主进程,所述方法包括:所述宿主进程判断所述目标应用程序是否满足预设的更新条件中的至少一个条件,所述预设的更新条件包括:所述主进程已退出运行,和/或,所述目标应用程序在后台运行的时长不低于预设时长;若满足所述预设的更新条件中的至少一个条件,则所述宿主进程基于所述目标应用程序的更新文件进行更新。2.根据权利要求1所述的方法,其特征在于,所述宿主进程基于所述目标应用程序的更新文件进行更新,包括:所述宿主进程判断所述目标应用程序的更新文件是否为公共模块的更新文件,若为公共模块的更新文件,则在所述主进程退出运行后利用所述目标应用程序的更新文件进行更新;若不为公共模块的更新文件,则在所述主进程运行的状态下利用所述目标应用程序的更新文件进行更新。3.根据权利要求2所述的方法,其特征在于,所述在所述主进程退出运行后利用所述目标应用程序的更新文件进行更新,包括:若所述主进程未退出运行,则所述宿主进程控制所述主进程退出运行,然后利用所述目标应用程序的更新文件进行更新。4.根据权利要求1所述的方法,其特征在于,在所述目标应用程序更新完毕后,所述方法还包括:若所述目标应用程序满足的预设的更新条件为所述主进程已退出运行,则所述宿主进程控制所述主进程启动运行,然后所述宿主进程控制所述目标应用程序在后台运行;和/或,若所述目标应用程序满足的预设的更新条件为所述目标应用程序在后台运行的时长不低于预设时长,则所述宿主进程控制所述宿主进程和所述主进程退出运行。5.根据权利要求1所述的方法,其特征在于,在所述目标应用程序更新完毕后,所述方法还包括:若所述目标应用程序满足的预设的更新条件为所述主进程已退出运行,则所述宿主进程控制所述宿主进程和所述主进程退出运行;和/或,若所述目标应用程序满足的预设的更新条件为所述目标应用程序在后台运行的时长不低于预设时长,则所述宿主进程控制所述主进程启动运行,然后所述宿主进程控制所述目标应用程序在后台运行。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述主进程获得服务端设备发送的更新资源的下载地址及所述更新资源的特征值;若所述目标应用程序本地的目标资源的特征值与所述更新资源的特征值不一致,则所述主进程从所述下载地址下载所述更新资源以获得所述目标应用程序的更新文件,否则,丢弃所述下载地址及所述更新资源的特征值。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述主进程将所述目标应用程序的标识信息发送至服务端设备,所述标识信息包括:
当前版本号和渠道号;所述主进程接收所述服务端设备发送的更新资源的下载地址及所述更新资源的特征值,其中,所述更新资源与所述标识信息匹配。8.一种应用程序的更新装置,其特征在于,应用于安装有目标应用程序的电子设备中,所述目标应用程序中设置有主进程和宿主进程,所述装置包括:宿主进程模块和主进程模块,所述宿主进程模块,用于判断所述目标应用程序是否满足预设的更新条件中的至少一个条件,所述预设的更新条件包括:所述主进程模块已退出运行,和/或,所述目标应用程序在后台运行的时长不低于预设时长;若满足所述预设的更新条件中的至少一个条件,则所述宿主进程模块基于所述目标应用程序的更新文件进行更新。9.一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-7中任一所述的应用程序的更新方法。10.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-7中任一所述的应用程序的更新方法。
技术总结
本发明涉及一种应用程序的更新方法、装置、电子设备及计算机可读介质,应用于安装有目标应用程序的电子设备中,目标应用程序中设置有主进程和宿主进程,其中方法包括:宿主进程判断目标应用程序是否满足预设的更新条件中的至少一个条件,预设的更新条件包括:主进程已退出运行,和/或,目标应用程序在后台运行的时长不低于预设时长;若满足预设的更新条件中的至少一个条件,则宿主进程基于目标应用程序的更新文件进行更新。本申请的宿主进程可以在主进程已退出运行时以及目标应用程序在后台运行的时长不低于预设时长时自动进行更新,无需用户手动确认,十分简便。同时,本申请的更新时机不会影响用户对目标应用程序的正常使用。用。用。
技术研发人员:肖叶 姚世勇
受保护的技术使用者:湖南快乐阳光互动娱乐传媒有限公司
技术研发日:2023.08.03
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种铝合金门窗成型装置的制作方法 下一篇:一种用于物流的无人叉车的制作方法
