本发明涉及ota对配置文件处理的,尤其是涉及一种基于云服务器下发的配置文件的ota解析方法和装置。
背景技术:
1、随着汽车行业的发展,车辆内电子控制单元ecu的功能需求日益增加。为了满足这些需求,车辆制造商能够通过空中下载(over the air,ota)技术远程推送新的软件、功能更新或安全补丁,实现对车辆的远程升级和维护。
2、ota流程可以简单概括为:收集车辆内ecu信息->向云服务器请求下发[ota配置文件](下文简称[配置文件])->下载->安装->激活。[配置文件]内包含了待升级的目标ecu数量、id及版本号等关键信息。ota流程在接收到后会对其进行解析并保存至嵌入式多媒体卡(embedded multimedia card,emmc)中,供后续流程使用。
3、目前当云服务器单次下发[配置文件a]的数据量较大时,ota流程解析和保存的过程会非常耗时。在此期间如果用户关闭车辆(ig-off),处理流程将中断。车辆重新启动(ig-on)后,必须先清除emmc中[配置文件a]的数据,然后重新从云服务器请求[配置文件b]。若两次下发的[配置文件]内容相同,将导致数据的重复解析和保存,降低了ota整体流程的效率。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种基于云服务器下发的配置文件的ota解析方法和装置,通过对配置文件中每个分包以及每个字段的解析进度进行校验实现断点续传,以缓解ota针对同一配置文件须重复解析和保存的技术问题。
2、第一方面,实施例提供一种基于云服务器下发的配置文件的ota解析方法,包括:
3、接收云服务器响应请求下发的所述配置文件的当前分包数据,验证从所述云服务器接收的所述当前分包数据的完整性;
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、第二方面,实施例提供一种基于云服务器下发的配置文件的ota解析装置,包括:
29、验证模块,接收云服务器响应请求下发的所述配置文件的当前分包数据,验证从所述云服务器接收的所述当前分包数据的完整性;
30、第一判断模块,若所述当前分包数据完整,则在预设存储设备中查找所述当前分包数据的数据校验码,判断是否所述当前分包数据被解析过;
31、第一解析模块,若所述当前分包数据未被解析过,则将所述当前分包数据对应的数据校验码存储于所述预设存储设备中,并执行分包数据解析操作;
32、第二判断模块,当所述当前分包数据被解析过时,在所述在预设存储设备中查找所述当前分包数据中每个字段数据的数据校验码,判断是否所述当前分包数据中每个字段数据均被解析过;
33、第二解析模块,若所述当前分包数据中存在未被解析过的字段数据,则将所述未被解析过的字段数据对应的数据校验码存储于所述预设存储设备中,并执行字段数据解析操作;
34、循环模块,当所述当前分包数据中每个字段数据均被解析时,将所述云服务器下发的下一分包数据作为新的当前分包数据,并返回执行接收云服务器响应请求下发的所述配置文件的当前分包数据,验证从所述云服务器接收的所述当前分包数据的完整性的步骤,直至所述配置文件中每个分包数据均被下发时终止。
35、第三方面,实施例提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述前述实施方式任一项所述的方法的步骤。
36、第四方面,实施例提供一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现前述实施方式任一项所述的方法的步骤。
37、本发明实施例提供的一种基于云服务器下发的配置文件的ota解析方法和装置,对云服务器下发的配置文件的每个分包数据完整性进行校验;在检验通过的情况下,根据分包数据对应的数据校验码是否在预设存储设备中存储,来判断每个分包数据是否被解析过;若该分包数据未被解析过,则将该未被解析过的分包数据对应的数据校验码存储在预设存储设备中,并进行分包数据解析;在分包数据均被解析的情况下,基于分包数据中每个字段数据对应的数据校验码是否在预设存储设备中存储,来判断每个分包数据的每个字段是否被解析过;若某个分包数据的某个字段未被解析过,则将该未被解析过的分包数据的字段数据对应的数据校验码存储在预设存储设备中,再进行字段数据解析,至此实现配置文件整体的解析;通过此种方式能够在无需重复解析相同配置文件内容的情况下,保证配置文件解析的完整性。
38、本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
39、为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。