升级包安装方法、装置、设备及可读存储介质与流程

文档序号:26942351发布日期:2021-10-12 17:08阅读:113来源:国知局
升级包安装方法、装置、设备及可读存储介质与流程

1.本发明涉及软件技术领域,尤其涉及一种升级包安装方法、装置、设备及可读存储介质。


背景技术:

2.随着智能网联车的发展,通过空中下载技术(overtheair,ota)对汽车部件进行在线升级成为了智能网联汽车的重要功能,整车厂商通过ota功能升级汽车的相关软件,有利于厂商减少召回成本、快速响应需求、提升用户体验。
3.智能网联车包含多个部件,例如中央网关、t

box(telematics box,车联网车载通信终端)、人机交互控制器(hmi,human

machine interaction)、移动数据中心(mdc,mobiledata controller)、高级驾驶辅助系统(adas,advanced driving assistant system),整车ota升级可能需要对上述多个车内部件进行升级。
4.当整车ota升级需要对多个车内部件进行升级时,对所有需要升级的部件的升级包按照拓扑排序后,形成升级序列,再按照升级序列中各个升级包的先后安装顺序依次安装每个升级包,即先安装被依赖的部件的升级包,再安装依赖部件的升级包,从而保证被依赖的部件一定在依赖部件之前被升级,这种升级方式需要依次安装各个升级包,从而导致整体升级所需的时间较长。


技术实现要素:

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.图1为本发明实施例方案中涉及的升级包安装设备的硬件结构示意图;
34.图2为本发明升级包安装方法一实施例的流程示意图;
35.图3为本发明升级包安装方法一实施例中依赖图的示意图;
36.图4为本发明升级包安装方法一实施例中新的依赖图的示意图;
37.图5为本发明升级包安装方法一实施例中第三轮循环所使用的依赖图的示意图;
38.图6为本发明升级包安装装置一实施例的功能模块示意图。
39.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
40.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
41.第一方面,本发明实施例提供一种升级包安装设备。
42.参照图1,图1为本发明实施例方案中涉及的升级包安装设备的硬件结构示意图。本发明实施例中,升级包安装设备可以包括处理器1001(例如中央处理器central processing unit,cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真wireless

fidelity,wi

fi接口);存储器1005可以是高速随机存取存储器(random access memory,ram),也可以是稳定的存储器(non

volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
43.继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及升级包安装程序。
44.其中,处理器1001可以调用存储器1005中存储的升级包安装程序,并执行以下步骤:
45.接收多个升级包,并创建依赖图;
46.基于所述依赖图,选择可并行安装的升级包;
47.将可并行安装的升级包记录到批记录器;
48.并行安装记录于批记录器中的所有升级包,同时启动计时器;
49.当计时器的计时时长达到记录于批记录器中的所有升级包中剩余安装用时最短的目标升级包的剩余安装用时时长时,将所述目标升级包从批记录器以及依赖图中移除,以新的依赖图作为依赖图,执行基于所述依赖图,选择可并行安装的升级包的步骤。
50.进一步地,处理器1001可以调用存储器1005中存储的升级包安装程序,并执行以下步骤:
51.接收多个升级包,根据所述多个升级包间的安装依赖关系创建依赖图,所述依赖图中箭头表示依赖关系,从被依赖升级包指向依赖升级包。
52.进一步地,处理器1001可以调用存储器1005中存储的升级包安装程序,并执行以下步骤:
53.基于所述依赖图,从所述依赖图中选择无需依赖其他升级包的升级包为可并行安装的升级包。
54.进一步地,处理器1001可以调用存储器1005中存储的升级包安装程序,并执行以下步骤:
55.当可并行安装的升级包的数量大于或等于阈值时,将可并行安装的升级包记录到
批记录器。
56.进一步地,处理器1001可以调用存储器1005中存储的升级包安装程序,并执行以下步骤:
57.当可并行安装的升级包的数量小于阈值时,从所述依赖图中确定安装顺序最先的升级包,安装所述安装顺序最先的升级包。
58.第二方面,本发明实施例提供了一种升级包安装方法。
59.一实施例中,参照图2,图2为本发明升级包安装方法一实施例的流程示意图。如图2所示,升级包安装方法包括:
60.步骤s10,接收多个升级包,并创建依赖图;
61.本实施例中,针对整车ota升级场景,且整车ota升级需对多个车内部件进行升级,例如待升级的车内部件包括:中央网关、t

box(telematics box,车联网车载通信终端)、人机交互控制器(hmi,human

machine interaction)、移动数据中心(mdc,mobiledata controller)、车辆行驶环境感知系统、车辆行驶速度控制系统以及车辆行驶行驶方向控制系统等七个部件进行升级,则从服务器获取这七个部件对应的升级包,即获取到七个升级包。此处仅为实例性说明,不作为本实施例的限制。
62.在获取到多个升级包后,便创建多个升级包对应的依赖图,依赖图用于标识各个升级包间的依赖关系。依赖图的具体形式,在此不作限制。
63.进一步地,一实施例中,步骤s10包括:
64.接收多个升级包,根据所述多个升级包间的安装依赖关系创建依赖图,所述依赖图中箭头表示依赖关系,从被依赖升级包指向依赖升级包。
65.本实施例中,可预先设置所有升级包间的安装依赖关系,记作总安装依赖关系,并将总安装依赖关系保存到车辆端或服务器端。在接收到多个升级包时,本实施例的执行主体从本车辆端保存的总安装依赖关系中查找与接收到的多个升级包有关的安装依赖关系,然后根据多个升级包间的安装依赖关系创建依赖图;或是,在接收到多个升级包时,从服务器端获取总安装依赖关系,再从总安装依赖关系中查找与接收到的多个升级包有关的安装依赖关系,然后根据多个升级包间的安装依赖关系创建依赖图。其中,设车内可升级的部件数量为n,首先设置n个部件中各个部件之间的依赖关系,例如部件b必须在部件a升级完成后才可进行升级动作,部件c必须在部件a和b升级完成后才可进行升级动作......以此类推。
66.设置好n个部件中各个部件之间的依赖关系,即可对应设置每个部件对应的升级包之间的安装依赖关系。以升级包a、b以及c为例:
67.其中,升级包a为部件a对应的升级包,升级包b为部件b对应的升级包,升级包c为部件c对应的升级包。若各个部件之间的依赖关系包括:部件b必须在部件a升级完成后才可进行升级动作,部件c必须在部件a和b升级完成后才可进行升级动作,则升级包之间的安装依赖关系包括:升级包b依赖于升级包a,升级包c依赖于升级包a和升级包b。
68.例如,接收到多个升级包包括:升级包1、升级包2、升级包3、升级包4、升级包5、升级包6以及升级包7,且多个升级包间的安装依赖关系为:
69.升级包2依赖升级包1,升级包4依赖升级包1和升级包2,升级包6依赖升级包4,升级包5依赖升级包4和升级包7,升级包3依赖升级包2和升级包5。
70.根据上述升级包1升级包7之间的安装依赖关系,即可创建对应的依赖图。参照图3,图3为本发明升级包安装方法一实施例中依赖图的示意图。如图3所示,升级包2依赖升级包1,则箭头从升级包1指向升级包2;升级包4依赖升级包1和升级包2,则两个箭头分别从升级包1和升级包2指向升级包4;升级包6依赖升级包4,则箭头从升级包4指向升级包6;升级包5依赖升级包4和升级包7,则两个箭头分别从升级包4和升级包7指向升级包5;升级包3依赖升级包2和升级包5,则两个箭头分别从升级包2和升级包5指向升级包3;其中,箭头表示依赖关系,从被依赖升级包指向依赖升级包。
71.需要说明的是,即使图3中未示出,在具体实施时还可将每个升级包剩余安装用时显示在依赖图上。
72.步骤s20,基于所述依赖图,选择可并行安装的升级包;
73.本实施例中,在创建依赖图后,亦可根据依赖图,从多个升级包中选择可并行安装的升级包,例如以依赖图中无箭头指向的升级包为可并行安装的升级包。如图3所示,没有箭头指向升级包1和升级包7,则以升级包1和升级包7为可并行安装的升级包。
74.进一步地,一实施例中,步骤s20包括:
75.基于所述依赖图,从所述依赖图中选择无需依赖其他升级包的升级包为可并行安装的升级包。
76.本实施例中,基于依赖图,从依赖图中选择无需依赖其他升级包的升级包为可并行安装的升级包。其中,无需依赖其他升级包的升级包即依赖图中无箭头指向的升级包,例如图3中的升级包1和升级包7。
77.步骤s30,将可并行安装的升级包记录到批记录器;
78.本实施例中,以一个长度可变的队列作为批记录器,将可并行安装的升级包记录到批记录器,即将可并行安装的升级包的标识信息记录到批记录器。例如,可并行安装的升级包包括升级包1和升级包7,则将升级包1和升级包7标识信息记录到批记录器。
79.进一步地,一实施例中,步骤s30包括:
80.当可并行安装的升级包的数量大于或等于阈值时,将可并行安装的升级包记录到批记录器。
81.本实施例中,若可并行安装的升级包数量只有一个,则无法实现并行安装,也就无需将其记录到批记录器。因此,需设置一个阈值,只有在可并行安装的升级包的数量大于或等于阈值时,才将可并行安装的升级包记录到批记录器。其中,阈值的具体数值根据实际需要进行设置,阈值的最小取值为2。
82.步骤s40,并行安装记录于批记录器中的所有升级包,同时启动计时器;
83.本实施例中,批记录器中有记录是,则并行安装记录于批记录器中的所有升级包,同时启动计时器。其中,计时器可以是正计时,也可以是倒计时,若倒计时,则倒计时时长为记录于批记录器中的所有升级包中剩余安装用时最短的目标升级包的剩余安装用时时长。
84.步骤s50,当计时器的计时时长达到记录于批记录器中的所有升级包中剩余安装用时最短的目标升级包的剩余安装用时时长时,将所述目标升级包从批记录器以及依赖图中移除,以新的依赖图作为依赖图,执行基于所述依赖图,选择可并行安装的升级包的步骤。
85.本实施例中,若计时器正计时,且当计时器的计时时长达到记录于批记录器中的
所有升级包中剩余安装用时最短的目标升级包的剩余安装用时时长时,将目标升级包从批记录器以及依赖图中移除,得到新的依赖图,并基于新的依赖图,跳转至步骤s20。若计时器倒计时,则倒计时完成时,将目标升级包从批记录器以及依赖图中移除,得到新的依赖图,并基于新的依赖图,跳转至步骤s20。
86.以图3所示的依赖图为例,此轮记录于批记录器中的升级包包括升级包1和升级包7,其中,升级包1剩余安装用时为5分钟,升级包7剩余安装用时为10分钟,当计时器正计时达到五分钟或倒计时五分钟结束时,说明升级包1已经安装完成,将升级包1从批记录器以及依赖图中移除,得到新的依赖图。参照图4,图4为本发明升级包安装方法一实施例中新的依赖图的示意图。如图4所示,将升级包1从如图3所示的依赖图中移除,从升级包1指向升级包2和升级包4的箭头同样被移除,新的依赖图中无箭头指向的升级包包括升级包2和升级包7,则记录于批记录器中的升级包包括升级包2和升级包7,其中升级包2剩余安装用时为10分钟,升级包7剩余安装用时为5分钟,当计时器正计时达到五分钟或倒计时五分钟结束时,说明升级包7已经安装完成,将升级包7从批记录器以及依赖图中移除,得到新的依赖图,并重复上述步骤。
87.本实施例中,接收多个升级包,并创建依赖图;基于所述依赖图,选择可并行安装的升级包;将可并行安装的升级包记录到批记录器;并行安装记录于批记录器中的所有升级包,同时启动计时器;当计时器的计时时长达到记录于批记录器中的所有升级包中剩余安装用时最短的目标升级包的剩余安装用时时长时,将所述目标升级包从批记录器以及依赖图中移除,以新的依赖图作为依赖图,执行基于所述依赖图,选择可并行安装的升级包的步骤。通过本实施例,对多个升级包中可并行安装的升级包进行并行安装处理,缩短了安装所有升级包所需的时间,从而提高了软件升级效率。
88.进一步地,一实施例中,在步骤s20之后,还包括:
89.当可并行安装的升级包的数量小于阈值时,从所述依赖图中确定安装顺序最先的升级包,安装所述安装顺序最先的升级包。
90.本实施例中,以阈值为2为例,当可并行安装的升级包的数量小于2时,从依赖图中确定安装顺序最先的升级包,安装该升级包。基于图4,当从图4中移除升级包7后,得到第三轮循环所使用的依赖图。参照图5,图5为本发明升级包安装方法一实施例中第三轮循环所使用的依赖图的示意图。如图5所示的依赖图中无箭头指向的升级包只有升级包2,即此时可并行安装的升级包的数量为1,小于阈值,则从图5所示的依赖图中确定安装顺序最先的升级包,即升级包2,则安装升级包2。
91.进一步地,一实施例中,在所述安装所述安装顺序最先的升级包的步骤之后,还包括:
92.在对所述安装顺序最先的升级包安装完成后,将所述安装顺序最先的升级包从依赖图中移除,以新的依赖图作为依赖图,执行基于所述依赖图,选择可并行安装的升级包的步骤。
93.本实施例中,基于图5,可并行安装的升级包只有升级包2,此时不将其记录至批记录器,直接对其进行安装,在安装完成后,将升级包2从图5中移除,得到新的依赖图,然后再以当前得到的新的依赖图作为依赖图,并返回执行步骤s20。
94.第三方面,本发明实施例还提供一种升级包安装装置。
95.一实施例中,参照图6,图6为本发明升级包安装装置一实施例的功能模块示意图。如图6所示,升级包安装装置包括:
96.创建模块10,用于接收多个升级包,并创建依赖图;
97.选择模块20,用于基于所述依赖图,选择可并行安装的升级包;
98.记录模块30,用于将可并行安装的升级包记录到批记录器;
99.安装模块40,用于并行安装记录于批记录器中的所有升级包,同时启动计时器;
100.循环模块50,用于当计时器的计时时长达到记录于批记录器中的所有升级包中剩余安装用时最短的目标升级包的剩余安装用时时长时,将所述目标升级包从批记录器以及依赖图中移除,以新的依赖图作为依赖图,执行基于所述依赖图,选择可并行安装的升级包的步骤。
101.进一步地,一实施例中,创建模块10,用于:
102.接收多个升级包,根据所述多个升级包间的安装依赖关系创建依赖图,所述依赖图中箭头表示依赖关系,从被依赖升级包指向依赖升级包。
103.进一步地,一实施例中,选择模块20,用于:
104.基于所述依赖图,从所述依赖图中选择无需依赖其他升级包的升级包为可并行安装的升级包。
105.进一步地,一实施例中,安装模块40,用于:
106.当可并行安装的升级包的数量大于或等于阈值时,将可并行安装的升级包记录到批记录器。
107.进一步地,一实施例中,安装模块40,还用于:
108.当可并行安装的升级包的数量小于阈值时,从所述依赖图中确定安装顺序最先的升级包,安装所述安装顺序最先的升级包。
109.其中,上述升级包安装装置中各个模块的功能实现与上述升级包安装方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
110.第四方面,本发明实施例还提供一种可读存储介质。
111.本发明可读存储介质上存储有升级包安装程序,其中所述升级包安装程序被处理器执行时,实现如上述的升级包安装方法的步骤。
112.其中,升级包安装程序被执行时所实现的方法可参照本发明升级包安装方法的各个实施例,此处不再赘述。
113.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
114.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
115.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个
存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
116.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1