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

应用程序的升级方法和相关设备与流程

2022-05-06 05:51:38 来源:中国专利 TAG:


1.本发明涉及软件升级技术领域,尤其涉及一种应用程序的升级方法和相关设备。


背景技术:

2.应用程序往往由多个模块组成。模块的升级与应用程序的升级可以独立进行。应用程序内的模块升级,是用户无感知的。
3.不同的应用程序采用的模块在线升级的技术是不一样的,这依赖于模块本身的实现技术。例如,应用程序可采用h5离线包技术、小程序技术或开源的react-native技术进行模块的在线升级。模块的升级不需要经过应用市场的审核流程,使得模块在线升级技术可以极大程度地加快应用程序研发上线的速度,同时更好的支持多模块、多团队并行研发与发布应用程序。
4.但是模块独立升级也带来了一些问题。例如,采用react-native开发与发布业务升级模块,这是一种将javascript代码翻译成原生代码在设备端运行的技术,技术原理较为复杂,又因为应用程序所在设备的多样性、系统版本多样性、跨平台支持的复杂性,在应用程序中加载react-native程序包,经常发生崩溃闪退等异常现象。当发生严重的程序崩溃、页面闪退等现象时,已升级最新异常版本的终端只能等待服务端发布修复版本进行修复,等待过程中不能使用模块提供的功能,应用程序的升级导致终端的运行稳定性较差。


技术实现要素:

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.图1为本发明实现应用程序的升级方法的系统构架图;
43.图2为本发明应用程序的升级方法第一实施例的流程示意图;
44.图3为本发明应用程序的升级方法第二实施例中步骤s20的细化流程示意图;
45.图4为本发明应用程序的升级方法第三实施例的流程示意图;
46.图5为本发明应用程序的升级方法第四实施例的流程示意图;
47.图6为本发明应用程序的升级装置的模块示意图;
48.图7为本发明应用程序的升级设备的硬件结构示意图。
49.通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
50.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
51.本发明提供一种应用程序的升级方法,可以通过图1所示的系统架构实现。移动终端100设有多个应用程序110(图1中仅标识1个应用程序)。各个应用程序110由多个模块111构成。模块111即为应用模块,且模块111可以独立于应用程序110进行升级。移动终端100从服务端200中下载模块111的升级程序包,并通过升级程序包升级模块111。在模块111升级过程中,设置待加载设置信息,若是模块111升级失败则删除待加载设置信息,使得模块111以升级前的程序包重新运行,避免模块111升级失败后,移动终端200无法使用模块111提供的功能。
52.以下对本发明实施例出现的名词进行解释。
53.移动应用:移动端应用程序,通常指android应用和ios应用。
54.移动应用模块:一个移动应用往往由多个子模块组成,模块往往按照业务领域划分,每一个模块可以独立于移动营业升级更新。
55.应用底座:应用底座为上层应用模块提供全局公共功能,例如通信、加密、数据存储等,业务模块通过接口调用这些基础功能。应用底座包含在应用程序内,随应用程序一同
升级。应用模块的运行依赖于应用底座,如果应用底座不能满足应用模块的调用需要,就会出现运行异常,例如程序崩溃、闪退现象。
56.在线升级:本发明实施例所提及升级均为在线升级,是指服务端发布新版程序包后,移动应用可自动检测到该最新版本,将程序包下载到本地、加载运行,不需要用户手工下载程序包。
57.程序异常:是指在程序运行过程中发生的异常事件,通常由外部问题(如硬件错误、输入错误)所导致。
58.应用崩溃:也称闪退,多指在移动设备上,打开应用程序时出现的突然中断退出情况,应用程序画面一闪而过,随即退回到主屏幕,可能由设备或程序本身问题导致。
59.版本回滚:程序发生错误时,将程序恢复到上一次正确运行版本的行为。
60.以下对现有技术进行详细的说明。
61.一个移动应用往往由多个应用模块组成,如果模块数量比较多,模块的升级与应用的升级可以完全分离、独立执行,此类应用称为超级应用(或应用门户)。应用门户本身的升级安装包是通过安卓应用市场、苹果app store等不同应用市场发布的,用户需要在市场中搜索应用,点击下载或更新完成升级;而应用内的模块升级,例如,社交软件内的小程序升级,则是用户无感知的,由社交软件的应用在运行时自动完成小程序包的升级更新,小程序开发者通过社交软件提供的小程序发布平台完成小程序对应程序包的发布,用户就能在社交软件上使用最新的小程序功能了(也称在线升级或热更新)。
62.不同的应用门户采用的模块在线升级技术是不一样的,这依赖于模块本身的实现技术,例如某应用广泛采用的h5离线包技术、另一应用的小程序技术与开源的react-native技术,它们都能实现模块的在线升级。模块在线升级技术可以极大程度地加快移动应用研发上线的速度,因为不用经过应用市场的审核流程,同时更好的支持多模块、多团队并行研发与发布。
63.但是模块独立升级也带来了一些问题,例如采用react-native开发与发布业务模块,这是一种将javascript代码翻译成原生代码在应用端运行的技术,技术原理较为复杂,又因为移动端本身设备多样性、系统版本多样性、跨平台支持的复杂性,在移动应用中加载react-native程序包,经常发生崩溃闪退等异常现象;而且应用门户充当模块运行的底座,需要为上层模块提供摄像头调用、扫码、定位等公共基础能力,如果底座不能满足模块运行要求,也会发生运行时功能异常,因此,当模块升级加载新程序包时就需要尽可能地早做检测,需要建立一套完善的异常检测与处理装置。
64.应用启动后,应用底座会检测到针对模块的最新升级版本,主动在后台发起下载任务,下载完成后,当用户点击进入该应用模块时,就加载该最新版本运行,如果启动时发生闪退等异常现象,就在结束程序前由底座捕获并记录该异常,应用模块在运行过程中也可以记录运行异常。
65.当应用开发人员发现版本异常后,会在在服务端暂停当前版本发布,并尽快发布一个升级修复版本,已安装异常版本的用户会在二次升级后得到修复,恢复正常运行。总之,现有技术针对移动应用模块升级产生异常主要处理方式是记录异常日志与修复升级。
66.现有技术的缺点分析如下:
67.1、当发生严重的程序崩溃、页面闪退等现象时,已升级最新异常版本的用户只能
等待服务端及时发布修复版本,等待过程中不能使用应用模块提供的功能;当发生次要异常现象,例如:底座版本不能提供模块依赖的某些接口功能,也只能等待修复版本,勉强使用存在部分功能缺陷的程序包。
68.2、升级时异常日志与程序运行所有的日志混合在一起,往往无法获取模块标识、模块程序包标识、异常事件之间的准确关联关系,造成升级问题定位的困难,版本修复不及时,影响用户体验。
69.3、模块升级过程状态记录,或者状态记录简单化,只有安装成功、失败两种。欠缺已下载、加载中、安装运行正常、运行异常等全过程状态的维护。
70.4、程序崩溃异常时,异常未能被捕获并记录的现象也存在,不能捕获也意味着无法进行自动化处理,崩溃可能反复出现。
71.对此,本发明提出一种应用程序的升级方法,用以解决现有技术中存在的问题。下面以具体地实施例对本发明的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
72.参照图2,图2为本发明应用程序的升级方法的第一实施例,应用程序的升级方法包括以下步骤:
73.步骤s10,在检测到应用程序的模块关联待加载设置信息时,获取模块对应的升级程序包。
74.在本实施例中,执行主体是应用程序的升级装置,为了便于描述,以下采用装置指代应用程序的升级装置。装置可以是任意装载有应用程序且可与外部设备进行数据交互的终端设备,例如,装置可以是手机、平板。应用程序可以是移动应用,也即应用程序可为安卓应用或者ios应用。应用程序由多个应用模块组成,每个应用模块提供一种功能,下文采用模块指代应用模块。模块可以独立于应用程序进行升级更新。
75.在装置成功下载模块的升级程序包时,模块会关联装置所设置的待加载设置信息。模块关联待加载设置信息。若是用户在应用程序上点击模块对应的图标,模块则开始运行,此时,装置会对模块进行升级。装置在检测到应用程序的模块关联待加载设置信息时,获取,装置获取模块对应的升级程序包。待加载设置信息用于表征模块具有升级程序包进行加载升级。
76.步骤s20,加载升级程序包以对模块进行升级,并定时检测升级程序包的状态。
77.升级程序包包括有多个状态,状态包括已下载状态以及加载中状态。在装置成功下载升级程序包时,设置升级程序包的状态为已下载状态。装置加载升级程序包对模块进行升级,且会定时检测升级程序包的状态。升级程序包在进行加载时,装置将升级程序包的状态由已下载状态修改为加载中状态。例如,已下载状态表示为{

abc002’:{

state’:

downloaded’}},将已下载状态修改为加载中状态后,加载中状态为:{

abc001’:{

state’:

pending’}}。这是表示下载完成的程序包正式进入加载状态了。
78.在加载升级程序包,且将升级程序包的状态修改为加载中状态,并定时检测升级程序包的状态。定时时间为预设时间,预设时间为升级程序包加载完成所需的最大时长。
79.步骤s30,在升级程序包的状态为加载中状态的次数达到预设次数时,删除模块关联的待加载设置信息,其中,每次检测升级程序包的状态为加载中状态时,增大次数。
80.在程序异常崩溃的情况下,升级程序包一直保持在加载中状态。对此,装置在检测到升级程序包的状态是加载中状态的次数达到预设次数,即可确定升级程序包一直保持在加载中状态,也即模块升级时出现异常。对此,装置控制模块回滚至升级前的版本。具体的,装置会先向状态处理器发出指令,修改升级程序的状态为升级失败;补充添加一条异常记录,异常记录例如:{

abc002’:{

errcode’:

err-01’,

errmsg’:

program crash’}};装置再清除模块关联的nextpack设置(待加载设置信息),使得模块下次运行时,模块加载升级前的原有程序包。
81.步骤s40,加载第一程序包以重新运行模块,其中,第一程序包是模块升级前所加载的程序包。
82.升级程序包的状态被设置为升级失败后,装置会控制模块重新运行。而待加载设置信息已被删除,装置加载第一程序包以重新运行模块,第一程序包是模块升级前所加载的程序包。
83.在本实施例提供的技术方案中,在检测到应用程序的模块关联待加载设置信息时,获取模块对应的升级程序包,加载升级程序包对模块进行升级,并定时检测升级程序包的状态,若升级程序包的状态为加载中状态的次数达到预设次数,删除模块关联的待加载设置信息,并加载第一程序包以重新运行模块。本发明中,在当升级程序包的状态多次为加载中状态时,即可确定程序异常崩溃,删除待加载设置信息,使得模块采用升级前的程序包运行,避免终端无法使用模块提供的功能,提高了终端的运行稳定性。
84.参照图3,图3为本发明应用程序的升级方法第二实施例,基于第一实施例,步骤s10包括:
85.步骤s11,在检测到应用程序的模块关联待加载设置信息时,确定模块是否关联第一标识,其中,第一标识用于指示模块存在升级程序包。
86.在本实施例中,在装置成功下载模块的升级程序包后,会将升级程序包所对应的标识关联模块,该标识定义为第一标识。例如,{’modulea’:{curpack:

abc001’,nextpack:

abc002’}},表示之前正常运行的包为abc001,已下载的升级程序包的第一标识为abc002,同时,状态处理器将升级程序包的包状态设置为已下载状态,已下载状态为{

abc002’:{

state’:

downloaded’}}。
87.此外,装置还可以检测模块所对应的程序包记录中的待加载包是否设置为空。在当装置成功下载升级程序包后,会在模块对应的程序包记录中设置待加载包的第一标识,例如,设置为{’modulea’:{curpack:

abc001’,nextpack:

abc002’}},nextpack表示存在待加载包为abc002。第一标识用于指示模块存在升级程序包。
88.若是不存在待加载程序包括,则直接加载援用程序包,也即curpack指向的程序包abc001。
89.步骤s12,在模块关联第一标识时,根据第一标识获取模块对应的升级程序包。
90.装置在确定模块关联第一标识时,即可基于第一标识获取模块对应的升级程序包。
91.在本实施例提供的技术方案中,装置在检测到应用程序关联待加载设置信息时,确定模块是否关联第一标识,若是关联第一标识,则基于第一标识获取模块对应的升级程序包,也即使得模块进行准确的升级。
92.参照图4,图4为本发明应用程序的升级方法第三实施例,基于第二实施例,步骤s11之前,还包括:
93.步骤s50,接收服务端发送的模块的最新程序包的第二标识。
94.在本实施例中,当应用程序启动后,应用程序内置的版本检测器会从服务端获取是否有模块的升级程序包,若是存在升级程序包,则服务端会返回升级程序包的标识,该标识定义为第二标识。
95.步骤s60,下载第二标识对应的升级程序包。
96.装置会从服务端下载第二标识对应的升级程序包。需要说明的是,为了避免装置下载异常的升级程序包,装置会检测第二标识是否存储于异常程序包的记录列表中。记录列表中存储有异常程序包的标识,且标识是服务端发送至装置的。若是记录列表中未存储第二标识,即可确定升级程序包不是异常程序包,装置则下载第二标识对应的升级程序包。若是记录列表重存储有第二标识,则装置不会下载升级程序包。
97.此外,记录列表中的标识也可以是装置所设置的。具体的,装置采用升级程序包升级模块失败后,会对升级程序包的状态设置为升级失败,并将升级程序包的标识以及标识的升级失败的标识一同存储于记录列表中,例如,根据{

abc002’:{

state’:

failed}}记录,可以确定标识为abc002的升级程序包是异常包。装置会将升级失败的升级程序包进行删除。在装置查询到模块存在升级程序包,若是服务端反馈的升级程序包的第二标识存在与记录列表中,且第二标识关联有升级失败,则装置不会下载第二标识对应的升级程序包。
98.在本实施例中,装置自动记录升级过程中检测发现异常的程序包,在应用启动时进行历史异常包匹配。因为在服务端重新发布新版程序包前,用户还会继续使用应用客户端,还有可能再次检测下载异常程序包,异常包匹配器的设计避免了对有问题的包重复下载安装,提高了移动应用的性能与稳定性。
99.步骤s70,生成待加载设置信息,并将升级程序包的第二标识更新为第一标识。
100.在下载升级程序包后,装置生成待加载设置信息,并将升级程序包的第二标识更新为第一标识。装置将升级程序包的标识设置模块的待加载包(待加载设置信息),例如:{’modulea’:{curpack:

abc001’,nextpack:

abc002’}},表示之前正常运行的包为abc001,已下载待加载包标识为abc002,nextpack:

abc002’可以表示为待加载设置信息。此外,装置将升级程序包的状态设置为已下载状态,已下载状态为:{

abc002’:{

state’:

downloaded’}}。
101.需要说明的是,在完成对升级程序包的下载后,装置需要对升级程序包进行静态检测,也即对升级程序包进行完整性以及合法性的校验。校验规则包括:哈希值是否一种、升级程序包是否合法等。
102.若是校验通过时,则生成待加载设置信息。若是校验未通过,对升级程序包设置为下载异常,也即装置会程序包记录中添加一条异常记录,异常记录例如为:{

abc002’:{

errcode’:

err-02’,

errmsg’:

package signature is invaild’,

datetime’:
‘’
}},该异常记录表示升级程序包abc002签名校验无效。
103.需要说明的是,静态校验未通过,可能原因是网络传输丢包导致,存在偶然性,不能据此判断该标识对应的升级程序包一定是异常的,所以虽然记录异常事件,但不会在程序包记录中设置该包为升级失败状态,此类异常是允许对程序包进行二次下载安装的,可
以理解的是,装置设置下载异常可以用于指示重新下载该升级程序包。
104.步骤s80,将待加载设置信息以及第一标识,与模块进行关联。
105.装置将待加载设置信息以及第一标识与模块进行关联,也即装置将待加载设置信息、第一标识与模块的标识关联存储。
106.在本实施例提供的技术方案中,装置接收服务端发送的模块的最新程序包的第二标识,并下载第二标识对应的升级程序包,再生成待加载设置信息,且将第二标识更新为第一标识,从而将第一标识、待加载设置与模块关联,以便于模块下次运行能够基于待加载设置信息以及第一标识获取升级程序包进行升级。
107.参照图5,图5为本发明应用程序的升级方法第四实施例,基于第一至第三中任一实施例,步骤s20之后,还包括:
108.步骤s90,在升级程序包的状态为加载完成时,对升级程序包进行运行检测。
109.在本实施例中,装置在检测到升级程序包的状态为加载完成时,模块内的运行检测器会执行检查任务,确认升级程序包是否能够运行模块所依赖的底座接口能力,也即对升级城堡进行运行检测。运行检测的项目可以是人工配置,也即可以设置为检测所有模块的全部底座接口能力或者部分底座接口能力。
110.例如,一个用于付费的业务模块,在升级程序包中增加了扫码付费的功能,则运行检测需要调用底座提供的isavailabl(

scan’)接口确认扫码接口是否可用,如果不可用就判断升级程序包不兼容此模块的底座版本。
111.步骤s100,在升级程序包的运行检测未通过时,删除模块关联的待加载设置信息,并加载第一程序包括以重新运行模块。
112.在当升级程序包的运行检测未通过,则会修改升级程序包的状态为升级失败,并删除模块关联的待加载设置信息,且在程序包记录中添加一条异常一下。上述设置例如为:将{’modulea’:{curpack:

abc001’,nextpack:

abc002’}}重置为{’modulea’:{curpack:

abc001’}},将{

abc001’:{

state’:

pending’}}修改为{

abc001’:{

state’:

failed}};添加异常记录{

abc002’:{

errcode’:

err-03’,

errmsg’:

app not compatible,《scan》is not available’}},表示具体错误信息为底座不具备扫码接口。
113.装置清除模块关联的nextpack设置(待加载设置信息),使得模块下次运行时,模块加载升级前的原有程序包,也即模块再次运行时,加载升级前的程序包(第一程序包)重新运行模块。
114.步骤s110,在升级程序包的运行检测通过时,将升级程序包更新为第一程序包。
115.在运行检测通过时,则将升级程序包更新为第一程序包。具体的,装置修改程序包状态为升级成功,并将模块当前程序包设置为信保标识,也即将升级程序包更新为第一程序包,使得模块在后续的运行过程中以更新的第一程序包运行。上述设置例如为:将{’modulea’:{curpack:

abc001’,nextpack:

abc002’}}修改为{’modulea’:{curpack:

abc002’}},将{

abc001’:{

state’:

pending’}}修改为{

abc001’:{

state’:

success’}}。
116.在本实施例中,在升级程序包加载完成后,检测升级程序包对应用底座的接口依赖关系是否能够得到满足,接口检查规则可按需配置。因为不同用户使用移动应用,升级速度不一致,多个应用版本并存的现象广泛存在,模块与应用程序又是独立升级的,模块的升
级程序包对不同版本的应用的适配情况存在不确定性,运行检测可以在升级程序包首次运行时主动探测模块与应用底座的兼容性,针对异常进行自动化回滚处置,从而降低了模块独立升级的风险。
117.此外,本实施例中设置程序包记录,用于记录升级程序的状态以及异常记录。状态例如为已下载状态、加载中状态、升级成功以及升级失败,能够通过升级程序包标识快速查询到升级程序包关联的异常信息、升级状态,方便研发人员快速定位程序包升级时出现问题原因(异常错误信息不再和其他日志混合在一起)。
118.本发明还提供一种应用程序的升级设备,参照图6,应用程序的升级设备600包括:
119.获取模块610,用于在检测到应用程序的模块关联待加载设置信息时,获取模块对应的升级程序包;
120.加载模块620,用于加载升级程序包以对模块进行升级,并定时检测升级程序包的状态;
121.删除模块630,用于在升级程序包的状态为加载中状态的次数达到预设次数时,删除模块关联的待加载设置信息,其中,每次检测升级程序包的状态为加载中状态时,增大次数;
122.加载模块620,用于加载第一程序包以重新运行模块,其中,第一程序包是模块升级前所加载的程序包。
123.在一实施例中,应用程序的升级设备600包括:
124.确定模块,用于在检测到应用程序的模块关联待加载设置信息时,确定模块是否关联第一标识,其中,第一标识用于指示模块存在升级程序包;
125.获取模块610,用于在模块关联第一标识时,根据第一标识获取模块对应的升级程序包。
126.在一实施例中,应用程序的升级设备600包括:
127.接收模块,用于接收服务端发送的模块的最新程序包的第二标识;
128.下载模块,用于下载第二标识对应的升级程序包;
129.生成模块,用于生成待加载设置信息,并将升级程序包的第二标识更新为第一标识;
130.关联模块,用于将待加载设置信息以及第一标识,与模块进行关联。
131.在一实施例中,应用程序的升级设备600包括:
132.检测模块,用于检测第二标识是否存储于异常程序包的记录列表中;
133.下载模块,用于在第二标识未存储于记录列表时,下载第二标识对应的升级程序包。
134.在一实施例中,应用程序的升级设备600包括:
135.校验模块,用于对升级程序包进行完整性以及合法性的校验;
136.生成模块,用于在校验通过时,生成待加载设置信息。
137.在一实施例中,应用程序的升级设备600包括:
138.设置模块,用于在校验未通过时,对升级程序包设置为下载异常,其中,下载异常用于指示重新下载升级程序包。
139.在一实施例中,应用程序的升级设备600包括:
140.检测模块,用于在升级程序包的状态为加载完成时,对升级程序包进行运行检测;
141.删除模块630,用于在升级程序包的运行检测未通过时,删除模块关联的待加载设置信息,并加载第一程序包括以重新运行模块;
142.更新模块,用于在升级程序包的运行检测通过时,将升级程序包更新为第一程序包。
143.图7是根据一示例性实施例示出的一种应用程序的升级设备的硬件结构图。
144.应用程序的升级设备700可以包括:处理器701,例如cpu,存储器702以及收发器703。本领域技术人员可以理解,图7中示出的结构并不构成对应用程序的升级设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
145.处理器701可以调用存储器702内存储的计算机程序,以完成上述的应用程序的升级方法的全部或部分步骤。
146.收发器703用于接收外部设备发送的信息以及向外部设备发送信息。
147.一种非临时性计算机可读存储介质,当该存储介质中的指令由应用程序的升级设备的处理器执行时,使得应用程序的升级设备能够执行上述应用程序的升级方法。
148.一种计算机程序产品,包括计算机程序,当该计算机程序由应用程序的升级设备的处理器执行时,使得应用程序的升级设备能够执行上述应用程序的升级方法。
149.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
150.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
再多了解一些

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

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

相关文献