JP7841804B2 - ログデータ検索方法、ログデータ検索装置、コンピュータ機器、及びコンピュータプログラム - Google Patents

ログデータ検索方法、ログデータ検索装置、コンピュータ機器、及びコンピュータプログラム

Info

Publication number
JP7841804B2
JP7841804B2 JP2024563951A JP2024563951A JP7841804B2 JP 7841804 B2 JP7841804 B2 JP 7841804B2 JP 2024563951 A JP2024563951 A JP 2024563951A JP 2024563951 A JP2024563951 A JP 2024563951A JP 7841804 B2 JP7841804 B2 JP 7841804B2
Authority
JP
Japan
Prior art keywords
search
target
time
log
range
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2024563951A
Other languages
English (en)
Other versions
JP2025514992A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Publication of JP2025514992A publication Critical patent/JP2025514992A/ja
Application granted granted Critical
Publication of JP7841804B2 publication Critical patent/JP7841804B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2474Sequence data queries, e.g. querying versioned data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Description

本願は、2022年7月20日に中国特許庁に提出された、出願番号が第202210862134.9号であり、発明の名称が「ログデータ検索方法、装置、機器、及び媒体」である中国特許出願に基づく優先権を主張し、その全ての内容は参照することにより本願に組み込まれている。
本願は、データ検索技術に関し、さらにクラウド技術分野に関し、特にログデータ検索方法、装置、機器、及び媒体に関する。
日常の業務のやり取りによって生成されたログデータは、通常、ディスクに記憶される。ログデータのデータ量は一般的に比較的大きいので、ログデータはディスクの複数のセクタにそれぞれ記憶される確率が高い。これは、ログデータの検索に大きな困難をもたらす。例えば、2分探索方式を用いてディスクからある時間範囲内のログデータを検索するとした場合、分散アクセスが発生しやすくなる。即ち、2分探索過程に係る中間位置にあるログデータがディスクの複数のセクタに分散している確率が高い。中間位置にあるログデータを1回読み出すたびに、それに応じたセクタに対する読み書き動作を1回実行する必要がある。複数のセクタに対する複数回の読み書き動作に長い時間がかかるため、ログデータの検索効率が低くなる。
これに基づき、上記の技術的問題に対して、ログデータ検索方法、装置、機器、及び媒体を提供する必要がある。
第1態様によれば、本願では、コンピュータ機器が実行するログデータ検索方法が提供されている。前記方法は、
ログ検索時間ツリーから、検索時間範囲にマッチしたターゲットノードを決定するステップであって、前記ログ検索時間ツリーにおける各ノードは、ログ検索に供する時間範囲を記録するためのものであり、前記ターゲットノードに記録された時間範囲と前記検索時間範囲に共通集合がある、ステップと、
前記ターゲットノード配下のサブツリーからターゲットサブツリーを決定するステップであって、前記ターゲットサブツリーは、前記検索時間範囲に対応する境界時間値を探索するためのものである、ステップと、
前記ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査(「トラバース」とも呼ばれる。)を停止するステップであって、前記ターゲットリーフノードに記録されたターゲット時間範囲内の時間値に対応するログデータがディスクに存在する、ステップと、
前記ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値を決定することにより、前記検索時間範囲に対応する境界時間値を取得するステップと、
前記境界時間値に基づいて、前記検索時間範囲にマッチしたログデータをディスクから取得するステップと、を含む。
第2態様によれば、本願では、ログデータ検索装置が提供されている。前記装置は、決定モジュールと、走査モジュールと、取得モジュールと、を含み、
前記決定モジュールは、ログ検索時間ツリーから、検索時間範囲にマッチしたターゲットノードを決定し、前記ログ検索時間ツリーにおける各ノードは、ログ検索に供する時間範囲を記録するためのものであり、前記ターゲットノードに記録された時間範囲と前記検索時間範囲に共通集合があり、
前記決定モジュールは、さらに、前記ターゲットノード配下のサブツリーからターゲットサブツリーを決定し、前記ターゲットサブツリーは、前記検索時間範囲に対応する境界時間値を探索するためのものであり、
前記走査モジュールは、前記ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止し、前記ターゲットリーフノードに記録されたターゲット時間範囲内の時間値に対応するログデータがディスクに存在し、
前記決定モジュールは、さらに、前記ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値を決定することにより、前記検索時間範囲に対応する境界時間値を取得し、
前記取得モジュールは、前記境界時間値に基づいて、前記検索時間範囲にマッチしたログデータをディスクから取得する。
第3態様によれば、本願では、メモリと、1つ又は複数のプロセッサと、を備えるコンピュータ機器が提供されている。メモリには、コンピュータ可読命令が記憶されており、該プロセッサは、コンピュータ可読命令を実行すると、本願の各方法実施例におけるステップを実現する。
第4態様によれば、本願では、コンピュータ可読命令を記憶した1つ又は複数のコンピュータ可読記憶媒体が提供されている。該コンピュータ可読命令は、1つ又は複数のプロセッサによって実行されると、本願の各方法実施例におけるステップを実現させる。
第5態様によれば、本願では、コンピュータ可読命令を含むコンピュータプログラム製品が提供されている。コンピュータ可読命令は、1つ又は複数のプロセッサによって実行されると、本願の各方法実施例におけるステップを実現させる。
本願の1つ又は複数の実施例の細部は、以下の図面及び説明に記載されている。本願の他の特徴、目的、及び利点は、明細書、図面、及び特許請求の範囲から明らかになる。
本願の実施例の構成をより明確に説明するために、以下に、実施例の説明に必要な図面を簡単に紹介する。明らかに、以下の説明における図面は本願のいくつかの実施例を示しているに過ぎず、当業者であれば、創造的な労働をすることなく、これらの図面から他の図面を得ることもできる。
一実施例におけるログデータ検索方法の適用環境図である。 一実施例におけるログデータ検索方法の流れの模式図である。 一実施例におけるログ検索時間ツリーの構造の模式図である。 一実施例における2分探索の原理の模式図である。 一実施例における検索時間範囲とターゲットノード配下の各サブツリーとの共通集合の状況の模式図である。 一実施例における境界時間値の検索ステップの流れの模式図である。 他の実施例におけるログデータ検索方法の流れの模式図である。 一実施例におけるログデータ検索装置の構成ブロック図である。 一実施例におけるコンピュータ機器の内部の構成図である。 他の実施例におけるコンピュータ機器の内部の構成図である。
本願の目的、構成、及びメリットをより明確にするために、以下、図面及び実施例を参照しながら、本願をさらに詳しく説明する。理解すべきものとして、ここで説明する具体的な実施例は、本願を解釈するためのものに過ぎず、本願を限定するものではない。
本願で提供されるログデータ検索方法は、図1に示すような適用環境に適用可能である。ここで、端末102は、ネットワークを介して、サーバ104と通信する。データ記憶システムは、サーバ104が処理する必要があるデータを記憶することができる。データ記憶システムは、サーバ104に組み込まれてもよいし、クラウド又は他のサーバに置かれてもよい。ここで、端末102は、様々なデスクトップコンピュータ、ノートパソコン、スマートフォン、タブレットコンピュータ、モノのインターネットの機器、及びポータブルウェアラブル機器であってもよいが、これらに限定されない。モノのインターネットの機器は、スマートスピーカー、スマートテレビ、スマートエアコン、スマート車載機器などであってもよい。ポータブルウェアラブル機器は、スマートウォッチ、スマートブレスレット、ヘッドマウントデバイスなどであってもよい。サーバ104は、独立した物理サーバであってもよく、複数の物理サーバからなるサーバクラスタ又は分散型システムであってもよく、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメイン名サービス、セキュリティサービス、CDN、及びビッグデータや人工知能プラットフォームなどのベースクラウドコンピューティングサービスを提供するクラウドサーバであってもよい。端末102とサーバ104は、有線又は無線の通信方式によって、直接又は間接的に接続されてもよい。本願はここで限定しない。
サーバ104は、ログ検索時間ツリーから、検索時間範囲にマッチしたターゲットノードを決定してもよい。ログ検索時間ツリーにおける各ノードは、ログ検索に供する時間範囲を記録するためのものであり、ターゲットノードに記録された時間範囲と検索時間範囲に共通集合がある。サーバ104は、ターゲットノード配下のサブツリーから、検索時間範囲に対応する境界時間値を探索するためのターゲットサブツリーを決定し、ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止してもよい。ターゲットリーフノードに記録されたターゲット時間範囲内の時間値に対応するログデータがディスクに存在する。サーバ104は、ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値を決定することにより、検索時間範囲に対応する境界時間値を取得してもよい。サーバ104は、境界時間値に基づいて、検索時間範囲にマッチしたログデータをディスクから取得してもよい。
理解できるように、端末102は、検索時間範囲を取得し、検索時間範囲をサーバ104に送信してもよい。さらに、サーバ104は、ログ検索時間ツリーから、検索時間範囲にマッチしたターゲットノードを決定することができる。また、理解できるように、サーバ104は、取得した、検索時間範囲にマッチしたログデータを端末102に送信してもよい。これにより、それに応じた業務処理を端末102が行うことに供する。本実施例はこれを限定しない。理解できるように、図1の適用シナリオは模式的な説明に過ぎず、これに限定されない。
一実施例では、図2に示すように、ログデータ検索方法が提供されている。この方法は、コンピュータ機器に適用可能であり(コンピュータ機器は、端末又はサーバであってもよい)、端末又はサーバ自体によって単独で実行されてもよいし、端末とサーバのやり取りによって実現されてもよい。本実施例では、この方法をコンピュータ機器に適用する場合を例に説明する。この方法は、以下のステップを含む。
ステップ202では、ログ検索時間ツリーから、検索時間範囲にマッチしたターゲットノードを決定し、ログ検索時間ツリーにおける各ノードは、ログ検索に供する時間範囲を記録するためのものであり、ターゲットノードに記録された時間範囲と検索時間範囲に共通集合がある。
ここで、検索時間範囲は、ログデータ検索の時間範囲である。例えば、昨日の10:00~11:00の時間範囲にあるログデータをユーザが検索したい場合、昨日の10:00~11:00の時間範囲が検索時間範囲となる。ターゲットノードは、ログ検索時間ツリーにおける、検索時間範囲と共通集合があるノードである。
具体的には、ログ検索時間ツリーにおける各ノードには、ログ検索に供する時間範囲が記録されてもよく、ログ検索時間ツリーは、コンピュータ機器のディスクに記憶されてもよい。コンピュータ機器は、ディスクにあるログ検索時間ツリーから、ユーザが入力した検索時間範囲にマッチしたターゲットノードを決定してもよい。
ステップ204では、ターゲットノード配下のサブツリーからターゲットサブツリーを決定し、ターゲットサブツリーは、検索時間範囲に対応する境界時間値を探索するためのものである。
ここで、境界時間値は、検索時間範囲内の各時間値のうち、ログデータに対応する、臨界状態にある時間値である。理解ように、例を挙げて説明する。例えば、ユーザが入力した検索時間範囲は、10:00~11:00である。10:00~10:09及び10:51~11:00の2つの時間範囲内の各々の時点に対応するログデータがないが、10:10及び10:50の2つの時間値に対応するログデータがあり、10:10~10:50の時間範囲内の各時間値に対応するログデータがある可能性もある場合、理解できるように、10:10及び10:50の2つの時間値は、10:10~10:50の時間範囲内の臨界点にある。このため、10:10及び10:50の2つの時間値が境界時間値となる。
具体的には、ターゲットノード配下のサブツリーの数は、少なくとも1つであり、コンピュータ機器は、ターゲットノード配下の各サブツリーから、境界時間値を探索するためのターゲットサブツリーを決定してもよい。
一実施例において、コンピュータ機器は、ユーザが入力した検索時間範囲とターゲットノード配下の各サブツリーとの交わり状況を決定し、検索時間範囲とターゲットノード配下の各サブツリーとの交わり状況に基づいて、ターゲットノード配下の各サブツリーから、検索時間範囲に対応する境界時間値を探索するためのターゲットサブツリーを決定してもよい。
ステップ206では、ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止し、ターゲットリーフノードに記録されたターゲット時間範囲内の時間値に対応するログデータがディスクに存在する。
ここで、リーフノードは、ログ検索時間ツリーの各ノードのうち、出次数がないノードである。理解できるように、リーフノードは、後続ノードを持たないか、ログ検索時間ツリー内のある分岐の終端ノードである。エッジリーフノードは、ターゲットサブツリーの各リーフノードのうち、エッジに位置するリーフノードである。理解できるように、エッジリーフノードは、左エッジリーフノード及び右エッジリーフノードを含んでもよい。左エッジリーフノードは、ターゲットサブツリーの一番左のリーフノードである。右エッジリーフノードは、ターゲットサブツリーの一番右のリーフノードである。ターゲットリーフノードは、記録された時間範囲内の時間値に対応するログデータがディスクに存在するリーフノードである。ターゲット時間範囲は、ターゲットリーフノードに記録された時間範囲である。
具体的には、コンピュータ機器は、ターゲットサブツリーのエッジリーフノードから、隣のリーフノードに順次にリーフノード走査処理を行い、走査によりターゲットリーフノードを見つけた後に、走査を停止してもよい。理解できるように、コンピュータ機器は、ターゲットサブツリーのエッジリーフノードから、隣のリーフノードに順次にリーフノード走査処理を行ってもよい。一旦、現在走査されるリーフノードに記録された時間範囲内の時間値に対応するログデータがディスクに存在する場合、コンピュータ機器は、この現在走査されるリーフノードをターゲットリーフノードとして、リーフノード走査処理を停止し、即ち、ターゲットリーフノード以降のリーフノードを走査しなくてもよい。
一実施例において、コンピュータ機器は、現在探索する必要がある境界時間値の属性情報を決定してもよい。さらに、コンピュータ機器は、現在探索する必要がある境界時間値の属性情報に基づいて、ターゲットサブツリーの左エッジリーフノードからリーフノード走査処理を開始するか、それとも、ターゲットサブツリーの右エッジリーフノードからリーフノード走査処理を開始するかを決定してもよい。ここで、境界時間値の属性情報は、現在探索する必要がある境界時間値が、検索時間範囲に対応する下境界時間値であるか、それとも、検索時間範囲に対応する上境界時間値であるかを示すためのものである。下境界時間値は、検索時間範囲に対応する2つの境界時間値のうち、最小の境界時間値であり、上境界時間値は、検索時間範囲に対応する2つの境界時間値のうち、最大の境界時間値である。
理解できるように、上記の例における10:10の時間値が、検索時間範囲に対応する下境界時間値であり、10:50の時間値が、検索時間範囲に対応する上境界時間値である。
一実施例において、ログ検索時間ツリーは、具体的には、ログ検索に供する時間範囲を記録するための多分探索木、例えば、2分探索木や3分探索木などであってもよい。本実施例はこれを限定しない。
一実施例において、ログ検索時間ツリーは、ログ検索に供する時間範囲を記録するための2分探索木である。図3に示すように、該ログ検索時間ツリーには、7つのノード(即ち、ノード1からノード7)が含まれる。該ログ検索時間ツリーに記録された時間範囲が[min,max]である場合、理解できるように、ノード1は、該ログ検索時間ツリーのルートノードであり、ノード1に記録された時間範囲も[min,max]である。ここで、minは、該ログ検索時間ツリーに記録された時間範囲の最小値を表し、maxは、該ログ検索時間ツリーに記録された時間範囲の最大値を表す。中間値1は、時間範囲[min,max]内の中間位置にある時間値である。理解できるように、中間値1に基づいて、ノード1の時間範囲を2つの部分に分割して、ノード2及びノード3をそれぞれ形成することができる。ノード2に記録された時間範囲は、[min,中間値1]であり、ノード3に記録された時間範囲は、[中間値1,max]である。同様に、中間値2は、時間範囲[min,中間値1]内の中間位置にある時間値であり、中間値3は、時間範囲[中間値1,max]内の中間位置にある時間値である。中間値2に基づいて、ノード2の時間範囲を2つの部分に分割して、ノード4及びノード5をそれぞれ形成することができる。中間値3に基づいて、ノード3の時間範囲を2つの部分に分割して、ノード6及びノード7をそれぞれ形成することができる。理解できるように、ノード4~ノード7は、後続ノードを持たない。ノード4~ノード7は、ログ検索時間ツリーのリーフノードである。
ステップ208では、ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値を決定することにより、検索時間範囲に対応する境界時間値を取得する。
具体的には、コンピュータ機器は、ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値を決定することにより、検索時間範囲に対応する境界時間値を取得してもよい。理解できるように、ユーザが入力した検索時間範囲内には、それぞれログデータに対応する複数の時間値が存在する可能性がある。コンピュータ機器は、ログデータに対応するこれらの複数の時間値の中から、臨界状態にある時間値を決定し、決定した時間値を検索時間範囲に対応する境界時間値としてもよい。
一実施例において、ターゲット時間範囲には、それぞれターゲット時間範囲の範囲開始値及び範囲終了値である2つの端点時間値がある。コンピュータ機器は、ターゲット時間範囲内のいずれか一方の端点時間値から、他方の端点時間値の方向に向かって、ターゲット時間範囲内の各時間値を走査することにより、ターゲット時間範囲から、ログデータに対応する、臨界状態にある時間値を探索して、検索時間範囲に対応する境界時間値を取得してもよい。このように、ターゲット時間範囲内の一方の端点時間値から、他方の端点時間値の方向に向かって、ターゲット時間範囲内の各時間値を順次に走査することにより、時間値の探索漏れを避け、ログデータの検索精度を向上させることができる。
ステップ210では、境界時間値に基づいて、検索時間範囲にマッチしたログデータをディスクから取得する。
一実施例において、検索時間範囲に対応する各境界時間値は、それぞれ、ディスクに記憶されたログデータのログデータ識別子と対応関係がある。コンピュータ機器は、各境界時間値に対応するログデータ識別子に基づいて、検索時間範囲にマッチしたログデータをディスクから取得してもよい。
上記のログデータ検索方法では、ログ検索時間ツリーから、検索時間範囲にマッチしたターゲットノードを決定し、ログ検索時間ツリーにおける各ノードは、ログ検索に供する時間範囲を記録するためのものであり、ターゲットノードに記録された時間範囲と検索時間範囲に共通集合がある。ログ検索時間ツリーに記録されたのは、ログ検索に供するための時間範囲であり、データ量が小さい。このため、ログ検索時間ツリーに使用される記憶スペースは、ログデータの記憶に使用される記憶スペースより小さく、ログデータを記憶するほど多くのセクタを使用する必要がない。ターゲットノード配下のサブツリーから、検索時間範囲に対応する境界時間値を探索するためのターゲットサブツリーを決定し、ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止し、ターゲットリーフノードに記録されたターゲット時間範囲内の時間値に対応するログデータがディスクに存在する。ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値を決定することにより、検索時間範囲に対応する境界時間値を取得し、境界時間値に基づいて、検索時間範囲にマッチしたログデータをディスクから取得する。ログ検索時間ツリーに使用される記憶スペースは、ログデータを記憶するほど多くのセクタを使用する必要がないことで、セクタに対する読み書き動作を低減し、ログデータの検索時間を節約し、ログデータの検索効率を向上させる。
また、本願では、ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止するため、全てのリーフノードを走査することなく、検索時間範囲に対応する境界時間値を正確に探索し、境界時間値の探索時間を節約し、ログデータの検索効率をさらに向上させることができる。
なお、従来のログ検索方式は、2分探索方式によって実現することができる。ログデータが内部メモリに記憶された場合、ログデータが内部メモリにセクタ毎に記憶されるのではないため、2分探索方式は、内部メモリのログ検索にとって効率的である。しかし、ログデータは、データ量が膨大であり、内部メモリに記憶するのに高いコストがかかり、内部メモリに記憶すると、データが失われるリスクも高くなることを考慮するので、通常、ログデータがディスクに記憶され、ログデータ量が大きいため、ログデータは、ディスクの複数のセクタにそれぞれ記憶されることになる。2分探索方式を直接用いてディスクからある時間範囲内のログデータを検索すると、分散アクセスが発生し、ログデータの検索効率が低い。
理解ように、例を挙げて説明する。図4に示すように、各灰色矩形ブロック401は、それぞれ、時間値を表す。理解できるように、各時間値は、左から右への順に順序付けられている。402は、ディスクの1つのセクタである。2分探索方式を直接用いてディスクからある時間範囲内のログデータを検索すると、2分探索過程に複数のセクタに対して読み書き動作を行うことが必要であり、毎回のセクタアクセスに時間がかかるため、ログデータの検索効率が低くなる。本願では、ログ検索に供する時間範囲を記録するために、データ量が小さいログ検索時間ツリーが導入されている。このため、ログ検索時間ツリーに使用される記憶スペースは、ログデータの記憶に使用される記憶スペースより小さく、ログデータを記憶するほど多くのセクタを使用する必要がない。セクタに対する読み書き動作を低減し、ログデータの検索時間を節約し、ログデータの検索効率を向上させる。
一実施例において、ターゲットノード配下のサブツリーが少なくとも2つであり、ターゲットノード配下のサブツリーからターゲットサブツリーを決定するステップは、検索時間範囲と、ターゲットノード配下の少なくとも2つのサブツリーのうち1つに記録された時間範囲に共通集合がある場合、共通集合があるサブツリーをターゲットサブツリーとするステップを含む。
具体的には、ターゲットノード配下のサブツリーが少なくとも2つであり、コンピュータ機器は、検索時間範囲と、ターゲットノード配下の各サブツリーに記録された時間範囲との交わり状況を判断してもよい。検索時間範囲と、ターゲットノード配下の少なくとも2つのサブツリーのうち1つに記録された時間範囲に共通集合がある場合、共通集合があるサブツリーを、検索時間範囲に対応する境界時間値を探索するためのターゲットサブツリーとする。
一実施例において、ログ検索時間ツリーは、ログ検索に供する時間範囲を記録するための2分探索木であり、ターゲットノード配下のサブツリーには、左サブツリー及び右サブツリーが含まれる。図5に示すように、図5の(a)部分は、ユーザが入力した検索時間範囲を示し、該検索時間範囲は、[検索-min,検索-max]である。図5の(b)部分において、灰色の矩形枠はターゲットノードを表し、該ターゲットノードに記録された時間範囲は[ノード-min,ノード-max]であり、中間値は時間範囲[ノード-min,ノード-max]内の中間位置にある時間値である。中間値に基づいて、該ターゲットノードを左サブツリー及び右サブツリーに分割することができ、ここで、左サブツリーに記録された時間範囲は[ノード-min,中間値]であり、右サブツリーに記録された時間範囲は[中間値,ノード-max]である。検索時間範囲と、ターゲットノード配下の左サブツリーに記録された時間範囲に共通集合がある場合(即ち、図5の(b)部分のケース1)、コンピュータ機器は、共通集合がある左サブツリーを、検索時間範囲に対応する境界時間値を探索するためのターゲットサブツリーとしてもよい。検索時間範囲と、ターゲットノード配下の右サブツリーに記録された時間範囲に共通集合がある場合(即ち、図5の(b)部分のケース2)、コンピュータ機器は、共通集合がある右サブツリーを、検索時間範囲に対応する境界時間値を探索するためのターゲットサブツリーとしてもよい。
上記の実施例では、検索時間範囲と、ターゲットノード配下の少なくとも2つのサブツリーのうち1つに記録された時間範囲に共通集合がある場合、探索する必要がある境界時間値が、共通集合があるサブツリーにしか存在し得ないため、直接に、共通集合があるサブツリーを、境界時間値を探索するためのターゲットサブツリーとしてもよい。これにより、境界時間値の検索効率を向上させることができる。
一実施例において、ログ検索時間ツリーには、ログ検索時間2分木が含まれ、ターゲットノード配下のサブツリーには、ログ検索時間2分木の左サブツリー及び右サブツリーが含まれ、境界時間値には、下境界時間値が含まれ、ターゲットノード配下のサブツリーからターゲットサブツリーを決定するステップは、検索時間範囲と、左サブツリー及び右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合、下境界時間値を探索する必要があれば、左サブツリーをターゲットサブツリーとするステップを含み、ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止するステップは、左サブツリーの左エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止するステップを含む。
具体的には、ログ検索時間2分木は、ログ検索に供する時間範囲を記録するための2分探索木であり、ターゲットノード配下のサブツリーには、左サブツリー及び右サブツリーが含まれ、検索時間範囲に対応する境界時間値には、下境界時間値及び上境界時間値が含まれる。コンピュータ機器は、検索時間範囲と、ターゲットノード配下の各サブツリーに記録された時間範囲との交わり状況を判断してもよい。検索時間範囲と、左サブツリー及び右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合(即ち、図5の(b)部分のケース3)、下境界時間値を探索する必要があれば、コンピュータ機器は、左サブツリー(即ち、図5において、記録された時間範囲が[ノード-min,中間値]であるサブツリー)をターゲットサブツリーとして、左サブツリーの左エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止してもよい。
上記の実施例では、検索時間範囲と、左サブツリー及び右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合は、探索する必要がある境界時間値が左サブツリーにも右サブツリーにも存在し得ることを表す。ログ検索時間ツリーの階層毎に、該階層内の各ノードに記録された時間値が左から右へ順次に大きくなるため、下境界時間値が左サブツリーに存在する確率は、右サブツリーに存在する確率より大きい。このため、下境界時間値を探索する必要があれば、直接に左サブツリーをターゲットサブツリーとして、優先的に左サブツリーから走査を開始し、下境界時間値を探索してもよい。このように、下境界時間値の検索効率を向上させることができる。
一実施例において、上記方法は、左サブツリーを走査してターゲットリーフノードが見つからない場合、右サブツリーの左エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止するステップをさらに含む。
具体的には、左サブツリー(即ち、図5において、記録された時間範囲が[ノード-min,中間値]であるサブツリー)を走査してターゲットリーフノードが見つからない場合、コンピュータ機器は、右サブツリー(即ち、図5において、記録された時間範囲が[中間値,ノード-max]であるサブツリー)の左エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止してもよい。
上記の実施例において、左サブツリーを走査してターゲットリーフノードが見つからない場合は、探索する必要がある境界時間値が右サブツリーに存在することを表す。ログ検索時間ツリーの階層毎に、該階層内の各ノードに記録された時間値が左から右へ順次に大きくなるため、直接に右サブツリーの左エッジリーフノードからリーフノード走査処理を開始することによって、境界時間値の検索効率を向上させることができる。
一実施例において、ターゲットノード配下のサブツリーには、左サブツリー及び右サブツリーが含まれ、境界時間値には、上境界時間値が含まれ、ターゲットノード配下のサブツリーからターゲットサブツリーを決定するステップは、検索時間範囲と、左サブツリー及び右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合、上境界時間値を探索する必要があれば、右サブツリーをターゲットサブツリーとするステップを含み、ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止するステップは、右サブツリーの右エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止するステップを含む。
具体的には、ログ検索時間ツリーは、ログ検索に供する時間範囲を記録するための2分探索木であり、ターゲットノード配下のサブツリーには、左サブツリー及び右サブツリーが含まれ、検索時間範囲に対応する境界時間値には、下境界時間値及び上境界時間値が含まれる。コンピュータ機器は、検索時間範囲と、ターゲットノード配下の各サブツリーに記録された時間範囲との交わり状況を判断してもよい。検索時間範囲と、左サブツリー及び右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合(即ち、図5の(b)部分のケース3)、上境界時間値を探索する必要があれば、コンピュータ機器は、右サブツリー(即ち、図5において、記録された時間範囲が[中間値,ノード-max]であるサブツリー)をターゲットサブツリーとして、右サブツリーの右エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止してもよい。
上記の実施例では、検索時間範囲と、左サブツリー及び右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合は、探索する必要がある境界時間値が左サブツリーにも右サブツリーにも存在し得ることを表す。ログ検索時間ツリーの階層毎に、該階層内の各ノードに記録された時間値が左から右へ順次に大きくなるため、上境界時間値が右サブツリーに存在する確率は、左サブツリーに存在する確率より大きい。このため、上境界時間値を探索する必要があれば、優先的に右サブツリーから走査を開始して上境界時間値を探索し、直接に右サブツリーをターゲットサブツリーとしてもよい。このように、上境界時間値の検索効率を向上させることができる。
一実施例において、上記方法は、右サブツリーを走査してターゲットリーフノードが見つからない場合、左サブツリーの右エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止するステップをさらに含む。
具体的には、右サブツリー(即ち、図5において、記録された時間範囲が[中間値,ノード-max]であるサブツリー)を走査してターゲットリーフノードが見つからない場合、コンピュータ機器は、左サブツリー(即ち、図5において、記録された時間範囲が[ノード-min,中間値]であるサブツリー)の右エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止してもよい。
上記の実施例において、右サブツリーを走査してターゲットリーフノードが見つからない場合は、探索する必要がある境界時間値が左サブツリーに存在することを表す。ログ検索時間ツリーの階層毎に、該階層内の各ノードに記録された時間値が左から右へ順次に大きくなるため、直接に左サブツリーの右エッジリーフノードからリーフノード走査処理を開始することによって、境界時間値の検索効率を向上させることができる。
一実施例において、図6に示すように、ターゲットリーフノードに記録されたターゲット時間範囲内のいずれか一方の端点時間値から、ターゲット時間範囲内の他方の端点時間値の方向に向かって、ターゲット時間範囲内の各時間値を走査することにより、ターゲット時間範囲から、ログデータに対応する、臨界状態にある時間値を探索して、検索時間範囲に対応する境界時間値を取得するステップは、以下のステップを含む。
ステップ602では、ターゲット時間範囲内の端点時間値を本ラウンドの開始時間値として、検索時間範囲を本ラウンドのターゲット探索範囲として、開始時間値から、ターゲット探索範囲内でログ時間値探索処理を行い、ログ時間値は、ログデータに対応する時間値である。
ここで、端点時間値は、ターゲット時間範囲内の端点に対応する時間値である。本ラウンドの開始時間値は、本ラウンドのログ時間値探索処理における一番目に探索する時間値である。本ラウンドのターゲット探索範囲は、本ラウンドのログ時間値探索処理の時間範囲である。理解できるように、開始時間値及びターゲット探索範囲は、絶え間なく更新される。
具体的には、ターゲット時間範囲には、2つの端点時間値が含まれ、コンピュータ機器は、この2つの端点時間値のうちのいずれか1つを本ラウンドの開始時間値として、ユーザが入力した検索時間範囲を本ラウンドのターゲット探索範囲としてもよい。さらに、コンピュータ機器は、開始時間値から、ターゲット探索範囲内でログ時間値探索処理を行ってもよい。
ステップ604では、探索によりログ時間値を見つけた後、ログ時間値に基づいて検索時間範囲を更新することにより、更新後の時間範囲を取得する。
具体的には、コンピュータ機器は、ターゲット探索範囲内でログ時間値を探索した後、探索したログ時間値に基づいて、ユーザが入力した検索時間範囲を更新することにより、更新後の時間範囲を取得してもよい。
ステップ606では、探索終了条件が満たされるまで、ログ時間値を次ラウンドの探索の開始時間値として、更新後の時間範囲を次ラウンドのターゲット探索範囲として、開始時間値から、ターゲット探索範囲内でログ時間値探索処理を行うステップに戻って次ラウンドの探索を行い、探索して見つけた最後のログ時間値を、ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値として、検索時間範囲に対応する境界時間値を取得する。
ここで、探索終了条件は、ログ時間値探索処理の反復過程を停止させる条件である。
一実施例において、探索終了条件は、ターゲット時間範囲内の各時間値の走査が完了したこと、又は、ログ時間値探索処理の回数が所定の探索回数に達したこと、のうちの少なくとも1つを含む。このように、ログ時間値探索処理の反復停止条件を多様化し、ログ時間値探索処理の効率を向上させることができる。
具体的には、コンピュータ機器は、探索終了条件が満たされるまで、本ラウンドで探索して見つけたログ時間値を次ラウンドの探索の開始時間値として、本ラウンドの更新後の時間範囲を次ラウンドのターゲット探索範囲として、次ラウンドを本ラウンドとして、開始時間値から、ターゲット探索範囲内でログ時間値探索処理を行うステップに戻り、次ラウンドの探索を行ってもよい。コンピュータ機器は、探索して見つけた最後のログ時間値を、ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値として、検索時間範囲に対応する境界時間値を取得してもよい。
上記の実施例では、ターゲット探索範囲内でログ時間値探索処理を反復的に行い、ログ時間値が探索されるたびに、ログ時間値に基づいて検索時間範囲を更新し、少しずつ探索範囲を絞り込むことにより、ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値を素早く見つけることができ、境界時間値の探索効率を向上させ、さらにログデータの検索効率を向上させることができる。
一実施例において、端点時間値は、ターゲットリーフノードが指しているディスクにおけるログデータ記憶ファイルのオフセット量に対応する時間値であり、ターゲット時間範囲内の端点時間値を本ラウンドの開始時間値として、検索時間範囲を本ラウンドのターゲット探索範囲として、開始時間値から、ターゲット探索範囲内でログ時間値探索処理を行うステップは、オフセット量に対応する時間値を本ラウンドの開始時間値として、検索時間範囲を本ラウンドのターゲット探索範囲として、開始時間値から、ターゲットリーフノードが指しているディスクにおけるログデータ記憶ファイルのオフセット量を更新開始し、ターゲット探索範囲内でログ時間値探索処理を行うステップを含む。
ここで、ログデータ記憶ファイルは、ログデータを記憶するためのファイルである。
具体的には、端点時間値は、ターゲットリーフノードが指しているディスクにおけるログデータ記憶ファイルのオフセット量に対応する時間値であり、コンピュータ機器は、オフセット量に対応する時間値を本ラウンドの開始時間値として、検索時間範囲を本ラウンドのターゲット探索範囲として、開始時間値から、ターゲットリーフノードが指しているディスクにおけるログデータ記憶ファイルのオフセット量を更新開始し、ディスクにおけるログデータ記憶ファイルの相応の位置からログデータを読み出すことにより、ターゲット探索範囲内でログ時間値探索処理を行うことを実現してもよい。
一実施例では、図3を参照して、ノード7は探索により見つけたターゲットリーフノードであると、ノード7に記録された時間範囲が[中間値3,max]であり、そのため、端点時間値が「中間値3」である場合、ログデータ記憶ファイルに記録された「中間値3」(即ち、図3の301に対応する時間値)は、ノード7が指しているディスクにおけるログデータ記憶ファイルのオフセット量に対応する時間値である。コンピュータ機器は、図3の301に対応する時間値から、ターゲットリーフノードが指しているディスクにおけるログデータ記憶ファイルのオフセット量を更新開始し、ディスクにおけるログデータ記憶ファイルの相応の位置からログデータを読み出すことにより、ターゲット探索範囲内でログ時間値探索処理を行うことを実現してもよい。理解できるように、探索により見つけた時間値に対応するログデータ番号がログデータ記憶ファイルに存在すれば、該探索により見つけた時間値に対応するログデータがログデータ記憶ファイルに存在することを表すことができ、該探索により見つけた時間値は、即ち、探索により見つけたログ時間値である。ここで、ログデータ番号は、ログデータを一意に識別するためのものである。理解できるように、ログデータ番号は、ログデータ識別子のうち1つの表現方式である。
上記の実施例では、オフセット量に対応する時間値を本ラウンドの開始時間値として、開始時間値から、ターゲットリーフノードが指しているディスクにおけるログデータ記憶ファイルのオフセット量を継続的に更新し、ディスクから相応のデータを素早く読み出し、ターゲット探索範囲内でログ時間値探索処理を行うことにより、境界時間値の探索効率を向上させ、さらにログデータの検索効率を向上させることができる。
一実施例において、探索によりログ時間値を見つけた後、ログ時間値に基づいて検索時間範囲を更新することにより、更新後の時間範囲を取得するステップは、検索時間範囲に対応する下境界時間値を探索する場合、ログ時間値で検索時間範囲の上限値を更新することにより、更新後の時間範囲を取得するステップを含む。
ここで、検索時間範囲の上限値は、検索時間範囲内の各時間値のうち最大の時間値を指す。
具体的には、検索時間範囲に対応する境界時間値には、上境界時間値及び下境界時間値が含まれる。検索時間範囲に対応する下境界時間値を探索する場合、コンピュータ機器は、ログ時間値で検索時間範囲の上限値を更新することにより、更新後の時間範囲を取得してもよい。
例を挙げて説明する。検索時間範囲が[min,max]であり、[min,max]から探索されたログ時間値がV1である場合、コンピュータ機器は、このログ時間値V1で検索時間範囲[min,max]の上限値maxを更新することにより、更新後の時間範囲[min,V1]を取得してもよい。
上記の実施例では、検索時間範囲に対応する下境界時間値を探索する場合、最終的に探索して見つけた下境界時間値が必ず検索時間範囲の下限値に最も近いログ時間値であるため、ログ時間値で検索時間範囲の上限値を更新することにより、更新後の時間範囲を取得することは、下境界時間値の検索効率を向上させることができる。
一実施例において、探索によりログ時間値を見つけた後、ログ時間値に基づいて検索時間範囲を更新することにより、更新後の時間範囲を取得するステップは、検索時間範囲に対応する上境界時間値を探索する場合、ログ時間値で検索時間範囲の下限値を更新することにより、更新後の時間範囲を取得するステップを含む。
ここで、検索時間範囲の下限値は、検索時間範囲内の各時間値のうち最小の時間値を指す。
具体的には、検索時間範囲に対応する境界時間値には、上境界時間値及び下境界時間値が含まれる。検索時間範囲に対応する上境界時間値を探索する場合、コンピュータ機器は、ログ時間値で検索時間範囲の下限値を更新することにより、更新後の時間範囲を取得してもよい。
例を挙げて説明する。検索時間範囲が[min,max]であり、[min,max]から探索して見つけたログ時間値がV2である場合、コンピュータ機器は、このログ時間値V2で検索時間範囲[min,max]の下限値minを更新することにより、更新後の時間範囲[V2,max]を取得してもよい。
上記の実施例では、検索時間範囲に対応する境界時間値を探索する場合、最終的に探索して見つけた上境界時間値が必ず検索時間範囲の上限値に最も近いログ時間値であるため、ログ時間値で検索時間範囲の下限値を更新することにより、更新後の時間範囲を取得することは、上境界時間値の検索効率を向上させることができる。
一実施例において、境界時間値には、下境界時間値及び上境界時間値が含まれ、境界時間値に基づいて、検索時間範囲にマッチしたログデータをディスクから取得するステップは、ターゲット番号範囲内の各ログデータ番号のそれぞれに対応するログデータを、検索時間範囲にマッチしたログデータとしてディスクから取得するステップを含む。ここで、ターゲット番号範囲は、下境界時間値に対応するログデータ番号を範囲開始値として、上境界時間値に対応するログデータ番号を範囲終了値とした番号範囲である。
具体的には、境界時間値には、下境界時間値及び上境界時間値が含まれる。コンピュータ機器は、下境界時間値に対応するログデータ番号を取得し、上境界時間値に対応するログデータ番号を取得してもよい。コンピュータ機器は、下境界時間値に対応するログデータ番号を範囲開始値として、上境界時間値に対応するログデータ番号を範囲終了値として、ターゲット番号範囲を構築してもよい。コンピュータ機器は、ターゲット番号範囲内の各ログデータ番号のそれぞれに対応するログデータを、検索時間範囲にマッチしたログデータとしてディスクから取得してもよい。
上記の実施例において、ターゲット番号範囲は、下境界時間値に対応するログデータ番号を範囲開始値として、上境界時間値に対応するログデータ番号を範囲終了値とした番号範囲であるので、ターゲット番号範囲に含まれる各ログデータ番号は、いずれも検索時間範囲内の各ログ時間値と対応関係がある。さらに、ターゲット番号範囲内の各ログデータ番号のそれぞれに対応するログデータをディスクから取得して、直接に検索時間範囲にマッチしたログデータとすることができ、ログデータの検索効率をさらに向上させる。
図7に示すように、一実施例では、ログデータ検索方法が提供されている。この方法は、コンピュータ機器に適用可能であり(コンピュータ機器は、端末又はサーバであってもよい)、端末又はサーバ自体が単独で実行されてもよいし、端末とサーバのやり取りによって実現されてもよい。本実施例では、この方法をコンピュータ機器に適用する場合を例に説明する。この方法は、具体的には、以下のステップを含む。
ステップ702では、ログ検索時間ツリーから、検索時間範囲にマッチしたターゲットノードを決定し、ログ検索時間ツリーにおける各ノードは、ログ検索に供する時間範囲を記録するためのものであり、ターゲットノードに記録された時間範囲と検索時間範囲に共通集合がある。
ステップ704では、検索時間範囲と、ターゲットノード配下の左サブツリー及び右サブツリーのうち1つに記録された時間範囲に共通集合がある場合、共通集合があるサブツリーを、境界時間値を探索するためのターゲットサブツリーとし、境界時間値には、下境界時間値及び上境界時間値が含まれる。
ステップ706では、検索時間範囲と、左サブツリー及び右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合、下境界時間値を探索する必要があれば、左サブツリーをターゲットサブツリーとして、左サブツリーの左エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止し、左サブツリーを走査してターゲットリーフノードが見つからない場合、右サブツリーの左エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止する。
ステップ708では、検索時間範囲と、左サブツリー及び右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合、上境界時間値を探索する必要があれば、右サブツリーをターゲットサブツリーとして、右サブツリーの右エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止し、右サブツリーを走査してターゲットリーフノードが見つからない場合、左サブツリーの右エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止する。
ステップ710では、ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止し、ターゲットリーフノードに記録されたターゲット時間範囲内の時間値に対応するログデータがディスクに存在する。
ステップ712では、ターゲット時間範囲内の端点時間値を本ラウンドの開始時間値として、検索時間範囲を本ラウンドのターゲット探索範囲として、開始時間値から、ターゲット探索範囲内でログ時間値探索処理を行い、ログ時間値は、ログデータに対応する時間値である。
ステップ714では、探索によりログ時間値を見つけた後、ログ時間値に基づいて検索時間範囲を更新することにより、更新後の時間範囲を取得する。
ステップ716では、探索終了条件が満たされるまで、ログ時間値を次ラウンドの探索の開始時間値として、更新後の時間範囲を次ラウンドのターゲット探索範囲として、開始時間値から、ターゲット探索範囲内でログ時間値探索処理を行うステップに戻り、次ラウンドの探索を行い、探索して見つけた最後のログ時間値を、ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値として、検索時間範囲に対応する境界時間値を取得する。
ステップ718では、ターゲット番号範囲内の各ログデータ番号のそれぞれに対応するログデータを、検索時間範囲にマッチしたログデータとしてディスクから取得し、ターゲット番号範囲は、下境界時間値に対応するログデータ番号を範囲開始値として、上境界時間値に対応するログデータ番号を範囲終了値とした番号範囲である。
本願では、適用シナリオがさらに提供されている。この適用シナリオでは、上記のログデータ検索方法が適用される。具体的には、該ログデータ検索方法は、2分探索木に基づいてログデータ検索を実現するシナリオに適用可能である。理解できるように、ログ検索時間ツリーは、ログ検索時間2分木である。コンピュータ機器は、ログ検索時間2分木から、検索時間範囲にマッチしたターゲットノードを決定してもよい。ログ検索時間2分木における各ノードは、ログ検索に供する時間範囲を記録するためのものであり、ターゲットノードに記録された時間範囲と検索時間範囲に共通集合がある。検索時間範囲と、ターゲットノード配下の左サブツリー及び右サブツリーのうち1つに記録された時間範囲に共通集合がある場合、共通集合があるサブツリーを、境界時間値を探索するためのターゲットサブツリーとする。境界時間値には、下境界時間値及び上境界時間値が含まれる。
検索時間範囲と、左サブツリー及び右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合、下境界時間値を探索する必要があれば、コンピュータ機器は、左サブツリーをターゲットサブツリーとして、左サブツリーの左エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止し、左サブツリーを走査してターゲットリーフノードが見つからない場合、右サブツリーの左エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止してもよい。検索時間範囲と、左サブツリー及び右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合、上境界時間値を探索する必要があれば、コンピュータ機器は、右サブツリーをターゲットサブツリーとして、右サブツリーの右エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止し、右サブツリーを走査してターゲットリーフノードが見つからない場合、左サブツリーの右エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止してもよい。
コンピュータ機器は、ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止してもよい。ターゲットリーフノードに記録されたターゲット時間範囲内の時間値に対応するログデータがディスクに存在する。ターゲット時間範囲内の端点時間値を本ラウンドの開始時間値として、検索時間範囲を本ラウンドのターゲット探索範囲として、開始時間値から、ターゲット探索範囲内でログ時間値探索処理を行う。ログ時間値は、ログデータに対応する時間値である。探索によりログ時間値を見つけた後、ログ時間値に基づいて検索時間範囲を更新することにより、更新後の時間範囲を取得する。探索終了条件が満たされるまで、ログ時間値を次ラウンドの探索の開始時間値として、更新後の時間範囲を次ラウンドのターゲット探索範囲として、開始時間値から、ターゲット探索範囲内でログ時間値探索処理を行うステップに戻り、次ラウンドの探索を行い、探索して見つけた最後のログ時間値を、ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値として、検索時間範囲に対応する境界時間値を取得する。
コンピュータ機器は、ターゲット番号範囲内の各ログデータ番号のそれぞれに対応するログデータを、検索時間範囲にマッチしたログデータとしてディスクから取得してもよい。ここで、ターゲット番号範囲は、下境界時間値に対応するログデータ番号を範囲開始値として、上境界時間値に対応するログデータ番号を範囲終了値とした番号範囲である。
本願では、別の適用シナリオがさらに提供されている。この適用シナリオでは、上記のログデータ検索方法が適用される。具体的には、該ログデータ検索方法は、多分探索木に基づいてログデータ検索を実現するシナリオに適用可能である。理解できるように、ログ検索時間ツリーは、例えば、ログ検索時間3分木やログ検索時間4分木などのログ検索時間多分木であってもよい。理解できるように、ログ検索時間多分木における各ノードは、ログ検索に供する時間範囲を記録するためのものである。ログ検索時間多分木に基づいて、ディスクにおけるログデータに対する高速検索を実現し、ログデータの検索効率を向上させることができる。
理解すべきものとして、上記の各実施例のフローチャートにおける各ステップは、順序に従って順次示されているが、これらのステップは、必ずしも順序に従って順次実行されるとは限らない。本明細書で明確に説明されない限り、これらのステップの実行順序には、厳しい制限がない。これらのステップは、他の順序で実行されてもよい。また、上記の各実施例における少なくとも一部のステップは、複数のサブステップ又は複数のステージを含んでもよい。これらのサブステップ又はステージは、必ずしも同一の時刻に実行完了するとは限らず、異なる時刻に実行されてもよい。これらのサブステップ又はステージの実行順序も、必ずしも順次に実行するとは限らず、他のステップ、あるいは、他のステップのサブステップ又はステージの少なくとも一部と代わる代わる又は交代で実行されてもよい。
一実施例では、図8に示すように、ログデータ検索装置800が提供されている。この装置は、ソフトウェアモジュール又はハードウェアモジュール、あるいは、両者の組み合わせによって、コンピュータ機器の一部となることができる。この装置は、具体的には、以下のモジュールを含む。
決定モジュール802は、ログ検索時間ツリーから、検索時間範囲にマッチしたターゲットノードを決定し、ログ検索時間ツリーにおける各ノードは、ログ検索に供する時間範囲を記録するためのものであり、ターゲットノードに記録された時間範囲と検索時間範囲に共通集合がある。
決定モジュール802は、さらに、ターゲットノード配下のサブツリーからターゲットサブツリーを決定し、ターゲットサブツリーは、検索時間範囲に対応する境界時間値を探索するためのものである。
走査モジュール804は、ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止し、ターゲットリーフノードに記録されたターゲット時間範囲内の時間値に対応するログデータがディスクに存在する。
決定モジュール802は、さらに、ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値を決定することにより、検索時間範囲に対応する境界時間値を取得する。
取得モジュール806は、境界時間値に基づいて、検索時間範囲にマッチしたログデータをディスクから取得する。
一実施例において、ターゲットノード配下のサブツリーが少なくとも2つであり、決定モジュール802は、さらに、検索時間範囲と、ターゲットノード配下の少なくとも2つのサブツリーのうち1つに記録された時間範囲に共通集合がある場合、共通集合があるサブツリーをターゲットサブツリーとする。
一実施例において、ターゲットノード配下のサブツリーには、左サブツリー及び右サブツリーが含まれ、境界時間値には、下境界時間値が含まれ、決定モジュール802は、さらに、検索時間範囲と、左サブツリー及び右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合、下境界時間値を探索する必要があれば、左サブツリーをターゲットサブツリーとし、走査モジュール804は、さらに、左サブツリーの左エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止する。
一実施例において、走査モジュール804は、さらに、左サブツリーを走査してターゲットリーフノードが見つからない場合、右サブツリーの左エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止する。
一実施例において、ターゲットノード配下のサブツリーには、左サブツリー及び右サブツリーが含まれ、境界時間値には、上境界時間値が含まれ、決定モジュール802は、さらに、検索時間範囲と、左サブツリー及び右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合、上境界時間値を探索する必要があれば、右サブツリーをターゲットサブツリーとし、走査モジュール804は、さらに、右サブツリーの右エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止する。
一実施例において、走査モジュール804は、さらに、右サブツリーを走査してターゲットリーフノードが見つからない場合、左サブツリーの右エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止する。
一実施例において、ターゲットリーフノードに記録されたターゲット時間範囲には、2つの端点時間値があり、決定モジュール802は、さらに、ターゲットリーフノードに記録されたターゲット時間範囲内のいずれか一方の端点時間値から、ターゲット時間範囲内の他方の端点時間値の方向に向かって、ターゲット時間範囲内の各時間値を走査することにより、ターゲット時間範囲から、ログデータに対応する、臨界状態にある時間値を探索して、検索時間範囲に対応する境界時間値を取得する。
一実施例において、決定モジュール802は、さらに、ターゲットリーフノードに記録されたターゲット時間範囲内の端点時間値を本ラウンドの開始時間値として、検索時間範囲を本ラウンドのターゲット探索範囲として、開始時間値から、ターゲット探索範囲内でログ時間値探索処理を行い、探索によりログ時間値を見つけた後、ログ時間値に基づいて検索時間範囲を更新することにより、更新後の時間範囲を取得し、探索終了条件が満たされるまで、ログ時間値を次ラウンドの探索の開始時間値として、更新後の時間範囲を次ラウンドのターゲット探索範囲として、開始時間値から、ターゲット探索範囲内でログ時間値探索処理を行うステップに戻り、次ラウンドの探索を行い、探索して見つけた最後のログ時間値を、ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値として、検索時間範囲に対応する境界時間値を取得し、ログ時間値は、ログデータに対応する時間値である。
一実施例において、端点時間値は、ターゲットリーフノードが指しているディスクにおけるログデータ記憶ファイルのオフセット量に対応する時間値であり、決定モジュール802は、さらに、オフセット量に対応する時間値を本ラウンドの開始時間値として、検索時間範囲を本ラウンドのターゲット探索範囲として、開始時間値から、ターゲットリーフノードが指しているディスクにおけるログデータ記憶ファイルのオフセット量を更新開始し、ターゲット探索範囲内でログ時間値探索処理を行う。
一実施例において、決定モジュール802は、さらに、検索時間範囲に対応する下境界時間値を探索する場合、ログ時間値で検索時間範囲の上限値を更新することにより、更新後の時間範囲を取得する。
一実施例において、決定モジュール802は、さらに、検索時間範囲に対応する上境界時間値を探索する場合、ログ時間値で検索時間範囲の下限値を更新することにより、更新後の時間範囲を取得する。
一実施例において、探索終了条件は、ターゲット時間範囲内の各時間値の走査が完了したこと、又は、ログ時間値探索処理の回数が所定の探索回数に達したこと、のうちの少なくとも1つを含む。
一実施例において、境界時間値には、下境界時間値及び上境界時間値が含まれ、取得モジュール806は、さらに、ターゲット番号範囲内の各ログデータ番号のそれぞれに対応するログデータを、検索時間範囲にマッチしたログデータとしてディスクから取得する。ここで、ターゲット番号範囲は、下境界時間値に対応するログデータ番号を範囲開始値として、上境界時間値に対応するログデータ番号を範囲終了値とした番号範囲である。
上記のログデータ検索装置は、ログ検索時間ツリーから、検索時間範囲にマッチしたターゲットノードを決定し、ログ検索時間ツリーにおける各ノードは、ログ検索に供する時間範囲を記録するためのものであり、ターゲットノードに記録された時間範囲と検索時間範囲に共通集合がある。ログ検索時間ツリーに記録されたのは、ログ検索に供するための時間範囲であり、データ量が小さい。このため、ログ検索時間ツリーに使用される記憶スペースは、ログデータの記憶に使用される記憶スペースより小さく、ログデータを記憶するほど多くのセクタを使用する必要がない。ターゲットノード配下のサブツリーから、境界時間値を探索するためのターゲットサブツリーを決定し、ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止し、ターゲットリーフノードに記録されたターゲット時間範囲内の時間値に対応するログデータがディスクに存在する。ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値を決定することにより、検索時間範囲に対応する境界時間値を取得し、境界時間値に基づいて、検索時間範囲にマッチしたログデータをディスクから取得する。ログ検索時間ツリーに使用される記憶スペースは、ログデータを記憶するほど多くのセクタを使用する必要がないことで、セクタに対する読み書き動作を低減し、ログデータの検索時間を節約し、ログデータの検索効率を向上させる。
上記のログデータ検索装置の各モジュールは、ソフトウェア、ハードウェア、及びこれらの組み合わせによって、全部又は一部実現されてもよい。上記の各モジュールは、ハードウェアの形でコンピュータ機器のプロセッサに埋め込まれても独立してもよいし、ソフトウェアの形でコンピュータ機器のメモリに記憶されてもよい。これにより、プロセッサが上記の各モジュールに対応する動作を呼び出して実行することを容易にする。
一実施例では、コンピュータ機器が提供されている。該コンピュータ機器は、サーバであってもよく、その内部の構成図が図9に示す通りであってもよい。該コンピュータ機器は、1つ又は複数のプロセッサ、メモリ、入出力インタフェース(I/O:Input/Output)、及び通信インタフェースを含む。ここで、プロセッサ、メモリ、及び入出力インタフェースは、システムバスを介して接続され、通信インタフェースは、入出力インタフェースを介して、システムバスに接続される。ここで、該コンピュータ機器のプロセッサは、計算及び制御の機能を提供する。該コンピュータ機器のメモリは、不揮発性記憶媒体及び内部メモリを含む。該不揮発性記憶媒体には、オペレーティングシステム、コンピュータ可読命令、及びデータベースが記憶されている。該内部メモリは、不揮発性記憶媒体におけるオペレーティングシステム及びコンピュータ可読命令の実行のために、環境を提供する。該コンピュータ機器の入出力インタフェースは、プロセッサと外部機器との間で情報をやり取りするためのものである。該コンピュータ機器のネットワークインタフェースは、ネットワーク接続を介して、外部の端末と通信するためのものである。該コンピュータ可読命令は、プロセッサによって実行されると、ログデータ検索方法を実現させる。
一実施例では、コンピュータ機器が提供されている。該コンピュータ機器は、端末であってもよく、その内部の構成図が図10に示す通りであってもよい。該コンピュータ機器は、1つ又は複数のプロセッサ、メモリ、入出力インタフェース、通信インタフェース、表示ユニット、及び入力装置を含む。ここで、プロセッサ、メモリ、及び入出力インタフェースは、システムバスを介して接続され、通信インタフェース、表示ユニット、及び入力装置は、入出力インタフェースを介して、システムバスに接続される。ここで、該コンピュータ機器のプロセッサは、計算及び制御の機能を提供する。該コンピュータ機器のメモリは、不揮発性記憶媒体、内部メモリを含む。該不揮発性記憶媒体には、オペレーティングシステム及びコンピュータ可読命令が記憶されている。該内部メモリは、不揮発性記憶媒体におけるオペレーティングシステム及びコンピュータ可読命令の実行のために、環境を提供する。該コンピュータ機器の入出力インタフェースは、プロセッサと外部機器との間で情報をやり取りするためのものである。該コンピュータ機器の通信インタフェースは、外部の端末と有線方式又は無線方式の通信を行うためのものであり、無線方式は、WIFI、モバイルセルラーネットワーク、近距離通信(NFC)、又はその他の技術によって実現されてもよい。該コンピュータ可読命令は、プロセッサによって実行されると、ログデータ検索方法を実現させる。該コンピュータ機器の表示ユニットは、視覚的に見える画面を形成するためのものであり、ディスプレイスクリーン、投射装置、又は仮想現実結像装置であってもよい。ディスプレイスクリーンは、液晶ディスプレイスクリーン又はE-inkディスプレイスクリーンであってもよい。該コンピュータ機器の入力装置は、ディスプレイスクリーンに重ね合わせたタッチ層であってもよく、コンピュータ機器の筐体に設けられたボタン、トラックボール、又はタッチパッドであってもよく、外付けのキーボード、タッチパッド、又はマウスなどであってもよい。
当業者であれば理解できるように、図9及び図10に示された構成は、本願発明に係る一部の構成のブロック図に過ぎず、本願発明が適用されるコンピュータ機器を限定するものではない。具体的なコンピュータ機器は、図示よりも多く又は少ない構成要素を含んでもよく、又はいくらかの構成要素を組み合わせたものであってもよく、又は構成要素の異なる配置を有してもよい。
一実施例では、メモリと、1つ又は複数のプロセッサとを備えるコンピュータ機器がさらに提供されている。メモリには、コンピュータ可読命令が記憶されており、該プロセッサは、コンピュータ可読命令を実行すると、上記の各方法実施例におけるステップを実現する。
一実施例では、コンピュータ可読命令を記憶した1つ又は複数のコンピュータ可読記憶媒体が提供されている。該コンピュータ可読命令は、1つ又は複数のプロセッサによって実行されると、上記の各方法実施例におけるステップを実現させる。
一実施例では、コンピュータ可読命令を含むコンピュータプログラム製品が提供されている。コンピュータ可読命令は、1つ又は複数のプロセッサによって実行されると、上記の各方法実施例におけるステップを実現させる。
なお、本願に係るユーザ情報(ユーザ機器情報、ユーザ個人情報などを含むが、これらに限定されない)及びデータ(分析用データ、記憶データ、展示データなどを含むが、これらに限定されない)は、いずれも、ユーザによって許可され、又は、各当事者によって十分に許可された情報及びデータであり、関連データの収集、使用、処理には、関連国及び地域の関連法律法規及び基準を遵守する必要がある。
当業者であれば理解できるように、上記の実施例に係る方法の流れの全部又は一部は、コンピュータ可読命令を介して関連ハードウェアに指示することにより実現されてもよい。前記コンピュータ可読指令は、不揮発性コンピュータ可読記憶媒体に記憶されてもよい。このコンピュータ可読命令が実行されると、上記のような各方法の実施例の流れが実行される。ここで、本願で提供された各実施例に使用された、メモリ、ストレージ、データベース、又はその他の媒体へのいかなる参照でも、不揮発性メモリ及び揮発性メモリのうちの少なくとも1つを含んでもよい。不揮発性メモリは、読み出し専用メモリ(ROM:Read-Only Memory)、磁気テープ、フロッピーディスク、フラッシュメモリ、又は光メモリなどを含んでもよい。揮発性メモリは、ランダムアクセスメモリ(RAM:Random Access Memory)、又は外部キャッシュを含んでもよい。限定ではなく説明として、RAMは、例えば、スタティックランダムアクセスメモリ(SRAM:Static Random Access Memory)やダイナミックランダムアクセスメモリ(DRAM:Dynamic Random Access Memory)などの多くの形態であってもよい。
上述した実施例の各構成要件は、任意に組み合わせされてもよい。説明を簡潔にするために、上記実施例の各構成要件の可能な組み合わせが全て説明されているわけではない。しかしながら、これらの構成要件の組み合わせは、矛盾がない限り、本明細書に記載された範囲にあると考えられるべきである。
上述した実施例は、本願のいくつかの実施形態を示したものに過ぎず、説明が具体的で詳しいが、これによって本願の特許範囲への制限と理解されるわけにはいかない。指摘すべきものとして、当業者にとっては、本願の構想を逸脱しない前提で、若干の変形及び改良が可能である。これらの変形及び改良は、いずれも本願の保護範囲に属する。それゆえ、本願の特許保護範囲は、添付の特許請求の範囲に従うべきである。
102 端末
104 サーバ
401 灰色矩形ブロック
800 ログデータ検索装置
802 決定モジュール
804 走査モジュール
806 取得モジュール

Claims (16)

  1. コンピュータ機器が実行するログデータ検索方法であって、
    ログ検索時間ツリーから、検索時間範囲にマッチしたターゲットノードを決定するステップであって、前記ログ検索時間ツリーにおける各ノードは、ログ検索に供する時間範囲を記録するためのものであり、前記ターゲットノードに記録された時間範囲と前記検索時間範囲に共通集合がある、ステップと、
    前記ターゲットノード配下のサブツリーからターゲットサブツリーを決定するステップであって、前記ターゲットサブツリーは、前記検索時間範囲に対応する境界時間値を探索するためのものである、ステップと、
    前記ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止するステップであって、前記ターゲットリーフノードに記録されたターゲット時間範囲内の時間値に対応するログデータがディスクに存在する、ステップと、
    前記ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値を決定することにより、前記検索時間範囲に対応する境界時間値を取得するステップであって、前記臨界状態にある時間値は、前記検索時間範囲における、前記ログデータに対応する最初のログ時間値及び最後のログ時間値である、ステップと、
    前記境界時間値に基づいて、前記検索時間範囲にマッチしたログデータをディスクから取得するステップと、を含む、
    ことを特徴とするログデータ検索方法。
  2. 前記ターゲットノード配下のサブツリーは、少なくとも2つであり、
    前記ターゲットノード配下のサブツリーからターゲットサブツリーを決定する前記ステップは、
    前記検索時間範囲と、前記ターゲットノード配下の少なくとも2つのサブツリーのうち1つに記録された時間範囲に共通集合がある場合、共通集合があるサブツリーをターゲットサブツリーとするステップを含む、
    ことを特徴とする請求項1に記載のログデータ検索方法。
  3. 前記ログ検索時間ツリーには、ログ検索時間2分木が含まれ、前記ターゲットノード配下のサブツリーには、前記ログ検索時間2分木の左サブツリー及び右サブツリーが含まれ、前記境界時間値には、下境界時間値が含まれ、
    前記ターゲットノード配下のサブツリーからターゲットサブツリーを決定する前記ステップは、
    前記検索時間範囲と、前記左サブツリー及び前記右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合、前記下境界時間値を探索する必要があれば、前記左サブツリーを前記ターゲットサブツリーとするステップを含み、
    前記ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止する前記ステップは、
    前記左サブツリーの左エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止するステップを含む、
    ことを特徴とする請求項1に記載のログデータ検索方法。
  4. 前記左サブツリーを走査してターゲットリーフノードが見つからない場合、前記右サブツリーの左エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止するステップをさらに含む、
    ことを特徴とする請求項3に記載のログデータ検索方法。
  5. 前記ターゲットノード配下のサブツリーには、左サブツリー及び右サブツリーが含まれ、前記境界時間値には、上境界時間値が含まれ、
    前記ターゲットノード配下のサブツリーからターゲットサブツリーを決定する前記ステップは、
    前記検索時間範囲と、前記左サブツリー及び前記右サブツリーのいずれに記録された時間範囲との間にも共通集合がある場合、前記上境界時間値を探索する必要があれば、前記右サブツリーを前記ターゲットサブツリーとするステップを含み、
    前記ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止する前記ステップは、
    前記右サブツリーの右エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止するステップを含む、
    ことを特徴とする請求項1に記載のログデータ検索方法。
  6. 前記右サブツリーを走査してターゲットリーフノードが見つからない場合、前記左サブツリーの右エッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止するステップをさらに含む、
    ことを特徴とする請求項5に記載のログデータ検索方法。
  7. 前記ターゲットリーフノードに記録された前記ターゲット時間範囲には、2つの端点時間値があり、前記ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値を決定することにより、前記検索時間範囲に対応する境界時間値を取得する前記ステップは、
    前記ターゲットリーフノードに記録された前記ターゲット時間範囲内のいずれか一方の前記端点時間値から、前記ターゲット時間範囲内の他方の前記端点時間値の方向に向かって、前記ターゲット時間範囲内の各時間値を走査することにより、前記ターゲット時間範囲から、ログデータに対応する、臨界状態にある時間値を探索して、前記検索時間範囲に対応する境界時間値を取得するステップを含む、
    ことを特徴とする請求項1に記載のログデータ検索方法。
  8. 前記ターゲットリーフノードに記録された前記ターゲット時間範囲内のいずれか一方の前記端点時間値から、前記ターゲット時間範囲内の他方の前記端点時間値の方向に向かって、前記ターゲット時間範囲内の各時間値を走査することにより、前記ターゲット時間範囲から、ログデータに対応する、臨界状態にある時間値を探索して、前記検索時間範囲に対応する境界時間値を取得する前記ステップは、
    前記ターゲットリーフノードに記録された前記ターゲット時間範囲内の端点時間値を本ラウンドの開始時間値として、前記検索時間範囲を本ラウンドのターゲット探索範囲として、前記開始時間値から、前記ターゲット探索範囲内でログ時間値探索処理を行うステップであって、前記ログ時間値は、ログデータに対応する時間値である、ステップと、
    探索によりログ時間値を見つけた後、前記ログ時間値に基づいて前記検索時間範囲を更新することにより、更新後の時間範囲を取得するステップと、
    探索終了条件が満たされるまで、前記ログ時間値を次ラウンドの探索の開始時間値として、更新後の時間範囲を次ラウンドのターゲット探索範囲として、前記開始時間値から、前記ターゲット探索範囲内でログ時間値探索処理を行うステップに戻って次ラウンドの探索を行い、探索して見つけた最後のログ時間値を、前記ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値として、前記検索時間範囲に対応する境界時間値を取得するステップと、を含む、
    ことを特徴とする請求項7に記載のログデータ検索方法。
  9. 前記端点時間値は、前記ターゲットリーフノードが指しているディスクにおけるログデータ記憶ファイルのオフセット量に対応する時間値であり、
    前記ターゲット時間範囲内の端点時間値を本ラウンドの開始時間値として、前記検索時間範囲を本ラウンドのターゲット探索範囲として、前記開始時間値から、前記ターゲット探索範囲内でログ時間値探索処理を行う前記ステップは、
    前記オフセット量に対応する時間値を本ラウンドの開始時間値として、前記検索時間範囲を本ラウンドのターゲット探索範囲として、前記開始時間値から、前記ターゲットリーフノードが指しているディスクにおけるログデータ記憶ファイルのオフセット量を更新開始し、前記ターゲット探索範囲内でログ時間値探索処理を行うステップを含む、
    ことを特徴とする請求項8に記載のログデータ検索方法。
  10. 探索によりログ時間値を見つけた後、前記ログ時間値に基づいて前記検索時間範囲を更新することにより、更新後の時間範囲を取得する前記ステップは、
    前記検索時間範囲に対応する下境界時間値を探索する場合、前記ログ時間値で前記検索時間範囲の上限値を更新することにより、更新後の時間範囲を取得するステップを含む、
    ことを特徴とする請求項8に記載のログデータ検索方法。
  11. 探索によりログ時間値を見つけた後、前記ログ時間値に基づいて前記検索時間範囲を更新することにより、更新後の時間範囲を取得する前記ステップは、
    前記検索時間範囲に対応する上境界時間値を探索する場合、前記ログ時間値で前記検索時間範囲の下限値を更新することにより、更新後の時間範囲を取得するステップを含む、
    ことを特徴とする請求項8に記載のログデータ検索方法。
  12. 前記探索終了条件は、前記ターゲット時間範囲内の各時間値の走査が完了したこと、又は、前記ログ時間値探索処理の回数が所定の探索回数に達したこと、のうちの少なくとも1つを含む、
    ことを特徴とする請求項8に記載のログデータ検索方法。
  13. 前記境界時間値には、下境界時間値及び上境界時間値が含まれ、前記境界時間値に基づいて、前記検索時間範囲にマッチしたログデータをディスクから取得する前記ステップは、
    ターゲット番号範囲内の各ログデータ番号のそれぞれに対応するログデータを、前記検索時間範囲にマッチしたログデータとしてディスクから取得するステップを含み、
    前記ターゲット番号範囲は、前記下境界時間値に対応するログデータ番号を範囲開始値として、前記上境界時間値に対応するログデータ番号を範囲終了値とした番号範囲である、
    ことを特徴とする請求項1に記載のログデータ検索方法。
  14. ログデータ検索装置であって、決定モジュールと、走査モジュールと、取得モジュールと、を含み、
    前記決定モジュールは、ログ検索時間ツリーから、検索時間範囲にマッチしたターゲットノードを決定し、前記ログ検索時間ツリーにおける各ノードは、ログ検索に供する時間範囲を記録するためのものであり、前記ターゲットノードに記録された時間範囲と前記検索時間範囲に共通集合があり、
    前記決定モジュールは、さらに、前記ターゲットノード配下のサブツリーからターゲットサブツリーを決定し、前記ターゲットサブツリーは、前記検索時間範囲に対応する境界時間値を探索するためのものであり、
    前記走査モジュールは、前記ターゲットサブツリーのエッジリーフノードからリーフノード走査処理を開始し、走査によりターゲットリーフノードを見つけた後に、走査を停止し、前記ターゲットリーフノードに記録されたターゲット時間範囲内の時間値に対応するログデータがディスクに存在し、
    前記決定モジュールは、さらに、前記ターゲットリーフノードに記録された、ログデータに対応する、臨界状態にある時間値を決定することにより、前記検索時間範囲に対応する境界時間値を取得し、前記臨界状態にある時間値は、前記検索時間範囲における、前記ログデータに対応する最初のログ時間値及び最後のログ時間値であり、
    前記取得モジュールは、前記境界時間値に基づいて、前記検索時間範囲にマッチしたログデータをディスクから取得する、
    ことを特徴とするログデータ検索装置。
  15. メモリと、1つ又は複数のプロセッサと、を備えるコンピュータ機器であって、前記メモリには、コンピュータ可読命令が記憶されており、前記プロセッサは、前記コンピュータ可読命令を実行すると、請求項1乃至13のいずれか1項に記載のログデータ検索方法を実現することを特徴とするコンピュータ機器。
  16. コンピュータに、請求項1乃至13のいずれか1項に記載の方法を実行させることを特徴とするコンピュータプログラム。
JP2024563951A 2022-07-20 2023-05-04 ログデータ検索方法、ログデータ検索装置、コンピュータ機器、及びコンピュータプログラム Active JP7841804B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202210862134.9 2022-07-20
CN202210862134.9A CN117472852A (zh) 2022-07-20 2022-07-20 日志数据查询方法、装置、设备和介质
PCT/CN2023/092092 WO2024016789A1 (zh) 2022-07-20 2023-05-04 日志数据查询方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
JP2025514992A JP2025514992A (ja) 2025-05-13
JP7841804B2 true JP7841804B2 (ja) 2026-04-07

Family

ID=89616982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024563951A Active JP7841804B2 (ja) 2022-07-20 2023-05-04 ログデータ検索方法、ログデータ検索装置、コンピュータ機器、及びコンピュータプログラム

Country Status (5)

Country Link
US (1) US12430348B2 (ja)
EP (1) EP4394618A4 (ja)
JP (1) JP7841804B2 (ja)
CN (1) CN117472852A (ja)
WO (1) WO2024016789A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118445258B (zh) * 2024-07-08 2024-09-03 中国人民解放军国防科技大学 三叉树nat数据结构构造方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196514A (ja) 2004-01-08 2005-07-21 Meidensha Corp 履歴データの管理・検索方法
JP2008287544A (ja) 2007-05-18 2008-11-27 Panasonic Corp 映像信号検索方法及び検索用2分木生成方法
JP2014199581A (ja) 2013-03-29 2014-10-23 富士通株式会社 ストレージシステム、情報処理装置の制御プログラム及びストレージシステムの制御方法
US20180336532A1 (en) 2017-05-16 2018-11-22 Microsoft Technology Licensing, Llc Calendar range searching

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002522848A (ja) * 1998-08-11 2002-07-23 アイ2・テクノロジーズ・インコーポレイテッド 企業モデルにおける時間で変動する変数のためのデータ構造及び操作
US7120637B2 (en) * 2003-05-30 2006-10-10 Microsoft Corporation Positional access using a b-tree
US7761474B2 (en) * 2004-06-30 2010-07-20 Sap Ag Indexing stored data
US7512617B2 (en) * 2004-12-29 2009-03-31 Sap Aktiengesellschaft Interval tree for identifying intervals that intersect with a query interval
US10983998B2 (en) * 2008-06-25 2021-04-20 Microsoft Technology Licensing, Llc Query execution plans by compilation-time execution
CN102369520B (zh) * 2011-09-02 2014-02-19 华为技术有限公司 虚拟内存区域的查询、遍历方法及装置
CN105117417B (zh) * 2015-07-30 2018-04-17 西安交通大学 一种读优化的内存数据库Trie树索引方法
CN105630914A (zh) * 2015-12-21 2016-06-01 山东中创软件商用中间件股份有限公司 日志数据查询方法及装置
CN106649627B (zh) * 2016-12-06 2019-09-17 杭州迪普科技股份有限公司 一种日志查找的方法和装置
US10983995B2 (en) * 2017-06-15 2021-04-20 Crowdstrike, Inc. Information retrieval using automata
CN108460102A (zh) * 2018-02-05 2018-08-28 湖南视觉伟业智能科技有限公司 社交网络数据查询方法、装置、计算机设备和存储介质
US11030174B1 (en) * 2018-04-19 2021-06-08 Amazon Technologies, Inc. Quantized time range indexing for out of order event collections
US11645628B2 (en) * 2019-05-16 2023-05-09 Microsoft Technology Licensing, Llc Translation of time between calendar systems
CN112612827B (zh) * 2020-12-25 2024-07-12 平安国际智慧城市科技股份有限公司 数据库分页查询方法、装置、计算机设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196514A (ja) 2004-01-08 2005-07-21 Meidensha Corp 履歴データの管理・検索方法
JP2008287544A (ja) 2007-05-18 2008-11-27 Panasonic Corp 映像信号検索方法及び検索用2分木生成方法
JP2014199581A (ja) 2013-03-29 2014-10-23 富士通株式会社 ストレージシステム、情報処理装置の制御プログラム及びストレージシステムの制御方法
US20180336532A1 (en) 2017-05-16 2018-11-22 Microsoft Technology Licensing, Llc Calendar range searching

Also Published As

Publication number Publication date
US12430348B2 (en) 2025-09-30
EP4394618A1 (en) 2024-07-03
CN117472852A (zh) 2024-01-30
WO2024016789A1 (zh) 2024-01-25
JP2025514992A (ja) 2025-05-13
EP4394618A4 (en) 2025-02-19
US20240211483A1 (en) 2024-06-27

Similar Documents

Publication Publication Date Title
CN111797134B (zh) 分布式数据库的数据查询方法、装置和存储介质
US9996549B2 (en) Method to construct a file system based on aggregated metadata from disparate sources
US10645090B2 (en) Access control for objects having attributes defined against hierarchically organized domains containing fixed number of values
CN110134335B (zh) 一种基于键值对的rdf数据管理方法、装置及存储介质
US11941465B2 (en) File discovery on a data storage device based on a filesystem location of microservices
WO2019161645A1 (zh) 基于Shell的数据表提取方法、终端、设备及存储介质
CN110955662A (zh) 一种维护数据表关联关系的方法、计算设备及存储介质
CN113111138A (zh) 数据处理方法、装置、计算设备以及介质
CN116991897A (zh) 一种基于磁盘存储的查询方法及装置
CN112835638B (zh) 一种基于嵌入式应用程序的配置信息管理方法及装置
JP7841804B2 (ja) ログデータ検索方法、ログデータ検索装置、コンピュータ機器、及びコンピュータプログラム
CN107193754B (zh) 进行数据存储用于搜索的方法及设备
CN107844592A (zh) 一种查询元数据的方法和装置
US11138148B2 (en) Information processing apparatus, control method, and storage medium
US20250291847A1 (en) Data storage methods and apparatuses for graph database
CN110222046A (zh) 列表数据的处理方法、装置、服务器和存储介质
US20140074785A1 (en) Open file rebalance
US9208259B2 (en) Using symbols to search local and remote data stores
CN114880286B (zh) 设备的访问方法、装置、计算设备及可读存储介质
US12271270B2 (en) Enabling user-based instant access from file based backups
CN117610059B (zh) 一种权限数据的存储方法、装置、设备及存储介质
US20240427736A1 (en) Managing access to file based backups based on storage units and workload use
US20240427673A1 (en) Managing use of a shared virtual disk for accessing data in file based backups by multiple virtual machines
US20240427735A1 (en) Search driven instant access across multiple backup copies
CN108710661A (zh) 一种基于内存顺序表实现文本文件的数据管理方法和装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260319

R150 Certificate of patent or registration of utility model

Ref document number: 7841804

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150