JP2010182075A - 情報処理システム、情報処理装置、データ格納方法およびプログラム - Google Patents

情報処理システム、情報処理装置、データ格納方法およびプログラム Download PDF

Info

Publication number
JP2010182075A
JP2010182075A JP2009024831A JP2009024831A JP2010182075A JP 2010182075 A JP2010182075 A JP 2010182075A JP 2009024831 A JP2009024831 A JP 2009024831A JP 2009024831 A JP2009024831 A JP 2009024831A JP 2010182075 A JP2010182075 A JP 2010182075A
Authority
JP
Japan
Prior art keywords
information processing
memory
group
time
storage device
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
JP2009024831A
Other languages
English (en)
Other versions
JP5540516B2 (ja
Inventor
Ichiro Matsui
伊知郎 松井
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009024831A priority Critical patent/JP5540516B2/ja
Publication of JP2010182075A publication Critical patent/JP2010182075A/ja
Application granted granted Critical
Publication of JP5540516B2 publication Critical patent/JP5540516B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】使用頻度の高いデータへのアクセスの高速性を容易に維持する。
【解決手段】データを格納する外部記憶装置200と接続され、外部記憶装置200へのアクセスよりも高速にアクセス可能であるメモリ120を具備する情報処理装置100にて、データを所定の単位のグループに分割してメモリ120に格納し、メモリ120に格納されているグループへのアクセスが継続して行われない時間とあらかじめ設定された第1の経過時間とが一致した場合、当該グループを圧縮してメモリ120に格納し、その後、グループへのアクセスが継続して行われない時間とあらかじめ設定された第2の経過時間とが一致した場合、当該グループを外部記憶装置200へ移動させる。
【選択図】図1

Description

本発明は、データを格納するための情報処理システム、情報処理装置、データ格納方法およびプログラムに関する。
一般的に、データを格納するメモリ等の記憶素子には、格納できる容量に制限がある。近年の情報化社会では、処理されるデータ量が膨大であり、それらのデータ量は、情報処理装置に具備されたメモリの容量をはるかに超えるものとなっている場合が多い。
そこで、情報処理装置の外部に外部記憶装置を接続し、当該情報処理装置に具備されたメモリに格納しきれなかったデータを外部記憶装置に格納するという方法が一般的に取られている。
しかしながら、情報処理装置から外部記憶装置へのアクセス速度は情報処理装置から情報処理装置が具備するメモリへのアクセス速度に対して非常に低速であるため、情報処理装置にて外部記憶装置に格納されたデータを用いた処理を行う場合、高速に処理することができない。
そこで、データの参照頻度に応じて、情報処理装置が具備するメモリ(内部記憶装置)に格納されているデータを外部記憶装置へ移動させる技術が考えられている(例えば、特許文献1参照。)。
特公平7−104867号公報
しかしながら、特許文献1に記載された技術においては、すべてのデータを外部記憶装置に格納することが前提となっており、内部記憶装置に格納されているデータと、外部記憶装置に格納されたデータとの同期を取らなければならないという問題点がある。
本発明は、上述した課題を解決する情報処理システム、情報処理装置、データ格納方法およびプログラムを提供することを目的とする。
本発明の情報処理システムは、
データを格納する外部記憶装置と、該外部記憶装置と接続され、該外部記憶装置へのアクセスよりも高速にアクセス可能であるメモリを具備する情報処理装置とから構成された情報処理システムにおいて、
前記情報処理装置は、前記データを所定の単位のグループに分割して前記メモリに格納し、前記メモリに格納されている前記グループへのアクセスが継続して行われない時間とあらかじめ設定された第1の経過時間とが一致した場合、該グループを圧縮して前記メモリに格納し、その後、前記グループへのアクセスが継続して行われない時間とあらかじめ設定された第2の経過時間とが一致した場合、該グループを前記外部記憶装置へ移動させることを特徴とする。
また、本発明の情報処理装置は、
データを格納する外部記憶装置と接続された情報処理装置であって、
前記外部記憶装置へのアクセスよりも高速にアクセス可能であり、前記データを所定の単位のグループに分割して格納するメモリと、
前記メモリに格納されている前記グループへのアクセスが継続して行われない時間を計測し、前記計測した時間とあらかじめ設定された第1の経過時間とが一致した場合、該グループを圧縮して前記メモリに格納し、その後、前記計測した時間とあらかじめ設定された第2の経過時間とが一致した場合、該グループを前記外部記憶装置へ移動させる制御部とを有する。
また、本発明のデータ格納方法は、
第1の記憶部と、該第1の記憶部へのアクセスよりも高速にアクセス可能な第2の記憶部とに、データを所定の単位のグループに分割して格納するデータ格納方法であって、
前記第2の記憶部に格納されている前記グループへのアクセスが継続して行われない時間を計測する処理と、
前記計測した時間とあらかじめ設定された第1の経過時間とを比較する第1の比較処理と、
前記第1の比較処理の結果、前記計測した時間と前記第1の経過時間とが一致した場合、該グループを圧縮して前記第2の記憶部に格納する処理と、
その後、前記計測した時間とあらかじめ設定された第2の経過時間とを比較する第2の比較処理と、
前記第2の比較処理の結果、前記計測した時間と前記第2の経過時間とが一致した場合、該グループを前記第1の記憶部へ移動させる処理とを有する。
また、本発明のプログラムは、
データを格納する外部記憶装置と接続され、前記外部記憶装置へのアクセスよりも高速にアクセス可能なメモリを有する情報処理装置に実行させるためのプログラムであって、
前記データを所定の単位のグループに分割して前記メモリに格納する手順と、
前記メモリに格納されている前記グループへのアクセスが継続して行われない時間を計測する手順と、
前記計測した時間とあらかじめ設定された第1の経過時間とを比較する第1の比較手順と、
前記第1の比較手順の結果、前記計測した時間と前記第1の経過時間とが一致した場合、該グループを圧縮して前記メモリに格納する手順と、
その後、前記計測した時間とあらかじめ設定された第2の経過時間とを比較する第2の比較手順と、
前記第2の比較手順の結果、前記計測した時間と前記第2の経過時間とが一致した場合、該グループを前記外部記憶装置へ移動させる手順とを実行させる。
以上説明したように本発明においては、データを格納する外部記憶装置と接続され、外部記憶装置へのアクセスよりも高速にアクセス可能であるメモリを具備する情報処理装置にて、データを所定の単位のグループに分割してメモリに格納し、メモリに格納されているグループへのアクセスが継続して行われない時間とあらかじめ設定された第1の経過時間とが一致した場合、当該グループを圧縮してメモリに格納し、その後、グループへのアクセスが継続して行われない時間とあらかじめ設定された第2の経過時間とが一致した場合、当該グループを外部記憶装置へ移動させる構成としたため、使用頻度の高いデータへのアクセスの高速性を容易に維持することができる。
本発明の情報処理システムの実施の一形態を示す図である。 図1に示した制御部の内部構成の一例を示す図である。 各列とともにメモリまたは外部記憶装置に格納されたパラメータの一例を示す図である。 システムとして設定されたパラメータの一例を示す図である。 列1〜5について格納されたパラメータの一例を示す図である。 各パラメータが列毎にメモリと外部記憶装置とに格納された様子を示す図である。 本形態におけるデータ格納方法を説明するためのフローチャートである。 列1についてのパラメータ、状態および格納場所の遷移の様子を示す図である。 パラメータ3がパラメータ8に到達した場合のパラメータ3のスケールダウンの様子を示す図である。 列に対する検索処理が要求された際の処理を説明するためのフローチャートである。 昇順で格納された列データの一例を示す図である。 解凍(非圧縮状態に)する実データの範囲を特定する処理を説明するためのフローチャートである。
以下に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明の情報処理システムの実施の一形態を示す図である。
本形態は図1に示すように、情報処理装置100と、外部記憶装置200とから構成されている。
情報処理装置100は、所望のデータを処理する。また、保持すべきデータを外部記憶装置200へ書き込む。また、外部記憶装置200に格納されているデータを読み出す。
外部記憶装置200は、情報処理装置100から書き込まれたデータを格納する第1の記憶部である。
また、情報処理装置100には、制御部110と、メモリ120とが設けられている。
制御部110は、所望のデータを処理する。また、制御部110は、保持すべきデータをメモリ120または外部記憶装置200へ書き込む。このとき、制御部110は、データを所定の単位のグループに分割して書き込む。また、制御部110は、メモリ120または外部記憶装置200に格納されているデータを読み出す。また、制御部110は、メモリ120に格納されているデータのうち、所定の計算に基づいて決定したデータ(グループ)を外部記憶装置200へ移動させる。
メモリ120は、制御部110から書き込まれたデータを格納する第2の記憶部である。また、メモリ120は制御部110が具備されている情報処理装置100内に設けられているため、制御部110からメモリ120へのアクセス速度は制御部110から外部記憶装置200へのアクセス速度よりも高速である。
図2は、図1に示した制御部110の内部構成の一例を示す図である。
図1に示した制御部110には図2に示すように、タイマ111と、比較部112,114と、圧縮部113と、移動部115と、カウンタ116と、優先順位設定部117とが設けられている。なお、図2には、図1に示した制御部110の構成要素のうち、本発明に関わる構成要素のみを示した。
タイマ111は、メモリ120に格納されているデータ(グループ)へのアクセスが行われない時間を計測する。
比較部112は、タイマ111が計測した時間とあらかじめ設定された第1の経過時間とを比較する第1の比較部である。
圧縮部113は、比較部112における比較の結果、タイマ111が計測した時間と第1の経過時間とが一致した場合、そのデータ(グループ)をメモリ120から読み出し、圧縮してメモリ120に再度格納する。
比較部114は、圧縮113にて圧縮されてメモリ120に格納されたデータ(グループう)について、タイマ111が計測した時間とあらかじめ設定された第2の経過時間とを比較する第2の比較部である。なお、比較部114の機能を比較部112が担うものであっても良い。
移動部115は、比較部114における比較の結果、タイマ111が計測した時間と第2の経過時間とが一致した場合、そのデータ(グループ)をメモリ120から読み出し、外部記憶装置200へ書き込む。つまり、当該グループをメモリ120から外部記憶装置200へ移動させる。
カウンタ116は、メモリ120に格納されているグループがアクセスされた回数をカウントする。
優先順位設定部117は、圧縮部113が圧縮するグループ、または移動部115が移動させるグループが複数存在する場合、カウンタ116がカウントした回数に基づいて、圧縮または移動の優先順位を設定する。
以下、上述したグループを「列」として説明する。また、列の番号とは、当該列を識別するためにあらかじめ付与したものである。
図3は、各列とともにメモリ120または外部記憶装置200に格納されたパラメータの一例を示す図である。このパラメータは、列毎に格納されている。
図3に示したパラメータ1は、当該列へのアクセスの種類を示す。この種類とは、高速処理が必要な列か否かを示すものであり、外部から設定可能である。データ型から判断される既定値、もしくはユーザ指定の値をとる。例えば、パラメータ1の値が「1」である列は、高速処理が必要なデータであり、非圧縮状態でメモリ120に格納しておくものであることを示す。また、パラメータ1の値が「2」である列は、高速処理が不要なデータであり、非圧縮状態で外部記憶装置200に格納しておくものであることを示す。本形態においては、パラメータ1の値によって高速処理が不要であると判断される列のデータは、常に外部記憶装置200に格納しておく。
また、パラメータ2は、当該列の不使用度を示す。具体的には、後述するパラメータ7で指定された一定時間間隔で値が一定数増加する、初期状態が「0」であるパラメータである。当該列へのアクセスがある度に初期状態へ戻される。パラメータ2は、任意の設定は不可能である。
また、パラメータ3は、当該列へのアクセス数を示す。当該列へのアクセスがある度にカウントアップされる、初期状態が「0」のパラメータ。この値は、カウンタ116によってカウントされた回数が書き込まれるものである。また、ある列のパラメータ3の値が後述するパラメータ8の値に達した場合、全ての列のパラメータ3の値を後述するパラメータ9の値で指定される一定の割合でスケールダウンする。パラメータ3は、任意の設定は不可能である。
また、パラメータ4は、当該列の非圧縮状態のデータの容量とこれらパラメータの付加情報のデータ容量とを合計した容量を示す。パラメータ4は、任意の設定は不可能である。
図4は、システムとして設定されたパラメータの一例を示す図である。図4に示したパラメータは、メモリ120に格納されている。
図4に示したパラメータ5は、列のデータを圧縮するかどうかを判別するための閾値である。具体的には、パラメータ2に示した値とパラメータ5に示した値とが一致した場合、当該列のデータを圧縮部113が圧縮するための基準値である。パラメータ5は、外部から設定可能である。
また、パラメータ6は、列のデータを外部記憶装置200へ移動させるかどうかを判別するための閾値である。具体的には、パラメータ2に示した値とパラメータ6に示した値とが一致した場合、当該列のデータを移動部115がメモリ120から外部記憶装置200へ移動させるための基準値である。パラメータ6は、外部から設定可能である。
また、パラメータ7は、各列のパラメータ2の増加間隔を示す。具体的には、パラメータ2を一定数増加させる時間間隔を示すものである。例えば、図4に示すようにパラメータ7が「15分」である場合、15分間隔でパラメータ2を一定数増加させる。パラメータ7は、外部から設定可能である。
また、パラメータ8は、各列のパラメータ3の上限値を示す。パラメータ8は、外部から設定可能である。
また、パラメータ9は、各列のパラメータ3を減少させる割合を示す。つまり、パラメータ3の値がパラメータ8の値に到達した列のパラメータ3を減少させる(スケールダウンさせる)割合を示すものである。パラメータ9は、外部から設定可能である。
また、パラメータ10は、メモリ120に割り当てられた物理メモリの領域を示すパラメータである。
図5は、列1〜5について格納されたパラメータの一例を示す図である。
図5に示すように、各列毎にパラメータ1〜4が格納されており、システムとしてパラメータ5〜10が格納されている。これらのパラメータ1〜10を用いて列のデータを圧縮するか、外部記憶装置200へ移動させるかを判別する。
図6は、各パラメータが列毎にメモリ120と外部記憶装置200とに格納された様子を示す図である。
図6に示すように、各列の上述したパラメータ1の値が「1」である列(図6に示した例では、列1〜4)は、高速処理が必要なデータであるため、当該列のパラメータ1〜4はメモリ120に格納されている。一方、パラメータ1の値が「2」である列(図6に示した例では、列5)は、高速処理が不要なデータであるため、当該列のパラメータ1〜4は外部記憶装置200に格納されている。また、システムとしてのパラメータであるパラメータ5〜10は、メモリ120に格納されている。
このように、データをメモリデータベースに追加する時点で、システムはパラメータ1の値に基づいて、当該列のデータを主記憶装置(メモリ120)に配置するか、外部記憶装置200に配置するかを判断する。
以下に、本形態におけるデータ格納方法について説明する。
図7は、本形態におけるデータ格納方法を説明するためのフローチャートである。
まず、タイマ111がリセットされる(ステップS1)。このステップS1の処理は、タイマ111と、パラメータ2の値とがリセットされる。
その後、当該列にアクセスが行われたかどうかが判別される(ステップS2)。
アクセスが行われた場合、カウンタ116によってパラメータ3の値がカウントアップされ(ステップS3)、ステップS1の処理が行われる。
一方、アクセスが行われていない場合、アクセスが行われていない時間とあらかじめ設定された第1の経過時間とが比較部112にて比較される(ステップS4)。
ここで、アクセスが行われていない時間を計測し、当該時間と第1の経過時間との比較方法について説明する。
タイマ111によって計測されている時間が、パラメータ7に設定された時間になった場合、列のパラメータ2に示す値がカウントアップされ、タイマ111がリセットされる。アクセスが行われていない状態が続いた場合、この処理が繰り返される。一方、アクセスが行われた場合、パラメータ2の値がリセットされる。そして、パラメータ2の値とパラメータ5の値とが比較部112にて比較される。なお、この方法に限らず、上位概念的にパラメータ5の値とパラメータ7の値とを乗じた値を第1の経過時間とし、タイマ111によって計測されている時間と第1の経過時間とが比較できるものであれば良い。つまり、アクセスが継続して行われていない時間と、あらかじめ設定された時間(第1の経過時間)とが比較部112にて比較される。
ステップS4にてアクセスが行われていない時間とあらかじめ設定された第1の経過時間とが一致していない場合、ステップS2の処理が行われる。
一方、ステップS4にてアクセスが行われていない時間とあらかじめ設定された第1の経過時間とが一致した場合、当該列のデータが圧縮部113によってメモリ120から読み出され、圧縮処理されて、再度メモリ120に格納される(ステップS5)。なお、この圧縮処理に用いる圧縮アルゴリズムについては、特に規定しない。また、このとき、アクセスが行われていない時間とあらかじめ設定された第1の経過時間とが一致した列が複数存在する場合、カウンタ116によってカウントアップされているパラメータ3の値が小さな(アクセスされた回数が少ない)列から順に圧縮される。つまり、アクセスされた回数に基づいて圧縮される優先順位が優先順位設定部117にて設定される。さらに具体的には、アクセスされた回数が多い列ほど、圧縮される優先順位が低いものに優先順位設定部117にて設定される。
ここで、圧縮処理に必要な物理メモリがメモリ120上に確保できない場合、圧縮状態にある列のうち、パラメータ2の値が大きな列から順に外部記憶装置200に移動させる。これにより、圧縮処理に必要な物理メモリをメモリ120上に確保する。
その後、引き続き当該列にアクセスが行われたかどうかが判別される(ステップS6)。
アクセスが行われた場合、カウンタ116によってパラメータ3の値がカウントアップされる(ステップS7)。また、メモリ120から圧縮されて格納されている列が読み出され、解凍(非圧縮)され、当該列に対して処理が行われる。そして、当該列のデータは、非圧縮状態でメモリ120に格納される(ステップS8)。このとき、当該列のパラメータ2の値がクリアされる。そして、ステップS1の処理が行われる。
一方、アクセスが行われていない場合、アクセスが行われていない時間とあらかじめ設定された第2の経過時間とが比較部114にて比較される(ステップS9)。
ここで、アクセスが行われていない時間を計測し、当該時間と第2の経過時間との比較方法について説明する。
タイマ111によって計測されている時間が、パラメータ7に設定された時間になった場合、列のパラメータ2に示す値がカウントアップされ、タイマ111がリセットされる。アクセスが行われていない状態が続いた場合、この処理が繰り返される。一方、アクセスが行われた場合、パラメータ2の値がリセットされる。そして、パラメータ2の値とパラメータ6の値とが比較部114にて比較される。なお、この方法に限らず、上位概念的にパラメータ6の値とパラメータ7の値とを乗じた値を第2の経過時間とし、タイマ111によって計測されている時間と第2の経過時間とが比較できるものであれば良い。つまり、アクセスが継続して行われていない時間と、あらかじめ設定された時間(第2の経過時間)とが比較部114にて比較される。
ステップS9にてアクセスが行われていない時間とあらかじめ設定された第2の経過時間とが一致していない場合、ステップS6の処理が行われる。
一方、ステップS9にてアクセスが行われていない時間とあらかじめ設定された第2の経過時間とが一致した場合、当該列のデータが移動部115によってメモリ120から読み出され、外部記憶装置200に格納される(ステップS10)。このとき、当該列のデータは、メモリ120から消去(削除)される。つまり、当該列のデータがメモリ120から外部記憶装置200へ移動部115によって移動させられる。また、このとき、アクセスが行われていない時間とあらかじめ設定された第2の経過時間とが一致した列が複数存在する場合、カウンタ116によってカウントアップされているパラメータ3の値が小さな(アクセスされた回数が少ない)列から順に移動させられる。つまり、アクセスされた回数に基づいて移動させる優先順位が優先順位設定部117にて設定される。さらに具体的には、アクセスされた回数が多い列ほど、移動させる優先順位が低いものに優先順位設定部117にて設定される。
図8は、列1についてのパラメータ、状態および格納場所の遷移の様子を示す図である。ここでは、システムとしてのパラメータとして、パラメータ5は「3回」、パラメータ6は「6回」、パラメータ7は「15分」と設定されている場合を例に挙げて説明する。
図8に示すように、まず、初期状態(0分後)では、列1のデータは非圧縮の状態で物理メモリ(メモリ120)に格納されており、パラメータ2およびパラメータ3の値は「0回」である。
15分後までにアクセスがない場合、15分後のパラメータ2の値が「1回」となる。
その後、17分後に列1にアクセスが行われた場合、パラメータ2の値がリセットされ、初期値「0回」となる。また、パラメータ3の値が「1回」となる。
30分後までにアクセスがない場合、30分後のパラメータ2の値は「1回」となる。
さらに、45分後までにアクセスがない場合、45分後のパラメータ2の値は「2回」となる。
また、60分後までにアクセスがない場合、60分後のパラメータ2の値は「3回」となる。ここでパラメータ2の値とパラメータ5の値とが一致するため、列1のデータが圧縮部113にて圧縮され、メモリ120に格納される。
その後、75分後までにアクセスがない場合、75分後のパラメータ2の値は「4回」となる。
また、90分後までにアクセスがない場合、90分後のパラメータ2の値は「5回」となる。
さらに、105分後までにアクセスがない場合、105分後のパラメータ2の値は「6回」となる。ここでパラメータ2の値とパラメータ6の値とが一致するため、列1のデータが移動部115によってメモリ120から外部記憶装置200へ移動させられる。
その後、120分後までにアクセスがない場合、120分後のパラメータ2の値は「7回」となる。
以下に、各状態にある列に対するアクセスについて説明する。
まずは、非圧縮状態でメモリ120上にある列へアクセスする場合について説明する。
非圧縮状態で物理メモリ上にある列へアクセスする場合、通常のデータ処理を実行する。
次に、圧縮状態でメモリ120上にある列へアクセスする場合について説明する。
圧縮状態にある列へアクセスする場合、圧縮部113によって非圧縮状態への変換処理を行った後にアクセス処理を行う。このとき、非圧縮状態への変換処理に際して必要な物理メモリ量がメモリ120上に確保できない場合、圧縮状態にある列のうち、パラメータ2の大きな列から順に外部記憶装置200へ移動させることで圧縮処理に必要な物理メモリを確保する。
次に、圧縮状態で外部記憶装置200にある列へアクセスする場合について説明する。
圧縮状態で外部記憶装置200上にある列へアクセスする場合、以下の(1)〜(3)の手順をとる。
(1)圧縮状態のままメモリ120上に移す。外部記憶装置200からは削除する。
該当列をメモリ120に移すことで、メモリ120上のデータ量がメモリDBに割り当てられたメモリ量のパラメータ10を超過する場合は、メモリ120上の列の中で、パラメータ2の値が最も大きな列を外部記憶装置200へ移し、メモリ120から削除することでメモリ120を確保する。
(2)メモリ120上で圧縮状態から非圧縮状態へ変換処理を行う。
非圧縮状態への変換処理に際して必要な物理メモリ量がメモリ120上で確保できない場合、圧縮状態にある列のうち、パラメータ2の大きな列から順に外部記憶装置200へ移すことで圧縮処理に必要な容量をメモリ120上で確保する。
(3)データ処理を行う。
次に、高速アクセスが不要であるとパラメータ1を設定され、非圧縮状態で外部記憶装置200にある列へアクセスする場合について説明する。
高速アクセスが不要な列の場合は、外部記憶装置200上のままデータ処理を実行する。このパラメータ1で高速アクセスが不要であると設定された列のパラメータ2およびパラメータ3は、本発明の管理対象外とし、初期値のまま固定するか、高速アクセスが必要と設定された列と同様にパラメータ2およびパラメータ3を変化するかは規定しない。
次に、パラメータ3がパラメータ8に到達した場合のパラメータ3のスケールダウンの処理について説明する。
図9は、パラメータ3がパラメータ8に到達した場合のパラメータ3のスケールダウンの様子を示す図である。ここでは、パラメータ8に「1000回」、パラメータ9に「100分の1」が設定されている場合を例に挙げて説明する。
図9に示すように、パラメータ3が「1000回」未満である場合、各列のパラメータ3は各列にアクセスが行われる度にカウンタ116によってカウントアップされる。その後、列のうちパラメータ3の値がパラメータ8に設定されている上限値になった際、各列のパラメータ3の値がパラメータ9に設定されている割合でスケールダウンされる。
次に、列に対する検索処理が要求された際の処理について説明する。
図10は、列に対する検索処理が要求された際の処理を説明するためのフローチャートである。
まず、検索処理が要求された検索対象列がメモリ120上にあるかどうかが判別される(ステップS11)。
検索対象列がメモリ120上にあると判別された場合、当該検索対象列が非圧縮状態であるかどうかが判別される(ステップS12)。
当該検索対象列が非圧縮状態であると判別された場合、当該列全体を解凍する(非圧縮状態に変換する)方が実データの範囲のみを解凍するよりも短時間で済むかどうかが判別される(ステップS13)。
当該列全体を解凍する(非圧縮状態に変換する)方が実データの範囲のみを解凍するよりも短時間で済まないと判別された場合、実データの範囲が特定され(ステップS14)、特定された実データの範囲が解凍される(ステップS15)。
そして、解凍されたデータに検索処理が行われる(ステップS16)。
また、ステップS13にて、当該列全体を解凍する(非圧縮状態に変換する)方が実データの範囲のみを解凍するよりも短時間で済むと判別された場合、当該列全体が解凍され(ステップS17)、ステップS16にて検索処理が行われる。
一方、ステップS11にて、検索対象列がメモリ120上にないと判別された場合、検索対象列が圧縮状態であるかどうかが判別される(ステップS18)。
ステップS18にて、検索対象列が圧縮状態であると判別された場合、当該列のデータが外部記憶装置200からメモリ120へ移動させられ(ステップS19)、ステップS13の処理が行われる。
また、ステップS18にて、検索対象列が圧縮状態ではないと判別された場合は、そのまま外部記憶装置200上でステップS16にて検索処理が行われる。
ステップS14の処理において、解凍(非圧縮状態に)する実データの範囲を特定する処理について説明する。
図11は、昇順で格納された列データの一例を示す図である。また、図12は、解凍(非圧縮状態に)する実データの範囲を特定する処理を説明するためのフローチャートである。
図11に示すように、列のデータを昇順で格納する内部構造を取り、非圧縮化状態にする範囲を特定するためのパラメータを付与する。これを用いて、解凍(非圧縮状態に)する実データの範囲を特定する。
まず、非圧縮化開始位置が特定される(ステップS21)。ここでは、開始位置が検索値以下の最も大きな検索キーとなる。
そして、非圧縮化終了位置が特定される(ステップS22)。ここでは、開始位置が検索値以上の最も小さな検索キーとなる。
このように本発明においては、以下の効果を奏する。
第1の効果は、より多くのデータを物理メモリ上に配置することができることである。
その理由は、メモリ120にある列で、一定期間アクセスされない列を圧縮状態に変換するためである。
第2の効果は、一定期間アクセスされない列に対するアクセス時間を短縮することができることである。
その理由は、本発明では、非圧縮状態のデータを外部記憶装置200からメモリ120に移すディスクI/Oの時間よりも十分高速な圧縮化、非圧縮化アルゴリズムを採用するためである。
第3の効果は、ディスクI/Oを減少させることができることである。
その理由は、本発明では、メモリ120と外部記憶装置200との間を通る列のデータを圧縮状態とするためである。
第4の効果は、同じ期間アクセスされていない列に対して圧縮状態に変換、外部記憶装置200へ移す際の優先順位付けができることである。
その理由は、本発明ではアクセス数のカウンタを用いるためであり、本発明ではある列のアクセス数のカウンタが上限値に到達すると、全ての列のカウンタ値を一定の割合でスケールダウンさせる。これにより、カウンタの値が過去のアクセスの傾向を考慮しつつ、最近のアクセス傾向に重みを持つためである。
第5の効果は、圧縮状態にある列に対して検索処理が要求された場合、列の全体を非圧縮状態に移すのではなく、該当情報が含まれる限定された範囲のみを非圧縮状態に移すことにより、列全体を非圧縮状態に移す場合に比べ、検索要求に対する応答時間を短縮化できることである。
その理由は、列のデータを図12のような昇順で格納する内部構造を取り、非圧縮化状態にする範囲を特定するためのパラメータを付与したためである。
なお、上述した情報処理装置100の処理は、目的に応じて作製された論理回路で行うようにしても良い。また、処理内容を手順として記述したプログラムを情報処理装置100にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを情報処理装置100に読み込ませ、実行するものであっても良い。情報処理装置100にて読取可能な記録媒体とは、フロッピーディスク(登録商標)、光磁気ディスク、DVD、CDなどの移設可能な記録媒体の他、情報処理装置100に内蔵されたROM、RAM等のメモリやHDD等を指す。この記録媒体に記録されたプログラムは情報処理装置100内の制御部110にて読み込まれ、制御部110の制御によって、上述したものと同様の処理が行われる。ここで、制御部110は、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
100 情報処理装置
110 制御部
111 タイマ
112,114 比較部
113 圧縮部
115 移動部
116 カウンタ
117 優先順位設定部
120 メモリ
200 外部記憶装置

Claims (21)

  1. データを格納する外部記憶装置と、該外部記憶装置と接続され、該外部記憶装置へのアクセスよりも高速にアクセス可能であるメモリを具備する情報処理装置とから構成された情報処理システムにおいて、
    前記情報処理装置は、前記データを所定の単位のグループに分割して前記メモリに格納し、前記メモリに格納されている前記グループへのアクセスが継続して行われない時間とあらかじめ設定された第1の経過時間とが一致した場合、該グループを圧縮して前記メモリに格納し、その後、前記グループへのアクセスが継続して行われない時間とあらかじめ設定された第2の経過時間とが一致した場合、該グループを前記外部記憶装置へ移動させることを特徴とする情報処理システム。
  2. 請求項1に記載の情報処理システムにおいて、
    前記情報処理装置は、前記メモリに格納されている前記グループがアクセスされた回数をカウントし、前記圧縮するグループが複数存在する場合、前記回数に基づいて前記グループの圧縮する優先順位を設定することを特徴とする情報処理システム。
  3. 請求項2に記載の情報処理システムにおいて、
    前記情報処理装置は、前記回数が多いほど前記優先順位を低く設定することを特徴とする情報処理システム。
  4. 請求項1に記載の情報処理システムにおいて、
    前記情報処理装置は、前記メモリに格納されている前記グループがアクセスされた回数をカウントし、前記外部記憶装置へ移動させるグループが複数存在する場合、前記回数に基づいて前記外部記憶装置へ移動させるグループの優先順位を設定することを特徴とする情報処理システム。
  5. 請求項4に記載の情報処理システムにおいて、
    前記情報処理装置は、前記回数が多いほど前記優先順位を低く設定することを特徴とする情報処理システム。
  6. データを格納する外部記憶装置と接続された情報処理装置であって、
    前記外部記憶装置へのアクセスよりも高速にアクセス可能であり、前記データを所定の単位のグループに分割して格納するメモリと、
    前記メモリに格納されている前記グループへのアクセスが継続して行われない時間を計測し、前記計測した時間とあらかじめ設定された第1の経過時間とが一致した場合、該グループを圧縮して前記メモリに格納し、その後、前記計測した時間とあらかじめ設定された第2の経過時間とが一致した場合、該グループを前記外部記憶装置へ移動させる制御部とを有する情報処理装置。
  7. 請求項6に記載の情報処理装置において、
    前記制御部は、
    前記メモリに格納されている前記グループへのアクセスが継続して行われない時間を計測するタイマと、
    前記タイマが計測した時間と前記1の経過時間とを比較する第1の比較部と、
    前記第1の比較部における比較の結果、前記タイマが計測した時間と前記第1の経過時間とが一致した場合、該グループを圧縮して前記メモリに格納する圧縮部と、
    その後、前記タイマが計測した時間と前記第2の経過時間とを比較する第2の比較部と、
    前記第2の比較部における比較の結果、前記タイマが計測した時間と前記第2の経過時間とが一致した場合、該グループを前記外部記憶装置へ移動させる移動部とを有することを特徴とする情報処理装置。
  8. 請求項7に記載の情報処理装置において、
    前記制御部は、
    前記メモリに格納されている前記グループがアクセスされた回数をカウントするカウンタと、
    前記圧縮するグループが複数存在する場合、前記回数に基づいて前記グループの圧縮する優先順位を設定する優先順位設定部とを有することを特徴とする情報処理装置。
  9. 請求項8に記載の情報処理装置において、
    前記優先順位設定部は、前記回数が多いほど前記優先順位を低く設定することを特徴とする情報処理装置。
  10. 請求項7に記載の情報処理装置において、
    前記制御部は、
    前記メモリに格納されている前記グループがアクセスされた回数をカウントするカウンタと、
    前記外部記憶装置へ移動させるグループが複数存在する場合、前記回数に基づいて前記外部記憶装置へ移動させるグループの優先順位を設定する優先順位設定部とを有することを特徴とする情報処理装置。
  11. 請求項10に記載の情報処理装置において、
    前記優先順位設定部は、前記回数が多いほど前記優先順位を低く設定することを特徴とする情報処理装置。
  12. 第1の記憶部と、該第1の記憶部へのアクセスよりも高速にアクセス可能な第2の記憶部とに、データを所定の単位のグループに分割して格納するデータ格納方法であって、
    前記第2の記憶部に格納されている前記グループへのアクセスが継続して行われない時間を計測する処理と、
    前記計測した時間とあらかじめ設定された第1の経過時間とを比較する第1の比較処理と、
    前記第1の比較処理の結果、前記計測した時間と前記第1の経過時間とが一致した場合、該グループを圧縮して前記第2の記憶部に格納する処理と、
    その後、前記計測した時間とあらかじめ設定された第2の経過時間とを比較する第2の比較処理と、
    前記第2の比較処理の結果、前記計測した時間と前記第2の経過時間とが一致した場合、該グループを前記第1の記憶部へ移動させる処理とを有するデータ格納方法。
  13. 請求項12に記載のデータ格納方法において、
    前記第2の記憶部に格納されている前記グループがアクセスされた回数をカウントする処理と、
    前記圧縮するグループが複数存在する場合、前記回数に基づいて前記グループの圧縮する優先順位を設定する処理とを有することを特徴とするデータ格納方法。
  14. 請求項13に記載のデータ格納方法において、
    前記回数が多いほど前記優先順位を低く設定する処理を有することを特徴とするデータ格納方法。
  15. 請求項12に記載のデータ格納方法において、
    前記第2の記憶部に格納されている前記グループがアクセスされた回数をカウントする処理と、
    前記第1の記憶部へ移動させるグループが複数存在する場合、前記回数に基づいて前記第1の記憶部へ移動させるグループの優先順位を設定する処理とを有することを特徴とするデータ格納方法。
  16. 請求項15に記載のデータ格納方法において、
    前記回数が多いほど前記優先順位を低く設定する処理を有することを特徴とするデータ格納方法。
  17. データを格納する外部記憶装置と接続され、前記外部記憶装置へのアクセスよりも高速にアクセス可能なメモリを有する情報処理装置に、
    前記データを所定の単位のグループに分割して前記メモリに格納する手順と、
    前記メモリに格納されている前記グループへのアクセスが継続して行われない時間を計測する手順と、
    前記計測した時間とあらかじめ設定された第1の経過時間とを比較する第1の比較手順と、
    前記第1の比較手順の結果、前記計測した時間と前記第1の経過時間とが一致した場合、該グループを圧縮して前記メモリに格納する手順と、
    その後、前記計測した時間とあらかじめ設定された第2の経過時間とを比較する第2の比較手順と、
    前記第2の比較手順の結果、前記計測した時間と前記第2の経過時間とが一致した場合、該グループを前記外部記憶装置へ移動させる手順とを実行させるためのプログラム。
  18. 請求項17に記載のプログラムにおいて、
    前記メモリに格納されている前記グループがアクセスされた回数をカウントする手順と、
    前記圧縮するグループが複数存在する場合、前記回数に基づいて前記グループの圧縮する優先順位を設定する手順とを実行させるためのプログラム。
  19. 請求項18に記載のプログラムにおいて、
    前記回数が多いほど前記優先順位を低く設定する手順を実行させるためのプログラム。
  20. 請求項17に記載のプログラムにおいて、
    前記メモリに格納されている前記グループがアクセスされた回数をカウントする手順と、
    前記外部記憶装置へ移動させるグループが複数存在する場合、前記回数に基づいて前記外部記憶装置へ移動させるグループの優先順位を設定する手順とを実行させるためのプログラム。
  21. 請求項20に記載のプログラムにおいて、
    前記回数が多いほど前記優先順位を低く設定する手順を実行させるためのプログラム。
JP2009024831A 2009-02-05 2009-02-05 情報処理システム、情報処理装置、データ格納方法およびプログラム Expired - Fee Related JP5540516B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009024831A JP5540516B2 (ja) 2009-02-05 2009-02-05 情報処理システム、情報処理装置、データ格納方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009024831A JP5540516B2 (ja) 2009-02-05 2009-02-05 情報処理システム、情報処理装置、データ格納方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2010182075A true JP2010182075A (ja) 2010-08-19
JP5540516B2 JP5540516B2 (ja) 2014-07-02

Family

ID=42763630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009024831A Expired - Fee Related JP5540516B2 (ja) 2009-02-05 2009-02-05 情報処理システム、情報処理装置、データ格納方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5540516B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573213A (ja) * 1991-09-12 1993-03-26 Hitachi Ltd 外部記憶装置システム
JP2000029756A (ja) * 1998-07-13 2000-01-28 Nec Corp ファイル圧縮管理方式
JP2000200205A (ja) * 1999-01-06 2000-07-18 Sony Corp ファイルの選択方法及び装置
JP2007102688A (ja) * 2005-10-07 2007-04-19 Megachips Lsi Solutions Inc データ自動消去可能な記憶装置
JP2008102590A (ja) * 2006-10-17 2008-05-01 Hitachi Ltd ストレージシステムの運用管理方法およびストレージシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573213A (ja) * 1991-09-12 1993-03-26 Hitachi Ltd 外部記憶装置システム
JP2000029756A (ja) * 1998-07-13 2000-01-28 Nec Corp ファイル圧縮管理方式
JP2000200205A (ja) * 1999-01-06 2000-07-18 Sony Corp ファイルの選択方法及び装置
JP2007102688A (ja) * 2005-10-07 2007-04-19 Megachips Lsi Solutions Inc データ自動消去可能な記憶装置
JP2008102590A (ja) * 2006-10-17 2008-05-01 Hitachi Ltd ストレージシステムの運用管理方法およびストレージシステム

Also Published As

Publication number Publication date
JP5540516B2 (ja) 2014-07-02

Similar Documents

Publication Publication Date Title
KR101505263B1 (ko) 데이터 중복 제거 방법 및 장치
KR101824612B1 (ko) 플래시 메모리 압축
CN110799959A (zh) 一种数据压缩方法与解压方法以及相关设备
CN107465413B (zh) 一种自适应数据压缩系统及其方法
CN109802684B (zh) 进行数据压缩的方法和装置
CN107122126B (zh) 数据的迁移方法、装置和系统
JP5699715B2 (ja) データ保存装置、データ保存方法
JP2018073261A (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
CN106897026B (zh) 非易失性存储器装置及其地址分类方法
CN106020717B (zh) 数据处理方法及电子设备
US20140181332A1 (en) Monitoring Record Management Method and Device
KR20150035876A (ko) 데이터 중복 제거 방법 및 장치
KR101842420B1 (ko) 정보 처리 장치 및 데이터 관리 방법
TWI652570B (zh) 非依電性記憶體裝置及其位址分類方法
WO2021243531A1 (zh) 数据压缩方法、装置、电子设备及存储介质
CN103176753B (zh) 存储设备及其数据管理方法
JP5540516B2 (ja) 情報処理システム、情報処理装置、データ格納方法およびプログラム
CN112269530A (zh) 一种数据存储管理方法及相关装置
CN107783990B (zh) 一种数据压缩方法及终端
CN100520728C (zh) 采用位映像表算法处理存储设备快照的方法
CN113641305B (zh) 固态硬盘的垃圾回收方法、装置、电子设备及存储介质
JP7404734B2 (ja) データ圧縮装置、履歴情報管理システム、データ圧縮方法およびデータ圧縮プログラム
Dias et al. Nosql database performance tuning for iot data
KR101693687B1 (ko) 데이터베이스의 컬럼 단위 압축 방법
US20240111713A1 (en) File Management Method and Apparatus, Device, and System

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140311

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140421

R150 Certificate of patent or registration of utility model

Ref document number: 5540516

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees