(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022159404
(43)【公開日】2022-10-17
(54)【発明の名称】データ処理のシステム、方法、装置、電子機器、コンピュータ読取可能な記憶媒体、コンピュータプログラム
(51)【国際特許分類】
G06F 9/48 20060101AFI20221006BHJP
【FI】
G06F9/48 300C
【審査請求】有
【請求項の数】15
【出願形態】OL
【外国語出願】
【公開請求】
(21)【出願番号】P 2022125701
(22)【出願日】2022-08-05
(31)【優先権主張番号】202111589952.8
(32)【優先日】2021-12-23
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110000796
【氏名又は名称】弁理士法人三枝国際特許事務所
(72)【発明者】
【氏名】高鵬
(72)【発明者】
【氏名】郭少卿
(72)【発明者】
【氏名】楊振生
(72)【発明者】
【氏名】郭威
(72)【発明者】
【氏名】▲シン▼鵬擧
(72)【発明者】
【氏名】劉曾超前
(57)【要約】
【課題】データ処理の効率を向上させたデータ処理システムを提供する。
【解決手段】データ処理システムは、制御サーバと、第1プーラと、第1タスク実行マネージャーとを備え、制御サーバは所定のスケジューリングポリシーにより第1プーラから第2プーラを取得し、第1タスク実行マネージャーから第2タスク実行マネージャーを取得し、第2プーラと第2タスク実行マネージャーを制御し、第2プーラはメッセージキューの処理待ちメッセージのデータを取得し、取得したデータをシリアル化処理して記憶待ちデータを得、それをデータベースに記憶して記憶された第1データを得、データベースに第1データのデータ状態を追加し、第2タスク実行マネージャーはデータベースから第2データを取得し、第2データに対応するデータ状態は処理待ち状態で、第1データは第2データを含み、第2データに対応するタスクを実行し、その実行結果によりデータ状態を更新する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
制御サーバと、第1プーラと、第1タスク実行マネージャーとを含み、
前記制御サーバは、事前設定されたスケジューリングポリシーに基づいて第1プーラから第2プーラを取得し、事前設定されたスケジューリングポリシーに基づいて第1タスク実行マネージャーから第2タスク実行マネージャーを取得し、動作を実行するように前記第2プーラと前記第2タスク実行マネージャーを制御し、
前記第2プーラは、メッセージキューの処理待ちメッセージのデータを取得し、前記処理待ちメッセージのデータをシリアル化処理して記憶待ちデータを得、前記記憶待ちデータをデータベースに記憶して記憶された第1データを得、前記データベースに前記第1データのデータ状態を追加し、
前記第2タスク実行マネージャーは、前記データベースから第2データを取得し、前記第2データに対応するデータ状態は処理待ち状態であり、前記第1データは前記第2データを含み、前記第2データに対応するタスクを実行し、且つ前記第2データのタスクの実行結果に基づいて、前記データ状態を更新し、
前記第2データに対応するデータ状態は処理待ち状態であり、前記第1データは前記第2データを含むデータ処理システム。
【請求項2】
前記第2タスク実行マネージャーは前記第2データを逆シリアル化し、逆シリアル化されたデータを前記タスク実行マネージャーに接続されたエグゼキュータに送信し、前記エグゼキュータからフィードバックされたタスクの実行結果を受信する請求項1に記載のシステム。
【請求項3】
前記処理待ちメッセージのデータが非関係型データである場合、前記第2プーラは前記処理待ちメッセージのデータのタイプを取得し、前記タイプに基づいて、前記記憶待ちデータにキー値を追加し、
前記第2タスク実行マネージャーは、前記第2データを逆シリアル化する前に前記キー値を取得し、前記キー値に基づいて前記記憶待ちデータのタイプを取得し、前記第2データを逆シリアル化した後、前記タイプが含まれている逆シリアル化されたデータを前記第2タスク実行マネージャーに接続されたエグゼキュータに送信する請求項2に記載のシステム。
【請求項4】
前記事前設定されたスケジューリングポリシーは、ランダム、ポーリング、シャーディングブロードキャストのいずれか1つを含む請求項1に記載のシステム。
【請求項5】
前記データベースから第2データを取得し、前記第2データに対応するデータ状態は処理待ち状態であることと、
前記第2データに対応するタスクを実行することと、
前記第2データのタスクの実行結果に基づいて、前記データ状態を更新することと、を含むデータ処理方法。
【請求項6】
前記前記第2データに対応するタスクを実行することは、
前記第2データを逆シリアル化することと、
逆シリアル化されたデータをエグゼキュータに送信し、前記エグゼキュータからフィードバックされたタスクの実行結果を受信することと、を含む請求項5に記載の方法。
【請求項7】
前記第2データのキー値を取得することと、
前記キー値に基づいて記憶待ちデータのタイプを取得することと、
前記第2データを逆シリアル化した後、前記タイプが含まれている逆シリアル化されたデータを前記エグゼキュータに送信することと、をさらに含む請求項6に記載の方法。
【請求項8】
メッセージキューの処理待ちメッセージのデータを取得することと、
前記処理待ちメッセージのデータが非関係型データであることに応答して、前記処理待ちメッセージのデータのタイプを取得することと、
前記処理待ちメッセージのデータをシリアル化処理して記憶待ちデータを得ることと、
前記タイプに基づいて、前記記憶待ちデータにキー値を追加することと、
追加後の記憶待ちデータをデータベースに記憶し、記憶された第1データを得ることと、
前記データベースに前記第1データのデータ状態を追加することと、を含むデータ処理方法。
【請求項9】
前記データベースから対応するデータ状態が処理待ち状態である第2データを取得するように構成される状態取得ユニットと、
前記第2データに対応するタスクを実行するように構成されるデータプルユニットと、
前記第2データのタスクの実行結果に基づいて前記データ状態を更新するように構成される状態変更ユニットと、を含むデータ処理装置。
【請求項10】
前記データプルユニットは、
前記第2データを逆シリアル化するように構成されるプルモジュールと、
エグゼキュータに逆シリアル化されたデータを送信するように構成される送信モジュールと、
前記エグゼキュータからフィードバックされたタスクの実行結果を受信するように構成される受信モジュールと、を含む請求項9に記載の装置。
【請求項11】
前記第2データのキー値を取得するように構成されるキー値取得ユニットと、
前記キー値に基づいて前記記憶待ちデータのタイプを取得するように構成されるタイプ取得ユニットと、
前記第2データを逆シリアル化した後、前記エグゼキュータに前記タイプが含まれている逆シリアル化されたデータを送信するように構成されるデータ送信ユニットと、をさらに含む請求項10に記載の装置。
【請求項12】
メッセージキューの処理待ちメッセージのデータを取得するように構成されるデータ取得ユニットと、
前記処理待ちメッセージのデータが非関係型データであることに応答して、前記処理待ちメッセージのデータのタイプを取得するように構成されるタイプ取得ユニットと、
前記処理待ちメッセージのデータをシリアル化処理して記憶待ちデータを得るように構成されるシリアル化ユニットと、
前記タイプに基づいて、前記記憶待ちデータにキー値を追加するように構成されるキー値追加ユニットと、
追加後の記憶待ちデータをデータベースに記憶し、記憶された第1データを得るように構成される取得ユニットと、
前記データベースに前記第1データのデータ状態を追加するように構成される状態追加ユニットと、を含むデータ処理装置。
【請求項13】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続されたメモリと、を含み、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な指令が記憶され、前記指令は、前記少なくとも1つのプロセッサが請求項5~8のいずれか一項に記載の方法を実行できるように、前記少なくとも1つのプロセッサによって実行される電子機器。
【請求項14】
前記コンピュータ指令は、コンピュータに請求項5~8のいずれか一項に記載の方法を実行させるために使用される、コンピュータ指令が記憶される非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項15】
プロセッサによって実行されると、請求項5~8のいずれか一項に記載の方法を実現するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータの技術分野に関し、特にデータ処理やクラウドサービスなどの技術分野に関し、特にデータ処理のシステム、方法、装置、電子機器、コンピュータ読取可能な記憶媒体、コンピュータプログラムに関する。
【背景技術】
【0002】
メッセージキューのデータを処理する場合、メッセージキューのメッセージデータをプルして処理する必要があり、メッセージをプルして処理するロジックでは、プルと処理が一体化されており、すなわち、メッセージのプルとメッセージの実行は1つのステップに統合され、プル又は処理に必要なリソースに応じて、独立して拡張することができず、且つ異なるメッセージの間の処理ロジックが統合されているため、コードが煩雑で、管理に不利である。
【発明の概要】
【0003】
本開示は、データ処理のシステム、方法、装置、電子機器、コンピュータ読取可能な記憶媒体、コンピュータプログラムを提供する。
【0004】
第1態様によれば、データ処理システムを提供し、
当該システムは、制御サーバと、第1プーラと、第1タスク実行マネージャーとを含み、
制御サーバは、事前設定されたスケジューリングポリシーに基づいて第1プーラから第2プーラを取得し、事前設定されたスケジューリングポリシーに基づいて第1タスク実行マネージャーから第2タスク実行マネージャーを取得し、動作を実行するように第2プーラと第2タスク実行マネージャーを制御し、
第2プーラは、メッセージキューの処理待ちメッセージのデータを取得し、処理待ちメッセージのデータをシリアル化処理して、記憶待ちデータを得、記憶待ちデータをデータベースに記憶して記憶された第1データを得、データベースに第1データのデータ状態を追加し、
第2タスク実行マネージャーは、データベースから第2データを取得し、第2データに対応するデータ状態は処理待ち状態であり、第1データは第2データを含み、第2データに対応するタスクを実行し、第2データのタスクの実行結果に基づいて、データ状態を更新し、ここで、第2データに対応するデータ状態は処理待ち状態であり、第1データは第2データを含む。
【0005】
第2態様によれば、データ処理方法をさらに提供し、当該方法は、
データベースから第2データを取得し、第2データに対応するデータ状態は処理待ち状態であることと、
第2データに対応するタスクを実行することと、
第2データのタスクの実行結果に基づいて、データ状態を更新することと、を含む。
【0006】
第3態様によれば、データ処理方法をさらに提供し、当該方法は、
メッセージキューの処理待ちメッセージのデータを取得することと、
処理待ちメッセージのデータが非関係型データであることに応答して、処理待ちメッセージのデータのタイプを取得することと、
処理待ちメッセージのデータをシリアル化処理して、記憶待ちデータを得ることと、
タイプに基づいて記憶待ちデータにキー値を追加することと、
追加後の記憶待ちデータをデータベースに記憶して、記憶された第1データを得ることと、
データベースに第1データのデータ状態を追加することと、を含む。
【0007】
第4態様によれば、データ処理装置を提供し、当該装置は、
データベースから対応するデータ状態が処理待ち状態である第2データを取得するように構成される状態取得ユニットと、
第2データに対応するタスクを実行するように構成されるデータプルユニットと、
第2データのタスクの実行結果に基づいてデータ状態を更新するように構成される状態変更ユニットと、を含む。
【0008】
第5態様によれば、データ処理装置をさらに提供し、当該装置は、
メッセージキューの処理待ちメッセージのデータを取得するように構成されるデータ取得ユニットと、
処理待ちメッセージのデータが非関係型データであることに応答して、処理待ちメッセージのデータのタイプを取得するように構成されるタイプ取得ユニットと、
処理待ちメッセージのデータをシリアル化処理して、記憶待ちデータを得るように構成されるシリアル化ユニットと、
タイプに基づいて、記憶待ちデータにキー値を追加するように構成されるキー値追加ユニットと、
追加後の記憶待ちデータをデータベースに記憶して、記憶された第1データを得るように構成される取得ユニットと、
データベースに第1データのデータ状態を追加するように構成される状態追加ユニットと、を含む。
【0009】
第6態様によれば、電子機器を提供し、当該電子機器は、
少なくとも1つのプロセッサと、
少なくとも1つのプロセッサに通信可能に接続されたメモリと、を含み、ここで、
メモリには、少なくとも1つのプロセッサによって実行可能な指令が記憶され、前記指令は、少なくとも1つのプロセッサが第2態様又は第3態様のいずれか実施形態に記載の方法を実行できるように、少なくとも1つのプロセッサによって実行される。
【0010】
第7態様によれば、コンピュータ指令が記憶される非一時的なコンピュータ読み取り可能な記憶媒体を提供し、コンピュータ指令は、コンピュータに第2態様又は第3態様のいずれか実施形態に記載の方法を実行させるために使用される。
【0011】
第8態様によれば、コンピュータプログラムを含むコンピュータプログラム製品を提供し、コンピュータプログラムはプロセッサによって実行されると、第2態様又は第3態様のいずれか実施形態に記載の方法を実現する。
【0012】
本開示の実施例が提供するデータ処理システムは、制御サーバと、第1プーラと、第1タスク実行マネージャーとを含み、制御サーバは、事前設定されたスケジューリングポリシーに基づいて第1プーラから第2プーラを取得し、事前設定されたスケジューリングポリシーに基づいて第1タスク実行マネージャーから第2タスク実行マネージャーを取得し、動作を実行するように第2プーラと第2タスク実行マネージャーを制御し、第2プーラは、メッセージキューの処理待ちメッセージのデータを取得し、処理待ちメッセージのデータをシリアル化処理して記憶待ちデータを得、記憶待ちデータをデータベースに記憶して記憶された第1データを得、データベースに第1データのデータ状態を追加し、第2タスク実行マネージャーは、データベースから第2データを取得し、第2データに対応するデータ状態は処理待ち状態であり、第1データは第2データを含み、第2データに対応するタスクを実行し、且つ第2データのタスクの実行結果に基づいてデータ状態を更新し、ここで、第2データに対応するデータ状態は処理待ち状態であり、第1データは第2データを含む。このように、データベースにおける第1データにデータ状態をマークすることにより、実行マネージャーにデータ状態記録が提供され、実行マネージャーが記憶されたデータのデータ状態に基づいてタスクを実行し、且つデータ状態を更新するようにすることができ、メッセージキューのデータの抽出と処理のための分離条件を提供し、実行マネージャーを用いてタスクを独立して実行し、データプル又はデータ処理がそれぞれ単独に拡張するための条件を提供し、データプルとデータ処理の分離可能性を確保し、メッセージキューのデータの処理効率を向上させた。
【0013】
この部分に記載されている内容は、本開示の実施例の主要な又は重要な特徴を特定することを意図するものではなく、本開示の範囲を限定するものでもないことを理解すべきである。本開示の他の特徴は、以下の説明を通じて理解が容易になる。
【図面の簡単な説明】
【0014】
図面は、本方案をよりうまく理解するために使用され、本開示を限定するものではない。ここで、
【
図1】本開示によるデータ処理システムの一実施例の構造概略図である。
【
図2】本開示によるデータ処理方法の一実施例のフローチャートである。
【
図3】本開示によるデータ処理方法の別の実施例のフローチャートである。
【
図4】本開示によるデータ処理装置の一実施例の構造概略図である。
【
図5】本開示によるデータ処理装置の別の実施例の構造概略図である。
【
図6】本開示の実施例に係るデータ処理方法を実現するために使用される電子機器のブロック図である。
【発明を実施するための形態】
【0015】
以下、本開示の例示的な実施例について、図面を参照して説明し、理解を容易にするために本開示の実施例の様々な詳細が含まれ、それらは単なる例示であると理解すべきである。したがって、当業者は、本開示の範囲及び精神から逸脱することなく、本明細書に記載された実施例に対して様々な変更及び修正を行うことができることを認識すべきである。同様に、わかりやすく簡潔にするために、以下の説明では、公知の機能と構造の説明を省略する。
【0016】
図1は、本開示によるデータ処理システムの一実施例の構造概略
図100を示し、上記データ処理システムは、制御サーバ101と、第1プーラ102と、第1タスク実行マネージャー103とを含む。
【0017】
本実施例では、制御サーバ101は、第1プーラ102と、第1タスク実行マネージャー103とそれぞれ通信し、事前設定されたスケジューリングポリシーに基づいて、第1プーラ102から第2プーラ1021を取得し、事前設定されたスケジューリングポリシーに基づいて、第1タスク実行マネージャー103から第2タスク実行マネージャー1031を取得し、動作を実行するように第2プーラ1021及び第2タスク実行マネージャー1031を制御する。
【0018】
本実施例では、第1プーラ102は複数のプーラを含み、第2プーラ1021は第1プーラのうちの1つのプーラであり、制御サーバ101は事前設定されたスケジューリングポリシーに基づいて第2プーラを取得する。第1タスク実行マネージャー103は複数のタスク実行マネージャーを含み、各タスク実行マネージャーは、少なくとも1つのエグゼキュータに接続することができ、エグゼキュータはタスクを実行するために使用され、第2タスク実行マネージャー1031は、第1タスク実行マネージャー103のうちの1つのタスク実行マネージャーである。タスク実行マネージャーは、エグゼキュータを管理するコンポーネントであり、タスク実行マネージャーを介して、当該エグゼキュータに対応するタスクの記憶された第2データをエグゼキュータに送信することができる。
【0019】
本実施例では、第2プーラ1021は、メッセージキューの処理待ちメッセージのデータを取得し、処理待ちメッセージのデータをシリアル化処理して記憶待ちデータを得、記憶待ちデータをデータベースに記憶して記憶された第1データを得、データベースに第1データのデータ状態を追加する。
【0020】
本実施例では、メッセージキューは、分散システムにおける重要なコンポーネントであり、当該コンポーネントは、結果を直ちに取得することは必要がないが、同時並行性(concurrency)を制御する必要がある場合に適用され、メッセージキューは、主にアプリケーションの結合(application coupling)、非同期処理、トラフィックのピークカット(peak cut)などの問題を解決した。メッセージキューは、メモリ又は磁気ディスクに常駐することができ、メッセージキューに記憶されたメッセージは、アプリケーションによって直接読み取ることができ、メッセージキューを介して、アプリケーションは独立して実行することができる。
【0021】
本実施例では、メッセージキューには複数のメッセージがあり、第2プーラ1021は、データプロトコルなどを使用してメッセージキューから処理待ちメッセージのデータを取得し、処理待ちメッセージのデータは、特定のタスクに関連するデータであり、異なるタスクを実行する場合、メッセージキューから当該タスクに関連する処理待ちメッセージのデータを取得することができる。たとえば、ドメイン名の移管、実名の照合のときに、データ処理方法が実行される実行主体は、レジストリと通信することにより、レジストリのメッセージキューにある処理待ちメッセージのデータをプルすることで、レジストリからメカニズムの同期情報をアクティブにプルすることができる。
【0022】
本実施例では、シリアル化処理とは、1つのオブジェクト(変数)又は任意の形態のデータ構造をメモリから記憶可能なオブジェクト又は送信のプロセスに変更することを指し、処理待ちメッセージのデータは、メモリ結果に記憶されたデータであり、処理待ちメッセージのデータをデータベースに記憶できるデータに変換するために、処理待ちメッセージをシリアル化処理する必要がある。
【0023】
本実施例では、処理待ちメッセージのデータをシリアル化処理することは、事前設定されたシリアル化プロトコルに従って、処理待ちメッセージのデータをデータベースに記憶できるオブジェクトに変換し、当該データベースに記憶できるオブジェクトは記憶待ちデータであることを含む。
【0024】
本実施例では、記憶待ちデータは、記憶された第1データのデータ内容と同じであるが、両者の表現形式が異なり、記憶待ちデータはデータベースが識別できるデータであり、第1データはデータベースに永続化されたデータであり、第1データの構造形式はデータベースのデータの記憶構造と同じである。
【0025】
本実施例では、データベースのタイプは、Access、MySQL、BD2などの任意の関係型データベースであってもよい。データベースの記憶構造によれば、第1データは、例えば、関係型データ又は非関係型データなどのような複数のタイプのデータであってもよい。
【0026】
本実施例では、データベース内のデータを使用して異なるタスクを実装することができ、タスクの表現形式は、ビジネス要件、たとえば、ドメイン名の移管タスクによって異なり、さらに、タスクの具体的な実施は、エグゼキュータによって実行される必要があり、異なるタイプのエグゼキュータは対応するタイプのタスクを実行する。第1データのデータ状態は、タスク実行中の第1データの状態を示すために使用され、たとえば、記憶待ちデータをデータベースに永続的に記憶した後、記憶された第1データを得、このとき、タスクはまだ実行されておらず、記憶されたデータのデータ状態を処理待ちとしてマークすることができる。さらに、第2タスク実行マネージャー1031は、データ状態が処理待ちとしてマークされた複数の第1データからタスクを実行するための第2データを選択することができる。
【0027】
本実施例では、第2タスク実行マネージャー1031は、データベースから第2データを取得し、第2データに対応するデータ状態は処理待ち状態であり、第1データは第2データを含み、第2データに対応するタスクを実行し、第2データのタスクの実行結果に基づいてデータ状態を更新し、ここで、第2データに対応するデータ状態は処理待ち状態であり、第1データは第2データを含む。
【0028】
本実施例では、第2タスク実行マネージャー1031に接続されたエグゼキュータは、得られた第2データに基づいて対応するタスクを実行し、タスクの実行結果を第2タスク実行マネージャー1031にフィードバックし、当該タスクの実行結果は、タスク実行の成功、タスク実行の失敗、継続的な試行などを含み得る。
【0029】
本実施例では、第2タスク実行マネージャー1031は、エグゼキュータからフィードバックされたタスクの実行結果に従って、データベース内の第2データのデータ状態を更新する。たとえば、タスクを実行する前に、第2データのデータ状態は処理待ちであり、第2タスク実行マネージャー1031は、エグゼキュータと通信して、第2データに対応するタスクが実行されたことを決定すると、タスク実行マネージャーは第2データのデータ状態を正常に処理されたものとしてマークする。
【0030】
本オプションの実施形態では、データ状態はタスクの実行結果に対応し、タスクの実行が成功すると、タスク実行マネージャーは第2データのデータ状態を処理待ちから正常に処理済みに更新し、タスクの実行が失敗すると、タスク実行マネージャーは第2データのデータ状態を処理待ちから処理の失敗に更新することができ、タスクを繰り返して実行する必要がある場合、タスク実行マネージャーは第2データのデータ状態を処理待ちから継続的な試行に変更することができる。
【0031】
ドメイン名の移管(domain name transfer)とドメイン名の実名を照合するときに、レジストリは、アクティブにプルするメカニズムを介して情報を第2プーラに同期し、第2プーラと第2タスク実行マネージャーは、協働して、情報をプル及び処理し、フォールトトレランスとマルチプロセッサを備えたデータ処理システムを実現する。
【0032】
本実施例では、制御サーバ101が第2プーラと第2タスク実行マネージャーを選択する時間は異なっていてもよく、たとえば、メッセージキューの処理待ちメッセージデータを抽出する必要がある場合はプーラを選択し、異なるタスクを処理する必要がある場合はタスク実行マネージャーを選択し、対応して、第2タスク実行マネージャーに接続された少なくとも1つのエグゼキュータを決定することができる。
【0033】
本開示の実施例が提供するデータ処理システムは、制御サーバと、第1プーラと、第1タスク実行マネージャーとを含み、制御サーバは、事前設定されたスケジューリングポリシーに基づいて、第1プーラから第2プーラを取得し、事前設定されたスケジューリングポリシーに基づいて、第1タスク実行マネージャーから第2タスク実行マネージャーを取得し、動作を実行するように第2プーラと第2タスク実行マネージャーを制御し、第2プーラは、メッセージキューの処理待ちメッセージのデータを取得し、処理待ちメッセージのデータをシリアル化処理して記憶待ちデータを得、記憶待ちデータをデータベースに記憶して記憶された第1データを得、データベースに第1データのデータ状態を追加し、第2タスク実行マネージャーはデータベースから第2データを取得し、第2データに対応するデータ状態は処理待ち状態であり、第1データは第2データを含み、第2データに対応するタスクを実行し、第2データのタスクの実行結果に基づいてデータ状態を更新し、ここで、第2データに対応するデータ状態は処理待ち状態であり、第1データは第2データを含む。これにより、データベース内の第1データにデータ状態をマークすることにより、実行マネージャーにデータ状態記録を提供し、実行マネージャーは、記憶されたデータのデータ状態に基づいてタスクを実行し、データ状態を更新することができ、メッセージキューのデータの抽出と処理のための分離条件を提供し、実行マネージャーを採用してタスクを独立して実行し、データプル又はデータ処理がそれぞれ単独に拡張するための条件を提供し、データプルとデータ処理の分離可能性を確保し、メッセージキューのデータ処理効率を向上させた。
【0034】
本実施例のいくつかのオプションの実施形態では、第2タスク実行マネージャー1031は第2データを逆シリアル化し、逆シリアル化されたデータをタスク実行マネージャーに接続されたエグゼキュータに送信し、エグゼキュータからフィードバックされたタスクの実行結果を受信する。
【0035】
本オプションの実施形態では、第2タスク実行マネージャー1031は、第2データに対して逆シリアル化処理を実行してメモリオブジェクトを得、逆シリアル化とは、データベースに保存されたオブジェクトの状態と説明の情報に従って、データベースに記憶されたデータをメモリオブジェクトに変換することを指す。第2タスク実行マネージャー1031は、メモリオブジェクトをそれに接続されたエグゼキュータに送信し、エグゼキュータは得られたメモリオブジェクトに基づいて対応するタスクを実行する。
【0036】
本オプションの実施形態では、タスク実行マネージャーは、第2データの逆シリアル化されたデータをエグゼキュータに送信し、エグゼキュータからフィードバックされたタスクの実行結果を受信し、実行結果に基づいてデータベース内の記憶された第1データのデータ状態を更新することができ、タスク実行の信頼性を確保した。
【0037】
データ処理では、ドメイン移管の開始、ドメイン移管の終了、ドメイン移管の成功などのような様々なタイプのデータを処理する必要があり、タスクの結果に応じて異なる動作を実行する必要がある。非関係型データを関係型データベース内に記憶する場合、これらの情報は通常、特定のタイプを有していないか、又は複数のタイプのデータに対応し、これらのデータは通常、特定のシリアル化プロトコル(たとえば、json、xml)を使用してシリアル化された後、データベースに記憶される。データを逆シリアル化する場合は、メモリに読み込むために逆シリアル化タイプを指定する必要があり、このとき、記憶されたデータのシリアル化前のタイプが統一されていないと、データは、順次に逆シリアル化して使用することができなくなる。具体的なビジネスシーンに応じて二次判断又は強制転換(forcible conversion)を実行する必要があるため、動作体験が悪い。本開示の別の実施例では、処理待ちメッセージのデータが非関係型データである場合、第2プーラは処理待ちメッセージのデータのタイプを取得し、タイプに基づいて、キー値を記憶待ちデータに追加し、第2データを逆シリアル化する前に、第2タスク実行マネージャーはキー値を取得し、キー値に基づいて記憶待ちデータのタイプを取得し、第2データを逆シリアル化した後、タイプが含まれている逆シリアル化されたデータを第2タスク実行マネージャーに接続されたエグゼキュータに送信する。
【0038】
本実施例では、シリアル化前又はシリアル化中に、最初に、シリアル化オブジェクト(処理待ちメッセージのデータ)のタイプを取得し、次に、オブジェクトのシリアル化プロセスにおいて、余分のキー値を追加し、キー値は現在のオブジェクトの具体的なタイプを記録し、それからデータベースに記憶する。
【0039】
データベースにおける第2データを取得して使用する場合、逆シリアル化の前に、最初に、シリアル化に際して追加したキー値を取得し、次に、キー値に従ってリフレクションして具体的なタイプを取得する。続いて、取得したタイプを使用して逆シリアル化されたデータをアノテートすることにより逆シリアル化されたデータのタイプを効果的に示した。
【0040】
本開示の実施例が提供するデータ処理方法では、データのタイプを得ることができるキー値を記憶待ちデータに追加し、タスク実行マネージャーが記憶されたデータを逆シリアル化するときに、信頼できるタイプガイダンスを提供した。
【0041】
本実施例のいくつかのオプションの実施形態では、事前設定されたスケジューリングポリシーは、ランダム、ポーリング、及びシャーディングブロードキャスト(sharding broadcast)のいずれか1つを含む。
【0042】
本オプションの実施形態では、ランダムとは、制御サーバ101に接続された第1プーラ102から第2プーラ1021としてプーラをランダムに選択し、制御サーバ101に接続された第1タスク実行マネージャー103から第2タスク実行マネージャー1031としてタスク実行マネージャーをランダムに選択することを指す。ポーリングは、第1プーラ102内のすべてのプーラが必ず順番に実行され、実行された各プーラが第2プーラ1021とし、第1タスク実行マネージャー103内のすべてのタスク実行マネージャーが必ず順番に実行され、実行された各タスク実行マネージャーが第2タスク実行マネージャー1031とすることを意味する。シャーディングブロードキャストは、第1プーラ102内のプーラを複数の独立したサブブロックに分割し、これらのサブブロックは、シャードの専用ノードによって処理され、プーラサブブロックから第2プーラを得、シャーディングブロードキャストは、第1タスク実行マネージャー103を複数の独立したサブブロックに分割し、これらのサブブロックは、シャードの専用ノードによって処理され、タスク実行マネージャーサブブロックから第2タスク実行マネージャー1031を得る。
【0043】
本オプションの実施形態が提供するいくつかのスケジューリングポリシーは、第2プーラと第2タスク実行マネージャーを取得するためのさまざまなオプションの手段を提供し、プーラとタスク実行マネージャーを選択する信頼性を確保した。
【0044】
オプション的に、事前設定されたスケジューリングポリシーは、第1プーラ102における各プーラのリソース占有状況に基づいて、第2プーラとして、その中からリソースの占有量が最も小さいプーラを抽出することと、第1タスク実行マネージャー103における各プーラのリソース占有状況に基づいて、第2タスク実行マネージャー1031として、その中からリソースの占有量が最も小さいタスク実行マネージャーを抽出することと、をさらに含み得る。
【0045】
本実施例が提供するデータ処理システムでは、第1プーラと第1タスク実行マネージャーは、いずれも独立して設定され、第1プーラとメッセージキューのネットワークの送信要求に基づいて、各プーラのネットワーク帯域幅リソースを向上させることができる。第1タスク実行マネージャーとエグゼキュータとの間の接続のメモリ需要に基づいて、タスク実行マネージャーのメモリリソースを向上させることができ、それにより抽出器とタスク実行マネージャーのそれぞれが必要とするリソースに応じて、抽出器とタスク実行マネージャーのために独立して拡張をそれぞれ実行することができる。さらに、第1プーラと第1タスク実行マネージャーは独立して制御され、データ処理ロジックが分離され、メッセージ処理の管理に有利である。
【0046】
本実施例が提供するデータ処理システムは、第1プーラ及び第1タスク実行マネージャーの構造設定を通じて、メッセージキューデータのプルと処理の分離を実現し、プーラとタスクマネージャの拡張のために信頼できる根拠を提供した。メッセージキューの処理待ちメッセージのデータを処理する場合、制御サーバを使用して第2プーラと第2タスク実行マネージャーを選択し、複数のプーラとタスクマネージャの均衡選択を実現し、データ処理効率を向上させた。
【0047】
オプション的に、第2プーラ1021は、処理待ちメッセージのデータをシリアル化処理する前に、処理待ちメッセージのデータに対してデータクリーニング又はデータフィルタリングを実行して、処理待ちメッセージのデータ中の無効なデータを除去することができ、処理待ちデータのデータクリーニングとデータフィルタリングを実行することにより、処理待ちメッセージのデータの有効性を確保した。
【0048】
図2は、本開示によるデータ処理方法の別の実施例のフロー200を示し、上記データ処理方法は、以下のステップを含む。
【0049】
ステップ201:データベースから第2データを取得し、第2データに対応するデータ状態は処理待ち状態である。
【0050】
本実施例では、データ処理方法が実行される実行主体はタスク実行マネージャーであり、当該タスク実行マネージャーは複数の異なるタイプのエグゼキュータを制御することができ、複数の異なるタイプのエグゼキュータは、タスク実行マネージャーによって発行された逆シリアル化されたデータ(メモリオブジェクト)に基づいて、対応するタイプのタスクを実行することができる。
【0051】
データベース内の第2データは、
図1に示される実施例において、メッセージキューからプルした処理待ちメッセージデータであってもよく、当該処理待ちメッセージデータを、シリアル化した後、データベースに記憶して得られた第1データにおけるデータであってもよい。第2データのデータ状態は、タスク実行中の第2データの状態を示すために使用され、このとき、第2データに対応するタスクがまだ実行されておらず、第2データのデータ状態を処理待ちとする。
【0052】
本実施例では、データベース内の第1データのデータ状態は、第1データの対応するタスクの実行状態に関連しており、タスクが完了したか否かに応じて、第1データのデータ状態は、処理待ち、処理の完了、処理の失敗、及び実行の継続を含み得、第1データのデータ状態は、第2データである処理待ちのデータであり、オプション的に、タスクが実行されているとき、第1データのデータ状態は処理中をさらに含み得る。
【0053】
ステップ202:第2データに対応するタスクを実行する。
【0054】
本実施例では、上記第2データに対応するタスクを実行することは、
第2データのタイプに基づいてタスクタイプを決定することと、
タスクタイプによって第2データに対応するエグゼキュータを決定することと、
第2データをメモリオブジェクトに逆シリアル化し、当該メモリオブジェクトに基づいて対応するタスクを実行するようにエグゼキュータを制御することと、を含む。本実施例では、異なるタイプの処理待ちメッセージのデータ又は異なるタイプの第2データを後続して追加する必要がある場合、対応するエグゼキュータを追加すればよいため、エグゼキュータ拡張の便利性を向上させることできる。
【0055】
オプション的に、上記第2データに対応するタスクを実行することは、
第2データに基づいて対応するタスクをクエリすることと、
第2データを逆シリアル化処理して、逆シリアル化されたデータを得ることと、
逆シリアル化されたデータを当該タスクに対応するエグゼキュータに送信することと、を含む。
【0056】
ステップ203:第2データのタスクの実行結果に基づいて、データ状態を更新する。
【0057】
本実施例では、データ処理方法が実行される実行主体は、各エグゼキュータからフィードバックされたタスクの実行結果に基づいて、第2データのデータ状態をタスクの実行結果に対応する状態に変更する。
【0058】
具体的には、タスクの実行結果には、タスク実行の成功、タスク実行の失敗、及び継続的な試行が含まれ、タスクの実行結果がタスクの実行に成功した場合、実行主体は、データ状態を処理待ち又は処理中から正常に処理済みに変更し、タスクの実行が失敗した場合、実行主体は、データ状態を処理待ち又は処理中から処理の失敗に変更し、タスクが試行を続行する必要がある場合、実行主体は、データ状態を処理待ち又は処理中から継続的な試行に変更する。
【0059】
本実施例が提供するデータ処理方法では、データベースから第2データを取得し、第2データに対応するデータ状態は処理待ち状態であり、第2データに対応するタスクを実行し、第2データのタスクの実行結果に基づいて、データ状態を更新し、これによりメッセージキューからプルされた、シリアル化されたデータを独立して処理することができるため、処理効率とデータ処理用プロセッサのスケーラビリティを向上させた。
【0060】
本実施例のいくつかのオプションの実施形態では、上記第2データに対応するタスクを実行することは、
第2データを逆シリアル化することと、
逆シリアル化されたデータをエグゼキュータに送信し、エグゼキュータからフィードバックされたタスクの実行結果を受信することと、を含む。
【0061】
本オプションの実施形態では、第2データを取得した後、第2データを逆シリアル化し、エグゼキュータに逆シリアル化されたデータを送信し、エグゼキュータのタスクの実行結果を受信し、第2データに従ってタスクを実行して、複数の異なるタイプのデータを異なるエグゼキュータに渡してタスクを独立して実行することができるため、データのスケーラビリティを向上させた。
【0062】
本開示の別の実施例では、上記方法は、
第2データのキー値を取得することと、
キー値に基づいて記憶待ちデータのタイプを取得することと、
第2データを逆シリアル化した後、タイプが含まれている逆シリアル化されたデータをエグゼキュータに送信することと、をさらに含む。
【0063】
本実施例では、関係型データに対して記憶する必要のあるデータは非関係型である場合、抽出器は、メッセージキューから処理待ちメッセージデータを抽出した後、最初に処理待ちメッセージデータのタイプを取得することができ、当該タイプは、処理待ちメッセージデータのタスクにおけるタイプ(たとえば、整数型、浮動小数点型など)であってもよく、タイプに基づいて、データベースに記憶される記憶待ちデータにキー値を追加し、当該キー値はタイプを含む情報であり、キー値によりタイプを取得することができる。
【0064】
本実施例が実行される実行主体は、第2データ(データにキー値が付加されている)に対して逆シリアル化処理を実行し、逆シリアル化処理が完了した後、逆シリアル化されたデータを得る。得られたタイプに従って、タイプが含まれている逆シリアル化されたデータをエグゼキュータに送信する。
【0065】
本実施例では、タイプの逆シリアル化は必要がないが、逆シリアル化の結果自身にタイプが付いている。二次強制転換又は二次逆シリアル化の必要がないため、タスク実行の効率を向上させることができる。
【0066】
図3は、本開示によるデータ処理方法の一実施例のフロー300を示し、上記データ処理方法は、以下のステップを含む。
【0067】
ステップ301:メッセージキューの処理待ちメッセージのデータを取得する。
【0068】
本実施例では、メッセージキューは、分散システムにおける重要なコンポーネントであり、当該コンポーネントは、結果が直ちに得る必要はないが、同時並行性を制御する必要がある場合に適用され、メッセージキューは、主にアプリケーションの結合、非同期処理、トラフィックのピークカットなどの問題を解決した。メッセージキューは、メモリ又は磁気ディスクに常駐することができ、メッセージキューに記憶されたメッセージは、アプリケーションプログラムによって直接読み取られることができ、メッセージキューを介して、アプリケーションプログラムを独立して実行することができる。
【0069】
本実施例では、メッセージキューに複数のメッセージがあり、データ処理方法が実行される実行主体は、データプロトコルなどの方法でメッセージキューから処理待ちメッセージのデータを取得することができ、処理待ちメッセージのデータは、具体的なタスクに関連するデータであり、異なるタスクを実行する場合、メッセージキューから当該タスクに関連する処理待ちメッセージのデータを取得することができる。たとえば、ドメイン名の移管と実名の照合時に、データ処理方法が実行される実行主体は、レジストリと通信することにより、レジストリのメッセージキューにある処理待ちメッセージのデータを取得して、レジストリからメカニズムの同期情報をアクティブに取得することができる。
【0070】
ステップ302:処理待ちメッセージのデータが非関係型データであることに応答して、処理待ちメッセージのデータのタイプを取得する。
【0071】
本実施例では、関係型データに対して記憶する必要のあるデータが非関係型である場合、抽出器は、メッセージキューから処理待ちメッセージデータを抽出した後、最初に処理待ちメッセージデータのタイプを取得することができ、当該タイプは、処理待ちメッセージデータのタスクにおけるタイプ(たとえば、整数型、浮動小数点型など)であってもよい。
【0072】
ステップ303:処理待ちメッセージのデータをシリアル化処理し、記憶待ちデータを得る。
【0073】
シリアル化処理とは、オブジェクト(変数)又は任意の形態のデータ構造をメモリから記憶可能なオブジェクト又は送信のプロセスに変更することを指し、処理待ちメッセージのデータは、メモリ結果に記憶されているデータであり、処理待ちメッセージのデータをデータベースに記憶できるデータに変換するために、処理待ちメッセージをシリアル化処理する必要がある。
【0074】
本実施例では、処理待ちメッセージのデータをシリアル化処理することは、事前設定されたシリアル化プロトコルに従って処理待ちメッセージのデータをデータベースに記憶できるオブジェクトに変換することを含み、当該データベースに記憶できるオブジェクトは記憶待ちデータである。
【0075】
オプション的に、処理待ちメッセージのデータをシリアル化処理する前に、処理待ちメッセージのデータに対してデータクリーニング又はデータフィルタリングを実行して、処理待ちメッセージのデータ中の無効なデータを除去し、処理待ちメッセージのデータに対してデータクリーニング及びデータフィルタリングを実行することにより、処理待ちメッセージのデータの有効性を確保した。
【0076】
ステップ304:タイプに基づいて、記憶待ちデータにキー値を追加する。
【0077】
本実施例では、タイプに基づいて、データベースに記憶される記憶待ちデータにキー値を追加し、キー値はキーID及び当該キーIDに対応するタイプ情報を含み、当該キー値はタイプを含む情報であり、キー値によりタイプを取得することができる。
【0078】
ステップ305:追加後の記憶待ちデータをデータベースに記憶して、記憶された第1データを得る。
【0079】
本実施例では、記憶待ちデータを得た後、データ処理方法が実行される実行主体は、記憶待ちデータをデータベースに直接記憶し、実際にデータベースに記憶された、記憶された第1データを得る。
【0080】
なお、記憶待ちデータのデータ内容は、第1データのデータ内容と同じであり、両者の表現形式だけが異なり、記憶待ちデータは、データベースが識別できるデータであり、第1データはデータベースに永続化されたデータであり、第1データの構造形式はデータベースのデータの記憶構造と同じである。
【0081】
本実施例では、データベースのタイプは、Access、MySQL、BD2などの任意の関係型データベースであってもよい。
【0082】
本実施例では、データベースの記憶構造によれば、記憶されたデータは、関係型データまたは非関係型データなどのような様々なタイプのデータであってもよい。
【0083】
ステップ306:データベースに第1データのデータ状態を追加する。
【0084】
本実施例では、データベース内の第1データは異なるタスクを実装するために使用され、タスクの表現形式はドメイン名の移管タスクなどのようなさまざまなビジネス需要によって異なり、さらに、タスクの具体的な実施は、エグゼキュータによって実行される必要があり、異なるタイプのエグゼキュータは対応するタイプのタスクを実行する。第1データのデータ状態は、タスク実行中の第1データの状態を示すために使用され、たとえば、実行主体は、記憶待ちデータをデータベースに永続的に記憶した後、記憶された第1データを得、タスクがまだ実行されていない場合、第1データのデータ状態を処理待ちにマークすることができ、データ状態が処理待ちの第1データはまとめて第2データと称する。
【0085】
本実施例では、タスク実行マネージャーは、少なくとも1つのエグゼキュータを管理するコンポーネントであり、タスク実行マネージャーを介して当該エグゼキュータに対応するタスクの第2データを、各エグゼキュータのために送信することができる。
【0086】
本実施例では、タスク実行マネージャーは、第2データに対して逆シリアル化処理を実行して、メモリオブジェクトを得ることもでき、逆シリアル化とは、データベースに保存されたオブジェクトの状態と説明の情報に従って、データベースの第2データをメモリオブジェクトに変換することを指す。タスク実行マネージャーは、それに接続されているエグゼキュータにメモリオブジェクトを送信し、当該エグゼキュータは、得られたメモリオブジェクトに基づいて対応するタスクを実行し、タスク実行マネージャーにタスクの実行結果をフィードバックし、当該タスクの実行結果は、タスク実行の成功、タスク実行の失敗、継続的な試行などを含み得る。
【0087】
本実施例では、タスク実行マネージャーは、各エグゼキュータからフィードバックされたタスクの実行結果に従って、データベース内の第2データのデータ状態を変更する。たとえば、タスクを実行する前に、第2データのデータ状態は未処理であり、タスク実行マネージャーがエグゼキュータと通信して、第2データに対応するタスクが実行されたことを決定すると、タスク実行マネージャーは、当該第2データのデータ状態を正常に処理されたものとしてマークする。
【0088】
上記タスク実行マネージャーがデータ状態に基づいて、データベースから第2データ実行タスクを取得し、データ状態を更新することは、
第2データのデータ状態が未処理であると決定したことに応答して、タスク実行マネージャーは第2データを取得して逆シリアル化し、逆シリアル化されたデータを少なくとも1つのエグゼキュータに送信することと、
各エグゼキュータからフィードバックされたタスクの実行結果に基づいて、データ状態をタスクの実行結果に対応する状態に変更することと、を含む。
【0089】
本実施例が提供するデータ処理方法では、最初に、メッセージキューの処理待ちメッセージのデータを取得し、次に、処理待ちメッセージのデータが非関係型データであることに応答して、処理待ちメッセージのデータのタイプを取得し、続いて、処理待ちメッセージのデータをシリアル化処理して、記憶待ちデータを得、その次、タイプに基づいて記憶待ちデータにキー値を追加し、その後、追加後の記憶待ちデータをデータベースに記憶して、記憶された第1データを得、最後に、データベースに第1データのデータ状態を追加する。これにより、データベース内の第1データにデータ状態をマークすることにより、実行マネージャーにデータ状態記録を提供し、実行マネージャーが第1データのデータ状態に基づいてタスクを実行し、且つデータ状態を更新するようにすることができ、メッセージキューのデータの抽出と処理のための分離条件を提供し、実行マネージャーを用いてタスクを独立して実行し、データ取得又はデータ処理がそれぞれ単独に拡張する条件を提供し、データ取得とデータ処理の分離可能性を確保し、メッセージキューのデータ処理効率を向上させた。本実施例では、キー値が追加された記憶待ちデータをデータベースに記憶して、第1データを得ることにより、タスク実行マネージャーは、記憶されたデータを逆シリアル化する前に、キー値を取得し、キー値に基づいて記憶待ちデータのタイプを取得し、記憶されたデータを逆シリアル化した後、タイプが含まれている逆シリアル化されたデータを少なくとも1つのエグゼキュータに送信するようにすることができる。タイプの逆シリアル化は必要がないが、逆シリアル化の結果自身にタイプが付いている。二次強制転換又は二次逆シリアル化は必要がないため、タスク実行の効率を向上させた。
【0090】
さらに
図4を参照すると、上記各図に示される方法の実現として、本開示は、データ処理装置の別の実施例を提供し、当該装置の実施例は
図2に示される方法の実施例に対応する。
【0091】
図4に示すように、本実施例が提供するデータ処理装置400は、状態取得ユニット401と、データプルユニット402と、状態変更ユニット403とを含む。ここで、上記状態取得ユニット401は、データベースから第2データを取得するように構成されてもよく、第2データに対応するデータ状態は処理待ち状態であってもよい。上記データプルユニット402は第2データに対応するタスクを実行するように構成され得る。上記状態変更ユニット403は、第2データのタスクの実行結果に基づいて、データ状態を更新するように構成され得る。
【0092】
本実施例では、データ処理システム400において、状態取得ユニット401、データプルユニット402、及び状態変更ユニット403の具体的な処理及びそれらによって奏される技術的効果は、
図2に対応する実施例におけるステップ201、ステップ202、及びステップ203の関連する説明をそれぞれ参照することができ、ここでは繰り返さない。
【0093】
本実施例のいくつかのオプションの実施形態では、上記データプルユニット402は、プルモジュール(図示せず)、送信モジュール(図示せず)、及び受信モジュール(図示せず)を含む。ここで、上記プルモジュールは、第2データを逆シリアル化するように構成され得る。上記送信モジュールは、エグゼキュータに逆シリアル化されたデータを送信するように構成され得る。上記受信モジュールは、エグゼキュータからフィードバックされたタスクの実行結果を受信するように構成され得る。
【0094】
本実施例のいくつかのオプションの実施形態では、上記装置400は、キー値取得ユニット(図示せず)と、タイプ取得ユニット(図示せず)と、データ送信ユニット(図示せず)とをさらに含む。ここで、上記キー値取得ユニットは、第2データのキー値を取得するように構成され得る。上記タイプ取得ユニットは、キー値に基づいて記憶待ちデータのタイプを取得するように構成され得る。上記データ送信ユニットは、第2データを逆シリアル化した後、タイプが含まれている逆シリアル化されたデータをエグゼキュータに送信するように構成され得る。
【0095】
本実施例が提供するデータ処理装置では、状態取得ユニット401は、データベースから第2データを取得し、第2データに対応するデータ状態は処理待ち状態であり、データプルユニット402は第2データに対応するタスクを実行し、状態変更ユニット403は、第2データのタスクの実行結果に基づいて、データ状態を更新し、それによりメッセージキューからプルされた、シリアル化されたデータを独立して処理することができるため、処理効率及びデータ処理用プロセッサのスケーラビリティを向上させた。
【0096】
さらに
図5を参照すると、上記各図に示される方法の実現として、本開示は、データ処理装置の一実施例を提供し、当該装置の実施例は、
図3に示される方法の実施例に対応する。
【0097】
図5に示すように、本実施例が提供するデータ処理装置500は、データ取得ユニット501と、タイプ取得ユニット502と、シリアル化ユニット503と、キー値追加ユニット504と、取得ユニット505と、状態追加ユニット506とを含む。ここで、上記データ取得ユニット501は、メッセージキューの処理待ちメッセージのデータを取得するように構成され得る。上記タイプ取得ユニット502は、処理待ちメッセージのデータが非関係型データであることに応答して、処理待ちメッセージのデータのタイプを取得するように構成され得る。上記シリアル化ユニット503は、処理待ちメッセージのデータをシリアル化処理して、記憶待ちデータを得るように構成され得る。上記キー値追加ユニット504は、タイプに基づいて、記憶待ちデータにキー値を追加するように構成され得る。上記取得ユニット505は、追加後の記憶待ちデータをデータベースに記憶して、記憶された第1データを得るように構成され得る。上記状態追加ユニット506は、データベースに第1データのデータ状態を追加するように構成され得る。
【0098】
本実施例では、データ処理装置500は、データ取得ユニット501と、タイプ取得ユニット502と、シリアル化ユニット503と、キー値追加ユニット504と、取得ユニット505と、状態追加ユニット506とを含み、それらの具体的な処理及びそれらによって奏される技術的効果は、
図3に対応する実施例におけるステップ301、ステップ302、ステップ303、ステップ304、ステップ305、及びステップ306の関連する説明をそれぞれ参照することができ、ここでは繰り返さない。
【0099】
本実施例が提供するデータ処理方法では、最初に、データ取得ユニット501は、メッセージキューの処理待ちメッセージのデータを取得し、次に、タイプ取得ユニット502は、処理待ちメッセージのデータが非関係型データであることに応答して、処理待ちメッセージのデータのタイプを取得し、続いて、シリアル化ユニット503は、処理待ちメッセージのデータをシリアル化処理して、記憶待ちデータを得、その次、キー値追加ユニット504は、タイプに基づいて、記憶待ちデータにキー値を追加し、次に、取得ユニット505は、追加後の記憶待ちデータをデータベースに記憶して、記憶された第1データを得、最後に、状態追加ユニット506は、データベースに第1データのデータ状態を追加する。これにより、データベース内の第1データにデータ状態をマークすることにより、実行マネージャーにデータ状態記録を提供し、実行マネージャーは、第1データのデータ状態に基づいてタスクを実行し、且つデータ状態を更新するようにすることができ、メッセージキューのデータの抽出と処理のための分離条件を提供し、実行マネージャーを用いてタスクを独立して実行し、データ取得又はデータ処理をそれぞれ単独に拡張するための条件を提供し、データ取得とデータ処理の分離可能性を確保し、メッセージキューのデータ処理効率を向上させた。本実施例では、キー値が追加された後の記憶待ちデータをデータベースに記憶して、第1データを得、それによりタスク実行マネージャーは、記憶されたデータを逆シリアル化する前にキー値を取得し、キー値に基づいて記憶待ちデータのタイプを取得し、記憶されたデータを逆シリアル化した後、少なくとも1つのエグゼキュータにタイプが含まれている逆シリアル化されたデータを送信するようにすることができる。タイプの逆シリアル化は必要がないが、逆シリアル化の結果自身にタイプが付いている。二次強制転換又は二次逆シリアル化は必要がないため、タスク実行の効率を向上させた。
【0100】
本開示の技術的解決手段において、関連するユーザーの個人情報の収集、記憶、使用、加工、送信、提供及び公開などの処理はいずれも、関連する法律法規に準拠しており、公序良俗に違反しない。
【0101】
本開示の実施形態によれば、本開示は、電子機器、読み取り可能な記憶媒体及びコンピュータプログラムをさらに提供する。
【0102】
図6は、本開示の実施例を実施するために使用され得る例示的な電子機器600の概略ブロック図を示す。電子機器は、ラップトップ型コンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及びその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的としている。電子機器は、パーソナルデジタル処理、携帯電話、スマートフォン、ウェアラブルデバイス及びその他の類似のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は、単なる例示であり、本明細書に記載及び/又は請求されている本開示の実現を制限することを意図するものではない。
【0103】
図6に示すように、デバイス600は、読取り専用メモリ(ROM)602に記憶されるコンピュータプログラム、又は記憶ユニット608からランダムアクセスメモリ(RAM)603にロードされるコンピュータプログラムに応じて、様々な適切な動作と処理を実行することができる計算ユニット601を含む。RAM603には、デバイス600の動作に必要な様々なプログラム及びデータがさらに記憶されてもよい。計算ユニット601、ROM602及びRAM603は、バス604を介して互いに接続されている。入力/出力(I/O)インターフェース605もバス604に接続されている。
【0104】
デバイス600における複数のコンポーネントは、I/Oインターフェース605に接続されており、この複数のコンポーネントは、キーボード、マウスなどの入力ユニット606、様々なタイプのディスプレイ、スピーカーなどの出力ユニット607、磁気ディスク、光ディスクなどの記憶ユニット608、及びネットワークカード、モデム、無線通信トランシーバなどの通信ユニット609を含む。通信ユニット609は、デバイス600がインターネットなどのコンピュータネットワーク及び/又は様々な電気通信ネットワークを介して他のデバイスと情報/データを交換することを可能にする。
【0105】
計算ユニット601は、処理能力及び計算能力を有する様々な汎用及び/又は専用の処理コンポーネントであってもよい。計算ユニット601のいくつかの例には、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、様々な専用の人工知能(AI)コンピューティングチップ、機械学習モデルアルゴリズムを実行するための様々な計算ユニット、デジタル信号プロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどが含まれるが、これらに限定されない。計算ユニット601は、データ処理方法などの上述した様々な方法及び処理を実行する。たとえば、いくつかの実施例では、データ処理方法は、記憶ユニット608などの機械読取可能媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現されてもよい。いくつかの実施例では、コンピュータプログラムの一部又は全部は、ROM602及び/又は通信ユニット609を介してデバイス600にロード及び/又はインストールされ得る。コンピュータプログラムは、RAM603にロードされて計算ユニット601によって実行されるとき、上述したデータ処理方法の1つ又は複数のステップが実行されてもよい。あるいは、他の実施例では、計算ユニット601は、他の任意の適切な方法によって(たとえば、ファームウェアによって)データ処理方法を実行するように構成され得る。
【0106】
上述したシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップのシステム(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現されてもよい。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施され、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行及び/又は解釈されてもよく、当該プログラマブルプロセッサは、専用又は汎用のプログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び指令を受信することができ、データ及び指令を当該記憶システム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に送信することを含み得る。
【0107】
本開示を実施するための方法のプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせで作成され得る。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置又はデータ処理システムのプロセッサ又はコントローラに提供され得、それによりプログラムコードがプロセッサ又はコントローラによって実行されるとき、フローチャート及び/又はブロック図で規定される機能/動作が実施される。プログラムコードは、機械で完全に実行されてもよいし、機械で部分的に実行されてもよいし、独立ソフトウェアパッケージとして機械で部分的に実行され且つリモート機械で部分的に実行され、又はリモート機械又はサーバで完全に実行されてもよい。
【0108】
本開示のコンテキストにおいて、機械読取可能媒体は、指令実行システム、装置又はデバイスによって使用される、又は指令実行システム、装置又はデバイスと合わせて使用されるプログラムを含むか、又は記憶することができる有形の媒体であってもよい。機械読取可能媒体は、機械読取可能信号媒体又は機械読取可能記憶媒体であってもよい。機械読取可能媒体には、電子的、磁気的、光学的、電磁的、赤外線的、又は半導体のシステム、装置又はデバイス、又はこれらの任意の適切な組み合わせが含まれ得るが、これらに限定されない。機械読み取り可能な記憶媒体のより具体的な例には、1つ又は複数のワイヤに基づく電気接続、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、携帯型コンパクトディスクリードオンリーメモリ(CD-ROM)、光学記憶デバイス、磁気記憶デバイス、又はこれらの任意の適切な組み合わせが含まれる。
【0109】
ユーザーとのやり取りを提供するために、ここで説明したシステム及び技術は、ユーザーに情報を表示するための表示装置(たとえば、CRT(ブラウン管)又はLCD(液晶ディスプレイ)モニター)、及びユーザーが入力をコンピュータに提供できるためのキーボードとポインティング装置(たとえば、マウス又はトラックボール)を有するコンピュータに実施されてもよい。その他のタイプの装置は、ユーザーとのやり取りを提供するためにも使用されてもよく、たとえば、ユーザーに提供されるフィードバックは、任意の形態の感覚的なフィードバック(たとえば、視覚的なフィードバック、聴覚的なフィードバック、又は触覚的なフィードバック)であってもよく、任意の形態(声入力、音声入力又は触覚入力を含む)でユーザーからの入力を受け取ってもよい。
【0110】
ここで説明したシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(たとえば、データサーバとして)、又はミドルウェアコンポーネントを含むコンピューティングシステム(たとえば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(たとえば、ユーザーがここで説明したシステム及び技術の実施形態とやり取りできるグラフィカルユーザインタフェース又はネットワークブラウザを有するユーザコンピュータ)、又はこのようなバックグラウンドコンポーネント、ミドルウェアコンポーネント、又はフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムに実施されてもよい。システムのコンポーネントは、デジタルデータ通信の任意の形態又は媒体を介して(たとえば、通信ネットワーク)相互に接続されている。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)及びインターネットを含む。
【0111】
コンピュータシステムは、クライアント及びサーバを含み得る。クライアントとサーバは通常、互いに離れており、且つ通常、通信ネットワークを介してやり取りする。クライアントとサーバとの関係は、対応するコンピュータで実行され、且つ互いにクライアント-サーバ関係を有するコンピュータプログラムによって発生される。サーバは、クラウドサーバ、分散システムのサーバ、又はブロックチェーンを組み合わせたサーバであってもよい。
【0112】
以上に示された様々な形態のフローを使用して、ステップを並べ替えたり、追加したり、削除したりすることができることを理解すべきである。たとえば、本開示に記載されている各ステップは、並行に実行されてもよいし、順次に実行されてもよいし、異なる順序で実行されてもよく、本開示で開示された技術的解決手段の所望の結果を実現することができる限り、本明細書では限定しない。
【0113】
上記具体的な実施形態は、本開示の保護範囲を制限するものではない。当業者にとっては、設計要件及びその他の要因に応じて、様々な修正、組み合わせ、サブ組み合わせ及び置換を行ってもよいことを理解すべきである。本開示の精神及び原則内で行われた修正、均等な置換及び改善などはいずれも本開示の保護範囲に含まれるとすべきである。
【外国語明細書】