JP2022145365A - 分散システムのデータ処理方法およびこのための電子装置 - Google Patents

分散システムのデータ処理方法およびこのための電子装置 Download PDF

Info

Publication number
JP2022145365A
JP2022145365A JP2021077608A JP2021077608A JP2022145365A JP 2022145365 A JP2022145365 A JP 2022145365A JP 2021077608 A JP2021077608 A JP 2021077608A JP 2021077608 A JP2021077608 A JP 2021077608A JP 2022145365 A JP2022145365 A JP 2022145365A
Authority
JP
Japan
Prior art keywords
data
client
application server
field
storage
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.)
Pending
Application number
JP2021077608A
Other languages
English (en)
Inventor
プラカシュ・カデル
Kadel Prakash
デュ・ヒョン・キム
Du Hyeong Kim
キ・ウン・ジャン
Ki Woong Jang
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.)
Coupang Corp
Original Assignee
Coupang Corp
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 Coupang Corp filed Critical Coupang Corp
Publication of JP2022145365A publication Critical patent/JP2022145365A/ja
Pending legal-status Critical Current

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/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • 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/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
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • 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/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Accounting & Taxation (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Figure 2022145365000001
【課題】分散システムのデータ処理方法およびこのための電子装置を開示する。
【解決手段】本開示は、ズーキーパーサーバーに対してイベントウォッチングを遂行する段階、前記イベントウォッチング結果によって、第1データに含まれた第1フィールドの変更関連情報を前記ズーキーパーサーバーから受信する段階、クライアントから前記第1データの要請信号が入力されると、第1ストレージから前記第1データを読み出す段階および前記ズーキーパーサーバーから受信された情報に基づいて、前記読み出された第1データが含む前記第1フィールドの値を変更し、前記第1フィールドの値が変更された第1データを前記クライアントに提供する段階を含む分散システムのアプリケーションサーバーがデータを提供する方法に関する。
【選択図】図7

Description

本開示は分散システムのデータ処理方法およびこのための電子装置に関する。
大容量のデータを互いに異なるアプリケーションで活用しなければならない需要が増加するにつれて、最近分散システムに対する需要が増加している。分散システムとは、一つの高性能デバイスで遂行していた複雑なプロセスを小さい単位に分けて、ネットワークを通じて連結された複数のデバイスで分けて処理するシステムをいう。分散システムでは、一つの作業を複数のデバイスで並列で処理することによってシステムの処理率が向上する。また、分散システムは新しいデバイスをネットワークに追加することによって容易にシステムを拡張できるという長所を有する。
韓国登録特許公報10-2082355
一方、分散コーディネータは分散システム内で重要な状態情報や設定情報などを維持する役割を遂行する。ズーキーパー(ZooKeeper)は分散コーディネータの一例であり得、分散システム内のデバイス間の情報の共有、イベント処理、デバイスモニタリング、障害状況判断などを遂行することができる。また、大容量データを使うアプリケーションのために大容量データの状態を一時的に変更することが必要な場合、分散コーディネータがないとデータベースから大容量データを読み出して特定フィールドを変更しなければならないため、資源の消耗が比較的大きくなり得る。しかし、分散コーディネータを利用する場合、資源の消耗量を減少させることができるため、大容量データを生産および管理する分野で分散コーディネータを活用したデータ処理方法の必要性が存在する。
開示された実施形態は分散システムのデータ処理方法およびこのための電子装置を開示しようとする。本実施形態が達成しようとする技術的課題は前記のような技術的課題に限定されず、以下の実施形態からさらに他の技術的課題が類推され得る。
第1実施形態によって、分散システムのアプリケーションサーバーがデータを提供する方法は、ズーキーパーサーバーに対してイベントウォッチング(watching)を遂行する段階、前記イベントウォッチング結果によって、第1データに含まれた第1フィールドの変更関連情報を前記ズーキーパーサーバーから受信する段階、クライアントから前記第1データの要請信号が入力されると、第1ストレージから前記第1データを読み出す段階および前記ズーキーパーサーバーから受信された情報に基づいて、前記読み出された第1データが含む前記第1フィールドの値を変更し、前記第1フィールドの値が変更された第1データを前記クライアントに提供する段階を含むことができる。
第2実施形態によって、分散システムでデータを提供するための電子装置は、少なくとも一つの命令語(instruction)を保存するメモリ(memory)および前記少なくとも一つの命令語を実行して、ズーキーパーサーバーに対してイベントウォッチングを遂行し、前記イベントウォッチング結果によって、第1データに含まれた第1フィールドの変更関連情報を前記ズーキーパーサーバーから受信し、クライアントから前記第1データの要請信号が入力されると、第1ストレージから前記第1データを読み出し、前記ズーキーパーサーバーから受信された情報に基づいて、前記読み出された第1データが含む前記第1フィールドの値を変更し、前記第1フィールドの値が変更された第1データを前記クライアントに提供するプロセッサを含むことができる。
第3実施形態によって、コンピュータ読み取り可能記録媒体は前述した方法をコンピュータで実行させるためのプログラムを記録した非一過性の記録媒体を含む。
その他の実施形態の具体的な事項は詳細な説明および図面に含まれている。
本開示に係る方法および装置は、大容量データを使うアプリケーションのためにデータベースで特定フィールドを変更する時に資源の消耗量を減少させることができる効果がある。
発明の効果は以上で言及した効果に制限されず、言及されていないさらに他の効果は特許請求の範囲の記載から当該技術分野の通常の技術者に明確に理解され得るであろう。
一実施形態に係る分散システムを説明するための図面である。 一実施形態に係る分散システムを説明するための図面である。 他の一実施形態に係る分散システムを説明するための図面である。 一実施形態に係る分散システムのアプリケーションサーバーがデータを提供する方法の一実施形態を説明するための図面である。 一実施形態に係るアップデータUIによって入力されるデータを説明するための図面である。 一実施形態によってクライアントに提供される情報を説明するための図面である。 一実施形態に係る分散システムのアプリケーションサーバーがデータを提供する方法を説明するためのフローチャートである。 一実施形態に係る電子装置のブロック図を示す。
実施形態で使われる用語は、本開示での機能を考慮しつつ、可能な限り現在広く使われる一般的な用語を選択したが、これは当分野に従事する技術者の意図または判例、新しい技術の出現などによって変わり得る。また、特定の場合は出願人が任意に選定した用語もあり、この場合、該当する説明の部分で詳細にその意味を記載するであろう。したがって本開示で使われる用語は単純な用語の名称ではなく、その用語が有する意味と本開示の全般にわたった内容に基づいて定義されるべきである。
明細書全体においてある部分がある構成要素を「含む」とする時、これは特に反対の記載がない限り他の構成要素を除くものではなく他の構成要素をさらに含み得ることを意味する。また、明細書に記載された「…部」、「…モジュール」などの用語は少なくとも一つの機能や動作を処理する単位を意味し、これはハードウェアまたはソフトウェアで具現されたりハードウェアとソフトウェアの結合で具現され得る。
明細書全体において記載された「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および図2は、一実施形態に係る分散システムを説明するための図面である。
図1を参照すると、本開示の分散システム100はアプリケーションサーバー110、分散コーディネータ120、データベース130を含むことができる。一方、図1の分散システム100はアプリケーションサーバー110、分散コーディネータ120およびデータベース130をそれぞれ一つずつ含むものとして図示されたが、各構成要素の数はこれに制限されない。
アプリケーションサーバー110はネットワークに連結されたクライアント150に特定サービスを提供するサーバーを意味する。アプリケーションサーバー110は単純にクライアント150に表示される画面を提供することだけでなく、多様なビジネスロジックを処理することができる。一実施形態によると、アプリケーションサーバー110はオンライン商店を運用するサーバーであり得、クライアント150は商品を購入する使用者の端末であってもよいが、アプリケーションサーバー110の運用目的はこれに制限されない。一方、分散システム100の場合、アプリケーションサーバー110は分散コーディネータ120に対するイベントウォッチングを遂行することができる。
分散コーディネータ120は分散システム100に含まれた構成要素の状態を確認し、構成要素間にデータを共有したり同期化を遂行することができる。分散コーディネータ120は分散システム100をコーディネーションする用途の構成要素であるため、データアクセス速度が比較的はやく、自主的に発生し得る障害に対する対応能力を有することができる。
データベース130は分散システム100に利用されるデータを保存および管理することができる。一方、アプリケーションサーバー110はクライアント150から受信された要請信号により、データベース130からデータを読み出してクライアント150に読み出されたデータを提供することができる。
例えば、アプリケーションサーバー110がオンライン商店に関するサービスを提供するサーバーである場合、データベース130はオンライン商店で販売する商品に関するデータを保存していてもよい。このような場合、クライアント150から特定商品の在庫数量情報に関する要請を受信すると、アプリケーションサーバー110はデータベース130から該当商品の在庫数量を読み出した後、クライアント150に伝達することができる。
一方、アプリケーションサーバー110で運営されるオンライン商店の物流センターが大雪などのような理由で一時的に閉鎖する場合が発生し得る。または物流センター内の職員の一身上の問題で該当物流センターにある商品の出庫が難しい場合が発生する可能性もある。このようになると、データベース130に保存された該当商品の在庫数量に関するデータにかかわらず、一定時間の間該当物流センターから商品の出庫が困難となり得る。
このような場合、本開示の方法は、分散コーディネータ120を通じて一時的に該当商品の在庫数量に関するデータのキー値を「品切れ」等に変更してアプリケーションサーバー110に提供することができる。その後、アプリケーションサーバー110はデータベース130から該当商品の在庫数量に関するデータを受信しても、分散コーディネータ120から受信されたキー値により、クライアント150には該当商品が品切れとなったという情報を提供できることになる。
本開示の方法によると、データベース130に保存されたデータを変更せず分散システム100が提供するサービスの一時的な状態により、アップデートされたデータをクライアント150に提供することができる。したがって、データベース130のデータを変更するための資源の消耗を減らすことができ、変更されたデータをさらにはやくクライアント150に提供できる効果がある。
一方、本開示の方法は、分散コーディネータで直接アップデートされたデータを保存する代わりに、アップデートされたデータを保存するストレージをさらに含むことができる。
図2を参照すると、分散システム200はアプリケーションサーバー210、分散コーディネータ220、第1ストレージ240および第2ストレージ230を含むことができる。一方、図2のアプリケーションサーバー210、分散コーディネータ220、第2ストレージ230は図1のアプリケーションサーバー110、分散コーディネータ120、データベース130と対応するため、詳しい説明は省略することにする。
ストレージは多様なフォーマットのファイルを保存できる保存空間であり、データベースはストレージの一例であり得る。一方、第1ストレージ240はサービスの一時的な状態情報を受信することができる。もし分散システム200がオンライン商店を運営するためのシステムである場合、サービスの一時的な状態情報は、オンライン商店の物流センターの一時的な閉鎖に関する情報、オンライン商店で販売が難しい商品に関する情報などを含むことができるが、サービスの一時的な状態情報はこれに制限されない。
一方、図1を参照すると、分散コーディネータ220は直接一時的な状態情報を受信することができる。そして、他の一実施形態によると、第1ストレージ240が一時的な状態情報を受信および保存し、分散コーディネータ220が第1ストレージ240内に保存された状態情報の接近経路情報を保存またはアップデートすることができる。
このような場合、アプリケーションサーバー210は分散コーディネータ220に対するイベントウォッチング結果、第1ストレージ240内に保存された状態情報の接近経路情報が変更されたことが確認されると第1ストレージ240から変更された状態情報を受信することができる。
一方、第1ストレージ240は一時的な状態情報を受信および保存するものとして説明されたが、一時的な状態情報はサービスに関するデータで代替され得る。
図3は、他の一実施形態に係る分散システムを説明するための図面である。
図3を参照すると、分散システム300はアプリケーションサーバー310、ズーキーパーサーバー320、データベース330、ウェブストレージ340、アップデータUI360を含むことができる。図3のアプリケーションサーバー310およびデータベース330は図1のアプリケーションサーバー110およびデータベース130と対応するため、詳しい説明は省略することにする。一方、ウェブストレージ340は図2の第1ストレージ240の一例であり得る。
ズーキーパーサーバー320は分散コーディネータの役割を遂行する分散システムの一例である。ズーキーパーサーバー320は分散システム300内構成要素間のデータ共有のためのデータストレージ、分散システム300内構成要素メンバーシップ管理を通じてのデータ変更通知(Watch)、マスターおよび分散ロック(lock)等に活用されるシークエンスノードなどを提供することができる。本開示の方法は、分散コーディネータとしてズーキーパーサーバー320ではなく、他の構成を含み得ることは該当技術分野の通常の技術者に自明である。
図3を参照すると、システム管理者はアップデータUI360を通じてマッピングファイルをアップロードし、設定データを入力することができる。ここで、設定データは一時的な状態変更時に遂行される措置事項に関する情報と定義され得る。マッピングファイルおよび設定データは一時的な状態情報が含まれたファイルであり得、例えば、物流センター識別子、キャンプ識別子、特定販売者が販売するアイテム(すなわち、販売者-アイテム)の識別子、一時的な状態変更が持続する時間などに関する情報が含まれ得る。マッピングファイルおよび設定データに関する具体的な内容は図5を通じて説明することにする。
一方、アップデータUI360はアップロードされたマッピングファイルおよび設定データに含まれたデータをパーシングすることができる。例えば、エクセルファイル形式のマッピングファイルがアップロードされる場合、アップデータUI360はマッピングファイルおよび設定データに含まれた物流センター識別子に関するデータおよび一時的な状態情報変更による措置事項に関する設定データをパーシングしてウェブストレージ340に伝達することができる。また、アップデータUI360はウェブストレージ340に保存されたデータの接近経路に関する情報をズーキーパーサーバー320に伝達することができる。
一方、アプリケーションサーバー310はズーキーパーサーバー320とのデータ送受信のためにアップデータSDK(Software Development Kit)を含むことができる。また、アプリケーションサーバー310はズーキーパーサーバー320に対してイベントウォッチングを遂行することができる。もしズーキーパーサーバー320がアップデータUI360からウェブストレージ340に保存されたデータの接近経路に関する情報を受信する場合、アプリケーションサーバー310はズーキーパーサーバー320からコールバック(callback)を受信することができる。また、アップロードされたデータをウェブストレージ340から読み出すことができる。
その後、アプリケーションサーバー310はクライアント350から特定商品の在庫数量に関する情報要請を受信することができる。この時、アプリケーションサーバー310はデータベース330で該当商品の在庫数量に関する情報を要請して受信することができ、ウェブストレージ340から読み出されたデータを反映してサービングレイヤー(serving layer)を通じてクライアント350に伝送することができる。
これに伴い、クライアント350はサービスに対する一時的に状態情報が反映されたデータを受信できるようになる。
図4は、一実施形態に係る分散システムのアプリケーションサーバーがデータを提供する方法の一実施形態を説明するための図面である。
図4を参照すると、段階S410で、アップデータUI360はマッピングファイルをアップロードすることができる。
段階S420で、アップデータUI360はマッピングファイルおよびUIを通じて入力された設定データをパーシングし、ウェブストレージ340にアップロードすることができる。そして、段階S425で、アップデータUI360はウェブストレージ340にアップロードされたデータに関する経路のアップデート情報をズーキーパーサーバー320に伝送することができる。
一方、アプリケーションサーバー310は段階S430で、ズーキーパーサーバー320に対してイベントウォッチングを遂行することができる。したがって、ズーキーパーサーバー320がアップデートされたデータに関する接近経路情報を受信すると、アプリケーションサーバー310は段階S440で、ウェブストレージ340からアップデートされたデータを読み出すことができる。
段階S450で、クライアント350がアプリケーションサーバー310にデータを要請すると、アプリケーションサーバー310は段階S460で、データベース330にデータ要請を伝達することができる。その後、段階S465で、データベース330はアプリケーションサーバー310に要請されたデータを伝送することができる。
この時、アプリケーションサーバー310が受信したデータに対するアップデートされたデータが存在する場合、アプリケーションサーバー310は段階S470で、データのアップデートを遂行し、段階S480で、クライアント350にアップデートされたデータを提供することができる。
分散システムがオンライン商店を運営するためのものであれば、前述した手続きを通じてクライアントに提供される特定商品の在庫数量のうち、一時的な理由で配送が難しい物流センターの在庫の数字を差し引いたり、関連商品が品切れであると一括的にデータアップデートを遂行してクライアントに提供することができる。また、本開示の方法によると、サービスが提供される途中でも大容量データの一部のフィールドに対する変更情報をクライアントに提供できる効果がある。そして、このようなデータ管理構造を通じて本開示の方法は、大容量のデータを容易にアップデートできる効果がある。
図5は、一実施形態に係るアップデータUIによって入力されるデータを説明するための図面である。
一実施形態によると、アップデータUIを利用してマッピングファイルをアップロードすることができ、設定データを入力することができる。
図5を参照すると、キー値(Key:debadging.7)は独立的に運用され得るプロセスの識別子を意味する。例えば、物流センターの一時的な閉鎖が発生した時に遂行される措置事項に関する情報が一つのキー値で保存され得る。一方、キー値の個数は例えば、10個であり得るがこれに制限されない。
値(Value:debadging/2021/01/12/3100_SG57%28ICH8%29%20D.xlsx)はシステム管理者からアップロードされたマッピングファイルに関する情報と定義される。図5を参照すると、エクセルファイル形式でマッピングファイルがアップロードされ得ることが分かる。一方、マッピングファイルは物流センター(FC)、キャンプおよび販売者-アイテムに関するデータがそれぞれのシートに入力されたものであり得る。
図5の行動(behavior)項目はシステム管理者によって入力された措置が必要な状態であることが確認された時、処理方法に対する選択を受信する項目であり得る。例えば、00Sが選択されるとクライアントに該当商品が品切れとなったものとして表示されるようにすることができ、3PL(3rd Party Like)が選択されるとクライアントで、該当商品がリテール製品であっても提携配送会社が配送する商品であるものとして表示されるようにすることができる。
一方、第1領域(switch)510を通じてシステム管理者は該当措置事項の実行の有無を決定することができる。
第4領域540はアップデータUIで遂行できる行動を羅列したものであり、左側からそれぞれマッピングファイルアップロード、ダウンロードおよび以前バージョンへのロールバック機能を意味するものであり得る。
入力(図5のinput)選択はアップロードされたマッピングファイルの条件でどのようなルールを適用するかを選択する領域であり得る。アップロードされたマッピングファイルに含まれたデータの中で、どの組み合わせの状態情報によって該当措置事項を実行するかどうかが入力され得る。ここで、組み合わせはキャンプおよび販売者-識別子組み合わせ(CAMP+VI)、キャンプ単位(CAMP単位)、物流センターおよび販売者-識別子組み合わせ(CAMP+VI)および物流センター単位(FC単位)のうち一つであり得る。
第2領域520は該当措置事項が遂行される時間範囲を選択したり入力できる領域である。一方、第2領域520に該当措置事項が遂行される時間範囲が入力されていないか、入力された時間範囲から外れたとしても、第1領域510で該当措置事項が実行されなければならないものとしてスイッチングされたのであれば、スイッチング結果が優先となり得る。
一方、保存ボタンをクリックすることによって設定された内容が保存および適用され得、第3領域530を通じて該当設定内容がアップデートされた時間情報および該当設定を遂行したシステム管理者に関する識別子を表示することができる。
一方、前述したアップデータUI項目はシステムの具現事項によって一部の構成が削除されたり追加され得ることは該当技術分野の通常の技術者に自明である。
図6は、一実施形態によってクライアントに提供される情報を説明するための図面である。
一実施形態によると、A物流センター(ID1)の勤労者のうち、一部の新型コロナウィルス幹線のような一身上の理由によってA物流センター(ID1)が一時的に閉鎖され得る。このような場合、A物流センターに在庫があって販売が可能な運動靴(ID2)の在庫情報をクライアントに提供する時には、A物流センターの該当運動靴(ID2)を全体品切れとして表示することができる。また、A物流センターと所定の領域内に位置したクライアントが運動靴(ID2)を検索した場合にのみ運動靴(ID2)が品切れであるものとして表示することができる。
図6の(a)を参照すると、運動靴(ID2)が品切れであるものとして表示する代わりに、運動靴(ID2)の購入ボタン610を選択できないようにクライアントによって提供されるUIが変更され得る。一方、A物流センター(ID1)の業務が正常化した後、クライアントは該当運動靴(ID2)の在庫に対するデータを復旧することができる。
また、図6の(b)を参照すると、物流センターの問題が発生した時だけでなく、販売者が販売しようとする商品が嫌悪商品または不法の商品620である場合、本開示の方法は、迅速に該当商品を品切れであるものとして表示することができる。
図7は、一実施形態に係る分散システムのアプリケーションサーバーがデータを提供する方法を説明するためのフローチャートである。
段階S710で、本開示の方法は、ズーキーパーサーバーに対してイベントウォッチング(watching)を遂行することができる。
段階S720で、本開示の方法は、前記イベントウォッチング結果によって、第1データに含まれた第1フィールドの変更関連情報を前記ズーキーパーサーバーから受信することができる。ここで、ズーキーパーサーバーから受信された前記第1フィールドの変更関連情報は第2ストレージに保存された前記第1フィールドの変更内容に対する接近経路情報であり得る。一方、前記第1ストレージはデータベースであり、前記第2ストレージはウェブストレージであり得る。また、前記ズーキーパーサーバーおよび前記第2ストレージは、アップデータUIから前記第1フィールドの変更内容に対する接近経路情報および前記第1フィールドの変更内容をそれぞれ受信するものであり得る。
一方、前記アップデータUIはマッピングファイルおよび設定データのうち少なくとも一つを受信し、前記受信されたマッピングファイルおよび設定データのうち少なくとも一つから前記第1フィールドの変更内容をパーシングして前記第2ストレージに伝送するものであり得る。
そして、前記アプリケーションサーバーは前記ズーキーパーサーバーとデータ送受信のためにアップデータSDKを具備するものであり得る。
段階S730で、本開示の方法は、クライアントから前記第1データの要請信号が入力されると、第1ストレージから前記第1データを読み出すことができる。
段階S740で、本開示の方法は、前記ズーキーパーサーバーから受信された情報に基づいて、前記読み出された第1データが含む前記第1フィールドの値を変更し、前記第1フィールドの値が変更された第1データを前記クライアントに提供することができる。
一方、段階S740は前記アプリケーションサーバーがオンライン商店のためのものであり、前記第1フィールドが物流センターの運営可能の有無であり、変更された前記第1フィールドの値は前記物流センターの閉鎖を示す値である場合、前記クライアントの位置情報を確認する段階および前記確認結果、前記クライアントが前記物流センターと所定の領域内に位置する場合、前記物流センターから出庫されなければならない商品は品切れであることを前記クライアントに提供する段階を含むことができる。
もし前記物流センターから出庫されなければならない商品は品切れであることを前記クライアントに提供した後であれば、本開示の方法は、前記ズーキーパーサーバーに対するイベントウォッチング結果、前記ズーキーパーサーバーから前記第1フィールドの値が前記物流センターの閉鎖の解除を示す値に変更されたという情報を受信する段階および前記物流センターから出庫されなければならない商品の在庫数量に関する情報を前記クライアントに提供する段階をさらに含むことができる。
図8は、一実施形態に係る電子装置のブロック図を示す。
本開示の電子装置800は分散システムのアプリケーションサーバーの一例であり得る。また、電子装置800は一実施形態によって、メモリ(memory)810およびプロセッサ(processor)820を含むことができる。図8に図示された電子装置800は本実施形態に関連した構成要素のみが図示されている。したがって、図8に図示された構成要素以外に他の汎用的な構成要素がさらに含まれ得ることを本実施形態に関連した技術分野で通常の知識を有する者であれば理解することができる。
メモリ810は電子装置800内で処理される各種データを保存するハードウェアであり、例えば、メモリ810は電子装置800で処理されたデータおよび処理されるデータを保存することができる。メモリ810はプロセッサ820の動作のための少なくとも一つの命令語(instruction)を保存することができる。また、メモリ810は電子装置800により駆動されるプログラムまたはアプリケーションなどを保存することができる。メモリ810は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)、またはフラッシュメモリを含むことができる。
プロセッサ820は電子装置800の全般の動作を制御してデータおよび信号を処理することができる。プロセッサ820はメモリ810に保存された少なくとも一つの命令語または少なくとも一つのプログラムを実行することによって、電子装置800を全般的に制御することができる。プロセッサ820はCPU(central processing unit)、GPU(graphics processing unit)、AP(application processor)等で具現され得るが、これに制限されない。
プロセッサ820はズーキーパーサーバーに対してイベントウォッチングを遂行し、前記イベントウォッチング結果によって、第1データに含まれた第1フィールドの変更関連情報を前記ズーキーパーサーバーから受信し、クライアントから前記第1データの要請信号が入力されると、第1ストレージから前記第1データを読み出し、前記ズーキーパーサーバーから受信された情報に基づいて、前記読み出された第1データが含む前記第1フィールドの値を変更し、前記第1フィールドの値が変更された第1データを前記クライアントに提供することができる。
ここで、前記ズーキーパーサーバーから受信された前記第1フィールドの変更関連情報は第2ストレージに保存された前記第1フィールドの変更内容に対する接近経路情報であり得、前記第1ストレージはデータベースで、前記第2ストレージはウェブストレージであり得る。
一方、前記ズーキーパーサーバーおよび前記第2ストレージはアップデータUIから前記第1フィールドの変更内容に対する接近経路情報および前記第1フィールドの変更内容をそれぞれ受信するものであり得る。また、前記アップデータUIはマッピングファイルおよび設定データのうち少なくとも一つを受信して前記受信されたマッピングファイルおよび設定データのうち少なくとも一つから前記第1フィールドの変更内容をパーシングして前記第2ストレージに伝送することができる。
また、プロセッサ820は前記ズーキーパーサーバーとデータ送受信のためにアップデータSDKを具備することができる。
一方、プロセッサ820は前記第1フィールドの値が変更された第1データを前記クライアントに提供する時、前記アプリケーションサーバーがオンライン商店のためのものであり、前記第1フィールドが物流センターの運営可能の有無であり、変更された前記第1フィールドの値は前記物流センターの閉鎖を示す値である場合、前記クライアントの位置情報を確認し、前記確認結果、前記クライアントが前記物流センターと所定の領域内に位置する場合、前記物流センターから出庫されなければならない商品が品切れまたは提携配送会社で配送されなければならない商品であることを前記クライアントに提供することができる。
また、プロセッサ820は前記物流センターから出庫されなければならない商品は品切れまたは提携配送会社で配送されなければならない商品であることを前記クライアントに提供した後、前記ズーキーパーサーバーに対するイベントウォッチング結果、前記ズーキーパーサーバーから前記第1フィールドの値が前記物流センターの閉鎖の解除を示す値に変更されたという情報を受信し、前記物流センターから出庫されなければならない商品の在庫数量に関する情報を前記クライアントに提供することができる。
前述した実施形態に係る電子装置または端末は、プロセッサ、プログラムデータを保存し実行するメモリ、ディスクドライブのような永久保存部(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)の意味を含むことができる。
前述した実施形態は一例示に過ぎず、後述する請求項の範囲内で他の実施形態が具現され得る。
100 分散システム
110 アプリケーションサーバー
120 分散コーディネータ
130 データベース
150 クライアント
200 分散システム
210 アプリケーションサーバー
220 分散コーディネータ
230 第2ストレージ
240 第1ストレージ
300 分散システム
310 アプリケーションサーバー
320 ズーキーパーサーバー
330 データベース
340 ウェブストレージ
350 クライアント
800 電子装置
810 メモリ
820 プロセッサ

Claims (10)

  1. 分散システムのアプリケーションサーバーがデータを提供する方法であって、
    ズーキーパーサーバーに対してイベントウォッチング(watching)を遂行する段階と、
    前記イベントウォッチング結果によって、第1データに含まれた第1フィールドの変更関連情報を前記ズーキーパーサーバーから受信する段階と、
    クライアントから前記第1データの要請信号が入力されると、第1ストレージから前記第1データを読み出す段階と、
    前記ズーキーパーサーバーから受信された情報に基づいて、前記読み出された第1データが含む前記第1フィールドの値を変更し、前記第1フィールドの値が変更された第1データを前記クライアントに提供する段階と、を含む、アプリケーションサーバーがデータを管理する方法。
  2. 前記ズーキーパーサーバーから受信された前記第1フィールドの変更関連情報は
    第2ストレージに保存された前記第1フィールドの変更内容に対する接近経路情報である、請求項1に記載のアプリケーションサーバーがデータを管理する方法。
  3. 前記第1ストレージはデータベースであり、前記第2ストレージはウェブストレージである、請求項2に記載のアプリケーションサーバーがデータを管理する方法。
  4. 前記ズーキーパーサーバーおよび前記第2ストレージは、アップデータUIから前記第1フィールドの変更内容に対する接近経路情報および前記第1フィールドの変更内容をそれぞれ受信するものである、請求項2に記載のアプリケーションサーバーがデータを管理する方法。
  5. 前記アップデータUIはマッピングファイルおよび設定データのうち少なくとも一つを受信し、
    前記受信されたマッピングファイルおよび設定データのうち少なくとも一つから前記第1フィールドの変更内容をパーシングして前記第2ストレージに伝送するものである、請求項4に記載のアプリケーションサーバーがデータを管理する方法。
  6. 前記アプリケーションサーバーは前記ズーキーパーサーバーとデータ送受信のためにアップデータSDKを具備するものである、請求項1に記載のアプリケーションサーバーがデータを管理する方法。
  7. 前記第1フィールドの値が変更された第1データを前記クライアントに提供する段階は
    前記アプリケーションサーバーがオンライン商店のためのものであり、前記第1フィールドが物流センターの運営可能の有無であり、変更された前記第1フィールドの値は前記物流センターの閉鎖を示す値である場合、前記クライアントの位置情報を確認する段階と、
    前記確認結果、前記クライアントが前記物流センターと所定の領域内に位置する場合、前記物流センターから出庫されなければならない商品が品切れまたは提携配送会社で配送されなければならない商品であることを前記クライアントに提供する段階と、を含む、請求項1に記載のアプリケーションサーバーがデータを管理する方法。
  8. 前記物流センターから出庫されなければならない商品は品切れまたは提携配送会社で配送されなければならない商品であることを前記クライアントに提供した後、
    前記ズーキーパーサーバーに対するイベントウォッチング結果、前記ズーキーパーサーバーから前記第1フィールドの値が前記物流センターの閉鎖の解除を示す値に変更されたという情報を受信する段階と、
    前記物流センターから出庫されなければならない商品の在庫数量に関する情報を前記クライアントに提供する段階と、をさらに含む、請求項7に記載のアプリケーションサーバーがデータを管理する方法。
  9. 請求項1に記載された方法をコンピュータで実行させるためのプログラムを記録した、コンピュータ読み取り可能非一過性の記録媒体。
  10. 分散システムでデータを提供するための電子装置であって、
    少なくとも一つの命令語(instruction)を保存するメモリ(memory);および
    前記少なくとも一つの命令語を実行して、
    ズーキーパーサーバーに対してイベントウォッチングを遂行し、
    前記イベントウォッチング結果によって、第1データに含まれた第1フィールドの変更関連情報を前記ズーキーパーサーバーから受信し、
    クライアントから前記第1データの要請信号が入力されると、第1ストレージから前記第1データを読み出し、
    前記ズーキーパーサーバーから受信された情報に基づいて、前記読み出された第1データが含む前記第1フィールドの値を変更し、前記第1フィールドの値が変更された第1データを前記クライアントに提供するプロセッサ(processor)を含む、電子装置。
JP2021077608A 2021-03-19 2021-04-30 分散システムのデータ処理方法およびこのための電子装置 Pending JP2022145365A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210036127A KR102331734B1 (ko) 2021-03-19 2021-03-19 분산 시스템의 데이터 처리 방법 및 이를 위한 전자 장치
KR10-2021-0036127 2021-03-19

Publications (1)

Publication Number Publication Date
JP2022145365A true JP2022145365A (ja) 2022-10-04

Family

ID=78933728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021077608A Pending JP2022145365A (ja) 2021-03-19 2021-04-30 分散システムのデータ処理方法およびこのための電子装置

Country Status (5)

Country Link
US (1) US11436562B1 (ja)
JP (1) JP2022145365A (ja)
KR (2) KR102331734B1 (ja)
TW (1) TW202238410A (ja)
WO (1) WO2022196853A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661742A (zh) * 2022-03-28 2022-06-24 浪潮卓数大数据产业发展有限公司 基于Zookeeper的分布式锁的获取方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5437952B2 (ja) * 2010-08-31 2014-03-12 株式会社日立システムズ 分散構成管理データベースシステム及び分散構成データ管理方法
US9225675B2 (en) * 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
US9754004B2 (en) * 2013-12-23 2017-09-05 Emc Corporation Asynchronous notification method for data storage systems
KR101645163B1 (ko) 2014-11-14 2016-08-03 주식회사 인프라웨어 분산 시스템에서의 데이터베이스 동기화 방법
CN113037823B (zh) 2015-01-23 2024-03-22 电子湾有限公司 消息传递系统和方法
CN105391755B (zh) 2015-09-30 2018-10-19 华为技术有限公司 一种分布式系统中数据处理方法、装置及系统
CN105653406B (zh) 2015-12-31 2019-05-24 华为技术有限公司 一种管理分布式存储系统的方法及分布式存储系统
KR101837034B1 (ko) * 2016-07-22 2018-03-09 주식회사 아이티빌리지 빅 데이터 기반의 상품 판매 허브 시스템
KR102032813B1 (ko) * 2017-12-11 2019-11-08 엔에이치엔 주식회사 캐시 서버에서의 파일 동기화 방법 및 시스템
CN110392025B (zh) 2018-04-20 2022-03-25 伊姆西Ip控股有限责任公司 管理分布式系统的方法、设备和计算机可读介质
KR20200072128A (ko) * 2018-12-12 2020-06-22 네이버 주식회사 라이브 서비스를 위한 분산 파일 시스템 및 파일 관리 방법
CN111884834A (zh) 2020-07-07 2020-11-03 杭州安恒信息技术股份有限公司 基于zookeeper的分布式系统升级方法、系统和计算机设备

Also Published As

Publication number Publication date
US11436562B1 (en) 2022-09-06
WO2022196853A1 (ko) 2022-09-22
US20220300891A1 (en) 2022-09-22
KR20220131142A (ko) 2022-09-27
TW202238410A (zh) 2022-10-01
KR102331734B1 (ko) 2021-12-01
KR102553162B1 (ko) 2023-07-10

Similar Documents

Publication Publication Date Title
US11763317B2 (en) Method of messaging service
CN102917018B (zh) 端点的负载平衡
US8832648B2 (en) Managing dynamic configuration data for a set of components
CN102609813B (zh) 基于云的主数据管理体系结构
US20200319911A1 (en) Configurable virtual machines
US8886933B1 (en) Streamlined provisioning and configuration of computing devices
US20120197811A1 (en) Mechanism to allow custom implementations to manage product assets as specified by a third party
WO2013036256A1 (en) Storage and communication de-duplication
US20230162250A1 (en) Social product promotion
US20190043101A1 (en) Data driven rules engine to dynamically change product business rules
JP2022145365A (ja) 分散システムのデータ処理方法およびこのための電子装置
Myneni et al. Intelligent Hybrid Cloud Data Hosting Services with Effective Cost and High Availability.
KR102652980B1 (ko) 분산 메시징 시스템을 이용한 데이터 처리 시스템 및 그 정보 처리 방법
RU2712816C1 (ru) Интерфейс для мобильного устройства
US20190236672A1 (en) Displaying in real-time prebuilt devices that match a custom configured device
Pawlish et al. The DevOps paradigm with cloud data analytics for green business applications
US20230176895A1 (en) Transaction engine
CN112000746B (zh) 数据管理方法、装置及服务器
US11050841B2 (en) User profile sharing
US10728167B2 (en) Interrupt distribution of a single flow across multiple processors
US20240028418A1 (en) Cross-cloud resource mobility optimization
US20220207475A1 (en) Data management method for various products and electronic device using the same
Wagh Prospect of adopting cloud computing in Indian manufacturing industry
Missbach et al. SAP Solutions on Public Clouds
Rittinghouse et al. Cloud Computing: Mobile Devices