(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-15
(45)【発行日】2023-03-24
(54)【発明の名称】データ管理保存方法、データ管理保存装置、及び、これらを実施するためのコンピュータ・プログラム
(51)【国際特許分類】
G06F 21/64 20130101AFI20230316BHJP
G06F 16/11 20190101ALI20230316BHJP
【FI】
G06F21/64
G06F16/11
(21)【出願番号】P 2019113228
(22)【出願日】2019-06-18
【審査請求日】2022-01-31
(73)【特許権者】
【識別番号】000200253
【氏名又は名称】JFEシステムズ株式会社
(74)【代理人】
【識別番号】110002963
【氏名又は名称】弁理士法人MTS国際特許事務所
(72)【発明者】
【氏名】安藤 和誠
(72)【発明者】
【氏名】伊東 昭
(72)【発明者】
【氏名】川口 敦史
(72)【発明者】
【氏名】白石 千明
【審査官】小林 秀和
(56)【参考文献】
【文献】特開2010-098431(JP,A)
【文献】特開2007-274571(JP,A)
【文献】特開2012-175555(JP,A)
【文献】特開2019-028549(JP,A)
【文献】特開2003-143139(JP,A)
【文献】特開2004-260666(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/64
G06F 16/11
(57)【特許請求の範囲】
【請求項1】
時系列的に発生する
時間単位のデータが
順次格納されている管理対象のデータベースの情報
を定期的にスナップショット化して保存するデータ管理保存方法において、
今回の時間単位のデータ、及び、該今回の時間単位より前の時間単位のデータをスナップショット化し、
該連続する複数の時間単位のデータのスナップショットのハッシュ値を含むManifestファイルを作成し、
該Manifestファイルをタイムスタンプサーバに送付して、
該タイムスタンプサーバにより電子署名及びタイムスタンプが付加された所定時間単位のXAdESファイルを得ることを特徴とするデータ管理保存方法。
【請求項2】
時系列的に発生する
時間単位のデータが
順次格納されている管理対象のデータベースの情報
を定期的にスナップショット化して保存するデータ管理保存装置において、
今回の時間単位のデータ、及び、該今回の時間単位より前の時間単位のデータをスナップショット化する手段と、
該連続する複数の時間単位のデータのスナップショットのハッシュ値を含むManifestファイルを作成する手段と、
該Manifestファイルをタイムスタンプサーバに送付する手段と、を備え、
該タイムスタンプサーバにより電子署名及びタイムスタンプが付加された所定時間単位のXAdESファイルが得られることを特徴とするデータ管理保存装置。
【請求項3】
コンピュータに、請求項
1に記載のデータ管理保存方法を実行させるためのコンピュータ・プログラム。
【請求項4】
コンピュータを、請求項
2に記載のデータ管理保存装置として機能させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ管理保存方法、データ管理保存装置、又、これらデータ管理保存方法及びデータ管理保存装置を実施するためのコンピュータ・プログラムに係り、特に、データの公的存在証明を確保しつつ、完全性を確保することが可能なデータ管理保存方法、データ管理保存装置、又、これらデータ管理保存方法及びデータ管理保存装置を実施するためのコンピュータ・プログラムに関する。
【背景技術】
【0002】
会計システムとして、SAPを代表とするERP(Enterprise Resource Planning)システムへの移行、メインフレームから分散系システムへの移行(ダウンサイジング)が見られ、分散系のDB(Data Base)アプリケーションシステムも多く採用されている。当初、ERPシステムへの移行に伴って、税法で定められた取引明細等の長期保存は可能と思われた。
【0003】
しかしながら、保存される情報が増加するにつれ、情報格納リソースを圧迫することになり、過去分はMT(Magnetic Tape)等に退避することになる。会計情報は税法上7年間の保存義務があるが、ほとんどの企業は1~2年分の情報しかオンラインでアクセスすることができず、これ以前の情報はMTその他オフラインで保存することになる。従って、国税審査官は、オンラインのシステム上にない情報についてはバッチでオフラインのものから必要なデータを出力してもらい、これをマイクロソフト社のACCESSなどのデータベース管理ソフトにインポートして監査を行っている。
【0004】
又、会計情報などの重要な情報は、情報の改ざんや流出の対策を十分に講じる必要があり、長期保存で大量保存の情報であれば被害が膨大になるおそれもあり、なおさら徹底した対策を講じる必要がある。従って、高速アクセスや高速検索を可能としながらも、同時に、暗号化によるデータ改ざん防止とセキュリティの確保が十分になされる必要がある。
【0005】
ここで、特許文献1では、バックアップ・プロセスの間でもユーザがシステムに無制限にアクセスすることができ、しかも再構成を必要としないスナップショット・バックアップ・イメージを、素早くかつ一貫的なバックアップとしてMT上に作成できるようにするという技術が開示されている。
【0006】
又、特許文献2では、ディスク使用効率の良い差分情報を使用したスナップショット管理手法でありながら、書き込み性能の劣化が無く、運用停止時間および運用再開時間を最小限に押さえる復元機能を持つスナップショット機能を有するスナップショット管理システムについて開示されている。
【0007】
しかしながら、特許文献1及び特許文献2については、前述のような会計情報の特性について配慮されておらず、重要な大量情報の長期保存と、その高速アクセスや高速検索を可能としながらも、同時に、暗号化によるデータ改ざん防止とセキュリティの確保を十分に図る点については開示されていない。
【0008】
このような問題点を解決するものとして、出願人は特許文献3を提案している。これにより、効率よくデータ圧縮することでリソースの削減を図りながら、取引履歴等の情報の大量保存及び長期保存を実現すると共に、高速アクセスや高速検索を可能とし、更には、暗号化によるデータ改ざん防止とセキュリティの確保を可能とすることができる。
【0009】
特許文献3の技術によって
図1に示すような基本的な構成のデータが得られる。図において60は各取引データ、62N、62N+1、62N+2・・・は所定時間単位、例えば日単位又は月単位のスナップショット(図では日単位)である。
【先行技術文献】
【特許文献】
【0010】
【文献】特表2001-520779号公報
【文献】特開2010-79331号公報
【文献】特許第5844554号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、データの公的存在証明を確保したり、データの削除を検知して完全性の証明を確保することができなかった。即ち、特許文献3で提案した技術では、各スナップショットがブロック単位で圧縮・暗号化されていて、データ変更のロジックが無いものの、データの公的存在証明が無かった。又、例えばN日のスナップショット62Nと、N+1日のスナップショット62N+1間のチェーン化はされておらず、削除されていないことが証明できなかった。
【0012】
本発明は、前記従来の問題点を解消するべく成されたもので、XAdESファイルを元にデータの公的存在証明を確保すると共に、一連のデータに欠落がない完全性の証明を確保することを課題とする。
【課題を解決するための手段】
【0013】
本発明は、時系列的に発生する時間単位のデータが順次格納されている管理対象のデータベースの情報を定期的にスナップショット化して保存するデータ管理保存方法において、今回の時間単位のデータ、及び、該今回の時間単位より前の時間単位のデータをスナップショット化し、該連続する複数の時間単位のデータのスナップショットのハッシュ値を含むManifestファイルを作成し、該Manifestファイルをタイムスタンプサーバに送付して、該タイムスタンプサーバにより電子署名及びタイムスタンプが付加された所定時間単位のXAdESファイルを得ることにより前記課題を解決するものである。
【0014】
ここで、前記当該時間単位より前の時間単位のデータのハッシュ値を当該時間単位のデータと共にスナップショット化し、該スナップショットをタイムスタンプサーバに送付して、タイムスタンプが付加されたスナップショットを得ることができる。
【0016】
本発明は、又、時系列的に発生する時間単位のデータが順次格納されている管理対象のデータベースの情報を定期的にスナップショット化して保存するデータ管理保存装置において、今回の時間単位のデータ、及び、該今回の時間単位より前の時間単位のデータをスナップショット化する手段と、該連続する複数の時間単位のデータのスナップショットのハッシュ値を含むManifestファイルを作成する手段と、該Manifestファイルをタイムスタンプサーバに送付する手段と、を備え、該タイムスタンプサーバにより電子署名及びタイムスタンプが付加された所定時間単位のXAdESファイルが得られることを特徴とするデータ管理保存装置により、同様に前記課題を解決するものである。
【0017】
ここで、前記当該時間単位より前の時間単位のデータのハッシュ値を当該時間単位のデータと共にスナップショット化する手段と、該スナップショットをタイムスタンプサーバに送付する手段と、を備え、タイムスタンプが付加されたスナップショットを得ることができる。
【0019】
本発明は、又、コンピュータに、前記データ管理保存方法を実行させるためのコンピュータ・プログラムにより、同様に前記課題を解決するものである。
【0020】
本発明は、又、コンピュータを、前記データ管理保存装置として機能させるためのコンピュータ・プログラムにより、同様に前記課題を解決するものである。
【発明の効果】
【0021】
本発明によれば、タイムスタンプを使用することで、XAdESファイルを元にデータの公的存在証明を確保することができる。更に、チェーン化することで、一連のデータに欠落がない完全性の証明を確保することができる。
【図面の簡単な説明】
【0022】
【
図1】出願人が特許文献3で提案したデータ管理保存方法の問題点を説明するための図
【
図2】本発明が適用される実施形態のデータ管理保存方法が導入された企業基幹システムの全体的な構成を示すブロック図
【
図3】前記企業基幹システムの全体的なハードウェアの構成を示すブロック図
【
図4】前記企業基幹システムで用いられるコンピュータ装置のハードウェア構成を示すブロック図
【
図5】前記実施形態における基幹業務を示すフローチャート
【
図6】前記実施形態に用いられるデータ管理保存装置の構成を示すブロック図
【
図7】前記実施形態におけるデータ管理保存業務処理を示すフローチャート
【
図8】前記実施形態におけるデータ管理保存処理を示すフローチャート
【
図9】前記実施形態におけるスナップショット取得情報(CSV形式ファィル)とブロック単位生成ファイルの関係を示すデータ構成図
【
図10】前記実施形態におけるブロック単位生成ファイルの構成を示すデータ構成図
【
図11】前記実施形態において定期的日時に生成するブロック単位生成ファイルを示すデータ構成図
【
図12】本発明が適用され
る第1実施例の処理を示すフローチャート
【
図13】上記実施例が処理対象とする情報の一例を示すデータ構成図
【
図14】本発明が適用され
る第2実施例の処理を示すフローチャート
【
図15】上記実施例が処理対象とする情報の他の例を示すデータ構成図
【
図21】同じくXAdESタイムスタンプを説明する図
【発明を実施するための形態】
【0023】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。なお、本発明は以下の実施形態及び実施例に記載した内容により限定されるものではない。また、以下に記載した実施形態及び実施例における構成要件には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。更に、以下に記載した実施形態及び実施例で開示した構成要素は適宜組み合わせてもよいし、適宜選択して用いてもよい。
【0024】
図2は、本発明が適用される実施形態のデータ管理保存方法が導入された企業基幹システムの全体的な構成を示すブロック図である。
【0025】
この
図2において、企業の購買部門、資材部門、販売管理部門、会計部門それぞれにおいて、購買管理サーバ装置50、在庫管理サーバ装置51、販売管理サーバ装置52、及び会計管理サーバ装置56が設けられている。これら購買管理サーバ装置50、在庫管理サーバ装置51、販売管理サーバ装置52、及び会計管理サーバ装置56は、いずれも分散系のDB(Data Base)アプリケーションシステムにより構築され、又全体としてERPシステムが適用されている。
【0026】
購買管理サーバ装置50、在庫管理サーバ装置51、及び販売管理サーバ装置52で発生する諸費用情報は、CSV(Comma Separated Values)やXML(Extensible Markup Language)などの汎用形式、あるいは専用形式のファイル交換により、適宜会計管理サーバ装置56に集約され、統合されていわゆる仕訳帳や総勘定元帳などが作成され、これらは会計情報として活用されている。
【0027】
このような企業基幹システムにおいて、本実施形態のデータ管理保存装置10が導入されている。これら購買管理サーバ装置50、在庫管理サーバ装置51、販売管理サーバ装置52、及び会計管理サーバ装置56は、本実施形態のデータ管理保存装置10が本発明を適用した管理の対象にする装置である。以下、これら装置を管理対象DB装置と呼ぶ。これら管理対象DB装置は、時系列的に発生するデータがテーブル形式のファイル(以下元ファイルと呼ぶ)で格納されている管理対象のデータベースを備えている。
【0028】
又、データ管理保存装置10は、これら元ファイルの情報を、本発明を適用して、CSV形式やXML形式など所定ファイル形式の情報(以下スナップショット取得情報と呼ぶ)にて定期的にスナップショット取得し、保存する。これにより、後日、スナップショットした時点におけるテーブルの情報を閲覧に供することができるようになっている。なお、この
図2では、一点鎖線の矢印により、このようなスナップショット取得情報を取得する処理が示される。
【0029】
ここで、上記のスナップショット取得情報は、元ファイルのそのままのファイル形式であってもよい。あるいは、元ファイルの情報をバイナリデータとして直接取得するものであってもよい。更には、元ファイルの情報の実体的内容を、CSV形式やXML形式その他の汎用形式、あるいは専用形式に一旦変換したものであってもよい。
【0030】
図3は、本実施形態の企業基幹システムの全体的なハードウェアの構成を示すブロック図である。
【0031】
前述の
図2に示した本実施形態が対象とする企業基幹システムは、この
図3に示されるように、購買管理サーバ装置50、在庫管理サーバ装置51、販売管理サーバ装置52、及び会計管理サーバ装置56、更にはデータ管理保存装置10が相互に、ネットワーク1により接続されている。加えて、これら装置に接続するクライアント装置5も、ネットワーク1により接続されている。該接続により、前述のような汎用形式や専用形式のファイル交換がなされる。
【0032】
なお、ネットワーク1は、特に限定されるものではない。公衆回線あるいは専用回線を用いるものでも、インターネットやWAN(Wide Area Network)やLAN(Local Area Network)を用いるものでも、あるいはこれらを複合的に接続し構成するものであってもよい。
【0033】
図4は、本実施形態の各装置に用いるコンピュータ装置のハードウェアの構成を示すブロック図である。
【0034】
この
図4においては、購買管理サーバ装置50、在庫管理サーバ装置51、販売管理サーバ装置52、及び会計管理サーバ装置56、更にはデータ管理保存装置10の各装置として利用可能な、ある種のコンピュータ装置のハードウェア構成が示される。しかしながら、各装置は、このようなものに限定されるものではない。
【0035】
図4の該コンピュータ装置は、OS(Operating System)は一例としてマイクロソフト社のWindows(登録商標)を搭載する、一般的なPC(Personal Computer)装置であってもよく、特に限定されものではない。あるいは、PC装置以外のハードウェアを用いてもよく、例えばEWS(Engineering Work Station)などの、いわゆるワークステーションなどのハードウェアを用いるようにしてもよい。なお、この
図4において、ハードウェア構成は、説明の関係上一部抽象化されている。
【0036】
この
図4において、コンピュータ装置は、CPU(Central Processing Unit)310と、RAM(Random Access Memory)311と、ROM(Read Only Memory)312と、LAN-I/F(Inter Face)313と、MODEM(modulator-demodulator)314と、種々のI/F320~322とを有している。これらは、バス301によって相互接続されている。
【0037】
なお、LAN-I/F313は、ネットワーク1に対して接続するために用いられる。
【0038】
又、バス301に対して、I/F320を介して、画面表示装置330が接続されている。又、バス303によって相互接続されている、キーボード331と、マウス332と、プリンタ装置333とは、バス301に対して、I/F321を介して接続されている。
【0039】
更に、バス301に対して、I/F322を介して、HDD(Hard Disk Drive)装置340と、CD(Compact Disc)ドライブ装置341とが接続されている。これらはバス302によって相互接続されている。
【0040】
以上のようなハードウェア構成において、記憶手段や記憶装置は、RAM311、ROM312、HDD装置340、CDドライブ装置341などである。このような記憶手段や記憶装置において、CPU310で実行される様々なプログラムや、本実施形態においてアクセスされるデータベースや諸ファイルやデータが保存され、電子的にアクセスができるようになっている。例えば、OSや、データベースやJAVA(登録商標)やJSP(Java(登録商標) Server Page)などのソフトウェア資源を利用する環境を提供するためのプログラム、本実施形態に係るアプリケーション・プログラム、又ウェブ・ブラウザ・プログラムは、HDD装置340に格納されていて、実行時には、RAM311に読み出されてCPU310によって実行される。なお、CPU310で実行されるアプリケーション・プログラムには、ネットワーク1経由で取得される、JAVA(登録商標)のアプレットや、データ管理保存装置10におけるASP(Active Server Pages)の機能によって提供されるものも含まれる。
【0041】
又、OSやアプリケーション・プログラムその他の実行に際して、オペレータは、画面表示装置330に表示出力される情報を参照しつつ、キーボード331によって文字入力や諸操作を行ったり、マウス332によって座標入力や諸操作の入力を行ったりする。例えば、マウス332によって、一覧表示される電子文書の選択をしたり、閲覧中の電子文書において、検索などの範囲指定を行ったり、その他、クリック操作や、いわゆるドラッグ・アンド・ドロップ操作により様々な操作を行ったりする。又、適宜、プリンタ装置333からは必要な情報を印字出力したりすることができる。言うまでもなく、これら諸出力や入力は、CPU310で実行されるプログラムによって、電子的な処理によって行われるものである。
【0042】
なお、CDドライブ装置341は、本発明を適用して実施する際の、アプリケーション・プログラムのインストールや、その他のオフラインでの情報交換に用いられる。
【0043】
図5は、本実施形態における基幹業務を示すフローチャートである。
【0044】
このフローチャートにおいて、ステップS1000は、購買部門、資材部門、販売管理部門、会計部門その他における、購買管理サーバ装置50、在庫管理サーバ装置51、販売管理サーバ装置52、及び会計管理サーバ装置56の、業務別のシステム運用を示す。これら装置は、分散系のDBを構成しているが、必要に応じネットワーク1経由で相互に情報交換することができる。
【0045】
次に、ステップS1020は、本実施形態の企業基幹システムにおいて、これら購買管理サーバ装置50、在庫管理サーバ装置51、販売管理サーバ装置52、及び会計管理サーバ装置56を連携させた、統合的なシステム運用を示す。特に、本企業基幹システムでは、購買管理サーバ装置50、在庫管理サーバ装置51、及び販売管理サーバ装置52で発生する諸費用情報を適宜会計管理サーバ装置56に集約し、該会計管理サーバ装置56において仕訳帳や総勘定元帳などを作成し、会計情報として活用している。
【0046】
更に、ステップS1040では、本発明を適用してスナップショットによるデータ管理保存業務処理を行う。これにより、税務監査その他の長期保存情報の閲覧を行うことができる。
【0047】
ここで、これらステップS1000、S1020及びS1040のそれぞれのシステム運用は、概念としてこの順に成立するものであるが、実務として常に並行運用されている。この
図5は、あくまでこのようなシステム運用の概念を示すものである。
【0048】
図6は、本実施形態に用いられるデータ管理保存装置の構成を示すブロック図である。
【0049】
この
図6では、前述の
図2や
図3に示されたデータ管理保存装置10の構成が示される。この
図6に示されるように、該データ管理保存装置10は、スナップショット処理部22と、ブロック化処理部24と、ブロック別圧縮・暗号化処理部26と、インデックスデータテーブル作成処理部28と、データ管理保存処理部30と、ブロック別復号化処理部32と、閲覧処理部34と、ブロック検索処理部36とを備える。更に、該データ管理保存装置10は、上記のデータ管理保存処理部30により保存される情報を格納する、データ記憶装置40を備える。
【0050】
まず、スナップショット処理部22は、管理対象DB装置(管理対象サーバ装置)12の各装置それぞれに格納されている元ファイルを対象とし、前述のようにスナップショット取得情報を取得する。このスナップショット取得は、手動で、あるいは自動で定期的に行われ、その時点における元ファィルの情報をスナップショット取得情報として取得することができる。
【0051】
ブロック化処理部24は、このように取得したスナップショット取得情報を、所定のレコード数毎のブロックに編成したファイル(以下ブロック単位生成ファイルと呼ぶ)を生成する。各ブロックが有するレコード数は、後日閲覧する際の、閲覧単位に含まれると予測されるレコード数程度以上とされている。このため、該閲覧は、通常1つのブロックに対するアクセスで対応することができ、処理対象のブロック数を抑えることで、該閲覧を能率よく行うことができる。
【0052】
次に、ブロック別圧縮・暗号化処理部26は、このように編成されたブロック単位生成ファイルを、該編成のブロック単位で圧縮・暗号化する。又、インデックスデータテーブル作成処理部28は、このようなブロック単位生成ファイル毎で、該ブロック単位生成ファイルに含まれるレコードを特定データでソートしたレコード順列の情報が少なくとも保存されるインデックスデータテーブルを作成する。
【0053】
データ管理保存処理部30は、ブロック単位で圧縮・暗号化されたブロック単位生成ファイル、及び上記のインデックスデータテーブルをデータ記憶装置40に格納する処理を行う。又、該データ管理保存処理部30は、このように格納されている、所望のブロック単位生成ファイルを読み出す処理を行う。該データ記憶装置40には、HDD装置や、MT装置などが用いられている。
【0054】
次に、ブロック別復号化処理部32は、ブロック単位生成ファイルを閲覧し、元ファイルを閲覧する際に、該ブロック単位生成ファイルを編成しているブロック単位で、該ブロック単位生成ファイルの解凍・復号化を行う。
【0055】
ブロック検索処理部36は、前記インデックスデータテーブルを用いて、前記データ管理保存データベースに格納のテーブルのレコードを検索する際、まず対象レコードがブロック単位生成ファイルにおいてどのブロックに格納されているか予測し、予測されたブロックの圧縮・暗号化の伸張・復号を行って該ブロックを検索する。これにより、検索対象のテーブルを逐次部分的に伸張・復号を行いながら、検索結果を取得する。従って、圧縮・暗号化の伸張・復号処理は、必要最小限のブロックに限定して行うことが可能であり、検索及び閲覧時の処理速度の向上を図ることができる。
【0056】
続いて、閲覧処理部34は、クライアント装置5からの利用者の利用要求を受け付ける。又、該閲覧処理部34は、該検索結果を利用者の閲覧に供する。
【0057】
ここで、閲覧対象の情報の指示や、検索の指示は、利用者からクライアント装置5により閲覧処理部34に対して入力される。該閲覧処理部34は、この入力内容をブロック検索処理部36に伝達する。該ブロック検索処理部36はブロック別復号化処理部32に対して、この入力内容と、データ記憶装置40に保存されている該当のインデックスデータテーブルとに基づいて、圧縮・暗号化の伸張・復号処理を行う、ブロック単位生成ファイル、及び該ブロック単位生成ファイルにおけるブロックを指示する。
【0058】
すると、該ブロック別復号化処理部32は、指示されたブロック単位生成ファイルのブロックを、データ管理保存処理部30によってデータ記憶装置40から読み出し、且つ伸張・復号処理を行って閲覧処理部34に出力する。この後、該閲覧処理部34は、伸張・復号処理されたブロック単位生成ファイルに基づいて、クライアント装置5への閲覧を行う。
【0059】
図7は、本実施形態におけるデータ管理保存業務処理を示すフローチャートである。
【0060】
このフローチャートは、前述の
図5のステップS1040におけるデータ管理保存業務処理を示すものである。
【0061】
図7において、まず、ステップS1100では、このデータ管理保存業務処理に関する諸設定を行う。このデータ管理保存業務処理は、本発明を適用したスナップショット取得を手動でも、又定期的日時で自動的にも起動することができる。このステップS1100では、このような手動あるいは自動の設定や、自動の場合の定期的日時の設定など、各種の設定を行う。
【0062】
次に、ステップS1120では、本発明を適用したスナップショット取得や情報保存その他を行う、データ管理保存処理を行う。
【0063】
管理対象DB装置12の各装置それぞれでは、様々な情報が時系列的に発生し、このような情報は、テーブル形式のファイル(元ファイル)で格納されている。このステップS1120において、データ管理保存装置10は、これら元ファイルの情報を、所定形式のスナップショット取得情報として定期的にスナップショット取得し、後述するように本発明を適用してブロック化されたファィル(ブロック単位生成ファイル)により保存する。本実施形態は、上位システムとなる管理対象DB装置12それぞれの、業務上の静止点において、スナップショットを行う。
【0064】
なお、このブロック単位生成ファイルは、ブロック単位で圧縮・暗号化されている。このため、該ブロック単位生成ファイルは、大量保存及び長期保存が容易になっている。更には、高速アクセスや高速検索を可能としながら、暗号化によるデータ改ざん防止とセキュリティの確保を可能としている。
【0065】
ここで、OSの特権による管理によっても、データ改ざん防止とセキュリティの確保がある程度可能である。しかしながら、特権がある利用者であれば改ざんをすることが可能であるという限界がある。なお、本実施形態では、圧縮・暗号化に加えて、OSの特権による管理によるデータ改ざん防止とセキュリティの確保を行っている。
【0066】
なお、類似情報の出現の頻度が高くなると、圧縮処理における圧縮率が向上する。本実施形態のブロック単位生成ファイルは、ブロック単位で類似情報の出現の可能性が高くなる。従って、本実施形態では圧縮率が向上される可能性が高くなっている。例えば、レコード単位での圧縮・暗号化に比較して、圧縮率を向上することができる。
【0067】
図7において、続いてステップS1140では、上述のようにステップS1120で保存された情報を、スナップショットした時点における該当の元ファイルの情報の提供として、後日、閲覧に供することができる。例えば、税務監査の際、画面表示、印字出力、更にはCSV形式やXML形式などの所定ファイル形式に変換したファイル出力として、税務官の閲覧に供せられる。この閲覧の際には、必要な情報の検索、抽出する機能が備えられている。
【0068】
図8は、本実施形態におけるデータ管理保存処理を示すフローチャートである。
【0069】
このフローチャートは、前述の
図7のフローチャートにおけるステップS1120のデータ管理保存処理の内容を示したものである。
【0070】
このフローチャートにおいて、まずステップS1300では、スナップショット処理部22において、管理対象DB装置12の各装置それぞれの元ファィルの情報を、スナップショット取得情報として取得する。
【0071】
ステップS1320では、ブロック化処理部24において、スナップショット取得情報に対して、所定のレコード数のブロックで編成するブロック化処理を行う。
【0072】
ステップS1340では、ブロック別圧縮・暗号化処理部26において、このようにブロックで編成するようにした、スナップショット取得したテーブルデータを該ブロック単位で圧縮・暗号化する圧縮・暗号化処理を行う。
【0073】
更に、ステップS1360では、インデックスデータテーブル作成処理部28において、スナップショットの際に、テーブル単位で、該テーブルに含まれるレコードを特定データ項目でソートしたレコード順列の情報が少なくとも保存されるインデックスデータテーブルを作成するインデックスデータテーブル作成処理を行う。
【0074】
ステップS1380では、上述のステップS1340で圧縮・暗号化した情報、及び上述のステップS1360で作成したインデックスデータテーブルを、データ管理保存処理部30において、データ記憶装置40に格納するデータ管理保存処理を行う。
【0075】
図9は、本実施形態におけるスナップショット取得情報(CSV形式ファイル)とブロック単位生成ファイルの関係を示すデータ構成図である。
図10は、該ブロック単位生成ファイルの構成を示すデータ構成図である。
【0076】
本実施形態のスナップショット処理部22は、前述の管理対象DB装置12の各装置それぞれにおいてテーブル形式で格納されている、時系列的に発生するデータの元ファイルを、スナップショット取得情報として取得する。該スナップショット取得情報のファイル形式は、特に限定されるものではないが、この
図9に示すように、CSV形式のファイルに変換されたものであってもよい。
【0077】
該スナップショット取得情報の情報は、本実施形態において、各ブロックがM個のレコードで構成される、複数ブロックに編成され、これによりブロック単位生成ファイルが生成される。このレコード数Mは、後日閲覧する際の、閲覧単位に含まれると予測されるレコード数程度以上とされている。このため、該閲覧は、通常1つのブロックに対するアクセスで対応することができ、処理対象のブロック数を抑えることで、該閲覧を能率よく行うことができる。
【0078】
又、このブロック単位生成ファイルは、
図10に示されるように、先頭にファイルヘッダ、尾端にファイルフッタを備え、これらの間に、スナップショット取得情報をブロック別に編成した情報が組み込まれる。
【0079】
ここで、CSV形式のファイルのスナップショット取得情報がK個のレコードを有するものであれば、Nは、(K/M)の整数値プラス1となる。又、図示されるように、この最終ブロックN中に、CSV形式のファイルの元の情報における最終レコードが含まれることになる。
【0080】
又、
図9及び
図10に示されるように、各ブロックは、先頭にはブロックヘッダ、尾端にはブロックフッタを備える。これらブロックヘッダ及びブロックフッタには管理情報が格納され、これらブロックヘッダ及びブロックフッタにより、ブロック単位生成ファイルにおいて順に連続するブロックが順次連鎖されるようになっている。ブロックヘッダには、ブロック単位生成ファイルにおいて1つの前のブロックのアドレスが、ブロックフッタには、ブロック単位生成ファイルにおいて1つの後のブロックのアドレスが格納されている。
【0081】
ここで、これら
図9及び
図10では、各レコードが1社員の情報となっている。各レコードは、「東京」などの社員所属事業所名、「経理」や「営業」などの社員所属部署名、「阿部誠」や「木村隆司」などの社員名、「東京都……」や「千葉県……」などの社員住所の情報を含んでいる。
【0082】
図11は、本実施形態において定期的日時に生成するブロック単位生成ファイルを示すデータ構成図である。
【0083】
本実施形態では、スナップショットによる情報取得は、時系列的に行われる。又、毎月の特定日時、あるいは経理上や会計上の特定の月及び日時を定期的日時として設定し、自動的に、スナップショットによる情報取得を行うことができる。
【0084】
この
図11では、毎月の特定日時(定期的日時)において、自動的にスナップショットによる情報取得を行う例を示している。該情報取得を行うと、毎月、該取得の日時における元ファイルの、CSV形式のファイルのスナップショット取得情報が取得される。更に、このように毎月、該取得のファイルに従って本発明が適用されたブロック化がなされた、ブロック単位生成ファイルが生成される。
【0085】
ここで、本実施形態では、あらかじめ設定した定期的日時において、過去のブロック単位生成ファイルに対して、月次単位で新たに取得されたスナップショット取得情報を合成することで、この時点での最新の圧縮・暗号化されたブロック単位生成ファイルを生成するようにしている。合成され圧縮・暗号化されたブロック単位生成ファイルは、データ管理保存処理部30による処理によってデータ記憶装置40に保存されることになる。
【0086】
このような合成されたブロック単位生成ファイルの生成は、例えば、過去のブロック単位生成ファイルを一旦復号化してから、これに新たなスナップショット取得情報(圧縮・暗号化なしのもの)を合成し、合成されたものを圧縮・暗号化することで行うようにしてもよい。あるいは、新たなスナップショット取得情報をまず圧縮・暗号化してから、これに対して、圧縮・暗号化されている過去のブロック単位生成ファイルを復号化せず、そのまま合成し行うようにしてもよい。
【0087】
なお、このような合成は行わず、あらかじめ設定した定期的日時において、その都度新たに、圧縮・暗号化されたブロック単位生成ファイルを生成するようにしてもよい。しかしながら、上述のような合成では、圧縮・暗号化の処理量を抑制することができ、処理速度を向上することができる。
【0088】
なお、以上に説明したように、前述の
図6に示されるデータ管理保存装置10における各処理部及びデータ記憶装置40は、
図2や
図3におけるデータ管理保存装置10において構成している。しかしながら、本実施形態は、このようなものに限定されるものではない。例えば、
図2や
図3の会計管理サーバ装置56などにおいて、複合的にデータ管理保存装置10を構成し、該会計管理サーバ装置56などにおいて
図6に示されるデータ管理保存装置10における各処理部及びデータ記憶装置40を構成するようにしてもよい。会計管理サーバ装置56において複合的にデータ管理保存装置10を構成する場合、データ記憶装置40は、会計管理サーバ装置56が備えるデータベース装置や記憶装置に設けるようにしてもよい。
【0089】
図12は、本発明が適用され
る第1実施例の処理を示すフローチャートである。
【0090】
本実施例は、以上に説明した実施形態において、管理対象DB装置12を、経理情報を少なくとも保存しているデータベースである会計管理サーバ装置56としている。又、前述の定期的日時を、経理業務上、情報が確定する日次及び月次の日時としている。
【0091】
このフローチャートは、前述の
図5のフローチャート全体に対応するものである。又、この
図5のフローチャートのステップS1040である「データ管理保存業務処理」は、前述の
図7のフローチャート全体に示されるとおりである。従って、本実施例の
図12のフローチャートは、この
図5のステップS1040に
図7のフローチャート全体を盛り込んだものである。
【0092】
更に、この
図12に示されるように、ステップS1120の「データ管理保存処理」は、本実施例では、ステップS2100の「日次スナップショット処理」、及びステップS2120の「月次情報合成処理」によって構成されている。又、本実施例において以下に述べる第1の定期的日時及び第2の定期的日時の設定は、前述したステップS1100における業務設定処理において行うことができる。なお、第1の定期的日時は日次、第2の定期的日時は月次としてもよいが、これらに限定されるものではない。例えば、第2の定期的日時を、第1の定期的日時より長期周期となる、決算時期の四半期次や年次などとしてもよい。
【0093】
上記のステップS2100の「日次スナップショット処理」では、日次(第1の定期的日時)で、該データベースの情報のスナップショット取得、該取得の情報に対する前述したブロック分けの編成によるブロック単位生成ファイルの生成、及び、該ブロック単位生成ファイルの圧縮・暗号化を行って、データ記憶装置40(データ管理保存データベース)に格納する。
【0094】
なお、このステップS2100では、スナップショット取得から少なくともブロック分け編成までの処理を行うものである。例えば、圧縮・暗号化は省いて、ブロック分け編成までの処理を行ったブロック単位生成ファイルをデータ記憶装置40(データ管理保存データベース)に格納するようにしてもよい。但し、圧縮・暗号化を行うことで、該データ記憶装置40に必要な記憶容量の一層の低減や、セキュリティの安全性の一層の向上を図ることができる。
【0095】
又、上記のステップS2120の「月次情報合成処理」では、月次(第2の定期的日時)で、日次で格納している複数の該ブロック単位生成ファイルから、月次単位の該ブロック単位生成ファイルを合成する。
【0096】
本実施例のこのファイル合成は具体的に限定されるものではなく、該ファイル合成に際して行われるブロック単位生成ファイルの合成処理や、インデックスデータテーブルの作成処理について具体的に限定されるものではない。例えば、これらブロック単位生成ファイルの合成処理、及びインデックスデータテーブルの作成処理は、該ファイル合成において、いずれか一方のみ行うものであってもよい。
【0097】
又、該ファイル合成の際のブロック単位生成ファイルの合成処理については、例えば、日次で得ている過去の対象期間の複数のブロック単位生成ファイルを一旦復号化してから、これらを合成し、合成されたものを圧縮・暗号化することで行うようにしてもよい。あるいは、これら対象期間の複数のブロック単位生成ファイルを復号化せず、そのまま合成し行うようにしてもよい。
【0098】
該ファイル合成の際のインデックスデータテーブルの作成についても、具体的に限定されるものではない。このインデックスデータテーブル作成の処理については、日次で、過去の対象期間の複数のブロック単位生成ファイルの生成時に作成されたインデックスデータテーブルを合成し、これにより、月次単位のインデックスデータテーブルを作成してもよい。あるいは、月次で、ブロック単位生成ファイルを合成する際に、同時に新たに月次単位のインデックスデータテーブルを作成してもよい。
【0099】
ここで、
図13は、本実施例が処理対象とする情報の一例を示すデータ構成図である。
【0100】
図12のステップS1000や前述の
図5のステップS1000では、購買管理サーバ装置50、在庫管理サーバ装置51、及び販売管理サーバ装置52などによる、それぞれの該当業務において、様々な情報が発生している。このような業務別の情報の内、経理や会計に係わる諸費用情報は、ステップS1020において、適宜会計管理サーバ装置56に集約され、該会計管理サーバ装置56において仕訳帳や総勘定元帳などが作成される。この
図13や後述する
図15では、このような会計管理サーバ装置56で取得されたり、作成されたりする情報を総称して明細会計情報としている。
【0101】
図13では、明細会計情報A1~A3は「2011/5/1」に、明細会計情報B1~B3は「2011/5/30」に、明細会計情報C1~C3は「2011/5/31」に、購買管理サーバ装置50、在庫管理サーバ装置51、及び販売管理サーバ装置52などから適宜会計管理サーバ装置56において集約され、作成された情報である。
【0102】
続いて、ステップS1100では、定期的日時の手動あるいは自動の設定や、自動の場合の第1の定期的日時及び第2の定期的日時の設定など、各種の設定を適宜行う。なお、本実施例では、「自動」設定であり、又、定期的日時に関しては、「日次スナップショット処理」の日時設定(日毎の時間設定(第1の定期的日時設定))や処理内容、「月次情報合成処理」の月時設定(月毎の日時設定(第2の定期的日時設定))や処理内容の設定を行う。
【0103】
次に、ステップS1120中のステップS2100の「日次スナップショット処理」では、
図13の矢印D1~D3で示されるように、圧縮・暗号化された日次会計情報E1~E3(ブロック単位生成ファイル)が生成され、データ記憶装置40に格納される。該生成は、日次(第1の定期的日時)で行われるものであり、会計管理サーバ装置56にある明細会計情報のスナップショット取得、該取得の情報に対するブロック分けの編成による日次会計情報(ブロック単位生成ファイル)の生成、及び、該日次会計情報の圧縮・暗号化によるものである。
【0104】
続いて、ステップS1120中のステップS2120の「月次情報合成処理」では、
図13の矢印F1で示されるように、月次(第2の定期的日時)で、上述のように日次で格納している日次会計情報から、月次単位の月次会計情報(ブロック単位生成ファイル)を合成する。この
図13の例では、2011年5月の月次会計情報を合成し生成しているが、この合成及び生成の処理は、例えば、翌月の2011年6月の1日に行う。
【0105】
本実施例では、スナップショット取得しながら圧縮・暗号化によって取得される情報(日次会計情報)は日付毎であるが、毎月の月初めに前月のものが月次会計情報に合成されるので、後日の検索時には対象となるファイルの数が少なくなる。従って、検索処理の処理量が削減され、処理能率が向上される。
【0106】
ここで、本実施例は、会計情報が一日毎で確定する場合を想定したものである。
【0107】
次に、
図14は、本発明が適用され
る第2実施例の処理を示すフローチャートである。
【0108】
本実施例は、上述の第1実施例のステップS1120の「データ管理保存処理」が、ステップS2200の「月次スナップショット処理」により構成され、日次会計情報(ブロック単位生成ファイル)の合成は行わない。
【0109】
本実施例において、前述した定期的日時は、経理業務上、情報が確定する月次の日時となっている。ステップS1100では、本実施例では「自動」を設定し、又、「月次スナップショット処理」の日時設定(月毎の日時設定(定期的日時設定))や処理内容の設定を適宜行う。
【0110】
ここで、
図15は、本実施例が処理対象とする情報の一例を示すデータ構成図である。
【0111】
図15では、明細会計情報K1~K3は「2011/5/1」に、明細会計情報L1~L3は「2011/5/31」に、明細会計情報M1~M3は「2011/6/1」に、明細会計情報N1~N3は「2011/6/30」に、購買管理サーバ装置50、在庫管理サーバ装置51、及び販売管理サーバ装置52などから会計管理サーバ装置56において適宜集約され、作成された情報である。
【0112】
本実施例の
図14のステップS2200の「月次スナップショット処理」では、
図15の矢印P1、P2で示されるように、圧縮・暗号化された月次会計情報Q1、Q2(ブロック単位生成ファイル)が生成され、データ記憶装置40に格納される。該生成は、月次(定期的日時)で行われるものであり、会計管理サーバ装置56にある明細会計情報のスナップショット取得、該取得の情報に対するブロック分けの編成による月次会計情報(ブロック単位生成ファイル)の生成、及び、該月次会計情報の圧縮・暗号化によるものである。
【0113】
このように、本実施例では、ブロック単位生成ファイルの合成は行わず、ステップS2200の「月次スナップショット処理」において、その都度新たに、圧縮・暗号化されたブロック単位生成ファイルを生成するようにしている。このような本実施例と比較することで、合成処理を行う前述の第1実施例は、全体として圧縮・暗号化の処理量を抑制することができ、処理速度を向上することができることがわかる。
【0114】
この技術によれば、
図1に示したような基本的な構成のデータが得られる。この技術では、各スナップショットが暗号化されていて、データ変更のロジックが無いものの、データの公的存在証明が無かった。又、例えばN日のスナップショット62Nと、N+1日のスナップショット62N+1間のチェーン化はされておらず、削除されても証明できなかった。
【0115】
ここで、
図16に示す如く、各スナップショット62N、62N+1、62N+2・・・にタイムスタンプ66を付与することが考えられる。これによって公的存在証明を確保することができる。しかしながら、スナップショット間のチェーン化はされておらず、取引データ60の削除が検出できない。
【0116】
そこで、
参考形態では、
図17に示す如く、当該所定単位期間(ここでは当日N日)内の取引データ60に、当該時間単位より前の時間単位(ここでは前日N-1日)のハッシュ値64N-1を加えたものにタイムスタンプ66を付与することによって、タイムスタンプ66で公的存在証明を行うと共に、スナップショットもチェーン化して取引データ60が削除されていないこと(完全性)を証明できるようにしたものである。
【0117】
以下、
図18を参照して、
参考形態の処理手順を説明する。
【0118】
まず、ステップS1400で、前日(N-1日)の取引データ60のハッシュ値(
図17の64N-1)を計算する。
【0119】
次いでステップS1410で、前日(N-1日)の取引データ60のハッシュ値64N-1を当日(N日)の取引データ60と共にスナップショット62N化する。
【0120】
次いでステップS1420でスナップショット62Nを例えばインターネットに接続された外部のタイムスタンプサーバ(図示省略)に送付してタイムスタンプ66を得る。
【0121】
次いでステップS1430に進み、タイムスタンプ66が付加されたスナップショット62Nを得る。
【0122】
このようにして、タイムスタンプ66で公的存在証明が確保されるだけでなく、スナップショット62N、62N+1、62N+2・・・がチェーン化され、取引データ60の削除も検知可能となり、完全性が確保される。
【0123】
次に、XAdESファイル(JIS X5093:2008)を使用した本発明の実施形態を説明する。
【0124】
こ
の実施形態は、
図19に基本的構成を示す如く、連続する複数の時間単位である、当該時間単位(ここでは当日N日)の取引データ60を含むスナップショット62Nのハッシュ値64Nと、当該所定時間単位より前の時間単位(ここでは前日N-1日)のスナップショットのハッシュ値64N-1
とを含む当該N日のXAdESファイル70N
を作成して、そのタイムスタンプ72で公的存在を証明すると共に、スナップショット62Nをチェーン化して取引データ60の削除を検知し、完全性が確保されるようにしたものである。
【0125】
【0126】
まず、ステップS1500で前日(N-1日)と当日(N日)の取引データ60をスナップショット62N-1、62N化する。
【0127】
次いでステップS1510で、そのハッシュ値64N-1、64Nをそれぞれ計算する。
【0128】
次いでステップS1520で、
図21に例示するようなXML形式のManifestファイル74を作成する。
【0129】
次いでステップS1530で、Manifestファイル74をタイムスタンプサーバ76に送付し、タイムスタンプサーバ76から返送された、電子署名78とタイムスタンプ72が付加されたXAdESファイル74を得て、原本ファイル80と共にデータ管理保存装置10に保管する。これにより、XAdESファイル70Nを元に原本ファイル80の公的存在証明と完全性を検証することができる。
【0130】
なお、前記実施形態においては時間単位が日時又は月次とされていたが、時間単位はこれに限定されない。保存対象も会計情報に限定されない。
【符号の説明】
【0131】
1…ネットワーク
5…クライアント装置
10…データ管理保存装置
12…管理対象データベース装置(管理対象サーバ装置)
22…スナップショット処理部
24…ブロック化処理部
26…ブロック別圧縮・暗号化処理部
28…インデックスデータテーブル作成処理部
30…データ管理保存処理部
32…ブロック別復号化処理部
34…閲覧処理部
36…ブロック検索処理部
40…データ記憶装置
50…購買管理サーバ装置
51…在庫管理サーバ装置
52…販売管理サーバ装置
56…会計管理サーバ装置
60…取引データ
62N、62N+1、62N+2…スナップショット
64N-1、64N、64N+1、64N+2…ハッシュ値
66、72…タイムスタンプ
70N、70N+1、70N+2…XAdESファイル
74…Manifestファイル
76…タイムスタンプサーバ
78…電子署名
80…原本ファイル