JP5358981B2 - 情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラム - Google Patents

情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラム Download PDF

Info

Publication number
JP5358981B2
JP5358981B2 JP2008057375A JP2008057375A JP5358981B2 JP 5358981 B2 JP5358981 B2 JP 5358981B2 JP 2008057375 A JP2008057375 A JP 2008057375A JP 2008057375 A JP2008057375 A JP 2008057375A JP 5358981 B2 JP5358981 B2 JP 5358981B2
Authority
JP
Japan
Prior art keywords
search
tenant
unit
information terminal
information processing
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
JP2008057375A
Other languages
English (en)
Other versions
JP2009217315A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008057375A priority Critical patent/JP5358981B2/ja
Publication of JP2009217315A publication Critical patent/JP2009217315A/ja
Application granted granted Critical
Publication of JP5358981B2 publication Critical patent/JP5358981B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラムに関する。
マルチテナントデータ管理システムの一例が、非特許文献1に記載されている。非特許文献1の図8−1に示すように、このマルチテナントデータ管理システムを構成する情報処理装置は、標準テーブルと、拡張テーブルと、から構成されている。標準テーブルはデータを保存するデータ列と各レコードを識別するIDを保存するID列とから構成される。拡張テーブルは標準テーブルの各レコードを識別するIDを保存するID列と拡張用のデータを保存する拡張列とから構成されている。標準テーブル中の各レコードは、それぞれのID列に保存されているIDと同じIDをID列に持つ拡張テーブル中のレコードと対応付けられている。
岩井 哲郎著「SaaS開発指針」NSA−Vol.7 No.07009 2007年3月19日pp.11http://www.nsa.or.jp/make_jimu/committee/9/data/07001.pdf
しかし、上述したような構成においては、データベース管理者は、クエリを作成する際にはテーブルの構造および各カラムがどのテーブルにあるのかを知らなければならない。このため、クエリの保守作業に多大なコストがかかっていた。
また、このような構造のデータベースを1つのクエリで検索する場合には、検索する各テーブル名およびテーブル間のリレーションを明記する必要があった。
また、複数のテーブルを仮想的に1つのテーブルに見せるViewという技術も存在するが、この技術を用いてもテーブル構造を変化させると、View自体を更新する必要があり、データベースの管理者の管理のコストが大きい。
また、データベースを利用するユーザが独自にテーブルを拡張しようとすると、テーブルを使用している既存のユーザに対する検索のためのクエリを修正する必要があり、クエリの保守が困難である。
本発明は上記課題を鑑みてなされたものであって、その目的の一つは、データベースを検索するユーザが検索に用いるクエリの保守や更新に要する作業負担を軽減できるとともにテーブルの拡張性を向上した情報処理装置を提供することにある。
本発明による情報処理装置の好ましい一態様は、複数の事業者の少なくとも1つに所属する担当者に使用される情報端末と接続され、前記情報端末から送信されるデータベースの検索要求に応じて前記データベースを検索し前記情報端末に検索結果を送信する情報処理装置であって、前記データベースは、前記複数の事業者で共通する共通項目に分類されるデータを記憶する基本テーブルと、前記複数の事業者毎に異なる個別項目に分類されるデータを記憶する拡張テーブルと、を含み、前記情報処理装置は、前記情報端末から前記データベースの検索要求を受信し、前記検索要求を送信してきた情報端末を使用する担当者が所属する事業者を前記検索要求に基づいて特定する受信部と、前記受信部から送信される前記検索要求に基づいて前記共通項目のデータを検索する第1の検索式を生成し、前記共通項目のデータを検索する基本領域検索部と、前記受信部により前記事業者を指定して送信される前記検索要求に基づいて前記指定された事業者の個別項目のデータを検索する第2の検索式を生成し、前記個別項目のデータを検索するテナント固有拡張領域検索部と、前記基本領域検索部が検索した前記共通項目のデータと前記テナント固有拡張領域検索部が検索した前記個別項目のデータとを結合して前記検索結果として前記情報端末に送信するテーブル検索結果マージ部と、を備える。
また、本発明による情報処理装置の制御方法の好ましい一態様は、複数の事業者の少なくとも1つに所属する担当者に使用される情報端末と接続され、前記複数の事業者で共通する共通項目に分類されるデータを記憶する基本テーブルと前記複数の事業者毎に異なる個別項目に分類されるデータを記憶する拡張テーブルとを含むデータベースを備え、前記情報端末から送信される前記データベースの検索要求に応じて前記データベースを検索し前記情報端末に検索結果を送信する情報処理装置の制御方法であって、前記情報処理装置が、前記情報端末から前記データベースの検索要求を受信し、前記情報処理装置が、前記検索要求を送信してきた情報端末を使用する担当者が所属する事業者を前記検索要求に基づいて特定し、前記情報処理装置が、前記検索要求に基づいて前記共通項目のデータを検索する第1の検索式を生成し、前記共通項目のデータを検索し、前記情報処理装置が、前記事業者を指定して送信される前記検索要求に基づいて前記指定された事業者の個別項目のデータを検索する第2の検索式を生成し、前記個別項目のデータを検索し、前記情報処理装置が、前記検索した前記共通項目のデータと前記検索した前記個別項目のデータとを結合して前記検索結果として前記情報端末に送信する。
また、本発明による情報処理装置の制御プログラムの好ましい一態様は、複数の事業者の少なくとも1つに所属する担当者に使用される情報端末と接続され、前記複数の事業者で共通する共通項目に分類されるデータを記憶する基本テーブルと前記複数の事業者毎に異なる個別項目に分類されるデータを記憶する拡張テーブルとを含むデータベースを備え、前記情報端末から送信される前記データベースの検索要求に応じて前記データベースを検索し前記情報端末に検索結果を送信する情報処理装置に、前記情報端末から前記データベースの検索要求を受信し、前記検索要求を送信してきた情報端末を使用する担当者が所属する事業者を前記検索要求に基づいて特定する処理と、前記検索要求に基づいて前記共通項目のデータを検索する第1の検索式を生成し、前記共通項目のデータを検索する処理と、前記事業者を指定して送信される前記検索要求に基づいて前記指定された事業者の個別項目のデータを検索する第2の検索式を生成し、前記個別項目のデータを検索する処理と、前記検索した前記共通項目のデータと前記検索した前記個別項目のデータとを結合して前記検索結果として前記情報端末に送信する処理と、を実行させる。
本発明によれば、データベースを検索する利用者が検索に用いるクエリの保守や更新に要する作業負担を軽減することができるとともにテーブルの拡張性を向上することにある。
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。まず第1の実施の形態について説明する。
図1は本発明の第1の実施の形態における情報処理装置の構成例を示すブロック図である。
この情報処理装置は、このデータベースを管理するデータベース管理業者によって管理される。このデータベース管理業者は、このデータベースを利用してサービスを提供する事業者または団体である複数のテナント(特許請求の範囲に記載の事業者に相当する)にデータベースを提供する。各テナントに所属する担当者は情報端末を用いてこのデータベースを独自に拡張して各テナントの顧客であるユーザに関する情報を管理し、または当該情報について検索を行う。
図1を参照すると、本発明の第1の実施の形態における情報処理装置は、情報端末110とそれぞれネットワーク10を介して接続され、記憶部120と通信可能に接続されたコンピュータ100である。なお、コンピュータ100と記憶部120とがネットワーク10を介して接続されていてもよい。またコンピュータ100は、記憶部120を含んで構成されていてもよい。また、図1を参照すると情報端末110が2台接続されているが、これに限られることは無く、1台以上の情報端末110とネットワーク10を介し通信可能に接続されていればよい。
次にコンピュータ100、情報端末110および記憶部120について詳細に説明する。
===記憶部120===
まず、記憶部120について説明する。記憶部120は、図1に示すように、少なくとも基本テーブル121及び拡張テーブル122を記憶しているデータベースである。
<基本テーブル121>
基本テーブル121は、図2に示すようにテーブルの各カラムに値を対応付け、レコード毎に記憶している。各カラムには当該カラムを識別する共通項目名がそれぞれ付されている。図2の例を参照すると、「テナントID」、「ユーザID」、「メールアドレス」、「レコードID」がそれぞれ共通項目名である。さらに基本テーブル121には、各レコードを識別するレコードIDがレコード毎に付されている。図2に示すように各レコードIDを格納するカラムを基本テーブル121に新たに備えていてもよいし、基本テーブル121とは別にインデックスとして記憶部120に備えていてもよい。図2の例を参照すると、共通項目名が「メールアドレス」のカラムには文字列「a@b.c」、「x@y.z」、「l@m.n」、「u@v.w」、「d@e.f」、「j@k.l」、「g@h.i」、「o@p.q」がそれぞれ記憶されている。
<拡張テーブル122>
拡張テーブル122は、図3に示すように前述の基本テーブル121の各レコードに付されているレコードIDと、個別項目名と値との組と、を対応付けて記憶している。個別項目名は値の属性を示している。拡張テーブル122の各レコードは、当該レコードに含まれるレコードIDが示す基本テーブル121のレコードにおける付加的情報という意味を持つ。
図3の例を参照すると、レコードIDが21、個別項目名が「小人人数」、値が「2人」のレコードは、レコードIDが21の基本テーブル121のレコードに「小人人数」が「2人」である情報を付加していることを示している。つまり、基本テーブル121のレコードID21のレコードと拡張テーブル122のレコードIDが21、個別項目名が「小人人数」、値が「2人」のレコードとで仮想的に図4に示すようなレコードを構成しているものとする。
基本テーブル121に記憶されている各レコードについて、同一のテナントに属するユーザの情報に関するレコード、すなわちテナントを識別するテナントIDが共通であるレコードにそれぞれ対応付けられている各レコードIDには、拡張テーブル122において共通した個別項目名が対応付けられている。例えば、図2の例を参照すると、テナントIDが‘1’であるレコードはレコードIDとして‘11’、‘12’、‘13’および‘14’を持つレコードがある。そして、拡張テーブル122においてレコードID‘11’、‘12’、‘13’および‘14’に対応付けられている個別項目名は「職業」および「DM可否」という共通の個別項目名である。
===情報端末110===
次に、情報端末110について説明する。情報端末110は図1に示すように、少なくとも検索式指定部111および検索結果表示部112を備える。検索式指定部111は検索結果表示部112と接続されている。
<検索式指定部111>
担当者が記憶部120を検索する条件である検索式を指定すると、検索式指定部111は、その指定された検索式をコンピュータ100へ送信する。担当者は、例えば、検索したい条件を示す情報を図示しない入力手段から検索式指定部111に与えることにより記憶部120を検索する検索式を指定することができる。
検索式は、テーブルの検索を行うための問い合わせ文であり、少なくとも1又は複数の検索条件を含むものである。検索条件は、テーブルの検索を実現するための条件を示す情報であり、少なくとも共通項目名または個別項目名を含むものである。
また検索式は、データベースに対する操作などを示すコマンド文、または検索式に含まれる各検索条件をつなぎ、‘and’や‘or’などの演算を示す演算子をさらに含んでもよい。
例えば、検索式が「SELECT * WHERE ‘メールアドレス’=‘l@m.n’ OR ‘DM可否’=‘不可’」という文字列であったとすると、「SELECT * WHERE」がコマンド文を示し、「‘メールアドレス’=‘l@m.n’」、「‘DM可否’=‘不可’」がそれぞれ検索条件を示し、「OR」が演算子を示す。また、この検索式は、「‘メールアドレス’が‘l@m.n’であるレコード、または‘DM可否’が‘不可’であるレコードを抽出する」という意味を示している。
担当者が検索式を指定する他の例として、検索式指定部111が択一的な選択肢を担当者に提示し、担当者がその中から一つを選択して図示しない入力手段から検索式指定部111に与えるようにしてもよい。
検索式指定部111は、担当者によって指定された検索式をコンピュータ100に送信する。そして検索式指定部111は送信した検索式に対応する検索結果をコンピュータ100から取得して検索結果表示部112に与える。
<検索結果表示部112>
検索結果表示部112は、検索式指定部111から検索結果を受け取り、受け取った検索結果を表示する。
===コンピュータ100===
次に、コンピュータ100について説明する。コンピュータ100は図1に示すように受信部101、基本領域検索部102、テナント固有拡張領域検索部103a、103bおよびテーブル検索結果マージ部104を備える。
受信部101は基本領域検索部102とテナント固有拡張領域検索部103a、103bとそれぞれ接続されている。基本領域検索部102は受信部101とテーブル検索結果マージ部104と接続されている。テナント固有拡張領域検索部103a、103bはそれぞれ受信部101とテーブル検索結果マージ部104とそれぞれ接続されている。
<受信部101>
コンピュータ100が情報端末110から記憶部120を検索する条件である検索式を受け取ると、受信部101は、受け取った検索式からテナントを識別するテナントIDを特定する。例えば、次のような方法によって特定する。テナントIDをあらかじめ検索式に含めて情報端末110が送信し、受信部101が受信した検索式からテナントIDを特定する。上記方法は例示であってこの方法に限られるものではない。
また、受信部101は、当該検索式と前述の特定したテナントIDとを基本領域検索部102に渡すとともに当該検索式を前述の特定したテナントIDが示すテナント固有拡張領域検索部103に渡す。
各レコードが示すユーザが属するテナントを後述の基本領域検索部102が識別するために、基本テーブル121は、図2に示すように各テナントを識別するテナントIDを格納するカラムをさらに備えていてもよい。または、各レコードのレコードIDと当該レコードが示すユーザが属するテナントのテナントIDとを対応付けて記憶する図示しないテナントID対応テーブルを記憶部120に備えていてもよい。また、この構成に限られることは無く、各レコードが示すユーザが属するテナントが識別できる構成であればよい。
なお、前述のテナントIDの特定においては、次のような方法であってもよい。まず、情報端末110を利用する担当者のユーザIDを当該情報端末110にあらかじめ登録しておく。また、受信部101はあらかじめユーザIDとテナントIDとを対応付けて図5に示すようなユーザID対応テーブル105に記憶しておく。検索式指定部111は、担当者に指定された検索式とともに当該検索式を指定した担当者のユーザIDをコンピュータ100に送信する。そして受信部101は前述のユーザID対応テーブルを用いて受信したユーザIDに対応付けられたテナントIDを特定するようにする。
または、受信部101が検索式に含まれる特定の情報からテナントIDを特定するという構成であってもよい。これらは例示であって、これらの構成に限られるものではなく、受信部101がテナントIDを特定できる構成であればよい。
<基本領域検索部102>
基本領域検索部102は、受信部101から受け取った検索式に含まれる各検索条件において、基本テーブル121に含まれる共通項目名を含む検索条件を用いて基本テーブル121の中から各検索条件を満たすレコードをそれぞれ抽出する。そして、基本領域検索部102は、抽出されたレコードに含まれるレコードIDをテーブル検索結果マージ部104に渡す。
また、基本領域検索部102は、受信部101から受け取ったテナントIDをもつレコードを基本テーブル121から抽出する。そして、基本領域検索部102は、抽出されたレコードを受け取った検索式とともにテーブル検索結果マージ部104に渡す。
検索条件を用いた検索においては、基本領域検索部102は、受け取った検索式をそのまま利用して検索を実行してもよい。または、次のような方法で実現してもよい。基本領域検索部102は、受け取った検索式のうち基本テーブル121に含まれる共通項目名を含む検索条件を抽出する図示しない変換部をさらに備えておく。そして、前述の変換部が新たな検索式を生成する。基本領域検索部102は前述の変換部で生成された検索式を用いて検索を実行する。または、前述の変換部は基本テーブル121に含まれる共通項目名を含まない検索条件を、恒真を示す情報に変換することで新たな検索式を生成するような構成であってもよい。前述の変換部に、基本テーブル121に含まれる共通項目名を図6に示すような共通項目名対応テーブル106に記憶しておき、基本領域検索部102が、前述の変換部に記憶されている共通項目名が当該検索条件に含まれているか否かに応じて検索条件の抽出を実現するように構成してもよい。これらは例示であって上記の方法に限られるものではない。
<テナント固有拡張領域103>
テナント固有拡張領域検索部103は、テナント毎にそれぞれコンピュータ100に備えられる。テナント固有拡張領域検索部103は、受信部101から検索式を受け取ると、当該検索式に含まれる検索条件毎に拡張テーブル122を検索する。そして、テナント固有拡張領域検索部103は、検索した結果をテーブル検索結果マージ部104に渡す。
検索条件を用いた検索においては、テナント固有拡張領域検索部103は、受け取った検索式をそのまま利用して検索を実行してもよい。または、次のような方法で実現してもよい。テナント固有拡張領域検索部103は、受け取った検索式のうち拡張テーブル122に含まれる個別項目名を含む検索条件を抽出する図示しない変換部をさらに備えておく。そして、前述の変換部が新たな検索式を生成する。テナント固有拡張領域検索部103は前述の変換部で生成された検索式を用いて検索を実行する。または、前述の変換部は拡張テーブル122に含まれる個別項目名を含まない検索条件を、恒真を示す情報に変換することで新たな検索式を生成するような構成であってもよい。前述の変換部に、拡張テーブル122に含まれる個別項目名を図7に示すような個別項目名対応テーブル107に記憶しておき、テナント固有拡張領域検索部103が、前述の変換部に記憶されている個別項目名が当該検索条件に含まれているか否かに応じて検索条件の抽出を実現するように構成してもよい。これらは例示であって上記の方法に限られるものではない。
本実施の形態においてはテナントの数が2の場合を示す。この場合、コンピュータ100にはテナントID‘1’に対応するテナント固有拡張領域検索部103aとテナントID‘2’に対応するテナント固有拡張領域検索部103bとを備える。本実施の形態においてはテナントの数が2の場合を示すが、テナントの数はこれに限られるものではなく少なくとも1つあればいくつであってもよい。
また、テナント固有拡張領域検索部103は、後述のテーブル検索結果マージ部104からレコードIDを受け取ると、そのレコードIDを持つレコードを拡張テーブル122から抽出し、抽出したレコードをテーブル検索結果マージ部104に渡す。
<テーブル検索結果マージ部104>
テーブル検索結果マージ部104は、基本領域検索部102からは検索式と検索結果とレコードIDとを、テナント固有拡張領域検索部103からは検索結果を、それぞれ受け取る。次にテーブル検索結果マージ部104は受け取ったレコードIDを、検索結果を渡してきたテナント固有拡張領域検索部103に渡す。次にテーブル検索結果マージ部104はテナント固有拡張領域検索部103から前述のレコードIDに対応付けられているレコードを受け取る。次に、テーブル検索結果マージ部104は基本領域検索部102から受け取った検索式に基づいてそれぞれ受け取った検索結果をマージする。次にテーブル検索結果マージ部104はコンピュータ100に検索式を送信してきた情報端末110に、マージしたレコードを送信する。
各検索結果がどの検索条件を用いて検索された結果かを識別できるように、例えば、基本領域検索部102およびテナント固有拡張領域検索部103はレコードID又は検索結果をテーブル検索結果マージ部104に渡す際に、当該検索結果を得るために用いられた検索条件と対応付けて渡してもよい。上記は例示であってこの方法に限られるものではない。
マージの手順は以下の通りである。初めにテーブル検索結果マージ部104は基本領域検索部102から受け取ったレコードIDを、検索結果を送ってきたテナント固有拡張領域検索部103に渡す。テナント固有拡張領域検索部103は受け取ったレコードIDを持つレコードを抽出して、抽出されたレコードをテーブル検索結果マージ部104に渡す。テーブル検索結果マージ部104はテナント固有拡張領域検索部103から受け取ったレコードと前述のレコードIDに対応付けられていた検索条件とを新たに対応付け、当該検索条件を用いて検索して得られた結果を前述のレコードとみなす。
次に、検索式に含まれる検索条件と各検索条件をつなぐ演算子に基づいてレコードIDの抽出を行う。以下、‘A’、‘B’をそれぞれ検索条件とする。検索条件‘A’によって得られた検索結果に含まれるレコードIDと検索条件‘B’によって得られた検索結果に含まれるレコードIDとの論理積を取り、得られたレコードIDが示すレコードを検索条件‘A and B’を検索したときの検索結果とする。また、検索条件‘A’によって得られた検索結果に含まれるレコードIDと検索条件‘B’によって得られた検索結果に含まれるレコードIDとの論理和を取り、得られたレコードIDが示すレコードを検索条件‘A or B’を検索したときの検索結果とする。この操作を、受け取った検索式を基に繰り返して行う。
次に、上記手順で得られた検索結果と、基本領域検索部102から受け取った、テナントIDを基に検索した検索結果と、を結合する。結合方法は、それぞれの検索結果中のレコードIDを持つレコード同士を結合することで実現する。
最後に、マージしたレコードを出力する。
次に、上記構成例の動作について説明する。
図8は、本発明の第1の実施の形態の動作の概要を示すシーケンス図である。
まず、担当者は、情報端末110内の検索式指定部111により検索式を指定する。検索式指定部111は、指定された検索式をコンピュータ100に送信する(ステップS1001)。受信部101は、コンピュータ100が受け取った検索式からテナントIDを特定し、受け取った検索式と特定されたテナントIDとを基本領域検索部102に渡す(ステップS1002)とともに、特定されたテナントIDに対応するテナント固有拡張領域検索部103に受け取った検索式を渡す(ステップS1003)。
基本領域検索部102は、受け取った検索式に含まれる検索条件のうち基本テーブル121に含まれる共通項目名を含む検索条件を用いて基本テーブル121の検索を行い、検索結果に含まれるレコードIDをテーブル検索結果マージ部104に渡す(ステップS1004)とともに受け取ったテナントIDを持つレコードを基本テーブル121から検索し、検索結果と受け取った検索式とをテーブル検索結果マージ部104に渡す(ステップS1005)。テナント固有拡張領域検索部103は、受信部101から検索式を受け取ると、受け取った検索式に含まれる検索条件毎に拡張テーブル122を検索し、検索結果をそれぞれテーブル検索結果マージ部104に渡す(ステップS1006)。
次に、テーブル検索結果マージ部104は、基本領域検索部102から検索式と検索結果とレコードIDとを、テナント固有拡張領域検索部103から検索結果を、それぞれ受け取り、マージを行う。さらにテーブル検索結果マージ部104は、ステップS1001にて検索式を送信してきた情報端末110にマージした結果を送信する(ステップS1007)。次に、検索式指定部111はコンピュータ100から検索結果を受け取り、検索結果表示部112に渡す。検索結果表示部112は、検索式指定部111から検索結果を受け取り、その検索結果を表示する(ステップS1008)。
第1の実施の形態では、情報端末110から送信され、共通項目名または個別項目名を含む検索式から、基本領域検索部102が検索式に含まれる検索条件毎に基本テーブル121を、テナント固有拡張領域検索部103が検索式に含まれる検索条件毎に拡張テーブル122を、それぞれ検索し、テーブル検索結果マージ部104がそれぞれの検索結果をマージする。担当者は検索式に含まれる共通項目名又は個別項目名が基本テーブル121に含まれているか拡張テーブル122に含まれているかを意識することなく検索を行うことが可能となる。なぜなら基本領域検索部101およびテナント固有拡張領域検索部103がそれぞれ検索条件毎に共通項目名を含むか否か、又は個別項目名を含むか否か判定し、判定の結果に応じた検索式を生成して検索を行うからである。また、担当者が検索の際に指定するクエリには各カラムが属するテーブルを指定する必要はないので、テーブル構造が変化されても、その変化に応じてクエリを変更する必要が無くなり、クエリの保守作業負担を低減することができる。
また、このような構成によれば、新たなテナントを追加する際に、テナント固有拡張領域検索部103を新たにコンピュータ100に備えることで、新たなテナントに所属する担当者はシステムが使用可能となり、テナントを増やす拡張作業負担を低減することができる。このテナント追加時においても既存のテナントにおける検索方法を変更する必要が無い。なぜなら、テナント毎にテーブルを検索するテナント固有拡張領域検索部103をコンピュータ100に備え、各テナント固有拡張領域検索部103はそれぞれが当該テナントの個別項目を検索する検索式を生成しているからである。
第1の実施の形態において、基本領域検索部102は検索条件を基に検索した検索結果に含まれるレコードIDの代わりに当該検索結果のレコードをテーブル検索結果マージ部104に送るようにし、テーブル検索結果マージ部104は受け取ったレコードに含まれるレコードIDを、検索結果を送ってきたテナント固有拡張領域検索部103に渡すようにしてもよい。
次に第2の実施の形態について説明する。
図9は本発明の第2の実施の形態における情報処理装置の構成例を示すブロック図である。
図9を参照すると、本発明の第2の実施の形態における情報処理装置は、情報端末110とそれぞれネットワーク10を介して接続され、記憶部220と通信可能に接続されたコンピュータ200である。なお、コンピュータ200と記憶部220とがネットワーク10を介して接続されていてもよい。またコンピュータ200は、記憶部220を含んで構成されていてもよい。また、図9を参照すると情報端末110が2台接続されているが、これに限られることは無く、1台以上の情報端末110とネットワーク10を介し通信可能に接続されていればよい。ここでは第2の実施の形態の第1の実施の形態と異なる点のみを説明し、同様の構成については、同様の符号を付して説明を省略する。
===記憶部220===
記憶部220について説明する。記憶部220は、図9に示すように少なくとも基本テーブル221および拡張テーブル122を記憶している。拡張テーブル122は第1の実施の形態における拡張テーブル122と同様である。
<基本テーブル221>
基本テーブル221は、図10に示すように第1の実施の形態における基本テーブル121の構成において、各カラムには当該カラムを識別する共通項目名又は拡張項目名が付されている点が異なる。
共通項目名は各カラムを識別するとともに当該カラムに記憶されている値の属性を示している。拡張項目名は各カラムを識別するためのものである。また、各拡張項目名は後述の領域名対応テーブル208にそれぞれ個別項目名と対応付けられて記憶されている。例えば図10の例を参照すると、各カラムを識別するとともに当該カラムに記憶されている値の属性を示す「ユーザID」および「メールアドレス」が共通項目名、各カラムを識別する「拡張領域1」、「拡張領域2」および「拡張領域3」が拡張項目名となる。
拡張項目名で識別されるカラムには、テナント毎に異なる属性の値が記憶される。例えば、テナントIDが‘1’のレコードにおいては、「拡張領域2」のカラムに「500万円台」、「700万円台」という数量を示す文字列が、テナントIDが‘2’のレコードにおいては、「拡張領域2」のカラムに「一戸建て」、「集合住宅」という居住形態を示す文字列が、それぞれ記憶されている。
===コンピュータ200===
次にコンピュータ200について説明する。コンピュータ200は、第1の実施の形態におけるコンピュータ100に含まれるテナント固有拡張領域検索部103a、103bを、テナント固有拡張領域検索部203a、203bにそれぞれ置き換えた点でコンピュータ100と異なる。テナント固有拡張領域検索部203a、203bはそれぞれ受信部101とテーブル検索結果マージ部104とそれぞれ接続されている。
<テナント固有拡張検索部203>
テナント固有拡張領域検索部203は、テナント毎にそれぞれコンピュータ100に備えられる。テナント固有拡張領域検索部203は、受信部101から検索式を受け取ると、領域名対応テーブル208を用いて当該検索式に含まれる検索条件毎に基本テーブル221または拡張テーブル122を検索するか判定したうえで判定の結果に応じたテーブルを検索し、検索した結果をテーブル検索結果マージ部104に渡す。前述の判定は、受け取った検索式に含まれる各検索条件について、当該検索条件に含まれる個別項目名が領域名対応テーブル208に含まれているか否かによって行う。
領域名対応テーブル208は、各テナント固有拡張領域検索部203に備えられ、個別項名と拡張項目名とを対応付けて記憶するものである。図11は、テナント固有拡張領域検索部203a、203bにそれぞれ備えられている領域名対応テーブル208a、208bをそれぞれ示している。テナント固有拡張領域検索部203は、受け取った検索式に含まれる各検索条件について、当該検索条件に含まれる個別項目名が領域名対応テーブル208に含まれているか否か調べる。含まれている場合にはテナント固有拡張領域検索部203は前述の検索条件に含まれる個別項目名を当該個別項目名に対応付けられている拡張項目名で置換する。そして、テナント固有拡張領域検索部203は当該拡張項目名に置換された検索条件を用いて、当該検索条件を満たすレコードを基本テーブル221から抽出する。さらにテナント固有拡張領域検索部203は、抽出されたレコードに含まれるレコードIDを持つレコードを拡張テーブル122から抽出し、拡張テーブル122から抽出されたレコードをテーブル検索結果マージ部104に渡す。
一方、受け取った検索式に含まれる各検索条件について、当該検索条件に含まれる個別項目名が領域名対応テーブル208に含まれていない場合にはテナント固有拡張領域検索部203は当該検索条件を満たすレコードを拡張テーブル122から抽出する。そして、テナント固有拡張領域検索部203は拡張テーブル122から抽出されたレコードをテーブル検索結果マージ部104に渡す。
第2の実施の形態では、第1の実施の形態と同様の効果を奏する。
次に第3の実施の形態について説明する。
図12は本発明の第3の実施の形態における情報処理装置の構成例を示すブロック図である。
図12を参照すると、本発明の第3の実施の形態における情報処理装置は、情報端末110とそれぞれネットワーク10を介して接続され、記憶部220と通信可能に接続されたコンピュータ300である。なお、コンピュータ300と記憶部220とがネットワーク10を介して接続されていてもよい。またコンピュータ300は、記憶部220を含んで構成されていてもよい。また、図12を参照すると情報端末110が2台接続されているが、これに限られることは無く、1台以上の情報端末110とネットワーク10を介し通信可能に接続されていればよい。ここでは第3の実施の形態の第2の実施の形態と異なる点のみを説明し、同様の構成については、同様の符号を付して説明を省略する。
===コンピュータ300===
コンピュータ300について説明する。コンピュータ300は、第2の実施の形態におけるコンピュータ200に含まれるテナント固有拡張領域検索部203a、203bを、テナント固有拡張領域検索部303に置き換えた点、および受信部101を受信部301に置き換えた点でコンピュータ200と異なる。テナント固有拡張領域検索部303はそれぞれ受信部301とテーブル検索結果マージ部104とそれぞれ接続されている。受信部301は基本領域検索部102とテナント固有拡張領域検索部303とそれぞれ接続されている。
<受信部301>
受信部301は、受信部101の構成において、情報端末110から受け取った検索式を受信部101が特定したテナントIDが示すテナント固有拡張領域検索部に渡す代わりに、情報端末110から受け取った検索式と受信部301が特定したテナントIDとをテナント固有拡張領域検索部303に渡すという点が受信部101と異なる。
<テナント固有拡張領域検索部303>
テナント固有拡張領域検索部303は、受信部301から検索式とテナントIDとを受け取ると、領域名対応テーブル308を用いて当該検索式に含まれる検索条件毎に基本テーブル221または拡張テーブル122を検索するか判定したうえで判定の結果に応じたテーブルを検索し、検索した結果をテーブル検索結果マージ部104に渡す。前述の判定は、受け取った検索式に含まれる各検索条件について、当該検索条件に含まれる個別項目名と受け取ったテナントIDとが対応付けられて領域名対応テーブル308に含まれているか否かによって行う。
領域名対応テーブル308は、テナント固有拡張領域検索部303に備えられ、個別項名と拡張項目名とテナントIDとを対応付けて記憶するものである。図13は、テナント固有拡張領域検索部303に備えられている領域名対応テーブル308を示している。テナント固有拡張領域検索部303は、受け取った検索式に含まれる各検索条件について、当該検索条件に含まれる個別項目名が受け取ったテナントIDと対応付けられて領域名対応テーブル308に記憶されているか否か調べる。記憶されている場合にはテナント固有拡張領域検索部303は前述の検索条件に含まれる個別項目名を当該個別項目名に対応付けられている拡張項目名で置換する。そして、テナント固有拡張領域検索部303は当該拡張項目名に置換された検索条件を用いて、当該検索条件を満たすレコードを基本テーブル221から抽出する。さらにテナント固有拡張領域検索部303は、抽出されたレコードに含まれるレコードIDを持つレコードを拡張テーブル122から抽出し、拡張テーブル122から抽出されたレコードをテーブル検索結果マージ部104に渡す。
一方、受け取った検索式に含まれる各検索条件について、当該検索条件に含まれる個別項目名が受け取ったテナントIDと対応付けられて領域名対応テーブル208に記憶されていない場合には、テナント固有拡張領域検索部303は当該検索条件を満たすレコードを拡張テーブル122から抽出する。そして、テナント固有拡張領域検索部303は拡張テーブル122から抽出されたレコードをテーブル検索結果マージ部104に渡す。
第3の実施の形態では、テナント固有拡張領域検索部303がテナントIDを受け取り、テナント固有拡張領域検索部303に備えられている領域名対応テーブル308を基に受け取ったテナントIDに対応付けられた個別項目名および拡張項目名と受け取った検索式とから新たな検索式を生成する。テナント固有拡張領域検索部303はこの検索式を用いて検索を行う。担当者は検索式に含まれる共通項目名又は個別項目名が基本テーブル121に含まれているか拡張テーブル122に含まれているかを意識することなく検索を行うことが可能となる。
また、このような構成によれば、新たなテナントを追加する際に、テナント固有拡張領域検索部303に備えられている領域名対応テーブル308を更新することで、システムが使用可能となり、テナントを増やす拡張作業負担を低減することができる。このテナント追加時においても既存のテナントにおける検索方法を変更する必要が無い。なぜなら、領域名対応テーブル308はテナント毎に検索式を生成するための情報として拡張項目名と個別項目名とを対応付けて記憶し、テナント固有拡張領域検索部303はこの領域名対応テーブル308に基づいて各テナントの個別項目を検索する検索式を生成しているからである。
次に第4の実施の形態について説明する。第4の実施の形態は第1の実施の形態を、具体例を用いて詳細に説明するものである。
情報端末110は、少なくとも中央演算装置(CPU)、メモリおよびネットワークインタフェースを備えるパーソナル・コンピュータであり、入力手段としてキーボード又はマウスを、表示手段としてディスプレイを備える。また、パーソナル・コンピュータ内のCPUは、メモリ上に展開されたプログラムを解釈実行することにより、図1に示すような、検索式指定部111および検索結果表示部112として機能する。
コンピュータ100は、サーバ装置であり、少なくともCPU、メモリおよびネットワークインタフェースを備える。フレキシブルディスクやCD−ROMなどのコンピュータで読み取り可能な記録媒体を読み取るための読取装置や、磁気記憶装置を備えていてもよい。コンピュータ100は、ネットワークインタフェースから受信したプログラムコードをメモリ上に展開し、あるいは、CD−ROM又は磁気記憶装置などに記憶されたプログラムコードを読み出してメモリ上に展開し、展開されたプログラムコードをCPUが解釈実行することで図1に示すような受信部101、基本領域検索部102、テナント固有拡張領域検索部103およびテーブル検索結果マージ部104として各種機能を実現するコンピュータとして動作する。
磁気記憶装置には、図5で示すように担当者を識別するユーザIDとテナントを識別するテナントIDとが対応付けられて記憶されている。また、磁気記憶装置には、図6で示すように基本テーブル121に含まれている共通項目名が共通項目名対応テーブル106として、図7で示すように拡張テーブル122に含まれている個別項目名が個別項目名対応テーブル107として記憶されている。
記憶部120はいわゆる記憶装置であり、少なくともネットワークインタフェースおよび磁気記憶装置を備える。磁気記憶装置には、図2および図3に示すような基本テーブル121と拡張テーブル122とがそれぞれ記憶されている。
今、テナントID‘1’のテナントに所属する担当者は、メールアドレスが‘l@m.n’であるユーザ又はDM可否が‘不可’であるテナントID‘1’のテナントのユーザの情報を取得したいとする。
まず、担当者によって情報端末110のキーボードなどの入力手段が操作され、プログラムが起動される。すなわち、情報端末110のメモリ上にプログラムが展開され、CPUがそのプログラムを解釈実行する。CPUは情報端末110の備えるディスプレイに検索式を指定させるための映像を表示し、担当者からの入力を待つ。担当者はキーボード又はマウスなどの入力手段により検索式および担当者のユーザIDを指定する。本実施の形態では検索式として、「SELECT * WHERE ‘メールアドレス’=‘l@m.n’ OR ‘DM可否’=‘不可’」が、ユーザIDとして‘10000’が、それぞれ指定されたとする。
この検索式に含まれる検索条件は、「‘メールアドレス’=‘l@m.n’」、「‘DM可否’=‘不可’」の2つとなる。また、個別項目名は、「DM可否」の1つとなる。共通項目名は、「メールアドレス」の1つとなる。
また、前述の検索式では「SELECT * WHERE」がコマンド文に相当し、この検索式は、「‘WHERE’以降にある各検索条件を満たすレコードの全項目を抽出する」ことを意味する。
担当者が検索式を入力すると、情報端末の検索式指定部111は、指定された検索式を、ネットワークインタフェースおよびネットワークを通じてコンピュータ100へ送信する。
コンピュータ100の受信部101は検索式として、「SELECT * WHERE ‘メールアドレス’=‘l@m.n’ OR ‘DM可否’=‘不可’」を、ユーザIDとして‘10000’を、それぞれネットワークインタフェースを通して受信すると、ユーザID‘10000’に対応付けられているテナントIDがコンピュータ100の磁気記憶装置に記憶されているかどうかを調べる。本実施の形態では‘10000’に対応するテナントIDとして‘1’が記憶されているため、受信部101は、‘1’を磁気記憶装置から読み出す。
受信部101は、受信した検索式「SELECT * WHERE ‘メールアドレス’=‘l@m.n’ OR ‘DM可否’=‘不可’」と読み出したテナントIDの‘1’とをコンピュータ100の基本領域検索部102に渡すとともに、当該検索式を当該テナントIDが示すコンピュータ100のテナント固有拡張領域検索部103に渡す。
次にコンピュータ100の基本領域検索部102は、検索式「SELECT * WHERE ‘メールアドレス’=‘l@m.n’ OR ‘DM可否’=‘不可’」からこの検索式を構成する検索条件とコマンド文とを抽出する。この検索式を構成する検索条件は「‘メールアドレス’=‘l@m.n’」、「‘DM可否’=‘不可’」という各文字列である。また、この検索式を構成するコマンド文は「SELECT * WHERE」という文字列である。これらの文字列を抽出するために特定の語を予約語とし、その語を目印にして抽出する方法がある。例えば、検索式に含まれる‘WHERE’をコマンド文と検索条件との境界の予約語とする。そして、検索式における‘WHERE’の前までの文字列をコマンド文、それ以降の文字列を1又は複数の検索条件とする。また、検索式に含まれる‘OR’または‘AND’を各検索条件の境界の予約語とする。そして、検索式における1又は複数の検索条件を‘OR’または‘AND’で区切り、各検索条件を抽出する。もちろん予約語はこれに限定されず、空白文字、句読点、特殊文字その他の境界を示す記号であればよい。また予約語は必須ではなく、無くてもよい。
次に基本領域検索部102は、各検索条件について磁気記憶装置に記憶されている共通項目名対応テーブル106を用いて共通項目名を含んでいるか否か調べる。そして基本領域検索部102は検索条件に共通項目名が含まれている検索条件のみを抽出する。本実施の形態の場合、図6に示すように‘メールアドレス’が共通項目名として記憶されており、‘DM可否’は共通項目名として記憶されていないので、基本領域検索部102は「‘メールアドレス’=‘l@m.n’」を抽出する。そして基本領域検索部102は抽出された検索条件毎にコマンド文を組み合わせて新たな検索式とし、新たな検索式毎に基本テーブル121を検索する。本実施の形態の場合、基本領域検索部102は「SELECT * WHERE ‘メールアドレス’=‘l@m.n’」という新たな検索式を生成し、基本テーブル121を検索する。この新たな検索式は「‘メールアドレス’が‘l@m.n’であるレコードの全項目を抽出する」指示であることを意味する。基本領域検索部102は検索式に含まれている文字列‘メールアドレス’という共通項目名をもつカラムを基本テーブル121から探し、次に探してきたカラムにこの検索式に含まれている文字列‘l@m.n’を含むか否かを調べる。そして、基本領域検索部102はこの文字列‘l@m.n’を含むレコードを検索結果として得る。すると、図14(a)に示すレコードが検索結果として得られる。次に基本領域検索部102は、検索結果に含まれるレコードIDの‘12’と検索条件「‘メールアドレス’=‘l@m.n’」を対応付けてコンピュータ100のテーブル検索結果マージ部104に渡すとともに、受け取った検索式「SELECT * WHERE ‘メールアドレス’=‘l@m.n’ OR ‘DM可否’=‘不可’」をテーブル検索結果マージ部104に渡す。
次に基本領域検索部102は、磁気記憶装置から読み出したテナントIDの‘1’を持つレコードを基本テーブル121から検索する。本実施の形態の場合、例えば基本領域検索部102が「SELECT * WHERE ‘テナントID’=‘1’」という新たな検索式を生成し、基本テーブル121を検索する、というように実現してもよい。この場合、図14(b)に示すレコードが検索結果として得られる。次に基本領域検索部102は、検索結果として得たレコードをテーブル検索結果マージ部104に渡す。
次にテナントIDを受信部101から受け取ったテナント固有拡張領域検索部103は、各検索条件について磁気記憶装置に記憶されている個別項目名対応テーブル107を用いて個別項目名を含んでいるか否か調べる。そしてテナント固有拡張領域検索部103は検索条件に個別項目名が含まれている検索条件のみを抽出する。本実施の形態の場合、図7に示すように‘DM可否’が個別項目名として記憶されており、‘メールアドレス’は個別項目名として記憶されていないので、テナント固有拡張領域検索部103は「‘DM可否’=‘不可’」を抽出する。そして抽出された検索条件毎にコマンド文を組み合わせて新たな検索式とし、新たな検索式毎に拡張テーブル122を検索する。本実施の形態の場合、テナント固有拡張領域検索部103は「SELECT * WHERE ‘DM可否’=‘不可’」という新たな検索式を生成し、拡張テーブル122を検索する。この新たな検索式は「‘DM可否’が‘不可’であるレコードの全項目を抽出する」指示であることを意味する。テナント固有拡張領域検索部103は検索式に含まれている文字列‘DM可否’という個別項目名をもつカラムを拡張テーブル122から探し、次に探してきたカラムにこの検索式に含まれている文字列‘不可’を含むか否かを調べる。そして、テナント固有拡張領域検索部103はこの文字列‘不可’を含むレコードを検索結果として得るとともに、当該検索結果に含まれるレコードIDを持つレコードも検索結果として得る。すると、図14(c)に示すようなレコードが検索結果として得られる。次にテナント固有拡張領域検索部103は、検索結果として得たレコードと検索条件「‘DM可否’=‘不可’」とを対応付けてテーブル検索結果マージ部104に渡す。
次にテーブル検索結果マージ部104は、基本領域検索部102からは検索式「SELECT * WHERE ‘メールアドレス’=‘l@m.n’ OR ‘DM可否’=‘不可’」と図14(b)に示すレコードとレコードIDの‘12’とを、テナント固有拡張領域検索部103からは図14(c)に示すようなレコードを、それぞれ受け取る。そしてテーブル検索結果マージ部104は、基本領域検索部102から受け取ったレコードIDの‘12’を、検索結果を渡してきたテナント固有拡張領域検索部103に渡す。テナント固有拡張領域検索部103は、受け取ったレコードIDの‘12’を持つレコードを拡張テーブルから検索し、検索結果として図14(d)に示すようなレコードを得る。テナント固有拡張領域検索部103は、検索結果として得たレコードをテーブル検索結果マージ部104に渡す。テーブル検索結果マージ部104は、テナント固有拡張領域検索部103から図14(d)に示すようなレコードを受け取る。テーブル検索結果マージ部104は、この受け取ったレコードとテナント固有拡張領域検索部103に送信したレコードIDに対応付けられた検索条件とを対応付ける。すなわち、‘メールアドレス’=‘l@m.n’と図14(d)に示すようなレコードとを対応付ける。
次に、テーブル検索結果マージ部104は、基本領域検索部102から受け取った検索式に基づいて受け取った検索結果をマージする。それぞれの検索結果には当該検索結果を得るために用いた検索条件が対応付けられており、各検索条件と当該検索条件間をつなぐ演算子に基づいてマージする。まずテーブル検索結果マージ部104は検索式「SELECT * WHERE ‘メールアドレス’=‘l@m.n’ OR ‘DM可否’=‘不可’」の最初の検索条件「メールアドレス’=‘l@m.n’」、二番目の検索条件「DM可否’=‘不可’」とそれらをつなぐ演算子‘OR’を参照する。「メールアドレス’=‘l@m.n’」に対応付けられた検索結果(図14(d))に含まれるレコードIDは‘12’、「‘DM可否’=‘不可’」に対応付けられた検索結果(図14(c))に含まれるレコードIDは、‘11’、‘13’であり、それらを‘OR’でつないでいるので、それらの論理和をとる。得られたレコードIDが示すレコード(図15(e))を検索条件「‘メールアドレス’=‘l@m.n’ OR ‘DM可否’=‘不可’」を用いて検索したときの検索結果とする。
次にテーブル検索結果マージ部104は、検索結果(図15(e))と基本領域検索部102から受け取ったレコード(図14(b))とを結合する。結合方法は、それぞれの検索結果中のレコードIDを持つレコード同士を結合することで実現する。マージの結果、図15(f)のレコードが得られる。
次にテーブル検索結果マージ部104は図15(f)のレコードを検索式とユーザIDとを送信してきた情報端末110に送信する。検索式指定部111は受け取った図15(f)のレコードを検索結果表示部112に表示させる。
なお上記説明において図14および図15では説明のため各カラムの名前を付しているが、実際にはこれらの項目は付いていなくてもよい。
以上、これまで述べてきた各実施の形態は、本発明の好適な実施形態であり、上記実施の形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
また、本発明の各実施の形態における各構成要素は、その機能をハードウェア的に実現することはもちろん、コンピュータとプログラムとで実現することができる。プログラムは磁気ディスクや半導体メモリなどのコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述して各実施の形態における構成要素として機能させる。
本発明によれば、SaaS(Software as a Service)によるマルチテナントへのサービス提供といった用途に適用できる。
本発明を実施するための第1の実施の形態の構成を示すブロック図である。 基本テーブル121の具体例を示す図である。 拡張テーブル122の具体例を示す図である。 仮想的なレコードの具体例を示す図である。 ユーザID対応テーブル105の具体例を示す図である。 共通項目名対応テーブル106の具体例を示す図である。 個別項目名対応テーブル107の具体例を示す図である。 本発明を実施するための第1の実施の形態の処理フローを示す図である。 本発明を実施するための第2の実施の形態の構成を示すブロック図である。 基本テーブル221の具体例を示す図である。 領域名対応テーブル208a、208bの具体例を示す図である。 本発明を実施するための第3の実施の形態の構成を示すブロック図である。 領域名対応テーブル308の具体例を示す図である。 本発明を実施するための第4の実施の形態において、各検索の動作の詳細な説明をするための図である。(a)本発明を実施するための第4の実施の形態において、基本領域検索部102が検索条件を基に検索した結果を示す。(b)本発明を実施するための第4の実施の形態において、基本領域検索部102がテナントIDを基に検索した結果を示す。(c)本発明を実施するための第4の実施の形態において、テナント固有拡張領域検索部103が検索条件を基に検索した結果を示す。(d)本発明を実施するための第4の実施の形態において、テナント固有拡張領域検索部103がテーブル検索結果マージ部から受け取ったレコードIDを基に検索した結果を示す。 本発明を実施するための第4の実施の形態において、各検索およびマージの動作の詳細な説明をするための図である。(e)テーブル検索結果マージ部104が、基本領域検索部102から受け取った検索式に基づいて受け取った検索結果をマージした結果を示す。(f)検索結果として得られたレコードを示す。
符号の説明
10 ネットワーク
100 コンピュータ
101 受信部
102 基本領域検索部
103a、103b テナント固有拡張領域検索部
104 テーブル検索結果マージ部
105 ユーザID対応テーブル
106 共通項目名対応テーブル
107 個別項目名対応テーブル
110 情報端末
111 検索式指定部
112 検索結果表示部
120 記憶部
121 基本テーブル
122 拡張テーブル
200 コンピュータ
203a、203b テナント固有拡張領域検索部
208a、208b 領域名対応テーブル
220 記憶部
221 基本テーブル
300 コンピュータ
301 受信部
303 テナント固有拡張領域検索部

Claims (5)

  1. 複数の事業者の少なくとも1つに所属する担当者に使用される情報端末と接続され、前記情報端末から送信されるデータベースの検索要求に応じて前記データベースを検索し前記情報端末に検索結果を送信する情報処理装置であって、
    前記データベースは、
    前記複数の事業者で共通する共通項目に分類されるデータを記憶する基本テーブルと、前記複数の事業者毎に異なる個別項目に分類されるデータを記憶する拡張テーブルと、を含み、
    前記情報処理装置は、
    前記拡張テーブルが記憶する個別項目の属性名を記憶する個別項目名対応テーブルと、
    前記情報端末から前記データベースの検索要求を受信する受信部と、
    前記受信部から送信される前記検索要求に基づいて前記共通項目のデータを検索する第1の検索式を生成し、前記基本テーブルから前記第1の検索式を満たすデータを検索する基本領域検索部と、
    前記受信部から送信される前記検索要求に、前記個別項目名対応テーブルが記憶する個別項目の属性名が含まれる場合に、前記個別項目のデータを検索する第2の検索式を生成し、前記拡張テーブルから前記第2の検索式を満たすデータを検索するテナント固有拡張領域検索部と、
    前記基本領域検索部が検索した前記共通項目のデータと前記テナント固有拡張領域検索部が検索した前記個別項目のデータとを結合して前記検索結果として前記情報端末に送信するテーブル検索結果マージ部と、
    を備え、
    前記情報処理装置は、複数の前記テナント固有拡張領域検索部を備え、
    前記複数のテナント固有拡張領域検索部のそれぞれは、前記複数の事業者のいずれかに対応し、
    前記受信部は、前記検索要求を送信してきた情報端末を使用する担当者が所属する事業者を前記検索要求に基づいて特定し、特定した事業者に対応するテナント固有拡張領域検索部に前記検索要求を送信する、
    情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記情報処理装置は、前記情報端末を使用する担当者を識別するユーザIDと前記複数の事業者を識別する情報とを対応付けて記憶するユーザID対応テーブルを備え、
    前記受信部は、ユーザIDを含む検索要求を前記情報端末から受信し、
    前記受信部は、前記検索要求に含まれるユーザIDに対応付けられて前記ユーザID対応テーブルに記憶されている事業者を識別する情報で、前記検索要求を送信してきた情報端末を使用する担当者が所属する事業者を特定する、情報処理装置。
  3. 請求項1または請求項2に記載の情報処理装置であって、
    前記データベースを含んで構成される情報処理装置。
  4. 複数の事業者の少なくとも1つに所属する担当者に使用される情報端末と接続され、前記情報端末から送信される、データベースの検索要求に応じて前記データベースを検索し前記情報端末に検索結果を送信する情報処理装置の制御方法であって、
    前記データベースは、複数の事業者で共通する共通項目に分類されるデータを記憶する基本テーブルと前記複数の事業者毎に異なる個別項目に分類されるデータを記憶する拡張テーブルとを含み、
    前記情報処理装置は、前記拡張テーブルが記憶する個別項目の属性名を記憶する個別項目名対応テーブルと、前記複数の事業者のいずれかに対応した複数のテナント固有拡張領域検索部と、を備え、
    前記制御方法は、
    前記情報処理装置が、前記情報端末から前記データベースの検索要求を受信し、
    前記情報処理装置が、前記検索要求に基づいて前記共通項目のデータを検索する第1の検索式を生成し、前記基本テーブルから前記第1の検索式を満たすデータを検索し、
    前記テナント固有拡張領域検索部が、前記検索要求に、前記個別項目名対応テーブルが記憶する個別項目の属性名が含まれる場合に、前記個別項目のデータを検索する第2の検索式を生成し、前記拡張テーブルから前記第2の検索式を満たすデータを検索し、
    前記情報処理装置が、前記検索した前記共通項目のデータと前記検索した前記個別項目のデータとを結合して前記検索結果として前記情報端末に送信
    前記検索要求を受信する際、前記情報処理装置が、前記検索要求を送信してきた情報端末を使用する担当者が所属する事業者を前記検索要求に基づいて特定し、特定した事業者に対応するテナント固有拡張領域検索部に前記検索要求を送信する
    情報処理装置の制御方法。
  5. 複数の事業者の少なくとも1つに所属する担当者に使用される情報端末と接続され、前記情報端末から送信される、データベースの検索要求に応じて前記データベースを検索し前記情報端末に検索結果を送信する情報処理装置に所定の処理を実行させるプログラムであって、
    前記データベースは、複数の事業者で共通する共通項目に分類されるデータを記憶する基本テーブルと前記複数の事業者毎に異なる個別項目に分類されるデータを記憶する拡張テーブルとを含み、
    前記情報処理装置は、前記拡張テーブルが記憶する個別項目の属性名を記憶する個別項目名対応テーブルと、複数のテナント固有拡張領域検索部と、を備え、
    前記複数のテナント固有拡張領域検索部のそれぞれは、前記複数の事業者のいずれかに対応し、
    前記プログラムは、情報処理装置に、
    前記情報端末から前記データベースの検索要求を受信する処理と、
    前記検索要求に基づいて前記共通項目のデータを検索する第1の検索式を生成し、前記基本テーブルから前記第1の検索式を満たすデータを検索する処理と、
    前記検索要求に、前記個別項目名対応テーブルが記憶する個別項目の属性名が含まれる場合に、前記テナント固有拡張領域検索部が、前記個別項目のデータを検索する第2の検索式を生成し、前記拡張テーブルから前記第2の検索式を満たすデータを検索する処理と、
    前記検索した前記共通項目のデータと前記検索した前記個別項目のデータとを結合して前記検索結果として前記情報端末に送信する処理と、を実行させ、
    前記検索要求を受信する処理において、前記検索要求を送信してきた情報端末を使用する担当者が所属する事業者を前記検索要求に基づいて特定し、特定した事業者に対応するテナント固有拡張領域検索部に前記検索要求を送信するプログラム。
JP2008057375A 2008-03-07 2008-03-07 情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラム Expired - Fee Related JP5358981B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008057375A JP5358981B2 (ja) 2008-03-07 2008-03-07 情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008057375A JP5358981B2 (ja) 2008-03-07 2008-03-07 情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラム

Publications (2)

Publication Number Publication Date
JP2009217315A JP2009217315A (ja) 2009-09-24
JP5358981B2 true JP5358981B2 (ja) 2013-12-04

Family

ID=41189141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008057375A Expired - Fee Related JP5358981B2 (ja) 2008-03-07 2008-03-07 情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラム

Country Status (1)

Country Link
JP (1) JP5358981B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5773910B2 (ja) * 2012-02-29 2015-09-02 三菱電機株式会社 アクセス制御装置及びアクセス制御方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256614A (ja) * 2002-03-05 2003-09-12 Nippon Telegr & Teleph Corp <Ntt> 電子申請システムおよび電子申請方法
US7779039B2 (en) * 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
JP4700462B2 (ja) * 2005-09-27 2011-06-15 株式会社野村総合研究所 データベース利用システム

Also Published As

Publication number Publication date
JP2009217315A (ja) 2009-09-24

Similar Documents

Publication Publication Date Title
JP2008234550A (ja) 専門家情報検索装置、専門家情報検索方法およびプログラム。
JP5221664B2 (ja) 情報マップ管理システムおよび情報マップ管理方法
JP2013182410A (ja) 業務分析設計支援装置、業務分析設計支援方法、および業務分析設計支援プログラム
US11200527B2 (en) Platform for evaluating and recommending process automations
JP2005242904A (ja) 文書群分析装置、文書群分析方法、文書群分析システム、プログラムおよび記録媒体
JPWO2010064317A1 (ja) 運用管理支援プログラム、該プログラムを記録した記録媒体、運用管理支援装置、および運用管理支援方法
JP2012159917A (ja) 文書管理システム、文書管理方法、及びプログラム
JP5358981B2 (ja) 情報処理装置、情報処理装置の制御方法および情報処理装置の制御用プログラム
CN115329753B (zh) 一种基于自然语言处理的智能数据分析方法和系统
JP2014074942A (ja) 情報収集プログラム、情報収集方法および情報処理装置
JP2013008237A (ja) 関連情報抽出プログラム、関連情報抽出方法及び関連情報抽出装置
JP6677624B2 (ja) 分析装置、分析方法、および分析プログラム
JP2012043258A (ja) 検索システム、検索装置、検索プログラム、記録媒体及び検索方法
JP6963372B2 (ja) 名刺情報管理システムおよび検索結果表示プログラム
JP4900475B2 (ja) 電子文書管理装置及び電子文書管理プログラム
JP6686519B2 (ja) 構成選定装置、構成選定システム、方法およびプログラム
JP6256079B2 (ja) 検索プログラム、検索方法及び検索装置
JP6455087B2 (ja) 帳票情報処理プログラム、帳票情報処理装置、および帳票情報処理方法
CN113672794B (zh) 页面生成方法、设备、介质
KR102413632B1 (ko) 문서 관리 장치 및 방법
JP2010218459A (ja) 情報処理装置、情報処理方法及びプログラム
JP2018147048A (ja) 人脈情報作成装置、人脈情報作成プログラム及び人脈情報作成方法
JP2008015830A (ja) 帳票のレイアウト構造出力装置及びレイアウト構造作成方法、並びにプログラム
JP2009199254A (ja) 電子メール送信システム、情報処理装置、電子メール送信方法、プログラム、及び記録媒体
JP2008287663A (ja) リソース管理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110218

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130709

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130819

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5358981

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees