JP2013536492A - 複数のシステムを用いたデータ解析 - Google Patents

複数のシステムを用いたデータ解析 Download PDF

Info

Publication number
JP2013536492A
JP2013536492A JP2013518377A JP2013518377A JP2013536492A JP 2013536492 A JP2013536492 A JP 2013536492A JP 2013518377 A JP2013518377 A JP 2013518377A JP 2013518377 A JP2013518377 A JP 2013518377A JP 2013536492 A JP2013536492 A JP 2013536492A
Authority
JP
Japan
Prior art keywords
data
preset
preset key
key
value
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
JP2013518377A
Other languages
English (en)
Other versions
JP2013536492A5 (ja
JP5635691B2 (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2013536492A publication Critical patent/JP2013536492A/ja
Publication of JP2013536492A5 publication Critical patent/JP2013536492A5/ja
Application granted granted Critical
Publication of JP5635691B2 publication Critical patent/JP5635691B2/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/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file 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/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【解決手段】データ解析が開示されており、1または複数のデータ識別子(ID)と、各々がプリセットキーおよびプリセット値を含む1または複数のプリセットキー−値ペアとを含む解析対象のデータを受信することと、データIDに少なくとも部分的に基づいて、解析対象のデータを取得することと、取得されたデータを1または複数のデータ要素に分割することと、1または複数のプリセットキー−値ペアの1つのプリセットキーに少なくとも部分的に基づいて、1または複数のデータ要素を分類することと、1または複数のプリセットキー−値ペアの1つのプリセット値に少なくとも部分的に基づいて、分類済みの1または複数のデータ要素を解析することを含む。
【選択図】図1A

Description

他の出願の相互参照
本願は、すべての目的のために参照により本明細書に組み込まれる、発明の名称を「METHOD,SYSTEM AND SERVER FOR DATA ANALYSIS(データ解析のための方法、システムおよびサーバ)」とする、2010年7月7日出願の中国特許出願第201010222602.3 号に基づく優先権を主張する。
本発明は、コンピュータデータ処理の分野に関する。
Web2.0技術が開発されたため、インターネットプラットフォームにおけるインターネットアプリケーションおよびオペレーショナルデータ(例えば、サブスクライバアクションデータおよびプラットフォームシステムデータ)の量が甚だしく増加した。大量のオペレーショナルデータの処理を容易にするために、通例、並列データ処理アーキテクチャが用いられる。すなわち、大量のデータの処理は、複数の分散型コンピュータの協働によって達成される。
一般的に、大規模なインターネットウェブサイトプラットフォームにおいて最も広く用いられている並列データ処理アーキテクチャは、Hadoopシステムアーキテクチャである。Hadoopシステムアーキテクチャは、マスタサーバおよび複数のスレーブサーバで構成されたシステムのクラスタを備える。マスタサーバは、大量のデータを複数のデータブロックに分割し、次いで、分割したデータブロックを並列動作する複数のスレーブサーバに割り当てる。各スレーブサーバは、自身のデータブロックを処理し、処理結果をマスタサーバに送信する。処理結果をマージした後、マスタサーバは、マージ済みの処理結果を出力する。さらに、ある処理ステージでマスタサーバから出力されたマージ済みの結果は、次のステージでマージされた結果を取得するための次のステージでのデータ処理の入力としても機能しうる。並列および順次処理のかかる組み合わせにより、並列データ処理システムは高効率で大量のデータを処理することができる。
かかる従来のデータ解析技術は、主に、リレーショナルデータベースに基づいている。しかしながら、並列データ処理アーキテクチャで大量のデータを解析するためにリレーショナルデータベースを用いるのは非常に困難である。分類およびレポート生成などの複雑なデータ解析を実行する必要がある場合、要求を満たすのは特に困難である。
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
現行の技術および本発明の実施形態における技術スキームをより明確に説明するために、実施形態または現行技術の説明に必要な図面について、以下で簡単に説明する。明らかに、以下で説明する図面は、本願のいくつかの実施形態にすぎない。当業者であれば、発明の努力を費やすことなく、これらの図面に基づいて他の図面を得ることができる。
マスタサーバと少なくとも2つのスレーブサーバとを備えるデータ解析システムの一実施形態を示す図。
メインスレッドモジュールと、少なくとも2つの子スレッドモジュールとを備えるデータ解析システムの一実施形態を示す図。
データ解析のための処理の一実施形態を示すフローチャート。
データ解析のための処理の一実施形態を示すフローチャート。
マスタサーバと少なくとも1つのスレーブサーバとを備えるデータ解析システムにおけるスレーブサーバの一実施形態を示す図。
マスタサーバと少なくとも1つのスレーブサーバとを備えるデータ解析システムにおけるスレーブサーバの一実施形態を示す図。
マスタサーバと少なくとも1つのスレーブサーバとを備えるデータ解析システムにおけるスレーブサーバの一実施形態を示す図。
メインスレッドモジュールと1または複数の子スレッドモジュールとを備えるシステムにおける子スレッドモジュールの一実施形態を示す図。
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されているものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
並列データ処理アーキテクチャにおける大量のデータの解析が開示されている。様々な実施形態において、並列データ処理アーキテクチャは、Hadoopシステムアーキテクチャを含む。
図1Aは、マスタサーバと少なくとも2つのスレーブサーバとを備えるデータ解析システムの一実施形態を示す図である。この例において、システム100は、マスタサーバ102と、少なくとも2つのスレーブサーバ104および106とを備える。この例では、2つのスレーブサーバのみが図示されているが、システム100は、3以上のスレーブサーバを備えてもよい。様々な実施形態において、マスタサーバ102は、例えば、高速データネットワークおよび/または遠隔通信ネットワークを含みうるネットワーク(図示せず)を通して、スレーブサーバ104および106の一方または両方に接続される。
マスタサーバ102は、解析対象のデータ(例えば、ファイル)をスレーブサーバ104および106に送信するよう構成されている。マスタサーバ102は、データセットの異なる部分を複数のスレーブサーバ(例えば、104および106)に割り当てる。しかしながら、いくつかの実施形態では、マスタサーバ102は、各スレーブサーバが、受信したデータを用いて異なる関数を実行できるように、データセットの同一部分の内の少なくとも一部を複数のスレーブサーバに割り当てる。いくつかの実施形態において、解析対象のデータは、1または複数のデータ識別子(ID)と、1または複数のプリセットされたキー−値ペアとを含んでおり、プリセットされた各キー−値ペアは、プリセットキーおよびプリセット値を含む。いくつかの実施形態において、プリセットキーは、スレーブサーバが、解析対象のデータを分類する方法を定義する。いくつかの実施形態において、プリセット値は、スレーブサーバが、分類されたデータを解析および処理する方法を定義する。また、マスタサーバ102は、スレーブサーバ104および106から解析結果を受信してマージするよう構成されている。いくつかの実施形態において、マスタサーバ102は、1または複数のスレーブサーバから受信した解析結果をマージした後、マージされた解析結果を過去のマージされた解析結果と比較し、比較結果が条件を満たす場合に、警告を生成するよう構成されている。
スレーブサーバ104および106は、解析対象のデータをマスタサーバ102から受信するように構成されている。スレーブサーバ104および106は、生データを取得して分類し、分類された生データを解析するために、データIDおよびプリセットキー−値ペアを用いるよう構成されている。スレーブサーバ104および106は、解析結果をマスタサーバ102に送信するよう構成されている。スレーブサーバの関数に関する詳細を以下に述べる。
図1Bは、メインスレッドモジュールと、少なくとも2つの子スレッドモジュールとを備えるデータ解析システムの一実施形態を示す図である。この例において、システム150は、メインスレッドモジュール108と、少なくとも2つの子スレッドモジュール110および112とを備える。この例では、2つの子スレッドモジュールのみが図示されているが、システム150は、3以上の子スレッドモジュールを備えてもよい。
いくつかの実施形態において、メインスレッドモジュール108、子スレッドモジュール110、および、子スレッドモジュール112は、1つのデバイス上に実装されうる。メインスレッドモジュール108ならびに子スレッドモジュール110および112が1つのデバイス上に実装される場合、子スレッドモジュール110および112は、メインスレッドモジュール108と通信するためにネットワークを用いる必要がなく、その代わり、デバイス内部の通信プロセスを用いるだけでよい。いくつかの実施形態において、メインスレッドモジュール108は、マスタサーバ102と同様の関数を実行し、子スレッドモジュール110および112は、スレーブサーバ104および106と同様の関数を実行する。
図2は、データ解析のための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理200は、少なくとも部分的にシステム100を用いて実施されうる。
工程201:解析対象のデータがマスタサーバから受信される。ここで、解析対象のデータは、1または複数のデータ識別子(ID)と、1または複数のプリセットされたキー−値ペアとを含んでおり、プリセットされた各キー−値ペアは、プリセットキーおよびプリセット値を含む。様々な実施形態において、解析対象のデータは、スレーブサーバで受信される。いくつかの実施形態において、データはファイルを含む。いくつかの実施形態において、プリセットキーは、スレーブサーバが、解析対象のデータを分類する方法を定義する。いくつかの実施形態において、プリセット値は、スレーブサーバが、分類されたデータを解析および処理する方法を定義する。
例えば、並列データ処理アーキテクチャにおいて、マスタサーバは、関連付けられた各スレーブサーバに1セットの(例えば、異なる)ファイルを送信する。ファイルは、データIDと、1または複数のプリセットキー−値ペアを含む。ファイル内のデータIDは、受信側のスレーブサーバが(例えば、ある形態の記憶装置から)取得する必要のある解析前の生データを示す。例えば、データアドレス情報(例えば、関連付けられた記憶装置に関するもの)が、受信側のスレーブサーバによって取得および解析される生データを特定するデータIDとして機能しうる。プリセットキー−値ペアは、プリセットキーおよびプリセット値を含む。プリセットキーは、解析することになっている生データをスレーブサーバが分類する方法を定義する。プリセット値は、プリセットキーを用いて分類された後の生データをスレーブサーバが解析する方法を定義する。
例えば、プリセットキー−値ペアが、以下の通りであるとする。「key=1,2,3」(ここで、1、2、および、3は、データ要素の配列内の値の最初の3つの位置を表す)、および、「value=max($a$+$b$+$c$)」。この例において、プリセットキーの定義は、受信側のスレーブサーバが、データ配列(データセットとも呼ばれる)の最初の3つの位置のデータ要素に対応する値が同じである解析前データを1つのグループに分類することを求める。次いで、プリセット値の定義に基づいて、スレーブサーバは、分類されたグループ内の各データ配列について位置a、b、および、cに対応する値を足すことによって、グループに分類されたデータを解析し、その後、最大の合計値を選択する。選択された値が解析結果である。
いくつかの実施形態において、プリセット値の定義は、プリセットキーに基づいて分類されたデータに対して実行される関数を示す。いくつかの実施形態において、プリセット値の定義は、以下の内の1または複数を含みうる。最小値の探索(min)、最大値の探索(max)、平均値の算出(average)、カウント(count)、合計(sum)、および、直接表示(plain)。いくつかの実施形態では、直接表示(plain)は、値を表示するために用いられる。上述の関数だけでなく、プリセット値の定義によって、他の関数が示されてもよい。
工程202:解析対象のデータが、1または複数のデータIDに少なくとも部分的に基づいて取得される。いくつかの実施形態において、スレーブサーバは、受信されたデータIDに基づいてデータソースから解析対象の生データを取得する。いくつかの実施形態において、取得されたデータに含まれるデータ要素は、パーティションIDによって分離されている。
例えば、各スレーブサーバは、データIDによって示された解析前の生データをデータソースから取得する。例えば、データソースは、FTPサーバ、データベース(DB)、または、ファイルシステムであってよい。具体的なデータフォーマットは、例えば、データテーブル、レコード、ログなどであってよい。さらに、生データ内のデータ要素は、パーティションIDによって分離すなわち区切られている。パーティションIDは、例えば、カンマ、セミコロン、コロンなどであってよい。例示のために、本明細書では、データ要素間のパーティションIDとしてカンマを用いる。
例えば、以下は、データソースから取得された2セット(または配列)の生データである。この例において、生データは、ログタイプのデータフォーマットから抽出された。ログ抽出(log extract)内では、どのデータ要素も、カンマによって別のデータ要素から分離されている。さらに、このログ抽出は、合計2セットの生データを含んでおり、キャリッジリターンが、各データセットの終わりを示している。
0,203.171.227.117,null,xml,12005554,taobao.user.get,0,0,0,172.24.14.65,Xiao Guo cc,1.0,null,3,null,0,1274803197776,0,0,0,1,0,0,0,0,8,0,0,0,9
0,97.74.215.111,null,xml,12028711,taobao.taobaoke.items.detail.get,0,0,null,172.24.14.65,null,2.0,md5,4,null,221000,1274803197765,0,2,-1,1,0,0,0,0,23,0,0,0,26
工程203:取得されたデータは、1または複数のデータ要素に分割される。いくつかの実施形態において、スレーブサーバは、取得した生データをパーティションIDに基づいてデータ要素に分割する。
前の例を用いると、データ要素がカンマのパーティションIDによって分離されている場合、第1のデータセットは、カンマの位置で分割されて、合計30のデータ要素を形成しうる。第1のデータ要素は「0」、第2のデータ要素は「203.171.227.117」、第3のデータ要素は「null」、第4のデータ要素は「xml」、第5のデータ要素は「12005554」、第6のデータ要素は「taobao.user.get」、・・・、30番目のデータ要素は「9」である。
第2のデータセットは、上述した方法と同様の方法で30のデータ要素に分割されうる。
工程204:1または複数のデータ要素は、1または複数のプリセットキー−値ペアの1つのプリセットキーに少なくとも部分的に基づいて分類される。
例えば、プリセットキー−値ペアの1つに含まれるプリセットキーが、「key=1,2,3」である場合、プリセットキーによって参照されるデータ要素は、(データセットがパーティションIDの位置で分割された後の)データセットの最初の3つの位置にあるデータ要素である。先の例を用いると、分割されたデータ要素は、位置1〜3のデータ要素である、「0」、「203.171.227.117」、および、「null」。
例えば、プリセットキーが、「key=1,2,3」であり、プリセット値が、「value=max($a$+$b$+$c$)」であると仮定する。この例において、解析前の生データが10セットあると仮定する。プリセットキー「key=1,2,3」に基づいて10セットの生データを分類する工程は、位置1、2、および、3に同じデータ要素を有するデータセットを1つのグループに分類する工程を備える。分類後、10セットの解析前データの内の7セットが、位置1〜3に同じデータ要素を共有しており(例えば、これらの7セットのデータは1つのグループに分類される)、他の3セットの生データが、位置1〜3に同じデータ要素を共有している(例えば、これらの3セットのデータは第2のグループに分類される)ことがわかった。したがって、位置a、b、および、c(位置a、b、および、cは、位置1、2、および、3と同じであってもよいし同じでなくてもよい)のデータ要素の合計が、上述の1つのグループに含まれる7つの生データセットの各々について計算され、次いで、計算された合計値の中の最大値が返される。同様に、第2のグループの3つの生データセットの各々について、位置a、b、および、cのデータ要素の合計が計算され、次いで、計算された合計値の中の最大値が返される。
しかしながら、レコードが大量のデータを含む場合、または、生データ内のデータ要素の配列が変化する場合には、データ要素の処理が不正確になりやすくなる。生データセット内のデータ要素の配列は、例えば、新たなデータ要素(例えば、「responseMappingTime」のエイリアスに対応するデータ要素)が配列に追加された時に変化しうる。新たなデータ要素は、配列内の任意の位置に挿入されうるため、すでに配列の一部であったデータ要素の少なくとも一部の順序を変更しうる。いくつかの実施形態において、生データセット内のデータ要素の配列が変化した場合、対応するプリセットキーの定義は、それに応じて変化する必要がある。対応するプリセットキーの定義が・・・・・・・・・"である(例えば、プリセットキー「1」は生データ配列内の1番目の位置を示す)データ要素「0」を例にとると、そのデータ要素が、生データ配列内で1つ右の位置に移動された場合、それに対応するプリセットキーの定義は、・・・・・・・・・"になる。この時点で、データ要素「0」を参照したい場合、プリセットキー−値ペア内のプリセットキーの定義を修正する必要がある。すなわち、「key=1」は、「key=2」に修正されることが好ましい。修正されなかった場合、誤ったデータ要素がスレーブサーバによって参照されることになる。いくつかの実施形態において、データ要素がデータ要素配列内の新たな位置に移動された時に、プリセットキー−値ペア内のプリセットキーの定義を修正する必要がないようにするために、各データ要素のためのエイリアス(alias)を確立する。以下は、配列内の各データ要素の定義およびそれに対応するエイリアスの一例である。
<aliases>
<alias name="appStatus" key="1"/>
<alias name="remoteIp" key="2"/>
<alias name="partnerId" key="3"/>
<alias name="format" key="4"/>
<alias name="appKey" key="5"/>
<alias name="apiName" key="6"/>
<alias name="readBytes" key="7"/>
<alias name="errorCode" key="8"/>
<alias name="subErrorCode" key="9"/>
<alias name="localIp" key="10"/>
<alias name="nick" key="11"/>
<alias name="version" key="12"/>
<alias name="signMethod" key="13"/>
<alias name="tag" key="14"/>
<alias name="id" key="15"/>
<alias name="responseMappingTime" key="16"/>
<alias name="timestamp0" key="17"/>
<alias name="timestamp1" key="18"/>
<alias name="timestamp2" key="19"/>
<alias name="timestamp3" key="20"/>
<alias name="timestamp4" key="21"/>
<alias name="timestamp5" key="22"/>
<alias name="timestamp6" key="23"/>
<alias name="timestamp7" key="24"/>
<alias name="timestamp8" key="25"/>
<alias name="timestamp9" key="26"/>
<alias name="timestamp10" key="27"/>
<alias name="timestamp11" key="28"/>
<alias name="timestamp12" key="29"/>
<alias name="timestamp13" key="30"/>
</aliases>
上記の例に示すように、データセット内の第1のデータ要素のエイリアスは「appStatus」、第2のデータ要素のエイリアスは「remoteIp」、などである。いくつかの実施形態において、エイリアス定義が用いられると、それに応じて、上記のプリセットキー−値ペア内に定義されたプリセットキーは、適切に定義されたエイリアス:key=“appStatus,remoteIp,partnerId”によって置き換えられる。したがって、第1のデータ要素“0”が1つ右の位置に移動されても、レコード配列内での位置は変化するが、そのエイリアスは“appStatus”のままである(エイリアスが用いられなかった場合、対応するプリセットキー“1”は移動後に不正確になる)。したがって、エイリアス定義を利用すれば、対応するデータ要素がデータ配列内で移動された場合に、プリセットキー−値ペア内のプリセットキーの定義を修正する必要がなくなる。
工程205:分類された1または複数のデータ要素は、1または複数のプリセットキー−値ペアの1つのプリセット値に少なくとも部分的に基づいて解析される。いくつかの実施形態において、分類された1または複数のデータ要素は、スレーブサーバによって解析される。いくつかの実施形態において、解析の結果は、マスタサーバに送信される。いくつかの実施形態において、マスタサーバは、2以上のスレーブサーバから解析結果を収集する。いくつかの実施形態において、マスタサーバは、1または複数のスレーブサーバから収集した解析結果をマージする、および/または、収集した解析結果にさらなる解析を実行することができる。
例えば、プリセットキー−値ペア内で定義された(エイリアス定義を用いる)プリセットキーが「key=version,apiName,format」であり、定義されたプリセット値が「value=average($responseMappingTime$)」であると仮定する。スレーブサーバは、プリセットキーの定義に基づいて、データ要素「version」、「apiName」、および、「format」に対応する値が同じである取得済みの生データセットのサブセットを1つのグループに分類する。スレーブサーバは、プリセット値の定義に基づいて、グループ内のデータセットからデータ要素「responseMappingTime」に対応する値の平均値を見つける。
以下は、プリセットキー−値ペアの定義の例であり、各々のペアがプリセットキーおよび対応するプリセット値を含む:
<entryList>
<entry name="サービス名" key="version,apiName,format" value="plain($apiName$)"/>
<entry name="バージョン番号" key="version,apiName,format" value="plain($version$)"/>
<entry name="リターンフォーマット" key="version,apiName,format" value="plain($format$)"/>
<entry name="マッピング時間" key="version,apiName,format" value="average($responseMappingTime$)"/>
<entry name="最大マッピング時間" key="version,apiName,format" value="max($responseMappingTime$)"/>
<entry name="平均消費タスク時間(ms)" key="version,apiName,format" value="average ($timestamp9$)"/>
<entry name="処理総数" key="version,apiName,format" value="count()"/>
</entryList>
第1の例のプリセットキー−値ペアにおいて、プリセットキーの定義は、スレーブサーバが、「version」、「apiName」、および、「format」というデータ要素について同じ値を含む生データセットを1つのグループに分類することを示す。プリセット値の定義は、スレーブサーバが、グループに含まれる各データセットについてデータ要素「apiName」の値を表示することを示す。
第2の例のプリセットキー−値ペアにおいて、プリセットキーの定義は、スレーブサーバが、「version」、「apiName」、および、「format」というデータ要素について同じ値を含む生データセットを1つのグループに分類することを示す。プリセット値の定義は、スレーブサーバが、グループに含まれる各データセットについてデータ要素「version」の値を表示することを示す。
第3の例のキー−値ペアにおいて、プリセットキーの定義は、スレーブサーバが、「version」、「apiName」、および、「format」というデータ要素について同じ値を含む生データセットを1つのグループに分類することを示す。プリセット値の定義は、スレーブサーバが、グループに含まれる各データセットについてデータ要素「format」の値を表示することを示す。
第4の例のプリセットキー−値ペアにおいて、プリセットキーの定義は、スレーブサーバが、「version」、「apiName」、および、「format」というデータ要素について同じ値を含む生データセットを1つのグループに分類することを示す。プリセット値の定義は、スレーブサーバが、グループに含まれるデータセットについてデータ要素「responseMappingTime」に対応する値の平均値を計算することを示す。
第5の例のプリセットキー−値ペアにおいて、プリセットキーの定義は、スレーブサーバが、「version」、「apiName」、および、「format」というデータ要素について同じ値を含む生データセットを1つのグループに分類することを示す。プリセット値の定義は、スレーブサーバが、グループに含まれるデータセットについてデータ要素「responseMappingTime」に対応する値の最大値を計算することを示す。
第6の例のプリセットキー−値ペアにおいて、プリセットキーの定義は、スレーブサーバが、「version」、「apiName」、および、「format」というデータ要素について同じ値を含む生データセットを1つのグループに分類することを示す。プリセット値の定義は、スレーブサーバが、グループに含まれるデータセットについてデータ要素「timestamp9」に対応する値の平均値を計算することを示す。
第7の例のプリセットキー−値ペアにおいて、プリセットキーの定義は、スレーブサーバが、「version」、「apiName」、および、「format」というデータ要素について同じ値を含む生データセットを1つのグループに分類することを示す。プリセット値の定義は、スレーブサーバが、グループに含まれる分類済みの生データセットの数をカウントすることを示す。
さらに、上述の第7の例のキー−値ペアは、例えば、「サービス名」、「バージョン番号」、「リターンフォーマット」、「マッピング時間」、「最大マッピング時間」、「平均消費タスク時間(ms)」、および、「処理総数」など、解析結果の表示名(例えば、「エントリ名」)も示す。
以下は、上述のようにプリセットキー−値ペアを用いたデータ解析から返されたデータの一例である。
Figure 2013536492
上記の例において、第1行のデータ(例えば、「taobao.areas.get」で始まる行)は、データ要素「version」、「apiName」、および、「format」を含むプリセットキーに基づいて分類が行われることを示す。データセットは、(「apiName」、「version」、および、「return format」に対応する)「サービス名」、「バージョン番号」、および、「リターンフォーマット」が、それぞれ、「taobao.areas.get」、「1」、および、「xml」であるという事実に基づいて1つのグループに分類される。このグループに含まれるデータセットの処理総数(「count()」のプリセット値)は、15である。このグループのデータセットのマッピング時間および最大マッピング時間(「max($responseMappingTime$)」のプリセット値)は両方とも、0である。このグループに含まれる15のデータセットに費やされた平均タスク時間(「average($timestamp9$)」のプリセット値)は、88.73333msである。
いくつかの実施形態において、各スレーブサーバは、生データを解析および処理した後、解析データをマスタサーバに送信する。マスタサーバは、1または複数のスレーブサーバから受信した解析結果をマージする。いくつかの実施形態において、マスタサーバは、プリセットキー−値ペア内のプリセットキーの定義を用いて、複数のスレーブサーバから受信した解析結果を分類することができる(例えば、各スレーブサーバは、異なるリモートの物理的位置に配置されうる)。いくつかの実施形態では、次に、マスタサーバは、分類された解析結果をマージする。例えば、プリセットキー(例えば、マスタサーバのシステム管理者によって構成されたもの)は、マスタサーバが解析結果を分類および処理する方法を示すことができ、プリセット値(マスタサーバのシステム管理者によって構成されたもの)は、マスタサーバが解析結果をマージする方法を示すことができる。例えば、マスタサーバは、5つのスレーブサーバから合計10の解析結果を受信する。プリセットキーの定義を用いて、解析結果の内の7セットが1つのグループに分類され(7つのデータセットが、プリセットキー内で指定されたデータ要素に対応する値が同じであるため)、解析結果の内の他の3セットが第2のグループに分類されうる。したがって、マスタサーバは、プリセット値の定義を用いて、分類済みの解析結果の内の7セットを解析し、プリセット値の定義を用いて、分類済みの解析結果の内の3セットを解析することができる。
いくつかの実施形態において、上述の技術は、メインスレッドモジュールと1または複数の子スレッドモジュールとを備える設定(例えば、システム150)に適用可能である。かかる設定において、メインスレッドモジュールは、マスタサーバの機能を実現でき、子スレッドモジュールは、スレーブサーバの機能を実現できる。
図3は、データ解析のための処理の一実施形態を示すフローチャートである。処理300は、少なくとも、特定のデータが分類された後にそのデータをフィルタリングするさらなる技術を備える点で、処理200と異なる。いくつかの実施形態において、(例えば、データ解析システムの)管理者が、どのデータをフィルタアウトするのかを設定する。いくつかの実施形態において、処理300は、処理200の代わりに利用可能である。
この例において、工程301から304は、工程201から204に対応する。
工程301:解析対象のデータがマスタサーバから受信される。ここで、解析対象のデータは、1または複数のデータ識別子(ID)と、1または複数のプリセットされたキー−値ペアとを含んでおり、プリセットされた各キー−値ペアは、プリセットキーおよびプリセット値を含む。様々な実施形態において、解析対象のデータは、スレーブサーバで受信される。いくつかの実施形態において、データはファイルを含む。いくつかの実施形態において、プリセットキーは、スレーブサーバが、解析対象のデータを分類する方法を定義する。いくつかの実施形態において、プリセット値は、スレーブサーバが、分類されたデータを解析および処理する方法を定義する。
工程302:解析対象のデータが、少なくとも部分的にデータIDに基づいて取得される。いくつかの実施形態において、スレーブサーバは、受信されたデータIDに基づいてデータソースから解析対象の生データを取得する。いくつかの実施形態において、取得されたデータに含まれるデータ要素は、パーティションIDによって分離されている。
工程303:取得されたデータは、1または複数のデータ要素に分割される。いくつかの実施形態において、スレーブサーバは、取得した生データをパーティションIDに基づいてデータ要素に分割する。
工程304:1または複数のデータ要素は、1または複数のプリセットキー−値ペアの1つのプリセットキーに少なくとも部分的に基づいて分類される。
工程305:第1のプリセットフィルタ条件を満たさない1または複数の分類済みのデータ要素が放棄される。
例えば、プリセットキーに基づいて10のデータセットを分類した後、スレーブサーバは、データセットの内の7つを1つのグループに分類し、他の3つのデータセットを第2のグループに分類する。この例では、フィルタ条件は、(例えば管理者によって)設定されている。プリセットされたフィルタの存在により、フィルタ条件を満たさない第1のグループの7データセットの内の2つが、フィルタアウト(例えば、放棄)される。結果として、(フィルタ条件を満たすので放棄されない)残りの5つのデータセットが、プリセット値に基づいてスレーブサーバによって処理される。
例えば、第1のプリセットフィルタ条件は、所定の値よりも大きい、所定の値よりも小さい、所定の値と等しくない、所定の値以上である、または、所定の値以下である、などの条件式を含みうる。第1のフィルタ条件は、データセット内の1つの特定のデータ要素のための条件式を指定しうる。第1のフィルタ条件は、記載のものに限定されず、システムの管理者の受容に合わせて任意の形で実現されうる。
工程306:残った分類済みの1または複数のデータ要素が、1または複数のプリセットキー−値ペアの1つのプリセット値に少なくとも部分的に基づいて解析される。いくつかの実施形態において、分類された1または複数のデータ要素は、スレーブサーバによって解析される。いくつかの実施形態において、第2のプリセットフィルタ条件を満たさない解析結果の少なくともサブセットがフィルタアウト(例えば、放棄)される。いくつかの実施形態において、解析の結果は、マスタサーバに送信される。いくつかの実施形態において、マスタサーバは、2以上のスレーブサーバから解析結果を収集する。いくつかの実施形態において、マスタサーバは、1または複数のスレーブサーバから収集した解析結果をマージする、および/または、収集した解析結果にさらなる解析を実行することができる。
いくつかの実施形態では、ユーザが設定した条件を満たさない一部の解析結果も放棄される。例えば、システムの管理者は、第2のプリセットフィルタ条件を設定することが可能であり、第2のプリセットフィルタ条件は、解析結果に適用される。残った解析結果(第2のプリセットフィルタ条件を満たすので放棄されない解析結果)は、さらなる処理がある場合には、そのためにマスタサーバへ送信される。
例えば、第2のプリセットフィルタ条件は、所定の値よりも大きい、所定の値よりも小さい、所定の値と等しくない、所定の値以上である、または、所定の値以下である、などの条件式を含みうる。第2のプリセットフィルタ条件は、解析結果のセット内の1つの特定の要素のための条件式を指定しうる。第2のプリセットフィルタ条件は、記載のものに限定されず、システムの管理者の受容に合わせて任意の形で実現されうる。
いくつかの実施形態において、データに対して解析を実行することに加えて、必要に応じて、1つのデータセットおよび別のデータセットに対して比較解析を行って、いくつかの警告を生成することができる。比較解析の実行によって、大量のデータに関連するいくつかの問題を避けることができる。いくつかの実施形態において、マスタサーバは、1または複数のスレーブサーバから受信した解析結果をマージした後、最近マージされた結果と過去にマージされた結果との間の比較解析を実行し、警告条件が満たされた場合に比較解析の結果に基づいて警告信号を生成する。例えば、システム管理者は、自身の利用要件に基づいて様々な警告条件を設定してよい。
以下は、マスタサーバによって実行できる比較解析のいくつかの例である:
比較解析の一例は、今日マージされたデータを、前日のマージ済みのデータ(または、いくつかの実施形態では、今マージされる前日のデータ)と比較することを含む。例えば、警告条件は、今日マージされたデータが前日のマージ済みのデータよりも小さい場合に満たされる(そして、警告信号が生成される)。
比較解析の別の例は、今日マージされたデータを先週マージされたデータと比較することを含む。例えば、警告条件は、今日マージされたデータと先週マージされたデータとの間の比較に基づきうる。
比較解析の別の例は、今日マージされたデータを先月マージされたデータと比較することを含む。例えば、警告条件は、今日マージされたデータと先月マージされたデータとの間の比較に基づきうる。
比較解析の別の例は、今日マージされたデータを、規定された日にマージされたデータと比較することを含む。例えば、警告条件は、今日マージされたデータと規定された日にマージされたデータとの間の比較に基づきうる。
ここに記載した比較解析は、例にすぎない。任意の他の形態の比較解析が用いられてもよい。
いくつかの実施形態において、処理300について上述した技術は、メインスレッドモジュールと1または複数の子スレッドモジュールとを備える設定(例えば、システム150)に適用可能である。かかる設定において、メインスレッドモジュールは、マスタサーバの機能を実現でき、子スレッドモジュールは、スレーブサーバの機能を実現できる。例えば、子スレッドモジュールは、プリセットキーに基づいて取得済みの生データを分類した後、第1のプリセットフィルタ条件を満たさないデータをフィルタアウトすることができる。次いで、子スレッドモジュールは、プリセット値に基づいて、(フィルタアウトされていない)残りのデータを解析できる。いくつかの実施形態において、子スレッドモジュールは、さらに、第2のプリセットフィルタ条件を解析結果に適用して、条件を満たさない結果をフィルタアウト(例えば、放棄)することができる。第2のプリセットフィルタ条件を満たす解析結果(放棄されない解析結果)は、必要に応じて、さらなる処理に向けてメインスレッドモジュールに送信される。メインスレッドモジュールは、受信した解析結果をマージした後、マージした結果といくつかの過去のマージ済み結果との間の比較解析を実行して、比較解析結果に基づいて警告信号を生成できる。
図4は、マスタサーバと少なくとも1つのスレーブサーバとを備えるデータ解析システムにおけるスレーブサーバの一実施形態を示す図である。この例において、スレーブサーバ400は、第1のファイル受信モジュール402と、第1のデータ取得モジュール402と、第1のデータ分割モジュール406と、第1のデータ分類モジュール408と、データ計算モジュール410とを備える。
これらのモジュールは、1または複数のプロセッサ上で実行されるソフトウェアコンポーネントとして、特定の機能を実行するよう設計されたプログラム可能論理デバイスおよび/または特定用途向け集積回路などのハードウェアとして、もしくは、それらの組み合わせとして実装することができる。いくつかの実施形態において、モジュールは、コンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワーク装置など)に本発明の実施形態に記載された方法を実行させるための複数の命令など、不揮発性記憶媒体(光学ディスク、フラッシュ記憶装置、携帯用ハードディスクなど)に格納することができるソフトウェア製品の形態で具現化されてよい。モジュールは、単一のデバイス上に実装されてもよいし、複数のデバイスにわたって分散されてもよい。
第1のファイル受信モジュール402は、マスタサーバによって送信された解析対象のデータ(例えば、ファイル)を受信するよう構成されている。いくつかの実施形態において、解析対象のデータは、1または複数のデータ識別子(ID)と、1または複数のプリセットキー−値ペアとを含む。
第1のデータ取得モジュール404は、受信されたデータIDに基づいて、データソースから解析対象の生データを取得するよう構成されている。いくつかの実施形態において、取得されたデータに含まれるデータ要素は、パーティションIDによって分離されている。
第1のデータ分割モジュール406は、取得されたデータを1または複数のデータ要素に分割するよう構成されている。いくつかの実施形態において、分割は、パーティションIDに基づいて行われる。
第1のデータ分類モジュール408は、取得された生データをプリセットキーに基づいて分類するよう構成されている。
第1のデータ計算モジュール410は、分類された生データをプリセット値に基づいて解析するよう構成されている。いくつかの実施形態において、第1のデータ計算モジュール410は、さらに、解析結果をマスタサーバに送信するよう構成されている。
図5は、マスタサーバと少なくとも1つのスレーブサーバとを備えるデータ解析システムにおけるスレーブサーバの一実施形態を示す図である。この例において、スレーブサーバ500は、第1のフィルタモジュール409が追加されていることを除いて、スレーブサーバ400と同様である。
第1のフィルタモジュール409は、第1のプリセットフィルタ条件を満たさない分類済みの生データをフィルタアウト(例えば、放棄)するよう構成されている。この例において、第1のデータ計算モジュール410は、プリセットキーに基づいて、残った分類済みの生データ(例えば、第1のプリセットフィルタ条件を満たすので放棄されないデータ)を解析するよう構成されている。いくつかの実施形態において、第1のデータ計算モジュール410は、さらに、解析結果をマスタサーバに送信するよう構成されている。
図6は、マスタサーバと少なくとも1つのスレーブサーバとを備えるデータ解析システムにおけるスレーブサーバの一実施形態を示す図である。この例において、スレーブサーバ600は、第2のフィルタモジュール412が追加されていることを除いて、スレーブサーバ400と同様である。
第2のフィルタモジュール412は、第2のプリセットフィルタ条件を満たさない解析結果をフィルタアウト(例えば、放棄)するよう構成されている。いくつかの実施形態において、第1のデータ計算モジュール410は、残った解析結果(例えば、第2のプリセットフィルタ条件を満たすので放棄されない解析結果)をマスタサーバに送信するよう構成されている。
図7は、メインスレッドモジュールと1または複数の子スレッドモジュールとを備えるシステムにおける子スレッドモジュールの一実施形態を示す図である。この例において、子スレッドモジュール700は、第2のファイル受信モジュール702と、第1のデータ取得モジュール704と、第1のデータ分割モジュール706と、第1のデータ分類モジュール708と、データ計算モジュール710とを備える。いくつかの実施形態において、子スレッドモジュールに関連するモジュールは、1つのデバイス上に実装される。上述のように、いくつかの実施形態において、メインスレッドモジュールは、マスタサーバの機能を実行でき、各子スレッドモジュールは、スレーブサーバの機能を実行できる。
第2のファイル受信モジュール702は、メインスレッドモジュールによって送信された解析対象のデータ(例えば、ファイル)を受信するよう構成されている。いくつかの実施形態において、解析対象のデータは、1または複数のデータ識別子(ID)と、1または複数のプリセットキー−値ペアとを含む。
第2のデータ取得モジュール704は、受信されたデータIDに基づいて、データソースから解析対象の生データを取得するよう構成されている。いくつかの実施形態において、取得されたデータに含まれるデータ要素は、パーティションIDによって分離されている。
第2のデータ分割モジュール706は、取得されたデータを1または複数のデータ要素に分割するよう構成されている。いくつかの実施形態において、分割は、パーティションIDに基づいて行われる。
第2のデータ分類モジュール708は、取得された生データをプリセットキーに基づいて分類するよう構成されている。
第2のデータ計算モジュール710は、分類された生データをプリセット値に基づいて解析するよう構成されている。いくつかの実施形態において、第1のデータ計算モジュール410は、さらに、解析結果をメインスレッドモジュールに送信するよう構成されている。
いくつかの実施形態において、子スレッドモジュール700は、さらに、分類済みの生データから、第1のプリセットフィルタ条件を満たさない分類済みの生データをフィルタアウトするよう構成された第3のフィルタモジュールを備える。第3のフィルタモジュールが子スレッドモジュール700に備えられる場合、第2のデータ計算モジュール710は、残った分類済みの生データ(プリセットフィルタ条件を満たすのでフィルタアウトされないデータ)をプリセット値に基づいて解析するよう構成されている。
いくつかの実施形態において、子スレッドモジュール700は、さらに、第2のプリセットフィルタ条件を満たさない解析結果をフィルタアウトするよう構成された第4のフィルタモジュールを備える。第4のフィルタモジュールが子スレッドモジュール700に備えられる場合、第2のデータ計算モジュール710は、残った解析結果(第2のプリセットフィルタ条件を満たすのでフィルタアウトされない解析結果)をメインスレッドモジュールに送信するよう構成されている。
当業者が上述の実施形態の方法に含まれる処理の全部または一部を実施する方法を理解できることを説明する必要がある。当業者は、かかる処理を実行するよう関連のハードウェアに命令するコンピュータプログラムを利用することができる。それらのプログラムは、コンピュータの読み取り可能な記憶媒体に格納できる。プログラムは、実行時に、上述したすべての方法の実施形態を含みうる。上述の記憶媒体は、磁気ディスク、光学ディスク、読み出し専用メモリ(ROM)、または、ランダムアクセスメモリ(RAM)であってよい。
以上、本願によって提供されるデータ解析方法、システム、および、サーバについて、詳細に説明した。本明細書は、具体的な実施形態を用いて、本願の実施例の原理および形態を説明している。上記の実施形態の説明は、単に、本願の方法およびその中心概念の理解を助けるよう意図されたものである。さらに、当業者は、本願の概念に基づいて、具体的な応用例および応用例の範囲に対して修正を加えることができる。要するに、本記載の内容は、本願を限定するものとして理解されるべきではない。
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。

Claims (21)

  1. データ解析の方法であって、
    1または複数のデータ識別子(ID)と、各々がプリセットキーおよびプリセット値を含む1または複数のプリセットキー−値ペアと、を含む解析対象のデータを受信する工程と、
    前記データIDに少なくとも部分的に基づいて、解析対象のデータを取得する工程と、
    前記取得されたデータを1または複数のデータ要素に分割する工程と、
    前記1または複数のプリセットキー−値ペアの1つのプリセットキーに少なくとも部分的に基づいて、前記1または複数のデータ要素を分類する工程と、
    前記1または複数のプリセットキー−値ペアの1つのプリセット値に少なくとも部分的に基づいて、前記分類済みの1または複数のデータ要素を解析する工程と、
    を備える、方法。
  2. 請求項1に記載の方法であって、前記プリセットキーは、少なくとも部分的に、前記解析対象のデータの分類方法を示す、方法。
  3. 請求項1に記載の方法であって、前記プリセット値は、少なくとも部分的に、分類済みのデータの解析方法を示す、方法。
  4. 請求項1に記載の方法であって、前記データIDは、前記解析対象のデータに関連する記憶装置におけるデータアドレス情報を示す、方法。
  5. 請求項1に記載の方法であって、前記取得されたデータは、1または複数のデータ要素を含み、データ要素はパーティションIDによって別のデータ要素から分離されている、方法。
  6. 請求項5に記載の方法であって、前記パーティションIDは、カンマ、セミコロン、および、コロンの内の1または複数を含む、方法。
  7. 請求項1に記載の方法であって、前記取得されたデータを1または複数のデータ要素に分割する工程は、1または複数のパーティションIDに少なくとも部分的に基づく、方法。
  8. 請求項1に記載の方法であって、前記取得されたデータは、1または複数のデータセットを含み、前記1または複数のデータセットの各々は、1または複数のデータ要素を含む、方法。
  9. 請求項1に記載の方法であって、さらに、第1のプリセットフィルタ条件を満たさない1または複数の分類済みのデータ要素を放棄する工程を備える、方法。
  10. 請求項1に記載の方法であって、前記残った分類済みの1または複数のデータ要素を解析する工程は、1または複数の解析結果を生成し、第2のプリセットフィルタ条件を満たさない前記1または複数の解析結果セットの内の少なくとも1つを放棄する、方法。
  11. 請求項1に記載の方法であって、前記プリセットキーは、データ要素に関連付けられたエイリアスに対応する、方法。
  12. 請求項1に記載の方法であって、前記解析対象のデータは、マスタサーバから受信される、方法。
  13. 請求項1に記載の方法であって、前記解析対象のデータは、メインスレッドモジュールから受信される、方法。
  14. データ解析のためのシステムであって、
    解析対象のデータを少なくとも1つのスレーブサーバに送信し、前記少なくとも1つのスレーブサーバから解析結果を受信するように構成されている第1のプロセッサを備えるマスタサーバと、
    1または複数のデータ識別子(ID)と、各々がプリセットキーおよびプリセット値を含む1または複数のプリセットキー−値ペアとを含む解析対象のデータを前記マスタサーバから受信し、前記データIDに少なくとも部分的に基づいて、解析対象のデータを取得し、前記取得されたデータを1または複数のデータ要素に分割し、前記1または複数のプリセットキー−値ペアの1つのプリセットキーに少なくとも部分的に基づいて、前記1または複数のデータ要素を分類し、前記1または複数のプリセットキー−値ペアの1つのプリセット値に少なくとも部分的に基づいて、前記分類された1または複数のデータ要素を解析するように構成されている第2のプロセッサを備えるスレーブサーバと、
    前記第1のプロセッサに接続され、前記第1のプロセッサに命令を提供するよう構成されている第1のメモリと、
    前記第2のプロセッサに接続され、前記第2のプロセッサに命令を提供するよう構成されている第2のメモリと、
    を備える、システム。
  15. 請求項14に記載のシステムであって、前記プリセットキーは、少なくとも部分的に、前記解析対象のデータの分類方法を示す、システム。
  16. 請求項14に記載のシステムであって、前記プリセット値は、少なくとも部分的に、分類されたデータの解析方法を示す、システム。
  17. 請求項14に記載のシステムであって、前記取得されたデータは、1または複数のデータセットを含み、前記1または複数のデータセットの各々は、1または複数のデータ要素を含む、システム。
  18. 請求項14に記載のシステムであって、前記第2のプロセッサは、さらに、第1のプリセットフィルタ条件を満たさない1または複数の分類済みのデータ要素を放棄するよう構成されている、システム。
  19. 請求項14に記載のシステムであって、前記残った分類済みの1または複数のデータ要素を解析するよう構成されている前記第2のプロセッサは、1または複数の解析結果を生成し、第2のプリセットフィルタ条件を満たさない前記1または複数の解析結果セットの内の少なくとも1つを放棄するよう構成されていることを含む、システム。
  20. 請求項19に記載のシステムであって、前記第2プロセッサは、さらに、少なくとも1つの解析結果セットを前記マスタサーバに送信するよう構成されている、システム。
  21. データ解析のためのコンピュータプログラム製品であって、コンピュータ読み取り可能な媒体内に具現化され、
    1または複数のデータ識別子(ID)と、各々がプリセットキーおよびプリセット値を含む1または複数のプリセットキー−値ペアとを含む解析対象のデータを受信するためのコンピュータ命令と、
    前記データIDに少なくとも部分的に基づいて、解析対象のデータを取得するためのコンピュータ命令と、
    前記取得されたデータを1または複数のデータ要素に分割するためのコンピュータ命令と、
    前記1または複数のプリセットキー−値ペアの1つのプリセットキーに少なくとも部分的に基づいて、前記1または複数のデータ要素を分類するためのコンピュータ命令と、
    前記1または複数のプリセットキー−値ペアの1つのプリセット値に少なくとも部分的に基づいて、前記分類済みの1または複数のデータ要素を解析するためのコンピュータ命令と、
    を備える、コンピュータプログラム製品。
JP2013518377A 2010-07-07 2011-07-06 複数のシステムを用いたデータ解析 Active JP5635691B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201010222602.3A CN102314460B (zh) 2010-07-07 2010-07-07 数据分析方法、系统及服务器
CN201010222602.3 2010-07-07
US13/135,407 US9442979B2 (en) 2010-07-07 2011-07-05 Data analysis using multiple systems
US13/135,407 2011-07-05
PCT/US2011/001186 WO2012005765A1 (en) 2010-07-07 2011-07-06 Data analysis using multiple systems

Publications (3)

Publication Number Publication Date
JP2013536492A true JP2013536492A (ja) 2013-09-19
JP2013536492A5 JP2013536492A5 (ja) 2014-03-06
JP5635691B2 JP5635691B2 (ja) 2014-12-03

Family

ID=45427638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013518377A Active JP5635691B2 (ja) 2010-07-07 2011-07-06 複数のシステムを用いたデータ解析

Country Status (6)

Country Link
US (2) US9442979B2 (ja)
EP (1) EP2591421A4 (ja)
JP (1) JP5635691B2 (ja)
CN (1) CN102314460B (ja)
HK (1) HK1161923A1 (ja)
WO (1) WO2012005765A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102638456B (zh) * 2012-03-19 2015-09-23 杭州海康威视数字技术股份有限公司 基于云计算的海量实时视频码流智能分析方法及其系统
CN103942210B (zh) * 2013-01-21 2018-05-04 中国移动通信集团上海有限公司 海量日志信息的处理方法、装置与系统
CN103970738B (zh) * 2013-01-24 2017-08-29 华为技术有限公司 一种产生数据的方法和装置
CN103823846A (zh) * 2014-01-28 2014-05-28 浙江大学 一种基于图论的大数据存储及查询方法
CN103793513B (zh) * 2014-02-10 2017-04-05 济南大学 基于邻近海量数据快速分析的电信套餐优化系统与方法
CN104462287B (zh) * 2014-11-27 2018-10-12 华为技术服务有限公司 一种数据处理的方法、装置及系统
CN105843803B (zh) * 2015-01-12 2019-04-12 上海悦程信息技术有限公司 大数据安全可视化交互分析系统及方法
CN104679884B (zh) * 2015-03-16 2018-04-10 北京奇虎科技有限公司 数据库的数据分析方法、装置以及系统
US10282455B2 (en) 2015-04-20 2019-05-07 Splunk Inc. Display of data ingestion information based on counting generated events
US10817544B2 (en) * 2015-04-20 2020-10-27 Splunk Inc. Scaling available storage based on counting generated events
CN105760492B (zh) * 2016-02-18 2019-10-15 广东睿江云计算股份有限公司 数据分析方法及装置
CN107203960B (zh) * 2016-06-30 2021-03-09 北京新媒传信科技有限公司 图像渲染方法及装置
CN106250406A (zh) * 2016-07-21 2016-12-21 柳州龙辉科技有限公司 一种日志处理方法
CN106250405A (zh) * 2016-07-21 2016-12-21 柳州龙辉科技有限公司 一种海量信息处理系统
CN106250287A (zh) * 2016-07-21 2016-12-21 柳州龙辉科技有限公司 一种日志信息处理装置
CN106227644A (zh) * 2016-07-21 2016-12-14 柳州龙辉科技有限公司 一种海量信息处理装置
CN106227797A (zh) * 2016-07-21 2016-12-14 柳州龙辉科技有限公司 一种海量日志信息的处理方法
CN107959703B (zh) * 2016-10-18 2021-04-16 网宿科技股份有限公司 数据处理方法、客户端及分布式计算系统
CN107526926A (zh) * 2017-08-09 2017-12-29 沈阳东软医疗系统有限公司 一种图像体数据分割标识处理方法、装置及设备
CN109726581B (zh) * 2017-10-31 2020-04-14 阿里巴巴集团控股有限公司 一种数据统计方法和装置
CN109408214A (zh) * 2018-11-06 2019-03-01 北京字节跳动网络技术有限公司 一种数据的并行处理方法、装置、电子设备及可读介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH052610A (ja) * 1991-06-25 1993-01-08 Mitsubishi Electric Corp リレーシヨナルデータベースにおける集約演算処理方式
JPH07302267A (ja) * 1994-03-09 1995-11-14 Nippon Telegr & Teleph Corp <Ntt> 情報検索装置、情報検索方法及び知識獲得システム
JP2001109718A (ja) * 1999-10-06 2001-04-20 Yamatake Building Systems Co Ltd 情報閲覧システム
WO2001067303A1 (en) * 2000-02-28 2001-09-13 Hyperroll Israel Ltd. Multi-dimensional database and integrated aggregation server
US20050119988A1 (en) * 2003-12-02 2005-06-02 Vineet Buch Complex computation across heterogenous computer systems

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802511A (en) 1996-01-02 1998-09-01 Timeline, Inc. Data retrieval method and apparatus with multiple source capability
CN1163821C (zh) * 1995-12-30 2004-08-25 时代线路股份有限公司 具有多个源容量的数据检索方法和装置
CA2199108C (en) 1996-03-05 2002-04-23 Hirotoshi Maegawa Parallel distributed processing system and method of same
US6714979B1 (en) * 1997-09-26 2004-03-30 Worldcom, Inc. Data warehousing infrastructure for web based reporting tool
US7805388B2 (en) 1998-05-01 2010-09-28 Health Discovery Corporation Method for feature selection in a support vector machine using feature ranking
US6882990B1 (en) * 1999-05-01 2005-04-19 Biowulf Technologies, Llc Methods of identifying biological patterns using multiple data sets
US7047232B1 (en) 1999-01-13 2006-05-16 Ab Initio Software Corporation Parallelizing applications of script-driven tools
US6408292B1 (en) 1999-08-04 2002-06-18 Hyperroll, Israel, Ltd. Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions
NZ507121A (en) * 2000-09-22 2003-08-29 Compudigm Int Ltd Data visualization parameters specified in query for data from database
US6704733B2 (en) * 2000-10-25 2004-03-09 Lightning Source, Inc. Distributing electronic books over a computer network
US7076482B2 (en) * 2001-10-25 2006-07-11 Bea Systems, Inc. Multi-part looked-up table fields and its use in data processing operations involving multiple tables of a relational database
PL374305A1 (en) * 2001-12-28 2005-10-03 Jeffrey James Jonas Real time data warehousing
US8577795B2 (en) * 2002-10-10 2013-11-05 Convergys Information Management Group, Inc. System and method for revenue and authorization management
US8121978B2 (en) * 2002-11-15 2012-02-21 Sybase, Inc. Database system providing improved methods for data replication
US8620937B2 (en) * 2002-12-27 2013-12-31 International Business Machines Corporation Real time data warehousing
US7610306B2 (en) * 2003-06-30 2009-10-27 International Business Machines Corporation Multi-modal fusion in content-based retrieval
US7143112B2 (en) * 2003-09-10 2006-11-28 Hitachi, Ltd. Method and apparatus for data integration
US7797333B1 (en) * 2004-06-11 2010-09-14 Seisint, Inc. System and method for returning results of a query from one or more slave nodes to one or more master nodes of a database system
US7650331B1 (en) * 2004-06-18 2010-01-19 Google Inc. System and method for efficient large-scale data processing
US7937344B2 (en) * 2005-07-25 2011-05-03 Splunk Inc. Machine data web
US7571151B1 (en) 2005-12-15 2009-08-04 Gneiss Software, Inc. Data analysis tool for analyzing data stored in multiple text files
US7624118B2 (en) 2006-07-26 2009-11-24 Microsoft Corporation Data processing over very large databases
US8190610B2 (en) * 2006-10-05 2012-05-29 Yahoo! Inc. MapReduce for distributed database processing
US7627551B2 (en) * 2007-01-23 2009-12-01 Gm Global Technology Operations, Inc. Retrieving case-based reasoning information from archive records
US7970872B2 (en) 2007-10-01 2011-06-28 Accenture Global Services Limited Infrastructure for parallel programming of clusters of machines
EP2063364A1 (en) * 2007-11-19 2009-05-27 Siemens Aktiengesellschaft Module for building database queries
JP5408442B2 (ja) 2010-01-21 2014-02-05 株式会社日立製作所 並列分散処理方法、及び、計算機システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH052610A (ja) * 1991-06-25 1993-01-08 Mitsubishi Electric Corp リレーシヨナルデータベースにおける集約演算処理方式
JPH07302267A (ja) * 1994-03-09 1995-11-14 Nippon Telegr & Teleph Corp <Ntt> 情報検索装置、情報検索方法及び知識獲得システム
JP2001109718A (ja) * 1999-10-06 2001-04-20 Yamatake Building Systems Co Ltd 情報閲覧システム
WO2001067303A1 (en) * 2000-02-28 2001-09-13 Hyperroll Israel Ltd. Multi-dimensional database and integrated aggregation server
US20050119988A1 (en) * 2003-12-02 2005-06-02 Vineet Buch Complex computation across heterogenous computer systems
JP2007513426A (ja) * 2003-12-02 2007-05-24 オラクル・インターナショナル・コーポレイション 異種コンピュータシステムにわたる複雑計算

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNB201200906001; 太田 一樹 他: Hadoop徹底入門 初版, 20110127, pp.19,20,124-130,166-174., 株式会社翔泳社 *
JPN6014023208; 太田 一樹 他: Hadoop徹底入門 初版, 20110127, pp.19,20,124-130,166-174., 株式会社翔泳社 *

Also Published As

Publication number Publication date
EP2591421A4 (en) 2017-12-06
US20170039214A1 (en) 2017-02-09
EP2591421A1 (en) 2013-05-15
US20120011121A1 (en) 2012-01-12
CN102314460A (zh) 2012-01-11
JP5635691B2 (ja) 2014-12-03
US9442979B2 (en) 2016-09-13
CN102314460B (zh) 2014-05-14
WO2012005765A1 (en) 2012-01-12
HK1161923A1 (en) 2012-08-10

Similar Documents

Publication Publication Date Title
JP5635691B2 (ja) 複数のシステムを用いたデータ解析
US10331642B2 (en) Data storage method and apparatus
JP6148732B2 (ja) データインデックス化方法及び装置
US11113317B2 (en) Generating parsing rules for log messages
CN111160021A (zh) 日志模板提取方法及装置
US20160328445A1 (en) Data Query Method and Apparatus
CN112612832A (zh) 节点分析方法、装置、设备及存储介质
CN110781211B (zh) 一种数据的解析方法及装置
CN113128213A (zh) 日志模板提取方法及装置
CN109635074B (zh) 一种基于舆情信息的实体关系分析方法及终端设备
US11836034B2 (en) Determining probable root cause of performance issues
CN111209284A (zh) 基于元数据的分表方法及装置
WO2013153620A1 (ja) データ処理システム及びデータ処理方法
CN114428789B (zh) 数据的处理方法及装置
WO2023185377A1 (zh) 一种多粒度数据模式挖掘方法及相关设备
CN114417085B (zh) 数据处理方法、装置、设备及存储介质
JP6397105B2 (ja) データを記憶する方法及び装置
KR102104496B1 (ko) 데이터 검색 방법 및 장치
KR20160064569A (ko) 맵리듀스를 이용한 sql 질의처리방법
CN116028519A (zh) 一种数据筛选方法、装置、电子设备及可读存储介质
CN117390023A (zh) 数据合计方法、数据合计装置、设备及存储介质
CN113901074A (zh) 即席查询的异常确定方法、装置、电子设备及介质
CN117196717A (zh) 一种广告投放效果分析方法、系统、设备及介质
CN114691685A (zh) 一种基于数据湖的数据关联方法及装置
JP2015097025A (ja) プロフィール語抽出装置、プロフィール語抽出方法およびプロフィール語抽出プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140828

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141016

R150 Certificate of patent or registration of utility model

Ref document number: 5635691

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250