(57)【要約】【課題】より少ないユーザによる作業で、帳票データのデータへのアクセス制御が可能な情報処理装置が実行するプログラムを提供すること。【解決手段】ユーザ識別情報を取得するユーザ識別情報取得ステップ（S100）と、予め保持する第１の帳票データに対し、データが付加された第２の帳票データを取得する第２の帳票データ取得ステップ（S110）と、前記第１の帳票データと前記第２の帳票データとの差分データを抽出する差分抽出するステップ（S130）と、前記第１の帳票データに対応づけて、前記差分抽出手段が抽出した前記差分データ及びユーザ識別情報をデータ記憶部に記憶させるデータ記憶ステップ（S140）と、を実行させるプログラムを提供する。【選択図】図１
2015172911.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に、
ユーザ識別情報を取得するユーザ識別情報取得ステップと、
予め保持する第１の帳票データに対し、データが付加された第２の帳票データを取得する第２の帳票データ取得ステップと、
前記第１の帳票データと前記第２の帳票データとの差分データを抽出する差分抽出ステップと、
前記第１の帳票データに対応づけて、前記差分抽出ステップで抽出された前記差分データ及び前記ユーザ識別情報をデータ記憶部に記憶させるデータ記憶ステップと、
を実行させるプログラム。
【請求項２】
情報処理装置に、さらに、
前記第２の帳票データの取得要求を取得した場合、前記データ記憶部から前記ユーザ識別情報に対応づけられた前記第１の帳票データ及び前記差分データを読み出し、前記第１の帳票データに前記差分データを合成する合成ステップと、
前記合成ステップにより合成して得られた帳票データを提供する帳票データ提供ステップと、
を実行させることを特徴とする請求項１記載のプログラム。
【請求項３】
前記合成ステップでは、前記差分データのユーザの前記ユーザ識別情報に対応付けて前記差分データへのアクセス許可条件が記憶されたアクセス許可条件記憶部を参照して、
前記ユーザ識別情報取得ステップで取得された前記ユーザ識別情報のユーザが前記アクセス許可条件を満たす場合、前記第１の帳票データに前記差分データを合成し、
前記帳票データ提供ステップでは、前記合成ステップにより合成して得られた帳票データを提供する、
ことを特徴とする請求項２記載のプログラム。
【請求項４】
前記合成ステップでは、前記ユーザ識別情報取得ステップで取得された前記ユーザ識別情報のユーザが前記アクセス許可条件を満たすか否かを、前記ユーザ識別情報に対応付けられた前記アクセス許可条件ごとに判断し、アクセスが許可される全ての前記ユーザ識別情報のユーザの前記差分データを前記第１の帳票データに合成し、
前記帳票データ提供ステップでは、前記合成ステップにより合成して得られた帳票データを提供する、ことを特徴とする請求項３記載のプログラム。
【請求項５】
前記アクセス許可条件には、前記第１の帳票データがアクセス制御の対象か否かが登録されており、
前記第１の帳票データがアクセス制御の対象でない場合、前記差分抽出ステップでは、前記第１の帳票データに対する前記第２の帳票データの差分データを抽出することなく、
前記合成ステップでは、前記第１の帳票データに前記差分データを合成することなく、
前記帳票データ提供ステップでは、前記データ記憶部から読み出した前記第１の帳票データを提供する、ことを特徴とする請求項３記載のプログラム。
【請求項６】
前記アクセス許可条件には、前記第１の帳票データに対し付加された前記第２の帳票データのデータに対し、アクセスが許可される前記ユーザ識別情報が登録されており、
前記合成ステップは、前記ユーザ識別情報取得ステップにより取得された前記ユーザ識別情報が、付加された前記第２の帳票データのデータに対しアクセスが許可される前記ユーザ識別情報と同じ場合、付加された前記第２の帳票データのデータを前記第１の帳票データに合成し、
前記帳票データ提供ステップでは、前記合成ステップにより合成して得られた帳票データを提供する、ことを特徴とする請求項３〜５いずれか１項記載のプログラム。
【請求項７】
情報処理装置に、さらに、
前記差分抽出ステップの前に、前記第１の帳票データを取得する第１の帳票データ取得ステップを実行させ、
前記差分抽出ステップでは、前記第1の帳票データ取得ステップで取得された前記第１の帳票データに対する前記第２の帳票データの差分データを抽出する、
ことを特徴とする請求項１〜６いずれか１項記載のプログラム。
【請求項８】
前記第１の帳票データ取得ステップでは、前記第１の帳票データの構造を解析し、構造の解析結果と共に前記第１の帳票データを前記データ記憶部に保存しておき、
前記第２の帳票データ取得ステップで、複数の前記第２の帳票データが取得された場合、
前記差分抽出ステップでは、前記データ記憶部に保存されている前記第１の帳票データの構造の解析結果を用いて、複数の前記第２の帳票データとの差分をそれぞれ抽出する、
ことを特徴とする請求項７記載のプログラム。
【請求項９】
ユーザ識別情報を取得するユーザ識別情報取得手段と、
予め保持する第１の帳票データに対し、データが付加された第２の帳票データを取得する帳票データ取得手段と、
前記第１の帳票データと前記第２の帳票データとの差分データを抽出し、前記第１の帳票データに対応づけて、前記差分データ及びユーザ識別情報をデータ記憶部に記憶させる差分データ抽出手段と、
を有することを特徴とする情報処理装置。
【請求項１０】
請求項１〜８いずれか１項に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票データへのアクセス制御が可能な情報処理装置等に関する。
【背景技術】
【０００２】
紙ベースの帳票を情報処理装置で取り扱いが可能な電子帳票として運用することが行われている。電子帳票には一般に表形式に各種の情報が格納されており、複数の個人や複数のグループの情報が表に格納される。このような電子帳票においては、各個人又は各グループに対し、自分のデータにのみアクセスが許可されるアクセス制御が要請される場合がある。
【０００３】
しかしながら、一般的な電子帳票においてデータの閲覧者を制限するアクセス制御の設定は、電子帳票のファイルを単位に行われるため、例えば電子帳票の表のセル単位や電子帳票の一部についてアクセス制御することは困難である。このため、電子帳票において、特定の個人又はグループに対してのみデータの閲覧を許可するという運用が行われる場合、その電子帳票のサイズに関わらす、個人又はグループ毎に１つの独立した電子帳票のファイルが作成されている。
【０００４】
したがって、電子帳票の一部のデータにアクセス制御が必要な場合、電子帳票を利用する個人やグループの数に比例して電子帳票のファイルの数が増えてしまい、運用や管理の負担が大きくなってしまっていた。
【０００５】
このような不都合に対し、個人又はグループ毎に１つの独立した電子帳票のファイルを作成することなく個人やグループ別のアクセス制御を行う技術が考案されている（例えば、特許文献１参照。）。特許文献１には、帳票ファイルにおいてアクセス制御が行われる領域を記録しており、帳票ファイルを構成するデータから領域内に該当するデータを抽出して記録する情報処理装置が開示されている。帳票ファイルを構成するデータのうち抽出されたデータ以外のデータは分離保存されるので、クライアントＰＣからのアクセス指示に応じて、分離保存した双方のデータを合成することでクライアントＰＣ毎にアクセス制御することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載された情報処理装置では、データにアクセス制御するための作業が煩雑であるという問題がある。例えば、管理者がマウスなどを操作して帳票内の各データに矩形範囲を設定し、各個人の帳票データの矩形範囲からデータを抽出するなどの作業が必要である。
【０００７】
本発明は、上記課題に鑑み、より少ないユーザによる作業で、帳票データのデータへのアクセス制御が可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題に鑑み、本発明は、情報処理装置に、ユーザ識別情報を取得するユーザ識別情報取得ステップと、予め保持する第１の帳票データに対し、データが付加された第２の帳票データを取得する第２の帳票データ取得ステップと、前記第１の帳票データと前記第２の帳票データとの差分データを抽出する差分抽出するステップと、前記第１の帳票データに対応づけて、前記差分抽出手段が抽出した前記差分データ及びユーザ識別情報をデータ記憶部に記憶させるデータ記憶ステップと、を実行させるプログラムを提供する。
【発明の効果】
【０００９】
より少ないユーザによる作業で、帳票データのデータへのアクセス制御が可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】帳票データ内のデータに対するアクセス制御を説明する図の一例である。
【図２】電子帳票システムの概略構成図の一例である。
【図３】帳票処理装置のハードウェア構成図の一例である。
【図４】管理者端末、ユーザ端末、及び、帳票処理装置の機能ブロック図の一例を示す図である。
【図５】ベースページデータの一例を示す図である。
【図６】Ａさんが作成した本番ページデータの一例を示す図である。
【図７】Ｂさんの本番ページデータの一例を示す図である。
【図８】Ｃ，Ｄさんの本番ページデータの一例を示す図である。
【図９】Ａさんの差分データの一例を示す図である。
【図１０】Ｂさんの差分データの一例を示す図である。
【図１１】Ｃさんの差分データの一例を示す図である。
【図１２】Ｄさんの差分データの一例を示す図である。
【図１３】セキュリティ制御テーブルの一例を示す図である。
【図１４】アクセス権限テーブルの一例を示す図である。
【図１５】管理者がベースページデータを帳票処理装置に登録する手順を示すフローチャート図の一例である。
【図１６】帳票処理装置が本番ページデータを受信して差分データをベースページデータと関連づけて記憶する手順を示すフローチャート図の一例である。
【図１７】ユーザＡ〜Ｄ又は管理者が本番ページデータを再構築する手順を示すフローチャート図の一例である。
【図１８】画像として抽出される差分データを模式的に説明する図の一例である。
【図１９】ベースページデータ、本番ページデータ、及び、差分データの一例を示す図である（実施例２）。
【図２０】アクセス許可画面の一例を示す図である。
【図２１】セキュリティ制御テーブルの一例を示す図である（実施例２）。
【図２２】Ｂさんのユーザ端末に表示された帳票データの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【実施例１】
【００１２】
図１は、帳票データ内のデータに対するアクセス制御を説明する図の一例である。まず、ベースページデータと本番ページデータについて説明する。
・ベースページデータとは、アクセス制御を必要としないデータのみで構成された帳票データである。本番ページデータのベース（基礎）となる帳票データである。
・本番ページデータとは、各個人又は各グループがベースページデータに個人又はグループのデータを設定することで作成した帳票データである。
【００１３】
Ｉ．例えば管理者は、ＰＣ（Personal Computer）上で動作するアプリケーションを操作してベースページデータを作成する。ベースページデータは帳票処理装置１００に登録される。ベースページデータは例えば、表形式の帳票データであり、各ユーザ名（Ａさん、Ｂさん）に「契約件数」、「受注額」及び「売上額」を入力するためのセルが対応づけられている。本実施例では、「契約件数」、「受注額」又は「売上額」の１つ以上が帳票データの一部のデータである。
【００１４】
II．例えば、Ａさんはアプリケーションを操作してベースページデータを取得し、ベースページデータに自分のデータを設定する。データの設定とは、ベースページデータに対し自分のデータを付加することである。これにより、Ａさんの本番ページデータが作成される。同様に、Ｂさんもアプリケーションを操作してベースページデータを取得し、ベースページデータに自分のデータを設定する。これにより、Ｂさんの本番ページデータが作成される。本番ページデータは帳票処理装置１００に送信される。
【００１５】
III．帳票処理装置１００は、ベースページデータを解析してその内容を記録する。そして、本番ページデータの内容と比較することで、ベースページデータと本番ページデータとの差分を抽出する。これにより、Ａさんの差分データとＢさんの差分データのように、個人毎に差分データが得られる。
【００１６】
抽出された差分データはアクセス制御の対象となるデータのみを有すると考えられるため、抽出された差分データは、ユーザ名に関連づけられて保存される。本番ページデータは保存されない。
【００１７】
IV．後に、ユーザが帳票データを閲覧したり、印刷したりする場合、帳票処理装置１００はユーザ名を確認し、ベースページデータと差分データを合成してもとの帳票データ（本番ページデータ）を再構築する。再構築された帳票データは本番ページデータと同じものになる。
【００１８】
したがって、差分データを作成しておくことで、帳票データのファイル全体でなく帳票データの一部のデータへのアクセス制御が可能になる。また、帳票データのデータがアクセス制御の対象か否かを、管理者が事前に設定する必要はなく、ベースページデータと本番ページデータとの比較だけでアクセス制御する差分データを抽出できる。
【００１９】
なお、ベースページデータ又は本番ページデータの「ページ」とは、従来なら１つのファイルとして扱われた帳票データのうち、管理者又はユーザが作成した帳票データをいう。
【００２０】
〔構成例〕
図２は、電子帳票システムの概略構成図の一例である。電子帳票システム５００は、管理者端末９０、１台以上のユーザ端末２００、及び、帳票処理装置１００がネットワーク４００を介して接続された構成を有している。
【００２１】
ネットワーク４００はＬＡＮやインターネットなどのＷＡＮである。また、ネットワーク４００の一部に電話回線が含まれていてもよい。また、ネットワーク４００の一部又は全体が無線通信で接続されていてもよい。
【００２２】
管理者端末９０及びユーザ端末２００は、例えばＰＣ（Personal Computer）などを実態とし、帳票データを表示・編集・印刷などするアプリケーションが動作している。アプリケーションは、帳票データを作成できるものであればよく、汎用的なワープロアプリケーションの他、帳票データを専門に作成するソフトウェアでもよい。
【００２３】
管理者端末９０は、ベースページデータの作成、表示及び印刷などを行う端末であり、ユーザ端末２００は本番ページデータの作成、表示及び印刷などを行う端末である。また、図２では、説明のため、管理者端末９０及びユーザ端末２００とが別体となっているが、管理者端末９０とユーザ端末２００は同じ装置（管理者とユーザが同じ）であってもよい。
【００２４】
帳票処理装置１００もＰＣなどの情報処理装置を実態としており、実態はＰＣなどである。帳票処理装置１００は、ＰＣがプログラムを実行するなどして帳票データ又はその一部に対するアクセス制御を行う装置として機能する。帳票処理装置１００は、ユーザ端末２００に対しベースページデータや本番ページデータ（差分データとベースページデータが合成された）を提供するサーバとして機能する。
【００２５】
なお、管理者端末９０、ユーザ端末２００及び帳票処理装置１００は、ＰＣの他、タブレット、スマートフォン、ＰＤＡ（Personal Digital Assistant）などを実態としてもよく、プログラムが動作するＯＳ（Operating System）やプラットフォームは制限されない。
【００２６】
また、帳票処理装置１００は、ベースページデータを管理者端末９０から取得でき、本番ページデータをユーザ端末２００から取得できればよいので、帳票処理装置１００は管理者端末９０及びユーザ端末２００とネットワーク４００で接続されていなくてもよい。この場合、管理者又はユーザが可搬型の記憶媒体にベースページデータと本番ページデータとを記憶させ、帳票処理装置１００に読み取らせる。また、ユーザは差分データとベースページデータが合成された本番ページデータを可搬型の記憶媒体に記憶させてユーザ端末２００で表示したり印刷したりすることができる。
【００２７】
〔帳票処理装置のハードウェア構成〕
図３は、帳票処理装置１００のハードウェア構成図の一例を示す。帳票処理装置１００は、それぞれバスで相互に接続されているＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、記憶媒体装着部１０４、通信装置１０５、入力装置１０６、表示制御部１０７及び記憶装置１０８を有する。ＣＰＵ１０１は、ＯＳ、ソフトウェアを記憶装置１０８から読み出して、ＲＡＭ１０２を作業メモリにして実行する。
【００２８】
ＲＡＭ１０２はデータを一時保管する作業メモリ（主記憶メモリ）になり、ＲＯＭ１０３には初期設定されたデータ、ＯＳを起動するためのプログラム等が記憶されている。
【００２９】
記憶媒体装着部１０４はＵＳＢケーブル等のケーブルや、可搬型の記憶媒体１１１を装着するインタフェースである。
【００３０】
通信装置１０５は、ＬＡＮカードやイーサネット（登録商標）カードと呼ばれ、管理者端末９０やユーザ端末２００から各種のデータ（主にベースページデータ、本番ページデータ）を受信する。
【００３１】
入力装置１０６は、キーボード、マウスなど、ユーザの様々な操作指示を受け付けるユーザインターフェイスである。タッチパネルや音声入力装置を入力装置とすることもできる。
【００３２】
表示制御部１０７は、種々のソフトウェアが指示する画面情報に基づき所定の解像度や色数等でディスプレイ１２０に画面を表示してＵＩ（User  Interface）を形成する。ディスプレイ１２０は、例えば、液晶や有機ＥＬなどのＦＰＤ（Ｆｌａｔ Ｐａｎｅｌ Ｄｉｓｐｌａｙ）である。
【００３３】
記憶装置１０８は、ＨＤＤやフラッシュメモリなどの不揮発メモリであり、ＯＳ、種々のソフトウェア等を記憶している。また、本実施形態では帳票を作成するためのプログラム１１０が記憶されている。
【００３４】
記憶媒体１１１は、例えば、情報処理装により読み取り可能な、ＳＤカードやＵＳＢメモリなど不揮発性のメモリである。プログラム１１０は、記憶媒体１１１に記録された状態又は不図示のサーバからダウンロードされる態様で配布される。
【００３５】
ユーザ端末２００、及び、管理者端末９０のハードウェア構成も帳票処理装置１００と同様でよいが、同一のハードウェア構成を備えている必要はなく、それぞれが特有のハードウェア構成を有していてもよい。
【００３６】
〔管理者端末、ユーザ端末、帳票処理装置の機能について〕
図４は、管理者端末９０、ユーザ端末２００、及び、帳票処理装置１００の機能ブロック図の一例を示す図である。
【００３７】
＜管理者端末＞
管理者端末９０は、ベースページデータ作成部３１及びベースページデータ送信部３２を有している。これらは、ＣＰＵ１０１がアプリケーション（プログラム１１０の一態様）を実行し、図３を含む各種のハードウェアと協働して実現される。
【００３８】
ベースページデータ作成部３１は、管理者端末９０で動作するアプリケーションに対するユーザの操作を受け付けてベースページデータを作成する。ベースページデータ送信部３２は、例えばユーザ操作を契機にして又は自動的にベースページデータを帳票処理装置１００に送信する。
【００３９】
＜ユーザ端末＞
ユーザ端末２００は、本番ページデータ作成部３５、本番ページデータ送信部３６及び本番ページデータ受信部３７を有している。これらは、ＣＰＵ１０１がアプリケーション（プログラム１１０の一態様）を実行し、図３を含む各種のハードウェアと協働して実現される。
【００４０】
本番ページデータ作成部３５は、ユーザ端末２００で動作するアプリケーションに対するユーザの操作を受け付けて本番ページデータを作成する。このため、本番ページデータ作成部３５は、まず、帳票処理装置１００からベースページデータを取得する。ユーザがベースページデータに対し後に差分データとなるデータを設定するので、本番ページデータ作成部３５はベースページデータにユーザのデータが設定された本番ページデータを作成する。
【００４１】
本番ページデータ送信部３６は、本番ページデータ作成部３５が作成した本番ページデータを帳票処理装置１００に送信する。
【００４２】
本番ページデータ受信部３７は、ユーザの操作を受け付けて、帳票処理装置１００に帳票データ（本番ページデータ）を要求する。例えば、帳票データの名称などのベースページデータを識別するための識別情報を送信する。そして、帳票処理装置１００から本番ページデータを受信する。この本番ページデータは、ベースページデータと差分データが合成して再構築されたものである。
【００４３】
＜帳票処理装置＞
帳票処理装置１００は、ベースページデータ取得部１１、差分データ抽出部１５、本番ページデータ取得部１３、本番ページデータ合成部１６、本番ページデータ提供部１４、及び、認証部１２を有している。これらは、ＣＰＵ１０１がプログラム１１０を実行し、図３を含む各種のハードウェアと協働して実現される。また、帳票処理装置１００は、記憶装置１０８、ＲＡＭ１０２、又は、記憶媒体１１１などに構築された、ページデータ記憶部１７、セキュリティ制御テーブル記憶部１８、及び、アクセス権限テーブル記憶部１９を有している。
【００４４】
認証部１２は、管理者及びユーザの認証を行う。例えば、管理者名とパスワードなどを受信して、予め保持している管理者名とパスワードと一致する場合に、管理者の認証が成立したと判断する。ユーザについても同様であり、ユーザ名とパスワードなどを受信して、予め保持しているユーザ名とパスワードと一致する場合に、ユーザの認証が成立したと判断する。これにより、管理者又はユーザは帳票作成装置１００にログインし、帳票処理装置１００は管理者名及びユーザ名を認識する。
【００４５】
なお、帳票処理装置１００が認証部１２に管理者又はユーザを認証するのでなく、ネットワークを介して接続されている認証サーバ（不図示）に認証を依頼してもよい。この場合、認証サーバに管理者名（ユーザ名）とパスワードを送信し、認証サーバから認証結果を取得する。
【００４６】
また、管理者名やユーザ名はＩＤなどのユーザ識別情報として用いられるものであり、本実施形態では、管理者名やユーザ名はＩＤ、識別情報と同様に一意性が保証されている。
【００４７】
ベースページデータ取得部１１は、管理者端末９０からベースページデータを取得して、他のベースページデータと識別するためのＩＤを付与してページデータ記憶部１７に記憶する。ベースページデータ取得部１１は、例えば帳票データがＸＭＬ形式の場合、ベースページデータの構造を解析しツリー構造のテキストデータに変換する（パースする）。これにより、図５のようなベースページデータでは、「月報」「第１週」「Ａ」「契約件数」「受注額」「売上額」などのテキストデータが、ツリー構造になって取得される。このツリー構造の解析結果とテキストがページデータ記憶部１７に記憶される。
【００４８】
また、ＩＤは例えば、1つ以上の文字、記号、数字若しくはアルファベット、又は、これらの２つ以上を組み合わせたものである。以下、このＩＤをベースページＩＤという
なお、ベースページデータは予め帳票処理装置１００に登録されていてもよい。例えば、同じベースページデータを使い回す場合には、ベースページデータ取得部１１がベースページデータを取得する処理を省略できる。
【００４９】
本番ページデータ取得部１３は、ユーザ端末２００からのベースページデータの取得要求を取得すると、ページデータ記憶部１７に記憶されているベースページデータを読み出して、ユーザ端末２００に送信する。この後、ユーザ端末２００から本番ページデータを取得すると、同様に、本番ページデータの構造を解析しツリー構造のテキストデータに変換する。これにより、例えば図６のＡさんの本番ベースページデータでは、「月報」「第１週」「Ａ」「契約件数」「受注額」「売上額」「3」「100,000」「50,000」などのテキストデータがツリー構造になって取得される。このテキストデータは差分データ抽出部１５に出力される。
【００５０】
差分データ抽出部１５は、本番ページデータとベースページデータを比較して、差分データを抽出する。差分データ抽出部１５は、ベースページＩＤに対応づけてユーザ名と差分データをページデータ記憶部１７に記憶させる。
【００５１】
本番ページデータ提供部１４は、ユーザ端末２００から本番ページデータ（ユーザは本番ページデータを意識することなく帳票データを要求すればよい）の取得要求を取得すると、本番ページデータ合成部１６に例えばベースページＩＤとユーザ名を出力する。
【００５２】
本番ページデータ合成部１６は、ベースページＩＤとユーザ名に対応づけてページデータ記憶部１７に記憶されている差分データをページデータ記憶部１７から取得して、ベースページデータと合成することで、本番ページデータを再構築する。本番ページデータ提供部１４はこの本番ページデータをユーザ端末２００に送信する。
【００５３】
ページデータ記憶部１７は、ベースページデータ及び差分データを記憶している。すなわち、本番ページデータは記憶されない。ベースページデータは、ユーザ名及び差分データと関連づけて記憶されている。
【００５４】
セキュリティ制御テーブル記憶部１８は、後述するセキュリティ制御テーブルを記憶している。セキュリティ制御テーブルは、差分データに対するアクセス制御を行うための情報が設定されたテーブルである。また、本実施例では、セキュリティ制御テーブルにより、ベースページデータとユーザ名及び差分データが関連づけられている。
【００５５】
アクセス権限テーブル記憶部１９は、後述するアクセス権限テーブルを記憶している。アクセス権限テーブルは、ユーザ及び管理者のアクセス権限が登録されている。アクセス権限は帳票データにアクセスする権限の高さを示すものであり、アクセス権限が高いほど、多くのデータにアクセス可能となる。本実施例では、アクセス権限テーブルにより差分データへのアクセスが制御される。
【００５６】
ページデータ記憶部、セキュリティ制御テーブル記憶部、又は、アクセス権限テーブル記憶部は、帳票処理装置１００がアクセス可能な場所に存在すればよく、例えばネットワーク４００に接続されていてもよい。
【００５７】
〔ベースページデータ、本番ページデータの一例〕
図５は、ベースページデータの一例を示す図である。このベースページデータは例えば月報を例とする帳票データである。図５では月別に、各社員Ａ〜Ｄ（ユーザの一例である）の「契約件数」「受注額」「売上額」が週別に設定可能になっている。管理者はこのようなベースページデータを作成して帳票処理装置１００に登録しておく。ベースページデータには、原則的に各ユーザの「契約件数」「受注額」「売上額」は含まれないが、管理者がベースページデータに何を記述するかは任意である。ベースページデータの内容はすべての社員Ａ〜Ｄに開示される。
【００５８】
図６は、Ａさんが作成した本番ページデータの一例を示す図である。Ａさんはベースページデータに対し「第１週」の「契約件数」「受注額」「売上額」にそれぞれ「3」「100,000」「50,000」を設定した。アプリケーションの機能により、この設定内容は「合計」のフィールドに反映される。
【００５９】
図７は、Ｂさんの本番ページデータの一例を示す図である。Ｂさんはベースページデータに対し「第１週」の「契約件数」「受注額」「売上額」にそれぞれ「5」「900,000」「1,000,000」を設定した。この設定内容は「合計」のフィールドに反映される。
【００６０】
また、Ｃさんついては図８（ａ）の「契約件数」「受注額」「売上額」であり、Ｄさんについては図８（ｂ）の「契約件数」「受注額」「売上額」であったものとする。Ｃさん、Ｄさんについて他の社員のフィールドは省略した。
【００６１】
〔差分データ〕
図９はＡさんの、図１０はＢさんの、図１１はＣさんの、図１２はＤさんのそれぞれ差分データの一例を示す図である。差分データの抽出方法については後述する。差分データ抽出部１５は、ベースページデータとＡさんの本番ページデータを比較して、「第１週」と「合計」の「契約件数」「受注額」「売上額」のみを抽出してＡさんの差分データとする。
【００６２】
同様に、差分データ抽出部１５は、ベースページデータとＢさんの本番ページデータを比較して、「第１週」と「合計」の「契約件数」「受注額」「売上額」のみを抽出してＢさんの差分データとする。
【００６３】
同様に、差分データ抽出部１５は、ベースページデータとＣさんの本番ページデータを比較して、「第１週」と「合計」の「契約件数」「受注額」「売上額」のみを抽出してＣさんの差分データとする。
【００６４】
同様に、差分データ抽出部１５は、ベースページデータとＤさんの本番ページデータを比較して、「第１週」と「合計」の「契約件数」「受注額」「売上額」のみを抽出してＤさんの差分データとする。
【００６５】
〔セキュリティ制御テーブル〕
管理者は、ベースページデータを帳票処理装置１００に登録する際、セキュリティ制御テーブルに主にセキュリティの制御に関する情報を設定する。セキュリティ制御とは、差分データに対するアクセス制御である。
【００６６】
図１３はセキュリティ制御テーブルの一例を示す図である。セキュリティ制御テーブルには、例えば「ページデータＩＤ」「ページデータ名」「セキュリティ制御」「アクセス許可条件」「ベースページデータのＵＲＬ」「差分データユーザ」「差分データのＵＲＬ」の各フィールドが登録される。
「ページデータＩＤ」…例えば、ベースページデータ取得部１１がベースページデータを取得してページデータ記憶部１７に記憶する際に登録する。
「ページデータ名」…帳票データの名称である。例えば、管理者が付与し、ベースページデータ送信部３２がベースページデータと共にベースページデータ取得部１１に送信する。
「セキュリティ制御」…例えば、管理者が設定するものであり、ベースページデータにユーザが設定したデータに対し、アクセス制御を行うか否か（あり又はなし）が設定される。したがって、セキュリティ制御が「なし」の場合、差分データは作成されない。
「アクセス許可条件」…セキュリティ制御が「あり」の場合に、例えば、管理者が設定するものであり、差分データへのアクセス許可条件が設定される。例えば、「ユーザ名が一致  Or  アクセス権限＞４」の場合、本番ページデータを要求したユーザと、「差分データユーザ」が一致する場合に、アクセスが許可される。また、ユーザ名が一致しない場合でも、本番ページデータを要求したユーザのアクセス権限が４より大きい場合、アクセスが許可さる。アクセス権限については次述する。図１３では、各ユーザに共通のアクセス許可条件が設定されているが、ユーザ別に設定してもよい。なお、「アクセス許可条件」を記憶するセキュリティ制御テーブル記憶部１８は特許請求の範囲の「アクセス許可条件記憶部」の一例である。
「ベースページデータのＵＲＬ」…ベースページデータの保存場所のＵＲＬ（Uniform Resource Locator）が登録される。ベースページデータ取得部１１は、ベースページデータを記憶させると、例えばページデータＩＤをフォルダ名にしてＵＲＬを設定する。
「差分データユーザ」…差分データ抽出部１５が、本番ページデータを送信したユーザ（すなわち、差分データのユーザ）のユーザ名を設定する。
「差分データのＵＲＬ」…差分データの保存場所のＵＲＬが登録される。差分データ抽出部１５は、差分ページデータを記憶させると、例えばページデータのフォルダにさらにユーザ名をフォルダ名にしてＵＲＬを設定する。
【００６７】
〔アクセス権限〕
図１４はアクセス権限テーブルの一例を示す図である。アクセス権限テーブルには帳票データを要求するデータ要求者毎にアクセス権限が登録されている。アクセス権限は、一例として、１が最も低く５が最も高いものとする。
【００６８】
本番ページデータ合成部１６は、データ要求者のアクセス権限が、「アクセス許可条件」に設定されているアクセス権限以上の場合、差分データをベースページデータに合成して本番ページデータを再構築する。このようなアクセス制御により、ユーザ以外の例えば管理者が差分データにアクセスし、各ユーザの本番ページデータを取得することができる。また、全てのユーザの差分データを取得できるので、全ユーザの差分データが再構築された１つの帳票データを閲覧したり印刷したりすることができる。
【００６９】
また、各ユーザが帳票データを要求した場合、該ユーザのアクセス権限によって例えば自分の差分データのみにアクセスさせるアクセス制御が可能になる。
【００７０】
〔差分データの抽出、帳票データの合成〕
差分データの作成方法は、ベースページデータと本番ページデータの電子ファイルの形式によって異なる。本実施例では、ＸＭＬデータ、ＪＳＯＮ（JavaScript Object Notation）、セル構造のデータなどであるとする。
【００７１】
例えば、帳票データがＸＭＬ形式の場合、ベースページデータと本番ページデータはその構造が解析されツリー構造のテキストデータに変換されている。ベースページデータと本番ページデータを比較すると、例えばＡさんの場合、「第１週」の「契約件数」に「3」というテキスト、「受注額」に「100,000」というテキスト、「売上額」に「50,000」というテキスト、が存在することがわかる。「合計」のフィールドについても同様である。差分データ抽出部１５は、
・ツリー構造の「Ａ」「第１週」「契約件数」に対応づけられた「3」というテキスト
・ツリー構造の「Ａ」「第１週」「受注額」に対応づけられた「100,000」というテキスト
・ツリー構造の「Ａ」「第１週」「売上額」に対応づけられた「50,000」というテキスト
をページデータ記憶部１７に記憶させる。ＪＳＯＮ形式の場合も同様に抽出できる。
【００７２】
また、例えば、帳票データがセル形式の場合、本番ページデータとベースページデータとをセル毎に比較して、本番ページデータでのみデータが入っているセルを抽出する。そして、抽出したセル番号（i,j）に対応づけて差分データを保存する。
【００７３】
この差分データをアクセス制御の対象とすることで、管理者が事前に設定することなく、本番ページデータごとに異なるデータをアクセス制御することができる。したがって、アクセス制御が必要なデータに対し柔軟かつもれなくアクセス制御することが可能になる。
【００７４】
差分データは、ベースページデータと同じ電子ファイルのフォーマットで保存される。例えば、ベースページデータがxmlデータならxmlデータで、ベースページデータがJSONデータならJSONデータで、セル構造のデータならセル構造のデータで、保存される。これにより、ベースページデータとの合成が容易になる。
【００７５】
また、ベースページデータに差分データを合成する場合、本番ページデータ合成部１６は以下のように処理する。
(i) ベースページデータのうち差分データの「Ａ」「第１週」「契約件数」というツリー構造を探索する。
(ii)探索により適合した「Ａ」「第１週」「契約件数」というツリー構造に「3」というテキストを設定する。
(iii)「100,000」「50,000」についても同様にテキストを設定する。
【００７６】
また、帳票データがセル形式の場合、差分データのセル番号（i,j）をベースページデータから探索し、各差分データ「3」「100,000」「50,000」を、ベースページデータのセル番号（i,j）のセルに設定する。
【００７７】
〔動作手順〕
図１５は、管理者がベースページデータを帳票処理装置１００に登録する手順を示すフローチャート図の一例である。なお、すでに管理者は帳票処理装置１００により認証が成立しており、帳票処理装置１００は管理者名を取得している。
S10：ベースページデータ取得部１１は、管理者端末９０からセキュリティ制御の対象を含まないベースページデータを受信する。
S20：ベースページデータを解析して、その内容をページデータ記憶部１７に記憶させる。
【００７８】
図１６は、帳票処理装置が本番ページデータを受信して差分データをベースページデータと関連づけて記憶する手順を示すフローチャート図の一例である。すでにユーザは帳票処理装置１００により認証が成立しており、帳票処理装置１００はユーザ名を取得している。
S100：認証部１２は、ユーザ端末２００からユーザ名とパスワードを取得してユーザを認証する。これによりユーザ名を取得できる。この後、帳票処理装置１００はユーザ端末にベースページデータを送信する。
S110：本番ページデータ取得部１３は、ユーザ端末から本番ページデータを取得する。本番ページデータは、ベースページＩＤと共に送信されるか又は関連付けられており、本番ページデータの元となったベースページデータを特定できる。
S120：本番ページデータ取得部１３は、本番ページデータを解析して、ＲＡＭ１０２などに一時的保存しておく。
S130：差分データ抽出部１５はベースページデータと本番ベースページデータを比較して差分データを抽出する。
S140：差分データ抽出部１５は差分データをベースページデータと関連づけてページデータ記憶部１７に記憶させる。
S150：差分データ抽出部１５は、セキュリティ制御テーブルに差分データの情報として差分データユーザ、差分データのＵＲＬなどを登録する。
S160：次に、本番ページデータ取得部１３は、同じベースページデータに対し別の本番ページデータが存在するか否かを判定する。すなわち、ベースページＩＤが同じ本番ページデータが受信されているか否かを判断する。同じ帳票データに対して、異なる本番ページデータが存在する場合には、連続して受け取ることで、効率的な処理が可能になる。
S170：S160の判定がＹｅｓの場合、本番ページデータ取得部１３は本番ページデータを取得してステップS120からの処理を繰り返す。
S180：S160の判定がＮｏの場合、差分データ抽出部１５は、同じベースページデータに対する本番ページデータの差分データを同じセキュリティ制御テーブルに登録する。これにより、従来は１つの帳票データとして扱われていた帳票データ内の各データがまとめられ、アクセス権限がある例えば管理者は、各ユーザの差分データが合成された帳票データを閲覧できる。
S190：差分データ抽出部１５は、次の本番ページデータが存在するか否かを判断する。
S200：存在する場合は、差分データ抽出部１５は、次の本番ページデータのベースページデータがすでにページデータ記憶部１７に記憶済みか否かを判断する。すなわち、ベースページデータについてすでに構造解析されている場合は、それを再利用することで、ベースページデータをやり取りする処理負荷や時間の増大を回避することができる。また、同じベースページデータは１度しか保存されないのでファイルサイズの増大を回避できる。
S210：ステップS200の判断がＹｅｓの場合、差分データ抽出部１５は、次の本番ページデータのベースページデータをページデータ記憶部１７から読み出す。そして、処理はステップS120から繰り返される。
S220：ステップS200の判断がＮｏの場合、処理は図１５のS10に進み、次のベースページデータが取得される。
S230：ステップS190で次の本番ページデータが存在しない場合、差分データ抽出部１５は帳票データのファイルを完成させる。
【００７９】
図１７は、ユーザＡ〜Ｄ又は管理者が本番ページデータを再構築する手順を示すフローチャート図の一例である。すでに帳票処理装置１００には差分データが登録されているものとする。また、ユーザ又は管理者は帳票処理装置１００により認証が成立しており、帳票処理装置１００はユーザ名又は管理者名を取得している。
S310：本番ページデータ提供部１４は、ユーザ端末２００又は管理者端末９０から本番ページデータの取得要求を取得する。ユーザ又は管理者としては帳票データの名称やベースページＩＤなどを指定して帳票データを要求すればよい。
S320：本番ページデータ合成部１６は、ページデータ記憶部１７から要求されたベースページデータを取得する。
S330：本番ページデータ合成部１６は、要求されたベースページデータがセキュリティ制御の対象となっているか否かを、セキュリティ制御テーブルの「セキュリティ制御」を参照して判断する。
S340：セキュリティ制御の対象でない場合、差分データも存在しないので、本番ページデータ提供部１４はベースページデータのみをユーザ端末２００又は管理者端末９０に送信する。
S350：セキュリティ制御の対象である場合、本番ページデータ合成部１６はアクセス許可条件を確認する。
S360：本番ページデータ合成部１６は、帳票データを要求したユーザ又は管理者のアクセス権限をアクセス権限テーブルから読み出し、差分データの中にユーザ又は管理者がアクセスできる権限を持っている差分データが存在するか否かを判断する。これにより、同じ帳票データへの要求で、ユーザごとに異なる内容の帳票データを提供することが可能になる。
S370：セキュリティ制御の対象となる差分データは存在するが、帳票データを要求したユーザ又は管理者にアクセス権限がない場合、本番ページデータ提供部１４はベースページデータのみをユーザ端末２００に送信する。
S380：帳票データを要求したユーザ又は管理者にアクセス権限がある差分データがある場合、本番ページデータ合成部１６は該差分データを読み出し、ベースページデータと合成することで再構築する。また、帳票データを要求したユーザ又は管理者にアクセス権限がある差分データが複数ある場合、本番ページデータ合成部１６は全ての差分データを読み出し、各差分データとベースページデータを合成することで再構築する。これにより、ユーザにより帳票データが要求された場合はユーザの差分データのみが合成され、管理者により帳票データが要求された場合は全てのユーザの差分データが合成される。
S390：本番ページデータ提供部１４は、再構築された本番ページデータをユーザ端末２００又は管理者端末９０に送信する。
【００８０】
以上の処理により、帳票処理装置１００は、ユーザにアクセス権限のある差分データのみを合成して提供することができる。
【００８１】
〔画像データによる差分データの抽出〕
ベースページデータと差分ページデータはＸＭＬなどのファイル形式で保存されると説明したが、ベースページデータと差分データを画像データとして保存してもよい。
【００８２】
図１８は、画像として抽出される差分データを模式的に説明する図の一例である。図１８（ａ）はベースページデータを、図１８（ｂ）は本番ページデータを、図１８（ｃ）は差分データをそれぞれ示す。
【００８３】
履歴書のような帳票データでは履歴書の本人の写真が貼付されることが多いため、画像データが含まれる場合がある。このような場合、差分データを画像データとして保存することで本番ページデータに含まれる情報を確実に保存できる。
【００８４】
なお、写真以外にも、予め印影や手書きによるサインの電子データ（画像データ）が用意されており、ユーザが本番ページデータとしての帳票データに貼り付ける場合がある。この場合も差分データがこのように画像データとして保存されることで、差分データを保存できる。
【００８５】
また、ＸＭＬ形式やセル形式による差分データの保存よりも、負荷の少ない処理で差分データを抽出できる。
【００８６】
なお、この場合、文字、数値、アルファベットなどが設定された記入欄は文字コードとして保存されても画像データとして保存されてもよい。
【００８７】
以上説明したように本実施例の帳票処理装置１００は、帳票データのデータがアクセス制御の対象か否かを、管理者が事前に設定することなく、ベースページデータを基準にして、本番ページデータと比較するだけでアクセス制御の対象のデータを抽出できる。また、アクセス権限を設定しておくことで、管理者やユーザごとに異なる帳票データを提供することができる。
【実施例２】
【００８８】
本実施例ではユーザが差分データへのアクセス権を設定することが可能な帳票処理装置１００について説明する。本明細書において、同一の符号を付した構成要素については、同様の機能を果たすので、すでに説明した構成要素の説明を省略あるいは相違点についてのみ説明する場合がある。
【００８９】
図１９（ａ）は、本実施例のベースページデータの一例を、図１９（ｂ）は本番ページデータの一例を、図１９（ｂ）は差分データの一例を、それぞれ示す。本実施例のベースページデータは、ユーザが公開を許可するための公開欄４０１が設けられている。ユーザは公開してよいデータに対し、公開欄４０１に例えばチェックマーク、○、ＯＫ、許可などを設定する。以下、このように公開が許可されたデータをアクセス許可データという。
【００９０】
図１９（ｂ）（ｃ）に示すように、差分データとしては実施例１と同様に、ベースページデータと本番ページデータとの差分が抽出されるが、アクセス許可データであることはセキュリティ制御テーブルに登録される。差分データとベースページデータが合成される際、本番ページデータ合成部１６は、「セキュリティ制御」が「あり」で「アクセス許可条件」よりもアクセス権限の方が小さくても、アクセス許可データをベースページデータに合成する。これにより、ユーザＡが公開欄に許可したデータをユーザＢなどが閲覧可能になる。
【００９１】
また、各ユーザが任意のユーザに本番ページデータを公開したい場合がある。そこで、本実施例では、各ユーザが各データ毎にアクセスを許可するユーザを登録することができる。
【００９２】
図２０は、アクセス許可画面の一例を示す図である。このような画面は例えば、ユーザが本番ページデータのデータにマウスカーソルを合わせ右クリックして表示されるメニューを操作することで表示される。図２０のユーザはユーザＡである。アクセス許可画面には「アクセスを許可するユーザを登録してください」というメッセージに対し、データ特定欄６０１、ユーザ名設定欄６０２、及び、ユーザリスト６０３が表示される。
【００９３】
データ特定欄６０１にはアクセスを許可する帳票データのデータを特定するための情報が表示される。「月報／４月／第1週／契約件数」では、月報の４月の第１週の「契約件数」についてアクセスが許可されることが示されている。すなわち、ユーザはマウスカーソルを第1週の「契約件数」合わせ右クリックした。なお、ユーザは「月報／４月／第1週／契約件数」を編集して「月報／４月／第1週」のように変更することができる。この場合、第１週のすべてのデータに対しアクセスが許可される。このようなデータもアクセス許可データである。
【００９４】
また、ユーザリスト６０３には、アクセス許可の対象となるユーザのリストが表示される。ユーザは、ユーザリスト６０３のユーザ名をユーザ名設定欄６０２にドラッグするなどの方法でユーザ名を設定できる。ユーザが選択したユーザ名はユーザ名設定欄６０２に表示される。
【００９５】
図１９の公開欄４０１、図２０のアクセス許可画面の設定は、セキュリティ制御テーブルに反映される。図２１は、本実施例のセキュリティ制御テーブルの一例を示す図である。図２１のセキュリティ制御テーブルでは、「差分データユーザ」に対し「アクセス許可データ」が登録されている。図２１は図２０のアクセス許可画面を例にしており、Ｂさんと管理者は、Ａさんの「月報／４月／第1週／契約件数」を閲覧することができる。
【００９６】
なお、図１９の公開欄４０１でアクセスが許可された場合、対象のユーザが「全て」となる以外は図２１と同じである。
【００９７】
帳票データの再構築の手順は、図１７と同様でよい。例えば、Ｂさんが帳票処理装置１００に対し帳票データ（本番ページデータ）を要求した場合、本番ページデータ合成部１６は以下のようにして帳票データを再構築する。
(i)「アクセス許可条件」に基づきユーザ名が一致するＢさんの差分データをベースページデータに合成する。
(ii)また、「アクセス許可データ」を参照すると、ＢさんはＡさんの差分データの「月報／４月／第1週／契約件数」へのアクセスが許可されているので、このデータを読み出して、ベースページデータに合成する。これにより、Ｂさんは自分のデータだけでなく、Ａさんが許可したデータにアクセスできる。
【００９８】
図２２はＢさんのユーザ端末２００に表示された帳票データの一例を示す図である。ＢさんだけでなくＡさんの「月報／４月／第1週／契約件数」のデータが表示されることがわかる。
【００９９】
なお、管理者の場合、「アクセス許可条件」により全てのユーザの差分データにアクセス可能なので、帳票データの再構築の手順は実施例１から変更がない。
【０１００】
以上説明したように、本実施例の帳票処理装置１００は、ユーザが自分のデータを公開したり、他のユーザを個別に指定してデータを公開することができる。
【０１０１】
〔好適な変形例〕
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１０２】
例えば、図７では帳票処理装置１００が全ての機能を有しているが、例えば、差分データ抽出部１５や本番ページデータ合成部１６はネットワーク４００を介して通信可能な別々の装置に配置されていてもよい。
【０１０３】
また、本実施形態では、帳票データとして表形式や履歴書のように記入欄が明示されたものを例示したが、例えばセクション又は領域毎に差分データを抽出してもよい。また、帳票データは記入欄が明示されていない例えば自由筆記形式でもよい。この場合は、１文字１文字が不図示の記入欄に配置されているものとして扱い、行番号と列番号で差分データを特定できる。
【０１０４】
また、本実施形態では個人のユーザを例にして説明したが、グループがユーザであってもよい。この場合、セキュリティ制御テーブルにはグループ毎に差分データが登録されており、アクセス許可条件もグループ名により制限されている。ユーザがログインすると所属するグループが特定され、該グループがアクセス許可条件で許可されている差分データを閲覧できる。
【符号の説明】
【０１０５】
１１      ベースページデータ取得部
１２      認証部
１３      本番ページデータ取得部
１４      本番ページデータ提供部
１５      差分データ抽出部
１６      本番ページデータ合成部
１７      ページデータ記憶部
１８      セキュリティ制御テーブル記憶部
１９      アクセス権限テーブル記憶部
９０      管理者端末
１００    帳票処理装置
２００    ユーザ端末
５００    電子帳票システム
【先行技術文献】
【特許文献】
【０１０６】
【特許文献１】特許第424844号公報
【図１】
2015172911.tif 000003
【図２】
2015172911.tif 000004
【図３】
2015172911.tif 000005
【図４】
2015172911.tif 000006
【図５】
2015172911.tif 000007
【図６】
2015172911.tif 000008
【図７】
2015172911.tif 000009
【図８】
2015172911.tif 000010
【図９】
2015172911.tif 000011
【図１０】
2015172911.tif 000012
【図１１】
2015172911.tif 000013
【図１２】
2015172911.tif 000014
【図１３】
2015172911.tif 000015
【図１４】
2015172911.tif 000016
【図１５】
2015172911.tif 000017
【図１６】
2015172911.tif 000018
【図１７】
2015172911.tif 000019
【図１８】
2015172911.tif 000020
【図１９】
2015172911.tif 000021
【図２０】
2015172911.tif 000022
【図２１】
2015172911.tif 000023
【図２２】
2015172911.tif 000024