CN111354099B - 一种数据处理方法、数据处理装置及诊断设备 - Google Patents
一种数据处理方法、数据处理装置及诊断设备 Download PDFInfo
- Publication number
- CN111354099B CN111354099B CN202010120484.9A CN202010120484A CN111354099B CN 111354099 B CN111354099 B CN 111354099B CN 202010120484 A CN202010120484 A CN 202010120484A CN 111354099 B CN111354099 B CN 111354099B
- Authority
- CN
- China
- Prior art keywords
- fault code
- key
- container
- value
- current
- 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
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0808—Diagnosing performance data
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Vehicle Cleaning, Maintenance, Repair, Refitting, And Outriggers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种数据处理方法、数据处理装置、诊断设备及计算机可读存储介质,该方法包括:获取待处理故障码,其中,所述待处理故障码采用标准故障码格式表示;基于预设的关联容器,查找所述待处理故障码所对应的目标故障码,其中,所述目标故障码采用十六进制表示;根据所述目标故障码,输出待诊断车辆的故障信息。通过本申请方案,采用关联容器变量来建立采用标准故障码格式的诊断故障码和其十六进制格式之间的映射关系,可以保障车辆故障数据较多时的诊断效率。
Description
技术领域
本申请属于车辆诊断技术领域,尤其涉及一种数据处理方法、数据处理装置、诊断设备及计算机可读存储介质。
背景技术
目前对车辆进行诊断时,需要依赖车辆所上报的故障码进行诊断。故障码有着其特有的格式,在分析故障码时,往往需要先将故障码先转换为统一的十六进制,然而,现有技术中还是基于大量的分支语句对故障码进行转换,这会导致诊断代码过长,处理效率低下,影响整个诊断程序的运行效率。
发明内容
本申请提供了一种数据处理方法、数据处理装置、诊断设备及计算机可读存储介质,可保障诊断程序的运行效率。
第一方面,本申请提供了一种数据处理方法,包括:
获取待处理故障码,其中,上述待处理故障码采用标准故障码格式表示;
基于预设的关联容器,查找上述待处理故障码所对应的目标故障码,其中,上述目标故障码采用十六进制表示;
根据上述目标故障码,输出待诊断车辆的故障信息。
可选地,在上述获取待处理故障码之前,上述数据处理方法还包括:
通过预设的数据解析接口,读取上述待诊断车辆的车源文件;
基于上述车源文件获取上述待诊断车辆的故障码列表,
显示上述故障码列表。
可选地,上述获取待处理故障码,包括:
接收基于上述故障码列表输入的选择指令;
在上述选择指令的指示下,在上述故障码列表中确定待处理故障码。
可选地,上述基于预设的关联容器,查找上述待处理故障码所对应的目标故障码,包括:
将上述待处理故障码传入预设的转换函数;
上述转换函数通过预设的关联容器获得上述待处理故障码所对应的目标故障码。
可选地,在上述获取待处理故障码之前,上述数据处理方法还包括:
定义第一关联容器及第二关联容器,并根据标准故障码的前三位字符以及对应的二进制字符串为上述第一关联容器及第二关联容器赋值;
在车辆诊断接口的预处理阶段,定义第三关联容器,并基于上述第一关联容器的键值对及上述第二关联容器的键值对为上述第三关联容器赋值。
可选地,上述转换函数通过预设的关联容器获得上述待处理故障码所对应的目标故障码,包括:
上述转换函数根据上述标准故障码格式,将上述待处理故障码拆分为第一字符串及第二字符串;
上述转换函数基于上述第三关联容器,查找与上述第一字符串相关联的值作为目标字符串;
将上述目标字符串与上述第二字符串进行拼接,得到上述目标故障码。
可选地,上述通过上述第一关联容器的键值对及上述第二关联容器的键值对为上述第三关联容器赋值,包括:
内层遍历上述第一关联容器,外层遍历上述第二关联容器;
拼接当前第一键与当前第二键,作为上述第三关联容器的一个键,记为当前第三键,其中,上述当前第一键为当前遍历到的第一关联容器的键,上述当前第二键为当前遍历到的第二关联容器的键;
拼接当前第一值与当前第二值,记为当前第三值,其中,上述当前第一值为上述第一关联容器中与上述当前第一键相关联的值,上述当前第二值为上述第二关联容器中与上述当前第二键相关联的值;
将上述当前第三值转换为十六进制;
基于上述当前第三键及转换后的上述当前第三值构建上述第三关联容器的一个键值对。
第二方面,本申请提供了一种数据处理装置,包括:
获取单元,用于获取待处理故障码,其中,上述待处理故障码采用标准故障码格式表示;
查找单元,用于基于预设的关联容器,查找上述待处理故障码所对应的目标故障码,其中,上述目标故障码采用十六进制表示;
输出单元,用于根据上述目标故障码,输出待诊断车辆的故障信息。
可选地,上述数据处理装置还包括:
文件读取单元,用于在上述获取单元获取待处理故障码之前,通过预设的数据解析接口,读取上述待诊断车辆的车源文件;
列表获取单元,用于基于上述车源文件获取上述待诊断车辆的故障码列表,列表显示单元,用于显示上述故障码列表。
可选地,上述获取单元,包括:
指令接收子单元,用于接收基于上述故障码列表输入的选择指令;
故障码确定子单元,用于在上述选择指令的指示下,在上述故障码列表中确定待处理故障码。
可选地,上述查找单元,包括:
数据传入子单元,用于将上述待处理故障码传入预设的转换函数;
数据检索子单元,用于上述转换函数通过预设的关联容器获得上述待处理故障码所对应的目标故障码。
可选地,上述数据处理装置还包括:
容器第一定义子单元,用于在上述获取单元获取待处理故障码之前,定义第一关联容器及第二关联容器,并根据标准故障码的前三位字符以及对应的二进制字符串为上述第一关联容器及第二关联容器赋值;
容器第二定义子单元,在车辆诊断接口的预处理阶段,定义第三关联容器,并基于上述第一关联容器的键值对及上述第二关联容器的键值对为上述第三关联容器赋值。
可选地,上述数据检索子单元,包括:
拆分子单元,用于上述转换函数根据上述标准故障码格式,将上述待处理故障码拆分为第一字符串及第二字符串;
查找子单元,用于上述转换函数基于上述第三关联容器,查找与上述第一字符串相关联的值作为目标字符串;
拼接子单元,用于将上述目标字符串与上述第二字符串进行拼接,得到上述目标故障码。
可选地,上述容器第二定义子单元,包括:
遍历子单元,用于内层遍历上述第一关联容器,外层遍历上述第二关联容器;
键拼接子单元,用于拼接当前第一键与当前第二键,作为上述第三关联容器的一个键,记为当前第三键,其中,上述当前第一键为当前遍历到的第一关联容器的键,上述当前第二键为当前遍历到的第二关联容器的键;
值拼接子单元,用于拼接当前第一值与当前第二值,记为当前第三值,其中,上述当前第一值为上述第一关联容器中与上述当前第一键相关联的值,上述当前第二值为上述第二关联容器中与上述当前第二键相关联的值;
值转换子单元,用于将上述当前第三值转换为十六进制;
键值对构建子单元,用于基于上述当前第三键及转换后的上述当前第三值构建上述第三关联容器的一个键值对。
第三方面,本申请提供了一种诊断设备,包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述第一方面中任一项上述的数据处理方法。
第四方面,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,其特征在于,上述计算机程序被处理器执行时实现上述第一方面中任一项上述的数据处理方法。
第五方面,本申请提供了一种计算机程序产品,当计算机程序产品在诊断设备上运行时,使得诊断设备执行上述第一方面中任一项上述的数据处理方法。
由此可见,在本申请方案中,首先获取待处理故障码,其中,上述待处理故障码采用标准故障码格式表示,然后基于预设的关联容器,查找上述待处理故障码所对应的目标故障码,其中,上述目标故障码采用十六进制表示,最后根据上述目标故障码,输出待诊断车辆的故障信息。通过本申请方案,采用关联容器变量来建立标准故障码和其十六进制格式之间的映射关系,可实现对故障码的全面分析,即便在汽车故障数据较多时,也可以实现快速诊断,有效保障了诊断效率。可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据处理方法的实现流程示意图;
图2是本申请实施例提供的数据处理装置的结构框图;
图3是本申请实施例提供的诊断设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
由于采用标准故障码格式表示的诊断故障码中,有些字符为十六进制的表达,而有些却不是,因而,为了方便后续对诊断故障码的进一步分析,往往需要先将诊断故障码转换为十六进制的表达。例如,诊断故障码为“B100016”时,其故障内码为“B1000”,这其中的“B10”未采用十六进制表达,而诊断故障码的其它位的字符均为十六进制的表达,因而,需要转换的部分为“B10”。现有技术中,往往采用if…else…的分支结构来实现上述转换,这一过程较为繁琐,一定程度上影响了处理效率。基于此,本申请提出了一种数据处理方法、数据处理装置、诊断设备及计算机可读存储介质,可实现故障诊断码的快速转换,提升转换效率。
实施例一
下面对本申请实施例提供的一种数据处理方法进行描述。请参阅图1,本申请实施例中的数据处理方法可应用于诊断设备,该数据处理方法包括:
步骤101,获取待处理故障码;
在本申请实施例中,在车辆存在故障的情况下,为了实现对车辆的故障诊断,可以先获取待处理故障码,其中,该待处理故障码采用标准故障码格式表示。下面对采用标准故障码格式表示的故障码作出介绍:诊断故障码(Diagnostic Trouble Code,DTC)由DTCHighByte(Hex)、DTCMiddleByte(Hex)及DTCLowByte(Hex)组成,其中,DTCHighByte(Hex)及DTCMiddleByte(Hex)这两个字节表示故障内码,其可对应五位标准故障码。具体地,故障内码与五位标准故障码的位置对应关系如下:
诊断故障码中的后四位,也即DTCMiddleByte(Hex)及DTCLowByte(Hex)原本就是十六进制的表达。因而,本申请实施例所提出的数据处理方案所要实现的是将采用标准故障码格式的七位诊断故障码转换为十六进制的表达,以方便诊断设备进行后续进一步处理。
步骤102,基于预设的关联容器,查找上述待处理故障码所对应的目标故障码;
在本申请实施例中,上述诊断设备中预先设定有关联容器,该关联容器具体指的是映射(map)关联容器,其中,该关联容器中存储有若干个键值对,其中,上述关联容器的键值对中的键所存储的数据与五位标准故障码中特定位的字符相关,各个键所对应的值具体为该键所表示的故障码数据所对应的十六进制表达。通过上述关联容器,可以快速查找到待处理故障码的十六进制表达,该查找到的结果即为目标故障码。
具体地,本申请实施例中预先定义一个转换函数,该转换函数可表示为StandardDtc2Hex(),意为将诊断故障码(DTC)转换为十六进制(Hex)的表达,则上述步骤102可表现为:
将上述待处理故障码传入预设的转换函数;
上述转换函数通过预设的关联容器获得上述待处理故障码所对应的目标故障码。
也即,在本申请实施例中,可以将上述待处理故障码传入至上述转换函数中作为该转换函数的参数,该转换函数随之可以将传入的待处理故障码与预设的关联容器中各个键值对的键进行匹配,在查找到相匹配的键之后,该相匹配的键所关联的值即可被确定为上述待处理故障码所对应的目标故障码。可见,上述转换函数可通过调用上述预设的关联容器获得传入的待处理故障码所对应的目标故障码。
步骤103,根据上述目标故障码,输出待诊断车辆的故障信息。
在本申请实施例中,上述目标故障码是待处理故障码的十六进制表达,诊断设备可以基于此进行后续处理,例如,输出诊断车辆的故障信息等,可以是输出至诊断设备的屏幕,也可以是输出至与诊断设备绑定的客户端处,还可以是输出至预设的云端,此处不作限定。
可选地,考虑到车辆可能同一时刻存在多个故障,因而,在上述步骤101之前,上述数据处理方法还可以包括:
A1、通过预设的数据解析接口,读取上述待诊断车辆的车源文件;
A2、基于上述车源文件获取上述待诊断车辆的故障码列表,
A3、显示上述故障码列表。
其中,诊断设备可以先通过预设的数据解析接口与待诊断车辆建立连接,读取待诊断车辆的厂家所提供的包含待诊断车辆各个系统标准格式故障码的车源文件,并基于此继续获取待诊断车辆的故障码列表。上述故障码列表可以显示于诊断设备的诊断软件界面。具体地,上述故障码列表中的每一条目可以包含但不限于如下信息:标准格式的诊断故障码、故障内容及ID。考虑到故障码列表中的每一条诊断故障码都是等待分析的故障码,诊断设备可以基于上述故障码列表所呈现的诊断故障码由前至后的顺序,依次将各个诊断故障码确定为待处理故障码;当然,也可以由用户指定待处理故障码,则上述步骤101具体可表现为:
B1、接收基于上述故障码列表输入的选择指令;
B2、在上述选择指令的指示下,在上述故障码列表中确定待处理故障码。
其中,用户可以在查阅了故障码列表后自主选定本次需要分析的诊断故障码,并在故障码列表中点击该选定的诊断故障码,以向诊断设备输入选择指令,诊断设备在接收到该选择指令后,可在该选择指令的指示下,将用户所点击的诊断故障码确定为待处理故障码。
可选地,本申请实施例中所涉及到的关联容器共有三个,分别为第一关联容器、第二关联容器及第三关联容器,则上述数据处理方法还包括:
C1、定义第一关联容器及第二关联容器,并根据标准故障码的前三位字符以及对应的二进制字符串为上述第一关联容器及第二关联容器赋值;
在本申请实施例中,上述第一关联容器可表示为mapExtendFirst2BitsTo4Bits,用于表达诊断故障码的前两位字符与二进制字符串的关联关系,其键值对采用的是<string,string>的格式,也即,第一关联容器的键为字符串类型(标准故障码的前两位字符),值也为字符串类型(标准故障码的前两位字符所对应的四位二进制字符串)。上述第二关联容器可表示为mapExtendThirdBitTo4Bits,用于表达诊断故障码的第三位字符与二进制字符串的关联关系,其键值对也采用的是<string,string>的格式,也即,第二关联容器的键为字符串类型(标准故障码的第三位字符),值也为字符串类型(标准故障码的第三位字符所对应的四位二进制字符串)。需要注意的是,在定义上述第一关联容器及第二关联容器的时刻即可同时进行赋值操作,其中,对上述第一关联容器的键值对的赋值简单示例如下:
键(key) | 值(value) |
U0 | 1100 |
B1 | 1001 |
…… | …… |
表1
具体地,故障诊断码中的前两位的字符的组合共有16种,每一种组合对应有一个键值对,因而,上述第一关联容器中共有16个键值对,此处不再进行赘述。
对上述第二关联容器赋值的键值对的赋值简单示例如下:
键(key) | 值(value) |
0 | 0000 |
…… | …… |
8 | 1000 |
表2
具体地,故障诊断码中的第三位的字符的取值范围为0到8整数,共有9个数值,每一数值对应有一个键值对,因而,上述第二关联容器中共有9个键值对,此处不再进行赘述。也即,可以认为第一关联容器及第二关联容器中所包含的键值对都是预设的。
C2、在车辆诊断接口的预处理阶段,定义第三关联容器,并基于上述第一关联容器的键值对及上述第二关联容器的键值对为上述第三关联容器赋值。
在本申请实施例中,在诊断设备进入到了车辆诊断接口的预处理阶段时,才会为第三关联容器进行分值,具体地,其赋值过程是基于上述第一关联容器的键值对及上述第二关联容器的键值对而实现的,具体表现如下:
C21、内层遍历上述第一关联容器,外层遍历上述第二关联容器;
C22、拼接当前第一键与当前第二键,作为上述第三关联容器的一个键,记为当前第三键,其中,上述当前第一键为当前遍历到的第一关联容器的键,上述当前第二键为当前遍历到的第二关联容器的键;
C23、拼接当前第一值与当前第二值,记为当前第三值,其中,上述当前第一值为上述第一关联容器中与上述当前第一键相关联的值,上述当前第二值为上述第二关联容器中与上述当前第二键相关联的值;
在本申请实施例中,上述预处理阶段执行双层循环,具体为内层循环实现对第一关联容器的遍历,外层循环实现对第二关联容器的遍历。在遍历的过程中,可以将当前内层循环遍历到的键(即当前第一键)和当前外层循环遍历到的键(即当前第二键)拼接为一个新的字符串,该新的字符串被作为第三关联容器中的一个键,被记为当前第三键;同时,还将当前内层循环遍历到的值(即当前第一键所对应的值,也即当前第一值)和当前外层循环遍历到的值(即当前第一键所对应的值,也即当前第二值)拼接为一个新的二进制字符串。
C24、将上述当前第三值转换为十六进制;
在本申请实施例中,将步骤C23中拼接得到的新的二进制字符串,也即当前第三值转换为十六进制,具体为调用标准库中的二进制转十六进制的转换函数进行上述转换操作。
C25、基于上述当前第三键及转换后的上述当前第三值构建上述第三关联容器的一个键值对。
在本申请实施例中,上述步骤C22中所得到当前第三键和上述步骤C24中转换为十六进制后的当前第三值一起,构成了一对键值对,存储至第三关联容器中。通过上述步骤,在车辆诊断接口的预处理阶段,实现了对第三关联容器的赋值。后续在对待处理故障码进行分析时,直接通过预设的转换函数调用上述第三关联容器即可,也即,在对待处理故障码进行分析时,不再需要调用上述第一关联容器及第二关联容器,可以认为,上述第一关联容器及第二关联容器仅在在车辆诊断接口的预处理阶段起到了对第三关联容器进行赋值的作用。
可选地,上述步骤101具体包括:
D1、上述转换函数根据上述标准故障码格式,将上述待处理故障码拆分为第一字符串及第二字符串;
在本申请实施例中,转换函数StandardDtc2Hex()可以根据上述标准故障码格式,将传入的待处理故障码拆分为两个字符串。考虑到采用标准故障码格式的诊断故障码的后四位本来就为十六进制的表达,因而,此处具体是将传入的待处理故障码的前三位作为第一字符串,将本来就采用十六进制的后四位作为第二字符串。
D2、上述转换函数基于上述第三关联容器,查找与上述第一字符串相关联的值作为目标字符串;
在本申请实施例中,通过上述第三关联容器的赋值过程,可以知道,第三关联容器的键为诊断故障码的前三位字符表达,值为诊断故障码的前三位字符表达所对应的二进制字符串,而上述第一字符串又是待处理故障码的前三位,因而,上述转换函数可以通过该第三关联容器查找与上述第一字符串相关联的值作为目标字符串,显然,该目标字符串即为第一字符串的十六进制表达。
D3、将上述目标字符串与上述第二字符串进行拼接,得到上述目标故障码。
在本申请实施例中,将上述目标字符串与本来就位十六进制表达的第二字符串拼接到一起,所得到的即为待处理故障码的十六进制表达,也即目标故障码。
由上可见,在本申请实施例中,采用关联容器变量来建立标准故障码和其十六进制格式之间的映射关系,在需要对诊断故障码进行分析时,由转换函数将待分析的诊断故障码中的前三位拆分出来进行处理,通过关联容器变量检索出对应的十六进制表达,并重新与诊断故障码的后四位拼接起来。上述过程可实现对故障码的全面分析,还可以保障汽车故障数据较多时的诊断效率。
实施例二
本申请实施例二提供了一种数据处理装置,上述数据处理装置可集成于诊断设备。如图2所示,本申请实施例中的数据处理装置200包括:
获取单元201,用于获取待处理故障码,其中,上述待处理故障码采用标准故障码格式表示;
查找单元202,用于基于预设的关联容器,查找上述待处理故障码所对应的目标故障码,其中,上述目标故障码采用十六进制表示;
输出单元203,用于根据上述目标故障码,输出待诊断车辆的故障信息。
可选地,上述数据处理装置200还包括:
文件读取单元,用于在上述获取单元获取待处理故障码之前,通过预设的数据解析接口,读取上述待诊断车辆的车源文件;
列表获取单元,用于基于上述车源文件获取上述待诊断车辆的故障码列表,列表显示单元,用于显示上述故障码列表。
可选地,上述获取单元201,包括:
指令接收子单元,用于接收基于上述故障码列表输入的选择指令;
故障码确定子单元,用于在上述选择指令的指示下,在上述故障码列表中确定待处理故障码。
可选地,上述查找单元202,包括:
数据传入子单元,用于将上述待处理故障码传入预设的转换函数;
数据检索子单元,用于上述转换函数通过预设的关联容器获得上述待处理故障码所对应的目标故障码。
可选地,上述数据处理装置200还包括:
容器第一定义子单元,用于在上述获取单元201获取待处理故障码之前,定义第一关联容器及第二关联容器,并根据标准故障码的前三位字符以及对应的二进制字符串为上述第一关联容器及第二关联容器赋值;
容器第二定义子单元,在车辆诊断接口的预处理阶段,定义第三关联容器,并基于上述第一关联容器的键值对及上述第二关联容器的键值对为上述第三关联容器赋值。
可选地,上述数据检索子单元,包括:
拆分子单元,用于上述转换函数根据上述标准故障码格式,将上述待处理故障码拆分为第一字符串及第二字符串;
查找子单元,用于上述转换函数基于上述第三关联容器,查找与上述第一字符串相关联的值作为目标字符串;
拼接子单元,用于将上述目标字符串与上述第二字符串进行拼接,得到上述目标故障码。
可选地,上述容器第二定义子单元,包括:
遍历子单元,用于内层遍历上述第一关联容器,外层遍历上述第二关联容器;
键拼接子单元,用于拼接当前第一键与当前第二键,作为上述第三关联容器的一个键,记为当前第三键,其中,上述当前第一键为当前遍历到的第一关联容器的键,上述当前第二键为当前遍历到的第二关联容器的键;
值拼接子单元,用于拼接当前第一值与当前第二值,记为当前第三值,其中,上述当前第一值为上述第一关联容器中与上述当前第一键相关联的值,上述当前第二值为上述第二关联容器中与上述当前第二键相关联的值;
值转换子单元,用于将上述当前第三值转换为十六进制;
键值对构建子单元,用于基于上述当前第三键及转换后的上述当前第三值构建上述第三关联容器的一个键值对。
由上可见,在本申请实施例中,数据处理装置采用关联容器变量来建立标准故障码和其十六进制格式之间的映射关系,在需要对诊断故障码进行分析时,由转换函数将待分析的诊断故障码中的前三位拆分出来进行处理,通过关联容器变量检索出对应的十六进制表达,并重新与诊断故障码的后四位拼接起来。上述过程可实现对故障码的全面分析,还可以保障汽车故障数据较多时的诊断效率。
实施例三
本申请实施例三提供了一种诊断设备,请参阅图3,本申请实施例中的诊断设备3包括:存储器301,一个或多个处理器302(图3中仅示出一个)及存储在存储器301上并可在处理器上运行的计算机程序。其中:存储器301用于存储软件程序以及单元,处理器302通过运行存储在存储器301的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。具体地,处理器302通过运行存储在存储器301的上述计算机程序时实现以下步骤:
获取待处理故障码,其中,上述待处理故障码采用标准故障码格式表示;
基于预设的关联容器,查找上述待处理故障码所对应的目标故障码,其中,上述目标故障码采用十六进制表示;
根据上述目标故障码,输出待诊断车辆的故障信息。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,在上述获取待处理故障码之前,处理器302通过运行存储在存储器301的上述计算机程序时实现还以下步骤:
通过预设的数据解析接口,读取上述待诊断车辆的车源文件;
基于上述车源文件获取上述待诊断车辆的故障码列表,
显示上述故障码列表。
在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述获取待处理故障码,包括:
接收基于上述故障码列表输入的选择指令;
在上述选择指令的指示下,在上述故障码列表中确定待处理故障码。
在上述一种可能的实施方式作为基础,或者上述二种可能的实施方式作为基础,或者上述三种可能的实施方式作为基础而提供的第四种可能的实施方式中,上述基于预设的关联容器,查找上述待处理故障码所对应的目标故障码,包括:
将上述待处理故障码传入预设的转换函数;
上述转换函数通过预设的关联容器获得上述待处理故障码所对应的目标故障码。
在上述四种可能的实施方式作为基础而提供的第五种可能的实施方式中,在上述获取待处理故障码之前,处理器302通过运行存储在存储器301的上述计算机程序时实现还以下步骤:
定义第一关联容器及第二关联容器,并根据标准故障码的前三位字符以及对应的二进制字符串为上述第一关联容器及第二关联容器赋值;
在车辆诊断接口的预处理阶段,定义第三关联容器,并基于上述第一关联容器的键值对及上述第二关联容器的键值对为上述第三关联容器赋值。
在上述第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,上述转换函数通过预设的关联容器获得上述待处理故障码所对应的目标故障码,包括:
上述转换函数根据上述标准故障码格式,将上述待处理故障码拆分为第一字符串及第二字符串;
上述转换函数基于上述第三关联容器,查找与上述第一字符串相关联的值作为目标字符串;
将上述目标字符串与上述第二字符串进行拼接,得到上述目标故障码。
在上述第五种可能的实施方式作为基础而提供的第七种可能的实施方式中,上述通过上述第一关联容器的键值对及上述第二关联容器的键值对为上述第三关联容器赋值,包括:
内层遍历上述第一关联容器,外层遍历上述第二关联容器;
拼接当前第一键与当前第二键,作为上述第三关联容器的一个键,记为当前第三键,其中,上述当前第一键为当前遍历到的第一关联容器的键,上述当前第二键为当前遍历到的第二关联容器的键;
拼接当前第一值与当前第二值,记为当前第三值,其中,上述当前第一值为上述第一关联容器中与上述当前第一键相关联的值,上述当前第二值为上述第二关联容器中与上述当前第二键相关联的值;
将上述当前第三值转换为十六进制;
基于上述当前第三键及转换后的上述当前第三值构建上述第三关联容器的一个键值对。
应当理解,在本申请实施例中,所称处理器302可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器301可以包括只读存储器和随机存取存储器,并向处理器302提供指令和数据。存储器301的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器301还可以存储设备类别的信息。
由上可见,在本申请实施例中,诊断设备采用关联容器变量来建立标准故障码和其十六进制格式之间的映射关系,在需要对诊断故障码进行分析时,由转换函数将待分析的诊断故障码中的前三位拆分出来进行处理,通过关联容器变量检索出对应的十六进制表达,并重新与诊断故障码的后四位拼接起来。上述过程可实现对故障码的全面分析,还可以保障汽车故障数据较多时的诊断效率。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (6)
1.一种数据处理方法,其特征在于,包括:
通过预设的数据解析接口,读取待诊断车辆的车源文件;
基于所述车源文件获取所述待诊断车辆的故障码列表,
显示所述故障码列表;
获取待处理故障码,其中,所述待处理故障码采用标准故障码格式表示;所述获取待处理故障码,包括:接收基于所述故障码列表输入的选择指令;所述选择指令由用户在所述故障码列表中选定本次需要分析的诊断故障码后向诊断设备输入;在所述选择指令的指示下,在所述故障码列表中确定待处理故障码;
基于预设的关联容器,查找所述待处理故障码所对应的目标故障码,其中,所述目标故障码采用十六进制表示;所述关联容器中存储有若干个键值对,其中,所述关联容器的键值对中的键所存储的数据与所述待处理故障码特定位的字符相关,各个键所对应的值具体为该键所表示的故障码数据所对应的十六进制表达;
根据所述目标故障码,输出所述待诊断车辆的故障信息;
在所述获取待处理故障码之前,所述数据处理方法还包括:
定义第一关联容器及第二关联容器,并根据标准故障码的前三位字符以及对应的二进制字符串为所述第一关联容器及第二关联容器赋值;
在车辆诊断接口的预处理阶段,定义第三关联容器,并基于所述第一关联容器的键值对及所述第二关联容器的键值对为所述第三关联容器赋值;
所述基于所述第一关联容器的键值对及所述第二关联容器的键值对为所述第三关联容器赋值,包括:
内层遍历所述第一关联容器,外层遍历所述第二关联容器;
拼接当前第一键与当前第二键,作为所述第三关联容器的一个键,记为当前第三键,其中,所述当前第一键为当前遍历到的第一关联容器的键,所述当前第二键为当前遍历到的第二关联容器的键;
拼接当前第一值与当前第二值,记为当前第三值,其中,所述当前第一值为所述第一关联容器中与所述当前第一键相关联的值,所述当前第二值为所述第二关联容器中与所述当前第二键相关联的值;
将所述当前第三值转换为十六进制;
基于所述当前第三键及转换后的所述当前第三值构建所述第三关联容器的一个键值对。
2.如权利要求1所述的数据处理方法,其特征在于,所述基于预设的关联容器,查找所述待处理故障码所对应的目标故障码,包括:
将所述待处理故障码传入预设的转换函数;
所述转换函数通过预设的关联容器获得所述待处理故障码所对应的目标故障码。
3.如权利要求2所述的数据处理方法,其特征在于,所述转换函数通过预设的关联容器获得所述待处理故障码所对应的目标故障码,包括:
所述转换函数根据所述标准故障码格式,将所述待处理故障码拆分为第一字符串及第二字符串;
所述转换函数基于所述第三关联容器,查找与所述第一字符串相关联的值作为目标字符串;
将所述目标字符串与所述第二字符串进行拼接,得到所述目标故障码。
4.一种数据处理装置,其特征在于,包括:
文件读取单元,用于通过预设的数据解析接口,读取待诊断车辆的车源文件;
列表获取单元,用于基于所述车源文件获取所述待诊断车辆的故障码列表;
列表显示单元,用于显示所述故障码列表;获取单元,用于获取待处理故障码,其中,所述待处理故障码采用标准故障码格式表示;所述获取单元,包括:指令接收子单元,用于接收基于所述故障码列表输入的选择指令;所述选择指令由用户在所述故障码列表中选定本次需要分析的诊断故障码后向诊断设备输入;故障码确定子单元,用于在所述选择指令的指示下,在所述故障码列表中确定待处理故障码;
查找单元,用于基于预设的关联容器,查找所述待处理故障码所对应的目标故障码,其中,所述目标故障码采用十六进制表示;所述关联容器中存储有若干个键值对,其中,所述关联容器的键值对中的键所存储的数据与所述待处理故障码特定位的字符相关,各个键所对应的值具体为该键所表示的故障码数据所对应的十六进制表达;输出单元,用于根据所述目标故障码,输出所述待诊断车辆的故障信息;
容器第一定义子单元,用于在所述获取单元获取待处理故障码之前,定义第一关联容器及第二关联容器,并根据标准故障码的前三位字符以及对应的二进制字符串为所述第一关联容器及第二关联容器赋值;
容器第二定义子单元,在车辆诊断接口的预处理阶段,定义第三关联容器,并基于所述第一关联容器的键值对及所述第二关联容器的键值对为所述第三关联容器赋值;
所述容器第二定义子单元,包括:
遍历子单元,用于内层遍历所述第一关联容器,外层遍历所述第二关联容器;
键拼接子单元,用于拼接当前第一键与当前第二键,作为所述第三关联容器的一个键,记为当前第三键,其中,所述当前第一键为当前遍历到的第一关联容器的键,所述当前第二键为当前遍历到的第二关联容器的键;
值拼接子单元,用于拼接当前第一值与当前第二值,记为当前第三值,其中,所述当前第一值为所述第一关联容器中与所述当前第一键相关联的值,所述当前第二值为所述第二关联容器中与所述当前第二键相关联的值;
值转换子单元,用于将所述当前第三值转换为十六进制;
键值对构建子单元,用于基于所述当前第三键及转换后的所述当前第三值构建所述第三关联容器的一个键值对。
5.一种诊断设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述的方法。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010120484.9A CN111354099B (zh) | 2020-02-26 | 2020-02-26 | 一种数据处理方法、数据处理装置及诊断设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010120484.9A CN111354099B (zh) | 2020-02-26 | 2020-02-26 | 一种数据处理方法、数据处理装置及诊断设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111354099A CN111354099A (zh) | 2020-06-30 |
CN111354099B true CN111354099B (zh) | 2022-10-21 |
Family
ID=71197266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010120484.9A Active CN111354099B (zh) | 2020-02-26 | 2020-02-26 | 一种数据处理方法、数据处理装置及诊断设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111354099B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966081A (zh) * | 2020-09-02 | 2020-11-20 | 上海博泰悦臻网络技术服务有限公司 | 基于车载显示的故障诊断方法、系统、介质、设备及车辆 |
CN112180898B (zh) * | 2020-09-27 | 2022-04-19 | 深圳市元征科技股份有限公司 | 参数位置确定方法、装置、设备及存储介质 |
CN112949258A (zh) * | 2021-02-25 | 2021-06-11 | 深圳市元征科技股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN114326659A (zh) * | 2021-12-10 | 2022-04-12 | 重庆金康赛力斯新能源汽车设计院有限公司 | 一种汽车电子控制单元故障诊断系统及方法 |
CN114710479B (zh) * | 2022-03-31 | 2023-12-01 | 三一电动车科技有限公司 | 故障诊断方法、装置及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005008632A2 (en) * | 2003-07-09 | 2005-01-27 | U.S. Environmental Protection Agency | Vehicle on-board reporting system for state emissions test |
US7640497B1 (en) * | 2003-12-22 | 2009-12-29 | Apple Inc. | Transforming a hierarchical data structure according to requirements specified in a transformation template |
US7953530B1 (en) * | 2006-06-08 | 2011-05-31 | Pederson Neal R | Vehicle diagnostic tool |
CN104007938B (zh) * | 2014-05-29 | 2017-04-05 | 华为技术有限公司 | 在存储网络中的键值生成方法及装置 |
CN106708019B (zh) * | 2016-12-30 | 2019-12-27 | 上海华兴数字科技有限公司 | 一种故障显示系统 |
CN108132663A (zh) * | 2017-12-19 | 2018-06-08 | 风度(常州)汽车研发院有限公司 | 车辆故障信息的解析方法、装置和系统 |
-
2020
- 2020-02-26 CN CN202010120484.9A patent/CN111354099B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111354099A (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111354099B (zh) | 一种数据处理方法、数据处理装置及诊断设备 | |
EP3767483A1 (en) | Method, device, system, and server for image retrieval, and storage medium | |
US10838963B2 (en) | Optimized access for hierarchical low cardinality value synopsis in analytical databases | |
CN109800258A (zh) | 数据文件部署方法、装置、计算机设备及存储介质 | |
CN113760839A (zh) | 日志数据压缩处理方法、装置、电子设备和存储介质 | |
CN110554877A (zh) | 一种json数据解析方法、装置、设备及储存介质 | |
CN111506608A (zh) | 一种结构化文本的比较方法和装置 | |
CN111143359A (zh) | 查询语句生成方法及装置 | |
CN115269006A (zh) | 机器码指令转换方法、装置、电子设备及可读存储介质 | |
CN110795069A (zh) | 代码分析方法、智能终端及计算机可读存储介质 | |
CN114265860A (zh) | 执行语句的识别方法及装置 | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN113760894A (zh) | 数据调取方法、装置、电子设备及存储介质 | |
CN116150194A (zh) | 数据获取方法、装置、电子设备和计算机可读介质 | |
CN116127154A (zh) | 知识标签推荐方法、装置、电子设备及存储介质 | |
CN113821211B (zh) | 命令解析方法、装置、存储介质和计算机设备 | |
CN114995719A (zh) | 列表渲染方法、装置、设备以及存储介质 | |
US20230214394A1 (en) | Data search method and apparatus, electronic device and storage medium | |
CN116737762B (zh) | 结构化查询语句生成方法、装置和计算机可读介质 | |
CN114338187B (zh) | 基于决策树的终端安全检测方法及装置 | |
CN113900895B (zh) | 信息处理方法、信息处理装置、存储介质与电子设备 | |
CN114003211A (zh) | 一种太阳码的生成及解析方法、装置、电子设备及介质 | |
CN115292183A (zh) | 一种自动生成功能覆盖率的方法、装置、设备及可读介质 | |
CN114218255A (zh) | Dsl语句生成方法、装置、系统及计算机可读存储介质 | |
CN114676289A (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 |