JP5061741B2 - 情報処理装置及びそれに用いる順序付きデータ管理方法並びにそのプログラム - Google Patents

情報処理装置及びそれに用いる順序付きデータ管理方法並びにそのプログラム Download PDF

Info

Publication number
JP5061741B2
JP5061741B2 JP2007155808A JP2007155808A JP5061741B2 JP 5061741 B2 JP5061741 B2 JP 5061741B2 JP 2007155808 A JP2007155808 A JP 2007155808A JP 2007155808 A JP2007155808 A JP 2007155808A JP 5061741 B2 JP5061741 B2 JP 5061741B2
Authority
JP
Japan
Prior art keywords
data
index
key
information processing
processing apparatus
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
JP2007155808A
Other languages
English (en)
Other versions
JP2008310455A (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.)
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 JP2007155808A priority Critical patent/JP5061741B2/ja
Priority to US12/601,496 priority patent/US8055819B2/en
Priority to PCT/JP2008/059894 priority patent/WO2008152918A1/ja
Priority to EP08764863A priority patent/EP2159698A4/en
Priority to KR1020107000355A priority patent/KR101126420B1/ko
Priority to CN2008800166442A priority patent/CN101681291B/zh
Publication of JP2008310455A publication Critical patent/JP2008310455A/ja
Application granted granted Critical
Publication of JP5061741B2 publication Critical patent/JP5061741B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Description

本発明は情報処理装置及びそれに用いる順序付きデータ管理方法並びにそのプログラムに関し、特に情報機器や通信装置等の情報処理装置に用いられる順序付きデータ管理方法に関する。
情報機器や通信装置の内部で、データのバッファリングのための一時保存用データ領域は、通常はFIFO(Fast−In Fast−Out)またはFILO(First−In Last−Out)のデータ構造として実装されている。
一方、多重化機能を有する通信装置における、遅延の抑制と最適負荷分散の両立を目標とするパケットスケジューリング機構においては、データの入出力がFIFOまたはFILO以外の順序関係で行われる。ここで、一時的なデータ保管領域としては、各経路の輻輳状態に基づいて決まるデータサイズのオフセット分だけキューの先頭からずれたデータを取り出す操作が要求される。この技術については、本願出願人から提案されている。
順序付きデータを管理する方式としては、リスト構造や配列構造が知られている。これらのデータ構造では、任意のキーに対応するデータにアクセスする際に、キーに対応する要素の検索が必要である。尚、データの管理方法としては、データを受取った順にファイルに保存したり、時系列情報のデータを格納したりする方法が、下記の特許文献に記載の技術で提案されている。
特開平08−153077号公報
しかしながら、本発明に関連する順序付きデータ管理方式である行列構造やリスト構造においては、キーに対応する要素の検索が必要である。ハッシュ法等、キーから対応する要素を高速に検索する技術は存在するが、この技術は、例えばメタデータの先頭データからの合計値のように、要素の削除や挿入によって動的に変化するキーを用いる場合に対して容易に適用することができない。
また、動的に変化するキーと要素との関係を常に正しく保つためには、データの削除や挿入等の操作の後に、この操作によって更新が必要となる要素のキーを再設定する必要がある。例えば、先頭要素からのメタデータ合計値をキーとする場合、データ削除後にはそのデータ以降の要素全てのメタデータ合計値が変化するので、削除した要素から末尾要素までの全ての要素につきキーの再設定が必要となる。この再設定を要する要素数が大きくなると、再設定処理に時間がかかるという問題がある。
このように、あるデータへの削除、変更、または新規データ追加等の操作の際に、他のデータのキー値が動的に変化する場合には、ハッシュ法等のキーから対応データの所在を高速に導出する技術も適用することができず、所望のデータへのアクセスに時間がかかるという問題がある。
この問題は、例えばデータサイズのようなメタデータにおいて、先頭データからの合計値等をキーとした場合に生じる。また、配列構造では、データを削除する場合や新規データを末尾以外に追加する際、削除または追加が発生する要素以降の全要素のインデックスを変更しなければならず、配列の要素数が大きい場合には大きな回数の代入操作または大容量のメモリシフト処理が必要となるという問題がある。
そこで、本発明の目的は上記の問題点を解消し、メタデータの合計値をキーとした要素の参照を高速に行うことができる情報処理装置及びそれに用いる順序付きデータ管理方法並びにそのプログラムを提供することにある。
本発明による情報処理装置は、少なくとも行列構造及びリスト構造において、要素の削除及び挿入にて動的に変化するメタデータの先頭要素からの合計値をキーとして、当該キーに対応する要素の検索を行うことで順序の決まったデータ列を管理する情報処理装置であって、
前記要素への参照を前記キーに関連付けられたインデックスの要素に格納する指示配列と、前記指示配列の任意のインデックスの範囲内の要素が参照する全てのデータのキーを同量だけ変化させる場合にその変化量に対応するインデックス数だけ前記指示配列の範囲内のメモリ内容をシフトする手段とを備え
前記キーが最初のデータから当該データまでの各データに対応するメタデータの和またはその関数であることを特徴とする。
本発明による順序付きデータ管理方法は、少なくとも行列構造及びリスト構造において、要素の削除及び挿入にて動的に変化するメタデータの先頭要素からの合計値をキーとして、当該キーに対応する要素の検索を行うことで順序の決まったデータ列を管理する情報処理装置に用いる順序付きデータ管理方法であって、
前記情報処理装置に、前記要素への参照を前記キーに関連付けられたインデックスの要素に格納する指示配列を設け、
前記情報処理装置が、前記指示配列の任意のインデックスの範囲内の要素が参照する全てのデータのキーを同量だけ変化させる場合にその変化量に対応するインデックス数だけ前記指示配列の範囲内のメモリ内容をシフトする処理を実行し、
前記キーが最初のデータから当該データまでの各データに対応するメタデータの和またはその関数であることを特徴とする
本発明によるプログラムは、少なくとも行列構造及びリスト構造において、要素の削除及び挿入にて動的に変化するメタデータの先頭要素からの合計値をキーとして、当該キーに対応する要素の検索を行うことで順序の決まったデータ列を管理する情報処理装置内においてプロセッサに実行させるプログラムであって、
前記情報処理装置に、前記要素への参照を前記キーに関連付けられたインデックスの要素に格納する指示配列を設け、
前記指示配列の任意のインデックスの範囲内の要素が参照する全てのデータのキーを同量だけ変化させる場合にその変化量に対応するインデックス数だけ前記指示配列の範囲内のメモリ内容をシフトする処理を含み、
前記キーが最初のデータから当該データまでの各データに対応するメタデータの和またはその関数であることを特徴とする。
本発明は、上記のような構成及び動作とすることで、メタデータの合計値をキーとした要素の参照を高速に行うことができるという効果が得られる。
次に、本発明の実施例について図面を参照して説明する。
図1は本発明の第1の実施例による情報処理装置のプログラム処理部の構成例を示すブロック図である。図1において、プログラム処理部1は、参照データ記憶部2と、CPU(中央処理装置)3と、プログラム記憶部4と、入力端子11と、出力端子12とを備え、通信バス100を介してメモリ5に接続されている。プログラム記憶部4はプログラム41を格納している。
図2は図1の参照データ記憶部2及びメモリ5の状態を示す図である。図2において、参照データ記憶部2は、変数として複数の単位格納領域21−0〜21−3と、指示配列22と、一時変数集合23とを含んでいる。単位格納領域21−0〜21−3には、一般に複数の順序付けされたデータ211−a〜211−hが変数として含まれる。
また、一時変数集合23には、順序付けされたデータや指示配列22以外の変数[最後尾メタデータ合計値(TL)231、最後尾データの所属する単位格納領域を指す指示配列インデックス(SL)232]が収容されている。
メモリ5上には、プログラム41の変数である複数のデータ211−a〜211−hに対応する各々別個の領域511−a〜511−hと、指示配列22に対応する連続領域52とが、プログラム41によって通信バス100を介して確保される。
図3は図2の例における各データに対応するメタデータ及びその合計値の例を示す図であり、図4は図2においてデータi追加後の参照データ記憶部2及びメモリ5の状態を示す図であり、図5は図4の例における各データに対応するメタデータ及びその合計値の例を示す図である。
図6は図2においてデータ削除後の参照データ記憶部2及びメモリ5の状態を示す図であり、図7及び図8は図1のプログラム処理部1による順序付きデータの管理処理の動作を示すフローチャートである。これら図1〜図8を参照して本発明の第1の実施例による情報処理装置のプログラム処理部による順序付きデータの管理処理の動作について説明する。尚、図7及び図8に示す処理はCPU3がプログラム41を実行することで実現される。
本発明の第1の実施例は、先頭データから当該データまでの各データに付随するメタデータの合計値をキーとして、高速なデータ参照及びデータ操作を可能とする順序付きデータ管理方法を示している。
個々のデータ211−a〜211−hは、その属性を現すメタデータを伴っており、単位格納領域21−0〜21−3内にあるデータa〜hに対応するメタデータの合計は設定値Sの近傍となるように、各データは単位格納領域21−0〜21−3に割り振られている。
また、一時変数集合23には、末尾の単位格納領域21−3に対応する指示配列のインデックス231と、最初のデータから末尾のデータまでのメタデータ合計値232とが変数として含まれている。
まず、本発明の第1の実施例におけるデータ参照に関する動作について説明する。プログラム処理部1は、入力端子11からあるメタデータ合計値Tに対応するデータへの参照要求を受信すると(図7ステップS1)、指示配列22のT/S番目の要素が指す単位格納領域内にある一部または全てのデータまたはデータへの参照を出力端子12から要求元に返信する(図7ステップS2)。ここで、メタデータとはデータ本体の属性を現すデータのことであり、例えばデータ本体のサイズや欠落ビット数等が挙げられる。
図3には、図2に示す参照データ記憶部2及びメモリ5の状態例における各データに対応するメタデータ及びその合計値の例を示している。ここでは、設定値S=500としている。つまり、メタデータ合計値が500の倍数の近傍となる毎にデータの所属する単位格納領域が変わり、図3において対応する指示配列インデックスが1インクリメントされている。
例えば、メタデータ合計値T=900に対する参照を要求された場合には、
T/S=500/900=1.8
であり、指示配列のインデックスは整数なので、切り捨てて「1」番目か、切り上げまたは四捨五入して「2」番目の要素を参照することとなる。このいずれを採用するかを決定する機構は、本発明の用途等によって異なる実装が可能である。
本実施例では、T/Sの値を切り上げることとし、指示配列の「2」番目の要素(インデックスは「1」)が指す、図2における単位格納領域211−1に含まれるデータd,eのいずれかまたは全てを参照結果として返す。
次に、本発明の第1の実施例におけるデータ構造末尾への新規データ追加時の動作について説明する。プログラム処理部1は、入力端子11からデータiの追加要求を受信すると(図7ステップS3)、データiを追加しても現在の最後尾の単位格納領域21−3のメタデータ合計値が設定値S近傍以内ならば(図7ステップS6)、データiを単位格納領域21−3に追加する(図7ステップS7)。
プログラム処理部1は、データiを追加すると現在の最後尾の単位格納領域21−3のメタデータ合計値が設定値S近傍以内でなければ(図7ステップS6)、新規の単位格納領域を作成する(図7ステップS8)。新規の単位格納領域を作成するか否かの判断機構は、本発明の用途等によって異なる実装が可能である。
ここではデータiのメタデータ値を200とし、新規の単位格納領域を作成しなかった場合のデータi追加後の参照データ記憶部2及びメモリ5の状態を図4に示し、データとメタデータとの関係表を図5に示す。
但し、プログラム処理部1は、以上の作業に先立ち、必要に応じデータiの格納に必要な領域をメモリ5上に確保する必要がある(図7ステップS4)。また、メモリ領域確保に成功した場合、プログラム処理部1はそれまで最後尾だったデータhでのメタデータ合計値にデータiのメタデータ値を加算し、データiに対応するメタデータ合計値を計算し、その結果で最後尾メタデータ合計値(TL)231を更新する(図7ステップS5)。
また、データi追加後の、最後尾データの所属する単位格納領域を指す指示配列インデックス(SL)232も、新たな単位格納領域を追加した場合には、1インクリメントした値に更新する(図7ステップS9)。図4及び図5に示す例では、最後尾メタデータ合計値(TL)231が、
1820+200=2020
に更新され、指示配列インデックス(SL)232はデータi挿入以前と変わらず「3」となる。
次に、本発明の第1の実施例におけるデータ削除時の動作について説明する。プログラム処理部1は、入力端子11からメタデータ合計値Tに対応するデータ削除要求を受信すると(図8ステップS10)、指示配列22のT/S番目の要素が指す単位格納領域と、当該単位格納領域に属するデータとを消去する(図8ステップS11)。
プログラム処理部1は、単位格納領域及び当該単位格納領域に属するデータの消去後に、指示配列22のT/S番目以降のメモリ領域の記憶内容を、指示配列22の1要素分だけ前方にシフトする(図8ステップS12)。
図6には、T=900として、T/S=1.8を切り上げて「2」番目(インデックスは「1」)の指示配列要素が指す単位格納領域21−1及びそれに含まれるデータd,eが消去された状態を示している。単位格納領域21−1及びそれに含まれるデータd,eの消去後に、プログラム処理部1は、図2に示す指示配列22のインデックス「2」以上のメモリ内容を1要素分だけ前方にシフトする。
すると、消去前(図2に示す状態)にインデックス「2」の要素に収納されていた単位格納領域21−2への参照は、単位格納領域21−1及びそれに含まれるデータd,eの消去後に、インデックス「1」の要素に移動し、また消去前にインデックス「3」の要素に収納されていた単位格納領域21−3への参照は、単位格納領域21−1及びそれに含まれるデータd,eの消去後に、インデックス「2」の要素に移動する。
このようにして、nまでの全てのインデックスに収納される単位格納領域への参照は、インデックスが「1」だけ減少した要素に移動する。したがって、例えば、この後にT=900の参照要求を受信した場合には、データfをリターンすることとなる。各単位格納領域21−0〜21−3に属するデータの要領は設定値Sに量子化されているので、指示配列22のインデックス「1」だけのシフトによって、対応するメタデータ合計値の減算相当の更新が自動的に行われる。
このように、本実施例では、指示配列22のインデックスがメタデータ合計値の関数となっているので、メタデータ合計値に対応するインデックスの検索が不要であるため、メタデータの合計値をキーとした要素の参照を高速に行うことができる。
また、本実施例では、各要素につき、消去済み要素のメタデータ分だけメタデータ合計値を減算する処理を行う必要がなく、単一のメモリシフト処理のみでメタデータ合計値の更新を実現しているので、要素の消去後の各データのメタデータ合計値の更新を高速に行うことができる。
図9は本発明の第2の実施例による参照データ記憶部及びメモリの状態を示す図である。本発明の第2の実施例による情報処理装置のプログラム処理部は、上記の図1に示す本発明の第1の実施例による情報処理装置のプログラム処理部と同様の構成となっているが、参照データ記憶部及びメモリの状態が異なっている。
すなわち、上記の本発明の第1の実施例では、データ除去時のメタデータ合計値の更新が設定値Sを単位として行われるのに対し、必ずしもデータを設定値Sの整数倍毎に単位格納領域を構成できるわけではないので、実際に除去されるデータ量と設定値Sとの間には誤差がある。その結果、データ参照時に入力するTと、リターンされるデータに対応するメタデータ合計の実際の値との間にも誤差が生じる。本発明の第2の実施例は、この誤差を一定以下に抑える例を示している。
図9を参照すると、本実施例は、指示配列22をインデックス指示配列22Aと、データ指示配列22Bとに分割している点で、上記の本発明の第1の実施例と異なっている。
データ指示配列22Bの各要素には、本発明の第1の実施例の指示配列22と同様に、単位格納領域21−0〜21−3への参照が格納される。一方、インデックス指示配列22Aの各要素には、参照すべきデータ指示配列22Bのインデックスが格納される。単位格納領域21−0〜21−3内の要素のメタデータの合計は、設定値Sの整数倍近傍に量子化され、かつ実際のメタデータ合計と、設定値Sの整数倍との比が別の誤差設定値R以下になるようにする。
図10は図9においてデータ削除後の参照データ記憶部2及びメモリ5の状態を示す図であり、図11及び図12は本発明の第2の実施例によるプログラム処理部1による順序付きデータの管理処理の動作を示すフローチャートである。これら図9〜図12を参照して本発明の第2の実施例による情報処理装置のプログラム処理部による順序付きデータの管理処理の動作について説明する。
尚、図11及び図12に示す処理はCPU3がプログラム41を実行することで実現される。また、図11のステップS21〜S25,S27〜S29の処理及び図12のステップS30の処理は、上述した図7のステップS1〜S5,S7〜S9の処理及び図8のステップS10の処理と同様であるので、その説明については省略する。
本実施例においては、データ追加時に新たな単位格納領域を生成するか否かの判断において、追加データを指示配列インデックス(SL)232に加える前の状態で、指示配列インデックス(SL)232内のメタデータ合計値TSLと、メタデータ合計値TSLに最も近い設定値Sの整数倍の比が誤差設定値R以下ならば(図11ステップS26)、新たな単位格納領域を生成することとする(図11ステップS28)。この条件は、メタデータ合計値TSLがS/R以上であれば常に成り立つ。
一方、データ削除時に、プログラム処理部1は、削除要求を受けたメタデータ合計値Tに対して、インデックス指示配列22AのT/S番目の要素をインデックスとするデータ指示配列22Bの要素の指す単位格納領域とそこに含まれるデータとを消去する(図12ステップS31)。
また、プログラム処理部1は、T/Sの値をとるインデックス指示配列22Aの要素全てを消去し、インデックス指示配列22Aの消去した最大のインデックス以上に対応するメモリ領域の内容を、消去した要素数分だけ前方にシフトする(図12ステップS32)。
図3に示すデータが格納されている状態から、S=125,R=0.25としてT=900の削除要求に対応した後の状態を図10に示す。図10では、T/Sを切り上げて「8」番目のインデックス指示配列22Aの要素「1」をインデックスとするデータ指示配列22Bの要素が指す単位格納領域21−1とそこに含まれていたデータd,eが消去される。
また、値「1」をとるインデックス指示配列22Aのインデックス「5」から「8」までの要素が消去されている。さらに、インデックス指示配列22Aのメモリ領域の消去前にインデックス「9」以降に対応していた部分が、消去した要素数4個分だけ前方シフトしている。
結果として、「null」参照となったデータ指示配列22Bのインデックス「1」の要素は、以降の新たな単位格納領域生成の際に参照を格納する変数として用いることができる。尚、最後の要素SLのメタデータ合計値TSLと、メタデータ合計値TSLに最も近い設定値Sの整数倍との比が誤差設定値Rより大きい場合、要素SLがデータ指示配列22Bで唯一の非null要素である場合以外には、削除要求に応じないこととする。
このように、本実施例では、メタデータ合計値Tに対応するデータの参照要求を受けると、プログラム処理部1がインデックス指示配列22AのT/S番目の要素をインデックスとするデータ指示配列22Bの要素の指す単位格納領域に含まれるデータをリターンする。
本実施例では、単位格納領域の追加及び削除の際に、当該単位格納領域に含まれるメタデータ合計値と、データ指示配列のインデックスとなるT/Sとの比が誤差設定値R以下に保たれるため、これらの操作を繰り返した後の参照要求に対しても、リターンしたデータのメタデータ合計値との誤差が誤差設定値R以下に保たれる。
すなわち、本発明による情報機器や通信装置等の情報処理装置では、データ本体とは別にデータへの参照の行列である参照行列(指示配列22)を1個以上有し、各参照行列のインデックスをデータの検索キーに関連付け、参照行列の任意のインデックス範囲内の要素が参照するデータ全てのキーを同量だけ変化させる場合、変化量に対応するインデックス数だけ指示配列の範囲内のメモリ内容をシフトしている。
本発明の情報処理装置では、管理対象となる順序付きデータそのものとは別に、管理対象データへの参照の行列である参照行列を用意する。ここで、参照とは、他のデータへのアクセスを提供するデータのことであり、メモリアドレス値やポインタ等が該当する。また、本発明では、参照行列のインデックスと、格納するデータのキーとの対応を定義しておく。例えば、インデックス=キー値とする。
本発明の情報処理装置では、管理対象データ各々について、その参照を、参照行列の当該データのキーに対応するインデックスの要素に格納する。任意のキーに対応するデータへのアクセスは、参照行列の当該キーに対応するインデックスの要素に格納されている参照を介して行う。
本発明の情報処理装置では、キーに対応する要素の検索が不要であるため、任意のキーに対応するデータへの高速アクセスが可能である。ある要素の削除、キー値変更、新要素の追加、または要素間のデータ入れ替え等によって、参照行列のあるインデックス範囲内の要素が参照するデータ全てのキーを同量だけ変化させる必要が生じた場合、本発明の情報処理装置では、変化量に対応するインデックス数だけ指示配列の範囲内のメモリ内容をシフトしている。
これによって、本発明の情報処理装置では、各データのキー値の変更と等価な変更が実現される。これは要素数に関わらず1回の処理であり、また参照行列はデータ本体ではなく、一般にサイズが限定される参照の行列であるため、データ本体のメモリシフトに比べて小容量のメモリシフトで済む。このため、本発明の情報処理装置では、本発明に関連する配列構造におけるインデックス変更よりも高速に実行可能である。
本発明の第1の実施例による情報処理装置のプログラム処理部の構成例を示すブロック図である。 図1の参照データ記憶部及びメモリの状態を示す図である。 図2の例における各データに対応するメタデータ及びその合計値の例を示す図である。 図2においてデータ追加後の参照データ記憶部及びメモリの状態を示す図である。 図4の例における各データに対応するメタデータ及びその合計値の例を示す図である。 図2においてデータ削除後の参照データ記憶部及びメモリの状態を示す図である。 図1のプログラム処理部による順序付きデータの管理処理の動作を示すフローチャートである。 図1のプログラム処理部による順序付きデータの管理処理の動作を示すフローチャートである。 本発明の第2の実施例による参照データ記憶部及びメモリの状態を示す図である。 図9においてデータ削除後の参照データ記憶部及びメモリの状態を示す図である。 本発明の第2の実施例によるプログラム処理部による順序付きデータの管理処理の動作を示すフローチャートである。 本発明の第2の実施例によるプログラム処理部による順序付きデータの管理処理の動作を示すフローチャートである。
符号の説明
1 プログラム処理部
2 参照データ記憶部
3 CPU
4 プログラム記憶部
5 メモリ
11 入力端子
12 出力端子
21−0〜21−3 単位格納領域
22 指示配列
22A インデックス指示配列
22B データ指示配列
23 一時変数集合
41 プログラム
52 連続領域
100 通信バス
211−a〜211−h データ
231 最後尾メタデータ合計値(TL)
232 指示配列インデックス(SL)
511−a〜511−h 領域

Claims (13)

  1. 少なくとも行列構造及びリスト構造において、要素の削除及び挿入にて動的に変化するメタデータの先頭要素からの合計値をキーとして、当該キーに対応する要素の検索を行うことで順序の決まったデータ列を管理する情報処理装置であって、
    前記要素への参照を前記キーに関連付けられたインデックスの要素に格納する指示配列と、前記指示配列の任意のインデックスの範囲内の要素が参照する全てのデータのキーを同量だけ変化させる場合にその変化量に対応するインデックス数だけ前記指示配列の範囲内のメモリ内容をシフトする手段とを有し、
    前記キーが最初のデータから当該データまでの各データに対応するメタデータの和またはその関数であることを特徴とする情報処理装置。
  2. 前記指示配列のインデックスの関連付けが、前記キーの範囲と前記指示配列のインデックスとが1対1に対応する関係であることを特徴とする請求項1記載の情報処理装置。
  3. 前記指示配列の各インデックスに割り当てられるキーの範囲の幅が、いずれのインデックスに対しても同一であることを特徴とする請求項1または請求項2記載の情報処理装置。
  4. あるデータの削除時に、当該データに対応する指示配列のインデックス範囲だけ、その範囲の直前から先頭、または直後から末尾のメモリ内容をシフトすることを特徴とする請求項1から請求項3のいずれか記載の情報処理装置。
  5. あるデータの挿入時に、当該データの挿入に必要なインデックス数だけ、挿入直前から先頭、または直後から末尾のメモリ内容をシフトすることを特徴とする請求項1から請求項4のいずれか記載の情報処理装置。
  6. あるデータと前記インデックスとの関係において、単一のインデックスに複数のデータが対応する場合、対応するデータが全て揃ってからデータの追加を行い、またあるデータの削除の際にそのデータと同じインデックスに対応するデータ全てを消去することを特徴とする請求項1から請求項5のいずれか記載の情報処理装置。
  7. 少なくとも行列構造及びリスト構造において、要素の削除及び挿入にて動的に変化するメタデータの先頭要素からの合計値をキーとして、当該キーに対応する要素の検索を行うことで順序の決まったデータ列を管理する情報処理装置に用いる順序付きデータ管理方法であって、
    前記情報処理装置に、前記要素への参照を前記キーに関連付けられたインデックスの要素に格納する指示配列を設け、
    前記情報処理装置が、前記指示配列の任意のインデックスの範囲内の要素が参照する全てのデータのキーを同量だけ変化させる場合にその変化量に対応するインデックス数だけ前記指示配列の範囲内のメモリ内容をシフトする処理を実行し、
    前記キーが最初のデータから当該データまでの各データに対応するメタデータの和またはその関数であることを特徴とする順序付きデータ管理方法。
  8. 前記指示配列のインデックスの関連付けが、前記キーの範囲と前記指示配列のインデックスとが1対1に対応する関係であることを特徴とする請求項7記載の順序付きデータ管理方法。
  9. 前記指示配列の各インデックスに割り当てられるキーの範囲の幅が、いずれのインデックスに対しても同一であることを特徴とする請求項7または請求項8記載の順序付きデータ管理方法。
  10. あるデータの削除時に、当該データに対応する指示配列のインデックス範囲だけ、その範囲の直前から先頭、または直後から末尾のメモリ内容をシフトすることを特徴とする請求項7から請求項9のいずれか記載の順序付きデータ管理方法。
  11. あるデータの挿入時に、当該データの挿入に必要なインデックス数だけ、挿入直前から先頭、または直後から末尾のメモリ内容をシフトすることを特徴とする請求項7から請求項10のいずれか記載の順序付きデータ管理方法。
  12. あるデータと前記インデックスとの関係において、単一のインデックスに複数のデータが対応する場合、対応するデータが全て揃ってからデータの追加を行い、またあるデータの削除の際にそのデータと同じインデックスに対応するデータ全てを消去することを特徴とする請求項7から請求項11のいずれか記載の順序付きデータ管理方法。
  13. 少なくとも行列構造及びリスト構造において、要素の削除及び挿入にて動的に変化するメタデータの先頭要素からの合計値をキーとして、当該キーに対応する要素の検索を行うことで順序の決まったデータ列を管理する情報処理装置内においてプロセッサに実行させるプログラムであって、
    前記情報処理装置に、前記要素への参照を前記キーに関連付けられたインデックスの要素に格納する指示配列を設け、
    前記指示配列の任意のインデックスの範囲内の要素が参照する全てのデータのキーを同量だけ変化させる場合にその変化量に対応するインデックス数だけ前記指示配列の範囲内のメモリ内容をシフトする処理を含み、
    前記キーが最初のデータから当該データまでの各データに対応するメタデータの和またはその関数であることを特徴とするプログラム。
JP2007155808A 2007-06-13 2007-06-13 情報処理装置及びそれに用いる順序付きデータ管理方法並びにそのプログラム Active JP5061741B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2007155808A JP5061741B2 (ja) 2007-06-13 2007-06-13 情報処理装置及びそれに用いる順序付きデータ管理方法並びにそのプログラム
US12/601,496 US8055819B2 (en) 2007-06-13 2008-05-29 Information processor
PCT/JP2008/059894 WO2008152918A1 (ja) 2007-06-13 2008-05-29 情報処理装置
EP08764863A EP2159698A4 (en) 2007-06-13 2008-05-29 INFORMATION PROCESSOR
KR1020107000355A KR101126420B1 (ko) 2007-06-13 2008-05-29 정보 처리기
CN2008800166442A CN101681291B (zh) 2007-06-13 2008-05-29 信息处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007155808A JP5061741B2 (ja) 2007-06-13 2007-06-13 情報処理装置及びそれに用いる順序付きデータ管理方法並びにそのプログラム

Publications (2)

Publication Number Publication Date
JP2008310455A JP2008310455A (ja) 2008-12-25
JP5061741B2 true JP5061741B2 (ja) 2012-10-31

Family

ID=40129529

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007155808A Active JP5061741B2 (ja) 2007-06-13 2007-06-13 情報処理装置及びそれに用いる順序付きデータ管理方法並びにそのプログラム

Country Status (6)

Country Link
US (1) US8055819B2 (ja)
EP (1) EP2159698A4 (ja)
JP (1) JP5061741B2 (ja)
KR (1) KR101126420B1 (ja)
CN (1) CN101681291B (ja)
WO (1) WO2008152918A1 (ja)

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2843854B2 (ja) 1989-09-04 1999-01-06 カシオ計算機株式会社 画像データ記憶装置
JP3565906B2 (ja) * 1993-09-20 2004-09-15 株式会社東芝 バッファ装置
US5446888A (en) * 1994-01-14 1995-08-29 Pyne; Charles F. Remote file transfer method and apparatus
JP3754715B2 (ja) 1994-11-30 2006-03-15 キヤノン株式会社 協調作業システム及び前記システムにおけるデータ格納方法
JP3344855B2 (ja) * 1994-12-09 2002-11-18 株式会社マブチ・エスアンドティー 球面研磨装置
US5758145A (en) * 1995-02-24 1998-05-26 International Business Machines Corporation Method and apparatus for generating dynamic and hybrid sparse indices for workfiles used in SQL queries
JPH0916440A (ja) 1995-06-30 1997-01-17 Meidensha Corp ロギングシステム
KR100249970B1 (ko) * 1997-06-30 2000-03-15 전주범 종합 정보 통신망(isdn)에서의 지연 보상 장치
US6404582B1 (en) * 1998-09-14 2002-06-11 Seagate Technology Llc Robust index reference position detection using a sequence of successively disposed index fields
JP3071765B2 (ja) * 1998-09-29 2000-07-31 日本電気アイシーマイコンシステム株式会社 有限数の入力データをフィルタ処理対象とするディジタルフィルタ及びディジタルフィルタ処理方法
KR100414067B1 (ko) * 2001-06-05 2004-01-07 엘지전자 주식회사 인터리브 메모리 제어 장치 및 방법
US6622211B2 (en) * 2001-08-15 2003-09-16 Ip-First, L.L.C. Virtual set cache that redirects store data to correct virtual set to avoid virtual set store miss penalty
US7017005B2 (en) * 2002-08-28 2006-03-21 Hywire Ltd. Implementation of a content addressable memory using a RAM-cell structure
US20040083227A1 (en) * 2002-10-24 2004-04-29 Yocom Darrell F. Implementation of a memory efficient matrix
CN1512407A (zh) * 2002-12-30 2004-07-14 佳能株式会社 数据结构形成方法、电子词典和多数组结构
US7852916B2 (en) * 2004-06-27 2010-12-14 Apple Inc. Efficient use of storage in encoding and decoding video data streams
US8473750B2 (en) * 2004-12-15 2013-06-25 Nvidia Corporation Chipset security offload engine
CN100468400C (zh) * 2005-09-30 2009-03-11 腾讯科技(深圳)有限公司 一种提高搜索信息速度的方法及系统
EP2001174A4 (en) 2006-03-29 2010-04-21 Nec Corp COMMUNICATION PROCEDURES, NODES AND CONTROL PROGRAM
JP4978348B2 (ja) * 2006-09-08 2012-07-18 コニカミノルタビジネステクノロジーズ株式会社 画像処理システムおよび画像処理方法
US20090064045A1 (en) * 2007-09-04 2009-03-05 Christopher Tremblay Low memory rendering of graphical objects

Also Published As

Publication number Publication date
KR101126420B1 (ko) 2012-03-28
EP2159698A4 (en) 2012-03-28
EP2159698A1 (en) 2010-03-03
JP2008310455A (ja) 2008-12-25
US8055819B2 (en) 2011-11-08
WO2008152918A1 (ja) 2008-12-18
CN101681291A (zh) 2010-03-24
US20100169520A1 (en) 2010-07-01
CN101681291B (zh) 2012-04-04
KR20100037088A (ko) 2010-04-08

Similar Documents

Publication Publication Date Title
US20170220572A1 (en) Key_value data storage system
CN104793920A (zh) 堆栈指针值预测
CN109271343A (zh) 一种应用于键值存储系统中的数据合并方法和装置
US8275968B2 (en) Managing unallocated storage space using extents and bitmaps
CN112947856B (zh) 一种内存数据的管理方法、装置、计算机设备及存储介质
EP2851810A1 (en) Management of a memory
KR20160100211A (ko) 대용량 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법 및 장치
JP5821744B2 (ja) データ有無判定装置、データ有無判定方法及びデータ有無判定プログラム
US8589454B2 (en) Computer data file merging based on file metadata
CN116860170A (zh) 一种数据处理方法、装置、设备、介质及固态硬盘
WO2017045410A1 (zh) 一种在分页模型中动态加载数据的方法及装置
JP6812826B2 (ja) 格納方法、格納装置及び格納プログラム
JP2015079473A (ja) データ運用方法及びこれを支援するシステム
JP5061741B2 (ja) 情報処理装置及びそれに用いる順序付きデータ管理方法並びにそのプログラム
WO2012081165A1 (ja) データベース管理装置及びデータベース管理方法
KR101072558B1 (ko) 해싱 기반의 데이터 관리 방법 및 장치
CN111552438A (zh) 一种对象写入的方法、装置、服务器和存储介质
JP5774213B2 (ja) 累積移動平均に基づく多重検索ツリーのノードを分割する方法および装置
JP2010191538A (ja) 情報処理装置および情報処理システム
CN112035380B (zh) 一种数据处理方法、装置、设备及可读存储介质
US20150220581A1 (en) Method of Data Entry
CN109760044A (zh) 一种数据处理方法及装置
CN109471813A (zh) 一种数据插入方法及相关装置
US10318177B2 (en) Compartmentalized linked list for fast access
US8655929B2 (en) Modification of data within a file

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120618

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5061741

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3