[go: up one dir, main page]

KR101737575B1 - Method and device for verifying data based on sql sentences generated automatically - Google Patents

Method and device for verifying data based on sql sentences generated automatically Download PDF

Info

Publication number
KR101737575B1
KR101737575B1 KR1020150185130A KR20150185130A KR101737575B1 KR 101737575 B1 KR101737575 B1 KR 101737575B1 KR 1020150185130 A KR1020150185130 A KR 1020150185130A KR 20150185130 A KR20150185130 A KR 20150185130A KR 101737575 B1 KR101737575 B1 KR 101737575B1
Authority
KR
South Korea
Prior art keywords
data
server
identification information
location identification
target
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020150185130A
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 한국비앤에스시스템 주식회사
Application granted granted Critical
Publication of KR101737575B1 publication Critical patent/KR101737575B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G06F17/30289
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • G06F17/271
    • G06F17/303
    • G06F17/30371

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 실시예에 따르는 자동 생성된 SQL(Structured Query Language) 구문 기반의 데이터 검증방법은 (a) 원천 서버에 저장된 데이터에 대한 원천위치 식별정보와 상기 데이터가 타겟 서버에 저장될 위치에 대한 타겟위치 식별정보를 추출하는 단계; (b) 상기 데이터를 타겟 서버로 이관시키기 위한 구문을 포함하는 이관로직에 상기 원천위치 식별정보와 타겟위치 식별정보를 적용하여 매핑로직을 생성하는 단계; 및 (c) 상기 원천 서버의 데이터가 상기 타겟 서버로 이관된 후, 상기 매핑로직을 참조하여 이관 전의 데이터와 이관 후의 데이터를 비교함으로써 상기 이관된 데이터를 검증하는 단계를 포함한다.An automatically generated SQL (Structured Query Language) syntax-based data validation method according to an embodiment of the present invention includes: (a) source location identification information for data stored in a source server; Extracting target location identification information; (b) applying the source location identification information and the target location identification information to a migration logic including a syntax for transferring the data to a target server to generate mapping logic; And (c) verifying the diverted data by comparing the pre-diverted data with the post-diverted data with reference to the mapping logic after the data of the source server is transferred to the target server.

Description

자동 생성된 SQL 구문 기반의 데이터 검증 방법 및 장치{METHOD AND DEVICE FOR VERIFYING DATA BASED ON SQL SENTENCES GENERATED AUTOMATICALLY}TECHNICAL FIELD [0001] The present invention relates to a method and apparatus for automatically generating SQL statements based on SQL syntax,

본 발명은 자동 생성된 SQL 구문 기반의 데이터 검증 방법 및 장치에 관한 것으로서, 보다 상세하게는, 데이터 검증 작업에 있어서의 효율성 증대와 인건비 절감을 도모하기 위한 자동 생성된 SQL 구문 기반의 데이터 검증 방법 및 장치에 관한 것이다.The present invention relates to a method and an apparatus for verifying data based on automatically generated SQL statements, and more particularly, to a method and apparatus for verifying data based on automatically generated SQL statements for increasing efficiency and reducing labor costs in data verification work, ≪ / RTI >

인터넷 기술의 발달로 인해 각 기업의 모든 업무 시스템들은 서버를 이용하여 구축되고 있다. 이러한 서버는 지속적인 업데이트와 관리가 필요한데, 그에 따라 원천 서버에서 새로운 타겟 서버로의 데이터 이관 작업이 요구된다. Due to the development of Internet technology, all business systems of each company are being built using servers. These servers need to be constantly updated and managed, which requires data migration from the origin server to the new target server.

이러한 데이터 이관 작업시, 원천 서버에 저장된 데이터의 테이블 값 및 컬럼(column) 값을 타겟 서버에 저장된 테이블 값 및 컬럼 값으로 전환시키기 위한 매핑로직 작성이 필요한데, 종래기술의 경우, 매핑로직을 개발자가 직접 SQL(Structured Query Language) 구문으로 작성하고 매핑로직 변경 이력을 수작업으로 관리하도록 구성되어 왔다. 그에 따라, SQL 작성시 시간적 낭비가 심하며, 개발자 별 매핑로직 변경이력을 수기 관리하게 되어 전체적인 이력관리가 불가능하게 되고 변경이력이나 데이터의 유실 문제도 발생하게 되어 많은 문제를 일으키고 있는 실정이다. In this case, it is necessary to create a mapping logic for converting the table value and the column value of the data stored in the source server into the table value and the column value stored in the target server. In the conventional technology, It has been configured to write directly in Structured Query Language (SQL) syntax and manually manage the history of mapping logic changes. As a result, time is wasted when writing SQL, and the history of mapping logic changes for each developer is handled by the developer, making it impossible to manage the entire history and causing problems such as change history and data loss.

또한, 타겟 서버로 전환된 데이터에 대해서, 원천 서버로부터 온전히 이행되었는지 검증하는 작업 수행이 요구된다. 이때, 종래기술의 경우, 기술검증 프로그램을 개발자가 직접 작성하고 데이터 이관이 완료된 시점에 별도의 시간을 배정하여 직접 검증 프로그램을 수행하고 수작업으로 집계하여 보고하는 방식으로 전환데이터 검증이 이루어진다. 이러한 경우, 개발자가 작성한 프로그램에 대한 의존도가 높아 지게 되므로, 개발자의 고객사 입장에서 데이터 전환 검증이 온전히 이루어진 것인지 판단할 수 없게 되는 문제점이 발생되고 있다.In addition, it is required to perform an operation to verify whether the data converted to the target server is fully implemented from the origin server. At this time, in the case of the related art, conversion data verification is performed in such a manner that a developer directly prepares a technical verification program, assigns a separate time at the completion of the data transfer, directly performs a verification program, and manually reports and compiles it. In this case, since the dependency on the program created by the developer becomes high, there arises a problem that the developer can not judge whether or not the data conversion verification is completed in the viewpoint of the customer.

공개특허공보 특2003-0056153호(공개일 : 2003.07.04)Published Japanese Patent Application Publication No. 2003-0056153 (Publication date: 2003.07.04)

본 발명은, 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 데이터 이관을 위한 SQL 구문을 자동으로 생성하고, 이를 기반으로 검증 대상이 되는 데이터를 자동 추출 및 비교하는 방식으로 검증과정을 자동화하기 위한 데이터 검증방법 및 데이터 검증장치를 제공하는 데에 목적이 있다. SUMMARY OF THE INVENTION The present invention has been made to solve the above problems of the related art, and it is an object of the present invention to automatically generate an SQL statement for data transfer and automatically extract and compare data to be verified on the basis thereof, A data verification method and a data verification apparatus are provided.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예에 따르는 자동 생성된 SQL(Structured Query Language) 구문 기반의 데이터 검증방법은 (a) 원천 서버에 저장된 데이터에 대한 원천위치 식별정보와 상기 데이터가 타겟 서버에 저장될 위치에 대한 타겟위치 식별정보를 추출하는 단계; (b) 상기 데이터를 타겟 서버로 이관시키기 위한 구문을 포함하는 이관로직에 상기 원천위치 식별정보와 타겟위치 식별정보를 적용하여 매핑로직을 생성하는 단계; 및 (c) 상기 원천 서버의 데이터가 상기 타겟 서버로 이관된 후, 상기 매핑로직을 참조하여 이관 전의 데이터와 이관 후의 데이터를 비교함으로써 상기 이관된 데이터를 검증하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method for validating an automatically generated Structured Query Language (SQL) syntax based on at least one of (a) source location identification information And extracting target location identification information for a location where the data is to be stored in a target server; (b) applying the source location identification information and the target location identification information to a migration logic including a syntax for transferring the data to a target server to generate mapping logic; And (c) verifying the diverted data by comparing the pre-diverted data with the post-diverted data with reference to the mapping logic after the data of the source server is transferred to the target server.

또한, 본 발명의 다른 실시예에 따르는, 자동 생성된 SQL(Structured Query Language) 구문 기반의 데이터 검증장치는, 자동 생성된 SQL 구문 기반의 데이터 검증방법을 수행하기 위한 프로그램이 저장된 메모리; 및 상기 메모리에 저장된 프로그램을 실행하기 위한 프로세서;를 포함하며, 상기 프로세서는, 상기 프로그램의 실행에 따라, 원천 서버에 저장된 데이터에 대한 원천위치 식별정보와 상기 데이터가 타겟 서버에 저장될 위치에 대한 타겟위치 식별정보를 추출하고, 상기 데이터를 상기 타겟 서버로 이관시키기 위한 구문을 포함하는 이관로직에 상기 원천위치 식별정보와 타겟위치 식별정보를 적용하여 매핑로직을 생성하며, 상기 원천 서버의 데이터가 상기 타겟 서버로 이관된 후, 상기 매핑로직을 참조하여 이관 전의 데이터와 이관 후의 데이터를 비교함으로써 상기 이관된 데이터를 검증한다.According to another aspect of the present invention, an automatically generated SQL (Structured Query Language) syntax-based data verification apparatus includes a memory for storing a program for performing a data verification method based on an automatically generated SQL statement; And a processor for executing a program stored in the memory, wherein, in accordance with the execution of the program, the processor is further configured to determine, based on the source location information for the data stored in the source server and the location Generating mapping logic by applying the source location identification information and the target location identification information to a migration logic including a syntax for extracting target location identification information and transferring the data to the target server, After the transfer to the target server, the transfer data is verified by comparing the pre-transfer data with the post-transfer data by referring to the mapping logic.

본 발명은 원천 서버로부터 타겟 서버로 이관된 데이터를 검증함에 있어 필요한 SQL 구문 생성 및 검증 정보 입력 작업들을 자동화시킴으로써, 작업자의 수작업에 의한 문제점들을 개선할 수 있어 효율성을 증대시킬 수 있으며, 인건비 절감을 통한 비용절감을 달성할 수 있다. 또한, 통상적으로 기업 서버의 데이터 이관은 소비자들에 대한 영향을 줄이기 위해 휴일이나 주말에 이루어지는 데, 방대한 양의 데이터를 이관하고 검증하기에는 부족한 시간이다. 이때, 검증할 수 있는 유휴저장공간의 존재여부를 확인하고, 개개의 데이터 마다 이관이 완료될 때마다 곧바로 검증을 수행함으로써, (즉, 이관과 검증을 병렬적으로 수행함으로써) 데이터 이관 및 검증에 소요되는 전체 시간을 획기적으로 단축할 수 있다. The present invention automates SQL statement generation and verification information input operations necessary for verifying data transferred from a source server to a target server, thereby improving problems caused by manual work by an operator, thereby increasing efficiency and reducing labor costs. Cost savings can be achieved. In addition, data transfer of corporate servers is usually done on holidays or weekends to reduce the impact on consumers, but it is not enough time to transfer and verify large amounts of data. At this time, it is possible to check whether there is an idle storage space that can be verified, and perform verification immediately upon completion of the transfer for each individual data (i.e., by performing escalation and verification in parallel) The total time required can be shortened remarkably.

도 1은 본 발명의 일 실시예에 따르는 시스템의 구조도이다.
도 2는 본 발명의 일 실시예에 따르는 자동 생성된 SQL 구문 기반의 데이터 검증장치의 구성요소에 대한 블록도이다.
도 3는 본 발명의 일 실시예에 따르는 자동 생성된 SQL 구문 기반의 데이터 검증방법을 설명하기 위한 순서도이다.
도 4는 도 3의 검증 과정(S140)을 구체적으로 설명하기 위한 순서도이다.
1 is a structural diagram of a system according to an embodiment of the present invention.
FIG. 2 is a block diagram of the components of an automatically generated SQL statement-based data verification apparatus according to an embodiment of the present invention.
FIG. 3 is a flow chart for explaining a method of verifying data based on an automatically generated SQL statement according to an embodiment of the present invention.
FIG. 4 is a flowchart for explaining the verification process (S140) of FIG. 3 in detail.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In this specification, the term " part " includes a unit realized by hardware, a unit realized by software, and a unit realized by using both. Further, one unit may be implemented using two or more hardware, or two or more units may be implemented by one hardware. On the other hand, 'to' is not limited to software or hardware, 'to' may be configured to be an addressable storage medium, and may be configured to play one or more processors. Thus, by way of example, 'parts' may refer to components such as software components, object-oriented software components, class components and task components, and processes, functions, , Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functions provided in the components and components may be further combined with a smaller number of components and components or further components and components. In addition, the components and components may be implemented to play back one or more CPUs in a device or a secure multimedia card.

이하, 도 1을 참조하여, 본 발명의 일 실시예에 따르는 시스템에 대하여 구체적으로 설명한다. Hereinafter, a system according to an embodiment of the present invention will be described in detail with reference to FIG.

위 시스템은 원천 서버(100), 타겟 서버(200)를 포함한다. The above system includes a source server 100 and a target server 200.

원천 서버(100)는 데이터를 저장하는 서버이다. 예를 들어, 데이터는 신용카드 회사에서 관리하는 카드사용정보, 카드사용자정보 등에 관한 정보일 수 있으며, 그 외의 다양한 정보에 관한 것일 수 있다. 서버에 저장된 데이터는 각각의 데이터마다 위치 식별정보를 포함한다. 구체적으로, 데이터는 엑셀 등과 같은 테이블 내에 기재된 정보일 수 있으며, 이때, 데이터의 위치 식별정보는 테이블의 명칭, 테이블 내에 해당 데이터가 기재된 컬럼값이 될 수 있다. The source server 100 is a server for storing data. For example, the data may be information on card usage information managed by a credit card company, card user information, and the like, and may be related to various other information. The data stored in the server includes location identification information for each data. Specifically, the data may be information described in a table such as an Excel or the like. At this time, the location identification information of the data may be the name of the table or a column value in which the corresponding data is written in the table.

원천 서버(100)에 저장된 데이터는 타겟 서버(200)로 이관될 수 있다. 이때, 원천 서버(100)에서 추출할 데이터의 위치와 타겟 서버(200)에 데이터를 적재할 위치에 대한 위치 식별정보는 서로 매칭되고, 매칭이 완료된 후 데이터가 이관될 수 있다.The data stored in the source server 100 may be transferred to the target server 200. At this time, the location of the data to be extracted from the source server 100 and the location identification information of the location to which the data is to be loaded in the target server 200 are matched with each other, and the data can be transferred after the matching is completed.

이때, 이관할 데이터의 위치를 매칭시키고 이관을 수행한 후 이관된 데이터를 검증하는 작업을 제 3 서버(300a)가 수행할 수 있다. 제 3 서버(300a)는 원천 서버(100)와 타겟 서버(200)와 물리적으로 독립되어 구성되는 장치이다. 한편, 검증작업은 타겟 서버(200)에 포함된 프로세서(300b)가 수행할 수도 있다. 즉, 검증 작업을 수행하기 위한 프로그램이 제 3 서버(300a)의 메모리에 저장되거나, 타겟 서버(200)의 메모리에 저장되는지 여부에 따라 작업 수행주체가 달라질 수도 있다.At this time, the third server 300a may perform an operation of matching the location of the data to be relocated and performing the relocation and verifying the transferred data. The third server 300a is an apparatus that is physically independent of the source server 100 and the target server 200. [ Meanwhile, the verification process may be performed by the processor 300b included in the target server 200. [ That is, depending on whether a program for performing the verification operation is stored in the memory of the third server 300a or in the memory of the target server 200, the task performing entity may be different.

이하에서, 데이터 검증 작업을 수행하는 주체가 되는 서버를 편의상 "데이터 검증장치(300)"라 호칭하기로 한다. Hereinafter, a server that is the subject of performing the data verification operation will be referred to as "data verification apparatus 300" for convenience.

한편, 데이터 검증장치(300)에 저장된 정보나 데이터 검증장치(300)가 수행하는 작업에 대한 정보는 데이터 검증장치(300)와 연결된 클라이언트 단말(또는 "사용자 단말")을 통해 사용자에게 제공될 수도 있다. 클라이언트 단말은 데이터 검증장치(300)와 유/무선으로 연결된 통신 단말을 의미하며, 컴퓨터, 스마트폰, 혹은 디스플레이 장치 등으로 구성될 수 있다. Information stored in the data verifying apparatus 300 or information on a job performed by the data verifying apparatus 300 may be provided to the user through a client terminal (or "user terminal") connected to the data verifying apparatus 300 have. The client terminal means a communication terminal connected to the data verification apparatus 300 through wire or wireless, and may be configured by a computer, a smart phone, a display device, or the like.

이하, 도 2를 참고하여, 본 발명의 일 실시예에 따르는 자동 생성된 SQL 구문 기반의 데이터 검증장치(300)의 구성과 동작에 대해서 구체적으로 설명하도록 한다. Hereinafter, with reference to FIG. 2, the construction and operation of an automatically generated SQL statement-based data verification apparatus 300 according to an embodiment of the present invention will be described in detail.

데이터 검증장치(300)는 자동 생성된 SQL 구문 기반의 데이터 검증방법을 수행하기 위한 프로그램(또는 애플리케이션)이 저장된 메모리와 위 프로그램을 실행하는 프로세서를 포함하여 구성될 수 있다. 여기서 프로세서는 메모리에 저장된 프로그램의 실행에 따라 다양한 기능을 수행할 수 있는데, 각 기능에 따라 프로세서에 포함되는 세부 모듈들을 데이터위치 식별정보 추출부(310), SQL 구문 자동 생성부(320), SQL 구문 변경이력 기록부(330), 이관 데이터 검증부(340), 유휴저장공간 확인부(350), 검증결과 관리 및 제공부(360)로 나타낼 수 있다. The data verification apparatus 300 may be configured to include a memory for storing a program (or an application) for performing an automatically generated SQL statement-based data verification method, and a processor for executing the program. Here, the processor can perform various functions according to the execution of the program stored in the memory, and the detailed modules included in the processor according to each function are stored in the data location identification information extraction unit 310, the SQL syntax automatic generation unit 320, The syntax change history recording unit 330, the migration data verification unit 340, the idle storage space verification unit 350, and the verification result management and provision unit 360.

데이터위치 식별정보 추출부(310)는 원천 서버(100)에 저장된 데이터에 대한 원천위치 식별정보와 데이터가 타겟 서버(200)에 저장될 위치에 대한 타겟위치 식별정보를 추출한다. 원천위치 식별정보는 원천 서버(100) 내에 데이터가 저장된 테이블의 명칭 및 테이블 내에서 데이터가 기록되어 있는 컬럼값을 포함한다. 타겟위치 식별정보는 데이터를 타겟 서버(200)로 이관시킨 후 저장시킬 테이블의 명칭 및 테이블 내의 컬럼값을 포함한다. The data location identification information extraction unit 310 extracts the source location identification information for the data stored in the source server 100 and the target location identification information for the location where the data is to be stored in the target server 200. The source location identification information includes a name of a table in which data is stored in the source server 100 and a column value in which data is recorded in the table. The target location identification information includes the name of the table to be stored after transferring the data to the target server 200 and column values in the table.

SQL 구문 자동 생성부(320)는 데이터를 타겟 서버(200)로 이관시키기 위한 구문을 포함하는 이관로직에 원천위치 식별정보와 타겟위치 식별정보를 적용하여 매핑로직을 생성한다. The automatic SQL syntax generation unit 320 generates the mapping logic by applying the source location identification information and the target location identification information to the migration logic including the syntax for transferring the data to the target server 200.

구체적으로, SQL 구문 자동 생성부(320)는 데이터 검증장치(300) 내에 저장된 이관로직을 자동 분석하여 추출 SQL 구문과 적재 SQL 구문을 자동으로 파싱한다. 이관로직이란 데이터 추출과 적재를 위한 문법에 맞춘 기본적인 SQL 구문만 포함된 상태의 로직을 의미하며, 이관로직은 엑셀(.exl)이나 텍스트문서(.txt) 등의 형식의 데이터일 수 있다. 이관로직에 포함된 추출 SQL 구문은 select 절, from 절, where 절을 포함한다. from 절은 추출할 데이터에 대한 테이블의 명칭이 기재되는 구문이며, select 절은 테이블의 컬럼값이 기재되는 구문이며, where 절은 이관 조건에 관한 내용이 기재되는 조건문이다. 예를 들어, 조건문에는 원천 서버(100)에 저장된 데이터의 개수와 타겟 서버(200)로 적재할 데이터의 개수에 대한 매핑관계에 대한 조건이 기재될 수 있다. 즉, 1:1 이관인 경우, 원천 서버(100)에 저장된 1개의 데이터가 타겟 서버(200) 내에 1개만 적재되기 위한 조건이 기재될 수 있다. 복합 이관인 경우, 원천 서버(100)에 저장된 데이터의 개수와 타겟 서버(200)에 저장될 데이터의 개수와의 관계가 1:N, N:1이 되기 위한 조건이 기재되거나 타겟 서버(200) 내에 새로운 저장위치를 신설하여 데이터를 저장하도록 하는 조건이 기재될 수도 있다. 적재 SQL 구문은 insert 절과 load 절을 포함할 수 있으며, insert 절은 데이터를 적재할 테이블의 명칭 및 테이블 내 컬럼값이 기재되는 구문이다. Specifically, the SQL syntax automatic generation unit 320 automatically analyzes the escape logic stored in the data verification apparatus 300 and automatically parses the extracted SQL syntax and the loaded SQL syntax. Escalation logic means logic with only basic SQL statements tailored to the grammar for data extraction and loading, and the escape logic can be data in the form of excel (. Exl) or text documents (.txt). The extract SQL statement included in the escape logic includes the select clause, the from clause, and the where clause. The from clause is a statement that describes the name of the table for the data to be extracted. The select clause is a statement that describes the column values of the table. The where clause is a conditional statement describing the transfer condition. For example, in the conditional statement, a condition for mapping the number of data stored in the source server 100 to the number of data to be loaded in the target server 200 may be described. That is, in the case of 1: 1 transfer, a condition for loading one data stored in the source server 100 in the target server 200 may be described. The condition for the relationship between the number of data stored in the source server 100 and the number of data to be stored in the target server 200 to be 1: N and N: 1 is described, A condition may be described in which a new storage location is newly created and data is stored. The load SQL statement can include an insert clause and a load clause, and the insert clause is a statement in which the name of the table to which the data is to be loaded and the column values in the table are described.

SQL 구문 자동 생성부(320)는 이관로직을 분석한 결과를 토대로, 각 SQL 구문에 원천위치 식별정보와 타겟위치 식별정보 중 해당하는 정보를 입력하여 매핑로직을 생성한다. 추가적으로, SQL 구문 자동 생성부(320)는 생성된 매핑로직을 바로 저장하거나 데이터 이관서버와 연결된 클라이언트 단말 측으로 SQL 구문을 전송하여 사용자의 확인을 거친 후에 저장하도록 구현될 수도 있다. The automatic SQL syntax generation unit 320 generates the mapping logic by inputting the corresponding one of the source location identification information and the target location identification information into each SQL statement based on the analysis result of the migration logic. In addition, the SQL syntax automatic generation unit 320 may be configured to directly store the generated mapping logic or transmit the SQL syntax to the client terminal connected to the data escape server, and store the data after confirmation by the user.

한편, 생성된 SQL 구문 기반의 매핑로직이 표준 SQL에 위배되는 경우 데이터 검증장치(300)와 통신연결된 클라이언트 단말 측으로 경고나 재입력 요청 알림을 제공할 수도 있다. On the other hand, if the mapping logic based on the generated SQL statement is in violation of the standard SQL, a warning or re-input request notification may be provided to the client terminal connected to the data verification apparatus 300 in communication.

SQL 구문 변경이력 기록부(330)는 원천위치 식별정보, 타겟위치 식별정보 및 이관로직 중 적어도 하나가 사용자에 의해 변경되어 매핑로직에 변경사항이 발생되는 경우, 변경정보를 기록 및 저장한다. 예를 들어, 원천위치 식별정보, 타겟위치 식별정보 및 이관로직에 대한 전자문서(엑셀 또는 텍스트문서)가 데이터 검증장치(300)에 미리 저장되어 있을 때, 클라이언트 단말측으로부터 새로운 전자문서를 수신한 경우, 새로운 전자문서와 기존에 저장되어 있는 전자문서를 비교하여 변경정보(즉, 변경 전의 데이터, 변경 후의 데이터, 변경날짜 및 시간, 변경한 사용자 등)를 추출하고 기록 및 저장함과 동시에, 변경정보를 곧바로 매핑로직에 반영하여 수정할 수 있다. 또는, 클라이언트 단말측으로부터 매핑로직에 관한 수정사항을 수신한 경우, 곧바로 수정사항이 반영된 매핑로직을 저장하고, 수정사항에 대한 이력을 변경정보로 저장할 수 있다. The SQL syntax change history recording unit 330 records and stores change information when at least one of the source location identification information, the target location identification information, and the escape logic is changed by the user and a change is made to the mapping logic. For example, when the electronic document (Excel or text document) for the source location identification information, the target location identification information, and the escape logic is previously stored in the data verification apparatus 300, (I.e., data before change, data after change, date and time of change, changed user, etc.) by comparing the new electronic document with the previously stored electronic document, and records and stores the change information To the mapping logic immediately. Alternatively, when a modification regarding the mapping logic is received from the client terminal, the mapping logic reflecting the modification can be stored immediately, and the history of the modification can be stored as the modification information.

SQL 구문 변경이력 기록부(330)는 저장된 변경정보를 가공하여 통계나 변경이력 리스트 형태로 저장할 수도 있다. 예를 들어, 최종변경시점에 대한 변경항목이 가장 상단에 배치되도록 시간 순으로 변경항목을 정렬한 리스트를 저장하거나, 변경정보를 표나 그래프 형태로 저장할 수도 있다.The SQL syntax change history recording unit 330 may process the stored change information and store the modified change information in the form of statistics or a change history list. For example, it is possible to store a list in which change items are arranged in chronological order so that the change items at the time of the last change are arranged at the top, or to store change information in the form of a table or a graph.

이후, 클라이언트 단말 측으로부터 매핑로직의 변경이력에 대한 요청을 수신하는 경우, SQL 구문 변경이력 기록부(330)는 리스트, 표, 그래프 등 사용자가 요청한 항목에 맞는 데이터를 클라이언트 단말 측으로 제공할 수 있다. Thereafter, when receiving a request for a change history of the mapping logic from the client terminal, the SQL syntax change log recording unit 330 may provide data corresponding to items requested by the user such as a list, a table, and a graph to the client terminal.

한편, 이관 데이터 검증부(340)는 매핑로직의 SQL 구문을 기반으로 원천 서버(100)의 데이터가 타겟 서버(200)로 이관된 후, 매핑로직을 참조하여 이관 전의 데이터와 이관 후의 데이터를 비교함으로써 이관된 데이터를 검증한다. On the other hand, the migration data verifier 340 refers to the mapping logic, after the data of the source server 100 is transferred to the target server 200 based on the SQL syntax of the mapping logic, and then compare the data before the migration with the data after the migration Thereby validating the transferred data.

종래의 검증의 경우, 개발자가 검증을 수행하고, 단순히 결과만을 고객에게 통보하는 방식으로만 이루어져왔기 때문에 고객이 검증이 제대로 이루어졌는지 확인할 수 있는 길이 없었다. 따라서, 이관 데이터 검증부(340)는 데이터 이관장치와 연결된 클라이언트 단말을 통하여 검증 대상 데이터 지정을 요청한 후, 지정결과를 입력받고 지정된 데이터에 대하여 검증을 수행할 수 있다. 예를 들어, 이관 데이터 검증부(340)는 각 테이블 별로 체크 박스가 형성된 사용자 인터페이스를 제공하여 사용자가 이관을 원하는 테이블에 대해서만 지정할 수 있도록 할 수 있다. 특히, 복잡한 로직을 적용해야만 검증할 수 있는 데이터(또는 테이블)은 사용자의 선택에 의해 검증 대상에서 제외되도록 할 수 있다. 복잡한 로직이 필요한 데이터(또는 테이블)의 경우 개발자에 의해 수작업으로 보정 처리되거나 통합 코어(coa)의 변경/추가에 의한 요인이 수기로 계산되어 업로드될 수 있다. In the case of conventional validation, there was no way for the customer to verify that the validation had been done, since the developer only performed the verification and simply informed the result to the customer. Accordingly, the transfer data verifying unit 340 may request the designation of the verification target data through the client terminal connected to the data transfer apparatus, and then input the designation result and perform the verification on the designated data. For example, the transfer data verifier 340 may provide a user interface in which a check box is formed for each table, so that the user can designate only a table desired to be transferred. In particular, data (or tables) that can be verified only by applying complex logic can be excluded from the verification target by the user's selection. In the case of data (or tables) that require complex logic, manual correction by the developer or factors of change / addition of the integrated core (coa) can be computed and uploaded.

이관 데이터 검증부(340)가 검증을 수행하는 방식은 다음과 같다. 구체적으로, 이관 데이터 검증부(340)는 매핑로직에 포함된 원천위치 식별정보를 참조하여 원천 서버(100)에 저장된 데이터를 추출하고, 매핑로직에 포함된 타겟위치 식별정보를 참조하여 타겟 서버(200)로 이관된 데이터를 추출한다. 이어서, 이관 데이터 검증부(340)는 원천 서버(100)로부터 추출된 데이터와 타겟 서버(200)로부터 추출된 데이터를 비교하여 일치여부를 판단함으로써 검증을 완료한다. 그리고 이관 데이터 검증부(340)는 상술한 방식으로 이행된 데이터의 건수 검증, 합검증, 코드 검증 등을 수행할 수 있다. 즉, 종래에는 이관 전의 데이터와 이관 후의 데이터를 데이터 비교 모듈에 개발자가 수작업으로 기입하여 검증을 수행하였기 때문에 많은 리소스와 개발비용이 낭비되었었다. 그러나, 이관 데이터 검증부(340)는 SQL 구문으로 자동생성된 매핑로직을 참조하여, 이관 전 데이터의 위치와 이관 후 데이터의 위치를 자동 식별하고 추출하여, 자동으로 비교를 수행함으로써, 리소스와 개발비용을 절감시킬 수 있다.The manner in which the transfer data verification unit 340 performs the verification is as follows. Specifically, the migration data verifier 340 extracts the data stored in the source server 100 with reference to the source location identification information included in the mapping logic, and refers to the target location identification information included in the mapping logic, 200 < / RTI > Subsequently, the transfer data verifying unit 340 compares the data extracted from the source server 100 with the data extracted from the target server 200, and judges whether or not the data matches, thereby completing the verification. Then, the transfer-data verifying unit 340 can perform the number verification, the sum verification, and the code verification of the data transferred in the above-described manner. In other words, conventionally, the developer has manually written the pre-transfer data and the post-transfer data into the data comparison module and the verification has been performed, so that a lot of resources and development costs have been wasted. However, the migration data verifier 340 refers to the mapping logic automatically generated in the SQL syntax, automatically identifies and extracts the location of the pre-migration data and the post-migration data, and automatically performs the comparison, Cost can be reduced.

한편, 방대한 양의 데이터를 보관하고 있는 기업(예를 들어, 카드회사)이 데이터를 새로운 서버로 이관하고자 할 때, 방대한 양으로 인해 이관하는 데에 최소 15-16시간이 걸릴 정도로 상당히 오랜시간이 요구된다. 그로 인해, 기업의 데이터 이관은 소비자들에게 영향이 없는 주말에 주로 이루어지게 된다. 그런데, 전체 데이터 이관이 모두 이루어지고 난 후, 검증을 순차적으로 진행하게 되면 데이터 이관만큼 오랜 시간을 요구하게 되므로 기업의 업무 운행에 차질을 가져다 줄 수 있다. On the other hand, when a company that holds a vast amount of data (for example, a card company) wants to transfer data to a new server, it takes a very long time, at least 15-16 hours Is required. As a result, corporate data transfer is often done on weekends when it does not affect consumers. However, after all the data escapes are completed, if the verification is sequentially performed, it takes a long time as the data escapes, which can lead to a disruption to the business operation of the enterprise.

그에 따라, 유휴저장공간 확인부(350)는 데이터 검증장치(300) 내에 검증 결과 및 검증 데이터를 기록하고 저장할 미리 설정된 크기(Byte 단위) 이상의 유휴저장공간이 존재하는지 판단한다. 유휴저장공간 확인부(350)는 유휴저장공간이 존재하는 것으로 판단된 경우, 이를 이관 데이터 검증부(340)에 전달함으로써, 이관 종료된 데이터가 발생하자마자 유휴저장공간을 이용하여 실시간으로 검증이 바로 이루어지도록 할 수 있다.Accordingly, the idle storage space verification unit 350 determines whether there is an idle storage space having a predetermined size (in bytes) or more to record and store the verification result and verification data in the data verification apparatus 300. When it is determined that there is an idle storage space, the idle storage space verification unit 350 transmits the data to the migration data verification unit 340 so that the verification is performed in real time using the idle storage space .

이때, 데이터 검증은 테이블을 단위로 이루어질 수 있다. 즉, 복수의 테이터를 포함하고 있는 테이블은 복수 개가 원천 서버(100)에 저장되어 있으며, 각각의 테이블 단위로 타겟 서버(200)로 이관된다. 따라서, 유휴저장공간이 확인되고, 이관이 종료된 테이블이 존재하는 것으로 확인된 경우, 이관 종료 테이블마다 검증을 수행할 수 잇다. At this time, data verification can be performed on a table basis. That is, a plurality of tables including a plurality of data are stored in the source server 100, and are transferred to the target server 200 on a table-by-table basis. Thus, if idle storage space is identified and it is determined that there is a table that has been migrated, verification can be performed for each migration end table.

한편, 데이터의 이관이 데이터 검증장치(300)의 자체 이관 모듈에 의해 수행되는 경우, 데이터(또는 테이블)의 이관 종료 여부를 쉽게 확인할 수 있으나, 외부 업체의 모듈(종래에 사용되고 있는 상용 툴)에 의해 수행되는 경우, 외부 업체의 서버로부터 데이터(또는 테이블)의 이관이 종료되었는지에 대한 상태값을 수신해야만 데이터 검증을 실시간으로 수행할 수 있다. 이를 위해서, 유휴저장공간 확인부(350)는 외부 업체의 서버(즉, 외부 서버)에 저장되는 메타정보 또는 로그정보에 포함된 각 테이블의 이관 종료 상태값을 확인함으로써 각 테이블의 이관 종료 여부를 확인할 수 있다. 바람직하게, 메타정보에 접근하여, 테이블 별 작업 ID를 매칭하여 각 테이블의 이관종료여부를 확인하는 것이 좋으나, 메타정보에 대한 접근이 허용되지 않는 경우, 이관 결과에 대한 로그정보를 확인함으로써 각 테이블의 이관 종료 여부를 확인할 수 있다. Meanwhile, when data transfer is performed by the self-transfer module of the data verification apparatus 300, it is easy to confirm whether or not the transfer of the data (or the table) is completed. However, if the module of the external vendor The data verification can be performed in real time only by receiving a status value indicating whether the transfer of the data (or the table) from the external vendor's server has been terminated. For this purpose, the idle storage space checking unit 350 checks the transfer end status of each table included in the meta information or log information stored in the external company's server (i.e., the external server) Can be confirmed. Preferably, it is preferable to access the meta information and match the task ID for each table to check whether or not the transfer of each table is completed. However, if access to the meta information is not permitted, Can confirm whether or not the transfer is completed.

검증결과 관리 및 제공부(360)는 검증을 수행한 결과를 클라이언트 단말로 제공할 수 있다. 이때, 검증결과 관리 및 제공부(360)는 사용자가 검증대상을 미리 지정한 경우, 지정된 데이터에 대한 검증결과만 제공할 수 있다. 또한, 검증결과 관리 및 제공부(360)는 목록, 표 또는 그래프 형태로 검증결과를 가공 및 분석하여 사용자가 알기 쉽게 제공할 수 있다. 또한, 종료된 데이터에 대하여 바로 검증이 수행되는 경우, 실시간으로 검증되고 있는 데이터의 목록과 결과에 대해서 제공할 수도 있다. The verification result management and providing unit 360 can provide a result of performing the verification to the client terminal. At this time, the verification result management and providing unit 360 may provide only a verification result for the designated data when the user specifies the verification target in advance. Also, the verification result management and provisioning unit 360 can process and analyze the verification result in the form of a list, a table, or a graph to easily provide the user with the information. In addition, when the verification is performed directly on the terminated data, it is possible to provide a list and a result of the data being verified in real time.

이하, 도 3 및 도 4를 참조하여, 본 발명의 일 실시예에 따르는 자동 생성된 SQL 구문 기반의 데이터 검증방법에 대하여 구체적으로 설명하도록 한다. Hereinafter, with reference to FIG. 3 and FIG. 4, an automatically generated SQL statement-based data verification method according to an embodiment of the present invention will be described in detail.

상기 방법은 도 2를 통하여 설명한 데이터 검증장치(300)에 의하여 수행되는 것이므로, 아래에서 생략된 내용이 있다고 하더라도 도 2를 통하여 설명한 내용으로서 갈음하도록 한다. Since the above-described method is performed by the data verifying apparatus 300 described with reference to FIG. 2, even if there is a content omitted below, the content described with reference to FIG. 2 will be omitted.

먼저, 데이터 검증장치(300)는 원천 서버(100)에 저장된 데이터에 대한 원천위치 식별정보와 데이터가 타겟 서버(200)에 저장될 위치에 대한 타겟위치 식별정보를 추출한다(S110).First, the data verification apparatus 300 extracts the source location identification information for the data stored in the source server 100 and the target location identification information for the location where the data is to be stored in the target server 200 (S110).

이어서, 이관로직에 원천위치 식별정보와 타겟위치 식별정보를 적용하여 매핑로직을 생성한다(S120). 데이터 검증장치(300)는 이관로직을 자동분석하여 추출 SQL 구문과 적재 SQL 구문을 자동으로 파싱한 후, 적절한 식별정보를 적용함으로써 매핑로직을 생성할 수 있다. 생성된 매핑로직은 원천 서버(100)의 특정 위치에 저장된 특정 데이터를 타겟 서버(200) 내의 어느 위치에 이관시켜야 하는 지에 관한 정보가 포함되어 있다. Subsequently, mapping logic is generated by applying the source location identification information and the target location identification information to the migration logic (S120). The data verifying apparatus 300 can automatically analyze the escape logic, automatically parse the extracted SQL statement and the loaded SQL statement, and then generate the mapping logic by applying appropriate identification information. The generated mapping logic includes information as to which location in the target server 200 the specific data stored in the specific location of the source server 100 should be transferred.

데이터 검증장치(300)는 매핑로직을 참조하여 원천 서버(100)와 타겟 서버(200)간 허용된 접근권한에 따라 데이터를 이관한다(S130). 한편, S130 단계는 외부 업체의 모듈을 이용하는 경우, 외부 서버에 의해 수행될 수도 있다. The data verification apparatus 300 refers to the mapping logic and transfers the data according to the allowed access authority between the source server 100 and the target server 200 (S130). If the module of the external vendor is used, the external server may perform step S130.

이어서, 데이터 검증장치(300)는 매핑로직을 참조하여 이관된 데이터를 검증한다(S140). Subsequently, the data verification apparatus 300 verifies the transferred data with reference to the mapping logic (S140).

구체적으로 도 4를 참고하면, 클라이언트 단말을 이용하는 사용자로부터 검증대상 데이터 지정결과를 수신한다(S141). 그리고, 데이터 검증장치(300)는 데이터 검증장치(300) 내에 검증을 수행할 수 있는 유휴저장공간이 존재하는지 확인한다(S142). 이어서, 데이터 검증장치(300)는 매핑로직을 참조하여 원천서버(100)에 저장된 데이터와 타겟 서버(200)에 이관된 데이터를 추출한다(S143). 이때, 매핑로직 내의 원천위치 식별정보와 타겟위치 식별정보를 참조할 수 있다. 데이터 검증장치(300)는 추출된 데이터를 비교하여 일치하는지 확인함으로써 검증을 수행한다(S144). 그리고 검증결과를 표나 그래프 등으로 분석하여 사용자가 눈으로 쉽게 확인할 수 있도록 제공한다(S145). Specifically, referring to FIG. 4, a verification target data designation result is received from a user using a client terminal (S141). Then, the data verification apparatus 300 determines whether there is an idle storage space for performing verification in the data verification apparatus 300 (S142). Then, the data verification apparatus 300 extracts the data stored in the source server 100 and the data transferred to the target server 200 by referring to the mapping logic (S143). At this time, it is possible to refer to the source location information and the target location identification information in the mapping logic. The data verification apparatus 300 compares the extracted data and verifies whether or not they are matched (S144). Then, the verification result is analyzed by using a table or a graph to provide the user with easy visibility (S145).

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. One embodiment of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.While the methods and systems of the present invention have been described in connection with specific embodiments, some or all of those elements or operations may be implemented using a computer system having a general purpose hardware architecture.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

100: 원천 서버 200: 타겟 서버
300: 데이터 검증장치
100: source server 200: target server
300: data verification device

Claims (16)

서버에 의해 수행되는, 자동 생성된 SQL(Structured Query Language) 구문 기반의 데이터 검증방법에 있어서,
(a) 원천 서버에 저장된 데이터에 대한 원천위치 식별정보와 상기 데이터가 타겟 서버에 저장될 위치에 대한 타겟위치 식별정보를 추출하는 단계;
(b) 상기 데이터를 타겟 서버로 이관시키기 위한 기본 문법으로 구성된 이관로직으로부터 추출 SQL 구문 및 적재 SQL 구문을 식별하고, 상기 추출 SQL 구문 및 상기 적재 SQL 구문에 상기 원천위치 식별정보와 상기 타겟위치 식별정보를 적용하여 매핑로직을 생성하는 단계;
(c) 상기 원천 서버의 데이터가 상기 타겟 서버로 이관된 후, 상기 매핑로직을 참조하여 이관 전의 데이터와 이관 후의 데이터를 비교함으로써 상기 이관된 데이터를 검증하는 단계; 및
(d) 상기 원천위치 식별정보, 상기 타겟위치 식별정보 및 상기 이관로직에 대한 정보를 나타내는 전자문서를 사용자로부터 수신하는 경우, 기저장된 전자문서 및 상기 수신된 전자문서를 비교하여 변경정보를 추출하여 저장하고, 상기 변경정보에 기초하여 상기 매핑로직을 수정하는 단계를 포함하되,
상기 변경정보는 변경 전과 후의 원천위치 식별정보, 타겟위치 식별정보, 시간정보 및 사용자의 정보를 포함하는, 자동 생성된 SQL 구문 기반의 데이터 검증방법.
A method for automatically generating a Structured Query Language (SQL) syntax-based data verification performed by a server,
(a) extracting source location identification information for data stored in a source server and target location identification information for a location where the data is to be stored in a target server;
(b) identifying an extracted SQL statement and a loaded SQL statement from an escape logic configured with a basic grammar for transferring the data to a target server, and storing the source location identification information and the target location identification Applying the information to generate mapping logic;
(c) verifying the transferred data by comparing the pre-transfer data with the post-transfer data by referring to the mapping logic after the data of the source server is transferred to the target server; And
(d) when receiving an electronic document representing the source location identification information, the target location identification information, and the ebb logic from the user, the previously stored electronic document and the received electronic document are compared with each other to extract change information And modifying the mapping logic based on the change information,
Wherein the change information includes source location identification information, target location identification information, time information, and user information before and after the change.
제 1 항에 있어서,
상기 원천위치 식별정보와 타겟위치 식별정보는,
상기 각 데이터가 저장되거나 저장될 위치를 나타내는 테이블의 명칭과 테이블 내의 컬럼값을 포함하는, 자동 생성된 SQL 구문 기반의 데이터 검증방법.
The method according to claim 1,
Wherein the source location identification information and the target location identification information are &
Wherein the name of the table indicating the location where the data is to be stored or stored and the column value in the table.
제 1 항에 있어서,
상기 매핑로직은,
SQL 구문으로 작성된 것인, 자동 생성된 SQL 구문 기반의 데이터 검증방법.
The method according to claim 1,
The mapping logic includes:
An automatically generated SQL statement-based data validation method written in SQL syntax.
삭제delete 제 1 항에 있어서,
상기 (c) 단계는,
상기 추출 SQL 구문에 포함된 원천위치 식별정보를 참조하여 추출할 데이터의 저장위치를 식별하고, 상기 적재 SQL 구문에 포함된 타겟위치 식별정보를 참조하여 추출한 데이터를 적재할 저장위치를 식별하며, 상기 추출 SQL 구문에 조건문이 포함되어 있는 경우 상기 조건문에 포함된 조건에 따라 상기 원천 서버의 데이터를 상기 타겟 서버로 이관시키는 단계를 포함하는, 자동 생성된 SQL 구문 기반의 데이터 검증방법.
The method according to claim 1,
The step (c)
Identifies a storage location of data to be extracted by referring to the source location identification information included in the extracted SQL syntax, identifies a storage location where the extracted data is to be loaded with reference to the target location identification information included in the load SQL statement, And transferring the data of the source server to the target server according to conditions included in the conditional statement when the extracted SQL statement includes the conditional statement.
삭제delete 삭제delete 제 1 항에 있어서,
(e) 상기 (d) 단계 이후에, 상기 사용자로부터 매핑로직의 변경이력에 대한 요청을 수신하는 경우, 상기 저장된 변경정보에 기초하여, 변경항목이 시간 순으로 정렬된 리스트를 상기 사용자에게 제공하는 단계를 더 포함하는, 자동 생성된 SQL 구문 기반의 데이터 검증방법.
The method according to claim 1,
(e) receiving a request for a change log of the mapping logic from the user after the step (d), providing the user with a list in which change items are arranged in chronological order based on the stored change information Further comprising the steps of: a) generating an automatically generated SQL statement based on the generated data;
제 1 항에 있어서,
상기 (c) 단계는,
사용자 단말로 검증 대상 데이터 지정을 요청한 후, 지정결과를 입력받고, 지정된 데이터에 대하여 검증을 수행하는 단계를 포함하는, 자동 생성된 SQL 구문 기반의 데이터 검증방법.
The method according to claim 1,
The step (c)
The method comprising: requesting a user terminal to designate a verification target data; receiving a designation result; and performing verification on the designated data.
제 9 항에 있어서,
상기 방법은,
(f) 상기 (c) 단계 후, 상기 지정된 데이터에 대한 검증결과를 분석하여 상기 사용자 단말로 제공하는 단계를 포함하는, 자동 생성된 SQL 구문 기반의 데이터 검증방법.
10. The method of claim 9,
The method comprises:
(f) analyzing the verification result of the designated data after the step (c) and providing the analyzed result to the user terminal.
제 1 항에 있어서,
상기 (c) 단계는,
(c-1) 상기 매핑로직에 포함된 원천위치 식별정보를 참조하여 상기 원천 서버에 저장된 데이터를 추출하고, 상기 매핑로직에 포함된 타겟위치 식별정보를 참조하여 상기 타겟 서버로 이관된 데이터를 추출하는 단계; 및
(c-2) 상기 원천 서버로부터 추출된 데이터와 상기 타겟 서버로부터 추출된 데이터를 비교하여 일치여부를 판단함으로써 검증을 수행하는 단계를 포함하는, 원천 서버에 저장된 자동 생성된 SQL 구문 기반의 데이터 검증방법.
The method according to claim 1,
The step (c)
(c-1) extracting data stored in the source server with reference to source location identification information included in the mapping logic, extracting data transferred to the target server by referring to target location identification information included in the mapping logic, ; And
(c-2) comparing the data extracted from the source server with the data extracted from the target server and performing verification by determining whether or not the data matches the data extracted from the target server, wherein the automatically generated SQL statement-based data verification Way.
제 1 항에 있어서,
상기 (c) 단계는,
(c-3) 상기 데이터 검증방법을 수행하는 서버 내에 미리 설정된 크기(Byte 단위) 이상의 유휴저장공간이 존재하는지 판단하는 단계; 및
(c-4) 상기 유휴저장공간이 존재하는 것으로 판단된 경우, 데이터 이관이 시작 된 후, 이관 종료 데이터가 발생할 때마다, 상기 유휴저장공간을 이용하여 상기 이관 종료 데이터에 대한 검증을 수행하는 단계;를 포함하는, 자동 생성된 SQL 구문 기반의 데이터 검증방법.
The method according to claim 1,
The step (c)
(c-3) determining whether there is an idle storage space of at least a predetermined size (in bytes) in the server performing the data verification method; And
(c-4) performing verification of the migration end data using the idle storage space each time migration end data is generated after the data migration starts, if it is determined that the idle storage space exists ; And an automatically generated SQL statement-based data verification method.
제 12 항에 있어서,
상기 원천 서버 내에 복수의 테이블이 저장되고, 각 테이블마다 복수의 데이터가 저장되어 있는 경우,
상기 (c-4) 단계는,
이관이 종료된 테이블이 발생될 때마다, 테이블 단위로 상기 이관 종료 데이터에 대한 검증을 수행하는 단계를 포함하는, 자동 생성된 SQL 구문 기반의 데이터 검증방법.
13. The method of claim 12,
When a plurality of tables are stored in the source server and a plurality of data is stored for each table,
The step (c-4)
And performing verification of the migration end data on a table-by-table basis every time a table with the migration termination is generated.
제 13 항에 있어서,
상기 (c-4) 단계는,
상기 데이터의 이관이 외부 서버에 의해서 수행되는 경우, 상기 외부 서버에 저장되는 메타정보 또는 로그정보에 포함된 각 테이블의 이관 종료 상태값을 확인함으로써 각 테이블의 이관 종료 여부를 확인하고, 이관 종료가 확인된 테이블 내의 데이터에 대한 검증을 수행하는 단계를 포함하는, 자동 생성된 SQL 구문 기반의 데이터 검증방법.
14. The method of claim 13,
The step (c-4)
If the transfer of the data is performed by an external server, checking whether transfer of each table is completed or not by confirming the transfer end status value of each table included in the meta information or log information stored in the external server, And verifying the data in the identified table. ≪ Desc / Clms Page number 21 >
제 1 항에 있어서,
상기 자동 생성된 SQL 구문 기반의 데이터 검증방법을 수행하는 서버는,
상기 타겟 서버이거나, 상기 원천 서버 및 타겟 서버와 물리적으로 독립된 제 3의 서버인, 자동 생성된 SQL 구문 기반의 데이터 검증방법.
The method according to claim 1,
The server for performing the automatically generated SQL statement-
Wherein the third server is a third server physically independent of the target server or the source server and the target server.
자동 생성된 SQL(Structured Query Language) 구문 기반의 데이터 검증장치에 있어서,
자동 생성된 SQL 구문 기반의 데이터 검증방법을 수행하기 위한 프로그램이 저장된 메모리; 및
상기 메모리에 저장된 프로그램을 실행하기 위한 프로세서;를 포함하며,
상기 프로세서는, 상기 프로그램의 실행에 따라, 원천 서버에 저장된 데이터에 대한 원천위치 식별정보와 상기 데이터가 타겟 서버에 저장될 위치에 대한 타겟위치 식별정보를 추출하고,
상기 데이터를 상기 타겟 서버로 이관시키기 위한 기본 문법으로 구성된 이관로직으로부터 추출 SQL 구문 및 적재 SQL 구문을 식별하고, 상기 추출 SQL 구문 및 상기 적재 SQL 구문에 상기 원천위치 식별정보와 상기 타겟위치 식별정보를 적용하여 매핑로직을 생성하며,
상기 원천 서버의 데이터가 상기 타겟 서버로 이관된 후, 상기 매핑로직을 참조하여 이관 전의 데이터와 이관 후의 데이터를 비교함으로써 상기 이관된 데이터를 검증하고,
상기 원천위치 식별정보, 상기 타겟위치 식별정보 및 상기 이관로직에 대한 정보를 나타내는 전자문서를 사용자로부터 수신하는 경우, 기저장된 전자문서 및 상기 수신된 전자문서를 비교하여 변경정보를 추출하여 저장하고, 상기 변경정보에 기초하여 상기 매핑로직을 수정하되,
상기 변경정보는 변경 전과 후의 원천위치 식별정보, 타겟위치 식별정보, 시간정보 및 사용자의 정보를 포함하는, 자동 생성된 SQL 구문 기반의 데이터 검증장치.
A data verification apparatus based on automatically generated Structured Query Language (SQL) syntax,
A memory for storing a program for performing an automatically generated SQL statement-based data verification method; And
And a processor for executing a program stored in the memory,
Wherein the processor extracts the source location identification information for the data stored in the source server and the target location identification information for the location where the data is to be stored in the target server,
Identifying the extracted SQL statement and the loaded SQL statement from the escape logic configured with a basic grammar for transferring the data to the target server, and storing the source location identification information and the target location identification information in the extracted SQL syntax and the loaded SQL syntax To generate mapping logic,
After the data of the source server is transferred to the target server, verifying the transferred data by comparing the pre-transfer data with the post-transfer data by referring to the mapping logic,
Stored electronic document and the received electronic document when the electronic document indicating the source location identification information, the target location identification information, and the escape logic is received from a user, extracts and stores the change information, Modifying the mapping logic based on the change information,
Wherein the change information includes source location identification information, target location identification information, time information, and user information before and after the change.
KR1020150185130A 2015-11-27 2015-12-23 Method and device for verifying data based on sql sentences generated automatically Active KR101737575B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150167937 2015-11-27
KR20150167937 2015-11-27

Publications (1)

Publication Number Publication Date
KR101737575B1 true KR101737575B1 (en) 2017-05-29

Family

ID=59053549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150185130A Active KR101737575B1 (en) 2015-11-27 2015-12-23 Method and device for verifying data based on sql sentences generated automatically

Country Status (1)

Country Link
KR (1) KR101737575B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101975998B1 (en) * 2018-11-22 2019-08-28 (주)씨앤텍시스템즈 Apparatus and Method for Data Migration Based on SQL sentences

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101440186B1 (en) 2012-03-16 2014-09-12 주식회사 엘지유플러스 Real Time Data Migration System and Method therefor
KR101497067B1 (en) * 2013-11-20 2015-03-09 대한민국(국가기록원) Electric document transfer method and apparatus based digital forensic

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101440186B1 (en) 2012-03-16 2014-09-12 주식회사 엘지유플러스 Real Time Data Migration System and Method therefor
KR101497067B1 (en) * 2013-11-20 2015-03-09 대한민국(국가기록원) Electric document transfer method and apparatus based digital forensic

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101975998B1 (en) * 2018-11-22 2019-08-28 (주)씨앤텍시스템즈 Apparatus and Method for Data Migration Based on SQL sentences

Similar Documents

Publication Publication Date Title
US20170236130A1 (en) Emulating Manual System of Filing Using Electronic Document and Electronic File
US20210026756A1 (en) Deriving software application dependency trees for white-box testing
CN108241720B (en) Data processing method, device and computer readable storage medium
US11914574B2 (en) Generation of inconsistent testing data
CN109284225A (en) A kind of quality determining method and electronic equipment of multi-person synergy exploitation programming code
US11922146B2 (en) Systems and method for creating enterprise software
CN109815141B (en) A test method and device
CN115658452B (en) Buried point verification method, buried point verification device, readable storage medium, and electronic device
CN109032631A (en) Application program service packs acquisition methods, device, computer equipment and storage medium
CN108270626A (en) A kind of method, apparatus, equipment and the readable storage medium storing program for executing of upgrade server firmware
CN104363112A (en) Parameter management method and parameter management device
CN106445815A (en) Automated testing method and device
CN111143434A (en) Data intelligent verification method, device, equipment and storage medium
KR101737578B1 (en) Method and device for automatically tuning for sql sentences generated automatically
CN113901773B (en) Data accounting method, device, electronic equipment and storage medium
CN114064467B (en) Resource analysis method, device, electronic device and storage medium
WO2023065823A1 (en) Software development kit fixing method, terminal, server and device
US10656922B2 (en) Systems and methods for providing an application transformation tool
KR101737575B1 (en) Method and device for verifying data based on sql sentences generated automatically
KR101737576B1 (en) Method and device for transmitting data based on sql sentences generated automatically
CN113672233B (en) Server out-of-band management method, device and equipment based on Redfish
CN112181407B (en) Service realization processing method, device, system, electronic equipment and storage medium
US11392371B2 (en) Identification of a partial code to be refactored within a source code
CN115080429A (en) Test report generation method and device
US9508062B2 (en) Problem management record profiling

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20151223

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20161031

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20170414

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20170512

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20170515

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20200331

Start annual number: 4

End annual number: 6