KR101622810B1 - 빅데이터 분산 시스템 및 방법 - Google Patents
빅데이터 분산 시스템 및 방법 Download PDFInfo
- Publication number
- KR101622810B1 KR101622810B1 KR1020130147416A KR20130147416A KR101622810B1 KR 101622810 B1 KR101622810 B1 KR 101622810B1 KR 1020130147416 A KR1020130147416 A KR 1020130147416A KR 20130147416 A KR20130147416 A KR 20130147416A KR 101622810 B1 KR101622810 B1 KR 101622810B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- job
- storage
- analysis
- task
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
작업 처리 속도를 향상시킬 수 있는 본 발명의 일 측면에 따른 빅데이터 분산 시스템은 데이터가 저장된 복수의 데이터 노드들; 적어도 하나의 데이터 노드와 연결되어 수집 데이터를 데이터 노드에 저장하는 복수의 작업 관리 시스템들; 및 수집 데이터에 대한 수집 작업이 요청되면, 상기 복수의 데이터 노드들 중에서 N개(N>1)를 선택하여 상기 수집 데이터를 저장할 제1 저장 데이터 노드로 결정하고, 상기 복수의 작업 관리 시스템들 중에서 상기 N개의 제1 저장 데이터 노드 각각과 연결된 작업 관리 시스템에 수집 작업을 분배하는 작업 분배 시스템을 포함한다.
Description
본 발명은 데이터 분산 시스템에 관한 것으로서, 보다 구체적으로 대량의 데이터를 효율적으로 수집 및 분석하는 빅데이터 분산 시스템 및 방법에 관한 것이다.
최근에는 소셜 서비스의 이용과 스마트 기기의 보유량이 늘어남에 따라 데이터가 기하급수적으로 증가하고 있다. 이에 따라, 대량의 데이터를 수집 및 분석하여 의미있는 데이터를 추출하고, 결과를 분석하는 빅데이터 기술에 대한 관심이 증대되고 있다.
도 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는 본 발명의 일 실시예에 따른 빅데이터 분산 시스템을 개략적으로 보여주는 도면이다.
도 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)
- 데이터가 저장된 복수의 데이터 노드들;
적어도 하나의 데이터 노드와 연결되어 수집 데이터를 각자 자신에게 연결된 데이터 노드에 저장하는 복수의 작업 관리 시스템들; 및
수집 데이터에 대한 수집 작업이 요청되면, 상기 복수의 데이터 노드들 중에서 N개(N>1)를 선택하여 상기 수집 데이터를 저장할 제1 저장 데이터 노드로 결정하고, 상기 복수의 작업 관리 시스템들 중에서 상기 N개의 제1 저장 데이터 노드 각각과 연결된 작업 관리 시스템에 수집 작업을 분배하는 작업 분배 시스템을 포함하되,
상기 작업 분배 시스템은 상기 선택된 N개의 데이터 노드로 구성된 제1 저장 데이터 노드 중 어느 하나의 데이터 노드와 연결된 작업 관리 시스템이 복수 개이면, 상기 복수의 작업 관리 시스템들의 작업 완료 예상시간을 확인하고, 상기 작업 완료 예상시간이 가장 빠른 작업 관리 시스템에 상기 수집 작업을 분배하는 수집작업 분배부를 포함하는 것을 특징으로 하는 빅데이터 분산 시스템. - 제1항에 있어서, 상기 작업 분배 시스템은,
상기 수집 데이터의 형태, 중요도, 및 활용도 중 적어도 하나를 기초로 데이터 유형을 판단하는 데이터 유형 판단부; 및
상기 판단된 데이터 유형에 따라 미리 설정된 상기 수집 데이터의 저장개수 N을 결정하는 저장개수 결정부를 포함하는 것을 특징으로 하는 빅데이터 분산 시스템. - 제1항에 있어서,
각 데이터 노드는 최소 저장단위로 구분되고, 동일한 최소 저장단위 별로 구분되는 데이터 노드 그룹들 중 하나에 포함되고,
상기 작업 분배 시스템은, 상기 수집 데이터의 크기에 따라 미리 최소 저장단위로 설정된 데이터 노드 그룹을 결정하고, 상기 결정된 데이터 노드 그룹에 포함된 데이터 노드들 중 N개를 선택하여 제1 저장 데이터 노드로 결정하는 저장위치 결정부를 포함하는 것을 특징으로 하는 빅데이터 분산 시스템. - 제1항에 있어서, 상기 수집작업 분배부는,
처리 중이거나 대기중인 수집작업 수, CPU 사용률, 메모리 사용률, 및 작업 완료 예상시간 중 적어도 하나를 포함하는, 상기 복수의 작업 관리 시스템들 각각에 대한 상태정보를 기초로 상기 복수의 작업 관리 시스템들 중 하나를 선택하여 수집 작업을 분배하는 것을 특징으로 하는 빅데이터 분산 시스템. - 삭제
- 데이터가 저장된 복수의 데이터 노드들;
적어도 하나의 데이터 노드와 연결되어 수집 데이터를 각자 자신에게 연결된 데이터 노드에 저장하는 복수의 작업 관리 시스템들; 및
수집 데이터에 대한 수집 작업이 요청되면, 상기 복수의 데이터 노드들 중에서 N개(N>1)를 선택하여 상기 수집 데이터를 저장할 제1 저장 데이터 노드로 결정하고, 상기 복수의 작업 관리 시스템들 중에서 상기 N개의 제1 저장 데이터 노드 각각과 연결된 작업 관리 시스템에 수집 작업을 분배하는 작업 분배 시스템을 포함하되,
상기 작업 분배 시스템은, 분석 데이터에 대한 분석 작업이 요청되면, 복수의 데이터 노드들 중에서 상기 분석 데이터가 저장된 M개(M>1)의 제2 저장 데이터 노드를 검색하고, 상기 검색된 M개의 제2 저장 데이터 노드 중 하나를 선택하고, 상기 선택된 제2 저장 데이터 노드와 연결된 작업 관리 시스템에 상기 분석 작업을 분배하는 분석작업 관리부를 더 포함하는 것을 특징으로 하는 빅데이터 분산 시스템. - 제6항에 있어서, 상기 분석작업 관리부는,
상기 선택된 제2 저장 데이터 노드와 연결된 작업 관리 시스템들이 복수 개이면, 상기 복수의 작업 관리 시스템들 각각에 대한 상태정보를 기초로 상기 복수의 작업 관리 시스템들 중 하나를 선택하여 상기 분석 작업을 분배하는 분석작업 분배부를 포함하는 것을 특징으로 하는 빅데이터 분산 시스템. - 작업 분배 시스템이 작업 요청을 수신하고 요청된 작업의 유형을 판단하는 단계;
상기 요청된 작업의 유형을 판단하는 단계에서 수집 데이터의 수집 작업 요청이 수신되면, 상기 작업 분배 시스템이 상기 수집 데이터의 데이터 유형 및 크기 중 적어도 하나를 기초로 복수의 데이터 노드들 중 N개를 선택하고, 상기 선택된 N개의 데이터 노드를 상기 수집 데이터를 저장할 제1 저장 데이터 노드로 결정하는 단계; 및
상기 작업 분배 시스템이 상기 N개의 제1 저장 데이터 노드 각각과 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 수집 작업을 분배하는 단계를 포함하되,
상기 요청된 작업의 유형을 판단하는 단계에서 분석 데이터의 분석 작업 요청이 수신되면, 상기 작업 분배 시스템이 복수의 데이터 노드들 중 상기 분석 데이터가 저장된 M개의 제2 저장 데이터 노드를 검색하고, 상기 검색된 M개의 제2 저장 데이터 노드와 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 분석 작업을 분배하는 단계를 더 포함하는 것을 특징으로 하는 빅데이터 분산 방법. - 제8항에 있어서, 상기 결정하는 단계는,
상기 작업 분배 시스템이 상기 수집 데이터의 형태, 중요도, 및 활용도 중 적어도 하나를 기초로 데이터 유형을 판단하고, 상기 판단된 데이터 유형에 따라 미리 설정된 상기 수집 데이터의 저장개수 N을 결정하는 단계를 포함하는 것을 특징으로 하는 빅데이터 분산 방법. - 제8항에 있어서, 상기 결정하는 단계는,
상기 작업 분배 시스템이 상기 수집 데이터의 크기에 따라 미리 최소 저장단위로 설정된 데이터 노드 그룹을 결정하고, 상기 결정된 데이터 노드 그룹에 포함된 데이터 노드들 중 저장개수만큼의 데이터 노드를 선택하는 단계를 포함하고,
상기 데이터 노드 그룹은 최소 저장단위가 동일한 하나 이상의 데이터 노드가 포함되는 것을 특징으로 하는 빅데이터 분산 방법. - 제8항에 있어서, 상기 수집 작업을 분배하는 단계는,
상기 작업 분배 시스템이 각 제1 저장 데이터 노드와 연결된 작업 관리 시스템을 확인하는 단계; 및
하나의 제1 저장 데이터 노드와 연결된 작업 관리 시스템이 복수 개이면, 상기 작업 분배 시스템이 상기 복수의 작업 관리 시스템들 중 하나를 선택하고, 상기 선택된 작업 관리 시스템에 해당 저장 데이터 노드에 관한 정보, 상기 수집 데이터 및 수집 작업 요청을 송신하는 단계를 포함하는 것을 특징으로 하는 빅데이터 분산 방법. - 작업 분배 시스템이 분석 데이터 요청 및 분석 작업 요청을 수신하는 단계;
상기 작업 분배 시스템이 복수의 데이터 노드들 중 상기 분석 데이터가 저장된 M개의 제2 저장 데이터 노드를 검색하고, 상기 검색된 M개의 제2 저장 데이터 노드와 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 분석 작업을 분배하는 단계; 및
상기 적어도 하나의 작업 관리 시스템으로부터 분석 데이터가 수신되면, 상기 작업 분배 시스템이 상기 수신된 분석 데이터를 취합하여 분석 시스템에 송신하는 단계를 포함하는 빅데이터 분산 방법. - 제12항에 있어서, 상기 분배하는 단계는,
상기 작업 분배 시스템이 각 제2 저장 데이터 노드와 연결된 작업 관리 시스템을 확인하는 단계; 및
하나의 제2 저장 데이터 노드와 연결된 작업 관리 시스템이 복수 개이면, 상기 작업 분배 시스템이 상기 복수의 작업 관리 시스템들 중 하나를 선택하고, 상기 선택된 작업 관리 시스템에 해당 제2 저장 데이터 노드에 관한 정보, 분석 데이터 요청 및 분석 작업 요청을 송신하는 단계를 포함하는 것을 특징으로 하는 빅데이터 분산 방법. - 제11항 또는 제13항에 있어서, 상기 선택된 작업 관리 시스템은,
상기 복수의 작업 관리 시스템들 중 작업 완료 예상시간이 가장 빠른 작업 관리 시스템인 것을 특징으로 하는 빅데이터 분산 방법.
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 KR20150062596A (ko) | 2015-06-08 |
KR101622810B1 true 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) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101866487B1 (ko) * | 2016-04-27 | 2018-06-12 | 주식회사 와이즈넛 | 복수의 이기종 사물인터넷디바이스의 반정형 데이터를 그룹핑하여 실시간으로 분석하는 데이터처리장치 |
KR102186918B1 (ko) * | 2016-05-18 | 2020-12-04 | 한국전자기술연구원 | 분산 환경 기반 실시간 고속 스트림 데이터 처리 방법 |
US11079728B2 (en) | 2016-09-01 | 2021-08-03 | Posco ICT Co., Ltd. | Smart factory platform for processing data obtained in continuous process |
KR101892351B1 (ko) * | 2016-09-02 | 2018-08-27 | 주식회사 포스코아이씨티 | 스마트 팩토리를 위한 빅데이터 분석 시스템 |
KR101892352B1 (ko) * | 2016-09-02 | 2018-08-27 | 주식회사 포스코아이씨티 | 연속공정용 데이터를 표준화하는 미들웨어 시스템 |
KR101886072B1 (ko) * | 2016-12-21 | 2018-08-08 | 세림티에스지(주) | 분산 인 메모리 환경에서 실시간 스트림 데이터 처리를 위한 동적 잡 스케쥴링 시스템 및 방법 |
KR101951527B1 (ko) * | 2016-12-30 | 2019-02-22 | 주식회사 포스코아이씨티 | 메모리 캐시 자동 관리를 위한 대용량 데이터 실시간 처리 시스템 |
CN110309223B (zh) * | 2018-03-08 | 2023-08-22 | 华为技术有限公司 | 选择数据节点的方法、系统以及相关设备 |
KR20210036177A (ko) | 2019-09-25 | 2021-04-02 | 신한카드 주식회사 | 데이터 가공을 통한 빅데이터 웨어하우스 데이터 마트 테이블 생성 방법 |
KR102651114B1 (ko) * | 2023-12-18 | 2024-03-25 | 주식회사 비던스 | 애드 익스체인지 관련 빅데이터의 실시간 분석 및 분산 처리를 통한 인공지능 정보의 생성 및 광고 지면 제공 대상의 타겟팅 최적화 방법, 장치 및 시스템 |
-
2013
- 2013-11-29 KR KR1020130147416A patent/KR101622810B1/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
KR20150062596A (ko) | 2015-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101622810B1 (ko) | 빅데이터 분산 시스템 및 방법 | |
CN103106249B (zh) | 一种基于Cassandra的数据并行处理系统 | |
US10223431B2 (en) | Data stream splitting for low-latency data access | |
US9171044B2 (en) | Method and system for parallelizing database requests | |
US20170155707A1 (en) | Multi-level data staging for low latency data access | |
US8676951B2 (en) | Traffic reduction method for distributed key-value store | |
KR101435789B1 (ko) | Dlp 시스템의 빅데이터 처리 시스템 및 방법 | |
US20140195558A1 (en) | System and method for distributed database query engines | |
CN104933173B (zh) | 一种用于异构多数据源的数据处理方法、装置和服务器 | |
CN103399894A (zh) | 一种基于共享存储池的分布式事务处理方法 | |
CN103218404A (zh) | 一种基于关联特性的多维元数据管理方法和系统 | |
CN105117433A (zh) | 一种基于Hive解析HFile统计查询HBase的方法和系统 | |
CN105354250A (zh) | 一种面向云存储的数据存储方法及装置 | |
US20150039574A1 (en) | Management of data segments for analytics queries | |
US20070174248A1 (en) | Method and system for data processing with load balance | |
CN104077188A (zh) | 一种用于任务调度的方法和装置 | |
CN110147470A (zh) | 一种跨机房数据比对系统及方法 | |
CN111428140B (zh) | 高并发数据检索方法、装置、设备及存储介质 | |
CN103412883A (zh) | 基于p2p技术的语义智能信息发布订阅方法 | |
CN107276914B (zh) | 基于cmdb的自助资源分配调度的方法 | |
JP5331050B2 (ja) | データ同期システム、データ同期方法、情報処理装置、情報処理方法、およびプログラム | |
Wang et al. | Sublinear algorithms for big data applications | |
JP2011070257A (ja) | ファイル検索システム | |
US10019472B2 (en) | System and method for querying a distributed dwarf cube | |
US10346371B2 (en) | Data processing system, database management system, and data processing method |
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 |