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 PDF

Info

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
Application number
KR1020200058959A
Other languages
Korean (ko)
Inventor
김남혁
이영기
주진국
고명수
Original Assignee
주식회사 지에스리테일
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 지에스리테일 filed Critical 주식회사 지에스리테일
Priority to KR1020200058959A priority Critical patent/KR102185555B1/en
Application granted granted Critical
Publication of KR102185555B1 publication Critical patent/KR102185555B1/en
Priority to PCT/KR2021/005777 priority patent/WO2021235752A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing 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

The present invention relates to a security access and query execution method of a database and to a server implementing the same. According to one embodiment of the present invention, a central control server comprises: a communication unit which communicates with a first agent, a second agent and a database of a POS system; a control unit which verifies DML generation information transmitted from the first agent, and then converts the DML generation information into DML query information to generate the same; and a storage unit which stores the DML query information, execution result information thereof, rollback information, or the DML generation before or after transmission, wherein the communication unit transmits the DML query information to the database of the POS system.

Description

데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버{METHOD OF SECURE ACCESS AND QUERY EXECUTION OF DATABASE AND SERVER IMPLEMENTING THEREOF}Security access and query execution method of database and server implementing it {METHOD OF SECURE ACCESS AND QUERY EXECUTION OF DATABASE AND SERVER IMPLEMENTING THEREOF}

본 발명은 데이터베이스의 보안 접근 및 쿼리 수행 방법과 이를 구현하는 서버에 관한 것이다.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 central control server 100 is connected to a plurality of agents (Agent, 300a ~ 300k). In this case, an embodiment of the connection method includes socket communication. The agent is a PC including a notebook, or a tablet or a smartphone as an embodiment. Alternatively, the agent uses a program installed in the above-described devices as an embodiment. Hereinafter, a PC agent will be described as an embodiment of the agent, but the present invention is not limited thereto. PC agents are mainly used to perform business tasks in enterprises.

또한, 중앙통제서버(100)는 다수의 포스시스템 내의 데이터베이스(POS Database, 500a~500m)와 연결된다. 포스시스템과 데이터베이스가 일체로 구성될 수 있다. 이 경우 포스시스템 내에 데이터베이스가 배치될 수 있다. In addition, the central control server 100 is connected to a database (POS Database, 500a ~ 500m) in a plurality of POS systems. The POS system and the database can be integrated. In this case, a database can be deployed within the POS system.

이때 중앙통제서버(100)와 포스시스템 내에 데이터베이스 간의 연결 방식의 일 실시예로는 DB(Database) 연결을 포함한다. 포스시스템 혹은 포스 단말기로 지칭되는 장치는 전자식 금전등록기의 기능을 제공하며, 물품을 판매하는 물품판매처에서 물품의 판매에 수반되는 각종 데이터를 판매자에게 알려주는 기능을 제공한다. At this time, an embodiment of the connection method between the central control server 100 and the database in the POS system includes a DB (Database) connection. A device referred to as a POS system or a POS terminal provides the function of an electronic cash register, and provides a function of informing the seller of various data accompanying the sale of the goods at the goods seller that sells the goods.

또한, 포스시스템은 판매에 대한 정보 관리를 원활하게 하는데 필요한 정보를 제공하며, 각각의 포스 단말기 혹은 포스시스템은 물품 대금의 결제 과정에서 리딩된 신용정보 또는 판매 정보 등을 데이터베이스로 저장할 수 있다. 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 central control server 100 converts data manipulation words received from respective PC agents, that is, network packets (eg, byte information) related to DML (Data Manipulation Language) into DML query information. The DML generation information provided by the PC agent is information necessary to generate and verify DML queries.

그리고 중앙통제서버(100)는 변경된 DML 쿼리 정보를 각각의 포스시스템 내의 데이터베이스에게 전송하고, 쿼리 결과를 수신한다. 그리고 수신한 결과를 에이전트에게 제공한다. And the central control server 100 transmits the changed DML query information to the database in each POS system, and receives the query result. And it provides the received result to the agent.

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 central control server 100 can process it under connection with the POS database, thereby increasing the security of the DML processing.

또한, 중앙통제서버(100)와 PC 에이전트 역시 보안성을 높이는 연결 및 중앙통제서버(100)가 PC 에이전트가 전달하는 DML 생성 정보를 검증하는 구성에 기반하여 불필요하거나 외부의 전산망 침입 또는 내부 담당자의 불법적 DB 접근을 차단할 수 있다. In addition, based on the connection between the central control server 100 and the PC agent to increase security and the configuration of the central control server 100 to verify the DML generation information transmitted by the PC agent, unnecessary or external computer network intrusion or internal personnel Illegal DB access can be blocked.

도 1에 도시된 바와 같이, 중앙통제서버(100)는 포스시스템 내의 데이터베이스들과 연결하여 데이터베이스에 대한 DML 실행을 제어한다. 그러나, 중앙통제서버(100)는 에이전트들이 제공하는 DML 생성 정보를 검증한 후, 그에 따라 DML 실행을 수행하므로, 에이전트에서 잘못된 DML 생성 정보를 제공하는 경우에 중앙통제서버(100)는 포스시스템의 데이터베이스 내의 DML 실행을 차단할 수 있다. As shown in FIG. 1, the central control server 100 controls DML execution for the database by connecting with databases in the POS system. However, the central control server 100 verifies the DML generation information provided by the agents and executes the DML accordingly. Therefore, when the agent provides the wrong DML generation information, the central control server 100 DML execution in the database can be blocked.

한편, 중앙통제서버(100)는 에이전트의 권한을 직접 검증할 수도 있고, 별도의 권한서버(400)를 통하여 에이전트의 권한을 검증할 수도 있다. Meanwhile, the central control server 100 may directly verify the authority of the agent, or may verify the authority of the agent through a separate authority server 400.

권한서버(400)는 인사 데이터베이스를 포함할 수 있고, 또한 담당자들 간의 결재가 이루어지며 가맹점에 대한 정보가 저장된 IT 포털을 포함할 수 있다. 즉, 권한 서버(400)는 전술한 인사 DB와 IT 포털을 모두 포함할 수 있고, 중앙통제서버(100)는 권한서버(400)에서 참조된 정보를 이용할 수 있다. The authorization server 400 may include a personnel database, and may include an IT portal in which payment is made between personnel in charge and information on affiliate stores is stored. That is, the authority server 400 may include both the personnel DB and the IT portal described above, and the central control server 100 may use the information referenced by the authority server 400.

이때, 에이전트의 권한의 검증은 해당 에이전트에 로그인한 사용자의 인사 정보를 체크하거나, 해당 사용자의 데이터베이스 접근 및 작업수행을 위한 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 authority server 400 and the central control server 100 may be implemented in one device.

도 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 communication unit 110 communicates with a plurality of agents, for example, the first agent 300a, the second agent 300b, and the database 500a to 500m of the POS system. After verifying the DML generation information transmitted by the first agent 300a, the control unit 150 converts the DML generation information into DML query information and generates it.

그리고 통신부(110)가 DML 쿼리 정보를 포스시스템의 데이터베이스에 전송하며, DML 쿼리 정보의 전송 전 또는 전송 후의 시점에 저장부(120)는 DML 쿼리 정보 또는 이의 실행 결과 정보 또는 롤백 정보 또는 DML 생성 정보를 저장한다. Further, the communication unit 110 transmits the DML query information to the POS system database, and the storage unit 120 transmits DML query information or execution result information or rollback information or DML generation information before or after transmission of the DML query information. Save it.

도 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 communication unit 410 of the authority server 400 communicates with the central control server 100. The personnel information storage unit 420 stores personnel information.

권한 서버(400)의 통신부(410)가 중앙통제서버(100)로부터 제1에이전트가 로그인하는 과정에서 제공한 정보를 수신하면, 권한 서버(400)의 제어부(450)는 수신한 정보와 인사 정보 저장부(420)에 저장된 정보를 비교하여 검증 결과를 생성한다. When the communication unit 410 of the authorization server 400 receives the information provided in the process of logging in by the first agent from the central control server 100, the control unit 450 of the authorization server 400 receives the received information and personnel information. The information stored in the storage unit 420 is compared to generate a verification result.

또한, 권한 서버(400)는 중앙통제서버(100)에서 특정 담당자/특정 에이전트의 작업에서 오류가 빈번하게 발생할 경우, 이에 대한 히스토리를 인사 정보 저장부(420)에 저장하여, 향후 해당 담당자가 로그인할 경우 롤백이 필요하지 않은 작업만을 수행하도록 검증 결과를 생성할 수 있다. In addition, when an error occurs frequently in the work of a specific person in charge/specific agent in the central control server 100, the authority server 400 stores a history of this in the personnel information storage unit 420, and the corresponding person in charge logs in in the future. If so, you can generate verification results so that only tasks that do not require rollback are performed.

도 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 first agent 300a may transmit the IP address of the first agent 300a to the central control server 100 together with an ID/password.

중앙통제서버(100)는 전달된 아이디와 패스워드, 그리고 선택적으로 제1에이전트(300a)의 아이피 주소 등을 이용하여 로그인한 담당자를 검증한다(S2). 이 과정에서 권한 서버(400)에게 해당 아이디 소유자인 담당자의 권한이나 인사 정보의 확인을 요청하여 결과를 수신할 수 있다(S4).The central control server 100 verifies the person in charge who has logged in using the transmitted ID and password, and optionally the IP address of the first agent 300a (S2). In this process, a result may be received by requesting the authority server 400 to check the authority or personnel information of the person in charge who is the ID owner (S4).

그리고 수신된 결과에 따라 해당 담당자의 접속을 제1에이전트(300a)에게 허락하고(S5), 제1에이전트(300a)는 DML 생성 정보를 작성하여 이를 중앙통제서버(100)에게 제공할 수 있다. In addition, according to the received result, the corresponding person in charge is allowed to access the first agent 300a (S5), and the first agent 300a may create DML generation information and provide it to the central control server 100.

또한, 제1에이전트(300a)는 S1 단계에서 추가적으로 담당자의 인사 정보도 중앙통제서버(100)에게 제공할 수 있다.In addition, the first agent 300a may additionally provide personnel information of the person in charge to the central control server 100 in step S1.

정리하면, 제1에이전트(300a)는 로그인을 수행할 수 있으며, 중앙통제서버(100)의 통신부(110)는 제1에이전트(300a)가 로그인하는 과정(S1)에서 제공한 정보를 권한 서버(400)에게 전송하고(S3), 통신부(110)는 권한 서버(400)로부터 제1에이전트(300a)에 대한 검증 결과를 수신한다(S4). 이후, 중앙통제서버(100)의 제어부(150)는 로그인한 제1에이전트(300a)의 권한에 따라 DML 생성 정보를 검증할 수 있다. In summary, the first agent 300a can log in, and the communication unit 110 of the central control server 100 transmits the information provided in the process S1 in which the first agent 300a logs in. 400), and the communication unit 110 receives the verification result for the first agent 300a from the authorization server 400 (S4). Thereafter, the control unit 150 of the central control server 100 may verify the DML generation information according to the authority of the logged-in first agent 300a.

권한에 따른 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 first agent 300a is set differently. Alternatively, according to the authority of the logged-in first agent 300a, the authority to access a specific POS system is set differently.

도 4에서 권한 서버(400)와 중앙통제서버(100)는 하나의 장치 내에 구현될 수도 있고, 별도의 장치에 각각 구현될 수도 있다. 이들 두 서버들(100, 400)은 상호 동작을 통하여 담당자의 권한을 검증하거나, 혹은 해당 담당자가 작성한 DML 생성 정보를 결재할 상위 담당자의 정보를 추출할 수 있다. In FIG. 4, the authority server 400 and the central control server 100 may be implemented in one device or may be implemented in separate devices. These two servers 100 and 400 may verify the authority of the person in charge through mutual operation, or extract information of a higher person in charge who will pay for the DML generation information created by the person in charge.

도 4에서 권한 서버(400)와 중앙통제서버(100)는 로그인하는 담당자를 검증하는 과정에서 다음의 기준을 적용할 수 있다. 예를 들어, 중앙통제서버(100)는 에이전트 별로 IP에 대응하여 DB 접속 ID를 하나씩 부과하여, 담당자가 할당된 에이전트 외에 다른 에이전트에서 로그인할 수 없도록 제어할 수 있다. In FIG. 4, the authority server 400 and the central control server 100 may apply the following criteria in the process of verifying the person who logs in. For example, the central control server 100 may control such that a person in charge cannot log in from agents other than the assigned agent by imposing a DB access ID one by one corresponding to an IP for each agent.

또한, 권한 서버(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 authority server 400, in connection with the personnel information (name, company number, department), the person in charge is due to reasons such as retirement or suspension. If the proper authority for DB access is lost, the authority for DB access and operation of the person in charge can be automatically withdrawn.

예를 들어, 권한 서버(400)와 중앙통제서버(100)는 로그인하는 담당자가 정직 또는 퇴직 또는 부서 이동 등의 사유가 발생했음을 확인하면, 해당 에이전트로부터의 모든 접속을 일차적으로 차단한다. 그리고, 해당 에이전트에서 중앙통제서버(100)에 접속을 시도할 경우, 권한이 없음을 에이전트의 디스플레이에 표시하여 접속에 필요한 별도의 절차 혹은 정보를 요구할 수 있다. For example, when the authority server 400 and the central control server 100 confirm that a reason such as suspension or retirement or a department move has occurred, the person in charge who logs in is first blocked all access from the agent. In addition, when the agent attempts to access the central control server 100, it is possible to request a separate procedure or information necessary for the connection by displaying on the display of the agent that there is no authority.

한편, 권한 서버(400) 또는 중앙통제서버(100)는 해당 에이전트 또는 담당자 별로 최종 접속 시간에 대한 정보를 저장하여, 일정 기간(예를 들어 1개월 또는 3개월 등의 기간) 이상 미접속한 에이전트/담당자의 접속을 차단할 수 있다. On the other hand, the authority server 400 or the central control server 100 stores information on the last access time for each agent or person in charge, and has not accessed for a certain period (for example, a period of 1 month or 3 months) or more. / You can block the access of the person in charge.

도 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 first agent 300a creates DML generation information and provides it to the central control server 100. The second agent 300b may verify the DML generation information generated by the first agent 300a.

여기서 두 에이전트(300a, 300b)는 모두 도 4의 과정에서 권한을 가진 담당자로 검증이 끝난 상태이다. Here, both agents 300a and 300b have been verified as authorized personnel in the process of FIG. 4.

제1에이전트(300a)는 중앙통제서버(100)에 DML 생성 정보를 전송한다(S11). 중앙통제서버(100)는 수신한 DML 생성 정보를 검증한다(S12). 검증 결과 다른 담당자, 예를 들어, 상위 직책자의 확인이 필요한 경우, 해당 직책자가 로그인하거나 로그인할 제2에이전트(300b)에게 DML 생성 정보 및 제1에이전트(Agent 1)의 정보를 전송한다(S13). The first agent 300a transmits DML generation information to the central control server 100 (S11). The central control server 100 verifies the received DML generation information (S12). As a result of the verification, if verification of another person in charge, for example, a higher position, is required, DML generation information and information of the first agent (Agent 1) are transmitted to the second agent 300b to log in or log in by the corresponding position (S13). .

이후, 제2에이전트(300b)는 DML 생성 정보를 검증한 결과를 생성하고(S14) 생성한 결과를 중앙통제서버(100)에 전송한다(S15). 중앙통제서버(100)는 수신한 결과에 따라 DML 쿼리정보를 생성하고 이를 포스시스템의 데이터베이스로 전송하고 결과를 수신한다(S16). DML 쿼리 정보는 포스시스템의 데이터베이스의 특정 테이블의 자료를 검색하거나, 업데이트/삭제/입력 등을 수행하도록 작성된 정보이다. Thereafter, the second agent 300b generates a result of verifying the DML generation information (S14) and transmits the generated result to the central control server 100 (S15). The central control server 100 generates DML query information according to the received result, transmits it to the POS system database, and receives the result (S16). DML query information is information written to search for data of a specific table in POS System's database, or to update/delete/enter data.

중앙통제서버(100)는 포스시스템으로부터 DML 쿼리 정보의 실행 결과를 수신하면 해당 결과를 제1에이전트(300a)에게 전송한다(S17). 이 과정에서 중앙통제서버(100)는 결과 정보를 제2에이전트(300b)에게도 전송할 수 있다. When receiving the execution result of the DML query information from the POS system, the central control server 100 transmits the result to the first agent 300a (S17). In this process, the central control server 100 may also transmit result information to the second agent 300b.

S16에서 중앙통제서버(100)는 해당 DB DML작업과 관련된 결재문서 조회 후(S15), 대상 포스시스템의 DB정보 입력 및 DML정보 전송을 통해 해당 POS에 접근할 수 있다. 따라서, 중앙통제서버(100)는 제2에이전트(300b)가 결재한 정보를 이용하여 DML 쿼리 정보를 생성할 수 있다. In S16, the central control server 100 may access the POS through the DB information input and DML information transmission of the target POS system after inquiring the approval document related to the DB DML operation (S15). Accordingly, the central control server 100 may generate DML query information by using the information paid by the second agent 300b.

정리하면, 중앙통제서버(100)의 제어부(150)는 제1에이전트(300a)가 전송한 DML 생성 정보의 검증을 위해 제2에이전트(300b)를 선택한다. 선택을 위해 권한서버(400)로부터 제2에이전트(300b)의 식별 정보를 확인할 수 있다. In summary, the control unit 150 of the central control server 100 selects the second agent 300b to verify the DML generation information transmitted by the first agent 300a. For selection, identification information of the second agent 300b may be checked from the authorization server 400.

그리고 중앙통제서버(100)의 통신부(110)는 제2에이전트(300b)에게 DML 생성 정보를 전송한 후(S13), 제2에이전트(300b)로부터 DML 생성 정보에 대한 검증 결과를 수신(S15)한다. The communication unit 110 of the central control server 100 transmits the DML generation information to the second agent 300b (S13), and then receives the verification result for the DML generation information from the second agent 300b (S15). do.

도 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 central control server 100 transmits the IP address of the PC, the ID to which the person in charge logs in, or the personnel information associated therewith, the authority server 400 of FIG. You can send it to check whether it is a valid user and complete the login.

즉, 중앙통제서버(100)와 권한서버(400) 및 에이전트들 간의 협업에 따라, 최초 로그인시 사용자PC IP를 키값으로 연계된 DB ID 및 인사정보를 가져와서 중앙통제서버(100) 또는 권한서버(400)가 유효한 사용자인지 여부를 확인한 후 에이전트는 DML 생성 정보를 생성하는 데 필요한 화면을 출력할 수 있다. That is, according to the collaboration between the central control server 100, the authorization server 400, and the agents, the central control server 100 or the authorization server by bringing the DB ID and personnel information linked to the user PC IP as a key value at the first login. After confirming whether 400 is a valid user, the agent can output a screen necessary to generate DML generation information.

도 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 central control server 100. The central control server 100 may additionally perform verification of an upper person in charge according to the type of query, the type of database or table, and the like.

중앙통제서버(100)는 각 가맹점 별 데이터베이스의 종류와 해당 데이터베이스를 구성하는 테이블에 대한 정보, 그리고 각 테이블에 대한 권한 레벨 정보를 저장할 수 있다. 권한 레벨 정보란, 각 테이블에서 이루어지는 SEARCH/INSERT/UPDATE/DELETE 등을 실행하는 권한에 대한 정보이다. The central control server 100 may store the type of database for each affiliate store, information on tables constituting the database, and authority level information for each table. The authority level information is information on the authority to execute SEARCH/INSERT/UPDATE/DELETE, etc. in each table.

예를 들어, "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 central control server 100 performs verification through confirmation of a high-level person in charge.

반면, 상품의 재고 정보나 판매 수량이 저장된 테이블에 대해 "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 central control server 100 determines that such a search is a search of a table that does not correspond to personal information. Allows the query to be executed without confirmation.

한편, 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 central control server 100 may store a query statement for a certain period of time for a query statement that changes table information such as UPDATE/INSERT/DELETE, or store information necessary to roll-back the query result. . At this time, the central control server 100 may determine the degree of risk differently according to the degree to which the DB is affected when executing the corresponding DML query statement, or may change the information storage period for rollback.

예를 들어, 중요도가 낮은 정보들이 저장된 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 central control server 100 determines that the importance of the corresponding DML query statement is low. In this case, the central control server 100 may shorten the storage period of information required for rollback, or exclude a rollback function for a corresponding DML query statement.

또는 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 central control server 100. For example, a VPN (Virtual Private Network) is installed in the POS system to perform port control, and the central control server 100 uses the POS system's DBs 500a, 500b, ..., through a port allowed through the VPN. 500n) can be connected.

반면, 에이전트들은 중앙 통제서버(100)와 연결될 뿐이며, 포스시스템의 DB에는 연결되지 않는다. 따라서, 에이전트를 통한 포스시스템의 해킹이나 에이전트를 통한 포스시스템 DB 접근이 차단된다. On the other hand, agents are only connected to the central control server 100, and are not connected to the POS system DB. Therefore, hacking of POS system through agent or access to POS system DB through agent is blocked.

또한, 중앙통제서버(100)는 각 에이전트들이 수행하려는 DML 생성 정보를 검토하여 쿼리 명령어문에 따라, 혹은 각 에이전트에 로그인된 담당자의 권한 정보에 따라, 또는 각 에이전트에 로그인된 담당자의 과거 작업 히스토리에 따라 DML 생성 정보를 실행할 지 여부를 결정할 수 있다. In addition, the central control server 100 reviews the DML generation information that each agent intends to perform, according to the query statement, or the authority information of the person in charge logged in to each agent, or the past work history of the person in charge logged in to each agent. Depending on whether or not to execute DML generation information can be determined.

도 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 central control server 100 may receive DML generation information including the POS DB IP, the account ID/PW of the person in charge, the DB name, and the table name from the agent. The central control server 100 may check the approval document corresponding to the DML generation information according to the importance of DB DML. The approval document transmits DML generation information to the second agent to verify the DML generation information, and includes the verification result. Or, the approval document includes the result of partially modifying the DML generation information. In addition, the central control server 100 may store log information and rollback information about the DML query operation based on the approval document.

도 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 central control server 100, that is, the communication unit 110 of the central control server 100 receives DML generation information from the first agent (S21). Information previously discussed in FIGS. 5 and 7 may be received.

중앙통제서버(100)는 DML 생성 정보를 검증한다(S22). 검증 과정은 해당 DML 생성 정보를 송신한 에이전트의 권한을 검증하는 절차와 DML 생성 정보 내의 쿼리를 검증하는 절차, 그리고 해당 DML 생성 정보가 접근하고자 하는 포스시스템에 대한 유효한 접근인지를 확인하는 절차 등으로 구성될 수 있다. The central control server 100 verifies the DML generation information (S22). The verification process includes a procedure to verify the authority of the agent that sent the DML generation information, a procedure to verify the query in the DML generation information, and a procedure to verify whether the DML generation information is valid access to the POS system to be accessed. Can be configured.

먼저, 중앙통제서버(100)는 도 4 및 도 5에서 살펴본 바와 같이 에이전트에 로그인하는 담당자의 권한을 확인할 수 있다. 권한 서버(400)를 통해 허가된 담당자가 로그인 하였는지를 확인할 수 있다. First, the central control server 100 may check the authority of a person in charge of logging in to the agent as shown in FIGS. 4 and 5. It is possible to check whether the authorized person in charge has logged in through the authorization server 400.

이 과정에서 중앙통제서버(100)는 일정 기간(예를 들어 1개월 또는 3개월 등)동안 접속지 않았던 담당자가 로그인 하는 경우, 권한 서버(400)외에 다른 추가 검증 과정을 수행하도록 한다. 예를 들어, 해당 담당자의 결재 라인에 있는 상위 레벨의 담당자의 확인을 받은 후 로그인 또는 DML 생성 정보의 검증을 수행할 수 있다. In this process, the central control server 100 performs an additional verification process other than the authorization server 400 when a person in charge who has not been connected for a certain period (eg, 1 month or 3 months) logs in. For example, after receiving confirmation from a person in charge at a higher level in the approval line of the person in charge, login or verification of DML generation information can be performed.

또한, 중앙통제서버(100)는 DML 생성 정보 내의 쿼리를 검증하는 절차를 수행할 수 있다. 이는 DML 생성 정보 내에 포함된 쿼리 문에 대해 해당 쿼리문을 실행할 경우 DB에 영향을 미치는 정도에 따라 위험도 또는 롤백을 위한 정보 저장기간을 달리하는 것을 포함한다. In addition, the central control server 100 may perform a procedure for verifying a query in the DML generation information. This includes changing the risk level or the information storage period for rollback according to the degree to which the DB is affected when the query statement is executed for the query statement included in the DML generated information.

또한 중앙통제서버(100)는 DML 생성 정보 내의 쿼리문의 구문 분석을 수행할 수 있다. 중앙통제서버(100)는 쿼리문의 오탈자를 검증하고, 또한 쿼리문과 이에 대한 설명문을 비교할 수 있다. 예를 들어, 도 7에서 상세정보 1에 "입력"이라는 설명문이 포함되었는데, 실제 쿼리 입력된 부분에서 "insert"가 아닌 "delete"가 포함되었다면 중앙통제서버(100)는 이 쿼리문은 오탈자 혹은 잘못 기재된 쿼리문으로 판단할 수 있다. In addition, the central control server 100 may perform syntax analysis of a query statement in the DML generation information. The central control server 100 may verify typos in the query statement, and may also compare the query statement with a description thereof. For example, if the description of "input" is included in the detailed information 1 in FIG. 7, but "delete" instead of "insert" is included in the actual query input part, the central control server 100 may use this query statement as a typo or It can be judged by an incorrectly written query statement.

중앙통제서버(100)는 상세정보1에 포함된 정보와 쿼리 입력된 내용을 표 1의 메타정보-쿼리대응정보를 이용하여 쿼리문을 검증할 수 있다. 표 1의 테이블은 중앙통제서버(100)의 저장부(120)가 저장할 수 있다. The central control server 100 may verify the query statement by using the information included in the detailed information 1 and the content of the query input using the meta information-query response information of Table 1. The table of Table 1 may be stored by the storage unit 120 of the central control server 100.

[표 1] 메타정보-쿼리대응정보[Table 1] Meta information-query response information 상세정보 1에 포함된 단어Words in detail 1 대응 쿼리Correspondence query 입력, 추가, 생성Enter, add, create InsertInsert 삭제, 제거Delete, remove DeleteDelete 수정, 업데이트Fix, update UpdateUpdate 검색, 확인Search, check searchsearch

또한, 메타정보에 없는 단어라도 추후 반복하여 특정 대응 쿼리에 대해 작성된 경우 중앙통제서버(100)의 제어부(150)가 이를 대응 쿼리로 저장할 수 있다.In addition, when a word that is not in the meta-information is repeatedly written for a specific correspondence query later, the control unit 150 of the central control server 100 may store it as a corresponding query.

예를 들어, "제외"라는 단어가 "상세정보1" 과 같은 메타 정보에 포함되며, 여기에 대응하여 대응 쿼리가 "Delete"인 경우, 중앙통제서버(100)의 제어부(150)는 이러한 메타 정보의 발생 빈도를 누적 저장할 수 있다. 또한, 중앙통제서버(100)의 제어부(150)는 담당자별(에이전트별) 해당 단어의 발생 빈도를 판단할 수 있다. 그 결과 발생 빈도가 높거나, 또는 다수의 에이전트로부터 해당 단어와 대응쿼리가 작성된 경우, 해당 단어(예를 들어 "제외")와 대응 쿼리를 표 1과 같은 정보로 생성할 수 있다.For example, when the word "excluded" is included in meta information such as "detailed information 1", and the corresponding query is "Delete", the controller 150 of the central control server 100 The frequency of occurrence of information can be accumulated and stored. In addition, the control unit 150 of the central control server 100 may determine the frequency of occurrence of the corresponding word for each person in charge (per agent). As a result, when the occurrence frequency is high, or when a corresponding word and a corresponding query are created from a plurality of agents, the corresponding word (for example, "excluded") and a corresponding query can be generated with the information shown in Table 1.

그 결과 중앙통제서버(100)의 제어부(150)는 표 1과 같은 메타정보-쿼리대응정보를 "삭제, 제거" 대신에 "삭제, 제거, 제외" 로 업데이트 할 수 있다. As a result, the control unit 150 of the central control server 100 may update the meta-information-query response information as shown in Table 1 to "delete, remove, exclude" instead of "delete, remove".

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 control unit 150 of the central control server 100 may verify the DML generation information by comparing the query statement with the word included in the meta information, the database information, and the table information.

표 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 storage unit 120 of the central control server 100 may separately store information on data stored in each database or table. For example, information on whether a specific database/table stores payment-related data or order-related data may be stored in the storage unit 120.

또한, 중앙통제서버(100)는 해당 DML 생성 정보가 접근하고자 하는 포스시스템에 대한 유효한 접근인지를 확인할 수 있다. 앞서 권한 정보를 이용하여 확인할 수 있다. 또한 중앙통제서버(100)는 각 해당 포스시스템의 DBMS(DB management system)의 IP, PORT 접근유무, 접근 가능 테이블에 대해 유효성 검증을 수행할 수 있다. In addition, the central control server 100 may check whether the corresponding DML generation information is a valid access to the POS system to be accessed. You can check it using the permission information above. In addition, the central control server 100 may perform validity verification on the IP, PORT access or not, and accessible tables of the DBMS (DB management system) of each corresponding POS system.

예를 들어, DML 생성 정보 내에 메타 정보로 입력된 DB의 IP 정보와 PORT 정보, DB명과 테이블 명에 대해 중앙통제서버(100)는 해당 에이전트가 접근가능한지를 판단할 수 있다. 또한, 중앙통제서버(100)는 쿼리입력란에 입력된 쿼리문 내의 테이블 명 또는 DB명과 메타정보 내의 해당 정보를 비교하여 유효한 접근인지를 확인할 수 있다. For example, the central control server 100 may determine whether the corresponding agent is accessible for the IP information and PORT information, DB name and table name of the DB input as meta information in the DML generation information. In addition, the central control server 100 may check whether the access is valid by comparing the table name or DB name in the query statement entered in the query input field with the corresponding information in the meta information.

전술한 검증 결과에 따라 중앙통제서버(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 central control server 100 may determine whether verification by another agent is required for these. If necessary, the central control server 100 may perform steps S13 to S15 of FIG. 4 above. That is, the central control server 100 inquires the authority of the first agent that transmitted the DML generation information from the authority server or verifies the DML generation information through the second agent according to the verification result (S23). This includes a process of receiving a verification result for DML generation information from another agent as shown in S15 of FIG. 5.

그리고 중앙통제서버(100)는 권한 및 검증 결과를 반영하여 DML 쿼리 정보를 생성한다(S24). 이때, S23에서 제2에이전트가 쿼리문을 일부 수정한 경우, 중앙통제서버(100)는 이를 반영하여 DML 쿼리 정보를 생성한다. 이후 중앙통제서버(100)는 DML 쿼리 정보를 대상 포스시스템의 DB에 전송하고 포스시스템의 DB로부터 실행 결과 수신한다(S25). Then, the central control server 100 generates DML query information by reflecting the authority and verification result (S24). At this time, when the second agent partially modifies the query statement in S23, the central control server 100 reflects this and generates DML query information. Thereafter, the central control server 100 transmits the DML query information to the DB of the target POS system and receives the execution result from the DB of the POS system (S25).

S22 내지 S24의 과정을 요약하면 중앙통제서버(100)의 제어부(150)가 S21에서 수신한 DML 생성 정보를 검증한 후 DML 생성 정보를 DML 쿼리 정보로 변환하여 생성하는 과정이다. Summarizing the processes of S22 to S24, the control unit 150 of the central control server 100 verifies the DML generation information received at S21, and then converts the DML generation information into DML query information to generate it.

이때, 중앙통제서버(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 central control server 100 may select one of an immediate transmission method and a delay transmission method. In the immediate transmission method, when DML query information is generated, it is transmitted to POS system and DML query statements are executed against the DB. The delayed transmission method is a method in which the central control server 100 stores DML query information in a temporary query table and transmits the DML query information to the POS system after a certain period of time (a time interval such as 30 seconds or 10 minutes) has passed.

지연 전송 방식은 제1에이전트 또는 제2에이전트가 실행 취소를 긴급하게 요청할 경우, 중앙통제서버(100)가 DML 쿼리 정보를 전송하지 않고 삭제하는 방식이다. 이는 담당자의 실수나 오판에 대비하여 취소할 수 있는 시간 간격을 주어 DB 정확도를 향상시킬 수 있다. In the delayed transmission method, when the first agent or the second agent urgently requests an undo, the central control server 100 deletes the DML query information without transmitting it. This can improve DB accuracy by giving a time interval that can be canceled in case of a mistake or misjudgment by the person in charge.

이후, 중앙통제서버(100)는 DML 쿼리 정보의 실행 결과 또는 롤백에 필요한 롤백 정보를 저장한다(S26). 즉, 중앙통제서버(100)의 저장부(120)는 DML 쿼리 정보의 전송 전 또는 전송 후의 시점에 다음의 사항들을 선택적으로 혹은 전부 저장할 수 있다. Thereafter, the central control server 100 stores the execution result of the DML query information or rollback information required for rollback (S26). That is, the storage unit 120 of the central control server 100 may selectively or entirely store the following items before or after transmission of the DML query information.

예를 들어, 저장부(120)는 DML 쿼리 정보, DML 쿼리 정보의 실행 결과 정보, 롤백 정보, DML 생성 정보 중 어느 하나 이상을 저장할 수 있다. 이는 특정 포스시스템의 DB상에 DML정보가 반영되었어도, 여러 사정에 따라 롤백이 필요한 경우에 중앙통제서버(100)는 해당 포스시스템의 DB에 롤백 관련 명령어를 보내서 롤백을 수행할 수 있다. For example, the storage unit 120 may store one or more of DML query information, execution result information of DML query information, rollback information, and DML generation information. In this case, even if DML information is reflected on the DB of a specific POS system, when a rollback is required for various circumstances, the central control server 100 may perform rollback by sending a rollback related command to the DB of the corresponding POS system.

롤백이 필요한 경우란, 해당 포스시스템의 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 central control server 100 may generate a reporting document through which the owner of the POS system can check the changes and transmit it to the POS system or the email address of the owner of the POS system. . This is an optional process.

이후 포스시스템이 롤백을 요청하면, 중앙통제서버(100)는 대응하는 DML 쿼리 정보의 수행을 롤백시키는 작업을 수행한다. Thereafter, when the POS system requests a rollback, the central control server 100 performs a task of rolling back the execution of the corresponding DML query information.

도 8의 과정을 정리하면, 중앙통제서버(100)는 DML 생성 정보를 검증하고 이에 기반하여 DML 쿼리 정보를 생성하며, DML 쿼리 정보에 따른 쿼리문 실행 후 롤백 가능한 정보를 생성하여 일정기간 저장하는 프로세스를 수행할 수 있다. To summarize the process of FIG. 8, the central control server 100 verifies the DML generation information, generates DML query information based on this, and generates rollbackable information after executing the query statement according to the DML query information and stores it for a certain period of time. The process can be carried out.

중앙통제서버(100)는 포스시스템의 DB에 대한 접근을 지역별, 가맹점별, 혹은 전체로 나누어 권한을 제어할 수 있다. 그리고 에이전트의 권한에 따라 접근 가능한 포스시스템의 범위를 제한할 수 있다. The central control server 100 may control the authority by dividing the access to the POS system's DB into regions, affiliated stores, or all. In addition, the scope of accessible POS systems can be limited according to the agent's authority.

예를 들어, 중앙통제서버(100)는 가장 낮은 권한의 에이전트에 대해서는 오직 하나의 포스시스템의 데이터베이스에 대한 DML 생성 정보만을 허락하고, 또한 일정한 시간 범위 내에서 DML 생성 정보의 송신 횟수를 제한할 수 있다. 물론, 보다 높은 권한의 에이전트에 대해서는 위의 제한을 단계적으로 해제할 수 있다. 일 실시예로 중앙통제서버(100)는 다음의 권한-접근허용정보를 유지할 수 있다. For example, the central control server 100 allows only the DML generation information for the database of one POS system to the agent with the lowest authority, and can also limit the number of transmissions of DML generation information within a certain time range. have. Of course, for agents with higher authority, the above restrictions can be released in stages. In an embodiment, the central control server 100 may maintain the following authority-access permission information.

[표 2] 권한-접근허용정보(시스템-DML)[Table 2] Authority-Access Permitted Information (System-DML) 권한 레벨Authority level 동시 수행 포스시스템 수Number of simultaneous force systems DML 종류DML type 1회 시간 범위1 time range LowLow 1One SelectSelect 1일1 day Low-middleLow-middle 1One Select/Insert/Delete/UpdateSelect/Insert/Delete/Update 6시간6 hours MiddleMiddle 가맹점 그룹Affiliate group Select/Insert/Delete/UpdateSelect/Insert/Delete/Update 1시간1 hours High-middleHigh-middle 가맹점 그룹Affiliate group Select/Insert/Delete/UpdateSelect/Insert/Delete/Update 없음none HighHigh 전체 시스템Whole system Select/Insert/Delete/UpdateSelect/Insert/Delete/Update 없음none

표 2의 권한-접근허용정보를 참조하면, 중앙통제서버(100)는 "Low-middle"인 권한의 에이전트는 하나의 포스시스템에 대해 "Select/Insert/Delete/Update"를 수행할 수 있으며, 한번 DML 생성 정보를 송신하여 쿼리 수행이 완료한 후, 6시간 전에는 시스템에 접속할 수 없거나 혹은 DML 생성 정보를 생성할 수 없도록 제한한다. 또는, 6시간 이내에는 오직 "SELECT" 만을 수행하도록 제한할 수 있다. Referring to the authority-access permission information in Table 2, the central control server 100 can perform "Select/Insert/Delete/Update" for one POS system by an agent with "Low-middle" authority, Once the DML generation information is transmitted and query execution is completed, it is restricted so that the system cannot be accessed 6 hours before or the DML generation information cannot be generated. Alternatively, it can be limited to perform only "SELECT" within 6 hours.

마찬가지로, "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 central control server 100 may control the POS systems in groups according to various characteristics of the POS system.

전술한 권한 레벨은 각 담당자의 인사 정보 혹은 담당 지역/가맹점에 따라 설정될 수 있다. 또한 권한 레벨에는 에이전트가 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 central control server 100 verifying the DML generation information, or another agent verifying the DML generation information, so that the verification procedure is automatically performed if unnecessary operations are unnecessary. Make it happen.

표 2와 아래 표 3 및 도 8의 실시예를 적용하며, 중앙통제서버(100)의 제어부(150)는 에이전트의 권한에 따라 수행 가능한 쿼리문, 쿼리문을 수행할 데이터베이스 및 테이블 정보를 이용하여 DML 생성 정보를 검증할 수 있다. Applying the embodiment of Table 2 and Table 3 and FIG. 8 below, the control unit 150 of the central control server 100 uses the query statement that can be executed according to the authority of the agent, the database to execute the query statement, and table information. DML generated information can be verified.

수행 가능한 쿼리문을 이용하여 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 control unit 150 may check the authority level of the agent and verify whether the agent has transmitted DML generation information to the accessible DB/table. Of course, queries that can be executed such as Select/Update/Delete/Insert may be additionally configured for each permission level in Table 3.

[표 3] 권한-접근허용정보(DB/Table)[Table 3] Authority-Access permission information (DB/Table) 권한 레벨Authority level DB명DB name Table명Table name LowLow 결제정보_DBPayment Information_DB 결제카드_TablePayment Card_Table Low-middleLow-middle 결제정보_DB, 재고정보_DBPayment Information_DB, Inventory Information_DB 결제카드_Table, 재고수량_TablePayment Card_Table, Inventory Quantity_Table MiddleMiddle 결제정보_DB, 재고정보_DB,발주정보_DBPayment Information_DB, Inventory Information_DB, Order Information_DB 결제카드_Table,
재고수량_Table,
주문정보_Table
Payment Card_Table,
Inventory Quantity_Table,
Order Information_Table
High-middleHighHigh-middleHigh 결제정보_DB, 재고정보_DB,
발주정보_DB, 보안정보_DB
Payment Information_DB, Inventory Information_DB,
Ordering Information_DB, Security Information_DB
결제카드_Table,
재고수량_Table,
주문정보_Table,
로그인기록_Table
Payment 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 central control server 100 transmits DML query information to the POS system database 500 (S31). The POS system database 500 generates a result after performing the query (S32). The result of executing Insert/Delete/Update, etc. or the result of executing Search may vary according to each query statement.

포스시스템의 데이터베이스(500)는 결과를 중앙통제서버(100)에게 전송한다. 중앙통제서버(100)는 결과를 통보 대상자에게 전송한다(S34). The POS system database 500 transmits the result to the central control server 100. The central control server 100 transmits the result to the notification target person (S34).

여기서 통보 대상자는 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 central control server 100 may notify via e-mail, or provide a result in a pop-up manner to corresponding agents when the central control server 100 logs in.

또는 가맹점주의 경우 포스시스템을 사용할 때에 포스시스템이 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 "Detailed Information 1" of FIG. 7 may be displayed on the POS system.

이때, 가맹점주가 해당 DML 쿼리를 수행한 것에 대해 롤백을 요청할 경우, 중앙통제서버(100)는 이를 처리할 수 있다. In this case, when the affiliate store owner requests a rollback for the execution of the corresponding DML query, the central control server 100 may process this.

또한, 중앙통제서버(100)는 DML 쿼리 정보를 수행한 포스시스템이 쿼리문을 실행한 결과를 확인했다는 응답을 수신하면 해당 DML 쿼리 정보에 대응하는 롤백 정보를 삭제할 수 있다. In addition, the central control server 100 may delete the rollback information corresponding to the DML query information upon receiving a response indicating that the POS system that performed the DML query information has confirmed the result of executing the query statement.

도 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 central control server 100, interacts with the authorization server 400, or makes payment of the company's electronic payment system (or IT portal) integrally configured with the aforementioned server. It is possible to increase the stability of DB control by allowing verification based on the document. The POS system DB supervisor can check the DB DML work of the person in charge who logs in as an agent every certain period. To this end, the central control server 100 may store the execution result of DML query information as a history.

한편, 중앙통제서버(100)의 제어부(150)는 에이전트가 전송한 DML 생성 정보 또는 이에 대응하는 DML 쿼리 정보를 중앙통제서버(100)의 저장부(120)에 누적 저장할 수 있다. 그리고, 중앙통제서버(100)의 제어부(150)는 저장부(120)에 저장된 다수의 DML 생성 정보 또는 DML 쿼리 정보를 검증하여 에이전트의 권한을 변경할 수 있다. Meanwhile, the control unit 150 of the central control server 100 may accumulate and store the DML generation information transmitted by the agent or the corresponding DML query information in the storage unit 120 of the central control server 100. Further, the control unit 150 of the central control server 100 may change the authority of the agent by verifying a plurality of DML generation information or DML query information stored in the storage unit 120.

예를 들어, 제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 control unit 150 of the central control server 100 may upgrade the authority level of the corresponding agent. In an embodiment, the control unit 150 of the central control server 100 may upgrade the authority level of the first agent from “LOW” to “Low-middle” (see Table 2).

반대로, 제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 control unit 150 of the central control server 100 may downgrade the authority level of the corresponding agent. In an embodiment, the control unit 150 of the central control server 100 may downgrade the authority level of the first agent from “Middle” to “Low-middle” (see Table 2).

도 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 communication unit 110 of the central control server 100 transmits the execution result information and DML generation information of the DML query information to the POS system 500 (S36). The POS system 500 displays the received information on the interface, and after the administrator of the POS system (for example, the affiliate store owner or business manager) checks it, inputs information requesting a rollback (S37). At this time, the reason for the rollback may be input. And the POS system 500 requests a rollback to the central control server 100 (S38).

중앙통제서버(100)의 통신부(110)가 포스시스템(500)으로부터 롤백을 요청받으면 중앙통제서버(100)의 제어부(150)는 저장된 롤백 정보를 이용하여 DML 쿼리 정보의 실행을 롤백시키는 롤백 프로세스를 수행한다(S39). 이때, 롤백이 에이전트의 오류 또는 잘못으로 발생한 경우, 해당 에이전트의 권한 레벨을 다운그레이드 하거나 혹은 롤백이 발생했음을 통지하는 메시지를 권한 서버 또는 제2에이전트에게 전송할 수 있다.When the communication unit 110 of the central control server 100 receives a rollback request from the POS system 500, the control unit 150 of the central control server 100 rolls back the execution of DML query information using the stored rollback information. Performs (S39). In this case, when the rollback occurs due to an error or an error of the agent, the authority level of the agent may be downgraded or a message notifying that the rollback has occurred may be transmitted to the authority server or the second agent.

전술한 실시예들을 적용할 경우 다수의 가맹점들로 구성된 유통업체에 대량으로 구축된 포스시스템의 데이터베이스에 대한 검색이나 레코드 제어가 안정적으로 수행될 수 있다. 특히, 중앙통제서버(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 central control server 100 restricts the interaction with the authority server 400 and the database access range for each authority of the person in charge so that DML query information can be performed appropriately to the authority of the person in charge.

즉, 에이전트가 직접 포스시스템의 데이터베이스에 접근하지 않으면서도 중앙통제서버(100)에 의해 데이터베이스 작업이 수행되므로, 고객의 신용정보나 가맹점의 물품 정보, 판매 정보 등 주요한 정보가 저장된 포스시스템의 DB 정보를 보호할 수 있다. 특히, 중앙통제서버(100)와 포스시스템의 데이터베이스는 VPN 혹은 방화벽을 통해 보안성이 유지되는 통신 프로토콜로 연결되어 포스시스템의 해킹을 방지할 수 있다. 이는 포스시스템이 중앙통제서버(100) 외의 다른 외부의 통신상의 접근을 차단할 수 있도록 하여 불특정한 장치들이 포스시스템에 접근하는 것을 방지할 수 있다. That is, since the database operation is performed by the central control server 100 without the agent directly accessing the POS system's database, the POS system's DB information in which important information such as customer credit information, merchant product information, and sales information is stored. Can protect. In particular, the central control server 100 and the POS system database are connected through a VPN or firewall through a communication protocol that maintains security, so that hacking of the POS system can be prevented. This allows the POS system to block external communication access other than the central control server 100 to prevent unspecified devices from accessing the POS system.

또한, 중앙통제서버(100)는 주기적으로 포스시스템과의 통신 연결 상태를 변경할 수 있다. 포트 번호를 변경하는 방식을 통해 보안성을 높일 수 있다. In addition, the central control server 100 may periodically change the communication connection state with the POS system. Security can be improved by changing the port number.

뿐만 아니라, 에이전트가 중앙통제서버(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 central control server 100, and the central control server 100 verifies the DML generation information, and generates the corresponding DML to the agent of the upper level person in charge. Information verification can be requested, and system security can be improved based on this. In addition, by preventing erroneous database manipulation, it is possible to solve problems in which important information is deleted or lost or changed.

본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.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: central control server 300a~300k: agent
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에이전트에 대한 검증 결과를 수신하며,
상기 제어부는 상기 로그인한 제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.
제2항에 있어서,
상기 제어부는 상기 제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.
제2항에 있어서,
상기 제어부는 상기 제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항에 있어서,
상기 제어부는 상기 제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.
제1항에 있어서,
상기 통신부는 상기 포스시스템에게 상기 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.
제1항에 있어서,
상기 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항에 있어서,
상기 중앙통제서버는 권한 서버와 통신하며,
상기 권한 서버는
인사 정보를 저장하는 인사 정보 저장부를 더 포함하며
상기 권한 서버는 상기 중앙통제서버로부터 제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.
제9항에 있어서,
상기 통신부가 상기 제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.
제10항에 있어서,
상기 제어부가 상기 제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.
제10항에 있어서,
상기 제어부는 상기 제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.
제9항에 있어서,
상기 제어부가 상기 제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.
제9항에 있어서,
상기 통신부가 상기 포스시스템에게 상기 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.
제9항에 있어서,
상기 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.
KR1020200058959A 2020-05-18 2020-05-18 Method of secure access and query execution of database and server implementing thereof KR102185555B1 (en)

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)

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

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

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

Patent Citations (5)

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

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