KR101622810B1 - System and method for distributing big data - Google Patents

System and method for distributing big data Download PDF

Info

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
Application number
KR1020130147416A
Other languages
Korean (ko)
Other versions
KR20150062596A (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 KR1020130147416A priority Critical patent/KR101622810B1/en
Publication of KR20150062596A publication Critical patent/KR20150062596A/en
Application granted granted Critical
Publication of KR101622810B1 publication Critical patent/KR101622810B1/en

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 저장 데이터 노드 각각과 연결된 작업 관리 시스템에 수집 작업을 분배하는 작업 분배 시스템을 포함한다.A big data distribution system according to one aspect of the present invention which can improve the processing speed of a job includes a plurality of data nodes in which data is stored; A plurality of job management systems coupled to at least one data node to store collected data in a data node; (N > 1) among the plurality of data nodes as a first storage data node for storing the collected data when a collecting operation for the collected data is requested, And a work distribution system for distributing the collection job to the job management system connected to each of the N first storage data nodes.

Description

빅데이터 분산 시스템 및 방법{SYSTEM AND METHOD FOR DISTRIBUTING BIG DATA}[0001] SYSTEM AND METHOD FOR DISTRIBUTING BIG DATA [0002]

본 발명은 데이터 분산 시스템에 관한 것으로서, 보다 구체적으로 대량의 데이터를 효율적으로 수집 및 분석하는 빅데이터 분산 시스템 및 방법에 관한 것이다.The present invention relates to a data distribution system, and more particularly, to a big data distribution system and method for efficiently collecting and analyzing a large amount of data.

최근에는 소셜 서비스의 이용과 스마트 기기의 보유량이 늘어남에 따라 데이터가 기하급수적으로 증가하고 있다. 이에 따라, 대량의 데이터를 수집 및 분석하여 의미있는 데이터를 추출하고, 결과를 분석하는 빅데이터 기술에 대한 관심이 증대되고 있다.In recent years, data has grown exponentially as the use of social services and the volume of smart devices have increased. As a result, there is an increasing interest in large data technology for collecting and analyzing large amounts of data, extracting meaningful data, and analyzing the results.

도 1은 종래의 빅데이터 시스템을 보여주는 도면이다.1 is a diagram showing a conventional big data system.

도 1을 참조하면, 종래의 빅데이터 시스템(100)은 수집 시스템(110), 분석 시스템(120), 작업 관리 시스템(130), 및 복수의 저장 시스템들(140)을 포함한다.Referring to FIG. 1, a conventional Big Data System 100 includes a collection system 110, an analysis system 120, a task management system 130, and a plurality of storage systems 140.

이러한 종래의 빅데이터 시스템(100)은 크게 저장 시스템(140)에 데이터를 저장하는 수집 작업, 및 저장 시스템(140)에 저장된 데이터를 분석하는 분석 작업을 수행한다.This conventional large data system 100 largely performs an acquisition task of storing data in the storage system 140 and an analysis task of analyzing the data stored in the storage system 140.

먼저, 수집 작업은 수집 시스템(110), 작업 관리 시스템(130), 및 저장 시스템(140)을 통해 이루어진다.First, the collection operation is performed through the collection system 110, the job management system 130, and the storage system 140.

보다 구체적으로, 수집 시스템(110)은 데이터를 수집하고, 수집한 데이터를 작업 관리 시스템(130)에 전송한다.More specifically, the collection system 110 collects data and transmits the collected data to the task management system 130. [

작업 관리 시스템(130)은 수집 시스템(110)으로부터 수집 데이터가 수신되면, 복수의 저장 시스템들(140) 중 하나를 선택하고, 선택된 저장 시스템(140)에 수집 데이터를 저장한다.When the collected data is received from the collection system 110, the task management system 130 selects one of the plurality of storage systems 140 and stores the collected data in the selected storage system 140.

한편, 분석 작업은 분석 시스템(120), 작업 관리 시스템(130), 및 저장 시스템(140)을 통해 이루어진다.On the other hand, the analysis work is performed through the analysis system 120, the work management system 130, and the storage system 140.

보다 구체적으로, 분석 시스템(120)은 분석이 필요한 분석 데이터를 작업 관리 시스템(130)에 요청하고, 작업 관리 시스템(130)으로부터 요청한 분석 데이터를 수신하면, 수신한 분석 데이터를 분석한다. 그리고, 분석 시스템(120)은 분석 결과 데이터를 작업 관리 시스템(130)에 전송한다.More specifically, the analysis system 120 requests the analysis data required for analysis to the work management system 130, and analyzes the received analysis data upon receiving the analysis data requested from the work management system 130. Then, the analysis system 120 transmits the analysis result data to the job management system 130.

작업 관리 시스템(130)은 분석 시스템(120)으로부터 분석 데이터 요청이 수신되면, 상기 분석 데이터가 저장된 저장 시스템(140)에 데이터를 요청한다. 그리고, 작업 관리 시스템(130)은 저장 시스템(140)으로부터 분석 데이터를 수신하면, 수신한 분석 데이터를 분석 시스템(120)에 전송한다.The task management system 130 requests data from the storage system 140 in which the analysis data is stored when the analysis data request is received from the analysis system 120. [ When the work management system 130 receives the analysis data from the storage system 140, the work management system 130 transmits the received analysis data to the analysis system 120.

또한, 작업 관리 시스템(130)은 분석 시스템(120)으로부터 분석 결과 데이터를 수신하면, 복수의 저장 시스템들(140) 중 하나를 선택하고, 선택된 저장 시스템(140)에 분석 데이터를 저장한다.In addition, when the task management system 130 receives analysis result data from the analysis system 120, it selects one of the plurality of storage systems 140 and stores the analysis data in the selected storage system 140.

종래의 빅데이터 분산 시스템(100)은 상술한 바와 같이 하나의 작업 관리 시스템(130)에서 수집 작업과 분석 작업을 모두 수행한다. 이로 인하여, 종래의 빅데이터 분산 시스템(100)은 데이터양과 비례하여 작업 관리 시스템(130)에 부하가 증가하고, 작업 처리 속도가 떨어진다는 문제점이 있다.The conventional big data distribution system 100 performs both the collection operation and the analysis operation in one job management system 130 as described above. Accordingly, in the conventional big data distribution system 100, there is a problem that the load on the job management system 130 increases and the job processing speed drops in proportion to the amount of data.

또한, 종래의 빅데이터 분산 시스템(100)은 데이터 크기와 상관없이 복수의 저장 시스템들(140)의 최소 저장단위를 모두 동일하게 설정하고 있기 때문에 저장공간이 낭비된다는 다른 문제점이 있다.In addition, since the conventional large data distribution system 100 sets the minimum storage units of the plurality of storage systems 140 to be the same regardless of the data size, there is another problem that the storage space is wasted.

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 작업 관리 시스템의 작업 처리 속도를 향상시킬 수 있는 빅데이터 분산 시스템 및 방법을 제공하는 것을 기술적 과제로 한다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a big data distribution system and method capable of improving the work processing speed of a job management system.

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 저장 시스템을 효율적으로 사용할 수 있는 빅데이터 분산 시스템 및 방법을 제공하는 것을 다른 기술적 과제로 한다.It is another object of the present invention to provide a big data distribution system and method capable of efficiently using a storage system.

상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 빅데이터 분산 시스템은 데이터가 저장된 복수의 데이터 노드들; 적어도 하나의 데이터 노드와 연결되어 수집 데이터를 데이터 노드에 저장하는 복수의 작업 관리 시스템들; 및 수집 데이터에 대한 수집 작업이 요청되면, 상기 복수의 데이터 노드들 중에서 N개를 선택하여 상기 수집 데이터를 저장할 제1 저장 노드로 결정하고, 상기 복수의 작업 관리 시스템들 중에서 상기 N개의 제1 저장 노드 각각과 연결된 적어도 하나의 작업 관리 시스템에 수집 작업을 분배하는 작업 분배 시스템을 포함한다.According to an aspect of the present invention, there is provided a big data distribution system comprising: a plurality of data nodes storing data; A plurality of job management systems coupled to at least one data node to store collected data in a data node; And when a collecting job for collected data is requested, selecting N among the plurality of data nodes as a first storing node for storing the collected data, and selecting, among the plurality of job management systems, And a task distribution system for distributing the collection task to at least one task management system connected to each of the nodes.

상술한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 빅데이터 분산 방법은 수집 데이터의 수집 작업 요청을 수신하는 단계; 상기 수집 데이터의 데이터 유형 및 크기 중 적어도 하나를 기초로 복수의 데이터 노드들 중 N개를 선택하고, 상기 선택된 N개의 데이터 노드를 상기 수집 데이터를 저장할 제1 저장 노드로 결정하는 단계; 및 상기 N개의 제1 저장 노드 각각과 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 수집 작업을 분배하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of distributing big data, comprising: receiving a collected data collecting operation request; Selecting N of the plurality of data nodes based on at least one of the data type and size of the collected data and determining the selected N data nodes as a first storage node to store the collected data; And distributing the collection task by selecting at least one of the job management systems connected to each of the N first storage nodes.

상술한 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 빅데이터 분산방법은 분석 시스템으로부터 분석 데이터 요청 및 분석 작업 요청을 수신하는 단계; 복수의 데이터 노드들 중 상기 분석 데이터가 저장된 적어도 하나의 저장 노드를 검색하고, 상기 검색된 적어도 하나의 저장 노드와 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 분석 작업을 분배하는 단계; 및 상기 적어도 하나의 작업 관리 시스템으로부터 분석 데이터가 수신되면, 상기 수신된 분석 데이터를 취합하여 상기 분석 시스템에 송신하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of distributing big data comprising: receiving an analysis data request and analysis job request from an analysis system; Searching at least one storage node among the plurality of data nodes for storing the analysis data and selecting at least one of the search management systems connected to the at least one storage node to distribute the analysis task; And receiving the analysis data from the at least one job management system and collecting the received analysis data and transmitting the collected analysis data to the analysis system.

상술한 목적을 달성하기 위한 본 발명의 또 다른 측면에 따른 빅데이터 분산방법은 분석 데이터 요청 및 분석 작업 요청을 수신하는 단계; 복수의 데이터 노드들 중 상기 분석 데이터가 저장된 M개의 제2 저장 노드를 검색하고, 상기 검색된 M개의 제2 저장 노드와 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 분석 작업을 분배하는 단계; 및 상기 적어도 하나의 작업 관리 시스템으로부터 분석 데이터가 수신되면, 상기 수신된 분석 데이터를 취합하여 상기 분석 시스템에 송신하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method for distributing big data, comprising: receiving an analysis data request and analysis job request; Searching for M second storage nodes storing the analysis data among the plurality of data nodes and distributing the analysis task by selecting at least one of the job management systems connected to the M second storage nodes; And receiving the analysis data from the at least one job management system and collecting the received analysis data and transmitting the collected analysis data to the analysis system.

본 발명에 따르면, 수집 작업 및 분석 작업을 복수의 작업 관리 시스템들에 분배함으로써, 하나의 작업 관리 시스템에 작업이 집중되는 것을 방지하고, 복수의 작업들을 병렬로 처리하여 작업 처리 속도를 향상시킬 수 있다는 효과가 있다.According to the present invention, by distributing the collection job and the analysis job to a plurality of job management systems, it is possible to prevent a job from concentrating on one job management system, and to improve a job processing speed by processing a plurality of jobs in parallel .

또한, 본 발명에 따르면, 적어도 하나의 저장 시스템과 연결된 작업 관리 시스템을 복수개 구성함으로써, 데이터양이 증가함에 따른 시스템 확장이 용이하다는 다른 효과가 있다.In addition, according to the present invention, a plurality of job management systems connected to at least one storage system have another effect that the system expansion is facilitated as the amount of data increases.

또한, 본 발명에 따르면, 데이터 유형에 따라 데이터를 저장하는 개수를 결정함으로써, 데이터가 불필요하게 많은 저장공간을 차지하는 것을 방지할 수 있다는 또 다른 효과가 있다.Further, according to the present invention, there is another effect that data can be prevented from occupying unnecessarily large storage space by determining the number of data to be stored according to the data type.

또한, 본 발명에 따르면, 데이터 크기에 따라 저장단위를 결정함으로써, 저장공간 내의 빈 공간을 최소화하여 효율성을 향상시킬 수 있다는 또 다른 효과가 있다.In addition, according to the present invention, there is another effect that efficiency can be improved by minimizing the empty space in the storage space by determining the storage unit according to the data size.

도 1은 종래의 빅데이터 시스템을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 빅데이터 분산 시스템을 개략적으로 보여주는 도면이다.
도 3은 도 2의 작업 분배 시스템을 설명하기 위한 블록도이다.
도 4는 도 3의 수집작업 관리부를 설명하기 위한 블록도이다.
도 5는 적어도 하나의 작업 관리 시스템에 수집 작업을 분배하는 예를 설명하기 위한 도면이다.
도 6은 도 3의 분석작업 관리부를 설명하기 위한 블록도이다.
도 7은 적어도 하나의 작업 관리 시스템에 분석 작업을 분배하는 예를 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 빅데이터 분산 방법을 보여주는 흐름도이다.
도 9는 수집 데이터를 저장할 저장 노드를 결정하는 방법의 일 실시예를 보여주는 흐름도이다.
도 10은 수집 데이터를 저장할 저장 노드를 결정하는 방법의 다른 일 실시예를 보여주는 흐름도이다.
1 is a diagram showing a conventional big data system.
2 is a diagram schematically illustrating a big data distribution system according to an embodiment of the present invention.
3 is a block diagram illustrating the task distribution system of FIG.
FIG. 4 is a block diagram for explaining the collection task management unit of FIG. 3. FIG.
5 is a diagram for explaining an example of distributing a collection job to at least one job management system.
FIG. 6 is a block diagram for explaining the analysis task management unit of FIG. 3. FIG.
7 is a view for explaining an example of distributing analysis work to at least one work management system.
8 is a flowchart illustrating a method of distributing big data according to an embodiment of the present invention.
Figure 9 is a flow chart illustrating one embodiment of a method for determining a storage node to store collected data.
10 is a flow chart illustrating another embodiment of a method for determining a storage node to store collected data.

이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예에 따른 빅데이터 분산 시스템을 개략적으로 보여주는 도면이다.2 is a diagram schematically illustrating a big data distribution system according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 빅데이터 분산 시스템(200)은 수집 시스템(210), 분석 시스템(220), 작업 관리 시스템(230), 저장 시스템(240) 및 작업 분배 시스템(250)을 포함한다.2, a big data distribution system 200 according to an embodiment of the present invention includes a collection system 210, an analysis system 220, a task management system 230, a storage system 240, (250).

이러한 빅데이터 분산 시스템(200)은 수집 작업 및 분석 작업을 수행한다. 수집 작업은 데이터를 수집하고, 저장하는 일련의 작업을 의미하며, 수집 시스템(210), 작업 분배 시스템(250), 작업 관리 시스템(230), 및 저장 시스템(240)을 통해 수행된다.Such a big data distribution system 200 performs collection work and analysis work. The collection task is a series of tasks for collecting and storing data and is performed through the collection system 210, the task distribution system 250, the task management system 230, and the storage system 240.

한편, 분석 작업은 저장된 데이터를 분석하고, 분석 결과를 저장하는 일련의 작업을 의미하며, 분석 시스템(220), 작업 분배 시스템(250), 작업 관리 시스템(230), 및 저장 시스템(240)을 통해 수행된다.Meanwhile, the analysis job is a series of operations for analyzing the stored data and storing the analysis results. The analyzing system 220, the work distribution system 250, the work management system 230, and the storage system 240 Lt; / RTI >

이하에서는 수집 작업 또는 분석 작업을 수행하는 구성요소들에 대하여 구체적으로 설명하도록 한다.Hereinafter, the components for performing the collection operation or the analysis operation will be described in detail.

먼저, 수집 시스템(210)은 데이터를 수집한다. 이때, 수집되는 데이터는 정형 데이터, 반정형 데이터 및 비정형 데이터를 포함한다.First, the acquisition system 210 collects data. At this time, the data to be collected includes regular data, semi-regular data and unstructured data.

정형 데이터는 고정된 필드에 저장된 데이터를 나타내는 것으로서, 관계형 데이터베이스, 스프레드쉬트 등이 있다. 비정형 데이터는 고정된 필드에 저장되어 있지 않는 데이터를 나타내는 것으로서, 텍스트 문서, 이미지, 동영상, 음성 데이터 등이 있다. 반정형 데이터는 고정된 필드에 저장되어 있지 않지만 메타데이터나 스키마를 포함하는 데이터를 나타내는 것으로서, XML, HTML, 텍스트 등이 있다.Formal data represents data stored in fixed fields, such as relational databases, spreadsheets, and the like. Unstructured data refers to data that is not stored in a fixed field, such as text documents, images, moving images, voice data, and the like. Semi-structured data refers to data that is not stored in a fixed field but contains metadata or schemas, such as XML, HTML, and text.

이러한 수집 시스템(210)은 다양한 수집원(미도시)으로부터 수집된 수집 데이터를 작업 분배 시스템(250)에 전송하면서 작업을 요청한다.This collection system 210 requests the job while transferring collected data collected from various collectors (not shown) to the job distribution system 250.

다음, 분석 시스템(220)은 데이터를 분석한다. 분석 시스템(220)은 저장 시스템(240)에 저장된 데이터를 읽어와서 데이터 분석을 수행한다. 이를 위하여, 분석 시스템(220)은 작업 분배 시스템(250)에 분석하고자 하는 분석 데이터 및 작업을 요청한다.The analysis system 220 then analyzes the data. The analysis system 220 reads the data stored in the storage system 240 and performs data analysis. To this end, the analysis system 220 requests the work distribution system 250 for analysis data and work to be analyzed.

다음, 작업 관리 시스템(230)은 수집 작업 또는 분석 작업을 수행한다. 보다 구체적으로 설명하면, 작업 관리 시스템(230)은 작업 분배 시스템(250)에 의하여 수집 작업을 할당 받으면, 수집 시스템(210)에 의하여 수집된 데이터를 저장 시스템(240)에 저장한다.Next, the job management system 230 performs a collection job or an analysis job. More specifically, the job management system 230 stores the data collected by the collection system 210 in the storage system 240 when the job distribution system 250 is assigned the collection job.

반면, 작업 관리 시스템(230)은 작업 분배 시스템(250)에 의하여 분석 작업을 할당 받으면, 분석 시스템(220)이 요청한 분석 데이터를 저장 시스템(240)에 요청한다. 그리고, 작업 관리 시스템(230)은 저장 시스템(240)으로부터 분석 데이터를 수신하면, 수신한 분석 데이터를 작업 분배 시스템(250)에 전송한다.On the other hand, when the task management system 230 is assigned an analysis task by the task distribution system 250, the analysis system 220 requests the analysis data requested by the analysis system 220 to the storage system 240. When the task management system 230 receives the analysis data from the storage system 240, the task management system 230 transmits the received analysis data to the task distribution system 250.

이러한 작업 관리 시스템(230)은, 도 2에 도시된 바와 같이, 복수 개로 구성되고, 각 작업 관리 시스템(230)은 적어도 하나의 저장 시스템(240)과 연결된다. 이때, 복수의 작업 관리 시스템들(230)은 하나 이상의 저장 시스템(240)을 공유할 수 있다.As shown in FIG. 2, the task management system 230 includes a plurality of tasks, and each task management system 230 is connected to at least one storage system 240. At this time, the plurality of job management systems 230 may share one or more storage systems 240.

예컨대, 제1 작업 관리 시스템(231)은 제1 내지 제3 저장 시스템들(241, 242, 243)과 연결될 수 있다. 또한, 제2 작업 관리 시스템(232)은 제2 내지 제4 저장 시스템들(242, 243, 244)과 연결될 수 있다. 이에 따라, 제1 및 제2 작업 관리 시스템(231, 232)는 제2 및 제3 저장 시스템들(242, 243)을 공유하게 된다.For example, the first job management system 231 may be connected to the first through third storage systems 241, 242, and 243. In addition, the second job management system 232 may be connected to the second through fourth storage systems 242, 243, and 244. Accordingly, the first and second job management systems 231 and 232 share the second and third storage systems 242 and 243, respectively.

한편, 일 실시예에 있어서, 작업 관리 시스템(230)은 수집 작업 및 분석 작업을 모두 수행할 수 있지만, 다른 일 실시예에 있어서는 수집 작업을 수행하는 수집 작업 관리 시스템, 및 분석 작업을 수행하는 분석 작업 관리 시스템을 포함할 수도 있다. 이하에서는 설명의 편의를 위하여 하나의 작업 관리 시스템(230)에서 수집 작업 및 분석 작업을 모두 수행할 수 있다고 가정한다.Meanwhile, in one embodiment, the job management system 230 may perform both the collection job and the analysis job, but in another embodiment, the job management system 230 may perform the collection job, and the analysis A work management system may be included. Hereinafter, it is assumed that one job management system 230 can perform both a collection job and an analysis job for convenience of explanation.

다음, 저장 시스템(240)은 데이터가 저장된 복수의 데이터 노드들을 포함한다. 이때, 데이터 노드는 물리적으로 데이터를 저장하는 복수의 스토로지들, 및 상기 복수의 스토로지들을 관리하는 서버로 구성된다.Next, the storage system 240 includes a plurality of data nodes in which data is stored. At this time, the data node includes a plurality of stores for physically storing data, and a server for managing the plurality of stores.

이하에서는 데이터 노드와 저장 데이터 노드를 혼용하고 있다. 이때, 저장 데이터 노드는 수집 데이터를 저장할 데이터 노드 또는 분석 데이터가 저장된 데이터 노드를 의미한다.Hereinafter, a data node and a storage data node are mixed. At this time, the storage data node means a data node storing the collected data or a data node storing analyzed data.

다음, 작업 분배 시스템(250)은 복수의 작업 관리 시스템들(230) 중 적어도 하나를 선택하여 작업을 분배한다. 여기서, 작업은 수집 시스템(210)에 의하여 요청되는 수집 작업, 및 분석 시스템(220)에 의하여 요청되는 분석 작업을 포함한다.The task distribution system 250 then selects at least one of the plurality of task management systems 230 to distribute the task. Here, the tasks include the collection tasks requested by the collection system 210, and the analysis tasks requested by the analysis system 220.

이하에서는 도 3 내지 도 7을 참조하여 작업 분배 시스템(250)에 대하여 보다 구체적으로 설명하도록 한다.Hereinafter, the job distribution system 250 will be described in more detail with reference to FIGS. 3 to 7. FIG.

도 3은 도 2의 작업 분배 시스템을 설명하기 위한 블록도이다.3 is a block diagram illustrating the task distribution system of FIG.

도 3을 참조하면, 작업 분배 시스템(250)은 작업 유형 판단부(310), 수집작업 관리부(320), 저장위치 데이터베이스(330), 및 분석작업 관리부(340)를 포함하고, 일 실시예에 있어서, 모니터링부(350)를 더 포함할 수 있다.3, the job distribution system 250 includes a job type determination unit 310, a collection job management unit 320, a storage location database 330, and an analysis job management unit 340, And may further include a monitoring unit 350.

먼저, 저장위치 데이터베이스(330)는 저장 시스템(240)에 저장된 데이터들의 위치 정보를 포함한다. 이때, 위치 정보는 저장 시스템 식별정보, 데이터 노드 식별정보, 스토로지 식별정보, 및 스토로지 위치정보 중 적어도 하나를 포함한다.First, the storage location database 330 includes location information of the data stored in the storage system 240. At this time, the location information includes at least one of the storage system identification information, the data node identification information, the storage identification information, and the storage location information.

다음, 작업 유형 판단부(310)는 작업 유형을 판단한다. 이때, 작업 유형은 수집 작업 및 분석 작업으로 구분된다.Next, the operation type determination unit 310 determines the operation type. At this time, the operation type is classified into a collection operation and an analysis operation.

보다 구체적으로 설명하면, 작업 유형 판단부(310)는 수집 시스템(210)으로부터 수집 데이터와 함께 작업 요청이 수신되면, 해당 작업을 수집 작업으로 판단하고, 상기 수집 데이터를 수집작업 관리부(320)로 전달한다.More specifically, when the job request is received together with the collected data from the collecting system 210, the job type determining unit 310 determines that the job is a collecting job, and transmits the collected data to the collecting job managing unit 320 .

반면, 작업 유형 판단부(310)는 분석 시스템(220)으로부터 분석 데이터 요청 및 작업 요청이 수신되면, 해당 작업을 분석 작업으로 판단하고, 분석작업 관리부(320)에 분석 데이터를 요청한다.On the other hand, when the analysis data request and the work request are received from the analysis system 220, the work type determination unit 310 determines the work as an analysis work and requests the analysis work management unit 320 for analysis data.

다음, 수집작업 관리부(320)는 수집 데이터에 대한 저장개수 및 저장위치를 결정한다. 그리고, 수집작업 관리부(320)는 상기 결정된 저장개수 및 저장위치를 기초로 적어도 하나의 작업 관리 시스템(230)을 선택하고, 선택된 적어도 하나의 작업 관리 시스템(230)에 수집 작업을 분배한다.Next, the collection job management unit 320 determines the storage number and storage location for the collected data. The collection task management unit 320 selects at least one task management system 230 based on the determined storage number and storage position, and distributes the collected task to at least one selected task management system 230.

이하에서는 도 4를 참조하여 수집작업 관리부(320)에 대하여 보다 구체적으로 설명하도록 한다.Hereinafter, the collection job management unit 320 will be described in more detail with reference to FIG.

도 4는 도 3의 수집작업 관리부를 설명하기 위한 블록도이다.FIG. 4 is a block diagram for explaining the collection task management unit of FIG. 3. FIG.

도 4를 참조하면, 수집작업 관리부(320)는 데이터 유형 설정부(410), 데이터 유형 판단부(420), 저장개수 설정부(430), 저장개수 결정부(440), 데이터 크기 판단부(450), 저장단위 설정부(460), 저장위치 결정부(470), 및 수집작업 분배부(480)를 포함한다.4, the collection task management unit 320 includes a data type setting unit 410, a data type determination unit 420, a storage number setting unit 430, a storage number determination unit 440, a data size determination unit 450, a storage unit setting unit 460, a storage position determining unit 470, and a collecting task distributor 480.

먼저, 데이터 유형 설정부(410)는 데이터 유형을 설정한다. 데이터 유형은 데이터의 형태, 중요도, 및 활용도 중 적어도 하나를 이용하여 구분된다. 예컨대, 데이터 유형은 아래 [표 1]과 같은 데이터 유형 테이블을 이용하여 설정될 수 있다.First, the data type setting unit 410 sets a data type. Data types are distinguished using at least one of the type, importance, and utilization of data. For example, the data type may be set using a data type table such as the following [Table 1].

데이터의 형태Type of data 데이터의 중요도Importance of data 데이터의 활용도Usage of data 정형(100)Orthopedic (100) 상(10)(10) 상(1)Phase (1) 반정형(200)The semi- 중(20)(20) 중(2)(2) 비정형(300)Atypical (300) 하(30)(30) 하(3)(3)

표 1을 참조하면, 데이터 유형 설정부(410)는 데이터의 형태를 정형, 반정형, 및 비정형으로 구분하고, 각각에 대하여 100, 200, 300을 설정할 수 있다. 또한, 데이터의 중요도를 상, 중, 하로 구분하고, 각각에 대하여 10, 20, 30을 설정할 수 있다. 그리고, 데이터의 활용도를 상, 중, 하로 구분하고, 각각에 대하여 1, 2, 3을 설정할 수 있다.Referring to Table 1, the data type setting unit 410 may divide the data type into a regular type, a semi-regular type, and an irregular type and set 100, 200, and 300 for each. In addition, the importance of data can be divided into upper, middle, and lower, and 10, 20, and 30 can be set for each. Then, the utilization of data can be divided into upper, middle, and lower, and 1, 2, and 3 can be set for each.

한편, 데이터 유형 설정부(410)는 설정값들의 합을 데이터 유형으로 설정할 수 있다. 예컨대, 데이터의 형태가 정형이고, 중요도가 상이며, 활용도가 상인 데이터는 데이터 유형이 111이 된다.Meanwhile, the data type setting unit 410 may set the sum of the set values to the data type. For example, the data type is 111, the data type is regular, the importance is high, and the utilization rate is data type 111.

다음, 데이터 유형 판단부(420)는 수집 데이터에 대한 데이터 유형을 판단한다. 보다 구체적으로, 데이터 유형 판단부(420)는 수집 데이터에 대한 형태, 중요도, 및 활용도를 판단하고, 데이터 유형 테이블에서 각 요소에 대한 설정값을 확인한다. 그런 다음, 데이터 유형 판단부(420)는 상기 확인된 설정값들을 합산한 값을 데이터 유형으로 판단한다.Next, the data type determination unit 420 determines the data type for the collected data. More specifically, the data type determination unit 420 determines the type, importance, and utilization of the collected data, and confirms the set values for each element in the data type table. Then, the data type determination unit 420 determines that the value obtained by summing the determined setting values is a data type.

다음, 저장개수 설정부(430)는 데이터 유형에 따른 저장개수를 설정한다. 여기서, 저장개수는 해당 데이터를 저장할 데이터 노드의 개수를 의미하는 것으로서, 동일 데이터가 저장 시스템(240)에 저장되는 개수를 나타낸다. Next, the storage number setting unit 430 sets the storage number according to the data type. Here, the number of storage means the number of data nodes for storing the corresponding data, and indicates the number of the same data stored in the storage system 240.

예컨대, 저장개수는 아래 [표 2]와 같이 설정될 수 있다.For example, the number of storage can be set as shown in Table 2 below.

데이터 유형Data type 저장개수(데이터 노드 개수)Number of storage (number of data nodes) 111,112,121,122,211,221,311,321111,112,121,122,211,221,311,321 55 113,123,212,213,222,223,312,313,322113,123, 212,213,222,223,312,313,322 44 131,132,133,231,232,233,323,331,332,333131, 132, 133, 231, 232, 233, 323, 331, 332, 333 33

표 2를 참조하면, 저장개수 설정부(430)는 데이터 유형이 111, 211, 311과 같이 중요도 및 활용도가 상인 데이터에 대하여 저장개수를 5로 설정할 수 있다. 한편, 저장개수 설정부(430)는 133, 233, 333과 같이 중요도 및 활용도가 하인 데이터에 대하여 저장개수를 3으로 설정할 수 있다.Referring to Table 2, the storage number setting unit 430 may set the storage number to 5 for the data of which the data type is 111, 211, 311 and whose importance and utilization are high. On the other hand, the storage number setting unit 430 can set the storage number to 3 for the data having the importance and utilization degree such as 133, 233, and 333.

이에 따라, 중요도 및 활용도가 높은 데이터는 상대적으로 많은 데이터 노드에 저장되고, 중요도 및 활용도가 낮은 데이터는 상대적으로 적은 데이터 노드에 저장됨으로써 저장공간을 효율적으로 사용할 수 있다.Accordingly, data having high importance and utilization is stored in a relatively large number of data nodes, and data having low importance and utilization is stored in a relatively small number of data nodes, so that the storage space can be efficiently used.

다음, 저장개수 결정부(440)는 수집 데이터의 저장개수를 결정한다. 보다 구체적으로, 저장개수 결정부(440)는 수집 데이터에 대한 데이터 유형이 판단되면, 판단된 데이터 유형을 기초로 저장개수를 결정한다.Next, the storage number determination unit 440 determines the storage number of collected data. More specifically, when the data type for the collected data is determined, the stored number determining unit 440 determines the stored number based on the determined data type.

다음, 데이터 크기 판단부(450)는 수집 데이터의 크기를 판단한다.Next, the data size determination unit 450 determines the size of the collected data.

다음, 저장단위 설정부(460)는 데이터의 크기에 따른 최소 저장단위를 설정한다. 여기서, 최소 저장단위는 저장공간의 고정된 블록 단위를 의미하는 것으로서, 데이터 노드의 저장단위를 나타낸다.Next, the storage unit setting unit 460 sets a minimum storage unit according to the size of the data. Herein, the minimum storage unit refers to a fixed block unit of the storage space, and represents a storage unit of the data node.

예컨대, 최소 저장단위는 아래 [표 3]과 같이 설정될 수 있다.For example, the minimum storage unit may be set as shown in Table 3 below.

데이터 크기Data Size 데이터 노드 그룹Data node group 최소 저장단위Minimum storage unit 노드 번호Node number 0MB≤X<10MB0MB ≤ X <10MB AA 1MB1MB 1, 2, 3, 4,...1, 2, 3, 4, ... 10MB≤X<50MB10MB ≤ X <50MB BB 10MB10MB 11, 12, 13,...11, 12, 13, ... 50MB≤X<100MB50MB ≤ X <100MB CC 50MB50MB 21, 22, 23,...21, 22, 23, ... 100MB≤X<500MB100MB ≤ X <500MB DD 100MB100MB 31, 32, 33,...31, 32, 33, ... 500MB≤X500MB≤X EE 500MB500MB 41, 42, 43,...41, 42, 43, ...

표 3을 참조하면, 최소 저장단위는 데이터 크기에 따라 5개로 분류될 수 있다. 데이터 크기가 0MB 보다 크고 10MB 보다 작으면, 최소 저장단위를 1MB로 설정하고, 데이터 크기가 500MB 보다 크거나 같으면, 최소 저장단위를 500MB로 설정한다.Referring to Table 3, the minimum storage units can be classified into five according to the data size. If the data size is greater than 0 MB and less than 10 MB, set the minimum storage unit to 1 MB, and if the data size is greater than or equal to 500 MB, set the minimum storage unit to 500 MB.

한편, 상기 데이터 노드 그룹은 최소 저장단위가 동일한 복수의 데이터 노드들을 포함할 수 있다. 예컨대, 데이터 노드 그룹 A는 최소 저장단위가 1MB인 복수의 데이터 노드들(1, 2, 3,...)을 포함할 수 있다.Meanwhile, the data node group may include a plurality of data nodes having the same minimum storage unit. For example, the data node group A may include a plurality of data nodes 1, 2, 3, ... with a minimum storage unit of 1 MB.

다음, 저장위치 결정부(470)는 데이터 크기 판단부(450)에 의하여 판단된 수집 데이터의 크기, 및 저장개수 결정부(440)에 의하여 결정된 수집 데이터의 저장개수를 기초로 저장위치를 결정한다. 이때, 저장위치는 수집 데이터가 저장되는 위치를 의미하는 것으로서, 특정 데이터 노드를 나타낸다.Next, the storage location determination unit 470 determines a storage location based on the size of the collection data determined by the data size determination unit 450 and the storage number of the collection data determined by the storage number determination unit 440 . At this time, the storage location refers to the location where the collected data is stored, and represents a specific data node.

보다 구체적으로, 저장위치 결정부(470)는 수집 데이터의 크기를 기초로 데이터 노드 그룹을 결정한다. 그런 다음, 저장위치 결정부(470)는 상기 결정된 데이터 노드 그룹에 포함된 복수의 데이터 노드들 중 적어도 하나를 선택하고, 상기 선택된 적어도 하나의 데이터 노드를 저장 데이터 노드로 결정한다.More specifically, the storage position determination unit 470 determines the data node group based on the size of the collected data. Then, the storage location determination unit 470 selects at least one of the plurality of data nodes included in the determined data node group, and determines the selected at least one data node as the storage data node.

이때, 저장위치 결정부(470)는 수집 데이터의 저장개수를 기초로 적어도 하나의 데이터 노드를 선택할 수 있다.At this time, the storage position determination unit 470 may select at least one data node based on the number of stored data.

일 실시예에 있어서, 저장위치 결정부(470)는 데이터 노드 그룹에 포함된 복수의 데이터 노드들 중 저장개수만큼을 선택할 수 있다. 예를 들어 설명하면, 저장개수 결정부(440)가 데이터 크기가 25MB인 수집 데이터에 대한 저장개수를 3개로 결정하였다고 가정한다. 이때, 저장위치 결정부(470)는 데이터 노드 그룹 B에 포함된 복수의 데이터 노드들 중 3개를 선택할 수 있다.In one embodiment, the storage location determiner 470 may select as many storage nodes as the number of data nodes included in the data node group. For example, it is assumed that the storage number determination unit 440 determines the storage number of the collection data having the data size of 25 MB to be three. At this time, the storage location determination unit 470 can select three of the plurality of data nodes included in the data node group B.

다른 일 실시예에 있어서, 저장위치 결정부(470)는 데이터 노드의 여유공간 및 저장개수를 기초로 적어도 하나의 데이터 노드를 선택할 수 있다.In another embodiment, the storage location determiner 470 may select at least one data node based on the free space and the number of stores of the data node.

보다 구체적으로 설명하면, 저장위치 결정부(470)는 데이터 노드 그룹에 포함된 복수의 데이터 노드들 각각에 대한 여유공간을 확인한다. 그런 다음, 저장위치 결정부(470)는 여유공간이 수집 데이터의 크기 보다 큰 여유 노드를 추출하고, 상기 추출된 여유 노드의 개수와 저장개수를 비교한다.More specifically, the storage location determination unit 470 identifies a free space for each of the plurality of data nodes included in the data node group. Then, the storage position determination unit 470 extracts spare nodes having a spare space larger than the collected data size, and compares the extracted spare nodes with the stored number.

이때, 여유 노드의 개수가 저장 개수 보다 크거나 같으면, 저장위치 결정부(470)는 여유 노드들 중 저장개수만큼의 데이터 노드를 선택할 수 있다. 반면, 여유 노드의 개수가 저장개수 보다 작으면, 저장위치 결정부(470)는 모든 여유 노드를 선택할 수 있다.At this time, if the number of spare nodes is equal to or greater than the storage number, the storage location determination unit 470 can select as many storage nodes as the number of spare nodes. On the other hand, if the number of spare nodes is smaller than the storage number, the storage location determiner 470 can select all spare nodes.

한편, 저장위치 결정부(470)는 데이터 노드의 여유공간을 기초로 복수의 데이터 노드들 중 적어도 하나를 선택할 수 있다. 일 실시예에 있어서, 저장위치 결정부(470)는 여유공간이 큰 순서대로 적어도 하나의 데이터 노드를 선택할 수 있다.Meanwhile, the storage location determination unit 470 may select at least one of the plurality of data nodes based on the free space of the data node. In one embodiment, the storage location determiner 470 may select at least one data node in order of increasing free space.

한편, 저장위치 결정부(470)는 수집 데이터를 저장할 저장 데이터 노드가 결정되면 저장 데이터 노드 정보를 저장위치 데이터베이스(330)에 저장한다. 이때, 저장 데이터 노드 정보는 저장 시스템 식별정보, 데이터 노드 식별정보, 스토로지 식별정보 및 스토로지 위치정보를 포함할 수 있다.The storage location determination unit 470 stores the storage data node information in the storage location database 330 when the storage data node to store the collected data is determined. At this time, the stored data node information may include storage system identification information, data node identification information, storage identification information, and storage location information.

다음, 수집작업 분배부(480)는 수집 데이터를 복제하여 저장개수-1 만큼의 수집 데이터들을 생성하고, 수집 데이터들 각각에 대한 수집 작업을 적어도 하나의 작업 관리 시스템(230)에 분배한다.Next, the collection task distributor 480 replicates the collection data to generate collection data of the number of stores -1, and distributes the collection task for each collection data to at least one job management system 230. [

보다 구체적으로 설명하면, 수집작업 분배부(480)는 수집 데이터를 복제하여 저장개수-1 만큼의 수집 데이터들을 생성한다.More specifically, the collecting task distributor 480 replicates the collected data and generates collected data of the stored number -1.

또한, 수집작업 분배부(480)는 저장위치 결정부(470)에 의하여 결정된 저장 데이터 노드와 연결된 작업 관리 시스템(230)을 확인한다. 그리고, 수집작업 분배부(480)는 수집 데이터 및 저장 데이터 노드 정보와 함께 수집작업 요청을 상기 확인된 작업 관리 시스템(230)에 송신한다.In addition, the collection task distributor 480 identifies the task management system 230 connected to the storage data node determined by the storage location determiner 470. Then, the collection task distributor 480 transmits the collection task request together with the collected data and the stored data node information to the identified task management system 230.

이때, 특정 데이터 노드와 연결된 작업 관리 시스템(230)이 복수 개이면, 수집작업 분배부(480)는 복수의 작업 관리 시스템들(230) 중 하나를 선택하여 수집 작업을 분배한다.At this time, if there are a plurality of job management systems 230 connected to specific data nodes, the collection job distribution unit 480 selects one of the plurality of job management systems 230 to distribute the collection job.

한편, 수집작업 분배부(480)는 작업 관리 시스템(230)에 대한 상태 정보를 기초로 복수의 작업 관리 시스템들(230) 중 하나를 선택할 수 있다. 이때, 상태 정보는 처리 중이거나 대기중인 수집작업 수, 처리 중이거나 대기 중인 분석작업 수, CPU 사용률, 메모리 사용률, 및 작업 완료 예상시간 중 적어도 하나를 포함할 수 있다.On the other hand, the collection task distributor 480 can select one of the plurality of job management systems 230 based on the status information on the job management system 230. At this time, the status information may include at least one of the number of collected or waiting collection tasks, the number of analysis tasks being processed or pending, the CPU utilization, the memory utilization, and the estimated completion time of the task completion.

일 실시예에 있어서, 수집작업 분배부(480)는 CPU 사용률 및 메모리 사용률이 가장 낮은 작업 관리 시스템(230)에 수집 작업을 분배할 수 있다.In one embodiment, the collection task distributor 480 may distribute the collection task to the task management system 230 that has the lowest CPU utilization and memory utilization.

다른 일 실시예에 있어서, 수집작업 분배부(480)는 수집작업 수 및 분석작업 수의 합이 가장 작은 작업 관리 시스템(230)에 수집 작업을 분배할 수 있다.In another embodiment, the collection task distributor 480 may distribute the collection task to the task management system 230, which has the smallest sum of the number of collection tasks and the number of analysis tasks.

또 다른 일 실시예에 있어서, 수집작업 분배부(480)는 작업 완료 예상시간이 가장 빠른 작업 관리 시스템(230)에 수집 작업을 분배할 수 있다.In another embodiment, the collection task distributor 480 may distribute the collection task to the task management system 230 having the earliest estimated task completion time.

이하에서는 도 5를 참조하여 수집작업 관리부(320)에서 적어도 하나의 작업 관리 시스템230)에 수집 작업을 분배하는 예를 설명하도록 한다.Hereinafter, an example in which the collection task is distributed to at least one task management system 230 in the collection task management unit 320 will be described with reference to FIG.

도 5는 적어도 하나의 작업 관리 시스템에 수집 작업을 분배하는 예를 설명하기 위한 도면이다.5 is a diagram for explaining an example of distributing a collection job to at least one job management system.

먼저, 수집 시스템(210)이 데이터(510)를 수집하고, 수집한 데이터(510)를 작업 분배 시스템(250)에 송신하면서 작업을 요청한다.First, the collection system 210 collects the data 510 and sends the collected data 510 to the job distribution system 250 to request a job.

다음, 작업 분배 시스템(250)은 수집 시스템(210)으로부터 요청된 작업을 수집 작업으로 판단하고, 수집 데이터(510)에 대한 저장개수를 결정한다. 또한, 작업 분배 시스템(250)은 상기 저장개수 및 수집 데이터(510)의 크기를 기초로 복수의 데이터 노드들 중 적어도 하나를 선택하여 저장위치를 결정한다.The job distribution system 250 then determines the requested job as a collection job from the collection system 210 and determines the number of stores for the collection data 510. In addition, the work distribution system 250 selects at least one of the plurality of data nodes based on the number of storage and the size of the collection data 510 to determine the storage location.

예를 들어 설명하면, 데이터 유형 테이블이 표 1과 같고, 최소 저장단위가 표 2와 같이 설정되었다고 가정한다.For example, assume that the data type table is the same as Table 1, and the minimum storage unit is set as shown in Table 2.

수집 데이터(510)의 형태가 정형이고, 중요도가 상이며, 활용도가 하라고 판단되면, 작업 분배 시스템(250)은 수집 데이터(510)의 저장개수를 4로 결정할 수 있다. 그리고, 수집 데이터(510)의 크기가 15MB이면, 작업 분배 시스템(250)은 데이터 노드 그룹 B에 포함된 데이터 노드들 중 4개를 선택하고, 선택된 데이터 노드들을 저장 데이터 노드(521, 522, 523, 524)로 결정할 수 있다.The work distribution system 250 may determine the number of stored data 510 to be four, if the type of the collected data 510 is regular, of high importance, and is determined to be utilized. Then, if the size of the collected data 510 is 15 MB, the task distribution system 250 selects four of the data nodes included in the data node group B and transmits the selected data nodes to the storage data nodes 521, 522, 523 , &Lt; / RTI &gt; 524).

다음, 작업 분배 시스템(250)은 수집 데이터(510)를 복제한 3개의 복제 데이터(511, 512, 513)를 생성한다. 그리고, 수집 데이터(510) 및 복제 데이터(511, 512, 513) 각각에 대한 수집 작업을 적어도 하나의 작업 관리 시스템(250)에 분배한다.Next, the work distribution system 250 generates three replicated data 511, 512, 513 replicating the collected data 510. Then, the collection task for the collection data 510 and the replication data 511, 512, and 513 is distributed to at least one task management system 250.

이때, 작업 분배 시스템(250)은 각 저장 데이터 노드와 연결된 작업 관리 시스템(250)을 확인하고, 확인된 작업 관리 시스템(250)에 해당 저장 데이터 노드에 대한 수집 작업을 분배할 수 있다.At this time, the job distribution system 250 can identify the job management system 250 connected to each storage data node and distribute the collection job for the corresponding storage data node to the confirmed job management system 250.

도 5에 도시된 바에 따르면, 작업 분배 시스템(250)은 제1 저장 데이터 노드(521)가 제1 작업 관리 시스템(231)과 연결되어 있음을 확인하고, 수집 데이터(510) 및 제1 저장 데이터 노드 정보와 함께 수집작업 요청을 제1 작업 관리 시스템(231)에 송신할 수 있다.5, the task distribution system 250 confirms that the first storage data node 521 is associated with the first task management system 231, and the collection data 510 and the first storage data It is possible to transmit the collection job request together with the node information to the first job management system 231. [

한편, 작업 분배 시스템(250)은 제2 저장 데이터 노드(522)가 제1 및 제2 작업 관리 시스템들(231, 232)과 연결되어 있음을 확인하고, 제1 및 제2 작업 관리 시스템들(231, 232) 중 하나를 선택할 수 있다. 이때, 작업 분배 시스템(250)은 작업 관리 시스템의 상태 정보를 기초로 선택할 수 있다.Meanwhile, the work distribution system 250 may be configured to determine that the second storage data node 522 is connected to the first and second job management systems 231 and 232, 231, and 232 may be selected. At this time, the work distribution system 250 can select based on the status information of the job management system.

제1 작업 관리 시스템(231)은 유휴상태이고, 제2 작업 관리 시스템(232)은 동작 중이라면, 작업 분배 시스템(250)은 제1 복제 데이터(511) 및 제2 저장 데이터 노드 정보와 함께 수집작업 요청을 제1 작업 관리 시스템(231)에 송신할 수 있다.If the first task management system 231 is idle and the second task management system 232 is in operation then the task distribution system 250 may collect the first duplicate data 511 and the second stored data node information And send the job request to the first job management system 231. [

작업 분배 시스템(250)은 제3 및 제4 저장 데이터 노드(523, 524) 각각에 대해서도 상술한 바와 같이 작업 관리 시스템(230)을 선택하여 수집 작업을 분배 및 요청할 수 있다.The work distribution system 250 may also select and distribute the collection job to the third and fourth storage data nodes 523 and 524, respectively, as described above.

한편, 작업 관리 시스템(230)은 수집 작업이 요청되면, 수신한 데이터를 저장 데이터 노드에 저장한다.Meanwhile, the job management system 230 stores the received data in the storage data node when the collecting job is requested.

다시, 도 3을 참조하면, 분석작업 관리부(340)는 저장위치 데이터베이스(330)에서 분석 데이터가 저장된 저장 데이터 노드를 검색하고, 상기 검색된 저장 데이터 노드와 연결된 적어도 하나의 작업 관리 시스템(230)에 분석 작업을 분배한다.3, the analysis job management unit 340 searches the storage location database 330 for the stored data nodes storing the analysis data, and the at least one job management system 230 connected to the retrieved stored data nodes Distribute the analysis work.

이하에서는 도 6을 참조하여 분석작업 관리부(340)에 대하여 구체적으로 설명하도록 한다.Hereinafter, the analysis task manager 340 will be described in detail with reference to FIG.

도 6은 도 3의 분석작업 관리부를 설명하기 위한 블록도이다.FIG. 6 is a block diagram for explaining the analysis task management unit of FIG. 3. FIG.

도 6을 참조하면, 분석작업 관리부(340)는 저장 데이터 노드 검색부(610), 분석작업 분배부(620) 및 분석 데이터 취합부(630)를 포함한다.6, the analysis job management unit 340 includes a storage data node search unit 610, an analysis job distribution unit 620, and an analysis data collection unit 630.

먼저, 저장 데이터 노드 검색부(610)는 분석 데이터가 저장된 저장 데이터 노드를 저장위치 데이터베이스(330)에서 검색한다. 검색된 저장 데이터 노드가 복수개이면, 저장 데이터 노드 검색부(610)는 복수의 저장 데이터 노드들 중 하나를 선택한다.First, the storage data node searching unit 610 searches the storage location database 330 for a storage data node storing analysis data. If there are a plurality of stored stored data nodes, the stored data node searching unit 610 selects one of the plurality of stored data nodes.

다음, 분석작업 분배부(620)는 저장 데이터 노드와 연결된 작업 관리 시스템(230)을 확인하고, 확인된 작업 관리 시스템(230)에 저장 데이터 노드 정보 및 분석 데이터 정보와 함께 분석작업 요청을 송신한다.Next, the analysis task distributor 620 confirms the task management system 230 connected to the stored data node, and sends an analysis task request together with the stored data node information and analysis data information to the confirmed task management system 230 .

이때, 저장 데이터 노드와 연결된 작업 관리 시스템(230)이 복수 개이면, 분석작업 분배부(620)는 복수의 작업 관리 시스템들(230) 중 하나를 선택하여 분석 작업을 분배한다.At this time, if there are a plurality of job management systems 230 connected to the storage data nodes, the analysis job distribution unit 620 selects one of the plurality of job management systems 230 and distributes the analysis job.

한편, 분석작업 분배부(620)는 작업 관리 시스템(230)에 대한 상태 정보를 기초로 복수의 작업 관리 시스템들(230) 중 하나를 선택할 수 있다. 이때, 상태 정보는 처리 중이거나 대기중인 수집작업 수, 처리 중이거나 대기 중인 분석작업 수, CPU 사용률, 메모리 사용률, 및 작업 완료 예상시간 중 적어도 하나를 포함할 수 있다.On the other hand, the analysis task distributor 620 can select one of the plurality of job management systems 230 based on the status information on the job management system 230. At this time, the status information may include at least one of the number of collected or waiting collection tasks, the number of analysis tasks being processed or pending, the CPU utilization, the memory utilization, and the estimated completion time of the task completion.

일 실시예에 있어서, 분석작업 분배부(620)는 CPU 사용률 및 메모리 사용률이 가장 낮은 작업 관리 시스템(230)에 분석 작업을 분배할 수 있다.In one embodiment, the analysis task distributor 620 may distribute analysis tasks to the task management system 230 having the lowest CPU utilization and memory utilization.

다른 일 실시예에 있어서, 분석작업 분배부(620)는 수집작업 수 및 분석작업 수의 합이 가장 작은 작업 관리 시스템(230)에 분석 작업을 분배할 수 있다.In another embodiment, the analysis task distributor 620 may distribute the analysis task to the task management system 230 having the smallest sum of the number of collection tasks and the number of analysis tasks.

또 다른 일 실시예에 있어서, 분석작업 분배부(620)는 작업 완료 예상시간이 가장 빠른 작업 관리 시스템(230)에 분석 작업을 분배할 수 있다.In yet another embodiment, the analysis task distributor 620 may distribute the analysis task to the task management system 230 that has the fastest task completion time.

다음, 분석 데이터 취합부(630)는 적어도 하나의 작업 관리 시스템(230)으로부터 데이터를 수신하고, 수신된 데이터들을 취합하여 분석 시스템(220)에 송신한다.Next, the analysis data collection unit 630 receives data from at least one job management system 230, collects the received data, and transmits the collected data to the analysis system 220. [

이하에서는 도 7을 참조하여 분석작업 관리부(340)에서 적어도 하나의 작업 관리 시스템230)에 분석 작업을 분배하는 예를 설명하도록 한다.Hereinafter, an example in which the analysis job is distributed to at least one job management system 230 in the analysis job management unit 340 will be described with reference to FIG.

도 7은 적어도 하나의 작업 관리 시스템에 분석 작업을 분배하는 예를 설명하기 위한 도면이다.7 is a view for explaining an example of distributing analysis work to at least one work management system.

먼저, 분석 시스템(220)은 분석하고자 하는 분석 데이터를 작업 분배 시스템(250)에 요청한다.First, the analysis system 220 requests the work distribution system 250 for analysis data to be analyzed.

작업 분배 시스템(250)은 분석 시스템(220)으로부터 요청된 작업을 분석 작업으로 판단하고, 요청된 분석 데이터가 저장된 저장 데이터 노드를 검색한다.The job distribution system 250 determines the requested job as an analysis job from the analysis system 220 and retrieves the stored data node in which the requested analysis data is stored.

검색 결과, 도 7에 도시된 바와 같이, 제1 내지 제4 저장 데이터 노드(521, 522, 523, 524)가 검색되면, 작업 분배 시스템(250)은 각 저장 데이터 노드와 연결된 작업 관리 시스템(250)을 확인한다. 그리고, 작업 분배 시스템(250)은 상기 확인된 작업 관리 시스템(250)에 해당 저장 데이터 노드에 대한 분석 작업을 분배할 수 있다.7, when the first to fourth storage data nodes 521, 522, 523, and 524 are retrieved, the task distribution system 250 searches the task management system 250 ). The work distribution system 250 may then distribute the analysis work for that storage node to the identified work management system 250.

작업 분배 시스템(250)은 제1 저장 데이터 노드(521)가 제1 작업 관리 시스템(231)과 연결되어 있음을 확인하고, 제1 저장 데이터 노드 정보와 함께 분석작업 요청을 제1 작업 관리 시스템(231)에 송신할 수 있다.The task distribution system 250 may determine that the first storage data node 521 is associated with the first task management system 231 and send the analysis task request along with the first stored data node information to the first task management system 231).

한편, 작업 분배 시스템(250)은 제2 저장 데이터 노드(522)가 제1 및 제2 작업 관리 시스템들(231, 232)과 연결되어 있음을 확인하고, 제1 및 제2 작업 관리 시스템들(231, 232) 중 하나를 선택할 수 있다. 이때, 작업 분배 시스템(250)은 작업 관리 시스템의 상태 정보를 기초로 선택할 수 있다.Meanwhile, the work distribution system 250 may be configured to determine that the second storage data node 522 is connected to the first and second job management systems 231 and 232, 231, and 232 may be selected. At this time, the work distribution system 250 can select based on the status information of the job management system.

제1 작업 관리 시스템(231)은 유휴상태이고, 제2 작업 관리 시스템(232)은 동작 중이라면, 작업 분배 시스템(250)은 제2 저장 데이터 노드 정보와 함께 분석작업 요청을 제1 작업 관리 시스템(231)에 송신할 수 있다.If the first task management system 231 is in the idle state and the second task management system 232 is in operation, the task distribution system 250 sends the analysis task request along with the second stored data node information to the first task management system (231).

작업 분배 시스템(250)은 제3 및 제4 저장 데이터 노드(523, 524) 각각에 대해서도 상술한 바와 같이 작업 관리 시스템(230)을 선택하여 분석 작업을 분배 및 요청할 수 있다.The work distribution system 250 may also select and distribute the analysis job to the third and fourth storage data nodes 523 and 524, respectively, as described above.

다음, 작업 관리 시스템(230)은 분석 작업이 요청되면, 저장 시스템(240)에 분석 데이터를 요청한다. 그리고, 저장 시스템(240)으로부터 요청한 데이터가 수신되면, 수신한 데이터를 작업 분배 시스템(250)에 전달한다.Next, the job management system 230 requests analysis data from the storage system 240 when the analysis job is requested. When the requested data is received from the storage system 240, the received data is transferred to the work distribution system 250.

이때, 제1 작업 관리 시스템(231)과 같이 수신된 데이터가 복수 개이면, 작업 관리 시스템(230)은 복수의 데이터들을 1차 취합하여 작업 분배 시스템(250)에 전달한다.At this time, if a plurality of pieces of data are received as in the first task management system 231, the task management system 230 first collects a plurality of pieces of data and transfers them to the task distribution system 250.

다음, 작업 관리 시스템(230)은 복수의 작업 관리 시스템들(230)로부터 수신된 데이터들을 2차 취합하여 분석 시스템(220)에 전달한다.Next, the job management system 230 collects the data received from the plurality of job management systems 230 and transfers the collected data to the analysis system 220.

다시 도 3을 참조하면, 모니터링부(350)는 복수의 작업 관리 시스템들(230)을 모니터링하고, 각 작업 관리 시스템(230)에 대한 상태정보를 생성한다. 이때, 상태 정보는 처리 중이거나 대기중인 수집작업 수, 처리 중이거나 대기 중인 분석작업 수, CPU 사용률, 메모리 사용률, 및 작업 완료 예상시간 중 적어도 하나를 포함할 수 있다.Referring again to FIG. 3, the monitoring unit 350 monitors the plurality of job management systems 230 and generates status information for each job management system 230. At this time, the status information may include at least one of the number of collected or waiting collection tasks, the number of analysis tasks being processed or pending, the CPU utilization, the memory utilization, and the estimated completion time of the task completion.

그리고, 생성된 상태정보를 수집작업 관리부(320) 및 분석작업 관리부(340)에 제공한다.The generated status information is provided to the collection job management unit 320 and the analysis job management unit 340.

도 8은 본 발명의 일 실시예에 따른 빅데이터 분산 방법을 보여주는 흐름도이다.8 is a flowchart illustrating a method of distributing big data according to an embodiment of the present invention.

도 8을 참조하면, 먼저, 작업 분배 시스템(250)은 작업 요청을 수신하면(S801), 요청된 작업의 유형을 판단한다(S802).Referring to FIG. 8, when the job distribution system 250 receives the job request (S801), it determines the type of the requested job (S802).

작업 분배 시스템(250)은 수집 시스템(210)으로부터 수집 데이터와 함께 작업 요청이 수신되면, 작업의 유형을 수집 작업으로 판단한다.When the job distribution request is received with the collected data from the collection system 210, the job distribution system 250 determines the type of job as a collection job.

반면, 작업 분배 시스템(250)은 분석 시스템(220)으로부터 분석 데이터 요청 및 작업 요청이 수신되면, 작업의 유형을 분석 작업으로 판단한다.On the other hand, when the analysis data request and the work request are received from the analysis system 220, the work distribution system 250 determines the type of work as an analysis work.

수집 작업이 요청되면, 작업 분배 시스템(250)은 수집 데이터를 저장할 제1저장 데이터 노드를 결정한다(S803). 제1 저장 데이터 노드를 결정하는 방법에 대해서는 도 9 및 도 10을 참조하여 보다 구체적으로 설명하도록 한다.When the collection job is requested, the job distribution system 250 determines a first storage data node to store the collected data (S803). A method of determining the first storage data node will be described in more detail with reference to FIGS. 9 and 10. FIG.

도 9는 수집 데이터를 저장할 저장 데이터 노드를 결정하는 방법의 일 실시예를 보여주는 흐름도이다.9 is a flow chart illustrating one embodiment of a method for determining stored data nodes to store collected data.

도 9를 참조하면, 먼저, 작업 분배 시스템(250)은 수집 데이터의 유형을 판단한다(S901). 보다 구체적으로, 작업 분배 시스템(250)은 수집 데이터의 형태, 중요도, 및 활용도 중 적어도 하나를 기초로 데이터 유형을 판단한다. 데이터 유형을 판단하기 위하여, 작업 분배 시스템(250)은 표 1과 같은 데이터 유형 테이블을 미리 설정할 수 있다.Referring to FIG. 9, first, the work distribution system 250 determines the type of collected data (S901). More specifically, the task distribution system 250 determines the data type based on at least one of the type, importance, and utilization of the collected data. To determine the data type, the task distribution system 250 may pre-set the data type table as shown in Table 1.

다음, 작업 분배 시스템(250)은 수집 데이터에 대한 저장개수를 결정한다(S902). 보다 구체적으로, 작업 분배 시스템(250)은 수집 데이터의 유형을 기초로 저장개수를 결정할 수 있다. 이를 위하여, 작업 분배 시스템(250)은 저장개수를 표 2와 같이 미리 설정할 수 있다.Next, the work distribution system 250 determines the number of stored data for the collected data (S902). More specifically, the workload distribution system 250 may determine the number of stores based on the type of collected data. To this end, the work distribution system 250 may preset the number of storage as shown in Table 2.

다음, 작업 분배 시스템(250)은 수집 데이터의 크기를 판단하고(S903), 크기를 기초로 데이터 노드 그룹을 결정한다(S904). 이때, 데이터 노드 그룹은 최소 저장단위가 동일한 복수의 데이터 노드들을 포함한다.Next, the work distribution system 250 determines the size of the collected data (S903), and determines the data node group based on the size (S904). At this time, the data node group includes a plurality of data nodes having the same minimum storage unit.

다음, 작업 분배 시스템(250)은 상기 결정된 데이터 노드 그룹에 포함된 데이터 노드들 중 저장개수 만큼의 데이터 노드를 선택한다(S905). 이때, 작업 분배 시스템(250)은 선택된 데이터 노드를 수집 데이터를 저장할 저장 데이터 노드로 결정한다. Next, the work distribution system 250 selects data nodes as many as the number of data nodes included in the determined data node group (S905). At this point, the work distribution system 250 determines the selected data node as the stored data node to store the collected data.

다음, 작업 분배 시스템(250)은 수집 데이터에 대한 저장 데이터 노드 정보를 저장위치 데이터베이스(330)에 저장한다(S906). 이때, 저장 데이터 노드 정보는 저장 시스템 식별정보, 데이터 노드 식별정보, 스토로지 식별정보, 및 스토로지 위치정보 중 적어도 하나를 포함한다.Next, the work distribution system 250 stores the stored data node information for the collected data in the storage location database 330 (S906). At this time, the stored data node information includes at least one of the storage system identification information, the data node identification information, the storage identification information, and the storage location information.

도 10은 수집 데이터를 저장할 저장 데이터 노드를 결정하는 방법의 다른 일 실시예를 보여주는 흐름도이다.10 is a flow chart illustrating another embodiment of a method for determining stored data nodes to store collected data.

도 10에 도시된 S1001 내지 S1004는 S901 내지 S904와 동일하므로 이에 대한설명은 생략하기로 한다.S1001 to S1004 shown in Fig. 10 are the same as S901 to S904, and a description thereof will be omitted.

작업 분배 시스템(250)은 데이터 노드 그룹이 결정되면 상기 결정된 데이터 노드 그룹에 포함된 데이터 노드들 각각의 여유공간을 확인한다(S1005).The work distribution system 250 determines the free space of each of the data nodes included in the determined data node group when the data node group is determined (S1005).

다음, 작업 분배 시스템(250)은 여유공간이 수집 데이터의 크기 보다 큰 여유 노드를 추출하고, 상기 추출된 여유 노드의 개수와 저장개수를 비교한다(S1006).Next, the work distribution system 250 extracts a spare node whose free space is larger than the collected data size, and compares the extracted number of spare nodes with the stored number (S1006).

이때, 여유 노드의 개수가 저장개수 보다 크거나 같으면, 작업 분배 시스템(250)은 여유 노드들 중 저장개수만큼의 데이터 노드를 선택한다(S1007). 반면, 여유 노드의 개수가 저장개수 보다 작으면, 작업 분배 시스템(250)은 모든 여유 노드를 선택한다(S1008).At this time, if the number of spare nodes is equal to or greater than the storage number, the work distribution system 250 selects data nodes corresponding to the number of spare nodes (S1007). On the other hand, if the number of spare nodes is less than the number of storage, the work distribution system 250 selects all spare nodes (S1008).

도 10에 도시되어 있지만, 다른 일 실시예에 있어서, 작업 분배 시스템(250)은 여유 노드의 개수가 저장개수 보다 작으면 다른 데이터 노드 그룹에 포함된 데이터 노드를 선택할 수도 있다.Although shown in FIG. 10, in another embodiment, the task distribution system 250 may select data nodes included in another data node group if the number of spare nodes is less than the number of storage nodes.

예를 들어 설명하면, 작업 분배 시스템(250)은 수집 데이터의 크기를 기초로 제1 데이터 노드 그룹을 선택하였다고 가정한다.For example, assume that the job distribution system 250 has selected the first data node group based on the size of the collected data.

상기 제1 데이터 노드 그룹에 포함된 여유 노드가 3개인 반면 저장개수가 4개이면, 작업 분배 시스템(250)은 제1 데이터 노드 그룹의 여유 노드 3개와 제2 데이터 노드 그룹의 여유 노드 1개를 선택할 수 있다. 이때, 제2 데이터 노드 그룹은 제1 데이터 노드 그룹 보다 최소 저장단위가 작은 데이터 노드를 포함할 수 있다.If there are three spare nodes included in the first data node group and four stored numbers, the task distribution system 250 allocates three spare nodes of the first data node group and one spare node of the second data node group You can choose. At this time, the second data node group may include a data node having a smaller minimum storage unit than the first data node group.

한편, 작업 분배 시스템(250)은 선택된 데이터 노드를 수집 데이터를 저장할 저장 데이터 노드로 결정한다.Meanwhile, the work distribution system 250 determines the selected data node as the stored data node to store the collected data.

다음, 작업 분배 시스템(250)은 수집 데이터에 대한 제1 저장 데이터 노드 정보를 저장위치 데이터베이스(330)에 저장한다(S1009).Next, the work distribution system 250 stores the first storage data node information for the collected data in the storage location database 330 (S1009).

다시 도 8을 참조하면, 작업 분배 시스템(250)은 복수의 작업 관리 시스템들(230) 중 적어도 하나를 결정한다(S804). 작업 분배 시스템(250)은 복수의 제1 저장 데이터 노드들 각각에 대하여 수집 작업을 분배할 작업 관리 시스템(230)을 선택한다.Referring again to FIG. 8, the task distribution system 250 determines at least one of the plurality of job management systems 230 (S804). The task distribution system 250 selects a task management system 230 to distribute the collection task to each of the plurality of first storage data nodes.

보다 구체적으로, 작업 분배 시스템(250)은 특정 제1 저장 데이터 노드와 연결된 작업 관리 시스템(230)을 확인하고, 확인된 작업 관리 시스템(230)을 선택한다. 이때, 특정 제1 저장 데이터 노드와 연결된 작업 관리 시스템(230)이 복수 개이면, 작업 분배 시스템(250)은 각 작업 관리 시스템(230)에 대한 상태 정보를 기초로 복수의 작업 관리 시스템들(230) 중 하나를 선택한다.More specifically, the task distribution system 250 identifies the task management system 230 associated with a particular first storage data node and selects the identified task management system 230. If there are a plurality of job management systems 230 connected to a specific first storage data node, the job distribution system 250 may manage a plurality of job management systems 230 based on status information about each job management system 230 ).

다음, 작업 분배 시스템(250)은 적어도 하나의 작업 관리 시스템(230)에 저장 데이터 노드 정보, 수집 데이터 및 수집 작업 요청을 송신한다(S805).Next, the task distribution system 250 transmits the stored data node information, the collection data, and the collection task request to at least one task management system 230 (S805).

한편, 작업 분배 시스템(250)은 요청된 작업의 유형이 분석 작업으로 판단되면 분석 데이터가 저장된 제2 저장 데이터 노드를 저장위치 데이터베이스(330)에서 검색한다(S806).In operation S806, the job distribution system 250 searches the storage location database 330 for the second storage data node in which the analysis data is stored when the type of the requested job is determined to be an analysis job.

다음, 작업 분배 시스템(250)은 복수의 작업 관리 시스템들(230) 중 적어도 하나를 결정한다(S807). 작업 분배 시스템(250)은 적어도 하나의 제2 저장 데이터 노드 각각에 대하여 분석 작업을 분배할 작업 관리 시스템(230)을 선택한다.Next, the job distribution system 250 determines at least one of the plurality of job management systems 230 (S807). The task distribution system 250 selects a task management system 230 that will distribute analysis tasks for each of the at least one second storage data node.

보다 구체적으로, 작업 분배 시스템(250)은 특정 제2 저장 데이터 노드와 연결된 작업 관리 시스템(230)을 확인하고, 확인된 작업 관리 시스템(230)을 선택한다. 이때, 특정 제2 저장 데이터 노드와 연결된 작업 관리 시스템(230)이 복수 개이면, 작업 분배 시스템(250)은 각 작업 관리 시스템(230)에 대한 상태 정보를 기초로 복수의 작업 관리 시스템들(230) 중 하나를 선택한다.More specifically, the task distribution system 250 identifies the task management system 230 associated with a particular second storage data node and selects the identified task management system 230. If there are a plurality of job management systems 230 connected to a specific second storage data node, the job distribution system 250 may manage a plurality of job management systems 230 based on status information about each job management system 230 ).

다음, 작업 분배 시스템(250)은 적어도 하나의 작업 관리 시스템(230)에 제2 저장 데이터 노드 정보, 분석 데이터 요청 및 분석 작업 요청을 송신한다(S808).Next, the work distribution system 250 transmits the second stored data node information, the analysis data request, and the analysis work request to at least one work management system 230 (S808).

다음, 작업 분배 시스템(250)은 분석 작업이 분배된 적어도 하나의 작업 관리 시스템(230)으로부터 분석 데이터가 수신되면 수신된 분석 데이터를 취합하여 분석 시스템(220)에 송신한다(S809 및 S810)Next, when the analysis data is received from the at least one job management system 230 to which the analysis job is distributed, the job distribution system 250 collects the received analysis data and transmits it to the analysis system 220 (S809 and S810)

상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 출원의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made to the present invention without departing from the spirit and scope of the present invention as set forth in the following claims It can be understood that

Claims (14)

데이터가 저장된 복수의 데이터 노드들;
적어도 하나의 데이터 노드와 연결되어 수집 데이터를 각자 자신에게 연결된 데이터 노드에 저장하는 복수의 작업 관리 시스템들; 및
수집 데이터에 대한 수집 작업이 요청되면, 상기 복수의 데이터 노드들 중에서 N개(N>1)를 선택하여 상기 수집 데이터를 저장할 제1 저장 데이터 노드로 결정하고, 상기 복수의 작업 관리 시스템들 중에서 상기 N개의 제1 저장 데이터 노드 각각과 연결된 작업 관리 시스템에 수집 작업을 분배하는 작업 분배 시스템을 포함하되,
상기 작업 분배 시스템은 상기 선택된 N개의 데이터 노드로 구성된 제1 저장 데이터 노드 중 어느 하나의 데이터 노드와 연결된 작업 관리 시스템이 복수 개이면, 상기 복수의 작업 관리 시스템들의 작업 완료 예상시간을 확인하고, 상기 작업 완료 예상시간이 가장 빠른 작업 관리 시스템에 상기 수집 작업을 분배하는 수집작업 분배부를 포함하는 것을 특징으로 하는 빅데이터 분산 시스템.
A plurality of data nodes in which data is stored;
A plurality of job management systems connected to at least one data node to store collected data in data nodes connected to each other; And
(N > 1) among the plurality of data nodes is selected as a first storage data node for storing the collected data when a collecting operation for collected data is requested, A task distribution system for distributing the collection task to a task management system connected to each of the N first storage data nodes,
Wherein the job distribution system checks an expected completion time of the plurality of job management systems if a plurality of job management systems are connected to any one of the first storage data nodes configured by the selected N data nodes, And a collecting job distributing unit for distributing the collecting job to the work management system having the earliest estimated time to complete the job.
제1항에 있어서, 상기 작업 분배 시스템은,
상기 수집 데이터의 형태, 중요도, 및 활용도 중 적어도 하나를 기초로 데이터 유형을 판단하는 데이터 유형 판단부; 및
상기 판단된 데이터 유형에 따라 미리 설정된 상기 수집 데이터의 저장개수 N을 결정하는 저장개수 결정부를 포함하는 것을 특징으로 하는 빅데이터 분산 시스템.
2. The system of claim 1,
A data type determination unit that determines a data type based on at least one of the type, importance, and utilization of the collected data; And
And a storage number determination unit for determining storage number N of the collection data set in advance according to the determined data type.
제1항에 있어서,
각 데이터 노드는 최소 저장단위로 구분되고, 동일한 최소 저장단위 별로 구분되는 데이터 노드 그룹들 중 하나에 포함되고,
상기 작업 분배 시스템은, 상기 수집 데이터의 크기에 따라 미리 최소 저장단위로 설정된 데이터 노드 그룹을 결정하고, 상기 결정된 데이터 노드 그룹에 포함된 데이터 노드들 중 N개를 선택하여 제1 저장 데이터 노드로 결정하는 저장위치 결정부를 포함하는 것을 특징으로 하는 빅데이터 분산 시스템.
The method according to claim 1,
Each data node is divided into a minimum storage unit and is included in one of the data node groups divided by the same minimum storage unit,
Wherein the job distribution system determines a data node group set in a minimum storage unit in advance according to the size of the collected data and selects N of the data nodes included in the determined data node group to be determined as a first stored data node And a storage location determination unit for determining a location of the large data distribution system.
제1항에 있어서, 상기 수집작업 분배부는,
처리 중이거나 대기중인 수집작업 수, CPU 사용률, 메모리 사용률, 및 작업 완료 예상시간 중 적어도 하나를 포함하는, 상기 복수의 작업 관리 시스템들 각각에 대한 상태정보를 기초로 상기 복수의 작업 관리 시스템들 중 하나를 선택하여 수집 작업을 분배하는 것을 특징으로 하는 빅데이터 분산 시스템.
The image processing apparatus according to claim 1,
A plurality of job management systems, each of the plurality of job management systems, based on status information about each of the plurality of job management systems, including at least one of a number of job operations being processed or queued, a CPU utilization rate, a memory utilization rate, And distributing the collected data by selecting one of the plurality of distributed data.
삭제delete 데이터가 저장된 복수의 데이터 노드들;
적어도 하나의 데이터 노드와 연결되어 수집 데이터를 각자 자신에게 연결된 데이터 노드에 저장하는 복수의 작업 관리 시스템들; 및
수집 데이터에 대한 수집 작업이 요청되면, 상기 복수의 데이터 노드들 중에서 N개(N>1)를 선택하여 상기 수집 데이터를 저장할 제1 저장 데이터 노드로 결정하고, 상기 복수의 작업 관리 시스템들 중에서 상기 N개의 제1 저장 데이터 노드 각각과 연결된 작업 관리 시스템에 수집 작업을 분배하는 작업 분배 시스템을 포함하되,
상기 작업 분배 시스템은, 분석 데이터에 대한 분석 작업이 요청되면, 복수의 데이터 노드들 중에서 상기 분석 데이터가 저장된 M개(M>1)의 제2 저장 데이터 노드를 검색하고, 상기 검색된 M개의 제2 저장 데이터 노드 중 하나를 선택하고, 상기 선택된 제2 저장 데이터 노드와 연결된 작업 관리 시스템에 상기 분석 작업을 분배하는 분석작업 관리부를 더 포함하는 것을 특징으로 하는 빅데이터 분산 시스템.
A plurality of data nodes in which data is stored;
A plurality of job management systems connected to at least one data node to store collected data in data nodes connected to each other; And
(N > 1) among the plurality of data nodes is selected as a first storage data node for storing the collected data when a collecting operation for collected data is requested, A task distribution system for distributing the collection task to a task management system connected to each of the N first storage data nodes,
(M > 1) second stored data node, in which the analysis data is stored, among a plurality of data nodes, when the analysis work on the analysis data is requested, Further comprising an analysis task manager for selecting one of the stored data nodes and distributing the analysis task to a task management system connected to the selected second storage data node.
제6항에 있어서, 상기 분석작업 관리부는,
상기 선택된 제2 저장 데이터 노드와 연결된 작업 관리 시스템들이 복수 개이면, 상기 복수의 작업 관리 시스템들 각각에 대한 상태정보를 기초로 상기 복수의 작업 관리 시스템들 중 하나를 선택하여 상기 분석 작업을 분배하는 분석작업 분배부를 포함하는 것을 특징으로 하는 빅데이터 분산 시스템.
7. The system according to claim 6,
If one of the plurality of job management systems connected to the selected second storage data node is selected, distributing the analysis job by selecting one of the plurality of job management systems based on status information about each of the plurality of job management systems And an analysis job distribution unit.
작업 분배 시스템이 작업 요청을 수신하고 요청된 작업의 유형을 판단하는 단계;
상기 요청된 작업의 유형을 판단하는 단계에서 수집 데이터의 수집 작업 요청이 수신되면, 상기 작업 분배 시스템이 상기 수집 데이터의 데이터 유형 및 크기 중 적어도 하나를 기초로 복수의 데이터 노드들 중 N개를 선택하고, 상기 선택된 N개의 데이터 노드를 상기 수집 데이터를 저장할 제1 저장 데이터 노드로 결정하는 단계; 및
상기 작업 분배 시스템이 상기 N개의 제1 저장 데이터 노드 각각과 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 수집 작업을 분배하는 단계를 포함하되,
상기 요청된 작업의 유형을 판단하는 단계에서 분석 데이터의 분석 작업 요청이 수신되면, 상기 작업 분배 시스템이 복수의 데이터 노드들 중 상기 분석 데이터가 저장된 M개의 제2 저장 데이터 노드를 검색하고, 상기 검색된 M개의 제2 저장 데이터 노드와 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 분석 작업을 분배하는 단계를 더 포함하는 것을 특징으로 하는 빅데이터 분산 방법.
Receiving a job request from the job distribution system and determining a type of the requested job;
Wherein when the collecting data collecting job request is received in the step of determining the type of the requested job, the job distribution system selects N of the plurality of data nodes based on at least one of the data type and the size of the collected data Determining the selected N data nodes as a first storage data node to store the collected data; And
And distributing the collection task by selecting at least one of the task management systems connected to each of the N first storage data nodes,
When the analysis job analysis request is received in the step of determining the type of the requested job, the job distribution system searches for M second storage data nodes storing the analysis data among the plurality of data nodes, And distributing the analysis job by selecting at least one of the job management systems connected to the M second storage data nodes.
제8항에 있어서, 상기 결정하는 단계는,
상기 작업 분배 시스템이 상기 수집 데이터의 형태, 중요도, 및 활용도 중 적어도 하나를 기초로 데이터 유형을 판단하고, 상기 판단된 데이터 유형에 따라 미리 설정된 상기 수집 데이터의 저장개수 N을 결정하는 단계를 포함하는 것을 특징으로 하는 빅데이터 분산 방법.
9. The method of claim 8,
Determining the data type based on at least one of the type, importance and utilization of the collected data, and determining a stored number N of the collected data in accordance with the determined data type Wherein the method comprises the steps of:
제8항에 있어서, 상기 결정하는 단계는,
상기 작업 분배 시스템이 상기 수집 데이터의 크기에 따라 미리 최소 저장단위로 설정된 데이터 노드 그룹을 결정하고, 상기 결정된 데이터 노드 그룹에 포함된 데이터 노드들 중 저장개수만큼의 데이터 노드를 선택하는 단계를 포함하고,
상기 데이터 노드 그룹은 최소 저장단위가 동일한 하나 이상의 데이터 노드가 포함되는 것을 특징으로 하는 빅데이터 분산 방법.
9. The method of claim 8,
Wherein the job distribution system determines a data node group set in advance in a minimum storage unit according to the size of the collected data and selecting a data node as many as the stored number of data nodes included in the determined data node group ,
Wherein the data node group includes one or more data nodes having the same minimum storage unit.
제8항에 있어서, 상기 수집 작업을 분배하는 단계는,
상기 작업 분배 시스템이 각 제1 저장 데이터 노드와 연결된 작업 관리 시스템을 확인하는 단계; 및
하나의 제1 저장 데이터 노드와 연결된 작업 관리 시스템이 복수 개이면, 상기 작업 분배 시스템이 상기 복수의 작업 관리 시스템들 중 하나를 선택하고, 상기 선택된 작업 관리 시스템에 해당 저장 데이터 노드에 관한 정보, 상기 수집 데이터 및 수집 작업 요청을 송신하는 단계를 포함하는 것을 특징으로 하는 빅데이터 분산 방법.
9. The method of claim 8,
Identifying the work management system associated with each first storage data node; And
The job distribution system selects one of the plurality of job management systems, and if the information about the corresponding storage node is included in the selected job management system, And sending a collection data and a collection job request.
작업 분배 시스템이 분석 데이터 요청 및 분석 작업 요청을 수신하는 단계;
상기 작업 분배 시스템이 복수의 데이터 노드들 중 상기 분석 데이터가 저장된 M개의 제2 저장 데이터 노드를 검색하고, 상기 검색된 M개의 제2 저장 데이터 노드와 연결된 작업 관리 시스템들 중 적어도 하나를 선택하여 상기 분석 작업을 분배하는 단계; 및
상기 적어도 하나의 작업 관리 시스템으로부터 분석 데이터가 수신되면, 상기 작업 분배 시스템이 상기 수신된 분석 데이터를 취합하여 분석 시스템에 송신하는 단계를 포함하는 빅데이터 분산 방법.
Receiving an analysis data request and analysis job request from a work distribution system;
Wherein the job distribution system searches for M second storage data nodes storing the analysis data among a plurality of data nodes and selects at least one of the job management systems connected to the retrieved M second storage data nodes, Distributing tasks; And
And when the analysis data is received from the at least one task management system, the task distribution system collects the received analysis data and sends it to the analysis system.
제12항에 있어서, 상기 분배하는 단계는,
상기 작업 분배 시스템이 각 제2 저장 데이터 노드와 연결된 작업 관리 시스템을 확인하는 단계; 및
하나의 제2 저장 데이터 노드와 연결된 작업 관리 시스템이 복수 개이면, 상기 작업 분배 시스템이 상기 복수의 작업 관리 시스템들 중 하나를 선택하고, 상기 선택된 작업 관리 시스템에 해당 제2 저장 데이터 노드에 관한 정보, 분석 데이터 요청 및 분석 작업 요청을 송신하는 단계를 포함하는 것을 특징으로 하는 빅데이터 분산 방법.
13. The method of claim 12,
Identifying the work management system coupled to each second storage data node; And
If the plurality of job management systems connected to one second storage data node are selected, the job distribution system selects one of the plurality of job management systems, and the information about the second storage data node And transmitting an analysis data request and analysis job request.
제11항 또는 제13항에 있어서, 상기 선택된 작업 관리 시스템은,
상기 복수의 작업 관리 시스템들 중 작업 완료 예상시간이 가장 빠른 작업 관리 시스템인 것을 특징으로 하는 빅데이터 분산 방법.
14. The job management system according to claim 11 or 13,
Wherein the task management system is one of the plurality of task management systems having the highest expected task completion time.
KR1020130147416A 2013-11-29 2013-11-29 System and method for distributing big data KR101622810B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130147416A KR101622810B1 (en) 2013-11-29 2013-11-29 System and method for distributing big data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130147416A KR101622810B1 (en) 2013-11-29 2013-11-29 System and method for distributing big data

Publications (2)

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

Family

ID=53500583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130147416A KR101622810B1 (en) 2013-11-29 2013-11-29 System and method for distributing big data

Country Status (1)

Country Link
KR (1) KR101622810B1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101866487B1 (en) * 2016-04-27 2018-06-12 주식회사 와이즈넛 Real time data processing device for grouping data of internet of things different type
KR102186918B1 (en) * 2016-05-18 2020-12-04 한국전자기술연구원 Real-Time High-Speed Stream Data Processing Method based on Distributed Computing Environment
KR101892352B1 (en) * 2016-09-02 2018-08-27 주식회사 포스코아이씨티 Middleware system for standardizing data of continuous process
KR101892351B1 (en) * 2016-09-02 2018-08-27 주식회사 포스코아이씨티 Big Data Analysis System for Smart Factory
US11079728B2 (en) 2016-09-01 2021-08-03 Posco ICT Co., Ltd. Smart factory platform for processing data obtained in continuous process
KR101886072B1 (en) * 2016-12-21 2018-08-08 세림티에스지(주) Dynamic job scheduling system and method for supporting real-time stream data processing in distributed in-memory environment
KR101951527B1 (en) * 2016-12-30 2019-02-22 주식회사 포스코아이씨티 Real time processing system of mass data for managing memory cache automatically
CN110309223B (en) * 2018-03-08 2023-08-22 华为技术有限公司 Method, system and related equipment for selecting data node
KR20210036177A (en) 2019-09-25 2021-04-02 신한카드 주식회사 Method for generating big data warehouse data mart table by processing data
KR102651114B1 (en) * 2023-12-18 2024-03-25 주식회사 비던스 Methods, devices and systems for generating artificial intelligence information through real-time analysis and distributed processing of ad exchange-related big data and optimizing the targeting of ad space offerings

Also Published As

Publication number Publication date
KR20150062596A (en) 2015-06-08

Similar Documents

Publication Publication Date Title
KR101622810B1 (en) System and method for distributing big data
US10581957B2 (en) Multi-level data staging for low latency data access
CN103106249B (en) A kind of parallel data processing system based on Cassandra
US10223431B2 (en) Data stream splitting for low-latency data access
US9171044B2 (en) Method and system for parallelizing database requests
EP2752779B1 (en) System and method for distributed database query engines
KR101435789B1 (en) System and Method for Big Data Processing of DLP System
CN103399894A (en) Distributed transaction processing method on basis of shared storage pool
CN103218404A (en) Multi-dimensional metadata management method and system based on association characteristics
US9177043B2 (en) Management of data segments for analytics queries
Dagade et al. Big data weather analytics using hadoop
CN105117433A (en) Method and system for statistically querying HBase based on analysis performed by Hive on HFile
CN104077188A (en) Method and device for scheduling tasks
CN110147470A (en) Across the computer room comparing system and method for one kind
JP2007199804A (en) Database management method, database management program, database management device, and database management system
JP5331050B2 (en) Data synchronization system, data synchronization method, information processing apparatus, information processing method, and program
CN107276914B (en) Self-service resource allocation scheduling method based on CMDB
JP2011070257A (en) File retrieval system
US10346371B2 (en) Data processing system, database management system, and data processing method
Knoell et al. BISHOP-Big Data Driven Self-Learning Support for High-performance Ontology Population.
KR20150025326A (en) Index-based data process system
CN111428140B (en) High concurrency data retrieval method, device, equipment and storage medium
KR101563064B1 (en) System for distributing big data
US20180165380A1 (en) Data processing system and data processing method
Zhu et al. Marlin: Taming the big streaming data in large scale video similarity search

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