JP2022101525A - 分散メッセージングシステムを利用したデータ処理システムおよびその情報処理方法 - Google Patents

分散メッセージングシステムを利用したデータ処理システムおよびその情報処理方法 Download PDF

Info

Publication number
JP2022101525A
JP2022101525A JP2022008623A JP2022008623A JP2022101525A JP 2022101525 A JP2022101525 A JP 2022101525A JP 2022008623 A JP2022008623 A JP 2022008623A JP 2022008623 A JP2022008623 A JP 2022008623A JP 2022101525 A JP2022101525 A JP 2022101525A
Authority
JP
Japan
Prior art keywords
server
information
event
message
work
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.)
Granted
Application number
JP2022008623A
Other languages
English (en)
Other versions
JP7305253B2 (ja
Inventor
エリック・ション
Xiong Eric
スン・イク・ヤン
Sung Ihk Yang
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 JP2022101525A publication Critical patent/JP2022101525A/ja
Application granted granted Critical
Publication of JP7305253B2 publication Critical patent/JP7305253B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • 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/563Data redirection of data network streams
    • 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/566Grouping or aggregating service requests, e.g. for unified processing
    • 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/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

【課題】イベント情報を処理するデータ処理システムおよびその情報処理方法を提供する。【解決手段】本開示によると、分散メッセージングシステムを利用したデータ処理システムの情報処理方法は、第1サーバーが少なくとも一つのアイテムと関連したイベント情報を獲得する段階;前記第1サーバーが前記獲得したイベント情報に基づいて分散メッセージサーバーに作業生成要請を伝送する段階;前記作業生成要請に基づいて前記分散メッセージサーバーが生成した作業要請メッセージを第2サーバーが獲得する段階;前記作業要請メッセージに基づいて前記第2サーバーが少なくとも一つのプロセッサを使ってイベント情報を処理する段階;前記第2サーバーが前記処理されたイベント情報をフロントエンド(front end)関連サーバーに伝送する段階を含むことができる。【選択図】図1

Description

本開示は、分散メッセージングシステムを利用してイベント情報を処理するデータ処理システムおよびその情報処理方法に関する。
電子技術の発達につれて、生活全般には電子技術を利用したサービスが根付いてきた。このようなサービスは多数の使用者に提供されるため、使用者の数に比例して多くのデータを処理しなければならない場合が頻繁に発生している。例えば、電子商取引サービスで商品と関連したイベントを生成しようとする場合、イベントは多数の顧客に提供されるため、提供される顧客の数に比例して多量のイベント情報に対する処理が要求される。
このように、多量のデータを処理する場合にはデータ処理量に比例して多くの所要時間が要求される。しかし、時間は限定的であるため多量のデータをより効率的に処理するための方法が要求される。
本実施形態が解決しようとする課題は、分散メッセージングシステムに基づいて、少なくとも一つのプロセッサを利用してイベント情報が処理されるようにすることによって、より効率的かつ迅速に情報処理が行われるようにする電子装置およびその制御方法を提供するところにある。
本実施形態が達成しようとする技術的課題は前記のような技術的課題に限定されず、以下の実施形態からさらに他の技術的課題が類推され得る。
第1実施形態により、分散メッセージングシステムを利用したデータ処理システムの情報処理方法は、第1サーバーが少なくとも一つのアイテムと関連したイベント情報を獲得する段階;前記第1サーバーが前記獲得したイベント情報に基づいて分散メッセージサーバーに作業生成要請を伝送する段階;前記作業生成要請に基づいて前記分散メッセージサーバーが第2サーバーに作業要請メッセージを伝送する段階;前記作業要請メッセージに基づいて前記第2サーバーが少なくとも一つのプロセッサを使ってイベント情報を処理する段階;前記第2サーバーが前記処理されたイベント情報をフロントエンド(front end)関連サーバーに伝送する段階を含むことができる。
第2実施形態により、分散メッセージングシステムを利用したデータ処理システムは、少なくとも一つのアイテムと関連したイベント情報を獲得し、前記獲得したイベント情報に基づいて分散メッセージサーバーに作業生成要請を伝送する第1サーバー;作業生成要請に基づいて第2サーバーに作業要請メッセージを伝送する前記分散メッセージサーバー;前記作業要請メッセージに基づいて少なくとも一つのプロセッサを使ってイベント情報を処理し、前記処理されたイベント情報をフロントエンド(front end)関連サーバーに伝送する前記第2サーバーを含むことができる。
第3実施形態により、第1サーバーが少なくとも一つのアイテムと関連したイベント情報を獲得する段階;前記第1サーバーが前記獲得したイベント情報に基づいて分散メッセージサーバーに作業生成要請を伝送する段階;前記作業生成要請に基づいて前記分散メッセージサーバーが第2サーバーに作業要請メッセージを伝送する段階;前記作業要請メッセージに基づいて前記第2サーバーが少なくとも一つのプロセッサを使ってイベント情報を処理する段階;前記第2サーバーが前記処理されたイベント情報をフロントエンド(front end)関連サーバーに伝送する段階を含む、分散メッセージングシステムを利用したデータ処理システムの情報処理方法をコンピュータで実行させるためのプログラムを記録したコンピュータ読み取り可能な非一過性の記録媒体を含むことができる。
その他の実施形態の具体的な事項は詳細な説明および図面に含まれている。
本開示によると、データ処理システムおよびその情報処理方法は、分散メッセージングシステムに基づいて少なくとも一つのプロセッサを利用してイベント情報が処理されるようにすることによって、より効率的かつ迅速に情報処理が行われるようにすることができる。
また、本開示によると、データ処理システムは分散キャッシュシステムを利用してデータ処理の途中で作業を中断できるようにすることによって、データ処理に対する制御が行われるようにすることができる。
発明の効果は以上で言及した効果に制限されず、言及されていないさらに他の効果は特許請求の範囲の記載から当該技術分野の通常の技術者に明確に理解され得るであろう。
一実施形態に係るデータ処理システムの概念図を示す。 一実施形態に係るデータ処理システムの情報処理方法のフローチャートである。 一実施形態に係るデータ処理システムの動作の例を説明するための図面である。 一実施形態に係るデータ処理システムのデータ処理現況情報が提供される例を示す図面である。 一実施形態に係るデータ処理システムのイベント情報を説明するための図面である。 一実施形態に係るデータ処理システムのデータ処理完了情報が提供される例を示す図面である。
実施形態で使われる用語は、本開示での機能を考慮しつつ、可能な限り現在広く使われる一般的な用語を選択したが、これは当分野に従事する技術者の意図または判例、新しい技術の出現などによって変わり得る。また、特定の場合には出願人が任意に選定した用語もあり、この場合、該当する説明の部分で詳細にその意味を記載する。したがって、本開示で使われる用語は単なる用語の名称ではなく、その用語が有する意味と本開示の全般にわたった内容に基づいて定義されるべきである。
明細書全体において、或る部分が何らかの構成要素を「含む」とする時、これは特に反対の記載がない限り、他の構成要素を除くものではなく他の構成要素をさらに含み得ることを意味する。
明細書全体で記載された「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には本実施形態と関連した構成要素が図示されているがこれに制限されるものではなく、図1に図示された構成要素以外に他の汎用的な構成要素がさらに含まれ得る。
図1を参照すると、データ処理システム(以下、システム)100は、第1サーバー110、分散メッセージングサーバー120、少なくとも一つのサーバー130を含むことができる。第1サーバー110、分散メッセージングサーバー120および少なくとも一つのサーバー130それぞれはメモリおよびプロセッサを含むことができる。また、第1サーバー110、分散メッセージングサーバー120および少なくとも一つのサーバー130それぞれは少なくとも一つの機能や動作を処理する単位を意味し、これはハードウェアやソフトウェア、またはハードウェアおよびソフトウェアの結合で具現され得る。
第1サーバー110は少なくとも一つのアイテムと関連したイベント情報を獲得することができる。少なくとも一つのアイテムは、例えばオンラインを通じて販売される少なくとも一つの商品を含むことができる。イベント情報は生成しようとするイベントに関する情報であって、ここでイベントは例えば少なくとも一つの商品の割引イベント(または割引プロモーション)を含むことができる。
実施形態において、イベント情報は使用者の入力に基づいて獲得され得るがこれに制限されるものではなく、システム100または第1サーバー110のデータベースに保存された情報に基づいて生成され得る。使用者の入力に基づいてイベント情報が獲得される例は図5を参照することができる。
イベント情報は例えばイベントの個数、割引金額、イベントの名称、イベント類型、配送類型、商品類型、販売期間、割引決済類型、イベント開始時間およびイベント終了時間のうち少なくとも一つを含むことができる。イベントの個数は後述するデータ処理を通じて最終的に生成するイベントの数を含むことができる。割引金額はイベントを通じて割引される金額を含むことができる。イベント類型は例えばイベントが特定金額を割引する定額割引型なのか、特定の比率を割引する比率割引型なのかを含むことができる。配送類型は例えば無料配送なのかどうかを含むことができる。割引決済類型は割引を適用するための決済類型であって、例えば特定クレジットカードまたは特定決済方式を含むことができる。
実施形態において、イベント情報はランダムに生成され得る。具体的には、イベント情報はデータベースに保存された情報がランダムに組み合わせられることに基づいて生成され得る。例えばデータベースには割引金額に対する複数の情報(例:1000ウォン、3000ウォン)および商品類型に関する複数の情報(例:衣類、食品)が保存され得る。このような場合、イベント情報は割引金額に関する複数の情報のうち一つと商品類型に関する複数の情報のうち一つがそれぞれランダムに選択されて結合されることによって生成され得る。例えば食品1000ウォン割引イベントまたは衣類3000ウォン割引イベントが生成され得る。
場合により、イベント情報は現在状況を反映してデータベースに保存された情報を組み合わせることに基づいて生成され得る。例えばイベント情報は現在状況が夏である場合、データベースのうち夏と関連した情報の中からランダムに組み合わせられることに基づいて生成され得る。この時、現在状況(例:夏)に対応するイベント情報はあらかじめ指定され得る。
一方、イベント情報の生成は第1サーバー110を通じて行われ得るが、これに制限されるものではなく、システム100に含まれた別途の構成または第1サーバー110と区分される他の構成によって行われてもよい。
実施形態において、第1サーバー110はステートフル(stateful)サーバーを含むことができる。具体的には、第1サーバー110は連結された他の電子装置(例:第2サーバー、外部装置(図示されず))との通信状態をリアルタイムに追跡し、追跡した通信状態を自身のサービス提供に利用することができる。例えば、第1サーバー110は他の電子装置とのデータの送受信の結果に対する情報をリアルタイムに追跡し、これに対する応答を他の電子装置に迅速に提供し、自身の動作状態も追跡した情報に基づいてリアルタイムに変更することができる。
第1サーバー110はイベント情報に基づいて分散メッセージサーバー120に作業生成要請を伝送することができる。例えば、第1サーバー110はイベント情報を獲得すると、分散メッセージサーバー120にイベント情報の生成を要請する作業生成要請を伝送することができる。第1サーバー110は分散メッセージサーバー120を利用してイベント情報が第2サーバー130に提供されるようにすることができる。
分散メッセージサーバー120は受信した情報が他の装置に分散するように制御するサーバーを含むことができる。例えば分散メッセージサーバー120は分散メッセージングシステムであるApache Kafka(登録商標)を含むことができるが、これに制限されるものではない。
実施形態において、分散メッセージサーバー120は情報伝送と関連した複数のパーテーションを含むことができる。複数のパーテーションそれぞれには対応する他の装置(例:少なくとも一つのサーバー130)がマッピングされ得る。このような場合、第1サーバー110から受信した情報は複数のパーテーションに基づいて区分されて他の装置に伝達され得る。
一実施形態において、分散メッセージサーバー120は作業要請メッセージを特定の論理的位置に伝送し、複数のパーテーションそれぞれに対応するサーバーが前記論理的位置に保存されたメッセージを獲得する方式でメッセージ伝送が遂行されてもよい。例えば、分散メッセージサーバー120は複数のパーテーションそれぞれに第1サーバー110から受信した情報が割当され、複数のパーテーションそれぞれに対応するサーバー(例:第2サーバー131、第3サーバー132)は複数のパーテーションとの連結に基づいて作業要請メッセージを獲得することができる。具体的には、例えば分散メッセージサーバー120の第1パーテーションに第1サーバー110から受信した情報(例:10000個の割引イベントを生成するようにする作業要請メッセージ)のうち一部(例:5000個の割引イベントを生成するようにする作業要請メッセージ)が割当され、第2パーテーションに第1サーバー110から受信した情報のうち他の一部(例:残りの5000個の割引イベントを生成するようにする作業要請メッセージ)が割当され得る。このような場合、第1パーテーションに割当された情報は少なくとも一つのサーバー130のうち第1パーテーションとマッピングされたサーバーが獲得し、第2パーテーションに割当された情報は少なくとも一つのサーバー130のうち第2パーテーションとマッピングされたサーバーが獲得することができる。
他の一実施形態において、分散メッセージサーバー120は複数のパーテーションそれぞれに対応するサーバー(例:第2サーバー131、第3サーバー132)に作業要請メッセージを伝送することができる。例えば、作業生成要請が1万個の割引イベントを生成する要請である場合、分散メッセージサーバー120は作業生成要請を分けて、少なくとも一つのサーバー130それぞれに5000個の割引イベントを生成するようにする作業要請メッセージを伝送することができる。他の例を挙げると、作業生成要請が1万個の割引クーポンを生成する要請である場合、分散メッセージサーバー120は作業生成要請を分けて、少なくとも一つのサーバー130それぞれに5000個の割引クーポンを生成するようにする作業要請メッセージを伝送することができる。
以下では、説明の便宜のために第2サーバー131の動作を基準として説明することにし、第2サーバー131の動作に対応する動作は少なくとも一つのサーバー130に含まれる他のサーバー、例えば第3サーバー132によっても遂行され得る。また、図1では少なくとも一つのサーバー130が2個のサーバー(例:第2サーバー131と第3サーバー132)を含むものとして図示したが、これに制限されず、第2サーバー131または第3サーバー132に対応するさらに多い数のサーバーを含んでもよい。
第2サーバー131は、作業要請メッセージに基づいて少なくとも一つのプロセッサ141を使ってイベント情報を処理することができる。具体的には、第2サーバー131は少なくとも一つのプロセッサ141を含むことができ、少なくとも一つのプロセッサ141を利用して作業要請メッセージに対応する動作を遂行することによってイベント情報を処理することができる。例えば、作業要請メッセージが5000個の割引イベントを生成するようにするメッセージを含む場合、少なくとも一つのプロセッサ141は5000個の割引イベントを生成することができる。これに伴い、第2サーバー131に割当されたイベント情報の処理が行われ得る。
実施形態において、少なくとも一つのプロセッサ141は複数個のプロセッサで具現され得る。このような場合、第2サーバー131に割当された作業要請メッセージはそれぞれのプロセッサに分けられて処理され得る。場合により、それぞれのプロセッサに分けられる作業要請メッセージの量はプロセッサの性能、イベント情報類型によって異なり得る。例えばイベント情報が第1類型のイベント情報に対応する場合は第1プロセッサと第2プロセッサに1:1の割合で割当され、第2類型のイベント情報に対応する場合は第1プロセッサと第2プロセッサに2:1の割合で割当され得る。
第2サーバー131は処理されたイベント情報をフロントエンド(front end)関連サーバーに伝送することができる。フロントエンド(front end)関連サーバーは、実際のイベント情報を利用してサービスを提供するサーバーを含むことができる。例えばイベント情報が割引イベントである場合、フロントエンド関連サーバーは割引イベントを提供するオンラインサイトに対応するサーバーを含むことができる。
実施形態において、第2サーバー131はステートレス(stateless)(または無状態)サーバーを含むことができる。具体的には、第2サーバー131は連結された他の電子装置(例:第1サーバー130、または分散メッセージサーバー120)から受信した入力に基づいてサービスを提供することができる。すなわち、通信状態をリアルタイムに確認し、それに基づいて自身の動作を制御する第1サーバー110とは異なり、第2サーバー131は他の装置から受信する入力によって動作を遂行する。このような第2サーバー131は通信状態にかかわらず安定して動作を遂行することができる。
実施形態において、第2サーバー131は分散キャッシュシステム(memcached)を含むことができる。分散キャッシュシステムは外部データソースとの読み取り回数を減らすために、読み取る対象となるデータおよび客体のうち少なくとも一部をキャッシュ処理した構成を含むことができる。分散キャッシュシステムはソフトウェアで具現され得るが、これに制限されるものではない。
実施形態において、第2サーバー131が分散キャッシュシステムを含む場合、第2サーバー131の少なくとも一つのプロセッサ141それぞれは分散キャッシュシステムを共有することができる。例えば少なくとも一つのプロセッサが第1プロセッサと第2プロセッサを含む場合、分散キャッシュシステムは第1プロセッサと第2プロセッサそれぞれによって利用され得る。
実施形態において、分散キャッシュシステムは作業中断と関連した情報を保存することができる。例えば分散キャッシュシステムは少なくとも一つのサーバー130または少なくとも一つのプロセッサ141と共有される作業中断と関連した情報を保存することができる。作業中断と関連した情報は、作業中断を示すフラグ情報を含むことができる。このような場合、少なくとも一つのプロセッサ141は分散メッセージサーバー120から受信するメッセージに作業中断と関連した情報がある場合、受信されるメッセージに対応するイベント情報処理を中断することができる。
具体的には例えば、第2サーバー131はAイベント生成のための作業要請メッセージに基づいてAイベントを生成することができる。Aイベント生成過程で第2サーバー131は新しい作業要請メッセージを受信することができる。このような場合、第2サーバー131は受信した新しい作業要請メッセージが分散キャッシュシステムに既保存された情報に対応するかどうかを確認することができる。第2サーバー131は受信した新しい作業要請メッセージが分散キャッシュシステムに既保存された情報に対応する場合、新しい作業要請メッセージに対応するイベント処理を中断することができる。この時、新しい作業要請メッセージに対応するイベントがAイベントである場合、Aイベントの生成は中止され得る。
実施形態において、第2サーバー131は作業を中断する中断要請を受信することができる。例えば第2サーバー131は中断要請を示す既指定された情報を含むメッセージを分散メッセージングサーバー120から受信することができる。他の例を挙げると、第2サーバー131は中断要請を示す既指定された情報を含むメッセージを他の装置(例:フロントエンド関連サーバー))から受信することができる。第2サーバー131は中断要請に対応する作業要請メッセージの処理を中断し、処理が中断したメッセージの状態を中断状態と記録することができる。ここでメッセージの状態は分散キャッシュシステムに記録され得るが、これに制限されるものではない。
実施形態により、第2サーバー131は受信した中断要請が分散キャッシュシステムに保存された情報に対応するかどうかを確認することができる。例えば、分散キャッシュシステムは前述した通り、作業中断と関連した情報を含むことができるが、第2サーバー131は受信した中断要請がこのような分散キャッシュシステムに保存された情報に対応する場合、受信した中断要請により作業要請メッセージの処理を中断することができる。第2サーバー131は処理が中断したメッセージの状態を中断状態と記録することができる。
第2サーバー131は中断状態と記録されたメッセージのうち少なくとも一部を第1サーバーと関連したデータベースにアップロードすることができる。ここで、データベースは前述したイベント情報の生成と関連した情報を保存するデータベースに対応し得るがこれに制限されるものではなく、別途のデータベースに対応してもよい。
実施形態において、中断要請はフロントエンド関連サーバーの作業処理時間が既指定された値を超過することに対応して生成され得る。このような場合、第2サーバー131はフロントエンド関連サーバーの作業処理時間が既指定された値を超過する場合、中断要請を受信することができる。この時、中断要請はフロントエンド関連サーバーから第2サーバー131に提供され得るが、これに制限されるものではなく、例えばフロントエンド関連サーバーの動作状態を感知する他のサーバー、例えば第1サーバー110から第2サーバー131に提供されてもよい。
一実施形態において、中断要請はフロントエンド関連サーバーのイベントの提供と関連した作業処理時間が既指定された時間を超過する場合に生成され得る。例えばフロントエンド関連サーバーのイベントの提供と関連した動作時間が既指定された時間を超過する場合は、イベントが割引クーポン10000個の生成に対応して10000人の使用者に割引クーポンを提供しなければならないが、割引クーポンの提供に要される時間が既指定された時間を超過する場合を含むことができる。既指定された時間はイベントの種類によってあらかじめ指定され得、フロントエンド関連サーバーは処理されたイベント情報の受信に対応して既指定された時間を確認し、既指定された時間を超過してイベント提供に時間を要する場合には中断要請を生成することができる。ただし、中断要請生成はフロントエンド関連サーバー以外の他のサーバー、例えばフロントエンド関連サーバーと第1サーバーが連結される場合は、第1サーバーによって中断要請生成の有無の確認および中断要請の生成が遂行され得る。
他の一実施形態において、中断要請はフロントエンド関連サーバーの現在時間がイベントと関連して既指定された期間(例:イベントの割引期間、イベントの提供期間)と異なる場合に生成され得る。例えばフロントエンド関連サーバーの現在時間がイベントと関連して既指定された期間(例:イベントの割引期間、イベントの提供期間)と異なる場合は、フロントエンド関連サーバーの時間は2020年12月20日であるが、イベントと関連して既指定された期間は2020年11月11日から2020年11月20日である場合を含むことができる。このように、場合によって、フロントエンド関連サーバーの現在時間がイベントと関連して既指定された期間(例:イベントの割引期間、イベントの提供期間)と異なる場合は現在時間が既指定された期間より過去時点である場合を含むことができるが、これに制限されるものではない。
さらに他の一実施形態として、中断要請はイベント情報がフロントエンド関連サーバーを通じて提供されることに基づいて、顧客(または顧客の電子装置)から受信する入力の数が既指定された数を超過する場合に生成され得る。例えば現在進行中であるイベントに対する顧客の対応入力(例:クーポンの使用)が既指定された数または比率(例:提供された全体クーポンの80%)以上である場合に中断要請が生成され得る。
実施形態において、中断要請は使用者の入力によって生成され得る。例えば中断要請は使用者から第1サーバー110に既指定された入力が受信される場合に生成され得る。このような場合、第2サーバー131は分散メッセージングサーバー120を通じて第1サーバー110から中断要請を受信することができる。
実施形態において、第1サーバー110はデータベースにアップロードされた中断状態と記録されたメッセージのうち、少なくとも一部に対する再開始要請を確認することができる。第1サーバー110は分散メッセージサーバー120を通じて再開始要請に対応するメッセージのうち、少なくとも一部を第1サーバー110から第2サーバー131に伝送することができる。このような場合、第2サーバー131は受信したメッセージに対する処理を再開することができる。
場合により、再開始要請に関する情報は分散キャッシュシステムにあらかじめ保存されていてもよい。また、前記中断要請によって中断されたメッセージは分散キャッシュシステムに保存されていてもよい。このような場合、第1サーバー110は再開始要請を確認することに対応して再開始要請に関する情報を分散メッセージングサーバー120を通じて第2サーバー131に伝送することができる。第2サーバー131は受信した再開始要請に関する情報が分散キャッシュシステムに保存された情報に対応する場合、再開始要請に対応するメッセージを分散キャッシュシステムで確認して処理を再開することができる。例えば第2サーバー131は受信した再開始要請に対する情報が分散キャッシュシステムに保存された情報に対応する場合、中断されたメッセージのうち再開始要請に対応するメッセージを分散キャッシュシステムで確認し、確認されたメッセージに対する処理を遂行することができる。
実施形態において、再開始要請は使用者の入力またはフロントエンド関連サーバーの状態に基づいて生成され得る。例えば再開始要請は再開始を表す使用者の特定入力が受信されることに基づいて第1サーバー110により生成され得る。他の例を挙げると、再開始要請は第2サーバー130の動作エラーが解消される場合、第2サーバー130または第2サーバー130の状態を感知する装置(例:第1サーバー110)により生成され得る。
実施形態において、第2サーバー131は処理されたイベント情報を分散メッセージサーバー120を通じて第1サーバー110に伝送することができる。これに伴い、第1サーバー110は要請された作業の遂行状態を把握することができる。
一方、前述した通り、イベント情報は少なくとも一つのサーバー130により分けて処理され得る。このような場合、第1サーバー110は少なくとも一つのサーバー130それぞれから処理されたイベント情報を受信することができる。少なくとも一つのサーバー130のうち少なくとも一部の情報処理速度は異なり得、このような場合、第1サーバー110は処理されたイベント情報、すなわちイベント情報の処理結果を示す情報を異なる時点で受信することができる。このような情報の受信により、第1サーバー110はイベント情報の処理状態に関する情報を提供することができる。例えば第1サーバー110は少なくとも一つのサーバー130のうち一部から処理結果を獲得した場合、イベント情報の処理状態が「作業中」という情報を提供することができる。第1サーバー110は少なくとも一つのサーバー130のすべてから処理結果を獲得した場合、イベント情報の処理状態が「完了」という情報を提供することができる。
図2は、一実施形態に係るデータ処理システムの情報処理方法のフローチャートである。図2に図示された方法の各段階は、場合により図面に図示されたものとその順序を異にして遂行され得る。以下では前述した図1での内容と重複する内容が省略され得る。
図2を参照すると、段階210で、第1サーバーが少なくとも一つのアイテムと関連したイベント情報を獲得することができる。少なくとも一つのアイテムは例えばオンラインサイトを通じて販売される商品を含むことができるが、これに制限されるものではない。イベント情報は少なくとも一つのアイテムと関連して提供されるイベントに関する情報であって、例えば割引プロモーション情報を含むことができる。イベント情報は割引プロモーションと関連した多様な情報、例えばイベントの個数、割引金額、イベントの名称、イベント類型、配送類型、商品類型、販売期間、割引決済類型、イベント開始時間およびイベント終了時間のうち少なくとも一つを含むことができる。
実施形態において、イベント情報は第1サーバーまたは他の装置によって生成されることに基づいて第1サーバーが獲得することができる。しかし、これに制限されるものではなく、場合により使用者の入力に基づいて第1サーバーが獲得することができる。
段階220で、第1サーバーは獲得したイベント情報に基づいて分散メッセージサーバーに作業生成要請を伝送することができる。第1サーバーはイベント情報を獲得すると、イベント情報に対応するイベント生成を要請する作業生成要請を分散メッセージサーバーに伝送することができる。イベント情報に対応するイベントはイベント情報に基づいて生成されるサービスであって、例えば割引イベントまたはクーポン生成イベントを含むことができる。
イベントはイベント情報の処理に基づいて生成され得、イベント情報の処理方式、例えばイベント情報をどのように組み合わせるかまたはイベント情報を適用するアルゴリズムはあらかじめ指定され得る。
段階230で、作業生成要請に基づいて分散メッセージサーバーが生成した作業要請メッセージを第2サーバーが獲得することができる。分散メッセージサーバーは作業生成要請を受信すると、第2サーバーとマッピングされたパーテーションに受信された作業生成要請に基づいて作業要請メッセージを割当して、第2サーバーによって作業要請メッセージが獲得されるようにすることができる。この時、作業要請メッセージは作業生成要請に含まれ得るが、これに制限されるものではなく、分散メッセージサーバーが作業生成要請に基づいて作業要請メッセージを生成してもよい。
実施形態において、作業要請メッセージはイベント情報のうち少なくとも一部、第2サーバーに割当された作業に関する情報を含むことができる。このような場合、第2サーバーは第2サーバーに割当された作業に関する情報に基づいて受信した少なくとも一部のイベント情報を利用してイベントを生成することができる。
一方、第2サーバーは分散メッセージサーバーと連結された少なくとも一つのサーバーのうち一つに対応し得る。このような場合、第2サーバーが作業要請メッセージを獲得する場合、少なくとも一つのサーバーに含まれる第2サーバー以外の他のサーバーそれぞれも作業要請メッセージを獲得することができる。
段階240で、作業要請メッセージに基づいて第2サーバーが少なくとも一つのプロセッサを使ってイベント情報を処理することができる。第2サーバーは少なくとも一つのプロセッサを含むことができる。このような場合、第2サーバーは少なくとも一つのプロセッサを利用して、作業要請メッセージに対応するイベント生成のためにイベント情報を処理することができる。イベント情報の処理に基づいて第2サーバーに割当されたイベントが生成され得る。
段階250で、第2サーバーが処理されたイベント情報をフロントエンド関連サーバーに伝送することができる。例えば、第2サーバーはイベント情報の処理が完了すると、処理されたイベント情報をフロントエンド関連サーバーに伝送することができる。フロントエンド関連サーバーはイベントを利用してサービスを提供するサーバーであって、例えばオンラインサイトの管理のためのサーバーを含むことができるが、これに制限されるものではない。
実施形態において、処理されたイベント情報はフロントエンド関連サーバーに伝送されることに基づいて遂行され得、これに伴い、イベントがサービスを利用する使用者に提供され得る。
実施形態において、第2サーバーはイベント情報が処理されることに対応してイベント情報処理の完了を示す情報を第1サーバーに伝送することができる。このような伝送は分散メッセージサーバーを通じて行われ得る。
実施形態において、第1サーバーはイベント情報処理の完了を示す情報を第2サーバーから受信した場合、第1サーバーの使用者にイベント情報処理に関する状態情報を提供することができる。これと関連したより具体的な例は図4または図6を参照することができる。
実施形態において、データ処理システムは分散キャッシュシステムを含むことができる。分散キャッシュシステムは例えば第2サーバーに含まれ得るが、これに制限されるものではなく、別途の構成で設けられて第1サーバー、第2サーバーのような他の装置と連結され得る。
実施形態において、分散キャッシュシステムは作業中断と関連した情報を保存することができる。このような場合、第2サーバーは分散キャッシュシステムを利用して受信されるメッセージが作業中断に関連するかどうかを確認し、作業中断と関連した場合、該当メッセージに対する処理を中断することができる。例えば第2サーバーはメッセージを受信すると、分散キャッシュシステムを利用してメッセージに中断要請が含まれるかどうかを確認することができる。第2サーバーは中断要請が含まれる場合、受信したメッセージに対応する処理動作を中断することができる。
実施形態において、メッセージに関する情報処理が中断した場合、第2サーバーは第1サーバーに処理が中断したメッセージに関する情報を伝送することができる。第1サーバーは受信した情報を第1サーバーと関連したデータベースに保存することができる。場合により、処理が中断したメッセージに対する処理を再開するための入力が受信され得る。このような場合、第1サーバーは第2サーバーにメッセージ処理の再開のための再開始要請を伝送することができる。第2サーバーは再開始要請に対応するメッセージを確認し、確認されたメッセージに対する処理を遂行することができる。
実施形態によりメッセージの処理が中断した場合、分散キャッシュシステムには処理が中断したメッセージが保存され得る。このような場合、第2サーバーは再開始要請が受信されることに基づいて、分散キャッシュシステムに保存された処理が中断したメッセージを確認することができる。第2サーバーは確認されたメッセージに対する処理を再開することができる。
実施形態において、前述した中断要請はフロントエンドと関連したサーバーの状態および第1サーバーに対する使用者の入力のうち少なくとも一つに基づいて発生し得る。例えば、中断要請はフロントエンドと関連したサーバーのイベント提供にエラーが発生する場合に発生し得る。より具体的には、例えば中断要請はフロントエンド関連サーバーのイベントの提供と関連した作業処理時間が既指定された時間を超過する場合、フロントエンド関連サーバーの現在時間がイベントと関連して既指定された期間(例:イベントの割引期間、イベントの提供期間)と異なる場合、またはイベント情報がフロントエンド関連サーバーを通じて提供されることに基づいて顧客(または顧客の電子装置)から受信する入力の数が既指定された数を超過する場合に生成され得る。
具体的には例えば、フロントエンド関連サーバーのイベントの提供と関連した作業処理時間が既指定された時間を超過する場合は、イベントが割引クーポン10000個の生成であることに対応して10000人の使用者に割引クーポンを提供しなければならないが、割引クーポンの提供に要する時間が既指定された時間を超過する場合を含むことができる。既指定された時間はイベントの種類によってあらかじめ指定され得、フロントエンド関連サーバーは処理されたイベント情報の受信に対応して既指定された時間を確認し、既指定された時間を超過してイベント提供に時間を要する場合には中断要請を生成することができる。ただし、中断要請生成はフロントエンド関連サーバー以外の他のサーバー、例えばフロントエンド関連サーバーと第1サーバーが連結される場合は第1サーバーによって中断要請生成の有無の確認および中断要請の生成が遂行され得る。
また、フロントエンド関連サーバーの現在時間がイベントと関連して既指定された期間(例:イベントの割引期間、イベントの提供期間)と異なる場合は、フロントエンド関連サーバーの時間は2020年12月20日であるが、イベントと関連して既指定された期間は2020年11月11日から2020年11月20日である場合を含むことができる。場合によりフロントエンド関連サーバーの現在時間がイベントと関連して既指定された期間(例:イベントの割引期間、イベントの提供期間)と異なる場合は、現在時間が既指定された期間より過去時点である場合を含むことができるが、これに制限されるものではない。
また、イベント情報がフロントエンド関連サーバーを通じて提供されることに基づいて顧客(または顧客の電子装置)から受信する入力の数が既指定された数を超過する場合は、例えば現在進行中であるイベントに対する顧客の対応入力(例:クーポンの使用)が既指定された数または比率(例:提供された全体クーポンの80%)以上である場合を含むことができる。
図3は、一実施形態に係るデータ処理システムの動作の例を説明するための図面である。
図3を参照すると、データ処理システム300は第1サーバー310、分散メッセージサーバー320および第2サーバー330を含むことができる。場合により図示された通り、データ処理システム300はフロントエンド関連サーバー340をさらに含むことができるが、これに制限されるものではない。また、以下の図3と関連した追加的に付加されたデータ処理システム300の構成(例:入力部311、データベース312、イベント管理部335)のうち少なくとも一部は、具現の形態によりデータ処理システム300の他の構成(例:第1サーバー311、第2サーバー330、フロントエンド関連サーバー340)に含まれるように具現されたり省略され得るが、本実施形態はこれに制限されはしない。
実施形態において、入力部311は使用者301、302の入力を受信することができる。具体的には、入力部311は第1使用者301からイベント情報生成と関連した、例えばイベント情報生成のための作業処理方式を決定する入力を受信することができる。入力部311は第2使用者302からデータ処理システム300により処理されるイベント情報を受信することができる。イベント情報は例えば顧客に提供するサービス(例:割引プロモーション、クーポンプロモーション)の生成と関連した情報であり得、実施形態により作業キュー(jop queue)と指称され得る。イベント情報の入力と関連した例は図5を参照することができる。
実施形態において、入力部311は入力を受信する多様な構成で具現され得る。例えば入力部はオンラインストレージサービス(online storage service)または後述する分散メッセージサーバー320と区分される他の分散メッセージサーバーの形態で具現され得る。
実施形態において、第1サーバー310は入力部311に入力される情報を獲得することができる。例えば第1サーバー310は第1使用者301から入力された作業処理方式に関する情報を獲得し、第2使用者301から入力されたイベント情報を獲得することができる。第1サーバー310は前記作業処理方式によってイベント情報が処理されるようにすることができる。
一方、作業処理方式は例えば、分散メッセージサーバー320を通じて第1サーバー310から少なくとも一つのサーバーにイベント情報処理のための作業要請メッセージが分散提供されることに基づいて、少なくとも一つのサーバーに分けて作業要請メッセージに対応するイベント情報が処理される方式を含むことができる。
実施形態において、第1サーバー310はステートフル(stateful)サーバーであって、入力部311から入力されたイベント情報を分散メッセージサーバー320に伝送することができる。分散メッセージサーバー320は受信したイベント情報を少なくとも一つのサーバーに分けて伝送することができる。少なくとも一つのサーバーは図3の第2サーバー330を含むことができる。図示してはいないが、少なくとも一つのサーバーは第2サーバー330と区分される他のサーバーをさらに含んでもよい。このような場合、後述する第2サーバー330の動作は他のサーバーでも同様に遂行され得、第2サーバー330に伝送される作業要請メッセージは他のサーバーにも伝送され得る。
実施形態において、分散メッセージサーバー320は少なくとも一つのサーバーそれぞれに対応する複数のパーテーションを含むことができる。分散メッセージサーバーはイベント情報に対応する作業要請メッセージを生成して複数のパーテーションそれぞれに分配することができる。例えばイベント情報が10000個のプロモーションの生成であり、複数のパーテーションが2つ(この場合、少なくとも一つのサーバーは2個であり得る)の場合、10000個のプロモーションを2個に分けてそれぞれ5000個のプロモーションを生成するようにする作業要請メッセージを複数のパーテーションそれぞれに分配することができる。このような作業要請メッセージは、少なくとも一つのサーバーそれぞれにより確認されることに基づいて、少なくとも一つのサーバーそれぞれによりイベント情報の処理、すなわち5000個のプロモーションが生成され得る。
実施形態において、第2サーバー330は少なくとも一つのプロセッサ331を含むことができる。第2サーバー330は少なくとも一つのプロセッサ331を含む場合、少なくとも一つのプロセッサ331それぞれを利用して割当された作業(例:5000個のプロモーション生成)の処理を遂行することができる。一方、少なくとも一つのプロセッサ331は図示された通り、複数のプロセッサを含むことができるが、これに制限されるものではない。
実施形態において、第2サーバー330は作業要請メッセージに基づいてイベント情報の処理が遂行されると、処理されたイベント情報をフロントエンド関連サーバー340に伝送することができる。場合により図3に図示された通り、処理されたイベント情報はイベント管理部335を通じてフロントエンド関連サーバー340に伝送され得る。ここで、イベント管理部335は少なくとも一つのサーバーそれぞれと連結されて少なくとも一つのサーバーそれぞれから処理されたイベント情報を受信し、これをフロントエンド関連サーバー340に伝送することができる。
実施形態において、第1サーバー310、分散メッセージサーバー320、少なくとも一つのサーバー(例:第2サーバー330)を通じて生成されるイベントの種類は多様であり得る。このような場合、イベントの種類別に対応するフロントエンド関連サーバーは異なり得る。例えば第1イベントの場合、第1フロントエンド関連サーバーを通じて顧客に提供されるものであり、第2イベントの場合、第2フロントエンド関連サーバーを通じて顧客に提供されるものであり得る。このような場合、イベント管理部335は少なくとも一つのサーバーそれぞれから受信するイベントの種類を確認し、確認された種類によって対応するフロントエンド関連サーバーに処理されたイベント情報を提供することができる。
場合により、図示された通り、イベント管理部335は第3使用者303から入力を受信することができる。第3使用者303はイベント管理部335の動作を制御する使用者を含むことができる。このような場合、イベント管理部335は第3使用者303からイベントの種類の基準に対する入力を受信し、受信した入力に基づいて処理されたイベント情報を区分して対応するフロントエンド関連サーバーに提供することができる。
実施形態において、第2サーバー330は作業要請メッセージに基づいてイベント情報の処理が完了する場合、処理完了を示す情報を第1サーバー310に伝送することができる。第1サーバー310は受信した情報をデータベース312に保存することができる。一方、図3ではデータベース312が第1サーバー310と別途に構成される例を示したが、これに制限されるものではなく、データベース312は第1サーバー310に含まれるように具現されてもよい。
実施形態において、データ処理システム300は分散キャッシュシステム333を含むことができる。分散キャッシュシステム333は作業中断と関連した情報を保存する構成であり得る。一方、図3では分散キャッシュシステム333が第2サーバー330に含まれる例を示したがこれに制限されるものではなく、第2サーバー330と区分される構成で具現されてもよい。
分散キャッシュシステム333に保存された情報は、少なくとも一つのサーバーおよび少なくとも一つのサーバーそれぞれに含まれる少なくとも一つのプロセッサによって共有され得る。このような場合、分散メッセージサーバー320を通じて受信される情報は、分散キャッシュシステム333に基づいて中断要請なのかどうかが確認され得る。例えば第2サーバー330は分散メッセージサーバー320を通じて作業要請メッセージを受信すると、分散キャッシュシステム333に基づいて作業要請メッセージが中断要請に対応するかどうかを確認することができる。具体的には、作業要請メッセージが中断要請と関連した場合、作業要請メッセージには中断要請を示す既指定された情報が含まれ得、既指定された情報は分散キャッシュシステム333にあらかじめ保存され得る。これに伴い、第2サーバー330は作業要請メッセージを受信すると、分散キャッシュシステム333に保存された情報との比較を通じて作業要請メッセージが中断要請に関連するかどうかを確認することができる。
実施形態において、第2サーバー330は作業要請メッセージが中断要請と関連した場合、作業要請メッセージに対応する処理動作の遂行を中断することができる。例えば、第2サーバー330は作業要請メッセージが中断要請と関連した場合、第2サーバー330が処理中であるイベント情報のうち作業要請メッセージに対応するイベント情報を確認し、確認されたイベント情報の処理を中断することができる。
実施形態において、第2サーバー330はイベント情報の処理中断に対応して処理が中断したイベント情報に対応するメッセージの状態を中断状態と記録することができる。第2サーバー330は中断状態と記録されたメッセージのうち少なくとも一部を第1サーバー310と関連したデータベース312にアップロードすることができる。
場合により、第1サーバー310は処理が中断したメッセージの処理を再開始する要請を受信することができる。このような場合、第1サーバー310は再開始要請を分散メッセージサーバー320を通じて第2サーバー330に伝送することができる。再開始要請を示す情報は分散キャッシュシステム333にあらかじめ保存され得、第2サーバー330は再開始要請は分散キャッシュシステム333に基づいて確認して情報処理を再開始することができる。
図4は、一実施形態に係るデータ処理システムのデータ処理現況情報が提供される例を示す図面である。
図4を参照すると、イベント情報の処理現況に関する情報が提供され得る。例えば第1領域410にはイベント情報の処理現況に対する現在状態に関する情報が簡略に提供され、第2領域420には処理現況に対する具体的な情報が提供され得る。現在状態に関する情報は図示された通り、「登録」、「配布」、「実行」、「完了」のうち現在状態がどのような状態に対応するかどうかに関する情報を含むことができる。
処理現況に関する具体的な情報は、処理が進行されたイベント情報の処理状態項目(例:重複、成功、失敗、中断)別に対応するイベントの数を含むことができる。例えばイベント情報が601,813個のイベント生成と関連した場合、601,813個のイベントのうち項目別に対応するイベントの数を含むことができる。
実施形態において、図4は、第1サーバーの使用者に提供される画面の例を示し得るが、これに制限されるものではない。
図5は、一実施形態に係るデータ処理システムのイベント情報を説明するための図面である。具体的には、図5は、使用者入力に基づいてイベント情報が入力される場合、情報の入力のために提供される画面の例を示す。
図5を参照すると、イベント情報の入力を要請する画面が提供され得る。イベント情報はファイルを含むことができ、このような場合、イベント情報に対応するファイルが図5のような画面を通じてアップロードされ得る。これに伴い、第1サーバーはイベント情報を確認してデータ処理動作を遂行することができる。
図5ではイベント情報に対応するファイルはCSVファイルであると指称したが、このような用語に本明細書の実施形態が制限されはしない。
場合により、アップロード可能なファイルの形式はあらかじめ指定され得る。このような場合、第1サーバーは図5のような画面を通じてファイルの形式情報、すなわちテンプレート提供することができる。例えば「テンプレートダウンロード」というボタンに対する使用者の入力が受信されることに対応して、使用者の電子装置にテンプレートがダウンロードされ得る。
図6は、一実施形態に係るデータ処理システムのデータ処理完了情報が提供される例を示す図面である。具体的には図6は、イベント情報の処理が完了した場合、イベント情報の処理現況情報を提供する画面の例を示す。
図6を参照すると、イベント情報の処理が完了すると、要請された全体イベント情報に対応するイベント数の中で処理に成功したイベントの数、処理に失敗したイベントの数、すでにイベントが生成されて新しくイベントを生成していない重複イベントの数に関する情報が表示され得る。また、イベント情報の作業要請者、作業要請日、作業情報のアップデート日などのような情報が提供され得る。ただし、図6は例示にすぎず、本実施形態はこのような例に制限されず、イベント情報の処理と関連した多様な情報が提供され得る。
本実施形態に係るデータ処理システムおよびその情報処理方法はステートフル(stateful)サーバー(例:第1サーバー)に基づいて入力を受信するが、作業処理はステートレス(stateless)サーバー(例:第2サーバー)に基づいて行われるようにすることによって作業処理が通信状態にかかわらず効率的に行われるようにすることができる。
このように、分散メッセージサービスを使ってステートフルサーバーからイベント生成要請をステートレスサーバーに伝送し、ステートレスサーバーは作業の量や種類によって演算を遂行するプロセッサの数を適応的に調節し、作業を並列的に処理した後、処理結果を再び分散メッセージサービスを使ってステートフルサーバーに伝送することができる。また、作業処理結果と関連した情報をフロントサービスと関連したサーバーに伝送することによって、作業処理結果による情報を使用者に提供することができる。このような動作を通じてステートフルサーバーに情報変更や生成のための過度な負荷が発生することを防止することができ、多量の作業を並列的に分散処理することによって処理速度が速くなり得る。
また、本実施形態に係るデータ処理システムおよびその情報処理方法は、複数のステートレスサーバーに作業を分散させて並列的に処理するようにすることによって、より迅速に多量の作業が処理されるようにすることができる。
また、本実施形態に係るデータ処理システムおよびその情報処理方法は、分散キャッシュシステムを利用してステートレスサーバーに対する作業中断または作業再開始が行われるようにすることによって、ステートレスサーバーの動作を効果的に管理することができる。
前述した実施形態に係る電子装置はプロセッサ、プログラムデータを保存し実行するメモリ、ディスクドライブのような永久保存部(permanent storage)、外部装置と通信する通信ポート、タッチパネル、キー(key)、ボタンなどのような使用者インターフェース装置などを含むことができる。ソフトウェアモジュールまたはアルゴリズムで具現される方法は、前記プロセッサ上で実行可能なコンピュータ読み取り可能なコードまたはプログラム命令であって、コンピュータ読み取り可能な記録媒体上に保存され得る。ここでコンピュータ読み取り可能な記録媒体として、マグネチック保存媒体(例えば、ROM(read-only memory)、RAM(random-Access memory)、フロッピーディスク、ハードディスクなど)および光学的読み取り媒体(例えば、シーディーロム(CD-ROM)、ディーブイディー(DVD:Digital Versatile Disc))等がある。コンピュータ読み取り可能な記録媒体はネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータ読み取り可能なコードが保存され実行され得る。媒体はコンピュータによって読み取り可能であり、メモリに保存され、プロセッサで実行され得る。
本実施形態は機能的なブロック構成および多様な処理段階で示され得る。このような機能ブロックは特定機能を遂行する多様な個数のハードウェアまたは/およびソフトウェア構成で具現され得る。例えば、実施形態は一つ以上のマイクロプロセッサの制御または他の制御装置によって多様な機能を遂行できる、メモリ、プロセッシング、ロジック(logic)、ルックアップテーブル(look-up table)等のような直接回路構成を採用することができる。構成要素がソフトウェアプログラミングまたはソフトウェア要素で実行され得るのと同様に、本実施形態はデータ構造、プロセス、ルーチンまたは他のプログラミング構成の組み合わせで具現される多様なアルゴリズムを含み、C、C++、ジャヴァ(Java)、アセンブラ(assembler)、パイソンなどのようなプログラミングまたはスクリプト言語で具現され得る。機能的な側面は一つ以上のプロセッサで実行されるアルゴリズムで具現され得る。また、本実施形態は電子的な環境設定、信号処理、および/またはデータ処理などのために従来技術を採用することができる。「メカニズム」、「要素」、「手段」、「構成」のような用語は広く使われ得、機械的で物理的な構成で限定されるものではない。前記用語はプロセッサなどと連係してソフトウェアの一連の処理(routines)の意味を含むことができる。
前述した実施形態は一例示に過ぎず、後述する請求項の範囲内で他の実施形態が具現され得る。

Claims (13)

  1. 分散メッセージングシステムを利用したデータ処理システムの情報処理方法において、
    第1サーバーが少なくとも一つのアイテムと関連したイベント情報を獲得する段階;
    前記第1サーバーが前記獲得したイベント情報に基づいて分散メッセージサーバーに作業生成要請を伝送する段階;
    前記作業生成要請に基づいて前記分散メッセージサーバーが生成した作業要請メッセージを第2サーバーが獲得する段階;
    前記作業要請メッセージに基づいて前記第2サーバーが少なくとも一つのプロセッサを使ってイベント情報を処理する段階;および
    前記第2サーバーが前記処理されたイベント情報をフロントエンド(front end)関連サーバーに伝送する段階を含む、情報処理方法。
  2. 前記少なくとも一つのプロセッサは分散キャッシュシステムを共有し、
    前記分散キャッシュシステムは作業中断と関連した情報を保存する、請求項1に記載の情報処理方法。
  3. 前記第2サーバーが作業を中断する中断要請を受信する段階;
    前記第2サーバーが前記受信した中断要請に対応する作業要請メッセージの処理を中断し、前記処理が中断したメッセージの状態を中断状態と記録する段階;および
    前記中断状態と記録されたメッセージのうち少なくとも一部を第1サーバーと関連したデータベースにアップロードする段階をさらに含む、請求項2に記載の情報処理方法。
  4. 前記記録する段階は、
    前記受信した中断要請が前記分散キャッシュシステムに保存された情報に対応するかどうかを確認する段階;
    前記受信した中断要請が前記分散キャッシュシステムに保存された情報に対応する場合、前記第2サーバーが前記受信した中断要請により作業要請メッセージの処理を中断し、前記処理が中断したメッセージの状態を中断状態と記録する段階を含む、請求項3に記載の情報処理方法。
  5. 前記データベースにアップロードされた中断状態と記録されたメッセージのうち少なくとも一部に対する再開始要請を確認する段階;および
    前記分散メッセージサーバーを通じて前記再開始要請に対応するメッセージのうち少なくとも一部を前記第1サーバーから前記第2サーバーに伝送する段階をさらに含む、請求項3に記載の情報処理方法。
  6. 前記中断要請は前記フロントエンド関連サーバーの作業処理時間が既指定された値を超過することに対応して生成される、請求項3に記載の情報処理方法。
  7. 前記中断要請は前記第1サーバーの使用者の入力によって生成される、請求項3に記載の情報処理方法。
  8. 前記第2サーバーは前記処理されたイベント情報を前記分散メッセージサーバーを通じて前記第1サーバーに提供する段階をさらに含む、請求項1に記載の情報処理方法。
  9. 前記イベント情報はイベントの個数、割引金額、イベントの名称、イベント類型、配送類型、商品類型、販売期間、割引決済類型、イベント開始時間およびイベント終了時間のうち少なくとも一つを含む、請求項1に記載の情報処理方法。
  10. 前記分散メッセージサーバーは複数のパーテーションを含み、
    前記第2サーバーは前記複数のパーテーションのうち一つに対応する、請求項1に記載の情報処理方法。
  11. 前記イベント情報を処理する段階は、
    前記作業生成要請に基づいて前記少なくとも一つのプロセッサを確認する段階;および
    前記少なくとも一つのプロセッサそれぞれを利用して前記イベント情報を分けて処理する段階を含む、請求項1に記載の情報処理方法。
  12. 分散メッセージングシステムを利用したデータ処理システムにおいて、
    少なくとも一つのアイテムと関連したイベント情報を獲得し、前記獲得したイベント情報に基づいて分散メッセージサーバーに作業生成要請を伝送する第1サーバー;
    作業生成要請に基づいて第2サーバーに作業要請メッセージを伝送する前記分散メッセージサーバー;および
    前記作業要請メッセージに基づいて少なくとも一つのプロセッサを使ってイベント情報を処理し、前記処理されたイベント情報をフロントエンド(front end)関連サーバーに伝送する前記第2サーバーを含む、システム。
  13. 請求項1に記載された情報処理方法をコンピュータで実行させるためのプログラムを記録した、コンピュータ読み取り可能な非一過性の記録媒体。
JP2022008623A 2020-12-24 2022-01-24 分散メッセージングシステムを利用したデータ処理システムおよびその情報処理方法 Active JP7305253B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020200183462A KR102282699B1 (ko) 2020-12-24 2020-12-24 분산 메시징 시스템을 이용한 데이터 처리 시스템 및 그 정보 처리 방법
KR10-2020-0183462 2020-12-24
JP2021005713A JP7015944B1 (ja) 2020-12-24 2021-01-18 分散メッセージングシステムを利用したデータ処理システムおよびその情報処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021005713A Division JP7015944B1 (ja) 2020-12-24 2021-01-18 分散メッセージングシステムを利用したデータ処理システムおよびその情報処理方法

Publications (2)

Publication Number Publication Date
JP2022101525A true JP2022101525A (ja) 2022-07-06
JP7305253B2 JP7305253B2 (ja) 2023-07-10

Family

ID=77126151

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021005713A Active JP7015944B1 (ja) 2020-12-24 2021-01-18 分散メッセージングシステムを利用したデータ処理システムおよびその情報処理方法
JP2022008623A Active JP7305253B2 (ja) 2020-12-24 2022-01-24 分散メッセージングシステムを利用したデータ処理システムおよびその情報処理方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021005713A Active JP7015944B1 (ja) 2020-12-24 2021-01-18 分散メッセージングシステムを利用したデータ処理システムおよびその情報処理方法

Country Status (5)

Country Link
US (1) US11297156B1 (ja)
JP (2) JP7015944B1 (ja)
KR (3) KR102282699B1 (ja)
TW (1) TW202225995A (ja)
WO (1) WO2022139055A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114629883B (zh) * 2022-03-01 2023-12-29 北京奇艺世纪科技有限公司 服务请求的处理方法、装置、电子设备及存储介质
KR20230150565A (ko) * 2022-04-22 2023-10-31 쿠팡 주식회사 아이템의 프로모션 정보 제공 방법 및 이를 이용한 전자 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009195A (ja) * 2008-06-25 2010-01-14 Hitachi Ltd バッチ処理方法、バッチ処理プログラム、リクエスト実行装置、および、データベースシステム
JP2012155441A (ja) * 2011-01-25 2012-08-16 Hitachi Ltd イベント処理システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0155321B1 (ko) 1995-11-14 1998-11-16 양승택 분산 시스템 관리에서의 이벤트 처리방법
KR100521415B1 (ko) * 2003-12-26 2005-10-17 한국전자통신연구원 분산애플리케이션 데이터 연동을 위한 엑스엠엘 기반메시지 스위칭 장치 및 그 방법
JP5760493B2 (ja) * 2011-02-18 2015-08-12 村田機械株式会社 中継通信システム
KR20130028554A (ko) * 2011-09-09 2013-03-19 한미아이티 주식회사 메시지 버스를 이용한 대용량 분산 처리 장치 및 그 방법
KR101525795B1 (ko) * 2014-12-02 2015-06-10 (주)프리코어 통합 메시징 서비스 시스템
US10402385B1 (en) * 2015-08-27 2019-09-03 Palantir Technologies Inc. Database live reindex
JP6668456B2 (ja) * 2016-03-28 2020-03-18 株式会社日立製作所 処理システムおよび処理方法
KR20170131001A (ko) 2016-05-20 2017-11-29 주식회사 한컴엠디에스 메시지분산 서비스 환경에서의 운영 서버 제어 시스템
CN108713205B (zh) 2016-08-22 2022-11-11 甲骨文国际公司 用于自动映射与数据流环境一起使用的数据类型的系统和方法
US10666722B2 (en) * 2016-11-22 2020-05-26 Salesforce.Com, Inc. Message delivery in a distributed server environment
US10902536B2 (en) * 2017-06-14 2021-01-26 International Business Machines Corporation Cognitive emergency task coordination
US10963846B1 (en) * 2017-10-31 2021-03-30 Square, Inc. Automated service determination
KR102071955B1 (ko) 2018-06-07 2020-03-02 주식회사 티맥스소프트 분산 캐시 환경에서 멀티캐스트를 수행하는 방법 및 이를 이용한 분산 캐시 서버
KR102247247B1 (ko) 2019-06-05 2021-05-03 주식회사 티맥스티베로 데이터베이스 관리 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009195A (ja) * 2008-06-25 2010-01-14 Hitachi Ltd バッチ処理方法、バッチ処理プログラム、リクエスト実行装置、および、データベースシステム
JP2012155441A (ja) * 2011-01-25 2012-08-16 Hitachi Ltd イベント処理システム

Also Published As

Publication number Publication date
KR102652980B1 (ko) 2024-04-01
JP2022101419A (ja) 2022-07-06
KR20240046453A (ko) 2024-04-09
TW202225995A (zh) 2022-07-01
US11297156B1 (en) 2022-04-05
KR102282699B1 (ko) 2021-07-28
WO2022139055A1 (ko) 2022-06-30
KR20220092343A (ko) 2022-07-01
JP7015944B1 (ja) 2022-02-03
JP7305253B2 (ja) 2023-07-10

Similar Documents

Publication Publication Date Title
JP7202369B2 (ja) マルチテナントapiゲートウェイにおいてテナント分離を提供するためのマイクロサービスコンテナの活用
US11763317B2 (en) Method of messaging service
JP2022101525A (ja) 分散メッセージングシステムを利用したデータ処理システムおよびその情報処理方法
TWI599976B (zh) 用於客戶裝置之遠端管理的應用程式商店介面
JP6979264B2 (ja) クラウドサービス提供方法およびシステム
CN111164950B (zh) 用于用户分段即服务的方法和系统
US11064005B2 (en) System and method for clustered transactional interoperability of proprietary non-standard features of a messaging provider using a connector mechanism
US20090300584A1 (en) Methods and systems for providing a demo appliance and migrating the demo appliance to a production appliance
US9942306B2 (en) Decentralized cloud workflows
US9258355B2 (en) Decentralized cloud workflows
US20150088696A1 (en) Dynamic determination of inventory protocol
WO2020122011A1 (ja) 人材仲介支援装置、人材仲介支援方法、及びプログラム
US20230162303A1 (en) Information processing apparatus, information processing method, and storage medium
JP2010039702A (ja) バリュー管理サーバ、プログラム、バリュー管理システム及びバリュー管理方法
US10291743B2 (en) Configuring service endpoints in native client applications
CN112633953B (zh) 基于区块链的业务处理方法及系统
US11347545B2 (en) Adaptive state management for stateless services
US20180285911A1 (en) Optimizing profitability in fulfilling website-based order
TWI511060B (zh) 即時傳訊通訊裝置、方法及其非暫態電腦可讀取記錄媒體
JP6815975B2 (ja) Api管理システムおよびapi管理方法
US20230244859A1 (en) System and method for automatically sharing verified user information across remote systems
JP7480842B2 (ja) 仮想リソース管理装置、仮想リソース管理方法およびプログラム
US20220006724A1 (en) Dynamic routing of queued network-based communications using real-time information and machine learning
US9373106B1 (en) Tracking the download and purchase of digital content
US20180197211A1 (en) Dynamically generating a promotion at a checkout

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230508

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230529

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230622

R150 Certificate of patent or registration of utility model

Ref document number: 7305253

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150