JP2021510222A - データ処理方法、装置、およびコンピューティングデバイス - Google Patents

データ処理方法、装置、およびコンピューティングデバイス Download PDF

Info

Publication number
JP2021510222A
JP2021510222A JP2020537757A JP2020537757A JP2021510222A JP 2021510222 A JP2021510222 A JP 2021510222A JP 2020537757 A JP2020537757 A JP 2020537757A JP 2020537757 A JP2020537757 A JP 2020537757A JP 2021510222 A JP2021510222 A JP 2021510222A
Authority
JP
Japan
Prior art keywords
data
metadata
request
target
storage
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
JP2020537757A
Other languages
English (en)
Other versions
JP7378403B2 (ja
Inventor
リウ ジンシン
リウ ジンシン
ドン チョンユー
ドン チョンユー
リウ シャンヤン
リウ シャンヤン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2021510222A publication Critical patent/JP2021510222A/ja
Application granted granted Critical
Publication of JP7378403B2 publication Critical patent/JP7378403B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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

Abstract

本出願の実施形態によって、データ処理方法、装置およびモバイル端末が提供される。要求エンドは、ターゲットデータを取得するために、格納されるデータに予約済みフィールドを追加し、ターゲットデータを格納エンドに送信する。格納エンドは、ターゲットデータをキャッシュするためのメモリを割り当て、ターゲットデータ内の格納されるデータのデータメタデータを生成し、メモリ内の予約済みフィールドに対応するメモリロケーションにデータメタデータを書き込む。本出願の実施形態は、ゼロコピーを実現し、データ格納の効率を確保し、システム性能を向上させる。

Description

本出願は、2018年1月9日に出願され、「Data Processing Method, Apparatus, and Computing Device」と題された中国出願第2018/10020121.0号の優先権を主張し、その内容は参照により本明細書に組み入れられる。
本出願は、データ処理技術の分野に関し、詳細には、データ処理方法、装置、およびシステムに関する。
データを格納するとき、ストレージシステムは、通常、データのセキュリティを確保するために、格納されるデータの最後に、格納されるデータの関連属性を記述するメタデータ(データメタデータとしても知られる)を追加し、その結果、格納されるデータおよびデータメタデータを一度に格納デバイスに書き込むことができる。
要求エンドによって送信された格納されるデータを受信すると、格納エンドは、格納されるデータをキャッシュするための、格納されるデータのものと同じデータサイズを有する1つのメモリを受動的に割り当てる。格納されるデータおよびデータメタデータを一度にストレージデバイスに書き込むことができるようにするために、既存の技術の実装方法は、1つの書き込みディスクメモリを再申請し、書き込みディスクメモリのサイズは、格納されるデータのデータサイズにデータメタデータのデータサイズを加えたものであり、次に、格納されるデータを書き込みディスクメモリにコピーし、データメタデータを書き込みディスクメモリにスプライシングし、その結果、格納されるデータおよびデータメタデータが一緒に編成される。そのため、書き込み操作のみを1回実行するだけでよく、すなわち、書き込みディスクメモリ内の格納されるデータおよびデータメタデータを、まとめてストレージデバイスに書き込むことができる。
しかしながら、上記の説明から分かるように、既存の技術では、最初に、格納されるデータを、データのコピーによって書き込みディスクメモリにコピーする必要があり、これはデータ格納の効率に影響を与える。
本出願の実施形態は、既存の技術におけるデータ格納の低効率の技術的問題を解決するためのデータ処理方法、装置、およびコンピューティングデバイスを提供する。
第1の態様では、本出願の実施形態は、データ処理方法を提供し、データ処理方法は、
ターゲットデータを取得するために、格納されるデータに予約済みフィールドを追加することと、
ターゲットデータを格納エンドに送信することであって、予約済みフィールドは、格納エンドの対応するメモリロケーションに格納されるデータのデータメタデータを書き込むために使用され、その結果、格納されるデータおよびデータメタデータは、まとめてストレージデバイスに書き込まれる、送信することと、を含む。
第2の態様では、本出願の実施形態は、データ処理方法を提供し、データ処理方法は、
ターゲットデータを取得することであって、ターゲットデータは、要求エンドによって格納されるデータに追加された予約済みフィールドを含む、取得することと、
ターゲットデータをキャッシュするための第2のメモリを割り当てることと、
ターゲットデータ内の格納されるデータのデータメタデータを生成することと、
第2のメモリ内の予約済みフィールドに対応するメモリロケーションにデータメタデータを書き込むことと、を含む。
第3の態様では、本出願の実施形態は、データ処理装置を提供し、データ処理装置は、
ターゲットデータを取得するために、格納されるデータに予約済みフィールドを追加するように構成されたデータ構築モジュールと、
ターゲットデータを格納エンドに送信するように構成されたデータ送信モジュールであって、予約済みフィールドは、格納エンドの対応するメモリロケーションに格納されるデータのデータメタデータを書き込むために使用され、その結果、格納されるデータおよびデータメタデータは、まとめてストレージデバイスに書き込まれる、データ送信モジュールと、を含む。
第4の態様によれば、本出願の実施形態は、データ処理装置を提供し、データ処理装置は、
ターゲットデータを取得するように構成されたデータ取得モジュールであって、ターゲットデータは、要求エンドによって格納されるデータに追加された予約済みフィールドを含む、データ取得モジュールと、
ターゲットデータをキャッシュするための第2のメモリを割り当てるように構成されたメモリ割り当てモジュールと、
ターゲットデータ内の格納されるデータのデータメタデータを生成するように構成されたデータ生成モジュールと、
第2のメモリ内の予約済みフィールドに対応するメモリロケーションにデータメタデータを書き込むように構成されたデータ書き込みモジュールと、を含む。
第5の態様では、本出願の実施形態は、格納コンポーネントおよび処理コンポーネントを含むコンピューティングデバイスを提供し、
格納コンポーネントは、1つ以上のコンピュータ命令を格納するように構成されており、1つ以上のコンピュータ命令は、呼び出しおよび実行のために処理コンポーネントに提供され、
処理コンポーネントは、
ターゲットデータを取得するために、格納されるデータに予約済みフィールドを追加し、
ターゲットデータを格納エンドに送信する、ように構成されており、予約済みフィールドは、格納エンドの対応するメモリロケーションに格納されるデータのデータメタデータを書き込むために使用され、その結果、格納されるデータおよびデータメタデータは、まとめてストレージデバイスに書き込まれる。
第6の態様では、本出願の実施形態は、格納コンポーネントおよび処理コンポーネントを含むコンピューティングデバイスを提供し、
格納コンポーネントは、1つ以上のコンピュータ命令を格納するように構成されており、1つ以上のコンピュータ命令は、呼び出しおよび実行のために処理コンポーネントに提供され、
処理コンポーネントは、
要求エンドによって格納されるデータに追加された予約済みフィールドを含むターゲットデータを取得し、
ターゲットデータをキャッシュするための第2のメモリを割り当て、
ターゲットデータ内の格納されるデータのデータメタデータを生成し、
第2のメモリ内の予約済みフィールドに対応するメモリロケーションにデータメタデータを書き込む、ように構成されている。
本出願の実施形態では、要求エンドは、ターゲットデータとして格納されるデータを構築するために、格納されるデータに予約済みフィールドを追加する。ターゲットデータのデータサイズは、格納されるデータのデータサイズと予約済みフィールドによって占有されるデータサイズとの合計である。要求エンドは、ターゲットデータを格納エンドに送信する。格納エンドは、ターゲットデータをキャッシュするためのメモリを割り当てる。予約済みフィールドはターゲットデータで予約されているので、予約済みフィールドに対応するメモリスペースは、データメタデータを書き込むのに十分である可能性があり、そのため、格納エンドは、新しいメモリを割り当てる必要がなく、これは、メモリの浪費を引き起こさず、データのコピーを回避する。したがって、データ格納の効率および関連システムの性能が向上する。
本出願のこれらの態様または本出願の他の態様は、以下の実施形態の説明において、より明確になり、理解しやすくなるであろう。
本出願の実施形態または既存の技術における技術的解決策をより明確に説明するために、実施形態または既存の技術の説明に必要とされる添付の図面が本明細書で簡単に記載される。明らかに、記載される図面は、本出願のいくつかの実施形態を表す。当業者は、いかなる創造的な努力もすることなく、これらの図面に基づいて他の図面を取得することができる。
本出願によって提供される例示的なデータ処理方法のフローチャートを示す図である。 本出願によって提供される別の例示的なデータ処理方法のフローチャートを示す図である。 本出願によって提供される例示的なデータ処理方法のフローチャートを示す図である。 本出願の実施形態によって提供されるデータ構造の概略図である。 本出願の実施形態によって提供される別のデータ構造の概略図である。 本出願によって提供される別の例示的なデータ処理方法のフローチャートを示す図である。 本出願の実施形態によって提供される実用的応用におけるデータ処理相互作用の概略図である。 本出願によって提供される例示的なデータ処理装置の概略構造図である。 本出願によって提供される例示的なコンピューティングデバイスの概略構造図である。 本出願によって提供される別の例示的なデータ処理装置の概略構造図である。 本出願によって提供される別の例示的なコンピューティングデバイス装置の概略構造図である。
当業者が本発明の解決策をより良好に理解することを可能にするために、本出願の実施形態における技術的解決策が、本出願の実施形態の図面と組み合わせて、以下に明確かつ完全に記載される。
本出願の明細書および特許請求の範囲並びに上記の図面に記載されているいくつかのプロセスは、特定の順序に従って現れる複数の動作を含む。しかしながら、これらの動作は、本文に現れる順序で実行する必要はなく、または並行して実行されてもよいことを明確に理解されたい。101、102などの動作のシーケンス番号は、異なる動作を区別するためにのみ使用され、シーケンス番号自体は、いかなる実行のシーケンスも表すものではない。これらのプロセスが含む動作は、より多くてもよく、またはより少なくてもよく、これらの動作は、順次または並行して実行されてよい。本文中の「第1」、「第2」などの記載は、様々な情報、デバイス、モジュールなどを区別するために使用されており、順序を表すものではなく、「第1」および「第2」が異なるタイプに制限されるものでもないことに留意されたい。
本出願の実施形態の技術的解決策は、主にストレージシステムに適用される。ストレージシステムは、従来のストレージシステムまたは分散ストレージシステムであり得る。
理解を容易にするために、最初に、本出願の実施形態に現れる可能性のある技術用語について、以下のように説明する。
格納エンド:データアクセス操作を担当する。従来のストレージシステムは、データを格納するために集中型ストレージサーバを使用し、格納エンドは、ストレージサーバと呼ぶことができ、分散ストレージシステムは、複数のデータ格納ノードにデータを格納し、格納エンドは、1つ以上のデータ格納ノードと呼ぶことができる。
データ格納ノード:分散ストレージシステムにおけるデータ格納を担当するノードであり、通常、物理サーバである。
要求エンド:読み取り/書き込み要求の送信を担当し、上位レベルのサービスシステムは、要求エンドを介して格納エンドのデータにアクセスし、またはそのデータを更新する。
要求メタデータ:要求エンドによって格納エンドに送信される、格納されるデータのデータガイダンス情報であり、格納されるデータのデータ長および/またはデータ位置、並びに格納指示情報、すなわち、格納されるデータが書き込まれるストレージデバイスを示すとも呼ばれる格納指示情報を含んでいてもよく、要求されたメタデータは、格納されたデータに書き込まれない。
データメタデータ(DataMeta):格納されるデータの関連属性を記載するために使用されるメタデータであり、データ長、データチェックサム、格納位置、それが属するファイル名などを含んでいてもよく、データメタデータは、格納されるデータとともにストレージデバイスに書き込まれる。
マルチコピー技術:分散ストレージシステムでのデータ冗長技術であり、普段は、データ格納ノードの障害に起因するデータ損失を防ぐために、元のデータのコピーをいくつか作成し、データの各コピーは、異なるデータ格納ノードに格納されており、元のデータの各コピーは、コピーデータと呼ばれる。
ストレージデバイス:ストレージシステムにデータを格納するために使用されるハードウェアデバイスであり、最終的に、データを磁気ディスクなどの記憶媒体であり得るストレージデバイスに書き込む必要がある。
既存の技術では、格納されるデータおよびデータメタデータをストレージデバイスに書き込むために、格納エンドは、追加の書き込みディスクメモリを割り当てる必要がある。格納されるデータを受信すると、格納エンドは、格納されるデータをキャッシュするための1つのメモリを受動的に割り当てる。したがって、格納されるデータを再度書き込みディスクメモリにコピーする必要がある。格納されるデータをいったんコピーする必要があり、データをコピーすることは、データ格納の効率および関連システムの性能に影響を及ぼす。
システム性能を向上させ、データ格納の効率を確保するために、発明者は、一連の研究を通じて本出願の技術的解決策を提案した。本出願の実施形態では、要求エンドは、ターゲットデータとして格納されるデータを構築するために、格納されるデータに予約済みフィールドを追加する。ターゲットデータのデータサイズは、格納されるデータのデータサイズと予約済みフィールドに対応するデータサイズとの合計である。要求エンドは、ターゲットデータを格納エンドに送信する。格納エンドは、ターゲットデータをキャッシュするための1つのメモリを割り当てる。ターゲットデータは、予約済みフィールドを含んでいるので、予約済みフィールドに対応するメモリスペースは、データメタデータを書き込むのに十分である。格納エンドは、追加の、および新しいメモリを割り当てる必要がなく、これは、メモリの浪費を引き起こさず、同時に、データのコピーを回避する。したがって、データ格納の効率およびシステム性能を向上させることができる。
本出願の実施形態における技術的解決策が、本出願の実施形態の図面と組み合わせて、以下に明確かつ完全に記載される。明らかに、記載される実施形態は、本出願の実施形態の全部ではなく、一部のみを表す。本出願の実施形態に基づいて、いかなる創造的な努力もすることなく当業者によって取得される他のすべての実施形態は、本出願の保護の範囲内に入る。
図1は、本出願による例示的なデータ処理方法のフローチャートである。本実施形態の技術的解決策は要求エンドに適用され、要求エンドは実行を担当する。
この方法は、以下のステップを含み得る。
101:ターゲットデータを取得するために、格納されるデータに予約済みフィールドを追加する。
本出願の実施形態では、書き込み要求を構築するとき、要求エンドは、格納されるデータに予約済みフィールドを追加し、予約済みフィールドは、あるデータ長を占有する。予約済みフィールドと一緒に格納されるデータは、新しいデータ形式を形成し、ターゲットデータを構成する。ターゲットデータのデータサイズは、格納されるデータのデータサイズと予約済みフィールドによって占有されるデータサイズとの合計に等しい。
予約済みフィールドは、格納されるデータの最後に位置してもよく、それにより占有されるデータサイズは、事前に定義されており、データメタデータのデータサイズと組み合わせて設定されてもよい。予約済みフィールドによって占有されるデータサイズは、データメタデータのデータサイズ以上である必要がある。
任意選択で、予約済みフィールドによって占有されるデータサイズは、データメタデータのデータサイズと等しくてもよい。
データメタデータは、格納されるデータのデータメタデータを指し、格納されるデータに基づいて生成される。データメタデータは、通常、固定された情報を含んでいるので、通常、異なるデータのデータメタデータのサイズは同じであり、それに応じて、予約済みフィールドによって占有されるデータサイズが設定されてもよい。
本出願の実施形態に関与するデータサイズは、バイト(英語:Byte、略称:B)またはキロバイト(英語:Kbytes、略称:K)の単位で表され、データサイズは、データ長と呼ばれることもある。
任意選択の方法として、ターゲットデータを取得するために、格納されるデータの最後に、あらかじめ設定されたサイズの所定の文字列が予約済みフィールドとして追加されてもよい。
所定の文字列は、空の文字列であってもよく、または合意された文字列であってもよい。
102:ターゲットデータを格納エンドに送信する。
要求エンドは、ターゲットデータを含む書き込み要求を格納エンドに送信してもよく、書き込まれるデータとして機能するターゲットデータは、格納エンドに送信される。
ターゲットデータを取得した後、格納エンドは、ターゲットデータをキャッシュするための1つのメモリを受動的に割り当てる。説明における区別の便宜上、ターゲットデータをキャッシュするための、格納エンドによって受動的に割り当てられるメモリは、「第2のメモリ」と名付けられる。格納エンドは、格納されるデータをターゲットデータから読み取り、それに基づいてデータメタデータを生成してもよい。ターゲットデータで予約済みフィールドが予約されているので、予約済みフィールドは、書き込まれるデータメタデータには十分である。したがって、格納エンドは、第2のメモリ内の予約済みフィールドに対応するメモリロケーションにデータメタデータを書き込むことができる。
具体的には、予約済みフィールドは、格納エンドの対応するメモリロケーションに格納されるデータのデータメタデータを書き込むために使用される。
本実施形態では、要求エンドは、ターゲットデータとして再構築するために、格納されるデータに予約済みフィールドを追加する。ターゲットデータのデータサイズは、格納されるデータのデータサイズと予約済みフィールドによって占有されるデータサイズとの合計に等しいので、データメタデータを書き込むには、格納エンドによって受動的に割り当てられた第2のメモリで十分である。そのため、追加のディスク書き込みメモリを申請する必要がなく、データのコピーも必要なく、それにより、ゼロコピーが達成される。したがって、メモリのいかなる浪費も引き起こすことなく、システム性能およびデータ格納の効率を向上させることができる。
格納されるデータは、送信される前にメモリに一時的に格納される必要があるので、いくつかの実施形態では、ターゲットデータを格納エンドに送信することは、
ターゲットデータのデータサイズと一致する第1のメモリを割り当てることと、
ターゲットデータを第1のメモリに入れることと、
ターゲットデータを第1のメモリから格納エンドに送信することと、を含み得る。
本出願の実施形態において、第1のメモリは、説明における区別の便宜上、「第1のメモリ」と名付けられた、格納エンドに送信されるターゲットデータを格納するために割り当てられたメモリと呼ばれる。当業者は、「第1のメモリ」および「第2のメモリ」における「第1」および「第2」は、説明における区別のために使用されるだけであり、配信および包含などのいかなる関係も表さないことを理解することができる。
要求エンドおよび格納エンドは、ターゲットデータ内の予約済みフィールドの位置、および、例えば、予約済みフィールドとして、ターゲットデータ内の最後の32バイトなど、格納されるデータの位置を合意することができる。そのため、格納エンドは、合意されたルールに従って、格納されるデータをターゲットデータから読み取り、予約済みフィールドを決定することができる。
要求エンドは、要求メタデータを格納エンドに送信することもでき、格納エンドは、要求メタデータ内の格納されるデータのデータ長および/またはデータ位置に従って、ターゲットデータ内の格納されるデータを決定することができる。
要求メタデータは、格納エンドが格納されるデータを格納するストレージデバイスなどを示すこともできる。
格納されるデータは、送信される前にメモリに一時的に格納される必要があるので、要求メタデータもメモリに入れることができ、その結果、格納されるデータおよび要求メタデータを一緒に送信することができる。
したがって、ターゲットデータを格納エンドに送信することには、
ターゲットデータと要求メタデータとの合計データサイズを計算することと、
合計データサイズと一致する第1のメモリを割り当てることと、
ターゲットメモリおよび要求メタデータを第1のメモリに入れることと、
ターゲットデータを第1のメモリから格納エンドに送信することと、を含み得る。
実用的応用では、本出願の技術的解決策を分散ストレージシステムに適用することができる。分散ストレージシステムでは、あるデータ格納ノードの障害によって引き起こされるデータ損失を回避するために、通常、元のデータのコピーをいくつか作成するために、マルチコピー技術が採用され、データの各コピーは、異なるデータ格納ノードに格納される。元のデータの各コピーデータは、コピーデータである。したがって、格納されるデータは、コピーデータと呼ばれることがある。
分散ストレージシステムは、クラスタシステムを形成するいくつかのデータ格納ノードによって形成されるので、格納されるデータを複数のデータ格納ノードに送信して格納する必要がある。例えば、格納されるデータがコピーデータであるとき、コピーデータは、複数のデータ格納ノードに別々に送信される必要がある。
格納されるデータを複数のデータ格納ノードに送信する必要がある場合、要求エンドは、データ格納ノードごとに対応する要求メタデータを送信する必要がある。複数のデータ格納ノードに別々に送信される要求メタデータは、格納されるデータのデータ長、データ位置などを含んでいてもよく、格納指示情報など、異なるデータ格納ノードに対応する区別された情報を含んでいてもよい。格納されるデータは、様々なデータ格納ノードに関連付けられたストレージデバイスに格納するための様々な要件を有する場合がある。
分散ストレージシステムでは、本出願の実施形態における格納エンドは、複数のデータ格納ノードを含み得る。
したがって、ターゲットデータを格納エンドに送信することは、ターゲットデータおよび対応する要求メタデータを複数のデータ格納ノードに送信することを含む。
現在、要求エンドがターゲットデータおよび対応する要求メタデータを複数のデータ格納ノードに送信すると、要求エンドは、最初に、ターゲットデータと1つの要求メタデータとの合計データサイズを計算し、合計データサイズと一致する第1のメモリを割り当て、ターゲットデータを第1のメモリに入れ得る。格納されるデータをデータ格納ノードのうちのいずれか1つに送信する必要がある場合、任意のデータ格納ノードに対応する要求メタデータが第1のメモリにステッチされ、次に、ターゲットデータおよび要求メタデータが任意のデータ格納ノードに送信される。格納されるデータを別のデータ格納ノードに送信する必要がある場合、前の要求メタデータを上書きするために、他のデータ格納ノードに対応する要求メタデータが第1のメモリにコピーされ、次に送信される。
上記の説明から分かるように、現在、このタイプの方法で複数のデータ格納ノードに格納されるデータを送信するとき、要求メタデータをコピーする複数の面倒な操作が必要とされる。これは、送信の効率にも影響を及ぼし、データ格納の効率にも影響を及ぼす。
さらなる検討の後、発明者は、本出願の技術的解決策の別の実施形態を提案する。
図2は、本出願による別の例示的なデータ処理方法のフローチャートである。この方法は、以下のステップを含み得る。
201:ターゲットデータを取得するために、格納されるデータに予約済みフィールドを追加する。
202:格納されるデータがデータ格納ノードの複数の要求メタデータに別々に対応することを決定する。
203:ターゲットデータと複数の要求メタデータとの合計データサイズを計算する。
204:合計データサイズと一致する第1のメモリを割り当てる。言い換えれば、第1のメモリのメモリサイズは、合計データサイズと等しくてもよい。
205:ターゲットデータおよび複数の要求メタデータを第1のメモリに入れる。
最初に、ターゲットデータが第1のメモリに入れられ、次に、複数の要求メタデータが第1のメモリに順次入れられ、ターゲットデータの最後にスプライスされ得る。
206:ターゲットデータおよび対応する1つの要求メタデータをデータ格納ノードの各々に別々に送信する。
要求エンドは、ターゲットデータ、および複数のデータ格納ノードの各々に対応するそれぞれ1つの要求メタデータを含めるために、書き込み要求を複数のデータ格納ノードに別々に送信し得る。
具体的には、任意のデータ格納ノードについて、第1のメモリ内の任意のデータ格納ノードに対応するターゲットデータおよび要求メタデータが、任意のデータ格納ノードに送信される。
第1のメモリでは、複数の要求メタデータを、複数のデータ格納ノードの送信順序に従って第1のメモリに順次入れることができる。例えば、送信順序で最初のものとして位置する第1のデータ格納ノードの1つの要求メタデータは、ターゲットデータの最後に位置し、送信順序で第2のものとして位置する第2のデータ格納ノードの1つの要求データは、第1のデータ格納ノードの1つの要求メタデータの最後に位置するなど、以下同様である。言い換えれば、複数の要求メタデータを第1のメモリに順次入れることができる。書き込み要求を任意のデータ格納ノードに送信する必要があるとき、要求メタデータのデータサイズはわかっているので、任意のデータ格納ノードに関連付けられた送信順序に従って、対応する1つの要求メタデータを見つけることができる。
任意のデータ格納ノードは、要求エンドによって送信された受信データを取得した後、受信データの最後から必要な1つの要求メタデータを読み取ることができ、1つの要求メタデータに基づいてターゲットデータから格納されるデータおよび予約済みフィールドなどを決定することができる。
本実施形態では、データ格納ノードごとに1つの要求メタデータを特化する必要なく、割り当てられた第1のメモリに複数の要求メタデータを書き込むことができる。次に、単一の動作を実行すると、データが異なるデータ格納ノードに送信され得る。動作が簡単になり、送信の効率が向上する。そのため、データ格納の効率およびシステム性能を向上させることができる。
要求エンドおよび各データ格納ノードの動作を容易にするために、図3に示されるようなさらに別の実施形態では、データ処理方法は、以下を含み得る。
301:ターゲットデータを取得するために、格納されるデータに予約済みフィールドを追加する。
302:格納されるデータがデータ格納ノードの複数の要求メタデータに別々に対応することを決定する。
303:ターゲットデータと複数の要求メタデータとの合計データサイズを計算する。
304:合計データサイズと一致する第1のメモリを割り当てる。言い換えれば、第1のメモリのメモリサイズは、合計データサイズと等しくてもよい。
305:ターゲットデータを第1のメモリに入れ、複数の要求メタデータをターゲットデータの最後に順次入れる。
複数の要求メタデータを、データ格納ノードの送信順序に従って第1のメモリに順次入れることができる。例えば、送信順序で最初である第1のデータ格納ノードの1つの要求メタデータは、ターゲットデータの最後に位置し、送信順序で第2である第2のデータ格納ノードの1つの要求データは、第1のデータ格納ノードの1つの要求メタデータの最後に位置するなど、以下同様である。言い換えれば、複数の要求メタデータを第1のメモリに順次入れることができる。
さらに別の実施形態として、複数の要求メタデータをターゲットデータの最後に順次入れることは、
複数のデータ格納ノードの送信順序に従って、複数のデータ格納ノードにそれぞれ対応する複数の要求メタデータをターゲットデータの最後に順次入れることを含む。
306:任意のデータ格納ノードについて、第1のメモリ内の、ターゲットデータ、任意のデータ格納ノードに対応する1つの要求メタデータ、および任意のデータ格納ノードに対応する1つの要求メタデータの前に位置する1つ以上の要求メタデータを任意の格納ノードに送信する。
要求エンドは、ターゲットデータ、任意のデータ格納ノードに対応する1つの要求メタデータ、および任意のデータ格納ノードに対応する1つの要求メタデータの前に位置する1つ以上の要求メタデータを運ぶために、任意のデータ格納ノードに書き込み要求を送信し得る。
受信データの最後から対応する1つの要求メタデータを読み取るために、任意のデータ格納ノードが使用される。
複数のデータ格納ノードの送信順序に従って、複数のデータ格納ノードの各々に対応するそれぞれ1つの要求メタデータがターゲットデータの最後に順次入れられる。
任意選択で、ステップ306の動作は、
任意のデータ格納ノードについて、第1のメモリ内の、ターゲットデータ、任意のデータ格納ノードの送信順序に対応する1つの要求メタデータ、および任意のデータ格納ノードの送信順序に対応する1つの要求メタデータの前に位置する1つ以上の要求メタデータを任意の格納ノードに送信することを含み得る。
本実施形態の方法を使用して、1つの要求メタデータのデータサイズに基づいて、データ格納ノードは、受信データの最後から対応する1つの要求メタデータを解析し、取得することができる。
1つの要求メタデータは、格納されるデータのデータサイズおよび/またはデータ位置を含んでいるので、1つの要求メタデータに基づいて、1つの要求メタデータによって示されるデータサイズのデータを、受信データの先頭から読み取ることができ、すなわち、格納されるデータは、データ位置に従って、受信データから取得することができ、または位置特定され、取得することができる。
以下では理解を容易にするために、3つのデータ格納ノードが一例として使用される。図4aは、ターゲットデータのデータ構造の概略図である。分かるように、ターゲットデータは、格納されるデータ401および予約済みフィールド402から構成されている。
図4bは、第1のメモリ内のデータ構造の概略図であり、ターゲットデータ403と、ターゲットデータ403の最後に順次入れられる3つの要求メタデータm1、m2、およびm3とからなる。
3つの要求メタデータは、3つのデータ格納ノードの送信順序に従って入れることができ、1つの要求メタデータm1は、第1のデータ格納ノードに対応し、1つの要求メタデータm2は、第2のデータ格納ノードに対応し、1つの要求メタデータm3は、第3のデータ格納ノードに対応する。
任意選択の方法として、第1のデータ格納ノードへの書き込み操作を実行すると、要求エンドは、ターゲットデータ403および1つの要求メタデータm1を第1のデータ格納ノードに送信してもよい。第2のデータ格納ノードへの書き込み操作を実行すると、要求エンドは、ターゲットデータ403および1つの要求メタデータm2を第2のデータ格納ノードに送信してもよい。第3のデータ格納ノードへの書き込み操作を実行すると、要求エンドは、ターゲットデータ403および1つの要求メタデータm3を第3のデータ格納ノードに送信してもよい。
別の任意選択の方法として、第1のデータ格納ノードへの書き込み操作を実行すると、要求エンドは、ターゲットデータ403および1つの要求メタデータm1を第1のデータ格納ノードに送信してもよい。第2のデータ格納ノードへの書き込み操作を実行すると、要求エンドは、ターゲットデータ403、1つの要求メタデータm1、および1つの要求メタデータm2を第2のデータ格納ノードに送信してもよい。第3のデータ格納ノードへの書き込み操作を実行すると、要求エンドは、ターゲットデータ403、1つの要求メタデータm1、1つの要求メタデータm2、および1つの要求メタデータm3を第3のデータ格納ノードに送信してもよい。
図5は、本出願によって提供される別の例示的なデータ処理方法のフローチャートである。本実施形態の技術的解決策は、格納エンドに適用される。従来のストレージシステムでは、ストレージサーバがこの方法を実行し得る。分散ストレージシステムでは、任意のデータ格納ノードがこの方法を実行し得る。
この方法は、以下のステップを含み得る。
501:ターゲットデータを取得する。
ターゲットデータは、要求エンドによって格納されるデータに予約済みフィールドを追加することによって形成される。
ターゲットデータは、要求エンドの書き込み要求に含まれていてもよく、格納エンドは、書き込み要求からターゲットデータを取得してもよい。
502:ターゲットデータをキャッシュするための第2のメモリを割り当てる。
ターゲットデータを取得した後、格納エンドは、ターゲットデータを一時的に格納するために、第2のメモリを受動的に割り当てる。第2のメモリのメモリサイズは、ターゲットデータのデータサイズと一致している。
503:ターゲットデータ内の格納されるデータのデータメタデータを生成する。
504:第2のメモリ内の予約済みフィールドに対応するメモリロケーションにデータメタデータを書き込む。
その後、格納エンドは、第2のメモリに格納されるデータを1つのデータメタデータとしてストレージデバイスに書き込むことができる。
予約済みフィールドによって占有されるデータサイズは、データメタデータのデータサイズ以上である。第2のメモリは、データメタデータを書き込むことが可能なスペースを十分有している。格納エンドは、格納されるデータをデータメタデータとしてストレージデバイスに書き込むために、追加の書き込みディスクメモリを割り当てる必要はない。データのコピーを実行する必要はなく、ゼロコピーが達成される。したがって、メモリのいかなる浪費も引き起こすことなく、システム性能およびデータ格納の効率を向上させることができる。
要求エンドおよび格納エンドは、ターゲットデータ内の予約済みフィールドの位置、および格納されるデータの位置を合意することができる。例えば、ターゲットデータ内の最後の32バイトは、予約済みフィールドに対応する。格納エンドは、格納されるデータを読み取り、合意されたルールに基づいて予約済みフィールドを決定することができる。
したがって、いくつかの実施形態では、予約済みフィールドは、格納されるデータの最後に位置し得る。
ターゲットデータ内の格納されるデータのデータメタデータを生成することは、
予約済みフィールドのあらかじめ設定されたサイズに基づいて、ターゲットデータ内の格納されるデータおよび予約済みフィールドを決定することと、
格納されるデータのデータメタデータを生成することと、を含み得る。
したがって、格納エンドは、格納されるデータに基づいてデータメタデータを生成することができる。
要求エンドは、要求メタデータを格納エンドに送信することもでき、格納エンドは、要求メタデータ内の格納されるデータのデータ長および/またはデータ位置に従って、ターゲットデータ内の格納されるデータを決定することができる。
要求メタデータは、格納エンドが格納されるデータを格納するストレージデバイスなどを示すこともできる。
データメタデータは、要求メタデータおよび格納されるデータに基づいて生成され得る。
分散ストレージシステムでは、格納されるデータが、複数のデータ格納ノードに送信されて格納される状況(例えば、格納されるデータがコピーデータであるとき)が存在する。前述の実施形態における説明に基づいて、要求エンドによって格納エンドに送信されるデータには、ターゲットデータおよび少なくとも1つの要求メタデータが含まれ得る。
したがって、いくつかの実施形態では、ターゲットデータを取得することは、
要求エンドによって送信された書き込み要求を受信することであって、書き込み要求は、ターゲットデータおよび少なくとも1つの要求メタデータを含む、受信することと、
ターゲット要求メタデータを決定することと、を含み得る。
ターゲットデータ内の格納されるデータのデータメタデータを生成することは、
ターゲット要求メタデータに基づいて格納されるデータを読み取ることと、
ターゲット要求メタデータおよび格納されるデータに基づいてデータメタデータを生成することと、を含む。
例えば、ターゲット要求メタデータは、格納されるデータのデータサイズを含み、格納されるデータのデータサイズは、データメタデータの情報として使用されてもよい。データチェックサムなど、データメタデータに含まれる他の情報は、格納されるデータに基づいて生成することができる。データチェックサムは、本明細書では繰り返さない既存の技術と同じであるCRC(Cyclic Redundancy Check、巡回冗長検査)アルゴリズムを使用して実施することができる。
図3に示される実施形態に従って、要求エンドがターゲットデータを送信する場合、要求エンドの書き込み要求は、第1のメモリ内の、要求エンドによって送信されるように要求されたターゲットデータ、ターゲット要求メタデータ、およびターゲット要求メタデータの前に位置する要求メタデータを含み得る。
したがって、ターゲット要求メタデータを決定することは、
要求メタデータのデータサイズに基づいて、書き込み要求のデータの最後からターゲット要求メタデータを読み取ることを含み得る。
したがって、ターゲット要求メタデータに基づいて、送信されたデータから格納されるデータを読み取ることができる。
分散ストレージシステムにおいてコピーデータとして格納されるデータを一例として取り上げることで、本出願の実施形態の技術的解決策について以下に記載する。分散ストレージシステムでは、通常、マルチコピー技術を使用して、障害に起因する元のデータの損失の問題を解決する。
図6に示されるように、要求エンド60は、最初に、ターゲットデータ601を構築し、予約済みフィールド603をコピーデータ602の最後に追加する。予約済みフィールドは、コピーデータの最後に、あらかじめ設定されたサイズの空の文字列を追加することにより形成されてもよい。
3つのデータ格納ノードは、それぞれ第1のデータ格納ノード61、第2のデータ格納ノード62、および第3のデータ格納ノード63を含む、コピーデータを受信すると仮定する。言い換えれば、要求エンドは、3つのデータ格納ノードにコピーデータを送信する必要がある。要求エンドは、必要な3つのデータ格納ノードの各々に対応するそれぞれの要求メタデータを別々に決定する。第1のデータ格納ノード61に対応する1つの要求メタデータをm1と仮定する。第2のデータ格納ノード62に対応する1つの要求メタデータをm2と仮定する。第3のデータ格納ノード63に対応する1つの要求メタデータをm3と仮定する。
要求エンドは、第1のメモリを申請し、ターゲットデータ601を第1のメモリに書き込み、3つのデータ格納ノードの送信順序(送信順序は、第1のデータ格納ノード61、第2のデータ格納ノード62、および第3のデータ格納ノード63であると仮定する)に従って、3つの要求メタデータをターゲットデータ601の最後に順次入れ、3つの要求メタデータの配列の順序はm1、m2、およびm3である。
任意のデータ格納ノードについて、要求エンドは、コピーデータ、任意の格納ノードに対応する1つの要求メタデータ、および任意の格納ノードに対応する1つの要求メタデータの前の任意の数の要求メタデータを第1のメモリから読み取り、任意のデータ格納ノードに書き込み要求を送信することができる。
図6に示されるように、要求エンド60は、ターゲットデータ601およびm1を第1のデータ格納ノード61に送信し、ターゲットデータ601、m1、およびm2を第2のデータ格納ノードに送信し、ターゲットデータ601、m1、m2、およびm3を第3のデータ格納ノードに送信する。
したがって、任意のデータ格納ノードが書き込み要求を受信した後、任意のデータ格納ノードは、書き込み要求の最後から、他のデータ格納ノードとは異なるターゲット要求メタデータを読み取り、取得することができる。
各データ格納ノードは、いくつかの要求メタデータおよび要求メタデータのデータサイズに基づいて、書き込み要求からターゲットデータを決定し、ターゲットデータを一時的に格納するために、第2のメモリを割り当てることができる。
その後、各データ格納ノードは、ターゲット要求メタデータに基づいてターゲットデータからコピーデータを決定し、それに応じてデータメタデータを生成し、次に、データメタデータを第2のメモリに書き込むことができる。
各データ格納ノードは、第2のメモリに書き込まれたコピーデータおよびデータメタデータをそれぞれのストレージデバイス64に書き込むことができる。
上記の説明から分かるように、要求エンドは、第1のメモリを申請し、3つのデータ格納ノードの複数の要求メタデータを一度に第1のメモリに入れ、それにより、操作を簡略化し、データ送信の効率を確保する。さらに、要求エンドは、ターゲットデータを形成するために、コピーデータに予約済みフィールドを追加し、その結果、ターゲットデータを一時的に格納するためにデータ格納ノードによって受動的に割り当てられた第2のメモリは、データメタデータを書き込むためのスペースを十分有する。したがって、書き込みディスクメモリの再申請およびデータコピーの操作を行う必要なく、データ格納を達成することができる。ゼロコピーの方式を使用することにより、システム性能およびデータ格納の効率が向上する。さらに、追加のメモリを申請する必要がなく、メモリの浪費の問題が軽減される。
図7は、本出願による例示的なデータ処理装置の概略構造図である。データ処理装置は、要求エンドに構成されてもよい。装置は、
ターゲットデータを取得するために、格納されるデータに予約済みフィールドを追加するように構成されたデータ構築モジュール701を含み得る。
任意選択で、データ構築モジュールは、具体的に、ターゲットデータを取得するために、格納されるデータの最後に、あらかじめ設定されたサイズの所定の文字列を予約済みフィールドとして追加することができる。
データ送信モジュール702は、ターゲットデータを格納エンドに送信するように構成され、予約済みフィールドは、格納エンドの対応するメモリロケーションに格納されるデータのデータメタデータを書き込むために使用される。
本実施形態では、ターゲットデータを構築するために、格納されるデータに予約済みフィールドが追加される。ターゲットデータのデータサイズは、格納されるデータのデータサイズと予約済みフィールドによって占有されるデータサイズとの合計に等しいので、データメタデータを書き込むには、格納エンドによって受動的に割り当てられた第2のメモリで十分大きい。したがって、追加の書き込みディスクメモリを申請する必要がなく、データのコピーも必要なく、ゼロコピーが達成される。これにより、メモリの浪費を引き起こすことなく、システム性能およびデータ格納の効率を向上させることができる。
格納されるデータは、送信される前にメモリに一時的に格納する必要があるので、いくつかの実施形態では、データ送信モジュールは、具体的には、ターゲットデータのデータサイズと一致する第1のメモリを割り当て、ターゲットデータを第1のメモリに入れ、第1のメモリ内のターゲットデータを格納エンドに送信するように構成され得る。
要求メタデータは、格納エンドに送信されてもよく、格納エンドは、要求メタデータ内の格納されるデータのデータ長および/またはデータ位置に従って、ターゲットデータ内の格納されるデータを決定し得る。
要求メタデータは、格納エンドが格納されるデータを格納するストレージデバイスを示すこともできる。
格納されるデータは、送信される前にメモリに一時的に格納される必要があるので、要求メタデータもメモリに入れることができ、その結果、格納されるデータおよび要求メタデータを一緒に送信することができる。
したがって、いくつかの実施形態では、データ送信モジュールは、具体的には、
ターゲットデータと要求メタデータとの合計データサイズを計算し、
合計データサイズと一致する第1のメモリを割り当て、
ターゲットメモリおよび要求メタデータを第1のメモリに入れ、
ターゲットデータを第1のメモリから格納エンドに送信する、ように構成され得る。
実用的応用では、本出願の技術的解決策を分散ストレージシステムに適用することができる。分散ストレージシステムでは、あるデータ格納ノードの障害によって引き起こされるデータ損失を回避するために、通常、元のデータのコピーをいくつか作成するために、マルチコピー技術が採用され、データの各コピーは、異なるデータ格納ノードに格納される。元のデータの各コピーデータは、コピーデータである。したがって、格納されるデータは、コピーデータと呼ばれることがある。
分散ストレージシステムは、クラスタシステムを形成するいくつかのデータ格納ノードによって形成されるので、格納されるデータを複数のデータ格納ノードに送信して格納する必要がある。例えば、格納されるデータがコピーデータであるとき、コピーデータは、複数のデータ格納ノードに別々に送信される必要がある。
したがって、いくつかの実施形態では、格納エンドは、複数のデータ格納ノードを含み得る。
任意選択の方法として、データ送信モジュールは、具体的には、
格納されるデータに別々に対応する複数のデータ格納ノードの複数の要求メタデータを決定し、
ターゲットデータと複数の要求メタデータとの合計データサイズを計算し、
合計データサイズと一致する第1のメモリを割り当て、
ターゲットメモリおよび複数の要求メタデータを第1のメモリに入れ、
ターゲットデータおよび対応する1つの要求メタデータを複数のデータ格納ノードに別々に送信する、ように構成され得る。
別の任意選択の方法として、データ送信モジュールは、具体的には、
格納されるデータに別々に対応する複数のデータ格納ノードの複数の要求メタデータを決定し、
ターゲットデータと複数の要求メタデータとの合計データサイズを計算し、
合計データサイズと一致する第1のメモリを割り当て、
ターゲットデータを第1のメモリに入れ、複数の要求メタデータをターゲットデータの最後に順次入れ、
任意のデータ格納ノードについて、第1のメモリ内の、ターゲットデータ、任意のデータ格納ノードに対応する1つの要求メタデータ、および任意のデータ格納ノードに対応する1つの要求メタデータの前に位置する1つ以上の要求メタデータを任意の格納ノードに送信する、ように構成されてもよく、任意のデータ格納ノードは、受信データの最後から対応する1つの要求メタデータを読み取るように構成されている。
任意選択で、データ送信モジュールが複数の要求メタデータをターゲットデータの最後に順次入れることは、具体的には、複数のデータ格納ノードの送信順序に従って、複数のデータ格納ノードに対応するそれぞれの複数の要求メタデータをターゲットデータの最後に順次入れることを含み得る。
データ送信モジュールが、任意のデータ格納ノードについて、第1のメモリ内の、ターゲットデータ、任意のデータ格納ノードに対応する1つの要求メタデータ、および任意のデータに対応する1つの要求メタデータの前に位置する1つ以上の要求メタデータを任意の格納ノードに送信することは、具体的には、任意のデータ格納ノードについて、ターゲットデータ、1つの要求メタデータは、任意のデータ格納ノードの送信順序に対応し、および任意のデータ格納ノードの送信順序に対応する1つの要求メタデータの前に位置する1つ以上の要求メタデータを第1のメモリから任意の格納ノードに送信することを含み得る。
可能な設計では、図7に示される実施形態のデータ処理装置は、コンピューティングデバイスとして実装され得る。コンピューティングデバイスは、要求サーバであり得る要求エンドに配備される。図8に示されるように、コンピューティングデバイスは、格納コンポーネント801および処理コンポーネント802を含み得る。
格納コンポーネント801は、1つ以上のコンピュータ命令を格納するように構成されており、1つ以上のコンピュータ命令は、呼び出しおよび実行のために処理コンポーネントに提供される。
処理コンポーネント802は、
ターゲットデータを取得するために、格納されるデータに予約済みフィールドを追加し、
ターゲットデータを格納エンドに送信する、ように構成され、予約済みフィールドは、格納エンドの対応するメモリロケーションに格納されるデータのデータメタデータを書き込むために使用される。
処理コンポーネント802は、ターゲットデータおよび/または要求メタデータを格納コンポーネント801にキャッシュするために第1のメモリを適用し得る。
処理コンポーネント802は、上記の図1から図3に示される実施形態のいずれか1つに記載されたデータ処理方法を実行するように構成されてもよい。
処理コンポーネント802は、コンピュータ命令を実行して、上記の方法のステップの全部または一部を完了するための1つ以上のプロセッサを含み得る。明らかに、処理コンポーネントは、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または上記の方法を実装するための他の電子コンポーネントのうちの1つ以上でもよい。
格納コンポーネント801は、コンピューティングデバイス上での動作をサポートするために様々なタイプのデータを格納するように構成されている。メモリは、スタティックランダムアクセスメモリ(SRAM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、プログラマブル読み取り専用メモリ(PROM)、読み取り専用メモリ(ROM)、磁気ストレージデバイス、フラッシュメモリ、磁気ディスク、または光ディスクなど、任意のタイプの揮発性または不揮発性ストレージデバイスまたはそれらの組み合わせで実装することができる。
明らかに、コンピューティングデバイスは、入出力インターフェース、通信コンポーネントなど他のコンポーネントも必然的に含み得る。
本出願の実施形態は、コンピュータプログラムを格納するコンピュータ可読記憶媒体も提供し、コンピュータによって実行されると、コンピュータプログラムは、図1〜3の実施形態のいずれか1つに示されるデータ処理方法を実装することができる。
図9は、本出願によって提供される別の例示的なデータ処理装置の概略構造図である。装置は、格納エンドに構成されてもよく、装置は、
ターゲットデータを取得するように構成されたデータ取得モジュール901であって、ターゲットデータは、要求エンドによって格納されるデータに追加された予約済みフィールドを含む、データ取得モジュール901と、
ターゲットデータをキャッシュするための第2のメモリを割り当てるように構成されたメモリ割り当てモジュール902と、
ターゲットデータ内の格納されるデータのデータメタデータを生成するように構成されたデータ生成モジュール903と、
第2のメモリ内の予約済みフィールドに対応するメモリロケーションにデータメタデータを書き込むように構成されたデータ書き込みモジュール904と、を含み得る。
予約済みフィールドによって占有されるデータサイズは、データメタデータのデータサイズ以上である。第2のメモリにはデータメタデータを書き込むための十分なスペースがあり、格納エンドは、追加の書き込みディスクメモリを割り当てる必要がない。データメタデータは、データのコピーを行うことなく、ストレージデバイスに書き込まれ、ゼロコピーが達成される。したがって、メモリの浪費を引き起こすことなく、システム性能およびデータ格納の効率を向上させることができる。
いくつかの実施形態では、ターゲットデータ内の予約済みフィールドの位置および格納されるデータの位置は、要求エンドと合意することができる。例えば、ターゲットデータ内の最後の32バイトは、予約済みフィールドに対応する。格納エンドは、格納されるデータをターゲットデータから読み取り、そのような合意されたルールに基づいて予約済みフィールドを決定することができる。
したがって、いくつかの実施形態では、予約済みフィールドは、格納されるデータの最後に位置し得る。
データ生成モジュールは、具体的には、予約済みフィールドのあらかじめ設定されたサイズに基づいて、ターゲットデータ内の格納されるデータおよび予約済みフィールドを決定し、格納されるデータのデータメタデータを生成するように構成されてもよい。
要求エンドは、要求メタデータを格納エンドに送信し得る。したがって、いくつかの実施形態では、データ取得モジュールは、具体的には、
要求エンドによって送信された書き込み要求を受信するように構成され、書き込み要求は、ターゲットデータおよび少なくとも1つの要求メタデータを含み、
ターゲット要求メタデータを決定するように構成され得る。
データ生成モジュールは、具体的には、ターゲット要求メタデータに基づいて、送信されたデータから格納されるデータを読み取り、ターゲット要求メタデータおよび格納されるデータに基づいてデータメタデータを生成するように構成され得る。
いくつかの実施形態では、書き込み要求は、要求エンドが第1のメモリから送信することを要求する、ターゲットデータ、ターゲット要求メタデータ、およびターゲット要求メタデータの前の要求メタデータを含み得る。
ターゲット要求メタデータを決定するデータ取得モジュールは、具体的には、要求メタデータのデータサイズに基づいて、書き込み要求の最後からターゲット要求メタデータを読み取ることを含み得る。
可能な設計では、図9に示される実施形態のデータ処理装置は、コンピューティングデバイスとして実装され得る。コンピューティングデバイスは、従来のストレージシステムのストレージサーバ、または物理サーバであり得る分散ストレージシステムのデータ格納ノードとすることができる。図10に示されるように、コンピューティングデバイスは、格納コンポーネント1001および処理コンポーネント1002を含み得る。
格納コンポーネント1001は、1つ以上のコンピュータ命令を格納するように構成されており、1つ以上のコンピュータ命令は、呼び出しおよび実行のために処理コンポーネントに提供される。
処理コンポーネント1002は、
要求エンドによって格納されるデータに追加された予約済みフィールドを含むターゲットデータを取得し、
格納コンポーネント1001に、ターゲットデータをキャッシュするための第2のメモリを割り当て、
ターゲットデータ内の格納されるデータのデータメタデータを生成し、
第2のメモリ内の予約済みフィールドに対応するメモリロケーションにデータメタデータを書き込む、ように構成されている。
加えて、処理コンポーネント1002を使用して、上記の実施形態のいずれかに記載されたデータ処理方法を実行してもよい。
処理コンポーネント1002は、コンピュータ命令を実行して、上記の方法のステップの全部または一部を完了するための1つ以上のプロセッサを含み得る。明らかに、処理コンポーネントは、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または上記の方法を実装するための他の電子コンポーネントのうちの1つ以上でもよい。
格納コンポーネント1001は、コンピューティングデバイス上での動作をサポートするために様々なタイプのデータを格納するように構成されている。メモリは、スタティックランダムアクセスメモリ(SRAM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、プログラマブル読み取り専用メモリ(PROM)、読み取り専用メモリ(ROM)、磁気ストレージデバイス、フラッシュメモリ、磁気ディスク、または光ディスクなど、任意のタイプの揮発性または不揮発性ストレージデバイスまたはそれらの組み合わせで実装することができる。
明らかに、コンピューティングデバイスは、入出力インターフェース、通信コンポーネントなど他のコンポーネントも必然的に含み得る。
本出願の実施形態は、コンピュータプログラムを格納するコンピュータ可読記憶媒体も提供し、コンピュータによって実行されると、コンピュータプログラムは、図4の実施形態のいずれか1つに示されるデータ処理方法を実装することができる。
当業者は、上記のシステム、装置、およびユニットの特定の作業プロセスが、説明の便宜および簡略化のために、本明細書で繰り返されない前述の方法実施形態の対応するプロセスを参照できることを明確に理解できる。
上記の装置実施形態は、単なる概略であり、別個のコンポーネントとして記載されるユニットは、物理的に分離されていてもよく、または分離されていなくてもよい。ユニットとして表示されるコンポーネントは、物理的なユニットであってもよく、またはそうでなくてもよく、すなわち、単一の場所に位置してもよく、または複数のネットワークユニットに分散されていてもよい。モジュールの一部または全部は、本実施形態の解決策の目的を達成するための実際の必要性に応じて選択され得る。当業者は、いかなる創造的な努力もすることなく、それを理解し、実施することができる。
上記の実施形態の説明を通じて、当業者は、各実施形態がソフトウェアおよび必要な一般的なハードウェアプラットフォームによって実施することができ、明らかにハードウェアによっても実施することもできることを明確に理解することができる。そのような理解に基づいて、上記の技術的解決策の本質または既存の技術に貢献する部分をソフトウェア製品の形式で具体化することができる。そのようなコンピュータソフトウェア製品は、ROM/RAM、磁気ディスク、光ディスクなどのコンピュータ可読記憶媒体に格納することができ、コンピューティングデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイスなどであり得る)が様々な実施形態または実施形態のいくつかの部分で記載された方法を実行することを可能にするためのいくつかの命令を含み得る。
最後に、上記の実施形態は、本出願の技術的解決策を例証するためだけに使用され、限定するものではないことに留意されたい。本出願について、前述の実施形態を参照して詳細に記載したが、当業者は、前述の実施形態に記載された技術的解決策において修正を行うことができ、または技術的特徴の一部を同等に置き換えることができることを理解されたい。これらの修正または置換は、対応する技術的解決策の本質を、本出願の実施形態の技術的解決策の意図および範囲から逸脱するものではない。

Claims (14)

  1. ターゲットデータを取得するために、格納されるデータに予約済みフィールドを追加することと、
    前記ターゲットデータを格納エンドに送信することであって、前記予約済みフィールドは、前記格納エンド内の対応するメモリロケーションに前記格納されるデータのデータメタデータを書き込むために使用され、その結果、前記格納されるデータおよび前記データメタデータは、まとめてストレージデバイスに書き込まれる、ことと、
    を含むデータ処理方法。
  2. 前記格納エンドは、複数の格納ノードを含み、前記ターゲットデータを前記格納エンドに送信することは、
    前記格納されるデータに別々に対応する前記複数のデータ格納ノードの複数の要求メタデータを決定することと、
    前記ターゲットデータと前記複数の要求メタデータとの合計データサイズを計算することと、
    前記合計データサイズと一致する第1のメモリを割り当てることと、
    前記ターゲットデータおよび前記複数の要求メタデータを前記第1のメモリに入れることと、
    前記ターゲットデータおよび対応する1つの要求メタデータを前記データ格納ノードの各々に別々に送信することと、
    を含む、請求項1の方法。
  3. 前記格納エンドは、複数の格納ノードを含み、前記ターゲットデータを前記格納エンドに送信することは、
    前記格納されるデータに別々に対応する前記複数のデータ格納ノードの複数の要求メタデータを決定することと、
    前記ターゲットデータと前記複数の要求メタデータとの合計データサイズを計算することと、
    前記合計データサイズと一致する第1のメモリを割り当てることと、
    前記ターゲットデータを前記第1のメモリに入れ、前記複数の要求メタデータを前記ターゲットデータの最後に順次入れることと、
    任意のデータ格納ノードについて、前記第1のメモリ内の、前記ターゲットデータ、前記任意のデータ格納ノードに対応する1つの要求メタデータ、および前記任意のデータ格納ノードに対応する前記1つの要求メタデータの前に位置する1つ以上の要求メタデータを前記任意の格納ノードに送信することであって、前記任意のデータ格納ノードは、受信データの最後から対応する1つの要求メタデータを読み取るように構成されている、ことと、
    を含む、請求項1の方法。
  4. 前記複数の要求メタデータを前記ターゲットデータの前記最後に順次入れることは、
    前記複数のデータ格納ノードの送信順序に従って、前記複数のデータ格納ノードに対応するそれぞれの複数の要求メタデータを前記ターゲットデータの前記最後に順次入れることを含み、
    前記任意のデータ格納ノードについて、前記第1のメモリ内の、前記ターゲットデータ、前記任意のデータ格納ノードに対応する前記1つの要求メタデータ、および前記任意のデータ格納ノードに対応する前記1つの要求メタデータの前に位置する前記1つ以上の要求メタデータを前記任意の格納ノードに送信することは、
    前記任意のデータ格納ノードについて、前記ターゲットデータ、前記1つの要求メタデータは、前記任意のデータ格納ノードの前記送信順序に対応し、および前記任意のデータ格納ノードの前記送信順序に対応する前記1つの要求メタデータの前に位置する前記1つ以上の要求メタデータを前記第1のメモリから前記任意の格納ノードに送信することを含む、請求項3の方法。
  5. 前記ターゲットデータを取得するために、前記格納されるデータに前記予約済みフィールドを追加することは、
    前記ターゲットデータを取得するために、前記格納されるデータの最後に、あらかじめ設定されたサイズの所定の文字列を前記予約済みフィールドとして追加することを含む、請求項1の方法。
  6. 前記ターゲットデータを前記格納エンドに送信することは、
    前記ターゲットデータのデータサイズと一致する第1のメモリを割り当てることと、
    前記ターゲットデータを前記第1のメモリに入れることと、
    前記ターゲットデータを前記第1のメモリから前記格納エンドに送信することと、
    を含む、請求項1の方法。
  7. ターゲットデータを取得することであって、前記ターゲットデータは、要求エンドによって格納されるデータに追加された予約済みフィールドを含む、取得することと、
    前記ターゲットデータをキャッシュするための第2のメモリを割り当てることと、
    前記ターゲットデータ内の前記格納されるデータのデータメタデータを生成することと、
    前記第2のメモリ内の前記予約済みフィールドに対応するメモリロケーションに前記データメタデータを書き込むことと、
    を含むデータ処理方法。
  8. 前記予約済みフィールドは、前記格納されるデータの最後に位置し、前記ターゲットデータ内の前記格納されるデータの前記データメタデータを生成することは、
    前記予約済みフィールドのあらかじめ設定されたサイズに基づいて、前記ターゲットデータ内の前記格納されるデータを決定することと、
    前記格納されるデータの前記データメタデータを生成することと、
    を含む、請求項7の方法。
  9. 前記ターゲットデータを取得することは、
    要求エンドによって送信された書き込み要求を受信することであって、前記書き込み要求は、前記ターゲットデータおよび少なくとも1つの要求メタデータを含む、ことと、
    ターゲット要求メタデータを決定することと、を含み、
    前記ターゲットデータ内の前記格納されるデータの前記データメタデータを生成することは、
    前記ターゲット要求メタデータに基づいて前記格納されるデータを読み取ることと、
    前記ターゲット要求メタデータおよび前記格納されるデータに基づいて前記データメタデータを生成することと、
    を含む、請求項7の方法。
  10. 前記要求エンドの前記書き込み要求は、第1のメモリ内の、前記要求エンドによって送信されるように要求された前記ターゲットデータ、前記ターゲット要求メタデータ、および前記ターゲット要求メタデータの前に位置する要求メタデータを含み、前記ターゲット要求メタデータを決定することは、
    前記要求メタデータのデータサイズに基づいて、前記書き込み要求の最後から前記ターゲット要求メタデータを読み取ることを含む、請求項9の方法。
  11. ターゲットデータを取得するために、格納されるデータに予約済みフィールドを追加するように構成されたデータ構築モジュールと、
    前記ターゲットデータを格納エンドに送信するように構成されたデータ送信モジュールであって、前記予約済みフィールドは、前記格納エンドの対応するメモリロケーションに前記格納されるデータのデータメタデータを書き込むために使用され、その結果、前記格納されるデータおよび前記データメタデータは、まとめてストレージデバイスに書き込まれる、データ送信モジュールと、
    を含むデータ処理装置。
  12. ターゲットデータを取得するように構成されたデータ取得モジュールであって、前記ターゲットデータは、要求エンドによって格納されるデータに追加された予約済みフィールドを含む、データ取得モジュールと、
    前記ターゲットデータをキャッシュするための第2のメモリを割り当てるように構成されたメモリ割り当てモジュールと、
    前記ターゲットデータ内の前記格納されるデータのデータメタデータを生成するように構成されたデータ生成モジュールと、
    前記第2のメモリ内の前記予約済みフィールドに対応するメモリロケーションに前記データメタデータを書き込むように構成されたデータ書き込みモジュールと、
    を含むデータ処理装置。
  13. 格納コンポーネントおよび処理コンポーネントを含むコンピューティングデバイスであって、
    前記格納コンポーネントは、1つ以上のコンピュータ命令を格納するように構成されており、前記1つ以上のコンピュータ命令は、呼び出しおよび実行のために前記処理コンポーネントに提供され、
    前記処理コンポーネントは、
    ターゲットデータを取得するために、格納されるデータに予約済みフィールドを追加し、
    前記ターゲットデータを格納エンドに送信する、
    ように構成されており、前記予約済みフィールドは、前記格納エンド内の対応するメモリロケーションに前記格納されるデータのデータメタデータを書き込むために使用され、その結果、前記格納されるデータおよび前記データメタデータは、まとめてストレージデバイスに書き込まれる、コンピューティングデバイス。
  14. 格納コンポーネントおよび処理コンポーネントを含むコンピューティングデバイスであって、
    前記格納コンポーネントは、1つ以上のコンピュータ命令を格納するように構成されており、前記1つ以上のコンピュータ命令は、呼び出しおよび実行のために前記処理コンポーネントに提供され、
    前記処理コンポーネントは、
    要求エンドによって格納されるデータに追加された予約済みフィールドを含むターゲットデータを取得し、
    前記ターゲットデータをキャッシュするための第2のメモリを割り当て、
    前記ターゲットデータ内の前記格納されるデータのデータメタデータを生成し、
    前記第2のメモリ内の前記予約済みフィールドに対応するメモリロケーションに前記データメタデータを書き込む、
    ように構成されている、コンピューティングデバイス。
JP2020537757A 2018-01-09 2019-01-07 データ処理方法、装置、およびコンピューティングデバイス Active JP7378403B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810020121.0 2018-01-09
CN201810020121.0A CN110018897B (zh) 2018-01-09 2018-01-09 数据处理方法、装置及计算设备
PCT/CN2019/070580 WO2019137321A1 (zh) 2018-01-09 2019-01-07 数据处理方法、装置及计算设备

Publications (2)

Publication Number Publication Date
JP2021510222A true JP2021510222A (ja) 2021-04-15
JP7378403B2 JP7378403B2 (ja) 2023-11-13

Family

ID=67187831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020537757A Active JP7378403B2 (ja) 2018-01-09 2019-01-07 データ処理方法、装置、およびコンピューティングデバイス

Country Status (5)

Country Link
US (1) US11354050B2 (ja)
EP (1) EP3739450A4 (ja)
JP (1) JP7378403B2 (ja)
CN (1) CN110018897B (ja)
WO (1) WO2019137321A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3109862A1 (en) * 2020-02-20 2021-08-20 Comcast Cable Communications, Llc Systems, methods, and apparatuses for storage management
CN111800353B (zh) * 2020-06-30 2022-04-12 翱捷科技股份有限公司 一种嵌入式系统内存零拷贝的方法及装置
CN113886294A (zh) * 2020-07-02 2022-01-04 北京瀚海云星科技有限公司 一种基于rdma的低延时数据传输方法及相关装置
CN113965627A (zh) * 2020-07-02 2022-01-21 北京瀚海云星科技有限公司 一种发送数据的方法、低延时接收数据的方法及相关装置
CN112148795B (zh) * 2020-09-27 2021-06-15 上海依图网络科技有限公司 一种数据处理方法、装置、设备及介质
CN114546261B (zh) * 2022-01-07 2023-08-08 苏州浪潮智能科技有限公司 一种分布式对象存储中对象移动优化方法与系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164283A (ja) * 2004-12-03 2006-06-22 Hewlett-Packard Development Co Lp 取外し可能な記憶媒体のアドレス指定可能なユニットにデータ及び時間値を書き込むシステム及び方法
US20140325168A1 (en) * 2013-04-29 2014-10-30 Samsung Electronics Co., Ltd. Management of stored data based on corresponding attribute data

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826650B1 (en) 2000-08-22 2004-11-30 Qlogic Corporation Disk controller configured to perform out of order execution of write operations
JP4186509B2 (ja) * 2002-05-10 2008-11-26 株式会社日立製作所 ディスクシステムとそのキャッシュ制御方法
KR101257848B1 (ko) 2005-07-13 2013-04-24 삼성전자주식회사 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법
JP2008027383A (ja) 2006-07-25 2008-02-07 Toshiba Corp 情報記録装置及びその制御方法
TWI326028B (en) 2006-11-20 2010-06-11 Silicon Motion Inc Method for flash memory data management
JP4282733B1 (ja) 2007-12-13 2009-06-24 株式会社東芝 ディスク記憶装置及びデータ書き込み方法
JP5023003B2 (ja) * 2008-06-27 2012-09-12 株式会社東芝 メタデータ管理方法及びデータ記録装置
US8732388B2 (en) * 2008-09-16 2014-05-20 Micron Technology, Inc. Embedded mapping information for memory devices
CN101382948A (zh) * 2008-10-14 2009-03-11 成都市华为赛门铁克科技有限公司 一种文件存储方法、装置和系统
US8533397B2 (en) * 2009-01-06 2013-09-10 International Business Machines Corporation Improving performance in a cache mechanism by way of destaging data in partial strides
JP4706029B2 (ja) 2009-03-19 2011-06-22 富士通株式会社 ストレージ装置、データ書き込み方法、及びデータ書き込みプログラム
US8327076B2 (en) 2009-05-13 2012-12-04 Seagate Technology Llc Systems and methods of tiered caching
JP4621794B1 (ja) 2009-07-22 2011-01-26 株式会社東芝 キャッシュメモリ制御方法およびキャッシュメモリを備えた情報記憶装置
KR101662827B1 (ko) 2010-07-02 2016-10-06 삼성전자주식회사 쓰기 패턴에 따라 데이터 블록의 쓰기 모드를 선택하는 메모리 시스템 및 그것의 데이터 쓰기 방법
US8352685B2 (en) 2010-08-20 2013-01-08 Apple Inc. Combining write buffer with dynamically adjustable flush metrics
KR101739556B1 (ko) 2010-11-15 2017-05-24 삼성전자주식회사 데이터 저장 장치, 사용자 장치 및 그것의 주소 맵핑 방법
US8484408B2 (en) 2010-12-29 2013-07-09 International Business Machines Corporation Storage system cache with flash memory in a raid configuration that commits writes as full stripes
JP5853899B2 (ja) 2012-03-23 2016-02-09 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
KR102074329B1 (ko) 2013-09-06 2020-02-06 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 처리 방법
CN103559143A (zh) * 2013-11-08 2014-02-05 华为技术有限公司 数据拷贝管理装置及其数据拷贝方法
US10423339B2 (en) * 2015-02-02 2019-09-24 Western Digital Technologies, Inc. Logical block address mapping for hard disk drives
CN106294193B (zh) * 2015-06-03 2019-10-15 杭州海康威视系统技术有限公司 存储设备及基于该存储设备的分块存储方法
CN105159607A (zh) * 2015-08-28 2015-12-16 浪潮(北京)电子信息产业有限公司 一种基于离散存储的高速写入的方法
US20170123991A1 (en) 2015-10-28 2017-05-04 Sandisk Technologies Inc. System and method for utilization of a data buffer in a storage device
CN105389128B (zh) * 2015-11-06 2019-04-19 成都华为技术有限公司 一种固态硬盘数据存储方法及存储控制器
CN107656939A (zh) * 2016-07-26 2018-02-02 南京中兴新软件有限责任公司 文件写入方法及装置
CN107122140A (zh) * 2017-05-02 2017-09-01 郑州云海信息技术有限公司 一种基于元数据信息的文件智能存储方法
CN109582599B (zh) * 2017-09-29 2023-12-22 上海宝存信息科技有限公司 数据储存装置以及非挥发式存储器操作方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164283A (ja) * 2004-12-03 2006-06-22 Hewlett-Packard Development Co Lp 取外し可能な記憶媒体のアドレス指定可能なユニットにデータ及び時間値を書き込むシステム及び方法
US20140325168A1 (en) * 2013-04-29 2014-10-30 Samsung Electronics Co., Ltd. Management of stored data based on corresponding attribute data

Also Published As

Publication number Publication date
WO2019137321A1 (zh) 2019-07-18
US11354050B2 (en) 2022-06-07
CN110018897B (zh) 2023-05-26
EP3739450A1 (en) 2020-11-18
CN110018897A (zh) 2019-07-16
JP7378403B2 (ja) 2023-11-13
EP3739450A4 (en) 2021-10-27
US20200341661A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
JP7378403B2 (ja) データ処理方法、装置、およびコンピューティングデバイス
US10983955B2 (en) Data unit cloning in memory-based file systems
CN108351860B (zh) 低延迟的基于rdma的分布式存储装置
US9928250B2 (en) System and method for managing deduplication using checkpoints in a file storage system
CN113287286B (zh) 通过rdma进行分布式存储节点中的输入/输出处理
WO2016115920A1 (zh) 存储管理方法、装置及流媒体系统
US10838641B2 (en) Defragmenting backup objects
US8473693B1 (en) Managing ownership of memory buffers (mbufs)
US9858300B2 (en) Hash based de-duplication in a storage system
US20200133773A1 (en) Data and metadata storage in storage devices
US10963177B2 (en) Deduplication using fingerprint tries
US11144243B2 (en) Method and device for managing redundant array of independent disks and computer program product
CN111857557B (zh) Raid类型转换的方法、设备和计算机程序产品
CN110928803B (zh) 一种内存管理方法及装置
CN114365109A (zh) 启用rdma的键-值存储库
US9563363B2 (en) Flexible storage block for a solid state drive (SSD)-based file system
CN115964002A (zh) 一种电能表终端档案管理方法、装置、设备及介质
EP4087212A1 (en) Method and apparatus for cloning file system
US11132401B1 (en) Distributed hash table based logging service
US10083225B2 (en) Dynamic alternate keys for use in file systems utilizing a keyed index
KR20220077208A (ko) 데이터 중복 제거 기능을 갖는 스토리지 장치, 스토리지 장치의 동작 방법, 및 스토리지 서버의 동작 방법
CN117149447B (zh) 带宽调整方法、装置、设备及存储介质
US11514016B2 (en) Paging row-based data stored as objects
CN111061683B (zh) 一种高速存储和操作数据流的方法与装置
US10901944B2 (en) Statelessly populating data stream into successive files

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230914

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231031

R150 Certificate of patent or registration of utility model

Ref document number: 7378403

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150