JP2018518733A - ファイル操作方法及び装置 - Google Patents

ファイル操作方法及び装置 Download PDF

Info

Publication number
JP2018518733A
JP2018518733A JP2017552149A JP2017552149A JP2018518733A JP 2018518733 A JP2018518733 A JP 2018518733A JP 2017552149 A JP2017552149 A JP 2017552149A JP 2017552149 A JP2017552149 A JP 2017552149A JP 2018518733 A JP2018518733 A JP 2018518733A
Authority
JP
Japan
Prior art keywords
data page
file
index information
identifier
data
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
JP2017552149A
Other languages
English (en)
Other versions
JP6542909B2 (ja
Inventor
ドゥアン、リアン
ジョウ、ファ
ワン、チンシン
チャン、グオファ
ス、ハオ
パン、ハイジュン
Original Assignee
バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド
バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド
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 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド, バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド filed Critical バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド
Publication of JP2018518733A publication Critical patent/JP2018518733A/ja
Application granted granted Critical
Publication of JP6542909B2 publication Critical patent/JP6542909B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • 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/9014Indexing; Data structures therefor; Storage structures hash tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【解決手段】本願はファイル操作方法及び装置を開示する。当該方法の一実施形態は、ターゲットファイルに対する操作要求を受信し、操作要求が、ファイル名と、ターゲットファイルを記憶するためのデータページのデータページ識別子とを含むステップと、ファイル名とデータページ識別子とに基づいてデータページの記憶領域のアドレスに関連するインデックス情報を取得し、インデックス情報が、操作に対応するマシン命令を実行するためのプロセッサのオンチップメモリに記憶されるステップと、インデックス情報に基づいて、データページを検索し、且つデータページに対する操作を実行するステップと、を含む。オンチップメモリに記憶されたインデックスによってファイルを操作することを実現し、それによりインデックスにアクセスするためのメモリのオーバーヘッドを0にさせるとともに、メモリリソースを節約し、更にシステムのオーバーヘッドを削減させる。【選択図】図2

Description

[関連出願の相互参照]
本願は2015年12月25日に提出した、出願番号が201510993999.9である中国特許出願に基づく優先権を主張し、当該出願の全文を引用により本願に組み込む。
[技術分野]
本願はコンピュータ分野に関し、具体的にファイルシステムの分野に関し、特にファイル操作方法及び装置に関する。
組み込み機器では、組み込みファイルシステムによってファイルに対する操作を実行する。従来の組み込みファイルシステムでは、通常にログ構造でファイルを記憶し、つまりインデックス及びファイルデータを同時にファイルに記憶し、且つ、ファイルのデータページ同士が記憶領域において連続的でない。ファイルを操作する際に、通常、インデックスによってデータページを検索し、データページを単位として操作する方式が採用されている。
しかしながら、上記方式でファイルを操作する場合、一方では、インデックスの占有するメモリ空間が大きいため、ファイルを操作する過程においてオーバーヘッドが大きく、更に組み込みシステム全体のシステムオーバーヘッドを増加させる。他方では、ファイルのデータページ同士が記憶領域において連続的でないため、サードパーティのアプリケーションの実行可能ファイルに対する動的ロードを実現することができない。
本願は、上記背景技術に記載の技術的問題を解決するために、ファイル操作方法及び装置を提供する。
第1形態では、本願は、ファイル操作方法を提供し、この方法は、ターゲットファイルに対する操作要求を受信し、前記操作要求が、ファイル名と、ターゲットファイルを記憶するためのデータページのデータページ識別子とを含むステップと、前記ファイル名とデータページ識別子とに基づいて前記データページの記憶領域のアドレスに関連するインデックス情報を取得し、前記インデックス情報が、前記操作に対応するマシン命令を実行するためのプロセッサのオンチップメモリに記憶されるステップと、前記インデックス情報に基づいて、前記データページを検索し、且つ前記データページに対する操作を実行するステップと、を含む。
第2形態では、本願は、ファイル操作装置を提供し、この装置は、ターゲットファイルに対する操作要求を受信し、前記操作要求が、ファイル名と、ターゲットファイルを記憶するためのデータページのデータページ識別子とを含む受信ユニットと、前記ファイル名とデータページ識別子とに基づいて前記データページの記憶領域のアドレスに関連するインデックス情報を取得し、前記インデックス情報が、前記操作に対応するマシン命令を実行するためのプロセッサのオンチップメモリに記憶される取得ユニットと、前記インデックス情報に基づいて、前記データページを検索し、且つ前記データページに対する操作を実行する処理ユニットと、を備える。
本願に係るファイル操作方法及び装置は、ターゲットファイルに対する操作要求を受信し、ファイル名とデータページ識別子とに基づいて、データページの記憶領域のアドレスに関連するインデックス情報を取得し、インデックス情報が操作に対応するマシン命令を実行するためのプロセッサのオンチップメモリに記憶され、インデックス情報に基づいて、データページを検索し、且つデータページに対する操作を実行することによって、オンチップメモリに記憶されたインデックスによってファイルを操作することを実現し、それによりインデックスにアクセスするメモリのオーバーヘッドを0にさせさせるとともに、メモリリソースを節約し、更にシステムのオーバーヘッドを削減させる。
以下の図面を参照しながら行った非限定的な実施例についての詳細な説明に基づいて、本願の他の特徴、目的や利点はより明瞭になる。
本願を適用できる例示的なシステムアーキテクチャー図である。 本願に係る方法の一実施例のフローチャートを示す。 1次インデックスを記憶するデータページの構造模式図を示す。 2次インデックスを記憶するデータページの構造模式図を示す。 2段インデックスによってデータページを検索する論理図である。 本願に係るファイル操作方法の別の実施例のフローチャートを示す。 実行可能ファイルのデータページのレイアウトを示す。 データファイルのデータページのレイアウトを示す。 ファイルを作成する例示的なフローチャートである。 データをデータページに書き込む例示的なフローチャートである。 本願に係るファイル操作装置の一実施例の構造模式図を示す。 本願の実施例を実現するための端末装置又はサーバに適用されるコンピュータシステムの構造模式図である。
以下、図面及び実施例を参照しながら本発明をより詳細に説明する。ここで説明する具体的な実施例は、かかる発明を説明するものに過ぎず、当該発明を限定するものではないと理解すべきである。ただし、説明の便宜上、図面に発明に関連する部分のみが示されている。
なお、衝突しない場合、本願の実施例及び実施例の特徴を相互に組み合せてもよい。以下、図面及び実施例を参照しながら本願を詳細に説明する。
図1は本願のファイル操作方法及び装置を適用できる実施例の例示的なシステムアーキテクチャー100を示す。
図1に示されるように、システムアーキテクチャー100は、端末装置101、102、103、ネットワーク104及びサーバ105を備えてもい。ネットワーク104は端末装置101、102、103とサーバ105の間に通信リンクを提供する媒体に用いられている。ネットワーク104は様々な接続タイプ、例えば有線、無線通信リンク又は光ファイバーケーブル等を含んでもよい。
ユーザは端末装置101、102、103を用いてネットワーク104を介してサーバ105とインタラクションして、それによりメッセージなどを送受信することができる。端末装置101、102、103に、様々な通信アプリケーションがインストールされてもよい。
端末装置101、102、103はディスプレーを有し且つネットワーク通信をサポートする各種の電子機器であってもよく、スマートフォン、タブレットPC、e−Bookリーダー、MP3プレーヤー (Moving Picture Experts Group Audio Layer III、ムービング・ピクチャー・エクスパーツ・グループオーディオレイヤーIII)、MP4プレーヤー(Moving Picture Experts Group Audio LayerIV、ムービング・ピクチャー・エクスパーツ・グループオーディオレイヤーIV)、ラップトップ型コンピュータ及びデスクトップコンピュータなどを含むが、それらに限定されるものではない。
サーバ105は各種のサービスを提供するサーバ、例えば端末装置101、102、103におけるアプリケーションにファイル記憶サービスを提供するクラウドサーバであってもよい。サーバは受信されたファイル操作要求を処理することができ、処理結果(例えば読みだされたファイルデータ)を端末装置にフィードバックする。
なお、図1における端末装置、ネットワーク及びサーバの数は例示的なものに過ぎない。必要に応じて、端末装置、ネットワーク及びサーバの数が任意であってもよい。
本願に係るファイル操作方法の一実施例のプロセス200を示す図2を参照する。なお、本願の実施例に係るファイル操作方法は一般的に端末装置101、102、103又は図1におけるサーバ105で実行され、それに対応して、ファイル操作装置は一般的に端末装置101、102、103又はサーバ105に設置される。当該方法はステップ201、及びステップ202を含む。
ステップ201:ターゲットファイルに対する操作要求を受信する。
本実施例では、ファイル操作方法が実行される電子機器(例えば図1に示される端末装置又はサーバ)は有線接続方式又は無線接続方式でターゲットファイルに対する操作要求を受信する。操作要求は、ファイル名、及びターゲットファイルを記憶するためのデータページのデータページ識別子を含む。本実施例では、ターゲットファイルに対する操作要求のタイプは書き込み操作、読み取り操作、更新要求であってもよい。ターゲットファイルはデータページを単位として記憶されてもよく、それに対応して、ファイルに対する操作もデータページを単位として行われる。例えば、ターゲットファイルがフラッシュ(flash)メモリに記憶される場合、1つのターゲットファイルのデータは複数のデータページ、即ちフラッシュページ(flash page)に記憶されることができる。つまり、ターゲットファイルに対する操作はターゲットファイルを記憶するデータページに対して行われる。
ステップ202:ファイル名とデータページ識別子とに基づいて、データページの記憶領域のアドレスに関連するインデックス情報を取得する。
本実施例では、インデックス情報は操作に対応するマシン命令を実行するためのプロセッサのオンチップメモリに記憶される。例えば、データページに対する操作を実行するプロセッサがMCU((Microcontroller Unit、マイクロコントローラ)である場合、インデックス情報はMCUのオンチップメモリ(オンチップflashとも呼ばれる)に記憶されることができる。本実施例では、インデックス情報はデータページの記憶領域のアドレスに関連する情報であってもよく、例えば、インデックス情報においてデータページの物理アドレスが記録される。
本願におけるインデックスの構造を説明する前に、先ず1次インデックスだけでフラッシュメモリにインデックス(ファイルインデックスとも呼ばれる)を直接保存する場合存在する問題を述べます。ファイルが占有する記憶領域のサイズが異なり、占有するデータページの数も異なるので、ファイル名とデータページとの対応関係を直接記憶する場合、インデックスが占有する記憶領域のサイズが一定ではない。そうすると、インデックスに記憶ファイルのデータページを追加したり更新したりする場合、インデックス全体を変更してしまう。一方、インデックスが占有する記憶領域が非常に大きく、データページを増減又は更新するには、直接フラッシュメモリにおいて変更できず、メモリにコピーして変更してフラッシュメモリに書き込むしかないため、大量のメモリ消費を引き起こす。
本実施例のいくつかの選択可能な実施形態では、インデックス情報は、ファイル名及びファイル識別子を含む第1インデックス情報と、データページの記憶領域のアドレスを含む第2インデックス情報とを含む。
本実施例では、インデックスの構造は2段インデックスであってもよく、1次(primary index)のインデックスはファイル名からファイル識別子へのインデックス、即ちファイル名によってファイル識別子を検索するインデックスである。2次(secondary index)のインデックスはファイル名識別子とデータページ識別子からデータページへのインデックス、即ちファイル名識別子とデータページ識別子とによってデータページを検索するインデックスである。それに対応して、2段インデックス構造に対して、第1インデックス情報、第2インデックス情報を設定する。第1インデックス情報はファイル名とファイル識別子とを含んでもよく、第2インデックス情報にデータページの記憶領域のアドレスであるデータページの物理アドレスが含まれてもよい。
本実施例のいくつかの選択可能な実施形態では、さらに、オンチップメモリの記憶領域から第1データページを選択するステップと、ファイル名をキー値とする第1ハッシュテーブルを作成するステップと、第1ハッシュテーブルにおけるキー値に対応する位置に第1インデックス情報を記憶するステップと、第1ハッシュテーブルを第1データページに記憶するステップと、を含む。
本実施例では、オンチップメモリから1次インデックスを記憶するためのデータページ即ち第1データページを選択する。次に、ターゲットファイルのファイル名をキー値とする第1ハッシュテーブルを作成し、第1ハッシュテーブルにおける、キー値に対応する位置であるスロット(slot)に第1インデックス情報を記憶する。次に、第1ハッシュテーブルを第1データページに記憶する。本実施例では、1次インデックスを記憶する第1データページは複数であってもよく、異なる第1データページはデータページ識別子によって区別されることができ、第1データページ同士は記憶領域において連続的でなくてもよい。
本実施例のいくつかの選択可能な実施形態では、さらに、オンチップメモリの記憶領域から第2データページを選択するステップと、ファイル識別子及びデータページ識別子をキー値とする第2ハッシュテーブルを作成するステップと、第2ハッシュテーブルにおける、キー値に対応する位置に第2インデックス情報を記憶するステップと、第2ハッシュテーブルを第2データページに記憶するステップと、を含む。
本実施例では、オンチップメモリから2次インデックスを記憶するためのデータページ、即ち第2データページを選択する。次に、ファイル識別子及びデータページ識別子をキー値とする第2ハッシュテーブルを作成し、第2ハッシュテーブルにおける、キー値に対応する位置であるスロットに第2インデックス情報を記憶し、次に、第2ハッシュテーブルを第2データページに記憶することができる。本実施例では、2次インデックスを記憶する第2データページは複数であってもよく、異なる第2データページはデータページ識別子によって区別されることができ、第2データページ同士は記憶領域において連続的でなくてもよい。
1次インデックスを記憶するデータページの構造模式図を示す図3を参照する。図3では、タイプ番号(magic number)はファイルのタイプを示す。ファイル識別子(fileid)は、1次インデックスを記憶するデータページが所属するファイルを示し、当該ファイルはデータファイル(普通ファイルとも呼ばれる)であり、ファイル識別子0をファイル識別子としてもよい。データページ識別子(pageid)は、ファイルの何番目のデータページかを示す。バージョン番号(version)はデータページに記憶されたデータのバージョンを示す。スロットに連結リストを記憶できる第1ハッシュテーブルのキー値はファイル名である。連結リストにおける各ノードは1つの記憶ノード(hash node)に対応することができる。記憶ノードにはファイル名とファイル識別子とを含む第1インデックス情報が記憶される。カウントパラメータ(count)は使用済みの記憶ノードの数を示す。
2次インデックスを記憶するデータページの構造模式図を示す図4を参照する。図4では、タイプ番号(magic number)はファイルのタイプを示す。ファイル識別子(fileid)は、2次インデックスを記憶するデータページが所属するファイルを示し、当該ファイルはデータファイルであってもよく、ファイル識別子1をファイル識別子としてもよい。データページ識別子(pageid)は当該ファイルの何番目のデータページかを示す。バージョン番号(version)はデータページに記憶されたデータのバージョン番号を示す。スロットに記憶ノード(hash node)を記憶できる第2ハッシュテーブルのキー値はファイル識別子とデータページ識別子である。記憶ノードにデータページの物理アドレスを含む第2インデックス情報が記憶される。カウントパラメータ(count)は使用済みの記憶ノードの数を示す。
本実施例では、1次インデックス、2次インデックスを第1データページ、第2データページに記憶する場合、1次インデックス、2次インデックスに関連するデータ構造の総和を第1インデックステーブル、第2インデックステーブルと呼んでもよい。第1インデックス情報、第2インデックス情報が記憶された記憶ノードの占有する記憶領域の大きさは固定されてもよい。2段インデックスが複数のデータページを含む場合に、複数のインデックステーブルでそれぞれマッピングし、つまり記憶領域を大きく占有する大インデックステーブルを、複数の記憶領域を小さく占有する小インデックステーブルに分けることができ、小インデックステーブルを連続データページに記憶する必要がない。このように、データページを増減又は更新する際に、インデックスを記憶した単一のデータページに行うように制限され、それによりインデックス保守過程で大量のメモリを消費するという問題を回避する。
ステップ203:インデックス情報に基づいて、データページを検索し、且つデータページに対する操作を実行する。
本実施例では、インデックス情報におけるデータページの物理アドレスに基づいて、データページを検索し、且つデータページに対する操作を実行することができ、例えば、データをデータページに書き込み、データページからデータを読み取る。
本実施例のいくつかの選択可能な実施形態では、インデックス情報に基づいて、データページを検索するステップには、第1ハッシュテーブルにおける、ファイル名に対応する位置に記憶された第1インデックス情報におけるファイル識別子を取得するステップと、第2ハッシュテーブルにおける、ファイル識別子とデータページ識別子とに対応する位置に記憶された第2インデックス情報を取得するステップと、第2インデックス情報におけるデータページの記憶領域のアドレスに基づいて、データページを検索するステップと、を含む。
以下、2段インデックスを例として、データページの検索過程を説明する。2段インデックスによってデータページを検索する論理図を示す図5を参照する。
第1ファイルに対する操作要求が第1ファイルの第1ファイル名(filename1)と第1データページ識別子(pageid1)を含み、第2ファイルに対する操作要求が第2ファイルの第2ファイル名(filename2)及び第2データページ識別子(pageid2)、第3データページ識別子(pageid3)を含むことを仮定する。第1データページ識別子は255である。第2データページ識別子、第3データページ識別子は1、2である。次に、第1ファイル名(filename1)及び第2ファイル名(filename2)をキー値としてハッシュ値計算してハッシュ値を取得することで、それぞれ第1ハッシュテーブルにおける、当該ハッシュ値に対応するスロットに記憶された連結リストを取得する。連結リストにおける第1ファイル名、第2ファイル名に対応する記憶ノード1、記憶ノード2をそれぞれ決定する。記憶ノード1は第1ファイル名(filename1)と第1ファイルのファイル識別子(fileid1)とを含む第1インデックス情報を記憶する。記憶ノード2は第2ファイル名(filename2)と第2ファイルのファイル識別子(fileid2)とを含む第2インデックス情報を記憶する。それにより第1ファイルのファイル識別子(fileid1)及び第2ファイルのファイル識別子(fileid2)を取得した。第1ファイルのファイル識別子(fileid1)及び第1データページ識別子(pageid1)をキー値としてハッシュ値計算してハッシュ値を取得して、第2ハッシュテーブルにおける、当該ハッシュ値に対応するスロットにおいて記憶ノード5を検索することができる。記憶ノード5は第1データページ識別子(pageid1)に対応するデータページの物理アドレスを含む第2インデックス情報を記憶することで、第1ファイルにおけるデータページを検索する。第2ファイルのファイル識別子(fileid2)を、それぞれ第2データページ識別子(pageid2)、第3データページ識別子(pageid3)と一緒にキー値としてハッシュ値計算してハッシュ値を取得して、第2ハッシュテーブルにおける、当該ハッシュ値に対応するスロットにおいて記憶ノード3、記憶ノード4を検索することができる。記憶ノード3は第2データページ識別子(pageid2)に対応するデータページの物理アドレスを含む第2インデックス情報を記憶することで、第2ファイルにおける第2データページ識別子(pageid2)に対応するデータページを検索する。記憶ノード4は第3データページ識別子(pageid3)に対応するデータページの物理アドレスを含む第2インデックス情報を記憶することで、第2ファイルにおける第3データページ識別子(pageid3)に対応するデータページを検索する。
以下、本実施例におけるインデックスと従来技術との相違点を説明する。従来の組み込みファイルシステムでは、インデックスが占有するメモリ空間は大きい。組み込みファイルシステムのyaffsファイルシステムを例として、yaffsファイルシステムに32個のファイルが記憶され、データページのサイズが1KBであることを仮定すると、空間複雑度が最も悪い場合、インデックスが占有するメモリ空間は3KBより大きい。本実施例では、インデックス構造がオンチップメモリにおけるデータページに直接記憶され、プロセッサがファイルシステムを介せずにオンチップメモリのデータページに直接アクセスできるため、リソースが限られた組み込みシステムでは、インデックスにアクセスするためのメモリのオーバーヘッドが0に相当し、且つメモリリソースを節約し、更に組み込みシステム全体のシステムオーバーヘッドを減少させる。
本願に係るファイル操作方法の別の実施例のプロセス600を示す図6を参照する。なお、本願の実施例に係るファイル操作方法は、一般的に端末装置101、102、103又は図1におけるサーバ105で実行され、当該方法は以下のステップを含む。
ステップ601:ターゲットファイルを作成する。
本実施例では、ファイル名に対応するファイル識別子を割り当て、ファイル名とファイル識別子とを含む第1インデックス情報を生成し、第1ハッシュテーブルにおける、ファイル名に対応する位置に第1インデックス情報を記憶することで、ターゲットファイルを作成することができる。本実施例では、ターゲットファイルを作成する際に、先ずファイルに1つのファイル識別子を割り当て、次に、ファイル名とファイル識別子とを1次インデックスが記憶されたデータページに保存する。例えば、先ずファイル名をハッシュ値計算してハッシュ値を取得して、次に、1次インデックスが記憶されたデータページでのハッシュテーブルにおける、ハッシュ値に対応するスロットの連結リストにおいてアイドル記憶ノードが存在するか否かを検索する。存在する場合、ファイル名とファイル識別子を含む第1インデックス情報を当該記憶ノードに記憶する。存在しない場合、連結リストに記憶ノードを追加し、追加した記憶ノードにファイル名とファイル識別子とを含む第1インデックス情報を記憶する。
実行可能ファイルのデータページのレイアウトを示す図7を参照する。
本実施例では、実行可能ファイルは複数の連続的なデータページで構成される記憶領域に記憶されてもよい。1番目のデータページ即ちデータページ識別子が0のデータページに、例えばタイプ番号(magic number)、ファイル識別子(fileid)、データページ識別子(pageid)、ファイル名(name)、記憶領域パラメータ(size)を含んでもよいデータ構造を記憶する。タイプ番号の数値はデータページが所属するファイルのタイプが実行可能ファイルであることを示す。ファイル識別子は実行可能ファイルのファイル識別子を示し、データページ識別子はデータページ識別子であり、ファイル名は実行可能ファイルのファイル名であり、ファイルサイズパラメータは実行可能ファイルのサイズを示す。データ領域(data area)は実行可能ファイルのデータを記憶することに用いられる。
データファイルのデータページのレイアウトを示す図8を参照する。
本実施例では、データファイルは複数のデータページを含み、1番目のデータページをファイルヘッダとして、ファイルの属性情報を保存し、ほかのデータページがファイルのデータを記憶する。データファイルの各データページは、例えばタイプ番号(magic number)、ファイル識別子(fileid)、データページ識別子(pageid)、バージョン番号(version)を含む一つのデータ構造(tagデータ構造とも呼ばれる)を含む。タイプ番号はデータページが所属するファイルのタイプがデータファイルであることを示し、ファイル識別子はグローバル一意のファイル識別子であり、データページ識別子は現在のデータページのファイルでの位置を示し、バージョン番号はデータページに記憶されたデータのバージョンであり、同じファイル識別子とデータページ識別子を有するデータページを区別することに用いられ、バージョン番号が大きいことは、データページにおけるデータがより新たなデータであることを示す。初めてデータをデータページに書き込む場合、バージョン番号が1に設定されてもよい。長さパラメータ(length)はデータページに保存された有効データの長さを示し、データ領域(data area)はデータファイルのデータを記憶することに用いられる。本実施例では、同じファイルに属するデータページをデータページ識別子の昇順でソートし、次に、同じデータページ識別子を有するデータページのバージョン番号を比較し、バージョン番号がより小さなページを除去して、このように、ファイルのすべてのデータを取得することができる。
ファイルを作成する例示的なフローチャートを示す。ステップ9001〜ステップ9005を含む図9を参照する。
ステップ9001:1つの使用可能なファイル識別子を割り当てる。ファイル識別子はグローバル一意のファイル識別子である。
ステップ9002:アイドル記憶ノードのインデックステーブルが存在するか否かを判断する。1次インデックスが第1データページに記憶される場合、1次インデックスに関連するデータ構造の総和を第1インデックステーブルと呼ぶことができる。上記インデックステーブルは第1インデックステーブルである。インデックステーブルにおいてアイドル記憶ノードが存在するか否かを判断する。存在する場合、ステップ9003を実行し、存在しない場合、ステップ9004を実行する。
ステップ9003:インデックステーブルにおいてアイドル記憶ノードにファイル名および対応するファイル識別子を記憶する。
ステップ9004:1つのインデックステーブルを追加してファイル名および対応するファイル識別子を1つの記憶ノードに記憶する。
ステップ9005:新たなデータページに割り当ててファイルのデータをデータページに書き込む。
ステップ602:ターゲットファイルに対する操作要求を受信する。
本実施例では、操作要求は、ファイル名、及びターゲットファイルを記憶するためのデータページのデータページ識別子を含む。本実施例では、ターゲットファイルに対する操作要求のタイプは、書き込み操作、読み取り操作であってもよい。ターゲットファイルはデータページを単位として記憶され、それに対応して、ファイルに対する操作もデータページを単位として実行される。例えば、ターゲットファイルをフラッシュ(flash)メモリに記憶される場合、1つのターゲットファイルのデータを複数のデータページ、即ちフラッシュページ(flash page)に記憶されることができる。つまり、ターゲットファイルに対する操作はターゲットファイルを記憶するデータページに対して行われる。
ステップ603:ファイル名とデータページ識別子とに基づいて、データページの記憶領域のアドレスに関連するインデックス情報を取得する。
本実施例では、インデックス情報は操作に対応するマシン命令を実行するためのプロセッサのオンチップメモリに記憶される。本実施例では、インデックス情報は、データページの記憶領域のアドレスに関連する情報であってもよく、例えば、インデックス情報にデータページの物理アドレスを記録することで、インデックス情報によってデータページを検索する。本実施例では、インデックス情報がオンチップメモリに記憶されることができる。例えば、データページに対する操作を実行するプロセッサがMCUである場合、インデックス情報がMCUのオンチップメモリ(オンチップflashとも呼ばれる)に記憶されることができる。
本実施例では、インデックスの構造は2段インデックスであってもよく、1次インデックスはファイル名からファイル識別子へのインデックス、即ちファイル名によってファイル識別子を検索するインデックスである。2次インデックスはファイル名識別子及びデータページ識別子からデータページへのインデックス、即ちファイル名識別子とデータページ識別子とによってデータページを検索するインデックスである。それに対応して、2段インデックス構造に対して、第1インデックス情報、第2インデックス情報を設定する。第1インデックス情報はファイル名とファイル識別子とを含み、第2インデックス情報はデータページの記憶領域のアドレスであるデータページの物理アドレスを含んでもよい。
ステップ604:インデックス情報に基づいて、データページを検索し、且つ検索したデータページに対して操作タイプ識別子に対応する操作を実行する。
本実施例では、ターゲットファイルが実行可能ファイルである場合、実行可能ファイルを記憶するためのデータページの数を決定し、上記数の記憶領域のアドレスが連続的なデータページとデータページのデータページ識別子とを割り当て、且つデータページのうちの最初のデータページにおいて実行可能ファイルの記憶領域のサイズを指示する記憶領域パラメータを記憶し、最初のデータページの記憶領域のアドレスを含む第2インデックス情報を生成し、第2ハッシュテーブルにおける、ファイル識別子と最初のデータページのデータページ識別子とに対応する位置に第2インデックス情報を記憶することで、実行可能ファイルに対する書き込み要求を処理する。
本実施例では、実行可能ファイルを記憶する前に、先ず実行可能ファイルを記憶するための記憶領域のアドレスが連続的なデータページを割り当てることができる。次に、アドレスが連続的なデータページに実行可能ファイルのデータを書き込むとともに、実行可能ファイルのファイル名を1次インデックスに記憶し、最初のデータページの物理アドレスを2次インデックスに記憶することができる。本実施例では、実行可能ファイルを記憶する最初のデータページに実行可能ファイルのファイル名及びファイルサイズを書き込むことができる。
本実施例では、ターゲットファイルが実行可能ファイルである場合、第1ハッシュテーブルにおける、ファイル名に対応する位置に記憶された第1インデックス情報におけるファイル識別子を取得し、第2ハッシュテーブルにおける、ファイル識別子とデータページ識別子とに対応する位置に記憶された第2インデックス情報を取得し、且つ第2インデックス情報におけるデータページの記憶領域のアドレスに基づいて、最初のデータページを検索し、最初のデータページに記憶された記憶領域パラメータに基づいて、記憶領域のアドレスが連続的なデータページの数を計算し、上記数のデータページにおけるデータを読み取って、実行可能ファイルをロードすることで、実行可能ファイルに対するロード要求を処理し、ここで、ロード要求がファイル名と、最初のデータページのデータページ識別子とを含む。
本実施例では、実行可能ファイルをロードする時に、実行可能ファイルのファイル識別子及び最初のデータページのデータページ識別子(即ち0)に基づいて、2段インデックスによって最初のデータページを検索することができる。次に、最初のデータページに記憶された記憶領域パラメータ(即ちsizeフィールド)に基づいて、記憶領域のアドレスが連続的なデータページの数、即ち実行可能ファイルのデータページの数を計算し、次に上記記憶領域のアドレスが連続的なデータページを読み取ることで、実行可能ファイルに対する動的ロードを実現する。
本実施例では、データファイルの書き込み操作は、データページにおける既存のデータの上書き、及び新たなデータの追加書き込みの2種類に分けられる。本実施例では、データファイルに対する追加書き込み要求を受信し、第1ハッシュテーブルにおける、ファイル名に対応する位置に記憶された第1インデックス情報におけるファイル識別子を取得し、追加書き込み方式でデータファイルに書き込まれたデータを記憶するためのデータページとデータページのデータページ識別子とを割り当て、データページの記憶領域のアドレスを含む第2インデックス情報を生成し、第2ハッシュテーブルにおける、ファイル識別子とデータページ識別子とに対応する位置に第2インデックス情報を記憶することで、データファイルに対する追加書き込み要求を処理し、ここで、追加書き込み要求がファイル名を含む。本実施例では、データファイルに対する追加書き込み要求を処理し、即ち新たなデータを追加して書き込む時に、データを新たに割り当てられたデータページに書き込み、次に、バージョン番号を1に設定する必要がある。また、追加書き込みが完了した後に、2次インデックスに、記憶ノードを追加し、記憶ノードにおいてファイル識別子と新たに割り当てられたデータページのデータページ識別子とを含む第2記憶情報を記憶する。
本実施例では、データファイルに対する更新要求を処理し、即ちデータページにおける既存のデータを上書きする時に、先ずデータページを検索し、次に更新データを含む1ページのデータをデータページに書き込むとともに、データページに対応するバージョン番号を増加する。
データをデータページに書き込む例示的なフローチャートを示す図10を参照する。ステップ1001〜ステップ1005を含む。
ステップ1001:ファイル書き込み位置に基づいてデータページ識別子を計算し,ファイル識別子とデータページ識別子とに対応するデータページを検索する。即ち書き込み位置に基づいてデータページ識別子を計算し、ファイル名とデータページ識別子とに対応するデータページを検索する。書き込み位置は書き込もうとするデータのファイル全体での位置を示し、書き込み位置及びファイルのサイズに基づいて、書き込もうとするデータの所在するデータページのデータページ識別子を決定して計算することができる。次に、2次インデックスによってファイル識別子とデータページ識別子とに対応するデータページを検索する。
ステップ1002、当該データページが検索されたか否かを判断する。検索された場合、ステップ1003を実行し、検索されいない場合、ステップ1004を実行する。
ステップ1003:データページにおけるファイルデータを変更し、バージョン番号に1を加え、新たなデータページに記憶する。
ステップ1004:データを新たに割り当てられたデータページに記憶し、算出したデータページ識別子を記憶する。即ち新たなデータページを割り当て、書き込もうとするデータを新たに割り当てられたデータページに記憶し、新たなデータページに算出したデータページ識別子を記憶する。
ステップ1005:2次インデックスに新たに割り当てられたデータページのファイル識別子とデータページ識別子とを追加する。
図6からわかるように、図2に対応する実施例との相違点は、本実施例におけるファイル操作方法のプロセス600がターゲットファイルを作成するステップ601を強調することである。ステップ601はアドレスが連続的なデータページを予め割り当てることで実行可能ファイルを記憶することで、実行可能ファイルのバイナリコードをアドレスが連続的なデータページに記憶されることができる。それにより、実行可能ファイルをロードする必要がある場合、アドレスが連続的なデータページから実行可能ファイルのバイナリコードを読み取ることで、サードパーティのアプリケーションの実行可能ファイルに対する動的ロードを実現することができる。
本願では、上記実施例で説明されたファイルに対する操作方式をログ構造のファイルシステムによるファイル管理方式と組み合わせ、組み込みファイルシステムを構築することができる。つまりオンチップメモリにおいて2段インデックス構造を構築し、次に、2段インデックス構造をログ構造のファイルシステムによるファイル管理方式と組み合わせ、オンチップメモリにおいて、組み込みファイルシステムを構築することができる。
以下、上記構築した組み込みファイルシステムと従来技術との相違点を説明する。
従来の組み込みファイルシステムでは、データページの記憶と管理はログ構造を用い、ファイルをアドレスが連続的な記憶領域に記憶できず、即ちファイルのデータページのアドレスが連続的でない。従って、従来の組み込みファイルシステムは実行可能ファイル、即ち実行可能ファイルのバイナリコードの動的ロードをサポートすることができない。更に、上記組み込みファイルシステムを用いた組み込み機器(例えばユビキタスネットワーク装置)はサードパーティのアプリケーションの実行可能ファイルに対する動的ロードをサポートできない。本願で構築された組み込みファイルシステムは、一方では、記憶リソースが限られた組み込みシステムで、小さなメモリのオーバーヘッドでデータを高効率に操作することを可能にする。他方では、サードパーティのアプリケーションの実行可能ファイルに対する動的ロードをサポートする。
更に図11に示すように、上記各図に示される方法の実現として、本願は、図2に示される方法の実施例に対応するファイル操作装置の一実施例を提供し、当該装置は具体的に各種の電子機器に適用することができる。
図11に示されるように、本実施例のファイル操作装置1100は、受信ユニット1101、取得ユニット1102、及び処理ユニット1103を備える。受信ユニット1101は、ターゲットファイルに対する操作要求を受信し、操作要求が、ファイル名と、ターゲットファイルを記憶するためのデータページのデータページ識別子とを含み、取得ユニット1102は、ファイル名とデータページ識別子とに基づいて、データページの記憶領域のアドレスに関連するインデックス情報を取得し、インデックス情報が、操作に対応するマシン命令を実行するためのプロセッサのオンチップメモリに記憶され、処理ユニット1103は、インデックス情報に基づいて、データページを検索し、且つデータページに対する操作を実行する。
本実施例では、受信ユニット1101は、ターゲットファイルに対する操作要求を受信する。ターゲットファイルに対する操作要求のタイプは、書き込み操作、読み取り操作、更新要求であってもよい。ターゲットファイルはデータページを単位として記憶され、それに対応して、ファイルに対する操作もデータページを単位として実行される。
本実施例では、取得ユニット1102は、ファイル名とデータページ識別子とに基づいて、データページの記憶領域のアドレスに関連するインデックス情報を取得する。インデックス情報は、操作に対応するマシン命令を実行するためのプロセッサのオンチップメモリに記憶される。例えば、データページに対する操作を実行するプロセッサがMCUである場合、インデックス情報がMCUのオンチップメモリ(オンチップflashとも呼ばれる)に記憶されることができる。本実施例では、インデックス情報はデータページの記憶領域のアドレスに関連する情報であってもよく、例えば、インデックス情報にデータページの物理アドレスを記録する。
本実施例では、処理ユニット1103は、インデックス情報、例えばインデックス情報におけるデータページの物理アドレスに基づいて、データページを検索し、且つデータページに対する操作を実行し、例えば、データをデータページに書き込み、データページからデータを読み取る。
本実施例のいくつかの選択可能な実施形態では、インデックス情報は、ファイル名及びファイル識別子を含む第1インデックス情報と、データページの記憶領域のアドレスを含む第2インデックス情報とを含む。
本実施例のいくつかの選択可能な実施形態では、装置1100は、オンチップメモリの記憶領域から第1データページを選択する第1選択ユニット(図示せず)と、ファイル名をキー値とする第1ハッシュテーブルを作成する第1作成ユニット(図示せず)と、第1ハッシュテーブルにおける、キー値に対応する位置に第1インデックス情報を記憶する第1インデックス情報記憶ユニット(図示せず)と、第1ハッシュテーブルを第1データページに記憶する第1ハッシュテーブル記憶ユニット(図示せず)と、をさらに備える。
本実施例のいくつかの選択可能な実施形態では、装置1100は、オンチップメモリの記憶領域から第2データページを選択する第2選択ユニット(図示せず)と、ファイル識別子及びデータページ識別子をキー値とする第2ハッシュテーブルを作成する第2作成ユニット(図示せず)と、第2ハッシュテーブルにおける、キー値に対応する位置に第2インデックス情報を記憶する第2インデックス情報記憶ユニット(図示せず)と、第2ハッシュテーブルを第2データページに記憶する第2ハッシュテーブル記憶ユニット(図示せず)と、をさらに備える。
本実施例のいくつかの選択可能な実施形態では、処理ユニット1103は、第1ハッシュテーブルにおける、ファイル名に対応する位置に記憶された第1インデックス情報におけるファイル識別子を取得するファイル識別子取得サブユニット(図示せず)と、第2ハッシュテーブルにおける、ファイル識別子とデータページ識別子とに対応する位置に記憶された第2インデックス情報を取得する第2インデックス情報取得サブユニット(図示せず)と、第2インデックス情報におけるデータページの記憶領域のアドレスに基づいて、データページを検索する検索サブユニット(図示せず)と、を備える。
本実施例のいくつかの選択可能な実施形態では、装置1100は、ターゲットファイルに対する操作要求を受信する前に、ターゲットファイルに対する作成要求を受信し、作成要求がファイル名を含む作成要求受信ユニット(図示せず)と、ファイル名に対応するファイル識別子を割り当てるファイル識別子割り当てユニット(図示せず)と、ファイル名とファイル識別子とを含む第1インデックス情報を生成し、且つ第1ハッシュテーブルにおける、ファイル名に対応する位置に第1インデックス情報を記憶するインデックス情報生成ユニット(図示せず)と、をさらに備える。
本実施例のいくつかの選択可能な実施形態では、装置1100は、実行可能ファイルに対する書き込み要求を受信し、且つ実行可能ファイルを記憶するためのデータページの数を決定する書き込み要求受信ユニット(図示せず)と、上記数の記憶領域のアドレスが連続的なデータページとデータページのデータページ識別子とを割り当て、データページのうちの最初のデータページに実行可能ファイルの記憶領域のサイズを指示する記憶領域パラメータを記憶する第1割り当てユニット(図示せず)と、最初のデータページの記憶領域のアドレスを含む第2インデックス情報を生成する第2インデックス情報生成ユニット(図示せず)と、第2ハッシュテーブルにおける、ファイル識別子と最初のデータページのデータページ識別子とに対応する位置に第2インデックス情報を記憶する第2インデックス情報記憶ユニット(図示せず)と、をさらに備える。
本実施例のいくつかの選択可能な実施形態では、装置1100は、実行可能ファイルに対するロード要求を受信し、ロード要求が、ファイル名と、最初のデータページのデータページ識別子とを含むロード要求受信ユニット(図示せず)と、第1ハッシュテーブルにおける、ファイル名に対応する位置に記憶された第1インデックス情報におけるファイル識別子を取得する第1ファイル識別子取得ユニット(図示せず)と、第2ハッシュテーブルにおける、ファイル識別子とデータページ識別子とに対応する位置に記憶された第2インデックス情報を取得し、且つ第2インデックス情報におけるデータページの記憶領域のアドレスに基づいて、最初のデータページを検索するデータページ検索ユニット(図示せず)と、最初のデータページに記憶された記憶領域パラメータに基づいて、記憶領域のアドレスが連続的なデータページの数を計算する計算ユニット(図示せず)と、上記数のデータページにおけるデータを読み取って、実行可能ファイルをロードする読み取りユニット(図示せず)と、をさらに備える。
本実施例のいくつかの選択可能な実施形態では、装置1100は、データファイルに対する追加書き込み要求を受信し、追加書き込み要求がファイル名を含む追加書き込み要求受信ユニット(図示せず)と、第1ハッシュテーブルにおける、ファイル名に対応する位置に記憶された第1インデックス情報におけるファイル識別子を取得する第2ファイル識別子取得ユニット(図示せず)と、追加書き込み方式でデータファイルに書き込まれたデータを記憶するためのデータページとデータページのデータページ識別子とを割り当てる第2割り当てユニット(図示せず)と、データページの記憶領域のアドレスを含む第2インデックス情報を生成し、第2ハッシュテーブルにおける、ファイル識別子とデータページ識別子とに対応する位置に第2インデックス情報を記憶する第2インデックス情報処理ユニット(図示せず)と、をさらに備える。
当業者であれば、上記ファイル操作装置1100がさらにいくつかのほかの公知構造、例えばプロセッサ、メモリ等を備えており、本開示の実施例を不明瞭にしないように、これらの周知の構造が図11に示されていないことを理解することができる。
図12は本願の実施例を実現するための端末装置又はサーバに適用されるコンピュータシステム1200の構造模式図を示す。
図12に示すように、コンピュータシステム1200は、読み出し専用メモリ(ROM)1202に記憶されているプログラム又は記憶部1208からランダムアクセスメモリ(RAM)1203にロードされたプログラムに基づいて様々な適切な動作及び処理を実行することができる中央処理装置(CPU)1201を備える。RAM1203には、システム1200の操作に必要な様々なプログラム及びデータがさらに記憶されている。CPU1201、ROM1202及びRAM1203は、バス1204を介して互いに接続されている。入力/出力(I/O)インターフェース1205もバス1204に接続されている。
キーボード、マウスなどを含む入力部1206、陰極線管(CRT)、液晶ディスプレイ(LCD)など、及びスピーカなどを含む出力部1207、ハードディスクなどを含む記憶部1208、及びLANカード、モデムなどを含むネットワークインターフェースカードの通信部1209は、I/Oインターフェース1205に接続されている。通信部1209は、例えばインターネットのようなネットワークを介して通信処理を実行する。ドライバ1210は、必要に応じてI/Oインターフェース1205に接続される。リムーバブルメディア1211は、例えば、マグネチックディスク、光ディスク、光磁気ディスク、半導体メモリなどのようなものであり、必要に応じてドライバ1210に取り付けられ、したがって、ドライバ1210から読み出されたコンピュータプログラムが必要に応じて記憶部1208にインストールされる。
特に、本発明の実施例によれば、上記フローチャートを参照しながら記載されたプロセスは、コンピュータのソフトウェアプログラムとして実現されてもよい。例えば、本発明の実施例は、コンピュータプログラム製品を含み、当該コンピュータプログラム製品は、機械可読媒体に有形に具現化されるコンピュータプログラムを含み、前記コンピュータプログラムは、フローチャートで示される方法を実行するためのプログラムコードを含む。このような実施例では、当該コンピュータプログラムは、通信部1209を介してネットワークからダウンロードされてインストールされてもよく、及び/又はリムーバブルメディア1211からインストールされてもよい。
図面におけるフローチャート及びブロック図は、本発明の各実施例に係るシステム、方法及びコンピュータプログラム製品により実現可能なアーキテクチャ、機能及び操作を示す。ここで、フローチャート又はブロック図における各枠は、1つのモジュール、プログラムセグメント、又はコードの一部を代表してもよく、前記モジュール、プログラムセグメント、又はコードの一部は、規定された論理機能を実現するための1つ以上の実行可能な命令を含む。なお、いくつかの代替実施態様として、枠に示された機能は、図面に示された順番と異なる順番で実行されてもよい。例えば、連続して示された2つの枠は、関連する機能に応じて、実際にほぼ並行に実行されてもよく、逆の順番で実行されてもよい。なお、ブロック図及び/又はフローチャートにおける各枠と、ブロック図及び/又はフローチャートにおける枠の組合せは、規定された機能又は操作を実行する、ハードウェアに基づく専用システムで実現されてもよく、あるいは、専用ハードウェアとコンピュータの命令との組合せで実行されてもよい。
一方、本発明は、不揮発性コンピュータ記憶媒体をさらに提供し、当該不揮発性コンピュータ記憶媒体は、上記実施例の前記装置に含まれる不揮発性コンピュータ記憶媒体であってもよく、独立に存在して端末に組み立てられていない不揮発性コンピュータ記憶媒体であってもよい。前記不揮発性コンピュータ記憶媒体は、1つ以上のプログラムが記憶され、前記1つ以上のプログラムが1つの機器により実行された場合、上記機器に、ターゲットファイルに対する操作要求を受信し、前記ファイル名とデータページ識別子とに基づいて前記データページの記憶領域のアドレスに関連するインデックス情報を取得し、前記インデックス情報に基づいて、前記データページを検索し、且つ前記データページに対する操作を実行するようにさせ、前記操作要求が、ファイル名と、ターゲットファイルを記憶するためのデータページのデータページ識別子とを含んでおり、前記インデックス情報が、前記操作に対応するマシン命令を実行するためのプロセッサのオンチップメモリに記憶される。
以上の記載は、本発明の好ましい実施例、及び使用された技術的原理の説明に過ぎない。本発明に係る特許請求の範囲が、上記技術的特徴の特定な組合せからなる技術案に限定されることではなく、本発明の趣旨を逸脱しない範囲で、上記技術的特徴又は同等の特徴の任意の組合せからなる他の技術案も含むべきであることを、当業者は理解すべきである。例えば、上記特徴と、本発明に開示された類似の機能を持っている技術的特徴(これらに限定されていない)とを互いに置き換えてなる技術案が挙げられる。

Claims (20)

  1. ターゲットファイルに対する操作要求を受信し、前記操作要求が、ファイル名と、ターゲットファイルを記憶するためのデータページのデータページ識別子とを含むステップと、
    前記ファイル名とデータページ識別子とに基づいて前記データページの記憶領域のアドレスに関連するインデックス情報を取得し、前記インデックス情報が、前記操作に対応するマシン命令を実行するためのプロセッサのオンチップメモリに記憶されるステップと、
    前記インデックス情報に基づいて、前記データページを検索し、且つ前記データページに対する操作を実行するステップと、を含む
    ことを特徴とするファイル操作方法。
  2. 前記インデックス情報は、ファイル名及びファイル識別子を含む第1インデックス情報と、データページの記憶領域のアドレスを含む第2インデックス情報とを含む
    ことを特徴とする請求項1に記載の方法。
  3. 前記オンチップメモリの記憶領域から第1データページを選択するステップと、
    ファイル名をキー値とする第1ハッシュテーブルを作成するステップと、
    前記第1ハッシュテーブルにおける、前記キー値に対応する位置に第1インデックス情報を記憶するステップと、
    前記第1ハッシュテーブルを第1データページに記憶するステップと、をさらに含む
    ことを特徴とする請求項2に記載の方法。
  4. 前記オンチップメモリの記憶領域から第2データページを選択するステップと、
    ファイル識別子及びデータページ識別子をキー値とする第2ハッシュテーブルを作成するステップと、
    前記第2ハッシュテーブルにおける、前記キー値に対応する位置に第2インデックス情報を記憶するステップと、
    前記第2ハッシュテーブルを第2データページに記憶するステップと、をさらに含む
    ことを特徴とする請求項3に記載の方法。
  5. 前記の前記インデックス情報に基づいて、前記データページを検索するステップには、
    第1ハッシュテーブルにおける、前記ファイル名に対応する位置に記憶された第1インデックス情報におけるファイル識別子を取得するステップと、
    第2ハッシュテーブルにおける、前記ファイル識別子と前記データページ識別子とに対応する位置に記憶された第2インデックス情報を取得するステップと、
    第2インデックス情報におけるデータページの記憶領域のアドレスに基づいて、前記データページを検索するステップと、を含む
    ことを特徴とする請求項4に記載の方法。
  6. ターゲットファイルに対する操作要求を受信する前に、
    ターゲットファイルに対する作成要求を受信し、前記作成要求がファイル名を含むステップと、
    前記ファイル名に対応するファイル識別子を割り当てるステップと、
    前記ファイル名及びファイル識別子を含む第1インデックス情報を生成し、且つ第1ハッシュテーブルにおける、前記ファイル名に対応する位置に前記第1インデックス情報を記憶するステップと、をさらに含む
    ことを特徴とする請求項5に記載の方法。
  7. 前記ターゲットファイルは実行可能ファイルであり、
    前記実行可能ファイルに対する書き込み要求を受信し、且つ前記実行可能ファイルを記憶するためのデータページの数を決定するステップと、
    前記数の記憶領域のアドレスが連続的なデータページと前記データページのデータページ識別子とを割り当て、且つ前記データページのうちの最初のデータページにおいて前記実行可能ファイルの記憶領域のサイズを指示する記憶領域パラメータを記憶するステップと、
    前記最初のデータページの記憶領域のアドレスを含む第2インデックス情報を生成するステップと、
    第2ハッシュテーブルにおける、前記ファイル識別子と最初のデータページのデータページ識別子とに対応する位置に前記第2インデックス情報を記憶するステップと、をさらに含む
    ことを特徴とする請求項6に記載の方法。
  8. 前記実行可能ファイルに対するロード要求を受信し、前記ロード要求が、ファイル名と、前記最初のデータページのデータページ識別子とを含むステップと、
    第1ハッシュテーブルにおける、前記ファイル名に対応する位置に記憶された第1インデックス情報におけるファイル識別子を取得するステップと、
    第2ハッシュテーブルにおける、前記ファイル識別子とデータページ識別子とに対応する位置に記憶された第2インデックス情報を取得し、且つ前記第2インデックス情報における、データページの記憶領域のアドレスに基づいて、前記最初のデータページを検索するステップと、
    前記最初のデータページに記憶された前記記憶領域パラメータに基づいて、記憶領域のアドレスが連続的なデータページの数を計算するステップと、
    前記数のデータページにおけるデータを読み取って、前記実行可能ファイルをロードするステップと、をさらに含む
    ことを特徴とする請求項7に記載の方法。
  9. 前記ターゲットファイルはデータファイルであり、
    前記データファイルに対する追加書き込み要求を受信し、前記追加書き込み要求がファイル名を含むステップと、
    第1ハッシュテーブルにおける、前記ファイル名に対応する位置に記憶された第1インデックス情報におけるファイル識別子を取得するステップと、
    追加書き込み方式でデータファイルに書き込まれたデータを記憶するためのデータページと前記データページのデータページ識別子とを割り当てるステップと、
    前記データページの記憶領域のアドレスを含む第2インデックス情報を生成し、且つ第2ハッシュテーブルにおける、前記ファイル識別子とデータページ識別子とに対応する位置に前記第2インデックス情報を記憶するステップと、をさらに含む
    ことを特徴とする請求項6に記載の方法。
  10. ターゲットファイルに対する操作要求を受信し、前記操作要求が、ファイル名と、ターゲットファイルを記憶するためのデータページのデータページ識別子とを含む受信ユニットと、
    前記ファイル名とデータページ識別子とに基づいて前記データページの記憶領域のアドレスに関連するインデックス情報を取得し、前記インデックス情報が、前記操作に対応するマシン命令を実行するためのプロセッサのオンチップメモリに記憶される取得ユニットと、
    前記インデックス情報に基づいて、前記データページを検索し、且つ前記データページに対する操作を実行する処理ユニットと、を備える
    ことを特徴とするファイル操作装置。
  11. 前記インデックス情報は、ファイル名及びファイル識別子を含む第1インデックス情報と、データページの記憶領域のアドレスを含む第2インデックス情報とを含むことを特徴とする請求項10に記載の装置。
  12. 前記オンチップメモリの記憶領域から第1データページを選択する第1選択ユニットと、
    ファイル名をキー値とする第1ハッシュテーブルを作成する第1作成ユニットと、
    前記第1ハッシュテーブルにおける、前記キー値に対応する位置に第1インデックス情報を記憶する第1インデックス情報記憶ユニットと、
    前記第1ハッシュテーブルを第1データページに記憶する第1ハッシュテーブル記憶ユニットと、をさらに備える
    ことを特徴とする請求項11に記載の装置。
  13. 前記オンチップメモリの記憶領域から第2データページを選択する第2選択ユニットと、
    ファイル識別子及びデータページ識別子をキー値とする第2ハッシュテーブルを作成する第2作成ユニットと、
    前記第2ハッシュテーブルにおける、前記キー値に対応する位置に第2インデックス情報を記憶する第2インデックス情報記憶ユニットと、
    前記第2ハッシュテーブルを第2データページに記憶する第2ハッシュテーブル記憶ユニットと、をさらに備える
    ことを特徴とする請求項12に記載の装置。
  14. 前記処理ユニットは、
    第1ハッシュテーブルにおける、前記ファイル名に対応する位置に記憶された第1インデックス情報におけるファイル識別子を取得するファイル識別子取得サブユニットと、
    第2ハッシュテーブルにおける、前記ファイル識別子と前記データページ識別子とに対応する位置に記憶された第2インデックス情報を取得する第2インデックス情報取得サブユニットと、
    第2インデックス情報におけるデータページの記憶領域のアドレスに基づいて、前記データページを検索する検索サブユニットと、を備える
    ことを特徴とする請求項13に記載の装置。
  15. ターゲットファイルに対する操作要求を受信する前に、ターゲットファイルに対する作成要求を受信し、前記作成要求がファイル名を含む作成要求受信ユニットと、
    前記ファイル名に対応するファイル識別子を割り当てるファイル識別子割り当てユニットと、
    前記ファイル名及びファイル識別子を含む第1インデックス情報を生成し、且つ第1ハッシュテーブルにおける、前記ファイル名に対応する位置に前記第1インデックス情報を記憶するインデックス情報生成ユニットと、をさらに備える
    ことを特徴とする請求項14に記載の装置。
  16. 実行可能ファイルに対する書き込み要求を受信し、且つ前記実行可能ファイルを記憶するためのデータページの数を決定する書き込み要求受信ユニットと、
    前記数の記憶領域のアドレスが連続的なデータページと前記データページのデータページ識別子とを割り当て、且つ前記データページのうちの最初のデータページにおいて前記実行可能ファイルの記憶領域のサイズを指示する記憶領域パラメータを記憶する第1割り当てユニットと、
    前記最初のデータページの記憶領域のアドレスを含む第2インデックス情報を生成する第2インデックス情報生成ユニットと、
    第2ハッシュテーブルにおける、前記ファイル識別子と最初のデータページのデータページ識別子とに対応する位置に前記第2インデックス情報を記憶する第2インデックス情報記憶ユニットと、をさらに備える
    ことを特徴とする請求項15に記載の装置。
  17. 前記実行可能ファイルに対するロード要求を受信し、前記ロード要求が、ファイル名と、前記最初のデータページのデータページ識別子とを含むロード要求受信ユニットと、
    第1ハッシュテーブルにおける、前記ファイル名に対応する位置に記憶された第1インデックス情報におけるファイル識別子を取得する第1ファイル識別子取得ユニットと、
    第2ハッシュテーブルにおける、前記ファイル識別子とデータページ識別子とに対応する位置に記憶された第2インデックス情報を取得し、且つ前記第2インデックス情報におけるデータページの記憶領域のアドレスに基づいて、前記最初のデータページを検索するデータページ検索ユニットと、
    前記最初のデータページに記憶された前記記憶領域パラメータに基づいて、記憶領域のアドレスが連続的なデータページの数を計算する計算ユニットと、
    前記数のデータページにおけるデータを読み取って、前記実行可能ファイルをロードする読み取りユニットと、をさらに備える
    ことを特徴とする請求項16に記載の装置。
  18. データファイルに対する追加書き込み要求を受信し、前記追加書き込み要求がファイル名を含む追加書き込み要求受信ユニットと、
    第1ハッシュテーブルにおける、前記ファイル名に対応する位置に記憶された第1インデックス情報におけるファイル識別子を取得する第2ファイル識別子取得ユニットと、
    追加書き込み方式でデータファイルに書き込まれたデータを記憶するためのデータページと前記データページのデータページ識別子とを割り当てる第2割り当てユニットと、
    前記データページの記憶領域のアドレスを含む第2インデックス情報を生成し、第2ハッシュテーブルにおける、前記ファイル識別子とデータページ識別子とに対応する位置に前記第2インデックス情報を記憶する第2インデックス情報処理ユニットと、をさらに備える
    ことを特徴とする請求項15に記載の装置。
  19. プロセッサと、
    メモリと、を備えており、
    前記メモリに、前記プロセッサが実行可能なコンピュータ可読命令が記憶されて、前記コンピュータ可読命令が実行される場合、前記プロセッサがファイル操作方法を実行し、 前記方法は、
    ターゲットファイルに対する操作要求を受信し、前記操作要求が、ファイル名と、ターゲットファイルを記憶するためのデータページのデータページ識別子とを含むステップと、
    前記ファイル名とデータページ識別子とに基づいて前記データページの記憶領域のアドレスに関連するインデックス情報を取得し、前記インデックス情報が、前記操作に対応するマシン命令を実行するためのプロセッサのオンチップメモリに記憶されるステップと、
    前記インデックス情報に基づいて、前記データページを検索し、且つ前記データページに対する操作を実行するステップと、を含む
    ことを特徴とする機器。
  20. 不揮発性コンピュータ記憶媒体であって、前記コンピュータ記憶媒体にプロセッサが実行可能なコンピュータ可読命令が記憶され、前記コンピュータ可読命令がプロセッサにより実行される場合、前記プロセッサがファイル操作方法を実行し、前記方法は、
    ターゲットファイルに対する操作要求を受信し、前記操作要求が、ファイル名と、ターゲットファイルを記憶するためのデータページのデータページ識別子とを含むステップと、
    前記ファイル名とデータページ識別子とに基づいて前記データページの記憶領域のアドレスに関連するインデックス情報を取得し、前記インデックス情報が、前記操作に対応するマシン命令を実行するためのプロセッサのオンチップメモリに記憶されるステップと、
    前記インデックス情報に基づいて、前記データページを検索し、且つ前記データページに対する操作を実行するステップと、を含む
    ことを特徴とする不揮発性コンピュータ記憶媒体。
JP2017552149A 2015-12-25 2016-06-17 ファイル操作方法及び装置 Active JP6542909B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510993999.9A CN105550345B (zh) 2015-12-25 2015-12-25 文件操作方法和装置
CN201510993999.9 2015-12-25
PCT/CN2016/086216 WO2017107414A1 (zh) 2015-12-25 2016-06-17 文件操作方法和装置

Publications (2)

Publication Number Publication Date
JP2018518733A true JP2018518733A (ja) 2018-07-12
JP6542909B2 JP6542909B2 (ja) 2019-07-10

Family

ID=55829534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017552149A Active JP6542909B2 (ja) 2015-12-25 2016-06-17 ファイル操作方法及び装置

Country Status (6)

Country Link
US (1) US11003625B2 (ja)
EP (1) EP3260993A4 (ja)
JP (1) JP6542909B2 (ja)
KR (1) KR101994021B1 (ja)
CN (1) CN105550345B (ja)
WO (1) WO2017107414A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550345B (zh) 2015-12-25 2019-03-26 百度在线网络技术(北京)有限公司 文件操作方法和装置
EP3560136B1 (en) * 2016-12-22 2020-12-02 Itext Group NV Distributed blockchain-based method for saving the location of a file
US11016932B2 (en) 2017-09-21 2021-05-25 Alibaba Group Holding Limited Systems, methods, and apparatuses for simplifying filesystem operations utilizing a key-value storage system
CN114035749B (zh) * 2018-01-12 2023-02-28 珠海极海半导体有限公司 电子设备和Flash存储器
CN108763582B (zh) * 2018-06-11 2023-04-21 腾讯科技(深圳)有限公司 文件搜索方法、装置、终端及存储介质
CN109857718A (zh) * 2019-02-01 2019-06-07 广州亚美信息科技有限公司 一种应用于嵌入式系统的日志式文件系统
US10817466B2 (en) * 2019-03-22 2020-10-27 Bank Of America Corporation Dynamic server pool data segmentation using dynamic ordinal partition key without locks
US11580162B2 (en) 2019-04-18 2023-02-14 Samsung Electronics Co., Ltd. Key value append
CN110489425B (zh) * 2019-08-26 2022-04-12 上海达梦数据库有限公司 一种数据访问方法、装置、设备及存储介质
CN111400267B (zh) * 2019-11-19 2023-09-01 杭州海康威视系统技术有限公司 记录日志的方法和装置
CN111290714B (zh) * 2020-02-06 2023-09-05 北京百度网讯科技有限公司 数据读取方法和装置
CN111309985B (zh) * 2020-03-10 2023-08-25 支付宝(杭州)信息技术有限公司 基于PostgreSQL数据库的高维向量存储方法和装置
CN113742307B (zh) * 2021-08-11 2023-08-25 达梦数据技术(江苏)有限公司 一种基于值日志系统的二级索引的存储和查询方法及系统
CN117093881B (zh) * 2023-10-19 2024-01-12 深圳大普微电子股份有限公司 一种数据压缩方法、装置及电子设备和存储介质
CN117235078B (zh) * 2023-11-15 2024-01-30 湖南速子文化科技有限公司 一种高速处理海量数据的方法、系统、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184720A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage in flash memories
JP2014529126A (ja) * 2011-08-11 2014-10-30 ピュア・ストレージ・インコーポレイテッド フラッシュストレージアレイにおける論理セクタマッピング
JP2014532227A (ja) * 2011-09-30 2014-12-04 ピュア・ストレージ・インコーポレイテッド ストレージシステムにおける可変長符号化
JP2015072711A (ja) * 2014-12-05 2015-04-16 アビニシオ テクノロジー エルエルシー 個別にアクセス可能なデータ単位の記憶の管理

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2305746B (en) * 1995-09-27 2000-03-29 Canon Res Ct Europe Ltd Data compression apparatus
US6862602B2 (en) * 1997-03-07 2005-03-01 Apple Computer, Inc. System and method for rapidly identifying the existence and location of an item in a file
US6324637B1 (en) * 1999-08-13 2001-11-27 Sun Microsystems, Inc. Apparatus and method for loading objects from a primary memory hash index
US7412462B2 (en) * 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
US6567817B1 (en) * 2000-09-08 2003-05-20 Hewlett-Packard Development Company, L.P. Cache management system using hashing
US6748401B2 (en) * 2001-10-11 2004-06-08 International Business Machines Corporation Method and system for dynamically managing hash pool data structures
KR100484942B1 (ko) * 2002-03-14 2005-04-25 한국전자통신연구원 대용량 파일시스템의 디렉토리 관리방법
US7158999B2 (en) * 2004-02-20 2007-01-02 Mainstar Software Corporation Reorganization and repair of an ICF catalog while open and in-use in a digital data storage system
US7272654B1 (en) * 2004-03-04 2007-09-18 Sandbox Networks, Inc. Virtualizing network-attached-storage (NAS) with a compact table that stores lossy hashes of file names and parent handles rather than full names
US7730012B2 (en) * 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
US20060059204A1 (en) * 2004-08-25 2006-03-16 Dhrubajyoti Borthakur System and method for selectively indexing file system content
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US7650389B2 (en) * 2006-02-01 2010-01-19 Subhashis Mohanty Wireless system and method for managing logical documents
CN100377118C (zh) 2006-03-16 2008-03-26 浙江大学 基于sram的嵌入式文件系统的实现方法
US7444499B2 (en) * 2006-03-28 2008-10-28 Sun Microsystems, Inc. Method and system for trace generation using memory index hashing
US20080104146A1 (en) * 2006-10-31 2008-05-01 Rebit, Inc. System for automatically shadowing encrypted data and file directory structures for a plurality of network-connected computers using a network-attached memory with single instance storage
US9690790B2 (en) * 2007-03-05 2017-06-27 Dell Software Inc. Method and apparatus for efficiently merging, storing and retrieving incremental data
WO2009125027A1 (es) 2008-04-11 2009-10-15 Microelectronica Española S.A.U. Procedimiento para acceder a un sistema de almacenamiento con múltiples sistemas de ficheros
US7979671B2 (en) * 2008-07-28 2011-07-12 CacheIQ, Inc. Dual hash indexing system and methodology
US9235577B2 (en) * 2008-09-04 2016-01-12 Vmware, Inc. File transfer using standard blocks and standard-block identifiers
US8572409B2 (en) * 2008-09-26 2013-10-29 Stephen P. Spackman Method and apparatus for non-redundant encrypted storage
US8495036B2 (en) * 2008-10-24 2013-07-23 Microsoft Corporation Blob manipulation in an integrated structured storage system
CA2766161C (en) * 2009-06-26 2018-07-17 Simplivity Corporation Scalable indexing in a non-uniform access memory
JP5551245B2 (ja) * 2010-03-19 2014-07-16 株式会社日立製作所 ファイル共有システムおよびファイル処理方法、並びにプログラム
US8935487B2 (en) * 2010-05-05 2015-01-13 Microsoft Corporation Fast and low-RAM-footprint indexing for data deduplication
CN101901263A (zh) * 2010-07-22 2010-12-01 华为终端有限公司 文件系统的访问方法及装置
US8271462B2 (en) * 2010-12-10 2012-09-18 Inventec Corporation Method for creating a index of the data blocks
CN102629234B (zh) * 2012-01-18 2015-01-21 物联微电子(常熟)有限公司 一种单片机片内置Flash数据快速检索方法
US8793466B2 (en) * 2012-04-27 2014-07-29 Netapp, Inc. Efficient data object storage and retrieval
US8762353B2 (en) * 2012-06-13 2014-06-24 Caringo, Inc. Elimination of duplicate objects in storage clusters
US9043334B2 (en) * 2012-12-26 2015-05-26 Industrial Technology Research Institute Method and system for accessing files on a storage system
US8751763B1 (en) * 2013-03-13 2014-06-10 Nimbus Data Systems, Inc. Low-overhead deduplication within a block-based data storage
CN104346357B (zh) * 2013-07-29 2018-02-13 中国科学院声学研究所 一种嵌入式终端的文件存取方法及系统
US20150215389A1 (en) * 2014-01-30 2015-07-30 Salesforce.Com, Inc. Distributed server architecture
CN105550345B (zh) 2015-12-25 2019-03-26 百度在线网络技术(北京)有限公司 文件操作方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184720A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage in flash memories
JP2014529126A (ja) * 2011-08-11 2014-10-30 ピュア・ストレージ・インコーポレイテッド フラッシュストレージアレイにおける論理セクタマッピング
JP2014532227A (ja) * 2011-09-30 2014-12-04 ピュア・ストレージ・インコーポレイテッド ストレージシステムにおける可変長符号化
JP2015072711A (ja) * 2014-12-05 2015-04-16 アビニシオ テクノロジー エルエルシー 個別にアクセス可能なデータ単位の記憶の管理

Also Published As

Publication number Publication date
WO2017107414A1 (zh) 2017-06-29
US20180285376A1 (en) 2018-10-04
CN105550345A (zh) 2016-05-04
US11003625B2 (en) 2021-05-11
KR101994021B1 (ko) 2019-06-27
EP3260993A1 (en) 2017-12-27
EP3260993A4 (en) 2018-01-24
KR20170123336A (ko) 2017-11-07
CN105550345B (zh) 2019-03-26
JP6542909B2 (ja) 2019-07-10

Similar Documents

Publication Publication Date Title
JP6542909B2 (ja) ファイル操作方法及び装置
US10394847B2 (en) Processing data in a distributed database across a plurality of clusters
US11082206B2 (en) Layout-independent cryptographic stamp of a distributed dataset
CN109254733B (zh) 用于存储数据的方法、装置和系统
RU2658886C1 (ru) Способ управления файлами, распределенная система хранения и узел управления
US9317519B2 (en) Storage system for eliminating duplicated data
CN110908609B (zh) 一种磁盘处理的方法、系统、设备及可读存储介质
US20190220443A1 (en) Method, apparatus, and computer program product for indexing a file
US20210209057A1 (en) File system quota versioning
WO2024078429A1 (zh) 内存管理方法、装置、计算机设备及存储介质
JP6268116B2 (ja) データ処理装置、データ処理方法およびコンピュータプログラム
WO2024099448A1 (zh) 内存释放、内存恢复方法、装置、计算机设备及存储介质
US20210089442A1 (en) Dynamically allocating memory pool subinstances
US10642817B2 (en) Index table update method, and device
JP2020194522A (ja) データを処理するための方法、装置、デバイス及び媒体
EP3007067A1 (en) Method of memory access, buffer scheduler and memory module
CN107329798B (zh) 数据复制的方法、装置和虚拟化系统
WO2023179784A1 (zh) 数据处理方法以及装置
US20170357657A1 (en) Systems and methods for implementing dynamic file systems
CN114640678A (zh) 基于SR-IOV的Pod管理方法、设备及介质
WO2015161804A1 (zh) 一种Cache分区的方法及装置
CN106650480B (zh) 文件访问隔离方法和装置
US9251101B2 (en) Bitmap locking using a nodal lock
JP2013254357A (ja) 情報処理装置および方法、並びにプログラム
CN107145300B (zh) 数据共享管理方法及装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190613

R150 Certificate of patent or registration of utility model

Ref document number: 6542909

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