KR101665008B1 - 데이터 분석 장치 및 방법 - Google Patents

데이터 분석 장치 및 방법 Download PDF

Info

Publication number
KR101665008B1
KR101665008B1 KR1020160010699A KR20160010699A KR101665008B1 KR 101665008 B1 KR101665008 B1 KR 101665008B1 KR 1020160010699 A KR1020160010699 A KR 1020160010699A KR 20160010699 A KR20160010699 A KR 20160010699A KR 101665008 B1 KR101665008 B1 KR 101665008B1
Authority
KR
South Korea
Prior art keywords
data
resource information
application
threshold
server
Prior art date
Application number
KR1020160010699A
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 KR1020160010699A priority Critical patent/KR101665008B1/ko
Application granted granted Critical
Publication of KR101665008B1 publication Critical patent/KR101665008B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • 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/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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
    • 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/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

제안된 기술은 서버 장치 및 방법에 관한 것으로, 데이터를 통계 분석하는 과정에서 메모리 점유율을 모니터링하여 기설정된 조건이 충족되는 경우 클라우드 서버 장치로 통계 분석 중인 데이터를 송신하여 데이터를 통계 분석 하는 장치 및 방법에 관한 것이다.
제안된 발명이 해결하고자 하는 하나의 과제는 데이터를 처리하는 데이터 분석 장치의 리소스 정보를 지속적으로 모니터링하여 리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임계치를 초과하면 서버 장치가 직접 데이터를 처리하여 데이터 분석 장치의 메모리 과점유를 방지하는 것이다.
일 양상에 있어서, 데이터 분석 장치는 데이터를 처리하는 어플리케이션의 실행에 따른 리소스 정보를 생성하는 리소스 정보 생성부, 생성한 리소스 정보를 저장하는 리소스 정보 저장부, 리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임계치를 초과하는지 여부를 판단하는 임계치 초과 판단부 및 임계치를 초과한다고 판단되면 어플리케이션이 처리하는 데이터를 서버 장치로 송신하는 데이터 송신부를 포함한다.

Description

데이터 분석 장치 및 방법{Apparatus and method for analyzing data}
제안된 기술은 서버 장치 및 방법에 관한 것으로, 데이터를 통계 분석하는 과정에서 메모리 점유율을 모니터링하여 기설정된 조건이 충족되는 경우 클라우드 서버 장치로 통계 분석 중인 데이터를 송신하여 데이터를 통계 분석 하는 장치 및 방법에 관한 것이다.
오픈소스 통계분석 툴인 R은 S 언어에서 파생된 통계적 컴퓨팅 언어로 데이터 마이닝, 통계 등을 포함한 다양한 분석을 수행한다. 그리고 다양한 패키지를 활용하여 고급 분석, 병렬 처리 및 분산 환경을 구성할 수 있다.
그러나, R은 메모리 기반의 분석을 수행하기 때문에 많은 양의 데이터를 분석하는데 한계가 있다. 예를 들어, 통계분석을 위하여 많은 양의 데이터를 GUI(Graphical User Interface) 기반의 분석시스템의 Java 변수에 저장할 때 메모리 과다 점유 문제가 발생한다.
이런 문제를 해결 하기 위하여, 데이터 분석 장치에서 데이터의 통계 분석이 이루어 질 때 실시간으로 데이터 분석 장치의 메모리 점유율을 모니터링 할 필요가 있다. 모니터링 결과 메모리의 과점유 문제가 발생할 임계치에 도달하면 클라우드 서버 장치로 데이터를 전송하여 클라우드 서버 장치에서 데이터 통계 분석을 수행할 필요가 있다. 이를 통해 일반인도 편리하게 다량의 데이터에 대한 통계 분석을 수행할 수 있도록 할 필요가 있다.
제안된 발명이 해결하고자 하는 하나의 과제는 데이터를 처리하는 데이터 분석 장치의 리소스 정보를 지속적으로 모니터링하여 리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임계치를 초과하면 서버 장치가 직접 데이터를 처리하여 데이터 분석 장치의 메모리 과점유를 방지하는 것이다.
제안된 발명이 해결하고자 하는 다른 과제는 데이터를 처리하는 데이터 분석 장치의 리소스 정보를 지속적으로 모니터링하여 리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임계치를 초과하면 서버 장치가 직접 데이터를 처리하여 다량의 데이터에 대한 처리를 용이하게 하는 것이다.
일 양상에 있어서, 데이터 분석 장치는 데이터를 처리하는 어플리케이션의 실행에 따른 리소스 정보를 생성하는 리소스 정보 생성부, 생성한 리소스 정보를 저장하는 리소스 정보 저장부, 리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임계치를 초과하는지 여부를 판단하는 임계치 초과 판단부 및 임계치를 초과한다고 판단되면 어플리케이션이 처리하는 데이터를 서버 장치로 송신하는 데이터 송신부를 포함한다.
다른 양상에 있어서, 어플리케이션은 데이터를 통계 분석하는 어플리케이션인 것을 특징으로 한다.
또 다른 양상에 있어서, 리소스 정보는 프로세서 점유율, 메모리 점유율 중 적어도 하나의 세부 정보를 포함하는 것을 특징으로 한다.
또 다른 양상에 있어서, 데이터 분석 장치는 서버 장치가 처리한 데이터를 수신하는 데이터 수신부를 더 포함 더 포함하는 것을 특징으로 한다.
제안된 발명은 데이터를 처리하는 데이터 분석 장치의 리소스 정보를 지속적으로 모니터링하여 리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임계치를 초과하면 서버 장치가 직접 데이터를 처리하여 데이터 분석 장치의 메모리 과점유를 방지할 수 있다.
제안된 발명은 데이터를 처리하는 데이터 분석 장치의 리소스 정보를 지속적으로 모니터링하여 리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임계치를 초과하면 서버 장치가 직접 데이터를 처리하여 다량의 데이터에 대한 처리를 용이하게 하는 것이다.
도 1은 일 실시예에 따른 서버 장치의 전체적인 구성을 도시한다.
도 2는 일 실시예에 따른 데이터 분석 방법의 전체적인 흐름을 도시한다.
전술한, 그리고 추가적인 양상들은 첨부된 도면을 참조하여 설명하는 실시예들을 통해 구체화된다. 각 실시예들의 구성 요소들은 다른 언급이나 상호간에 모순이 없는 한 실시예 내에서 다양한 조합이 가능한 것으로 이해된다. 나아가 제안된 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
도면에서 제안된 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 그리고, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 나아가, 명세서 전체에서 신호는 전압이나 전류 등의 전기량을 의미한다.
명세서에서 기술한 부란, "하드웨어 또는 소프트웨어의 시스템을 변경이나 플러그인 가능하도록 구성한 블록"을 의미하는 것으로서, 즉 하드웨어나 소프트웨어에 있어 특정 기능을 수행하는 하나의 단위 또는 블록을 의미한다.
도 1은 일 실시예에 있어서 데이터 분석 장치(200)의 전체적인 구성을 도시한다.
오픈소스 통계분석 툴인 R은 메모리 기반의 분석을 수행하기 때문에 다량의 데이터를 분석하는데 한계가 있다. 일반적으로 데이터 수에 기반하여 100만 건 이상의 데이터에 대한 통계분석을 위하여 데이터를 GUI 기반의 분석시스템의 Java 변수에 저장할 때에 발생하는 메모리 과다점유 문제가 주로 발생한다.
이런 문제를 해결하면서 이용자에게는 저장된 데이터를 기반으로 하여 통계분석 결과를 제공하기 위하여 메모리 점유율을 모니터링 하여 과점유 문제가 발생할 임계치가 넘어서면 외부의 빅데이터 분석플랫폼인 서버 장치(100)에서 분석작업을 전환하는 방법을 활용함으로써 일반 이용자도 편리하게 다량의 데이터에 대한 통계분석을 수 행할 수 있도록 할 수 있다.
제안된 발명은 데이터에 대한 통계분석 결과를 제공하는 데이터 분석 장치(200)에서 실행되는 분석시스템과 서버 장치(100) 및 서버 장치(100)에서 실행되는 프로그램인 외부의 분석플랫폼과의 데이터 연계 방법에 관한 것이다. 보다 상세하게는 1차 분석시스템이 설치되는 데이터 분석 장치(200)의 메모리 점유율을 모니터링 하여 점유율이 임계치를 초과하는 외부의 분석플랫폼과 연계하여 1차로 외부 분석플랫폼인 서버 장치(100)로 데이터를 전송한다. 2차로 서버 장치(100)에서 전송받은 데이터에 대한 통계분석을 수행한 후 결과 데이터를 데이터 분석 장치(200)에 설치된 분석시스템으로 다시 전달한다.
일 양상에 있어서, 데이터 분석 장치(200)는 리소스 정보 생성부(210), 리소스 정보 저장부(220), 임계치 초과 판단부(230) 및 데이터 송신부(240)를 포함한다.
일 실시예에 있어서, 리소스 정보 생성부(210)는 데이터를 처리하는 어플리케이션의 실행에 따른 리소스 정보를 생성한다. 서버 장치(100)와 데이터 분석 장치(200)는 무선 네트워크(WN, Wireless Network)를 통해 통신한다. 무선 네트워크 예를 들어 3G, LTE, WIFi, Bluetooth 등의 무선 통신망을 포함한다. 무선 네트워크는 이에 한정되는 것은 아니다.
도 1은 하나의 데이터 분석 장치(200)만을 개시하지만, 두개 이상의 동종 또는 이종의 데이터 분석 장치(200)와 서버 장치(100)는 무선통신 할 수 있다. 복수의 데이터 분석 장치(200)가 동종의 장치라면 동일 모델 또는 이종 모델들로 구성될 수 있다.
리소스 정보 생성부(210)는 어플리케이션의 실행에 따른 데이터 분석 장치(200)의 리소스 정보를 실시간으로 생성하여 시각화 시킨다. 사용자는 모니터와 같은 디스플레이 장치를 통해 리소스 정보를 확인할 수 있다. 데이터 분석 장치(200)의 리소스 정보 생성부(210)가 생성한 리소스 정보를 데이터 분석 장치(200)는 실시간으로 모니터링한다. 데이터 분석 장치(200)는 리소스 정보를 서버 장치(100)로 실시간으로 송신할 수 있다. 송신하는 시간은 이에 한정되는 것은 아니고, 서버 장치(100)가 데이터 분석 장치(200)로 리소스 정보를 요청할 때마다 데이터 분석 장치(200)는 리소스 정보를 서버 장치(100)로 송신할 수 있다. 리소스 정보에 대한 구체적인 설명은 후술한다.
일 실시예에 있어서, 리소스 정보 저장부(220)는 생성한 리소스 정보를 저장한다. 리소스 정보 저장부(220)는 생성한 리소스 정보를 저장하여 데이터베이스화 시킨다. 예를 들어, 리소스 정보는 데이터 분석 장치(200)를 식별 할 수 있는 맥주소와 같은 식별 정보, 리소스 정보 생성 시점과 함께 리소스 정보는 데이터베이스화 된다.
일 실시예에 있어서, 임계치 초과 판단부(230)는 리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임계치를 초과하는지 여부를 판단한다. 임계치 초과 판단부(230)는 하나 이상의 어플리케이션이 실행되는 데이터 분석 장치(200) 자체의 전체 리소스가 임계치를 초과하는지 여부를 판단할 수 있다. 임계치 초과 판단 부는 데이터 분석 장치(200)에서 실행되는 어플리케이션별로 리소스가 임계치를 초과하는지 여부를 판단할 수 있다.
리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 메모리 점유율인 경우 임계치는 메모리 점유율이 70퍼센트 이상이다. 전술한 예에서, 임계치 초과 판단부(230)는 메모리 점유율이 70퍼센트 이상인 경우 임계치를 초과했다고 판단한다. 임계치 초과 판단부(230)는 메모리 점유율이 70프로 이상이 되면 메모리 과점유 문제가 발생한 것 이라고 판단하는 것이다.
일 실시예에 있어서, 데이터 송신부(240)는 임계치를 초과한다고 판단되면 어플리케이션이 처리하는 데이터를 서버 장치(100)로 송신한다. 리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임계치를 초과하는 경우, 데이터 분석 장치(200)에서 분석되던 데이터는 외부 분석플랫폼인 서버 장치(100)에서 처리될 필요가 있다. 외부 분석 플랫폼은 서버 장치(100) 또는 서버 장치(100)에서 실행되는 엎플리케이션을 의미할 수 있다. 데이터 분석 장치(200)의 메모리 점유율이 70프로 이하인 경우에는 데이터 분석은 데이터 분석 장치(200)에서 이루어지도록 한다. 데이터 분석 장치(200)의 메모리 점유율이 70프로 이상인 경우에, 데이터 분석 장치(200)의 데이터 송신부(240)는 데이터 분석 장치(200)에서 분석하는 데이터를 서버 장치(100)로 송신하도록 한다. 요청에 따라 데이터 분석 장치(200)가 데이터를 송신하면, 후술하겠지만 서버 장치(100)는 데이터를 수신하고 직접 분석한다.
데이터 송신부(240)는 메모리 점유율이 임계치를 초과하는 경우 데이터 분석 장치(200)에 저장된 데이터, 임계치를 초과한 이후에 사용자가 데이터 분석 장치(200)에 새롭게 입력한 데이터를 서버 장치(100)로 송신한다. 서버 장치(100)는 수신한 데이터를 변형하지 않고 저장한다. 데이터 분석 장치(200)에 새로운 입력에 따라 데이터의 추가, 수정 또는 삭제가 발생하는 경우, 데이터 송신부(240)는 추가, 수정 또는 삭제된 데이터를 서버 장치(100)로 송신하고, 서버 장치(100)는 변경된 데이터를 저장한다.
데이터 송신부(240)는 메모리 점유율이 임계치를 초과하는 경우 입력에 따른 갱신된 정보를 실시간으로 서버 장치(100)로 송신한다. 임계치 초과 판단부(230)는 데이터 송신부(240)가 갱신된 정보를 실시간으로 서버 장치(100)로 송신하는 동안에도 리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임게치를 초과하는지 여부를 판단한다.
데이터 분석 장치(200)의 메모리 점유율에 따라 데이터 분석의 주체를 달리하여 대용량 데이터에 대해서도 메모리 과다 점유 문제 없이 통계 분석을 수행할 수 있다.
일 실시예에 있어서, 어플리케이션은 데이터를 통계 분석하는 어플리케이션인 것을 특징으로 한다. 데이터를 통계 분석하는 어플리케이션은 R과 JRI를 기반으로 Java 프로그래밍 언어로 개발된 PC 설치형 통계 분석 시스템인 레이더(Rader)이다. 레이더는 R을 기반으로 여기에 GUI 인터페이스를 더한 통계분석 프로그램이다. 데이터를 통계 분석하는 어플리케이션은 레이더에 한정되는 것은 아니고 다른 어플리케이션을 포함할 수 있다.
R은 모든 플랫폼 에서 운영이 가능하도록 개발된 데이터에 대한 통계분석이 가능한 소프트웨어 오픈소스로 개발되었다. JAVA, C언어 등과의 연동을 위한 API(application programming interface)를 제공하여 확장성이 뛰어나다.
JRI(Java R Interface)는 Java와 R간의 인터페이스로 R의 동적 라이브러리를 JAVA에 넣고, R의 기능들을 사용할 수 있는 JAVA API를 제공한다. 즉, JRI는 R함수를 단순히 부르는 것뿐만 아니라 동적 인터프리터(Interpreter)환경을 완전히 구현하는 것도 제공한다.
Java는 PC 서버 데스크탑 및 웹 브라우저 등에서 동작하는 컴퓨터 프로그램을 개발하는데 사용되는 객체 지향 프로그래밍 언어로서 보안성이 뛰어나며 컴파일한 코드는 다른 운영 체제에서 사용할 수 있도록 클래스(class)로 제공된다. 객체 지향 언어인 C++ 언어의 객체 지향적인 장점을 살리면서 분산 환경을 지원한다
R은 커맨드 방식으로, R과 같은 커맨드 구동 소프트웨어는 사용자가 옵션의 리스트 없이 커맨드를 기억하고 실행 시켜야 한다. 커맨드 구동 통신 소프트웨어는 숙련된 통신 사용자에게 유용한 방식이다. 사용자는 시간이 걸리는 일련의 메뉴 프롬프트를 거치지 않고 대화 모드에서 커맨드 모드로 가서 여러 개의 커맨드를 연속적으로 실행 할 수 있다.
데이터를 통계 분석하는 어플리케이션이 레이더인 경우, 사용자는 R 명령어 및 통계분석에 대한 전문 지식없이도 손쉽게 데이터를 로드하여 분석할 수 있다. 또한, 운영체제에 상관없이 GUI 기반 통계분석 프로그램인 레이더는 데이터 분석 장치(200)에 설치되어 활용될 수 있다.
일 실시예에 있어서, 리소스 정보는 프로세서 점유율, 메모리 점유율 중 적어도 하나의 세부 정보를 포함한다. 프로세서 점유율 및 메모리 점유율은 데이터 분석 장치(200)에서 실행중인 어플리케이션별로 산출될 수 있다. 예를 들어, 데이터 분석 장치(200)에서 어플리케이션인 레이더의 실행에 따른 데이터 분석 장치(200)의 프로세서 점유율 및 메모리 점유율을 포함하는 리소스 정보가 생성되어 저장될 수 있다. 리소스 정보가 포함하는 세부 정보는 프로세서 점유율 및 메모리 점유율에 한정되지 않는다.
일 양상에 있어서, 데이터 분석 장치(200)는 데이터 처리부(250)를 더 포함할 수 있다.
일 실시예에 있어서, 데이터 처리부(250)는 데이터 분석 장치(200)가 송신한 데이터를 수신하여 처리하는 서버 장치(100)가 실행하는 어플리케이션과 동일한 기능을 수행하는 어플리케이션을 통해 데이터를 처리한다.
서버 장치(100)에서 실행하는 어플리케이션은 Hadoop과 R을 기반으로 JAVA 프로그래밍 언어로 개발된 빅데이터 분석 플랫폼이다. 데이터 분석 장치(200)가 실행 중인 어플리케이션과 동일한 기능을 수행하는 어플리케이션은 정형 또는 비정형 데이터에 대해서 데이터 저장 및 분석 결과 반환을 제공하는 프로그램이다.
Hadoop은 Apache에서 진행한 오픈 소스기반 빅데이터 분석 시스템으로 분산 처리를 위해 분석할데이터의 크기에 따라 노드를 할당한다.
일 양상에 있어서, 데이터 분석 장치(200)는 서버 장치(100)가 처리한 데이터를 수신하는 데이터 수신부(260)를 더 포함할 수 있다. 데이터 수신부(260)는 서버 장치(100)가 처리한 데이터를 실시간으로 수신한다. 임계치 초과 판단부(230)가 임계치를 초과하지 않는다고 판단하면 데이터 송신부(240)는 더 이상 데이터를 서버 장치(100)로 송신하지 않게 된다. 이에 따라, 서버 장치(100)는 처리할 데이터가 존재하지 않게 되어 데이터 수신부(260)도 더 이상 처리한 데이터를 수신하지 않는다.
도 2는 일 실시예에 따른 데이터 분석 방법의 전체적인 흐름을 도시한다.
오픈소스 통계분석 툴인 R은 메모리 기반의 분석을 수행하기 때문에 다량의 데이터를 분석하는데 한계가 있다. 일반적으로 데이터 수에 기반하여 100만 건 이상의 데이터에 대한 통계분석을 위하여 데이터를 GUI 기반의 분석시스템의 Java 변수에 저장할 때에 발생하는 메모리 과다점유 문제가 주로 발생한다.
이런 문제를 해결하면서 이용자에게는 저장된 데이터를 기반으로 하여 통계분석 결과를 제공하기 위하여 메모리 점유율을 모니터링 하여 과점유 문제가 발생할 임계치가 넘어서면 외부의 빅데이터 분석플랫폼인 서버 장치(100)에서 분석작업을 전환하는 방법을 활용함으로써 일반 이용자도 편리하게 다량의 데이터에 대한 통계분석을 수 행할 수 있도록 할 수 있다.
제안된 발명은 데이터에 대한 통계분석 결과를 제공하는 데이터 분석 장치(200)에서 실행되는 분석시스템과 서버 장치(100) 및 서버 장치(100)에서 실행되는 프로그램인 외부의 분석플랫폼과의 데이터 연계 방법에 관한 것이다. 보다 상세하게는 1차 분석시스템이 설치되는 데이터 분석 장치(200)의 메모리 점유율을 모니터링 하여 점유율이 임계치를 초과하는 외부의 분석플랫폼과 연계하여 1차로 외부 분석플랫폼인 서버 장치(100)로 데이터를 전송한다. 2차로 서버 장치(100)에서 전송받은 데이터에 대한 통계분석을 수행한 후 결과 데이터를 데이터 분석 장치(200)에 설치된 분석시스템으로 다시 전달한다.
일 양상에 있어서, 데이터 분석 방법은 리소스 정보 생성 단계(S310), 리소스 정보 저장 단계(320), 임계치 초과 판단 단계(330) 및 데이터 송신 단계(340)를 포함한다.
일 실시예에 있어서, 리소스 정보 생성 단계(S310)는 데이터를 처리하는 어플리케이션의 실행에 따른 리소스 정보를 생성한다. 서버 장치(100)와 데이터 분석 장치(200)는 무선 네트워크(WN, Wireless Network)를 통해 통신한다. 무선 네트워크 예를 들어 3G, LTE, WIFi, Bluetooth 등의 무선 통신망을 포함한다. 무선 네트워크는 이에 한정되는 것은 아니다.
도 1은 하나의 데이터 분석 장치(200)만을 개시하지만, 두개 이상의 동종 또는 이종의 데이터 분석 장치(200)와 서버 장치(100)는 무선통신 할 수 있다. 복수의 데이터 분석 장치(200)가 동종의 장치라면 동일 모델 또는 이종 모델들로 구성될 수 있다.
리소스 정보 생성 단계(S310)는 어플리케이션의 실행에 따른 데이터 분석 장치(200)의 리소스 정보를 실시간으로 생성하여 시각화 시킨다. 사용자는 모니터와 같은 디스플레이 장치를 통해 리소스 정보를 확인할 수 있다. 데이터 분석 장치(200)의 리소스 정보 생성 단계(S310)가 생성한 리소스 정보를 데이터 분석 장치(200)는 실시간으로 모니터링한다. 데이터 분석 장치(200)는 리소스 정보를 서버 장치(100)로 실시간으로 송신할 수 있다. 송신하는 시간은 이에 한정되는 것은 아니고, 서버 장치(100)가 데이터 분석 장치(200)로 리소스 정보를 요청할 때마다 데이터 분석 장치(200)는 리소스 정보를 서버 장치(100)로 송신할 수 있다. 리소스 정보에 대한 구체적인 설명은 후술한다.
일 실시예에 있어서, 리소스 정보 저장 단계(320)는 생성한 리소스 정보를 저장한다. 리소스 정보 저장 단계(320)는 생성한 리소스 정보를 저장하여 데이터베이스화 시킨다.
예를 들어, 리소스 정보는 데이터 분석 장치(200)를 식별 할 수 있는 맥주소와 같은 식별 정보, 리소스 정보 생성 시점과 함께 리소스 정보는 데이터베이스화 된다.
일 실시예에 있어서, 임계치 초과 판단 단계(330)는 리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임계치를 초과하는지 여부를 판단한다. 임계치 초과 판단 단계(330)는 하나 이상의 어플리케이션이 실행되는 데이터 분석 장치(200) 자체의 전체 리소스가 임계치를 초과하는지 여부를 판단할 수 있다. 임계치 초과 판단 단계(330)는 데이터 분석 장치(200)에서 실행되는 어플리케이션별로 리소스가 임계치를 초과하는지 여부를 판단할 수 있다.
리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 메모리 점유율인 경우 임계치는 메모리 점유율이 70퍼센트 이상이다. 전술한 예에서, 임계치 초과 판단 단계(330)는 메모리 점유율이 70퍼센트 이상인 경우 임계치를 초과했다고 판단한다. 임계치 초과 판단 단계(330)는 메모리 점유율이 70프로 이상이 되면 메모리 과점유 문제가 발생한 것 이라고 판단하는 것이다.
일 실시예에 있어서, 데이터 송신 단계(340)는 임계치를 초과한다고 판단되면 어플리케이션이 처리하는 데이터를 서버 장치(100)로 송신한다. 리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임계치를 초과하는 경우, 데이터 분석 장치(200)에서 분석되던 데이터는 외부 분석플랫폼인 서버 장치(100)에서 처리될 필요가 있다. 외부 분석 플랫폼은 서버 장치(100) 또는 서버 장치(100)에서 실행되는 엎플리케이션을 의미할 수 있다. 데이터 분석 장치(200)의 메모리 점유율이 70프로 이하인 경우에는 데이터 분석은 데이터 분석 장치(200)에서 이루어지도록 한다. 데이터 분석 장치(200)의 메모리 점유율이 70프로 이상인 경우에, 데이터 분석 장치(200)의 데이터 송신부(240)는 데이터 분석 장치(200)에서 분석하는 데이터를 서버 장치(100)로 송신하도록 한다. 요청에 따라 데이터 분석 장치(200)가 데이터를 송신하면, 후술하겠지만 서버 장치(100)는 데이터를 수신하고 직접 분석한다.
데이터 송신 단계(340)는 메모리 점유율이 임계치를 초과하는 경우 데이터 분석 장치(200)에 저장된 데이터, 임계치를 초과한 이후에 사용자가 데이터 분석 장치(200)에 새롭게 입력한 데이터를 서버 장치(100)로 송신한다. 서버 장치(100)는 수신한 데이터를 변형하지 않고 저장한다. 데이터 분석 장치(200)에 새로운 입력에 따라 데이터의 추가, 수정 또는 삭제가 발생하는 경우, 데이터 송신 단계(340)는 추가, 수정 또는 삭제된 데이터를 서버 장치(100)로 송신하고, 서버 장치(100)는 변경된 데이터를 저장한다.
데이터 송신 단계(340)는 메모리 점유율이 임계치를 초과하는 경우 입력에 따른 갱신된 정보를 실시간으로 서버 장치(100)로 송신한다. 임계치 초과 판단부(230)는 데이터 송신부(240)가 갱신된 정보를 실시간으로 서버 장치(100)로 송신하는 동안에도 리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임게치를 초과하는지 여부를 판단한다.
데이터 분석 장치(200)의 메모리 점유율에 따라 데이터 분석의 주체를 달리하여 대용량 데이터에 대해서도 메모리 과다 점유 문제 없이 통계 분석을 수행할 수 있다.
일 실시예에 있어서, 어플리케이션은 데이터를 통계 분석하는 어플리케이션인 것을 특징으로 한다. 데이터를 통계 분석하는 어플리케이션은 R과 JRI를 기반으로 Java 프로그래밍 언어로 개발된 PC 설치형 통계 분석 시스템인 레이더(Rader)이다. 레이더는 R을 기반으로 여기에 GUI 인터페이스를 더한 통계분석 프로그램이다. 데이터를 통계 분석하는 어플리케이션은 레이더에 한정되는 것은 아니고 다른 어플리케이션을 포함할 수 있다.
R은 모든 플랫폼 에서 운영이 가능하도록 개발된 데이터에 대한 통계분석이 가능한 소프트웨어 오픈소스로 개발되었다. JAVA, C언어 등과의 연동을 위한 API(application programming interface)를 제공하여 확장성이 뛰어나다.
JRI(Java R Interface)는 Java와 R간의 인터페이스로 R의 동적 라이브러리를 JAVA에 넣고, R의 기능들을 사용할 수 있는 JAVA API를 제공한다. 즉, JRI는 R함수를 단순히 부르는 것뿐만 아니라 동적 인터프리터(Interpreter)환경을 완전히 구현하는 것도 제공한다.
Java는 PC 서버 데스크탑 및 웹 브라우저 등에서 동작하는 컴퓨터 프로그램을 개발하는데 사용되는 객체 지향 프로그래밍 언어로서 보안성이 뛰어나며 컴파일한 코드는 다른 운영 체제에서 사용할 수 있도록 클래스(class)로 제공된다. 객체 지향 언어인 C++ 언어의 객체 지향적인 장점을 살리면서 분산 환경을 지원한다
R은 커맨드 방식으로, R과 같은 커맨드 구동 소프트웨어는 사용자가 옵션의 리스트 없이 커맨드를 기억하고 실행 시켜야 한다. 커맨드 구동 통신 소프트웨어는 숙련된 통신 사용자에게 유용한 방식이다. 사용자는 시간이 걸리는 일련의 메뉴 프롬프트를 거치지 않고 대화 모드에서 커맨드 모드로 가서 여러 개의 커맨드를 연속적으로 실행 할 수 있다.
데이터를 통계 분석하는 어플리케이션이 레이더인 경우, 사용자는 R 명령어 및 통계분석에 대한 전문 지식없이도 손쉽게 데이터를 로드하여 분석할 수 있다. 또한, 운영체제에 상관없이 GUI 기반 통계분석 프로그램인 레이더는 데이터 분석 장치(200)에 설치되어 활용될 수 있다.
일 실시예에 있어서, 리소스 정보는 프로세서 점유율, 메모리 점유율 중 적어도 하나의 세부 정보를 포함한다. 프로세서 점유율 및 메모리 점유율은 데이터 분석 장치(200)에서 실행중인 어플리케이션별로 산출될 수 있다. 예를 들어, 데이터 분석 장치(200)에서 어플리케이션인 레이더의 실행에 따른 데이터 분석 장치(200)의 프로세서 점유율 및 메모리 점유율을 포함하는 리소스 정보가 생성되어 저장될 수 있다. 리소스 정보가 포함하는 세부 정보는 프로세서 점유율 및 메모리 점유율에 한정되지 않는다.
일 양상에 있어서, 데이터 분석 장법은 데이터 처리 단계를 더 포함할 수 있다.
일 실시예에 있어서, 데이터 처리 단계는 데이터 분석 장치(200)가 송신한 데이터를 수신하여 처리하는 서버 장치(100)가 실행하는 어플리케이션과 동일한 기능을 수행하는 어플리케이션을 통해 데이터를 처리한다.
데이터 분석 장치(200)가 실행 중인 어플리케이션과 동일한 기능을 수행하는 어플리케이션은 Hadoop과 R을 기반으로 JAVA 프로그래밍 언어로 개발된 빅데이터 분석 플랫폼이다. 데이터 분석 장치(200)가 실행 중인 어플리케이션과 동일한 기능을 수행하는 어플리케이션은 정형 또는 비정형 데이터에 대해서 데이터 저장 및 분석 결과 반환을 제공하는 프로그램이다.
Hadoop은 Apache에서 진행한 오픈 소스기반 빅데이터 분석 시스템으로 분산 처리를 위해 분석할데이터의 크기에 따라 노드를 할당한다.
일 양상에 있어서, 데이터 분석 방법은 서버 장치(100)가 처리한 데이터를 수신하는 데이터 수신 단계(350)를 더 포함할 수 있다. 데이터 수신 단계(350)는 서버 장치(100)가 처리한 데이터를 실시간으로 수신한다. 임계치 초과 판단부(230)가 임계치를 초과하지 않는다고 판단하면 데이터 송신 단계(340)는 더 이상 데이터를 서버 장치(100)로 송신하지 않게 된다. 이에 따라, 서버 장치(100)는 처리할 데이터가 존재하지 않게 되어 데이터 수신 단계(350)도 더 이상 처리한 데이터를 수신하지 않는다.
본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 보호 범위는 첨부된 청구 범위에 의해서만 정해 져야 할 것이다.
100: 서버 장치
200: 데이터 분석 장치
210: 리소스 정보 생성부
220: 리소스 정보 저장부
230: 임계치 초과 판단부
240: 데이터 송신부
250: 데이터 처리부
260: 데이터 수신부

Claims (8)

  1. 데이터를 처리하는 어플리케이션의 실행에 따른 리소스 정보를 생성하는 리소스 정보 생성부;
    생성한 리소스 정보를 저장하는 리소스 정보 저장부;
    리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임계치를 초과하는지 여부를 판단하는 임계치 초과 판단부; 및
    임계치를 초과한다고 판단되면 어플리케이션이 처리하는 데이터를 서버 장치로 송신하는 데이터 송신부; 를 포함하되,
    리소스 정보는
    프로세서 점유율, 메모리 점유율 중 적어도 하나의 세부 정보를 포함하는 것
    을 특징으로하고,
    리소스 정보가 메모리 점유율인 경우 임계치는 메모리 점유율의 70퍼센트인 것을 특징으로하고,
    상기 어플리케이션은 데이터를 통계 분석하는 R과 JRI를 기반으로 Java 프로그래밍 언어로 개발된 PC 설치형 통계 분석 시스템인 레이더인 것을 특징으로 하며,
    상기 프로세서 점유율 및 메모리 점유율은 실행중인 어플리케이션별로 산출되는 것을 특징으로 하고,
    상기 서버 장치에서 실행하는 어플리케이션은 Hadoop과 R을 기반으로 JAVA 프로그래밍 언어로 개발된 빅데이터 분석 플랫폼인 것을 특징으로 하는
    데이터 분석 장치.


  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서, 데이터 분석 장치는
    서버 장치가 처리한 데이터를 수신하는 데이터 수신부; 를
    더 포함하는 것을 특징으로 하는 데이터 분석 장치.
  5. 데이터를 처리하는 어플리케이션의 실행에 따른 리소스 정보를 생성하는 리소스 정보 생성 단계;
    생성한 리소스 정보를 저장하는 리소스 정보 저장 단계;
    리소스 정보가 포함하는 세부 정보 중 적어도 어느 하나가 임계치를 초과하
    는지 여부를 판단하는 임계치 초과 판단 단계; 및
    임계치를 초과한다고 판단되면 어플리케이션이 처리하는 데이터를 서버 장치
    로 송신하는 데이터 송신 단계; 를 포함하되,
    리소스 정보는
    프로세서 점유율, 메모리 점유율 중 적어도 하나의 세부 정보를 포함하는 것
    을 특징으로하고,
    리소스 정보가 메모리 점유율인 경우 임계치는 메모리 점유율의 70퍼센트인 것을 특징으로하고,
    상기 어플리케이션은 데이터를 통계 분석하는 R과 JRI를 기반으로 Java 프로그래밍 언어로 개발된 PC 설치형 통계 분석 시스템인 레이더인 것을 특징으로 하며,
    상기 프로세서 점유율 및 메모리 점유율은 실행중인 어플리케이션별로 산출되는 것을 특징으로 하고,
    상기 서버 장치에서 실행하는 어플리케이션은 Hadoop과 R을 기반으로 JAVA 프로그래밍 언어로 개발된 빅데이터 분석 플랫폼인 것을 특징으로 하는
    데이터 분석 방법.


  6. 삭제
  7. 삭제
  8. 제 5 항에 있어서, 데이터 분석 방법은
    서버 장치가 처리한 데이터를 수신하는 데이터 수신 단계; 를
    더 포함하는 데이터 분석 방법.

KR1020160010699A 2016-01-28 2016-01-28 데이터 분석 장치 및 방법 KR101665008B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160010699A KR101665008B1 (ko) 2016-01-28 2016-01-28 데이터 분석 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160010699A KR101665008B1 (ko) 2016-01-28 2016-01-28 데이터 분석 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101665008B1 true KR101665008B1 (ko) 2016-10-24

Family

ID=57256555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160010699A KR101665008B1 (ko) 2016-01-28 2016-01-28 데이터 분석 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101665008B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210040333A (ko) * 2020-06-29 2021-04-13 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 요청 처리 방법,장치,기기, 컴퓨터 저장매체 및 컴퓨터 프로그램
CN115774845A (zh) * 2022-12-08 2023-03-10 德州易泰数据湖信息技术有限公司 一种互联网数据对比系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030026708A (ko) * 2001-09-26 2003-04-03 (주)네오클릭 P2p(피어투피어) 기반의 cpu 공유 분산 컴퓨팅
JP2013065207A (ja) * 2011-09-16 2013-04-11 Kyocera Corp 携帯通信システム、携帯通信端末およびサーバ
KR20150039524A (ko) * 2013-10-02 2015-04-10 삼성전자주식회사 클라우드 시스템, 클라우드 시스템 제어 방법, 관리 서버 및 그 제어 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030026708A (ko) * 2001-09-26 2003-04-03 (주)네오클릭 P2p(피어투피어) 기반의 cpu 공유 분산 컴퓨팅
JP2013065207A (ja) * 2011-09-16 2013-04-11 Kyocera Corp 携帯通信システム、携帯通信端末およびサーバ
KR20150039524A (ko) * 2013-10-02 2015-04-10 삼성전자주식회사 클라우드 시스템, 클라우드 시스템 제어 방법, 관리 서버 및 그 제어 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210040333A (ko) * 2020-06-29 2021-04-13 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 요청 처리 방법,장치,기기, 컴퓨터 저장매체 및 컴퓨터 프로그램
US11689630B2 (en) 2020-06-29 2023-06-27 Beijing Baidu Netcom Science And Technology Co., Ltd. Request processing method and apparatus, electronic device, and computer storage medium
KR102572013B1 (ko) * 2020-06-29 2023-08-29 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 요청 처리 방법,장치,기기, 컴퓨터 저장매체 및 컴퓨터 프로그램
CN115774845A (zh) * 2022-12-08 2023-03-10 德州易泰数据湖信息技术有限公司 一种互联网数据对比系统

Similar Documents

Publication Publication Date Title
Gupta et al. iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments
US11315024B2 (en) Cognitive computing systems and services utilizing internet of things environment
CN109885624B (zh) 数据处理方法、装置、计算机设备和存储介质
EP3128416B1 (en) Sdn application integration, management and control method, system and device
CN111488254A (zh) 一种机器学习模型的部署与监控装置和方法
CN111190673B (zh) 基于操作监测的页面展示方法、装置和电子设备
KR102612312B1 (ko) 전자 장치 및 이의 제어방법
CN113900834B (zh) 基于物联网技术的数据处理方法、装置、设备及存储介质
US11436327B1 (en) System and method for circumventing evasive code for cyberthreat detection
CN113672934A (zh) 一种安全漏洞扫描系统及方法、终端、存储介质
KR101665008B1 (ko) 데이터 분석 장치 및 방법
CN110336888B (zh) 一种服务器分配方法、装置、系统及介质
US10917840B2 (en) Selecting a communication service provider according to constraint criteria
US8745681B2 (en) Set top box resource allocation for executing a widget
CN114327710A (zh) 一种函数管理方法、管理装置、终端设备及可读存储介质
US11349729B2 (en) Network service requests
CN113704765A (zh) 基于人工智能的操作系统识别方法、装置及电子设备
CN111143033B (zh) 基于可伸缩操作系统的操作执行方法及装置
CN112152879A (zh) 网络质量确定方法、装置、电子设备和可读存储介质
US11722429B1 (en) Resource allocation for extended reality applications
CN112994934B (zh) 数据交互方法、装置及系统
US20220076661A1 (en) Duration based task monitoring of artificial intelligence voice response systems
US9479579B2 (en) Grouping processing method and system
CN108055305B (zh) 一种存储扩展方法及存储扩展装置
Pandey et al. Here, there, anywhere: Profiling-driven services to tame the heterogeneity of edge applications

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 4