(57)【要約】本発明は、分散コンピューティングタスクを実行するための方法及び装置に関する。一実施形態では、分散コンピューティングタスクの表現式を解析して演算子キーワードを取得するステップと、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づき上記分散コンピューティングタスクを実行するステップであって、上記演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、上記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである、ステップとを含む。本実施形態では、入れ子データセットに対する操作を実現し、例えば分散データセットや分散データセットのグループ化後のグループ化データを操作する分散コンピューティングタスクをサポートしてコードの再利用を実現する。【選択図】図２
2019531539.tif 000002
【特許請求の範囲】
【請求項１】
分散コンピューティングタスクを実行するための方法であって、
分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップであって、前記演算子キーワードは、グループ化演算子キーワード、操作演算子キーワード、トラバーサル演算子キーワード、値取得演算子キーワード、キー値ペア取得演算子キーワード、ファイル読み取り演算子キーワード、メモリ読み取り演算子キーワード、ファイル書き込み演算子キーワード、メモリ書き込み演算子キーワードのうちの少なくとも一つを含む、ステップと、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップであって、前記演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、前記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである、ステップと、
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、グループ化演算子キーワードと、被グループ化分散データセットキーワードと、グループ化条件キーワードとを取得するステップであって、前記被グループ化分散データセットキーワードは、前記グループ化演算子キーワードに対応するグループ化演算子により作用される分散データセットを示すためのキーワードであり、前記グループ化条件キーワードは、前記被グループ化分散データセットキーワードにより示される分散データセットをグループ化するグループ化根拠を示すためのキーワードである、ステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記グループ化条件キーワードに従って、前記被グループ化分散データセットキーワードにより示される分散データセットをグループ化してグループ化データを取得し、前記グループ化条件キーワードと前記グループ化データとをキー値ペアに組み合わせて分散キー値ペアセットを取得するステップを含むことを特徴とする、方法。
【請求項３】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、操作演算子キーワードと、被操作分散データセットキーワードと、戻し分散データセットキーワードとを取得するステップであって、前記被操作分散データセットキーワードは、前記操作演算子キーワードに対応する操作演算子により作用される分散データセットを示すためのキーワードであり、前記戻し分散データセットキーワードは、前記被操作分散データセットキーワードにより示される分散データセットに対して、前記操作演算子キーワードに対応する操作を行った後に戻される分散データセットを示すためのキーワードである、ステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記被操作分散データセットキーワードにより示される分散データセットに対して、前記操作演算子キーワードに対応する操作を実行して新たな分散データセットを戻し、前記新たな分散データセットを、前記戻し分散データセットキーワードにより示される分散データセットとするステップを含むことを特徴とする、方法。
【請求項４】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、トラバーサル演算子キーワードと、被トラバーサル分散キー値ペアセットキーワードと、被トラバーサル演算子キーワードとを取得するステップであって、前記被トラバーサル分散キー値ペアセットキーワードは、前記トラバーサル演算子キーワードに対応するトラバーサル演算子により作用される分散キー値ペアセットを示すためのキーワードであり、前記被トラバーサル演算子キーワードは、前記トラバーサル演算子キーワードに対応するトラバーサル演算子により作用される演算子を示すためのキーワードである、ステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記被トラバーサル分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値に対応する分散データセットに対して、前記被トラバーサル演算子キーワードに対応する操作を実行するステップを含むことを特徴とする、方法。
【請求項５】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、値取得演算子キーワードと、値被取得分散キー値ペアセットキーワードと、及び値取得分散データセットキーワードとを取得するステップであって、前記値被取得分散キー値ペアセットキーワードは、前記値取得演算子キーワードに対応する値取得演算子により作用される分散キー値ペアセットを示すためのキーワードであり、前記値取得分散データセットキーワードは、前記値被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットに対して、前記値取得演算子キーワードに対応する操作を実行した後に戻される分散データセットを示すためのキーワードである、ステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記値被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値を、データ要素として前記値取得分散データセットキーワードにより示される分散データセットに追加するステップを含むことを特徴とする、方法。
【請求項６】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、キー値ペア取得演算子キーワードと、キー値ペア被取得分散キー値ペアセットキーワードと、キー値ペア取得分散データセットキーワードとを取得するステップであって、前記キー値ペア被取得分散キー値ペアセットキーワードは、前記キー値ペア取得演算子キーワードに対応するキー値ペア取得演算子により作用される分散キー値ペアセットを示すためのキーワードであり、前記キー値ペア取得分散データセットキーワードは、前記キー値ペア被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットに対して、前記キー値ペア取得演算子キーワードに対応する操作を実行した後に戻される分散データセットを示すためのキーワードである、ステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記キー値ペア被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値を、分散データセットのキー値ペアとして取得し、前記分散データセットにおける各データ要素のそれぞれと前記キー値ペア中のキーとを組み合わせて新たなキー値ペアを形成し、形成された新たなキー値ペアをデータ要素として前記キー値ペア取得分散データセットキーワードにより示される分散データセットに追加するステップを含むことを特徴とする、方法。
【請求項７】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、ファイル読み取り演算子キーワードと、ファイル読み取り分散データセットキーワードと、読み取りファイル記憶経路とを取得するステップであって、前記ファイル読み取り分散データセットキーワードは、前記ファイル読み取り演算子キーワードに対応するファイル読み取り演算子により作用される分散データセットを示すためのキーワードであり、前記読み取りファイル記憶経路は、前記ファイル読み取り演算子により作用されるファイルを示すための読み取りファイル記憶経路である、ステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記読み取りファイル記憶経路により示されるファイル中のデータを、前記ファイル読み取り分散データセットキーワードにより示される分散データセットに書き込むステップを含むことを特徴とする、方法。
【請求項８】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、メモリ読み取り演算子キーワードと、前記メモリ読み取り演算子により作用される分散データセットを示すためのメモリ読み取り分散データセットキーワードと、前記メモリ読み取り演算子により作用されるメモリを示すためのメモリアドレス読み取りキーワードとを取得するステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記メモリアドレス読み取りキーワードにより示されるメモリ中のデータを、前記メモリ読み取り分散データセットキーワードにより示される分散データセットに書き込むステップを含むことを特徴とする、方法。
【請求項９】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、ファイル書き込み演算子キーワードと、前記ファイル書き込み演算子により作用される分散データセットを示すためのファイル書き込み分散データセットキーワードと、前記ファイル書き込み演算子により作用されるファイルを示すための書き込みファイル記憶経路とを取得するステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記ファイル書き込み分散データセットキーワードにより示される分散データセットにおけるデータを、前記書き込みファイル記憶経路に示されるファイルに書き込むステップを含むことを特徴とする、方法。
【請求項１０】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、メモリ書き込み演算子キーワードと、前記メモリ書き込み演算子により作用される分散データセットを示すためのメモリ書き込み分散データセットキーワードと、前記メモリ書き込み演算子により作用されるメモリを示すための書き込みメモリアドレスキーワードとを取得するステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記メモリ書き込み分散データセットキーワードにより示される分散データセットにおけるデータを、前記書き込みメモリアドレスキーワードにより示されるメモリに書き込むステップを含むことを特徴とする、方法。
【請求項１１】
分散コンピューティングタスクを実行するための装置であって、
分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するように配置される表現式解析ユニットであって、前記演算子キーワードは、グループ化演算子キーワード、操作演算子キーワード、トラバーサル演算子キーワード、値取得演算子キーワード、キー値ペア取得演算子キーワード、ファイル読み取り演算子キーワード、メモリ読み取り演算子キーワード、ファイル書き込み演算子キーワード、メモリ書き込み演算子キーワードのうちの少なくとも一つを含む、表現式解析ユニットと、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するように配置される実行ユニットであって、前記演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、前記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである、実行ユニットと、
を備えることを特徴とする、装置。
【請求項１２】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、グループ化演算子キーワードと、被グループ化分散データセットキーワードと、グループ化条件キーワードとを取得するようにさらに配置され、前記被グループ化分散データセットキーワードは、前記グループ化演算子キーワードに対応するグループ化演算子により作用される分散データセットを示すためのキーワードであり、前記グループ化条件キーワードは、前記被グループ化分散データセットキーワードにより示される分散データセットをグループ化するグループ化根拠を示すためのキーワードであり、
前記実行ユニットは、
前記グループ化条件キーワードに従って、前記被グループ化分散データセットキーワードにより示される分散データセットをグループ化してグループ化データを取得し、前記グループ化条件キーワードと前記グループ化データとをキー値ペアに組み合わせて分散キー値ペアセットを取得するようにさらに配置されることを特徴とする、装置。
【請求項１３】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、操作演算子キーワードと、被操作分散データセットキーワードと、戻し分散データセットキーワードとを取得するようにさらに配置され、前記被操作分散データセットキーワードは、前記操作演算子キーワードに対応する操作演算子により作用される分散データセットを示すためのキーワードであり、前記戻し分散データセットキーワードは、前記被操作分散データセットキーワードにより示される分散データセットに対して、前記操作演算子キーワードに対応する操作を行っ後に戻される分散データセットを示すためのキーワードであり、
前記実行ユニットは、
前記被操作分散データセットキーワードにより示される分散データセットに対して、前記操作演算子キーワードに対応する操作を実行して新たな分散データセットを戻し、前記新たな分散データセットを、前記戻し分散データセットキーワードにより示される分散データセットとするようにさらに配置されることを特徴とする、装置。
【請求項１４】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、トラバーサル演算子キーワードと、被トラバーサル分散キー値ペアセットキーワードと、被トラバーサル演算子キーワードとを取得するようにさらに配置され、前記被トラバーサル分散キー値ペアセットキーワードは、前記トラバーサル演算子キーワードに対応するトラバーサル演算子により作用される分散キー値ペアセットを示すためのキーワードであり、前記被トラバーサル演算子キーワードは、前記トラバーサル演算子キーワードに対応するトラバーサル演算子により作用される演算子を示すためのキーワードであり、
前記実行ユニットは、
前記被トラバーサル分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値に対応する分散データセットに対して、前記被トラバーサル演算子キーワードに対応する操作を実行するようにさらに配置されることを特徴とする、装置。
【請求項１５】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、値取得演算子キーワードと、値被取得分散キー値ペアセットキーワードと、及び値取得分散データセットキーワードとを取得するようにさらに配置され、前記値被取得分散キー値ペアセットキーワードは、前記値取得演算子キーワードに対応する値取得演算子により作用される分散キー値ペアセットを示すためのキーワードであり、前記値取得分散データセットキーワードは、前記値被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットに対して、前記値取得演算子キーワードに対応する操作を実行した後に戻される分散データセットを示すためのキーワードであり、
前記実行ユニットは、
前記値被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値を、データ要素として前記値取得分散データセットキーワードにより示される分散データセットに追加するようにさらに配置されることを特徴とする、装置。
【請求項１６】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、キー値ペア取得演算子キーワードと、キー値ペア被取得分散キー値ペアセットキーワードと、キー値ペア取得分散データセットキーワードとを取得するようにさらに配置され、前記キー値ペア被取得分散キー値ペアセットキーワードは、前記キー値ペア取得演算子キーワードに対応するキー値ペア取得演算子により作用される分散キー値ペアセットを示すためのキーワードであり、前記キー値ペア取得分散データセットキーワードは、前記キー値ペア被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットに対して、前記キー値ペア取得演算子キーワードに対応する操作を実行した後に戻される分散データセットを示すためのキーワードであり、
前記実行ユニットは、
前記キー値ペア被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値を、分散データセットのキー値ペアとして取得し、前記分散データセットにおける各データ要素のそれぞれと前記キー値ペア中のキーとを組み合わせて新たなキー値ペアを形成し、形成された新たなキー値ペアをデータ要素として前記キー値ペア取得分散データセットキーワードにより示される分散データセットに追加するようにさらに配置されることを特徴とする、装置。
【請求項１７】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、ファイル読み取り演算子キーワードと、ファイル読み取り分散データセットキーワードと、読み取りファイル記憶経路とを取得するようにさらに配置され、前記ファイル読み取り分散データセットキーワードは、前記ファイル読み取り演算子キーワードに対応するファイル読み取り演算子により作用される分散データセットを示すためのキーワードであり、前記読み取りファイル記憶経路は、前記ファイル読み取り演算子により作用されるファイルを示すための読み取りファイル記憶経路であり、
前記実行ユニットは、
前記読み取りファイル記憶経路により示されるファイル中のデータを、前記ファイル読み取り分散データセットキーワードにより示される分散データセットに書き込むようにさらに配置されることを特徴とする、装置。
【請求項１８】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、メモリ読み取り演算子キーワードと、前記メモリ読み取り演算子により作用される分散データセットを示すためのメモリ読み取り分散データセットキーワードと、前記メモリ読み取り演算子により作用されるメモリを示すためのメモリアドレス読み取りキーワードとを取得するようにさらに配置され、
前記実行ユニットは、
前記メモリアドレス読み取りキーワードにより示されるメモリ中のデータを、前記メモリ読み取り分散データセットキーワードにより示される分散データセットに書き込むようにさらに配置されることを特徴とする、装置。
【請求項１９】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、ファイル書き込み演算子キーワードと、前記ファイル書き込み演算子により作用される分散データセットを示すためのファイル書き込み分散データセットキーワードと、前記ファイル書き込み演算子により作用されるファイルを示すための書き込みファイル記憶経路とを取得するようにさらに配置され、
前記実行ユニットは、
前記ファイル書き込み分散データセットキーワードにより示される分散データセットにおけるデータを、前記書き込みファイル記憶経路に示されるファイルに書き込むようにさらに配置されることを特徴とする、装置。
【請求項２０】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、メモリ書き込み演算子キーワードと、前記メモリ書き込み演算子により作用される分散データセットを示すためのメモリ書き込み分散データセットキーワードと、前記メモリ書き込み演算子により作用されるメモリを示すための書き込みメモリアドレスキーワードとを取得するようにさらに配置され、
前記実行ユニットは、
前記メモリ書き込み分散データセットキーワードにより示される分散データセットにおけるデータを、前記書き込みメモリアドレスキーワードにより示されるメモリに書き込むようにさらに配置されることを特徴とする、装置。
【請求項２１】
プロセッサと、メモリとを備える機器であって、
前記プロセッサによって実行可能なコンピュータ可読命令が前記メモリに記憶され、前記コンピュータ可読命令が実行される場合、前記プロセッサは分散コンピューティングタスクを実行するための方法を実行し、前記方法は、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップであって、前記演算子キーワードは、グループ化演算子キーワード、操作演算子キーワード、トラバーサル演算子キーワード、値取得演算子キーワード、キー値ペア取得演算子キーワード、ファイル読み取り演算子キーワード、メモリ読み取り演算子キーワード、ファイル書き込み演算子キーワード、メモリ書き込み演算子キーワードのうちの少なくとも一つを含む、ステップと、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップであって、前記演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、前記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである、ステップと、を含むことを特徴とする、機器。
【請求項２２】
プロセッサによって実行可能なコンピュータ可読命令が記憶されている不揮発性コンピュータ記憶媒体であって、
前記コンピュータ可読命令が前記プロセッサによって実行される場合、前記プロセッサは分散コンピューティングタスクを実行するための方法を実行し、前記方法は、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップであって、前記演算子キーワードは、グループ化演算子キーワード、操作演算子キーワード、トラバーサル演算子キーワード、値取得演算子キーワード、キー値ペア取得演算子キーワード、ファイル読み取り演算子キーワード、メモリ読み取り演算子キーワード、ファイル書き込み演算子キーワード、メモリ書き込み演算子キーワードのうちの少なくとも一つを含む、ステップと、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップであって、前記演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、前記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである、ステップと、を含むことを特徴とする、
不揮発性コンピュータ記憶媒体。 
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、２０１６年９月６日に提出した、出願番号が２０１６１０８０３９３４．８である中国特許出願に基づく優先権を主張し、当該出願のすべての内容は本明細書の一部をなすものとする。
【０００２】
本発明は、コンピュータの分野に関し、具体的に、分散コンピューティングの分野に関し、特に、分散コンピューティングタスクを実行するための方法及び装置に関する。
【背景技術】
【０００３】
分散コンピューティングプログラムの開発中、ユーザ（例えば、分散コンピューティングプログラムを作成するエンジニア）は、分散コンピューティングフレームワークから提供されるインターフェースを利用して、分散コンピューティングプログラムを作成することができる。
【０００４】
従来の分散コンピューティングフレームワークから提供されるインターフェースは、主にネイティブ系インターフェース（例えば、大規模なデータセットの並列演算のためのプログラミングモデルＭａｐＲｅｄｕｃｅ）と、類似構造化照会言語（ＳＱＬ−Ｌｉｋｅ:Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ  Ｌｉｋｅ）系インターフェース（例えば、Ａｐａｃｈｅ財団が開発した分散システムインフラストラクチャＨａｄｏｏｐ上に構築されたデータウェアハウスインフラストラクチャＨｉｖｅ）と、弾力分散データセット（ＲＤＤ：Ｒｅｓｉｌｉｅｎｔ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａｓｅｔｓ）系インターフェース（例えば、カリフォルニア大学バークレー校ＡＭＰ（アルゴリズム機器と人間：Ａｌｇｏｒｉｔｈｍｓ  Ｍａｃｈｉｎｅｓ  ａｎｄ  Ｐｅｏｐｌｅ）の研究室で開発された、大規模的な短い遅延時間のデータ分析アプリケーションを構築するためのオープンソースのクラスタコンピューティング環境Ｓｐａｒｋ）との３つのタイプが含まれる。ここで、ネイティブ系インターフェースは、構成の方法で複数の異なるタイプの演算子を一つの方向性非循環グラフにステッチして１つの完全な分散コンピューティングニーズを表示する。ＳＱＬ−Ｌｉｋｅ系インターフェースは、ＳＱＬ（構造化照会言語：Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ  Ｌｉｋｅ）の形式で一つの分散コンピューティングニーズを表示し、データを一つ一つのテーブルに抽象化して、各分散コンピューティングニーズを単一のＳＱＬ照会に転換する。ＲＤＤ系インターフェースは、データを中心として、全体的なコンピューティングニーズは、一つの分散データセットから１つの変換を行って新たな分散データセットを作成され、続いて変換を行って、最終的に必要となる分散データセットが生成されるまで、これらの過程を進行することと記述される。
【０００５】
しかしながら、従来の分散コンピューティングフレームワークには、一般的にインターフェースの使用が不便な点が存在し、特に入れ子データセットの概念が欠落して、ロジック表現が相対的に複雑になって（特に、グループ化ロジック表現）、コードの再利用が相対的に難しくなる問題をもたらす。ＳＱＬ−Ｌｉｋｅ系インターフェースを例にすると、ＳＱＬ−Ｌｉｋｅ系インターフェースに入れ子データセットの概念が欠落して、コンピューティングニーズの一部を記述することができなくなる。１つの共通のコンピューティングニーズを例として、特定のフィールドに基づいてデータをグループ化し、各グループにおいて、グループ化フィールドの値が最も大きい最初の１０個の記録を例にすると、式が「ｓｅｌｅｃｔ  ｆｉｅｌｄ＿１、ｆｉｅｌｄ＿２  ｆｒｏｍ  ｔａｂｌｅ＿１  ｇｒｏｕｐ  ｂｙ  ｆｉｅｌｄ１  ｏｒｄｅｒ  ｂｙ  ｆｉｅｌｄ＿２  ｄｅｓｃ  ｌｉｍｉｔ  １０」の場合、各グループから最初の１０個の記録を抽出するのではなく、実際に全域で最初の１０個の記録を抽出し、式が「ｓｅｌｅｃｔ  ｆｉｅｌｄ＿１、ｆｉｅｌｄ＿２  ｆｒｏｍ  ｔａｂｌｅ＿１  ｇｒｏｕｐ  ｂｙ  ｆｉｅｌｄ１  ｌｉｍｉｔ  １０  ｏｒｄｅｒ  ｂｙ  ｆｉｅｌｄ＿２  ｄｅｓｃ」の場合、その式は、ＳＱＬの文法に準拠していないので、ＳＱＬ−Ｌｉｋｅ系インターフェースが、一般的なコンピューティングニーズの一部を記述することができなくなる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、前述した背景技術の中に提出された技術的問題を解決するために改善された分散コンピューティングタスクを実行するための方法及び装置を提供する。
【０００７】
第一の態様によれば、本発明は、分散コンピューティングタスクを実行するための方法を提供する。上記分散コンピューティングタスクを実行するための方法は、分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップであって、上記演算子キーワードは、グループ化演算子キーワード、操作演算子キーワード、トラバーサル演算子キーワード、値取得演算子キーワード、キー値ペア取得演算子キーワード、ファイル読み取り演算子キーワード、メモリ読み取り演算子キーワード、ファイル書き込み演算子キーワード、メモリ書き込み演算子キーワードのうちの少なくとも一つを含む、ステップと、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づいて、上記分散コンピューティングタスクを実行するステップであって、上記演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、上記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである、ステップと、を含む。
【０００８】
第二の態様によれば、本発明は、分散コンピューティングタスクを実行するための装置を提供する。上記分散コンピューティングタスクを実行するための装置は、分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するように配置される表現式解析ユニットであって、上記演算子キーワードは、グループ化演算子キーワード、操作演算子キーワード、トラバーサル演算子キーワード、値取得演算子キーワード、キー値ペア取得演算子キーワード、ファイル読み取り演算子キーワード、メモリ読み取り演算子キーワード、ファイル書き込み演算子キーワード、メモリ書き込み演算子キーワードのうちの少なくとも一つを含む、表現式解析ユニットと、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づいて、上記分散コンピューティングタスクを実行するように配置される実行ユニットであって、上記演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、上記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである、実行ユニットとを備える。
【０００９】
本発明に係る分散コンピューティングタスクを実行するための方法及び装置は、分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得し、続いて、演算子キーワードに対応する演算子を用いて、演算子の入力パラメータに基づき分散コンピューティングタスクを実行する。ここで、演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、上記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである。これにより、入れ子データセットに対する操作を実現して、演算子が分散データセットに作用することができるのみならず、分散データセットをグループ化して得られた分散キー値ペアセットにおける各キー値ペア中の値に対応する分散データセットに作用することもできる。これにより、例えば分散データセットや分散データセットをグループ化したグループ化データを操作する分散コンピューティングタスクをサポートし、コードの再利用を実現する。
【図面の簡単な説明】
【００１０】
以下の図面による非限定的な実施例についての詳細な説明を閲覧・参照することにより、本発明の他の特徴、目的及び利点がより明らかになる。
【００１１】
【図１】本発明を適用できる例示的なシステムアーキテクチャーの図である。
【図２】本発明に係る分散コンピューティングタスクを実行するための方法の一実施例のフローチャートである。
【図３】本発明に係る分散コンピューティングタスクを実行するための装置の一実施例の構造の模式図である。
【図４】本発明の実施例を実現する分散コンピューティング装置に適するコンピュータシステムの構造の模式図である。
【発明を実施するための形態】
【００１２】
以下、図面と実施例を参照しながら、本発明を詳細に説明する。ここで記載される具体的な実施例は、関連の発明を解釈するのみに用いられ、当該発明に対する限定ではないことは理解される。なお、説明の便宜上、図面には、関連の発明に関わる部分のみを示す。
【００１３】
なお、特に断らない（他の説明と衝突しない）限り、本発明の実施例及び実施例における特徴は互いに組み合わせることができる。以下、図面を参照しながら、実施例を併せて本発明を詳しく説明する。
【００１４】
図１は、本発明の分散コンピューティングタスクを実行するための方法又は装置の実施例に適用できる例示的なシステムアーキテクチャー１００を示す。
【００１５】
図１に示すように、システムアーキテクチャー１００は、分散コンピューティング装置１０１、１０２、１０３、１０５、及びネットワーク１０４を含むことができる。ネットワーク１０４は、分散コンピューティング装置１０１、１０２、１０３、１０５との間で通信リンクの媒介を提供するために用いられる。ネットワーク１０４は、例えば、有線、無線通信リンク又は光ケーブルなどのような各種の接続タイプを含んでもよい。
【００１６】
ユーザは、メッセージの送受信などをするように、分散コンピューティング装置１０１、１０２、１０３、１０５のうちの任意の一つを使用して、ネットワーク１０４を介して他の分散コンピューティング装置とインタラクションすることができる。分散コンピューティング装置１０１、１０２、１０３、１０５には、例えば、分散コンピューティング・アプリケーション、データベース・アプリケーションなどのような各種クライアント・アプリケーションがインストールされることができる。
【００１７】
分散コンピューティング装置１０１、１０２、１０３、１０５は、プロセッサを備え分散コンピューティングサービスを提供する各種の電子装置であることができ、ラップトップコンピュータ及びデスクトップコンピュータなどを含むが、これに限定されない。例えば、分散コンピューティング装置１０５は、当該分散コンピューティング装置１０５で運行される分散コンピューティングタスクを分散コンピューティング装置１０１、１０２、１０３のそれぞれに分配して、コンピューティングタスクの一部を実行させ、且つ、分散型装置１０１、１０２、１０３のそれぞれから戻されたコンピューティングの結果を受信してから、受信された各結果を総合する。分散コンピューティング装置１０１、１０２、１０３、１０５には、分散コンピューティングタスクに必要な各種のデータが記憶されていることができる。
【００１８】
なお、本発明の実施例に係る分散コンピューティングタスクを実行するための方法は、分散コンピューティング装置１０１、１０２、１０３、１０５のうちの任意の一つの装置によって実行されることができ、対応して、分散コンピューティングタスクを実行するための装置は、分散コンピューティング装置１０１、１０２、１０３、１０５のうちの任意の一つの装置にインストールされることができる。
【００１９】
図１における分散コンピューティング装置とネットワークの数は、模式的なものにすぎないことを理解すべきである。必要に応じて、任意の数の分散コンピューティング装置とネットワークを有してもよい。
【００２０】
続いて、図２を参照すると、図２は、本発明に係る分散コンピューティングタスクを実行するための方法の一実施例のフロー２００を示す。上記分散コンピューティングタスクを実行するための方法は、以下のようなステップを含む。
【００２１】
ステップ２０１において、分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得する。
【００２２】
本実施例において、分散コンピューティングタスクを実行するための方法が運行されている電子装置（例えば、図１に示された分散コンピューティング装置）は、分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得することができる。
【００２３】
本実施例において、演算子キーワードは、グループ化演算子キーワード、操作演算子キーワード、トラバーサル演算子キーワード、値取得演算子キーワード、キー値ペア取得演算子キーワード、ファイル読み取り演算子キーワード、メモリ読み取り演算子キーワード、ファイル書き込み演算子キーワード、メモリ書き込み演算子キーワードのうちの少なくとも一つを含むことができる。
【００２４】
本実施例において、分散コンピューティングタスクとは、一つの大きなコンピューティングタスクを複数の小さなコンピューティングタスクに分割して、異なるコンピュータ上に分配して実行させ、次に、各コンピュータによって小さなタスクを実行した結果を総合する。通常、分散コンピューティングタスクは、いずれも式（即ち、分散コンピューティングフレームワークから提供されるインターフェースを利用して作成したコード）によって表示される。分散コンピューティングタスクの表現式には、演算子キーワードが含まれることができる。例えば、演算子キーワードは、分散コンピューティングフレームワークから提供されるインターフェースの中の関数名であってもよい。各演算子キーワードは、いずれも対応する演算子を備え、当該演算子は、データに対する操作を示す。例えば、演算子は、分散コンピューティングフレームワークから提供されるインターフェースの中の関数であってもよい。例えば、グループ化演算子キーワードである「ｇｒｏｕｐ＿ｂｙ」に対応するグループ化演算子は、グループ化演算子により作用される分散データセットに対してグループ化操作を行うことができ、操作演算子キーワードである「ｃｏｕｎｔ」に対応する操作演算子は、操作演算子キーワード「ｃｏｕｎｔ」により作用される分散データセット内の要素数に対してカウントを行うことができ、操作演算子キーワードである「ｋｍｅａｎｓ」に対応する操作演算子は、操作演算子キーワードである「ｋｍｅａｎｓ」により作用される分散データセットに対してＫ−ｍｅａｎｓクラスタリング処理を行うことが実現できる。
【００２５】
ステップ２０２において、演算子キーワードに対応する演算子を用いて、演算子の入力パラメータに基づき分散コンピューティングタスクを実行する。
【００２６】
本実施例において、ステップ２０１で取得された演算子キーワードに基づいて、上記電子装置は、演算子キーワードに対応する演算子を用いて、演算子の入力パラメータに基づいて分散コンピューティングタスクを実行することができる。演算子がデータに対する操作を表示するので、演算子の入力パラメータは、演算子により操作されるデータである。
【００２７】
本実施例において、演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、ここで、上記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである。
【００２８】
本実施例において、データ要素は、例えば、整数型、浮動小数点型、文字列などのような、シーケンス化されることができる任意のデータタイプであってもよい。分散データセットとは、少なくとも一つのコンピュータに分散記憶されたデータ要素の集合であってもよい。分散データセットにおけるデータ要素の間は順序関係がなく、データタイプも異なってもよい。分散データセットにおける異なるデータ要素の値は、同一であってもよい（即ち、分散データセットのデータ要素は、重複可能である）。単一のデータ要素の分散データセットは、データ要素であり、一つの特別な分散データセットである。分散キー値ペアセットにおけるキー値ペアの間は、順序関係がない。分散キー値ペアセットにおける異なるキー値ペアの値は同一であってもよい（即ち、分散キー値ペアセットのキー値ペアは、重複可能である）。分散キー値ペアの値は、分散データセット又は分散キー値ペアセットであってもよい。
【００２９】
本実施例のいくつかの代替的な実現形態において、演算子キーワードに対応する演算子を用いて、演算子の入力パラメータと出力パラメータに基づいて、分散コンピューティングタスクを実行することもできる。演算子は、演算子の入力パラメータに対して操作を行うことができるだけでなく、演算子の入力パラメータに対して操作を行った後の結果を演算子の出力パラメータへ戻ることもできる。演算子の出力パラメータは、分散データセット又は分散キー値ペアセットであってもよい。
【００３０】
例示として、本実施例において、分散データセットは、ＰＣｏｌｌｅｃｔｉｏｎで表示し、単一のデータ要素の分散データセットは、ＰＯｂｊｅｃｔで表示し、分散キー値ペアセットはＰＴａｂｌｅで表示する。
【００３１】
本実施例のいくつかの代替的な実現形態において、上記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、分散コンピューティングタスクの表現式を解析して、グループ化演算子キーワードと、被グループ化分散データセットキーワードと、グループ化条件キーワードとを取得するステップであって、上記被グループ化分散データセットキーワードは、上記グループ化演算子キーワードに対応するグループ化演算子により作用される分散データセットを示すためのキーワードであり、上記グループ化条件キーワードは、上記被グループ化分散データセットキーワードにより示される分散データセットをグループ化するグループ化根拠を示すためのキーワードである、ステップを含み、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づいて、上記分散コンピューティングタスクを実行するステップは、上記グループ化条件キーワードに従って、上記被グループ化分散データセットキーワードにより示される分散データセットをグループ化してグループ化データを取得し、上記グループ化条件キーワードと上記グループ化データとをキー値ペアに組み合わせて分散キー値ペアセットを取得するステップを含むことことができる。
【００３２】
例示として、データ要素［１，２，３，４，５，６］を含む１つの分散データセットｐｏｌｌｅｃｔｉｏｎに対して、式「ｐｃｏｌｌｅｃｔｉｏｎ．ｇｒｏｕｐ＿ｂｙ（ｌａｍｂｄａ  ｎｕｍ：ｎｕｍ％３）；」に対応する分散コンピューティングタスクを実行するステップは、まず、上記表現式を解析して、グループ化演算子キーワード「ｇｒｏｕｐ＿ｂｙ」と、被グループ化分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」と、グループ化条件キーワード「ｌａｍｂｄａ  ｎｕｍ：ｎｕｍ％３」を取得し、続いて、グループ化条件キーワード「ｌａｍｂｄａ  ｎｕｍ：ｎｕｍ％３」（即ち、３で割った余りを取る）に従って、被グループ化分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」により示される分散データセット［１，２，３，４，５，６］をグループ化してグループ化データ［３，６］、［１，４］と［２，５］を取得し、次に、グループ化条件キーワードと上記グループ化データをキー値ペアに組み合わせて、分散キー値ペアセットである｛０：［３，６］、１：［１，４］、２：［２，５］｝を取得するステップを含む。
【００３３】
本実施例のいくつかの代替的な実現形態において、上記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、分散コンピューティングタスクの表現式を解析して、操作演算子キーワードと、被操作分散データセットキーワードと、戻し分散データセットキーワードとを取得するステップであって、上記被操作分散データセットキーワードは、上記操作演算子キーワードに対応する操作演算子により作用される分散データセットを示すためのキーワードであり、上記戻し分散データセットキーワードは、上記被操作分散データセットキーワードにより示される分散データセットに対して、上記操作演算子キーワードに対応する操作を行っ後に戻される分散データセットを示すためのキーワードである、ステップを含み、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づいて、上記分散コンピューティングタスクを実行するステップは、上記被操作分散データセットキーワードにより示される分散データセットに対して、上記操作演算子キーワードに対応する操作を実行して新たな分散データセットを戻し、上記新たな分散データセットを上記戻し分散データセットキーワードにより示される分散データセットとするステップを含むことができる。
【００３４】
例示として、表現式「ｐｃｏｌｌｅｃｔｉｏｎ＿２＝ｐｃｏｌｌｅｃｔｉｏｎ＿１．ｍａｐ（ｌａｍｂｄａ  ｎｕｍ：ｎｕｍ＊２）；」に対応する分散コンピューティングタスクを実行するステップは、まず、上記表現式を解析して、操作演算子キーワード「ｍａｐ（ｌａｍｂｄａ  ｎｕｍ：ｎｕｍ＊２」と、被操作分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ＿１」と、戻し分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ＿２」とを取得し、続いて、被操作分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ＿１」により示される分散データセット「ｐｃｏｌｌｅｃｔｉｏｎ＿１」対して、操作演算子キーワード「ｍａｐ（ｌａｍｂｄａ  ｎｕｍ：ｎｕｍ＊２）」に対応する操作（即ち、分散データセット「ｐｃｏｌｌｅｃｔｉｏｎ＿１」中の各データ要素に２を乗じる）を実行し、操作の結果を新たな分散データセットとして戻し、次に、戻された新たな分散データセットを、戻し分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ＿２」により示される分散データセット「ｐｃｏｌ  ｌｅｃｔｉｏｎ＿２」とするステップを含む。
【００３５】
また、例えば、表現式「ｐｃｏｌｌｅｃｔｉｏｎ＿２＝ｐｃｏｌｌｅｃｔｉｏｎ＿１．ｃｏｕｎｔ（）；」に対応する分散コンピューティングタスクを実行するステップは、まず、上記表現式を解析して、操作演算子キーワード「ｃｏｕｎｔ（）」と、被操作分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ＿１」と、戻し分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ＿２」とを取得し、次いで、被操作分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ＿１」により示される分散データセットｐｃｏｌｌｅｃｔｉｏｎ＿１の操作演算子キーワード「ｃｏｕｎｔ（）」に対応する操作（即ち、分散データセットｐｃｏｌｌｅｃｔｉｏｎ＿１中のデータ要素をカウントする）を実行し、操作の結果（即ち、カウント結果）新たな分散データセットとしてを戻し、新たな分散データセットを、戻し分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ＿２」により示される分散データセットｐｃｏｌｌｅｃｔｉｏｎ＿２とするステップを含む。ここで、説明すべきなのは、「ｐｃｏｌｌｅｃｔｉｏｎ＿２」は、単一の特別な分散データセットであり、一つのデータ要素が存在し、そのデータ要素の値は、ｐｃｏｌｌｅｃｔｉｏｎ＿１中のデータ要素の数である。
【００３６】
本実施例のいくつかの代替的な実現形態において、上記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、分散コンピューティングタスクの表現式を解析して、トラバーサル演算子キーワードと、被トラバーサル分散キー値ペアセットキーワードと、被トラバーサル演算子キーワードとを取得するステップであって、上記被トラバーサル分散キー値ペアセットキーワードは、上記トラバーサル演算子キーワードに対応するトラバーサル演算子により作用される分散キー値ペアセットを示すためのキーワードであり、上記被トラバーサル演算子キーワードは、上記トラバーサル演算子キーワードに対応するトラバーサル演算子により作用される演算子を示すためのキーワードである、ステップを含み、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づいて、上記分散コンピューティングタスクを実行するステップは、上記被トラバーサル分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値に対応する分散データセットに対して、上記被トラバーサル演算子キーワードに対応する操作を実行するステップを含むことができる。
【００３７】
例示として、表現式「ｐｔａｂｌｅ．ａｐｐｌｙ＿ｖａｌｕｅｓ（ｃｏｕｎｔ＿ｄｉｓｔｉｎｃｔ）；」に対応する分散コンピューティングタスクを実行するステップは、まず、上記表現式を解析して、トラバーサル演算子キーワード「ａｐｐｌｙ＿ｖａｌｕｅｓ」と、被トラバーサル分散キー値ペアセットキーワード「ｐｔａｂｌｅ」と、被トラバーサル演算子キーワード「ｃｏｕｎｔ＿ｄｉｓｔｉｎｃｔ」とを取得し、次いで、被トラバーサル分散キー値ペアセットキーワード「ｐｔａｂｌｅ」により示される分散キー値ペアセットｐｔａｂｌｅ中の各キー値ペアの値に対応する分散データセットに対して、被トラバーサル演算子キーワード「ｃｏｕｎｔ＿ｄｉｓｔｉｎｃｔ」に対応する操作（即ち、分散データセット中で重複していないデータ要素の数を統計する）を実行するステップを含む。
【００３８】
本実施例のいくつかの代替的な実現形態において、上記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、分散コンピューティングタスクの表現式を解析して、値取得演算子キーワードと、値被取得分散キー値ペアセットキーワードと、及び値取得分散データセットキーワードとを取得するステップであって、上記値被取得分散キー値ペアセットキーワードは、上記値取得演算子キーワードに対応する値取得演算子により作用される分散キー値ペアセットを示すためのキーワードであり、上記値取得分散データセットキーワードは、上記値被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットに対して、上記値取得演算子キーワードに対応する操作を実行した後に戻される分散データセットを示すためのキーワードである、ステップを含み、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づいて、上記分散コンピューティングタスクを実行するステップは、上記値被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値を、データ要素として上記値取得分散データセットキーワードにより示される分散データセットに追加するステップを含むことができる。
【００３９】
例示として、値が｛０：［３，６］、１：［１，４］、２：［２，５］｝の１つの分散キー値ペアセット「ｐｔａｂｌｅ」に対して、式「ｐｃｏｌｌｅｃｔｉｏｎ＝ｐｔａｂｌｅ.ｆｌａｔｔｅｎ＿ｖａｌｕｅｓ（）；」に対応する分散コンピューティングタスクを実行するステップは、まず、上記表現式を解析して、値取得演算子キーワード「ｆｌａｔｔｅｎ＿ｖａｌｕｅｓ」と、値被取得分散キー値ペアセットキーワード「ｐｔａｂｌｅ」と、値取得分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」とを取得し、次いで、値被取得分散キー値ペアセットキーワード「ｐｔａｂｌｅ」により示される分散キー値ペアセットにおける各キー値ペアの値を、データ要素として値取得分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」により示される分散データセットｐｃｏｌｌｅｃｔｉｏｎに追加するステップを含み、取得したｐｃｏｌｌｅｃｔｉｏｎの値は［１，２，３，４，５，６］である。
【００４０】
本実施例のいくつかの代替的な実現形態において、上記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、分散コンピューティングタスクの表現式を解析して、キー値ペア取得演算子キーワードと、キー値ペア被取得分散キー値ペアセットキーワードと、キー値ペア取得分散データセットキーワードとを取得するステップであって、上記キー値ペア被取得分散キー値ペアセットキーワードは、上記キー値ペア取得演算子キーワードに対応するキー値ペア取得演算子により作用される分散キー値ペアセットを示すためのキーワードであり、上記キー値ペア取得分散データセットキーワードは、上記キー値ペア被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットに対して、上記キー値ペア取得演算子キーワードに対応する操作を実行した後に戻される分散データセットを示すためのキーワードである、ステップを含み、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づいて、上記分散コンピューティングタスクを実行するステップは、上記キー値ペア被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値を、分散データセットのキー値ペアとして取得し、上記分散データセットにおける各データ要素のそれぞれと上記キー値ペア中のキーとを組み合わせて新たなキー値ペアを形成し、形成された新たなキー値ペアをデータ要素として上記キー値ペア取得分散データセットキーワードにより示される分散データセットに追加するステップを含むことができる。
【００４１】
例示として、値が｛０：［３，６］、１：［１，４］、２：［２，５］｝である分散キー値ペアセットｐｔａｂｌｅに対して、式「ｐｃｏｌｌｅｃｔｉｏｎ＝ｐｔａｂｌｅ.Ｆｌａｔｔｅｎ（）；」に対応する分散コンピューティングタスクを実行するステップは、まず、上記表現式を解析して、キー値ペア取得演算子キーワード「ｆｌａｔｔｅｎ」と、キー値ペア被取得分散キー値ペアセットキーワード「ｐｔａｂｌｅ」と、キー値ペア取得分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」とを取得し、次いで、キー値ペア被取得分散キー値ペアセットキーワード「ｐｔａｂｌｅ」により示される分散キー値ペアセットｐｔａｂｌｅ中の各キー値ペア中の値を分散データセットのキー値ペアとして取得し、上記分散データセットにおける各データ要素のそれぞれと上記キー値ペア中のキーとを組み合わせて、新たなキー値ペアを形成し、形成された新たなキー値ペアをデータ要素として、キー値ペア取得分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」により示される分散データセットｐｃｏｌｌｅｃｔｉｏｎに追加するステップを含む。取得されたｐｃｏｌｌｅｃｔｉｏｎは、［０：３，０：６、１：１，１：４，２：２，２：５］であり、6個のデータ要素を含み、各データ要素は、すべて１つのキー値ペアである。
【００４２】
本実施例のいくつかの代替的な実現形態において、上記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、分散コンピューティングタスクの表現式を解析して、ファイル読み取り演算子キーワードと、ファイル読み取り分散データセットキーワードと、読み取りファイル記憶経路とを取得するステップであって、上記ファイル読み取り分散データセットキーワードは、上記ファイル読み取り演算子キーワードに対応するファイル読み取り演算子により作用される分散データセットを示すためのキーワードであり、上記読み取りファイル記憶経路は、上記ファイル読み取り演算子により作用されるファイルを示すための読み取りファイル記憶経路である、ステップを含み、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づいて、上記分散コンピューティングタスクを実行するステップは、上記読み取りファイル記憶経路により示されるファイル中のデータを、上記ファイル読み取り分散データセットキーワードにより示される分散データセットに書き込むステップを含むことができる。
【００４３】
例示として、表現式「ｐｃｏｌｌｅｃｔｉｏｎ＝ｐｉｐｅｌｉｎｅ．ｒｅａｄ（Ｆｒｏｍ．ＴｅｘｔＦｉｌｅ（「ｈｄｆｓ：／／／ｉｎｐｕｔ．ｔｘｔ」））；」に対応する分散コンピューティングタスクを実行するステップは、まず、上記表現式を解析して、ファイル読み取り演算子キーワード「ｐｉｐｅｌｉｎｅ．ｒｅａｄ（Ｆｒｏｍ．ＴｅｘｔＦｉｌｅ」と、ファイル読み取り分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」と、読み取りファイル記憶経路「ｈｄｆｓ：／／／ｉｎｐｕｔ．ｔｘｔ」とを取得し、次いで、読み取りファイル記憶経路「ｈｄｆｓ：／／／ｉｎｐｕｔ．ｔｘｔ」により示されるｉｎｐｕｔ．ｔｘｔファイル中のデータを、ファイル読み取り分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」により示される分散データセットｐｃｏｌｌｅｃｔｉｏｎに書き込むステップを含む。
【００４４】
本実施例のいくつかの代替的な実現形態において、上記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、分散コンピューティングタスクの表現式を解析して、メモリ読み取り演算子キーワードと、上記メモリ読み取り演算子により作用される分散データセットを示すためのメモリ読み取り分散データセットキーワードと、上記メモリ読み取り演算子により作用されるメモリを示すためのメモリアドレス読み取りキーワードとを取得するステップを含み、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づいて、上記分散コンピューティングタスクを実行するステップは、上記メモリアドレス読み取りキーワードにより示されるメモリ中のデータを、上記メモリ読み取り分散データセットキーワードにより示される分散データセットに書き込むステップを含むことができる。
【００４５】
例示として、表現式「ｐｃｏｌｌｅｃｔｉｏｎ＝ｐｉｐｅｌｉｎｅ．ｐａｒａｌｌｅｌｉｚｅ（［１，２，３］）；」に対応する分散コンピューティングタスクを実行するステップは、まず、上記表現式を解析して、メモリ読み取り演算子キーワード「ｐｉｐｅｌｉｎｅ．ｐａｒａｌｌｅｌｉｚｅ」と、メモリ読み取り分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」と、メモリアドレス読み取りキーワード「［１，２，３］」とを取得し、次いで、メモリアドレス読み取りキーワード「［１，２，３］」により示されるメモリ中のデータ［１，２，３］を、メモリ読み取り分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」により示される分散データセットｐｃｏｌｌｅｃｔｉｏｎに書き込むステップを含む。
【００４６】
本実施例のいくつかの代替的な実現形態において、上記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、分散コンピューティングタスクの表現式を解析して、ファイル書き込み演算子キーワードと、上記ファイル書き込み演算子により作用される分散データセットを示すためのファイル書き込み分散データセットキーワードと、上記ファイル書き込み演算子により作用されるファイルを示すための書き込みファイル記憶経路とを取得するステップを含み、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づいて、上記分散コンピューティングタスクを実行するステップは、上記ファイル書き込み分散データセットキーワードにより示される分散データセットにおけるデータを、上記書き込みファイル記憶経路に示されるファイルに書き込むステップを含むことができる。
【００４７】
例示として、表現式「ｐｉｐｅｌｉｎｅ．ｗｒｉｔｅ（ｐｃｏｌｌｅｃｔｉｏｎ、Ｔｏ．ＳｅｑｕｅｎｃｅＦｉｌｅ（「ｈｄｆｓ：／／／ｏｕｔｐｕｔ．ｔｘｔ」））；」に対応する分散コンピューティングタスクを実行するステップは、まず、上記表現式を解析して、ファイル書き込み演算子キーワード「ｐｉｐｅｌｉｎｅ．ｗｒｉｔｅ」と、ファイル書き込み分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」と、書き込みファイル記憶経路「ｈｄｆｓ：／／／ｏｕｔｐｕｔ．ｔｘｔ」とを取得し、次いで、ファイル書き込み分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」により示される分散データセットにおけるデータを、上記書き込みファイル記憶経路「ｈｄｆｓ：／／／ｏｕｔｐｕｔ．ｔｘｔ」により示されるｏｕｔｐｕｔ．ｔｘｔファイルに書き込むステップを含む。
【００４８】
本実施例のいくつかの代替的な実現形態において、上記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、分散コンピューティングタスクの表現式を解析して、メモリ書き込み演算子キーワードと、上記メモリ書き込み演算子により作用される分散データセットを示すためのメモリ書き込み分散データセットキーワードと、上記メモリ書き込み演算子により作用されるメモリを示すための書き込みメモリアドレスキーワードとを取得するステップを含み、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づいて、上記分散コンピューティングタスクを実行するステップは、上記メモリ書き込み分散データセットキーワードにより示される分散データセットにおけるデータを、上記書き込みメモリアドレスキーワードにより示されるメモリに書き込むステップを含むことができる。
【００４９】
例示として、表現式「ａ＿ｌｉｓｔ＝ｐｃｏｌｌｅｃｔｉｏｎ．ｇｅｔ（）；」に対応する分散コンピューティングタスクを実行するステップは、まず、上記表現式を解析して、メモリ書き込み演算子キーワード「ｇｅｔ（）」と、メモリ書き込み分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」と、書き込みメモリアドレスキーワード「ａ＿ｌｉｓｔ」とを取得し、次いで、メモリ書き込み分散データセットキーワード「ｐｃｏｌｌｅｃｔｉｏｎ」により示される分散データセットｐｃｏｌｌｅｃｔｉｏｎ中のデータを、書き込みメモリアドレスキーワード「ａ＿ｌｉｓｔ」により示されるメモリに書き込むステップを含む。
【００５０】
本発明の実施例に係る分散コンピューティングタスクを実行するための方法は、分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得し、続いて、演算子キーワードに対応する演算子を用いて、演算子の入力パラメータに基づき分散コンピューティングタスクを実行する。入れ子データセットに対する操作を実現して、演算子が分散データセットに作用することができるのみならず、分散データセットをグループ化して得られた分散キー値ペアセットにおける各キー値ペア中の値に対応する分散データセットに作用することもできる。これにより、例えば分散データセットや分散データセットをグループ化したグループ化データを操作する分散コンピューティングタスクをサポートし、コードの再利用を実現する。
【００５１】
さらに図３を参照すると、上記各図面に示す方法の実現（インプリメント）として、本発明は分散コンピューティングタスクを実行するための装置の一実施例を提供する。その装置の実施例は、図２に示す方法実施例に対応し、当該装置は、具体的に様々な電子装置に適用することができる。
【００５２】
図３に示すように、本実施例に係る分散コンピューティングタスクを実行するための装置３００は、表現式解析ユニット３０１と実行ユニット３０２を含む。ここで、表現式解析ユニット３０１は、分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するように配置される。上記演算子キーワードは、グループ化演算子キーワード、操作演算子キーワード、トラバーサル演算子キーワード、値取得演算子キーワード、キー値ペア取得演算子キーワード、ファイル読み取り演算子キーワード、メモリ読み取り演算子キーワード、ファイル書き込み演算子キーワード、メモリ書き込み演算子キーワードのうちの少なくとも一つを含む。実行ユニット３０２は、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づいて、上記分散コンピューティングタスクを実行するように配置される。上記演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、上記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである。
【００５３】
本実施例において、分散コンピューティングタスクを実行するための装置３００の表現式解析ユニット３０１と実行ユニット３０２の具体的な処理とその奏する技術的効果は、それぞれ図２の対応する実施例中のステップ２０１とステップ２０２の関連説明を参照することができ、これに対する重複の説明は省略する。
【００５４】
本実施例のいくつかの代替的な実現形態において、上記表現式解析ユニット３０１は、分散コンピューティングタスクの表現式を解析して、グループ化演算子キーワードと、被グループ化分散データセットキーワードと、グループ化条件キーワードとを取得するようにさらに配置されてもよく、上記被グループ化分散データセットキーワードは、上記グループ化演算子キーワードに対応するグループ化演算子により作用される分散データセットを示すためのキーワードであり、上記グループ化条件キーワードは、上記被グループ化分散データセットキーワードにより示される分散データセットをグループ化するグループ化根拠を示すためのキーワードである。上記実行ユニット３０２は、上記グループ化条件キーワードに従って、上記被グループ化分散データセットキーワードにより示される分散データセットをグループ化してグループ化データを取得し、上記グループ化条件キーワードと上記グループ化データとをキー値ペアに組み合わせて分散キー値ペアセットを取得するようにさらに配置されてもよい。
【００５５】
本実施例のいくつかの代替的な実現形態において、上記表現式解析ユニット３０１は、分散コンピューティングタスクの表現式を解析して、操作演算子キーワードと、被操作分散データセットキーワードと、戻し分散データセットキーワードとを取得するようにさらに配置され、上記被操作分散データセットキーワードは、上記操作演算子キーワードに対応する操作演算子により作用される分散データセットを示すためのキーワードであり、上記戻し分散データセットキーワードは、上記被操作分散データセットキーワードにより示される分散データセットに対して、上記操作演算子キーワードに対応する操作を行っ後に戻される分散データセットを示すためのキーワードであってもよい。上記実行ユニット３０２は、上記被操作分散データセットキーワードにより示される分散データセットに対して、上記操作演算子キーワードに対応する操作を実行して新たな分散データセットを戻し、上記新たな分散データセットを上記戻し分散データセットキーワードにより示される分散データセットとするようにさらに配置されてもよい。
【００５６】
本実施例のいくつかの代替的な実現形態において、上記表現式解析ユニット３０１は、分散コンピューティングタスクの表現式を解析して、トラバーサル演算子キーワードと、被トラバーサル分散キー値ペアセットキーワードと、被トラバーサル演算子キーワードとを取得するようにさらに配置され、上記被トラバーサル分散キー値ペアセットキーワードは、上記トラバーサル演算子キーワードに対応するトラバーサル演算子により作用される分散キー値ペアセットを示すためのキーワードであり、上記被トラバーサル演算子キーワードは、上記トラバーサル演算子キーワードに対応するトラバーサル演算子により作用される演算子を示すためのキーワードであってもよい。上記実行ユニット３０２は、上記被トラバーサル分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値に対応する分散データセットに対して、上記被トラバーサル演算子キーワードに対応する操作を実行するようにさらに配置されてもよい。
【００５７】
本実施例のいくつかの代替的な実現形態において、上記表現式解析ユニット３０１は、分散コンピューティングタスクの表現式を解析して、値取得演算子キーワードと、値被取得分散キー値ペアセットキーワードと、及び値取得分散データセットキーワードとを取得するようにさらに配置され、上記値被取得分散キー値ペアセットキーワードは、上記値取得演算子キーワードに対応する値取得演算子により作用される分散キー値ペアセットを示すためのキーワードであり、上記値取得分散データセットキーワードは、上記値被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットに対して、上記値取得演算子キーワードに対応する操作を実行した後に戻される分散データセットを示すためのキーワードであってもよい。上記実行ユニット３０２は、上記値被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値を、データ要素として上記値取得分散データセットキーワードにより示される分散データセットに追加するようにさらに配置されてもよい。
【００５８】
本実施例のいくつかの代替的な実現形態において、上記表現式解析ユニット３０１は、分散コンピューティングタスクの表現式を解析して、キー値ペア取得演算子キーワードと、キー値ペア被取得分散キー値ペアセットキーワードと、キー値ペア取得分散データセットキーワードとを取得するようにさらに配置され、上記キー値ペア被取得分散キー値ペアセットキーワードは、上記キー値ペア取得演算子キーワードに対応するキー値ペア取得演算子により作用される分散キー値ペアセットを示すためのキーワードであり、上記キー値ペア取得分散データセットキーワードは、上記キー値ペア被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットに対して、上記キー値ペア取得演算子キーワードに対応する操作を実行した後に戻される分散データセットを示すためのキーワードであってもよい。上記実行ユニット３０２は、上記キー値ペア被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値を、分散データセットのキー値ペアとして取得し、上記分散データセットにおける各データ要素のそれぞれと上記キー値ペア中のキーとを組み合わせて新たなキー値ペアを形成し、形成された新たなキー値ペアをデータ要素として上記キー値ペア取得分散データセットキーワードにより示される分散データセットに追加するようにさらに配置されてもよい。
【００５９】
本実施例のいくつかの代替的な実現形態において、上記表現式解析ユニット３０１は、分散コンピューティングタスクの表現式を解析して、ファイル読み取り演算子キーワード、ファイル読み取り分散データセットキーワード及びファイル読み取り記憶経路を取得するようにさらに配置されてもよく、上記ファイル読み取り分散データセットキーワードは、上記ファイル読み取り演算子キーワードに対応するファイル読み取り演算子により作用される分散データセットを示すためのキーワードであり、上記ファイル読み取り記憶経路は、上記ファイル読み取り演算子により作用されるファイルを示すためのファイル読み取り記憶経路である。上記実行ユニット３０２は、上記ファイル読み取り記憶経路により示されるファイル中のデータを、上記ファイル読み取り分散データセットキーワードにより示される分散データセットに書き込むようにさらに配置されてもよい。
【００６０】
本実施例のいくつかの代替的な実現形態において、上記表現式解析ユニット３０１は、分散コンピューティングタスクの表現式を解析して、メモリ読み取り演算子キーワードと、上記メモリ読み取り演算子により作用される分散データセットを示すためのメモリ読み取り分散データセットキーワードと、上記メモリ読み取り演算子により作用されるメモリを示すためのメモリアドレス読み取りキーワードとを取得するようにさらに配置されてもよい。上記実行ユニット３０２は、上記メモリアドレス読み取りキーワードにより示されるメモリ中のデータを、上記メモリ読み取り分散データセットキーワードにより示される分散データセットに書き込むようにさらに配置されてもよい。
【００６１】
本実施例のいくつかの代替的な実現形態において、上記表現式解析ユニット３０１は、分散コンピューティングタスクの表現式を解析して、ファイル書き込み演算子キーワードと、上記ファイル書き込み演算子により作用される分散データセットを示すためのファイル書き込み分散データセットキーワードと、上記ファイル書き込み演算子により作用されるファイルを示すためのファイル書き込み記憶経路とを取得するようにさらに配置されてもよい。上記実行ユニット３０２は、上記ファイル書き込み分散データセットキーワードにより示される分散データセットにおけるデータを、上記ファイル書き込み記憶経路に示されるファイルに書き込むようにさらに配置されてもよい。
【００６２】
本実施例のいくつかの代替的な実現形態において、上記表現式解析ユニット３０１は、分散コンピューティングタスクの表現式を解析して、メモリ書き込み演算子キーワードと、上記メモリ書き込み演算子により作用される分散データセットを示すためのメモリ書き込み分散データセットキーワードと、上記メモリ書き込み演算子により作用されるメモリを示すための書き込みメモリアドレスキーワードとを取得するようにさらに配置されてもよい。上記実行ユニット３０２は、上記メモリ書き込み分散データセットキーワードにより示される分散データセットにおけるデータを、上記書き込みメモリアドレスキーワードにより示されるメモリに書き込むようにさらに配置されてもよい。
【００６３】
以下、図４を参照すると、図４は、本発明の実施例を実現する分散コンピューティング装置に適するコンピュータシステムの構造の模式図を示す。
【００６４】
図４に示すように、コンピュータシステム４００は、読み出し専用メモリ（ＲＯＭ）４０２に記憶されたプログラム、又は記憶部４０８からランダムアクセスメモリ（ＲＡＭ）４０３に取り込まれたプログラムにより各種適宜な動作及び処理を実行することができる中央処理装置（ＣＰＵ）４０１を具備する。ＲＡＭ４０３において、システム４００の動作に必要な各種のプログラム及びデータが記憶されている。ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３とは、バス４０４を介して互いに接続されている。入力／出力（Ｉ／Ｏ）インターフェース４０４もバス４０４に接続されている。
【００６５】
キーボード、マウスなどを含む入力部４０６と、陰極線管（ＣＲＴ）、液晶表示装置（ＬＣＤ）などとスピーカーなどを含む出力部４０７と、ハード駆動部などを含む記憶部４０８と、ＬＡＮカード、モデムなどのネットワークインターフェースカードを含む通信部４０９のような部品は、Ｉ／Ｏインターフェース４０５に接続されている。通信部４０９は、インターネットなどのネットワークを介して通信処理を実行する。駆動部４１０も必要に応じて、Ｉ／Ｏインターフェース４０４に接続される。磁気ディスク、光ディスク、磁気光ディスク、半導体メモリーなどのようなリムーバブルメディア４１１は、必要に応じて、読み取ったコンピュータプログラムを必要に応じて記憶部４０８にインストールできるように、駆動部４１０に取り付けられる。
【００６６】
特に、本発明の実施例によれば、以上のフローチャートを参照しながら記載したプロセスは、コンピュータソフトウェアプログラムとして実現することができる。例えば、本発明の実施例は、コンピュータ可読媒体に載せられるコンピュータプログラムを含むコンピュータプログラムを含み、当該コンピュータプログラムは、フローチャートに示された方法を実行するためのプログラムコードを含む。このような実施例において、当該コンピュータプログラムは、通信部４０９を介してネットワークからダウンロードされてインストールされてもよく、及び／又はリムーバブルメディア４１１からインストールされてもよい。当該コンピュータプログラムが中央処理装置（ＣＰＵ）4０１により実行されると、本発明の方法によって特定された上記機能が実行されるようになっている。
【００６７】
図面におけるフローチャート及びブロック図は、本発明の各種実施例によるシステム、方法及びコンピュータプログラムが実現可能なシステムアーキテクチャー、機能及び動作を図示する。この点から、フローチャート又はブロック図におけるそれぞれのブロックは、１つのモジュール、プログラムブロック、又はコードの一部を示すことができ、当該モジュール、プログラムブロック、又はコードの一部は、一つ又は複数の所定のロジカル機能を実現するための実行可能なコマンドを含む。なお、複数の代わりになる実装において、ブロックに表示された機能は、図面に表示された順番と異なる順番で発生させることができる。例えば、２つの直列的に接続されると示されたブロックは、実際には、基本的に並行して実行することができ、機能によっては、逆の順番で実行することも可能である。なお、ブロック図及び／又はフローチャートにおけるそれぞれのブロックと、ブロック図及び／又はフローチャートにおけるブロックの組み合わせは、所定の機能又は操作を実行するための専用のハードウェアに基づくシステムによって実現することができ、あるいは、専用ハードウェアとコンピュータコマンドの組み合わせによって実現することができる。
【００６８】
本発明の実施例に係るユニットは、ソフトウェアによって実現されてもよく、ハードウェアによって実現されてもよい。本明細書に記載のユニットは、プロセッサに設けることができ、例えば、表現式解析ユニットと実行ユニットとを備えるプロセッサとして記載されてもよい。ここで、これらのユニットの名称は、場合によっては当該ユニットそのものに対する限定にはならず、例えば、表現式解析ユニットは、「分散コンピューティングタスクの表現式を解析するユニット」として記載されてもよい。
【００６９】
他の態様として、本発明は、不揮発性コンピュータ記憶媒体をさらに提供し、当該不揮発性コンピュータ記憶媒体は、上記実施例の前記装置であってもよく、独立で存在して端末に組み立てられていない不揮発性コンピュータ記憶媒体であってもよい。上記不揮発性コンピュータ記憶媒体が一つ又は複数のプログラムを記憶しており、上記一つ又は複数のプログラムが当該機器によって実行される場合、当該機器には、分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップであって、上記演算子キーワードは、グループ化演算子キーワード、操作演算子キーワード、トラバーサル演算子キーワード、値取得演算子キーワード、キー値ペア取得演算子キーワード、ファイル読み取り演算子キーワード、メモリ読み取り演算子キーワード、ファイル書き込み演算子キーワード、メモリ書き込み演算子キーワードのうちの少なくとも一つを含む、ステップと、上記演算子キーワードに対応する演算子を用いて、上記演算子の入力パラメータに基づいて、上記分散コンピューティングタスクを実行するステップであって、上記演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、上記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである、ステップとを実行するようになっている。
【００７０】
以上の記載は、本発明の好ましい実施例、及び使われている技術的原理の説明に過ぎない。当業者は、本発明に係る保護範囲が、上記の技術的特徴による特定お組合せからなる技術案に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、上記技術的特徴又は均等の特徴の任意の組合せからなる他の技術案も含まれることを理解している。例えば、上記特徴と、本発明に開示された類似の機能を持っている技術的特徴（これらに限定されていない）とを互いに置き換えてなる技術案も含まれる。
【図１】
2019531539.tif 000003
【図２】
2019531539.tif 000004
【図３】
2019531539.tif 000005
【図４】
2019531539.tif 000006
【手続補正書】
【提出日】平成31年3月29日(2019.3.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
分散コンピューティングタスクを実行するための方法であって、
分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップであって、前記演算子キーワードは、グループ化演算子キーワード、操作演算子キーワード、トラバーサル演算子キーワード、値取得演算子キーワード、キー値ペア取得演算子キーワード、ファイル読み取り演算子キーワード、メモリ読み取り演算子キーワード、ファイル書き込み演算子キーワード、メモリ書き込み演算子キーワードのうちの少なくとも一つを含む、ステップと、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップであって、前記演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、前記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである、ステップと、
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、グループ化演算子キーワードと、被グループ化分散データセットキーワードと、グループ化条件キーワードとを取得するステップであって、前記被グループ化分散データセットキーワードは、前記グループ化演算子キーワードに対応するグループ化演算子により作用される分散データセットを示すためのキーワードであり、前記グループ化条件キーワードは、前記被グループ化分散データセットキーワードにより示される分散データセットをグループ化するグループ化根拠を示すためのキーワードである、ステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記グループ化条件キーワードに従って、前記被グループ化分散データセットキーワードにより示される分散データセットをグループ化してグループ化データを取得し、前記グループ化条件キーワードと前記グループ化データとをキー値ペアに組み合わせて分散キー値ペアセットを取得するステップを含むことを特徴とする、方法。
【請求項３】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、操作演算子キーワードと、被操作分散データセットキーワードと、戻し分散データセットキーワードとを取得するステップであって、前記被操作分散データセットキーワードは、前記操作演算子キーワードに対応する操作演算子により作用される分散データセットを示すためのキーワードであり、前記戻し分散データセットキーワードは、前記被操作分散データセットキーワードにより示される分散データセットに対して、前記操作演算子キーワードに対応する操作を行った後に戻される分散データセットを示すためのキーワードである、ステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記被操作分散データセットキーワードにより示される分散データセットに対して、前記操作演算子キーワードに対応する操作を実行して新たな分散データセットを戻し、前記新たな分散データセットを、前記戻し分散データセットキーワードにより示される分散データセットとするステップを含むことを特徴とする、方法。
【請求項４】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、トラバーサル演算子キーワードと、被トラバーサル分散キー値ペアセットキーワードと、被トラバーサル演算子キーワードとを取得するステップであって、前記被トラバーサル分散キー値ペアセットキーワードは、前記トラバーサル演算子キーワードに対応するトラバーサル演算子により作用される分散キー値ペアセットを示すためのキーワードであり、前記被トラバーサル演算子キーワードは、前記トラバーサル演算子キーワードに対応するトラバーサル演算子により作用される演算子を示すためのキーワードである、ステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記被トラバーサル分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値に対応する分散データセットに対して、前記被トラバーサル演算子キーワードに対応する操作を実行するステップを含むことを特徴とする、方法。
【請求項５】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、値取得演算子キーワードと、値被取得分散キー値ペアセットキーワードと、及び値取得分散データセットキーワードとを取得するステップであって、前記値被取得分散キー値ペアセットキーワードは、前記値取得演算子キーワードに対応する値取得演算子により作用される分散キー値ペアセットを示すためのキーワードであり、前記値取得分散データセットキーワードは、前記値被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットに対して、前記値取得演算子キーワードに対応する操作を実行した後に戻される分散データセットを示すためのキーワードである、ステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記値被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値を、データ要素として前記値取得分散データセットキーワードにより示される分散データセットに追加するステップを含むことを特徴とする、方法。
【請求項６】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、キー値ペア取得演算子キーワードと、キー値ペア被取得分散キー値ペアセットキーワードと、キー値ペア取得分散データセットキーワードとを取得するステップであって、前記キー値ペア被取得分散キー値ペアセットキーワードは、前記キー値ペア取得演算子キーワードに対応するキー値ペア取得演算子により作用される分散キー値ペアセットを示すためのキーワードであり、前記キー値ペア取得分散データセットキーワードは、前記キー値ペア被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットに対して、前記キー値ペア取得演算子キーワードに対応する操作を実行した後に戻される分散データセットを示すためのキーワードである、ステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記キー値ペア被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値を、分散データセットのキー値ペアとして取得し、前記分散データセットにおける各データ要素のそれぞれと前記キー値ペア中のキーとを組み合わせて新たなキー値ペアを形成し、形成された新たなキー値ペアをデータ要素として前記キー値ペア取得分散データセットキーワードにより示される分散データセットに追加するステップを含むことを特徴とする、方法。
【請求項７】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、ファイル読み取り演算子キーワードと、ファイル読み取り分散データセットキーワードと、読み取りファイル記憶経路とを取得するステップであって、前記ファイル読み取り分散データセットキーワードは、前記ファイル読み取り演算子キーワードに対応するファイル読み取り演算子により作用される分散データセットを示すためのキーワードであり、前記読み取りファイル記憶経路は、前記ファイル読み取り演算子により作用されるファイルを示すための読み取りファイル記憶経路である、ステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記読み取りファイル記憶経路により示されるファイル中のデータを、前記ファイル読み取り分散データセットキーワードにより示される分散データセットに書き込むステップを含むことを特徴とする、方法。
【請求項８】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、メモリ読み取り演算子キーワードと、前記メモリ読み取り演算子により作用される分散データセットを示すためのメモリ読み取り分散データセットキーワードと、前記メモリ読み取り演算子により作用されるメモリを示すためのメモリアドレス読み取りキーワードとを取得するステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記メモリアドレス読み取りキーワードにより示されるメモリ中のデータを、前記メモリ読み取り分散データセットキーワードにより示される分散データセットに書き込むステップを含むことを特徴とする、方法。
【請求項９】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、ファイル書き込み演算子キーワードと、前記ファイル書き込み演算子により作用される分散データセットを示すためのファイル書き込み分散データセットキーワードと、前記ファイル書き込み演算子により作用されるファイルを示すための書き込みファイル記憶経路とを取得するステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記ファイル書き込み分散データセットキーワードにより示される分散データセットにおけるデータを、前記書き込みファイル記憶経路に示されるファイルに書き込むステップを含むことを特徴とする、方法。
【請求項１０】
請求項１に記載の分散コンピューティングタスクを実行するための方法であって、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップは、
前記分散コンピューティングタスクの表現式を解析して、メモリ書き込み演算子キーワードと、前記メモリ書き込み演算子により作用される分散データセットを示すためのメモリ書き込み分散データセットキーワードと、前記メモリ書き込み演算子により作用されるメモリを示すための書き込みメモリアドレスキーワードとを取得するステップを含み、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップは、
前記メモリ書き込み分散データセットキーワードにより示される分散データセットにおけるデータを、前記書き込みメモリアドレスキーワードにより示されるメモリに書き込むステップを含むことを特徴とする、方法。
【請求項１１】
分散コンピューティングタスクを実行するための装置であって、
分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するように配置される表現式解析ユニットであって、前記演算子キーワードは、グループ化演算子キーワード、操作演算子キーワード、トラバーサル演算子キーワード、値取得演算子キーワード、キー値ペア取得演算子キーワード、ファイル読み取り演算子キーワード、メモリ読み取り演算子キーワード、ファイル書き込み演算子キーワード、メモリ書き込み演算子キーワードのうちの少なくとも一つを含む、表現式解析ユニットと、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するように配置される実行ユニットであって、前記演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、前記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである、実行ユニットと、
を備えることを特徴とする、装置。
【請求項１２】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、グループ化演算子キーワードと、被グループ化分散データセットキーワードと、グループ化条件キーワードとを取得するようにさらに配置され、前記被グループ化分散データセットキーワードは、前記グループ化演算子キーワードに対応するグループ化演算子により作用される分散データセットを示すためのキーワードであり、前記グループ化条件キーワードは、前記被グループ化分散データセットキーワードにより示される分散データセットをグループ化するグループ化根拠を示すためのキーワードであり、
前記実行ユニットは、
前記グループ化条件キーワードに従って、前記被グループ化分散データセットキーワードにより示される分散データセットをグループ化してグループ化データを取得し、前記グループ化条件キーワードと前記グループ化データとをキー値ペアに組み合わせて分散キー値ペアセットを取得するようにさらに配置されることを特徴とする、装置。
【請求項１３】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、操作演算子キーワードと、被操作分散データセットキーワードと、戻し分散データセットキーワードとを取得するようにさらに配置され、前記被操作分散データセットキーワードは、前記操作演算子キーワードに対応する操作演算子により作用される分散データセットを示すためのキーワードであり、前記戻し分散データセットキーワードは、前記被操作分散データセットキーワードにより示される分散データセットに対して、前記操作演算子キーワードに対応する操作を行っ後に戻される分散データセットを示すためのキーワードであり、
前記実行ユニットは、
前記被操作分散データセットキーワードにより示される分散データセットに対して、前記操作演算子キーワードに対応する操作を実行して新たな分散データセットを戻し、前記新たな分散データセットを、前記戻し分散データセットキーワードにより示される分散データセットとするようにさらに配置されることを特徴とする、装置。
【請求項１４】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、トラバーサル演算子キーワードと、被トラバーサル分散キー値ペアセットキーワードと、被トラバーサル演算子キーワードとを取得するようにさらに配置され、前記被トラバーサル分散キー値ペアセットキーワードは、前記トラバーサル演算子キーワードに対応するトラバーサル演算子により作用される分散キー値ペアセットを示すためのキーワードであり、前記被トラバーサル演算子キーワードは、前記トラバーサル演算子キーワードに対応するトラバーサル演算子により作用される演算子を示すためのキーワードであり、
前記実行ユニットは、
前記被トラバーサル分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値に対応する分散データセットに対して、前記被トラバーサル演算子キーワードに対応する操作を実行するようにさらに配置されることを特徴とする、装置。
【請求項１５】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、値取得演算子キーワードと、値被取得分散キー値ペアセットキーワードと、及び値取得分散データセットキーワードとを取得するようにさらに配置され、前記値被取得分散キー値ペアセットキーワードは、前記値取得演算子キーワードに対応する値取得演算子により作用される分散キー値ペアセットを示すためのキーワードであり、前記値取得分散データセットキーワードは、前記値被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットに対して、前記値取得演算子キーワードに対応する操作を実行した後に戻される分散データセットを示すためのキーワードであり、
前記実行ユニットは、
前記値被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値を、データ要素として前記値取得分散データセットキーワードにより示される分散データセットに追加するようにさらに配置されることを特徴とする、装置。
【請求項１６】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、キー値ペア取得演算子キーワードと、キー値ペア被取得分散キー値ペアセットキーワードと、キー値ペア取得分散データセットキーワードとを取得するようにさらに配置され、前記キー値ペア被取得分散キー値ペアセットキーワードは、前記キー値ペア取得演算子キーワードに対応するキー値ペア取得演算子により作用される分散キー値ペアセットを示すためのキーワードであり、前記キー値ペア取得分散データセットキーワードは、前記キー値ペア被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットに対して、前記キー値ペア取得演算子キーワードに対応する操作を実行した後に戻される分散データセットを示すためのキーワードであり、
前記実行ユニットは、
前記キー値ペア被取得分散キー値ペアセットキーワードにより示される分散キー値ペアセットにおける各キー値ペア中の値を、分散データセットのキー値ペアとして取得し、前記分散データセットにおける各データ要素のそれぞれと前記キー値ペア中のキーとを組み合わせて新たなキー値ペアを形成し、形成された新たなキー値ペアをデータ要素として前記キー値ペア取得分散データセットキーワードにより示される分散データセットに追加するようにさらに配置されることを特徴とする、装置。
【請求項１７】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、ファイル読み取り演算子キーワードと、ファイル読み取り分散データセットキーワードと、読み取りファイル記憶経路とを取得するようにさらに配置され、前記ファイル読み取り分散データセットキーワードは、前記ファイル読み取り演算子キーワードに対応するファイル読み取り演算子により作用される分散データセットを示すためのキーワードであり、前記読み取りファイル記憶経路は、前記ファイル読み取り演算子により作用されるファイルを示すための読み取りファイル記憶経路であり、
前記実行ユニットは、
前記読み取りファイル記憶経路により示されるファイル中のデータを、前記ファイル読み取り分散データセットキーワードにより示される分散データセットに書き込むようにさらに配置されることを特徴とする、装置。
【請求項１８】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、メモリ読み取り演算子キーワードと、前記メモリ読み取り演算子により作用される分散データセットを示すためのメモリ読み取り分散データセットキーワードと、前記メモリ読み取り演算子により作用されるメモリを示すためのメモリアドレス読み取りキーワードとを取得するようにさらに配置され、
前記実行ユニットは、
前記メモリアドレス読み取りキーワードにより示されるメモリ中のデータを、前記メモリ読み取り分散データセットキーワードにより示される分散データセットに書き込むようにさらに配置されることを特徴とする、装置。
【請求項１９】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、ファイル書き込み演算子キーワードと、前記ファイル書き込み演算子により作用される分散データセットを示すためのファイル書き込み分散データセットキーワードと、前記ファイル書き込み演算子により作用されるファイルを示すための書き込みファイル記憶経路とを取得するようにさらに配置され、
前記実行ユニットは、
前記ファイル書き込み分散データセットキーワードにより示される分散データセットにおけるデータを、前記書き込みファイル記憶経路に示されるファイルに書き込むようにさらに配置されることを特徴とする、装置。
【請求項２０】
請求項１１に記載の分散コンピューティングタスクを実行するための装置であって、
前記表現式解析ユニットは、
前記分散コンピューティングタスクの表現式を解析して、メモリ書き込み演算子キーワードと、前記メモリ書き込み演算子により作用される分散データセットを示すためのメモリ書き込み分散データセットキーワードと、前記メモリ書き込み演算子により作用されるメモリを示すための書き込みメモリアドレスキーワードとを取得するようにさらに配置され、
前記実行ユニットは、
前記メモリ書き込み分散データセットキーワードにより示される分散データセットにおけるデータを、前記書き込みメモリアドレスキーワードにより示されるメモリに書き込むようにさらに配置されることを特徴とする、装置。
【請求項２１】
プロセッサと、メモリとを備える機器であって、
前記プロセッサによって実行可能なコンピュータ可読命令が前記メモリに記憶され、前記コンピュータ可読命令が実行される場合、前記プロセッサは分散コンピューティングタスクを実行するための方法を実行し、前記方法は、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップであって、前記演算子キーワードは、グループ化演算子キーワード、操作演算子キーワード、トラバーサル演算子キーワード、値取得演算子キーワード、キー値ペア取得演算子キーワード、ファイル読み取り演算子キーワード、メモリ読み取り演算子キーワード、ファイル書き込み演算子キーワード、メモリ書き込み演算子キーワードのうちの少なくとも一つを含む、ステップと、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップであって、前記演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、前記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである、ステップと、を含むことを特徴とする、機器。
【請求項２２】
プロセッサによって実行可能なコンピュータ可読命令が記憶されている不揮発性コンピュータ記憶媒体であって、
前記コンピュータ可読命令が前記プロセッサによって実行される場合、前記プロセッサは分散コンピューティングタスクを実行するための方法を実行し、前記方法は、
前記分散コンピューティングタスクの表現式を解析して、演算子キーワードを取得するステップであって、前記演算子キーワードは、グループ化演算子キーワード、操作演算子キーワード、トラバーサル演算子キーワード、値取得演算子キーワード、キー値ペア取得演算子キーワード、ファイル読み取り演算子キーワード、メモリ読み取り演算子キーワード、ファイル書き込み演算子キーワード、メモリ書き込み演算子キーワードのうちの少なくとも一つを含む、ステップと、
前記演算子キーワードに対応する演算子を用いて、前記演算子の入力パラメータに基づき前記分散コンピューティングタスクを実行するステップであって、前記演算子の入力パラメータは、分散記憶され少なくとも一つのデータ要素で構成された分散データセットと、分散記憶され少なくとも一対のキー値ペアで構成された分散キー値ペアセットとのうちの少なくとも一つを含み、前記分散キー値ペアセットにおけるキー値ペアの値は、分散データセット又は分散キー値ペアセットである、ステップと、を含むことを特徴とする、
不揮発性コンピュータ記憶媒体。
【請求項２３】
コンピュータプログラムであって、
プロセッサにより実行されると、請求項１ないし請求項１０のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
分散コンピューティング装置１０１、１０２、１０３、１０５は、プロセッサを備え分散コンピューティングサービスを提供する各種の電子装置であることができ、ラップトップコンピュータ及びデスクトップコンピュータなどを含むが、これに限定されない。例えば、分散コンピューティング装置１０５は、当該分散コンピューティング装置１０５で運行される分散コンピューティングタスクを分散コンピューティング装置１０１、１０２、１０３のそれぞれに分配して、コンピューティングタスクの一部を実行させ、且つ、分散型コンピューティング装置１０１、１０２、１０３のそれぞれから戻されたコンピューティングの結果を受信してから、受信された各結果を総合する。分散コンピューティング装置１０１、１０２、１０３、１０５には、分散コンピューティングタスクに必要な各種のデータが記憶されていることができる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６４
【補正方法】変更
【補正の内容】
【００６４】
図４に示すように、コンピュータシステム４００は、読み出し専用メモリ（ＲＯＭ）４０２に記憶されたプログラム、又は記憶部４０８からランダムアクセスメモリ（ＲＡＭ）４０３に取り込まれたプログラムにより各種適宜な動作及び処理を実行することができる中央処理装置（ＣＰＵ）４０１を具備する。ＲＡＭ４０３において、システム４００の動作に必要な各種のプログラム及びデータが記憶されている。ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３とは、バス４０４を介して互いに接続されている。入力／出力（Ｉ／Ｏ）インターフェース４０５もバス４０４に接続されている。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
キーボード、マウスなどを含む入力部４０６と、陰極線管（ＣＲＴ）、液晶表示装置（ＬＣＤ）などとスピーカーなどを含む出力部４０７と、ハード駆動部などを含む記憶部４０８と、ＬＡＮカード、モデムなどのネットワークインターフェースカードを含む通信部４０９のような部品は、Ｉ／Ｏインターフェース４０５に接続されている。通信部４０９は、インターネットなどのネットワークを介して通信処理を実行する。駆動部４１０も必要に応じて、Ｉ／Ｏインターフェース４０５に接続される。磁気ディスク、光ディスク、磁気光ディスク、半導体メモリーなどのようなリムーバブルメディア４１１は、必要に応じて、読み取ったコンピュータプログラムを必要に応じて記憶部４０８にインストールできるように、駆動部４１０に取り付けられる。
【国際調査報告】
2019531539.tif 000007
2019531539.tif 000008
2019531539.tif 000009
2019531539.tif 000010