对象升级方法、装置、设备和存储介质与流程

文档序号:25353227发布日期:2021-06-08 14:06阅读:160来源:国知局
对象升级方法、装置、设备和存储介质与流程

1.本公开涉及互联网技术领域,尤其涉及一种对象升级方法、装置、设备和存储介质。


背景技术:

2.随着网络和智能设备的普及,越来越多的对象需要频繁更新,以满足日益变化的用户需求和项目需求。当前主流的对象更新方式为空中下载技术(over

the

air,ota),俗名远程升级,其通过网络将对象的升级版本、或当前版本和升级版本之间的差异内容(即增量内容)传输至智能设备,以便智能设备进行对象的更新。
3.以车联网为例,车辆中包含的车辆控制系统、车机系统和车载应用等,目前多是通过ota技术来更新。鉴于当前市面上存在的车联网对象的版本多且不统一,增量内容制作难度大,故车联网对象更新时,大多采用升级版本的全量包方式。即针对升级版本,直接生成涵盖全车所有电子控制单元(electronic control unit,ecu)的全量升级包,再由车辆下载该全量升级包,来完成车辆中所有ecu的升级。但是,上述全量升级包中涵盖的内容冗余过多,不仅浪费流量,且会导致升级过程慢,升级效率低下。


技术实现要素:

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.在所述将所述版本增量升级包对应的版本升级信息反馈至所述客户端之后,接收所述客户端发送的升级包获取请求,所述升级包获取请求中包含所述目标版本升级包信息;
52.基于所述目标版本升级包信息,将所述目标版本增量升级包反馈至所述客户端。
53.在一些实施例中,所述对象包括应用程序和/或软件。
54.在一些实施例中,当所述对象为车辆中的对象时,所述对象包括车载应用程序、车辆系统程序或车辆整车系统程序。
55.在一些实施例中,所述功能程序单元为电子控制单元。
56.在一些实施例中,该装置还包括升级推送信息发送模块,用于:
57.在所述接收客户端发送的升级信息查询请求之前,基于所述升级版本信息,向目标车辆发送升级推送信息,所述升级推送信息用于触发所述目标车辆对应的客户端发送所述升级信息查询请求。
58.在一些实施例中,升级包信息包含相应升级包的标识、内容描述信息、加密密钥信息和升级前后的版本信息中的至少一项。
59.第三方面,本公开提供了一种的电子设备,该电子设备包括:
60.处理器和存储器;
61.所述处理器通过调用所述存储器存储的程序或指令,用于执行本公开任意实施例中所述方法的步骤。
62.第四方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或所述指令使计算机执行本公开任意实施例中所述方法的步骤。
63.本公开实施例提供的技术方案,通过接收客户端发送的、包含对象的当前版本信息的升级信息查询请求;基于当前版本信息、升级版本信息和各单元升级包对应的单元升级包信息,确定对象对应的至少一个目标单元升级包;其中,各单元升级包中包含各存量版本中的每个功能程序单元相较于升级版本而生成的单元差分包或单元全量包;由各目标单元升级包生成对象对应的目标版本增量升级包,并将目标版本增量升级包对应的目标版本升级包信息反馈至客户端,以使客户端基于目标版本升级包信息完成对象的升级。实现了预先为每个存量版本(含当前版本)中包含的各个功能程序单元均生成单元升级包,并在获取当前版本信息后,从各单元升级包中筛选合适的单元升级包,且动态生成适配于对象的目标版本增量升级包,减少了对象升级过程中实时比较不同版本间的内容差异且生成差分包的流程,提高了升级包的生成速度,进而提高了对象的升级效率;且由增量升级包替代了全量升级包,降低了升级过程中的存储成本,也节省了升级过程中的流量消耗,提高了升级包下载速度,进一步提高对象升级效率。
附图说明
64.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
65.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
66.图1是本公开实施例提供的一种对象升级方法的流程图;
67.图2是本公开实施例提供的又一种对象升级方法的流程图;
68.图3是本公开实施例提供的存量版本的统计结果示意图;
69.图4是本公开实施例提供的车辆中的对象升级的交互过程示意图;
70.图5是本公开实施例提供的一种对象升级装置的结构示意图;
71.图6是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
72.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步的详细描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
73.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
74.本公开实施例提供的对象升级方法,主要适用于基于ota技术进行对象远程升级的情况,尤其适用于车联网中对象的升级过程。本公开实施例提供的对象升级方法可以由对象升级装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在具有较高数据处理和存储功能的电子设备中,例如笔记本电脑、台式电脑或服务器等。
75.图1是本公开实施例提供的一种对象升级方法的流程图。参见图1,该对象升级方法具体包括:
76.s110、接收客户端发送的升级信息查询请求,该升级信息查询请求中包含待升级的对象的当前版本信息。
77.其中,待升级的对象可以是应用程序和/或软件。在一些实施例中,当对象为车辆中的对象时,该对象包括车载应用程序、车辆系统程序或车辆整车系统程序。
78.如果客户端中的对象需要更新,那么其会将该对象的当前版本信息作为请求参数,生成升级信息查询请求,并将该升级信息查询请求发送至对象升级装置所在的服务端。该升级信息查询请求用于向服务端请求适配于该对象的升级包的信息。
79.需要说明的是,由于升级包的数据量通常较大,故本公开实施例中会记录所有升级包的信息,例如单元升级包信息、版本增量升级包对应的版本升级包信息等,以便升级过程中通过记录的信息来查询合适的升级包,从而提高升级过程中升级包的查询效率。上述单元升级包是指对象中可拆分的最小单位的功能模块(即功能程序单元)对应的升级包。在一些实施例中,当待升级的对象为车辆中的对象时,功能程序单元为车辆中的电子控制单元ecu。本实施例中,1个电子控制单元ecu对应的升级包便为1个单元升级包。上述版本增量升级包是指对象中所有具有差异(新增、删除、变更)的单元升级包构成的总和升级包。在一些实施例中,升级包信息包含相应升级包的标识、内容描述信息、加密密钥信息和升级前后的版本信息中的至少一项。优选的是,上述升级包信息中记录了升级包的多项相关信息,例如升级包标识、升级包中内容的描述性信息、加密密钥信息和升级前后的版本信息等。
80.s120、基于当前版本信息、升级版本信息和各单元升级包对应的单元升级包信息,确定对象对应的至少一个目标单元升级包。
81.其中,各单元升级包中包含各存量版本中的每个功能程序单元相较于升级版本而生成的单元差分包或单元全量包。存量版本是指市面上已存在的该对象的版本,其包含当前版本。
82.对象升级过程中,实时比较两个版本差异,且基于该差异生成增量升级包的过程耗时较多。为了提高对象升级效率,本公开实施例中预先为每个存量版本中的每个功能程序单元均生成了单元升级包。该单元升级包可以是仅包含版本差异内容的单元差分包,也可以是包含升级版本中相应功能程序单元对应内容的单元全量包。这样,当服务端在获取当前版本信息之后,就可以基于当前版本信息和升级版本信息,从所有的单元升级包中直接确定出适配于当前对象的至少一个单元升级包,作为目标单元升级包,而不需执行实时比较差异再生成增量升级包的过程。
83.示例性地,s120包括:基于当前版本信息和升级版本信息,确定版本差异信息;基于版本差异信息和各单元升级包对应的单元升级包信息,确定各目标单元升级包。服务端比较当前版本信息对应的当前版本和升级版本信息对应的升级版本之间的差异,确定出有差异的功能程序单元,即确定版本差异信息。然后,根据版本差异信息中的功能程序单元的
信息,对所有单元升级包信息进行筛选,以从所有单元升级包中筛选出目标单元升级包。这样能够在确保交互信息较少的基础上,更加灵活地、动态地确定目标单元升级包。
84.s130、由各目标单元升级包生成对象对应的目标版本增量升级包,并将目标版本增量升级包对应的目标版本升级包信息反馈至客户端,以使客户端基于目标版本升级包信息完成对象的升级。
85.服务端将确定出的各个目标单元升级包合成为目标版本增量升级包,并记录该目标版本增量升级包的信息(即目标版本升级包信息)。然后,将该目标版本升级包信息反馈至客户端。
86.在一些实施例中,在将版本增量升级包对应的版本升级信息反馈至客户端之后,方法还包括:接收客户端发送的升级包获取请求,升级包获取请求中包含目标版本升级包信息;基于目标版本升级包信息,将目标版本增量升级包反馈至客户端。客户端在接收到目标版本升级包信息之后,基于该目标版本升级包信息生成升级包获取请求,并将其发送至服务端,以请求服务端将目标版本增量升级包发送至客户端,以便客户端利用该目标版本增量升级包完成对象的升级。这样能够确保客户端在合适的情况下主动拉取版本增量升级包,避免了客户端在网络状况不佳等不适合下载升级包的情况下被动接收升级包而导致的升级失败问题,提高了升级成功率。
87.本公开实施例的上述技术方案,通过接收客户端发送的、包含对象的当前版本信息的升级信息查询请求;基于当前版本信息、升级版本信息和各单元升级包对应的单元升级包信息,确定对象对应的至少一个目标单元升级包;其中,各单元升级包中包含各存量版本中的每个功能程序单元相较于升级版本而生成的单元差分包或单元全量包;由各目标单元升级包生成对象对应的目标版本增量升级包,并将目标版本增量升级包对应的目标版本升级包信息反馈至客户端,以使客户端基于目标版本升级包信息完成对象的升级。实现了预先为每个存量版本(含当前版本)中包含的各个功能程序单元均生成单元升级包,并在获取当前版本信息后,从各单元升级包中筛选合适的单元升级包,且动态生成适配于对象的目标版本增量升级包,减少了对象升级过程中实时比较不同版本间的内容差异且生成差分包的流程,提高了升级包的生成速度,进而提高了对象的升级效率;且由增量升级包替代了全量升级包,降低了升级过程中的存储成本,也节省了升级过程中的流量消耗,提高了升级包下载速度,进一步提高对象升级效率。
88.图2是本公开实施例提供的又一种对象升级方法的流程图。图2中的对象升级方法以车辆中的对象升级为例,在上述技术方案的基础上,增加了确定主流版本的相关内容。在此基础上,还可以增加生成主流版本增量升级包的相关内容。在上述基础上,还可以进一步增加查询是否存在目标版本升级包信息的相关内容。此外,还可以进一步增加升级推送信息发送的相关内容。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。参见图2,该对象升级方法包括:
89.s210、基于升级版本信息,向目标车辆发送升级推送信息。
90.其中,目标车辆是满足一定的预设条件的车辆,例如车辆中的对象的版本低于升级版本。升级推送信息用于触发目标车辆对应的客户端发送升级信息查询请求。
91.服务端在确定有升级版本后,可以生成升级推送信息,并将其发送至目标车辆,以通知目标车辆启动对象的升级流程。
92.s220、接收客户端发送的升级信息查询请求,升级信息查询请求中包含待升级的对象的当前版本信息。
93.s230、若当前版本信息对应的当前版本低于设定版本,则生成升级版本信息对应的版本全量升级包,并将版本全量升级包的版本升级包信息作为目标版本升级包信息反馈至客户端。
94.如果当前版本过于老旧,致使升级版本和当前版本之间的差异过大而无法确定出合适的单元升级包,那么就无需执行后续操作,而是直接利用升级版本的版本全量升级包进行对象升级,避免无效操作,进一步提高升级效率。具体实施时,为了提高升级包确定效率,可以预先设置一个过旧版本的界限版本(即设定版本)。如果当前版本等于或高于设定版本,则执行后续各步骤。如果当前版本低于设定版本,则认为当前版本为过旧版本,此时利用所有的单元升级包(全量包)生成升级版本的版本全量升级包,并将该版本全量升级包的版本升级包信息作为目标版本升级包信息反馈至客户端。
95.s240、对各存量版本进行统计,确定至少一个主流版本。
96.其中,主流版本是指市面上主要存在的版本。
97.为了进一步提高对象升级效率,本公开实施例中除了预先生成每个存量版本中每个功能程序单元的单元升级包之外,还会预先确定出该对象在市面上的主流版本,并为每个主流版本生成对应的版本增量升级包,以便后续升级过程中可以很大程度上直接获取所需的版本增量升级包,进一步节省单元升级包的筛选过程及其组合过程。所以,服务端会预先收集诸多存量版本信息,并对其进行统计,以确定出至少一个主流版本。
98.在一些实施例中,s240包括:对每个存量版本的数量进行统计,并确定每个存量版本的版本占比;将版本占比大于或等于预设占比的存量版本确定为主流版本。服务端统计收集到的每个存量版本的数量,并计算每个存量版本在所有统计数据中的占比(即版本占比)。然后,从所有存量版本中筛选出版本占比超过预先设定的占比(即预设占比)的存量版本,作为主流版本。如图3所示,对车辆中的对象的各存量版本进行统计,可获得以下的存量版本

版本占比结果:1.4.18版本

92%、1.4.12版本

5%、1.3.11版本

2%、1.2.7版本+1.4.13版本+
……
+90.0.0版本

总占比1%。然后,根据业务需求设置预设占比,确定出主流版本,例如确定的主流版本为1.4.18版本和1.4.12版本。这样可以更好地兼容市面上的大多数对象版本升级。
99.s250、基于每个主流版本、升级版本信息和各单元升级包对应的单元升级包信息,确定每个主流版本对应的版本增量升级包和相应版本增量升级包对应的主流版本升级信息。
100.针对每个主流版本,服务端比较该主流版本和升级版本信息对应的升级版本之间的差异,获得版本间存在差异的功能程序单元的信息。然后,以存在差异的功能程序单元的信息为查询条件,从所有单元升级包信息中筛选出适配于该主流版本的单元升级包。再利用筛选出的单元升级包合成该主流版本对应的版本增量升级包,且记录该主流版本对应的版本增量升级包的版本升级信息(即主流版本升级信息)。
101.s260、基于当前版本信息和各主流版本升级信息,确定是否存在目标版本升级包信息。
102.服务端以当前版本信息为查询条件,从各主流版本升级信息中查询是否存在适配
于当前版本的主流版本信息,即确定是否存在目标版本升级包信息。若存在,则执行s270;反之,执行s280。
103.s270、将目标版本升级包信息反馈至客户端,以使客户端基于目标版本升级包信息完成对象的升级。
104.如果查询到各主流版本升级信息中存在目标版本升级包信息,则将该目标版本升级包信息发送至客户端,以便客户端据其拉取目标版本增量升级包。
105.s280、基于当前版本信息、升级版本信息和各单元升级包对应的单元升级包信息,确定对象对应的至少一个目标单元升级包。
106.s290、由各目标单元升级包生成对象对应的目标版本增量升级包,并将目标版本增量升级包对应的目标版本升级包信息反馈至客户端,以使客户端基于目标版本升级包信息完成对象的升级。
107.需要说明的是s240~s250的执行顺序只需在s260之前即可,而不限定其与s210~s230之间的顺序关系。
108.本公开实施例的上述技术方案,通过对各存量版本进行统计,确定至少一个主流版本;基于每个主流版本、升级版本信息和各单元升级包对应的单元升级包信息,确定每个主流版本对应的版本增量升级包和相应版本增量升级包对应的主流版本升级信息;基于当前版本信息和各主流版本升级信息,确定是否存在目标版本升级包信息;若是,则将目标版本升级包信息反馈至客户端。实现了在预先生成每个存量版本中每个功能程序单元的单元升级包的基础上,进一步预先确定出该对象在市面上的主流版本,并为每个主流版本生成对应的版本增量升级包,以便后续升级过程中可以很大程度上直接获取所需的版本增量升级包,从而进一步节省单元升级包的筛选及其组合的过程,进一步提高对象升级效率。
109.图4是车辆中的对象升级过程中车辆端和服务端之间的交互过程示意图。参见图4,服务端420可进一步细分为制包方421、ota运营平台422、制包发起方423、ota数据统计方424。车辆410中的对象升级过程为:
110.a、制包发起方423创建基线,并将创建的基线发送至ota运营平台422。
111.b、ota运营平台422基于基线向制包方421发送全量包制包请求;制包方421制作升级版本的版本全量包,并对其进行加密、签名等操作。
112.c、制包方421将版本全量包的版本全量包信息记录至ota运营平台422。
113.d、ota运营平台422基于基线向制包方421发送ecu升级包制包请求;制包方421制作任一存量版本中包含的ecu升级包,并对其进行加密、签名等操作。
114.e、制包方421将每个ecu升级包的ecu升级包信息记录至ota运营平台422。
115.f、ota数据统计方424基于各存量版本统计确定主流版本;ota运营平台422向ota数据统计方424发送主流版本查询请求。
116.g、ota数据统计方424反馈主流版本信息至ota运营平台422。
117.h、ota运营平台422基于主流版本信息向制包方421发送版本增量升级包制包请求;制包方421制作任一主流版本的版本增量升级包,并对其进行加密、签名等操作。
118.i、制包方421将每个主流版本的版本增量升级包的主流版本升级信息记录至ota运营平台422。
119.j、ota运营平台422基于升级版本向车辆410发送升级推送信息。
120.k、车辆410响应于升级推送信息,向ota运营平台422发送包含当前版本信息的升级信息查询请求。
121.l、ota运营平台422基于当前版本信息查询各主流版本升级信息中是否存在目标版本升级包信息。
122.m、若存在,则ota运营平台422将查询到的目标版本升级包信息发送至车辆410。
123.n、若不存在,则ota运营平台422基于当前版本信息、升级版本信息和各单元升级包对应的单元升级包信息,确定至少一个目标单元升级包,并由各目标单元升级包生成目标版本增量升级包。
124.o、ota运营平台422将目标版本增量升级包对应的目标版本升级包信息反馈至车辆410。
125.p、车辆410基于目标版本升级包信息生成升级包获取请求,并将其发送至ota运营平台422。
126.q、ota运营平台422向车辆410发送目标版本增量升级包。
127.r、车辆410对目标版本增量升级包进行解密和验签等操作,并利用解密后的目标版本增量升级包完成升级。
128.图5是本公开实施例提供的一种对象升级装置的结构示意图。参见图5,该装置具体包括:
129.升级信息查询请求接收模块510,用于接收客户端发送的升级信息查询请求,升级信息查询请求中包含待升级的对象的当前版本信息;
130.目标单元升级包确定模块520,用于基于当前版本信息、升级版本信息和各单元升级包对应的单元升级包信息,确定对象对应的至少一个目标单元升级包;其中,各单元升级包中包含各存量版本中的每个功能程序单元相较于升级版本而生成的单元差分包或单元全量包;
131.目标版本增量升级包生成模块530,用于由各目标单元升级包生成对象对应的目标版本增量升级包,并将目标版本增量升级包对应的目标版本升级包信息反馈至客户端,以使客户端基于目标版本升级包信息完成对象的升级。
132.在一些实施例中,目标单元升级包确定模块520具体用于:
133.基于当前版本信息和升级版本信息,确定版本差异信息;
134.基于版本差异信息和各单元升级包对应的单元升级包信息,确定各目标单元升级包。
135.在一些实施例中,该装置还包括目标版本升级包信息查询模块,用于:
136.在接收客户端发送的升级信息查询请求之后,基于当前版本信息和各主流版本升级信息,确定是否存在目标版本升级包信息;
137.若是,则将目标版本升级包信息反馈至客户端。
138.在一些实施例中,该装置还包括主流版本升级信息确定模块,其包括:
139.主流版本确定子模块,用于在基于当前版本信息和各主流版本升级信息,确定是否存在目标版本升级包信息之前,对各存量版本进行统计,确定至少一个主流版本;
140.主流版本升级信息确定子模块,用于基于每个主流版本、升级版本信息和各单元升级包对应的单元升级包信息,确定每个主流版本对应的版本增量升级包和相应版本增量
升级包对应的主流版本升级信息。
141.在一些实施例中,主流版本确定子模块具体用于:
142.对每个存量版本的数量进行统计,并确定每个存量版本的版本占比;
143.将版本占比大于或等于预设占比的存量版本确定为主流版本。
144.在一些实施例中,该装置还包括版本全量升级包生成模块,用于:
145.在接收客户端发送的升级信息查询请求之后,若当前版本信息对应的当前版本低于设定版本,则生成升级版本信息对应的版本全量升级包,并将版本全量升级包的版本升级包信息作为目标版本升级包信息反馈至客户端。
146.在一些实施例中,该装置还包括目标版本增量升级包反馈模块,用于:
147.在将版本增量升级包对应的版本升级信息反馈至客户端之后,接收客户端发送的升级包获取请求,升级包获取请求中包含目标版本升级包信息;
148.基于目标版本升级包信息,将目标版本增量升级包反馈至客户端。
149.在一些实施例中,对象包括应用程序和/或软件。
150.在一些实施例中,当对象为车辆中的对象时,对象包括车载应用程序、车辆系统程序或车辆整车系统程序。
151.在一些实施例中,功能程序单元为电子控制单元。
152.在一些实施例中,该装置还包括升级推送信息发送模块,用于:
153.在接收客户端发送的升级信息查询请求之前,基于升级版本信息,向目标车辆发送升级推送信息,升级推送信息用于触发目标车辆对应的客户端发送升级信息查询请求。
154.在一些实施例中,升级包信息包含相应升级包的标识、内容描述信息、加密密钥信息和升级前后的版本信息中的至少一项。
155.本公开实施例提供的一种对象升级装置,通过接收客户端发送的、包含对象的当前版本信息的升级信息查询请求;基于当前版本信息、升级版本信息和各单元升级包对应的单元升级包信息,确定对象对应的至少一个目标单元升级包;其中,各单元升级包中包含各存量版本中的每个功能程序单元相较于升级版本而生成的单元差分包或单元全量包;由各目标单元升级包生成对象对应的目标版本增量升级包,并将目标版本增量升级包对应的目标版本升级包信息反馈至客户端,以使客户端基于目标版本升级包信息完成对象的升级。实现了预先为每个存量版本(含当前版本)中包含的各个功能程序单元均生成单元升级包,并在获取当前版本信息后,从各单元升级包中筛选合适的单元升级包,且动态生成适配于对象的目标版本增量升级包,减少了对象升级过程中实时比较不同版本间的内容差异且生成差分包的流程,提高了升级包的生成速度,进而提高了对象的升级效率;且由增量升级包替代了全量升级包,降低了升级过程中的存储成本,也节省了升级过程中的流量消耗,提高了升级包下载速度,进一步提高对象升级效率。
156.本公开实施例所提供的对象升级装置可执行本公开任意实施例所提供的对象升级方法,具备执行方法相应的功能模块和有益效果。
157.值得注意的是,上述对象升级装置的实施例中,所包括的各个模块和子模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块、功能子模块的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。
158.图6是本公开实施例提供的一种电子设备的结构示意图。参见图6,本公开实施例提供的电子设备600,其包括:处理器620和存储器610;处理器620通过调用存储器610存储的程序或指令,用于执行本公开实施例所提供的对象升级方法,包括:
159.接收客户端发送的升级信息查询请求,升级信息查询请求中包含待升级的对象的当前版本信息;
160.基于当前版本信息、升级版本信息和各单元升级包对应的单元升级包信息,确定对象对应的至少一个目标单元升级包;其中,各单元升级包中包含各存量版本中的每个功能程序单元相较于升级版本而生成的单元差分包或单元全量包;
161.由各目标单元升级包生成对象对应的目标版本增量升级包,并将目标版本增量升级包对应的目标版本升级包信息反馈至客户端,以使客户端基于目标版本升级包信息完成对象的升级。
162.当然,本领域技术人员可以理解,处理器620还可以实现本公开任意实施例所提供的对象升级方法的技术方案。
163.图6显示的电子设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:一个或者多个处理器620,存储器610,连接不同系统组件(包括存储器610和处理器620)的总线650。
164.总线650表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
165.电子设备600典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备600访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
166.存储器610可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)611和/或高速缓存存储器612。电子设备600可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统613可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd

rom,dvd

rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线650相连。存储器610可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
167.具有一组(至少一个)程序模块615的程序/实用工具614,可以存储在例如存储器610中,这样的程序模块615包括但不限于操作系统、一个或者多个对象、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块615通常执行本公开所描述的任意实施例中的功能和/或方法。
168.电子设备600也可以与一个或多个外部设备660(例如键盘、指向设备、显示器670等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器
等等)通信。这种通信可以通过输入/输出接口(i/o接口)630进行。并且,电子设备600还可以通过网络适配器640与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图6所示,网络适配器640通过总线650与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
169.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储程序或指令,该程序或指令使计算机执行本公开任意实施例提供的对象升级方法,该方法包括:
170.接收客户端发送的升级信息查询请求,升级信息查询请求中包含待升级的对象的当前版本信息;
171.基于当前版本信息、升级版本信息和各单元升级包对应的单元升级包信息,确定对象对应的至少一个目标单元升级包;其中,各单元升级包中包含各存量版本中的每个功能程序单元相较于升级版本而生成的单元差分包或单元全量包;
172.由各目标单元升级包生成对象对应的目标版本增量升级包,并将目标版本增量升级包对应的目标版本升级包信息反馈至客户端,以使客户端基于目标版本升级包信息完成对象的升级。
173.当然,本公开实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本公开任意实施例所提供的对象升级方法中的相关操作。
174.本公开实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
175.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
176.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
177.可以以一种或多种程序设计语言或其组合来编写用于执行本公开操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部
分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
178.需要说明的是,本公开所用术语仅为了描述特定实施例,而非限制本申请范围。如本公开说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。术语“和/或”包括一个或多个相关所列条目的任何一个和所有组合。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。
179.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1