KR20230027683A - 초대용량 시계열 데이터 고속 활용 장치 및 초대용량 시계열 데이터 고속 조회 방법, 고속 추출 방법 - Google Patents

초대용량 시계열 데이터 고속 활용 장치 및 초대용량 시계열 데이터 고속 조회 방법, 고속 추출 방법 Download PDF

Info

Publication number
KR20230027683A
KR20230027683A KR1020210109746A KR20210109746A KR20230027683A KR 20230027683 A KR20230027683 A KR 20230027683A KR 1020210109746 A KR1020210109746 A KR 1020210109746A KR 20210109746 A KR20210109746 A KR 20210109746A KR 20230027683 A KR20230027683 A KR 20230027683A
Authority
KR
South Korea
Prior art keywords
query
time
series data
unit
data
Prior art date
Application number
KR1020210109746A
Other languages
English (en)
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 KR1020210109746A priority Critical patent/KR20230027683A/ko
Publication of KR20230027683A publication Critical patent/KR20230027683A/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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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/2282Tablespace storage structures; Management thereof
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • 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/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 초대용량 시계열 데이터 고속 활용 장치는, 사용자로부터 입력받은 질의를 분할하여 분산 질의를 수행하는 질의 수행부; 상기 분산 질의에 대한 결과를 수신하는 질의 결과 수신부; 수신된 질의 결과들 중 조회 질의에 대한 결과들을 처리하는 조회 결과 처리부; 및 상기 조회 결과 처리부와 병렬적인 동작 구조를 형성하며, 상기 수신된 질의 결과들 중 추출 질의에 대한 결과들을 처리하는 추출 결과 처리부를 포함할 수 있다.

Description

초대용량 시계열 데이터 고속 활용 장치 및 초대용량 시계열 데이터 고속 조회 방법, 고속 추출 방법{HIGH-SPEED UTILIZATION DEVICE AND HIGH-SPEED INQUIRY METHOD, HIGH-SPEED EXTRACTIOM METHOD FOR SUPER-LARGE TIME-SERIES DATA}
본 발명은 전력 계통의 다양한 지점들에 설치된 각종 센서들 등 전력 분야의 수 많은 노드들로부터 지속적으로 생산되어 수집된 초대용량 시계열 데이터를 고속으로 조회 및/또는 추출할 수 있는 초대용량 시계열 데이터 고속 활용 장치에 관한 것이다.
5G 기술, IoT 기술 등 정보화 기술의 발전은 다양한 분야에서 정보화 시스템 구축을 촉진하고 있다. 이는 전력 분야에서도 다양한 센서들의 실시간에 가까운 측정값들을 이용한 정보화 시스템를 구축하여 전력설비 감시/제어 뿐만 아니라 다양한 응용 서비스의 개발을 지원하는 노력을 기울이고 있다.
전력설비 감시 운전을 위한 SCADA의 경우 하루당 22만건의 이벤트와 168억건의 계측데이터들이 발생되고 있으며, 공공기록물법에 따른 SCADA 데이터 관리 필요와 전력설비 운영 분석을 위해 SCADA 데이터의 활용요구가 증가하고 있다.
또한, IoT 기술 확산에 따라 전력산업 현장에 다양한 종류의 수많은 센서 기기들이 보급되고 있으며, 이들 IoT 센서 기기들로부터 수집되는 데이터를 활용한 보다 정밀하고 지능적인 전력설비의 감시와 진단 기술들이 개발되고 있다.
SCADA나 IoT 센서 기기들은 현장에 설치되는 순간부터 ms에서 시간 주기에 이르는 대량의 이벤트 및 측정데이터를 발생시키고 이들 데이터는 시간 축으로 이어지는 시계열 데이터 특성을 갖는다.
전력망 운영에 있어 실시간으로 수집되는 SCADA나 센서 데이터들은 전력설비의 상태를 감시하는데 즉각적으로 활용되지만, 최근에는 빅데이터와 AI 기술을 활용하여 전력설비의 상태 진단 및 향후의 고장 등을 예측하는데 활용하려는 연구가 계속되고 있다.
이들 SCADA나 IoT 센서 데이터를 활용하여 전력설비의 상태 진단 및 고장 예측 등의 AI 모델을 개발하기 위해서는 상당한 기간의 이력 데이터들이 있어야 하고 이력 데이터 기간이 길고 종류가 다양할수록 보다 정확한 모델을 만들 수가 있다.
하지만 SCADA나 IoT 센서 데이터들은 ms에서 시간 주기의 측정데이터를 지속적으로 발생시킴으로써 짧은 기간에도 어마어마한 데이터가 쌓이게 된다. 일례로 1,000개의 센서 기기들에서 발생되는 데이터 건수는 하루에 8,640만건이고, 1년이면 315억 3,600만건에 이른다.
전력산업에 있어서 SCADA나 IoT 센서 기기들처럼 초대용량의 시계열 데이터를 발생시키고 이들 데이터를 활용하는 분야는 더욱 확산되고 있다. 신재생에너지의 확대에 따라 전력계통 안정도를 보다 빠르고 정밀하게 해석하기 위해 동기 위상각 장치가 전력망에 설치되고 있으며, 이들 위상각 장치들에서는 IoT 센서 기기의 수 십배에 달하는 측정데이터가 실시간으로 발생되고 있다.
뿐만 아니라 화력 및 신재생에너지 등 발전분야에 있어서도 DCU나 RTU 장치를 통한 초당 수천~수만의 태그 데이터들이 수집되고 있다. 동기 위상각 장치나 이들 DCU 및 RTU 장치에서 수집되는 데이터는 1년에 수 조건에 이른다.
이렇듯 1년에도 수 조건에 이르는 시계열 데이터가 쌓이기 때문에 짧게는 몇 분에서 길게는 몇 년간의 데이터를 빠르게 조회하고 추출하는 것은 강력한 빅데이터 시스템으로도 처리하기 어려운 문제점이 있다.
시계열 데이터에 대한 대부분의 활용은 시계열 데이터를 시간순으로 정렬하여 데이터를 분석하는 경향이 있는데, 측정데이터들이 기본적으로 레코드 단위로 저장되기 때문에 시계열 데이터 활용시 전체 데이터를 시간 순으로 정렬하는 과정이 필수적으로 요구되기 때문에, 그 처리 시간이 매우 오래 걸리게 된다.
어떤 종래의 시계열 데이터 관리 기술에서는 시계열 데이터량으로 인해 이를 압축하는 방식으로 보관하기도 하는데 이 경우 데이터 조회와 추출시 압축된 데이터를 복원하는 과정을 거쳐야하기 때문에 처리 시간이 더욱 오래 걸리게 된다.
시계열 데이터 조회의 경우에는 특정 기간의 특정 시계열 데이터를 화면상에서 불러들여 트렌드를 분석하거나 특정 시점에서의 이벤트 등을 확인하는 경우가 많은데, 종래의 경우에는 조회 기간의 데이터 전체를 로딩함으로써 불러오는 데이터의 양이 많아질 경우 화면상에 표출하기까지 몇 분에서 수십 분이 걸리는 등 처리 시간이 오래 걸리는 문제가 있다.
또한, 시계열 데이터 추출의 경우에는 1년의 데이터 추출의 경우에도 수백억에서 수 조건에 이르는 데이터가 추출됨에 따라 추출 완료까지 수일에서 수개월이 걸리는 등 오랜 시간이 소요될 뿐만 아니라 데이터 추출에 따른 부하가 시스템 전체 성능에 영향을 주기도 한다.
이러한 상황은 다양한 서드파티 서비스 업체들에서 자신의 AI나 빅데이터 서비스를 위해 상당 기간의 데이터를 조회하게 되는 경우 더욱 악화될 수 있으며, 이는 전력 분야 응용 서비스을 실시하는데 실질적인 장애로 작용한다.
따라서, 수 조건에 이르는 초대용량의 시계열 데이터들을 손쉽게 활용할 수 있도록 시계열 데이터를 빠르게 조회 및 추출할 수 있는 방법이 필요하다.
종래 기술의 경우 시계열 데이터와 같은 대용량의 데이터를 컨텐츠의 아이템에 기초한 범위로 파티션하여 분할함으로써 원하는 데이터를 빠르게 검색하는 방법을 제시하기도 하였다. 그러나, 이 방안은 전체 데이터에 대해 검색하기 보다 특정 파티션에 대해 검색함으로써 검색 공간을 줄이고 빠른 처리속도를 보장해줌으로써 원하는 데이터의 검색에 효과적이지만, 파티션 생성을 위해 파티션 범위를 생성하여 관리해야 하고 파티션 생성을 위해 컨텐츠를 확인해야 하는 과정과 재배치 과정이 수반되는 문제가 있다.
대한민국 공개공보 10-2015-0060094호
본 발명은 수조건에 이르는 초대용량의 시계열 데이터들을 손쉽게 활용할 수 있도록 시계열 데이터를 빠르게 조회 및 추출할 수 있는 초대용량 시계열 데이터 고속 활용 장치 및 방법을 제공하고자 한다.
본 발명은 빠르게 시계열 데이터를 화면상에 불러들여 조회할 수 있도록 사용자를 지원할 수 있는 초대용량 시계열 데이터 고속 활용 장치 및 방법을 제공하고자 한다.
본 발명의 일 측면에 따른 초대용량 시계열 데이터 고속 활용 장치는, 사용자로부터 입력받은 질의를 분할하여 분산 질의를 수행하는 질의 수행부; 상기 분산 질의에 대한 결과를 수신하는 질의 결과 수신부; 수신된 질의 결과들 중 조회 질의에 대한 결과들을 처리하는 조회 결과 처리부; 및 상기 조회 결과 처리부와 병렬적인 동작 구조를 형성하며, 상기 수신된 질의 결과들 중 추출 질의에 대한 결과들을 처리하는 추출 결과 처리부를 포함할 수 있다.
여기서, 시계열 데이터를 먼저 태그 이름에 따라 테이블 단위로 분류하고, 해당 태그 테이블 내에서 일별로 파티션을 자동 생성하여, 상기 시계열 데이터들을 일별 블록 단위로 저장한 데이터 분산 저장 장치를 더 포함하고,
상기 질의 수행부는 상기 데이터 분산 저장 장치에 대하여 분산 질의를 수행할 수 있다.
여기서, 상기 질의 수행부는, 상기 사용자로부터 시계열 데이터 조회 또는 추출에 대한 질의를 수신하는 질의 수신부; 수신된 상기 질의를 질의 요청한 태그 이름을 기준으로 소정 단위 시간의 단위 질의로 분할하여 복수의 질의어를 생성하는 질의어 분할 생성부; 및 분할 생성된 복수의 질의어들로 상기 데이터 분산 저장 장치에 대하여 분산 질의를 수행하는 분산 질의 수행부를 포함할 수 있다.
여기서, 상기 질의어 분할 생성부는, 조회 질의에 대해서는 분 단위로 질의어 분할을 수행하고, 추출 질의에 대해서는 일 단위로 질의어 분할을 수행할 수 있다.
여기서, 상기 분산 질의 수행부는, 복수개의 각 질의 수행 태스크들에 분산 질의를 할당하여 각 분산 질의를 수행하게 하고, 상기 질의 결과 수신부는, 상기 각 질의 수행 태스크들에 지정된 저장 영역에, 상기 각 분산 질의에 대하여 상기 데이터 분산 저장 장치로부터 수신한 데이터를 저장할 수 있다.
여기서, 상기 조회 결과 처리부는, 시계열 데이터 조회 질의의 경우 상기 질의 결과 수신부의 분 단위 질의 결과를 시간순으로 정렬하는 질의 결과 정렬부; 및 시계열 데이터 조회 질의의 경우 정렬된 질의 결과를 사용자의 화면 영역에 맞춰 표시하는 조회 결과 표시부를 포함할 수 있다.
여기서, 상기 추출 결과 처리부는, 시계열 데이터 추출 질의의 경우 상기 질의 결과 수신부의 일 단위 질의 결과를 시간순으로 병합하는 질의 결과 병합부; 및 시계열 데이터 추출 질의의 경우 병합된 질의 결과를 지정된 파일 형태로 사용자에게 제공하는 추출 결과 제공부를 포함할 수 있다.
여기서, 상기 질의 결과 병합부는, 질의 결과 수신부에 저장된 복수의 태그들에 대한 일 단위 질의 결과들을 태그 이름을 기준으로 시간순으로 병합할 수 있다.
여기서, 상기 조회 결과 처리부는, 소정의 표시 스케일의 기간 동안의, 시계열 데이터의 추세 패턴을 화면에 표시하되, 사용자가 표시 스케일을 넓히면, 소정 단위 시간을 보다 긴 기간으로 설정하여, 추세 패턴을 표시하고, 사용자가 표시 스케일을 좁히면, 소정 단위 시간을 보다 짧은 기간으로 설정하여, 추세 패턴을 표시할 수 있다.
본 발명의 다른 측면에 따른 초대용량 시계열 데이터 고속 조회 방법은, 사용자로부터 시계열 데이터 조회에 대한 질의를 수신하는 단계; 수신한 상기 질의를 태그 이름을 기준으로 소정 단위 시간으로 분할하여 복수의 분할 질의어들을 생성하는 단계; 분할 질의어들로 데이터 분산 저장 장치에 대하여 분산 질의를 수행하는 단계; 상기 분산 질의에 대한 결과를 상기 데이터 분산 저장 장치로부터 수신하는 단계; 수신한 결과들을 소정 단위 시간에 대하여 시간순으로 정렬하는 단계; 및 상기 정렬된 질의 결과를 사용자의 화면 영역에 맞춰 순차적으로 표시하는 단계를 포함할 수 있다.
여기서, 상기 복수의 질의어를 생성하는 단계에서는, 분 단위로 분할된 질의어들을 생성하며, 상기 분산 질의를 수행하는 단계에서는, 각 질의어를 각 질의 수행 태스크에 할당하고, 상기 각 질의 수행 태스크에서는 해당 분 단위 데이터를 검색하고, 상기 시간순으로 정렬하는 단계에서는, 분 단위 질의 결과들을 시간순으로 정렬할 수 있다.
여기서, 각 단위 시간에 대하여 대표값을 추출하는 단계를 더 포함하고, 상기 정렬된 질의 결과를 표시하는 단계에서는, 소정의 표시 스케일의 기간 동안의 상기 대표값을 이용하여 시계열 데이터의 추세 패턴을 화면에 표시하는 초대용량 시계열 데이터 고속 조회 방법.
여기서, 소정의 표시 스케일의 기간 동안의 시계열 데이터의 추세 패턴을 화면에 표시하되, 사용자가 표시 스케일을 넓히면 소정 단위 시간을 보다 긴 기간으로 설정하여, 추세 패턴을 표시하고, 사용자가 표시 스케일을 좁히면 소정 단위 시간을 보다 짧은 기간으로 설정하여, 추세 패턴을 표시하는 방식으로, 사용자 요청에 따라 조정된 스케일로 표시하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 측면에 따른 초대용량 시계열 데이터 고속 추출 방법은, 사용자로부터 시계열 데이터 추출에 대한 질의를 수신하는 단계; 수신한 상기 질의를 태그 이름을 기준으로 소정 단위 시간으로 분할하여 복수의 분할 질의어들을 생성하는 단계; 분할 질의어들로 데이터 분산 저장 장치에 대하여 분산 질의를 수행하는 단계; 상기 분산 질의에 대한 결과를 상기 데이터 분산 저장 장치로부터 수신하는 단계; 수신한 결과들을 소정 단위 시간에 대한 시간순으로 병합하는 단계; 및 병합된 질의 결과를 규정된 파일의 형태로 사용자에게 제공하는 단계를 포함할 수 있다.
여기서, 상기 복수의 질의어를 생성하는 단계에서는, 일 단위로 분할된 질의어들을 생성하며, 상기 분산 질의를 수행하는 단계에서는, 각 질의어를 각 질의 수행 태스크에 할당하고, 상기 각 질의 수행 태스크에서는 해당 일 단위 데이터를 검색하고, 상기 시간순으로 병합하는 단계에서는, 일 단위 질의 결과들을 시간순으로 병합할 수 있다.
여기서, 상기 수신한 결과들을 시간순으로 병합하는 단계는, 수행하는 도중에 상기 사용자 또는 다른 사용자로부터 조회 질의를 요청받으면, 다른 조회 질의 수행이 동시에 병행적으로 수행될 수 있다.
상술한 구성의 본 발명의 사상에 따른 초대용량 시계열 데이터 고속 활용 장치 및/또는 방법을 실시하면, 초대용량의 시계열 데이터들을 손쉽게 활용할 수 있도록 시계열 데이터를 빠르게 조회 및 추출할 수 있으며, 특히, 사용자에 대하여 빠르게 시계열 데이터를 화면상에 불러들여 조회할 수 있도록 지원할 수 있는 이점이 있다.
보다 구체적으로, 시계열 데이터 조회의 경우에는 특정 기간의 특정 시계열 데이터를 화면상에서 불러들여 트렌드를 분석하거나 특정 시점에서의 이벤트 등을 확인하는 경우가 많은데, 종래의 경우 조회 기간의 데이터 전체를 로딩함으로써 불러오는 데이터의 양이 많아질 경우 화면상에 표출하기까지 몇 분에서 수십 분이 걸리는 등 처리 시간이 오래 걸리는 문제를 해결할 수 있다.
본 발명의 초대용량 시계열 데이터 고속 활용 장치 및/또는 방법은, 전력설비 진단 및 고장 예측, 전력망 안정도 해석, 발전소 및 신재생에너지 감시 진단 등의 AI 기술 활용에 필요한 수 조건에 이르는 초대용량의 시계열 데이터들을 손쉽게 분석에 활용할 수 있도록 지원하는 이점이 있다.
본 발명의 초대용량 시계열 데이터 고속 활용 장치 및/또는 방법은, 시계열 데이터의 활용을 전력산업 뿐만 아니라 제조, 플랜트, 공정산업 등 다양한 분야로 적용할 수 있으며, 타 산업들에서도 유사한 방식의 사업화가 유망하여, 다양한 수익 창출이 가능한 이점이 있다.
도 1은 초대용량 시계열 데이터를 예시한 데이터 구조도.
도 2는 본 발명의 사상에 따른 초대용량 시계열 데이터 고속 활용(조회 및 추출) 장치의 구성을 도시한 블록도.
도 3은 데이터 분산 저장 장치의 시계열 데이터 저장 예를 나타내는 저장 구조도.
도 4a는 본 발명의 사상에 따른 초대용량 시계열 데이터 고속 조회 방법의 일 실시예를 도시한 흐름도.
도 4b는 도 4b의 초대용량 시계열 데이터 고속 조회 방법의 상세 과정들을 도시한 흐름도.
도 5a는 본 발명의 사상에 따른 초대용량 시계열 데이터 고속 추출 방법의 일 실시예를 도시한 흐름도.
도 5b는 도 5b의 초대용량 시계열 데이터 고속 추출 방법의 상세 과정들을 도시한 흐름도.
본 발명을 설명함에 있어서 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되지 않을 수 있다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 연결되어 있다거나 접속되어 있다고 언급되는 경우는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해될 수 있다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
본 명세서에서, 포함하다 또는 구비하다 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것으로서, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해될 수 있다.
또한, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
그 동안 전력산업 현장에서 시계열 데이터는 단순 로그로만 수집되어 왔으며, 짧은 기간에도 어마어마한 양의 데이터들이 축적됨으로 인해 관리가 어렵고 쉽게 원하는 데이터를 조회 및 추출할 수 없어 분석이나 활용되지 못했다. 디지털 변환에 따라 SCADA 데이터 관리 필요와 전력설비 운영 분석을 위해 SCADA 데이터의 활용요구가 증가하고 있으며 IoT 기술 확산에 따라 IoT 센서 기기들로부터 수집되는 데이터를 활용한 보다 정밀하고 지능적인 전력설비의 감시와 진단 기술들이 개발되고 있다. 빅데이터와 AI 기술의 확산으로 시계열 데이터를 단순한 감시나 모니터링을 넘어 설비의 상태 진단이나 고장 예측 등의 다양한 분석과 진단, 예측에 활용하려는 연구가 추진되고 있으며, 이러한 진단이나 예측을 위한 알고리즘이나 모델 개발을 위해 최소 1년에서 수년까지의 장기간의 시계열 이력 데이터를 필요로 하고 있다.
또한, 시계열 데이터 추출의 경우에는 1년의 데이터 추출의 경우에도 수백억에서 수 조건에 이르는 데이터가 추출됨에 따라 추출 완료까지 수일에서 수개월이 걸리는 등 오랜 시간이 소요될 뿐만 아니라 데이터 추출에 따른 부하가 시스템 전체 성능에 영향을 주기도 한다.
본 발명은 초대용량의 시계열 데이터들을 손쉽게 활용할 수 있도록 시계열 데이터를 빠르게 검색하여 화면상에 표시하고 또한 검색 조건에 맞는 대용량의 시계열 데이터를 고속 추출할 수 있는 초대용량 시계열 데이터 고속 조회, 추출 방법을 제시한다.
초대용량 시계열 데이터 고속 조회, 추출 방법을 설명하기에 앞서, 시계열 데이터의 구조 및 저장 방안에 대하여 살펴보겠다.
도 1은 초대용량 시계열 데이터를 예시한 데이터 구조도이다.
시계열 데이터는 일반적으로 <Time, TagName, Value> 형식의 데이터 구조를 가지며, 작게는 수십 태그(Tag)에서 많게는 수만 태그(Tag)에 이르는 데이터들이 짧게는 ms에서 길게는 시간 주기로 수집된다. 만약 초당 1만 Tag 데이터들이 수집된다고 가정하면 도 1과 같은 형태로 하루에 864백만 건의 데이터가 수집되고 1년이면 3,153억 6천만건의 데이터가 쌓이게 된다. 여기서, 태그(Tag)는 전력 계통의 각종 지점에 설치된 측정을 위한 센서 노드인 경우가 대부분이다.
시계열 데이터는 Tag 데이터들을 수집하기 때문에 그 특성상 수집주기(ms~시간) 만큼의 동일한 이름(TagName)을 가진 데이터들이 수집 기간 만큼 저장되게 된다. 시계열 데이터에 대한 대부분의 분석은 원하는 Tag를 대상으로 시간순으로 정렬하여 분석하는 경향이 있는데, 데이터들이 기본적으로 모든 Tag가 뒤섞여서 수집주기에 따라 Tag 수만큼의 레코드 단위로 저장되기 때문에 시계열 데이터 분석시 수십억에서 수조에 이르는 전체 데이터에서 해당 Tag를 선별하고 이를 시간순으로 정렬하는 과정이 요구되기 때문에 검색과 추출 시간이 매우 오래 걸리게 된다.
초대용량 시계열 데이터의 저장 방안으로서, Tag 데이터를 Tag 이름에 따라 테이블 단위로 분류하고 해당 Tag 테이블 내에서 일별로 파티션을 자동 생성하여 Tag 데이터들을 일별 블록 단위로 저장한다.
본 발명에서는 이러한 초대용량 시계열 데이터 저장 구조에 대하여, Tag 데이터를 조회 및 추출하기 위해 태그 이름(Tag 이름)으로 된 테이블만을 검색함으로써 빠르게 Tag 데이터 접근이 가능하게 한다. 또한, 해당 Tag 테이블 내에서 일 단위 파티션을 생성하여 일별 블록 단위로 저장함으로써, 검색 및 추출해야 할 데이터양을 Tag 테이블 내 블록 단위의 데이터양으로 축소함으로써 처리 시간을 줄이고 성능을 향상시킬 수 있다.
또한, 본 발명에서는 시계열 데이터 조회시 검색 기간의 시계열 데이터 전체를 로딩하는 것이 아니라 기간 만큼의 시계열 데이터 검색을 분 단위로 분할하여 검색하고, 화면상에 표시되는 영역의 시계열 데이터 검색을 반복 수행해 로딩되는 데이터 양을 축소함으로써 빠른 조회를 가능하게 한다.
또한, 시계열 데이터 추출시 검색 기간의 시계열 데이터 전체를 한 번에 추출하는 것이 아니라 해당 기간의 시계열 데이터를 일별 블록 단위로 분할하여 추출한 후 추출된 시계열 데이터를 하나의 파일로 병합하여 제공함으로써 대용량 시계열 데이터 추출에 필요한 처리 시간을 줄일 뿐 아니라 데이터 추출에 따른 시스템 부하를 감소시킬 수 있다.
도 2는 본 발명의 사상에 따른 초대용량 시계열 데이터 고속 활용(조회 및 추출) 장치의 구성을 도시한 블록도이다.
도 2에 도시한 초대용량 시계열 데이터 고속 활용(조회 및 추출) 장치(100)는, 사용자로부터 입력받은 질의를 분할하여 분산 질의를 수행하는 질의 수행부(120); 상기 분산 질의에 대한 결과를 수신하는 질의 결과 수신부(140); 수신된 질의 결과들 중 조회 질의에 대한 결과들을 처리하는 조회 결과 처리부(160); 및 상기 조회 결과 처리부와 동시에 수행될 수 있는 병렬적인 동작 구조를 형성하며, 상기 수신된 질의 결과들 중 추출 질의에 대한 결과들을 처리하는 추출 결과 처리부(170)를 포함할 수 있다.
상기 조회 결과 처리부(160)와 상기 추출 결과 처리부(170)는 서로 병렬적인 처리 구조로 경우에 따라서는 동시에 병행적으로 수행될 수 있다. 이는 분산 질의 및 분산된 질의에 대한 결과들을 수집/취합하는 방식으로 활용(조회/추출)함에 있어서, 조회 결과 처리는 최대한 빠른 시간에 필요한 추세 패턴을 표시할 수 있도록 하고,추출 결과 처리는 조회 결과 처리를 방해하지 않도록 하기 위함이다. 이는 추출 결과 처리부(170) 특히 사용자에게 제공할 소정 양식의 파일 형태를 생성하는데 상당한 연산량 및/또는 시간이 소요되고, 사용자도 추출 작업에는 상당 시간을 예상(각오)하는 반면, 상기 조회 결과 처리부(160)의 처리 결과는 추세 패턴 파악을 위해 바로 바로 처리될 것을 사용자가 요구함을 반영한 것이다.
관점에 따라서, 도시한 초대용량 시계열 데이터 고속 활용 장치(100)는, 시계열 데이터를 먼저 태그 이름에 따라 테이블 단위로 분류하고, 해당 태그 테이블 내에서 일별로 파티션을 자동 생성하여, 상기 시계열 데이터들을 일별 블록 단위로 저장하는 데이터 분산 저장 장치(200)를 더 포함하고, 상기 질의 수행부(120)는 상기 데이터 분산 저장 장치(200)에 대하여 분산 질의를 수행한다.
도 3은 데이터 분산 저장 장치(200)의 시계열 데이터 저장 예를 나타내는 저장 구조도이다.
상기 데이터 분산 저장 장치(200)는 초대용량 시계열 데이터의 수집을 위해 상당히 큰 용량을 가지는 바, 구현에 따라서는 별도의 DB 서버나, 네트워크상에서 분산된 DB의 형태로 구현될 수 있어, 하드웨어적 관점에서는 상기 초대용량 시계열 데이터 고속 활용 장치(100)와 구별되는 장치로 보일 수 있다.
예컨대, 전력 분야에서 계통의 각 지점들의 측정 센서 노드들의 측정 데이터들 수집하는 데이터 분산 저장 장치(200)의 경우, 수집되어 쌓인 데이터는 매일 특정 시점에 하루동안 쌓인 것을 정리하여 분산 저장할 수 있다. 이때, 1분 단위로 데이터를 최소 그룹화하여 저장할 수 있다.
예컨대, 상기 데이터 분산 저장 장치(200)는 시계열 데이터를 먼저 Tag 이름에 따라 테이블 단위로 분류하고 해당 Tag 테이블 내에서 일별로 파티션을 자동 생성하여 시계열 데이터들을 일별 블록 단위로 저장할 수 있다. 이때, 일별 블록 내에서 시계열 데이터의 저장은 Time에 따라 시간순으로 저장되며, Value 등 나머지 데이터 값들이 저장된다.
도시한 바와 같이, 상기 질의 수행부(120)는, 상기 사용자(구체적으로 사용자 단말기(400))로부터 시계열 데이터 조회 또는 추출에 대한 질의를 수신하는 질의 수신부(122); 수신된 상기 질의를 질의 요청한 태그 이름을 기준으로 소정 단위 시간의 단위(예: 분 또는 일 단위) 질의로 분할하여 복수의 질의어를 생성하는 질의어 분할 생성부(124); 및 분할 생성된 복수의 질의어들로 상기 데이터 분산 저장 장치에 대하여 분산 질의를 수행하는 분산 질의 수행부(126)를 포함할 수 있다.
상기 질의 수신부(122)는 질의에 대하여 조회나 추출 여부, Tag 이름, 기간을 상기 질의어 분할 생성부(124)에 전달한다. 여기에서 Tag 이름은 여러 개일 수 있으며, 여러 개일 경우 Tag 이름 목록 형태가 될 수 있다. 그러면, 상기 질의어 분할 생성부(124)는 질의 수신부(122)가 전달한 Tag 이름, 기간(조회나 추출 대상 기간)을 이용하여 복수의 질의어를 생성하여 분산 질의 수행부(126)에 전달한다.
한편, 초대용량 데이터에 대한 신속한 질의를 수행하기 위해, 상기 분산 질의 수행부(126)는, 복수개의 각 질의 수행 태스크들에 분산 질의를 할당하여 각 분산 질의를 수행하게 하고, 상기 질의 결과 수신부(140)는, 상기 각 질의 수행 태스크들에 지정된 저장 영역에, 상기 각 분산 질의에 대하여 상기 데이터 분산 저장 장치로부터 수신한 데이터를 저장할 수 있다.
여기서, 상기 질의 수행 태스크들을 병렬적으로 동시에 질의를 수행할 수 있어서, 질의에 소요되는 시간을 단축시킬 수 있다.
또한, 하나의 초대용량 시계열 데이터 고속 활용 장치(100)에 구비된 상기 질의 수행 태스크들의 개수는, 특정 개수로 고정되거나, 소정의 최대 개수 이내에서 실시간적으로 능동적으로 할당되는 유동적인 개수를 가질 수 있다.
상기 질의어 분할 생성부(124)는 사용자(300)로부터 수신한 질의를 질의에 포함된 조회 또는 추출을 위한 기간을, 상기 특정 개수 또는 최대 개수로 규정되는 개수의 상기 질의 수행 태스크들에 분배할 수 있도록 분할하고, 분할된 각 기간에 대한 분할 질의어들을 생성하는 것이 바람직하다. 즉, 상기 질의어 분할 생성부(124)는 사용자 질의에 대하여 해당 질의에 적합한 단위 기간들로 분할하는 방식으로 분할 질의어를 생성할 수 있다.
예컨대, 조회 질의와 추출 질의에 대한 사례를 분석한 바에 따르면, 조회 질의에 대해서는 분 단위로 질의어 분할을 수행하고, 추출 질의에 대해서는 일 단위로 질의어 분할을 수행하는 경우가 대부분 질의 병렬 처리를 위한 질의 배분에 적합하였다. 이에 따라, 상기 질의어 분할 생성부(124)는, 조회 질의에 대해서는 분 단위로, 추출 질의에 대해서는 일 단위로, 기본 설정되어 질의어 분할을 수행하는 것이 유리하다. 그러면, 일정 개수의 질의/결과수신 태스크들에 효율적으로 업무를 분산 배치할 수 있다.
다시 말해, 조회 질의의 경우는 Tag 이름을 기준으로 조회 기간에 해당하는 기간을 분 단위로 분할하여 복수의 분 단위 질의어를 생성하여 전달한다. 여기에서 기간의 시작과 끝은 각각 해당 시간을 시작 시간과 끝 시간으로 적용하여 질의어를 생성한다. 이때 Tag 이름이 여러 개일 경우 Tag 이름별로 복수의 분 단위 질의어를 생성하여 전달한다.
한편, 추출 질의의 경우는 Tag 이름을 기준으로 추출 기간에 해당하는 기간을 일 단위로 분할하여 복수의 일 단위 질의어를 생성하여 전달한다. 여기에서 기간의 시작과 끝은 각각 해당 시간을 시작 시간과 끝 시간으로 적용하여 질의어를 생성한다. 이때 Tag 이름이 여러 개일 경우 Tag 이름별로 복수의 일 단위 질의어를 생성하여 전달한다.
다음, 상기 분산 질의 수행부(126)는 상기 질의어 분할 생성부(126)가 전달한 복수의 질의어를 병렬처리 프로세싱에 의해 질의어별로 분산 질의를 수행한다.
상기 질의 결과 수신부(140)는 분산 질의 수행에 따른 복수의 질의 결과를 수신하여 임시 저장하기 위한 것이다. 예컨대, 조회 질의의 경우는 복수의 분 단위 질의 결과가 저장되고, 추출 질의의 경우는 복수의 일 단위 질의 결과가 저장될 수 있다.
도시한 바와 같이, 상기 조회 결과 처리부(160)는, 시계열 데이터 조회 질의의 경우 상기 질의 결과 수신부(140)의 분 단위 질의 결과를 시간순으로 정렬하는 질의 결과 정렬부(162); 및 시계열 데이터 조회 질의의 경우 정렬된 질의 결과를 사용자의 화면 영역에 맞춰 표시하는 조회 결과 표시부(164)를 포함할 수 있다.
예컨대, 상기 질의 결과 정렬부(162)는 조회 질의의 경우 질의 결과 수신부에 저장된 복수의 분 단위 질의 결과를 Tag 이름을 기준으로 시간순으로 정렬할 수 있다. 이때 Tag 이름이 여러 개일 경우 Tag 이름별로 정렬하고 조회 기간 내에서 통합한다.
상기 조회 결과 표시부(164)는 질의 결과 정렬부가 정렬한 조회 질의 결과를 사용자의 화면상에 표시하도록 제공하기 위함이다. 이때 표시되는 조회 질의 결과는 사용자의 화면 영역의 스크롤에 맞춰 해당 영역의 결과들이 제공되도록 하며, 사용자 요청시 변경된 기간 등 조건에 따라 갱신된 화면을 제공할 수 있다.
즉, 구현에 따라, 상기 조회 결과 처리부(164)는 상기 정렬된 질의 결과를 화면에 표시하는 작업을 수 회 반복적으로 수행할 수 있다. 이는 사용자가 다양한 기간(예: 10년, 1년, 1분기, 1달, 1주)에 대하여 데이터 추세 패턴(예: 소비 전력량 패턴)을 각각 화면에 표시하여 살펴보기를 원하는 경우가 빈번함을 반영한 것이다.
이 경우, 상기 조회 결과 처리부(164)는, 소정의 표시 스케일의 기간(예: 10년, 1년, 1분기, 1달, 1주) 동안의, 시계열 데이터의 추세 패턴을 화면에 표시하되, 사용자가 표시 스케일을 넓히면, 소정 단위 시간을 보다 긴 기간으로 설정하여, 추세 패턴을 표시하고, 사용자가 표시 스케일을 좁히면, 소정 단위 시간을 보다 짧은 기간으로 설정하여, 추세 패턴을 표시할 수 있다.
상기 추세 패턴은 그래프의 형태로 표시하는 것이 사용자가 신속한 이해를 돕는 면에서 유리하며, 그래프를 표현하기 위해서는 그래프가 나타내려는 소정의 표시 스케일의 기간 동안의 모든 시점의 데이터들이 필요하지 않고, 그래프 형태를 규정할 정도의 개수의 데이터만 필요하다. 즉, 소정의 표시 스케일의 기간 동안 소정 개수의 대표값들만 획득하면 된다. 예컨대, 상기 소정의 표시 스케일의 기간을 상기 소정 개수의 표시 단위 기간들로 분할하고, 각 표시 단위 기간들에 대하여 대표값을 획득할 수 있다. 여기서, 상기 대표값은 해당 각 표시 단위 기간의 평균값, 임의지점값, 또는 몇개의 임의지점값들의 평균값으로 적용될 수 있다.
도시한 바와 같이, 상기 추출 결과 처리부(170)는, 시계열 데이터 추출 질의의 경우 상기 질의 결과 수신부(160)의 일 단위 질의 결과를 시간순으로 병합하는 질의 결과 병합부(172); 및 시계열 데이터 추출 질의의 경우 병합된 질의 결과를 지정된 파일 형태로 사용자에게 제공하는 추출 결과 제공부(174)를 포함할 수 있다.
예컨대, 상기 질의 결과 병합부(172)는 추출 질의의 경우 질의 결과 수신부에 저장된 복수의 일 단위 질의 결과를 Tag 이름을 기준으로 시간순으로 병합할 수 있다. 이때 Tag 이름이 여러 개일 경우 Tag 이름별로 병합하고 추출 기간 내에서 통합한다.
상기 추출 결과 제공부(174)는 질의 결과 병합부가 병합한 추출 질의 결과를 파일 등의 형태로 사용자에게 제공하는데, 이때 제공하는 파일은 CSV 등 다양한 형태일 수 있다.
도 4a는 본 발명의 사상에 따른 초대용량 시계열 데이터 고속 조회 방법의 일 실시예를 도시한 흐름도이다.
도 4b는 도 4b의 초대용량 시계열 데이터 고속 조회 방법의 상세 과정들을 도시한 흐름도이다.
도시한 초대용량 시계열 데이터 고속 조회 방법은, 사용자로부터 시계열 데이터 조회에 대한 질의를 수신하는 단계(S110); 수신한 상기 질의를 태그 이름을 기준으로 소정 단위 시간으로 분할하여 복수의 분할 질의어들을 생성하는 단계(S120); 분할 질의어들로 데이터 분산 저장 장치에 대하여 분산 질의를 수행하는 단계(S140); 상기 분산 질의에 대한 결과를 상기 데이터 분산 저장 장치로부터 수신하는 단계(S150); 수신한 결과들을 소정 단위 시간에 대하여 시간순으로 정렬하는 단계(S162); 및 상기 정렬된 질의 결과를 사용자의 화면 영역에 맞춰 순차적으로 표시하는 단계(S166)를 포함할 수 있다.
도 4a에서는 상기 시간순으로 정렬하는 단계(S162) 및 화면 영역에 맞춰 순차적으로 표시하는 단계(S166)가, 질의 결과 정렬/표시 단계(S160)로 통합되어 표현되었다.
조회 질의 경우 분 단위 질의가 기본으로 설정된 구현의 경우, 상기 복수의 질의어를 생성하는 단계(S120)에서는, 분 단위로 분할된 질의어들을 생성하며, 상기 분산 질의를 수행하는 단계(140)에서는, 각 질의어를 각 질의 수행 태스크에 할당하고, 상기 각 질의 수행 태스크에서는 해당 분 단위 데이터를 검색하고, 상기 시간순으로 정렬하는 단계(S162)에서는, 분 단위 질의 결과들을 시간순으로 정렬할 수 있다.
사용자에게 그래프 형태의 추세 패턴을 제공하는 구현의 경우, 상기 S162 단계 이후 상기 S166 단계 이전에, 각 단위 시간에 대하여 대표값을 추출하는 단계를 더 포함하고, 상기 정렬된 질의 결과를 표시하는 단계(S166)에서는, 소정의 표시 스케일의 기간 동안의 상기 대표값을 이용하여 시계열 데이터의 추세 패턴을 화면에 표시할 수 있다.
또한, 보다 개선된 구현의 경우, 사용자 요청에 따라 조정된 스케일로 표시하는 단계를 더 포함할 수 있다. 상기 조정된 스케일로 표시하는 단계에서는, 소정의 표시 스케일의 기간 동안의, 시계열 데이터의 추세 패턴을 화면에 표시하되, 사용자가 표시 스케일을 넓히면, 소정 단위 시간을 보다 긴 기간으로 설정하여, 추세 패턴을 표시하고, 사용자가 표시 스케일을 좁히면, 소정 단위 시간을 보다 짧은 기간으로 설정하여, 추세 패턴을 표시하게 된다.
도 4b의 흐름도의 과정들을 도 2의 구성요소들과 관련하여 설명하면 다음과 같다.
먼저, 질의 수신부(122)가 사용자로부터 시계열 데이터 조회 질의를 수신한다(S110). 다음으로 질의 수신부(122)가 조회 질의, Tag 이름, 기간을 질의어 분할 생성부(124)에 전달한다(S122). 여기에서 Tag 이름은 여러 개일 수 있으며, 여러 개일 경우 Tag 이름 목록 형태가 될 수 있다. 다음으로 질의어 분할 생성부(124)가 질의 수신부(122)가 전달한 Tag 이름, 기간을 이용하여 조회 기간내 복수의 분 단위 질의어를 생성하여 분산 질의 수행부(126)에 전달한다(S124). 여기에서 기간의 시작과 끝은 각각 해당 시간을 시작 시간과 끝 시간으로 적용하여 질의어를 생성할 수 있다. 이때 Tag 이름이 여러 개일 경우 Tag 이름별로 복수의 분 단위 질의어를 생성하여 전달할 수 있다. 다음으로 분산 질의 수행부(126)가 질의어 분할 생성부(124)가 전달한 복수의 분 단위 질의어를 병렬처리 프로세싱에 의해 질의어별로 분산 질의를 수행한다(S142). 다음으로 분산 질의 수행부(126)의 분산 질의에 대해 데이터 분산 저장 장치(200)에 저장된 시계열 데이터에 대하여 Tag 이름에 의한 저장 테이블을 검색한다(S144). 다음으로 해당 테이블 내에서 일별 블록을 검색한다(S146). 다음으로 일별 블록 내에서 Time에 의한 분 단위 데이터를 검색한다(S148). 여기에서 기간의 시작과 끝은 각각 해당 시간을 시작 시간과 끝 시잔으로 적용하여 검색한다.
구현에 따라, 상기 S144 단계 내지 S148 단계는, 상기 분산 질의 수행부(126)에 의해 수행되거나, 상기 데이터 분산 저장 장치(200)의 내부 연산부에 의해 수행될 수 있다.
다음으로 질의 결과 수신부(140)가 분산 질의 수행부(126)가 수행한 분산 질의 수행에 따른 복수의 분 단위 질의 결과를 수신하여 임시 저장한다(S150). 다음으로 질의 결과 정렬부(162)가 질의 결과 수신부(140)에 저장된 복수의 분 단위 질의 결과를 Tag 이름을 기준으로 시간순으로 정렬한다(S162). 이때 Tag 이름이 여러 개일 경우 Tag 이름별로 정렬하고 조회 기간 내에서 통합할 수 있다. 다음으로 조회 결과 표시부(164)가 질의 결과 정렬부(162)가 정렬한 조회 질의 결과를 사용자의 화면상에 표시하도록 제공한다(S166). 이때 표시되는 조회 질의 결과는 사용자의 화면 영역의 스크롤에 맞춰 해당 영역의 결과들이 제공될 수 있다.
도 5a는 본 발명의 사상에 따른 초대용량 시계열 데이터 고속 추출 방법의 일 실시예를 도시한 흐름도이다.
도 5b는 도 5b의 초대용량 시계열 데이터 고속 추출 방법의 상세 과정들을 도시한 흐름도이다.
도시한 초대용량 시계열 데이터 고속 추출 방법은, 사용자로부터 시계열 데이터 추출에 대한 질의를 수신하는 단계(S210); 수신한 상기 질의를 태그 이름을 기준으로 소정 단위 시간으로 분할하여 복수의 분할 질의어들을 생성하는 단계(S220); 분할 질의어들로 데이터 분산 저장 장치에 대하여 분산 질의를 수행하는 단계(S240); 상기 분산 질의에 대한 결과를 상기 데이터 분산 저장 장치로부터 수신하는 단계(S250); 수신한 결과들을 소정 단위 시간에 대한 시간순으로 병합하는 단계(S262); 및 병합된 질의 결과를 규정된 파일의 형태로 사용자에게 제공하는 단계(S266)를 포함할 수 있다.
도 5a에서는 상기 시간순으로 병합하는 단계(S262) 및 규정된 파일의 형태로 사용자에게 제공하는 단계(S266)가, 질의 결과 병합/파일화 단계(S260)로 통합되어 표현되었다.
추출 질의 경우 일 단위 질의가 기본으로 설정된 구현의 경우, 상기 복수의 질의어를 생성하는 단계(S220)에서는, 일 단위로 분할된 질의어들을 생성하며, 상기 분산 질의를 수행하는 단계(240)에서는, 각 질의어를 각 질의 수행 태스크에 할당하고, 상기 각 질의 수행 태스크에서는 해당 일 단위 데이터를 검색하고, 상기 시간순으로 병합하는 단계(S262)에서는, 일 단위 질의 결과들을 시간순으로 병합할 수 있다.
한편, 상기 수신한 결과들을 시간순으로 병합하는 단계(S262)는, 상당한 연산량 및/또는 시간이 소요되어, 상기 S262 단계에 초대용량 시계열 데이터 고속 활용 장치(100)의 가용하는 모든 연산 자원을 할당하는 것은 바람직하지 않다. 다시 말해, 상기 수신한 결과들을 시간순으로 병합하는 단계(S262)를 수행하는 도중에 상기 사용자 또는 다른 사용자로부터 조회 질의를 요청받으면, 초대용량 시계열 데이터 고속 활용 장치(100)의 가용하는 연산 자원의 일부를 할당하여, 실질적으로 상기 S262 단계와 다른 조회 질의 수행이 동시에 병행적으로 수행되도록 구현하는 것이 바람직하다.
도 5b의 흐름도의 과정들을 도 2의 구성요소들과 관련하여 설명하면 다음과 같다.
먼저, 질의 수신부(122)가 사용자로부터 시계열 데이터 추출 질의를 수신한다(S210). 다음으로 질의 수신부(122)가 추출 질의, Tag 이름, 기간을 질의어 분할 생성부에 전달한다(S220). 여기에서 Tag 이름은 여러 개일 수 있으며, 여러 개일 경우 Tag 이름 목록 형태가 될 수 있다. 다음으로 질의어 분할 생성부(124)가 질의 수신부(122)가 전달한 Tag 이름, 기간을 이용하여 추출 기간내 복수의 일 단위 질의어를 생성하여 분산 질의 수행부(126)에 전달한다(S224). 여기에서 기간의 시작과 끝은 각각 해당 시간을 시작 시간과 끝 시간으로 적용하여 질의어를 생성한다. 이때 Tag 이름이 여러 개일 경우 Tag 이름별로 복수의 분 단위 질의어를 생성하여 전달한다. 다음으로 분산 질의 수행부(126)가 질의어 분할 생성부(124)가 전달한 복수의 일 단위 질의어를 병렬처리 프로세싱에 의해 질의어별로 분산 질의를 수행한다(S242). 다음으로 분산 질의 수행부(126)의 분산 질의에 대해 데이터 분산 저장 장치(200)에 저장된 시계열 데이터에 대하여 Tag 이름에 의한 저장 테이블을 검색한다(S244). 다음으로 해당 테이블 내에서 일별 블록을 검색한다(S246). 여기에서 기간의 시작과 끝은 각각 해당 시간을 시작 시간과 끝 시잔으로 적용하여 검색한다.
구현에 따라, 상기 S244 단계 내지 S246 단계는, 상기 분산 질의 수행부(126)에 의해 수행되거나, 상기 데이터 분산 저장 장치(200)의 내부 연산부에 의해 수행될 수 있다.
다음으로 질의 결과 수신부(140)가 분산 질의 수행부(126)가 수행한 분산 질의 수행에 따른 복수의 일 단위 질의 결과를 수신하여 임시 저장한다(S250). 다음으로 질의 결과 병합부(172)가 질의 결과 수신부(140)에 저장된 복수의 일 단위 질의 결과를 Tag 이름을 기준으로 시간순으로 병합한다(S262). 이때 Tag 이름이 여러 개일 경우 Tag 이름별로 병합하고 추출 기간 내에서 통합한다. 다음으로 추출 결과 제공부(174)가 질의 결과 병합부(172)가 병합한 추출 질의 결과를 파일 등의 형태로 사용자에게 제공한다(S266). 이때 제공하는 파일은 CSV 등 다양한 형태일 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100 : 초대용량 시계열 데이터 고속 활용 장치
120 : 질의 수행부
122 : 질의 수신부
124 : 질의어 분할 생성부
126 : 분산 질의 수행부
140 : 질의 결과 수신부
160 : 조회 결과 처리부
162 : 질의 결과 정렬부
164 : 조회 결과 표시부
170 : 추출 결과 처리부
172 : 질의 결과 병합부
174 : 추출 결과 제공부
200 : 데이터 분산 저장 장치
400 : 사용자 단말기

Claims (16)

  1. 사용자로부터 입력받은 질의를 분할하여 분산 질의를 수행하는 질의 수행부;
    상기 분산 질의에 대한 결과를 수신하는 질의 결과 수신부;
    수신된 질의 결과들 중 조회 질의에 대한 결과들을 처리하는 조회 결과 처리부; 및
    상기 조회 결과 처리부와 병렬적인 동작 구조를 형성하며, 상기 수신된 질의 결과들 중 추출 질의에 대한 결과들을 처리하는 추출 결과 처리부
    를 포함하는 초대용량 시계열 데이터 고속 활용 장치.
  2. 제1항에 있어서,
    시계열 데이터를 먼저 태그 이름에 따라 테이블 단위로 분류하고, 해당 태그 테이블 내에서 일별로 파티션을 자동 생성하여, 상기 시계열 데이터들을 일별 블록 단위로 저장한 데이터 분산 저장 장치
    를 더 포함하고,
    상기 질의 수행부는 상기 데이터 분산 저장 장치에 대하여 분산 질의를 수행하는 초대용량 시계열 데이터 고속 활용 장치.
  3. 제2항에 있어서,
    상기 질의 수행부는,
    상기 사용자로부터 시계열 데이터 조회 또는 추출에 대한 질의를 수신하는 질의 수신부;
    수신된 상기 질의를 질의 요청한 태그 이름을 기준으로 소정 단위 시간의 단위 질의로 분할하여 복수의 질의어를 생성하는 질의어 분할 생성부; 및
    분할 생성된 복수의 질의어들로 상기 데이터 분산 저장 장치에 대하여 분산 질의를 수행하는 분산 질의 수행부
    를 포함하는 초대용량 시계열 데이터 고속 활용 장치.
  4. 제3항에 있어서,
    상기 질의어 분할 생성부는,
    조회 질의에 대해서는 분 단위로 질의어 분할을 수행하고,
    추출 질의에 대해서는 일 단위로 질의어 분할을 수행하는 초대용량 시계열 데이터 고속 활용 장치.
  5. 제3항에 있어서,
    상기 분산 질의 수행부는,
    복수개의 각 질의 수행 태스크들에 분산 질의를 할당하여 각 분산 질의를 수행하게 하고,
    상기 질의 결과 수신부는,
    상기 각 질의 수행 태스크들에 지정된 저장 영역에, 상기 각 분산 질의에 대하여 상기 데이터 분산 저장 장치로부터 수신한 데이터를 저장하는 초대용량 시계열 데이터 고속 활용 장치.
  6. 제1항에 있어서,
    상기 조회 결과 처리부는,
    시계열 데이터 조회 질의의 경우 상기 질의 결과 수신부의 분 단위 질의 결과를 시간순으로 정렬하는 질의 결과 정렬부; 및
    시계열 데이터 조회 질의의 경우 정렬된 질의 결과를 사용자의 화면 영역에 맞춰 표시하는 조회 결과 표시부
    를 포함하는 초대용량 시계열 데이터 고속 활용 장치.
  7. 제1항에 있어서,
    상기 추출 결과 처리부는,
    시계열 데이터 추출 질의의 경우 상기 질의 결과 수신부의 일 단위 질의 결과를 시간순으로 병합하는 질의 결과 병합부; 및
    시계열 데이터 추출 질의의 경우 병합된 질의 결과를 지정된 파일 형태로 사용자에게 제공하는 추출 결과 제공부
    를 포함하는 초대용량 시계열 데이터 고속 활용 장치.
  8. 제7항에 있어서,
    상기 질의 결과 병합부는,
    질의 결과 수신부에 저장된 복수의 태그들에 대한 일 단위 질의 결과들을 태그 이름을 기준으로 시간순으로 병합하는 초대용량 시계열 데이터 고속 활용 장치.
  9. 제1항에 있어서,
    상기 조회 결과 처리부는,
    소정의 표시 스케일의 기간 동안의, 시계열 데이터의 추세 패턴을 화면에 표시하되,
    사용자가 표시 스케일을 넓히면, 소정 단위 시간을 보다 긴 기간으로 설정하여, 추세 패턴을 표시하고,
    사용자가 표시 스케일을 좁히면, 소정 단위 시간을 보다 짧은 기간으로 설정하여, 추세 패턴을 표시하는 초대용량 시계열 데이터 고속 활용 장치.
  10. 사용자로부터 시계열 데이터 조회에 대한 질의를 수신하는 단계;
    수신한 상기 질의를 태그 이름을 기준으로 소정 단위 시간으로 분할하여 복수의 분할 질의어들을 생성하는 단계;
    분할 질의어들로 데이터 분산 저장 장치에 대하여 분산 질의를 수행하는 단계;
    상기 분산 질의에 대한 결과를 상기 데이터 분산 저장 장치로부터 수신하는 단계;
    수신한 결과들을 소정 단위 시간에 대하여 시간순으로 정렬하는 단계; 및
    상기 정렬된 질의 결과를 사용자의 화면 영역에 맞춰 순차적으로 표시하는 단계
    를 포함하는 초대용량 시계열 데이터 고속 조회 방법.
  11. 제10항에 있어서,
    상기 복수의 질의어를 생성하는 단계에서는, 분 단위로 분할된 질의어들을 생성하며,
    상기 분산 질의를 수행하는 단계에서는, 각 질의어를 각 질의 수행 태스크에 할당하고, 상기 각 질의 수행 태스크에서는 해당 분 단위 데이터를 검색하고,
    상기 시간순으로 정렬하는 단계에서는, 분 단위 질의 결과들을 시간순으로 정렬하는 초대용량 시계열 데이터 고속 조회 방법.
  12. 제10항에 있어서,
    각 단위 시간에 대하여 대표값을 추출하는 단계를 더 포함하고,
    상기 정렬된 질의 결과를 표시하는 단계에서는,
    소정의 표시 스케일의 기간 동안의 상기 대표값을 이용하여 시계열 데이터의 추세 패턴을 화면에 표시하는 초대용량 시계열 데이터 고속 조회 방법.
  13. 제10항에 있어서,
    소정의 표시 스케일의 기간 동안의 시계열 데이터의 추세 패턴을 화면에 표시하되, 사용자가 표시 스케일을 넓히면 소정 단위 시간을 보다 긴 기간으로 설정하여, 추세 패턴을 표시하고, 사용자가 표시 스케일을 좁히면 소정 단위 시간을 보다 짧은 기간으로 설정하여, 추세 패턴을 표시하는 방식으로, 사용자 요청에 따라 조정된 스케일로 표시하는 단계
    를 더 포함하는 초대용량 시계열 데이터 고속 조회 방법.
  14. 사용자로부터 시계열 데이터 추출에 대한 질의를 수신하는 단계;
    수신한 상기 질의를 태그 이름을 기준으로 소정 단위 시간으로 분할하여 복수의 분할 질의어들을 생성하는 단계;
    분할 질의어들로 데이터 분산 저장 장치에 대하여 분산 질의를 수행하는 단계;
    상기 분산 질의에 대한 결과를 상기 데이터 분산 저장 장치로부터 수신하는 단계;
    수신한 결과들을 소정 단위 시간에 대한 시간순으로 병합하는 단계; 및
    병합된 질의 결과를 규정된 파일의 형태로 사용자에게 제공하는 단계
    를 포함하는 초대용량 시계열 데이터 고속 추출 방법.
  15. 제14항에 있어서,
    상기 복수의 질의어를 생성하는 단계에서는, 일 단위로 분할된 질의어들을 생성하며,
    상기 분산 질의를 수행하는 단계에서는, 각 질의어를 각 질의 수행 태스크에 할당하고, 상기 각 질의 수행 태스크에서는 해당 일 단위 데이터를 검색하고,
    상기 시간순으로 병합하는 단계에서는, 일 단위 질의 결과들을 시간순으로 병합하는 초대용량 시계열 데이터 고속 추출 방법.
  16. 제14항에 있어서,
    상기 수신한 결과들을 시간순으로 병합하는 단계는,
    수행하는 도중에 상기 사용자 또는 다른 사용자로부터 조회 질의를 요청받으면, 다른 조회 질의 수행이 동시에 병행적으로 수행되는 초대용량 시계열 데이터 고속 추출 방법.






KR1020210109746A 2021-08-19 2021-08-19 초대용량 시계열 데이터 고속 활용 장치 및 초대용량 시계열 데이터 고속 조회 방법, 고속 추출 방법 KR20230027683A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210109746A KR20230027683A (ko) 2021-08-19 2021-08-19 초대용량 시계열 데이터 고속 활용 장치 및 초대용량 시계열 데이터 고속 조회 방법, 고속 추출 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210109746A KR20230027683A (ko) 2021-08-19 2021-08-19 초대용량 시계열 데이터 고속 활용 장치 및 초대용량 시계열 데이터 고속 조회 방법, 고속 추출 방법

Publications (1)

Publication Number Publication Date
KR20230027683A true KR20230027683A (ko) 2023-02-28

Family

ID=85326580

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210109746A KR20230027683A (ko) 2021-08-19 2021-08-19 초대용량 시계열 데이터 고속 활용 장치 및 초대용량 시계열 데이터 고속 조회 방법, 고속 추출 방법

Country Status (1)

Country Link
KR (1) KR20230027683A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150060094A (ko) 2013-11-25 2015-06-03 현대자동차주식회사 차량용 원격제어장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150060094A (ko) 2013-11-25 2015-06-03 현대자동차주식회사 차량용 원격제어장치

Similar Documents

Publication Publication Date Title
CN106709012A (zh) 一种大数据分析方法及装置
Bahga et al. Analyzing massive machine maintenance data in a computing cloud
CN112100219B (zh) 基于数据库查询处理的报表生成方法、装置、设备和介质
CN108769115A (zh) 分布式rss数据采集方法和系统
CN109739919A (zh) 一种用于电力系统的前置机和采集系统
CN111159180A (zh) 一种基于数据资源目录构建的数据处理方法及系统
CN111523004B (zh) 一种边缘计算网关数据的存储方法及系统
CN111259073A (zh) 基于日志、流量和业务访问的业务系统运行状态智能研判系统
CN111522786A (zh) 日志处理系统及方法
CN112001599A (zh) 一种中压配电网线损分析系统及方法
CN105868222A (zh) 一种任务调度方法及装置
CN112632129A (zh) 一种码流数据管理方法、装置及存储介质
CN110750414A (zh) 移动数据监控分析方法、装置、计算机设备和存储介质
CN111858274B (zh) 一种大数据评分系统稳定性监控方法
WO2017207049A1 (en) A node of a network and a method of operating the same for resource distribution
CN105303292A (zh) 配电数据存储方法和装置
US10558391B2 (en) Data processing system and data processing method
CN113268530A (zh) 海量异构数据采集方法、系统、计算机设备和存储介质
CN111339052A (zh) 一种非结构化日志数据处理方法及装置
EP1704500B1 (en) Clustering technique for cyclic phenomena
CN117435306A (zh) 集群容器扩缩容方法、装置、设备及存储介质
KR20230027683A (ko) 초대용량 시계열 데이터 고속 활용 장치 및 초대용량 시계열 데이터 고속 조회 방법, 고속 추출 방법
CN110784349A (zh) 一种电力通信设备与网络割接方案自动生成方法及装置
CN110543509A (zh) 用户访问数据的监控系统、方法、装置及电子设备
US20230060461A1 (en) Inference engine configured to provide a heat map interface

Legal Events

Date Code Title Description
E902 Notification of reason for refusal