KR101622810B1 - System and method for distributing big data - Google Patents
System and method for distributing big data 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)
- 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
본 발명은 데이터 분산 시스템에 관한 것으로서, 보다 구체적으로 대량의 데이터를 효율적으로 수집 및 분석하는 빅데이터 분산 시스템 및 방법에 관한 것이다.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
이러한 종래의 빅데이터 시스템(100)은 크게 저장 시스템(140)에 데이터를 저장하는 수집 작업, 및 저장 시스템(140)에 저장된 데이터를 분석하는 분석 작업을 수행한다.This conventional
먼저, 수집 작업은 수집 시스템(110), 작업 관리 시스템(130), 및 저장 시스템(140)을 통해 이루어진다.First, the collection operation is performed through the
보다 구체적으로, 수집 시스템(110)은 데이터를 수집하고, 수집한 데이터를 작업 관리 시스템(130)에 전송한다.More specifically, the
작업 관리 시스템(130)은 수집 시스템(110)으로부터 수집 데이터가 수신되면, 복수의 저장 시스템들(140) 중 하나를 선택하고, 선택된 저장 시스템(140)에 수집 데이터를 저장한다.When the collected data is received from the
한편, 분석 작업은 분석 시스템(120), 작업 관리 시스템(130), 및 저장 시스템(140)을 통해 이루어진다.On the other hand, the analysis work is performed through the
보다 구체적으로, 분석 시스템(120)은 분석이 필요한 분석 데이터를 작업 관리 시스템(130)에 요청하고, 작업 관리 시스템(130)으로부터 요청한 분석 데이터를 수신하면, 수신한 분석 데이터를 분석한다. 그리고, 분석 시스템(120)은 분석 결과 데이터를 작업 관리 시스템(130)에 전송한다.More specifically, the
작업 관리 시스템(130)은 분석 시스템(120)으로부터 분석 데이터 요청이 수신되면, 상기 분석 데이터가 저장된 저장 시스템(140)에 데이터를 요청한다. 그리고, 작업 관리 시스템(130)은 저장 시스템(140)으로부터 분석 데이터를 수신하면, 수신한 분석 데이터를 분석 시스템(120)에 전송한다.The
또한, 작업 관리 시스템(130)은 분석 시스템(120)으로부터 분석 결과 데이터를 수신하면, 복수의 저장 시스템들(140) 중 하나를 선택하고, 선택된 저장 시스템(140)에 분석 데이터를 저장한다.In addition, when the
종래의 빅데이터 분산 시스템(100)은 상술한 바와 같이 하나의 작업 관리 시스템(130)에서 수집 작업과 분석 작업을 모두 수행한다. 이로 인하여, 종래의 빅데이터 분산 시스템(100)은 데이터양과 비례하여 작업 관리 시스템(130)에 부하가 증가하고, 작업 처리 속도가 떨어진다는 문제점이 있다.The conventional big
또한, 종래의 빅데이터 분산 시스템(100)은 데이터 크기와 상관없이 복수의 저장 시스템들(140)의 최소 저장단위를 모두 동일하게 설정하고 있기 때문에 저장공간이 낭비된다는 다른 문제점이 있다.In addition, since the conventional large
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 작업 관리 시스템의 작업 처리 속도를 향상시킬 수 있는 빅데이터 분산 시스템 및 방법을 제공하는 것을 기술적 과제로 한다.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
이러한 빅데이터 분산 시스템(200)은 수집 작업 및 분석 작업을 수행한다. 수집 작업은 데이터를 수집하고, 저장하는 일련의 작업을 의미하며, 수집 시스템(210), 작업 분배 시스템(250), 작업 관리 시스템(230), 및 저장 시스템(240)을 통해 수행된다.Such a big
한편, 분석 작업은 저장된 데이터를 분석하고, 분석 결과를 저장하는 일련의 작업을 의미하며, 분석 시스템(220), 작업 분배 시스템(250), 작업 관리 시스템(230), 및 저장 시스템(240)을 통해 수행된다.Meanwhile, the analysis job is a series of operations for analyzing the stored data and storing the analysis results. The
이하에서는 수집 작업 또는 분석 작업을 수행하는 구성요소들에 대하여 구체적으로 설명하도록 한다.Hereinafter, the components for performing the collection operation or the analysis operation will be described in detail.
먼저, 수집 시스템(210)은 데이터를 수집한다. 이때, 수집되는 데이터는 정형 데이터, 반정형 데이터 및 비정형 데이터를 포함한다.First, the
정형 데이터는 고정된 필드에 저장된 데이터를 나타내는 것으로서, 관계형 데이터베이스, 스프레드쉬트 등이 있다. 비정형 데이터는 고정된 필드에 저장되어 있지 않는 데이터를 나타내는 것으로서, 텍스트 문서, 이미지, 동영상, 음성 데이터 등이 있다. 반정형 데이터는 고정된 필드에 저장되어 있지 않지만 메타데이터나 스키마를 포함하는 데이터를 나타내는 것으로서, 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
다음, 분석 시스템(220)은 데이터를 분석한다. 분석 시스템(220)은 저장 시스템(240)에 저장된 데이터를 읽어와서 데이터 분석을 수행한다. 이를 위하여, 분석 시스템(220)은 작업 분배 시스템(250)에 분석하고자 하는 분석 데이터 및 작업을 요청한다.The
다음, 작업 관리 시스템(230)은 수집 작업 또는 분석 작업을 수행한다. 보다 구체적으로 설명하면, 작업 관리 시스템(230)은 작업 분배 시스템(250)에 의하여 수집 작업을 할당 받으면, 수집 시스템(210)에 의하여 수집된 데이터를 저장 시스템(240)에 저장한다.Next, the
반면, 작업 관리 시스템(230)은 작업 분배 시스템(250)에 의하여 분석 작업을 할당 받으면, 분석 시스템(220)이 요청한 분석 데이터를 저장 시스템(240)에 요청한다. 그리고, 작업 관리 시스템(230)은 저장 시스템(240)으로부터 분석 데이터를 수신하면, 수신한 분석 데이터를 작업 분배 시스템(250)에 전송한다.On the other hand, when the
이러한 작업 관리 시스템(230)은, 도 2에 도시된 바와 같이, 복수 개로 구성되고, 각 작업 관리 시스템(230)은 적어도 하나의 저장 시스템(240)과 연결된다. 이때, 복수의 작업 관리 시스템들(230)은 하나 이상의 저장 시스템(240)을 공유할 수 있다.As shown in FIG. 2, the
예컨대, 제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
한편, 일 실시예에 있어서, 작업 관리 시스템(230)은 수집 작업 및 분석 작업을 모두 수행할 수 있지만, 다른 일 실시예에 있어서는 수집 작업을 수행하는 수집 작업 관리 시스템, 및 분석 작업을 수행하는 분석 작업 관리 시스템을 포함할 수도 있다. 이하에서는 설명의 편의를 위하여 하나의 작업 관리 시스템(230)에서 수집 작업 및 분석 작업을 모두 수행할 수 있다고 가정한다.Meanwhile, in one embodiment, the
다음, 저장 시스템(240)은 데이터가 저장된 복수의 데이터 노드들을 포함한다. 이때, 데이터 노드는 물리적으로 데이터를 저장하는 복수의 스토로지들, 및 상기 복수의 스토로지들을 관리하는 서버로 구성된다.Next, the
이하에서는 데이터 노드와 저장 데이터 노드를 혼용하고 있다. 이때, 저장 데이터 노드는 수집 데이터를 저장할 데이터 노드 또는 분석 데이터가 저장된 데이터 노드를 의미한다.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
이하에서는 도 3 내지 도 7을 참조하여 작업 분배 시스템(250)에 대하여 보다 구체적으로 설명하도록 한다.Hereinafter, the
도 3은 도 2의 작업 분배 시스템을 설명하기 위한 블록도이다.3 is a block diagram illustrating the task distribution system of FIG.
도 3을 참조하면, 작업 분배 시스템(250)은 작업 유형 판단부(310), 수집작업 관리부(320), 저장위치 데이터베이스(330), 및 분석작업 관리부(340)를 포함하고, 일 실시예에 있어서, 모니터링부(350)를 더 포함할 수 있다.3, the
먼저, 저장위치 데이터베이스(330)는 저장 시스템(240)에 저장된 데이터들의 위치 정보를 포함한다. 이때, 위치 정보는 저장 시스템 식별정보, 데이터 노드 식별정보, 스토로지 식별정보, 및 스토로지 위치정보 중 적어도 하나를 포함한다.First, the
다음, 작업 유형 판단부(310)는 작업 유형을 판단한다. 이때, 작업 유형은 수집 작업 및 분석 작업으로 구분된다.Next, the operation
보다 구체적으로 설명하면, 작업 유형 판단부(310)는 수집 시스템(210)으로부터 수집 데이터와 함께 작업 요청이 수신되면, 해당 작업을 수집 작업으로 판단하고, 상기 수집 데이터를 수집작업 관리부(320)로 전달한다.More specifically, when the job request is received together with the collected data from the collecting
반면, 작업 유형 판단부(310)는 분석 시스템(220)으로부터 분석 데이터 요청 및 작업 요청이 수신되면, 해당 작업을 분석 작업으로 판단하고, 분석작업 관리부(320)에 분석 데이터를 요청한다.On the other hand, when the analysis data request and the work request are received from the
다음, 수집작업 관리부(320)는 수집 데이터에 대한 저장개수 및 저장위치를 결정한다. 그리고, 수집작업 관리부(320)는 상기 결정된 저장개수 및 저장위치를 기초로 적어도 하나의 작업 관리 시스템(230)을 선택하고, 선택된 적어도 하나의 작업 관리 시스템(230)에 수집 작업을 분배한다.Next, the collection
이하에서는 도 4를 참조하여 수집작업 관리부(320)에 대하여 보다 구체적으로 설명하도록 한다.Hereinafter, the collection
도 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
먼저, 데이터 유형 설정부(410)는 데이터 유형을 설정한다. 데이터 유형은 데이터의 형태, 중요도, 및 활용도 중 적어도 하나를 이용하여 구분된다. 예컨대, 데이터 유형은 아래 [표 1]과 같은 데이터 유형 테이블을 이용하여 설정될 수 있다.First, the data
표 1을 참조하면, 데이터 유형 설정부(410)는 데이터의 형태를 정형, 반정형, 및 비정형으로 구분하고, 각각에 대하여 100, 200, 300을 설정할 수 있다. 또한, 데이터의 중요도를 상, 중, 하로 구분하고, 각각에 대하여 10, 20, 30을 설정할 수 있다. 그리고, 데이터의 활용도를 상, 중, 하로 구분하고, 각각에 대하여 1, 2, 3을 설정할 수 있다.Referring to Table 1, the data
한편, 데이터 유형 설정부(410)는 설정값들의 합을 데이터 유형으로 설정할 수 있다. 예컨대, 데이터의 형태가 정형이고, 중요도가 상이며, 활용도가 상인 데이터는 데이터 유형이 111이 된다.Meanwhile, the data
다음, 데이터 유형 판단부(420)는 수집 데이터에 대한 데이터 유형을 판단한다. 보다 구체적으로, 데이터 유형 판단부(420)는 수집 데이터에 대한 형태, 중요도, 및 활용도를 판단하고, 데이터 유형 테이블에서 각 요소에 대한 설정값을 확인한다. 그런 다음, 데이터 유형 판단부(420)는 상기 확인된 설정값들을 합산한 값을 데이터 유형으로 판단한다.Next, the data
다음, 저장개수 설정부(430)는 데이터 유형에 따른 저장개수를 설정한다. 여기서, 저장개수는 해당 데이터를 저장할 데이터 노드의 개수를 의미하는 것으로서, 동일 데이터가 저장 시스템(240)에 저장되는 개수를 나타낸다. Next, the storage
예컨대, 저장개수는 아래 [표 2]와 같이 설정될 수 있다.For example, the number of storage can be set as shown in Table 2 below.
표 2를 참조하면, 저장개수 설정부(430)는 데이터 유형이 111, 211, 311과 같이 중요도 및 활용도가 상인 데이터에 대하여 저장개수를 5로 설정할 수 있다. 한편, 저장개수 설정부(430)는 133, 233, 333과 같이 중요도 및 활용도가 하인 데이터에 대하여 저장개수를 3으로 설정할 수 있다.Referring to Table 2, the storage
이에 따라, 중요도 및 활용도가 높은 데이터는 상대적으로 많은 데이터 노드에 저장되고, 중요도 및 활용도가 낮은 데이터는 상대적으로 적은 데이터 노드에 저장됨으로써 저장공간을 효율적으로 사용할 수 있다.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
다음, 데이터 크기 판단부(450)는 수집 데이터의 크기를 판단한다.Next, the data
다음, 저장단위 설정부(460)는 데이터의 크기에 따른 최소 저장단위를 설정한다. 여기서, 최소 저장단위는 저장공간의 고정된 블록 단위를 의미하는 것으로서, 데이터 노드의 저장단위를 나타낸다.Next, the storage
예컨대, 최소 저장단위는 아래 [표 3]과 같이 설정될 수 있다.For example, the minimum storage unit may be set as shown in Table 3 below.
표 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
보다 구체적으로, 저장위치 결정부(470)는 수집 데이터의 크기를 기초로 데이터 노드 그룹을 결정한다. 그런 다음, 저장위치 결정부(470)는 상기 결정된 데이터 노드 그룹에 포함된 복수의 데이터 노드들 중 적어도 하나를 선택하고, 상기 선택된 적어도 하나의 데이터 노드를 저장 데이터 노드로 결정한다.More specifically, the storage
이때, 저장위치 결정부(470)는 수집 데이터의 저장개수를 기초로 적어도 하나의 데이터 노드를 선택할 수 있다.At this time, the storage
일 실시예에 있어서, 저장위치 결정부(470)는 데이터 노드 그룹에 포함된 복수의 데이터 노드들 중 저장개수만큼을 선택할 수 있다. 예를 들어 설명하면, 저장개수 결정부(440)가 데이터 크기가 25MB인 수집 데이터에 대한 저장개수를 3개로 결정하였다고 가정한다. 이때, 저장위치 결정부(470)는 데이터 노드 그룹 B에 포함된 복수의 데이터 노드들 중 3개를 선택할 수 있다.In one embodiment, the
다른 일 실시예에 있어서, 저장위치 결정부(470)는 데이터 노드의 여유공간 및 저장개수를 기초로 적어도 하나의 데이터 노드를 선택할 수 있다.In another embodiment, the
보다 구체적으로 설명하면, 저장위치 결정부(470)는 데이터 노드 그룹에 포함된 복수의 데이터 노드들 각각에 대한 여유공간을 확인한다. 그런 다음, 저장위치 결정부(470)는 여유공간이 수집 데이터의 크기 보다 큰 여유 노드를 추출하고, 상기 추출된 여유 노드의 개수와 저장개수를 비교한다.More specifically, the storage
이때, 여유 노드의 개수가 저장 개수 보다 크거나 같으면, 저장위치 결정부(470)는 여유 노드들 중 저장개수만큼의 데이터 노드를 선택할 수 있다. 반면, 여유 노드의 개수가 저장개수 보다 작으면, 저장위치 결정부(470)는 모든 여유 노드를 선택할 수 있다.At this time, if the number of spare nodes is equal to or greater than the storage number, the storage
한편, 저장위치 결정부(470)는 데이터 노드의 여유공간을 기초로 복수의 데이터 노드들 중 적어도 하나를 선택할 수 있다. 일 실시예에 있어서, 저장위치 결정부(470)는 여유공간이 큰 순서대로 적어도 하나의 데이터 노드를 선택할 수 있다.Meanwhile, the storage
한편, 저장위치 결정부(470)는 수집 데이터를 저장할 저장 데이터 노드가 결정되면 저장 데이터 노드 정보를 저장위치 데이터베이스(330)에 저장한다. 이때, 저장 데이터 노드 정보는 저장 시스템 식별정보, 데이터 노드 식별정보, 스토로지 식별정보 및 스토로지 위치정보를 포함할 수 있다.The storage
다음, 수집작업 분배부(480)는 수집 데이터를 복제하여 저장개수-1 만큼의 수집 데이터들을 생성하고, 수집 데이터들 각각에 대한 수집 작업을 적어도 하나의 작업 관리 시스템(230)에 분배한다.Next, the
보다 구체적으로 설명하면, 수집작업 분배부(480)는 수집 데이터를 복제하여 저장개수-1 만큼의 수집 데이터들을 생성한다.More specifically, the collecting
또한, 수집작업 분배부(480)는 저장위치 결정부(470)에 의하여 결정된 저장 데이터 노드와 연결된 작업 관리 시스템(230)을 확인한다. 그리고, 수집작업 분배부(480)는 수집 데이터 및 저장 데이터 노드 정보와 함께 수집작업 요청을 상기 확인된 작업 관리 시스템(230)에 송신한다.In addition, the
이때, 특정 데이터 노드와 연결된 작업 관리 시스템(230)이 복수 개이면, 수집작업 분배부(480)는 복수의 작업 관리 시스템들(230) 중 하나를 선택하여 수집 작업을 분배한다.At this time, if there are a plurality of
한편, 수집작업 분배부(480)는 작업 관리 시스템(230)에 대한 상태 정보를 기초로 복수의 작업 관리 시스템들(230) 중 하나를 선택할 수 있다. 이때, 상태 정보는 처리 중이거나 대기중인 수집작업 수, 처리 중이거나 대기 중인 분석작업 수, CPU 사용률, 메모리 사용률, 및 작업 완료 예상시간 중 적어도 하나를 포함할 수 있다.On the other hand, the
일 실시예에 있어서, 수집작업 분배부(480)는 CPU 사용률 및 메모리 사용률이 가장 낮은 작업 관리 시스템(230)에 수집 작업을 분배할 수 있다.In one embodiment, the
다른 일 실시예에 있어서, 수집작업 분배부(480)는 수집작업 수 및 분석작업 수의 합이 가장 작은 작업 관리 시스템(230)에 수집 작업을 분배할 수 있다.In another embodiment, the
또 다른 일 실시예에 있어서, 수집작업 분배부(480)는 작업 완료 예상시간이 가장 빠른 작업 관리 시스템(230)에 수집 작업을 분배할 수 있다.In another embodiment, the
이하에서는 도 5를 참조하여 수집작업 관리부(320)에서 적어도 하나의 작업 관리 시스템230)에 수집 작업을 분배하는 예를 설명하도록 한다.Hereinafter, an example in which the collection task is distributed to at least one
도 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
다음, 작업 분배 시스템(250)은 수집 시스템(210)으로부터 요청된 작업을 수집 작업으로 판단하고, 수집 데이터(510)에 대한 저장개수를 결정한다. 또한, 작업 분배 시스템(250)은 상기 저장개수 및 수집 데이터(510)의 크기를 기초로 복수의 데이터 노드들 중 적어도 하나를 선택하여 저장위치를 결정한다.The
예를 들어 설명하면, 데이터 유형 테이블이 표 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
다음, 작업 분배 시스템(250)은 수집 데이터(510)를 복제한 3개의 복제 데이터(511, 512, 513)를 생성한다. 그리고, 수집 데이터(510) 및 복제 데이터(511, 512, 513) 각각에 대한 수집 작업을 적어도 하나의 작업 관리 시스템(250)에 분배한다.Next, the
이때, 작업 분배 시스템(250)은 각 저장 데이터 노드와 연결된 작업 관리 시스템(250)을 확인하고, 확인된 작업 관리 시스템(250)에 해당 저장 데이터 노드에 대한 수집 작업을 분배할 수 있다.At this time, the
도 5에 도시된 바에 따르면, 작업 분배 시스템(250)은 제1 저장 데이터 노드(521)가 제1 작업 관리 시스템(231)과 연결되어 있음을 확인하고, 수집 데이터(510) 및 제1 저장 데이터 노드 정보와 함께 수집작업 요청을 제1 작업 관리 시스템(231)에 송신할 수 있다.5, the
한편, 작업 분배 시스템(250)은 제2 저장 데이터 노드(522)가 제1 및 제2 작업 관리 시스템들(231, 232)과 연결되어 있음을 확인하고, 제1 및 제2 작업 관리 시스템들(231, 232) 중 하나를 선택할 수 있다. 이때, 작업 분배 시스템(250)은 작업 관리 시스템의 상태 정보를 기초로 선택할 수 있다.Meanwhile, the
제1 작업 관리 시스템(231)은 유휴상태이고, 제2 작업 관리 시스템(232)은 동작 중이라면, 작업 분배 시스템(250)은 제1 복제 데이터(511) 및 제2 저장 데이터 노드 정보와 함께 수집작업 요청을 제1 작업 관리 시스템(231)에 송신할 수 있다.If the first
작업 분배 시스템(250)은 제3 및 제4 저장 데이터 노드(523, 524) 각각에 대해서도 상술한 바와 같이 작업 관리 시스템(230)을 선택하여 수집 작업을 분배 및 요청할 수 있다.The
한편, 작업 관리 시스템(230)은 수집 작업이 요청되면, 수신한 데이터를 저장 데이터 노드에 저장한다.Meanwhile, the
다시, 도 3을 참조하면, 분석작업 관리부(340)는 저장위치 데이터베이스(330)에서 분석 데이터가 저장된 저장 데이터 노드를 검색하고, 상기 검색된 저장 데이터 노드와 연결된 적어도 하나의 작업 관리 시스템(230)에 분석 작업을 분배한다.3, the analysis
이하에서는 도 6을 참조하여 분석작업 관리부(340)에 대하여 구체적으로 설명하도록 한다.Hereinafter, the
도 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
먼저, 저장 데이터 노드 검색부(610)는 분석 데이터가 저장된 저장 데이터 노드를 저장위치 데이터베이스(330)에서 검색한다. 검색된 저장 데이터 노드가 복수개이면, 저장 데이터 노드 검색부(610)는 복수의 저장 데이터 노드들 중 하나를 선택한다.First, the storage data node searching unit 610 searches the
다음, 분석작업 분배부(620)는 저장 데이터 노드와 연결된 작업 관리 시스템(230)을 확인하고, 확인된 작업 관리 시스템(230)에 저장 데이터 노드 정보 및 분석 데이터 정보와 함께 분석작업 요청을 송신한다.Next, the
이때, 저장 데이터 노드와 연결된 작업 관리 시스템(230)이 복수 개이면, 분석작업 분배부(620)는 복수의 작업 관리 시스템들(230) 중 하나를 선택하여 분석 작업을 분배한다.At this time, if there are a plurality of
한편, 분석작업 분배부(620)는 작업 관리 시스템(230)에 대한 상태 정보를 기초로 복수의 작업 관리 시스템들(230) 중 하나를 선택할 수 있다. 이때, 상태 정보는 처리 중이거나 대기중인 수집작업 수, 처리 중이거나 대기 중인 분석작업 수, CPU 사용률, 메모리 사용률, 및 작업 완료 예상시간 중 적어도 하나를 포함할 수 있다.On the other hand, the
일 실시예에 있어서, 분석작업 분배부(620)는 CPU 사용률 및 메모리 사용률이 가장 낮은 작업 관리 시스템(230)에 분석 작업을 분배할 수 있다.In one embodiment, the
다른 일 실시예에 있어서, 분석작업 분배부(620)는 수집작업 수 및 분석작업 수의 합이 가장 작은 작업 관리 시스템(230)에 분석 작업을 분배할 수 있다.In another embodiment, the
또 다른 일 실시예에 있어서, 분석작업 분배부(620)는 작업 완료 예상시간이 가장 빠른 작업 관리 시스템(230)에 분석 작업을 분배할 수 있다.In yet another embodiment, the
다음, 분석 데이터 취합부(630)는 적어도 하나의 작업 관리 시스템(230)으로부터 데이터를 수신하고, 수신된 데이터들을 취합하여 분석 시스템(220)에 송신한다.Next, the analysis
이하에서는 도 7을 참조하여 분석작업 관리부(340)에서 적어도 하나의 작업 관리 시스템230)에 분석 작업을 분배하는 예를 설명하도록 한다.Hereinafter, an example in which the analysis job is distributed to at least one
도 7은 적어도 하나의 작업 관리 시스템에 분석 작업을 분배하는 예를 설명하기 위한 도면이다.7 is a view for explaining an example of distributing analysis work to at least one work management system.
먼저, 분석 시스템(220)은 분석하고자 하는 분석 데이터를 작업 분배 시스템(250)에 요청한다.First, the
작업 분배 시스템(250)은 분석 시스템(220)으로부터 요청된 작업을 분석 작업으로 판단하고, 요청된 분석 데이터가 저장된 저장 데이터 노드를 검색한다.The
검색 결과, 도 7에 도시된 바와 같이, 제1 내지 제4 저장 데이터 노드(521, 522, 523, 524)가 검색되면, 작업 분배 시스템(250)은 각 저장 데이터 노드와 연결된 작업 관리 시스템(250)을 확인한다. 그리고, 작업 분배 시스템(250)은 상기 확인된 작업 관리 시스템(250)에 해당 저장 데이터 노드에 대한 분석 작업을 분배할 수 있다.7, when the first to fourth
작업 분배 시스템(250)은 제1 저장 데이터 노드(521)가 제1 작업 관리 시스템(231)과 연결되어 있음을 확인하고, 제1 저장 데이터 노드 정보와 함께 분석작업 요청을 제1 작업 관리 시스템(231)에 송신할 수 있다.The
한편, 작업 분배 시스템(250)은 제2 저장 데이터 노드(522)가 제1 및 제2 작업 관리 시스템들(231, 232)과 연결되어 있음을 확인하고, 제1 및 제2 작업 관리 시스템들(231, 232) 중 하나를 선택할 수 있다. 이때, 작업 분배 시스템(250)은 작업 관리 시스템의 상태 정보를 기초로 선택할 수 있다.Meanwhile, the
제1 작업 관리 시스템(231)은 유휴상태이고, 제2 작업 관리 시스템(232)은 동작 중이라면, 작업 분배 시스템(250)은 제2 저장 데이터 노드 정보와 함께 분석작업 요청을 제1 작업 관리 시스템(231)에 송신할 수 있다.If the first
작업 분배 시스템(250)은 제3 및 제4 저장 데이터 노드(523, 524) 각각에 대해서도 상술한 바와 같이 작업 관리 시스템(230)을 선택하여 분석 작업을 분배 및 요청할 수 있다.The
다음, 작업 관리 시스템(230)은 분석 작업이 요청되면, 저장 시스템(240)에 분석 데이터를 요청한다. 그리고, 저장 시스템(240)으로부터 요청한 데이터가 수신되면, 수신한 데이터를 작업 분배 시스템(250)에 전달한다.Next, the
이때, 제1 작업 관리 시스템(231)과 같이 수신된 데이터가 복수 개이면, 작업 관리 시스템(230)은 복수의 데이터들을 1차 취합하여 작업 분배 시스템(250)에 전달한다.At this time, if a plurality of pieces of data are received as in the first
다음, 작업 관리 시스템(230)은 복수의 작업 관리 시스템들(230)로부터 수신된 데이터들을 2차 취합하여 분석 시스템(220)에 전달한다.Next, the
다시 도 3을 참조하면, 모니터링부(350)는 복수의 작업 관리 시스템들(230)을 모니터링하고, 각 작업 관리 시스템(230)에 대한 상태정보를 생성한다. 이때, 상태 정보는 처리 중이거나 대기중인 수집작업 수, 처리 중이거나 대기 중인 분석작업 수, CPU 사용률, 메모리 사용률, 및 작업 완료 예상시간 중 적어도 하나를 포함할 수 있다.Referring again to FIG. 3, the
그리고, 생성된 상태정보를 수집작업 관리부(320) 및 분석작업 관리부(340)에 제공한다.The generated status information is provided to the collection
도 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
작업 분배 시스템(250)은 수집 시스템(210)으로부터 수집 데이터와 함께 작업 요청이 수신되면, 작업의 유형을 수집 작업으로 판단한다.When the job distribution request is received with the collected data from the
반면, 작업 분배 시스템(250)은 분석 시스템(220)으로부터 분석 데이터 요청 및 작업 요청이 수신되면, 작업의 유형을 분석 작업으로 판단한다.On the other hand, when the analysis data request and the work request are received from the
수집 작업이 요청되면, 작업 분배 시스템(250)은 수집 데이터를 저장할 제1저장 데이터 노드를 결정한다(S803). 제1 저장 데이터 노드를 결정하는 방법에 대해서는 도 9 및 도 10을 참조하여 보다 구체적으로 설명하도록 한다.When the collection job is requested, the
도 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
다음, 작업 분배 시스템(250)은 수집 데이터에 대한 저장개수를 결정한다(S902). 보다 구체적으로, 작업 분배 시스템(250)은 수집 데이터의 유형을 기초로 저장개수를 결정할 수 있다. 이를 위하여, 작업 분배 시스템(250)은 저장개수를 표 2와 같이 미리 설정할 수 있다.Next, the
다음, 작업 분배 시스템(250)은 수집 데이터의 크기를 판단하고(S903), 크기를 기초로 데이터 노드 그룹을 결정한다(S904). 이때, 데이터 노드 그룹은 최소 저장단위가 동일한 복수의 데이터 노드들을 포함한다.Next, the
다음, 작업 분배 시스템(250)은 상기 결정된 데이터 노드 그룹에 포함된 데이터 노드들 중 저장개수 만큼의 데이터 노드를 선택한다(S905). 이때, 작업 분배 시스템(250)은 선택된 데이터 노드를 수집 데이터를 저장할 저장 데이터 노드로 결정한다. Next, the
다음, 작업 분배 시스템(250)은 수집 데이터에 대한 저장 데이터 노드 정보를 저장위치 데이터베이스(330)에 저장한다(S906). 이때, 저장 데이터 노드 정보는 저장 시스템 식별정보, 데이터 노드 식별정보, 스토로지 식별정보, 및 스토로지 위치정보 중 적어도 하나를 포함한다.Next, the
도 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
다음, 작업 분배 시스템(250)은 여유공간이 수집 데이터의 크기 보다 큰 여유 노드를 추출하고, 상기 추출된 여유 노드의 개수와 저장개수를 비교한다(S1006).Next, the
이때, 여유 노드의 개수가 저장개수 보다 크거나 같으면, 작업 분배 시스템(250)은 여유 노드들 중 저장개수만큼의 데이터 노드를 선택한다(S1007). 반면, 여유 노드의 개수가 저장개수 보다 작으면, 작업 분배 시스템(250)은 모든 여유 노드를 선택한다(S1008).At this time, if the number of spare nodes is equal to or greater than the storage number, the
도 10에 도시되어 있지만, 다른 일 실시예에 있어서, 작업 분배 시스템(250)은 여유 노드의 개수가 저장개수 보다 작으면 다른 데이터 노드 그룹에 포함된 데이터 노드를 선택할 수도 있다.Although shown in FIG. 10, in another embodiment, the
예를 들어 설명하면, 작업 분배 시스템(250)은 수집 데이터의 크기를 기초로 제1 데이터 노드 그룹을 선택하였다고 가정한다.For example, assume that the
상기 제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
한편, 작업 분배 시스템(250)은 선택된 데이터 노드를 수집 데이터를 저장할 저장 데이터 노드로 결정한다.Meanwhile, the
다음, 작업 분배 시스템(250)은 수집 데이터에 대한 제1 저장 데이터 노드 정보를 저장위치 데이터베이스(330)에 저장한다(S1009).Next, the
다시 도 8을 참조하면, 작업 분배 시스템(250)은 복수의 작업 관리 시스템들(230) 중 적어도 하나를 결정한다(S804). 작업 분배 시스템(250)은 복수의 제1 저장 데이터 노드들 각각에 대하여 수집 작업을 분배할 작업 관리 시스템(230)을 선택한다.Referring again to FIG. 8, the
보다 구체적으로, 작업 분배 시스템(250)은 특정 제1 저장 데이터 노드와 연결된 작업 관리 시스템(230)을 확인하고, 확인된 작업 관리 시스템(230)을 선택한다. 이때, 특정 제1 저장 데이터 노드와 연결된 작업 관리 시스템(230)이 복수 개이면, 작업 분배 시스템(250)은 각 작업 관리 시스템(230)에 대한 상태 정보를 기초로 복수의 작업 관리 시스템들(230) 중 하나를 선택한다.More specifically, the
다음, 작업 분배 시스템(250)은 적어도 하나의 작업 관리 시스템(230)에 저장 데이터 노드 정보, 수집 데이터 및 수집 작업 요청을 송신한다(S805).Next, the
한편, 작업 분배 시스템(250)은 요청된 작업의 유형이 분석 작업으로 판단되면 분석 데이터가 저장된 제2 저장 데이터 노드를 저장위치 데이터베이스(330)에서 검색한다(S806).In operation S806, the
다음, 작업 분배 시스템(250)은 복수의 작업 관리 시스템들(230) 중 적어도 하나를 결정한다(S807). 작업 분배 시스템(250)은 적어도 하나의 제2 저장 데이터 노드 각각에 대하여 분석 작업을 분배할 작업 관리 시스템(230)을 선택한다.Next, the
보다 구체적으로, 작업 분배 시스템(250)은 특정 제2 저장 데이터 노드와 연결된 작업 관리 시스템(230)을 확인하고, 확인된 작업 관리 시스템(230)을 선택한다. 이때, 특정 제2 저장 데이터 노드와 연결된 작업 관리 시스템(230)이 복수 개이면, 작업 분배 시스템(250)은 각 작업 관리 시스템(230)에 대한 상태 정보를 기초로 복수의 작업 관리 시스템들(230) 중 하나를 선택한다.More specifically, the
다음, 작업 분배 시스템(250)은 적어도 하나의 작업 관리 시스템(230)에 제2 저장 데이터 노드 정보, 분석 데이터 요청 및 분석 작업 요청을 송신한다(S808).Next, the
다음, 작업 분배 시스템(250)은 분석 작업이 분배된 적어도 하나의 작업 관리 시스템(230)으로부터 분석 데이터가 수신되면 수신된 분석 데이터를 취합하여 분석 시스템(220)에 송신한다(S809 및 S810)Next, when the analysis data is received from the at least one
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 출원의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.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.
상기 수집 데이터의 형태, 중요도, 및 활용도 중 적어도 하나를 기초로 데이터 유형을 판단하는 데이터 유형 판단부; 및
상기 판단된 데이터 유형에 따라 미리 설정된 상기 수집 데이터의 저장개수 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.
각 데이터 노드는 최소 저장단위로 구분되고, 동일한 최소 저장단위 별로 구분되는 데이터 노드 그룹들 중 하나에 포함되고,
상기 작업 분배 시스템은, 상기 수집 데이터의 크기에 따라 미리 최소 저장단위로 설정된 데이터 노드 그룹을 결정하고, 상기 결정된 데이터 노드 그룹에 포함된 데이터 노드들 중 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.
처리 중이거나 대기중인 수집작업 수, 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.
적어도 하나의 데이터 노드와 연결되어 수집 데이터를 각자 자신에게 연결된 데이터 노드에 저장하는 복수의 작업 관리 시스템들; 및
수집 데이터에 대한 수집 작업이 요청되면, 상기 복수의 데이터 노드들 중에서 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.
상기 선택된 제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.
상기 작업 분배 시스템이 상기 수집 데이터의 형태, 중요도, 및 활용도 중 적어도 하나를 기초로 데이터 유형을 판단하고, 상기 판단된 데이터 유형에 따라 미리 설정된 상기 수집 데이터의 저장개수 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:
상기 작업 분배 시스템이 상기 수집 데이터의 크기에 따라 미리 최소 저장단위로 설정된 데이터 노드 그룹을 결정하고, 상기 결정된 데이터 노드 그룹에 포함된 데이터 노드들 중 저장개수만큼의 데이터 노드를 선택하는 단계를 포함하고,
상기 데이터 노드 그룹은 최소 저장단위가 동일한 하나 이상의 데이터 노드가 포함되는 것을 특징으로 하는 빅데이터 분산 방법.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.
상기 작업 분배 시스템이 각 제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.
상기 작업 분배 시스템이 각 제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.
상기 복수의 작업 관리 시스템들 중 작업 완료 예상시간이 가장 빠른 작업 관리 시스템인 것을 특징으로 하는 빅데이터 분산 방법.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.
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)
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 |
-
2013
- 2013-11-29 KR KR1020130147416A patent/KR101622810B1/en not_active Application Discontinuation
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 |