JP4355530B2 - File management apparatus and file management method - Google Patents

File management apparatus and file management method Download PDF

Info

Publication number
JP4355530B2
JP4355530B2 JP2003209129A JP2003209129A JP4355530B2 JP 4355530 B2 JP4355530 B2 JP 4355530B2 JP 2003209129 A JP2003209129 A JP 2003209129A JP 2003209129 A JP2003209129 A JP 2003209129A JP 4355530 B2 JP4355530 B2 JP 4355530B2
Authority
JP
Japan
Prior art keywords
file
directory
terminal
updated
txt
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.)
Expired - Fee Related
Application number
JP2003209129A
Other languages
Japanese (ja)
Other versions
JP2005070868A (en
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2003209129A priority Critical patent/JP4355530B2/en
Publication of JP2005070868A publication Critical patent/JP2005070868A/en
Application granted granted Critical
Publication of JP4355530B2 publication Critical patent/JP4355530B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、所定の端末によって読み出されて更新される所定のファイルを所定のディレクトリの配下に保存するファイル管理装置、及び、ファイル管理方法に関する。
【0002】
【従来の技術】
複数の端末が同一のファイルを共有する方法として、「rsync」や「CVS」などが一般的に知られている。
【0003】
「rsync」とは、一方の端末が他方の端末にファイルを送信する際に、一方の端末で管理されているファイルと他方の端末で管理されているファイルとの差分だけを、一方の端末が他方の端末に送信することにより、ファイルの同期を実現する方法である。
【0004】
「CVS」とは、複数の端末によって読み出されて更新されることを前提とした所定のファイル(ファイルの実体)が所定のファイル管理装置によって管理されるシステムである(例えば、特許文献1)。
【0005】
以下において、「CVS」について図面を参照しながら具体的に説明する。図8は、「CVS」について説明するための図である。
【0006】
同図に示すように、「CVS」は、ファイルの実体(例えば、「a ver.1.txt」「a ver.2.txt」)を管理するリポジトリと、各端末によって管理されている実ディレクトリとによって構成される。
【0007】
まず、作業者aが「a ver.3.txt」を更新する場合について説明する。
【0008】
ステップ101において、作業者aは、リポジトリによって管理されている「a ver.3.txt」を端末に読み出す(check out)。
【0009】
ステップ102において、作業者aは、「a ver.3.txt」を「new file(1).txt」に更新する。
【0010】
ステップ103において、作業者aは、「new file(1).txt」をリポジトリに登録する(check in)。このとき、リポジトリは、「new file(1).txt」を「a ver.4.txt」として記憶する。
【0011】
これにより、作業者aによって更新されたファイル(「a ver.4.txt」)を複数の端末が共有することができる。
【0012】
次に、作業者a及び作業者bが「a ver.4.txt」を同時に更新する場合について説明する。
【0013】
ステップ111において、作業者aは、リポジトリによって管理されている「a ver.4.txt」を端末に読み出す(check out)。
【0014】
ステップ112において、作業者aは、「a ver.4.txt」を「new file(2).txt」に更新する。
【0015】
ステップ113において、作業者bは、リポジトリによって管理されている「a ver.4.txt」を端末に読み出す(check out)。
【0016】
ステップ114において、作業者bは、「a ver.4.txt」を「new file(3).txt」に更新する。
【0017】
ステップ115において、作業者aは、「new file(2).txt」をリポジトリに登録する(check in)。
【0018】
ステップ116において、作業者bは、「new file(3).txt」をリポジトリに登録する(check in)。
【0019】
ステップ117において、リポジトリは、「new file(2).txt」と「new file(3).txt」とを合成(merge)する。具体的には、リポジトリは、作業者aによって更新された部分と作業者bによって更新された部分とが重複していない(衝突がない)場合には、「new file(2).txt」と「new file(3).txt」とを合成(merge)したファイルを、「a ver.5.txt」として記憶する。また、リポジトリは、作業者aによって更新された部分と作業者bによって更新された部分とが重複している(衝突がある)場合には、その旨を示すエラーメッセージを作業者a及び作業者bに通知する。
【0020】
これにより、作業者a及び作業者bによってそれぞれ更新されたファイル(「a ver.4.txt」)を複数の端末が共有することができる。
【0021】
【特許文献1】
特開平6−52031号公報
【0022】
【発明が解決しようとする課題】
しかしながら、「rsync」においては、3つ以上の端末が同一のファイルを共有することを前提としていない。
【0023】
一方、「CVS」においては、所定の端末によって所定のファイルが更新されると、更新されたファイルは、そのファイル名が変更されて保存されるが、ファイルを管理するためのディレクトリが変更されることはない。また、「CVS」においては、複数の端末によって同一のファイルが更新された際に、更新された部分が互いに重複している(衝突が発生した)場合には、各端末で更新されたファイルがリポジトリに記憶されない。
【0024】
すなわち、従来の技術においては、所定の端末によって所定のファイルが更新された際に、更新されたファイルを任意のディレクトリの配下に保存して管理することができないという問題があった。また、複数の端末によって同一のファイルが同時に更新された場合には、各端末によって更新されたファイルを全て記憶することができないという問題があった。
【0025】
そこで、本発明は、上述の問題を解決すべくなされたものであり、複数の端末によって同一のファイルが同時に更新された場合であっても、各端末によって更新されたファイルを全て記憶するとともに、更新されたファイルを任意のディレクトリの配下に保存して管理することができるファイル管理装置、及び、ファイル管理方法を提供することを目的とする。
【0026】
【課題を解決するための手段】
本発の第1の特徴は、第1のディレクトリの配下に保存されている所定のファイルが所定の端末によって読み出されて更新された場合に、第2のディレクトリを作成するディレクトリ作成手段と、更新されたファイルを第2のディレクトリの配下に保存するファイル保存手段とをファイル管理装置が具備することを特徴とする。
【0027】
かかる特徴によれば、ファイル管理装置が、第1のディレクトリの配下に保存されている所定のファイルが所定の端末によって読み出されて更新された場合に、新しいディレクトリ(第2のディレクトリ)を作成し、当該更新されたファイルを当該第2のディレクトリの配下に保存することにより、ファイル管理装置は、当該ファイル管理装置によって管理されているファイルが複数の端末によって同時に更新された場合であっても、更新されたファイルを全て記憶することができる。
【0028】
また、ファイル管理装置は、予め設定された条件に従って作成された任意のディレクトリ(第2のディレクトリ)の配下に、更新されたファイルを保存して管理することができる。
【0029】
この結果、ファイル管理装置は、当該ファイル管理装置によって管理されているファイルが複数の端末によって同時に更新された場合であっても、作業者が予期していないファイルの更新を防止することができる。
【0030】
本発明の第2の特徴は、本発明の第1の特徴において、第1のディレクトリの配下に保存されている所定のファイルと所定の端末によって管理されている所定のファイル名との間に、シンボリックリンクを張るリンク手段をファイル管理装置が具備することを特徴とする。
【0031】
かかる特徴によれば、ファイル管理装置が、第1のディレクトリの配下に保存されている所定のファイルと所定の端末によって管理されている所定のファイル名との間に、シンボリックリンクを張ることにより、所定の端末の作業者は、第1のディレクトリの構造を意識することなく、当該第1のディレクトリの配下に保存されているファイルの実体を読み出すことができる。
【0032】
本発明の第3の特徴は、本発明の第2の特徴において、リンク手段が、予め設定されている条件に従って、シンボリックリンクを張り替えることを特徴とする。
【0033】
かかる特徴によれば、ファイル管理装置が、予め設定されている条件(例えば、最新のファイルにシンボリックリンクを張り替えるように設定されている条件)に従って、シンボリックリンクを張り替えることにより、ファイル管理装置は、作業者がシンボリックリンクを張り替える負荷を軽減することができる。
【0034】
本発明の第4の特徴は、第1のディレクトリの配下に保存されている所定のファイルが所定の端末によって読み出されて更新された場合に、第2のディレクトリをファイル管理装置が作成するステップと、更新されたファイルを第2のディレクトリの配下にファイル管理装置が保存するステップとをファイル管理方法が具備することを特徴とする。
【0035】
【発明の実施の形態】
本実施形態におけるファイル管理装置(以下、サーバント)は、所定のディレクトリの配下に保存されている所定のファイルが所定の端末によって読み出されて更新された場合に、第2のディレクトリを作成するとともに、更新されたファイルを第2のディレクトリの配下に保存するものである。
【0036】
なお、本実施形態において、サーバントは、各端末とは別に設けられているものとして説明するが、各端末に具備されていてもよく、複数の端末によって構成されていてもよい。
【0037】
(ファイル管理装置の構成)
以下において、本実施形態におけるファイル管理装置(サーバント)について、図面を参照しながら説明する。図1は、本実施形態におけるサーバント10が設置されている環境を示す図である。
【0038】
具体的には、同図に示すように、サーバント10は、ネットワーク30を介して端末20a〜端末20cと接続されている。
【0039】
サーバント10の具体的な説明は、以下に示す通りである。図2は、本実施形態におけるサーバント10の構成を示すブロック図である。
【0040】
図2に示すように、サーバント10は、送信部11と、受信部12と、仮想リポジトリ13と、リンク作成部14とを具備する。
【0041】
送信部11は、端末20からの読み出し要求に応じて、仮想リポジトリ13において管理されているファイルの実体を当該端末20に送信する。また、受信部12は、端末20によって読み出されて更新されたファイルの実体(更新情報)を受信する。
【0042】
仮想リポジトリ13は、所定のディレクトリ(以下、第1のディレクトリ)の配下に所定のファイルの実体を保存する。また、仮想リポジトリ13は、端末20によって読み出されて更新されたファイルの実体(更新情報)を受信部12が受信すると、更新されたファイルの実体に対応する新しいディレクトリ(以下、第2のディレクトリ)を作成し、更新されたファイルの実体を当該第2のディレクトリの配下に保存する。
【0043】
具体的には、以下に示す通りである。図3及び図4は、本実施形態における仮想リポジトリ13の一例を示す図である。
【0044】
図3に示すように、仮想リポジトリ13は、第1のディレクトリ名(「my office\original」)及び第1のファイル名(「report.txt」)によって特定されるファイルの実体を第1のディレクトリの配下に保存している。また、第1のディレクトリの配下に保存されているファイルの実体(「my office\original\report.txt」によって特定されるファイルの実体)と端末20aによって管理されている所定のファイル名(「doc2.txt」(又は「my doc\file1\doc2.txt」))との間には、シンボリックリンクが張られている。
【0045】
なお、このシンボリックリンクは、端末20の作業者が設定した条件に基づいて張られるものである。
【0046】
また、図4に示すように、仮想リポジトリ13は、端末20aによって読み込まれて更新されたファイルの実体(「my doc\file1\doc2’.txt」の実体(更新情報))を受信部12が受信すると、第2のディレクトリを作成するとともに、更新されたファイルの実体(「my doc\file1\doc2’.txt」の実体(更新情報))を当該第2のディレクトリの配下に保存する。このとき、仮想リポジトリ13は、更新されたファイルの実体(「my doc\file1\doc2’.txt」の実体(更新情報))を特定するために、第2のディレクトリ名(「my office\user a\ver.2」)及び所定のファイル名(「report.txt」)を設定する。
【0047】
リンク作成部14は、作業者によって予め設定された条件に従って、仮想リポジトリ13によって管理されているファイルの実体と端末20によって管理されている所定のファイル名との間にシンボリックリンクを張る。また、リンク作成部14は、作業者によって予め設定された条件に従って、シンボリックリンクを張り替える。
【0048】
具体的には、以下に示す通りである。図5は、本実施形態におけるリンク作成部14によってシンボリックリンクが張り替えられる動作を示す図である。なお、同図において、作業者aは、「my office」の配下に保存されている「report.txt」の実体が更新されると、更新された「report.txt」の実体にシンボリックリンクを張り替えるように条件を設定しているものとする。
【0049】
同図に示すように、仮想リポジトリ13は、端末20bによって読み出されて更新されたファイルの実体(「my doc\file1\paper2’.txt」の実体(更新情報))を受信部12が受信すると、第2のディレクトリを作成するとともに、更新されたファイルの実体(「my doc\file1\paper2’.txt」の実体(更新情報))を当該第2のディレクトリの配下に保存する。このとき、仮想リポジトリ13は、更新されたファイルの実体(「my doc\file1\paper2’.txt」の実体(更新情報))を特定するために、第2のディレクトリ名(「my office\user b\ver.3」)及び所定のファイル名(「report.txt」)を設定する。また、リンク作成部14は、作業者aによって設定された条件に従って、仮想リポジトリ13によって管理されているファイルの実体(「my office\user a\ver.2\report.txt」によって特定されるファイルの実体)と端末20aによって管理されている所定のファイル名(「doc2.txt」(又は「my doc\file1\doc2.txt」))との間に張られているシンボリックリンクを、端末20bによって読み出されて更新されたファイルの実体(「my office\user b\ver.3\report.txt」によって特定されるファイルの実体)と端末20aによって管理されている所定のファイル名(「doc2.txt」(又は「my doc\file1\doc2.txt」))との間に張り替える。
【0050】
端末20a〜端末20cは、パーソナルコンピュータや携帯電話やPDAなどの端末である。
【0051】
なお、本実施形態において、仮想リポジトリ13は、第1のディレクトリの配下に保存されている所定のファイル(例えば、「my office\original\report.txt」によって特定されるファイルの実体)が所定の端末によって読み出されて更新された場合に、第2のディレクトリを作成するディレクトリ作成手段を構成する。
【0052】
また、本実施形態において、仮想リポジトリ13は、更新されたファイルを第2のディレクトリの配下に保存するファイル保存手段を構成する。
【0053】
さらに、本実施形態において、リンク作成部14は、第1のディレクトリの配下に保存されている所定のファイル(例えば、「my office\original\report.txt」によって特定されるファイルの実体)と所定の端末によって管理されている所定のファイル名(例えば、「doc.2.txt」)との間に、シンボリックリンクを張るリンク手段を構成する。
【0054】
(ファイル管理装置の動作)
以下において、本実施形態におけるファイル管理装置(サーバント)の動作について、図面を参照しながら説明する。図6は、本実施形態におけるサーバント10が新しいディレクトリ(第2のディレクトリ)を作成する動作を示すシーケンス図である。なお、同図は、上述の図4に従ってサーバント10の動作を説明するための図である。
【0055】
同図に示すように、ステップ11において、作業者a(端末20a)は、端末20aによって管理されている所定のファイル名(「doc2.txt」(又は「my doc\file1\doc2.txt」))に基づいて、サーバント10で管理されているファイルの実体を読み出す。このとき、サーバント10は、「doc2.txt」(又は「my doc\file1\doc2.txt」)に張られているシンボリックリンクに基づいて、「my office\original\report.txt」によって特定されるファイルの実体を端末20aに送信する。
【0056】
ステップ12において、作業者a(端末20a)は、ステップ11で読み出したファイルの実体を更新する。
【0057】
ステップ13において、作業者a(端末20a)は、ステップ12で更新されたファイルの実体(「my doc\file1\doc2’.txt」の実体)を保存する。このとき、端末20aは、更新情報(「my doc\file1\doc2’.txt」の実体)をサーバント10に送信する。
【0058】
ステップ14において、サーバント10は、端末20aによって送信された更新情報(「my doc\file1\doc2’.txt」の実体)を受信する。
【0059】
ステップ15において、サーバント10は、第2のディレクトリを作成し、更新情報(「my doc\file1\doc2’.txt」の実体)を当該第2のディレクトリの配下に保存する。このとき、サーバント10は、更新情報(「my doc\file1\doc2’.txt」の実体)を特定するために、第2のディレクトリ名(「my office\user a\ver.2」)及び所定のファイル名(「report.txt」)を設定する。
【0060】
ステップ21において、作業者b(端末20b)は、端末20bによって管理されている所定のファイル名(「paper2.txt」(又は「my doc\file1\paper2.txt」))に基づいて、サーバント10で管理されているファイルの実体を読み出す。このとき、サーバント10は、「paper2.txt」(又は「my doc\file1\paper2.txt」)に張られているシンボリックリンクに基づいて、「my office\original\report.txt」によって特定されるファイルの実体を端末20bに送信する。
【0061】
ステップ22において、作業者b(端末20b)は、ステップ21で読み出したファイルの実体を更新する。
【0062】
ステップ23において、作業者b(端末20b)は、ステップ22で更新されたファイルの実体(「my doc\file1\paper2’.txt」の実体)を保存する。このとき、端末20bは、更新情報(「my doc\file1\paper2’.txt」の実体)をサーバント10に送信する。
【0063】
ステップ24において、サーバント10は、端末20bによって送信された更新情報(「my doc\file1\paper2’.txt」の実体)を受信する。
【0064】
ステップ25において、サーバント10は、第2のディレクトリを作成し、更新情報(「my doc\file1\paper2’.txt」の実体)を当該第2のディレクトリの配下に保存する。ことのき、サーバント10は、更新情報(「my doc\file1\paper2’.txt」の実体)を特定するために、第2のディレクトリ名(「my office\user b\ver.3」)及び所定のファイル名(「report.txt」)を設定する。
【0065】
図7は、本実施形態におけるサーバント10がシンボリックリンクを張り替える動作を示すシーケンス図である。なお、同図は、上述の図5に従って、サーバント10の動作を説明するための図である。また、同図において、作業者aは、「my office」の配下に保存されている「report.txt」の実体が更新されると、更新された「report.txt」の実体にシンボリックリンクを張り替えるように条件を設定しているものとする。
【0066】
同図に示すように、ステップ31において、作業者b(端末20b)は、端末20bによって管理されている所定のファイル名(「paper2.txt」(又は「my doc\file1\paper2.txt」))に基づいてサーバント10から読み出したファイルの実体を更新し、更新されたファイルの実体(「my doc\file1\paper2’.txt」の実体)を保存する。このとき、端末20bは、更新情報(「my doc\file1\paper2’.txt」の実体)をサーバント10に送信する。
【0067】
ステップ32において、サーバント10は、端末20bによって送信された更新情報(「my doc\file1\paper2’.txt」の実体)を受信する。
【0068】
ステップ33において、サーバント10は、第2のディレクトリを作成し、更新情報(「my doc\file1\paper2’.txt」の実体)を当該第2のディレクトリの配下に保存する。このとき、サーバント10は、更新情報(「my doc\file1\paper2’.txt」の実体)を特定するために、第2のディレクトリ名(「my office\user b\ver.3」)及び所定のファイル名(「report.txt」)を設定する。
【0069】
ステップ34において、サーバント10は、作業者aによって設定された条件に従って、仮想リポジトリ13によって管理されているのファイルの実体(「my office\user a\ver.2\report.txt」によって特定されるファイルの実体)と端末20aによって管理されている所定のファイル名(「doc2.txt」(又は「my doc\file1\doc2.txt」))との間に張られているシンボリックリンクを、端末20bによって読み出されて更新されたファイルの実体(「my office\user b\ver.3\report.txt」によって特定されるファイルの実体)と端末20aによって管理されている所定のファイル名(「doc2.txt」(又は「my doc\file1\doc2.txt」))との間に張り替える。
【0070】
(ファイル管理装置の作用、及び、効果)
かかるファイル管理装置(サーバント10)によれば、サーバント10が、端末20によって読み出されて更新されたファイル(更新情報)を受信すると、新しいディレクトリ(第2のディレクトリ)を作成し、当該更新されたファイル(更新情報)を当該第2のディレクトリの配下に保存することにより、サーバント10は、サーバント10によって管理されているファイルが複数の端末20によって同時に更新された場合であっても、更新されたファイル(更新情報)を全て記憶することができる。
【0071】
また、サーバント10は、予め設定された条件に従って作成された任意のディレクトリ(第2のディレクトリ)の配下に、更新されたファイルを保存して管理することができる。
【0072】
この結果、サーバント10は、サーバント10によって管理されているファイルが複数の端末20によって同時に更新された場合であっても、作業者が予期していないファイルの更新を防止することができる。
【0073】
また、サーバント10が、第1のディレクトリの配下に保存されているファイル(ファイルの実体)と端末20によって管理されている所定のファイル名との間に、シンボリックリンクを張ることにより、端末20の作業者は、第1のディレクトリの構造を意識することなく、当該第1のディレクトリの配下に保存されているファイルの実体を読み出すことができる。
【0074】
さらに、サーバント10が、予め設定されている条件に従って、シンボリックリンクを張り替えることにより、サーバント10は、作業者がシンボリックリンクを張り替える負荷を軽減することができる。
【0075】
【発明の効果】
本発明によれば、複数の端末によって同一のファイルが更新された場合であっても、各端末によって更新されたファイルを全て記憶するとともに、更新されたファイルを任意のディレクトリの配下に保存することができるファイル管理装置、及び、ファイル管理方法を提供することができる。
【図面の簡単な説明】
【図1】本実施形態におけるサーバント10が設置されている環境を示す図である。
【図2】本実施形態におけるサーバント10の構成を示すブロック図である。
【図3】本実施形態における仮想リポジトリ13の一例を示す図である(その1)。
【図4】本実施形態における仮想リポジトリ13の一例を示す図である(その2)。
【図5】本実施形態におけるリンク作成部14によってシンボリックリンクが張り替えられる動作を示す図である。
【図6】本実施形態におけるサーバント10の動作を示すシーケンス図である(その1)。
【図7】本実施形態におけるサーバント10の動作を示すシーケンス図である(その2)。
【図8】従来技術(「CVS」)について説明するための図である。
【符号の説明】
10…サーバント、11送信部、12…受信部、13…仮想リポジトリ、14…リンク作成部、20a〜20c…端末、30…ネットワーク
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a file management apparatus and a file management method for storing a predetermined file read and updated by a predetermined terminal under a predetermined directory.
[0002]
[Prior art]
“Rsync”, “CVS”, etc. are generally known as methods for sharing the same file among a plurality of terminals.
[0003]
“Rsync” means that when one terminal sends a file to the other terminal, only the difference between the file managed by one terminal and the file managed by the other terminal This is a method of realizing file synchronization by transmitting to the other terminal.
[0004]
“CVS” is a system in which a predetermined file (substance of a file) that is supposed to be read and updated by a plurality of terminals is managed by a predetermined file management device (for example, Patent Document 1). .
[0005]
In the following, “CVS” will be specifically described with reference to the drawings. FIG. 8 is a diagram for explaining “CVS”.
[0006]
As shown in the figure, “CVS” is a repository that manages file entities (eg, “a ver.1.txt” and “a ver.2.txt”) and real directories managed by each terminal. It is comprised by.
[0007]
First, the case where the worker a updates “a ver.3.txt” will be described.
[0008]
In step 101, worker a reads “a ver.3.txt” managed by the repository to the terminal (check out).
[0009]
In step 102, the operator a updates “a ver.3.txt” to “new file (1) .txt”.
[0010]
In step 103, the worker a registers “new file (1) .txt” in the repository (check in). At this time, the repository stores “new file (1) .txt” as “a ver.4.txt”.
[0011]
Thereby, a plurality of terminals can share the file (“a ver.4.txt”) updated by the worker a.
[0012]
Next, a case where worker a and worker b update “a ver.4.txt” simultaneously will be described.
[0013]
In step 111, the worker a reads “a ver.4.txt” managed by the repository to the terminal (check out).
[0014]
In step 112, the worker a updates “a ver.4.txt” to “new file (2) .txt”.
[0015]
In step 113, the worker b reads out “a ver.4.txt” managed by the repository to the terminal (check out).
[0016]
In step 114, worker b updates “a ver.4.txt” to “new file (3) .txt”.
[0017]
In step 115, the worker a registers “new file (2) .txt” in the repository (check in).
[0018]
In step 116, the worker b registers “new file (3) .txt” in the repository (check in).
[0019]
In step 117, the repository merges “new file (2) .txt” and “new file (3) .txt”. Specifically, if the part updated by the worker a and the part updated by the worker b do not overlap (no collision), the repository will be “new file (2) .txt”. A file merged with “new file (3) .txt” is stored as “a ver.5.txt”. Further, when the portion updated by the worker a and the portion updated by the worker b overlap (there is a conflict), the repository displays an error message indicating that fact to the worker a and the worker. b.
[0020]
Thereby, a plurality of terminals can share the file (“a ver.4.txt”) updated by the worker a and the worker b, respectively.
[0021]
[Patent Document 1]
Japanese Patent Laid-Open No. 6-52031
[Problems to be solved by the invention]
However, “rsync” does not assume that three or more terminals share the same file.
[0023]
On the other hand, in “CVS”, when a predetermined file is updated by a predetermined terminal, the updated file is saved with the file name changed, but the directory for managing the file is changed. There is nothing. In “CVS”, when the same file is updated by multiple terminals, if the updated parts overlap each other (collisions occur), the files updated on each terminal Not stored in the repository.
[0024]
That is, in the related art, when a predetermined file is updated by a predetermined terminal, there is a problem that the updated file cannot be stored and managed under an arbitrary directory. In addition, when the same file is updated simultaneously by a plurality of terminals, there is a problem that all the files updated by each terminal cannot be stored.
[0025]
Therefore, the present invention has been made to solve the above-described problem, and even when the same file is simultaneously updated by a plurality of terminals, all the files updated by each terminal are stored, It is an object of the present invention to provide a file management apparatus and a file management method capable of storing and managing an updated file under an arbitrary directory.
[0026]
[Means for Solving the Problems]
The first feature of the present invention is that a directory creating means for creating a second directory when a predetermined file stored under the first directory is read and updated by a predetermined terminal; The file management device includes file storage means for storing the updated file under the second directory.
[0027]
According to such a feature, the file management device creates a new directory (second directory) when a predetermined file stored under the first directory is read and updated by a predetermined terminal. Then, by storing the updated file under the second directory, the file management apparatus can be used even when the files managed by the file management apparatus are simultaneously updated by a plurality of terminals. All the updated files can be stored.
[0028]
Further, the file management apparatus can store and manage the updated file under an arbitrary directory (second directory) created according to a preset condition.
[0029]
As a result, the file management apparatus can prevent the file from being updated unexpectedly by the operator even when the files managed by the file management apparatus are simultaneously updated by a plurality of terminals.
[0030]
According to a second aspect of the present invention, in the first aspect of the present invention, between a predetermined file stored under the first directory and a predetermined file name managed by a predetermined terminal, The file management device includes a link means for creating a symbolic link.
[0031]
According to such a feature, the file management device creates a symbolic link between a predetermined file stored under the first directory and a predetermined file name managed by a predetermined terminal, An operator of a predetermined terminal can read the substance of a file stored under the first directory without being aware of the structure of the first directory.
[0032]
According to a third feature of the present invention, in the second feature of the present invention, the linking means replaces the symbolic link according to a preset condition.
[0033]
According to such a feature, the file management apparatus replaces the symbolic link in accordance with a preset condition (for example, a condition set to replace the symbolic link with the latest file). Can reduce the load of the operator re-symbolizing the symbolic link.
[0034]
The fourth feature of the present invention is that the file management device creates the second directory when a predetermined file stored under the first directory is read and updated by a predetermined terminal. And a file management method comprising the step of the file management device storing the updated file under the second directory.
[0035]
DETAILED DESCRIPTION OF THE INVENTION
The file management apparatus (hereinafter referred to as a servant) in the present embodiment creates a second directory when a predetermined file stored under a predetermined directory is read and updated by a predetermined terminal. The updated file is stored under the second directory.
[0036]
In the present embodiment, the servant is described as being provided separately from each terminal. However, the servant may be provided in each terminal or may be configured by a plurality of terminals.
[0037]
(Configuration of file management device)
Hereinafter, a file management apparatus (servant) in the present embodiment will be described with reference to the drawings. FIG. 1 is a diagram illustrating an environment in which a servant 10 according to the present embodiment is installed.
[0038]
Specifically, as shown in the figure, the servant 10 is connected to the terminals 20a to 20c via the network 30.
[0039]
A specific description of the servant 10 is as follows. FIG. 2 is a block diagram showing a configuration of the servant 10 in the present embodiment.
[0040]
As shown in FIG. 2, the servant 10 includes a transmission unit 11, a reception unit 12, a virtual repository 13, and a link creation unit 14.
[0041]
In response to a read request from the terminal 20, the transmission unit 11 transmits the file entity managed in the virtual repository 13 to the terminal 20. Further, the receiving unit 12 receives a file entity (update information) read and updated by the terminal 20.
[0042]
The virtual repository 13 stores an entity of a predetermined file under a predetermined directory (hereinafter referred to as a first directory). Further, when the receiving unit 12 receives the file entity (update information) read and updated by the terminal 20, the virtual repository 13 receives a new directory (hereinafter referred to as a second directory) corresponding to the updated file entity. ) And save the updated file entity under the second directory.
[0043]
Specifically, it is as shown below. 3 and 4 are diagrams showing an example of the virtual repository 13 in the present embodiment.
[0044]
As shown in FIG. 3, the virtual repository 13 defines the entity of the file specified by the first directory name (“my office \ original”) and the first file name (“report.txt”) in the first directory. Is stored under. In addition, the file entity stored under the first directory (the file entity specified by “my office \ original \ report.txt”) and a predetermined file name (“doc2” managed by the terminal 20a). .txt "(or" my doc \ file1 \ doc2.txt ") is a symbolic link.
[0045]
This symbolic link is set based on conditions set by the operator of the terminal 20.
[0046]
Further, as shown in FIG. 4, the virtual repository 13 has the receiving unit 12 that receives the updated file entity (the entity of “my doc \ file1 \ doc2'.txt” (update information)) read and updated by the terminal 20a. Upon receipt, a second directory is created, and the updated file entity (the entity of “my doc \ file1 \ doc2'.txt” (update information)) is stored under the second directory. At this time, the virtual repository 13 specifies the second directory name (“my office \ user” in order to specify the updated file entity (the entity (update information) of “my doc \ file1 \ doc2'.txt”)). a \ ver.2 ") and a predetermined file name (" report.txt ").
[0047]
The link creation unit 14 creates a symbolic link between the file entity managed by the virtual repository 13 and a predetermined file name managed by the terminal 20 in accordance with conditions preset by the worker. In addition, the link creation unit 14 replaces the symbolic link according to conditions preset by the operator.
[0048]
Specifically, it is as shown below. FIG. 5 is a diagram illustrating an operation in which a symbolic link is replaced by the link creation unit 14 in the present embodiment. In the figure, when the entity of “report.txt” stored under “my office” is updated, the worker a replaces the symbolic link with the updated entity of “report.txt”. It is assumed that the conditions are set so that
[0049]
As shown in the figure, in the virtual repository 13, the reception unit 12 receives a file entity (an entity (update information) of “my doc \ file1 \ paper2'.txt”) read and updated by the terminal 20 b. Then, the second directory is created, and the updated file entity (the entity of “my doc \ file1 \ paper2'.txt” (update information)) is stored under the second directory. At this time, the virtual repository 13 specifies the second directory name (“my office \ user” in order to specify the updated file entity (the entity (update information) of “my doc \ file1 \ paper2'.txt”)). b \ ver.3 ") and a predetermined file name (" report.txt "). In addition, the link creation unit 14 determines the file entity (“my office \ user a \ ver.2 \ report.txt”) managed by the virtual repository 13 according to the conditions set by the worker a. The symbolic link between the predetermined file name ("doc2.txt" (or "my doc \ file1 \ doc2.txt")) managed by the terminal 20a and the terminal 20b. The read and updated file entity (the file entity specified by “my office \ user b \ ver.3 \ report.txt”) and a predetermined file name (“doc2.” Managed by the terminal 20a). txt "(or" my doc \ file1 \ doc2.txt ")).
[0050]
The terminals 20a to 20c are terminals such as personal computers, mobile phones, and PDAs.
[0051]
In this embodiment, the virtual repository 13 has a predetermined file stored under the first directory (for example, the entity of the file specified by “my office \ original \ report.txt”) as a predetermined. A directory creating means for creating the second directory when it is read and updated by the terminal is configured.
[0052]
In the present embodiment, the virtual repository 13 constitutes a file storage unit that stores the updated file under the second directory.
[0053]
Further, in the present embodiment, the link creation unit 14 is configured to execute a predetermined file (for example, a file entity specified by “my office \ original \ report.txt”) stored under the first directory and a predetermined file. A link means for creating a symbolic link with a predetermined file name (for example, “doc.2.txt”) managed by the terminal is configured.
[0054]
(Operation of file management device)
The operation of the file management apparatus (servant) in this embodiment will be described below with reference to the drawings. FIG. 6 is a sequence diagram showing an operation in which the servant 10 in the present embodiment creates a new directory (second directory). In addition, the figure is a figure for demonstrating operation | movement of the servant 10 according to above-mentioned FIG.
[0055]
As shown in the figure, in step 11, the worker a (terminal 20a) has a predetermined file name ("doc2.txt" (or "my doc \ file1 \ doc2.txt") managed by the terminal 20a. ), The file entity managed by the servant 10 is read out. At this time, the servant 10 is identified by “my office \ original \ report.txt” based on the symbolic link attached to “doc2.txt” (or “my doc \ file1 \ doc2.txt”). The entity of the file is transmitted to the terminal 20a.
[0056]
In step 12, the worker a (terminal 20a) updates the substance of the file read in step 11.
[0057]
In step 13, the worker a (terminal 20 a) stores the file entity updated in step 12 (the entity “my doc \ file1 \ doc2′.txt”). At this time, the terminal 20a transmits update information (an entity of “my doc \ file1 \ doc2′.txt”) to the servant 10.
[0058]
In step 14, the servant 10 receives the update information (the substance of “my doc \ file1 \ doc2′.txt”) transmitted by the terminal 20a.
[0059]
In step 15, the servant 10 creates a second directory, and saves update information (an entity of “my doc \ file1 \ doc2′.txt”) under the second directory. At this time, the servant 10 specifies a second directory name (“my office \ user a \ ver.2”) and a predetermined number in order to specify update information (an entity of “my doc \ file1 \ doc2'.txt”). Set the file name ("report.txt").
[0060]
In step 21, the worker b (terminal 20 b), based on a predetermined file name (“paper2.txt” (or “my doc \ file1 \ paper2.txt”)) managed by the terminal 20 b, Read the actual file managed by. At this time, the servant 10 is identified by “my office \ original \ report.txt” based on the symbolic link attached to “paper2.txt” (or “my doc \ file1 \ paper2.txt”). The entity of the file is transmitted to the terminal 20b.
[0061]
In step 22, worker b (terminal 20 b) updates the substance of the file read in step 21.
[0062]
In step 23, worker b (terminal 20b) stores the file entity updated in step 22 (the entity of “my doc \ file1 \ paper2′.txt”). At this time, the terminal 20b transmits update information (an entity of “my doc \ file1 \ paper2′.txt”) to the servant 10.
[0063]
In step 24, the servant 10 receives the update information (the substance “my doc \ file1 \ paper2′.txt”) transmitted by the terminal 20b.
[0064]
In step 25, the servant 10 creates a second directory and saves the update information (the substance of “my doc \ file1 \ paper2'.txt”) under the second directory. At this time, the servant 10 specifies the second directory name ("my office \ user b \ ver.3") and the update information (the substance of "my doc \ file1 \ paper2'.txt") and Set a predetermined file name (“report.txt”).
[0065]
FIG. 7 is a sequence diagram showing an operation in which the servant 10 in this embodiment replaces the symbolic link. In addition, the figure is a figure for demonstrating operation | movement of the servant 10 according to above-mentioned FIG. Also, in the figure, when the entity of “report.txt” stored under “my office” is updated, the worker a replaces the symbolic link with the updated entity of “report.txt”. It is assumed that the conditions are set so that
[0066]
As shown in the figure, in step 31, the worker b (terminal 20b) has a predetermined file name ("paper2.txt" (or "my doc \ file1 \ paper2.txt") managed by the terminal 20b. ) Is updated, and the updated file entity (the entity of “my doc \ file1 \ paper2'.txt”) is saved. At this time, the terminal 20b transmits update information (an entity of “my doc \ file1 \ paper2′.txt”) to the servant 10.
[0067]
In step 32, the servant 10 receives the update information (the substance of “my doc \ file1 \ paper2′.txt”) transmitted by the terminal 20b.
[0068]
In step 33, the servant 10 creates a second directory and saves the update information (the substance of “my doc \ file1 \ paper2'.txt”) under the second directory. At this time, the servant 10 specifies the second directory name (“my office \ user b \ ver.3”) and a predetermined number in order to specify the update information (the substance of “my doc \ file1 \ paper2'.txt”). Set the file name ("report.txt").
[0069]
In step 34, the servant 10 is identified by the file entity ("my office \ user a \ ver.2 \ report.txt") managed by the virtual repository 13 in accordance with the conditions set by the worker a. A symbolic link extending between a file entity) and a predetermined file name ("doc2.txt" (or "my doc \ file1 \ doc2.txt")) managed by the terminal 20a. The file entity read and updated by (the office entity of the file specified by “my office \ user b \ ver.3 \ report.txt”) and the predetermined file name (“doc2” managed by the terminal 20a) .txt "(or" my doc \ file1 \ doc2.txt ")).
[0070]
(Operation and effect of file management device)
According to the file management apparatus (servant 10), when the servant 10 receives a file (update information) read and updated by the terminal 20, it creates a new directory (second directory) and updates the file. By storing the file (update information) under the second directory, the servant 10 is updated even when the files managed by the servant 10 are updated simultaneously by the plurality of terminals 20. All files (update information) can be stored.
[0071]
In addition, the servant 10 can store and manage the updated file under an arbitrary directory (second directory) created in accordance with preset conditions.
[0072]
As a result, the servant 10 can prevent the file from being updated unexpectedly by the operator even when the files managed by the servant 10 are simultaneously updated by the plurality of terminals 20.
[0073]
Further, the servant 10 creates a symbolic link between a file (substance of the file) stored under the first directory and a predetermined file name managed by the terminal 20, so that the terminal 20 An operator can read the substance of a file stored under the first directory without being aware of the structure of the first directory.
[0074]
Furthermore, the servant 10 can reduce the load of the operator changing the symbolic link by changing the symbolic link according to a preset condition.
[0075]
【The invention's effect】
According to the present invention, even when the same file is updated by a plurality of terminals, all the files updated by each terminal are stored, and the updated files are stored under an arbitrary directory. A file management apparatus and a file management method capable of performing the above can be provided.
[Brief description of the drawings]
FIG. 1 is a diagram showing an environment in which a servant 10 is installed in the present embodiment.
FIG. 2 is a block diagram showing a configuration of a servant 10 in the present embodiment.
FIG. 3 is a diagram showing an example of a virtual repository 13 in the present embodiment (part 1);
FIG. 4 is a diagram showing an example of a virtual repository 13 in the present embodiment (part 2).
FIG. 5 is a diagram illustrating an operation in which a symbolic link is replaced by a link creating unit 14 according to the present embodiment.
FIG. 6 is a sequence diagram showing the operation of the servant 10 in the embodiment (No. 1).
FIG. 7 is a sequence diagram showing the operation of the servant 10 in the embodiment (No. 2).
FIG. 8 is a diagram for explaining a conventional technique (“CVS”).
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10 ... Servant, 11 transmission part, 12 ... Reception part, 13 ... Virtual repository, 14 ... Link creation part, 20a-20c ... Terminal, 30 ... Network

Claims (2)

仮想リポジトリにおいて第1のディレクトリの配下に保存されているファイルの実体複数の端末のそれぞれによって読み出されて更新された場合に、前記仮想リポジトリにおいて、前記複数の端末それぞれに対応する第2のディレクトリを作成するディレクトリ作成手段と、
前記複数の端末のそれぞれによって更新されたファイルの実体前記仮想リポジトリにおいて前記第2のディレクトリの配下に保存するファイル保存手段と、
前記複数の端末のそれぞれに設けられた実ディレクトリで管理されるファイル名と、前記仮想リポジトリに保存されるファイルの実体とを対応付けるシンボリックリンクを張るリンク確立手段と、
前記仮想リポジトリに保存されるファイルの実体が、前記複数の端末のうち、第1の端末によって読み出されて更新された場合に、前記複数の端末のうち、第2の端末に対して予め設定されている条件に従って、前記第2の端末に設けられた前記実ディレクトリで管理されるファイル名に前記シンボリックリンクによって対応付けられたファイルの実体を、前記第1の端末によって読み出されて更新されたファイルの実体に変更するリンク張り替え手段とを具備することを特徴とするファイル管理装置。
If the substance of the files stored in the virtual repository under the first directory is updated is read by each of the plurality of terminals, in the virtual repository, the second corresponding to the plurality of terminals Directory creation means for creating a directory;
File storage means for storing an entity of a file updated by each of the plurality of terminals in the virtual repository under the second directory ;
Link establishment means for creating a symbolic link that associates a file name managed in a real directory provided in each of the plurality of terminals with a file entity stored in the virtual repository;
When the substance of the file stored in the virtual repository is read and updated by the first terminal among the plurality of terminals, it is set in advance for the second terminal among the plurality of terminals. In accordance with the specified conditions, the first terminal reads and updates the substance of the file associated with the file name managed in the real directory provided in the second terminal by the symbolic link. A file management apparatus comprising: a link replacement means for changing to a file entity .
ファイル管理装置が、仮想リポジトリにおいて第1のディレクトリの配下に保存されているファイルの実体複数の端末のそれぞれによって読み出されて更新された場合に、前記仮想リポジトリにおいて、前記複数の端末それぞれに対応する第2のディレクトリを作成するステップと、
前記ファイル管理装置が、前記複数の端末のそれぞれによって更新されたファイルの実体前記仮想リポジトリにおいて前記第2のディレクトリの配下に保存するステップと、
前記ファイル管理装置が、前記複数の端末のそれぞれに設けられた実ディレクトリで管理されるファイル名と、前記仮想リポジトリに保存されるファイルの実体とを対応付けるシンボリックリンクを張るステップと、
前記ファイル管理装置が、前記仮想リポジトリに保存されるファイルの実体が、前記複数の端末のうち、第1の端末によって読み出されて更新された場合に、前記複数の端末のうち、第2の端末に対して予め設定されている条件に従って、前記第2の端末に設けられた前記実ディレクトリで管理されるファイル名に前記シンボリックリンクによって対応付けられたファイルの実体を、前記第1の端末によって読み出されて更新されたファイルの実体に変更するステップとを具備することを特徴とするファイル管理方法。
When the file management apparatus reads and updates the substance of the file stored under the first directory in the virtual repository by each of the plurality of terminals , each of the plurality of terminals in the virtual repository Creating a corresponding second directory;
The file management device storing an entity of a file updated by each of the plurality of terminals in the virtual repository under the second directory ;
The file management device creates a symbolic link that associates a file name managed in a real directory provided in each of the plurality of terminals with a substance of a file stored in the virtual repository;
When the file management device reads and updates the substance of the file stored in the virtual repository by the first terminal among the plurality of terminals, the second of the plurality of terminals In accordance with the conditions set in advance for the terminal, the first terminal sets the entity of the file associated with the file name managed in the real directory provided in the second terminal by the symbolic link. A file management method comprising the steps of: changing to a file entity that has been read and updated .
JP2003209129A 2003-08-27 2003-08-27 File management apparatus and file management method Expired - Fee Related JP4355530B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003209129A JP4355530B2 (en) 2003-08-27 2003-08-27 File management apparatus and file management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003209129A JP4355530B2 (en) 2003-08-27 2003-08-27 File management apparatus and file management method

Publications (2)

Publication Number Publication Date
JP2005070868A JP2005070868A (en) 2005-03-17
JP4355530B2 true JP4355530B2 (en) 2009-11-04

Family

ID=34402166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003209129A Expired - Fee Related JP4355530B2 (en) 2003-08-27 2003-08-27 File management apparatus and file management method

Country Status (1)

Country Link
JP (1) JP4355530B2 (en)

Also Published As

Publication number Publication date
JP2005070868A (en) 2005-03-17

Similar Documents

Publication Publication Date Title
CN107861686B (en) File storage method, server and computer readable storage medium
JP5727020B2 (en) Cloud computing system and data synchronization method thereof
US6694335B1 (en) Method, computer readable medium, and system for monitoring the state of a collection of resources
CN1656480B (en) Method and apparatus for enabling synchronizing data in different devices having different capabilities
KR101863398B1 (en) Method and system for synchronization mechanism on multi-server reservation system
US7870288B2 (en) Sharing data in scalable software blade architecture
US7873696B2 (en) Scalable software blade architecture
JP4405812B2 (en) Method and apparatus for synchronizing between a first data storage unit and a second data storage unit
CN101385017B (en) Partial item change tracking and synchronization
US7779157B2 (en) Recovering a blade in scalable software blade architecture
US20070168721A1 (en) Method, network entity, system, electronic device and computer program product for backup and restore provisioning
JP5931934B2 (en) Method and system for centralized reservation context management in a multi-server reservation system
EP2028813A1 (en) Method of synchronizing intermittently connected mobile terminals
JPH1115717A (en) Program file management method for portable information terminal
KR20130012929A (en) Method and system for efficient download of data package
CN110389935A (en) A kind of method, equipment and computer storage medium starting small routine
CN106161523A (en) A kind of data processing method and equipment
JP4719732B2 (en) Backup server, mobile device, communication system using these, and backup method
JP4355530B2 (en) File management apparatus and file management method
CN103379015A (en) Website server and IM client data transmission method, apparatus and system
JP2008015630A (en) Wireless terminal device and file sharing method
WO2014010969A1 (en) Method and apparatus for managing personal information in communication system
CN112910675A (en) Equipment management method, device and system
CN116151903B (en) Service processing method and device based on sales promotion management system
CN109918356B (en) File reading method, device, equipment and computer readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090511

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees