KR102257012B1 - 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치방법 - Google Patents

다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치방법 Download PDF

Info

Publication number
KR102257012B1
KR102257012B1 KR1020190004793A KR20190004793A KR102257012B1 KR 102257012 B1 KR102257012 B1 KR 102257012B1 KR 1020190004793 A KR1020190004793 A KR 1020190004793A KR 20190004793 A KR20190004793 A KR 20190004793A KR 102257012 B1 KR102257012 B1 KR 102257012B1
Authority
KR
South Korea
Prior art keywords
file
package
node
distributed processing
driving
Prior art date
Application number
KR1020190004793A
Other languages
English (en)
Other versions
KR20200092507A (ko
Inventor
감민재
김비
김동민
이홍은
이소영
김유하
서영준
Original Assignee
(주) 익투스지노믹스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 익투스지노믹스 filed Critical (주) 익투스지노믹스
Priority to KR1020190004793A priority Critical patent/KR102257012B1/ko
Publication of KR20200092507A publication Critical patent/KR20200092507A/ko
Application granted granted Critical
Publication of KR102257012B1 publication Critical patent/KR102257012B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치시스템에 관한 것으로서, 본 발명에 따른 다양한 클라우드 환경을 기반한 대용량 데이터 처리용 분산 처리 시스템의 설치방법 및 설치시스템과 그 분산 처리 시스템은 특정 클라우드 시스템에 종속적이지 않으며 데이터 처리 수요 시점에 고속으로 데이터를 처리함으로서, 다양한 형태의 매체에 저장될 수 있는 상기 다양한 클라우드 환경에 설치될 수 있는 분산 처리 시스템은 설치패키지로부터 최초로 설치되는 하나 이상의 상기 마스터 노드와 처리된 데이터를 저장하는 하나 이상의 상기 스토리지 노드와 분석할 데이터 입력 시 상기 마스터 노드를 통해서 생성되고 상기 데이터 중 전부 또는 일부 데이터를 처리하는 하나 이상의 상기 계산 노드를 포함하는 것을 특징으로 하는 데이터 처리용 분산 처리 시스템을 설치하는 방법 및 시스템과 그 분산 처리 시스템에 관한 것이다.

Description

다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치방법{An installation method of a distributed processing system for mass data processing applicable to various clouds}
본 발명은 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치시스템 및 설치방법과 그 분산 처리 시스템으로서, 더욱 상세하게는, 다양한 클라우드 환경은 물리적인 시스템의 위치에 따라 퍼블릭 클라우드(Public Cloud), 프라이빗 클라우드(Private Cloud), 하이브리드 클라우드(Hybrid Cloud) 또는 한 종류 이상의 상업적 클라우드 서비스 업체가 제공하는 클라우드를 포함 할 수 있다. 본 발명은 다양한 형태로 저장매체에 저장될수 있는 설치패키지로부터 클라이언트에 설치시스템이 복사되어 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템을 설치하는 설치시스템 및 설치방법과 그 분산 처리 시스템에 관한 것이다.
클라우드(Cloud)는 소프트웨어와 데이터를 인터넷과 연결하여 중앙 컴퓨터에 저장하여 언제 어디서나 인터넷을 통하여 데이터를 이용할 수 있는 것을 말한다.
클라우드는 여러형태로 나타내어지는데, 먼저 도입과 배포 형태에 따라 오직 하나의 단체를 위해서만 운영되는 프라이빗 클라우드(Private Cloud), 열린 네트워크를 통해 공개적으로 이용 할 수 있는 퍼블릭 클라우드(Public Cloud), 둘 이상의 클라우드가 함께 묶여 있는 조합을 가진 하이브리드 클라우드(Hybrid Cloud) 등으로 나눌 수 있다.
현재 클라우드 컴퓨팅 기술은 다양한 산업분야에서 적용되고 있으며 특히 대량의 데이터를 처리하기 위한 플랫폼으로서 클라우드 시스템이 적용되고 있다. 클라우드 기반 시스템은 기존 사내 시스템에 비해 필요한 컴퓨팅 자원을 필요한 시점에서 활용 가능하게 함으로써 시스템 가용성을 높일 수 있으며 특히, 사내 시스템에 종속적이지 않아 급변하는 외·내부 환경에 보다 유연하게 대처할 수 있다.
또한, 클라우드 컴퓨팅 환경에서는 데이터 처리를 위해 사용한 컴퓨팅 리소스와 이용시간에 따라 비용이 발생한다. 따라서 사용자는 해당 클라우드 컴퓨팅 서비스를 사용한 만큼 비용을 지불한다. 하지만 상기 클라우드의 장점이 적용된 클라우드 기반의 대용량 데이터 처리용 분산 처리 시스템을 특정 클라우드에서 구축하기 위해서는 상당한 시간과 비용이 발생한다.
대한민국 공개특허 제10-2014-0065545호(멀티 클라우드 배포 관리 시스템 및 방법, 공개일: 2015.12.09) 대한민국 공개특허 제10-2018-0063240호(클라우드 기반 컴퓨팅 환경에서 인프라스트럭처를 구축, 최적화, 및 시행하는 시스템 및 방법, 공개일: 2018.06.11) 대한민국 등록특허 제10-1822093 (클라우드 시스템 구축 장치 및 방법, 등록일: 2018.01.19)
본 발명은 상술한 바와 같은 종래 기술의 문제점을 해결하고자 하는 것으로서, 특정 클라우드 시스템에 종속적이지 않으며 데이터 처리 수요 시점에 단시간 내에 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치시스템 및 설치방법과 그 분산 처리 시스템을 제공하는 것이다.
본 발명의 일 실시예에 따른 특정 클라우드 시스템에 종속적이지 않으며 데이터 처리 수요 시점에서 단시간 내에 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치시스템 및 설치방법과 그 분산 처리 시스템으로서,
상기 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치시스템은, 설치패키지로부터 클라이언트에 복사된 상기 분산 처리 시스템의 소스 코드 및 바이너리들의 빌드 및 컴파일을 수행할 때 필요한 참조 정보 파일을 포함하는 패키지 구성 정보부;와 상기 패키지 구성 정보부를 통해서 대용량 데이터 처리용 분산 처리 시스템에 대한 소스코드 및 바이너리를 빌드 및 컴파일을 위한 환경을 제공하는 컨테이너 생성 및 삭제와 상기 소스코드 및 바이너리들을 상기 컨테이너에서 빌드 및 컴파일을 실행하는 패키지 구동부;와 다양한 클라우드 환경에 맞게 분산 처리 시스템의 소스코드 및 바이너리들을 빌드 및 컴파일하는 환경을 갖는 컨테이너;와 상기 컨테이너 환경에서 분산 처리 시스템의 소스 코드 및 바이너리가 빌드 및 컴파일되어 생성되는 구동파일과 사용자에 의해 클라우드를 선택 및 요청하기 위한 사용자 인터페이스 수단을 제공하는 것을 더 포함하는 제어부;와 구동파일에 대한 소스 코드 및 바이너리들이 컨테이너에서 빌드 및 컴파일이 완료된 후 구동파일을 저장하는 패키지 저장부;와 상기 패키지 저장부 외에 외부에서 소스 코드 및 바이너리를 받을 수 있는 외부저장소;로 구성되어 포함된다.
상기 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치방법은, 설치패키지로부터 설치시스템의 일부인 패키지 구성 정보부, 패키지 구동부, 제어부, 패키지 저장부 및 그 분산 처리 시스템에 대한 소스코드 및 바이너리 등 최초 설치시스템이 클라이언트에 복사되는 제 1단계,
상기 최초 설치시스템을 통해 그 분산 처리시스템을 설치하기 위해서는 설치될 다양한 클라우드의 운영체제 환경 또는 호환 운영이 가능한 운영체제 환경과 빌드 및 컴파일을 하기 위한 환경을 가진 컨테이너를 생성하고 패키지 저장부에 복사된 상기 분산 처리 시스템에 대한 소스코드와 외부 필수 컴포넌트의 소스코드 및 바이너리들을 해당 컨테이너로 복사 또는 연결한 후 상기 컨테이너에서 상기 소스코드와 바이너리들을, 빌드, 컴파일, 압축하여 생성된 구동파일을 패키지 저장소로 전송한 후 컨테이너를 삭제한다. 이때 저장된 구동파일은 다양한 클라우드에 설치될 계산 노드 구동파일을 포함하는 마스터 노드 구동파일, 스토리지 노드 구동파일을 포함하는 제1 구동파일이 구비되는 제 2단계,
제어부에 포함된 사용자 인터페이스를 통해 클라우드를 선택하고 선택된 클라우드 컴퓨팅 환경에서 마스터 노드와 스토리지 노드를 할당하는 3단계,
상기 선택된 클라우드를 통해 할당된 마스터 노드와 스토리지 노드에 마스터 시스템과 스토리지 시스템을 구비하기 위해 패키지 구동부는 마스터 노드와 스토리지 노드의 네트워크 정보 및 기타 구동에 필요한 정보를 제어부의 사용자 인터페이스를 통해 선택된 클라우드에 구비되는 마스터 시스템과 스토리지 시스템의 환경 설정 파일로 만들어 압축된 제1 구동파일을 압축 해제한 후 각각 마스터 구동 파일과 스토리지 구동파일의 특정 폴더에 복사한 후 압축하여 제2 구동파일을 구비하는 제 4단계,
4단계를 통해 생성된 제2 구동파일의 마스터 구동파일과 스토리지 구동파일을 마스터 노드와 스토리지 노드에 전송하고 압축 해제한 후 설치하여 마스터 시스템과 스토리지 시스템을 구비하여 제1 분산 처리 시스템을 구비하는 제 5단계,
상기 마스터 시스템과 스토리지 시스템이 정상적으로 동작하고 있고, 사용자로부터 마스터 시스템에 데이터와 테스크가 입력될 때, 상기 데이터와 테스크를 처리할 수 있도록 계산 노드의 리소스와 계산 노드의 수를 할당하는 제 6단계,
제 6단계에서 마스터 시스템에 포함되는 계산 노드 구동 파일은 계산 노드에 전송한다. 전송된 계산 노드 구동파일은 압축 해제한 후 설치가 진행된다. 이때, 설치가 완료되었는지에 대한 정보를 제어부에 포함된 사용자 인터페이스를 통해 확인할 수 있으며, 계산 시스템이 구비가 되는 제 7단계,
상기 계산 시스템이 구비되고 최초 동작 시 계산 시스템은 저장된 마스터 시스템의 네트워크 정보를 통해 마스터 시스템에 성공 또는 실패 메세지를 보내고 마스터 시스템이 계산 시스템의 성공 메세지를 수신한 후 계산 시스템을 등록 또는 계산 시스템을 재설치를 수행하는 것으로 제 8단계를 포함한다.
다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템은, 상기 설치 방법과 설치 시스템을 통해 최초로 설치되는 하나 이상의 마스터 시스템과 스토리지 시스템을 구성하는 제1 분산 처리 시스템과 마스터 시스템과 사용자로부터 분석할 데이터와 테스크를 입력 받을 시 상기 데이터 중 전부 또는 일부 데이터를 처리하기 위해 생성된 하나 이상의 계산시스템과 처리된 데이터를 저장하는 하나 이상의 스토리지 시스템을 구성하는 제2 분산 처리 시스템을 포함한다. 상기 제2 분산 처리 시스템은 본 발명의 다양한 클라우드에 적용가능한 대용량 데이터 처리용 분산 처리 시스템이다.
본 발명에 의하면, 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템은 특정 클라우드(Cloud)에 한정하지 않고 운용할 수 있는 효과가 있으며, 대용량 데이터를 처리하고자 하는 시점에서 별도의 복잡한 설치 진행 과정이 없으며 대상 운영 환경에 맞게 커스터마이징의 작업이 필요 없이 즉각적으로 설치 및 운영이 가능하다.
또한, 데이터 분석이 필요한 시점에서 본 발명의 분산 처리 시스템이 구비되어 있어 설치가 됨으로 종래의 기술들에 비해 분산 클러스터 시스템의 운영에 관여하는 시스템을 상시적으로 운영할 필요가 없는 점과 비용을 절감할 수 있는 효과가 있다.
또한 상기의 구비된 본 발명의 분산 처리 시스템은 마스터 노드, 스토리지 노드, 계산 노드만으로 구성하여 부가적인 관리시스템은 필요로 하지 않고 보다 더 분산 클러스터의 운영비를 절감할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치시스템과 그 분산 처리 시스템에 대한 전체 구성을 블록도로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 구동파일에 대한 구성을 블록도로 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치방법에 대한 전체적인 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치시스템 구성을 블록도로 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 소스코드 및 바이너리를 구성하는 패키지를 빌드 및 컴파일되는 순서를 구성한 도면이다.
도 5a 내지 5c는 본 발명의 일 실예에 따른 패키지에 대한 참조정보파일을 json 문법 형태로 표기한 도면이다.
도 6은 본 발명의 일 실시예에 따른 설치시스템을 통하여 제1 구동파일을 생성하는 방법을 나타내는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 설치시스템을 통해 생성된 제1 구동파일을 통하여 그 분산 처리 시스템을 설치하기 위한 시스템 구성을 블록도로 도시한 도면이다.
도 8 내지 도 9는 본 발명의 일 실시예에 따른 제어부에 포함된 사용자 인터페이스 수단을 예시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 설치시스템을 통해 생성된 제1 구동파일을 통해 제2 구동파일과 제1 분산 처리 시스템을 생성 및 설치하기 위한 시스템의 동작흐름을 도시한 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 제2 분산 처리 시스템을 블록도로 도시한 도면이다.
도 12는 본 발명의 일 실시예에 따른 마스터 시스템에서 계산 시스템을 생성하는 동작흐름을 도시한 흐름도이다.
도 13 내지 도 16은 본 발명의 일 실시예에 따른 설치시스템을 통하여 다양한 클라우드에 설치되는 그 분산 처리 시스템이 적용되는 일 실시예를 도시한 도면이다.
본 명세서 전체에서, 어떤 부분이 다른 부분과 '연결' 되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우 뿐만 아니라, 그 중간에 다른 소자를 두고 전기적으로 연결되어 있는 경우도 포함된다.
또한, 본 명세서 전체에서 어떤 부분이 어떤 구성요소를 '포함' 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본 명세서 전체에서 사용되는 정도의 용어 ~(하는) 단계 또는 ~의 단계는 ~를 위한 단계를 의미하지 않는다.
덧붙여, 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시 되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 기술되고, 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있다. 이러한 각 구성부의 통합된 실시예 및 분리된 실시예로 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위에 포함된다.
본 발명의 바람직한 실시 예에 대하여 첨부된 도면을 참조하여 구체적으로 설명하되, 이미 주지된 기술적 부분에 대해서는 설명의 간결함을 위해 생략하거나 압축하기로 한다.
본 발명의 바람직한 실시예에 대하여 첨부된 도면을 참조하여 더 구체적으로 설명한다.
도 1은 본 발명의 일 실시예에 따른 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치시스템과 그 분산 처리 시스템에 대한 전체 구성을 블록도로 도시한 도면이다.
도 1에 도시된 바와 같이, 본 발명의 전체 구성은 설치패키지(100)와 클라이언트(200)와 다양한 클라우드(1000)를 포함하여 구성된다. 도 1은 하나의 설치패키지와 하나의 클라이언트와 하나 이상의 클라우드가 연결되는 구성을 도시하고 있으나, 이는 설명을 위한 예시에 불과하며 본 발명의 범위가 설치패키지 및 클라이언트와 클라우드의 개수로 한정되는 것은 아니다.
먼저, 설치 패키지(100)는 본 발명을 구현하기 위한 설치시스템을 클라이언트(200)에 복사하기 위한 특정한 프로그램이다. 더 구체적으로는, 흔히 사용되는 테스크 탑 PC 또는 서버 스테이션의 응용 프로그램 또는 웹 서비스 형태로 특정 소프트웨어의 소스의 복사, 빌드, 컴파일 등의 기능이 가능한 응용 프로그램 또는 서비스 일 수 있다.
상기 클라이언트는(200) 설치패키지(100)로부터 설치시스템이 복사되며, 상기 설치시스템의 구성으로는 패키지 구성 정보부(210), 패키지 구동부(220), 패키지 저장부(230), 제어부(240), 컨테이너(250), 구동파일(260), 외부 저장소(270)를 포함한다.
먼저 상기 패키지 구성 정보부(210)는 구동파일(260)에 대한 소스코드 및 바이너리를 빌드 및 컴파일을 수행하는 참조 정보 파일을 포함한다. 이때 참조 정보 파일에 기록된 정보는 본 발명의 분산 처리 시스템을 설치하기 위한 구동파일(260)을 이루는 패키지에 대한 정보를 포함하고 있다. 상기 정보는 패키지의 소스코드 및 바이너리에 대한 위치정보와 빌드 및 컴파일 전에 먼저 선행해서 빌드 또는 컴파일이 필요한 필수 패키지에 대한 정보 등을 포함하고 있다. 이때 위치 정보는 Github, ftp, http, 또는 원격·로컬 스토리지 위치 정보를 포함할 수 있으며 Github 주소일 경우는 버전에 따른 설치를 위해 브랜치(branch) 정보가 추가 될 수 있으며, 압축 파일형태로 원본 소스가 저장되어 있을 경우 부가적으로 정상적인 압축 해제를 확인하기 위한 추가적인 정보를 포함할 수 있다.
상기 패키지 구동부(220)는 사용자의 요청으로부터 실행되며 다양한 클라우드에 설치할 구동파일(260)에 대한 소스 코드 및 바이너리를 패키지 구성 정보부(210)의 참조정보파일을 통해 읽어 패키지 저장부(230)에 저장되어 있는 패키지에 대한 소스코드 및 바이너리를 빌드 및 컴파일을 하기 위한 환경을 제공하는 컨테이너(250) 생성 및 삭제와 생성된 컨테이너(250)에서 소스코드 및 바이너리를 빌드 및 컴파일을 실행한다.
상기 패키지 저장부(230)는 구동파일(260)인 제1 구동파일(260)을 생성하기 위한 소스 코드 및 바이너리를 저장하고 그 소스코드 및 바이너리들이 빌드 및 컴파일이 완료된 구동파일(260)을 저장한다. 또한 사용자에 의해 선택한 클라우드에서 할당된 마스터 노드의 네트워크 정보와 스토리지 노드의 네트워크 정보를 특정한 환경 설정 파일로 변환하는 실행파일 등 특정파일들을 포함하며 그 특정파일을 통해서 생성되는 제2 구동파일을 생성하여 저장한다.
제어부(240)는 사용자에 의해 클라우드 선택 및 요청을 한다. 상기 클라우드 선택 및 요청은 디스플레이 장치(10)에서 제공하는 사용자 인터페이스(20)를 통해 사용자가 직접 클라우드를 선택할 수 있는 수단을 제공한다. 또한 제어부(240)는 다양한 클라우드 컴퓨팅 환경 정보를 포함하고 있다.
컨테이너(250)는 필요시점에서 생성되어 다양한 클라우드에 설치되기 위한 구동파일(260)의 패키지에 대한 소스 코드 및 바이너리를 빌드 및 컴파일하기 위한 환경을 갖는다. 상기 컨테이너(250)에서 이루어지는 빌드 및 컴파일은 설치될 컴퓨팅 환경에 대한 환경 정보 없이 다양한 클라우드 환경에 적합하게 빌드 및 컴파일이 실행되어 작업이 종료되면 삭제된다. 상기 컨테이너(250)는 패키지 구동부(220)에 의해서 향후 종국적으로 설치될 수 있으며 컴퓨팅 환경과 동일하게 구성하게 되는데 이때 구성된 컴퓨팅 환경은 클라이이언트(200)에 물리적으로는 특정 공간을 차지하고 있지만 논리적, 시스템적으로는 격리되어 있는 환경이다.
구동파일(260)은 본 발명의 분산 처리 시스템을 설치하기 위함이며, 구동파일에 대한 패키지의 소스코드 및 바이너리가 빌드 및 컴파일이 완료되어 패키지 저장부에 저장된 결과물이다. 상기 구동파일(260)은 마스터 노드 구동파일(3000), 스토리지 노드 구동파일(4000), 계산 노드 구동파일(5000)를 포함한다. 또한 구동파일(260)은 압축 파일로 존재 할 수 있으며, 여러 저장 매체에 저장될 수 있다. 단순히 해당 구동파일(260)인 마스터 노드 구동파일(4000), 스토리지 노드 구동파일(5000), 계산 노드 구동파일(6000)은 각각 할당된 노드에 설치되고 상호 연결될 때 필요한 환경설정 정보만을 포함하고 있지 않다.
외부저장소(270)는 클라이언트(200) 외부에서 연결되어 이용된다. 외부저장소(270)는 컴파일 및 빌드가 필요한 패키지에 대한 소스 코드 및 바이너리가 패키지 저장부(230)에 없을 경우, 외부저장소(270)에서 소스 코드 및 바이너리를 패키지 저장부(230)에 저장하여 빌드 및 컴파일을 돕는 역할을 한다. 외부저장소는 웹사이트, 프로그램 등 형태가 될 수 있다.
상기 구성을 포함하는 설치시스템을 통해 마스터 노드 구동파일(3000), 스토리지 노드 구동파일(4000), 계산 노드 구동파일(5000) 등을 포함한 제1 구동파일(260a)이 생성되고, 그 결과물인 상기 제1 구동파일(260a)을 생성하여 클라이언트(200)의 설치시스템인 패키지 저장부(230)에 저장된다.
그 후 사용자의 필요시점에서 본 발명의 구현에 위한 설치패키지(100)는 단일 동작 프로그램 또는 시스템을 설치하는게 아니라 한 개 이상의 프로그램 또는 시스템을 설치하고 서로 연결시킨 후 특정한 기능의 수행이 가능한 분산 처리 시스템을 설치하는 기능을 추가적으로 가지고 있다.
상기 설치시스템을 통하여 다양한 클라우드에 설치될 분산 처리 시스템에 있어서, 클라우드 환경은 물리적인 시스템의 위치에 따라 퍼블릭 클라우드(Public Cloud), 프라이빗 클라우드(Private Cloud), 하이브리드 클라우드(Hybrid Cloud) 또는 한 종류 이상의 상업적 클라우드 서비스 업체가 제공하는 클라우드를 포함 할 수 있다. 상기 분산 처리 시스템은 설치시스템을 통하여 클라우드에 최초로 설치될 하나 이상의 마스터 시스템(300)과 분석할 데이터가 입력될 시 상기 마스터 시스템(300)으로부터 데이터 중 전부 또는 일부 데이터를 처리하는 하나 이상의 계산 시스템(500)과 처리된 데이터를 저장하는 하나 이상의 스토리지 시스템(400)을 포함한다.
상기 마스터 시스템(300)은 설치시스템으로부터 생성된 제1 구동파일(260a)을 통해 최초로 클라우드에 설치되는 본 발명의 분산 처리 시스템의 일부이며, 제1 구동파일(260a)인 마스터 노드 구동파일(3000)은 계산 노드 구동파일(5000)을 포함하며 클라우드에 할당된 노드에 설치된 후 데이터 및 테스크가 사용자 요청에 의하여 입력될 때 계산 노드의 수 와 계산 노드의 리소스를 계산하여 계산 노드(500)를 할당한다.
스토리지 시스템(400)은 상기 마스터 노드 구동파일(3000)이 클라우드에 전송되는 시점에서 전송되어 설치가 된다. 상기 설치된 스토리지 시스템(4000)은 계산 시스템(500)에서 처리된 데이터와 데이터 분석에 필요한 정보 등을 포함하고 있다.
상기 계산 시스템(500)은 마스터 시스템(300)과 스토리지 시스템(400)이 정상적으로 동작하고 사용자로부터 데이터 및 테스크가 입력될 때 마스터 시스템(300)로부터 생성된다. 계산 시스템(500)이 설치되는 시점에서 마스터 시스템(300)의 네트워크 정보를 포함한다. 또한 마스터 시스템(300)에게 설치한 자신의 계산 시스템(300)에 대한 네트워크 정보를 해당 마스터 시스템(300)의 네트워크 정보를 통해 등록하여 연결한다.
도 2는 본 발명의 구동파일(260)에 대한 구성을 블록도로 도시한 도면이다.
본 발명의 다양한 클라우드에 적용 가능한 대용량 데이터 분산 처리 시스템을 설치하기 위한 구동 시스템(260)은 마스터 노드 구동파일(3000), 계산 노드 구동파일(4000), 스토리지 노드 구동파일(5000)을 포함하며, 상기 설치시스템인 컨테이너(250)에서 구동파일(260)에 대한 패키지의 소스 코드 및 바이너리를 빌드 및 컴파일을 통해 최초 구동파일(260)이 생성된다. 또한 최초로 생성된 구동파일(260)은 제1 구동파일(260a)로 정의할 수 있다. 상기 구동파일(260)의 마스터 노드 구동파일(3000)은 계산 노드 구동파일(5000)을 포함하며 그 밖의 계산 시스템(500)을 설치하기 위한 시스템 및 정보로 구성되어 있다. 계산 노드 구동파일(5000)은 마스터 시스템(300)으로 포함되며 선택된 클라우드에 할당된 노드에 데이터 및 테스크를 처리하는 시스템으로 설치된다. 스토리지 노드 구동파일(4000)은 계산 시스템(600)에서 분석할 데이터와 분석에 필요한 데이터를 저장할 수 있는 시스템으로 설치된다.
상기 구동파일(260)은 일 실시예를 통하여 분산 처리 시스템이 설치진행됨에 따라 포함하는 정보와 형태에 따라 제1 구동파일(260a), 제2 구동파일(260b)로 정의될 수 있다.
도 3은 본 발명의 일 실시예에 있어서, 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치방법에 대한 전체적인 흐름도이다.
다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템을 설치하는 방법에 있어서, 먼저 설치패키지(100)로부터 클라이언트(200)에 설치시스템이 복사된다.(S100)
상기 설치패키지(100)로부터 복사된 설치시스템의 패키지 저장부(230)는 마스터 시스템(300), 스토리지 시스템(400), 계산 시스템(500) 및 그 밖의 상기 분산 처리 시스템의 구성요소에 대한 소스 코드와 외부 필수 컴포넌트의 소스 및 바이너리를 포함한다. 상기 분산 처리 시스템이 설치될 다양한 클라우드의 운영체제 환경 또는 호환 운영이 가능한 운영체제 환경에 적합한 컨테이너(250)를 생성하고 클라이언트(200)의 복사된 상기 소스코드와 외부 필수 컴포넌트의 소스 및 바이너리들을 해당 컨테이너(250)로 복사 또는 연결한 후 빌드, 컴파일, 압축을 진행하여 패키지 저장부(230)에 저장한 후 해당 컨테이너(250)를 삭제한다. 클라우드에 할당된 마스터 노드(301)와 스토리지 노드(401)에 설치하기 위한 마스터 노드 구동파일(3000), 스토리지 노드 구동파일(4000)인 제1 구동파일(260a)을 생성하여 패키지 저장부(230)에 저장된다.(S200)
사용자에게 제공된 사용자 인터페이스(20)를 통해 클라우드를 선택하고 선택된 클라우드 컴퓨팅 환경에서 마스터 노드(300)와 스토리지 노드(400) 역할을 할 노드를 할당하는 수단을 제공한다.(S300)
상기 클라우드에 각 설치될 역할에 맞게 할당된 노드에 마스터 노드 구동파일(3000)을 포함한 제1 구동파일(260a)을 설치하기 위해서, 제1 구동파일(260a)은 상기 클라우드에 할당된 마스터 노드의 네트워크 정보와 스토리지 노드의 네트워크 정보를 사용할 환경 설정 파일로 만들고 압축 해제한 후 해당 환경 설정 파일을 주입하여 제2 구동파일을 생성한다. 이때 마스터 노드 구동파일(3000), 스토리지 노드 구동파일(4000), 계산 노드 구동파일(5000) 등에 주입되는 네트워크 정보는 마스터 노드 IP, 마스터 노드의 네트워크 인터페이스, 마스터 노드의 SSH 포트 정보 등이 포함될 수 있다.(S400)
상기 방법에서 할당한 마스터 노드(301)와 스토리지 노드(401)는, 선택된 클라우드에 설치하기 위하여 실행파일들과 환경 설정 파일들이 주입되어 압축된 제2 구동파일(260b)인 마스터 노드 구동파일(3000)과 스토리지 노드 구동파일(4000)을 각각 전송한다. 할당된 노드에서 압축 해제한 제2 구동파일인 마스터 노드 구동파일(3000)과 스토리지 노드 구동파일(4000)을 각각의 노드에서 서비스 등록 및 정상 작동을 확인하여 제1 분산 처리 시스템이 구비된다.(S500)
상기 마스터 시스템(300)과 스토리지 시스템(400)이 정상적으로 동작하고 있고, 사용자로부터 데이터와 테스크가 입력될 때, 마스터 시스템(400)이 입력된 데이터와 테스크를 적절히 처리할수 있도록 계산 노드(501)의 리소스와 계산 시스템(500)의 역할을 할 계산 노드(501)의 수를 할당한다.(S600)
상기 방법을 통해 계산 노드(501n)를 할당한 후 마스터 시스템(300)으로부터 계산 노드 구동파일(5000)을 결정하고 계산 노드(501n)에 계산 노드 구동파일(5000)을 전송하여 계산 시스템(500)을 등록하고 정상동작을 확인한다. 이때, 설치되는 계산 노드 구동파일(5000)에는 마스터 시스템(300)의 네트워크 정보를 포함한다.(S700)
상기 계산 시스템(500)이 설치되고 동작시 최초로 계산 시스템(500) 정보가 저장된 마스터 시스템(300)의 네트워크 정보를 통해서 마스터 시스템(300)에게 자신의 계산 시스템(600) 정보를 등록하는 단계를 포함할 수 있다.(S800)
도 4는 본 발명의 일 실시예에 있어서, 다양한 클라우드에 적용 가능한 분산 처리 시스템의 설치시스템을 도시한 도면이다.
도 5 내지 도 5b는 본 발명의 일 실시예에 따른 구동파일(260)의 마스터 노드 구동파일(3000)에 대한 패키지들이 컨테이너(250)에서 빌드 및 컴파일 되는 순서와 패키지들에 대한 참조 정보 파일을 스크립트 파일 형태로 도시한 도면이다.
도 5를 참조하면, 객체로 표시한 A, B, C는 마스터 노드 구동파일(3000)을 이루는 패키지A, 패키지B, 패키지C를 말한다. 마스터 노드 구동파일(3000)을 이루는 패키지들은 프로그램 및 명령어를 통해 패키지에 대한 참조 정보 파일을 읽는다. 읽은 후 패키지에 대한 소스 코드 및 바이너리는 참조 정보 파일을 통하여 패키지C, 패키지B, 패키지A 순으로 빌드 및 컴파일이 이루어질 수 있다.
도 5a 내지 도 5c는 패키지에 대한 참조 정보 파일 정보를 일 시예에 따라 도시한 도면이다.
도 5a를 참조하면 참조 정보 파일의 정보구성으로는 패키지명, 필수 패키지명, 위치정보, 버전정보, 실행파일 위치정보, 컨테이너파일 위치정보를 포함하고 있다.
먼저 패키지명은 해당 참조 정보 파일에 대한 패키지 이름을 표시한다.
필수 패키지명은 해당 패키지를 빌드 및 컴파일 하기 전에 먼저 선행되어야 할 패키지를 표시한다.
위치정보는 해당 패키지에 대한 소스코드 및 바이너리에 대한 위치정보를 표시한다.
상기 패키지에 대한 위치정보는 내부 외부로 구분하여 표시될 수 있다.
버전정보는 해당 패키지에 대한 버전을 표시한다.
실행파일 위치정보는 컨테이너(250)를 실행하기 위한 파일에 위치에 대한 정보를 표시한다.
컨테이너파일 위치정보는 패키지에 대한 소스코드 및 바이너리들을 어떤 환경으로 컨테이너(250)를 구성하기 위한 파일에 대한 위치를 표시한다.
상기 패키지A에 대한 참조 정보 파일을 통해 패키지B와 패키지C도 다음과 같이 구성될 수 있다.
도 6은 도4 내지 도 5b에서 도시한 도면을 참조하여, 도 6에서 제1 구동파일(260)을 생성하기 위한 전체동작흐름을 설명한다. 또한 도 6에서 도시한 전체동작흐름도는 도 3의 단계 S100 내지 단계 S200에 포함된다.
먼저 설치패키지(100)로부터 클라이언트(200)에 복사된 설치시스템(S100)인 패키지 구동부(220)가 사용자 요청에 의하여 실행되면(S10), 패키지 구동부(220)는 상기 패키지 구성 정보부(210)를 통해서 마스터 노드 구동파일(3000)을 이루는 패키지A, 패키지B, 패키지C에 대한 참조 정보 파일을 읽는다.(S11)
제1 구동파일(260a)인 마스터 노드 구동파일(3000)을 생성하기 위한 패키지A의 참조 정보 파일에 필수 패키지인 패키지B가 존재할 경우, 다시 패키지 구동부(220)를 통하여 먼저 선행 빌드 및 컴파일이 필요한 필수 패키지인 패키지B에 대한 소스 코드 및 바이너리 위치 정보 등이 포함된 참조 정보 파일을 읽는다. 이 때 패키지B의 참조 정보 파일에 필수 패키지가 계속 존재할 경우 상기 방법을 통한 재귀구문 또는 루프귀문 형태로 진행되어 패키지C를 읽는다. 이후 패키지C의 참조 정보 파일을 읽어 패키지C의 참조 정보 파일에 필수 패키지가 존재하지 않는 경우,상기 재귀구문 또는 루프구문이 종료되고 패키지 저장부(230)에서 필수 패키지에 대한 소스 코드 및 바이너리를 이용하여 빌드 및 컴파일을 준비한다. 이때 소스 코드 및 바이너리가 패키지 저장부(230)에 존재하지 않을 경우 외부 저장소(300)에서 다운을 받아 패키지 저장부(230)에 저장한다.(S12)
상기 패키지C의 참조 정보 파일에서 선행 필수 패키지가 없을 경우 참조 정보 파일에 컨테이너파일 위치정보를 읽어 소스코드 및 바이너리를 빌드 및 컴파일 하기 위한 컨테이너(250)를 생성한다. 이 후 컨테이너(250)를 빌드 및 컴파일을 실행하기 위하여 참조 정보 파일에 실행파일 위치정보를 읽어, 패키지 저장부(230)에 저장되어 있는 실행파일을 컨테이너(250)와 연결한다. 이 때 패키지 저장부(230)와 컨테이너(250)는 연결된다.(S13)
상기 컨테이너(250)가 준비 완료되면 패키지C에 대한 참조 정보 파일을 읽어 소스코드 및 바이너리에 대한 위치정보를 읽는다. 위치정보는 내부,외부 위치정보로 나누어진다. 내부 위치 정보는 패키지 저장부(230)를 포함한 클라이언트(200)에 저장될 수 있는 정보를 포함하고 있다.. 외부 위치 정보는 외부 저장소(270) 및 외부 저장매체로부터 다운을 받아 패키지 저장부(230)에 저장될 수 있는 정보를 포함하고 있다. 이후 패키지 저장부(230)에 준비가 완료되면, 패키지C에 대한 소스코드 및 바이너리가 컨테이너(250)로 전송(S14)되어 컴파일 및 빌드가 패키지 저장부(230)에 저장된 실행파일을 통해 진행된다.(S15)
이후 컴파일 및 빌드가 완료된 패키지C는 패키지 저장부(230)로 저장된다. 이후 빌드 및 컴파일이 완료된 컨테이너(250)는 삭제된다.(S16)
상기 패키지C는 빌드 및 컴파일이 완료되어 패키지 저장부(230)에 저장되고 컨테이너(250)가 삭제된 후 마스터 노드 구동파일(3000)을 이루는 패키지B에 대한 소스코드 및 바이너리를 재귀구문 또는 루프구문을 통해 빌드 및 컴파일 진행한다. 패키지A도 상기 패키지B가 컴파일 및 빌드가 완료된 후에 상기 재귀구문 또는 루프구문을 통해 진행된다. 패키지A, 패키지B, 패키지C가 빌드 및 컴파일이 완료되면 마스터 노드 구동파일(3000)으로 패키지 저장부(230)에 저장된다. 스토리지 노드 구동파일(4000)이나 계산 노드 구동파일(5000)은 상기 마스터 노드 구동파일(3000)과 같은 단계를 통해서 생성된다. 마스터 노드 구동파일(3000), 스토리지 노드 구동파일(4000), 계산 노드 구동파일(5000) 등이 완료되어 더 이상 빌드 및 컴파일 할 패키지가 없을 경우(S17), 본 발명의 분산 처리 시스템을 구성하는 제1 구동파일(260a)이 생성(S18)된다.(S200)
도 7은 본 발명의 일 실시예에 있어서, 설치시스템에 의해서 생성된 제1 구동파일(260a)을 통해 제1 분산 처리 시스템(260c)을 설치하기 위한 시스템 구성을 도시한 도면이다
도 8 내지 도 9는 본 발명의 사용자 인터페이스(20)의 예시들을 나타내는 도면이다.
도 8은 클라우드를 선택하기 위한 제1 사용자 인터페이스(20a)에 대한 수단이다.
상기 제1 사용자 인터페이스(20a)를 통해 클라우드(1000)를 선택하는 방법은, 디스플레이 장치(10)를 통해 복수의 클라우드(1000)가 선택객체로 표시되는 선택목록(30)인 제1 사용자 인터페이스(20a)를 포함한다. 또한 선택목록(30)은 라디오 버튼, 파일선택형식, 텍스트 등 중 적어도 하나 이상의 선택수단을 사용자에게 제공되는 제1 사용자 인터페이스(20a) 형태를 가질 수 있다. 도 8에서 나타내는 클라우드를 선택하는 수단은 상기 선택수단 중 하나이다. 이후 상기 클라우드(1000) 선택이 완료되면 선택된 클라우드에서 사용할 노드에 대한 정보 확인 및 수정하는 제2 사용자 인터페이스(20b)를 제공한다.
도 9는 할당된 노드에 대한 정보를 확인 및 수정하는 제2 사용자 인터페이스(20b) 수단이다.
상기 클라우드(1000) 선택 단계가 완료되면, 선택된 클라우드에서 할당된 노드에 대한 정보를 제2 사용자 인터페이스(20b)를 통해 제공된다. 할당된 노드에 대한 정보는 제2 사용자 인터페이스(20b)를 통해 복수로 표시될 수 있으며, 선택된 클라우드(1000)에 할당된 노드에 대한 정보를 표시하는 노드설정(40)과 할당된 노드에 대한 환경 및 정보를 확인하고 제1 사용자 인터페이스(20a)거쳐 생성된 제2 구동파일(260b)을 할당된 노드에 설치하기 위한 설치버튼(50)으로 포함된다. 상기 설치버튼(50)은 노드설정(40)과 같이 제2 사용자 인터페이스(20b)에 구성될 수 있다.
또한 제2 사용자 인터페이스(20b)는 일 실시예에 따른 클라우드를 선택하는 제1 사용자 인터페이스(20a) 영역에서 표시되어 구성될 수 있다.
도 10은 본 발명의 일 실시예에 있어서, 설치시스템에 의해서 생성된 제1 구동파일(260a)을 통해 선택한 클라우드에 제1 분산 처리 시스템(260c)을 설치하기 위한 시스템의 동작흐름을 도시한 흐름도이다.
도 10은 도 7 내지 도 9를 참조하여, 도 10에 대한 전체동작흐름을 설명하며,도 3의 단계 S300 내지 단계 S500으로 포함된다.
단계 S200에서 설치시스템을 통해 생성된 마스터 노드 구동파일(3000)을 포함한 제1 구동파일(260a)을 다양한 클라우드에 설치되기 위해서는, 상기 설치시스템인 제어부(240)는 디스플레이 장치에서 제공되는 제1 사용자 인터페이스(20a)에서 복수의 클라우드를 표시하는 선택목록(30)을 통해 사용자에 요청에 의해 클라우드를 선택하고(S20) 선택된 클라우드 컴퓨팅 환경에서 마스터 노드(300)와 스토리지 노드(400) 역할을 할 노드를 선택된 클라우드에서 제공하는 API를 통해 할당한다. 이 때 할당되는 노드는 마스터 노드 구동파일(3000)을 포함한 제1 구동파일(260a)은 최적화된 리소스 사양에 맞게 선택한 클라우드에 할당된다. 이후 제어부(240)는 선택한 클라우드에 대한 컴퓨팅 환경 및 네트워크 정보를 전송받는다.(S21)(S300)
전송된 정보는 패키지 구동부(220)를 통하여 패키지 저장부(230)에 저장되어 있는 제1 구동파일(260a)에 각각의 포맷에 맞게 환경설정파일로 만들어지고, 만들어진 환경설정파일은 제1 구동파일(260a)을 압축 해제하여 각각 폴더로 이루어질 때, 특정 폴더로 이동(S22)되어 다시 압축되어 제2 구동파일(260b)을 생성한다.(S23)(S400) 이때 제1 구동파일(260a)인 마스터 노드 구동파일(3000), 스토리지 노드 구동파일(4000), 계산 노드 구동파일(5000)에 주입되는 환경설정파일은 마스터 노드 IP, 마스터 노드의 네트워크 인터페이스, 마스터 노드의 SSH 포트 정보 등이 포함될 수 있다.
상기 단계 S23에서 환경설정파일들이 주입되어 압축된 제2 구동파일(260b)은 패키지 저장부(230)에 저장되고, 제2 구동파일(260b)인 마스터 노드 구동파일(3000)과 스토리지 노드 구동파일(4000)은 제2 사용자 인터페이스(20b)의 설치버튼(50) 수단을 통하여 선택된 클라우드에 할당된 노드에 제2 구동파일(20b)인 마스터 노드 구동파일(3000)과 스토리지 노드 구동파일(4000)이 전송된다.(S24)
상기 패키지 저장부(230)에 저장된 제2 구동파일(260b)에 대한 실행파일을 통해 제2 구동파일(260b)인 마스터 노드 구동파일(3000)과 스토리지 노드 구동파일(4000)이 압축 해제(S25)한 후 제1 분산 처리 시스템(260c)이 생성된다.(S26)
제1 분산 처리 시스템인 마스터 시스템(300)과 스토리지 시스템(4000)은 서비스 등록 및 정상 작동을 사용자가 확인하기 위해서 제 3의 사용자 인터페이스를 통해 메세지를 제공한다. 이때 정상 작동 및 확인이 완료되면 스토리지 노드(400)에 포함된 마스터 노드(300)에 대한 네트워크 정보 등을 통해 마스터 노드(300)와 스토리지 노드(400)는 연결된다.(S27)(S500)
도 11 내지 도 12는 본 발명의 일 실시예에 있어서, 다양한 클라우드에 적용 가능한 분산 처리 시스템의 그 분산 처리 시스템과 동작흐름을 도시한 도면이다.
도 11에서 도시된 바와 같이, 상기 분산 처리 시스템은 사용자에 의해 선택된 클라우드에 마스터 노드(300)와 스토리지 노드(400)와 계산 노드(500)가 포함된다.
도 12는 다양한 클라우드에 적용 가능한 분산 처리 시스템의 전체동작흐름을나타내며, 도 3의 단계 S600 내지 단계 S800에 포함된다.
단계 S500에서 마스터 시스템(300)과 스토리지 시스템(400)이 정상적으로 동작하고 있고, 사용자로부터 마스터 시스템(300)에 데이터와 테스크가 입력될 때(S30), 마스터 시스템(300)이 입력된 데이터와 테스크를 적절히 처리할수 있도록 계산노드(501)의 리소스와 노드의 수를 계산한다.(S31)(S600)
상기 계산된 계산 노드(501) 수와 리소스를 통해 계산 노드(501)를 할당한 후(S32) 마스터 시스템(300)으로부터 계산 노드 구동파일(5000)을 전송한다.(S33)이때 계산 노드 구동파일(5000)이 할당되어야 할 계산 노드(501)에 오류가 일어날 경우, 마스터 시스템(300)으로 부터 지속적인 요청이 이루어진다. 지속적인 요청에도 오류가 생길 경우 또 다른 계산 노드(501n)를 마스터 시스템(300)으로부터 할당하여 계산 노드 구동파일(5000)을 전송한다. 전송이 잘 이루어지면 계산 노드(501)에 계산 노드 구동파일(5000)을 전송하고 등록 및 정상동작을 확인한다.(S34)(S700) 이때 설치되는 계산 노드 구동파일(5000)에는 마스터 시스템(300)의 네트워크 정보를 포함한다.
상기 단계를 통하여 계산 시스템(500)이 생성(S35)되고 동작시 최초로 계산 시스템(500) 정보가 저장된 마스터 시스템(300)의 네트워크 정보를 통해서 마스터 시스템(300)에게 자신의 계산 시스템(500) 정보를 등록(S36)하는 단계를 포함할 수 있다.(S800)
도 13 내지 도 16은 본 발명의 일실시예에 따른, 설치시스템을 통하여 클라우드에 설치되는 분산 처리 시스템이 다양한 클라우드(1000)에 적용되는 일 실시예를 도시한 도면이다. 도 13내지 도 16에서 표시된 M은 마스터 시스템(300), S는 스토리지 시스템(400), W는 계산 시스템(500)으로 정의한다.
도 13은 본 발명에 따른 다양한 클라우드에 적용 가능한 분산 처리 시스템의 퍼블릭 클라우드(1000a)를 적용한 일 실시예이며, 이에 따라 본 발명의 설치시스템으로부터 설치된 마스터 시스템(300)이 데이터 및 테스크가 입력되는 시점에서 마스터 시스템(300)이 데이터 및 테스크를 분석하기 위한 계산 시스템(500)을 설치한다. 또한 추가적으로 필요한 노드의 수 만큼 리소스를 스케일 인아웃(SCLALE IN/OUT) 할 수 있다.
도 14는 본 발명에 따른 다양한 클라우드에 적용 가능한 분산 처리 시스템의 프라이빗 클라우드(1000b)를 적용한 일 실시예이며, 통상적으로 프라이빗 클라우드(1000b)는 컴퓨팅 리소스가 한정되어 있다. 프라이빗 클라우드(1000b)에 설치될 때 처음에 제공된 컴퓨팅 리소스에 맞게 마스터 시스템(300), 스토리지 시스템(400), 계산 시스템(500)를 포함한 그 분산 처리 시스템을 프라이빗 클라우드(1000b)에 설치할 수 있다.
도 15 내지 도 16는 본 발명에 따른 다양한 클라우드에 적용 가능한 분산처리시스템의 멀티클라우드 및 하이브리드 클라우드에 대한 일 실시예를 도시한 도면이다.
통상적으로 하이브리드 클라우드는 둘 이상의 클라우드 조합을 갖는 클라우드를 말한다.
도 15는 본 발명의 설치시스템을 통하여 설치되는 분산 처리 시스템이 둘 이상의 다양한 클라우드(1000a,1000b)에 각각 마스터 시스템(300), 스토리지 시스템(400)이 설치되고 데이터 및 테스크가 입력될 시 계산 시스템(500)이 설치되는 하이브리드 클라우드 환경을 이용하는 일 실시예를 보여준다.
도 16은 본 발명의 설치시스템을 통하여 설치되는 분산 처리 시스템이 제어부의 사용자 인터페이스를 통해 적어도 하나이상의 클라우드(1000a)에 최초로 마스터 시스템(300)과 스토리지 시스템(400)이 설치되고 제어부의 사용자 인터페이스를 통해 또 다른 클라우드(1000b)를 선택하여 노드의 수와 컴퓨팅 리소스를 마스터 싯스템(300)으로부터 확장하여 또 다른 클라우드(1000b)에 계산 시스템(500)이 설치된다. 설치된 계산 시스템(500)은 마스터 시스템(300)에 대한 네트워크 정보를 통해 마스터 시스템(300)과 연결되어 그 분산 처리 시스템이 구비된다. 마스터 시스템(300)과 스토리지 시스템(400)이 설치되는 클라우드(1000a)는 퍼블릭 클라우드 환경, 프라이빗 클라우드 환경 중 적어도 하나일 수 있다.
10 : 디스플레이 장치 260n : 구동파일
20 : 사용자 인터페이스 270 : 외부저장소
30 : 선택목록 300 : 마스터 시스템
40 : 노드설정 301 : 마스터 노드
50 : 설치버튼 400 : 스토리지 시스템
100 : 설치패키지 401 : 스토리지 노드
200 : 클라이언트 500 : 계산 시스템
210 : 패키지 구성 정보부 501 : 계산 노드
220 : 패키지 구동부 3000 : 마스터 노드 구동파일
230 : 패키지 저장부 4000 : 스토리지 노드 구동파일
240 : 제어부 5000 : 계산 노드 구동파일
250 : 컨테이너

Claims (29)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템을 설치하는 방법으로서, 상기 방법은;

    설치패키지에 의해 클라이언트에 설치시스템을 복사하는 단계;

    상기 설치시스템에 의해 마스터 노드 구동파일, 스토리지 노드 구동파일, 계산 노드 구동파일을 포함하는 제1 구동파일을 생성하는 단계;

    사용자에 의해 클라우드 컴퓨팅 환경이 선택되면, 상기 설치시스템에 의해 선택된 클라우드 컴퓨팅 환경에서 마스터 노드와 스토리지 노드를 할당하는 단계;

    상기 설치시스템에 의해 상기 선택된 클라우드에 제1 구동파일을 설치하기 위해 상기 제1 구동파일에 환경 설정 파일을 주입하여 제2 구동파일을 생성하는 단계;

    상기 설치시스템에 의해 상기 제2 구동파일을 각각의 노드에서 전송 및 압축 해제하여 제1 분산 처리 시스템 등록 및 정상 작동을 확인하는 단계;

    상기 설치시스템에 의해 상기 제2 구동파일을 전송 및 시스템 등록하는 단계를 통하여 마스터 시스템과 스토리지 시스템이 정상적으로 동작하고 있고, 사용자로부터 데이터 및 테스크가 마스터 시스템에 입력될 때 계산 노드의 리소스와 계산 노드의 역할을 할 노드의 수를 할당하는 단계;

    상기 설치시스템에 의해 상기 계산 노드를 할당한 후 마스터 시스템으로부터 계산 노드 구동파일을 결정하고 계산 노드에 계산 노드 구동파일을 등록하고 정상동작을 확인하고, 설치되는 계산 노드 구동파일에는 마스터 시스템의 네트워크 정보를 포함하는 단계;

    상기 설치시스템에 의해 상기 계산 노드 구동파일의 결정 및 등록을 통해 계산 시스템이 설치되고 제2 분산 처리 시스템을 구성하는 단계를 포함하는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  11. 제 10항에 있어서,

    상기 제1 구동파일을 생성하는 단계는, 사용자의 요청을 통해 패키지 구동부를 통하여 구동파일을 이루는 패키지에 대한 참조정보파일을 읽는 단계;

    상기 구동파일을 구비하기 위해 먼저 선행으로 빌드 및 컴파일이 되어야 하는 필수 패키지 유무를 확인하는 단계;

    선행으로 필요한 패키지를 빌드 및 컴파일하기 위해 패키지 구동부를 통해 컨테이너를 생성한 후 해당 패키지에 대한 참조 정보 파일을 읽어 패키지 저장부에 있는 실행파일과 컨테이너를 연결하여 컨테이너와 패키지 저장부가 연결되는 단계;

    참조 정보 파일에서 상기 패키지에 대한 소스코드 및 바이너리에 대한 위치정보를 읽어 상기 소스코드 및 상기 바이너리가 컨테이너로 전송되는 단계,

    상기 소스코드 및 상기 바이너리가 컨테이너로 전송되는 단계를 통해 컨테이너에서 상기 패키지에 대한 상기 소스코드 및 상기 바이너리를 빌드 및 컴파일을 실행하는 단계,

    상기 컴파일 및 빌드가 완료되면 완료된 패키지는 패키지 저장부에 저장되어 컨테이너는 삭제되는 단계,

    컴파일 및 빌드가 완료되지 않은 소스코드 및 패키지가 있을 경우 다시 컨테이너를 생성하여 빌드 및 컴파일을 재귀구문 또는 루프구문으로 실행하는 단계,

    상기 소스코드 및 상기 바이너리들을 빌드 및 컴파일하는 단계를 통해 제1 구동파일을 생성하는 단계;를 포함하는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  12. 제 11항에 있어서,

    상기 필수 패키지유무를 확인하는 단계는, 상기 패키지 구동부를 통해 패키지 구성 정보부에 포함된 구동파일을 이루는 패키지에 대한 참조정보파일을 통해 상기 구동파일을 생성하기 위해 선행으로 필요한 필수 패키지를 확인하여 빌드 및 컴파일을 하는 특징을 갖는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  13. 삭제
  14. 제 11항에 있어서,

    상기 컨테이너는, 제어부에 포함된 다양한 클라우드에 대한 환경정보를 통해 상기 패키지 구동부로부터 생성하며 다양한 클라우드에 대응되도록 생성되는 특징을 갖는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  15. 제 11항에 있어서,

    상기 소스코드 및 바이너리가 컨테이너로 전송되는 단계에서, 상기 참조정보파일을 통해 소스코드 및 바이너리에 대한 내부 위치 정보를 참조할 때 내부인 패키지 저장부에 소스코드 및 바이너리가 없을 경우, 외부저장소를 통해 소스코드 및 바이너리를 상기 패키지 저장부에 저장하는 특징을 갖는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  16. 제 10항에 있어서,

    상기 제1 구동파일을 생성하는 단계 이후, 제어부로부터 제1 사용자 인터페이스를 제공받아 복수의 클라우드 중 사용하고자 하는 클라우드를 선택하는 선택객체를 표시하는 클라우드 선택 및 요청단계를 더 포함하는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  17. 제 16항에 있어서,

    상기 선택객체는 라디오 버튼, 파일객체선택, 텍스트 중 적어도 하나 이상의 선택수단을 갖는 제1 사용자 인터페이스 형태를 가지는 것을 특징으로 하는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  18. 제 10항에 있어서,

    상기 선택된 클라우드에 마스터노드와 스토리지 노드를 할당하는 단계는, 제어부를 통해 클라우드 선택 및 요청단계 이후 선택된 클라우드에 노드를 할당하는 노드설정과 할당할 노드에 대한 환경을 입력하고 진행하는 완료버튼을 포함하는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  19. 제 10항에 있어서,

    상기 제1 구동파일에 환경설정파일을 주입하여 제2 구동파일을 생성하는 단계는, 다양한 클라우드 환경에 맞게 복수의 제1 구동파일들로 생성되어 이후 제어부에 사용자 인터페이스를 통해 선택한 클라우드에 대한 환경정보를 특정 폴더로 환경설정파일을 생성하여 패키지 구동부를 통해 패키지 저장부로 저장되어, 상기 제1 구동파일을 압축 해제한 후 상기 생성된 환경설정파일을 주입하여 제2 구동파일을 생성하는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  20. 제 10항에 있어서,

    상기 제1 분산 처리 시스템 등록 및 정상 작동을 확인하는 단계는, 패키지 저장부에 저장된 실행 명령어를 포함하는 특정 파일을 통해 상기 생성된 제2 구동파일을 선택된 클라우드에 할당된 노드에 각각 전송하여 압축해제하여 서비스 등록 및 정상작동 확인하는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  21. 제 20항에 있어서,

    상기 제1 분산 처리 시스템 등록 및 정상 작동을 확인하는 단계는, 제어부를 통해 제3 사용자 인터페이스를 제공하여 사용자 입력을 통해 정상작동 및 서비스 등록을 확인하는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  22. 제 10항에 있어서,

    상기 제2 분산 처리 시스템을 구성하는 단계는, 마스터 시스템으로부터 계산 노드를 할당하고 계산 노드 구동파일을 상기 할당된 계산 노드에 전송하여 압축 해제하여 서비스 등록 및 정상작동 확인하는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  23. 제 22항에 있어서,

    상기 마스터 시스템으로부터 할당된 계산 노드에 상기 계산 노드 구동파일을 전송할 때, 전송 오류가 일어날 경우 마스터 시스템으로부터 지속적인 요청이 이루어지거나 마스터 시스템으로부터 새로운 계산 노드를 생성하여 전송하는 특징을 갖는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  24. 제 22항에 있어서,

    상기 전송되는 계산 노드 구동파일은, 마스터 시스템의 네트워크 정보를 포함하고 있으며 계산 노드에 설치되어 계산 시스템이 구비되면, 마스터 시스템의 네트워크 정보를 통해 자신의 계산 시스템 정보를 마스터 시스템으로 전송하는 특징을 갖는 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치 방법.

  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
KR1020190004793A 2019-01-14 2019-01-14 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치방법 KR102257012B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190004793A KR102257012B1 (ko) 2019-01-14 2019-01-14 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190004793A KR102257012B1 (ko) 2019-01-14 2019-01-14 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치방법

Publications (2)

Publication Number Publication Date
KR20200092507A KR20200092507A (ko) 2020-08-04
KR102257012B1 true KR102257012B1 (ko) 2021-05-27

Family

ID=72048885

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190004793A KR102257012B1 (ko) 2019-01-14 2019-01-14 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치방법

Country Status (1)

Country Link
KR (1) KR102257012B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102462866B1 (ko) * 2020-11-25 2022-11-07 주식회사 커먼컴퓨터 코드 저장소와 연동하여 원클릭 배포 서비스를 제공하는 방법 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100987746B1 (ko) * 2007-02-27 2010-10-18 후지쯔 가부시끼가이샤 작업 관리 장치, 클러스터 시스템 및 작업 관리 프로그램을기록한 컴퓨터 판독 가능한 기록 매체
US20120266168A1 (en) 2011-04-12 2012-10-18 Vmware, Inc. Deployment system for multi-node applications
KR101430928B1 (ko) * 2012-12-12 2014-08-18 에스케이플래닛 주식회사 클라우드 스트리밍 기반의 데이터 이동 방법, 시스템, 클라이언트 단말기 및 서비스장치
US20160328417A1 (en) 2015-05-08 2016-11-10 Quanta Computer Inc. Cloud service system and method thereof

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569184B2 (en) * 2012-09-05 2017-02-14 Microsoft Technology Licensing, Llc Generating native code from intermediate language code for an application
KR20140065545A (ko) 2012-11-15 2014-05-30 현대자동차주식회사 액화천연가스 시스템의 연료 공급 장치 및 그 방법
CN104951335B (zh) * 2015-05-22 2019-01-04 小米科技有限责任公司 应用程序安装包的处理方法及装置
US10341194B2 (en) 2015-10-05 2019-07-02 Fugue, Inc. System and method for building, optimizing, and enforcing infrastructure on a cloud based computing environment
KR101822093B1 (ko) 2016-09-30 2018-01-25 주식회사 클라우드포유 클라우드 시스템 구축 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100987746B1 (ko) * 2007-02-27 2010-10-18 후지쯔 가부시끼가이샤 작업 관리 장치, 클러스터 시스템 및 작업 관리 프로그램을기록한 컴퓨터 판독 가능한 기록 매체
US20120266168A1 (en) 2011-04-12 2012-10-18 Vmware, Inc. Deployment system for multi-node applications
KR101430928B1 (ko) * 2012-12-12 2014-08-18 에스케이플래닛 주식회사 클라우드 스트리밍 기반의 데이터 이동 방법, 시스템, 클라이언트 단말기 및 서비스장치
US20160328417A1 (en) 2015-05-08 2016-11-10 Quanta Computer Inc. Cloud service system and method thereof

Also Published As

Publication number Publication date
KR20200092507A (ko) 2020-08-04

Similar Documents

Publication Publication Date Title
CN104063239B (zh) 移动终端的应用程序更新方法及服务器、客户端
JP2021518619A (ja) コネクタ開発および統合チャネル展開のためのシステムおよび方法
US20130219307A1 (en) System and method for runtime user interface management
CN109271198A (zh) 基于Docker容器的镜像打包方法、装置及电子设备
WO2017148171A1 (zh) 一种嵌入式装置的启动方法和装置
CN110515647B (zh) 一种静态资源管理方法、装置、设备和存储介质
CN104346184A (zh) 应用打包装置及方法
CN110463162A (zh) 应用部署方法、装置及系统
CN106686420A (zh) 直播应用程序的管理方法及装置
CN112433747B (zh) 一种适用于软件开发工具包sdk的差分升级方法及系统
CN109766099A (zh) 前端源码编译方法、装置、存储介质及计算机设备
CN113934426A (zh) 软件包处理方法、装置、系统、设备及介质
CN113835713B (zh) 源码包下载方法、装置、计算机设备和存储介质
CN105159788A (zh) 一种Android应用间动态共享资源的方法及系统
US20110321030A1 (en) Method and apparatus for updating a software image
CN104063225A (zh) 锁屏主题开发方法及装置
CN110888652A (zh) 基于jenkins插件的多版本构建方法及终端
CN112035160A (zh) 代码管理系统及其控制方法
CN109857432A (zh) 一种游戏应用的热更新方法和装置
CN114072765A (zh) 用于基于容器的虚拟化系统的方法
KR102257012B1 (ko) 다양한 클라우드에 적용 가능한 대용량 데이터 처리용 분산 처리 시스템의 설치방법
CN112631563A (zh) 基于框架的系统开发方法、装置、计算机设备及存储介质
US8473943B2 (en) Using ecoprint for cloning of applications
KR102337961B1 (ko) 모노리틱 아키텍처와 마이크로서비스 아키텍처를 모두 지원하는 개발 프레임워크 제공 시스템, 이를 이용한 애플리케이션 개발 방법 및 이를 위한 컴퓨터 프로그램
US11010154B2 (en) System and method for implementing complex patching micro service automation

Legal Events

Date Code Title Description
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)