(57)【要約】      （修正有）【課題】日々、社内の膨大な財務・会計データをＸＢＲＬ形式財務情報として格納時、様々なシステムで作成されたＸＢＲＬインスタンスを効率よく保存する。【解決手段】ＸＢＲＬ保存システムはインスタンス登録受付プログラム115と、インスタンスマージプログラム120と、ＸＢＲＬ処理プログラム125と、タクソノミ群130と、タクソノミ別インスタンス群135と、ＷＷＷサーバ145と、検索条件解析プログラム150と、検索結果表示プログラム155とを有し、ＸＢＲＬ保存システム100は、他の会計システム90、およびクライアント140とネットワーク160で接続され、マージプログラム120は、ＸＢＲＬインスタンスが参照するタクソノミ名のセット別に、ＸＢＲＬインスタンス110を分けてタクソノミ別インスタンス群135に格納する。【選択図】図１
2006163876.tif 000002
【特許請求の範囲】
【請求項１】
タクソノミ名を有するタクソノミ参照部の下にツリー構造をもつ文書情報が１つ以上格納されるＸＢＲＬインスタンスファイルを保存する記憶装置と、プログラムを格納するメモリと、前記プログラムを実行するＣＰＵとを有する計算機を用いて、タクソノミ名を有するタクソノミ参照部とツリー構造をもつ１つの文書情報とを有するＸＢＲＬインスタンスデータを前記記憶装置に保存する方法であって、
前記ＸＢＲＬインスタンスデータを入力するステップと、
前記ＸＢＲＬインスタンスデータのタクソノミ名が、保存されるいずれかの前記ＸＢＲＬインスタンスファイルのタクソノミ名と一致するか否か判定するステップと、
一致するＸＢＲＬインスタンスファイルが存在すると判定された場合には、当該ＸＢＲＬインスタンスファイルに前記ＸＢＲＬインスタンスデータの前記文書情報を追加し、前記記憶装置に保存するステップと、
一致するＸＢＲＬインスタンスファイルが存在しないと判定された場合には、当該ＸＢＲＬインスタンスデータを１つのＸＢＲＬインスタンスファイルとして前記記憶装置に保存するステップとを有することを特徴とするＸＢＲＬデータ保存方法。
【請求項２】
前記記憶装置に格納されるタクソノミのツリー構造を定義するファイルを参照し、前記ＸＢＲＬインスタンスデータおよび前記ＸＢＲＬインスタンスファイルの各データをツリーに展開し、各々前記タクソノミ名を取得することを特徴とする請求項１に記載のＸＢＲＬデータ保存方法。
【請求項３】
前記記憶装置は、さらに前記タクソノミ名と対応する前記ＸＢＲＬインスタンスファイルの名称とを記憶する管理テーブルを格納し、前記管理テーブルを参照して前記ＸＢＲＬインスタンスデータのタクソノミ名と一致するタクソノミ名をもつ前記ＸＢＲＬインスタンスファイルが存在するか否か判定することを特徴とする請求項１に記載のＸＢＲＬデータ保存方法。
【請求項４】
タクソノミ名を有するタクソノミ参照部の下にツリー構造をもつ文書情報が１つ以上格納されるＸＢＲＬインスタンスファイルを保存する記憶装置と、
プログラムを格納するメモリと、
前記プログラムを実行するＣＰＵと、
タクソノミ名を有するタクソノミ参照部とツリー構造をもつ１つの文書情報とを有するＸＢＲＬインスタンスデータを入力する手段と、
前記ＸＢＲＬインスタンスデータのタクソノミ名が、保存されるいずれかの前記ＸＢＲＬインスタンスファイルのタクソノミ名と一致するか否か判定する手段と、
一致するＸＢＲＬインスタンスファイルが存在すると判定された場合には、当該ＸＢＲＬインスタンスファイルに前記ＸＢＲＬインスタンスデータの前記文書情報を追加し、前記記憶装置に保存する手段と、
一致するＸＢＲＬインスタンスファイルが存在しないと判定された場合には、当該ＸＢＲＬインスタンスデータを１つのＸＢＲＬインスタンスファイルとして前記記憶装置に保存する手段とを有することを特徴とするＸＢＲＬデータ保存システム。
【請求項５】
前記記憶装置は、さらに前記タクソノミ名と対応する前記ＸＢＲＬインスタンスファイルの名称とを記憶する管理テーブルを格納し、前記判定する手段は、前記管理テーブルを参照して前記ＸＢＲＬインスタンスデータのタクソノミ名と一致するタクソノミ名をもつ前記ＸＢＲＬインスタンスファイルが存在するか否か判定することを特徴とする請求項４に記載のＸＢＲＬデータ保存システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、財務会計データを扱うシステムにおけるデータ保存方法に関する。
【背景技術】
【０００２】
従来、社内の財務・会計データ形式は、標準化されていなかったため、それを扱うアプリケーションに依存したバイナリ形式が主流である。バイナリ形式の場合、専用のアプリケーションがなければ解釈できず、長期に保存した場合は、すでに解釈できるアプリケーションが存在しなくなっていた、といったことがあった。
【０００３】
近年、財務・会計データに関する電子的フォーマットの標準化活動が盛んになっている。ＸＢＲＬ(eXtensible Business Reporting Language)は、財務情報をＸＭＬ形式で記述するための標準仕様である（ＸＢＲＬは、ＸＢＲＬInternationalの商標であり、そのホスト組織であるAmerican Institute of Certified Public Accountantsが登録・保有する）。ＸＢＲＬは、勘定科目情報と科目間関係を記述した辞書（タクソノミ:Taxonomy）と、報告されるべき財務情報を記述したデータ（インスタンス:Instance）から構成される。タクソノミは、リンク関係をＸＭＬで記述するＸＬｉｎｋ仕様書式を用いて勘定科目に関する様々な情報を柔軟に記述することができる。そのような情報をタクソノミに記述することによって、インスタンスには必要最小限のデータのみを単純な構造で記述することができる。ＸＢＲＬは、http://www.xbrl.org/にその仕様を公開されたＸＭＬ形式のサブセットであるため、その公開された仕様に従ったアプリケーションでありさえすればいつでも保存した財務・会計データを解釈可能であり、長期保存に有効である。ＸＢＲＬ−ＧＬ(General Ledger)は、仕訳前の伝票の情報や仕訳後の総勘定元帳に記載する情報など、特に社内で扱う財務・会計情報を扱うのに適した標準仕様である。
【０００４】
一般的にＸＭＬ文書を編集し、格納する方法としては、特開２００２−１８３１１５号公報（特許文献１）に記載の方法などがある。
【０００５】
【特許文献１】特開２００２−１８３１１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記の従来技術を用いて、特に社内のＸＢＲＬ形式財務情報を格納する場合、以下のような課題があった。ＸＢＲＬ−ＧＬが対象とする財務・会計データは、通常の企業活動をしていれば日々発生するものであり、管理対象が膨大である。また、企業の規模が大きくなれば、発生するサイトやタイミングも多くなる。発生ごとに財務・会計データをＸＢＲＬ−ＧＬ形式のファイルで保存した場合、ファイル数が多くなる。発生した財務・会計データは決算や経営管理などの目的でいずれは集計が必要であり、特に近年は経営を取り巻く環境がめまぐるしく変わり、それに応じた柔軟な対応をするため、常に経営管理する必要があり、従って、集計時の性能は重要である。
【０００７】
コンピュータシステムにおいては、ファイルＩＯが性能劣化の原因になることが多く、ファイルの数を減らすことが集計時の性能向上に寄与する。ファイルの数を減らす方策として、インスタンスのマージがある。
【０００８】
一方、ＸＢＲＬデータはインスタンスとインスタンスが参照する複数のタクソノミ（タクソノミセット）から成っている。タクソノミセットは会計制度・基準に応じ、また社内ルールに応じて標準として提供される複数のタクソノミを拡張して作成するものであり、会計制度・基準や会社ごとに異なる。
【０００９】
従来技術では、インスタンスをマージしようとした場合、第一のインスタンスと第二のインスタンスとで参照しているタクソノミセットが異なると、参照しているタクソノミセットをマージすることで対応してしまう。しかし、タクソノミは会計制度・基準や会社ごとに異なるもののため、タクソノミセットをマージすると作成時のインスタンスの会計的な意味が変わってしまう可能性がある、という問題がある。
【課題を解決するための手段】
【００１０】
本発明は、ＸＢＲＬ処理処理プログラムを実行することによって、インスタンスが参照するタクソノミセットを解釈し、タクソノミセットごとにインスタンスをマージすることを特徴とする。
【発明の効果】
【００１１】
本発明により、検索対象のインスタンスの数が削減されるため、ファイルオープンする時間分の性能向上が可能になる。また、インスタンスが参照するタクソノミ別（タクソノミ名のセット別）に格納されているため、検索時にタクソノミ解析回数が少なくなり、その時間分の性能向上が可能になる。
【発明を実施するための最良の形態】
【００１２】
以下、実施形態について図面を参照して詳細に説明する。
【実施例１】
【００１３】
図１は、実施例１のＸＢＲＬ保存システムの構成図である。ＸＢＲＬ保存システム100は、インスタンス登録受付プログラム115と、インスタンスのマージプログラム120と、ＸＢＲＬ処理プログラム125と、タクソノミ群130と、タクソノミ別インスタンス群135と、ＷＷＷサーバ145と、検索条件解析プログラム150と、検索結果表示プログラム155とを有する。ＸＢＲＬ保存システム100は、他の会計システム等90およびクライアント140とネットワーク160で接続されている。
【００１４】
インスタンス登録受付プログラム115は、他の会計システム等90から出力されるＸＢＲＬインスタンス110を受け付け、インスタンスのマージプログラム120を起動する。マージプログラム120は、ＸＢＲＬインスタンス110をマージしてタクソノミ別インスタンス群135として記憶装置に保存する。マージプログラム120についての詳細は、後に説明する。
【００１５】
利用者が、格納したタクソノミ別インスタンス群135を検索する場合、クライアント140からネットワーク160を通じてＷＷＷサーバ145にアクセスし、検索条件を入力する。検索条件解析プログラム150は、この検索条件を解析し、ＸＢＲＬ処理プログラム125を通じて、タクソノミ群130を参照し、タクソノミ別インスタンス群135から該当する情報を取り出す。検索結果表示プログラム155は、取り出した情報をＷＷＷサーバに返し、クライアント140で参照可能となる。
【００１６】
なおＸＢＲＬ保存システム100のハードウェアは、計算機であり、ＣＰＵと、メモリと、記憶装置と、ネットワーク装置とを有する。インスタンス登録受付プログラム115、マージプログラム120、ＸＢＲＬ処理プログラム125、ＷＷＷサーバ145、検索条件解析プログラム150、検索結果表示プログラム155の各プログラムは、メモリに格納され、ＣＰＵによって実行される。タクソノミ群130とタクソノミ別インスタンス群135は、記憶装置に格納される。
【００１７】
図２は、ＸＢＲＬインスタンス110またはタクソノミ別インスタンス群135を構成する個々のインスタンスの基本構造の例を示す。ＸＢＲＬインスタンスの基本構造は、タクソノミ参照部311と、文書情報、ヘッダ部、明細部から成る構造312とを有する。タクソノミ参照部311には参照されるタクソノミ名が設定される。構造312は、文書情報、ヘッダ部、明細部の順にツリー構造をもっており、それぞれ文書情報、ヘッダ、明細データが設定される。同一ヘッダ部の下に複数の明細部を設定できる。また同一の文書情報の下に複数のヘッダ部と明細部をもつ構造を繰り返すことができる。タクソノミ参照部311の下に複数の構造312を繰り返すことが可能である。ここに示すインスタンスの基本構造は、ＸＢＲＬ−ＧＬの例であり、文書情報、ヘッダ部、明細部を上記の方式で複数定義できることが特徴である。
【００１８】
図３は、ＸＢＲＬインスタンスの基本構造に則ったＸＢＲＬインスタンス110の具体例を示す。ここではＸＢＲＬインスタンス110-1,110-2,110-3,110-4の４ファイルを例として示している。タクソノミ参照部411はタクソノミ参照部311の具体例である。構造412は構造312の具体例である。
【００１９】
図４は、タクソノミ別インスタンス群135の具体例を示す図である。ここではＸＢＲＬインスタンス135-1,135-2の２ファイルを例として示している。ＸＢＲＬインスタンス135-1は、ＸＢＲＬインスタンス110-1にＸＢＲＬインスタンス110-2の構造412-2を追加したものである。ＸＢＲＬインスタンス135-2は、ＸＢＲＬインスタンス110-3にＸＢＲＬインスタンス110-4の構造412-4を追加したものである。
【００２０】
タクソノミ群130は、一つ又は複数のタクソノミの集まりであり、その構造はＸＢＲＬの仕様に則っている。
【００２１】
図５は、実施例１のマージプログラム120の処理の流れを示すフローチャートである。マージプログラム120は、インスタンス登録受付プログラム115からＸＢＲＬインスタンス110を１つ受け取る（ステップ215）。次にマージプログラム120は、ＸＢＲＬ処理プログラム125を介してタクソノミ群130を参照し、取得したＸＢＲＬインスタンス110の要素をメモリ上でツリー構造に展開する（ステップ220）。ＸＢＲＬインスタンスをツリー構造に展開する方法は、ＸＢＲＬ（http://www.xbrl.org/）で規定しており、詳細説明を省略する。ＸＢＲＬインスタンス110をツリー構造に展開することによって、タクソノミ参照部411と構造412とが分離され、各々が取得可能となる。
【００２２】
次にマージプログラム120は、メモリ上で分離されたタクソノミ参照部411から記載されているタクソノミ名を取得してセットＡと定義する（ステップ225）。次にマージプログラム120は、タクソノミ別インスタンス群135の中にステップ235の処理によって取得されていないインスタンスファイルがあるか否か判定する（ステップ230）。未取得のインスタンスファイルがあれば、マージプログラム120は、そのうちの１つを取得する（ステップ235）。ここで取得したファイルをＢとする。ステップ235は複数回実行される可能性があるが、最後に実行したステップ235のファイルを常にＢとする。マージプログラム120は、ＸＢＲＬ処理プログラム125を介してタクソノミ群130を参照し、取得したファイルＢの要素をメモリ上でツリー構造に展開する（ステップ240）。次にマージプログラム120は、メモリ上で分離されたタクソノミ参照部411から記載されたタクソノミ名を取得してセットＣと定義する（ステップ245）。次にマージプログラム120は、ＡとＣのタクソノミ名が一致するか否か判定する（ステップ250）。両者が一致すれば、マージプログラム120は、元のインスタンスファイルの代わりにファイルＢのツリーの最後尾にステップ220で分離したＸＢＲＬインスタンス110の構造412を追加したファイルをタクソノミ別インスタンス群135の１つとして保存する（ステップ255）。
【００２３】
次にマージプログラム120は、本処理で取得したすべてのインスタンスを解放する（ステップ260）。すなわちステップ215,235でオープンしたすべてのインスタンスファイルを各々クローズする。ステップ250でＡとＣが不一致と判定されたとき、マージプログラム120は、ステップ230に戻り、上記処理を繰り返す。ステップ230で未取得のインスタンスがないとき、マージプログラム120は、ＸＢＲＬインスタンス110をタクソノミ別インスタンス群135の１つとして保存する（ステップ265）。
【００２４】
図３のインスタンス例を用いてマージプログラム120の処理の流れを説明すると、次のようになる。ステップ215でＸＢＲＬインスタンス110-1が投入されると、ステップ220,225,230,265,260の順に処理が進み、ＸＢＲＬインスタンス110-1がタクソノミ別インスタンス群135-1として格納される。
【００２５】
次にＸＢＲＬインスタンス110-2が投入されると、タクソノミ参照部411-1とタクソノミ参照部411-2のタクソノミ名が同一であるため、ステップ220,230〜255,260の順に処理が進み、ＸＢＲＬインスタンス110-2の構造412-2がタクソノミ別インスタンス群135-1に追加される。
【００２６】
次にＸＢＲＬインスタンス110-3が投入されると、タクソノミ参照部411-3とタクソノミ参照部411-1のタクソノミ名が異なることから、ステップ220,230〜250,230,265,260の順に処理が進み、ＸＢＲＬインスタンス110-3がタクソノミ別インスタンス群135-2として格納される。
【００２７】
次にＸＢＲＬインスタンス110-4が投入されると、タクソノミ参照部411-3とタクソノミ参照部411-4のタクソノミ名が一致するため、ステップ220,230〜250,230,235〜255,260の順に処理が進み、ＸＢＲＬインスタンス110-4の構造412-4がタクソノミ別インスタンス群135-2に追加される。ただしステップ235でタクソノミ別インスタンス群135-2を最初に取得したときには、ステップ220,230〜255,260の処理順となる。
【００２８】
検索条件解析プログラム150は、クライアント140から検索要求を受け取ると、Ｗｅｂ形式の検索条件を解析してＸＢＲＬ形式の検索条件に変換し、ＸＢＲＬ処理プログラム125に検索要求する。ＸＢＲＬ処理プログラム125は、タクソノミ別インスタンス群135の各インスタンスファイルをオープンし、タクソノミ群130を参照してインスタンスのタクソノミ解析を行い、得られた検索結果を検索結果表示プログラム155に渡す。検索結果表示プログラム155は、受け取った検索結果をＷｅｂ形式の検索結果に変換してクライアント140へ送信する。
【００２９】
実施例１によれば、ＸＢＲＬインスタンスがタクソノミ名のセット別に保存されるため、検索時にオープンするインスタンスの数が少なくなり、またインスタンス数の減少によってタクソノミを解析する処理の回数が少なくなるため、検索時の性能向上が図れる。
【００３０】
また実施例１によれば、例えばＮ個のインスタンスがそれぞれＫバイト使用して同じタクソノミを参照する場合、本発明により（Ｎ−１）＊Ｋバイト分の記憶容量の削減に寄与する。
【実施例２】
【００３１】
図６は、実施例２のＸＢＲＬ保存システムの構成図である。実施例２のＸＢＲＬ保存システムは、実施例１と比べて、マージプログラム120がマージプログラム710に変わり、また参照タクソノミ管理テーブル720が追加されている。参照タクソノミ管理テーブル720も計算機の記憶装置に格納される。
【００３２】
図７は、参照タクソノミ管理テーブル720のデータ構成を示す図である。参照タクソノミ管理テーブル720の各レコードは、タクソノミセット612とタクソノミ別インスタンス名614の各カラムから成る。タクソノミセット612は、タクソノミ名である。タクソノミ別インスタンス名614は、タクソノミセット612に対応するインスタンスファイルの名称であり、タクソノミ名から自動的に生成される名称である。
【００３３】
図８は、実施例２のマージプログラム710の処理の流れを示すフローチャートである。ステップ215〜265の処理は、実施例１と同様である。マージプログラム710は、ステップ225でＸＢＲＬインスタンス110のタクソノミ名を取得してセットＡと定義した後、参照タクソノミ管理テーブル720のタクソノミセット612を定義したＡで検索する（ステップ800）。次にマージプログラム710は、タクソノミ名が一致するレコードが存在するか否か判定する（ステップ810）。存在する場合には、マージプログラム710は、一致したレコードのタクソノミ別インスタンス名614に該当するインスタンスファイルをタクソノミ別インスタンス群135から取得する（ステップ820）。このファイルをＢとする。その後、ステップ240を実行する。タクソノミ名が一致するレコードが存在しない場合には、マージプログラム710は、Ａのタクソノミ名と生成したＸＢＲＬインスタンス110のインスタンス名を参照タクソノミ管理テーブル720に格納し（ステップ830）、ステップ265を実行する。
【００３４】
実施例１では、ＸＢＲＬインスタンス110をタクソノミ別インスタンス群135の１つとして格納するときに、最大でタクソノミ別インスタンス群135に格納されているインスタンスの数＋１回だけインスタンスをツリーに展開する必要があった。実施例２では、参照タクソノミ管理テーブル720を利用するによって、インスタンスをツリーに展開する処理を最大でステップ220とステップ240の２回に削減できる。
【図面の簡単な説明】
【００３５】
【図１】実施例１のＸＢＲＬ保存システムの構成図である。
【図２】実施例のＸＢＲＬインスタンスの基本構造の例を示す図である。
【図３】実施例のＸＢＲＬインスタンス110の具体例を示す図である。
【図４】実施例のタクソノミ別インスタンス群135の具体例を示す図である。
【図５】実施例１のインスタンスのマージプログラムの処理フロー図である。
【図６】実施例２のＸＢＲＬ保存システムの構成図である。
【図７】実施例２の参照タクソノミ管理テーブルのデータ構成を示す図である。
【図８】実施例２のインスタンスのマージプログラムの処理フロー図である。
【符号の説明】
【００３６】
100…ＸＢＲＬ保存システム、110…ＸＢＲＬインスタンス、120…マージプログラム、125…ＸＢＲＬ処理プログラム、130…タクソノミ群、135…タクソノミ別インスタンス群、710…マージプログラム、720…参照タクソノミ管理テーブル
【図１】
2006163876.tif 000003
【図２】
2006163876.tif 000004
【図３】
2006163876.tif 000005
【図４】
2006163876.tif 000006
【図５】
2006163876.tif 000007
【図６】
2006163876.tif 000008
【図７】
2006163876.tif 000009
【図８】
2006163876.tif 000010