JP2008097149A - 情報処理プログラム及び情報処理装置 - Google Patents
情報処理プログラム及び情報処理装置 Download PDFInfo
- Publication number
- JP2008097149A JP2008097149A JP2006275709A JP2006275709A JP2008097149A JP 2008097149 A JP2008097149 A JP 2008097149A JP 2006275709 A JP2006275709 A JP 2006275709A JP 2006275709 A JP2006275709 A JP 2006275709A JP 2008097149 A JP2008097149 A JP 2008097149A
- Authority
- JP
- Japan
- Prior art keywords
- management information
- folder
- event
- file
- file system
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】ファイルやフォルダに対する操作の情報が得られない監視対象のファイルシステムで行われたフォルダの移動や名前の変更を検出する処理を行う。
【解決手段】検出部13は、管理情報取得部11がファイルシステム2から取得した現在の管理情報と、管理情報記憶部12が記憶している前回の管理情報とを比較し、追加・更新・削除イベントを検出する。追加及び削除イベントが検出されたフォルダについて、変更部14は移動あるいは名前の変更が行われたフォルダを抽出して、それらのフォルダのイベントを移動に変更する。これによって、ファイル処理部3による追加されたファイルに対する処理が抑制される。
【選択図】図1
【解決手段】検出部13は、管理情報取得部11がファイルシステム2から取得した現在の管理情報と、管理情報記憶部12が記憶している前回の管理情報とを比較し、追加・更新・削除イベントを検出する。追加及び削除イベントが検出されたフォルダについて、変更部14は移動あるいは名前の変更が行われたフォルダを抽出して、それらのフォルダのイベントを移動に変更する。これによって、ファイル処理部3による追加されたファイルに対する処理が抑制される。
【選択図】図1
Description
本発明は、情報処理プログラム及び情報処理装置に関するものである。
一般にコンピュータにおいてはファイルシステムがデータをファイルとして管理しており、そのファイルシステムが管理している各ファイルと連動し、様々な処理が行われている。例えば、ファイル検索やファイルの内容の高速な検索あるいは的確な検索を行うために、ファイルシステムとは別にインデクスを作成しておいて、そのインデクスを用いて所望のファイルを検索して特定し、特定したファイルをファイルシステムから取り出す、といった処理が行われている。このとき用いるインデクスは、例えば内容の検索を行うのであれば、ファイルシステムが管理している各ファイルの内容の解析やキーワードの抽出など、それぞれのファイルについて処理を行うことにより作成される。
このようにファイルシステムが管理するファイルについて、それぞれ対応した処理を行っている場合、ファイルシステムにおいてファイルが追加または変更されたときには、その追加または変更されたファイルについて、連動している処理を新規にあるいはやり直す必要がある。そのため、ファイルシステムから追加や変更を含む何らかの変動があったファイルを検出し、そのファイルについて処理を行うことになる。
ファイルに対する操作としては、新規追加や内容の変更だけでなく、ファイルシステム上でのファイルの移動や名前の変更などもある。これらの操作においては、ファイルの内容が変更されているわけではないため、ファイルに対する処理を行わなくてもよい場合がある。従って、ファイルに対する操作がファイルの移動や名前の変更であることがわかれば、改めてファイルに対する処理を行うことなく、簡単なファイルの移動や名前の変更への対処を行えばよい。
例えば特許文献1においては、2台のコンピュータ内のファイルシステムを同一に保つため、ファイルの識別子をファイル名とは別に持つとともに、ファイル毎の操作履歴を保持し、ファイル識別子とその操作履歴を用いることにより、ファイルの移動であるパス変更や、名前の変更を検出して、そのような場合にはファイルの転送を行わないようにしている。
上述のように、ファイルに対する操作が得られるファイルシステムであれば、その操作を監視し、行われた操作に対応した処理を行えばよい。しかし、ファイルシステムによっては、ファイルに対して行われた操作の情報が得られず、現在の状態から行われた操作を推測するしかない場合も多い。このような場合には、監視対象のファイルシステムにおける過去の状態と現在の状態とを比較し、異なっているファイルについて、削除あるいは追加として検出している。例えばファイルの移動が行われた場合には、過去に存在していた位置からのファイルの削除と、移動先でのファイルの追加として検出している。また、名前の変更についても、変更前の名前のファイルの削除と、変更後の名前のファイルの追加として検出している。そのため、ファイルの移動や名前の変更を行った時には、内容が変更されていなくても、当該ファイルについて対応する処理を行っていた。
特にファイルシステムがツリー構造でファイルを管理している場合、ツリー構造のノードに対応する、いわゆるフォルダを設けることができるが、このフォルダについても移動や名前の変更が行われる。このようなフォルダにおける移動や名前の変更が行われると、その配下の多くのフォルダやファイルについて追加及び削除が検出され、追加として検出された多くのファイルについて再処理を行う必要が生じていた。
本発明は、上述した事情に鑑みてなされたもので、フォルダに対する操作の情報が得られないファイルシステムを監視対象とし、そのような監視対象のファイルシステムで行われたフォルダの移動や名前の変更を検出可能とした情報処理プログラム及び情報処理装置を提供することを目的とするものである。
本願請求項1に記載の発明は、
複数のフォルダをツリー構造で階層的に管理するファイルシステムから該ファイルシステムの前記ツリー構造についての情報を含む現在の管理情報を取得する管理情報取得処理と、
前記ファイルシステムの前記ツリー構造についての情報を含む過去の管理情報を前記管理情報記憶手段に記憶する管理情報記憶処理と、
前記管理情報取得処理で取得した現在の管理情報と前記管理情報記憶手段に記憶されている過去の管理情報とを比較して、前記ファイルシステムのフォルダの追加及び削除のイベントを検出する検出処理と、
前記検出手段で追加のイベントが検出されたフォルダと削除のイベントが検出されたフォルダのうち、前記管理情報取得処理で取得した現在の管理情報中の前記フォルダに関する部分的な前記ツリー構造についての管理情報と前記管理情報記憶手段に記憶されている過去の管理情報中の前記フォルダに関する部分的な前記ツリー構造についての管理情報とが一致するフォルダについてのイベントを移動のイベントに変更する変更処理
をコンピュータに実行させることを特徴とする情報処理プログラム
である。
複数のフォルダをツリー構造で階層的に管理するファイルシステムから該ファイルシステムの前記ツリー構造についての情報を含む現在の管理情報を取得する管理情報取得処理と、
前記ファイルシステムの前記ツリー構造についての情報を含む過去の管理情報を前記管理情報記憶手段に記憶する管理情報記憶処理と、
前記管理情報取得処理で取得した現在の管理情報と前記管理情報記憶手段に記憶されている過去の管理情報とを比較して、前記ファイルシステムのフォルダの追加及び削除のイベントを検出する検出処理と、
前記検出手段で追加のイベントが検出されたフォルダと削除のイベントが検出されたフォルダのうち、前記管理情報取得処理で取得した現在の管理情報中の前記フォルダに関する部分的な前記ツリー構造についての管理情報と前記管理情報記憶手段に記憶されている過去の管理情報中の前記フォルダに関する部分的な前記ツリー構造についての管理情報とが一致するフォルダについてのイベントを移動のイベントに変更する変更処理
をコンピュータに実行させることを特徴とする情報処理プログラム
である。
また本願請求項2に記載の発明は、本願請求項1に記載の構成における変更処理において、イベントの変更を行う対象となったフォルダの下位の階層に含まれるフォルダ及びファイルの数が所定数より少ない場合には前記イベントの変更は行わないことを特徴とする情報処理プログラムである。
さらに本願請求項3に記載の発明は、
複数のフォルダをツリー構造で階層的に管理するファイルシステムから該ファイルシステムの前記ツリー構造についての情報を含む現在の管理情報を取得する管理情報取得手段と、
前記ファイルシステムの前記ツリー構造についての情報を含む過去の管理情報を記憶する管理情報記憶手段と、
前記管理情報取得手段で取得した現在の管理情報と前記管理情報記憶手段に記憶されている過去の管理情報とを比較して、前記ファイルシステムのフォルダの追加及び削除のイベントを検出する検出手段と、
前記検出手段で追加のイベントが検出されたフォルダと削除のイベントが検出されたフォルダのうち、前記管理情報取得手段で取得した現在の管理情報中の前記フォルダに関する部分的な前記ツリー構造についての管理情報と前記管理情報記憶手段に記憶されている過去の管理情報中の前記フォルダに関する部分的な前記ツリー構造についての管理情報とが一致するフォルダについてのイベントを移動に変更する変更手段
を有することを特徴とする情報処理装置
である。
複数のフォルダをツリー構造で階層的に管理するファイルシステムから該ファイルシステムの前記ツリー構造についての情報を含む現在の管理情報を取得する管理情報取得手段と、
前記ファイルシステムの前記ツリー構造についての情報を含む過去の管理情報を記憶する管理情報記憶手段と、
前記管理情報取得手段で取得した現在の管理情報と前記管理情報記憶手段に記憶されている過去の管理情報とを比較して、前記ファイルシステムのフォルダの追加及び削除のイベントを検出する検出手段と、
前記検出手段で追加のイベントが検出されたフォルダと削除のイベントが検出されたフォルダのうち、前記管理情報取得手段で取得した現在の管理情報中の前記フォルダに関する部分的な前記ツリー構造についての管理情報と前記管理情報記憶手段に記憶されている過去の管理情報中の前記フォルダに関する部分的な前記ツリー構造についての管理情報とが一致するフォルダについてのイベントを移動に変更する変更手段
を有することを特徴とする情報処理装置
である。
本願請求項1に記載の発明によれば、フォルダに対する操作の情報が得られない多くのファイルシステムを監視対象とすることができ、そのような場合であっても、フォルダの移動または名前の変更を移動のイベントとして検出することができる。例えばファイルシステム内のフォルダについて処理を行う場合に、移動や名前が変更されたフォルダについての処理を省略することが可能となり、無駄な処理を低減することができる。
本願請求項2に記載の発明によれば、追加のイベントにより処理対象となるフォルダが少ない場合には変更処理を省略することができ、オーバヘッドを低減することができる。
本願請求項3に記載の発明によれば、本願請求項1に記載の発明と同様の効果を得ることができる。
図1は、本発明の実施の一形態を示すブロック図である。図中、1はイベント検出部、2はファイルシステム、3はファイル処理部、11は管理情報取得部、12は管理情報記憶部、13は検出部、14は変更部である。ファイルシステム2は本発明のイベント検出部1による監視対象のファイルシステムである。このファイルシステム2は、ノードとしてフォルダを有するツリー構造によりファイルを管理している。そしてファイルやフォルダの追加、削除、移動(パス変更)、内容の更新などを行うことができる。またファイルシステム2は、要求に応じてファイルやフォルダの一般的な管理情報を提供する。例えばファイルやフォルダのパスを含む名前、作成日時、最終更新日時などの基本的な情報を少なくとも提供する。
イベント検出部1は、ファイルシステム2におけるファイルやフォルダの状況を監視し、何らかの変更があったファイルやフォルダについて、ファイル処理部3に通知する。より具体的には、ファイルシステム2に対してファイル及びフォルダの管理情報を要求して取得し、その管理情報からファイル及びフォルダが追加・更新・削除・移動されたことを、それぞれ追加・更新・削除・移動のイベントとして検出してファイル処理部3へ渡す。
この例では、イベント検出部1は管理情報取得部11、管理情報記憶部12、検出部13、変更部14などを含んで構成されている。管理情報取得部11は、ファイルシステム2に対してファイル及びフォルダの管理情報を要求して取得する。管理情報記憶部12は、管理情報取得部11で取得した管理情報を記憶するものであり、管理情報取得部11で管理情報を新たに取得したときに少なくとも前回取得した管理情報については記憶している。もちろん、管理情報取得部11が新たに取得した管理情報についても、次回に利用するために記憶することになる。
検出部13は、管理情報取得部11で取得した管理情報と、管理情報記憶部12に記憶されている過去の管理情報(例えば前回取得した管理情報)を比較し、ファイル及びフォルダの追加・更新・削除のイベントを検出する。例えば管理情報中のパスを含む名前が同じで最終更新日時が異なるファイルについては、更新イベントとして検出することができる。また、現在の管理情報に存在するが過去の管理情報に同一の名前が存在しないフォルダ及びファイルについては追加イベントとして検出することができる。逆に過去の管理情報に存在するが現在の管理情報に同一の名前が存在しないフォルダ及びファイルについては削除イベントとして検出することができる。
変更部14は、検出部13で追加イベント及び削除イベントが検出されたフォルダ及びファイルについて、サブツリーの管理情報が一致するフォルダについて移動イベントに変更する。このとき、サブツリー内のフォルダ及びファイルの数が所定数より少ない場合には、イベントの変更の処理を行わないように構成することができる。なお、所定数は任意であり、固定値を用いるほか、ユーザが設定したり、あるいはファイルシステムの状況やファイル処理部3の処理などに応じて自動的に設定することもできる。
図2は、本発明の実施の一形態における動作の概要を示すフローチャートである。定期的に、あるいはユーザからの指示、またはファイルシステム2へのユーザの操作を検知するなどの何らかのタイミングにおいて、イベント検出部1が動作を開始し、図2に示す処理が行われる。
イベント検出部1は、まずS21において、管理情報取得部11がファイルシステム2に対して管理情報を要求し、ファイルシステム2が管理しているファイル及びフォルダの現在の管理情報を取得する。なお、前回のイベント検出部1の動作時に管理情報取得部11が取得した管理情報が管理情報記憶部12に記憶されている。
管理情報取得部11がファイルシステム2から現在の管理情報を取得すると、S22において、検出部13は、管理情報取得部が取得した現在の管理情報と、管理情報記憶部12が記憶している前回の管理情報とを比較し、管理情報が相違するファイル及びフォルダを抽出して、それらのファイル及びフォルダについて追加・更新・削除のいずれのイベントであるかを判断する。この判断は、上述のように管理情報中のパスを含む名前が同じで最終更新日時が異なるファイルについては、更新イベントとして検出する。また、現在の管理情報に存在するが過去の管理情報に同一の名前(パスを含む)が存在しないフォルダ及びファイルについては追加イベントとして検出する。逆に過去の管理情報は存在するが現在の管理情報に同一の名前(パスを含む)が存在しないフォルダ及びファイルについては削除イベントとして検出する。
検出部13で各イベントを検出したら、S23において、変更部14は検出部13で追加イベント及び削除イベントを検出したファイル及びフォルダの中から、移動あるいは名前の変更が行われたファイル及びフォルダを抽出して、それらのファイルやフォルダのイベントを移動イベントに変更する。この処理については後述する。
変更部14で適宜、イベントを変更したファイルやフォルダについて、S24において、イベントの発生をファイル処理部3へ出力する。ファイル処理部3において行われる処理は任意であるが、例えば削除イベントのファイルに関する情報を削除し、追加イベント及び更新イベントのファイルについては新たに処理を施す。また、移動イベントに変更されたファイルやフォルダについては、移動の処理を行うだけでファイルに対する新たな処理を行わないようにすることができ、ファイル処理部3における処理負荷が軽減される。
図3は、変更部14における処理の一例を示すフローチャートである。S31において、検出部13で検出されたイベントが削除イベントのファイル及びフォルダの集合D={d1,・・・,dm}と、追加イベントのファイル及びフォルダの集合A={a1,・・・,an}を作成する。なお、後述するS33で用いる所定数が1以上の場合には、ファイルについてはS33で削除されることが分かっているので、S31,S32で集合を作成する際にファイルを含めずにフォルダのみを処理対象としてもよい。以下の説明ではフォルダのみを処理対象とする。なお、S33の処理を行わない場合、あるいは所定数を0とする可能性がある場合には、ファイルについても集合に含めるようにすればよい。
S32において、集合Dの各要素と集合Aの各要素であるフォルダについて、そのフォルダを頂点とするサブツリー内のフォルダ及びファイルの数を算出する。ここで、サブツリーの頂点となるフォルダをfとするとき、サブツリー内のフォルダ及びファイルの数をdN(f)とする。なお、集合D,Aにファイルを含めている場合には、dN(f)=0となる。
S33において、S32で算出した数と予め設定されている所定数とを比較し、所定数以上の要素のみを各集合に残す。これは、ファイルの数が少なければ、以下のイベントを変更する処理を行うよりも、ファイル追加及び削除時の処理を行ってしまった方が効率的であることによる。なお、S33における処理を行わないでイベント変更の処理を進めることもできる。
S34において、S33で残った要素が集合D及び集合Aに存在しているか否か、すなわち集合Dか集合Aの少なくともいずれかが空か否かを判断する。集合Dか集合Aのいずれかが空であれば、移動あるいは名前の変更があった、所定数以上のサブツリーの要素を有するフォルダが存在しないものとして、変更部14の処理を終える。
S34で集合D及び集合Aが空でない場合には、S35において、集合Dの要素(フォルダ)を頂点とするサブツリーの構造と、集合Aの要素(フォルダ)を頂点とするサブツリーの構造が一致する組み合わせをすべて求め、この組をパス変更候補集合Pとする。S36において、パス変更候補集合Pが空か否かを判定し、空であれば変更部14の処理を終了する。
S36の判定でパス変更候補集合Pの要素が存在していれば、S37において、不要な組をパス変更候補集合Pから削除する。この処理として、同じ集合Aの要素あるいは同じ集合Dの要素を含む組がパス変更候補集合Pに複数含まれている場合には、それらの組をパス変更候補集合Pから削除する。例えば集合Dに含まれるフォルダdと集合Aに含まれる複数のフォルダa1,a2との組(d,a1)、(d,a2)がパス変更候補集合Pに存在する場合、この2つの組ともパス変更候補集合Pから削除する。これは、ファイルシステム2内に類似する構造のサブツリーが存在している場合(例えばサブツリーごとコピーした構造を有している場合など)に生じ、これらは移動や名前の変更とは異なるため、ここで削除している。
このようにしてパス変更候補集合Pに残った集合Dの要素(削除イベントのフォルダ)と集合Aの要素(追加イベントのフォルダ)の組について、名前が同じ組についてはS38において移動イベントに変更し、名前が異なる組についてはS39において名前の変更イベントに変更する。
このようにして、フォルダが移動されたり名前が変更されたことにより削除イベントと追加イベントとして検出された場合でも、変更部14により移動イベントまたは名前の変更イベントに変更される。そのため、検出結果を用いてファイルに対する処理を行う場合でも、無駄な処理を低減することができる。
なお、上下関係にあるフォルダにおいて、上位のフォルダが移動または名前の変更された場合、上位のフォルダについて移動イベントあるいは名前の変更イベントに変更されるが、下位のフォルダについても移動イベントに変更される。実際には上位のフォルダの移動又は名前の変更であるが、下位のフォルダについて移動イベントとなっても、ファイルに対する処理を抑制することができるので問題はない。
上述の動作の一例について、具体例を用いて説明する。図4は、ファイルシステム2に保持されているファイル及びフォルダの一例の説明図、図5は、同じく管理情報の一例の説明図である。ここでは監視対象のファイルシステム2の内容の具体例として、図4に示すような木構造にファイル及びフォルダが配置されているものとする。すなわち、ルート「D:」の下層にフォルダ「data」が配置され、その下層にフォルダ「f1」と「f2」が配置されている。またフォルダ「f1」の下層にはフォルダ「f1−1」とファイル「d1−1」が配置され、フォルダ「f1−1」の下層にはフォルダ「f1−1−1」、フォルダ「f1−1−2」及びファイル「d1−1−1」が配置され、さらに、フォルダ「f1−1−1」の下層にはファイル「d1−1−1−1」が、またフォルダ「f1−1−2」の下層にはファイル「d1−1−2−1」がそれぞれ配置されている。また、フォルダ「f2」の下層にはフォルダ「f2−1」が配置され、さらにその下層にはファイル「d2−1−1」が配置されている。
このようなファイルシステム2から、管理情報として図5に示す情報が得られているとする。この例では、管理情報として各フォルダ及びファイルへのパスと名前、作成日時、最終更新日時が得られている例を示している。もちろん、このほかの種々の情報が得られていてもよいことは言うまでもない。以下の説明では、図5に示す管理情報が管理情報取得部11で取得され、管理情報記憶部12に記憶されているものとする。
図6は、フォルダの移動の具体例の説明図、図7は、移動後の管理情報の一例の説明図である。図4と比較してわかるように、図6に示した例では、フォルダ「f1−1」をフォルダ「f1」の下層からフォルダ「f2」の下層へ移動した例を示している。このようにフォルダ「f1−1」が移動された後、管理情報取得部11がファイルシステム2から管理情報を取得すると、図7に示すような内容の管理情報が取得できる。
図5と比較すると、図7の左端に矢印を付したフォルダ及びファイルの管理情報が変更されている。検出部13では、管理情報記憶部12に記憶されている図5に示した管理情報と、新たに管理情報取得部11で取得した図7に示した管理情報とを比較し、両方に全く同じ情報が存在しているフォルダ及びファイルは変更無いものとし、また最終更新日時のみが異なるフォルダ及びファイルについては更新イベントが発生したものとして検出する。そのほかのフォルダ及びファイルについては、図5に示した管理情報に存在するフォルダ及びファイルは削除イベント、図7に示した管理情報に存在するフォルダ及びファイルは追加イベントが発生したものとして検出する。この例では、名前が「f1−1」、「f1−1−1」、「f1−1−2」、「d1−1−1」、「d1−1−1−1」、「d1−1−2−1」のフォルダ及びファイルについて、パスが一致するものがないので、図5から削除イベントが検出され、図7から追加イベントが検出される。
このようにして検出部13で各イベントが検出されたら、図3に示した変更部14における処理が開始される。まず、削除イベントが検出されたフォルダを集合D、追加イベントが検出されたフォルダを集合Aとする。具体的には、D={f1−1,f1−1−1,f1−1−2}、A={f1−1,f1−1−1,f1−1−2}となる。なお、ここではサブツリー内のファイル及びフォルダ数を判定する際の所定数を4とする。従って、集合D,Aを作成する際にファイルを含めていない。
集合Dの各要素のサブツリー内のファイル及びフォルダ数を求めると、dN(f1−1)=5,dN(f1−1−1)=1,dN(f1−1−2)=1である。また、集合Aの各要素のサブツリー内のファイル及びフォルダ数を求めると、dN(f1−1)=5,dN(f1−1−1)=1,dN(f1−1−2)=1である。集合D,Aのそれぞれについて所定数4以上の要素を残すと、D={f1−1}、A={f1−1}となる。
集合Dの要素であるフォルダf1−1を頂点とするサブツリーの構造と、集合Aの要素であるフォルダf1−1を頂点とするサブツリーの構造を比較すると、一致する。この組をパス変更候補集合Pに追加する。これにより、P={(f1−1,f1−1)}となる。このパス変更候補集合Pには削除対象の組はなく、(f1−1,f1−1)の組は名前が同じであるので、フォルダ「f1−1」の削除イベント及び追加イベントを、移動イベントに変更する。このようにして、図5,図7に示したような管理情報しかファイルシステム2から得られない場合でも、削除イベント及び追加イベントを検出したフォルダについて、移動イベントとして検出して変更することができた。
図8は、フォルダの名前の変更の具体例の説明図、図9は、名前変更後の管理情報の一例の説明図である。図4と比較してわかるように、図8に示した例では、フォルダ「f1」の名前をフォルダ「f3」に変更した例を示している。このようにフォルダ「f1」の名前がフォルダ「f3」に変更された後、管理情報取得部11がファイルシステム2から管理情報を取得すると、図9に示すような内容の管理情報が取得できる。
図5と比較すると、図9の左端に矢印を付したフォルダ及びファイルの管理情報が変更されている。検出部13では、管理情報記憶部12に記憶されている図5に示した管理情報と、新たに管理情報取得部11で取得した図9に示した管理情報とを比較し、上述の移動の場合と同様に各イベントを検出する。この例では、図5に存在する名前が「f1」、「f1−1」、「d1−1」、「f1−1−1」、「f1−1−2」、「d1−1−1」、「d1−1−1−1」、「d1−1−2−1」のフォルダ及びファイルについて、図9にパスが一致するものがないことから削除イベントが検出される。また図9に存在する名前が「f3」、「f1−1」、「d1−1」、「f1−1−1」、「f1−1−2」、「d1−1−1」、「d1−1−1−1」、「d1−1−2−1」のフォルダ及びファイルについて、図5にパスが一致するものがないことから追加イベントが検出される。
このようにして検出部13で各イベントが検出されたら、図3に示した変更部14における処理が開始される。まず、削除イベントが検出されたフォルダを集合D、追加イベントが検出されたフォルダを集合Aとする。具体的には、D={f1,f1−1,f1−1−1,f1−1−2}、A={f3,f1−1,f1−1−1,f1−1−2}となる。なお、ここではサブツリー内のファイル及びフォルダ数を判定する際の所定数を4とする。従って、集合D,Aを作成する際にファイルを含めていない。
集合Dの各要素のサブツリー内のファイル及びフォルダ数を求めると、dN(f1)=7,dN(f1−1)=5,dN(f1−1−1)=1,dN(f1−1−2)=1である。また、集合Aの各要素のサブツリー内のファイル及びフォルダ数を求めると、dN(f3)=7,dN(f1−1)=5,dN(f1−1−1)=1,dN(f1−1−2)=1である。集合D,Aのそれぞれについて所定数4以上の要素を残すと、D={f1,f1−1}、A={f3,f1−1}となる。
集合Dの要素であるフォルダf1を頂点とするサブツリーの構造と、集合Aの要素であるフォルダf3を頂点とするサブツリーの構造を比較すると、一致する。また、集合Dの要素であるフォルダf1−1を頂点とするサブツリーの構造と、集合Aの要素であるフォルダf1−1を頂点とするサブツリーの構造を比較すると、この場合も一致する。これらの組をパス変更候補集合Pに追加する。これにより、P={(f1,f3),(f1−1,f1−1)}となる。このパス変更候補集合Pには削除対象の組はない。
パス変更候補集合Pの最初の組である(f1,f3)は名前が異なるので、フォルダ「f1」の削除イベント及びフォルダ「f3」の追加イベントを名前の変更イベントに変更する。また、2番目の組である(f1−1,f1−1)は名前が同じであるので、フォルダ「f1−1」の削除イベント及び追加イベントを移動イベントに変更する。このようにして、図5,図9に示したような管理情報しかファイルシステム2から得られない場合でも、削除イベント及び追加イベントを検出したフォルダについて、名前の変更イベント及び移動イベントとして検出して変更することができた。なお、フォルダ「f1−1」は移動は行われていないが、削除イベント及び追加イベントのままではファイル処理部3による処理対象となってしまうため、移動イベントに変更しておくことにより、ファイル処理部3による不要な処理が抑制される。もちろん、フォルダ「f1−1」は名前が変更されたフォルダ「f1」、「f3」の下位に存在することから、イベントが発生していないものとして扱うように構成することも可能である。
図10は、本発明の実施の一形態をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体とコンピュータの一例の説明図である。図中、41はプログラム、42はコンピュータ、51は光磁気ディスク、52は光ディスク、53は磁気ディスク、54はメモリ、61はCPU、62は内部メモリ、63は読取部、64はハードディスク、65,66はインタフェース、67は通信部である。
上述の実施の一形態で説明した本発明における処理の一部または全部を、コンピュータにより実行可能なプログラム41によって実現することが可能である。その場合、そのプログラム41およびそのプログラムが用いるデータなどは、コンピュータが読み取り可能な記憶媒体に記憶することも可能である。記憶媒体とは、コンピュータのハードウェア資源に備えられている読取部63あるいはインタフェース65に対して、プログラムの記述内容に応じて、磁気、光、電気等のエネルギーの変化状態を引き起こして、それに対応する信号の形式で、読取部63にプログラムの記述内容を伝達できるものである。例えば、光磁気ディスク51,光ディスク52(CDやDVDなどを含む)、磁気ディスク53,メモリ54(ICカード、メモリカードなどを含む)等である。もちろんこれらの記憶媒体は、可搬型に限られるものではない。
これらの記憶媒体にプログラム41を格納しておき、例えばコンピュータ42の読取部63あるいはインタフェース65にこれらの記憶媒体を装着することによって、コンピュータからプログラム41を読み出し、内部メモリ62またはハードディスク64に記憶し、CPU61によってプログラム41を実行することによって、本発明における処理の一部または全部を実現することができる。あるいは、ネットワークなどを介してプログラム41をコンピュータ42に転送し、コンピュータ42では通信部67でプログラム41を受信して内部メモリ62またはハードディスク64に記憶し、CPU61によってプログラム41を実行することによって、本発明における情報処理を実現してもよい。なお、コンピュータ42には、このほかインタフェース66を介して様々な装置と接続することができ、例えば情報を表示する表示装置やユーザが情報を入力する入力装置等も接続されている。
もちろん、一部の機能についてハードウェアによって構成することもできるし、すべてをハードウェアで構成してもよい。あるいは、他の構成とともに本発明も含めたプログラムとして構成することも可能である。例えばファイル処理部3などの機能を実行するプログラムとともに1つのプログラムとして構成してもよい。もちろん、他の用途に適用する場合には、その用途におけるプログラムとの一体化も可能である。
1…イベント検出部、2…ファイルシステム、3…ファイル処理部、11…管理情報取得部、12…管理情報記憶部、13…検出部、14…変更部、41…プログラム、42…コンピュータ、51…光磁気ディスク、52…光ディスク、53…磁気ディスク、54…メモリ、61…CPU、62…内部メモリ、63…読取部、64…ハードディスク、65,66…インタフェース、67…通信部。
Claims (3)
- 複数のフォルダをツリー構造で階層的に管理するファイルシステムから該ファイルシステムの前記ツリー構造についての情報を含む現在の管理情報を取得する管理情報取得処理と、
前記ファイルシステムの前記ツリー構造についての情報を含む過去の管理情報を管理情報記憶手段に記憶する管理情報記憶処理と、
前記管理情報取得処理で取得した現在の管理情報と前記管理情報記憶手段に記憶されている過去の管理情報とを比較して、前記ファイルシステムのフォルダの追加及び削除のイベントを検出する検出処理と、
前記検出手段で追加のイベントが検出されたフォルダと削除のイベントが検出されたフォルダのうち、前記管理情報取得処理で取得した現在の管理情報中の前記フォルダに関する部分的な前記ツリー構造についての管理情報と前記管理情報記憶手段に記憶されている過去の管理情報中の前記フォルダに関する部分的な前記ツリー構造についての管理情報とが一致するフォルダについてのイベントを移動のイベントに変更する変更処理
をコンピュータに実行させることを特徴とする情報処理プログラム。 - 前記変更処理において、イベントの変更を行う対象となったフォルダの下位の階層に含まれるフォルダ及びファイルの数が所定数より少ない場合には前記イベントの変更は行わないことを特徴とする請求項1に記載の情報処理プログラム。
- 複数のフォルダをツリー構造で階層的に管理するファイルシステムから該ファイルシステムの前記ツリー構造についての情報を含む現在の管理情報を取得する管理情報取得手段と、
前記ファイルシステムの前記ツリー構造についての情報を含む過去の管理情報を記憶する管理情報記憶手段と、
前記管理情報取得手段で取得した現在の管理情報と前記管理情報記憶手段に記憶されている過去の管理情報とを比較して、前記ファイルシステムのフォルダの追加及び削除のイベントを検出する検出手段と、
前記検出手段で追加のイベントが検出されたフォルダと削除のイベントが検出されたフォルダのうち、前記管理情報取得手段で取得した現在の管理情報中の前記フォルダに関する部分的な前記ツリー構造についての管理情報と前記管理情報記憶手段に記憶されている過去の管理情報中の前記フォルダに関する部分的な前記ツリー構造についての管理情報とが一致するフォルダについてのイベントを移動に変更する変更手段
を有することを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006275709A JP2008097149A (ja) | 2006-10-06 | 2006-10-06 | 情報処理プログラム及び情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006275709A JP2008097149A (ja) | 2006-10-06 | 2006-10-06 | 情報処理プログラム及び情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008097149A true JP2008097149A (ja) | 2008-04-24 |
Family
ID=39379958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006275709A Pending JP2008097149A (ja) | 2006-10-06 | 2006-10-06 | 情報処理プログラム及び情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008097149A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013097566A (ja) * | 2011-10-31 | 2013-05-20 | Fujitsu Ltd | 同期方法、同期プログラム及び情報処理装置 |
-
2006
- 2006-10-06 JP JP2006275709A patent/JP2008097149A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013097566A (ja) * | 2011-10-31 | 2013-05-20 | Fujitsu Ltd | 同期方法、同期プログラム及び情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2018395858B2 (en) | Violation resolution in client synchronization | |
RU2646334C2 (ru) | Управление файлами с помощью заполнителей | |
JP5895099B2 (ja) | 移行先ファイルサーバ及びファイルシステム移行方法 | |
US9646030B2 (en) | Computer-readable medium storing program and version control method | |
US9836541B2 (en) | System and method of managing capacity of search index partitions | |
US20180189736A1 (en) | Managing tasks in a content management system | |
JP2005078612A (ja) | ファイル共有システム及びファイル共有装置間のファイル移行方法 | |
JP5759915B2 (ja) | ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置 | |
US20130024484A1 (en) | System management in datacenter using a non-relational database | |
JP2009515264A (ja) | 文書およびソースコードの制御のための方法およびシステム | |
US20140358868A1 (en) | Life cycle management of metadata | |
JP2016537746A5 (ja) | ||
JP2009093349A (ja) | 情報検索システム、情報検索用インデックスの登録装置、情報検索方法及びプログラム | |
JP2004302505A (ja) | データ移行支援システム、プログラム、装置および取外し可能な記憶装置またはデータ移行が完了した記憶媒体の識別方法 | |
US9965473B2 (en) | System, information processing apparatus, method for controlling the same, and non-transitory computer-readable medium | |
US10095737B2 (en) | Information storage system | |
JP2001306372A (ja) | 文書管理方法およびその方法を実施するためのプログラムを記憶した記憶媒体 | |
KR20130053152A (ko) | 태그 기반 파일 관리 방법 및 그 시스템 | |
JP2008097149A (ja) | 情報処理プログラム及び情報処理装置 | |
US11283893B2 (en) | Method and system for tracking chain of custody on unstructured data | |
JP7294055B2 (ja) | ファイルレコメンドシステム、ファイルレコメンドプログラム、ファイルレコメンド方法、及び、ファイルレコメンド装置 | |
JP7381290B2 (ja) | 計算機システム及びデータの管理方法 | |
JP6349682B2 (ja) | 情報管理プログラム、装置、及び方法 | |
JP4199916B2 (ja) | 文書管理方法および装置 | |
Jayakar et al. | Managing small size files through indexing in extended Hadoop file system |