KR102026455B1 - System and method for analysing can data - Google Patents

System and method for analysing can data Download PDF

Info

Publication number
KR102026455B1
KR102026455B1 KR1020180096880A KR20180096880A KR102026455B1 KR 102026455 B1 KR102026455 B1 KR 102026455B1 KR 1020180096880 A KR1020180096880 A KR 1020180096880A KR 20180096880 A KR20180096880 A KR 20180096880A KR 102026455 B1 KR102026455 B1 KR 102026455B1
Authority
KR
South Korea
Prior art keywords
data
analysis
vehicle
module
information
Prior art date
Application number
KR1020180096880A
Other languages
Korean (ko)
Inventor
오태경
Original Assignee
(주)에이치씨인포
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by (주)에이치씨인포 filed Critical (주)에이치씨인포
Priority to KR1020180096880A priority Critical patent/KR102026455B1/en
Application granted granted Critical
Publication of KR102026455B1 publication Critical patent/KR102026455B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing packet switching networks
    • H04L43/04Processing of captured monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. local area networks [LAN], wide area networks [WAN]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing packet switching networks
    • H04L43/16Arrangements for monitoring or testing packet switching networks using threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/16Transmission control protocol/internet protocol [TCP/IP] or user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. local area networks [LAN], wide area networks [WAN]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. local area networks [LAN], wide area networks [WAN]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

According to the present invention, disclosed is a controller area network (CAN) data analysis system. More specifically, the present invention relates to a CAN data analysis system and method for collecting meaningful statistical information by collecting CAN data transmitted from a vehicle diagnosis device (OBD2) mounted in a vehicle through an information communication network. According to an embodiment of the present invention, in the method, CAN packets are collected from an on-vehicle data transmission module or the vehicle diagnosis device through the information communication network, a database is built through normalization and indexing procedures, and statistics for a timing interval by timeline is calculated, thereby obtaining meaningful statistical information.

Description

CAN 데이터 분석 시스템 및 방법{SYSTEM AND METHOD FOR ANALYSING CAN DATA}CAN data analysis system and method {SYSTEM AND METHOD FOR ANALYSING CAN DATA}
본 발명은 CAN 데이터 분석 시스템에 관한 것으로, 정보통신망을 통해 차량 내 탑재된 차량 진단기(OBD2)로부터 전송되는 CAN 데이터를 수집하여 유의미한 통계정보를 추출하는 CAN 데이터 분석 시스템 및 방법에 관한 것이다.The present invention relates to a CAN data analysis system, and more particularly, to a CAN data analysis system and method for extracting meaningful statistical information by collecting CAN data transmitted from an on-vehicle vehicle diagnostic apparatus (OBD2).
전자장치기술의 발전에 따라, 차량에는 다양한 형태의 전자제어장치(Electronic Control Unit; ECU)가 탑재되고 있다. 최근의 전자제어장치는 엔진 제어, 트랜스미션 제어, ABS, 액티브 서스펜션, 변속과 같이 주행과 밀접한 관련이 있는 제어뿐만 아니라, 미러 조정장치, 썬루프, 파워 윈도우, 좌석 조절장치 등과 같은 차량의 보조 장치의 제어까지 그 기능이 확장되고 있다.BACKGROUND With the development of electronic device technology, vehicles are equipped with various types of electronic control units (ECUs). Modern electronic controls are not only controls that are closely related to driving, such as engine control, transmission control, ABS, active suspension, and shifting, but also the vehicle's auxiliary devices such as mirror adjusters, sunroofs, power windows, and seat adjusters. Its functionality extends to control.
이러한 다수의 전자제어장치는 센서 등과 같은 센싱부와 제어기 그리고 작동부 사이에 단방향 또는 양방향으로 통신이 이루어지게 되는데, 차량내 실장된 각 장치와 차량용 네트워크 프로토콜로서 CAN(Controller Area Network) 통신 네트워크로 연결되어 각종 제어에 필요한 메시지가 전달되고 있다.Such a plurality of electronic control devices are one-way or two-way communication between the sensing unit, such as a sensor, and the controller and the operating unit, connected to each device mounted in the vehicle and a CAN (Controller Area Network) communication network as a network protocol for the vehicle. As a result, messages required for various control are transmitted.
이러한 CAN은 초기에 자동차 산업 분야에 적용하기 위해 고안된 시리얼 네트워크 통신 방식으로, 근래에는 자동차 분야 뿐만 아니라 산업 전 분야에 폭 넓게 적용되고 있다. CAN은 마이크로컨트롤러들 간의 통신을 위한 버스 방식으로 차량의 전자제어장치, 트랜스미션 제어 유닛(Transmission Control Unit; TCU), ABS의 마이크로컨트롤러 등과 데이터 통신을 수행하게 된다.CAN is a serial network communication method designed to be applied to the automotive industry initially. Recently, CAN is widely applied not only to the automotive field but also to the entire industry. CAN is a bus method for communication between microcontrollers and performs data communication with an electronic control unit of a vehicle, a transmission control unit (TCU), a microcontroller of ABS, and the like.
이러한 CAN은 고유의 식별자(ID)를 가지는 다수의 장치들을 하나의 버스를 통해 연결하여 장치들간 정보 교환을 할 수 있고, 일반적으로 OSI 7계층 중 물리계층(Physical Layer), 데이터 링크 계층(Data Link Layer) 및 어플리케이션 계층 (Application Layer)을 사용하게 된다. 또한, CAN 사용되는 메시지는 송신측이나 수신측의 주소를 포함하지 않으며, 수신측의 식별자(ID) 정보만을 포함한다. CAN 버스는 CAN 프로토콜에 따라 다수 개의 노드들 또는 다수개의 전자 장치들 각각에 고유한 식별자를 할당한다.Such a CAN can exchange information between devices by connecting a plurality of devices having unique identifiers (IDs) through a single bus, and generally, a physical layer and a data link layer of the OSI 7 layer are used. Layer and Application Layer will be used. In addition, the message used in CAN does not include an address of a sender or a receiver, but includes only identifier (ID) information of a receiver. The CAN bus assigns a unique identifier to each of a plurality of nodes or a plurality of electronic devices in accordance with the CAN protocol.
이에 따라, CAN 통신 네트워크는 마치 사무실의 데스크탑 PC들을 연결한 것과 같이 다수의 전자제어장치를 공통 네트워크 버스에 연결함으로써 차량에서의 배선 개수를 획기적으로 감소시키고, 차량의 총 제조 비용도 낮출 수 있게 된다.As a result, the CAN communication network dramatically reduces the number of wires in the vehicle and lowers the total manufacturing cost of the vehicle by connecting multiple electronic controls to the common network bus as if connecting desktop PCs in the office. .
등록특허공보 제10-1371895호(공고일자: 2014.03.10.)Patent Application Publication No. 10-1371895 (Notice date: Mar. 10, 2014)
본 발명은 차량에 탑재되는 전자제어장치의 통신을 위한 CAN 데이터를 수집 및 분석함으로써, 각 차량에 대한 비정상 데이터 패킷의 유입을 탐지하는 등의 유의미한 정보를 획득할 수 있는 CAN 데이터 분석 시스템을 제공하는 데 과제가 있다. The present invention provides a CAN data analysis system that can acquire meaningful information, such as detecting the inflow of abnormal data packets for each vehicle by collecting and analyzing CAN data for communication of an electronic control device mounted on a vehicle. There is a challenge.
전술한 과제를 해결하기 위해, 본 발명의 실시예에 따른 CAN 데이터 분석 시스템은, 하나 이상의 차량으로부터 실시간으로 데이터 패킷을 수집 및 저장하는 데이터 수집모듈과, 저장된 데이터 패킷을 파싱하고, 파싱결과를 정규화 과정을 통해 복수의 필드항목에 따라 배치하는 정규화 엔진과, 상기 정규화 엔진에 의해 정규화된 데이터를 인덱스 파일로 변환하는 인덱스 데이터 모듈과, 상기 인덱스 파일을 저장하는 데이터 저장소를 포함할 수 있다.In order to solve the above-mentioned problems, the CAN data analysis system according to an embodiment of the present invention, a data collection module for collecting and storing data packets from one or more vehicles in real time, parsing the stored data packets and normalizing the parsing results. The process may include a normalization engine arranged according to a plurality of field items, an index data module for converting data normalized by the normalization engine into an index file, and a data store for storing the index file.
상기 필드항목은, 타임 스탬프(Time Stamp), 식별자(CAN_ID), 데이터 길이(CAN_Length) 및 데이터 값(CAN_DATA) 중, 하나 이상을 포함할 수 있다.The field item may include one or more of a time stamp, an identifier CAN_ID, a data length CAN_Length, and a data value CAN_DATA.
상기 데이터 수집모듈은, 상기 차량에 탑재된 차량 진단기(OBD2) 또는 CAN 버스에 직접 연결된 데이터 전송모듈로부터 상기 데이터 패킷을 무선 수신할 수 있다.The data collection module may wirelessly receive the data packet from a vehicle diagnostic device (OBD2) mounted in the vehicle or a data transmission module directly connected to a CAN bus.
상기 차량 진단기 또는 데이터 전송모듈은, 상기 데이터 패킷에 상기 타임 스탬프를 추가하여 상기 데이터 수집모듈에 전송할 수 있다.The vehicle diagnostic apparatus or the data transmission module may add the time stamp to the data packet and transmit the time stamp to the data collection module.
상기 차량 진단기 또는 데이터 전송모듈은, 상기 데이터 수집모듈과 TCP/IP 프로토콜로 통신하고, 상기 데이터 패킷에 IP정보를 추가하여 상기 데이터 수집모듈에 전송할 수 있다.The vehicle diagnostic apparatus or the data transmission module may communicate with the data collection module through a TCP / IP protocol and add IP information to the data packet and transmit the data information to the data collection module.
상기 차량 진단기 또는 데이터 전송모듈은, 상기 데이터 패킷에 하드웨어 고유번호 정보를 추가하여 상기 데이터 수집모듈에 전송할 수 있다.The vehicle diagnostic apparatus or the data transmission module may add hardware unique number information to the data packet and transmit the hardware identification number information to the data collection module.
상기 정규화 엔진은, 상기 데이터 수집모듈이 상기 데이터 패킷을 수신한 시간을 상기 타임 스탬프로 설정할 수 있다.The normalization engine may set the time when the data collection module receives the data packet as the time stamp.
설정된 검색조건에 따라, 상기 데이터 저장소에 저장된 인덱스 파일을 검색 및 추출하는 검색모듈을 더 포함할 수 있다.The search module may further include a search module for searching and extracting an index file stored in the data store according to a set search condition.
상기 검색모듈로부터 추출결과에 대하여, 각 식별자(CAN_ID)별 일정단위의 시간 간격(Timing Interval)에 따른 통계정보를 생성하는 분석모듈을 더 포함할 수 있다.The analysis module may further include an analysis module that generates statistical information according to a timing interval of a predetermined unit for each identifier CAN_ID, based on the extraction result from the search module.
정보통신망을 통해 게시되어 외부 단말로부터 상기 검색조건을 입력받는 웹 페이지를 제공하고, 상기 통계정보를 웹 페이지 상에 게시하는 웹 페이지 제공모듈을 더 포함할 수 있다.The web page may further include a web page providing module which is posted through an information communication network to receive the search condition from an external terminal and posts the statistical information on the web page.
상기 검색조건은, 검색기간, 통계항목, 시간단위, 카운트값(COUNT), 범례필드 및 범례항목 중, 하나 이상을 포함할 수 있다.The search condition may include one or more of a search period, a statistic item, a time unit, a count value (COUNT), a legend field, and a legend item.
전술한 과제를 해결하기 위해, 본 발명의 실시예에 따른 CAN 데이터 분석 방법은, 하나 이상의 차량으로부터 실시간으로 데이터 패킷을 수집하여 통계정보를 생성하는 CAN 데이터 분석 시스템에 의한 분석 방법으로서, 하나 이상의 차량으로부터 실시간으로 데이터 패킷을 수집 및 저장하는 단계와, 저장된 데이터 패킷을 파싱하고, 파싱결과를 정규화 과정을 통해 복수의 필드항목에 따라 배치하는 단계와, 정규화된 데이터에 인덱스를 부여하여 인덱스 파일로 변환하는 단계와, 상기 인덱스 파일을 저장하는 단계와, 설정된 검색조건에 따라, 저장된 인덱스 파일을 검색 및 추출하는 단계와, 추출결과에 대하여, 각 식별자(CAN_ID)별 일정단위의 시간 간격(Timing Interval)에 따른 통계정보를 생성하는 단계를 포함할 수 있다.In order to solve the above problems, the CAN data analysis method according to an embodiment of the present invention, an analysis method by the CAN data analysis system for generating statistical information by collecting data packets from at least one vehicle in real time, one or more vehicles Collecting and storing the data packet in real time, parsing the stored data packet, and disposing the parsing result according to a plurality of field items through a normalization process, and converting the normalized data into an index file by indexing the normalized data. Storing the index file, searching and extracting the stored index file according to a set search condition, and timing intervals of a predetermined unit for each identifier (CAN_ID) with respect to the extraction result. It may include the step of generating statistical information according to.
상기 저장된 인덱스 파일을 검색 및 추출하는 단계 이전에, 상기 검색조건을 입력받는 웹 페이지를 제공하는 단계를 포함하고, 상기 통계정보를 생성하는 단계는, 상기 통계정보를 상기 웹 페이지에 전송하는 단계를 포함할 수 있다.Before searching and extracting the stored index file, providing a web page for receiving the search condition, and generating the statistical information may include transmitting the statistical information to the web page. It may include.
본 발명의 실시예에 따르면, 차량 내 탑재된 데이터 전송모듈 또는 차량 진단기로부터 정보통신망을 통해 CAN 패킷을 수집하고, 정규화 및 인덱스 절차를 거쳐 데이터 베이스를 구축하고, 일정시간 단위로 타임라인 별 시간 간격(Timing Interval)에 대한 통계를 산출함으로써 유의미한 정보를 획득할 수 있는 효과가 있다.According to an exemplary embodiment of the present invention, a CAN packet is collected from an on-vehicle data transmission module or a vehicle diagnostic apparatus through an information communication network, a database is established through normalization and indexing procedures, and time intervals are formed for each timeline by a predetermined time unit. By calculating the statistics for the Timing Interval, it is possible to obtain meaningful information.
도 1은 본 발명의 실시예에 따른 CAN 데이터 분석 시스템의 적용방식을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 CAN 데이터 분석 시스템의 구조를 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 CAN 데이터 분석 시스템에 의한 정규화된 데이터 패킷의 형태를 예시한 도면이다.
도 4는 본 발명의 실시예에 따른 CAN 데이터 분석 시스템이 생성한 통계정보를 표로 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 CAN 데이터 분석 방법을 나타낸 도면이다.
1 is a view schematically showing an application method of a CAN data analysis system according to an embodiment of the present invention.
2 is a view showing the structure of a CAN data analysis system according to an embodiment of the present invention.
3 is a diagram illustrating a form of a normalized data packet by the CAN data analysis system according to an embodiment of the present invention.
4 is a table showing statistical information generated by the CAN data analysis system according to an embodiment of the present invention.
5 is a view showing a CAN data analysis method according to an embodiment of the present invention.
설명에 앞서, 명세서 전체에서 어떤 부분이 어떤 구성요소를 "구비" 또는 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부(Unit)", "...모듈(module)", 및 "...시스템(System)" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어, 소프트웨어 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Prior to the description, when any part of the specification to "include" or "include" any component, unless otherwise stated, it may further include other components, not to exclude other components. It means to be. In addition, terms such as "unit", "... module", and "... system" described in the specification refer to a unit that processes at least one function or operation. Which may be implemented in hardware, software or a combination of hardware and software.
또한, 본 명세서에서 "실시예"라는 용어는 예시, 사례 또는 도해의 역할을 하는 것을 의미하나, 발명의 대상은 그러한 예에 의해 제한되지 않는다. 또한, "포함하는", "구비하는", "갖는" 및 다른 유사한 용어가 사용되고 있으나, 청구범위에서 사용되는 경우 임의의 추가적인 또는 다른 구성요소를 배제하지 않는 개방적인 전환어(Transition word)로서 "포함하는(Comprising)"이라는 용어와 유사한 방식으로 포괄적으로 사용된다.In addition, the term "embodiment" herein is meant to serve as an example, example or illustration, but the subject matter of the invention is not limited by such an example. In addition, "comprising", "comprising", "having" and other similar terms are used, but as used in the claims do not exclude any additional or other component as "transition word." It is used generically in a similar manner to the term Comprising.
본 명세서에 설명된 다양한 기법은 하드웨어 또는 소프트웨어와 함께 구현될 수 있거나, 적합한 경우에 이들 모두의 조합과 함께 구현될 수 있다. 본 명세서에 사용된 바와 같은 "...부(Unit)", "...모듈(module)", "...시스템(System)" 등의 용어는 마찬가지로 컴퓨터 관련 엔티티(Entity), 즉 하드웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어 또는 실행 시의 소프트웨어와 등가로 취급할 수 있다. 또한, 본 발명에서는 서버 또는 단말에서 실행되는 각 기능은 모듈단위로 구성될 수 있고, 하나의 물리적 메모리에 기록되거나, 둘 이상의 메모리 및 기록매체 사이에 분산되어 기록될 수 있다.The various techniques described herein may be implemented with hardware or software, or where appropriate, with a combination of both. As used herein, the terms "... Unit", "... module", "... System", etc., likewise refer to computer-related entities, ie hardware , A combination of hardware and software, software, or software at run time. In addition, in the present invention, each function executed in the server or the terminal may be configured in a module unit, and may be recorded in one physical memory or distributed between two or more memories and a recording medium.
이하, 도면을 참조하여 본 발명의 실시예에 따른 CAN 데이터 분석 시스템 및 방법을 설명한다.Hereinafter, a CAN data analysis system and method according to an embodiment of the present invention will be described with reference to the drawings.
도 1은 본 발명의 실시예에 따른 CAN 데이터 분석 시스템의 적용방식을 개략적으로 나타낸 도면이다.1 is a view schematically showing an application method of a CAN data analysis system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시예에 따른 CAN 데이터 분석 시스템(100)은 각 차량(10)에 탑재되는 데이터 전송모듈(50) 또는 차량 진단기와 정보 통신망을 통해 연결되어 하나 이상의 차량(10) 내 발생하는 CAN 데이터 패킷(Data Packet)을 실시간으로 수집하고, 이를 분석할 수 있다.Referring to FIG. 1, the CAN data analysis system 100 according to an exemplary embodiment of the present invention may be connected to a data transmission module 50 or a vehicle diagnostic apparatus mounted on each vehicle 10 through an information communication network to at least one vehicle 10. ) Can collect the CAN data packet generated in real time in real time and analyze it.
차량(10)은 다수의 전자제어장치(ECU)가 탑재되어 있고, 다수의 전자제어장치들간 메시지를 송수신하는 CAN 통신 네트워크에 연결되며, 정보통신망에 접속할 수 있는 데이터 전송모듈(50)이 탑재될 수 있다. 데이터 전송모듈(50)은 TCP/IP 프로토콜로 CAN 분석 시스템(100)에 접속하고 CAN 통신 네트워크에서 송수신되는 메시지들을 CAN 데이터 패킷으로 CAN 분석 시스템(100)에 실시간으로 전송할 수 있다.The vehicle 10 is equipped with a plurality of electronic control unit (ECU), is connected to the CAN communication network for transmitting and receiving messages between the plurality of electronic control devices, and is equipped with a data transmission module 50 that can be connected to the information communication network Can be. The data transmission module 50 may be connected to the CAN analysis system 100 through the TCP / IP protocol and transmit the messages transmitted and received in the CAN communication network to the CAN analysis system 100 as CAN data packets in real time.
또한, 차량(10)에는 별도의 차량 진단기(미도시)가 더 설치될 수 있고, 전술한 데이터 전송모듈(50)을 대신하여 CAN 데이터 패킷을 CAN 분석 시스템(100)으로 전송할 수 있다.In addition, a vehicle diagnostic apparatus (not shown) may be further installed in the vehicle 10, and the CAN data packet may be transmitted to the CAN analysis system 100 in place of the data transmission module 50 described above.
전술한 차량 진단기는, 표준 OBD2 방식이 적용될 수 있다. 이러한 표준 OBD2 방식은 차량의 제조사와 차량의 모델에 관계없이 공통적인 차량 데이터의 수집이 가능한 이점이 있고 배기가스규제와 관련된 것이기 때문에 다른 통신 방식에 비해 차량의 데이터 수집이 자유롭다는 특징이 있다. 특히, 타 방식과는 달리 표준 OBD2 방식은 차량의 데이터를 훼손하지 않기 때문에 제약 없이 사용이 가능하다.The vehicle diagnostic apparatus described above may be applied to the standard OBD2 method. This standard OBD2 method has the advantage that it is possible to collect common vehicle data regardless of the vehicle manufacturer and model of the vehicle, and because it is related to the exhaust gas regulation, the vehicle has a characteristic of freely collecting data compared to other communication methods. In particular, unlike other methods, the standard OBD2 method can be used without restriction because it does not damage the data of the vehicle.
CAN 데이터 분석 시스템(100)은 타임라인(Time Line)을 이용한 식별자(CAN_ID)의 주기를 분석하기 위한 것으로, 차량 내 다수의 전자제어장치들 사이에서 데이터 송, 수신을 하기 위해 주기적으로 발생하는 CAN 메시지에 대해서 각각의 CAN 데이터에 대한 식별자(CAN_ID)별 시간 간격(Timing Interval)을 분석할 수 있다.The CAN data analysis system 100 analyzes a cycle of an identifier CAN_ID using a time line. The CAN data analysis system 100 periodically generates data to transmit and receive data among a plurality of electronic control devices in a vehicle. For each message, a timing interval for each CAN data ID (CAN_ID) may be analyzed.
이러한 분석결과에 따르면, 식별자(CAN_ID)별 이전 발생한 패킷과 새로운 패킷 사이의 간격 분석을 통해 각 전자제어장치의 송수신 데이터가 일정한 주기성을 가지고 있는지 확인하는 데 활용할 수 있다.According to the analysis result, the interval between the previously generated packet and the new packet for each identifier (CAN_ID) can be used to determine whether the transmission and reception data of each electronic control device has a certain periodicity.
이를 위해, 본 발명의 실시예에 따른 CAN 데이터 분석 시스템(100)은 각 차량(10)으로부터 전송되는 데이터 패킷을 실시간으로 수신하고, 차량 별로 임시 저장하며, 시스템에 탑재된 정규화 엔진 및 분석 모듈 등을 통해 통계정보를 산출할 수 있다.To this end, the CAN data analysis system 100 according to an embodiment of the present invention receives data packets transmitted from each vehicle 10 in real time, temporarily stores them for each vehicle, and includes a normalization engine and an analysis module mounted in the system. Statistical information can be calculated through.
CAN 데이터 분석 시스템(100)이 차량으로부터 수집하는 CAN 데이터로는 부하 계산값, 오작동 코드, 엔진 냉각수 온도, 엔진 회전수, 자동차 속도, 오작동 표시등 점등 여부, 절대 부하값, 연료레벨, 엔진전자제어장치 계통 전압, 공연비 지시값, 촉매온도, 감시 실행여부, 엔진 시동 후 운행시간, 오작동 표시등 점등 후 운행거리, 오작동 코드 소거 후 운행거리, 오작동 코드 소거 후 예열사이클 회수, 대기압, 연료 제어장치의 제어상태, 연료 보정값, 연료압력, 점화 진각량, 흡기온도, 흡기 매니폴드 내 공기압력, 흡기유량, 위치센서 출력값, 2차 공기 공급 상태, 산소센서 출력, 공연비 센서 출력, 대기온도, 증발가스계통 증기압, 퍼지밸브 동작 지시값, 배기가스 재순환 장치의 지시값과 실측값의 오차, 페달 위치 센서값 등이 포함될 수 있다.CAN data collected by the vehicle by the CAN data analysis system 100 includes load calculation values, malfunction codes, engine coolant temperature, engine speed, vehicle speed, and whether the indicator lights are on, absolute load values, fuel level, engine electronic control. Device system voltage, air-fuel ratio indication value, catalyst temperature, monitoring execution, running time after engine start, operating distance after igniting indicator light, running distance after erasing malfunction code, preheat cycle recovery after erasing malfunction code, atmospheric pressure, fuel control Control state, fuel correction value, fuel pressure, ignition advancement amount, intake temperature, air pressure in the intake manifold, intake flow rate, position sensor output value, secondary air supply state, oxygen sensor output, air-fuel ratio sensor output, atmospheric temperature, evaporated gas The system steam pressure, the purge valve operation indication value, the error of the indication value and the measured value of the exhaust gas recirculation device, the pedal position sensor value, and the like may be included.
이러한 CAN 데이터 분석 시스템(100)은 정보통신망 특히, TCP/IP 프로토콜로 각 차량과 통신하여 데이터를 수신하고, 탑재된 분석 프로그램을 통해 지연없이 고속으로 다수의 데이터 패킷을 처리 및 저장할 수 있는 고성능의 마이크로 프로세서, 대용량 메모리 및 저장소를 탑재한 서버 장치로 구현될 수 있다.The CAN data analysis system 100 receives data by communicating with each vehicle through an information communication network, in particular, a TCP / IP protocol, and can process and store a plurality of data packets at high speed without delay through an onboard analysis program. It can be implemented as a server device equipped with a microprocessor, a large memory and a storage.
이하, 도면을 참조하여 본 발명의 실시예에 따른 CAN 데이터 분석 시스템(100)의 구조를 상세히 설명한다. Hereinafter, the structure of a CAN data analysis system 100 according to an embodiment of the present invention with reference to the drawings in detail.
도 2는 본 발명의 실시예에 따른 CAN 데이터 분석 시스템의 구조를 나타낸 도면이다.2 is a view showing the structure of a CAN data analysis system according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 실시예에 따른 CAN 데이터 분석 시스템(100)은, 하나 이상의 차량(10)으로부터 실시간으로 데이터 패킷을 수집 및 저장하는 데이터 수집모듈(110)과, 저장된 데이터 패킷을 파싱(parsing)하고 파싱결과를 정규화(normalization) 과정을 통해 복수의 필드항목에 따라 배치하는 정규화 엔진(120)과, 정규화 엔진에 의해 정규화된 데이터를 인덱스 파일(Index File)로 변환하는 인덱스 데이터 모듈(130)과, 인덱스 파일을 저장하는 데이터 저장소(140)와, 설정된 검색조건에 따라, 데이터 저장소(140)에 저장된 인덱스 파일을 검색 및 추출하는 검색모듈(150)과, 검색모듈(150)로부터 추출결과에 대하여, 각 식별자(CAN_ID)별 일정단위의 시간 간격(Timing Interval)에 따른 통계정보를 생성하는 분석모듈(160)과, 정보통신망을 통해 웹에 연결되어 검색조건을 입력받고, 통계정보를 웹에 전송하는 웹 페이지 제공모듈(170)을 포함할 수 있다.2, the CAN data analysis system 100 according to an embodiment of the present invention, the data collection module 110 for collecting and storing data packets in real time from one or more vehicles 10, and the stored data packets A normalization engine 120 for parsing and arranging the parsing result according to a plurality of field items through a normalization process, and an index data module for converting data normalized by the normalization engine into an index file. 130, a data store 140 for storing the index file, a search module 150 for searching and extracting the index file stored in the data store 140 according to a set search condition, and a search module 150. Regarding the extracted result, the analysis module 160 generates statistical information according to a timing interval of a predetermined unit for each identifier CAN_ID, and enters a search condition connected to the web through an information communication network. It may include a web page providing module 170 for receiving and transmitting statistical information to the web.
데이터 수집모듈(110)은 차량(10) 내 탑재된 데이터 전송모듈(50) 또는 차량 진단기(60)로부터 전송되는 CAN 데이터 패킷을 실시간으로 수집하고, 일정한 단위시간마다 파일형태로 임시 저장할 수 있다. 데이터 수집모듈(110)은 TCP/IP 프로토콜로 차량(10)과 통신할 수 있고, 바람직한 단위시간으로서 1분 간격으로 각 차량(10)으로부터 데이터 패킷을 지속적으로 수집하게 된다. The data collection module 110 may collect CAN data packets transmitted from the data transmission module 50 or the vehicle diagnostic device 60 mounted in the vehicle 10 in real time, and temporarily store them in a file form at a predetermined unit time. The data collection module 110 may communicate with the vehicle 10 through the TCP / IP protocol, and continuously collects data packets from each vehicle 10 at intervals of one minute as a preferable unit time.
여기서, 실제 차량 CAN 네크워크에서 송수신되는 CAN 메시지 즉, 로우 데이터(raw data)는 이하의 표 1의 구조로 이루어질 수 있다.Here, the CAN message, that is, raw data transmitted and received in the actual vehicle CAN network may have the structure of Table 1 below.
CAN_IDCAN_ID DATA LengthDATA Length DATA Byte(hex)DATA Byte (hex)
0x030x03 88 04 41 03 02 00 00 00 0004 41 03 02 00 00 00 00
상기의 표 1에서 확인할 수 있는 바와 같이, 일반적인 CAN 메시지에는 해당 데이터가 발생한 시간이 포함되어 있지 않음에 따라, 이러한 상태로는 데이터화할 수 없으며, 이에 본 발명의 실시예에서는 데이터 전송모듈(50) 또는 차량 진단기(60)에서 데이터 패킷의 전송시, 추출된 CAN 메시지에 대하여 타임 스탬프(Time Stamp)를 데이터 패킷에 추가할 수 있다.As can be seen in Table 1 above, since the general CAN message does not include the time at which the corresponding data occurred, data cannot be converted into such a state. Thus, in the embodiment of the present invention, the data transmission module 50 Alternatively, when the vehicle diagnostic apparatus 60 transmits the data packet, a time stamp may be added to the data packet for the extracted CAN message.
또는, 데이터 수집모듈(110)에서 표 1 형태의 데이터 패킷을 수신하면, 그 수신시간을 기록하고, 후술하는 정규화 엔진(120)에서 기록된 수신시간(DATA Receiver)을 참조하여 타임 스탬프(Time Stamp)를 추가할 수 있다. Alternatively, when the data collection module 110 receives the data packet of Table 1, the reception time is recorded, and the time stamp is referred to by referring to the reception time (DATA Receiver) recorded by the normalization engine 120 to be described later. ) Can be added.
전술한 타임 스탬프(Time Stamp)가 추가된 데이터 패킷의 구조를 예시하면 이하의 표 2와 같다.An example of the structure of a data packet to which the above-described time stamp is added is shown in Table 2 below.
Time StampTime stamp CAN_IDCAN_ID DATA LengthDATA Length DATA Byte(hex)DATA Byte (hex)
2018062013450120180620134501 0x030x03 88 04 41 03 02 00 00 00 0004 41 03 02 00 00 00 00
상기의 표 2는 '0x03'의 식별자(CAN_ID)를 갖는 전자제어장치(ECU)가 '8'의 길이를 갖는 메시지를 '2018년 06월 20일 13시45분 01초'에 생성한 예를 나타내고 있다.Table 2 above shows an example in which the electronic control unit (ECU) having the identifier (CAN_ID) of '0x03' generates a message having a length of '8' on June 20, 2018 at 13:45:01 seconds. It is shown.
또한, 본 발명의 실시예에 따른 데이터 수집모듈(110)은 다수의 차량으로부터 동시에 데이터 패킷을 수신할 수 있고, 이를 차량 별로 구별하기 위해 데이터 전송모듈(50)은 TCP/IP 프로토콜에서 이용하는 IP정보를 고유값으로 추가해서 전송하거나, 자신에게 할당된 하드웨어 고유번호 정보(Serial Number; SN)를 추가해서 전송할 수 있다. 이하의 표 3은 IP정보가 추가된 데이터 패킷의 구조를 예시하고 있다.In addition, the data collection module 110 according to an embodiment of the present invention may receive data packets from a plurality of vehicles at the same time, in order to distinguish them by vehicle, the data transmission module 50 uses IP information used in the TCP / IP protocol Can be transmitted by adding as a unique value, or by adding hardware serial number (SN) allocated to itself. Table 3 below illustrates the structure of a data packet to which IP information is added.
IPIP Time StampTime stamp CAN_IDCAN_ID DATA LengthDATA Length DATA Byte(hex)DATA Byte (hex)
192.168.0.1192.168.0.1 2018062013450120180620134501 0x030x03 88 04 41 03 02 00 00 00 0004 41 03 02 00 00 00 00
또한, 이하의 표 4는 하드웨어 고유번호 정보가 추가된 데이터 패킷의 구조를 예시하고 있다.In addition, Table 4 below illustrates the structure of a data packet to which hardware unique number information is added.
SNSN Time StampTime stamp CAN_IDCAN_ID DATA LengthDATA Length DATA Byte(hex)DATA Byte (hex)
0000100001 2018062013450120180620134501 0x030x03 88 04 41 03 02 00 00 00 0004 41 03 02 00 00 00 00
정규화 엔진(120)은 정의된 필드항목에 따라 데이터를 파싱하는 역할을 하는 것으로, 데이터 수집모듈(110)에 단위시간마다 임시로 저장된 데이터 패킷을 정규식에 따라, 각각의 필드항목, 타임 스탬프(Time Stamp), 식별자(CAN_ID), 데이터 길이(CAN_Length) 및 데이터 값(CAN_DATA)으로 파싱할 수 있다.The normalization engine 120 parses data according to a defined field item. Each field item and a time stamp (Time stamp) are temporarily stored in the data collection module 110 according to a regular expression. It can be parsed into a stamp, an identifier (CAN_ID), a data length (CAN_Length), and a data value (CAN_DATA).
상세하게는, 정규화 엔진(120)은 이하의 표 5에 예시된 정규식 표현으로 데이터 파싱절차를 수행할 수 있다.In detail, the normalization engine 120 may perform a data parsing procedure with the regular expression expression illustrated in Table 5 below.
정규식Regex
(\d{1,14})\s([^\s]{1,15})\s([^\s]{1,10})\s([^\s]{1})\s([^\$]{1,23}(\ d {1,14}) \ s ([^ \ s] {1,15}) \ s ([^ \ s] {1,10}) \ s ([^ \ s] {1}) \ s ([^ \ $] {1,23}
일 예로서, 표 5에 기재된 정규식에 따라, 원본 데이터가 '20180703103505 192.168.100.200 0x03 8 04 41 03 02 00 00 00 00' 인 데이터 패킷에 대하여 정규화 절차를 수행한다고 가정하면, 각 항목별 의미는 이하의 표 6과 같다. As an example, assuming that the normalization procedure is performed on a data packet whose original data is '20180703103505 192.168.100.200 0x03 8 04 41 03 02 00 00 00 00' according to the regular expression described in Table 5, the meaning of each item is as follows. Table 6 is as follows.
필드항목Field Item 정규식Regex 필드 이름Field name 정규식 표현Regex expression
2018070310350520180703103505 (\d{1,14})(\ d {1,14}) Time StampTime stamp 숫자값 한자리에서 열네자리까지 수용Accepts one to fourteen digit values
\s\ s 공백 한자리A space
192.168.100.200192.168.100.200 ([^\s]{1,15})([^ \ s] {1,15}) IP or SNIP or SN xxx.xxx.xxx.xxx IP 값 수용, 15자리까지 고유의 값(일련번호) 수용xxx.xxx.xxx.xxx accepts IP values, accepts unique values (serial number) up to 15 digits
\s\ s 공백 한자리A space
0x030x03 ([^\s]{1,10})([^ \ s] {1,10}) CAN_IDCAN_ID 공백이 오기 전 한자리에서 열자리까지의 값을 수용Accepts values from one digit to ten digits before white space
\s\ s 공백 한자리A space
88 ([^\s]{1})([^ \ s] {1}) LengthLength 공백이 오기 전 한자리 값을 수용Accept single digit value before space
\s\ s 공백 한자리A space
04 41 03 02 00 00 00 0004 41 03 02 00 00 00 00 ([^\$]{1,23})([^ \ $] {1,23}) DATADATA 데이터 끝까지 수용하나 자리수는 한자리에서 스물세자리까지 수용Accepts to the end of the data but accommodates one to twenty-three digits
정규화 엔진(120)은 상기의 표 6에 예시된 항목정의에 기초하여 정규화 절차를 수행할 수 있다.The normalization engine 120 may perform a normalization procedure based on the item definition illustrated in Table 6 above.
인덱스 데이터 모듈(130)은 정규화가 완료된 데이터에 대하여 인덱싱(Indexing)이 가능한 형태인 인덱스 파일(Index File)로 데이터를 재가공 할 수 있고, 데이터 저장소(140)는 변환된 인덱스 파일을 차량 별로 저장할 수 있다. 데이터 저장소(140)에 저장된 인덱스 파일은 후술하는 검색조건에 따라, 웹을 통한 외부 단말(200)에 의해 검색 가능한 형태로 저장될 수 있다.The index data module 130 may reprocess the data into an index file that is indexable to the normalized data, and the data storage 140 may store the converted index file for each vehicle. have. The index file stored in the data storage 140 may be stored in a searchable form by the external terminal 200 through the web according to a search condition described below.
검색모듈(150)은 외부 단말(200)에서 설정한 검색조건에 따라, 데이터 저장소(140)를 참조하여 해당 CAN 데이터를 추출할 수 있다. 검색모듈(150)이 이용한 검색조건으로는 검색기간, 통계항목, 시간단위, 카운트값(COUNT), 범례필드 및 범례항목 등이 있다.The search module 150 may extract corresponding CAN data with reference to the data storage 140 according to a search condition set by the external terminal 200. Search conditions used by the search module 150 include a search period, a statistic item, a time unit, a count value (COUNT), a legend field, and a legend item.
분석모듈(160)은 검색모듈(150)로부터 추출결과에 대한 분석을 통한 통계정보를 생성할 수 있다. The analysis module 160 may generate statistical information through analysis of the extraction result from the search module 150.
도 3는 본 발명의 실시예에 따른 CAN 데이터 분석 시스템에 의한 정규화된 데이터 패킷의 형태를 예시한 도면으로서, 도 3을 참조하면, 분석모듈(160)은 검색모듈을 통해 검색된 데이터에서 데이터 정규화 엔진을 통해 구분된 식별자(CAN_ID) 필드만을 지정하여 일정시간, 일 예로서, 1시간내에서 발생한 모든 식별자(CAN_ID)필드만을 지정하여 모든 식별자(CAN_ID)에 대한 타임라인(Time Line) 분석 기능으로 1분, 10분 또는 1시간 단위로 발생된 식별자(CAN_ID)에 대한 통계를 산출할 수 있다.3 is a view illustrating a form of a normalized data packet by a CAN data analysis system according to an embodiment of the present invention. Referring to FIG. 3, the analysis module 160 may include a data normalization engine in data retrieved through a search module. By specifying only the identifier (CAN_ID) field separated through a predetermined time, for example, by specifying only the identifier (CAN_ID) field generated within one hour as a time line (Time Line) analysis function for all identifiers (CAN_ID) 1 Statistics for the identifier CAN_ID generated in units of minutes, 10 minutes, or 1 hour may be calculated.
도 3에서는 검색조건으로서, 1시간 동안 '09x0', '0x55', '0x1x', '0x77', '0421', '0xx3', '02x4', '0x03' 및 '0cc8'의 식별자(CAN_ID)를 갖는 9개의 전자제어장치의 데이터의 발생횟수에 따른 카운트값(COUNT)을 나타내고 있으며, 1시간동안 1분마다 식별자(CAN_ID)별 시간 간격(Time Interval)을 확인할 수 있다.In FIG. 3, identifiers of '09x0', '0x55', '0x1x', '0x77', '0421', '0xx3', '02x4', '0x03' and '0cc8' for one hour as search conditions. A count value COUNT is shown according to the number of occurrences of data of nine electronic controllers, and the time interval for each identifier CAN_ID can be checked every minute for one hour.
또한, 본 발명의 실시예에 따른 분석모듈(160)은 그룹분석 기능으로서, AND 조건을 통해 식별자(CAN_ID)별로 발생한 데이터에 대한 통계정보를 생성하는 기능을 제공할 수 있다.In addition, the analysis module 160 according to an embodiment of the present invention may provide a function of generating statistical information on data generated for each identifier (CAN_ID) through an AND condition as a group analysis function.
도 4는 본 발명의 실시예에 따른 CAN 데이터 분석 시스템이 생성한 통계정보를 표로 나타낸 도면으로서, 식별자(CAN_ID)가 '0x03' 및 '09x0'인 데이터를 AND 조건에 따라 추출한 1분동안의 통계정보를 예시하고 있다.FIG. 4 is a table showing statistical information generated by a CAN data analysis system according to an embodiment of the present invention. Statistics for one minute from which data having identifiers CAN_ID '0x03' and '09x0' are extracted according to an AND condition is shown in FIG. Information is illustrated.
도 4에 따르면, 식별자(CAN_ID)가 '0x03'인 전자제어장치에서 '03 12 99 00 00 45 22 00'인 데이터는 1분동안 10회 발생하였으며, '04 12 77 00 00 45 22 00'인 데이터는 1분동안 5회 발생하였음을 나타내고 있다.According to FIG. 4, data having '03 12 99 00 00 45 22 00 'occurred 10 times in one minute in the electronic control device having the identifier CAN_ID of' 0x03 ', and has a value of '04 12 77 00 00 45 22 00'. The data indicate that five times occurred in one minute.
또한, 식별자(CAN_ID)가 '09x9'인 전자제어장치에서 '77 00 00 14 00 00 01 01'인 데이터는 1분동안 20회 발생하였음을 알 수 있다.In addition, it can be seen that the data having '77 00 00 14 00 00 01 01 'occurred 20 times in one minute in the electronic control device having the identifier CAN_ID of' 09x9 '.
한편, 다시 도 2를 참조하면, 본 발명의 실시예에 따른 CAN 데이터 분석 시스템(100)의 웹 페이지 제공모듈(170)은 정보통신망을 통해 인터넷 상에 게시되는 웹 페이지(Web Page)를 제공할 수 있다.Meanwhile, referring back to FIG. 2, the web page providing module 170 of the CAN data analysis system 100 according to an embodiment of the present invention may provide a web page posted on the Internet through an information communication network. Can be.
관리자는 외부 단말(200)을 통해 웹 페이지 제공모듈(170)이 제공하는 웹 페이지에 접속하여 검색조건을 입력할 수 있고, 웹 페이지 제공모듈(170)은 입력되는 검색조건을 검색모듈(150)에 전달할 수 있고, 분석모듈(160)이 생성한 통계정보를 웹 페이지에 포함하여 외부 단말(200)에 제공할 수 있다.The administrator may access the web page provided by the web page providing module 170 and input a search condition through the external terminal 200, and the web page providing module 170 may input the search condition into the search module 150. It may be delivered to, and the statistical information generated by the analysis module 160 may be included in a web page and provided to the external terminal 200.
전술한 구조에 따라, 본 발명의 실시예에 따른 CAN 데이터 분석 시스템은 각 차량으로부터 CAN 데이터 패킷을 수집하고, 정규화 및 인덱싱 과정을 거쳐 데이터 베이스를 구축하며, 식별자(CAN_ID)별 시간 간격(Timing Interval)을 포함하는 통계정보를 제공할 수 있다.According to the above-described structure, the CAN data analysis system according to an embodiment of the present invention collects CAN data packets from each vehicle, builds a database through normalization and indexing, and sets a timing interval for each identifier (CAN_ID). Statistical information can be provided.
이하, 도면을 참조하여 본 발명의 실시예에 따른 CAN 데이터 분석 시스템에 의한 CAN 데이터 분석 방법을 설명한다.Hereinafter, a CAN data analysis method by a CAN data analysis system according to an embodiment of the present invention will be described with reference to the drawings.
도 5는 본 발명의 실시예에 따른 CAN 데이터 분석 방법을 나타낸 도면이다. 이하의 설명에서는 별도의 기재가 없더라도 각 단계별 수행주체는 전술한 CAN 데이터 분석 시스템 및 이를 이루는 구성부가 된다.5 is a view showing a CAN data analysis method according to an embodiment of the present invention. In the following description, even if there is no separate description, the performing agent for each step becomes the above-described CAN data analysis system and a component forming the same.
도 5를 참조하면, 본 발명의 CAN 데이터 분석 방법은, 하나 이상의 차량으로부터 실시간으로 데이터 패킷을 수집 및 저장하는 단계(S100)와, 저장된 데이터 패킷을 파싱하고, 파싱결과를 정규화 과정을 통해 복수의 필드항목에 따라 배치하는 단계(S110)와, 정규화된 데이터에 인덱스를 부여하여 인덱스 파일로 변환하는 단계(S120)와, 인덱스 파일을 저장하는 단계(S130)와, 설정된 검색조건에 따라, 저장된 인덱스 파일을 검색 및 추출하는 단계(S140)와, 추출결과에 대하여, 각 식별자(CAN_ID)별 일정단위의 시간 간격(Timing Interval)에 따른 통계정보를 생성하는 단계(S150)를 포함할 수 있다.Referring to FIG. 5, the CAN data analysis method of the present invention includes collecting and storing data packets from at least one vehicle in real time (S100), parsing the stored data packets, and normalizing the parsing results. According to the field item (S110), the step of assigning the index to the normalized data to convert the index file (S120), the step of storing the index file (S130), according to the set search conditions, stored index Searching and extracting the file (S140), and generating the statistical information according to the timing interval (Timing Interval) of a predetermined unit for each identifier (CAN_ID) for the extraction result (S150).
하나 이상의 차량으로부터 실시간으로 데이터 패킷을 수집 및 저장하는 단계(S100)는 데이터 수집모듈이 각 차량에 탑재된 데이터 전송모듈 또는 차량 진단기와 연결되고, 그로부터 CAN 데이터 패킷을 수신 및 저장하는 단계이다.Collecting and storing data packets in real time from one or more vehicles (S100) is a step in which the data collection module is connected to a data transmission module or a vehicle diagnostic apparatus mounted in each vehicle, and receives and stores CAN data packets therefrom.
다음으로, 저장된 데이터 패킷을 파싱하고, 파싱결과를 정규화 과정을 통해 복수의 필드항목에 따라 배치하는 단계(S110)에서는 정규화 엔진에 의한 데이터 패킷의 파싱을 통해 정규식에 따라, 필드항목, 타임 스탬프(Time Stamp), 식별자(CAN_ID), 데이터 길이(CAN_Length) 및 데이터 값(CAN_DATA)을 추출할 수 있다.Next, parsing the stored data packet and arranging the parsing result according to a plurality of field items through a normalization process (S110), according to a regular expression through parsing the data packet by the normalization engine, field item and time stamp ( A time stamp, an identifier CAN_ID, a data length CAN_Length, and a data value CAN_DATA may be extracted.
다음으로, 정규화된 데이터에 인덱스를 부여하여 인덱스 파일로 변환하는 단계(S120)는 인덱스 데이터 모듈이 파싱결과를 인덱싱이 가능한 파일형태로 변환하는 단계이다. Next, the step of converting the normalized data into an index file by assigning an index (S120) is a step in which the index data module converts the parsing result into a file format that can be indexed.
인덱스 파일을 저장하는 단계(S130)에서는 데이터 저장소에 차량 별로 인덱스 파일을 저장함으로써 데이터 베이스를 구축하게 된다. In the storing of the index file (S130), the database is constructed by storing the index file for each vehicle in the data storage.
이어서, 설정된 검색조건에 따라, 저장된 인덱스 파일을 검색 및 추출하는 단계(S140)는 검색모듈이 기 설정된 검색조건에 따라 데이터 저장소를 검색하여 저장된 인덱스 파일을 추출하는 단계이다.Subsequently, according to the set search condition, the searching and extracting the stored index file (S140) is a step in which the search module searches the data store according to the preset search condition and extracts the stored index file.
다음으로, 추출결과에 대하여, 각 식별자(CAN_ID)별 일정단위의 시간 간격(Timing Interval)에 따른 통계정보를 생성하는 단계(S150)로서, 분석모듈은 추출된 데이터를 식별자(CAN_ID)에 따라 1분, 10분 또는 1시간 단위로 데이터를 배열하고, 데이터를 카운트한 값을 포함하는 통계정보를 생성할 수 있다.Next, in operation S150, statistical information is generated according to a timing interval of a predetermined unit for each identifier CAN_ID with respect to the extraction result, and the analysis module 1 extracts the extracted data according to the identifier CAN_ID. The data may be arranged in units of minutes, 10 minutes, or 1 hour, and statistical information including a value of counting data may be generated.
또한, 도시되어 있지는 않지만 S140 단계 이전에, 검색조건을 입력받는 웹 페이지를 제공하는 단계를 포함할 수 있고, 이에 S150 단계에서 통계정보를 웹 페이지에 전송하는 단계를 더 포함할 수 있다.In addition, although not shown, before step S140, the method may include providing a web page for receiving a search condition. In operation S150, the method may further include transmitting statistical information to the web page.
상기한 설명에 많은 사항이 구체적으로 기재되어 있으나 이것은 발명의 범위를 한정하는 것이라기보다 바람직한 실시예의 예시로서 해석되어야 한다. 따라서, 발명은 설명된 실시예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위에 균등한 것에 의하여 정하여져야 한다.Many details are set forth in the foregoing description but should be construed as illustrative of preferred embodiments rather than to limit the scope of the invention. Therefore, the invention should not be defined by the described embodiments, but should be defined by the claims and their equivalents.
10 : 차량 50 : 데이터 전송모듈
60 : 차량 진단기 100 : CAN 분석 시스템
110 : 데이터 수집모듈 120 : 정규화 엔진
130 : 인덱스 데이터 모듈 140 : 데이터 저장소
150 : 검색모듈 160 : 분석모듈
170 : 웹 페이지 제공모듈 200 : 외부 단말
10: vehicle 50: data transmission module
60: vehicle diagnostics 100: CAN analysis system
110: data collection module 120: normalization engine
130: index data module 140: data storage
150: search module 160: analysis module
170: web page providing module 200: external terminal

Claims (13)

  1. 하나 이상의 차량에 탑재된 차량 진단기(OBD2) 또는 CAN 버스에 직접 연결된 데이터 전송모듈로부터 실시간으로 IP정보 또는 하드웨어 고유번호 정보가 추가된 데이터 패킷을 수집 및 저장하는 데이터 수집모듈;
    저장된 데이터 패킷을 파싱하고, 파싱결과를 정규식에 따라 정규화 과정을 통해 타임 스탬프(Time Stamp), 식별자(CAN_ID), 데이터 길이(CAN_Length) 및 데이터 값(CAN_DATA)을 포함하는 필드항목에 따라 배치하는 정규화 엔진;
    상기 정규화 엔진에 의해 정규화된 데이터를 인덱스 파일로 변환하는 인덱스 데이터 모듈;
    상기 인덱스 파일을 차량별로 설정된 검색조건에 따라 검색 가능한 형태로 저장하는 데이터 저장소;
    상기 데이터 저장소에 저장된 인덱스 파일을 검색 및 추출하는 검색모듈; 및
    일정 시간단위로 식별자(CAN_ID)별 데이터의 발생횟수에 따른 데이터의 시간 간격(Time Interval)을 포함하는 통계정보를 생성하는 분석모듈
    을 포함하는 CAN 데이터 분석 시스템.
    A data collection module for collecting and storing data packets in which IP information or hardware unique number information is added in real time from a vehicle diagnostic device (OBD2) mounted on at least one vehicle or a data transmission module directly connected to a CAN bus;
    Parsing the stored data packet and normalizing the parsing result according to field items including time stamp, identifier (CAN_ID), data length (CAN_Length) and data value (CAN_DATA) engine;
    An index data module for converting data normalized by the normalization engine into an index file;
    A data storage for storing the index file in a searchable form according to a search condition set for each vehicle;
    A search module for searching and extracting an index file stored in the data store; And
    Analysis module for generating statistical information including the time interval of the data according to the number of occurrence of the data for each identifier (CAN_ID) in a predetermined time unit
    CAN data analysis system comprising a.
  2. 삭제delete
  3. 삭제delete
  4. 제 1 항에 있어서,
    상기 차량 진단기 또는 데이터 전송모듈은,
    상기 데이터 패킷에 상기 타임 스탬프를 추가하여 상기 데이터 수집모듈에 전송하는 CAN 데이터 분석 시스템.
    The method of claim 1,
    The vehicle diagnostic or data transmission module,
    CAN data analysis system for adding the time stamp to the data packet to transmit to the data collection module.
  5. 제 1 항에 있어서,
    상기 차량 진단기 또는 데이터 전송모듈은,
    상기 데이터 수집모듈과 TCP/IP 프로토콜로 통신하는 CAN 데이터 분석 시스템.
    The method of claim 1,
    The vehicle diagnostic or data transmission module,
    CAN data analysis system in communication with the data acquisition module in the TCP / IP protocol.
  6. 삭제delete
  7. 제 1 항에 있어서,
    상기 정규화 엔진은,
    상기 데이터 수집모듈이 상기 데이터 패킷을 수신한 시간을 상기 타임 스탬프로 설정하는 CAN 데이터 분석 시스템.
    The method of claim 1,
    The normalization engine,
    CAN data analysis system for setting the time the data collection module receives the data packet to the time stamp.
  8. 삭제delete
  9. 삭제delete
  10. 제 1 항에 있어서,
    정보통신망을 통해 게시되어 외부 단말로부터 상기 검색조건을 입력받는 웹 페이지를 제공하고, 상기 통계정보를 웹 페이지 상에 게시하는 웹 페이지 제공모듈
    을 더 포함하는 CAN 데이터 분석 시스템.
    The method of claim 1,
    A web page providing module for providing a web page posted through an information communication network to receive the search condition from an external terminal and posting the statistical information on a web page.
    CAN data analysis system further comprising.
  11. 제 10 항에 있어서,
    상기 검색조건은,
    검색기간, 통계항목, 시간단위, 카운트값(COUNT), 범례필드 및 범례항목 중, 하나 이상을 포함하는 CAN 데이터 분석 시스템.
    The method of claim 10,
    The search condition is,
    CAN data analysis system including one or more of a search period, a statistic item, a time unit, a count value (COUNT), a legend field, and a legend item.
  12. 하나 이상의 차량에 탑재된 차량 진단기(OBD2) 또는 CAN 버스에 직접 연결된 데이터 전송모듈로부터 실시간으로 IP정보 또는 하드웨어 고유번호 정보가 추가된 데이터 패킷을 수집하여 통계정보를 생성하는 CAN 데이터 분석 시스템에 의한 분석 방법으로서,
    하나 이상의 차량으로부터 실시간으로 데이터 패킷을 수집 및 저장하는 단계;
    저장된 데이터 패킷을 파싱하고, 파싱결과를 정규식에 따라 정규화 과정을 통해 타임 스탬프(Time Stamp), 식별자(CAN_ID), 데이터 길이(CAN_Length) 및 데이터 값(CAN_DATA)을 포함하는 필드항목에 따라 배치하는 단계;
    정규화된 데이터에 인덱스를 부여하여 인덱스 파일로 변환하는 단계;
    차량별로 설정된 검색조건에 따라 검색 가능한 형태로 상기 인덱스 파일을 저장하는 단계;
    설정된 검색조건에 따라, 저장된 인덱스 파일을 검색 및 추출하는 단계; 및
    일정 시간단위로 식별자(CAN_ID)별 데이터의 발생횟수에 따른 데이터의 시간 간격(Time Interval)을 포함하는 통계정보를 생성하는 단계
    를 포함하는 CAN 데이터 분석 방법.
    Analysis by the CAN data analysis system that generates statistical information by collecting data packets added with IP information or hardware unique number information in real time from a vehicle diagnostic device (OBD2) mounted on at least one vehicle or a data transmission module directly connected to a CAN bus As a method,
    Collecting and storing data packets from one or more vehicles in real time;
    Parsing the stored data packet and arranging the parsing result according to field items including time stamp, identifier (CAN_ID), data length (CAN_Length), and data value (CAN_DATA) through a normalization process according to a regular expression. ;
    Converting the normalized data into an index file by indexing the normalized data;
    Storing the index file in a searchable form according to a search condition set for each vehicle;
    Searching and extracting the stored index file according to the set search condition; And
    Generating statistical information including a time interval of data according to a frequency of occurrence of data for each identifier (CAN_ID) in a predetermined time unit;
    CAN data analysis method comprising a.
  13. 제 12 항에 있어서,
    상기 저장된 인덱스 파일을 검색 및 추출하는 단계 이전에, 상기 검색조건을 입력받는 웹 페이지를 제공하는 단계를 포함하고,
    상기 통계정보를 생성하는 단계는,
    상기 통계정보를 상기 웹 페이지에 전송하는 단계를 포함하는 CAN 데이터 분석 방법.
    The method of claim 12,
    Before searching and extracting the stored index file, providing a web page for receiving the search condition;
    Generating the statistical information,
    CAN data analysis method comprising the step of transmitting the statistical information to the web page.
KR1020180096880A 2018-08-20 2018-08-20 System and method for analysing can data KR102026455B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180096880A KR102026455B1 (en) 2018-08-20 2018-08-20 System and method for analysing can data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180096880A KR102026455B1 (en) 2018-08-20 2018-08-20 System and method for analysing can data

Publications (1)

Publication Number Publication Date
KR102026455B1 true KR102026455B1 (en) 2019-09-27

Family

ID=68096755

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180096880A KR102026455B1 (en) 2018-08-20 2018-08-20 System and method for analysing can data

Country Status (1)

Country Link
KR (1) KR102026455B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002176427A (en) * 2000-09-15 2002-06-21 Robert Bosch Gmbh Method and system to remotely access at least one can node unit of can bus unit, and can gateway
KR101371895B1 (en) 2012-12-12 2014-03-10 현대자동차주식회사 An automatic packet analysis method in can communication
KR101638613B1 (en) * 2015-04-17 2016-07-11 현대자동차주식회사 In-vehicle network intrusion detection system and method for controlling the same
KR101714520B1 (en) * 2015-10-30 2017-03-09 현대자동차주식회사 In-Vehicle Network Attack Detection Method and Apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002176427A (en) * 2000-09-15 2002-06-21 Robert Bosch Gmbh Method and system to remotely access at least one can node unit of can bus unit, and can gateway
KR101371895B1 (en) 2012-12-12 2014-03-10 현대자동차주식회사 An automatic packet analysis method in can communication
KR101638613B1 (en) * 2015-04-17 2016-07-11 현대자동차주식회사 In-vehicle network intrusion detection system and method for controlling the same
KR101714520B1 (en) * 2015-10-30 2017-03-09 현대자동차주식회사 In-Vehicle Network Attack Detection Method and Apparatus

Similar Documents

Publication Publication Date Title
US10198880B2 (en) Vehicular diagnostic system
US20210074088A1 (en) Cooperative vehicle disgnosis system
EP3337102B1 (en) Illegality detection electronic control unit, car onboard network system, and illegality detection method
RU2419986C2 (en) Combining multiline protocol accesses
US20160381068A1 (en) System and method for time based anomaly detection in an in-vehicle communication network
JP5111482B2 (en) Fault recognition system and method for internal combustion engines
JP6154894B2 (en) A method for evaluating electronic sensor data to remotely identify vehicles and monitor driver behavior
CN101448007B (en) Attack prevention system based on structured query language (SQL)
JP4270301B2 (en) Center communicating with in-vehicle data collection device
Malekian et al. Design and implementation of a wireless OBD II fleet management system
CN102799171B (en) Detecting anomalies in fault code settings and enhancing service documents using analytical symptoms
US6115653A (en) Diagnostic system particularly for an engine management system
DE10319493B4 (en) Remote diagnostics and forecasting for complex systems
JP4037923B2 (en) Method for determining diagnostic threshold for predetermined vehicle type and electronic computer for vehicle
US4751633A (en) Externally reprogrammable vehicular microcomputer with hardware lock-out of unauthorized memory modifications
US9971815B2 (en) Methods and systems for providing an auto-generated repair-hint to a vehicle repair tool
US20120203441A1 (en) Low-drain, self-contained monitoring device
US8582586B2 (en) Vehicle onboard gateway apparatus
CN100447940C (en) Apparatus for diagnosing failure of device based on signal of related device
CN103529818B (en) The record of teleprocessing system
AU2008256547B2 (en) Improvements in and relating to engine monitoring
US20180151004A1 (en) System and method for real time wireless ecu monitoring and reprogramming
US8954222B2 (en) Method and system for retrieving diagnostic information
US20090198474A1 (en) Method and apparatus for analysis and assessment of measurement data of a measurement system
US9014918B2 (en) Health monitoring systems and techniques for vehicle systems

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant