一种车辆tbox、车辆tbox的升级方法和装置
技术领域
1.本技术涉及车辆tbox升级的技术领域,尤其涉及一种车辆tbox、车辆tbox的升级方法和装置。
背景技术:2.车联网系统是用于车辆的远程协助和控制,可以实现较多的远距离控制功能,例如远程启动车辆、空调开关控制、座椅远程调整等,车联网系统包括主机、车辆tbox(telematics box,远程通讯箱)、手机app(application,应用程序)和后台系统。车辆t-box主要用于和后台系统/手机app通信,实现手机app的车辆信息显示与控制。在实际应用时,车辆tbox需要执行对应的升级任务,现有的升级策略中在车辆tbox进入升级流程后,会持续执行升级任务直至完成升级,升级过程中可能进入死循环而无法跳转执行其他任务,对人车交互产生不利影响。
3.因此,如何提高车辆tbox升级过程中运行的可靠性,是目前亟待解决的技术问题。
技术实现要素:4.本发明的一种车辆tbox、车辆tbox的升级方法和装置,提高了车辆tbox升级过程中运行的可靠性。
5.本发明实施例提供了以下方案:
6.第一方面,本发明实施例提供了一种车辆tbox的升级方法,所述方法包括:
7.确定车辆tbox在执行升级任务时是否存在升级中断风险;
8.若是,则退出所述升级任务,并在所述升级中断风险消除时再次执行所述升级任务,直至完成所述升级任务。
9.在一种可选的实施例中,所述确定车辆tbox在执行升级任务时是否存在升级中断风险,包括:
10.获取所述车辆tbox执行升级任务时的运行负载率;
11.在所述运行负载率大于预设的负载率阈值时,确定存在所述升级中断风险。
12.在一种可选的实施例中,所述确定车辆tbox在执行升级任务时是否存在升级中断风险,包括:
13.获取所述车辆tbox执行升级任务时的总线信号;
14.在所述总线信号表征的车辆准备信号被激活时,确定存在所述升级中断风险。
15.在一种可选的实施例中,所述退出所述升级任务,包括:
16.发送第一退出信号至所述车辆tbox的升级组件;
17.所述升级组件接收所述第一退出信号,执行所述升级任务的退出操作。
18.在一种可选的实施例中,所述执行所述升级任务的退出操作之后,还包括:
19.广播第二退出信号至所述车辆tbox的通讯总线;
20.所述车辆tbox的目标组件根据所述第二退出信号,执行所述升级任务的退出操
作,其中,所述目标组件为所述升级任务中被所述升级组件控制升级的组件。
21.在一种可选的实施例中,再次执行所述升级任务,包括:
22.获取所述车辆tbox执行所述升级任务的升级时间戳,其中,所述升级时间戳为完成所述升级任务的升级节点的时间戳;
23.根据所述升级时间戳和所述车辆tbox的升级指令执行升级任务。
24.第二方面,本发明实施例还提供了一种车辆tbox,所述车辆tbox经第一方面中任一所述的方法进行升级。
25.第三方面,本发明实施例还提供了一种车辆tbox的升级装置,所述装置包括:
26.确定模块,用于确定车辆tbox在执行升级任务时是否存在升级中断风险;
27.执行模块,用于在存在所述升级中断风险时,退出所述升级任务,并在所述升级中断风险消除时再次执行所述升级任务,直至完成所述升级任务。
28.在一种可选的实施例中,所述确定模块,包括:
29.第一获取子模块,用于获取所述车辆tbox执行升级任务时的运行负载率;
30.第一确定子模块,用于在所述运行负载率大于预设的负载率阈值时,确定存在所述升级中断风险。
31.在一种可选的实施例中,所述确定车辆tbox在执行升级任务时是否存在升级中断风险,包括:
32.第二获取子模块,用于获取所述车辆tbox执行升级任务时的总线信号;
33.第二确定子模块,用于在所述总线信号表征的车辆准备信号被激活时,确定存在所述升级中断风险。
34.在一种可选的实施例中,所述执行模块,包括:
35.发送子模块,用于发送第一退出信号至所述车辆tbox的升级组件;
36.第一执行子模块,用于所述升级组件接收所述第一退出信号,执行所述升级任务的退出操作。
37.在一种可选的实施例中,所述执行所述升级任务的退出操作之后,还包括:
38.广播子模块,用于广播第二退出信号至所述车辆tbox的通讯总线;
39.第二执行子模块,用于所述车辆tbox的目标组件根据所述第二退出信号,执行所述升级任务的退出操作,其中,所述目标组件为所述升级任务中被所述升级组件控制升级的组件。
40.在一种可选的实施例中,执行模块还包括:
41.第三获取子模块,用于获取所述车辆tbox执行所述升级任务的升级时间戳,其中,所述升级时间戳为完成所述升级任务的升级节点的时间戳;
42.第二执行子模块,用于根据所述升级时间戳和所述车辆tbox的升级指令执行升级任务。
43.第四方面,本发明实施例还提供了一种电子设备,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行第一方面中任一项所述方法的步骤。
44.第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。
45.本发明的一种车辆tbox、车辆tbox的升级方法和装置与现有技术相比,具有以下优点:
46.本发明的升级方法,通过在车辆tbox在执行升级任务时,确定车辆tbox是否存在升级中断风险,以对车辆tbox在本次升级是否成功进行预判,在存在升级中断风险时退出升级任务,降低车辆tbox在升级过程中因升级失败产生的不利影响,并在升级中断风险消除时再次执行升级任务,直至完成升级任务,能够保障升级任务稳定执行,进而提高了车辆tbox升级过程中运行的可靠性。
附图说明
47.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1为本发明实施例提供的一种车辆tbox的升级方法的流程图;
49.图2为本发明实施例提供的一种车辆tbox的升级装置的结构示意图。
具体实施方式
50.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明实施例保护的范围。
51.在现有的车辆tbox升级方案中,部分车型采用设置一升级时间作为升级是否成功的量化指标,若在设定时间内完成升级后退出,则确定该次升级任务执行成功;若在设定时间内未完成升级退出,则强制退出,确定该次升级任务执行失败。该种升级策略下必须要达到设定时间才执行退出操作,在该设定时间内无法执行用户的操作指令,影响用户的正常使用,导致车辆tbox处于升级过程中运行的可靠性不足。下面将具体阐述如何通过本发明实施例的技术方案提高车辆tbox升级过程中运行的可靠性。
52.请参阅图1,图1为本发明实施例提供的一种车辆tbox的升级方法的流程图,所述方法包括:
53.s11、确定车辆tbox在执行升级任务时是否存在升级中断风险。
54.具体的,车辆tbox的升级任务可以基于后台系统的升级指令执行,也可以基于用户经手机app操控执行,进入升级任务后将执行对应的升级操作。车辆tbox通常包括升级组件(或称ota组件)、电源组件、定位组件和通讯组件等,执行升级任务时,升级组件先对自身升级,完成后再对其他组件进行升级,直至完成升级任务,升级中断风险表征的是可能会造成该次升级任务中无法完成的风险,例如电源组件的供电故障,造成部分组件供电异常,而无法进行正常升级;或通讯组件的通讯故障,升级组件无法经通讯组件对组件完成升级的擦写操作,影响升级任务的顺利执行。通过升级中断风险可以进行该次升级任务执行结果的预测,减小车辆tbox在执行升级任务时,可能存在无法预知的突发情况发生,因升级任务失败造成车辆tbox部分功能丧失,甚至用户无法使用车辆tbox。
55.在具体实施时,由于升级中断风险可能存在多种诱导因素,若将升级中断风险的指标项设定过多,进行逐一判断将造成车辆tbox的计算冗余。
56.在一种具体的实施方式中,确定车辆tbox在执行升级任务时是否存在升级中断风险,包括:
57.获取车辆tbox执行升级任务时的运行负载率;在运行负载率大于预设的负载率阈值时,确定存在升级中断风险。
58.具体的,运行负载率表征了车辆tbox的运行计算状态,即执行升级任务时当前时间处理和等待处理的进程数之和的统计信息,运行负载率通常以0-1进行表征,该值越小越好,运行负载率为1时,说明计算运行已处于满载状态。运行负载率不大于负载率阈值,说明执行升级任务时运行计算状态为正常,可以继续执行升级任务;运行负载率大于负载率阈值,说明执行升级任务时计算量较大,可能已造成计算线程阻塞,继续执行升级任务可能会因运行负载率过高引起升级中断,则确定存在升级中断风险。可以理解,升级任务是通过升级组件调度完成的,运行负载率可以为升级组件的计算负载率;车辆tbox在运行过程中,车辆tbox的cpu(central processing unit,中央处理器)需要执行各组件的整体调度,因此,运行负载率也可以是车辆tbox的cpu计算负载率;负载率阈值可以基于技术人员的经验确定,例如0.7,也可以通过标定试验确定,能够准确确定出升级中断风险即可。通过运行负载率该项指标可以知晓车辆tbox在执行升级任务时的整体运行情况,减少车辆tbox对车辆中断风险逐一判断的计算冗余。
59.运行负载率可以按设定频率进行计算,例如0.5s或1s,及时确定车辆tbox执行升级任务时的运行状态。当然,为保障车辆tbox稳定完成升级任务,可以设定第一负载率阈值和第二负载率阈值,其中,第二负载率阈值大于第一负载率阈值,例如设定第一负载率阈值为0.5,第二负载率阈值为0.75。当在执行升级任务时,大于第一负载率阈值,且小于第二负载率阈值时,可以关闭与升级任务无关的进程,也可以提高车辆tbox的cpu的时钟频率,或提高cpu的供电电压,或增加缓存容量,能够降低运行负载率,继续执行升级任务即可,若运行负载率保持在第二负载阈值内,说明车辆tbox在执行升级任务时运行较为稳定,继续执行升级任务,直至完成升级任务;但是,当运行负载率大于第二负载阈值时,说明负载率已持续升高,为降低因负载率过高造成被动退出升级任务,执行主动退出升级任务的退出机制。可以理解,被动退出升级任务时,是车辆tbox因运行负载率过高的保护机制,以减少车辆tbox硬件烧毁的可能,被动退出时可能造成车辆tbox的部分组件无法恢复对应的功能。
60.在实际应用时,由于车辆的行驶状态会随驾驶员操控发生变化,例如处于停止状态的车辆随驾驶员的操控将启动行驶,不同的车辆状态可能也会存在升级中断的风险,且继续升级可能影响驾乘人员对车辆tbox的正常操控。
61.为解决上述问题,在一种具体的实施方式中,确定车辆tbox在执行升级任务时是否存在升级中断风险,包括:
62.获取车辆tbox执行升级任务时的总线信号;在总线信号表征的车辆准备信号被激活时,确定存在升级中断风险。
63.具体的,车辆整体涉及燃油系统、传动系统、巡航系统和空调系统等多种系统的交互,为保证交互的即时性,多通过通讯总线的总线信号进行交互,通讯总线可以为can(controller area network,控制器局域网络)总线,总线信号表征了车辆上对应系统的状
态,可以通过总线信号的信号值确定车辆准备信号是否被激活,例如对总线信号的目标位置进行解析,若目标位置的信号值为1时,说明车辆准备信号被激活;若目标位置的信号值为0时,说明车辆准备信号未被激活。在新能源车辆上,车辆准备信号(或称ready信号)被激活时,说明车辆已正常启动成功,可以随时随驾驶员的操控起步行驶,在车辆起步瞬间,存在较多的信号交互和负荷拉载,可能对升级任务造成中断,确定存在升级中断风险。进一步的,车辆准备信号被激活时,说明车辆可能需要立即使用,驾乘人员会对车辆tbox执行相应的操作,若继续执行升级任务,将影响驾乘人员的操作响应,则确定存在升级中断风险。需要说明的是,确定是否存在升级中断风险,可以通过运行负载率和车辆准备信号中的任一个进行判断,也可以基于两者同时判断,确定车辆tbox在执行升级任务时是否存在升级中断风险后进入步骤s12。
64.s12、若是,则退出所述升级任务,并在所述升级中断风险消除时再次执行所述升级任务,直至完成所述升级任务。
65.具体的,存在升级中断风险,说明继续执行升级任务可能造成升级失败,或影响驾乘人员对车辆tbox的正常操控,则控制车辆tbox退出升级任务;不存在升级中断风险时,说明可以继续执行升级任务,则继续执行升级任务,直至完成升级任务后自动退出。升级任务可以基于升级中断风险发出退出指令执行退出操作,退出升级任务后,车辆tbox将基于升级前的程序恢复相应的功能,升级中断风险消除时,说明升级任务可以顺利执行,则再次执行升级任务,直至完成升级任务。可以理解,再次执行升级任务时,同样需基于升级指令激活,收到升级指令后再对应执行升级任务。
66.在一种具体的实施方式中,退出升级任务,包括:
67.发送第一退出信号至车辆tbox的升级组件;升级组件接收第一退出信号,执行升级任务的退出操作。
68.具体的,执行升级任务时,根据任务需求升级组件通常先进行自主升级,再执行其他组件的升级,升级组件接收到第一退出信号后,可以先进行自主退出,再发送对应的退出指令至其他组件,例如定位组件、通讯组件和拍照组件等等,使待升级的其他组件也完成升级任务的退出操作。基于升级组件的主动退出操作,可以保障待升级组件仍然基于升级前的程序进行使用。
69.在具体实施时,由于车辆tbox的组件较多,执行升级任务的退出操作可能是运行负载率较高,通过升级组件逐一发送退出指令较为繁琐,不利于快速降低运行负载率,可能造成车辆tbox运行卡滞。
70.为解决上述问题,在一种具体的实施方式中,执行升级任务的退出操作之后,还包括:
71.广播第二退出信号至车辆tbox的通讯总线;车辆tbox的目标组件根据第二退出信号,执行升级任务的退出操作,其中,目标组件为升级任务中被升级组件控制升级的组件。
72.具体的,通讯总线为车辆tbox中各组件进行通讯的总线,广播第二退出信号至通讯总线,可以仅发送一次退出命令,多个目标组件通过通讯总线同时收到,再对于执行各自的退出操作,该种退出方式使目标组件能够快速响应,车辆tbox整体退出升级任务更高效,能够有效保障目标组件正常工作,减少因升级导致目标组件使用异常,或其他无法预估的异常发生。目标组件为升级任务中被升级组件控制升级的组件,可以是除升级组件以外的
任何组件,例如通讯组件、定位组件和电源组件等。
73.当然,车辆tbox也可以经通讯总线广播总线退出信号,具体可以在预设时间段内按预设频率持续广播总线退出信号,例如在1s内以0.1s的频率广播10次总线退出信号,以使车辆tbox中各组件均退出升级任务,该广播的执行主体可以是车辆tbox的cpu。各组件在接收到总线退出信号后进行解析,对应执行退出操作,并将退出结构反馈至通讯总线;当然,各组件也可以确定是否完成对应的升级节点,在完成后再对应执行退出操作。
74.在具体实施时,由于升级任务的执行失败,需要再次执行升级任务,若根据升级任务重新刷新车辆tbox的组件程序,可能需要再次耗费较多时长。
75.退出升级任务说明车辆tbox中待升级组件均不再执行升级操作,各组件在执行升级操作时,是根据升级任务的时序对应执行的,在确定存在升级中断风险时,立即退出升级任务,可能造成部分待升级的组件还未完成升级程序的刷新,可能会导致该组件丧失对应的功能。
76.为解决上述问题,在一种具体的实施方式中,在确定存在升级中断风险之后,还包括:
77.确定升级任务的当前升级节点,在完成当前升级任务节点后,再退出升级任务。
78.具体的,升级任务可以根据待升级组件的次序进行配置,例如先对升级组件进行升级,再对升级组件以外的其他组件进行升级,执行升级任务时,各组件按配置的次序对应执行。确定升级任务的当前升级节点,可以知晓执行升级任务时,当前正在进行升级的组件,等待该组件完成升级后,再执行退出升级任务。当前升级节点的确定可以基于升级时间戳确定,每完成一升级节点时,会以时间戳的方式对应记录,因而通过读取升级时间戳和升级任务的流程节点,能够准确确定出正在执行升级的组件,在完成当前升级任务节点后再退出升级任务,能够保障该组件顺利完成升级,确保其功能的完整性。
79.在一种具体的实施方式中,再次执行升级任务,包括:
80.获取车辆tbox执行升级任务的升级时间戳,其中,升级时间戳为完成升级任务的升级节点的时间戳;根据升级时间戳和车辆tbox的升级指令执行升级任务。
81.具体的,车辆tbox执行升级任务时,是根据升级任务的各升级节点逐一完成的,例如需要对车辆tbox的升级组件和通讯组件进行升级,在完成升级组件的升级后,对应记录该节点的时间戳,再继续执行通讯组件的升级,完成后再对应记录该节点的时间戳。因此,升级时间戳表征了升级任务的执行进度,再次执行升级任务时,可能部分组件已完成升级,获取升级时间戳可以知晓上次执行升级任务的完成情况。达到可以执行升级任务的条件时,根据升级时间戳和升级指令执行未完成的升级任务,能够有效减少再次执行升级任务的升级时间,减少车辆tbox的升级功耗,以及升级失败发生的概率。完成升级后车辆tbox可以根据设定流程重启后进入待机模式。
82.基于与升级方法同样的发明构思,本发明实施例还提供了一种车辆tbox,所述车辆tbox经升级方法中任一所述的方法进行升级。
83.基于与升级方法同样的发明构思,本发明实施例还提供了一种车辆tbox的升级装置,请参阅图2,所述装置包括:
84.确定模块201,用于确定车辆tbox在执行升级任务时是否存在升级中断风险;
85.执行模块202,用于在存在所述升级中断风险时,退出所述升级任务,并在所述升
级中断风险消除时再次执行所述升级任务,直至完成所述升级任务。
86.在一种可选的实施例中,所述确定模块,包括:
87.第一获取子模块,用于获取所述车辆tbox执行升级任务时的运行负载率;
88.第一确定子模块,用于在所述运行负载率大于预设的负载率阈值时,确定存在所述升级中断风险。
89.在一种可选的实施例中,所述确定车辆tbox在执行升级任务时是否存在升级中断风险,包括:
90.第二获取子模块,用于获取所述车辆tbox执行升级任务时的总线信号;
91.第二确定子模块,用于在所述总线信号表征的车辆准备信号被激活时,确定存在所述升级中断风险。
92.在一种可选的实施例中,所述执行模块,包括:
93.发送子模块,用于发送第一退出信号至所述车辆tbox的升级组件;
94.第一执行子模块,用于所述升级组件接收所述第一退出信号,执行所述升级任务的退出操作。
95.在一种可选的实施例中,所述执行所述升级任务的退出操作之后,还包括:
96.广播子模块,用于广播第二退出信号至所述车辆tbox的通讯总线;
97.第二执行子模块,用于所述车辆tbox的目标组件根据所述第二退出信号,执行所述升级任务的退出操作,其中,所述目标组件为所述升级任务中被所述升级组件控制升级的组件。
98.在一种可选的实施例中,执行模块还包括:
99.第三获取子模块,用于获取所述车辆tbox执行所述升级任务的升级时间戳,其中,所述升级时间戳为完成所述升级任务的升级节点的时间戳;
100.第二执行子模块,用于根据所述升级时间戳和所述车辆tbox的升级指令执行升级任务。
101.基于与升级方法同样的发明构思,本发明实施例还提供了一种电子设备,包括处理器和存储器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使所述电子设备执行升级方法中任一项所述方法的步骤。
102.基于与升级方法同样的发明构思,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现升级方法中任一项所述方法的步骤。
103.本发明实施例中提供的技术方案,至少具有如下技术效果或优点:
104.1.通过在车辆tbox在执行升级任务时,确定车辆tbox是否存在升级中断风险,以对车辆tbox在本次升级是否成功进行预判,在存在升级中断风险时退出升级任务,降低车辆tbox在升级过程中因升级失败产生的不利影响,并在升级中断风险消除时再次执行升级任务,直至完成升级任务,能够保障升级任务稳定执行,进而提高了车辆tbox升级过程中运行的可靠性。
105.2.通过运行负载率确定车辆的车辆tbox的运行计算状态,车辆tbox在执行升级任务时的整体运行情况,减少车辆tbox对车辆中断风险逐一判断的计算冗余;或通过车辆准备信号判断是否有用车需求,以准确确定是否存在升级中断风险,降低车辆起步瞬间的信
号交互和负荷拉载对升级任务造成中断的发生,同时减小车辆tbox执行升级任务对正常用车造成影响。
106.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
107.本发明是参照根据本发明实施例的方法、装置(模块、系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
108.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
109.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
110.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
111.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。