首页 / 数据挖掘系统以及数据挖掘方法

数据挖掘系统以及数据挖掘方法无效专利 发明

技术领域

[0001] 本发明涉及一种数据挖掘系统以及数据挖掘方法,特别是涉及一种针对CAN(Controller Area Network控制器局部网)通信网络中的数据进行远程挖掘的数据挖掘系统以及数据挖掘方法。

相关背景技术

[0002] 汽车随着由ECU(Electronic Control Unit电子控制单元)部件数量的不断增加,电控单元之间的数据通信以及故障诊断等功能正日益成为汽车工业与应用技术的焦点。CAN作为目前应用最为广泛的串行总线系统,其不同的链路层和应用层协议的复杂性和差异性是CAN网络内部与外界进行信息交换的最大难题与障碍。由于各汽车部件和整车厂商的企业标准和技术差异性的存在,标准化组织和CAN-BUS协会对CAN的标准化和规范化研究并不能从根本上解决车内网络系统与外界进行数据和控制交互的标准和规范。
[0003] 目前有很多针对单独某种CAN通信协议的系统(如在线诊断系统)或者针对某种车型中的某种协议下的某种特定数据的远程采集系统(如远程采集公交车中J1339协议下的速度数据),其共同特点都是系统封闭式的,只能针对某种特定CAN网络和特定系统。

具体实施方式

[0073] 下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
[0074] 首先,参考图1和图2,介绍本发明的数据挖掘系统。参考图1,本发明的数据挖掘系统包括多个ECU21,所述ECU21通过CAN总线22连接并构成CAN网络2,此外该数据挖掘系统还包括数据挖掘终端1,该数据挖掘终端1用于挖掘CAN网络2中符合用户预设条件的数据,并且该数据挖掘终端1通过CAN总线22接入该CAN网络2中,此时,该数据挖掘终端1也作为CAN网络2中的一个节点,而CAN网络2中的多个ECU21也是CAN网络2中的节点,其中,该数据挖掘终端1还包括:配置模块11,其用于配置数据挖掘条件以及数据结构和数据类型;识别模块12,其用于识别CAN网络的物理层、链路层和应用协议层;存储器13,其用于存储所配置的数据挖掘条件以及按照所配置的数据结构和数据类型存储挖掘所得的数据,其中,该配置模块11分别与该识别模块12和存储器13相连。
[0075] 进一步地,该识别模块12还包括:物理层识别单元121,用于识别CAN网络的物理层;链路层识别单元122,用于识别CAN网络链路层协议;应用层识别单元123,用于识别CAN网络应用层协议。
[0076] 本领域技术人员可以根据实际需要对数据挖掘条件和数据类型进行配置以及选择合适的数据类型,在本发明中,可以选择例如,所述配置的数据挖掘条件包括条件代码、条件参数,其中,条件代码指明挖掘条件,配置的数据类型包括数据ID、字节地址、位地址和数据长度,该数据结构为链表数据结构。
[0077] 为了使得本发明的数据挖掘系统更为人性化,操作更为简便,所述配置的数据挖掘条件还包括与条件参数相对应的控制命令。这样,在符合数据挖掘条件之后能根据挖掘所得的数据以及与条件参数相对应的控制命令对CAN网络中的某些节点进行自动控制。
[0078] 参考图3,该存储器还包括:数据ID存储单元,用于存储数据ID以及数据ID指针;配置存储单元,用于存储字节地址、位地址和数据长度,条件代码、条件参数,以及与条件参数相对应的控制命令的控制命令指针;
[0079] 控制命令存储单元,用于存储与条件参数相对应的控制命令,其中,所述数据ID指针指向配置存储单元中相对应的数据类型,所述控制命令指针指向控制命令存储单元中与条件参数相对应的控制命令。在图3中以弯曲的箭头表示各类指针的指向,这是本领域技术人员所熟知的。
[0080] 优选地,为了方便用户查看,该数据挖掘终端1还包括分别与配置模块11和存储器13相连的显示单元(图未示),该显示单元用于显示所配置的数据挖掘条件以及按照所配置的数据结构和数据类型存储的挖掘所得的数据。
[0081] 参考图2,该数据挖掘系统还包括控制中心(图未示),该控制中心用于发送配置指令至该数据挖掘终端1以及接收该数据挖掘终端1回传的挖掘所得的数据,其中,该数据挖掘终端1根据该配置指令配置数据挖掘条件以及数据结构和数据类型,该数据挖掘终端1还包括与配置模块11相连的通信模块14,该通信模块14用于与该控制中心进行通信,接收来自控制中心的配置指令以及将挖掘所得的数据发送至控制中心。
[0082] 参考图4-图N,介绍使用如上所述的数据挖掘系统进行数据挖掘的方法。
[0083] 参考图4,本发明所述的数据挖掘方法包括以下步骤:
[0084] S1、配置模块配置数据挖掘条件以及数据结构和数据类型;
[0085] S2、识别模块识别CAN网络的物理层、链路层和应用协议层;
[0086] S3、按照数据挖掘条件挖掘CAN网络内符合用户预设条件的数据;
[0087] S4、存储挖掘所得的数据。
[0088] 优选地,步骤S1还包括以下步骤:
[0089] S11、配置数据挖掘条件,包括配置条件代码、条件参数,其中,条件代码指明挖掘条件,配置数据类型,包括配置数据ID、字节地址、位地址和数据长度;
[0090] S12、创建数据ID指针和控制命令指针并通过将数据ID指针指向配置存储单元中相对应的数据类型、控制命令指针指向控制命令存储单元中与条件参数相对应的控制命令来建立数据类型和数据挖掘条件之间的链表关系。
[0091] 配置数据挖掘条件、数据结构和数据类型的步骤中本领域技术人员可以根据自身需要以及挖掘对象选择合适的数据类型和数据结构,并且由实际需要确定数据挖掘条件。例如,根据CAN通信数据帧的8字节定长特性,以及嵌入式系统资源紧凑的特性,本发明中采用紧凑的配置数据类型,采取以位为单位的数据长度、以及链表数据结构来表示。配置数据类型的定义详见表1-表4。
[0092] 表1基本数据类型
[0093]
[0094] 配置的数据类型定义为UINT8类型,其中每位对应于其中一个参数条件的与或关系。如果一个数据ID的配置数量大于8时,可以再增加一个相同数据ID,再指定配置条件,依次类推。
[0095] 表2配置的数据挖掘条件类型
[0096]取值范围 说明
BIT0 0:与,1:或 对应第1个配置条件
BIT1 0:与,1:或 对应第2个配置条件
BIT2 0:与,1:或 对应第3个配置条件
BIT3 0:与,1:或 对应第4个配置条件
[0097]BIT4 0:与,1:或 对应第5个配置条件
BIT5 0:与,1:或 对应第6个配置条件
BIT6 0:与,1:或 对应第7个配置条件
BIT7 0:与,1:或 对应第8个配置条件
[0098] 参数条件类型定义为UINT8类型,条件代码说明如下表3所示:
[0099] 表3参数条件类型
[0100]条件代码 条件类型 条件参数个数
0 = 1
1 >=and<= 2
2 >and< 2
3 >=and< 2
4 >and<= 2
[0101] 地址类型分为字节地址和位地址两类,由于CAN网络的数据长度通常是8字节,而每字节都包含8位,地址类型定义为UINT8类型,其中高4位表示起始字节,低4位表示起始位,如下表4所示:
[0102] 表4地址类型
[0103]
[0104] 条件参数与数据类型长度一致,参数个数参见条件类型说明表3。特别地,配置数据结构主要是分析从CAN网络接收到的数据,这里的地址和数据长度都是指每次从CAN网络接收到的数据。数据的位置由第几字节的第几位确定,长度单位为多少位。比如从CAN网络中接收到8个字节的数据,要求第2字节第4位开始,2位长度的数据,即2个BIT,数据是01时即为符合挖掘的条件。
[0105] 下面介绍CAN物理层识别方法。物理层是通讯的基础,物理层协议的明确是一切通讯实现的前提。CAN网络中物理层的自适应主要指对CAN网络中不同的波特率的智能识别。
[0106] CAN物理层中一个很重要的参数是标称位速率。标称位速率为一理想的发送器在没有重新同步的情况下每秒发送的位数量。与之相关的一个参数是标称位时间(标称位时间=1/标称位速率)。
[0107] 可以把标称位时间划分成同步段(SYNC_SEG)、传播时间段(PROP_SEG)、相位缓冲段1(PHASE_SEG1)和相位缓冲段2(PHASE_SEG2)四个不重叠时间的片段。
[0108] 在物理层中通过采样的方式,采样点是读总线电平并解释各位的值的一个时间点。采样点位于相位缓冲段1(PHASE_SEG1)之后。采样点和各个位时间片段之间的关系如图5所示。为了使本领域技术人员便于理解,图5中的注释采用更为符合本领域技术人员习惯的英文描述,并在上文的描述中已经予以中文解释。
[0109] 定义信息处理时间是一个以采样点作为起始的时间段。采样点用于计算后续位的位电平。
[0110] 定义时间份额是派生于振荡器周期的固定时间单元。存在有一个可编程的预比例因子,其整体数值范围为1-32的整数,以最小时间份额为起点,时间份额的长度为:
[0111] 时间份额(TIME QUANTUM)=m*最小时间份额(MINIMUM TIME QUANTUM)。注:(m为预比例因子)
[0112] 同步段(SYNC_SEG)为1个时间份额;传播段(PROP_SEG)的长度可设置为1,2,...,8个时间份额;缓冲段1(PHASE_SEG1)的长度可设置为1,2,...,8个时间份额;相位缓冲段2(PHASE_SEG2)的长度为阶段缓冲段1(PHASE_SEG1)和信息处理时间之间的最大值;信息处理时间少于或等于2个时间份额。一个位时间总的的时间份额值可以设置在
8-25的范围。参考图6,步骤S2中通过识别波特率来识别CAN网络的物理层,识别波特率的步骤还包括以下步骤:
[0113] S21、设定一个CAN网络的接收波特率;
[0114] S22、以所设定的接收波特率进行采样并判断是否出错,若是,进入步骤S23;若否,进入步骤S24;
[0115] S23、重新设定接收波特率并返回步骤S22;
[0116] S24、根据不出错时的CAN网络的接收波特率完成CAN网络的物理层识别。
[0117] 更具体地来说,由于CAN是一种异步通讯协议。在通讯的不同节点之间并没有一个专门的CLK信号(时钟信号)来同步各个节点之间的节拍,也就不能显式获得CAN总线实际的波特率,需要按以下方法来识别:
[0118] 1)在数据挖掘终端初始化阶段,置数据挖掘终端为只听模式,以不影响总线的正常运行。
[0119] 2)将数据挖掘终端的CAN网络接收波特率设定为500KHz。这时,如果CAN总线的实际波特率正好为500KHz,一切正常;如果CAN总线的实际波特率为250KHz,在总线的一个位时间内,会做两次采样(采样是指读总线电平,)得到两个位值。这种情况下,可能出现的错误有:填充错误、CRC错误、格式错误或ACK错误。数据挖掘终端作为符合CAN2.0的CAN节点,错误处理协议部分(是指CAN通信协议中的错误处理部分,是通用的协议)会对接受帧的正确和错误情况进行计数,并根据错误计数改变设备的节点状态。这时,设备的节点状态一定会处于“被动错误”状态。
[0120] 3)改变CAN接收硬件的波特率,重复上述步骤2),直至设备的节点状态无错误。
[0121] 至此,在不影响总线工作的基础上,实现了对其波特率的识别,也就是说,完成了对CAN网络的物理层识别。
[0122] 在完成了对CAN网络的物理层的识别之后,要进行的步骤是识别CAN网络的数据链路层协议。CAN帧分为扩展帧和基础帧。CAN标准帧和扩展帧格式消息的区别在于仲裁域和控制域的位数和对位域的识别不同。CAN标准帧消息如图7A所示,仲裁域有11位标识符。CAN扩展帧消息如图7B所示,仲裁域有29位标识符。
[0123] CAN标准帧与扩展帧的识别步骤如下:
[0124] 1)终端按CAN扩展帧方式接收数据帧。
[0125] 2)如果终端的节点状态处于正常状态,则可判定当前为扩展帧方式。
[0126] 3)如果终端的节点状态处于“被动错误”状态,再按CAN标准帧方式接收数据帧。
[0127] 4)如果终端的节点状态处于正常状态,则可判定当前为标准帧方式。
[0128] 5)如果节点处于错误状态,则重复步骤1)至步骤5)。
[0129] 在完成了CAN网络链路层的识别之后,要进行CAN网络应用层协议的识别。应用协议真正承载着应用数据,在商用车和工程机械行业,有着广泛采用的若干主流应用层协议。可以根据各应用层协议的特性实现试探性识别。
[0130] 本发明中给出KWP2000和J1939协议的识别方法,其它应用层协议需要按每种协议的特性分别进行识别。
[0131] 1、KWP2000的智能识别
[0132] KWP2000是一种问答协议,可以采用试问的形式试探KWP2000协议的支持。具体的做法是发送握手信号,倘若收到握手信号回复,则说明对象支持KWP2000;倘若未收到握手信号回复并且等待超时,则说明对象不支持KWP2000。具体的试探步骤如图8A所示。
[0133] 2、J1939协议智能识别
[0134] J1939是广泛使用的一种CAN总线协议,它包含主动数据发送和问答协议两部分。对J1939的识别可利用J1939协议中的地址申明过程来探测,如图8B所示:数据挖掘终端发送地址声明(request for address claimed),并判断是否收到回复,倘若收到回复,则接收所有回复(response)并建立ECU信息表,此时说明对象支持J1939;若未收到回复,则说明对象不支持J1939。
[0135] 本发明中仅以KWP2000和J1939协议的识别方法为例,本领域技术人员还可根据应用场合的不同对其他协议进行试探性识别。
[0136] 在识别完CAN网络的物理层、链路层和应用层之后,即可进行数据挖掘的步骤,参考图9,具体来说,上述的步骤S3还包括以下步骤:
[0137] S31、根据CAN网络应用层协议获得CAN网络中的数据ID;
[0138] S32、在数据ID存储单元寻找是否存在与该CAN网络中的数据ID相对应的数据ID,若找到对应的数据ID,则进入步骤S33;若未找到对应的数据ID,返回步骤S31;
[0139] S33、提取步骤S32中找到的数据ID存储单元中的数据ID对应的数据ID指针指向的配置存储单元中的数据类型和数据挖掘条件;
[0140] S34、遍历该CAN网络中的数据ID对应的数据以及该数据的数据类型;
[0141] S35、将步骤S33中提取的数据类型和步骤S34中遍历的数据类型相比较,若数据类型相同,则进入步骤S36;若数据类型不同,则返回步骤S31;
[0142] S36、判断步骤S34中遍历的数据是否符合步骤S33中提取的数据挖掘条件,若是,则进入步骤S37;若否,则返回步骤S31;
[0143] S37、对符合步骤S33中提取的数据挖掘条件的步骤S34中遍历的CAN网络数据进行数据挖掘。
[0144] 更具体地,步骤S35中所述的数据类型相同是指CAN网络中的数据的字节地址、位地址和数据长度与配置存储单元中的字节地址、位地址和数据长度相符。步骤S36中所述的是否符合数据挖掘条件是指CAN网络中的数据是否符合配置存储单元中的条件代码指明的挖掘条件以及CAN网络中的数据是否符合配置存储单元中的条件参数。
[0145] 优选地,步骤S36之后步骤S37之前还包括以下步骤:
[0146] SP1、判断配置存储单元中是否存在与条件参数相对应的控制命令指针,若是,进入步骤SP2;若否,进入步骤S37;
[0147] SP2、根据配置存储单元中的控制命令指针提取该控制命令指针指向的控制命令存储单元中的控制命令;
[0148] SP3、向CAN网络发送步骤SP2所提取的控制命令。
[0149] 倘若该数据挖掘系统的数据挖掘终端还包括一显示单元,步骤S4之后还包括以下步骤:SQ、显示挖掘所得的数据。
[0150] 更为优选地,该数据挖掘系统还包括一控制中心,该数据挖掘终端还包括一通信模块,其中步骤S1之前还包括以下步骤:SR、控制中心通过通信模块发送配置指令至该数据挖掘终端。步骤S4之后还包括以下步骤:ST、通过该通信模块将挖掘所得的数据发送至该控制中心。
[0151] 也就是说,本发明中的数据挖掘系统既可以由用户直接对数据挖掘条件进行配置(例如通过PC以及串口或者借由串口工具等)也可以通过远程的动态配置来控制数据挖掘条件。举例来说,控制中心可以对数据挖掘条件的进行动态配置,由于CAN应用层通信协议中每帧数据都符合ID+DATA的格式,本发明的数据挖掘方法把基本配置分为数据ID、条件参数和控制命令三个部分,如同图3所示。控制中心可通过通信模块(例如无线通信模块)对数据挖掘终端的数据挖掘条件进行配置。数据挖掘终端收到配置条件后,即将数据ID、条件参数和控制命令分别保存至对应的存储数据单元,并为各个数据单元中的数据建立链表关系。控制中心可以添加、修改与删除配置条件。
[0152] 另外,本发明的数据挖掘方法还可实现对CAN网络中的数据对象按条件的动态挖掘。结合上文所述,数据挖掘终端的动态数据挖掘过程是这样的,终端根据应用层协议获得数据ID后,先在数据ID存储单元寻找对应的ID号,如果找到即表明存在对该类型数据的挖掘条件,根据每个数据ID对应的链表指针指向的配置存储区数据,遍历该数据类型的所有条件,如果数据符合配置条件(数据中的字节地址、位地址和数据长度和配置条件相符,并且数据符合配置条件中条件代码指明的条件,数据符合条件参数),即表明该包数据符合挖掘条件,需要通过无线通信模块向系统报告,同时再看配置条件需要联动的控制命令指针是否存在,如果存在,即向CAN网络发生控制命令。并且,本发明的数据挖掘方法还支持对CAN网络的按条件控制。例如,根据数据挖掘终端所挖掘的数据状态,比如水温过高报警,此时可能需要数据挖掘终端自动采取应对措施,即通过CAN网络发送控制命令,对网络中的节点进行控制,比如停止某些节点的工作。控制中心可以对需要发送控制指令的条件进行动态配置,数据挖掘终端在进行数据挖掘时,在符合配置条件时,即向CAN网络发送控制命令。以上配置可以通过无线通信模块进行远程动态配置。
[0153] 下面结合具体的应用实例从用户角度对本项发明做详细阐述。例如在工程车辆监控管理中的应用。一个典型的工程车辆监控管理系统包括数据挖掘系统,数据挖掘系统中包括数据挖掘终端和控制中心(例如进行监控管理工程车辆的控制中心),数据挖掘终端作为一个CAN网络的节点连接在车辆的CAN网络中,数据挖掘终端和控制中心间通过GSM网络进行数据通信。CAN网络是由汽车中发动机ECU(电控单位)、仪表盘ECU等联网组成的,每个ECU都称作CAN网络中的一个节点,本发明所述的数据挖掘终端也作为一个ECU节点连接在CAN网络中,与其它节点进行数据通信。每个ECU的通信数据在CAN网络中能被任何节点都收到,这是CAN网络的特性。
[0154] 在工程车辆监控管理系统中,数据挖掘终端作为一个CAN节点,通过CAN总线连接到工程车辆CAN网络中。此时,数据挖掘系统对一个预先未知的CAN网络的数据挖掘过程如下:
[0155] 1)数据挖掘终端按基本配置,与控制中心建立无线通信链路。
[0156] 2)数据挖掘终端通过只听模式,在不影响总线工作的基础上,实现对CAN网络物理层波特率的识别。
[0157] 3)数据挖掘终端自动识别CAN链路层通信帧格式,确定是通过基础帧还是扩展帧进行通信。
[0158] 4)数据挖掘终端自动识别链路层通信协议为CANopen还是J1939,或者其它。
[0159] 5)数据挖掘终端按基本的数据挖掘配置对控制中心所关心的数据如发动机转速、油温、水温等进行按条件的挖掘,并将符合条件的数据报告至控制中心。
[0160] 6)控制中心可以远程动态改变挖掘配置。
[0161] 7)控制中心根据挖掘到的数据,进行专家系统分析。
[0162] 8)控制中心可以按工程车辆的实时机内状态数据对CAN网络发生控制指令。
[0163] 由此可知,本发明的数据挖掘系统和数据挖掘方法的优势在于:
[0164] 首先,可以实现机内状态数据监控和统计。控制中心通过远程配置功能,可以有选择的采集工程车辆的运行状态信息进行分析处理。通过车辆机内状态数据与位置时空信息的结合,使分析结果更具科学性。例如采集发动机转速、水温、油位状态信息或者工程车辆的综合工作状态的信息。其次,可以实现远程故障诊断和维护。通过对车内各电控单元设备的监视与有选择地对车辆发送控制指令进行远程诊断,以及专家系统对运行数据的统计分析,系统平台可以更实时全面地了解工程车辆的运行及故障情况,结合GPS位置信息,可以及时作出响应与处理。
[0165] 虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

当前第1页 第1页 第2页 第3页
相关技术
挖掘系统相关技术
数据挖掘相关技术
潘日虎发明人的其他相关专利技术