JP2008097087A - 階層構造オブジェクトのコピー方法 - Google Patents
階層構造オブジェクトのコピー方法 Download PDFInfo
- Publication number
- JP2008097087A JP2008097087A JP2006274902A JP2006274902A JP2008097087A JP 2008097087 A JP2008097087 A JP 2008097087A JP 2006274902 A JP2006274902 A JP 2006274902A JP 2006274902 A JP2006274902 A JP 2006274902A JP 2008097087 A JP2008097087 A JP 2008097087A
- Authority
- JP
- Japan
- Prior art keywords
- hierarchical structure
- unit
- copying
- processing
- copy
- 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
Abstract
【課題】既存のコピー処理を利用して、大容量の階層構造オブジェクトのコピー中であっても割り込み処理を受け付け可能にする。
【解決手段】サーバ1のCPU11は、複数の単位オブジェクトの階層構造からなる階層構造オブジェクトをコピーする際に、階層構造の道筋であるパスの各々について単位オブジェクトをコピーする単位処理を、下位層から順に単位オブジェクト毎に実行し、各単位処理の間で割り込み処理を受け付ける。単位処理は、単位オブジェクトを複製領域にコピーするコピー処理と、コピー処理により下位の単位オブジェクトをコピーした後に上位の単位オブジェクトをコピーしたときに、この上位の単位オブジェクトと下位の単位オブジェクトの上下関係を複製領域で復元する復元処理とを含む。
【選択図】 図1
【解決手段】サーバ1のCPU11は、複数の単位オブジェクトの階層構造からなる階層構造オブジェクトをコピーする際に、階層構造の道筋であるパスの各々について単位オブジェクトをコピーする単位処理を、下位層から順に単位オブジェクト毎に実行し、各単位処理の間で割り込み処理を受け付ける。単位処理は、単位オブジェクトを複製領域にコピーするコピー処理と、コピー処理により下位の単位オブジェクトをコピーした後に上位の単位オブジェクトをコピーしたときに、この上位の単位オブジェクトと下位の単位オブジェクトの上下関係を複製領域で復元する復元処理とを含む。
【選択図】 図1
Description
本発明は、例えばサーバ集中型のマルチクライアントシステムのサーバにおいて、階層構造オブジェクトをコピーするコピー方法に関するものである。
従来より、アプリケーションやデータをサーバで集中管理し、サーバ上のアプリケーションやデータを複数のクライアントで利用するサーバ集中型のマルチクライアントシステムが実用化されている。図7にサーバ集中型のマルチクライアントシステムの構成を示す。図7において、1はサーバ、2はパーソナルコンピュータ等のクライアント、3はサーバ1と複数のクライアント2を接続するネットワークである。
図7に示したサーバ集中型のマルチクライアントシステムでは、あるクライアント2が大容量のオブジェクトのコピーを実施すると、サーバ1のCPU使用率及びメモリー消費量が増加し、サーバ1が他のクライアント2の要求を処理できなくなってしまうという問題があった。このような問題が起こる理由を図8を用いて説明する。図8において、A,B,D,E,G,Iは階層構造を持つオブジェクト(例えばフォルダ)、C,F,H,J,K,L,M,N,Oは階層構造を持たないオブジェクト(例えばファイル)である。
図8によると、オブジェクトAはオブジェクトB,C,Dを含み、オブジェクトBはオブジェクトE,F,Gを含み、オブジェクトDはオブジェクトH,Iを含む。さらに、オブジェクトEはオブジェクトJ,Kを含み、オブジェクトGはオブジェクトLを含み、オブジェクトIはオブジェクトM,N,Oを含む。つまり、オブジェクトAは階層構造を有する。クライアント2からの要求に応じて、サーバ1が階層構造を持つオブジェクトAをコピーしようとすると、第1階層から第3階層まで一度に処理するため、サーバ1のCPU使用率及びメモリー消費量が大幅に増加する。オブジェクトAのようにコピー対象が階層構造の場合は、ユーザ操作によって分割コピーすることも容易でない。
これに対して、コピー先ディレクトリの階層を1次元化することにより、復元時のファイルアクセス時間を最小化、均一化するファイル管理方式が提案されている(例えば、特許文献1参照)。図9は特許文献1のファイル管理方式によるバックアップファイル構造の一例を示す図であり、図10に示すコピー元のディレクトリ構造部分をバックアップした場合のコピー先のディレクトリ構造を示している。図10において、f××はファイルを表し、d××/はディレクトリを表している。また、図9に示すバックアップファイル構造は、管理情報ファイルと、図10のf××に対応する各ファイルが同一のディレクトリのもとに格納される一次元ディレクトリ構造である。
特許文献1のファイル管理方式では、任意のディレクトリのもとに統合され管理されているファイル全てをコピーする場合、コピーの対象として指定されたコピー元ディレクトリ上の各ファイルおよびディレクトリについて、コピー元のファイル名またはディレクトリ名をファイル名格納エリアへ格納し、コピー元のディレクトリ階層の絶対位置としてルートディレクトリからのフルパス名をパス名格納エリアへ格納し、ファイルのアクセス権、ファイル所有者識別コード、ファイルの種類、データ部のリンク情報等のファイルの属性情報をファイル制御エリアへ格納することにより、ファイル名格納エリアとパス名格納エリアとファイル制御エリアとからなる管理情報レコードを生成する。管理情報レコードはファイル毎、ディレクトリ毎に生成され、コピー先のディレクトリ上に設けられる管理情報ファイルに順次格納される。
さらに、特許文献1のファイル管理方式では、管理情報レコードを生成する度に、処理対象がファイルである場合は、コピー先ディレクトリ上の一意なファイル名を生成し、当該ファイル名をコピー先ディレクトリ上のファイル名として、管理情報ファイルと同一のディレクトリ上にコピー元のファイルをコピーする。
特許文献1では、以上のようなファイル管理方式により、コピー元ディレクトリの階層が深い場合でも、ファイルアクセス時間が増大しないとしている。したがって、このようなファイル管理方式をサーバ集中型のマルチクライアントシステムのサーバに適用すれば、図8で説明した問題の解決が期待できる。
特許文献1では、以上のようなファイル管理方式により、コピー元ディレクトリの階層が深い場合でも、ファイルアクセス時間が増大しないとしている。したがって、このようなファイル管理方式をサーバ集中型のマルチクライアントシステムのサーバに適用すれば、図8で説明した問題の解決が期待できる。
しかしながら、特許文献1のファイル管理方式では、ファイル名格納エリアとパス名格納エリアとファイル制御エリアとからなる管理情報レコードをファイル毎、ディレクトリ毎に作成する必要があり、この管理情報レコードの作成処理が煩雑になるという問題点があった。特に、コピーの対象が深い階層構造を持つ場合、ファイル名やディレクトリ名、パス名、属性情報など多数の情報を収集保存して管理情報レコードを作成しなければならない。また、階層構造は、フォルダ、ファイルの関係ばかりではなく、属性の数が固定ではないため、管理情報レコードの大きさを変えたりする必要があって処理が複雑になるという問題点があった。
また、特許文献1のファイル管理方式では、図9に示すコピーデータの状態が図10に示す実際の階層構造と異なるため、コピー&ペースト処理も特別な手順で実施する必要があり、既存のコピー&ペースト処理を利用することができないという問題点があった。
また、特許文献1のファイル管理方式では、図9に示すコピーデータの状態が図10に示す実際の階層構造と異なるため、コピー&ペースト処理も特別な手順で実施する必要があり、既存のコピー&ペースト処理を利用することができないという問題点があった。
本発明は、上記課題を解決するためになされたもので、既存のコピー処理を利用することができ、大容量の階層構造オブジェクトのコピー中であっても、割り込み処理を受け付けることができる階層構造オブジェクトのコピー方法を提供することを目的とする。
また、本発明は、オブジェクト管理が容易な階層構造オブジェクトのコピー方法を提供することを目的とする。
また、本発明は、オブジェクト管理が容易な階層構造オブジェクトのコピー方法を提供することを目的とする。
本発明は、CPUと記憶装置とを備えたコンピュータにおいて、複数の単位オブジェクトの階層構造からなる階層構造オブジェクトをコピーするコピー方法であって、前記階層構造の道筋であるパスの各々について前記単位オブジェクトをコピーする単位処理を、下位層から順に前記単位オブジェクト毎に実行し、各単位処理の間で割り込み処理を受け付けるようにしたものである。
また、本発明の階層構造オブジェクトのコピー方法の1構成例において、前記単位処理は、前記単位オブジェクトを複製領域にコピーするコピー処理と、前記コピー処理により下位の単位オブジェクトをコピーした後に上位の単位オブジェクトをコピーしたときに、この上位の単位オブジェクトと前記下位の単位オブジェクトの上下関係を前記複製領域で復元する復元処理とを含むものである。
また、本発明の階層構造オブジェクトのコピー方法の1構成例は、さらに、前記単位処理の前に、前記下位の単位オブジェクトをコピーする際、この下位の単位オブジェクトと前記上位の単位オブジェクトの上下関係を示す属性情報を前記下位の単位オブジェクトに付与する属性情報付与処理と、前記復元処理の後に、前記下位の単位オブジェクトに付与された属性情報を削除する属性情報削除処理とを備え、前記復元処理は、前記下位の単位オブジェクトに付与された属性情報に基づいて、前記上位の単位オブジェクトと前記下位の単位オブジェクトの上下関係を復元するものである。
また、本発明の階層構造オブジェクトのコピー方法の1構成例において、前記単位処理は、前記単位オブジェクトを複製領域にコピーするコピー処理と、前記コピー処理により下位の単位オブジェクトをコピーした後に上位の単位オブジェクトをコピーしたときに、この上位の単位オブジェクトと前記下位の単位オブジェクトの上下関係を前記複製領域で復元する復元処理とを含むものである。
また、本発明の階層構造オブジェクトのコピー方法の1構成例は、さらに、前記単位処理の前に、前記下位の単位オブジェクトをコピーする際、この下位の単位オブジェクトと前記上位の単位オブジェクトの上下関係を示す属性情報を前記下位の単位オブジェクトに付与する属性情報付与処理と、前記復元処理の後に、前記下位の単位オブジェクトに付与された属性情報を削除する属性情報削除処理とを備え、前記復元処理は、前記下位の単位オブジェクトに付与された属性情報に基づいて、前記上位の単位オブジェクトと前記下位の単位オブジェクトの上下関係を復元するものである。
本発明によれば、階層構造の道筋であるパスの各々について単位オブジェクトをコピーする単位処理を、下位層から順に単位オブジェクト毎に実行し、各単位処理の間で割り込み処理を受け付けるようにしたことにより、例えばサーバ集中型のマルチクライアントシステムのサーバにおいて、各単位処理の間にクライアントからの要求を割り込みで実行することができ、サーバのCPU使用率及びメモリー消費量を抑制することができる。また、本発明では、各単位処理で行うコピー処理自体は既存の処理をそのまま利用することができる。
また、本発明では、単位処理を、単位オブジェクトを複製領域にコピーするコピー処理と、コピー処理により下位の単位オブジェクトをコピーした後に上位の単位オブジェクトをコピーしたときに、この上位の単位オブジェクトと下位の単位オブジェクトの上下関係を複製領域で復元する復元処理とを含むものとすることにより、複製領域にコピー元領域と同じ階層構造を生成することができるので、既存のペースト処理を用いて複製領域の内容を容易に貼り付けることができる。
また、本発明では、単位処理の前に、下位の単位オブジェクトをコピーする際、この下位の単位オブジェクトと上位の単位オブジェクトの上下関係を示す属性情報を下位の単位オブジェクトに付与する属性情報付与処理と、復元処理の後に、下位の単位オブジェクトに付与された属性情報を削除する属性情報削除処理とを備え、復元処理では、下位の単位オブジェクトに付与された属性情報に基づいて、上位の単位オブジェクトと下位の単位オブジェクトの上下関係を復元することにより、オブジェクト管理を容易にすることができる。
以下、本発明の実施の形態について図面を参照して説明する。図1は本発明の実施の形態に係るサーバの構成例を示すブロック図である。本実施の形態においても、サーバ集中型のマルチクライアントシステムの構成は従来と同様なので、図7の符号を用いて説明する。
図1において、11はCPU、12はRAM、13はROM、14はハードディスク装置などの記憶装置、15〜17はインターフェイス装置(以下、I/Fと略する)、18はディスプレイ装置、19はキーボード、20はマウスである。
CPU11は、I/F17を介して与えられる各種入力情報を得て、RAM12にアクセスしながら、ROM13や記憶装置14に格納されたプログラムに従って動作し、I/F16を介してディスプレイ装置18に情報を表示させる。また、CPU11は、ネットワーク3に接続されたI/F15を介してクライアント2と通信し、クライアント2の要求に応じた処理を実行し、必要に応じて実行結果をクライアント2に送信する。記憶装置14には、プログラムが格納されている。このプログラムは、例えばCD−ROMなどの記録媒体に記録された状態で提供され、この記録媒体から読み出されて記憶装置14にインストールされている。
CPU11は、I/F17を介して与えられる各種入力情報を得て、RAM12にアクセスしながら、ROM13や記憶装置14に格納されたプログラムに従って動作し、I/F16を介してディスプレイ装置18に情報を表示させる。また、CPU11は、ネットワーク3に接続されたI/F15を介してクライアント2と通信し、クライアント2の要求に応じた処理を実行し、必要に応じて実行結果をクライアント2に送信する。記憶装置14には、プログラムが格納されている。このプログラムは、例えばCD−ROMなどの記録媒体に記録された状態で提供され、この記録媒体から読み出されて記憶装置14にインストールされている。
本実施の形態では、操作の対象となる対象物(フォルダやファイル)をオブジェクトと呼ぶ。図8に示したように、階層構造を持つ階層構造オブジェクトは、複数のオブジェクト(単位オブジェクト)からなる。
本実施の形態では、階層構造オブジェクトAをコピーする場合、複製領域と移動領域の2つの記憶領域を記憶装置14に用意し、図2に示すように、最下位の第3階層のオブジェクトから1つずつ順にコピーすることで、コピー処理をできるだけ均一な単位処理に分割し、分割した単位処理の終了毎に他のクライアント2の要求を受け付けるようにした。
図3は階層構造オブジェクトのコピー方法の処理の流れを示すフローチャートである。以下、図3を用いて本実施の形態のコピー方法を説明する。
本実施の形態では、階層構造オブジェクトAをコピーする場合、複製領域と移動領域の2つの記憶領域を記憶装置14に用意し、図2に示すように、最下位の第3階層のオブジェクトから1つずつ順にコピーすることで、コピー処理をできるだけ均一な単位処理に分割し、分割した単位処理の終了毎に他のクライアント2の要求を受け付けるようにした。
図3は階層構造オブジェクトのコピー方法の処理の流れを示すフローチャートである。以下、図3を用いて本実施の形態のコピー方法を説明する。
まず、CPU11は、選択されたオブジェクトAのコピーをクライアント2から要求された場合、コピー元領域のオブジェクトAの中に階層構造を持つオブジェクト(以下、階層構造オブジェクトと略する)が存在するかどうかを判定する(図3ステップS1)。オブジェクトAの中に階層構造オブジェクトが存在しない場合は、オブジェクトAを複製領域にコピーし(ステップS2)、オブジェクトAをコピーし終えた時点で(ステップS3において判定YES)、コピー処理を終了する。
一方、図2に示したようにオブジェクトAが階層構造を持つ場合、CPU11は、オブジェクトAの下位層を調べ(ステップS5)、その下位層に階層構造オブジェクトが存在するかどうかを判定し(ステップS6)、階層構造オブジェクトが存在する場合にはステップS5に戻る。例えばオブジェクトAの下位層である第1階層を調べると、階層構造オブジェクトB,Dが存在するので、ステップS6において判定YESとなり、ステップS5に戻って階層構造オブジェクトBの下位の第2階層を調べる。この第2階層にも階層構造オブジェクトE,Gが存在するため、再びステップS5に戻って階層構造オブジェクトEの下位の第3階層を調べる。このように、下位層に階層構造オブジェクトが存在する限り、ステップS5,S6の処理を繰り返す。
階層構造オブジェクトEの下位の第3階層を調べると、階層構造オブジェクトが存在しないので、ステップS6において判定NOとなり、CPU11は、この第3階層にオブジェクトが存在するかどうかを判定する(ステップS7)。階層構造オブジェクトEの下位の第3階層には、階層構造を持たないオブジェクトJ,Kが存在するので、判定YESとなり、CPU11は、オブジェクトJとその上位のオブジェクトEの上下関係を示すID(属性情報)をオブジェクトJに付与する(ステップS8)。
そして、CPU11は、図4のc1のようにオブジェクトJを複製領域141にコピーし(ステップS9)、さらに図4のm1のようにオブジェクトJを移動領域142に移動させる(ステップS10)。CPU11は、ステップS9,S10の終了後、複数のクライアント2がサーバ1に接続されているかどうかを判定し、複数のクライアント2が接続され、かつコピーを要求したクライアント2以外の他のクライアント2からの要求が存在する場合には、この要求に応じた処理を実行した後にステップS7に戻り、コピーを要求したクライアント2のみがサーバ1に接続されている場合には、ステップS7に戻る(ステップS11)。他のクライアント2からの操作を許容することはウエイト処理に該当し、他のクライアント2の要求に応じた処理を実行すると、コピーの処理速度が遅くなる。上記のようにクライアント2の接続状態(ログイン状態)を確認して、不要であれば、他のクライアント2からの操作を許容するプロセスを省くことにより、単独のクライアント2で操作中は処理速度を速めることができる。また、コピー途中にクライアント2の接続状態が単独あるいは複数に変更されても柔軟に対応できる。
続いて、CPU11は、ステップS7に戻って、階層構造オブジェクトEの下位の第3階層に未処理のオブジェクトが存在するかどうかを判定する。この第3階層にはオブジェクトKが残っているので、CPU11は、オブジェクトKとその上位のオブジェクトEの上下関係を示すIDをオブジェクトKに付与し(ステップS8)、図4のc2のようにオブジェクトKを複製領域141にコピーし(ステップS9)、図4のm2のようにオブジェクトKを移動領域142に移動させる(ステップS10)。なお、オブジェクトに付与するIDは上位オブジェクトを特定できる情報であり(例えばフォルダのパス名称)、同一の上位オブジェクトの下に位置する同じ階層のオブジェクトには全て同じIDが付与される。したがって、オブジェクトJ,Kには同じIDが付与されることになる。また、IDを付与するタイミングはオブジェクトをコピーする直前のため、複製領域141にコピーしたオブジェクトと移動領域142に移動したオブジェクトには同じIDが付与される。次に、CPU11は、ステップS9,S10の終了後、複数のクライアント2がサーバ1に接続されているかどうかを判定し、複数のクライアント2が接続され、かつ他のクライアント2からの要求が存在する場合には、この要求に応じた処理を実行した後にステップS7に戻り、コピーを要求したクライアント2のみがサーバ1に接続されている場合には、ステップS7に戻る(ステップS11)。
こうして、階層構造オブジェクトEの下位の第3階層のオブジェクトが無くなるまで、ステップS7〜S11の処理が繰り返される。次に、CPU11は、第3階層にオブジェクトが無くなった場合(ステップS7において判定NO)、この第3階層の上位のオブジェクトEが、クライアント2がコピー対象として選択したオブジェクトかどうかを判定する(ステップS12)。オブジェクトEはクライアント2がコピー対象として選択したオブジェクトAではないので、CPU11は、オブジェクトEとその上位のオブジェクトBの上下関係を示すIDをオブジェクトEに付与し(ステップS13)、図4のc3のようにオブジェクトEを複製領域141にコピーし(ステップS14)、図4のm3のようにオブジェクトEを移動領域142に移動させる(ステップS15)。
CPU11は、ステップS14,S15の終了後、複数のクライアント2がサーバ1に接続されているかどうかを判定し、複数のクライアント2が接続され、かつ他のクライアント2からの要求が存在する場合には、この要求に応じた処理を実行した後にステップS17に進み、コピーを要求したクライアント2のみがサーバ1に接続されている場合には、ステップS17に進む(ステップS16)。続いて、CPU11は、複製領域141にコピーしたオブジェクトEの下位に他のオブジェクトが存在するかどうかを、各オブジェクトに付与したIDに基づいて調べ、下位のオブジェクトが存在する場合には、これらのオブジェクトをオブジェクトEの下位層に復元し、IDを削除する(ステップS17)。ここでは、オブジェクトEの下位にオブジェクトJ,Kが存在するので、図4のr1のようにオブジェクトJ,KをオブジェクトEの下位層に復元し、オブジェクトJ,Kに付与したIDを削除する。
同様に、CPU11は、移動領域142に移動したオブジェクトEの下位にオブジェクトJ,Kが存在するので、図4のr2のようにオブジェクトJ,KをオブジェクトEの下位層に復元し、オブジェクトJ,Kに付与したIDを削除する(ステップS18)。CPU11は、ステップS17,S18の終了後、複数のクライアント2がサーバ1に接続されているかどうかを判定し、複数のクライアント2が接続され、かつ他のクライアント2からの要求が存在する場合には、この要求に応じた処理を実行した後にステップS20に進み、コピーを要求したクライアント2のみがサーバ1に接続されている場合には、ステップS20に進む(ステップS19)。
次に、CPU11は、上位オブジェクトEが存在していた第2階層を調べ(ステップS20)、第2階層に未処理の階層構造オブジェクトが存在するかどうかを判定する(ステップS6)。この第2階層には階層構造オブジェクトGが存在するので、ステップS6において判定YESとなりステップS5に戻り、階層構造オブジェクトGの下位の第3階層についてステップS6,S7の処理が実行され、第3階層に存在するオブジェクトLについてステップS8〜S11の処理が実行され、続いて階層構造オブジェクトGについてステップS12〜S20の処理が実行される。さらに、階層構造オブジェクトGが存在していた第2階層に階層構造を持たないオブジェクトFが存在するので、オブジェクトFについてステップS8〜S11の処理が実行される。
このように、オブジェクトJ,K,E,L,G,Fの順に処理を実行すると、オブジェクトE,F,Gが存在していた第2階層に未処理のオブジェクトが無くなるので、上位の階層構造オブジェクトBに処理が移り、階層構造オブジェクトBについてステップS12〜S20の処理が実行される。続いて、階層構造オブジェクトBが存在していた第1階層に階層構造オブジェクトDが存在するので、この階層構造オブジェクトDの下位層について階層構造オブジェクトが存在する限り、ステップS5,S6が繰り返され、階層構造オブジェクトDの最下位の第3階層に存在するオブジェクトM,N,OについてそれぞれステップS8〜S11の処理が実行され、続いてオブジェクトM,N,Oの上位の階層構造オブジェクトIについてステップS12〜S20の処理が実行される。さらに、階層構造オブジェクトIが存在した第2階層に階層構造を持たないオブジェクトHが存在するので、第2階層についてステップS6,S7の処理が実行され、オブジェクトHについてステップS8〜S11の処理が実行される。
オブジェクトM,N,O,I,Hの順に処理を実行すると、オブジェクトH,Iが存在していた第2階層に未処理のオブジェクトが無くなるので、上位の階層構造オブジェクトDに処理が移り、階層構造オブジェクトDについてステップS12〜S20の処理が実行される。続いて、階層構造オブジェクトDが存在していた第1階層に階層構造を持たないオブジェクトCが存在するので、第1階層についてステップS6,S7の処理が実行され、オブジェクトCについてステップS8〜S11の処理が実行される。
オブジェクトCについてステップS8〜S11の処理が実行された後、ステップS7に戻ると、図5に示すようにコピー元領域140にはオブジェクトAしか存在せず、オブジェクトB,C,Dが存在していた第1階層には未処理のオブジェクトが無いので、ステップS7において判定NOとなる。さらに、この第1階層の上位のオブジェクトAはクライアント2がコピー対象として選択したオブジェクトなので、ステップS12において判定YESとなる。この場合、CPU11は、図5のc4のようにオブジェクトAを複製領域141にコピーする(ステップS21)。
CPU11は、ステップS21の終了後、複数のクライアント2がサーバ1に接続されているかどうかを判定し、複数のクライアント2が接続され、かつ他のクライアント2からの要求が存在する場合には、この要求に応じた処理を実行した後にステップS23に進み、コピーを要求したクライアント2のみがサーバ1に接続されている場合には、ステップS23に進む(ステップS22)。続いて、CPU11は、複製領域141にコピーしたオブジェクトAの下位に他のオブジェクトが存在するかどうかを、各オブジェクトに付与したIDに基づいて調べ、下位のオブジェクトが存在する場合には、これらのオブジェクトをオブジェクトAの下位層に復元し、IDを削除する(ステップS23)。ここでは、オブジェクトAの下位にオブジェクトB,C,Dが存在するので、図5のr3のようにオブジェクトB,C,DをオブジェクトAの下位層に復元し、オブジェクトB,C,Dに付与したIDを削除する。こうして、コピー元領域140と同じ階層構造が複製領域141に生成される。
最後に、CPU11は、移動領域142に移動したオブジェクトB(下位層にE,F,G,J,K,Lを含む),C,D(下位層にH,I,M,N,Oを含む)を図5のm4のようにコピー元領域140に戻して、オブジェクトB,C,DをオブジェクトAの下位層に復元し、オブジェクトB,C,Dに付与したIDを削除する(ステップS24)。CPU11は、全てのオブジェクトをコピーし終えたので(ステップS3において判定YES)、コピー処理を終了する。
以上のように、本実施の形態では、階層構造オブジェクトのコピー処理を1オブジェクト毎の単位処理に分割して、単位処理を繰り返すことにより、各単位処理の間に他のクライアント2の要求を割り込みで実行することができ、サーバ1のCPU使用率及びメモリー消費量を抑制することができる。従来の階層構造オブジェクトのコピー処理では、図6(A)に示すように一旦コピー処理を実行するとその間は他のクライアント2の要求に応じた処理を実行することができないが、本実施の形態によれば、図6(B)に示すように各単位処理の間に他のクライアント2の要求に応じた処理を実行することができる。
また、本実施の形態では、コピー処理自体は既存の処理をそのまま利用することができる。また、本実施の形態では、下位のオブジェクトをコピーする前に、この下位オブジェクトと上位オブジェクトの上下関係を示すIDを下位オブジェクトに付与し、さらに上位オブジェクトをコピーして、複製領域141で上位オブジェクトと下位オブジェクトの上下関係を復元した後に、下位オブジェクトに付与したIDを削除すればよいので、特許文献1のように管理情報レコードを生成する必要はなく、オブジェクト管理を容易にすることができる。また、本実施の形態では、複製領域141にコピー元領域140と同じ階層構造を生成することができるので、既存のペースト処理を用いて複製領域141の内容を容易に貼り付けることができる。
なお、本実施の形態では、サーバ集中型のマルチクライアントシステムを例に挙げて説明しているが、本発明はマルチクライアントシステムに限るものではなく、例えばマルチタスク処理を行うスタンドアロンのコンピュータに適用してもよい。
本発明は、コンピュータにおけるオブジェクトのコピー技術に適用することができる。
1…サーバ、2…クライアント、3…ネットワーク、11…CPU、12…RAM、13…ROM、14…記憶装置、15〜17…インターフェイス装置、18…ディスプレイ装置、19…キーボード、20…マウス、140…コピー元領域、141…複製領域、142…移動領域、A〜O…オブジェクト。
Claims (3)
- CPUと記憶装置とを備えたコンピュータにおいて、複数の単位オブジェクトの階層構造からなる階層構造オブジェクトをコピーするコピー方法であって、
前記階層構造の道筋であるパスの各々について前記単位オブジェクトをコピーする単位処理を、下位層から順に前記単位オブジェクト毎に実行し、
各単位処理の間で割り込み処理を受け付けることを特徴とする階層構造オブジェクトのコピー方法。 - 請求項1記載の階層構造オブジェクトのコピー方法において、
前記単位処理は、
前記単位オブジェクトを複製領域にコピーするコピー処理と、
前記コピー処理により下位の単位オブジェクトをコピーした後に上位の単位オブジェクトをコピーしたときに、この上位の単位オブジェクトと前記下位の単位オブジェクトの上下関係を前記複製領域で復元する復元処理とを含むことを特徴とする階層構造オブジェクトのコピー方法。 - 請求項2記載の階層構造オブジェクトのコピー方法において、
さらに、前記単位処理の前に、前記下位の単位オブジェクトをコピーする際、この下位の単位オブジェクトと前記上位の単位オブジェクトの上下関係を示す属性情報を前記下位の単位オブジェクトに付与する属性情報付与処理と、
前記復元処理の後に、前記下位の単位オブジェクトに付与された属性情報を削除する属性情報削除処理とを備え、
前記復元処理は、前記下位の単位オブジェクトに付与された属性情報に基づいて、前記上位の単位オブジェクトと前記下位の単位オブジェクトの上下関係を復元することを特徴とする階層構造オブジェクトのコピー方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006274902A JP2008097087A (ja) | 2006-10-06 | 2006-10-06 | 階層構造オブジェクトのコピー方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006274902A JP2008097087A (ja) | 2006-10-06 | 2006-10-06 | 階層構造オブジェクトのコピー方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008097087A true JP2008097087A (ja) | 2008-04-24 |
Family
ID=39379910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006274902A Pending JP2008097087A (ja) | 2006-10-06 | 2006-10-06 | 階層構造オブジェクトのコピー方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008097087A (ja) |
-
2006
- 2006-10-06 JP JP2006274902A patent/JP2008097087A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10049018B2 (en) | Data backup using metadata mapping | |
US10936547B2 (en) | Filesystem replication using a minimal filesystem metadata changelog | |
JP5656563B2 (ja) | 文書管理システム、文書管理システムの制御方法、プログラム | |
TWI395104B (zh) | 在分散式儲存系統中資料之基元多重修改 | |
CN100414547C (zh) | 用于访问文件系统快照的方法和文件系统 | |
US7395389B2 (en) | Extending non-volatile storage at a computer system | |
US8082229B2 (en) | Methods for backing up a database | |
JP4741371B2 (ja) | システム、サーバ装置及びスナップショットの形式変換方法 | |
JP4304194B2 (ja) | ファイルシステム管理装置及び方法 | |
US7433902B2 (en) | Non-disruptive backup copy in a database online reorganization environment | |
JP2005301497A (ja) | ストレージ管理装置、リストア方法及びそのプログラム | |
CN103597440A (zh) | 用于创建克隆文件的方法以及采用该方法的文件系统 | |
WO2016192496A1 (zh) | 数据迁移处理方法及装置 | |
JP4755244B2 (ja) | 情報生成方法、情報生成プログラム及び情報生成装置 | |
JP2009064159A (ja) | 計算機システム、管理計算機及びデータ管理方法 | |
JP5556025B2 (ja) | ストレージシステム | |
US20080320252A1 (en) | Optimized and robust in-place data transformation | |
JP2009205307A (ja) | データ格納方法及びその装置、複製データ格納方法及びその装置並びにそれらの制御プログラム | |
JP2005316708A (ja) | 階層記憶装置、その復旧方法、及び復旧プログラム | |
CN109241011B (zh) | 一种虚拟机文件处理方法及装置 | |
JP2008097087A (ja) | 階層構造オブジェクトのコピー方法 | |
JP2005316624A (ja) | データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置 | |
JPH033046A (ja) | ログ記録管理方式 | |
JP5240086B2 (ja) | データ管理プログラム | |
JPH10133934A (ja) | 分散型文書管理システムおよびそれを実現するプログラム記憶媒体 |