WO2022107995A1 - 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치 - Google Patents

빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치 Download PDF

Info

Publication number
WO2022107995A1
WO2022107995A1 PCT/KR2021/000686 KR2021000686W WO2022107995A1 WO 2022107995 A1 WO2022107995 A1 WO 2022107995A1 KR 2021000686 W KR2021000686 W KR 2021000686W WO 2022107995 A1 WO2022107995 A1 WO 2022107995A1
Authority
WO
WIPO (PCT)
Prior art keywords
big data
individual platforms
individual
execution plan
platforms
Prior art date
Application number
PCT/KR2021/000686
Other languages
English (en)
French (fr)
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 (주)피씨엔
Publication of WO2022107995A1 publication Critical patent/WO2022107995A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a big data cross model data integration processing method and apparatus.
  • Big data analysis is a technology that extracts value from large (tens of terabytes) structured, semi-structured, or unstructured datasets that exceed the capabilities of existing database management tools and analyzes the results.
  • data collection/storage In general, data collection/storage, data preprocessing, data purification (profiling), data analysis, and data visualization are performed for big data analysis.
  • 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 operational data, and structured data such as DB/DW.
  • big data is divided into various application fields such as energy, manufacturing, logistics, medical care, smart city, disasters, and portals. are getting
  • the present invention intends to propose a big data cross-model data integration processing method and apparatus capable of resolving data utilization complexity due to data model differences.
  • a big data cross model data integration processing apparatus comprising: 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's request 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 the platform dividing the execution plan into stage units, mapping at least one of the plurality of individual platforms in units of stages, transforming and distributing tasks mapped to the plurality of individual platforms, , a big data cross-model data integration processing apparatus for storing program instructions executed by the processor to manage and predict resource information of the plurality of individual platforms is provided.
  • 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 order 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, It may include at least one of collect and broadcast.
  • the resource information may include at least one of the number of connections of each of the plurality of individual platforms, network traffic, CPU occupancy, RAM occupancy, task progress status, and completion time.
  • 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 previously executed operator and the next executed operator as training data to predict the resource in consideration of the effect on the operator execution order.
  • the scaling may include scale-out that duplicates individual platform nodes based on one big data framework and scale-in that deletes.
  • a method for integrated processing of big data cross model data in a device including a processor and a memory.
  • FIG. 1 is a diagram showing the configuration of a big data cross-model data integration processing apparatus according to a preferred embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an architecture for big data cross model data integration processing according to a preferred embodiment of the present invention.
  • FIG. 3 is a diagram exemplarily illustrating an optimization execution plan of a workflow according to a user request according to the present embodiment.
  • FIG. 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 in consideration of an effect on an operator execution order by using resources for a previously executed operator and a next performing operator as training data according to an embodiment of the present invention.
  • FIG. 6 is a diagram illustrating a detailed configuration of an individual platform manager according to the present embodiment.
  • FIG. 7 to 8 are diagrams for exemplarily explaining load balancing management through individual platform managers according to the present embodiment.
  • the present invention generates an optimization execution plan for processing user requests for big data search, query and analysis, and the like, and enables the optimization execution plan to be processed in a plurality of individual platforms.
  • FIG. 1 is a diagram showing the configuration of a big data cross-model data integration processing apparatus according to a preferred embodiment of the present invention.
  • the device may include a processor 100 and a memory 102 .
  • the processor 100 may include a central processing unit (CPU) capable of executing a computer program or other virtual machines.
  • CPU central processing unit
  • Memory 102 may include a non-volatile storage device such as a fixed hard drive or a removable storage device.
  • the removable storage device may include a compact flash unit, a USB memory stick, and the like.
  • Memory 102 may also include volatile memory, such as various random access memories.
  • the program instructions according to the present embodiment are optimized in consideration of a plurality of individual platforms for processing a workflow according to the user's request. generating a plan, dividing the optimization execution plan into stage units, mapping at least one of the plurality of individual platforms in units of stages, transforming and distributing tasks mapped to the plurality of individual platforms, and Manage and forecast resource information of individual platforms.
  • FIG. 2 is a diagram illustrating an architecture for big data cross model data integration processing according to a preferred embodiment of the present invention.
  • FIG. 2 is a diagram illustrating program instructions executed in the processor 100 of FIG. 1 in units of modules.
  • the cross-model data integration processing user interface (UI) module 200 generates an optimization execution plan for processing a workflow according to an input user request.
  • the user interface module 200 generates an execution plan by selecting one or more individual platforms based on cost through the Cost Learner 202 when a user request is input for searching, querying and analyzing big data.
  • the user interface module 200 divides the execution plan generated from the workflow into sub-plans and determines the optimal individual platform of each sub-plan to minimize the overall execution cost.
  • the optimizer 204 intervenes in the individual platform execution plan establishment process to determine the execution order and method of individual platform tasks.
  • 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.
  • the 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.
  • FIG. 3 is a diagram exemplarily illustrating an optimization execution plan of a workflow according to a user request according to the present embodiment.
  • An optimization execution plan is generated by considering a plurality of individual platforms (Spark, JavaStreams) for a workflow according to a user's request as shown in FIG. 3A.
  • Operators are given a platform identification code to define how jobs are run on each of the plurality of individual platforms, map, sample, flatmap, filter, join, count, loop, context, sort, distinct, groupby, reduce, collect, It may include at least one of broadcast.
  • the cross-model data integration processing individual platform coordinator 210 divides the optimization execution plan into stage units, maps at least one of the plurality of individual platforms in stage units, and transforms individual platform tasks. and distribute.
  • FIG. 4 is a diagram for explaining a process of distributing individual platform tasks.
  • the optimization execution plan is divided into a plurality of stages (stage 1 to stage 6), and the coordinator 210 converts and distributes each stage to a different individual platform.
  • the individual platform managers 212 included in the coordinator 210 receive the execution plans generated by the optimizer 204 and execute them on the individual platforms.
  • Individual platform managers 212 run applications in browse mode, allowing task execution to be paused and resumed at any time.
  • the individual platform manager 212 manages and predicts resource information of a plurality of individual platforms.
  • 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 individual platform manager 212 determines one of scaling or load balancing using an execution plan and resource information of the plurality of individual platforms.
  • the individual platform manager 212 may predict a resource for workflow processing through machine learning, and as shown in FIG. 5 , at this time, the operator is performed by using the resources for the previous performing operator and the next performing operator as training data. It is possible to estimate the resources according to the execution plan by considering the effect on the order.
  • FIGS. 7 to 8 are diagrams for exemplarily explaining load balancing management through an individual platform manager according to the present embodiment.
  • the individual platform manager 212 may include a controller 600 , a platform handler 602 , and a load balancer 604 .
  • the controller 600 receives the execution plan from the adapter and resource information from a plurality of individual platforms.
  • the adapter converts a spatial data model, a time series data model, and a relational data model into Java objects.
  • the resource information may be periodically received, 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.
  • the controller 600 determines to be scale-out, and when there is waste of platform resources, scale-in (scale-in) in) is determined.
  • the platform handler 602 starts or stops an individual platform under the control of the controller 600 and controls the connection.
  • the platform handler 602 transmits a scale-out or scale-in control command to a gateway 700 connected to a plurality of individual platforms. ) is transmitted to
  • the individual platform manager 212 enables automatic node replication according to the resource status of the platform.
  • the controller 600 when it is determined as scale-out, the controller 600 causes one big data framework-based platform node to be replicated.
  • the controller 600 determines that the load is distributed within the current individual platforms.
  • the load balancer 604 When it is determined to distribute the load without scale-out and scale-in, the load balancer 604 provides load balancing information to the platform handler 602 under the control of the controller 600 .
  • the platform handler 602 transmits the load balancing information to the gateway 700 so that the load is distributed among a plurality of current individual platforms without duplication or deletion of nodes.
  • the platform handler 602 causes the execution plan to be passed to the platform with the lowest load, if determined by load balancing.
  • a plurality of individual platforms may be implemented through Docker, which is a container-based open source virtualization technology.

Abstract

본 발명은 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치를 개시한다. 본 발명에 따르면, 프로세서 및 상기 프로세서에 연결되는 메모리를 포함하되, 상기 메모리는, 빅데이터의 검색, 질의 및 분석 중 적어도 하나를 위한 사용자의 요청이 입력되는 경우, 상기 사용자 요청에 따른 워크플로우의 처리를 위한 복수의 개별 플랫폼을 고려하여 실행 계획을 생성하고, 상기 실행 계획을 스테이지 단위로 분할하고, 상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하고, 상기 복수의 개별 플랫폼에 매핑된 태스크를 변환 및 배분하고, 상기 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측하도록, 상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 빅데이터 크로스 모델 데이터 통합 처리 장치가 제공된다.

Description

빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치
본 발명은 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치에 관한 것이다.
빅데이터 분석은 기존 데이터베이스 관리도구의 능력을 넘어서는 대량(수십 테라바이트)의 정형, 반정형 또는 비정형 데이터셋에서 가치를 추출하고 결과를 분석하는 기술이다.
다양한 종류의 대규모 데이터에 대한 생성, 수집, 분석, 표현을 그 특징으로 하는 빅데이터 기술의 발전은 다변화된 현대 사회를 더욱 정확하게 예측하여 효율적으로 작동하게 하고 개인화된 현대 사회 구성원마다 맞춤형 정보를 제공, 관리, 분석 가능하게 하며 과거에는 불가능했던 기술을 실현시키기도 한다.
이같이 빅데이터는 정치, 사회, 경제, 문화, 과학 기술 등 전 영역에 걸쳐서 사회와 인류에게 가치있는 정보를 제공할 수 있는 가능성을 제시하며 그 중요성이 부각되고 있다.
일반적으로 빅데이터 분석을 위해 데이터 수집/저장, 데이터 전처리, 데이터 정제(프로파일링), 데이터 분석 및 데이터 시각화가 수행된다.
최근 빅데이터 수집을 위한 데이터 소스는 음성, 문서, SNS 데이터와 같은 비정형 데이터, 로그 데이터, 머신 데이터 및 운용 데이터와 같은 반정형 데이터와 DB/DW와 같은 정형 데이터를 포함한다.
또한, 빅데이터는 에너지, 제조, 물류, 의료, 스마트시티, 재난재해, 포털과 같이 다양한 응용분야로 나뉘어지며, 종래에는 각 응용에 따라 특화된 개별 데이터 플랫폼에 직접 액세스하여 복잡한 연산을 수행하여 결과를 얻고 있다.
상기한 종래기술의 문제점을 해결하기 위해, 본 발명은 데이터 모델 차이로 인한 데이터 활용 복잡성을 해소할 수 있는 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치를 제안하고자 한다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, 빅데이터 크로스 모델 데이터 통합 처리 장치로서, 프로세서; 및 상기 프로세서에 연결되는 메모리를 포함하되, 상기 메모리는, 빅데이터의 검색, 질의 및 분석 중 적어도 하나를 위한 사용자의 요청이 입력되는 경우, 상기 사용자 요청에 따른 워크플로우의 처리를 위한 복수의 개별 플랫폼을 고려하여 실행 계획을 생성하고, 상기 실행 계획을 스테이지 단위로 분할하고, 상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하고, 상기 복수의 개별 플랫폼에 매핑된 태스크를 변환 및 배분하고, 상기 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측하도록, 상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 빅데이터 크로스 모델 데이터 통합 처리 장치가 제공된다.
상기 복수의 개별 플랫폼은 Spark, JavaStreams, Flink, GraphChi 및 Giraph 중 적어도 하나를 포함할 수 있다.
상기 실행 계획은 상기 복수의 개별 플랫폼 각각에서의 실행되는 복수의 오퍼레이터 및 상기 복수의 오퍼레이터의 실행 순서로 정의될 수 있다.
상기 오퍼레이터는 개별 플랫폼 식별 코드가 부여되어 상기 복수의 개별 플랫폼 각각에서 작업이 실행되는 방법을 정의하며, map, sample, flatmap, filter, join, count, loop, context, sort, distinct, groupby, reduce, collect, broadcast 중 적어도 하나를 포함할 수 있다.
상기 리소스 정보는 상기 복수의 개별 플랫폼 각각의 커넥션 수, 네트워크 트래픽, CPU 점유율, RAM 점유율 및 태스크의 진행 상태, 완료시간 중 적어도 하나를 포함할 수 있다.
상기 프로그램 명령어들은, 상기 실행 계획 및 상기 복수의 개별 플랫폼의 리소스 정보를 이용하여 스케일링 또는 로드 밸런싱 중 하나를 결정할 수 있다.
상기 프로그램 명령어들은, 이전 수행 오퍼레이터, 다음 수행 오퍼레이터에 대한 리소스를 학습데이터로 활용하여 오퍼레이터 수행 순서에 미치는 영향까지 고려하여 리소스를 예측할 수 있다.
상기 스케일링은 하나의 빅데이터 프레임워크 기반의 개별 플랫폼 노드를 복제하는 스케일 아웃 및 삭제하는 스케일 인을 포함할 수 있다.
본 발명의 다른 측면에 따르면, 프로세서 및 메모리를 포함하는 장치에서 빅데이터 크로스 모델 데이터를 통합 처리하는 방법으로서, 빅데이터의 검색, 질의 및 분석 중 적어도 하나를 위한 사용자의 요청이 입력되는 경우, 상기 사용자 요청에 따른 워크플로우의 처리를 위한 복수의 개별 플랫폼을 고려하여 실행 계획을 생성하는 단계; 상기 실행 계획을 스테이지 단위로 분할하는 단계; 상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하는 단계; 상기 복수의 개별 플랫폼에 매핑된 태스크를 변환 및 배분하는 단계; 및 상기 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측하는 단계를 포함하는 빅데이터 크로스 모델 데이터 통합 처리 방법이 제공된다.
본 발명의 또 다른 측면에 따르면, 상기한 방법을 수행하는 기록매체에 저장되는 컴퓨터 프로그램이 제공된다.
본 발명에 따르면, 크로스 모델 데이터 통합 처리 플랫폼을 통해 데이터 모델 차이로 인한 데이터 활용 복잡성을 해소하여 손쉽게 융합 분석 결과를 얻을 수 있다.
도 1은 본 발명의 바람직한 일 실시예에 따른 빅데이터 크로스 모델 데이터 통합 처리 장치의 구성을 도시한 도면이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 빅데이터 크로스 모델 데이터 통합 처리를 위한 아키텍쳐를 도시한 도면이다.
도 3은 본 실시예에 따른 사용자 요청에 따른 워크플로우의 최적화 실행 계획을 예시적으로 도시한 도면이다.
도 4는 개별 플랫폼 태스크를 배분하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 이전 수행 오퍼레이터 및 다음 수행 오퍼레이터에 대한 리소스를 학습데이터로 활용하여 오퍼레이터 수행 순서에 미치는 영향까지 고려하여 리소스를 예측하는 과정을 설명하기 위한 도면이다.
도 6은 본 실시예에 따른 개별 플랫폼 매니저의 상세 구성을 도시한 도면이다.
도 7 내지 도 8은 본 실시예에 따른 개별 플랫폼 매니저를 통한 부하 분산 관리를 예시적으로 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명은 빅데이터의 검색, 질의 및 분석 등을 위한 사용자 요청의 처리를 위한 최적화 실행 계획을 생성하고, 최적화 실행 계획이 복수의 개별 플랫폼에서 처리될 수 있도록 한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 빅데이터 크로스 모델 데이터 통합 처리 장치의 구성을 도시한 도면이다.
도 1에 도시된 바와 같이, 본 실시예에 따른 장치는 프로세서(100) 및 메모리(102)를 포함할 수 있다.
프로세서(100)는 컴퓨터 프로그램을 실행할 수 있는 CPU(central processing unit)나 그밖에 가상 머신 등을 포함할 수 있다.
메모리(102)는 고정식 하드 드라이브나 착탈식 저장 장치와 같은 불휘발성 저장 장치를 포함할 수 있다. 착탈식 저장 장치는 컴팩트 플래시 유닛, USB 메모리 스틱 등을 포함할 수 있다. 메모리(102)는 각종 랜덤 액세스 메모리와 같은 휘발성 메모리도 포함할 수 있다.
본 실시예에 따른 프로그램 명령어들은, 빅데이터의 검색, 질의 및 분석 중 적어도 하나를 위한 사용자의 요청이 입력되는 경우, 상기 사용자 요청에 따른 워크플로우의 처리를 위한 복수의 개별 플랫폼을 고려하여 최적화 실행 계획을 생성하고, 상기 최적화 실행 계획을 스테이지 단위로 분할하고, 상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하고, 상기 복수의 개별 플랫폼에 매핑된 태스크를 변환 및 배분하고, 상기 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 빅데이터 크로스 모델 데이터 통합 처리를 위한 아키텍쳐를 도시한 도면이다.
도 2의 아키텍쳐는 도 1의 프로세서(100)에서 실행되는 프로그램 명령어들을 모듈 단위로 도시한 도면이다.
도 2를 참조하면, 크로스 모델 데이터 통합 처리 사용자 인터페이스(UI) 모듈(200)은 입력된 사용자 요청에 따른 워크플로우의 처리를 위한 최적화 실행 계획을 생성한다.
사용자 인터페이스 모듈(200)은 빅데이터의 검색, 질의 및 분석을 위한 사용자 요청 입력 시, Cost Learner(202)를 통해 비용 기반으로 하나 이상의 개별 플랫폼을 선택하여 실행 계획을 생성한다.
사용자 인터페이스 모듈(200)은 워크플로우로부터 생성된 실행 계획을 하위 계획으로 분할하고 각 하위 계획의 최적 개별 플랫폼을 결정하여 전체 실행 비용을 최소화한다.
또한, Optimizer(204)는 개별 플랫폼 실행 계획 수립 과정에 개입하여 개별 플랫폼 작업의 수행 순서와 방법을 결정한다.
여기서, 복수의 개별 플랫폼은 Spark, JavaStreams, Flink, GraphChi 및 Giraph 중 적어도 하나를 포함할 수 있고, 서로 다른 빅데이터 프레임워크 기반의 빅데이터 처리 엔진이며, 개별 플랫폼은 컨테이너 형태로 배포된다.
또한, 실행 계획은 상기 복수의 개별 플랫폼 각각에서의 실행되는 복수의 오퍼레이터 및 상기 복수의 오퍼레이터의 실행 순서로 정의된다.
도 3은 본 실시예에 따른 사용자 요청에 따른 워크플로우의 최적화 실행 계획을 예시적으로 도시한 도면이다.
도 3a와 같은 사용자 요청에 따른 워크플로우를 복수의 개별 플랫폼(Spark, JavaStreams)을 고려하여 최적화 실행 계획을 생성한다.
오퍼레이터는 플랫폼 식별 코드가 부여되어 상기 복수의 개별 플랫폼 각각에서 작업이 실행되는 방법을 정의하며, map, sample, flatmap, filter, join, count, loop, context, sort, distinct, groupby, reduce, collect, broadcast 중 적어도 하나를 포함할 수 있다.
다시 도 2를 참조하면, 크로스 모델 데이터 통합 처리 개별 플랫폼 코디네이터(210)는 최적화 실행 계획을 스테이지 단위로 분할하고, 상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하고, 개별 플랫폼 태스크를 변환 및 배분한다.
도 4는 개별 플랫폼 태스크를 배분하는 과정을 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, 최적화 실행 계획은 복수의 스테이지(stage 1 내지 stage 6)으로 분할되며, 코디네이터(210)는 각 스테이지가 서로 다른 개별 플랫폼으로 변환 및 배분한다.
코디네이터(210)에 포함된 개별 플랫폼 매니저(212)는 Optimizer(204)에서 생성한 실행 계획을 수신하여 개별 플랫폼에서 이들이 실행하도록 한다.
개별 플랫폼 매니저(212)는 애플리케이션을 탐색 모드로 실행하여 언제든지 작업 실행을 일시 중지하고 다시 시작할 수 있도록 한다.
또한, 개별 플랫폼 매니저(212)는 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측한다.
여기서, 리소스 정보는 상기 복수의 개별 플랫폼 각각의 커넥션 수, 네트워크 트래픽, CPU 점유율, RAM 점유율 및 태스크의 진행 상태, 완료시간 중 적어도 하나를 포함할 수 있다.
본 실시예에 따른 개별 플랫폼 매니저(212)는 실행 계획 및 상기 복수의 개별 플랫폼의 리소스 정보를 이용하여 스케일링 또는 로드 밸런싱 중 하나를 결정한다.
개별 플랫폼 매니저(212)는 기계학습을 통해 워크플로우 처리를 위한 리소스를 예측할 수 있으며, 도 5에 도시된 바와 같이, 이때, 이전 수행 오퍼레이터, 다음 수행 오퍼레이터에 대한 리소스를 학습데이터로 활용하여 오퍼레이터 수행 순서에 미치는 영향까지 고려하여 실행 계획에 따른 리소스를 예측할 수 있다.
도 6은 본 실시예에 따른 개별 플랫폼 매니저의 상세 구성을 도시한 도면이고, 도 7 내지 도 8은 본 실시예에 따른 개별 플랫폼 매니저를 통한 부하 분산 관리를 예시적으로 설명하기 위한 도면이다.
도 6을 참조하면, 본 실시예에 따른 개별 플랫폼 매니저(212)는 컨트롤러(Controller, 600), 플랫폼 핸들러(Platform Handler, 602) 및 로드 밸런서(Load Balancer, 604)를 포함할 수 있다.
컨트롤러(600)는 아답터로부터 실행 계획과 복수의 개별 플랫폼으로부터 리소스 정보를 수신한다.
아답터는 공간정보 데이터 모델, 시계열 데이터 모델 및 관계형 데이터 모델을 자바 객체로 변환한다.
리소스 정보는 주기적으로 수신될 수 있고, 각 플랫폼의 커넥션 수, 네트워크 트래픽, CPU 점유율, RAM 점유율 및 태스크의 진행 상태, 완료시간 중 적어도 하나를 포함할 수 있다.
컨트롤러(600)는 플랫폼 리소스 분석을 통해 현재 실행 계획에 따른 데이터를 처리한 플랫폼이 없는 경우, 스케일-아웃(scale-out)으로 결정하고, 플랫폼 리소스의 낭비가 있는 경우에는 스케일-인(scale-in)으로 결정한다.
플랫폼 핸들러(602)는 컨트롤러(600)의 제어에 따라 개별 플랫폼을 실행시키거나 중지시키고 커넥션을 제어한다.
도 4를 참조하면, 컨트롤러(600)의 제어에 따라 플랫폼 핸들러(602)는 스케일-아웃(scale-out) 또는 스케일-인(scale-in) 제어 명령을 복수의 개별 플랫폼과 연결되는 게이트웨이(700)에 전달한다.
예를 들어, 스케일-아웃이 필요한 것으로 결정되는 경우, 기존 개별 플랫폼에 현재 실행 계획에 따른 새로운 개별 플랫폼을 추가한다.
개별 플랫폼 매니저(212)는 플랫폼의 리소스 상황에 따라 자동으로 노드 복제가 이루어질 수 있도록 한다.
바람직하게, 스케일-아웃으로 결정되는 경우, 컨트롤러(600)는 하나의 빅데이터 프레임워크 기반의 플랫폼 노드가 복제되도록 한다.
컨트롤러(600)는 현재의 복수의 개별 플랫폼에서 데이터의 처리가 가능한 경우, 현재 개별 플랫폼 내에서 부하가 분산되도록 결정한다.
스케일-아웃 및 스케일-인 없이 부하를 분산하는 것으로 결정하는 경우, 컨트롤러(600)의 제어에 따라 로드 밸런서(604)가 플랫폼 핸들러(602)로 로드 밸런싱 정보를 제공한다.
플랫폼 핸들러(602)는 로드 밸런싱 정보를 게이트웨이(700)로 전달하여 노드의 복제 또는 삭제 없이 현재의 복수의 개별 플랫폼 사이에서 부하가 분산되도록 한다.
플랫폼 핸들러(602)는 로드 밸런싱으로 결정되는 경우, 실행 계획이 로드가 가장 낮은 플랫폼으로 전달되도록 한다.
복수의 개별 플랫폼은 컨테이너 기반의 오픈소스 가상화 기술인 도커(docker)를 통해 이루어질 수 있다.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.

Claims (10)

  1. 빅데이터 크로스 모델 데이터 통합 처리 장치로서,
    프로세서; 및
    상기 프로세서에 연결되는 메모리를 포함하되,
    상기 메모리는,
    빅데이터의 검색, 질의 및 분석 중 적어도 하나를 위한 사용자의 요청이 입력되는 경우, 상기 사용자 요청에 따른 워크플로우의 처리를 위한 복수의 개별 플랫폼을 고려하여 실행 계획을 생성하고,
    상기 실행 계획을 스테이지 단위로 분할하고,
    상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하고,
    상기 복수의 개별 플랫폼에 매핑된 태스크를 변환 및 배분하고,
    상기 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측하도록,
    상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 빅데이터 크로스 모델 데이터 통합 처리 장치.
  2. 제1항에 있어서,
    상기 복수의 개별 플랫폼은 Spark, JavaStreams, Flink, GraphChi 및 Giraph 중 적어도 하나를 포함하는 빅데이터 크로스 모델 데이터 통합 처리 장치.
  3. 제1항에 있어서,
    상기 실행 계획은 상기 복수의 개별 플랫폼 각각에서의 실행되는 복수의 오퍼레이터 및 상기 복수의 오퍼레이터의 실행 순서로 정의되는 빅데이터 크로스 모델 데이터 통합 처리 장치.
  4. 제3항에 있어서,
    상기 오퍼레이터는 개별 플랫폼 식별 코드가 부여되어 상기 복수의 개별 플랫폼 각각에서 작업이 실행되는 방법을 정의하며, map, sample, flatmap, filter, join, count, loop, context, sort, distinct, groupby, reduce, collect, broadcast 중 적어도 하나를 포함하는 빅데이터 크로스 모델 데이터 통합 처리 장치.
  5. 제4항에 있어서,
    상기 리소스 정보는 상기 복수의 개별 플랫폼 각각의 커넥션 수, 네트워크 트래픽, CPU 점유율, RAM 점유율 및 태스크의 진행 상태, 완료시간 중 적어도 하나를 포함하는 빅데이터 크로스 모델 데이터 통합 처리 장치.
  6. 제5항에 있어서,
    상기 프로그램 명령어들은,
    상기 실행 계획 및 상기 복수의 개별 플랫폼의 리소스 정보를 이용하여 스케일링 또는 로드 밸런싱 중 하나를 결정하는 빅데이터 크로스 모델 데이터 통합 처리 장치.
  7. 제6항에 있어서,
    상기 프로그램 명령어들은, 이전 수행 오퍼레이터, 다음 수행 오퍼레이터에 대한 리소스를 학습데이터로 활용하여 오퍼레이터 수행 순서에 미치는 영향까지 고려하여 실행 계획에 따른 리소스를 예측하는 빅데이터 크로스 모델 데이터 통합 처리 장치.
  8. 제6항에 있어서,
    상기 스케일링은 하나의 빅데이터 프레임워크 기반의 개별 플랫폼 노드를 복제하는 스케일 아웃 및 삭제하는 스케일 인을 포함하는 빅데이터 크로스 모델 데이터 통합 처리 장치.
  9. 프로세서 및 메모리를 포함하는 장치에서 빅데이터 크로스 모델 데이터를 통합 처리하는 방법으로서,
    빅데이터의 검색, 질의 및 분석 중 적어도 하나를 위한 사용자의 요청이 입력되는 경우, 상기 사용자 요청에 따른 워크플로우의 처리를 위한 복수의 개별 플랫폼을 고려하여 실행 계획을 생성하는 단계;
    상기 실행 계획을 스테이지 단위로 분할하는 단계;
    상기 스테이지 단위로 상기 복수의 개별 플랫폼 중 적어도 하나를 매핑하는 단계;
    상기 복수의 개별 플랫폼에 매핑된 태스크를 변환 및 배분하는 단계; 및
    상기 복수의 개별 플랫폼의 리소스 정보를 관리 및 예측하는 단계를 포함하는 빅데이터 크로스 모델 데이터 통합 처리 방법.
  10. 제9항에 따른 방법을 수행하는 기록매체에 저장되는 컴퓨터 프로그램.
PCT/KR2021/000686 2020-11-23 2021-01-18 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치 WO2022107995A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0157838 2020-11-23
KR1020200157838A KR102473776B1 (ko) 2020-11-23 2020-11-23 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2022107995A1 true WO2022107995A1 (ko) 2022-05-27

Family

ID=81709242

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/000686 WO2022107995A1 (ko) 2020-11-23 2021-01-18 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치

Country Status (2)

Country Link
KR (1) KR102473776B1 (ko)
WO (1) WO2022107995A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102605933B1 (ko) * 2022-12-05 2023-11-30 스마트마인드 주식회사 인스턴스 특성을 고려하여 서버 상의 워크 스페이스를 할당하는 방법 및 이러한 방법을 수행하는 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101595024B1 (ko) * 2015-01-13 2016-02-17 (주)아이티언 사용자 기반 데이터 분석 시스템
KR20160070218A (ko) * 2014-12-09 2016-06-20 한국전자통신연구원 데이터 분석 서비스 추천 시스템 및 방법
US20170076105A1 (en) * 2015-09-11 2017-03-16 International Business Machines Corporation Enabling secure big data analytics in the cloud
KR20190061247A (ko) * 2017-11-27 2019-06-05 (주) 글루시스 빅데이터 처리 플랫폼의 실시간 자원 사용률 모니터링 시스템
KR102071335B1 (ko) * 2015-06-11 2020-03-02 한국전자통신연구원 워크플로우 모델 생성 방법과 워크플로우 모델 실행 방법 및 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102016683B1 (ko) * 2015-02-26 2019-08-30 한국전자통신연구원 소프트웨어 정의 네트워크의 모니터링 기능 자원 자율 스케일링 장치 및 방법
KR101856454B1 (ko) 2017-03-06 2018-05-10 주식회사 티맥스데이터 분산처리를 위한 컴퓨팅 장치
KR102009576B1 (ko) * 2017-12-13 2019-08-09 충북대학교 산학협력단 처리 스케줄러를 이용한 워크플로우 장치 및 워크플로우 장치의 동작 방법
KR20190081306A (ko) * 2017-12-29 2019-07-09 한국전자통신연구원 빅데이터 분석 소프트웨어에 대한 자원 할당 방법, 상기 방법을 이용하는 가상화 자원 할당 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160070218A (ko) * 2014-12-09 2016-06-20 한국전자통신연구원 데이터 분석 서비스 추천 시스템 및 방법
KR101595024B1 (ko) * 2015-01-13 2016-02-17 (주)아이티언 사용자 기반 데이터 분석 시스템
KR102071335B1 (ko) * 2015-06-11 2020-03-02 한국전자통신연구원 워크플로우 모델 생성 방법과 워크플로우 모델 실행 방법 및 장치
US20170076105A1 (en) * 2015-09-11 2017-03-16 International Business Machines Corporation Enabling secure big data analytics in the cloud
KR20190061247A (ko) * 2017-11-27 2019-06-05 (주) 글루시스 빅데이터 처리 플랫폼의 실시간 자원 사용률 모니터링 시스템

Also Published As

Publication number Publication date
KR102473776B1 (ko) 2022-12-05
KR20220070848A (ko) 2022-05-31

Similar Documents

Publication Publication Date Title
CN103678609B (zh) 一种基于分布式关系‑对象映射处理的大数据查询的方法
WO2013035904A1 (ko) 생명 정보 분석 파이프라인 처리 시스템 및 방법
US7953891B2 (en) Systems and methods for scheduling data flow execution based on an arbitrary graph describing the desired data flow
US7930432B2 (en) Systems and methods for distributing a workplan for data flow execution based on an arbitrary graph describing the desired data flow
CN105677812A (zh) 一种数据查询方法及数据查询装置
JPH09179733A (ja) オブジェクト変換システム
CN106126601A (zh) 一种社保大数据分布式预处理方法及系统
WO2022107995A1 (ko) 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치
KR101877828B1 (ko) 인공지능 기반의 사용자 인터페이스 통합 플랫폼 시스템
CN116361290A (zh) 冷热数据处理方法、装置、电子设备及存储介质
CN110825526B (zh) 基于er关系的分布式调度方法及装置、设备以及存储介质
Blythe et al. Planning for workflow construction and maintenance on the grid
Blythe et al. Transparent Grid Computing: A Knowledge-Based Approach.
WO2022107994A1 (ko) 빅데이터 증강분석 프로파일링 시스템
WO2023101368A1 (ko) 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치
WO2024075911A1 (ko) Ai에 의한 재난안전지식 통합관리시스템
WO2010093084A1 (ko) 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
CN110263185B (zh) 一种新型干法水泥熟料生产热耗知识图谱的构建方法
WO2019189962A1 (ko) 분산 데이터베이스에서의 복제본이 존재하는 데이터에 대한 질의 병렬화 방법
WO2018216828A1 (ko) 에너지 빅데이터 관리 시스템 및 그 방법
WO2020138747A1 (ko) 초소형의 일회용 IoT 서비스 인프라 운용 방법
WO2020122286A1 (ko) 자동 분류저장 기술을 이용한 dbms-ai 프레임 워크 및 이를 이용한 자동분류저장 방법
WO2023048439A1 (ko) 워크 플로우 기반의 시맨틱 cad 데이터 변환 방법 및 이를 위한 장치
WO2020096135A1 (ko) 업종별 창업 업무 프로세스의 최적화를 위한 방법 및 시스템
Rokos et al. Using Linda to compute spatial autocorrelation in parallel

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21894774

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 24.10.2023)