KR102300938B1 - 데이터 적재 방법 및 이를 위한 전자 장치 - Google Patents

데이터 적재 방법 및 이를 위한 전자 장치 Download PDF

Info

Publication number
KR102300938B1
KR102300938B1 KR1020200184925A KR20200184925A KR102300938B1 KR 102300938 B1 KR102300938 B1 KR 102300938B1 KR 1020200184925 A KR1020200184925 A KR 1020200184925A KR 20200184925 A KR20200184925 A KR 20200184925A KR 102300938 B1 KR102300938 B1 KR 102300938B1
Authority
KR
South Korea
Prior art keywords
data
topic
loaded
message
information
Prior art date
Application number
KR1020200184925A
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 KR1020200184925A priority Critical patent/KR102300938B1/ko
Priority to PCT/KR2020/019457 priority patent/WO2022145543A1/ko
Priority to JP2021005710A priority patent/JP6914579B1/ja
Priority to US17/153,268 priority patent/US11360985B1/en
Priority to TW110105442A priority patent/TW202226010A/zh
Priority to KR1020210117484A priority patent/KR102627199B1/ko
Application granted granted Critical
Publication of KR102300938B1 publication Critical patent/KR102300938B1/ko
Priority to US17/662,986 priority patent/US11734284B2/en
Priority to KR1020240006547A priority patent/KR20240013821A/ko

Links

Images

Classifications

    • 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
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 개시는 사용자로부터 분산 메시징 시스템의 토픽에 관한 검색어 획득에 대응하여 복수의 토픽 중에서 검색어에 대응되는 토픽을 확인하고, 토픽에 적재된 메시지의 하나 이상의 필드를 포함하는 데이터 포맷을 확인한 후, 확인된 데이터 포맷 및 독출된 메시지에 기초하여 생성된 데이터를 데이터 레이크에 적재하는, 데이터 적재 방법에 관한 것이다.

Description

데이터 적재 방법 및 이를 위한 전자 장치{METHOD FOR LOADING DATA AND ELECTRONIC APPARATUS THEREFOR}
본 개시는 분산 메시징 시스템의 데이터를 적재하는 방법 및 이를 위한 전자 장치에 관한 것이다.
최근 IT 기술의 발달로 인해 기업 내에 트래픽과 인터넷 사용 등이 증가하면서 많은 양의 데이터가 생산되고 소비되고 있다. 이에 기하급수적으로 늘어나는 트래픽 및 이벤트 로그를 처리할 수 있는 메시징 시스템과 많은 양의 데이터를 적재하고 관리할 수 있는 데이터 관리 시스템에 대한 수요가 증가하는 추세이다.
선행문헌 : 한국 공개특허공보 10-2019-0011353
한편, 아파치 카프카(Apache KAFKA)는 대용량 실시간 로그 처리 시스템으로서, 발행/구독(Publish/Subscribe) 패러다임을 사용하는 분산 메시징 시스템이다. 아파치 카프카는 링크드인(LinkedIn)에서 개발된 시스템으로써 2011년에 오픈소스로 공개되었으며, 대용량의 실시간 로그 처리에 특화된 아키텍처를 포함하는 것이 특징이다.
데이터 레이크(data lake)는 데이터 종류(예를 들어, 정형/비정형)와 모델에 상관없이 모든 유형의 데이터를 저장할 수 있는 데이터 적재 공간을 의미한다. 기존의 데이터 웨어하우스(data warehouse)는 구조적 정형 데이터만 적재할 수 있었으나, 데이터 레이크는 비정형 데이터를 포함한 모든 데이터를 적재할 수 있으므로, 다양한 형태로 대량화되고 있는 기업의 데이터들을 효율적으로 처리할 수 있다.
따라서, 기업의 데이터를 효율적으로 관리하고 처리하기 위해서는, 분산 메시징 시스템 및 데이터 레이크를 활용하는 방안이 대두되고 있으며, 구체적으로 분산 메시징 시스템의 메시지에 기초하여 생성된 데이터를 데이터 레이크에 효율적으로 적재하는 방법이 요구된다.
개시된 실시예들은 전자 장치 및 그의 동작 방법을 개시하고자 한다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
제1 실시예에 따라, 전자 장치에서 분산 메시징 시스템의 데이터를 적재하는 방법은, 사용자로부터 분산 메시징 시스템의 토픽에 관한 검색어 획득에 대응하여 복수의 토픽 중에서 상기 검색어에 대응되는 토픽을 확인하는 단계, 상기 확인된 토픽에 적재된 메시지의 데이터 필드 목록을 표시하는 단계, 상기 데이터 필드 목록에 포함된 데이터 필드 중 상기 사용자로부터 획득된 하나 이상의 데이터 필드에 대한 선택 정보를 기반으로, 선택된 하나 이상의 데이터 필드를 포함하는 데이터 적재 포맷을 확인하는 단계, 상기 확인된 토픽에 적재된 메시지를 독출하는 단계 및 상기 확인된 데이터 적재 포맷에 기초하여, 상기 독출된 메시지에 관한 데이터를 데이터 레이크에 적재하는 단계를 포함할 수 있다.
제2 실시예에 따라, 분산 메시징 시스템의 데이터를 적재하기 위한 전자 장치는, 적어도 하나의 명령어를 저장하는 메모리; 및 상기 적어도 하나의 명령어를 실행하여, 사용자로부터 분산 메시징 시스템의 토픽에 관한 검색어 획득에 대응하여 복수의 토픽 중에서 상기 검색어에 대응되는 토픽을 확인하고, 상기 확인된 토픽에 적재된 메시지의 데이터 필드 목록을 표시하고, 상기 데이터 필드 목록에 포함된 데이터 필드 중 상기 사용자로부터 획득된 하나 이상의 데이터 필드에 대한 선택 정보를 기반으로 선택된 하나 이상의 데이터 필드를 포함하는 데이터 적재 포맷을 확인하고, 상기 확인된 토픽에 적재된 메시지를 독출하고, 상기 확인된 데이터 적재 포맷에 기초하여, 상기 독출된 메시지에 관한 데이터를 데이터 레이크(data lake)에 적재하는 프로세서를 포함할 수 있다.
제3 실시예에 따라, 컴퓨터로 읽을 수 있는 기록매체는 상술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 비일시적 기록매체를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 개시에 따른 전자 장치는 사용자가 분산 메시징 시스템의 메시지에서 필요한 데이터 필드를 선택하여 소정의 독출 주기에 따라 데이터를 생성하고, 생성된 데이터를 데이터 레이크에 적재할 수 있으므로, 사용자가 데이터를 쉽게 가공하고 데이터 레이크에 적재할 수 있는 효과가 있다. 또한, 적재된 데이터를 여러 형태로 제공할 수 있어 데이터 분석을 위한 시간을 절감할 수 있는 효과가 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 카프카 시스템을 나타낸다.
도 2는 일 실시예에 따른 전자 장치에 의해 제공되는 사용자 인터페이스를 설명하기 위한 도면이다.
도 3은 토픽을 추천하는 일 실시예를 설명하기 위한 도면이다.
도 4는 최근 검색 이력을 표시하는 일 실시예를 설명하기 위한 도면이다.
도 5는 최근 선택된 데이터 필드에 관한 이력을 표시하는 일 실시예를 설명하기 위한 도면이다.
도 6은 데이터 레이크에 적재된 데이터에 관한 정보를 제공하는 제1 실시예를 설명하기 위한 도면이다.
도 7은 데이터 레이크에 적재된 데이터에 관한 정보를 제공하는 제2 실시예를 설명하기 위한 도면이다.
도 8은 데이터 레이크에 적재된 데이터에 관한 정보를 제공하는 제3 실시예를 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 분산 메시징 시스템의 데이터를 적재하는 방법을 설명하기 위한 흐름도이다.
도 10은 다른 실시예에 따른 분산 메시징 시스템의 데이터를 적재하는 방법을 설명하기 위한 흐름도이다.
도 11은 일 실시예에 따른 전자 장치의 블록도를 나타낸다.
실시예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "..부", "..모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 'a, b, c 모두'를 포괄할 수 있다.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 개시의 실시예들을 상세히 설명한다.
도 1은 일 실시예에 따른 카프카 시스템을 나타낸다.
도 1을 참조하면, 카프카 시스템(100)은 발행-구독(publish-subscribe) 모델을 기반으로 동작하며, 메시지 발행자(110), 브로커(120) 및 구독자(130)를 포함할 수 있다. 한편 실시예에서 카프카 시스템(100)을 기준으로 전자 장치의 동작 방법에 대해서 설명하고 있으나, 개시된 방법은 발행-구독 모델 기반인 분산 메시징 시스템에서 공통적으로 적용될 수 있다.
메시지 발행자(110)는 이벤트가 발생하면 이벤트에 관한 카프카 메시지를 발행하여 브로커(120)에 전송할 수 있다. 이때, 카프카 메시지는 하나 이상의 데이터 필드 값을 포함할 수 있으며, 둘 이상의 카프카 메시지들은 서로 다른 데이터 필드 값을 포함할 수 있다. 예를 들어, '고객의 물품 주문'과 같은 이벤트가 발생하는 경우, 제1 메시지 발행자(111)는 '고객의 물품 주문'에 관한 카프카 메시지를 발행할 수 있고, 이때 발행되는 카프카 메시지는 주문 고객의 ID, 주문 상품, 주문 날짜, 배송지 정보에 관한 데이터 필드 값을 포함할 수 있다. 여기서, 카프카 메시지의 데이터 필드는 메시지 발행자(110) 및 해당 토픽을 구독하는 구독자(130) 간의 협의를 통해 결정될 수 있다.
한편, 브로커(120)는 메시지 발행자(110)에 의해 발행된 카프카 메시지들을 토픽(topic) 별로 분류하여 적재하고 관리할 수 있다. 카프카 메시지는 하나의 토픽에 대응될 수 있다. 따라서, 카프카 메시지는 대응하는 토픽에 적재될 수 있다. 예를 들어, 도 1의 제1 카프카 메시지는 제1 토픽과 대응되는 메시지일 수 있고, 제2 카프카 메시지는 제2 토픽과 대응되는 메시지일 수 있다. 이러한 경우, 제1 카프카 메시지는 제1 메시지 발행자(111)에 의해 발행된 이후, 브로커(120)의 제1 토픽에 적재될 수 있고, 제2 카프카 메시지는 제3 메시지 발행자(113)에 의해 발행된 이후, 브로커(120)의 제2 토픽에 적재될 수 있다.
이후 해당 토픽을 구독하는 구독자(130)는 브로커(120)의 토픽으로부터 카프카 메시지를 독출(read)할 수 있고, 독출된 카프카 메시지를 처리할 수 있다. 이때 하나의 토픽을 구독하는 구독자(130)는 다수일 수 있다.
한편, 메시지 발행자(110)는 카프카 메시지를 발행한 후 발행 사실을 통지할 수 있다. 이때, 구독자(130)는 통지 내용을 확인한 후, 해당 토픽의 구독 여부를 결정할 수 있다. 이후 카프카 메시지가 발행되어 해당 토픽에 적재되면, 구독자들은 해당 토픽에 적재된 카프카 메시지를 독출할 수 있다.
카프카 시스템(100)은 확장성(scale-out)과 고가용성(high availability)을 위하여 브로커(120)가 클러스터로 구성되어 동작하도록 설계되어 있다. 이때 브로커(120)는 1개만 있는 경우에도 클러스터로써 동작할 수 있다. 카프카 시스템(100)은 상술한 이점을 가지며, 플랫폼 간에 데이터를 송수신하는 데 유용한 소프트웨어로서, 현재 많은 수의 기업에서 사용되고 있다.
카프카 시스템(100)은 이벤트가 발생할 때마다 휘발성의 카프카 메시지를 발행하기 때문에, 발행된 카프카 메시지에 포함된 대용량의 데이터를 관리하는 방법이 요구된다.
한편, 데이터베이스를 통해 대용량의 데이터를 관리하면, 데이터가 필요할 때마다 쿼리 과정을 거쳐야 하므로, 연산 복잡도가 증가하는 문제가 발생할 수 있다. 따라서, 데이터 종류에 상관없이 모든 유형의 데이터를 저장할 수 있는 데이터 레이크를 기반으로 하는 데이터 관리 시스템에서, 카프카 시스템과 같은 분산 메시징 시스템의 메시지를 가공하여 획득할 수 있는 데이터를 효율적으로 적재할 수 있는 방법이 요구된다.
한편 실시예에서 카프카 시스템의 경우 해당 토픽에 대한 구독자가 데이터를 소비할 수 있으므로, 구독자가 아닌 사용자가 데이터에 접근하는 것이 어려울 수 있다. 그러나, 데이터 레이크의 경우 비교적 사용자들의 데이터에 대한 접근이 용이하므로, 본 명세서의 실시예에 따라 카프카 시스템에서 데이터 레이크로 적재된 데이터의 접근 편의성이 향상된다.
도 2는 일 실시예에 따른 전자 장치에 의해 제공되는 사용자 인터페이스를 설명하기 위한 도면이다.
본 개시의 일 실시예에 따른 분산 메시징 시스템의 데이터를 적재하기 위한 전자 장치는 도 2에 도시된 사용자 인터페이스(200)를 사용자 단말에 제공할 수 있다. 여기서 사용자 단말은 카프카 시스템(100)의 특정 토픽을 구독하고자 하는 구독자의 단말로 정의될 수 있고, 분산 메시징 시스템의 데이터를 가공하여 데이터 레이크에 적재하고자하는 사용자의 단말일 수 있다.
사용자 인터페이스(200)는 사용자들이 토픽에 관한 검색어를 입력하면, 검색어와 대응하는 토픽을 확인(또는 검색)하고, 확인된 토픽에 적재되는 메시지의 데이터 필드 중 일부 필드를 선택하여 데이터 적재 포맷을 확인할 수 있도록 한다. 그 이후에 확인된 토픽에 적재된 카프카 메시지를 독출하고 데이터 적재 포맷에 맞춰 가공한 후, 데이터 레이크에 적재할 수 있도록 한다. 실시예에서 데이터 적재 포맷은 카프카 메시지에 포함된 데이터 필드 값 중 데이터 레이크에 적재될 필드 값들을 선택한 정보를 포함할 수 있다. 일 예로 전자 장치는 카프카 메시지 중 데이터 적재 포맷에 따라 선택된 일부 필드에 대응하는 필드 값을 데이터 레이크에 적재할 수 있다.
도 2를 참고하면, 사용자 인터페이스(200)는 사용자로부터 토픽에 대한 검색어에 관한 입력을 수신할 수 있는 영역(210)을 제공할 수 있다. 사용자가 검색어를 입력한 후, 검색 버튼을 누르면 사용자 인터페이스(200)는 검색어와 대응하는 토픽이 있는지 확인할 수 있다. 또한, 사용자 인터페이스(200)는 확인 결과를 화면에 표시할 수 있다.
또한, 사용자 인터페이스(200)는 확인된 토픽에 적재되는 카프카 메시지의 데이터 필드 목록(220)을 표시할 수 있다. 또한, 목록(220)에 포함된 데이터 필드 중에서, 일부에 대하여 사용자로부터 선택 정보가 수신되면, 선택된 데이터 필드들의 목록(230)을 표시할 수 있다.
한편, 사용자가 저장 버튼을 누르면 선택된 데이터 필드를 포함하는 데이터 적재 포맷이 저장될 수 있다. 그리고, 사용자의 독출 주기(또는 데이터 사이클)에 관한 신호가 수신되면, 앞으로 해당 토픽에 적재되는 카프카 메시지들을 수신된 독출 주기에 따라 자동으로 독출하고, 저장된 데이터 적재 포맷에 따라 선택된 데이터 필드를 포함하는 데이터가 생성될 수 있다. 이렇게 생성된 데이터는 데이터 레이크에 적재될 수 있다.
한편 도 2에 도시된 데이터 필드 및 독출 주기는 일 예시일 뿐이며 시스템의 구현 내용에 따라 변경될 수 있음은 해당 기술분야의 통상의 기술자에게 자명하다.
도 3은 토픽을 추천하는 일 실시예를 설명하기 위한 도면이다.
일 실시예에 따르면, 사용자 인터페이스(300)는 사용자에 의해 입력된 검색어와 대응되는 토픽이 존재하지 않을 경우, 이러한 사실을 알리는 메시지를 표시하고, 브로커(120)에 존재하는 토픽 중에서 일부 토픽을 추천하는 토픽으로 표시할 수 있다. 구체적으로, 본 개시의 방법은 사용자에 의해 입력된 검색어와 80% 이상의 유사도를 갖는 토픽이 존재하면, 해당 토픽을 확인(또는 검색)된 토픽으로 표시할 수 있다. 또한, 유사도가 소정의 임계값 미만이면, 검색어와 대응되는 토픽이 존재하지 않는다고 판단될 수 있다.
도 3을 참고하면, 사용자는 추천 토픽 목록에서 하나 이상의 토픽을 선택할 수 있으며, 사용자 인터페이스(200)는 선택된 토픽에 적재되는 카프카 메시지의 데이터 필드 목록을 표시할 수 있다.
한편, 검색어와 대응하는 토픽 간의 유사도가 80% 이상인 것으로 기재되었으나, 유사도 수치는 이에 제한되지 않는다.
도 4는 최근 검색 이력을 표시하는 일 실시예를 설명하기 위한 도면이다.
일 실시예에 따르면, 사용자 인터페이스(400)는 사용자에 의해 최근 소정의 시간 이내에 확인(또는 검색)된 토픽에 관한 정보를 제공할 수 있다.
도 4를 참고하면, 사용자는 검색 이력을 조회할 기간을 설정할 수 있다. 예를 들어, 사용자는 검색 이력을 조회할 기간을 1개월, 1주, 1일 중 하나로 선택할 수 있고, 기간 설정 메뉴를 통해 직접 조회 기간을 입력할 수 있다. 한편, 조회 기간에 대한 사용자 입력 없이 기설정된 조회 기간 내의 검색 이력을 제공할 수도 있다.
이후, 사용자 인터페이스(400)는 조회 기간에 따른, 조회 결과를 표시할 수 있다. 이때, 검색 이력은 각 토픽이 검색된 날짜 및 시간에 관한 정보를 함께 표시할 수 있다. 여기서, 사용자는 조회 결과의 토픽 중에서 하나 이상의 토픽을 선택할 수 있으며, 사용자 인터페이스(200)는 선택된 토픽에 적재된 카프카 메시지의 데이터 필드 목록을 표시할 수 있다.
도 5는 최근 선택된 데이터 필드에 관한 이력을 표시하는 일 실시예를 설명하기 위한 도면이다.
일 실시예에 따르면, 사용자 인터페이스(500)는 사용자에 의해 최근 소정의 시간 이내에 선택된 데이터 필드에 관한 정보를 제공할 수 있다.
도 5를 참고하면, 사용자는 검색 이력을 조회할 기간을 설정할 수 있다. 한편, 조회 기간에 대한 사용자 입력 없이 기설정된 조회 기간 내의 검색 이력을 제공할 수도 있다.
이후, 사용자 인터페이스(500)는 조회 기간에 따른, 선택된 데이터 필드의 이력을 표시할 수 있다. 도 5를 참고하면, 2020년 12월 20일에 검색된 토픽에 적재된 카프카 메시지(order_complete)의 데이터 필드 중, 선택되었던 4개의 데이터 필드(locationType, watcheruserID, workeruserID, workerPhone)와 함께 이에 대한 사용자 입력을 수신할 수 있는 영역(510)을 제공할 수 있다. 이때, 사용자가 데이터 필드 locationType를 선택한 경우, 사용자 인터페이스(200)는 선택된 데이터 필드에 locationType를 추가할 수 있다.
만약, 사용자 인터페이스(200)에서 검색된 토픽에 적재된 카프카 메시지에 도 5의 사용자 인터페이스(500)에서 선택된 데이터 필드(도 5의 locationType)의 필드 값이 존재하지 않는 경우, 사용자 인터페이스(200)는 해당 데이터 필드(도 5의 locationType)의 필드 값이 검색된 토픽에 적재된 카프카 메시지에는 존재하지 않음을 알리는 메시지를 추가로 표시할 수 있다. 또한 다른 실시예에서, 사용자 인터페이스(500)는 조회된 데이터 필드 중에서, 도 2의 사용자 인터페이스(200)에서 검색된 토픽에 적재된 카프카 메시지에 존재하지 않는 데이터 필드 값에 대한 데이터 필드는 사용자가 선택할 수 없도록 버튼을 잠금 처리할 수 있다.
한편, 도 3 내지 도 5의 사용자 인터페이스(300 내지 500)는 도 2의 사용자 인터페이스(200)의 팝업 형태로 표시될 수 있고, 도 2의 사용자 인터페이스(200)의 일 영역에 표시될 수 있으나, 표시 방법은 이에 제한되지 않는다.
도 6은 데이터 레이크에 적재된 데이터에 관한 정보를 제공하는 제1 실시예를 설명하기 위한 도면이다.
일 실시예에 따르면, 사용자 인터페이스(600)는 데이터 레이크에 적재된 데이터를 테이블 형태로 표시할 수 있다.
도 6을 참고하면, 사용자에 의해 선택된 데이터 필드(locationType, watcherUserID, workerUserID, workerName 및 workerPhone)의 값을 포함하는 데이터가 데이터 레이크에 적재될 수 있다. 도 6에 도시된 데이터는 사용자에 의해 선택된 독출 주기에 따라 독출된 카프카 메시지를 가공하여 생성된 것일 수 있다.
또한, 사용자 인터페이스(600)는 데이터 레이크에 적재된 데이터를 다른 애플리케이션에서 실행 가능한 형태로 내보내는 기능을 제공할 수 있다. 도 6을 참고하면, 사용자 인터페이스(600)는 엑셀 내보내기 버튼을 표시하고, 사용자의 입력에 기초하여 데이터 레이크에 적재된 데이터를 엑셀 파일로 추출할 수 있다.
한편, 도 6은 엑셀 파일 형식으로 데이터를 내보내는 기능을 예로 들어 설명하였으나, 내보내기 기능은 이에 제한되지 않으며 다양한 애플리케이션에서 실행 가능한 형태일 수 있음은 해당 기술분야의 통상의 기술자에게 자명하다.
도 7은 데이터 레이크에 적재된 데이터에 관한 정보를 제공하는 제2 실시예를 설명하기 위한 도면이다.
일 실시예 따르면, 사용자 인터페이스(700)는 데이터 레이크에 적재된 데이터를 그리드 형태로 제공할 수 있다.
도 7을 참고하면, 사용자 인터페이스(700)는 데이터 레이크에 적재된 데이터 중에서, 데이터 필드 locationType의 값이 camp_A로 동일한 데이터들을 그리드 형태로 제공할 수 있다. 이때, 각 데이터는 키 값으로 식별될 수 있다. 그리고 각 데이터들은 데이터 필드 값이 동일한 데이터들과 서로 연결될 수 있다. 예를 들어, 키 값이 ABF5인 데이터와 키 값이 ABC2인 데이터는 데이터 필드 watcherUserID의 값이 동일한 데이터일 수 있다.
이때 그리드 형태로 표시되는 데이터는 동일한 토픽에 적재된 카프카 메시지에 기초하여 생성된 데이터일 수 있고, 동일한 데이터 필드의 필드 값을 포함한 서로 상이한 토픽에 적재된 카프카 메시지에 기초하여 생성된 데이터일 수 있다.
도 8은 데이터 레이크에 적재된 데이터에 관한 정보를 제공하는 제3 실시예를 설명하기 위한 도면이다.
일 실시예 따르면, 사용자 인터페이스(800)는 데이터 레이크에 적재된 데이터를 그래픽 형태로 제공할 수 있다.
예를 들어, 본 개시의 방법은 주문 관련 토픽에 적재된 카프카 메시지를 독출하여, 주문 관련 데이터를 생성할 수 있다. 또한, 생성된 데이터를 데이터 레이크에 적재할 수 있다. 이러한 경우, 본 개시의 방법은 주문 관련 데이터에 포함된 주문 시간에 기초하여, 도 8의 사용자 인터페이스(800)와 같이 주문 시간의 비율을 그래프화하여 사용자에게 제공할 수 있다.
한편, 사용자 인터페이스(800)는 도 8에 기재된 그래프 종류 이외에서 막대 그래프, 선 그래프 등 데이터 종류에 따라 상이한 그래프 형태로 데이터를 표시할 수 있다.
또한, 도 6 내지 도 8의 사용자 인터페이스(600 내지 800)는 도 2의 사용자 인터페이스(200)의 팝업 형태로 표시될 수 있고, 도 2의 사용자 인터페이스(200)의 일 영역에 표시될 수 있으나, 표시 방법은 이에 제한되지 않는다.
도 9는 일 실시예에 따른 분산 메시징 시스템의 데이터를 적재하는 방법을 설명하기 위한 흐름도이다.
단계 S910에서, 본 개시의 방법은 사용자로부터 분산 메시징 시스템의 토픽에 관한 검색어 획득에 대응하여 복수의 토픽 중에서 상기 검색어에 대응되는 토픽을 확인할 수 있다.
단계 S920에서, 본 개시의 방법은 상기 확인된 토픽에 적재된 메시지의 데이터 필드 목록을 표시할 수 있다.
단계 S930에서, 본 개시의 방법은 상기 데이터 필드 목록에 포함된 데이터 필드 중 상기 사용자로부터 획득된 하나 이상의 데이터 필드에 대한 선택 정보를 기반으로, 선택된 하나 이상의 데이터 필드를 포함하는 데이터 적재 포맷을 확인할 수 있다.
단계 S940에서, 본 개시의 방법은 상기 확인된 토픽에 적재된 메시지를 독출(read)할 수 있다.
한편, 본 개시의 방법은 사용자로부터 독출 주기에 관한 선택 신호를 수신하는 단계를 더 포함할 수 있다. 이러한 경우, 단계 S940은 상기 독출 주기에 관한 선택 신호가 수신된 이후, 상기 독출 주기에 따라 자동으로 상기 메시지를 독출하는 단계일 수 있다.
단계 S950에서, 본 개시의 방법은 상기 확인된 데이터 구조에 기초하여, 상기 독출된 메시지에 관한 데이터를 데이터 레이크(data lake)에 적재할 수 있다.
한편, 본 개시의 방법은 상기 검색어에 대응되는 토픽의 확인 결과를 표시하는 단계를 더 포함할 수 있다.
또한, 본 개시의 방법은 상기 검색어에 대응되는 토픽의 확인 결과에 추가하여, 상기 검색어에 기초하여 하나 이상의 토픽을 추천하는 단계를 더 포함할 수 있다.
한편, 본 개시의 방법은 상기 데이터 레이크에 적재된 데이터를 테이블 형태로 표시하는 단계를 더 포함할 수 있다.
또한, 본 개시의 방법은 상기 데이터 레이크에 적재된 데이터를 그리드 형태 및 그래픽 형태 중 적어도 하나로 표시하는 단계를 더 포함할 수 있다.
한편, 본 개시의 방법은 상기 데이터 레이크에 적재된 데이터를 다른 애플리케이션에서 실행 가능한 형태로 내보내는 단계를 더 포함할 수 있다.
또한, 본 개시의 방법은 최근 소정의 시간 이전에 저장된 데이터 적재 포맷에 관한 정보를 제공하는 단계를 더 포함할 수 있다.
그리고, 본 개시의 방법은 최근 소정의 시간 이전에 상기 데이터 레이크에 적재된 데이터에 관한 정보를 제공하는 단계를 더 포함할 수 있다.
또한, 본 개시의 방법은 최근 소정의 시간 이전에 확인된 토픽에 관한 정보를 제공하는 단계를 더 포함할 수 있다.
한편, 상기 메시지는 이벤트 정보가 수신되는 것에 응답하여 발행되고, 대응하는 토픽에 적재된 것일 수 있다.
또한, 본 개시의 방법에서 상기 메시지의 발행 사실을 통지하는 단계를 더 포함하고, 상기 메시지는 상기 대응하는 토픽을 구독하는 구독자가 상기 통지를 수신한 후 독출되는 것일 수 있다.
이때, 본 개시의 방법은 독출된 메시지로부터 생성된 데이터에 관한 정보를 브로드캐스팅하는 단계를 더 포함할 수 있다.
도 10은 다른 실시예에 따른 분산 메시징 시스템의 데이터를 적재하는 방법을 설명하기 위한 흐름도이다.
일 실시예에 따른 방법은 메시지 발행자가 발행한 카프카 메시지를 구독자에게 브로드캐스팅할 수 있다.
구체적으로, 단계 S1010에서, 본 개시의 방법은 이벤트 정보가 수신되면, 복수의 데이터 필드 값을 포함한 제1 카프카 메시지를 발행할 수 있다.
단계 S1020에서, 본 개시의 방법은 발행된 제1 카프카 메시지를 제1 카프카 메시지와 대응하는 제1 토픽에 적재할 수 있다.
단계 S1030에서, 본 개시의 방법은 제1 토픽을 구독하는 구독자가 제1 토픽으로부터 제1 카프카 메시지를 독출할 수 있다.
도 11은 일 실시예에 따른 전자 장치의 블록도를 나타낸다.
전자 장치(1100)는 일 실시예에 따라, 메모리(memory)(1110) 및 프로세서(processor)(1120)를 포함할 수 있다. 도 11에 도시된 전자 장치(1100)는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 11에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
메모리(1110)는 전자 장치(1100) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 예를 들어, 메모리(1110)는 전자 장치(1100)에서 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다. 메모리(1110)는 프로세서(1120)의 동작을 위한 적어도 하나의 명령어(instruction)를 저장할 수 있다. 또한, 메모리(1110)는 전자 장치(1100)에 의해 구동될 프로그램 또는 애플리케이션 등을 저장할 수 있다. 메모리(1110)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
프로세서(1120)는 전자 장치(1100)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 프로세서(1120)는 메모리(1110)에 저장된 적어도 하나의 명령어 또는 적어도 하나의 프로그램을 실행함으로써, 전자 장치(1100)를 전반적으로 제어할 수 있다. 프로세서(1120)는 CPU(central processing unit), GPU(graphics processing unit), AP(application processor) 등으로 구현될 수 있으나, 이에 제한되지 않는다.
프로세서(1120)는 사용자로부터 분산 메시징 시스템의 토픽에 관한 검색어 획득에 대응하여, 복수의 토픽 중에서 검색어에 대응되는 토픽을 확인하고, 확인된 토픽에 적재된 메시지의 데이터 필드 목록을 표시할 수 있다. 또한, 데이터 필드 목록에 포함된 데이터 필드 중 사용자로부터 획득된 하나 이상의 데이터 필드에 대한 선택 정보를 기반으로 선택된 하나 이상의 데이터 필드를 포함하는 데이터 적재 포맷을 확인하고, 확인된 토픽에 적재된 메시지를 독출하고, 확인된 데이터 적재 포맷에 기초하여 독출된 메시지에 관한 데이터를 데이터 레이크(data lake)에 적재할 수 있다. 구체적으로, 데이터는 독출된 메시지의 데이터 필드 중에서, 사용자에 의해 선택된 데이터 필드 만을 포함하는 것일 수 있다.
또한, 프로세서(1120)는 사용자로부터 독출 주기에 관한 선택 신호를 수신할 수 있다. 이러한 경우, 프로세서(1120)는 독출 주기에 관한 선택 신호가 수신된 이후, 독출 주기에 따라 자동으로 검색된 토픽에 적재된 메시지를 독출할 수 있다.
한편, 프로세서(1120)는 검색어에 대응되는 토픽의 확인 결과를 표시할 수 있다.
또한, 프로세서(1120)는 검색어에 대응되는 토픽의 확인 결과에 추가하여, 검색어에 기초하여 하나 이상의 토픽을 추천할 수 있다.
한편, 프로세서(1120)는 데이터 레이크에 적재된 데이터를 테이블 형태로 표시할 수 있다.
또한, 프로세서(1120)는 데이터 레이크에 적재된 데이터를 그리드 형태 및 그래픽 형태 중 적어도 하나로 표시할 수 있다.
그리고, 프로세서(1120)는 데이터 레이크에 적재된 데이터를 다른 애플리케이션에서 실행 가능한 형태로 내보낼 수 있다.
한편, 프로세서(1120)는 최근 소정의 시간 이전에 저장된 데이터 적재 포맷에 관한 정보를 제공할 수 있다.
또한, 프로세서(1120)는 최근 소정의 시간 이전에 데이터 레이크에 적재된 데이터에 관한 정보를 제공할 수 있다.
또한, 프로세서(1120)는 최근 소정의 시간 이전에 확인된 토픽에 관한 정보를 제공할 수 있다.
여기서 메시지는 이벤트 정보가 수신되는 것에 응답하여 발행되고, 대응하는 토픽에 적재된 것일 수 있다.
또한, 프로세서(1120)는 메시지의 발행 사실을 통지할 수 있고, 이때 메시지는 대응하는 토픽을 구독하는 구독자가 통지를 수신한 후 독출되는 것일 수 있다.
이때, 프로세서(1120)는 독출된 메시지로부터 생성된 데이터에 관한 정보를 브로드캐스팅할 수 있다. 여기서 브로드캐스팅되는 정보는 데이터에 포함되는 데이터 필드에 대한 정보를 포함할 수 있으며, 사용자는 브로드캐스팅되는 정보를 통해 데이터 레이크에 적재되는 데이터를 확인할 수 있다.
전술한 실시예들에 따른 전자 장치 또는 단말은, 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, 파이썬(python), C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시예들이 구현될 수 있다.

Claims (15)

  1. 전자 장치에서 분산 메시징 시스템의 데이터를 적재하는 방법으로서,
    사용자로부터 분산 메시징 시스템의 토픽에 관한 검색어 획득에 대응하여 복수의 토픽 중에서 상기 검색어에 대응되는 토픽을 확인하는 단계;
    상기 확인된 토픽에 적재된 메시지의 데이터 필드 목록을 표시하는 단계;
    상기 데이터 필드 목록에 포함된 데이터 필드 중 상기 사용자로부터 획득된 하나 이상의 데이터 필드에 대한 선택 정보를 기반으로, 선택된 하나 이상의 데이터 필드를 포함하는 데이터 적재 포맷을 확인하는 단계;
    상기 확인된 토픽에 적재된 메시지를 독출하는 단계; 및
    상기 확인된 데이터 적재 포맷에 기초하여, 상기 독출된 메시지에 관한 데이터를 데이터 레이크(data lake)에 적재하는 단계를 포함하고,
    상기 데이터 필드 목록에 포함된 데이터 필드 중 데이터 필드의 값이 존재하지 않는 제1 데이터 필드는 잠금 처리되고,
    상기 데이터 필드 목록에 포함된 데이터 필드 중 데이터 필드의 값이 존재하는 제2 데이터 필드를 대상으로 상기 선택 정보가 결정되며,
    상기 데이터 레이크에 적재된 데이터는, 상기 선택된 하나 이상의 데이터 필드에 기반하여 그리드 형태의 정보로 표시되고,
    상기 데이터 레이크에 적재된 데이터가 상기 그리드 형태의 정보로 표시되는 경우, 상기 데이터 레이크에 적재된 데이터에 대응되는 하나 이상의 데이터 필드의 값에 대한 정보를 나타내기 위한 제1 식별 정보 및 데이터 필드의 값이 동일한 데이터를 표시하기 위한 제2 식별 정보가 상기 그리드 형태의 정보에 포함되는, 데이터 적재 방법.
  2. 제1항에 있어서,
    상기 사용자로부터 독출 주기에 관한 선택 신호를 수신하는 단계를 더 포함하고,
    상기 메시지를 독출하는 단계는,
    상기 독출 주기에 관한 선택 신호가 수신된 이후, 상기 독출 주기에 따라 자동으로 상기 메시지를 독출하는 단계인, 데이터 적재 방법.
  3. 제1항에 있어서,
    상기 검색어에 대응되는 토픽의 확인 결과를 표시하는 단계를 더 포함하는, 데이터 적재 방법.
  4. 제1항에 있어서,
    상기 검색어에 대응되는 토픽의 확인 결과에 추가하여, 상기 검색어에 기초하여 하나 이상의 토픽을 추천하는 단계를 더 포함하는, 데이터 적재 방법.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 데이터 레이크에 적재된 데이터를 다른 애플리케이션에서 실행 가능한 형태로 내보내는 단계를 더 포함하는, 데이터 적재 방법.
  8. 제1항에 있어서,
    최근 소정의 시간 이전에 저장된 데이터 적재 포맷에 관한 정보를 제공하는 단계를 더 포함하는, 데이터 적재 방법.
  9. 제1항에 있어서,
    최근 소정의 시간 이전에 상기 데이터 레이크에 적재된 데이터에 관한 정보를 제공하는 단계를 더 포함하는, 데이터 적재 방법.
  10. 제1항에 있어서,
    최근 소정의 시간 이전에 확인된 토픽에 정보를 제공하는 단계를 더 포함하는, 데이터 적재 방법.
  11. 제1항에 있어서,
    상기 토픽에 적재된 메시지는 이벤트 정보가 수신되는 것에 응답하여 발행되고, 대응하는 토픽에 적재된 것인, 데이터 적재 방법.
  12. 제11항에 있어서,
    상기 메시지의 발행 사실을 통지하는 단계를 더 포함하고,
    상기 메시지는, 상기 대응하는 토픽을 구독하는 구독자가 상기 통지를 수신한 후 독출되는 것인, 데이터 적재 방법.
  13. 제1항에 있어서,
    상기 독출된 메시지로부터 생성된 데이터에 관한 정보를 브로드캐스팅하는 단계를 더 포함하는, 데이터 적재 방법.
  14. 제1항 내지 제4항 및 제7항 내지 제13항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
  15. 분산 메시징 시스템의 데이터를 적재하기 위한 전자 장치로서,
    적어도 하나의 명령어(instruction)를 저장하는 메모리(memory); 및
    상기 적어도 하나의 명령어를 실행하여,
    사용자로부터 분산 메시징 시스템의 토픽에 관한 검색어 획득에 대응하여 복수의 토픽 중에서 상기 검색어에 대응되는 토픽을 확인하고,
    상기 확인된 토픽에 적재된 메시지의 데이터 필드 목록을 표시하고,
    상기 데이터 필드 목록에 포함된 데이터 필드 중 상기 사용자로부터 획득된 하나 이상의 데이터 필드에 대한 선택 정보를 기반으로 선택된 하나 이상의 데이터 필드를 포함하는 데이터 적재 포맷을 확인하고,
    상기 확인된 토픽에 적재된 메시지를 독출하고,
    상기 확인된 데이터 적재 포맷에 기초하여, 상기 독출된 메시지에 관한 데이터를 데이터 레이크(data lake)에 적재하는 프로세서(processor)를 포함하고,
    상기 데이터 필드 목록에 포함된 데이터 필드 중 데이터 필드의 값이 존재하지 않는 제1 데이터 필드는 잠금 처리되고,
    상기 데이터 필드 목록에 포함된 데이터 필드 중 데이터 필드의 값이 존재하는 제2 데이터 필드를 대상으로 상기 선택 정보가 결정되며,
    상기 데이터 레이크에 적재된 데이터는, 상기 선택된 하나 이상의 데이터 필드에 기반하여 그리드 형태의 정보로 표시되고,
    상기 데이터 레이크에 적재된 데이터가 상기 그리드 형태의 정보로 표시되는 경우, 상기 데이터 레이크에 적재된 데이터에 대응되는 하나 이상의 데이터 필드의 값에 대한 정보를 나타내기 위한 제1 식별 정보 및 데이터 필드의 값이 동일한 데이터를 표시하기 위한 제2 식별 정보가 상기 그리드 형태의 정보에 포함되는, 전자 장치.
KR1020200184925A 2020-12-28 2020-12-28 데이터 적재 방법 및 이를 위한 전자 장치 KR102300938B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020200184925A KR102300938B1 (ko) 2020-12-28 2020-12-28 데이터 적재 방법 및 이를 위한 전자 장치
PCT/KR2020/019457 WO2022145543A1 (ko) 2020-12-28 2020-12-30 데이터 적재 방법 및 이를 위한 전자 장치
JP2021005710A JP6914579B1 (ja) 2020-12-28 2021-01-18 データ読み込み方法およびそのための電子装置
US17/153,268 US11360985B1 (en) 2020-12-28 2021-01-20 Method for loading data and electronic apparatus therefor
TW110105442A TW202226010A (zh) 2020-12-28 2021-02-18 用於載入資料之方法及其電子設備
KR1020210117484A KR102627199B1 (ko) 2020-12-28 2021-09-03 데이터 적재 방법 및 이를 위한 전자 장치
US17/662,986 US11734284B2 (en) 2020-12-28 2022-05-11 Method for loading data and electronic apparatus therefor
KR1020240006547A KR20240013821A (ko) 2020-12-28 2024-01-16 데이터 적재 방법 및 이를 위한 전자 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200184925A KR102300938B1 (ko) 2020-12-28 2020-12-28 데이터 적재 방법 및 이를 위한 전자 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210117484A Division KR102627199B1 (ko) 2020-12-28 2021-09-03 데이터 적재 방법 및 이를 위한 전자 장치

Publications (1)

Publication Number Publication Date
KR102300938B1 true KR102300938B1 (ko) 2021-09-13

Family

ID=77057503

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020200184925A KR102300938B1 (ko) 2020-12-28 2020-12-28 데이터 적재 방법 및 이를 위한 전자 장치
KR1020210117484A KR102627199B1 (ko) 2020-12-28 2021-09-03 데이터 적재 방법 및 이를 위한 전자 장치
KR1020240006547A KR20240013821A (ko) 2020-12-28 2024-01-16 데이터 적재 방법 및 이를 위한 전자 장치

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020210117484A KR102627199B1 (ko) 2020-12-28 2021-09-03 데이터 적재 방법 및 이를 위한 전자 장치
KR1020240006547A KR20240013821A (ko) 2020-12-28 2024-01-16 데이터 적재 방법 및 이를 위한 전자 장치

Country Status (5)

Country Link
US (2) US11360985B1 (ko)
JP (1) JP6914579B1 (ko)
KR (3) KR102300938B1 (ko)
TW (1) TW202226010A (ko)
WO (1) WO2022145543A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170122875A (ko) * 2016-04-27 2017-11-07 주식회사 한컴엠디에스 데이터 분산 서비스 기반의 통합 로그 관리 시스템
KR101888131B1 (ko) * 2016-05-20 2018-08-13 주식회사 리얼타임테크 Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법
US20200304583A1 (en) * 2018-05-03 2020-09-24 Microsoft Technology Licensing, Llc Input and output schema mappings

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854338B (zh) 2009-03-31 2014-02-26 国际商业机器公司 订户设备及其订阅管理方法、实时通信方法和系统
US10146816B2 (en) 2014-10-10 2018-12-04 International Business Machines Corporation Technology for providing content of a publish-subscribe topic tree
EP3826333B1 (en) 2015-05-21 2024-05-08 Cloudtraq Llc Identification, location, and authentication systems and methods
KR101837278B1 (ko) 2015-12-30 2018-03-12 한국과학기술원 GPC를 이용한 GS1아키텍처 Publish/Subscrbe 모델, 이를 구현한 시스템 및 방법
US10412064B2 (en) 2016-01-11 2019-09-10 Centurylink Intellectual Property Llc System and method for implementing secure communications for internet of things (IOT) devices
US9936066B1 (en) * 2016-03-16 2018-04-03 Noble Systems Corporation Reviewing portions of telephone call recordings in a contact center using topic meta-data records
KR101948150B1 (ko) 2016-11-21 2019-02-14 충북대학교 산학협력단 스케줄러 기반 하둡 에코시스템에서의 데이터 분배를 위한 애플리케이션 서버 및 이를 포함하는 하둡 에코시스템
KR20190011353A (ko) 2017-07-24 2019-02-07 주식회사 닷넷소프트 빅데이터로서 사용을 위해 데이터를 수집, 처리, 변환 및 저장하는 시스템
US10691740B1 (en) * 2017-11-02 2020-06-23 Google Llc Interface elements for directed display of content data items
JP6771503B2 (ja) 2018-03-27 2020-10-21 株式会社日立製作所 データ管理システム及び関連データ推薦方法
US11455356B2 (en) * 2018-11-15 2022-09-27 Digerati, Inc. System and method for modification, personalization and customizable filtering of search results and search result ranking in an internet-based search engine
US11119980B2 (en) * 2018-11-30 2021-09-14 International Business Machines Corporation Self-learning operational database management
JP2020154381A (ja) 2019-03-18 2020-09-24 ヤフー株式会社 情報処理システム、情報処理装置、情報処理方法およびプログラム
US11436242B2 (en) 2019-09-20 2022-09-06 Fisher-Rosemount Systems, Inc. Edge gateway system with contextualized process plant knowledge repository

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170122875A (ko) * 2016-04-27 2017-11-07 주식회사 한컴엠디에스 데이터 분산 서비스 기반의 통합 로그 관리 시스템
KR101888131B1 (ko) * 2016-05-20 2018-08-13 주식회사 리얼타임테크 Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법
US20200304583A1 (en) * 2018-05-03 2020-09-24 Microsoft Technology Licensing, Llc Input and output schema mappings

Also Published As

Publication number Publication date
KR20240013821A (ko) 2024-01-30
US11360985B1 (en) 2022-06-14
US11734284B2 (en) 2023-08-22
WO2022145543A1 (ko) 2022-07-07
US20220269682A1 (en) 2022-08-25
KR102627199B1 (ko) 2024-01-23
TW202226010A (zh) 2022-07-01
JP6914579B1 (ja) 2021-08-04
US20220207046A1 (en) 2022-06-30
KR20220094104A (ko) 2022-07-05
JP2022104482A (ja) 2022-07-08

Similar Documents

Publication Publication Date Title
US11588858B2 (en) Monitoring a privacy rating for an application or website
US11537283B2 (en) Configuring components in a display template based on a user interface type
US9047644B1 (en) Providing context for a social graph addition
US20150128060A1 (en) Method and apparatus of providing application program information in mobile terminal device
US11475071B2 (en) Configuring dynamic content previews
US11861399B2 (en) User specific event threading
US10708388B2 (en) Branched nodes in a workflow
US8886933B1 (en) Streamlined provisioning and configuration of computing devices
US11782684B2 (en) Declarative container components for builders
WO2017192338A1 (en) Reduced page load time utilizing cache storage
KR102300938B1 (ko) 데이터 적재 방법 및 이를 위한 전자 장치
CN115793911A (zh) 数据处理方法、装置、电子设备及存储介质
US9230022B1 (en) Customizable result sets for application program interfaces
US11301538B1 (en) Data management in multi-application web pages
US20230004261A1 (en) Data processing method, terminal device and server device
US20230103896A1 (en) Configuring dynamic interactions between application elements
US20230031718A1 (en) Communicating based on a workflow using web behavior data
CN117493722A (zh) 推广资源的配置方法、展示方法及相关设备
CN115840759A (zh) 数据显示方法、装置、电子设备及存储介质
CN117009696A (zh) 信息发布方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant