JP2020057416A - 分散データベースにおけるデータブロックを処理する方法およびデバイス - Google Patents

分散データベースにおけるデータブロックを処理する方法およびデバイス Download PDF

Info

Publication number
JP2020057416A
JP2020057416A JP2019224177A JP2019224177A JP2020057416A JP 2020057416 A JP2020057416 A JP 2020057416A JP 2019224177 A JP2019224177 A JP 2019224177A JP 2019224177 A JP2019224177 A JP 2019224177A JP 2020057416 A JP2020057416 A JP 2020057416A
Authority
JP
Japan
Prior art keywords
data block
tablet
log
tablet data
block information
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
JP2019224177A
Other languages
English (en)
Other versions
JP6996812B2 (ja
Inventor
ラオ、ツィタオ
Zhitao Rao
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 JP2020057416A publication Critical patent/JP2020057416A/ja
Application granted granted Critical
Publication of JP6996812B2 publication Critical patent/JP6996812B2/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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】データブロックを処理する方法、プログラム及び装置を提供する。【解決手段】方法は、ストレージサーバにより送信される、タブレットデータブロック情報を含むログを制御サーバが受信した場合、ログに含まれるタブレットデータブロック情報を取得しS201、ルートテーブルにおけるタブレットデータブロック情報についてマージサーバに照会しS202、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合しているかどうかを判断しS203、ログに含まれるタブレットデータブロック情報及びルートテーブルにおけるタブレットデータブロック情報を要約及び格納しS204、判断の結果が、整合していないということであった場合、アラームを送信するS205。【選択図】図2

Description

関連出願の相互参照 本願は、2015年2月27日に出願された、「Method and Equipment for Processing Data Blocks」という発明の名称の中国特許出願公開第CN201510090139.4号明細書、および2016年2月4日に出願された、「Method and Equipment for Processing Data Blocks」という発明の名称の国際公開第CN2016/073594号の優先権の利益を主張する。それらの各々の開示は、ここに、参照によりその全体が組み込まれる。
開示される実施形態は、通信技術分野に関し、特に、分散データベースにおけるデータブロックを処理する方法、および分散データベースにおけるデータブロックを処理するデバイスに関する。
クラウドコンピューティングが進歩するにつれ、従来のデータベースは、クラウドコンピューティングに関連するビッグデータのサポートにおいて、より一層の困難に直面している。これらの困難に起因して、分散データベースは、急速に発展している。分散データベース技術は、クラウドコンピューティングシステムの重要な要素として成熟しており、また、将来的には様々な産業で広く用いられ、コストが低く、拡張が容易で、可用性が高いデータストレージソリューションをビジネスに提供するであろう。
1つの分散データベースであるOceanBaseは、OceanBaseストレージエンジンを実装することで何万もの汎用PCサーバのためのディスクの管理もするという点で、他の分散データベースと同様に、現在主流の分散データベースである。OceanBaseの各PCサーバにおけるディスクは、ストレージエンジンにより、データを格納する複数のストレージブロック(例えば、論理データブロック、タブレットデータブロック、およびそれらと同様のもの)に分割される。あるOceanBaseデータベースにおいて、1つのタブレットデータブロックは、当該OceanBaseデータベースの1つのテーブルのみに属し得、当該データベースにおける1つのテーブルは、当該テーブルに格納されるデータの容量に応じて、複数のタブレットデータブロックを有し得る。つまり、OceanBaseデータベースにおけるタブレットデータブロックとテーブルとの間には多対一の関係が存在する。分散データベースのストレージエンジンの基礎的記憶単位であるタブレットデータブロックは、PCサーバ上に多数存在する。分散データベースの高可用性を保証すべく、1つのタブレットデータブロックは、多くのコピーを有し得る。換言すれば、同じデータが多くのタブレットデータブロックに存在し得る。その上、継時的なデータの挿入、削除および更新(ならびに分散データベースシステムの負荷平均化のニーズ)では、タブレットデータブロックは、分割、移行および併合などの複雑なオペレーションにかけられる。これらのオペレーションの失敗は、コピーの消失またはコピーのデータ間の不整合につながる。大規模分散データベースシステムにおける複雑性が高いことに起因して、データの整合性、システムの高可用性、パーティションの耐故障性等に関連する困難な問題が対処されなければならない。したがって、タブレットデータブロックの合理的かつ正確な分散を管理するのは困難である。
結果として、タブレットデータブロックの変化ステータスをリアルタイムでトラッキングすることにより、様々なPCサーバのディスク上でのタブレットデータブロックの詳細な分散が正確に取得され得、PCサーバのディスク上でのタブレットデータブロックの分散の合理性を分析するのが容易になる。また、さらなるサービス価値をユーザにもたらすよう、あるPCサーバ上またはPCサーバの特定のディスク上のタブレットデータブロックの密度に関する早期警告を与えることが可能である。各テーブルにおけるタブレットデータブロックの分散位置も、その有効期間中の各テーブルにおけるタブレットデータブロックの変化ステータスを取得し、かつさらなるサービス価値をユーザに提供するよう、正確に識別されるであろう。さらなるサービス価値をユーザにもたらすよう、分散データベースのデータストレージの全体が包括的に監視され得、データセグメントの記憶位置が正確に見つけられ得る。上記利益に加え、分散データベースにおけるタブレットデータブロックの変化ステータスのリアルタイムトラッキングは、多くの他の利益をもたらし得る。分散データベースにおいてリアルタイムで取得されるタブレットデータブロックについて関連チェックを実行することにより、その後の自動または手動の処理の基礎を提供すべく、タブレットデータブロックに見つかったデータの不整合に基づいてアラームが送信され得、プログラムバグにより引き起こされるタブレットデータブロックの障害または消失が防がれ得る。プログラムバグは、解決のために分散データベースの開発業者にも報告され得、それにより、分散データベースの安定性および高可用性がさらに向上する。
現在、OceanBaseデータベースにおけるタブレットデータブロックをトラッキングするための既成の方法は存在しない。トラッキングは通常、タブレットデータブロックの消失またはタブレットデータブロックの不整合が発生した場合、タブレットデータブロックのデータを取得すべくルートテーブルについてOceanBaseデータベースを手動で探索することにより実行されるか、そうでなければ、手動で検出される。現在のシステムにおいて、様々なテーブルのタブレットデータブロック情報は、タブレットデータブロックの消失またはタブレットデータブロックの不整合が発生したか、そうでなければ、検出された場合、OceanBaseルートテーブルシステムテーブルから手動で取得される。OceanBaseルートテーブルに格納されるテーブルのタブレットデータブロック情報は、最近のタブレットデータブロック情報にすぎない。換言すれば、既存のシステムは、タブレットデータブロックの現在のステータスデータのみを取得し得るが、タブレットデータブロックの変化ステータスを継時的にトラッキングし得ない。
タブレットデータブロックをチェックする既存の方法は、OceanBaseのストレージサーバログを手動でトラバースして、タブレットデータブロックに関連するログを取得する段階と、これらのログの情報を統合し、次に、そのような情報を、OceanBaseルートテーブルシステムテーブルにおける対応するテーブルのタブレットデータブロックのデータの関連データと比較する段階とを備える。OceanBaseのストレージサーバログの手動トラバースには、極めて非効率的であるという欠点がある。また、ディスクの空き容量の大部分がログファイルにより占められることを防ぐべく、OceanBaseは、特定の時点より前に格納されたログファイルを定期的にクリーニングする。ログがクリーニングされる(例えば、削除される)ので、OceanBaseのストレージサーバログを手動でトラバースすることにより取得された、タブレットデータブロックのログデータは、不完全になる。これは、チェックの結果が不正確になることにつながり得る。
つまり、現在のシステムは、タブレットデータブロックの変化ステータスを継時的にトラッキングし得ず、現在のシステムにおけるタブレットデータブロックをチェックすることには、極めて非効率で、結果が不正確であるという欠点がある。
本開示の複数の実施形態は、タブレットデータブロックの変化ステータスをリアルタイムでトラッキングし得、かつ、タブレットデータブロック情報を効率的かつ正確にチェックし得る、データブロックを処理する方法およびデバイスを提供する。
一実施形態において、ストレージサーバと、制御サーバと、マージサーバとを備えるシステムに適用される、データブロックを処理する方法であって、ストレージサーバにより送信される、タブレットデータブロック情報を含むログを制御サーバが受信した場合、ログに含まれるタブレットデータブロック情報を制御サーバにより取得する段階と、制御サーバにより、ログに含まれるタブレットデータブロック情報に従って、対応するルートテーブルにおけるタブレットデータブロック情報をマージサーバに照会する段階と、制御サーバにより、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合しているかどうかを判断する段階と、制御サーバにより、ログに含まれるタブレットデータブロック情報およびルートテーブルにおけるタブレットデータブロック情報を要約および格納する段階と、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合していないことを判断の結果が示した場合、アラームを送信する段階とを備える方法が提供される。
一実施形態において、制御サーバにより、ログに含まれるタブレットデータブロック情報に従って、対応するルートテーブルにおけるタブレットデータブロック情報をマージサーバに照会する段階は、制御サーバにより、ログに含まれるタブレットデータブロック情報に対応するテーブル名を識別する段階と、制御サーバにより、テーブル名に対応するルートテーブルにおけるタブレットデータブロック情報をマージサーバに照会する段階とを有する。
一実施形態において、制御サーバにより、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合しているかどうかを判断する段階は、制御サーバにより、ルートテーブルにおけるタブレットデータブロックに対応するタブレットデータブロック情報であって、テーブル名、境界、位置分散、データチェックディジット、インデックス、作成時間およびサイズのうちの1または複数を含む、ルートテーブルにおけるタブレットデータブロックに対応するタブレットデータブロック情報が、ログに含まれるタブレットデータブロックと整合しているかどうかをチェックする段階と、ルートテーブルにおけるタブレットデータブロックに対応する情報のいずれかについて何らかの不整合がチェックの結果に見つかった場合、制御サーバにより、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合していないと判断する段階とを有する。
一実施形態において、制御サーバにより、ログに含まれるタブレットデータブロック情報およびルートテーブルにおけるタブレットデータブロック情報を要約および格納する段階は、制御サーバにより、ログに含まれるタブレットデータブロック情報およびルートテーブルにおけるタブレットデータブロック情報を要約する段階と、制御サーバにより、複数のタブレットデータブロックに対応する複数のテーブル名を複数のキー値として用いて、要約されたタブレットデータブロック情報をディスクに永続的に保存する段階とを有する。
本開示の一実施形態は、ストレージサーバと、制御サーバと、マージサーバとを備えるシステムに適用される、データブロックを処理する方法であって、以下の段階、つまり、新たなデータが1または複数のログに現れたとストレージサーバが判断した場合、ストレージサーバにより1または複数のログをポーリングする段階と、新たなデータがタブレットデータブロック情報であるかどうかを識別する段階と、異常であった場合、制御サーバが、ログに含まれるタブレットデータブロック情報とマージサーバのルートテーブルにおける(または複数のデバイスに亘って分散した複数のルートテーブルのうちの1つにおける)タブレットデータブロック情報との間の整合性を識別し、当該情報を要約および格納するように、ストレージサーバにより、タブレットデータブロック情報を含むログを制御サーバに送信する段階とを備える方法を提供する。
本開示の一実施形態は、ストレージサーバと、制御サーバと、マージサーバとを備えるシステムに適用される制御サーバであって、ストレージサーバにより送信される、タブレットデータブロック情報を含むログを受信するよう構成される受信モジュールと、ストレージサーバにより送信される、タブレットデータブロック情報を含むログを受信モジュールが受信した場合、ログに含まれるタブレットデータブロック情報を取得するよう構成される取得モジュールと、取得モジュールにより取得された、ログに含まれるタブレットデータブロック情報に従って、対応するルートテーブルにおけるタブレットデータブロック情報についてマージサーバに照会するよう構成される照会モジュールと、取得モジュールにより取得された、ログに含まれるタブレットデータブロック情報が、照会モジュールにより見つけられた、ルートテーブルにおけるタブレットデータブロック情報と整合しているかどうかを判断するよう構成される判断モジュールと、取得モジュールにより取得された、ログに含まれるタブレットデータブロック情報と、照会モジュールにより見つけられた、ルートテーブルにおけるタブレットデータブロック情報とを要約および格納するよう、かつ、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合していないことを判断の結果が示した場合、アラームを送信するよう構成される処理モジュールとを備える制御サーバを提供する。
一実施形態において、照会モジュールは、取得モジュールにより取得された、ログに含まれるタブレットデータブロック情報に対応するテーブル名を判断するよう、かつ、テーブル名に対応するルートテーブルにおけるタブレットデータブロック情報についてマージサーバに照会するよう特に構成される。
一実施形態において、判断モジュールは、照会モジュールにより見つけられた、ルートテーブルにおけるタブレットデータブロックに対応するタブレットデータブロック情報であって、テーブル名、境界、位置分散、データチェックディジット、インデックス、作成時間およびサイズのうちの1または複数を含む、ルートテーブルにおけるタブレットデータブロックに対応するタブレットデータブロック情報が、取得モジュールにより取得された、ログに含まれるタブレットデータブロックと整合しているどうかをチェックするよう、かつ、ルートテーブルにおけるタブレットデータブロックに対応する情報のいずれかについて何らかの不整合がチェックの結果に見つかった場合、取得モジュールにより取得された、ログに含まれるタブレットデータブロック情報が、照会モジュールにより見つけられた、ルートテーブルにおけるタブレットデータブロック情報と整合していないと判断するようさらに構成される。
一実施形態において、処理モジュールは、取得モジュールにより取得された、ログに含まれるタブレットデータブロック情報と、照会モジュールにより見つけられた、ルートテーブルにおけるタブレットデータブロック情報とを要約するよう、かつ、複数のタブレットデータブロックに対応する複数のテーブル名を複数のキー値として用いて、要約されたタブレットデータブロック情報をディスクに永続的に保存するようさらに構成される。
本開示の一実施形態は、ストレージサーバと、制御サーバと、マージサーバとを備えるシステムに適用されるストレージサーバであって、ストレージサーバのログをポーリングするよう構成されるポーリングモジュールと、新たなデータがログに現れたとポーリングモジュールが判断した場合、新たなデータがタブレットデータブロック情報であるかどうか識別するよう構成される識別モジュールと、識別モジュールの識別の結果が異常であった場合、制御サーバが、ログに含まれるタブレットデータブロック情報とマージサーバのルートテーブルにおける(または複数のデバイスに亘って分散した複数のルートテーブルのうちの1つにおける)タブレットデータブロック情報との間の整合性を識別し、かつ、情報を要約および格納するように、タブレットデータブロック情報を含むログを制御サーバに送信するよう構成される送信モジュールとを備えるストレージサーバを提供する。
現在のシステムと比較して、開示される実施形態には、少なくとも以下の利点、つまり、様々なテーブルのタブレットデータブロックの継時的な変化ステータスのデータがリアルタイムで取得され得ること、取得されたデータがディスクに永続的に格納されること、および、有効期間中のテーブルのタブレットデータブロックのステータスの変化についてのグラフが、ディスクに永続的に格納されたデータに従って描かれ、それにより、タブレットデータブロックのステータスの変化を追跡するという効果を達成し得ることがある。開示される実施形態において、関連チェックは、タブレットデータブロックに関連する取得された情報に従って、データベースにおける様々なテーブルのタブレットデータブロックについて、リアルタイムで実行され得る。プログラムバグにより引き起こされるタブレットデータブロックの障害および消失についての早期警告は、リアルタイムで効率的かつ正確に送信され得、それにより、現在のシステムに存在する問題、つまり、効率が極めて低く、チェックの結果が不正確であるという欠点を克服し得る。
開示される実施形態における技術的解決法をより明らかに示すべく、実施形態を説明する図面が以下に手短に紹介される。以下に説明される図面は、開示される実施形態のいくつかにすぎない。当業者であれば、創造的な努力をすることなく、叙述される実施形態におけるこれらの図面に従って、他の図面も取得し得る。
本開示のいくつかの実施形態に従ったデータベースの構造図である。
本開示のいくつかの実施形態に従った、データブロックを処理する方法のフロー図である。
本開示のいくつかの実施形態に従った、データブロックを処理する方法のフロー図である。
本開示のいくつかの実施形態に従った、ストレージサーバログ用パースデーモンのフロー図である。
本開示のいくつかの実施形態に従った制御サーバの動作を例示するフロー図である。
本開示のいくつかの実施形態に従った、データベースのデータブロックを処理するデバイスの構造図である。
本開示のいくつかの実施形態に従った、データベースのデータブロックを処理するデバイスの構造図である。
現在のシステムに存在する問題をより明らかに示すべく、図1は、データベースの構造図を示す。データベースは、例えば、OceanBaseデータベースであり得る。図1は、具体的な適用シナリオを示す。適用シナリオにおいて、データベースは、既定の3レベル構造を用いて、各テーブルについてその論理データブロック(すなわち、タブレットデータブロック)の位置情報および他のメタデータをデータベースに格納する。テーブルの3レベルは共に、システムの全ルートテーブルを構成する。いくつかの実施形態において、ルートテーブルは、多数のコンピューティングデバイスまたはサーバに亘って分散され得る。
図1は、ルートテーブルに属さないユーザテーブル(102a、102b)を示す。各ユーザテーブルは、所定のサイズに従って、毎日の併合中に複数のタブレットに分割される。各タブレットは、ユーザテーブルデータのいくつかを格納する。全てのタブレットフラグメントがユーザテーブル全体のデータの全てを構成する。
図1は、ユーザテーブルのメタデータテーブルをさらに示す。当該メタデータテーブルは、ユーザメタテーブル(104a、104b)と称される。各ユーザテーブル(102a、102b)は、1つのユーザメタテーブル(104a、104b)に対応する。ユーザメタテーブルにおける1つのデータ行がユーザテーブルにおける1つのタブレットに対応する。データ行は、ユーザテーブルのタブレットの境界値、位置分散、チェック値およびインデックスなどの情報を格納する。ユーザメタテーブルは、所定のサイズに従って、毎日の併合中に複数のタブレット(104a、104b)に分割され得る。さらに、ユーザメタテーブルにおける各タブレット(104a、104b)は、ユーザメタテーブルデータのいくつかを格納する。
図1は、ユーザメタテーブルのメタデータテーブルをさらに示す。当該メタデータテーブルは、ユーザルートテーブル(106a、106b)と称される。第3レベル(すなわち、ユーザメタテーブル(104a、104b)を含むレベル)の1つのタブレットに対応する各行は、ユーザメタテーブルのタブレットの境界値、位置分散、チェック値およびインデックスなどの情報を格納する。ユーザルートテーブル(106a、106b)は、分割が許可されない1つのタブレットのみを有する。
図1は、全てのユーザルートテーブルへのエントリをさらに示す。エントリは、第1ルートテーブル(108)と称される。第2レベルのユーザルートテーブル(106a、106b)に対応する各行は、ユーザルートテーブルに属すタブレットの境界、位置分散、チェック値およびインデックスを含む情報を格納する。第1ルートテーブル(108)は、分割が許可されない1つのタブレットのみを有する。
OceanBaseデータベースにおいて、タブレットデータブロックは、多くのコピーを有し得る。換言すれば、同じデータが多くのタブレットデータブロックに存在し得る。その上、継時的なデータの挿入、削除および更新(ならびに分散データベースシステムの負荷平均化のニーズ)では、タブレットデータブロックは、分割、移行および併合などの複雑なオペレーションにかけられる。これらのオペレーションの失敗は、コピーの消失またはコピーのデータ間の不整合につながる。したがって、タブレットデータブロックの変化ステータスをリアルタイムでトラッキングすることにより、タブレットデータブロックのステータスを継時的に追跡することが可能である。関連チェックは、タブレットデータブロックに関連する取得された情報に従って、OceanBaseデータベース中の様々なテーブルにおけるタブレットデータブロックについて、リアルタイムで実行され得る。プログラムバグにより引き起こされるタブレットデータブロックの障害および消失についての早期警告は、リアルタイムで効率的かつ正確に送信され得る。
とはいうものの、現在のシステムは、タブレットデータブロックの変化ステータスを継時的にトラッキングし得ず、現在のタブレットデータブロックチェック技術は、効率が極めて低く結果が不正確であるという欠点がる。現在のシステムにおけるこの問題を克服すべく、本開示は、本明細書において説明される以下の実施形態を提供する。
現在のシステムがタブレットデータブロックの変化ステータスを継時的に追跡し得えない、またチェック効率が極めて低くチェックの結果が不正確であるという欠点を克服すべく、第1実施形態において、本開示は、データブロックを処理する方法を提供する。
図2は、本開示のいくつかの実施形態に従った、データブロックを処理する方法のフロー図である。図2に示される実施形態は、ストレージサーバと、制御サーバと、マージサーバとを含むシステムに適用され得る。図示される実施形態において、以下の段階は、制御サーバで実行され得る。一実施形態において、ストレージサーバと、制御サーバと、マージサーバとは、プロセッサと、プロセッサにより実行された場合、開示された方法のいくつかまたは全てをデバイスに実行させるコンピュータ実行可能命令を格納した非一時的メモリとを有するデバイスを各々備え得る。
段階S201 ストレージサーバにより送信される、論理データブロック用の、タブレットデータブロック情報を含むログを制御サーバが受信した場合、ログに含まれるタブレットデータブロック情報を制御サーバにより取得する。
一実施形態において、段階S201は、ストレージサーバにより報告される、タブレットデータブロック情報を含むログを制御サーバにより受信する段階と、ログをパースする段階と、ログに対応するタブレットデータブロック情報を抽出する段階とを含む。
タブレットデータブロック情報は、限定されないが、以下の情報、つまり、タブレットデータブロックに対応するテーブル名、タブレットデータブロックに対応する境界、タブレットデータブロックの位置分散、タブレットデータブロックのデータチェックコード、タブレットデータブロックのインデックス、タブレットデータブロックの作成時間およびタブレットデータブロックのサイズのうちの1または複数を含む。
段階S202 ログに含まれるタブレットデータブロック情報に従って、対応するルートテーブルにおけるタブレットデータブロック情報についてマージサーバに照会する。
一実施形態において、段階S202は、ログに含まれるタブレットデータブロック情報に対応するテーブル名を制御サーバにより識別する段階と、制御サーバにより、テーブル名に対応するルートテーブルにおけるタブレットデータブロック情報をマージサーバに照会する段階とを含む。
段階S203 ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合しているかどうかを判断する。
一実施形態において、段階S203は、ルートテーブルにおけるタブレットデータブロックに対応する情報であって、テーブル名、境界、位置分散、データチェックコード、インデックス、作成時間およびサイズのうちの1または複数を含む、ルートテーブルにおけるタブレットデータブロックに対応する情報が、ログに含まれるタブレットデータブロックと整合しているかどうかを制御サーバによりチェックする段階を具体的に含む。
当該情報のいずれかについて何らかの不整合が段階S203のチェックの結果に見つかった場合、方法は、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合していないと制御サーバにより判断する段階を備え得る。
一方、当該情報のいずれかについて整合性が段階S203のチェックの結果に見つかった場合、方法は、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合していると判断する。
一実施形態において、以下の段階S204は、判断の結果が異常であるか正常であるか(例えば、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合しているか整合していないかのそれぞれ)に拘らず、実行される。判断の結果が、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合していないということであった場合、さらなるステップS205が実行される必要がある。
段階S204 ログに含まれるタブレットデータブロック情報と、ルートテーブルにおけるタブレットデータブロック情報とを要約および格納する。一実施形態において、段階S204は、複数のタブレットデータブロックに対応する複数のテーブル名を複数のキー値として用いて、要約されたタブレットデータブロック情報をディスクに永続的に保存する段階を含む。
段階S205 アラームを送信する。一実施形態において、アラームは、タブレットデータブロック情報が整合しておらず、即時の処理が必要であり得るとユーザに促すべく送信される。
上記の点を考慮すると、現在のシステムと比較して、タブレットデータブロックのステータスが変化する度に、照会を介して取得されたタブレットデータブロック情報および見つかったタブレットデータブロック情報は、要約され、ディスクに永続的に格納される。したがって、タブレットデータブロックのステータスの変化を追跡することが可能である。開示される実施形態において、取得されたタブレットデータブロック情報およびルートテーブルにおけるタブレットデータブロック情報について、多次元チェックがリアルタイムで実行される。早期警告は、取得されたタブレットデータブロック情報およびルートテーブルにおけるタブレットデータブロック情報が整合していないとチェックの結果が示す場合、遅れずに送信される。次に、タブレットデータブロックの障害および消失が発生した場合、(自動または手動のいずれかでの)時宜を得た訂正が実行され得、それにより、チェックの効率が高くなると共に、チェックの結果が正確になる。
上記の説明では、制御サーバにより実行される方法の実施形態を説明した。それに応じて、本開示は、ストレージサーバに関連する前述の実施形態の一実装をさらに説明する。
図3は、本開示のいくつかの実施形態に従った、データブロックを処理する方法のフロー図である。図示される方法は、ストレージサーバと、制御サーバと、マージサーバとを含むシステムに適用され得る。方法は、ストレージサーバにより実行される以下の段階を含む。
段階S301 ストレージサーバは、独自のログのうちの1または複数をポーリングする。
一実施形態において、段階S301は、タブレットデータブロックの分割または併合がストレージサーバで発生した場合、ストレージサーバの1または複数のローカルログファイルに1個のログデータを生成する段階と、ストレージサーバにより1または複数のローカルログファイルを継続的にポーリングして、新たなデータが1または複数のローカルログファイルに現れたかどうかをさらに判断する段階とを有する。
段階S302 新たなデータがログに現れたとストレージサーバが判断した場合、新たなデータがタブレットデータブロック情報であるかどうかを識別する。
一実施形態において、段階S302は、新たなデータがストレージサーバのログファイルに生成された場合、新たに生成されたログデータを取得する段階と、新たに生成されたログデータをパースする段階と、新たなデータがタブレットデータブロック情報であるかどうかを識別する段階とを有する。そうである場合、方法は段階S303を実行し得、そうでない場合、方法は段階S301へ戻り得る。
段階S303 ストレージサーバは、タブレットデータブロック情報を含むログを制御サーバに送信する。
段階S303の後、制御サーバは、ログに含まれるタブレットデータブロック情報とマージサーバのルートテーブルにおける(または複数のデバイスに亘って分散した複数のルートテーブルのうちの1つにおける)タブレットデータブロック情報との間の整合性を識別し、当該情報を要約および格納し、それにより、OceanBaseデータベースにおけるその有効期間中のあるテーブルのタブレットデータブロックの変化ステータスのその後の閲覧ならびにその後の自動処理または手動処理を容易にする。制御サーバにより実行される処理についての記載は、上記で詳細に説明されており、明確性のために本明細書では反復されない。
一実施形態において、段階S303は、新たに生成されたログデータがタブレットデータブロックログを含む場合、タブレットデータブロックログを制御サーバに報告する段階と、次に、ストレージサーバにより生成されたログデータの読み取りを継続する段階と、新たなログが生成されなかったか、生成されたログがタブレットデータブロックログではなかった場合、ストレージサーバにより生成されたログデータの読み取りを継続する段階とを有する。
一実施形態において、OceanBaseのタブレットログは、OceanBaseにより定義されるログプロトコルフォーマットに従ってカプセル化される。当該フォーマットに含まれる情報は、タブレットデータブロックログが生成された時刻、タブレットデータブロックに対応するテーブル名、タブレットデータブロックの境界、タブレットデータブロックチェックコードおよびタブレットデータブロックの位置分散などの情報を含む。通常、OceanBaseは、ログを用いて、タブレットデータブロックの情報を記録する。なぜなら、ディスクに記録されたログは信頼性が高いからである。これは、ログの信頼性が高いことを理由としてリドゥーログおよびアンドゥ―ログを用いてデータストレージを実装する従来のデータベースに類似している。OceanBaseデータベースにおけるタブレットデータブロックの分割動作または併合動作が終了した場合、OceanBaseデータベースは、タブレットデータブロックが存在するストレージサーバにタブレットログを生成する。ログは、タブレットの境界、位置分散、チェック値およびインデックスなどの情報を含む、分割中または併合中の対応するタブレットデータブロックの詳細なデータを記録するのに用いられる。タブレットログは、以下の状況において生成される。
タブレットの複製 あるタブレットのコピーの数が閾値未満であった場合、OceanBaseデータベースは、テーブルのコピーを含む1つのストレージサーバを移行元として、また、要件を満たす別のストレージサーバを移行先として選択する。テーブルのコピーが移行元から移行先に移行された場合、新しいテーブルのコピーが移行先で生成される。移行先でのストレージサーバログにおける新たに生成されたタブレットの詳細な情報をタブレットログで記録することが必要である。
負荷平均化 あるストレージサーバに含まれるあるテーブルのタブレットの数がある閾値を超えた場合、このストレージサーバは次に移行元として用いられ、要件を満たす別のストレージサーバが移行先として用いられる。移行元におけるテーブルのいくつかのタブレットは、移行先に移行される。新しいテーブルのコピーも移行先で生成される。また、新たに生成されたタブレットの詳細な情報を移行先のストレージサーバログにタブレットログで記録することも必要である。
タブレットの分割 あるテーブルに属すあるタブレットの空き容量が、毎日の併合中、新たに挿入または修正されたデータに対して十分でない場合、そのタブレットは、複数のタブレットに分割される必要があるであろう。複数のタブレットに分割されるタブレットの特定の数は、データ容量に基づいて決定される。古いタブレットが変更処理を受けている間、新しいタブレットは生成されており、タブレットの詳細な情報を移行先のストレージサーバログにタブレットログで記録することが必要である。
タブレットの併合 ディスクの空き容量を最大限効率的に用いるべく、あるテーブルに属すあるタブレットにおけるデータが毎日の併合中に完全に削除された場合、タブレットは、OceanBaseシステムによりリクレームされる。タブレットはもはやテーブルに属さず、タブレットの詳細な情報を移行先のストレージサーバログにタブレットログで記録することが必要である。
上記の点を考慮すると、現在のシステムと比較して、タブレットデータブロック情報を含むログは、開示される実施形態において、リアルタイムで取得され得る。次に、制御サーバは、ログに含まれるタブレットデータブロック情報とマージサーバのルートテーブルにおける(または複数のデバイスに亘って分散した複数のルートテーブルのうちの1つにおける)タブレットデータブロック情報との間の整合性を識別すること、ならびに当該情報を要約および格納することが可能になり、それにより、タブレットデータブロックのステータストラッキングのおよび正確なチェックの目標が達成される。
開示される実施形態の技術的解決法をさらに説明すべく、具体的な適用シナリオが以下に提供される。本実施形態は、ストレージサーバと、制御サーバと、マージサーバとを含むシステムに特に適用される。本実施形態において、ストレージサーバ用ログパースデーモンがストレージサーバに導入される。
図4Aは、本開示のいくつかの実施形態に従ったストレージサーバログ用パースデーモンのフロー図である。ストレージサーバ用のログパースデーモンの手順は以下のとおりである。
段階S401 起動時に、ログパースデーモンは、ストレージサーバにより生成されるログファイルを継続的にポーリングし、ログデータを読み込む。
段階S402 ログパースデーモンは、新しいログデータがストレージサーバのログファイルに生成されたかどうかを判断する。
そうである場合、方法は段階S403を実行し、そうでない場合、方法は段階S401に戻る。
段階S403 ログパースデーモンは、パースを実行して、新しいログデータを取得し、その新しいログデータをパースする。
段階S404 ログパースデーモンは、新しいログデータがタブレットデータブロック情報を含むログを含んでいるかどうかを判断する。
段階S405 ログパースデーモンは、タブレットデータブロック情報を含むログを制御サーバに報告する。報告の終了後、ログパースデーモンは、ストレージサーバにより生成されるログデータの読み取りを継続する。
さらに、タブレットデータブロック情報を含むログをログパースデーモンが制御サーバに報告した後、制御サーバはログを処理する。図4Bに示されるように、制御サーバの処理手順は以下のとおりである。
段階S406 制御サーバは、ストレージサーバから報告されるタブレットデータブロック情報を含むログを継続的に監視する。タブレットデータブロック情報は、限定されないが、以下の情報、つまり、タブレットデータブロックに対応するテーブル名、タブレットデータブロックに対応する境界、タブレットデータブロックの位置分散、タブレットデータブロックのデータチェックコード、タブレットデータブロックのインデックス、タブレットデータブロックの作成時間、タブレットデータブロックのサイズのうちの1または複数を含む。
段階S407 制御サーバは、ストレージサーバにより報告されるタブレットデータブロック情報を含むログが現れたかどうかを判断する。
そうである場合、方法は、段階S408を実行し、そうでない場合、方法は段階S406に戻る。
段階S408 制御サーバは、ストレージサーバにより報告されるタブレットデータブロック情報を含むログを受信およびパースし、ログに対応するタブレットデータブロック情報を抽出する。タブレットデータブロック情報は、限定されないが、以下の情報、つまり、タブレットデータブロックに対応するテーブル名、タブレットデータブロックに対応する境界、タブレットデータブロックの位置分散、タブレットデータブロックのデータチェックコード、タブレットデータブロックのインデックス、タブレットデータブロックの作成時間およびタブレットデータブロックのサイズのうちの1または複数を含む。
段階S409 制御サーバは、タブレットデータブロックに対応するテーブル名に従って、マージサーバからのルートテーブルにおけるタブレットデータブロック情報を識別する。ログが受信される度に、ルートテーブルにおけるタブレットデータブロック情報は、照会される。マージサーバを通じてタブレットデータブロック情報についてルートテーブルを照会する段階は、負荷平均化でマージサーバに接続して関連SQL(構造化照会言語)ステートメントを実行し、ルートテーブルにおけるタブレットデータブロック情報を取得する段階を有する。
段階S410 制御サーバは、ルートテーブルにおけるタブレットデータブロックに対応する以下の情報、つまり、テーブル名、境界、位置分散、データチェックコード、インデックス、作成時間およびサイズのうちの1または複数が、ログに含まれるタブレットデータブロックと整合しているかどうかをチェックする。
当該情報のいずれかについて何らかの不整合が段階S410のチェックの結果に見つかった場合、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合していないと制御サーバにより判断する。
一方、当該情報のいずれかについて整合性が段階S410のチェックの結果に見つかった場合、制御サーバは、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合していると判断する。
一実施形態において、段階S411は、段階S410の判断結果が正常であるか異常であるかに拘らず、実行される必要がある。当該判断が、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合していないということであった場合、さらなるステップS412が実行される必要がある。
段階S411 制御サーバは、ログに含まれるタブレットデータブロック情報と、ルートテーブルにおけるタブレットデータブロック情報とを要約および格納する。一実施形態において、段階S411は、ログに含まれるタブレットデータブロック情報と、ルートテーブルにおけるタブレットデータブロック情報とを制御サーバにより要約する段階と、制御サーバにより、複数のタブレットデータブロックに対応する複数のテーブル名を複数のキー値として用いて、要約されたタブレットデータブロック情報をディスクに永続的に保存し、それにより、OceanBaseデータベースにおけるその有効期間中のあるテーブルのタブレットデータブロックの変化ステータスのその後の閲覧を容易にする段階とを有する。
段階S412 制御サーバはアラームを送信する。アラームは、タブレットデータブロック情報が整合しておらず、即時の処理が必要であり得るとユーザに促すべく送信され、それにより、その後の全ての自動処理または手動処理が容易になる。
上記の点を考慮すると、現在のシステムと比較して、開示される実施形態は、既存のシステムがタブレットデータブロックの現在のステータスデータのみを取得し得るという問題を克服しているが、タブレットデータブロックのステータスの変化を追跡し得ない。開示される実施形態において、タブレットデータブロックが変化した場合に生成されるタブレットデータブロック情報を含むログは、タブレットデータブロック情報を取得すべく、リアルタイムで取得およびパースされる。本実施形態において、取得されたタブレットデータブロック情報と、照会を通じて見つかったタブレットデータブロック情報とは、要約され、ディスクに永続的に格納される。タブレットデータブロック情報はタブレットデータブロックのステータスが変化する度に永続的に格納されるので、タブレットデータブロックのステータスの変化が追跡され得る。一方、開示される実施形態は、手動検索により実行されるチェックの効率が低い、また、ログが定期的にクリーニングされ、検索を介して取得されるログデータが不完全であることに起因してチェックの結果が不正確である可能性がある、という現在のシステムにおける問題を克服している。開示される実施形態において、取得されたタブレットデータブロック情報およびルートテーブルにおけるタブレットデータブロック情報について、多次元チェックがリアルタイムで実行される。チェックの結果が、取得されたタブレットデータブロック情報とルートテーブルにおけるタブレットデータブロック情報とが整合していないということだった場合、早期警告が遅れずに送信される。タブレットデータブロックの障害および消失が発生した場合、時宜を得た訂正が実行され得、それにより、チェックの効率が高くなると共に、チェックの結果が正確になる。同時に、本実施形態では、取得されたタブレットデータブロック情報と、照会を介して見つかった、ルートテーブルにおけるタブレットデータブロック情報とが要約され、永続的に格納されるので、次に、完全なデータがその後のチェックで取得され得、それにより、チェックの正確性および効率が向上する。
開示された、データブロックを処理する方法と同様に、本開示の一実施形態は、データベースのデータブロックを処理するデバイスをさらに提供する。デバイスは、ストレージサーバと、制御サーバと、マージサーバとを含むシステムに適用される。図5に示されるように、デバイスは、ストレージサーバにより送信されるタブレットデータブロック情報を含むログを受信するよう構成される受信モジュール501と、ストレージサーバにより送信されるタブレットデータブロック情報を含むログを受信モジュールが受信した場合、ログに含まれるタブレットデータブロック情報を取得するよう構成される取得モジュール502と、取得モジュールにより取得される、ログに含まれるタブレットデータブロック情報に従って、対応するルートテーブルにおけるタブレットデータブロック情報についてマージサーバに照会するよう構成される照会モジュール503とを含む。
一実施形態において、照会モジュールは、取得モジュールにより取得される、ログに含まれるタブレットデータブロック情報に対応するテーブル名を識別し、かつ、テーブル名に対応するルートテーブルにおけるタブレットデータブロック情報についてマージサーバに照会するよう構成される。
図5に示されるように、デバイスは、取得モジュールにより取得される、ログに含まれるタブレットデータブロック情報が、照会モジュールにより見つけられた、ルートテーブルにおけるタブレットデータブロック情報と整合しているかどうかを判断するよう構成される判断モジュール504をさらに含む。
一実施形態において、判断モジュールは、照会モジュールにより見つけられたルートテーブルにおけるタブレットデータブロックに対応する以下の情報、つまり、テーブル名、境界、位置分散、データチェックコード、インデックス、作成時間およびサイズのうちの1または複数が、取得モジュールにより取得された、ログに含まれるタブレットデータブロックと整合しているかどうかをチェックするよう、かつ、情報のいずれかについて何らかの不整合がチェックの結果に見つかった場合、取得モジュールにより取得された、ログに含まれるタブレットデータブロック情報が、照会モジュールにより見つけられた、ルートテーブルにおけるタブレットデータブロック情報と整合していないと判断するよう特に構成される。
図5に示されるように、デバイスは、取得モジュールにより取得された、ログに含まれるタブレットデータブロック情報と、照会モジュールにより見つけられた、ルートテーブルにおけるタブレットデータブロック情報とを要約および格納するよう、かつ、ログに含まれるタブレットデータブロック情報がルートテーブルにおけるタブレットデータブロック情報と整合していないことを判断の結果が示した場合、アラームを送信するよう構成される処理モジュール505をさらに含む。
一実施形態において、処理モジュール505は、取得モジュールにより取得された、ログに含まれるタブレットデータブロック情報と、照会モジュールにより見つけられた、ルートテーブルにおけるタブレットデータブロック情報とを要約するよう、かつ、複数のタブレットデータブロックに対応する複数のテーブル名を複数のキー値として用いて、要約されたタブレットデータブロック情報をディスクに永続的に保存し、それにより、OceanBaseデータベースにおけるその有効期間中のあるテーブルのタブレットデータブロックの変化ステータスのその後の閲覧ならびにその後の全ての自動処理または手動処理を容易にするよう特に構成される。
開示された、データブロックを処理する方法と同様に、本開示の一実施形態は、データベースのデータブロックを処理するデバイスをさらに提供する。デバイスは、ストレージサーバと、制御サーバと、マージサーバとを含むシステムに適用される。図6に示されるように、デバイスは、ストレージサーバ自体のログをポーリングするよう構成されるポーリングモジュール601と、新たなデータがログに現れたとポーリングモジュールが判断した場合、新たなデータがタブレットデータブロック情報であるかどうかを識別するよう構成される識別モジュール602と、識別モジュールの識別の結果が異常であった場合、ログに含まれるタブレットデータブロック情報とマージサーバのルートテーブルにおける(または複数のデバイスに亘って分散した複数のルートテーブルのうちの1つにおける)タブレットデータブロック情報との間の整合性を制御サーバが識別するように、タブレットデータブロック情報を含むログを制御サーバに送信するよう、かつ、当該情報を要約および格納し、それにより、OceanBaseデータベースにおけるその有効期間中のあるテーブルのタブレットデータブロックの変化ステータスのその後の閲覧ならびにその後の自動処理または手動処理を容易にするよう構成される送信モジュール603とを含む。
上記の点を考慮すると、現在のシステムと比較して、タブレットデータブロックが変化した場合に生成されるタブレットデータブロック情報を含むログは、タブレットデータブロック情報を取得すべく、リアルタイムで取得およびパースされ得る。本実施形態において、取得されたタブレットデータブロック情報と、照会を介して見つかったタブレットデータブロック情報とは、要約されて、ディスクに永続的に格納され、様々な状態にあるタブレットのタブレットデータブロック情報がディスクに永続的に格納される。したがって、タブレットデータブロックのステータスの変化を追跡するという目標を達成することが可能である。一方、本開示において取得されたタブレットデータブロック情報およびルートテーブルにおけるタブレットデータブロック情報について、多次元チェックがリアルタイムで実行され、チェックの結果が、取得されたタブレットデータブロック情報と、ルートテーブルにおけるタブレットデータブロック情報が整合していないということであった場合、早期警告が遅れずに送信される。タブレットデータブロックの障害および消失が発生した場合、時宜を得た訂正が実行され得、それにより、チェックの効率が高くなると共に、チェックの結果が正確になる。同時に、本実施形態では、取得されたタブレットデータブロック情報と、ルートテーブルにおける照会を介して見つかったタブレットデータブロック情報とが、要約され、永続的敵に格納されるので、次に、完全なデータがその後のチェックにおいて取得され得、それにより、チェックの正確性および効率が向上する。
本開示の装置におけるこれらのモジュールは、単一のデバイスに統合され得、または別々に導入され得る。前述のこれらのモジュールは、1つのモジュールにまとめられ得、または複数のサブモジュールにさらに分割され得る。
実施形態についての上記説明を通じて、当業者であれば、開示される実施形態が、ソフトウェアと必要なハードウェアプラットフォームにより実装され得、ハードウェアにおいては全体が確実に実装され得もすることを明確に理解し得る。そのような理解に基づいて、開示される実施形態の技術的解決法の要点、または既存のシステムに寄与する部分が、ソフトウェア製品という形式で具現化され得る。コンピュータソフトウェア製品は、ストレージ媒体に格納され、実施形態において説明される方法を実行するよう(パーソナルコンピュータ、サーバ、ネットワーク、デバイス、またはそれらと同様のものであり得る)コンピュータデバイスに命令するいくつかの命令を含む。当業者であれば、添付図面がいくつかの実施形態の概略図にすぎないこと、および添付図面におけるモジュールまたは処理が、開示される実施形態の実装において必ずしも要求されないことを理解し得る。当業者であれば、一実施形態における装置の複数のモジュールが、実施形態の説明に従って実施形態の装置において分散され得、または本実施形態とは異なる1または複数の装置に配置されるようその分だけ変更され得ることを理解し得る。前述の実施形態における複数のモジュールは、1つのモジュールにまとめられ得、または複数のサブモジュールにさらに分割され得る。実施形態の前述の連続番号は、説明の都合のためのものにすぎず、実施形態間の優先性を示唆するものではない。上記開示は、本開示のいくつかの実施形態にすぎない。しかしながら、本開示はこれらの実施形態に限定されるべきではなく、当業者により予期され得るその変形のいずれも、本開示の保護範囲に入るであろう。
[項目1]
分散データベースの複数のストレージサーバに関連付けられた、ログに含まれるタブレットデータブロック情報を取得する段階と、
上記ログに含まれる上記タブレットデータブロック情報に基づいて、対応するルートテーブルにおけるタブレットデータブロック情報を照会する段階と、
上記ログに含まれる上記タブレットデータブロック情報が、上記ルートテーブルにおける上記タブレットデータブロック情報と整合しているかどうかを判断する段階と、
上記ログに含まれる上記タブレットデータブロック情報が上記ルートテーブルにおける上記タブレットデータブロック情報と整合していないと判断した場合、アラームを送信する段階と
を備える方法。
[項目2]
上記ログに含まれる上記タブレットデータブロック情報を取得する上記段階は、
上記ログをパースする段階と、
上記ログに対応する上記タブレットデータブロック情報を抽出する段階と
を有する、項目1に記載の方法。
[項目3]
上記タブレットデータブロック情報は、タブレットデータブロックに対応するテーブル名、タブレットデータブロックに対応する境界、タブレットデータブロックの位置分散、タブレットデータブロックのデータチェックコード、タブレットデータブロックのインデックス、タブレットデータブロックの作成時間およびタブレットデータブロックのサイズのうちの1または複数を含む、項目1または2に記載の方法。
[項目4]
上記ログに含まれる上記タブレットデータブロック情報に基づいて、上記対応するルートテーブルにおけるタブレットデータブロック情報を照会する上記段階は、
上記ログに含まれる上記タブレットデータブロック情報に対応するテーブル名を識別する段階と、
上記テーブル名に対応する上記ルートテーブルにおけるタブレットデータブロック情報を照会する段階と
を有する項目1から3のいずれか一項に記載の方法。
[項目5]
上記ログに含まれる上記タブレットデータブロック情報が、上記ルートテーブルにおける上記タブレットデータブロック情報と整合しているかどうかを判断する上記段階は、
上記ルートテーブルにおけるタブレットデータブロックに対応する上記タブレットデータブロック情報が、上記ログに含まれるタブレットデータブロックと整合しているかどうかをチェックする段階であって、上記タブレットデータブロック情報は、テーブル名、境界、位置分散、データチェックコード、インデックス、作成時間およびサイズのうちの1または複数を含む、上記ルートテーブルにおけるタブレットデータブロックに対応するチェックする段階
を有する、項目1から4のいずれか一項に記載の方法。
[項目6]
複数のタブレットデータブロックに対応する複数のテーブル名を複数のキー値として用いて、要約されたタブレットデータブロック情報をディスクに保存する段階をさらに備える、項目1から5のいずれか一項に記載の方法。
[項目7]
ストレージサーバにより1または複数のログをポーリングする段階と、
上記ストレージサーバにより、新たなデータが上記1または複数のログに現れたと判断する段階と、
上記ストレージサーバにより、上記新たなデータがタブレットデータブロック情報であるかどうかを識別する段階と
をさらに備える、項目1から6のいずれか一項に記載の方法。
[項目8]
上記ストレージサーバにより上記1または複数のログをポーリングする上記段階は、
タブレットデータブロックの分割または併合が上記ストレージサーバで発生した場合、上記ストレージサーバの1または複数のローカルログファイルに1個のログデータを生成する段階と、
上記ストレージサーバにより上記1または複数のローカルログファイルを継続的にポーリングして、新たなデータが上記1または複数のローカルログファイルに現れたかどうかをさらに判断する段階と
を有する、項目7に記載の方法。
[項目9]
上記ログは、タブレットの複製オペレーション、負荷平均化オペレーション、タブレット分割オペレーションまたはタブレット併合オペレーションに応答して生成される、項目1から8のいずれか一項に記載の方法。
[項目10]
上記ログに含まれる上記タブレットデータブロック情報に基づいて、上記対応するルートテーブルにおける上記タブレットデータブロック情報を照会する上記段階は、SQLステートメントを実行して、上記ルートテーブルにおける上記タブレットデータブロック情報を取得する段階を有する、項目1から9のいずれか一項に記載の方法。
[項目11]
プロセッサと、
コンピュータ実行可能命令を格納した非一時的メモリと
を備えるデバイスであって、
上記コンピュータ実行可能命令は、上記プロセッサにより実行された場合、上記デバイスに、
分散データベースの複数のストレージサーバに関連付けられた、ログに含まれるタブレットデータブロック情報を取得するオペレーションと、
上記ログに含まれる上記タブレットデータブロック情報に基づいて、対応するルートテーブルにおけるタブレットデータブロック情報を照会するオペレーションと、
上記ログに含まれる上記タブレットデータブロック情報が上記ルートテーブルにおける上記タブレットデータブロック情報と整合しているかどうかを判断するオペレーションと、
上記ログに含まれる上記タブレットデータブロック情報が上記ルートテーブルにおける上記タブレットデータブロック情報と整合していないと判断した場合、アラームを送信するオペレーションと
を実行させる、デバイス。
[項目12]
上記ログに含まれる上記タブレットデータブロック情報を取得する上記オペレーションは、
上記ログをパースする段階と、
上記ログに対応する上記タブレットデータブロック情報を抽出する段階と
を有する、項目11に記載のデバイス。
[項目13]
上記タブレットデータブロック情報は、タブレットデータブロックに対応するテーブル名、タブレットデータブロックに対応する境界、タブレットデータブロックの位置分散、タブレットデータブロックのデータチェックコード、タブレットデータブロックのインデックス、タブレットデータブロックの作成時間およびタブレットデータブロックのサイズのうちの1または複数を含む、項目11または12に記載のデバイス。
[項目14]
上記ログに含まれる上記タブレットデータブロック情報に基づいて、上記対応するルートテーブルにおける上記タブレットデータブロック情報を照会する上記オペレーションは、
上記ログに含まれる上記タブレットデータブロック情報に対応するテーブル名を識別する段階と、
上記テーブル名に対応する上記ルートテーブルにおけるタブレットデータブロック情報を照会する段階と
を有する、項目11から13のいずれか一項に記載のデバイス。
[項目15]
上記ログに含まれる上記タブレットデータブロック情報が上記ルートテーブルにおける上記タブレットデータブロック情報と整合しているかどうかを判断する上記オペレーションは、
上記ルートテーブルにおけるタブレットデータブロックに対応する上記タブレットデータブロック情報が、上記ログに含まれるタブレットデータブロックと整合しているかどうかをチェックする段階であって、上記タブレットデータブロック情報は、テーブル名、境界、位置分散、データチェックコード、インデックス、作成時間およびサイズのうちの1または複数を含む、上記ルートテーブルにおけるタブレットデータブロックに対応するチェックする段階
を有する、項目11から14のいずれか一項に記載のデバイス。
[項目16]
上記オペレーションは、複数のタブレットデータブロックに対応する複数のテーブル名を複数のキー値として用いて、要約されたタブレットデータブロック情報をディスクに永続的に保存する段階をさらに含む、項目11から15のいずれか一項に記載のデバイス。
[項目17]
上記ログは、タブレットの複製オペレーション、負荷平均化オペレーション、タブレット分割オペレーションまたはタブレット併合オペレーションに応答して生成される、項目11から16のいずれか一項に記載のデバイス。
[項目18]
上記ログに含まれる上記タブレットデータブロック情報に基づいて、上記対応するルートテーブルにおける上記タブレットデータブロック情報を照会する上記オペレーションは、SQLステートメントを実行して、上記ルートテーブルにおける上記タブレットデータブロック情報を取得する段階を有する、項目11から17のいずれか一項に記載のデバイス。
[項目19]
マージサーバと、
1または複数のログを取得し、
新たなデータが上記1または複数のログに現れたと判断し、
上記新たなデータがタブレットデータブロック情報であるかどうかを識別し、かつ
論理データブロック用のタブレットデータブロック情報を含むログを送信するよう各々が構成される複数の、ストレージサーバと、
複数の上記ストレージサーバに関連付けられた、上記ログに含まれる上記タブレットデータブロック情報を取得し、
上記ログに含まれる上記タブレットデータブロック情報に基づいて、対応するルートテーブルにおけるタブレットデータブロック情報を上記マージサーバに照会し、
上記ログに含まれる上記タブレットデータブロック情報が上記ルートテーブルにおける上記タブレットデータブロック情報と整合しているかどうかを判断し、かつ
上記ログに含まれる上記タブレットデータブロック情報が上記ルートテーブルにおける上記タブレットデータブロック情報と整合していないと判断した場合、アラームを送信するよう構成される制御サーバと
を備える分散データベースシステム。
[項目20]
上記1または複数のログの上記取得は、タブレットデータブロックの分割または併合が上記ストレージサーバ上で発生した場合、上記ストレージサーバの1または複数のローカルログファイルに1個のログデータを生成する段階と、上記ストレージサーバにより上記1または複数のローカルログファイルを継続的にポーリングして、新たなデータが上記1または複数のローカルログファイルに現れたかどうかをさらに判断する段階とを有する、項目19に記載の分散データベースシステム

Claims (18)

  1. ストレージサーバが、複数のユーザテーブルを格納する段階であって、それぞれのユーザテーブルは、1または複数のタブレットを含み、前記1または複数のタブレットのそれぞれは、対応するユーザテーブルの一部を格納する、段階と、
    前記ストレージサーバが、前記複数のユーザテーブルに影響を与える1または複数のオペレーションを受信する段階であって、前記1または複数のオペレーションは、1または複数のログファイルへのエントリを生成する、段階と、
    前記ストレージサーバの前記1または複数のオペレーションの間、前記ストレージサーバが、前記1または複数のログファイルをポーリングする段階と、
    前記ストレージサーバが、前記1または複数のログファイルを分析して、前記1または複数のログファイルに現れた新たなデータを識別する段階と、
    前記ストレージサーバが、前記新たなデータをパースして、タブレットデータブロック情報を識別する段階と、
    前記ストレージサーバが、前記タブレットデータブロック情報を含むログを制御サーバに送信する段階と
    を備える、方法。
  2. 前記ポーリングする段階は、前記ストレージサーバが、前記1または複数のログファイルを継続的にポーリングして、新たなデータが前記1または複数のログファイルに現れたことを判断する段階をさらに有する、請求項1に記載の方法。
  3. 制御サーバに前記タブレットデータブロック情報を含むログを送信する前記段階は、前記ログを送信する段階の後に、前記ストレージサーバが、前記ストレージサーバによって生成されたログデータの読み取りを継続する段階を有する、請求項1または2に記載の方法。
  4. 前記1または複数のオペレーションは、タブレットの複製オペレーション、負荷平均化オペレーション、タブレット分割オペレーション、またはタブレット併合オペレーションから成る群から選択されるオペレーションを含む、請求項1から3のいずれか一項に記載の方法。
  5. 分割オペレーションまたは併合オペレーションが発生したことを検出したことに応答して、前記ストレージサーバが、前記1または複数のログファイルにログデータを生成する段階をさらに備える、請求項4に記載の方法。
  6. タブレットログは、タブレットデータブロックに対応するテーブル名、タブレットデータブロックに対応する境界、タブレットデータブロックの位置分散、タブレットデータブロックのデータチェックコード、タブレットデータブロックのインデックス、タブレットデータブロックの作成時間、およびタブレットデータブロックのサイズを含む、請求項1から5のいずれか一項に記載の方法。
  7. コンピュータに
    複数のユーザテーブルを格納する手順であって、それぞれのユーザテーブルは、1または複数のタブレットを含み、前記1または複数のタブレットのそれぞれは、対応するユーザテーブルの一部を格納する、手順と、
    前記複数のユーザテーブルに影響を与える1または複数のオペレーションを受信する手順であって、前記1または複数のオペレーションは、1または複数のログファイルへのエントリを生成する、手順と、
    前記1または複数のログファイルをポーリングする手順と、
    前記1または複数のログファイルを分析して、前記1または複数のログファイルに現れた新たなデータを識別する手順と、
    前記新たなデータをパースして、タブレットデータブロック情報を識別する手順と、
    前記タブレットデータブロック情報を含むログを制御サーバに送信する手順と
    を実行させる、プログラム。
  8. 前記ポーリングする手順は、前記1または複数のログファイルを継続的にポーリングして、新たなデータが前記1または複数のログファイルに現れたことを判断する手順をさらに有する、請求項7に記載のプログラム。
  9. 制御サーバに前記タブレットデータブロック情報を含むログを送信する前記手順は、前記ログを送信する手順の後に、ログファイルの読み取りを継続する手順を有する、請求項7または8に記載のプログラム。
  10. 前記1または複数のオペレーションは、タブレットの複製オペレーション、負荷平均化オペレーション、タブレット分割オペレーション、またはタブレット併合オペレーションから成る群から選択されるオペレーションを含む、請求項7から9のいずれか一項に記載のプログラム。
  11. 前記コンピュータに、分割オペレーションまたは併合オペレーションが発生したことを検出したことに応答して、前記1または複数のログファイルにログデータを生成する手順をさらに実行させる、請求項10に記載のプログラム。
  12. タブレットログは、タブレットデータブロックに対応するテーブル名、タブレットデータブロックに対応する境界、タブレットデータブロックの位置分散、タブレットデータブロックのデータチェックコード、タブレットデータブロックのインデックス、タブレットデータブロックの作成時間、およびタブレットデータブロックのサイズを含む、請求項7から11のいずれか一項に記載のプログラム。
  13. プロセッサと、
    前記プロセッサが実行するプログラムロジックを明白に格納するストレージ媒体と
    を備え、
    格納された前記プログラムロジックは、前記プロセッサに
    複数のユーザテーブルを格納する工程であって、それぞれのユーザテーブルは、1または複数のタブレットを含み、前記1または複数のタブレットのそれぞれは、対応するユーザテーブルの一部を格納する、工程と、
    前記複数のユーザテーブルに影響を与える1または複数のオペレーションを受信する工程であって、前記1または複数のオペレーションは、1または複数のログファイルへのエントリを生成する、工程と、
    前記1または複数のログファイルをポーリングする工程と、
    前記1または複数のログファイルを分析して、前記1または複数のログファイルに現れた新たなデータを識別する工程と、
    前記新たなデータをパースして、タブレットデータブロック情報を識別する工程と、
    前記タブレットデータブロック情報を含むログを制御サーバに送信する工程と
    を実行させる、
    装置。
  14. 前記ポーリングする工程は、前記1または複数のログファイルを継続的にポーリングして、新たなデータが前記1または複数ログファイルに現れたことを判断する工程をさらに有する、請求項13に記載の装置。
  15. 制御サーバに前記タブレットデータブロック情報を含むログを送信する前記工程は、前記ログを送信する工程の後に、ログファイルの読み取りを継続する工程を有する、請求項13または14に記載の装置。
  16. 前記1または複数のオペレーションは、タブレットの複製オペレーション、負荷平均化オペレーション、タブレット分割オペレーション、またはタブレット併合オペレーションから成る群から選択されるオペレーションを含む、請求項13から15のいずれか一項に記載の装置。
  17. 格納された前記プログラムロジックは、前記プロセッサに、分割オペレーションまたは併合オペレーションが発生したことを検出したことに応答して、前記1または複数のログファイルにログデータを生成する工程をさらに実行させる、請求項16に記載の装置。
  18. タブレットログは、タブレットデータブロックに対応するテーブル名、タブレットデータブロックに対応する境界、タブレットデータブロックの位置分散、タブレットデータブロックのデータチェックコード、タブレットデータブロックのインデックス、タブレットデータブロックの作成時間、およびタブレットデータブロックのサイズを含む、請求項13から17のいずれか一項に記載の装置。
JP2019224177A 2015-02-27 2019-12-12 分散データベースにおけるデータブロックを処理する方法、プログラム、およびデバイス Active JP6996812B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510090139.4A CN105989140B (zh) 2015-02-27 2015-02-27 一种数据块处理方法和设备
CN201510090139.4 2015-02-27

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017544648A Division JP6633642B2 (ja) 2015-02-27 2016-02-05 分散データベースにおけるデータブロックを処理する方法およびデバイス

Publications (2)

Publication Number Publication Date
JP2020057416A true JP2020057416A (ja) 2020-04-09
JP6996812B2 JP6996812B2 (ja) 2022-01-17

Family

ID=56787904

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017544648A Active JP6633642B2 (ja) 2015-02-27 2016-02-05 分散データベースにおけるデータブロックを処理する方法およびデバイス
JP2019224177A Active JP6996812B2 (ja) 2015-02-27 2019-12-12 分散データベースにおけるデータブロックを処理する方法、プログラム、およびデバイス

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017544648A Active JP6633642B2 (ja) 2015-02-27 2016-02-05 分散データベースにおけるデータブロックを処理する方法およびデバイス

Country Status (5)

Country Link
US (1) US20180032567A1 (ja)
EP (1) EP3264291A4 (ja)
JP (2) JP6633642B2 (ja)
CN (1) CN105989140B (ja)
WO (1) WO2016134639A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409768B2 (en) * 2016-09-30 2019-09-10 EMC IP Holding Company LLC Managing data inconsistencies in files of file systems
CN108549704B (zh) * 2018-04-18 2021-01-12 厦门市美亚柏科信息股份有限公司 数据包的分布式流式预处理方法、装置、设备及可读介质
CN110019247A (zh) * 2018-08-16 2019-07-16 比亚迪股份有限公司 数据存储以及查询方法、装置和监控系统
CN111061721B (zh) * 2018-10-16 2023-07-25 成都鼎桥通信技术有限公司 数据处理方法及装置
CN111290714B (zh) * 2020-02-06 2023-09-05 北京百度网讯科技有限公司 数据读取方法和装置
CN114168572A (zh) * 2022-02-10 2022-03-11 北京奥星贝斯科技有限公司 管理数据库的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034518A (ja) * 1999-07-27 2001-02-09 Nec Software Chugoku Ltd 分散データベースシステムにおける主従関係情報同期方式
JP2002244907A (ja) * 2001-02-19 2002-08-30 Ricoh Co Ltd 複製管理方法及び装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200029A (ja) * 2006-01-26 2007-08-09 Mitsubishi Electric Corp ファイル複製システム
JP2009140142A (ja) * 2007-12-05 2009-06-25 Hitachi Ltd ジャーナルファイルシステム及びその修復方法
CN102156738B (zh) * 2011-04-13 2012-12-19 成都市华为赛门铁克科技有限公司 数据块处理方法、数据块存储设备及系统
US8732140B2 (en) * 2011-05-24 2014-05-20 Red Lambda, Inc. Methods for storing files in a distributed environment
CN102567445B (zh) * 2011-10-25 2014-07-02 无锡城市云计算中心有限公司 一种分布式文件系统中保证元数据一致性的方法
CN103778030B (zh) * 2013-12-30 2017-09-22 上海晨思电子科技有限公司 日志子系统写入方法、错误追踪方法及处理器
CN103929500A (zh) * 2014-05-06 2014-07-16 刘跃 一种分布式存储系统的数据分片方法
CN104331478B (zh) * 2014-11-05 2017-09-22 浪潮电子信息产业股份有限公司 一种自精简存储系统数据一致性管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034518A (ja) * 1999-07-27 2001-02-09 Nec Software Chugoku Ltd 分散データベースシステムにおける主従関係情報同期方式
JP2002244907A (ja) * 2001-02-19 2002-08-30 Ricoh Co Ltd 複製管理方法及び装置

Also Published As

Publication number Publication date
JP2018511861A (ja) 2018-04-26
JP6633642B2 (ja) 2020-01-22
CN105989140B (zh) 2019-09-03
WO2016134639A1 (zh) 2016-09-01
EP3264291A4 (en) 2018-10-03
CN105989140A (zh) 2016-10-05
US20180032567A1 (en) 2018-02-01
JP6996812B2 (ja) 2022-01-17
EP3264291A1 (en) 2018-01-03

Similar Documents

Publication Publication Date Title
JP6996812B2 (ja) 分散データベースにおけるデータブロックを処理する方法、プログラム、およびデバイス
US10649838B2 (en) Automatic correlation of dynamic system events within computing devices
CN107506451B (zh) 用于数据交互的异常信息监控方法及装置
US20170004185A1 (en) Method and system for implementing collection-wise processing in a log analytics system
US10133622B2 (en) Enhanced error detection in data synchronization operations
US10108634B1 (en) Identification and removal of duplicate event records from a security information and event management database
US9152683B2 (en) Database-transparent near online archiving and retrieval of data
US10133779B2 (en) Query hint management for a database management system
CN103034650B (zh) 一种数据处理系统和方法
CN111221890A (zh) 通用指标类自动监控预警方法及装置
CN108337100B (zh) 一种云平台监测的方法和装置
CN107004036B (zh) 用以搜索包含大量条目的日志的方法和系统
CN110717130B (zh) 打点方法、装置、终端及存储介质
CN110309206B (zh) 订单信息采集方法及系统
CN115185778A (zh) 数据库的监控方法及装置
CN115470192A (zh) 一种数据库元数据采集与管理的方法
CN113420021A (zh) 一种数据存储方法、装置、设备及介质
CN113778996A (zh) 一种大数据流数据处理方法、装置、电子设备及存储介质
CN117421337B (zh) 数据采集方法、装置、设备及计算机可读介质
CN111654410B (zh) 网关请求监控方法、装置、设备及介质
CN115421879A (zh) MySQL数据库异常事务自动处理方法及装置
CN118113569A (zh) 边缘设备的日志解析方法、装置、设备及存储介质
CN115309772A (zh) 数据查询语句的修改方法、装置、介质及设备
CN116991892A (zh) 一种网络资产数据查询方法、系统、设备及存储介质
CN114817245A (zh) 数据库日志的存储方法、数据库日志的分析方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210604

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211210

R150 Certificate of patent or registration of utility model

Ref document number: 6996812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150