一种车载应用软件升级方法、系统、电子设备及存储介质与流程

文档序号:31725660发布日期:2022-10-05 00:29阅读:65来源:国知局
一种车载应用软件升级方法、系统、电子设备及存储介质与流程

1.本技术涉及车载系统技术领域,具体涉及一种车载应用软件升级方法、系统、电子设备及存储介质。


背景技术:

2.随着智能汽车技术的发展,车载系统也不断地进行升级迭代。目前,常见的车载系统包括:qnx(blackberry qnx neutrino,微内核操作系统)系统等。qnx系统基于其能够迅速反应及高稳定性的特点,广泛应用于汽车电子等领域。
3.对于qnx系统的软件升级,目前通常采用对系统中的应用软件进行单独升级的方式,然而,这种升级方式中的各个应用软件不可拆分,导致应用软件升级的颗粒度较差,例如:不能较好地满足对应用软件的某个组成部分进行单独升级的需求等。并且,由于车载系统的应用软件之间通常存在依赖关系,而上述方式则未能较好地考虑到应用软件之间的依赖关系,这很可能导致多个应用软件在不同版本下依赖关系出现问题,产生安全隐患。


技术实现要素:

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.图1是本技术的一示例性实施例示出的车载软件升级过程中信息交互的示意图;
51.图2是本技术的一示例性实施例示出的车载应用软件升级方法的流程示意图;
52.图3是本技术的一示例性实施例示出的车载应用软件升级方法中获取任务文件的流程示意图;
53.图4是本技术的一示例性实施例示出的车载应用软件升级方法中校验与条件检测步骤的流程示意图;
54.图5是本技术的一示例性实施例示出的车载应用软件升级方法中预依赖检查的流程示意图;
55.图6是本技术的一示例性实施例示出的车载应用软件升级方法中执行待执行软件升级任务的流程示意图;
56.图7是本技术的一示例性实施例示出的车载应用软件升级方法中完成软件升级任务后的流程示意图;
57.图8是本技术的一示例性实施例示出的车载应用软件升级方法中判断是否需要修改当前的软件启动项配置的流程示意图;
58.图9是本技术的一示例性实施例示出的车载应用软件升级系统的结构示意图;
59.图10示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
60.以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
61.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
62.在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
63.首先需要说明的是,qnx系统是1981年加拿大blackberry(黑莓)公司成为开发的一款实时嵌入式操作系统。该系统采用微内核结构,地址空间隔离,保证任何一个部分出了错误不会影响其他部分和内核,并且可自动重启恢复;并且,qnx系统内核精简,运行极快,可任意裁剪成适合自己的最小方案;再有,qnx系统能根据用户指令即时调用系统模块,并且不失多任务和实时的特点,确保不论系统负载如何,高优先级任务总是能按时完成。因此,qnx系统被广泛应用于通信、医疗、汽车电子等领域。而最终的车载终端所采用的qnx系统,在开发中并未采用迭代开发,导致其系统不具备新增、更新或卸载应用软件的功能,若需更改应用软件,就意味着整个系统需要一并升级,系统扩展性能较差。目前对于qnx系统的软件升级,通常采用对系统中的应用软件进行单独升级的方式,然而,这种升级方式中的各个应用软件不可拆分,导致应用软件升级的颗粒度较差,且未能较好地考虑到应用软件之间的依赖关系,这就很可能导致车载应用软件在不同版本下依赖关系出现问题,产生安全隐患等。基于此,本技术提出一种车载应用软件升级方法、系统、电子设备及存储介质,通过对车载系统中的指定应用软件进行升级,或者,对任一应用软件的指定组成部分进行升级,提升了应用软件升级的颗粒度与效率。并且,通过对软件升级任务所对应的待升级软件
进行预依赖检查,避免软件升级过程中不同软件之间的依赖关系出现异常,有效提高车载应用软件升级安全性。
64.图1是本技术一示例性实施例示出的车载软件升级过程中信息交互的示意图,由图1可知,外部模块101与车载应用软件升级系统102(车载系统)相连接,车载应用软件升级系统102接收外部模块101发送的版本查询指令,并根据版本查询指令,将当前软件版本信息,即本地软件版本信息反馈至外部模块101,外部模块101可根据当前软件版本信息生成任务文件,并将任务文件与相应的软件升级包发送至车载应用软件升级系统102,由车载应用软件升级系统102接收上述任务文件,并进行任务文件解析与执行。通过将外部模块101与车载应用软件升级系统102,能够较好地实现对车载应用软件的升级,灵活度较高。
65.图1所示的外部模块101可以是平板电脑、笔记本电脑、智能手机等终端设备,但并不限于此。外部模块101可以通过3g(第三代的移动信息技术)、4g(第四代的移动信息技术)、5g(第五代的移动信息技术)等无线网络与车载应用软件升级系统102进行通信,本处也不对此进行限制。
66.请参阅图2,图2是本技术的一示例性实施例示出的车载应用软件升级方法的流程示意图。该方法可应用于图1所示的车载软件升级的实施环境,并由该实施环境中的车载应用软件升级系统102具体执行。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。
67.示例性的,本实施例揭示的车载应用软件升级方法所适用的车载应用软件升级系统102可以是qnx系统,通过实施上述车载应用软件升级方法,能够较好地提高qnx系统的软件升级颗粒度,同时,避免车载应用软件之间的依赖关系出现问题,提高车载软件升级的安全性。
68.如图2所示,在一示例性的实施例中,车载应用软件升级方法包括步骤s201至步骤s205:
69.s201:获取任务文件。所述任务文件由外部模块所提供。该任务文件规定了单次升级所包括的所有任务,并且标识了软件升级对象类型是应用软件或是应用软件的组成部分,若是应用软件的组成部分,则应当标识其归属的应用软件。通过获取由外部模块发送的任务文件,便于后续对任务文件进行解析与执行,并且,通过在任务文件中规定单次升级所包括的所有任务,以及标志软件升级类型,能够较好地实现在后续软件升级过程中,提高软件升级颗粒度。
70.s202:根据预设的解析规则,对所述任务文件进行解析,获取任务列表,所述任务列表包括:至少一个软件升级任务;所述软件升级任务为:对指定应用软件进行升级,或者,对任一应用软件的指定组成部分进行升级。
71.需要说明的是,在对任务文件进行解析的过程中,非软件升级的任务已经被过滤,从而提高后续软件升级的响应速度。所述解析规则可以根据实际情况进行设置,此处不再赘述。通过对任务文件进行解析,获取任务列表,能够便于后续对任务列表中的软件升级任务进行相应执行。
72.另外需要说明的是,在没有特定描述其含义的场景,本技术中软件更新、安装和卸载三种操作统称为软件升级。
73.s203:对所述软件升级任务所对应的待升级软件进行预依赖检查,所述预依赖检
查为判断多个所述待升级软件升级后是否满足预设的依赖关系。
74.需要提及的是,目前的车载系统应用软件繁多且负载,不同应用软件之间存在许多依赖关系,例如:一些软件的功能需要通过调用其他软件库的api(application programming interface,应用程序编程接口)来实现。而汽车作为人们日常出行常用的交通工具,安全是车载系统需要考虑的首要因素,因此,对于车载应用软件的升级,必须要考虑到车载系统中不同软件之间的依赖关系,避免车载应用软件升级过程中依赖关系出现问题,而产生不必要的安全隐患。
75.通过对待升级软件进行预依赖检查,确保车载应用软件升级过程中软件之间的依赖关系稳定,提高了车载软件升级的安全性,灵活性较高。
76.s204:若预依赖检查通过,则将对应所述软件升级任务放入预设的待执行任务队列。所述待执行任务队列指应用软件升级的升级任务队列,非应用软件的任务在任务解析时已经被过滤掉。所有软件升级任务需要放入待执行任务队列才会被后续执行,采用先进先出的原则被执行,其任务执行是并行的,并行度与预设的任务执行进程的数量相关。
77.在一些实施例中,若任何一个待升级软件不满足依赖关系,则通知外部模块,并告知或发送其具体原因。
78.s205:根据预设的任务执行规则,执行所述待执行任务队列中的软件升级任务,完成车载应用软件升级。通过上述步骤,能够较好地实现对车载应用软件的升级,颗粒度较高,即既能实现对车载应用软件整体的升级,也能实现对车载应用软件的指定组成部分升级,并且,能够提高车载应用软件升级过程中的安全性,避免软件依赖关系出现故障,灵活度较高,成本较低。
79.图3是本技术的一示例性实施例示出的车载应用软件升级方法中获取任务文件的流程示意图。如图3所示,获取任务文件的步骤包括:
80.s301:接收外部模块发送的版本查询指令。
81.s302:根据所述版本查询指令,反馈当前软件版本信息,所述当前软件版本信息用作所述外部模块确定待升级软件信息并生成任务文件;进而获取所述任务文件。可以理解的,外部模块根据当前软件版本信息,确定哪些应用软件需要升级,以及哪些软件升级包需要部署,进而生成相应的任务文件。当前软件版本信息指车载本地当前的软件版本信息。
82.图4是本技术的一示例性实施例示出的车载应用软件升级方法中校验与条件检测步骤的流程示意图。请参考图4,在一示例性的实施例中,根据预设的解析规则,对所述任务文件进行解析的步骤之前包括:
83.s401:获取软件升级包,所述软件升级包与所述任务文件相关联。所述软件升级包由外部模块所发送。
84.s402:根据预设的校验规则,对所述任务文件和所述软件升级包进行校验,获取校验结果。上述步骤中,通过对任务文件和软件升级包进行校验,能够确保文件来源,并且保证内容的完整性。所述校验规则可以根据实际情况进行设置,例如:对文件来源以及内容的完整性进行校验等,此处不再赘述。
85.s403:若所述校验结果为校验通过,则对当前的软件系统进行升级条件检测,所述升级条件检测包括:系统工作状态检测和系统存储空间检测,所述软件系统为车载系统;若升级条件检测通过,则根据所述解析规则,对所述任务文件进行解析,获取任务列表。若升
级条件检测未通过,则间隔指定时间后继续进行升级条件检测。可以理解的,车辆作为交通工具,存在不同的工作状态,如:行驶状态、休眠状态、故障状态等,必须在适合的条件下进行软件升级,否则,可能会产生一定的安全隐患,因此,通过对当前的车载系统进行系统工作状态检测,能够确保软件升级的安全性,避免发生意外事件。通过对当前的车载系统进行系统存储空间检测,能够确保软件升级具有足够的存储空间。需要提及的是,升级条件检测包括但不限于上述两种检测内容,具体条件检测内容可以根据实际情况进行设置,此处不做限定。
86.图5是本技术的一示例性实施例示出的车载应用软件升级方法中预依赖检查的流程示意图。如图5所示,在一示例性的实施例中,判断多个所述待升级软件升级后是否满足预设的依赖关系的步骤包括:
87.s501:从所述任务文件中提取依赖关系配置信息。具体的,所述依赖关系配置信息是任务文件中预先设置好的,便于后续进行预依赖检查。
88.s502:根据所述依赖关系配置信息和多个所述待升级软件升级后的版本信息,判断多个所述待升级软件升级后是否满足依赖关系。即假设待升级软件已经完成升级,将升级后的软件版本信息与依赖关系配置信息进行校对核验,判断是否满足依赖关系配置信息中的依赖关系,完成对待升级软件的预依赖检查,提高车载软件升级的安全性。
89.图6是本技术的一示例性实施例示出的车载应用软件升级方法中执行待执行软件升级任务的流程示意图。请参考图6,在一示例性的实施例中,根据预设的任务执行规则,执行所述待执行任务队列中的软件升级任务的步骤包括:
90.s601:将所述待执行任务队列中的软件升级任务依次加入预设的执行任务队列,所述执行任务队列包括:至少一个任务执行进程,所述至少一个任务执行进程并行运行。需要说明的是,执行任务队列中的待执行任务正在被某个任务执行进程所执行,执行任务队列中的待执行任务并行执行,从而提高任务执行的效率。同一个任务执行进程中的不同操作串行执行。
91.s602:根据获取的与软件升级任务相对应的软件升级包,对所述执行任务队列中的软件升级任务进行处理;其中,对所述执行任务队列中的软件升级任务进行处理的步骤至少包括以下之一:软件更新、软件安装和软件卸载。
92.图7是本技术的一示例性实施例示出的车载应用软件升级方法中完成软件升级任务后的流程示意图。如图7所示,在一示例性的实施例中,根据预设的任务执行规则,执行所述待执行任务队列中的软件升级任务的步骤之后包括:
93.s701:当完成所述软件升级任务中的更新操作、安装操作或卸载操作时,对相应的待升级软件的版本信息进行更新,并判断本次软件升级任务是否完成,即判断本次软件升级任务是否还有软件需要安装或卸载。如果有,则继续执行软件升级任务,如果没有,则表示该软件升级任务已完成。
94.s702:若本次软件升级任务已完成,则将本次软件升级任务放入预设的任务完成队列。可知,所述任务完成队列中的软件升级任务已经被执行完毕,在软件升级过程中,一个软件升级任务执行完毕后应当将此软件升级任务移入完成任务队列,便于后续对已执行的软件执行任务进行统计,避免出现任务列表中的软件升级任务未完全完成。
95.s703:根据所述任务完成队列中的软件升级任务,判断是否所述任务列表中的所
有软件升级任务均已完成。
96.s704:若所述任务列表中的所有软件升级任务均已完成,则根据预设的软件启动配置修改规则,判断是否需要修改当前的软件启动项配置,获取判断结果。
97.s705:根据所述判断结果,对当前的软件启动项配置进行修改。可以理解的,通过根据预设的软件启动配置修改规则,判断是否需要修改当前的软件启动项配置,进而对当前的软件启动项配置进行修改,有助于提升用户体验。
98.s706:重启当前的软件系统,或者,拉起升级后的应用软件,完成车载应用软件升级。其中,拉起指启动应用软件或跳转到应用软件的界面。
99.图8是本技术的一示例性实施例示出的车载应用软件升级方法中判断是否需要修改当前的软件启动项配置的流程示意图。如图8所示,在一示例性的实施例中,根据预设的软件启动配置修改规则,判断是否需要修改当前的软件启动项配置的步骤包括:
100.s801:判断所述软件升级任务的软件升级对象是指定应用软件,还是应用软件的指定组成部分。应用软件的指定组成部分如动态库等。
101.s802:若所述软件升级对象是应用软件的指定组成部分,则不修改软件启动项配置;若所述软件升级对象是指定应用软件,则判断对应软件升级任务的升级操作属性是软件更新、软件安装或软件卸载。
102.s803:若所述升级操作属性是软件更新,则不修改软件启动项配置,若所述升级操作属性是软件安装或软件卸载,则对相应的软件启动项配置进行修改。上述步骤中,通过对软件升级对象和升级操作属性进行判定,能够较精准地实现对升级后的软件的启动项修改,有效提升用户体验。
103.图9是本技术的一示例性实施例示出的车载应用软件升级系统的结构示意图。请参考图9,在一示例性的实施例中,所述车载应用软件升级系统包括:
104.服务管理模块901,用于获取任务文件;
105.任务管理模块902,用于根据预设的解析规则,对所述任务文件进行解析,获取任务列表,所述任务列表包括:至少一个软件升级任务;所述软件升级任务为:对指定应用软件进行升级,或者,对任一应用软件的指定组成部分进行升级;
106.条件检测模块903,用于对所述软件升级任务所对应的待升级软件进行预依赖检查,所述预依赖检查为判断多个所述待升级软件升级后是否满足预设的依赖关系;若预依赖检查通过,则将对应所述软件升级任务放入预设的待执行任务队列;
107.任务执行模块904,用于根据预设的任务执行规则,执行所述待执行任务队列中的软件升级任务,完成车载应用软件升级。所述任务执行模块包括至少一个任务执行单元,任务执行单元与任务执行进程一一对应。本系统通过获取任务文件,根据预设的解析规则,对任务文件进行解析,获取任务列表,任务列表包括:至少一个软件升级任务;软件升级任务为:对指定应用软件进行升级,或者,对任一应用软件的指定组成部分进行升级,实现了对应用软件升级颗粒度的提升,提高了车载应用软件升级的效率。且通过对软件升级任务所对应的待升级软件进行预依赖检查,将预依赖检查通过的软件升级任务放入预设的待执行任务队列,根据预设的任务执行规则,执行所述待执行任务队列中的软件升级任务,避免软件升级过程中不同软件之间的依赖关系出现异常,提高车载应用软件升级安全性,稳定性较强,可实施性较强,成本较低。
108.在另一示例性的实施例中,所述车载应用软件升级系统还包括:
109.版本管理模块905,用于提供软件版本的查询、删除、新增及更新操作接口。所述版本管理模块分别与所述服务管理模块和任务执行模块连接。例如:服务管理模块向版本管理模块发出版本查询指令,版本管理模块根据所述版本查询指令做出应答,或者,任务执行模块向版本管理模块发出版本信息更新请求,版本管理模块根据版本信息更新请求对任务执行模块做出应答。
110.在另一示例性的实施例中,所述服务管理模块901还用于向所述版本管理模块查询本地软件版本文件,形成软件版本信息并进行存储。服务管理模块查询本地软件版本有两种触发条件,一是操作系统重启,二是升级软件完成。
111.在另一示例性的实施例中,所述服务管理模块901获取任务文件的步骤包括:
112.接收外部模块发送的版本查询指令;
113.根据所述版本查询指令,反馈当前软件版本信息,所述当前软件版本信息用作所述外部模块确定待升级软件信息并生成任务文件;进而获取所述任务文件。
114.在另一示例性的实施例中,所述条件检测模块903还用于在根据预设的解析规则,对所述任务文件进行解析的步骤之前,对任务文件和获取的软件升级包进行校验,步骤包括:
115.获取软件升级包,所述软件升级包与所述任务文件相关联;
116.根据预设的校验规则,对所述任务文件和所述软件升级包进行校验,获取校验结果;
117.若所述校验结果为校验通过,则对当前的软件系统进行升级条件检测,所述升级条件检测包括:系统工作状态检测和系统存储空间检测,所述软件系统为车载系统;
118.若升级条件检测通过,则根据所述解析规则,对所述任务文件进行解析,获取任务列表。
119.在另一示例性的实施例中,所述条件检测模块903判断多个所述待升级软件升级后是否满足预设的依赖关系的步骤包括:
120.从所述任务文件中提取依赖关系配置信息;
121.根据所述依赖关系配置信息和多个所述待升级软件升级后的版本信息,判断多个所述待升级软件升级后是否满足依赖关系。
122.在另一示例性的实施例中,所述任务执行模块根据预设的任务执行规则,执行所述待执行任务队列中的软件升级任务的步骤包括:
123.将所述待执行任务队列中的软件升级任务依次加入预设的执行任务队列,所述执行任务队列包括:至少一个任务执行进程,所述至少一个任务执行进程并行运行;
124.根据获取的与软件升级任务相对应的软件升级包,对所述执行任务队列中的软件升级任务进行处理;
125.其中,对所述执行任务队列中的软件升级任务进行处理的步骤至少包括以下之一:软件更新、软件安装和软件卸载。
126.在另一示例性的实施例中,所述任务执行模块904根据预设的任务执行规则,执行所述待执行任务队列中的软件升级任务的步骤之后包括:
127.当完成所述软件升级任务中的更新操作、安装操作或卸载操作时,调用所述版本
管理模块对相应的待升级软件的版本信息进行更新,并判断本次软件升级任务是否完成;
128.若本次软件升级任务已完成,则将本次软件升级任务放入预设的任务完成队列;
129.所述任务管理模块902根据所述任务完成队列中的软件升级任务,判断是否所述任务列表中的所有软件升级任务均已完成;
130.若所述任务列表中的所有软件升级任务均已完成,则根据预设的软件启动配置修改规则,判断是否需要修改当前的软件启动项配置,获取判断结果;
131.根据所述判断结果,对当前的软件启动项配置进行修改;
132.最后,重启当前的软件系统,或者,拉起升级后的应用软件,完成车载应用软件升级。
133.在另一示例性的实施例中,所述任务管理模块902根据预设的软件启动配置修改规则,判断是否需要修改当前的软件启动项配置的步骤包括:
134.判断所述软件升级任务的软件升级对象是指定应用软件,还是应用软件的指定组成部分;
135.若所述软件升级对象是应用软件的指定组成部分,则不修改软件启动项配置;
136.若所述软件升级对象是指定应用软件,则判断对应软件升级任务的升级操作属性是软件更新、软件安装或软件卸载;
137.若所述升级操作属性是软件更新,则不修改软件启动项配置,若所述升级操作属性是软件安装或软件卸载,则对相应的软件启动项配置进行修改。
138.需要说明的是,上述实施例所提供的车载应用软件升级系统与上述实施例所提供的车载应用软件升级方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的路况刷新装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
139.本技术的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的车载应用软件升级方法。
140.图10示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
141.如图10所示,计算机系统1000包括中央处理单元(central processing unit,cpu)1001,其可以根据存储在只读存储器(read-only memory,rom)1002中的程序或者从储存部分1008加载到随机访问存储器(random access memory,ram)1003中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram1003中,还存储有系统操作所需的各种程序和数据。cpu 1001、rom 1002以及ram1003通过总线1004彼此相连。输入/输出(input/output,i/o)接口1005也连接至总线1004。
142.以下部件连接至i/o接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1007;包括硬盘等的储存部分1008;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如
因特网的网络执行通信处理。驱动器1010也根据需要连接至i/o接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入储存部分1008。
143.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(cpu,central processing unit)1001执行时,执行本技术的系统中限定的各种功能。
144.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
145.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
146.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
147.本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机的处理器执行时,使计算机执行如前所述的车载应用软件升级方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
148.本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的车载应用软件升级方法。
149.上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1