CN110909522B - 一种数据处理方法、装置和电子设备及介质 - Google Patents
一种数据处理方法、装置和电子设备及介质 Download PDFInfo
- Publication number
- CN110909522B CN110909522B CN201911158782.0A CN201911158782A CN110909522B CN 110909522 B CN110909522 B CN 110909522B CN 201911158782 A CN201911158782 A CN 201911158782A CN 110909522 B CN110909522 B CN 110909522B
- Authority
- CN
- China
- Prior art keywords
- value
- current
- target
- data stream
- attribute value
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种数据处理方法、数据处理装置、电子设备和计算机可读存储介质,该方法包括:获取目标设备发送的当前数据流,并将当前数据流对应的信息存储至类对象中,其中,当前数据流对应的信息包括当前数值;调用类对象中的pair类型对象的第二属性值,并根据第二属性值确定目标范围,判断当前数值是否在目标范围内;若在目标范围内,则发出提示信息;若不在目标范围内,则处理下一条数据流。本申请利用类对象存储当前数据流对应的信息,在类对象中的pair类型对象中存储有解析汽车源文件得到第二属性值,在进行预警判断时判断当前数值是否在目标范围内,通过本方案的技术手段使用户在实际操作过程中响应迅速,数据处理效率高。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种数据处理方法、数据处理装置、电子设备和计算机可读存储介质。
背景技术
相关技术在涉及数据对比时,将源文件中的参考数据调用字符串转数字的函数,需要在用户等待数据对比结果的过程中,反复对每一条数据流调用字符串转数字的函数,先将需要对比的数据流的目标值转换为符合当前数据流进制要求和类型要求的相应数字,由于涉及到不同的进制转换和数字类型,需要采取分支判断的编程方式去实现,以确保所有进制的各种类型数据都能正确转换。因此,在对大数据的循环数据对比处理过程中,不断重复这些分支语句,将会产生巨大的执行效率问题。而这个复杂的数据处理环节是在用户界面等待响应的过程中执行的,等待时间过长会严重影响用户体验。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本申请的目的是提供一种数据处理方法、数据处理装置、电子设备和计算机可读存储介质,能够提高处理效率,改善客户体验。其具体方案如下:
第一方面,本申请公开了一种数据处理方法,包括:
获取目标设备发送的当前数据流,并将所述当前数据流对应的信息存储至类对象中,其中,所述当前数据流对应的信息包括当前数值;
调用所述类对象中的pair类型对象的第二属性值,并根据所述第二属性值确定目标范围,判断所述当前数值是否在所述目标范围内;
若在所述目标范围内,则发出提示信息;
若不在所述目标范围内,则处理下一条数据流。
优选地,所述获取目标设备发送的当前数据流,包括:
获取目标指令;
根据所述目标指令,获取所述目标设备发送的所述当前数据流。
优选地,所述类对象建立的过程包括:
定义所述类对象,在所述类对象中定义一个pair类型对象;
获取源文件的采用不同进制的字符串表示的目标数据;
将所述字符串存储至所述pair类型对象的第一属性值中,其中,所述pair类型对象是键值对包括所述第一属性值和所述第二属性值的类对象;
调用将所述字符串转换成无符号长整型数的函数,将所述第一属性值转化成目标进制对应的数值,并将所述数值存储至所述第二属性值中。
优选地,所述类对象中包括多种变量,其中所述变量包括数据流ID、内容、单位、目标值、数据类型、当前内部值、当前物理值。
优选地,所述当前数值是所述当前内部值;
对应的,所述调用将所述字符串转换成无符号长整型数的函数,将所述第一属性值转化成目标进制对应的数值,包括:
根据所述当前内部值的所述目标进制、数字类型,调用将所述字符串转换成无符号长整型数的所述函数,将第一属性值转化成目标进制对应的数值。
优选地,所述当前数值是所述当前物理值;
对应的,所述调用将所述字符串转换成无符号长整型数的函数,将所述第一属性值转化成目标进制对应的数值,包括:
根据所述当前内部值、所述当前物理值的所述目标进制、数字类型,调用将所述字符串转换成无符号长整型数的所述函数,将第一属性值转化成目标进制对应的数值。
优选地,所述目标进制为十六进制。
第二方面,本申请公开了一种数据处理装置,包括:
信息存储模块,用于获取目标设备发送的当前数据流,并将所述当前数据流对应的信息存储至类对象中,其中,所述当前数据流对应的信息包括当前数值;
判断模块,用于调用所述类对象中的pair类型对象的第二属性值,并根据所述第二属性值确定目标范围,判断所述当前数值是否在所述目标范围内;
提示模块,用于若在所述目标范围内,则发出提示信息;
处理模块,用于若不在所述目标范围内,则处理下一条数据流。
优选地,所述信息存储模块,包括:
第一获取单元,用于获取目标指令;
第二获取单元,用于根据所述目标指令,获取所述目标设备发送的所述当前数据流。
优选地,所述类对象建立的过程包括:
定义模块,用于定义所述类对象,在所述类对象中定义一个pair类型对象;
诊断数据获取模块,用于获取源文件的采用不同进制的字符串表示的目标数据;
第一属性值存储模块,用于将所述字符串存储至所述pair类型对象的第一属性值中,其中,所述pair类型对象是键值对包括所述第一属性值和所述第二属性值的类对象;
转换模块,用于调用将所述字符串转换成无符号长整型数的函数,将所述第一属性值转化成目标进制对应的数值,并将所述数值存储至所述第二属性值中。
优选地,所述类对象中包括多种变量,其中所述变量包括数据流ID、内容、单位、目标值、数据类型、当前内部值、当前物理值。
优选地,所述当前数值是所述当前内部值;
对应的,所述转换模块,包括:
第一转换单元,用于根据所述当前内部值的所述目标进制、数字类型,调用将所述字符串转换成无符号长整型数的所述函数,将第一属性值转化成目标进制对应的数值。
优选地,所述当前数值是所述当前物理值;
对应的,所述转换模块,包括:
第二转换单元,用于根据所述当前内部值、所述当前物理值的所述目标进制、数字类型,调用将所述字符串转换成无符号长整型数的所述函数,将第一属性值转化成目标进制对应的数值。
优选地,所述目标进制为十六进制。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如下步骤:
获取目标设备发送的当前数据流,并将所述当前数据流对应的信息存储至类对象中,其中,所述当前数据流对应的信息包括当前数值;调用所述类对象中的pair类型对象的第二属性值,并根据所述第二属性值确定目标范围,判断所述当前数值是否在所述目标范围内;若在所述目标范围内,则发出提示信息;若不在所述目标范围内,则处理下一条数据流。
可选的,所述处理器执行所述存储器中保存的计算机子程序时,可以具体实现以下步骤:获取目标指令;根据所述目标指令,获取所述目标设备发送的所述当前数据流。
可选的,所述处理器执行所述存储器中保存的计算机子程序时,可以具体实现以下步骤:定义所述类对象,在所述类对象中定义一个pair类型对象;获取源文件的采用不同进制的字符串表示的目标数据;将所述字符串存储至所述pair类型对象的第一属性值中,其中,所述pair类型对象是键值对包括所述第一属性值和所述第二属性值的类对象;调用将所述字符串转换成无符号长整型数的函数,将所述第一属性值转化成目标进制对应的数值,并将所述数值存储至所述第二属性值中。
可选的,所述处理器执行所述存储器中保存的计算机子程序时,可以具体实现以下步骤:所述当前数值是所述当前内部值;根据所述当前内部值的所述目标进制、数字类型,调用将所述字符串转换成无符号长整型数的所述函数,将第一属性值转化成目标进制对应的数值。
可选的,所述处理器执行所述存储器中保存的计算机子程序时,可以具体实现以下步骤:所述当前数值是所述当前物理值,根据所述当前内部值、所述当前物理值的所述目标进制、数字类型,调用将所述字符串转换成无符号长整型数的所述函数,将第一属性值转化成目标进制对应的数值。
第四方面,本申请公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
获取目标设备发送的当前数据流,并将所述当前数据流对应的信息存储至类对象中,其中,所述当前数据流对应的信息包括当前数值;调用所述类对象中的pair类型对象的第二属性值,并根据所述第二属性值确定目标范围,判断所述当前数值是否在所述目标范围内;若在所述目标范围内,则发出提示信息;若不在所述目标范围内,则处理下一条数据流。
可选的,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:获取目标指令;根据所述目标指令,获取所述目标设备发送的所述当前数据流。
可选的,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:定义所述类对象,在所述类对象中定义一个pair类型对象;获取源文件的采用不同进制的字符串表示的目标数据;将所述字符串存储至所述pair类型对象的第一属性值中,其中,所述pair类型对象是键值对包括所述第一属性值和所述第二属性值的类对象;调用将所述字符串转换成无符号长整型数的函数,将所述第一属性值转化成目标进制对应的数值,并将所述数值存储至所述第二属性值中。
可选的,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:所述当前数值是所述当前内部值;根据所述当前内部值的所述目标进制、数字类型,调用将所述字符串转换成无符号长整型数的所述函数,将第一属性值转化成目标进制对应的数值。
可选的,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:所述当前数值是所述当前物理值,根据所述当前内部值、所述当前物理值的所述目标进制、数字类型,调用将所述字符串转换成无符号长整型数的所述函数,将第一属性值转化成目标进制对应的数值。
本申请提供一种数据处理方法,包括:获取目标设备发送的当前数据流,并将当前数据流对应的信息存储至类对象中,其中,当前数据流对应的信息包括当前数值;调用类对象中的pair类型对象的第二属性值,并根据第二属性值确定目标范围,判断当前数值是否在目标范围内;若在目标范围内,则发出提示信息;若不在目标范围内,则处理下一条数据流。
可见,本申请利用类对象存储当前数据流对应的信息,在类对象中的pair类型对象中存储有解析源文件得到第二属性值,在进行预警判断时判断当前数值是否在基于第二属性值得到的目标范围内,通过本方案的技术手段使用户在实际操作过程中响应迅速,数据处理效率高。本申请同时还提供了一种数据处理装置、电子设备和计算机可读存储介质,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种数据处理方法的流程图;
图2为本申请实施例所提供的另一种数据处理方法的流程图;
图3为本申请实施例所提供的一种类对象建立方法的流程图;
图4为本申请实施例所提供的一种具体的数据处理方法的流程图;
图5为本申请实施例提供的一种数据处理装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构图;
图7为本申请实施例提供的另一种电子设备的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术在涉及数据对比时,将源文件中的参考数据调用字符串转数字的函数,需要在用户等待数据对比结果的过程中,反复对每一条数据流调用字符串转数字的函数,先将需要对比的数据流的目标值转换为符合当前数据流进制要求和类型要求的相应数字,由于涉及到不同的进制转换和数字类型,需要采取分支判断的编程方式去实现,以确保所有进制的各种类型数据都能正确转换。因此,在对大数据的循环数据对比处理过程中,不断重复这些分支语句,将会产生巨大的执行效率问题。而这个复杂的数据处理环节是在用户界面等待响应的过程中执行的,等待时间过长会严重影响用户体验。基于上述技术问题,本实施例提供一种数据处理方法,具体请参考图1,图1为本申请实施例所提供的一种数据处理方法的流程图,具体包括:
S101、获取目标设备发送的当前数据流,并将当前数据流对应的信息存储至类对象中,其中,当前数据流对应的信息包括当前数值。
具体的,针对不同实际数据即当前数值与目标值进行比较,确定是否在目标值对应的目标范围内,不同的目标设备发送的数据流不同,当前数据流对应的信息包括但是不限定于转速、温度、压强。本实施例中不对目标设备进行限定,用户可自定义设置,可以是车辆中的ECU,可以是实验设备的处理器,还可以是家用电器的处理器。目标设备发送的当前数据流是第一进制数据,进一步将其识别为对应的第二进制数据。
获取到目标设备发送的当前数据流后,将当前数据流对应的信息存储至类对象中,其中,类对象是定义的一个存储数据流相关信息的类ODXDataStream,类对象中定义了包含当前数据流所有相关信息的各种变量,例如,当前数据流ID,当前数据流内容,单位,目标值(范围边界值包括最大值和最小值),数字类型(小数,自然数,整数),进制类型,算法,当前数值,其中当前数值包括当前内部值或当前物理值;当前内部值是目标设备跟与目标设备对应的设备实时通讯交互获得的十六进制数值。类对象中定义了一个键值对为<string,int>的pair类型对象pair Multiary2Decimal来存储目标值数据,其中string作为第一属性值,为车源文件中解析到的一条支持多进制、多种数字类型的数据流目标值的字符串;int作为第二属性值,为该字符串根据当前数据流的进制、数字类型和算法反向计算求出的相应目标进制的整数值,其中目标进制可以是十六进制,也可以是十进制。其中,当前物理值是当前内部值根据当前数据流的算法、数字类型和进制类型计算出来的结果,与当前数据流的单位一起构成一条具备物理意义的数据,比如,以汽车为例,在进行诊断数据预警时,一条胎压的数据流,当前物理值5K pa,一条车内温度的数据流当前物理值25.3℃等等,用户诊断软件界面显示的就是一条条的数据流的这些物理值,其中,当前数据流的目标值数据对应的第一属性值是当前数据流的最大或最小物理值的字符串形式。
可以理解的是,本实施例中通过定义数据流类即类对象来存储解析到的车源文件数据流,不直接定义字符串来存储多进制、多种数字类型的目标值,而是定义一个键值对的pair类型对象pair Multiary2Decimal,其中,string变量用来存储源文件一条数据流中多进制、多种数字类型的目标值的字符串,int变量用来存储当前数据流的目标值的字符串根据当前数据流的进制、数字类型和算法反向计算求出的相应目标进制整数值,此过程与目标设备得到反馈得到的目标进制数字计算当前数值的方式相反,这个反向求出目标进制数值其实就是该目标值对应的当前数值。数据流的目标值对比环节,调用当前数据流类对象内部pair对象的第二属性值,直接取得目标进制整数目标值跟当前数据流的当前内部值进行对比,整个业务处理过程需要执行的数据处理环节比之前减少,而且数据处理环节提前放在解析源文件的存储过程完成,所以目标值对比过程几乎无用户等待时间的损耗。同理,当前数值还可以是当前物理值,具体的本实施例不再进行赘述。可以理解的是,针对不同的目标设备具有不同的源文件,例如,当目标设备是车辆中的ECU时,则源文件是汽车源文件;当目标设备是实验设备的处理器,则源文件是实验设备源文件;当目标设备是家用电器的处理器时,则源文件是家用电器源文件。
S102、调用类对象中的pair类型对象的第二属性值,并根据第二属性值确定目标范围,判断所述当前数值是否在目标范围内。
在对所有这些多进制、多种类型的数据流目标值和数据流的当前数值进行对比的环节,调用每一条数据流类对象内部的pair类型对象的第二属性值获取到的目标进制整数值直接跟当前数据流的当前数值对比。
第二属性值可以是包括最大值和或最小值,得到对应的目标范围,例如,第二属性值包括最小值a时,目标范围为大于最小值a的数据范围,或者第二属性值包括最大值b时,目标范围为小于最大值b的数据范围;当第二属性值包括最大值和最小值时,目标范围为最大值和最小值之间的数据范围,当然,还可以有其他形式,用户可自定义设置。
对于软件操作,直接在用户交互界面处理数据(如循环转换进制和数字类型、判断比较等等)效率上会直接影响到客户的体验,由于源文件的解析模块不直接呈现给客户界面,本申请在解析环节对诊断数据加工处理的操作例如,本实施例中的根据当前数据流的进制、数字类型和算法反向计算求出相应目标进制整数值,不会影响到客户体验;同时,由于本申请采用pair类型对象源字符串跟其对应的目标进制当前数值直接绑定存储的方式,所以在诊断数据的目标值对比环节无任何开销,客户操作响应迅速,编码工程同样简洁高效。
具体的,若在目标范围内,则执行S103,若不在目标范围内,则执行步骤S104。
S103、发出提示信息。
在本实施例中,发出提示信息的方式包括但是不限定于:在诊断界面显示提示信息、发出声提示。
其中,声提示可以是发出蜂鸣声,还可以是语音播报的形式,蜂鸣声可以根据超出目标范围大小设置不同的声音强度和频率,只要是能够实现本实施例的目的即可。例如,以温度为例,当温度超过目标范围后,按照预设温度梯度设置蜂鸣声的声音强度和频率,例如,在第一梯度内,蜂鸣声是第一声音强度和第一声音频率;在第二梯度内,蜂鸣声是第二声音强度和第二声音频率;在第三梯度内,蜂鸣声是第三声音强度和第三声音频率,声音强度达到最高强度,声音频率达到最高频率后,不再变化。在诊断界面显示提示信息中,提示信息包括预警符号和当前数值与目标值范围,以便用户及时调整。发出提示信息,以便用户及时了解当前设备的当前的运行预警信息。
S104、处理下一条数据流。
其中,处理下一条数据流,对下一条数据流进行数据处理。
基于上述技术方案,本实施例利用类对象存储当前数据流对应的信息,在类对象中的pair类型对象中存储有解析源文件得到第二属性值,在进行预警判断时判断当前数值是否在基于第二属性值得到的目标范围内,通过本方案的技术手段使用户在实际操作过程中响应迅速,数据处理效率高。
基于上述实施方式,本实施例提供另一种数据处理方法,具体请参考图2,图2为本申请实施例所提供的另一种数据处理方法的流程图,包括:
S201、获取目标指令。
用户在数据对比界面,选择需要进行对比的对比项目,其中,该对比项目的数量可以是一个还可以是多个,选择完成后生成目标指令,其中,目标指令包括目标设备、诊断项目。
S202、根据目标指令,获取目标设备发送的当前数据流,并将当前数据流对应的信息存储至类对象中,其中,当前数据流对应的信息包括当前数值。
系统发送目标指令,依次获取目标设备发送的当前数据流,当处理完成一个数据对比后,再进行下一个数据流的对比。
S203、调用类对象中的pair类型对象的第二属性值,并根据第二属性值确定目标范围,判断所述当前数值是否在目标范围内。
S204、若在目标范围内,则发出提示信息。
S205、若不在目标范围内,则处理下一条数据流。
基于上述技术方案,本实施例通过获取用户发送的目标指令,然后根据目标指令依次完成对多个数据流的数据处理,避免了相关技术中逐条发送命令的繁琐,极大地改善了用户体验。
本申请提供一种类对象建立的过程,具体请参考图3,图3为本申请实施例所提供的一种类对象建立方法的流程图,包括:
S301、定义类对象,在类对象中定义一个pair类型对象。
本实施例中,在解析源文件中采用多进制、多种数字类型的字符串表达的数据流目标值数据时,定义一个ODXDataStream数据流类,在类对象中定义一个键值对为<string,int>的pair类型对象pair Multiary2Decimal来存储这些目标值数据,其中,string为源文件中解析到的一条支持多进制、多种数字类型的数据流目标值的字符串,int为该字符串根据当前数据流的进制、数字类型和算法反向计算求出的相应目标进制整数值。以汽车诊断为例,基于ODX2.2.0ISO标准协议的汽车诊断接口中,在解析汽车制造商提供的车源文件中采用多进制、多种数字类型的字符串表达的数据流目标值数据即预警值数据时,定义一个ODXDataStream数据流类,在类对象中定义一个键值对为<string,int>的pair类型对象pair Multiary2Decimal来存储这些目标值数据,其中,string为车源文件中解析到的一条支持多进制、多种数字类型的数据流目标值的字符串,int为该字符串根据当前数据流的进制、数字类型和算法反向计算求出的相应目标进制整数值。
S302、获取源文件的采用不同进制的字符串表示的目标数据。
在解析源文件过程中,每条数据流相关的信息都存储到一个ODXDataStream的对象中。其中,目标数据是以字符串的形式表示。
在实车监测数据环节,在一种可实现的实施方式中,将获取到的与目标设备对应的设备回复的数据流的内部值结合算法、进制类型和数字类型等参数,运算得到数据流的当前物理值;然后根据当前数据流的数字类型,调用C++标准库中的字符串转数字的函数,比如小数调用strtof()函数,整数调用strtoul()函数,其中调用strtoul()函数转换整数时要配置进制参数用以将相应进制的字符串转换为对应的数字,根据当前数据流的进制和数字类型将目标值字符串转换成相应数字,再和当前物理值进行比较;在另一种可实现的实施方式中,获取到的汽车回复的数据流的当前内部值,然后根据当前数据流的数字类型,调用C++标准库中的字符串转数字的函数,比如小数调用strtof()函数,整数调用strtoul()函数,其中调用strtoul()函数转换整数时要配置进制参数用以将相应进制的字符串转换为对应的数字,十六进制字符串“F18A”调用为strtoul(“F18A”,16)),根据当前数据流的进制和数字类型将目标值字符串转换成相应数字,再和当前内部值进行比较。
当应用于车辆时,在解析汽车源文件数据环节,将每条数据流相关的信息都存储到一个ODXDataStream的对象中。在实车监测数据环节,在一种可实现的实施方式中,将获取到的汽车回复的数据流的内部值结合算法、进制类型和数字类型等参数,运算得到数据流的当前物理值;然后根据当前数据流的数字类型,调用C++标准库中的字符串转数字的函数,比如小数调用strtof()函数,整数调用strtoul()函数,其中调用strtoul()函数转换整数时要配置进制参数用以将相应进制的字符串转换为对应的数字(比如二进制字符串“1101”调用为strtoul(“1101”,2),十六进制字符串“F18A”调用为strtoul(“F18A”,16)),根据当前数据流的进制和数字类型将目标值字符串转换成相应数字,再和当前物理值进行比较;在另一种可实现的实施方式中,获取到的汽车回复的数据流的当前内部值,然后根据当前数据流的数字类型,调用C++标准库中的字符串转数字的函数,比如小数调用strtof()函数,整数调用strtoul()函数,其中调用strtoul()函数转换整数时要配置进制参数用以将相应进制的字符串转换为对应的数字(比如二进制字符串“1101”调用为strtoul(“1101”,2),十六进制字符串“F18A”调用为strtoul(“F18A”,16)),根据当前数据流的进制和数字类型将目标值字符串转换成相应数字,再和当前内部值进行比较。
S303、将字符串存储至pair类型对象的第一属性值中,其中,pair类型对象是键值对包括第一属性值和第二属性值的类对象。
S304、调用将字符串转换成无符号长整型数的函数,将第一属性值转化成目标进制对应的数值,并将数值存储至第二属性值中。
其中,类对象中包括多种变量,其中变量包括数据流ID、内容、单位、目标值、数据类型、当前数值,其中当前数值是内部值或当前物理值。
可见,本实施例中通过定义数据流类即类对象来存储解析到的源文件数据流,不直接定义字符串来存储多进制、多种数字类型的目标值,而是定义一个键值对的pair类型对象pair Multiary2Decimal,其中,string变量用来存储源文件一条数据流中多进制、多种数字类型的目标值的字符串,int变量用来存储当前数据流目标值的字符串根据当前数据流的进制、数字类型和算法反向计算求出的相应目标进制整数值,此过程与目标设备得到反馈得到的目标进制数字计算当前数值的方式相反,这个反向求出目标进制数值其实就是该目标值物理值对应的内部值。数据流目标值对比环节,调用当前数据流类对象内部pair对象的第二属性值,直接取得目标进制整数目标值跟当前数据流的当前内部值进行对比,整个业务处理过程需要执行的数据处理环节比之前减少,而且数据处理环节提前放在解析汽车源文件的存储过程完成,所以目标值对比过程几乎无用户等待时间的损耗。
在一种可实现的实施方式中,当前数值是当前物理值;对应的,调用将字符串转换成无符号长整型数的函数,将第一属性值转化成目标进制对应的数值,包括:根据当前内部值、当前物理值的目标进制、数字类型,调用将字符串转换成无符号长整型数的函数,将第一属性值转化成目标进制对应的数值。
可见当前物理值是基于当前内部值转换得到的数据,此时需要将第一属性值转换成与当前内部值对应的数值,相较于相关技术,提高了数据处理效率。
在一种可实现的实施方式中,当前数值是当前内部值;对应的,调用将字符串转换成无符号长整型数的函数,将第一属性值转化成目标进制对应的数值,包括:根据当前内部值的目标进制、数字类型,调用将字符串转换成无符号长整型数的函数,将第一属性值转化成目标进制对应的数值。
可见,通过当前内部值是从目标设备获取得到的数值,因此,只需要在解析汽车源文件的过程中将第一属性值转换成与当前内部值对应的数值,减少了计算过程,提高了数据处理效率。
本实施例提供一种具体的数据处理方法,应用于汽车,其中,目标设备是目标ECU,请参考图4,包括:
1:定义一个ODXDataStream数据流类即类对象,类对象中定义一个键值对为<string,int>的pair类型对象pair Multiary2Decimal;
2:在解析汽车制造商提供的车源文件中采用多种进制、多种数字类型的字符串表达的数据流的目标值数据即预警值数据时,将该字符串存入pair Multiary2Decimal的string变量中;
3:上一步的字符串根据当前数据流的进制、数字类型和算法反向计算求出的相应16进制整数值,将该16进制整数值存入到pair Multiary2Decimal的int变量中;
4:进入诊断预警接口的流程;
5:在对每一条诊断数据的目标值即预警值进行对比的环节,调用其pair类型对象的第二属性值即int,获取到的16进制整数值直接跟当前数据流的当前内部值对比;
6:判断对比结果是否超出目标值对应的目标范围即预警范围;
7:是,向显示程序发出提示信息通报,继续对比下一条诊断数据;
8:否,直接对比下一条诊断数据,直至所有诊断数据的目标值处理过程完毕,退出程序。
在解析汽车制造商提供的车源文件中采用多种进制、多种数字类型的字符串表达的数据流目标值数据时,在设计数据流类时,在数据流类中定义一个键值对为<string,int>的pair类型对象来同时存储字符串形式的目标值数据,以及该目标值根据当前数据流的进制、数字类型和算法反向计算求出的相应16进制整数值。在诊断数据的目标值对比处理环节,调用每一条数据流类对象内部的pair对象的second属性获取到的十六进制整数值直接跟当前数据流的当前内部值对比。
下面对本申请实施例提供的一种数据处理装置进行介绍,下文描述的数据处理装置与上文描述的数据处理方法可相互对应参照,参考图5,图5为本申请实施例所提供的一种数据处理装置的结构示意图,包括:
信息存储模块510,用于获取目标设备发送的当前数据流,并将当前数据流对应的信息存储至类对象中,其中,当前数据流对应的信息包括当前数值;
判断模块520,用于调用类对象中的pair类型对象的第二属性值,并根据第二属性值确定目标范围,判断所述当前数值是否在目标范围内;
提示模块530,用于若在目标范围内,则发出提示信息;
处理模块540,用于若不在目标范围内,则处理下一条数据流。
基于上述技术方案,本实施例利用类对象存储当前数据流对应的信息,在类对象中的pair类型对象中存储有解析源文件得到第二属性值,在进行预警判断时判断当前数值是否在基于第二属性值得到的目标范围内,通过本方案的技术手段使用户在实际操作过程中响应迅速,数据处理效率高。
优选地,信息存储模块510,包括:
第一获取单元,用于获取目标指令;
第二获取单元,用于根据目标指令,获取目标设备发送的当前数据流。
优选地,类对象建立的过程包括:
定义模块,用于定义类对象,在类对象中定义一个pair类型对象;
诊断数据获取模块,用于获取源文件的采用不同进制的字符串表示的目标数据;
第一属性值存储模块,用于将字符串存储至pair类型对象的第一属性值中,其中,pair类型对象是键值对包括第一属性值和第二属性值的类对象;
转换模块,用于调用将字符串转换成无符号长整型数的函数,将第一属性值转化成目标进制对应的数值,并将数值存储至第二属性值中。
优选地,类对象中包括多种变量,其中变量包括数据流ID、内容、单位、目标值、数据类型、当前内部值、当前物理值。
优选地,当前数值是当前内部值;
对应的,转换模块,包括:
第一转换单元,用于根据当前内部值的目标进制、数字类型,调用将字符串转换成无符号长整型数的函数,将第一属性值转化成目标进制对应的数值。
优选地,当前数值是当前物理值;
对应的,转换模块,包括:
第二转换单元,用于根据当前内部值、当前物理值的目标进制、数字类型,调用将字符串转换成无符号长整型数的函数,将第一属性值转化成目标进制对应的数值。
优选地,目标进制为十六进制。
由于数据处理装置部分的实施例与数据处理方法部分的实施例相互对应,因此数据处理装置部分的实施例请参见数据处理方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种电子设备,参见图6,图6为本申请实施例提供的一种电子设备的结构图,包括:
存储器100,用于存储计算机程序;
处理器200,用于执行计算机程序时可以实现上述实施例所提供的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200为电子设备提供计算和控制能力,执行存储器100中保存的计算机程序时,可以实现以下步骤:获取目标设备发送的当前数据流,并将当前数据流对应的信息存储至类对象中,其中,当前数据流对应的信息包括当前数值;调用类对象中的pair类型对象的第二属性值,并根据第二属性值确定目标范围,判断所述当前数值是否在目标范围内;若在目标范围内,则发出提示信息;若不在目标范围内,则处理下一条数据流。
基于上述技术方案,本实施例利用类对象存储当前数据流对应的信息,在类对象中的pair类型对象中存储有解析源文件得到第二属性值,在进行预警判断时判断当前数值是否在基于第二属性值得到的目标范围内,通过本方案的技术手段使用户在实际操作过程中响应迅速,数据处理效率高。
在一些具体的实施例中,处理器200执行存储器100中保存的计算机子程序时,可以实现以下步骤:获取目标指令;根据目标指令,获取目标设备发送的当前数据流。
在一些具体的实施例中,处理器200执行存储器100中保存的计算机子程序时,可以实现以下步骤:定义类对象,在类对象中定义一个pair类型对象;获取源文件的采用不同进制的字符串表示的目标数据;将字符串存储至pair类型对象的第一属性值中,其中,pair类型对象是键值对包括第一属性值和第二属性值的类对象;调用将字符串转换成无符号长整型数的函数,将第一属性值转化成目标进制对应的数值,并将数值存储至第二属性值中。
在一些具体的实施例中,处理器200执行存储器100中保存的计算机子程序时,可以实现以下步骤:当前数值是当前内部值;根据当前内部值的目标进制、数字类型,调用将字符串转换成无符号长整型数的函数,将第一属性值转化成目标进制对应的数值。
在一些具体的实施例中,处理器200执行存储器100中保存的计算机子程序时,可以实现以下步骤:当前数值是当前物理值,根据当前内部值、当前物理值的目标进制、数字类型,调用将字符串转换成无符号长整型数的函数,将第一属性值转化成目标进制对应的数值。
由于电子设备部分的实施例与数据处理方法部分的实施例相互对应,因此电子设备部分的实施例请参见数据处理方法部分的实施例的描述,这里暂不赘述。
在上述实施例的基础上,作为优选实施方式,参见图7,图7为本申请实施例提供的另一种电子设备的结构图,该电子设备还包括:
输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。
显示单元400,与处理器200相连,用于显示处理器200发送的数据。该显示单元400可以为PC机上的显示屏、液晶显示屏或者电子墨水显示屏等。
网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
下面对本申请实施例提供的一种计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的数据处理方法可相互对应参照。
本申请公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取目标设备发送的当前数据流,并将所述当前数据流对应的信息存储至类对象中,其中,所述当前数据流对应的信息包括当前数值;调用所述类对象中的pair类型对象的第二属性值,并根据所述第二属性值确定目标范围,判断所述当前数值是否在所述目标范围内;若在所述目标范围内,则发出提示信息;若不在所述目标范围内,则处理下一条数据流。
基于上述技术方案,本实施例利用类对象存储当前数据流对应的信息,在类对象中的pair类型对象中存储有解析源文件得到第二属性值,在进行预警判断时判断当前数值是否在基于第二属性值得到的目标范围内,通过本方案的技术手段使用户在实际操作过程中响应迅速,数据处理效率高。
在一些具体的实施例中,计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:获取目标指令;根据所述目标指令,获取所述目标设备发送的所述当前数据流。
在一些具体的实施例中,计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:定义所述类对象,在所述类对象中定义一个pair类型对象;获取源文件的采用不同进制的字符串表示的目标数据;将所述字符串存储至所述pair类型对象的第一属性值中,其中,所述pair类型对象是键值对包括所述第一属性值和所述第二属性值的类对象;调用将所述字符串转换成无符号长整型数的函数,将所述第一属性值转化成目标进制对应的数值,并将所述数值存储至所述第二属性值中。
在一些具体的实施例中,计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:所述当前数值是所述当前内部值;根据所述当前内部值的所述目标进制、数字类型,调用将所述字符串转换成无符号长整型数的所述函数,将第一属性值转化成目标进制对应的数值。
在一些具体的实施例中,计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:当前数值是当前物理值,根据所述当前内部值、所述当前物理值的所述目标进制、数字类型,调用将所述字符串转换成无符号长整型数的所述函数,将第一属性值转化成目标进制对应的数值。
由于计算机可读存储介质部分的实施例与数据处理方法部分的实施例相互对应,因此计算机可读存储介质部分的实施例请参见数据处理方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种数据处理方法、数据处理装置、电子设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (9)
1.一种数据处理方法,其特征在于,包括:
获取目标设备发送的当前数据流,并将所述当前数据流对应的信息存储至类对象中,其中,所述当前数据流对应的信息包括当前数值;
调用所述类对象中的pair类型对象的第二属性值,并根据所述第二属性值确定目标范围,判断所述当前数值是否在所述目标范围内;
若在所述目标范围内,则发出提示信息;
若不在所述目标范围内,则处理下一条数据流;
所述类对象建立的过程包括:
定义所述类对象,在所述类对象中定义一个pair类型对象;
获取源文件的采用不同进制的字符串表示的目标数据;
将所述字符串存储至所述pair类型对象的第一属性值中,其中,所述pair类型对象是键值对包括所述第一属性值和所述第二属性值的类对象;
调用将所述字符串转换成无符号长整型数的函数,将所述第一属性值转化成目标进制对应的数值,并将所述数值存储至所述第二属性值中;其中,所述pair类型对象的源字符串与其对应的所述目标进制的当前数值存在直接绑定存储的关系,所述第一属性值为车源文件中解析到的一条支持多进制和多种数字类型的数据流目标值的字符串,所述第二属性值为所述字符串根据所述当前数值的进制、数字类型和算法反算求出的相应目标进制对应的整数值。
2.根据权利要求1所述的数据处理方法,其特征在于,所述获取目标设备发送的当前数据流,包括:
获取目标指令;
根据所述目标指令,获取所述目标设备发送的所述当前数据流。
3.根据权利要求1所述的数据处理方法,其特征在于,所述类对象中包括多种变量,其中所述变量包括数据流ID、内容、单位、目标值、数据类型、当前内部值和当前物理值。
4.根据权利要求3所述的数据处理方法,其特征在于,所述当前数值是所述当前内部值;
对应的,所述调用将所述字符串转换成无符号长整型数的函数,将所述第一属性值转化成目标进制对应的数值,包括:
根据所述当前内部值的所述目标进制和数字类型,调用将所述字符串转换成无符号长整型数的所述函数,将第一属性值转化成目标进制对应的数值。
5.根据权利要求3所述的数据处理方法,其特征在于,所述当前数值是所述当前物理值;
对应的,所述调用将所述字符串转换成无符号长整型数的函数,将所述第一属性值转化成目标进制对应的数值,包括:
根据所述当前内部值、所述当前物理值的所述目标进制和数字类型,调用将所述字符串转换成无符号长整型数的所述函数,将第一属性值转化成目标进制对应的数值。
6.根据权利要求1至5任一项所述的数据处理方法,其特征在于,所述目标进制为十六进制。
7.一种数据处理装置,其特征在于,包括:
信息存储模块,用于获取目标设备发送的当前数据流,并将所述当前数据流对应的信息存储至类对象中,其中,所述当前数据流对应的信息包括当前数值;
判断模块,用于调用所述类对象中的pair类型对象的第二属性值,并根据所述第二属性值确定目标范围,判断所述当前数值是否在所述目标范围内;
提示模块,用于若在所述目标范围内,则发出提示信息;
处理模块,用于若不在所述目标范围内,则处理下一条数据流;
所述数据处理装置,还用于:
定义所述类对象,在所述类对象中定义一个pair类型对象;
获取源文件的采用不同进制的字符串表示的目标数据;
将所述字符串存储至所述pair类型对象的第一属性值中,其中,所述pair类型对象是键值对包括所述第一属性值和所述第二属性值的类对象;
调用将所述字符串转换成无符号长整型数的函数,将所述第一属性值转化成目标进制对应的数值,并将所述数值存储至所述第二属性值中;其中,所述pair类型对象的源字符串与其对应的所述目标进制的当前数值存在直接绑定存储的关系,所述第一属性值为车源文件中解析到的一条支持多进制和多种数字类型的数据流目标值的字符串,所述第二属性值为所述字符串根据所述当前数值的进制、数字类型和算法反算求出的相应目标进制对应的整数值。
8.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述数据处理方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911158782.0A CN110909522B (zh) | 2019-11-22 | 2019-11-22 | 一种数据处理方法、装置和电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911158782.0A CN110909522B (zh) | 2019-11-22 | 2019-11-22 | 一种数据处理方法、装置和电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110909522A CN110909522A (zh) | 2020-03-24 |
CN110909522B true CN110909522B (zh) | 2023-10-20 |
Family
ID=69818990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911158782.0A Active CN110909522B (zh) | 2019-11-22 | 2019-11-22 | 一种数据处理方法、装置和电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110909522B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750962B (zh) * | 2019-10-14 | 2020-08-28 | 深圳旗鱼体育传播有限公司 | 天气数据转换方法和系统 |
CN111930097B (zh) * | 2020-07-28 | 2021-12-07 | 深圳市元征科技股份有限公司 | 一种车辆诊断数据解析方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108700875A (zh) * | 2018-04-25 | 2018-10-23 | 深圳市元征软件开发有限公司 | 车辆诊断方法、系统、设备及计算机可读存储介质 |
CN108881124A (zh) * | 2017-05-15 | 2018-11-23 | 武汉斗鱼网络科技有限公司 | 在模块间实现高性能通信的方法、系统、存储介质及设备 |
CN109634986A (zh) * | 2018-10-29 | 2019-04-16 | 平安科技(深圳)有限公司 | 系统监测方法、装置、计算机及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8140448B2 (en) * | 2008-05-09 | 2012-03-20 | International Business Machines Corporation | System and method for classifying data streams with very large cardinality |
US10235374B2 (en) * | 2016-03-08 | 2019-03-19 | International Business Machines Corporation | Key-value store for managing user files based on pairs of key-value pairs |
-
2019
- 2019-11-22 CN CN201911158782.0A patent/CN110909522B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881124A (zh) * | 2017-05-15 | 2018-11-23 | 武汉斗鱼网络科技有限公司 | 在模块间实现高性能通信的方法、系统、存储介质及设备 |
CN108700875A (zh) * | 2018-04-25 | 2018-10-23 | 深圳市元征软件开发有限公司 | 车辆诊断方法、系统、设备及计算机可读存储介质 |
CN109634986A (zh) * | 2018-10-29 | 2019-04-16 | 平安科技(深圳)有限公司 | 系统监测方法、装置、计算机及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110909522A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110909522B (zh) | 一种数据处理方法、装置和电子设备及介质 | |
CN106445528B (zh) | 一种快速配置bios的setup选项的方法及装置 | |
CN111078539B (zh) | 一种测试方法、装置、系统、计算机可读存储介质 | |
CN111694572A (zh) | 代码格式转换方法、装置、计算机设备及存储介质 | |
CN111193633B (zh) | 异常网络连接的检测方法及装置 | |
WO2020042504A1 (zh) | 区块链信息处理中异常诊断方法、装置、设备及存储介质 | |
CN111273880A (zh) | 基于云端智能设备的远程显示方法及装置 | |
CN111352913A (zh) | 一种文件的压缩方法、装置、存储介质及终端设备 | |
CN111130828B (zh) | 一种智能配网方法、装置及终端设备 | |
CN109240916B (zh) | 信息输出控制方法、装置及计算机可读存储介质 | |
CN111625371A (zh) | 一种文本传输方法、装置、pc端、移动终端及系统 | |
CN108062401B (zh) | 应用推荐方法、装置及存储介质 | |
CN110554877A (zh) | 一种json数据解析方法、装置、设备及储存介质 | |
WO2018227942A1 (zh) | 一种基于内存优化的任务执行方法及系统 | |
CN114064125B (zh) | 指令解析方法、装置及电子设备 | |
CN105242900A (zh) | 一种移动设备的音频参数调节方法和设备 | |
CN109992507B (zh) | 基于模拟执行的程序模糊测试方法及装置 | |
CN109782925B (zh) | 一种处理方法、装置及电子设备 | |
CN114610849A (zh) | 一种产品制造程序的确定方法、装置、设备及存储介质 | |
CN105302853A (zh) | 一种实现数据重构的方法和装置 | |
CN111078518A (zh) | 数据采集方法、终端设备和计算机可读存储介质 | |
CN110888898A (zh) | 集群资源使用情况处理方法、装置及电子设备 | |
JP2018092675A (ja) | 電子機器、データ処理方法およびプログラム | |
US10901569B2 (en) | Integration of tools | |
CN117032726B (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 |