JP6305177B2 - Information processing apparatus, document management system, information processing method, and program - Google Patents
Information processing apparatus, document management system, information processing method, and program Download PDFInfo
- Publication number
- JP6305177B2 JP6305177B2 JP2014082866A JP2014082866A JP6305177B2 JP 6305177 B2 JP6305177 B2 JP 6305177B2 JP 2014082866 A JP2014082866 A JP 2014082866A JP 2014082866 A JP2014082866 A JP 2014082866A JP 6305177 B2 JP6305177 B2 JP 6305177B2
- Authority
- JP
- Japan
- Prior art keywords
- capacity
- decrease
- increase
- storage
- record
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、情報処理装置、文書管理システム、情報処理方法及びプログラムに関する。 The present invention relates to an information processing apparatus, a document management system, an information processing method, and a program.
文書管理システムでは、ストレージの利用容量を制限したり、アクセス制御や利用方法に応じてカスタマイズしたりするために、ストレージを区分けして管理する場合が多い。この区分けの呼び方はシステムによって異なり、例えば、キャビネットやライブラリといった呼称が使われる(以下、キャビネットという)。
キャビネットの属性情報には、キャビネットが使用できるストレージの容量を定義したキャビネット容量と、キャビネットが実際に使用しているストレージ容量を示す使用容量とがある。キャビネット容量と使用容量とは、利用上限を越えて文書ファイルが登録されないようにチェックしたり、ユーザーがキャビネットの状況を即時に確認したりするために保持される。
使用容量は、文書ファイルの登録、更新、削除が行われるたびに変化するものであり、かつ、タイムラグが許容できない。そのため、文書ファイルの登録、更新、削除が行われるたびに算出され、値の更新が行われていた(例えば、特許文献1参照)。
In a document management system, storage is often divided and managed in order to limit the use capacity of the storage or customize it according to access control or use method. The name of this classification differs depending on the system, and for example, names such as cabinets and libraries are used (hereinafter referred to as cabinets).
The cabinet attribute information includes a cabinet capacity that defines the storage capacity that can be used by the cabinet, and a used capacity that indicates the storage capacity actually used by the cabinet. The cabinet capacity and the used capacity are held for checking that a document file is not registered exceeding the upper limit of use or for allowing the user to immediately confirm the status of the cabinet.
The used capacity changes each time a document file is registered, updated, or deleted, and the time lag is not acceptable. For this reason, it is calculated each time a document file is registered, updated, or deleted, and the value is updated (see, for example, Patent Document 1).
以下、図1〜図3を用いて、文書管理システムの一例について述べる。
図1は、文書管理システムのデータ構造をイメージで示した図である。テナント300は主にクラウド型システム等で用いられるデータの境界を示している。クラウド型のシステムでは1つのシステム環境の中に複数企業やユーザーを同居させるマルチテナント方式をとっており、各企業やユーザーのデータが混合することを避けるために、企業やユーザー毎の論理的な境界(テナント間の論理的な境界)を設けている。例えば、境界300はテナントの論理的な境界を示す。各テナントが利用可能なリソース(計算能力やストレージ容量など)は、クラウドサービスを提供している会社と各テナントとの間の契約に依存する。また、文書管理システムでは、ストレージの利用容量を制限したり、アクセス制御や利用方法に応じてカスタマイズしたりするために、各テナント内で更にストレージを区分けして管理する場合が多く、この区分けがキャビネットである。境界301、302、303はキャビネットの境界を示す。キャビネット内にはフォルダ311や文書ファイル321が多数存在している。また、キャビネット内のフォルダやファイルには複数のユーザー又はシステムがアクセスする。文書管理システムでは、キャビネット毎にストレージ容量を割り当てることができる。例えば、企業がテナントとしてクラウドサービスの文書管理システムを利用する場合、テナント内に部署単位でキャビネットを作成し、各部署のキャビネットごとにストレージ使用可能容量を割り当てるといった運用が可能になる。
Hereinafter, an example of a document management system will be described with reference to FIGS.
FIG. 1 is a diagram showing the data structure of the document management system as an image. A
図2は、キャビネットの属性情報を保管する、データベース上のテーブル(以下、テーブルという)の一例を示す図である。テナントID列401は、図1の300で示したテナントを識別するIDである。キャビネットID列402は、図1の301、302、303で示したテナント内のキャビネットを識別するIDである。テナントID列401とキャビネットID列402とによって、システム内で一意のキャビネットが特定されることになる。最大サイズ列403は、ストレージの使用可能容量を示すキャビネット容量を保管する列である。使用容量列404は、キャビネットの使用容量を保管する列である。使用容量列404の値は、文書ファイルの登録、更新、削除といった処理が行われる度に変化することになる。また、キャビネット属性情報テーブルは、キャビネットの属性情報を管理する際にも参照、更新される。
FIG. 2 is a diagram illustrating an example of a table on the database (hereinafter referred to as a table) that stores cabinet attribute information. The
図3は、文書ファイル更新処理の一例を示すフローチャートである。まず、クライアント端末から更新する文書ファイルがアップロードされると、文書管理システムのアプリケーションプログラムがCPUによって呼び出される。アプリケーションプログラムは、記憶装置から読み込まれ、メモリに格納した上で、CPUによって実行される。そして、CPUは、まず、アップロードされた文書ファイルを受信する(S501)。ここで、CPUは、文書ファイルの更新によって文書ファイルを上書きしてしまう前に、文書管理システム内の既存文書の情報を取得しておく(S502)。その後、文書ファイルの更新を行う(S503)。より具体的に説明すると、ステップS503において、CPUは、文書ファイルを記憶装置に保管すると共に関連する属性情報をデータベースに格納し、既存の文書ファイルを削除する。そして、CPUは、S502で取得した既存文書ファイルの情報とアップロードされた更新文書ファイルの情報とからファイルサイズの増減を算出する(S504)。ファイルサイズの増減は、プラス値、即ちファイルサイズが大きくなる場合もあれば、マイナス値、即ちファイルサイズが小さくなる場合もある。そして、CPUは、ファイルサイズが増加したかどうかを判定し(S505)、増加する場合はキャビネットの空き容量を図2のキャビネット属性情報テーブルから算出して取得する(S506)。CPUは、空き容量を、最大サイズ列403の値から使用容量列404の値を減算することで算出する。そして、CPUは、キャビネットに文書ファイルを保管できる空き容量があるかどうかの判定を行う(S507)。判定処理は、S506で取得した空き容量内に、S504で算出したファイルサイズの増加量が収まるかどうかを判定するものであり、S505でファイルサイズが減少する場合にはS506、S507は行う必要が無い。空き容量があれば、CPUは、キャビネット属性情報テーブルの使用容量列404の値を更新し(S508)、データベースの更新処理をコミットする(S509)。また、空き容量がなければ、CPUは、データベースの更新処理を破棄し、S502で取得しておいた既存文書の情報に基づいて更新前の状態に戻す(S510)。
FIG. 3 is a flowchart showing an example of the document file update process. First, when a document file to be updated is uploaded from the client terminal, the application program of the document management system is called by the CPU. The application program is read from the storage device, stored in the memory, and then executed by the CPU. The CPU first receives the uploaded document file (S501). Here, the CPU acquires information of an existing document in the document management system before overwriting the document file by updating the document file (S502). Thereafter, the document file is updated (S503). More specifically, in step S503, the CPU stores the document file in the storage device, stores related attribute information in the database, and deletes the existing document file. Then, the CPU calculates the increase / decrease of the file size from the information of the existing document file acquired in S502 and the information of the uploaded updated document file (S504). The increase / decrease of the file size may increase the positive value, that is, the file size, or may decrease the negative value, that is, the file size. Then, the CPU determines whether or not the file size has increased (S505). If the file size has increased, the CPU calculates and acquires the free space of the cabinet from the cabinet attribute information table of FIG. 2 (S506). The CPU calculates the free capacity by subtracting the value in the
なお、ここでは文書ファイルの更新処理について述べたが、文書ファイルの登録処理や文書ファイルの削除処理も類似の処理が行われる。文書ファイルの登録では常にファイルサイズが増加し、文書ファイルの削除では常にファイルサイズが減少することになり、S508のような使用容量の更新処理が行われる。また、文書ファイルをバージョン管理する場合には、CPU102は、保管するバージョンの上限数等も考慮し、ファイルサイズの増減を算出することになる。
Although the document file update processing has been described here, similar processing is performed for document file registration processing and document file deletion processing. When the document file is registered, the file size always increases, and when the document file is deleted, the file size always decreases, and the used capacity update process as in S508 is performed. When version management is performed on the document file, the
図1で示したように、キャビネット内には多くの文書ファイルが存在し、複数のユーザーやシステムがアクセスする。一方、キャビネットの使用容量はデータベースで管理されており、キャビネットに紐付く属性であるため、図2で示したようなキャビネット属性情報テーブルを用いて一元的に保管されている。そして、図3で示したように、文書ファイルの登録、更新、削除処理はキャビネットの使用容量に影響するため、その都度、キャビネットの使用容量情報を更新する必要がある。そのため、アクセスが集中すると、文書ファイルの登録、更新、削除処理が同時に行われ、図3のS508で示したような使用容量の更新処理も同時に行われるケースが多くなる。このような場合、ある処理がデータベースの使用容量情報を更新するためレコードをロックすると、その間、他の処理はロックが解除されるのを待つことになる。その結果、文書ファイルの登録、更新、削除処理のパフォーマンスが低下するといった課題が発生してしまう。 As shown in FIG. 1, there are many document files in the cabinet, and a plurality of users and systems access them. On the other hand, the used capacity of the cabinet is managed by a database and is an attribute associated with the cabinet, and is therefore stored centrally using a cabinet attribute information table as shown in FIG. As shown in FIG. 3, since the registration, update, and deletion processing of the document file affects the used capacity of the cabinet, it is necessary to update the used capacity information of the cabinet each time. For this reason, when access is concentrated, document file registration, update, and deletion processing are simultaneously performed, and usage capacity update processing as shown in S508 of FIG. In such a case, when a process locks a record to update the used capacity information of the database, other processes wait for the lock to be released. As a result, there arises a problem that the performance of document file registration, update, and deletion processing deteriorates.
本発明は、文書ファイルの登録、更新、削除処理のパフォーマンスを低下させずに、空き容量や使用容量の更新や確認を可能とすることを目的とする。 An object of the present invention is to make it possible to update or check a free capacity or a used capacity without degrading the performance of registration, update, and deletion processing of a document file.
そこで、本発明の情報処理装置は、ストレージの使用可能容量に関するレコードと、文書ファイルの操作処理に係るストレージの使用容量の増減を示す増減レコードとを、空き容量テーブルに登録する登録手段と、前記登録手段により登録された複数のレコードを合算し、前記ストレージの空き容量を取得する空き容量取得手段と、を有する。 Therefore, the information processing apparatus according to the present invention includes a registration unit that registers a record relating to the usable capacity of the storage and an increase / decrease record indicating an increase / decrease in the used capacity of the storage related to the operation processing of the document file, Free space acquisition means for adding up a plurality of records registered by the registration means and acquiring the free capacity of the storage.
本発明によれば、文書ファイルの登録、更新、削除処理のパフォーマンスを低下させずに、空き容量や使用容量の更新や確認を可能とすることができる。 According to the present invention, it is possible to update or check the free space or the used space without degrading the performance of document file registration, update, and deletion processing.
以下、本発明の実施形態について図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図4は、情報処理装置のハードウェア構成の一例を示す図である。情報処理装置は、CPU102、メモリ103、記憶装置104、ビデオインタフェース105、Input/Output(以下、I/Oという)インタフェース106、通信インタフェース107を備えている。また、情報処理装置内の各構成要素はシステムバス101を介して互いに接続されている。CPU102は、システムバス101を介して各構成要素を制御したり、データの計算や加工を行ったりする中央処理装置である。メモリ103は、データやプログラムを記憶する装置で、RAM(Random Access Memory)やROM(Read Only Memory)から構成される。記憶装置104は、記憶されたデータの書き込み/読み出しを行う。記憶装置104には、ハードディスクドライブ(HDD)111、不揮発性のデータソースとして利用されるCD−ROMドライブ112、フレキシブルディスクドライブ(FDD)113がある。図4には示されていないが、記憶装置104としては、磁気テープドライブ、DVD−ROM、USBメモリ等が使用されてもよい。
本実施形態に係るプログラムは、記憶装置104から読み込まれ、メモリ103に格納され、CPU102によって実行される。なお、本実施形態ではプログラムを記憶装置104から読み込む構成としているが、ROMから読み込んだり、通信インタフェース107を介して外部から読み込んだりする構成としてもよい。CPU102が、プログラムに基づき処理を実行することによって、情報処理装置の機能及び後述するフローチャートの処理が実現される。
FIG. 4 is a diagram illustrating an example of a hardware configuration of the information processing apparatus. The information processing apparatus includes a
The program according to the present embodiment is read from the
ビデオインタフェース105は、ディスプレイ装置114への表示出力を制御する。ディスプレイ装置114には、CRTや液晶等の方式を用いたものがある。I/Oインタフェース106には、キーボード115やポインティングデバイス116等の入力装置が接続される。操作者は、キーボード115を操作することにより情報処理装置に対する動作指令等を行う。ポインティングデバイス116は、操作者による操作に応じて、ディスプレイ装置114上のカーソルを移動させてメニューやオブジェクトの選択や操作等を行う。また、ディスプレイ装置114には、タッチパネル等による操作の入力を行えるものもある。この場合、ディスプレイ装置114は出力装置と入力装置とを兼ねることになる。
通信インタフェース107は、ネットワーク117を通して外部機器との通信を行う。ネットワークには、LANやWAN、インターネットのような公衆回線等がある。また、通信インタフェース107は、ローカルプリンタ118等の他デバイスとの通信も行う。
The
The
図5は、システム構成の一例を示す図である。ネットワーク201には、サーバーコンピュータ(以下、サーバーという)202、クライアントパーソナルコンピュータ(以下、クライアント端末という)203、タブレット端末204が接続されている。ネットワーク201には、LAN、WAN、インターネット等がある。クライアント端末203及びタブレット端末204といったクライアント端末は、ネットワーク201を通じてサーバー202と通信を行う。なお、本実施形態において、クライアント端末203、タブレット端末204、サーバー202は何れも、図4にて示した情報処理装置の構成を有するものとする。但し、図4の構成に限定するものではなく、他の機能を備えていてもよい。また、サーバー202は、単体のコンピュータに限らず、ラックマウント型のシステムであってもよい。
FIG. 5 is a diagram illustrating an example of a system configuration. Connected to the
本実施形態に係る文書管理システムはサーバー202で動作し、クライアント端末203やタブレット端末204といったクライアント端末からサーバー上のデータにアクセスされる形態を想定している。但し、文書管理システムが、サーバー202及びクライアント端末203又は204で処理を分担して行ったりする形態もありえる。
ここで、文書管理システムとは、主に電子文書や電子化された紙文書を保管、管理するコンピュータ上のシステムのことを意味する。文書管理システムにおいて、電子文書や電子化された紙文書はコンピュータ上のファイル形式で保管される。したがって、文書管理システムで扱う電子文書は、文字による文書コンテンツに限定されず、画像や動画コンテンツ等、ファイル形式で保管されるデータを全て含むものとする(以下、ファイル形式で保管される電子文書を文書ファイルという)。
本実施形態に係る文書管理システムがサーバー202で動作する形態の一例では、サーバー202上に、データベース、アプリケーションサーバー、Webサーバーといったサーバーアプリケーションがインストールされる。クライアント端末203、204上には、Webブラウザ又は専用のクライアントアプリケーションがインストールされる。クライアント端末203、204から、サーバー202へデータの取得リクエストが発信されると、サーバー202上のWebサーバーがクライアント端末からのリクエストを受信する。そして、アプリケーションサーバーがリクエスト内容を解釈して必要なデータをデータベースから取得する。そして、アプリケーションサーバーは、Webサーバーを通して、取得したデータをクライアント端末203、204へ送信する。クライアント端末203、204では、データを受信すると、Webブラウザ又は専用のクライアントアプリケーションが、取得したデータをクライアント端末のディスプレイ装置114に表示する。
The document management system according to the present embodiment is assumed to operate in the
Here, the document management system means a system on a computer that mainly stores and manages electronic documents and digitized paper documents. In the document management system, electronic documents and digitized paper documents are stored in a file format on a computer. Accordingly, the electronic document handled by the document management system is not limited to document content using characters, but includes all data stored in a file format, such as image and video content (hereinafter referred to as an electronic document stored in a file format). File).
In an example of a form in which the document management system according to the present embodiment operates on the
図6は、文書管理システムのソフトウェア構成の一例を示す図である。リクエスト受信/レスポンス送信部601は、クライアント端末203、204からのリクエストを、受信する処理と、クライアント端末203、204へのレスポンスを送信する応答処理とを行う。キャビネット管理部602は、リクエスト受信/レスポンス送信部601から受信したキャビネットに関する参照や編集処理を行う。文書ファイル/フォルダ管理部603は、リクエスト受信/レスポンス送信部601から受信したフォルダや文書ファイルに関する参照、登録、更新、削除処理等を行う。データベースアクセス部604は、キャビネット管理部602や文書ファイル/フォルダ管理部603の処理内容に基づいてデータベースの参照、登録、更新、削除処理等処理を行う。マージ処理部605は、レコードのマージ処理(併合処理)を行う。
FIG. 6 is a diagram illustrating an example of a software configuration of the document management system. The request reception /
図7は、キャビネット属性情報を保管するテーブル(キャビネット属性情報テーブル)の一例を示す図である。テナントID列701は、図1の300で示したテナントを識別するIDである。キャビネットID列702は、図1の301、302、303で示したテナント内のキャビネットを識別するIDである。テナントID列701とキャビネットID列702とによって、システム内で一意のキャビネットが特定されることになる。最大サイズ列703は、キャビネット容量を保管する列である。列701、列702、列703は、図2の列401、列402、列403と同じである。但し、図2の使用容量列404は、図7のキャビネット属性情報テーブルにはなく、空き容量の情報を保管するテーブル(図8の空き容量テーブル)に該当する内容が格納される。
FIG. 7 is a diagram illustrating an example of a table (cabinet attribute information table) for storing cabinet attribute information. The
図8は、キャビネットの空き容量に関する情報を保管するテーブル(空き容量テーブル)の一例を示す図である。テナントID列801はテナントを識別するIDである。キャビネットID列802はキャビネットを識別するIDである。図7のキャビネット属性情報テーブルと同じように、テナントID列801とキャビネットID列802とによって、システム内で一意のキャビネットが特定されることになる。データタイプ列803は空き容量テーブルのレコード種別を示す列である。レコード種別が0のレコードは、空き容量を示す値のベースとなるレコードであることを示している。レコード種別が0のレコードは、各キャビネットに必ず1レコード存在し、複数レコードになることはない。空き容量列804は、キャビネットの空き容量を保管する列である。図2では、使用容量を保管していたが、文書ファイルの登録、更新、削除処理では、図3のS506で示したように空き容量の問合せが多い。そこで、空き容量列804において空き容量を保管している。
FIG. 8 is a diagram illustrating an example of a table (free capacity table) that stores information related to the free capacity of the cabinet. A
図9は、図8の空き容量テーブルに空き容量の増減レコードを追加した一例を示す図である。テーブルの各列は図8と同じである。レコード901は、図8で示したように空き容量のベースとなるレコードである。レコード902は、文書ファイルが登録又は更新された場合等に挿入されるレコードを示している。レコード902のデータタイプ列803に保管されたレコード種別は2であるが、これは文書ファイルの増減を示すレコードであることを示している。空き容量列804に保管されたレコード902の値−6530は、文書ファイルが登録又は更新されたことによってファイルサイズが6530バイト増加し、空き容量が6530バイト減少したことを意味している。レコード903は、文書ファイルが削除又は更新された場合等に挿入されるレコードを示している。空き容量列804に保管されたレコード903の値1000は、文書ファイルが削除又は更新されたことによってファイルサイズが1000バイト減少し、空き容量が1000バイト増加したことを意味している。レコード904は、キャビネットに割り当てられた容量が変更された場合に挿入されるレコードを示している。データタイプ列803に保管されたレコード種別は1であるが、これはキャビネットに割り当てられたストレージ容量の増減を示すレコードであることを示している。キャビネット容量を変更した場合、図7の最大サイズ列703が変更され、変更されたキャビネット容量の増減値が空き容量テーブルにも挿入される。空き容量列804に保管されたレコード904の値2000000は、キャビネットのストレージ最大容量が2000000バイト増加したことによって、空き容量も2000000バイト増加したことを意味している。
FIG. 9 is a diagram showing an example in which a free space increase / decrease record is added to the free space table of FIG. Each column of the table is the same as in FIG. The
図10は、文書ファイル更新処理のフローチャートである。大まかな処理の流れは、図3の文書ファイル更新処理の例と同じであるが、後述のキャビネットの空き容量を取得する処理(S1006)と、空き容量テーブルに増減レコードを挿入する処理(S1008)との内容が異なる。
図10において、まず、クライアント端末203、204から更新する文書ファイルがアップロードされると、文書管理システムのアプリケーションプログラムがCPU102によって呼び出される。アプリケーションプログラムは、記憶装置104から読み込まれ、メモリ103に格納した上で、CPU102によって実行される。
まず、リクエスト受信/レスポンス送信部601は、アップロードされた文書ファイルを受信する(S1001)。文書ファイル/フォルダ管理部603は、文書ファイル更新によって文書ファイルが上書きされてしまう前に既存文書ファイルの情報を取得しておき(S1002)、文書ファイルの更新を行う(S1003)。より具体的に説明すると、ステップS1003において、文書ファイル/フォルダ管理部603は、文書ファイルを記憶装置104に保管すると共に関連する属性情報をデータベースに格納し、既存の文書ファイルを削除する。そして、文書ファイル/フォルダ管理部603は、S1002で取得した既存文書ファイルの情報とアップロードされた更新文書ファイルの情報とからファイルサイズの増減を算出する(S1004)。ファイルサイズの増減は、プラス値、即ちファイルサイズが大きくなった場合もあれば、マイナス値、即ちファイルサイズが小さくなった場合もある。文書ファイル/フォルダ管理部603は、ファイルサイズが増加したかどうかを判定する(S1005)。増加した場合は、キャビネット管理部602は、キャビネットの空き容量を図9の空き容量テーブルから取得する(S1006)。図9で示したように、空き容量テーブルには、各キャビネットに関して空き容量のベースとなるレコード(各キャビネットに割り当てられた最大ストレージ容量の増減に関するレコード)901,904と、文書ファイルの追加・変更・削除による容量の増減を示すレコード902,903と、が存在する。したがって、キャビネットの空き容量はそれらを合算した値である。各キャビネットに割り当てられた最大ストレージ容量の増減に関するレコードは、ストレージの使用可能容量に関するレコードの一例である。文書ファイルの追加・変更・削除による容量の増減を示すレコードは、文書ファイルの操作処理に係るストレージの使用容量の増減を示す増減レコードの一例である。
FIG. 10 is a flowchart of the document file update process. The rough processing flow is the same as that in the example of the document file update process in FIG. 3, but a process for acquiring the free space of the cabinet described later (S1006) and a process for inserting the increase / decrease records in the free capacity table (S1008) And the contents are different.
In FIG. 10, first, when a document file to be updated is uploaded from the
First, the request reception /
ステップS1006において、キャビネット管理部602がキャビネットの空き容量を算出する際のSQL文の例を図11で示す。図11のSQL文1101にあるCABINET_SPACEは、空き容量テーブルのテーブル名である。したがって、SQL文1101は、空き容量テーブルから設定されたキャビネットに関連するレコードの空き容量値を合算し、取得することを示している。キャビネット管理部602は、データタイプ列803には関係なく、設定されたキャビネットに該当するレコードの空き容量列804の値を合算して合計値を求めることで、キャビネットの空き容量を取得することができる。
FIG. 11 shows an example of an SQL statement when the
図10の説明に戻り、文書ファイル/フォルダ管理部603は、キャビネットに文書ファイルを保管できる空き容量があるかどうかの判定を行う(S1007)。判定処理は、S1006で算出して取得したキャビネットの空き容量に、S1004で算出したファイルサイズの増加量が収まるかどうかを判定するものであり、S1005でファイルサイズが減少する場合にはS1006、S1007は行う必要が無い。S1007で空き容量があると判定した場合、キャビネット管理部602は、文書ファイルの追加・変更・削除による容量の増減レコードを空き容量テーブルに挿入し(S1008)、データベースの更新処理をコミットする(S1009)。S1008で挿入されるレコードは、ファイルサイズが増加する場合は図9のレコード902のようにマイナス値が入り、ファイルサイズが減少する場合は図9のレコード903のようなプラス値が入ることになる。ステップS1007で空き容量がないと判断された場合、文書ファイル/フォルダ管理部603は、データベースの更新処理を破棄する(S1010)。上記フローチャートの処理において、データベースへのアクセスはデータベースアクセス部604によって行われる。リクエスト受信/レスポンス送信部601、キャビネット管理部602、文書ファイル/フォルダ管理部603がデータベースアクセス部604を使ってデータベースにアクセスする。
Returning to the description of FIG. 10, the document file /
なお、ここでは文書ファイルの更新処理について述べたが、文書ファイルの登録処理や文書ファイルの削除処理も類似の処理が行われる。文書ファイルの登録では常にファイルサイズが増加し、文書ファイルの削除処理では常にファイルサイズが減少することになり、S1008のような空き容量増減レコードの挿入処理が行われる。また、文書ファイルをバージョン管理する場合には、文書ファイル/フォルダ管理部603は、保管するバージョンの上限数等も考慮し、ファイルサイズの増減を算出することになる。
このように、ステップS1008で行われる処理は、図3のステップS508と異なり、文書ファイルの追加・変更・削除による容量の増減レコードをテーブルへ挿入する処理である。したがって、レコードのロック解除待ちは発生せず、文書ファイルの登録、更新、削除処理のパフォーマンスは低下しない。
Although the document file update processing has been described here, similar processing is performed for document file registration processing and document file deletion processing. The file size always increases in the registration of the document file, and the file size always decreases in the deletion process of the document file, and the insertion process of the free space increase / decrease record as in S1008 is performed. Further, when version management is performed on a document file, the document file /
As described above, the processing performed in step S1008 is processing for inserting a record for increasing / decreasing the capacity by adding / changing / deleting a document file into the table, unlike step S508 in FIG. Therefore, there is no waiting for a record to be unlocked, and the performance of document file registration, update, and deletion processing does not deteriorate.
図12は、キャビネット容量変更処理の一例を示すフローチャートである。キャビネット容量変更処理は、図6のキャビネット管理部602によって実行され、データベースへの処理はデータベースアクセス部604によって実行される。キャビネット容量を変更する場合も、キャビネットの空き容量に変更が生じるため、空き容量を管理する必要がある。図12において、まず、キャビネット管理部602は、図7で示したキャビネット属性情報テーブルのレコードを取得すると同時にロックする(S1201)。レコードをロックするのは、同時にキャビネット属性情報を更新する処理が行われた場合の不整合を避けるための排他処理が必要となるためである。キャビネット管理部602は、レコードのロックができたかどうかを判定し(S1202)、ロックできなかった場合は、排他エラーを返す(S1203)。キャビネット管理部602は、ロックできた場合は、変更サイズがプラス値、即ち容量を増加させるのか、変更サイズがマイナス値、即ち容量を減少させるのかを判定する(S1204)。キャビネット管理部602は、変更サイズがプラス値の場合は、ステップS1208へ進む。キャビネット管理部602は、変更サイズがマイナス値であった場合は、空き容量テーブルから現在のキャビネット空き容量を取得する(S1205)。空き容量の取得処理は、図10のステップS1006の処理と同じである。そして、キャビネット管理部602は、変更サイズの絶対値、即ち減少するサイズと空き容量とを比較する(S1206)。キャビネット管理部602は、減少するサイズが空き容量より大きい場合は、使用容量よりもキャビネット容量が小さくなってしまうため更新不可エラーとする(S1207)。キャビネット管理部602は、減少するサイズが空き容量より小さい場合は、S1208に進む。S1208において、キャビネット管理部602は、S1201で取得したキャビネット属性情報テーブルの最大サイズ列703の値と、変更サイズと、を合算し、合算した値でキャビネット属性情報テーブルの最大サイズ列703の値を更新する。次に、キャビネット管理部602は、空き容量テーブルに増減レコードを挿入し(S1209)、データベースへの更新処理をコミットする(S1210)。ステップS1209では、図9のレコード904のようなレコードが挿入される。
このように、キャビネット容量の変更処理においても、ステップS1209の通り空き容量の変更をレコード挿入で行うため、空き容量テーブルのレコードのロック解除待ちは発生せず、文書ファイルの登録、更新、削除処理のパフォーマンスは低下しない。また、キャビネット属性情報テーブルは、文書ファイルの登録、更新、削除処理では参照する必要がないため、パフォーマンスには影響しない。
FIG. 12 is a flowchart illustrating an example of the cabinet capacity changing process. The cabinet capacity change process is executed by the
As described above, in the cabinet capacity changing process, the free capacity is changed by inserting a record as in step S1209. Therefore, there is no waiting for unlocking the record in the free capacity table, and document file registration, update, and deletion processes are performed. The performance does not decrease. Further, the cabinet attribute information table does not need to be referred to in document file registration, update, and deletion processing, and therefore does not affect performance.
図13は、キャビネット使用容量算出処理の一例を示すフローチャートである。キャビネット使用容量算出処理は、図6のキャビネット管理部602で実行され、データベースへの処理はデータベースアクセス部604で実行される。図2に示すキャビネット属性情報テーブルにあった使用容量列404を、図8で示した空き容量テーブルでは空き容量列804としたため、キャビネット管理部602は、使用容量を算出する場合は、キャビネット容量から空き容量を減算することになる。S1301において、キャビネット管理部602は、空き容量テーブルからキャビネットの空き容量を取得する。この処理は図10のステップS1006と同様である。また、S1302において、キャビネット管理部602は、キャビネット属性情報テーブルの最大サイズ列703からキャビネット容量を取得する。そして、S1303において、キャビネット管理部602は、キャビネット容量から空き容量を減算して使用容量を求める(使用容量取得)。
FIG. 13 is a flowchart illustrating an example of cabinet usage capacity calculation processing. The cabinet usage capacity calculation process is executed by the
図14と図15とで、空き容量の増減レコードマージ処理について説明する。図9、図10のステップS1008や図12のステップS1209で説明したように、空き容量に増減があった場合は、空き容量テーブルに増減レコードが挿入されて行く。空き容量の取得は図11のSQL文1101で行われるため、増減レコードが多数あっても、空き容量取得処理のパフォーマンスはほとんど低下しない。但し、文書管理システムの運用を続けて行き、増減レコードが膨大な数になった場合は、空き容量算出処理のパフォーマンスが低下する可能性がある。そのため、定期的に増減レコードを削減する処理が必要となる。
The free space increase / decrease record merge processing will be described with reference to FIGS. As described in step S1008 in FIG. 9 and FIG. 10 and step S1209 in FIG. 12, when the free space has increased or decreased, the increase / decrease record is inserted into the free space table. Since the free space acquisition is performed by the
図14は、空き容量の増減レコードマージ処理の一例を示すフローチャートである。増減レコードマージ処理は、図6のマージ処理部605で実行される。但し、具体的には、空き容量テーブルの更新処理はキャビネット管理部602で実行される。データベースの処理はデータベースアクセス部604で実行される。図14において、マージ処理部605は、空き容量テーブルの更新対象レコードをロックし(S1401)、ロックが成功したかどうかを判定する(S1402)。マージ処理部605は、ロックが失敗した場合には、排他エラーとする(S1403)。マージ処理部605は、ロックが成功した場合は、空き容量テーブルからキャビネットの空き容量を取得する(S1404)。この処理は図10のステップS1006と同様である。次に、マージ処理部605は、ステップS1404で取得した空き容量の値で、空き容量テーブルのベースとなるレコード更新する(S1405)。ベースとなるレコードとは、図8で説明したデータタイプ列803の値が0のレコードのことであり、マージ処理部605は、このレコードの空き容量列804の値を更新する。そして、マージ処理部605は、空き容量テーブルの増減レコードを削除する(S1406)。増減レコードとは、図8で説明したデータタイプ列803の値が1又は2のレコードのことである。最後にマージ処理部605は、データベースの更新処理をコミットする(S1407)。
FIG. 14 is a flowchart illustrating an example of the free space increase / decrease record merging process. The increase / decrease record merging process is executed by the
図15は、空き容量の増減レコードマージ後の空き容量テーブルの一例を示す図である。図15の空き容量テーブルの内容は、図9に示した空き容量テーブルの増減レコードをベースレコードにマージした内容になっている。レコード1501はベースレコードで、ステップS1404で取得した空き容量がレコード1501の空き容量列804の値11976310として保管されている。点線1502は削除されたレコードを示している。図9の増減レコードの値がベースレコードに集約され、削除されていることを示している。
図14と図15とで示した空き容量の増減レコードマージ処理は図6のマージ処理部605が実行するが、マージ処理部605の実行方法として様々な方法が考えられる。例えば、スケジューラの時間指定や間隔指定によって定期的にマージ処理を実行する方法や、定期的に増減レコードの件数を確認又は文書ファイルの更新処理回数をカウントして所定の件数を上回っていた場合にマージ処理を実行する方法等がある。更に、図12のキャビネット容量変更処理や、使用容量の参照等、図13のキャビネット使用容量処理が実行されるタイミングに行うといった方法もある。
以上によって、文書ファイル登録、更新、削除処理のパフォーマンスを低下させずに、キャビネットの使用容量の更新や確認を行うことができる。
なお、本実施形態では、図8、図9のように空き容量を管理するテーブルを用いたが、使用容量を管理するテーブルを用いてもよい。
FIG. 15 is a diagram illustrating an example of a free space table after merged records of free space increase / decrease. The contents of the free capacity table of FIG. 15 are the contents obtained by merging the increase / decrease records of the free capacity table shown in FIG. 9 with the base records. A
The
As described above, the used capacity of the cabinet can be updated or confirmed without degrading the performance of document file registration, update, and deletion processing.
In this embodiment, the table for managing the free capacity is used as shown in FIGS. 8 and 9, but a table for managing the used capacity may be used.
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
<Other embodiments>
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
102 CPU、202 サーバーコンピュータ 102 CPU, 202 server computer
Claims (10)
前記登録手段により登録された複数のレコードを合算し、前記ストレージの空き容量を取得する空き容量取得手段と、
を有する情報処理装置。 Registration means for registering a record relating to the usable capacity of the storage and an increase / decrease record indicating an increase / decrease in the used capacity of the storage related to the operation processing of the document file in the free capacity table;
Free space acquisition means for adding up a plurality of records registered by the registration means and acquiring the free capacity of the storage;
An information processing apparatus.
前記登録手段により登録された複数の前記増減レコードを合算し、前記ストレージの空き容量を取得する空き容量取得手段と、
を有する文書管理システム。 A registration means for registering an increase / decrease record related to the usable capacity of the storage and an increase / decrease record indicating increase / decrease of the used capacity of the storage related to the operation processing of the document file in the free capacity table;
Free capacity acquisition means for adding up the plurality of increase / decrease records registered by the registration means and acquiring the free capacity of the storage;
A document management system.
ストレージの使用可能容量に関するレコードと、文書ファイルの操作処理に係るストレージの使用容量の増減を示す増減レコードを空き容量テーブルに登録する登録ステップと、
前記登録ステップにより登録された複数のレコードを合算し、前記ストレージの空き容量を取得する空き容量取得ステップと、
を含む情報処理方法。 An information processing method executed by an information processing apparatus,
A registration step of registering in the free capacity table a record related to the usable capacity of the storage and an increase / decrease record indicating an increase / decrease in the used capacity of the storage related to the operation processing of the document file;
A free capacity acquisition step of adding a plurality of records registered in the registration step and acquiring the free capacity of the storage;
An information processing method including:
ストレージの使用可能容量に関する増減レコードと、文書ファイルの操作処理に係るストレージの使用容量の増減を示す増減レコードとを、空き容量テーブルに登録する登録ステップと、
前記登録ステップにより登録された複数の前記増減レコードを合算し、前記ストレージの空き容量を取得する空き容量取得ステップと、
を含む情報処理方法。 An information processing method executed by a document management system,
A registration step for registering an increase / decrease record related to the usable capacity of the storage and an increase / decrease record indicating increase / decrease of the used capacity of the storage related to the operation processing of the document file in the free capacity table;
A free capacity acquisition step of adding a plurality of the increase / decrease records registered in the registration step and acquiring the free capacity of the storage;
An information processing method including:
ストレージの使用可能容量に関するレコードと、文書ファイルの操作処理に係るストレージの使用容量の増減を示す増減レコードとを、空き容量テーブルに登録する登録ステップと、
前記登録ステップにより登録された複数のレコードを合算し、前記ストレージの空き容量を取得する空き容量取得ステップと、
を実行させるためのプログラム。 On the computer,
A registration step of registering in the free capacity table a record relating to the usable capacity of the storage and an increase / decrease record indicating an increase / decrease in the used capacity of the storage related to the operation processing of the document file;
A free capacity acquisition step of adding a plurality of records registered in the registration step and acquiring the free capacity of the storage;
A program for running
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014082866A JP6305177B2 (en) | 2014-04-14 | 2014-04-14 | Information processing apparatus, document management system, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014082866A JP6305177B2 (en) | 2014-04-14 | 2014-04-14 | Information processing apparatus, document management system, information processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015203963A JP2015203963A (en) | 2015-11-16 |
JP6305177B2 true JP6305177B2 (en) | 2018-04-04 |
Family
ID=54597397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014082866A Active JP6305177B2 (en) | 2014-04-14 | 2014-04-14 | Information processing apparatus, document management system, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6305177B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7347094B2 (en) | 2019-10-04 | 2023-09-20 | 富士フイルムビジネスイノベーション株式会社 | Information processing device and information processing program |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7895247B2 (en) * | 2003-10-29 | 2011-02-22 | Oracle International Corporation | Tracking space usage in a database |
JP2007148501A (en) * | 2005-11-24 | 2007-06-14 | Hitachi Information Systems Ltd | System, method and program for automatically allocating disk capacity |
JP2008257393A (en) * | 2007-04-03 | 2008-10-23 | Hitachi Kokusai Electric Inc | Data input/output control circuit |
WO2012002428A1 (en) * | 2010-07-01 | 2012-01-05 | 日本電気株式会社 | Storage device, method for determining de-allocation priority order, and program |
JP5652134B2 (en) * | 2010-11-02 | 2015-01-14 | ブラザー工業株式会社 | Printing device |
JP5818569B2 (en) * | 2011-08-10 | 2015-11-18 | 株式会社メガチップス | File system, file management method, semiconductor storage device, information processing apparatus, and program |
-
2014
- 2014-04-14 JP JP2014082866A patent/JP6305177B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015203963A (en) | 2015-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230090977A1 (en) | Synchronized content library | |
US9235589B2 (en) | Optimizing storage allocation in a virtual desktop environment | |
US11537556B2 (en) | Optimized content object storage service for large scale content | |
JP6463393B2 (en) | Tenant data recovery across tenant migration | |
US9959306B2 (en) | Partition-based index management in hadoop-like data stores | |
US9558194B1 (en) | Scalable object store | |
US9009105B2 (en) | Application exits for consistent tenant lifecycle management procedures | |
US11586506B2 (en) | System and method for indexing image backups | |
US9519653B2 (en) | Techniques for efficiently enforcing resource quotas in a multi-tenant cloud storage system | |
US10970311B2 (en) | Scalable snapshot isolation on non-transactional NoSQL | |
US11687595B2 (en) | System and method for searching backups | |
US11811851B2 (en) | Method and system for enforcing governance across multiple content repositories using a content broker | |
US10783073B2 (en) | Chronologically ordered out-of-place update key-value storage system | |
US20210133046A1 (en) | System and method for efficient backup generation | |
JP6305177B2 (en) | Information processing apparatus, document management system, information processing method, and program | |
US11113339B2 (en) | System and method for federated content management using a federated library and federated metadata propagation | |
US9298487B2 (en) | Managing virtual machine images in a distributed computing environment | |
US10747748B2 (en) | Generating mobile data schema to support disconnected operations | |
CN110018761A (en) | To the method, apparatus and terminal being managed recently using file | |
US9336232B1 (en) | Native file access | |
US9442938B1 (en) | File system layer | |
JP7383940B2 (en) | Information management device and information management system | |
US20130031146A1 (en) | Integrated management apparatus, document management method, and storage medium | |
JP5433449B2 (en) | Data management method | |
JP2013033342A (en) | Configuration information management device, configuration information management method, configuration information management program and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170412 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180130 |
|
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: 20180206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180306 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6305177 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |