KR102185555B1 - Method of secure access and query execution of database and server implementing thereof - Google Patents
Method of secure access and query execution of database and server implementing thereof Download PDFInfo
- Publication number
- KR102185555B1 KR102185555B1 KR1020200058959A KR20200058959A KR102185555B1 KR 102185555 B1 KR102185555 B1 KR 102185555B1 KR 1020200058959 A KR1020200058959 A KR 1020200058959A KR 20200058959 A KR20200058959 A KR 20200058959A KR 102185555 B1 KR102185555 B1 KR 102185555B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- agent
- dml
- query
- central control
- 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/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- 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/305—Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버에 관한 것이다.The present invention relates to a security access method for a database and a query execution method and a server implementing the same.
유통 업체, 예를 들어 체인화된 슈퍼마켓, 편의점, 대형 쇼핑몰 등은 상품의 결제 및 상품 관리를 위해 포스시스템(POS, Point of sale system)을 구축하고 있다. 포스시스템은 다양한 상품 정보와 고객 정보, 또는 거래 정보를 저장하여야 하며, 또한 매장 내에서 실시간으로 이용된다는 점에서 시스템의 유지 및 보수가 중요한 이슈가 되고 있다. Retailers, for example chained supermarkets, convenience stores, and large shopping malls, are building a POS (Point of sale system) for product payment and product management. POS systems have to store various product information, customer information, or transaction information, and system maintenance and maintenance are becoming an important issue in that they are used in real time within the store.
그런데, 이러한 시스템의 유지 및 보수를 위해 시스템 담당자가 매장을 방문하는 것은 시간의 소요를 야기할 뿐만 아니라 시스템 관리의 비용을 증대시킨다. 따라서, 포스시스템에 대한 원격 관리가 필요하다.However, it takes time for a system person to visit a store for maintenance and repair of such a system, and increases the cost of system management. Therefore, it is necessary to remotely manage the POS system.
하지만, 포스시스템의 원격 관리는 포스시스템의 보안과 함께 제공되어야 한다. 만약, 포스시스템의 보안이 보장되지 않을 경우, 포스시스템이 저장하는 데이터베이스는 신뢰성을 잃을 수 있다.However, remote management of POS systems should be provided with the security of POS systems. If the POS system's security is not guaranteed, the database stored by the POS system may lose its reliability.
이에, 보안성이 보장되는 포스시스템의 원격 관리 방법과 이를 구현하는 시스템의 구현이 요구된다. Accordingly, there is a need to implement a remote management method of POS system and a system that implements the POS system that guarantees security.
본 명세서에서는 다수의 포스시스템의 데이터베이스에 저장된 정보를 안전하게 데이터베이스 작업을 할 수 있는 방안을 제시한다. In this specification, a method for safely performing database operations on information stored in databases of multiple POS systems is proposed.
본 명세서에서는 다수의 포스시스템의 데이터베이스의 작업이 중앙통제서버를 통한 일원화를 유도하여 외부에서의 접근을 방지하여 데이터베이스 자료의 안정성을 보장하는 방안을 제시한다. In this specification, a method for ensuring the stability of database data by preventing external access by inducing unification of the work of multiple POS systems' databases through a central control server is proposed.
본 명세서에서는 다수의 포스시스템의 데이터베이스와의 연결 과정에서 에이전트의 권한을 인사정보와 함께 검증하여 데이터베이스 접근자가 권한에 적합하게 데이터베이스 작업을 수행하는 방안을 제시한다. In this specification, a method for a database accessor to perform a database operation appropriately to the authority is proposed by verifying the authority of the agent together with personnel information in the process of connecting to the databases of a plurality of POS systems.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to the problems mentioned above, and other problems not mentioned herein will be clearly understood by those skilled in the art from the following description.
본 발명의 일 실시예에 의한 중앙통제서버는 제1에이전트, 제2에이전트 및 포스시스템의 데이터베이스와 통신하는 통신부와 제1에이전트가 전송한 DML 생성 정보를 검증한 후 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성하는 제어부와 통신부가 DML 쿼리 정보를 포스시스템의 데이터베이스에 전송하며, 전송 전 또는 전송 후의 시점에 DML 쿼리 정보 또는 이의 실행 결과 정보 또는 롤백 정보 또는 DML 생성 정보를 저장하는 저장부를 포함한다.The central control server according to an embodiment of the present invention verifies the communication unit that communicates with the database of the first agent, the second agent, and the POS system, and the DML generation information transmitted by the first agent, and then converts the DML generation information into DML query information. A control unit generated by conversion and a communication unit transmits DML query information to the POS system database, and includes a storage unit for storing DML query information or execution result information or rollback information or DML generation information before or after transmission.
본 발명의 일 실시예에 의한 권한 서버는 중앙통제서버와 통신하는 통신부와 인사 정보를 저장하는 인사 정보 저장부와 통신부가 중앙통제서버로부터 제1에이전트가 로그인하는 과정에서 제공한 정보를 수신하면 수신한 정보와 인사 정보 저장부에 저장된 정보를 비교하여 검증 결과를 생성하는 제어부를 포함한다. The authorization server according to an embodiment of the present invention receives the communication unit that communicates with the central control server, the personnel information storage unit that stores the personnel information, and the communication unit from the central control server when the information provided by the first agent during the login process is received. And a control unit that compares the information and information stored in the personnel information storage unit to generate a verification result.
본 발명의 일 실시예에 의한 중앙통제서버의 쿼리 수행 방법은 중앙통제서버의 통신부가 제1에이전트로부터 DML 생성 정보를 수신하는 단계와, 중앙통제서버의 제어부가 수신한 DML 생성 정보를 검증한 후 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성하는 단계와, 통신부가 DML 쿼리 정보를 포스시스템의 데이터베이스에 전송하는 단계와, 중앙통제서버의 저장부가 DML 쿼리 정보의 전송 전 또는 전송 후의 시점에 DML 쿼리 정보 또는 이의 실행 결과 정보 또는 롤백 정보 또는 DML 생성 정보를 저장하는 단계를 포함한다. In the method of performing a query by the central control server according to an embodiment of the present invention, after the communication unit of the central control server receives DML generation information from the first agent, and after verifying the DML generation information received by the control unit of the central control server, Converting DML generated information to DML query information and generating it, the communication unit transmitting DML query information to the POS system database, and the storage unit of the central control server before or after the DML query information is transmitted. And storing information or execution result information or rollback information or DML generation information.
본 발명의 실시예를 구현할 경우 다수의 포스시스템의 데이터베이스에 저장된 정보를 안전하게 데이터베이스 작업을 할 수 있다. When implementing the embodiment of the present invention, it is possible to safely perform database operations on information stored in databases of multiple POS systems.
본 발명의 실시예를 구현할 경우 다수의 포스시스템의 데이터베이스와 중앙통제서버 간의 통신 연결을 통해서만 데이터베이스 작업이 이루어지므로, 외부에서의 접근을 방지하여 데이터베이스 자료의 안정성을 보장할 수 있다. When implementing the embodiment of the present invention, since the database operation is performed only through a communication connection between the databases of a plurality of POS systems and the central control server, it is possible to ensure the stability of the database data by preventing external access.
본 발명의 실시예를 구현할 경우 다수의 포스시스템의 데이터베이스와의 연결 과정에서 에이전트의 권한을 인사정보와 함께 검증하여 데이터베이스 접근자가 권한에 적합하게 데이터베이스 작업을 수행할 수 있다. In the case of implementing an embodiment of the present invention, the database accessor can perform the database operation appropriately for the authority by verifying the authority of the agent together with the personnel information during the connection process with the databases of a plurality of POS systems.
본 발명이 제공하는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects provided by the present invention are not limited to the above-mentioned effects, and other effects not mentioned herein will be clearly understood by those skilled in the art from the following description.
도 1은 본 발명의 일 실시예에 의한 중앙통제서버와 다른 장치들과의 상호 작용을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 의한 중앙통제서버의 구성을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 의한 권한 서버의 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 에이전트가 로그인 시 해당 에이전트의 권한을 확인하는 과정을 보여준다.
도 5는 본 발명의 일 실시예에 의한 에이전트와 중앙통제서버 사이의 작업 흐름을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 의한 에이전트에 로그인하는 담당자가 로그인하는 화면 인터페이스의 구성을 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 의한 에이전트에 로그인하는 담당자가 DML 생성 정보를 생성하는 화면 인터페이스의 구성을 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 의한 중앙통제서버가 쿼리 및 담당자의 권한을 검증하고 이를 처리하는 과정을 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 의한 중앙통제서버와 포스시스템의 데이터베이스의 상호 작용을 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 의한 DML 쿼리 정보의 수행 후 롤백을 수행하는 과정을 보여준다. 1 is a diagram showing an interaction between a central control server and other devices according to an embodiment of the present invention.
2 is a diagram showing the configuration of a central control server according to an embodiment of the present invention.
3 is a diagram showing the configuration of an authorization server according to an embodiment of the present invention.
4 is a diagram illustrating a process of checking the authority of a corresponding agent when an agent logs in according to an embodiment of the present invention.
5 is a diagram showing a work flow between an agent and a central control server according to an embodiment of the present invention.
6 is a diagram showing a configuration of a screen interface for a person in charge logging in to an agent according to an embodiment of the present invention.
7 is a diagram illustrating a configuration of a screen interface for generating DML generation information by a person in charge who logs in to an agent according to an embodiment of the present invention.
FIG. 8 is a diagram illustrating a process in which a central control server verifies and processes a query and authority of a person in charge according to an embodiment of the present invention.
9 is a diagram showing the interaction between the central control server and the database of the POS system according to an embodiment of the present invention.
10 is a view illustrating a process of performing a rollback after executing DML query information according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, only these embodiments make the disclosure of the present invention complete, and common knowledge in the technical field to which the present invention pertains. It is provided to completely inform the scope of the invention to those who have, and the invention is only defined by the scope of the claims. The same reference numerals refer to the same elements throughout the specification.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.In order to clearly describe the present invention, parts irrelevant to the description have been omitted, and the same reference numerals are assigned to the same or similar components throughout the specification. Further, some embodiments of the present invention will be described in detail with reference to exemplary drawings. In adding reference numerals to elements of each drawing, the same elements may have the same numerals as possible even if they are indicated on different drawings. In addition, in describing the present invention, when it is determined that a detailed description of a related known configuration or function may obscure the subject matter of the present invention, a detailed description thereof may be omitted.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the constituent elements of the present invention, terms such as first, second, A, B, (a) and (b) may be used. These terms are only for distinguishing the component from other components, and the nature, order, order, or number of the component is not limited by the term. When a component is described as being "connected", "coupled" or "connected" to another component, the component may be directly connected or connected to that other component, but other components between each component It is to be understood that is "interposed", or that each component may be "connected", "coupled" or "connected" through other components.
이하, 본 명세서에서는 매장 내에 설치된 포스 단말 및 이들 단말이 접속하는 데이터베이스를 하나로 묶어서 포스시스템이라 지시한다. 본 발명의 일 실시예에 의하면, 포스시스템은 하나의 포스 단말 및 해당 단말 내의 데이터베이스를 포함할 수 있다. 또한, 본 발명의 다른 실시예에 의하면 포스시스템은 둘 이상의 포스 단말 및 별도로 구축된 데이터베이스를 포함할 수 있다. 또한, 본 발명의 다른 실시예에 의하면 포스시스템은 둘 이상의 포스 단말 및 포스 단말 중 어느 하나 또는 두 개에 구축된 데이터베이스를 포함할 수 있다. Hereinafter, in the present specification, the POS terminals installed in the store and the database to which these terminals are connected are grouped together and referred to as POS systems. According to an embodiment of the present invention, the POS system may include one POS terminal and a database within the terminal. In addition, according to another embodiment of the present invention, the POS system may include two or more POS terminals and a separately constructed database. In addition, according to another embodiment of the present invention, the POS system may include a database built in one or two of two or more POS terminals and POS terminals.
본 명세서에서는 포스시스템에 원격으로 접속하여 포스시스템을 원격 관리하며 특히 데이터베이스에 쿼리를 전송하여 데이터베이스의 내용을 변경하는 장치를 중앙통제서버라고 지칭한다. 또한 중앙통제서버는 포스시스템 또는 포스시스템의 데이터베이스와 접속할 수 있다. In this specification, a device that remotely connects to the POS system and manages the POS system remotely, and in particular, a device that changes the contents of the database by sending a query to the database is referred to as a central control server. In addition, the central control server can access the POS system or POS system database.
도 1은 본 발명의 일 실시예에 의한 중앙통제서버와 다른 장치들과의 상호 작용을 보여주는 도면이다. 1 is a diagram showing an interaction between a central control server and other devices according to an embodiment of the present invention.
중앙통제서버(100)는 다수의 에이전트들(Agent, 300a~300k)와 연결된다. 이때, 연결 방식의 일 실시예로는 소켓 통신을 포함한다. 에이전트는 노트북을 포함하는 PC, 또는 태블릿이나 스마트폰을 일 실시예로 한다. 또는 에이전트는 전술한 장치들에 설치된 프로그램을 일 실시예로 한다. 이하, 에이전트의 일 실시예로 PC 에이전트를 중심으로 설명하지만, 본 발명이 이에 한정되는 것은 아니다. PC 에이전트는 기업에서 업무용 작업을 수행하는데 주로 이용된다. The
또한, 중앙통제서버(100)는 다수의 포스시스템 내의 데이터베이스(POS Database, 500a~500m)와 연결된다. 포스시스템과 데이터베이스가 일체로 구성될 수 있다. 이 경우 포스시스템 내에 데이터베이스가 배치될 수 있다. In addition, the
이때 중앙통제서버(100)와 포스시스템 내에 데이터베이스 간의 연결 방식의 일 실시예로는 DB(Database) 연결을 포함한다. 포스시스템 혹은 포스 단말기로 지칭되는 장치는 전자식 금전등록기의 기능을 제공하며, 물품을 판매하는 물품판매처에서 물품의 판매에 수반되는 각종 데이터를 판매자에게 알려주는 기능을 제공한다. At this time, an embodiment of the connection method between the
또한, 포스시스템은 판매에 대한 정보 관리를 원활하게 하는데 필요한 정보를 제공하며, 각각의 포스 단말기 혹은 포스시스템은 물품 대금의 결제 과정에서 리딩된 신용정보 또는 판매 정보 등을 데이터베이스로 저장할 수 있다. In addition, the POS system provides information necessary to facilitate management of information on sales, and each POS terminal or POS system may store credit information or sales information, etc., read in the process of payment for goods, as a database.
따라서, 개인 정보 및 물품 정보 등 주요한 정보가 포스시스템에 저장되어 있으므로, 포스시스템의 DB 안정성 및 보안성을 충족시키기 위해서는, 이들 포스시스템의 데이터베이스에 대한 접근을 담당자의 권한에 따라 제어하는 것이 필요하다. 도 1의 구성은 개별 에이전트가 포스시스템으로 직접 접근하지 못하며 중앙통제서버에게 필요한 데이터베이스 작업을 요청할 수 있는 구성이다. Therefore, since important information such as personal information and product information is stored in the POS system, it is necessary to control the access to the POS system databases according to the authority of the person in charge in order to meet the DB stability and security of POS systems. . The configuration of FIG. 1 is a configuration in which an individual agent cannot directly access the POS system and can request a necessary database operation from the central control server.
중앙통제서버(100)는 각 PC 에이전트들로부터 수신한 데이터 조작어, 즉, DML(Data Manipulation Language)과 관련된 네트워크 패킷(예를 들어 바이트 정보)를 DML 쿼리 정보로 변경한다. PC 에이전트가 제공하는 DML 생성 정보는 DML 쿼리를 생성하고 이를 검증하는데 필요한 정보이다. The
그리고 중앙통제서버(100)는 변경된 DML 쿼리 정보를 각각의 포스시스템 내의 데이터베이스에게 전송하고, 쿼리 결과를 수신한다. 그리고 수신한 결과를 에이전트에게 제공한다. And the
DML은 데이터 조작어라고 지칭되며, SELECT/COUNT 등의 명령어를 이용하여 데이터베이스 내의 정보를 검색하거나 INSERT/UPDATE/DELETE 등과 같은 명령어를 이용하여 데이터베이스 내의 정보를 입력/수정/삭제할 수 있다. 데이터 조작어 또는 쿼리문으로 지칭될 수도 있다. DML의 처리는 데이터베이스의 내용을 변경하거나 정보를 검색한다는 점에서 보안이 유지되어야 한다. 따라서, 본 명세서에서 DML의 처리는 중앙 통제 서버(100)만이 포스 데이터베이스와의 연결 하에 처리할 수 있도록 한정하여 DML 처리의 보안성을 높일 수 있다. DML is referred to as a data manipulation word, and information in the database can be searched for information in the database using commands such as SELECT/COUNT, or information in the database can be input/modified/delete using commands such as INSERT/UPDATE/DELETE. It may also be referred to as a data manipulation word or query statement. DML processing should be secured in that it changes the contents of the database or retrieves information. Accordingly, in the present specification, the DML processing is limited so that only the
또한, 중앙통제서버(100)와 PC 에이전트 역시 보안성을 높이는 연결 및 중앙통제서버(100)가 PC 에이전트가 전달하는 DML 생성 정보를 검증하는 구성에 기반하여 불필요하거나 외부의 전산망 침입 또는 내부 담당자의 불법적 DB 접근을 차단할 수 있다. In addition, based on the connection between the
도 1에 도시된 바와 같이, 중앙통제서버(100)는 포스시스템 내의 데이터베이스들과 연결하여 데이터베이스에 대한 DML 실행을 제어한다. 그러나, 중앙통제서버(100)는 에이전트들이 제공하는 DML 생성 정보를 검증한 후, 그에 따라 DML 실행을 수행하므로, 에이전트에서 잘못된 DML 생성 정보를 제공하는 경우에 중앙통제서버(100)는 포스시스템의 데이터베이스 내의 DML 실행을 차단할 수 있다. As shown in FIG. 1, the
한편, 중앙통제서버(100)는 에이전트의 권한을 직접 검증할 수도 있고, 별도의 권한서버(400)를 통하여 에이전트의 권한을 검증할 수도 있다. Meanwhile, the
권한서버(400)는 인사 데이터베이스를 포함할 수 있고, 또한 담당자들 간의 결재가 이루어지며 가맹점에 대한 정보가 저장된 IT 포털을 포함할 수 있다. 즉, 권한 서버(400)는 전술한 인사 DB와 IT 포털을 모두 포함할 수 있고, 중앙통제서버(100)는 권한서버(400)에서 참조된 정보를 이용할 수 있다. The
이때, 에이전트의 권한의 검증은 해당 에이전트에 로그인한 사용자의 인사 정보를 체크하거나, 해당 사용자의 데이터베이스 접근 및 작업수행을 위한 DB 권한을 체크하는 것을 일 실시예로 한다. 또한 권한 서버(400)와 중앙통제서버(100)는 하나의 장치에 구현될 수 있다. At this time, the verification of the agent's authority is to check the personnel information of the user logged in to the agent, or to check the DB authority for accessing the database and performing work of the user. In addition, the
도 2는 본 발명의 일 실시예에 의한 중앙통제서버의 구성을 보여주는 도면이다. 통신부(110)는 다수의 에이전트들, 예를 들어, 제1에이전트(300a), 제2에이전트(300b) 및 포스시스템의 데이터베이스(500a~500m)와 통신한다. 제어부(150)는 제1에이전트(300a)가 전송한 DML 생성 정보를 검증한 후 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성한다. 2 is a diagram showing the configuration of a central control server according to an embodiment of the present invention. The
그리고 통신부(110)가 DML 쿼리 정보를 포스시스템의 데이터베이스에 전송하며, DML 쿼리 정보의 전송 전 또는 전송 후의 시점에 저장부(120)는 DML 쿼리 정보 또는 이의 실행 결과 정보 또는 롤백 정보 또는 DML 생성 정보를 저장한다. Further, the
도 3은 본 발명의 일 실시예에 의한 권한 서버의 구성을 보여주는 도면이다. 권한 서버(400)의 통신부(410)는 중앙통제서버(100)와 통신을 수행한다. 인사 정보 저장부(420)는 인사 정보를 저장한다. 3 is a diagram showing the configuration of an authorization server according to an embodiment of the present invention. The
권한 서버(400)의 통신부(410)가 중앙통제서버(100)로부터 제1에이전트가 로그인하는 과정에서 제공한 정보를 수신하면, 권한 서버(400)의 제어부(450)는 수신한 정보와 인사 정보 저장부(420)에 저장된 정보를 비교하여 검증 결과를 생성한다. When the
또한, 권한 서버(400)는 중앙통제서버(100)에서 특정 담당자/특정 에이전트의 작업에서 오류가 빈번하게 발생할 경우, 이에 대한 히스토리를 인사 정보 저장부(420)에 저장하여, 향후 해당 담당자가 로그인할 경우 롤백이 필요하지 않은 작업만을 수행하도록 검증 결과를 생성할 수 있다. In addition, when an error occurs frequently in the work of a specific person in charge/specific agent in the
도 4는 본 발명의 일 실시예에 의한 에이전트가 로그인 시 해당 에이전트의 권한을 확인하는 과정을 보여준다. 4 is a diagram illustrating a process of checking the authority of a corresponding agent when an agent logs in according to an embodiment of the present invention.
제1에이전트(Agent 1)(300a)는 담당자의 식별정보, 예를 들어 아이디와 이를 검증하는데 필요한 패스워드 등을 입력하는 창을 표시하고 담당자가 아이디(ID)/패스워드(password, pwd)를 입력하면 이를 중앙통제서버(100)에게 전송한다(S1). 또한, 제1에이전트(300a)는 제1에이전트(300a)의 아이피 주소(IP address)를 중앙통제서버(100)에게 아이디/패스워드와 함께 전송할 수 있다. The first agent (Agent 1) (300a) displays a window for inputting identification information of the person in charge, such as an ID and a password necessary to verify it, and when the person in charge enters an ID (ID)/password (pwd), It transmits this to the central control server 100 (S1). In addition, the
중앙통제서버(100)는 전달된 아이디와 패스워드, 그리고 선택적으로 제1에이전트(300a)의 아이피 주소 등을 이용하여 로그인한 담당자를 검증한다(S2). 이 과정에서 권한 서버(400)에게 해당 아이디 소유자인 담당자의 권한이나 인사 정보의 확인을 요청하여 결과를 수신할 수 있다(S4).The
그리고 수신된 결과에 따라 해당 담당자의 접속을 제1에이전트(300a)에게 허락하고(S5), 제1에이전트(300a)는 DML 생성 정보를 작성하여 이를 중앙통제서버(100)에게 제공할 수 있다. In addition, according to the received result, the corresponding person in charge is allowed to access the
또한, 제1에이전트(300a)는 S1 단계에서 추가적으로 담당자의 인사 정보도 중앙통제서버(100)에게 제공할 수 있다.In addition, the
정리하면, 제1에이전트(300a)는 로그인을 수행할 수 있으며, 중앙통제서버(100)의 통신부(110)는 제1에이전트(300a)가 로그인하는 과정(S1)에서 제공한 정보를 권한 서버(400)에게 전송하고(S3), 통신부(110)는 권한 서버(400)로부터 제1에이전트(300a)에 대한 검증 결과를 수신한다(S4). 이후, 중앙통제서버(100)의 제어부(150)는 로그인한 제1에이전트(300a)의 권한에 따라 DML 생성 정보를 검증할 수 있다. In summary, the
권한에 따른 DML 생성 정보란 로그인한 제1에이전트(300a)의 권한에 따라 접근할 수 있는 데이터베이스나 테이블이 달리 설정되는 것을 일 실시예로 한다. 또는 로그인한 제1에이전트(300a)의 권한에 따라 특정 포스시스템에 접근할 수 있는 권한이 달리 설정되는 것을 일 실시예로 한다.The DML generation information according to the authority means that a database or table that can be accessed according to the authority of the logged-in
도 4에서 권한 서버(400)와 중앙통제서버(100)는 하나의 장치 내에 구현될 수도 있고, 별도의 장치에 각각 구현될 수도 있다. 이들 두 서버들(100, 400)은 상호 동작을 통하여 담당자의 권한을 검증하거나, 혹은 해당 담당자가 작성한 DML 생성 정보를 결재할 상위 담당자의 정보를 추출할 수 있다. In FIG. 4, the
도 4에서 권한 서버(400)와 중앙통제서버(100)는 로그인하는 담당자를 검증하는 과정에서 다음의 기준을 적용할 수 있다. 예를 들어, 중앙통제서버(100)는 에이전트 별로 IP에 대응하여 DB 접속 ID를 하나씩 부과하여, 담당자가 할당된 에이전트 외에 다른 에이전트에서 로그인할 수 없도록 제어할 수 있다. In FIG. 4, the
또한, 권한 서버(400)에서 별도로 관리되는 담당자 정보(IP, DBID, 사내이메일 주소)의 검증을 위해, 인사정보(이름, 사번, 부서)와 연계하여, 담당자가 퇴직 또는 정직 등의 사유로 인해 DB 접속에 대한 정당한 권한을 상실한 경우, 해당 담당자의 DB 접속 및 조작에 관한 권한이 자동 회수되도록 할 수 있다.In addition, in order to verify the person in charge information (IP, DBID, internal email address) separately managed by the
예를 들어, 권한 서버(400)와 중앙통제서버(100)는 로그인하는 담당자가 정직 또는 퇴직 또는 부서 이동 등의 사유가 발생했음을 확인하면, 해당 에이전트로부터의 모든 접속을 일차적으로 차단한다. 그리고, 해당 에이전트에서 중앙통제서버(100)에 접속을 시도할 경우, 권한이 없음을 에이전트의 디스플레이에 표시하여 접속에 필요한 별도의 절차 혹은 정보를 요구할 수 있다. For example, when the
한편, 권한 서버(400) 또는 중앙통제서버(100)는 해당 에이전트 또는 담당자 별로 최종 접속 시간에 대한 정보를 저장하여, 일정 기간(예를 들어 1개월 또는 3개월 등의 기간) 이상 미접속한 에이전트/담당자의 접속을 차단할 수 있다. On the other hand, the
도 5는 본 발명의 일 실시예에 의한 에이전트와 중앙통제서버 사이의 작업 흐름을 보여주는 도면이다. 도 4에서 제1에이전트(300a)는 DML 생성 정보를 작성하여 중앙통제서버(100)에게 제공한다. 제2에이전트(300b)는 제1에이전트(300a)가 생성한 DML 생성 정보를 검증할 수 있다.5 is a diagram showing a work flow between an agent and a central control server according to an embodiment of the present invention. In FIG. 4, the
여기서 두 에이전트(300a, 300b)는 모두 도 4의 과정에서 권한을 가진 담당자로 검증이 끝난 상태이다. Here, both
제1에이전트(300a)는 중앙통제서버(100)에 DML 생성 정보를 전송한다(S11). 중앙통제서버(100)는 수신한 DML 생성 정보를 검증한다(S12). 검증 결과 다른 담당자, 예를 들어, 상위 직책자의 확인이 필요한 경우, 해당 직책자가 로그인하거나 로그인할 제2에이전트(300b)에게 DML 생성 정보 및 제1에이전트(Agent 1)의 정보를 전송한다(S13). The
이후, 제2에이전트(300b)는 DML 생성 정보를 검증한 결과를 생성하고(S14) 생성한 결과를 중앙통제서버(100)에 전송한다(S15). 중앙통제서버(100)는 수신한 결과에 따라 DML 쿼리정보를 생성하고 이를 포스시스템의 데이터베이스로 전송하고 결과를 수신한다(S16). DML 쿼리 정보는 포스시스템의 데이터베이스의 특정 테이블의 자료를 검색하거나, 업데이트/삭제/입력 등을 수행하도록 작성된 정보이다. Thereafter, the
중앙통제서버(100)는 포스시스템으로부터 DML 쿼리 정보의 실행 결과를 수신하면 해당 결과를 제1에이전트(300a)에게 전송한다(S17). 이 과정에서 중앙통제서버(100)는 결과 정보를 제2에이전트(300b)에게도 전송할 수 있다. When receiving the execution result of the DML query information from the POS system, the
S16에서 중앙통제서버(100)는 해당 DB DML작업과 관련된 결재문서 조회 후(S15), 대상 포스시스템의 DB정보 입력 및 DML정보 전송을 통해 해당 POS에 접근할 수 있다. 따라서, 중앙통제서버(100)는 제2에이전트(300b)가 결재한 정보를 이용하여 DML 쿼리 정보를 생성할 수 있다. In S16, the
정리하면, 중앙통제서버(100)의 제어부(150)는 제1에이전트(300a)가 전송한 DML 생성 정보의 검증을 위해 제2에이전트(300b)를 선택한다. 선택을 위해 권한서버(400)로부터 제2에이전트(300b)의 식별 정보를 확인할 수 있다. In summary, the
그리고 중앙통제서버(100)의 통신부(110)는 제2에이전트(300b)에게 DML 생성 정보를 전송한 후(S13), 제2에이전트(300b)로부터 DML 생성 정보에 대한 검증 결과를 수신(S15)한다. The
도 4 및 도 5의 플로우에서 각각의 에이전트에서 실행되는 프로그램의 인터페이스 또는 에이전트가 프로그램인 경우의 인터페이스를 살펴본다. In the flows of FIGS. 4 and 5, an interface of a program executed in each agent or an interface when the agent is a program will be described.
도 6은 본 발명의 일 실시예에 의한 에이전트에 로그인하는 담당자가 로그인하는 화면 인터페이스의 구성을 보여주는 도면이다. 담당자는 자신의 식별 정보(DB ID)와 패스워드를 입력할 수 있다. PC 정보의 IP 주소는 에이전트가 자동으로 로딩할 수 있다. 마찬가지로, 인사 정보 역시 에이전트에 1회 입력되면 인사 정보의 변경이 있기 전까지 계속 유지될 수 있다.6 is a diagram showing a configuration of a screen interface for a person in charge logging in to an agent according to an embodiment of the present invention. The person in charge can enter his/her identification information (DB ID) and password. The IP address of PC information can be automatically loaded by the agent. Likewise, once the personnel information is input to the agent, it can be maintained until the personnel information is changed.
또는 PC를 둘 이상의 담당자가 사용할 경우, 담당자가 입력하는 DB ID에 따라 인사 정보가 바뀔 수 있다. 이 경우, 해당 에이전트에는 각각의 DB ID에 대응하는 인사 정보가 미리 저장될 수 있다. Or, if more than one person in charge uses a PC, personnel information may change according to the DB ID entered by the person in charge. In this case, personnel information corresponding to each DB ID may be previously stored in the agent.
도 4의 S1 내지 S3 과정에서 담당자가 에이전트에 로그인을 할 경우, PC의 IP 주소, 또는 담당자가 로그인한 아이디 또는 이에 연계된 인사 정보를 중앙통제서버(100)가 도 4의 권한 서버(400)에게 전송하여 유효 사용자인지 여부를 확인하고 로그인을 완료할 수 있다. When the person in charge logs in to the agent in the process S1 to S3 of FIG. 4, the
즉, 중앙통제서버(100)와 권한서버(400) 및 에이전트들 간의 협업에 따라, 최초 로그인시 사용자PC IP를 키값으로 연계된 DB ID 및 인사정보를 가져와서 중앙통제서버(100) 또는 권한서버(400)가 유효한 사용자인지 여부를 확인한 후 에이전트는 DML 생성 정보를 생성하는 데 필요한 화면을 출력할 수 있다. That is, according to the collaboration between the
도 7은 본 발명의 일 실시예에 의한 에이전트에 로그인하는 담당자가 DML 생성 정보를 생성하는 화면 인터페이스의 구성을 보여주는 도면이다. 도 6의 로그인 화면으로 에이전트에 로그인한 담당자가 DML 생성 정보를 입력하는 화면이다. 7 is a diagram illustrating a configuration of a screen interface for generating DML generation information by a person in charge who logs in to an agent according to an embodiment of the present invention. The login screen of FIG. 6 is a screen in which the person in charge who logs in to the agent inputs DML generation information.
도 7의 구성은 담당자가 특정 가맹점(예를 들어 CSR ID는 "SEOUL_KANGNAM_23")의 포스시스템의 데이터베이스에 상품 주문 내역을 입력하는 작업(insert)을 수행할 수 있다. 작업에 대한 기초 정보는 "CSR 정보"로 표시된 부분에 담당자가 직접 입력할 수 있다. 또는 에이전트가 다른 파일이나 수신된 패킷 등에서 로딩하여 "CSR 정보"로 표시된 부분에 출력할 수 있다. In the configuration of FIG. 7, a person in charge may perform an operation (insert) of inputting product order details into the database of the POS system of a specific affiliate store (for example, the CSR ID is “SEOUL_KANGNAM_23”). Basic information about the job can be directly entered by the person in charge in the part marked "CSR information". Alternatively, the agent can load from another file or a received packet and output it to the portion marked with "CSR information".
그리고 담당자는 "DB 입력 통제"로 표시된 영역에서 데이터베이스를 선택하거나, 테이블을 선택하고, 쿼리를 입력할 수 있다.And the person in charge can select a database, select a table, and enter a query in the area marked "DB input control".
도 7의 화면에서 CSR 정보, DB 입력 통제 정보(DB, 테이블, 대상 서버 IP, 쿼리 종류 및 내용)등이 DML 생성 정보를 구성하며, DML 생성 정보는 중앙통제서버(100)에 전송된다. 중앙통제서버(100)는 쿼리의 종류, 데이터베이스 또는 테이블의 종류 등에 따라서 상위 담당자의 검증을 추가로 수행할 수 있다. In the screen of FIG. 7, CSR information and DB input control information (DB, table, target server IP, query type and content) constitute DML generation information, and the DML generation information is transmitted to the
중앙통제서버(100)는 각 가맹점 별 데이터베이스의 종류와 해당 데이터베이스를 구성하는 테이블에 대한 정보, 그리고 각 테이블에 대한 권한 레벨 정보를 저장할 수 있다. 권한 레벨 정보란, 각 테이블에서 이루어지는 SEARCH/INSERT/UPDATE/DELETE 등을 실행하는 권한에 대한 정보이다. The
예를 들어, "SEARCH" 를 통해 테이블 검색 결과를 확인하는 경우 테이블에 따라 중요도가 달라질 수 있다. 일 실시예로, 구매자의 개인 정보나 결제 정보가 저장된 테이블에 대해 "SEARCH" 명령어를 포함하는 쿼리가 입력되면 중앙통제서버(100)는 이를 상위 담당자의 확인을 통해 검증이 이루어지도록 한다. For example, when checking table search results through "SEARCH", the importance may vary depending on the table. In one embodiment, when a query including a "SEARCH" command is input for a table in which personal information or payment information of a purchaser is stored, the
반면, 상품의 재고 정보나 판매 수량이 저장된 테이블에 대해 "SEARCH" 명령어를 포함하는 쿼리가 입력되면 중앙통제서버(100)는 이러한 검색은 개인 정보에 해당하지 않는 테이블의 검색으로 판단하여 상위 담당자의 확인 없이 쿼리가 수행될 수 있도록 한다.On the other hand, when a query including the "SEARCH" command is input for a table storing product inventory information or sales quantity, the
한편, UPDATE/INSERT/DELETE 와 같은 쿼리문 역시 테이블의 특성에 따라 중앙통제서버(100)는 이를 상위 담당자의 확인을 통해 검증이 이루어지도록 하거나 혹은 확인 없이 쿼리가 수행될 수 있도록 할 수 있다. On the other hand, query statements such as UPDATE/INSERT/DELETE may also be verified through the verification of the upper-level person in charge according to the characteristics of the table, or the query may be performed without verification.
또한, 중앙통제서버(100)는 UPDATE/INSERT/DELETE 와 같이 테이블의 정보를 변경하는 쿼리문에 대해 일정 기간 쿼리문을 저장하거나 혹은 쿼리 결과를 롤백(roll-back)하는데 필요한 정보를 저장할 수 있다. 이때, 중앙통제서버(100)는 해당 DML 쿼리문을 실행할 경우 DB에 영향을 미치는 정도에 따라 위험도를 달리 판단할 수 있으며, 또는 롤백을 위한 정보 저장기간을 달리할 수 있다. In addition, the
예를 들어, 중요도가 낮은 정보들이 저장된 DB 또는 테이블, 혹은 해당 DB나 테이블이 매일 리셋되는 경우에는 중앙통제서버(100)는 해당 DML 쿼리문의 중요도가 낮은 것으로 판단한다. 이 경우 중앙통제서버(100)는 롤백에 필요한 정보의 저장 기간을 짧게 하거나, 혹은 해당 DML 쿼리문에 대한 롤백 기능을 제외시킬 수 있다. For example, if a DB or table in which information of low importance is stored, or if the DB or table is reset every day, the
또는 DML 생성 정보를 검증하는 과정에서 다른 에이전트가 해당 DML 생성정보의 중요도를 설정한 경우, 이를 반영하여 롤백에 필요한 정보의 저장 기간을 증가시킬 수 있다. Alternatively, in the process of verifying the DML generation information, if another agent sets the importance of the corresponding DML generation information, the storage period of information required for rollback may be increased by reflecting this.
전술한 실시예를 적용할 경우, 포스시스템의 DB는 중앙통제서버(100)와 연결된다. 예를 들어 VPN(Virtual Private Network)이 포스시스템에 설치되어 포트 통제를 수행하고, 중앙통제서버(100)는 VPN을 통해 허락된 포트를 통해 포스시스템의 DB들(500a, 500b, ..., 500n)과 연결될 수 있다. When applying the above-described embodiment, the DB of the POS system is connected to the
반면, 에이전트들은 중앙 통제서버(100)와 연결될 뿐이며, 포스시스템의 DB에는 연결되지 않는다. 따라서, 에이전트를 통한 포스시스템의 해킹이나 에이전트를 통한 포스시스템 DB 접근이 차단된다. On the other hand, agents are only connected to the
또한, 중앙통제서버(100)는 각 에이전트들이 수행하려는 DML 생성 정보를 검토하여 쿼리 명령어문에 따라, 혹은 각 에이전트에 로그인된 담당자의 권한 정보에 따라, 또는 각 에이전트에 로그인된 담당자의 과거 작업 히스토리에 따라 DML 생성 정보를 실행할 지 여부를 결정할 수 있다. In addition, the
도 7의 실시예를 정리하면, 다음과 같다. 포스시스템의 데이터베이스에 접근하기 위해서는 중앙통제서버(100)는 POS DB IP, 담당자의 계정 ID/PW, DB이름, 테이블명 등이 포함된 DML 생성 정보를 에이전트로부터 수신할 수 있다. 중앙통제서버(100)는 DB DML 중 중요도에 따라 DML 생성 정보에 대응하는 결재 문서를 확인할 수 있다. 결재 문서란 DML 생성 정보를 검증할 제2에이전트에게 DML 생성 정보를 전송하고, 이에 대한 검증 결과를 포함한다. 또는 결재 문서란 DML 생성 정보를 일부 수정한 결과를 포함한다. 그리고 중앙통제서버(100)는 결재문서에 기반하여 DML 쿼리 작업이 수행되면 이에 대한 로그 정보와 롤백 정보를 저장할 수 있다. The embodiment of FIG. 7 is summarized as follows. In order to access the POS system's database, the
도 7에서 쿼리입력된 내용 외의 다른 정보들은 메타 정보로 정의할 수 있다. 메타 정보들은 쿼리입력된 내용을 검증하는데 사용될 수 있다. In FIG. 7, other information other than the contents of the query input may be defined as meta information. Meta information can be used to verify the content of the query input.
도 8은 본 발명의 일 실시예에 의한 중앙통제서버가 쿼리 및 담당자의 권한을 검증하고 이를 처리하는 과정을 보여주는 도면이다. FIG. 8 is a diagram illustrating a process in which a central control server verifies and processes a query and authority of a person in charge according to an embodiment of the present invention.
중앙통제서버(100), 즉 중앙통제서버(100)의 통신부(110)는 제1에이전트로부터 DML 생성 정보를 수신한다(S21). 앞서 도 5 및 도 7에서 살펴본 정보들을 수신할 수 있다. The
중앙통제서버(100)는 DML 생성 정보를 검증한다(S22). 검증 과정은 해당 DML 생성 정보를 송신한 에이전트의 권한을 검증하는 절차와 DML 생성 정보 내의 쿼리를 검증하는 절차, 그리고 해당 DML 생성 정보가 접근하고자 하는 포스시스템에 대한 유효한 접근인지를 확인하는 절차 등으로 구성될 수 있다. The
먼저, 중앙통제서버(100)는 도 4 및 도 5에서 살펴본 바와 같이 에이전트에 로그인하는 담당자의 권한을 확인할 수 있다. 권한 서버(400)를 통해 허가된 담당자가 로그인 하였는지를 확인할 수 있다. First, the
이 과정에서 중앙통제서버(100)는 일정 기간(예를 들어 1개월 또는 3개월 등)동안 접속지 않았던 담당자가 로그인 하는 경우, 권한 서버(400)외에 다른 추가 검증 과정을 수행하도록 한다. 예를 들어, 해당 담당자의 결재 라인에 있는 상위 레벨의 담당자의 확인을 받은 후 로그인 또는 DML 생성 정보의 검증을 수행할 수 있다. In this process, the
또한, 중앙통제서버(100)는 DML 생성 정보 내의 쿼리를 검증하는 절차를 수행할 수 있다. 이는 DML 생성 정보 내에 포함된 쿼리 문에 대해 해당 쿼리문을 실행할 경우 DB에 영향을 미치는 정도에 따라 위험도 또는 롤백을 위한 정보 저장기간을 달리하는 것을 포함한다. In addition, the
또한 중앙통제서버(100)는 DML 생성 정보 내의 쿼리문의 구문 분석을 수행할 수 있다. 중앙통제서버(100)는 쿼리문의 오탈자를 검증하고, 또한 쿼리문과 이에 대한 설명문을 비교할 수 있다. 예를 들어, 도 7에서 상세정보 1에 "입력"이라는 설명문이 포함되었는데, 실제 쿼리 입력된 부분에서 "insert"가 아닌 "delete"가 포함되었다면 중앙통제서버(100)는 이 쿼리문은 오탈자 혹은 잘못 기재된 쿼리문으로 판단할 수 있다. In addition, the
중앙통제서버(100)는 상세정보1에 포함된 정보와 쿼리 입력된 내용을 표 1의 메타정보-쿼리대응정보를 이용하여 쿼리문을 검증할 수 있다. 표 1의 테이블은 중앙통제서버(100)의 저장부(120)가 저장할 수 있다. The
또한, 메타정보에 없는 단어라도 추후 반복하여 특정 대응 쿼리에 대해 작성된 경우 중앙통제서버(100)의 제어부(150)가 이를 대응 쿼리로 저장할 수 있다.In addition, when a word that is not in the meta-information is repeatedly written for a specific correspondence query later, the
예를 들어, "제외"라는 단어가 "상세정보1" 과 같은 메타 정보에 포함되며, 여기에 대응하여 대응 쿼리가 "Delete"인 경우, 중앙통제서버(100)의 제어부(150)는 이러한 메타 정보의 발생 빈도를 누적 저장할 수 있다. 또한, 중앙통제서버(100)의 제어부(150)는 담당자별(에이전트별) 해당 단어의 발생 빈도를 판단할 수 있다. 그 결과 발생 빈도가 높거나, 또는 다수의 에이전트로부터 해당 단어와 대응쿼리가 작성된 경우, 해당 단어(예를 들어 "제외")와 대응 쿼리를 표 1과 같은 정보로 생성할 수 있다.For example, when the word "excluded" is included in meta information such as "
그 결과 중앙통제서버(100)의 제어부(150)는 표 1과 같은 메타정보-쿼리대응정보를 "삭제, 제거" 대신에 "삭제, 제거, 제외" 로 업데이트 할 수 있다. As a result, the
DML 생성 정보는 쿼리문, 쿼리문을 수행할 데이터베이스 정보 및 테이블 정보, 쿼리문에 대한 설명을 포함하는 메타 정보 등을 포함할 수 있다. 그리고 중앙통제서버(100)의 제어부(150)는 메타 정보에 포함된 단어와 상기 데이터베이스 정보, 상기 테이블 정보를 상기 쿼리문을 비교하여 DML 생성 정보를 검증할 수 있다. The DML generation information may include a query statement, database information and table information to execute the query statement, meta information including a description of the query statement, and the like. In addition, the
표 1외에도 카드 정보를 입력한다는 메타 정보가 있음에도 실제 쿼리문 내의 데이터베이스/테이블이 주문과 관련된 경우 메타 정보와 쿼리문의 불일치로 판단하여 해당 DML 생성 정보를 반려 혹은 취소시킬 수 있다. In addition to Table 1, even though there is meta information for entering card information, if the database/table in the actual query statement is related to an order, it is determined that the meta information and the query statement are inconsistent and the corresponding DML generated information can be rejected or canceled.
이를 위해, 중앙통제서버(100)의 저장부(120)는 각 데이터베이스나 테이블이 저장하는 데이터에 대한 정보를 별도로 저장할 수 있다. 예를 들어 특정 데이터베이스/테이블이 결제관련 데이터를 저장하는지, 아니면 발주관련 데이터를 저장하는지에 대한 정보가 저장부(120)에 저장될 수 있다. To this end, the
또한, 중앙통제서버(100)는 해당 DML 생성 정보가 접근하고자 하는 포스시스템에 대한 유효한 접근인지를 확인할 수 있다. 앞서 권한 정보를 이용하여 확인할 수 있다. 또한 중앙통제서버(100)는 각 해당 포스시스템의 DBMS(DB management system)의 IP, PORT 접근유무, 접근 가능 테이블에 대해 유효성 검증을 수행할 수 있다. In addition, the
예를 들어, DML 생성 정보 내에 메타 정보로 입력된 DB의 IP 정보와 PORT 정보, DB명과 테이블 명에 대해 중앙통제서버(100)는 해당 에이전트가 접근가능한지를 판단할 수 있다. 또한, 중앙통제서버(100)는 쿼리입력란에 입력된 쿼리문 내의 테이블 명 또는 DB명과 메타정보 내의 해당 정보를 비교하여 유효한 접근인지를 확인할 수 있다. For example, the
전술한 검증 결과에 따라 중앙통제서버(100)는 입력된 쿼리의 내용 또는 기타 메타 정보에서 이상이 없는 경우, 이들에 대한 다른 에이전트에 의한 검증이 필요한지를 판단할 수 있다. 필요한 경우, 중앙통제서버(100)는 앞서 도 4의 S13 내지 S15 단계를 수행할 수 있다. 즉, 중앙통제서버(100)는 검증 결과에 따라 권한 서버에서 DML 생성 정보를 송신한 제1에이전트의 권한을 조회하거나 또는 제2에이전트를 통해 DML 생성 정보를 검증한다(S23). 이는 도 5에 도시된 S15와 같이 타 에이전트로부터 DML 생성 정보에 대한 검증 결과를 수신하는 과정을 포함한다. According to the above-described verification result, if there is no abnormality in the content of the input query or other meta-information, the
그리고 중앙통제서버(100)는 권한 및 검증 결과를 반영하여 DML 쿼리 정보를 생성한다(S24). 이때, S23에서 제2에이전트가 쿼리문을 일부 수정한 경우, 중앙통제서버(100)는 이를 반영하여 DML 쿼리 정보를 생성한다. 이후 중앙통제서버(100)는 DML 쿼리 정보를 대상 포스시스템의 DB에 전송하고 포스시스템의 DB로부터 실행 결과 수신한다(S25). Then, the
S22 내지 S24의 과정을 요약하면 중앙통제서버(100)의 제어부(150)가 S21에서 수신한 DML 생성 정보를 검증한 후 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성하는 과정이다. Summarizing the processes of S22 to S24, the
이때, 중앙통제서버(100)는 DML 쿼리 정보를 포스시스템(즉 포스시스템의 데이터베이스)으로 전송함에 있어서, 즉시 전송 방식과 지연 전송 방식 중 어느 하나를 선택할 수 있다. 즉시 전송 방식은 DML 쿼리 정보가 생성되면 포스시스템으로 전송하여 DB에 대해 DML 쿼리문이 실행되는 방식이다. 지연 전송 방식은 중앙통제서버(100)가 임시 쿼리 테이블에 DML 쿼리 정보를 저장하여 일정 시간(30초 혹은 10분 등의 시간 간격)이 지난 후 DML 쿼리 정보를 포스시스템으로 전송하는 방식이다. At this time, when transmitting the DML query information to the POS system (ie, POS system database), the
지연 전송 방식은 제1에이전트 또는 제2에이전트가 실행 취소를 긴급하게 요청할 경우, 중앙통제서버(100)가 DML 쿼리 정보를 전송하지 않고 삭제하는 방식이다. 이는 담당자의 실수나 오판에 대비하여 취소할 수 있는 시간 간격을 주어 DB 정확도를 향상시킬 수 있다. In the delayed transmission method, when the first agent or the second agent urgently requests an undo, the
이후, 중앙통제서버(100)는 DML 쿼리 정보의 실행 결과 또는 롤백에 필요한 롤백 정보를 저장한다(S26). 즉, 중앙통제서버(100)의 저장부(120)는 DML 쿼리 정보의 전송 전 또는 전송 후의 시점에 다음의 사항들을 선택적으로 혹은 전부 저장할 수 있다. Thereafter, the
예를 들어, 저장부(120)는 DML 쿼리 정보, DML 쿼리 정보의 실행 결과 정보, 롤백 정보, DML 생성 정보 중 어느 하나 이상을 저장할 수 있다. 이는 특정 포스시스템의 DB상에 DML정보가 반영되었어도, 여러 사정에 따라 롤백이 필요한 경우에 중앙통제서버(100)는 해당 포스시스템의 DB에 롤백 관련 명령어를 보내서 롤백을 수행할 수 있다. For example, the
롤백이 필요한 경우란, 해당 포스시스템의 DB 관련하여 특정인(가맹점 점주 또는 상위 담당자, 또는 담당자)의 요청, 혹은 S23 단계에의 결재문서 취소/반송 등에 대응한다. When a rollback is required, it responds to the request of a specific person (merchant store owner or high-level person in charge, or person in charge) related to the POS system's DB, or to cancel/return the approval document to step S23.
한편 S26에서 DML 쿼리 정보가 실행되면, 중앙통제서버(100)는 해당 포스시스템의 소유자가 변경 사항을 확인할 수 있는 리포팅 문서를 생성하여 이를 포스시스템 또는 해당 포스시스템의 소유자의 이메일 주소로 전송할 수 있다. 이는 선택적 과정이다. On the other hand, when DML query information is executed in S26, the
이후 포스시스템이 롤백을 요청하면, 중앙통제서버(100)는 대응하는 DML 쿼리 정보의 수행을 롤백시키는 작업을 수행한다. Thereafter, when the POS system requests a rollback, the
도 8의 과정을 정리하면, 중앙통제서버(100)는 DML 생성 정보를 검증하고 이에 기반하여 DML 쿼리 정보를 생성하며, DML 쿼리 정보에 따른 쿼리문 실행 후 롤백 가능한 정보를 생성하여 일정기간 저장하는 프로세스를 수행할 수 있다. To summarize the process of FIG. 8, the
중앙통제서버(100)는 포스시스템의 DB에 대한 접근을 지역별, 가맹점별, 혹은 전체로 나누어 권한을 제어할 수 있다. 그리고 에이전트의 권한에 따라 접근 가능한 포스시스템의 범위를 제한할 수 있다. The
예를 들어, 중앙통제서버(100)는 가장 낮은 권한의 에이전트에 대해서는 오직 하나의 포스시스템의 데이터베이스에 대한 DML 생성 정보만을 허락하고, 또한 일정한 시간 범위 내에서 DML 생성 정보의 송신 횟수를 제한할 수 있다. 물론, 보다 높은 권한의 에이전트에 대해서는 위의 제한을 단계적으로 해제할 수 있다. 일 실시예로 중앙통제서버(100)는 다음의 권한-접근허용정보를 유지할 수 있다. For example, the
표 2의 권한-접근허용정보를 참조하면, 중앙통제서버(100)는 "Low-middle"인 권한의 에이전트는 하나의 포스시스템에 대해 "Select/Insert/Delete/Update"를 수행할 수 있으며, 한번 DML 생성 정보를 송신하여 쿼리 수행이 완료한 후, 6시간 전에는 시스템에 접속할 수 없거나 혹은 DML 생성 정보를 생성할 수 없도록 제한한다. 또는, 6시간 이내에는 오직 "SELECT" 만을 수행하도록 제한할 수 있다. Referring to the authority-access permission information in Table 2, the
마찬가지로, "High-middle"은 특정 가맹점 그룹의 포스시스템들에 대해 "Select/Insert/Delete/Update"를 수행할 수 있다. 이때 특정 가맹점 그룹의 일 실시예는 동일한 가맹점주가 운영하는 가맹점들의 둘 이상의 포스시스템들을 그룹으로 묶은 실시예를 포함한다. Likewise, "High-middle" can perform "Select/Insert/Delete/Update" for POS systems of a specific affiliated store group. In this case, an embodiment of a specific affiliate store group includes an embodiment in which two or more POS systems of affiliate stores operated by the same affiliate store owner are grouped together.
또는 특정 가맹점 그룹의 일 실시예는 특정 지역이나 특정 유형의 가맹점(예를 들어 미니슈퍼, 편의점, 대형마트)에 배치된 포스시스템들을 그룹으로 묶은 실시예를 포함한다.Alternatively, an embodiment of a specific affiliated store group includes an embodiment in which POS systems arranged in a specific area or a specific type of affiliated store (eg, mini-super, convenience store, and hypermarket) are grouped.
또한, 특정 가맹점 그룹의 일 실시예는 포스시스템이 특정한 버전(version)으로 나뉘어지는 경우, 동일한 버전의 포스시스템들을 그룹으로 묶은 실시예를 포함한다.In addition, an embodiment of a specific affiliate store group includes an embodiment in which POS systems of the same version are grouped when POS systems are divided into specific versions.
이외에도 포스시스템의 다양한 특성에 따라 중앙통제서버(100)는 그룹으로 포스시스템들을 제어할 수 있다. In addition, the
전술한 권한 레벨은 각 담당자의 인사 정보 혹은 담당 지역/가맹점에 따라 설정될 수 있다. 또한 권한 레벨에는 에이전트가 DML 생성 정보를 생성할 수 있는 포스시스템의 식별 정보가 별도로 부가될 수 있다. 예를 들어, " Low"인 경우, 해당 담당자는 "MART001~MART100" 이라는 포스시스템의 식별 정보의 범위가 부가될 수 있다. 이 경우, 해당 담당자는 "MART001" 내지 "MART100"의 포스시스템에 대해서만 DML 생성 정보를 생성할 수 있다. The above-described authority level may be set according to the personnel information of each person in charge or the region/affiliated store in charge. Also, identification information of the POS system through which the agent can generate DML generation information may be separately added to the authority level. For example, in the case of “Low”, the person in charge may be added with a range of identification information of the POS system “MART001 to MART100”. In this case, the person in charge may generate DML generation information only for the POS systems of "MART001" to "MART100".
표 2의 권한-접근허용정보는 중앙통제서버(100)가 DML 생성 정보를 검증하거나, 혹은 다른 에이전트가 DML 생성 정보를 검증하는 과정에서 미리 적용되어 권한 외 작업에 대한 불필요간 검증 절차가 자동으로 이루어질 수 있도록 한다. The authority-access permission information in Table 2 is applied in advance in the process of the
표 2와 아래 표 3 및 도 8의 실시예를 적용하며, 중앙통제서버(100)의 제어부(150)는 에이전트의 권한에 따라 수행 가능한 쿼리문, 쿼리문을 수행할 데이터베이스 및 테이블 정보를 이용하여 DML 생성 정보를 검증할 수 있다. Applying the embodiment of Table 2 and Table 3 and FIG. 8 below, the
수행 가능한 쿼리문을 이용하여 DML 생성 정보를 검증하는 실시예는 Select/Update/Delete/Insert 등 해당 에이전트의 권한에서 수행 가능한 쿼리문인지 여부를 검증하는 것을 의미한다. 표 2의 권한레벨 별 DML 종류에 해당한다. An embodiment of verifying DML generation information using an executable query statement means verifying whether the query statement is executable by the authority of the agent such as Select/Update/Delete/Insert. It corresponds to the DML type by authority level in Table 2.
쿼리문을 수행할 데이터베이스 및 테이블 정보를 이용하여 DML 생성 정보를 검증하는 실시예는 아래 표 3의 특정 데이터베이스 및 테이블에 해당 에이전트의 권한으로 접근가능한지 여부를 검증하는 것을 의미한다. 표 3에서 권한 레벨 별로 접근 가능한 DB와 Table이 상이하게 설정되어 있다. 따라서, 제어부(150)는 에이전트의 권한 레벨을 확인하고, 해당 에이전트가 접근 가능한 DB/테이블을 대상으로 DML 생성 정보를 전송하였는지를 검증할 수 있다. 물론, 표 3의 각 권한 레벨에는 추가적으로 Select/Update/Delete/Insert 등의 수행 가능한 쿼리도 별도로 설정될 수 있다. An embodiment of verifying DML generation information using database and table information to execute a query statement means verifying whether access to a specific database and table in Table 3 below is possible with the authority of the agent. In Table 3, the accessible DB and table are set differently for each privilege level. Accordingly, the
재고수량_Table,
주문정보_TablePayment Card_Table,
Inventory Quantity_Table,
Order Information_Table
발주정보_DB, 보안정보_DBPayment Information_DB, Inventory Information_DB,
Ordering Information_DB, Security Information_DB
재고수량_Table,
주문정보_Table,
로그인기록_TablePayment Card_Table,
Inventory Quantity_Table,
Order information_Table,
Login Record_Table
도 9는 본 발명의 일 실시예에 의한 중앙통제서버와 포스시스템의 데이터베이스의 상호 작용을 보여주는 도면이다. 9 is a diagram showing the interaction between the central control server and the database of the POS system according to an embodiment of the present invention.
중앙통제서버(100)는 포스시스템의 데이터베이스(500)에게 DML 쿼리 정보를 전송한다(S31). 포스시스템의 데이터베이스(500)는 쿼리 수행 후 결과를 생성한다(S32). Insert/Delete/Update 등을 수행한 결과 또는 Search를 수행한 결과는 각 쿼리문에 따라 달라질 수 있다. The
포스시스템의 데이터베이스(500)는 결과를 중앙통제서버(100)에게 전송한다. 중앙통제서버(100)는 결과를 통보 대상자에게 전송한다(S34). The
여기서 통보 대상자는 DML 수행을 요청했던 에이전트, 이를 검증했던 또다른 에이전트, 그리고 DML 쿼리 정보를 수행한 포스시스템의 데이터베이스를 관리하는 가맹점주 등이 될 수 있다. 중앙통제서버(100)는 이메일을 통해 통지할 수 있고, 또는 중앙통제서버(100)의 로그인 시 해당 에이전트들에게 팝업의 방식 등으로 결과를 제공할 수 있다. Here, the notification target may be an agent that requested DML execution, another agent that verified it, and an affiliate store owner who manages the POS system database that performed DML query information. The
또는 가맹점주의 경우 포스시스템을 사용할 때에 포스시스템이 DML 쿼리가 수행되었으며 수행된 결과가 팝업 등으로 표시될 수 있다. 이는 가맹점주에게 해당 포스시스템에서 어떤 작업이 이루어졌는지를 통보하기 위함이며, 이때 통보하는 과정에서 앞서 DML 생성 정보 중 메타 정보가 포스시스템 상에 표시될 수 있다. 예를 들어 도 7의 "상세정보1"과 같은 내용이 포스시스템 상에 표시될 수 있다. Or, in the case of the affiliated store owner, when using the POS system, the POS system performed a DML query, and the result of the execution may be displayed as a pop-up or the like. This is to notify the franchisees of what work has been done in the POS system, and during the notification process, meta information among DML-generated information may be displayed on the POS system. For example, content such as "
이때, 가맹점주가 해당 DML 쿼리를 수행한 것에 대해 롤백을 요청할 경우, 중앙통제서버(100)는 이를 처리할 수 있다. In this case, when the affiliate store owner requests a rollback for the execution of the corresponding DML query, the
또한, 중앙통제서버(100)는 DML 쿼리 정보를 수행한 포스시스템이 쿼리문을 실행한 결과를 확인했다는 응답을 수신하면 해당 DML 쿼리 정보에 대응하는 롤백 정보를 삭제할 수 있다. In addition, the
도 9를 정리하면, DML 쿼리 정보의 중요도에 따라 포스시스템을 관리하는 최고관리자에게 해당 정보 작업 내용이 이메일로 송신될 수 있다. 최고관리자는 다수의 포스시스템에 대한 DB 접근을 전사적으로 확인하는 담당자를 일 실시예로 한다. 앞서 표 2에서 "High" 레벨의 권한을 가진 담당자에 해당한다. 9, according to the importance of the DML query information, the information work content may be transmitted to the top administrator who manages the POS system by e-mail. As an example, the top manager is a person in charge who checks the database access to multiple POS systems across the enterprise. It corresponds to the person in charge with the authority of the "High" level in Table 2 above.
그리고 DML 쿼리 정보가 생성되기 전까지는 중앙통제서버(100)와 상호작용하거나 혹은 권한 서버(400)와 상호작용 하거나 혹은 전술한 서버에 일체로 구성되는 회사 내 전자 결재 시스템(혹은 IT포탈)의 결재문서에 기반하여 검증이 이루어지도록 하여 DB 제어의 안정성을 높일 수 있다. 포스시스템 DB 최고관리자는 에이전트로 로그인하는 담당자들의 DB DML작업을 일정 기간마다 확인할 수 있다. 이를 위해 중앙통제서버(100)는 DML 쿼리 정보의 수행 결과를 히스토리로 저장할 수 있다. And until the DML query information is generated, it interacts with the
한편, 중앙통제서버(100)의 제어부(150)는 에이전트가 전송한 DML 생성 정보 또는 이에 대응하는 DML 쿼리 정보를 중앙통제서버(100)의 저장부(120)에 누적 저장할 수 있다. 그리고, 중앙통제서버(100)의 제어부(150)는 저장부(120)에 저장된 다수의 DML 생성 정보 또는 DML 쿼리 정보를 검증하여 에이전트의 권한을 변경할 수 있다. Meanwhile, the
예를 들어, 제1에이전트(또는 제1에이전트에 로그인한 담당자)의 권한 레벨이 "Low" 이지만, 제1에이전트가 지속적으로 DML 생성 정보를 전송하였고 이에 대한 처리가 모두 성공적이었으며, 포스시스템으로부터 별도의 롤백 요청이 전혀 발생하지 않았다면, 중앙통제서버(100)의 제어부(150)는 해당 에이전트의 권한 레벨을 업그레이드 할 수 있다. 일 실시예로, 중앙통제서버(100)의 제어부(150)는 제1에이전트의 권한 레벨을 "LOW"에서 "Low-middle"로 업그레이드 할 수 있다(표 2 참조). For example, although the privilege level of the first agent (or the person who logged in to the first agent) is "Low", the first agent continuously transmits DML generation information, and all processes for this were successful. If no rollback request has occurred, the
반대로, 제1에이전트(또는 제1에이전트에 로그인한 담당자)의 권한 레벨이 "Middle" 이지만, 제1에이전트가 생성한 DML 생성 정보의 수행 결과가 실패했거나 혹은 포스시스템으로부터 별도의 롤백 요청이 발생했다면, 중앙통제서버(100)의 제어부(150)는 해당 에이전트의 권한 레벨을 다운그레이드 할 수 있다. 일 실시예로, 중앙통제서버(100)의 제어부(150)는 제1에이전트의 권한 레벨을 "Middle"에서 "Low-middle"로 다운그레이드 할 수 있다(표 2 참조).Conversely, if the authority level of the first agent (or the person who logged in to the first agent) is "Middle", but the execution result of the DML generation information generated by the first agent has failed or a separate rollback request has occurred from the POS system. , The
도 10은 본 발명의 일 실시예에 의한 DML 쿼리 정보의 수행 후 롤백을 수행하는 과정을 보여준다. 10 is a view illustrating a process of performing a rollback after executing DML query information according to an embodiment of the present invention.
중앙통제서버(100)의 통신부(110)는 포스시스템(500)에게 DML 쿼리 정보의 실행 결과 정보 및 DML 생성 정보를 전송한다(S36). 포스시스템(500)은 수신한 정보를 인터페이스 상에 표시하고 포스시스템의 관리자(예를 들어 가맹점 점주 혹은 업무담당자)가 이를 확인한 후 롤백을 요청하는 정보를 입력한다(S37). 이때 롤백 사유가 입력될 수 있다. 그리고 포스시스템(500)은 중앙통제서버(100)에게 롤백을 요청한다(S38). The
중앙통제서버(100)의 통신부(110)가 포스시스템(500)으로부터 롤백을 요청받으면 중앙통제서버(100)의 제어부(150)는 저장된 롤백 정보를 이용하여 DML 쿼리 정보의 실행을 롤백시키는 롤백 프로세스를 수행한다(S39). 이때, 롤백이 에이전트의 오류 또는 잘못으로 발생한 경우, 해당 에이전트의 권한 레벨을 다운그레이드 하거나 혹은 롤백이 발생했음을 통지하는 메시지를 권한 서버 또는 제2에이전트에게 전송할 수 있다.When the
전술한 실시예들을 적용할 경우 다수의 가맹점들로 구성된 유통업체에 대량으로 구축된 포스시스템의 데이터베이스에 대한 검색이나 레코드 제어가 안정적으로 수행될 수 있다. 특히, 중앙통제서버(100)는 권한 서버(400)와의 상호작용 및 담당자의 권한 별 데이터베이스 접근 범위를 제한하여 DML 쿼리 정보가 담당자의 권한에 적합하게 수행될 수 있도록 한다. When the above-described embodiments are applied, a search or record control for a database of a POS system built in mass at a distribution company composed of a plurality of affiliated stores can be stably performed. In particular, the
즉, 에이전트가 직접 포스시스템의 데이터베이스에 접근하지 않으면서도 중앙통제서버(100)에 의해 데이터베이스 작업이 수행되므로, 고객의 신용정보나 가맹점의 물품 정보, 판매 정보 등 주요한 정보가 저장된 포스시스템의 DB 정보를 보호할 수 있다. 특히, 중앙통제서버(100)와 포스시스템의 데이터베이스는 VPN 혹은 방화벽을 통해 보안성이 유지되는 통신 프로토콜로 연결되어 포스시스템의 해킹을 방지할 수 있다. 이는 포스시스템이 중앙통제서버(100) 외의 다른 외부의 통신상의 접근을 차단할 수 있도록 하여 불특정한 장치들이 포스시스템에 접근하는 것을 방지할 수 있다. That is, since the database operation is performed by the
또한, 중앙통제서버(100)는 주기적으로 포스시스템과의 통신 연결 상태를 변경할 수 있다. 포트 번호를 변경하는 방식을 통해 보안성을 높일 수 있다. In addition, the
뿐만 아니라, 에이전트가 중앙통제서버(100)에게 DML 생성 정보를 송신하는 과정에서 에이전트의 권한이 검증되며, 또한 중앙통제서버(100)는 DML 생성 정보를 검증하고, 상위 담당자의 에이전트에게 해당 DML 생성 정보의 검증을 요청할 수 있으며, 이에 기반하여 시스템의 보안성을 향상시킬 수 있다. 또한 잘못된 데이터베이스 조작을 방지함으로써, 중요한 정보가 삭제되거나 소실되는 문제 또는 변경되는 문제를 해결할 수 있다. In addition, the authority of the agent is verified in the process of the agent transmitting DML generation information to the
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.Methods according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 전술된 실시예는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해되어야 하며, 본 발명의 범위는 전술된 상세한 설명보다는 후술될 특허청구범위에 의해 나타내어질 것이다. 그리고 이 특허청구범위의 의미 및 범위는 물론, 그 등가개념으로부터 도출되는 모든 변경 및 변형 가능한 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As described above, although the present invention has been described by the limited embodiments and drawings, the present invention is not limited to the above embodiments, and various modifications and variations from these descriptions are those of ordinary skill in the field to which the present invention belongs. This is possible. It should be understood that the above-described embodiments are illustrative and non-limiting in all respects, and the scope of the present invention will be indicated by the claims to be described later rather than the detailed description described above. And it should be construed that the meaning and scope of the claims, as well as all changes and deformable forms derived from the equivalent concept, are included in the scope of the present invention.
따라서, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위 및 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Accordingly, the scope of the present invention is limited to the described embodiments and should not be defined, but should be defined by the claims to be described later and equivalents to the claims.
100: 중앙통제서버 300a~300k: 에이전트
400: 권한 서버 500: 포스시스템 데이터베이스100:
400: authorization server 500: POS system database
Claims (15)
제1에이전트, 제2에이전트 및 상기 다수의 포스시스템의 데이터베이스와 통신하는 통신부;
상기 제1에이전트가 전송한 DML 생성 정보를 상기 제1에이전트의 권한에 따라 검증한 후 상기 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성하는 제어부; 및
상기 통신부가 상기 DML 쿼리 정보를 상기 포스시스템의 데이터베이스에 전송하며, 상기 전송 전 또는 전송 후의 시점에 상기 DML 쿼리 정보 또는 이의 실행 결과 정보 또는 롤백 정보 또는 상기 DML 생성 정보를 저장하는 저장부를 포함하며,
상기 DML 생성 정보는 상기 제1에이전트의 권한에 따라 접근할 수 있는 데이터베이스나 테이블이 달리 설정되거나 상기 제1에이전트의 권한에 따라 특정 포스시스템에 접근할 수 있는 권한이 달리 설정되며,
상기 중앙통제서버는 상기 제1에이전트 또는 상기 제2에이전트에 로그인된 담당자의 권한 정보 또는 과거 작업 히스토리에 따라 상기 DML 생성 정보를 실행할 지 여부를 결정하며,
상기 다수의 포스시스템의 데이터베이스의 작업은 상기 중앙통제서버와의 통신 연결을 통해서만 이루어지는, 중앙통제서버.
In the central control server that remotely manages by remotely connecting to multiple POS systems,
A communication unit for communicating with a first agent, a second agent, and databases of the plurality of force systems;
A controller configured to convert the DML generation information into DML query information after verifying the DML generation information transmitted by the first agent according to the authority of the first agent; And
The communication unit transmits the DML query information to the database of the POS system, and includes a storage unit for storing the DML query information or execution result information or rollback information or the DML generation information at a time before or after the transmission,
In the DML generation information, a database or table that can be accessed according to the authority of the first agent is set differently, or the authority to access a specific POS system is set differently according to the authority of the first agent,
The central control server determines whether to execute the DML generation information according to the authority information of the person in charge logged in the first agent or the second agent or a past work history,
The operation of the database of the plurality of POS systems is performed only through a communication connection with the central control server.
상기 제1에이전트가 로그인을 수행하면 상기 통신부는 상기 제1에이전트가 로그인하는 과정에서 제공한 정보를 권한 서버에게 전송하고, 상기 권한 서버로부터 상기 제1에이전트에 대한 검증 결과를 수신하며,
상기 제어부는 상기 로그인한 제1에이전트의 권한에 따라 상기 DML 생성 정보를 검증하며,
상기 권한 서버는 상기 로그인한 상기 제1에이전트의 과거 작업 히스토리에서 이전의 오류 발생을 확인한 경우 상기 제1에이전트가 롤백이 필요하지 않은 작업만을 수행하도록 상기 검증 결과를 생성하는, 중앙통제서버.
The method of claim 1,
When the first agent logs in, the communication unit transmits the information provided in the process of logging in by the first agent to the authorization server, and receives a verification result for the first agent from the authorization server,
The control unit verifies the DML generation information according to the authority of the logged-in first agent,
The authority server generates the verification result so that the first agent performs only a task that does not require rollback when it is confirmed that a previous error has occurred in the past work history of the logged-in first agent.
상기 제어부는 상기 제1에이전트의 권한에 따라 수행 가능한 쿼리문, 상기 쿼리문을 수행할 데이터베이스 및 테이블 정보를 이용하여 상기 DML 생성 정보를 검증하는, 중앙통제서버.
The method of claim 2,
The control unit verifies the DML generation information by using a query statement executable according to the authority of the first agent, a database to execute the query statement, and table information.
상기 제어부는 상기 제1에이전트가 전송한 DML 생성 정보 또는 이에 대응하는 DML 쿼리 정보를 상기 저장부에 누적 저장한 후,
상기 저장부에 저장된 다수의 DML 생성 정보 또는 DML 쿼리 정보를 검증하여 상기 제1에이전트의 권한을 변경하는, 중앙통제서버.
The method of claim 2,
The control unit accumulates and stores DML generation information transmitted from the first agent or DML query information corresponding thereto in the storage unit,
The central control server for changing the authority of the first agent by verifying a plurality of DML generation information or DML query information stored in the storage unit.
상기 제어부는 상기 제1에이전트가 전송한 DML 생성 정보의 검증을 위해 상기 제2에이전트를 선택하며,
상기 통신부는 상기 제2에이전트에게 상기 DML 생성 정보를 전송한 후, 상기 제2에이전트로부터 상기 DML 생성 정보에 대한 검증 결과를 수신하는, 중앙통제서버.
The method of claim 1,
The control unit selects the second agent to verify the DML generation information transmitted by the first agent,
The communication unit, after transmitting the DML generation information to the second agent, receives a verification result of the DML generation information from the second agent, the central control server.
상기 통신부는 상기 포스시스템에게 상기 DML 쿼리 정보의 실행 결과 정보 및 상기 DML 생성 정보를 전송하며,
상기 통신부가 상기 포스시스템으로부터 롤백을 요청받으면 상기 제어부는 상기 롤백 정보를 이용하여 상기 DML 쿼리 정보의 실행을 롤백시키는 롤백 프로세스를 수행하는, 중앙통제서버.
The method of claim 1,
The communication unit transmits execution result information and the DML generation information of the DML query information to the POS system,
When the communication unit receives a rollback request from the POS system, the control unit performs a rollback process of rolling back the execution of the DML query information using the rollback information.
상기 DML 생성 정보는 쿼리문, 상기 쿼리문을 수행할 데이터베이스 정보 및 테이블 정보, 상기 쿼리문에 대한 설명을 포함하는 메타 정보를 포함하며,
상기 제어부는 상기 메타 정보에 포함된 단어와 상기 데이터베이스 정보, 상기 테이블 정보를 상기 쿼리문을 비교하는, 중앙통제서버.
The method of claim 1,
The DML generation information includes a query statement, database information and table information to execute the query statement, and meta information including a description of the query statement,
The control unit compares the query sentence with the word included in the meta information, the database information, and the table information.
상기 중앙통제서버는 권한 서버와 통신하며,
상기 권한 서버는
인사 정보를 저장하는 인사 정보 저장부를 더 포함하며
상기 권한 서버는 상기 중앙통제서버로부터 제1에이전트가 로그인하는 과정에서 제공한 정보를 수신하면 상기 수신한 정보와 상기 인사 정보 저장부에 저장된 정보를 비교하여 검증 결과를 생성하며,
상기 중앙통제서버는 상기 에이전트별 또는 상기 담당자 별 최종 접속 시간에 대한 정보를 저장하여 일정 기간 이상 미접속한 상기 에이전트 또는 상기 담당자의 접속을 차단하는, 중앙통제서버.
The method of claim 1,
The central control server communicates with the authorization server,
The authorization server
Further comprising a personnel information storage unit for storing personnel information,
When the authorization server receives the information provided in the process of logging in by the first agent from the central control server, it compares the received information with the information stored in the personnel information storage unit to generate a verification result,
The central control server stores information on the last access time for each agent or each person in charge, and blocks access of the agent or the person in charge who has not accessed for a predetermined period of time or more.
중앙통제서버의 통신부가 제1에이전트로부터 DML 생성 정보를 수신하는 단계;
상기 중앙통제서버의 제어부가 상기 수신한 DML 생성 정보를 상기 제1에이전트의 권한에 따라 검증한 후 상기 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성하는 단계;
상기 통신부가 상기 DML 쿼리 정보를 상기 포스시스템의 데이터베이스에 전송하는 단계; 및
상기 중앙통제서버의 저장부가 상기 DML 쿼리 정보의 전송 전 또는 전송 후의 시점에 상기 DML 쿼리 정보 또는 이의 실행 결과 정보 또는 롤백 정보 또는 상기 DML 생성 정보를 저장하는 단계를 포함하며,
상기 DML 생성 정보는 상기 제1에이전트의 권한에 따라 접근할 수 있는 데이터베이스나 테이블이 달리 설정되거나 상기 제1에이전트의 권한에 따라 특정 포스시스템에 접근할 수 있는 권한이 달리 설정되며,
상기 중앙통제서버는 상기 제1에이전트 또는 제2에이전트에 로그인된 담당자의 권한 정보 또는 과거 작업 히스토리에 따라 상기 DML 생성 정보를 실행할 지 여부를 결정하며,
상기 다수의 포스시스템의 데이터베이스의 작업은 상기 중앙통제서버와의 통신 연결을 통해서만 이루어지는, 중앙통제서버의 쿼리 수행 방법.
In the central control server that remotely manages by remotely connecting to multiple POS systems,
Receiving, by a communication unit of the central control server, DML generation information from the first agent;
Generating the DML generation information by converting the DML generation information into DML query information after verifying the received DML generation information by the control unit of the central control server according to the authority of the first agent;
Transmitting, by the communication unit, the DML query information to a database of the POS system; And
And storing the DML query information or execution result information or rollback information or the DML generation information at a time point before or after transmission of the DML query information, by a storage unit of the central control server,
In the DML generation information, a database or table that can be accessed according to the authority of the first agent is set differently, or the authority to access a specific POS system is set differently according to the authority of the first agent,
The central control server determines whether to execute the DML generation information according to authority information or past work history of the person in charge logged in to the first agent or the second agent,
The operation of the database of the plurality of POS systems is performed only through a communication connection with the central control server.
상기 통신부가 상기 제1에이전트와 로그인을 수행하기 위해 상기 제1에이전트가 로그인하는 과정에서 제공한 정보를 권한 서버에게 전송하는 단계;
상기 통신부가 상기 권한 서버로부터 상기 제1에이전트에 대한 검증 결과를 수신하는 단계; 및
상기 제어부가 상기 로그인한 제1에이전트의 권한에 따라 상기 DML 생성 정보를 검증하는 단계를 포함하며,
상기 권한 서버는 상기 로그인한 상기 제1에이전트의 과거 작업 히스토리에서 이전의 오류 발생을 확인한 경우 상기 제1에이전트가 롤백이 필요하지 않은 작업만을 수행하도록 상기 검증 결과를 생성하는, 중앙통제서버의 쿼리 수행 방법.
The method of claim 9,
Transmitting, by the communication unit, information provided in the process of logging in by the first agent to an authorization server in order to log in with the first agent;
Receiving, by the communication unit, a verification result for the first agent from the authorization server; And
And verifying, by the control unit, the DML generation information according to the authority of the logged-in first agent,
The authorization server performs a query of the central control server to generate the verification result so that the first agent only performs a task that does not require rollback when a previous error has occurred in the past work history of the logged-in first agent. Way.
상기 제어부가 상기 제1에이전트의 권한에 따라 수행 가능한 쿼리문, 상기 쿼리문을 수행할 데이터베이스 및 테이블 정보를 이용하여 상기 DML 생성 정보를 검증하는 단계를 포함하는, 중앙통제서버의 쿼리 수행 방법.
The method of claim 10,
And verifying, by the control unit, the DML generation information using a query statement executable according to the authority of the first agent, a database to execute the query statement, and table information.
상기 제어부는 상기 제1에이전트가 전송한 DML 생성 정보 또는 이에 대응하는 DML 쿼리 정보를 상기 저장부에 누적 저장하는 단계; 및
상기 제어부가 상기 저장부에 저장된 다수의 DML 생성 정보 또는 DML 쿼리 정보를 검증하여 상기 제1에이전트의 권한을 변경하는 단계를 포함하는, 중앙통제서버의 쿼리 수행 방법.
The method of claim 10,
The control unit accumulating and storing DML generation information transmitted from the first agent or DML query information corresponding thereto in the storage unit; And
And changing the authority of the first agent by verifying, by the control unit, a plurality of DML generation information or DML query information stored in the storage unit.
상기 제어부가 상기 제1에이전트가 전송한 DML 생성 정보의 검증을 위해 상기 제2에이전트를 선택하는 단계;
상기 통신부가 상기 제2에이전트에게 상기 DML 생성 정보를 전송하는 단계;
상기 통신부가 상기 제2에이전트로부터 상기 DML 생성 정보에 대한 검증 결과를 수신하는 단계를 포함하는, 중앙통제서버의 쿼리 수행 방법.
The method of claim 9,
Selecting, by the control unit, the second agent to verify the DML generation information transmitted by the first agent;
Transmitting the DML generation information to the second agent by the communication unit;
And receiving, by the communication unit, a verification result of the DML generation information from the second agent.
상기 통신부가 상기 포스시스템에게 상기 DML 쿼리 정보의 실행 결과 정보 및 상기 DML 생성 정보를 전송하는 단계;
상기 통신부가 상기 포스시스템으로부터 롤백을 요청받는 단계; 및
상기 제어부가 상기 롤백 정보를 이용하여 상기 DML 쿼리 정보의 실행을 롤백시키는 롤백 프로세스를 수행하는 단계를 포함하는, 중앙통제서버의 쿼리 수행 방법.
The method of claim 9,
Transmitting, by the communication unit, execution result information of the DML query information and the DML generation information to the POS system;
Receiving a rollback request from the force system by the communication unit; And
And performing, by the control unit, a rollback process of rolling back execution of the DML query information using the rollback information.
상기 DML 생성 정보는 쿼리문, 상기 쿼리문을 수행할 데이터베이스 정보 및 테이블 정보, 상기 쿼리문에 대한 설명을 포함하는 메타 정보를 포함하며,
상기 제어부가 상기 메타 정보에 포함된 단어와 상기 데이터베이스 정보, 상기 테이블 정보를 상기 쿼리문을 비교하는 단계를 포함하는, 중앙통제서버의 쿼리 수행 방법.
The method of claim 9,
The DML generation information includes a query statement, database information and table information to execute the query statement, and meta information including a description of the query statement,
And comparing, by the control unit, the query statement between the word included in the meta information, the database information, and the table information.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200058959A KR102185555B1 (en) | 2020-05-18 | 2020-05-18 | Method of secure access and query execution of database and server implementing thereof |
PCT/KR2021/005777 WO2021235752A1 (en) | 2020-05-18 | 2021-05-10 | Method for secure access and query execution of database, and server implementing same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200058959A KR102185555B1 (en) | 2020-05-18 | 2020-05-18 | Method of secure access and query execution of database and server implementing thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102185555B1 true KR102185555B1 (en) | 2020-12-02 |
Family
ID=73791580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200058959A KR102185555B1 (en) | 2020-05-18 | 2020-05-18 | Method of secure access and query execution of database and server implementing thereof |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102185555B1 (en) |
WO (1) | WO2021235752A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021235752A1 (en) * | 2020-05-18 | 2021-11-25 | 주식회사 지에스리테일 | Method for secure access and query execution of database, and server implementing same |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06236309A (en) * | 1992-01-24 | 1994-08-23 | Nec Corp | Delay type data update system utilizing store identifier for loosely coupled multiprocessor system |
KR20040052569A (en) * | 2004-04-03 | 2004-06-23 | 주식회사 피앤피시큐어 | Method and system for monitoring and securing a database |
KR20050008486A (en) * | 2003-07-15 | 2005-01-21 | 김용규 | method of administering access to database |
KR20080015293A (en) * | 2006-08-14 | 2008-02-19 | (주)모니터랩 | Database security system and method based on profiling |
KR101460554B1 (en) * | 2013-06-24 | 2014-11-11 | 청주대학교 산학협력단 | Cloud DB synchronization method applied .net remoting technology and cloud-based POS system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102185555B1 (en) * | 2020-05-18 | 2020-12-02 | 주식회사 지에스리테일 | Method of secure access and query execution of database and server implementing thereof |
-
2020
- 2020-05-18 KR KR1020200058959A patent/KR102185555B1/en active IP Right Grant
-
2021
- 2021-05-10 WO PCT/KR2021/005777 patent/WO2021235752A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06236309A (en) * | 1992-01-24 | 1994-08-23 | Nec Corp | Delay type data update system utilizing store identifier for loosely coupled multiprocessor system |
KR20050008486A (en) * | 2003-07-15 | 2005-01-21 | 김용규 | method of administering access to database |
KR20040052569A (en) * | 2004-04-03 | 2004-06-23 | 주식회사 피앤피시큐어 | Method and system for monitoring and securing a database |
KR20080015293A (en) * | 2006-08-14 | 2008-02-19 | (주)모니터랩 | Database security system and method based on profiling |
KR101460554B1 (en) * | 2013-06-24 | 2014-11-11 | 청주대학교 산학협력단 | Cloud DB synchronization method applied .net remoting technology and cloud-based POS system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021235752A1 (en) * | 2020-05-18 | 2021-11-25 | 주식회사 지에스리테일 | Method for secure access and query execution of database, and server implementing same |
Also Published As
Publication number | Publication date |
---|---|
WO2021235752A1 (en) | 2021-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104050401B (en) | Method for managing user right and system | |
US6480850B1 (en) | System and method for managing data privacy in a database management system including a dependently connected privacy data mart | |
US8589510B2 (en) | Method and system of synchronizing accounting objects between a client and server | |
US11522771B2 (en) | Systems and methods for rapid booting and deploying of an enterprise system in a cloud environment | |
US7979463B2 (en) | Database system and method for access control and workflow routing | |
US20060184996A1 (en) | Method and system of auditing databases for security compliance | |
WO1994015309A1 (en) | System and method for maintaining codes | |
US20150095243A1 (en) | Online-id-handling computer system and method | |
AU2021282518A1 (en) | A system and method of managing data injection into an executing data processing system | |
US11277411B2 (en) | Data protection and privacy regulations based on blockchain | |
CN110120969B (en) | Method and system for automatic collation | |
CN105989426A (en) | Customer relationship management system facing standard information service industry | |
CN106251131A (en) | For the method and apparatus providing electronic trade gateway | |
KR102185555B1 (en) | Method of secure access and query execution of database and server implementing thereof | |
US7024412B1 (en) | Systems and methods for database configuration migration | |
CN101281623A (en) | Verifying method for implementing management software | |
KR100542383B1 (en) | System for controlling database access based on 3-Tier structure and Method thereof | |
KR102113938B1 (en) | Network bridge for local transaction approval | |
US9443206B2 (en) | Reconciling addresses | |
JPWO2009016700A1 (en) | Update management program, update management system, update management apparatus, and update management method | |
KR20210051817A (en) | System and method for providing an authentication information service based an open api | |
KR100989689B1 (en) | Integrating management system for supporting for service of bank and method of the same | |
US20060229886A1 (en) | Method and apparatus for web design layout record delivery | |
US7433897B1 (en) | Systems and methods for database registration | |
JP6670780B2 (en) | Supplier name confirmation device, supplier name confirmation method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |