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 PDF

Info

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
Application number
KR1020150154515A
Other languages
Korean (ko)
Other versions
KR102233380B1 (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 KR1020150154515A priority Critical patent/KR102233380B1/en
Publication of KR20170052266A publication Critical patent/KR20170052266A/en
Application granted granted Critical
Publication of KR102233380B1 publication Critical patent/KR102233380B1/en

Links

Images

Classifications

    • G06F17/30289
    • G06F17/30557
    • G06F17/30595

Abstract

Embodiments of the present invention provide an apparatus and a computer program which can transfer a query result of a user at high speed in large quantities while managing an authority capable of accessing data for each user since a user query apparatus divides a query path to transmit a query and a data path to receive the query result.

Description

질의 및 데이터 경로 관리장치 및 컴퓨터 프로그램{Apparatus and Computer Program for Managing Query Path and Data Path}[0001] The present invention relates to a query and data path management apparatus and a computer program,

본 실시예가 속하는 기술 분야는 질의 및 데이터의 경로를 관리하는 장치 및 컴퓨터 프로그램에 관한 것이다. 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 user query device 110, a user authentication device 120, a user authority-specific path management device 130, a distributed path connection device 140, 142, and 144, and a distributed system 150 all or in part.

데이터 분석 시스템은 대용량 데이터를 분석하고 처리하는 시스템이다. 데이터 분석 시스템은 크게 사용자가 분산 시스템(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 distributed system 150 and a distributed system 150 that distributes the data. When the user requests the necessary information to the distributed system 150, the distributed system 150 distributes and processes the large amount of data to a plurality of devices. Then, the distributed system 150 transmits the analyzed result to the user.

분산 시스템(150)은 특정한 기능을 수행하는 복수의 모듈들로 구성된 프레임워크로 구현될 수 있다. 분산 시스템(150)은 대용량 데이터를 저장하기 위한 모듈과 대용량 데이터를 처리하기 위한 모듈을 포함할 수 있다. 분산 시스템의 예로는 아파치 소프트웨어 재단(Apache Software Foundation, ASF)에서 배포하는 하둡 등이 있다. 대용량 데이터를 저장하기 위한 모듈의 예로는 하둡 분산 파일 시스템(Hadoop Distributed File System, HDFS)이 있고, 대용량 데이터를 처리하기 위한 모듈의 예로는 맵 리듀스(Map Reduce, MR)가 있으나 이에 한정되는 것은 아니다.The distributed system 150 may be implemented as a framework composed of a plurality of modules that perform specific functions. The distributed system 150 may include a module for storing large amount of data and a module for processing large amount of data. An example of a distributed system is Hadoop distributed by the Apache Software Foundation (ASF). An example of a module for storing large amounts of data is the Hadoop Distributed File System (HDFS), and an example of a module for processing large amounts of data is Map Reduce (MR) no.

분산 시스템(150)은 분산 시스템(150)의 범용성을 높이기 위해서 자원을 관리할 수 있는 모듈을 포함할 수 있다. 자원을 관리할 수 있는 모듈의 예로는 얀(YARN)이 있으나 이에 한정되는 것은 아니다. 예시한 얀(YARN)을 이용하면 맵리듀스 이외에 테즈(Tez), 스파크(Spark) 등의 다양한 데이터 처리 모듈을 이용하여 대용량 데이터를 분산 처리할 수 있다.The distributed system 150 may include a module capable of managing resources in order to increase the versatility of the distributed system 150. Examples of modules that can manage resources include, but are not limited to yarns (YARN). By using YARN (YARN), it is possible to distribute a large amount of data by using various data processing modules such as Tez and Spark in addition to MapReduce.

분산 시스템(150)은 데이터베이스 모듈을 포함할 수 있다. 데이터베이스 모듈의 예로는 에이치베이스(HBase), 카산드라(Cassandra), 몽고디비(Mongo DB) 등이 있으나 이에 한정되는 것은 아니다.The distributed system 150 may include a database module. Examples of database modules include, but are not limited to, HBase, Cassandra, and Mongo DB.

분산 시스템(150)은 질의를 사용하기 위한 모듈을 포함할 수 있다. 질의를 사용하기 위한 모듈의 예로는 하이브(Hive), 임팔라(Impala), 프레스토(Presto), 드릴(Drill) 등이 있으나 이에 한정되는 것은 아니다.The distributed system 150 may include a module for using the query. Examples of modules for using queries include, but are not limited to, Hive, Impala, Presto, Drill, and the like.

분산 시스템(150)은 분산된 데이터 분석장치(160, 162, 164)를 포함한다. 데이터 분석장치(160, 162, 164)는 분산 시스템(150)이 대용량 데이터를 분산 처리를 하기 위한 장치로서, 컴퓨터 등으로 구현될 수 있다. 도 1에서는 설명의 편의를 위해, 분산된 데이터 분석장치(160, 162, 164)를 세개로 도시하였으나 데이터 분석장치의 개수는 하나이상을 의미한다.The distributed system 150 includes distributed data analysis devices 160, 162, and 164. The data analysis apparatuses 160, 162, and 164 may be implemented by a computer or the like as an apparatus for the distributed system 150 to perform distributed processing of a large amount of data. In FIG. 1, for convenience of description, the distributed data analysis apparatuses 160, 162, and 164 are shown as three, but the number of the data analysis apparatuses means one or more.

분산된 데이터 분석장치(160, 162, 164) 각각은 클러스터 또는 노드가 될 수 있다. 여기서 클러스터는 특정 기능을 수행하기 위해서 상호 연결된 여러 대의 컴퓨터 집합이고, 노드는 클러스터를 구성하는 개별 컴퓨터이다.Each of the distributed data analysis apparatuses 160, 162, and 164 may be a cluster or a node. Here, a cluster is a set of computers interconnected to perform a specific function, and a node is an individual computer constituting a cluster.

분산된 데이터 분석장치(160, 162, 164)는 마스터 및 슬레이브 구조가 될 수 있다. 여기서 마스터 및 슬레이브 구조는 하나의 마스터 데이터 분석장치에 하나이상의 슬레이브 분석장치가 연결된 구조이다. 하나의 마스터 데이터 분석장치에 연결된 하나이상의 슬레이브 분석장치들이 대용량 데이터를 분산하여 저장하고 분산하여 처리한다. 도 1에서는 마스터 및 슬레이브 구조를 도시하지 않았으나, 분산된 데이터 분석장치(160, 162, 164) 각각은 마스터 데이터 분석장치가 될 수 있고, 슬레이브 데이터 분석장치가 될 수도 있다.The distributed data analysis apparatuses 160, 162, and 164 may be master and slave structures. Here, the master and slave structures are a structure in which one or more slave analysis devices are connected to one master data analysis device. One or more slave analyzing apparatuses connected to one master data analyzing apparatus disperses large-capacity data, stores the data, and distributes and processes the large-capacity data. Although the master and slave structures are not shown in FIG. 1, each of the distributed data analysis apparatuses 160, 162, and 164 may be a master data analysis apparatus or a slave data analysis apparatus.

설명의 편의를 위해 하둡을 예로 들어 설명하면, 하둡 분산 파일 시스템(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 system 150 can store and process large amounts of data such as Gigabyte, Terabyte, and Petabyte.

사용자 질의장치(110)는 사용자가 데이터가 있는 시스템으로 질의를 전송하고 질의결과를 전달받는 장치이다. 다시 말해, 사용자 질의장치(110)는 다른 컴퓨터에 접속할 수 있는 도구로써, 일종의 클라이언트(Client)라고 할 수 있다. 질의는 데이터베이스 또는 정보시스템에 정보를 요청하기 위한 명령이다. 이러한 질의의 대표적인 예로는 에스큐엘(SQL)이 있으나 이에 한정되는 것은 아니다.The user query device 110 is a device in which a user transmits a query to a system having data and receives a query result. In other words, the user query device 110 is a kind of client as a tool that can connect to another computer. A query is a command to request information from a database or information system. Representative examples of such queries include, but are not limited to, SQL.

사용자 질의장치(110)는 태블릿(Tablet), 랩탑(Lap Top), 개인용컴퓨터(Personal Computer, PC), 스마트폰(Smart Phone), 개인정보단말기(Personal Digital Assistant, PDA), 이동통신 단말기(Mobile Communication Terminal) 등으로 구현될 수 있으나 반드시 이에 한정되는 것은 아니다.The user query device 110 may be a tablet, a lap top, a personal computer (PC), a smart phone, a personal digital assistant (PDA), a mobile communication terminal Communication Terminal), but the present invention is not limited thereto.

사용자 질의장치(110)는 비즈니스 인텔리전스 툴(Business Intelligence Tool), 웹 애플리케이션(Web Application), 응용프로그램(Application Program) 등을 이용하여 데이터 분석을 위한 질의를 전송할 수 있다.The user query apparatus 110 can transmit a query for data analysis using a business intelligence tool, a web application, an application program, or the like.

사용자 인증장치(120)는 사용자의 신원을 확인하는 장치이다. 사용자 인증장치(120)는 사용자 질의장치(110)에 연결된다. 사용자 인증장치(120)는 사용자 질의장치(120)로부터 사용자에 관한 정보 및 사용자 질의장치(110)에 관한 정보를 이용하여 인증(Authentication) 절차를 수행한다. 사용자에 관한 정보의 예로는 사용자 계정, 및 패스워드 등이 있을 수 있고, 사용자 질의장치(110)에 관한 정보의 예로는 장치 고유의 식별정보 등이 있을 수 있다. 사용자 인증장치(120)는 싱글 사인 온(Single Sign On, SSO)을 이용하여 인증 절차를 수행할 수 있다. 싱글 사인 온(SSO)은 한 번의 로그인으로 각각의 시스템에 접속할 수 있게 하는 인증방식이다.The user authentication device 120 is a device for confirming the identity of a user. The user authentication device 120 is connected to the user query device 110. The user authentication apparatus 120 performs an authentication procedure from the user query apparatus 120 using information on the user and information on the user query apparatus 110. [ Examples of the information on the user may include a user account and a password, and the information on the user query device 110 may include device-specific identification information. The user authentication apparatus 120 may perform an authentication procedure using Single Sign On (SSO). Single sign-on (SSO) is an authentication method that allows you to connect to each system with one login.

사용자 권한별 경로 관리장치(130)는 사용자가 데이터에 접근할 수 있는 권한이 있는지 여부를 확인하고, 사용자 질의장치(110)와 분산된 경로 연결장치(140, 142, 144) 간의 경로를 관리하는 장치이다. 사용자 권한별 경로 관리장치(130)는 사용자 질의장치(110)에 연결된다.The user authority-specific path management apparatus 130 confirms whether the user is authorized to access the data and manages the path between the user query apparatus 110 and the distributed path connection apparatuses 140, 142 and 144 Device. The user authority-specific path management device 130 is connected to the user query device 110.

사용자 질의장치(110)는 제1경로(10)를 이용하여 사용자 권한별 경로 관리장치(130)로 질의를 전송하게 된다. 사용자 권한별 경로 관리장치(130)는 사용자의 질의를 분석하여 사용자 권한을 확인할 수 있다.The user query apparatus 110 transmits the query to the path management apparatus 130 according to the user authority using the first path 10. [ The path management apparatus 130 for each user right can confirm the user authority by analyzing the query of the user.

그러나 사용자 권한을 확인한 후 사용자 질의장치(110)가 질의결과를 다시 동일한 제1경로(10)로 수신하게 되면 분산 시스템을 이용하더라도 대용량 데이터의 전송 속도 저하가 발생할 수 있다.However, if the user query device 110 receives the query result in the same first path 10 again after confirming the user authority, the transmission speed of the large capacity data may be reduced even if the distributed system is used.

본 실시예들에 따르면 사용자 질의장치(110)가 제1경로(10)를 이용하여 질의를 전달하고, 사용자 질의장치(110)가 제2경로(20)를 이용하여 데이터를 전달받을 수 있다. 다시 말해, 질의 경로와 데이터 경로를 분리함으로써 본 실시예들은 사용자의 질의결과를 고속대량으로 전달할 수 있는 효과를 발생시킨다.According to the present embodiments, the user query apparatus 110 may transmit the query using the first path 10 and the user query apparatus 110 may receive the data using the second path 20. [ In other words, by separating the query path and the data path, the embodiments generate the effect that the query result of the user can be transferred in high speed and in large quantities.

제1경로(10)는 질의 전달을 위한 경로일 수 있고, 제2경로(20)는 데이터 전달을 위한 경로일 수 있다.The first path 10 may be a path for query transfer and the second path 20 may be a path for data transfer.

제1경로(10)는 사용자 질의장치(110)와 사용자 권한별 경로 관리장치(130) 간의 연결을 위한 경로이고, 제2경로(20)는 사용자 질의장치(110)와 데이터 분석장치 간의 연결을 위한 경로이다. 제2경로(20)는 사용자 질의장치(110)와 데이터 분석장치 간에 직접 연결될 수도 있고, 경로 연결장치를 중계하여 연결될 수도 있다. 설명의 편의를 위해 도 1에서는 제2경로가 경로 연결장치를 중계하여 연결되었으나 이에 한정되는 것은 아니다. The first path 10 is a path for connection between the user query apparatus 110 and the user authority path management apparatus 130 and the second path 20 is a path for connection between the user query apparatus 110 and the data analysis apparatus . The second path 20 may be directly connected between the user query device 110 and the data analysis device, or may be connected by relaying the path connection device. For convenience of explanation, the second path is connected to the path connecting device in FIG. 1, but the present invention is not limited thereto.

분산된 경로 연결장치(140, 142, 144)는 분산된 데이터 분석장치(160, 162, 164)에 연결된다. 도 1에서는 설명의 편의를 위해 경로 연결장치1(140)과 데이터 분석장치1(160)을 연결하고, 경로 연결장치2(142)과 데이터 분석장치2(162)를 연결하고, 경로 연결장치M(M은 자연수, 144)과 데이터 분석장치N(N은 자연수, 160)을 연결하였으나 반드시 하나의 경로 연결장치와 하나의 데이터분석장치 간에 연결되는 것은 아니고, 하나이상의 경로 연결장치와 하나이상의 데이터분석장치가 상호 연결될 수도 있다.The distributed path connections 140, 142, and 144 are coupled to the distributed data analysis devices 160, 162, and 164, respectively. In FIG. 1, for convenience of explanation, the path connection device 1 140 and the data analysis device 1 160 are connected, the path connection device 2 142 is connected to the data analysis device 2 162, (M is a natural number, 144) and a data analysis apparatus N (N is a natural number, 160), but not necessarily between one path connection apparatus and one data analysis apparatus, The devices may be interconnected.

설명의 편의를 위해 경로 연결장치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 path connection device 2 142 will be described as an example. The path connection device 1 140 connects the user query device 110 and the data analysis device 1 160 And the path connection device 2 142 can connect the user query device 110 and the data analysis device 2 162. This is merely an example, but a form in which the distributed path connection devices 140, 142, 144 connect the user query device 110 to the distributed data analysis devices 160, 162, 164 is not limited thereto.

도 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 user authority analyzer 210, a resource manager 220, a path redirector 230, And a query transmitter (Query Transmitter) 240 all or in part.

사용자 권한분석기(210)는 사용자가 데이터에 접근할 수 있는 권한이 있는지 여부를 확인하는 유닛(Unit)이다. 사용자 권한분석기(210)는 제1경로(10)를 이용하여 사용자 질의장치(110)에 연결된다. 사용자 권한분석기(210)는 사용자 질의장치(110)로부터 제1경로(10)를 이용하여 수신된 질의를 분석하고 사용자의 계정이 질의에 의한 데이터 접근이 가능한지 여부를 판단한다. The user authority analyzer 210 is a unit for confirming whether or not the user is authorized to access data. The user privilege analyzer 210 is connected to the user query device 110 using the first path 10. The user privilege analyzer 210 analyzes the received query from the user query device 110 using the first path 10 and determines whether the user's account is capable of data access by the query.

사용자 권한분석기(210)는 접근 제어 목록(Access Control List, ACL)을 이용하여 권한(Authorization)을 관리할 수 있다. 접근 제어 목록은 데이터에 대한 접근이 허가된 사용자 및 사용자에게 허가된 데이터에 관한 접근 권한들이 기록된 목록이다. 접근 제어 목록은 사용자에 관한 정보 및 데이터에 관한 정보를 포함할 수 있다. 사용자에 관한 정보의 예로는 그룹 등이 있을 수 있고, 데이터에 관한 정보의 예로는 읽기 및 쓰기 등의 권한이 있을 수 있다.The user authority analyzer 210 can manage the authorization using an access control list (ACL). An access control list is a list of access rights to data authorized to users and users authorized to access the data. The access control list may include information about the user and information about the data. Examples of information about the user may be a group or the like, and examples of information on the data may include read and write rights.

자원 관리기(220)는 분산 시스템(150)의 자원을 관리하고 여유있는 자원을 데이터 분석장치를 결정하는 유닛이다. 자원 관리기(220)는 분산된 경로 연결장치(140, 142, 144)에 각각 연결된다. 자원 관리기(220)는 분산된 경로 연결장치(140, 142, 144)를 이용하여 분산된 데이터 분석장치(160, 162, 164)의 자원상황정보를 수집한다. 이로 인하여 자원 관리기(220)는 분산된 데이터 분석장치(160, 162, 164)의 자원에 대한 경쟁을 모니터링할 수 있다. The resource manager 220 is a unit that manages resources of the distributed system 150 and determines a data analysis apparatus as a spare resource. The resource manager 220 is connected to the distributed path connection devices 140, 142 and 144, respectively. The resource manager 220 collects resource status information of the distributed data analysis apparatuses 160, 162, and 164 using the distributed path connection apparatuses 140, 142, and 144. Accordingly, the resource manager 220 can monitor competition of resources of the distributed data analysis apparatuses 160, 162, and 164.

자원 관리기(220)는 분산된 경로 연결장치(140, 142, 144)에 각각 연결된 분산된 데이터 분석장치(160, 162, 164) 중에서 질의의 처리를 위한 적어도 하나의 데이터 분석장치를 결정한다. The resource manager 220 determines at least one data analysis device for processing the query among the distributed data analysis devices 160, 162, and 164 connected to the distributed path connection devices 140, 142, and 144, respectively.

자원 관리기(220)는 분산된 데이터 분석장치(160, 162, 164)의 자원상황정보, 사용자의 질의유형, 사용자와 적어도 하나의 데이터 분석장치 간의 커넥션 풀(Connection Pool), 및 사용자의 로그 등을 근거하여 분산된 데이터 분석장치(160, 162, 164) 중에서 질의의 처리를 위한 적어도 하나의 데이터 분석장치를 결정할 수 있다. 예컨대, 결정된 적어도 하나의 데이터 분석장치는 데이터분석장치1(160)일 수 있으나 이에 한정되는 것은 아니다.The resource manager 220 may include resource status information of the distributed data analysis apparatuses 160, 162 and 164, a query type of the user, a connection pool between the user and the at least one data analysis apparatus, , It is possible to determine at least one data analysis apparatus for processing the query among the distributed data analysis apparatuses (160, 162, 164). For example, the determined at least one data analysis device may be data analysis device 1 160, but is not limited thereto.

자원 관리기(220)는 분산된 데이터 분석장치(160, 162, 164)의 자원상황정보에 근거하여 분산된 데이터 분석장치(160, 162, 164) 중에서 질의의 고속처리가 가능한 적어도 하나의 데이터 분석장치를 결정할 수 있다. 여기서 자원상황정보는 물리적 자원(Physical Resource) 또는 커넥션 풀(Connection Pool) 등에 관한 정보이다. The resource manager 220 is connected to at least one data analysis apparatus 160 capable of high-speed query processing among the distributed data analysis apparatuses 160, 162, and 164 based on the resource status information of the distributed data analysis apparatuses 160, 162, Can be determined. Here, the resource status information is information related to a physical resource or a connection pool.

자원 관리기(220)는 데이터분석장치의 물리적 자원 중 적어도 하나, 예를 들면 메모리 등에 관한 정보를 모니터링할 수 있다. 물리적 자원은 데이터 분석장치의 자원이다. 컴퓨터를 예로 들면 씨피유(CPU), 디스크(Disk), 메모리(Memory), 및 네트워크(Network) 등이 있을 수 있다. 자원 관리기(220)는 분산된 데이터 분석장치(160, 162, 164) 중에서 물리적 자원에 여유가 있는 데이터분석장치를 결정할 수 있다.The resource manager 220 may monitor information regarding at least one of the physical resources of the data analysis apparatus, for example, a memory. Physical resources are resources of the data analysis device. Examples of a computer include a CPU, a disk, a memory, and a network. The resource manager 220 can determine which of the distributed data analysis apparatuses 160, 162, and 164 has available data analysis apparatus.

자원 관리기(220)는 데이터분석장치의 커넥션 풀을 모니터링할 수 있다. 커넥션 풀은 데이터베이스 연결들로 된 하나의 풀(Pool)이다. 데이터베이스 연결들을 예로 들면, 복수개의 제2경로가 있다. 자원 관리기(220)는 분산된 데이터 분석장치(160, 162, 164) 중에서 커넥션 풀에 여유가 있는 데이터분석장치를 결정할 수 있다.The resource manager 220 may monitor the connection pool of the data analysis apparatus. A connection pool is a pool of database connections. Taking database connections as an example, there are a plurality of second paths. The resource manager 220 can determine a data analysis apparatus that has room in the connection pool among the distributed data analysis apparatuses 160, 162, and 164.

자원 관리기(220)는 질의유형별에 근거하여 분산된 데이터 분석장치(160, 162, 164) 중에서 질의의 처리를 위한 적어도 하나의 데이터 분석장치를 결정할 수 있다. 자원 관리기(220)는 사용자 권한분석기(210)에 의해 분석된 질의를 다양한 유형으로 나눈다. 자원 관리기(220)는 질의유형을 이용하여 분산된 데이터 분석장치(160, 162, 164) 중에서 질의의 처리를 위한 데이터 분석장치를 결정할 수 있다.The resource manager 220 may determine at least one data analysis device for processing the query among the distributed data analysis devices 160, 162, and 164 based on the query type. The resource manager 220 divides the queries analyzed by the user privilege analyzer 210 into various types. The resource manager 220 may determine a data analysis device for processing a query among the distributed data analysis devices 160, 162, and 164 using the query type.

자원 관리기(220)는 질의를 전송한 복수의 사용자 중에서 어느 사용자에게 분산된 데이터 분석장치(160, 162, 164) 중에서 적어도 하나의 데이터분석장치를 연결할지 여부를 결정할 수 있다. 자원 관리기(220)는 사용자 권한분석기(210)에 의해 판단된 사용자의 권한에 근거하여 데이터 분석장치(160, 162, 164) 중에서 질의의 처리를 위한 적어도 하나의 데이터 분석장치를 결정할 수 있다.The resource manager 220 may determine which of a plurality of users who transmitted the query to connect at least one data analysis apparatus among the distributed data analysis apparatuses 160, 162, and 164. The resource manager 220 may determine at least one data analysis apparatus for processing the query among the data analysis apparatuses 160, 162, and 164 based on the authority of the user determined by the user authority analyzer 210.

이러한 자원 관리로 인하여 사용자 권한별 경로 관리장치(130)는 사용자 권한을 확인하면서도 사용자의 질의결과를 고속대량으로 처리할 수 있는 데이터 분석장치를 선별할 수 있는 효과를 발생시킨다.Due to such resource management, the path management apparatus 130 according to the user authority generates an effect of selecting a data analysis apparatus capable of processing a user query result at a high speed and in a large volume while confirming the user authority.

경로 재지정기(230)는 사용자 질의장치(110)가 질의결과를 전달받는 경로를 재지정하는 유닛이다. 경로 재지정기(230)는 사용자 질의장치(110)에 연결된다. 경로 재지정기(230)는 사용자 질의장치(110)와 적어도 하나의 데이터 분석장치 간의 연결을 위한 제2경로(20)에 관한 정보를 사용자 질의장치(110)로 전달한다.The path redeterminer 230 is a unit that redirects the path that the user query device 110 receives the query result. Path redirector 230 is coupled to user query device 110. The path redirector 230 passes information to the user query device 110 about the second path 20 for connection between the user query device 110 and the at least one data analysis device.

여기서 제2경로(20)에 관한 정보는 결정된 적어도 하나의 데이터 분석장치의 접속정보를 의미한다. 접속정보의 예로는 통합 자원 식별자(Uniform Resource Identifier, URI)가 있다. 통합 자원 식별자는 인터넷에 있는 자원을 나타내는 유일한 주소이다. 통합 자원 식별자는 프로토콜, 호스트이름, 주소, 및 포트 등을 포함한다.Here, the information on the second path 20 means connection information of at least one data analysis apparatus determined. An example of connection information is a Uniform Resource Identifier (URI). A unified resource identifier is a unique address that represents a resource on the Internet. The aggregate resource identifiers include protocol, host name, address, and port.

이러한 제2경로로 인하여 사용자 권한별 경로 관리장치(130)는 사용자 권한을 확인하면서도 사용자의 질의결과를 고속대량으로 전달할 수 있는 효과를 발생시킨다.Due to the second route, the route management apparatus 130 according to the user authority generates the effect of transmitting the query result of the user at a high speed and in a large amount while confirming the user authority.

질의 전달기(240)는 사용자 질의장치(110)로부터 수신된 질의를 데이터 분석장치로 전달하기 위한 유닛이다. 분산된 데이터 분석장치 각각에 질의를 전달하는 것이 아니라 자원 관리기(220)에 의해 결정된 적어도 하나의 데이터 분석장치로 질의를 전달한다. 질의 전달기(240)는 경로 연결장치에 연결된다.The query sender 240 is a unit for transferring the query received from the user query device 110 to the data analysis device. And delivers the query to at least one data analysis device determined by the resource manager 220, rather than delivering the query to each of the distributed data analysis devices. The query sender 240 is connected to the path connector.

질의 전달기(240)는 사용자 질의장치(110)로부터 제1경로(10)를 이용하여 수신된 질의를 자원 관리기(220)에 의해 결정된 적어도 하나의 데이터 분석장치에 연결된 경로 연결장치로 제2경로(20)를 이용하여 전달한다. 예를 들면, 질의 전달기(240)는 사용자 질의장치(110)로부터 데이터 분석장치1(160)에 연결된 경로연결장치1(140)로 질의를 전달한다.The query sender 240 sends a query received from the user query device 110 using the first path 10 to a path connection device connected to at least one data analysis device determined by the resource manager 220, (20). For example, the query sender 240 delivers the query from the user query device 110 to the path connector 1 (140) connected to the data analysis device 1 (160).

이러한 질의 전달로 인하여 분산 시스템(150) 또는 분산된 데이터 분석장치(160, 162, 164)에서 사용자의 질의를 활용할 수 있는 효과가 발생한다.Because of this query transmission, a user query can be utilized in the distributed system 150 or the distributed data analysis apparatuses 160, 162, and 164.

사용자 권한별 경로 관리장치(130)는 사용자의 계정을 관리할 수 있는 계정 관리기(Account Manager, 미도시)를 추가로 포함할 수 있다. 계정 관리기는 사용자의 자원에 대한 사용 정보를 기록하고 관리한다. 계정 관리기는 로그(Log)를 이용하여 사용자 계정을 관리할 수 있다.The user authority-specific path management device 130 may further include an account manager (not shown) that can manage a user's account. The account manager records and manages usage information for the user's resources. The account manager can manage the user account by using the log.

계정 관리기는 자원 관리기(220)에 연결된다. 자원 관리기(220)는 계정 관리기의 로그를 이용하여 복수의 사용자 중에서 어느 사용자에게 데이터 분석장치를 연결할지 여부를 결정할 수 있다. 자원 관리기(220)는 사용자의 데이터 접근 권한 및 로그를 종합적으로 고려하여 사용자 질의장치(110)에 연결하기 위한 데이터 분석장치를 결정할 수 있다.The account manager is connected to the resource manager 220. The resource manager 220 can use the log of the account manager to determine which user among a plurality of users is connected to the data analysis apparatus. The resource manager 220 may determine a data analysis device for connecting to the user query device 110 in consideration of the data access right and the log of the user.

사용자의 데이터 접근 권한 및 로그를 종합적으로 고려함으로써, 사용자 권한별 경로 관리장치(130)는 사용자 별로 자원 관리사용자 권한을 확인하면서도 사용자의 질의결과를 고속대량으로 전달할 수 있는 효과를 발생시킨다.By comprehensively considering the data access right and log of the user, the path management apparatus 130 according to the user authority generates the effect of transmitting the query result of the user at a high speed and in a large amount while confirming the resource management user right for each user.

도 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 Resource Status Reporter 310, a Path Connector 320, a Query Transmitter 330, and a Query And a Query Result Transmitter (340).

자원상황 보고기(310)는 사용자 권한별 경로 관리장치(130)로 데이터 분석장치의 자원상황정보를 보고하는 유닛이다. 자원상황 보고기(310)는 사용자 권한별 경로 관리장치(130)의 자원 관리기(220)에 연결된다. 여기서 자원상황정보는 물리적 자원(Physical Resource) 또는 커넥션 풀(Connection Pool) 등에 관한 정보이다. The resource status report unit 310 is a unit for reporting the resource status information of the data analysis apparatus to the path management apparatus 130 according to the user authority. The resource status report 310 is connected to the resource manager 220 of the path management apparatus 130 according to the user authority. Here, the resource status information is information related to a physical resource or a connection pool.

자원상황 보고기(310)는 데이터분석장치의 물리적 자원 중 적어도 하나를 모니터링할 수 있다. 데이터 분석장치의 자원에는 씨피유(CPU), 디스크(Disk), 메모리(Memory), 및 네트워크(Network) 등이 있을 수 있다. 자원상황 보고기(310)는 데이터 분석장치의 자원상황정보를 사용자 권한별 경로 관리장치(130)로 보고한다.The resource status report 310 may monitor at least one of the physical resources of the data analysis apparatus. The resources of the data analysis apparatus may include a CPU, a disk, a memory, and a network. The resource status report unit 310 reports resource status information of the data analysis apparatus to the path management apparatus 130 for each user right.

자원상황 보고기(310)는 커넥션 풀을 모니터링할 수 있다. 자원상황 보고기(310)는 커넥션 풀에 관한 정보를 사용자 권한별 경로 관리장치(130)로 보고한다. 즉, 자원상황 보고기(310)는 복수의 제2경로에 관한 정보를 사용자 권한별 경로 관리장치(130)로 보고한다.The resource status report 310 may monitor the connection pool. The resource status report unit 310 reports information on the connection pool to the path management apparatus 130 for each user right. That is, the resource status report unit 310 reports information on a plurality of second paths to the path management apparatus 130 for each user right.

이러한 커넥션 풀로 인하여 경로 연결장치(140)는 사용자 질의장치(110)에 연결하기 위한 제2경로를 새로 생성할 필요가 없게 되는 효과를 발생시킨다. 게다가 커넥션은 재사용이 가능하므로 연결 속도를 향상시키는 효과를 발생시킨다. 한편, 경로 연결장치(140)는 커넥션의 개수 조절이 가능하여 연결을 요청하는 사용자가 증가하더라고 분산 시스템(150)의 안정성을 향상시키는 효과를 발생시킨다.This connection pool creates an effect that the path connecting device 140 does not need to newly create a second path for connecting to the user query device 110. In addition, connections can be reused, thus increasing the connection speed. On the other hand, the path connection device 140 can control the number of connections, thereby increasing the stability of the distributed system 150 even though the number of users requesting the connection increases.

경로 연결기(320)는 사용자 질의장치(110)와 데이터 분석장치를 연결해주는 유닛이다. 경로 연결기(320)는 사용자 질의장치(110)를 데이터 분석장치에 제2경로(20)를 이용하여 연결한다. 여기서 제2경로(20)는 데이터 전달을 위한 경로이다. 질의의 개수에 맞게 제2경로(20)는 복수개가 가능하다.The path connector 320 is a unit for connecting the user query apparatus 110 and the data analysis apparatus. The path connector 320 connects the user query device 110 to the data analysis device using the second path 20. Here, the second path 20 is a path for data transfer. A plurality of second paths 20 are possible according to the number of queries.

도 1에서는 제2경로(20)는 사용자 질의장치(110)로부터 경로 연결장치로 연결되도록 도시하였으나 사용자 질의장치(110)로부터 데이터 분석장치로 연결될 수도 있다. 다시 말해, 경로 연결기(320)는 사용자 질의장치(110)를 제2경로(20)를 이용하여 데이터 분산장치에 직접 연결하거나 중계 연결할 수 있다.In FIG. 1, the second path 20 is shown to be connected from the user query device 110 to the path connection device, but may also be connected to the data analysis device from the user query device 110. In other words, the path connector 320 may connect or relay the user query device 110 directly to the data distribution device using the second path 20. [

질의 전달기(330)는 분산 시스템으로 전달하기 위한 유닛이다. 질의 전달기(330)는 사용자 권한별 경로 관리장치(130) 및 데이터 분석장치에 각각 연결된다. 질의 전달기(330)는 사용자 권한별 경로 관리장치(130)로부터 수신된 질의를 데이터 분석장치로 전달한다. 예컨대, 경로 연결장치1(140)은 데이터 분석장치1(160)로 질의를 전달할 수 있다.The query sender 330 is a unit for delivering to the distributed system. The query sender 330 is connected to the user authority-specific path management device 130 and the data analysis device, respectively. The query sender 330 delivers the query received from the user authority-specific path management device 130 to the data analysis device. For example, path routing device 1 140 may forward the query to data analysis device 1 160.

이러한 질의 전달로 인하여 분산 시스템(150) 또는 분산된 데이터 분석장치(160, 162, 164)가 사용자의 질의를 활용할 수 있는 효과가 발생한다.The transmission of the query results in an effect that the distributed system 150 or the distributed data analysis apparatuses 160, 162, and 164 can utilize the user's query.

질의결과 전달기(340)는 사용자 질의장치(110)로 질의결과를 전달하는 유닛이다. 질의결과 전달기(340)는 사용자 질의장치(110) 및 데이터 분석장치에 각각 연결된다. 질의결과 전달기(340)는 데이터 분석장치로부터 수신된 질의결과를 제2경로(20)를 이용하여 사용자 질의장치로 전달할 수 있다.The query result sender 340 is a unit that transmits the query result to the user query device 110. The query result sender 340 is coupled to the user query device 110 and the data analysis device, respectively. The query result sender 340 can forward the query result received from the data analysis apparatus to the user query apparatus using the second path 20.

여기서 질의결과는 질의에 맞게 추출된 데이터로서, 대용량 데이터가 될 수 있다. 질의결과는 데이터 분석장치에 저장된 원 데이터(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 route management apparatus 130 according to the user authority has the effect of transmitting the query result of the user at a high speed and in a large amount while confirming the user authority.

이하에서는 도 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 path management device 130 connects to the user query device and the distributed path connection device, respectively. In step S420, the path management apparatus 130 according to the user authority analyzes the query received from the user query apparatus 110 using the first path, and determines whether the user's account can access the data.

사용자의 계정이 데이터에 접근 가능한 경우, 사용자 권한별 경로 관리장치(130)는 사용자 질의장치(110)에게 접근 권한 있음을 응답한다(S430). 사용자의 계정이 데이터에 접근 가능하지 않는 경우, 사용자 권한별 경로 관리장치(130)는 사용자 질의장치(110)에게 접근 권한 없음을 응답한다(S440). If the user's account is accessible to the data, the path management apparatus 130 according to the user authority replies that the user query apparatus 110 has access authority (S430). If the user's account can not access the data, the path management device 130 for each user right responds to the user query device 110 that there is no access right (S440).

사용자의 계정이 데이터에 접근 가능한 경우, 사용자 권한별 경로 관리장치(130)는 분산된 경로 연결장치에 각각 연결된 분산된 데이터 분석장치 중에서 질의의 처리를 위한 적어도 하나의 데이터 분석장치를 결정한다(S450). 사용자 권한별 경로 관리장치(130)는 분산된 데이터 분석장치의 자원상황정보, 사용자의 질의유형, 사용자와 데이터 분석장치 간의 커넥션 풀(Connection Pool), 및 사용자 로그 등을 근거하여 질의의 고속처리가 가능한지 여부를 판단할 수 있다. 예컨대, 사용자 권한별 경로 관리장치(130)는 사용자의 질의를 처리하기 위한 데이터 분석장치를 데이터 분석장치1(160)로 결정할 수 있다.When the user's account is accessible to the data, the user authority-specific path management device 130 determines at least one data analysis device for processing the query among the distributed data analysis devices connected to the distributed path connection devices, respectively ). The user authority-specific path management device 130 performs high-speed processing of queries based on the resource status information of the distributed data analysis apparatus, the query type of the user, the connection pool between the user and the data analysis apparatus, It is possible to judge whether or not it is possible. For example, the path management apparatus 130 according to the user authority may determine the data analysis apparatus 1 (160) as a data analysis apparatus for processing a user query.

사용자의 계정이 데이터에 접근 가능한 경우, 사용자 권한별 경로 관리장치(130)는 사용자 질의장치(110)로부터 수신된 질의를 결정된 적어도 하나의 데이터 분석장치에 연결된 경로 연결장치로 전달한다(S460). 예컨대, 사용자 권한별 경로 관리장치(130)는 경로 연결장치1(140)로 질의를 전달한다.When the user's account is accessible, the path management apparatus 130 for each of the user privileges transmits the query received from the user query apparatus 110 to the path connection apparatus connected to the determined at least one data analysis apparatus (S460). For example, the user authority-specific path management apparatus 130 transmits the query to the path connection apparatus 140 (140).

사용자의 계정이 데이터에 접근 가능한 경우, 사용자 권한별 경로 관리장치(130)는 사용자 질의장치(110)와 결정된 적어도 하나의 데이터 분석장치 간의 연결을 위한 제2경로에 관한 정보를 사용자 질의장치(110)로 전달한다(S470).When the user's account is accessible to the data, the user authority-specific path management device 130 transmits information on the second path for connection between the user query device 110 and the determined at least one data analysis device to the user query device 110 (S470).

도 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 path management device 130 for each user right.

설명의 편의를 위해 사용자의 질의를 처리하기 위한 데이터 분석장치가 데이터 분석장치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 user query apparatus 110 requests the second path connection, the path connection apparatus 140 connects the user query apparatus 110 to the data analysis apparatus 160 using the second path (S540) . The path connection apparatus 1 (140) transfers the query result received from the data analysis apparatus 1 (160) to the user query apparatus 110 (S550). When the delivery of the query result of the data analysis apparatus 1 (160) is completed to the user query apparatus 110, the path connection apparatus 1 (140) reports the delivery of the query result to the path management apparatus 130 according to the user authority (S560) .

도 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 user query apparatus 110 and the user authentication apparatus 120 perform operations. The user query apparatus 110 requests the user authentication apparatus 120 to authenticate the user (S610). The user authentication apparatus 120 may perform an authentication procedure using a user account, a password, and device-specific identification information. The user authentication apparatus 120 transmits the authentication result to the user query apparatus 110 (S612).

사용자의 데이터 접근 권한 유무를 판단하는 과정에서는 사용자 질의장치(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 user query device 110 and the path management apparatus 130 according to the user authority perform operations. The user query apparatus 110 transmits the query to the path management apparatus 130 according to the user authority using the first path (S620). The path management apparatus 130 for each user authority analyzes the received query and determines whether the user's account can access the data (S420). The path management apparatus 130 for each user right responds to the user query apparatus 110 whether the access right is authorized or not (S622).

데이터 분석장치의 자원상황을 관리하는 과정은 사용자 권한별 경로 관리장치(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 path management apparatus 130, the distributed path connection apparatuses 140, 142, 144, and the distributed data analysis apparatuses 160, 162, . The distributed data analysis apparatuses 160, 162, and 164 report resource status information of the data analysis apparatus to the distributed path connection apparatuses 140, 142, and 144 (S512). The distributed path connection devices 140, 142, and 144 report resource status information of the data analysis apparatus to the path management apparatus 130 according to the user authority (S512). The path management apparatus 130 for each user authority determines at least one data analysis apparatus that has performed the query based on the resource status information of the distributed data analysis apparatus or the like (S450).

이러한 자원 관리로 인하여 사용자 권한별 경로 관리장치(130)는 사용자 권한을 확인하면서도 사용자의 질의결과를 고속대량으로 처리할 수 있는 데이터 분석장치를 선별할 수 있는 효과를 발생시킨다.Due to such resource management, the path management apparatus 130 according to the user authority generates an effect of selecting a data analysis apparatus capable of processing a user query result at a high speed and in a large volume while confirming the user authority.

사용자의 질의를 데이터 분석장치로 전달하는 과정은 사용자 질의장치(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 user query apparatus 110, the user authority path management apparatus 130, and the user authority path management apparatus 130 And the data analysis apparatus 1 (160) determined by the path connection apparatus 1 (140) and the path management apparatus 130 according to the user authority perform operations.

도 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 path management apparatus 130, and the path connection apparatus 1 (140) But the present invention is not limited thereto.

사용자 질의장치(110)는 사용자 권한별 경로 관리장치(130)로 제1경로를 이용하여 질의를 전송한다(S620). 사용자 권한별 경로 관리장치(130)는 경로 연결장치(140)로 질의를 전달한다(S460). 경로 연결장치(140)는 데이터 분석장치로 질의를 전달한다(S640).The user query apparatus 110 transmits the query to the path management apparatus 130 according to the user authority using the first path (S620). The user authority-specific path management device 130 transmits the query to the path connection device 140 (S460). The path connection device 140 transmits the query to the data analysis device (S640).

이러한 질의 전달로 인하여 분산 시스템(150) 또는 분산된 데이터 분석장치(160, 162, 164)가 사용자의 질의를 활용할 수 있는 효과가 발생한다.The transmission of the query results in an effect that the distributed system 150 or the distributed data analysis apparatuses 160, 162, and 164 can utilize the user's query.

질의결과를 사용자 질의장치로 전달하는 과정에서는 사용자 질의장치(110), 사용자 권한별 경로 관리장치(130), 경로 연결장치, 데이터 분석장치가 동작을 수행한다.In the process of transmitting the query result to the user query device, the user query device 110, the user authority-specific path management device 130, the path connection device, and the data analysis device perform operations.

사용자 권한별 경로 관리장치(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 path management apparatus 130 for each user right transfers information on the second path to the user query apparatus 110 (S470). The user query apparatus 110 requests the path connection apparatus 1 140 to connect the second path (S630). The path connection device 1 140 connects the second path between the user query device 110 and the data analysis device 1 160 (S540). The path connection apparatus 1 (140) transmits the query to the data analysis apparatus 1 (160) (S640). The data analysis apparatus 1 (160) transmits the query result of the data analysis apparatus 1 (160) to the path connection apparatus 1 (140) (S642). The path connection apparatus 1 (140) transfers the query result received from the data analysis apparatus to the user query apparatus 110 (S550). When the delivery of the query result of the data analysis apparatus 1 (160) is completed to the user query apparatus 110, the path connection apparatus 1 (140) reports the delivery of the query result to the path management apparatus 130 according to the user authority (S560) .

이러한 제2경로로 인하여 사용자 권한별 경로 관리장치(130)는 사용자 권한을 확인하면서도 사용자의 질의결과를 고속대량으로 전달할 수 있는 효과가 발생한다.Due to the second route, the route management apparatus 130 according to the user authority has the effect of transmitting the query result of the user at a high speed and in a large amount while confirming the user authority.

도 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: path management apparatus 140, 142, 144 according to user authority:
150: Distributed system 160, 162, 164: Data analysis device
210: user authority analyzer 220: resource manager
230: Path redirector 240, 330: Query routing
310: Resource status report 320: Path connector
340: Query results

Claims (11)

사용자 질의(Query)장치 및 분산된 경로(Path) 연결장치와 각각 연결되며, 상기 사용자 질의장치와 상기 분산된 경로 연결장치 간의 경로를 관리하는 장치에 있어서,
상기 사용자 질의장치로부터 제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 항에 있어서,
상기 제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.
제 1 항에 있어서,
상기 자원 관리기는 상기 분산된 데이터 분석장치의 자원상황정보, 상기 사용자의 질의유형, 상기 사용자와 상기 적어도 하나의 데이터 분석장치 간의 커넥션 풀(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 항에 있어서,
상기 사용자 질의장치로부터 상기 제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.
제 5 항에 있어서,
상기 제2경로는 데이터 전달을 위한 경로인 것을 특징으로 하는 경로 연결장치.
6. The method of claim 5,
And the second path is a path for data transfer.
제 5 항에 있어서,
상기 경로 연결기는 상기 사용자 질의장치를 상기 제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.
제 5 항에 있어서,
상기 사용자 권한별 경로 관리장치로부터 수신된 질의를 상기 데이터 분석장치로 전달하는 질의 전달기(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:
제 5 항에 있어서,
상기 데이터 분석장치로부터 수신된 질의결과를 상기 제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:
프로세서에 의해 실행 가능한 컴퓨터 프로그램 명령어들을 포함하는 유형의(Tangible) 컴퓨터 판독 가능한 기록매체에 기록된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램 명령어들이 상기 프로세서에 의해 실행되는 경우에,
사용자 질의장치 및 분산된 경로 연결장치에 각각 연결하는 과정;
상기 사용자 질의장치로부터 제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 >
프로세서에 의해 실행 가능한 컴퓨터 프로그램 명령어들을 포함하는 유형의(Tangible) 컴퓨터 판독 가능한 기록매체에 기록된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램 명령어들이 상기 프로세서에 의해 실행되는 경우에,
사용자 권한별 경로 관리장치 및 데이터 분석장치에 각각 연결하는 과정;
상기 데이터 분석장치의 자원상황정보를 상기 사용자 권한별 경로 관리장치로 보고하는 과정; 및
상기 사용자 질의장치가 제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 >
KR1020150154515A 2015-11-04 2015-11-04 Apparatus and Computer Program for Managing Query Path and Data Path KR102233380B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (10)

* Cited by examiner, † Cited by third party
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