一种程序数据更新方法、电子设备及计算机存储介质技术

技术编号:28941267 阅读:12 留言:0更新日期:2021-06-18 21:45
本申请提供一种程序数据更新方法、电子设备及计算机存储介质,涉及互联网技术领域,解决了应用程序更新时出现程序闪退的问题。具体方案为:在第一应用处于正在使用状态,且需要对第一程序数据进行更新的情况下,将第一程序数据对应的升级任务放入等待列表;获取第一应用的使用状态;在第一应用处于未使用状态的情况下,将升级任务从所述等待列表中取出;在升级任务的指示下,解析安装第一程序数据的更新数据包;或,在升级任务的指示下,根据第二程序数据更新所述第一程序数据;其中,第二程序数据是在第二存储区域内解析安装第一程序数据的更新数据包后得到的数据;第二存储区域与用于存储第一程序数据的第一存储区域不同。

【技术实现步骤摘要】
一种程序数据更新方法、电子设备及计算机存储介质
本申请涉及互联网
,尤其涉及一种程序数据更新方法、电子设备及计算机存储介质。
技术介绍
应用程序通过与用户的交互,向用户提供多样化的服务,丰富了用户的生活。随着互联网技术纵深发展,应用程序需要快速迭代(比如,版本的更新),以适应市场的变化节奏。然而,在一些场景下,应用程序更新过程中,会出现程序闪退的问题,而程序闪退也会直接造成中断向用户提供相关服务。以升级安装于手机内的聊天应用举例。如图1中的(a)所示,手机显示聊天应用的聊天窗口,用户正通过该聊天窗口与联系人聊天,如果此时升级该聊天应用,则可能突然出现短暂的卡顿,聊天应用所提供的服务被中断,聊天应用会闪退,如图1中的(b)所示,手机会显示桌面。在用户需再次使用聊天应用时,可重新开启聊天应用,手机可重新显示聊天应用的聊天窗口,如图1中的(c)所示,但原编辑聊天内容会丢失。可见,应用程序更新时出现程序闪退,不仅影响用户的使用体验,还会影响用户对系统及应用程序稳定性能的评估。
技术实现思路
本申请提供一种程序数据更新方法、电子设备及计算机存储介质,程序更新过程避开了应用程序被使用期间。保障程序更新需求的同时,提高应用程序运行的稳定性。增强用户的使用体验。为达到上述目的,本申请采用如下技术方案:第一方面,本申请实施例提供一种程序数据更新方法,所述方法包括:在第一应用处于正在使用状态,且需要对第一程序数据进行更新的情况下,将所述第一程序数据对应的升级任务放入等待列表;获取所述第一应用的使用状态;所述第一程序数据是所述第一应用的程序文件,或是所述第一应用的公共组件的程序文件;在所述第一应用处于未使用状态的情况下,将所述升级任务从所述等待列表中取出;在所述升级任务的指示下,解析安装所述第一程序数据的更新数据包,以更新所述第一程序数据;或,在所述升级任务的指示下,根据第二程序数据更新所述第一程序数据;其中,所述第二程序数据是在第二存储区域内解析安装所述第一程序数据的更新数据包后得到的数据;所述第二存储区域与所述第一存储区域不同;所述第一存储区域为用于存储所述第一程序数据的存储区域。在上述实施例中,在第一程序数据所对应的关联应用(也即,第一应用)处于正在使用状态的情况下,暂缓对第一程序数据的数据实体进行更新。在第一程序数据所对应的所有关联应用均处于未使用状态时,才执行第一程序数据的数据实体进行更新。从而,避免了程序数据升级与应用程序使用之间产生冲突。也改善了应用程序使用过程中受程序升级影响导致闪退的问题。提高用户的使用体验。示例性地,可以在关联应用处于未使用状态的情况下,将对应的升级任务从等待列表中取出。然而,按照升级任务的指示下,解析安装第一程序数据的更新数据包,以更新第一程序数据。避免解析安装更新数据包时出现关闭关联应用的应用进程的现象。示例性地,还可以在关联应用处于未使用状态的情况下,利用第二存储区域内已有的第二程序数据更新第一存储区域内的第一程序数据。也即,在关联应用处于未使用状态的情况下,直接利用已有的第二程序数据更替第一程序数据的数据实体,避免出现关闭关联应用的应用进程的现象。结合第一方面,在一种可能的实现方式中,所述解析安装所述第一程序数据的更新数据包,包括:根据升级任务,获取所述第一程序数据的更新数据包;在第一存储区域内解析安装所述第一程序数据的更新数据包,以替换所述第一程序数据。结合第一方面,在另一种可能的实现方式中,在第一应用处于正在使用状态,且需要对第一程序数据进行更新的情况下,所述方法还包括:在所述第二存储区域内解析安装所述第一程序数据的更新数据包,以得到所述第二程序数据。在上述实施例中,通过预先在第二存储区域内解压第一程序数据的更新数据包,缩短更新第一程序数据的时耗。提高升级效率。结合第一方面,在另一种可能的实现方式中,在所述更新数据包为全量数据包的情况下,所述根据第二程序数据更新所述第一程序数据,包括:采用所述第二程序数据,替换所述第一程序数据。结合第一方面,在另一种可能的实现方式中,在所述更新数据包为增量数据包的情况下,所述根据第二程序数据更新所述第一程序数据,包括:将所述第二程序数据存储至所述第一存储区域,并与所述第一程序数据融合。结合第一方面,在另一种可能的实现方式中,在所述更新数据包为全量数据包的情况下,所述根据第二程序数据更新所述第一程序数据,包括:将所述第一程序数据的加载地址由所述第一存储区域的地址变更为所述第二存储区域的地址。在上述实施例中,使更新第一程序数据的过程更加简单快速。提升了更新效率,避免长时间影响用户使用关联应用。结合第一方面,在另一种可能的实现方式中,在所述更新数据包为增量数据包的情况下,所述根据第二程序数据更新所述第一程序数据,包括:将所述第一程序数据镜像至所述第二存储区域,并与所述第二程序数据融合;将所述第一程序数据的加载地址由所述第一存储区域的地址变更为所述第二存储区域的地址。结合第一方面,在另一种可能的实现方式中,上述方法还包括:将第一存储区域内的所述第一程序数据删除。在上述实施例中,有效地减少电子设备内数据的冗余。结合第一方面,在另一种可能的实现方式中,将第一存储区域内的所述第一程序数据删除,包括:所述第一应用在加载地址变更后的预设时长内未出现运行异常的情况下,删除所述第一存储区域内的所述第一程序数据。结合第一方面,在另一种可能的实现方式中,所述方法还包括:所述第一应用在加载地址变更后的预设时长内出现运行异常的情况下,将加载所述第一程序数据的加载地址恢复为所述第一存储区域的地址;清空所述第二存储区域。在上述实施例中,实现异常回退保护,提升了应用程序的稳定性能。结合第一方面,在另一种可能的实现方式中,获取所述第一应用的使用状态,包括:周期性地重启获取所述第一应用的使用状态,直至所述第一程序数据的所有第一应用都处于未使用状态。结合第一方面,在另一种可能的实现方式中,获取所述第一应用的使用状态,包括:在检测到任一应用程序从正在使用状态切换为未使用状态的情况下,重启获取所述第一应用的使用状态。结合第一方面,在另一种可能的实现方式中,在更新所述第一程序数据的过程中,所述方法还包括:在所述第一应用的桌面图标上显示提示信息;或,在接收到用户对所述第一应用的图标的操作后,显示提示信息;其中,所述提示信息用于提示以下信息中的至少一个:更新状态、更新进度、更新版本、更新发布时间。在上述实施例中,通过提醒,改善用户在第一程序升级期间误操作关联应用的问题。也使用户能够更加了解更新信息。结合第一方面,在另一种可能的实现方式中,所述方法还包括:在对第一程序数据升级完毕后,取消在所述第一应用的桌面图标上显示提示信息;或,在接收到用户对所述第一应用的图标的操作后,取消显示提示信息。结合第一方面,在另一种可能的实现方式中,获取所述第一应用的使用状态,包本文档来自技高网...

【技术保护点】
1.一种程序数据更新方法,其特征在于,所述方法包括:/n在第一应用处于正在使用状态,且需要对第一程序数据进行更新的情况下,将所述第一程序数据对应的升级任务放入等待列表;/n获取所述第一应用的使用状态;所述第一程序数据是所述第一应用的程序文件,或是所述第一应用的公共组件的程序文件;/n在所述第一应用处于未使用状态的情况下,将所述升级任务从所述等待列表中取出;/n在所述升级任务的指示下,解析安装所述第一程序数据的更新数据包,以更新所述第一程序数据;或,在所述升级任务的指示下,根据第二程序数据更新所述第一程序数据;其中,所述第二程序数据是在第二存储区域内解析安装所述第一程序数据的更新数据包后得到的数据;所述第二存储区域与第一存储区域不同;所述第一存储区域为用于存储所述第一程序数据的存储区域。/n

【技术特征摘要】
1.一种程序数据更新方法,其特征在于,所述方法包括:
在第一应用处于正在使用状态,且需要对第一程序数据进行更新的情况下,将所述第一程序数据对应的升级任务放入等待列表;
获取所述第一应用的使用状态;所述第一程序数据是所述第一应用的程序文件,或是所述第一应用的公共组件的程序文件;
在所述第一应用处于未使用状态的情况下,将所述升级任务从所述等待列表中取出;
在所述升级任务的指示下,解析安装所述第一程序数据的更新数据包,以更新所述第一程序数据;或,在所述升级任务的指示下,根据第二程序数据更新所述第一程序数据;其中,所述第二程序数据是在第二存储区域内解析安装所述第一程序数据的更新数据包后得到的数据;所述第二存储区域与第一存储区域不同;所述第一存储区域为用于存储所述第一程序数据的存储区域。


2.如权利要求1所述的方法,其特征在于,所述解析安装所述第一程序数据的更新数据包,包括:
根据所述升级任务,获取所述第一程序数据的更新数据包;
在第一存储区域内解析安装所述第一程序数据的更新数据包,以替换所述第一程序数据。


3.如权利要求1所述的方法,其特征在于,在第一应用处于正在使用状态,且需要对第一程序数据进行更新的情况下,所述方法还包括:
在所述第二存储区域内解析安装所述第一程序数据的更新数据包,以得到所述第二程序数据。


4.如权利要求1所述的方法,其特征在于,在所述更新数据包为全量数据包的情况下,所述根据第二程序数据更新所述第一程序数据,包括:
采用所述第二程序数据,替换所述第一程序数据。


5.如权利要求1所述的方法,其特征在于,在所述更新数据包为增量数据包的情况下,所述根据第二程序数据更新所述第一程序数据,包括:
将所述第二程序数据存储至所述第一存储区域,并与所述第一程序数据融合。


6.如权利要求1所述的方法,其特征在于,在所述更新数据包为全量数据包的情况下,所述根据第二程序数据更新所述第一程序数据,包括:
将所述第一程序数据的加载地址由所述第一存储区域的地址变更为所述第二存储区域的地址。


7.如权利要求1所述的方法,其特征在于,在所述更新数据包为增量数据包的情况下,所述根据第二程序数据更新所述第一程序数据,包括:
将所述第一程序数据镜像至所述第二存储区域,并与所述第二程序数据融合;
将所述第一程序数据的加载地址由所述第一存储区域的地址变更为所述第二存储区域的地址。


8.如权利要求6或7所述的方法,其特征在于,所述方法还包括:
所述第一应用在加载地址变更后的预设时长内未出现运行异常的情况下,删除所述第一存储区域内的所述第一程序数据。


9.如权利要求6或7所述的方法,其特征在于,所述方法还包括:
所述第一应用在加载地址变更后的预设时长内出现运行异常的情况下,将加载所述第一程序数据的加载地址恢复为所述第一存储区域的地址;
清空所述第二存储区域。


10.如权利要求1-7任意一项所述的方法,其特征在于,在更新所述第一程序数据的过程中,所述方法还包括:
在所述第一应用的桌面图标上显示提示信息;或,
在接收到用户对所述第一应用的图标的操作后,显示提示信息;
其中,所述提示信息用于提示以下信息中的至少一个:更新状态、更新进度、更新版本、更新发布时间。


11.如权利要求1-7任意一项所述的方法,其特征在于,获取所述第一应用的使用状态,包括:
根据所述第一应用的运行状态,确定所述使用状态;
其中,所述运行状态包括前台运行,后台运行和停止运行;
在所述运行状态为所述前台运行的情况下,所述使用状态为正在使用状态;
在所述运行状态为所述停止运行的情况下,所述使用状态为未使用状态;
在所述运行状态为所述后台运行且显示多任务界面,或所述运行状态为所述后台运行且接收到用户对所述多任务界面中所述第一应用的界面的操作的情况下,所述使用状态为正在使用状态。


12.一种电子设备,其特征在于,电子设备包括一个或多个处理器和存储器;存储器与处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,
所述一个或多个处理器,用于在第一应用处于正在使用状态,且需要对第一程序数据进行更新的情况下,将所...

【专利技术属性】
技术研发人员:肖名鹏
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1