Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5283600B2 - 情報検索プログラム、情報検索システム - Google Patents
[go: Go Back, main page]

JP5283600B2 - 情報検索プログラム、情報検索システム - Google Patents

情報検索プログラム、情報検索システム Download PDF

Info

Publication number
JP5283600B2
JP5283600B2 JP2009220966A JP2009220966A JP5283600B2 JP 5283600 B2 JP5283600 B2 JP 5283600B2 JP 2009220966 A JP2009220966 A JP 2009220966A JP 2009220966 A JP2009220966 A JP 2009220966A JP 5283600 B2 JP5283600 B2 JP 5283600B2
Authority
JP
Japan
Prior art keywords
search
information
search condition
user
data
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.)
Expired - Fee Related
Application number
JP2009220966A
Other languages
English (en)
Other versions
JP2011070406A (ja
Inventor
允 高木
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 Solutions Ltd
Original Assignee
Hitachi Solutions 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 Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2009220966A priority Critical patent/JP5283600B2/ja
Publication of JP2011070406A publication Critical patent/JP2011070406A/ja
Application granted granted Critical
Publication of JP5283600B2 publication Critical patent/JP5283600B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データを検索する技術に関するものである。
一般に、データベースなどの膨大な情報を格納している情報リソースから所望の情報を検索するためには、SQL文などを用いて検索条件を作成し、その検索条件を用いて情報リソースへ問い合わせる必要がある。したがって、情報リソースから所望の情報を検索するには、検索条件を作成するための専門知識が必要となる。
これに対し、上記のような専門知識を必要とすることなく、画面上で簡易な入力を行なうのみで情報リソースから所望の情報を検索することのできる情報検索システムも存在する。このようなシステムでは、専門知識をもった技術者等があらかじめ検索条件を作成してシステムに登録しておき、その検索条件を一般ユーザに公開する。一般ユーザは公開されている検索条件を選択するのみで、複雑な検索条件を実行することができる。
上記のようにあらかじめ作成されている検索条件を指定して情報リソースを検索した場合、検索条件とユーザが求めている情報とがうまく合致していないなどの原因により、所望の検索結果が得られないことがある。下記特許文献1では、上記のような課題に対処するため、ユーザが指定した検索条件と類似している他の検索条件を、検索結果とともにユーザへ提示する技術が記載されている。
特開2005−78334号公報
近年のセキュリティ意識の向上により、情報リソースには個別のアクセス権限が設定される傾向が強くなっている。例えば企業では、役職毎や所属部署毎に情報リソースへのアクセス権限を個別に設定している場合がある。
上記のようなアクセス権限が詳細に設定されている環境において、従来の情報検索システムや上記特許文献1に記載のような技術を適用すると、アクセス権限に起因して使用感が低下する可能性がある。例えば、ユーザに対して提示される検索条件のなかに、そのユーザがアクセス権限を持たない情報リソースに対して検索を行なうものが含まれている可能性がある。ユーザがその検索条件を指定して検索を行なうと、アクセス権限に起因するエラーが発生する。したがって、ユーザは改めて検索条件を指定するか、自分がアクセス権限を有する情報リソースを検索対象とする検索条件を改めて作成する必要があり、そのための手間を強いられてしまう。
本発明は、上記のような課題を解決するためになされたものであり、ユーザがアクセス権限を有さない情報リソースを検索対象とする検索条件を実行してしまう可能性を低減することのできる情報検索技術を提供することを目的とする。
本発明に係る情報検索プログラムは、検索条件を一覧出力する際に、ユーザがアクセス権限を持たないデータを検索対象とする検索条件を一覧から除外する。
本発明に係る情報検索プログラムによれば、アクセス権限に起因するエラーが発生する可能性のある検索条件をはじめからユーザに提示しないようにすることができる。これにより、ユーザが検索条件を何度も指定し直す可能性を低減することができる。
実施の形態1に係る情報検索システム1000の構成図である。 ユーザ情報122の構成とデータ例を示す図である。 検索条件データ123の構成とデータ例を示す図である。 アクセス権限データ124の構成とデータ例を示す図である。 ユーザが検索条件を情報検索サーバ100の検索情報データ123に登録するために用いる検索条件登録画面210の構成例を示す図である。 検索条件データ123が保持している検索条件から所望のものを検索する過程を示す図である。 情報検索プログラム121がデータベースに対するアクセス権限をチェックする処理フローを示す図である。 情報検索プログラム121が図7の処理フローに続いて実行する処理フローである。 情報検索プログラム121が図8の処理フローに続いて実行する処理フローである。 情報検索プログラム121が新規の検索条件を検索条件データ123に登録する処理フローを示す図である。 情報検索プログラム121が図10の処理フローに続いて実行する処理フローである。 情報検索プログラム121が図11の処理フローに続いて実行する処理フローである。 検索条件登録画面210の画面上でアクセス権限をチェックする際の画面遷移を示す図である。 検索条件登録画面210上でユーザが入力したデータベースに対するアクセス権限を有する権限グループを照会したときの処理フローである。 検索条件登録画面210上でユーザが入力したテーブルに対するアクセス権限を有する権限グループを照会したときの処理フローである。 検索条件登録画面210上でユーザが入力した列に対するアクセス権限を有する権限グループを照会したときの処理フローである。
<実施の形態1>
図1は、本発明の実施の形態1に係る情報検索システム1000の構成図である。情報検索システム1000は、情報検索サーバ100、クライアント端末200、情報リソース300を有する。これらはネットワーク400を介して接続されている。
情報検索サーバ100は、情報リソース300が格納しているデータを検索する機能を提供するサーバ装置であり、CPU(Central Processing Unit)110、記憶装置120を備える。また、ネットワーク400を介して通信するためのインタフェース(図示せず)を備える。
CPU110は、後述の情報検索プログラム121を実行し、情報リソース300が格納しているデータを検索してクライアント端末200に送信する。以下、記載の便宜上、必要に応じて情報検索プログラム121を動作主体として記載する場合があるが、実際に情報検索プログラム121を実行する動作主体はCPU110であることを付言しておく。
記憶装置120は、HDD(Hard Disk Drive)などの不揮発性の記憶装置で構成されており、情報検索プログラム121、ユーザ情報122、検索条件データ123、アクセス権限データ124を格納している。
情報検索プログラム121は、後述の図7〜図9で説明する動作フローを実行してクライアント端末200のユーザに検索条件を提示する。情報検索プログラム121は、単一のプログラムとして構成されていてもよいし、複数のプログラムモジュールから構成されていてもよい。また、図1では単一の情報検索サーバ100内に単一の情報検索プログラム121が格納されている例を示したが、複数の情報検索サーバ100内に、情報検索プログラム121を構成するプログラムモジュールが分散して格納されていてもよい。
ユーザ情報122は、クライアント端末200を使用して情報リソース300に格納されているデータを検索するユーザを認証するための情報である。詳細は後述の図2で改めて説明する。
検索条件データ123は、情報リソース300が格納しているデータを検索する際の検索条件を、専門知識を有する技術者等があらかじめ作成して情報検索サーバ100に登録したものである。検索条件データ123は、1以上の検索条件を保持する。詳細は後述の図3で改めて説明する。
アクセス権限データ124は、情報リソース300が格納しているデータに対するユーザのアクセス権限を記述したデータである。必ずしもユーザ毎にアクセス権限を記述する必要はなく、ユーザのグループ毎にアクセス権限を記述してもよい。詳細は後述の図4で改めて説明する。
クライアント端末200は、ユーザがクライアント端末200を使用して情報リソース300に格納されているデータを検索するために使用する操作端末である。クライアント端末200はWebブラウザを搭載しており、ユーザは後述の図6で説明する検索条件一覧出力画面230上で検索条件を指定して実行する。
また、クライアント端末200は、検索条件データ123を登録するための操作端末として用いることもできる。ユーザは後述の図5で説明する検索条件登録画面210をWebブラウザ上で操作して、新規の検索条件を検索条件データ123に登録する。
ユーザは、クライアント端末200を用いて情報検索サーバ100が提供する機能を利用する際には、情報提供サーバ100にログインしなければならない。情報検索プログラム121は、ユーザ情報122を用いて、そのためのユーザ認証処理を実行する。
情報リソース300は、HDDなどの記憶装置で構成され、データベースや種々のデータファイルなどの情報リソースを格納している。以下ではデータベースを情報リソースの例として取り扱う。情報リソース300の数は任意でよい。
図2は、ユーザ情報122の構成とデータ例を示す図である。ここでは説明の便宜のためテーブル形式のデータとして記載したが、データ形式はこれに限られるものではない。ユーザ情報122は、ユーザID列1221、ユーザ名列1222、パスワード列1223、権限グループ列1224を有する。
ユーザID列1221は、クライアント端末200を使用するユーザを一意に識別するためのIDを保持する。
ユーザ名列1222は、ユーザID列1221で識別されるユーザの氏名を保持する。
パスワード列1223は、ユーザID列1221で識別されるユーザを認証するためのパスワードを保持する。本列の値は、暗号化して保持するようにしてもよい。
権限グループ列1224は、ユーザID列1221で識別されるユーザが属する権限グループの識別子を保持する。ここでいう権限グループとは、情報リソース300に対するユーザのアクセス権限を、ユーザ毎ではなく複数のユーザをまとめたグループ毎に区分するためのものである。
図3は、検索条件データ123の構成とデータ例を示す図である。ここでは説明の便宜のためテーブル形式のデータとして記載したが、データ形式はこれに限られるものではない。検索条件データ123は、検索条件名列1231、ユーザID列1232、検索条件列1233、公開先権限グループ列1234、登録日時列1235を有する。これらの列のほか、検索条件の内容を説明する説明列などを設けてもよい。
検索条件名列1231は、個々の検索条件を識別するための名称である。本列の値は個々の検索条件の識別子としても用いられるため、他の検索条件と同じ名称を付与することはできないものとする。
ユーザID列1232は、検索条件名列1231の値で識別される検索条件を登録したユーザのユーザID1221を保持する。
検索条件列1233は、検索条件名列1231の値で識別される検索条件の内容を保持する。具体的には、情報リソース300が格納しているデータベース内のデータを検索するためのSQL文などを、バイナリ形式で保持する。
公開先権限グループ列1234は、検索条件名列1231の値で識別される検索条件を公開する権限グループの識別子を保持する。検索条件を公開するか否かについては、後述の図5で改めて説明する。
登録日時列1235は、検索条件名列1231の値で識別される検索条件が登録された日時を保持する。
図4は、アクセス権限データ124の構成とデータ例を示す図である。ここでは説明の便宜のためマークアップ言語形式のデータとして記載したが、データ形式はこれに限られるものではない。図4では、情報リソース300が格納している「商品マスタ」データベースについてのアクセス権限を定義するデータ例を示した。
図4に示した例では、「商品マスタ」データベースは「商品テーブル」を有し、「商品テーブル」は「商品名」列と「単価」列を有する。図4に示すデータ例では、この階層関係を、マークアップ言語のタグの階層構造で表現している。
図4に示す「参照権限」「更新権限」は、各項目について参照権限を有する権限グループと更新権限を有する権限グループを記述している。例えば「商品マスタ」全体に対する更新権限は、権限グループXのみ有し、参照権限は権限グループX、Y、Z、Wが有することが記述されている。同様に、「商品テーブル」の「単価」列に対しては、権限グループXのみ更新権限を有し、参照権限は権限グループX、Zが有する。
例えば、図2におけるユーザ「jiro-soft」は権限グループYに属するため、「商品マスタ」データベースの「商品テーブル」の「商品名」列を参照することはできるが、「単価」列を参照することはできない。
以上、情報検索システム1000の構成について説明した。以下では、情報検索サーバ100がクライアント端末200上に対して提供する各画面について説明する。
図5は、ユーザが検索条件を情報検索サーバ100の検索情報データ123に登録するために用いる検索条件登録画面210の構成例を示す図である。検索条件登録画面210は、検索条件名入力欄211、説明入力欄212、情報リソース入力欄213、テーブル入力欄214、列入力欄215、検索条件入力欄216、公開先グループ選択欄217、登録ボタン218を有する。
検索条件名入力欄211は、登録する検索条件の名称を入力する欄である。
説明入力欄212は、登録する検索条件の内容説明を入力する欄である。
情報リソース入力欄213は、登録する検索条件が検索対象とする情報リソース名、例えば情報リソース300が格納しているデータベース名などを入力する欄である。
テーブル入力欄214、列入力欄215は、登録する検索条件が検索対象とするテーブル名、列名をそれぞれ入力する欄である。
検索条件入力欄216は、検索条件の内容(例えばSQL文)を入力する欄である。検索条件入力欄216の内容のみで検索条件の検索対象を記述できるときは、情報リソース入力欄213、テーブル入力欄214、列入力欄215には何も入力しなくともよい。
公開先グループ選択欄217は、検索条件登録画面210上で作成する検索条件をどの権限グループに対して公開するかを選択する欄である。検索条件登録画面210で作成した検索条件は、ここで選択された権限グループに対して公開されることになる。ただし、公開先の権限グループが情報リソースに対してアクセス権限を有するか否かは、チェックされない。公開先権限グループを選択できるようにしているのは、ユーザが作成した検索条件を他のユーザに使わせたくない場合もあることを想定したものである。
登録ボタン218は、検索条件登録画面210で作成した検索条件を確定して情報検索サーバ100に送信するためのボタンである。
図6は、検索条件データ123が保持している検索条件から所望のものを検索する過程を示す図である。以下、図6の画面遷移について説明する。
検索条件データ検索画面220は、検索条件データ123が保持している検索条件を検索するためのキーワード等を入力する画面である。ここではキーワードとして、「商品マスタ」データベースを指定した。なお、検索条件データ検索画面220を使用するためにはあらかじめ情報検索サーバ100にログインしておかなければならないものとする。ここでは図2に示すユーザ「jiro-soft」がログインしている例を示した。
検索条件一覧出力画面230は、検索条件データ検索画面220で入力したキーワード等を基に検索条件データ123が保持している検索条件を検索した結果を一覧出力する画面である。情報検索サーバ100のCPU110は、情報検索プログラム121を実行してキーワードに合致する検索条件を検索する。情報検索プログラム121は、以下の制約条件の下で検索を実行する。
(制約条件1:公開先権限グループ)
ユーザ「jiro-soft」は権限グループ「Y」に属するため、情報検索プログラム121は同グループに対して公開されている検索条件のみを検索対象とする。図3の公開先権限グループ列1234の値によれば、「在庫数の確認」「売上確認(日次)」「店舗別売上確認(日次)」のみが検索対象となる。
(制約条件2:情報リソースに対するアクセス権限)
情報検索プログラム121は、権限グループ「Y」がアクセス権限を有する情報リソースのみを検索対象とする。図4によれば、同グループは「商品マスタ」データベース内の「商品テーブル」の「商品名」列に対してのみアクセス権限を有するので、同列以外にアクセスする検索条件は、検索対象外となる。
情報検索プログラム121は、以上の制約条件の下で検索条件データ123が保持する検索条件を検索し、検索条件一覧出力画面230としてクライアント端末200に送信する。ユーザは、検索条件一覧出力画面230に表示されている検索条件からいずれかを選択してその検索条件を実行するよう情報検索サーバ100に指示する。情報検索プログラム121は、指定された検索条件を実行し、クライアント端末100にその実行結果を送信する。
以上の動作により、クライアント端末200のユーザは、アクセス権限を有する情報リソースに対して検索を実行する検索条件のみを実行することになるので、検索条件を実行した後になって初めてアクセス権限エラーとなる不都合を回避することができる。
以上、情報検索サーバ100がクライアント端末200に対して提供する各画面について説明した。以下では、情報検索プログラム121が検索条件一覧出力画面230をクライアント端末に送信する際の詳細動作を説明する。本実施の形態1では、アクセス権限データ124は「データベース」「テーブル」「列」の順に階層構造になっているので、情報検索プログラム121はこの順でユーザのアクセス権限をチェックする。
図7は、情報検索プログラム121がデータベースに対するアクセス権限をチェックする処理フローを示す図である。以下、図7の各ステップについて説明する。
(図7:ステップS700)
クライアント端末200のユーザは、キーワード等を指定し、検索条件データ123が保持する検索条件の一覧を出力するよう、情報検索サーバ100に対して指示する。CPU110がその指示を受け取ると、本動作フローが開始される。なお本動作フローが開始される時点で、情報検索プログラム121は情報検索サーバ100にログインしているユーザIDを取得しているものとする。
(図7:ステップS701)
情報検索プログラム121は、検索条件データ123が保持している検索条件のうち、検索条件の一覧を出力するよう要求したユーザが属する権限グループに対して公開されているものを全て取得し、検索条件一覧出力画面230に表示する候補として、表示候補リストに入れる。以下の処理で、ユーザがアクセス権限を持たない情報リソースにアクセスする検索条件を除外していく。
(図7:ステップS702)
情報検索プログラム121は、以下のステップS703〜S705を、表示候補リスト内の全ての検索条件に対して繰り返す。
(図7:ステップS703)
情報検索プログラム121は、表示候補リストから検索条件を1件取得する。
(図7:ステップS704)
情報検索プログラム121は、ステップS703で取得した検索条件の内容、すなわち検索条件列1233の内容を取得し、その検索条件がいずれのデータベースに対してアクセスするかを判断する。情報検索プログラム121は、アクセス権限データ124に基づき、ユーザがそのデータベースに対してアクセス権限を有するか否かをチェックする。アクセス権限を有さない場合はステップS705へ進み、アクセス権限を有する場合はステップS702の繰り返しループを次に進める。
(図7:ステップS705)
情報検索プログラム121は、ステップS704でアクセス権限をチェックした検索条件を、表示候補リストから削除する。これにより、ユーザがアクセス権限を有さないデータベースにアクセスする検索条件は、検索条件一覧出力画面230に表示されないことになる。
図8は、情報検索プログラム121がテーブルに対するアクセス権限をチェックする処理フローを示す図であり、図7の処理フローに続いて実行する処理フローである。以下、図8の各ステップについて説明する。
(図8:ステップS800)
情報検索プログラム121は、図7の処理フローが終了すると、本処理フローを開始する。表示候補リストは図7の処理フローで作成済みであるので、本処理フローではステップS701に相当するステップはない。
(図8:ステップS801〜S802)
これらのステップは、図7のステップS702〜S703と同様である。
(図8:ステップS803)
情報検索プログラム121は、ステップS802で取得した検索条件の内容、すなわち検索条件列1233の内容を取得し、その検索条件がいずれのテーブルに対してアクセスするかを判断する。情報検索プログラム121は、アクセス権限データ124に基づき、ユーザがそのテーブルに対してアクセス権限を有するか否かをチェックする。アクセス権限を有さない場合はステップS804へ進み、アクセス権限を有する場合はステップS801の繰り返しループを次に進める。
(図8:ステップS804)
情報検索プログラム121は、ステップS803でアクセス権限をチェックした検索条件を、表示候補リストから削除する。これにより、ユーザがアクセス権限を有さないテーブルにアクセスする検索条件は、検索条件一覧出力画面230に表示されないことになる。
図9は、情報検索プログラム121が列に対するアクセス権限をチェックする処理フローを示す図であり、図8の処理フローに続いて実行する処理フローである。以下、図9の各ステップについて説明する。
(図9:ステップS900)
情報検索プログラム121は、図8の処理フローが終了すると、本処理フローを開始する。表示候補リストは図7の処理フローで作成済みであるので、本処理フローではステップS701に相当するステップはない。
(図9:ステップS901〜S902)
これらのステップは、図7のステップS702〜S703と同様である。
(図9:ステップS903)
情報検索プログラム121は、ステップS902で取得した検索条件の内容、すなわち検索条件列1233の内容を取得し、その検索条件がいずれの列に対してアクセスするかを判断する。情報検索プログラム121は、アクセス権限データ124に基づき、ユーザがその列に対してアクセス権限を有するか否かをチェックする。アクセス権限を有さない場合はステップS904へ進み、アクセス権限を有する場合はステップS901の繰り返しループを次に進める。
(図9:ステップS904)
情報検索プログラム121は、ステップS903でアクセス権限をチェックした検索条件を、表示候補リストから削除する。これにより、ユーザがアクセス権限を有さない列にアクセスする検索条件は、検索条件一覧出力画面230に表示されないことになる。
(図9:ステップS905)
情報検索プログラム121は、表示候補リストに残っている検索条件に基づき検索条件一覧出力画面230を生成し、クライアント端末200に送信する。以上の処理により、検索条件一覧出力画面230に表示される検索条件は、ユーザがアクセス権限を有するデータベース、テーブル、列に対してアクセスする検索条件のみを含むことになる。
以上、情報検索プログラム121が検索条件一覧出力画面230をクライアント端末に送信する際の詳細動作を説明した。
以上のように、本実施の形態1によれば、情報検索プログラム121は、検索条件データ123が保持する検索条件の一覧を出力するよう指示を受けると、検索条件データ123から該当する検索条件を抽出して検索条件一覧出力画面230を生成しクライアント端末200に送信する。このとき情報検索プログラム121は、ユーザがアクセス権限を有さない情報リソースに対してアクセスする検索条件を検索条件一覧から除外する。これにより、ユーザはアクセス権限を有する情報リソースに対してアクセスする検索条件のみを得ることができるので、検索条件を実行した後になって初めてアクセス権限エラーとなり再度検索条件を指定するという不都合を強いられることがなくなる。
<実施の形態2>
実施の形態1では、検索条件一覧出力画面230を生成する際に、ユーザのアクセス権限をチェックし、アクセス権限を有さない情報リソースに対してアクセスする検索条件を検索条件一覧出力画面230上に表示しないようにした。本発明の実施の形態2では、これに加えて検索条件を登録する時点でアクセス権限をチェックする動作例を説明する。なお情報検索システム1000の構成は実施の形態1と同様である。
図10は、情報検索プログラム121が新規の検索条件を検索条件データ123に登録する処理フローを示す図である。以下、図10の各ステップについて説明する。
(図10:ステップS1000)
クライアント端末200のユーザは、検索条件登録画面210上で新規の検索条件を入力し、登録ボタン218を押下して、検索条件データ123に登録するよう情報検索サーバ100に対して指示する。CPU110がその指示を受け取ると、本動作フローが開始される。なお本動作フローが開始される時点で、情報検索プログラム121は情報検索サーバ100にログインしているユーザIDを取得しているものとする。
(図10:ステップS1001)
情報検索プログラム121は、ユーザが検索条件登録画面210の公開先グループ選択欄217で指定した各公開先権限グループがデータベースに対して有するアクセス権限をアクセス権限データ124に基づき把握しておく。
(図10:ステップS1002)
情報検索プログラム121は、ユーザが検索条件登録画面210の情報リソース入力欄213、検索条件入力欄216で入力した検索条件がアクセスするデータベース名を取得する。データベースに対するSQL文を検索条件として入力した場合は、SQL文中に記述されているデータベース名を取得する。
(図10:ステップS1003)
情報検索プログラム121は、以下のステップS1003〜S1005を、全ての公開先権限グループに対して繰り返す。
(図10:ステップS1004)
情報検索プログラム121は、各公開先グループがステップS1002で取得したデータベースに対してアクセス権限を有するか否かを、アクセス権限データ124に基づきチェックする。アクセス権限を有さない場合はステップS1005へ進み、アクセス権限を有する場合はステップS1003の繰り返しループを次に進める。
(図10:ステップS1005)
情報検索プログラム121は、ステップS1004でアクセス権限をチェックした公開先グループを、エラーリストに追加する。これは、いずれの公開先権限グループがアクセス権限を有さないのかを後にユーザへ報告するためのものである。
図11は、情報検索プログラム121が図10の処理フローに続いて実行する処理フローである。以下、図11の各ステップについて説明する。
(図11:ステップS1100)
情報検索プログラム121は、図10の処理フローが終了すると、本処理フローを開始する。
(図11:ステップS1101)
情報検索プログラム121は、ユーザが検索条件登録画面210の公開先グループ選択欄217で指定した各公開先権限グループがテーブルに対して有するアクセス権限をアクセス権限データ124に基づき把握しておく。
(図11:ステップS1102)
情報検索プログラム121は、ユーザが検索条件登録画面210のテーブル入力欄214、検索条件入力欄216で入力した検索条件がアクセスするテーブル名を取得する。データベースに対するSQL文を検索条件として入力した場合は、SQL文中に記述されているテーブル名を取得する。
(図11:ステップS1103)
本ステップは、図10のステップS1003と同様である。
(図11:ステップS1104)
情報検索プログラム121は、各公開先グループがステップS1102で取得したテーブルに対してアクセス権限を有するか否かを、アクセス権限データ124に基づきチェックする。アクセス権限を有さない場合はステップS1105へ進み、アクセス権限を有する場合はステップS1103の繰り返しループを次に進める。
(図11:ステップS1105)
本ステップは、図10のステップS1005と同様である。
図12は、情報検索プログラム121が図11の処理フローに続いて実行する処理フローである。以下、図12の各ステップについて説明する。
(図12:ステップS1200)
情報検索プログラム121は、図11の処理フローが終了すると、本処理フローを開始する。
(図12:ステップS1201)
情報検索プログラム121は、ユーザが検索条件登録画面210の公開先グループ選択欄217で指定した各公開先権限グループが列に対して有するアクセス権限をアクセス権限データ124に基づき把握しておく。
(図12:ステップS1202)
情報検索プログラム121は、ユーザが検索条件登録画面210の列入力欄215、検索条件入力欄216で入力した検索条件がアクセスする列名を取得する。データベースに対するSQL文を検索条件として入力した場合は、SQL文中に記述されている列名を取得する。
(図12:ステップS1203)
本ステップは、図10のステップS1003と同様である。
(図12:ステップS1204)
情報検索プログラム121は、各公開先グループがステップS1202で取得した列に対してアクセス権限を有するか否かを、アクセス権限データ124に基づきチェックする。アクセス権限を有さない場合はステップS1205へ進み、アクセス権限を有する場合はステップS1203の繰り返しループを次に進める。
(図12:ステップS1205)
本ステップは、図10のステップS1005と同様である。
(図12:ステップS1206)
情報検索プログラム121は、エラーリストに登録されているエラーが0件であるか否かを確認する。0件である場合はステップS1207へ進み、1件以上ある場合はステップS1208へ進む。
(図12:ステップS1207)
情報検索プログラム121は、ユーザが検索条件登録画面210で入力した検索条件を検索条件データ123に登録する。
(図12:ステップS1208)
情報検索プログラム121は、エラーリストに登録されているエラーの内容をクライアント端末200に送信する。これによりユーザは、いずれの公開先権限グループがいずれの情報リソースに対してアクセス権限を有さなかったかを知ることができるので、改めて各公開先権限グループがアクセス権限を有する検索条件を入力し直すことができる。
以上のように、本実施の形態2によれば、情報検索プログラム121は、ユーザが検索条件登録画面210で入力した検索条件を検索条件データ123に登録する際に、その検索条件がアクセスする情報リソース(データベース、テーブル、列など)に対して各公開先権限グループがアクセス権限を有するか否かをチェックする。これにより、ユーザがアクセス権限を有する検索条件のみが検索条件データ123に登録されることになるので、検索条件一覧出力画面230に表示される検索条件は、ユーザがアクセス権限を有する情報リソースに対してアクセスするもののみとなる。したがって、ユーザはアクセス権限を有する情報リソースに対してアクセスする検索条件のみを得ることになり、実施の形態1と同様の効果を発揮することができる。
また、実施の形態1では検索条件一覧出力画面230を生成する時点でアクセス権限をチェックするのに対し、本実施の形態2ではこれに加えて検索条件登録画面210でもアクセス権限をチェックする。これにより、検索条件を入力する者にとっては、ユーザが実行できない検索条件であることがより早い時点で判明し、適切な検索条件を改めて入力するよう促すことができる効果がある。
<実施の形態3>
実施の形態2では、ユーザが検索条件登録画面210で入力した検索条件についてのアクセス権限をチェックすることを説明した。ただし、アクセス権限をチェックするのは、ユーザが登録ボタン218を押下し、検索条件を情報検索サーバ100に送信した時点である。本発明の実施の形態3では、実施の形態1〜2で説明したチェックに加え、ユーザが登録ボタン218を押下して検索条件を情報検索サーバ100に送信する前の時点でアクセス権限をチェックする動作例を説明する。
図13は、検索条件登録画面210の画面上でアクセス権限をチェックする際の画面遷移を示す図である。検索条件を登録するユーザは、検索条件登録画面210上でデータベース名などを入力して検索条件を作成する。このときユーザは、情報リソース入力欄213、テーブル入力欄214などに検索条件を入力していく。
図13(a)は、ユーザが検索条件としてデータベース名を情報リソース入力欄213に入力した時点の画面状態を示す。ここでは「商品マスタ」データベースを入力した例を示した。図4に示したアクセス権限データ124によれば、全ての権限グループが「商品マスタ」データベースに対してアクセス権限を有するので、この時点では画面上の変化はない。
図13(b)は、ユーザが検索条件としてテーブル名をテーブル入力欄214に入力した時点の画面状態を示す。ここでは「商品テーブル」を入力した例を示した。図4に示したアクセス権限データ124によれば、「商品テーブル」に対して参照権限を有するのは権限グループX、Y、Zのみであるので、権限グループWは選択できないように、公開先グループ選択欄217の「権限グループW」の部分が無効化されている。
このように、アクセス権限を有さない権限グループは検索条件登録画面210上で初めから選択できないようにしておけば、検索条件の登録を試みる前にその旨を知ることができるので、検索条件を登録するユーザにとって便宜である。以下では、図13の動作を実現するため情報検索サーバ100とクライアント端末200それぞれが実行する処理を説明する。
(クライアント端末200が実行する処理)
クライアント端末200は、検索条件登録画面210上でユーザが入力する内容をモニタし、その入力内容を情報検索サーバ100に送信して、入力された情報リソースに対するアクセス権限を有する権限グループのリストを取得する。アクセス権限を有さない権限グループについては、図13(b)に示すように公開先グループ選択欄217の該当箇所を無効化する。
(クライアント端末200が実行する処理:補足)
検索条件登録画面210をWebブラウザ上で提供する場合、上記処理はWebブラウザ上で実行するスクリプトプログラムなどによって実現することができる。スクリプトプログラムは、例えばユーザが入力欄のフォーカスを移動させた時点などで検索条件登録画面210上の入力内容を取得し、情報検索サーバ100に送信する。情報検索サーバ100よりアクセス権限を有する権限グループのリストを取得すると、公開先グループ選択欄217の該当箇所の「disabled」属性を「true」に設定するなどの処理によって無効化する。
(情報検索サーバ100が実行する処理)
情報検索サーバ100は、クライアント端末200より検索条件登録画面210上の入力内容を受信すると、以下の図14〜図16で説明する処理フローを実行する。
図14は、検索条件登録画面210上でユーザが入力したデータベースに対するアクセス権限を有する権限グループを、クライアント端末200が情報検索サーバ100に対して照会したときの処理フローである。以下、図14の各ステップについて説明する。
(図14:ステップS1400)
クライアント端末200のユーザは、検索条件登録画面210上でデータベース名を入力する。クライアント端末200は、そのデータベースに対するアクセス権限を有する権限グループを情報検索サーバ100に照会する。CPU110がその照会リクエストを受け取ると、本動作フローが開始される。なお本動作フローが開始される時点で、情報検索プログラム121は検索条件登録画面210を使用しているユーザIDを取得しているものとする。
(図14:ステップS1401)
情報検索プログラム121は、無効化リストを初期化する。無効化リストとは、いずれの権限グループがアクセス権限を有さないのかをクライアント端末200へ通知するためのものである。
(図14:ステップS1402)
情報検索プログラム121は、ユーザが検索条件登録画面210の情報リソース入力欄213、検索条件入力欄216で入力した検索条件がアクセスするデータベース名を取得する。データベースに対するSQL文を検索条件として入力した場合は、SQL文中に記述されているデータベース名を取得する。
(図14:ステップS1403)
情報検索プログラム121は、以下のステップS1404〜S1405を、全ての権限グループに対して繰り返す。
(図14:ステップS1404)
情報検索プログラム121は、各権限グループがステップS1402で取得したデータベースに対してアクセス権限を有するか否かを、アクセス権限データ124に基づきチェックする。アクセス権限を有さない場合はステップS1405へ進み、アクセス権限を有する場合はステップS1403の繰り返しループを次に進める。
(図14:ステップS1405)
情報検索プログラム121は、ステップS1404でアクセス権限をチェックした権限グループを、無効化リストに追加する。
(図14:ステップS1406)
情報検索プログラム121は、無効化リストをクライアント端末200に送信する。クライアント端末200は、無効化リストに含まれている権限グループに相当する公開先グループ選択欄217の該当箇所を無効化する。
図15は、検索条件登録画面210上でユーザが入力したテーブルに対するアクセス権限を有する権限グループを、クライアント端末200が情報検索サーバ100に対して照会したときの処理フローである。以下、図15の各ステップについて説明する。
(図15:ステップS1500)
クライアント端末200のユーザは、検索条件登録画面210上でテーブル名を入力する。クライアント端末200は、そのテーブルに対するアクセス権限を有する権限グループを情報検索サーバ100に照会する。CPU110がその照会リクエストを受け取ると、本動作フローが開始される。なお本動作フローが開始される時点で、情報検索プログラム121は検索条件登録画面210を使用しているユーザIDを取得しているものとする。
(図15:ステップS1501)
本ステップは、図14のステップS1401と同様である。
(図15:ステップS1502)
情報検索プログラム121は、ユーザが検索条件登録画面210のテーブル入力欄214、検索条件入力欄216で入力した検索条件がアクセスするテーブル名を取得する。データベースに対するSQL文を検索条件として入力した場合は、SQL文中に記述されているテーブル名を取得する。
(図15:ステップS1503)
本ステップは、図14のステップS1403と同様である。
(図15:ステップS1504)
情報検索プログラム121は、各権限グループがステップS1502で取得したテーブルに対してアクセス権限を有するか否かを、アクセス権限データ124に基づきチェックする。アクセス権限を有さない場合はステップS1505へ進み、アクセス権限を有する場合はステップS1503の繰り返しループを次に進める。
(図15:ステップS1505〜S1506)
これらのステップは、図14のステップS1405〜S1406と同様である。
図16は、検索条件登録画面210上でユーザが入力した列に対するアクセス権限を有する権限グループを、クライアント端末200が情報検索サーバ100に対して照会したときの処理フローである。以下、図16の各ステップについて説明する。
(図16:ステップS1600)
クライアント端末200のユーザは、検索条件登録画面210上で列名を入力する。クライアント端末200は、その列に対するアクセス権限を有する権限グループを情報検索サーバ100に照会する。CPU110がその照会リクエストを受け取ると、本動作フローが開始される。なお本動作フローが開始される時点で、情報検索プログラム121は検索条件登録画面210を使用しているユーザIDを取得しているものとする。
(図16:ステップS1601)
本ステップは、図14のステップS1401と同様である。
(図16:ステップS1602)
情報検索プログラム121は、ユーザが検索条件登録画面210の列入力欄215、検索条件入力欄216で入力した検索条件がアクセスする列名を取得する。データベースに対するSQL文を検索条件として入力した場合は、SQL文中に記述されている列名を取得する。
(図16:ステップS1603)
本ステップは、図14のステップS1403と同様である。
(図16:ステップS1604)
情報検索プログラム121は、各権限グループがステップS1602で取得した列に対してアクセス権限を有するか否かを、アクセス権限データ124に基づきチェックする。アクセス権限を有さない場合はステップS1605へ進み、アクセス権限を有する場合はステップS1603の繰り返しループを次に進める。
(図16:ステップS1605〜S1606)
これらのステップは、図14のステップS1405〜S1406と同様である。
以上、検索条件登録画面210上で入力された情報リソースに対してアクセス権限のない権限グループを検索条件登録画面210上で無効化する処理を説明した。なお、アクセス権限を有さない権限グループをクライアント端末200に通知することに代えて、アクセス権限を有する権限グループを通知するようにしても、効果は同様である。
以上の説明では、テーブルに対するアクセス権限がある場合はそのテーブルを有するデータベースに対するアクセス権限も有することを前提とした。一方、テーブルに対するアクセス権限は有するがそのテーブルを有するデータベースに対するアクセス権限を有さない場合があるときは、図15においてまず図14の処理フローを実行し、データベースに対するアクセス権限のない権限グループを無効化リストに登録した上で、図15のステップS1501で無効化リストを初期化せずに同処理フローを実行する必要がある。図16についても同様である。
また、テーブルに対するアクセス権限は有するがそのテーブルを有するデータベースに対するアクセス権限を有さない場合があるときは、検索条件登録画面210上でテーブル名のみが入力されている時点では、図15の処理フローにおいて、そのテーブル名を元にアクセス権限データ124の階層関係を上位に遡り、そのテーブルを有するデータベースに対してアクセス権限を有さない権限グループを無効化リストに登録する必要がある。図16についても同様である。
以上のように、本実施の形態3によれば、検索条件登録画面210上で検索条件を入力していく過程で、情報リソース(データベース、テーブル、列)に対してアクセス権限を有さない権限グループは公開先グループ選択欄217上で無効化される。これにより、情報リソースに対するアクセス権限のない権限グループに対して検索条件が公開されることがなくなるので、検索条件一覧出力画面230に表示される検索条件は、ユーザがアクセス権限を有する情報リソースに対してアクセスするもののみとなる。したがって、ユーザはアクセス権限を有する情報リソースに対してアクセスする検索条件のみを得ることになり、実施の形態1〜2と同様の効果を発揮することができる。
また、本実施の形態3によれば、新規の検索条件を作成している途中で上記効果が発揮されるので、新規の検索条件を作成する作業効率を向上させる効果が期待できる。
<実施の形態4>
以上の実施の形態1〜3では、検索条件を実行する前の時点でアクセス権限をチェックすることについて説明した。これにより、ユーザがアクセス権限を有する検索条件のみが実行されるものと想定される。ただし、万全を期すため、検索条件を実行する時点でもアクセス権限をチェックすることが望ましい。アクセス権限のチェック手法については、実施の形態1〜3または公知技術と同様であるため、説明は省略する。
<実施の形態5>
以上の実施の形態1〜4において、権限グループ毎に検索条件を公開するか否かを指定する例を説明したが、その前提として、検索条件自体を公開するか否かを検索条件の作成者が選択できるようにしてもよい。
この場合、例えば検索条件登録画面210において「公開可否」などの欄を設け、作成する検索条件を公開するか否かを選択できるようにする。また検索条件データ123において対応する「公開可否」列を設け、公開可否の設定を保持しておく。図7〜図9の処理フローでは、情報検索プログラム121は、公開先権限グループとユーザのアクセス権限をチェックすることに加えて、検索条件データ123の「公開可否」列をチェックし、公開することが許可されていない検索条件は表示候補リストから除外する必要がある。
100:情報検索サーバ、110:CPU、120:記憶装置、121:情報検索プログラム、122:ユーザ情報、1221:ユーザID列、1222:ユーザ名列、1223:パスワード列、1224:権限グループ列、123:検索条件データ、1231:検索条件名列、1232:ユーザID列、1233:検索条件列、1234:公開先権限グループ列、1235:登録日時列、124:アクセス権限データ、200:クライアント端末、210:検索条件登録画面、211:検索条件名入力欄、212:説明入力欄、213:情報リソース入力欄、214:テーブル入力欄、215:列入力欄、216:検索条件入力欄、217:公開先グループ選択欄、218:登録ボタン、220:検索条件データ検索画面、230:検索条件一覧出力画面、300:情報リソース、400:ネットワーク、1000:情報検索システム。

Claims (8)

  1. 記憶装置が格納しているデータを検索する処理をコンピュータに実行させる情報検索プログラムであって、
    前記コンピュータに、
    前記データを検索する際の検索条件を所定の検索条件データベースにあらかじめ登録しておく検索条件登録ステップと、
    ーザを認証するステップと、
    前記検索条件データベースから前記検索条件を読み出して一覧出力する検索条件出力ステップと、
    前記検索条件が規定する検索を実行して前記データを検索する検索実行ステップと、
    を実行させ、
    前記検索条件出力ステップでは、前記コンピュータに、
    前記検索条件を用いて前記データを検索する前記ユーザがアクセスする権限を持たない前記データを検索対象とする前記検索条件を前記一覧出力から除外させる
    ことを特徴とする情報検索プログラム。
  2. 前記検索条件登録ステップでは、前記コンピュータに、
    前記ユーザがアクセスする権限を持たない前記データを検索対象とする前記検索条件を前記検索条件データベースに登録させないようにする
    ことを特徴とする請求項1記載の情報検索プログラム。
  3. 前記検索条件データベースは前記データに対する前記ユーザのアクセス権限を記述したアクセス権限情報を格納しており、
    前記コンピュータに、
    前記アクセス権限情報を参照して前記ユーザが前記データに対するアクセスする権限を持つか否かを判断させる
    ことを特徴とする請求項1または請求項2記載の情報検索プログラム。
  4. 前記検索実行ステップでは、前記コンピュータに、
    前記ユーザがアクセスする権限を持たない前記データを検索させないようにする
    ことを特徴とする請求項1から請求項3のいずれか1項に記載の情報検索プログラム。
  5. 前記検索条件登録ステップでは、前記コンピュータに、
    前記検索条件が検索対象とする前記データに対してアクセス権限を有するユーザを照会する照会リクエストを受け取るステップと、
    前記照会を受けた前記データに対してアクセス権限を有するユーザの一覧を表すデータを前記照会リクエストの送信元に返信するステップと、
    を実行させることを特徴とする請求項1から請求項4のいずれか1項に記載の情報検索プログラム。
  6. 請求項1から請求項5のいずれか1項に記載の情報検索プログラムを実行する情報検索サーバと、
    前記情報検索サーバに対し前記検索条件の一覧を出力するよう要求するクライアント端末と、
    を有することを特徴とする情報検索システム。
  7. 請求項5記載の情報検索プログラムを実行する情報検索サーバと、
    前記情報検索サーバに対し前記検索条件を登録するよう要求し、または前記検索条件の一覧を出力するよう要求するクライアント端末と、
    を有することを特徴とする情報検索システム。
  8. 前記情報検索サーバは、
    前記検索条件をどのユーザに公開するかを表す情報を記憶する記憶部を備え、
    前記クライアント端末は、
    前記情報検索サーバに登録する前記検索条件を入力する検索条件登録画面を画面表示する表示部を備え、
    前記照会リクエストを前記情報検索サーバに送信し、
    前記情報検索サーバより前記ユーザの一覧を表すデータを受信すると、
    前記検索条件登録画面において、前記データに対してアクセス権限を有していないユーザを、検索条件の公開先として選択できないようにする
    ことを特徴とする請求項7記載の情報検索システム。
JP2009220966A 2009-09-25 2009-09-25 情報検索プログラム、情報検索システム Expired - Fee Related JP5283600B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009220966A JP5283600B2 (ja) 2009-09-25 2009-09-25 情報検索プログラム、情報検索システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009220966A JP5283600B2 (ja) 2009-09-25 2009-09-25 情報検索プログラム、情報検索システム

Publications (2)

Publication Number Publication Date
JP2011070406A JP2011070406A (ja) 2011-04-07
JP5283600B2 true JP5283600B2 (ja) 2013-09-04

Family

ID=44015638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009220966A Expired - Fee Related JP5283600B2 (ja) 2009-09-25 2009-09-25 情報検索プログラム、情報検索システム

Country Status (1)

Country Link
JP (1) JP5283600B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5422639B2 (ja) * 2011-12-27 2014-02-19 日本電信電話株式会社 データ蓄積システムとそのデータアクセス制御方法
JP7119379B2 (ja) * 2018-01-17 2022-08-17 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システムおよびプログラム
JP7293654B2 (ja) * 2018-12-28 2023-06-20 京セラドキュメントソリューションズ株式会社 電子機器及び画像形成装置
JP7251142B2 (ja) * 2018-12-28 2023-04-04 京セラドキュメントソリューションズ株式会社 電子機器及び画像形成装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366568A (ja) * 2001-06-11 2002-12-20 Nec Soft Ltd オンラインシステム及び装置並びにプログラム
JP2005190212A (ja) * 2003-12-25 2005-07-14 Toshiba Corp データベースシステム、データ処理方法及びプログラム
JP2007108873A (ja) * 2005-10-11 2007-04-26 Toshiba Corp データ検索条件階層管理装置

Also Published As

Publication number Publication date
JP2011070406A (ja) 2011-04-07

Similar Documents

Publication Publication Date Title
US9311402B2 (en) System and method for invoking functionalities using contextual relations
KR101298334B1 (ko) 검색 결과에 컬렉션 아이템을 포함시키기 위한 기술
US7765464B2 (en) Method and system for dynamically assembling presentations of web pages
US20060112141A1 (en) System for automatically creating a metadata repository for multimedia
CN1750001A (zh) 向库存内容项添加元数据
CN102077168B (zh) 联合搜索结果的用户界面的库描述
RU2653246C1 (ru) Усовершенствование запроса для поиска базы данных
WO2006057741A2 (en) Interactive system for collecting metadata
CN111066012A (zh) 与顶级域相关联的链接的web呈现页面
JP5592747B2 (ja) ファイル検索装置およびファイル検索プログラム
JP5283600B2 (ja) 情報検索プログラム、情報検索システム
US9619510B2 (en) Information processing apparatus and computer-readable medium storing information processing program
JP5224839B2 (ja) 文書管理システム、文書管理装置、文書管理方法及びプログラム
US20170286523A1 (en) Apparatus and method for verifying cloud service compatibility
WO2010000211A1 (zh) 搜索方法、搜索服务器和搜索系统
Hoy New tools for finding full-text articles faster: Kopernio, nomad, unpaywall, and more
US20130173521A1 (en) Knowledge base for service ticketing system
KR101503268B1 (ko) 시맨틱 클라이언트, 시맨틱 정보 관리 서버, 시맨틱 정보생성 방법, 시맨틱 정보 검색 방법 및 그 방법들을수행하기 위한 컴퓨터 기록매체
CN102693267B (zh) 扩大搜索结果
WO2007099331A2 (en) Data processing apparatus
KR20160050930A (ko) 대용량 분산 파일 시스템에서 데이터의 수정을 포함하는 트랜잭션 처리 장치 및 컴퓨터로 읽을 수 있는 기록매체
CN101641710A (zh) 使用场景相关元数据来定向广告
Varanasi et al. Hateoas
US20190278570A1 (en) Annotating Features of a Resource to Facilitate Consumption in Different Computing Environments
CN110419056A (zh) 与会员制组织的唯一会员相关联的链接的网络呈现文档

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130408

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130528

R150 Certificate of patent or registration of utility model

Ref document number: 5283600

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees