KR101318234B1 - Data cache method and device for database system - Google Patents
Data cache method and device for database system Download PDFInfo
- Publication number
- KR101318234B1 KR101318234B1 KR1020120043142A KR20120043142A KR101318234B1 KR 101318234 B1 KR101318234 B1 KR 101318234B1 KR 1020120043142 A KR1020120043142 A KR 1020120043142A KR 20120043142 A KR20120043142 A KR 20120043142A KR 101318234 B1 KR101318234 B1 KR 101318234B1
- Authority
- KR
- South Korea
- Prior art keywords
- query
- result information
- cache
- information
- database system
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 데이터베이스 관리에 관한 것으로서, 좀 더 상세하게는 데이터베이스 시스템의 처리 부하를 줄이기 위한 데이터 캐시(cache) 방법 및 장치에 관한 것이다.
The present invention relates to database management, and more particularly, to a data cache method and apparatus for reducing the processing load of a database system.
인터넷 등의 발달로 방대한 양의 정보가 제공되고 있는 요즘, 대부분의 정보 데이터는 데이터베이스 (Database)로 관리 및 운영되며, 일반적으로 이를 관리하는 시스템을 DBMS(Database Management System)라 칭한다.Nowadays, the vast amount of information is provided by the development of the Internet, etc. Most of the information data is managed and operated as a database (Database), and generally the system that manages it is called DBMS (Database Management System).
인터넷에 정보를 제공하는 간단한 공지사항을 비롯하여 대규모의 회사 정보나 거래정보 등 대용량의 정보에 이르기 까지 다양한 많은 량의 정보를 DBMS에 의지하여 정보를 관리 및 이용하고 있다.The company manages and uses a large amount of information by relying on DBMS, ranging from simple announcements that provide information to the Internet, to large-scale information such as large company information or transaction information.
일반적으로 인터넷에 정보가 제공되기 위해서는 다음과 같은 데이터의 흐름이 이루어 진다.In general, the following data flow occurs to provide information to the Internet.
DBMS -> WAS(웹 어플리케이션 서버(web application server)) -> 어플리케이션 프로그램(JAVA, 닷넷 등) -> 웹서버 -> L4 -> 방화벽 -> 라우터등의 인터넷 중계장치 ->사용자방화벽 -> 사용자 PC.DBMS-> WAS (web application server)-> Application program (JAVA, .Net etc.)-> Web server-> L4-> Firewall-> Internet relay device such as router-> User firewall-> User PC .
인터넷에 제공되는 정보의 기하급수적 증가와 사용자수의 증가 그리고 전달되는 데이터의 반복횟수의 증가로 인해 위의 형태의 일반적인 데이터 흐름만으로는 사용자의 요구에 대해 빠른 시간 내에 대량의 요구를 처리하기에는 여러 가지 문제 및 자원의 한계가 발생하게 된다.Due to the exponential growth of information provided to the Internet, the increase in the number of users, and the increase in the number of repetitions of data transmitted, the above general data flow alone has many problems in dealing with the large demands of users in a short time. And resource limitations.
그래서 현재에는 각 단계별로 캐시 서버(cache server)를 구축하여 (웹가속기 / CDN / 브라우저캐시 등) 사용자에게 전달되는 데이터가 DBMS에서부터 발생되지 않고 중간의 캐시 서버에서 처리하여 전달하도록 하는 장치들을 사용함으로써 서버의 부하를 줄이면서도 사용자는 빠른 응답을 얻을 수 있는 시스템을 구축하고 있다.So now, by building a cache server for each stage (web accelerator / CDN / browser cache, etc.) by using devices that process data to be delivered to the intermediate cache server instead of originating from the DBMS We are building a system that reduces the load on the server and allows the user to get a quick response.
하지만 이러한 캐시 장치에 가장 큰 문제는 캐시된 데이터가 정적 데이터거나 갱신 주기가 비교적 긴 데이터인 경우에는 효과적인 캐시를 할 수 있지만 자주 변하는 데이터 이거나 갱신 주기를 알 수 없는 데이터인 경우에는 사용자에게 오래된 데이터 혹은 잘못된 정보를 제공하게 된다.The biggest problem with these cache devices, however, is that if the cached data is static data or data with relatively long update cycles, it can be effectively cached, but if the data changes frequently, or if the update cycles are unknown, then the user may have old data or It will give you incorrect information.
이러한 이유는 각각의 장치 중간에 놓여 있는 캐시장치들로서는 해당 데이터가 수정되었는지 최신의 데이터 인지를 정확하게 판단하기가 곤란한 경우가 발생하기 때문이다.This is because it is difficult for the cache devices in the middle of each device to accurately determine whether the data is modified or the latest data.
이에 대한 대책으로 결과가 민감한 데이터인 경우에는 캐시 대상에서 제외시켜서 서비스를 제공하고, 상대적으로 데이터 갱신이 민감하지 않고 많은 사용자에게 동일한 데이터를 제공하는 경우의 데이터에 한정하여 캐시를 적용하는 형태로 서비스가 이루어 지고 있다.As a countermeasure, if the result is sensitive data, the service is provided by excluding it from the target of the cache, and the service is applied in the form of applying the cache to the data when the data is relatively insensitive and provides the same data to many users. Is being done.
또한 좀더 능동적으로 캐시를 운영하는 경우 WAS에서 서비스 페이지를 구축할 때 개발자가 일일이 해당 데이터에 대한 캐시 정책을 결정하여 자바(JAVA) 등의 프로그램언어로 해당 데이터의 캐시 및 캐시 갱신에 대한 로직을 구현하여 운영하고 있다.In addition, if the cache is actively managed, the developer decides the cache policy for the data when building the service page in WAS, and implements the logic for caching and updating the cache of data in a program language such as JAVA. To operate.
그러나 이러한 경우에도 문제점이 발생되는데 대부분의 기업망에서 제공하는 서비스는 서비스 신뢰도 및 대량의 부하에 대한 대비로 이중화(서버 장치의 복수개 운영)로 시스템이 구성되어 있는데 WAS에서 구현하는 캐시의 경우 이중화된 시스템에서는 개별적인 장치 내에서만 효과적인 캐시가 이루어 질 뿐 다른 서버(WAS)에서 제공되는 데이터에 대해서는 캐시가 안된(두 개의 WAS가 서로 다른 결과를 제공하게 되는) 정보를 제공하게 된다.However, this problem occurs, too. The service provided by most corporate networks is composed of redundancy (multiple operations of server devices) for service reliability and heavy load. The system only caches effectively within individual devices, and provides uncached information for data provided by different servers (two WASs provide different results).
이를 해결하기 위해서는 클러스터링(clustering)이라 하는 복잡한 데이터 연동 기술이 동반되어야 하며, 이렇게 구성되는 시스템은 개발자의 캐시 정책 구현 능력에 의존하여 성능 차이가 상당히 발생할 수 있게 되어 전문적인 캐시 지식을 갖춘 개발자가 아닌 일반 개발자에 의한 캐시 정책 수립 시에는 캐시 효과가 떨어지거나 갱신된 데이터가 제대로 사용자에게 전달되지 못하는 현상이 발생하게 되어, 결과적으로는 민감한 데이타의 경우 캐시를 하지 않고 그냥 DBMS에서 데이터를 매번 호출하여 사용자에게 전달하게 된다.In order to solve this problem, complex data interworking technology called clustering must be accompanied, and the system configured in this way can cause significant performance difference depending on the developer's ability to implement cache policy. When the cache policy is established by the general developer, the cache effect is inferior or the updated data is not delivered to the user. As a result, the sensitive data is not cached and the data is simply called every time from the DBMS. Will be sent to.
또한 정적인 형태의 질의(Java 등의 프로그램에 삽입되어 사용자에게 서비스되는 화면에서 사용되는 질의)는 여러 가지 방법에 의해서 캐시를 할 수 있는 장치가 많이 구성되어 있는 반면에, 동적인 질의(OLAP(On-line Analytical Processing)나 사용자가 DBMS에 직접 질의를 보내는 경우 혹은 어플리케이션이 DBMS에 직접 접속하는 경우)에 대해서는 WAS나 웹가속기 등의 캐시장치를 거치지 않기 때문에 캐시장치가 지원을 하지 못하게 된다.
In addition, static queries (queries used in the screen that are inserted into programs such as Java and served to users) are composed of many devices that can be cached by various methods, whereas dynamic queries (OLAP ( On-line Analytical Processing) or when a user sends a query directly to a DBMS or when an application connects directly to a DBMS, the cache cannot be supported because it does not go through a cache device such as a WAS or web accelerator.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 데이터베이스 시스템(DBMS)의 앞 단에 위치하도록 하여, 보다 효과적이고 빠른 응답을 구현할 수 있는 데이터 캐시 방법 및 장치를 제공하기 위한 것이다.Accordingly, the present invention has been made to solve the above-described problem, and to provide a data cache method and apparatus that can be located in front of a database system (DBMS), which can implement a more effective and faster response.
또한, 본 발명은 사용자 혹은 데이터베이스 시스템을 사용하는 어플리케이션(WAS 등)이 직접 접근을 하지 않고 하나의 보안 인증과정을 더 거치게 함으로써, 데이터베이스 시스템이 제공하지 못하는 좀더 세밀하고 상세한 사용자의 데이터 접근을 통제하여 내부사용자에 의한 데이터 누출사고에 대한 차단을 이룰 수 있도록 하는 데이터베이스 시스템을 위한 데이터 캐시 방법 및 장치를 제공하기 위한 것이다.
In addition, the present invention allows a user or an application using a database system (WAS, etc.) to go through one more security authentication process without direct access, thereby controlling more detailed and detailed user data access that the database system cannot provide. An object of the present invention is to provide a method and apparatus for caching data for a database system, which enables blocking of data leakage by an internal user.
본 발명의 일 측면에 따르면, 데이터베이스 시스템과 연결된 장치에 있어서, 캐시저장부; 입력된 질의문을 분석하여 조회용인지 갱신용인지 여부를 판단하는 질의분석부; 및 상기 질의문이 조회성인 경우 상기 질의문이 캐시저장부에 등록되어 있는지를 확인하고, 확인 결과에 따라, 등록된 경우 상기 캐시저장부에 저장된 상기 질의문에 따른 결과정보를 추출하여 출력하고, 이와 달리 등록되지 않은 경우엔 상기 데이터베이스 시스템으로 상기 질의문을 호출하여 상기 결과정보를 수신 및 출력하고 상기 질의문과 상기 결과정보를 상기 캐시저장부에 등록하는 캐시관리부를 포함하는 데이터 캐시 장치가 제공된다.According to an aspect of the present invention, an apparatus connected to a database system, Cache storage unit; A query analyzing unit that analyzes the input query and determines whether the query is for update or update; And checking whether the query is registered in the cache storage unit when the query is inquiring, and extracting and outputting result information according to the query stored in the cache storage unit when the query is registered. In contrast, if not registered, a data cache device including a cache manager for receiving and outputting the result information by calling the query statement to the database system and registering the query statement and the result information in the cache storage unit is provided. .
여기서, 상기 캐시저장부에는 상기 질의문과 상기 결과정보를 갖는 질의결과정보가 순번대로 저장되고, 상기 데이터베이스 시스템에서 관리되는 데이터의 테이블 단위로 관련질의결과정보의 순번에 대한 정보를 갖는 테이블사용정보가 더 저장될 수 있다.Here, the cache storage unit sequentially stores the query result information having the query statement and the result information, and table usage information having information on the order of the related query result information in table units of data managed by the database system. More can be stored.
또한, 상기 질의분석부에 의해 상기 질의문이 갱신용으로 분석된 경우, 상기 캐시관리부는 상기 질의문을 상기 데이터베이스 시스템에 반영하고, 상기 캐시저장부에 저장된 테이블사용정보를 참조하여 상기 질의문에 따른 테이블의 테이블사용정보에 기록된 순번의 질의결과정보를 상기 캐시저장부에서 삭제한다.In addition, when the query is analyzed for update by the query analyzing unit, the cache manager reflects the query statement to the database system and references the table usage information stored in the cache storage unit. The query result information recorded in the table usage information of the corresponding table is deleted from the cache storage unit.
또한, 미리 설정된 질의문보안정보를 참조하여, 상기 질의문에 설정된 보안등급에 따른 사용자 권한을 인증처리하는 인증처리부가 더 포함될 수 있다.
In addition, an authentication processing unit for authenticating a user's authority according to the security level set in the query may be further included with reference to the preset query security information.
본 발명의 다른 측면에 따르면, 데이터베이스 시스템과 연결된 장치에서의 데이터 캐시 방법에 있어서, 입력된 질의문을 분석하여 조회용인지 여부를 판단하는 단계; 상기 질의문이 조회용인 경우, 상기 질의문이 질의결과정보로서 상기 질의문에 따른 결과정보와 함께 등록되어 저장수단에 저장되어 있는지를 확인하는 단계; 및 확인 결과에 따라, 등록된 경우 상기 저장수단으로부터 상기 결과정보를 추출하여 출력하고, 이와 달리 등록되지 않은 경우엔 상기 데이터베이스 시스템으로부터 상기 질의문을 호출하여 상기 결과정보를 수신하여 출력하고 상기 질의문과 상기 결과정보를 새로운 질의결과정보로서 등록하는 단계를 포함하는 데이터베이스 시스템을 위한 데이터 캐시 방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체가 제공된다.According to another aspect of the present invention, a data cache method in a device connected to a database system, the method comprising: analyzing the input query to determine whether or not for inquiry; If the query is for inquiry, checking whether the query is registered with the result information according to the query as query result information and stored in the storage means; And in accordance with a confirmation result, extracts the result information from the storage means when it is registered and outputs it. Otherwise, if not registered, the query statement is called from the database system to receive and output the result information. There is provided a data cache method for a database system comprising the step of registering the result information as new query result information and a recording medium on which a program for executing the method is recorded.
여기서, 미리 설정된 질의문보안정보를 참조하여, 상기 질의문에 설정된 보안등급에 따른 사용자 권한을 인증하는 단계가 더 포함될 수 있다.Here, the method may further include authenticating a user's authority according to the security level set in the query statement by referring to the preset query statement security information.
또한, 상기 새로운 질의결과정보는 새로운 순번을 가지며, 상기 결과정보에 상응하는 테이블의 테이블사용정보로서 상기 새로운 순번을 기록하는 단계가 더 포함될 수 있다.The new query result information may have a new order number, and the method may further include recording the new order number as table usage information of a table corresponding to the result information.
또한, 상기 질의문이 갱신용으로 분석된 경우, 상기 질의문을 상기 데이터베이스 시스템에 반영하는 단계; 및 상기 질의문에 따른 테이블의 테이블사용정보로서 기록된 순번의 질의결과정보를 삭제하는 단계가 포함될 수 있다.
In addition, if the query is analyzed for updating, reflecting the query to the database system; And deleting the order of the query result information recorded as the table usage information of the table according to the query.
본 발명에 따르면, 데이터베이스 시스템의 앞 단에 위치하여 데이터베이스 시스템으로 유입되는 모든 질의문에 대해 처리함으로써, 보다 효과적이고 빠른 응답을 제공하는 데이터 캐시 장치 및 그 장치에서의 처리 방법을 제공할 수 있다.According to the present invention, it is possible to provide a data cache apparatus and a method of processing in the apparatus that provide a more effective and faster response by processing all query statements which are located at the front of the database system and flow into the database system.
또한, 본 발명에 따르면, 질의문 단위로 사용자의 접근 권한을 인증처리함으로써, 입력된 질의문만으로 사용자의 접근권한을 인증처리할 수 있어 인증처리의 간편성뿐 아니라 데이터의 보안 설정 또는 갱신에 대한 관리의 편의성을 제공한다.
In addition, according to the present invention, by authenticating the user's access authority in the unit of a query statement, it is possible to authenticate the user's access authority only by the input query statement to manage not only the simplicity of authentication processing but also the security setting or update of data. To provide convenience.
도 1은 본 발명의 일 실시예에 따른 데이터베이스 시스템을 위한 데이터 캐시 기능을 위한 전체 시스템을 개략적으로 나타낸 구성도.
도 2는 본 발명의 일 실시예에 따른 캐시처리장치의 구성을 도시한 블록도.
도 3은 본 발명의 일 실시예에 따른 질의결과정보를 예시한 테이블.
도 4는 본 발명의 일 실시예에 따른 테이블사용정보를 도시한 예시도.
도 5는 본 발명의 일 실시예에 따른 질의문보안정보를 예시한 테이블.
도 6은 본 발명의 일 실시예에 따른 데이터베이스 시스템을 위한 캐시 과정을 도시한 흐름도.
도 7은 본 발명의 다른 실시예에 다른 질의문에 설정된 보안정보를 이용하여 보안이 강화된 캐시 기능을 제공하는 과정을 도시한 흐름도.1 is a schematic diagram showing an entire system for a data cache function for a database system according to an embodiment of the present invention.
Figure 2 is a block diagram showing the configuration of a cache processing apparatus according to an embodiment of the present invention.
3 is a table illustrating query result information according to an embodiment of the present invention.
4 is an exemplary view showing table usage information according to an embodiment of the present invention.
5 is a table illustrating query statement security information according to an embodiment of the present invention.
6 is a flowchart illustrating a caching process for a database system according to an embodiment of the present invention.
7 is a flowchart illustrating a process of providing a security-enhanced cache function using security information set in another query statement in another embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.
이하, 첨부한 도면들을 참조하여 본 발명에 따른 실시예들을 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성 요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout the specification and claims. The description will be omitted.
도 1은 본 발명의 일 실시예에 따른 데이터베이스 시스템을 위한 데이터 캐시 기능을 위한 전체 시스템을 개략적으로 나타낸 구성도이다.1 is a configuration diagram schematically showing an entire system for a data cache function for a database system according to an embodiment of the present invention.
도 1을 참조하면, 본 실시예에 따른 전체시스템은 데이터베이스 시스템(10, DBMS), 캐시처리장치(30) 및 사용자(50)를 포함한다.Referring to FIG. 1, the entire system according to the present embodiment includes a database system 10 (DBMS), a
본 실시예에 따른 캐시처리장치(30)는 데이터베이스 시스템(10)의 앞 단에 위치하여, 데이터베이스 시스템(10)으로 유입되는 모든 질의를 처리한다. 다시 말해, 사용자단말 또는 WAS와 같은 데이터를 요구하는 클라이언트 어플리케이션(Client Application)과 같은 사용자(50)로부터 요구되는 모든 질의(예를 들어, SQL)는 데이터베이스 시스템(10)으로 직접 호출되지 않고 캐시처리장치(30)로 유입되는 것이다. The
그리고 캐시처리장치(30)는 인터넷 장치인 프록시 서버(proxy server)와 같이, 데이터베이스 시스템(10)의 데이터 일부를 캐시처리하여 저장하고 있어, 질의에 대한 보다 빠른 응답 결과를 사용자(50)에게 제공한다. 다시 말해, 캐시처리장치(30)는 질의에 대한 응답데이터를 데이터베이스 시스템(10)으로부터 항상 추출하는 것이 아니라, 해당 질의에 대해 이전에 입력된 이력이 있는 경우 해당 질의 및 그에 따른 결과정보인 응답데이터를 저장하고 있어 곧바로 사용자(50)에게 응답데이터를 제공하는 캐시 기능을 갖는 것이다. 캐시 기능 수행 방법에 대한 설명은 차후 상세히 설명하기로 한다.The
이렇게 캐시처리장치(30)는 프록시(Proxy) 기능을 이용함으로써 데이터베이스 시스템(10)으로 들어오고 데이터베이스 시스템(10)로부터 나가는 모든 데이터에 대해서 중간에 통제(캐시여부/사용자 통제여부) 할 수 있는 수단을 얻게 된다. 또한 캐시처리장치(30)에 의해 데이터가 처리됨으로써, 현재 진행중인 질의문(SQL 구문 등)과 작동상태/ 동작시간 등의 모니터링 정보와 함께 비정상적인 수행(지나치게 많은 시간/자원을 소모)하는 질의문을 확인하고 이를 삭제할 수 있는 수단을 제공할 수 있게 된다.In this way, the
또한 프록시 기능을 이용한 캐시 방식에 의해, 어플리케이션이나 WAS의 소프트웨어적 환경의 변화(데이터베이스 시스템 접속 모듈의 변화)나 프로그램의 수정이 필요 없이 하드웨어적인 캐시처리장치(30)의 삽입만으로 운영중인 시스템에도 간편하고 효과적으로 데이터베이스 시스템에 캐시를 도입할 수 있게 된다.In addition, the cache method using a proxy function is convenient for a system that is operated only by inserting a hardware
또한, 캐시처리장치(30)는 데이터베이스 시스템으로 유입되는 모든 질의를 처리하게 되므로, 각 질의 또는 사용자에 대한 인증처리를 수행할 수 있으며 이로 인해, 데이터베이스 시스템(10)으로 접근 권한 등을 처리하는 보안 기능을 제공할 수 있다. In addition, since the
1차적으로 캐시처리장치(30)는 해당 데이터베이스 시스템(10)에 물리적으로 접근할 수 있는 권한을 체크하는 사용자 인증의 단계를 자체적으로 더 구현함으로써 실제 데이터베이스 시스템(10)으로의 접근에 대한 권한을 더욱 세분화시킬 수 있는 방법을 제공한다.Initially, the
경우에 따라서는 데이터베이스 시스템(10)을 어플리케이션이 접근해야 하는 경우가 있는데 일반적으로는 데이터베이스 시스템(10)은 방화벽으로 보호하여 방화벽 외부에서는 접근을 못하도록 제한하도록 한다. WAS 등의 웹을 지원하는 시스템인 경우에도 데이터베이스 시스템(10)에 접근하는 시스템은 방화벽 안쪽에 두거나 해당 서버만을 예외적으로 방화벽을 오픈(open)하게 된다. 하지만 CS Program 등과 같이 경우에 따라서는 데이터베이스 시스템(10)에 직접적으로 접근이 필요한 경우도 발생하게 되는데, 이때 캐시처리장치(30)의 프록시 기능뿐 아니라 보안 기능을 이용하여 접속 사용자에 대한 접근을 통제 관리할 수 있게 한다.In some cases, an application needs to access the
일반적으로는 데이터베이스 시스템(10)의 권한 관리는 사용자별 카테고리, 테이블, 뷰 단위로 접근권한을 통제하게 된다. 하지만 실제 운영환경에 있어서는 테이블단위나 뷰단위로는 지나치게 많은 데이터가 접근자에게 노출되는 상황이 생기게 된다.In general, the authority management of the
예를 들어 특정기업의 매출정보를 관리하는 테이블이 있다고 가정을 한다면 이 테이블에 접근 권한(Select권한만이라 하더라도)만 있다면 이 테이블에 있는 모든 데이터를 접근할 수 있게 된다. 그러므로 예를 들어 회사 정책상 자기 부서의 매출정보만을 보도록 허락된 정책을 취한다 하더라도 테이블에 접근 권한이 있는 사용자가 데이터베이스 시스템(10)에 직접 접속을 하게 되면 모든 부서의 매출정보를 획득할 수 있게 된다. 또한 이를 방지하기 위해 모든 부서별로 뷰(View)를 만들어 모든 사용자별로 뷰의 권한을 설정하는 것도 어려운 상황이다.For example, suppose you have a table that manages sales information for a specific company. If you only have access to the table (even if you have Select permission), you can access all the data in this table. Thus, for example, even if the company policy allows a user to view only sales information of his or her department, if a user with access to the table directly accesses the
이에 따라 본 발명의 일실시예에 따른 캐시처리장치(30)는 권한 설정을 일반적인 데이터베이스 시스템(10)의 접근 권한인 테이블이나 뷰 권한 뿐 아니라 특정 질의문만을 이용할 수 있도록 하는 보안정책을 제공할 수 있다. 다시 말해, 데이터베이스 시스템(10)으로의 접근을 원하는 사용자의 사용권한에 대해 질의문 단위의 실행권한 인증 기능을 구현하는 것이다. 질의문 단위의 보안 방식에 대해서는 차후 관련 도면을 참조하여 상세히 설명하기로 한다.Accordingly, the
이하, 상기한 캐시처리장치(30)의 구성 및 그 캐시 방법에 대해 설명하기로 한다.
Hereinafter, the configuration of the above-described
도 2는 본 발명의 일 실시예에 따른 캐시처리장치(30)의 구성을 도시한 블록도이고, 도 3은 본 발명의 일 실시예에 따른 질의결과정보를 예시한 테이블이고, 도 4는 본 발명의 일 실시예에 따른 테이블사용정보를 도시한 예시도이고, 도 5는 본 발명의 일 실시예에 따른 질의문보안정보를 예시한 테이블이다.2 is a block diagram showing the configuration of the
도 2를 참조하면, 본 실시예에 따른 캐시처리장치(30)는 질의분석부(210), 캐시저장부(220), 캐시관리부(230), 인증처리부(240) 및 메인제어부(250)를 포함한다.Referring to FIG. 2, the
캐시저장부(220)에는 캐시 기능에 따라 데이터베이스 시스템(10)에 저장되는 데이터의 일부가 저장되는데, 그 저장 데이터에 대해서는 관련 도면(도 3 내지 도 4)을 참조하여 후술하기로 한다.A part of data stored in the
질의분석부(210)는 사용자(50)로부터 입력되는 SQL 구문과 같은 질의문을 분석하여, 해당 질의문이 조회용(select)인지 또는 삭제(delete)/갱신(update)/삽입(insert) 등의 데이터가 바뀌는 갱신용인지 여부를 판단한다.The
또한 질의분석부(210)는 해당 질의문에서 사용되는 테이블이 무엇인지를 분석한다. 사용테이블의 분석은 질의문에서 [FROM]절의 구문에 나와 있는 테이블(TABLE)의 명칭을 추출하며, 만일 추출된 명칭이 테이블이 아니고 뷰(VIEW)인 경우도 해당 뷰에서 사용하는 테이블을 2차 분석하여 추출하게 된다. 그리고 추출된 테이블에 트리거(trigger)가 설정되어 있는 경우에도 트리거의 수정 대상이 되는 테이블도 대상에 포함된다. 서브쿼리(인라인뷰)도 뷰와 동일한 형태로 2차 분석을 실시하여 동일한 과정을 거쳐서 대상 테이블을 추출한다.In addition, the
캐시관리부(230)는 캐시저장부(220)에 저장된 데이터들을 참조하여, 상기한 바와 같은 사용자단말 또는 WAS와 같은 어플리케이션 프로그램인 사용자(50)로부터 입력된 질의문에 따른 응답데이터를 캐시저장부(220) 또는 데이터베이스 시스템(10)으로부터 추출하여 해당 사용자(50)에게 제공하도록 기능한다.The
예를 들어, 캐시관리부(230)는 입력된 질의문이 조회성인 경우 해당 질의문이 캐시저장부(220)에 등록되어 있는지를 확인하고, 확인 결과에 따라, 등록된 경우 캐시저장부(220)에 저장된 질의문에 따른 결과정보(즉 응답데이터)를 추출하여 출력하고, 이와 달리 등록되지 않은 경우엔 데이터베이스 시스템(10)으로 해당 질의문을 이용한 결과정보를 추출하여 출력한다. 또한, 캐시관리부(230)는 캐시저장부(220)에 해당 질의문이 등록되어 있지 않으면, 그 질의문과 결과정보를 캐시저장부(220)에 새로이 등록함으로써, 차후 동일한 질의문이 입력되면 데이터베이스 시스템(10)으로부터 결과정보를 추출할 필요없이 곧바로 캐시저장부(220)에 저장된 결과정보를 사용자(50)에게 제공할 수 있다. For example, the
캐시저장부(220)에 저장되는 정보를 예시한 도 3을 참조하면, 입력된 각 질의문과 그 결과정보에 순번이 매겨지는 질의결과정보가 저장된다. Referring to FIG. 3, which illustrates information stored in the
따라서, 캐시처리장치(30)는 질의문이 입력되면, 캐시저장부(220)에 저장되는 질의결과정보를 참조하여 해당 질의문이 등록되어 있는지를 확인하고, 등록되어 있는 경우엔 해당 결과정보를 추출하여 해당 질의문을 전송한 사용자(50)에게 응답 결과로서 제공할 수 있는 것이다. 도면을 참조하여 하나의 예를 들자면, 사용자(50)로부터 [Q0001]이라는 조회용 질의문이 입력되면, 캐시처리장치(30)는 질의결과정보를 참조하여 [a]라는 결과정보를 사용자(50)에게 제공할 수 있다.Therefore, when the query statement is input, the
물론, 캐시관리부(230)는 입력된 질의문이 질의결과정보로서 등록되어 있지 않는 경우, 해당 질의문과 그에 따른 결과정보를 데이터베이스 시스템(10)으로부터 추출하여 비어있는 순번을 갖도록 새로이 등록한다.Of course, if the input query is not registered as the query result information, the
또한, 질의분석부(210)에 의해 입력된 질의문이 조회용이 아닌 갱신용인 것으로 분석된 경우, 캐시관리부(230)는 해당 질의문을 데이터베이스 시스템(10)에 반영하고, 또한 캐시저장부(220)에 저장된 정보들을 갱신 처리한다. 즉, 캐시저장부(220)에 저장된 질의결과정보에서 해당 갱신용 질의문에 따른 정보들을 삭제해야 한다.In addition, when the query input by the
이를 위한 일 실시예에 따른 방법을 설명하기 위해 도 5를 참조하면, 데이터베이스 시스템(10)에서 관리되는 테이블(Table, 일반적으로 데이터베이스는 데이터들을 테이블 단위로 관리함)들이 사용된 이력이 저장되는데, 도면에 도시된 바와 같은 각 테이블의 사용 이력에 대한 정보들을 [테이블사용정보]라 칭하기로 한다.Referring to FIG. 5 to describe a method according to an embodiment, a history of using tables managed in the database system 10 (generally, the database manages data in table units) is stored. Information on the usage history of each table as shown in the following will be referred to as [table usage information].
예를 들어, 도 3에 따른 질의결과정보 중 질의문 Q0001이 테이블 A와 C를 참조한 조회용인 경우, 도 4에 도시된 바와 같이 테이블 A와 B의 테이블사용정보에는 해당 질의문 Q0001에 따른 순번(1번)이 기록된다. 이와 같은 방식으로 테이블 A의 테이블사용정보를 참조하면, 1, 2, 4, 7, 11, 20, 21, ... 번의 질의결과정보에 따른 질의문은 테이블 A를 참조한 결과정보를 갖는 다는 것을 의미한다. For example, when the query Q0001 of the query result information according to FIG. 3 is for querying referring to tables A and C, as shown in FIG. 4, the table usage information of tables A and B is included in the order according to the corresponding query Q0001 ( 1) is recorded. Referring to the table usage information of Table A in this way, the query according to the query result information of 1, 2, 4, 7, 11, 20, 21, ... has the result information referring to Table A. it means.
따라서, 갱신용 질의문에 의해 데이터베이스 시스템(10)의 테이블 A 또는 B가 갱신되면, 캐시처리장치(30)는 테이블사용정보를 참조하여, 테이블 A 또는 B의 테이블사용정보에 따른 순번(예를 들어, 순번 1 등)의 질의결과정보를 삭제한다.Therefore, when the table A or B of the
이에 따라, 테이블 내용이 갱신됨으로 인해, 그로 인한 결과정보가 바뀔 수 있으므로, 캐시처리장치(30)는 캐시저장부(220)에 저장된 질의결과정보를 갱신하는 것이다. 물론, 갱신된 테이블에 상응하는 질의결과정보가 삭제되므로, 해당 테이블의 테이블사용정보도 초기화된다.Accordingly, since the table contents are updated, the resulting information may be changed, and thus the
본 실시예에 따르면, 테이블사용정보를 이용함으로써, 갱신된 테이블에 따른 질의결과정보를 보다 빠르고 쉽게 검색하여 삭제할 수 있다. According to the present embodiment, by using the table usage information, query result information according to the updated table can be searched and deleted more quickly and easily.
다시 도 2를 참조하면, 캐시처리장치(30)의 인증처리부(240)는 사용자(50)의 데이터베이스 시스템(10)의 데이터에 대한 접근 권한을 인증 처리하도록 기능한다.Referring back to FIG. 2, the
다른 실시예에 따른 도 5를 참조하면, 캐시처리장치(30)는 각 질의문에 대한 보안등급(510)이 설정된 질의문보안정보를 참조하여, 입력된 질의문의 보안 설정 여부 및 보안 등급을 확인하고, 그에 따른 인증처리를 수행한다. 쉬운 예로, 질의문 Q0003에 등급3의 보안이 설정된 경우, 캐시처리장치(30)는 Q0003에 따른 질의문을 입력한 사용자(50)의 사용자정보(자체 구비되거나 연결된 장치의 저장수단에 미리 저장되어 관리됨)를 참조하여 해당 사용자(50)의 보안등급이 3등급 이상인 경우 질의문 Q0003에 따른 결과정보를 해당 사용자(50)에게 제공한다.Referring to FIG. 5 according to another embodiment, the
본 실시예에 따르면, 특정 데이터를 조회하거나 갱신하기 위한 질의문 단위로 보안을 설정할 수 있어, 데이터베이스 시스템(10)의 각종 데이터에 대한 보안의 설정 및 변경 등이 용이해질 수 있다.According to the present embodiment, security can be set in units of query statements for querying or updating specific data, so that security and setting of various data of the
그리고 캐시처리장치(30)의 메인제어부(250)는 각 구성부의 전반적인 동작을 제어하는데, 예를 들어 질의문이 입력되면 인증처리부(240)가 해당 질의문에 따른 사용자인증을 처리하도록 제어하며, 인증이 성공되면 질의분석부(210)가 질의문을 분석하도록 하고, 캐시관리부(230)가 분석된 질의문에 따른 캐시저장부(220)에 저장된 데이터의 처리를 수행하도록 한다.In addition, the
도면에는 도시되지 않았으나, 캐시처리장치(30)는 데이터베이스 시스템(10)과 데이터를 송수신하기 위한 인터페이스부(미도시) 및 네트워크(network)등을 통해 사용자(50)와 데이터를 송수신하기 위한 통신부(미도시) 등을 더 포함할 수 있음은 당연하며, 이는 당업자에게는 자명할 것이므로 더욱 상세한 설명은 생략한다. Although not shown, the
이하에서는 캐시처리장치(30)에서의 캐시 과정에 대해 상세히 설명하기로 한다.
Hereinafter, the caching process in the
도 6은 본 발명의 일 실시예에 따른 데이터베이스 시스템(10)을 위한 캐시 과정을 도시한 흐름도이고, 도 7은 본 발명의 다른 실시예에 다른 질의문에 설정된 보안정보를 이용하여 보안이 강화된 캐시 기능을 제공하는 과정을 도시한 흐름도이다.FIG. 6 is a flowchart illustrating a caching process for a
도 6을 참조하면, 캐시처리장치(30)는 사용자(50)로부터 질의문을 입력 받으면(S610), 질의문을 분석하여, 해당 질의문이 조회용인지 또는 갱신용인지를 분석하고, 또한 해당 질의문이 이용하고자 하는 데이터에 따른 테이블을 인식한다(S615). 상기한 테이블에 대한 정보는 질의결과정보 및 테이블사용정보를 생성 또는 갱신하기 위해 사용되며, 이는 상술하였으므로 중복되는 설명은 생략한다.Referring to FIG. 6, when the
캐시처리장치(30)는 분석결과를 참조하여 질의문이 조회용인지 또는 갱신용인지를 판단하며(S620), 만일 입력된 질의문이 조회용인 경우 캐시저장부(220)의 질의결과정보를 참조하여(S625) 해당 질의문이 질의결과정보로서 등록되었는지 여부를 판단한다(S630).The
질의결과정보로서 입력된 질의문이 등록되어 있는 경우, 그 질의결과정보를 참조하여 해당 질의문에 따른 결과정보를 추출하여(S645) 질의문을 입력한 사용자(50)에게 제공한다(S645).If the query statement input as the query result information is registered, the result information according to the query statement is extracted with reference to the query result information (S645) and provided to the
이와 달리 질의문이 질의결과정보로서 등록되어 있지 않는 경우엔, 캐시처리장치(30)는 데이터베이스 시스템(10)에 질의문을 호출하여 데이터베이스 시스템(10)으로부터 결과정보를 추출한다(S640). 그리고 도면에는 도시되어 있지 않으나, 캐시처리장치(30)는 해당 질의문과 그 결과정보를 새로운 질의경과정보로서 캐시저장부(220)에 등록한다. 즉, 새로운 순번을 갖는 질의결과정보가 생성되어 캐시저장부(220)에 저장되는 것이다.On the contrary, if the query statement is not registered as the query result information, the
S620에서의 판단결과, 질의문이 조회용이 아닌 갱신용인 경우, 캐시처리장치(30)는 데이터베이스 시스템(10)으로 질의문을 호출함으로써, 질의문에 따른 데이터가 갱신되도록 질의문을 데이터베이스 시스템(10)에 반영한다(S650). As a result of the determination in S620, when the query statement is for update rather than for inquiry, the
그리고, 갱신용 질의문의 분석결과에 따른 하나 이상의 테이블에 대해, 그 테이블의 테이블사용정보에 기록된 순번의 질의결과정보를 삭제함으로써, 질의결과정보를 갱신한다(S655).
Then, the query result information is updated by deleting the order of the query result information recorded in the table usage information of the table for one or more tables according to the analysis result of the update query statement (S655).
이하에서는 상술한 바와 같이 캐시처리장치(30)는 질의문 단위로 보안 기능을 제공하는데, 보안 기능이 설정된 경우의 처리 과정에 대해 설명하고자 한다.Hereinafter, as described above, the
보안 기능에 따른 처리 과정을 도시한 도 7을 참조하면, 캐시처리장치(30)는 질의문을 입력받으면(S710), 미리 설정된 도 5에 도시된 바와 같은 질의문보안정보를 참조하여, 입력된 질의문에 보안이 설정되어 있는지 여부를 판단한다(S720).Referring to FIG. 7, which illustrates a process according to a security function, when the
보안이 설정되어 있는 않는 경우, 도 6에 도시된 바와 같은 캐시 처리 과정에 따른 질의문 분석 단계(S615)로 진행된다.If the security is not set, the process proceeds to a query statement analysis step S615 according to the cache processing process as shown in FIG.
이와 달리 해당 질의문에 보안이 설정된 경우, 캐시처리장치(30)는 해당 질의문의 보안등급을 확인하고, 확인된 보안등급에 따른 사용자(50)의 권한을 인증 처리한다(S730). On the contrary, when security is set for the query, the
캐시처리장치(30)는 인증처리 결과 인증의 성공여부를 판단하고(S470), 인증이 성공된 경우 마찬가지로 S615로 진행하며, 인증이 실패되면 사용자(50)에게 인증실패를 통보한다(S750).The
본 실시예에 따르면, 사용자(50)로부터 입력된 질의문을 데이터베이스 시스템(10)에 반영하여 그 결과정보를 얻은 이후, 해당 결과정보에 따른 사용자(50)의 접근권한을 확인하는 방식에 비해, 입력된 질의문만으로 사용자(50)의 접근권한을 인증처리할 수 있어, 인증처리의 간편성뿐 아니라 데이터의 보안 설정 또는 갱신에 대한 관리의 편의성을 제공한다.
According to this embodiment, after obtaining the result information by reflecting the query input from the
상술한 본 발명에 따른 데이터베이스 시스템(10)을 위한 데이터 캐시 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다. The data caching method for the
또한, 상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined in the appended claims. It will be understood that various modifications and changes may be made.
10 : 데이터베이스 시스템( DBMS)
30 : 캐시처리장치
50 : 사용자
210 : 질의분석부
220 : 캐시저장부
230 : 캐시관리부
240 : 인증처리부
250 : 메인제어부10: database system (DBMS)
30: cache processing device
50: user
210: query analysis unit
220: cache storage unit
230: cache management unit
240: authentication processing unit
250:
Claims (9)
캐시저장부;
입력된 질의문을 분석하여 조회용인지 갱신용인지 여부를 판단하는 질의분석부;
상기 질의문이 조회성인 경우 상기 질의문이 캐시저장부에 등록되어 있는지를 확인하고, 확인 결과에 따라, 등록된 경우 상기 캐시저장부에 저장된 상기 질의문에 따른 결과정보를 추출하여 출력하고, 이와 달리 등록되지 않은 경우엔 상기 데이터베이스 시스템으로 상기 질의문을 호출하여 상기 결과정보를 수신 및 출력하고 상기 질의문과 상기 결과정보를 상기 캐시저장부에 등록하는 캐시관리부; 및
미리 설정된 질의문보안정보를 참조하여, 상기 질의문에 설정된 보안등급에 따른 사용자 권한을 인증처리하는 인증처리부를 포함하는 데이터 캐시 장치.
A device connected to a database system,
A cache storage unit;
A query analyzing unit that analyzes the input query and determines whether the query is for update or update;
If the query is queryable, check whether the query is registered in the cache storage unit, and if it is registered, extract and output the result information according to the query stored in the cache storage unit according to the check result. Unless otherwise registered, a cache manager for receiving and outputting the result information by calling the query statement to the database system and registering the query statement and the result information in the cache storage unit; And
And an authentication processing unit for authenticating a user's authority according to a security level set in the query statement by referring to preset query security information.
상기 캐시저장부에는 상기 질의문과 상기 결과정보를 갖는 질의결과정보가 순번대로 저장되고, 상기 데이터베이스 시스템에서 관리되는 데이터의 테이블 단위로 관련질의결과정보의 순번에 대한 정보를 갖는 테이블사용정보가 더 저장되는 것을 특징으로 하는 데이터 캐시 장치.
The method according to claim 1,
The cache storage unit sequentially stores the query result and the query result information having the result information, and further stores table usage information having information about the order of the related query result information in table units of data managed by the database system. Data cache device, characterized in that.
상기 질의분석부에 의해 상기 질의문이 갱신용으로 분석된 경우,
상기 캐시관리부는 상기 질의문을 상기 데이터베이스 시스템에 반영하고, 상기 캐시저장부에 저장된 테이블사용정보를 참조하여 상기 질의문에 따른 테이블의 테이블사용정보에 기록된 순번의 질의결과정보를 상기 캐시저장부에서 삭제하는 것을 특징으로 하는 데이터 캐시 장치.
The method according to claim 2,
When the query is analyzed for update by the query analyzer,
The cache management unit reflects the query statement to the database system, and stores the order of the query result information recorded in the table usage information of a table according to the query by referring to the table usage information stored in the cache storage unit. Data cache device, characterized in that for deleting from.
미리 설정된 질의문보안정보를 참조하여, 입력된 질의문에 설정된 보안등급에 따른 사용자 권한을 인증하는 단계;
상기 인증이 성공되면, 상기 질의문을 분석하여 조회용인지 여부를 판단하는 단계;
상기 질의문이 조회용인 경우, 상기 질의문이 질의결과정보로서 상기 질의문에 따른 결과정보와 함께 등록되어 저장수단에 저장되어 있는지를 확인하는 단계; 및
확인 결과에 따라, 등록된 경우 상기 저장수단으로부터 상기 결과정보를 추출하여 출력하고, 이와 달리 등록되지 않은 경우엔 상기 데이터베이스 시스템으로부터 상기 질의문을 호출하여 상기 결과정보를 수신하여 출력하고 상기 질의문과 상기 결과정보를 새로운 질의결과정보로서 등록하는 단계를 포함하는 데이터베이스 시스템을 위한 데이터 캐시 방법.
A data caching method in a device connected with a database system,
Authenticating a user's authority according to a security level set in an input query by referring to preset query security information;
If the authentication is successful, analyzing the query to determine whether the query is for inquiry;
If the query is for inquiry, checking whether the query is registered with the result information according to the query as query result information and stored in the storage means; And
According to the result of the check, if registered, the result information is extracted from the storage means and outputted; otherwise, if not registered, the query is called from the database system to receive and output the result information, and the query and the And registering the result information as new query result information.
상기 새로운 질의결과정보는 새로운 순번을 가지며, 상기 결과정보에 상응하는 테이블의 테이블사용정보로서 상기 새로운 순번을 기록하는 단계를 더 포함하는 데이터베이스 시스템을 위한 데이터 캐시 방법.
The method according to claim 5,
The new query result information has a new order number, and further comprising the step of recording the new order number as table usage information of a table corresponding to the result information.
상기 질의문이 갱신용으로 분석된 경우,
상기 질의문을 상기 데이터베이스 시스템에 반영하는 단계; 및
상기 질의문에 따른 테이블의 테이블사용정보로서 기록된 순번의 질의결과정보를 삭제하는 단계를 포함하는 데이터베이스 시스템을 위한 데이터 캐시 방법.
The method of claim 7,
If the query is analyzed for update,
Reflecting the query statement in the database system; And
And deleting the order of the query result information recorded as the table usage information of the table according to the query statement.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120043142A KR101318234B1 (en) | 2012-04-25 | 2012-04-25 | Data cache method and device for database system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120043142A KR101318234B1 (en) | 2012-04-25 | 2012-04-25 | Data cache method and device for database system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101318234B1 true KR101318234B1 (en) | 2013-10-15 |
Family
ID=49638465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120043142A KR101318234B1 (en) | 2012-04-25 | 2012-04-25 | Data cache method and device for database system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101318234B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101780041B1 (en) * | 2016-05-30 | 2017-09-19 | 주식회사 인피니플럭스 | Method and apparatus for improving throughput of database |
CN113535752A (en) * | 2021-07-12 | 2021-10-22 | 上海中通吉网络技术有限公司 | Method for inquiring data warehouse Hive by Presto inquiry engine |
KR102519005B1 (en) | 2022-12-29 | 2023-04-06 | 주식회사 에스티씨랩 | Data transmitting and receiving control server, system and method thereof using status of database |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990032180A (en) * | 1997-10-16 | 1999-05-06 | 정선종 | How to match the contents of the database with the contents stored in cache memory |
KR20000032342A (en) * | 1998-11-13 | 2000-06-15 | 이계철 | Cache managing method of multi-layer data integrating system |
JP2006106867A (en) * | 2004-09-30 | 2006-04-20 | Toshiba Corp | Cache-provided searching device, cache optimization method applied to device, and program |
JP2012043338A (en) * | 2010-08-23 | 2012-03-01 | Nippon Telegr & Teleph Corp <Ntt> | Cache management apparatus, cache management program and recording medium |
-
2012
- 2012-04-25 KR KR1020120043142A patent/KR101318234B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990032180A (en) * | 1997-10-16 | 1999-05-06 | 정선종 | How to match the contents of the database with the contents stored in cache memory |
KR20000032342A (en) * | 1998-11-13 | 2000-06-15 | 이계철 | Cache managing method of multi-layer data integrating system |
JP2006106867A (en) * | 2004-09-30 | 2006-04-20 | Toshiba Corp | Cache-provided searching device, cache optimization method applied to device, and program |
JP2012043338A (en) * | 2010-08-23 | 2012-03-01 | Nippon Telegr & Teleph Corp <Ntt> | Cache management apparatus, cache management program and recording medium |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101780041B1 (en) * | 2016-05-30 | 2017-09-19 | 주식회사 인피니플럭스 | Method and apparatus for improving throughput of database |
CN113535752A (en) * | 2021-07-12 | 2021-10-22 | 上海中通吉网络技术有限公司 | Method for inquiring data warehouse Hive by Presto inquiry engine |
KR102519005B1 (en) | 2022-12-29 | 2023-04-06 | 주식회사 에스티씨랩 | Data transmitting and receiving control server, system and method thereof using status of database |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11741244B2 (en) | Partial policy evaluation | |
US11153226B2 (en) | Incorporating web applications into web pages at the network level | |
US20210248017A1 (en) | Method and apparatus for authorizing api calls | |
US11178112B2 (en) | Enforcing security policies on client-side generated content in cloud application communications | |
US20200137189A1 (en) | Flexible caching | |
EP3620999A1 (en) | Governed access to rpa bots | |
US8453255B2 (en) | Method for monitoring stored procedures | |
KR101422859B1 (en) | Permission-based document server | |
US20170041341A1 (en) | Polymorphic Treatment of Data Entered At Clients | |
CN103329113A (en) | Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method | |
US11138311B2 (en) | Distributed security introspection | |
US20180205705A1 (en) | Network request proxy system and method | |
US10904274B2 (en) | Signature pattern matching testing framework | |
US20190026163A1 (en) | Intelligent Business Logging for Cloud Applications | |
US20090240759A1 (en) | Methods and Apparatus for Web Application Testing Using Proxy | |
KR101620601B1 (en) | Method for conducting security check, Computer program for the same, and Recording medium storing computer program for the same | |
US11416631B2 (en) | Dynamic monitoring of movement of data | |
KR101318234B1 (en) | Data cache method and device for database system | |
US20070192324A1 (en) | Method and device for advanced cache management in a user agent | |
US20160261715A1 (en) | System and method for securing a web server | |
US11568060B2 (en) | Modular taint analysis with access paths | |
US11184431B2 (en) | System and control method | |
KR102022984B1 (en) | Web Based SSO Service Method | |
JP6754079B2 (en) | Information processing equipment, information processing system, user authentication method, and user authentication program | |
US11973793B2 (en) | Bifurcating security event processing |
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 |