JP6189266B2 - データ処理装置、データ処理方法及びデータ処理プログラム - Google Patents

データ処理装置、データ処理方法及びデータ処理プログラム Download PDF

Info

Publication number
JP6189266B2
JP6189266B2 JP2014167882A JP2014167882A JP6189266B2 JP 6189266 B2 JP6189266 B2 JP 6189266B2 JP 2014167882 A JP2014167882 A JP 2014167882A JP 2014167882 A JP2014167882 A JP 2014167882A JP 6189266 B2 JP6189266 B2 JP 6189266B2
Authority
JP
Japan
Prior art keywords
data
update
request
unit
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014167882A
Other languages
English (en)
Other versions
JP2016045594A (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.)
Kioxia Corp
Original Assignee
Toshiba Memory Corp
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 Toshiba Memory Corp filed Critical Toshiba Memory Corp
Priority to JP2014167882A priority Critical patent/JP6189266B2/ja
Priority to US14/796,671 priority patent/US10073657B2/en
Publication of JP2016045594A publication Critical patent/JP2016045594A/ja
Application granted granted Critical
Publication of JP6189266B2 publication Critical patent/JP6189266B2/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/061Improving I/O performance
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明の実施形態は、データ処理装置、データ処理方法及びデータ処理プログラムに関する。
近年、Webメールやソーシャルネットワーク等に代表されるWebサービスが普及している。このようなWebサービスにおいては、ユーザからの要求に応じてページを生成する際に、ページの生成に利用する各種データをデータベースに問い合わせている。データベースは、個々のアクセスに対して高速に応答することが好ましいものの、ユーザ数の増加に伴って負荷が増大する。高頻度及び高速な応答の要求に対しては、HDD(Hard Disk Drive)よりも高速なDRAM(Dynamic Random Access Memory)を記憶デバイスとし、データを一時的に蓄えるキャッシュサーバとして用いることで、データベースへのアクセスを軽減することができる。
例えば、かかるキャッシュサーバは、任意長の文字列で表されるデータの識別子「キー」で、任意長のデータ「バリュー」を読み書きするKVS(Key‐Value Store)型と呼ばれるデータ形式によりアクセスされる。KVSでは、ハッシュテーブルが活用され、キーとバリューとの関連が管理される。ハッシュテーブルとは、キーの取り得る広大な名前空間を、実際の有限なストレージのアドレス空間にマッピングする技術である。そして、このようなKVSの処理をハードウェア化することで、一台のサーバでの処理能力を向上させ、サーバの台数を削減することにより、消費電力や設置スペース、メンテナンスのためのコスト等を削減することができる。
米国公開特許2011/0276744A1
しかしながら、ハッシュテーブルを用いる技術は、空間を狭めることになるため、本質的に衝突が発生し得る。衝突とは、異なるキーに対応するハッシュテーブル上のエントリが同一のエントリになってしまうことを指す。例えば、ハッシュテーブルを保存するDRAMには読み出し遅延があるので、あるクエリ処理が読み出し要求を発行して読み出しデータを待っている間にも、次のクエリがデータの読み出し要求を発行することが好ましい。ここで、あるクエリと次のクエリとが同一のエントリに対するアクセスである場合には、読み書きの競合が発生し、データに不整合が生じてしまう。
本発明が解決しようとする課題は、読み出し遅延が発生する場合であっても、データの不整合を削減することができるデータ処理装置、データ処理方法及びデータ処理プログラムを提供することである。
実施の形態のデータ処理装置は、更新要求受付部と、読出要求部と、データ受取部と、更新値計算部と、書込要求部と、データ処理実行部と、履歴処理部と、更新情報推定部と、データ更新部とを有する。更新要求受付部は、記憶部に記憶されたデータを更新するデータ更新要求を受け付ける。読出要求部は、データ更新要求が受け付けられた場合に、記憶部からデータを読み出す読み出し処理要求を行なう。データ受取部は、記憶部から読み出されたデータを受け取る。更新値計算部は、受け取られたデータの更新値を計算する。書込要求部は、計算された更新値を記憶部に書き込む書き込み処理要求を行なう。データ処理実行部は、読み出し処理要求と書き込み処理要求とを受け付けて、記憶部に対して読み出し処理と書き込み処理とを実行する。履歴処理部は、読み出し処理が実行された場合に、該読み出し処理の履歴を生成し、書き込み処理が実行された場合に、該書き込み処理に対応する読み出し処理の履歴を削除する。更新情報推定部は、読み出し処理が実行された場合に、生成された履歴から、記憶部に記憶されたデータをどのように更新するかを表す更新情報を推定する。データ更新部は、記憶部から読み出されたデータを、推定された更新情報に従って更新し、更新した新たなデータをデータ受取部に対して出力する。
第1の実施形態に係るデータ処理装置のハードウェア構成を示すブロック図。 第1の実施形態に係るデータ処理装置の機能構成を示すブロック図。 第1の実施形態に係るデータ処理の流れを示すフローチャート。 第1の実施形態の変形例1に係るデータ処理装置の機能構成を示すブロック図。 第1の実施形態の変形例2に係る履歴を示す図。 第1の実施形態の変形例3に係る履歴を示す図。
(第1の実施形態)
図1は、第1の実施形態に係るデータ処理装置のハードウェア構成例を示すブロック図である。図1に示すように、データ処理装置100は、CPU(Central Processing Unit)12と、RAM(Random Access Memory)13と、ROM(Read Only Memory)14と、通信I/F(Interface)15とを有する。これらのハードウェアは、バス11により互いに接続される。
CPU12は、データ処理装置100の動作を統括的に制御する。CPU12は、RAM13をワークエリア(作業領域)として、ROM14等に格納されたプログラムを実行することで、データ処理装置100全体の動作を制御する。通信I/F15は、外部装置と通信するためのインタフェースである。
図2は、第1の実施形態に係るデータ処理装置の機能構成例を示すブロック図である。図2に示すように、データ処理装置100は、データ記憶部110と、更新要求受付部121と、読出要求部122と、データ処理実行部123と、履歴処理部124と、更新情報推定部125と、データ更新部126とを有する。加えて、データ処理装置100は、データ受取部127と、更新値計算部128と、書込要求部129とを有する。なお、上記各部については、これらの一部又は全てがソフトウェア(プログラム)で実現されても良いし、ハードウェア回路で実現されても良い。
データ処理装置100は、データ記憶部110等の記憶媒体に記憶されているデータを更新する処理を連続的に実行する装置である。本実施形態では、データ記憶部110が初期値としてデータ「10」を記憶し、データ更新要求に従ってデータ記憶部110に記憶されたデータを「+1」する場合を例に挙げる。すなわち、2つのデータ更新要求が連続して受け付けられた場合には、「+1」する処理が2回行われ、この結果、データ記憶部110に「12」が書き込まれる。
まず、データ処理装置100におけるパイプライン処理について説明する。データ処理装置100では、更新要求受付部121、読出要求部122、データ受取部127、更新値計算部128、書込要求部129の5つによりパイプライン処理が実行される。例えば、上記5つの処理部のうち、ある処理部にデータ更新要求が格納されている場合には、次のデータ更新要求についてはある処理部よりも前段の処理部で所定の処理を行なうことが可能である。
上述した構成において、更新要求受付部121は、データ記憶部110に記憶されたデータを更新するためのデータ更新要求を受け付ける。本実施形態では、データを「+1」するデータ更新要求とする。読出要求部122は、更新要求受付部121によってデータ更新要求が受け付けられた場合に、データ記憶部110からデータを読み出す読み出し処理要求を、データ処理実行部123に対して行なう。また、読出要求部122は、データ更新要求が受け付けられたことをデータ受取部127に対して通知する。これにより、データ受取部127は、データの受け取り待ちの状態となる。
データ受取部127は、データ記憶部110から読み出されたデータを受け取る。例えば、データ受取部127は、データ記憶部110に記憶されたデータ「10」を受け取る。更新値計算部128は、データ受取部127によって受け取られたデータの更新値を計算する。例えば、更新値計算部128は、データ受取部127によって受け取られたデータ「10」を「+1」し、更新値「11」を計算する。書込要求部129は、更新値計算部128によって計算された更新値をデータ記憶部110に書き込む書き込み処理要求を、データ処理実行部123に対して行なう。例えば、書込要求部129は、更新値計算部128によって計算された更新値「11」をデータ記憶部110に書き込む書き込み処理要求を、データ処理実行部123に対して行なう。
ここで、データ更新要求に応じた処理を、データ更新要求A、データ更新要求Bの順に実行する場合を例に挙げる。データ記憶部110には読み出し遅延があるので、読み出し遅延が処理全体のスループットに悪影響を及ぼさないようにするためには、データ更新要求Aに対するデータの読み出し待ちの状態であっても、データ更新要求Bに応じたデータの読み出しが実行される。すなわち、データ更新要求Aに応じてデータ「10」を読み出して「+1」し、更新値「11」をデータ記憶部110に書き込む前に、データ更新要求Bに応じてデータ「10」が読み出されてしまう。このとき、データ更新要求Aとデータ更新要求Bとの実行により、本来であればデータ記憶部110に「12」が書き込まれるところ、実際にはデータ記憶部110に「11」が書き込まれてしまう。そこで、以下で説明する処理によりデータの不整合を解消する。
データ記憶部110は、データを記憶する。例えば、データ記憶部110は、DRAMやNANDフラッシュメモリ、SSD(Solid State Drive)、HDD等の記憶媒体である。なお、データ記憶部110の種別は上記のものに限られるわけではない。本実施形態では、データ記憶部110が初期値としてデータ「10」を記憶し、データ更新要求に従ってデータ記憶部110に記憶されたデータを「+1」する場合を例に挙げる。
更新要求受付部121は、データ記憶部110に記憶されたデータを更新するデータ更新要求を受け付ける。例えば、更新要求受付部121は、データ記憶部110に記憶されたデータを「+1」するためのデータ更新要求を受け付ける。ここで、更新要求受付部121は、「+1」するデータ更新要求Aと、同様に「+1」するデータ更新要求Bとを、連続して受け付けるものとする。
読出要求部122は、更新要求受付部121によってデータ更新要求が受け付けられた場合に、データ記憶部110からデータを読み出す読み出し処理要求を行なう。例えば、読出要求部122は、更新要求受付部121によってデータ更新要求Aが受け付けられた場合に、データ記憶部110からデータを読み出す読み出し処理要求を、データ処理実行部123に対して行なう。また、読出要求部122は、更新要求受付部121によってデータ更新要求Bが受け付けられた場合に、データ記憶部110からデータを読み出す読み出し処理要求を、データ処理実行部123に対して行なう。
データ処理実行部123は、読み出し処理要求を受け付けて、データ記憶部110に対して読み出し処理を実行する。例えば、データ処理実行部123は、読出要求部122からデータ更新要求Aに対応する読み出し処理要求を受け付けると、データ記憶部110に記憶されたデータ「10」の読み出し処理を実行する。また、データ処理実行部123は、読出要求部122からデータ更新要求Bに対応する読み出し処理要求を受け付けると、データ記憶部110に記憶されたデータ「10」の読み出し処理を実行する。
ここで、データ記憶部110には読み出し遅延がある。これにより、データ更新要求Aに対応するデータの更新が行なわれる前にデータ更新要求Bが受け付けられることで、データ更新要求Aに対応する読み出し処理とデータ更新要求Bに対応する読み出し処理とにおいては、データ記憶部110からデータ「10」が読み出されることになる。
履歴処理部124は、データ処理実行部123によって読み出し処理が実行された場合に、該読み出し処理の履歴を生成する。例えば、履歴処理部124は、データ更新要求Aに対応する読み出し処理が実行された場合に、データ更新要求Aがあったことを表す履歴を生成して保持する。また、履歴処理部124は、データ更新要求Bに対応する読み出し処理が実行された場合に、データ更新要求Bがあったことを表す履歴を生成して保持する。
更新情報推定部125は、データ処理実行部123によって読み出し処理が実行された場合に、履歴処理部124によって生成された履歴から、データ記憶部110に記憶されたデータをどのように更新するかを表す更新情報を推定する。例えば、更新情報推定部125は、データ処理実行部123によってデータ更新要求Bに対応する読み出し処理が実行された場合に、履歴処理部124によって生成された、データ更新要求Aがあったことを表す履歴を取得する。そして、更新情報推定部125は、データ更新要求Aがあったことを表す履歴から、データ更新要求Bに対応する読み出し処理によって読み出されたデータが、該データ更新要求Aによって「+1」される予定であることを表す更新情報を推定する。
なお、更新情報推定部125は、データ処理実行部123によってデータ更新要求Aに対応する読み出し処理が実行された場合にも、履歴処理部124によって履歴が生成されているか否かを確認する。このとき、更新情報推定部125は、データ更新要求Aに応じた読み出し処理の実行時よりも前には他のデータ更新要求がなく、履歴も存在しないため、更新情報の推定は行なわない。
データ更新部126は、データ記憶部110から読み出されたデータを、推定された更新情報に従って更新する。例えば、データ更新部126は、データ処理実行部123によって実行されたデータ更新要求Bに対応する読み出し処理により読み出されたデータ「10」を、更新情報推定部125によって推定された更新情報(「+1」される予定である旨)に従って「11」に更新する。そして、データ更新部126は、更新した新たなデータ「11」をデータ受取部127に対して出力する。すなわち、データ更新要求Aとデータ更新要求Bとが連続して受け付けられた場合に、データ更新部126によって出力されるデータは、データ更新要求Aに応じてデータ記憶部110が更新されることを想定したデータとなる。なお、データ更新部126は、更新情報推定部125によって更新情報が推定されていない場合には、データ記憶部110から読み出されたデータを更新することなく、データ受取部127に対して出力する。
データ受取部127は、データ記憶部110から読み出されたデータを受け取る。例えば、データ受取部127は、データ更新要求Bに対応する読み出し処理が行なわれた状態において、データ更新部126によって更新された新たなデータ「11」を受け取る。
更新値計算部128は、データ受取部127によって受け取られたデータの更新値を計算する。例えば、更新値計算部128は、データ受取部127によって受け取られたデータ「11」を、データ更新要求B(「+1」するデータ更新要求)に従って「+1」し、更新値「12」を計算する。
書込要求部129は、計算された更新値をデータ記憶部110に書き込む書き込み処理要求を行なう。例えば、書込要求部129は、更新値計算部128によって計算された更新値「11」をデータ記憶部110に書き込む書き込み処理要求を、データ処理実行部123に対して行なう。また、書込要求部129は、更新値計算部128によって計算された更新値「12」をデータ記憶部110に書き込む書き込み処理要求を、データ処理実行部123に対して行なう。
これらにより、データ処理実行部123は、書き込み処理要求を受け付けて、データ記憶部110に対して書き込み処理を実行する。例えば、データ処理実行部123は、書込要求部129から更新値「11」を書き込む書き込み処理要求を受け付けると、データ記憶部110に更新値「11」の書き込み処理を実行する。また、データ処理実行部123は、書込要求部129から更新値「12」を書き込む書き込み処理要求を受け付けると、データ記憶部110に更新値「12」の書き込み処理を実行する。本実施形態において、データ記憶部110に最終的に「12」が書き込まれることは、本来期待する動作である。
また、履歴処理部124は、データ処理実行部123によって書き込み処理が実行された場合に、該書き込み処理に対応する読み出し処理の履歴を削除する。例えば、履歴処理部124は、データ処理実行部123によってデータ記憶部110に更新値「11」の書き込み処理が実行された場合に、保持しているデータ更新要求Aに対応する履歴を削除する。また、履歴処理部124は、データ処理実行部123によってデータ記憶部110に更新値「12」の書き込み処理が実行された場合に、保持しているデータ更新要求Bに対応する履歴を削除する。つまり、データ更新要求Aに対応する書き込み処理が実行された時点で、以降の読み出し処理では本来期待する正しいデータが読み出されることになるので、履歴として保持しなくて良い。換言すると、履歴は、対応するデータ更新要求に応じた読み出し処理が実行されてから書き込み処理が実行されるまでの間だけ保持され、この間に、更新情報の推定に利用される。
次に、図3を用いて、第1の実施形態に係るデータ処理の流れを説明する。図3は、第1の実施形態に係るデータ処理の流れの例を示すフローチャートである。
図3に示すように、更新要求受付部121によってデータ更新要求が受け付けられた場合に(ステップS101:Yes)、読出要求部122は、データ記憶部110からデータを読み出す読み出し処理要求を、データ処理実行部123に対して行なう(ステップS102)。一方、更新要求受付部121は、データ更新要求が受け付けられていない場合に(ステップS101:No)、該データ更新要求の受け付け待ちの状態となる。データ処理実行部123は、読出要求部122から読み出し処理要求を受け付けると、データ記憶部110に記憶されたデータの読み出し処理を実行する(ステップS103)。
履歴処理部124は、データ処理実行部123によって読み出し処理が実行された場合に、該読み出し処理に対応するデータ更新要求があったことを表す履歴を生成して保持する(ステップS104)。更新情報推定部125は、データ処理実行部123によって読み出し処理が実行された場合に、履歴処理部124によって生成された、データ更新要求があったことを表す履歴から、該読み出し処理によって読み出されたデータが、以前のデータ更新要求によって「+1」される予定であることを表す更新情報を推定する(ステップS105)。
データ更新部126は、データ処理実行部123によって実行されたデータ更新要求に対応する読み出し処理により読み出されたデータを、更新情報推定部125によって推定された更新情報に従って更新する(ステップS106)。データ受取部127は、データ更新部126によって更新された新たなデータを受け取る(ステップS107)。更新値計算部128は、データ受取部127によって受け取られたデータを、データ更新要求に従って「+1」し、更新値を計算する(ステップS108)。
書込要求部129は、更新値計算部128によって計算された更新値をデータ記憶部110に書き込む書き込み処理要求を、データ処理実行部123に対して行なう(ステップS109)。データ処理実行部123は、書込要求部129から更新値を書き込む書き込み処理要求を受け付けると、データ記憶部110に更新値の書き込み処理を実行する(ステップS110)。履歴処理部124は、データ処理実行部123によってデータ記憶部110に更新値の書き込み処理が実行された場合に、該書き込み処理のデータ更新要求に対応する読み出し処理の履歴を削除する(ステップS111)。
本実施形態によれば、データ記憶部110に対して実行された読み出し処理の履歴を保持し、読み出し処理の実行時に、それまでの履歴から、データ記憶部110から読み出されたデータをどのように更新するかを表す更新情報を推定し、読み出されたデータを更新情報に従って更新するので、データ記憶部110に読み出し遅延が発生する場合であっても、データの不整合を削減することができる。
(第1の実施形態の変形例1)
本実施形態に係るデータ処理装置の構成は、図4に示すように、読出要求部122と更新情報推定部225とに、読み出しデータを待つ待ちキュー部230、待ちキュー部231を有しても良い。図4は、第1の実施形態の変形例1に係るデータ処理装置の機能構成例を示すブロック図である。第1の実施形態の変形例1では、第1の実施形態と同様の構成については同一の符号を付し、同様の構成については詳細な説明を省略する場合がある。具体的には、以下に示す履歴処理部224、更新情報推定部225、待ちキュー部230、待ちキュー部231以外の機能及び構成、処理は第1の実施形態と同様である。
図4に示すように、データ処理装置200は、データ記憶部110と、更新要求受付部121と、読出要求部122と、データ処理実行部123と、履歴処理部224と、更新情報推定部225と、データ更新部126とを有する。加えて、データ処理装置200は、データ受取部127と、更新値計算部128と、書込要求部129と、待ちキュー部230と、待ちキュー部231とを有する。なお、上記各部については、これらの一部又は全てがソフトウェア(プログラム)で実現されても良いし、ハードウェア回路で実現されても良い。
待ちキュー部230と待ちキュー部231とは、複数のデータ更新要求をキューイングすることができる。例えば、待ちキュー部230と待ちキュー部231とは、データ更新要求Aをキューイングして読み出しデータを待つ間に、データ更新要求Bをデータ更新要求Aの後ろにキューイングする。これにより、データ処理装置200では、データ更新要求Aの読み出しデータが読み出されていない状態においても、データ更新要求C、さらにはデータ更新要求Dを受け付けて、読み出し処理を実行することができる。この結果、データ処理装置200は、データ記憶部110の読み出し遅延が大きい場合でも、全体のスループットを低下させることなく、連続してデータ更新要求を受け付けることができる。
また、データ更新要求の読み出し処理に対応する履歴の保持については、データ更新要求が受け付けられた回数を記憶する形式で良い。例えば、履歴処理部224は、データ更新要求が「+1」するといったものであるため、該データ更新要求が受け付けられた回数、すなわちデータ処理実行部123によって読み出し処理が実行された回数を保持すれば良い。このとき、更新情報推定部225は、履歴処理部224によって保持された読み出し処理の回数分だけ「+1」する処理を行なう、といった更新情報を推定する。そして、データ更新部126は、データ記憶部110から読み出されたデータを、更新情報推定部225によって推定された更新情報をもとに、読み出し処理の回数分だけ「+1」して、新たなデータをデータ受取部127に対して出力する。
以下に、データ更新要求A、データ更新要求B、データ更新要求Cの順に、データ更新要求が受け付けられた場合を例に挙げて説明する。例えば、データ処理実行部123によってデータ更新要求Bの読み出し処理が実行された場合に、履歴処理部224によって保持されている履歴はデータ更新要求Aの読み出し処理に対応するものだけであるため、更新情報推定部225は、読み出し処理の回数「1回」だけ「+1」するという更新情報を推定する。その後、データ処理実行部123によってデータ更新要求Cの読み出し処理が実行された状況において、データ更新要求Aの読み出し処理が完了していない場合に、履歴処理部224によって保持されている履歴はデータ更新要求Aとデータ更新要求Bとの読み出し処理に対応するものであるため、更新情報推定部225は、読み出し処理の回数「2回」だけ「+1」するという更新情報を推定する。すなわち、データ更新部126は、データ記憶部110から読み出されたデータ「10」を「2回」だけ「+1」し、新たなデータ「12」をデータ受取部127に対して出力する。そして、更新値計算部128は、データ更新要求Cの更新値として、データ受取部127によって受け取られたデータ「12」に「+1」し、更新値「13」を計算する。これらの結果、データ更新要求Aの読み出し処理が完了していない状態において、データ更新要求Cが受け付けられた場合には、データ記憶部110に「13」が書き込まれることになる。
ここで、データ処理実行部123によってデータ更新要求Cの読み出し処理が実行された状況において、データ更新要求Aの読み出し処理が完了している場合には、履歴処理部224によってデータ更新要求Aの読み出し処理に対応する履歴が削除されている。すなわち、更新情報推定部225は、データ更新要求Bのみの読み出し処理の回数「1回」だけ「+1」するという更新情報を推定することになる。このとき、データ記憶部110にはデータ更新要求Aの更新結果である「11」が書き込まれているので、データ更新部126は、データ記憶部110から読み出されたデータ「11」を「1回」だけ「+1」し、新たなデータ「12」をデータ受取部127に対して出力する。そして、更新値計算部128は、データ更新要求Cの更新値として、データ受取部127によって受け取られたデータ「12」に「+1」し、更新値「13」を計算する。これらの結果、データ更新要求Aの書き込み処理が完了した状態において、データ更新要求Cが受け付けられた場合には、データ記憶部110に「13」が書き込まれることになる。
本実施形態によれば、読出要求部122によって読み出し処理要求が行なわれてからデータ受取部127によってデータが受け取られるまでの間と、更新情報推定部225によって更新情報が推定されてからデータ更新部126がデータを受け付けるまでの間との双方において、データ更新要求をキューイングするので、より多くのデータ更新要求が連続して受け付けられた場合であっても、データの不整合を削減することができる。
(第1の実施形態の変形例2)
本実施形態に係るデータ記憶部110は、複数のデータを記憶することができる。このとき、データ処理装置100によって受け付けられるデータ更新要求は、更新対象データのアドレス情報を保持する。すなわち、データ記憶部110に記憶された複数のデータに対して、アドレスを指定することで、複数のアドレスに選択的にアクセスすることができる。これにより、データの読み書きの際にはアドレスが指定され、データ処理実行部123は、指定されたアドレスに対して読み出し処理や書き込み処理を実行する。
履歴処理部124は、データ更新要求の読み出し処理がアドレスを指定することにより実行された場合に、データ更新要求に対応する読み出し処理が実行されたことを、指定されたアドレスと関連付けて履歴を生成し保持する。簡単には、指定されたアドレスのみを保持すれば良い。図5は、第1の実施形態の変形例2に係る履歴の例を示す図である。図5に示すように、履歴には、各データ更新要求に対応する読み出し処理で指定されたアドレスが保持される。
以下に、図5を用いて、データ更新要求A、データ更新要求B、データ更新要求C、データ更新要求D、データ更新要求E、データ更新要求Fの順に、データ更新要求が受け付けられた場合を例に挙げて説明する。例えば、データ更新要求Aにはアドレス「0x80001010」が指定され、データ更新要求Bにはアドレス「0x60203000」が指定され、データ更新要求Cにはアドレス「0x94003a00」が指定されているものとする。同様に、データ更新要求Dにはアドレス「0xe4020080」が指定され、データ更新要求Eにはアドレス「0x80001010」が指定され、データ更新要求Fにはアドレス「0x80001010」が指定されているものとする。データ更新要求Fは、新たに受け付けられたデータ更新要求であるものとする。上述したように、このような履歴は、読み出し処理の実行に応じて、履歴処理部124によって生成及び保持される。
例えば、更新情報推定部125は、データ処理実行部123によって、指定されたアドレスが「0x80001010」であるデータ更新要求Fの読み出し処理が実行された場合に、履歴処理部124によって保持されている履歴に、該データ更新要求Fで指定されたアドレスと同一のアドレスが存在することを確認する。データ更新要求Fで指定されたアドレスと同一のアドレスは、データ更新要求Aとデータ更新要求Eとで指定されている。そして、更新情報推定部125は、データ更新要求Fで指定されたアドレスと同一のアドレスが2つあるので、「2回」だけ「+1」するという更新情報を推定する。すなわち、更新情報推定部125は、同一のアドレスがn個ある場合には、「n回」だけ「+1」するという更新情報を推定する。これにより、データ更新部126は、データ記憶部110から読み出されたアドレス「0x80001010」のデータを「2回」だけ「+1」し、新たなデータをデータ受取部127に対して出力する。なお、データ更新部126は、指定されたアドレスが「0x80002000」である場合には、同一のアドレスに対応する履歴が存在しないため、データ記憶部110から読み出されたデータをそのままデータ受取部127に対して出力することになる。
なお、指定されるアドレスは、「+1」したいデータそのもののアドレスであっても良いし、「+1」をしたいデータを含む所定のデータ構造の先頭のアドレスであっても良く、厳密にそのデータのアドレスである必要はない。すなわち、アドレスは、最終的に「+1」したいデータを特定することができる情報を含むものであれば良い。
本実施形態によれば、データ更新要求に応じて更新対象となっているデータのアドレスを履歴に保持するので、異なるアドレスのデータに対して複数のデータ更新要求が受け付けられた場合であっても、データの不整合を削減することができる。
(第1の実施形態の変形例3)
本実施形態に係るデータ処理装置によって受け付けられるデータ更新要求は、「+1」するという演算ではなく、任意の演算であっても良い。また、データ更新要求ごとに異なる演算であっても良い。すなわち、データ更新要求は、データ記憶部110に記憶された複数のデータに対して指定されるアドレスと、演算処理が特定できる演算処理情報を保持する。
履歴処理部124は、データ更新要求の読み出し処理がアドレスを指定することにより実行された場合に、データ更新要求に対応する読み出し処理が実行されたことを、指定されたアドレスと演算処理情報とともに関連付けて履歴を生成し保持する。図6は、第1の実施形態の変形例3に係る履歴の例を示す図である。図6に示すように、履歴には、各データ更新要求に対応する読み出し処理で指定されたアドレスと、該アドレスのデータに対する演算処理情報とが保持される。
以下に、図6を用いて、データ更新要求A、データ更新要求B、データ更新要求C、データ更新要求D、データ更新要求E、データ更新要求Fの順に、データ更新要求が受け付けられた場合を例に挙げて説明する。例えば、データ更新要求Aにはアドレス「0x80001010」が指定され、該アドレスのデータに対する演算処理情報は「+3」である。また、データ更新要求Bにはアドレス「0x60203000」が指定され、該アドレスのデータに対する演算処理情報は「−2」である。また、データ更新要求Cにはアドレス「0x94003a00」が指定され、該アドレスのデータに対する演算処理情報は「×1」である。また、データ更新要求Dにはアドレス「0xe4020080」が指定され、該アドレスのデータに対する演算処理情報は「+10」である。また、データ更新要求Eにはアドレス「0x80001010」が指定され、該アドレスのデータに対する演算処理情報は「×5」である。加えて、新たに受け付けられるデータ更新要求Fにはアドレス「0x80001010」が指定され、該アドレスのデータに対する演算処理情報が「+1」であるものとする。上述したように、このような履歴は、読み出し処理の実行に応じて、履歴処理部124によって生成及び保持される。
例えば、更新情報推定部125は、データ処理実行部123によって、指定されたアドレスが「0x80001010」であり演算処理情報が「+1」であるデータ更新要求Fの読み出し処理が実行された場合に、履歴処理部124によって保持されている履歴に、該データ更新要求Fで指定されたアドレスと同一のアドレスが存在することを確認する。データ更新要求Fで指定されたアドレスと同一のアドレスは、データ更新要求Aとデータ更新要求Eとで指定されている。そして、更新情報推定部125は、データ更新要求Fで指定されたアドレスと同一のアドレスに対応する演算処理情報から、「+3」して「×5」するという更新情報を推定する。これにより、例えば、データ記憶部110のアドレス「0x80001010」に対応するデータが「10」である場合に、データ更新部126は、データ記憶部110から読み出されたデータ「10」を、「(10+3)×5=65」に更新し、新たなデータ「65」をデータ受取部127に対して出力する。その後、更新値計算部128は、データ更新要求Fの演算処理情報「+1」する、をもとに、データ受取部127によって受け取られたデータ「65」を「+1」し、更新値「66」を計算する。
本実施形態によれば、データ更新要求に応じて更新対象となっているデータの演算処理情報を履歴に保持するので、データ更新要求ごとに演算処理が異なる場合であっても、データの不整合を削減することができる。
(第2の実施形態)
さて、これまで本発明に係るデータ処理装置の実施形態について説明したが、上述した実施形態以外にも種々の異なる形態にて実施されて良いものである。そこで、(1)構成、(2)プログラム、について異なる実施形態を説明する。
(1)構成
上記文書中や図面中等で示した処理手順、制御手順、具体的名称、各種のデータやパラメータ等を含む情報は、特記する場合を除いて任意に変更することができる。また、図示した装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散又は統合の具体的形態は、図示のものに限られず、その全部又は一部を各種の負担や使用状況等に応じて、任意の単位で機能的又は物理的に、分散又は統合することができる。
例えば、データ記憶部110は、データ処理装置100に含まれていなくても良く、データ処理装置100と通信可能な外部の記憶媒体であっても良い。また、データ処理装置100が有する各機能は、クラウドコンピューティングにより実現しても良い。また、履歴処理部124による履歴の削除処理については、例えば演算処理情報を無効にすることで実現しても良い。例を挙げると、データ記憶部110にデータ「10」が記憶されており、データ記憶部110のアドレスAに対する演算処理情報が「+1(データ更新要求A対応)」、「+3(データ更新要求B対応)」である履歴が保持されている状態において、データ更新要求Aの書き込み処理が実行された場合には、データ更新要求Aに対応する演算処理情報を「0」に更新する。このほか、データ更新要求Aに対応する演算処理情報を使用しないことを表すフラグをたてておき、フラグがたてられた演算処理情報は使用しないようにすれば良い。つまり、結果として期待する更新値が計算できるように演算処理情報を更新すれば、履歴を削除しなくても良い。
また、例えば、データ処理装置は、キー・バリュー型のデータを格納するキー・バリュー・ストアを実装したサーバ装置であっても良い。かかるサーバ装置は、クライアントからのクエリ要求(データ更新要求)を受け付けて応答を返す。例えば、サーバ装置は、キー1、キー2、キー3等に関連付けて、バリュー1、バリュー2、バリュー3等を格納しており、クライアントからのキー2に対するバリューの読み出し要求を受け付け、格納されているバリュー2を読み出し、クライアントに応答する機能を有する。
このようなキー・バリュー・ストアでは、一般に、ハッシュテーブルと呼ばれるメタデータでキーとバリューとの連想記憶を行なう。すなわち、キー1をあるハッシュ関数に入れると、H1というハッシュ値が求まり、H1を例えばハッシュテーブル上のアドレスとした場合のテーブルのエントリに、バリュー1のストレージ上のアドレスを格納する。このようにすることで、キー1に対する読み出し要求を受け付けた場合に、同様にH1を求めてハッシュテーブルにアクセスして、バリュー1のアドレスを得ることで直ちにバリューにアクセスして応答を返すことが可能となる。
ハッシュテーブルは、広大なキーの取り得る名前空間を実際の有限なストレージのアドレス空間にマッピングする技術である。つまり、空間を狭めることになるため、本質的に衝突が発生し得る。衝突を解決するためのアルゴリズムは多数提案されており、例えば、複数のエントリをまとめたバケット単位でアクセスし、複数のエントリを同一のバケットに格納可能とする「バケット・ハッシング」等の方式が存在する。記憶デバイスのアクセス単位の広さを利用し、読み出しはバケット単位で行なわれ一気に探索ができる。エントリの追加はバケットに空きがあれば一つずつ追加を行ない、バケットが一杯になれば衝突として扱われる。つまり、衝突をなくすことは困難であるが、頻度を下げることが可能な技術である。
バケットは、例えば、16バイト長のキーを16個格納できる256バイトのデータ構造等でも良いが、データ長やデータ構造はこれに限られるものではない。また、キーそのものを保持するとデータ長が長くなるので、キーに所定の演算を施した短縮したバイト列(例えば、2バイト等)を格納するような形態でも良い。この場合、例えば256バイトのバケットには、128個のエントリを追加することができるようになる。
バケット・ハッシングでデータを格納する動作を図2に示した構成で実現する場合は、以下のようにする。例えば、サーバ装置は、データの格納要求を受け付けた場合に、指定されたキーから所定のハッシュ関数を用いて格納したいバケットアドレスを特定する。更新要求受付部121は、バケットへのエントリの格納要求を受け付ける。読出要求部122は、バケットのアドレスを指定してデータ処理実行部123に対してバケットの読み出し要求を出力する。データ処理実行部123によって読み出しコマンドが発行されると、更新情報推定部125は、バケットの読み出しが直前に存在するか否かを履歴処理部124によって保持された履歴を参照して確認する。そして、更新情報推定部125は、バケットの読み出しが直前に存在する場合に、存在する数分だけ先に格納されることを推定する。
例えば、16個のエントリを格納できるバケットを想定した場合、更新情報推定部125は、既に2つのデータ更新要求が履歴に存在する場合に、2つの空きエントリが埋まるという更新情報を推定する。そして、データ更新部126は、読み出したバケットに1個のエントリが既に埋まっている(15個の空きがある)場合に、2個のエントリが埋まった状態にバケット情報を更新してデータ受取部127に対して出力する。更新値計算部128は、4個目のエントリに格納要求で指定されたエントリを格納するようにバケットを更新する。書込要求部129は、4個のエントリが埋まった状態のバケットの書き込み要求をデータ処理実行部123に対して行なう。4個のエントリが格納されたバケットが書き込まれることは期待する動作である。
なお、上述した動作は、サーバ装置がエントリの削除要求を受け付けた場合も同様である。サーバ装置がエントリの削除要求を受け付けた場合、履歴処理部124は、各データ更新要求がデータを追加するものであるのか、データを削除するものであるのかを識別可能な情報(例えば、第1の実施形態の変形例3で説明した演算処理情報)を関連付けて保持する。更新情報推定部125は、演算処理情報をもとに、例えば2個の追加となる演算処理情報と、1個の削除となる演算処理情報が存在する場合に、「2個−1個=1個」の追加が行なわれると推定する。例えば、更新情報推定部125は、読み出されたバケットに5個のエントリが既に追加されている場合、1個の追加ということから6個追加されていると推定する。更新値計算部128は、データ更新要求が削除要求であった場合、エントリ6個から1個を削除した5個の状態を計算する。これらの結果、書込要求部129は、5個のエントリの書き込み処理要求を行なう。5個のエントリが存在する状態に対して、2個の追加と2個の削除とのデータ更新要求が受け付けられているので、結果的に、5個のエントリとなるのは期待する動作である。
以上の動作により、複数のバケットへのエントリ追加・削除のデータ更新要求を同時に受け付けた場合でも、データに不整合が生じることなく、正しくエントリの追加・削除を行なうことができる。
(2)プログラム
また、上記実施形態に係るデータ処理装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることで実現することが可能である。実行されるデータ処理プログラムは、上述してきた各機能を含むモジュール構成となっている。データ処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供しても、ROM等に予め組み込んで提供しても良い。
また、上述してきた実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。また、各実施形態は、内容を矛盾させない範囲で適宜組み合わせることが可能である。また、各実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 データ処理装置
110 データ記憶部
121 更新要求受付部
122 読出要求部
123 データ処理実行部
124 履歴処理部
125 更新情報推定部
126 データ更新部
127 データ受取部
128 更新値計算部
129 書込要求部

Claims (6)

  1. 記憶部に記憶されたデータを更新するデータ更新要求を受け付ける更新要求受付部と、
    前記データ更新要求が受け付けられた場合に、前記記憶部からデータを読み出す読み出し処理要求を行なう読出要求部と、
    前記記憶部から読み出されたデータを受け取るデータ受取部と、
    受け取られた前記データの更新値を計算する更新値計算部と、
    計算された前記更新値を前記記憶部に書き込む書き込み処理要求を行なう書込要求部と、
    前記読み出し処理要求と前記書き込み処理要求とを受け付けて、前記記憶部に対して読み出し処理と書き込み処理とを実行するデータ処理実行部と、
    前記読み出し処理が実行された場合に、該読み出し処理の履歴を生成し、前記書き込み処理が実行された場合に、該書き込み処理に対応する読み出し処理の履歴を削除する履歴処理部と、
    前記読み出し処理が実行された場合に、生成された前記履歴から、前記記憶部に記憶されたデータをどのように更新するかを表す更新情報を推定する更新情報推定部と、
    前記記憶部から読み出されたデータを、推定された前記更新情報に従って更新し、更新した新たなデータを前記データ受取部に対して出力するデータ更新部と
    を有するデータ処理装置。
  2. 前記更新要求受付部は、更新対象データのアドレス情報を含む前記データ更新要求を受け付け、
    前記読出要求部は、前記アドレス情報をもとに前記データを読み出す読み出し処理要求を行ない、
    前記書込要求部は、前記アドレス情報をもとに前記更新値を前記記憶部に書き込む書き込み処理要求を行ない、
    前記履歴処理部は、前記読み出し処理で使用された前記アドレス情報を含む前記履歴を生成し、
    前記更新情報推定部は、実行された前記読み出し処理に対応する前記データ更新要求に含まれた前記アドレス情報が、生成された前記履歴に含まれる場合に、該履歴に含まれる前記アドレス情報に対応するデータ更新要求が実行されるときの前記更新情報を推定する請求項1に記載のデータ処理装置。
  3. 前記更新要求受付部は、更新対象データに対する演算処理情報を含む前記データ更新要求を受け付け、
    前記履歴処理部は、前記演算処理情報を含む前記履歴を生成し、
    前記更新情報推定部は、前記演算処理情報をもとに前記更新情報を推定する請求項1又は2に記載のデータ処理装置。
  4. 前記読出要求部によって前記読み出し処理要求が行なわれてから、前記データ受取部によって前記データが受け取られるまでの間、前記データ更新要求をキューイングするための第1待ちキュー部と、
    前記更新情報推定部によって前記更新情報が推定されてから、前記データ更新部が前記記憶部からの読み出されたデータを受け付けるまでの間、前記データ更新要求をキューイングするための第2待ちキュー部と、をさらに有し、
    前記更新要求受付部は、前記第1待ちキュー部に前記データ更新要求がキューイングされている間に、新たなデータ更新要求を受け付ける請求項1〜3の何れか一つに記載のデータ処理装置。
  5. 記憶部に記憶されたデータを更新するデータ更新要求を受け付けるステップと、
    前記データ更新要求が受け付けられた場合に、前記記憶部からデータを読み出す読み出し処理要求を行なうステップと、
    前記記憶部から読み出されたデータを受け取るステップと、
    受け取られた前記データの更新値を計算するステップと、
    計算された前記更新値を前記記憶部に書き込む書き込み処理要求を行なうステップと、
    前記読み出し処理要求と前記書き込み処理要求とを受け付けて、前記記憶部に対して読み出し処理と書き込み処理とを実行するステップと、
    前記読み出し処理が実行された場合に、該読み出し処理の履歴を生成し、前記書き込み処理が実行された場合に、該書き込み処理に対応する読み出し処理の履歴を削除するステップと、
    前記読み出し処理が実行された場合に、生成された前記履歴から、前記記憶部に記憶されたデータをどのように更新するかを表す更新情報を推定するステップと、
    前記記憶部から読み出されたデータを、推定された前記更新情報に従って更新し、更新した新たなデータを出力するステップと
    を含むデータ処理方法。
  6. 記憶部に記憶されたデータを更新するデータ更新要求を受け付けるステップと、
    前記データ更新要求が受け付けられた場合に、前記記憶部からデータを読み出す読み出し処理要求を行なうステップと、
    前記記憶部から読み出されたデータを受け取るステップと、
    受け取られた前記データの更新値を計算するステップと、
    計算された前記更新値を前記記憶部に書き込む書き込み処理要求を行なうステップと、
    前記読み出し処理要求と前記書き込み処理要求とを受け付けて、前記記憶部に対して読み出し処理と書き込み処理とを実行するステップと、
    前記読み出し処理が実行された場合に、該読み出し処理の履歴を生成し、前記書き込み処理が実行された場合に、該書き込み処理に対応する読み出し処理の履歴を削除するステップと、
    前記読み出し処理が実行された場合に、生成された前記履歴から、前記記憶部に記憶されたデータをどのように更新するかを表す更新情報を推定するステップと、
    前記記憶部から読み出されたデータを、推定された前記更新情報に従って更新し、更新した新たなデータを出力するステップと
    をコンピュータに実行させるためのデータ処理プログラム。
JP2014167882A 2014-08-20 2014-08-20 データ処理装置、データ処理方法及びデータ処理プログラム Active JP6189266B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014167882A JP6189266B2 (ja) 2014-08-20 2014-08-20 データ処理装置、データ処理方法及びデータ処理プログラム
US14/796,671 US10073657B2 (en) 2014-08-20 2015-07-10 Data processing apparatus, data processing method, and computer program product, and entry processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014167882A JP6189266B2 (ja) 2014-08-20 2014-08-20 データ処理装置、データ処理方法及びデータ処理プログラム

Publications (2)

Publication Number Publication Date
JP2016045594A JP2016045594A (ja) 2016-04-04
JP6189266B2 true JP6189266B2 (ja) 2017-08-30

Family

ID=55348348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014167882A Active JP6189266B2 (ja) 2014-08-20 2014-08-20 データ処理装置、データ処理方法及びデータ処理プログラム

Country Status (2)

Country Link
US (1) US10073657B2 (ja)
JP (1) JP6189266B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6378044B2 (ja) 2014-10-31 2018-08-22 東芝メモリ株式会社 データ処理装置、データ処理方法およびプログラム
JP6268116B2 (ja) 2015-03-20 2018-01-24 東芝メモリ株式会社 データ処理装置、データ処理方法およびコンピュータプログラム
US10552418B2 (en) * 2016-12-29 2020-02-04 Ancestry.Com Operations Inc. Optimization of first set of ordered items and delayed non-duplicated work queue

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261071A (en) * 1991-03-21 1993-11-09 Control Data System, Inc. Dual pipe cache memory with out-of-order issue capability
JP3499135B2 (ja) * 1998-06-29 2004-02-23 富士通株式会社 情報処理装置
JP4808524B2 (ja) 2006-03-17 2011-11-02 株式会社日立製作所 データ処理方法、データ処理システム及びデータ処理プログラム
US8677104B2 (en) * 2006-05-30 2014-03-18 Arm Limited System for efficiently tracing data in a data processing system
US8161353B2 (en) * 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
TWI414992B (zh) * 2009-01-23 2013-11-11 Infortrend Technology Inc 遠端非同步資料卷複製的方法及其裝置
US20110276744A1 (en) 2010-05-05 2011-11-10 Microsoft Corporation Flash memory cache including for use with persistent key-value store
JP5138026B2 (ja) * 2010-12-28 2013-02-06 ヤフー株式会社 複数プロセス処理装置及び方法
US20150286671A1 (en) * 2012-10-29 2015-10-08 Nec Corporation Transaction system

Also Published As

Publication number Publication date
JP2016045594A (ja) 2016-04-04
US10073657B2 (en) 2018-09-11
US20160054929A1 (en) 2016-02-25

Similar Documents

Publication Publication Date Title
US11099769B1 (en) Copying data without accessing the data
US10705965B2 (en) Metadata loading in storage systems
CN108009008B (zh) 数据处理方法和***、电子设备
JP6542909B2 (ja) ファイル操作方法及び装置
WO2018099107A1 (zh) 一种哈希表管理的方法和装置、计算机存储介质
JP5229731B2 (ja) 更新頻度に基づくキャッシュ機構
US10394782B2 (en) Chord distributed hash table-based map-reduce system and method
JP2008217209A (ja) 差分スナップショット管理方法、計算機システム及びnas計算機
WO2018036549A1 (zh) 分布式数据库查询方法、装置及管理***
WO2020093501A1 (zh) 文件存储方法、删除方法、服务器及存储介质
CN107665095B (zh) 存储器空间管理的设备、方法及可读存储介质
US11113195B2 (en) Method, device and computer program product for cache-based index mapping and data access
CN110765036B (zh) 在控制设备处管理元数据的方法和设备
US9483523B2 (en) Information processing apparatus, distributed processing system, and distributed processing method
JPWO2017013701A1 (ja) 計算機システム及びデータベース管理方法
WO2022156650A1 (zh) 访问数据的方法及装置
US10922147B2 (en) Storage system destaging based on synchronization object with watermark
JP6189266B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP6951846B2 (ja) 計算機システム及びタスクの割当方法
CN107153680B (zh) 一种分布式内存数据库在线扩展节点的方法及***
US11429311B1 (en) Method and system for managing requests in a distributed system
JP2018526740A (ja) モバイル端末のためのデータ記憶方法及び装置
CN113934361B (zh) 用于管理存储***的方法、设备和计算机程序产品
US20150172131A1 (en) Method and system for verifying quality of server
US20180329756A1 (en) Distributed processing system, distributed processing method, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160831

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170802

R150 Certificate of patent or registration of utility model

Ref document number: 6189266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350