WO2015182835A1 - 데이터 처리 시스템 및 방법 - Google Patents

데이터 처리 시스템 및 방법 Download PDF

Info

Publication number
WO2015182835A1
WO2015182835A1 PCT/KR2014/011091 KR2014011091W WO2015182835A1 WO 2015182835 A1 WO2015182835 A1 WO 2015182835A1 KR 2014011091 W KR2014011091 W KR 2014011091W WO 2015182835 A1 WO2015182835 A1 WO 2015182835A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
abnormal
normal
record
virtual
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.)
Ceased
Application number
PCT/KR2014/011091
Other languages
English (en)
French (fr)
Inventor
남궁영환
김다운
홍정훈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung SDS Co Ltd
Original Assignee
Samsung SDS Co Ltd
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 Samsung SDS Co Ltd filed Critical Samsung SDS Co Ltd
Publication of WO2015182835A1 publication Critical patent/WO2015182835A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually

Definitions

  • the data processing system 100 may include a data determination unit 102, a first storage unit 104, a second storage unit 106, and a data processing unit 108. ).
  • the data determination unit 102 may not only input data 150 but also metadata 160 regarding the structure of the input data 150. Can be input together.
  • metadata is structured data about data, i.e., data describing other data, and content (in this case, input data 150) according to a predetermined rule to efficiently find and use information that is being searched for in a large amount of information.
  • Means data given to The meta data 160 includes information about the structure of the input data 150.
  • the metadata 160 may include information about the number of data fields for each record of the input data 150, information about the number of delimiters for distinguishing each data field included in the record of the input data 150, and input.
  • the data determination unit 102 determines whether the data pattern of each data field included in the meta data 160 matches by each data field included in the record of the input data 150, thereby recording the record of the input data 150. It may be determined whether each is normal data or abnormal data.
  • the meta data 160 may include information about a data pattern for each data field. For example, the beginning of a record of data (data field for "creation time") may always have a pattern in the form of a string containing 14 digits, such as "YYYYMMDDhhmmss" (where Y is the year ), M stands for month, D stands for day, h stands for hour, m stands for minute, and s stands for second.
  • data fields relating to "disorder contents", "progress status” and “processing results” may have a pattern in the form of a string, in particular, data fields relating to "progress status” may be two ("exit") or three It can have a pattern in the form of a string containing characters of "in progress”.
  • the meta data 160 includes information regarding data patterns for each data field. The data determination unit 102 determines whether the data pattern of each data field included in the meta data 160 is matched for each data field included in the record of the input data 150, and then if all patterns match for each data field The record can be determined as normal data.
  • the data determination unit 102 determines the record as abnormal data. can do. Through this process, the data determination unit 102 may determine whether the corresponding input data 150 is normal data or abnormal data in record units of the input data 150. However, the method for determining normal data and abnormal data with respect to the input data 150 described herein is just an embodiment, and the data discrimination unit 102 necessarily checks the input data 150 with normal data or abnormal data in the same manner as described above. It does not have to be determined by the data. The data determination unit 102 may determine the input data 150 as normal data or abnormal data through various methods.
  • the second storage unit 106 is a place where abnormal data is stored and may receive abnormal data from the data determination unit 102 and store and load the abnormal data sequentially.
  • the data processor 108 may convert abnormal data stored in the second storage unit 106 and convert the abnormal data into normal data, and then store the abnormal data again in the first storage unit 104. That is, the second storage unit 106 serves to temporarily store abnormal data.
  • the data processor 108 extracts a specific data pattern in a data field of normal data stored in the first storage unit 104.
  • each data field of the input data includes data having a specific pattern.
  • the beginning of the record of the input data may always have a pattern in the form of a numeric string including 14 numbers, such as "YYYYMMDDhhmmss".
  • the data processor 108 may extract any particular data pattern in the normal data.
  • the data processor 108 may match data fields in the abnormal data using the extracted data pattern. For example, the data processor 108 may read abnormal data until data of a part matching the pattern "YYYYMMDDhhmmss" is found in the process of reading the abnormal data. The data processor 108 may match the extracted data field with the data field in the abnormal data using, for example, a numeric string or a string matching algorithm. The data processor 108 may classify the abnormal data into a plurality of virtual records based on the data field matching the extracted specific data pattern among the data fields in the abnormal data.
  • the abnormal data when the "YYYYMMDDhhmmss" pattern is found five times in the abnormal data, the abnormal data may be divided into five virtual records based on the data field in which the "YYYYMMDDhhmmss" pattern is found. Unlike normal data, special characters such as delimiters (",", etc.) may be unintentionally included in the abnormal data, so the data field in the record of the abnormal data may not match the data field in the record of the normal data. Accordingly, embodiments of the present invention enable the data processing unit 108 to classify abnormal data into a plurality of virtual records using the data pattern extracted from the normal data, that is, the data processing unit 108 is extracted from the abnormal data. Based on the spot (data field) where a specific pattern is found, abnormal data may be divided into a plurality of virtual records, and abnormal data may be sequentially modified in units of virtual records.
  • the data processing unit 108 performs data values for each data field in the normal data (for example, "Korea”, “United States” and “Japan” in the first data field / "Man” and “Women” / second in the second data field).
  • data values for each data field in the normal data for example, "Korea”, “United States” and “Japan” in the first data field / "Man” and “Women” / second in the second data field.
  • "URL monitoring change action” and "supply parts spare”, etc.) can be extracted, and the extracted data value and the data field in the virtual record can be matched respectively.
  • mapping with a data field in a virtual record may be relatively easy.
  • Data fields with a large number of data are relatively error-prone and may take a relatively long time to match. Accordingly, the data processor 108 may sequentially perform matching with the virtual record for each data field having a small number of data.
  • the data processor 108 may determine a data field to be modified from among data fields included in the virtual record. According to embodiments of the present invention, it is possible to efficiently search for an error point in the abnormal data by using the data pattern and the data value of the normal data.
  • the data processor 108 may modify the data included in the data field determined as the modification target.
  • the data field may include an unintentional special character (eg, ","), a newline character (eg, "/ n", etc.)
  • the data processor 108 determines that the data is to be modified.
  • the data processing unit 108 may modify the data by deleting a specific string (including a string) or a character (including a number) or replacing a predetermined string or letter in the data included in the data field.
  • a special character, a symbol, a case, and the like may be converted into another character, a symbol, etc. using a widely known text conversion technique, and the data processor 108 may be identified as a target to be modified using various data conversion techniques.
  • the data contained in the data field may be modified, and the data conversion is not limited to a specific data conversion technique.
  • the data processor 108 may modify the virtual record through the above process, and may determine whether the modified virtual record is normal data every time one virtual record is modified. If the modified virtual record is determined to be normal data, the data processor 108 may store the virtual record determined to be normal data in an internal database (not shown). The data processing unit 108 may process the remaining virtual records through the same process as described above, and then sequentially store the virtual records determined as normal data in the internal database. In this case, when it is determined that the modified virtual record is not normal data, the data processor 108 may again modify all the virtual records modified to date. That is, the data processor 108 may track the error part through the backtracking process and proceed with the above correcting operation from the corresponding part. Since a wrong result may be generated due to an error not found in the process of correcting data, the data processor 108 may completely convert abnormal data into normal data by verifying the modified virtual record once more.
  • the data processing unit 108 stores the modified abnormal data in the first storage unit ( 104).
  • the data processor 108 may sequentially store the modified abnormal data in the first storage unit 104 in units of records (or virtual records).
  • FIG. 4 is a diagram schematically illustrating a data input process according to an embodiment of the present invention.
  • the data processing system 100 temporarily stores the abnormal data in the second storage unit 106 and then continues to input data. do.
  • the normal data is stored in the first storage unit 104, and when the input of the normal data is completed, the correcting operation of the abnormal data stored in the second storage unit 106 is performed. That is, according to the embodiments of the present invention, the data processing time according to the input error of the abnormal data by continuing to input the normal data while temporarily storing the abnormal data in the second storage unit 106 in the data input process Delay can be prevented in advance. Accordingly, it is possible to prevent the data storage and loading operations from being interrupted due to abnormal data, and there is no need to invalidate the previously stored normal data. In addition, it is possible to improve unnecessary storage and stacking operations.
  • FIG. 5B is a diagram illustrating a result of correcting abnormal data of (a) and converting the abnormal data into normal data.
  • the delimiter "," between the data “Excessive CPU usage due to push request” and the data “EBD registration request” is replaced with another special character “.”.
  • the newline character "/ n" between data “ ⁇ cause: excessive use of table space threshold due to increase of service usage” and data " ⁇ action: 30GB raw device add to tablespace” Substituted by
  • such a modification method is just one embodiment, and the data processor 108 may modify data in a record to be modified by using various methods.
  • the data determination unit 102 determines whether the input data is normal data or abnormal data based on the meta data (S706). A process of determining whether the input data is normal data or abnormal data will be described in detail with reference to FIGS. 8 and 9.
  • the data determination unit 102 stores normal data in the first storage unit 104 (S708), and stores abnormal data in the second storage unit 106 (S710). That is, the data determination unit 102 may classify the input data 150 into normal data and abnormal data in the data input step, and then store the normal data and the abnormal data in separate storage units.
  • the data determination unit 102 stores normal data in the first storage unit 104 and then stores abnormal data in the second storage unit 106
  • the data determination unit 102 is not limited thereto.
  • the normal data and abnormal data may be stored in the first storage unit 104 and the second storage unit ( Can be stored simultaneously.
  • the data determination unit 102 sequentially receives the input data and determines whether the input data is the last input data (S712). If the input data is not the last data, the flow returns to step S704 to repeat the above-described steps.
  • the data processing unit 108 corrects abnormal data stored in the second storage unit 106 to have the same structure as the normal data (S714). A process of correcting abnormal data by the data processor 108 will be described in detail with reference to FIG. 10.
  • FIG. 8 is a flowchart for describing an exemplary embodiment of S706 of FIG. 7.
  • the data determination unit 102 calculates the number of delimiters in the input data (S802).
  • the delimiter means a character, a symbol, a sign, etc. for distinguishing each data field of the input data.
  • the delimiter may be a comma (",").
  • the data determination unit 102 compares the number of delimiters included in the input data with the number of data fields included in the meta data (S804).
  • the input data is determined as abnormal data (S808).
  • the data determination unit 102 compares the number of delimiters included in the input data and the number of data fields included in the meta data to determine whether the input data is normal data or abnormal data. This is just one embodiment. For example, the data determination unit 102 may determine whether the input data is normal data or abnormal data by comparing the number of data fields included in the input data with the number of data fields included in the meta data.
  • the data determination unit 102 determines whether the data patterns of the data fields included in the meta data are matched for each of the data fields included in the record of the input data (S902 and S904).
  • the data determination unit 102 compares the data field of the input data except for the matched data field to a new comparison.
  • the target is set (S906).
  • the data determination unit 102 determines the input data as normal data (S910).
  • the data determination unit 102 determines the input data as abnormal data ( S912).
  • the data processor 108 searches for data fields in which a specific data value extracted from the normal data exists among the data fields in the virtual record in consideration of the number of data for each data field of the normal data (S1012 and S1014). For example, assume that the number of data included in the first data field of the normal data is two, the number of data included in the second data field is five, and the number of data included in the third data field is four. When doing so, the data processor 108 may first determine whether data included in the first data field having the smallest number of data is included in the virtual record. Thereafter, the data processor 108 may sequentially determine whether the virtual record includes data included in the third data field and the second data field having a large number of data.
  • the data processing unit 108 After determining whether the remaining virtual record exists (S1022), the data processing unit 108 returns to step S1004 if the remaining virtual record exists and performs the corrective operation through the same process as described above with respect to the remaining virtual record.
  • the determined virtual records can be stored in the internal database sequentially.
  • the data processing unit 108 may read the most recently modified virtual record (S1024) and combine it with the previous virtual record. (S1026). That is, the data processing unit 108 proceeds again from step S1012 in order to modify all the virtual records modified so far.
  • the data processor 108 may track the error part through a backtracking process and proceed with the above correcting operation from the corresponding part. Since a wrong result may be generated due to an error not found in the process of correcting data, the data processor 108 may completely convert abnormal data into normal data by verifying the modified virtual record once more.
  • the data processing unit 108 stores the corrected abnormal data in the first storage unit 104 (S1028).
  • the data processor 108 may sequentially store the abnormal record in the first storage unit 104 in record units.
  • the method shown in FIGS. 7-10 may be performed by the data processing system 100.
  • the method is described by dividing the method into a plurality of steps, but at least some of the steps may be performed in a reverse order, in combination with other steps, omitted together, divided into detailed steps, or not illustrated.
  • One or more steps may be added and performed.
  • one or more steps not shown in the method may be performed with the method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

데이터 처리 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 데이터 처리 시스템은, 입력 데이터, 및 상기 입력 데이터의 구조에 관한 메타 데이터를 입력받고, 상기 메타 데이터를 기반으로 상기 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는 데이터 판별부; 상기 정상 데이터가 저장되는 제 1 저장부; 상기 비정상 데이터가 저장되는 제 2 저장부; 및 상기 정상 데이터와 동일한 구조를 갖도록 상기 제 2 저장부에 저장된 상기 비정상 데이터를 수정하고, 수정된 상기 비정상 데이터를 상기 제 1 저장부에 저장하는 데이터 처리부를 포함한다.

Description

데이터 처리 시스템 및 방법
본 발명의 실시예들은 데이터 처리 시스템 및 방법에 관한 것으로서, 보다 상세하게는 대용량 데이터 적재 시 데이터 오류를 자동으로 처리하기 위한 데이터 처리 시스템 및 방법에 관한 것이다.
대용량의 로그 데이터 분석 초기 단계에서, 데이터의 구조화, 적재 및 저장은 매우 중요한 작업이다. 데이터는 분석을 위한 최소한의 데이터 구조 정보에 맞도록 적재 또는 저장이 이루어져야 한다. 그러나, 대부분의 기존 로그 데이터는 이러한 데이터 구조 정보에 맞지 않는 비정상 데이터를 다수 포함하고 있다. 특히, 대용량 데이터의 경우, 이러한 비정상 데이터로 인해 데이터 적재 과정에서 심각한 오류가 발생되거나, 또는 잘못된 형태로 적재되어 부정확한 데이터 분석 결과가 도출될 수 있다. 종래 기술은 로그 데이터의 적재 시 오류 부분을 자동으로 수정하거나 구조화하는 처리 기능이 없었으며, 오류 수정 또는 구조화 과정이 모두 수작업으로 이루어졌다.
구체적으로, 종래 기술의 경우, 데이터 입력 도중 오류가 발생되면 데이터의 적재 작업이 중지되고 오류 원인을 찾아 수정한 후 처음부터 데이터 적재를 다시 수행하였다. 만약, 비정상 데이터가 여러 번 발견될 경우 이러한 작업은 매번 반복적으로 수행될 수 밖에 없었으며, 특히, 대용량 데이터 적재 시 이러한 번거로움으로 인한 시간 및 비용이 낭비되는 문제점이 있었다.
본 발명의 실시예들은 대용량 데이터를 효율적으로 저장하고 데이터에 포함된 오류를 자동으로 처리하기 위한 데이터 처리 시스템 및 방법을 제공하기 위한 것이다.
본 발명의 예시적인 실시예에 따르면, 입력 데이터, 및 상기 입력 데이터의 구조에 관한 메타 데이터를 입력받고, 상기 메타 데이터를 기반으로 상기 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는 데이터 판별부; 상기 정상 데이터가 저장되는 제 1 저장부; 상기 비정상 데이터가 저장되는 제 2 저장부; 및 상기 정상 데이터와 동일한 구조를 갖도록 상기 제 2 저장부에 저장된 상기 비정상 데이터를 수정하고, 수정된 상기 비정상 데이터를 상기 제 1 저장부에 저장하는 데이터 처리부를 포함하는, 데이터 처리 시스템이 제공된다.
상기 데이터 판별부는, 상기 입력 데이터의 레코드(record) 단위로 상기 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별할 수 있다.
상기 메타 데이터는, 레코드별 데이터 필드(data field)의 개수에 관한 정보, 상기 데이터 필드 각각을 구분하는 구분자의 개수에 관한 정보, 및 상기 데이터 필드별 데이터 패턴에 관한 정보 중 하나 이상을 포함할 수 있다.
상기 데이터 판별부는, 상기 메타 데이터에 포함된 데이터 필드의 개수 또는 상기 구분자의 개수 중 하나와 상기 입력 데이터의 레코드에 포함된 데이터 필드의 개수 또는 구분자의 개수 중 하나를 비교하거나, 또는 상기 입력 데이터의 레코드에 포함된 데이터 필드별로 상기 메타 데이터에 포함된 데이터 필드별 데이터 패턴이 매칭되는지 여부를 판단함으로써, 상기 입력 데이터의 레코드 각각이 정상 데이터인지 또는 비정상 데이터인지 여부를 판별할 수 있다.
상기 데이터 처리부는, 상기 정상 데이터 내의 특정 데이터 패턴을 추출하고, 상기 비정상 데이터 내의 데이터 필드 중 상기 특정 데이터 패턴과 매칭되는 데이터 필드를 기준으로 상기 비정상 데이터를 복수 개의 가상 레코드로 구분하며, 상기 가상 레코드 단위로 상기 비정상 데이터를 수정할 수 있다.
상기 데이터 처리부는, 상기 정상 데이터 내의 데이터 필드별로 하나 이상의 특정 데이터 값을 추출하고, 상기 가상 레코드 내의 데이터 필드 중 상기 특정 데이터 값이 존재하는 데이터 필드를 제외한 나머지 데이터 필드에 포함된 데이터를 수정할 수 있다.
상기 데이터 처리부는, 상기 나머지 데이터 필드에 포함된 데이터 내 특정 문자열 또는 문자를 삭제하거나, 또는 기설정된 문자열 또는 문자로 치환할 수 있다.
상기 데이터 처리부는, 상기 가상 레코드를 수정할 때마다 상기 가상 레코드가 정상 데이터인지 여부를 판별하고, 상기 가상 레코드가 정상 데이터로 판별된 경우 상기 가상 레코드를 상기 데이터 처리부 내 데이터베이스에 저장하며, 가상 레코드 모두가 상기 데이터베이스에 저장된 경우 수정된 상기 비정상 데이터를 상기 제 1 저장부에 저장할 수 있다.
상기 데이터 처리부는, 상기 가상 레코드를 수정할 때마다 상기 가상 레코드가 정상 데이터인지 여부를 판별하고, 상기 가상 레코드가 정상 데이터가 아닌 것으로 판별된 경우 현재까지 수정한 가상 레코드 모두를 재차 수정할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 데이터 판별부가, 입력 데이터, 및 상기 입력 데이터의 구조에 관한 메타 데이터를 입력받는 단계; 상기 데이터 판별부가, 상기 메타 데이터를 기반으로 상기 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는 단계; 상기 데이터 판별부가, 상기 정상 데이터를 제 1 저장부에 저장하는 단계; 상기 데이터 판별부가, 상기 비정상 데이터를 제 2 저장부에 저장하는 단계; 데이터 처리부가, 상기 정상 데이터와 동일한 구조를 갖도록 상기 제 2 저장부에 저장된 상기 비정상 데이터를 수정하는 단계; 및 상기 데이터 처리부가, 수정된 상기 비정상 데이터를 상기 제 1 저장부에 저장하는 단계를 포함하는, 데이터 처리 방법이 제공된다.
상기 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는 단계는, 상기 입력 데이터의 레코드(record) 단위로 상기 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별할 수 있다.
상기 메타 데이터는, 레코드별 데이터 필드(data field)의 개수에 관한 정보, 상기 데이터 필드 각각을 구분하는 구분자의 개수에 관한 정보, 및 상기 데이터 필드별 데이터 패턴에 관한 정보 중 하나 이상을 포함할 수 있다.
상기 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는 단계는, 상기 메타 데이터에 포함된 데이터 필드의 개수 또는 상기 구분자의 개수 중 하나와 상기 입력 데이터의 레코드에 포함된 데이터 필드의 개수 또는 구분자의 개수 중 하나를 비교하거나, 또는 상기 입력 데이터의 레코드에 포함된 데이터 필드별로 상기 메타 데이터에 포함된 데이터 필드별 데이터 패턴이 매칭되는지 여부를 판단함으로써, 상기 입력 데이터의 레코드 각각이 정상 데이터인지 또는 비정상 데이터인지 여부를 판별할 수 있다.
상기 비정상 데이터를 수정하는 단계는, 상기 정상 데이터 내의 특정 데이터 패턴을 추출하는 단계; 상기 비정상 데이터 내의 데이터 필드 중 상기 특정 데이터 패턴과 매칭되는 데이터 필드를 기준으로 상기 비정상 데이터를 복수 개의 가상 레코드로 구분하는 단계; 및 상기 가상 레코드 단위로 상기 비정상 데이터를 수정하는 단계를 포함할 수 있다.
상기 가상 레코드 단위로 상기 비정상 데이터를 수정하는 단계는, 상기 정상 데이터 내의 데이터 필드별로 하나 이상의 특정 데이터 값을 추출하는 단계; 및 상기 가상 레코드 내의 데이터 필드 중 상기 특정 데이터 값이 존재하는 데이터 필드를 제외한 나머지 데이터 필드에 포함된 데이터를 수정하는 단계를 포함할 수 있다.
상기 나머지 데이터 필드에 포함된 데이터를 수정하는 단계는, 상기 나머지 데이터 필드에 포함된 데이터 내 특정 문자열 또는 문자를 삭제하거나, 또는 기설정된 문자열 또는 문자로 치환할 수 있다.
상기 가상 레코드 단위로 상기 비정상 데이터를 수정하는 단계는, 상기 가상 레코드를 수정할 때마다 상기 가상 레코드가 정상 데이터인지 여부를 판별하는 단계; 상기 가상 레코드가 정상 데이터로 판별된 경우 상기 가상 레코드를 상기 데이터 처리부 내 데이터베이스에 저장하는 단계; 및 가상 레코드 모두가 상기 데이터베이스에 저장된 경우 수정된 상기 비정상 데이터를 상기 제 1 저장부에 저장하는 단계를 포함할 수 있다.
상기 가상 레코드 단위로 상기 비정상 데이터를 수정하는 단계는, 상기 가상 레코드를 수정할 때마다 상기 가상 레코드가 정상 데이터인지 여부를 판별하는 단계; 및 상기 가상 레코드가 정상 데이터가 아닌 것으로 판별된 경우 현재까지 수정한 가상 레코드 모두를 재차 수정하는 단계를 포함할 수 있다.
본 발명의 실시예들에 따르면, 데이터 입력 과정에서 비정상 데이터를 제 2 저장부에 임시 저장하면서 정상 데이터에 대한 입력을 계속 진행하도록 함으로써, 비정상 데이터의 입력 오류에 따른 데이터 처리 시간이 지연되는 것 방지할 수 있다. 이에 따라, 비정상 데이터로 인해 데이터 저장 및 적재 작업이 중단되는 것을 방지할 수 있으며, 기존에 저장된 정상 데이터를 무효화시킬 필요가 없게 된다. 또한, 불필요한 저장, 적재 반복 작업을 개선할 수 있다.
또한, 본 발명의 실시예들에 따르면, 정상 데이터의 데이터 패턴 및 데이터 값을 이용하여 비정상 데이터 내의 오류 지점을 효율적으로 탐색할 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 처리 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 입력 데이터의 예시도
도 3은 본 발명의 일 실시예에 따른 정상 데이터와 비정상 데이터의 예시도
도 4는 본 발명의 일 실시예에 따른 데이터 처리 과정을 개략적으로 나타낸 도면
도 5는 본 발명의 일 실시예에 따른 비정상 데이터가 정상 데이터와 동일한 구조를 갖도록 수정된 결과를 나타낸 도면
도 6 본 발명의 일 실시예에 따른 입력 데이터가 저장 및 적재되는 최종 결과를 나타낸 도면
도 7은 본 발명의 일 실시예에 따른 데이터 처리 방법을 설명하기 위한 순서도
도 8은 도 7의 S706의 예시적인 실시예를 설명하기 위한 순서도
도 9는 도 7의 S706의 다른 예시적인 실시예를 설명하기 위한 순서도
도 10은 도 7의 S714의 예시적인 실시예를 설명하기 위한 순서도
이하, 도면을 참조하여 본 발명의 구체적인 실시예를 설명하기로 한다. 그러나 이는 예시적 실시예에 불과하며 본 발명은 이에 한정되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 일 실시예에 따른 데이터 처리 시스템(100)의 상세 구성을 나타낸 블록도이며, 도 2는 본 발명의 일 실시예에 따른 입력 데이터(150)의 예시이고, 도 3은 본 발명의 일 실시예에 따른 정상 데이터와 비정상 데이터의 예시이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 데이터 처리 시스템(100)은 데이터 판별부(102), 제 1 저장부(104), 제 2 저장부(106) 및 데이터 처리부(108)를 포함한다.
데이터 판별부(102)는 입력 데이터(150), 및 입력 데이터(150)의 구조에 관한 메타 데이터(160)를 입력받고, 메타 데이터(160)를 기반으로 입력 데이터(150)가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별한다. 여기서, 입력 데이터(150)는 분석 대상이 되는 데이터로서 예를 들어, 특정 시스템의 로그 데이터, 장애 발생 상황에 관한 데이터 등이 될 수 있다. 데이터 판별부(102)는 예를 들어, 데이터 처리 시스템(100) 내부의 관리 서버(미도시), 데이터 처리 시스템(100) 외부의 대상 시스템(미도시) 등으로부터 입력 데이터(150)를 입력 받을 수 있다.
도 2 및 도 3을 참조하면, 입력 데이터(150)는 레코드(record) 단위로 이루어질 수 있으며, 입력 데이터(150)의 레코드 각각은 복수 개의 데이터 필드(data field)를 가질 수 있다. 여기서, 데이터 필드 각각은 예를 들어, 작성 시간(time), 장애 내용(content), 진행 상태(process), 처리 결과(result) 등에 해당하는 데이터를 포함할 수 있다. 각 데이터 필드에는 예를 들어, 작성 시간 : "20131129153000", 장애 내용 : "H/W Fault", 진행 상태 : "종료", 처리 결과 : "모니터링 강화 / 디스크 성능 분석을 통한 빈번한 media error 원인 분석 진행" 등과 같은 데이터가 포함될 수 있다. 데이터 필드 각각의 데이터들은 구분자(예를 들어, 콤마 등)를 통해 구분될 수 있다. 데이터 판별부(102)는 입력 데이터(150)를 레코드 단위로 순차적으로 입력받을 수 있다. 또한, 데이터 판별부(102)는 입력 데이터(150)의 레코드 단위로 입력 데이터(150)가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별할 수 있다.
여기서, 정상 데이터는 기설정된 데이터의 구조에 맞는 데이터를 의미하며, 비정상 데이터는 기설정된 데이터의 구조에 맞지 않는 데이터를 의미한다. 도 3의 (a)는 정상 데이터의 예시를 나타낸 도면이며, 도 3의 (b)는 비정상 데이터의 예시를 나타낸 도면이다. 도 3에 도시된 바와 같이, 정상 데이터는 기설정된 데이터의 구조와 부합하므로 정상적인 형태로 저장 및 적재될 수 있다. 그러나, 비정상 데이터(도 2에 도시된 ①, ② 및 도 3의 b에 도시된 ①, ②)는 데이터 내에 포함된 특수 문자(예를 들어, ","), 개행 문자(예를 들어, "/n" 등에 의해 기설정된 데이터 구조와 맞지 않는 데이터 구조를 가지게 되므로 비정상적인 형태로 저장 및 적재될 수 있다. 구체적으로, 도 2 및 도 3의 ①의 경우, 데이터 "Push 요청으로 인한 CPU 사용량 과다로 CPU RUNQUEUE 초과"와 데이터 "EBD 등록 요청" 사이에 구분자 ","가 사용되어 의도치 않은 부분에서 열(데이터 필드)이 나누어지는 현상이 발생하였다. 도 2 및 도 3의 ②의 경우, 데이터 "○ 발생원인 : 서비스 사용량 증가에 따른 테이블스페이스 임계치 초과사용현상" 과 데이터 "○ 조치내용 : 테이블스페이스에 30GB raw device add" 사이에 개행 문자 "/n"이 사용되어 의도치 않은 부분에서 행(레코드)이 나누어지는 현상이 발생하였다. 도 3의 (b)에서 볼 수 있는 바와 같이, 이러한 비정상 데이터는 정상 데이터와 다른 구조를 가지게 되며 비정상적인 형태로 저장 및 적재될 수 있다.
이와 같이 입력 데이터(150)가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하기 위해, 데이터 판별부(102)는 입력 데이터(150)뿐 아니라, 입력 데이터(150)의 구조에 관한 메타 데이터(160)를 함께 입력 받을 수 있다. 일반적으로, 메타 데이터는 데이터에 관한 구조화된 데이터 즉, 다른 데이터를 설명해 주는 데이터로서 대량의 정보 가운데에서 찾고 있는 정보를 효율적으로 찾아내서 이용하기 위해 일정한 규칙에 따라 콘텐츠(여기서는, 입력 데이터(150))에 부여되는 데이터를 의미한다. 본 발명의 실시예들에 따른 메타 데이터(160)는 입력 데이터(150)의 구조에 관한 정보를 포함한다. 구체적으로, 메타 데이터(160)는 입력 데이터(150)의 레코드별 데이터 필드의 개수에 관한 정보, 입력 데이터(150)의 레코드에 포함된 데이터 필드 각각을 구분하는 구분자의 개수에 관한 정보, 및 입력 데이터(150)의 데이터 필드별 데이터 패턴에 관한 정보 중 하나 이상을 포함할 수 있다. 즉, 메타 데이터(160)를 통해 입력 데이터(150)의 레코드별로 몇 개의 데이터 필드가 존재하여야 하는지, 입력 데이터(150)의 레코드별로 몇 개의 구분자가 존재하여야 하는지, 입력 데이터(150)의 데이터 필드별로 데이터가 어떠한 패턴을 가져야 하는지 등을 알 수 있다.
데이터 판별부(102)는 메타 데이터(160)에 포함된 데이터 필드의 개수 또는 구분자의 개수 중 하나와 입력 데이터(150)의 레코드에 포함된 데이터 필드의 개수 또는 구분자의 개수 중 하나를 비교함으로써, 입력 데이터(150)의 레코드 각각이 정상 데이터인지 또는 비정상 데이터인지 여부를 판별할 수 있다. 예를 들어, 메타 데이터(160)에 레코드별 데이터 필드의 개수가 4개로 설정되어 있다고 가정하였을 때, 데이터 판별부(102)는 입력 데이터(150)의 레코드에 포함된 데이터 필드의 개수를 계산한 후 메타 데이터(160)에 포함된 데이터 필드의 개수(4개)와 비교함으로써, 레코드 각각이 정상 데이터인지 또는 비정상 데이터인지 여부를 판별할 수 있다. 만약, 데이터 판별부(102)가 계산한 입력 데이터(150)의 레코드에 포함된 데이터 필드의 개수가 메타 데이터(160)에 포함된 데이터 필드의 개수와 일치하는 경우, 데이터 판별부(102)는 입력 데이터(150)의 레코드를 정상 데이터로 판별할 수 있다. 그러나, 데이터 판별부(102)가 계산한 입력 데이터(150)의 레코드에 포함된 데이터 필드의 개수가 메타 데이터(160)에 포함된 데이터 필드의 개수와 일치하지 않는 경우, 데이터 판별부(102)는 입력 데이터(150)의 레코드를 비정상 데이터로 판별할 수 있다. 또한, 데이터 판별부(102)는 입력 데이터(150)의 레코드에 포함된 구분자의 개수를 계산한 후 메타 데이터(160)에 포함된 구분자의 개수와 비교함으로써, 레코드 각각이 정상 데이터인지 또는 비정상 데이터인지 여부를 판별할 수도 있다.
나아가, 데이터 판별부(102)는 입력 데이터(150)의 레코드에 포함된 데이터 필드별로 메타 데이터(160)에 포함된 데이터 필드별 데이터 패턴이 매칭되는지 여부를 판단함으로써, 입력 데이터(150)의 레코드 각각이 정상 데이터인지 또는 비정상 데이터인지 여부를 판별할 수도 있다. 상술한 바와 같이, 메타 데이터(160)에는 데이터 필드별 데이터 패턴에 관한 정보가 포함되어 있을 수 있다. 예를 들어, 정상 데이터의 레코드 시작 부분("작성 시간"에 관한 데이터 필드)은 항상 "YYYYMMDDhhmmss" 와 같이 14개의 숫자를 포함하는 숫자열 형태의 패턴을 가질 수 있다(여기서, Y는 연도(year), M은 월(month), D는 일(day), h는 시(hour), m은 분(minute), s는 초(second)를 의미함). 또한, "장애 내용", "진행 상태" 및 "처리 결과"에 관한 데이터 필드는 문자열 형태의 패턴을 가질 수 있으며, 특히 "진행 상태"에 관한 데이터 필드는 2개("종료") 또는 3개("진행중")의 문자를 포함하는 문자열 형태의 패턴을 가질 수 있다. 이와 같이, 메타 데이터(160)에는 데이터 필드별 데이터 패턴에 관한 정보가 포함되어 있다. 데이터 판별부(102)는 입력 데이터(150)의 레코드에 포함된 데이터 필드별로 메타 데이터(160)에 포함된 데이터 필드별 데이터 패턴이 매칭되는지 여부를 판단한 후, 데이터 필드별로 모든 패턴이 매칭되는 경우 해당 레코드를 정상 데이터로 판별할 수 있다. 그러나, 입력 데이터(150)의 레코드에 포함된 데이터 필드 중 하나라도 메타 데이터(160)에 포함된 데이터 필드별 데이터 패턴과 매칭되지 않는 경우, 데이터 판별부(102)는 해당 레코드를 비정상 데이터로 판별할 수 있다. 이와 같은 과정을 통해, 데이터 판별부(102)는 입력 데이터(150)의 레코드 단위로 해당 입력 데이터(150)가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별할 수 있다. 다만, 여기에서 설명한 입력 데이터(150)에 대한 정상 데이터 및 비정상 데이터의 판별 방법은 일 실시예에 불과하며, 데이터 판별부(102)가 반드시 위와 같은 방법으로 입력 데이터(150)를 정상 데이터 또는 비정상 데이터로 판별하여야 하는 것은 아니다. 데이터 판별부(102)는 다양한 방법을 통해 입력 데이터(150)를 정상 데이터 또는 비정상 데이터로 판별할 수 있다.
이후, 데이터 판별부(102)는 위와 같은 과정을 통해 판별한 정상 데이터를 제 1 저장부(104)에 저장하며, 비정상 데이터를 제 2 저장부(106)에 저장한다. 즉, 데이터 판별부(102)는 데이터 입력 단계에서 입력 데이터(150)를 정상 데이터와 비정상 데이터로 분류한 후, 정상 데이터와 비정상 데이터를 별도의 저장부에 각각 저장할 수 있다.
제 1 저장부(104)는 정상 데이터가 저장되는 장소로서, 데이터 판별부(102)로부터 정상 데이터를 수신하여 이를 순차적으로 저장 및 적재할 수 있다. 이때, 제 1 저장부(104)는 정상 데이터를 레코드 단위별로 저장 및 적재할 수 있다. 또한, 후술할 바와 같이, 제 1 저장부(104)는 데이터 처리부(108)로부터 수정된 비정상 데이터를 수신하여 이를 순차적으로 저장 및 적재할 수도 있다.
제 2 저장부(106)는 비정상 데이터가 저장되는 장소로서, 데이터 판별부(102)로부터 비정상 데이터를 수신하여 이를 순차적으로 저장 및 적재할 수 있다. 데이터 처리부(108)는 제 2 저장부(106)에 저장된 비정상 데이터를 수정하여 정상 데이터로 변환한 후, 이를 다시 제 1 저장부(104)에 저장할 수 있다. 즉, 제 2 저장부(106)는 비정상 데이터를 임시 보관하는 역할을 한다.
데이터 처리부(108)는 정상 데이터와 동일한 구조를 갖도록 제 2 저장부(106)에 저장된 비정상 데이터를 수정하고, 수정된 비정상 데이터를 제 1 저장부(104)에 저장한다.
먼저, 데이터 처리부(108)는 제 1 저장부(104)에 저장된 정상 데이터의 데이터 필드 내 특정 데이터 패턴을 추출한다. 상술한 바와 같이, 입력 데이터의 데이터 필드 각각에는 특정 패턴을 갖는 데이터가 포함되어 있다. 예를 들어, 입력 데이터의 레코드 시작 부분("작성 시간"에 관한 데이터 필드)은 항상 "YYYYMMDDhhmmss" 와 같이 14개의 숫자를 포함하는 숫자열 형태의 패턴을 가질 수 있다. 데이터 처리부(108)는 정상 데이터 내에서 임의의 특정 데이터 패턴을 추출할 수 있다.
데이터 처리부(108)는 추출된 데이터 패턴을 이용하여 비정상 데이터 내의 데이터 필드를 매칭시킬 수 있다. 예를 들어, 데이터 처리부(108)는 비정상 데이터를 읽어들이는 과정에서 패턴 "YYYYMMDDhhmmss"와 매칭되는 부분의 데이터가 발견될 때까지 비정상 데이터를 읽어들일 수 있다. 데이터 처리부(108)는 예를 들어, 숫자열 또는 문자열 매칭 알고리즘 등을 이용하여 추출된 패턴과 비정상 데이터 내 데이터 필드를 매칭시킬 수 있다. 데이터 처리부(108)는 비정상 데이터 내의 데이터 필드 중, 추출된 특정 데이터 패턴과 매칭되는 데이터 필드를 기준으로 비정상 데이터를 복수 개의 가상 레코드(record)로 구분할 수 있다. 예를 들어, 비정상 데이터 내에 "YYYYMMDDhhmmss" 패턴이 5번 발견되는 경우, "YYYYMMDDhhmmss" 패턴이 발견된 데이터 필드를 기준으로 해당 비정상 데이터를 5개의 가상 레코드로 구분할 수 있다. 정상 데이터와 달리 비정상 데이터 내에는 구분자("," 등의 특수문자가 의도치 않게 포함되어 있을 수 있으므로, 비정상 데이터의 레코드 내 데이터 필드는 정상 데이터의 레코드 내 데이터 필드와 매칭되지 않을 수 있다. 이에 따라, 본 발명의 실시예들은 데이터 처리부(108)가 정상 데이터에서 추출된 데이터 패턴을 이용하여 비정상 데이터를 복수 개의 가상 레코드로 구분할 수 있도록 하였다. 즉, 데이터 처리부(108)는 비정상 데이터 내 추출된 특정 패턴이 발견된 지점(데이터 필드)을 기준으로 하여 비정상 데이터를 복수 개의 가상 레코드로 구분할 수 있으며, 가상 레코드 단위로 비정상 데이터를 순차적으로 수정할 수 있다.
다음으로, 데이터 처리부(108)는 각 가상 레코드를 수정하기 위해 정상 데이터의 특정 데이터 값을 이용할 수 있다. 데이터 처리부(108)는 정상 데이터 내의 데이터 필드별로 하나 이상의 특정 데이터 값을 추출할 수 있다. 정상 데이터 내의 데이터 필드 각각에는 서로 다른 개수의 데이터 값이 존재할 수 있다. 예를 들어, 제 1 데이터 필드는 "국적"에 관한 데이터로서 "한국", "미국" 및 "일본"을 포함하는 3개의 데이터를 포함할 수 있다. 또한, 제 2 데이터 필드는 "성별"에 관한 데이터로서 "남자" 및 "여자"를 포함하는 2개의 데이터를 포함할 수 있다. 또한, 제 3 데이터 필드는 "처리 결과"에 관한 데이터로서 "URL 모니터링 변경 조치", "해당 부품 여유분 확보"… 등을 포함하는 20개의 데이터를 포함할 수 있다.
데이터 처리부(108)는 정상 데이터 내의 데이터 필드별로 데이터 값(예를 들어, 제 1 데이터 필드에서는 "한국", "미국" 및 "일본"/제 2 데이터 필드에서는 "남자" 및 "여자"/제 3 데이터 필드에서는 "URL 모니터링 변경 조치" 및 "해당 부품 여유분 확보" 등)을 추출하고, 추출된 데이터 값과 가상 레코드 내의 데이터 필드를 각각 매칭시킬 수 있다. 예를 들어, 정상 데이터의 제 1 데이터 필드 내의 "한국", "미국" 및 "일본" 중 어느 하나가 비정상 데이터 내의 데이터 필드에 포함되어 있는지 여부를 판별할 수 있으며, "한국", "미국" 및 "일본" 중 어느 하나를 포함하는 비정상 데이터 내의 데이터 필드는 정상 데이터와 매칭되는 것으로 볼 수 있다. 이후, 데이터 처리부(108)는 매칭된 데이터 필드는 정상인 것으로 간주하고 매칭되지 않은 데이터 필드에 대해서만 수정 작업을 진행할 수 있다. 즉, 데이터 처리부(108)는 가상 레코드 내의 데이터 필드 중 추출된 특정 데이터 값이 존재하는 데이터 필드를 제외한 나머지 데이터 필드를 수정 대상으로 하여 수정 작업을 진행할 수 있다. 예를 들어, 하나의 가상 레코드 내에 10개의 데이터 필드가 존재한다고 가정하였을 때, 1~5, 7~8, 10번째 데이터 필드는 정상 데이터에서 추출된 특정 데이터 값이 존재하지만 6, 9번째 데이터 필드는 정상 데이터에서 추출된 특정 데이터 값이 존재하지 않을 수 있다. 이 경우, 데이터 처리부(108)는 정상 데이터에서 추출된 특정 데이터 값이 존재하지 않는 6, 9번째 데이터 필드만을 수정 대상으로 하여 수정 작업을 진행할 수 있다. 여기서는, 데이터 처리부(108)가 정상 데이터의 데이터 필드에 포함된 모든 데이터 값을 이용하여 가상 레코드의 데이터 필드별 수정 대상 여부를 판별하는 것으로 설명하였으나, 이는 하나의 실시예에 불과하며, 데이터 처리부(108)는 정상 데이터의 데이터 필드에 포함된 데이터 중 일부 데이터 값만을 이용하여 가상 레코드의 데이터 필드별 수정 대상 여부를 판별할 수도 있다. 예를 들어, 데이터 처리부(108)는 정상 데이터의 데이터 필드별로 출현 횟수가 많은 하나 이상의 특정 데이터 값을 이용하여 가상 레코드의 데이터 필드별 수정 대상 여부를 판별할 수 있다.
또한, 정상 데이터에서 추출된 특정 데이터 값을 가상 레코드 내 데이터 필드에 매칭시키는 과정에서, 데이터 처리부(108)는 정상 데이터의 데이터 필드별 데이터 개수를 고려하여 데이터 필드별 수정 대상 여부를 판별할 수 있다. 예를 들어, 정상 데이터의 제 1 데이터 필드에 포함된 데이터의 개수가 2개이고, 제 2 데이터 필드에 포함된 데이터의 개수가 5개이고, 제 3 데이터 필드에 포함된 데이터의 개수가 4개라고 가정하였을 때, 데이터 처리부(108)는 먼저 데이터의 개수가 가장 적은 제 1 데이터 필드에 포함된 데이터가 가상 레코드에 포함되어 있는지 여부를 판별할 수 있다. 이후, 데이터 처리부(108)는 데이터의 개수가 많은 제 3 데이터 필드, 제 2 데이터 필드에 포함된 데이터가 가상 레코드에 포함되어 있는지 여부를 순차적으로 판별할 수 있다. 데이터의 개수가 적은 데이터 필드의 경우, 가상 레코드 내 데이터 필드와의 매칭이 상대적으로 수월할 수 있다. 데이터의 개수가 많은 데이터 필드는 상대적으로 오류 발생 가능성이 높으며 매칭에 있어서도 상대적으로 많은 시간이 소요될 수 있다. 이에 따라, 데이터 처리부(108)는 데이터의 개수가 적은 데이터 필드별로 가상 레코드와의 매칭 작업을 순차적으로 수행할 수 있다.
이와 같은 과정을 통해, 데이터 처리부(108)는 가상 레코드 내에 포함된 데이터 필드 중 수정 대상이 되는 데이터 필드를 결정할 수 있다. 본 발명의 실시예들에 따르면, 정상 데이터의 데이터 패턴 및 데이터 값을 이용하여 비정상 데이터 내의 오류 지점을 효율적으로 탐색할 수 있다.
다음으로, 데이터 처리부(108)는 수정 대상으로 판별된 데이터 필드에 포함된 데이터를 수정할 수 있다. 해당 데이터 필드 내에는 의도치 않은 특수 문자(예를 들어, ","), 개행 문자(예를 들어, "/n' 등이 포함되어 있을 수 있다. 데이터 처리부(108)는 수정 대상으로 판별된 데이터 필드에 포함된 데이터 내 특정 문자열(숫자열을 포함함) 또는 문자(숫자를 포함함)를 삭제하거나, 또는 기설정된 문자열 또는 문자로 치환함으로써, 데이터를 수정할 수 있다. 데이터 처리부(108)는 일반적으로 널리 알려진 텍스트 변환 기법을 이용하여 문제가 되는 특수 문자, 기호, 대소문자 등을 다른 문자, 기호 등으로 변환할 수 있다. 데이터 처리부(108)는 다양한 데이터 변환 기법을 이용하여 수정 대상으로 판별된 데이터 필드에 포함된 데이터를 수정할 수 있으며, 특정 데이터 변환 기법에 한정되어 데이터 변환을 수행하는 것은 아니다.
데이터 처리부(108)는 위와 같은 과정을 통해 가상 레코드를 수정할 수 있으며, 하나의 가상 레코드를 수정할 때마다 수정된 가상 레코드가 정상 데이터인지 여부를 판별할 수 있다. 만약, 수정된 가상 레코드가 정상 데이터로 판별될 경우, 데이터 처리부(108)는 정상 데이터로 판별된 가상 레코드를 내부 데이터베이스(미도시)에 저장할 수 있다. 데이터 처리부(108)는 나머지 가상 레코드에 대해서도 위와 같은 동일한 과정을 통해 수정 작업을 진행한 후 정상 데이터로 판별된 가상 레코드를 순차적으로 내부 데이터베이스에 저장할 수 있다. 이때, 수정된 가상 레코드가 정상 데이터가 아닌 것으로 판별될 경우, 데이터 처리부(108)는 현재까지 수정한 가상 레코드 모두를 재차 수정할 수 있다. 즉, 데이터 처리부(108)는 백트래킹(backtracking) 과정을 통해 오류 부분을 추적하여 해당 부분부터 다시 위의 수정 작업을 진행할 수 있다. 데이터의 수정 작업 과정에서 미처 발견되지 않은 오류로 인해 잘못된 결과가 생성될 수 있기 때문에, 데이터 처리부(108)는 수정된 가상 레코드를 한번 더 검증함으로써 비정상 데이터를 정상 데이터로 완전하게 변환할 수 있다.
여기서, 데이터 처리부(108)는 상술한 메타 데이터를 기반으로 수정된 가상 레코드가 정상 데이터인지 여부를 판별할 수 있다. 예를 들어, 데이터 처리부(108)는 메타 데이터에 포함된 데이터 필드의 개수 또는 구분자의 개수를 가상 레코드에 포함된 데이터 필드의 개수 또는 구분자의 개수와 비교하거나, 또는 가상 레코드에 포함된 데이터 필드별로 메타 데이터에 포함된 데이터 필드별 데이터 패턴이 매칭되는지 여부를 판단함으로써, 가상 레코드가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별할 수 있다. 다만, 가상 레코드가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는 방법이 이에 한정되는 것은 아니며, 데이터 처리부(108)는 다양한 방법을 통해 가상 레코드가 정상 데이터인지 여부를 판별할 수 있다.
한편, 수정된 가상 레코드 모두가 데이터 처리부(108) 내 데이터베이스에 저장되는 경우, 즉 수정된 가상 레코드 모두가 정상 데이터로 판별되는 경우, 데이터 처리부(108)는 수정된 비정상 데이터를 제 1 저장부(104)에 저장할 수 있다. 이때, 데이터 처리부(108)는 수정된 비정상 데이터를 레코드(또는 가상 레코드) 단위로 제 1 저장부(104)에 순차적으로 저장할 수 있다.
도 4는 본 발명의 일 실시예에 따른 데이터 입력 과정을 개략적으로 나타낸 도면이다. 도 4를 참조하면, 본 발명의 실시예들에 따른 데이터 처리 시스템(100)은 비정상 데이터가 발견되는 경우 해당 비정상 데이터를 제 2 저장부(106)에 임시 저장한 후, 데이터 입력을 계속하여 진행한다. 이 과정에서 정상 데이터는 제 1 저장부(104)에 저장되며, 정상 데이터의 입력이 완료되면 제 2 저장부(106)에 저장된 비정상 데이터의 수정 작업이 진행된다. 즉, 본 발명의 실시예들에 따르면, 데이터 입력 과정에서 비정상 데이터를 제 2 저장부(106)에 임시 저장하면서 정상 데이터에 대한 입력을 계속 진행하도록 함으로써, 비정상 데이터의 입력 오류에 따른 데이터 처리 시간의 지연을 미연에 방지할 수 있다. 이에 따라, 비정상 데이터로 인해 데이터 저장 및 적재 작업이 중단되는 것을 방지할 수 있으며, 기존에 저장된 정상 데이터를 무효화시킬 필요가 없게 된다. 또한, 불필요한 저장, 적재 반복 작업을 개선할 수 있다.
도 5는 본 발명의 일 실시예에 따른 비정상 데이터가 정상 데이터와 동일한 구조를 갖도록 수정된 결과를 나타낸 도면이다.
도 5의 (a)는 상술한 비정상 데이터의 예시를 나타낸 도면이다. 상술한 바와 같이, 첫 번째 레코드(①)는, 특정 데이터 필드 내에 구분자인 ","가 포함됨에 따라 데이터 필드가 의도치 않게 구분되는 현상이 발생하여 기설정된 데이터 구조에 맞지 않는 비정상 데이터로 판별되었다. 두 번째 레코드(②)는, 특정 데이터 필드 내에 행을 나누는 개행 문자가 포함됨에 따라 행이 잘못된 부분에서 나누어지는 현상이 발생하여 기설정된 데이터 구조에 맞지 않는 비정상 데이터로 판별되었다.
도 5의 (b)는 (a)의 비정상 데이터를 수정하여 정상 데이터로 변환한 결과를 나타낸 도면이다. 첫 번째 레코드(①)의 경우 데이터 "Push 요청으로 인한 CPU 사용량 과다로 CPU RUNQUEUE 초과" 와 데이터 "EBD 등록 요청" 사이의 구분자 ","를 다른 특수 문자 "."로 치환하였으며, 두 번째 레코드(②)의 경우 데이터 "○ 발생원인 : 서비스 사용량 증가에 따른 테이블스페이스 임계치 초과사용현상"과 데이터 "○ 조치내용 : 테이블스페이스에 30GB raw device add" 사이의 개행 문자 "/n"을 공백 문자 " "로 치환하였다. 다만, 이와 같은 수정 방식은 하나의 실시예에 불과하며, 데이터 처리부(108)는 다양한 방식을 활용하여 수정 대상이 되는 레코드 내 데이터를 수정할 수 있다.
도 6은 본 발명의 일 실시예에 따른 입력 데이터가 저장 및 적재되는 최종 결과를 나타낸 도면이다. 상술한 과정을 통해 수정된 비정상 데이터는 제 1 저장부(104)에 저장될 수 있다. 도 6을 참조하면, 기존의 비정상 데이터는 데이터 처리부(108)에서의 수정 과정을 거쳐 정상 데이터로 변환되었다. 즉, 기존의 비정상 데이터가 정상 데이터와 동일한 구조를 갖도록 변환되었음을 확인할 수 있다.
도 7은 본 발명의 일 실시예에 따른 데이터 처리 방법을 설명하기 위한 순서도이다. 먼저, 데이터 처리 시스템(100)의 데이터 판별부(102)는 입력 데이터, 입력 데이터의 구조에 관한 메타 데이터를 입력받는다(702). 여기서, 입력 데이터(150)는 분석 대상이 되는 데이터로서 예를 들어, 특정 시스템의 로그 데이터, 장애 발생 상황에 관한 데이터 등이 될 수 있다. 메타 데이터(160)는 입력 데이터(150)의 구조에 관한 정보로서, 레코드별 데이터 필드의 개수에 관한 정보, 데이터 필드 각각을 구분하는 구분자의 개수에 관한 정보, 및 데이터 필드별 데이터 패턴에 관한 정보 중 하나 이상을 포함할 수 있다.
다음으로, 데이터 판별부(102)는 입력 데이터를 읽어들인 후(S704), 메타 데이터를 기반으로 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별한다(S706). 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는 과정은 도 8 및 도 9를 참조하여 구체적으로 설명하기로 한다.
다음으로, 데이터 판별부(102)는 정상 데이터를 제 1 저장부(104)에 저장하고(S708), 비정상 데이터를 제 2 저장부(106)에 저장한다(S710). 즉, 데이터 판별부(102)는 데이터 입력 단계에서 입력 데이터(150)를 정상 데이터와 비정상 데이터로 분류한 후, 정상 데이터와 비정상 데이터를 별도의 저장부에 각각 저장할 수 있다. 여기서는, 데이터 판별부(102)가 정상 데이터를 제 1 저장부(104)에 저장한 후 비정상 데이터를 제 2 저장부(106)에 저장하는 것으로 설명하였으나, 이에 한정되는 것은 아니며 데이터 판별부(102)는 비정상 데이터를 제 2 저장부(106)에 저장한 후 정상 데이터를 제 1 저장부(104)에 저장할 수도 있으며, 정상 데이터와 비정상 데이터를 제 1 저장부(104)와 제 2 저장부(106)에 동시에 저장할 수도 있다.
데이터 판별부(102)는 입력 데이터를 순차적으로 입력 받고, 입력 데이터가 마지막 입력 데이터인지 여부를 판별한다(S712). 입력 데이터가 마지막 데이터가 아닐 경우, S704 단계로 돌아가 상술한 단계를 반복한다.
입력 데이터가 마지막 데이터일 경우, 데이터 처리부(108)는 정상 데이터와 동일한 구조를 갖도록 제 2 저장부(106)에 저장된 비정상 데이터를 수정한다(S714). 데이터 처리부(108)가 비정상 데이터를 수정하는 과정은 도 10을 참조하여 구체적으로 설명하기로 한다.
도 8은 도 7의 S706의 예시적인 실시예를 설명하기 위한 순서도이다. 먼저, 데이터 판별부(102)는 입력 데이터 내 구분자의 수를 계산한다(S802). 구분자는 입력 데이터의 데이터 필드 각각을 구분하기 위한 문자, 기호, 부호 등을 의미하며, 예를 들어 콤마(",")일 수 있다.
다음으로, 데이터 판별부(102)는 입력 데이터에 포함된 구분자의 개수와 메타 데이터에 포함된 데이터 필드의 개수를 비교한다(S804).
만약, 입력 데이터에 포함된 구분자의 개수와 메타 데이터에 포함된 데이터 필드의 개수가 일치하는 경우(입력 데이터의 데이터 필드 후단에도 구분자가 존재하는 것으로 가정), 데이터 판별부(102)는 입력 데이터를 정상 데이터로 판별한다(S806). 다만, 이에 한정되는 것은 아니며, 데이터 판별부(102)는 입력 데이터에 포함된 구분자의 개수가 메타 데이터에 포함된 데이터 필드의 개수보다 하나 작은 경우(구분자가 입력 데이터의 데이터 필드 사이에만 존재하는 것으로 가정), 데이터 판별부(102)는 입력 데이터를 정상 데이터로 판별할 수도 있다.
만약, 입력 데이터에 포함된 구분자의 개수와 메타 데이터에 포함된 데이터 필드의 개수가 일치하지 않는 경우, 입력 데이터를 비정상 데이터로 판별한다(S808). 한편, 여기서는, 데이터 판별부(102)가 입력 데이터에 포함된 구분자의 개수와 메타 데이터에 포함된 데이터 필드의 개수를 비교함으로써 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판단하는 것으로 설명하였으나, 이는 하나의 실시예에 불과하다. 데이터 판별부(102)는 예를 들어, 입력 데이터에 포함된 데이터 필드의 개수와 메타 데이터에 포함된 데이터 필드의 개수를 비교함으로써 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판단할 수도 있다.
도 9는 도 7의 S706의 다른 예시적인 실시예를 설명하기 위한 순서도이다. 먼저, 데이터 판별부(102)는 입력 데이터의 레코드에 포함된 데이터 필드별로 메타 데이터에 포함된 데이터 필드별 데이터 패턴이 매칭되는지 여부를 판단한다(S902, S904).
만약, 입력 데이터의 레코드에 포함된 데이터 필드 중 메타 데이터에 포함된 데이터 패턴과 매칭되는 데이터 필드가 존재하는 경우, 데이터 판별부(102)는 매칭되는 데이터 필드를 제외한 입력 데이터의 데이터 필드를 새로운 비교 대상으로 설정한다(S906).
이 과정에서, 데이터 판별부(102)는 남은 비교 대상이 존재하는지 여부를 판단한다(S908). 만약, 남은 비교 대상이 존재할 경우, 데이터 판별부(102)는 기 매칭된 데이터 필드를 제외한 입력 데이터의 데이터 필드 중 메타 데이터에 포함된 데이터 패턴이 매칭되는 데이터 필드가 존재하는지 여부를 판단한다. 즉, S904 단계부터 다시 반복 수행한다.
만약, 남은 비교 대상이 존재하지 않을 경우, 데이터 판별부(102)는 입력 데이터를 정상 데이터로 판별한다(S910).
한편, S904 단계에서, 입력 데이터의 레코드에 포함된 데이터 필드 중 메타 데이터에 포함된 데이터 패턴이 매칭되는 데이터 필드가 존재하지 않을 경우, 데이터 판별부(102)는 입력 데이터를 비정상 데이터로 판별한다(S912).
도 10은 도 7의 S714의 예시적인 실시예를 설명하기 위한 순서도이다. 먼저, 데이터 처리부(108)는 제 2 저장부(106)에 저장된 비정상 데이터를 획득하고, 제 1 저장부(104)에 저장된 정상 데이터 내의 특정 데이터 패턴 및 데이터 필드별 특정 데이터 값을 추출한다(S1002). 상술한 바와 같이, 입력 데이터의 데이터 필드 각각에는 특정 패턴을 갖는 데이터가 포함되어 있다. 예를 들어, 입력 데이터의 레코드 시작 부분("작성 시간"에 관한 데이터 필드)은 항상 "YYYYMMDDhhmmss" 와 같이 14개의 숫자를 포함하는 숫자열 형태의 패턴을 가질 수 있다. 데이터 처리부(108)는 정상 데이터 내에서 임의의 특정 데이터 패턴을 추출할 수 있다. 또한, 정상 데이터 내의 데이터 필드 각각에는 서로 다른 개수의 데이터 값이 존재할 수 있으며, 데이터 처리부(108)는 정상 데이터 내의 데이터 필드별로 하나 이상의 특정 데이터 값(예를 들어, "한국", "미국", "일본"/"남자", "여자"/"URL 모니터링 변경 조치", "해당 부품 여유분 확보" 등)을 추출할 수 있다.
다음으로, 데이터 처리부(108)는 비정상 데이터의 일부분을 읽어들인 후(S1004), 비정상 데이터 내의 데이터 필드 중 추출된 특정 데이터 패턴과 매칭되는 데이터 필드가 있는지 검색한다(S1006).
만약, 추출된 특정 데이터 패턴과 매칭되는 데이터 필드가 발견되지 않을 경우, 데이터 처리부(108)는 매칭되는 데이터 필드가 발견될 때까지 비정상 데이터의 범위를 계속 추가하여 검색한다(S1008).
만약, 추출된 특정 데이터 패턴과 매칭되는 데이터 필드가 발견되는 경우, 데이터 처리부(108)는 추출된 특정 데이터 패턴과 매칭되는 다음 데이터 필드까지의 데이터를 하나의 가상 레코드로 설정한다(S1010). 예를 들어, 비정상 데이터 내에 "YYYYMMDDhhmmss" 패턴이 5번 발견되는 경우, "YYYYMMDDhhmmss" 패턴이 발견된 데이터 필드를 기준으로 해당 비정상 데이터를 5개의 가상 레코드로 설정할 수 있다. 데이터 처리부(108)는 가상 레코드 단위로 비정상 데이터를 순차적으로 수정할 수 있다.
다음으로, 데이터 처리부(108)는 정상 데이터의 데이터 필드별 데이터 개수를 고려하여 가상 레코드 내의 데이터 필드 중 정상 데이터에서 추출된 특정 데이터 값이 존재하는 데이터 필드를 검색한다(S1012, S1014). 예를 들어, 정상 데이터의 제 1 데이터 필드에 포함된 데이터의 개수가 2개이고, 제 2 데이터 필드에 포함된 데이터의 개수가 5개이고, 제 3 데이터 필드에 포함된 데이터의 개수가 4개라고 가정하였을 때, 데이터 처리부(108)는 먼저 데이터의 개수가 가장 적은 제 1 데이터 필드에 포함된 데이터가 가상 레코드에 포함되어 있는지 여부를 판별할 수 있다. 이후, 데이터 처리부(108)는 데이터의 개수가 많은 제 3 데이터 필드, 제 2 데이터 필드에 포함된 데이터가 가상 레코드에 포함되어 있는지 여부를 순차적으로 판별할 수 있다. 데이터의 개수가 적은 데이터 필드의 경우, 가상 레코드 내 데이터 필드와의 매칭이 상대적으로 수월할 수 있다. 데이터의 개수가 많은 데이터 필드는 상대적으로 오류 발생 가능성이 높으며 매칭에 있어서도 상대적으로 많은 시간이 소요될 수 있다. 이에 따라, 데이터 처리부(108)는 데이터의 개수가 적은 데이터 필드별로 가상 레코드와의 매칭 작업을 순차적으로 수행할 수 있다.
다음으로, 데이터 처리부(108)는 수정 대상으로 판별된 데이터 필드에 포함된 데이터를 수정한다(S1016). 데이터 처리부(108)는 수정 대상으로 판별된 데이터 필드에 포함된 데이터 내 특정 문자열 또는 문자를 삭제하거나, 또는 기설정된 문자열 또는 문자로 치환함으로써, 데이터를 수정할 수 있다. 데이터 처리부(108)는 일반적으로 널리 알려진 텍스트 변환 기법을 이용하여 문제가 되는 특수 문자, 기호, 대소문자 등을 다른 문자, 기호 등으로 변환할 수 있다.
다음으로, 데이터 처리부(108)는 수정된 가상 레코드가 정상 데이터인지 여부를 판별한다(S1018). 즉, 데이터 처리부(108)는 하나의 가상 레코드를 수정할 때마다 수정된 가상 레코드가 정상 데이터인지 여부를 판별할 수 있다. 데이터 처리부(108)는 상술한 메타 데이터를 기반으로 수정된 가상 레코드가 정상 데이터인지 여부를 판별할 수 있다. 예를 들어, 데이터 처리부(108)는 메타 데이터에 포함된 데이터 필드의 개수 또는 구분자의 개수를 가상 레코드에 포함된 데이터 필드의 개수 또는 구분자의 개수와 비교하거나, 또는 가상 레코드에 포함된 데이터 필드별로 메타 데이터에 포함된 데이터 필드별 데이터 패턴이 매칭되는지 여부를 판단함으로써, 가상 레코드가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별할 수 있다.
만약, 수정된 가상 레코드가 정상 데이터로 판별될 경우, 데이터 처리부(108)는 정상 데이터로 판별된 가상 레코드를 내부 데이터베이스(미도시)에 저장한다(S1020).
데이터 처리부(108)는 남은 가상 레코드가 존재하는지 여부를 판단한 후(S1022), 남은 가상 레코드가 존재할 경우 S1004 단계로 돌아가 나머지 가상 레코드에 대해서도 위와 같은 동일한 과정을 통해 수정 작업을 진행한 후 정상 데이터로 판별된 가상 레코드를 순차적으로 내부 데이터베이스에 저장할 수 있다.
한편, S1018 단계에서, 수정된 가상 레코드가 정상 데이터가 아닌 것으로 판별될 경우, 데이터 처리부(108)는 가장 최근에 수정한 가상 레코드를 읽어들인 후(S1024), 이를 이전 가상 레코드와 결합할 수 있다(S1026). 즉, 데이터 처리부(108)는 현재까지 수정한 가상 레코드 모두를 재차 수정하기 위해 S1012 단계부터 다시 진행한다. 데이터 처리부(108)는 백트래킹(backtracking) 과정을 통해 오류 부분을 추적하여 해당 부분부터 다시 위의 수정 작업을 진행할 수 있다. 데이터의 수정 작업 과정에서 미처 발견되지 않은 오류로 인해 잘못된 결과가 생성될 수 있기 때문에, 데이터 처리부(108)는 수정된 가상 레코드를 한번 더 검증함으로써 비정상 데이터를 정상 데이터로 완전하게 변환할 수 있다.
한편, S1022 단계에서 남은 가상 레코드가 존재하지 않을 경우, 데이터 처리부(108)는 수정된 비정상 데이터를 제 1 저장부(104)에 저장한다(S1028). 이때, 데이터 처리부(108)는 비정상 레코드를 레코드 단위로 제 1 저장부(104)에 순차적으로 저장할 수 있다.
도 7 내지 도 10에 도시된 방법은 데이터 처리 시스템(100)에 의해 수행될 수 있다. 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 또한 실시예에 따라 상기 방법에 도시되지 않은 하나 이상의 단계들이 상기 방법과 함께 수행될 수도 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
[부호의 설명]
100: 데이터 처리 시스템
102: 데이터 판별부
104: 제 1 저장부
106: 제 2 저장부
108: 데이터 처리부
150: 입력 데이터
160: 메타 데이터

Claims (18)

  1. 입력 데이터, 및 상기 입력 데이터의 구조에 관한 메타 데이터를 입력받고, 상기 메타 데이터를 기반으로 상기 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는 데이터 판별부;
    상기 정상 데이터가 저장되는 제 1 저장부;
    상기 비정상 데이터가 저장되는 제 2 저장부; 및
    상기 정상 데이터와 동일한 구조를 갖도록 상기 제 2 저장부에 저장된 상기 비정상 데이터를 수정하고, 수정된 상기 비정상 데이터를 상기 제 1 저장부에 저장하는 데이터 처리부를 포함하는, 데이터 처리 시스템.
  2. 청구항 1에 있어서,
    상기 데이터 판별부는, 상기 입력 데이터의 레코드(record) 단위로 상기 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는, 데이터 처리 시스템.
  3. 청구항 2에 있어서,
    상기 메타 데이터는, 레코드별 데이터 필드(data field)의 개수에 관한 정보, 상기 데이터 필드 각각을 구분하는 구분자의 개수에 관한 정보, 및 상기 데이터 필드별 데이터 패턴에 관한 정보 중 하나 이상을 포함하는, 데이터 처리 시스템.
  4. 청구항 3에 있어서,
    상기 데이터 판별부는, 상기 메타 데이터에 포함된 데이터 필드의 개수 또는 상기 구분자의 개수 중 하나와 상기 입력 데이터의 레코드에 포함된 데이터 필드의 개수 또는 구분자의 개수 중 하나를 비교하거나, 또는 상기 입력 데이터의 레코드에 포함된 데이터 필드별로 상기 메타 데이터에 포함된 데이터 필드별 데이터 패턴이 매칭되는지 여부를 판단함으로써, 상기 입력 데이터의 레코드 각각이 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는, 데이터 처리 시스템.
  5. 청구항 1에 있어서,
    상기 데이터 처리부는, 상기 정상 데이터 내의 특정 데이터 패턴을 추출하고, 상기 비정상 데이터 내의 데이터 필드 중 상기 특정 데이터 패턴과 매칭되는 데이터 필드를 기준으로 상기 비정상 데이터를 복수 개의 가상 레코드로 구분하며, 상기 가상 레코드 단위로 상기 비정상 데이터를 수정하는, 데이터 처리 시스템.
  6. 청구항 5에 있어서,
    상기 데이터 처리부는, 상기 정상 데이터 내의 데이터 필드별로 하나 이상의 특정 데이터 값을 추출하고, 상기 가상 레코드 내의 데이터 필드 중 상기 특정 데이터 값이 존재하는 데이터 필드를 제외한 나머지 데이터 필드에 포함된 데이터를 수정하는, 데이터 처리 시스템.
  7. 청구항 6에 있어서,
    상기 데이터 처리부는, 상기 나머지 데이터 필드에 포함된 데이터 내 특정 문자열 또는 문자를 삭제하거나, 또는 기설정된 문자열 또는 문자로 치환하는, 데이터 처리 시스템.
  8. 청구항 5에 있어서,
    상기 데이터 처리부는, 상기 가상 레코드를 수정할 때마다 상기 가상 레코드가 정상 데이터인지 여부를 판별하고, 상기 가상 레코드가 정상 데이터로 판별된 경우 상기 가상 레코드를 상기 데이터 처리부 내 데이터베이스에 저장하며, 가상 레코드 모두가 상기 데이터베이스에 저장된 경우 수정된 상기 비정상 데이터를 상기 제 1 저장부에 저장하는, 데이터 처리 시스템.
  9. 청구항 5에 있어서,
    상기 데이터 처리부는, 상기 가상 레코드를 수정할 때마다 상기 가상 레코드가 정상 데이터인지 여부를 판별하고, 상기 가상 레코드가 정상 데이터가 아닌 것으로 판별된 경우 현재까지 수정한 가상 레코드 모두를 재차 수정하는, 데이터 처리 시스템.
  10. 데이터 판별부가, 입력 데이터, 및 상기 입력 데이터의 구조에 관한 메타 데이터를 입력받는 단계;
    상기 데이터 판별부가, 상기 메타 데이터를 기반으로 상기 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는 단계;
    상기 데이터 판별부가, 상기 정상 데이터를 제 1 저장부에 저장하는 단계;
    상기 데이터 판별부가, 상기 비정상 데이터를 제 2 저장부에 저장하는 단계;
    데이터 처리부가, 상기 정상 데이터와 동일한 구조를 갖도록 상기 제 2 저장부에 저장된 상기 비정상 데이터를 수정하는 단계; 및
    상기 데이터 처리부가, 수정된 상기 비정상 데이터를 상기 제 1 저장부에 저장하는 단계를 포함하는, 데이터 처리 방법.
  11. 청구항 10에 있어서,
    상기 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는 단계는, 상기 입력 데이터의 레코드(record) 단위로 상기 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는, 데이터 처리 방법.
  12. 청구항 11에 있어서,
    상기 메타 데이터는, 레코드별 데이터 필드(data field)의 개수에 관한 정보, 상기 데이터 필드 각각을 구분하는 구분자의 개수에 관한 정보, 및 상기 데이터 필드별 데이터 패턴에 관한 정보 중 하나 이상을 포함하는, 데이터 처리 방법.
  13. 청구항 12에 있어서,
    상기 입력 데이터가 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는 단계는, 상기 메타 데이터에 포함된 데이터 필드의 개수 또는 상기 구분자의 개수 중 하나와 상기 입력 데이터의 레코드에 포함된 데이터 필드의 개수 또는 구분자의 개수 중 하나를 비교하거나, 또는 상기 입력 데이터의 레코드에 포함된 데이터 필드별로 상기 메타 데이터에 포함된 데이터 필드별 데이터 패턴이 매칭되는지 여부를 판단함으로써, 상기 입력 데이터의 레코드 각각이 정상 데이터인지 또는 비정상 데이터인지 여부를 판별하는, 데이터 처리 방법.
  14. 청구항 10에 있어서,
    상기 비정상 데이터를 수정하는 단계는,
    상기 정상 데이터 내의 특정 데이터 패턴을 추출하는 단계;
    상기 비정상 데이터 내의 데이터 필드 중 상기 특정 데이터 패턴과 매칭되는 데이터 필드를 기준으로 상기 비정상 데이터를 복수 개의 가상 레코드로 구분하는 단계; 및
    상기 가상 레코드 단위로 상기 비정상 데이터를 수정하는 단계를 포함하는, 데이터 처리 방법.
  15. 청구항 14에 있어서,
    상기 가상 레코드 단위로 상기 비정상 데이터를 수정하는 단계는,
    상기 정상 데이터 내의 데이터 필드별로 하나 이상의 특정 데이터 값을 추출하는 단계; 및
    상기 가상 레코드 내의 데이터 필드 중 상기 특정 데이터 값이 존재하는 데이터 필드를 제외한 나머지 데이터 필드에 포함된 데이터를 수정하는 단계를 포함하는, 데이터 처리 방법.
  16. 청구항 15에 있어서,
    상기 나머지 데이터 필드에 포함된 데이터를 수정하는 단계는, 상기 나머지 데이터 필드에 포함된 데이터 내 특정 문자열 또는 문자를 삭제하거나, 또는 기설정된 문자열 또는 문자로 치환하는, 데이터 처리 방법.
  17. 청구항 14에 있어서,
    상기 가상 레코드 단위로 상기 비정상 데이터를 수정하는 단계는,
    상기 가상 레코드를 수정할 때마다 상기 가상 레코드가 정상 데이터인지 여부를 판별하는 단계;
    상기 가상 레코드가 정상 데이터로 판별된 경우 상기 가상 레코드를 상기 데이터 처리부 내 데이터베이스에 저장하는 단계; 및
    가상 레코드 모두가 상기 데이터베이스에 저장된 경우 수정된 상기 비정상 데이터를 상기 제 1 저장부에 저장하는 단계를 포함하는, 데이터 처리 방법.
  18. 청구항 14에 있어서,
    상기 가상 레코드 단위로 상기 비정상 데이터를 수정하는 단계는,
    상기 가상 레코드를 수정할 때마다 상기 가상 레코드가 정상 데이터인지 여부를 판별하는 단계; 및
    상기 가상 레코드가 정상 데이터가 아닌 것으로 판별된 경우 현재까지 수정한 가상 레코드 모두를 재차 수정하는 단계를 포함하는, 데이터 처리 방법.
PCT/KR2014/011091 2014-05-29 2014-11-18 데이터 처리 시스템 및 방법 Ceased WO2015182835A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140065157A KR102148984B1 (ko) 2014-05-29 2014-05-29 데이터 처리 시스템 및 방법
KR10-2014-0065157 2014-05-29

Publications (1)

Publication Number Publication Date
WO2015182835A1 true WO2015182835A1 (ko) 2015-12-03

Family

ID=54699141

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/011091 Ceased WO2015182835A1 (ko) 2014-05-29 2014-11-18 데이터 처리 시스템 및 방법

Country Status (4)

Country Link
US (1) US9881045B2 (ko)
KR (1) KR102148984B1 (ko)
CN (1) CN105302847B (ko)
WO (1) WO2015182835A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10824605B2 (en) 2016-03-18 2020-11-03 At&T Intellectual Property I, L.P. Database metadata and methods to adapt the same
US10565173B2 (en) * 2017-02-10 2020-02-18 Wipro Limited Method and system for assessing quality of incremental heterogeneous data
US20210049159A1 (en) * 2019-08-15 2021-02-18 International Business Machines Corporation Visualization and Validation of Cardinality-Constrained Groups of Data Entry Fields
CN112307077A (zh) * 2019-12-11 2021-02-02 深圳新阳蓝光能源科技股份有限公司 一种数据归档方法、装置、服务器和系统
CN111158960A (zh) * 2019-12-31 2020-05-15 北京讯鸟软件有限公司 一种基于内存的分布式异常数据处理方法和设备
CN111563113A (zh) * 2020-04-28 2020-08-21 中国银行股份有限公司 异常数据修正方法及装置
CN116186000A (zh) * 2021-11-26 2023-05-30 华为云计算技术有限公司 数据治理的方法、装置及存储介质
CN114978863B (zh) * 2022-05-17 2024-03-01 安天科技集团股份有限公司 一种数据处理方法、装置、计算机设备及可读存储介质
CN115825312B (zh) * 2023-02-22 2023-05-12 华谱科仪(北京)科技有限公司 色谱检测数据交互方法、装置、设备和计算机可读介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080094081A (ko) * 2006-01-27 2008-10-22 어드밴스드 마이크로 디바이시즈, 인코포레이티드 제조 데이터 인덱싱을 위한 방법 및 장치
KR20110097921A (ko) * 2008-12-02 2011-08-31 아브 이니티오 테크놀로지 엘엘시 데이터 관리 시스템 내의 데이터 집합의 맵핑 인스턴스
US20130117518A1 (en) * 2010-06-30 2013-05-09 Fujitsu Limited System controller, information processing system and method of saving and restoring data in the information processing system
US20130311456A1 (en) * 2012-05-17 2013-11-21 Sap Ag Systems and Methods for Performing Data Analysis for Model Proposals
WO2014051348A2 (ko) * 2012-09-28 2014-04-03 삼성에스디에스 주식회사 데이터 객체 변환 장치 및 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100516331B1 (ko) * 2000-10-09 2005-09-21 김화윤 인터넷 기반의 원격 제어 시스템 및 방법
US6684224B2 (en) * 2001-01-16 2004-01-27 Chipdata, Inc. Remote database update method and apparatus
US7225412B2 (en) * 2002-12-03 2007-05-29 Lockheed Martin Corporation Visualization toolkit for data cleansing applications
US7370057B2 (en) * 2002-12-03 2008-05-06 Lockheed Martin Corporation Framework for evaluating data cleansing applications
US20040107203A1 (en) * 2002-12-03 2004-06-03 Lockheed Martin Corporation Architecture for a data cleansing application
US20040181512A1 (en) * 2003-03-11 2004-09-16 Lockheed Martin Corporation System for dynamically building extended dictionaries for a data cleansing application
CN1797443A (zh) * 2004-12-25 2006-07-05 鸿富锦精密工业(深圳)有限公司 数据交换系统及方法
CN101034959A (zh) * 2006-03-10 2007-09-12 华为技术有限公司 混合自动重传方法及其装置和系统
US8150814B2 (en) * 2009-04-07 2012-04-03 Business Objects Software Ltd. System and method of data cleansing using rule based formatting
GB2485774A (en) 2010-11-23 2012-05-30 Advanced Risc Mach Ltd Processor instruction to extract a bit field from one operand and insert it into another with an option to sign or zero extend the field

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080094081A (ko) * 2006-01-27 2008-10-22 어드밴스드 마이크로 디바이시즈, 인코포레이티드 제조 데이터 인덱싱을 위한 방법 및 장치
KR20110097921A (ko) * 2008-12-02 2011-08-31 아브 이니티오 테크놀로지 엘엘시 데이터 관리 시스템 내의 데이터 집합의 맵핑 인스턴스
US20130117518A1 (en) * 2010-06-30 2013-05-09 Fujitsu Limited System controller, information processing system and method of saving and restoring data in the information processing system
US20130311456A1 (en) * 2012-05-17 2013-11-21 Sap Ag Systems and Methods for Performing Data Analysis for Model Proposals
WO2014051348A2 (ko) * 2012-09-28 2014-04-03 삼성에스디에스 주식회사 데이터 객체 변환 장치 및 방법

Also Published As

Publication number Publication date
US20150347493A1 (en) 2015-12-03
CN105302847B (zh) 2018-12-07
KR20150137388A (ko) 2015-12-09
US9881045B2 (en) 2018-01-30
CN105302847A (zh) 2016-02-03
KR102148984B1 (ko) 2020-08-27

Similar Documents

Publication Publication Date Title
US20180357214A1 (en) Log analysis system, log analysis method, and storage medium
KR102148984B1 (ko) 데이터 처리 시스템 및 방법
CN111506608B (zh) 一种结构化文本的比较方法和装置
US20180268081A1 (en) Data extraction
CN113779030B (zh) 枚举值查询方法、可读存储介质及计算机程序产品
US4967348A (en) Data name standardizing system
WO2016117739A1 (ko) 인-메모리 데이터베이스 기반의 데이터 관리 시스템 및 그 방법
CN113055760B (zh) 日志处理方法、装置、设备和存储介质
CN114116513A (zh) 多指令集架构向risc-v指令集架构的寄存器映射方法及装置
US11983222B2 (en) Handling out-of-order data during stream processing and persisting it in a temporal graph database
WO2020055141A1 (en) Method and device for detecting duplicate content
CN118445338B (zh) 基于大数据的数据安全采集调度系统
CN103605777B (zh) 数据库索引处理方法和装置
CN119129489A (zh) 信息提取方法、装置、电子设备及计算机可读存储介质
WO2015133774A1 (ko) 특허 분석 시스템 및 방법과 이를 실행하기 위한 프로그램이 기록된 기록매체
WO2022107957A1 (ko) 자연어 처리 기반 난독화된 식별자 인식 방법, 이를 수행하기 위한 기록 매체 및 장치
CN111045994A (zh) 一种基于kv数据库的文件分类检索方法及系统
CN118780261A (zh) 日志模板的确定方法、装置、计算机设备、介质及产品
WO2007007410A1 (ja) メッセージ解析装置、メッセージ解析方法およびメッセージ解析プログラム
CN116489251A (zh) 通用码流解析方法、装置、计算机可读介质及终端设备
WO2016137035A1 (ko) 테스트 케이스 생성 장치와 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
CN102955761A (zh) 尺寸信息输出系统及方法
CN113760907A (zh) 一种数据库中数据唯一性标识方法
CN107888415B (zh) 一种网管系统数据维护方法
WO2021261901A1 (ko) 함수 호출 패턴 분석을 통한 이상 검출 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14893037

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14893037

Country of ref document: EP

Kind code of ref document: A1