KR20150098400A - 다차원 시간차 분석 방법 및 장치 - Google Patents

다차원 시간차 분석 방법 및 장치 Download PDF

Info

Publication number
KR20150098400A
KR20150098400A KR1020140019643A KR20140019643A KR20150098400A KR 20150098400 A KR20150098400 A KR 20150098400A KR 1020140019643 A KR1020140019643 A KR 1020140019643A KR 20140019643 A KR20140019643 A KR 20140019643A KR 20150098400 A KR20150098400 A KR 20150098400A
Authority
KR
South Korea
Prior art keywords
event
event log
logs
dimensions
log
Prior art date
Application number
KR1020140019643A
Other languages
English (en)
Other versions
KR101609915B1 (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 KR1020140019643A priority Critical patent/KR101609915B1/ko
Publication of KR20150098400A publication Critical patent/KR20150098400A/ko
Application granted granted Critical
Publication of KR101609915B1 publication Critical patent/KR101609915B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Software Systems (AREA)

Abstract

복수의 이벤트 로그들을 분석하기 위한 방법 및 장치가 제공된다. 복수의 이벤트 로그들을 분석하는 방법 및 장치는 복수의 이벤트 로그들을 복수의 차원들의 각각으로 인덱싱할 수 있다. 복수의 이벤트 로그들을 분석하는 방법 및 장치는 인덱싱된 정보에 기반하여 획득된 하나 이상의 차원들에 대응하는 중심 이벤트 로그를 검출할 수 있고, 중심 이벤트 로그에 관련된 정보가 출력될 수 있다.

Description

다차원 시간차 분석 방법 및 장치{METHOD AND APPARATUS FOR MULTI DIMENSION TIME GAP ANALYSIS}
기술 분야는 이벤트 로그를 분석하는 기술에 관한 것으로, 특히, 다차원들을 이용하여 이벤트 로그를 다각적으로 분석하는 방법 및 장치에 관한 것이다.
컴퓨팅 시스템의 고성능, 대용량화가 이루어지면서 많은 데이터들이 수집되고 있을 수 있다. 수집된 데이터를 보다 효율적으로 사용 또는 분석하기 위하여 다양한 기술이 적용될 수 있다. 데이터 베이스는 사용자의 의사 결정에 도움을 주기 위하여 다양한 운영 시스템의 데이터를 추출, 변환, 통합 또는 요약한 정보를 의미할 수 있다.
데이터가 대용량화 되면서, 데이터를 효율적으로 관리하기 위한 검색 기술이 필요할 수 있다. 그러나, 종래의 키워드 기반 정보 검색 방법은 정보의 기하급수적인 증가로 인하여 데이터의 효율적 관리라는 역할을 수행하지 못할 수 있다. 또한, 검색 기술로 시멘틱(Semantic) 검색, 감성분석(Sentiment Analysis) 검색, 사용자 경험(User Experience) 검색 등이 개발되고 있을 수 있다. 이런 검색 기술들에 텍스트 마이닝은 필수로 사용되는 기술이며 많은 분류(Category) 추출 방법이 사용되고 있을 수 있다.
한국공개특허 제10-2011-005402호(공개일 2011년 06월 07일)에는 전자 민원 게시판의 데이터 분석 기술에 관한 발명이 개시되어 있다. 개시된 기술에 따른 전자 민원 게시판의 데이터 분석 방법은 게시판 작성자에 대한 정보와 해당 게시글을 기초로 정적으로 구축된 데이터(이하, 정적 데이터)를 저장할 수 있는 데이터베이스 엔진 및 상기 해당 게시글에 대하여 데이터 마이닝을 동적으로 수행하여 마이닝 된 데이터(이하, 동적 데이터)를 생성할 수 있는 데이터 마이닝 엔진과 연결 가능한 전자 민원 게시판의 데이터 분석 서버에서 수행된다. 상기 전자 민원 게시판의 데이터 분석 방법은 (a) 상기 전자 민원 게시판의 분석을 위한 유한의 주제들 중 적어도 일부(이하, 분석 주제 집합)를 선택하는 단계 및 (b) 상기 선택된 분석 주제 집합에 포함된 적어도 하나의 주제(이하, 제1 주제) 각각에 대하여 상기 정적 데이터의 적어도 일부와 연관되는지 확인하는 단계를 포함한다. 따라서, 개시된 기술은 경제적이며 고효율적으로 데이터를 분석할 수 있다
일 실시예는 복수의 이벤트 로그들을 분석함으로써 문제가 발생한 것으로 예상되는 차원들을 검출하는 장치 및 방법을 제공할 수 있다.
일 실시예는 복수의 이벤트 로그들을 복수의 차원들의 각각으로 인덱싱함으로써 차원 내에서의 이벤트 로그들 간의 관계를 분석하는 장치 및 방법을 제공할 수 있다.
일 측면에 있어서, 복수의 이벤트 로그(event log)들을 분석하는 단계 - 상기 복수의 이벤트 로그들의 각 이벤트 로그는 복수의 차원(dimension)들 중 상기 이벤트 로그의 이벤트와 연관된 차원들의 각각에 관한 기록을 포함함 -, 상기 분석에 기반하여 상기 복수의 차원들의 각각으로 상기 복수의 이벤트 로그들을 인덱싱하는 단계, 상기 복수의 차원들 중 문제가 발생한 것으로 예상되는 하나 이상의 차원들을 획득하는 단계, 상기 인덱싱된 복수의 이벤트 로그들 중 상기 획득된 하나 이상의 차원들에 대응하는 적어도 하나의 중심 이벤트 로그를 검출하는 단계 및 상기 검출된 적어도 하나의 중심 이벤트 로그에 관련된 정보를 출력하는 단계를 포함하는, 이벤트 로그 분석 방법이 제공된다.
상기 문제가 발생한 것으로 예상되는 하나 이상의 차원들은 상기 이벤트가 수행되는 시간에 대해 설정된 소정의 시간에 비해 상기 이벤트의 실제 수행 시간이 더 긴 경우 상기 이벤트와 연관된 차원들 중 하나 이상일 수 있다.
상기 출력하는 단계는 상기 적어도 하나의 중심 이벤트 로그에 관련된 정보를 그래프화함으로써 출력할 수 있다.
상기 이벤트 로그 분석 방법은 추가적인 이벤트 로그를 수신하는 단계를 더 포함할 수 있다.
상기 복수의 이벤트 로그들을 분석하는 단계는 상기 수신된 추가적인 이벤트 로그를 상기 복수의 이벤트 로그들에 추가하고, 상기 추가적인 이벤트 로그가 추가된 상기 복수의 이벤트 로그들을 분석할 수 있다.
상기 분석하는 단계는 상기 각 이벤트 로그의 상기 이벤트와 연관된 차원들의 각각에 관한 기록을 추출함으로써 상기 복수의 이벤트 로그들을 분석할 수 있다.
상기 인덱싱하는 단계는 상기 각 이벤트 로그의 타임 스탬프(time stamp)에 기반하여 상기 복수의 차원들의 각각으로 상기 복수의 이벤트 로그들을 인덱싱할 수 있다.
상기 복수의 이벤트 로그들 중 동일한 차원 및 동일한 타임 스탬프를 가진 이벤트 로그들이 존재하는 경우, 상기 동일한 차원에 설정된 소정의 처리 순서에 기반하여 상기 이벤트 로그들을 인덱싱할 수 있다.
상기 인덱싱하는 단계는 해시 데이터 구조(hash data structure)를 이용하여 상기 복수의 차원들의 각각으로 상기 복수의 이벤트 로그들을 인덱싱할 수 있다.
상기 이벤트 로그 분석 방법은 상기 적어도 하나의 중심 이벤트 로그와 연결된 단계를 나타내는 정보를 획득하는 단계를 더 포함할 수 있다.
상기 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들은 상기 적어도 하나의 중심 이벤트 로그와 연결된 단계를 각각 가질 수 있다.
상기 이벤트 로그 분석 방법은 상기 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들 중 상기 정보가 나타내는 단계 내에 해당하는 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들을 검출하는 단계를 더 포함할 수 있다.
상기 출력하는 단계는 상기 적어도 하나의 중심 이벤트 로그가 상기 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들과 연결된 그래프를 출력할 수 있다.
상기 그래프는 상기 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들이 상기 하나 이상의 차원들의 각 차원으로 나뉘어 상기 적어도 하나의 중심 이벤트 로그와 연결될 수 있다.
상기 적어도 하나의 중심 이벤트 로그는 복수일 수 있다.
상기 이벤트 로그 분석 방법은 상기 복수의 중심 이벤트 로그들 중 전부 또는 일부의 중심 이벤트 로그들이 서로 간에 연결된 경우 상기 연결에 관여한 이벤트에서 문제가 발생한 것으로 판단하는 단계를 더 포함할 수 있다.
상기 복수의 이벤트 로그들을 분석하는 단계는 상기 각 이벤트 로그의 타임스탬프에 기반하여 상기 복수의 이벤트 로그들 간의 시간 차이를 분석할 수 있다.
상기 인덱싱하는 단계는 상기 분석된 시간 차이를 이용하여 상기 복수의 이벤트 로그들을 인덱싱할 수 있다.
상기 복수의 이벤트 로그들을 분석하는 단계는 소정의 차원들 중 적어도 하나의 차원을 포함하는 이벤트 로그들만을 분석할 수 있다.
상기 소정의 차원들은 상기 복수의 차원들에 포함될 수 있다.
상기 복수의 이벤트 로그들을 분석하는 단계는 상기 복수의 차원들 중 동일한 프로세스 인스턴스 식별자(process instance identification)의 차원을 포함하는 이벤트 로그들 간의 상기 시간 차이를 분석할 수 있다.
상기 이벤트 로그 분석 방법은 제1 이벤트 로그 및 제2 이벤트 로그 간의 시간 차이를 출력하는 단계를 더 포함할 수 있다.
상기 수신된 하나 이상의 차원들은 상기 제1 차원 및 상기 제2 차원일 수 있다.
상기 검출하는 단계는 상기 제1 차원을 포함하는 제1 이벤트 로그 및 상기 제2 차원을 포함하는 제2 이벤트 로그를 검출할 수 있다.
상기 정보를 출력하는 단계는 상기 제1 이벤트 로그 및 상기 제2 이벤트 로그를 상기 적어도 하나의 중심 이벤트 로그로서 출력할 수 있다.
상기 시간 차이를 출력하는 단계는 상기 제1 이벤트 로그 및 상기 제2 이벤트 로그가 각각 복수이고, 상기 시간 차이가 복수 개인 경우 시간 차이의 많이 나는 순서로 상기 복수 개의 시간 차이들을 출력할 수 있다.
상기 정보를 출력하는 단계는 상기 시간 차이가 소정의 시간을 초과하는 경우 상기 제1 이벤트 로그 및 상기 제2 이벤트 로그의 연결된 관계를 나타내는 그래프를 출력할 수 있다.
상기 소정의 시간은 상기 제1 차원 및 상기 제2 차원에 기반하여 다르게 설정될 수 있다.
상기 이벤트 로그 분석 방법은 상기 출력된 시간 차이를 선택하는 정보를 획득 수신하는 단계를 더 포함할 수 있다.
상기 정보를 출력하는 단계는 상기 선택된 시간 차이에 대한 상기 제1 이벤트 로그 및 상기 제2 이벤트 로그의 연결된 관계를 나타내는 그래프를 출력할 수 있다.
상기 이벤트 로그 분석 방법은 상기 제1 이벤트 로그 및 상기 제2 이벤트 로그와 각각 연결된 단계를 나타내는 정보를 획득하는 단계를 더 포함할 수 있다.
상기 하나 이상의 차원들 각각에 대해 인덱싱된 이벤트 로그들은 상기 제1 이벤트 로그 또는 상기 제2 이벤트 로그와 연결된 단계를 각각 가질 수 있다.
상기 이벤트 로그 분석 방법은 상기 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들 중 상기 정보가 나타내는 단계 내에 해당하는 적어도 하나의 상위 이벤트 로그들 및 하위 이벤트 로그들을 검출하는 단계를 더 포함할 수 있다.
상기 정보를 출력하는 단계는 상기 제1 이벤트 로그 및 상기 제2 이벤트 로그가 상기 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들과 각각 연결된 그래프를 출력할 수 있다.
상기 이벤트 로그 분석 방법은 상기 제1 이벤트 로그 및 상기 제2 이벤트 로그가 상기 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들 중 일부의 이벤트 로그를 통해 연결된 경우 상기 일부의 이벤트 로그에 관여한 이벤트에서 문제가 발생한 것으로 판단하는 단계를 더 포함할 수 있다.
다른 일 측면에 있어서, 복수의 이벤트 로그(event log)들을 분석하고 - 상기 복수의 이벤트 로그들의 각 이벤트 로그는 복수의 차원(dimension)들 중 상기 이벤트 로그의 이벤트와 연관된 차원들의 각각에 관한 기록을 포함함 -, 상기 분석에 기반하여 상기 복수의 차원들의 각각으로 상기 복수의 이벤트 로그들을 인덱싱하고, 상기 복수의 차원들 중 문제가 발생한 것으로 예산되는 하나 이상의 차원들을 획득하고, 상기 인덱싱된 복수의 이벤트 로그들 중 상기 획득한 하나 이상의 차원들에 대응하는 적어도 하나의 중심 이벤트 로그를 검출하고, 상기 검출된 적어도 하나 중심 이벤트 로그에 관련된 정보를 출력하는 프로세서를 포함하는, 전자 장치가 제공된다.
복수의 차원들을 이용하여 문제가 발생한 것으로 예상되는 차원을 분석하는 장치 및 방법이 제공된다.
항만 물류를 처리하는 과정에서 지연되는 이벤트를 검출하는 장치 및 방법이 제공된다.
도 1은 일 예에 따른 항만 물류를 처리하는 과정의 개념도를 도시한다.
도 2는 일 예에 따른 이벤트 로그의 코드를 도시한다.
도 3은 일 실시예에 따른 전자 장치의 구성도를 도시한다.
도 4는 일 실시예에 따른 이벤트 로그를 분석하는 방법의 흐름도를 도시한다.
도 5는 일 예에 따른 복수의 이벤트 로그들을 분석하는 방법의 흐름도를 도시한다.
도 6은 일 예에 따른 복수의 이벤트 로그들을 인덱싱하는 방법의 흐름도를 도시한다.
도 7은 일 예에 따른 차원 별로 복수의 이벤트 로그들을 인덱싱하는 방법의 흐름도를 도시한다.
도 8은 일 예에 따른 복수의 차원들을 생성하는 방법 및 복수의 이벤트 로그들을 인덱싱하는 코드를 도시한다.
도 9는 일 예에 따른 복수의 이벤트 로그들이 인덱싱된 복수의 차원들을 도시한다.
도 10은 일 예에 따른 복수의 차원들 중 선택된 차원에 인덱싱된 이벤트 로그에 대한 정보를 도시한다.
도 11은 일 예에 따른 하나 이상의 차원들에 동시에 대응하는 검출된 중심 이벤트 로그에 대한 정보를 도시한다.
도 12는 일 예에 따른 중심 이벤트 로그의 상위 이벤트 로그 및 하위 이벤트 로그를 검출하는 방법의 흐름도를 도시한다.
도 13은 일 예에 따른 상위 이벤트 로그 및 하위 이벤트 로그를 검출하는 방법의 흐름도를 도시한다.
도 14는 일 예에 따른 중심 이벤트 로그, 상위 이벤트 로그 및 하위 이벤트 로그를 검출하는 코드를 도시한다.
도 15는 일 예에 따른 상위 이벤트 로그 및 하위 이벤트 로그를 검출하는 코드를 도시한다.
도 16은 일 예에 따른 중심 이벤트 로그의 노드, 상위 이벤트 로그의 노드 및 하위 이벤트 로그의 노드를 생성하는 코드를 도시한다.
도 17은 일 예에 따른 중심 이벤트 로그의 노드와 상위 이벤트 로그의 노드 및 하위 이벤트 로그의 노드를 연결하는 코드를 도시한다.
도 18은 일 예에 따른 노드의 스타일을 재구성하는 코드를 도시한다.
도 19는 일 예에 따른 정보가 나타내는 단계가 1인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 중심 이벤트 로그들의 각각과 연결된 관계에 대한 그래프를 도시한다.
도 20은 일 예에 따른 정보가 나타내는 단계가 2인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 중심 이벤트 로그들의 각각과 연결된 관계에 대한 그래프를 도시한다.
도 21은 일 예에 따른 정보가 나타내는 단계가 3인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 중심 이벤트 로그들의 각각과 연결된 관계에 대한 그래프를 도시한다.
도 22는 일 예에 따른 정보가 나타내는 단계가 4인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 중심 이벤트 로그들의 각각과 연결된 관계에 대한 그래프를 도시한다.
도 23은 일 실시예에 따른 이벤트 로그를 분석하는 방법의 흐름도를 도시한다.
도 24는 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그의 연결 관계를 나타내는 그래프를 출력하는 방법의 흐름도를 도시한다.
도 25는 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그가 각각의 상위 이벤트 로그 및 하위 이벤트 로그와 연결된 그래프를 출력하는 방법의 흐름도를 도시한다.
도 26은 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그 간의 시간 차이를 도시한다.
도 27은 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그의 연결 관계를 나타내는 그래프를 도시한다.
도 28은 일 예에 따른 정보가 나타내는 단계가 1인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 제1 이벤트 로그 및 제2 이벤트 로그의 각각과 연결된 관계에 대한 그래프를 도시한다.
도 29는 일 예에 따른 정보가 나타내는 단계가 2인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 제1 이벤트 로그 및 제2 이벤트 로그의 각각과 연결된 관계에 대한 그래프를 도시한다.
도 30은 일 예에 따른 정보가 나타내는 단계가 3인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 제1 이벤트 로그 및 제2 이벤트 로그의 각각과 연결된 관계에 대한 그래프를 도시한다.
도 31은 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그 간의 시간 차이를 도시한다.
도 32는 일 예에 따른 정보가 나타내는 단계가 5인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 제1 이벤트 로그 및 제2 이벤트 로그의 각각과 연결된 관계에 대한 그래프를 도시한다.
도 33은 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그 간의 시간 차이를 도시한다.
도 34는 일 예에 따른 정보가 나타내는 단계가 3인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 제1 이벤트 로그 및 제2 이벤트 로그의 각각과 연결된 관계에 대한 그래프를 도시한다.
도 35는 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그 간의 시간 차이를 도시한다.
도 36은 일 예에 따른 정보가 나타내는 단계가 2인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 제1 이벤트 로그 및 제2 이벤트 로그의 각각과 연결된 관계에 대한 그래프를 도시한다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
실시예에는 다양한 변경이 가해질 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 실시예를 실시 형태에 대해 한정하려는 것이 아니며, 실시예는 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 예에 따른 항만 물류를 처리하는 과정의 개념도를 도시한다.
항만 물류를 처리하는 과정은 복잡한 프로세스들일 수 있다. 항만 물류를 처리하는 과정은 많은 활동(activity)들의 수행일 수 있다. 각 활동은 속성(attribute)들을 포함할 수 있다.
항만 물류의 흐름은 터미널 운용 시스템에 의해 지원될 수 있다. 터미널 운용 시스템은 물류 흐름의 히스토리(history)를 저장할 수 있다. 따라서, 항만 물류 내에서 실제로 어떠한 일이 발생했는지의 완벽한 히스토리가 시스템 내에서 발견될 수 있다. 물류의 처리에 있어서 프로세스들은 몇몇의 관점으로 구별될 수 있다. 예를 들어, 프로세스들은 활동의 측면, 장비의 측면, 속성의 측면 및 비-장비의 측면으로 구별될 수 있다.
항만 물류의 프로세스에서 하나의 활동은 다른 활동으로 연결될 수 있기 때문에, 앞선 활동은 다음 활동에 강하게 영향을 미칠 수 있다. 활동들 간의 강한 연관성 때문에, 앞선 활동의 지연은 다음 활동을 지연시키거나 부정적인 영향을 미치게 할 수 있다. 이러한 앞선 활동의 지연은 장비를 대기하는 것 때문에 발생할 수 있다. 예를 들어, 컨테이너 하역(discharging) 활동은 갠트리 크레인(gantry crane) 또는 키 크레인(quay crane)이 야드(yard) 트럭을 기다리기 때문에 늦어질 수 있다. 이러한 경우 활동 지연의 원인은 키 크레인이 아닌, 야드 트럭 때문일 수 있다. 따라서, 장비의 시간 차이(time gap)를 분석하는 경우, 더욱 정확한 결과를 얻기 위해서는 활동의 측면 및 장비의 측면이 한번에 고려되어야 할 수 있다.
케이스(case) 식별자(IDentification; ID), 활동 이름(activity name), 활동 타입(activity type), 자원(resource), 타임 스탬프(time stamp) 및 다른 속성들을 포함하는 데이터의 이벤트 로그(event log)는 프로세스 마이닝 기술(process mining technique)에 대한 입력일 수 있다. 이벤트 로그는 터미널 운용 시스템에 저장되어 있을 수 있다. 이벤트 로그를 하나의 관점으로 분석하는 것이 아닌, 다양한 관점들로 분석하는 경우 다른 데이터를 생성할 수 있다.
종래의 시간 차이 분석은 선택된 두 활동들 간의 시간 차이를 분석할 수 있으나, 오직 활동의 관점에서만 분석할 수 있다.
본 발명은 시간 차이 분석의 면에서 복수의 차원(dimension)들을 통해 수행되는 프로세스들을 분석할 수 있다. 복수의 차원들을 통해 이벤트 로그를 분석하는 방법에 대해, 하기에서 도 2 내지 도 38을 참조하여 상세히 설명된다.
도 2는 일 예에 따른 이벤트 로그의 코드를 도시한다.
워크 플로우 로그(work-flow-log)는 복수의 이벤트 로그들을 포함할 수 있다. 워크 플로우 로그 또는 이벤트 로그는 터미널 운용 시스템에 저장되어 있을 수 있다.
이벤트 로그(220 또는 230)는 프로세스 인스턴스(process instance) ID(240)로 식별되는 컨테이너에 대한 활동의 기록일 수 있다. 프로세스 인스턴스 ID는 case ID일 수 있다.
이벤트 로그(220)는 수행된 활동(244), 이벤트 타입(246), 이벤트 로그가 생성된 타임 스탬프(248), 활동과 관련된 장비(250) 및 속성(242) 중 적어도 하나를 포함할 수 있다. 활동과 관련된 장비(250)는 복수일 수 있다. 이벤트 로그(220)는 복수의 장비들의 각 장비에 대한 정보를 포함할 수 있다.
프로세스 인스턴스 식별자(process instance ID)(240), 활동(244), 활동(244)과 관련된 장비(250), 이벤트 타입(246), 속성(242) 및 이벤트 로그가 생성된 타임 스탬프(248)의 각각은 차원일 수 있다. 차원에 대해, 하기에서 도 4를 참조하여 상세히 설명된다.
이하에서, 용어 "활동" 및 "이벤트"는 동일한 의미로 사용될 수 있고, 서로 간에 대체될 수 있다.
앞서 도 1을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 3은 일 실시예에 따른 전자 장치의 구성도를 도시한다.
전자 장치(300)는 통신부(310), 처리부(320) 및 저장부(330)를 포함할 수 있다.
통신부(310)는 터미널 운용 시스템으로부터 워크 플로우 로그 또는 이벤트 로그(220)를 수신할 수 있다. 예를 들어 통신부(310)는 복수의 이벤트 로그들(220 및 230)을 수신할 수 있다.
저장부(330)는 수신한 워크 플로우 로그 또는 이벤트 로그(220)를 수신할 수 있다. 또한, 저장부(330)는 통신부(310)가 수신한 데이터 및 처리부(320)로부터 생성된 데이터를 저장할 수 있다.
통신부(310), 처리부(320) 및 저장부(330)에 대해, 하기에서 도 4 내지 도 38을 참조하여 상세히 설명된다.
앞서 도 1 내지 도 2를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 4는 일 실시예에 따른 이벤트 로그를 분석하는 방법의 흐름도를 도시한다.
단계(410)에서, 처리부(320)는 복수의 이벤트 로그들을 분석할 수 있다. 복수의 이벤트 로그들의 각 이벤트 로그는 복수의 차원들 중 이벤트 로그의 이벤트와 연관된 차원들의 각각에 관한 기록을 포함할 수 있다.
하기의 [표 1]에서 복수의 차원들이 설명된다.
차원 차원의 설명
CASE_ID 프로세스 인스턴스 ID
EVENT NAME 이벤트 이름
EVENT NAME & TYPE 이벤트 이름 및 이벤트 타입의 쌍(pair)
TIMESTAMP 이벤트의 타임 스탬프
HOUR_INTERVAL 매 시간 간격의 타임 스탬프
DATE INTERVAL 날짜 간격의 타임 스탬프
RESOURCE 장비, 예) 키 크레인(QC_ID), 야드 크레인(YC_ID), 야드 트럭(YT_ID)
PERFORMER 작업자, 예) 야드 트럭의 운전자(DRIVER)
LOCATION 위치, 예) 야드 블록 위치 이름(BLOCK), 야드 블록 위치 내의 행 번호(ROW_ID), 야드 블록 위치 내의 타이어 번호(TIER), 야드 블록 위치 내의 해안(bay) 번호(BAY), 항구 안으로 컨테이너를 들여오는 장비(TRANSPORT_IN), 항구 밖으로 컨테이너를 가져가는 장비(TRANSPORT_OUT), 선박 내의 컨테이너의 위치(HATCH)
처리부(320)는 각 이벤트 로그의 이벤트와 연관된 차원들의 각각에 관한 기록을 추출함으로써 복수의 이벤트 로그들을 분석할 수 있다.
복수의 이벤트 로그들을 분석하는 방법에 대해, 하기에서 도 5를 참조하여 상세히 설명한다.
단계(420)에서, 처리부(320)는 복수의 이벤트 로그들의 분석에 기반하여 복수의 차원들의 각각으로 복수의 이벤트 로그들을 인덱싱할 수 있다.
일 실시예에 따르면, 처리부(320)는 복수의 이벤트 로그들을 인덱싱한 데이터를 생성할 수 있다. 인덱싱한 데이터는 차원 별로 상기의 차원을 포함하는 이벤트 로그들의 위치를 기록한 데이터일 수 있다. 처리부(320)는 이벤트 로그들의 위치를 기록함으로써 필요한 이벤트 로그를 빠르게 검색할 수 있다.
복수의 이벤트 로그들을 인덱싱하는 방법에 대해, 하기에서 도 6 내지 도 9를 참조하여 상세히 설명된다.
단계(430)에서, 통신부(310)는 터미널 운용 시스템으로부터 추가적인 이벤트 로그를 수신할 수 있다.
처리부(320)는 추가적인 이벤트 로그가 수신되었는지 여부를 판단할 수 있다.
추가적인 이벤트 로그가 수신된 경우 추가적인 이벤트 로그를 분석하기 위해 단계(410) 및 단계(420)가 재 수행될 수 있다.
예를 들어, 복수의 이벤트 로그들을 분석하는 단계(410)에서, 처리부(320)는 수신된 추가적인 이벤트 로그를 복수의 이벤트 로그들에 추가할 수 있다. 단계(410)에서, 처리부(320)는 추가적인 이벤트 로그가 추가된 복수의 이벤트 로그들을 분석할 수 있다.
단계(420)에서, 처리부(320)는 추가된 이벤트 로그를 인덱싱할 수 있다. 예를 들어, 추가된 이벤트 로그를 인덱싱함으로써 복수의 이벤트 로그들을 인덱싱한 데이터를 업데이트할 수 있다.
단계(440)에서, 처리부(320)는 복수의 차원들 중 하나 이상의 차원들을 획득할 수 있다.
일 실시예에 따르면, 처리부(320)는 복수의 차원들 중 문제가 발생한 것으로 예상되는 하나 이상의 차원들을 획득할 수 있다. 예를 들어, 처리부(320)는 이벤트의 실제 수행 시간이 상기의 이벤트 대해 설정된 소정의 시간을 경과한 경우 상기의 이벤트에 연관된 차원들 중 하나 이상을 문제가 발생한 것으로 예상되는 차원으로 판단할 수 있다. 다시 말하자면, 문제가 발생한 것으로 예상되는 하나 이상의 차원들은 이벤트가 수행되는 시간에 대해 설정된 소정의 시간에 비해 이벤트의 실제 수행 시간이 더 긴 경우 상기의 이벤트와 연관된 차원들 중 하나 이상일 수 있다.
다른 일 실시예에 따르면, 처리부(320)는 전자 장치(300)의 사용자로부터 복수의 차원들 중 하나 이상의 차원들을 수신함으로써 하나 이상의 차원들을 획득할 수 있다.
단계(450)에서, 처리부(320)는 인덱싱된 복수의 이벤트 로그들 중 획득된 하나 이상의 차원들에 대응하는 적어도 하나의 중심 이벤트 로그를 검출할 수 있다.
예를 들어, 처리부(320)는 복수의 이벤트 로그들을 인덱싱한 데이터를 사용하여 복수의 이벤트 로그들 중 획득된 하나 이상의 차원들에 동시에 대응하는 적어도 하나의 중심 이벤트 로그를 검출할 수 있다.
단계(460)에서, 처리부(320)는 적어도 하나의 중심 이벤트 로그에 관련된 정보를 출력할 수 있다. 예를 들어, 처리부(320)는 적어도 하나의 중심 이벤트 로그에 포함된 차원들 중 CASE_ID 및 획득된 하나 이상의 차원들에 관련된 정보만을 출력할 수도 있다.
예를 들어, 처리부(320)는 적어도 하나의 중심 이벤트 로그에 관련된 정보를 그래프화할 수 있다. 통신부(310)는 그래프화된 정보를 출력할 수 있다.
이하에서, 출력된 이벤트 로그들에 관련된 정보는 이벤트 로그로 이해 또는 설명될 수 있다.
적어도 하나의 중심 이벤트 로그에 관련된 정보를 출력하는 방법에 대해, 하기에서 도 11을 참조하여 상세히 설명된다.
앞서 도 1 내지 도 3을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 5는 일 예에 따른 복수의 이벤트 로그들을 분석하는 방법의 흐름도를 도시한다.
도 4를 참조하여 전술된 단계(410)는 하기의 단계들(510 내지 530)을 포함할 수 있다.
단계(510)에서, 처리부(320)는 분석된 복수의 이벤트 로그들로부터 복수의 차원들을 생성할 수 있다.
단계(520)에서, 처리부(320)는 추가적인 이벤트가 수신된 경우 추가적인 차원을 생성해야 하는지 여부를 판단할 수 있다. 예를 들어, 수신된 추가적인 이벤트가 기존에 생성된 차원이 아닌, 추가적인 차원을 포함하는 경우 처리부(320)는 추가적인 차원을 생성해야 하는 것으로 판단할 수 있다.
단계(530)에서, 처리부(320)는 추가적인 차원을 생성해야 하는 경우 추가적인 차원을 생성할 수 있다.
앞서 도 1 내지 도 4를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 6은 일 예에 따른 복수의 이벤트 로그들을 인덱싱하는 방법의 흐름도를 도시한다.
도 4를 참조하여 전술된 단계(420)는 하기의 단계들(610 내지 620)을 포함할 수 있다.
단계(610)에서, 처리부(320)는 생성된 복수의 차원들의 각각으로 복수의 이벤트들을 인덱싱할 수 있다.
단계(620)에서, 처리부(320)는 각 이벤트 로그의 타임 스탬프에 기반하여 복수의 차원들의 각각으로 복수의 이벤트 로그들을 인덱싱할 수 있다. 예를 들어, 처리부(320)는 각 차원 내의 이벤트 로그들을 타임 스탬프가 빠른 순서로 정렬함으로써 각 차원 내의 이벤트 로그들을 인덱싱할 수 있다.
복수의 이벤트 로그들 중 동일한 차원 및 동일한 타임 스탬프를 가진 이벤트들이 존재하는 경우, 처리부(320)는 동일한 차원에 설정된 소정의 처리 순서에 기반하여 각 차원 내의 이벤트 로그들을 인덱싱할 수 있다.
예를 들어, 두 이벤트 로그들이 동일한 CASE_ID 및 동일한 타임 스탬프를 가진 경우, 처리부(320)는 두 이벤트 로그들을 각 이벤트 로그의 이벤트에 따라 인덱싱할 수 있다. 선행하는 이벤트가 후행하는 이벤트에 비해 더 순위에 인덱싱될 수 있다. 이벤트의 순서는 물류를 처리하는 순서일 수 있다.
다른 예로, 복수의 이벤트 로그들 중 동일한 차원 및 동일한 타임 스탬프를 가진 이벤트들이 존재하는 경우, 처리부(320)는 해시 데이터 구조(hash data structure)를 이용하여 복수의 차원들의 각각으로 복수의 이벤트 로그들을 인덱싱할 수 있다.
앞서 도 1 내지 도 5를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 7은 일 예에 따른 차원 별로 복수의 이벤트 로그들을 인덱싱하는 방법의 흐름도를 도시한다.
도 7의 도표(710)는 복수의 이벤트 로그들을 프로세스 인스턴스 식별자 및 이벤트 식별자를 기준으로 하여 분류한 도면일 수 있다. 프로세스 인스턴스 식별자의 1, 2 및 3은 세 가지의 CASE_ID를 각각 나타낼 수 있다. 이벤트 식별자의 1, 2, 3 및 4는 키 크레인으로 하역작업 시작을 알리는 활동(DispatchDischargeQuay), 키 크레인의 하역작업 완료의 활동(CompleteDischargeQuay), 야드 트럭으로 하역작업 시작을 알리는 활동(DispatchDischargeYard), 야드 트럭의 하역작업 완료의 활동(CompleteDischargeYard)을 각각 나타낼 수 있다. 동일한 프로세스 인스턴스 식별자에 대해서 이벤트 식별자의 1, 2, 3 및 4의 순서로 이벤트가 수행될 수 있다.
동일한 화살표는 동일한 차원 내에서 수행되는 순서를 나타낼 수 있다. 예를 들어, 화살표는 동일한 CASE_ID, 동일한 활동 또는 동일한 장비의 차원 내에서 이벤트가 수행되는 순서를 나타낼 수 있다.
처리부(320)는 복수의 차원들의 각각으로 복수의 이벤트 로그들을 인덱싱할 수 있다. 예를 들어, 처리부(320)는 동일한 활동 별로 복수의 이벤트 로그들을 인덱싱(730)할 수 있다. 다른 예로, 처리부(320)는 동일한 자원 별로 복수의 이벤트 로그들을 인덱싱(740)할 수 있다.
인덱싱은 특정 차원에 인덱싱된 이벤트 로그의 좌표 또는 이벤트 로그의 위치를 특정 차원과 연관시키는 것일 수 있다. 예를 들어, 도 7에서, 프로세스 인스턴스 식별자의 순서가 x축의 좌표일 수 있고, 이벤트 식별자의 순서가 y축의 좌표일 수 있다. 이 경우, 프로세스 인스턴스 식별자의 순서가 1이고, 이벤트 식별자의 순서가 1인 이벤트 로그는 (1, 1)의 좌표를 가질 수 있다.
앞서 도 1 내지 도 6을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 8은 일 예에 따른 복수의 차원들을 생성하는 방법 및 복수의 이벤트 로그들을 인덱싱하는 코드를 도시한다.
하기의 코드에서 "PI"는 복수의 이벤트 로그들 내의 프로세스 인스턴스의 집합을 나타낼 수 있다. "ATE"는 복수의 이벤트 로그들 내의 특정 프로세스 인스턴스에 해당하는 이벤트들의 집합을 나타낼 수 있다. "DIM"은 차원들의 집합을 나타낼 수 있다. "dim.Name()"은 차원의 이름을 나타낼 수 있다. "dim.KeySet()"은 차원의 값의 집합일 수 있다. "dimKey"는 차원의 값일 수 있다. "pi.ID()"는 이벤트 로그의 프로세스 인스턴스 식별자를 나타낼 수 있다. "ate.ID()"는 이벤트 로그에 할당된 이벤트 로그의 식별자 또는 번호일 수 있다. "dim.Value()"는 "pi.ID()" 및 "ate.ID()"의 쌍의 리스트일 수 있다. "entry.value().ate"는 특정 이벤트에 할당된 값을 나타낼 수 있다. "TimeStamp()"는 이벤트의 타임 스탬프를 나타낼 수 있다.
차원의 값은 특정 차원 내의 세분화된 차원일 수 있다. 예를 들어, YT_ID가 차원인 경우, 세분화된 차원은 YT_ID 내의 각 야드 트럭의 번호일 수 있다.
코드(810)는 전술된 단계(410)를 수행하기 위한 코드일 수 있다.
일 실시예에 따르면, 전자 장치(300)의 사용자로부터 인덱싱할 복수의 차원들을 수신할 수 있다. 코드(810)에서, "For each dimension categories selected by user do"는 전자 장치(300)의 사용자에 의해 복수의 차원들이 생성되도록 선택되었는지 여부를 판단하는 코드일 수 있다. 사용자에 의해 복수의 차원들이 모두 선택되지 않은 경우, 생성되지 않은 차원을 생성함으로써 복수의 차원들에 추가할 수 있다.
코드(820)는 전술된 단계(610)를 수행하기 위한 코드일 수 있다.
코드(820)에서 "For a∈A do"의 코드는 A 집합에 속한 각 a 원소에 대해 반복적으로 수행되는 것으로 이해될 수 있다. 예를 들어, "For each pi∈PI do"는 프로세스 인스턴스 집합의 각 프로세스 인스턴스에 대해 반복적으로 수행되는 코드일 수 있다.
코드(830)는 전술된 단계(620)를 수행하기 위한 코드일 수 있다.
처리부(320)는 코드(810 내지 830)를 실행함으로써 복수의 이벤트 로그들을 타임 스탬프에 기반하여 인덱싱할 수 있다.
앞서 도 1 내지 도 7을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 9는 일 예에 따른 복수의 이벤트 로그들이 인덱싱된 복수의 차원들을 도시한다.
일 실시예에 따르면, 복수의 이벤트 로그들이 인덱싱된 데이터가 제공될 수 있다.
전자 장치(300)는 데이터를 이용하여 인덱싱된 복수의 차원들(910)을 출력할 수 있는 인터페이스를 제공할 수 있다.
통신부(310)는 인터페이스를 통해 복수의 차원들(910)의 각 차원에 인덱싱된 이벤트 로그들의 개수를 표시할 수 있다.
또한, 통신부(310)는 인터페이스를 통해 전자 장치(300)의 사용자로부터 출력된 복수의 차원들(910) 중 하나 이상의 차원들(920)을 선택받을 수 있다.
앞서 도 1 내지 도 8을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 10은 일 예에 따른 복수의 차원들 중 선택된 차원에 인덱싱된 이벤트 로그에 대한 정보를 도시한다.
일 실시예에 따르면, 통신부(310)는 인터페이스를 통해 하나 이상의 차원들을 수신할 수 있다.
처리부(320)는 수신한 하나 이상의 차원들을 모두 포함하는 이벤트 로그를 검색할 수 있다. 예를 들어, 처리부(320)는 이벤트 이름 및 이벤트의 타입의 쌍(NAME & TYPE), 매 시간 간격의 타임(HOUR_INTERVAL), 야드 블록 저장 이름(BLOCK)의 차원들을 모두 포함하는 이벤트 로그를 검색할 수 있다. NAME & TYPE은 전술된 EVENT NAME & TYPE와 동일한 의미일 수 있다.
예를 들어, NAME & TYPE이 start - complete이고, HOUR INTERVAL을 만족하고, BLOCK가 4G인 차원들(1002)을 포함하는 이벤트 로그(1010)는 하나일 수 있다.
다른 예로, NAME & TYPE이 DispatchLoadYard - complete이고, HOUR INTERVAL을 만족하고, BLOCK가 7C인 차원들(1004)을 포함하는 이벤트 로그들(1012)은 13개로 복수일 수 있다. 검색된 이벤트 로그들(1012)이 복수인 경우 각 이벤트 로그의 타임 스탬프에 기반하여 출력될 수 있다.
추가적으로 도 10의 실시예에서, 차원들(1006)을 포함하는 이벤트 로그(1014)가 검색될 수 있다. 차원들(1008)을 포함하는 이벤트 로그(1016)가 검색될 수 있다.
앞서 도 1 내지 도 9를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 11은 일 예에 따른 하나 이상의 차원들에 동시에 대응하는 검출된 중심 이벤트 로그에 대한 정보를 도시한다.
도 11은 일 실시예에 따른, 출력된 적어도 하나의 중심 이벤트 로그에 관련된 정보(1030 및 1040)를 도시한다. 이하에서, 출력된 중심 이벤트 로그에 관련된 정보는 "중심 이벤트 로그"로 약술될 수 있다.
전술된 단계(440)에서, 처리부(320)는 하나 이상의 차원들(1110 및 1120)을 획득할 수 있다. 예를 들어, 통신부(310)는 인터페이스를 통해 사용자로부터 하나 이상의 차원들(1110 및 1120)을 수신할 수 있다.
예를 들어, 획득된 하나 이상의 차원들(1110 및 1120)은 YC_ID의 A71 차원 및 BLOCK의 6B 차원일 수 있다.
단계(450)에서, 처리부(320)는 인덱싱된 복수의 이벤트 로그들 중 A71 차원 및 6B 차원에 동시에 대응하는 적어도 하나의 중심 이벤트 로그를 검출할 수 있다.
단계(460)에서, 처리부(320)는 적어도 하나의 중심 이벤트 로그에 관련된 정보(1030 및 1040)를 출력할 수 있다. 출력된 중심 이벤트 로그에 관련된 정보(1030 및 1040)는 각 이벤트 로그의 CASE_ID, NAME, TYPE, RESOURCE, BLOCK 및 타임 스탬프 중 적어도 하나를 포함할 수 있다.
추가적으로, 버튼(1125)을 통해 하기에서 도 12를 참조하여 설명될, 적어도 하나의 중심 이벤트 로그와 연결된 단계를 나타내는 정보가 획득될 수 있다. 예를 들어, 사용자가 "# of follow event"의 란에 숫자를 입력할 수 있다. 입력된 숫자는 적어도 하나의 중심 이벤트 로그와 연결된 단계를 나타낼 수 있다. 적어도 하나의 중심 이벤트 로그와 연결된 단계에 대해, 하기에서 도 12를 참조하여 상세히 설명된다.
앞서 도 1 내지 도 10을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 12는 일 예에 따른 중심 이벤트 로그의 상위 이벤트 로그 및 하위 이벤트 로그를 검출하는 방법의 흐름도를 도시한다.
복수의 이벤트 로그들을 분석하기 위해, 중심 이벤트 로그와 연관된 이벤트 로그를 검색하기 위해 중심 이벤트 로그와 연결된 단계라는 개념이 사용될 수 있다. 중심 이벤트 로그와 연결된 단계는 차원 별로 인덱싱 복수의 이벤트 로그들 각각이 중심 이벤트 로그와 얼마나 가깝게 연관된 것인지를 나타낼 수 있다.
예를 들어, 특정 차원에서 중심 이벤트 로그의 인덱스 순서의 앞 또는 뒤의 순서를 갖는 이벤트 로그는 중심 이벤트 로그와 연결된 단계가 1인 이벤트 로그일 수 있다.
다른 예로, 특정 차원에서 10번째의 순서를 갖는 중심 이벤트 로그가 존재하는 경우, 중심 이벤트 로그와 연결된 단계가 4인 이벤트 로그는 6 번째의 순서 및 14번째의 순서를 갖는 이벤트 로그일 수 있다.
하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들은 적어도 하나의 중심 이벤트 로그와 연결된 단계를 각각 가질 수 있다.
중심 이벤트 로그에 비해 앞의 순서를 갖는 이벤트 로그는 상위 이벤트 로그일 수 있고, 중심 이벤트 로그에 비해 뒤의 순서를 갖는 이벤트 로그는 하위 이벤트 로그일 수 있다.
하기에서, 중심 이벤트 로그, 상위 이벤트 로그 및 하위 이벤트 로그를 검출하고, 검출된 이벤트 로그들이 연결된 관계를 나타내는 그래프를 출력하는 방법이 설명된다.
단계(1210)에서, 처리부(320)는 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들이 적어도 하나의 중심 이벤트 로그와 연결된 단계를 나타내는 정보를 획득할 수 있다. 단계는 두 이벤트 로그들의 인덱싱 순서들 간의 차이일 수 있다. 예를 들어, 특정 차원에 대해, 5 번째로 인덱싱된 이벤트 로그 및 7 번째로 인덱싱된 이벤트 로드는 2 단계로 연결된 것일 수 있다.
일 실시예에 따르면, 중심 이벤트 로그와 연결된 단계를 나타내는 정보는 기 설정되어 있을 수 있다.
다른 일 실시예에 따르면, 통신부(310)가 인터페이스를 통해 사용자로부터 중심 이벤트 로그와 연결된 단계를 나타내는 정보를 수신할 수 있다.
단계(1210)는 전술된 단계(430)가 수행된 후 수행될 수 있다. 예를 들어, 단계(1210) 및 단계(440)는 병렬적으로 수행될 수 있다. 다른 예로, 처리부(320)는 복수의 차원들 중 하나 이상의 차원들 및 중심 이벤트 로그와 연결된 단계를 나타내는 정보를 동시에 획득할 수 있다. 하나 이상의 차원들 및 정보를 동시에 획득한 경우 단계(1210) 및 단계(440)는 동시에 수행될 수 있다.
단계(1220)에서, 처리부(320)는 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들 중 획득한 정보가 나타내는 단계 내에 해당하는 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들을 검출할 수 있다.
예를 들어, 획득한 정보가 3인 경우, 처리부(320)는 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들 중 3 단계 내에 해당하는 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들을 검출할 수 있다. 단계에 해당하는 상위 이벤트 로그 또는 하위 이벤트 로그가 존재하지 않는 경우, 처리부(320)는 정보가 나타내는 단계 내에 존재하는 적어도 하나의 상위 이벤트 로그 및 하위 이벤트 로그를 검출할 수 있다. 상위 이벤트 및 하위 이벤트를 검출하는 방법에 대해, 하기에서 도 13 내지 도 15를 참조하여 상세히 설명된다.
단계(1210) 및 단계(440)가 병렬적으로 수행되는 경우, 단계(1220)는 단계(450)가 수행된 후 수행될 수 있다.
단계(1230)에서, 처리부(320)는 적어도 하나의 중심 이벤트 로그가 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들과 연결된 그래프를 출력할 수 있다.
예를 들어, 출력되는 그래프는 적어도 하나의 중심 이벤트 로그에 관련된 정보가 하나 이상의 상위 이벤트 로그들에 관련된 정보 및 하위 이벤트 로그들에 관련된 정보와 연결된 그래프일 수 있다.
출력된 그래프는 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들이 하나 이상의 차원들의 각 차원으로 나뉘어 적어도 하나의 중심 이벤트 로그와 연결된 그래프일 수 있다.
출력된 그래프에 대해, 하기에서 도 19 내지 22를 참조하여 설명된다.
출력된 이벤트 로그들에 관련된 정보는 이벤트 로그로 이해 또는 설명될 수 있다.
단계(1210) 및 단계(440)가 병렬적으로 수행되는 경우, 단계(1230)는 단계(460)가 수행된 후 수행될 수 있다.
단계(1240)에서, 적어도 하나의 중심 이벤트 로그와 관련된 정보가 복수인 경우, 처리부(320)는 복수의 중심 이벤트 로그들 중 적어도 두 개의 중심 이벤트 로그들이 서로 간에 연결된 경우 상기의 연결에 관여한 이벤트에서 문제가 발생한 것으로 판단할 수 있다.
문제가 발생한 것을 판단하는 방법에 대해, 하기에서 도 22를 참조하여 설명된다.
앞서 도 1 내지 도 11을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 13은 일 예에 따른 상위 이벤트 로그 및 하위 이벤트 로그를 검출하는 방법의 흐름도를 도시한다.
전술된 단계(1220)는 하기의 단계들(1310 내지 1340)을 포함할 수 있다.
일 실시예에 따르면 단계들(1310 내지 1340)의 각 단계는 전자 장치(300)에서 실행될 수 있는 코드로 나타내어질 수 있다.
단계(1310)에서, 처리부(320)는 적어도 하나의 중심 이벤트 로그의 인덱스 값을 검출할 수 있다. 예를 들어, 단계(1310)는 적어도 하나의 중심 이벤트 로그가 포함하는 특정 차원에 대해 수행될 수 있다. 인덱스 값은 이벤트 로그가 특정 차원에서 인덱싱된 순위를 나타낼 수 있다.
단계(1320)에서, 처리부(320)는 적어도 하나의 중심 이벤트 로그의 상위 이벤트 로그 및 하위 이벤트 로그를 검출하기 위해, 낮은 단계부터 상위 이벤트 로그 및 하위 이벤트 로그를 검출할 수 있다.
단계(1330)에서, 처리부(320)는 검출된 인덱스 값의 다음 인덱스 값을 갖는 하위 이벤트 로그를 검출할 수 있다.
단계(1340)에서, 처리부(320)는 검출된 인덱스 값의 직전 인덱스 값을 갖는 상위 이벤트 로그를 검출할 수 있다.
단계(1350)에서, 처리부(320)는 단계를 증가시킬 수 있다.
단계(1350)가 수행된 후, 단계(1320)가 재수행될 수 있다. 단계(1320)에서, 처리부(320)는 증가된 단계가 정보가 나타내는 단계 내인지 여부를 판단할 수 있다. 증가된 단계가 정보가 나타내는 단계 내인 경우 단계들(1330 내지 1350)이 재수행될 수 있다.
상기의 단계들(1310 내지 1350)은 적어도 하나의 중심 이벤트 로그가 포함하는 차원들의 각각으로 반복적으로 수행될 수 있다. 단계들(1310 내지 1340)이 반복적으로 수행됨으로써 차원들의 각각으로 상위 이벤트 로그 및 하위 이벤트 로그가 검출될 수 있다.
앞서 도 1 내지 도 12를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 14는 일 예에 따른 중심 이벤트 로그, 상위 이벤트 로그 및 하위 이벤트 로그를 검출하는 코드를 도시한다.
도 14의 코드는 일 실시예에 따른, 전술된 단계들(1210 내지 1220)을 수행하기 위한 코드일 수 있다.
"LISTMODEL"은 중심 이벤트 로그가 포함하고 있는 차원들에 대한 배열일 수 있다. "listModel"은 중심 이벤트 로그가 포함하고 있는 특정 차원을 나타낼 수 있다. "listModel.key()"는 차원의 값들의 리스트를 포함하고 있을 수 있다. "listModel.Value"는 특정 차원의 값일 수 있다. "#FOLLOWEVENT"는 단계를 나타내는 정보일 수 있다.
"EVREF"는 획득한 하나 이상의 차원들에 동시에 대응하는 적어도 하나의 중심 이벤트 로그("evRef")의 집합일 수 있다. "TEMP"는 임시 값("temp")의 집합일 수 있다. "evRef.ID.idx()"는 중심 이벤트 로그가 인덱싱된 인덱스 순서일 수 있다. "evRef.NEXT"는 중심 이벤트 로그의 하위 이벤트 로그일 수 있다. "evRef.PREV"는 중심 이벤트 로그의 상위 이벤트 로그일 수 있다.
코드(1410)는 전술된 단계(450)를 수행하는 코드일 수 있다.
코드(1420)는 전술된 단계(1320)를 수행하는 코드일 수 있다.
코드(1430)는 전술된 단계(1330)를 수행하는 코드일 수 있다. 즉, 코드(1430)는 중심 이벤트 로그의 하위 이벤트 로그를 검출하는 코드일 수 있다.
코드(1440)는 전술된 단계(1340)를 수행하는 코드일 수 있다. 즉, 코드(1440)는 중심 이벤트 로그의 상위 이벤트 로그를 검출하는 코드일 수 있다.
앞서 도 1 내지 도 13을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 15는 일 예에 따른 상위 이벤트 로그 및 하위 이벤트 로그를 검출하는 코드를 도시한다.
도 15의 코드는 일 실시예에 따른, 전술된 단계들(1210 내지 1220)을 수행하기 위한 코드일 수 있다.
코드(1510)는 전술된 단계(1320)를 수행하는 코드일 수 있다.
코드(1520)는 전술된 단계(1330)를 수행하는 코드일 수 있다. 즉, 코드(1520)는 중심 이벤트 로그의 하위 이벤트 로그를 검출하는 코드일 수 있다.
"evNext.ID.Value()"는 하위 이벤트 로그에 할당된 프로세스 인스턴스의 값일 수 있다. "evNext.ID.dimention()"는 하위 이벤트 로그의 차원일 수 있다.
코드(1530)는 전술된 단계(1340)를 수행하는 코드일 수 있다. 즉, 코드(1530)는 중심 이벤트 로그의 상위 이벤트 로그를 검출하는 코드일 수 있다.
"evPrev.ID.Value()"는 상위 이벤트 로그의 "pi.ID()" 및 "ate.ID()"의 쌍의 값일 수 있다. "evPrev.ID.dimention()"는 상위 이벤트 로그의 차원일 수 있다.
앞서 도 1 내지 도 14를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 16은 일 예에 따른 중심 이벤트 로그의 노드, 상위 이벤트 로그의 노드 및 하위 이벤트 로그의 노드를 생성하는 코드를 도시한다.
도 16의 코드는 전술된 단계(450) 및 단계(1230)를 수행하기 위한 코드일 수 있다. 예를 들어, 코드는 검출된 중심 이벤트 로그, 상위 이벤트 로그 및 하위 이벤트 로그를 출력하기 위한 코드일 수 있다.
노드는 출력되는 이벤트 로그와 관련된 정보를 의미할 수 있다. 엣지는 노드들 간을 서로 연결하는 선 또는 화살표일 수 있다.
"NODES"는 이벤트 로그와 관련된 정보의 집합일 수 있다. "EDGES"는 엣지들의 집합일 수 있다.
"node.ID()"는 "pi.ID()" 및 "ate.ID()"의 결합일 수 있다. "node.PIName()"은 "pi.Name()"과 동일할 수 있다. "node.ATEName()"은 "ate.Name()"과 동일할 수 있다. "node.ATEType()"은 "ate.EventType()"과 동일할 수 있다. "node.Time()"은 "ate.TimeStamp()"와 동일할 수 있다. "node.DIMValue()"은 차원의 값과 동일할 수 있다. "node.Type()"은 노드의 타입일 수 있다. "node.Color()"는 노드의 색깔일 수 있다. "node.Style()"은 노드의 스타일을 나타낼 수 있다.
"edge.Source()"는 소스 노드일 수 있다. "edge.Target()"은 타겟 노드일 수 있다. "edge.Type()"는 "pi.Name()" 또는 차원의 값 중 하나일 수 있다. "edge.TimeGap()"은 소스 노드의 타임 스탬프 및 타겟 노드의 타임 스탬프의 시간 차이일 수 있다. "edge.Color()"는 엣지의 색깔일 수 있다.
코드(1610)는 적어도 하나의 중심 이벤트 로그의 노드를 생성할 수 있다.
코드(1620)는 검출된 상위 이벤트 로그의 노드를 생성할 수 있다.
코드(1630)는 검출된 하위 이벤트 로그의 노드를 생성할 수 있다.
앞서 도 1 내지 도 15를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 17은 일 예에 따른 중심 이벤트 로그의 노드와 상위 이벤트 로그의 노드 및 하위 이벤트 로그의 노드를 연결하는 코드를 도시한다.
도 17의 코드는 단계(1230)를 수행하기 위한 코드일 수 있다. 예를 들어, 코드는 생성된 중심 이벤트 로그의 노드, 상위 이벤트 로그의 노드 및 하위 이벤트 로그의 노드를 연결하기 위한 코드일 수 있다.
코드(1710)는 상위 이벤트 로그의 노드를 중심 이벤트 로그의 노드에 연결하는 코드일 수 있다.
코드(1720)는 하위 이벤트 로그의 노드를 중심 이벤트 로그의 노드에 연결하는 코드일 수 있다.
처리부(320)는 도 17의 코드를 실행함으로써 적어도 하나의 중심 이벤트 로그의 각각에 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들이 연결된 그래프를 생성할 수 있다.
앞서 도 1 내지 도 16을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 18은 일 예에 따른 노드의 스타일을 재구성하는 코드를 도시한다.
도 18의 코드는 단계(1230)를 수행하기 위한 코드일 수 있다. 예를 들어, 처리부(320)는 도 18의 코드를 실행함으로써, 노드의 스타일을 변경 또는 재구성할 수 있다. 노드의 스타일은 노드의 색깔 및 노드의 선의 종류 중 적어도 하나일 수 있다.
코드(1810)는 노드의 스타일을 변경 또는 재구성하는 코드일 수 있다.
코드(1820)는 엣지에 소스 노드 및 타겟 노드 간의 시간 차이가 표시되도록 하는 코드일 수 있다.
처리부(320)는 도 18의 코드를 실행함으로써 노드의 스타일이 변경된 그래프를 생성할 수 있다.
앞서 도 1 내지 도 17을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 19는 일 예에 따른 정보가 나타내는 단계가 1인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 중심 이벤트 로그들의 각각과 연결된 관계에 대한 그래프를 도시한다.
전술된 도 11의 적어도 하나의 중심 이벤트 로그에 대한 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들에 대해, 도 19 내지 도 22를 참조하여 설명된다.
전술된 단계(1210)에서, 처리부(320)는 적어도 하나의 중심 이벤트 로그(1030 및 1040)와 연결된 단계를 나타내는 정보를 획득할 수 있다. 획득한 정보가 나타내는 단계는 1일 수 있다.
단계(1220)에서, 처리부(320)는 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들 중 1 단계에 해당하는 하나 이상의 상위 이벤트 로그 및 하위 이벤트를 검출할 수 있다.
중심 이벤트 로그(1030)는 CASE_ID, YC_ID 및 BLOCK의 차원들을 포함할 수 있다. 따라서, 처리부(320)는 CASE_ID, YC_ID 및 BLOCK의 차원들의 각각에 인덱싱된 중심 이벤트 로그(1030)와 1 단계로 연결된 하나 이상의 상위 이벤트들 및 하위 이벤트들을 검출할 수 있다.
처리부(320)는 중심 이벤트 로그(1030)와 동일한 CASE_ID(PI-1281-1)를 포함하고, 중심 이벤트 로그(1030)와 1 단계로 연결된 상위 이벤트 로그(1912) 및 하위 이벤트 로그(1913)를 검출할 수 있다.
처리부(320)는 중심 이벤트 로그(1030)와 동일한 YC_ID(A71)를 포함하고, 중심 이벤트 로그(1030)와 1 단계로 연결된 상위 이벤트 로그(1922) 및 하위 이벤트 로그(1924)를 검출할 수 있다.
처리부(320)는 중심 이벤트 로그(1030)와 동일한 BLOCK(6B)를 포함하고, 중심 이벤트 로그(1030)와 1 단계로 연결된 상위 이벤트 로그(1902) 및 하위 이벤트 로그(1903)를 검출할 수 있다.
엣지들의 각 엣지에 표시된 시간 차이는 중심 이벤트 로그(1030)와 상위 이벤트 로그 또는 하위 이벤트 로그 간의 시간 차이일 수 있다. 시간 차이는 두 이벤트 로그들의 타임 스탬프들 간의 시간 차이를 이용하여 계산될 수 있다.
중심 이벤트 로그(1030)과 유사하게, 처리부(320)는 중심 이벤트 로그(1040)와 동일한 CASE_ID(PI-6790-1)를 포함하고, 중심 이벤트 로그(1040)와 1 단계로 연결된 상위 이벤트 로그(1932) 및 하위 이벤트 로그(1954)를 검출할 수 있다.
처리부(320)는 중심 이벤트 로그(1040)와 동일한 YC_ID(A71)를 포함하고, 중심 이벤트 로그(1040)와 1 단계로 연결된 상위 이벤트 로그(1932) 및 하위 이벤트 로그(1934)를 검출할 수 있다. 상위 이벤트 로그(1932)는 CASE_ID 및 YC_ID의 차원에서 동시에 중심 이벤트 로그(1040)와 1 단계로 연결될 수 있다. 이 경우, 상위 이벤트 로그(1932)는 하나만 출력될 수 있다. 상위 이벤트 로그(1932)는 동시에 두 개의 엣지들의 소스 노드일 수 있다.
상위 이벤트 로그 또는 하위 이벤트 로그가 동시에 두 개 이상의 엣지들에 대한 소스 노드가 되는 경우 상기의 소스 노드는 다른 노드와는 스타일이 다르게 출력될 수 있다.
처리부(320)는 중심 이벤트 로그(1040)와 동일한 BLOCK(6B)를 포함하고, 중심 이벤트 로그(1040)와 1 단계로 연결된 상위 이벤트 로그(1952) 및 하위 이벤트 로그(19422)를 검출할 수 있다.
단계(1230)에서, 처리부(320)는 적어도 하나의 중심 이벤트 로그가 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들과 연결된 그래프를 출력할 수 있다.
처리부(320)는 적어도 하나의 중심 이벤트 로그가 복수인 경우, 중심 이벤트 로그 별로 검출된 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들을 연결한 그래프를 출력할 수 있다.
앞서 도 1 내지 도 18을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 20은 일 예에 따른 정보가 나타내는 단계가 2인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 중심 이벤트 로그들의 각각과 연결된 관계에 대한 그래프를 도시한다.
전술된 단계(1210)에서, 처리부(320)는 적어도 하나의 중심 이벤트 로그(1030 및 1040)와 연결된 단계를 나타내는 정보를 획득할 수 있다. 획득한 정보가 나타내는 단계는 2일 수 있다.
단계(1220)에서, 처리부(320)는 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들 중 2 단계 내의 해당하는 하나 이상의 상위 이벤트 로그 및 하위 이벤트를 검출할 수 있다. 즉, 처리부(320)는 차원들의 각각으로 중심 이벤트 로그(1030 또는 1040)와 1 단계로 연결된 상위 이벤트 로그 및 하위 이벤트 로그를 검출할 수 있고, 또한, 차원들의 각각으로 중심 이벤트 로그(1030 또는 1040)와 2 단계로 연결된 상위 이벤트 및 하위 이벤트 로그를 검출할 수 있다.
앞서 도 1 내지 도 19를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 21은 일 예에 따른 정보가 나타내는 단계가 3인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 중심 이벤트 로그들의 각각과 연결된 관계에 대한 그래프를 도시한다.
전술된 단계(1210)에서, 처리부(320)는 적어도 하나의 중심 이벤트 로그(1030 및 1040)와 연결된 단계를 나타내는 정보를 획득할 수 있다. 획득한 정보가 나타내는 단계는 3일 수 있다.
단계(1220)에서, 처리부(320)는 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들 중 3 단계 내의 해당하는 하나 이상의 상위 이벤트 로그 및 하위 이벤트를 검출할 수 있다. 즉, 처리부(320)는 차원들의 각각으로 중심 이벤트 로그(1030 또는 1040)와 1 단계, 2 단계 및 3 단계로 연결된 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들을 검출할 수 있다.
앞서 도 1 내지 도 20을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 22는 일 예에 따른 정보가 나타내는 단계가 4인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 중심 이벤트 로그들의 각각과 연결된 관계에 대한 그래프를 도시한다.
전술된 단계(1210)에서, 처리부(320)는 적어도 하나의 중심 이벤트 로그(1030 및 1040)와 연결된 단계를 나타내는 정보를 획득할 수 있다. 획득한 정보가 나타내는 단계는 4일 수 있다.
단계(1220)에서, 처리부(320)는 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들 중 4 단계 내의 해당하는 하나 이상의 상위 이벤트 로그 및 하위 이벤트를 검출할 수 있다. 즉, 처리부(320)는 차원들의 각각으로 중심 이벤트 로그(1030 또는 1040)와 1 단계, 2 단계, 3 단계 및 4 단계로 연결된 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들을 검출할 수 있다.
단계(1230)에서, 처리부(320)는 적어도 하나의 중심 이벤트 로그가 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들과 연결된 그래프를 출력할 수 있다.
적어도 하나의 중심 이벤트 로그가 복수인 경우, 복수의 중심 이벤트 로그들 중 적어도 두 개의 중심 이벤트 로그들이 서로 간에 연결될 수 있다.
단계(1240)에서, 처리부(320)는 복수의 중심 이벤트 로그들 중 적어도 두 개의 중심 이벤트 로그들(1030 및 1040)이 서로 간에 연결된 경우 상기의 연결(2200)에 관여한 이벤트에서 문제가 발생한 것으로 판단할 수 있다. 상기의 연결(2200)에 관여한 이벤트는 복수의 이벤트들 일 수 있다.
도 19 내지 도 22를 참조하여 설명된 일 예에서, 처리부(320)는 상기의 연결(2200)에 관여한 이벤트에서 문제가 발생한 것으로 판단할 수 있다. 연결(2200)에 관여한 이벤트는 BLOCK의 차원 중 6B에 관한 이벤트일 수 있다. 즉, 두 중심 이벤트 로그들에 대한 두 이벤트들 간의 작업은 6B와 관련된 문제로 인해 지연된 것일 수 있다.
앞서 도 1 내지 도 21을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 23은 일 실시예에 따른 이벤트 로그를 분석하는 방법의 흐름도를 도시한다.
전술된 도 4 내지 도 22를 참조하여 설명된 이벤트 로그를 분석하는 방법 이외에, 복수의 이벤트 로그들 간의 시간 차이를 분석함으로써 이벤트 로그를 분석하는 방법이 제공될 수 있다. 복수의 이벤트 로그들 간의 시간 차이를 분석함으로써 이벤트 로그를 분석하는 방법에 대해, 하기에서 도 23 및 도 36을 참조하여 상세히 설명된다.
전술된 단계(410)는 하기의 단계(2310)를 포함할 수 있다.
단계(2310)에서, 처리부(320)는 복수의 이벤트 로그들의 각 이벤트 로그의 타임 스탬프에 기반하여 복수의 이벤트 로그들 간의 시간 차이를 분석할 수 있다.
일 실시예에 따르면, 처리부(320)는 소정의 차원들 중 적어도 하나를 포함하는 이벤트 로그들만을 분석할 수 있다. 소정의 차원들은 복수의 차원들에 포함될 수 있다.
예를 들어, 소정의 차원들은 특정한 "NAME"에 대한 차원들일 수 있다. 소정의 차원들이 특정한 "NAME"에 대한 차원들인 경우, 소정의 차원들은 "DispatchLoadQuay" 및 "CompleteLoadQuay"일 수 있다.
다른 일 실시예에 따르면, 처리부(320)는 복수의 차원들 중 동일한 프로세스 인스턴스 ID의 차원, 즉, 동일한 CASE_ID의 차원을 포함하는 이벤트 로그들 간의 시간 차이를 분석할 수 있다.
예를 들어, 동일한 CASE_ID의 차원을 포함하는 이벤트 로그들 간의 시간 차이를 분석하는 경우, 처리부(320)는 동일한 CASE_ID의 차원을 포함하는 이벤트 로그들을 물류가 처리되는 작업 순서에 따라 시간 차이를 분석할 수 있다.
처리부(320)는 복수의 이벤트 로그들 간의 시간 차이를 분석한 결과를 데이터로 생성할 수 있다.
전술된 단계(420)는 하기의 단계(2320)를 포함할 수 있다.
단계(2320)에서, 처리부(320)는 분석된 시간 차이를 이용하여 복수의 차원들의 각각으로 복수의 이벤트 로그들을 인덱싱할 수 있다. 처리부(320)는 복수의 이벤트 로그들을 인덱싱 할 때, 전술된 시간 차이를 분석한 결과의 데이터를 이용할 수 있다. 예를 들어, 처리부(320)는 특정 차원에 이벤트 로그들을 인덱싱 할 때, 상기의 이벤트 로그들이 특정 차원에 대해 시간 차이가 분석된 경우 분석된 시간 차이를 함께 인덱싱할 수 있다.
단계(2330)는 전술된 단계(430)에 대응할 수 있다. 즉, 단계(430)에 대한 설명은 단계(2330)에 대한 설명으로 대체될 수 있다.
추가적인 이벤트가 수신된 경우, 단계(2310) 및 단계(2320)가 재수행될 수 있다.
전술된 단계(440)는 하기의 단계(2340)를 포함할 수 있다.
단계(2340)에서, 처리부(320)는 복수의 차원들 중 하나 이상의 차원들을 획득할 수 있다.
일 실시예에 따르면, 처리부(320)는 분석된 시간 차이에 기반하여, 복수의 이벤트 로그들 중 특정 작업에 대해 설정된 소정의 시간을 경과한 이벤트 로그가 존재하는 경우 상기 특정 작업에 관련된 하나 이상의 차원들을 획득할 수 있다. 소정의 시간은 차원에 기반하여 다르게 설정될 수 있다.
예를 들어, 동일한 프로세스 인스턴스에 대해, "DispatchLoadQuay"의 작업 및 "CompleteLoadQuay"의 작업 간에 설정된 소정의 시간이 15분인 경우, 동일한 CASE_ID를 포함하는 이벤트 로그들 중 "DispatchLoadQuay"의 작업 및 "CompleteLoadQuay"의 작업 간의 시간 차이가 15분을 초과하는 이벤트 로그들이 존재하면, 처리부(320)는 "DispatchLoadQuay"의 차원 및 "CompleteLoadQuay"의 차원을 획득할 수 있다.
다른 일 실시예에 따르면, 통신부(310)는 사용자로부터 하나 이상의 차원들을 수신할 수 있다.
획득한 하나 이상의 차원들은 제1 차원 및 제2 차원을 포함할 수 있다.
전술된 단계(450)는 하기의 단계(2350)를 포함할 수 있다.
단계(2350)에서, 처리부(320)는 제1 차원을 포함하는 제1 이벤트 로그 및 제2 차원을 포함하는 제2 이벤트 로그를 각각 검출할 수 있다. 제1 이벤트 로그 및 제2 이벤트 로그는 각각 복수일 수 있다.
예를 들어, 제1 이벤트 로그 및 제2 이벤트 로그는 동일한 CASE_ID의 차원을 포함할 수 있다.
단계(2360)에서, 처리부(320)는 검출된 제1 이벤트 로그 및 제2 이벤트 로그 간의 시간 차이를 출력할 수 있다.
예를 들어, 처리부(320)는 통신부(310) 및 인터페이스를 통해 제1 이벤트 로그 및 제2 이벤트 로그 간의 시간 차이를 출력할 수 있다. 출력된 시간 차이는 복수 개일 수 있다. 출력된 시간 차이가 복수 개인 경우, 처리부(320)는 시간 차이가 많이 나는 순서로 복수 개의 시간 차이들을 정렬할 수 있다. 복수의 시간 차이들의 각 시간 차이는 서로 상이한 프로세스 인스턴스에 관한 시간 차이일 수 있다.
전술된 단계(460)는 하기의 단계(2370)를 포함할 수 있다.
단계(2370)에서, 처리부(320)는 제1 이벤트 로그 및 제2 이벤트 로그를 적어도 하나의 중심 이벤트 로그로서 출력할 수 있다. 즉, 처리부(320)는 제1 이벤트 로그와 관련된 정보 및 제2 이벤트 로그와 관련된 정보를 출력할 수 있다.
일 실시예에 따르면, 처리부(320)는 출력된 시간 차이가 소정의 시간을 초과하는 경우 제1 이벤트 로그 및 제2 이벤트 로그의 연결된 관계를 나타내는 그래프를 출력할 수 있다.
소정의 시간은 제1 차원 및 제2 디면젼에 기반하여 다르게 설정될 수 있다.
앞서 도 1 내지 도 22를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 24는 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그의 연결 관계를 나타내는 그래프를 출력하는 방법의 흐름도를 도시한다.
하기의 단계(2410)는 전술된 단계(2360)가 수행된 후 수행될 수 있다.
단계(2410)에서, 처리부(320)는 출력된 시간 차이를 선택하는 정보를 획득할 수 있다.
일 실시예에 따르면, 처리부(320)는 복수의 시간 차이들 중 가장 큰 시간 차이를 선택할 수 있다.
다른 일 실시예에 따르면, 통신부(310)는 인터페이스를 통해 사용자로부터 복수의 시간 차이들 중 특정 시간 차이를 선택하는 정보를 수신할 수 있다.
전술된 단계(2370)는 하기의 단계(2420)를 포함할 수 있다.
단계(2420)에서, 처리부(320)는 선택된 시간 차이에 대한 제1 이벤트 로그 및 제2 이벤트 로그의 연결된 관계를 나타내는 그래프를 출력할 수 있다.
앞서 도 1 내지 도 23을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 25는 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그가 각각의 상위 이벤트 로그 및 하위 이벤트 로그와 연결된 그래프를 출력하는 방법의 흐름도를 도시한다.
하기의 단계(2510)는 전술된 단계(2370)가 수행된 후 수행될 수 있다.
단계(2510)에서, 처리부(320)는 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들이 제1 이벤트 로그 및 제2 이벤트 로그와 각각 연결된 단계를 나타내는 정보를 획득할 수 있다. 하나 이상의 차원들 각각에 대해 인덱싱된 이벤트 로그들은 제1 이벤트 로그 또는 상기 제2 이벤트 로그와 연결된 단계를 각각 가질 수 있다.
일 실시예에 따르면, 제1 이벤트 로그 및 제2 이벤트 로그와 각각 연결된 단계를 나타내는 정보는 기 설정되어 있을 수 있다.
다른 일 실시예에 따르면, 통신부(310) 및 인터페이스를 통해 사용자로부터 제1 이벤트 로그 및 제2 이벤트 로그와 각각 연결된 단계를 나타내는 정보를 수신할 수 있다.
또는, 단계(2510)는 전술된 단계(2330)가 수행된 후 수행될 수 있다. 예를 들어, 단계(2510) 및 단계(2340)는 병렬적으로 수행될 수 있다. 다른 예로, 처리부(320)는 복수의 차원들 중 하나 이상의 차원들 및 제1 이벤트 로그 및 제2 이벤트 로그와 각각 연결된 단계를 나타내는 정보를 동시에 획득할 수 있다. 하나 이상의 차원들 및 정보를 동시에 획득한 경우 단계(2510) 및 단계(2340)는 동시에 수행될 수 있다.
단계(2520)에서, 처리부(320)는 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들 중 상기의 정보가 나타내는 단계 내에 해당하는 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들을 검출할 수 있다.
단계(2510) 및 단계(2330)가 병렬적으로 수행되는 경우, 단계(2520)는 단계(2350)가 수행된 후 수행될 수 있다.
단계(2530)에서, 처리부(320)는 제1 이벤트 로그 및 제2 이벤트 로그가 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들과 각각 연결된 그래프를 출력할 수 있다.
출력된 그래프는 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들이 하나 이상의 차원들의 각 차원으로 나뉘어 제1 이벤트 로그 및 제2 이벤트 로그와 각각 연결된 그래프일 수 있다.
단계(2510) 및 단계(2330)가 병렬적으로 수행되는 경우, 단계(2530)는 단계(2370)가 수행된 후 수행될 수 있다.
단계(2540)에서, 처리부(320)는 제1 이벤트 로그 및 제2 이벤트 로그가 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들 중 일부의 이벤트 로그를 통해 연결된 경우 일부의 이벤트 로그에 관여한 이벤트에서 문제가 발생한 것으로 판단할 수 있다.
앞서 도 1 내지 도 24를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 26은 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그 간의 시간 차이를 도시한다.
단계(2340)에서, 처리부(320)는 하나 이상의 차원들(2610 및 2620)을 획득할 수 있다. 제1 차원(2610)은 "DispatchLoadQuay"의 차원일 수 있다. 제2 차원(2620)은 "CompleteLoadQuay"의 차원일 수 있다.
단계(2350)에서, 처리부(320)는 "DispatchLoadQuay"의 차원을 포함하는 제1 이벤트 로그 및 "CompleteLoadQuay"의 차원을 포함하는 제2 이벤트 로그를 검출할 수 있다.
단계(2360)에서, 제1 이벤트 로그 및 제2 이벤트 로그가 동일한 CASE_ID를 포함하는 경우, 처리부(320)는 제1 이벤트 로그 및 제2 이벤트 로그의 시간 차이를 출력할 수 있다. 처리부(320)는 시간 차이를 출력할 때, 제1 이벤트 로그 또는 제2 이벤트 로그와 관련된 하나 이상의 차원들을 함께 시간 차이와 출력할 수 있다. 출력되는 하나 이상의 차원들은 차원 필터에 의해 기반하여 결정될 수 있다.
출력되는 시간 차이가 복수 개인 경우, 처리부(320)는 시간 차이가 많이 나는 순서로 시간 차이들을 출력할 수 있다. 예를 들어, CASE_ID의 차원 값이 PI-6639-1인 시간 차이(2630)가 가장 상단에 출력될 수 있다.
단계(2410)에서, 일 실시예에 따르면, 통신부(310)는 사용자로부터 시간 차이(2630)를 선택하는 정보를 수신할 수 있다.
다른 일 실시예에 따르면, 처리부(320)는 가장 상단에 출력된 시간 차이(2630)를 선택할 수 있다.
앞서 도 1 내지 도 25를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 27은 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그의 연결 관계를 나타내는 그래프를 도시한다.
전술된 도 26을 참조하는 설명에서, 시간 차이(2630)가 선택된 경우, 처리부(320)는 시간 차이(2630)에 대한 제1 이벤트 로그(2710 및 2720) 및 제2 이벤트 로그(2730)의 연결된 관계를 나타내는 그래프를 출력할 수 있다. 상기의 제1 이벤트 로그(2710 및 2720)는 복수일 수 있다.
제1 이벤트 로그(2710 및 2720) 및 제2 이벤트 로그(2730)는 동일한 CASE_ID를 포함할 수 있기 때문에, CASE_ID의 차원으로 연결될 수 있다.
제1 이벤트 로그(2710) 및 제2 이벤트 로그(2730) 간의 시간 차이가 18시간 52분 42초이기 때문에, 상기의 지연 시간이 발생한 원인을 찾기 위해 제1 이벤트 로그(2710 및 2720) 및 제2 이벤트 로그(2730)와 각각 연결된 하나 이상의 상위 이벤트들 및 하위 이벤트 로그들이 검토될 수 있다.
전술된 도 27의 제1 이벤트 로그(2710 및 2720) 및 제2 이벤트 로그(2730)와 각각 연결된 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들에 대해, 하기에서 도 28 및 도 30을 참조하여 상세히 설명된다.
앞서 도 1 내지 도 26을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 28은 일 예에 따른 정보가 나타내는 단계가 1인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 제1 이벤트 로그 및 제2 이벤트 로그의 각각과 연결된 관계에 대한 그래프를 도시한다.
전술된 단계(2510)에서, 처리부(320)는 제1 이벤트 로그(2710 및 2720) 및 제2 이벤트 로그(2730)와 각각 연결된 단계를 나타내는 정보를 획득할 수 있다. 획득한 정보가 나타내는 단계는 1일 수 있다.
단계(2520)에서, 처리부(320)는 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들 중 1 단계에 해당하는 하나 이상의 상위 이벤트 로그 및 하위 이벤트를 검출할 수 있다.
단계(2530)에서, 처리부(320)는 제1 이벤트 로그(2710 및 2720) 및 제2 이벤트 로그(2730)의 각각이 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들과 연결된 그래프를 출력할 수 있다.
제1 이벤트 로그(2720) 및 제2 이벤트 로그(2730) 간의 연결(2810)에 대해, 하기에서 도 29를 참조하여 상세히 설명된다.
제1 이벤트 로그(2710) 및 제1 이벤트 로그(2720) 간의 연결(2820)에 대해, 하기에서 도 30을 참조하여 상세히 설명된다.
앞서 도 1 내지 도 27을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 29는 일 예에 따른 정보가 나타내는 단계가 2인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 제1 이벤트 로그 및 제2 이벤트 로그의 각각과 연결된 관계에 대한 그래프를 도시한다.
전술된 단계(2510)에서, 처리부(320)는 제1 이벤트 로그(2710 및 2720) 및 제2 이벤트 로그(2730)와 각각 연결된 단계를 나타내는 정보를 획득할 수 있다. 획득한 정보가 나타내는 단계는 4일 수 있다.
단계(2520)에서, 처리부(320)는 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들 중 1 단계, 2단계, 3단계 및 4단계에 해당하는 하나 이상의 상위 이벤트 로그 및 하위 이벤트를 검출할 수 있다.
단계(2530)에서, 처리부(320)는 제1 이벤트 로그(2710 및 2720) 및 제2 이벤트 로그(2730)의 각각이 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들과 연결된 그래프를 출력할 수 있다.
출력된 그래프에서, 제1 이벤트 로그(2720) 및 제2 이벤트 로그(2730)는 동일한 YT_ID의 차원에 대한 이벤트 로그로 연결될 수 있다.
단계(2540)에서, 처리부(320)는 제1 이벤트 로그(2720) 및 제2 이벤트 로그(2730) 간의 지연이 YT_ID 차원의 T=208 차원 값을 가지는 야드 트럭에 의해 발생한 것으로 판단할 수 있다.
앞서 도 1 내지 도 28을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 30은 일 예에 따른 정보가 나타내는 단계가 3인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 제1 이벤트 로그 및 제2 이벤트 로그의 각각과 연결된 관계에 대한 그래프를 도시한다.
획득한 정보가 나타내는 단계는 8일 수 있다.
출력된 그래프에서, 제1 이벤트 로그(2710) 및 제1 이벤트 로그(2720)는 동일한 YT_ID의 차원에 대한 이벤트 로그로 연결될 수 있다. 제1 이벤트 로그(2710) 및 제1 이벤트 로그(2720)의 사이에 플러그인(plugin)에 관한 이벤트 로그(3010)가 발생할 수 있다.
처리부(320)는 제1 이벤트 로그(2710) 및 제1 이벤트 로그(2720) 간의 지연이 플러그인에 관한 이벤트에 의해 발생한 것으로 판단할 수 있다.
앞서 도 1 내지 도 29를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 31은 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그 간의 시간 차이를 도시한다.
도 31 및 도 32를 참조하여 도 26 내지 도 30을 참조하여 전술된 시나리오와 다른 시나리오가 설명된다.
단계(2340)에서, 처리부(320)는 하나 이상의 차원들(3110 및 3120)을 획득할 수 있다. 제1 차원(3110)은 "CompleteDischargeQuay(complete)"의 차원일 수 있다. 제2 차원(3120)은 "CompleteDischargeYard(complete)"의 차원일 수 있다.
단계(2350)에서, 처리부(320)는 "CompleteDischargeQuay(complete)"의 차원을 포함하는 제1 이벤트 로그 및 "CompleteDischargeYard(complete)"의 차원을 포함하는 제2 이벤트 로그를 검출할 수 있다.
단계(2360)에서, 제1 이벤트 로그 및 제2 이벤트 로그가 동일한 CASE_ID를 포함하는 경우, 처리부(320)는 제1 이벤트 로그 및 제2 이벤트 로그의 시간 차이를 출력할 수 있다.
단계(2410)에서, 처리부(320)는 출력된 시간 차이(3130)를 선택하는 정보를 획득할 수 있다.
앞서 도 1 내지 도 30을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 32는 일 예에 따른 정보가 나타내는 단계가 5인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 제1 이벤트 로그 및 제2 이벤트 로그의 각각과 연결된 관계에 대한 그래프를 도시한다.
전술된 도 31을 참조하는 설명에서, 시간 차이(3130)가 선택된 경우, 처리부(320)는 시간 차이(3130)에 대한 제1 이벤트 로그(3210) 및 제2 이벤트 로그(3220)의 연결된 관계를 나타내는 그래프를 출력할 수 있다.
전술된 단계(2510)에서, 처리부(320)는 제1 이벤트 로그(3210) 및 제2 이벤트 로그(3220)와 각각 연결된 단계를 나타내는 정보를 획득할 수 있다. 획득한 정보가 나타내는 단계는 5일 수 있다.
출력된 그래프에서, 제1 이벤트 로그(3210) 및 제2 이벤트 로그(3220)는 동일한 QC_ID의 차원에 대한 이벤트 로그로 연결될 수 있다. 제1 이벤트 로그(3210) 및 제2 이벤트 로그(3220)의 사이에 QC34인 키 크레인이 제1 이벤트 로그(3210)의 프로세스 인스턴스와는 상이한 다른 프로세스 인스턴스에 대한 이벤트(3230)를 수행한 것이 검출될 수 있다.
처리부(320)는 제1 이벤트 로그(3210) 및 제2 이벤트 로그(3220) 간의 지연이 QC34인 키 크레인에 의해 발생한 것으로 판단할 수 있다.
앞서 도 1 내지 도 31을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 33은 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그 간의 시간 차이를 도시한다.
도 33 내지 도 34를 참조하여 또 다른 시나리오가 설명된다.
단계(2340)에서, 처리부(320)는 하나 이상의 차원들(3310 및 3320)을 획득할 수 있다. 제1 차원(3310)은 "CompleteLoadYard(complete)"의 차원일 수 있다. 제2 차원(3320)은 "CompleteLoadQuay(complete)"의 차원일 수 있다.
단계(2350)에서, 처리부(320)는 "CompleteLoadYard(complete)"의 차원을 포함하는 제1 이벤트 로그 및 "CompleteLoadQuay(complete)"의 차원을 포함하는 제2 이벤트 로그를 검출할 수 있다.
단계(2360)에서, 제1 이벤트 로그 및 제2 이벤트 로그가 동일한 CASE_ID를 포함하는 경우, 처리부(320)는 제1 이벤트 로그 및 제2 이벤트 로그의 시간 차이를 출력할 수 있다.
단계(2410)에서, 처리부(320)는 출력된 시간 차이(3330)를 선택하는 정보를 획득할 수 있다.
앞서 도 1 내지 도 32를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 34는 일 예에 따른 정보가 나타내는 단계가 3인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 제1 이벤트 로그 및 제2 이벤트 로그의 각각과 연결된 관계에 대한 그래프를 도시한다.
전술된 도 33을 참조하는 설명에서, 시간 차이(3330)가 선택된 경우, 처리부(320)는 시간 차이(3330)에 대한 제1 이벤트 로그(3410) 및 제2 이벤트 로그(3420)의 연결된 관계를 나타내는 그래프를 출력할 수 있다.
전술된 단계(2510)에서, 처리부(320)는 제1 이벤트 로그(3410) 및 제2 이벤트 로그(3420)와 각각 연결된 단계를 나타내는 정보를 획득할 수 있다. 획득한 정보가 나타내는 단계는 3일 수 있다.
출력된 그래프에서, 제1 이벤트 로그(3410) 및 제2 이벤트 로그(3420)는 동일한 YC_ID의 차원에 대한 이벤트 로그로 연결될 수 있다. 제1 이벤트 로그(3410) 및 제2 이벤트 로그(3420)의 사이에 B62인 야드 크레인이 제1 이벤트 로그(3410)의 프로세스 인스턴스와는 상이한 다른 프로세스 인스턴스에 대한 이벤트(3430)를 수행한 것이 검출될 수 있다.
처리부(320)는 제1 이벤트 로그(3410) 및 제2 이벤트 로그(3420) 간의 지연이 B62인 야드 크레인에 의해 발생한 것으로 판단할 수 있다.
앞서 도 1 내지 도 33을 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 35는 일 예에 따른 제1 이벤트 로그 및 제2 이벤트 로그 간의 시간 차이를 도시한다.
도 35 내지 도 36을 참조하여 또 다른 시나리오가 설명된다.
단계(2340)에서, 처리부(320)는 하나 이상의 차원들(3510 및 3520)을 획득할 수 있다. 제1 차원(3510)은 "CompleteDischargeQuay"의 차원일 수 있다. 제2 차원(3520)은 "CompleteDischargeYard"의 차원일 수 있다.
단계(2350)에서, 처리부(320)는 "CompleteDischargeQuay"의 차원을 포함하는 제1 이벤트 로그 및 "CompleteDischargeYard"의 차원을 포함하는 제2 이벤트 로그를 검출할 수 있다.
단계(2360)에서, 제1 이벤트 로그 및 제2 이벤트 로그가 동일한 CASE_ID를 포함하는 경우, 처리부(320)는 제1 이벤트 로그 및 제2 이벤트 로그의 시간 차이를 출력할 수 있다.
단계(2410)에서, 처리부(320)는 출력된 시간 차이(3530)를 선택하는 정보를 획득할 수 있다.
앞서 도 1 내지 도 34를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
도 36은 일 예에 따른 정보가 나타내는 단계가 2인 경우, 상위 이벤트 로그들 및 하위 이벤트 로그들이 제1 이벤트 로그 및 제2 이벤트 로그의 각각과 연결된 관계에 대한 그래프를 도시한다.
전술된 도 35를 참조하는 설명에서, 시간 차이(3530)가 선택된 경우, 처리부(320)는 시간 차이(3530)에 대한 제1 이벤트 로그(3610) 및 제2 이벤트 로그(3620)의 연결된 관계를 나타내는 그래프를 출력할 수 있다.
전술된 단계(2510)에서, 처리부(320)는 제1 이벤트 로그(3610) 및 제2 이벤트 로그(3620)와 각각 연결된 단계를 나타내는 정보를 획득할 수 있다. 획득한 정보가 나타내는 단계는 2일 수 있다.
출력된 그래프에서, 제2 이벤트 로그(3420)의 QC43인 키 크레인 및 RS13인 야드 크레인이 다른 이벤트들(3630 및 3640)을 수행한 것이 검출될 수 있다.
처리부(320)는 제1 이벤트 로그(3410) 및 제2 이벤트 로그(3420) 간의 지연이 QC43인 키 크레인 및 RS13인 야드 크레인에 의해 발생한 것으로 판단할 수 있다.
앞서 도 1 내지 도 35를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 이하 생략하기로 한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
300: 전자 장치
310: 통신부
320: 처리부
330: 저장부

Claims (23)

  1. 복수의 이벤트 로그(event log)들을 분석하는 단계 - 상기 복수의 이벤트 로그들의 각 이벤트 로그는 복수의 차원(dimension)들 중 상기 이벤트 로그의 이벤트와 연관된 차원들의 각각에 관한 기록을 포함함 -;
    상기 분석에 기반하여 상기 복수의 차원들의 각각으로 상기 복수의 이벤트 로그들을 인덱싱하는 단계;
    상기 복수의 차원들 중 문제가 발생한 것으로 예상되는 하나 이상의 차원들을 획득하는 단계;
    상기 인덱싱된 복수의 이벤트 로그들 중 상기 획득된 하나 이상의 차원들에 대응하는 적어도 하나의 중심 이벤트 로그를 검출하는 단계; 및
    상기 검출된 적어도 하나의 중심 이벤트 로그에 관련된 정보를 출력하는 단계
    를 포함하는, 이벤트 로그 분석 방법.
  2. 제1항에 있어서,
    상기 문제가 발생한 것으로 예상되는 하나 이상의 차원들은 상기 이벤트가 수행되는 시간에 대해 설정된 소정의 시간에 비해 상기 이벤트의 실제 수행 시간이 더 긴 경우 상기 이벤트와 연관된 차원들 중 하나 이상인, 이벤트 로그 분석 방법.
  3. 제1항에 있어서,
    상기 출력하는 단계는 상기 적어도 하나의 중심 이벤트 로그에 관련된 정보를 그래프화함으로써 출력하는, 이벤트 로그 분석 방법.
  4. 제1항에 있어서,
    추가적인 이벤트 로그를 수신하는 단계
    를 더 포함하고,
    상기 복수의 이벤트 로그들을 분석하는 단계는 상기 수신된 추가적인 이벤트 로그를 상기 복수의 이벤트 로그들에 추가하고, 상기 추가적인 이벤트 로그가 추가된 상기 복수의 이벤트 로그들을 분석하는, 이벤트 로그 분석 방법.
  5. 제1항에 있어서,
    상기 분석하는 단계는 상기 각 이벤트 로그의 상기 이벤트와 연관된 차원들의 각각에 관한 기록을 추출함으로써 상기 복수의 이벤트 로그들을 분석하는, 이벤트 로그 분석 방법.
  6. 제1항에 있어서,
    상기 인덱싱하는 단계는 상기 각 이벤트 로그의 타임 스탬프(time stamp)에 기반하여 상기 복수의 차원들의 각각으로 상기 복수의 이벤트 로그들을 인덱싱하는, 이벤트 로그 분석 방법.
  7. 제6항에 있어서,
    상기 복수의 이벤트 로그들 중 동일한 차원 및 동일한 타임 스탬프를 가진 이벤트 로그들이 존재하는 경우, 상기 동일한 차원에 설정된 소정의 처리 순서에 기반하여 상기 이벤트 로그들을 인덱싱하는, 이벤트 로그 분석 방법.
  8. 제1항에 있어서,
    상기 인덱싱하는 단계는 해시 데이터 구조(hash data structure)를 이용하여 상기 복수의 차원들의 각각으로 상기 복수의 이벤트 로그들을 인덱싱하는, 이벤트 로그 분석 방법.
  9. 제1항에 있어서,
    상기 적어도 하나의 중심 이벤트 로그와 연결된 단계를 나타내는 정보를 획득하는 단계 - 상기 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들은 상기 적어도 하나의 중심 이벤트 로그와 연결된 단계를 각각 가짐 -; 및
    상기 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들 중 상기 정보가 나타내는 단계 내에 해당하는 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들을 검출하는 단계
    를 더 포함하고,
    상기 출력하는 단계는 상기 적어도 하나의 중심 이벤트 로그가 상기 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들과 연결된 그래프를 출력하는, 이벤트 로그 분석 방법.
  10. 제9항에 있어서,
    상기 그래프는 상기 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들이 상기 하나 이상의 차원들의 각 차원으로 나뉘어 상기 적어도 하나의 중심 이벤트 로그와 연결된, 이벤트 로그 분석 방법.
  11. 제9항에 있어서,
    상기 적어도 하나의 중심 이벤트 로그는 복수이고,
    상기 복수의 중심 이벤트 로그들 중 전부 또는 일부의 중심 이벤트 로그들이 서로 간에 연결된 경우 상기 연결에 관여한 이벤트에서 문제가 발생한 것으로 판단하는 단계
    를 더 포함하는, 이벤트 로그 분석 방법.
  12. 제1항에 있어서,
    상기 복수의 이벤트 로그들을 분석하는 단계는 상기 각 이벤트 로그의 타임스탬프에 기반하여 상기 복수의 이벤트 로그들 간의 시간 차이를 분석하고,
    상기 인덱싱하는 단계는 상기 분석된 시간 차이를 이용하여 상기 복수의 이벤트 로그들을 인덱싱하는, 이벤트 로그 분석 방법.
  13. 제12항에 있어서,
    상기 복수의 이벤트 로그들을 분석하는 단계는 소정의 차원들 중 적어도 하나의 차원을 포함하는 이벤트 로그들만을 분석하고,
    상기 소정의 차원들은 상기 복수의 차원들에 포함되는, 이벤트 로그 분석 방법.
  14. 제12항에 있어서,
    상기 복수의 이벤트 로그들을 분석하는 단계는 상기 복수의 차원들 중 동일한 프로세스 인스턴스 식별자(process instance identification)의 차원을 포함하는 이벤트 로그들 간의 상기 시간 차이를 분석하는, 이벤트 로그 분석 방법.
  15. 제12항에 있어서,
    제1 이벤트 로그 및 제2 이벤트 로그 간의 시간 차이를 출력하는 단계
    를 더 포함하고,
    상기 수신된 하나 이상의 차원들은 상기 제1 차원 및 상기 제2 차원이고,
    상기 검출하는 단계는 상기 제1 차원을 포함하는 제1 이벤트 로그 및 상기 제2 차원을 포함하는 제2 이벤트 로그를 검출하고,
    상기 정보를 출력하는 단계는 상기 제1 이벤트 로그 및 상기 제2 이벤트 로그를 상기 적어도 하나의 중심 이벤트 로그로서 출력하는, 이벤트 로그 분석 방법.
  16. 제15항에 있어서,
    상기 시간 차이를 출력하는 단계는 상기 제1 이벤트 로그 및 상기 제2 이벤트 로그가 각각 복수이고, 상기 시간 차이가 복수 개인 경우 시간 차이의 많이 나는 순서로 상기 복수 개의 시간 차이들을 출력하는, 이벤트 로그 분석 방법.
  17. 제15항에 있어서,
    상기 정보를 출력하는 단계는 상기 시간 차이가 소정의 시간을 초과하는 경우 상기 제1 이벤트 로그 및 상기 제2 이벤트 로그의 연결된 관계를 나타내는 그래프를 출력하는, 이벤트 로그 분석 방법.
  18. 제17항에 있어서,
    상기 소정의 시간은 상기 제1 차원 및 상기 제2 차원에 기반하여 다르게 설정되는, 이벤트 로그 분석 방법.
  19. 제15항에 있어서,
    상기 출력된 시간 차이를 선택하는 정보를 획득 수신하는 단계
    를 더 포함하고,
    상기 정보를 출력하는 단계는 상기 선택된 시간 차이에 대한 상기 제1 이벤트 로그 및 상기 제2 이벤트 로그의 연결된 관계를 나타내는 그래프를 출력하는, 이벤트 로그 분석 방법.
  20. 제15항에 있어서,
    상기 제1 이벤트 로그 및 상기 제2 이벤트 로그와 각각 연결된 단계를 나타내는 정보를 획득하는 단계 - 상기 하나 이상의 차원들 각각에 대해 인덱싱된 이벤트 로그들은 상기 제1 이벤트 로그 또는 상기 제2 이벤트 로그와 연결된 단계를 각각 가짐 -; 및
    상기 하나 이상의 차원들의 각각에 대해 인덱싱된 이벤트 로그들 중 상기 정보가 나타내는 단계 내에 해당하는 적어도 하나의 상위 이벤트 로그들 및 하위 이벤트 로그들을 검출하는 단계
    를 더 포함하고,
    상기 정보를 출력하는 단계는 상기 제1 이벤트 로그 및 상기 제2 이벤트 로그가 상기 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들과 각각 연결된 그래프를 출력하는, 이벤트 로그 분석 방법.
  21. 제20항에 있어서,
    상기 제1 이벤트 로그 및 상기 제2 이벤트 로그가 상기 하나 이상의 상위 이벤트 로그들 및 하위 이벤트 로그들 중 일부의 이벤트 로그를 통해 연결된 경우 상기 일부의 이벤트 로그에 관여한 이벤트에서 문제가 발생한 것으로 판단하는 단계
    를 더 포함하는, 이벤트 로그 분석 방법.
  22. 제1항 내지 제21항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
  23. 복수의 이벤트 로그(event log)들을 분석하고 - 상기 복수의 이벤트 로그들의 각 이벤트 로그는 복수의 차원(dimension)들 중 상기 이벤트 로그의 이벤트와 연관된 차원들의 각각에 관한 기록을 포함함 -, 상기 분석에 기반하여 상기 복수의 차원들의 각각으로 상기 복수의 이벤트 로그들을 인덱싱하고, 상기 복수의 차원들 중 문제가 발생한 것으로 예산되는 하나 이상의 차원들을 획득하고, 상기 인덱싱된 복수의 이벤트 로그들 중 상기 획득한 하나 이상의 차원들에 대응하는 적어도 하나의 중심 이벤트 로그를 검출하고, 상기 검출된 적어도 하나 중심 이벤트 로그에 관련된 정보를 출력하는 프로세서
    를 포함하는, 전자 장치.
KR1020140019643A 2014-02-20 2014-02-20 다차원 시간차 분석 방법 및 장치 KR101609915B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140019643A KR101609915B1 (ko) 2014-02-20 2014-02-20 다차원 시간차 분석 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140019643A KR101609915B1 (ko) 2014-02-20 2014-02-20 다차원 시간차 분석 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150098400A true KR20150098400A (ko) 2015-08-28
KR101609915B1 KR101609915B1 (ko) 2016-04-20

Family

ID=54059834

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140019643A KR101609915B1 (ko) 2014-02-20 2014-02-20 다차원 시간차 분석 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101609915B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200028201A (ko) * 2018-09-06 2020-03-16 주식회사 퍼즐데이터 프로세스 마이닝 결과를 출력하는 방법 및 장치
KR20200118631A (ko) * 2019-04-08 2020-10-16 대구한의대학교산학협력단 탄력적 항만 운영을 위한 선사 운영 관리성 평가 방법
KR102655198B1 (ko) * 2023-09-14 2024-04-08 주식회사 아이오코드 다중 관점 이벤트 로그를 생성하는 시스템 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001188694A (ja) * 2000-01-05 2001-07-10 Hitachi Information Systems Ltd イベントログの発生頻度分布表の表示方法および発生パターンの識別方法、ならびにそれらのプログラムを記録した記録媒体
JP2005141663A (ja) * 2003-11-10 2005-06-02 Hitachi Ltd イベントログ解析支援装置、イベントログ表示方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200028201A (ko) * 2018-09-06 2020-03-16 주식회사 퍼즐데이터 프로세스 마이닝 결과를 출력하는 방법 및 장치
KR20200118631A (ko) * 2019-04-08 2020-10-16 대구한의대학교산학협력단 탄력적 항만 운영을 위한 선사 운영 관리성 평가 방법
KR102655198B1 (ko) * 2023-09-14 2024-04-08 주식회사 아이오코드 다중 관점 이벤트 로그를 생성하는 시스템 및 방법

Also Published As

Publication number Publication date
KR101609915B1 (ko) 2016-04-20

Similar Documents

Publication Publication Date Title
US10127301B2 (en) Method and system for implementing efficient classification and exploration of data
EP3432520B1 (en) Efficient storage and querying of time series metrics
US20160099898A1 (en) Filter rule generation apparatus and filter rule generation method
CN106354817B (zh) 一种日志的处理方法及装置
CN113688288B (zh) 数据关联分析方法、装置、计算机设备和存储介质
CN108681598B (zh) 任务自动重跑方法、系统、计算机设备和存储介质
CN111240876B (zh) 微服务的故障定位方法、装置、存储介质及终端
US10120768B2 (en) Data management system and method for backup, recovery, and mount of time-series data
CN108363654B (zh) 系统日志的协处理方法、系统及电子设备
KR101609915B1 (ko) 다차원 시간차 분석 방법 및 장치
CN104317850A (zh) 数据处理方法和装置
CN109408361A (zh) Monkey测试复原方法、装置、电子设备及计算机可读存储介质
CN104603779A (zh) 文本挖掘设备、文本挖掘方法和计算机可读记录介质
JPWO2018066661A1 (ja) ログ分析方法、システムおよび記録媒体
JP2017045080A (ja) 業務フロー仕様再生方法
CN109241042B (zh) 数据处理方法、装置以及电子设备
CN113535481A (zh) 数据的回溯方法、装置和非易失性计算机可读存储介质
JP4973738B2 (ja) 業務フロー処理プログラム、方法及び装置
US20160306972A1 (en) Virus signature matching method and apparatus
CN104573132A (zh) 歌曲查找方法及装置
CN110928941A (zh) 一种数据分片抽取方法及装置
Richter et al. OTOSO: online trace ordering for structural overviews
CN111666278A (zh) 数据存储、检索方法、电子设备及存储介质
CN110825784B (zh) 一种低效业务过程的检测方法及装置
CN111352824B (zh) 测试方法、装置及计算机设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
FPAY Annual fee payment

Payment date: 20190226

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200225

Year of fee payment: 5