(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022104482
(43)【公開日】2022-07-08
(54)【発明の名称】データ読み込み方法およびそのための電子装置
(51)【国際特許分類】
G06F 16/383 20190101AFI20220701BHJP
G06F 13/00 20060101ALI20220701BHJP
G06F 16/332 20190101ALI20220701BHJP
【FI】
G06F16/383
G06F13/00 560A
G06F16/332
【審査請求】有
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021005710
(22)【出願日】2021-01-18
(11)【特許番号】
(45)【特許公報発行日】2021-08-04
(31)【優先権主張番号】10-2020-0184925
(32)【優先日】2020-12-28
(33)【優先権主張国・地域又は機関】KR
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.Apache
(71)【出願人】
【識別番号】520244544
【氏名又は名称】クーパン コーポレイション
(74)【代理人】
【識別番号】100188558
【弁理士】
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100205785
【弁理士】
【氏名又は名称】▲高▼橋 史生
(74)【代理人】
【識別番号】100154922
【弁理士】
【氏名又は名称】崔 允辰
(72)【発明者】
【氏名】ヨン・シン・カン
(72)【発明者】
【氏名】ホン・ゲム・キム
(72)【発明者】
【氏名】サン・ウン・キム
【テーマコード(参考)】
5B084
5B175
【Fターム(参考)】
5B084AA02
5B084AA12
5B084AB11
5B084BA07
5B084BB02
5B084CA03
5B084DB01
5B084DB02
5B084DC02
5B084DC03
5B175DA01
5B175FA01
5B175FB03
(57)【要約】
【課題】本発明の目的は、データ読み込み方法およびそのための電子装置を提供することである。
【解決手段】本開示は、ユーザーから分散メッセージングシステムのトピックに関する検索語獲得に対応して、複数のトピックの中から検索語に対応するトピックを確認し、トピックに読み込まれたメッセージの1つ以上のフィールドを含むデータフォーマットを確認した後、確認されたデータフォーマットおよび読み出されたメッセージに基づいて生成されたデータをデータレイクに読み込む、データ読み込み方法に関する。
【選択図】
図9
【特許請求の範囲】
【請求項1】
電子装置で分散メッセージングシステムのデータを読み込む方法であって、
ユーザーから分散メッセージングシステムのトピックに関する検索語獲得に対応して、複数のトピックの中から前記検索語に対応するトピックを確認する段階と、
前記確認されたトピックに読み込まれたメッセージのデータフィールドリストを表示する段階と、
前記データフィールドリストに含まれたデータフィールドの中、前記ユーザーから獲得された1つ以上のデータフィールドに対する選択情報に基づいて、選択された1つ以上のデータフィールドを含むデータ読み込みフォーマットを確認する段階と、
前記確認されたトピックに読み込まれたメッセージを読み出す段階と、
前記確認されたデータ読み込みフォーマットに基づいて、前記読み出されたメッセージに関するデータをデータレイク(data lake)に読み込む段階を含む、データ読み込み方法。
【請求項2】
前記ユーザーから読み出し周期に関する選択信号を受信する段階をさらに含み、
前記メッセージを読み出す段階は、
前記読み出し周期に関する選択信号が受信された後、前記読み出し周期に応じて自動的に前記メッセージを読み出す段階である、請求項1に記載のデータ読み込み方法。
【請求項3】
前記検索語に対応するトピックの確認結果を表示する段階をさらに含む、請求項1に記載のデータ読み込み方法。
【請求項4】
前記検索語に対応するトピックの確認結果に加え、前記検索語に基づいて1つ以上のトピックを推薦する段階をさらに含む、請求項1に記載のデータ読み込み方法。
【請求項5】
前記データレイクに読み込まれたデータをテーブル形態で表示する段階をさらに含む、請求項1に記載のデータ読み込み方法。
【請求項6】
前記データレイクに読み込まれたデータをグリッド形態およびグラフィック形態の中の少なくとも1つで表示する段階をさらに含む、請求項1に記載のデータ読み込み方法。
【請求項7】
前記データレイクに読み込まれたデータを、他のアプリケーションから実行可能な形態でエクスポートする段階をさらに含む、請求項1に記載のデータ読み込み方法。
【請求項8】
最近所定の時間前に保存されたデータ読み込みフォーマットに関する情報を提供する段階をさらに含む、請求項1に記載のデータ読み込み方法。
【請求項9】
最近所定の時間前に前記データレイクに読み込まれたデータに関する情報を提供する段階をさらに含む、請求項1に記載のデータ読み込み方法。
【請求項10】
最近所定の時間前に確認されたトピックに情報を提供する段階をさらに含む、請求項1に記載のデータ読み込み方法。
【請求項11】
前記トピックに読み込まれたメッセージは、イベント情報が受信されることに応答して発行され、対応するトピックに読み込まれたものである、請求項1に記載のデータ読み込み方法。
【請求項12】
前記メッセージの発行事実を通知する段階をさらに含み、
前記メッセージは、前記対応するトピックを購読する購読者が、前記通知を受信した後に読み出されるものである、請求項11に記載のデータ読み込み方法。
【請求項13】
前記読み出されたメッセージから生成されたデータに関する情報をブロードキャスティングする段階をさらに含む、請求項1に記載のデータ読み込み方法。
【請求項14】
請求項1の方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な非一時的の記録媒体。
【請求項15】
分散メッセージングシステムのデータを読み込むための電子装置であって、
少なくとも1つの命令語(instruction)を保存するメモリ(memory)と、
前記少なくとも1つの命令語を実行して、
ユーザーから分散メッセージングシステムのトピックに関する検索語獲得に対応して、複数のトピックの中から前記検索語に対応するトピックを確認し、
前記確認されたトピックに読み込まれたメッセージのデータフィールドリストを表示し、
前記データフィールドリストに含まれたデータフィールドの中、前記ユーザーから獲得された1つ以上のデータフィールドに対する選択情報に基づいて、選択された1つ以上のデータフィールドを含むデータ読み込みフォーマットを確認し、
前記確認されたトピックに読み込まれたメッセージを読み出し、
前記確認されたデータ読み込みフォーマットに基づいて、前記読み出されたメッセージに関するデータをデータレイク(data lake)に読み込むプロセッサー(processor)を含む、電子装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、分散メッセージングシステムのデータを読み込む方法およびそのための電子装置に関する。
【背景技術】
【0002】
最近、IT技術の発達により、企業内のトラフィックとインターネットの使用などの増加に伴い、大量のデータが生産され消費されている。ここで、幾何級数的に増えるトラフィックおよびイベントログが処理できるメッセージングシステムと、大量のデータを読み込み・管理できるデータ管理システムに対する需要が増加する趨勢である。
【0003】
一方、アパッチカフカ(Apache KAFKA)とは、大容量のリアルタイムログ処理システムであり、発行/購読(Publish/Subscribe)のパラダイムを使用する分散メッセージングシステムである。アパッチカフカは、リンクトイン(LinkedIn)で開発されたシステムであり、2011年にオープンソースとして公開され、大容量のリアルタイムログ処理に特化したアーキテクチャを含むことが特徴である。
【0004】
データレイク(data lake)とは、データの種類(例えば、定型/非定型)とモデルに関係なく、すべてのタイプのデータが保存できるデータ読み込み空間を意味する。既存のデータウェアハウス(data warehouse)は、構造的定型データのみ読み込むことができたが、データレイクは、非定型データを含むすべてのデータを読み込むことができるので、多様な形態で大量化されている企業のデータを効率的に処理することができる。
【0005】
したがって、企業のデータを効率的に管理し処理するためには、分散メッセージングシステムおよびデータレイクを活用する方案が台頭されており、具体的には、分散メッセージングシステムのメッセージに基づいて生成されたデータを、データレイクに効率的に読み込む方法が要求される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】韓国公開特許公報 第10-2019-0011353号
【発明の概要】
【発明が解決しようとする課題】
【0007】
開示された実施例は、電子装置およびその動作方法を開示しようとする。本実施例が達成しようとする技術的課題は、前述したような技術的課題に限定されず、以下の実施例からさらに他の技術的課題が類推され得る。
【課題を解決するための手段】
【0008】
第1の実施例によって、電子装置で分散メッセージングシステムのデータを読み込む方法は、ユーザーから分散メッセージングシステムのトピックに関する検索語獲得に対応して、複数のトピックの中から前記検索語に対応するトピックを確認する段階と、前記確認されたトピックに読み込まれたメッセージのデータフィールドリストを表示する段階と、前記データフィールドリストに含まれたデータフィールドの中、前記ユーザーから獲得された1つ以上のデータフィールドに対する選択情報に基づいて、選択された1つ以上のデータフィールドを含むデータ読み込みフォーマットを確認する段階と、前記確認されたトピックに読み込まれたメッセージを読み出す段階と、前記確認されたデータ読み込みフォーマットに基づいて、前記読み出されたメッセージに関するデータをデータレイクに読み込む段階を含むことができる。
【0009】
第2の実施例によって、分散メッセージングシステムのデータを読み込むための電子装置は、少なくとも1つの命令語を保存するメモリと、前記少なくとも1つの命令語を実行して、ユーザーから分散メッセージングシステムのトピックに関する検索語獲得に対応して、複数のトピックの中から前記検索語に対応するトピックを確認し、前記確認されたトピックに読み込まれたメッセージのデータフィールドリストを表示し、前記データフィールドリストに含まれたデータフィールドの中、前記ユーザーから獲得された1つ以上のデータフィールドに対する選択情報に基づいて、選択された1つ以上のデータフィールドを含むデータ読み込みフォーマットを確認し、前記確認されたトピックに読み込まれたメッセージを読み出し、前記確認されたデータ読み込みフォーマットに基づいて、前記読み出されたメッセージに関するデータをデータレイク(data lake)に読み込むプロセッサーを含むことができる。
【0010】
第3の実施例によって、コンピュータで読み取り可能な記録媒体は、前述した方法をコンピュータで実行させるためのプログラムを記録した非一時的な記録媒体を含む。
【0011】
その他の実施例の具体的な事項は、詳細な説明および図面に含まれている。
【発明の效果】
【0012】
本開示による電子装置は、ユーザーが分散メッセージングシステムのメッセージから必要なデータフィールドを選択し、所定の読み出し周期に基づいてデータを生成し、生成されたデータをデータレイクに読み込むことができるので、ユーザーがデータを容易に加工し、データレイクに読み込み可能な効果がある。また、読み込まれたデータを様々な形態で提供することができるので、データの分析のための時間を節減できる効果がある。
【0013】
発明の効果は、以上で言及した効果に制限されず、言及されていないさらに他の効果は、請求範囲の記載から、当該技術分野における通常の技術者に明確に理解され得る。
【図面の簡単な説明】
【0014】
【
図2】一実施例に係る電子装置によって提供されるユーザーインターフェースを説明するための図である。
【
図3】トピックを推薦する一実施例を説明するための図である。
【
図4】最近検索履歴を表示する一実施例を説明するための図である。
【
図5】最近選択されたデータフィールドに関する履歴を表示する一実施例を説明するための図である。
【
図6】データレイクに読み込まれたデータに関する情報を提供する第1の実施例を説明するための図である。
【
図7】データレイクに読み込まれたデータに関する情報を提供する第2の実施例を説明するための図である。
【
図8】データレイクに読み込まれたデータに関する情報を提供する第3の実施例を説明するための図である。
【
図9】一実施例に係る分散メッセージングシステムのデータを読み込む方法を説明するためのフローチャートである。
【
図10】他の実施例に係る分散メッセージングシステムのデータを読み込む方法を説明するためのフローチャートである。
【
図11】一実施例に係る電子装置のブロック図を示す。
【発明を実施するための形態】
【0015】
実施例において使用される用語は、本開示での機能を考慮しつつ、できるだけ現在広く使用される一般的な用語を選択したが、これは、当分野に従事する技術者の意図または判例、新しい技術の出現等によって変わり得る。また、特定の場合は、出願人が任意に選定した用語もあり、この場合、該当する説明の部分で詳細にその意味を記載する。したがって、本開示において使用される用語は、単純な用語の名称でなく、その用語が有する意味と本開示の全般にわたる内容に基づいて定義されなければならない。
【0016】
明細書全体において或る部分が何らかの構成要素を「含む」というとき、これは、特に反対になる記載がない限り、他の構成要素を除外するものではなく、他の構成要素をさらに含むことができることを意味する。また、明細書に記載された「~部」、「~モジュール」などの用語は、少なくとも1つの機能や動作を処理する単位を意味し、これはハードウェアまたはソフトウェアで具現されるか、ハードウェアとソフトウェアの結合で具現され得る。
【0017】
明細書全体において記載された「a、b、およびcの中の少なくとも1つ」の表現は、「a単独」、「b単独」、「c単独」、「aおよびb」、「aおよびc」、「bおよびc」、または「a、b、およびc全部」を包括することができる。
【0018】
以下に記載されている「端末」は、ネットワークを介してサーバや他の端末に接続できるコンピュータや携帯端末に実装されることができる。ここで、コンピュータは、例えば、Webブラウザ(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)ベースの無線通信装置を含むことができる。
【0019】
以下では、添付の図面を参照して本開示の実施例について本開示の属する技術分野における通常の知識を有する者が容易に実施できるように詳細に説明する。しかしながら、本開示は、様々な異なる形態で具現され得、ここで説明する実施例に限定されない。
【0020】
以下では、図面を参照して本開示の実施例を詳細に説明する。
【0021】
【0022】
図1を参照すると、カフカシステム100は、発行-購読(publish-subscribe)モデルに基づいて動作し、メッセージ発行者110、ブローカー120および購読者130を含むことができる。一方、実施例において、カフカシステム100に基づいて電子装置の動作方法について説明しているものの、開示された方法は、発行-購読モデルに基づいた分散メッセージングシステムで共通して適用され得る。
【0023】
メッセージ発行者110は、イベントが発生すると、イベントに関するカフカメッセージを発行してブローカー120に送信することができる。この際、カフカメッセージは、1つ以上のデータフィールドの値を含むことができ、2つ以上のカフカメッセージは、互いに異なるデータフィールドの値を含むことができる。例えば、「顧客の物品注文」のようなイベントが発生する場合、第1のメッセージ発行者111は、「顧客の物品注文」に関するカフカメッセージを発行することができ、この際に発行されるカフカメッセージは、注文顧客のID、注文商品、注文日付、配送先情報に関するデータフィールドの値を含むことができる。ここで、カフカメッセージのデータフィールドは、メッセージ発行者110および該当トピックを購読する購読者130との協議に通じて決定され得る。
【0024】
一方、ブローカー120は、メッセージ発行者110によって発行されたカフカメッセージをトピック(topic)ごとに分類して読み込み・管理することができる。カフカメッセージは、1つのトピックに対応することができる。したがって、カフカメッセージは、対応するトピックに読み込まれ得る。例えば、
図1の第1のカフカメッセージは、第1のトピックに対応するメッセージであってもよく、第2のカフカメッセージは、第2のトピックに対応するメッセージであってよい。このような場合、第1のカフカメッセージは、第1のメッセージ発行者111によって発行された後、ブローカー120の第1のトピックに読み込まれ得、第2のカフカメッセージは、第3のメッセージ発行者113によって発行された後、ブローカー120の第2のトピックに読み込まれ得る。
【0025】
その後、該当トピックを購読する購読者130は、ブローカー120のトピックからカフカメッセージを読み出す(read)ことができ、読み出されたカフカメッセージを処理することができる。この際、1つのトピックを購読する購読者130は多数であってもよい。
【0026】
一方、メッセージ発行者110は、カフカメッセージを発行した後、発行事実を通知することができる。この際、購読者130は、通知内容を確認した後、該当トピックを購読するか否かを決定することができる。その後、カフカメッセージが発行されて該当トピックに読み込まれると、購読者は、該当トピックに読み込まれたカフカメッセージを読み出すことができる。
【0027】
カフカシステム100は、拡張性(scale-out)と高可用性(high availability)のために、ブローカー120がクラスタで構成され動作するように設計されている。この際、ブローカー120は、1つのみある場合にも、クラスタとして動作することができる。カフカシステム100は、前述した利点を有し、プラットフォーム間でデータを送受信するに有用なソフトウェアとして、現在多くの企業で使用されている。
【0028】
カフカシステム100は、イベントが発生するたびに、揮発性のカフカメッセージを発行するので、発行されたカフカメッセージに含まれた大容量のデータを管理する方法が要求される。
【0029】
一方、データベースによって大容量のデータを管理すると、データが必要になるたびにクエリのプロセスを経なければならないので、演算複雑度が増加する問題が発生することがある。したがって、データの種類に関係なく、すべてのタイプのデータが保存できるデータレイクに基づいたデータ管理システムにおいて、カフカシステムのような分散メッセージングシステムのメッセージを加工して獲得できるデータを効率的に読み込み可能な方法が要求される。
【0030】
一方、実施例において、カフカシステムの場合、該当トピックに対する購読者がデータを消費することができるので、購読者以外のユーザーがデータに接近することが困難であり得る。しかし、データレイクの場合、比較的ユーザーのデータに対する接近が容易であるので、本明細書の実施例に基づいてカフカシステムでデータレイクに読み込まれたデータの接近の利便性が向上する。
【0031】
図2は、一実施例に係る電子装置によって提供されるユーザーインターフェースを説明するための図である。
【0032】
本開示の一実施例に係る分散メッセージングシステムのデータを読み込むための電子装置は、
図2に図示されたユーザーインターフェース200をユーザー端末に提供することができる。ここで、ユーザー端末は、カフカシステム100の特定のトピックを購読しようとする購読者の端末として定義され得、分散メッセージングシステムのデータを加工してデータレイクに読み込みしようとするユーザーの端末であってもよい。
【0033】
ユーザーインターフェース200は、ユーザーがトピックに関する検索語を入力すると、検索語に対応するトピックを確認(または、検索)し、確認されたトピックに読み込まれるメッセージのデータフィールドの中から一部フィールドを選択して、データ読み込みフォーマットを確認できるようにする。その後に確認されたトピックに読み込まれたカフカメッセージを読み出し、データ読み込みフォーマットに合わせて加工した後、データレイクに読み込みできるようにする。実施例において、データ読み込みフォーマットは、カフカメッセージに含まれたデータフィールドの値の中、データレイクに読み込まれるフィールドの値を選択した情報を含むことができる。一例として電子装置は、カフカメッセージの中からデータ読み込みフォーマットによって選択された一部フィールドに対応するフィールドの値をデータレイクに読み込むことができる。
【0034】
図2を参考すると、ユーザーインターフェース200は、ユーザーからトピックに対する検索語に関する入力を受信できる領域210を提供することができる。ユーザーが検索語を入力した後、検索ボタンを押すと、ユーザーインターフェース200は、検索語に対応するトピックがあるかを確認することができる。また、ユーザーインターフェース200は、確認結果を画面に表示することができる。
【0035】
また、ユーザーインターフェース200は、確認されたトピックに読み込まれるカフカメッセージのデータフィールドリスト220を表示することができる。また、リスト220に含まれたデータフィールドの中で、一部に対して、ユーザーから選択情報を受信されると、選択されたデータフィールドのリスト230を表示することができる。
【0036】
一方、ユーザーが保存ボタンを押すと、選択されたデータフィールドを含むデータ読み込みフォーマットが保存され得る。そして、ユーザーの読み出し周期(または、データサイクル)に関する信号が受信されると、今後該当トピックに読み込まれるカフカメッセージを、受信された読み出し周期に応じて自動的に読み出し、保存されたデータ読み込みフォーマットによって選択されたデータフィールドを含むデータが生成され得る。このように生成されたデータは、データレイクに読み込まれ得る。
【0037】
一方、
図2に図示されたデータフィールドおよび読み出し周期は、一例示に過ぎず、システムの具現内容に応じて変更され得ることは、当該技術分野における通常の技術者にとって自明である。
【0038】
図3は、トピックを推薦する一実施例を説明するための図である。
【0039】
一実施例によれば、ユーザーインターフェース300は、ユーザーによって入力された検索語に対応するトピックが存在しない場合、このような事実を通知するメッセージを表示し、ブローカー120に存在するトピックの中から一部トピックを推薦するトピックとして表示することができる。具体的には、本開示の方法は、ユーザーによって入力された検索語と80%以上の類似度を持つトピックが存在すると、該当トピックを確認(または、検索)されたトピックとして表示することができる。また、類似度が所定の臨界値未満であれば、検索語に対応するトピックが存在しないと判断され得る。
【0040】
図3を参考すると、ユーザーは、推薦トピックリストから1つ以上のトピックを選択することができ、ユーザーインターフェース200は、選択されたトピックに読み込まれるカフカメッセージのデータフィールドリストを表示することができる。
【0041】
一方、検索語に対応するトピック間の類似度が80%以上であると記載されたが、類似度の数値はこれに制限されない。
【0042】
図4は、最近検索履歴を表示する一実施例を説明するための図である。
【0043】
一実施例によれば、ユーザーインターフェース400は、ユーザーによって最近所定の時間以内に確認(または、検索)されたトピックに関する情報を提供することができる。
【0044】
図4を参考すると、ユーザーは、検索履歴を照会する期間を設定することができる。例えば、ユーザーは、検索履歴を照会する期間を1ヶ月、1週、1日のいずれかを選択することができ、期間設定メニューを介して直接照会期間を入力することができる。一方、照会期間に対するユーザーの入力なしで既設定された照会期間内の検索履歴を提供することもできる。
【0045】
その後、ユーザーインターフェース400は、照会期間に応じた照会結果を表示することができる。この際、検索履歴は、各トピックが検索された日付および時間に関する情報を共に表示することができる。ここで、ユーザーは、照会結果のトピックの中から1つ以上のトピックを選択することができ、ユーザーインターフェース200は、選択されたトピックに読み込まれたカフカメッセージのデータフィールドリストを表示することができる。
【0046】
図5は、最近選択されたデータフィールドに関する履歴を表示する一実施例を説明するための図である。
【0047】
一実施例によれば、ユーザーインターフェース500は、ユーザーによって最近所定の時間内に選択されたデータフィールドに関する情報を提供することができる。
【0048】
図5を参考すると、ユーザーは、検索履歴を照会する期間を設定することができる。一方、照会期間に対するユーザーの入力なしで既設定された照会期間内の検索履歴を提供することも可能である。
【0049】
その後、ユーザーインターフェース500は、照会期間に応じた、選択されたデータフィールドの履歴を表示することができる。
図5を参考すると、2020年12月20日に検索されたトピックに読み込まれたカフカメッセージ(order_complete)のデータフィールドの中、選択された4つのデータフィールド(locationType、watcheruserID、workeruserID、workerPhone)と共に、これに対するユーザーの入力を受信できる領域(510)を提供することができる。この際、ユーザーがデータフィールドlocationTypeを選択した場合、ユーザーインターフェース200は、選択されたデータフィールドにlocationTypeを追加することができる。
【0050】
もし、ユーザーインターフェース200で検索されたトピックに読み込まれたカフカメッセージに、
図5のユーザーインターフェース500から選択されたデータフィールド(
図5のlocationType)のフィールドの値が存在しない場合、ユーザーインターフェース200は、該当データフィールド(
図5のlocationType)のフィールドの値が検索されたトピックに読み込まれたカフカメッセージには存在しないことを通知するメッセージを追加で表示することができる。また、他の実施例において、ユーザーインターフェース500は、照会されたデータフィールドの中、
図2のユーザーインターフェース200で検索されたトピックに読み込まれたカフカメッセージに存在しないデータフィールドの値に対するデータフィールドは、ユーザーが選択できないようにボタンをロック処理することができる。
【0051】
一方、
図3~
図5のユーザーインターフェース300~500は、
図2のユーザーインターフェース200のポップアップ形式で表示されてもよく、
図2のユーザーインターフェース200の一領域に表示されてもよいが、表示方法はこれに制限されない。
【0052】
図6は、データレイクに読み込まれたデータに関する情報を提供する第1の実施例を説明するための図である。
【0053】
一実施例によれば、ユーザーインターフェース600は、データレイクに読み込まれたデータをテーブル形式で表示することができる。
【0054】
図6を参考すると、ユーザーによって選択されたデータフィールド(locationType、watcherUserID、workerUserID、workerNameおよびworkerPhone)の値を含むデータが、データレイクに読み込まれ得る。
図6に図示されたデータは、ユーザーによって選択された読み出し周期に応じて読み出したカフカメッセージを加工して生成されたものであってもよい。
【0055】
また、ユーザーインターフェース600は、データレイクに読み込まれたデータを、他のアプリケーションから実行可能な形態でエクスポートする機能を提供することができる。
図6を参考すると、ユーザーインターフェース600は、エクセルエクスポートボタンを表示し、ユーザーの入力に基づいて、データレイクに読み込まれたデータをエクセルファイルに抽出することができる。
【0056】
一方、
図6は、エクセルファイル形式でデータをエクスポートする機能を例に挙げて説明したが、エクスポート機能はこれに制限されず、多様なアプリケーションで実行可能な形態であり得ることは、該当技術分野における通常の技術者にとって自明である。
【0057】
図7は、データレイクに読み込まれたデータに関する情報を提供する第2の実施例を説明するための図である。
【0058】
一実施例よれば、ユーザーインターフェース700は、データレイクに読み込まれたデータをグリッド形態で提供することができる。
【0059】
図7を参考すると、ユーザーインターフェース700は、データレイクに読み込まれたデータの中、データフィールドlocationTypeの値がcamp_Aで同一のデータをグリッド形態で提供することができる。この際、各データは、キーの値に識別することができる。そして、各データは、データフィールドの値が同一のデータと互いに連結され得る。例えば、キーの値がABF5のデータと、キーの値がABC2のデータは、データフィールドwatcherUserIDの値が同一のデータであってもよい。
【0060】
この際、グリッド形態で表示されるデータは、同一のトピックに読み込まれたカフカメッセージに基づいて生成されたデータであってもよく、同一のデータフィールドのフィールドの値を含む互いに異なるトピックに読み込まれたカフカメッセージに基づいて生成されたデータであってもよい。
【0061】
図8は、データレイクに読み込まれたデータに関する情報を提供する第3の実施例を説明するための図である。
【0062】
一実施例よれば、ユーザーインターフェース800は、データレイクに読み込まれたデータをグラフィック形態で提供することができる。
【0063】
例えば、本開示の方法は、注文関連トピックに読み込まれたカフカメッセージを読み出して、注文関連データを生成することができる。また、生成されたデータをデータレイクに読み込むことができる。このような場合、本開示の方法は、注文関連データに含まれた注文時間に基づいて、
図8のユーザーインターフェース800のように注文時間の割合をグラフ化してユーザーに提供することができる。
【0064】
一方、ユーザーインターフェース800は、
図8に記載されたグラフの種類以外で、棒グラフ、線グラフなど、データの種類に応じて異なるグラフの形態でデータを表示することができる。
【0065】
また、
図6~
図8のユーザーインターフェース600~800は、
図2のユーザーインターフェース200のポップアップ形態で表示されてもよく、
図2のユーザーインターフェース200の一領域に表示されてもよいが、表示方法はこれに制限されない。
【0066】
図9は、一実施例に係る分散メッセージングシステムのデータを読み込む方法を説明するためのフローチャートである。
【0067】
段階S910において、本開示の方法は、ユーザーから分散メッセージングシステムのトピックに関する検索語獲得に対応して、複数のトピックの中から前記検索語に対応するトピックを確認することができる。
【0068】
段階S920において、本開示の方法は、前記確認されたトピックに読み込まれたメッセージのデータフィールドリストを表示することができる。
【0069】
段階S930において、本開示の方法は、前記データフィールドリストに含まれたデータフィールドの中、前記ユーザーから獲得された1つ以上のデータフィールドに対する選択情報に基づいて、選択された1つ以上のデータフィールドを含むデータ読み込みフォーマットを確認することができる。
【0070】
段階S940において、本開示の方法は、前記確認されたトピックに読み込まれたメッセージを読み出す(read)ことができる。
【0071】
一方、本開示の方法は、ユーザーから読み出し周期に関する選択信号を受信する段階をさらに含むことができる。このような場合、段階S940は、前記読み出し周期に関する選択信号が受信された後、前記読み出し周期に応じて自動的に前記メッセージを読み出す段階であってもよい。
【0072】
段階S950において、本開示の方法は、前記確認されたデータ構造に基づいて、前記読み出されたメッセージに関するデータをデータレイク(data lake)に読み込むことができる。
【0073】
一方、本開示の方法は、前記検索語に対応するトピックの確認結果を表示する段階をさらに含むことができる。
【0074】
また、本開示の方法は、前記検索語に対応するトピックの確認結果に加え、前記検索語に基づいて1つ以上のトピックを推薦する段階をさらに含むことができる。
【0075】
一方、本開示の方法は、前記データレイクに読み込まれたデータをテーブル形式で表示する段階をさらに含むことができる。
【0076】
また、本開示の方法は、前記データレイクに読み込まれたデータをグリッド形式およびグラフィック形式の中,少なくとも1つで表示する段階をさらに含むことができる。
【0077】
一方、本開示の方法は、前記データレイクに読み込まれたデータを他のアプリケーションで実行可能な形式でエクスポートする段階をさらに含むことができる。
【0078】
また、本開示の方法は、最近所定の時間前に保存されたデータ読み込みフォーマットに関する情報を提供する段階をさらに含むことができる。
【0079】
そして、本開示の方法は、最近所定の時間前に前記データレイクに読み込まれたデータに関する情報を提供する段階をさらに含むことができる。
【0080】
また、本開示の方法は、最近所定の時間前に確認されたトピックに関する情報を提供する段階をさらに含むことができる。
【0081】
一方、前記メッセージは、イベント情報が受信されることに応答して発行され、対応するトピックに読み込まれたものであってもよい。
【0082】
また、本開示の方法において、前記メッセージの発行事実を通知する段階をさらに含み、前記メッセージは、前記対応するトピックを購読する購読者が、前記通知を受信した後、読み出されたものであってもよい。
【0083】
この際、本開示の方法は、読み出されたメッセージから生成されたデータに関する情報をブロードキャスティングする段階をさらに含むことができる。
【0084】
図10は、他の実施例に係る分散メッセージングシステムのデータを読み込む方法を説明するためのフローチャートである。
【0085】
一実施例に係る方法は、メッセージ発行者が発行したカフカメッセージを購読者にブロードキャスティングすることができる。
【0086】
具体的には、段階S1010において、本開示の方法は、イベント情報を受信されると、複数のデータフィールドの値を含む第1のカフカメッセージを発行することができる。
【0087】
段階S1020において、本開示の方法は、発行された第1のカフカメッセージを第1のカフカメッセージに対応する第1のトピックに読み込むことができる。
【0088】
段階S1030において、本開示の方法は、第1のトピックを購読する購読者が第1のトピックから第1のカフカメッセージを読み出すことができる。
【0089】
図11は、一実施例に係る電子装置のブロック図を示す。
【0090】
電子装置1100は、一実施例に応じて、メモリ(memory)1110およびプロセッサー(processor)1120を含むことができる。
図11に図示された電子装置1100は、本実施例に関連した構成要素のみが図示されている。したがって、
図11に図示された構成要素以外に、他の汎用的な構成要素がさらに含まれ得ることを、本実施例に関連した技術分野における通常の知識を有する者であれば理解することができる。
【0091】
メモリ1110は、電子装置1100内で処理される各種データを保存するハードウェアであり、例えば、メモリ1110は、電子装置1100で処理されたデータおよび処理されるデータを保存することができる。メモリ1110は、プロセッサー1120の動作のための少なくとも1つの命令語(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)、またはフラッシュメモリを含むことができる。
【0092】
プロセッサー1120は、電子装置1100の全般の動作を制御し、データおよび信号を処理することができる。プロセッサー1120は、メモリ1110に保存された少なくとも1つの命令語または少なくとも1つのプログラムを実行することにより、電子装置1100を全般的に制御することができる。プロセッサー1120は、CPU(central processing unit)、GPU(graphics processing unit)、AP(application processor)などで具現され得るが、これに制限されない。
【0093】
プロセッサー1120は、ユーザーから分散メッセージングシステムのトピックに関する検索語獲得に対応して、複数のトピックの中から検索語に対応するトピックを確認し、確認されたトピックに読み込まれたメッセージのデータフィールドリストを表示することができる。また、データフィールドリストに含まれたデータフィールドの中、ユーザーから獲得された1つ以上のデータフィールドに対する選択情報に基づいて選択された1つ以上のデータフィールドを含むデータ読み込みフォーマットを確認し、確認されたトピックに読み込まれたメッセージを読み出し、確認されたデータ読み込みフォーマットに基づいて、読み出されたメッセージに関するデータをデータレイク(data lake)に読み込むことができる。具体的には、データは、読み出されたメッセージのデータフィールドの中から、ユーザーによって選択されたデータフィールドのみを含むものであってもよい。
【0094】
また、プロセッサー1120は、ユーザーから読み出し周期に関する選択信号を受信することができる。このような場合、プロセッサー1120は、読み出し周期に関する選択信号が受信された後、読み出し周期に応じて自動的に検索されたトピックに読み込まれたメッセージを読み出すことができる。
【0095】
一方、プロセッサー1120は、検索語に対応するトピックの確認結果を表示することができる。
【0096】
また、プロセッサー1120は、検索語に対応するトピックの確認結果に加え、検索語に基づいて1つ以上のトピックを推薦することができる。
【0097】
一方、プロセッサー1120は、データレイクに読み込まれたデータをテーブル形態で表示することができる。
【0098】
また、プロセッサー1120は、データレイクに読み込まれたデータをグリッド形態およびグラフィック形態の中,少なくとも1つで表示することができる。
【0099】
そして、プロセッサー1120は、データレイクに読み込まれたデータを他のアプリケーションから実行可能な形態でエクスポートすることができる。
【0100】
一方、プロセッサー1120は、最近所定の時間前に保存されたデータ読み込みフォーマットに関する情報を提供することができる。
【0101】
また、プロセッサー1120は、最近所定の時間前にデータレイクに読み込まれたデータに関する情報を提供することができる。
【0102】
また、プロセッサー1120は、最近所定の時間前に確認されたトピックに関する情報を提供することができる。
【0103】
ここで、メッセージは、イベント情報が受信されることに応答して発行され、対応するトピックに読み込まれたものであってもよい。
【0104】
また、プロセッサー1120は、メッセージの発行事実を通知することができ、この際、メッセージは、対応するトピックを購読する購読者が通知を受信した後に読み出されたものであってもよい。
【0105】
この際、プロセッサー1120は、読み出されたメッセージから生成されたデータに関する情報をブロードキャスティングすることができる。ここで、ブロードキャスティングされる情報は、データに含まれるデータフィールドに関する情報を含むことができ、ユーザーは、ブロードキャスティングされる情報を介して、データレイクに読み込まれるデータを確認することができる。
【0106】
前述した実施例に係る電子装置または端末は、プロセッサー、プログラムデータを保存し実行するメモリ、ディスクドライブのような永久保存部(permanent storage)、外部装置と通信する通信ポート、タッチパネル、キー(key)、ボタン等のようなユーザーインターフェース装置等を含むことができる。ソフトウェアモジュールまたはアルゴリズムで具現される方法は、前記プロセッサー上で実行できるコンピュータで読み取り可能なコードまたはプログラム命令であって、コンピュータで読み取り可能な記録媒体上に保存され得る。ここで、コンピュータで読み取り可能な記録媒体として、磁気記憶媒体(例えば、ROM(read-only memory)、RAM(random-Access memory)、フロッピーディスク、ハードディスク等)および光学的読み取り媒体(例えば、シーディーロム(CD-ROM)、ディーブイディー(DVD:Digital Versatile Disc))等がある。コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散され、分散方式でコンピュータが読み取り可能なコードが保存され実行され得る。媒体は、コンピュータにより読み取り可能であり、メモリに保存され、プロセッサーで実行され得る。
【0107】
本実施例は、機能的なブロック構成および多様な処理段階で示され得る。このような機能ブロックは、特定の機能を実行する多様な個数のハードウェアまたは/およびソフトウェア構成で具現され得る。例えば、実施例は、1つ以上のマイクロプロセッサーの制御または他の制御装置により多様な機能を実行できる、メモリ、プロセッシング、ロジック(logic)、ルックアップテーブル(look-up table)等のような直接回路構成を採用することができる。構成要素がソフトウェアプログラミングまたはソフトウェア要素で実行され得ることと同様に、本実施例は、データ構造、プロセス、ルーチンまたは他のプログラミング構成の組合せで具現される多様なアルゴリズムを含み、C、C++、ジャバ(Java)、アセンブラ(assembler)等のようなプログラミングまたはスクリプティング言語で具現され得る。機能的な側面は、1つ以上のプロセッサーで実行されるアルゴリズムで具現され得る。また、本実施例は、電子的な環境設定、信号処理、および/またはデータ処理等のために従来技術を採用することができる。「メカニズム」、「要素」、「手段」、「構成」のような用語は広く使用することができ、機械的かつ物理的な構成に限定されるものではない。前記用語は、プロセッサー等と連係してソフトウェアの一連の処理(routines)の意味を含むことができる。
【0108】
前述した実施例は、一例示に過ぎず、後述する請求項の範囲内で他の実施例が具現され得る。
【符号の説明】
【0109】
100:カフカシステム
110:メッセージ発行者
120:ブローカー
130:購読者
200、300、400、500、600、700、800:ユーザーインターフェース
1100:電子装置
1110:メモリ
1120:プロセッサー
【外国語明細書】