JP2001282593A - データベース−ファイル連携方法及び装置 - Google Patents

データベース−ファイル連携方法及び装置

Info

Publication number
JP2001282593A
JP2001282593A JP2000095934A JP2000095934A JP2001282593A JP 2001282593 A JP2001282593 A JP 2001282593A JP 2000095934 A JP2000095934 A JP 2000095934A JP 2000095934 A JP2000095934 A JP 2000095934A JP 2001282593 A JP2001282593 A JP 2001282593A
Authority
JP
Japan
Prior art keywords
file
content
update
external
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000095934A
Other languages
English (en)
Other versions
JP3992263B2 (ja
Inventor
Hiroshi Nojima
博 野島
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000095934A priority Critical patent/JP3992263B2/ja
Priority to US09/819,708 priority patent/US20010029507A1/en
Publication of JP2001282593A publication Critical patent/JP2001282593A/ja
Priority to US10/847,333 priority patent/US7260578B2/en
Application granted granted Critical
Publication of JP3992263B2 publication Critical patent/JP3992263B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】データベース管理システムにおいて、レコード
と外部ファイルの整合性を維持し、ファイル内容の更新
を管理する方法及び装置を提供することを目的とする。 【解決手段】データベース管理システム342におい
て、外部ファイルを管理することを目的としたデータ構
造を具備し、前記データ構造を含むレコードの更新処理
時に呼び出される外部ファイル連携機能拡張343を具
備し、前記レコードの更新と外部ファイルの内容の更新
を同期させる。また、ファイルに対するデータベースレ
コードからの参照数に応じて、更新されたデータベース
レコードのリンク先ファイルにのみ更新を反映させるこ
とで、データベースを用いたファイルの版管理を実現す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、オペレーティング
システムのファイルシステム(以下、OSファイルシス
テム)によって定義される「ファイル」をデータベース
管理システム(以下、DBMS)制御下で管理するシス
テムに関し、特にこのデータベース管理システムを用い
て管理されたファイルの内容を更新する際に効果的なデ
ータベース−ファイル連携方法及び装置に関する。
【0002】
【従来の技術】データベースのレコードに関連づけてO
Sファイルシステムの定義する「ファイル」または「デ
ィレクトリ」(以降、単一ファイル、複数ファイル、デ
ィレクトリ構造を伴った複数ファイルの総称として「コ
ンテンツ」と表記する)を管理する方法として、その所
在位置情報(いわゆるディレクトリパス)をレコード内
の一つのフィールドに書き込んでおく方法がある。この
方法では、DBMS側から見たとき、単に文字列が格納
されているに過ぎず、その文字列がファイルまたはディ
レクトリを指しているという認識はなく、ファイルサイ
ズを始めとする属性、ファイルとディレクトリの区分も
関知していない。つまり、当該ディレクトリパスの指し
示すコンテンツは、DBMSとは独立に、利用者が管理
する必要がある。こうした方法でデータベースを作成し
た利用者プログラムは、任意のフィールドを検索キーと
してデータベースを検索した後、当該レコード中のディ
レクトリパスが書き込まれたフィールドの文字列を取得
し、その文字列をディレクトリパスと見なしてコンテン
ツを参照していた。
【0003】
【発明が解決しようとする課題】ディレクトリパスをデ
ータベースのレコードに直接格納する従来の技術によれ
ば、外部のコンテンツの管理と、そのディレクトリパス
を格納したフィールドの管理が別々に行なわれるため、
データベースのフィールド値の更新・削除とは非同期に
外部のコンテンツに対しての更新・削除が実行される可
能性があり、データベースと外部のコンテンツとの間に
不整合が発生しやすい。一度整合性が取れなくなると、
整合性の取れた状態に戻すことは困難である。
【0004】また、上述した従来の技術によれば、同一
のコンテンツに対してデータベースの複数のフィールド
と対応関係を持たせようとすると、対応を保持している
フィールドの数を別途管理する必要があった。この管理
をしないと、コンテンツの更新と削除を行なうときに、
他のリンク元となっているデータベースのフィールドか
ら見たときのリンク先の内容まで更新されることにな
り、不整合が生じるからである。このようにデータベー
スを用いてコンテンツの版管理を行なうことは困難であ
った。
【0005】このように従来の方法は、運用上データベ
ースと外部のファイルとの連携整合性を保ち続けるのが
困難であり、外部のコンテンツの内容の更新や削除を行
なう際の確認手順が煩雑になるという問題があった。
【0006】本発明の目的は、データベースのトランザ
クションの延長で外部のコンテンツとの連携処理を行な
うことで、データベースからの参照整合性及び更新整合
性を保つ方法及び装置を提供することにある。
【0007】
【課題を解決するための手段】DBMSを用いて外部の
コンテンツを管理するために、ファイル抽象データ型を
DBMSに導入する。ファイル抽象データ型は、管理す
るコンテンツに関する所在情報(ファイルサーバ名、デ
ィレクトリパスなど)を格納するデータ構造と当該情報
を処理するための関数を提供する。DBMS利用者は、
このファイル抽象データ型のフィールドを持つテーブル
を定義することにより、データベースの外部のコンテン
ツをテーブルのリンク先として登録することが出来るよ
うになる。
【0008】また、DBMS管理下のコンテンツを管理
するために、一般利用者よりも上位のファイルアクセス
権限を持つファイル管理システム(以下、DBMS外部
ファイル管理システムと呼ぶ)を導入する。DBMS管
理下のコンテンツは、このDBMS外部ファイル管理シ
ステムを所有者とし、OSファイルシステムレベルにお
いて、一般利用者から参照・更新ができないようなアク
セス制御情報を設定しておく。抽象データ型フィールド
のリンク先としてしてコンテンツを管理するため、DB
MS外部ファイル管理システムはリンク先のコンテンツ
の内部のファイル構成を管理する機構を持つ。また、同
一のコンテンツを複数の抽象データ型フィールドのリン
ク先として管理するため、リンク数を管理する機構を持
つ。さらに、DBMSトランザクションの延長でリンク
先コンテンツの内容更新を行なうため、更新差分情報を
保持する機構を持つ。
【0009】テーブルに格納されたファイル管理情報と
DBMS外部ファイル管理システムとを連携させるため
に、DBMS内部にファイル抽象データ型の処理機能と
しての外部ファイル連携機能を定義し、データベース操
作(例えば、INSERT処理、SELECT処理な
ど)の実行契機に、上記DBMS外部ファイル管理シス
テムの該当する処理を呼び出すように設定する。
【0010】また、DBMSの利用者が検索結果のコン
テンツにアクセスする手段を提供するために、外部ファ
イル連携機能には、データベースレコードの検索時にア
クセスハンドルを作成する機能を持たせる。この機能
は、上記ファイル抽象データ型の提供する関数から呼び
出される。DBMS管理下のコンテンツを参照するに
は、データベースレコードを検索し、ファイル抽象デー
タ型の関数により前述のアクセスハンドルを取得し、ア
クセスハンドルを使用してDBMS外部ファイル管理シ
ステムのファイル参照機能を呼び出すことにより、コン
テンツの参照が可能となる。
【0011】加えて、DBMSの利用者がデータベース
のフィールドのリンク先のコンテンツの内容を更新する
手段を提供するために、外部ファイル連携機能には、デ
ータベースレコードの検索によって取得されたアクセス
ハンドルによって、DBMS管理下のコンテンツに対す
る更新情報を登録する機能を持たせる。DBMS管理下
のコンテンツを更新するには、更新情報登録の際に取得
された編集更新ハンドルを使用して、データベースのト
ランザクションでフィールド値の更新を行なうことで、
DBMS外部ファイル管理システムのファイル更新機能
が呼び出されて、リンク先のコンテンツの内容更新が行
なわれる。
【0012】このように、データベース操作処理とファ
イル操作処理とを連携させることにより、データベース
レコードとそのレコードに関連付けられて管理されるコ
ンテンツとの整合性維持が、データベース管理システム
に対する操作の延長で行なわれることから、データベー
スからの参照整合性及び更新整合性の保証が実現され
る。
【0013】
【発明の実施の形態】以下、図面を参照して、本発明の
実施の形態を詳細に説明する。
【0014】図1は、本発明を、データベースサーバ
(以下、DBサーバと呼ぶ)、ファイルサーバ、及び利
用者クライアントで構成される分散データ管理システム
に適用した場合の各計算機と、その上で稼動するソフト
ウェアの構成を示すシステムブロック図である。
【0015】利用者クライアント10と、ファイルサー
バ20と、DBサーバ30とは、互いに通信ネットワー
ク90で接続されている。
【0016】利用者クライアント10は、CPU11、
メモリ12、ネットワークインタフェース13、及び二
次記憶装置14を備え、これらはバス19によって接続
されている。利用者クライアント10は、ネットワーク
インタフェース13を通して通信ネットワーク90に接
続している。二次記憶装置14上には、オペレーティン
グシステム(以下、OSと呼ぶ)141、利用者プログ
ラム142、DBMS外部ファイル連携ライブラリ(以
下、FMLと呼ぶ)143、及び利用者プログラムから
データベースに登録する登録対象コンテンツ144が格
納される。本実施形態では、利用者プログラム142は
FML143に対してライブラリ呼び出しをする実装例
で説明しているが、その他の実装方式としても本発明の
実施には差し支えない。
【0017】ファイルサーバ20は、CPU21、メモ
リ22、ネットワークインタフェース23、及び二次記
憶装置24を備え、これらはバス29によって接続され
ている。ファイルサーバ20は、ネットワークインタフ
ェース23を通して通信ネットワーク90に接続してい
る。二次記憶装置24上には、OS241、DBMS外
部ファイル管理システム(以下、FMSと呼ぶ)24
2、データベースに登録されたDB管理下コンテンツ2
43、DB管理下コンテンツの属性情報などを保持する
コンテンツ情報ファイル244、及びDB管理下コンテ
ンツ243とコンテンツ情報ファイル244に関するO
Sファイルアクセス制御情報245が格納される。DB
管理下コンテンツ243は複数あり、1つ1つのファイ
ルを別個にDB管理下に置くことも、複数ファイルをま
とめてDB管理下に置くことも出来る。
【0018】DBサーバ30は、CPU31、メモリ3
2、ネットワークインタフェース33、及び二次記憶装
置34を備え、これらはバス39によって接続されてい
る。DBサーバ30は、ネットワークインタフェース3
3を通して通信ネットワーク90に接続している。二次
記憶装置34上には、OS341、DBMS342、D
BMSの外部ファイル連携機能拡張(以下、FAEと呼
ぶ)343、DBMS342が管理しているテーブル情
報344、及びDBMS342のテーブル更新に関する
操作のログ345が格納される。テーブル情報344の
詳細は、後述する。
【0019】DBMS342は、SQL(Structured Qu
ery Language)をインタフェースとして採用しており、
通常のSQLデータ型の他にファイル抽象データ型を扱
えるように拡張されている。ファイル抽象データ型は、
ファイルを管理するための情報を格納するデータ構造と
このデータ構造専用の関数群を提供する。DBMS34
2において、ファイル抽象データ型の処理機能を実装す
るモジュールが、前述のFAE343である。本実施形
態では、DBMS342はFAE343に対してライブ
ラリ呼び出しをする実装例で説明しているが、その他の
実装方式としても本発明の実施には差し支えない。
【0020】本発明で実現されるDBMS外部ファイル
管理システムは、ファイルサーバ20上のFMS24
2、利用者クライアント10上のFML143、及びD
Bサーバ30上のDBMS342中のFAE343から
構成される。
【0021】ファイルサーバ20上のFMS242は、
一般利用者よりも上位のファイルアクセス権限を持つ利
用者(FMS)の権限で稼動する。DBMS管理下コン
テンツ243は、FMS242により、データベース登
録時にOSファイルアクセス制御情報245を更新さ
れ、FMS242以外からは参照も更新も出来ないよう
に設定される。これにより、データベースに登録された
ファイルに対する不当な参照及び更新を防止する。ま
た、データベース登録時には、DB管理下コンテンツ2
43に関する属性情報をコンテンツ情報ファイル244
で保持する。
【0022】ファイルサーバ20上のFMS242は、
外部ファイル連携機能拡張FAE343及びDBMS外
部ファイル連携ライブラリFML143とのインタフェ
ースを持つ。これらのインタフェースは、一般にリモー
トプロシージャコール(以下、RPCと呼ぶ)と呼ばれ
る手段を用いて実装される。RPCにより、プログラム
は、呼び出し先プログラムの識別子と関数名称を指定す
ることで、他プログラム内の関数を呼び出すことが出来
る。
【0023】図2から図4を用いて、ファイル抽象デー
タ型と外部ファイル連携機能拡張FAE343について
説明する。
【0024】図2は、テーブル情報344内に格納され
る、外部ファイル管理テーブル4000の構造を示して
いる。このフィールド構成は一つの例であり、これと異
なるフィールド構造のテーブルであっても、本発明の実
施には差し支えない。テーブル4000には、整数型の
番号4011、文字列型の表題4012、及びファイル
抽象データ型の外部ファイル4013の3つのフィール
ドがある。
【0025】DBMS342は、テーブル4000のレ
コード及びフィールドに、それぞれレコード識別子40
01及びフィールド識別子4002を付与する。レコー
ド識別子4001は、テーブル4000に含まれるレコ
ードを一意に識別するためのものである。フィールド識
別子4002は、レコードを構成するフィールドを一意
に識別するためのものである。
【0026】ファイル抽象データ型の外部ファイル40
13のデータ構造として、FMS識別子4014、ディ
レクトリパス4015、及びコンテンツがファイルであ
るかディレクトリであるかのコンテンツ形式4016が
格納される。ファイル抽象データ型のデータ構造にさら
に他の付加情報を加えても、本発明の実施には差し支え
ない。
【0027】図3は、DBMS342の処理とそれに関
連付けられる外部ファイル連携機能拡張FAE343の
処理との対応を示している。パラメータは、DBMS3
42がFAE343の関数を呼び出すときに渡す情報で
あり、DBMS契機は、DBMS342がデータベース
処理のどの時点でFAE343の関数を呼び出すのかを
示している。以下、それぞれの連携機能について説明す
る。
【0028】#1のコンテンツリンク登録連携機能は、
DBMS342がSQLのINSERT文を処理してD
B管理下コンテンツ243へのリンクを設定する際、ま
たはSQLのUPDATE文を処理してDB管理下コン
テンツ243へのリンクを設定する際に呼び出される。
呼び出しパラメータとして、現行トランザクションのト
ランザクション識別子及びファイル抽象データ型値を与
える。呼び出しの結果、データベース管理下に置かれる
コンテンツ243に関する情報が、INSERT文で作
成されるレコードの外部ファイル4013に格納され、
更新情報がログ345に格納される。
【0029】#2のコンテンツリンク削除連携機能は、
DBMS342がSQLのDELETE文を処理してD
B管理下コンテンツ243へのリンクを削除する際、ま
たはSQLのUPDATE文を処理してDB管理下コン
テンツ243へのリンクを削除する際に呼び出される。
呼び出しパラメータとして、現行トランザクションのト
ランザクション識別子及びファイル抽象データ型値を与
える。呼び出しの結果、削除されるレコードの外部ファ
イル4013に係わる更新情報がログ345に格納され
る。
【0030】#3のコンテンツ編集更新連携機能は、D
BMS342がSQLのUPDATE文を処理してDB
管理下コンテンツ243の内容を編集更新しようとする
際に呼び出される。呼び出しパラメータとして、現行ト
ランザクションのトランザクション識別子及び更新前後
のファイル抽象データ型値を与える。呼び出しの結果、
編集更新されるレコードの外部ファイル4013に係わ
る更新情報がログ345に格納される。
【0031】#4のコミット処理の連携機能は、DBM
S342が現行のトランザクションをコミット終了する
際に呼び出される。呼び出しパラメータとして、コミッ
ト終了するトランザクションのトランザクション識別子
を与える。呼び出しの結果、ログ345に格納されたコ
ンテンツリンク登録処理、コンテンツリンク削除処理、
及びコンテンツ編集更新処理の情報の中で指定されたト
ランザクション識別子を持つものが、それぞれ関係する
DB管理下コンテンツ243に対して確定され、ログ3
45から削除される。
【0032】#5のロールバック処理の連携機能は、D
BMS342が現行のトランザクションをロールバック
終了する際に呼び出される。呼び出しパラメータとし
て、ロールバック終了するトランザクションのトランザ
クション識別子を与える。呼び出しの結果、ログ345
に格納されたコンテンツリンク登録処理、コンテンツリ
ンク削除処理、及びコンテンツ編集更新処理の情報の中
で指定されたトランザクション識別子を持つものが、す
べてログ345から削除される。
【0033】#6の登録パラメータ設定連携機能、すな
わちファイル抽象データ型関数new()は、コンテン
ツリンク登録に関するパラメータを指定するためにIN
SERT文またはUPDATE文に埋め込まれる。利用
者プログラム142では、パラメータとして登録ハンド
ルを指定する。この処理の中で、ファイル抽象データ型
としての値が構築される。この値は、登録ハンドルと同
じ値であっても、new()の内部で何らかの変換処理
が施された値であっても、本発明の実施には差し支えな
い。
【0034】#7の編集更新パラメータ設定連携機能、
すなわちファイル抽象データ型関数update()
は、ファイルの編集更新に関するパラメータを設定する
ためにUPDATE文に埋め込まれる。利用者プログラ
ム142では、パラメータとして編集更新ハンドルを指
定する。この処理の中で、ファイル抽象データ型として
の値が構築される。
【0035】#8のアクセスハンドル生成連携機能、す
なわちファイル抽象データ型関数get_access
handle()は、データベースに登録されたコンテ
ンツにアクセスするためのアクセスハンドルを取得する
ために、SQLのSELECT文中に埋め込まれる。利
用者プログラム142は、この関数の戻り値であるアク
セスハンドルをSQLのFETCH文により取得する。
【0036】図4は、外部ファイル管理テーブル400
0に対するDB操作文の例である。以下、各々について
説明する。
【0037】(1)は、外部コンテンツへのリンク登録
を伴うレコード登録のためのINSERT文である。V
ALUES句の3つ目には、前述のファイル抽象データ
型の関数new()を指定する。この関数new()の
パラメータである変数:entryhandleには、
登録されるコンテンツの登録ハンドルが格納されてい
る。この例では、番号4011に104、表題4012
に”dandelion”、外部ファイル4013に:
entryhandleで指定した外部コンテンツに関
する情報を持つレコードがデータベースに登録され、指
定されたコンテンツがDBMSの管理下に入り、リンク
が設定される。ただし、リンク登録が確定するのはDB
MSトランザクションのコミット時である。
【0038】(2)は、レコード削除のためのDELE
TE文である。この例では、番号4011が100であ
るレコードが削除され、このレコードの外部ファイル4
013で指定される外部コンテンツへのリンクが削除さ
れる。ただし、リンク削除が確定するのはDBMSトラ
ンザクションのコミット時である。
【0039】(3)は、外部ファイル4013を更新す
るためのUPDATE文である。この例では、番号40
11が103であるレコードの外部ファイル4013
に、前述のファイル抽象データ型の関数new()を、
変数:entryhandleには新規に登録されるコ
ンテンツの登録ハンドルを格納して指定することによ
り、外部ファイル4013で既に管理されているコンテ
ンツへのリンク情報を、別のコンテンツへのリンク情報
に差し替える。具体的には、元のリンク先コンテンツへ
のリンクを削除し、新しいコンテンツに対するリンクを
設定することになる。ただし、リンク登録とリンク削除
とが実際に確定するのは、DBMSトランザクションの
コミット時である。
【0040】(4)は、外部ファイル4013で指定さ
れる外部のコンテンツの内容を編集更新するためのUP
DATE文である。この例では、番号4011が103
であるレコードの外部ファイル4013で指定される外
部のコンテンツが、ファイル抽象データ型の関数upd
ate()のパラメータ:updatehandleで
指定される編集更新ハンドルで示される編集更新差分情
報に基づいて、その内容を更新される。ただし、外部の
コンテンツに対して内容の更新が反映されるのは、DB
MSトランザクションのコミット時である。
【0041】(5)は、外部コンテンツをアクセスする
ためのアクセスハンドルを取得するためのSELECT
文である。この例では、表題4012が‘sun’で始
まるレコードが検索対象となる。外部ファイル管理テー
ブル4000の内容が図2に示した状態である場合、レ
コード4021及び4022が該当する。検索結果とし
て取得されるのは、該レコードの表題4012と、前述
の抽象データ型の関数get_accesshandl
e()の戻り値として返されるアクセスハンドルであ
る。
【0042】次に、DBMS外部ファイル管理システム
(FMS)242のインタフェースの一例を示す。DB
管理下コンテンツ243に対する操作はこれらのインタ
フェースを通じて行なわれる。
【0043】まず、外部ファイル連携機能拡張(FA
E)343から呼び出されるインタフェースの例として
は、次の7つがある。
【0044】(1)コンテンツ登録準備機能は、利用者
クライアント10上の登録対象コンテンツ144をファ
イルサーバ20に転送してDB管理下コンテンツ243
を作成するためのものである。入力として、FML14
3が読み出す登録対象コンテンツ144のファイルデー
タを指定する。該ファイルデータには、ファイル名とフ
ァイルの内容が含まれるが、該ファイルデータの形式は
規定しない。また、ここで作成されるDB管理下コンテ
ンツ243のディレクトリパスについても特に規定しな
い。出力として、FMS242で作成された登録ハンド
ルが返される。なお、本実施例ではFML143から呼
び出しているが、DBMSトランザクションの延長でF
AE343から呼び出す実装としても本発明の実施には
差し支えない。
【0045】(2)コンテンツ登録中止機能は、登録ハ
ンドルの無効化を行なうためのものである。入力とし
て、前記コンテンツ登録準備機能で取得した登録ハンド
ルを指定する。該登録ハンドルに関連するDB管理下コ
ンテンツ243がDBMS342に未登録であり、なお
かつトランザクションも開始されていなかった場合、登
録ハンドルの解放とともにDB管理下コンテンツ243
の削除を行なう。
【0046】(3)リンク登録機能は、登録ハンドル4
300(後述)で指定されるコンテンツへのリンクを仮
登録状態とするためのものである。入力として、DBM
S342のトランザクション識別子、及びリンク登録対
象コンテンツのパス名(ファイル名もしくはディレクト
リ名)を指定する。指定されたDB管理下コンテンツ2
43へのリンクが仮登録状態となり、FMS242内部
でコミットまたはロールバック待ち状態となる。
【0047】(4)リンク削除機能は、コンテンツへの
リンクを仮削除状態とするためのものである。入力とし
て、DBMS342のトランザクション識別子、及びリ
ンク削除対象コンテンツのパス名(ファイル名もしくは
ディレクトリ名)を指定する。指定されたDB管理下コ
ンテンツ243へのリンクが仮削除状態となり、FMS
242内部でコミットまたはロールバック待ち状態とな
る。
【0048】(5)リンク先編集更新機能は、コンテン
ツの内容を更新するためのものである。入力として、D
BMS342のトランザクション識別子及び編集更新ハ
ンドルを指定する。指定されたDB管理下コンテンツ2
43への内容更新が仮登録状態となり、FMS242内
部でコミットまたはロールバック待ち状態となる。
【0049】(6)トランザクション確定機能は、外部
コンテンツに対するリンク登録、リンク削除、及び内容
更新を確定するためのものである。入力として、DBM
S342のトランザクション識別子を指定する。
【0050】(7)トランザクション無効化機能は、外
部コンテンツに対するリンク登録、リンク削除、及び内
容更新を無効化するためのものである。入力として、D
BMS342のトランザクション識別子を指定する。
【0051】次に、DBMS外部ファイル連携ライブラ
リ(FML)143から呼び出される、外部コンテンツ
へのアクセスを行なうためのFMS242のインタフェ
ースとしては、次の4つがある。
【0052】(1)アクセス開始機能は、利用者プログ
ラム142とFMS242との間でアクセスセッション
を開始するためのものである。入力として、アクセスハ
ンドル中に格納されているアクセス対象のコンテンツの
パス名、及び利用者プログラム142を一意に識別する
ためのクライアント識別子(利用者クライアント10の
ネットワークアドレスと、利用者プログラム142がネ
ットワークインタフェース13との間で確立したセッシ
ョンの識別子を合わせたもの、など)を指定する。出力
として、確立されたセッションを一意に表わすアクセス
識別子が返される。この処理の延長で、FMS242で
はアクセス情報をアクセス管理テーブル4600(後
述)に登録する。
【0053】(2)コンテンツ属性情報取得機能は、外
部コンテンツに関するファイル属性情報を取得するため
のものである。入力として、前記アクセス開始機能で取
得されたアクセス識別子を指定する。出力として、外部
コンテンツのファイル構成情報が返される。ファイル構
成情報の一例として、ファイル数、ファイル名、及びフ
ァイルサイズなどのリストがある。属性情報の種類及び
取得形式は、本発明の実施においては特に規定されるも
のではない。
【0054】(3)データ読み出し機能は、DB管理下
コンテンツ243のデータを取得するためのものであ
る。入力として、前記アクセス開始機能で取得されたア
クセス識別子、ファイル名、ファイルの読み出し開始地
点のオフセット、及び読み出す長さを指定する。出力と
して、読み出されたファイルデータが返される。
【0055】(4)アクセス終了機能は、前記アクセス
開始機能で開始したアクセスセッションを終了するため
のものである。入力として、前記アクセス開始機能で取
得されたアクセス識別子を指定する。この処理の延長
で、FMS242ではアクセス情報をアクセス管理テー
ブル4600(後述)から削除する。
【0056】最後に、DBMS外部ファイル連携ライブ
ラリ(FML)143から呼び出される、外部コンテン
ツへの編集更新を行なうためのFMS242の各種イン
タフェースとしては、次の8つがある。なお、これらの
インタフェースは、編集更新に関わる更新差分情報をF
MS242内で保持するためのものであり、DB管理下
の外部コンテンツに対する更新が反映されるのは、DB
MSのトランザクションがコミットした時点である。
【0057】(1)編集更新開始機能は、利用者プログ
ラム142とFMS242との間で更新セッションを開
始するためのものである。入力として、アクセスハンド
ル中に格納されている編集更新対象のコンテンツのパス
名、及び利用者プログラム142を一意に識別するため
のクライアント識別子(利用者クライアント10のネッ
トワークアドレスと、利用者プログラム142がネット
ワークインタフェース13との間で確立したセッション
の識別子を合わせたもの、など)を指定する。出力とし
て、確立されたセッションを一意に表わす更新識別子が
返される。この処理の延長で、FMS242ではアクセ
ス情報をアクセス管理テーブル4600(後述)に登録
する。
【0058】(2)コンテンツ属性取得機能は、外部コ
ンテンツに関するファイル属性情報を取得するためのイ
ンタフェースである。入力として、前記編集更新開始機
能で取得された更新識別子を指定する。出力として、外
部コンテンツのファイル構成情報が返される。ファイル
構成情報の一例として、ファイル数、ファイル名、及び
ファイルサイズなどのリストがある。属性情報の種類及
び取得形式は、本発明の実施においては特に規定される
ものではない。
【0059】(3)ファイル作成機能は、DB管理下に
置かれた外部コンテンツに対してファイルやディレクト
リの追加を行なうためのものである。入力として、前記
編集更新開始機能で取得された更新識別子、及び作成す
るファイルまたはディレクトリの名称を指定する。この
処理の延長で、FMS242ではファイル作成の更新情
報を編集更新管理テーブル4700(後述)に登録す
る。
【0060】(4)ファイル削除機能は、DB管理下に
置かれた外部コンテンツに含まれるファイルやディレク
トリの削除を行なうためのものである。入力として、前
記編集更新開始機能で取得された更新識別子、及び削除
するファイルまたはディレクトリの名称を指定する。こ
の処理の延長で、FMS242ではファイル削除の更新
情報を編集更新管理テーブル4700(後述)に登録す
る。
【0061】(5)データ書き出し機能は、DB管理下
コンテンツ243に対してデータの追記や更新を行なう
ためのものである。入力として、前記編集更新開始機能
で取得された更新識別子、ファイル名、ファイルの書き
込み開始地点のオフセット、書き込む長さ、及び書き込
むファイルデータを格納した領域を指定する。この処理
の延長で、FMS242ではファイル内容変更の更新情
報を編集更新管理テーブル4700(後述)に登録す
る。
【0062】(6)ファイル移動機能は、DB管理下コ
ンテンツ243に対してファイルの移動、すなわちファ
イル名称の変更を行なうためのものである。ファイルだ
けでなく、ディレクトリの移動に対しても適用される。
入力として、前記編集更新開始機能で取得された更新識
別子、移動の元となるファイル名またはディレクトリ
名、及び移動後のファイル名またはディレクトリ名を指
定する。この処理の延長で、FMS242ではファイル
移動の更新情報を編集更新管理テーブル4700(後
述)に登録する。
【0063】(7)編集更新ハンドル取得機能は、前記
編集更新開始機能で開始した更新セッションに係わる編
集更新ハンドルを取得するためのものである。入力とし
て、前記編集更新開始機能で取得された更新識別子を指
定する。出力として、FMS242で作成された編集更
新ハンドルが返される。
【0064】(8)編集更新終了機能は、前記編集更新
開始機能で開始した更新セッションを終了するためのも
のである。入力として、前記編集更新開始機能で取得さ
れた更新識別子を指定する。この処理の延長で、保持し
ていたセッション情報及びロックが解放される。
【0065】図5から図9は、本実施の形態に係わる種
々のデータ構造を示している。
【0066】図5は、コンテンツ情報ファイル244の
データ構造である。コンテンツ情報ファイル244は、
DB管理下コンテンツ243一つに対して一つ作成され
る。ファイルが作成される場所は特に規定しないが、D
B管理下コンテンツ243とコンテンツ情報ファイル2
44との対応は容易に取れるものとする。リファレンス
数4121は、外部ファイル管理テーブル4000(図
2)中のいくつの外部ファイルフィールドからリンクが
設定されているかを保持する。ディレクトリ名エントリ
4122は、コンテンツ内に含まれるディレクトリの情
報を保持する。該エントリ4122中には、ディレクト
リ名とそのディレクトリの下に含まれるファイル数など
の情報が格納される。ファイル名エントリ4123は、
コンテンツ内に含まれるファイルの情報を保持する。該
エントリ4123中には、ファイル名とファイルサイズ
などの情報が格納される。なお、格納効率向上のため、
複数のDB管理下コンテンツ243に対して一つのコン
テンツ情報ファイル244を対応させる構成としても、
本発明の実施には差し支えない。
【0067】図6に、登録ハンドル4300、アクセス
ハンドル4400、及び編集更新ハンドル4500のデ
ータ構造を示す。
【0068】登録ハンドル4300は、DBMS外部フ
ァイル管理システム(FMS)242のコンテンツ登録
準備機能で作成される。登録ハンドルは、FMS識別子
4311、及びディレクトリパス4312の2つのフィ
ールドから構成される。FMS識別子4311には、当
該登録ハンドルを作成したFMS242の識別子が設定
される。ディレクトリパス4312には、DB管理下コ
ンテンツ243に係わるディレクトリパスが設定され
る。コンテンツが一つのファイルとして指定された場合
は該ファイルのフルパス、コンテンツがディレクトリと
して指定された場合は該ディレクトリのフルパスが、そ
れぞれ設定される。
【0069】アクセスハンドル4400は、外部ファイ
ル連携機能拡張(FAE)343において作成され、フ
ァイル抽象データ型関数get_accesshand
le()の戻り値として利用者プログラム142に与え
られる。アクセスハンドルは、FMS識別子4411、
及びディレクトリパス4412の2つのフィールドから
構成される。FMS識別子4411には、アクセス対象
のコンテンツを管理するFMS242の識別子が設定さ
れる。ディレクトリパス4412には、アクセス対象と
なるコンテンツのディレクトリパスが設定される。コン
テンツが一つのファイルとしてリンク登録されている場
合は該ファイルのフルパス、コンテンツがディレクトリ
としてリンク登録されている場合は該ディレクトリのフ
ルパスが、それぞれ設定される。
【0070】編集更新ハンドル4500は、DBMS外
部ファイル管理システム(FMS)242の編集更新ハ
ンドル取得機能で作成され、利用者プログラム142に
与えられる。編集更新ハンドルは、FMS識別子451
1、ディレクトリパス4512、及び通番4513の3
つのフィールドから構成される。FMS識別子4511
には、編集更新対象のコンテンツを管理するFMS24
2の識別子が設定される。ディレクトリパス4512に
は、編集更新対象となるコンテンツのディレクトリパス
が設定される。コンテンツが一つのファイルとしてリン
ク登録されている場合は該ファイルのフルパス、コンテ
ンツがディレクトリとしてリンク登録されている場合は
該ディレクトリのフルパスが、それぞれ設定される。通
番4513には、編集更新管理テーブル4700(後
述)でキーとして使用される、編集更新の識別子が設定
される。
【0071】図7は、DBMS外部ファイル管理システ
ム(FMS)242がメモリ22上に確保する領域22
1内に格納される、利用者クライアント10に係わる管
理情報のデータ構造の一例を示している。上図は外部コ
ンテンツへのアクセスセッション管理に関するデータ構
造であり、下図は外部コンテンツへの編集更新セッショ
ン管理に関するデータ構造である。アクセスセッション
管理情報は、アクセス管理テーブル4600で管理され
る。編集更新セッション管理情報は、編集更新管理テー
ブル4700で管理される。
【0072】アクセス管理テーブル4600は、通番4
611、ディレクトリパス4612、クライアント識別
子4613、及び更新フラグ4614の4つのフィール
ドから構成される。DBMS外部ファイル管理システム
(FMS)242のアクセス開始機能または編集更新開
始機能の呼び出しによって外部コンテンツへのアクセス
セッションまたは更新セッションが開始されるときに、
アクセス管理テーブル4600に新規レコードが登録さ
れる。通番4611はセッションの識別のためのもので
あり、セッション開始時に一意な値が設定される。ディ
レクトリパス4612には、前記機能の入力に指定され
たパス名が設定される。クライアント識別子4613に
は、前記機能の入力の際に指定されたクライアント識別
子が設定される。更新フラグ4614には、アクセス開
始機能の場合はN、編集更新開始機能の場合にはYが設
定され、参照のみのセッションなのか、編集更新のセッ
ションなのかが区別される。
【0073】編集更新管理テーブル4700は、通番4
711、更新種別4712、及び更新内容4713の3
つのフィールドから構成される。通番4711の値は、
アクセス管理テーブル4600中の通番4611に対応
しており、アクセス管理テーブル4600と編集更新管
理テーブル4700の通番で結合することにより、どの
利用者プログラムから編集更新要求が来ているのかが識
別される。更新種別4712と更新内容4713を合わ
せたものが、更新の具体的内容を示している。4721
で示されるレコードは、4622で示されるディレクト
リパス‘/db/pictures/river/’の
下に、ファイル名‘Tama.jpeg’で、更新内容
4713中に続いて格納されたデータで、ファイルを新
規作成することを示している。なお、既存のファイルの
内容更新の場合もこの形式である。4722で示される
レコードは、4622で示されるディレクトリパス‘/
db/pictures/river/’の下に、ディ
レクトリ‘Edo’を作成することを示している。47
23で示されるレコードは、4622で示されるディレ
クトリパス‘/db/pictures/river
/’の下にあるファイル‘Naka.jpg’を削除す
ることを示している。4724で示されるレコードは、
4622で示されるディレクトリパス‘/db/pic
tures/river/’の下にあるファイル‘Ed
o.jpg’を、‘/db/pictures/riv
er/Edo/0001.jpg’に名称変更(移動)
することを示している。
【0074】なお、本実施の形態では編集更新管理テー
ブル4700をすべてメモリ上で保持しているが、これ
を部分的に二次記憶装置上に格納する実装としても、本
発明の実施においては差し支えない。
【0075】図8は、DBMS外部ファイル管理システ
ム(FMS)242がメモリ22上に確保する領域22
1内に格納される、DBMS342のトランザクション
に係わる管理情報のデータ構造の一例を示している。
【0076】トランザクション管理テーブル4800
は、トランザクション識別子4811、更新種別481
2、ディレクトリパス4813、及び通番4814の4
つのフィールドから構成される。トランザクション識別
子4811は、DBMS342のトランザクションを一
意に示す識別子である。更新種別4812には、ins
ert(リンク登録)、delete(リンク削除)、
及びupdate(リンク先編集更新)の3種類があ
る。ディレクトリパス4813は、更新に係わるリンク
先コンテンツのフルパスである。通番4814は更新種
別4812がupdateのときのみ意味を持ち、アク
セス管理テーブル4600の通番4611、及び編集更
新管理テーブル4700の通番4711と同じ値が設定
される。図8の4821は、トランザクションtx00
3で、ディレクトリ‘/db/pictures/se
a/’をリンク先コンテンツとして登録する場合の例で
ある。4822は、トランザクションtx004でファ
イル‘/db/pictures/mountain.
bmp’へのリンクを削除する場合の例である。482
3と4824は、update文でファイル‘/db/
pictures/sun.bmp’へのリンクを削除
し、その代わりにファイル‘db/pictures/
moon.jpg’をリンク先コンテンツとして登録す
る場合の例である。4825は、ディレクトリ‘/db
/pictures/river’以下のコンテンツ
を、編集更新管理テーブル4700中のアクセス通番5
で示される編集更新情報に基づいて更新する場合の例で
ある。
【0077】図9は、ログ345に格納されるDBMS
342のログレコードのうち、外部ファイル連携機能拡
張(FAE)343が取得する外部ファイルログ490
0のデータ構造の一例を示している。FAE343で
は、トランザクション中のレコード登録時、レコード削
除時、及びレコード更新時において外部ファイル401
3が更新されるときに、DBMS342のログ取得機能
を用いて外部ファイルログ4900にDBMS外部ファ
イル管理システム(FMS)242の識別子を記録して
おく。これにより、コミット時またはロールバック時
に、FAE343がFMS242と通信をしてDBMS
トランザクションの決着結果を通知することで、外部フ
ァイルテーブル4000と外部コンテンツとの参照整合
性を保証する。
【0078】外部ファイルログ4900は、トランザク
ション識別子4911、及びFMS識別子4912の2
つのフィールドから構成される。トランザクション識別
子4911には、外部ファイルログ4900にログを取
得する契機となった更新処理の属するトランザクション
の識別子を設定する。FMS識別子4912には、DB
MSトランザクションに係わるFMSの識別子を設定す
る。トランザクション識別子4911とFMS識別子4
912の組が同一となるレコードが既に登録済みの場
合、重複を排除するため、外部ファイルログ4900へ
のログ出力は行なわない。
【0079】図10から図19のフローチャートは、本
実施の形態に係わる処理の流れを示している。コンテン
ツへのリンク登録処理を、図10及び図11に示す。コ
ンテンツへのリンク削除処理を、図12及び図13に示
す。コンテンツ参照処理を、図14及び図15に示す。
リンク先コンテンツの編集更新処理を、図16及び図1
7に示す。トランザクションコミット処理については、
図18に示す。トランザクションロールバック処理につ
いては、図19に示す。図19に示すROLLBACK
文処理は、DBMS342の障害時、あるいは利用者プ
ログラムの不正終了などによるトランザクションロール
バック時の処理と同じものである。
【0080】図10及び図11のフローチャートに基づ
いて、利用者プログラム142が登録対象コンテンツ1
44をDBMS342にリンク登録する手順を説明す
る。
【0081】図10から始まる。ステップ5001で、
利用者プログラム142は、FML143経由でFMS
242のコンテンツ登録準備機能を呼び出し、利用者ク
ライアント10上の登録対象コンテンツ144の登録準
備を依頼する。FMS242では、入力パラメータより
ファイルデータを抽出し、OS241の提供するOSフ
ァイルアクセス制御情報設定機能を用いて、OSファイ
ルアクセス制御情報245にFMSの所有を意味する設
定をした上で、DB管理下コンテンツ243を作成す
る。ファイルが複数渡されてきたときは、DB管理下コ
ンテンツ243として複数のファイルが作成される。登
録ハンドル4300が作成され、出力パラメータとし
て、利用者プログラム142に返される。
【0082】ステップ5002で、続いて利用者プログ
ラム142は、図4(1)の形式のINSERT文(変
数:entryhandleにはステップ5001で取
得した登録ハンドル4300を指定)を用いて、DBM
S342の外部ファイル管理テーブル4000に新規レ
コード4023を登録する。
【0083】図11へ行く。利用者プログラム142か
らの要求を受けてDBMS342では、INSERT文
処理を実行する。まず、ステップ5101で新規レコー
ド4023を作成する。これにより新規レコード402
3のレコード識別子4001とフィールド識別子400
2が確定する。続いてステップ5102で、レコード4
023の定義情報を参照し、ファイル抽象データ型関数
new()を含むか否か判定が行われ、含まれない場合
はステップ5107へ進む。含む場合は、続いてFAE
343でファイル抽象データ型に関する処理が行なわれ
る。
【0084】ステップ5103で、まずINSERT文
中のnew()を処理する。new()では、登録ハン
ドルを元にしてファイル抽象データ型値が生成される。
この例では登録対象コンテンツはファイルであるので、
コンテンツ形式4016にはfileが設定される。
【0085】続いてステップ5104で、FAE343
のコンテンツリンク登録処理を呼び出す。このとき、パ
ラメータとして、トランザクション識別子とファイル抽
象データ型値が渡される。コンテンツリンク登録処理で
は、ファイル抽象データ型値からFMS識別子、ディレ
クトリパス、及びコンテンツ形式を抽出する。コンテン
ツ形式がディレクトリの場合、ディレクトリパスの末尾
にディレクトリ区切り文字‘/’を付加する。そして、
コンテンツの確認とリンクを仮登録状態にするため、F
MS242のリンク登録機能を呼び出す。この際、呼び
出すFMS242はファイル抽象データ型値のFMS識
別子で示されるFMSである。このときの入力パラメー
タとして、DBMS342の現行トランザクションの識
別子と、ディレクトリパスを指定する。FMS242で
は、入力パラメータで指定されたディレクトリパス下に
ファイルが存在することを確認し、このときコンテンツ
情報ファイル244も作成する。トランザクション管理
テーブル4800に、更新種別4812をinsert
として、トランザクション識別子、ディレクトリパスと
ともにエントリを追加する。
【0086】ステップ5105で、DBMS342のロ
グ記録機能を利用して外部ファイルログ4900に新規
ログレコードを作成し、トランザクション識別子とFM
S識別子を記録する。
【0087】続くステップ5106で、DBMS342
は、FAE343のコンテンツリンク登録処理が正常終
了しなかった場合、INSERT文の処理もステップ5
109へ進み異常終了する。正常終了した場合は、ステ
ップ5107で、作成されたファイル抽象データ型値を
レコード4023の外部ファイル4013に書き込み、
ステップ5108でINSERT文の処理を正常終了さ
せる。
【0088】図10に戻り、ステップ5003でコミッ
ト処理またはロールバック処理が行なわれる。これらの
処理については後述する。
【0089】最後にステップ5004で、DBMS処理
終了後に、登録ハンドルの解放を行なうため、利用者プ
ログラム142は、FML143経由でFMS242に
対してコンテンツ登録中止機能を呼び出す。このとき入
力パラメータとして、登録ハンドルを渡す。FMS24
2では、登録ハンドルに係わる外部コンテンツが未登録
かどうかを確認する。リンクが設定されているか、もし
くはリンク設定のトランザクションの途中であった場
合、何もしない。そうでなかった場合、コンテンツ登録
準備機能で作成したファイル及びディレクトリは削除さ
れる。
【0090】以上で、外部コンテンツへのリンク登録処
理は終了する。
【0091】コンテンツリンク登録処理に関して、上記
では登録対象コンテンツ144が利用者クライアント1
0上にある場合としたが、あらかじめファイルサーバ2
0上にあるコンテンツをDB管理下に置きたい場合もあ
る。この場合、FMS242のコンテンツ登録準備機能
呼び出しの際にファイルデータの転送を行なわず、指定
されたコンテンツのOSファイルアクセス制御情報24
5のみ更新して所有者をFMS242とし、そのままD
B管理下コンテンツ243とすれば良い。
【0092】図12及び図13のフローチャートに基づ
いて、利用者プログラム142がDBMS342管理下
のコンテンツ244のリンクを削除する手順を説明す
る。
【0093】図12から始まる。ステップ5201で、
利用者プログラム142は、図4(2)の形式のDEL
ETE文を用いて、DBMS342に登録されたレコー
ド4023と該レコードで管理されるDB管理下コンテ
ンツ243の削除を要求する。
【0094】図13へ行く。利用者プログラム142か
ら呼び出されたDBMS342では、DELETE文の
処理を実行する。まず、ステップ5301で、指定され
たDELETE文のWHERE句の条件を満たすレコー
ドが確認され、レコードが無い場合、ステップ5308
へ行きDELETE文の処理は正常終了する。レコード
がある場合、ステップ5302で、処理対象となるレコ
ードを決定する。
【0095】続いてステップ5303で、このレコード
の定義情報に基づいてファイル抽象データ型のフィール
ドを含むレコードであるか否か判定が行なわれ、含まな
い場合はステップ5307へ進む。含む場合は、FAE
343でファイル抽象データ型に関する処理が行われ
る。
【0096】ステップ5304で、FAE343のコン
テンツリンク削除処理を呼び出す。このとき、入力パラ
メータとして、DBMS342の現行トランザクション
の識別子と、ファイル抽象データ型値が渡される。FA
E343では、ファイル抽象データ型値から取得したF
MS識別子とディレクトリパスをもとに、FMS242
のリンク削除機能を呼び出す。FMS242では、トラ
ンザクション管理テーブル4800に、更新種別481
2をdeleteとして、入力パラメータとして渡され
たトランザクション識別子及びディレクトリパスととも
にエントリを追加する。
【0097】続いてステップ5305で、DBMS34
2のログ記録機能を利用して外部ファイルログ4900
に新規ログレコードを作成し、トランザクション識別子
とFMS識別子を記録する。ステップ5306でFAE
343の内部処理が正常に終了したか否かを判断し、正
常でなかった場合はステップ5309に進み異常終了と
する。正常の場合はステップ5307に進む。
【0098】ステップ5307では、データベースのレ
コード削除を行ない、その後、処理はステップ5301
に戻り、引き続き別のレコードの削除処理を行なう。処
理対象となるレコードが残っていなければ、DBMSに
おけるDELETE文の処理は終了する。
【0099】図12に戻り、続いて、ステップ5202
でコミット処理またはロールバック処理が行なわれる。
これらの処理については後述する。
【0100】以上で、外部コンテンツのリンク削除処理
は終了する。
【0101】SQLのUPDATE文で、元のファイル
抽象データ型の値を、別のファイル抽象データ型の値で
上書きすることによって、リンク情報の付け替えを行な
うことができる。これは、FAE343の内部で、上述
したDELETE文の処理とINSERT文の処理とを
同時に行なうことで、実現できる。この場合、トランザ
クション管理テーブル4800には、図8の4823と
4824で示したレコードが作成される。
【0102】図14及び図15のフローチャートに基づ
いて、利用者プログラム142がDBMS342管理下
のコンテンツ243を参照する手順を説明する。
【0103】図14から始まる。利用者プログラム14
2は、ステップ5401で、図4(5)の形式のSEL
ECT文を用いてレコードの選択条件とアクセスハンド
ル4400の生成をDBMS342に要求し、これを受
けてDBMS342はSELECT文を処理する。
【0104】続いて、ステップ5402で、SELEC
T文の結果を取得するために、FETCH文の実行をD
BMS342に要求する。利用者プログラム142から
の要求を受けてDBMS342はFETCH文処理を実
行する。
【0105】図15に行く。まず、ステップ5501
で、検索結果として条件を満たすレコードがあるか否か
判定を行ない、無い場合はFETCH文処理を終了して
戻る。ある場合にはステップ5502に進み、処理対象
となるレコードを決定する。ステップ5503で、この
レコードの定義情報に基づいてファイル抽象データ型の
フィールドを含むレコードであるか否か判定が行なわ
れ、含まない場合はステップ5505へ進む。含む場合
は、ステップ5504で、FAE343でファイル抽象
データ型に関する処理が行なわれる。
【0106】FAE343内部処理として、アクセスハ
ンドル生成処理get_accesshandle()
が呼び出される。このとき入力パラメータとして、ファ
イル抽象データ型値が渡される。FAE343では、フ
ァイル抽象データ型値から、FMS識別子及びディレク
トリパスを取り出し、アクセスハンドル4400を作成
する。
【0107】ステップ5505で、作成されたアクセス
ハンドル4400を他の検索結果データと併せて出力結
果に設定する。次にステップ5501に戻り、SELE
CT文の条件を満たすレコードが無くなるまで上記の処
理を繰り返し、無くなればFETCH文の処理は完了で
ある。
【0108】図14のステップ5403に戻る。アクセ
スハンドルを取得した後、外部コンテンツに対するアク
セスを開始するため、FML143経由でFMS242
のアクセス開始機能の呼び出しを行なう。呼び出し先と
なるFMS242は、アクセスハンドル4400のFM
S識別子4411によって動的に決定される。入力パラ
メータは、前述のSELECT文で取得したアクセスハ
ンドル4400中のディレクトリパス4412と、利用
者プログラム142のクライアント識別子(利用者クラ
イアント10のネットワークアドレスと、利用者プログ
ラム142がネットワークインタフェース13との間で
確立したセッションの識別子を合わせたもの、など)で
ある。FMS242では、アクセス管理テーブル460
0に、更新フラグ4614としてN、ディレクトリパス
4612及びクライアント識別子4613として入力パ
ラメータのディレクトリパスとクライアント識別子を設
定したエントリを作成し、利用者プログラム142にア
クセス識別子が返される。
【0109】続いて、該アクセスハンドル4400に対
応するコンテンツに関する情報を取得するため、ステッ
プ5404でFML143経由でFMS242のコンテ
ンツ属性情報取得機能を呼び出し、DB管理下コンテン
ツ243に関する情報を取得する。入力パラメータには
前記アクセス開始機能で取得したアクセス識別子を設定
する。FMS242では、アクセス管理テーブル460
0から、入力パラメータのアクセス識別子を元にディレ
クトリパスを取得し、対応するコンテンツ情報ファイル
244を読み出し、読み出した属性情報を利用者プログ
ラム142に返す。
【0110】続いて、ステップ5404で取得した属性
情報を元に、ファイル名を指定してファイルデータの読
み出しを行なう。ステップ5405でFML143経由
でFMS242のデータ読み出し機能を呼び出し、DB
管理下コンテンツ243のファイルデータを読み出す。
入力パラメータには前記アクセス開始機能の呼び出しで
取得したアクセス識別子の他、読み出すファイル名、フ
ァイル内オフセット位置、及び読み出すデータのサイズ
を設定する。FMS242では、アクセス管理テーブル
4600から、入力パラメータのアクセス識別子を元に
ディレクトリパスを取得する。取得したディレクトリパ
スに、入力パラメータとして指定されたファイル名を付
加し、ファイルデータの読み出しを行ない、読み出した
データを利用者プログラム142に返す。
【0111】コンテンツの参照が終わった時点で、アク
セス終了処理を行なう。すなわちステップ5406で、
FML143経由でFMS242のアクセス終了処理機
能を呼び出し、入力パラメータとして、アクセス識別子
を指定する。FMS242では、アクセス管理テーブル
4600を検索し、アクセス識別子に合致するレコード
を削除する。これによって、FMS242によって掛け
られていた外部コンテンツへのロックも解除される。
【0112】以上で、利用者プログラムにおけるコンテ
ンツ参照処理は終了する。
【0113】なお、SELECT文に伴うコミット処理
もしくはロールバック処理は、FMS242のアクセス
開始機能の呼び出し以降であれば、どの時点で実行して
も構わない。
【0114】FML143のコンテンツ参照処理とし
て、利用者プログラム142のメモリ上にデータを読み
出す代わりに、利用者クライアント10の二次記憶装置
14上にファイル形式で取得する方法を採ってもよい。
これはFML143にファイル取得のインタフェースを
定義すれば実現できる。取得先がメモリ上でも二次記憶
装置上であっても、本発明の実施には差し支えない。
【0115】図16及び図17のフローチャートに基づ
いて、利用者プログラム142がDBMS342管理下
のコンテンツ243の内容を更新する手順を説明する。
【0116】図16から始まる。利用者プログラム14
2は、ステップ5601で、図4(5)の形式のSEL
ECT文を用いてレコードの選択条件とアクセスハンド
ル4400の生成をDBMS342に要求し、これを受
けてDBMS342はSELECT文を処理する。
【0117】続いて、ステップ5602で、SELEC
T文の結果を取得するために、FETCH文の実行をD
BMS342に要求する。利用者プログラム142から
の要求を受けてDBMS342はFETCH文処理を実
行する。(FETCH文処理の内容は、図15に示した
通りである。)
【0118】アクセスハンドルを取得した後、ステップ
5603で、外部コンテンツに対する編集更新を開始す
るため、FML143経由でFMS242の編集更新開
始機能の呼び出しを行なう。呼び出し先となるFMS2
42は、アクセスハンドル4400のFMS識別子44
11によって動的に決定される。入力パラメータは、前
述のSELECT文で取得したアクセスハンドル440
0中のディレクトリパス4412と、利用者プログラム
142のクライアント識別子(利用者クライアント10
のネットワークアドレスと、利用者プログラム142が
ネットワークインタフェース13との間で確立したセッ
ションの識別子を合わせたもの、など)である。FMS
242では、アクセス管理テーブル4600に、更新フ
ラグ4614としてY、ディレクトリパス4612及び
クライアント識別子4613として入力パラメータのデ
ィレクトリパスとクライアント識別子を設定したエント
リを作成し、利用者プログラム142に更新識別子が返
される。
【0119】続いて、該アクセスハンドル4400に対
応するコンテンツに関する情報を取得するため、ステッ
プ5604でFML143経由でFMS242のコンテ
ンツ属性情報取得機能を呼び出し、DB管理下コンテン
ツ243に関する情報を取得する。入力パラメータには
前記編集更新開始機能で取得した更新識別子を設定す
る。FMS242では、アクセス管理テーブル4600
から、入力パラメータの更新識別子を元にディレクトリ
パスを取得し、対応するコンテンツ情報ファイル244
を読み出し、読み出した属性情報を利用者プログラム1
42に返す。
【0120】続いて、ステップ5604で取得した属性
情報を元に、外部コンテンツに対して各種の更新処理を
行なう。ステップ5605では、ファイル(またはディ
レクトリ)作成、ファイル(またはディレクトリ)削
除、ファイルへの書き込み、ファイル(またはディレク
トリ)名称の変更、などの処理を行なう。
【0121】ファイル(またはディレクトリ)作成で
は、FML143経由でFMS242のファイル作成機
能を呼び出し、DB管理下コンテンツ243を新規に作
成する。入力パラメータには前記編集更新開始機能で取
得した更新識別子と、新規作成するファイル(またはデ
ィレクトリ)の名称を指定する。FMS242では、編
集更新管理テーブル4700に対して、更新種別がne
wのエントリを追加する。
【0122】ファイル(またはディレクトリ)削除で
は、FML143経由でFMS242に対してファイル
削除機能を呼び出し、DB管理下コンテンツ243を削
除する。入力パラメータには前記編集更新開始機能で取
得した更新識別子と、削除するファイル(またはディレ
クトリ)の名称を指定する。FMS242では、編集更
新管理テーブル4700に対して、更新種別がdele
teのエントリを追加する。
【0123】ファイルへの書き込みでは、FML143
経由でFMS242のファイル書き出し機能を呼び出
し、DB管理下コンテンツ243の内容を更新する。入
力パラメータには、前記編集更新開始機能で取得した更
新識別子、書き込みを行なうファイルの名称、ファイル
内オフセット位置、書き込むデータのサイズ、及び書き
込むデータの格納された領域を指定する。FMS242
では、編集更新管理テーブル4700に対して、必要が
あれば更新種別がnewのエントリを追加した上で、更
新結果のファイルイメージを登録する。
【0124】ファイル(またはディレクトリ)名称の変
更では、FML143経由でFMS242のファイル移
動機能を呼び出し、DB管理下コンテンツ243の名称
を変更する。入力パラメータには、前記編集更新開始機
能で取得した更新識別子、名称変更を行なうファイル
(またはディレクトリ)の名称及び変更後の名称を指定
する。FMS242では、編集更新管理テーブル470
0に対して、更新種別がrenameのエントリを追加
する。
【0125】以上に述べたような各種編集更新処理を行
なった後、ステップ5606で、編集更新ハンドルを取
得する。FML143経由でFMS242の編集更新ハ
ンドル取得機能を呼び出し、外部コンテンツに係わる更
新ハンドルを取得する。入力パラメータには前記編集更
新開始機能で取得した更新識別子を設定する。FMS2
42ではアクセス管理テーブル4600から編集更新ハ
ンドル4500を生成し、利用者プログラム142に返
す。
【0126】図16のステップ5607に戻る。続いて
利用者プログラム142は、図4(4)の形式のUPD
ATE文(変数:updatehandleにはステッ
プ5306で取得した編集更新ハンドル4500を指
定)を用いて、DBMS342の外部ファイル管理テー
ブル4000中のレコード中の外部ファイル4013の
値を更新するとともに、DBMSトランザクションの延
長でDB管理下コンテンツ243を仮更新状態にする。
【0127】図17へ行く。利用者プログラム142か
らの要求を受けてDBMS342では、UPDATE文
処理を実行する。まず、ステップ5701で、更新の対
象にファイル抽象データ型が含まれているかどうか判別
する。ファイル抽象データ型が含まれていない場合、通
常のレコード更新と見なしてステップ5708へ行く。
ファイル抽象データ型が含まれている場合、続くステッ
プ5702で編集更新かどうかを判別する。編集更新パ
ラメータ設定関数update()が指定されていない
場合、編集更新ではないので、ステップ5703へ行
き、通常のリンク情報だけの更新処理を行なう。
【0128】編集更新の場合、ステップ5704以降
で、FAE343でファイル抽象データ型に関する処理
を行なう。まず、FAE343の編集更新パラメータ設
定関数update()を呼び出す。このとき、パラメ
ータとして、編集更新ハンドルが渡される。updat
e()では、編集更新ハンドルを元にしてファイル抽象
データ型値が生成される。
【0129】続いて、ステップ5705で、UPDAT
E文の処理時に呼び出すように関連付けられたFAE3
43のコンテンツ編集更新処理を呼び出す。このとき、
パラメータとして、トランザクション識別子と、編集更
新ハンドルが渡される。FAE343では、編集更新ハ
ンドルから、FMS識別子、ディレクトリパス、及びコ
ンテンツ形式を抽出する。コンテンツ形式がディレクト
リの場合、ディレクトリパスの末尾にディレクトリ区切
り文字‘/’を付加する。そして、コンテンツの確認と
編集更新を仮登録状態にするため、FMS242のリン
ク先編集更新機能を呼び出す。この際、呼び出すFMS
242はファイル抽象データ型値のFMS識別子で示さ
れるFMSである。このときの入力パラメータとして、
DBMS342の現行トランザクションの識別子と、編
集更新ハンドルを指定する。FMS242では、編集更
新管理テーブル4700を参照し、入力パラメータで指
定された編集更新ハンドル4500中の通番4513か
ら、更新情報が登録されていることを確認し、トランザ
クション管理テーブル4800に、更新種別4812を
updateとして、トランザクション識別子、ディレ
クトリパス、及び通番とともにエントリを追加する。な
お、ディレクトリパスと通番は、編集更新ハンドルから
取得したものである。
【0130】ステップ5706で、DBMS342のロ
グ記録機能を利用して外部ファイルログ4900に新規
ログレコードを作成し、トランザクション識別子とFM
S識別子を記録する。
【0131】続くステップ5707で、DBMS342
は、FAE343のコンテンツ編集更新処理が正常終了
しなかった場合、UPDATE文の処理もステップ57
10へ行って、異常終了する。正常終了した場合は、ス
テップ5708で、ステップ5704において作成され
たファイル抽象データ型値を更新対象のレコードに書き
込み、ステップ5709でUPDATE文の処理を正常
終了させる。
【0132】図16に戻り、ステップ5608でコミッ
ト処理またはロールバック処理が行なわれる。これらの
処理については後述する。
【0133】最後にステップ5609で、DBMS処理
終了後に、編集更新処理の終了を行なうため、FML1
43経由でFMS242の編集更新終了機能を呼び出
す。入力パラメータとして、前記編集更新開始機能の呼
び出しで取得した更新識別子を渡す。FMS242で
は、入力パラメータで渡された更新識別子中の通番45
13を元に、アクセス管理テーブル4600及び編集更
新管理テーブル4700から関係するレコードを削除す
る。
【0134】以上で、外部コンテンツの更新処理は終了
する。
【0135】図18に示すフローチャートに基づいてト
ランザクションコミット処理について説明する。
【0136】DBMS342のCOMMIT文処理で
は、まずFAE343のコミット処理を呼び出す。この
とき、入力パラメータとしてコミットするトランザクシ
ョンのトランザクション識別子が渡される。
【0137】まず、ステップ5801で、外部ファイル
ログ4900から、入力パラメータで渡されたトランザ
クション識別子と一致するトランザクション識別子49
11を持つレコードを検索する。ステップ5802で、
これが見つからなかった場合には、FAE343のコミ
ット処理は終了する。
【0138】見つかった場合、ステップ5803で、外
部ファイルログ4900のレコードから、FMS識別子
4912を取得し、FMS242のトランザクション確
定機能を呼び出す。このとき、入力パラメータとして前
記トランザクション識別子を指定する。FMS242で
は、トランザクション管理テーブル4800を検索し、
入力パラメータで指定されたトランザクション識別子を
持つレコードがあるかどうかを調べ、一致するものがあ
った場合、更新種別4812の種類で順序付けて確定処
理を行なう。
【0139】まず、更新種別がinsertのトランザ
クションを確定させる。確定処理に伴い、コンテンツ情
報ファイル244のリファレンス数4121を1つ増や
す。続いて、更新種別がupdateのトランザクショ
ンを確定させる。確定処理の際、元のコンテンツ情報フ
ァイル244のリファレンス数4121が1だった場
合、そのまま上書きで確定処理を行なう。具体的には、
トランザクション管理テーブル4800の通番4814
をキーにして編集更新管理テーブル4700を検索し、
通番が一致するものの編集更新の結果を反映させる。元
のコンテンツ情報ファイル244のリファレンス数41
21が2以上だった場合、他のリンク元のファイル抽象
データ型値に対してはリンク先のコンテンツを保証する
ため、元ののコンテンツはそのままで、該コンテンツの
情報ファイル244からはリファレンス数を1つ減ら
す。更新されたファイル抽象データ型値に対してはリン
ク先のコンテンツに編集更新の結果を反映させるため、
DB管理下コンテンツ243を別途複製した上で、編集
更新の結果を反映させる。複製されたコンテンツに対す
るコンテンツ情報ファイル244のリファレンス数41
21は1になる。最後に、更新種別がdeleteのト
ランザクションを確定させる。確定処理に伴い、コンテ
ンツ情報ファイル244のリファレンス数4121を1
つ減らす。リファレンス数が0になった場合、データベ
ースのリンク元がなくなったことになるので、コンテン
ツに対応するDB管理下コンテンツ243及びコンテン
ツ情報ファイル244を削除する。ただし、その時点で
アクセス管理テーブル4600に同一コンテンツのエン
トリがあり利用者プログラム142からのアクセスが継
続していた場合、すべての利用者プログラム142から
のアクセスがなくなるまで、コンテンツの削除は遅延さ
せる。
【0140】確定処理が終わった後、トランザクション
管理テーブル4800及び編集更新管理テーブル470
0の処理済みのレコードを削除する。
【0141】続いて、ステップ5804で、外部ファイ
ルログ4900の処理済みのレコードを削除する。
【0142】以上で、FAE343におけるコミット処
理は終了する。
【0143】ステップ5805で、DBMS342は、
データベースのレコードに関する通常のコミット処理を
行なう。
【0144】以上が、コミット処理の流れである。
【0145】なお、FMS242のトランザクション確
定機能の処理中で、同一のコンテンツに対して複数のフ
ァイル抽象データ型フィールドからリンクが設定されて
いる場合に、リファレンス数4121はそのままでリン
ク先のコンテンツを直接更新する実装としても、参照整
合性を保つことができることから、本発明の実施には差
し支えない。
【0146】図19に示すフローチャートに基づいて、
トランザクションロールバック処理について説明する。
【0147】DBMS342のROLLBACK文処理
では、まずFAE343のロールバック処理を呼び出
す。このとき、入力パラメータとしてロールバックする
トランザクションのトランザクション識別子が渡され
る。
【0148】まずステップ5901で、外部ファイルロ
グ4900から、入力パラメータで渡されたトランザク
ション識別子と一致するトランザクション識別子491
1を持つレコードを検索する。ステップ5902で、こ
れが見つからなかった場合には、FAE343のロール
バック処理は終了する。
【0149】見つかった場合、ステップ5903で、外
部ファイルログ4900のレコードから、FMS識別子
4912を取得し、FMS242のトランザクション無
効化機能を呼び出す。このとき、入力パラメータとして
前記トランザクション識別子を指定する。FMS242
では、トランザクション管理テーブル4800を検索
し、入力パラメータで指定されたトランザクション識別
子を持つレコードがあるかどうかを調べ、一致するもの
があった場合、無効化処理を行なう。トランザクション
管理テーブル4800中で、トランザクション識別子4
811が入力パラメータのトランザクション識別子と合
致するレコードを削除する。
【0150】続いて、ステップ5904で、外部ファイ
ルログ4900の処理済みのレコードを削除する。
【0151】以上で、FAE343におけるロールバッ
ク処理は終了する。
【0152】ステップ5905で、DBMS342は、
データベースのレコードに関する通常のロールバック処
理を行なう。
【0153】以上が、ロールバック処理の流れである。
【0154】
【発明の効果】以上述べたように、本発明によれば、D
BMSにファイル抽象データ型と外部ファイル連携機能
を導入し、DBMS管理下のファイルを管理するために
DBMS外部ファイル管理システムを導入し、外部ファ
イル連携機能とDBMS外部ファイル管理システムとが
適切に連携するよう設定することにより、DBMS利用
者が行なうデータベースレコードの操作に対応して、当
該レコードと関連付けられた外部ファイルに対する適切
な操作が行なわれることが保証されるため、前記データ
ベースレコードと外部ファイルとの整合性が保証され、
また、DBMS管理下のファイルに対する不当なアクセ
スを排除することが出来る。
【0155】利用者は、データベース検索後に、登録さ
れたファイルに関する更新差分情報をDBMS外部ファ
イル管理システムに登録してから、データベーストラン
ザクションによってリンク先のファイルに対して内容更
新を反映させるため、ファイルの内容の整合性までデー
タベースを用いて管理することが出来る。リファレンス
数と組み合わせたリンク管理により、外部ファイルをデ
ータベースによって版管理することも実現される。
【図面の簡単な説明】
【図1】本発明に係る一実施形態のデータベースシステ
ムの概略構成を示すブロック構成図である。
【図2】本実施形態において、外部ファイルを管理する
テーブルの構成例を示す図である。
【図3】外部ファイル連携機能拡張の処理の一覧表を示
す図である。
【図4】DB操作文である。
【図5】コンテンツ情報ファイルのデータ構造の一例を
示す図である。
【図6】コンテンツリンク登録処理に使用する登録ハン
ドルのデータ構造、コンテンツアクセス処理及びコンテ
ンツ編集更新処理に使用するアクセスハンドルのデータ
構造、並びにコンテンツ編集更新処理に使用する編集更
新ハンドルのデータ構造の一例を示す図である。
【図7】DBMS外部ファイル管理システム(FMS)
が使用するメモリ上のデータ構造の一例を示す図であ
る。
【図8】DBMS外部ファイル管理システム(FMS)
が使用するメモリ上のデータ構造の一例を示す図であ
る。
【図9】外部ファイル連携機能拡張(FAE)が取得す
る外部ファイルログのデータ構造の一例を示す図であ
る。
【図10】利用者プログラムにおけるコンテンツリンク
登録処理のフローチャート図である。
【図11】DBMSにおけるINSERT文処理のフロ
ーチャート図である。
【図12】利用者プログラムにおけるコンテンツリンク
削除処理のフローチャート図である。
【図13】DBMSにおけるDELETE文処理のフロ
ーチャート図である。
【図14】利用者プログラムにおけるコンテンツ参照処
理のフローチャート図である。
【図15】DBMSにおけるFETCH文処理のフロー
チャート図である。
【図16】利用者プログラムにおけるコンテンツ編集更
新処理のフローチャート図である。
【図17】DBMSにおけるUPDATE文処理のフロ
ーチャート図である。
【図18】DBMSにおけるCOMMIT文処理のフロ
ーチャート図である。
【図19】DBMSにおけるROLLBACK文処理の
フローチャート図である。
【符号の説明】
10 利用者クライアント 11 CPU 12 メモリ 13 ネットワークインタフェース 14 二次記憶装置 141 オペレーティングシステム(OS) 142 利用者プログラム 143 DBMS外部ファイル連携ライブラリ(FM
L) 144 登録対象ファイル 19 バス 20 ファイルサーバ 21 CPU 22 メモリ 221 FMS用領域 23 ネットワークインタフェース 24 二次記憶装置 241 オペレーティングシステム(OS) 242 DBMS外部ファイル管理システム(FMS) 243 DB管理下ファイル 244 コンテンツ情報ファイル 245 OSファイルアクセス制御情報 29 バス 30 DBサーバ 31 CPU 32 メモリ 33 ネットワークインタフェース 34 二次記憶装置 341 オペレーティングシステム(OS) 342 データベース管理システム(DBMS) 343 外部ファイル連携機能拡張(FAE) 344 テーブル情報 345 ログ 39 バス

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】データベース管理システムで管理されるテ
    ーブル情報と外部ファイルを連携させるデータベース−
    ファイル連携方法であって、 前記テーブル情報に、管理すべき外部ファイルのコンテ
    ンツに関する所在情報を格納するデータ構造と当該情報
    を処理するための拡張された関数である拡張処理機能を
    提供するファイル抽象データ型のフィールドを定義し、 前記テーブル情報の前記ファイル抽象データ型のフィー
    ルドの更新処理時に呼び出される前記拡張処理機能によ
    り、一般利用者から参照・更新できないようなアクセス
    権限で前記外部ファイルを管理する処理ステップを実行
    する外部ファイル管理システムを制御することを特徴と
    するデータベース−ファイル連携方法。
  2. 【請求項2】請求項1に記載のデータベース−ファイル
    連携方法において、 前記テーブル情報のレコードの検索処理時に、前記レコ
    ード中の前記ファイル抽象データ型のフィールドで管理
    される外部ファイルに関する拡張機能の1つであるアク
    セスハンドル生成処理を呼び出し、生成したアクセスハ
    ンドルと前記外部ファイル管理システムを用いて、前記
    レコード中のフィールドにより管理される外部ファイル
    を参照することを特徴とするデータベース−ファイル連
    携方法。
  3. 【請求項3】請求項1または2の何れか1つに記載のデ
    ータベース−ファイル連携方法において、 前記レコード中のフィールドのリンク先として、複数の
    ファイルまたはディレクトリ構造を持った複数のファイ
    ルを管理し、 前記データベースのフィールド値の更新に応じて前記リ
    ンク先のファイル構造及びファイルの内容を更新するこ
    とを特徴とするデータベース−ファイル連携方法。
  4. 【請求項4】請求項1または2の何れか1つに記載のデ
    ータベース−ファイル連携方法において、 同一外部ファイルへのリンク数を管理し、 リンク先ファイル更新処理において、ファイルの内容を
    更新する際にファイルの複製を作成して更新し、 更新処理の行なわれたレコード中のフィールドのみ複製
    後のファイルをリンク先として設定することを特徴とす
    るデータベース−ファイル連携方法。
  5. 【請求項5】データベース管理システムで管理されるテ
    ーブル情報と外部ファイルを連携させるデータベース−
    ファイル連携装置であって、 前記テーブル情報に、管理すべき外部ファイルのコンテ
    ンツに関する所在情報を格納するデータ構造と当該情報
    を処理するための拡張された関数である拡張処理機能を
    提供するファイル抽象データ型のフィールドを定義する
    手段と、 前記テーブル情報の前記ファイル抽象データ型のフィー
    ルドの更新処理時に呼び出される前記拡張処理機能によ
    り、一般利用者から参照・更新できないようなアクセス
    権限で前記外部ファイルを管理する処理ステップを実行
    する外部ファイル管理システムを制御する手段とを備え
    たことを特徴とするデータベース−ファイル連携装置。
  6. 【請求項6】請求項5に記載のデータベース−ファイル
    連携装置において、 前記テーブル情報のレコードの検索処理時に、前記レコ
    ード中の前記ファイル抽象データ型のフィールドで管理
    される外部ファイルに関する拡張機能の1つであるアク
    セスハンドル生成処理を呼び出し、生成したアクセスハ
    ンドルと前記外部ファイル管理システムを用いて、前記
    レコード中のフィールドにより管理される外部ファイル
    を参照する手段を、さらに備えたことを特徴とするデー
    タベース−ファイル連携装置。
  7. 【請求項7】データベース管理システムで管理されるテ
    ーブル情報と外部ファイルを連携させるデータベース−
    ファイル連携方法に係るプログラムを記憶した記憶媒体
    であって、 前記テーブル情報には、管理すべき外部ファイルのコン
    テンツに関する所在情報を格納するデータ構造と当該情
    報を処理するための拡張された関数である拡張処理機能
    を提供するファイル抽象データ型のフィールドがあらか
    じめ定義されており、 前記プログラムは、前記テーブル情報の前記ファイル抽
    象データ型のフィールドの更新処理時に呼び出される前
    記拡張処理機能から呼び出され、一般利用者から参照・
    更新できないようなアクセス権限で前記外部ファイルを
    管理する処理ステップを実行するプログラムであること
    を特徴とするデータベース−ファイル連携方法に係るプ
    ログラムを記憶した記憶媒体。
JP2000095934A 2000-03-30 2000-03-30 データベース−ファイル連携方法 Expired - Fee Related JP3992263B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000095934A JP3992263B2 (ja) 2000-03-30 2000-03-30 データベース−ファイル連携方法
US09/819,708 US20010029507A1 (en) 2000-03-30 2001-03-29 Database-file link system and method therefor
US10/847,333 US7260578B2 (en) 2000-03-30 2004-05-18 Database-file link system and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000095934A JP3992263B2 (ja) 2000-03-30 2000-03-30 データベース−ファイル連携方法

Publications (2)

Publication Number Publication Date
JP2001282593A true JP2001282593A (ja) 2001-10-12
JP3992263B2 JP3992263B2 (ja) 2007-10-17

Family

ID=18610764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000095934A Expired - Fee Related JP3992263B2 (ja) 2000-03-30 2000-03-30 データベース−ファイル連携方法

Country Status (2)

Country Link
US (2) US20010029507A1 (ja)
JP (1) JP3992263B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008040602A (ja) * 2006-08-02 2008-02-21 Nec Corp ファイルサーバを用いたコンテンツ管理システムと方法およびプログラム
JP2011034589A (ja) * 2003-10-23 2011-02-17 Microsoft Corp 型が定義されているデータベースストアの外側でのユーザ定義型フィールドの格納および取得のためのシステムと方法

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564209B1 (en) * 2000-03-08 2003-05-13 Accenture Llp Knowledge management tool for providing abstracts of information
US7904595B2 (en) 2001-01-18 2011-03-08 Sdl International America Incorporated Globalization management system and method therefor
JP4208484B2 (ja) * 2002-05-23 2009-01-14 シャープ株式会社 情報処理方法、情報処理システム、情報取得装置、コンピュータプログラム、及び記録媒体
US7505971B2 (en) * 2002-06-28 2009-03-17 Hewlett-Packard Development Company, L.P. Shared drive that provides shared access to editable files in a database
US7987209B2 (en) * 2002-12-27 2011-07-26 Honda Motor Co., Ltd. Enhanced trade compliance system: mass amendment
JP2004295464A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd 計算機システム
US7536376B2 (en) * 2003-10-03 2009-05-19 International Business Machines Corporation Task oriented log retrieval utilizing a self-learning search tool
US20060184585A1 (en) * 2004-02-24 2006-08-17 First Data Corporation Communication point delivery instructions
US20050203903A1 (en) * 2004-03-10 2005-09-15 Rajan Rajeev B. System and method for locking and isolation in a storage platform
JP2005351994A (ja) * 2004-06-08 2005-12-22 Sony Corp コンテンツ配信サーバ,コンテンツ配信方法,プログラム
US7599924B2 (en) * 2004-06-25 2009-10-06 International Business Machines Corporation Relationship management in a data abstraction model
US7716260B2 (en) * 2004-12-16 2010-05-11 Oracle International Corporation Techniques for transaction semantics for a database server performing file operations
US20060136508A1 (en) * 2004-12-16 2006-06-22 Sam Idicula Techniques for providing locks for file operations in a database management system
US7548918B2 (en) * 2004-12-16 2009-06-16 Oracle International Corporation Techniques for maintaining consistency for different requestors of files in a database management system
US7627574B2 (en) * 2004-12-16 2009-12-01 Oracle International Corporation Infrastructure for performing file operations by a database server
US7493347B2 (en) * 2005-06-02 2009-02-17 International Business Machines Corporation Method for condensing reported checkpoint log data
US8224837B2 (en) * 2005-06-29 2012-07-17 Oracle International Corporation Method and mechanism for supporting virtual content in performing file operations at a RDBMS
US7809675B2 (en) * 2005-06-29 2010-10-05 Oracle International Corporation Sharing state information among a plurality of file operation servers
CA2512385C (en) * 2005-07-08 2008-11-04 Marathon Marine Manufacturing (1996) Ltd. Cargo deck for a truck box
US8010940B2 (en) 2005-11-02 2011-08-30 Sourcecode Technologies Holdings, Inc. Methods and apparatus for designing a workflow process using inheritance
US8224853B2 (en) * 2005-11-02 2012-07-17 Sourcecode Technologies Holdings, Inc. Methods and apparatus for updating a plurality of data fields in an electronic form
WO2007056656A2 (en) * 2005-11-02 2007-05-18 Sourcecode Technology Holding, Inc. Methods and apparatus for processing business objects, electronic forms, and workflows
US8239226B2 (en) 2005-11-02 2012-08-07 Sourcecode Technologies Holdings, Inc. Methods and apparatus for combining properties and methods from a plurality of different data sources
KR100667827B1 (ko) * 2005-11-02 2007-01-11 삼성전자주식회사 컨텐츠 파일 정보 관리 방법, 장치와 그 방법을 수행하는프로그램이 기록된 기록 매체
US20070130138A1 (en) * 2005-11-02 2007-06-07 Sourcecode Technology Holding, Inc. Methods and apparatus for storing a collaboratively designed workflow process
US7996758B2 (en) 2005-11-02 2011-08-09 Sourcecode Technologies Holding, Inc. Methods and apparatus for storing data associated with an electronic form
US7613739B2 (en) * 2005-11-17 2009-11-03 Research In Motion Limited Method and apparatus for synchronizing databases connected by wireless interface
EP1801710A1 (en) * 2005-11-17 2007-06-27 Research In Motion Limited Method and apparatus for synchronizing databases connected by wireless interface
CA2629928C (en) * 2005-11-17 2013-01-15 Research In Motion Limited System and method for communication record logging
US7610304B2 (en) * 2005-12-05 2009-10-27 Oracle International Corporation Techniques for performing file operations involving a link at a database management system
US7464117B2 (en) * 2006-01-20 2008-12-09 Microsoft Corporation Using directory historical data to facilitate automated file updates
US8238882B2 (en) 2006-10-19 2012-08-07 Research In Motion Limited System and method for storage of electronic mail
WO2008067310A2 (en) * 2006-11-27 2008-06-05 Sourcecode Technology Holding, Inc. Method and apparatus for displaying interprocess communication thumbnails
US20080155518A1 (en) * 2006-11-27 2008-06-26 Sourcecode Technology Holding, Inc. Methods and apparatus for tokenizing workflow process objects
US20080155495A1 (en) * 2006-11-27 2008-06-26 Sourcecode Technology Holding, Inc. Methods and apparatus for modeling a workflow process in an offline environment
WO2009082379A2 (en) * 2006-11-27 2009-07-02 Sourcecode Technology Holding, Inc. Methods and apparatus for debugging a workflow process
WO2008103725A1 (en) * 2007-02-20 2008-08-28 Sourcecode Technology Holding, Inc. Methods and apparatus for building and executing natural language policies
WO2008116218A1 (en) * 2007-03-22 2008-09-25 Sourcecode Technology Holding, Inc. Providing context sensitive templates for a web based workflow design
EP2140417A4 (en) * 2007-03-23 2011-03-02 Sourcecode Technology Holding Inc METHODS AND DEVICE FOR DYNAMICALLY ALLOCATING TASKS
US20090037397A1 (en) * 2007-05-03 2009-02-05 Sourcecode Technology Holding, Inc. Methods and apparatus for providing context search results in process design
EP2145297A4 (en) 2007-05-08 2012-05-30 Sourcecode Technology Holding Inc METHODS AND APPARATUSES FOR EXPOSING DEFINITIONS OF WORKFLOW PROCESSES AS COMMERCIAL OBJECTS
AU2008256748A1 (en) * 2007-05-24 2008-12-04 Sourcecode Technology Holding, Inc. Methods and apparatus for collaborative process modeling
EP2302577A1 (en) * 2009-09-22 2011-03-30 IPR Taxback Limited A customer relationship management system
US11308490B2 (en) * 2010-07-28 2022-04-19 Cox Communications, Inc. Security system and method that allows users to securely setup and maintain system security for all business systems
US9547626B2 (en) 2011-01-29 2017-01-17 Sdl Plc Systems, methods, and media for managing ambient adaptability of web applications and web services
US10657540B2 (en) 2011-01-29 2020-05-19 Sdl Netherlands B.V. Systems, methods, and media for web content management
US10580015B2 (en) 2011-02-25 2020-03-03 Sdl Netherlands B.V. Systems, methods, and media for executing and optimizing online marketing initiatives
US8812439B2 (en) * 2011-03-22 2014-08-19 Oracle International Corporation Folder structure and authorization mirroring from enterprise resource planning systems to document management systems
JP2013127748A (ja) * 2011-12-19 2013-06-27 Fujitsu Ltd 情報処理装置、データ記憶方法及びプログラム
US9430449B2 (en) 2012-03-30 2016-08-30 Sdl Plc Systems, methods, and media for managing editable previews of webpages
US9773270B2 (en) 2012-05-11 2017-09-26 Fredhopper B.V. Method and system for recommending products based on a ranking cocktail
US11308528B2 (en) 2012-09-14 2022-04-19 Sdl Netherlands B.V. Blueprinting of multimedia assets
US10452740B2 (en) * 2012-09-14 2019-10-22 Sdl Netherlands B.V. External content libraries
US11386186B2 (en) 2012-09-14 2022-07-12 Sdl Netherlands B.V. External content library connector systems and methods
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US20140337472A1 (en) 2012-12-13 2014-11-13 Level 3 Communications, Llc Beacon Services in a Content Delivery Framework
US9654354B2 (en) 2012-12-13 2017-05-16 Level 3 Communications, Llc Framework supporting content delivery with delivery services network
US10331765B2 (en) 2013-05-24 2019-06-25 Sourcecode Technology Holdings, Inc. Methods and apparatus for translating forms to native mobile applications
US10614167B2 (en) 2015-10-30 2020-04-07 Sdl Plc Translation review workflow systems and methods
CN106326425B (zh) * 2016-08-24 2019-11-05 明算科技(北京)股份有限公司 数据分类处理方法和装置
US10339102B2 (en) * 2016-09-30 2019-07-02 Vmware, Inc. Automating script creation for a log file
US11144568B2 (en) * 2019-04-24 2021-10-12 EMC IP Holding Company LLC System and method for management of data in distributed systems
CN113204598B (zh) * 2021-05-28 2023-05-09 平安科技(深圳)有限公司 一种数据同步方法、系统及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619690A (en) * 1993-06-21 1997-04-08 Hitachi, Ltd. Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system
JP4381496B2 (ja) 1998-12-01 2009-12-09 株式会社日立製作所 データベース処理方法及びその実施装置並びにその処理プログラムを記録した媒体
JP2000148552A (ja) 1998-11-09 2000-05-30 Hitachi Ltd データベース−ファイル連携方法及びその実施システム並びにその処理プログラムを記録した媒体
JP2000181777A (ja) 1998-12-16 2000-06-30 Hitachi Ltd データベース−ファイル連携方法及び装置
US6564215B1 (en) 1999-12-16 2003-05-13 International Business Machines Corporation Update support in database content management
US6850938B1 (en) * 2001-02-08 2005-02-01 Cisco Technology, Inc. Method and apparatus providing optimistic locking of shared computer resources

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011034589A (ja) * 2003-10-23 2011-02-17 Microsoft Corp 型が定義されているデータベースストアの外側でのユーザ定義型フィールドの格納および取得のためのシステムと方法
JP4838138B2 (ja) * 2003-10-23 2011-12-14 マイクロソフト コーポレーション 型が定義されているデータベースストアの外側でのユーザ定義型フィールドの格納および取得のためのシステムと方法
JP2008040602A (ja) * 2006-08-02 2008-02-21 Nec Corp ファイルサーバを用いたコンテンツ管理システムと方法およびプログラム

Also Published As

Publication number Publication date
JP3992263B2 (ja) 2007-10-17
US7260578B2 (en) 2007-08-21
US20010029507A1 (en) 2001-10-11
US20040199540A1 (en) 2004-10-07

Similar Documents

Publication Publication Date Title
JP2001282593A (ja) データベース−ファイル連携方法及び装置
US20060288056A1 (en) File version management device, method, and program
JPH07111688B2 (ja) コピー装置及び方法、並びにデータ処理装置
JP2003150594A (ja) データウェアハウスシステム
JP4497691B2 (ja) データベース管理方法及び管理システム
JPH1021061A (ja) クライアントソフトウェア自動バージョンアップシステム
US7194486B2 (en) Method and system for data processing with data replication for the same
CN114741453A (zh) 数据同步的方法、系统及计算机可读存储介质
JP3042600B2 (ja) 分散ファイルの同期方式
JP3484440B2 (ja) 分散型データベース更新方法
JP2000155706A (ja) オブジェクト指向とリレーショナル・データベースのマッピング方法、装置及びその記録媒体
JP2000148552A (ja) データベース−ファイル連携方法及びその実施システム並びにその処理プログラムを記録した媒体
JP2830826B2 (ja) 分散ファイルの同期システムと方法
JP3245047B2 (ja) バージョン管理装置及び方法
JP2000181777A (ja) データベース−ファイル連携方法及び装置
JPH117445A (ja) 統合化文書管理装置
JPH07319742A (ja) 論理削除データ物理削除方式
JP2002182956A (ja) 文書管理方法および装置
JP2003036190A (ja) アンドゥ処理システム及びアンドゥ処理方法
JP2616686B2 (ja) 業務処理中データベース再編成方式
JP2002032248A (ja) データベース問合せ処理におけるトランザクションの版の提供システム及び該システムにより提供された版を用いたデータベース問合せ処理システム
JPH11242624A (ja) 情報管理データを記録したコンピュータ読み取り可能な媒体及びデータ管理方法並びにデータ管理プログラムを記録したコンピュータ読み取り可能な媒体
JPH09167167A (ja) オブジェクト指向データベースにおけるオブジェクト検索方法
JPH08287104A (ja) 時系列データ管理方式
CN117390103A (zh) 一种Java动态数据源的实现方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070622

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070723

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110803

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120803

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130803

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees