JP2021103583A - ターゲットデータの取得方法、ターゲットデータの取得装置、電子機器、非一時的なコンピュータ可読記憶媒体およびコンピュータプログラム - Google Patents

ターゲットデータの取得方法、ターゲットデータの取得装置、電子機器、非一時的なコンピュータ可読記憶媒体およびコンピュータプログラム Download PDF

Info

Publication number
JP2021103583A
JP2021103583A JP2021055892A JP2021055892A JP2021103583A JP 2021103583 A JP2021103583 A JP 2021103583A JP 2021055892 A JP2021055892 A JP 2021055892A JP 2021055892 A JP2021055892 A JP 2021055892A JP 2021103583 A JP2021103583 A JP 2021103583A
Authority
JP
Japan
Prior art keywords
data
target data
structured
client
sql
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
JP2021055892A
Other languages
English (en)
Other versions
JP7146007B2 (ja
Inventor
勇 肖
Yong Xiao
勇 肖
立国 段
Liguo Duan
立国 段
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 JP2021103583A publication Critical patent/JP2021103583A/ja
Application granted granted Critical
Publication of JP7146007B2 publication Critical patent/JP7146007B2/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/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
    • 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/242Query formulation
    • G06F16/2433Query languages
    • 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/2465Query processing support for facilitating data mining operations in structured databases
    • 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/25Integrating or interfacing systems involving database management 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/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2448Query languages for particular applications; for extensibility, e.g. user defined types
    • 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
    • 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/24522Translation of natural language queries to structured 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/2452Query translation
    • G06F16/24526Internal representations for 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/2455Query execution
    • 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/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

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

Abstract

【課題】クラウドサーバによって消耗されるネットワークリソースを低減するターゲットデータの取得方法と装置を提供する。【解決手段】ターゲットデータの取得方法であって、クラウドサーバは、クライアントから送信された取得しようとするターゲットデータを示す構造化クエリ言語SQLクエリステートメントを受信すると、直接にすべてのデータをクライアントに送信するのではなく、まずSQLクエリステートメントに対応する抽象的構造構文ツリーを生成し、抽象的構造構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリング処理してターゲットデータを取得し、クライアントにターゲットデータを送信する。【選択図】図1

Description

本願の実施例はデータ処理技術におけるクラウド計算技術分野に関し、特に、ターゲットデータの取得方法及び装置に関する。
データ量の爆発的増加に伴い、企業には大きなデータ記憶圧力がもたらされている。クラウドコンピューティング技術の普及によって、データストレージをクラウド化することが主流の選択となっている。クラウドストレージは企業のために安全で信頼性が高く、大規模で高拡張、データフォールトなストレージサービスを提供し、コストを低減する。
従来技術では、企業はクラウドに記憶されているいくつかのデータ、例えばログファイルに対してビッグデータ分析しようとする場合、オブジェクトが記憶されているゲットオブジェクト(GetObject)インターフェースを通じて、クラウドに記憶されているすべてのデータをクラウドサーバに要求するしかない。クラウドサーバは、要求されたデータを、すべてネットワークリソースを通じて企業端末に送信し、企業端末はすべてのデータを取得した後、人工的に検索して、すべてのデータから分析しようとするデータをフィルタリングする。
しなしながら、上記のような方法を採用すると、ネットワークリソースを介してすべてのデータを企業端末に送信する必要があるため、大量のネットワークリソースが消耗される。
本願の実施例はターゲットデータの取得方法と装置を提供し、ネットワークリソースの消耗を低減する。
第1の態様では、本願の実施例はターゲットデータの取得方法を提供し、クラウドサーバに適用し、当該ターゲットデータの取得方法は、クライアントから送信された取得しようとするターゲットデータを示す構造化クエリ言語SQLクエリステートメントを受信すると、前記SQLクエリステートメントに対して解析処理して、前記SQLクエリステートメントに対応する抽象的構造構文ツリーを生成することと、前記抽象的構造構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリング処理して、前記ターゲットデータを得ることと、前記クライアントに前記ターゲットデータを送信することと、を含んでもよい。
第2の態様では、本願の実施例はターゲットデータの取得装置を提供し、クラウドサーバに適用し、当該ターゲットデータの取得装置は、クライアントから送信された取得しようとするターゲットデータを示す構造化クエリ言語SQLクエリステートメントを受信すると、前記SQLクエリステートメントに対して解析処理して、前記SQLクエリステートメントに対応する抽象的構造構文ツリーを生成するための解析モジュールと、前記抽象的構造構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリング処理して、前記ターゲットデータを得るためのフィルタリングモジュールと、前記クライアントに前記ターゲットデータを送信するための送信モジュールと、を含んでもよい。
第3の態様では、本願の実施例はさらに電子機器を提供し、当該電子機器は、少なくとも1つのプロセッサ、および前記少なくとも1つのプロセッサと通信可能に接続されたメモリを含んでもよく、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行されることにより、前記少なくとも1つのプロセッサが上記の第1の態様のターゲットデータの取得方法を実行することができるようになる。
第4の態様では、本願の実施例はさらにコンピュータ命令を記憶している非一時的なコンピュータ可読記憶媒体を提供し、前記コンピュータ命令は、コンピュータに上記の第1の態様のターゲットデータの取得方法を実行させるためのものである。
第5の態様では、本願の実施例はさらにコンピュータプログラムを提供し、前記コンピュータプログラムは、コンピュータ可読記憶媒体に記憶され、電子機器の少なくとも1つのプロセッサは、前記コンピュータ可読記憶媒体から前記コンピュータプログラムを読み取ることができ、前記少なくとも1つのプロセッサは、前記コンピュータプログラムを実行することによって、前記電子機器に上記の第1の態様のターゲットデータの取得方法を実行させる。
本願の技術的解決手段によると、クラウドサーバは、クライアントから送信された取得しようとするターゲットデータを示す構造化クエリ言語SQLクエリステートメントを受信すると、直接にすべてのデータをクライアントに送信するのではなく、まずSQLクエリステートメントに対応する抽象的構造構文ツリーを生成し、抽象的構造構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリング処理してターゲットデータを得、クライアントにターゲットデータを送信し、従来技術では、すべてのデータをクライアントに送信することに比べて、送信するデータ量を効果的に低減し、それによりクラウドサーバによって消耗されるネットワークリソースを低減する。また、クライアントにとっては、従来技術では、すべてのデータをクライアントにダウンロードしなければならないことに比べて、ダウンロードデータ量を効果的に低減し、クライアントによって消耗されるネットワークリソースも低減することができる。
なお、この部分に記載されている内容は、本願の実施例の肝心な又は重要な特徴を特定することを意図しておらず、本願の範囲を限定するものでもない。本願の他の特徴は、以下の説明を通じて容易に理解される。
図面は、本解決手段をよりよく理解するためのものであり、本願に対する限定を構成するものではない。
本願の第1の実施例に係るターゲットデータの取得方法のフローチャートである。 本願の第2の実施例に係るターゲットデータの取得方法のフローチャートである。 本願の第3の実施例に係るターゲットデータの取得方法のフレーム模式図である。 本願の第4の実施例に係るターゲットデータの取得装置の構造模式図である。 本願の実施例に係るターゲットデータの取得方法の電子機器のブロック図である。
以下、図面を組み合わせて本願の例示的な実施例を説明する。理解を容易にするためにその中には本願の実施例の様々な詳細事項が含まれており、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本願の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができる。同様に、わかりやすくかつ簡潔にするために、以下の説明では、周知の機能及び構造の説明を省略する。
本願の実施例において、「少なくとも1つ」は1つ以上を意味し、「複数」は2つ以上を意味する。「および/または」は、関連オブジェクトの関連関係を記述し、3つの関係が存在し得ることを示し、例えば、Aおよび/またはBは、Aが単独で存在すること、AとBが存在すること、Bが単独で存在することを表すことができ、ここで、A、Bは一つまたは複数であってもよい。本願のテキスト記述では、文字「/」は、一般に、前後の関連オブジェクトが「または」の関係であることを示す。
本願の実施例で提供されるターゲットデータの取得方法は、クラウド計算技術分野または他の技術分野における構造化クエリ言語(Structured Query Language、SQL)データクエリシーンに適用されてもよい。ここで、SQLは特別な目的のプログラミング言語であり、データベースクエリとプログラム設計言語であり、データのアクセスおよび関係データベースシステムをクリエ、更新、管理するために使用される。従来技術では、企業はクラウドに記憶されているいくつかのデータ、例えばログファイルに対してビッグデータ分析しようとする場合、オブジェクトが記憶されているゲットオブジェクト(GetObject)インターフェースを通じて、グラウトに記憶されているすべてのデータをクラウドサーバに要求するしかない。クラウドサーバは、データクリエ要求を受信した後、要求されたデータを、すべてネットワークリソースを通じて企業端末に送信し、対応的に、企業端末はネットワークリソースを通じてクラウドサーバから送信されたすべてのデータローカルにダウンロードし、すべてのデーアを取得した後、上記人工的検索のより、すべてのデータから分析しようとするデータをフィルタリングする必要がある。しなしながら、上記のような方法を採用すると、ネットワークリソースを介してすべてのデータを企業端末に送信する必要があるため、大量のネットワークリソースが消耗される。
従来技術では、クラウドに記憶されているいくつかのデータ、例えばログファイルを大きく分析するには、オブジェクトが記憶しているゲットオブジェクトインターフェースを通じてクラウドサーバに対して、クラウドサーバがデータクエリを受信した後、要求したすべてのデータを、すべてネットワークリソースを通じて企業端末に送信し、対応する。企業端末は、ネットワークリソースを通じてクラウドサーバから送られたすべてのデータをローカルにダウンロードし、すべてのデータを取得した後、人工的に検索する方式で、分析が必要なデータをすべてのデータからフィルタする必要がある。ただし、上記のような方法を採用すると、ネットワークリソースを介してすべてのデータを企業端末に送信する必要があるため、大量のネットワークリソースが必要となる。
ネットワークリソースの消耗は主にクラウドサーバから送られるデータ量が多いことが原因であり、したがって、消耗されるネットワークリソースを低減するために、クラウドサーバから送信すべきデータ量を減らすことを考慮することができる。このような技術発想に基づいて、思い出しやすい技術的解決手段は、企業の職員がクラウドサーバのアカウントにログインし、直接にクラウドサーバですべてのデータを確認し、人工的に検索して、すべてのデータから分析しようとするデータをフィルタリングする。しかしながら、このような方式を採用すると、消耗されるネットワークリソースを低減することはできるが、依然として人工的に検索することによりすべてのデータから分析しようとするデータをフィルタリングしなければならないため、データの取得効率が低い。
上記の説明に基づいて、消耗されるネットワークリソースを低減するために、クラウドサーバにおけるSQLパーサーは、クライアントから送信されたSQLクエリステートメントを受信した後、セレクトオブジェクトインターフェース(SelectObject)を介してデータフィルタリング操作をオブジェクト記憶サービス層に沈め、データ検索の代替を実現し、クライアントにおいて必要なデータだけを返すことができ、それにより、ネットワークリソースを節約することができ、また、クラウドサーバにおける記憶層ノードのメモリや中央プロセッサ(Central Processing Unit、CPU)などの計算リソースを十分に利用することができる。このようなアイデアに基づいて、本願の実施例はターゲットデータの取得方法を提供し、当該ターゲットデータの取得方法は、具体的には、クラウドサーバは、クライアントから送信された取得しようとするターゲットデータを示す構造化クエリ言語SQLクエリステートメントを受信すると、直接にすべてのデータをクライアントに送信するのではなく、まずSQLクエリステートメントに対して解析処理し、SQLクエリステートメントに対応する抽象的構造構文ツリーを生成し、抽象的構造構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリング処理してターゲットデータを得、クライアントにターゲットデータを送信する。
このように、本願の実施例で提供されるターゲットデータの取得方法は、クライアントから送信された取得しようとするターゲットデータを示す構造化クエリ言語SQLクエリステートメントを受信したとき、直接にすべてのデータをクライアントに送信するのではなく、まずSQLクエリステートメントに対応する抽象的構造構文ツリーを生成し、抽象的構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリングすることによりターゲットデータを取得してから、クライアントにターゲットデータを送信し、従来技術では、すべてのデータをクライアントに送信することに比べて、送信するデータ量を効果的に低減し、それによりクラウドサーバによって消耗されるネットワークリソースを低減する。また、クライアントにとっては、従来技術では、すべてのデータをクライアントにダウンロードしなければならないことに比べて、ダウンロードデータ量を効果的に低減し、クライアントによって消耗されるネットワークリソースも低減することができる。
本願の実施例で提供される技術的解決手段を詳細に説明する前に、本願の実施例における抽象的構文ツリーの概念に対して説明する。抽象的構文ツリー(abstract syntax tree、AST)は、構文ツリー(syntax tree)とも呼ばれ、ソースコードの抽象的文法構造のツリー表現形態であって、ここでは、プログラミング言語のソースコードを指す。抽象的構文ツリーでは、ツリー上の各ノードはソースコードのうちの構造を表している。
抽象的構文ツリーの概念を紹介した後、以下では、本願に係るターゲットデータの取得方法を具体的な実施例により詳細に説明する。以下のいくつかの具体的な実施例は、互いに結合してもよく、同じまたは同様の概念またはプロセスは、いくつかの実施例では繰り返して説明しないことが理解できる。
実施例1
図1は、本願の第1の実施例に係るターゲットデータの取得方法のフローチャートであり、当該ターゲットデータの取得方法は、ソフトウェア及び/またはハードウェア装置によって実行されてもよく、例えば、当該ハードウェア装置はターゲットデータの取得装置であってもよく、当該ターゲットデータの取得装置はクラウドサーバであってもよい。例えば、図1に示すように、当該ターゲットデータの取得方法は以下を含んでもよい。
ステップS101では、クライアントから送信された取得しようとするターゲットデータを示す構造化クエリ言語SQLクエリステートメントを受信すると、SQLクエリステートメントに対して解析処理し、SQLクエリステートメントに対応する抽象的構造構文ツリーを生成する。
例示的に、クラウドサーバは、クライアントから送信された構造化クエリ言語SQLクエリステートメントを受信するとき、クライアントから送信されたデータクエリ要求メッセージを受信することができ、当該データクエリ要求メッセージはSQLクエリステートメントを含むことができ、それにより、SQLクエリステートメントを取得し、当該SQLクエリステートメントはクライアントが取得しようとするターゲットデータを示す。
クラウドサーバは、SQLクエリステートメントを取得した後、そのSQLパーサーは標準SQL構文ルールをサポートする必要があるだけでなく、ビジネスシーンに応じてカスタムキーワードと文法をサポートする。ここで、語法パーサーは1バイトのスキャナーを使って実現され、一般的なFROM、WHERE、IN、BETWEENなどをサポートするので、クラウドサーバのSQLパーサーはまずSQLクエリステートメントに対して品詞分析してSQLクエリステートメントに対応する文字列リストを得ることができ、SQLの文法規則に従って文字列リストに対して変換処理し、抽象的構文ツリーを得ることができる。さらに、当該抽象的構文ツリーの階層構造は、柔軟なデータ構造によって表すことができ、文法の完全性と計算結果の正確性はある程度保障される。
クラウドサーバのSQLパーサーは、SQLクエリステートメントに対応する抽象的構造構文ツリーを生成した後、当該SQLクエリステートメントに対応する抽象的構造構文ツリーをクラウドサーバにおけるデータ選択器に送信して、データ選択器に以下のS102を実行させることができる。
ステップS102では、抽象的構造構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリング処理してターゲットデータを得る。
クラウドサーバのデータ選択器は、SQLクエリステートメントに対応する抽象的構造構文ツリーを受信した後、当該抽象的構造構文ツリーに基づいて、クライアントがクラウドに記憶したすべてのデータに対してフィルタリング処理して、クライアントに必要なターゲットデータを取得し、当該ターゲットデータをクライアントに送信することができる。即ち、以下のステップS103を実行する。
本願の実施例では、クライアントがクラウドサーバにデータを要求するとき、クラウドサーバは、直接にすべてのデータをクライアントに送信するのではなく、生成した抽象的構造構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリング処理し、フィルタリングで選択されたターゲットデータのみをクライアントに送信するためである。従来技術では、すべてのデータをクライアントに送信することに比べて、送信するデータ量を効果的に低減し、それによりクラウドサーバによって消耗されるネットワークリソースを低減する。また、クライアントにとっては、従来技術では、すべてのデータをクライアントにダウンロードしなければならないことに比べて、ダウンロードデータ量を効果的に低減し、クライアントによって消耗されるネットワークリソースも低減することができる。
ステップS103では、クライアントにターゲットデータを送信する。
例示的に、上記したステップS101の説明と結合すると、クラウドサーバがクライアントから送信されたデータ要求メッセージを介してSQLクエリステートメントを取得するとき、対応的に、クラウドサーバは、フィルタリングによってクライアントに必要なターゲットデータを取得した後、データ応答メッセージを介してクライアントにターゲットデータを送信することができ、当該ターゲットデータは、データ応答メッセージに携帯されてクライアントに送信されて、クライアントに当該ターゲットデータを取得させることができる。例えば、データ応答メッセージは、レコードメッセージであってもよく、コンテンニューメッセージであってもよく、もちろん、エンドメッセージなどであってもよい。
以上から分かるように、本願の実施例では、クラウドサーバは、クライアントから送信された取得しようとするターゲットデータを示す構造化クエリ言語SQLクエリステートメントを受信すると、直接にすべてのデータをクライアントに送信するのではなく、まずSQLクエリステートメントに対応する抽象的構造構文ツリーを生成し、抽象的構造構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリング処理してターゲットデータを得、クライアントにターゲットデータを送信し、従来技術では、すべてのデータをクライアントに送信することに比べて、送信するデータ量を効果的に低減し、それによりクラウドサーバによって消耗されるネットワークリソースを低減する。また、クライアントにとっては、従来技術では、すべてのデータをクライアントにダウンロードしなければならないことに比べて、ダウンロードデータ量を効果的に低減し、クライアントによって消耗されるネットワークリソースも低減することができる。
上記図1に示す実施例に基づいて、上記ステップS102で、抽象的構造構文ツリーに従って保存されている全てのデータに対して、いかにしてフィルタリング処理してターゲットデータを得るかを容易に理解できるように、以下では実施例2を介して、いかにして抽象的構造構文ツリーに従って保存されているすべてのデータに対してフィルタリング処理して、ターゲットデータを取得するかを詳細に説明する。
実施例2
図2は、本願の第2の実施例に係るターゲットデータの取得方法のフローチャートであり、当該ターゲットデータの取得方法は同様にソフトウェア及び/またはハードウェア装置によって実行されてもよく、例えば、当該ハードウェア装置はターゲットデータの取得装置であってもよく、当該ターゲットデータの取得装置はクラウドサーバであってもよい。例えば、図2に示すように、当該ターゲットデータの取得方法は以下を含んでもよい。
ステップS201では、保存されているすべてのデータに対して解析処理し、すべてのデータに対応する構造化データを得る。
クラウドサーバにおけるデータ選択器は、抽象的構造構文ツリーに従って保存されているすべてのデータに対してフィルタリング処理し、ターゲットデータを得る前に、まずクラウドサーバにおけるデータリーダを介してバックエンドからスライス(slice)あたり4Mサイズを粒度にして、クライアントによりクラウドに保存されたすべてのデータを読み取り、当該すべてのデータはCSV(Comma−Separated Values)とJSON(JavaScript Object Notation)の2種類の構造化ファイルデータを含むことができ、読み取ったすべてのデータをクラウドサーバのデータパーサーに送信、データパーサーはすべてのデータを受信した後、すべてのデータに対して解析処理して、すべてのデータの対応する構造化データを得ることができる。例えば、データリーダーはJSONリーダーであってもよく、CSVリーダーであってもよく、もちろん、パクエスト(parquest)リーダーであってもよい。
例示的に、すべてのデータがJSONタイプの構造化ファイルデータを含む場合、データパーサーは、自社開発のJSONストリーミング解析フィルタを介して、ストリーミング方式でオブジェクトの各スライスを順次スキャンし、グローバルスキャン状態を維持し、データのスライス間の処理、データの切断などの複雑なシーンを処理し、JSONオブジェクトから指定されたキーパスのデータを選択することを保証する。本願の実施例では、LINEとDOCの2つの形態のJSONの処理をサポートすることだけでなく、ネストされたオブジェクト、ネストされたアレイを含むJSONファイルから所定のキーデータを抽出することもサポートすることが理解できる。また、CSVタイプの構造化ファイルデータを含むデータがある場合は、異なる要求パラメータに従ってデータを列ごとに分割して対応する構造化データを得ることもできる。
クラウドサーバのデータパーサーは、解析によりすべてのデータに対応する構造化データを得た後、クラウドサーバのデータ選択器に当該構造化データを送信して、データ選択器に下記のステップS202を実行させることができる。
ステップS202では、抽象的構造構文ツリーに基づいて、SQLにおけるソース、条件、フィールド、制限の順序に従って、構造化データに対して計算し、構造化データに対応する計算結果を得る。
例えば、クラウドサーバにおけるデータ選択器は、SQLにおけるソース、条件、フィールド、制限の順序に従って、構造化データに対して計算し、構造化データに対応する計算結果を得たとき、構造化データに対応するタイプが同じ場合、SQLにおけるソース、条件、フィールド、制限の順序に従って構造化データに対して計算し、構造化データに対応する計算結果を得ることができる。対照的に、構造化データに対応するタイプが異なると、異なるデータタイプに対してタイプの整列または強制的アップコンバートが必要となる。例えば、構造化データに対応するタイプに対して統一化処理して、処理後の構造化データを得ることができ、構造化データの種類を一致させた後、SQLにおけるソース、条件、フィールド、制限の順序に従って、処理後の構造化データに対して計算することで、後続の計算結果の正確性がある程度保証されるだけでなく、データアグリゲーション操作の処理及び浮動小数点の処理が不正確な問題は、一定の精度内で近似するしかない。
例示的に、クラウドサーバにおけるデータ選択器は、抽象的構造構文ツリーに基づいて、SQLにおけるソース、条件、フィールド、制限の順序に従って、構造化データに対して計算し、構造化データに対応する計算結果を得るとき、抽象的構造構文ツリーASTに基づいてデータに対して計算やフィルタリングし、ソース(SOURCE)−>条件(CONDITION)−>フィールド(FIEDS)−>制限(LIMIT)のSQLステートメントの実行順序にしたがって、具体的なCSVとJSONファイルのデータを読み取り、抽象構造構文ツリーのデータ構造を解析することによってベクトル計算を行い、コンディションツリーに対する後順巡回により、構造化データに対応する計算結果を計算する。
SQLにおけるソース、条件、フィールド、制限の順序に従って、構造化データに対して計算し、構造化データに対応する計算結果を得た後、当該計算結果に対してフィルタリングすることができ、それによりクライアントが取得しようとするターゲットデータを得ることができる。即ち、下記のステップS203を実行する。
ステップS203では、計算結果に対してフィルタリングし、ターゲットデータを得る。
このことから分かるように、本願の実施例では、クラウドサーバに対して、クライアントから送信されたSQLクエリ要求を受信した後、クライアントによってクラウドに保存されたすべてのデータをクライアントに直接送信するのではなく、まず抽象的構造構文ツリーを生成することにより、SQLにおけるソース、条件、フィールド、制限の順序に従って、構造化データに対して計算し、構造化データに対応する計算結果を得、計算結果に対してフィルタリングしてターゲットデータを得る。すなわち、本願の実施例では、オブジェクト記憶データのフィルタリングを記憶サービス層に統合することにより、クラウドサーバがデータを送信する際に消耗するネットワークリソースを低減するだけでなく、クライアントがデータをダウンロードするネットワーク帯域幅と遅延を低減することもでき、クライアントがフィルタデータを消耗するCPUやメモリなどのリソースを節約することができ、それにより、クライアントがクラウドに保存されたデータにアクセスするために必要なアプリケーションのコストを低減する。
本願の実施例で提供されるターゲットデータの取得方法を容易に理解するように、以下の具体的な実施例3を介して、本願の実施例に係るターゲットデータの取得方法を詳細に説明する。
実施例3
図3は、本願の第3の実施例に係るターゲットデータの取得方法のフレーム模式図である。例示的に、図3に示すように、企業がクラウドに記憶されているデータの一部、例えばターゲットデータを分析したい場合、クライアントを介してクラウドサーバにデータ要求メッセージを送信することができ、当該データ要求メッセージには、取得しようとするターゲットデータを示すSQLクエリステートメントが含まれており、対応的に、クラウドサーバは、当該SQLクエリステートメントを受信した後、クラウドサーバのSQLパーサーで、まずSQLクエリステートメントに品詞分析して、SQLクエリステートメントに対応する文字列リストを取得し、SQLの構文ルールに従って文字列リストに対して変換処理し、抽象的構造構文ツリーを得て、生成した抽象的構造構文ツリーをデータ選択器に送信し、クラウドサーバのデータリーダーはバックエンドからスライスあたり4Mサイズの粒度でクライアントによりクラウドに保存されたすべてのデータを読み取り、読み取ったすべてのデータをクラウドサーバのデータパーサーに送信する。データパーサーはすべてのデータを受信した後、すべてのデータに対して解析処理し、すべてのデータの対応する構造化データを得ることができる。当該構造化データはクラウドサーバのデータ選択器に送信され、データ選択器は、抽象的構造構文ツリーASTに基づいてデータに対して計算し、フィルタリングする。ソース(SOURCE)−>条件(CONDITION)−>フィールド(FIEDS)−>制限(LIMIT)のSQLステートメントの実行順序にしたがって、具体的なCSVとJSONファイルデータを読み取り、抽象構造構文ツリーのデータ構造を解析することによってベクトル計算を行い、コンディションツリーに対する後順巡回により、構造化データに対応する計算結果を計算し、当該計算結果に対してフィルタリングして、クライアントが取得しようとするターゲットデータを得、データ応答メッセージをクライアントに送信し、当該データ応答メッセージはターゲットデータを含み、それにより、クライアントがターゲットデータを取得する。従来技術では、すべてのデータをクライアントに送信することに比べて、送信するデータ量を効果的に低減し、それによりクラウドサーバによって消耗されるネットワークリソースを低減する。また、クライアントにとっては、従来技術では、すべてのデータをクライアントにダウンロードしなければならないことに比べて、ダウンロードデータ量を効果的に低減し、クライアントによって消耗されるネットワークリソースも低減することができる。
実施例4
図4は、本願の第4の実施例に係るターゲットデータの取得装置の構造模式図であり、クラウドサーバに適用し、例えば、図4に示すように、当該ターゲットデータの取得装置40は、クライアントから送信された取得しようとするターゲットデータを示す構造化クエリ言語SQLクエリステートメントを受信すると、SQLクエリステートメントに対して解析処理し、SQLクエリステートメントに対応する抽象的構造構文ツリーを生成するための解析モジュール401と、抽象的構造構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリング処理し、ターゲットデータを得るためのフィルタリングモジュール402と、クライアントにターゲットデータを送信するための送信モジュール403と、を含んでもよい。
選択的に、解析モジュール401は、さらに、保存されているすべてのデータに対して解析処理し、すべてのデータに対応する構造化データを得ることに用いられる。
フィルタリングモジュール402は、具体的に、抽象的構造構文ツリーに基づいて、構造化データに対してフィルタリングし、ターゲットデータを得ることに用いられる。
選択的に、フィルタリングモジュール402は、具体的に、抽象的構造構文ツリーに基づいて、SQLにおけるソース、条件、フィールド、制限の順序に従って、構造化データに対して計算し、構造化データに対応する計算結果を得ることと、計算結果に対してフィルタリングして、ターゲットデータを得ることとに用いられる。
選択的に、フィルタリングモジュール402は、具体的に、上記構造化データに対応するタイプに対して統一化処理して、処理後の構造化データを得ることと、SQLにおけるソース、条件、フィールド、制限の順序に従って、上記処理後の構造化データに対して計算することとに用いられる。
選択的に、解析モジュール401は、具体的に、上記SQLクエリステートメントに対して品詞分析して、上記SQLクエリステートメントに対応する文字列リストを得ることと、SQL構文ルールに基づいて、上記文字列リストに対して変換処理して、抽象的構造構文ツリーを得ることとに用いられる。
選択的に、当該ターゲットデータの取得装置40は受信モジュール404をさらに含む。
受信モジュール404は、クライアントから送信されたデータクエリ要求メッセージを受信することに用いられ、データクエリ要求メッセージにはSQLクエリステートメントが含まれている。
本願の実施例で提供されるターゲットデータの取得装置40は、上記のいずれかの実施例におけるターゲットデータの取得方法の技術的解決手段を実行でき、その原理及び効果は、ターゲットデータの取得方法の実現原理及び効果と同様であり、ターゲットデータの取得方法の実現原理及び効果を参照してもよく、ここでは説明を省略する。
本願の実施例によって、本願は電子機器と可読記憶媒体をさらに提供する。
本願の実施例により、コンピュータプログラムをさらに提供し、当該コンピュータプログラムは、コンピュータ可読記憶媒体に記憶され、電子機器の少なくとも1つのプロセッサは、コンピュータ可読記憶媒体からコンピュータプログラムを読み取ることができ、少なくとも1つのプロセッサは、コンピュータプログラムを実行することによって、電子機器に上記実施例に記載の方法を実行させる。
図5に示すように、図5は本願の実施例に係るターゲットデータの取得方法の電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタルアシスタント、携帯電話、スマートフォン、ウェアラブルデバイス、他の類似するコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本願の実現を制限することを意図したものではない。
図5に示すように、該電子機器は、1つ又は複数のプロセッサ501と、メモリ502と、高速インタフェース及び低速インタフェースを含む各コンポーネントを接続するためのインタフェースと、を含む。各コンポーネントは、異なるバスで相互に接続され、共通のマザーボードに取り付けられるか、又は必要に応じて他の方式で取り付けることができる。プロセッサは、電子機器内で実行される命令を処理することができ、該命令は、外部入力/出力装置(例えば、インタフェースに結合されたディスプレイデバイスなど)にGUIの図形情報をディスプレイするためにメモリ内又はメモリに記憶されている命令を含む。他の実施方式では、必要に応じて、複数のプロセッサ及び/又は複数のバスを、複数のメモリと一緒に使用することができる。同様に、複数の電子機器を接続することができ、各機器は、一部の必要な操作(例えば、サーバアレイ、1グループのブレードサーバ、又はマルチプロセッサシステムとする)を提供することができる。図5では、1つのプロセッサ501を例とする。
メモリ502は、本願により提供される非一時的なコンピュータ読取可能な記憶媒体である。その中で、当該メモリには、少なくとも1つのプロセッサによって実行可能な命令が記憶され、当該少なくとも1つのプロセッサが本願により提供されるターケットデータの取得方法を実行するようにする。本願の非一時的なコンピュータ読取可能な記憶媒体には、コンピュータに本願により提供されるターケットデータの取得方法を実行させるためのコンピュータ命令が記憶されている。
メモリ502は、非一時的なコンピュータ読取可能な記憶媒体として、本願の実施例におけるターケットデータの取得方法に対応するプログラム命令/モジュール(例えば、図4に示す解析モジュール401、フィルタリングモジュール402、送信モジュール403、および受信モジュール404)のような、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュールを記憶する。プロセッサ501は、メモリ502に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することによって、サーバの様々な機能アプリケーション及びデータ処理を実行し、すなわち上記の方法の実施例におけるターケットデータの取得方法を実現する。
メモリ502は、ストレージプログラムエリアとストレージデータエリアとを含むことができ、その中で、ストレージプログラムエリアは、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、ストレージデータエリアは、ターケットデータの取得方法の電子機器の使用によって作成されたデータなどを記憶することができる。また、メモリ502は、高速ランダムアクセスメモリを含むことができ、非一時的なメモリをさらに含むことができ、例えば、少なくとも1つの磁気ディスクストレージデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートストレージデバイスである。いくつかの実施例では、メモリ502は、プロセッサ501に対して遠隔に設定されたメモリを選択的に含むことができ、これらの遠隔メモリは、ネットワークを介してターケットデータの取得方法の電子機器に接続されることができる。上記のネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びその組み合わせを含むが、これらに限定されない。
ターゲットデータの取得方法の電子機器は、入力装置503と出力装置504とをさらに含むことができる。プロセッサ501、メモリ502、入力装置503、及び出力装置504は、バス又は他の方式を介して接続することができ、図5では、バスを介して接続することを例とする。
入力装置503は、入力された数字又は文字情報を受信し、ターケットデータの取得方法の電子機器のユーザ設定及び機能制御に関するキー信号入力を生成することができ、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、1つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置504は、ディスプレイデバイス、補助照明装置(例えば、LED)、及び触覚フィードバックデバイス(例えば、振動モータ)などを含むことができる。該ディスプレイデバイスは、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、及びプラズマディスプレイを含むことができるが、これらに限定されない。いくつかの実施形態で、ディスプレイデバイスは、タッチスクリーンであってもよい。
本明細書で説明されるシステムと技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施され、該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈されることができ、該プログラマブルプロセッサは、専用又は汎用のプログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を該ストレージシステム、該少なくとも1つの入力装置、及び該少なくとも1つの出力装置に伝送することができる。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含むことができ、高レベルのプロセス及び/又は対象指向プログラミング言語、及び/又はアセンブリ/機械言語でこれらのコンピュータプログラムを実施することができる。本明細書に使用されるような、「機械読取可能な媒体」及び「コンピュータ読取可能な媒体」の用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械読取可能な信号である機械命令を受信する機械読取可能な媒体を含む。「機械読取可能な信号」の用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号を指す。
ユーザとのインタラクションを提供するために、コンピュータ上で、ここで説明されているシステム及び技術を実施することができ、該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、該キーボード及び該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形態(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータであり、ユーザは、該グラフィカルユーザインタフェース又は該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションする)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットとを含む。
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、かつ互いにクライアント−サーバの関係を有するコンピュータプログラムによって、クライアントとサーバとの関係が生成される。
本願の技術実施例の技術手段によると、クラウドサーバは、クライアントから送信された取得しようとするターゲットデータを示す構造化クエリ言語SQLクエリステートメントを受信すると、直接にすべてのデータをクライアントに送信するのではなく、まずSQLクエリステートメントに対応する抽象的構造構文ツリーを生成し、抽象的構造構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリング処理してターゲットデータを得、クライアントにターゲットデータを送信し、従来技術では、すべてのデータをクライアントに送信することに比べて、送信するデータ量を効果的に低減し、それによりクラウドサーバによって消耗されるネットワークリソースを低減する。また、クライアントにとっては、従来技術では、すべてのデータをクライアントにダウンロードしなければならないことに比べて、ダウンロードデータ量を効果的に低減し、クライアントによって消耗されるネットワークリソースも低減することができる。
上記に示される様々な形態のフローを使用して、ステップを並べ替え、追加、又は削除することができる。例えば、本願に記載されている各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本願で開示されている技術案が所望の結果を実現することができれば、本明細書では限定しない。
上記の具体的な実施方式は、本願の保護範囲を制限するものではない。当業者は、設計要件と他の要因に基づいて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。本願の精神と原則内で行われる任意の修正、同等の置換、及び改善などは、いずれも本願の保護範囲内に含まれるべきである。

Claims (15)

  1. クラウドサーバに適用するターゲットデータの取得方法であって、
    クライアントから送信された取得しようとするターゲットデータを示す構造化クエリ言語SQLクエリステートメントを受信すると、前記SQLクエリステートメントに対して解析処理して、前記SQLクエリステートメントに対応する抽象的構造構文ツリーを生成することと、
    前記抽象的構造構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリング処理して、前記ターゲットデータを得ることと、
    前記クライアントに前記ターゲットデータを送信することと、を含む、ターゲットデータの取得方法。
  2. 前記抽象的構造構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリング処理して、前記ターゲットデータを得ることは、
    前記保存されているすべてのデータに対して解析処理して、前記保存されているすべてのデータに対応する構造化データを得ることと、
    前記抽象的構造構文ツリーに基づいて、前記構造化データに対してフィルタリングして、前記ターゲットデータを得ることと、を含む、請求項1に記載のターゲットデータの取得方法。
  3. 前記抽象的構造構文ツリーに基づいて、前記構造化データに対してフィルタリングして、前記ターゲットデータを得ることは、
    前記抽象的構造構文ツリーに基づいて、SQLにおけるソース、条件、フィールド、制限の順序に従って、前記構造化データに対して計算し、前記構造化データに対応する計算結果を得ることと、
    前記計算結果に対してフィルタリングして、前記ターゲットデータを得ることと、を含む、請求項2に記載のターゲットデータの取得方法。
  4. 前記構造化データに対応するタイプが異なり、前記SQLにおけるソース、条件、フィールド、制限の順序に従って、前記構造化データに対して計算することは、
    前記構造化データに対応するタイプに対して統一化処理して、処理後の構造化データを得ることと、
    SQLにおけるソース、条件、フィールド、制限の順序に従って、前記処理後の構造化データに対して計算することと、を含む、請求項3に記載のターゲットデータの取得方法。
  5. 前記SQLクエリステートメントに対して解析処理して、前記SQLクエリステートメントに対応する抽象的構造構文ツリーを生成することは、
    前記SQLクエリステートメントに対して品詞分析して、前記SQLクエリステートメントに対応する文字列リストを得ることと、
    SQLの文法規則に基づいて、前記文字列リストに対して変換処理して、前記抽象的構造構文ツリーを得ることと、を含む、請求項1〜請求項4のいずれか1項に記載のターゲットデータの取得方法。
  6. クライアントから送信されたデータクエリ要求メッセージを受信することであって、前記データクエリ要求メッセージには前記SQLクエリステートメントが含まれていることをさらに含む、請求項1〜請求項4のいずれか1項に記載のターゲットデータの取得方法。
  7. クラウドサーバに適用するターゲットデータの取得装置であって、
    クライアントから送信された取得しようとするターゲットデータを示す構造化クエリ言語SQLクエリステートメントを受信すると、前記SQLクエリステートメントに対して解析処理して、前記SQLクエリステートメントに対応する抽象的構造構文ツリーを生成するための解析モジュールと、
    前記抽象的構造構文ツリーに基づいて、保存されているすべてのデータに対してフィルタリング処理して、前記ターゲットデータを得るためのフィルタリングモジュールと、
    前記クライアントに前記ターゲットデータを送信するための送信モジュールと、を含む、ターゲットデータの取得装置。
  8. 前記解析モジュールは、さらに、前記保存されているすべてのデータに対して解析処理して、前記保存されているすべてのデータに対応する構造化データを得ることに用いられ、
    前記フィルタリングモジュールは、前記抽象的構造構文ツリーに基づいて、前記構造化データに対してフィルタリングして、前記ターゲットデータを得ることに用いられる、請求項7に記載のターゲットデータの取得装置。
  9. 前記フィルタリングモジュールは、前記抽象的構造構文ツリーに基づいて、SQLにおけるソース、条件、フィールド、制限の順序に従って、前記構造化データに対して計算して、前記構造化データに対応する計算結果を得ることと、前記計算結果に対してフィルタリングして前記ターゲットデータを得ることとに用いられる、請求項8に記載のターゲットデータの取得装置。
  10. 前記フィルタリングモジュールは、前記構造化データに対応するタイプに対して統一化処理して、処理後の構造化データを得ることと、SQLにおけるソース、条件、フィールド、制限の順序に従って、前記処理後の構造化データに対して計算することとに用いられる、請求項9に記載のターゲットデータの取得装置。
  11. 前記解析モジュールは、前記SQLクエリステートメントに対して品詞分析して、前記SQLクエリステートメントに対応する文字列リストを得ることと、SQLの文法規則に基づいて、前記文字列リストに対して変換処理して、前記抽象的構造構文ツリーを得ることとに用いられる、請求項7〜請求項10のいずれか1項に記載のターゲットデータの取得装置。
  12. 前記ターゲットデータの取得装置は受信モジュールをさらに含み、
    前記受信モジュールは、クライアントから送信されたデータクエリ要求メッセージを受信することに用いられ、前記データクエリ要求メッセージには前記SQLクエリステートメントが含まれている、請求項7〜請求項10のいずれか1項に記載のターゲットデータの取得装置。
  13. 少なくとも1つのプロセッサ、および
    前記少なくとも1つのプロセッサと通信可能に接続されるメモリを含み、
    前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行されることにより、前記少なくとも1つのプロセッサが請求項1〜請求項6のいずれか1項に記載のターゲットデータの取得方法を実行することができる、電子機器。
  14. コンピュータ命令を記憶している非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ命令は、コンピュータに請求項1〜請求項6のいずれか1項に記載のターゲットデータの取得方法を実行させるためのものである、非一時的なコンピュータ可読記憶媒体。
  15. コンピュータプログラムであって、前記コンピュータプログラムがプロセッサで実行されると、コンピュータに請求項1〜請求項6のいずれか1項に記載のターゲットデータの取得方法を実行させる、コンピュータプログラム。
JP2021055892A 2020-09-04 2021-03-29 ターゲットデータの取得方法、ターゲットデータの取得装置、電子機器、非一時的なコンピュータ可読記憶媒体およびコンピュータプログラム Active JP7146007B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010921506.1A CN112069201A (zh) 2020-09-04 2020-09-04 目标数据的获取方法和装置
CN202010921506.1 2020-09-04

Publications (2)

Publication Number Publication Date
JP2021103583A true JP2021103583A (ja) 2021-07-15
JP7146007B2 JP7146007B2 (ja) 2022-10-03

Family

ID=73665722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021055892A Active JP7146007B2 (ja) 2020-09-04 2021-03-29 ターゲットデータの取得方法、ターゲットデータの取得装置、電子機器、非一時的なコンピュータ可読記憶媒体およびコンピュータプログラム

Country Status (5)

Country Link
US (1) US20210191934A1 (ja)
EP (1) EP3816815A1 (ja)
JP (1) JP7146007B2 (ja)
KR (1) KR20210037627A (ja)
CN (1) CN112069201A (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076134A (zh) * 2021-04-08 2021-07-06 广州虎牙科技有限公司 一种api变更监测方法、系统、客户端、及电子设备
CN113312373A (zh) * 2021-05-12 2021-08-27 上海哲锦信息科技有限公司 一种数据结构化查询语句的解析方法及设备
CN113434572A (zh) * 2021-06-24 2021-09-24 中国工商银行股份有限公司 数据查询方法、查询系统、设备、存储介质及程序产品
CN113553340A (zh) * 2021-07-23 2021-10-26 咪咕文化科技有限公司 用户查询方法、装置、电子设备及计算机可读存储介质
CN113609154B (zh) * 2021-08-06 2023-08-29 网易(杭州)网络有限公司 一种数据查询方法、装置、电子设备和存储介质
CN114219446A (zh) * 2021-12-17 2022-03-22 中国建设银行股份有限公司 信息处理方法、装置、设备及介质
CN114519582A (zh) * 2022-02-21 2022-05-20 中国邮政储蓄银行股份有限公司 服务的预热方法、预热装置和服务系统
CN114756573B (zh) * 2022-06-16 2022-10-04 恒生电子股份有限公司 数据处理方法、装置及系统
CN115481448B (zh) * 2022-09-16 2023-06-20 昆仑数智科技有限责任公司 数据获取方法、装置、服务器及存储介质
CN115545791B (zh) * 2022-10-19 2024-06-25 中电金信软件有限公司 一种客群画像生成方法、装置、电子设备及存储介质
CN115826928B (zh) * 2022-12-20 2024-03-22 东方邦信金融科技(上海)有限公司 程序生成方法、系统、电子设备及计算机可读存储介质
CN117349332B (zh) * 2023-12-06 2024-03-01 宁波港信息通信有限公司 一种应用程序编程接口api的生成方法、装置和电子设备
CN117931847B (zh) * 2024-03-22 2024-06-18 恒生电子股份有限公司 数据处理系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012252594A (ja) * 2011-06-03 2012-12-20 Fujitsu Ltd 名寄せ規則生成方法、装置、およびプログラム
JP2016519810A (ja) * 2013-03-15 2016-07-07 アマゾン・テクノロジーズ・インコーポレーテッド 半構造データのためのスケーラブルな分析プラットフォーム
US20170060910A1 (en) * 2015-08-27 2017-03-02 Infosys Limited System and method of generating platform-agnostic abstract syntax tree
JP2020013223A (ja) * 2018-07-13 2020-01-23 オムロン株式会社 制御システム、検索装置および検索プログラム
JP2020518069A (ja) * 2017-04-25 2020-06-18 マーレックス ソシエテ パール アクシオン サンプリフィエ テンポラル−リレーショナルデータベースを有するリレーショナルデータベース管理システムにおけるクエリプランの生成および実行

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9734237B2 (en) * 2012-10-08 2017-08-15 Bmc Software, Inc. Progressive analysis for big data
CN109144994B (zh) * 2017-06-19 2022-04-29 华为技术有限公司 索引更新方法、系统及相关装置
CN108460090A (zh) * 2018-01-25 2018-08-28 联动优势科技有限公司 一种数据处理方法和应用服务器
CN110032575A (zh) * 2019-04-15 2019-07-19 网易(杭州)网络有限公司 数据查询方法、装置、设备和存储介质
CN110309196A (zh) * 2019-05-22 2019-10-08 深圳壹账通智能科技有限公司 区块链数据存储和查询方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012252594A (ja) * 2011-06-03 2012-12-20 Fujitsu Ltd 名寄せ規則生成方法、装置、およびプログラム
JP2016519810A (ja) * 2013-03-15 2016-07-07 アマゾン・テクノロジーズ・インコーポレーテッド 半構造データのためのスケーラブルな分析プラットフォーム
US20170060910A1 (en) * 2015-08-27 2017-03-02 Infosys Limited System and method of generating platform-agnostic abstract syntax tree
JP2020518069A (ja) * 2017-04-25 2020-06-18 マーレックス ソシエテ パール アクシオン サンプリフィエ テンポラル−リレーショナルデータベースを有するリレーショナルデータベース管理システムにおけるクエリプランの生成および実行
JP2020013223A (ja) * 2018-07-13 2020-01-23 オムロン株式会社 制御システム、検索装置および検索プログラム

Also Published As

Publication number Publication date
JP7146007B2 (ja) 2022-10-03
CN112069201A (zh) 2020-12-11
US20210191934A1 (en) 2021-06-24
EP3816815A1 (en) 2021-05-05
KR20210037627A (ko) 2021-04-06

Similar Documents

Publication Publication Date Title
JP2021103583A (ja) ターゲットデータの取得方法、ターゲットデータの取得装置、電子機器、非一時的なコンピュータ可読記憶媒体およびコンピュータプログラム
CN108519914B (zh) 大数据计算方法、系统和计算机设备
JP7194162B2 (ja) データ処理方法、装置、電子機器及び記憶媒体
KR102565360B1 (ko) 지도 서비스 테스트 방법 및 장치
US20210149687A1 (en) Methods for processing mini program, and related devices
KR102674648B1 (ko) 문서 분석 방법, 장치, 기기 및 저장 매체
EP4170650A1 (en) Speech control method for mini-program, and devices and storage medium
JP7087121B2 (ja) ランディングページの処理方法、装置、機器及び媒体
WO2021169150A1 (zh) 宿主平台层中的应用接口实现方法、装置、设备和介质
US20210397632A1 (en) Geographic information system engine system, implementation method, device and storage medium thereof
US20210118409A1 (en) Rendering method and apparatus, electronic device and storage medium
KR20210141412A (ko) 페이지 자원을 획득하는 방법, 장치, 전자 기기 및 판독 가능 기록 매체
KR102546577B1 (ko) 미니 프로그램 데이터 처리 방법 및 장치
JP7130803B2 (ja) 検索方法、検索装置、電子機器及び記憶媒体
CN112491617B (zh) 一种链路跟踪方法、装置、电子设备和介质
US20210216212A1 (en) Method and apparatus for processing data
US20220101216A1 (en) Business Content Output Method, Apparatus, Storage Medium and Program Product
CN113220710B (zh) 数据查询方法、装置、电子设备以及存储介质
US9201938B2 (en) Parameter driven data format conversion in client/server architectures
JP2021168125A (ja) スマート応答方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
US12001458B2 (en) Multi-cloud object store access
CN112307061A (zh) 用于查询数据的方法和装置
KR102555258B1 (ko) 사용자 인식방법, 장치, 저장매체 및 전자기기
US11689630B2 (en) Request processing method and apparatus, electronic device, and computer storage medium
JP7213337B2 (ja) 上位プラットフォームレイヤ上のアプリケーションインタフェースの実現方法、装置、機器および媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220523

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220920

R150 Certificate of patent or registration of utility model

Ref document number: 7146007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150