KR101916799B1 - 빅데이터 서버 부하 분산 제어 장치 및 방법 - Google Patents

빅데이터 서버 부하 분산 제어 장치 및 방법 Download PDF

Info

Publication number
KR101916799B1
KR101916799B1 KR1020180069618A KR20180069618A KR101916799B1 KR 101916799 B1 KR101916799 B1 KR 101916799B1 KR 1020180069618 A KR1020180069618 A KR 1020180069618A KR 20180069618 A KR20180069618 A KR 20180069618A KR 101916799 B1 KR101916799 B1 KR 101916799B1
Authority
KR
South Korea
Prior art keywords
big data
information
control request
control
data analysis
Prior art date
Application number
KR1020180069618A
Other languages
English (en)
Inventor
윤석용
조용준
Original Assignee
주식회사 에프아이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 에프아이티 filed Critical 주식회사 에프아이티
Priority to KR1020180069618A priority Critical patent/KR101916799B1/ko
Application granted granted Critical
Publication of KR101916799B1 publication Critical patent/KR101916799B1/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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems

Abstract

빅데이터 서버 부하 분산 제어 장치 및 이를 이용한 빅데이터 서버 부하 분산 제어 방법이 개시된다.
본 발명의 빅데이터 서버 부하 분산 제어 장치는, 상기 제어 요청 정보에 대응되는 제어 응답 정보를 상기 클라이언트에 송신하는 컨트롤부; 복수의 빅데이터 서버의 빅데이터 분석 상태를 수집하여 상기 빅데이터 서버 각각의 빅데이터 분석 상태 정보를 생성하는 빅데이터 서버 상태감지부; 상기 클라이언트로부터 상기 제어 요청 정보에 대응되는 빅데이터 요청 정보를 수신하고, 상기 빅데이터 분석 상태 정보 및 상기 컨트롤매니저부가 미리 저장한 제어 요청 이력 정보를 기초로, 상기 빅데이터 서버 중에서 상기 빅데이터 요청 정보에 대응되는 빅데이터를 분석할 지정 빅데이터 서버를 결정하며, 선택된 상기 지정 빅데이터 서버의 주소 정보를 포함하도록 상기 제어 응답 정보를 생성하는 게이트웨이부; 및 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보를 기초로 상기 제어 요청 이력 정보를 업데이트하여 저장하되, 상기 빅데이터 분석 상태 정보를 기초로 상기 제어 요청 이력 정보를 분류하여 저장하는 컨트롤매니저부를 포함할 수 있다.

Description

빅데이터 서버 부하 분산 제어 장치 및 방법{Apparatus And Method For Big Data Server Load Balancing Control}
본 발명은 빅데이터 서버의 부하를 분산 제어하는 장치 및 방법에 관한 것이다.
빅데이터란, 규모가 방대하고, 생성 주기도 짧고, 형태도 비정형적인 문자와 영상 데이터를 포함하는 디지털 환경의 대규모 데이터를 말한다. 즉, 방대한 양, 비정형성, 그리고 빠른 생성 속도를 주요한 특징으로 한다. 이러한 빅데이터의 분석을 요구하는 클라이언트의 요구에 부응하기 위해서는, 보다 효율적인 실시간의 대용량 데이터 처리 기술이 제공되어야 한다.
이에 따라, 빅데이터 분석을 담당하는 서버 여러 대를 병렬로 운용하고, 서버 사이에서의 부하가 가능한 한 균등하게 되도록 작업 처리를 분산하여 할당하는 부하 분산(load balancing) 기술이 도입되었다. 도 1은 이러한 기존 기술의 부하 분산장치의 연결 상태를 나타내는 모식도이다. 부하 분산 기술은 하드웨어와 소프트웨어를 통해 구현되며, 트래픽이 많은 웹 사이트 등의 서버에 적용되어 시스템의 가용성 및 응답시간을 개선할 수 있다.
그러나, 기존의 부하분산기술을 적용하였음에도, 비정형적인 빅사이즈의 데이터를 실시간 처리하여 비정형 결과를 출력하는 시스템에 사용자의 요청이 몰리거나 시스템 상태가 비정상적일 경우 거래 오류 또는 시스템 다운으로 서비스가 불가능한 상황이 발생할 수 있다. 이에 따라 안정적인 거래(데이터 조회 및 분석 요청에 대해 응답하는 과정)처리 지원과 시스템 안정성 확보를 위해 사용자의 요청을 적절하게 부하 분산 시키고 데이터 유량(거래량)을 제어하는 시스템의 필요성이 대두된다.
특히 수백, 수천대를 병렬로 연결한 빅데이터 서버 시스템을 운용함에 있어서, 클라이언트에 따라서는 이른바 지나치게 많은 시간 및 대용량 처리를 요구하는 거래를 요청하는 경우가 있는 바, 이러한 거래가 야기할 수 있는 전체 시스템의 지연 및 장애를 미연에 방지하고 최소화할 수 있는 기술이 요구되는 시점이다.
본 발명은 실시간 대량의 데이터 처리가 필요한 빅데이터 서버의 특성을 반영하여, 특정 서버의 과부하를 방지할 수 있는 부하 분산 기능을 제공하는 것을 목적으로 한다.
또 다른 목적은 데이터 처리의 안정적 처리 향상을 위해 효율적이고 가용성 높은 데이터 유량 제어 기술을 제공하는 것이다.
더 나아가, 빅데이터 서버의 부하 분산 기능을 고도화 하여 악성거래에 의한 일반적인 거래의 지연 및 장애를 최소화하는 또 다른 목적이 있다.
상술한 목적을 달성하기 위한 본 발명의 빅데이터 서버의 부하를 분산 제어하는 장치는, 클라이언트로부터 제어 요청 정보를 수신하고, 상기 제어 요청 정보에 대응되는 제어 응답 정보를 상기 클라이언트에 송신하는 컨트롤부; 복수의 빅데이터 서버의 빅데이터 분석 상태를 수집하여 상기 빅데이터 서버 각각의 빅데이터 분석 상태 정보를 생성하는 빅데이터 서버 상태감지부; 상기 클라이언트로부터 상기 제어 요청 정보에 대응되는 빅데이터 요청 정보를 수신하고, 상기 빅데이터 분석 상태 정보 및 미리 저장된 제어 요청 이력 정보를 기초로, 상기 빅데이터 서버 중에서 상기 빅데이터 요청 정보에 대응되는 빅데이터를 분석할 지정 빅데이터 서버를 결정하며, 선택된 상기 지정 빅데이터 서버의 주소 정보를 포함하도록 상기 제어 응답 정보를 생성하는 게이트웨이부; 및 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보를 기초로 상기 제어 요청 이력 정보를 업데이트하여 저장하되, 상기 빅데이터 분석 상태 정보를 기초로 상기 제어 요청 이력 정보를 분류하여 저장하는 컨트롤매니저부를 포함할 수 있다.
그리고, 상기 요청 이력 정보는 악성 이력 정보와 일반 이력 정보로 분류되어 저장될 수 있다.
그리고, 상기 컨트롤매니저부는, 상기 빅데이터 분석 상태 정보의 내용을 기초로 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보가 악성인지를 결정하여, 악성으로 결정된 제어 요청 정보의 이력 정보를 상기 악성 이력 정보에 저장하고, 악성이 아닌 것으로 결정된 제어 요청 정보의 이력 정보를 상기 일반 이력 정보에 저장하는 것이 바람직하다.
또한, 상기 빅데이터 분석 상태 정보의 내용에는 상기 빅데이터 서버의 접속 시간 및 데이터 분석 시간이 포함되고, 상기 컨트롤매니저부는, 상기 접속 시간이 소정의 제1 기준 이상이거나 상기 데이터 분석 시간이 소정의 제2 기준 이상인 경우, 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보가 악성인 것으로 결정하는 것이 바람직하다. 즉, 본 발명에서 제어 요청 정보가 악성인지는 빅데이터 서버(900)의 데이터 처리 상태를 기준으로 결정된다.
그리고, 상기 게이트웨이부는, 상기 클라이언트의 제어 요청 정보가 저장된 상기 악성 이력 정보에 대응된다고 판단되는 경우, 상기 빅데이터 서버 중에서 미리 지정된 특정 빅데이터 서버를 상기 지정 빅데이터 서버로 결정할 수 있다.
그리고, 상기 게이트웨이부는, 상기 클라이언트의 제어 요청 정보가 저장된 상기 악성 이력 정보에 대응된다고 판단되는 경우, 상기 클라이언트의 접속을 차단하는 것이 바람직하다.
한편, 상기 게이트웨이부는, 상기 클라이언트의 제어 요청 정보가 저장된 상기 일반 이력 정보에 대응된다고 판단하는 경우, 상기 빅데이터 분석 상태 정보를 분석하여 빅데이터 분석 상태가 양호하다고 판단되는 빅데이터 서버를 상기 지정 빅데이터 서버로 결정할 수 있다.
또한, 상기 빅데이터 분석 상태 정보의 내용에는 상기 빅데이터 서버의 접속 시간 및 데이터 분석 시간이 포함되고, 상기 컨트롤매니저부는, 상기 접속 시간이 소정의 제3 기준 이하이고 상기 데이터 분석 시간이 소정의 제4 기준 이하인 경우에 상기 빅데이터 분석 상태가 양호하다고 판단하는 것이 바람직하다.
상기 빅데이터 서버 상태감지부는, 상기 빅데이터 분석 상태를 수집하는 수집기, 수집된 상기 빅데이터 분석 상태를 분석하여 상기 빅데이터 분석 상태 정보를 생성하는 분석기, 및 생성된 상기 빅데이터 분석 상태 정보를 포함하는 빅데이터 분석 상태 정보 파일을 작성하여 저장하는 파일 작성기를 포함할 수 있다.
한편, 상기 제어 요청 정보는 커맨드(Command)를 포함하고, 상기 제어 요청 이력 정보는 상기 커맨드의 리스트를 포함할 수 있다. 이와 같이 클라이언트에서 송신한 커맨드의 리스트를 저장하고, 이를 통해 악성 거래를 인식하고 특정 서버로 연결하는 방식을 통해, 실시간으로 빅데이터 서버의 부하에 기반하여 서버 부하 분산을 하는 방식에 비해, 부하 분산 또는 유량 제어를 위한 연산의 양 및 시간을 줄일 수 있다.
부하 및 유량 제어를 위한 연산의 양 및 시간 또한 과도해 질 경우 전체 빅데이터 서버 시스템의 응답 속도에 영향을 미치게 되므로, 적절한 수준에서 관리될 필요가 있는데, 상기 커맨드 리스트의 저장, 관리를 통해 연산의 양 및 시간을 적절한 수준으로 관리할 수 있다.
그리고, 상기 컨트롤부 및 상기 게이트웨이부는, 하나 이상의 부하 분산 장치를 경유하여 상기 클라이언트와 정보를 송수신할 수 있다.
본 발명의 상기 목적을 달성하기 위한 빅데이터 서버 부하 분산 제어 장치에서 빅데이터 서버의 부하를 분산 제어하는 방법은, 클라이언트로부터 제어 요청 정보 및 상기 제어 요청 정보에 대응되는 빅데이터 요청 정보를 수신하는 단계; 복수의 빅데이터 서버의 빅데이터 분석 상태를 수집하여 상기 빅데이터 서버 각각의 빅데이터 분석 상태 정보를 생성하는 단계; 미리 저장된 제어 요청 이력 정보와 상기 빅데이터 분석 상태 정보를 기초로 상기 빅데이터 서버 중에서 상기 빅데이터 요청 정보에 대응되는 빅데이터를 분석할 지정 빅데이터 서버를 결정하는 단계; 선택된 상기 지정 빅데이터 서버의 주소 정보를 포함하는 제어 응답 정보를 생성하는 단계; 상기 제어 응답 정보를 상기 클라이언트에 송신하는 단계; 및 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보를 기초로 상기 제어 요청 이력 정보를 업데이트하여 저장하되, 상기 빅데이터 분석 상태 정보를 기초로 상기 제어 요청 이력 정보를 분류하여 저장하는 단계를 포함할 수 있다.
또한, 상기 제어 요청 이력 정보를 분류하여 저장하는 단계에서, 상기 제어 요청 이력 정보는 악성 이력 정보와 일반 이력 정보로 분류되어 저장되며, 상기 빅데이터 분석 상태 정보의 내용을 기초로 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보가 악성인지를 결정하여, 악성으로 결정된 경우, 상기 제어 요청 정보의 이력 정보를 상기 악성 이력 정보에 저장하고, 악성이 아닌 것으로 결정된 경우, 상기 제어 요청 정보의 이력 정보를 상기 일반 이력 정보에 저장하도록 할 수 있다.
그리고, 상기 빅데이터 분석 상태 정보의 내용에는 상기 빅데이터 서버의 접속 시간 및 데이터 분석 시간이 포함되고, 상기 제어 요청 이력 정보를 분류하여 저장하는 단계에서, 상기 접속 시간이 소정의 제1 기준 이상이거나 상기 데이터 분석 시간이 소정의 제2 기준 이상인 경우, 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보가 악성인 것으로 결정하도록 할 수 있다.
그리고, 상기 지정 빅데이터 서버를 결정하는 단계에서, 상기 클라이언트의 제어 요청 정보가 저장된 상기 악성 이력 정보에 대응된다고 판단되는 경우, 상기 빅데이터 서버 중에서 미리 지정된 특정 빅데이터 서버를 상기 지정 빅데이터 서버로 결정하는 것이 바람직하다.
한편, 상기 지정 빅데이터 서버를 결정하는 단계에서, 상기 클라이언트의 제어 요청 정보가 저장된 상기 일반 이력 정보에 대응된다고 판단하는 경우, 상기 빅데이터 분석 상태 정보를 분석하여 빅데이터 분석 상태가 양호하다고 판단되는 빅데이터 서버를 상기 지정 빅데이터 서버로 결정할 수 있다.
그리고, 상기 빅데이터 분석 상태 정보의 내용에는 상기 빅데이터 서버의 접속 시간 및 데이터 분석 시간이 포함되고, 상기 제어 요청 이력 정보를 분류하여 저장하는 단계에서, 상기 접속 시간이 소정의 제3 기준 이하이고 상기 데이터 분석 시간이 소정의 제4 기준 이하인 경우에 상기 빅데이터 분석 상태가 양호하다고 판단할 수 있다.
한편, 상기 제어 요청 정보는 커맨드(Command)를 포함하고, 상기 제어 요청 이력 정보는 상기 커맨드의 리스트를 포함하는 것이 바람직하다.
상술한 본 발명의 다양한 실시 예에 따르면, 실시간 대량의 데이터 처리가 필요한 빅데이터 서버의 특성을 반영하여, 특정 서버의 과부하를 방지할 수 있는 부하 분산 기능을 제공할 수 있다.
또한, 데이터 처리의 안정적 처리 향상을 위해 효율적이고 가용성 높은 데이터 유량 제어 기술을 제공할 수 있다.
더 나아가, 빅데이터 서버의 부하 분산 기능을 고도화 하여 악성거래에 의한 일반적인 거래의 지연 및 장애를 최소화할 수 있다.
도 1은 기존 기술의 부하 분산장치의 연결 상태를 나타내는 모식도이다.
도 2는 본 발명의 일 실시예에 따른 빅데이터 서버 부하 분산 제어 장치를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 서버 부하 분산 제어 장치의 구성 및 정보의 이용 흐름을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 악성 거래 처리 구조를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 빅데이터 서버 부하 분산 제어 장치와 부하 분산 장치의 연결을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 빅데이터 서버 부하 분산 제어 장치를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 빅데이터 서버 부하 분산 제어 방법을 나타낸 순서도이다.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시 예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시 예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
또한, 본 발명의 원리, 관점 및 실시 예들 뿐만 아니라 특정 실시 예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.
따라서, 예를 들어, 본 명세서의 블록도는 본 발명의 원리를 구체화하는 예시적인 회로의 개념적인 관점을 나타내는 것으로 이해되어야 한다. 이와 유사하게, 모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.
프로세서 또는 이와 유사한 개념으로 표시된 기능 블럭을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 상기 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다.
또한 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 명확한 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비 휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지관용의 다른 하드웨어도 포함될 수 있다.
본 명세서의 청구범위에서, 상세한 설명에 기재된 기능을 수행하기 위한 수단으로 표현된 구성요소는 예를 들어 상기 능을 수행하는 회로 소자의 조합 또는 펌웨어/마이크로 코드 등을 포함하는 모든 형식의 소프트웨어를 포함하는 기능을 수행하는 모든 방법을 포함하는 것으로 의도되었으며, 상기 기능을 수행하도록 상기 소프트웨어를 실행하기 위한 적절한 회로와 결합된다. 이러한 청구범위에 의해 정의되는 본 발명은 다양하게 열거된 수단에 의해 제공되는 기능들이 결합되고 청구항이 요구하는 방식과 결합되기 때문에 상기 기능을 제공할 수 있는 어떠한 수단도 본 명세서로부터 파악되는 것과 균등한 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시 예를 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 빅데이터 서버 부하 분산 제어 장치를 나타낸 도면이다. 본 발명의 일 실시예에 따른 빅데이터 서버 부하 분산 제어 장치는 기존 프록시 서버의 개선 형태일 수 있으나 이에 국한되지는 않는다. 프록시 서버란, 일반적으로 클라이언트와 서버 사이에서 데이터를 중계하는 역할을 하는 서버를 말하며, 최근에는 보안 기능까지 포함하는 추세이다. 본 발명의 빅데이터 서버 부하 분산 제어 장치는 이러한 기본 기능에 국한되지 않고, 클라이언트(800)와 빅데이터 서버(900)의 사이에서 전기적으로 연결되어, 서버의 부하를 분산 처리함과 동시에, 서버의 상태를 수집(Scanning)하여 서버의 실시간 상태를 고려한 유량 제어기능을 포함하는 데에 특징이 있다.
본 발명의 일 실시예에서 클라이언트라 함은, 디지털 네트워크에서 서비스를 요청하는 사용자의 컴퓨터, 모바일 단말기 등을 의미할 수 있다. 본 발명에서의 클라이언트(800)는 빅데이터 서버(900)에 빅데이터의 '거래(transaction)'를 요청하고, 적절한 응답을 수신하는 주체이다. '거래'라 함은, 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위로 정의 되며, 구체적으로 본 발명에서의 '거래'는 빅데이터를 조회하고 분석하는 작업의 단위를 의미한다.
또한 빅데이터 서버(900)라 함은, 빅데이터의 분석을 수행하는 서버를 의미할 수 있다. 빅데이터의 분석이라 함은, 빅데이터를 수집 및 가공하여 필요한 형태의 데이터 또는 통계와 같은 정형적 리포트를 생성하는 작업을 의미할 수 있다. 보다 구체적으로, 상기 빅데이터는 다수의 비정형 데이터를 포함하고 있을 수 있으며, 상기 비정형 데이터의 분석이 전체 빅데이터 분석 작업에서 많은 양의 리소스를 차지하는 부분일 수 있다. 또한 빅데이터 분석 작업에는 기계학습 알고리즘이 적용될 수 있다.
이와 같은 클라이언트와 빅데이터 서버의 연동을 위해 데이터베이스 관리 시스템(DBMS)이 구성될 수 있다. 이 경우에 클라이언트는 화면 표시나 인쇄를 행하고, 빅데이터 서버 측에서는 데이터베이스의 검색이나 관리, 즉 빅데이터 분석을 행할 수 있다.
또한 이러한 빅데이터 분석을 수행하기 위해서, 빅데이터 서버(900)에는 데이터베이스 엔진(Database Engine)이 탑재될 수 있다. 데이터베이스 엔진은 데이터가 저장되어 있는 복수의 데이터베이스 파일에 실제로 접근하여 검색, 삭제, 갱신 등의 기능을 담당하는 소프트웨어 모듈을 의미할 수 있다.
이와 같은 빅데이터를 능동적으로 활용하기 위하여 실시간으로 대량 데이터를 조회 및 분석 할 수 있는 아키텍처(시스템의 목적과 이용자 요구사항을 기초로 하는 전체적인 시스템 골격)가 필요하며, 특히 빅데이터 분석 조회 일반적인 조회성 처리와는 다르게 Long Time 처리가 필요한 거래의 처리가 필수적이다. 즉, 거래(또는 트랜잭션; Transaction)라 함은 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위로서, 빅데이터의 거래라 함은 빅데이터의 조회 만이 아닌 데이터의 분석까지를 포함한 개념이다.
빅데이터의 거래 처리는 조회 조건에 따라 데이터 처리량이 매우 커질 수 있으며, 빅데이터의 실시간 대량 처리를 위해 빅데이터 거래 처리의 적절한 부하 분산을 할 수 있도록 아키텍처를 구성해야 한다. 빅데이터 거래의 부하분산을 위해 Web 서버 및 부하 분산 장치인 L4 등을 이용할 수 있으나, 근본적인 빅데이터 처리의 특성을 반영하지 못하여 특정 서버에 과부하가 발생하는 문제가 있어 왔다. 따라서 데이터 처리의 안정적 처리 향상을 위해 효율적이고 가용성 높은 데이터 처리 기술이 필요하다.
빅데이터 거래 처리에 대한 부하 분산은 단순한 일방향의 거래량 부하 분산이 아니라, 빅데이터 서버의 상태 및 거래 상태에 대한 모니터링(수집)을 통한 거래의 유량제어를 포함하는 것이 바람직하다.
또한, 빅데이터 실시간 분석 서버의 거래 부하를 효율적으로 분산 시키면서도, 거래 분석 오류를 최소화하기 위하여 다수의 데이터 처리 요청 자체에 대한 적절한 부하 분산 처리가 필수적이며 이러한 부하 분산 처리를 위한 빅데이터 거래 분산 미들웨어가 필요하다.
더 나아가, 부하분산 제어 기능을 고도화 하여 악성거래(롱 트랜잭션 및 대용량 거래)는 별도의 세션으로 분리하여 관리하는 기능 구현이 필요하다. 이러한 기능을 이용하여 악성거래에 의한 일반적인 거래의 지연 및 장애를 최소화하는 효과를 달성할 수 있다.
도 3은 본 발명의 일 실시예에 따른 서버 부하 분산 제어 장치의 구성 및 정보의 이용 흐름을 나타내는 도면이다. 도 3에 도시된 바와 같이, 본 발명의 빅데이터 서버 부하 분산 제어 장치(10)는, 하나 이상의 클라이언트(800) 및 복수의 빅데이터 서버와 전기적으로 연결되며, 컨트롤부(100), 빅데이터 서버 상태감지부(200), 게이트웨이부(300) 및 컨트롤매니저부(400)를 구성 요소로 포함할 수 있다. 이러한 구성 요소들은 하드웨어 또는 소프트웨어로 구현된 가상 하드웨어일 수 있다. 하드웨어로 구성될 경우, 상기 구성요소들은 각각이 개별적인 서버로 구성될 수도 있다. 도 3에서 점선은 제어 관련 정보의 흐름을 나타낸 것이며, 실선은 빅데이터 거래 관련 정보의 흐름을 나타낸 것이다.
컨트롤부(100)는 클라이언트(800)로부터 제어 요청 정보를 수신하고, 상기 제어 요청 정보에 대응되는 제어 응답 정보를 상기 클라이언트(800)에 송신할 수 있다. 컨트롤부(100)는 클라이언트(800)로부터 제어 요청 정보를 수신하고, 상기 제어 요청 정보에 대응되는 제어 응답 정보를 상기 클라이언트(800)에 송신할 수 있다. 제어 요청 정보와 제어 응답 정보를 제어 메세지라 표현할 수 있다. 본 발명의 빅데이터 서버 부하 분산 제어 장치 및 방법은 별도의 제어 메세지를 이용하여 빅데이터 거래 제어 및 관리 기능을 수행한다.
빅데이터 서버 상태감지부(200)는 복수의 빅데이터 서버(900)의 빅데이터 분석 상태를 수집 및 분석하여 상기 빅데이터 서버(900) 각각의 빅데이터 분석 상태 정보를 생성할 수 있다. 상기 빅데이터 분석 상태라 함은 빅데이터 서버(900)의 리소스, 즉 CPU, 메모리, 프로세스, 업무의 상태인 것이 바람직하다. 또한 빅데이터 서버 상태감지부(200)는 상기 리소스의 상태를 수집하는 수집기(Collector), 상기 리소스의 상태를 분석하여 빅데이터 분석 상태 정보를 생성하는 분석기(Analyzer), 상기 생성된 분석 상태 정보를 포함한 파일인 생성된 빅데이터 분석 상태 정보 파일을 작성하여 저장하는 파일 작성기(File Generator)로 구성될 수 있다.
게이트웨이부(300)는 상기 클라이언트(800)로부터 상기 제어 요청 정보에 대응되는 빅데이터 요청 정보를 수신하고, 생성된 상기 빅데이터 분석 상태 정보 및 컨트롤매니저부(400)가 미리 저장한 제어 요청 이력 정보를 기초로, 상기 빅데이터 서버(900) 중에서 상기 빅데이터 요청 정보에 대응되는 빅데이터를 분석할 지정 빅데이터 서버를 결정하며, 선택된 상기 지정 빅데이터 서버의 주소 정보를 포함하도록 상기 제어 응답 정보를 생성할 수 있다. 즉, 상기 제어 요청 이력 정보는 빅데이터 서버의 동작 상태를 저장하여, 이러한 동작 상태를 부하분산 및 유량 제어의 효율화에 활용할 수 있도록 하는 기능을 수행한다. 여기에서 주소라 함은 빅데이터 서버의 IP/Port 일 수 있다. 상기 게이트웨이부(300)는 상기 빅데이터 분석 상태 정보 파일을 읽는 방식으로, 상기 빅데이터 분석 상태 정보를 파악하는 것이 바람직하다. 또한 본 발명에서 상기 빅데이터 요청 정보와 상기 제어 요청 정보는 일대일 또는 다(多)대일로 대응될 수 있다.
컨트롤매니저부(400)는 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보를 기초로 상기 제어 요청 이력 정보를 업데이트하여 저장하되, 상기 빅데이터 분석 상태 정보를 기초로 상기 제어 요청 이력 정보를 분류하여 저장할 수 있다. 상기 제어 요청 이력 정보는 컨트롤매니저부에 의해 일종의 설정정보(confi-guration) 형태의 파일로 저장되어 다른 구성 요소에 의해 읽힐 수 있다. 이와 같은 서버(900) 외부의 configuration 파일을 생성하여 부하를 분산 제어에 이용함으로써, 제어를 위한 시스템 리소스의 효율적 이용이 가능해 진다.
또한 상기 구성 요소들에서 생성된 정보들은 파일로 저장되어, 이력이 관리되고, 다른 구성 요소에서 이를 읽어 상기와 같은 다른 정보의 생성을 위한 기초로 활용하는 것이 바람직하다.
이와 같이, 구성 요소의 유기적인 동작을 통해 빅데이터의 대용량 처리 능력 증대를 위한 서버(900)의 수평적 확장을 유연하고 효율적으로 지원할 수 있게 된다. 즉, 비정형적 Big Size 데이터를 실시간 처리하여 비정형 결과를 출력하는 시스템에 사용자의 요청이 몰리거나 시스템 상태가 비정상적일 경우 거래 오류 또는 시스템 다운으로 서비스가 불가능한 상황이 발생하는 우려를 제거하거나 최소화할 수 있다.
도 4는 본 발명의 일 실시예에 따른 악성 거래 처리 구조를 나타내는 도면이다. 도 4에 도시된 바와 같이, 상기 요청 이력 정보는 컨트롤매니저부(400)에 악성 이력 정보와 일반 이력 정보로 분류되어 저장될 수 있다. 즉, 상습적으로 트래픽을 과도하게 요구하는 등 시스템에 부담을 가하게 가하는 클라이언트의 요청은 악성으로 지정하여, 따로 관리함으로써 빅데이터 서버 시스템(클라이언트에서 빅데이터 서버에 이르는 전체 시스템)의 운영을 안정적으로 유지하고, 다른 클라이언트들이 불편함을 느끼지 않도록 하는 것이 바람직하다.
그리고, 상기 컨트롤매니저부(400)는, 상기 빅데이터 분석 상태 정보의 내용을 기초로 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보가 악성인지를 결정하여, 악성으로 결정된 제어 요청 정보의 이력 정보를 상기 악성 이력 정보에 저장하고, 악성이 아닌 것으로 결정된 제어 요청 정보의 이력 정보를 상기 일반 이력 정보에 저장하는 것이 바람직하다.
또한, 상기 빅데이터 분석 상태 정보의 내용에는 상기 빅데이터 서버(900)의 접속 시간 및 데이터 처리 시간이 포함되고, 상기 컨트롤매니저부(400)는, 상기 접속 시간이 소정의 제1 기준 이상이거나 상기 데이터 처리 시간이 소정의 제2 기준 이상인 경우, 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보가 악성인 것으로 결정하는 것이 바람직하다. 상기 제1 기준 및 제2 기준은 다른 클라이언트가 시스템의 이용에 불편함을 느낄 수 있는 시간을 기준으로 하는 것이 바람직하며, 예를 들면, 제1 기준은 3초, 제2 기준은 3초로 설정할 수 있다.
상기 접속 시간은 빅데이터 서버(900)에 접속되기 위한 대기 시간을 의미할 수 있다. 보다 구체적으로는 접속 지연 시간(post selection time), 즉 데이터 교환망에서 클라이언트가 데이터 요청 정보를 전부 송출하고 나서 빅데이터 서버가 응답하여 클라이언트가 송신 가능 신호를 받을 때까지의 시간을 의미할 수 있으나, 이에 국한되지는 않는다. 또한 상기 데이터 처리라 함은, 요청받은 형태로 데이터를 가공하기 위한 작업으로, 데이터의 조회 및 분석을 포함하는 개념일 수 있다.
그리고, 상기 게이트웨이부(300)는, 상기 클라이언트(800)의 제어 요청 정보가 저장된 상기 악성 이력 정보에 대응된다고 판단되는 경우, 상기 빅데이터 서버(900) 중에서 미리 특정된 빅데이터 서버(910)를 상기 지정 빅데이터 서버로 결정할 수 있다.
그리고, 상기 게이트웨이부(300)는, 상기 클라이언트(800)의 제어 요청 정보가 저장된 상기 악성 이력 정보에 대응된다고 판단되는 경우, 상기 클라이언트(800)의 접속을 차단하도록 할 수도 있다.
한편, 상기 게이트웨이부(300)는, 상기 클라이언트(800)의 제어 요청 정보가 저장된 상기 일반 이력 정보에 대응된다고 판단하는 경우, 상기 빅데이터 분석 상태 정보를 분석하여 빅데이터 분석 상태가 양호하다고 판단되는 빅데이터 서버를 상기 지정 빅데이터 서버로 결정할 수 있다.
또한, 상기 빅데이터 분석 상태 정보의 내용에는 상기 빅데이터 서버(900)의 접속 시간 및 데이터 처리 시간이 포함되고, 상기 컨트롤매니저부(400)는, 상기 접속 시간이 소정의 제3 기준 이하이고 상기 데이터 처리 시간이 소정의 제4 기준 이하인 경우에 상기 빅데이터 분석 상태가 양호하다고 판단하는 것이 바람직하다. 상기 제 3 기준 및 제4 기준은 클라이언트 입장에서 접속의 속도가 원활하다고 느끼는 한도 내에서, 효율적이고 안정적인 시스템 운영이 가능한 시간 기준으로 설정함이 타당하다. 예를 들어, 상기 제 3 기준은 1초, 제4 기준은 1초로 정할 수 있다. 그러나, 하드웨어의 사양, 데이터 거래량을 고려하여, 예를 들어, 각각 3초로 상향시킬 수도 있다
본 발명의 다른 일 실시예로, 상기 클라이언트(800)의 제어 요청 정보가 저장된 상기 악성 이력 정보에 대응된다고 판단되는 경우에, 상기 악성 이력 정보의 악성 정도의 단계에 따라 미리 특정된 빅데이터 서버(910)를 상기 지정 빅데이터 서버로 결정하는 작업과 상기 클라이언트(800)의 접속을 차단하는 작업을 단계별로 수행할 수도 있다.
즉, 상기 빅데이터 분석 상태 정보의 내용에는 상기 빅데이터 서버(900)의 접속 시간 및 데이터 처리 시간이 포함되고, 상기 컨트롤매니저부(400)는, 상기 접속 시간이 소정의 제6 기준 미만이고 상기 데이터 처리 시간이 소정의 제8 기준 미만이면서, 상기 접속 시간이 소정의 제5 기준 이상이거나 상기 데이터 처리 시간이 소정의 제7 기준 이상인 경우에 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보의 악성도가 제1 단계인 것으로 결정하는 것이 바람직하다. 상기 악성도가 제1 단계인 경우에는 미리 특정된 빅데이터 서버(910)를 상기 지정 빅데이터 서버로 결정하는 것이 바람직하다.
이에 더하여, 상기 컨트롤매니저부(400)는, 상기 접속 시간이 소정의 제6 기준 이상이거나 상기 데이터 처리 시간이 소정의 제8 기준 이상인 경우에, 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보의 악성도가 제2 단계인 것으로 결정하는 것이 바람직하다. 상기 악성도가 제1 단계인 경우에는 상기 클라이언트(800)의 접속을 차단하는 것이 바람직하다.
상기 제5 기준 및 제8 기준은 다른 클라이언트가 시스템의 이용에 불편함을 느낄 수 있는 시간의 정도를 고려하여 정하는 것이 바람직하며, 예를 들면, 제5 기준은 3초, 제6 기준은 3초, 제7 기준은 5초 및 제8 기준은 5초로 설정할 수 있다.
본 발명의 또 다른 실시예로, 빅데이터 서버(900) 전체의 상기 빅데이터 분석 상태 정보를 취합한 것을 기반으로, 상기 악성 이력 정보에 대응 되는 제어 요청 정보를 별도 관리할 것인지를 결정할 수도 있다.
즉, 상기 컨트롤매니저부(400)는, 상기 빅데이터 서버(900)들 전체의 접속 시간의 평균값 및 데이터 처리 시간의 평균값을 연산하고, 상기 컨트롤매니저부(400)는, 상기 접속 시간의 평균값이 소정의 제9 기준 이상이거나 상기 데이터 처리 시간의 평균값이 소정의 제10 기준 이상인 경우에, 상기 접속 시간의 평균값이 소정의 제9 기준 이상이거나 상기 데이터 처리 시간의 평균값이 소정의 제11 기준 이상인 경우에만, 특정한 제어 요청 정보가 저장된 상기 악성 이력 정보에 대응되는지를 판단하여, 대응된다고 판단되는 경우, 대응되는 상기 제어 요청 정보에 대해 미리 특정된 빅데이터 서버(910)를 상기 지정 빅데이터 서버로 결정하는 작업 또는 상기 클라이언트(800)의 접속을 차단하는 작업을 수행할 수도 있다. 이 경우에, 특정한 제어 요청 정보가 저장된 상기 악성 이력 정보에 대응되는지를 판단하는 과정은 상기에 기재된 바와 같이 상기 접속 시간이 상기 제1 기준 이상이거나 상기 데이터 처리 시간이 상기 제2 기준 이상인지를 판단하는 과정일 수 있다. 또는, 상기 제5 내지 제8 기준을 이용하여, 악성도의 단계를 제1 단계 및 제2 단계로 구분하고 미리 특정된 빅데이터 서버(910)를 상기 지정 빅데이터 서버로 결정하는 작업(제1 단계인 경우)과 상기 클라이언트(800)의 접속을 차단하는 작업(제2 단계인 경우)을 단계별로 수행하는 방식도 가능하다.
상기 제9 기준 및 제10 기준은 다른 클라이언트가 시스템의 이용에 불편함을 느낄 수 있는 시간의 정도를 고려하여 정하는 것이 바람직하며, 예를 들면, 제9 기준은 1초, 제10 기준은 1초로 설정할 수 있다.
이에 더하여, 상기 컨트롤매니저부(400)는, 상기 접속 시간이 소정의 제6 기준 이상이거나 상기 데이터 처리 시간이 소정의 제8 기준 이상인 경우에, 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보의 악성도가 제2 단계인 것으로 결정하는 것이 바람직하다. 상기 악성도가 제1 단계인 경우에는 상기 클라이언트(800)의 접속을 차단하는 것이 바람직하다.
한편, 상기 제어 요청 정보는 커맨드(Command)를 포함하고, 상기 제어 요청 이력 정보는 상기 커맨드의 리스트를 포함할 수 있다. 커맨드는 하드웨어에 직접 동작지시를 주는 신호를 의미하며, 커맨드의 분석을 통해 네트워크 연결 상태를 알 수 있다.
도 5는 본 발명의 일 실시예에 따른 빅데이터 서버 부하 분산 제어 장치와 부하 분산 장치의 연결을 나타낸 도면이다. 도 5에 도시된 바와 같이, 상기 컨트롤부(100) 및 상기 게이트웨이부(300)는, 하나 이상의 부하 분산 장치(700)를 경유하여 상기 클라이언트(800)와 정보를 송수신할 수 있다. 부하 분산 장치란, 서버들의 처리 부하를 분배하는 장치를 말하며, 구체적으로는 부하 분산 장치가 패킷 수신인 IP 주소나 MAC 주소를 다른 것으로 바꾸어 각 서버에 할당한다.
도 6은 본 발명의 일 실시예에 따른 빅데이터 서버 부하 분산 제어 장치를 나타낸 도면이다. 도 6은 좀 더 구체적으로 본 발명을 실시한 예로서, 빅데이터 서버 부하 분산 제어 장치의 구성요소들의 하위 구성요소들을 포함하여 도시하고 있다. 도 6에서 빅데이터 서버 상태감지부(200), 즉 SNMP는 Collector를 통해 빅데이터 분석 상태를 수집하고 Analiser를 통해 분석한 후, 그 결과를 빅데이터 분석 상태 정보로 저장한다. 컨트롤매니저부(400), 즉 ControlManager는 빅데이터 서버 상태감지부에서 저장된 빅데이터 분석 상태 정보(일례로 데이터 처리시간 및 접속시간)를 기초로, 악성 요청 이력 정보(악성 거래 리스트) 및 일반 요청 이력 정보(일반 거래 리스트)를 분류하여 업데이트 및 저장한다. 컨트롤부(100), 즉 Control은 Web/Mobile과 같은 클라이언트(700)로부터 제어 요청신호를 Handler를 통해 받아서 스레드(Thread; CPU가 독립적으로 처리하는 하나의 작업 단위)로 처리하여 저장한다. 게이트웨이부(300), 즉 Gateway는 악성 요청 이력 정보(악성 거래 리스트) 및 일반 요청 이력 정보(일반 거래 리스트)와 빅데이터 분석 상태 정보를 기반으로 요청된 빅데이터 분석을 담당할 빅데이터 서버(900)를 지정하고, 해당 주소를 클라이언트(700)에 송신할 수 있다.
도 7은 본 발명의 일 실시예에 따른 빅데이터 서버 부하 분산 제어 방법을 나타낸 순서도이다. 도 7에 도시된 바와 같이, 본 발명의 상기 목적을 달성하기 위한 빅데이터 서버 부하 분산 제어 장치(10)에서 빅데이터 서버의 부하를 분산 제어하는 방법은, 클라이언트(800)로부터 제어 요청 정보 및 상기 제어 요청 정보에 대응되는 빅데이터 요청 정보를 수신하는 단계(S100); 복수의 빅데이터 서버의 빅데이터 분석 상태를 수집하여 상기 빅데이터 서버 각각의 빅데이터 분석 상태 정보를 생성하는 단계(S200); 미리 저장된 제어 요청 이력 정보와 상기 빅데이터 분석 상태 정보를 기초로 상기 빅데이터 서버 중에서 상기 빅데이터 요청 정보에 대응되는 빅데이터를 분석할 지정 빅데이터 서버를 결정하는 단계(S300); 선택된 상기 지정 빅데이터 서버의 주소 정보를 포함하는 제어 응답 정보를 생성하는 단계(S400); 상기 제어 응답 정보를 상기 클라이언트(800)에 송신하는 단계(S500); 및 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보를 기초로 상기 제어 요청 이력 정보를 업데이트하여 저장하되, 상기 빅데이터 분석 상태 정보를 기초로 상기 제어 요청 이력 정보를 분류하여 저장하는 단계(S600)를 포함할 수 있다. 여기에서 주소라 함은 IP/Port 일 수 있다.
또한, 상기 제어 요청 이력 정보를 분류하여 저장하는 단계(S600)에서, 상기 제어 요청 이력 정보는 악성 이력 정보와 일반 이력 정보로 분류되어 저장되며, 상기 빅데이터 분석 상태 정보의 내용을 기초로 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보가 악성인지를 결정하여, 악성으로 결정된 경우, 상기 제어 요청 정보의 이력 정보를 상기 악성 이력 정보에 저장하고, 악성이 아닌 것으로 결정된 경우, 상기 제어 요청 정보의 이력 정보를 상기 일반 이력 정보에 저장하도록 할 수 있다.
그리고, 상기 빅데이터 분석 상태 정보의 내용에는 상기 빅데이터 서버의 접속 시간 및 데이터 처리 시간이 포함되고, 상기 제어 요청 이력 정보를 분류하여 저장하는 단계에서, 상기 접속 시간이 소정의 제1 기준 이상이거나 상기 데이터 처리 시간이 소정의 제2 기준 이상인 경우, 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보가 악성인 것으로 결정하도록 할 수 있다. 상기 제1 기준 및 제2 기준은 다른 클라이언트가 시스템의 이용에 불편함을 느낄 수 있는 시간을 기준으로 하는 것이 바람직하며, 예를 들면, 제1 기준은 3초, 제2 기준은 3초로 설정할 수 있다.
상기 접속 시간은 빅데이터 서버(900)에 접속되기 위한 대기 시간을 의미할 수 있다. 보다 구체적으로는 접속 지연 시간(post selection time), 즉 데이터 교환망에서 클라이언트가 데이터 요청 정보를 전부 송출하고 나서 빅데이터 서버가 응답하여 클라이언트가 송신 가능 신호를 받을 때까지의 시간을 의미할 수 있으나, 이에 국한되지는 않는다. 또한 상기 데이터 처리라 함은, 요청받은 형태로 데이터를 가공하기 위한 작업으로, 데이터의 조회 및 분석을 포함하는 개념일 수 있다.
그리고, 상기 지정 빅데이터 서버를 결정하는 단계(S300)에서, 상기 클라이언트(800)의 제어 요청 정보가 저장된 상기 악성 이력 정보에 대응된다고 판단되는 경우, 상기 빅데이터 서버 중에서 미리 특정된 빅데이터 서버를 상기 지정 빅데이터 서버로 결정하는 것이 바람직하다.
한편, 상기 지정 빅데이터 서버를 결정하는 단계(S300)에서, 상기 클라이언트(800)의 제어 요청 정보가 저장된 상기 일반 이력 정보에 대응된다고 판단하는 경우, 상기 빅데이터 분석 상태 정보를 분석하여 빅데이터 분석 상태가 양호하다고 판단되는 빅데이터 서버를 상기 지정 빅데이터 서버로 결정할 수 있다.
그리고, 상기 빅데이터 분석 상태 정보의 내용에는 상기 빅데이터 서버의 접속 시간 및 데이터 처리 시간이 포함되고, 상기 제어 요청 이력 정보를 분류하여 저장하는 단계에서, 상기 접속 시간이 소정의 제3 기준 이하이고 상기 데이터 처리 시간이 소정의 제4 기준 이하인 경우에 상기 빅데이터 분석 상태가 양호하다고 판단할 수 있다. 상기 제 3 기준 및 제4 기준은 클라이언트 입장에서 접속의 속도가 원활하다고 느끼는 한도 내에서, 효율적이고 안정적인 시스템 운영이 가능한 시간 기준으로 설정함이 타당하다. 예를 들어, 상기 제 3 기준은 1초, 제4 기준은 1초로 정할 수 있다. 그러나, 하드웨어의 사양, 데이터 거래량을 고려하여, 예를 들어, 각각 3초로 상향시킬 수도 있다.
한편, 상기 제어 요청 정보는 커맨드(Command)를 포함하고, 상기 제어 요청 이력 정보는 상기 커맨드의 리스트를 포함하는 것이 바람직하다.
앞에서 설명된 본 발명의 어떤 실시예들 또는 다른 실시예들은 서로 배타적이거나 구별되는 것은 아니다. 앞서 설명된 본 발명의 어떤 실시예들 또는 다른 실시예들은 각각의 구성 또는 기능이 병용되거나 조합될 수 있다.
상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
10: 빅데이터 서버 부하 분산 제어 장치
100: 컨트롤부 200: 빅데이터 서버 상태감지부
300: 게이트웨이부 400: 컨트롤매니저부
700: 부하 분산 장치 800: 클라이언트
900: 빅데이터 서버 910: 특정 빅데이터 서버
920: 일반 빅데이터 서버

Claims (18)

  1. 빅데이터 서버의 부하를 분산 제어하는 장치에 있어서,
    클라이언트로부터 제어 요청 정보를 수신하고, 상기 제어 요청 정보에 대응되는 제어 응답 정보를 상기 클라이언트에 송신하는 컨트롤부;
    복수의 빅데이터 서버의 빅데이터 분석 상태를 수집하여 상기 빅데이터 서버 각각의 빅데이터 분석 상태 정보를 생성하는 빅데이터 서버 상태감지부;
    상기 클라이언트로부터 상기 제어 요청 정보에 대응되는 빅데이터 요청 정보를 수신하고, 상기 빅데이터 분석 상태 정보 및 미리 저장된 제어 요청 이력 정보를 기초로, 상기 빅데이터 서버 중에서 상기 빅데이터 요청 정보에 대응되는 빅데이터를 분석할 지정 빅데이터 서버를 결정하며, 선택된 상기 지정 빅데이터 서버의 주소 정보를 포함하도록 상기 제어 응답 정보를 생성하는 게이트웨이부; 및
    상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보를 기초로 상기 제어 요청 이력 정보를 업데이트하여 저장하되, 상기 빅데이터 분석 상태 정보를 기초로 상기 제어 요청 이력 정보를 분류하여 저장하는 컨트롤매니저부를 포함하는 빅데이터 서버 부하 분산 제어 장치
  2. 제 1 항에 있어서,
    상기 제어 요청 이력 정보는 악성 이력 정보와 일반 이력 정보로 분류되어 저장되는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 장치
  3. 제 2 항에 있어서,
    상기 컨트롤매니저부는,
    상기 빅데이터 분석 상태 정보의 내용을 기초로 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보가 악성인지를 결정하여, 악성으로 결정된 제어 요청 정보의 이력 정보를 상기 악성 이력 정보에 저장하고, 악성으로 결정되지 않은 제어 요청 정보의 이력 정보를 상기 일반 이력 정보에 저장하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 장치
  4. 제 3 항에 있어서,
    상기 빅데이터 분석 상태 정보의 내용에는 상기 빅데이터 서버의 접속 시간 및 데이터 처리 시간이 포함되고,
    상기 컨트롤매니저부는,
    상기 접속 시간이 소정의 제1 기준 이상이거나 상기 데이터 처리 시간이 소정의 제2 기준 이상인 경우, 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보가 악성인 것으로 결정하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 장치
  5. 제 2 항에 있어서,
    상기 게이트웨이부는,
    상기 클라이언트의 제어 요청 정보가 저장된 상기 악성 이력 정보에 대응된다고 판단되는 경우, 상기 빅데이터 서버 중에서 미리 지정된 특정 빅데이터 서버를 상기 지정 빅데이터 서버로 결정하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 장치
  6. 제 2 항에 있어서,
    상기 게이트웨이부는,
    상기 클라이언트의 제어 요청 정보가 저장된 상기 악성 이력 정보에 대응된다고 판단되는 경우, 상기 클라이언트의 접속을 차단하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 장치
  7. 제 2 항에 있어서,
    상기 게이트웨이부는,
    상기 클라이언트의 제어 요청 정보가 저장된 상기 일반 이력 정보에 대응된다고 판단하는 경우, 상기 빅데이터 분석 상태 정보를 분석하여 빅데이터 분석 상태가 양호하다고 판단되는 빅데이터 서버를 상기 지정 빅데이터 서버로 결정하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 장치
  8. 제 7 항에 있어서,
    상기 빅데이터 분석 상태 정보의 내용에는 상기 빅데이터 서버의 접속 시간 및 데이터 처리 시간이 포함되고,
    상기 컨트롤매니저부는,
    상기 접속 시간이 소정의 제3 기준 이하이고 상기 데이터 처리 시간이 소정의 제4 기준 이하인 경우에 상기 빅데이터 분석 상태가 양호하다고 판단하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 장치
  9. 제 1 항에 있어서
    상기 빅데이터 서버 상태감지부는,
    상기 빅데이터 분석 상태를 수집하는 수집기, 수집된 상기 빅데이터 분석 상태를 분석하여 상기 빅데이터 분석 상태 정보를 생성하는 분석기, 및 생성된 상기 빅데이터 분석 상태 정보를 포함하는 빅데이터 분석 상태 정보 파일을 작성하여 저장하는 파일 작성기를 포함하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 장치
  10. 제 1 항에 있어서,
    상기 제어 요청 정보는 커맨드(Command)를 포함하고, 상기 제어 요청 이력 정보는 상기 커맨드의 리스트를 포함하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 장치
  11. 제 1 항에 있어서,
    상기 컨트롤부 및 상기 게이트웨이부는,
    하나 이상의 부하 분산 장치를 경유하여 상기 클라이언트와 정보를 송수신하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 장치
  12. 빅데이터 서버 부하 분산 제어 장치에서 빅데이터 서버의 부하를 분산 제어하는 방법에 있어서,
    클라이언트로부터 제어 요청 정보 및 상기 제어 요청 정보에 대응되는 빅데이터 요청 정보를 수신하는 단계;
    복수의 빅데이터 서버의 빅데이터 분석 상태를 수집하여 상기 빅데이터 서버 각각의 빅데이터 분석 상태 정보를 생성하는 단계;
    미리 저장된 제어 요청 이력 정보와 상기 빅데이터 분석 상태 정보를 기초로 상기 빅데이터 서버 중에서 상기 빅데이터 요청 정보에 대응되는 빅데이터를 분석할 지정 빅데이터 서버를 결정하는 단계;
    선택된 상기 지정 빅데이터 서버의 주소 정보를 포함하는 제어 응답 정보를 생성하는 단계;
    상기 제어 응답 정보를 상기 클라이언트에 송신하는 단계; 및
    상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보를 기초로 상기 제어 요청 이력 정보를 업데이트하여 저장하되, 상기 빅데이터 분석 상태 정보를 기초로 상기 제어 요청 이력 정보를 분류하여 저장하는 단계를 포함하는 빅데이터 서버 부하 분산 제어 방법
  13. 제 12 항에 있어서,
    상기 제어 요청 이력 정보를 분류하여 저장하는 단계에서,
    상기 제어 요청 이력 정보는 악성 이력 정보와 일반 이력 정보로 분류되어 저장되며, 상기 빅데이터 분석 상태 정보의 내용을 기초로 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보가 악성인지를 결정하여, 악성으로 결정된 경우, 상기 제어 요청 정보의 이력 정보를 상기 악성 이력 정보에 저장하고, 악성으로 결정되지 않은 경우, 상기 제어 요청 정보의 이력 정보를 상기 일반 이력 정보에 저장하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 방법
  14. 제 13 항에 있어서,
    상기 빅데이터 분석 상태 정보의 내용에는 상기 빅데이터 서버의 접속 시간 및 데이터 처리 시간이 포함되고,
    상기 제어 요청 이력 정보를 분류하여 저장하는 단계에서,
    상기 접속 시간이 소정의 제1 기준 이상이거나 상기 데이터 처리 시간이 소정의 제2 기준 이상인 경우, 상기 빅데이터 분석 상태 정보에 대응되는 제어 요청 정보가 악성인 것으로 결정하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 방법
  15. 제 13 항에 있어서;
    상기 지정 빅데이터 서버를 결정하는 단계에서,
    상기 클라이언트의 제어 요청 정보가 저장된 상기 악성 이력 정보에 대응된다고 판단되는 경우, 상기 빅데이터 서버 중에서 미리 특정된 빅데이터 서버를 상기 지정 빅데이터 서버로 결정하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 방법
  16. 제 13 항에 있어서,
    상기 지정 빅데이터 서버를 결정하는 단계에서,
    상기 클라이언트의 제어 요청 정보가 저장된 상기 일반 이력 정보에 대응된다고 판단하는 경우, 상기 빅데이터 분석 상태 정보를 분석하여 빅데이터 분석 상태가 양호하다고 판단되는 빅데이터 서버를 상기 지정 빅데이터 서버로 결정하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 방법
  17. 제 16 항에 있어서,
    상기 빅데이터 분석 상태 정보의 내용에는 상기 빅데이터 서버의 접속 시간 및 데이터 처리 시간이 포함되고,
    상기 제어 요청 이력 정보를 분류하여 저장하는 단계에서,
    상기 접속 시간이 소정의 제3 기준 이하이고 상기 데이터 처리 시간이 소정의 제4 기준 이하인 경우에 상기 빅데이터 분석 상태가 양호하다고 판단하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 방법
  18. 제 12 항에 있어서,
    상기 제어 요청 정보는 커맨드(Command)를 포함하고, 상기 제어 요청 이력 정보는 상기 커맨드의 리스트를 포함하는 것을 특징으로 하는 빅데이터 서버 부하 분산 제어 방법
KR1020180069618A 2018-06-18 2018-06-18 빅데이터 서버 부하 분산 제어 장치 및 방법 KR101916799B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180069618A KR101916799B1 (ko) 2018-06-18 2018-06-18 빅데이터 서버 부하 분산 제어 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180069618A KR101916799B1 (ko) 2018-06-18 2018-06-18 빅데이터 서버 부하 분산 제어 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101916799B1 true KR101916799B1 (ko) 2018-11-08

Family

ID=64329883

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180069618A KR101916799B1 (ko) 2018-06-18 2018-06-18 빅데이터 서버 부하 분산 제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101916799B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101980320B1 (ko) 2019-01-31 2019-05-20 주식회사아이티존 Gpu기반의 빅데이터 검색 질의 병렬 분산처리 방법
CN113163008A (zh) * 2021-04-19 2021-07-23 深圳市欧瑞博科技股份有限公司 网络服务系统的连接智能管理方法、装置及其相关设备
CN116366660A (zh) * 2023-03-31 2023-06-30 广州大学 面向分布式并行仿真计算的通信管理智能系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337872A (ja) 2000-05-29 2001-12-07 Cec:Kk サービス提供システム
US20040139433A1 (en) 2002-12-31 2004-07-15 International Business Machines Corporation Programmatic response-time based workload distribution techniques
US20090006541A1 (en) 2005-12-28 2009-01-01 International Business Machines Corporation Load Distribution in Client Server System
WO2010050249A1 (ja) 2008-10-30 2010-05-06 株式会社日立製作所 情報処理システムの運用管理装置
KR101687110B1 (ko) 2015-07-29 2016-12-28 엘에스산전 주식회사 데이터 저장 시스템
KR101814368B1 (ko) 2017-07-27 2018-01-04 김재춘 빅데이터 및 인공지능을 이용한 정보 보안 네트워크 통합 관리 시스템 및 그 방법
KR101831959B1 (ko) 2016-08-23 2018-02-26 주식회사 이노그리드 빅데이터 분석 클라우드 서비스 시스템

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337872A (ja) 2000-05-29 2001-12-07 Cec:Kk サービス提供システム
US20040139433A1 (en) 2002-12-31 2004-07-15 International Business Machines Corporation Programmatic response-time based workload distribution techniques
US20090006541A1 (en) 2005-12-28 2009-01-01 International Business Machines Corporation Load Distribution in Client Server System
WO2010050249A1 (ja) 2008-10-30 2010-05-06 株式会社日立製作所 情報処理システムの運用管理装置
KR101687110B1 (ko) 2015-07-29 2016-12-28 엘에스산전 주식회사 데이터 저장 시스템
KR101831959B1 (ko) 2016-08-23 2018-02-26 주식회사 이노그리드 빅데이터 분석 클라우드 서비스 시스템
KR101814368B1 (ko) 2017-07-27 2018-01-04 김재춘 빅데이터 및 인공지능을 이용한 정보 보안 네트워크 통합 관리 시스템 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101980320B1 (ko) 2019-01-31 2019-05-20 주식회사아이티존 Gpu기반의 빅데이터 검색 질의 병렬 분산처리 방법
CN113163008A (zh) * 2021-04-19 2021-07-23 深圳市欧瑞博科技股份有限公司 网络服务系统的连接智能管理方法、装置及其相关设备
CN116366660A (zh) * 2023-03-31 2023-06-30 广州大学 面向分布式并行仿真计算的通信管理智能系统及方法

Similar Documents

Publication Publication Date Title
US11363097B2 (en) Method and system for dynamically rebalancing client sessions within a cluster of servers connected to a network
WO2021184586A1 (zh) 基于非扁平网络的私有云监控方法、装置、计算机设备及存储介质
US10747592B2 (en) Router management by an event stream processing cluster manager
KR101574026B1 (ko) 포그 컴퓨팅 네트워크를 이용한 사물 인터넷 네트워크
US7287179B2 (en) Autonomic failover of grid-based services
CN106302565B (zh) 业务服务器的调度方法及系统
US9766947B2 (en) Methods and apparatus to monitor server loads
KR100629057B1 (ko) 서버의 원격 및 동적 구성 시스템과 그 방법 및 컴퓨터 판독 가능 기록 매체
US9473553B2 (en) Method for distributing and controlling traffic in cloud computing system and cloud computing system using the same
KR101916799B1 (ko) 빅데이터 서버 부하 분산 제어 장치 및 방법
US20100223364A1 (en) System and method for network traffic management and load balancing
EP1116109A1 (en) Load balancing for replicated services
WO2005008943A2 (en) System and methods of cooperatively load-balancing clustered servers
EP3796167B1 (en) Router management by an event stream processing cluster manager
CN113765980A (zh) 一种限流方法、装置、系统、服务器和存储介质
US10587680B2 (en) Efficient transaction level workload management across multi-tier heterogeneous middleware clusters
US20220060369A1 (en) Intent-based distributed alarm service
EP4068725A1 (en) Load balancing method and related device
CN112994937A (zh) 智融标识网络中虚拟cdn的部署与迁移系统
KR20220141070A (ko) 지역적으로 분산된 다중 클라우드 환경에서의 컨테이너 오케스트레이션 장치 및 이를 이용한 방법
US11595471B1 (en) Method and system for electing a master in a cloud based distributed system using a serverless framework
CN111600929A (zh) 传输线路探测方法、路由策略生成方法及代理服务器
KR102187382B1 (ko) 클라우드 인프라 기반의 컨테이너 가상os 통합 모니터링 운영 방법
US20230396677A1 (en) Computing power information processing method, first network device, and system
CN117278640B (zh) 一种基于数据归集的api接口调用方法及系统

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant