KR20170052266A - Apparatus and Computer Program for Managing Query Path and Data Path - Google Patents
Apparatus and Computer Program for Managing Query Path and Data Path Download PDFInfo
- Publication number
- KR20170052266A KR20170052266A KR1020150154515A KR20150154515A KR20170052266A KR 20170052266 A KR20170052266 A KR 20170052266A KR 1020150154515 A KR1020150154515 A KR 1020150154515A KR 20150154515 A KR20150154515 A KR 20150154515A KR 20170052266 A KR20170052266 A KR 20170052266A
- Authority
- KR
- South Korea
- Prior art keywords
- path
- user
- query
- data analysis
- data
- Prior art date
Links
Images
Classifications
-
- G06F17/30289—
-
- G06F17/30557—
-
- G06F17/30595—
Abstract
Description
본 실시예가 속하는 기술 분야는 질의 및 데이터의 경로를 관리하는 장치 및 컴퓨터 프로그램에 관한 것이다. The technical field to which this embodiment pertains is an apparatus and a computer program for managing the path of a query and data.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information on the present embodiment and do not constitute the prior art.
무선 인터넷 환경과 모바일 기기의 증가로 인해 서비스 사업자가 수집하고 처리해야 하는 데이터의 양이 급증하고 있다. 이러한 대용량 데이터를 분석하고 처리하기 위한 기술 중에는 하둡이 있다. 하둡(Hadoop)은 대량의 자료를 처리할 수 있는 분산된 컴퓨터 클러스터에서 동작하는 자바 소프트웨어 프레임워크(Java Software Framework)이다.Due to the increase of wireless Internet environment and mobile devices, the amount of data that service providers collect and process is increasing rapidly. One of the techniques for analyzing and processing such large amounts of data is Hadoop. Hadoop is a Java Software Framework that runs on distributed computer clusters that can handle large amounts of data.
하둡에서는 사용자가 자바(Java) 프로그래밍을 이용하여 저장된 데이터를 요청한다. 반면에 기존의 관계형 데이터베이스 관리 시스템(Relational Data Base Management System, RDBMS)에서는 사용자가 질의(Query)를 이용하여 저장된 데이터를 요청한다. 따라서 질의에 익숙한 사용자들이 대용량 데이터를 분석하기 위한 도구로써 하둡을 즉시 사용하기에는 어려운 문제점이 있다.In Hadoop, users request stored data using Java programming. On the other hand, in a conventional relational database management system (RDBMS), a user requests stored data using a query. Therefore, there is a problem that it is difficult for users who are familiar with the query to use Hadoop immediately as a tool for analyzing large amounts of data.
이러한 문제점을 해결하기 위해 에스큐엘 온 하둡(SQL on Hadoop)이 등장하였다. 여기서 에스큐엘(Structured Query Language, SQL)은 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 하둡에서 에스큐엘이 사용될 수 있더라도 사용자들이 대용량 데이터를 분석하기 위한 도구로써 하둡을 사용하기에는 다른 문제점이 있다. To solve this problem, SQL on Hadoop appeared. Here, the Structured Query Language (SQL) is a special purpose programming language designed to manage data in a relational database management system. Although Esquel can be used in Hadoop, there are other problems with using Hadoop as a tool for users to analyze large amounts of data.
하둡은 사용자별로 접근 권한을 관리하지 않는다. 반면에 기존의 관계형 데이터베이스 관리 시스템은 사용자별로 접근 권한을 관리한다. 따라서 하둡에서도 사용자별 접근 권한을 관리할 수 있도록 하는 방안이 요구된다.Hadoop does not manage access rights on a per-user basis. On the other hand, the existing relational database management system manages access rights for each user. Therefore, Hadoop needs to be able to manage access rights for each user.
이러한 문제점을 해결하기 위해 프록시서버(Proxy Server)가 사용될 수 있다. 여기서 프록시서버는 사용자 단말과 네트워크 간에 중계 기능을 하는 서버이다. 프록시서버를 사용하면 사용자별로 접근 정책을 적용할 수 있다. 하지만 프록시서버로 질의 및 대용량의 데이터가 집중되어 서버에 부하가 생길 수 있다.To solve this problem, a proxy server can be used. Here, the proxy server is a server that performs a relay function between a user terminal and a network. Proxy servers allow you to enforce access policies on a per-user basis. However, the query server and the large amount of data are concentrated on the proxy server, which can cause a load on the server.
이상에서 언급한 문제점들을 해결한 사용자 권한별로 질의 및 데이터의 경로를 관리하는 장치 및 컴퓨터 프로그램은 아직 구현되지 못한 실정이다.A device and a computer program for managing a query and data path by user authority solving the above-mentioned problems have not been implemented yet.
본 발명의 발명자는 대용량 데이터를 분석하기 위한 도구로써 기존의 하둡 시스템이 갖는 문제점을 인식하여, 하둡 시스템에서 질의를 이용하고 사용자별로 데이터에 접근할 수 있는 권한을 관리하고자 한다.The inventor of the present invention recognizes the problems of existing Hadoop system as a tool for analyzing large amounts of data and manages the authority to access the data on a per user basis using a query in the Hadoop system.
본 발명의 실시예들은 사용자 질의장치가 질의를 전달하는 질의 경로와 사용자 질의장치가 질의결과를 전달받는 데이터 경로를 분리함으로써, 사용자별로 데이터에 접근할 수 있는 권한을 관리하면서도 사용자의 질의를 고속대량으로 처리하는 데 발명의 주된 목적이 있다.Embodiments of the present invention are directed to a method and apparatus for managing a query by a user query device by separating a query path through which a query is transmitted and a data path through which a user query device receives a query result, The main purpose of the invention is to process.
본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.Other and further objects, which are not to be described, may be further considered within the scope of the following detailed description and easily deduced from the effects thereof.
본 실시예의 일 측면에 의하면, 사용자 질의(Query)장치 및 분산된 경로(Path) 연결장치와 각각 연결되며, 상기 사용자 질의장치와 상기 분산된 경로 연결장치 간의 경로를 관리하는 장치에 있어서, 상기 사용자 질의장치로부터 제1경로를 이용하여 수신된 질의를 분석하고 사용자의 계정이 상기 질의에 의한 데이터 접근이 가능한지 여부를 판단하는 사용자 권한분석기(User Authority Analyzer), 상기 분산된 경로 연결장치에 각각 연결된 분산된 데이터 분석장치 중에서 상기 질의의 처리를 위한 적어도 하나의 데이터 분석장치를 결정하는 자원 관리기(Resource Manager), 및 상기 사용자 질의장치와 상기 적어도 하나의 데이터 분석장치 간의 연결을 위한 제2경로에 관한 정보를 상기 사용자 질의장치로 전달하는 경로 재지정기(Path Redirector)를 포함하는 사용자 권한별 경로 관리장치를 제공한다.According to an aspect of the present invention, there is provided an apparatus for managing a path between a user query apparatus and a distributed path connection apparatus, the apparatus being connected to a user query apparatus and a distributed path connection apparatus, A User Authority Analyzer for analyzing a query received from a querying device using a first path and determining whether the user's account can access data by the query, A resource manager (Resource Manager) for determining at least one data analysis device for processing the query from among the plurality of data analysis devices, and information about a second path for connection between the user query device and the at least one data analysis device And a path redirector for transferring the user data to the user query device And provides a route management apparatus.
본 실시예의 다른 측면에 의하면, 사용자 권한별 경로 관리장치 및 데이터 분석장치와 각각 연결되며, 사용자 질의장치와 상기 데이터 분석장치 간에 경로를 연결하는 장치에 있어서, 상기 데이터 분석장치의 자원상황정보를 상기 사용자 권한별 경로 관리장치로 보고하는 자원상황 보고기(Resource Status Reporter), 및 상기 사용자 질의장치를 상기 데이터 분석장치에 제2경로를 이용하여 연결하는 경로 연결기(Path Connector)를 포함하는 경로 연결장치를 제공한다.According to another aspect of the present invention, there is provided an apparatus for connecting a path between a user query apparatus and a data analysis apparatus, the apparatus being connected to a path management apparatus and a data analysis apparatus according to a user authority, And a path connector for connecting the user query device to the data analysis device by using a second path, the resource status report device reporting the data to the path management device according to the user authority, Lt; / RTI >
본 실시예의 다른 측면에 의하면, 프로세서에 의해 실행 가능한 컴퓨터 프로그램 명령어들을 포함하는 유형의(Tangible) 컴퓨터 판독 가능한 기록매체에 기록된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램 명령어들이 상기 프로세서에 의해 실행되는 경우에, 사용자 질의장치 및 분산된 경로 연결장치에 각각 연결하는 과정, 상기 사용자 질의장치로부터 제1경로를 이용하여 수신된 질의를 분석하고 사용자의 계정이 데이터에 접근 가능한지 여부를 판단하는 과정, 상기 사용자의 계정이 데이터에 접근 가능한 경우, 상기 분산된 경로 연결장치에 각각 연결된 분산된 데이터 분석장치 중에서 적어도 하나의 데이터 분석장치를 결정하는 과정, 및 상기 사용자의 계정이 데이터에 접근 가능한 경우, 상기 사용자 질의장치와 상기 적어도 하나의 데이터 분석장치 간의 연결을 위한 제2경로에 관한 정보를 상기 사용자 질의장치로 전달하는 과정을 포함한 동작들을 수행하는 컴퓨터 프로그램을 제공한다.According to another aspect of this embodiment, there is provided a computer program recorded on a tangible computer-readable medium including computer program instructions executable by a processor, wherein, when the computer program instructions are executed by the processor, Analyzing the query received from the user query device using the first path and determining whether the user's account is accessible to the data, determining whether the user's account is accessible to the user's query device and the distributed path connection device, Determining at least one data analysis apparatus among the distributed data analysis apparatuses connected to the distributed path connection apparatus when the data can be accessed; and if the user's account is accessible to the user, The at least one data analysis And transferring information on a second path for connection between the devices to the user query device.
본 실시예의 다른 측면에 의하면, 프로세서에 의해 실행 가능한 컴퓨터 프로그램 명령어들을 포함하는 유형의(Tangible) 컴퓨터 판독 가능한 기록매체에 기록된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램 명령어들이 상기 프로세서에 의해 실행되는 경우에, 사용자 권한별 경로 관리장치 및 데이터 분석장치에 각각 연결하는 과정, 상기 데이터 분석장치의 자원상황정보를 상기 사용자 권한별 경로 관리장치로 보고하는 과정, 및 상기 사용자 질의장치가 제2경로 연결을 요청하는 경우, 상기 사용자 질의장치를 상기 제2경로를 이용하여 상기 데이터 분석장치에 연결하는 과정을 포함한 동작들을 수행하는 컴퓨터 프로그램을 제공한다.According to another aspect of this embodiment, there is provided a computer program recorded on a tangible computer-readable medium including computer program instructions executable by a processor, wherein, when the computer program instructions are executed by the processor, The method comprising the steps of: connecting to the path management apparatus for each user right and the data analysis apparatus; reporting resource status information of the data analysis apparatus to the path management apparatus according to the user authority; And connecting the user query device to the data analysis device using the second path.
이상에서 설명한 바와 같이 본 발명의 실시예들에 의하면, 사용자 질의장치가 질의를 전송하기 위한 질의 경로와 질의결과를 전달받기 위한 데이터 경로를 분리함으로써, 사용자 권한을 확인하면서도 사용자의 질의결과를 고속대량으로 전달할 수 있는 효과가 있다.As described above, according to the embodiments of the present invention, the user query apparatus separates the query path for transmitting the query and the data path for receiving the query result, And the like.
여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급된다.Even if the effects are not expressly mentioned here, the effects described in the following specification which are expected by the technical characteristics of the present invention and their potential effects are handled as described in the specification of the present invention.
도 1은 본 발명의 실시예들에 따른 데이터 분석 시스템을 예시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 사용자 권한별 경로 관리장치를 예시한 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 경로 연결장치를 예시한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 사용자 권한별 경로 관리장치의 동작을 예시한 흐름도이다.
도 5는 본 발명의 다른 실시예에 따른 경로 연결장치의 동작을 예시한 흐름도이다.
도 6은 본 발명의 실시예들에 따른 데이터 분석 시스템의 동작을 예시한 흐름도이다.1 is a block diagram illustrating a data analysis system in accordance with embodiments of the present invention.
2 is a block diagram illustrating a path management apparatus according to an embodiment of the present invention.
3 is a block diagram illustrating a path connection device according to another embodiment of the present invention.
4 is a flowchart illustrating an operation of a path management apparatus according to an embodiment of the present invention.
5 is a flowchart illustrating an operation of the path connecting apparatus according to another embodiment of the present invention.
Figure 6 is a flow chart illustrating the operation of a data analysis system in accordance with embodiments of the present invention.
이하, 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하고, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Will be described in detail with reference to exemplary drawings.
도 1은 본 발명의 실시예들에 따른 데이터 분석 시스템을 예시한 블록도이다. 도 1에 도시한 바와 같이, 본 실시예들에 따른 데이터 분석 시스템은 사용자 질의장치(110), 사용자 인증장치(120), 사용자 권한별 경로 관리장치(130), 분산된 경로 연결장치(140, 142, 144), 및 분산 시스템(150)을 전부 또는 일부 포함한다.1 is a block diagram illustrating a data analysis system in accordance with embodiments of the present invention. 1, the data analysis system according to the present embodiment includes a
데이터 분석 시스템은 대용량 데이터를 분석하고 처리하는 시스템이다. 데이터 분석 시스템은 크게 사용자가 분산 시스템(150)에 접근할 수 있는 장치와 데이터를 분산 처리하는 분산 시스템(150)으로 나눌 수 있다. 사용자가 필요한 정보를 분산 시스템(150)에 요청하면, 분산 시스템(150)이 대용량 데이터를 여러 개의 장치에 분산하여 저장하고 처리한다. 그리고 분산 시스템(150)은 분석한 결과를 사용자에게 전송한다.Data analysis systems are systems that analyze and process large amounts of data. The data analysis system can be roughly divided into a device that allows a user to access the
분산 시스템(150)은 특정한 기능을 수행하는 복수의 모듈들로 구성된 프레임워크로 구현될 수 있다. 분산 시스템(150)은 대용량 데이터를 저장하기 위한 모듈과 대용량 데이터를 처리하기 위한 모듈을 포함할 수 있다. 분산 시스템의 예로는 아파치 소프트웨어 재단(Apache Software Foundation, ASF)에서 배포하는 하둡 등이 있다. 대용량 데이터를 저장하기 위한 모듈의 예로는 하둡 분산 파일 시스템(Hadoop Distributed File System, HDFS)이 있고, 대용량 데이터를 처리하기 위한 모듈의 예로는 맵 리듀스(Map Reduce, MR)가 있으나 이에 한정되는 것은 아니다.The
분산 시스템(150)은 분산 시스템(150)의 범용성을 높이기 위해서 자원을 관리할 수 있는 모듈을 포함할 수 있다. 자원을 관리할 수 있는 모듈의 예로는 얀(YARN)이 있으나 이에 한정되는 것은 아니다. 예시한 얀(YARN)을 이용하면 맵리듀스 이외에 테즈(Tez), 스파크(Spark) 등의 다양한 데이터 처리 모듈을 이용하여 대용량 데이터를 분산 처리할 수 있다.The
분산 시스템(150)은 데이터베이스 모듈을 포함할 수 있다. 데이터베이스 모듈의 예로는 에이치베이스(HBase), 카산드라(Cassandra), 몽고디비(Mongo DB) 등이 있으나 이에 한정되는 것은 아니다.The
분산 시스템(150)은 질의를 사용하기 위한 모듈을 포함할 수 있다. 질의를 사용하기 위한 모듈의 예로는 하이브(Hive), 임팔라(Impala), 프레스토(Presto), 드릴(Drill) 등이 있으나 이에 한정되는 것은 아니다.The
분산 시스템(150)은 분산된 데이터 분석장치(160, 162, 164)를 포함한다. 데이터 분석장치(160, 162, 164)는 분산 시스템(150)이 대용량 데이터를 분산 처리를 하기 위한 장치로서, 컴퓨터 등으로 구현될 수 있다. 도 1에서는 설명의 편의를 위해, 분산된 데이터 분석장치(160, 162, 164)를 세개로 도시하였으나 데이터 분석장치의 개수는 하나이상을 의미한다.The
분산된 데이터 분석장치(160, 162, 164) 각각은 클러스터 또는 노드가 될 수 있다. 여기서 클러스터는 특정 기능을 수행하기 위해서 상호 연결된 여러 대의 컴퓨터 집합이고, 노드는 클러스터를 구성하는 개별 컴퓨터이다.Each of the distributed
분산된 데이터 분석장치(160, 162, 164)는 마스터 및 슬레이브 구조가 될 수 있다. 여기서 마스터 및 슬레이브 구조는 하나의 마스터 데이터 분석장치에 하나이상의 슬레이브 분석장치가 연결된 구조이다. 하나의 마스터 데이터 분석장치에 연결된 하나이상의 슬레이브 분석장치들이 대용량 데이터를 분산하여 저장하고 분산하여 처리한다. 도 1에서는 마스터 및 슬레이브 구조를 도시하지 않았으나, 분산된 데이터 분석장치(160, 162, 164) 각각은 마스터 데이터 분석장치가 될 수 있고, 슬레이브 데이터 분석장치가 될 수도 있다.The distributed
설명의 편의를 위해 하둡을 예로 들어 설명하면, 하둡 분산 파일 시스템(HDFS)은 마스터인 네임노드(Namenode)와 슬레이브인 데이터노드(Datanode)를 포함하고 데이터노드들이 파일을 분할하여 저장한다. 맵 리듀스(MR)는 마스터인 잡 트래커(Job Tracker)와 슬레이브인 태스크 트래커(Task Tracker)를 포함하고 태스크 트래커들이 작업을 분할하여 처리한다.For the sake of convenience, the Hadoop distributed file system (HDFS) includes a master node Namenode and a slave data node (Datanode), and the data nodes divide and store the file. MapReduce (MR) includes job tracker (master) and task tracker (slave), and task trackers divide and process the task.
이러한 구조로 인하여 분산 시스템(150)은 기가바이트(Gigabyte), 테라바이트(Terabyte), 페타바이트(Petabyte) 등의 대용량 데이터를 저장하고 처리하는 것이 가능하다.Due to this structure, the distributed
사용자 질의장치(110)는 사용자가 데이터가 있는 시스템으로 질의를 전송하고 질의결과를 전달받는 장치이다. 다시 말해, 사용자 질의장치(110)는 다른 컴퓨터에 접속할 수 있는 도구로써, 일종의 클라이언트(Client)라고 할 수 있다. 질의는 데이터베이스 또는 정보시스템에 정보를 요청하기 위한 명령이다. 이러한 질의의 대표적인 예로는 에스큐엘(SQL)이 있으나 이에 한정되는 것은 아니다.The
사용자 질의장치(110)는 태블릿(Tablet), 랩탑(Lap Top), 개인용컴퓨터(Personal Computer, PC), 스마트폰(Smart Phone), 개인정보단말기(Personal Digital Assistant, PDA), 이동통신 단말기(Mobile Communication Terminal) 등으로 구현될 수 있으나 반드시 이에 한정되는 것은 아니다.The
사용자 질의장치(110)는 비즈니스 인텔리전스 툴(Business Intelligence Tool), 웹 애플리케이션(Web Application), 응용프로그램(Application Program) 등을 이용하여 데이터 분석을 위한 질의를 전송할 수 있다.The
사용자 인증장치(120)는 사용자의 신원을 확인하는 장치이다. 사용자 인증장치(120)는 사용자 질의장치(110)에 연결된다. 사용자 인증장치(120)는 사용자 질의장치(120)로부터 사용자에 관한 정보 및 사용자 질의장치(110)에 관한 정보를 이용하여 인증(Authentication) 절차를 수행한다. 사용자에 관한 정보의 예로는 사용자 계정, 및 패스워드 등이 있을 수 있고, 사용자 질의장치(110)에 관한 정보의 예로는 장치 고유의 식별정보 등이 있을 수 있다. 사용자 인증장치(120)는 싱글 사인 온(Single Sign On, SSO)을 이용하여 인증 절차를 수행할 수 있다. 싱글 사인 온(SSO)은 한 번의 로그인으로 각각의 시스템에 접속할 수 있게 하는 인증방식이다.The
사용자 권한별 경로 관리장치(130)는 사용자가 데이터에 접근할 수 있는 권한이 있는지 여부를 확인하고, 사용자 질의장치(110)와 분산된 경로 연결장치(140, 142, 144) 간의 경로를 관리하는 장치이다. 사용자 권한별 경로 관리장치(130)는 사용자 질의장치(110)에 연결된다.The user authority-specific
사용자 질의장치(110)는 제1경로(10)를 이용하여 사용자 권한별 경로 관리장치(130)로 질의를 전송하게 된다. 사용자 권한별 경로 관리장치(130)는 사용자의 질의를 분석하여 사용자 권한을 확인할 수 있다.The
그러나 사용자 권한을 확인한 후 사용자 질의장치(110)가 질의결과를 다시 동일한 제1경로(10)로 수신하게 되면 분산 시스템을 이용하더라도 대용량 데이터의 전송 속도 저하가 발생할 수 있다.However, if the
본 실시예들에 따르면 사용자 질의장치(110)가 제1경로(10)를 이용하여 질의를 전달하고, 사용자 질의장치(110)가 제2경로(20)를 이용하여 데이터를 전달받을 수 있다. 다시 말해, 질의 경로와 데이터 경로를 분리함으로써 본 실시예들은 사용자의 질의결과를 고속대량으로 전달할 수 있는 효과를 발생시킨다.According to the present embodiments, the
제1경로(10)는 질의 전달을 위한 경로일 수 있고, 제2경로(20)는 데이터 전달을 위한 경로일 수 있다.The
제1경로(10)는 사용자 질의장치(110)와 사용자 권한별 경로 관리장치(130) 간의 연결을 위한 경로이고, 제2경로(20)는 사용자 질의장치(110)와 데이터 분석장치 간의 연결을 위한 경로이다. 제2경로(20)는 사용자 질의장치(110)와 데이터 분석장치 간에 직접 연결될 수도 있고, 경로 연결장치를 중계하여 연결될 수도 있다. 설명의 편의를 위해 도 1에서는 제2경로가 경로 연결장치를 중계하여 연결되었으나 이에 한정되는 것은 아니다. The
분산된 경로 연결장치(140, 142, 144)는 분산된 데이터 분석장치(160, 162, 164)에 연결된다. 도 1에서는 설명의 편의를 위해 경로 연결장치1(140)과 데이터 분석장치1(160)을 연결하고, 경로 연결장치2(142)과 데이터 분석장치2(162)를 연결하고, 경로 연결장치M(M은 자연수, 144)과 데이터 분석장치N(N은 자연수, 160)을 연결하였으나 반드시 하나의 경로 연결장치와 하나의 데이터분석장치 간에 연결되는 것은 아니고, 하나이상의 경로 연결장치와 하나이상의 데이터분석장치가 상호 연결될 수도 있다.The distributed
설명의 편의를 위해 경로 연결장치1(140)과 경로 연결장치2(142)을 예로 들어 설명하면, 경로 연결장치1(140)은 사용자 질의장치(110)와 데이터 분석장치1(160)을 연결할 수 있고, 경로 연결장치2(142)는 사용자 질의장치(110)와 데이터 분석장치2(162)를 연결할 수 있다. 이는 예시일 뿐 분산된 경로 연결장치(140, 142, 144)가 사용자 질의장치(110)를 분산된 데이터 분석장치(160, 162, 164)에 연결하는 형태가 이에 한정되는 것은 아니다.For convenience of explanation, the path connection device 1 140 and the
도 2는 본 발명의 일 실시예에 따른 사용자 권한별 경로 관리장치를 예시한 블록도이다. 도 2에 도시한 바와 같이, 본 실시예에 따른 사용자 권한별 경로 관리장치는 사용자 권한분석기(User Authority Analyzer, 210), 자원 관리기(Resource Manager, 220), 경로 재지정기(Path Redirector, 230), 및 질의 전달기(Query Transmitter, 240)를 전부 또는 일부 포함한다.2 is a block diagram illustrating a path management apparatus according to an embodiment of the present invention. 2, the user authority path management apparatus according to the present embodiment includes a
사용자 권한분석기(210)는 사용자가 데이터에 접근할 수 있는 권한이 있는지 여부를 확인하는 유닛(Unit)이다. 사용자 권한분석기(210)는 제1경로(10)를 이용하여 사용자 질의장치(110)에 연결된다. 사용자 권한분석기(210)는 사용자 질의장치(110)로부터 제1경로(10)를 이용하여 수신된 질의를 분석하고 사용자의 계정이 질의에 의한 데이터 접근이 가능한지 여부를 판단한다. The
사용자 권한분석기(210)는 접근 제어 목록(Access Control List, ACL)을 이용하여 권한(Authorization)을 관리할 수 있다. 접근 제어 목록은 데이터에 대한 접근이 허가된 사용자 및 사용자에게 허가된 데이터에 관한 접근 권한들이 기록된 목록이다. 접근 제어 목록은 사용자에 관한 정보 및 데이터에 관한 정보를 포함할 수 있다. 사용자에 관한 정보의 예로는 그룹 등이 있을 수 있고, 데이터에 관한 정보의 예로는 읽기 및 쓰기 등의 권한이 있을 수 있다.The
자원 관리기(220)는 분산 시스템(150)의 자원을 관리하고 여유있는 자원을 데이터 분석장치를 결정하는 유닛이다. 자원 관리기(220)는 분산된 경로 연결장치(140, 142, 144)에 각각 연결된다. 자원 관리기(220)는 분산된 경로 연결장치(140, 142, 144)를 이용하여 분산된 데이터 분석장치(160, 162, 164)의 자원상황정보를 수집한다. 이로 인하여 자원 관리기(220)는 분산된 데이터 분석장치(160, 162, 164)의 자원에 대한 경쟁을 모니터링할 수 있다. The
자원 관리기(220)는 분산된 경로 연결장치(140, 142, 144)에 각각 연결된 분산된 데이터 분석장치(160, 162, 164) 중에서 질의의 처리를 위한 적어도 하나의 데이터 분석장치를 결정한다. The
자원 관리기(220)는 분산된 데이터 분석장치(160, 162, 164)의 자원상황정보, 사용자의 질의유형, 사용자와 적어도 하나의 데이터 분석장치 간의 커넥션 풀(Connection Pool), 및 사용자의 로그 등을 근거하여 분산된 데이터 분석장치(160, 162, 164) 중에서 질의의 처리를 위한 적어도 하나의 데이터 분석장치를 결정할 수 있다. 예컨대, 결정된 적어도 하나의 데이터 분석장치는 데이터분석장치1(160)일 수 있으나 이에 한정되는 것은 아니다.The
자원 관리기(220)는 분산된 데이터 분석장치(160, 162, 164)의 자원상황정보에 근거하여 분산된 데이터 분석장치(160, 162, 164) 중에서 질의의 고속처리가 가능한 적어도 하나의 데이터 분석장치를 결정할 수 있다. 여기서 자원상황정보는 물리적 자원(Physical Resource) 또는 커넥션 풀(Connection Pool) 등에 관한 정보이다. The
자원 관리기(220)는 데이터분석장치의 물리적 자원 중 적어도 하나, 예를 들면 메모리 등에 관한 정보를 모니터링할 수 있다. 물리적 자원은 데이터 분석장치의 자원이다. 컴퓨터를 예로 들면 씨피유(CPU), 디스크(Disk), 메모리(Memory), 및 네트워크(Network) 등이 있을 수 있다. 자원 관리기(220)는 분산된 데이터 분석장치(160, 162, 164) 중에서 물리적 자원에 여유가 있는 데이터분석장치를 결정할 수 있다.The
자원 관리기(220)는 데이터분석장치의 커넥션 풀을 모니터링할 수 있다. 커넥션 풀은 데이터베이스 연결들로 된 하나의 풀(Pool)이다. 데이터베이스 연결들을 예로 들면, 복수개의 제2경로가 있다. 자원 관리기(220)는 분산된 데이터 분석장치(160, 162, 164) 중에서 커넥션 풀에 여유가 있는 데이터분석장치를 결정할 수 있다.The
자원 관리기(220)는 질의유형별에 근거하여 분산된 데이터 분석장치(160, 162, 164) 중에서 질의의 처리를 위한 적어도 하나의 데이터 분석장치를 결정할 수 있다. 자원 관리기(220)는 사용자 권한분석기(210)에 의해 분석된 질의를 다양한 유형으로 나눈다. 자원 관리기(220)는 질의유형을 이용하여 분산된 데이터 분석장치(160, 162, 164) 중에서 질의의 처리를 위한 데이터 분석장치를 결정할 수 있다.The
자원 관리기(220)는 질의를 전송한 복수의 사용자 중에서 어느 사용자에게 분산된 데이터 분석장치(160, 162, 164) 중에서 적어도 하나의 데이터분석장치를 연결할지 여부를 결정할 수 있다. 자원 관리기(220)는 사용자 권한분석기(210)에 의해 판단된 사용자의 권한에 근거하여 데이터 분석장치(160, 162, 164) 중에서 질의의 처리를 위한 적어도 하나의 데이터 분석장치를 결정할 수 있다.The
이러한 자원 관리로 인하여 사용자 권한별 경로 관리장치(130)는 사용자 권한을 확인하면서도 사용자의 질의결과를 고속대량으로 처리할 수 있는 데이터 분석장치를 선별할 수 있는 효과를 발생시킨다.Due to such resource management, the
경로 재지정기(230)는 사용자 질의장치(110)가 질의결과를 전달받는 경로를 재지정하는 유닛이다. 경로 재지정기(230)는 사용자 질의장치(110)에 연결된다. 경로 재지정기(230)는 사용자 질의장치(110)와 적어도 하나의 데이터 분석장치 간의 연결을 위한 제2경로(20)에 관한 정보를 사용자 질의장치(110)로 전달한다.The path redeterminer 230 is a unit that redirects the path that the
여기서 제2경로(20)에 관한 정보는 결정된 적어도 하나의 데이터 분석장치의 접속정보를 의미한다. 접속정보의 예로는 통합 자원 식별자(Uniform Resource Identifier, URI)가 있다. 통합 자원 식별자는 인터넷에 있는 자원을 나타내는 유일한 주소이다. 통합 자원 식별자는 프로토콜, 호스트이름, 주소, 및 포트 등을 포함한다.Here, the information on the
이러한 제2경로로 인하여 사용자 권한별 경로 관리장치(130)는 사용자 권한을 확인하면서도 사용자의 질의결과를 고속대량으로 전달할 수 있는 효과를 발생시킨다.Due to the second route, the
질의 전달기(240)는 사용자 질의장치(110)로부터 수신된 질의를 데이터 분석장치로 전달하기 위한 유닛이다. 분산된 데이터 분석장치 각각에 질의를 전달하는 것이 아니라 자원 관리기(220)에 의해 결정된 적어도 하나의 데이터 분석장치로 질의를 전달한다. 질의 전달기(240)는 경로 연결장치에 연결된다.The
질의 전달기(240)는 사용자 질의장치(110)로부터 제1경로(10)를 이용하여 수신된 질의를 자원 관리기(220)에 의해 결정된 적어도 하나의 데이터 분석장치에 연결된 경로 연결장치로 제2경로(20)를 이용하여 전달한다. 예를 들면, 질의 전달기(240)는 사용자 질의장치(110)로부터 데이터 분석장치1(160)에 연결된 경로연결장치1(140)로 질의를 전달한다.The
이러한 질의 전달로 인하여 분산 시스템(150) 또는 분산된 데이터 분석장치(160, 162, 164)에서 사용자의 질의를 활용할 수 있는 효과가 발생한다.Because of this query transmission, a user query can be utilized in the distributed
사용자 권한별 경로 관리장치(130)는 사용자의 계정을 관리할 수 있는 계정 관리기(Account Manager, 미도시)를 추가로 포함할 수 있다. 계정 관리기는 사용자의 자원에 대한 사용 정보를 기록하고 관리한다. 계정 관리기는 로그(Log)를 이용하여 사용자 계정을 관리할 수 있다.The user authority-specific
계정 관리기는 자원 관리기(220)에 연결된다. 자원 관리기(220)는 계정 관리기의 로그를 이용하여 복수의 사용자 중에서 어느 사용자에게 데이터 분석장치를 연결할지 여부를 결정할 수 있다. 자원 관리기(220)는 사용자의 데이터 접근 권한 및 로그를 종합적으로 고려하여 사용자 질의장치(110)에 연결하기 위한 데이터 분석장치를 결정할 수 있다.The account manager is connected to the
사용자의 데이터 접근 권한 및 로그를 종합적으로 고려함으로써, 사용자 권한별 경로 관리장치(130)는 사용자 별로 자원 관리사용자 권한을 확인하면서도 사용자의 질의결과를 고속대량으로 전달할 수 있는 효과를 발생시킨다.By comprehensively considering the data access right and log of the user, the
도 3은 본 발명의 다른 실시예에 따른 경로 연결장치를 예시한 블록도이다. 도 3에 도시한 바와 같이, 본 실시예에 따른 경로 연결장치는 자원상황 보고기(Resource Status Reporter, 310), 경로 연결기(Path Connector, 320), 질의 전달기(Query Transmitter, 330), 및 질의결과 전달기(Query Result Transmitter, 340)를 전부 또는 일부 포함한다.3 is a block diagram illustrating a path connection device according to another embodiment of the present invention. 3, the path connection device according to the present embodiment includes a
자원상황 보고기(310)는 사용자 권한별 경로 관리장치(130)로 데이터 분석장치의 자원상황정보를 보고하는 유닛이다. 자원상황 보고기(310)는 사용자 권한별 경로 관리장치(130)의 자원 관리기(220)에 연결된다. 여기서 자원상황정보는 물리적 자원(Physical Resource) 또는 커넥션 풀(Connection Pool) 등에 관한 정보이다. The resource
자원상황 보고기(310)는 데이터분석장치의 물리적 자원 중 적어도 하나를 모니터링할 수 있다. 데이터 분석장치의 자원에는 씨피유(CPU), 디스크(Disk), 메모리(Memory), 및 네트워크(Network) 등이 있을 수 있다. 자원상황 보고기(310)는 데이터 분석장치의 자원상황정보를 사용자 권한별 경로 관리장치(130)로 보고한다.The
자원상황 보고기(310)는 커넥션 풀을 모니터링할 수 있다. 자원상황 보고기(310)는 커넥션 풀에 관한 정보를 사용자 권한별 경로 관리장치(130)로 보고한다. 즉, 자원상황 보고기(310)는 복수의 제2경로에 관한 정보를 사용자 권한별 경로 관리장치(130)로 보고한다.The
이러한 커넥션 풀로 인하여 경로 연결장치(140)는 사용자 질의장치(110)에 연결하기 위한 제2경로를 새로 생성할 필요가 없게 되는 효과를 발생시킨다. 게다가 커넥션은 재사용이 가능하므로 연결 속도를 향상시키는 효과를 발생시킨다. 한편, 경로 연결장치(140)는 커넥션의 개수 조절이 가능하여 연결을 요청하는 사용자가 증가하더라고 분산 시스템(150)의 안정성을 향상시키는 효과를 발생시킨다.This connection pool creates an effect that the
경로 연결기(320)는 사용자 질의장치(110)와 데이터 분석장치를 연결해주는 유닛이다. 경로 연결기(320)는 사용자 질의장치(110)를 데이터 분석장치에 제2경로(20)를 이용하여 연결한다. 여기서 제2경로(20)는 데이터 전달을 위한 경로이다. 질의의 개수에 맞게 제2경로(20)는 복수개가 가능하다.The
도 1에서는 제2경로(20)는 사용자 질의장치(110)로부터 경로 연결장치로 연결되도록 도시하였으나 사용자 질의장치(110)로부터 데이터 분석장치로 연결될 수도 있다. 다시 말해, 경로 연결기(320)는 사용자 질의장치(110)를 제2경로(20)를 이용하여 데이터 분산장치에 직접 연결하거나 중계 연결할 수 있다.In FIG. 1, the
질의 전달기(330)는 분산 시스템으로 전달하기 위한 유닛이다. 질의 전달기(330)는 사용자 권한별 경로 관리장치(130) 및 데이터 분석장치에 각각 연결된다. 질의 전달기(330)는 사용자 권한별 경로 관리장치(130)로부터 수신된 질의를 데이터 분석장치로 전달한다. 예컨대, 경로 연결장치1(140)은 데이터 분석장치1(160)로 질의를 전달할 수 있다.The
이러한 질의 전달로 인하여 분산 시스템(150) 또는 분산된 데이터 분석장치(160, 162, 164)가 사용자의 질의를 활용할 수 있는 효과가 발생한다.The transmission of the query results in an effect that the distributed
질의결과 전달기(340)는 사용자 질의장치(110)로 질의결과를 전달하는 유닛이다. 질의결과 전달기(340)는 사용자 질의장치(110) 및 데이터 분석장치에 각각 연결된다. 질의결과 전달기(340)는 데이터 분석장치로부터 수신된 질의결과를 제2경로(20)를 이용하여 사용자 질의장치로 전달할 수 있다.The query result
여기서 질의결과는 질의에 맞게 추출된 데이터로서, 대용량 데이터가 될 수 있다. 질의결과는 데이터 분석장치에 저장된 원 데이터(raw data) 또는 분석된 데이터일 수 있다. 설명의 편의를 위해 데이터베이스가 에이치베이스(HBase)인 경우를 예로 들면, 질의결과는 로우(Row), 컬럼(Column), 및 타임스탬프(Timestamp) 등을 포함하는 테이블일 수 있다.Here, the query result is data extracted in accordance with the query, and can be a large amount of data. The query result may be raw data or analyzed data stored in the data analysis device. For convenience of explanation, when the database is HBase, for example, the query result may be a table including a row, a column, and a timestamp.
이러한 제2경로로 인하여 사용자 권한별 경로 관리장치(130)는 사용자 권한을 확인하면서도 사용자의 질의결과를 고속대량으로 전달할 수 있는 효과가 발생한다.Due to the second route, the
이하에서는 도 4 내지 도 6을 참조하여 본 발명의 실시예들에 따른 사용자 권한별 경로 관리장치 및 경로 연결장치의 동작을 설명한다. 도 4는 본 발명의 일 실시예에 따른 사용자 권한별 경로 관리장치의 동작을 예시한 흐름도이다.Hereinafter, the operation of the path management apparatus and path connection device according to the embodiments of the present invention will be described with reference to FIGS. 4 to 6. FIG. 4 is a flowchart illustrating an operation of a path management apparatus according to an embodiment of the present invention.
과정 S410에서는 사용자 권한별 경로 관리장치(130)가 사용자 질의장치 및 분산된 경로 연결장치에 각각 연결한다. 과정 S420에서는 사용자 권한별 경로 관리장치(130)가 사용자 질의장치(110)로부터 제1경로를 이용하여 수신된 질의를 분석하고 사용자의 계정이 데이터에 접근 가능한지 여부를 판단한다.In step S410, the user authority-specific
사용자의 계정이 데이터에 접근 가능한 경우, 사용자 권한별 경로 관리장치(130)는 사용자 질의장치(110)에게 접근 권한 있음을 응답한다(S430). 사용자의 계정이 데이터에 접근 가능하지 않는 경우, 사용자 권한별 경로 관리장치(130)는 사용자 질의장치(110)에게 접근 권한 없음을 응답한다(S440). If the user's account is accessible to the data, the
사용자의 계정이 데이터에 접근 가능한 경우, 사용자 권한별 경로 관리장치(130)는 분산된 경로 연결장치에 각각 연결된 분산된 데이터 분석장치 중에서 질의의 처리를 위한 적어도 하나의 데이터 분석장치를 결정한다(S450). 사용자 권한별 경로 관리장치(130)는 분산된 데이터 분석장치의 자원상황정보, 사용자의 질의유형, 사용자와 데이터 분석장치 간의 커넥션 풀(Connection Pool), 및 사용자 로그 등을 근거하여 질의의 고속처리가 가능한지 여부를 판단할 수 있다. 예컨대, 사용자 권한별 경로 관리장치(130)는 사용자의 질의를 처리하기 위한 데이터 분석장치를 데이터 분석장치1(160)로 결정할 수 있다.When the user's account is accessible to the data, the user authority-specific
사용자의 계정이 데이터에 접근 가능한 경우, 사용자 권한별 경로 관리장치(130)는 사용자 질의장치(110)로부터 수신된 질의를 결정된 적어도 하나의 데이터 분석장치에 연결된 경로 연결장치로 전달한다(S460). 예컨대, 사용자 권한별 경로 관리장치(130)는 경로 연결장치1(140)로 질의를 전달한다.When the user's account is accessible, the
사용자의 계정이 데이터에 접근 가능한 경우, 사용자 권한별 경로 관리장치(130)는 사용자 질의장치(110)와 결정된 적어도 하나의 데이터 분석장치 간의 연결을 위한 제2경로에 관한 정보를 사용자 질의장치(110)로 전달한다(S470).When the user's account is accessible to the data, the user authority-specific
도 5는 본 발명의 다른 실시예에 따른 경로 연결장치의 동작을 예시한 흐름도이다.5 is a flowchart illustrating an operation of the path connecting apparatus according to another embodiment of the present invention.
과정 S510에서는 경로 연결장치가 사용자 권한별 경로 관리장치 및 데이터 분석장치에 각각 연결한다. 과정 S520에서는 경로 연결장치가 데이터 분석장치의 자원상황정보를 사용자 권한별 경로 관리장치(130)로 보고한다.In step S510, the path connection device is connected to the path management device for each user right and the data analysis device. In step S520, the path connection device reports the resource status information of the data analysis device to the
설명의 편의를 위해 사용자의 질의를 처리하기 위한 데이터 분석장치가 데이터 분석장치1(160)로 결정된 경우를 예로 들어 설명한다. 사용자 질의장치(110)가 제2경로 연결을 요청하는 경우, 경로 연결장치1(140)은 제2경로를 이용하여 사용자 질의장치(110)를 데이터 분석장치1(160)에 연결한다(S540). 경로 연결장치1(140)은 데이터 분석장치1(160)로부터 수신된 질의결과를 사용자 질의장치(110)로 전달한다(S550). 사용자 질의장치(110)로 데이터 분석장치1(160)의 질의결과 전달이 완료되면, 경로 연결장치1(140)은 사용자 권한별 경로 관리장치(130)로 질의결과 전달 완료를 보고한다(S560).For convenience of explanation, a case where the data analysis apparatus 1 (160) determines a data analysis apparatus for processing a user query will be described as an example. When the
도 6은 본 발명의 실시예들에 따른 데이터 분석 시스템의 동작을 예시한 흐름도이다.Figure 6 is a flow chart illustrating the operation of a data analysis system in accordance with embodiments of the present invention.
데이터 분석 시스템의 동작은 사용자를 인증하는 과정, 사용자의 데이터 접근 권한 유무를 판단하는 과정, 데이터 분석장치의 자원상황을 관리하는 과정, 사용자의 질의를 데이터 분석장치로 전달하는 과정, 및 질의결과를 사용자 질의장치로 전달하는 과정을 포함한다.The operation of the data analysis system includes a process of authenticating the user, a process of determining whether the user has the right to access data, a process of managing the resource situation of the data analysis device, a process of transmitting the query of the user to the data analysis device, To the user query device.
사용자를 인증하는 과정에서는 사용자 질의장치(110) 및 사용자 인증장치(120)가 동작을 수행한다. 사용자 질의장치(110)는 사용자 인증장치(120)로 사용자 인증을 요청한다(S610). 사용자 인증장치(120)는 사용자 계정, 패스워드, 및 장치 고유의 식별정보 등을 이용하여 인증 절차를 수행할 수 있다. 사용자 인증장치(120)는 사용자 질의장치(110)로 인증 결과 전달한다(S612).In the process of authenticating a user, the
사용자의 데이터 접근 권한 유무를 판단하는 과정에서는 사용자 질의장치(110) 및 사용자 권한별 경로 관리장치(130)가 동작을 수행한다. 사용자 질의장치(110)는 사용자 권한별 경로 관리장치(130)로 제1경로를 이용하여 질의를 전송한다(S620). 사용자 권한별 경로 관리장치(130)는 수신된 질의를 분석하여 사용자의 계정이 데이터에 접근이 가능한지 여부를 판단한다(S420). 사용자 권한별 경로 관리장치(130)는 사용자 질의장치(110)로 접근 권한 유무를 응답한다(S622).In the process of determining whether or not the user has the data access right, the
데이터 분석장치의 자원상황을 관리하는 과정은 사용자 권한별 경로 관리장치(130), 분산된 경로 연결장치(140, 142, 144), 및 분산된 데이터 분석장치(160, 162, 164)가 동작을 수행한다. 분산된 데이터 분석장치(160, 162, 164)는 분산된 경로 연결장치(140, 142, 144)로 데이터 분석장치의 자원상황정보를 보고한다(S512). 분산된 경로 연결장치(140, 142, 144)는 사용자 권한별 경로 관리장치(130)로 데이터 분석장치의 자원상황정보를 보고한다(S512). 사용자 권한별 경로 관리장치(130)는 분산된 데이터 분석장치의 자원상황정보 등에 근거하여 질의를 수행한 적어도 하나의 데이터 분석장치를 결정한다(S450).The process of managing the resource status of the data analysis apparatus is performed by the user authority-specific
이러한 자원 관리로 인하여 사용자 권한별 경로 관리장치(130)는 사용자 권한을 확인하면서도 사용자의 질의결과를 고속대량으로 처리할 수 있는 데이터 분석장치를 선별할 수 있는 효과를 발생시킨다.Due to such resource management, the
사용자의 질의를 데이터 분석장치로 전달하는 과정은 사용자 질의장치(110), 사용자 권한별 경로 관리장치(130), 사용자 권한별 경로 관리장치(130)에 의해 결정된 데이터 분석장치1(160)에 연결된 경로 연결장치1(140), 및 사용자 권한별 경로 관리장치(130)에 의해 결정된 데이터 분석장치1(160)가 동작을 수행한다.The process of transmitting the user's query to the data analysis apparatus is connected to the data analysis apparatus 1 160 determined by the
도 6에서는 데이터 분석장치1(160)을 사용자 권한별 경로 관리장치(130)에 의해 결정된 데이터 분석장치로, 경로 연결장치1(140)을 예시적으로 사용자 권한별 경로 관리장치(130)에 의해 결정된 데이터 분석장치에 연결된 경로연결장치로 예시하였으나 이에 한정되는 것은 아니다.In FIG. 6, the data analysis apparatus 1 (160) is connected to the data analysis apparatus determined by the user authority-specific
사용자 질의장치(110)는 사용자 권한별 경로 관리장치(130)로 제1경로를 이용하여 질의를 전송한다(S620). 사용자 권한별 경로 관리장치(130)는 경로 연결장치(140)로 질의를 전달한다(S460). 경로 연결장치(140)는 데이터 분석장치로 질의를 전달한다(S640).The
이러한 질의 전달로 인하여 분산 시스템(150) 또는 분산된 데이터 분석장치(160, 162, 164)가 사용자의 질의를 활용할 수 있는 효과가 발생한다.The transmission of the query results in an effect that the distributed
질의결과를 사용자 질의장치로 전달하는 과정에서는 사용자 질의장치(110), 사용자 권한별 경로 관리장치(130), 경로 연결장치, 데이터 분석장치가 동작을 수행한다.In the process of transmitting the query result to the user query device, the
사용자 권한별 경로 관리장치(130)는 제2경로에 관한 정보를 사용자 질의장치(110)로 전달한다(S470). 사용자 질의장치(110)는 경로 연결장치1(140)로 제2경로 연결을 요청한다(S630). 경로 연결장치1(140)은 사용자 질의장치(110)와 데이터 분석장치1(160) 간의 제2경로를 연결한다(S540). 경로 연결장치1(140)는 데이터 분석장치1(160)로 질의를 전달한다(S640). 데이터 분석장치1(160)는 경로 연결장치1(140)로 데이터 분석장치1(160)의 질의결과를 전송한다(S642). 경로 연결장치1(140)은 데이터 분석장치로부터 수신된 질의결과를 사용자 질의장치(110)로 전달한다(S550). 사용자 질의장치(110)로 데이터 분석장치1(160)의 질의결과 전달이 완료되면, 경로 연결장치1(140)은 사용자 권한별 경로 관리장치(130)로 질의결과 전달 완료를 보고한다(S560).The
이러한 제2경로로 인하여 사용자 권한별 경로 관리장치(130)는 사용자 권한을 확인하면서도 사용자의 질의결과를 고속대량으로 전달할 수 있는 효과가 발생한다.Due to the second route, the
도 4 내지 도 6에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 4 및 도 6에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.4 and 6 illustrate that the respective processes are sequentially executed. However, those skilled in the art will appreciate that those skilled in the art will readily understand how the present invention may be practiced without departing from the essential characteristics of the embodiments of the present invention, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention.
본 실시예들에 따른 장치는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신장치, 프로그램을 실행하기 위한 데이터를 저장하는 메모리, 프로그램을 실행하여 연산 및 명령하기 위한 마이크로프로세서 등을 전부 또는 일부 구비한 다양한 장치를 의미할 수 있다. 여기서 장치는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합에 의해 로직회로 내에서 구현될 수 있고, 범용 또는 특정 목적 컴퓨터를 이용하여 구현될 수도 있다. 장치는 고정배선형(Hardwired) 기기, 필드 프로그램 가능한 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 반도체(Application Specific Integrated Circuit, ASIC) 등을 이용하여 구현될 수 있다. 또한, 장치는 하나 이상의 프로세서 및 컨트롤러를 포함한 시스템온칩(System on Chip, SoC)으로 구현될 수 있다.The apparatus according to the present embodiments may include a communication device such as a communication modem for performing communication with various devices or wired / wireless communication networks, a memory for storing data for executing a program, a microprocessor for executing and executing a program, May refer to various devices having all or part of them. Wherein the apparatus may be implemented in logic circuitry by hardware, firmware, software, or a combination thereof, and may be implemented using a general purpose or special purpose computer. The device may be implemented using a hardwired device, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or the like. Further, the device may be implemented as a System on Chip (SoC) including one or more processors and controllers.
본 실시예들에 따른 장치의 동작은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능한 매체에 기록될 수 있다. 컴퓨터 판독 가능한 매체는 실행을 위해 프로세서에 명령어를 제공하는 데 참여한 임의의 매체를 나타낸다. 컴퓨터 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 또는 이들의 조합을 포함할 수 있다. 예를 들면, 자기 매체, 광기록 매체, 메모리 등이 있으며, 전송되는 신호파(Signal Wave) 형태로도 구체화(Embody)될 수 있다. 컴퓨터 프로그램은 네트워크로 연결된 컴퓨터 시스템 상에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 본 실시예를 구현하기 위한 기능적인(Functioinal) 프로그램, 코드, 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.The operation of the apparatus according to the present embodiments may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. A computer-readable medium represents any medium that participates in providing instructions to a processor for execution. The computer readable medium may include program instructions, data files, data structures, or a combination thereof. For example, a magnetic medium, an optical recording medium, a memory, or the like may be embodied in the form of a signal wave to be transmitted. The computer program may be distributed and distributed on a networked computer system so that computer readable code may be stored and executed in a distributed manner. Functional programs, codes, and code segments for implementing the present embodiment may be easily inferred by programmers of the art to which the present embodiment belongs.
본 실시예들은 본 실시예의 기술 사상을 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The present embodiments are for explaining the technical idea of the present embodiment, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The scope of protection of the present embodiment should be construed according to the following claims, and all technical ideas within the scope of equivalents thereof should be construed as being included in the scope of the present invention.
이상에서 설명한 바와 같이, 본 실시예는 사용자 질의장치가 질의를 전송하기 위한 질의 경로와 질의결과를 전달받기 위한 데이터 경로를 분리함으로써, 사용자별로 데이터에 접근할 수 있는 권한을 관리하면서도 사용자 질의결과를 고속대량으로 전달할 수 있는 효과가 있어 유용한 발명이다.As described above, according to the present embodiment, the user query apparatus separates the query path for transmitting the query and the data path for receiving the query result, thereby managing the authority to access data for each user, It is a useful invention because it has the effect of high-speed mass transfer.
10: 제1경로
20: 제2경로
110: 사용자 질의장치
120: 사용자 인증장치
130: 사용자 권한별 경로 관리장치
140, 142, 144: 경로 연결장치
150: 분산 시스템
160, 162, 164: 데이터 분석장치
210: 사용자 권한분석기
220: 자원 관리기
230: 경로 재지정기
240, 330: 질의 전달기
310: 자원상황 보고기
320: 경로 연결기
340: 질의결과 전달기10: first path 20: second path
110: user query device 120: user authentication device
130:
150: Distributed
210: user authority analyzer 220: resource manager
230:
310: Resource status report 320: Path connector
340: Query results
Claims (11)
상기 사용자 질의장치로부터 제1경로를 이용하여 수신된 질의를 분석하고 사용자의 계정이 상기 질의에 의한 데이터 접근이 가능한지 여부를 판단하는 사용자 권한분석기(User Authority Analyzer);
상기 분산된 경로 연결장치에 각각 연결된 분산된 데이터 분석장치 중에서 상기 질의의 처리를 위한 적어도 하나의 데이터 분석장치를 결정하는 자원 관리기(Resource Manager); 및
상기 사용자 질의장치와 상기 적어도 하나의 데이터 분석장치 간의 연결을 위한 제2경로에 관한 정보를 상기 사용자 질의장치로 전달하는 경로 재지정기(Path Redirector)
를 포함하는 사용자 권한별 경로 관리장치.An apparatus for managing a path between a user query apparatus and a distributed path connection apparatus, the path between the user query apparatus and the distributed path connection apparatus,
A User Authority Analyzer for analyzing a query received from the user query device using the first path and determining whether the user's account can access data by the query;
A resource manager for determining at least one data analysis device for processing the query among distributed data analysis devices connected to the distributed path connection devices respectively; And
A path redirector for transmitting information about a second path for connection between the user query device and the at least one data analysis device to the user query device;
Wherein the path management apparatus includes:
상기 제1경로는 질의 전달을 위한 경로이고, 상기 제2경로는 데이터 전달을 위한 경로인 것을 특징으로 하는 사용자 권한별 경로 관리장치.The method according to claim 1,
Wherein the first path is a path for query transfer and the second path is a path for data transfer.
상기 자원 관리기는 상기 분산된 데이터 분석장치의 자원상황정보, 상기 사용자의 질의유형, 상기 사용자와 상기 적어도 하나의 데이터 분석장치 간의 커넥션 풀(Connection Pool), 및 상기 사용자의 로그 등을 근거하여 중에서 적어도 하나에 근거하여 상기 분산된 데이터 분석장치 중에서 상기 질의의 처리를 위한 상기 적어도 하나의 데이터 분석장치를 결정하는 것을 특징으로 하는 사용자 권한별 경로 관리장치.The method according to claim 1,
The resource manager may include at least one of at least one of a resource status information of the distributed data analysis apparatus, a query type of the user, a connection pool between the user and the at least one data analysis apparatus, Wherein the at least one data analysis apparatus for processing the query among the distributed data analysis apparatuses is determined based on the at least one data analysis apparatus.
상기 사용자 질의장치로부터 상기 제1경로를 이용하여 수신된 질의를 상기 적어도 하나의 데이터 분석장치에 연결된 경로 연결장치로 전달하는 질의 전달기(Query Transmitter)
를 추가로 포함하는 사용자 권한별 경로 관리장치.The method according to claim 1,
A query transmitter for transmitting a query received from the user query device using the first path to a path connection device connected to the at least one data analysis device,
Further comprising: a user authority-specific path management device.
상기 데이터 분석장치의 자원상황정보를 상기 사용자 권한별 경로 관리장치로 보고하는 자원상황 보고기(Resource Status Reporter); 및
상기 사용자 질의장치를 상기 데이터 분석장치에 제2경로를 이용하여 연결하는 경로 연결기(Path Connector)
를 포함하는 경로 연결장치.An apparatus for connecting a path between a user query apparatus and a data analysis apparatus, the apparatus being connected to a path management apparatus and a data analysis apparatus according to user authority,
A Resource Status Reporter for reporting resource status information of the data analysis apparatus to the user authority path management apparatus; And
A path connector for connecting the user query apparatus to the data analysis apparatus using a second path,
And a path connecting device.
상기 제2경로는 데이터 전달을 위한 경로인 것을 특징으로 하는 경로 연결장치.6. The method of claim 5,
And the second path is a path for data transfer.
상기 경로 연결기는 상기 사용자 질의장치를 상기 제2경로를 이용하여 상기 데이터 분산장치에 직접 연결하거나 중계 연결하는 것을 특징으로 하는 경로 연결장치.6. The method of claim 5,
Wherein the path connector directly connects or relays the user query apparatus to the data distribution apparatus using the second path.
상기 사용자 권한별 경로 관리장치로부터 수신된 질의를 상기 데이터 분석장치로 전달하는 질의 전달기(Query Transmitter)
를 추가로 포함하는 경로 연결장치.6. The method of claim 5,
A query transmitter for transmitting a query received from the path management apparatus for each user right to the data analysis apparatus,
Further comprising:
상기 데이터 분석장치로부터 수신된 질의결과를 상기 제2경로를 이용하여 상기 사용자 질의장치로 전달하는 질의결과 전달기(Query Result Transmitter)
를 추가로 포함하는 경로 연결장치.6. The method of claim 5,
A query result transmitter for transmitting a query result received from the data analysis apparatus to the user query apparatus using the second path,
Further comprising:
사용자 질의장치 및 분산된 경로 연결장치에 각각 연결하는 과정;
상기 사용자 질의장치로부터 제1경로를 이용하여 수신된 질의를 분석하고 사용자의 계정이 데이터에 접근 가능한지 여부를 판단하는 과정;
상기 사용자의 계정이 데이터에 접근 가능한 경우, 상기 분산된 경로 연결장치에 각각 연결된 분산된 데이터 분석장치 중에서 상기 질의의 처리를 위한 적어도 하나의 데이터 분석장치를 결정하는 과정; 및
상기 사용자의 계정이 데이터에 접근 가능한 경우, 상기 사용자 질의장치와 상기 적어도 하나의 데이터 분석장치 간의 연결을 위한 제2경로에 관한 정보를 상기 사용자 질의장치로 전달하는 과정
을 포함한 동작들을 수행하는 컴퓨터 프로그램.A computer program recorded on a tangible computer readable recording medium including computer program instructions executable by a processor, the computer program instructions being executable by the processor,
A user query device and a distributed path connection device, respectively;
Analyzing the query received from the user query device using the first path and determining whether the user's account is accessible to the data;
Determining at least one data analysis apparatus for processing the query among distributed data analysis apparatuses connected to the distributed path connection apparatus when the account of the user is accessible; And
Transmitting the information on the second path for connection between the user query apparatus and the at least one data analysis apparatus to the user query apparatus when the account of the user is accessible to the user
/ RTI >
사용자 권한별 경로 관리장치 및 데이터 분석장치에 각각 연결하는 과정;
상기 데이터 분석장치의 자원상황정보를 상기 사용자 권한별 경로 관리장치로 보고하는 과정; 및
상기 사용자 질의장치가 제2경로 연결을 요청하는 경우, 상기 사용자 질의장치를 상기 제2경로를 이용하여 상기 데이터 분석장치에 연결하는 과정
을 포함한 동작들을 수행하는 컴퓨터 프로그램.
A computer program recorded on a tangible computer readable recording medium including computer program instructions executable by a processor, the computer program instructions being executable by the processor,
Connecting to a path management apparatus and a data analysis apparatus according to user authority, respectively;
Reporting resource status information of the data analysis apparatus to the user authority path management apparatus; And
Connecting the user query device to the data analysis device using the second path when the user query device requests a second path connection
/ RTI >
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150154515A KR102233380B1 (en) | 2015-11-04 | 2015-11-04 | Apparatus and Computer Program for Managing Query Path and Data Path |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150154515A KR102233380B1 (en) | 2015-11-04 | 2015-11-04 | Apparatus and Computer Program for Managing Query Path and Data Path |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170052266A true KR20170052266A (en) | 2017-05-12 |
KR102233380B1 KR102233380B1 (en) | 2021-03-26 |
Family
ID=58740546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150154515A KR102233380B1 (en) | 2015-11-04 | 2015-11-04 | Apparatus and Computer Program for Managing Query Path and Data Path |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102233380B1 (en) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050121778A (en) * | 2004-06-23 | 2005-12-28 | 육상수 | Method and system for audit and control database system |
KR101104300B1 (en) * | 2011-05-11 | 2012-01-11 | 주식회사 신시웨이 | System of access management comprising exclusive tool for accessing of personal information database and method thereof |
KR20120016482A (en) * | 2010-08-16 | 2012-02-24 | 소프트캠프(주) | Output control system and method for the data in the secure zone |
KR20130071773A (en) * | 2011-12-21 | 2013-07-01 | 주식회사 다음커뮤니케이션 | System and method of processing realtime data based on query language |
KR20130075380A (en) * | 2011-12-27 | 2013-07-05 | 서강대학교산학협력단 | Apparatus and method for protecting personal location information in massive user environment |
KR20130113000A (en) * | 2012-04-05 | 2013-10-15 | 한국전자통신연구원 | Apparatus for language processing and method thereof |
KR101345095B1 (en) * | 2012-06-19 | 2013-12-26 | 충남대학교산학협력단 | Method and system for bgp routing data processing based on cluster |
KR20140076010A (en) * | 2012-12-12 | 2014-06-20 | 한국과학기술원 | A system for simultaneous and parallel processing of many twig pattern queries for massive XML data and method thereof |
US20140244701A1 (en) * | 2013-02-25 | 2014-08-28 | Emc Corporation | Data analytics platform over parallel databases and distributed file systems |
KR101495562B1 (en) * | 2013-10-29 | 2015-02-25 | 에스케이 텔레콤주식회사 | Method And Apparatus for Providing Data Analysis Service |
-
2015
- 2015-11-04 KR KR1020150154515A patent/KR102233380B1/en active IP Right Grant
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050121778A (en) * | 2004-06-23 | 2005-12-28 | 육상수 | Method and system for audit and control database system |
KR20120016482A (en) * | 2010-08-16 | 2012-02-24 | 소프트캠프(주) | Output control system and method for the data in the secure zone |
KR101104300B1 (en) * | 2011-05-11 | 2012-01-11 | 주식회사 신시웨이 | System of access management comprising exclusive tool for accessing of personal information database and method thereof |
KR20130071773A (en) * | 2011-12-21 | 2013-07-01 | 주식회사 다음커뮤니케이션 | System and method of processing realtime data based on query language |
KR20130075380A (en) * | 2011-12-27 | 2013-07-05 | 서강대학교산학협력단 | Apparatus and method for protecting personal location information in massive user environment |
KR20130113000A (en) * | 2012-04-05 | 2013-10-15 | 한국전자통신연구원 | Apparatus for language processing and method thereof |
KR101345095B1 (en) * | 2012-06-19 | 2013-12-26 | 충남대학교산학협력단 | Method and system for bgp routing data processing based on cluster |
KR20140076010A (en) * | 2012-12-12 | 2014-06-20 | 한국과학기술원 | A system for simultaneous and parallel processing of many twig pattern queries for massive XML data and method thereof |
US20140244701A1 (en) * | 2013-02-25 | 2014-08-28 | Emc Corporation | Data analytics platform over parallel databases and distributed file systems |
KR101495562B1 (en) * | 2013-10-29 | 2015-02-25 | 에스케이 텔레콤주식회사 | Method And Apparatus for Providing Data Analysis Service |
Also Published As
Publication number | Publication date |
---|---|
KR102233380B1 (en) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110543464B (en) | Big data platform applied to intelligent park and operation method | |
US10067547B2 (en) | Power management control of remote servers | |
CN103119907B (en) | It is provided for the system and method for the smart group of access control | |
US20190188046A1 (en) | Blockchain integration for scalable distributed computations | |
CN113079159B (en) | Edge computing network system based on block chain | |
EP3987749B1 (en) | Discovery and mapping of a cloud-based authentication, authorization, and user management service | |
US10735426B2 (en) | Secure asynchronous retrieval of data behind a firewall | |
US10812462B2 (en) | Session management for mobile devices | |
US9100362B2 (en) | Peer-to-peer architecture for web traffic management | |
US20130254761A1 (en) | Granular application sessions tagging | |
CN108287894B (en) | Data processing method, device, computing equipment and storage medium | |
US9237156B2 (en) | Systems and methods for administrating access in an on-demand computing environment | |
KR20170062244A (en) | Api managing apparatus | |
CN108920111B (en) | Data sharing method and distributed data sharing system | |
CN114780214B (en) | Task processing method, device, system and equipment | |
US10715605B2 (en) | System and method for limiting active sessions | |
US11048543B2 (en) | Computer system and resource access control method for securely controlling access using roles with a plurality of users | |
CN110457307B (en) | Metadata management system, user cluster creation method, device, equipment and medium | |
US10824588B2 (en) | Remote document conversion and viewing systems and methods | |
KR102233380B1 (en) | Apparatus and Computer Program for Managing Query Path and Data Path | |
US20220166763A1 (en) | System and method for managing integrated account based on token | |
KR20190074723A (en) | System For Providing Remote Computing Service And Method Thereof | |
WO2023236637A1 (en) | Data management method and device | |
Zacharia et al. | iZen: secure federated service oriented architecture for the Internet of Things in the cloud | |
Liu et al. | Design and implementation of cloud-based port logistics public service platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |