CN116520815B - 一种远程诊断方法、装置、计算机设备和存储介质 - Google Patents
一种远程诊断方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116520815B CN116520815B CN202310806024.5A CN202310806024A CN116520815B CN 116520815 B CN116520815 B CN 116520815B CN 202310806024 A CN202310806024 A CN 202310806024A CN 116520815 B CN116520815 B CN 116520815B
- Authority
- CN
- China
- Prior art keywords
- diagnosis
- plug
- task
- tool
- vehicle end
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004171 remote diagnosis Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000003745 diagnosis Methods 0.000 claims abstract description 208
- 238000004891 communication Methods 0.000 claims abstract description 137
- 238000005538 encapsulation Methods 0.000 claims abstract description 71
- 230000003993 interaction Effects 0.000 claims abstract description 65
- 238000004806 packaging method and process Methods 0.000 claims abstract description 51
- 238000013515 script Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 23
- 230000000007 visual effect Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000002405 diagnostic procedure Methods 0.000 claims description 4
- 238000012800 visualization Methods 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000007405 data analysis Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0259—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
- G05B23/0262—Confirmation of fault detection, e.g. extra checks to confirm that a failure has indeed occurred
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24065—Real time diagnostics
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Vehicle Cleaning, Maintenance, Repair, Refitting, And Outriggers (AREA)
Abstract
本申请涉及一种远程诊断方法、装置、计算机设备和存储介质。所述方法包括:在云端时,接收诊断交互信息,从预设协议库中选择封装协议;进行封装打包处理,以得到一组通信数据包,将通信数据包传输给车端;在车端时,接收通信数据包,进行解析处理,以确定当前云端与车端为目标交互双方后,执行诊断任务事项的预配置流程,反馈给云端。采用本方法能够基于云端和车端搭建远程诊断框架,根据诊断需求,制备诊断所需的通信数据包后传输给车端执行预配置流程,能够动态部署诊断目的,并具备多层安全防护机制。
Description
技术领域
本申请涉及汽车故障诊断技术领域,特别是涉及一种远程诊断方法、装置、计算机设备和存储介质。
背景技术
随着汽车技术的发展,汽车故障诊断技术的水平也越来越高。现有故障诊断多采用UDS(Unified Diagnostic Services)技术,通过线下诊断仪器物理连接车端,以实现上位机对车端的诊断。在一种离线场景中,无需与车端进行物理连接,利用4G通信模组搭建车云通信链路,以实现在云端的远程诊断。
现有远程诊断通常会部署中央网关作为车端诊断的上位机,基于与云端的交互指令,将云端的原始指令转换为标准UDS指令对车内的各节点进行诊断,被诊断节点只需具备标准的诊断服务即可,然而,标准诊断服务虽然具备基础的诊断能力,并且通过31服务可以扩展出自定义的例程,但其交互流程以及数据格式并不灵活,无法适用于复杂的智驾系统(智能驾驶域控制器)内的调测需求。当前的智驾系统具备独立的联网能力,可以独立部署远程诊断模块,利用数据上云通路,在检测到异常数据或故障场景下,可以主动对智驾系统进行远程诊断。即智驾数据上云与智驾远程诊断构成闭环,成为独立的系统。
发明内容
基于此,有必要针对上述技术问题,提供一种远程诊断方法、装置、计算机设备和存储介质。
第一方面,本申请提供一种远程诊断方法,应用于云端,方法包括:
利用可视化界面接收诊断交互信息,诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;
根据诊断任务事项的类型,从预设协议库中选择封装协议;
将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;
将通信数据包传输给车端,以使车端根据关联身份信息以及预配置信息执行相应的预配置流程,并生成执行结果;
接收车端反馈的执行结果。
在其中一个实施例中,在接收诊断交互信息的步骤之前,包括:
利用可视化界面接收至少一种诊断服务的插件工具;
利用预设的校验规则,对插件工具进行校验处理,以确定插件工具符合预设安全要求,以及符合预设封装格式,以满足当前远程诊断的动态部署要求。
在其中一个实施例中,当诊断任务事项为插件部署任务时,封装协议采用第一通信协议;
将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包的步骤,包括:
基于所确定的诊断任务事项为插件部署任务,获取至少一种插件工具,生成插件工具的哈希值;
将关联身份信息、插件工具以及哈希值,按照第一通信协议封装处理,生成一组第一数据包,以便车端接收第一数据包后,执行插件部署任务的预配置流程。
在其中一个实施例中, 当诊断任务事项为文件获取任务时,封装协议采用第二通信协议;
将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包的步骤,包括:
基于所确定的诊断任务事项为文件获取任务,获取目标文件的绝对路径;
将关联身份信息和绝对路径,按照第二通信协议封装处理,生成一组第二数据包,以便车端接收第二数据包后,执行文件获取任务的预配置流程。
在其中一个实施例中, 当诊断任务事项为诊断执行任务时,封装协议采用第三通信协议;
将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包的步骤,包括:
基于所确定的诊断任务事项为诊断执行任务,获取诊断指令;
将关联身份信息和诊断指令,按照第三通信协议封装处理,生成一组第三数据包,以便车端接收第三数据包后,执行诊断执行任务的预配置流程。
在其中一个实施例中, 利用预设的校验规则,对插件工具进行校验处理,以确定插件工具符合预设安全要求,以及符合预设封装格式,以满足当前远程诊断的动态部署要求的步骤,包括:
基于预设的插件格式限制,确定插件工具符合预设插件格式要求;
基于插件工具中的签名文件满足云端的签名认证,确定当前插件工具符合安全要求;
基于插件工具的构成要素,确定插件工具包括预设的目录结构,且对应目录结构下配置有包括可执行文件、描述文件、配置文件、脚本文件、结果回传文件以及签名文件在内的插件资源,满足当前远程诊断的动态部署要求。
第二方面,本申请提供一种远程诊断方法,应用于车端,方法包括:
接收云端传输的通信数据包;
对通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及诊断任务事项的预配置信息;
根据关联身份信息,确定当前云端与车端为目标交互双方;
根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果;
将执行结果反馈给云端。
在其中一个实施例中,关联身份信息至少包括车端的车辆识别码、诊断源逻辑地址;
根据关联身份信息,确定当前云端与车端为目标交互双方的步骤包括:
根据车辆识别码确定当前车端为目标交互双方的目标车端;
根据车端预存的源地址白名单以及诊断源逻辑地址,确定当前云端为目标交互双方的目标云端。
在其中一个实施例中,当诊断任务事项为插件部署任务时,预配置信息包括插件工具和哈希值;
基于诊断任务事项的类型,根据预配置信息,执行诊断任务事项的预配置流程,生成执行结果的步骤,包括:
基于车端动态插件部署区域逐包接收的通信数据包,利用解析出的哈希值对通信数据包进行完整性校验;
对完整的通信数据包进行格式校验,以确定通信数据包满足车端远程诊断插件格式,获取插件工具;
加载并执行插件工具,按照插件部署任务的预配置流程,生成执行结果文件;
将执行结果文件逐包回传至云端。
在其中一个实施例中,关联身份信息还包括诊断目标逻辑地址;当诊断任务事项为诊断执行任务时,预配置信息包括诊断指令和诊断目标逻辑地址;
基于诊断任务事项的类型,根据预配置信息,执行诊断任务事项的预配置流程,生成执行结果的步骤,包括:
获取诊断目标逻辑地址,以确定诊断指令在车端的交互目标;
利用诊断指令,控制交互目标,执行诊断执行任务的预配置流程,生成诊断结果后,将诊断结果返回给云端。
在其中一个实施例中,当诊断任务事项为文件获取任务时,预配置信息包括目标文件的绝对路径;
基于诊断任务事项的类型,根据预配置信息,执行诊断任务事项的预配置流程,生成执行结果的步骤,包括:
根据绝对路径,访问车端的目标文件,获取目标文件的总大小;
基于目标文件的总大小和预配置的单包大小,计算总包量;
根据单包大小,提取目标文件的内容,并记录当前包数;
将提取的内容以及剩余包量、当前包数进行封装处理后,向云端返回处理进度。
第三方面,本申请提供一种远程诊断装置,装置包括:信息接收模块、协议选择模块、数据封装模块、数据传输模块和结果接收模块,其中:
信息接收模块,用于利用可视化界面接收诊断交互信息,诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;
协议选择模块,用于根据诊断任务事项的类型,从预设协议库中选择封装协议;
数据封装模块,用于将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;
数据传输模块,用于将通信数据包传输给车端,以使车端根据关联身份信息以及预配置信息执行相应的预配置流程,并生成执行结果;
结果接收模块,用于接收车端反馈的执行结果。
第四方面,本申请提供一种远程诊断装置,装置包括:数据接收模块、数据解析模块、身份确认模块、任务执行模块和结果反馈模块,其中:
数据接收模块,用于接收云端传输的通信数据包;
数据解析模块,用于对通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及诊断任务事项的预配置信息;
身份确认模块,用于根据关联身份信息,确定当前云端与车端为目标交互双方;
任务执行模块,用于根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果;
结果反馈模块,用于将执行结果反馈给云端。
第五方面,本申请提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
利用可视化界面接收诊断交互信息,诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;
根据诊断任务事项的类型,从预设协议库中选择封装协议;
将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;
将通信数据包传输给车端,以使车端根据关联身份信息以及预配置信息执行相应的预配置流程,并生成执行结果;
接收车端反馈的执行结果。
或者,处理器执行计算机程序时实现以下步骤:
接收云端传输的通信数据包;
对通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及预配置信息;
根据关联身份信息,确定当前云端与车端为目标交互双方;
根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果;
将执行结果反馈给云端。
第六方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
利用可视化界面接收诊断交互信息,诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;
根据诊断任务事项的类型,从预设协议库中选择封装协议;
将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;
将通信数据包传输给车端,以使车端根据关联身份信息以及预配置信息执行相应的预配置流程,并生成执行结果;
接收车端反馈的执行结果。
或者,计算机程序被处理器执行时实现以下步骤:
接收云端传输的通信数据包;
对通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及预配置信息;
根据关联身份信息,确定当前云端与车端为目标交互双方;
根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果;
将执行结果反馈给云端。
上述远程诊断方法、装置、计算机设备和存储介质,具有以下技术效果:
(1)由于在云端采用了利用可视化界面接收诊断交互信息,诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;根据诊断任务事项的类型,从预设协议库中选择封装协议;将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;将通信数据包传输给车端,以使车端根据关联身份信息以及预配置信息执行相应的预配置流程,并生成执行结果;接收车端反馈的执行结果,可以看出,本申请的远程诊断方法是搭建于云端和车端的远程诊断框架,通过云端对车端的诊断交互信息,获取目标车端的关联身份信息、诊断任务事项的类型及预配置信息,基于此进行封装处理后得到基于通信协议的通信数据包,并发送给车端,以供车端根据通信数据包执行插件动态部署、远程诊断以及文件获取等技术效果,并在满足标准UDS诊断的同时,支持动态插件的部署设计,能够灵活部署调测用的多种类型的功能。
(2)由于在车端采用了接收云端传输的通信数据包,对通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及预配置信息,根据关联身份信息,确定当前云端与车端为目标交互双方,根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果,将执行结果反馈给云端。车端在执行诊断任务事项时,利用通信协议层面的安全认证、通信应用层面的用户认证、诊断逻辑地址的白名单设计,插件签名及强校验格式、部署安全分区、执行完毕后的清除等操作,使得远程诊断中的车端能够实现多层安全性机制。
附图说明
图1为一个实施例中远程诊断方法的应用环境图。
图2为一个实施例中云端的远程诊断方法的流程示意图。
图3为一个实施例中云端可视化界面的示意框图。
图4为一个实施例中插件获取方法的流程示意图。
图5为一个实施例中插件校验方法的流程示意图。
图6为一个实施例中云端插件部署任务的封装流程示意图。
图7为一个实施例中云端文件获取任务的封装流程示意图。
图8为一个实施例中云端诊断执行任务的封装流程示意图。
图9为一个实施例中车端的远程诊断方法的流程示意图。
图10为一个实施例中远程诊断整体框架示意图。
图11为一个实施例中身份校验方法的流程示意图。
图12为一个实施例中车端插件部署任务的封装流程示意图。
图13为一个实施例中插件运行的流程示意图。
图14为一个实施例中车端诊断执行任务的封装流程示意图。
图15为一个实施例中远程诊断指令交互流程示意图。
图16为一个实施例中车端文件获取任务的封装流程示意图。
图17为一个实施例中远程文件获取交互时序示意图。
图18为一个实施例中云端的远程诊断装置的结构框图。
图19为一个实施例中车端的远程诊断装置的结构框图。
图20为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
实施例1
本申请提供的远程诊断方法,可以应用于如图1所示的应用环境中。其中,该应用环境包括云端10、车端20以及通信服务器30,通信服务器30分别与云端10和车端20连接,本实施例中的云端10与车端20并不点对点通信,而是通过通信服务器30转发后交互连接。
在一个实施例中,如图2所示,提供了一种远程诊断方法,以该方法图1中的云端10为例进行说明,包括以下步骤:
步骤S110,利用可视化界面接收诊断交互信息,诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;
步骤S120,根据诊断任务事项的类型,从预设协议库中选择封装协议;
步骤S130,将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;
步骤S140,将通信数据包传输给车端,以使车端根据关联身份信息以及预配置信息执行相应的预配置流程,并生成执行结果;
步骤S150,接收车端反馈的执行结果。
在步骤S110,利用可视化界面接收诊断交互信息步骤中,云端配置有对外展示的可视化界面,因此云端可以是带有显示设备的服务器。在一种实施例中,参考图3所示,云端的可视化界面中包括控制界面,控制界面中包括第一配置项、至少一种第二配置项,通过第一配置项配置目标车端的关联身份信息,通过第二配置项配置诊断任务事项的预配置信息,诊断任务事项可以包括插件获取任务、诊断执行任务、文件获取任务以及插件部署任务,插件获取任务可以理解为将外部的插件工具上传至云端存储,插件部署任务、诊断执行任务以及文件获取任务可以理解为云端将插件工具动态部署至车端,控制车端利用插件工具执行诊断,获取车端诊断后的结果文件。针对第一配置项/第二配置项的具体操作形式,本实施例不做具体限定。在一种实施例中,可以根据诊断任务事项的类型,在控制界面中设置多个第二配置项。
在一种实施例中,步骤S120,根据诊断任务事项的类型,从预设协议库中选择封装协议的步骤中,选择一种通信协议作为封装协议,封装协议可以是但不限于Mqtt(MessageQueuing Telemetry Transport,消息队列遥测传输)协议、RocketMQ协议、Https(HyperText Transfer Protocol over Secure Socket Laye,可进行加密传输、身份认证的网络协议)协议在内的封装协议。
本实施例的预设协议库支持众多通信协议,协议之间可以互相切换,对此本实施例不限定具体使用通信协议的类型,根据诊断任务事项的类型可以预配置封装协议。
在一个实施例中,参考附图4,在步骤S110,在接收诊断交互信息的步骤之前,包括:
步骤S210,利用可视化界面接收至少一种诊断服务的插件工具;
步骤S220,利用预设的校验规则,对插件工具进行校验处理,以确定插件工具符合预设安全要求,以及符合预设封装格式,以满足当前远程诊断的动态部署要求。
在一种实施例中,参考附图5,步骤S220,利用预设的校验规则,对插件工具进行校验处理,以确定插件工具符合预设安全要求,以及符合预设的封装格式,以满足当前远程诊断的动态部署要求的步骤,包括:
步骤S221,基于预设的插件格式限制,确定插件工具符合预设插件格式要求。在一种实施例中,插件格式限制为ZIP压缩文件,因此,当插件工具为ZIP压缩文件格式时,插件工具满足插件格式要求。
步骤S222,基于插件工具中的签名文件满足云端的签名认证,确定当前插件工具符合预设安全要求。其中,签名文件是插件工具所属开发方经过测试及认可后,由特定人员制定(比如,远程诊断维护人员)的秘钥签名。在一种实施例中,采用非对称加密方式的配对公钥,对使用私钥进行签名文件的认证,当认证通过时,表示当前压缩文件通过了测试,并且为认可的插件工具,是可以信任满足安全要求的。
步骤S223,基于插件工具的构成要素,确定插件工具包括预设的目录结构,且对应目录结构下配置有包括可执行文件、描述文件、配置文件、脚本文件、结果回传文件以及签名文件在内的插件资源,以满足当前远程诊断的动态部署要求。
在一种实施例中,插件资源可以包括但不限于可执行文件、描述文件、配置文件、脚本文件以及结果回传文件。目录结构可以包括bin目录、conf目录、script目录、result目录以及目录最外层,其中,可执行文件存储至bin目录下,描述文件/配置文件存储至conf目录下,脚本文件存储至script目录下,结果回传文件存储至result目录下,签名文件存储至目录最外层。例如,目录结构表现为:
sample_plugin.zip
|-bin
|-sample
|-conf
|-describe.json
|-script
|-start.sh
|-finish.sh
|-result
|-sample.sign。
本实施例中的插件工具是远程诊断框架下的动态部署对象,只要符合规定要求,能够实现任意远程自定义功能。因此本实施例中的插件工具可以不局限于远程诊断的目的。通过可执行文件、脚本、配置等形式打包为固定格式以构成插件工具,因此插件工具在存储格式上配置有强约束,通过强约束来满足远程诊断的动态部署要求。
在一种实施例中,插件工具包括bin目录下的可执行文件、conf目录下的配置文件、script目录下脚本文件、result目录下的结果回传文件以及最外层的签名文件。script目录下的脚本文件用于执行相应的任务。脚本文件至少包括钩子脚本、finish.sh脚本,不限于增加shell脚本。在一种实施例中,将钩子脚本命名为start.sh脚本,以提供远程诊断调用。shell脚本由start.sh脚本调用。finish.sh脚本结束诊断流程,并回传诊断结果。进一步说明,通常插件工具的执行结果会落盘到result目录下,若执行完毕,则调用finish.sh脚本,以提示流程结束,并给云端回传执行结果。conf目录下的文件包含一个强制性的描述文件,用于描述插件工具的功能信息及责任方,此外,还可以加入其它可选的配置文件,比如执行程序启动时需要读取的配置文件。
在一种实施例中,云端接收插件工具后自动进行预设的校验步骤,比如,先对插件工具的文件格式进行校验,以确定当前插件工具满足云端插件格式的限制要求;然后对插件工具的安全性进行校验,以确定当前插件工具的来源合法;最后对插件工具的构成要素进行校验,可以对插件工具进行解压缩操作,以确定当前插件工具中包含预设的目录格式,比如,含有bin、conf、script、result在内的目录格式。
本实施例中,利用不同功能的插件工具实现动态部署要求,以实现远程诊断框架下动态特性的表现,完成的功能比较丰富。各功能的插件工具都经过既定的测试和认可,都是合规插件。本实施例中的插件工具的功能可以包含但不限于以下功能:日志的收集、打包、压缩;系统性能数据的采集;测试用例的执行及结果回传;磁盘空间检测及清理;端口使能,比如,ssh用的22号端口。
在一个实施例中,在步骤S120,根据诊断任务事项,选择封装协议的步骤中,当诊断任务事项为插件部署任务时,封装协议采用第一通信协议。进一步说明,参考附图6,在步骤S130,将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包的步骤中,包括:
步骤S1311,基于所确定的诊断任务事项为插件部署任务,获取至少一种插件工具,生成插件工具的哈希值。进一步说明,当诊断任务事项为插件部署任务时,本实施例中的插件工具以及哈希值为预配置信息。
步骤S1312,将关联身份信息、插件工具以及哈希值,按照第一通信协议封装处理,生成一组第一数据包,以便车端接收第一数据包后,执行插件部署任务的预配置流程。
进一步说明,本实施例中,利用远程诊断框架,基于已上传到云端的插件工具,选择插件部署任务时,为在云端选择插件工具,传输至车端后,部署至车端,以执行相应的预配置流程。
本实施例中,采用可视化界面,获取插件部署任务时的插件工具,生成插件工具的哈希值,然后将关联身份信息、插件工具以及哈希值按照第一通信协议打包封装处理,生成一组第一数据包,将第一数据包传输给车端。车端接收第一通信数据包后,执行插件部署的预配置流程。
在一个实施例中,在步骤S120,根据诊断任务事项,选择封装协议的步骤中,当诊断任务事项为文件获取任务时,封装协议采用第二通信协议。进一步说明,参考附图7,在步骤S130,将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包的步骤中,包括:
步骤S1321,基于所确定的诊断任务事项为文件获取任务,获取目标文件的绝对路径;
步骤S1322,将关联身份信息和绝对路径,按照第二通信协议封装处理,生成一组第二数据包,以便车端接收第二数据包后,执行文件获取任务的预配置流程。
在一种实施例中,云端通过可视化界面的输入配置获取车端目标文件的绝对路径,表示将获取的目标文件,将目标文件的绝对路径作为第二数据包的内容,同时在第二数据包中赋予诊断任务事项的类别配置,比如,当诊断任务事项为诊断执行时,其类别配置为Type:command,当诊断任务事项为文件获取时,其类别配置为Type:file,最后通过对应封装规则选择相应的通信协议进行封装后,传输给车端。在一个实施例中,在步骤S120中,根据诊断任务事项,选择封装协议的步骤中,当诊断任务事项为诊断执行任务时,封装协议采用第三通信协议。进一步说明,参考附图8,在步骤S130,将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包的步骤中,包括:
步骤S1331,基于所确定的诊断任务事项为诊断执行任务,获取诊断指令;
步骤S1332,将关联身份信息和诊断指令,按照第三通信协议封装处理,生成一组第三数据包,以便车端接收第三数据包后,执行诊断执行任务的预配置流程。
在一种实施例中,诊断指令采用标准的UDS指令。诊断指令所对应的常用的诊断服务可以包括:22服务(22服务用于根据DID(DID是由两个字节组成的编号,用于标识读取的数据)读取数据)、2E服务(2E服务用于根据DID写入数据)、31服务(31服务用于根据RID执行例程,例程即为一段逻辑代码)、19服务(19服务用于读取DTC(DiagnosticTroubleCode)相关数据)、14服务(14服务用于清除DTC)等。本实施例中基于诊断任务事项获取封装协议后,选择相应的通信协议,然后通过可视化界面获取输入的诊断指令后,将关联身份信息与诊断指令按照选择的通信协议进行封装,再由公网网络传输给车端。
在一个实施例中,如图9所示,提供了一种远程诊断方法,以该方法应用于图1中的车端为例进行说明,包括以下步骤:
步骤S210,接收云端传输的通信数据包;
步骤S220,对通信数据包解析处理,获取关联身份信息、诊断任务事项的类型以及预配置信息;
步骤S230,根据关联身份信息,确定当前云端与车端为目标交互双方;
步骤S240,根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果;
步骤S240,将执行结果反馈给云端。
本实施例中的车端包括多个工作单元,用于执行不同的诊断任务事项的预配置流程。在一种实施例中,参考附图10所示,车端包括远程诊断单元和诊断服务单元,远程诊断单元与云端交互,支持诊断执行任务、插件部署任务,即为远程诊断单元支持诊断指令的转发,动态插件的部署任务。诊断服务单元作为标准的诊断中间件,可以在支持自身处理的常用的UDS服务外,还支持与诊断应用交互的若干UDS服务(比如,22,2E,31服务),以及通过诊断传输层与下挂的传感器交互进行诊断路由。
在一种实施例中,关联身份信息包括车端的车辆识别码、诊断源逻辑地址以及诊断目标逻辑地址。车辆识别码表示为车辆VIN码(车辆识别代码),具有唯一性,用于确认被诊断的车端。诊断源逻辑地址和诊断目标逻辑地址用于在车端识别云端访问的有效性及被诊断节点。此外,由于云端和车端并不是点对点通信,是通过通信服务器转发,因此,关联身份信息还可以包括通信服务器的IP地址(Internet Protocol Address,互联网协议地址)。
参考附图11,在步骤S230,根据关联身份信息,确定当前云端与车端为目标交互双方的步骤中,包括:
步骤S231,根据车辆识别码确定当前车端为目标交互双方的目标车端;
步骤S232,根据车端预存的源地址白名单以及诊断源逻辑地址,确定当前云端为目标交互双方的目标云端。
在一种实施例中,当诊断任务事项为插件部署任务时,预配置信息包括插件工具和哈希值。参考附图12,在步骤S240,根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果的步骤中,包括:
步骤S2411,基于车端动态插件部署区域逐包接收的通信数据包,利用解析出的哈希值对通信数据包进行完整性校验;
步骤S2412,对完整的通信数据包进行格式校验,以确定通信数据包满足车端远程诊断插件格式,获取插件工具;
步骤S2413,加载并执行插件工具,按照插件部署任务的预配置流程,生成执行结果文件;
步骤S2414,将执行结果文件逐包回传至云端。
进一步说明,参考附图13,云端通过传输通信数据包以传输插件工具,车端逐包接收通信数据包后,通信数据包落盘到指定目录下,以进行插件动态部署。其中,出于安全考虑,本实施例中的指令目录为专门预留给动态插件部署的分区,不会污染到车端正常运行的进程,且动态插件执行流程结束后,会自动删除该目录下的插件。车端在通信数据包接收完毕后,首先进行通信数据包的哈希值校验,防止通信数据包在传输过程中,被篡改或接收不完整。然后对压缩格式的插件工具进行解压缩。解压缩之后,车端再一次进行预设目录格式的强校验,以保证满足远程诊断插件格式。进一步说明,通过车端的远程诊断单元对插件工具进行校验,当插件工具校验通过后,自动执行script下的start.sh脚本文件,并将插件工具的执行结果或需要回传的文件都落盘到result目录下。车端的远程诊断单元通过读取conf目录下的描述文件中的描述信息,加入到自己的日志打印中,以记录操作流程。待插件工具的功能执行完毕,主动调用finish.sh脚本,生成象征结束的一个文件。本实施例中的远程诊断单元定期查询结束符文件是否存在,若存在则将result目录下的文件进行打包并回传给云端,并将文件存储在存储服务器中,后台收集完毕会对界面有提示性结果。
在一种实施例中,关联身份信息还包括诊断目标逻辑地址;当诊断任务事项为诊断执行任务时,预配置信息包括诊断指令和诊断目标逻辑地址。进一步说明,参考附图14,在步骤S240,根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果的步骤中,包括:
步骤S2421,获取诊断目标逻辑地址,以确定诊断指令在车端的交互目标;
步骤S2422,利用诊断指令,控制交互目标,执行诊断执行任务的预配置流程,生成诊断结果后,将诊断结果返回给云端。
进一步说明,基于诊断源逻辑地址判断云端身份的合法性后,根据诊断目标逻辑地址,确定诊断指令的交互对象。参考附图15,通过IPC通信(Inter-ProcessCommunication,进程间通信)将诊断指令传输给诊断服务单元,诊断服务单元根据诊断目标逻辑地址,确定诊断指令是发给自身,还是其它节点(比如,下挂的传感器)。最终将诊断指令发送给相应方,并等待相应方的诊断回应。
在一种实施例中,当诊断任务事项为文件获取任务时,预配置信息包括目标文件的绝对路径。进一步说明,参考附图16,在步骤S240,根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果的步骤中,包括:
步骤S2431,根据绝对路径,访问车端的目标文件,获取目标文件的总大小;
步骤S2432,基于目标文件的总大小和预配置的单包大小,计算总包量;
步骤S2433,根据单包大小,提取目标文件的目标内容,并记录当前包数;
步骤S2434,将提取目标内容后的剩余包量以及当前包数进行封装处理后,向云端返回处理进度。
进一步说明,车端接收到通信数据包后,根据封装协议对通信数据包进行协议,确定诊断任务事项的类型为文件获取任务,并非诊断执行任务,也非插件部署任务,进而根据文件获取任务选择相应的工作模块。
在一种实施例中,从通信数据包中获取目标文件的绝对路径,确定需要访问的目标文件,获取车端目标文件的总大小。基于单包大小预配置为1400Kb,计算该目标文件的总包数量(本实施例优选按1400Kb分包传输,以此提高传输性能),按1400Kb的单包大小提取目标文件的内容,并逐包返回,单包封装的内容,除目标文件的内容外,还包含总的包数和当前的包数。
进一步说明,异常场景下,当目标文件不存在或打开失败时,将总包数和当前包数设置为0,进而云端接收反馈后,显示异常结果。云端根据反馈的总包个数和当前包数显示进度值。若当前包数达到了总包数,表示进度值为100%。整体时序如图17所示。
上述远程诊断方法中,具有以下技术效果:
(1)由于在云端采用了利用可视化界面接收诊断交互信息,诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;根据诊断任务事项的类型,从预设协议库中选择封装协议;将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;将通信数据包传输给车端,以使车端根据关联身份信息以及预配置信息执行相应的预配置流程,并生成执行结果;接收车端反馈的执行结果,可以看出,本申请的远程诊断方法是搭建于云端和车端的远程诊断框架,通过云端对车端的诊断交互信息,获取目标车端的关联身份信息、诊断任务事项的类型及预配置信息,基于此进行封装处理后得到基于通信协议的通信数据包,并发送给车端,以供车端根据通信数据包执行插件动态部署、远程诊断以及文件获取等技术效果,并在满足标准UDS诊断的同时,支持动态插件的部署设计,能够灵活部署调测用的多种类型的功能。
(2)由于在车端采用了接收云端传输的通信数据包,对通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及预配置信息,根据关联身份信息,确定当前云端与车端为目标交互双方,根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果,将执行结果反馈给云端。车端在执行诊断任务事项时,利用通信协议层面的安全认证、通信应用层面的用户认证、诊断逻辑地址的白名单设计,插件签名及强校验格式、部署安全分区、执行完毕后的清除等操作,使得远程诊断中的车端能够实现多层安全性机制。
应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图18所示,提供了一种远程诊断装置,包括:信息接收模块110、协议选择模块120、数据封装模块130、数据传输模块140和结果接收模块150,其中:
信息接收模块110,用于利用可视化界面接收诊断交互信息,诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息。
协议选择模块120,用于根据诊断任务事项的类型,从预设协议库中选择封装协议;
数据封装模块130,用于将关联身份信息和预配置信息按照所选的封装协议,进行封装打包处理,以得到一组通信数据包。
数据传输模块140,用于将通信数据包传输给车端,以使车端根据关联身份信息以及预配置信息执行相应的预配置流程,并生成执行结果。
结果接收模块150,用于接收车端反馈的执行结果。
在一个实施例中,如图19所示,提供了一种远程诊断装置,包括:数据接收模块210、数据解析模块220、身份确认模块230、任务执行模块240和结果反馈模块250,其中:
数据接收模块210,用于接收云端传输的通信数据包。
数据解析模块220,用于对通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及预配置信息。
身份确认模块230,用于根据关联身份信息,确定当前云端与车端为目标交互双方。
任务执行模块240,用于根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果。
结果反馈模块250,用于将执行结果反馈给云端。
关于远程诊断装置的具体限定可以参见上文中对于远程诊断方法的限定,在此不再赘述。上述远程诊断装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图20所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储远程诊断数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种远程诊断方法。
本领域技术人员可以理解,图20中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
利用可视化界面接收诊断交互信息,诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;根据诊断任务事项的类型,从预设协议库中选择封装协议;将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;将通信数据包传输给车端,以使车端根据关联身份信息以及预配置信息执行相应的预配置流程,并生成执行结果;接收车端反馈的执行结果。
或者,处理器执行计算机程序时实现以下步骤:
接收云端传输的通信数据包;对通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及预配置信息;根据关联身份信息,确定当前云端与车端为目标交互双方;根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果;将执行结果反馈给云端。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
利用可视化界面接收诊断交互信息,诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;根据诊断任务事项的类型,从预设协议库中选择封装协议;将关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;将通信数据包传输给车端,以使车端根据关联身份信息以及预配置信息执行相应的预配置流程,并生成执行结果;接收车端反馈的执行结果。
或者,计算机程序被处理器执行时实现以下步骤:
接收云端传输的通信数据包;对通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及预配置信息;根据关联身份信息,确定当前云端与车端为目标交互双方;根据诊断任务事项的类型和预配置信息,执行诊断任务事项的预配置流程,生成执行结果;将执行结果反馈给云端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种远程诊断方法,应用于云端,其特征在于,所述方法包括:
利用可视化界面接收诊断交互信息,所述诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;
根据所述诊断任务事项的类型,从预设协议库中选择封装协议;
将所述关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;
将所述通信数据包传输给车端,以使所述车端根据所述关联身份信息以及所述预配置信息执行相应的预配置流程,并生成执行结果;
接收所述车端反馈的执行结果;
其中,在所述接收诊断交互信息的步骤之前,包括:利用可视化界面接收至少一种诊断服务的插件工具;利用预设的校验规则,对所述插件工具进行校验处理,以确定所述插件工具符合预设安全要求,以及符合预设封装格式,以此满足当前远程诊断的动态部署要求;
当所述诊断任务事项为插件部署任务时,所述封装协议采用第一通信协议;将所述关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包的步骤,包括:
基于所确定的诊断任务事项为插件部署任务,获取至少一种插件工具,生成所述插件工具的哈希值;将所述关联身份信息、所述插件工具以及所述哈希值,按照所述第一通信协议封装处理,生成一组第一数据包,以便所述车端接收所述第一数据包后,执行所述插件部署任务的预配置流程;
所述利用预设的校验规则,对所述插件工具进行校验处理,以确定所述插件工具符合预设安全要求,以及符合预设封装格式,以此满足当前远程诊断的动态部署要求的步骤,包括:
基于预设的插件格式限制,确定所述插件工具符合预设插件格式要求;
基于所述插件工具中的签名文件满足云端的签名认证,确定当前所述插件工具符合预设安全要求;
基于所述插件工具的构成要素,确定所述插件工具包括预设的目录结构,且对应所述目录结构下配置有包括可执行文件、描述文件、配置文件、脚本文件、结果回传文件以及签名文件在内的插件资源,以满足当前远程诊断的动态部署要求。
2.根据权利要求1所述的远程诊断方法,其特征在于,当所述诊断任务事项为文件获取任务时,所述封装协议采用第二通信协议;
将所述关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包的步骤,包括:
基于所确定的诊断任务事项为文件获取任务,获取目标文件的绝对路径;
将所述关联身份信息和所述绝对路径,按照所述第二通信协议封装处理,生成一组第二数据包,以便所述车端接收所述第二数据包后,执行所述文件获取任务的预配置流程。
3.根据权利要求1所述的远程诊断方法,其特征在于,当所述诊断任务事项为诊断执行任务时,所述封装协议采用第三通信协议;
将所述关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包的步骤,包括:
基于所确定的诊断任务事项为诊断执行任务,获取诊断指令;
将所述关联身份信息和所述诊断指令,按照所述第三通信协议封装处理,生成一组第三数据包,以便所述车端接收所述第三数据包后,执行所述诊断执行任务的预配置流程。
4.一种远程诊断方法,应用于车端,其特征在于,所述方法包括:
接收云端传输的通信数据包;
对所述通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及预配置信息;
根据所述关联身份信息,确定当前云端与车端为目标交互双方;
根据所述诊断任务事项的类型和所述预配置信息,执行诊断任务事项的预配置流程,生成执行结果;
将所述执行结果反馈给所述云端;
其中,当所述诊断任务事项为插件部署任务时,所述预配置信息包括插件工具和哈希值;根据所述诊断任务事项的类型和所述预配置信息,执行诊断任务事项的预配置流程,生成执行结果的步骤,包括:
基于车端动态插件部署区域逐包接收的通信数据包,利用解析出的所述哈希值对所述通信数据包进行完整性校验;
对完整的所述通信数据包进行格式校验,以确定所述通信数据包满足车端远程诊断插件格式,获取所述插件工具;
加载并执行所述插件工具,按照所述插件部署任务的预配置流程,生成执行结果文件;
将所述执行结果文件逐包回传至所述云端。
5.根据权利要求4所述的远程诊断方法,其特征在于,所述关联身份信息至少包括车端的车辆识别码、诊断源逻辑地址;
根据所述关联身份信息,确定当前云端与车端为目标交互双方的步骤,包括:
根据所述车辆识别码确定当前车端为目标交互双方的目标车端;
根据车端预存的源地址白名单以及所述诊断源逻辑地址,确定当前云端为目标交互双方的目标云端。
6.根据权利要求5所述的远程诊断方法,其特征在于,所述关联身份信息还包括诊断目标逻辑地址;当所述诊断任务事项为诊断执行任务时,所述预配置信息包括诊断指令和所述诊断目标逻辑地址;
根据所述诊断任务事项的类型和所述预配置信息,执行诊断任务事项的预配置流程,生成执行结果的步骤,包括:
获取所述诊断目标逻辑地址,以确定所述诊断指令在车端的交互目标;
利用所述诊断指令,控制所述交互目标,执行诊断执行任务的预配置流程,生成诊断结果后,将所述诊断结果返回给所述云端。
7.根据权利要求4所述的远程诊断方法,其特征在于,当所述诊断任务事项为文件获取任务时,所述预配置信息包括目标文件的绝对路径;
根据所述诊断任务事项的类型和所述预配置信息,执行诊断任务事项的预配置流程,生成执行结果的步骤,包括:
根据所述绝对路径,访问车端的目标文件,获取所述目标文件的总大小;
基于所述目标文件的总大小和预配置的单包大小,计算总包量;
根据预配置的单包大小,提取所述目标文件的内容,并记录当前包数;
将提取的内容以及剩余包量、当前包数进行封装处理后,向所述云端返回处理进度。
8.一种远程诊断装置,其特征在于,所述装置包括:
信息接收模块,用于利用可视化界面接收诊断交互信息,所述诊断交互信息包括目标车端的关联身份信息、诊断任务事项的类型及预配置信息;其中,在所述接收诊断交互信息的步骤之前,包括:利用可视化界面接收至少一种诊断服务的插件工具;利用预设的校验规则,对所述插件工具进行校验处理,以确定所述插件工具符合预设安全要求,以及符合预设封装格式,以此满足当前远程诊断的动态部署要求;
利用预设的校验规则,对所述插件工具进行校验处理,以确定所述插件工具符合预设安全要求,以及符合预设封装格式,以此满足当前远程诊断的动态部署要求的步骤,包括:
基于预设的插件格式限制,确定所述插件工具符合预设插件格式要求;
基于所述插件工具中的签名文件满足云端的签名认证,确定当前所述插件工具符合预设安全要求;
基于所述插件工具的构成要素,确定所述插件工具包括预设的目录结构,且对应所述目录结构下配置有包括可执行文件、描述文件、配置文件、脚本文件、结果回传文件以及签名文件在内的插件资源,以满足当前远程诊断的动态部署要求;
协议选择模块,用于根据所述诊断任务事项的类型,从预设协议库中选择封装协议;
数据封装模块,用于将所述关联身份信息和预配置信息,按照所选的封装协议,进行封装打包处理,以得到一组通信数据包;其中,当所述诊断任务事项为插件部署任务时,所述封装协议采用第一通信协议;基于所确定的诊断任务事项为插件部署任务,获取至少一种插件工具,生成所述插件工具的哈希值;将所述关联身份信息、所述插件工具以及所述哈希值,按照所述第一通信协议封装处理,生成一组第一数据包,以便所述车端接收所述第一数据包后,执行所述插件部署任务的预配置流程;
数据传输模块,用于将所述通信数据包传输给车端,以使所述车端根据所述关联身份信息以及所述预配置信息执行相应的预配置流程,并生成执行结果;
结果接收模块,用于接收所述车端反馈的执行结果。
9.一种远程诊断装置,其特征在于,所述装置包括:
数据接收模块,用于接收云端传输的通信数据包;
数据解析模块,用于对所述通信数据包进行解析处理,获取关联身份信息、诊断任务事项的类型以及预配置信息;
身份确认模块,用于根据所述关联身份信息,确定当前云端与车端为目标交互双方;
任务执行模块,用于根据所述诊断任务事项的类型和所述预配置信息,执行诊断任务事项的预配置流程,生成执行结果;其中,当所述诊断任务事项为插件部署任务时,所述预配置信息包括插件工具和哈希值;根据所述诊断任务事项的类型和所述预配置信息,执行诊断任务事项的预配置流程,生成执行结果的步骤,包括:
基于车端动态插件部署区域逐包接收的通信数据包,利用解析出的所述哈希值对所述通信数据包进行完整性校验;
对完整的所述通信数据包进行格式校验,以确定所述通信数据包满足车端远程诊断插件格式,获取所述插件工具;
加载并执行所述插件工具,按照所述插件部署任务的预配置流程,生成执行结果文件;
将所述执行结果文件逐包回传至所述云端;
结果反馈模块,用于将所述执行结果反馈给所述云端。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310806024.5A CN116520815B (zh) | 2023-07-03 | 2023-07-03 | 一种远程诊断方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310806024.5A CN116520815B (zh) | 2023-07-03 | 2023-07-03 | 一种远程诊断方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116520815A CN116520815A (zh) | 2023-08-01 |
CN116520815B true CN116520815B (zh) | 2023-10-17 |
Family
ID=87406716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310806024.5A Active CN116520815B (zh) | 2023-07-03 | 2023-07-03 | 一种远程诊断方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116520815B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574869A (zh) * | 2023-10-19 | 2024-02-20 | 镁佳(北京)科技有限公司 | 自动化生成诊断应用数据包的方法、装置、设备及介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074036A (zh) * | 2016-04-21 | 2018-12-21 | 飞利浦照明控股有限公司 | 用于对物理环境的基于云的监测和控制的系统和方法 |
CN109614391A (zh) * | 2013-07-10 | 2019-04-12 | 甲骨文国际公司 | 数据库诊断界面系统 |
CN111601285A (zh) * | 2020-05-19 | 2020-08-28 | 江苏徐工工程机械研究院有限公司 | 通信方法、装置、系统和计算机可读存储介质 |
CN112162765A (zh) * | 2020-08-28 | 2021-01-01 | 深圳市元征科技股份有限公司 | 固件升级方法、上位机及存储介质 |
WO2021027570A1 (zh) * | 2019-08-14 | 2021-02-18 | 深圳壹账通智能科技有限公司 | 区块链部署方法、装置、计算机设备和存储介质 |
CN113986462A (zh) * | 2021-10-27 | 2022-01-28 | 上海星融汽车科技有限公司 | 一种基于k8s的运维系统、应用方法及存储介质 |
CN114300118A (zh) * | 2021-12-07 | 2022-04-08 | 上海客亿智能科技有限公司 | 一种在线远程会诊的辅助诊断方法、装置和电子设备 |
CN114879640A (zh) * | 2022-05-20 | 2022-08-09 | 上汽通用五菱汽车股份有限公司 | 汽车远程诊断系统、方法及计算机可读存储介质 |
CN115328092A (zh) * | 2022-08-23 | 2022-11-11 | 重庆长安汽车股份有限公司 | 一种车辆远程诊断方法、系统、电子设备及存储介质 |
CN115903758A (zh) * | 2023-01-06 | 2023-04-04 | 零束科技有限公司 | 远程诊断系统、方法、电子设备及存储介质 |
CN116009508A (zh) * | 2022-12-02 | 2023-04-25 | 中车大连机车车辆有限公司 | 一种机车柴油机phm可视化系统 |
CN116136801A (zh) * | 2021-11-12 | 2023-05-19 | 中国联合网络通信集团有限公司 | 云平台的数据处理方法、装置、电子设备及存储介质 |
WO2023109202A1 (zh) * | 2021-12-17 | 2023-06-22 | 中国银联股份有限公司 | 一种小程序插件调试方法、系统及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11379686B2 (en) * | 2017-10-09 | 2022-07-05 | Box, Inc. | Deploying data processing service plug-ins into a cloud-based collaboration platform |
-
2023
- 2023-07-03 CN CN202310806024.5A patent/CN116520815B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614391A (zh) * | 2013-07-10 | 2019-04-12 | 甲骨文国际公司 | 数据库诊断界面系统 |
CN109074036A (zh) * | 2016-04-21 | 2018-12-21 | 飞利浦照明控股有限公司 | 用于对物理环境的基于云的监测和控制的系统和方法 |
WO2021027570A1 (zh) * | 2019-08-14 | 2021-02-18 | 深圳壹账通智能科技有限公司 | 区块链部署方法、装置、计算机设备和存储介质 |
CN111601285A (zh) * | 2020-05-19 | 2020-08-28 | 江苏徐工工程机械研究院有限公司 | 通信方法、装置、系统和计算机可读存储介质 |
CN112162765A (zh) * | 2020-08-28 | 2021-01-01 | 深圳市元征科技股份有限公司 | 固件升级方法、上位机及存储介质 |
CN113986462A (zh) * | 2021-10-27 | 2022-01-28 | 上海星融汽车科技有限公司 | 一种基于k8s的运维系统、应用方法及存储介质 |
CN116136801A (zh) * | 2021-11-12 | 2023-05-19 | 中国联合网络通信集团有限公司 | 云平台的数据处理方法、装置、电子设备及存储介质 |
CN114300118A (zh) * | 2021-12-07 | 2022-04-08 | 上海客亿智能科技有限公司 | 一种在线远程会诊的辅助诊断方法、装置和电子设备 |
WO2023109202A1 (zh) * | 2021-12-17 | 2023-06-22 | 中国银联股份有限公司 | 一种小程序插件调试方法、系统及计算机可读存储介质 |
CN114879640A (zh) * | 2022-05-20 | 2022-08-09 | 上汽通用五菱汽车股份有限公司 | 汽车远程诊断系统、方法及计算机可读存储介质 |
CN115328092A (zh) * | 2022-08-23 | 2022-11-11 | 重庆长安汽车股份有限公司 | 一种车辆远程诊断方法、系统、电子设备及存储介质 |
CN116009508A (zh) * | 2022-12-02 | 2023-04-25 | 中车大连机车车辆有限公司 | 一种机车柴油机phm可视化系统 |
CN115903758A (zh) * | 2023-01-06 | 2023-04-04 | 零束科技有限公司 | 远程诊断系统、方法、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
机械设备故障诊断云服务系统设计;张宝霖;苑宇;高园园;张典;;工业控制计算机(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116520815A (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116520815B (zh) | 一种远程诊断方法、装置、计算机设备和存储介质 | |
CN111193716B (zh) | 业务数据调用方法、装置、计算机设备和存储介质 | |
US11700262B2 (en) | System and method to securely execute datacenter management operations remotely | |
CN108965203A (zh) | 一种资源访问方法及服务器 | |
CN106484611B (zh) | 基于自动化协议适配的模糊测试方法和装置 | |
CN112491659B (zh) | 一种流量回放测试方法、装置、计算机设备和存储介质 | |
CN114205342B (zh) | 服务调试的路由方法、电子设备及介质 | |
CN115118705A (zh) | 一种基于微服务的工业边缘管控平台 | |
CN113360301B (zh) | 一种消息传输系统及方法 | |
CN112652089A (zh) | 诊断方法、车辆、系统及存储介质 | |
CN112363907A (zh) | Dubbo接口的测试方法、装置、电子装置和存储介质 | |
CN113315681A (zh) | 一种基于智能家庭网关插件的自动化测试方法及系统 | |
CN112688800A (zh) | 基于脚本技术的智能电网智能设备远程维护方法和系统 | |
JP5235588B2 (ja) | 通信異常発生装置 | |
CN116016534A (zh) | 内网负载均衡调度方法、装置、存储介质及计算机设备 | |
CN115174245A (zh) | 一种基于DoIP协议检测的测试方法及系统 | |
CN115914055A (zh) | 分布式网络测试方法、装置、介质及设备 | |
CN112698817A (zh) | 基于微服务架构的消息接入方法、装置、系统及存储介质 | |
CN106101219A (zh) | 基于WebService的数据传输方法及装置 | |
JP2022538080A (ja) | 車両の車載バス上のコンピュータと対話する方法 | |
CN118245352A (zh) | 自动测试方法和装置、电子设备和存储介质 | |
CN112738032B (zh) | 一种用于防ip欺骗的通讯系统 | |
CN113626320A (zh) | Tcp接口的自动化测试方法、装置和计算机设备 | |
CN112910666B (zh) | 设备处理数据包的仿真方法、装置和计算机设备 | |
CN116743990A (zh) | 嵌入式设备的视频流测试方法和视频流测试处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A remote diagnostic method, device, computer equipment, and storage medium Granted publication date: 20231017 Pledgee: Tongxiang Science and Technology Entrepreneurship Service Center Co.,Ltd. Pledgor: United New Energy Automobile Co.,Ltd. Registration number: Y2024330000709 |