JP4960417B2 - 可変長のデータ断片の開始・終了オフセットを決定する方法及び装置 - Google Patents
可変長のデータ断片の開始・終了オフセットを決定する方法及び装置 Download PDFInfo
- Publication number
- JP4960417B2 JP4960417B2 JP2009213534A JP2009213534A JP4960417B2 JP 4960417 B2 JP4960417 B2 JP 4960417B2 JP 2009213534 A JP2009213534 A JP 2009213534A JP 2009213534 A JP2009213534 A JP 2009213534A JP 4960417 B2 JP4960417 B2 JP 4960417B2
- Authority
- JP
- Japan
- Prior art keywords
- chunk
- offset
- temporary
- document
- data fragment
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
手順1)対象データからチャンクを切り出す。
手順2)切り出されたチャンクの識別子を求める。
手順3)切り出されたチャンクの識別子を既に記憶装置に格納済みのチャンクの群のそれぞれの識別子と比較する。もし、切り出されたチャンクと識別子が同一のチャンクがあれば、切り出されたチャンクと同一内容のチャンクであるとして、重複を排除する形式で、例えばリンクに置き換えることにより、切り出されたチャンクを記憶装置に格納する。
固定長重複排除方法とは、ある一定の長さでチャンクの切り出し点を定め、チャンク毎に重複検出・排除を行う方法である。
B)可変長重複排除方法
可変長重複排除方法とは、対象データの内容に応じてデータ分割長を動的に調節して切り出し点を定め、チャンク毎に重複検出・排除を行う方法である。
図11は、文書名が「文書#1」の文書111及び文書名が「文書#2」の文書112の2つの文書についてそれぞれ、チャンク切り出し点を固定長重複排除方法と可変長重複排除方法で求めた様子を示す。文書112は、文書111の一部を編集することによって、例えば文書111における文字列“name”及び“specified”の間に文字列“ABCD”を挿入することによって、生成された文書である。
固定長重複排除方法では、文書111と文書112との間で、文字列の挿入が発生した箇所から後ろ側、つまり文書の末尾側のチャンク全てが異なっている。
これに対して可変長重複排除方法では、文書111と文書112との間で、文字列の挿入が発生した箇所周辺のチャンクが異なっているのみで、それより後ろ側のチャンクは全て一致している。
1)データ上のある連続する固定長の区間(以下、ウィンドウと称する)のデータ断片(バイト列)を取り出して、当該データ断片の識別子を求める。ここでは、ウィンドウの長さが2バイトであるとする。このデータ断片がチャンクとしてのデータ断片とは異なる点に注意すべきである。
上述の処理を、チャンクを求める毎に繰り返すことで、重複検出・排除を行う。
<システム構成>
図1は本発明の一実施形態に係るストレージシステムの構成を示すブロック図である。このストレージシステムは、文書格納装置10と、クライアント装置20とから構成される。文書格納装置10とクライアント装置20とは、例えばネットワーク30によって接続されている。文書格納装置10は文書をチャンクに分割して格納するためのデータ記憶装置である。クライアント装置20は、文書格納装置10を自身の記憶装置として利用する。つまりクライアント装置20は、例えば当該クライアント装置20上で動作するアプリケーションプログラムに従い、文書格納装置10に対して文書格納を指示することにより当該文書格納装置10に文書を格納させ、また文書格納装置10に対して文書取得を指示することにより文書格納装置10から文書を取得する。なお、文書格納装置10とクライアント装置20とが直接に接続されていても、クライアント装置20としての機能が文書格納装置10に内蔵されていても構わない。
本実施形態において、文書格納装置10はコンピュータを用いて実現される。図2は、このような文書格納装置10のハードウェア構成を示すブロック図である。図2に示されるように、文書格納装置10、少なくとも1つの処理ユニット21、主記憶装置22、補助記憶装置23、通信機構24及び入出力装置25の周知のハードウェア構成を有する。補助記憶装置23は、例えばハードディスクドライブを用いて構成される。補助記憶装置23は、処理ユニット21によって実行されるプログラム230を格納した記憶媒体231を備えている。本実施形態において記憶媒体231はディスク媒体である。
図3は、文書格納装置10の主として機能構成を示すブロック図である。文書格納装置10は、文書格納部31と、命令受け付けモジュール32と、可変長重複排除モジュール33と、作業用メモリ34とを含む。本実施形態において、文書格納装置10内の命令受け付けモジュール32及び可変長重複排除モジュール33は、当該文書格納装置10が図2に示されるハードウェア構成のコンピュータから構成される場合に、当該コンピュータ内の処理ユニット21が、補助記憶装置23に格納されているプログラム230を主記憶装置22に読み込んで実行することにより実現されるものとする。しかし、命令受け付けモジュール32及び可変長重複排除モジュール33の少なくとも1つがハードウェアとして実現されてもよい。
次に、文書格納装置10における文書格納処理について、図4のフローチャートを参照して説明する。
まず、クライアント装置20から文書格納装置10にネットワーク30を介して文書格納指示が送られたものとする。この文書格納指示は、文書格納装置10に格納されるべき文書を指定する文書名を含んでいる。
まずチャンク登録部334は、直前のステップ409または412で設定されたチャンクCの識別子HC(に一致する識別子Hx)がチャンク一覧テーブル312に登録されているかを判定する(ステップ501)。このステップ501は、チャンクCと同一内容のチャンクCxが、既に文書格納部31に格納されている重複を検出するために実行される。
次に、可変長重複排除モジュール33による文書格納処理の具体例について、図6及び図7を参照して説明する。
図6はチャンク切り出し点を設定する動作の過程の一例を示す。
図6の例では、仮チャンクC’の識別子HC’の下位2ビット(m=2)が、規定値0x01(A=0x01)に一致したときに、当該仮チャンクC’の終了オフセットである仮終了オフセットOe’が、チャンクCの終了オフセットOeと決定される。このチャンクCの終了オフセットOeは、例えば次のように決定される。ここで、仮チャンクC’の識別子(ハッシュ値)HC’の計算に用いられるハッシュ関数をhβ( )のように表す。
次に、文書格納装置10における文書取得処理について、図8のフローチャートを参照して説明する。
まず、クライアント装置20から文書格納装置10にネットワーク30を介して文書取得指示が送られたものとする。この文書取得指示は、文書格納装置10から取得されるべき文書を指定する文書名を含んでいる。
本実施形態によれば、可変長重複排除に関する従来の技術で必要であった、チャンクの切り出し点を求めるための識別子の計算と、重複検出に利用するたのチャンク自体の識別子の計算とを統合することができ、これにより、より高速に可変長重複排除を行うことができる。
次に上記実施形態の変形例について説明する。
上記実施形態では、チャンクの切り出し点を定めるときの判定に、「仮チャンクC’の識別子HC’の下位mビットが予め定められた値Aと一致する」という判定条件が適用されている。しかし、これ以外の判定条件を用いることも可能である。
本変形例によれば、上記実施形態と同様に、可変長重複排除に関する従来の技術で必要であった、チャンクの切り出し点を求めるための識別子の計算と、重複検出に利用するたのチャンク自体の識別子の計算とを統合することができ、これにより、より高速に可変長重複排除を行うことができる。しかも本変形例によれば、チャンクの切り出し点を定める際の条件判定の対象となる値として、仮チャンクC’の末尾mビットの値が用いられることから、ハッシュ関数の特性や入力データの特性により仮チャンクC’の識別子HC’の下位mビットの値に偏りがあったとしても、一致箇所の偏りが平準化される
なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。
Claims (10)
- 識別子生成手段、区間設定手段、切り出し点決定手段及び記憶手段を含む装置において、任意のデータから可変長のデータ断片を取り出すための開始・終了オフセットを決定する方法であって、
前記任意のデータからデータ断片を取り出すための開始位置を示す開始オフセットを前記区間設定手段が前記記憶手段に設定するステップと、
前記開始オフセットが設定された際に、当該開始オフセットに対応する仮の終了位置を示す仮終了オフセットを前記区間設定手段が前記記憶手段に設定するステップと、
前記任意のデータ上の前記開始オフセットから前記仮終了オフセットまでの区間内のデータ断片を仮データ断片として、当該仮データ断片を識別するための当該仮データ断片の識別子を前記識別子生成手段が生成するステップと、
前記仮データ断片の前記生成された識別子の値の一部または全部が予め定められた条件に合致するときに、前記仮終了オフセットを、前記開始オフセットを基準に前記任意のデータからデータ断片を取り出すための終了位置を示す終了オフセットとして前記切り出し点決定手段が決定するステップと
を具備することを特徴とする可変長のデータ断片の開始・終了オフセットを決定する方法。 - 前記仮データ断片の前記生成された識別子の値の一部または全部が前記予め定められた条件に合致しないとき、前記開始オフセットから前記仮終了オフセットまでの区間が拡張されるように、前記区間設定手段が当該仮終了オフセットを設定し直すステップを更に具備することを特徴とする請求項1記載の可変長のデータ断片の開始・終了オフセットを決定する方法。
- 前記終了オフセットが決定された場合、前記記憶手段に設定されている前記開始オフセットが、当該決定された終了オフセットの位置を前記任意のデータから次のデータ断片を取り出すための開始位置として示すように、前記区間設定手段が当該開始オフセットを設定し直すステップを更に具備することを特徴とする請求項2記載の可変長のデータ断片の開始・終了オフセットを決定する方法。
- 前記予め定められた条件が、前記仮データ断片の前記生成された識別子の値の一部または全部が、予め定められた値と一致することである請求項3記載の可変長のデータ断片の開始・終了オフセットを決定する方法。
- 前記予め定められた条件が、前記仮データ断片の前記生成された識別子の値の一部または全部が、当該仮データ断片の値の一部または全部と一致することである請求項3記載の可変長のデータ断片の開始・終了オフセットを決定する方法。
- 前記開始オフセットから前記仮終了オフセットまでの区間の長さが予め定められた最大区間長以上である場合、前記仮データ断片の前記生成された識別子の値の一部または全部が前記予め定められた条件に合致するかに無関係に、当該仮終了オフセットが前記終了オフセットとして決定されることを特徴とする請求項3記載の可変長のデータ断片の開始・終了オフセットを決定する方法。
- 前記開始オフセットから前記仮終了オフセットまでの区間の長さが予め定められた最小区間長未満である場合には、前記仮データ断片の前記生成された識別子の値の一部または全部が前記予め定められた条件に合致していても、前記仮終了オフセットが前記終了オフセットとして決定されずに、前記開始オフセットから前記仮終了オフセットまでの区間が拡張されるように当該仮終了オフセットが設定し直されることを特徴とする請求項3記載の可変長のデータ断片の開始・終了オフセットを決定する方法。
- 任意のデータから可変長のデータ断片を取り出すための開始・終了オフセットを決定する装置において、
記憶手段と、
前記任意のデータからデータ断片を取り出すための開始位置を示す開始オフセット及び当該開始オフセットに対応する仮の終了位置を示す仮終了オフセットを前記記憶手段に設定する区間設定手段と、
前記任意のデータ上の前記開始オフセットから前記仮終了オフセットまでの区間内のデータ断片を仮データ断片として、当該仮データ断片を識別するための当該仮データ断片の識別子を生成する識別子生成手段と、
前記仮データ断片の前記生成された識別子の値の一部または全部が予め定められた条件に合致するときに、前記仮終了オフセットを、前記開始オフセットを基準に前記任意のデータからデータ断片を取り出すための終了オフセットとして決定する切り出し点決定手段と
を具備することを特徴とする開始・終了オフセットを決定する装置。 - 前記区間設定手段は、前記仮データ断片の前記生成された識別子の値の一部または全部が前記予め定められた条件に合致しないとき、前記開始オフセットから前記仮終了オフセットまでの区間が拡張されるように当該仮終了オフセットを設定し直すことを特徴とする請求項8記載の開始・終了オフセットを決定する装置。
- 前記区間設定手段は、前記終了オフセットが決定された場合、前記記憶手段に設定されている前記開始オフセットが、当該決定された終了オフセットの位置を前記任意のデータから次のデータ断片を取り出すための開始位置として示すように、当該開始オフセットを設定し直し、且つ前記記憶手段に設定されている前記仮終了オフセットが当該設定し直された開始オフセットに対応するように当該仮終了オフセットを設定し直すことを特徴とする請求項9記載の開始・終了オフセットを決定する装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009213534A JP4960417B2 (ja) | 2009-09-15 | 2009-09-15 | 可変長のデータ断片の開始・終了オフセットを決定する方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009213534A JP4960417B2 (ja) | 2009-09-15 | 2009-09-15 | 可変長のデータ断片の開始・終了オフセットを決定する方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011065268A JP2011065268A (ja) | 2011-03-31 |
JP4960417B2 true JP4960417B2 (ja) | 2012-06-27 |
Family
ID=43951474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009213534A Active JP4960417B2 (ja) | 2009-09-15 | 2009-09-15 | 可変長のデータ断片の開始・終了オフセットを決定する方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4960417B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4852135B2 (ja) * | 2009-09-30 | 2012-01-11 | 株式会社東芝 | データ分割方法及び装置 |
US8990171B2 (en) * | 2011-09-01 | 2015-03-24 | Microsoft Corporation | Optimization of a partially deduplicated file |
KR101912727B1 (ko) | 2014-02-14 | 2018-10-29 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 데이터 흐름 분할 포인트를 검색하기 위한 서버 기반 방법, 및 서버 |
US11030156B2 (en) * | 2015-12-28 | 2021-06-08 | Sandisk Technologies Llc | Key-value store with partial data access |
JP6841024B2 (ja) | 2016-12-09 | 2021-03-10 | 富士通株式会社 | データ処理装置,データ処理プログラムおよびデータ処理方法 |
JP7295422B2 (ja) | 2019-09-10 | 2023-06-21 | 富士通株式会社 | 情報処理装置および情報処理プログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7269689B2 (en) * | 2004-06-17 | 2007-09-11 | Hewlett-Packard Development Company, L.P. | System and method for sharing storage resources between multiple files |
US8819288B2 (en) * | 2007-09-14 | 2014-08-26 | Microsoft Corporation | Optimized data stream compression using data-dependent chunking |
JP4852135B2 (ja) * | 2009-09-30 | 2012-01-11 | 株式会社東芝 | データ分割方法及び装置 |
-
2009
- 2009-09-15 JP JP2009213534A patent/JP4960417B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011065268A (ja) | 2011-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4960417B2 (ja) | 可変長のデータ断片の開始・終了オフセットを決定する方法及び装置 | |
US20170277599A1 (en) | Data boundary identification for identifying variable size data chunks | |
KR101074010B1 (ko) | 블록 단위 데이터 압축 및 복원 방법 및 그 장치 | |
JP5719037B2 (ja) | ストレージ装置及び重複データ検出方法 | |
US8108348B2 (en) | Multi-version control method for data documents and device thereof | |
US11249665B2 (en) | Object synthesis | |
US20130067237A1 (en) | Providing random access to archives with block maps | |
US9348832B2 (en) | Method and device for reassembling a data file | |
KR101727860B1 (ko) | 문서 파일의 복구 장치 및 그 방법 | |
AU2013210018A1 (en) | Location independent files | |
JP5237661B2 (ja) | ファイル同期装置、ファイル同期方法及びファイル同期プログラム | |
US9465694B2 (en) | Method and apparatus for recovering partition based on file system metadata | |
US8909606B2 (en) | Data block compression using coalescion | |
CN116340055A (zh) | 一种固态硬盘的数据恢复方法及系统 | |
JP4852135B2 (ja) | データ分割方法及び装置 | |
US11182342B2 (en) | Identifying common file-segment sequences | |
CN108021472B (zh) | ReFS文件系统的格式化恢复方法及存储介质 | |
KR101486235B1 (ko) | 대용량 포렌식 이미지의 정보 추출 장치 | |
US9496895B2 (en) | Compression method and decompression method | |
WO2012053152A1 (ja) | ストレージシステム、データ管理装置、方法及びプログラム | |
CN104991963B (zh) | 文件处理方法和装置 | |
JP4467965B2 (ja) | 差分ファイル作成プログラム及び方法 | |
JP2004062475A (ja) | インデクス格納方法 | |
EP2164005B1 (en) | Content addressable storage systems and methods employing searchable blocks | |
US9189488B2 (en) | Determination of landmarks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120209 |
|
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: 20120228 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120322 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150330 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4960417 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |