KR102473776B1 - Big data cross model data integrated processing method and apparatus - Google Patents
Big data cross model data integrated processing method and apparatus Download PDFInfo
- Publication number
- KR102473776B1 KR102473776B1 KR1020200157838A KR20200157838A KR102473776B1 KR 102473776 B1 KR102473776 B1 KR 102473776B1 KR 1020200157838 A KR1020200157838 A KR 1020200157838A KR 20200157838 A KR20200157838 A KR 20200157838A KR 102473776 B1 KR102473776 B1 KR 102473776B1
- Authority
- KR
- South Korea
- Prior art keywords
- individual platforms
- execution plan
- individual
- platform
- big data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치를 개시한다. 본 발명에 따르면, 프로세서 및 상기 프로세서에 연결되는 메모리를 포함하되, 상기 메모리는, 빅데이터의 검색, 질의 및 분석 중 적어도 하나를 위한 사용자의 요청이 입력되는 경우, 상기 사용자 요청에 따른 워크플로우의 처리를 위한 복수의 개별 플랫폼을 고려하여 실행 계획을 생성하고, 상기 실행 계획을 스테이지 단위로 분할하고, 상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하고, 상기 복수의 개별 플랫폼에 매핑된 태스크를 변환 및 배분하고, 상기 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측하도록, 상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 빅데이터 크로스 모델 데이터 통합 처리 장치가 제공된다. The present invention discloses a big data cross model data integration processing method and apparatus. According to the present invention, it includes a processor and a memory connected to the processor, wherein the memory, when a user's request for at least one of search, query, and analysis of big data is input, a workflow according to the user's request Generating an execution plan in consideration of a plurality of individual platforms for processing, dividing the execution plan into stages, mapping at least one of the plurality of individual platforms to the stage unit, and mapping the plurality of individual platforms to the plurality of individual platforms. A big data cross-model data integration processing device is provided that stores program instructions executed by the processor to convert and distribute tasks and manage and predict resource information of the plurality of individual platforms.
Description
본 발명은 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치에 관한 것이다.The present invention relates to a big data cross-model data integration processing method and apparatus.
빅데이터 분석은 기존 데이터베이스 관리도구의 능력을 넘어서는 대량(수십 테라바이트)의 정형, 반정형 또는 비정형 데이터셋에서 가치를 추출하고 결과를 분석하는 기술이다. Big data analytics is a technique for extracting value from and analyzing results from large amounts (tens of terabytes) of structured, semi-structured or unstructured data sets beyond the capabilities of traditional database management tools.
다양한 종류의 대규모 데이터에 대한 생성, 수집, 분석, 표현을 그 특징으로 하는 빅데이터 기술의 발전은 다변화된 현대 사회를 더욱 정확하게 예측하여 효율적으로 작동하게 하고 개인화된 현대 사회 구성원마다 맞춤형 정보를 제공, 관리, 분석 가능하게 하며 과거에는 불가능했던 기술을 실현시키기도 한다. The development of big data technology, which is characterized by the creation, collection, analysis, and expression of various types of large-scale data, predicts the diversified modern society more accurately and operates efficiently, providing personalized information for each member of the modern society, It enables management, analysis, and realizes technologies that were impossible in the past.
이같이 빅데이터는 정치, 사회, 경제, 문화, 과학 기술 등 전 영역에 걸쳐서 사회와 인류에게 가치있는 정보를 제공할 수 있는 가능성을 제시하며 그 중요성이 부각되고 있다. In this way, big data presents the possibility of providing valuable information to society and mankind in all areas such as politics, society, economy, culture, and science and technology, and its importance is being highlighted.
일반적으로 빅데이터 분석을 위해 데이터 수집/저장, 데이터 전처리, 데이터 정제(프로파일링), 데이터 분석 및 데이터 시각화가 수행된다. In general, data collection/storage, data preprocessing, data purification (profiling), data analysis, and data visualization are performed for big data analysis.
최근 빅데이터 수집을 위한 데이터 소스는 음성, 문서, SNS 데이터와 같은 비정형 데이터, 로그 데이터, 머신 데이터 및 운용 데이터와 같은 반정형 데이터와 DB/DW와 같은 정형 데이터를 포함한다. Recently, data sources for big data collection include unstructured data such as voice, document, and SNS data, semi-structured data such as log data, machine data, and operation data, and structured data such as DB/DW.
또한, 빅데이터는 에너지, 제조, 물류, 의료, 스마트시티, 재난재해, 포털과 같이 다양한 응용분야로 나뉘어지며, 종래에는 각 응용에 따라 특화된 개별 데이터 플랫폼에 직접 액세스하여 복잡한 연산을 수행하여 결과를 얻고 있다. In addition, big data is divided into various application fields such as energy, manufacturing, logistics, medical care, smart city, disaster disaster, and portal. are getting
상기한 종래기술의 문제점을 해결하기 위해, 본 발명은 데이터 모델 차이로 인한 데이터 활용 복잡성을 해소할 수 있는 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치를 제안하고자 한다. In order to solve the problems of the prior art, the present invention proposes a method and apparatus for integrating big data cross-model data that can solve the complexity of using data due to differences in data models.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, 빅데이터 크로스 모델 데이터 통합 처리 장치로서, 프로세서; 및 상기 프로세서에 연결되는 메모리를 포함하되, 상기 메모리는, 빅데이터의 검색, 질의 및 분석 중 적어도 하나를 위한 사용자의 요청이 입력되는 경우, 상기 사용자 요청에 따른 워크플로우의 처리를 위한 복수의 개별 플랫폼을 고려하여 실행 계획을 생성하고, 상기 실행 계획을 스테이지 단위로 분할하고, 상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하고, 상기 복수의 개별 플랫폼에 매핑된 태스크를 변환 및 배분하고, 상기 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측하도록, 상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 빅데이터 크로스 모델 데이터 통합 처리 장치가 제공된다.In order to achieve the above object, according to an embodiment of the present invention, a big data cross model data integration processing device, a processor; and a memory connected to the processor, wherein the memory includes a plurality of individual pieces for processing a workflow according to the user request when a user request for at least one of search, query, and analysis of big data is input. Creating an execution plan in consideration of the platform, dividing the execution plan into stages, mapping at least one of the plurality of individual platforms to the stage unit, converting and distributing tasks mapped to the plurality of individual platforms, , Big data cross-model data integration processing apparatus is provided for storing program instructions executed by the processor to manage and predict resource information of the plurality of individual platforms.
상기 복수의 개별 플랫폼은 Spark, JavaStreams, Flink, GraphChi 및 Giraph 중 적어도 하나를 포함할 수 있다. The plurality of individual platforms may include at least one of Spark, JavaStreams, Flink, GraphChi, and Giraph.
상기 실행 계획은 상기 복수의 개별 플랫폼 각각에서의 실행되는 복수의 오퍼레이터 및 상기 복수의 오퍼레이터의 실행 순서로 정의될 수 있다. The execution plan may be defined as a plurality of operators executed on each of the plurality of individual platforms and an execution sequence of the plurality of operators.
상기 오퍼레이터는 개별 플랫폼 식별 코드가 부여되어 상기 복수의 개별 플랫폼 각각에서 작업이 실행되는 방법을 정의하며, map, sample, flatmap, filter, join, count, loop, context, sort, distinct, groupby, reduce, collect, broadcast 중 적어도 하나를 포함할 수 있다. The operator is given an individual platform identification code to define how a job is executed on each of the plurality of individual platforms, map, sample, flatmap, filter, join, count, loop, context, sort, distinct, groupby, reduce, At least one of collect and broadcast may be included.
상기 리소스 정보는 상기 복수의 개별 플랫폼 각각의 커넥션 수, 네트워크 트래픽, CPU 점유율, RAM 점유율 및 태스크의 진행 상태, 완료시간 중 적어도 하나를 포함할 수 있다.The resource information may include at least one of the number of connections, network traffic, CPU occupancy, RAM occupancy, task progress status, and completion time of each of the plurality of individual platforms.
상기 프로그램 명령어들은, 상기 실행 계획 및 상기 복수의 개별 플랫폼의 리소스 정보를 이용하여 스케일링 또는 로드 밸런싱 중 하나를 결정할 수 있다. The program instructions may determine one of scaling or load balancing using the execution plan and resource information of the plurality of individual platforms.
상기 프로그램 명령어들은, 이전 수행 오퍼레이터, 다음 수행 오퍼레이터에 대한 리소스를 학습데이터로 활용하여 오퍼레이터 수행 순서에 미치는 영향까지 고려하여 리소스를 예측할 수 있다. The program instructions may use resources for the previous operator and next operator as learning data to predict the resource considering the effect on the operator execution order.
상기 스케일링은 하나의 빅데이터 프레임워크 기반의 개별 플랫폼 노드를 복제하는 스케일 아웃 및 삭제하는 스케일 인을 포함할 수 있다. The scaling may include scale-out to replicate individual platform nodes based on one big data framework and scale-in to delete.
본 발명의 다른 측면에 따르면, 프로세서 및 메모리를 포함하는 장치에서 빅데이터 크로스 모델 데이터를 통합 처리하는 방법으로서, 빅데이터의 검색, 질의 및 분석 중 적어도 하나를 위한 사용자의 요청이 입력되는 경우, 상기 사용자 요청에 따른 워크플로우의 처리를 위한 복수의 개별 플랫폼을 고려하여 실행 계획을 생성하는 단계; 상기 실행 계획을 스테이지 단위로 분할하는 단계; 상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하는 단계; 상기 복수의 개별 플랫폼에 매핑된 태스크를 변환 및 배분하는 단계; 및 상기 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측하는 단계를 포함하는 빅데이터 크로스 모델 데이터 통합 처리 방법이 제공된다. According to another aspect of the present invention, as a method of integrating and processing big data cross model data in a device including a processor and memory, when a user's request for at least one of search, query, and analysis of big data is input, the generating an execution plan in consideration of a plurality of individual platforms for processing a workflow according to a user request; Dividing the execution plan into stages; mapping at least one of the plurality of individual platforms on a stage-by-stage basis; converting and distributing tasks mapped to the plurality of individual platforms; and managing and predicting the resource information of the plurality of individual platforms. A big data cross model data integration processing method is provided.
본 발명의 또 다른 측면에 따르면, 상기한 방법을 수행하는 기록매체에 저장되는 컴퓨터 프로그램이 제공된다. According to another aspect of the present invention, a computer program stored in a recording medium for performing the above method is provided.
본 발명에 따르면, 크로스 모델 데이터 통합 처리 플랫폼을 통해 데이터 모델 차이로 인한 데이터 활용 복잡성을 해소하여 손쉽게 융합 분석 결과를 얻을 수 있다. According to the present invention, it is possible to easily obtain convergence analysis results by solving the complexity of using data due to differences in data models through a cross-model data integration processing platform.
도 1은 본 발명의 바람직한 일 실시예에 따른 빅데이터 크로스 모델 데이터 통합 처리 장치의 구성을 도시한 도면이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 빅데이터 크로스 모델 데이터 통합 처리를 위한 아키텍쳐를 도시한 도면이다.
도 3은 본 실시예에 따른 사용자 요청에 따른 워크플로우의 최적화 실행 계획을 예시적으로 도시한 도면이다.
도 4는 개별 플랫폼 태스크를 배분하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 이전 수행 오퍼레이터 및 다음 수행 오퍼레이터에 대한 리소스를 학습데이터로 활용하여 오퍼레이터 수행 순서에 미치는 영향까지 고려하여 리소스를 예측하는 과정을 설명하기 위한 도면이다.
도 6은 본 실시예에 따른 개별 플랫폼 매니저의 상세 구성을 도시한 도면이다.
도 7 내지 도 8은 본 실시예에 따른 개별 플랫폼 매니저를 통한 부하 분산 관리를 예시적으로 설명하기 위한 도면이다. 1 is a diagram showing the configuration of a big data cross model data integrated processing apparatus according to a preferred embodiment of the present invention.
2 is a diagram showing an architecture for big data cross model data integration processing according to a preferred embodiment of the present invention.
3 is a diagram exemplarily illustrating an execution plan for optimizing a workflow according to a user request according to an exemplary embodiment.
4 is a diagram for explaining a process of distributing individual platform tasks.
FIG. 5 is a diagram for explaining a process of predicting a resource by using resources for a previous performing operator and a next performing operator as learning data and considering an effect on an operator performing sequence according to an embodiment of the present invention.
6 is a diagram showing a detailed configuration of an individual platform manager according to the present embodiment.
7 to 8 are diagrams for explaining load distribution management through individual platform managers according to the present embodiment by way of example.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.Since the present invention can make various changes and have various embodiments, specific embodiments are illustrated in the drawings and described in detail.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.
본 발명은 빅데이터의 검색, 질의 및 분석 등을 위한 사용자 요청의 처리를 위한 최적화 실행 계획을 생성하고, 최적화 실행 계획이 복수의 개별 플랫폼에서 처리될 수 있도록 한다. The present invention generates an optimization execution plan for processing user requests for search, query, and analysis of big data, and enables the optimization execution plan to be processed on a plurality of individual platforms.
도 1은 본 발명의 바람직한 일 실시예에 따른 빅데이터 크로스 모델 데이터 통합 처리 장치의 구성을 도시한 도면이다. 1 is a diagram showing the configuration of a big data cross model data integrated processing apparatus according to a preferred embodiment of the present invention.
도 1에 도시된 바와 같이, 본 실시예에 따른 장치는 프로세서(100) 및 메모리(102)를 포함할 수 있다.As shown in FIG. 1 , the device according to the present embodiment may include a
프로세서(100)는 컴퓨터 프로그램을 실행할 수 있는 CPU(central processing unit)나 그밖에 가상 머신 등을 포함할 수 있다. The
메모리(102)는 고정식 하드 드라이브나 착탈식 저장 장치와 같은 불휘발성 저장 장치를 포함할 수 있다. 착탈식 저장 장치는 컴팩트 플래시 유닛, USB 메모리 스틱 등을 포함할 수 있다. 메모리(102)는 각종 랜덤 액세스 메모리와 같은 휘발성 메모리도 포함할 수 있다.
본 실시예에 따른 프로그램 명령어들은, 빅데이터의 검색, 질의 및 분석 중 적어도 하나를 위한 사용자의 요청이 입력되는 경우, 상기 사용자 요청에 따른 워크플로우의 처리를 위한 복수의 개별 플랫폼을 고려하여 최적화 실행 계획을 생성하고, 상기 최적화 실행 계획을 스테이지 단위로 분할하고, 상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하고, 상기 복수의 개별 플랫폼에 매핑된 태스크를 변환 및 배분하고, 상기 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측한다. The program commands according to this embodiment are optimized when a user's request for at least one of search, query, and analysis of big data is input, considering a plurality of individual platforms for processing a workflow according to the user's request. generating a plan, dividing the optimization execution plan into stages, mapping at least one of the plurality of individual platforms in units of stages, converting and distributing tasks mapped to the plurality of individual platforms, and Manages and predicts resource information of individual platforms.
도 2는 본 발명의 바람직한 일 실시예에 따른 빅데이터 크로스 모델 데이터 통합 처리를 위한 아키텍쳐를 도시한 도면이다. 2 is a diagram showing an architecture for big data cross model data integration processing according to a preferred embodiment of the present invention.
도 2의 아키텍쳐는 도 1의 프로세서(100)에서 실행되는 프로그램 명령어들을 모듈 단위로 도시한 도면이다. The architecture of FIG. 2 is a diagram showing program instructions executed in the
도 2를 참조하면, 크로스 모델 데이터 통합 처리 사용자 인터페이스(UI) 모듈(200)은 입력된 사용자 요청에 따른 워크플로우의 처리를 위한 최적화 실행 계획을 생성한다. Referring to FIG. 2 , a cross-model data integration processing user interface (UI)
사용자 인터페이스 모듈(200)은 빅데이터의 검색, 질의 및 분석을 위한 사용자 요청 입력 시, Cost Learner(202)를 통해 비용 기반으로 하나 이상의 개별 플랫폼을 선택하여 실행 계획을 생성한다. The
사용자 인터페이스 모듈(200)은 워크플로우로부터 생성된 실행 계획을 하위 계획으로 분할하고 각 하위 계획의 최적 개별 플랫폼을 결정하여 전체 실행 비용을 최소화한다. The
또한, Optimizer(204)는 개별 플랫폼 실행 계획 수립 과정에 개입하여 개별 플랫폼 작업의 수행 순서와 방법을 결정한다. In addition, the
여기서, 복수의 개별 플랫폼은 Spark, JavaStreams, Flink, GraphChi 및 Giraph 중 적어도 하나를 포함할 수 있고, 서로 다른 빅데이터 프레임워크 기반의 빅데이터 처리 엔진이며, 개별 플랫폼은 컨테이너 형태로 배포된다. Here, the plurality of individual platforms may include at least one of Spark, JavaStreams, Flink, GraphChi, and Giraph, and are big data processing engines based on different big data frameworks, and the individual platforms are deployed in the form of containers.
또한, 실행 계획은 상기 복수의 개별 플랫폼 각각에서의 실행되는 복수의 오퍼레이터 및 상기 복수의 오퍼레이터의 실행 순서로 정의된다. In addition, an execution plan is defined as a plurality of operators executed on each of the plurality of individual platforms and an execution order of the plurality of operators.
도 3은 본 실시예에 따른 사용자 요청에 따른 워크플로우의 최적화 실행 계획을 예시적으로 도시한 도면이다. 3 is a diagram exemplarily illustrating an execution plan for optimizing a workflow according to a user request according to an exemplary embodiment.
도 3a와 같은 사용자 요청에 따른 워크플로우를 복수의 개별 플랫폼(Spark, JavaStreams)을 고려하여 최적화 실행 계획을 생성한다. An optimization execution plan is created by considering a plurality of individual platforms (Spark, JavaStreams) for the workflow according to the user request as shown in FIG. 3a.
오퍼레이터는 플랫폼 식별 코드가 부여되어 상기 복수의 개별 플랫폼 각각에서 작업이 실행되는 방법을 정의하며, map, sample, flatmap, filter, join, count, loop, context, sort, distinct, groupby, reduce, collect, broadcast 중 적어도 하나를 포함할 수 있다. Operators are assigned platform identification codes to define how jobs are executed on each of the plurality of distinct platforms, map, sample, flatmap, filter, join, count, loop, context, sort, distinct, groupby, reduce, collect, may include at least one of the broadcasts.
다시 도 2를 참조하면, 크로스 모델 데이터 통합 처리 개별 플랫폼 코디네이터(210)는 최적화 실행 계획을 스테이지 단위로 분할하고, 상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하고, 개별 플랫폼 태스크를 변환 및 배분한다. Referring back to FIG. 2 , the cross-model data integration processing
도 4는 개별 플랫폼 태스크를 배분하는 과정을 설명하기 위한 도면이다. 4 is a diagram for explaining a process of distributing individual platform tasks.
도 4에 도시된 바와 같이, 최적화 실행 계획은 복수의 스테이지(stage 1 내지 stage 6)으로 분할되며, 코디네이터(210)는 각 스테이지가 서로 다른 개별 플랫폼으로 변환 및 배분한다. As shown in FIG. 4, the optimization execution plan is divided into a plurality of stages (stage 1 to stage 6), and the
코디네이터(210)에 포함된 개별 플랫폼 매니저(212)는 Optimizer(204)에서 생성한 실행 계획을 수신하여 개별 플랫폼에서 이들이 실행하도록 한다. An
개별 플랫폼 매니저(212)는 애플리케이션을 탐색 모드로 실행하여 언제든지 작업 실행을 일시 중지하고 다시 시작할 수 있도록 한다. The
또한, 개별 플랫폼 매니저(212)는 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측한다. In addition, the
여기서, 리소스 정보는 상기 복수의 개별 플랫폼 각각의 커넥션 수, 네트워크 트래픽, CPU 점유율, RAM 점유율 및 태스크의 진행 상태, 완료시간 중 적어도 하나를 포함할 수 있다. Here, the resource information may include at least one of the number of connections, network traffic, CPU occupancy, RAM occupancy, task progress status, and completion time of each of the plurality of individual platforms.
본 실시예에 따른 개별 플랫폼 매니저(212)는 실행 계획 및 상기 복수의 개별 플랫폼의 리소스 정보를 이용하여 스케일링 또는 로드 밸런싱 중 하나를 결정한다. The
개별 플랫폼 매니저(212)는 기계학습을 통해 워크플로우 처리를 위한 리소스를 예측할 수 있으며, 도 5에 도시된 바와 같이, 이때, 이전 수행 오퍼레이터, 다음 수행 오퍼레이터에 대한 리소스를 학습데이터로 활용하여 오퍼레이터 수행 순서에 미치는 영향까지 고려하여 실행 계획에 따른 리소스를 예측할 수 있다. The
도 6은 본 실시예에 따른 개별 플랫폼 매니저의 상세 구성을 도시한 도면이고, 도 7 내지 도 8은 본 실시예에 따른 개별 플랫폼 매니저를 통한 부하 분산 관리를 예시적으로 설명하기 위한 도면이다. 6 is a diagram showing the detailed configuration of an individual platform manager according to this embodiment, and FIGS. 7 to 8 are diagrams for explaining load balancing management through an individual platform manager according to this embodiment by way of example.
도 6을 참조하면, 본 실시예에 따른 개별 플랫폼 매니저(212)는 컨트롤러(Controller, 600), 플랫폼 핸들러(Platform Handler, 602) 및 로드 밸런서(Load Balancer, 604)를 포함할 수 있다. Referring to FIG. 6 , an
컨트롤러(600)는 아답터로부터 실행 계획과 복수의 개별 플랫폼으로부터 리소스 정보를 수신한다. The
아답터는 공간정보 데이터 모델, 시계열 데이터 모델 및 관계형 데이터 모델을 자바 객체로 변환한다. The adapter converts geospatial data model, time series data model, and relational data model into Java objects.
리소스 정보는 주기적으로 수신될 수 있고, 각 플랫폼의 커넥션 수, 네트워크 트래픽, CPU 점유율, RAM 점유율 및 태스크의 진행 상태, 완료시간 중 적어도 하나를 포함할 수 있다.The resource information may be received periodically, and may include at least one of the number of connections of each platform, network traffic, CPU occupancy, RAM occupancy, task progress status, and completion time.
컨트롤러(600)는 플랫폼 리소스 분석을 통해 현재 실행 계획에 따른 데이터를 처리한 플랫폼이 없는 경우, 스케일-아웃(scale-out)으로 결정하고, 플랫폼 리소스의 낭비가 있는 경우에는 스케일-인(scale-in)으로 결정한다. The
플랫폼 핸들러(602)는 컨트롤러(600)의 제어에 따라 개별 플랫폼을 실행시키거나 중지시키고 커넥션을 제어한다. The
도 4를 참조하면, 컨트롤러(600)의 제어에 따라 플랫폼 핸들러(602)는 스케일-아웃(scale-out) 또는 스케일-인(scale-in) 제어 명령을 복수의 개별 플랫폼과 연결되는 게이트웨이(700)에 전달한다. Referring to FIG. 4, under the control of the
예를 들어, 스케일-아웃이 필요한 것으로 결정되는 경우, 기존 개별 플랫폼에 현재 실행 계획에 따른 새로운 개별 플랫폼을 추가한다. For example, if it is determined that scale-out is necessary, a new individual platform is added to the existing individual platform according to the current implementation plan.
개별 플랫폼 매니저(212)는 플랫폼의 리소스 상황에 따라 자동으로 노드 복제가 이루어질 수 있도록 한다. The
바람직하게, 스케일-아웃으로 결정되는 경우, 컨트롤러(600)는 하나의 빅데이터 프레임워크 기반의 플랫폼 노드가 복제되도록 한다. Preferably, when it is determined to be scale-out, the
컨트롤러(600)는 현재의 복수의 개별 플랫폼에서 데이터의 처리가 가능한 경우, 현재 개별 플랫폼 내에서 부하가 분산되도록 결정한다. The
스케일-아웃 및 스케일-인 없이 부하를 분산하는 것으로 결정하는 경우, 컨트롤러(600)의 제어에 따라 로드 밸런서(604)가 플랫폼 핸들러(602)로 로드 밸런싱 정보를 제공한다. When it is determined to distribute the load without scale-out and scale-in, the
플랫폼 핸들러(602)는 로드 밸런싱 정보를 게이트웨이(700)로 전달하여 노드의 복제 또는 삭제 없이 현재의 복수의 개별 플랫폼 사이에서 부하가 분산되도록 한다. The
플랫폼 핸들러(602)는 로드 밸런싱으로 결정되는 경우, 실행 계획이 로드가 가장 낮은 플랫폼으로 전달되도록 한다. The
복수의 개별 플랫폼은 컨테이너 기반의 오픈소스 가상화 기술인 도커(docker)를 통해 이루어질 수 있다. A plurality of individual platforms can be achieved through Docker, a container-based open source virtualization technology.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.The embodiments of the present invention described above have been disclosed for illustrative purposes, and those skilled in the art having ordinary knowledge of the present invention will be able to make various modifications, changes, and additions within the spirit and scope of the present invention, and such modifications, changes, and additions will be considered to fall within the scope of the following claims.
Claims (10)
프로세서; 및
상기 프로세서에 연결되는 메모리를 포함하되,
상기 메모리는,
빅데이터의 검색, 질의 및 분석 중 적어도 하나를 위한 사용자의 요청이 입력되는 경우, 상기 사용자의 요청에 따른 워크플로우의 처리를 위한 복수의 개별 플랫폼을 고려하여 실행 계획을 생성하고,
상기 실행 계획을 스테이지 단위로 분할하고,
상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하고,
상기 복수의 개별 플랫폼에 매핑된 태스크를 변환 및 배분하고,
상기 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측하도록,
상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하되,
상기 실행 계획은 상기 복수의 개별 플랫폼 각각에서 실행되는 복수의 오퍼레이터 및 상기 복수의 오퍼레이터의 실행 순서로 정의되고,
상기 오퍼레이터는 개별 플랫폼 식별 코드가 부여되어 상기 복수의 개별 플랫폼 각각에서 작업이 실행되는 방법을 정의하며, map, sample, flatmap, filter, join, count, loop, context, sort, distinct, groupby, reduce, collect, broadcast를 포함하고,
상기 리소스 정보는 상기 복수의 개별 플랫폼 각각의 커넥션 수, 네트워크 트래픽, CPU 점유율, RAM 점유율 및 태스크의 진행 상태, 완료시간 중 적어도 하나를 포함하고,
상기 프로그램 명령어들은,
상기 실행 계획 및 상기 복수의 개별 플랫폼의 리소스 정보를 이용하여 스케일링 여부를 결정하고, 상기 스케일링 없이 부하를 분산하는 것으로 결정하는 경우, 로드 밸런싱을 수행하며,
상기 프로그램 명령어들은, 이전 수행 오퍼레이터, 다음 수행 오퍼레이터에 대한 리소스를 학습데이터로 활용하여 오퍼레이터 수행 순서에 미치는 영향까지 고려하여 실행 계획에 따른 리소스를 예측하고,
상기 실행 계획 및 상기 리소스 정보를 이용하여 현재 실행 계획에 따른 데이터를 처리한 플랫폼이 없는 경우, 플랫폼 노드를 복제하는 스케일-아웃(scale-out)으로 결정하고, 플랫폼 리소스의 낭비가 있는 경우, 플랫폼 노드를 삭제하는 스케일-인(scale-in)으로 결정하는 빅데이터 크로스 모델 데이터 통합 처리 장치.As a big data cross-model data integration processing device,
processor; and
Including a memory coupled to the processor,
the memory,
When a user's request for at least one of search, query, and analysis of big data is input, an execution plan is created in consideration of a plurality of individual platforms for processing a workflow according to the user's request,
Divide the execution plan into stages,
Mapping at least one of the plurality of individual platforms on a stage-by-stage basis;
Converting and distributing tasks mapped to the plurality of individual platforms;
To manage and predict the resource information of the plurality of individual platforms,
storing program instructions executed by the processor;
The execution plan is defined as a plurality of operators executed on each of the plurality of individual platforms and an execution sequence of the plurality of operators,
The operator is given an individual platform identification code to define how a job is executed on each of the plurality of individual platforms, map, sample, flatmap, filter, join, count, loop, context, sort, distinct, groupby, reduce, Include collect, broadcast,
The resource information includes at least one of the number of connections, network traffic, CPU occupancy, RAM occupancy, task progress status, and completion time of each of the plurality of individual platforms;
The program instructions are
When it is determined whether or not to scale using the execution plan and the resource information of the plurality of individual platforms, and it is determined to distribute the load without the scaling, load balancing is performed,
The program instructions predict resources according to an execution plan by using resources for the previous operator and next operator as learning data, taking into account the effect on the operator execution order,
If there is no platform that has processed the data according to the current execution plan using the execution plan and the resource information, it is determined as a scale-out replicating the platform node, and if there is waste of platform resources, the platform Big data cross-model data integration processing unit that determines by scale-in deleting nodes.
상기 복수의 개별 플랫폼은 Spark, JavaStreams, Flink, GraphChi 및 Giraph 중 적어도 하나를 포함하는 빅데이터 크로스 모델 데이터 통합 처리 장치. According to claim 1,
Wherein the plurality of individual platforms include at least one of Spark, JavaStreams, Flink, GraphChi, and Giraph, big data cross-model data integrated processing device.
빅데이터의 검색, 질의 및 분석 중 적어도 하나를 위한 사용자의 요청이 입력되는 경우, 상기 사용자의 요청에 따른 워크플로우의 처리를 위한 복수의 개별 플랫폼을 고려하여 실행 계획을 생성하는 단계;
상기 실행 계획을 스테이지 단위로 분할하는 단계;
상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하는 단계;
상기 복수의 개별 플랫폼에 매핑된 태스크를 변환 및 배분하는 단계; 및
상기 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측하는 단계를 포함하되,
상기 실행 계획은 상기 복수의 개별 플랫폼 각각에서 실행되는 복수의 오퍼레이터 및 상기 복수의 오퍼레이터의 실행 순서로 정의되고,
상기 오퍼레이터는 개별 플랫폼 식별 코드가 부여되어 상기 복수의 개별 플랫폼 각각에서 작업이 실행되는 방법을 정의하며, map, sample, flatmap, filter, join, count, loop, context, sort, distinct, groupby, reduce, collect, broadcast를 포함하고,
상기 리소스 정보는 상기 복수의 개별 플랫폼 각각의 커넥션 수, 네트워크 트래픽, CPU 점유율, RAM 점유율 및 태스크의 진행 상태, 완료시간 중 적어도 하나를 포함하고,
상기 리소스 정보를 관리 및 예측하는 단계는,
상기 실행 계획 및 상기 복수의 개별 플랫폼의 리소스 정보를 이용하여 스케일링 여부를 결정하고, 상기 스케일링 없이 부하를 분산하는 것으로 결정하는 경우, 로드 밸런싱을 수행하는 단계;
이전 수행 오퍼레이터, 다음 수행 오퍼레이터에 대한 리소스를 학습데이터로 활용하여 오퍼레이터 수행 순서에 미치는 영향까지 고려하여 실행 계획에 따른 리소스를 예측하는 단계; 및
상기 실행 계획 및 상기 리소스 정보를 이용하여 현재 실행 계획에 따른 데이터를 처리한 플랫폼이 없는 경우, 플랫폼 노드를 복제하는 스케일-아웃(scale-out)으로 결정하고, 플랫폼 리소스의 낭비가 있는 경우, 플랫폼 노드를 삭제하는 스케일-인(scale-in)으로 결정하는 단계를 포함하는 빅데이터 크로스 모델 데이터 통합 처리 방법.A method of integrating and processing big data cross model data in a device including a processor and memory,
When a user's request for at least one of search, query, and analysis of big data is input, generating an execution plan in consideration of a plurality of individual platforms for processing a workflow according to the user's request;
Dividing the execution plan into stages;
mapping at least one of the plurality of individual platforms on a stage-by-stage basis;
converting and distributing tasks mapped to the plurality of individual platforms; and
Including managing and predicting resource information of the plurality of individual platforms,
The execution plan is defined as a plurality of operators executed on each of the plurality of individual platforms and an execution sequence of the plurality of operators,
The operator is assigned an individual platform identification code to define how a job is executed on each of the plurality of individual platforms, map, sample, flatmap, filter, join, count, loop, context, sort, distinct, groupby, reduce, Include collect, broadcast,
The resource information includes at least one of the number of connections, network traffic, CPU occupancy, RAM occupancy, task progress status, and completion time of each of the plurality of individual platforms;
Managing and predicting the resource information,
determining whether or not to perform scaling using the execution plan and the resource information of the plurality of individual platforms, and performing load balancing when it is determined to distribute the load without scaling;
Predicting resources according to an execution plan by using resources for previous operators and next operators as learning data and considering the effect on operator execution order; and
If there is no platform that has processed the data according to the current execution plan using the execution plan and the resource information, it is determined as a scale-out that replicates the platform node, and if there is waste of platform resources, the platform A big data cross-model data integration processing method comprising determining a scale-in of deleting a node.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200157838A KR102473776B1 (en) | 2020-11-23 | 2020-11-23 | Big data cross model data integrated processing method and apparatus |
PCT/KR2021/000686 WO2022107995A1 (en) | 2020-11-23 | 2021-01-18 | Integrated data processing method and device for big data cross model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200157838A KR102473776B1 (en) | 2020-11-23 | 2020-11-23 | Big data cross model data integrated processing method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220070848A KR20220070848A (en) | 2022-05-31 |
KR102473776B1 true KR102473776B1 (en) | 2022-12-05 |
Family
ID=81709242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200157838A KR102473776B1 (en) | 2020-11-23 | 2020-11-23 | Big data cross model data integrated processing method and apparatus |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102473776B1 (en) |
WO (1) | WO2022107995A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102605933B1 (en) * | 2022-12-05 | 2023-11-30 | 스마트마인드 주식회사 | Method for allocating work space on server based on instance feature and apparatus for performing the method |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160070218A (en) * | 2014-12-09 | 2016-06-20 | 한국전자통신연구원 | System and method for recommending data analysis services |
KR101595024B1 (en) * | 2015-01-13 | 2016-02-17 | (주)아이티언 | data analyzing system based on user intent |
KR102016683B1 (en) * | 2015-02-26 | 2019-08-30 | 한국전자통신연구원 | Apparatus and method for autonomic scaling of monitoring function resource in software defined network |
KR102071335B1 (en) * | 2015-06-11 | 2020-03-02 | 한국전자통신연구원 | Method for generating workflow model and method and apparatus for executing workflow model |
US9934395B2 (en) * | 2015-09-11 | 2018-04-03 | International Business Machines Corporation | Enabling secure big data analytics in the cloud |
KR101856454B1 (en) | 2017-03-06 | 2018-05-10 | 주식회사 티맥스데이터 | Computer device for distributed processing |
KR20190061247A (en) * | 2017-11-27 | 2019-06-05 | (주) 글루시스 | Real time resource usage ratio monitoring system of big data processing platform |
KR102009576B1 (en) * | 2017-12-13 | 2019-08-09 | 충북대학교 산학협력단 | Workflow apparatus for using process scheduler and method for operating workflow apparatus |
KR20190081306A (en) * | 2017-12-29 | 2019-07-09 | 한국전자통신연구원 | Method for allocating resource for bigdata analyzing software and apparatus for allocating virtual resource using the method |
-
2020
- 2020-11-23 KR KR1020200157838A patent/KR102473776B1/en active IP Right Grant
-
2021
- 2021-01-18 WO PCT/KR2021/000686 patent/WO2022107995A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2022107995A1 (en) | 2022-05-27 |
KR20220070848A (en) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107239335B (en) | Job scheduling system and method for distributed system | |
US7930432B2 (en) | Systems and methods for distributing a workplan for data flow execution based on an arbitrary graph describing the desired data flow | |
CN102576432B (en) | Automated test execution plan generation | |
CN105677812A (en) | Method and device for querying data | |
CN102508639B (en) | Distributed parallel processing method based on satellite remote sensing data characteristics | |
CN104834557B (en) | A kind of data analysing method based on Hadoop | |
CN106126601A (en) | A kind of social security distributed preprocess method of big data and system | |
JP2015026372A (en) | Computer-implemented method, storage medium and computer system for parallel tree based prediction | |
CN104111958A (en) | Data query method and device | |
Cheng et al. | Efficient event correlation over distributed systems | |
CN114416855A (en) | Visualization platform and method based on electric power big data | |
CN116127899B (en) | Chip design system, method, electronic device, and storage medium | |
KR101877828B1 (en) | User interface integrated platform system based on artificial intelligence | |
CN106383746A (en) | Configuration parameter determination method and apparatus of big data processing system | |
CN115169810A (en) | Artificial intelligence system construction method and device for power grid regulation | |
US9613168B2 (en) | Computer aided modeling | |
Gavagsaz et al. | Load balancing in reducers for skewed data in MapReduce systems by using scalable simple random sampling | |
KR102473776B1 (en) | Big data cross model data integrated processing method and apparatus | |
CN110825526B (en) | Distributed scheduling method and device based on ER relationship, equipment and storage medium | |
KR101450239B1 (en) | A system for simultaneous and parallel processing of many twig pattern queries for massive XML data and method thereof | |
Cunha et al. | Context-aware execution migration tool for data science Jupyter Notebooks on hybrid clouds | |
Bellini et al. | Graph databases methodology and tool supporting index/store versioning | |
CN110018830A (en) | A kind of large software compilation device based on distributed type assemblies | |
Miao et al. | ModelHUB: lifecycle management for deep learning | |
KR20230043563A (en) | Workflow-based semantic CAD data conversion method and device therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |