一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

升级处理方法、设备及存储介质与流程

2022-07-13 23:19:20 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种升级处理方法、设备及存储介质。


背景技术:

2.终端设备应用程序app的升级过程包括app升级包的下载阶段以及安装阶段。在app升级过程中,通常会提示用户“正在升级,请勿断电”。如果在app升级过程中,由于突发状况终端设备突然掉电,可能导致app升级和使用异常。因此,如何避免升级异常导致app无法正常使用,是目前亟待解决的一个问题。


技术实现要素:

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.获取模块,用于响应于用户的反馈操作,获取反馈信息,所述反馈信息包括所述终端设备的目标应用中至少一项处理功能的错误数据;
38.发送模块,用于向服务器发送所述反馈信息;
39.接收模块,用于接收来自所述服务器的针对所述反馈信息的文件升级包,所述文件升级包中包括所述目标应用的至少一项处理功能的升级文件;
40.升级模块,用于根据所述文件升级包升级所述目标应用。
41.本技术实施例的第六方面提供一种升级处理装置,包括:
42.接收模块,用于接收来自终端设备的反馈信息,所述反馈信息包括所述终端设备的目标应用中至少一项处理功能的错误数据;
43.处理模块,用于根据预置的训练算法以及所述反馈信息,对所述至少一项处理功能进行优化,生成针对所述反馈信息的文件升级包,所述文件升级包中包括所述至少一项处理功能的升级文件;
44.发送模块,用于推送所述文件升级包。
45.本技术实施例的第七方面提供一种终端设备,包括:存储器,处理器以及计算机程序;所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如本技术第一方面中任一项所述的方法,或者如本技术第二方面所述的方法。
46.本技术实施例的第八方面提供一种服务器,包括:存储器,处理器以及计算机程序;所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如本技术第三方面所述的方法。
47.本技术实施例的第九方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如本技术第一方面中任一项所述的方法,或者如本技术第二方面所述的方法,或者如本技术第三方面所述的方法。
48.本技术实施例的第十方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如本技术第一方面中任一项所述的方法,或者如本技术第二方面所述的方法,或者如本技术第三方面所述的方法。
49.本技术实施例提供一种升级处理方法,终端设备在运行目标应用之前,确定目标应用在最近一次升级过程中存在关闭异常时,获取目标应用在异常关闭时的状态信息,状态信息包括目标应用在升级过程中的标记状态,根据预设升级修复流程,执行状态信息对应的升级修复流程。上述方案可避免由于升级异常导致应用无法使用的问题,提升设备对升级异常状况的处理能力。
50.本技术实施例提供还提供一种升级处理方法,服务器基于来自终端设备的用户反馈信息以及预设的训练算法,对设备的至少一项处理功能进行优化,生成针对反馈信息的文件升级包。该文件升级包包括至少一项处理功能的升级文件,相较于现有升级包,具有明显的小体积优势。由于只更新特定功能的升级文件,对系统的影响很小,只需要对特定功能测试即可发布,缩短发布周期,实现终端设备功能的快速修复。
附图说明
51.图1为本技术实施例提供的升级处理方法的系统架构示意图;
52.图2为本技术实施例提供的升级处理方法的流程示意图一;
53.图3为本技术实施例提供的升级包迭代的示意图;
54.图4为本技术实施例提供的服务器推送升级包的流程图;
55.图5为本技术实施例提供的设备下载文件升级包的流程图;
56.图6为本技术实施例提供的设备安装文件升级包的流程图;
57.图7为本技术实施例提供的升级处理方法的流程示意图二;
58.图8为本技术实施例提供的升级处理方法的流程示意图三;
59.图9为本技术实施例提供的升级处理装置的结构示意图一;
60.图10为本技术实施例提供的升级处理装置的结构示意图二;
61.图11为本技术实施例提供的升级处理装置的结构示意图三;
62.图12为本技术实施例提供的终端设备的硬件结构图;
63.图13为本技术实施例提供的服务器的硬件结构图。
具体实施方式
64.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
65.应当理解,本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
66.在本技术实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
67.下面首先对目前产品升级的相关方案进行简要介绍。
68.第一,ota(over-the-air technology,空间下载技术)系统升级。对整个系统进行升级,通用性较强,常见于安卓android、linux、rtos产品。由于是对整个系统升级,升级比较彻底。对linux、实时操作系统(real time operating system,rtos)产品而言,不太需要担心兼容性问题。但同时,升级包也会非常大,达到几个g。常见解决升级包过大的方案是使用差分包,即对特定版本比较差异推出更新包,然而差分包也达到上百m。除此之外,ota升级由于对整个系统进行升级,在推送前需要整个系统全面测试,导致测试工作量,发布周期较长。
69.第二,app升级。常见于android/个别linux产品中,app升级包体积明显小于ota系统升级,但对系统要求比较高,明显不适用于rtos。此外app升级的方案无法进一步细化到对特定功能的升级,发布周期和测试量明显小于ota系统升级,但依然不小。
70.第三,资源升级。资源升级方案常见于linux/rtos上,对例如词典、语音等在内的独立资源包升级。大多数情况下,以某个资源文件为升级单位。此方案只适用于独立性的资源升级,不适用于系统特定功能的升级。
71.第四,改造的系统文件升级。在资源升级的基础上,把系统文件也抽离出来单独升级。此方案可以实现跟本方案类似的功能,但每个独立文件的升级,都需要大量的改造以保证系统文件动态加载的稳定性。
72.终端设备应用程序app的升级通常需要考虑用户的反馈,app产品方通过收集用户反馈,并由研发人员对app功能进行修复和更新。通常情况下,app功能修复和更新需要人工参与,产品升级的周期一般比较长。
73.在收集反馈之外,尽可能快的、无感的升级,可提升产品竞争力和用户体验。对此,本技术实施例提供一种升级处理方法,应用于终端设备,实现对设备各项处理功能的快速
无感升级。其主要思路如下:终端设备收集用户的反馈信息,向服务器发送反馈信息,反馈信息可以包括针对不同处理操作的错误数据,以便于服务器针对收集的不同类型的错误数据,基于预置训练算法对不同处理功能进行优化,进而生成文件升级包。其中不同处理功能对应文件升级包的至少一个文件,终端设备通过接收来自服务器的文件升级包完成各项处理功能的升级。
74.上述升级处理方案具有如下有益效果:文件升级包可以仅更新特定功能,其大小只有几百kb,相较于现有的app升级包、ota升级包,具有明显的小体积优势。由于只更新特定功能文件,其影响范围非常有限,风险可控,只需要对特定功能测试即可发布,发布周期非常短,可实现终端设备功能的快速修复。
75.在介绍本技术实施例提供的升级处理方法之前,首先对该方法的系统架构进行说明。图1为本技术实施例提供的升级处理方法的系统架构示意图。如图1所示,该系统包括终端设备11以及服务器12,终端设备11与服务器12通信连接,终端设备11为应用产品使用者所属的终端设备,如扫读笔、智能手机等。作为一种示例,终端设备11用于收集用户针对某处理功能的反馈信息,并将反馈信息发送至服务器12。服务器12用于根据用户的反馈信息,自动修复该处理功能,并向终端设备推送文件升级包,从而实现对该特定处理功能的更新。
76.可选的,服务器12包括代码仓库121以及修复处理装置122,其中代码仓库121用于将用户的反馈信息转换为处理功能相关的代码数据,修复处理装置122用于基于预置训练算法对处理功能相关的代码数据进行修复处理,进而生成文件升级包。
77.可选的,在一些实施例中,上述系统还包括终端设备13,终端设备12为应用产品研发人员所属的终端设备,终端设备13与服务器12通信连接。研发人员通过终端设备13访问服务器12,收集来自不同用户的反馈信息,对用户的反馈信息进行人工筛选,向服务器12返回有效的反馈信息,剔除不合理或错误的反馈信息,可提升服务器13修复处理速度。
78.可选的,终端设备11可以是具有特定处理功能的终端设备,例如扫读笔,无屏音箱等,还可以是智能手机、平板电脑、可穿戴设备如智能手表、智能眼镜等,对此本技术实施例不做具体限定。
79.示例性的,以终端设备11为扫读笔为例,扫读笔具有翻译功能、ocr(optical character recognition,光学字符识别)功能(或称为ocr文字识别功能)、tts(text to speech的缩写,即“从文本到语音”)功能、语音识别功能等。应理解,扫读笔的各项处理功能分别对应一套处理算法,用户可通过终端设备向服务器提供针对不同处理功能的反馈信息,以便服务器有针对性的对某一项或某几项处理功能进行优化升级,生成相应的文件升级包。
80.基于上述系统架构,下面通过具体实施例对本技术实施例提供的升级处理方案进行详细说明。需要说明的是,本技术实施例提供的技术方案可以包括以下内容中的部分或全部,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
81.图2为本技术实施例提供的升级处理方法的流程示意图一。如图2所示,本实施例提供的升级处理方法包括以下步骤:
82.步骤101、终端设备响应于用户的反馈操作,获取反馈信息。其中,反馈信息包括终端设备的目标应用中至少一项处理功能的错误数据。
83.一种可能的情况,终端设备包括显示屏,例如智能手机、智能手表等,用户的反馈操作可以是用户作用于终端设备显示屏的图形用户界面的点击操作。另一种可能的情况,终端设备不包括显示屏,例如无屏音箱、无屏扫读笔等,用户的反馈操作可以是用户作用于终端设备的实体按键的触发操作。通过上述任意一种反馈操作,获取用户针对终端设备目标应用的至少一项处理功能的错误数据。
84.一个可选实施例中,若终端设备处于离线状态,即终端设备没有连接网络时,可以仅收集用户的反馈信息,在重新联网时,打包将用户的反馈信息上传至服务器。
85.步骤102、终端设备向服务器发送反馈信息。
86.步骤103、服务器根据预置的训练算法以及反馈信息,对终端设备的目标应用中的至少一项处理功能进行优化,生成针对反馈信息的文件升级包。其中,文件升级包中包括目标应用的至少一项处理功能的升级文件。
87.示例性的,以终端设备为扫读笔举例,用户的反馈信息包括针对翻译功能的错误数据,服务器基于翻译功能的错误数据,通过预置在服务器的翻译算法,对翻译功能进行修复,获取针对翻译功能的升级文件,该升级文件的体积很小,可实现对翻译功能的快速修复。
88.可选的,在一些实施例中,服务器根据收集来自不同终端设备的反馈信息,针对不同用户反馈的同一处理功能的错误数据,通过预置在服务器的训练算法进行功能优化,获取针对该处理功能的升级文件。其中,一项处理功能的升级文件包括至少一个文件。
89.步骤104、服务器向终端设备发送针对反馈信息的文件升级包。
90.作为一种示例,服务器获取针对反馈信息中的所有待更新的处理功能的升级文件后,向终端设备发送针对反馈信息的总的文件升级包。
91.作为一种示例,服务器每获取一项处理功能的升级文件后,向终端设备发送针对该项处理功能的升级文件。该示例可避免由于某项处理功能修复异常导致的修复延迟问题。
92.需要说明的是,文件升级包是以处理功能为单位的升级,可实现比ota系统升级和app升级更小更快的升级效果,同时也能兼容rtos和所有linux平台。其中,处理功能通常是几个文件的集合,一次更新只需要更新特定的几个文件即可。
93.步骤105、终端设备根据文件升级包升级目标应用。
94.本技术实施例中,终端设备根据文件升级包升级目标应用的至少一项处理功能的升级文件。
95.可选的,为了避免运行时升级导致内存和闪存flash不一致的问题,需要在运行目标应用前执行升级任务。可将升级流程划分为两个阶段:
96.1、下载阶段:有网络时,终端设备从服务器获取文件升级包;
97.2、安装阶段:重启目标应用时,安装文件升级包。
98.本技术实施例提供的升级处理方法,终端设备响应于用户的反馈操作获取反馈信息,该反馈信息包括终端设备的目标应用中至少一项处理功能的错误数据,终端设备向服务器上传反馈信息。服务器根据用户的反馈信息以及预置的训练算法,对至少一项处理功能进行优化,生成针对反馈信息的文件升级包,并向终端设备推送该文件升级包。其中文件升级包中包括至少一项处理功能的升级文件,相较于现有升级包,具有明显的小体积优势。
由于只更新特定功能的升级文件,对系统的影响很小,只需要对特定功能测试即可发布,缩短发布周期,实现终端设备功能的快速修复。
99.需要说明的是,上述实施例的文件升级包与ota升级包是同时存在的,文件升级包用于对设备处理功能的升级,ota升级包用于对设备系统的整体升级,升级包体积差异大。两种升级都需要操作系统文件,同时升级会导致升级冲突。为了实现文件升级包和ota系统升级的兼容,可以将文件升级包的升级修复作为ota系统升级的补充,在下一次ota升级前对特征处理功能进行快速迭代。图3为本技术实施例提供的升级包迭代的示意图。如图3所示,在完成ota v1.0的系统升级后,可以通过文件升级包的形式快速修复设备的特定处理功能,如图3中的文件升级包“file v1.1,

,file v1.x”,随后进行ota v2.0的系统升级。
100.基于文件升级包的修复可看作是ota系统升级的补充,在涉及到系统文件的升级时,需要指定兼容的ota系统版本。对此,服务器需要匹配系统版本,确定是否推送升级包。图4为本技术实施例提供的服务器推送升级包的流程图。如图4所示,服务器在获取升级包后,首先确定设备系统版本是否匹配升级包版本,若确定设备系统版本与升级包版本匹配,进一步确定升级包版本是否大于设备当前文件版本,若确定升级包版本大于设备当前文件版本,则确定推送该升级包。本实施例中的升级包可以是上述的文件升级包。
101.基于图2所示实施例,下面对文件升级包的下载过程进行说明。图5为本技术实施例提供的设备下载文件升级包的流程图。如图5所示,文件升级包的下载过程,包括以下步骤:
102.步骤1、服务器查询文件升级包,根据配置规则向终端设备推送文件升级包。其中配置规则可参照图4实施例。
103.步骤2、终端设备下载文件升级包。
104.其中,文件升级包的下载支持断点续传。
105.步骤3、终端设备校验文件升级包md5。检查文件升级包md5确保下载的文件升级包的完整性。md5是一种信息摘要算法。
106.步骤4、终端设备解压文件升级包,校验每个待安装文件的签名、大小(size)、md5。
107.步骤5、终端设备创建文件升级包下载完成的标记状态。
108.即创建文件升级包的状态信息,下载完成时更新文件升级包的当前状态。通常,在下次重启设备时,或者重启设备某应用时,完成升级。
109.需要说明的是,上述任意一个步骤出现异常,本次文件升级包的下载都会失败,需要重新进行文件升级包的下载,从而避免使用非法的不完整的文件升级包。
110.基于图2所示实施例,下面对文件升级包的安装(升级)过程进行说明。图6为本技术实施例提供的设备安装文件升级包的流程图。如图6所示,在设备启动阶段,应用运行前进行文件升级包的安装升级,主要包括以下步骤:
111.步骤1、终端设备校验文件升级包的合法性和完整性。
112.具体的,终端设备检查文件升级包适用的系统版本、每个文件的签名、大小、md5,避免因异常重启而导致文件升级包不完整或损坏。
113.步骤2、终端设备备份历史文件。
114.历史文件也称为旧文件或将被替换的文件,终端设备将历史文件逐个复制到备份目录,防止安装异常而无法还原原始文件。
115.步骤3、终端设备安装文件升级包中的新文件。
116.文件升级包中包括多个新文件,终端设备将文件升级包中的每个新文件逐个重命名,并覆盖对应的历史文件,实现安装。如果安装异常,可以还原其对应的历史文件。
117.步骤4、终端设备更新文件版本记录。
118.步骤5、终端设备删除临时文件。
119.临时文件包括状态标记文件、备份文件以及下载的安装文件。
120.其中,状态标记文件对应状态信息,状态信息记录应用在整个升级过程中的标记状态。通常情况下,状态标记文件中的标记状态是实时更新的,例如某升级文件包完成下载,标记状态为校验状态,当完成对该升级文件包的校验后,标记状态更新为安装状态。备份文件包括文件升级包对应的历史文件。下载的安装文件即文件升级包。
121.下面结合一个具体的实例,对上述实施例的升级处理方案进行举例。下述实例涉及第一终端设备、第二终端设备以及服务器的交互,其中第一终端设备为功能待升级的产品终端,例如扫读笔,第二终端设备为研发人员的测试终端,例如笔记本电脑,文件升级包用于修复例如扫读笔的翻译功能。
122.图7为本技术实施例提供的升级处理方法的流程示意图二。如图7所示,本实施例的升级处理方法包括以下步骤:
123.步骤201、第一终端设备向服务器发送用户反馈的翻译错误。
124.步骤202、第二终端设备从服务器获取用户反馈的翻译错误。
125.步骤203、第二终端设备向服务器发送有效的翻译错误。
126.上述步骤中,用户通过第一终端设备向服务器反馈翻译错误,研发人员通过第二终端设备访问服务器,获取和筛选有效的翻译错误,并通过第二终端设备上传有效的翻译错误。
127.步骤204、第二终端设备向服务器触发打包文件升级包。
128.步骤205、服务器的修复处理装置从代码仓库获取待修复的翻译错误。
129.步骤206、服务器的修复处理装置利用翻译算法修复翻译错误。
130.步骤207、服务器的修复处理装置创建文件升级包。
131.步骤208、服务器基于文件升级包创建升级单。
132.步骤209、服务器向第二终端设备发送提示信息,提示信息用于提示文件升级包构建完成。
133.步骤210、第二终端设备向服务器发送升级单补充信息,推送升级。其中升级单补充信息包括升级内容描述、使用系统版本范围等。
134.步骤211、服务器向第一终端设备推送文件升级包(静默升级)。
135.上述升级处理方案中,服务器预置翻译算法修复工具,可实现1小时内自助修复翻译算法。研发人员可在服务器平台操作,实现用户无感升级。研发人员的处理动作可规范化至服务器自动执行,从而提高扫读笔基于用户反馈的功能快速修复,增强产品竞争力,提升用户使用体验。
136.在执行升级任务时,终端设备需要保持通电状态,如果由于突发状况设备突然掉电,可能导致升级和使用异常。
137.针对上述问题,本技术实施例还提供一种升级处理方法,以应对断电导致的升级
异常,其主要发明思路如下:在重启设备运行设备应用前,如果确定存在关闭异常,可读取异常关闭时设备的状态信息。若状态信息记录设备处于升级过程的某一状态,可执行该状态对应的预设处理流程,以确保设备继续执行升级任务或者恢复至升级前的状态。
138.上述升级处理方案具有如下有益效果:可避免由于升级异常导致应用无法使用的问题,提升设备对升级异常状况的处理能力;减少用户额外操作,即用户无需在重启应用时进行手动修复,提升用户的使用体验。
139.下面通过一个具体实施例对升级异常时的处理过程进行详细说明。
140.图8为本技术实施例提供的升级处理方法的流程示意图三。如图8所示,本实施例提供的升级处理方法包括以下步骤:
141.步骤301、终端设备在运行目标应用之前,确定目标应用在最近一次升级过程中是否存在关闭异常。
142.步骤302、若终端设备确定目标应用存在关闭异常,获取目标应用在异常关闭时的状态信息,状态信息包括目标应用在升级过程中的标记状态。
143.本技术实施例中,目标应用异常关闭可能有以下几种情况:设备电池耗尽、设备应用存在故障(bug)、设备操作系统存在故障等。若存在上述情况的任意一项,设备的目标应用均会异常关闭。在异常关闭前,设备的目标应用正在执行升级任务,可通过查询状态标记文件,获取目标应用在异常关闭时的状态信息。
144.可选的,目标应用在升级过程中的标记状态,包括目标应用的文件升级包的标记状态,和/或,文件升级包对应的历史文件的标记状态。其中,文件升级包中包括目标应用的至少一项处理功能的升级文件,历史文件是与文件升级包的处理功能相同的文件。
145.其中,文件升级包的标记状态包括以下任意一项:下载状态;校验状态;安装状态;安装完毕的信息记录状态。
146.需要指出的是,标记状态为下载状态指示文件升级包正在下载;标记状态为校验状态指示文件升级包已下载完毕,正在校验;标记状态为安装状态指示文件升级包已校验完毕,正在安装;标记状态为信息记录状态指示文件升级包已安装完毕,正在记录信息。标记状态是动态更新的,例如,文件升级包校验完毕后,将标记状态由校验状态更新为安装状态。
147.其中,文件升级包对应的历史文件的标记状态包括备份状态。备份状态指示历史文件正在备份。
148.应理解,异常发生在不同状态,对应的升级修复流程存在差异。
149.步骤303、终端设备执行状态信息对应的升级修复流程。
150.本实施例的一个可选实施例中,若状态信息包括目标应用的文件升级包对应的历史文件的备份状态,终端设备执行状态信息对应的升级修复流程,包括:若历史文件不完整、文件升级包完整,终端设备根据文件升级包对目标应用进行升级。
151.本实施例示出了历史文件备份过程中异常关闭的处理流程,文件升级包对应的历史文件正在备份但没有备份完毕,只要文件升级包完整,可直接根据文件升级包进行应用升级。
152.本实施例的一种可选实施例中,若状态信息包括目标应用的文件升级包的安装状态,终端设备执行状态信息对应的升级修复流程,包括:
153.一种可能的情况,若文件升级包中没有一个文件完成安装,终端设备根据文件升级包对目标应用重新进行安装。
154.文件升级包通常包括多个文件,需要逐一安装每个文件。如果在安装第一个文件时,设备异常关闭,由于文件升级包已完成校验进入安装阶段,因此在设备重启后,可直接根据文件升级包重新执行安装流程。
155.一种可能的情况,若仅完成文件升级包中部分文件的安装,文件升级包不完整,且系统状态不确定,终端设备还原文件升级包对应的历史文件。
156.如果在安装多个文件的一部分文件后,设备异常关闭,由于安装是以重命名形式实现的,此时文件升级包已经不完整。因此,当确定文件升级包不完整,如果文件升级包对应的历史文件,即备份文件完整,可还原文件升级包对应的历史文件,避免由于安装异常导致应用无法使用的问题。
157.上述第二种情况存在如下特殊情况:若仅完成文件升级包中部分文件的安装,文件升级包不完整,系统状态不确定,且历史文件不完整,终端设备可执行如下步骤:删除已安装的文件升级包的部分文件,基于终端设备的根文件系统还原文件升级包对应的原始文件包。
158.其中,原始文件包是与文件升级包的处理功能相同的初始文件。
159.上述特殊情况示出了设备在确定需要还原文件升级包对应的历史文件时,如果历史文件因为异常关闭而损坏或不完整时的补救措施,确保设备应用能够正常启动和使用。
160.本实施例示出了文件升级包安装过程中异常关闭的几种预设的处理方式,确保设备应用在重启后能够自动升级,或至少确保其能够正常使用。
161.本实施例的一个可选实施例中,若状态信息包括目标应用的文件升级包安装完毕的信息记录状态,终端设备执行状态信息对应的升级修复流程,包括:根据文件升级包更新文件版本信息,删除与本次升级相关的临时文件。
162.本实施例示出了文件版本记录过程中异常关闭的处理流程,由于文件升级包已经安装完毕,只是文件版本信息记录不全,因此可根据文件升级包重新记录文件版本信息,最后释放临时文件占用的空间。
163.本实施例的一个可选实施例中,若状态信息包括目标应用的文件升级包的下载状态,终端设备再次向服务器发起获取文件升级包的请求。终端设备支持断点续传。
164.本实施例的一个可选实施例中,若状态信息包括目标应用的文件升级包的校验状态,终端设备执行状态信息对应的升级修复流程,包括:终端设备重新执行对文件升级包的校验任务。
165.应理解,若校验成功,终端设备执行对文件升级包的安装任务。若校验失败,终端设备再次向服务器发起获取文件升级包的请求,重新执行对文件升级包的下载任务。
166.本技术实施例示出的升级处理方法,终端设备在运行目标应用之前,确定目标应用在最近一次升级过程中存在关闭异常时,获取目标应用在异常关闭时的状态信息,状态信息包括目标应用在升级过程中的标记状态,根据预设升级修复流程,执行状态信息对应的升级修复流程。上述方案可避免由于升级异常导致应用无法使用的问题,提升设备对升级异常状况的处理能力。同时,减少用户额外操作,提升用户的使用体验。
167.需要说明的是,上述各实施例示出的升级处理方案既支持常规的可写分区的文件
升级,也支持只读的根文件系统的升级。
168.嵌入式linux系统中,为了保证掉电安全,一般要求根文件系统只读。此时传统的文件修改方法无法实现。常规的做法是把需要升级的文件放到可写分区,并在运行时动态加载。但每个需要动态加载的文件都需要配套开发大量的兼容和稳定逻辑,无疑加大了升级风险和升级门槛。
169.为了解决此问题,采用linux支持的overlayfs文件系统,可实现多层文件系统叠加显示。最底层是只读的根文件系统,上层是可写的文件系统。把文件升级包安装到上层可写的文件系统中,经过overlayfs叠加显示,可呈现为更新后的状态,以此实现升级。
170.基于上述实施例的升级处理方案可实现对根文件系统的特定功能的升级,相比于通过改造实现只读根文件系统的功能升级,可免去为系统文件动态加载添加的保证稳定的复杂代码逻辑。
171.上文描述了本技术实施例提供的升级处理方法,下面将描述本技术实施例提供的升级处理装置。
172.本技术实施例可以根据上述方法实施例对升级处理装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
173.图9为本技术实施例提供的升级处理装置的结构示意图一。如图9所示,本实施例提供的升级处理装置400,包括:获取模块401,发送模块402,接收模块403以及升级模块404。
174.获取模块401,用于响应于用户的反馈操作,获取反馈信息,所述反馈信息包括所述终端设备的目标应用中至少一项处理功能的错误数据;
175.发送模块402,用于向服务器发送所述反馈信息;
176.接收模块403,用于接收来自所述服务器的针对所述反馈信息的文件升级包,所述文件升级包中包括所述目标应用的至少一项处理功能的升级文件;
177.升级模块404,用于根据所述文件升级包升级所述目标应用。
178.本实施例提供的升级处理装置,可以执行图2所示实施例中终端设备的技术方案,其实现原理和技术效果类似,此处不再赘述。
179.图10为本技术实施例提供的升级处理装置的结构示意图二。如图10所示,本实施例提供的升级处理装置500,包括:接收模块501,处理模块502以及发送模块503。
180.接收模块501,用于接收来自终端设备的反馈信息,所述反馈信息包括所述终端设备的目标应用中至少一项处理功能的错误数据;
181.处理模块502,用于根据预置的训练算法以及所述反馈信息,对所述至少一项处理功能进行优化,生成针对所述反馈信息的文件升级包,所述文件升级包中包括所述至少一项处理功能的升级文件;
182.发送模块503,用于推送所述文件升级包。
183.本实施例提供的升级处理装置,可以执行图2所示实施例中服务器的技术方案,其
实现原理和技术效果类似,此处不再赘述。
184.图11为本技术实施例提供的升级处理装置的结构示意图三。如图11所示,本实施例提供的升级处理装置600,包括:处理模块601以及获取模块602。
185.处理模块601,用于在运行目标应用之前,确定所述目标应用在最近一次升级过程中是否存在关闭异常;
186.若处理模块601确定所述目标应用存在关闭异常,获取模块602,用于获取所述目标应用在异常关闭时的状态信息,所述状态信息包括所述目标应用在升级过程中的标记状态;
187.处理模块601,还用于执行所述状态信息对应的升级修复流程。
188.可选的,所述目标应用在升级过程中的标记状态,包括:
189.所述目标应用的文件升级包的标记状态,和/或,所述文件升级包对应的历史文件的标记状态;
190.所述文件升级包中包括所述目标应用的至少一项处理功能的升级文件,所述历史文件是与所述文件升级包的处理功能相同的文件。
191.可选的,所述文件升级包的标记状态包括以下任意一项:下载状态;校验状态;安装状态;安装完毕的信息记录状态;
192.所述历史文件的标记状态包括备份状态。
193.本实施例的一个可选实施例中,若所述状态信息包括所述目标应用的文件升级包对应的历史文件的备份状态;所述处理模块601,用于:
194.若所述历史文件不完整、所述文件升级包完整,根据所述文件升级包对所述目标应用进行升级。
195.本实施例的一个可选实施例中,若所述状态信息包括所述目标应用的文件升级包的安装状态;所述处理模块601,用于:
196.若所述文件升级包中没有一个文件完成安装,根据所述文件升级包对所述目标应用重新进行安装;或者
197.若仅完成所述文件升级包中部分文件的安装,所述文件升级包不完整,且系统状态不确定,还原所述文件升级包对应的历史文件。
198.本实施例的一个可选实施例中,若仅完成所述文件升级包中部分文件的安装,所述文件升级包不完整,系统状态不确定,且所述历史文件不完整,所述处理模块601,用于:
199.删除已安装的所述文件升级包的所述部分文件,基于所述终端设备的根文件系统还原所述文件升级包对应的原始文件包,所述原始文件包是与所述文件升级包的处理功能相同的初始文件。
200.本实施例的一个可选实施例中,若所述状态信息包括所述目标应用的文件升级包安装完毕的信息记录状态;所述处理模块601,用于:
201.根据所述文件升级包更新文件版本信息;
202.删除与本次升级相关的临时文件。
203.本实施例提供的升级处理装置,可以执行图8所示实施例中终端设备的技术方案,其实现原理和技术效果类似,此处不再赘述。
204.图12为本技术实施例提供的终端设备的硬件结构图。如图12所示,本实施例提供
的终端设备700,包括:
205.存储器701,处理器702以及计算机程序;其中,计算机程序存储在存储器701中,并被配置为由处理器702执行以实现上述任一方法实施例中终端设备的技术方案,其实现原理和技术效果类似,此处不再赘述。
206.可选的,存储器701既可以是独立的,也可以跟处理器702集成在一起。当存储器701是独立于处理器702之外的器件时,终端设备700还包括:总线703,用于连接存储器701和处理器702。
207.本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器702执行以实现如前述任一方法实施例中终端设备的技术方案。
208.本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如前述任一方法实施例中终端设备的技术方案。
209.本技术实施例提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述任一方法实施例中终端设备的技术方案。
210.可选的,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述任一方法实施例中终端设备的技术方案。
211.图13为本技术实施例提供的服务器的硬件结构图。如图13所示,本实施例提供的服务器800,包括:
212.存储器801,处理器802以及计算机程序;其中,计算机程序存储在存储器801中,并被配置为由处理器802执行以实现上述任一方法实施例中服务器的技术方案,其实现原理和技术效果类似,此处不再赘述。
213.可选的,存储器801既可以是独立的,也可以跟处理器802集成在一起。当存储器801是独立于处理器802之外的器件时,服务器800还包括:总线803,用于连接存储器801和处理器802。
214.本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器802执行以实现如前述任一方法实施例中服务器的技术方案。
215.本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如前述任一方法实施例中服务器的技术方案。
216.本技术实施例提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述任一方法实施例中服务器的技术方案。
217.可选的,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述任一方法实施例中服务器的技术方案。
218.应理解,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
219.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
220.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
221.上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
222.一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
223.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例的技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献