KR102200010B1 - 이기종 데이터 소스 간 연관 분석의 결과를 제공하는 방법 및 장치 - Google Patents

이기종 데이터 소스 간 연관 분석의 결과를 제공하는 방법 및 장치 Download PDF

Info

Publication number
KR102200010B1
KR102200010B1 KR1020200098449A KR20200098449A KR102200010B1 KR 102200010 B1 KR102200010 B1 KR 102200010B1 KR 1020200098449 A KR1020200098449 A KR 1020200098449A KR 20200098449 A KR20200098449 A KR 20200098449A KR 102200010 B1 KR102200010 B1 KR 102200010B1
Authority
KR
South Korea
Prior art keywords
data
data source
data element
search condition
information
Prior art date
Application number
KR1020200098449A
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 KR1020200098449A priority Critical patent/KR102200010B1/ko
Priority to US17/018,780 priority patent/US10970337B1/en
Application granted granted Critical
Publication of KR102200010B1 publication Critical patent/KR102200010B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • 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/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • 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/25Integrating or interfacing systems involving database management 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/2228Indexing structures
    • 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/242Query formulation
    • G06F16/2433Query languages
    • 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/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2448Query languages for particular applications; for extensibility, e.g. user defined types
    • 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/2452Query translation
    • G06F16/24522Translation of natural language queries to structured 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/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • 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/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

이기종 데이터 소스 간 연관 분석의 결과를 제공하는 방법이 개시된다. 즉, (a) 사용자의 질의 요청이 수신되면, 연관 분석 결과 제공 장치가, (i) 상기 질의 요청에 포함된 검색 조건 정보를 참조로 하여 상기 이기종 데이터 소스 각각에서 상기 검색 조건 정보 각각에 해당하는 데이터 요소를 각각 획득하고, (ii) 상기 질의 요청에 포함된 메인 결합 연산 정보를 참조로 하여 상기 데이터 요소 각각에 상기 메인 결합 연산 정보에 포함된 메인 결합 연산을 적용함으로써 데이터 세트를 획득하는 데이터 검색 프로세스를 수행하는 단계; 및 (b) 상기 연관 분석 결과 제공 장치가, 상기 데이터 세트에 상기 질의 요청에 포함된 소정의 처리 연산 및 상기 질의 요청에 포함된 소정의 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 출력하는 단계; 를 포함하는 것을 특징으로 하는 방법이 개시된다.

Description

이기종 데이터 소스 간 연관 분석의 결과를 제공하는 방법 및 장치 {METHOD AND DEVICE FOR PROVIDING RESULT OF JOINT ANALYSIS BETWEEN DATA SOURCES OF DIFFERENT TYPES}
본 발명은 동종 및 이기종 데이터소스 간 연관 분석의 결과를 제공하는 방법에 관한 것이다.
IT/OT 기술의 발달로 수집되는 데이터의 양이 기하급수적으로 증가하고 있는 상황에서 빅데이터를 효율적으로 사용할 수 있는 방법을 찾기 위한 연구들이 속속 진행되고 있다. 이와 함께 빅데이터를 다루는 기술 및 도구도 지속적으로 발전하고 있으며, 그 중에서도, 오픈소스로 제공되고 있는 빅데이터 분석시스템 Apache Solr, Elastic search 등이 관심을 받고 있다.
그러나 Apache Solr 및 Elastic search의 코어 엔진은 Lucene이라는 검색 엔진 라이브러리를 기반으로 하고 있기 때문에, 검색 엔진의 장점인 인덱싱 된 데이터를 빠르게 찾는 기능 및 간단한 통계 분석 기능 등에는 특화되어 있지만, 검색된 데이터를 수정하는 기능, 혹은 두 개 이상의 데이터 세트를 연관 분석하고 집계하기 위한 쿼리언어를 처리하는 기능 등은 지원하지 않는다는 한계가 있다.
비록 RDB에서 SQL을 이용해 단일 데이터소스 내에 있는 데이터 세트를 연관 분석하고 및 집계하는 기능을 제공하고 있지만, 이 역시 서로 다른 기종의 데이터 소스 내 데이터 세트 간의 연관 분석 기능은 지원하고 있지 않으며, 대량의 데이터에는 해당 기능을 적용하기 어렵다는 한계가 있다.
이와 같은 한계로 인해, 현재로서는 서로 다른 기종의 데이터 소스 내에 있는 데이터 세트들 간의 연관 분석이 필요할 경우 별도의 어플리케이션을 구현하는 과정이나 서로 다른 기종의 데이터 소스 내에 있는 데이터 세트들을 단일 데이터베이스로 복제하는 과정이 불가피하게 추가되며, 이러한 과정들은 상당한 리소스 및 시간을 요구한다는 문제가 발생한다.
따라서, 이러한 문제를 해결하기 위해 이기종 데이터소스 간 연관분석을 지원하는 절차적 질의언어를 제안한다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 이기종 데이터 소스간 연관 분석의 결과를 제공하는 방법을 제안하는 것을 목적으로 한다.
또한, 본 발명은 각 데이터 소스 고유의 랭귀지를 그대로 활용하여 이기종 데이터 소스 간 연관 분석의 결과를 제공하는 방법을 제안하는 것을 목적으로 한다.
또한, 본 발명은 원본 데이터 세트의 이동 없이 이기종 데이터 소스 간 연관 분석의 결과를 제공하는 방법을 제안하는 것을 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 이기종 데이터 소스에 해당되는 제1 데이터 소스 및 제2 데이터 소스 간 연관 분석의 결과를 제공하는 방법에 있어서, (a) 사용자의 질의 요청이 수신되면, 연관 분석 결과 제공 장치가, (i) 상기 질의 요청에 포함된 검색 조건 정보를 참조로 하여 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각에서 상기 검색 조건 정보에 포함된 제1 검색 조건 및 제2 검색 조건 각각에 해당하는 제1 데이터 요소 및 제2 데이터 요소를 획득하고, (ii) 상기 질의 요청에 포함된 메인 결합 연산 정보를 참조로 하여 상기 제1 데이터 요소 및 상기 제2 데이터 요소에 상기 메인 결합 연산 정보에 포함된 메인 결합 연산 - 상기 메인 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 을 적용함으로써 데이터 세트를 획득하는 단계; 및 (b) 상기 연관 분석 결과 제공 장치가, 상기 데이터 세트에 상기 질의 요청에 포함된 소정의 처리 연산 및 상기 질의 요청에 포함된 소정의 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 출력하는 단계; 를 포함하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 이기종 데이터 소스의 유형이, 적어도 Lucene 기반 검색 엔진 유형, RDB 유형, file 유형 중 적어도 두 가지 유형을 포함하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계 이전에, (a0) 상기 연관 분석 결과 제공 장치가, 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 ID, 이름, 종류 중 적어도 일부를 포함하는 제1 기본 정보 및 제2 기본 정보를 입력 받고, 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 URL, 데이터베이스, User Name, Password 중 적어도 일부를 포함하는 제1 DSN 정보 및 제2 DSN 정보를 입력 받음으로써, 상기 제1 기본 정보, 상기 제2 기본 정보, 상기 제1 DSN 정보 및 상기 제2 DSN 정보를 이용해 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 연결 정보를 설정하는 단계를 포함하고, 상기 (a) 단계는, 상기 설정된 연결 정보를 참조로 하여, 상기 연관 분석 결과 제공 장치가, (i) 상기 검색 조건 정보를 참조로 하여 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각에서 상기 제1 데이터 요소 및 상기 제2 데이터 요소를 획득하고, (ii) 상기 메인 결합 연산 정보를 참조로 하여 상기 제1 데이터 요소 및 상기 제2 데이터 요소에 상기 메인 결합 연산을 적용함으로써 상기 데이터 세트를 획득하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계의 상기 (i)에서, 상기 연관 분석 결과 제공 장치가, (i-1) 상기 각각의 연결 정보를 참조로 하여 상기 제1 데이터 소스 및 상기 제2 데이터 소스에 접속하고, (i-2) 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 유형에 대응되는 랭귀지를 사용하여 작성된 상기 제1 검색 조건 및 상기 제2 검색 조건에 따라 상기 제1 데이터 요소 및 상기 제2 데이터 요소를 획득한 후, (i-3) 상기 제1 데이터 요소 및 상기 제2 데이터 요소의 형식을 변환함으로써 제1 변환 데이터 요소 및 제2 변환 데이터 요소를 획득하여, 상기 (a) 단계의 상기 (ii)에서, 상기 데이터 세트를 획득할 수 있도록 지원하는 것을 지원하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계의 상기 (i-2)에서, 상기 연관 분석 결과 제공 장치가, (i-2-a) 상기 제1 검색 조건에 포함된 제1_1 검색 조건과 제1_2 검색 조건 각각에 해당하는 제1_1 데이터 요소 및 제1_2 데이터 요소를 상기 제1 데이터 소스에서 획득한 후, 상기 제1_1 데이터 요소와 상기 제1_2 데이터 요소 간 서브 결합 연산 - 상기 서브 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 을 적용하여 상기 제1 데이터 요소를 획득하거나, (i-2-b) 상기 제1_1 데이터 요소를 먼저 획득한 후, 상기 제1_1 데이터 요소를 상기 제1-2 검색 조건의 추가 검색 조건으로 사용함으로써 상기 서브 결합 연산 없이 상기 제1 데이터 요소를 획득하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계의 상기 (i-3)에서, 상기 연관 분석 결과 제공 장치가, 형식이 서로 달라 상기 메인 결합 연산을 적용할 수 없는 상기 제1 데이터 요소 및 상기 제2 데이터 요소를 동일한 형식으로 변환시키는 방식으로 상기 제1 변환 데이터 요소 및 상기 제2 변환 데이터 요소를 각각 획득함으로써 상기 메인 결합 연산의 적용이 가능하도록 하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 연관 분석 결과 제공 장치가, (1) 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 유형이 Lucene 기반 검색 엔진 유형일 경우 Rest API를 통해 상기 제1 데이터 소스 또는 상기 제2 데이터 소스에 접속하고 LuceneQL을 사용하여 작성된 상기 제1 검색 조건 또는 상기 제2 검색 조건에 따라 상기 제1 데이터 요소 또는 상기 제2 데이터 요소를 획득하는 것을 특징으로 하고, (2) 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 유형이 RDB 유형일 경우 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 종류에 따라 JDBC 또는 ODBC를 통해 상기 제1 데이터 소스 또는 상기 제2 데이터 소스에 접속하고 SQL을 사용하여 작성된 상기 제1 검색 조건 또는 상기 제2 검색 조건에 따라 상기 제1 데이터 요소 또는 상기 제2 데이터 요소를 획득하는 것을 특징으로 하며, (3) 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 유형이 File 유형일 경우 파일 경로를 통해 상기 제1 데이터 소스 또는 상기 제2 데이터 소스에 접속하고 상기 제1 데이터 소스 또는 상기 제2 데이터 소스 전체를 상기 제1 데이터 요소 또는 상기 제2 데이터 요소로서 획득하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 연관 분석 결과 제공 장치가, 적어도 상기 (a) 단계의 상기 (ii) 이후에 적용되는 각 명령어를 파이프 구분자로 연결함으로써, 상기 파이프 구분자의 앞 명령어의 출력 값을 상기 파이프 구분자의 뒤 명령어의 입력 값으로 사용함으로써 상기 각 명령어를 순차적으로 실행하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 처리 연산은, 집계, 데이터 변환, 필터링, 정렬, 데이터 자르기 연산 및 외부 함수 기능을 호출 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (b) 단계에서, 상기 출력 연산은, 화면 출력, 원격지 RDB 저장 및 파일 저장 중 적어도 일부를 포함하는 것을 특징으로 하는 방법이 개시된다.
본 발명의 다른 태양에 따르면, 이기종 데이터 소스에 해당되는 제1 데이터 소스 및 제2 데이터 소스 간 연관 분석의 결과를 제공하는 연관 분석 결과 제공 장치에 있어서, 인스트럭션들을 저장하는 하나 이상의 메모리; 및 상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되, 상기 프로세서는, (I) 사용자의 질의 요청이 수신되면, (i) 상기 질의 요청에 포함된 검색 조건 정보를 참조로 하여 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각에서 상기 검색 조건 정보에 포함된 제1 검색 조건 및 제2 검색 조건 각각에 해당하는 제1 데이터 요소 및 제2 데이터 요소를 획득하고, (ii) 상기 질의 요청에 포함된 메인 결합 연산 정보를 참조로 하여 상기 제1 데이터 요소 및 상기 제2 데이터 요소에 상기 메인 결합 연산 정보에 포함된 메인 결합 연산 - 상기 메인 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 을 적용함으로써 데이터 세트를 획득하는 프로세스; 및 (II) 상기 데이터 세트에 상기 질의 요청에 포함된 소정의 처리 연산 및 상기 질의 요청에 포함된 소정의 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 출력하는 프로세스; 를 수행하는 것을 특징으로 하는 연관 분석 결과 제공 장치가 개시된다.
일례로서, 상기 이기종 데이터 소스의 유형이, 적어도 Lucene 기반 검색 엔진 유형, RDB 유형, file 유형 중 적어도 두 가지 유형을 포함하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치가 개시된다.
일례로서 상기 (I) 프로세스 이전에, (I0) 상기 프로세서가, 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 ID, 이름, 종류 중 적어도 일부를 포함하는 제1 기본 정보 및 제2 기본 정보를 입력 받고, 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 URL, 데이터베이스, User Name, Password 중 적어도 일부를 포함하는 제1 DSN 정보 및 제2 DSN 정보를 입력 받음으로써, 상기 제1 기본 정보, 상기 제2 기본 정보, 상기 제1 DSN 정보 및 상기 제2 DSN 정보를 이용해 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 연결 정보를 설정하는 프로세스를 수행하고, 상기 (I) 프로세스는, 상기 설정된 연결 정보를 참조로 하여, 상기 프로세서가, (i) 상기 검색 조건 정보를 참조로 하여 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각에서 상기 제1 데이터 요소 및 상기 제2 데이터 요소를 획득하고, (ii) 상기 메인 결합 연산 정보를 참조로 하여 상기 제1 데이터 요소 및 상기 제2 데이터 요소에 상기 메인 결합 연산을 적용함으로써 상기 데이터 세트를 획득하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치가 개시된다.
일례로서, 상기 (I) 프로세스의 상기 (i)에서, 상기 프로세서가, (i-1) 상기 각각의 연결 정보를 참조로 하여 상기 제1 데이터 소스 및 상기 제2 데이터 소스에 접속하고, (i-2) 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 유형에 대응되는 랭귀지를 사용하여 작성된 상기 제1 검색 조건 및 상기 제2 검색 조건에 따라 상기 제1 데이터 요소 및 상기 제2 데이터 요소를 획득한 후, (i-3) 상기 제1 데이터 요소 및 상기 제2 데이터 요소의 형식을 변환함으로써 제1 변환 데이터 요소 및 제2 변환 데이터 요소를 획득하여, 상기 (I) 프로세스의 상기 (ii)에서, 상기 데이터 세트를 획득할 수 있도록 지원하는 것을 지원하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치가 개시된다.
일례로서, 상기 (I) 프로세스의 상기 (i-2)에서, 상기 프로세서가, (i-2-a) 상기 제1 검색 조건에 포함된 제1_1 검색 조건과 제1_2 검색 조건 각각에 해당하는 제1_1 데이터 요소 및 제1_2 데이터 요소를 상기 제1 데이터 소스에서 획득한 후, 상기 제1_1 데이터 요소와 상기 제1_2 데이터 요소 간 서브 결합 연산 - 상기 서브 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 을 적용하여 상기 제1 데이터 요소를 획득하거나, (i-2-b) 상기 제1_1 데이터 요소를 먼저 획득한 후, 상기 제1_1 데이터 요소를 상기 제1-2 검색 조건의 추가 검색 조건으로 사용함으로써 상기 서브 결합 연산 없이 상기 제1 데이터 요소를 획득하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치가 개시된다.
일례로서, 상기 (I) 프로세스의 상기 (i-3)에서, 상기 프로세서가, 형식이 서로 달라 상기 메인 결합 연산을 적용할 수 없는 상기 제1 데이터 요소 및 상기 제2 데이터 요소를 동일한 형식으로 변환시키는 방식으로 상기 제1 변환 데이터 요소 및 상기 제2 변환 데이터 요소를 각각 획득함으로써 상기 메인 결합 연산의 적용이 가능하도록 하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치가 개시된다.
일례로서, 상기 프로세서가, (1) 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 유형이 Lucene 기반 검색 엔진 유형일 경우 Rest API를 통해 상기 제1 데이터 소스 또는 상기 제2 데이터 소스에 접속하고 LuceneQL을 사용하여 작성된 상기 제1 검색 조건 또는 상기 제2 검색 조건에 따라 상기 제1 데이터 요소 또는 상기 제2 데이터 요소를 획득하는 것을 특징으로 하고, (2) 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 유형이 RDB 유형일 경우 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 종류에 따라 JDBC 또는 ODBC를 통해 상기 제1 데이터 소스 또는 상기 제2 데이터 소스에 접속하고 SQL을 사용하여 작성된 상기 제1 검색 조건 또는 상기 제2 검색 조건에 따라 상기 제1 데이터 요소 또는 상기 제2 데이터 요소를 획득하는 것을 특징으로 하며, (3) 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 유형이 File 유형일 경우 파일 경로를 통해 상기 제1 데이터 소스 또는 상기 제2 데이터 소스에 접속하고 상기 제1 데이터 소스 또는 상기 제2 데이터 소스 전체를 상기 제1 데이터 요소 또는 상기 제2 데이터 요소로서 획득하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치가 개시된다.
일례로서, 상기 프로세서가, 적어도 상기 (I) 프로세스의 상기 (ii) 이후에 적용되는 각 명령어를 파이프 구분자로 연결함으로써, 상기 파이프 구분자의 앞 명령어의 출력 값을 상기 파이프 구분자의 뒤 명령어의 입력 값으로 사용함으로써 상기 각 명령어를 순차적으로 실행하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 처리 연산은, 집계, 데이터 변환, 필터링, 정렬, 데이터 자르기 연산 및 외부 함수 기능을 호출 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치가 개시된다.
일례로서, 상기 (II) 프로세스에서, 상기 출력 연산은, 화면 출력, 원격지 RDB 저장 및 파일 저장 중 적어도 일부를 포함하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치가 개시된다
본 발명은 이기종 데이터 소스 간 연관 분석의 결과를 제공할 수 있는 효과가 있다.
본 발명은 각 데이터 소스 고유의 랭귀지를 그대로 활용하여 이기종 데이터 소스 간 연관 분석의 결과를 제공할 수 있는 효과가 있다.
본 발명은 원본 데이터 세트의 이동 없이 이기종 데이터 소스 간 연관 분석의 결과를 제공할 수 있는 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 “통상의 기술자”)에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 이기종 데이터 소스에 해당되는 제1 데이터 소스 및 제2 데이터 소스 간 연관 분석의 결과를 제공하기 위한 연관 분석 결과 제공 장치를 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 상기 연관 분석 결과 제공 장치를 이용하여 상기 제1 데이터 소스 및 상기 제2 데이터 소스 간 연관 분석의 결과를 제공하는 방법을 개략적으로 도시한 것이며,
도 3은 본 발명의 일 실시예에 따른 사용자로부터 기본 정보 및 DSN 정보를 입력 받아 연결 정보를 설정할 수 있도록 하는 UI를 개략적으로 도시한 것이고,
도 4는 본 발명의 일 실시예에 따른 상기 연관 분석 결과 제공 장치가 상기 제1 데이터 소스의 유형 및 상기 제2 데이터 소스의 유형에 따라 제1 변환 데이터 요소 및 제2 변환 데이터 요소를 획득하는 방법을 개략적으로 도시한 것이며,
도 5는 본 발명의 일 실시예에 따른 상기 연관 분석 결과 제공 장치가 상기 제1 데이터 소스 및 상기 제2 데이터 소스로부터 데이터 세트를 획득하는 과정을 개략적으로 도시한 것이고,
도 6은 본 발명의 일 실시예에 따른 상기 연관 분석 결과 제공 장치가 상기 제1 데이터 소스 및 상기 제2 데이터 소스로부터 데이터 세트를 획득하도록 하는 상기 사용자의 질의 요청의 일 예시이며,
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 상기 사용자의 질의 요청에 제1 데이터 소스 내 서브 결합 연산이 포함되어 있는 경우 제1 데이터 요소를 획득하는 방법을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 이기종 데이터 소스에 해당되는 제1 데이터 소스 및 제2 데이터 소스 간 연관 분석의 결과를 제공하기 위한 연관 분석 결과 제공 장치를 개략적으로 도시한 것으로, 도 1을 참조하면, 연관 분석 결과 제공 장치(1000)는 사용자의 질의 요청을 수신하여 상기 질의 요청에 대한 결과를 출력하기 위한 인스트럭션들이 저장된 메모리(1100)와 저장된 인스트럭션들에 따라 상기 질의 요청을 수신하여 상기 질의 요청에 대한 결과를 출력하기 위한 동작을 수행하는 프로세서(1200)를 포함할 수 있다.
구체적으로, 연관 분석 결과 제공 장치(1000)는 전형적인 컴퓨팅 장치(일례로, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 integrated 프로세서를 포함하는 경우를 배제하는 것은 아니다.
이와 같이 구성된 본 발명의 일 실시예에 따른 연관 분석 결과 제공 장치를 이용하여 이기종 데이터 소스에 해당되는 제1 데이터 소스 및 제2 데이터 소스 간 연관 분석의 결과를 제공하는 방법을 도 2를 참조하여 개략적으로 설명하면 다음과 같다.
먼저, 도 2를 참조하면, 연관 분석 결과 제공 장치(1000)는, 사용자의 질의 요청이 수신되면, 제1 데이터 소스(2100) 및 제2 데이터 소스(2200)에 상기 사용자의 질의 요청에 포함된 데이터 검색 프로세스(210)를 수행해 데이터 세트(2300)를 획득하고, 데이터 세트(2300)에 상기 사용자의 질의 요청에 포함된 데이터 처리 프로세스(220) 및 상기 사용자의 질의 요청에 포함된 데이터 출력 프로세스(230)를 수행함으로써 질의 요청에 대한 결과(2400)를 출력할 수 있다.
이때, 제1 데이터소스의 유형과 제2 데이터 소스의 유형은 서로 다를 수 있으며, 상기 제1 데이터소스의 유형 혹은 상기 제2 데이터 소스의 유형은 Lucene 기반 검색 엔진 유형, RDB 유형 혹은 File 유형중 어느 하나일 수 있다.
또한, 도 3을 참조하면, 연관 분석 결과 제공 장치(1000)는, 상기 사용자로부터 질의 요청을 수신 받기 전에 상기 사용자로부터 제1 데이터 소스(2100) 및 제2 데이터 소스(2200) 각각의 ID, 이름 및 종류에 해당하는 기본정보 중 적어도 일부를 입력 받고, URL, 데이터베이스, User Name 및 Password에 해당하는 DSN 정보 중 적어도 일부를 입력 받음으로써, 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 연결 정보를 설정할 수 있도록 하는 UI를 제공할 수 있다. 이때, 연관 분석 결과 제공 장치(1000)는, 상기와 같은 UI 를 통해 설정된 각각의 연결 정보를 참조하여 제1 데이터 소스(2100) 및 제2 데이터 소스(2200)에 접속할 수 있다.
이상, 연관 분석 결과 제공 장치를 이용하여 이기종 데이터 소스 간 연관 분석의 결과를 제공하는 방법을 개략적으로 설명한 바, 이하 제1 데이터 소스 및 제2 데이터 소스에 데이터 검색 프로세스를 수행해 데이터 세트를 획득하는 과정을 도 4와 도 5를 참조하여 보다 자세히 설명하도록 한다.
앞서 말했듯이, 연관 분석 결과 제공 장치(1000)는, 상기 각각의 연결 정보 및 상기 사용자의 질의 요청이 수신되면, 상기 각각의 연결 정보를 참조로 하여 제1 데이터 소스(2100) 및 제2 데이터 소스(2200)에 접속할 수 있다.
이때, 도 4를 참조하면, 연관 분석 결과 제공 장치(1000)는, 외부 데이터 소스(420)에 포함되어 있는 제1 데이터 소스의 유형 혹은 제2 데이터 소스의 유형이 Lucene 기반 검색 엔진 유형일 경우, 데이터 소스 연결 방식(410) 중 Rest API를 통하는 연결 방식을 이용해 외부 데이터 소스(420)에 접속할 수 있고, 상기 제1 데이터 소스의 유형 혹은 상기 제2 데이터 소스의 유형이 RDB 유형일 경우 데이터 소스 연결 방식(410) 중 JDBC 혹은 ODBC를 통하는 연결 방식을 이용해 외부 데이터 소스(420)에 접속할 수 있으며, 상기 제1 데이터 소스의 유형 혹은 상기 제2 데이터 소스의 유형이 File 유형일 경우, 데이터 소스 연결 방식(410) 중 File 경로를 통해 직접 접속하는 연결 방식을 이용해 외부 데이터 소스(420)에 접속할 수 있다.
다음으로, 도 5를 참조하면, 연관 분석 결과 제공 장치(1000)는, 상기 질의 요청에 포함된 검색 조건 정보를 참조로 하여 제1 데이터 소스(2100) 및 제2 데이터 소스(2200) 각각에서 상기 검색 조건 정보에 포함된 제1 검색 조건 연산(510a) 및 제2 검색 조건 연산(510b) 각각을 적용함으로써 제1 데이터 요소(2110) 및 제2 데이터 요소(2210)를 획득할 수 있다.
이때, 다시 도 4를 참조하면, 상기 제1 데이터 소스의 유형 혹은 상기 제2 데이터 소스의 유형이 Lucene 기반 검색 엔진 유형일 경우, 상기 제1 검색 조건 혹은 상기 제2 검색 조건은 각각 LuceneQL을 사용하여 작성되었을 수 있고, 상기 제1 데이터 소스의 유형 혹은 상기 제2 데이터 소스의 유형이 RDB 유형일 경우, 상기 제1 검색 조건 혹은 상기 제2 검색 조건은 SQL을 사용하여 작성되었을 수 있다. 이와는 달리, 상기 제1 데이터 소스의 유형 혹은 상기 제2 데이터 소스의 유형이 File 유형일 경우, 상기 제1 검색 조건 혹은 상기 제2 검색 조건은 별도로 존재하지 않을 수 있다.
보다 자세한 설명을 위해 도 5를 함께 참조하면, 상기 제1 데이터 소스의 유형 혹은 상기 제2 데이터 소스의 유형이 Lucene 기반 검색 엔진 유형일 경우, 연관 분석 결과 제공 장치(1000)가, LuceneQL을 사용하여 작성된 제1 검색 조건(510a) 혹은 제2 검색 조건(510b)에 해당하는 제1 데이터 요소(2110) 혹은 제2 데이터 요소(2210)를 획득할 수 있고, 상기 제1 데이터 소스의 유형 혹은 상기 제2 데이터 소스의 유형이 혹은 RDB 유형일 경우, 연관 분석 결과 제공 장치(1000)가, SQL을 사용하여 작성된 제1 검색 조건(510a) 혹은 제2 검색 조건(510b)에 해당하는 제1 데이터 요소(2110) 혹은 제2 데이터 요소(2210)를 획득할 수 있으며, 상기 제1 데이터 소스의 유형 혹은 상기 제2 데이터 소스의 유형이 File 유형일 경우, 연관 분석 결과 제공 장치(1000)가, 제1 데이터 소스(2100) 전체 혹은 제2 데이터 소스(2200) 전체를 제1 데이터 요소(2110) 혹은 제2 데이터 요소(2210)로서 획득할 수 있다.
이후, 다시 도 5를 참조하면, 연관 분석 결과 제공 장치(1000)는, 상기 질의 요청에 포함된 검색 조건 정보를 참조로 하여 제1 데이터 요소(2110) 및 제2 데이터 요소(2210) 각각에 상기 검색 조건 정보에 포함된 제1 데이터 형식 변환 연산(520a) 및 제2 데이터 형식 변환 연산 (520b) 각각을 적용하여 제1 데이터 요소(2110) 및 제2 데이터 요소(2210)의 형식을 변환함으로써 제1 변환 데이터 요소(2120) 및 제2 변환 데이터 요소(2220)를 획득할 수 있다.
보다 자세한 설명을 위해 도 4를 함께 참조하면, 연관 분석 결과 제공 장치(1000)는, 유형 변환 모듈(430)으로 하여금 서로 다른 형식의 제1 데이터 요소(2110) 및 제2 데이터 요소(2210)를 동일한 형식으로 변환하도록 하여 제1 변환 데이터 요소(2120) 및 제2 변환 데이터 요소(2220)를 출력하도록 함으로써 유형이 서로 같아 JOIN 연산 및 UNION 연산이 가능한 제1 변환 데이터 요소(2120) 및 제2 변환 데이터 요소(2220)를 획득할 수 있다. 이때, 유형 변환 모듈(430)은 연관 분석 결과 제공 장치(1000) 안에 포함될 수 있으나 이에 한정되지 않는다.
다음으로, 다시 도 5를 참조하면, 연관 분석 결과 제공 장치(1000)는, 상기 질의 요청에 포함된 메인 결합 연산 정보를 참조로 하여 제1 변환 데이터 요소(2120) 및 제2 변환 데이터 요소(2220)에 상기 메인 결합 연산 정보에 포함된 메인 결합 연산(530)을 적용함으로써 데이터 세트(2300)를 획득할 수 있다.
이때, 상기 메인 결합 연산에는 JOIN 연산 및 UNION 연산 중 적어도 일부가 포함될 수 있으나 이에 한정되지 않으며, 상기 메인 결합 연산은 이기종 데이터 소스 각각에서 획득한 데이터 요소 간의 연산을 의미할 수 있다.
일례로, 도 6을 참조하면, 연관 분석 결과 제공 장치(1000)는, 검색 조건 정보에 포함된 제1 검색조건(610a)에 따라 상기 제1 데이터 소스에 해당하는 File 형식의 RAW.json에 파일 경로를 통해 직접 접속하고, RAW.json 전체를 상기 제1 데이터 요소로서 획득한 후 유형 변환 모듈(430)으로 하여금 상기 제1 데이터 요소를 JSON 형식으로 변환하도록 함으로써, 제1 변환 데이터 요소(620a)를 획득할 수 있고, 검색 조건 정보에 포함된 제2 검색조건(610b)에 따라 제2 데이터 소스에 해당하는 RDB 형식의 DSN_01에 JDBC를 통해 접속하고, SQL을 사용하여 작성된 제2 검색 조건(610b)에 해당하는 상기 제2 데이터 요소를 획득한 후, 유형 변환 모듈(430)으로 하여금 상기 제2 데이터 요소를 JSON 형식으로 변환하도록 함으로써, 제2 변환 데이터 요소(620b)를 획득할 수 있다. 이후, 연관 분석 결과 제공 장치(1000)는, 제1 변환 데이터 요소(620a) 및 제2 변환 데이터 요소(620b)를 대상으로 상기 메인 결합 연산에 해당하는 INNER JOIN 연산을 수행함으로써 상기 데이터 세트를 획득할 수 있다.
이상, 제1 데이터 소스 및 제2 데이터 소스에 데이터 검색 프로세스를 수행해 데이터 세트를 획득하는 과정을 설명한 바, 이하 상기 제1 검색 조건에 제1 데이터 소스 내 서브 결합 연산이 포함되어 있을 경우 제1 데이터 요소를 획득하는 방법과 관련된 내용을 도 7a 및 도 7b를 참조하여 보다 자세히 설명하도록 한다.
먼저, 도 7a을 참조하면, 연관 분석 결과 제공 장치(1000)는, 상기 제1 검색 조건에 포함된 제1_1 검색 조건(710a)과 제1_2 검색 조건(710b)을 참조하여 제1 데이터 소스(2100)에서 서브 결합 연산(720)에 필요한 제1_1 데이터 요소(2111) 및 제1_2 데이터 요소(2112)를 획득한 후, 제1_1 데이터 요소(2111) 및 제1_2 데이터 요소(2112)간 서브 결합 연산(720)을 처리함으로써 제1 데이터 요소(2110)를 획득할 수 있다.
이때, 상기 서브 결합 연산에는 JOIN 연산 및 UNION 연산 중 적어도 일부가 포함될 수 있으나 이에 한정되지 않으며, 상기 서브 결합 연산은 동종 데이터 소스에서 획득한 데이터 요소 간의 연산을 의미할 수 있다.
반면, 도 7-b를 참조하면, 연관 분석 결과 제공 장치(1000)는, 상기 제1 검색 조건에 포함된 상기 제1_1 검색 조건(710a)을 참조하여 제1 데이터 소스(2100)에서 제1_1 데이터 요소(2111)를 먼저 획득한 후, 제1_1 데이터 요소(2111)를 제1_2 검색 조건(710b)의 추가 검색 조건으로 덧붙임으로써 서브 결합 연산(720) 없이 제1 데이터 요소(2110)를 획득할 수 있다.
이상, 상기 제1 검색 조건에 제1 데이터 소스 내 서브 결합 연산이 포함되어 있을 경우 제1 데이터 요소를 획득하는 방법을 설명한 바, 이하 데이터 세트에 데이터 처리 프로세스 및 데이터 출력 프로세스를 수행해 질의 요청에 대한 결과를 출력하는 과정에 대해 설명하도록 한다.
먼저, 연관 분석 결과 제공 장치(1000)는, 데이터 세트(2300)를 획득하면, 상기 질의 요청에 포함된 소정의 처리 연산 및 상기 질의 요청에 포함된 소정의 출력 연산을 적용함으로써 데이터 처리 프로세스(220) 및 데이터 출력 프로세스 (230)를 수행해 질의 요청에 대한 결과(2400)를 획득할 수 있다.
이때, 상기 소정의 처리 연산은 집계 연산, 데이터 변환 연산, 필터링 연산, 정렬 연산, 데이터 자르기 연산 및 외부 함수 기능 호출 연산 중 적어도 일부를 포함할 수 있다. 또한, 상기 소정의 출력 연산은 화면 출력 연산, 원격지 RDB 저장 연산 및 파일 저장 연산 중 적어도 일부를 포함할 수 있다.
아울러, 연관 분석 결과 제공 장치(1000)는, 상기 소정의 처리 연산 및 상기 소정의 출력 연산의 각 명령어를 파이프 구분자로 연결하여 상기 파이프 구분자의 앞 명령어의 출력 값을 상기 파이프 구분자의 뒤 명령어의 입력 값으로 사용함으로써 상기 각 명령어를 순차적으로 실행할 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (20)

  1. 이기종 데이터 소스에 해당되는 제1 데이터 소스 및 제2 데이터 소스 간 연관 분석의 결과를 제공하는 방법에 있어서,
    (a) 사용자의 질의 요청이 수신되면, 연관 분석 결과 제공 장치가, (i) 상기 질의 요청에 포함된 검색 조건 정보를 참조로 하여 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각에서 상기 검색 조건 정보에 포함된 제1 검색 조건 및 제2 검색 조건 각각에 해당하는 제1 데이터 요소 및 제2 데이터 요소를 획득하고, (ii) 상기 질의 요청에 포함된 메인 결합 연산 정보를 참조로 하여 상기 제1 데이터 요소 및 상기 제2 데이터 요소에 상기 메인 결합 연산 정보에 포함된 메인 결합 연산 - 상기 메인 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 을 적용함으로써 데이터 세트를 획득하는 단계; 및
    (b) 상기 연관 분석 결과 제공 장치가, 상기 데이터 세트에 상기 질의 요청에 포함된 소정의 처리 연산 및 상기 질의 요청에 포함된 소정의 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 출력하는 단계;
    를 포함하되,
    상기 (a) 단계 이전에,
    (a0) 상기 연관 분석 결과 제공 장치가, 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 ID, 이름, 종류 중 적어도 일부를 포함하는 제1 기본 정보 및 제2 기본 정보를 입력 받고, 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 URL, 데이터베이스, User Name, Password 중 적어도 일부를 포함하는 제1 DSN 정보 및 제2 DSN 정보를 입력 받음으로써, 상기 제1 기본 정보, 상기 제2 기본 정보, 상기 제1 DSN 정보 및 상기 제2 DSN 정보를 이용해 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 연결 정보를 설정하는 단계를 포함하고,
    상기 (a) 단계는,
    상기 설정된 연결 정보를 참조로 하여, 상기 연관 분석 결과 제공 장치가, (i) 상기 검색 조건 정보를 참조로 하여 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각에서 상기 제1 데이터 요소 및 상기 제2 데이터 요소를 획득하고, (ii) 상기 메인 결합 연산 정보를 참조로 하여 상기 제1 데이터 요소 및 상기 제2 데이터 요소에 상기 메인 결합 연산을 적용함으로써 상기 데이터 세트를 획득하되,
    상기 (a) 단계의 상기 (i)에서,
    상기 연관 분석 결과 제공 장치가, (i-1) 상기 각각의 연결 정보를 참조로 하여 상기 제1 데이터 소스 및 상기 제2 데이터 소스에 접속하고, (i-2) 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 유형에 대응되는 랭귀지를 사용하여 작성된 상기 제1 검색 조건 및 상기 제2 검색 조건에 따라 상기 제1 데이터 요소 및 상기 제2 데이터 요소를 획득한 후, (i-3) 상기 제1 데이터 요소 및 상기 제2 데이터 요소의 형식을 변환함으로써 제1 변환 데이터 요소 및 제2 변환 데이터 요소를 획득하여, 상기 (a) 단계의 상기 (ii)에서, 상기 메인 결합 연산 정보를 참조로 하여 상기 제1 변환 데이터 요소 및 상기 제2 변환 데이터 요소에 상기 메인 결합 연산을 적용함으로써 상기 데이터 세트를 획득하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서,
    상기 이기종 데이터 소스의 유형이, 적어도 Lucene 기반 검색 엔진 유형, RDB 유형, file 유형 중 적어도 두 가지 유형을 포함하는 것을 특징으로 하는 방법.
  3. 삭제
  4. 삭제
  5. 제 1항에 있어서,
    상기 (a) 단계의 상기 (i-2)에서,
    상기 연관 분석 결과 제공 장치가, (i-2-a) 상기 제1 검색 조건에 포함된 제1_1 검색 조건과 제1_2 검색 조건 각각에 해당하는 제1_1 데이터 요소 및 제1_2 데이터 요소를 상기 제1 데이터 소스에서 획득한 후, 상기 제1_1 데이터 요소와 상기 제1_2 데이터 요소 간 서브 결합 연산 - 상기 서브 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 을 적용하여 상기 제1 데이터 요소를 획득하거나, (i-2-b) 상기 제1_1 데이터 요소를 먼저 획득한 후, 상기 제1_1 데이터 요소를 상기 제1-2 검색 조건의 추가 검색 조건으로 사용함으로써 상기 서브 결합 연산 없이 상기 제1 데이터 요소를 획득하는 것을 특징으로 하는 방법.
  6. 제 1항에 있어서,
    상기 (a) 단계의 상기 (i-3)에서,
    상기 연관 분석 결과 제공 장치가, 형식이 서로 달라 상기 메인 결합 연산을 적용할 수 없는 상기 제1 데이터 요소 및 상기 제2 데이터 요소를 동일한 형식으로 변환시키는 방식으로 상기 제1 변환 데이터 요소 및 상기 제2 변환 데이터 요소를 각각 획득함으로써 상기 메인 결합 연산의 적용이 가능하도록 하는 것을 특징으로 하는 방법.
  7. 제 1항에 있어서,
    상기 연관 분석 결과 제공 장치가, (1) 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 유형이 Lucene 기반 검색 엔진 유형일 경우 Rest API를 통해 상기 제1 데이터 소스 또는 상기 제2 데이터 소스에 접속하고 LuceneQL을 사용하여 작성된 상기 제1 검색 조건 또는 상기 제2 검색 조건에 따라 상기 제1 데이터 요소 또는 상기 제2 데이터 요소를 획득하는 것을 특징으로 하고, (2) 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 유형이 RDB 유형일 경우 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 종류에 따라 JDBC 또는 ODBC를 통해 상기 제1 데이터 소스 또는 상기 제2 데이터 소스에 접속하고 SQL을 사용하여 작성된 상기 제1 검색 조건 또는 상기 제2 검색 조건에 따라 상기 제1 데이터 요소 또는 상기 제2 데이터 요소를 획득하는 것을 특징으로 하며, (3) 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 유형이 File 유형일 경우 파일 경로를 통해 상기 제1 데이터 소스 또는 상기 제2 데이터 소스에 접속하고 상기 제1 데이터 소스 또는 상기 제2 데이터 소스 전체를 상기 제1 데이터 요소 또는 상기 제2 데이터 요소로서 획득하는 것을 특징으로 하는 방법.
  8. 제 1항에 있어서,
    상기 연관 분석 결과 제공 장치가, 적어도 상기 (a) 단계의 상기 (ii) 이후에 적용되는 각 명령어를 파이프 구분자로 연결함으로써, 상기 파이프 구분자의 앞 명령어의 출력 값을 상기 파이프 구분자의 뒤 명령어의 입력 값으로 사용함으로써 상기 각 명령어를 순차적으로 실행하는 것을 특징으로 하는 방법.
  9. 제 1항에 있어서,
    상기 (b) 단계에서,
    상기 처리 연산은, 집계, 데이터 변환, 필터링, 정렬, 데이터 자르기 연산 및 외부 함수 기능을 호출 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 방법.
  10. 제 1항에 있어서,
    상기 (b) 단계에서,
    상기 출력 연산은, 화면 출력, 원격지 RDB 저장 및 파일 저장 중 적어도 일부를 포함하는 것을 특징으로 하는 방법.
  11. 이기종 데이터 소스에 해당되는 제1 데이터 소스 및 제2 데이터 소스 간 연관 분석의 결과를 제공하는 연관 분석 결과 제공 장치에 있어서,
    인스트럭션들을 저장하는 하나 이상의 메모리; 및
    상기 인스트럭션들을 수행하도록 설정된 하나 이상의 프로세서를 포함하되,
    상기 프로세서는, (I) 사용자의 질의 요청이 수신되면, (i) 상기 질의 요청에 포함된 검색 조건 정보를 참조로 하여 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각에서 상기 검색 조건 정보에 포함된 제1 검색 조건 및 제2 검색 조건 각각에 해당하는 제1 데이터 요소 및 제2 데이터 요소를 획득하고, (ii) 상기 질의 요청에 포함된 메인 결합 연산 정보를 참조로 하여 상기 제1 데이터 요소 및 상기 제2 데이터 요소에 상기 메인 결합 연산 정보에 포함된 메인 결합 연산 - 상기 메인 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 을 적용함으로써 데이터 세트를 획득하는 프로세스; 및 (II) 상기 데이터 세트에 상기 질의 요청에 포함된 소정의 처리 연산 및 상기 질의 요청에 포함된 소정의 출력 연산을 적용함으로써 상기 질의 요청에 대한 결과를 출력하는 프로세스;
    를 수행하되,
    상기 (I) 프로세스 이전에,
    (I0) 상기 프로세서가, 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 ID, 이름, 종류 중 적어도 일부를 포함하는 제1 기본 정보 및 제2 기본 정보를 입력 받고, 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 URL, 데이터베이스, User Name, Password 중 적어도 일부를 포함하는 제1 DSN 정보 및 제2 DSN 정보를 입력 받음으로써, 상기 제1 기본 정보, 상기 제2 기본 정보, 상기 제1 DSN 정보 및 상기 제2 DSN 정보를 이용해 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 연결 정보를 설정하는 프로세스를 수행하고,
    상기 (I) 프로세스는,
    상기 설정된 연결 정보를 참조로 하여, 상기 프로세서가, (i) 상기 검색 조건 정보를 참조로 하여 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각에서 상기 제1 데이터 요소 및 상기 제2 데이터 요소를 획득하고, (ii) 상기 메인 결합 연산 정보를 참조로 하여 상기 제1 데이터 요소 및 상기 제2 데이터 요소에 상기 메인 결합 연산을 적용함으로써 상기 데이터 세트를 획득하되,
    상기 (I) 프로세스의 상기 (i)에서,
    상기 프로세서가, (i-1) 상기 각각의 연결 정보를 참조로 하여 상기 제1 데이터 소스 및 상기 제2 데이터 소스에 접속하고, (i-2) 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각의 유형에 대응되는 랭귀지를 사용하여 작성된 상기 제1 검색 조건 및 상기 제2 검색 조건에 따라 상기 제1 데이터 요소 및 상기 제2 데이터 요소를 획득한 후, (i-3) 상기 제1 데이터 요소 및 상기 제2 데이터 요소의 형식을 변환함으로써 제1 변환 데이터 요소 및 제2 변환 데이터 요소를 획득하여, 상기 (I) 프로세스의 상기 (ii)에서, 상기 메인 결합 연산 정보를 참조로 하여 상기 제1 변환 데이터 요소 및 상기 제2 변환 데이터 요소에 상기 메인 결합 연산을 적용함으로써 상기 데이터 세트를 획득하는 것을 특징으로 하는 연관 분석 결과 제공 장치.
  12. 제 11항에 있어서,
    상기 이기종 데이터 소스의 유형이, 적어도 Lucene 기반 검색 엔진 유형, RDB 유형, file 유형 중 적어도 두 가지 유형을 포함하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치.
  13. 삭제
  14. 삭제
  15. 제 11항에 있어서,
    상기 (I) 프로세스의 상기 (i-2)에서,
    상기 프로세서가, (i-2-a) 상기 제1 검색 조건에 포함된 제1_1 검색 조건과 제1_2 검색 조건 각각에 해당하는 제1_1 데이터 요소 및 제1_2 데이터 요소를 상기 제1 데이터 소스에서 획득한 후, 상기 제1_1 데이터 요소와 상기 제1_2 데이터 요소 간 서브 결합 연산 - 상기 서브 결합 연산은 JOIN, UNION 연산 중 적어도 일부를 포함함 - 을 적용하여 상기 제1 데이터 요소를 획득하거나, (i-2-b) 상기 제1_1 데이터 요소를 먼저 획득한 후, 상기 제1_1 데이터 요소를 상기 제1-2 검색 조건의 추가 검색 조건으로 사용함으로써 상기 서브 결합 연산 없이 상기 제1 데이터 요소를 획득하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치.
  16. 제 11항에 있어서,
    상기 (I) 프로세스의 상기 (i-3)에서,
    상기 프로세서가, 형식이 서로 달라 상기 메인 결합 연산을 적용할 수 없는 상기 제1 데이터 요소 및 상기 제2 데이터 요소를 동일한 형식으로 변환시키는 방식으로 상기 제1 변환 데이터 요소 및 상기 제2 변환 데이터 요소를 각각 획득함으로써 상기 메인 결합 연산의 적용이 가능하도록 하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치.
  17. 제 11항에 있어서,
    상기 프로세서가, (1) 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 유형이 Lucene 기반 검색 엔진 유형일 경우 Rest API를 통해 상기 제1 데이터 소스 또는 상기 제2 데이터 소스에 접속하고 LuceneQL을 사용하여 작성된 상기 제1 검색 조건 또는 상기 제2 검색 조건에 따라 상기 제1 데이터 요소 또는 상기 제2 데이터 요소를 획득하는 것을 특징으로 하고, (2) 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 유형이 RDB 유형일 경우 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 종류에 따라 JDBC 또는 ODBC를 통해 상기 제1 데이터 소스 또는 상기 제2 데이터 소스에 접속하고 SQL을 사용하여 작성된 상기 제1 검색 조건 또는 상기 제2 검색 조건에 따라 상기 제1 데이터 요소 또는 상기 제2 데이터 요소를 획득하는 것을 특징으로 하며, (3) 상기 제1 데이터 소스 또는 상기 제2 데이터 소스의 유형이 File 유형일 경우 파일 경로를 통해 상기 제1 데이터 소스 또는 상기 제2 데이터 소스에 접속하고 상기 제1 데이터 소스 또는 상기 제2 데이터 소스 전체를 상기 제1 데이터 요소 또는 상기 제2 데이터 요소로서 획득하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치.
  18. 제 11항에 있어서,
    상기 프로세서가, 적어도 상기 (I) 프로세스의 상기 (ii) 이후에 적용되는 각 명령어를 파이프 구분자로 연결함으로써, 상기 파이프 구분자의 앞 명령어의 출력 값을 상기 파이프 구분자의 뒤 명령어의 입력 값으로 사용함으로써 상기 각 명령어를 순차적으로 실행하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치.
  19. 제 11항에 있어서,
    상기 (II) 프로세스에서,
    상기 처리 연산은, 집계, 데이터 변환, 필터링, 정렬, 데이터 자르기 연산 및 외부 함수 기능을 호출 연산 중 적어도 일부를 포함하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치.
  20. 제 11항에 있어서,
    상기 (II) 프로세스에서,
    상기 출력 연산은, 화면 출력, 원격지 RDB 저장 및 파일 저장 중 적어도 일부를 포함하는 것을 특징으로 하는 상기 연관 분석 결과 제공 장치.

KR1020200098449A 2020-08-06 2020-08-06 이기종 데이터 소스 간 연관 분석의 결과를 제공하는 방법 및 장치 KR102200010B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200098449A KR102200010B1 (ko) 2020-08-06 2020-08-06 이기종 데이터 소스 간 연관 분석의 결과를 제공하는 방법 및 장치
US17/018,780 US10970337B1 (en) 2020-08-06 2020-09-11 Method and device for outputting result of operations using data sources of different types

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200098449A KR102200010B1 (ko) 2020-08-06 2020-08-06 이기종 데이터 소스 간 연관 분석의 결과를 제공하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102200010B1 true KR102200010B1 (ko) 2021-01-08

Family

ID=74127663

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200098449A KR102200010B1 (ko) 2020-08-06 2020-08-06 이기종 데이터 소스 간 연관 분석의 결과를 제공하는 방법 및 장치

Country Status (2)

Country Link
US (1) US10970337B1 (ko)
KR (1) KR102200010B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11100111B1 (en) 2021-04-09 2021-08-24 Snowflake Inc. Real-time streaming data ingestion into database tables
US11461335B1 (en) * 2021-04-09 2022-10-04 Snowflake Inc. Optimized processing of data in different formats

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170083569A (ko) * 2014-11-14 2017-07-18 아브 이니티오 테크놀로지 엘엘시 통합형 연산을 포함하는 쿼리 처리

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623652A (en) * 1994-07-25 1997-04-22 Apple Computer, Inc. Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network
US7096229B2 (en) * 2002-05-23 2006-08-22 International Business Machines Corporation Dynamic content generation/regeneration for a database schema abstraction
US20120158765A1 (en) * 2010-12-15 2012-06-21 Microsoft Corporation User Interface for Interactive Query Reformulation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170083569A (ko) * 2014-11-14 2017-07-18 아브 이니티오 테크놀로지 엘엘시 통합형 연산을 포함하는 쿼리 처리

Also Published As

Publication number Publication date
US10970337B1 (en) 2021-04-06

Similar Documents

Publication Publication Date Title
US10726080B2 (en) Utilizing a dual mode search
CN107133267B (zh) 查询elasticsearch集群的方法、装置、电子设备和可读存储介质
CN107251024B (zh) 用于诊断执行问题的数据库查询执行跟踪和数据生成
CN106202207B (zh) 一种基于HBase-ORM的索引及检索系统
US9959310B2 (en) Accessing single entities in OData entity sets
US11334474B2 (en) Fast change impact analysis tool for large-scale software systems
KR102200010B1 (ko) 이기종 데이터 소스 간 연관 분석의 결과를 제공하는 방법 및 장치
CN113051268A (zh) 数据查询方法、数据查询装置、电子设备及存储介质
US10915535B2 (en) Optimizations for a behavior analysis engine
CN110704476A (zh) 数据处理方法、装置、设备及存储介质
WO2020024898A1 (zh) 用于搜索区块链数据的方法、装置及存储介质
US20160342652A1 (en) Database query cursor management
WO2023029854A1 (zh) 数据查询方法、装置、存储介质及电子设备
US11354313B2 (en) Transforming a user-defined table function to a derived table in a database management system
CN111949850A (zh) 多源数据的采集方法、装置、设备及存储介质
CN112860730A (zh) Sql语句的处理方法、装置、电子设备及可读存储介质
CN113918605A (zh) 数据查询方法、装置、设备以及计算机存储介质
CN114168616A (zh) 数据采集方法、装置、电子设备及存储介质
US10866960B2 (en) Dynamic execution of ETL jobs without metadata repository
KR101136457B1 (ko) 데이터베이스 관리 시스템에서 구조화 질의어(SQL)실행경로(Trace) 분석 방법 및 장치
WO2023231615A1 (zh) 一种基于数据湖的物化列创建方法以及数据查询方法
KR102202792B1 (ko) 클러스터 기반 처리 시스템을 이용해 동종 및 이기종 데이터 소스에 대해 멀티 캐싱을 수행하는 방법 및 장치
CN114996104A (zh) 一种数据处理方法和装置
CN114064729A (zh) 一种数据检索方法、装置、设备及存储介质
JP2001134597A (ja) 複数異種情報源アクセス方法及び装置及び複数異種情報源アクセスプログラムを格納した記憶媒体

Legal Events

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