本技术涉及汽车故障诊断,特别是涉及一种远程诊断方法、装置、计算机设备和存储介质。
背景技术:
1、随着汽车技术的发展,汽车故障诊断技术的水平也越来越高。现有故障诊断多采用uds(unified diagnostic services)技术,通过线下诊断仪器物理连接车端,以实现上位机对车端的诊断。在一种离线场景中,无需与车端进行物理连接,利用4g通信模组搭建车云通信链路,以实现在云端的远程诊断。
2、现有远程诊断通常会部署中央网关作为车端诊断的上位机,基于与云端的交互指令,将云端的原始指令转换为标准uds指令对车内的各节点进行诊断,被诊断节点只需具备标准的诊断服务即可,然而,标准诊断服务虽然具备基础的诊断能力,并且通过31服务可以扩展出自定义的例程,但其交互流程以及数据格式并不灵活,无法适用于复杂的智驾系统(智能驾驶域控制器)内的调测需求。当前的智驾系统具备独立的联网能力,可以独立部署远程诊断模块,利用数据上云通路,在检测到异常数据或故障场景下,可以主动对智驾系统进行远程诊断。即智驾数据上云与智驾远程诊断构成闭环,成为独立的系统。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种远程诊断方法、装置、计算机设备和存储介质。
2、第一方面,本技术提供一种远程诊断方法,应用于云端,方法包括:
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、接收云端传输的通信数据包;
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、利用可视化界面接收诊断交互信息,诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;
67、根据诊断任务事项的类型,从预设协议库中选择封装协议;
68、将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;
69、将通信数据包传输给车端,以使车端根据关联身份信息以及预配置信息执行相应的预配置流程,并生成执行结果;
70、接收车端反馈的执行结果。
71、或者,处理器执行计算机程序时实现以下步骤:
72、接收云端传输的通信数据包;
73、对通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及预配置信息;
74、根据关联身份信息,确定当前云端与车端为目标交互双方;
75、根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果;
76、将执行结果反馈给云端。
77、第六方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
78、利用可视化界面接收诊断交互信息,诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;
79、根据诊断任务事项的类型,从预设协议库中选择封装协议;
80、将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;
81、将通信数据包传输给车端,以使车端根据关联身份信息以及预配置信息执行相应的预配置流程,并生成执行结果;
82、接收车端反馈的执行结果。
83、或者,计算机程序被处理器执行时实现以下步骤:
84、接收云端传输的通信数据包;
85、对通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及预配置信息;
86、根据关联身份信息,确定当前云端与车端为目标交互双方;
87、根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果;
88、将执行结果反馈给云端。
89、上述远程诊断方法、装置、计算机设备和存储介质,具有以下技术效果:
90、(1)由于在云端采用了利用可视化界面接收诊断交互信息,诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;根据诊断任务事项的类型,从预设协议库中选择封装协议;将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;将通信数据包传输给车端,以使车端根据关联身份信息以及预配置信息执行相应的预配置流程,并生成执行结果;接收车端反馈的执行结果,可以看出,本技术的远程诊断方法是搭建于云端和车端的远程诊断框架,通过云端对车端的诊断交互信息,获取目标车端的关联身份信息、诊断任务事项的类型及预配置信息,基于此进行封装处理后得到基于通信协议的通信数据包,并发送给车端,以供车端根据通信数据包执行插件动态部署、远程诊断以及文件获取等技术效果,并在满足标准uds诊断的同时,支持动态插件的部署设计,能够灵活部署调测用的多种类型的功能。
91、(2)由于在车端采用了接收云端传输的通信数据包,对通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及预配置信息,根据关联身份信息,确定当前云端与车端为目标交互双方,根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果,将执行结果反馈给云端。车端在执行诊断任务事项时,利用通信协议层面的安全认证、通信应用层面的用户认证、诊断逻辑地址的白名单设计,插件签名及强校验格式、部署安全分区、执行完毕后的清除等操作,使得远程诊断中的车端能够实现多层安全性机制。