KR102099362B1 - 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법 - Google Patents

마이크로 서비스를 이용한 데이터 전처리 장치 및 방법 Download PDF

Info

Publication number
KR102099362B1
KR102099362B1 KR1020180119599A KR20180119599A KR102099362B1 KR 102099362 B1 KR102099362 B1 KR 102099362B1 KR 1020180119599 A KR1020180119599 A KR 1020180119599A KR 20180119599 A KR20180119599 A KR 20180119599A KR 102099362 B1 KR102099362 B1 KR 102099362B1
Authority
KR
South Korea
Prior art keywords
data
column
menu
processing
user interface
Prior art date
Application number
KR1020180119599A
Other languages
English (en)
Inventor
이우성
Original Assignee
(주)디지탈쉽
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)디지탈쉽 filed Critical (주)디지탈쉽
Priority to KR1020180119599A priority Critical patent/KR102099362B1/ko
Application granted granted Critical
Publication of KR102099362B1 publication Critical patent/KR102099362B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명의 다양한 실시 예는 마이크로 서비스를 이용한 데이터 전처리 장치에 관한 것이다. 본 발명의 다양한 실시 예에 따르면, 데이터 전처리를 실행하기 위한 사용자 인터페이스를 제공하고 마이크로 서비스를 이용한 데이터 전처리 장치는 상기 사용자 인터페이스를 통해 획득한 데이터 소스에서 로우 데이터(Raw Data)를 확인하고, 상기 로우 데이터 및 상기 로우 데이터로부터 가공된 전처리 데이터를 관리하는 데이터 저장부; 상기 로우 데이터를 상기 사용자 인터페이스와 연결된 기능에 따라 처리하는 데이터 전처리부; 상기 로우 데이터 및 상기 전처리 데이터 중 적어도 하나를 상기 사용자 인터페이스와 연결된 기능에 따라 변환 데이터로 변경하는 데이터 변환부; 및 웹 서비스를 통해 상기 사용자 인터페이스를 제공하는 웹 서비스부;를 포함하고, 상기 사용자 인터페이스는 상기 로우 데이터에 포함된 복수의 컬럼이 표시되는 데이터 표시 영역, 사용자의 입력에 기반하여 선택된 컬럼과 관련된 데이터 전처리 기능과 연결된 복수의 메뉴가 표시되는 메뉴 영역, 상기 선택된 컬럼의 데이터를 도식화(schematization)한 상세 데이터가 표시되는 상세 데이터 영역, 및 순차적으로 실행된 데이터 전처리 결과가 표시되는 히스토리 영역을 포함할 수 있다. 다른 실시 예들도 가능할 수 있다.

Description

마이크로 서비스를 이용한 데이터 전처리 장치 및 방법{DEVICE AND METHOD FOR A DATA PREPARATION USING A MICRO SERVICE}
본 발명은 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법에 관한 것으로, 특히 데이터 전처리 작업을 손쉽게 할 수 있도록 사용자 인터페이스와 데이터 전처리 기능을 제공하는 하는 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법에 관한 것이다.
최근 기술의 발전에 따라 다양한 전자 장치에서 생성되는 데이터들이 폭발적으로 증가하고 있다. 특히, 스마트폰과 태블릿 PC의 보급화는 정보의 생산, 유통, 보유량의 증가로 이어지고 데이터의 기하급수적인 증가를 이끌고 있다. 하지만 데이터의 증가에 비해 가치 있는 데이터는 소수에 불가하다. 따라서 대용량 데이터를 처리하고, 의미 있는 데이터를 발굴하는 기술이 필요하다.
데이터 전처리(Data Preparation)는 데이터를 추가 분석 및 처리에 적합한 형식으로 조작하는 것을 의미하며 다른 많은 업무를 포함하고 완전히 자동화 될 수 없는 과정이다. 이러한 데이터 준비 활동은 일상적으로 지루하고 많은 시간이 소요된다. 그러나 데이터 준비 작업은 데이터 마이닝 프로젝트에 소요되는 전체 시간의 60% ~ 80%를 차지하는 것으로 추산된다. 품질이 낮은 데이터는 일반적으로 부정확하고 신뢰 할 수 없는 데이터 마이닝 결과를 초래하기 때문에 성공적인 데이터 마이닝을 위해서는 데이터의 전처리가 필수적이다. 그러나 대용량 데이터를 사람이 정제 및 정형을 하기에는 그 방대한 양 때문에 한계가 있는 문제점이 있었다.
한편, 기존 데이터 전처리 장치는 모놀리틱 아키텍쳐(Monolithic Architecture) 기반으로 구성된다. 모놀리틱 아키텍쳐(Monolithic Architecture) 기반의 데이터 전처리 장치는 하나의 프로젝트로 구성된 소스코드 기반의 단일한 패키지로 구성되므로, 간단한 기능 하나를 교체 또는 추가하기 위해 각각의 서로 다른 서비스를 제공하는 모듈 중 어느 하나만 교체하거나 추가하기 어렵고, 데이터 전처리 과부하를 적절하게 대응하기 어려운 문제점이 있었다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 데이터 전처리 작업을 수행하는 사용자에게 직관적인 사용자 인터페이스와 데이처 전처리 기능을 제공함으로써 데이터 전처리 작업의 효율성을 높이는 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 마이크로 서비스로 데이터 전처리 장치를 구성함으로써 데이터 전처리의 분산 환경 제공, 제공하는 기능들의 병렬 처리 및 서버 확장이 용이한 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 다양한 실시 예에 따르면, 데이터 전처리를 실행하기 위한 사용자 인터페이스를 제공하는 마이크로 서비스를 이용한 데이터 전처리 장치는 상기 사용자 인터페이스를 통해 획득한 데이터 소스에서 로우 데이터(Raw Data)를 확인하고, 상기 로우 데이터 및 상기 로우 데이터로부터 가공된 전처리 데이터를 관리하는 데이터 저장부; 상기 로우 데이터를 상기 사용자 인터페이스와 연결된 기능에 따라 처리하는 데이터 전처리부; 상기 로우 데이터 및 상기 전처리 데이터 중 적어도 하나를 상기 사용자 인터페이스와 연결된 기능에 따라 변환 데이터로 변경하는 데이터 변환부; 및 웹 서비스를 통해 상기 사용자 인터페이스를 제공하는 웹 서비스부;를 포함하고, 상기 사용자 인터페이스는 상기 로우 데이터에 포함된 복수의 컬럼이 표시되는 데이터 표시 영역, 사용자의 입력에 기반하여 선택된 컬럼과 관련된 데이터 전처리 기능과 연결된 복수의 메뉴가 표시되는 메뉴 영역, 상기 선택된 컬럼의 데이터를 도식화(schematization)한 상세 데이터가 표시되는 상세 데이터 영역, 및 순차적으로 실행된 데이터 전처리 결과가 표시되는 히스토리 영역을 포함하고, 상기 데이터 전처리부는, 상기 확인된 로우 데이터를 분석함으로써 상기 복수의 컬럼, 컬럼의 속성 정보, 및 상세 데이터를 생성하고, 상기 웹 서비스를 통해 상기 데이터 표시 영역, 상기 메뉴 영역, 및 상기 상세 데이터 영역에 각각 상기 복수의 컬럼, 적어도 하나의 메뉴, 및 상기 상세 데이터를 표시하고, 상기 복수의 컬럼 중 어느 하나의 컬럼을 선택하는 사용자 입력을 검출할 경우, 상기 선택된 컬럼에 대응하는 상기 컬럼의 속성 정보에 따라, 상기 적어도 하나의 메뉴를 상기 선택된 어느 하나의 컬럼과 관련된 데이터 전처리 기능과 연결된 복수의 메뉴로 변경하고, 상기 복수의 메뉴 중 어느 하나의 메뉴를 선택하는 사용자 입력을 검출할 경우, 상기 선택된 어느 하나의 메뉴와 연결된 데이터 전처리 기능을 실행하고, 상기 실행된 데이터 전처리 기능에 따라 상기 선택된 컬럼의 데이터를 컬럼의 전처리 데이터로 변경하고, 및 상기 변경한 컬럼의 전처리 데이터를 상기 사용자 인터페이스에 표시할 수 있다.
이상에서 설명한 바와 같은 본 발명에 따른 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법은 직관적이고 사용이 간편한 사용자 인터페이스를 제공함으로써 사용자가 데이터 전처리 업무에 빠르게 적응할 수 있다.
또한, 본 발명에 따른 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법은 다양한 데이터 변환 기능을 제공함으로써 데이터 전처리 작업의 속도를 높일 수 있다.
또한, 본 발명에 따른 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법은 웹 서비스를 통해 데이터 전처리 기능을 제공함으로써 사용자의 접근성을 높일 수 있다.
또한, 본 발명에 따른 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법은 데이터가 포함된 컬럼 형태에 맞는 다양한 사용자 인터페이스를 제공함으로써 사용자의 업무 효율성을 높일 수 있다.
또한, 본 발명에 따른 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법은 분산 처리된 환경에서 데이터 전처리 속도를 높일 수 있다.
또한, 본 발명에 따른 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법은 각 모듈에 연결 가능한 추가 모듈을 병렬로 연결함으로써 데이터 전처리 용량을 확장할 수 있다.
도 1 은 본 발명의 일 실시 예에 따른 마이크로 서비스를 이용한 데이터 전처리 장치를 나타낸 블록도이다.
도 2a 내지 도 2c는 본 발명의 일 실시 예에 따른 마이크로 서비스를 이용한 데이터 전처리 장치가 제공하는 사용자 인터페이스를 나타낸 예시도이다.
도 3 은 본 발명의 일 실시 예에 따른 마이크로 서비스를 이용한 데이터 전처리 방법을 설명하기 위한 흐름도이다.
도 4a 내지 도 4f는 본 발명의 일 실시 예에 따른 마이크로 서비스를 이용한 데이터 전처리 방법을 설명하기 위한 예시도이다.
도 5 는 본 발명의 일 실시 예에 따른 사용 빈도가 높은 복수의 메뉴로 변경하는 방법을 설명하기 위한 흐름도이다.
도 6 은 본 발명의 일 실시 예에 따른 사용 빈도가 높은 복수의 메뉴로 변경하는 방법을 설명하기 위한 예시도이다.
도 7 은 본 발명의 일 실시 예에 따른 컬럼의 속성을 변경하는 방법을 설명하기 위한 흐름도이다.
도 8 은 본 발명의 일 실시 예에 따른 컬럼의 속성을 변경하는 방법을 설명하기 위한 예시도이다.
도 9는 본 발명의 일 실시 예에 따른 컬럼의 데이터를 변환하는 방법을 설명하기 위한 흐름도이다.
도 10 은 본 발명의 일 실시 예에 따른 컬럼의 데이터를 변환하는 방법을 설명하기 위한 예시도이다.
도 11 은 본 발명의 일 실시 예에 따른 2 개의 컬럼을 연결하는 방법을 설명하기 위한 흐름도이다.
도 12 는 본 발명의 일 실시 예에 따른 2 개의 컬럼을 연결하는 방법을 설명하기 위한 예시도이다.
이하 본 발명의 다양한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 그리고, 본 발명의 실시 예를 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명에 따른 데이터 전처리 장치 및 방법의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
본 문서의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램)로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 서버)를 포함할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
도 1 은 본 발명의 일 실시 예에 따른 마이크로 서비스를 이용한 데이터 전처리 장치를 나타낸 블록도이다. 도 2a 내지 도 2c는 본 발명의 일 실시 예에 따른 마이크로 서비스를 이용한 데이터 전처리 장치가 제공하는 사용자 인터페이스를 나타낸 예시도이다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 데이터 전처리 장치(100)는 사용자 장치(200)와 네트워크를 통해 서로 통신 연결될 수 있다. 여기서 네트워크는 무선 네트워크 및 유선 네트워크를 포함할 수 있다. 예를 들어, 상기 네트워크는 근거리 통신 네트워크(예: 블루투스, WiFi direct 또는 IrDA(infrared data association)) 또는 원거리 통신 네트워크(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN))일 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 데이터 전처리 작업을 수행할 수 있는 본 발명의 어플리케이션 프로그램이 저장된 서버일 수 있고, 웹 서비스(예: 스마트폰의 앱 어플리케이션, 인터넷의 웹 페이지)를 통해 본 발명의 데이터 전처리가 수행되는 어플리케이션 프로그램을 제공할 수 있다. 사용자 장치(200)는 데이터 전처리가 수행되는 어플리케이션 프로그램의 일부 또는 전부가 설치된 장치일 수 있고, 웹 서비스를 통해 데이터 전처리가 수행되는 어플리케이션 프로그램을 실행할 수 있다. 상기 어플리케이션 프로그램은 Talend Data Preparation Tool을 기반으로 개발되었다.
일 실시 예에서, 사용자 장치(200)는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버(server), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 마이크로 서비스 아키텍쳐(Microservice architecture) 기반으로 구성된 장치일 수 있다. 여기서 마이크로 서비스 아키텍쳐란 하나의 큰 서비스를 독립적인 역할을 수행하는 작은 단위의 서비스로 분산하여 설계하는 패턴을 의미할 수 있다. 여기서 독립적인 역할이란, 예를 들어, 본 발명의 모듈에 해당하는 데이터 전처리부(110), 데이터 변환부(120), 데이터 저장부(130), 웹 서비스부(140)에서 각각 제공하는 기능을 의미할 수 있다.
예를 들어, 데이터 전처리 장치(100)에서 마이크로 서비스 아키텍쳐가 적용되므로, 데이터 전처리부(110), 데이터 변환부(120), 데이터 저장부(130), 웹 서비스부(140)는 각각 개별적으로 독립적인 단위의 어플리케이션일 수 있다. 따라서, 데이터 전처리 장치(100)는 제공하고자 하는 서비스를 추가 또는 변경하기 위해 전체 프로그램 구조를 변경할 필요가 없고, 각각의 모듈에 해당하는 데이터 전처리부(110), 데이터 변환부(120), 데이터 저장부(130), 또는 웹 서비스부(140) 중 일부를 변경하거나 더 추가할 수 있다.
예를 들어, 데이터 전처리 장치(100)는 데이터 전처리 기능 중 일부를 교체하거나 추가할 경우, 전체 시스템 구조를 변경할 필요 없이 데이터 전처리부(110)와 동일한 구조를 가지면서 기능이 추가된 모듈을 데이터 전처리부(110)에 연결함으로써 손쉽게 기능 중 일부를 교체하거나 추가할 수 있다.
또한, 예를 들어, 데이터 전처리 장치(100)는 제공하고자 하는 기능 중 일부가 과부하(예: 과도한 데이터 전처리 또는 데이터 변환)가 걸린 경우, 전체 시스템 구조를 확장할 필요 없이 과부하가 걸린 모듈, 예컨대 데이터 전처리부(110) 또는 데이터 변환부(120)와 동일한 기능을 갖는 모듈을 병렬로 연결함으로써 처리 용량을 손쉽게 확장할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 데이터 전처리부(110), 데이터 변환부(120), 데이터 저장부(130), 웹 서비스부(140), 데이터베이스(150), 및 API 관리부(160)를 포함할 수 있다. 데이터 전처리 장치(100)는 직관적인 사용자 인터페이스를 제공함으로써 데이터 전처리 기능을 실행할 수 있다. 예를 들어, 데이터 전처리 장치(100)는 웹 페이지를 통해 사용자 장치(200)로부터 데이터 소스(예: CSV 파일, EXCEL 파일)를 수신할 수 있고, 데이터 소스에서 로우 데이터를 확인할 수 있고, 이상값 및 결측값에 대한 처리 후 데이터 내보내기 등의 기능을 지원할 수 있다.
구체적으로, 일 실시 예에서, API 관리부(160)는 데이터 전처리부(110), 데이터 변환부(120), 데이터 저장부(130), 웹 서비스부(140)와 연결되어 각각의 구성을 전반적으로 제어할 수 있다. 데이터 전처리 장치(100)는 API 관리부(160)를 통해 각 모듈(데이터 전처리부(110), 데이터 변환부(120), 데이터 저장부(130), 웹 서비스부(140))의 추가, 변경, 확장 등을 수행할 수 있다.
또한, API 관리부(160)는 Netflix에서 만든 Hystrix라는 오픈소스를 활용하여 서비스를 관리할 수 있고, 데이터는 In-memory data grid를 제공하는 오픈소스인 hazelcast를 통해 공유 및 처리될 수 있고, 모듈간의 통신은 REST 서비스로 송수신할 수 있다
일 실시 예에서, 데이터 전처리부(110)는 로우 데이터를 사용자 인터페이스와 연결된 기능에 따라 처리할 수 있다. 또한, 데이터 전처리부(110)는 데이터 전처리 목록 및 폴더를 관리할 수 있다.
일 실시 예에서, 데이터 변환부(120)는 로우 데이터 및 상기 전처리 데이터 중 적어도 하나를 사용자 인터페이스와 연결된 기능에 따라 변환 데이터로 변경할 수 있다. 예를 들어, 데이터 변환부(120)는 데이터의 변형(컬럼 변환, 정리, 결합 등) 적용을 위한 서비스를 제공할 수 있다.
일 실시 예에서, 데이터 저장부(130)는 사용자 인터페이스를 통해 획득한 데이터 소스에서 로우 데이터(Raw Data)를 확인하고, 로우 데이터 및 로우 데이터로부터 가공된 전처리 데이터를 관리할 수 있다. 예를 들어, 데이터 저장부(130)는 데이터를 가져오거나 내보내기 등의 데이터 셋을 관리할 수 있다.
일 실시 예에서, 웹 서비스부(140)는 웹 서비스를 통해 사용자 인터페이스를 제공할 수 있다. 여기서 웹 서비스는 네트워크를 통해 웹 페이지를 제공하거나 어플리케이션을 제공하는 경우일 수 있다.
구체적으로, 일 실시 예에서, 도 2a를 참조하면, 사용자 인터페이스는 로우 데이터에 포함된 복수의 컬럼이 표시되는 데이터 표시 영역(21), 사용자의 입력에 기반하여 선택된 컬럼과 관련된 데이터 전처리 기능과 연결된 복수의 메뉴가 표시되는 메뉴 영역(22), 선택된 컬럼의 데이터를 도식화(schematization)한 상세 데이터가 표시되는 상세 데이터 영역(23), 및 순차적으로 실행된 데이터 전처리 결과가 표시되는 히스토리 영역(24)을 포함할 수 있다.
예를 들어, 데이터 표시 영역(21)은 복수의 컬럼을 표시할 수 있고, 각 컬럼은 특정 데이터를 표시할 수 있다. 예컨대, 각각의 컬럼은 id 번호, first name, last name, email, job title에 대응하는 데이터들을 표시할 수 있고, 각각의 컬럼은 이상값과 결측값을 표시할 수 있다.
예를 들어, 메뉴 영역(22)은 데이터 전처리 기능과 연결된 복수의 메뉴를 표시할 수 있고, 사용자가 해당 메뉴를 클릭할 경우 해당 메뉴와 연결된 데이터 전처리 기능이 실행될 수 있다, 구체적인 내용은 도 5 및 도 6에서 후술한다.
예를 들어, 상세 데이터 영역(23)은 각 컬럼에 포함된 데이터를 분석하여 그래프, 상세 정보, 패턴, 다이어 그램 등을 표시할 수 있다.
도 2b를 참조하면, 사용자 인터페이스는 복수의 컬럼에 정상 값을 갖는 행이 포함되어 있다는 것을 나타내는 제1 아이콘(녹색 사각형), 결측값을 갖는 행이 포함되어 있다는 것을 나타내는 제2 아이콘(백색 사각형), 및 이상값을 갖는 행이 포함되어 있다는 것을 나타내는 제3 아이콘(주황색 사각형)이 포함된 데이터 품질 표시바를 더 포함할 수 있다. 이를 통해 사용자는 해당 컬럼이 이상값 또는 결측값이 존재한다는 사실을 손쉽게 확인할 수 있다.
또한, 도 2b에 도시된 바와 같이 사용자 인터페이스는 복수의 컬럼의 데이터를 필터링하는 메뉴를 더 포함할 수 있다. 예컨대, 사용자는 해당 컬럼에 대응하는 키워드(예: email의 mail)를 입력함으로써 데이터들을 필터링할 수 있다.
도 2c를 참조하면, 예를 들어, 히스토리 영역(24)은 그동안 수행한 데이터 전처리 기능을 표시할 수 있다. 예를 들어, id 열의 무효값을 가진 칸이 있는 행을 삭제하는 기능, name 열의 빈 칸이 있는 행을 삭제하는 기능, email 열의 무효 값을 가진 칸이 있는 행을 삭제하는 기능을 실행한 순서대로 표시할 수 있다.
일 실시 예에서, 데이터베이스(150)는 기존 데이터 전처리 정보를 데이터베이스화하여 저장할 수 있다. 예를 들어, 데이터 전처리 장치(100)는 그동한 수행한 모든 데이터 전처리 내용 등을 빅데이터화할 수 있고, 빅데이터를 데이터베이스(150)에 저장할 수 있다.
도 3 은 본 발명의 일 실시 예에 따른 마이크로 서비스를 이용한 데이터 전처리 방법을 설명하기 위한 흐름도이다. 도 4a 내지 도 4f는 본 발명의 일 실시 예에 따른 마이크로 서비스를 이용한 데이터 전처리 방법을 설명하기 위한 예시도이다. 도 3의 동작들은 도 1의 마이크로 서비스를 이용한 데이터 전처리 장치(100)에 의해 수행될 수 있다. 도 4a 내지 도 4f에 도시된 사용자 인터페이스는 데이터 표시 영역(41), 메뉴 영역(42), 상세 데이터 영역(43), 및 히스토리 영역(44)을 포함할 수 있다.
도 3을 참조하면, 일 실시 예에서, 데이터 전처리 장치(100)는 동작 31에서, 확인된 로우 데이터를 분석함으로써 복수의 컬럼, 컬럼의 속성 정보, 및 상세 데이터를 생성할 수 있다. 예를 들어, 컬럼의 속성 정보는 해당 컬럼의 데이터 유형(예:문자형, 숫자형)을 포함할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 32에서, 웹 서비스를 통해 데이터 표시 영역(41), 메뉴 영역(42), 및 상세 데이터 영역(43)에 각각 복수의 컬럼, 적어도 하나의 메뉴, 및 상세 데이터를 표시할 수 있다. 예를 들어, 복수의 컬럼은 id 번호, first name, last name, email, job title, company, city, state에 대응하는 데이터를 포함할 수 있다. 적어도 하나의 메뉴는 어떤 컬럼도 선택되지 않았을 경우에 기본으로 표시되는 메뉴를 표시할 수 있고, 예를 들어, 도 4c에 도시된 숫자 비교 기능을 나타내는 메뉴, 더하기, 곱하기, 빼기 또는 나누기 기능을 나타내는 메뉴를 포함할 수 있다. 또한, 고급 문자열 처리 기능을 나타내는 메뉴도 포함할 수 있다. 그 외에도 다양한 기능을 나타내는 메뉴들이 표시될 수 있다. 상세 데이터는 예를 들어 해당 컬럼의 데이터를 그래프일 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 33에서, 복수의 컬럼 중 어느 하나의 컬럼을 선택하는 사용자 입력을 검출되는 지 확인할 수 있다. 예를 들어, 도 4 a에 도시된 바와 같이 데이터 전처리 장치(100)는 id 열의 컬럼을 선택하는 사용자 입력을 검출할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 34에서, 복수의 컬럼 중 어느 하나의 컬럼을 선택하는 사용자 입력을 검출할 경우, 선택된 컬럼에 대응하는 컬럼의 속성 정보에 따라, 적어도 하나의 메뉴를 선택된 어느 하나의 컬럼과 관련된 데이터 전처리 기능과 연결된 복수의 메뉴로 변경할 수 있다. 예를 들어, 도 4a에 도시된 바와 같이, id 열은 숫자형 컬럼이므로 데이터 전처리 장치(100)는 무효 값을 가진 칸의 값 지우기 기능을 나타내는 메뉴, 무효 값을 가진 칸이 있는 행 삭제 기능을 나타내는 메뉴, 무효 값을 가진 칸을 값으로 채우기 기능을 나타내는 메뉴 등을 메뉴 영역(42)에 표시할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 35에서, 복수의 메뉴 중 어느 하나의 메뉴를 선택하는 사용자 입력을 검출되는 지 확인할 수 있다. 예를 들어, 도 4b에 도시된 바와 같이 데이터 전처리 장치(100)는 무효 값을 가진 칸이 있는 행 삭제 기능을 나타내는 메뉴를 선택하는 사용자 입력을 검출할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 36에서, 복수의 메뉴 중 어느 하나의 메뉴를 선택하는 사용자 입력을 검출할 경우, 선택된 어느 하나의 메뉴와 연결된 데이터 전처리 기능을 실행할 수 있다. 예를 들어, 도 4c에 도시된 바와 같이 데이터 전처리 장치(100)는 id 컬럼에서 무효 값을 가진 칸이 있는 행을 삭제할 수 있다.
한편, 데이터 전처리 기능을 실행하기 이전에, 데이터 전처리 장치(100)는 선택된 컬럼에 포함되어 변경될 행 데이터를 하이라이트 표시하는 미리보기 기능을 실행할 수 있다. 예를 들어, 도 4b에 도시된 바와 같이 데이터 전처리 장치(100)는 결측 값을 갖는 행을 하이라이트(45) 표시할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 37에서, 실행된 데이터 전처리 기능에 따라 선택된 컬럼의 데이터를 컬럼의 전처리 데이터로 변경할 수 있다. 예를 들어, 데이터 전처리 장치(100)는 id 컬럼의 이전 데이터를 결측 값이 삭제된 id 컬럼의 데이터로 변경할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 38에서, 변경한 컬럼의 전처리 데이터를 사용자 인터페이스에 표시할 수 있다. 예를 들어, 데이터 전처리 장치(100)는 결측 값이 삭제된 id 컬럼의 데이터를 표시할 수 있다.
한편, 일 실시 예에서, 데이터 전처리 장치(100)는 변경한 컬럼의 전처리 데이터를 사용자 인터페이스에 표시함과 동시에 히스토리 영역(44)에 데이터 전처리 결과(예: id 열: 무효 값을 가진 칸이 있는 행 삭제)를 표시할 수 있다.
또한, 도 4d, 도 4e, 도 4f에 도시된 바와 같이, 데이터 전처리 장치(100)는 다음의 사용자 입력에 기반하여 email 컬럼의 무효 값을 가진 칸이 있는 행을 삭제하는 데이터 전처리 기능을 이어서 실행할 수 있다. 즉, 데이터 전처리 장치(100)는 후속하는 사용자 입력에 따라 도 3의 동작들을 반복적으로 수행할 수 있다. 데이터 전처리 장치(100)는 각각의 컬럼을 사용자 입력에 기반하여 반복적으로 데이터 전처리 기능을 수행할 수 있고, 사용자는 결측값 또는 이상값을 가진 컬럼들을 순차적으로 전처리할 수 있다. 따라서, 사용자는 데이터 전처리 장치(100)가 제공하는 사용자 인터페이스를 통해 손쉽게 데이터 전처리 기능을 이용할 수 있다.
도 5 는 본 발명의 일 실시 예에 따른 사용 빈도가 높은 복수의 메뉴로 변경하는 방법을 설명하기 위한 흐름도이다. 도 6 은 본 발명의 일 실시 예에 따른 사용 빈도가 높은 복수의 메뉴로 변경하는 방법을 설명하기 위한 예시도이다. 도 5의 동작들은 도 1의 마이크로 서비스를 이용한 데이터 전처리 장치(100)에 의해 수행될 수 있다.
도 5 및 도 6을 참조하면, 일 실시 예에서, 데이터 전처리 장치(100)는 동작 51에서, 기존 데이터 전처리 정보를 데이터베이스화하여 저장할 수 있다. 예를 들어, 데이터 전처리 장치(100)는 그동한 수행한 모든 데이터 전처리 내용 등을 빅데이터화할 수 있고, 빅데이터를 데이터베이스(150)에 저장할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 52에서, 컬럼의 속성 정보에 기반하여 선택된 컬럼의 타입을 판단할 수 있다. 예를 들어, 데이터 전처리 장치(100)는 컬럼의 타입이 숫자형인지 아니면 문자형인지 판단할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 53에서, 기존 데이터 전처리 정보에 기반하여 판단된 컬럼의 타입에서 사용 빈도가 높은 복수의 메뉴를 결정할 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 숫자형 컬럼에 사용 빈도가 높은 복수의 메뉴는 무효 값을 가진 칸의 값 지우기 기능을 나타내는 메뉴, 무효 값을 가진 칸이 있는 행 삭제 기능을 나타내는 메뉴, 무효 값을 가진 칸을 값으로 채우기 기능을 나타내는 메뉴, 숫자 비교 기능을 나타내는 메뉴, 및 더하기, 곱하기, 빼기 또는 나누기 기능을 나타내는 메뉴 등을 포함할 수 있다. 또한, 문자형 컬럼에 사용 빈도가 높은 복수의 메뉴는 빈 칸이 있는 행 삭제 기능을 나타내는 메뉴, 빈 칸을 텍스트로 채우기 기능을 나타내는 메뉴, 소문자로 변경 기능을 나타내는 메뉴, 대소 문자로 변경 기능을 나타내는 메뉴, 및 일치하는 칸 교체 기능을 나타내는 메뉴를 포함할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 54에서, 적어도 하나의 메뉴를 상기 사용 빈도가 높은 복수의 메뉴로 변경할 수 있다. 예를 들어,
도 7 은 본 발명의 일 실시 예에 따른 컬럼의 속성을 변경하는 방법을 설명하기 위한 흐름도이다. 도 8 은 본 발명의 일 실시 예에 따른 컬럼의 속성을 변경하는 방법을 설명하기 위한 예시도이다. 도 7의 동작들은 도 1의 마이크로 서비스를 이용한 데이터 전처리 장치(100)에 의해 수행될 수 있다.
도 7 및 도 8을 참조하면, 일 실시 예에서, 데이터 전처리 장치(100)는 동작 71에서, 컬럼을 변환하는 메뉴들을 호출하는 메뉴(84)를 선택하는 사용자의 제1 입력을 검출할 수 있다. 예를 들어, 데이터 전처리 장치(100)는 city 컬럼을 선택하는 사용자의 제1 입력을 검출할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 72에서, 사용자 제1 입력에 기반하여 컬럼의 상태를 변경하는 메뉴(81) 및 컬럼의 속성을 변경하는 메뉴(82, 83)를 표시할 수 있다. 예를 들어, 컬럼의 상태를 변경하는 메뉴(81)는 선택된 열의 복사본 만들기 기능을 나타내는 메뉴, 새로운 열 만들기 기능을 나타내는 메뉴, 열 삭제 기능을 나타내는 메뉴, 및 열 이름 변경 기능을 나타내는 메뉴를 포함할 수 있다. 또한, 컬럼의 속성을 변경하는 메뉴(82, 83)는 해당 데이터를 분류할 수 있는 선택 메뉴들(예: 도 8의 city 87.5% 등, TEXT로 설정 등)을 포함할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 73에서, 컬럼의 상태를 변경하는 메뉴(81) 및 컬럼의 속성을 변경하는 메뉴(82, 83) 중 적어도 하나를 선택하는 사용자의 제2 입력을 검출할 수 있다. 예를 들어, 데이터 전처리 장치(100)는 새로운 열 만들기를 선택하는 사용자의 제2 입력을 검출할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 74에서, 사용자의 제2 입력에 기반하여 컬럼의 상태 또는 컬럼의 속성을 변경할 수 있다. 예를 들어, 데이터 전처리 장치(100)는 새로운 열을 만들 수 있다.
도 9는 본 발명의 일 실시 예에 따른 컬럼의 데이터를 변환하는 방법을 설명하기 위한 흐름도이다. 도 10 은 본 발명의 일 실시 예에 따른 컬럼의 데이터를 변환하는 방법을 설명하기 위한 예시도이다. 도 9의 동작들은 도 1의 마이크로 서비스를 이용한 데이터 전처리 장치(100)에 의해 수행될 수 있다.
도 9 및 도 10을 참조하면, 일 실시 예에서, 데이터 전처리 장치(100)는 동작 91에서, 메뉴 영역(1002)에서 컬럼에 포함된 데이터의 정리와 관련된 적어도 하나의 메뉴를 선택하는 사용자 입력을 검출할 수 있다. 예를 들어, 데이터의 정리와 관련된 적어도 하나의 메뉴는 고급 문자열 처리에 속하는 후행 및 선행 문자 제거 기능을 나타내는 메뉴 등을 포함할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 92에서, 적어도 하나의 메뉴와 관련된 상세 조건을 나타내는 화면(1003)을 도 10과 같이 메뉴 영역과 별도의 레이어에서 표시할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 93에서, 상세 조건을 나타내는 화면에서 상세 조건에 대응하는 적어도 하나의 메뉴를 선택하는 사용자 입력이 검출되는 지 확인할 수 있다. 예를 들어, 상세 조건에 대응하는 적어도 하나의 메뉴는 공백일 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 94에서, 상세 조건을 나타내는 화면에서 상세 조건에 대응하는 적어도 하나의 메뉴를 선택하는 사용자 입력을 검출할 경우, 상세 조건에 기반하여 선택된 컬럼의 데이터를 변환할 수 있다. 예를 들어, 데이터 전처리 장치(100)는 first name 컬럼에서 공백이 있는 문자가 포함된 행을 확인할 수 있고, 공백을 삭제할 수 있고, 공백이 삭제된 first name 컬럼의 데이터를 다시 표시(1004)할 수 있다.
도 11 은 본 발명의 일 실시 예에 따른 2 개의 컬럼을 연결하는 방법을 설명하기 위한 흐름도이다. 도 12 는 본 발명의 일 실시 예에 따른 2 개의 컬럼을 연결하는 방법을 설명하기 위한 예시도이다. 도 11의 동작들은 도 1의 마이크로 서비스를 이용한 데이터 전처리 장치(100)에 의해 수행될 수 있다.
도 11 및 도 12를 참조하면, 일 실시 예에서, 데이터 전처리 장치(100)는 동작 1101에서, 서로 다른 데이터를 갖는 2 개의 컬럼을 연결하여 새로운 컬럼을 생성하는 데이터 결합 메뉴를 표시할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 1102에서, 데이터 결합 메뉴를 선택하는 사용자 입력을 검출할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 1103에서, 복수의 컬럼 중 2 개의 컬럼을 선택하는 사용자 입력을 검출할 수 있다. 예를 들어, 데이터 전처리 장치(100)는 integer 컬럼(1202)과 last name 컬럼(1203)을 선택하는 사용자 입력을 검출할 수 있다.
일 실시 예에서, 데이터 전처리 장치(100)는 동작 1104에서, 선택한 2개의 컬럼을 연결하여 새로운 컬럼을 생성할 수 있다. 예를 들어, 데이터 전처리 장치(100)는 integer 컬럼에 대응하는 데이터(1204)과 last name 컬럼에 대응하는 데이터(1205)를 이용하여 새로운 컬럼을 생성할 수 있다. 한편, 데이터 전처리 장치(100)는 별도의 영역(1206)에서 데이터 추가를 설명하는 내용을 표시할 수 있다.
본 발명의 다양한 실시 예에 따르면, 데이터 전처리를 실행하기 위한 사용자 인터페이스를 제공하는 마이크로 서비스를 이용한 데이터 전처리 장치는 상기 사용자 인터페이스를 통해 획득한 데이터 소스에서 로우 데이터(Raw Data)를 확인하고, 상기 로우 데이터 및 상기 로우 데이터로부터 가공된 전처리 데이터를 관리하는 데이터 저장부; 상기 로우 데이터를 상기 사용자 인터페이스와 연결된 기능에 따라 처리하는 데이터 전처리부; 상기 로우 데이터 및 상기 전처리 데이터 중 적어도 하나를 상기 사용자 인터페이스와 연결된 기능에 따라 변환 데이터로 변경하는 데이터 변환부; 및 웹 서비스를 통해 상기 사용자 인터페이스를 제공하는 웹 서비스부;를 포함하고, 상기 사용자 인터페이스는 상기 로우 데이터에 포함된 복수의 컬럼이 표시되는 데이터 표시 영역, 사용자의 입력에 기반하여 선택된 컬럼과 관련된 데이터 전처리 기능과 연결된 복수의 메뉴가 표시되는 메뉴 영역, 상기 선택된 컬럼의 데이터를 도식화(schematization)한 상세 데이터가 표시되는 상세 데이터 영역, 및 순차적으로 실행된 데이터 전처리 결과가 표시되는 히스토리 영역을 포함하고, 상기 데이터 전처리부는, 상기 확인된 로우 데이터를 분석함으로써 상기 복수의 컬럼, 컬럼의 속성 정보, 및 상세 데이터를 생성하고, 상기 웹 서비스를 통해 상기 데이터 표시 영역, 상기 메뉴 영역, 및 상기 상세 데이터 영역에 각각 상기 복수의 컬럼, 적어도 하나의 메뉴, 및 상기 상세 데이터를 표시하고, 상기 복수의 컬럼 중 어느 하나의 컬럼을 선택하는 사용자 입력을 검출할 경우, 상기 선택된 컬럼에 대응하는 상기 컬럼의 속성 정보에 따라, 상기 적어도 하나의 메뉴를 상기 선택된 어느 하나의 컬럼과 관련된 데이터 전처리 기능과 연결된 복수의 메뉴로 변경하고, 상기 복수의 메뉴 중 어느 하나의 메뉴를 선택하는 사용자 입력을 검출할 경우, 상기 선택된 어느 하나의 메뉴와 연결된 데이터 전처리 기능을 실행하고, 상기 실행된 데이터 전처리 기능에 따라 상기 선택된 컬럼의 데이터를 컬럼의 전처리 데이터로 변경하고, 및 상기 변경한 컬럼의 전처리 데이터를 상기 사용자 인터페이스에 표시할 수 있다.
다양한 실시 예에 따르면, 상기 데이터 전처리 장치는 데이터베이스를 더 포함하고, 상기 데이터베이스는 기존 데이터 전처리 정보를 데이터베이스화하여 저장하고, 상기 데이터 전처리부는, 상기 컬럼의 속성 정보에 기반하여 상기 선택된 컬럼의 타입을 판단하고, 상기 기존 데이터 전처리 정보에 기반하여 상기 판단된 컬럼의 타입에서 사용 빈도가 높은 복수의 메뉴를 결정하고, 및 상기 적어도 하나의 메뉴를 상기 사용 빈도가 높은 복수의 메뉴로 변경할 수 있다.
다양한 실시 예에 따르면, 상기 사용자 인터페이스는 상기 복수의 컬럼에 정상 값을 갖는 행이 포함되어 있다는 것을 나타내는 제1 아이콘, 결측값을 갖는 행이 포함되어 있다는 것을 나타내는 제2 아이콘, 및 이상값을 갖는 행이 포함되어 있다는 것을 나타내는 제3 아이콘이 포함된 데이터 품질 표시바를 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 사용자 인터페이스는 상기 복수의 컬럼의 데이터를 필터링하는 메뉴를 더 포함할 수 있다.
다양한 실시 예에 따르면, 상기 데이터 전처리부는, 상기 데이터 전처리 기능을 실행하기 이전에, 상기 선택된 컬럼에 포함되어 변경될 행 데이터를 하이라이트 표시하는 미리보기 기능을 실행할 수 있다.
다양한 실시 예에 따르면, 상기 데이터 전처리부는, 상기 변경한 컬럼의 전처리 데이터를 상기 사용자 인터페이스에 표시함과 동시에 상기 히스토리 영역에 데이터 전처리 결과를 표시할 수 있다.
다양한 실시 예에 따르면, 상기 사용자 인터페이스는 컬럼을 변환하는 메뉴들을 호출하는 메뉴, 컬럼의 상태를 변경하는 메뉴 및 컬럼의 속성을 변경하는 메뉴를 더 포함하고, 상기 데이터 변환부는, 상기 컬럼을 변환하는 메뉴들을 호출하는 메뉴를 선택하는 사용자의 제1 입력을 검출하고, 상기 사용자 제1 입력에 기반하여 상기 컬럼의 상태를 변경하는 메뉴 및 상기 컬럼의 속성을 변경하는 메뉴를 표시하고, 및 상기 컬럼의 상태를 변경하는 메뉴 및 상기 컬럼의 속성을 변경하는 메뉴 중 적어도 하나를 선택하는 사용자의 제2 입력을 검출할 경우, 상기 사용자의 제2 입력에 기반하여 컬럼의 상태 또는 컬럼의 속성을 변경할 수 있다.
다양한 실시 예에 따르면, 상기 데이터 변환부는, 상기 메뉴 영역에서 컬럼에 포함된 데이터의 정리와 관련된 적어도 하나의 메뉴를 선택하는 사용자 입력을 검출하고, 상기 적어도 하나의 메뉴와 관련된 상세 조건을 나타내는 화면을 상기 메뉴 영역과 별도의 레이어에서 표시하고, 상기 상세 조건을 나타내는 화면에서 상기 상세 조건에 대응하는 적어도 하나의 메뉴를 선택하는 사용자 입력을 검출할 경우, 상기 상세 조건에 기반하여 선택된 컬럼의 데이터를 변환할 수 있다.
다양한 실시 예에 따르면, 상기 데이터 변환부는, 서로 다른 데이터를 갖는 2 개의 컬럼을 연결하여 새로운 컬럼을 생성하는 데이터 결합 메뉴를 표시하고, 상기 데이터 결합 메뉴를 선택하는 사용자 입력을 검출하고, 상기 복수의 컬럼 중 2 개의 컬럼을 선택하는 사용자 입력을 검출하고, 및 상기 선택한 2개의 컬럼을 연결하여 새로운 컬럼을 생성할 수 있다.
다양한 실시 예에 따르면, 상기 데이터 전처리 장치는 API 관리부를 더 포함하고, 상기 데이터 전처리 장치는 상기 마이크로 서비스에 기반하여 상기 데이터 전처리부, 상기 데이터 변환부, 상기 데이터 저장부, 상기 웹 서비스부, 및 데이터베이스 중 적어도 하나 또는 그 하나의 일부를 추가, 교체, 또는 확장할 수 있다.
이상에서, 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 청구범위뿐만 아니라 이 청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (10)

  1. 데이터 전처리를 실행하기 위한 사용자 인터페이스를 제공하고 마이크로 서비스를 이용한 데이터 전처리 장치에 있어서,
    상기 사용자 인터페이스를 통해 획득한 데이터 소스에서 로우 데이터(Raw Data)를 확인하고, 상기 로우 데이터 및 상기 로우 데이터로부터 가공된 전처리 데이터를 관리하는 데이터 저장부;
    상기 로우 데이터를 상기 사용자 인터페이스와 연결된 기능에 따라 처리하는 데이터 전처리부;
    상기 로우 데이터 및 상기 전처리 데이터 중 적어도 하나를 상기 사용자 인터페이스와 연결된 기능에 따라 변환 데이터로 변경하는 데이터 변환부; 및
    웹 서비스를 통해 상기 사용자 인터페이스를 제공하는 웹 서비스부;를 포함하고,
    상기 사용자 인터페이스는 상기 로우 데이터에 포함된 복수의 컬럼이 표시되는 데이터 표시 영역, 사용자의 입력에 기반하여 선택된 컬럼과 관련된 데이터 전처리 기능과 연결된 복수의 메뉴가 표시되는 메뉴 영역, 상기 선택된 컬럼의 데이터를 도식화(schematization)한 상세 데이터가 표시되는 상세 데이터 영역, 및 순차적으로 실행된 데이터 전처리 결과가 표시되는 히스토리 영역을 포함하고,
    상기 데이터 전처리부는,
    상기 확인된 로우 데이터를 분석함으로써 상기 복수의 컬럼, 컬럼의 속성 정보, 및 상세 데이터를 생성하고,
    상기 웹 서비스를 통해 상기 데이터 표시 영역, 상기 메뉴 영역, 및 상기 상세 데이터 영역에 각각 상기 복수의 컬럼, 적어도 하나의 메뉴, 및 상기 상세 데이터를 표시하고,
    상기 복수의 컬럼 중 어느 하나의 컬럼을 선택하는 사용자 입력을 검출할 경우, 상기 선택된 컬럼에 대응하는 상기 컬럼의 속성 정보에 따라, 상기 적어도 하나의 메뉴를 상기 선택된 어느 하나의 컬럼과 관련된 데이터 전처리 기능과 연결된 복수의 메뉴로 변경하고,
    상기 복수의 메뉴 중 어느 하나의 메뉴를 선택하는 사용자 입력을 검출할 경우, 상기 선택된 어느 하나의 메뉴와 연결된 데이터 전처리 기능을 실행하고,
    상기 실행된 데이터 전처리 기능에 따라 상기 선택된 컬럼의 데이터를 컬럼의 전처리 데이터로 변경하고, 및
    상기 변경한 컬럼의 전처리 데이터를 상기 사용자 인터페이스에 표시하는 것을 특징으로 하는 마이크로 서비스를 이용한 데이터 전처리 장치. 
  2. 제1 항에 있어서, 상기 데이터 전처리 장치는 데이터베이스를 더 포함하고,
    상기 데이터베이스는 기존 데이터 전처리 정보를 데이터베이스화하여 저장하고,
    상기 데이터 전처리부는,
    상기 컬럼의 속성 정보에 기반하여 상기 선택된 컬럼의 타입을 판단하고,
    상기 기존 데이터 전처리 정보에 기반하여 상기 판단된 컬럼의 타입에서 사용 빈도가 높은 복수의 메뉴를 결정하고, 및
    상기 적어도 하나의 메뉴를 상기 사용 빈도가 높은 복수의 메뉴로 변경하는 것을 특징으로 하는 마이크로 서비스를 이용한 데이터 전처리 장치.
  3. 제1 항에 있어서,
    상기 사용자 인터페이스는 상기 복수의 컬럼에 정상 값을 갖는 행이 포함되어 있다는 것을 나타내는 제1 아이콘, 결측값을 갖는 행이 포함되어 있다는 것을 나타내는 제2 아이콘, 및 이상값을 갖는 행이 포함되어 있다는 것을 나타내는 제3 아이콘이 포함된 데이터 품질 표시바를 더 포함하는 것을 특징으로 하는 마이크로 서비스를 이용한 데이터 전처리 장치.
  4. 제1 항에 있어서,
    상기 사용자 인터페이스는 상기 복수의 컬럼의 데이터를 필터링하는 메뉴를 더 포함하는 것을 특징으로 하는 마이크로 서비스를 이용한 데이터 전처리 장치.
  5. 제1 항에 있어서, 상기 데이터 전처리부는,
    상기 데이터 전처리 기능을 실행하기 이전에, 상기 선택된 컬럼에 포함되어 변경될 행 데이터를 하이라이트 표시하는 미리보기 기능을 실행하는 것을 특징으로 하는 마이크로 서비스를 이용한 데이터 전처리 장치.
  6. 제1 항에 있어서, 상기 데이터 전처리부는,
    상기 변경한 컬럼의 전처리 데이터를 상기 사용자 인터페이스에 표시함과 동시에 상기 히스토리 영역에 데이터 전처리 결과를 표시하는 것을 특징으로 하는 마이크로 서비스를 이용한 데이터 전처리 장치.
  7. 제1 항에 있어서,
    상기 사용자 인터페이스는 컬럼을 변환하는 메뉴들을 호출하는 메뉴, 컬럼의 상태를 변경하는 메뉴 및 컬럼의 속성을 변경하는 메뉴를 더 포함하고,
    상기 데이터 변환부는,
    상기 컬럼을 변환하는 메뉴들을 호출하는 메뉴를 선택하는 사용자의 제1 입력을 검출하고,
    상기 사용자 제1 입력에 기반하여 상기 컬럼의 상태를 변경하는 메뉴 및 상기 컬럼의 속성을 변경하는 메뉴를 표시하고, 및
    상기 컬럼의 상태를 변경하는 메뉴 및 상기 컬럼의 속성을 변경하는 메뉴 중 적어도 하나를 선택하는 사용자의 제2 입력을 검출할 경우, 상기 사용자의 제2 입력에 기반하여 컬럼의 상태 또는 컬럼의 속성을 변경하는 것을 특징으로 하는 마이크로 서비스를 이용한 데이터 전처리 장치.
  8. 제1 항에 있어서, 상기 데이터 변환부는,
    상기 메뉴 영역에서 컬럼에 포함된 데이터의 정리와 관련된 적어도 하나의 메뉴를 선택하는 사용자 입력을 검출하고,
    상기 적어도 하나의 메뉴와 관련된 상세 조건을 나타내는 화면을 상기 메뉴 영역과 별도의 레이어에서 표시하고,
    상기 상세 조건을 나타내는 화면에서 상기 상세 조건에 대응하는 적어도 하나의 메뉴를 선택하는 사용자 입력을 검출할 경우, 상기 상세 조건에 기반하여 선택된 컬럼의 데이터를 변환하는 것을 특징으로 하는 마이크로 서비스를 이용한 데이터 전처리 장치.
  9. 제1 항에 있어서, 상기 데이터 변환부는,
    서로 다른 데이터를 갖는 2 개의 컬럼을 연결하여 새로운 컬럼을 생성하는 데이터 결합 메뉴를 표시하고,
    상기 데이터 결합 메뉴를 선택하는 사용자 입력을 검출하고,
    상기 복수의 컬럼 중 2 개의 컬럼을 선택하는 사용자 입력을 검출하고, 및
    상기 선택한 2개의 컬럼을 연결하여 새로운 컬럼을 생성하는 것을 특징으로 하는 마이크로 서비스를 이용한 데이터 전처리 장치.
  10. 제1 항에 있어서,
    상기 데이터 전처리 장치는 API 관리부를 더 포함하고,
    상기 데이터 전처리 장치는 상기 마이크로 서비스에 기반하여 상기 데이터 전처리부, 상기 데이터 변환부, 상기 데이터 저장부, 상기 웹 서비스부, 및 데이터베이스 중 적어도 하나 또는 그 하나의 일부를 추가, 교체, 또는 확장하는 것을 특징으로 하는 마이크로 서비스를 이용한 데이터 전처리 장치.
KR1020180119599A 2018-10-08 2018-10-08 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법 KR102099362B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180119599A KR102099362B1 (ko) 2018-10-08 2018-10-08 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180119599A KR102099362B1 (ko) 2018-10-08 2018-10-08 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102099362B1 true KR102099362B1 (ko) 2020-04-09

Family

ID=70275908

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180119599A KR102099362B1 (ko) 2018-10-08 2018-10-08 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102099362B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220074548A (ko) * 2020-11-27 2022-06-03 이화여자대학교 산학협력단 센서 데이터의 누락값 보정 방법 및 누락값 보정 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130027767A (ko) * 2011-09-08 2013-03-18 (주)이맥스 데이터베이스와 연동되는 프로그램을 제어하는 서비스 제공 방법 및 시스템
KR101758870B1 (ko) * 2017-02-13 2017-07-18 주식회사 온더 마이닝 관리 시스템 및 이를 이용한 마이닝 관리 방법
KR20180070917A (ko) * 2016-12-19 2018-06-27 안광세 데이터 처리 방법 및 장치
KR20180078994A (ko) * 2016-12-30 2018-07-10 주식회사 포스코아이씨티 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템 및 인터페이스 미들웨어 시스템의 데이터 수집 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130027767A (ko) * 2011-09-08 2013-03-18 (주)이맥스 데이터베이스와 연동되는 프로그램을 제어하는 서비스 제공 방법 및 시스템
KR20180070917A (ko) * 2016-12-19 2018-06-27 안광세 데이터 처리 방법 및 장치
KR20180078994A (ko) * 2016-12-30 2018-07-10 주식회사 포스코아이씨티 대량의 데이터 수집을 위한 인터페이스 미들웨어 시스템 및 인터페이스 미들웨어 시스템의 데이터 수집 방법
KR101758870B1 (ko) * 2017-02-13 2017-07-18 주식회사 온더 마이닝 관리 시스템 및 이를 이용한 마이닝 관리 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220074548A (ko) * 2020-11-27 2022-06-03 이화여자대학교 산학협력단 센서 데이터의 누락값 보정 방법 및 누락값 보정 장치
KR102531742B1 (ko) 2020-11-27 2023-05-11 이화여자대학교 산학협력단 센서 데이터의 누락값 보정 방법 및 누락값 보정 장치

Similar Documents

Publication Publication Date Title
US9817991B2 (en) System and method for a cloud based solution to track notes against business records
US11966312B2 (en) Operation logs visualization device, operation logs visualization method and operation logs visualization program
CN107273104B (zh) 一种配置数据结构的处理方法及装置
US10175954B2 (en) Method of processing big data, including arranging icons in a workflow GUI by a user, checking process availability and syntax, converting the workflow into execution code, monitoring the workflow, and displaying associated information
US11880323B2 (en) System and method for building and implementing automated workflows
CN113688288B (zh) 数据关联分析方法、装置、计算机设备和存储介质
US10296376B2 (en) Planning for manufacturing environments
CN111782651A (zh) 数据关联关系的可视化编辑方法、装置、设备及存储介质
US20200204458A1 (en) Terminal device, ui expansion method, and ui expansion program
CN115495069A (zh) 基于模型驱动的煤炭工业软件流程实现方法、装置及设备
CN114185750A (zh) 流程监控方法、装置、设备及存储介质
KR102099362B1 (ko) 마이크로 서비스를 이용한 데이터 전처리 장치 및 방법
KR20150110063A (ko) 빅데이터 처리를 위한 맵리듀스를 통합하는 장치 및 방법
JP7380858B2 (ja) 表示制御装置および表示制御方法
CN115469849B (zh) 一种业务处理系统、方法、电子设备和存储介质
CN114757157B (zh) 用于生成航空器工包的方法、装置、设备和介质
CN113138760B (zh) 一种页面生成方法、装置、电子设备和介质
US20210109894A1 (en) Automated customized modeling of datasets with intuitive user interfaces
US11061664B2 (en) Code management system and code management method
JP6422346B2 (ja) プログラム生成装置、及び、プログラム生成方法
CN115686317A (zh) 一种业务数据处理方法、装置、电子设备和存储介质
KR101698422B1 (ko) Iwod를 사용한 프로세스 맵 설계 장치 및 방법
US10515330B2 (en) Real time visibility of process lifecycle
US20130265326A1 (en) Discovering a reporting model from an existing reporting environment
CN115756235A (zh) 节点配置界面展示方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
GRNT Written decision to grant