JP6436594B2 - ストリーム計算システムにおけるデータ処理方法、制御ノードおよびストリーム計算システム - Google Patents

ストリーム計算システムにおけるデータ処理方法、制御ノードおよびストリーム計算システム Download PDF

Info

Publication number
JP6436594B2
JP6436594B2 JP2016555667A JP2016555667A JP6436594B2 JP 6436594 B2 JP6436594 B2 JP 6436594B2 JP 2016555667 A JP2016555667 A JP 2016555667A JP 2016555667 A JP2016555667 A JP 2016555667A JP 6436594 B2 JP6436594 B2 JP 6436594B2
Authority
JP
Japan
Prior art keywords
node
work
parallelism
execution unit
work node
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.)
Active
Application number
JP2016555667A
Other languages
English (en)
Other versions
JP2017509075A (ja
Inventor
云▲龍▼ 史
云▲龍▼ 史
命榛 夏
命榛 夏
▲誠▼ 何
▲誠▼ 何
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2017509075A publication Critical patent/JP2017509075A/ja
Application granted granted Critical
Publication of JP6436594B2 publication Critical patent/JP6436594B2/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/828Allocation of resources per group of connections, e.g. per group of users

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明はコンピュータ技術の分野に関し、詳細には、ストリーム計算システムにおけるデータ処理方法、制御ノードおよびストリーム計算システムに関する。
現在、データ集中型サービスが広く適用されており、且つ、典型的なデータ集中型サービスは、金融サービス、ネットワーク監視、電気通信データ管理、Webアプリケーション等を含む。データ集中型サービスでは、データは大容量および高速によって特徴づけられ、且つ、時間変化する。従って、耐久性があり安定した関係モデルを使用してデータモデリングを実行するのには適さないが、一時的なデータストリームモデルを使用してデータモデリングを実行するのには適し、従って、データストリーム計算に対する研究が現れる。データストリーム計算は、パイプラインのようなデータ処理モードである。データストリーム計算は、データ値は時間が経過するにつれて減少するという概念から来る。従って、イベントがデータの生成をトリガした後、データはできるだけ早く処理される必要がある。データが生成されるやいなや直ちにデータが処理されること、すなわち、バッチ処理のためにデータをバッファリングする代わりに、1つのイベントが発生するやいなや直ちにデータ処理が一度に実行されることは最適である。
ストリーム計算システムでは、ストリーミングデータ処理モデルに基づいてデータストリーム計算が実行される。図1に示されるように、サービスデータ処理ロジックは一般に、有向非サイクルグラフ(Directed Acyclic Graph, DAG; またはフローグラフと呼ばれる)に示されるデータ処理モードに変換される必要があり、グラフ内のオペレータ(Operator)はデータの処理操作を担い、データストリーム(stream)はOperator間のデータ送信を表し、全てのOperatorは分散モードで実行されてよい。
従来技術では、データストリーム計算のためのストリーミングデータ処理モデルを設定するための解決手段は、物理装置(physical equipment, PE、または実行ユニットと呼ばれる)および論理ユニット(一般にDAGグラフ内のOperatorとして示されるか、または作業ノードと呼ばれる)が複数対一の関係であることである。Operatorの並行度の静的な構成は、この解決手段でサポートされる。すなわち、Operatorの、ユーザによって静的に構成される並行度に従って、各Operatorは、サービス実行プロセスにおいて、サービスによって生成されるデータストリームを処理するために、並行度に従って、対応する数の実行ユニットを呼び出す。
ストリーム計算システムは一般に、分散型のリアルタイムストリーム処理システムであるため、システム内のタスクの処理状態はリアルタイムで変化する。リアルタイムの変化状態のために、ユーザによって初期に設定される並行度は、多くの場合で最適でなく、従って、ユーザによって初期に設定される並行度に従って生成されるストリーミングデータ処理モデルは、システムのリアルタイムな変化に順応できず、それによって、ストリーム計算システムにおけるリソースの浪費を引き起こすとともに、ストリーム計算システムのデータ処理能力を大きく制限する。
本発明は、サービス処理状態に従って、リアルタイムでストリーム計算システムにおける作業ノードの並行度を調整するために、ストリーム計算システムにおけるデータ処理方法および制御ノード、ならびにストリーム計算システムを提供し、それによって、ストリーム計算システムのデータ処理能力およびリソース利用を改善する。
第1の態様によると、本発明はストリーム計算システムにおけるデータ処理方法を提供し、ここで、ストリーム計算システムは、制御ノードと複数の作業ノードとを含み、方法は、
制御ノードによって、構成された各作業ノードの並行度に従って、複数の作業ノードの1つまたは複数の作業ノードを、データストリームを処理するために呼び出すステップと、
制御ノードによって、1つまたは複数の作業ノードの各作業ノードと他の作業ノードとの間のデータトラフィックに関する情報と、1つまたは複数の作業ノードの各作業ノードの処理速度情報とを収集するステップと、
制御ノードによって、収集されたデータトラフィック情報と処理速度情報とに従って、1つまたは複数の作業ノードの各作業ノードの最適化並行度を決定するステップと、
制御ノードによって、1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの並行度と同じであるかどうかを別々に決定し、1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの並行度と同じでない場合、作業ノードの最適化並行度に従って、作業ノードの並行度を調整するステップと
を含む。
第1の態様を参照すると、第1の可能な実施方式では、各作業ノードは1つまたは複数の実行ユニットを含み、作業ノードがデータストリームを処理するために呼び出されたとき、具体的には、作業ノード内に含まれる実行ユニットはデータストリームを処理し、作業ノードの並行度は作業ノード内に含まれる実行ユニットの数を示し、制御ノードによって、作業ノードの最適化並行度に従って、作業ノードの並行度を調整するステップは、
制御ノードによって、作業ノードの最適化並行度に従って、少なくとも1つの実行ユニットを作業ノードに追加するか、または、作業ノードの少なくとも1つの実行ユニットを削除するステップであって、その結果、作業ノード内に現在含まれている実行ユニットの数によって表される作業ノードの並行度は、作業ノードの最適化並行度と同じである、ステップを含む。
第1の態様の第1の可能な実施方式を参照すると、第2の可能な実施方式では、制御ノードによって、作業ノードの最適化並行度に従って、少なくとも1つの実行ユニットを作業ノードに追加するか、または、作業ノードの少なくとも1つの実行ユニットを削除するステップは、
作業ノードの最適化並行度が作業ノードの並行度よりも大きいとき、制御ノードによって、新しい実行ユニットを作成するために使用される第1の制御命令を生成し、第1の制御命令を作業ノードに送信するステップであって、その結果、作業ノードは、第1の制御命令を受信した後、少なくとも1つの新しい実行ユニットを作成するとともに新しい実行ユニットと別の実行ユニットとの間のデータチャネルを作成し、ここで、作業ノード内に現在含まれている実行ユニットの合計数によって表される作業ノードの並行度は、作業ノードの最適化並行度と同じである、ステップと、
作業ノードの最適化並行度が作業ノードの並行度よりも小さいとき、制御ノードによって、作業ノードの実行ユニットを削除するために使用される第2の制御命令を生成し、第2の制御命令を作業ノードに送信するステップであって、その結果、作業ノードは、第2の制御命令を受信した後、作業ノードの少なくとも1つの実行ユニットを削除するとともに削除された実行ユニットに接続されたデータチャネルを削除し、ここで、作業ノード内に現在含まれている実行ユニットの合計数によって表される作業ノードの並行度は、作業ノードの最適化並行度と同じである、ステップと
を含む。
第1の態様の第1または第2の可能な実施方式を参照すると、第3の可能な実施方式では、作業ノードの最適化並行度に従って、少なくとも1つの実行ユニットを作業ノードに追加するか、または、作業ノードの少なくとも1つの実行ユニットを削除するステップの後、方法は、
制御ノードによって、追加または削除された少なくとも1つの実行ユニットに従って、作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整するステップであって、ここで、データ配信ポリシーは、アップストリーム作業ノードがデータを配信するときの、データ受信デバイスと、データ受信時のデータ受信デバイスのデータ量とを示すために使用される、ステップと、
制御ノードによって、調整されたデータ配信ポリシーをアップストリーム作業ノードに送信するステップであって、その結果、ダウンストリームターゲット作業ノードに対応するターゲット実行ユニットを決定した後、アップストリーム作業ノードは、調整されたデータ配信ポリシーに従って、データパケットをターゲット実行ユニットに対応して配信する、ステップと
をさらに含む。
第1の態様の第1または第2の可能な実施方式を参照すると、第4の可能な実施方式では、作業ノードの最適化並行度に従って、少なくとも1つの実行ユニットを作業ノードに追加するか、または、作業ノードの少なくとも1つの実行ユニットを削除するステップの後、方法は、
制御ノードによって、追加または削除された少なくとも1つの実行ユニットに従って、作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整するステップと、
制御ノードによって、調整されたデータ配信ポリシーをアップストリーム作業ノードに送信するステップであって、その結果、アップストリーム作業ノードは、調整されたデータ配信ポリシーに従って、ターゲット作業ノードが属する、少なくとも1つの作業ノードを含む作業ノードグループを決定し、作業ノードグループからダウンストリームターゲット作業ノードを決定し、ターゲット作業ノードに対応するターゲット実行ユニットを決定した後、データパケットをターゲット実行ユニットに対応して配信する、ステップと
をさらに含む。
第2の態様によると、本発明はストリーム計算システムにおける制御ノードを提供し、ここで、ストリーム計算システムは、制御ノードと複数の作業ノードとを含み、制御ノードは、
構成された各作業ノードの並行度に従って、複数の作業ノードの1つまたは複数の作業ノードを、データストリームを処理するために呼び出すように構成される呼び出しユニットと、
1つまたは複数の作業ノードの各作業ノードと他の作業ノードとの間のデータトラフィックに関する情報と、1つまたは複数の作業ノードの各作業ノードの処理速度情報とを収集するように構成される情報収集ユニットと、
情報収集ユニットによって収集されたデータトラフィック情報と処理速度情報とに従って、1つまたは複数の作業ノードの各作業ノードの最適化並行度を決定するように構成される計算ユニットと、
1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの並行度と同じであるかどうかを別々に決定し、1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの並行度と同じでない場合、作業ノードの最適化並行度に従って、作業ノードの並行度を調整するように構成される調整ユニットと
を含む。
第2の態様を参照すると、第1の可能な実施方式では、各作業ノードは1つまたは複数の実行ユニットを含み、各作業ノードは、データストリームを処理するために作業ノード自身の実行ユニットを呼び出し、作業ノードの並行度は作業ノード内に含まれる実行ユニットの数を示し、作業ノードの最適化並行度に従って、作業ノードの並行度を調整する面では、調整ユニットは、具体的には、
作業ノードの最適化並行度に従って、少なくとも1つの実行ユニットを作業ノードに追加するか、または、作業ノードの少なくとも1つの実行ユニットを削除するように構成され、その結果、作業ノード内に現在含まれている実行ユニットの数によって表される作業ノードの並行度は、作業ノードの最適化並行度と同じである。
第2の態様の第1の可能な実施方式を参照すると、第2の可能な実施方式では、作業ノードの最適化並行度に従って、少なくとも1つの実行ユニットを作業ノードに追加するか、または、作業ノードの少なくとも1つの実行ユニットを削除する面では、調整ユニットは、
作業ノードの最適化並行度が作業ノードの並行度よりも大きいとき、実行ユニットを追加するために使用される第1の制御命令を生成し、第1の制御命令を作業ノードに送信するように構成される第1の調整モジュールであって、その結果、作業ノードは、第1の制御命令を受信した後、少なくとも1つの新しい実行ユニットを作成するとともに新しい実行ユニットと別の実行ユニットとの間のデータチャネルを作成し、ここで、作業ノード内に現在含まれている実行ユニットの合計数によって表される作業ノードの並行度は、作業ノードの最適化並行度と同じである、第1の調整モジュールと、
作業ノードの最適化並行度が作業ノードの並行度よりも小さいとき、作業ノードの実行ユニットを削除するために使用される第2の制御命令を生成し、第2の制御命令を作業ノードに送信するように構成される第2の調整モジュールであって、その結果、作業ノードは、第2の制御命令を受信した後、作業ノードの少なくとも1つの実行ユニットを削除するとともに削除された実行ユニットに接続されたデータチャネルを削除し、ここで、作業ノード内に現在含まれている実行ユニットの合計数によって表される作業ノードの並行度は、作業ノードの最適化並行度と同じである、第2の調整モジュールと
を含む。
第2の態様の第1または第2の可能な実施方式を参照すると、第3の可能な実施方式では、制御ノードは、
追加または削除された少なくとも1つの実行ユニットに従って、作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、調整されたデータ配信ポリシーをアップストリーム作業ノードに送信するように構成される第1の配信ポリシー調整ユニットであって、その結果、ダウンストリームターゲット作業ノードに対応するターゲット実行ユニットを決定した後、アップストリーム作業ノードは、調整されたデータ配信ポリシーに従って、データパケットをターゲット実行ユニットに対応して配信し、ここで、データ配信ポリシーは、アップストリーム作業ノードがデータを配信するときの、データ受信デバイスと、データ受信時のデータ受信デバイスのデータ量とを示すために使用される、第1の配信ポリシー調整ユニットをさらに含む。
第2の態様の第1または第2の可能な実施方式を参照すると、第4の可能な実施方式では、制御ノードは、
追加または削除された少なくとも1つの実行ユニットに従って、作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、調整されたデータ配信ポリシーをアップストリーム作業ノードに送信するように構成される第2の配信ポリシー調整ユニットであって、その結果、アップストリーム作業ノードは、調整されたデータ配信ポリシーに従って、ターゲット作業ノードが属する、少なくとも1つの作業ノードを含む作業ノードグループを決定し、作業ノードグループからダウンストリームターゲット作業ノードを決定し、ターゲット作業ノードに対応するターゲット実行ユニットを決定した後、データパケットをターゲット実行ユニットに対応して配信する、第2の配信ポリシー調整ユニットをさらに含む。
第3の態様によると、本発明はストリーム計算システムを提供し、ここで、ストリーム計算システムは、制御ノードと複数の作業ノードとを含み、ここで、
制御ノードは、構成されたストリーム計算システムの各作業ノードの並行度に従って、複数の作業ノードの1つまたは複数の作業ノードを、データストリームを処理するために呼び出すように構成され、
作業ノードは、データストリームを処理するために、制御ノードによって呼び出されるように構成され、
制御ノードは、1つまたは複数の作業ノードの各作業ノードと他の作業ノードとの間のデータトラフィックに関する情報と、1つまたは複数の作業ノードの各作業ノードの処理速度情報とを収集し、収集されたデータトラフィック情報と処理速度情報とに従って、1つまたは複数の作業ノードの各作業ノードの最適化並行度を決定し、1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの並行度と同じであるかどうかを別々に決定し、1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの並行度と同じでない場合、作業ノードの最適化並行度に従って、作業ノードの並行度を調整するようにさらに構成される。
第3の態様を参照すると、第1の可能な実施方式では、作業ノードは1つまたは複数の実行ユニットを含み、作業ノードがデータストリームを処理するために呼び出されたとき、具体的には、作業ノード内に含まれる実行ユニットはデータストリームを処理し、作業ノードの並行度は作業ノード内に含まれる実行ユニットの数を示し、作業ノードの最適化並行度に従って、作業ノードの並行度を調整する面では、制御ノードは、具体的には、
作業ノードの最適化並行度に従って、少なくとも1つの実行ユニットを作業ノードに追加するか、または、作業ノードの少なくとも1つの実行ユニットを削除するように構成され、その結果、作業ノード内に現在含まれている実行ユニットの数によって表される作業ノードの並行度は、作業ノードの最適化並行度と同じである。
第3の態様の第1の可能な実施方式を参照すると、第2の可能な実施方式では、制御ノードは、追加または削除された少なくとも1つの実行ユニットに従って、作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、調整されたデータ配信ポリシーをアップストリーム作業ノードに送信するようにさらに構成され、その結果、ダウンストリームターゲット作業ノードに対応するターゲット実行ユニットを決定した後、アップストリーム作業ノードは、調整されたデータ配信ポリシーに従って、データパケットをターゲット実行ユニットに対応して配信し、ここで、データ配信ポリシーは、アップストリーム作業ノードがデータを配信するときの、データ受信デバイスと、データ受信時のデータ受信デバイスのデータ量とを示すために使用される。
第3の態様の第2の可能な実施方式を参照すると、第3の可能な実施方式では、制御ノードは、追加または削除された少なくとも1つの実行ユニットに従って、作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、調整されたデータ配信ポリシーをアップストリーム作業ノードに送信するようにさらに構成され、その結果、アップストリーム作業ノードは、調整されたデータ配信ポリシーに従って、ターゲット作業ノードが属する、少なくとも1つの作業ノードを含む作業ノードグループを決定し、作業ノードグループからダウンストリームターゲット作業ノードを決定し、ターゲット作業ノードに対応するターゲット実行ユニットを決定した後、データパケットをターゲット実行ユニットに対応して配信する。
本発明の実施形態で提供される技術的解決手段では、各作業ノードの処理速度情報と作業ノード間のトラフィックに関する情報とがシステム操作プロセスにおいてリアルタイムで収集され、作業ノードの並行度は、収集されたリアルタイムの情報に従って調整され、その結果、作業ノードの処理能力はサービス処理のリアルタイムの要件を満たすことができ、それによって、ストリーム計算システムのデータ処理能力およびリソース利用を動的に改善する。
本発明の実施形態における、または従来技術における技術的解決手段をより明確に説明するために、以下では、実施形態または従来技術を説明するために必要とされる添付図面を簡潔に導入する。明らかに、以下の説明における添付図面は単に、本発明のいくつかの実施形態を示し、当業者は、創造的努力なしにこれらの添付図面から他の図面をさらに導出することができる。
図1は、従来技術におけるDAGグラフの概略図である。 図2は、本発明の実施形態に係る、ストリーム計算システムにおけるデータ処理方法のフローチャートである。 図3は、本発明の実施形態に係る、タプル処理時間とタプル到着時間との間の対応関係の概略図である。 図4は、本発明の実施形態に係る、最適化並行度を計算することの概略図である。 図5は、本発明の実施形態に係る、DAGグラフの断片の概略図である。 図6は、本発明の実施形態に係る、ストリーム計算システムにおける別のデータ処理方法のフローチャートである。 図7は、本発明の実施形態に係る、ストリーム計算システムにおける制御ノードの概略構成図である。 図8は、本発明の実施形態に係る、ストリーム計算システムの概略図である。 図9は、本発明の実施形態に係る、ストリーム計算システムにおける別の制御ノードの概略構成図である。
本発明の目的、技術的解決手段および利点をより明確且つより理解し易くするために、以下では、添付図面および実施形態を参照して、本発明で提供される技術的解決手段を詳細にさらに説明する。明らかに、説明される実施形態は、本発明の実施形態の単に一部であるが全てではない。創造的努力なしに本発明の実施形態に基づいて当業者によって得られる全ての他の実施形態は、本発明の保護範囲に包含されるべきである。
以下では、添付図面を参照して、本願の実施形態で提供される技術的解決手段の主な実施原理、具体的な実施方式および対応する達成可能な利益を説明する。
図2に示されるように、本発明の実施形態はストリーム計算システムにおけるデータ処理方法を提供する。本発明の本実施形態で提供される方法は、ストリーム計算システムで使用されてよく、ここで、ストリーム計算システムは一般に、制御ノードと複数の作業ノード(オペレータとも呼ばれる, Operator)とを含み、且つ、制御ノードは、対応する制御命令を劣位の作業ノードに送信してよく、その結果、作業ノードは、制御命令に従って、サービスによって生成されるデータストリームを処理するために実行ユニットを呼び出す。
本発明の本実施形態で提供されるデータ処理方法は、以下を含む:
ステップ201:制御ノードは、構成された各作業ノードの並行度に従って、複数の作業ノードの1つまたは複数の作業ノードを、データストリームを処理するために呼び出す。
本発明で説明される作業ノードは一般に、ストリーム計算システムにおけるオペレータ(Operator)と呼ばれ、且つ、その2つは本発明の本実施形態で特に差別化されず、ストリーム計算システムの各作業ノードの並行度は、サービス処理ロジックを説明するためにフローグラフ(有向非サイクルグラフとも呼ばれる)内で構成され、サービスがストリーム計算システム内に配置されているとき、一般に、各作業ノードの並行度の初期値(初期並行度とも呼ばれる)はサービス要件に従って構成され、且つ、その後、制御ノードは、構成された各作業ノードの並行度に従って、サービスによって生成されるデータストリームを処理するために、1つまたは複数の作業ノードを呼び出し、ここで、フローグラフは、ストリーム計算システム内のサービスデータ処理ロジックの一般的な表示形式であることは、留意されるべきである。フローグラフに対する具体的な紹介については、背景における説明に対して参照が行われることができ、且つ、詳細はここでは再び説明されない。
各作業ノードは1つまたは複数の実行ユニットを含み、且つ、作業ノードがデータストリームを処理するために呼び出されるとき、具体的には、作業ノード内に含まれる実行ユニットがデータストリームを処理し、ここで、実行ユニットは、具体的には、スレッドまたはプロセスであってよく、作業ノードの並行度は、作業ノードと実行ユニットとの間の対応関係を表すために使用され、具体的には、作業ノードの並行度は、作業ノード内に含まれる実行ユニットの数を示し、例えば、作業ノードAの並行度が5であることは、作業ノードがデータストリームを処理するために、5つの実行ユニットを呼び出すことができることを示すことは、さらに留意されるべきである。このステップにおける作業ノードの並行度は、作業ノードのために初期に構成される並行度を指す。
ステップ202:制御ノードは、1つまたは複数の作業ノードの各作業ノードと他の作業ノードとの間のデータトラフィックに関する情報と、1つまたは複数の作業ノードの各作業ノードの処理速度情報とを収集する。
作業ノード間のトラフィックに関する情報は、フローグラフ内の、論理的なアップストリームとダウンストリームの関係を有する作業ノード間のデータトラフィックに関する情報を指し、作業ノードの速度情報は、作業ノードのデータ処理速度を表し、作業ノードのデータ処理速度は、作業ノードの並行度およびデータトラフィック等の要因によって決定されることは留意されるべきである。
ステップ203:制御ノードは、収集されたデータトラフィック情報と処理速度情報とに従って、1つまたは複数の作業ノードの各作業ノードの最適化並行度を決定する。
作業ノードの最適化並行度は、作業ノードの現在の負荷状態に見合う並行度を指す。従来技術では、実行ユニットは、初期に構成された並行度のみに従って、データストリームを処理するために呼び出されるが、具体的な処理状態は、データ処理が実行される前に推定されることはできないため、多くの場合では、初期並行度を使用することによって最適の効果は達成されることができない。従来技術における前述の問題について、本発明の本実施形態で提供される方法では、ストリーム計算システムの各作業ノードの負荷状態が収集され(すなわち、トラフィック情報および処理速度情報を収集する)、次いで、収集された負荷状態に従って、見合う最適化並行度が計算される。最適化並行度は、作業ノードのデータ処理状態に見合うことができ、それによって、リソースが浪費されるとともに実行ユニットがデータ処理要件を満たすことができないという問題を回避する。
ステップ204:制御ノードは、1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの並行度と同じであるかどうかを別々に決定し、1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの並行度と同じでない場合、作業ノードの最適化並行度に従って、作業ノードの並行度を調整する。
作業ノードの最適化並行度が作業ノードの並行度と同じである場合、作業ノードの並行度を調整する必要はなく、且つ、作業ノードの現在の並行度が維持されることは理解されることができる。加えて、以下で具体的な例を使用することによって説明される、複数の実施方式が、収集されたリアルタイムのデータトラフィック情報および処理速度情報を使用することによって、各作業ノードの最適化並行度を決定するための特定のアルゴリズムに対して使用されてよいが、例は本発明を実施するための唯一の方式として理解されるべきではない。
ストリーム計算システムでは、作業ノードでのデータストリームにおけるタプル(またはデータパケットと呼ばれる)の到着時間が、その間に実行ユニットがタプルを処理している時間に一致するとき、システム内のリソース利用は最適であり、それによって、システムの処理能力を十分に使用することを支援する。タプル到着時間がタプル処理時間よりも短い場合、実行ユニットは負荷をかけられすぎており、タプルの蓄積がシステム内で発生し得ることを示す。
図3に示されるように、実行ユニットについて、実行ユニットでのタプルの到着時間1がその間にタプルサービスが処理される時間(すなわち、処理時間)よりも長い場合、実行ユニットは比較的アイドル状態であると示し(図3に示されるように、タプル到着時間1とタプル処理時間との間の関係)、タプル到着時間2がタプル処理時間よりも短い場合、実行ユニットは重負荷であると示す(図3に示されるように、タプル到着時間2とタプル処理時間との間の関係)。タプル到着時間は、タプルが実行ユニットに到着する平均時間間隔であり、タプルサービス処理時間は1つのタプルを処理するために実行ユニットによって必要とされる平均時間であり、タプル到着時間およびタプル処理時間は収集された作業ノード間のトラフィックに関する情報および収集された実行ユニットの処理速度情報に従って計算することによって得られる。
図3に示される2つのケースについて、タプル処理時間とタプル到着時間との間の一貫性を実現するために、作業ノードの並行度を調整する必要がある。タプル到着時間と作業ノードの並行度との間の操作関係は、より大きい並行度はより長いタプル到着時間を示すということである。
図4に示されるフローグラフは、本発明の本実施形態における最適化並行度を計算するための方法を詳細にさらに説明するための例として使用される。
各オペレータの並行度は、フローグラフ(すなわち、DAGグラフ)のソースから開始して一層ずつ計算され、計算順序はA、B、C、D、EおよびFである。Dopは並行度値を示し、ここで、計算式は、
Figure 0006436594
である。タプル処理時間およびタプル到着はサービス処理中の統計情報に従って得られる。タプル到着時間は、アップストリームノードのタプルが送信されてからの時間に従って計算することによって得られる。例えば、図4では、作業ノードA(またはオペレータAと呼ばれる)はソースノードであり、タプル到着時間はスループットに従って得られ、すなわち、
Figure 0006436594
である。図中のノードCでのタプル到着時間は、ノードAおよびノードBからのタプルの到着時間に従って計算される。ノードAの並行度は2であり、これは、ノードAが15ms内に2つのタプルを伝送することと同等であり、且つ、ノードBは15ms内に1つのタプルを送信する。従って、ノードCでのタプルの到着時間は、15ms/(1+2)=5msであり、且つ、
Figure 0006436594
である。
最適化並行度を計算する前述の方式は、本発明の本実施形態における任意の実施方式であり、且つ、本発明の最適化並行度を計算する方式は、前述の方式に限定されない。具体的な適用環境では、異なるストリーム計算システムは異なる要件および異なる具体的なデバイスの性能を有するため、最適化並行度を計算する方式は異なる。本発明の本実施形態で提供される方法は、最適化並行度がリアルタイムの状態に従って計算された後の最適化並行度に従って、ストリーム計算システム内の処理ロジックが調整される任意のシナリオに適用可能である。
各作業ノードが1つまたは複数の実行ユニットを含み、作業ノードがデータストリームを処理するために呼び出されるとき、各作業ノードの最適化並行度が前述の方法に従って計算された後、各作業ノードの初期に設定された並行度が現在の処理状態に適っているかどうかが、計算された最適化並行度を使用することによって判定されてよい。各作業ノードの初期に設定された並行度が現在の処理状態に見合っていない場合、作業ノードの並行度は調整されてよく、最適化並行度に従って作業ノードのいずれかの並行度を調整することは、
作業ノードの、調整される必要がある最適化並行度に従って、少なくとも1つの実行ユニットを作業ノードに追加するか、または、作業ノードの少なくとも1つの実行ユニットを削除することであって、その結果、作業ノードの調整された並行度は、対応する最適化並行度と同じであることを含む。
最適な実施方式では、調整された並行度が最適化並行度と同じである。しかしながら、具体的な実施プロセスでは、他の客観的な条件の制約により、並行度は、従って調整されてよく、その結果、調整された並行度は、最適化並行度と関係するか、または最適化並行度に近い。調整後の具体的な効果は、作業ノードのデータ処理能力がシステム内の現在のデータ処理要件によりよく順応できることである。
実際に必要とされる並行度と比較すると、初期に設定される並行度は2つのケースに依存し、すなわち、初期に設定された並行度は極端に高いかまたは低い。これらの2つのケースについて、以下では、実行ユニットを削除または追加するための任意の実施方式を詳細に説明し、具体的には、以下を含む:
1. その実行ユニットが調整される必要がある作業ノードの最適化並行度が作業ノードの初期並行度よりも大きいとき、
制御ノードは新しい実行ユニットを作成するために使用される第1の制御命令を生成し、第1の制御命令を作業ノードに送信し、その結果、作業ノードは、第1の制御命令を受信した後、少なくとも1つの新しい実行ユニットを作成するとともに新しい実行ユニットと別の実行ユニットとの間のデータチャネルを作成し、調整の後、作業ノード内に現在含まれている実行ユニットの合計数によって表される作業ノードの並行度は、作業ノードの最適化並行度と同じである。
新しい実行ユニットと別の実行ユニットとの間のデータチャネルを作成する具体的な実施は、
フローグラフ内の作業ノードの論理的な位置に従って、新しい実行ユニットに論理的に接続される第1のアップストリーム作業ノードと第1のダウンストリーム作業ノードとを決定することであって、ここで、第1のアップストリーム作業ノードは少なくとも1つの第1のアップストリーム実行ユニットに対応しており、且つ、第1のダウンストリーム作業ノードは、少なくとも1つの第1のダウンストリーム実行ユニットに対応している、決定することと、
第1の制御命令に従って、新しい実行ユニットと第1のアップストリーム実行ユニットとの間のデータチャネルと、新しい実行ユニットと第1のダウンストリーム実行ユニットとの間のデータチャネルとを作成することと、であってよい。
本実施形態では、新しい実行ユニットとアップストリーム実行ユニットとの間のデータチャネルと、新しい実行ユニットとダウンストリーム実行ユニットとの間のデータチャネルとが確立されているとき、データ欠落を回避するために、新しい実行ユニットとダウンストリーム実行ユニットとの間のデータチャネルが一般に最初に確立され、次いで、新しい実行ユニットとアップストリーム実行ユニットとの間のデータチャネルが対応して確立される。
2. 作業ノードの最適化並行度が作業ノードの初期並行度よりも小さいとき、
制御ノードは、作業ノードの実行ユニットを削除するために使用される第2の制御命令を生成し、第2の制御命令を作業ノードに送信し、その結果、作業ノードは、第2の制御命令を受信した後、作業ノードの少なくとも1つの実行ユニットを削除するとともに削除された実行ユニットに接続されたデータチャネルを削除し、調整の後、作業ノード内に現在含まれている実行ユニットの合計数によって表される作業ノードの並行度は、作業ノードの最適化並行度と同じである。
作業ノードによって実行ユニットを削除する具体的な実施ステップは、
フローグラフ内の作業ノードの論理的な位置に従って、削除されるべき実行ユニットに論理的に接続されている第2のアップストリーム作業ノードと第2のダウンストリーム作業ノードとを決定するステップであって、ここで、第2のアップストリーム作業ノードは少なくとも1つの第2のアップストリーム実行ユニットに対応しており、且つ、第2のダウンストリーム作業ノードは少なくとも1つの第2のダウンストリーム実行ユニットに対応している、ステップと、
第2のアップストリーム実行ユニットと削除されるべき実行ユニットとの間のデータチャネルと、第2のダウンストリーム実行ユニットと削除されるべき実行ユニットとの間のデータチャネルとを削除するステップと、
削除されるべき実行ユニットを削除するステップと
であってよい。
本実施形態では、1つまたは複数の実行ユニットが削除される必要がある。円滑なデータ処理を確実にするために、実行ユニット削除中の具体的な操作は、
削除されるべき実行ユニットとアップストリーム実行ユニットとの間のデータチャネルの接続を最初に断ち、次いで、削除されるべき実行ノードが完全に処理されていないデータを処理するのを待ち、データが完全に処理された後、削除されるべき実行ユニットとダウンストリーム実行ユニットとの間のデータチャネルを削除し、最後に、削除されるべき実行ユニットを削除することであってよい。
本発明の本実施形態では、実行ユニットが追加または削除されるため、その並行度が調整される作業ノードのアップストリーム作業ノードがデータを配信しているとき、データ配信ポリシーを対応して調整する必要がある。例えば、実行ユニットが追加され、処理のために追加された実行ユニットにデータを配信する必要がある。従って、ステップ204が実行された後、本発明の本実施形態で提供される方法は、
作業ノードが少なくとも1つの実行ユニットを対応して追加または削除した場合、作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを対応して調整するステップ
をさらに含む。
本発明の本実施形態で提供される方法では、元の作業ノードと比較して、作業ノードの並行度が調整され、すなわち、実行ユニットの数を追加または削除する必要がある。実行ユニット調整の間、アップストリーム作業ノードのデータ配信ポリシーが調整されない場合、データ処理中に問題が発生し得る。
具体的な適用シナリオでは、ダウンストリーム実行ユニットの数および各実行ユニットの処理能力に従って、データ配信ポリシーを対応して生成する必要があり、従って、データ配信ポリシーの具体的な例は、データ配信パスと、データ配信に対応する具体的な実行コンポーネントとを含む。
本発明の本実施形態では、データ配信効率を改善するために、解決手段を計画する以下の2つの任意のデータ配信ポリシーが提供され、具体的には、以下を含む:
方式1: 2レベルのデータ配信
作業ノードのいずれかに対応するアップストリーム作業ノードのデータ配信ポリシーは、追加または削除された少なくとも1つの実行ユニットに従って調整される。
制御ノードは、追加または削除された少なくとも1つの実行ユニットに従って、作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、ここで、データ配信ポリシーは、アップストリーム作業ノードがデータを配信するときの、データ受信デバイスとデータ受信時のデータ受信デバイスのデータ量とを示すために使用され、且つ、
制御ノードは、調整されたデータ配信ポリシーをアップストリーム作業ノードに送信し、その結果、調整されたデータ配信ポリシーに従って、データパケットをダウンストリームターゲット作業ノードに配信するとき、アップストリーム作業ノードは、ターゲット作業ノードに対応するターゲット実行ユニットを決定するとともに、データパケットをターゲット実行ユニットに対応して配信する。
図5では、DAGグラフの断片が例として使用され、ここで、n0はアップストリームoperatorを表し、n1、n2およびn3はそれぞれ、n0のダウンストリームoperatorを表し、n0はs1およびs2の2つのストリームを送信し、ここで、n1およびn2はストリームs1にサブスクライブし、n3はストリームs2にサブスクライブする。n1の並行度は1であるとともにn1は1つのPEによって実行され、すなわち、n1はpe1によって実行され、n2の並行度は2であるとともにn2は2つのPEによって実行され、すなわち、n2はpe2およびpe3によって実行され、n3の並行度は3であるとともにn3は3つのPEによって実行され、すなわち、n3はpe4、pe5およびpe6によって実行される。
n0がストリームs1のtuple0(タプル)を送信するとき、第1レベルの配信が実行され、すなわち、ターゲットoperatorが選択される。図5に示されるように、本実施形態で選択され得るターゲットoperatorはn1およびn2である。次いで、第2レベルの配信がn1およびn2に対して別々に実行され、第2レベルの配信がn1に対して実行されるとき、n1の並行度は1であり、従って、tuple0はpe1に配信されると直接決定され、第2レベルの配信がn2に対して実行されるとき、n2の並行度は2であり、従って、n2に対して構成された配信ポリシーに従ってデータ配信を実行する必要がある。本実施形態ではハッシュ配信が構成されてよく、すなわち、第1の対応するハッシュ値は、tuple0のいくつかの属性フィールドに対してハッシュ計算を実行することによって得られ、次いで、並行度に従ってモジュロ演算が実行され、結果は、n2に対応するPEを選択するためにインデックス値として使用されてよい。多重同時並行がダウンストリームoperatorに対して設定され、ダウンストリームoperatorがアップストリームoperatorによって送信されるストリームにサブスクライブする場合、対応するデータ配信ポリシーが設定される必要がある。配信ポリシーは、特定の実施形態に従って拡張されてよく、例えば、対応する実施形態は、ランダムなデータ配信(すなわち、ストリームはダウンストリームoperatorに対応するPEにランダムに配信される)、全ての配信(すなわち、ストリームはダウンストリームoperatorに対応する全てのPEに配信される)およびハッシュ配信(すなわち、ストリームが配信されるべきPEが、ハッシュ値に従って、モジュロ演算を実行する方式で決定される)をサポートしてよい。
方式2: マルチレベルのデータ配信
制御ノードは、追加または削除された少なくとも1つの実行ユニットに従って、作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、
制御ノードは、調整されたデータ配信ポリシーをアップストリーム作業ノードに送信し、その結果、アップストリーム作業ノードは、調整されたデータ配信ポリシーに従って、ターゲット作業ノードが属する、少なくとも1つの作業ノードを含む作業ノードグループを決定し、作業ノードグループからダウンストリームターゲット作業ノードを決定し、ターゲット作業ノードに対応するターゲット実行ユニットを決定した後、データパケットをターゲット実行ユニットに対応して配信する。
オペレータの並行度の調整に基づいて、マルチレベルのデータ配信の解決手段が、本発明の本実施形態で提供される解決手段においてさらに提供され、このことは、オペレータの並行度を改善することができ、且つ、同時に、正確なデータ配信の効果をさらに確実にすることができる。
図6に示されるように、本発明で提供される方法をより詳細に説明するために、以下では、本発明における方法の適用可能な環境を参照して、本発明で提供される方法をさらに説明する。本発明の本実施形態で提供される方法は、ストリーム計算システムに適用される。ストリーム計算システムの制御ノードは、構成されたフローグラフに従って、サービスによって生成されるデータストリームを処理するために、1つまたは複数の作業ノードを呼び出し、ここで、フローグラフは各作業ノードのために事前に設定された初期並行度を含むとともに、具体的なステップは以下を含む:
ステップ601:作業ノードは作業ノードがデータストリームを処理する処理速度に関する情報と、作業ノードと他の作業ノードとの間のデータトラフィックに関する情報とを収集し、処理能力記述情報を生成するために、収集された処理速度情報とデータトラフィック情報とを結合し、処理能力記述情報を対応する制御ノードに送信する。
ステップ602:制御ノードは、各呼び出された作業ノードの処理能力記述情報を収集する。
ステップ603:制御ノードは、収集されたリアルタイム処理能力記述情報およびフローグラフに従って、各作業ノードの最適化並行度を決定する。
ステップ604:制御ノードは、各作業ノードの最適化並行度がフローグラフ内の作業ノードの初期並行度と同じであるかどうかを決定し、各作業ノードの最適化並行度がフローグラフ内の作業ノードの初期並行度と同じでない場合、最適化並行度に従って、制御命令を生成し、制御命令を作業ノードに送信する。
ステップ605:作業ノードは、制御命令を受信した後、制御命令に従って、作業ノード自身の並行度を調整する。
分散型のリアルタイムストリーム処理システムにおける各タスクの処理状態はリアルタイムで変化するという特徴について、本発明の本実施形態で提供される方法では、各作業ノードの処理状態がシステム操作プロセスにおいてリアルタイムで収集され、次いで、作業ノードの並行度は、リアルタイムの処理状態に従って調整され、その結果、作業ノードの処理能力はサービス処理のリアルタイムの要件を満たすことができ、それによって、ストリーム計算システムのデータ処理能力およびリソース利用を動的に改善するという効果を達成する。
図7に示されるように、本発明は、前述の方法に従って、ストリーム計算システムにおける制御ノード700をさらに提供し、ここで、ストリーム計算システムは、制御ノードと複数の作業ノードとを含み、制御ノードは、
構成された各作業ノードの並行度に従って、複数の作業ノードの1つまたは複数の作業ノードを、データストリームを処理するために呼び出すように構成される呼び出しユニット701と、
1つまたは複数の作業ノードの各作業ノードと他の作業ノードとの間のデータトラフィックに関する情報と、1つまたは複数の作業ノードの各作業ノードの処理速度情報とを収集するように構成される情報収集ユニット702と、
情報収集ユニット702によって収集されたデータトラフィック情報と処理速度情報とに従って、1つまたは複数の作業ノードの各作業ノードの最適化並行度を決定するように構成される計算ユニット703と、
1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの初期並行度と同じであるかどうかを別々に決定し、1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの初期並行度と同じでない場合、作業ノードの最適化並行度に従って、作業ノードの並行度を調整するように構成される調整ユニット704と
を含む。
任意で、各作業ノードは、1つまたは複数の実行ユニットを含むとともに、各作業ノードは、データストリームを処理するために作業ノード自身の実行ユニットを呼び出し、作業ノードの並行度は作業ノード内に含まれる実行ユニットの数を示し、作業ノードの最適化並行度に従って、作業ノードの並行度を調整する面では、調整ユニット704は、具体的には、
作業ノードの最適化並行度に従って、少なくとも1つの実行ユニットを作業ノードに追加するか、または、作業ノードの少なくとも1つの実行ユニットを削除するように構成され、その結果、作業ノードの調整された並行度は、対応する最適化並行度と一致する。
実際に必要とされる並行度と比較すると、初期に設定される並行度は、初期に設定された並行度は極端に高いかまたは低いという2つのケースに依存する。作業ノードの最適化並行度に従って、少なくとも1つの実行ユニットを作業ノードに追加するか、または、作業ノードの少なくとも1つの実行ユニットを削除する面では、調整ユニット704は、
作業ノードの最適化並行度が作業ノードの初期並行度よりも大きいとき、実行ユニットを追加するために使用される第1の制御命令を生成し、第1の制御命令を作業ノードに送信するように構成される第1の調整モジュールであって、その結果、作業ノードは、第1の制御命令を受信した後、少なくとも1つの新しい実行ユニットを作成するとともに新しい実行ユニットと別の実行ユニットとの間のデータチャネルを作成する、第1の調整モジュールと、
作業ノードの最適化並行度が作業ノードの初期並行度よりも小さいとき、作業ノードの実行ユニットを削除するために使用される第2の制御命令を生成し、第2の制御命令を作業ノードに送信するように構成される第2の調整モジュールであって、その結果、作業ノードは、第2の制御命令を受信した後、作業ノードの少なくとも1つの実行ユニットを削除するとともに削除された実行ユニットに接続されたデータチャネルを削除する、第2の調整モジュールと
を含む。
任意で、オペレータの並行度を改善することに加えて、本発明の本実施形態で提供される解決手段は正確なデータ配信を確実にする必要があり、従って、制御ノードは、
追加または削除された少なくとも1つの実行ユニットに従って、作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、調整されたデータ配信ポリシーをアップストリーム作業ノードに送信するように構成される第1の配信ポリシー調整ユニット705であって、その結果、ダウンストリームターゲット作業ノードに対応するターゲット実行ユニットを決定した後、アップストリーム作業ノードは、調整されたデータ配信ポリシーに従って、データパケットをターゲット実行ユニットに対応して配信し、ここで、データ配信ポリシーは、アップストリーム作業ノードがデータを配信するときの、データ受信デバイスと、データ受信時のデータ受信デバイスのデータ量とを示すために使用される、第1の配信ポリシー調整ユニット705と、
追加または削除された少なくとも1つの実行ユニットに従って、作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、調整されたデータ配信ポリシーをアップストリーム作業ノードに送信するように構成される第2の配信ポリシー調整ユニット706であって、その結果、アップストリーム作業ノードは、調整されたデータ配信ポリシーに従って、ターゲット作業ノードが属する、少なくとも1つの作業ノードを含む作業ノードグループを決定し、作業ノードグループからダウンストリームターゲット作業ノードを決定し、ターゲット作業ノードに対応するターゲット実行ユニットを決定した後、データパケットをターゲット実行ユニットに対応して配信する、第2の配信ポリシー調整ユニット706とをさらに含む。
本発明の本実施形態で提供されるストリーム計算システムにおける制御ノード700は、前述の方法の実施形態で説明されるデータ処理方法を実施するために使用される。具体的な実施の詳細については、前述の方法の実施形態に対して参照が行われることができ、且つ、詳細はここでは再び説明されない。
本発明の本実施形態で提供されるストリーム計算システムにおける制御ノードは、リアルタイムの各作業ノードの処理状態をストリーム計算システムの操作プロセスにおいて収集し、次いで、リアルタイムの処理状態に従って作業ノードの並行度を調整し、その結果、作業ノードの処理能力はサービス処理のリアルタイムの要件を満たすことができ、それによって、ストリーム計算システムのデータ処理能力およびリソース利用を動的に改善するという効果を達成する。
図8に示されるように、前述の実施形態で提供されるデータ処理方法に基づくと、本発明の実施形態はストリーム計算システム800をさらに提供し、ここで、ストリーム計算システム800は制御ノード801と複数の作業ノード802とを含む。
制御ノード801は、構成されたストリーム計算システム内の各作業ノード802の並行度に従って、複数の作業ノードの1つまたは複数の作業ノードを、サービスによって生成されるデータストリームを処理するために呼び出すように構成される。
作業ノード802は、サービスによって生成されるデータストリームを処理するために、制御ノード801によって呼び出されるように構成される。
制御ノード801は、1つまたは複数の作業ノードの各作業ノードと他の作業ノードとの間のデータトラフィックに関する情報と、1つまたは複数の作業ノードの各作業ノードの処理速度情報とを収集し、収集されたデータトラフィック情報と処理速度情報とに従って、1つまたは複数の作業ノードの各作業ノードの最適化並行度を決定し、1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの並行度と同じであるかどうかを別々に決定し、1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの並行度と同じでない場合、作業ノードの最適化並行度に従って、作業ノードの並行度を調整するようにさらに構成される。
好ましくは、作業ノードは1つまたは複数の実行ユニットを含み、作業ノードがデータストリームを処理するために呼び出されたとき、具体的には、作業ノード内に含まれる実行ユニットはデータストリームを処理し、作業ノードの並行度は作業ノード内に含まれる実行ユニットの数を示し、作業ノードの最適化並行度に従って、作業ノードの並行度を調整する面では、制御ノード801は、具体的には、
制御命令を作業ノード802に送信するように構成され、ここで、制御命令は、作業ノード802の最適化並行度に従って生成される。
対応して、作業ノード802は、制御命令に従って、少なくとも1つの実行ユニットを追加するか、または、作業ノード802の少なくとも1つの実行ユニットを削除するようにさらに構成され、その結果、作業ノード802内に現在含まれている実行ユニットの数によって表される作業ノード802の並行度は、作業ノード802の最適化並行度と同じである。
好ましくは、制御ノード801は、追加または削除された少なくとも1つの実行ユニットに従って、作業ノード802に対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、調整されたデータ配信ポリシーをアップストリーム作業ノードに送信するようにさらに構成され、その結果、ダウンストリームターゲット作業ノードに対応するターゲット実行ユニットを決定した後、アップストリーム作業ノードは、調整されたデータ配信ポリシーに従って、データパケットをターゲット実行ユニットに対応して配信し、ここで、データ配信ポリシーは、アップストリーム作業ノードがデータを配信するときの、データ受信デバイスと、データ受信時のデータ受信デバイスのデータ量とを示すために使用される。
好ましくは、制御ノード801は、追加または削除された少なくとも1つの実行ユニットに従って、作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、調整されたデータ配信ポリシーをアップストリーム作業ノードに送信するようにさらに構成され、その結果、アップストリーム作業ノードは、調整されたデータ配信ポリシーに従って、ターゲット作業ノードが属する、少なくとも1つの作業ノードを含む作業ノードグループを決定し、作業ノードグループからダウンストリームターゲット作業ノードを決定し、ターゲット作業ノードに対応するターゲット実行ユニットを決定した後、データパケットをターゲット実行ユニットに対応して配信する。
本発明の本実施形態で提供されるストリーム計算システムによると、各作業ノードの処理速度情報と作業ノード間のトラフィックに関する情報とがシステム操作プロセスにおいてリアルタイムで収集され、作業ノードの並行度は、収集されたリアルタイムの情報に従って調整され、その結果、作業ノードの処理能力はサービス処理のリアルタイムの要件を満たすことができ、それによって、ストリーム計算システムのデータ処理能力およびリソース利用を動的に改善するという効果を達成する。
図9に示されるように、本発明は、前述の実施形態におけるデータ処理方法を実行するように構成される制御ノードをさらに提供し、ここで、制御ノードは少なくとも1つのプロセッサ901(例えば、CPU)、少なくとも1つのネットワークインタフェースまたは他の通信インタフェース902、メモリ903およびこれらの装置間の接続および通信を実施するように構成される少なくとも1つの通信バス904を含む。プロセッサ901は、メモリ903内に記憶される実行可能なモジュール、例えば、コンピュータプログラムを実行するように構成される。メモリ903は、高速ランダムアクセスメモリ(RAM: Random Access Memory)を含んでよいとともに、不揮発性メモリ(non-volatile memory)、例えば、少なくとも1つのディスクメモリをさらに含んでよい。少なくとも1つのネットワークインタフェース902(ケーブル付きまたはケーブル無し)を介して、制御ノードは少なくとも1つの他のネットワーク要素との通信および少なくとも1つの他のネットワーク要素への接続を実施し、ここで、インターネット、ワイドエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどが使用されてよい。
いくつかの実施方式では、メモリはプログラム9031を記憶し、ここで、プログラムは、構成された各作業ノードの並行度に従って、複数の作業ノードの1つまたは複数の作業ノードを、データストリームを処理するために呼び出し、1つまたは複数の作業ノードの各作業ノードと他の作業ノードとの間のデータトラフィックに関する情報と、1つまたは複数の作業ノードの各作業ノードの処理速度情報とを収集し、収集されたデータトラフィック情報と処理速度情報とに従って、1つまたは複数の作業ノードの各作業ノードの最適化並行度を決定し、1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの並行度と同じであるかどうかを別々に決定し、1つまたは複数の作業ノードの各作業ノードの最適化並行度が作業ノードの並行度と同じでない場合、作業ノードの最適化並行度に従って、作業ノードの並行度を調整するために、プロセッサによって実行されてよい。
本願の実施形態における1つまたは複数の前述の技術的解決手段は、少なくとも以下の技術的効果を有する:
分散型のリアルタイムストリーム処理システムにおける各タスクの処理状態はリアルタイムで変化するという特徴について、本発明の実施形態で提供される方法では、各作業ノードの処理状態がシステム操作プロセスにおいてリアルタイムで収集され、次いで、作業ノードの並行度は、リアルタイムの処理状態に従って調整され、その結果、作業ノードの処理能力はサービス処理のリアルタイムの要件を満たすことができ、それによって、ストリーム計算システムのデータ処理能力およびリソース利用を動的に改善するという効果を達成する。
本発明で説明される方法は、実施形態の説明で記載される実施形態に限定されない。本発明の技術的解決手段に従って当業者によって得られる他の実施方式は、本発明の技術革新範囲に依然として含まれる。
明らかに、当業者は、本発明の精神および範囲を逸脱することなく、本発明に対して様々な修正および変更を行うことができる。本発明は、それらが以下の請求項およびそれらの均等技術によって定義される保護範囲に包含される限り、これらの修正および変更を網羅することを意図される。
701 呼び出しユニット
702 情報収集ユニット
703 計算ユニット
704 調整ユニット
705 第1の配信ポリシー調整ユニット
706 第2の配信ポリシー調整ユニット
801 制御ノード
802 作業ノード1~4
90 制御ノード
901 プロセッサ
902 ネットワークインタフェース
903 メモリ
9031 プログラム

Claims (14)

  1. ストリーム計算システムにおけるデータ処理方法であって、前記ストリーム計算システムは、制御ノードと複数の作業ノードとを含み、前記方法は、
    前記制御ノードによって、構成されたフローグラフに従って、前記複数の作業ノードの1つまたは複数の作業ノードを、データストリームを処理するために呼び出すステップであって、前記フローグラフは、各作業ノードのために事前に設定された並行度を含み、各作業ノードの並行度は、前記作業ノードが前記データストリームを処理するために呼び出されている実行ユニットの数を示す、ステップと、
    前記制御ノードによって、前記1つまたは複数の作業ノード間のデータトラフィックに関する情報と、前記1つまたは複数の作業ノードの各それぞれの作業ノードの処理速度情報とを収集するステップと、
    前記制御ノードによって、前記収集されたデータトラフィック情報と処理速度情報とに従って、前記1つまたは複数の作業ノードの各それぞれの作業ノードの最適化並行度を決定するステップと、
    記それぞれの作業ノードの前記最適化並行度が前記それぞれの作業ノードの前記並行度と同じでないとき、前記それぞれの作業ノードの前記最適化並行度に従って、前記制御ノードによって、前記それぞれの作業ノードの前記並行度を調整するステップと
    を含む方法。
  2. 記それぞれの作業ノードの前記最適化並行度に従って、前記それぞれの作業ノードの前記並行度を調整する前記ステップは、
    前記制御ノードによって、前記それぞれの作業ノードの前記最適化並行度に従って、少なくとも1つの実行ユニットを前記それぞれの作業ノードに追加するか、または、前記それぞれの作業ノードの少なくとも1つの実行ユニットを削除するステップであって、その結果、前記それぞれの作業ノード内に現在含まれている実行ユニットの数によって表される前記それぞれの作業ノードの並行度は、前記それぞれの作業ノードの前記最適化並行度と同じである、ステップ
    を含む、請求項1に記載の方法。
  3. 前記制御ノードによって、前記それぞれの作業ノードの前記最適化並行度に従って、少なくとも1つの実行ユニットを前記それぞれの作業ノードに追加するか、または、前記それぞれの作業ノードの少なくとも1つの実行ユニットを削除する前記ステップは、
    前記それぞれの作業ノードの前記最適化並行度が前記それぞれの作業ノードの前記並行度よりも大きいとき、
    前記制御ノードによって、新しい実行ユニットを作成するために使用される第1の制御命令を生成し、前記第1の制御命令を前記それぞれの作業ノードに送信するステップであって、その結果、前記それぞれの作業ノードは、前記第1の制御命令を受信した後、少なくとも1つの新しい実行ユニットを作成するとともに前記新しい実行ユニットと別の実行ユニットとの間のデータチャネルを作成する、ステップと、
    前記それぞれの作業ノードの前記最適化並行度が前記それぞれの作業ノードの前記並行度よりも小さいとき、
    前記制御ノードによって、前記それぞれの作業ノードの実行ユニットを削除するために使用される第2の制御命令を生成し、前記第2の制御命令を前記それぞれの作業ノードに送信するステップであって、その結果、前記それぞれの作業ノードは、前記第2の制御命令を受信した後、前記それぞれの作業ノードの少なくとも1つの実行ユニットを削除するとともに前記削除された実行ユニットに接続されたデータチャネルを削除する、ステップと
    を含む、請求項2に記載の方法。
  4. 前記それぞれの作業ノードの前記最適化並行度に従って、少なくとも1つの実行ユニットを前記それぞれの作業ノードに追加するか、または、前記それぞれの作業ノードの少なくとも1つの実行ユニットを削除する前記ステップの後、前記方法は、
    前記制御ノードによって、前記追加または削除された少なくとも1つの実行ユニットに従って、前記それぞれの作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整するステップであって、前記データ配信ポリシーは、前記アップストリーム作業ノードがデータを配信するときの、ダウンストリームターゲット作業ノードと、データ受信時の前記ダウンストリームターゲット作業ノードのデータ量とを示すために使用される、ステップと、
    前記制御ノードによって、調整されたデータ配信ポリシーを前記アップストリーム作業ノードに送信するステップであって、その結果、前記アップストリーム作業ノードは、前記ダウンストリームターゲット作業ノードを決定し、前記ダウンストリームターゲット作業ノードに対して構成された配信ポリシーに従って前記ダウンストリームターゲット作業ノードに対応するターゲット実行ユニットを決定し、かつデータパケットを前記ターゲット実行ユニットに配信する、ステップと
    をさらに含む、請求項2または3に記載の方法。
  5. 前記それぞれの作業ノードの前記最適化並行度に従って、少なくとも1つの実行ユニットを前記それぞれの作業ノードに追加するか、または、前記それぞれの作業ノードの少なくとも1つの実行ユニットを削除する前記ステップの後、前記方法は、
    前記制御ノードによって、前記追加または削除された少なくとも1つの実行ユニットに従って、前記それぞれの作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整するステップと、
    前記制御ノードによって、調整されたデータ配信ポリシーを前記アップストリーム作業ノードに送信するステップであって、その結果、前記アップストリーム作業ノードは、前記調整されたデータ配信ポリシーに従って、ターゲット作業ノードが属する、少なくとも1つの作業ノードを含む作業ノードグループを決定し、前記作業ノードグループからダウンストリームターゲット作業ノードを決定し、前記ターゲット作業ノードに対応するターゲット実行ユニットを決定した後、データパケットを前記ターゲット実行ユニットに対応して配信する、ステップと
    をさらに含む、請求項2または3に記載の方法。
  6. ストリーム計算システムにおける制御ノードであって、前記ストリーム計算システムは、前記制御ノードと複数の作業ノードとを含み、前記制御ノードは、
    構成されたフローグラフに従って、前記複数の作業ノードの1つまたは複数の作業ノードを、データストリームを処理するために呼び出すように構成される呼び出しユニットであって、前記フローグラフは、各作業ノードのために事前に設定された並行度を含み、各作業ノードの並行度は、前記作業ノードが前記データストリームを処理するために呼び出されている実行ユニットの数を示す、呼び出しユニットと、
    前記1つまたは複数の作業ノード間のデータトラフィックに関する情報と、前記1つまたは複数の作業ノードの各それぞれの作業ノードの処理速度情報とを収集するように構成される情報収集ユニットと、
    前記情報収集ユニットによって収集された前記データトラフィック情報と前記処理速度情報とに従って、前記1つまたは複数の作業ノードの各作業ノードの最適化並行度を決定するように構成される計算ユニットと、
    記それぞれの作業ノードの前記最適化並行度が前記それぞれの作業ノードの前記並行度と同じでないとき、前記それぞれの作業ノードの前記最適化並行度に従って、前記それぞれの作業ノードの前記並行度を調整するように構成される調整ユニットと
    を含む制御ノード。
  7. 記調整ユニットは、具体的には、
    前記それぞれの作業ノードの前記最適化並行度に従って、少なくとも1つの実行ユニットを前記それぞれの作業ノードに追加するか、または、前記それぞれの作業ノードの少なくとも1つの実行ユニットを削除するように構成され、その結果、前記それぞれの作業ノード内に現在含まれている実行ユニットの数によって表される前記それぞれの作業ノードの並行度は、前記それぞれの作業ノードの前記最適化並行度と同じである、請求項6に記載の制御ノード。
  8. 前記調整ユニットは、
    前記それぞれの作業ノードの前記最適化並行度が前記それぞれの作業ノードの前記並行度よりも大きいとき、実行ユニットを追加するために使用される第1の制御命令を生成し、前記第1の制御命令を前記それぞれの作業ノードに送信するように構成される第1の調整モジュールであって、その結果、前記それぞれの作業ノードは、前記第1の制御命令を受信した後、少なくとも1つの新しい実行ユニットを作成するとともに前記新しい実行ユニットと別の実行ユニットとの間のデータチャネルを作成し、前記それぞれの作業ノード内に現在含まれている実行ユニットの合計数によって表される前記それぞれの作業ノードの並行度は、前記それぞれの作業ノードの前記最適化並行度と同じである、第1の調整モジュールと、
    前記それぞれの作業ノードの前記最適化並行度が前記それぞれの作業ノードの前記並行度よりも小さいとき、前記それぞれの作業ノードの実行ユニットを削除するために使用される第2の制御命令を生成し、前記第2の制御命令を前記それぞれの作業ノードに送信するように構成される第2の調整モジュールであって、その結果、前記それぞれの作業ノードは、前記第2の制御命令を受信した後、前記それぞれの作業ノードの少なくとも1つの実行ユニットを削除するとともに前記削除された実行ユニットに接続されたデータチャネルを削除し、前記それぞれの作業ノード内に現在含まれている実行ユニットの合計数によって表される前記それぞれの作業ノードの並行度は、前記それぞれの作業ノードの前記最適化並行度と同じである、第2の調整モジュールと
    を含む、請求項7に記載の制御ノード。
  9. 前記制御ノードは、
    前記追加または削除された少なくとも1つの実行ユニットに従って、前記それぞれの作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、調整されたデータ配信ポリシーを前記アップストリーム作業ノードに送信するように構成される第1の配信ポリシー調整ユニットであって、その結果、前記アップストリーム作業ノードは、ダウンストリームターゲット作業ノードを決定し、前記ダウンストリームターゲット作業ノードに対して構成された配信ポリシーに従って前記ダウンストリームターゲット作業ノードに対応するターゲット実行ユニットを決定し、データパケットを前記ターゲット実行ユニットに配信し、前記データ配信ポリシーは、前記アップストリーム作業ノードがデータを配信するときの、前記ダウンストリームターゲット作業ノードと、データ受信時の前記ダウンストリームターゲット作業ノードのデータ量とを示すために使用される、第1の配信ポリシー調整ユニットをさらに含む、請求項7または8に記載の制御ノード。
  10. 前記制御ノードは、
    前記追加または削除された少なくとも1つの実行ユニットに従って、前記それぞれの作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、調整されたデータ配信ポリシーを前記アップストリーム作業ノードに送信するように構成される第2の配信ポリシー調整ユニットであって、その結果、前記アップストリーム作業ノードは、前記調整されたデータ配信ポリシーに従って、ターゲット作業ノードが属する、少なくとも1つの作業ノードを含む作業ノードグループを決定し、前記作業ノードグループからダウンストリームターゲット作業ノードを決定し、前記ターゲット作業ノードに対応するターゲット実行ユニットを決定した後、データパケットを前記ターゲット実行ユニットに対応して配信する、第2の配信ポリシー調整ユニットをさらに含む、請求項7または8に記載の制御ノード。
  11. ストリーム計算システムであって、前記ストリーム計算システムは、制御ノードと複数の作業ノードとを含み、
    前記制御ノードは、構成されたフローグラフに従って、前記複数の作業ノードの1つまたは複数の作業ノードを、データストリームを処理するために呼び出すように構成され、前記フローグラフは、各作業ノードのために事前に設定された並行度を含み、各作業ノードの並行度は、前記作業ノードが前記データストリームを処理するために呼び出されている実行ユニットの数を示し、
    前記1つまたは複数の作業ノードの各それぞれの作業ノードは、前記データストリームを処理するために、前記それぞれの作業ノードの前記並行度に従って、1つまたは複数の実行ユニットを呼び出ように構成され、
    前記制御ノードは、前記1つまたは複数の作業ノード間のデータトラフィックに関する情報と、前記1つまたは複数の作業ノードの各作業ノードの処理速度情報とを収集し、前記収集されたデータトラフィック情報と処理速度情報とに従って、前記1つまたは複数の作業ノードの各作業ノードの最適化並行度を決定し、前記それぞれの作業ノードの前記最適化並行度が前記それぞれの作業ノードの前記並行度と同じでないとき、前記それぞれの作業ノードの前記最適化並行度に従って、前記それぞれの作業ノードの前記並行度を調整するようにさらに構成される、ストリーム計算システム。
  12. 記制御ノードは、具体的には、
    前記それぞれの作業ノードの前記最適化並行度に従って、少なくとも1つの実行ユニットを前記それぞれの作業ノードに追加するか、または、前記それぞれの作業ノードの少なくとも1つの実行ユニットを削除するように構成され、その結果、前記それぞれの作業ノード内に現在含まれている実行ユニットの数によって表される前記それぞれの作業ノードの並行度は、前記それぞれの作業ノードの前記最適化並行度と同じである、請求項11に記載のストリーム計算システム。
  13. 前記制御ノードは、前記追加または削除された少なくとも1つの実行ユニットに従って、前記それぞれの作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、調整されたデータ配信ポリシーを前記アップストリーム作業ノードに送信するようにさらに構成され、その結果、前記アップストリーム作業ノードは、ダウンストリームターゲット作業ノードを決定し、前記ダウンストリームターゲット作業ノードに対して構成された配信ポリシーに従って前記ダウンストリームターゲット作業ノードに対応するターゲット実行ユニットを決定し、かつデータパケットを前記ターゲット実行ユニットに配信し、前記データ配信ポリシーは、前記アップストリーム作業ノードがデータを配信するときの、前記ダウンストリームターゲット作業ノードと、データ受信時の前記ダウンストリームターゲット作業ノードのデータ量とを示すために使用される、請求項12に記載のストリーム計算システム。
  14. 前記制御ノードは、前記追加または削除された少なくとも1つの実行ユニットに従って、前記それぞれの作業ノードに対応するアップストリーム作業ノードのデータ配信ポリシーを調整し、調整されたデータ配信ポリシーを前記アップストリーム作業ノードに送信するようにさらに構成され、その結果、前記アップストリーム作業ノードは、前記調整されたデータ配信ポリシーに従って、ターゲット作業ノードが属する、少なくとも1つの作業ノードを含む作業ノードグループを決定し、前記作業ノードグループからダウンストリームターゲット作業ノードを決定し、前記ターゲット作業ノードに対応するターゲット実行ユニットを決定した後、データパケットを前記ターゲット実行ユニットに対応して配信する、請求項12に記載のストリーム計算システム。
JP2016555667A 2014-03-06 2015-01-27 ストリーム計算システムにおけるデータ処理方法、制御ノードおよびストリーム計算システム Active JP6436594B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410082041.X 2014-03-06
CN201410082041.XA CN103870340B (zh) 2014-03-06 2014-03-06 流计算系统中的数据处理方法、控制节点及流计算系统
PCT/CN2015/071645 WO2015131721A1 (zh) 2014-03-06 2015-01-27 流计算系统中的数据处理方法、控制节点及流计算系统

Publications (2)

Publication Number Publication Date
JP2017509075A JP2017509075A (ja) 2017-03-30
JP6436594B2 true JP6436594B2 (ja) 2018-12-12

Family

ID=50908902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016555667A Active JP6436594B2 (ja) 2014-03-06 2015-01-27 ストリーム計算システムにおけるデータ処理方法、制御ノードおよびストリーム計算システム

Country Status (6)

Country Link
US (2) US10097595B2 (ja)
EP (1) EP3115896A4 (ja)
JP (1) JP6436594B2 (ja)
KR (1) KR101858041B1 (ja)
CN (2) CN103870340B (ja)
WO (1) WO2015131721A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870340B (zh) * 2014-03-06 2017-11-07 华为技术有限公司 流计算系统中的数据处理方法、控制节点及流计算系统
CN104063293B (zh) * 2014-07-04 2017-06-27 华为技术有限公司 一种数据备份方法及流计算系统
CN104216766B (zh) * 2014-08-26 2017-08-29 华为技术有限公司 对流数据进行处理的方法及装置
CN104320382B (zh) * 2014-09-30 2018-04-20 华为技术有限公司 分布式的实时流处理装置、方法和单元
CN104317556B (zh) * 2014-10-22 2018-03-16 华为技术有限公司 一种流式应用升级方法、主控节点及流计算系统
CN104572182B (zh) * 2014-12-23 2018-07-13 杭州华为数字技术有限公司 一种流应用的配置方法、节点及流计算系统
CN106339252B (zh) * 2015-07-08 2020-06-23 阿里巴巴集团控股有限公司 分布式dag系统的自适应优化方法和装置
CN105224805B (zh) * 2015-10-10 2018-03-16 百度在线网络技术(北京)有限公司 基于流式计算的资源管理方法及装置
GB2544049A (en) * 2015-11-03 2017-05-10 Barco Nv Method and system for optimized routing of data streams in telecommunication networks
CN105930203B (zh) * 2015-12-29 2019-08-13 中国银联股份有限公司 一种控制消息分发的方法及装置
CN105976242A (zh) * 2016-04-21 2016-09-28 中国农业银行股份有限公司 一种基于实时流数据分析的交易欺诈检测方法及系统
CN107678790B (zh) * 2016-07-29 2020-05-08 华为技术有限公司 流计算方法、装置及系统
US10572276B2 (en) 2016-09-12 2020-02-25 International Business Machines Corporation Window management based on a set of computing resources in a stream computing environment
CN108241525A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种多节点任务动态控制方法
CN109408219B (zh) * 2017-08-16 2021-04-02 中国电信股份有限公司 分布式数据接收方法、系统和用于分布式数据接收的装置
CN107943579B (zh) * 2017-11-08 2022-01-11 深圳前海微众银行股份有限公司 资源瓶颈预测方法、设备、系统及可读存储介质
US10496383B2 (en) * 2017-12-20 2019-12-03 Intel Corporation Methods and apparatus to convert a non-series-parallel control flow graph to data flow
CN108628605A (zh) * 2018-04-28 2018-10-09 百度在线网络技术(北京)有限公司 流式数据处理方法、装置、服务器和介质
CN108984770A (zh) * 2018-07-23 2018-12-11 北京百度网讯科技有限公司 用于处理数据的方法和装置
CN109117355A (zh) * 2018-08-31 2019-01-01 百度在线网络技术(北京)有限公司 用于分析信息流系统性能的方法和装置
CN110297640B (zh) * 2019-06-12 2020-10-16 北京三快在线科技有限公司 模型部署的方法、装置、存储介质及电子设备
CN112256444B (zh) * 2019-07-22 2023-08-01 腾讯科技(深圳)有限公司 基于dag的业务处理方法、装置、服务器及存储介质
CN112561051A (zh) * 2019-09-26 2021-03-26 中兴通讯股份有限公司 一种对深度学习模型进行并行处理的方法及装置
CN110795151A (zh) * 2019-10-08 2020-02-14 支付宝(杭州)信息技术有限公司 算子并发度调整方法、装置和设备
CN111400008B (zh) * 2020-03-13 2023-06-02 北京旷视科技有限公司 计算资源调度方法、装置及电子设备
CN112202692A (zh) * 2020-09-30 2021-01-08 北京百度网讯科技有限公司 数据分发方法、装置、设备以及存储介质
CN112596895B (zh) * 2020-12-02 2023-09-12 中国科学院计算技术研究所 一种sql语义感知的弹性倾斜处理方法及系统
CN115996228B (zh) * 2023-03-22 2023-05-30 睿至科技集团有限公司 一种基于物联网的能源数据的处理方法及其系统

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548724A (en) * 1993-03-22 1996-08-20 Hitachi, Ltd. File server system and file access control method of the same
US5742806A (en) * 1994-01-31 1998-04-21 Sun Microsystems, Inc. Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system
US5673407A (en) * 1994-03-08 1997-09-30 Texas Instruments Incorporated Data processor having capability to perform both floating point operations and memory access in response to a single instruction
US6088452A (en) * 1996-03-07 2000-07-11 Northern Telecom Limited Encoding technique for software and hardware
US5764905A (en) * 1996-09-09 1998-06-09 Ncr Corporation Method, system and computer program product for synchronizing the flushing of parallel nodes database segments through shared disk tokens
US6230313B1 (en) * 1998-12-23 2001-05-08 Cray Inc. Parallelism performance analysis based on execution trace information
US6820262B1 (en) * 1999-07-22 2004-11-16 Oracle International Corporation Method for computing the degree of parallelism in a multi-user environment
US6757291B1 (en) * 2000-02-10 2004-06-29 Simpletech, Inc. System for bypassing a server to achieve higher throughput between data network and data storage system
US7418470B2 (en) * 2000-06-26 2008-08-26 Massively Parallel Technologies, Inc. Parallel processing systems and method
US6671686B2 (en) * 2000-11-02 2003-12-30 Guy Pardon Decentralized, distributed internet data management
US6954776B1 (en) * 2001-05-07 2005-10-11 Oracle International Corporation Enabling intra-partition parallelism for partition-based operations
US7069268B1 (en) * 2003-01-13 2006-06-27 Cisco Technology, Inc. System and method for identifying data using parallel hashing
US7457261B2 (en) * 2003-07-30 2008-11-25 Cisco Technology, Inc. Wireless network self-adaptive load balancer
JP2005108086A (ja) * 2003-10-01 2005-04-21 Handotai Rikougaku Kenkyu Center:Kk データ処理装置
JP4638250B2 (ja) * 2005-02-03 2011-02-23 三菱電機株式会社 プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム
US9094257B2 (en) * 2006-06-30 2015-07-28 Centurylink Intellectual Property Llc System and method for selecting a content delivery network
US8289965B2 (en) * 2006-10-19 2012-10-16 Embarq Holdings Company, Llc System and method for establishing a communications session with an end-user based on the state of a network connection
US8238253B2 (en) * 2006-08-22 2012-08-07 Embarq Holdings Company, Llc System and method for monitoring interlayer devices and optimizing network performance
US8743703B2 (en) * 2006-08-22 2014-06-03 Centurylink Intellectual Property Llc System and method for tracking application resource usage
JP2008097280A (ja) * 2006-10-11 2008-04-24 Denso Corp 移動体用マルチコアcpuの制御装置、移動体用マイクロコンピュータ及び移動体操縦支援装置
US20090135944A1 (en) * 2006-10-23 2009-05-28 Dyer Justin S Cooperative-MIMO Communications
US8209703B2 (en) * 2006-12-08 2012-06-26 SAP France S.A. Apparatus and method for dataflow execution in a distributed environment using directed acyclic graph and prioritization of sub-dataflow tasks
JP5540706B2 (ja) * 2007-12-18 2014-07-02 日本電気株式会社 データストリーム処理システム、方法及びプログラム
CN101661406A (zh) * 2008-08-28 2010-03-03 国际商业机器公司 处理单元调度装置和方法
JP5149840B2 (ja) * 2009-03-03 2013-02-20 株式会社日立製作所 ストリームデータ処理方法、ストリームデータ処理プログラム、および、ストリームデータ処理装置
US20100306005A1 (en) * 2009-05-29 2010-12-02 Perceptive Software, Inc. Workflow Management System and Method
US20100306006A1 (en) * 2009-05-29 2010-12-02 Elan Pavlov Truthful Optimal Welfare Keyword Auctions
US8880524B2 (en) * 2009-07-17 2014-11-04 Apple Inc. Scalable real time event stream processing
JP2011034137A (ja) * 2009-07-29 2011-02-17 Toshiba Corp 分散処理装置及び分散処理方法
US8656396B2 (en) * 2009-08-11 2014-02-18 International Business Machines Corporation Performance optimization based on threshold performance measure by resuming suspended threads if present or by creating threads within elastic and data parallel operators
JP5395565B2 (ja) 2009-08-12 2014-01-22 株式会社日立製作所 ストリームデータ処理方法及び装置
CN101702176B (zh) * 2009-11-25 2011-08-31 南开大学 一种基于局部路径锁的xml数据并发控制方法
JP4967014B2 (ja) * 2009-12-16 2012-07-04 株式会社日立製作所 ストリームデータ処理装置及び方法
EP2461511A4 (en) * 2010-01-04 2014-01-22 Zte Corp SERIAL PROCESSING METHOD, BIT RATE MATCHING PARALLEL PROCESSING METHOD, AND DEVICE THEREOF
JP2011243162A (ja) * 2010-05-21 2011-12-01 Mitsubishi Electric Corp 台数制御装置、台数制御方法及び台数制御プログラム
US8699344B2 (en) * 2010-12-15 2014-04-15 At&T Intellectual Property I, L.P. Method and apparatus for managing a degree of parallelism of streams
CN102082692B (zh) * 2011-01-24 2012-10-17 华为技术有限公司 基于网络数据流向的虚拟机迁移方法、设备和集群系统
US8695008B2 (en) * 2011-04-05 2014-04-08 Qualcomm Incorporated Method and system for dynamically controlling power to multiple cores in a multicore processor of a portable computing device
CN102200906B (zh) 2011-05-25 2013-12-25 上海理工大学 大规模并发数据流处理系统及其处理方法
US8997107B2 (en) * 2011-06-28 2015-03-31 Microsoft Technology Licensing, Llc Elastic scaling for cloud-hosted batch applications
US8694486B2 (en) * 2011-09-27 2014-04-08 International Business Machines Corporation Deadline-driven parallel execution of queries
CN103164261B (zh) * 2011-12-15 2016-04-27 中国移动通信集团公司 多中心数据任务处理方法、装置及系统
JP2013225204A (ja) * 2012-04-20 2013-10-31 Fujitsu Frontech Ltd トラフィック量予測に基づき、稼働サーバ台数を自動で最適化する負荷分散方法及び装置
US9002822B2 (en) * 2012-06-21 2015-04-07 Sap Se Cost monitoring and cost-driven optimization of complex event processing system
US9235446B2 (en) * 2012-06-22 2016-01-12 Microsoft Technology Licensing, Llc Parallel computing execution plan optimization
US9063788B2 (en) * 2012-08-27 2015-06-23 International Business Machines Corporation Stream processing with runtime adaptation
EP2898638B1 (en) * 2012-09-21 2020-10-28 NYSE Group, Inc. High performance data streaming
US9081870B2 (en) * 2012-12-05 2015-07-14 Hewlett-Packard Development Company, L.P. Streaming system performance optimization
US10051024B2 (en) * 2013-03-14 2018-08-14 Charter Communications Operating, Llc System and method for adapting content delivery
CN103246570A (zh) * 2013-05-20 2013-08-14 百度在线网络技术(北京)有限公司 Hadoop的调度方法、系统及管理节点
US9106391B2 (en) 2013-05-28 2015-08-11 International Business Machines Corporation Elastic auto-parallelization for stream processing applications based on a measured throughput and congestion
US20150039555A1 (en) * 2013-08-02 2015-02-05 International Business Machines Corporation Heuristically modifying dbms environments using performance analytics
WO2015044719A1 (en) * 2013-09-27 2015-04-02 Freescale Semiconductor, Inc. Apparatus for optimising a configuration of a communications network device
CN103870340B (zh) * 2014-03-06 2017-11-07 华为技术有限公司 流计算系统中的数据处理方法、控制节点及流计算系统

Also Published As

Publication number Publication date
CN103870340B (zh) 2017-11-07
EP3115896A4 (en) 2017-04-05
KR20160127814A (ko) 2016-11-04
CN103870340A (zh) 2014-06-18
US10097595B2 (en) 2018-10-09
WO2015131721A1 (zh) 2015-09-11
JP2017509075A (ja) 2017-03-30
US20160373494A1 (en) 2016-12-22
EP3115896A1 (en) 2017-01-11
US20180367584A1 (en) 2018-12-20
US10630737B2 (en) 2020-04-21
CN107729147B (zh) 2021-09-21
KR101858041B1 (ko) 2018-06-27
CN107729147A (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
JP6436594B2 (ja) ストリーム計算システムにおけるデータ処理方法、制御ノードおよびストリーム計算システム
CN107196870B (zh) 一种基于dpdk的流量动态负载均衡方法
WO2021012663A1 (zh) 一种访问日志的处理方法及装置
US6768716B1 (en) Load balancing system, apparatus and method
CN103812949B (zh) 一种面向实时云平台的任务调度与资源分配方法及系统
US20160188376A1 (en) Push/Pull Parallelization for Elasticity and Load Balance in Distributed Stream Processing Engines
US20120117242A1 (en) Service linkage system and information processing system
CN108270805B (zh) 用于数据处理的资源分配方法及装置
Karamoozian et al. On the fog-cloud cooperation: How fog computing can address latency concerns of iot applications
Kim et al. An energy-aware service function chaining and reconfiguration algorithm in NFV
Aljoby et al. On SDN-enabled online and dynamic bandwidth allocation for stream analytics
Ke et al. Aggregation on the fly: Reducing traffic for big data in the cloud
CN105610992A (zh) 一种分布式流计算系统任务分配负载均衡方法
Guo et al. An efficient dynamic offloading approach based on optimization technique for mobile edge computing
Li et al. Hone: Mitigating stragglers in distributed stream processing with tuple scheduling
Zhu et al. A congestion-aware and robust multicast protocol in SDN-based data center networks
Lia et al. Optimal placement of delay-constrained in-network computing tasks at the edge with minimum data exchange
WO2017045640A1 (zh) 一种数据中心内关联流的带宽调度方法及装置
CN114610765B (zh) 流计算方法、装置、设备及存储介质
CN112685167A (zh) 资源使用方法、电子设备和计算机程序产品
Cholvi et al. Stability of FIFO networks under adversarial models: State of the art
Khanli et al. A new hybrid load balancing algorithm in grid computing systems
Wei et al. Coflow scheduling with unknown prior information in data center networks
TWI735520B (zh) 調整元件邏輯執行緒數量的方法及裝置
Dixit et al. Survey of apache storm scheduler

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180706

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: 20181016

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181112

R150 Certificate of patent or registration of utility model

Ref document number: 6436594

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250