JP2019528522A - タスク処理方法及び分散コンピューティングフレームワーク - Google Patents

タスク処理方法及び分散コンピューティングフレームワーク Download PDF

Info

Publication number
JP2019528522A
JP2019528522A JP2019505219A JP2019505219A JP2019528522A JP 2019528522 A JP2019528522 A JP 2019528522A JP 2019505219 A JP2019505219 A JP 2019505219A JP 2019505219 A JP2019505219 A JP 2019505219A JP 2019528522 A JP2019528522 A JP 2019528522A
Authority
JP
Japan
Prior art keywords
operator
task
data set
distributed computing
distributed data
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
JP2019505219A
Other languages
English (en)
Other versions
JP6781819B2 (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2019528522A publication Critical patent/JP2019528522A/ja
Application granted granted Critical
Publication of JP6781819B2 publication Critical patent/JP6781819B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24524Access plan code generation and invalidation; Reuse of access plans
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本発明は、タスク処理方法及び分散コンピューティングフレームワークに関する。当該方法の一具体的な実施例では、分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築するステップであって、タスク説明情報は、演算子と分散データセットとの対応関係を説明するためのものであり、演算子は、分散データセット及び/又は分散データセットをグループ化して得られた分散データセットに作用するものである、ステップと、タスク説明情報に基づいて、演算子により作用される分散データセットを確定するステップと、演算子を用いて、演算子により作用される分散データセットに対して分散コンピューティングを行うステップとを含む。これにより、分散コンピューティングにおいて、トポロジ構造を構築して演算子の作用範囲及び入れ子関係を説明することを実現し、同じ演算子は分散データセットと、分散データセットをグループ化して得られた分散データセットとに同時に作用でき、異なるコンピューティングのニーズに応じる分散コンピューティングタスクを説明できる。【選択図】図1

Description

(関連出願の相互参照)
本願は、2016年9月30日に提出した、出願番号が「201610873646.X」である中国特許出願に基づく優先権を主張し、当該出願の全文を引用することにより本願に組み込む。
本発明は、コンピュータの分野に関し、具体的には、分散コンピューティングの分野に関し、特に、タスク処理方法及び分散コンピューティングフレームワークに関する。
分散コンピューティングにおいて、分散コンピューティングタスクを説明するために、ロジカルプラン(Logical Plan)を使用する必要がある。従来の分散コンピューティングフレームワークにおいて、一般的に使用されているロジカルプランを構築する方法は、演算子(Operator)の上流(upstream)と下流(downstream)の関係について説明する方法である。
しかしながら、このような方法を使用してロジカルプランを構築する際に、演算子により作用されるデータの範囲について説明することができない。例えば、Apache Spark、Google CloudDataflowなどの分散コンピューティングフレームワークは、単に全局的に分散データセットをサポートしているだけで、分散データセットをグループ化してグループ化データが得られた後に、グループ化データに対して再グループ化することができない。これにより、構築されたロジカルプランは、実際の分散コンピューティングにおいて頻出している例えばデータをグループ化してからグループ化データに対して操作するようなニーズを説明することができなくなる。
本発明は、前述した背景技術の中に提出された技術的問題を解決するためのタスク処理方法及び分散コンピューティングフレームワークを提供する。
本発明の第一の態様によれば、タスク処理方法を提供する。前記方法は、分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築するステップであって、前記タスク説明情報は、演算子と分散データセットとの対応関係を説明するためのものであり、前記演算子は、分散データセット及び/又は前記分散データセットをグループ化して得られた分散データセットに作用するものである、ステップと、前記タスク説明情報に基づいて、前記演算子により作用される分散データセットを確定するステップと、前記演算子を用いて、前記演算子により作用される分散データセットに対して分散コンピューティングを行うステップと、を含む。
本発明の第二の態様によれば、分散コンピューティングフレームワークを提供する。前記分散コンピューティングフレームワークは、分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築するように配置される構築ユニットであって、前記タスク説明情報は、演算子と分散データセットとの対応関係を説明するためのものであり、前記演算子は、分散データセット及び/又は前記分散データセットをグループ化して得られた分散データセットに作用するものである、構築ユニットと、前記タスク説明情報に基づいて、前記演算子により作用される分散データセットを確定するように配置される確定ユニットと、前記演算子を用いて、前記演算子により作用される分散データセットに対して分散コンピューティングを行うように配置されるコンピューティングユニットとを備える。
本発明に係るタスク処理方法及び分散コンピューティングフレームワークは、分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築し、その中で、タスク説明情報は、演算子と分散データセットとの対応関係を説明するためのものであり、演算子は、分散データセット及び/又は分散データセットをグループ化して得られた分散データセットに作用するものであり、且つ、タスク説明情報に基づいて、演算子により作用される分散データセットを確定し、演算子を用いて、演算子により作用される分散データセットに対して分散コンピューティングを行う。これにより、分散コンピューティングにおいて、トポロジ構造を構築して、演算子の作用範囲及び入れ子関係を説明することを実現し、同じ演算子は、分散データセットと、分散データセットをグループ化して得られた分散データセットとに同時に作用することができ、したがって、異なるコンピューティングのニーズに応じる分散コンピューティングタスクを説明することができる。
以下の図面による非限定的な実施例についての詳細な説明を閲覧・参照することにより、本発明の他の特徴、目的及び利点がより明らかになる。
本発明の一実施例(実施形態)に係るタスク処理方法のフローチャートである。 DAG(有向非巡回グラフ)を利用して分散コンピューティングタスクを説明する例示的な効果図である。 ツリー構造を利用して分散コンピューティングタスクを説明する例示的な効果図である。 ツリー構造及びDAGを利用して分散コンピューティングタスクを説明する例示的な効果図である。 本発明の一実施例に係る分散コンピューティングフレームワークの構成の模式図である。 本発明の一実施例に係る分散コンピューティングフレームワークを実現するのに適するコンピュータシステムの構成の模式図である。
以下、図面と実施例を参照しながら、本発明を詳細に説明する。ここで記載される具体的な実施例は、関連の発明を解釈するのみに用いられ、当該発明に対する限定ではないと理解されるべきである。なお、説明の便宜上、図面には、関連の発明に関わる部分のみを示す。
なお、特に断らない(他の説明と衝突しない)限り、本発明の実施例及び実施例における特徴は互いに組み合わせることができる。以下、図面を参照しながら、実施例を併せて本発明を詳しく説明する。
図1に示すように、本発明の一実施例に係るタスク処理方法のフロー100を示す図である。前記方法は、次のようなステップを含む。
ステップ101において、分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築する。
本実施例において、分散コンピューティングタスクは、表現式で表示することができる。タスク説明情報を用いて、分散コンピューティングタスクを説明することができ、タスク説明情報をロジカルプランと呼ぶことができる。分散コンピューティングタスクを処理する場合、分散コンピューティングタスクの表現式を解析し、分散コンピューティングタスクに対応するロジカルプランを構築することができる。
本実施例において、分散コンピューティングタスクのロジカルプランは、演算子と演算子の所在するドメインとを含むことができる。演算子は、データに対する操作を表示することができる。学校での一回の学生の成績データを例として、学生の成績データから上位の3名(学生の成績順位の第1〜3位)を取得する操作を、「学生成績データから上位の3名取得する演算子」と呼んでもよい。ドメインは、データに対するグループ化を表示するためのものであってもよい。演算子の所在するドメインを介して、演算子により作用される分散データセットを確定することができる。例えば、学生成績データから上位の3名取得する演算子の1つの所在するドメインが学年ドメインであれば、当該学年ドメインは、学校全体のすべての学生の成績データを含む分散データセットを学年別にグループ化することを示し、学生成績データから上位の3名取得する演算子により作用される分散データセットは、グループ化して得られた1つの学年の学生成績データを含む分散データセットである。
本実施例において、ロジカルプランは、以下のような形で定義することができる。
logical plan {
domain(single root)

domain: {
parent node:empty | domain
child node:empty | [domain | operator]

operator {
upstream:empty | [operator]
downstram:empty | [operator]
parent node: domain

本実施例において、エンタードメイン(enter domain)とエグジットドメイン(exit domain)の意味を定義することができる。1つのドメインにエンターすると、分散データセットのグループ化を始める。1つのドメインにエンターすることは、まず、表現式における分散データセットをグループ化するためのキーワードを読み取るための1つの演算子を導入することができる。1つのドメインからエグジットすると、分散データセットのグループ化をしないようになる。エグジットされたドメインで発生したすべての分散データセットは、一緒に集まって、次のノードに流入する。
学生の成績データから学年別に上位の3名、及びクラス別に上位の3名を取得する分散コンピューティングタスクを例として、ロジカルプランは、まず1つの全局ドメインを有し、全局ドメインの作用範囲がすべての学生の成績であるというように要約することができる。全局ドメインは、1つの入力を有し、当該入力から学年情報を読み取って学年ドメインを作成することができる。上位の3名を取得する演算子は、学年ドメインに配置され、各学年の学生の成績に対して上位の3名を取得するために使用することができる。同時に、学年ドメインにおいて、さらにクラス情報を読み取ってクラスドメインを作成し、上位の3名を取得する演算子は、クラスドメインに配置されて各クラスの学生の成績から上位の3名を取得するために使用することができる。最後に、二回に渡って上位の3名を取得した結果を全局ドメインにおける出力演算子よって出力することができる。
本実施例のいくつかの代替的な実施形態において、タスク説明情報は、トポロジ構造であり、該トポロジ構造は演算子及びドメインを含み、該ドメインは分散データセットに対応する範囲を示すためのものである。
本実施例において、タスク説明情報は、トポロジ構造であってもよい。トポロジ構造は、演算子とドメインとを含むことができる。ドメインは、データに対するグループ化を表示するためのものである。ドメインの親ノードはヌル(NULL)又はドメインであり、ドメインの子ノードはドメイン又は演算子である。
本実施例のいくつかの代替的な実施形態において、表現式は、グループ化演算子キーワードと、グループ化キーワードと、操作演算子キーワードとを含む。
本実施例において、分散コンピューティングタスクに対応する表現式は、グループ化演算子キーワードと、グループ化キーワードと、操作演算子キーワードとを含む。
本実施例のいくつかの代替的な実施形態において、分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築するのは、グループ化キーワードに対応するドメインを作成するステップと、操作演算子キーワードに対応する操作演算子を確定するステップと、トポロジ構造を構築するステップとを含み、ここで、ドメインのトポロジ構造における子ノードには、グループ化演算子キーワードに対応するグループ化演算子と、操作演算子とを含む。
以下、学生の成績データから学年別に上位の3名、及びクラス別に上位の3名を取得する分散コンピューティングタスクを説明する表現式を例として、分散コンピューティングタスクに対応する表現式を解析する過程を説明する。
表現式のグループ化演算子キーワード(例えば、GroupBy)と、学年別にグループ化することを示すグループ化キーワードとが現れた場合、当該グループ化キーワードに基づいて、学校のすべての学生の成績データを含む分散データセットに対して学年別にグループ化することを確定することができる。表現式において当該グループ化キーワードの前に、学生成績データから上位の3名取得する演算子に対応する操作演算子キーワードが含まれた場合、当該操作演算子キーワードに基づいて、学生成績データから上位の3名取得する演算子により作用される分散データセットは、グループ化して得られた1つの学年の学生成績データを含む分散データセットとして確定することができる。
表現式のグループ化演算子キーワード(例えば、GroupBy)と、クラス別にグループ化することを示すグループ化キーワードとが現れた場合、当該グループ化キーワードに基づいて、1つの学年の学生成績データを含む分散データセットに対してクラス別にグループ化することを確定することができる。表現式において当該グループ化キーワードの前に、学生成績データから上位の3名取得する演算子に対応する操作演算子キーワードが含まれた場合、当該操作演算子キーワードに基づいて、学生成績データから上位の3名取得する演算子により作用される分散データセットは、1つのクラスの学生成績データを含む分散データセットとして確定することができる。
分散コンピューティングタスクの表現式を解析して、学生成績データから上位の3名取得する演算子により作用される分散データセットのそれぞれが、各学年の学生成績データ及び各クラスの学生成績データであることを確定した後、学生の成績データから学年別に上位の3名、及びクラス別に上位の3名を取得する分散コンピューティングタスクを説明するためのトポロジ構造を構築することができる。
このトポロジ構造において、学生の成績データの範囲が学校のすべての学生の成績データであることを示すドメインである全局ドメインが含まれる。当該ドメインの子ノードは、入力ノードと、出力ノードと、学生の成績データの範囲が学年であることを示すドメインである学年ドメインとを含むことができる。学校のすべての学生の成績データを含む分散データセットは、入力ノードから入力されることができる。一つの学年の学生成績データから上位の3名及び一つの学年におけるクラスの学生成績データから上位の3名を取得して得られた結果は、総括された後に出力ノードに出力されることができる。
このトポロジ構造において、学生の成績データの範囲が学年であることを示すドメインの子ノードは、学年情報を読み取るためのグループ化演算子と、学生成績データから上位の3名を取得する操作演算子と、学生の成績データの範囲がクラスであることを示すドメインとを含む。当該グループ化演算子は、入力ノードから学年情報を読み取るためのものであり、入力ノードへ入力された、学校のすべての学生の成績データを含む分散データセットを、学年別にグループ化して、各学年の学生成績データを含む分散データセットを取得する。学生成績データから上位の3名を取得する操作演算子は、各学年の学生成績データから上位の3名を取得するために使用される。
このトポロジ構造において、学生の成績データの範囲がクラスであることを示すドメインの子ノードは、クラス情報を読み取るためのグループ化演算子と、学生成績データから上位の3名を取得する操作演算子とを含む。当該グループ化演算子は、クラス情報を読み取るためのものであり、一つの学年の学生成績データを含む分散データセットをクラス別にグループ化して、各クラスの学生成績データを含む分散データセットを取得する。学生成績データから上位の3名を取得する操作演算子は、各クラスの学生成績データから上位の3名を取得するために使用される。
図2に示すように、DAGを利用して分散コンピューティングタスクを説明する例示的な効果図である。
図2には、入力ノード、学年情報読み取りノードと、クラス情報読み取りノードと、成績上位3名取得ノードと、出力ノードが示されている。上記ノードにより表示される演算子同士は、互いに上流と下流の関係を構成して1つのDAG(Directed Acyclic Graph:有向非巡回グラフ)を形成することができる。入力ノードは、入力された、学校のすべての学生の成績データを含む分散データセットを受けるための入力演算子である。学年情報読み取りノードは、学年情報を読み取るためのグループ化演算子である。クラス情報読み取りノードは、クラス情報を読み取るためのグループ化演算子である。成績上位3名取得ノードは、それぞれ学年の学生成績データから上位の3名を取得する操作演算子、及びクラスの学生成績データから上位の3名を取得する操作演算子である。出力ノードは、学年の学生成績データ及びクラスの学生成績データから上位の3名を取得して得られた結果を出力するための出力演算子である。
図3に示すように、ツリー構造を利用して分散コンピューティングタスクを説明する例示的な効果図である。
図3には、入力ノード、学年情報読み取りノード、クラス情報読み取りノード、成績上位3名取得ノード、出力ノード、全局ドメインノード、学年ドメインノード、及びクラスドメインノードが示されている。
全局ドメインノードの子ノードは、入力ノード、出力ノード及び学年ドメインノードを含む。入力ノードは、入力された、学生の成績データを含む分散データセットを受ける入力演算子であってもよい。出力ノードは、演算子を用いて分散データセットを分散コンピューティングして得られた計算結果を出力する出力演算子であってもよい。
学年ドメインの子ノードは、学年情報読み取りノードと成績上位3名取得ノードとを含む。学年情報読み取りノードは、学年情報を読み取るためのグループ化演算子であり、成績上位3名取得ノードは、学生成績データから上位の3名を取得する操作演算子であってもよい。
クラスドメインの子ノードは、クラス情報読み取りノードと成績上位3名取得ノードとを含む。クラス情報読み取りノードは、クラス情報を読み取るグループ化演算子であり、成績上位3名取得ノードは、学生成績データから上位の3名を取得する操作演算子であってもよい。
図4に示すように、ツリー構造及びDAGを利用して分散コンピューティングタスクを説明する例示的な効果図である。
図4は、実線で示す入力ノード、学年情報読み取りノード、クラス情報読み取りノード、成績上位3名取得ノード、出力ノード、並びに点線で示す全局ドメインノード、学年ドメインノード及びクラスドメインノードが示されている。
入力ノードは、入力された、学生の成績データを含む分散データセットを受ける入力演算子であってもよい。出力ノードは、演算子を用いて分散データセットを分散コンピューティングして得られた計算結果を出力する出力演算子であってもよい。
学年情報読み取りノードは、学年情報を読み取るためのグループ化演算子であり、成績上位3名取得ノードは、学生成績データから上位の3名を取得する操作演算子であってもよい。
クラス情報読み取りノードは、クラス情報を読み取るためのグループ化演算子であり、成績上位3名取得ノードは、学生成績データから上位の3名を取得する操作演算子であってもよい。
演算子間の接続線は、演算子の上流と下流の関係を説明することができ、ノード間の入れ子は、親子関係を説明することができる。
ステップ102において、タスク説明情報に基づいて、演算子により作用される分散データセットを確定する。
本実施例において、ステップ101で分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築した後、例えばトポロジ構造を構築した後、タスク説明情報に基づいて、演算子により作用される分散データセットを確定することができる。
学生の成績データから学年別に上位の3名、及びクラス別に上位の3名を取得する分散コンピューティングタスクを例として、ステップ101を介して構築された分散コンピューティングタスクのタスク説明情報であるトポロジ構造には、ルートノードである全局ドメインと、入力ノードと、出力ノードと、学年ドメインと、クラスドメインノードと、学生成績データから上位の3名を取得する操作演算子とを含む。このトポロジ構造におけるノードをトラバーサルすることができ、トラバーサル中に、学生の成績データから上位の3名を取得する操作演算子が学年ドメインとクラスドメインとにそれぞれ位置したことを確定し、さらに、学生成績データから上位の3名取得する演算子により作用される分散データセットは、それぞれ各学年の学生成績データ、及び各クラスの学生成績データであることを確定することができる。
ステップ103において、演算子を用いて、演算子により作用される分散データセットに対して分散コンピューティングを行う。
本実施例において、ステップ102により、タスク説明情報に基づいて、演算子により作用される分散データセットを確定した後、演算子を用いて、演算子により作用される分散データセットに対して分散コンピューティングを行うことができる。
学生の成績データから学年別に上位の3名、及びクラス別に上位の3名を取得する分散コンピューティングタスクを例として、ステップ102により、学生成績データから上位の3名取得する演算子により作用される分散データセットが、それぞれ各学年の学生成績データ及び各クラスの学生成績データであることを確定する。各学年の学生成績データ及び各クラスの学生成績データとに対して、それぞれ上位の3名を取得する分散コンピューティングを行うことができる。そして、全局ドメインにおける出力ノードを介して結果を出力することができる。
図5に示すように、上記各図面に示す方法の実現形態として、本発明は、分散コンピューティングフレームワークの一実施例を提供する。該フレームワークの実施例は、図2に示された方法の実施例に対応している。
図5に示すように、本実施例の分散コンピューティングフレームワーク500は、構築ユニット501と、確定ユニット502と、コンピューティングユニット503とを含む。ここで、構築ユニット501は、分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築するように配置され、タスク説明情報は、演算子と分散データセットとの対応関係を説明するためのものであり、演算子は、分散データセット及び/又は分散データセットをグループ化して得られた分散データセットに作用するものである。確定ユニット502は、タスク説明情報に基づいて、演算子により作用される分散データセットを確定するように配置される。コンピューティングユニット503は、演算子を用いて、演算子により作用される分散データセットに対して分散コンピューティングを行うように配置される。
本実施例のいくつかの代替的な実施形態において、表現式は、グループ化演算子キーワードと、グループ化キーワードと、操作演算子キーワードとを含む。
本実施例のいくつかの代替的な実施形態において、タスク説明情報は、トポロジ構造であり、前記トポロジ構造は、演算子とドメインとを含み、前記ドメインは、前記分散データセットに対応する範囲を示すためのものである。
本実施例のいくつかの代替的な実施形態において、構築ユニット501は、グループ化キーワードに対応するドメインを作成するように配置される作成サブユニット(図示せず)と、操作演算子キーワードに対応する操作演算子を確定するように配置される操作演算子確定サブユニット(図示せず)と、トポロジ構造を構築するように配置されるトポロジ構造構築サブユニットであって、ドメインのトポロジ構造における子ノードにはグループ化演算子キーワードに対応するグループ化演算子と操作演算子とを含む、トポロジ構造構築サブユニット(図示せず)と、を備える。
本実施例のいくつかの代替的な実施形態において、トポロジ構造のルートノードの子ノードは、演算子により作用される分散データセットに対して演算子を用いて分散コンピューティングを行って得られた計算結果を出力するための出力演算子を含む。
図6は、本発明の実施例に係る分散コンピューティングフレームワークを実現することに適するコンピュータシステムの構造模式図を示す。
図6に示すように、コンピュータシステム600は、読み出し専用メモリ(ROM)602に記憶されたプログラム、又は記憶部608からランダムアクセスメモリ(RAM)603に取り込まれたプログラムにより各種適宜な動作及び処理することができる中央処理装置(CPU)601を具備する。RAM603において、システム600の操作に必要な各種のプログラム及びデータが記憶されている。CPU601と、ROM602と、RAM603とは、バス604を介して互いに接続されている。入力/出力(I/O)インターフェース605もバス604に接続されている。
キーボード、マウスなどを含む入力部606と、陰極線管(CRT)、液晶表示装置(LCD)などとスピーカーなどを含む出力部607と、ハード駆動部などを含む記憶部608と、LANカード、モデムなどのネットワークインターフェースカードを含む通信部609のような部品は、I/Oインターフェース605に接続されている。通信部609は、インターネットなどのネットワークを介して通信処理する。駆動部610も必要に応じて、I/Oインターフェース605に接続される。磁気ディスク、光ディスク、磁気光ディスク、半導体メモリなどのようなリムーバブルメディア611は、必要に応じて、読み取得したコンピュータプログラムを必要に応じて記憶部608にインストールできるように、駆動部610に取り付けられる。
特に、本発明に係る実施例によれば、以上のフローチャートを参照しながら記載したプロセスは、コンピュータソフトウェアプログラムとして実現することができる。例えば、本発明の実施例は、コンピュータ可読媒体に有形に具現化されるコンピュータプログラムを含むコンピュータプログラムを含み、当該コンピュータプログラムは、フローチャートに示された方法を実行するためのプログラムコードを含む。このような実施例において、当該コンピュータプログラムは、通信部609を介してネットワークからダウンロードされてインストールされてもよく、及び/又はリムーバブルメディア611からインストールされてもよい。
図面におけるフローチャート及びブロック図は、本発明の各種実施例によるシステム、方法及びコンピュータプログラムが実現可能なシステムアーキテクチャー、機能及び操作を図示する。この点から、フローチャート又はブロック図におけるそれぞれのブロックは、1つのモジュール、プログラムブロック、又はコードの一部を示すことができ、当該モジュール、プログラムブロック、又はコードの一部は、一つ又は複数の所定のロジカル機能を実現するための実行可能な命令を含む。なお、複数の代わりになる実装において、ブロックに表示された機能は、図面に表示された順番と異なる順番で発生させることができる。例えば、2つの直列的に接続されると示されたブロックは、実際には、基本的に並行して実行することができ、機能によっては、逆の順番で実行することも可能である。なお、ブロック図及び/又はフローチャートにおけるそれぞれのブロックと、ブロック図及び/又はフローチャートにおけるブロックの組み合わせは、所定の機能又は操作するための専用のハードウェアに基づくシステムによって実現することができ、あるいは、専用ハードウェアとコンピュータ命令の組み合わせによって実現することができる。
他の態様として、本発明は、不揮発性コンピュータ記憶媒体をさらに提供し、該不揮発性コンピュータ記憶媒体は、上記実施例に記載された機器に含まれる不揮発性コンピュータ記憶媒体であってもよく、独立で存在して端末に組み立てられていない不揮発性コンピュータ記憶媒体であってもよい。上記不揮発性コンピュータ記憶媒体は、1つ又は複数のプログラムが記憶されている。上記1つ又は複数のプログラムが1つの機器によって実行される場合、上記機器は、分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築するステップであって、上記タスク説明情報は、演算子と分散データセットの対応関係を説明するためのものであり、上記演算子は、分散データセット及び/又は上記分散データセットをグループ化して得られた分散データセットに作用するものである、ステップと、上記タスク説明情報に基づいて、上記演算子により作用される分散データセットを確定するステップと、上記演算子を用いて上記演算子により作用される分散データセットに対して分散コンピューティングを行うステップと、を実行するようになっている。
以上の記載は、本発明の好ましい実施例、及び使われている技術的原理の説明に過ぎない。当業者は、本発明に係る保護範囲が、上記の技術的特徴による特定の組合せからなる技術案に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、上記技術的特徴又は均等の特徴の任意の組合せからなる他の技術案も含まれることを理解している。例えば、上記特徴と、本発明に開示された類似の機能を持っている技術的特徴(これらに限定されていない)とを互いに置き換えてなる技術案も含まれる。
学生の成績データから学年別に上位の3名、及びクラス別に上位の3名を取得する分散コンピューティングタスクを例として、ステップ101を介して構築された分散コンピューティングタスクのタスク説明情報であるトポロジ構造には、ルートノードである全局ドメインと、入力ノードと、出力ノードと、学年ドメインノードと、クラスドメインノードと、学生成績データから上位の3名を取得する操作演算子とを含む。このトポロジ構造におけるノードをトラバーサルすることができ、トラバーサル中に、学生の成績データから上位の3名を取得する操作演算子が学年ドメインとクラスドメインとにそれぞれ位置したことを確定し、さらに、学生成績データから上位の3名取得する演算子により作用される分散データセットは、それぞれ各学年の学生成績データ、及び各クラスの学生成績データであることを確定することができる。

Claims (12)

  1. タスク処理方法であって、
    分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築するステップであって、前記タスク説明情報は、演算子と分散データセットとの対応関係を説明するためのものであり、前記演算子は、分散データセット及び/又は前記分散データセットをグループ化して得られた分散データセットに作用するものである、ステップと、
    前記タスク説明情報に基づいて、前記演算子により作用される分散データセットを確定するステップと、
    前記演算子を用いて、前記演算子により作用される分散データセットに対して分散コンピューティングを行うステップとを含むことを特徴とする、タスク処理方法。
  2. 請求項1に記載のタスク処理方法であって、
    前記表現式は、グループ化演算子キーワードと、グループ化キーワードと、操作演算子キーワードとを含むことを特徴とする、タスク処理方法。
  3. 請求項2に記載のタスク処理方法であって、
    前記タスク説明情報は、トポロジ構造であり、
    前記トポロジ構造は、演算子とドメインとを含み、
    前記ドメインは、前記分散データセットに対応する範囲を示すためのものであることを特徴とする、タスク処理方法。
  4. 請求項3に記載のタスク処理方法であって、
    前記分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築するステップは、
    前記グループ化キーワードに対応するドメインを作成するステップと、
    前記操作演算子キーワードに対応する操作演算子を確定するステップと、
    前記トポロジ構造を構築するステップであって、前記ドメインの前記トポロジ構造における子ノードは、前記グループ化演算子キーワードに対応するグループ化演算子と前記操作演算子とを含む、ステップとを含むことを特徴とする、タスク処理方法。
  5. 請求項4に記載のタスク処理方法であって、
    前記トポロジ構造のルートノードの子ノードは、前記演算子により作用される分散データセットに対して前記演算子を用いて分散コンピューティングを行って得られた計算結果を出力するための出力演算子を含むことを特徴とする、タスク処理方法。
  6. 分散コンピューティングフレームワークであって、
    分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築するように配置される構築ユニットであって、前記タスク説明情報は、演算子と分散データセットとの対応関係を説明するためのものであり、前記演算子は、分散データセット及び/又は前記分散データセットをグループ化して得られた分散データセットである、構築ユニットと、
    前記タスク説明情報に基づいて、前記演算子により作用される分散データセットを確定するように配置される確定ユニットと、
    前記演算子を用いて、前記演算子により作用される分散データセットに対して分散コンピューティングを行うように配置されるコンピューティングユニットとを備えることを特徴とする、分散コンピューティングフレームワーク。
  7. 請求項6に記載の分散コンピューティングフレームワークであって、
    前記表現式は、グループ化演算子キーワードと、グループ化キーワードと、操作演算子キーワードとを含むことを特徴とする、分散コンピューティングフレームワーク。
  8. 請求項7に記載の分散コンピューティングフレームワークであって、
    前記タスク説明情報は、トポロジ構造であり、
    前記トポロジ構造は、演算子とドメインとを含み、
    前記ドメインは、前記分散データセットに対応する範囲を示すためのものであることを特徴とする、分散コンピューティングフレームワーク。
  9. 請求項8に記載の分散コンピューティングフレームワークであって、
    前記構築ユニットは、
    前記グループ化キーワードに対応するドメインを作成するように配置される作成サブユニットと、
    前記操作演算子キーワードに対応する操作演算子を確定するように配置される操作演算子確定サブユニットと、
    前記トポロジ構造を構築するように配置されるトポロジ構造構築サブユニットであって、前記ドメインの前記トポロジ構造における子ノードは、前記グループ化演算子キーワードに対応するグループ化演算子と前記操作演算子とを含む、トポロジ構造構築サブユニットとを備えることを特徴とする、分散コンピューティングフレームワーク。
  10. 請求項9に記載の分散コンピューティングフレームワークであって、
    前記トポロジ構造のルートノードの子ノードは、前記演算子により作用される分散データセットに対して前記演算子を用いて分散コンピューティングを行って得られた計算結果を出力するための出力演算子を含むことを特徴とする、分散コンピューティングフレームワーク。
  11. プロセッサと、メモリとを備える機器であって、
    前記プロセッサによって実行可能なコンピュータ可読命令が前記メモリに記憶され、前記コンピュータ可読命令が実行される場合、前記プロセッサは、タスク処理方法を実行し、前記方法は、
    分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築するステップであって、前記タスク説明情報は、演算子と分散データセットとの対応関係を説明するためのものであり、前記演算子は、分散データセット及び/又は前記分散データセットをグループ化して得られた分散データセットに作用するものである、ステップと、
    前記タスク説明情報に基づいて、前記演算子により作用される分散データセットを確定するステップと、
    前記演算子を用いて、前記演算子により作用される分散データセットに対して分散コンピューティングを行うステップとを含むことを特徴とする、機器。
  12. プロセッサによって実行可能なコンピュータ可読命令が記憶されている不揮発性コンピュータ記憶媒体であって、
    前記コンピュータ可読命令が前記プロセッサによって実行される場合、前記プロセッサはタスク処理方法を実行し、前記方法は、
    分散コンピューティングタスクに対応する表現式を解析し、分散コンピューティングタスクに対応するタスク説明情報を構築するステップであって、前記タスク説明情報は、演算子と分散データセットとの対応関係を説明するためのものであり、前記演算子は、分散データセット及び/又は前記分散データセットをグループ化して得られた分散データセットに作用するものである、ステップと、
    前記タスク説明情報に基づいて、前記演算子により作用される分散データセットを確定するステップと、
    前記演算子を用いて、前記演算子により作用される分散データセットに対して分散コンピューティングを行うステップと、を含むことを特徴とする、不揮発性コンピュータ記憶媒体。
JP2019505219A 2016-09-30 2016-10-14 タスク処理方法及び分散コンピューティングフレームワークシステム Active JP6781819B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610873646.X 2016-09-30
CN201610873646.XA CN106383738B (zh) 2016-09-30 2016-09-30 任务处理方法和分布式计算框架
PCT/CN2016/102124 WO2018058707A1 (zh) 2016-09-30 2016-10-14 任务处理方法和分布式计算框架

Publications (2)

Publication Number Publication Date
JP2019528522A true JP2019528522A (ja) 2019-10-10
JP6781819B2 JP6781819B2 (ja) 2020-11-04

Family

ID=57937180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019505219A Active JP6781819B2 (ja) 2016-09-30 2016-10-14 タスク処理方法及び分散コンピューティングフレームワークシステム

Country Status (6)

Country Link
US (1) US11709894B2 (ja)
EP (1) EP3474139A4 (ja)
JP (1) JP6781819B2 (ja)
KR (1) KR102161545B1 (ja)
CN (1) CN106383738B (ja)
WO (1) WO2018058707A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193579B (zh) * 2017-03-29 2021-04-27 武汉斗鱼网络科技有限公司 计划任务的实现方法及装置
CN113553286A (zh) * 2020-04-24 2021-10-26 中科寒武纪科技股份有限公司 基于多处理节点来构建通信拓扑结构的方法和设备
KR20220097631A (ko) 2020-12-30 2022-07-08 주식회사 프리딕션 텍스트 기반의 문서에 대하여 관련 문서를 추천하는 관련 문서 추천 시스템 및 방법, 컴퓨터 프로그램 및 컴퓨터 판독가능 기록 매체

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007072567A1 (ja) * 2005-12-22 2007-06-28 Japan Agency For Marine-Earth Science And Technology 並列処理支援装置
US20140019437A1 (en) * 2012-07-16 2014-01-16 Microsoft Corporation Data Scope Origination Within Aggregation Operations
JP2014074950A (ja) * 2012-10-02 2014-04-24 Nec Corp 分散データストア管理装置、分散並列処理実行装置、分散並列処理システム、分散データストア管理方法、分散並列処理実行方法、および、コンピュータ・プログラム
US20150149503A1 (en) * 2013-11-26 2015-05-28 Ab Initio Technology Llc Parallel access to data in a distributed file system
CN105760511A (zh) * 2016-02-24 2016-07-13 南京信息职业技术学院 一种基于storm的大数据自适应拓扑处理方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4073033B1 (ja) * 2007-04-27 2008-04-09 透 降矢 結合演算の処理機能の向上を考慮した合成関係演算を利用したマルチオペレーション・プロセッシングを用いたデータベースのクエリー処理システム
US8195648B2 (en) * 2009-10-21 2012-06-05 Microsoft Corporation Partitioned query execution in event processing systems
CN101820444B (zh) * 2010-03-24 2012-05-02 北京航空航天大学 一种基于描述信息匹配相似度的资源服务匹配与搜索方法
CN101853179B (zh) * 2010-05-10 2012-09-26 深圳市极限网络科技有限公司 基于插件执行任务分解的通用分布式动态运算技术
CN102479217B (zh) * 2010-11-23 2015-07-15 腾讯科技(深圳)有限公司 一种分布式数据仓库中实现计算均衡的方法及装置
DE102011103305A1 (de) * 2011-06-03 2012-12-06 Eads Deutschland Gmbh Verfahren der Datenfusion und Bereitstellung von Information in einem Computersystem
CN102508640B (zh) * 2011-10-27 2015-04-29 西北工业大学 基于任务分解的分布式rfid复杂事件检测方法
US20130339934A1 (en) * 2012-06-13 2013-12-19 Josef Troch Updating virtualized services
US9542400B2 (en) * 2012-09-07 2017-01-10 Oracle International Corporation Service archive support
US9367806B1 (en) * 2013-08-08 2016-06-14 Jasmin Cosic Systems and methods of using an artificially intelligent database management system and interfaces for mobile, embedded, and other computing devices
US9646003B2 (en) * 2013-11-20 2017-05-09 Wolfram Research, Inc. Cloud storage methods and systems
CN104809242B (zh) * 2015-05-15 2018-03-02 成都睿峰科技有限公司 一种基于分布式结构的大数据聚类方法和装置
CN105808746A (zh) * 2016-03-14 2016-07-27 中国科学院计算技术研究所 一种基于Hadoop体系的关系型大数据无缝接入方法及系统
CN105824957B (zh) * 2016-03-30 2019-09-03 电子科技大学 分布式内存列式数据库的查询引擎系统及查询方法
US10453074B2 (en) * 2016-07-08 2019-10-22 Asapp, Inc. Automatically suggesting resources for responding to a request

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007072567A1 (ja) * 2005-12-22 2007-06-28 Japan Agency For Marine-Earth Science And Technology 並列処理支援装置
US20140019437A1 (en) * 2012-07-16 2014-01-16 Microsoft Corporation Data Scope Origination Within Aggregation Operations
JP2014074950A (ja) * 2012-10-02 2014-04-24 Nec Corp 分散データストア管理装置、分散並列処理実行装置、分散並列処理システム、分散データストア管理方法、分散並列処理実行方法、および、コンピュータ・プログラム
US20150149503A1 (en) * 2013-11-26 2015-05-28 Ab Initio Technology Llc Parallel access to data in a distributed file system
CN105760511A (zh) * 2016-02-24 2016-07-13 南京信息职业技术学院 一种基于storm的大数据自适应拓扑处理方法

Also Published As

Publication number Publication date
CN106383738A (zh) 2017-02-08
EP3474139A1 (en) 2019-04-24
EP3474139A4 (en) 2019-06-26
US11709894B2 (en) 2023-07-25
KR102161545B1 (ko) 2020-10-05
JP6781819B2 (ja) 2020-11-04
KR20190020800A (ko) 2019-03-04
WO2018058707A1 (zh) 2018-04-05
CN106383738B (zh) 2019-10-11
US20190213217A1 (en) 2019-07-11

Similar Documents

Publication Publication Date Title
AU2015292700B2 (en) Data lineage summarization
US9466041B2 (en) User selected flow graph modification
CN110245270A (zh) 基于图模型的数据血缘关系存储方法、系统、介质和设备
US10657208B2 (en) Analyzing model based on design interest
US9471211B2 (en) Chaining applications
CN110543571A (zh) 用于水利信息化的知识图谱构建方法以及装置
US10091123B2 (en) System and user interface for coordinating distributed workflow between multiple computing systems
CN106657192B (zh) 一种用于呈现服务调用信息的方法与设备
US9959353B2 (en) Determining a company rank utilizing on-line social network data
JPWO2013161850A1 (ja) テキストマイニングシステム、テキストマイニング方法及びプログラム
Moritz et al. Perfopticon: Visual query analysis for distributed databases
JP2019528522A (ja) タスク処理方法及び分散コンピューティングフレームワーク
KR20190021397A (ko) 분산형 컴퓨팅 태스크를 실행하기 위한 방법 및 장치
CN111967234A (zh) 可视化报表的生成方法、装置、终端设备和存储介质
CN113094776B (zh) 可视化组件模型数据构建的方法、系统及电子设备
US9767170B2 (en) Storage area network zone optimization
CN114116108A (zh) 动态渲染方法、装置、设备及存储介质
KR20190020801A (ko) 분산 컴퓨팅 프레임워크 및 분산 컴퓨팅 방법
Datar et al. Hands-on exploratory data analysis with R: become an expert in exploratory data analysis using R packages
US10552995B2 (en) Hierarchical information visualizer and editor
US11275485B2 (en) Data processing pipeline engine
Qawasmeh et al. Parallelism exploration in sequential algorithms via animation tool
CN117891979B (zh) 血缘图谱构建方法、装置、电子设备和可读介质
KR102449831B1 (ko) 신규 텍스트에 대한 정보를 제공하는 전자 장치, 신규 텍스트를 확인하는 서버 및 그 동작 방법
Fedarko et al. Hierarchically visualizing metagenome assembly graphs with metagenomescope

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190131

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190131

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200518

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201016

R150 Certificate of patent or registration of utility model

Ref document number: 6781819

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250