JP6195098B2 - ファイル読み取り方法、記憶装置、および読み取りシステム - Google Patents
ファイル読み取り方法、記憶装置、および読み取りシステム Download PDFInfo
- Publication number
- JP6195098B2 JP6195098B2 JP2016520227A JP2016520227A JP6195098B2 JP 6195098 B2 JP6195098 B2 JP 6195098B2 JP 2016520227 A JP2016520227 A JP 2016520227A JP 2016520227 A JP2016520227 A JP 2016520227A JP 6195098 B2 JP6195098 B2 JP 6195098B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- read
- data
- cache
- predetermined number
- 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
Links
- 238000000034 method Methods 0.000 title claims description 115
- 230000008569 process Effects 0.000 description 22
- 230000009286 beneficial effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
- G06F16/1752—De-duplication implemented within the file system, e.g. based on file segments based on file chunks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/602—Details relating to cache prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
前記記憶装置により、クライアントによって送信される第一読み取り要求を受信するステップであって、前記第一読み取り要求によって要求される読み取り対象データが前記ファイルの一部分である、ステップと、
前記読み取り対象データであって前記キャッシュ内に存在するデータを前記キャッシュから読み取り、前記読み取り対象データであって前記キャッシュ内に存在しないデータを前記第一記憶媒体から読み取るステップと、
前記複数のコンテナのうちの少なくとも1つのコンテナ内のデータを前記第一記憶媒体から先読みし、先読みされたデータを前記キャッシュ内に格納するステップであって、先読みされるコンテナが前記ファイルの少なくとも1つの未読み取りファイルセグメントを含む、ステップとを有する。
前記第一記憶媒体から、かつ所定数の未読み取りファイルセグメントが位置するコンテナから、前記所定数のファイルセグメントの数が閾値を超えるコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納するステップを含む。
前記所定数の未読み取りファイルセグメントから、未読み取りファイルセグメントの数が前記閾値を超えないコンテナ内の未読み取りファイルセグメントを選択し、選択された未読み取りファイルセグメントを先読みし、先読みされた未読み取りファイルセグメントを前記キャッシュ内に格納するステップをさらに有する。
第一アドレスポインタを取得するステップであって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、ステップと、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得するステップと、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナ内で、前記所定数のアドレスポインタが当該コンテナの各々を指し示す回数を統計収集するステップと、
統計収集によって取得された前記回数が前記閾値を超えるか否かを判定し、統計収集によって取得された前記回数が前記閾値を超える場合に、前記回数が前記閾値を超えるコンテナ内のデータを先読みするステップとを含む。
前記第一記憶媒体から、所定数の未読み取りファイルセグメントが位置するコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納するステップを含む。
第一アドレスポインタを取得するステップであって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、ステップと、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得するステップと、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナ内のデータを先読みするステップとを含む。
所定数の未読み取りファイルセグメントが位置するコンテナの一連のシリアル番号にしたがって、前記第一記憶媒体から、前記所定数のファイルセグメントが位置する前記コンテナのうちの少なくとも1つのコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納するステップを含む。
第一アドレスポインタを取得するステップであって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、ステップと、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得するステップと、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナの一連のシリアル番号にしたがって、前記取得されたアドレスポインタが指し示す前記ファイルセグメントが位置する前記コンテナのうちの少なくとも1つのコンテナ内のデータを先読みするステップとを含む。
前記ファイルの前記アドレスポインタテーブル内で、前記第一アドレスポインタを開始ポインタとして用いて、前記第一アドレスポインタに続くすべてのアドレスポインタの数が所定数を超えるか否かを判定するステップと、
前記第一アドレスポインタに続くすべてのアドレスポインタの数が前記所定数を超える場合に、前記第一アドレスポインタに続くすべてのアドレスポインタを取得するステップと、
前記第一アドレスポインタに続くすべてのアドレスポインタの数が前記所定数を超えない場合に、前記所定数のアドレスポインタを取得するステップとを含む。
前記記憶装置が前記第一読み取り要求を受信する時間が、所定時間枠の範囲内であることと、
前記第一読み取り要求によって要求される前記読み取り対象データが、前記キャッシュ内に存在しないか、または前記第一読み取り要求によって要求される前記読み取り対象データの一部分が、前記キャッシュ内に存在しないことと、
前記記憶装置が前記第一読み取り要求によって要求される前記読み取り対象データを読み取った後、前記キャッシュ内に存在し、前記ファイルに関連する未読み取りファイルセグメントの数が、所定数よりも少ないこととのうちの1つ以上の条件を含む。
前記記憶装置が前記第一読み取り要求を受信する時間が、所定時間枠の範囲内であることと、
前記第一読み取り要求によって要求される前記読み取り対象データが、前記キャッシュ内に存在しないか、または前記第一読み取り要求によって要求される前記読み取り対象データの一部分が、前記キャッシュ内に存在しないことと、
前記記憶装置が前記第一読み取り要求によって要求される前記読み取り対象データを読み取った後、前記キャッシュ内に存在し、前記ファイルに関連する未読み取りファイルセグメントの数が、所定数よりも少ないことと、
前記第一読み取り要求によって要求される前記読み取り対象データに対応するファイルセグメントが、先行する先読みの間の前記所定数の未読み取りファイルセグメントを除く未読み取りファイルセグメントであることとのうちの1つ以上の条件を含む。
前記記憶装置により、前記クライアントによって送信される第二読み取り要求を受信するステップであって、前記第二読み取り要求によって要求される読み取り対象データが前記ファイルの一部分である、ステップと、
前記第二読み取り要求によって要求される前記読み取り対象データであって前記キャッシュ内に存在するデータを前記キャッシュから読み取るステップと、
前記第二読み取り要求によって要求される前記読み取り対象データであって前記キャッシュ内に存在しないデータを前記第一記憶媒体から読み取るステップとをさらに有する。
クライアントによって送信される第一読み取り要求を受信するように構成された受信モジュールであって、前記第一読み取り要求によって要求される読み取り対象データが前記ファイルの一部分である、受信モジュールと、
前記読み取り対象データであって前記キャッシュ内に存在するデータを前記キャッシュから読み取り、前記読み取り対象データであって前記キャッシュ内に存在しないデータを前記第一記憶媒体から読み取るように構成された読み取りモジュールと、
前記複数のコンテナのうちの少なくとも1つのコンテナ内のデータを前記第一記憶媒体から先読みし、先読みされたデータを前記キャッシュ内に格納するように構成された先読みモジュールであって、先読みされるコンテナが前記ファイルの少なくとも1つの未読み取りファイルセグメントを含む、先読みモジュールとを含む。
前記第一記憶媒体から、かつ所定数の未読み取りファイルセグメントが位置するコンテナから、前記所定数のファイルセグメントの数が閾値を超えるコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納するようにさらに構成される。
前記所定数の未読み取りファイルセグメントから、未読み取りファイルセグメントの数が前記閾値を超えないコンテナ内の未読み取りファイルセグメントを選択し、選択された未読み取りファイルセグメントを先読みし、先読みされた未読み取りファイルセグメントを前記キャッシュ内に格納するようにさらに構成される。
第一アドレスポインタを取得するように構成された第一取得ユニットであって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、第一取得ユニットと、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得するように構成された第二取得ユニットと、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナ内で、前記所定数のアドレスポインタが当該コンテナの各々を指し示す回数を統計収集するように構成された統計収集ユニットと、
統計収集によって取得された前記回数が前記閾値を超えるか否かを判定し、統計収集によって取得された前記回数が前記閾値を超える場合に、前記回数が前記閾値を超えるコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納するように構成された第一先読みユニットとを含む。
前記第一記憶媒体から、所定数の未読み取りファイルセグメントが位置するコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納するようにさらに構成される。
第一アドレスポインタを取得するように構成された第三取得ユニットであって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、第三取得ユニットと、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得するように構成された第四取得ユニットと、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納するように構成された第二先読みユニットとを含む。
所定数の未読み取りファイルセグメントが位置するコンテナの一連のシリアル番号にしたがって、前記第一記憶媒体から、前記所定数のファイルセグメントが位置する前記コンテナのうちの少なくとも1つのコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納するようにさらに構成される。
第一アドレスポインタを取得するように構成された第五取得ユニットであって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、第五取得ユニットと、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得するように構成された第六取得ユニットと、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナの一連のシリアル番号にしたがって、前記取得されたアドレスポインタが指し示す前記ファイルセグメントが位置する前記コンテナのうちの少なくとも1つのコンテナ内のデータを先読みするように構成された第三先読みユニットとを含む。
前記ファイルの前記アドレスポインタテーブル内で、前記第一アドレスポインタを開始ポインタとして用いて、前記第一アドレスポインタに続くすべてのアドレスポインタの数が所定数を超えるか否かを判定し、
前記第一アドレスポインタに続くすべてのアドレスポインタの数が前記所定数を超える場合に、前記第一アドレスポインタに続くすべてのアドレスポインタを取得し、
前記第一アドレスポインタに続くすべてのアドレスポインタの数が前記所定数を超えない場合に、前記所定数のアドレスポインタを取得するようにさらに構成される。
前記受信モジュールが前記第一読み取り要求を受信する時間が、所定時間枠の範囲内であることと、
前記第一読み取り要求によって要求される前記読み取り対象データが、前記キャッシュ内に存在しないか、または前記第一読み取り要求によって要求される前記読み取り対象データの一部分が、前記キャッシュ内に存在しないことと、
前記記憶装置が前記第一読み取り要求によって要求される前記読み取り対象データを読み取った後、前記キャッシュ内に存在し、前記ファイルに関連する未読み取りファイルセグメントの数が、所定数よりも少ないこととのうちの1つ以上の条件を含む。
前記受信モジュールが前記第一読み取り要求を受信する時間が、所定時間枠の範囲内であることと、
前記第一読み取り要求によって要求される前記読み取り対象データが、前記キャッシュ内に存在しないか、または前記第一読み取り要求によって要求される前記読み取り対象データの一部分が、前記キャッシュ内に存在しないことと、
前記記憶装置が前記第一読み取り要求によって要求される前記読み取り対象データを読み取った後、前記キャッシュ内に存在し、前記ファイルに関連する未読み取りファイルセグメントの数が、所定数よりも少ないことと、
前記第一読み取り要求によって要求される前記読み取り対象データに対応するファイルセグメントが、先行する先読みの間の前記所定数の未読み取りファイルセグメントを除く未読み取りファイルセグメントであることとのうちの1つ以上の条件を含む。
前記クライアントによって送信される第二読み取り要求を受信するようにさらに構成され、前記第二読み取り要求によって要求される読み取り対象データは、前記ファイルの一部分であり、
前記先読みモジュールは、
前記第二読み取り要求によって要求される前記読み取り対象データであって前記キャッシュ内に存在するデータを前記キャッシュから読み取り、前記第二読み取り要求によって要求される前記読み取り対象データであって前記キャッシュ内に存在しないデータを前記第一記憶媒体から読み取るようにさらに構成される。
クライアントによって送信される第一読み取り要求を受信する手順であって、前記第一読み取り要求によって要求される読み取り対象データが前記ファイルの一部分である、手順と、
前記読み取り対象データであって前記キャッシュ内に存在するデータを前記キャッシュから読み取り、前記読み取り対象データであって前記キャッシュ内に存在しないデータを前記第一記憶媒体から読み取る手順と、
前記複数のコンテナのうちの少なくとも1つのコンテナ内のデータを前記第一記憶媒体から先読みし、先読みされたデータを前記キャッシュ内に格納する手順であって、先読みされるコンテナが前記ファイルの少なくとも1つの未読み取りファイルセグメントを含む、手順とを実行するように構成される。
前記第一記憶媒体から、かつ所定数の未読み取りファイルセグメントが位置するコンテナから、前記所定数のファイルセグメントの数が閾値を超えるコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納する手順を実行するようにさらに構成される。
前記所定数の未読み取りファイルセグメントから、未読み取りファイルセグメントの数が前記閾値を超えないコンテナ内の未読み取りファイルセグメントを選択し、選択された未読み取りファイルセグメントを先読みし、先読みされた未読み取りファイルセグメントを前記キャッシュ内に格納する手順を実行するようにさらに構成される。
第一アドレスポインタを取得する手順であって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、手順と、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得する手順と、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナ内で、前記所定数のアドレスポインタが当該コンテナの各々を指し示す回数を統計収集する手順と、
統計収集によって取得された前記回数が前記閾値を超えるか否かを判定し、統計収集によって取得された前記回数が前記閾値を超える場合に、前記回数が前記閾値を超えるコンテナ内のデータを先読みする手順とを実行するようにさらに構成される。
前記第一記憶媒体から、所定数の未読み取りファイルセグメントが位置するコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納する手順を実行するようにさらに構成される。
第一アドレスポインタを取得する手順であって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、手順と、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得する手順と、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナ内のデータを先読みする手順とを実行するようにさらに構成される。
所定数の未読み取りファイルセグメントが位置するコンテナの一連のシリアル番号にしたがって、前記第一記憶媒体から、前記所定数のファイルセグメントが位置する前記コンテナのうちの少なくとも1つのコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納する手順を実行するようにさらに構成される。
第一アドレスポインタを取得する手順であって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、手順と、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得する手順と、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナの一連のシリアル番号にしたがって、前記取得されたアドレスポインタが指し示す前記ファイルセグメントが位置する前記コンテナのうちの少なくとも1つのコンテナ内のデータを先読みする手順とを実行するようにさらに構成される。
前記ファイルの前記アドレスポインタテーブル内で、前記第一アドレスポインタを開始ポインタとして用いて、前記第一アドレスポインタに続くすべてのアドレスポインタの数が所定数を超えるか否かを判定する手順と、
前記第一アドレスポインタに続くすべてのアドレスポインタの数が前記所定数を超える場合に、前記第一アドレスポインタに続くすべてのアドレスポインタを取得する手順と、
前記第一アドレスポインタに続くすべてのアドレスポインタの数が前記所定数を超えない場合に、前記所定数のアドレスポインタを取得する手順とを実行するようにさらに構成される。
前記記憶装置が前記第一読み取り要求を受信する時間が、所定時間枠の範囲内であることと、
前記第一読み取り要求によって要求される前記読み取り対象データが、前記キャッシュ内に存在しないか、または前記第一読み取り要求によって要求される前記読み取り対象データの一部分が、前記キャッシュ内に存在しないことと、
前記記憶装置が前記第一読み取り要求によって要求される前記読み取り対象データを読み取った後、前記キャッシュ内に存在し、前記ファイルに関連する未読み取りファイルセグメントの数が、所定数よりも少ないこととのうちの1つ以上の条件を含む。
前記記憶装置が前記第一読み取り要求を受信する時間が、所定時間枠の範囲内であることと、
前記第一読み取り要求によって要求される前記読み取り対象データが、前記キャッシュ内に存在しないか、または前記第一読み取り要求によって要求される前記読み取り対象データの一部分が、前記キャッシュ内に存在しないことと、
前記記憶装置が前記第一読み取り要求によって要求される前記読み取り対象データを読み取った後、前記キャッシュ内に存在し、前記ファイルに関連する未読み取りファイルセグメントの数が、所定数よりも少ないことと、
前記第一読み取り要求によって要求される前記読み取り対象データに対応するファイルセグメントが、先行する先読みの間の前記所定数の未読み取りファイルセグメントを除く未読み取りファイルセグメントであることとのうちの1つ以上の条件を含む。
前記クライアントによって送信される第二読み取り要求を受信する手順であって、前記第二読み取り要求によって要求される読み取り対象データが前記ファイルの一部分である、手順と、
前記第二読み取り要求によって要求される前記読み取り対象データであって前記キャッシュ内に存在するデータを前記キャッシュから読み取り、前記第二読み取り要求によって要求される前記読み取り対象データであって前記キャッシュ内に存在しないデータを前記第一記憶媒体から読み取る手順を実行するようにさらに構成される。
本発明のこの実施形態は、記憶装置に格納されたファイルの読み取りに適用可能なファイル読み取り方法を提供する。図2を参照すると、方法の手順は、以下のステップを含む。
この実施形態は、一例として重複排除ファイルを使用することによって、本発明によるファイル読み取り方法を詳細に説明する。まず、本発明のこの実施形態の適用可能なシナリオを、以下に簡単に説明するが、これに限定されるものではない。それどころか、本発明のこの実施形態は、重複排除ファイルが読み取られる必要のある、いずれのシナリオにも適用可能である。重複排除ファイルは、一般的にバックアップのために使用され、特定の元ファイルのバックアップファイルである。重複排除ファイルの内容は、対応する元ファイルの内容と少なくとも実質的に同じである。元ファイルのバックアップの間に、重複排除ファイルとバックアップ元ファイルとの間の対応関係が確立される。
本発明のこの実施形態は、ファイル読み取り方法を提供する。この実施形態は、(1)複数のコンテナのうちの少なくとも1つのコンテナ内のデータを第一記憶媒体から先読みする方法が異なる点と、(2)先読みトリガ条件が異なる点とにおいて、本発明の第二実施形態とは異なっている。図5を参照すると、方法の手順は、以下のステップを含む。
本発明のこの実施形態は、ファイル読み取り方法を提供する。この実施形態は、複数のコンテナのうちの少なくとも1つのコンテナ内のデータを第一記憶媒体から先読みする方法が異なる点において、本発明の第二実施形態および第三実施形態とは異なっている。図6を参照すると、方法の手順は以下のステップを含む。
本発明のこの実施形態はファイル記憶装置を提供し、これは第一実施形態で提供されたファイル読み取り方法に適用可能である。記憶装置はファイルを格納するように構成されており、記憶装置は第一記憶媒体およびキャッシュを含む。キャッシュのアクセス速度は、第一記憶媒体よりも速い。第一記憶媒体は複数のコンテナを有する。ファイルは複数のファイルセグメントを含む。図7を参照すると、記憶装置は以下のモジュールを含む。
読み取り対象データであってキャッシュ内に位置するデータをキャッシュから読み取り、読み取り対象データであってキャッシュ内に位置していないデータを第一記憶媒体から読み取るように構成された読み取りモジュール502と、
複数のコンテナのうちの少なくとも1つのコンテナ内のデータを第一記憶媒体から先読みし、先読みされたデータをキャッシュ内に格納するように構成された先読みモジュール503であって、先読みされるコンテナはファイルの少なくとも1つの未読み取りファイルセグメントを含む、先読みモジュール503とを、記憶装置は含む。
本発明のこの実施形態はファイル記憶装置を提供し、これは第二実施形態で提供されたファイル読み取り方法に適用可能である。記憶装置はファイルを格納するように構成されており、記憶装置は第一記憶媒体およびキャッシュを含む。キャッシュのアクセス速度は、第一記憶媒体よりも速い。第一記憶媒体は複数のコンテナを有する。ファイルは複数のファイルセグメントを含む。図8を参照すると、記憶装置は以下を含む。
クライアントによって送信された第一読み取り要求を受信するように構成された受信モジュール601であって、第一読み取り要求によって要求された読み取り対象データはファイルの一部分である、受信モジュール601を、記憶装置は含む。
読み取り対象データであってキャッシュ内に位置するデータをキャッシュから読み取り、読み取り対象データであってキャッシュ内に位置していないデータを第一記憶媒体から読み取るように構成された読み取りモジュール602と、
複数のコンテナのうちの少なくとも1つのコンテナ内のデータを第一記憶媒体から先読みし、先読みされたデータをキャッシュ内に格納するように構成された先読みモジュール603であって、先読みされるコンテナはファイルの少なくとも1つの未読み取りファイルセグメントを含む、先読みモジュール603とを、記憶装置は含む。
第一eptrを取得するように構成された第一取得ユニット6031であって、第一eptrは読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示し、
第一取得ユニット6031は、すでに読み取られた読み取り対象データ内の最終ファイルセグメントがファイルの最終ファイルセグメントであるか否かを判定し、読み取り対象データ内の最終ファイルセグメントがファイルの最終ファイルセグメントではない場合に、第一eptrを取得するようにさらに構成されている、第一取得ユニット6031と、
第一eptrに続く所定数のeptrを、ファイルのeptrテーブルから取得するように構成された第二取得ユニット6032であって、
第二取得ユニット6032は、ファイルのeptrテーブル内で、開始ポインタとして第一eptrを取り、第一eptrに続くすべてのeptrの数が所定数を超えるか否かを判定し、第一アドレスポインタに続くすべてのeptrの数が所定数を超える場合に第一eptrに続くすべてのeptrを取得し、第一eptrに続くすべてのeptrの数が所定数を超えない場合に所定数のeptrを取得するように構成されている、第二取得ユニット6032と、
取得eptrが指し示すファイルセグメントが位置するコンテナ内で、所定数のeptrがコンテナの各々を指し示す回数を統計収集するように構成された統計収集ユニット6033と、
統計収集によって取得された回数が閾値を超えるか否かを判定し、統計収集によって取得された回数が閾値を超える場合に、回数が閾値を超えるコンテナ内のデータを先読みし、先読みされたデータをキャッシュ内に格納するように構成された第一先読みユニット6034とを含む。
本発明のこの実施形態はファイル記憶装置を提供し、これは第三実施形態で提供されたファイル読み取り方法に適用可能である。記憶装置はファイルを格納するように構成されており、記憶装置は第一記憶媒体およびキャッシュを含む。キャッシュのアクセス速度は、第一記憶媒体よりも速い。第一記憶媒体は複数のコンテナを有する。ファイルは複数のファイルセグメントを含む。図9を参照すると、記憶装置は、受信モジュール701、読み取りモジュール702、および先読みモジュール703を含む。受信モジュール701および読み取りモジュール702の構造は、第六実施形態の受信モジュール601および読み取りモジュール602の構造と同じであり、これらはこれ以上本明細書には記載されない。しかしながら、先読みモジュール703は所定数の未読み取りファイルセグメントが位置するコンテナ内のデータを第一記憶媒体から先読みし、先読みされたデータをキャッシュ内に格納するように構成されている点が、異なっている。所定数の未読み取りファイルセグメントは、ファイル内で連続的であり、所定数の未読み取りファイルセグメントは、ファイル内の読み取り対象データに対応するファイルセグメントに隣接している。
第一eptrを取得するように構成された第三取得ユニット7031であって、第一eptrは読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、第三取得ユニット7031と、
第一eptrに続く所定数のeptrを、ファイルのeptrテーブルから取得するように構成された第四取得ユニット7032と、
取得eptrが指し示すファイルセグメントが位置するコンテナ内のデータを先読みし、先読みされたデータをキャッシュ内に格納するように構成された第二先読みユニット7033とを含む。
本発明のこの実施形態はファイル記憶装置を提供し、これは第四実施形態で提供されたファイル読み取り方法に適用可能である。記憶装置はファイルを格納するように構成されており、記憶装置は第一記憶媒体およびキャッシュを含む。キャッシュのアクセス速度は、第一記憶媒体よりも速い。第一記憶媒体は複数のコンテナを有する。ファイルは複数のファイルセグメントを含む。図10を参照すると、記憶装置は、受信モジュール801、読み取りモジュール802、および先読みモジュール803を含む。受信モジュール801および読み取りモジュール802の構造は、第七実施形態の受信モジュール701および読み取りモジュール702の構造と同じであり、これらはこれ以上本明細書には記載されない。しかしながら、先読みモジュール803は、所定数の未読み取りファイルセグメントが位置するコンテナのシリアル番号の順序にしたがって第一記憶媒体から、所定数のファイルセグメントが位置する複数のコンテナのうちの少なくとも1つのコンテナ内のデータを先読みし、先読みされたデータをキャッシュ内に格納するように構成されている点が、異なっている。所定数の未読み取りファイルセグメントは、ファイル内で連続的であり、所定数の未読み取りファイルセグメントは、ファイル内の読み取り対象データに対応するファイルセグメントに隣接している。
第一eptrを取得するように構成された第五取得ユニット8031であって、第一eptrは読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、第五取得ユニット8031と、
第一eptrに続く所定数のeptrを、ファイルのeptrテーブルから取得するように構成された第六取得ユニット8032と、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナのシリアル番号の順序にしたがって、取得されたアドレスポインタが指し示すファイルセグメントが位置する複数のコンテナのうちの少なくとも1つのコンテナ内のデータを先読みするように構成された第三先読みユニット8033とを含む。
本発明のこの実施形態はファイル記憶装置を提供し、装置は、図11に示されるように、コンピュータ(スマートフォンまたはタブレットコンピュータなどの携帯用コンピュータシステムを含む)またはサーバであってもよい。装置は一般的に、少なくとも1つのプロセッサ10(たとえば、CPU)、ユーザインターフェース11、少なくとも1つのネットワークインターフェース12またはその他の通信インターフェース、第一記憶媒体13、少なくとも1つの通信バス14、およびキャッシュ15を含む。図11に示されるコンピュータの構造は、コンピュータに対していかなる制限も構成するものではなく、それどころかコンピュータは、図11よりも少ないかまたは多い部品、またはいくつかの部品の組み合わせ、または異なる配置の部品を含んでもよいことを、当業者は理解するだろう。
ユーザインターフェース10またはネットワークインターフェース12を通じて送信された第一読み取り要求を受信するステップであって、第一読み取り要求によって要求された読み取り対象データはファイルの一部分である、ステップと、読み取り対象データであってキャッシュ15内に位置するデータをキャッシュ15から読み取り、読み取り対象データであってキャッシュ15内に位置していないデータを第一記憶媒体13から読み取るステップと、複数のコンテナのうちの少なくとも1つのコンテナ内のデータを第一記憶媒体13から先読みし、先読みされたデータをキャッシュ15内に格納するステップであって、先読みされるコンテナはファイルの少なくとも1つの未読み取りファイルセグメントを含む、ステップとを実現してよい。
本発明のこの実施形態は、ファイル読み取りシステムを提供する。図12を参照すると、システムは、ユーザ機器1001およびファイル記憶装置1002を含む。
502 読み取りモジュール
503 先読みモジュール
601 受信モジュール
602 読み取りモジュール
603 先読みモジュール
6031 第一取得ユニット
6032 第二取得ユニット
6033 統計収集ユニット
6034 第一先読みユニット
701 受信モジュール
702 読み取りモジュール
703 先読みモジュール
7031 第三取得ユニット
7032 第四取得ユニット
7033 第二先読みユニット
801 受信モジュール
802 読み取りモジュール
803 先読みモジュール
8031 第五取得ユニット
8032 第六取得ユニット
8033 第三先読みユニット
10 プロセッサ
11 ユーザインターフェース
12 ネットワークインターフェース
13 第一記憶媒体
14 通信バス
15 キャッシュ
1001 ユーザ機器
1002 ファイル記憶装置
Claims (26)
- 記憶装置に格納されたファイルの読み取りに適用可能なファイル読み取り方法であって、前記記憶装置は、第一記憶媒体と、キャッシュとを備え、前記キャッシュのアクセス速度は、前記第一記憶媒体のアクセス速度よりも速く、前記第一記憶媒体は、複数のコンテナを有し、前記ファイルは、複数のファイルセグメントを有し、
前記方法は、
前記記憶装置により、クライアントによって送信される第一読み取り要求を受信するステップであって、前記第一読み取り要求によって要求される読み取り対象データが前記ファイルの一部分である、ステップと、
前記読み取り対象データであって前記キャッシュ内に存在するデータを前記キャッシュから読み取り、前記読み取り対象データであって前記キャッシュ内に存在しないデータを前記第一記憶媒体から読み取るステップと、
前記複数のコンテナのうちの少なくとも1つのコンテナ内のデータを前記第一記憶媒体から先読みし、先読みされたデータを前記キャッシュ内に格納するステップであって、先読みされるコンテナが前記ファイルの少なくとも1つの未読み取りファイルセグメントを含む、ステップと
を有し、
前記複数のコンテナのうちの少なくとも1つのコンテナ内のデータを前記第一記憶媒体から先読みし、先読みされたデータを前記キャッシュ内に格納する前記ステップが、
所定数の未読み取りファイルセグメントが位置する前記コンテナから、前記所定数のファイルセグメントの数が閾値を超えるコンテナ内のすべてのデータを先読みし、先読みされたデータを前記キャッシュ内に格納するステップを含む、方法。 - 前記所定数の未読み取りファイルセグメントから、未読み取りファイルセグメントの数が前記閾値を超えないコンテナ内の未読み取りファイルセグメントを選択し、選択された未読み取りファイルセグメントを先読みし、先読みされた未読み取りファイルセグメントを前記キャッシュ内に格納するステップをさらに有する、請求項1に記載の方法。
- 所定数の未読み取りファイルセグメントが位置する前記コンテナから、前記所定数のファイルセグメントの数が閾値を超えるコンテナ内のデータを先読みする前記ステップが、
第一アドレスポインタを取得するステップであって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、ステップと、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得するステップと、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナ内で、前記所定数のアドレスポインタが当該コンテナの各々を指し示す回数を統計収集するステップと、
統計収集によって取得された前記回数が前記閾値を超えるか否かを判定し、統計収集によって取得された前記回数が前記閾値を超える場合に、前記回数が前記閾値を超えるコン
テナ内のデータを先読みするステップと
を含む、請求項1または2に記載の方法。 - 前記複数のコンテナのうちの少なくとも1つのコンテナ内のデータを前記第一記憶媒体から先読みし、先読みされたデータを前記キャッシュ内に格納する前記ステップが、
前記第一記憶媒体から、所定数の未読み取りファイルセグメントが位置するコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納するステップを含む、請求項1に記載の方法。 - 前記複数のコンテナのうちの少なくとも1つのコンテナ内のデータを前記第一記憶媒体から先読みし、先読みされたデータを前記キャッシュ内に格納する前記ステップが、
所定数の未読み取りファイルセグメントが位置するコンテナの一連のシリアル番号にしたがって、前記第一記憶媒体から、前記所定数のファイルセグメントが位置する前記コンテナのうちの少なくとも1つのコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納するステップを含む、請求項1に記載の方法。 - 前記所定数の未読み取りファイルセグメントは、前記ファイル内で連続的であり、
前記所定数の未読み取りファイルセグメントは、前記ファイル内の前記読み取り対象データに対応するファイルセグメントに隣接している、請求項1または4に記載の方法。 - 前記第一読み取り要求が、先読みトリガ条件を満たす読み取り要求であり、
前記先読みトリガ条件は、
前記記憶装置が前記第一読み取り要求を受信する時間が、所定時間枠の範囲内であることと、
前記第一読み取り要求によって要求される前記読み取り対象データが、前記キャッシュ内に存在しないか、または前記第一読み取り要求によって要求される前記読み取り対象データの一部分が、前記キャッシュ内に存在しないことと、
前記記憶装置が前記第一読み取り要求によって要求される前記読み取り対象データを読み取った後、前記キャッシュ内に存在し、前記ファイルに関連する未読み取りファイルセグメントの数が、所定数よりも少ないことと、
前記第一読み取り要求によって要求される前記読み取り対象データに対応するファイルセグメントが、先行する先読みの間の前記所定数の未読み取りファイルセグメントを除く未読み取りファイルセグメントであることと
のうちの1つ以上の条件を含む、請求項1から5のいずれか一項に記載の方法。 - ファイル記憶装置であって、ファイルを格納するように構成され、第一記憶媒体と、キャッシュとを備え、前記キャッシュのアクセス速度は、前記第一記憶媒体のアクセス速度よりも速く、前記第一記憶媒体は、複数のコンテナを有し、前記ファイルは、複数のファイルセグメントを有し、
クライアントによって送信される第一読み取り要求を受信するように構成された受信モジュールであって、前記第一読み取り要求によって要求される読み取り対象データが前記ファイルの一部分である、受信モジュールと、
前記読み取り対象データであって前記キャッシュ内に存在するデータを前記キャッシュから読み取り、前記読み取り対象データであって前記キャッシュ内に存在しないデータを前記第一記憶媒体から読み取るように構成された読み取りモジュールと、
前記複数のコンテナのうちの少なくとも1つのコンテナ内のデータを前記第一記憶媒体から先読みし、先読みされたデータを前記キャッシュ内に格納するように構成された先読みモジュールであって、先読みされるコンテナが前記ファイルの少なくとも1つの未読み取りファイルセグメントを含む、先読みモジュールと
を備え、
前記先読みモジュールが、
所定数の未読み取りファイルセグメントが位置する前記コンテナから、前記所定数のファイルセグメントの数が閾値を超えるコンテナ内のすべてのデータを先読みし、先読みされたデータを前記キャッシュ内に格納するようにさらに構成される記憶装置。 - 前記先読みモジュールが、
前記所定数の未読み取りファイルセグメントから、未読み取りファイルセグメントの数が前記閾値を超えないコンテナ内の未読み取りファイルセグメントを選択し、選択された未読み取りファイルセグメントを先読みし、先読みされた未読み取りファイルセグメントを前記キャッシュ内に格納するようにさらに構成される、請求項8に記載の記憶装置。 - 前記先読みモジュールが、
第一アドレスポインタを取得するように構成された第一取得ユニットであって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、第一取得ユニットと、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得するように構成された第二取得ユニットと、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナ内で、前記所定数のアドレスポインタが当該コンテナの各々を指し示す回数を統計収集するように構成された統計収集ユニットと、
統計収集によって取得された前記回数が前記閾値を超えるか否かを判定し、統計収集によって取得された前記回数が前記閾値を超える場合に、前記回数が前記閾値を超えるコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納するように構成された第一先読みユニットと
を備える、請求項8または9に記載の記憶装置。 - 前記先読みモジュールが、
前記第一記憶媒体から、所定数の未読み取りファイルセグメントが位置するコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納するようにさらに構成される、請求項8に記載の記憶装置。 - 前記所定数の未読み取りファイルセグメントは、前記ファイル内で連続的であり、
前記所定数の未読み取りファイルセグメントは、前記ファイル内の前記読み取り対象データに対応するファイルセグメントに隣接している、請求項8または11に記載の記憶装置。 - 前記受信モジュールによって受信される前記第一読み取り要求が、先読みトリガ条件を満たす読み取り要求であり、
前記先読みトリガ条件は、
前記受信モジュールが前記第一読み取り要求を受信する時間が、所定時間枠の範囲内であることと、
前記第一読み取り要求によって要求される前記読み取り対象データが、前記キャッシュ内に存在しないか、または前記第一読み取り要求によって要求される前記読み取り対象データの一部分が、前記キャッシュ内に存在しないことと、
記憶装置が前記第一読み取り要求によって要求される前記読み取り対象データを読み取った後、前記キャッシュ内に存在し、前記ファイルに関連する未読み取りファイルセグメントの数が、所定数よりも少ないことと
のうちの1つ以上の条件を含む、請求項8から11のいずれか一項に記載の記憶装置。 - ファイル記憶装置であって、ファイルを格納するように構成され、第一記憶媒体と、キャッシュとを備え、前記キャッシュのアクセス速度は、前記第一記憶媒体のアクセス速度よりも速く、前記第一記憶媒体は、複数のコンテナを有し、前記ファイルは、複数のファイルセグメントを有し、
プロセッサをさらに備え、
前記プロセッサは、
クライアントによって送信される第一読み取り要求を受信する手順であって、前記第一読み取り要求によって要求される読み取り対象データが前記ファイルの一部分である、手順と、
前記読み取り対象データであって前記キャッシュ内に存在するデータを前記キャッシュから読み取り、前記読み取り対象データであって前記キャッシュ内に存在しないデータを前記第一記憶媒体から読み取る手順と、
前記複数のコンテナのうちの少なくとも1つのコンテナ内のデータを前記第一記憶媒体から先読みし、先読みされたデータを前記キャッシュ内に格納する手順であって、先読みされるコンテナが前記ファイルの少なくとも1つの未読み取りファイルセグメントを含む、手順と
を実行するように構成され、
前記プロセッサが、
所定数の未読み取りファイルセグメントが位置する前記コンテナから、前記所定数のファイルセグメントの数が閾値を超えるコンテナ内のすべてのデータを先読みし、先読みされたデータを前記キャッシュ内に格納する手順を実行するようにさらに構成される、記憶装置。 - 前記プロセッサが、
前記所定数の未読み取りファイルセグメントから、未読み取りファイルセグメントの数が前記閾値を超えないコンテナ内の未読み取りファイルセグメントを選択し、選択された未読み取りファイルセグメントを先読みし、先読みされた未読み取りファイルセグメントを前記キャッシュ内に格納する手順を実行するようにさらに構成される、請求項14に記載の記憶装置。 - 前記プロセッサが、
第一アドレスポインタを取得する手順であって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、手順と、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得する手順と、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナ内で、前記所定数のアドレスポインタが当該コンテナの各々を指し示す回数を統計収集する手順と、
統計収集によって取得された前記回数が前記閾値を超えるか否かを判定し、統計収集によって取得された前記回数が前記閾値を超える場合に、前記回数が前記閾値を超えるコンテナ内のデータを先読みする手順と
を実行するようにさらに構成される、請求項14または15に記載の記憶装置。 - 前記プロセッサが、
前記第一記憶媒体から、所定数の未読み取りファイルセグメントが位置するコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納する手順を実行するようにさらに構成される、請求項14に記載の記憶装置。 - 前記プロセッサが、
第一アドレスポインタを取得する手順であって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、手順と、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得する手順と、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナ内のデータを先読みする手順と
を実行するようにさらに構成される、請求項17に記載の記憶装置。 - 前記プロセッサが、
所定数の未読み取りファイルセグメントが位置するコンテナの一連のシリアル番号にしたがって、前記第一記憶媒体から、前記所定数のファイルセグメントが位置する前記コンテナのうちの少なくとも1つのコンテナ内のデータを先読みし、先読みされたデータを前記キャッシュ内に格納する手順を実行するようにさらに構成される、請求項14に記載の記憶装置。 - 前記プロセッサが、
第一アドレスポインタを取得する手順であって、前記第一アドレスポインタが前記読み取り対象データに対応するファイルセグメント内の最終ファイルセグメントを指し示す、手順と、
前記ファイルのアドレスポインタテーブルから、前記第一アドレスポインタに続く所定数のアドレスポインタを取得する手順と、
取得されたアドレスポインタが指し示すファイルセグメントが位置するコンテナの一連のシリアル番号にしたがって、前記取得されたアドレスポインタが指し示す前記ファイルセグメントが位置する前記コンテナのうちの少なくとも1つのコンテナ内のデータを先読みする手順と
を実行するようにさらに構成される、請求項19に記載の記憶装置。 - 前記プロセッサが、
前記ファイルの前記アドレスポインタテーブル内で、前記第一アドレスポインタを開始ポインタとして用いて、前記第一アドレスポインタに続くすべてのアドレスポインタの数が所定数を超えるか否かを判定する手順と、
前記第一アドレスポインタに続くすべてのアドレスポインタの数が前記所定数を超える場合に、前記第一アドレスポインタに続くすべてのアドレスポインタを取得する手順と、
前記第一アドレスポインタに続くすべてのアドレスポインタの数が前記所定数を超えない場合に、前記所定数のアドレスポインタを取得する手順と
を実行するようにさらに構成される、請求項16、18、または20に記載の記憶装置。 - 前記所定数の未読み取りファイルセグメントは、前記ファイル内で連続的であり、
前記所定数の未読み取りファイルセグメントは、前記ファイル内の前記読み取り対象データに対応するファイルセグメントに隣接している、請求項14、17、または19に記載の記憶装置。 - 前記プロセッサによって受信される前記第一読み取り要求が、先読みトリガ条件を満たす読み取り要求であり、
前記先読みトリガ条件は、
記憶装置が前記第一読み取り要求を受信する時間が、所定時間枠の範囲内であることと、
前記第一読み取り要求によって要求される前記読み取り対象データが、前記キャッシュ内に存在しないか、または前記第一読み取り要求によって要求される前記読み取り対象データの一部分が、前記キャッシュ内に存在しないことと、
記憶装置が前記第一読み取り要求によって要求される前記読み取り対象データを読み取った後、前記キャッシュ内に存在し、前記ファイルに関連する未読み取りファイルセグメントの数が、所定数よりも少ないことと
のうちの1つ以上の条件を含む、請求項14から22のいずれか一項に記載の記憶装置。 - 前記プロセッサによって受信される前記第一読み取り要求が、先読みトリガ条件を満たす読み取り要求であり、
前記先読みトリガ条件は、
記憶装置が前記第一読み取り要求を受信する時間が、所定時間枠の範囲内であることと、
前記第一読み取り要求によって要求される前記読み取り対象データが、前記キャッシュ内に存在しないか、または前記第一読み取り要求によって要求される前記読み取り対象データの一部分が、前記キャッシュ内に存在しないことと
記憶装置が前記第一読み取り要求によって要求される前記読み取り対象データを読み取った後、前記キャッシュ内に存在し、前記ファイルに関連する未読み取りファイルセグメントの数が、所定数よりも少ないことと、
前記第一読み取り要求によって要求される前記読み取り対象データに対応するファイルセグメントが、先行する先読みの間の前記所定数の未読み取りファイルセグメントを除く未読み取りファイルセグメントであることと
のうちの1つ以上の条件を含む、請求項14から22のいずれか一項に記載の記憶装置。 - 前記プロセッサが、
前記クライアントによって送信される第二読み取り要求を受信する手順であって、前記第二読み取り要求によって要求される読み取り対象データが前記ファイルの一部分である、手順と、
前記第二読み取り要求によって要求される前記読み取り対象データであって前記キャッシュ内に存在するデータを前記キャッシュから読み取り、前記第二読み取り要求によって要求される前記読み取り対象データであって前記キャッシュ内に存在しないデータを前記第一記憶媒体から読み取る手順と
を実行するようにさらに構成される、請求項14から24のいずれか一項に記載の記憶装置。 - ファイル読み取りシステムであって、
ユーザ機器と、
ファイル記憶装置と
を備え、
前記ユーザ機器は、ユーザから元ファイル復元要求を受信し、前記元ファイル復元要求にしたがって、複数の読み取り要求を生成し、前記読み取り要求を前記記憶装置に送信するように構成され、
前記記憶装置は、請求項8から25のいずれか一項に記載の記憶装置である、ファイル読み取りシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/077682 WO2014201696A1 (zh) | 2013-06-21 | 2013-06-21 | 一种文件读取方法、存储设备及读取系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016526718A JP2016526718A (ja) | 2016-09-05 |
JP6195098B2 true JP6195098B2 (ja) | 2017-09-13 |
Family
ID=50126069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016520227A Active JP6195098B2 (ja) | 2013-06-21 | 2013-06-21 | ファイル読み取り方法、記憶装置、および読み取りシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9519587B2 (ja) |
EP (1) | EP2843570B1 (ja) |
JP (1) | JP6195098B2 (ja) |
WO (1) | WO2014201696A1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6195098B2 (ja) * | 2013-06-21 | 2017-09-13 | 華為技術有限公司Huawei Technologies Co.,Ltd. | ファイル読み取り方法、記憶装置、および読み取りシステム |
KR20150089688A (ko) * | 2014-01-28 | 2015-08-05 | 한국전자통신연구원 | 가상 머신 이미지 파일의 캐시 관리 장치 및 방법 |
US10635724B2 (en) * | 2015-01-30 | 2020-04-28 | International Business Machines Corporation | Analysis of data utilization |
CN105095397A (zh) * | 2015-07-03 | 2015-11-25 | 青岛海信传媒网络技术有限公司 | 一种文件读写处理方法及装置 |
JP6707824B2 (ja) * | 2015-09-07 | 2020-06-10 | 日本電気株式会社 | 情報端末、情報処理システムおよびデータ読み込み方法、並びにコンピュータ・プログラム |
JP6733214B2 (ja) * | 2016-02-19 | 2020-07-29 | 日本電気株式会社 | 制御装置、ストレージシステム、制御方法及びプログラム |
US10318593B2 (en) * | 2017-06-21 | 2019-06-11 | Accenture Global Solutions Limited | Extracting searchable information from a digitized document |
CN109471671B (zh) * | 2017-09-06 | 2023-03-24 | 武汉斗鱼网络科技有限公司 | 一种程序冷启动方法和系统 |
CN110609796B (zh) * | 2018-06-15 | 2023-07-21 | 伊姆西Ip控股有限责任公司 | 用于存储系统中预取的方法、设备和计算机程序产品 |
CN109033445B (zh) * | 2018-08-18 | 2021-08-17 | 深圳市映花科技有限公司 | 在移动互联网内根据运行应用进行文件预取的方法及系统 |
CN110502498A (zh) * | 2019-08-16 | 2019-11-26 | 济南浪潮数据技术有限公司 | 一种分布式文件系统文件预读方法和系统 |
CN111723057B (zh) * | 2020-05-28 | 2023-07-14 | 广东浪潮大数据研究有限公司 | 一种文件预读方法、装置、设备及存储介质 |
CN111625503B (zh) * | 2020-05-29 | 2022-11-04 | 苏州浪潮智能科技有限公司 | 一种分布式文件系统文件局部随机预读的方法和设备 |
US11262923B2 (en) | 2020-07-08 | 2022-03-01 | Samsung Electronics Co., Ltd. | Method for managing namespaces in a storage device using an over-provisioning pool and storage device employing the same |
CN116724289A (zh) | 2021-01-12 | 2023-09-08 | 日立数据管理有限公司 | 对数据进行组合以节省存储容量 |
CN113126851B (zh) * | 2021-05-18 | 2023-02-03 | 维沃移动通信(杭州)有限公司 | 通知消息的展示方法和电子设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3535800B2 (ja) * | 2000-03-31 | 2004-06-07 | 松下電器産業株式会社 | ディスクメモリ装置、データ先読み方法、及び記録媒体 |
US7333993B2 (en) * | 2003-11-25 | 2008-02-19 | Network Appliance, Inc. | Adaptive file readahead technique for multiple read streams |
JP4117656B2 (ja) * | 2003-11-26 | 2008-07-16 | 株式会社日立製作所 | アクセスパターンを学習する記憶装置 |
US7206795B2 (en) * | 2003-12-22 | 2007-04-17 | Jean-Pierre Bono | Prefetching and multithreading for improved file read performance |
JP4799334B2 (ja) * | 2006-09-14 | 2011-10-26 | キヤノン株式会社 | 情報表示装置及びメタ情報表示方法 |
CN1945552A (zh) * | 2006-11-03 | 2007-04-11 | 中兴通讯股份有限公司 | 数据预读装置及其数据读取方法 |
US7908436B1 (en) | 2008-04-25 | 2011-03-15 | Netapp, Inc. | Deduplication of data on disk devices using low-latency random read memory |
US8074043B1 (en) | 2009-01-30 | 2011-12-06 | Symantec Corporation | Method and apparatus to recover from interrupted data streams in a deduplication system |
US8370315B1 (en) * | 2010-05-28 | 2013-02-05 | Symantec Corporation | System and method for high performance deduplication indexing |
US8762349B2 (en) * | 2011-07-14 | 2014-06-24 | Dell Products L.P. | Intelligent deduplication data prefetching |
CN102521349A (zh) * | 2011-12-12 | 2012-06-27 | 深圳市创新科信息技术有限公司 | 一种文件预读方法 |
US8954678B2 (en) * | 2012-06-15 | 2015-02-10 | International Business Machines Corporation | Automatic pattern-based operand prefetching |
US20140115257A1 (en) * | 2012-10-22 | 2014-04-24 | Advanced Micro Devices, Inc. | Prefetching using branch information from an instruction cache |
US9367466B2 (en) * | 2013-02-13 | 2016-06-14 | Advanced Micro Devices, Inc. | Conditional prefetching |
JP6195098B2 (ja) * | 2013-06-21 | 2017-09-13 | 華為技術有限公司Huawei Technologies Co.,Ltd. | ファイル読み取り方法、記憶装置、および読み取りシステム |
CN104102695B (zh) * | 2014-06-26 | 2017-11-10 | 晨星半导体股份有限公司 | 智能设备启动过程的数据处理方法及智能设备 |
-
2013
- 2013-06-21 JP JP2016520227A patent/JP6195098B2/ja active Active
- 2013-06-21 EP EP13882624.3A patent/EP2843570B1/en active Active
- 2013-06-21 WO PCT/CN2013/077682 patent/WO2014201696A1/zh active Application Filing
-
2014
- 2014-10-27 US US14/524,407 patent/US9519587B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2014201696A1 (zh) | 2014-12-24 |
EP2843570B1 (en) | 2018-11-28 |
JP2016526718A (ja) | 2016-09-05 |
US9519587B2 (en) | 2016-12-13 |
CN103608785A (zh) | 2014-02-26 |
EP2843570A4 (en) | 2015-06-17 |
US20150046659A1 (en) | 2015-02-12 |
EP2843570A1 (en) | 2015-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6195098B2 (ja) | ファイル読み取り方法、記憶装置、および読み取りシステム | |
US10353884B2 (en) | Two-stage front end for extent map database | |
US11079953B2 (en) | Packing deduplicated data into finite-sized containers | |
US9319265B2 (en) | Read ahead caching of data from cloud storage and method thereof | |
US9690487B2 (en) | Storage apparatus and method for controlling storage apparatus | |
US8874532B2 (en) | Managing dereferenced chunks in a deduplication system | |
JP5878548B2 (ja) | 重複排除ストレージ・システム、その内部の合成バックアップを容易にする方法、及び、プログラム | |
JP6304406B2 (ja) | ストレージ装置、プログラム、情報処理方法 | |
US9305005B2 (en) | Merging entries in a deduplication index | |
US9612768B2 (en) | Methods and systems for storing data at different storage tiers of a storage system | |
US9811577B2 (en) | Asynchronous data replication using an external buffer table | |
US9189408B1 (en) | System and method of offline annotation of future accesses for improving performance of backup storage system | |
JP2015510174A (ja) | ロケーション非依存のファイル | |
JP2016122480A (ja) | バックアップ・デバイスからデータ・オブジェクトを復元するためのプログラム | |
US10585802B1 (en) | Method and system for caching directories in a storage system | |
US9690809B1 (en) | Dynamic parallel save streams | |
US10127236B1 (en) | Filesystem storing file data in larger units than used for metadata | |
US10664442B1 (en) | Method and system for data consistency verification in a storage system | |
US8825970B1 (en) | System and method for mounting a storage volume utilizing a block reference list | |
CN103608785B (zh) | 一种文件读取方法、存储设备及读取系统 | |
US10394481B2 (en) | Reducing application input/output operations from a server having data stored on de-duped storage | |
CN115080239A (zh) | 数据处理方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170314 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170614 |
|
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: 20170718 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170801 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6195098 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |