(57)【特許請求の範囲】
【請求項１】
データベースとＣＳＶ形式ファイル等のデータベースの表でないＯＳファイルとを用いた情報処理システムで処理記述を行うにあたり、該データベースの表と、該ＯＳファイルへの処理記述とを同一形式にし、定義時に定義者から与えられるデータベースの表であることを示す種別、またはＯＳファイルであることを示す種別以外は、該データベースの表と、該ＯＳファイルへの操作およびアクセスとが処理記述上で統一されたＯＳファイルの操作方法であって、
上記定義者によりデータベースの表とＯＳファイルとを識別する種別が変更された場合、該情報処理システムは、記憶手段にアクセスして表・ファイル管理表を検索し、与えられた表またはファイル名と一致するレコードが存在しない場合には、該記憶手段にアクセスして、該表・ファイル管理表にレコードを追加書込みし、存在した場合には、演算回路で新たに与えられた種別の値とレコード内の種別とを比較し、比較の結果、両者が等しい場合には、該記憶手段に記憶された該管理表のレコードの内容を更新し、種別が異なる場合、表からファイルに変更されたときは、表・ファイル名の項目値でファイルを作成し、ファイルから表に変更されたときは、与えられた表・ファイル名の項目値で表を作成し、それぞれ追加書き込みを行って、データベースの表とＯＳファイルとを変換することを特徴とするＯＳファイルの操作方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベース（以下、「ＤＢ」という）とＯＳ（オペレーティング・システム）ファイルとを用いた簡易言語システム（情報処理システム）におけるＯＳファイルの操作方法に関する。
【０００２】
なお、本発明において、ＯＳファイルとは、ＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅ）形式ファイル，固定長アスキー形式のファイル（ＦＩＸ形式ファイル），キーワードと値から成るテキストファイル等の、ＤＢの表でないファイルをＤＢと対比させて指すものである。また、簡易言語システムとは、操作者がＤＢ等をアクセスする際に、直接ＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ  表型のデータ構造を持つリレーショナルＤＢ向けのＤＢ言語）文等を記述する代わりに、表形式の空欄を埋めることにより、システムがＳＱＬ文を生成してＤＢにアクセスを行う機能を持ったシステムをいう。
【０００３】
【従来の技術】
近年、クライアント・サーバ・システム（ＣＳＳ）で業務処理を実行するシステムが構築されるのに伴い、異なった環境に格納されたデータを統一的に扱いたいという要求が高まっている。なお、このような技術に関する文献としては、例えば、特開平５−４６４５０号公報，同２−１９０９４７号公報，同１−１７３２２８号公報等に開示された技術を参考にすることができる。
また、ＤＢの表とＯＳファイルの両方を使用するシステムもよく使用される。しかし、従来のこの種のシステムにおいては、例えば、ＤＢの表はＳＱＬ言語文等により直接操作を行うが、ＯＳファイルはＣＳＶ形式またはＦＩＸ形式で入出力操作を行い、インポート，エクスポートでＤＢの表とＩ／Ｆを取り、また、ＯＳファイル毎に特別なＩ／Ｆプログラムを用意して値の取得／格納を行うというようなことが行われている。
【０００４】
図６に、上述の、ＤＢの表とＯＳファイルの両方を使用するシステムの一例を示す。ここに示す例は、上段がＤＢの表の格納内容の例を示しており、下段がＯＳファイル（ここでは、Ｗｉｎｄｏｗｓの初期化ファイル）格納形式を示している。ＯＳファイル格納形式中、“［”，“］”で囲まれた中をセクションといい、セクション毎に区切られた範囲で“＝”の左辺をキーという。Ｗｉｎｄｏｗｓには、セクション名とキー名で特定された“＝”の右辺の値を取得したり、変更したりするＡＰＩが備わっており、例えば、セクション名として“行１”、キー名で“上水用途”を指定することで、値“家庭用”を取得できる。
【０００５】
【発明が解決しようとする課題】
上述のように、ＤＢの表とＯＳファイルとでは、操作性が異なっているので、処理記述を行う簡易言語システムでは、処理記述が異なっている。また、操作者は、ＤＢの表を扱っているのか、ＯＳファイルを扱っているのかを常に意識して処理記述を行わなければならず、ＤＢの表であったものをＯＳファイルで扱うように変更したり、逆にＯＳファイルであったものをＤＢの表で扱うように変更したりする際には、処理記述を広い範囲にわたって見直すことが必要であり、結果的に、多くの修正個所が発生することなるという状況にあった。
すなわち、従来の簡易言語システムでは、ＤＢに対してはシステムがＳＱＬ文を生成してアクセスを行うが、この場合にも、アクセス先がＤＢであるかＯＳファイルであるかによって、表形式の空欄に埋める内容が異なってくるため、操作者が入力する内容をすべて変更しなければならなかった。
【０００６】
これについて、以下、具体例を示して説明することにする。なお、ここでは、一例として、蓄積表に蓄積された区分コードに対し、図７に示すような区分用途対応表を参照して区分コードに対応する用途を取り出し、画面Ａの用途名項目にその用途を表示するという処理を例に挙げる。上述の区分用途対応表は、参照が多く、変更が少ない表であり、比較的レコード長が短く、レコード数が少ないという特徴があるものである。
従来は、ＯＳファイルを使用しないで、すべてＤＢの表で管理する場合、操作者は、図８に示すような定義を行っていた。また、ＯＳファイルを使用する場合は、図９に示すような定義を行っていた。両者を比較すればわかるように、ＤＢの表を扱うのか、ＯＳファイルを扱うのかにより記述が異なるので、操作者は、ＤＢの表を扱っているのか、ＯＳファイルを扱っているのかを常に意識して処理記述を行わなければならなかった。
【０００７】
図９において、Ｇｅｔ  Ｕｓｅｖａｌ（  ）は、上述の区分用途対応表をＯＳファイルにして、新たにこのファイルをアクセスして、区分コードに対応する「用途」を返却するプログラムを示している。
また、上述のように、比較的レコード長が短く、参照が主であり、レコード数が少ない区分用途対応表であっても、これを図８に示すような定義を行ってすべてＤＢの表で管理しようとする場合には、ＤＢＭＳの負荷が大幅に増加することになり、性能に影響するという問題もある。一方、ＯＳファイルを使用する場合には、上述のような専用プログラムを必要とするという問題もある。
この専用プログラムは、同様の処理があるすべての処理について、定義をし直して、再生成を行う必要を有する。
【０００８】
本発明の目的は、従来の技術における上述のような諸問題を解消し、異なるＤＢ間、または異なるＯＳを搭載しているマシン間よりもより多く発生している、ＤＢの表とＯＳファイルとのデータアクセスを同じ操作性で扱えるようにしたＯＳファイルの操作方法を提供することにある。
また、本発明の他の目的は、ＤＢへのアクセス部分は変更しないので、ＤＢの表かＯＳファイルかを識別する種別を変更するだけで、アクセス対象を変更することができ、それによって、ＤＢの表への処理記述と同じ処理記述で、レコード数が少ない、参照することがほとんどであるエンティティを、オーバヘッドの大きなＤＢから切離し、ＯＳファイルで管理・運用することで業務処理を高速に行えるようにしたＯＳファイルの操作方法を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、本発明においては、データベースとＣＳＶ形式ファイル等のデータベースの表でないＯＳファイルとを用いた情報処理システムで処理記述を行うにあたり、該データベースの表と、該ＯＳファイルへの処理記述とを同一形式にし、定義時に定義者から与えられるデータベースの表であることを示す種別、またはＯＳファイルであることを示す種別以外は、該データベースの表と、該ＯＳファイルへの操作およびアクセスとが処理記述上で統一されたＯＳファイルの操作方法であって、上記定義者によりデータベースの表とＯＳファイルとを識別する種別が変更された場合、該情報処理システムは、記憶手段にアクセスして表・ファイル管理表を検索し、与えられた表またはファイル名と一致するレコードが存在しない場合には、該記憶手段にアクセスして、該表・ファイル管理表にレコードを追加書込みし、存在した場合には、演算回路で新たに与えられた種別の値とレコード内の種別とを比較し、比較の結果、両者が等しい場合には、該記憶手段に記憶された該管理表のレコードの内容を更新し、種別が異なる場合、表からファイルに変更されたときは、表・ファイル名の項目値でファイルを作成し、ファイルから表に変更されたときは、与えられた表・ファイル名の項目値で表を作成し、それぞれ追加書き込みを行って、データベースの表とＯＳファイルとを変換することを特徴とする。
【００１０】
すなわち、本発明によれば、ＯＳファイルの定義をＤＢの表と同じ操作性で実現する手段１０９により、定義時に、定義者にＤＢの表かＯＳファイルかを識別する種別を定義してもらうことができ、運用時に上記種別をアクセス先がＤＢの表かＯＳファイルかを判別する手段１０２で識別し、アクセス先がＯＳファイルである場合にはＯＳファイルからの値の参照や値の変更を行う共通のアクセス手段１０３でアクセスを行い、そのアクセス結果をＤＢの表へのアクセス結果と同じ形式にすることによって、ＯＳファイルへのアクセスをＤＢの表と同じ操作性で実現することができる。
【００１１】
また、本発明によれば、処理記述中には、ＤＢの表へのアクセス時とＯＳファイルへのアクセス時とで違いがないため、ＤＢの表であったのをＯＳファイルで扱うように変更したり、逆にＯＳファイルであったのをＤＢの表で扱うように変更しても、システムが自動的にＯＳファイルとＤＢの表の変換を行う手段１１０で変換を行えば、処理記述の変更を必要とせず引き続き運用ができる。
図１０に、本発明の原理を示す。すなわち、本発明では、ＯＳファイルへのアクセス方法であっても、その処理定義は、前述のＤＢの表へのアクセスと同じとすることを特徴とするものである。
【００１２】
ここでは、アクセス先がＤＢの表か、ＯＳファイルかの区別は、表・ファイ管理表の種別列の変更によるものとする。
なお、本発明に係るＯＳファイルの操作方法を実現するためのプログラムは、これを記録媒体に記録した形で商品として流通させることが可能であり、本発明の保護範囲はこのような商品にも及ぶことは言うまでもない。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図１は、本発明の一実施の形態に係るシステムの全体構成図である。
図中、１０１は簡易言語システムを用いて記述される業務プログラムを示している。なお、前述のように、本発明において、簡易言語システムとは、操作者がＤＢ等をアクセスする際に、直接ＳＱＬ文等を記述する代わりに、表形式の空欄を埋めることにより、システムがＳＱＬ文を生成してＤＢにアクセスを行う機能を持ったシステムをいう。
【００１４】
ここで、業務プログラム１０１でのファイルアクセス記述は、要求先が共有ディスク内のＯＳファイルであっても、ＤＢ１０７の表へのアクセスと同じ記述がなされている。なお、ここでいうファイルアクセス記述とは、例えば、ＳＱＬ文である。
業務プログラム１０１は、入出力部１００から操作者が入力した値により、予め定義されたＤＢまたはＯＳファイルへの要求を組み立てる。
【００１５】
１０２は要求先判定部であり、処理記述解析部１１２から上記業務プログラム１０１が組み立てた要求内容の解析結果を受け取り、要求先の表またはファイル名の判定を行う。要求先判定部１０２で、要求先がＤＢ１０７の表と判断された場合は、要求をＬＡＮ１０４を介してサーバマシンに送り、問い合わせ処理部１０５で要求内容を解析して、ＤＢＭＳ（ＤＢ管理システム）カーネル部１０６を介してＤＢ１０７へのアクセスを行う。その結果はＬＡＮ１０４を介して業務プログラム１０１に戻される。
【００１６】
また、要求先判定部１０２で、要求先がＯＳファイル１０８と判断された場合には、要求をファイルアクセス部１０３に送り、ファイルアクセス部１０３が共有ディスクのＯＳファイル１０８にアクセスを行い、その結果をファイルアクセス部１０３でＤＢ１０７から戻ってきた結果と同じフォーマットに変換して業務プログラム１０１に戻す。
上述の、要求先判定部１０２で要求先がＤＢ１０７の表か共有ディスク内のＯＳファイル１０８を判断する動作については、後に詳述する。
【００１７】
１０９は表・ファイル定義部であり、入出力部１００からの定義者の操作に従って、表またはＯＳファイルの定義要求を発行する部分である。図２に、この定義要求に基づいて作成された、本実施の形態に係る表・ファイル管理表を示す。この表・ファイル管理表は、システム・ディクショナリ表の一種であり、ＤＢ１０７内に存在する。ここで、表・ファイル管理表は、ＯＳファイルとして定義した場合には、種別２０１の項目に「ファイル」が、ＤＢの表として定義した場合には、種別２０１の項目に「表」が格納される。
上述のように、ＯＳファイルとして定義した場合とＤＢの表として定義した場合との違いは、表・ファイル管理表内の種別２０１の項目の値のみである。これ以外は、他のシステム・ディクショナリ表を含めて、ＯＳファイルとＤＢの表との間に違いはない。
【００１８】
上記動作の詳細は、次の通りである。表・ファイル定義部１０９から、ＬＡＮ１０４を介して、システム・ディクショナリ表への更新要求がサーバマシンに送られると、問い合わせ処理部１０５でこの要求内容を解析し、ＤＢＭＳカーネル部１０６を介してＤＢ１０７にアクセスが行われる。そして、システム・ディクショナリ表の更新が行われ、その結果がＬＡＮ１０４を介して、表・ファイル定義部１０９に戻される。
【００１９】
すなわち、表・ファイル定義部１０９で表の生成の実行要求が発生すると、ＤＢ１０７内のシステム・ディクショナリ表を参照して、ＤＢ１０７内に表・ファイル管理表を生成する。
また、表・ファイル定義部１０９でＯＳファイルの生成の実行要求が発生すると、ＤＢ１０７内のシステム・ディクショナリ表を参照して、共有ディスク内にＯＳファイルを生成すると共に、図３に示すファイルリストに、レコードをファイル名３０１の値が昇順になるように追加登録する。
【００２０】
ファイルリストは、表・ファイル定義部１０９の要求に応じて、表・ファイル変換部１１０で更新を行い、要求先判定部１０２で参照するものである。
表・ファイル変換部１１０は、ＤＢの表として定義されていたものをＯＳファイルに変更したときには、ＤＢの表をＯＳファイルに変換する部分であり、逆にＯＳファイルとして定義されていたものをＤＢの表に変更したときには、ＯＳファイルをＤＢの表に変換する部分である。
この表・ファイル変換部１１０の動作については、後に詳述する。
【００２１】
図４は、本実施の形態に係る要求先判定部１０２の動作の流れを示すフローチャートである。以下、図４を基に、要求先判定部１０２の動作を説明する。
要求先判定部１０２では、ファイルリスト１１１の先頭エントリをカレントエントリにする（ステップ４０１）。そして、カレントエントリ内のファイル名と要求先の表またはファイル名とを文字列比較する（ステップ４０２）。
比較した結果が等しい場合、アクセス先は共有ディスクであると判断する（ステップ４０４）。
【００２２】
また、比較した結果、カレントエントリ内のファイル名のほうが大きい場合には、ファイルリスト内のエントリはファイル名の昇順に作成されているので、この時点でファイルリスト内に一致するファイル名が存在しないと判断できるので、これを基に、サーバマシンのＤＢ１０７へのアクセスであると判断する（ステップ４０５）。
なお、比較した結果、カレントエントリ内のファイル名のほうが小さい場合、カレントエントリを次に進めて（ステップ４０３）、再度、カレントエントリ内のファイル名と、要求先の表またはファイル名とを文字列比較し（ステップ４０２）、処理を繰り返す。
【００２３】
図５は、本実施の形態に係る表・ファイル変換部１１０の動作の流れを示すフローチャートである。以下、図５に基づいて、表・ファイル変換部１１０の動作を説明する。
表・ファイル変換部１１０に、表・ファイルの定義変更を行うための表・ファイル管理表の１レコード分のデータが渡されると、表・ファイル変換部１１０は表・ファイル管理表を検索して（ステップ５０１）、与えられた表またはファイル名と一致するレコードが既に表・ファイル管理表に存在するか否かを判定する（ステップ５０２）。
【００２４】
ここで、該当レコードが存在しないと判断した場合は、与えられた表・ファイル管理表の１レコード分のデータを使用して、表・ファイル管理表にレコードを追加して（ステップ５１５）、本処理を終了する。
また、該当レコードが存在すると判断した場合は、新たに与えられた種別の値（新種別）と、該当レコード内の種別の値（旧種別）との比較を行う（ステップ５０３）。ここで、新種別と旧種別が等しい場合には、与えられた表・ファイル管理表の１レコード分のデータを使用して、表・ファイル管理表のレコードを更新して（ステップ５１６）、本処理を終了する。
【００２５】
また、ここで、新種別と旧種別が異なる場合、新種別が「表」であるか否かを判断する（ステップ５０４）。新種別が「表」でない場合は、種別が「表」から「ファイル」に変更されたと判断し、共有ディスクに、与えられた表・ファイル名の項目値でファイルを新たに作成する（ステップ５０５）。
その後、ＤＢ１０７内の与えられた表・ファイル名の項目値で特定される表から、当該表にレコードがある間（ステップ５０６）、当該表のレコードをＯＳファイル形式に変換して（ステップ５０７）、ステップ５０５で作成したファイルに追加書き込みを行う（ステップ５０８）。
【００２６】
ＤＢ１０７内の与えられた表・ファイル名の項目値で特定される表の全てのレコードについての処理が完了した後、ステップ５０５で新規に作成したファイルをクローズして（ステップ５０９）、与えられた表・ファイル管理表の１レコード分のデータを使用して、表・ファイル管理表のレコードを更新して（ステップ５１７）、本処理を終了する。
一方、ステップ５０４で新種別が「表」であると判断した場合、種別が「ファイル」から「表」に変更されたと判断する。この場合は、ＤＢ１０７に与えられた表・ファイル名の項目値で表を新規に作成する（ステップ５１０）。
【００２７】
その後、共有ディスク内の、与えられた表・ファイル名の項目値で特定されるファイルをオープンし（ステップ５１１）、オープンしたファイルにデータがある間（ステップ５１２）、当該ファイルのデータを表のレコードに変換して（ステップ５１３）、ステップ５１０で作成した表に追加書き込みを行う。
ステップ５１１でオープンしたファイルの全てのデータについて処理が完了した場合は、ステップ５１１でオープンしたファイルをクローズし（ステップ５０９）、与えられた表・ファイル管理表の１レコード分のデータを使用して、表・ファイル管理表の５０１レコードを更新して（ステップ５１７）、本処理を終了する。
【００２８】
表・ファイル変換部１１０は、種別の変更が発生した場合に、表・ファイルのデータ変換を行うが、種別の変更にともなっての処理記述の変更は行わない。
以上述べたように、本実施例によれば、業務プログラム１０１は簡易言語システムを用いて記述されており、そこでの表・ファイルのアクセス記述は、要求先がデータベーすの表であっても共有ディスク内のＯＳファイルであっても、同じ記述である。
要求先が共有ディスク内のＯＳファイルの場合、ファイルアクセス部１０３がＯＳファイルへのアクセス結果を、ＤＢの表へのアクセス結果と同じ形式に変換して、業務プログラム１０１に返却する。
【００２９】
これによって、ＤＢの表への処理記述と、ＯＳファイルへの処理記述を同一にして、ＤＢの表への処理記述と同じ処理記述でＯＳファイルからの値の参照や値の変更を行えるようにすることが実現できる。
また、ＤＢの表であったのをＯＳファイルで扱うように変更したり、逆にＯＳファイルであったのをＤＢの表で扱うように変更しても、処理記述の変更が不要である。
【００３０】
なお、上記実施の形態は本発明の一例を示したものであり、本発明はこれに限定されるべきものではないことは言うまでもないことである。
また、本発明に係るＯＳファイルの操作方法を実現するためのプログラムは、これを記録媒体に記録した形で商品として流通させることが可能であり、本発明の保護範囲はこのような商品にも及ぶものであることは、言うまでもない。
【００３１】
【発明の効果】
以上、詳細に説明したように、本発明によれば、ＤＢの表とＯＳファイルとのデータアクセスを同じ操作性で扱えるようにしたＯＳファイルの操作方法，この方法のプログラムを記録した記録媒体及びＯＳファイルの操作システムを実現できるという顕著な効果を奏するものである。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係るシステムの全体構成図である。
【図２】実施の形態に係る表・ファイル管理表の模式図である。
【図３】実施の形態に係るファイルリストの模式図である。
【図４】要求先判定部１１０の動作の流れを示すフローチャートである。
【図５】表・ファイル変換部１１０の動作の流れを示すフローチャートである。
【図６】ＤＢの表とＯＳファイルの格納内容の一例を示す図である。
【図７】定義処理に用いられる区分用途対応表の一例を示す図である。
【図８】ＯＳファイルを使用しないで、すべてＤＢの表で管理する場合に操作者が行う定義状況の一例を示す図である。
【図９】上と逆に、ＯＳファイルを使用する場合に操作者が行う定義状況の一例を示す図である。
【図１０】本発明の原理を説明する図である。
【符号の説明】
１００  入出力部
１０１  業務プログラム
１０２  要求先判定部
１０３  ファイルアクセス部
１０４  ＬＡＮ
１０５  問い合わせ処理部
１０６  ＤＢＭＳカーネル部
１０７  ＤＢ
１０８  ＯＳファイル
１０９  表・ファイル定義部
１１０  表・ファイル変換部
１１１  ファイルリスト
１１２  処理記述解析部
【図１】
0003620694.tif 000002
【図２】
0003620694.tif 000003
【図３】
0003620694.tif 000004
【図４】
0003620694.tif 000005
【図５】
0003620694.tif 000006
【図６】
0003620694.tif 000007
【図７】
0003620694.tif 000008
【図８】
0003620694.tif 000009
【図９】
0003620694.tif 000010
【図１０】
0003620694.tif 000011