KR20150062596A - 빅데이터 분산 시스템 및 방법 - Google Patents

빅데이터 분산 시스템 및 방법 Download PDF

Info

Publication number
KR20150062596A
KR20150062596A KR1020130147416A KR20130147416A KR20150062596A KR 20150062596 A KR20150062596 A KR 20150062596A KR 1020130147416 A KR1020130147416 A KR 1020130147416A KR 20130147416 A KR20130147416 A KR 20130147416A KR 20150062596 A KR20150062596 A KR 20150062596A
Authority
KR
South Korea
Prior art keywords
data
storage
job
analysis
task
Prior art date
Application number
KR1020130147416A
Other languages
English (en)
Other versions
KR101622810B1 (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 KR1020130147416A priority Critical patent/KR101622810B1/ko
Publication of KR20150062596A publication Critical patent/KR20150062596A/ko
Application granted granted Critical
Publication of KR101622810B1 publication Critical patent/KR101622810B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

작업 처리 속도를 향상시킬 수 있는 본 발명의 일 측면에 따른 빅데이터 분산 시스템은 데이터가 저장된 복수의 데이터 노드들; 적어도 하나의 데이터 노드와 연결되어 수집 데이터를 데이터 노드에 저장하는 복수의 작업 관리 시스템들; 및 수집 데이터에 대한 수집 작업이 요청되면, 상기 복수의 데이터 노드들 중에서 N개(N>1)를 선택하여 상기 수집 데이터를 저장할 제1 저장 데이터 노드로 결정하고, 상기 복수의 작업 관리 시스템들 중에서 상기 N개의 제1 저장 데이터 노드 각각과 연결된 작업 관리 시스템에 수집 작업을 분배하는 작업 분배 시스템을 포함한다.

Description

빅데이터 분산 시스템 및 방법{SYSTEM AND METHOD FOR DISTRIBUTING BIG DATA}
본 발명은 데이터 분산 시스템에 관한 것으로서, 보다 구체적으로 대량의 데이터를 효율적으로 수집 및 분석하는 빅데이터 분산 시스템 및 방법에 관한 것이다.
최근에는 소셜 서비스의 이용과 스마트 기기의 보유량이 늘어남에 따라 데이터가 기하급수적으로 증가하고 있다. 이에 따라, 대량의 데이터를 수집 및 분석하여 의미있는 데이터를 추출하고, 결과를 분석하는 빅데이터 기술에 대한 관심이 증대되고 있다.
도 1은 종래의 빅데이터 시스템을 보여주는 도면이다.
도 1을 참조하면, 종래의 빅데이터 시스템(100)은 수집 시스템(110), 분석 시스템(120), 작업 관리 시스템(130), 및 복수의 저장 시스템들(140)을 포함한다.
이러한 종래의 빅데이터 시스템(100)은 크게 저장 시스템(140)에 데이터를 저장하는 수집 작업, 및 저장 시스템(140)에 저장된 데이터를 분석하는 분석 작업을 수행한다.
먼저, 수집 작업은 수집 시스템(110), 작업 관리 시스템(130), 및 저장 시스템(140)을 통해 이루어진다.
보다 구체적으로, 수집 시스템(110)은 데이터를 수집하고, 수집한 데이터를 작업 관리 시스템(130)에 전송한다.
작업 관리 시스템(130)은 수집 시스템(110)으로부터 수집 데이터가 수신되면, 복수의 저장 시스템들(140) 중 하나를 선택하고, 선택된 저장 시스템(140)에 수집 데이터를 저장한다.
한편, 분석 작업은 분석 시스템(120), 작업 관리 시스템(130), 및 저장 시스템(140)을 통해 이루어진다.
보다 구체적으로, 분석 시스템(120)은 분석이 필요한 분석 데이터를 작업 관리 시스템(130)에 요청하고, 작업 관리 시스템(130)으로부터 요청한 분석 데이터를 수신하면, 수신한 분석 데이터를 분석한다. 그리고, 분석 시스템(120)은 분석 결과 데이터를 작업 관리 시스템(130)에 전송한다.
작업 관리 시스템(130)은 분석 시스템(120)으로부터 분석 데이터 요청이 수신되면, 상기 분석 데이터가 저장된 저장 시스템(140)에 데이터를 요청한다. 그리고, 작업 관리 시스템(130)은 저장 시스템(140)으로부터 분석 데이터를 수신하면, 수신한 분석 데이터를 분석 시스템(120)에 전송한다.
또한, 작업 관리 시스템(130)은 분석 시스템(120)으로부터 분석 결과 데이터를 수신하면, 복수의 저장 시스템들(140) 중 하나를 선택하고, 선택된 저장 시스템(140)에 분석 데이터를 저장한다.
종래의 빅데이터 분산 시스템(100)은 상술한 바와 같이 하나의 작업 관리 시스템(130)에서 수집 작업과 분석 작업을 모두 수행한다. 이로 인하여, 종래의 빅데이터 분산 시스템(100)은 데이터양과 비례하여 작업 관리 시스템(130)에 부하가 증가하고, 작업 처리 속도가 떨어진다는 문제점이 있다.
또한, 종래의 빅데이터 분산 시스템(100)은 데이터 크기와 상관없이 복수의 저장 시스템들(140)의 최소 저장단위를 모두 동일하게 설정하고 있기 때문에 저장공간이 낭비된다는 다른 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 작업 관리 시스템의 작업 처리 속도를 향상시킬 수 있는 빅데이터 분산 시스템 및 방법을 제공하는 것을 기술적 과제로 한다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 저장 시스템을 효율적으로 사용할 수 있는 빅데이터 분산 시스템 및 방법을 제공하는 것을 다른 기술적 과제로 한다.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 빅데이터 분산 시스템은 데이터가 저장된 복수의 데이터 노드들; 적어도 하나의 데이터 노드와 연결되어 수집 데이터를 데이터 노드에 저장하는 복수의 작업 관리 시스템들; 및 수집 데이터에 대한 수집 작업이 요청되면, 상기 복수의 데이터 노드들 중에서 N개를 선택하여 상기 수집 데이터를 저장할 제1 저장 노드로 결정하고, 상기 복수의 작업 관리 시스템들 중에서 상기 N개의 제1 저장 노드 각각과 연결된 적어도 하나의 작업 관리 시스템에 수집 작업을 분배하는 작업 분배 시스템을 포함한다.
상술한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 빅데이터 분산 방법은 수집 데이터의 수집 작업 요청을 수신하는 단계; 상기 수집 데이터의 데이터 유형 및 크기 중 적어도 하나를 기초로 복수의 데이터 노드들 중 N개를 선택하고, 상기 선택된 N개의 데이터 노드를 상기 수집 데이터를 저장할 제1 저장 노드로 결정하는 단계; 및 상기 N개의 제1 저장 노드 각각과 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 수집 작업을 분배하는 단계를 포함한다.
상술한 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 빅데이터 분산방법은 분석 시스템으로부터 분석 데이터 요청 및 분석 작업 요청을 수신하는 단계; 복수의 데이터 노드들 중 상기 분석 데이터가 저장된 적어도 하나의 저장 노드를 검색하고, 상기 검색된 적어도 하나의 저장 노드와 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 분석 작업을 분배하는 단계; 및 상기 적어도 하나의 작업 관리 시스템으로부터 분석 데이터가 수신되면, 상기 수신된 분석 데이터를 취합하여 상기 분석 시스템에 송신하는 단계를 포함한다.
상술한 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 빅데이터 분산방법은 분석 데이터 요청 및 분석 작업 요청을 수신하는 단계; 복수의 데이터 노드들 중 상기 분석 데이터가 저장된 M개의 제2 저장 노드를 검색하고, 상기 검색된 M개의 제2 저장 노드와 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 분석 작업을 분배하는 단계; 및 상기 적어도 하나의 작업 관리 시스템으로부터 분석 데이터가 수신되면, 상기 수신된 분석 데이터를 취합하여 상기 분석 시스템에 송신하는 단계를 포함한다.
본 발명에 따르면, 수집 작업 및 분석 작업을 복수의 작업 관리 시스템들에 분배함으로써, 하나의 작업 관리 시스템에 작업이 집중되는 것을 방지하고, 복수의 작업들을 병렬로 처리하여 작업 처리 속도를 향상시킬 수 있다는 효과가 있다.
또한, 본 발명에 따르면, 적어도 하나의 저장 시스템과 연결된 작업 관리 시스템을 복수개 구성함으로써, 데이터양이 증가함에 따른 시스템 확장이 용이하다는 다른 효과가 있다.
또한, 본 발명에 따르면, 데이터 유형에 따라 데이터를 저장하는 개수를 결정함으로써, 데이터가 불필요하게 많은 저장공간을 차지하는 것을 방지할 수 있다는 또 다른 효과가 있다.
또한, 본 발명에 따르면, 데이터 크기에 따라 저장단위를 결정함으로써, 저장공간 내의 빈 공간을 최소화하여 효율성을 향상시킬 수 있다는 또 다른 효과가 있다.
도 1은 종래의 빅데이터 시스템을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 빅데이터 분산 시스템을 개략적으로 보여주는 도면이다.
도 3은 도 2의 작업 분배 시스템을 설명하기 위한 블록도이다.
도 4는 도 3의 수집작업 관리부를 설명하기 위한 블록도이다.
도 5는 적어도 하나의 작업 관리 시스템에 수집 작업을 분배하는 예를 설명하기 위한 도면이다.
도 6은 도 3의 분석작업 관리부를 설명하기 위한 블록도이다.
도 7은 적어도 하나의 작업 관리 시스템에 분석 작업을 분배하는 예를 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 빅데이터 분산 방법을 보여주는 흐름도이다.
도 9는 수집 데이터를 저장할 저장 노드를 결정하는 방법의 일 실시예를 보여주는 흐름도이다.
도 10은 수집 데이터를 저장할 저장 노드를 결정하는 방법의 다른 일 실시예를 보여주는 흐름도이다.
이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 빅데이터 분산 시스템을 개략적으로 보여주는 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 빅데이터 분산 시스템(200)은 수집 시스템(210), 분석 시스템(220), 작업 관리 시스템(230), 저장 시스템(240) 및 작업 분배 시스템(250)을 포함한다.
이러한 빅데이터 분산 시스템(200)은 수집 작업 및 분석 작업을 수행한다. 수집 작업은 데이터를 수집하고, 저장하는 일련의 작업을 의미하며, 수집 시스템(210), 작업 분배 시스템(250), 작업 관리 시스템(230), 및 저장 시스템(240)을 통해 수행된다.
한편, 분석 작업은 저장된 데이터를 분석하고, 분석 결과를 저장하는 일련의 작업을 의미하며, 분석 시스템(220), 작업 분배 시스템(250), 작업 관리 시스템(230), 및 저장 시스템(240)을 통해 수행된다.
이하에서는 수집 작업 또는 분석 작업을 수행하는 구성요소들에 대하여 구체적으로 설명하도록 한다.
먼저, 수집 시스템(210)은 데이터를 수집한다. 이때, 수집되는 데이터는 정형 데이터, 반정형 데이터 및 비정형 데이터를 포함한다.
정형 데이터는 고정된 필드에 저장된 데이터를 나타내는 것으로서, 관계형 데이터베이스, 스프레드쉬트 등이 있다. 비정형 데이터는 고정된 필드에 저장되어 있지 않는 데이터를 나타내는 것으로서, 텍스트 문서, 이미지, 동영상, 음성 데이터 등이 있다. 반정형 데이터는 고정된 필드에 저장되어 있지 않지만 메타데이터나 스키마를 포함하는 데이터를 나타내는 것으로서, XML, HTML, 텍스트 등이 있다.
이러한 수집 시스템(210)은 다양한 수집원(미도시)으로부터 수집된 수집 데이터를 작업 분배 시스템(250)에 전송하면서 작업을 요청한다.
다음, 분석 시스템(220)은 데이터를 분석한다. 분석 시스템(220)은 저장 시스템(240)에 저장된 데이터를 읽어와서 데이터 분석을 수행한다. 이를 위하여, 분석 시스템(220)은 작업 분배 시스템(250)에 분석하고자 하는 분석 데이터 및 작업을 요청한다.
다음, 작업 관리 시스템(230)은 수집 작업 또는 분석 작업을 수행한다. 보다 구체적으로 설명하면, 작업 관리 시스템(230)은 작업 분배 시스템(250)에 의하여 수집 작업을 할당 받으면, 수집 시스템(210)에 의하여 수집된 데이터를 저장 시스템(240)에 저장한다.
반면, 작업 관리 시스템(230)은 작업 분배 시스템(250)에 의하여 분석 작업을 할당 받으면, 분석 시스템(220)이 요청한 분석 데이터를 저장 시스템(240)에 요청한다. 그리고, 작업 관리 시스템(230)은 저장 시스템(240)으로부터 분석 데이터를 수신하면, 수신한 분석 데이터를 작업 분배 시스템(250)에 전송한다.
이러한 작업 관리 시스템(230)은, 도 2에 도시된 바와 같이, 복수 개로 구성되고, 각 작업 관리 시스템(230)은 적어도 하나의 저장 시스템(240)과 연결된다. 이때, 복수의 작업 관리 시스템들(230)은 하나 이상의 저장 시스템(240)을 공유할 수 있다.
예컨대, 제1 작업 관리 시스템(231)은 제1 내지 제3 저장 시스템들(241, 242, 243)과 연결될 수 있다. 또한, 제2 작업 관리 시스템(232)은 제2 내지 제4 저장 시스템들(242, 243, 244)과 연결될 수 있다. 이에 따라, 제1 및 제2 작업 관리 시스템(231, 232)는 제2 및 제3 저장 시스템들(242, 243)을 공유하게 된다.
한편, 일 실시예에 있어서, 작업 관리 시스템(230)은 수집 작업 및 분석 작업을 모두 수행할 수 있지만, 다른 일 실시예에 있어서는 수집 작업을 수행하는 수집 작업 관리 시스템, 및 분석 작업을 수행하는 분석 작업 관리 시스템을 포함할 수도 있다. 이하에서는 설명의 편의를 위하여 하나의 작업 관리 시스템(230)에서 수집 작업 및 분석 작업을 모두 수행할 수 있다고 가정한다.
다음, 저장 시스템(240)은 데이터가 저장된 복수의 데이터 노드들을 포함한다. 이때, 데이터 노드는 물리적으로 데이터를 저장하는 복수의 스토로지들, 및 상기 복수의 스토로지들을 관리하는 서버로 구성된다.
이하에서는 데이터 노드와 저장 데이터 노드를 혼용하고 있다. 이때, 저장 데이터 노드는 수집 데이터를 저장할 데이터 노드 또는 분석 데이터가 저장된 데이터 노드를 의미한다.
다음, 작업 분배 시스템(250)은 복수의 작업 관리 시스템들(230) 중 적어도 하나를 선택하여 작업을 분배한다. 여기서, 작업은 수집 시스템(210)에 의하여 요청되는 수집 작업, 및 분석 시스템(220)에 의하여 요청되는 분석 작업을 포함한다.
이하에서는 도 3 내지 도 7을 참조하여 작업 분배 시스템(250)에 대하여 보다 구체적으로 설명하도록 한다.
도 3은 도 2의 작업 분배 시스템을 설명하기 위한 블록도이다.
도 3을 참조하면, 작업 분배 시스템(250)은 작업 유형 판단부(310), 수집작업 관리부(320), 저장위치 데이터베이스(330), 및 분석작업 관리부(340)를 포함하고, 일 실시예에 있어서, 모니터링부(350)를 더 포함할 수 있다.
먼저, 저장위치 데이터베이스(330)는 저장 시스템(240)에 저장된 데이터들의 위치 정보를 포함한다. 이때, 위치 정보는 저장 시스템 식별정보, 데이터 노드 식별정보, 스토로지 식별정보, 및 스토로지 위치정보 중 적어도 하나를 포함한다.
다음, 작업 유형 판단부(310)는 작업 유형을 판단한다. 이때, 작업 유형은 수집 작업 및 분석 작업으로 구분된다.
보다 구체적으로 설명하면, 작업 유형 판단부(310)는 수집 시스템(210)으로부터 수집 데이터와 함께 작업 요청이 수신되면, 해당 작업을 수집 작업으로 판단하고, 상기 수집 데이터를 수집작업 관리부(320)로 전달한다.
반면, 작업 유형 판단부(310)는 분석 시스템(220)으로부터 분석 데이터 요청 및 작업 요청이 수신되면, 해당 작업을 분석 작업으로 판단하고, 분석작업 관리부(320)에 분석 데이터를 요청한다.
다음, 수집작업 관리부(320)는 수집 데이터에 대한 저장개수 및 저장위치를 결정한다. 그리고, 수집작업 관리부(320)는 상기 결정된 저장개수 및 저장위치를 기초로 적어도 하나의 작업 관리 시스템(230)을 선택하고, 선택된 적어도 하나의 작업 관리 시스템(230)에 수집 작업을 분배한다.
이하에서는 도 4를 참조하여 수집작업 관리부(320)에 대하여 보다 구체적으로 설명하도록 한다.
도 4는 도 3의 수집작업 관리부를 설명하기 위한 블록도이다.
도 4를 참조하면, 수집작업 관리부(320)는 데이터 유형 설정부(410), 데이터 유형 판단부(420), 저장개수 설정부(430), 저장개수 결정부(440), 데이터 크기 판단부(450), 저장단위 설정부(460), 저장위치 결정부(470), 및 수집작업 분배부(480)를 포함한다.
먼저, 데이터 유형 설정부(410)는 데이터 유형을 설정한다. 데이터 유형은 데이터의 형태, 중요도, 및 활용도 중 적어도 하나를 이용하여 구분된다. 예컨대, 데이터 유형은 아래 [표 1]과 같은 데이터 유형 테이블을 이용하여 설정될 수 있다.
데이터의 형태 데이터의 중요도 데이터의 활용도
정형(100) 상(10) 상(1)
반정형(200) 중(20) 중(2)
비정형(300) 하(30) 하(3)
표 1을 참조하면, 데이터 유형 설정부(410)는 데이터의 형태를 정형, 반정형, 및 비정형으로 구분하고, 각각에 대하여 100, 200, 300을 설정할 수 있다. 또한, 데이터의 중요도를 상, 중, 하로 구분하고, 각각에 대하여 10, 20, 30을 설정할 수 있다. 그리고, 데이터의 활용도를 상, 중, 하로 구분하고, 각각에 대하여 1, 2, 3을 설정할 수 있다.
한편, 데이터 유형 설정부(410)는 설정값들의 합을 데이터 유형으로 설정할 수 있다. 예컨대, 데이터의 형태가 정형이고, 중요도가 상이며, 활용도가 상인 데이터는 데이터 유형이 111이 된다.
다음, 데이터 유형 판단부(420)는 수집 데이터에 대한 데이터 유형을 판단한다. 보다 구체적으로, 데이터 유형 판단부(420)는 수집 데이터에 대한 형태, 중요도, 및 활용도를 판단하고, 데이터 유형 테이블에서 각 요소에 대한 설정값을 확인한다. 그런 다음, 데이터 유형 판단부(420)는 상기 확인된 설정값들을 합산한 값을 데이터 유형으로 판단한다.
다음, 저장개수 설정부(430)는 데이터 유형에 따른 저장개수를 설정한다. 여기서, 저장개수는 해당 데이터를 저장할 데이터 노드의 개수를 의미하는 것으로서, 동일 데이터가 저장 시스템(240)에 저장되는 개수를 나타낸다.
예컨대, 저장개수는 아래 [표 2]와 같이 설정될 수 있다.
데이터 유형 저장개수(데이터 노드 개수)
111,112,121,122,211,221,311,321 5
113,123,212,213,222,223,312,313,322 4
131,132,133,231,232,233,323,331,332,333 3
표 2를 참조하면, 저장개수 설정부(430)는 데이터 유형이 111, 211, 311과 같이 중요도 및 활용도가 상인 데이터에 대하여 저장개수를 5로 설정할 수 있다. 한편, 저장개수 설정부(430)는 133, 233, 333과 같이 중요도 및 활용도가 하인 데이터에 대하여 저장개수를 3으로 설정할 수 있다.
이에 따라, 중요도 및 활용도가 높은 데이터는 상대적으로 많은 데이터 노드에 저장되고, 중요도 및 활용도가 낮은 데이터는 상대적으로 적은 데이터 노드에 저장됨으로써 저장공간을 효율적으로 사용할 수 있다.
다음, 저장개수 결정부(440)는 수집 데이터의 저장개수를 결정한다. 보다 구체적으로, 저장개수 결정부(440)는 수집 데이터에 대한 데이터 유형이 판단되면, 판단된 데이터 유형을 기초로 저장개수를 결정한다.
다음, 데이터 크기 판단부(450)는 수집 데이터의 크기를 판단한다.
다음, 저장단위 설정부(460)는 데이터의 크기에 따른 최소 저장단위를 설정한다. 여기서, 최소 저장단위는 저장공간의 고정된 블록 단위를 의미하는 것으로서, 데이터 노드의 저장단위를 나타낸다.
예컨대, 최소 저장단위는 아래 [표 3]과 같이 설정될 수 있다.
데이터 크기 데이터 노드 그룹 최소 저장단위 노드 번호
0MB≤X<10MB A 1MB 1, 2, 3, 4,...
10MB≤X<50MB B 10MB 11, 12, 13,...
50MB≤X<100MB C 50MB 21, 22, 23,...
100MB≤X<500MB D 100MB 31, 32, 33,...
500MB≤X E 500MB 41, 42, 43,...
표 3을 참조하면, 최소 저장단위는 데이터 크기에 따라 5개로 분류될 수 있다. 데이터 크기가 0MB 보다 크고 10MB 보다 작으면, 최소 저장단위를 1MB로 설정하고, 데이터 크기가 500MB 보다 크거나 같으면, 최소 저장단위를 500MB로 설정한다.
한편, 상기 데이터 노드 그룹은 최소 저장단위가 동일한 복수의 데이터 노드들을 포함할 수 있다. 예컨대, 데이터 노드 그룹 A는 최소 저장단위가 1MB인 복수의 데이터 노드들(1, 2, 3,...)을 포함할 수 있다.
다음, 저장위치 결정부(470)는 데이터 크기 판단부(450)에 의하여 판단된 수집 데이터의 크기, 및 저장개수 결정부(440)에 의하여 결정된 수집 데이터의 저장개수를 기초로 저장위치를 결정한다. 이때, 저장위치는 수집 데이터가 저장되는 위치를 의미하는 것으로서, 특정 데이터 노드를 나타낸다.
보다 구체적으로, 저장위치 결정부(470)는 수집 데이터의 크기를 기초로 데이터 노드 그룹을 결정한다. 그런 다음, 저장위치 결정부(470)는 상기 결정된 데이터 노드 그룹에 포함된 복수의 데이터 노드들 중 적어도 하나를 선택하고, 상기 선택된 적어도 하나의 데이터 노드를 저장 데이터 노드로 결정한다.
이때, 저장위치 결정부(470)는 수집 데이터의 저장개수를 기초로 적어도 하나의 데이터 노드를 선택할 수 있다.
일 실시예에 있어서, 저장위치 결정부(470)는 데이터 노드 그룹에 포함된 복수의 데이터 노드들 중 저장개수만큼을 선택할 수 있다. 예를 들어 설명하면, 저장개수 결정부(440)가 데이터 크기가 25MB인 수집 데이터에 대한 저장개수를 3개로 결정하였다고 가정한다. 이때, 저장위치 결정부(470)는 데이터 노드 그룹 B에 포함된 복수의 데이터 노드들 중 3개를 선택할 수 있다.
다른 일 실시예에 있어서, 저장위치 결정부(470)는 데이터 노드의 여유공간 및 저장개수를 기초로 적어도 하나의 데이터 노드를 선택할 수 있다.
보다 구체적으로 설명하면, 저장위치 결정부(470)는 데이터 노드 그룹에 포함된 복수의 데이터 노드들 각각에 대한 여유공간을 확인한다. 그런 다음, 저장위치 결정부(470)는 여유공간이 수집 데이터의 크기 보다 큰 여유 노드를 추출하고, 상기 추출된 여유 노드의 개수와 저장개수를 비교한다.
이때, 여유 노드의 개수가 저장 개수 보다 크거나 같으면, 저장위치 결정부(470)는 여유 노드들 중 저장개수만큼의 데이터 노드를 선택할 수 있다. 반면, 여유 노드의 개수가 저장개수 보다 작으면, 저장위치 결정부(470)는 모든 여유 노드를 선택할 수 있다.
한편, 저장위치 결정부(470)는 데이터 노드의 여유공간을 기초로 복수의 데이터 노드들 중 적어도 하나를 선택할 수 있다. 일 실시예에 있어서, 저장위치 결정부(470)는 여유공간이 큰 순서대로 적어도 하나의 데이터 노드를 선택할 수 있다.
한편, 저장위치 결정부(470)는 수집 데이터를 저장할 저장 데이터 노드가 결정되면 저장 데이터 노드 정보를 저장위치 데이터베이스(330)에 저장한다. 이때, 저장 데이터 노드 정보는 저장 시스템 식별정보, 데이터 노드 식별정보, 스토로지 식별정보 및 스토로지 위치정보를 포함할 수 있다.
다음, 수집작업 분배부(480)는 수집 데이터를 복제하여 저장개수-1 만큼의 수집 데이터들을 생성하고, 수집 데이터들 각각에 대한 수집 작업을 적어도 하나의 작업 관리 시스템(230)에 분배한다.
보다 구체적으로 설명하면, 수집작업 분배부(480)는 수집 데이터를 복제하여 저장개수-1 만큼의 수집 데이터들을 생성한다.
또한, 수집작업 분배부(480)는 저장위치 결정부(470)에 의하여 결정된 저장 데이터 노드와 연결된 작업 관리 시스템(230)을 확인한다. 그리고, 수집작업 분배부(480)는 수집 데이터 및 저장 데이터 노드 정보와 함께 수집작업 요청을 상기 확인된 작업 관리 시스템(230)에 송신한다.
이때, 특정 데이터 노드와 연결된 작업 관리 시스템(230)이 복수 개이면, 수집작업 분배부(480)는 복수의 작업 관리 시스템들(230) 중 하나를 선택하여 수집 작업을 분배한다.
한편, 수집작업 분배부(480)는 작업 관리 시스템(230)에 대한 상태 정보를 기초로 복수의 작업 관리 시스템들(230) 중 하나를 선택할 수 있다. 이때, 상태 정보는 처리 중이거나 대기중인 수집작업 수, 처리 중이거나 대기 중인 분석작업 수, CPU 사용률, 메모리 사용률, 및 작업 완료 예상시간 중 적어도 하나를 포함할 수 있다.
일 실시예에 있어서, 수집작업 분배부(480)는 CPU 사용률 및 메모리 사용률이 가장 낮은 작업 관리 시스템(230)에 수집 작업을 분배할 수 있다.
다른 일 실시예에 있어서, 수집작업 분배부(480)는 수집작업 수 및 분석작업 수의 합이 가장 작은 작업 관리 시스템(230)에 수집 작업을 분배할 수 있다.
또 다른 일 실시예에 있어서, 수집작업 분배부(480)는 작업 완료 예상시간이 가장 빠른 작업 관리 시스템(230)에 수집 작업을 분배할 수 있다.
이하에서는 도 5를 참조하여 수집작업 관리부(320)에서 적어도 하나의 작업 관리 시스템230)에 수집 작업을 분배하는 예를 설명하도록 한다.
도 5는 적어도 하나의 작업 관리 시스템에 수집 작업을 분배하는 예를 설명하기 위한 도면이다.
먼저, 수집 시스템(210)이 데이터(510)를 수집하고, 수집한 데이터(510)를 작업 분배 시스템(250)에 송신하면서 작업을 요청한다.
다음, 작업 분배 시스템(250)은 수집 시스템(210)으로부터 요청된 작업을 수집 작업으로 판단하고, 수집 데이터(510)에 대한 저장개수를 결정한다. 또한, 작업 분배 시스템(250)은 상기 저장개수 및 수집 데이터(510)의 크기를 기초로 복수의 데이터 노드들 중 적어도 하나를 선택하여 저장위치를 결정한다.
예를 들어 설명하면, 데이터 유형 테이블이 표 1과 같고, 최소 저장단위가 표 2와 같이 설정되었다고 가정한다.
수집 데이터(510)의 형태가 정형이고, 중요도가 상이며, 활용도가 하라고 판단되면, 작업 분배 시스템(250)은 수집 데이터(510)의 저장개수를 4로 결정할 수 있다. 그리고, 수집 데이터(510)의 크기가 15MB이면, 작업 분배 시스템(250)은 데이터 노드 그룹 B에 포함된 데이터 노드들 중 4개를 선택하고, 선택된 데이터 노드들을 저장 데이터 노드(521, 522, 523, 524)로 결정할 수 있다.
다음, 작업 분배 시스템(250)은 수집 데이터(510)를 복제한 3개의 복제 데이터(511, 512, 513)를 생성한다. 그리고, 수집 데이터(510) 및 복제 데이터(511, 512, 513) 각각에 대한 수집 작업을 적어도 하나의 작업 관리 시스템(250)에 분배한다.
이때, 작업 분배 시스템(250)은 각 저장 데이터 노드와 연결된 작업 관리 시스템(250)을 확인하고, 확인된 작업 관리 시스템(250)에 해당 저장 데이터 노드에 대한 수집 작업을 분배할 수 있다.
도 5에 도시된 바에 따르면, 작업 분배 시스템(250)은 제1 저장 데이터 노드(521)가 제1 작업 관리 시스템(231)과 연결되어 있음을 확인하고, 수집 데이터(510) 및 제1 저장 데이터 노드 정보와 함께 수집작업 요청을 제1 작업 관리 시스템(231)에 송신할 수 있다.
한편, 작업 분배 시스템(250)은 제2 저장 데이터 노드(522)가 제1 및 제2 작업 관리 시스템들(231, 232)과 연결되어 있음을 확인하고, 제1 및 제2 작업 관리 시스템들(231, 232) 중 하나를 선택할 수 있다. 이때, 작업 분배 시스템(250)은 작업 관리 시스템의 상태 정보를 기초로 선택할 수 있다.
제1 작업 관리 시스템(231)은 유휴상태이고, 제2 작업 관리 시스템(232)은 동작 중이라면, 작업 분배 시스템(250)은 제1 복제 데이터(511) 및 제2 저장 데이터 노드 정보와 함께 수집작업 요청을 제1 작업 관리 시스템(231)에 송신할 수 있다.
작업 분배 시스템(250)은 제3 및 제4 저장 데이터 노드(523, 524) 각각에 대해서도 상술한 바와 같이 작업 관리 시스템(230)을 선택하여 수집 작업을 분배 및 요청할 수 있다.
한편, 작업 관리 시스템(230)은 수집 작업이 요청되면, 수신한 데이터를 저장 데이터 노드에 저장한다.
다시, 도 3을 참조하면, 분석작업 관리부(340)는 저장위치 데이터베이스(330)에서 분석 데이터가 저장된 저장 데이터 노드를 검색하고, 상기 검색된 저장 데이터 노드와 연결된 적어도 하나의 작업 관리 시스템(230)에 분석 작업을 분배한다.
이하에서는 도 6을 참조하여 분석작업 관리부(340)에 대하여 구체적으로 설명하도록 한다.
도 6은 도 3의 분석작업 관리부를 설명하기 위한 블록도이다.
도 6을 참조하면, 분석작업 관리부(340)는 저장 데이터 노드 검색부(610), 분석작업 분배부(620) 및 분석 데이터 취합부(630)를 포함한다.
먼저, 저장 데이터 노드 검색부(610)는 분석 데이터가 저장된 저장 데이터 노드를 저장위치 데이터베이스(330)에서 검색한다. 검색된 저장 데이터 노드가 복수개이면, 저장 데이터 노드 검색부(610)는 복수의 저장 데이터 노드들 중 하나를 선택한다.
다음, 분석작업 분배부(620)는 저장 데이터 노드와 연결된 작업 관리 시스템(230)을 확인하고, 확인된 작업 관리 시스템(230)에 저장 데이터 노드 정보 및 분석 데이터 정보와 함께 분석작업 요청을 송신한다.
이때, 저장 데이터 노드와 연결된 작업 관리 시스템(230)이 복수 개이면, 분석작업 분배부(620)는 복수의 작업 관리 시스템들(230) 중 하나를 선택하여 분석 작업을 분배한다.
한편, 분석작업 분배부(620)는 작업 관리 시스템(230)에 대한 상태 정보를 기초로 복수의 작업 관리 시스템들(230) 중 하나를 선택할 수 있다. 이때, 상태 정보는 처리 중이거나 대기중인 수집작업 수, 처리 중이거나 대기 중인 분석작업 수, CPU 사용률, 메모리 사용률, 및 작업 완료 예상시간 중 적어도 하나를 포함할 수 있다.
일 실시예에 있어서, 분석작업 분배부(620)는 CPU 사용률 및 메모리 사용률이 가장 낮은 작업 관리 시스템(230)에 분석 작업을 분배할 수 있다.
다른 일 실시예에 있어서, 분석작업 분배부(620)는 수집작업 수 및 분석작업 수의 합이 가장 작은 작업 관리 시스템(230)에 분석 작업을 분배할 수 있다.
또 다른 일 실시예에 있어서, 분석작업 분배부(620)는 작업 완료 예상시간이 가장 빠른 작업 관리 시스템(230)에 분석 작업을 분배할 수 있다.
다음, 분석 데이터 취합부(630)는 적어도 하나의 작업 관리 시스템(230)으로부터 데이터를 수신하고, 수신된 데이터들을 취합하여 분석 시스템(220)에 송신한다.
이하에서는 도 7을 참조하여 분석작업 관리부(340)에서 적어도 하나의 작업 관리 시스템230)에 분석 작업을 분배하는 예를 설명하도록 한다.
도 7은 적어도 하나의 작업 관리 시스템에 분석 작업을 분배하는 예를 설명하기 위한 도면이다.
먼저, 분석 시스템(220)은 분석하고자 하는 분석 데이터를 작업 분배 시스템(250)에 요청한다.
작업 분배 시스템(250)은 분석 시스템(220)으로부터 요청된 작업을 분석 작업으로 판단하고, 요청된 분석 데이터가 저장된 저장 데이터 노드를 검색한다.
검색 결과, 도 7에 도시된 바와 같이, 제1 내지 제4 저장 데이터 노드(521, 522, 523, 524)가 검색되면, 작업 분배 시스템(250)은 각 저장 데이터 노드와 연결된 작업 관리 시스템(250)을 확인한다. 그리고, 작업 분배 시스템(250)은 상기 확인된 작업 관리 시스템(250)에 해당 저장 데이터 노드에 대한 분석 작업을 분배할 수 있다.
작업 분배 시스템(250)은 제1 저장 데이터 노드(521)가 제1 작업 관리 시스템(231)과 연결되어 있음을 확인하고, 제1 저장 데이터 노드 정보와 함께 분석작업 요청을 제1 작업 관리 시스템(231)에 송신할 수 있다.
한편, 작업 분배 시스템(250)은 제2 저장 데이터 노드(522)가 제1 및 제2 작업 관리 시스템들(231, 232)과 연결되어 있음을 확인하고, 제1 및 제2 작업 관리 시스템들(231, 232) 중 하나를 선택할 수 있다. 이때, 작업 분배 시스템(250)은 작업 관리 시스템의 상태 정보를 기초로 선택할 수 있다.
제1 작업 관리 시스템(231)은 유휴상태이고, 제2 작업 관리 시스템(232)은 동작 중이라면, 작업 분배 시스템(250)은 제2 저장 데이터 노드 정보와 함께 분석작업 요청을 제1 작업 관리 시스템(231)에 송신할 수 있다.
작업 분배 시스템(250)은 제3 및 제4 저장 데이터 노드(523, 524) 각각에 대해서도 상술한 바와 같이 작업 관리 시스템(230)을 선택하여 분석 작업을 분배 및 요청할 수 있다.
다음, 작업 관리 시스템(230)은 분석 작업이 요청되면, 저장 시스템(240)에 분석 데이터를 요청한다. 그리고, 저장 시스템(240)으로부터 요청한 데이터가 수신되면, 수신한 데이터를 작업 분배 시스템(250)에 전달한다.
이때, 제1 작업 관리 시스템(231)과 같이 수신된 데이터가 복수 개이면, 작업 관리 시스템(230)은 복수의 데이터들을 1차 취합하여 작업 분배 시스템(250)에 전달한다.
다음, 작업 관리 시스템(230)은 복수의 작업 관리 시스템들(230)로부터 수신된 데이터들을 2차 취합하여 분석 시스템(220)에 전달한다.
다시 도 3을 참조하면, 모니터링부(350)는 복수의 작업 관리 시스템들(230)을 모니터링하고, 각 작업 관리 시스템(230)에 대한 상태정보를 생성한다. 이때, 상태 정보는 처리 중이거나 대기중인 수집작업 수, 처리 중이거나 대기 중인 분석작업 수, CPU 사용률, 메모리 사용률, 및 작업 완료 예상시간 중 적어도 하나를 포함할 수 있다.
그리고, 생성된 상태정보를 수집작업 관리부(320) 및 분석작업 관리부(340)에 제공한다.
도 8은 본 발명의 일 실시예에 따른 빅데이터 분산 방법을 보여주는 흐름도이다.
도 8을 참조하면, 먼저, 작업 분배 시스템(250)은 작업 요청을 수신하면(S801), 요청된 작업의 유형을 판단한다(S802).
작업 분배 시스템(250)은 수집 시스템(210)으로부터 수집 데이터와 함께 작업 요청이 수신되면, 작업의 유형을 수집 작업으로 판단한다.
반면, 작업 분배 시스템(250)은 분석 시스템(220)으로부터 분석 데이터 요청 및 작업 요청이 수신되면, 작업의 유형을 분석 작업으로 판단한다.
수집 작업이 요청되면, 작업 분배 시스템(250)은 수집 데이터를 저장할 제1저장 데이터 노드를 결정한다(S803). 제1 저장 데이터 노드를 결정하는 방법에 대해서는 도 9 및 도 10을 참조하여 보다 구체적으로 설명하도록 한다.
도 9는 수집 데이터를 저장할 저장 데이터 노드를 결정하는 방법의 일 실시예를 보여주는 흐름도이다.
도 9를 참조하면, 먼저, 작업 분배 시스템(250)은 수집 데이터의 유형을 판단한다(S901). 보다 구체적으로, 작업 분배 시스템(250)은 수집 데이터의 형태, 중요도, 및 활용도 중 적어도 하나를 기초로 데이터 유형을 판단한다. 데이터 유형을 판단하기 위하여, 작업 분배 시스템(250)은 표 1과 같은 데이터 유형 테이블을 미리 설정할 수 있다.
다음, 작업 분배 시스템(250)은 수집 데이터에 대한 저장개수를 결정한다(S902). 보다 구체적으로, 작업 분배 시스템(250)은 수집 데이터의 유형을 기초로 저장개수를 결정할 수 있다. 이를 위하여, 작업 분배 시스템(250)은 저장개수를 표 2와 같이 미리 설정할 수 있다.
다음, 작업 분배 시스템(250)은 수집 데이터의 크기를 판단하고(S903), 크기를 기초로 데이터 노드 그룹을 결정한다(S904). 이때, 데이터 노드 그룹은 최소 저장단위가 동일한 복수의 데이터 노드들을 포함한다.
다음, 작업 분배 시스템(250)은 상기 결정된 데이터 노드 그룹에 포함된 데이터 노드들 중 저장개수 만큼의 데이터 노드를 선택한다(S905). 이때, 작업 분배 시스템(250)은 선택된 데이터 노드를 수집 데이터를 저장할 저장 데이터 노드로 결정한다.
다음, 작업 분배 시스템(250)은 수집 데이터에 대한 저장 데이터 노드 정보를 저장위치 데이터베이스(330)에 저장한다(S906). 이때, 저장 데이터 노드 정보는 저장 시스템 식별정보, 데이터 노드 식별정보, 스토로지 식별정보, 및 스토로지 위치정보 중 적어도 하나를 포함한다.
도 10은 수집 데이터를 저장할 저장 데이터 노드를 결정하는 방법의 다른 일 실시예를 보여주는 흐름도이다.
도 10에 도시된 S1001 내지 S1004는 S901 내지 S904와 동일하므로 이에 대한설명은 생략하기로 한다.
작업 분배 시스템(250)은 데이터 노드 그룹이 결정되면 상기 결정된 데이터 노드 그룹에 포함된 데이터 노드들 각각의 여유공간을 확인한다(S1005).
다음, 작업 분배 시스템(250)은 여유공간이 수집 데이터의 크기 보다 큰 여유 노드를 추출하고, 상기 추출된 여유 노드의 개수와 저장개수를 비교한다(S1006).
이때, 여유 노드의 개수가 저장개수 보다 크거나 같으면, 작업 분배 시스템(250)은 여유 노드들 중 저장개수만큼의 데이터 노드를 선택한다(S1007). 반면, 여유 노드의 개수가 저장개수 보다 작으면, 작업 분배 시스템(250)은 모든 여유 노드를 선택한다(S1008).
도 10에 도시되어 있지만, 다른 일 실시예에 있어서, 작업 분배 시스템(250)은 여유 노드의 개수가 저장개수 보다 작으면 다른 데이터 노드 그룹에 포함된 데이터 노드를 선택할 수도 있다.
예를 들어 설명하면, 작업 분배 시스템(250)은 수집 데이터의 크기를 기초로 제1 데이터 노드 그룹을 선택하였다고 가정한다.
상기 제1 데이터 노드 그룹에 포함된 여유 노드가 3개인 반면 저장개수가 4개이면, 작업 분배 시스템(250)은 제1 데이터 노드 그룹의 여유 노드 3개와 제2 데이터 노드 그룹의 여유 노드 1개를 선택할 수 있다. 이때, 제2 데이터 노드 그룹은 제1 데이터 노드 그룹 보다 최소 저장단위가 작은 데이터 노드를 포함할 수 있다.
한편, 작업 분배 시스템(250)은 선택된 데이터 노드를 수집 데이터를 저장할 저장 데이터 노드로 결정한다.
다음, 작업 분배 시스템(250)은 수집 데이터에 대한 제1 저장 데이터 노드 정보를 저장위치 데이터베이스(330)에 저장한다(S1009).
다시 도 8을 참조하면, 작업 분배 시스템(250)은 복수의 작업 관리 시스템들(230) 중 적어도 하나를 결정한다(S804). 작업 분배 시스템(250)은 복수의 제1 저장 데이터 노드들 각각에 대하여 수집 작업을 분배할 작업 관리 시스템(230)을 선택한다.
보다 구체적으로, 작업 분배 시스템(250)은 특정 제1 저장 데이터 노드와 연결된 작업 관리 시스템(230)을 확인하고, 확인된 작업 관리 시스템(230)을 선택한다. 이때, 특정 제1 저장 데이터 노드와 연결된 작업 관리 시스템(230)이 복수 개이면, 작업 분배 시스템(250)은 각 작업 관리 시스템(230)에 대한 상태 정보를 기초로 복수의 작업 관리 시스템들(230) 중 하나를 선택한다.
다음, 작업 분배 시스템(250)은 적어도 하나의 작업 관리 시스템(230)에 저장 데이터 노드 정보, 수집 데이터 및 수집 작업 요청을 송신한다(S805).
한편, 작업 분배 시스템(250)은 요청된 작업의 유형이 분석 작업으로 판단되면 분석 데이터가 저장된 제2 저장 데이터 노드를 저장위치 데이터베이스(330)에서 검색한다(S806).
다음, 작업 분배 시스템(250)은 복수의 작업 관리 시스템들(230) 중 적어도 하나를 결정한다(S807). 작업 분배 시스템(250)은 적어도 하나의 제2 저장 데이터 노드 각각에 대하여 분석 작업을 분배할 작업 관리 시스템(230)을 선택한다.
보다 구체적으로, 작업 분배 시스템(250)은 특정 제2 저장 데이터 노드와 연결된 작업 관리 시스템(230)을 확인하고, 확인된 작업 관리 시스템(230)을 선택한다. 이때, 특정 제2 저장 데이터 노드와 연결된 작업 관리 시스템(230)이 복수 개이면, 작업 분배 시스템(250)은 각 작업 관리 시스템(230)에 대한 상태 정보를 기초로 복수의 작업 관리 시스템들(230) 중 하나를 선택한다.
다음, 작업 분배 시스템(250)은 적어도 하나의 작업 관리 시스템(230)에 제2 저장 데이터 노드 정보, 분석 데이터 요청 및 분석 작업 요청을 송신한다(S808).
다음, 작업 분배 시스템(250)은 분석 작업이 분배된 적어도 하나의 작업 관리 시스템(230)으로부터 분석 데이터가 수신되면 수신된 분석 데이터를 취합하여 분석 시스템(220)에 송신한다(S809 및 S810)
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 출원의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (14)

  1. 데이터가 저장된 복수의 데이터 노드들;
    적어도 하나의 데이터 노드와 연결되어 수집 데이터를 각자 자신에게 연결된 데이터 노드에 저장하는 복수의 작업 관리 시스템들; 및
    수집 데이터에 대한 수집 작업이 요청되면, 상기 복수의 데이터 노드들 중에서 N개(N>1)를 선택하여 상기 수집 데이터를 저장할 제1 저장 데이터 노드로 결정하고, 상기 복수의 작업 관리 시스템들 중에서 상기 N개의 제1 저장 데이터 노드 각각과 연결된 작업 관리 시스템에 수집 작업을 분배하는 작업 분배 시스템을 포함하는 빅데이터 분산 시스템.
  2. 제1항에 있어서, 상기 작업 분배 시스템은,
    상기 수집 데이터의 형태, 중요도, 및 활용도 중 적어도 하나를 기초로 데이터 유형을 판단하는 데이터 유형 판단부; 및
    상기 판단된 데이터 유형에 따라 미리 설정된 상기 수집 데이터의 저장개수 N을 결정하는 저장개수 결정부를 포함하는 것을 특징으로 하는 빅데이터 분산 시스템.
  3. 제1항에 있어서,
    각 데이터 노드는 최소 저장단위로 구분되고, 동일한 최소 저장단위 별로 구분되는 데이터 노드 그룹들 중 하나에 포함되고,
    상기 작업 분배 시스템은, 상기 수집 데이터의 크기에 따라 미리 최소 저장단위로 설정된 데이터 노드 그룹을 결정하고, 상기 결정된 데이터 노드 그룹에 포함된 데이터 노드들 중 N개를 선택하여 제1 저장 데이터 노드로 결정하는 저장위치 결정부를 포함하는 것을 특징으로 하는 빅데이터 분산 시스템.
  4. 제1항에 있어서, 상기 작업 분배 시스템은,
    상기 선택된 N개의 데이터 노드로 구성된 제1 저장 데이터 노드 중 어느 하나의 데이터 노드와 연결된 작업 관리 시스템이 복수 개이면, 상기 복수의 작업 관리 시스템들 각각에 대한 상태정보를 기초로 상기 복수의 작업 관리 시스템들 중 하나를 선택하여 수집 작업을 분배하는 수집작업 분배부를 포함하고,
    상기 상태정보는 처리 중이거나 대기중인 수집작업 수, CPU 사용률, 메모리 사용률, 및 작업 완료 예상시간 중 적어도 하나를 포함하는 것을 특징으로 하는 빅데이터 분산 시스템.
  5. 제4항에 있어서, 상기 수집작업 분배부는,
    상기 복수의 작업 관리 시스템들의 작업 완료 예상시간을 확인하고, 상기 작업 완료 예상시간이 가장 빠른 작업 관리 시스템에 상기 수집 작업을 분배하는 것을 특징으로 하는 빅데이터 분산 시스템.
  6. 제1항에 있어서, 상기 작업 분배 시스템은,
    분석 데이터에 대한 분석 작업이 요청되면, 복수의 데이터 노드들 중에서 상기 분석 데이터가 저장된 M개(M>1)의 제2 저장 데이터 노드를 검색하고, 상기 검색된 M개의 제2 저장 데이터 노드 중 하나를 선택하고, 상기 선택된 제2 저장 데이터 노드와 연결된 작업 관리 시스템에 상기 분석 작업을 분배하는 분석작업 관리부를 더 포함하는 것을 특징으로 하는 빅데이터 분산 시스템.
  7. 제6항에 있어서, 상기 분석작업 관리부는,
    상기 선택된 제2 저장 데이터 노드와 연결된 작업 관리 시스템들이 복수 개이면, 상기 복수의 작업 관리 시스템들 각각에 대한 상태정보를 기초로 상기 복수의 작업 관리 시스템들 중 하나를 선택하여 상기 분석 작업을 분배하는 분석작업 분배부를 포함하는 것을 특징으로 하는 빅데이터 분산 시스템.
  8. 수집 데이터의 수집 작업 요청을 수신하는 단계;
    상기 수집 데이터의 데이터 유형 및 크기 중 적어도 하나를 기초로 복수의 데이터 노드들 중 N개를 선택하고, 상기 선택된 N개의 데이터 노드를 상기 수집 데이터를 저장할 제1 저장 데이터 노드로 결정하는 단계; 및
    상기 N개의 제1 저장 데이터 노드 각각과 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 수집 작업을 분배하는 단계를 포함하는 빅데이터 분산 방법.
  9. 제8항에 있어서, 상기 결정하는 단계는,
    상기 수집 데이터의 형태, 중요도, 및 활용도 중 적어도 하나를 기초로 데이터 유형을 판단하고, 상기 판단된 데이터 유형에 따라 미리 설정된 상기 수집 데이터의 저장개수 N을 결정하는 단계를 포함하는 것을 특징으로 하는 빅데이터 분산 방법.
  10. 제8항에 있어서, 상기 결정하는 단계는,
    상기 수집 데이터의 크기에 따라 미리 최소 저장단위로 설정된 데이터 노드 그룹을 결정하고, 상기 결정된 데이터 노드 그룹에 포함된 데이터 노드들 중 저장개수만큼의 데이터 노드를 선택하는 단계를 포함하고,
    상기 데이터 노드 그룹은 최소 저장단위가 동일한 하나 이상의 데이터 노드가 포함되는 것을 특징으로 하는 빅데이터 분산 방법.
  11. 제8항에 있어서, 상기 분배하는 단계는,
    각 제1 저장 데이터 노드와 연결된 작업 관리 시스템을 확인하는 단계; 및
    하나의 제1 저장 데이터 노드와 연결된 작업 관리 시스템이 복수 개이면, 상기 복수의 작업 관리 시스템들 중 하나를 선택하고, 상기 선택된 작업 관리 시스템에 해당 저장 데이터 노드에 관한 정보, 상기 수집 데이터 및 수집 작업 요청을 송신하는 단계를 포함하는 것을 특징으로 하는 빅데이터 분산 방법.
  12. 분석 데이터 요청 및 분석 작업 요청을 수신하는 단계;
    복수의 데이터 노드들 중 상기 분석 데이터가 저장된 M개의 제2 저장 데이터 노드를 검색하고, 상기 검색된 M개의 제2 저장 데이터 노드와 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 분석 작업을 분배하는 단계; 및
    상기 적어도 하나의 작업 관리 시스템으로부터 분석 데이터가 수신되면, 상기 수신된 분석 데이터를 취합하여 상기 분석 시스템에 송신하는 단계를 포함하는 빅데이터 분산 방법.
  13. 제12항에 있어서, 상기 분배하는 단계는,
    각 제2 저장 데이터 노드와 연결된 작업 관리 시스템을 확인하는 단계; 및
    하나의 제2 저장 데이터 노드와 연결된 작업 관리 시스템이 복수 개이면, 상기 복수의 작업 관리 시스템들 중 하나를 선택하고, 상기 선택된 작업 관리 시스템에 해당 제2 저장 데이터 노드에 관한 정보, 분석 데이터 요청 및 분석 작업 요청을 송신하는 단계를 포함하는 것을 특징으로 하는 빅데이터 분산 방법.
  14. 제11항 또는 제13항에 있어서, 상기 송신하는 단계는,
    상기 복수의 작업 관리 시스템들 각각의 작업 완료 예상시간을 확인하고, 상기 복수의 작업 관리 시스템들 중 작업 완료 예상시간이 가장 빠른 작업 관리 시스템을 선택하는 것을 특징으로 하는 빅데이터 분산 방법.
KR1020130147416A 2013-11-29 2013-11-29 빅데이터 분산 시스템 및 방법 KR101622810B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130147416A KR101622810B1 (ko) 2013-11-29 2013-11-29 빅데이터 분산 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130147416A KR101622810B1 (ko) 2013-11-29 2013-11-29 빅데이터 분산 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20150062596A true KR20150062596A (ko) 2015-06-08
KR101622810B1 KR101622810B1 (ko) 2016-05-31

Family

ID=53500583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130147416A KR101622810B1 (ko) 2013-11-29 2013-11-29 빅데이터 분산 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101622810B1 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170130187A (ko) * 2016-05-18 2017-11-28 전자부품연구원 분산 환경 기반 실시간 고속 스트림 데이터 처리 방법
KR20180026301A (ko) * 2016-09-02 2018-03-12 주식회사 포스코아이씨티 스마트 팩토리를 위한 빅데이터 분석 시스템
KR20180026303A (ko) * 2016-09-02 2018-03-12 주식회사 포스코아이씨티 연속공정용 데이터를 표준화하는 미들웨어 시스템
KR101866487B1 (ko) * 2016-04-27 2018-06-12 주식회사 와이즈넛 복수의 이기종 사물인터넷디바이스의 반정형 데이터를 그룹핑하여 실시간으로 분석하는 데이터처리장치
KR20180072295A (ko) * 2016-12-21 2018-06-29 세림티에스지(주) 분산 인 메모리 환경에서 실시간 스트림 데이터 처리를 위한 동적 잡 스케쥴링 시스템 및 방법
KR20180078991A (ko) * 2016-12-30 2018-07-10 주식회사 포스코아이씨티 메모리 캐시 자동 관리를 위한 대용량 데이터 실시간 처리 시스템
WO2019169998A1 (zh) * 2018-03-08 2019-09-12 华为技术有限公司 选择数据节点的方法、系统以及相关设备
KR20210036177A (ko) 2019-09-25 2021-04-02 신한카드 주식회사 데이터 가공을 통한 빅데이터 웨어하우스 데이터 마트 테이블 생성 방법
US11079728B2 (en) 2016-09-01 2021-08-03 Posco ICT Co., Ltd. Smart factory platform for processing data obtained in continuous process
KR102651114B1 (ko) * 2023-12-18 2024-03-25 주식회사 비던스 애드 익스체인지 관련 빅데이터의 실시간 분석 및 분산 처리를 통한 인공지능 정보의 생성 및 광고 지면 제공 대상의 타겟팅 최적화 방법, 장치 및 시스템

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101866487B1 (ko) * 2016-04-27 2018-06-12 주식회사 와이즈넛 복수의 이기종 사물인터넷디바이스의 반정형 데이터를 그룹핑하여 실시간으로 분석하는 데이터처리장치
KR20170130187A (ko) * 2016-05-18 2017-11-28 전자부품연구원 분산 환경 기반 실시간 고속 스트림 데이터 처리 방법
US11079728B2 (en) 2016-09-01 2021-08-03 Posco ICT Co., Ltd. Smart factory platform for processing data obtained in continuous process
KR20180026301A (ko) * 2016-09-02 2018-03-12 주식회사 포스코아이씨티 스마트 팩토리를 위한 빅데이터 분석 시스템
KR20180026303A (ko) * 2016-09-02 2018-03-12 주식회사 포스코아이씨티 연속공정용 데이터를 표준화하는 미들웨어 시스템
KR20180072295A (ko) * 2016-12-21 2018-06-29 세림티에스지(주) 분산 인 메모리 환경에서 실시간 스트림 데이터 처리를 위한 동적 잡 스케쥴링 시스템 및 방법
KR20180078991A (ko) * 2016-12-30 2018-07-10 주식회사 포스코아이씨티 메모리 캐시 자동 관리를 위한 대용량 데이터 실시간 처리 시스템
WO2019169998A1 (zh) * 2018-03-08 2019-09-12 华为技术有限公司 选择数据节点的方法、系统以及相关设备
KR20210036177A (ko) 2019-09-25 2021-04-02 신한카드 주식회사 데이터 가공을 통한 빅데이터 웨어하우스 데이터 마트 테이블 생성 방법
KR102651114B1 (ko) * 2023-12-18 2024-03-25 주식회사 비던스 애드 익스체인지 관련 빅데이터의 실시간 분석 및 분산 처리를 통한 인공지능 정보의 생성 및 광고 지면 제공 대상의 타겟팅 최적화 방법, 장치 및 시스템

Also Published As

Publication number Publication date
KR101622810B1 (ko) 2016-05-31

Similar Documents

Publication Publication Date Title
KR101622810B1 (ko) 빅데이터 분산 시스템 및 방법
CN103106249B (zh) 一种基于Cassandra的数据并行处理系统
US9171044B2 (en) Method and system for parallelizing database requests
US10210221B2 (en) System and method for distributed database query engines
US10223431B2 (en) Data stream splitting for low-latency data access
US8676951B2 (en) Traffic reduction method for distributed key-value store
US20170155707A1 (en) Multi-level data staging for low latency data access
KR101435789B1 (ko) Dlp 시스템의 빅데이터 처리 시스템 및 방법
CN104933173B (zh) 一种用于异构多数据源的数据处理方法、装置和服务器
CN103399894A (zh) 一种基于共享存储池的分布式事务处理方法
CN103246749A (zh) 面向分布式计算的矩阵数据库系统及其查询方法
CN103218404A (zh) 一种基于关联特性的多维元数据管理方法和系统
CN105117433A (zh) 一种基于Hive解析HFile统计查询HBase的方法和系统
CN104077188A (zh) 一种用于任务调度的方法和装置
US20070174248A1 (en) Method and system for data processing with load balance
KR20190069229A (ko) 분산 인메모리 이동 객체 관리 시스템 및 방법
CN111428140B (zh) 高并发数据检索方法、装置、设备及存储介质
CN110147470A (zh) 一种跨机房数据比对系统及方法
Kang et al. Reducing i/o cost in olap query processing with mapreduce
US10019472B2 (en) System and method for querying a distributed dwarf cube
Zhu et al. Marlin: Taming the big streaming data in large scale video similarity search
US20180165380A1 (en) Data processing system and data processing method
KR101563064B1 (ko) 빅데이터 분산 시스템
Li et al. Evaluating spatial keyword queries under the mapreduce framework
Jayakar et al. Managing small size files through indexing in extended Hadoop file system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 4