JP2015191305A - content control system - Google Patents
content control system Download PDFInfo
- Publication number
- JP2015191305A JP2015191305A JP2014066487A JP2014066487A JP2015191305A JP 2015191305 A JP2015191305 A JP 2015191305A JP 2014066487 A JP2014066487 A JP 2014066487A JP 2014066487 A JP2014066487 A JP 2014066487A JP 2015191305 A JP2015191305 A JP 2015191305A
- Authority
- JP
- Japan
- Prior art keywords
- content
- information
- user
- identification information
- tenant
- 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.)
- Granted
Links
- 238000013507 mapping Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 16
- 230000010365 information processing Effects 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 24
- 238000006243 chemical reaction Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 20
- 238000012790 confirmation Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 101100517651 Caenorhabditis elegans num-1 gene Proteins 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- BASFCYQUMIYNBI-UHFFFAOYSA-N platinum Chemical compound [Pt] BASFCYQUMIYNBI-UHFFFAOYSA-N 0.000 description 4
- 235000014510 cooky Nutrition 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 229910052697 platinum Inorganic materials 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本件は、コンテンツの提供を制御する技術に関する。 This case relates to a technology for controlling provision of content.
近年、ウェブサイトで提供する画像や動画、音楽、文書、プログラム等のコンテンツを特定のユーザにしか提供しない、或いは、そのコンテンツを購入したユーザにしか提供しない、といった制御が行われることがある。 In recent years, there has been a control in which content such as images, moving images, music, documents, and programs provided on a website is provided only to a specific user or is provided only to a user who has purchased the content.
例えば、大手新聞社のウェブサイトでは、有料会員には記事全文の閲覧を許可し、有料会員以外には記事の一部しか閲覧を許可しないといった制御が行われているところもある。 For example, on a major newspaper company website, there are places where paying members are allowed to view full articles and non-paying members are allowed to view only a part of the articles.
上記のようにコンテンツの提供を制御する場合、例えば、静的なhtmlページでウェブサイトを構築しただけでは実現できない。この場合、ユーザの権限を確認し、権限に応じてコンテンツ提供の可否を動的に判断する機能を実現するため、例えばウェブサーバにCMS(Contents Management System)といったシステムを導入するか、そのような制御機能を独自に開発する必要がある。 When content provision is controlled as described above, for example, it cannot be realized simply by building a website with static html pages. In this case, for example, a system such as a CMS (Contents Management System) is introduced into the web server in order to realize a function of confirming the authority of the user and dynamically determining whether or not the content can be provided according to the authority. You need to develop your own control functions.
しかし、これらのシステムの導入や開発には、多大なコストや高い技術力を必要とするため、コンテンツ提供の制御を実現するのは難しいという問題があった。従って、コンテンツを取り扱う規模に比べて初期投資が高くなってしまうような中小の事業者にとっては、有料でコンテンツを提供する事業への参入が困難な状況となっている。 However, since the introduction and development of these systems require a great deal of cost and high technical capabilities, there is a problem that it is difficult to control the content provision. Therefore, it is difficult for small and medium businesses whose initial investment is higher than the scale for handling content to enter a business that provides content for a fee.
更に、ブログなど個人ベースの情報メディアについても、コンテンツを有料化したいという潜在的なニーズがあると思われるが、小規模であってもコンテンツを制御する機能は上記と同じシステムが必要となるため、個人ベースの情報メディアにおいてコンテンツを制御するシステムの導入は現実的でなかった。 Furthermore, for personal information media such as blogs, there seems to be a potential need to charge content, but the same system is required for controlling content even if it is small. The introduction of a system for controlling content in an individual-based information medium has not been realistic.
そこで本発明は、コンテンツの提供を制御するシステムの導入を容易に可能とする技術を提供する。 Therefore, the present invention provides a technique that enables easy introduction of a system for controlling the provision of content.
本発明に係るコンテンツ制御システムは、
ユーザ端末に対してコンテンツを提供する複数のコンテンツサーバと、ネットワークを介して前記複数のコンテンツサーバと接続して前記コンテンツの提供を制御する制御装置とを有し、
前記コンテンツサーバが、
前記ユーザ端末からコンテンツの提供の要求を受信する要求受信部と、
前記要求と対応するコンテンツを前記ユーザ端末へ送信するコンテンツ送信部と、
前記ユーザを識別するユーザ識別情報、及び前記コンテンツサーバを運営する事業者を識別する事業者識別情報を含む問い合わせ情報を前記制御装置へ送信する問い合わせ部と、
前記制御装置から前記問い合わせの回答として制御情報を受信し、前記制御情報に基づいて前記コンテンツの提供が不可の場合には前記要求に対して前記コンテンツの送信を行わせない制御情報処理部と、
を備え、
前記制御装置が、
前記コンテンツサーバから問い合わせ情報を受信する問い合わせ受信部と、
前記事業者をテナントとして、複数のテナントで物理テーブルを共有し、前記テナント毎に定義される論理テーブルのカラムと前記物理テーブルのカラムとの対応付けを前記テナント毎に定義するマッピング情報に基づいて、前記事業者識別情報、前記ユーザ識別情報、及びユーザ情報を対応付けて記憶するマルチテナントデータベースから、前記マッピング情報に基づいて前記問い合わせ情報の前記事業者識別情報及び前記ユーザ識別情報と対応する前記ユーザ情報を抽出する抽出部と、
前記ユーザ情報に基づく制御情報を問い合わせ元の前記コンテンツサーバへ送信する回答送信部と、を備える。
The content control system according to the present invention includes:
A plurality of content servers that provide content to a user terminal, and a control device that controls the provision of the content by connecting to the plurality of content servers via a network;
The content server is
A request receiving unit for receiving a content provision request from the user terminal;
A content transmission unit that transmits content corresponding to the request to the user terminal;
An inquiry unit for transmitting inquiry information including user identification information for identifying the user and operator identification information for identifying an operator operating the content server to the control device;
A control information processing unit that receives control information as an answer to the inquiry from the control device, and that does not transmit the content in response to the request when the content cannot be provided based on the control information;
With
The control device is
An inquiry receiver for receiving inquiry information from the content server;
Based on the mapping information that defines the correspondence between the logical table column defined for each tenant and the physical table column for each tenant, sharing the physical table among the tenants with the operator as the tenant. From the multi-tenant database that stores the operator identification information, the user identification information, and the user information in association with each other, based on the mapping information, the operator identification information and the user identification information corresponding to the inquiry information An extraction unit for extracting user information;
An answer transmission unit configured to transmit control information based on the user information to the content server as an inquiry source.
前記コンテンツ制御システムは、
前記問い合わせ部が、前記問い合わせ情報として、前記ユーザ識別情報及び前記事業者識別情報に加えて、要求する前記コンテンツを識別するコンテンツ識別情報を送信し、
前記制御装置が、前記コンテンツ識別情報に応じたコンテンツの提供条件を前記ユーザ情報が満たすか否かを判定し、少なくとも当該判定の結果を前記制御情報とする判定部を更に備えても良い。
The content control system includes:
The inquiry unit transmits, as the inquiry information, content identification information for identifying the requested content in addition to the user identification information and the operator identification information,
The control apparatus may further include a determination unit that determines whether or not the user information satisfies a content provision condition according to the content identification information, and uses at least a result of the determination as the control information.
また、本発明に係るコンテンツ制御システムは、
ユーザ端末に対してコンテンツを提供する複数のコンテンツサーバと、ネットワークを介して前記複数のコンテンツサーバと接続して前記コンテンツの提供を制御する制御装置とを有し、
前記制御装置が、
ユーザ端末に対してコンテンツを提供する複数のコンテンツサーバと、ネットワークを介して接続して前記コンテンツの提供を制御する制御装置であって、
前記ユーザ端末からコンテンツの提供の要求を受信し、前記要求に基づいて、前記コンテンツを識別するコンテンツ識別情報、前記ユーザを識別するユーザ識別情報、及び要求された前記コンテンツを提供する前記コンテンツサーバの事業者を識別する事業者識別情報を取得する要求受信部と、
前記事業者をテナントとして、複数のテナントで物理テーブルを共有し、前記テナント毎に定義される論理テーブルのカラムと前記物理テーブルのカラムとの対応付けを前記テナント毎に定義するマッピング情報に基づいて、前記事業者識別情報、前記ユーザ識別情報、及びユーザ情報を対応付けて記憶するマルチテナントデータベースから、前記マッピング情報に基づいて前記問い合わせ情報の前記事業者識別情報及び前記ユーザ識別情報と対応する前記ユーザ情報を抽出する抽出部と、
前記ユーザ情報に基づいて前記コンテンツの提供の可否を判定する判定部と、
前記判定の結果に基づいて前記コンテンツを前記コンテンツサーバから取得して要求元の前記ユーザ端末へ送信するコンテンツ送信部と、
を備える。
Moreover, the content control system according to the present invention includes:
A plurality of content servers that provide content to a user terminal, and a control device that controls the provision of the content by connecting to the plurality of content servers via a network;
The control device is
A plurality of content servers that provide content to a user terminal, and a control device that controls the provision of the content by connecting via a network,
A request for providing content from the user terminal, and content identification information for identifying the content, user identification information for identifying the user, and the content server that provides the requested content based on the request A request receiving unit for acquiring business operator identification information for identifying a business operator;
Based on the mapping information that defines the correspondence between the logical table column defined for each tenant and the physical table column for each tenant, sharing the physical table among the tenants with the operator as the tenant. From the multi-tenant database that stores the operator identification information, the user identification information, and the user information in association with each other, based on the mapping information, the operator identification information and the user identification information corresponding to the inquiry information An extraction unit for extracting user information;
A determination unit that determines whether the content can be provided based on the user information;
A content transmission unit that acquires the content from the content server based on the result of the determination and transmits the content to the requesting user terminal;
Is provided.
前記コンテンツ制御システムは、
前記制御装置が、前記マッピング情報に基づき、前記論理テーブルにおけるレコードを
、前記物理テーブルにおける第1のレコード及び第2のレコードに分解し、当該第1のレコードと当該第2のレコードとの接続関係を示す情報を付与して登録する登録部を備え、
前記抽出部が、前記マッピング情報及び前記接続関係を示す情報に基づき、前記第1のレコード及び前記第2のレコードを前記物理テーブルから読み出し、結合して出力しても良い。
The content control system includes:
Based on the mapping information, the control device disassembles the record in the logical table into a first record and a second record in the physical table, and a connection relationship between the first record and the second record A registration unit for registering with information indicating
The extraction unit may read the first record and the second record from the physical table based on the mapping information and information indicating the connection relationship, and output the combined record.
本発明に係るコンテンツ制御方法は、
ユーザ端末に対してコンテンツを提供する複数のコンテンツサーバと、ネットワークを介して前記複数のコンテンツサーバと接続して前記コンテンツの提供を制御する制御装置とが実行するコンテンツ制御方法であって、
前記コンテンツサーバが、
前記ユーザ端末からコンテンツの提供の要求を受信するステップと、
前記要求と対応するコンテンツを前記ユーザ端末へ送信するステップと、
前記ユーザを識別するユーザ識別情報、及び前記コンテンツサーバを運営する事業者を識別する事業者識別情報を含む問い合わせ情報を前記制御装置へ送信するステップと、
前記制御装置から前記問い合わせの回答として制御情報を受信し、前記制御情報に基づいて前記コンテンツの提供が不可の場合には前記要求に対して前記コンテンツの送信を行わせないステップと、を実行し、
前記制御装置が、
前記コンテンツサーバから問い合わせ情報を受信するステップと、
前記事業者をテナントとして、複数のテナントで物理テーブルを共有し、前記テナント毎に定義される論理テーブルのカラムと前記物理テーブルのカラムとの対応付けを前記テナント毎に定義するマッピング情報に基づいて、前記事業者識別情報、前記ユーザ識別情報、及びユーザ情報を対応付けて記憶するマルチテナントデータベースから、前記マッピング情報に基づいて前記問い合わせ情報の前記事業者識別情報及び前記ユーザ識別情報と対応する前記ユーザ情報を抽出するステップと、
前記ユーザ情報に基づく制御情報を問い合わせ元の前記コンテンツサーバへ送信するステップと、
を実行する。
The content control method according to the present invention includes:
A content control method executed by a plurality of content servers that provide content to a user terminal, and a control device that controls the provision of the content by connecting to the plurality of content servers via a network,
The content server is
Receiving a content provision request from the user terminal;
Transmitting content corresponding to the request to the user terminal;
Transmitting inquiry information including user identification information for identifying the user and operator identification information for identifying an operator operating the content server to the control device;
Receiving control information as an answer to the inquiry from the control device, and not providing the content in response to the request when the content cannot be provided based on the control information, ,
The control device is
Receiving inquiry information from the content server;
Based on the mapping information that defines the correspondence between the logical table column defined for each tenant and the physical table column for each tenant, sharing the physical table among the tenants with the operator as the tenant. From the multi-tenant database that stores the operator identification information, the user identification information, and the user information in association with each other, based on the mapping information, the operator identification information and the user identification information corresponding to the inquiry information Extracting user information;
Transmitting control information based on the user information to the content server of the inquiry source;
Execute.
前記コンテンツ制御方法において、
前記コンテンツサーバが、前記問い合わせ情報として、前記ユーザ識別情報及び前記事業者識別情報に加えて、要求する前記コンテンツを識別するコンテンツ識別情報を送信し、
前記制御装置が、前記コンテンツ識別情報に応じたコンテンツの提供条件を前記ユーザ情報が満たすか否かを判定し、少なくとも当該判定の結果を前記制御情報としても良い。
In the content control method,
The content server transmits, as the inquiry information, content identification information for identifying the requested content in addition to the user identification information and the operator identification information,
The control device may determine whether or not the user information satisfies a content provision condition according to the content identification information, and at least a result of the determination may be used as the control information.
また、本発明に係る制御方法は、
ユーザ端末に対してコンテンツを提供する複数のコンテンツサーバとネットワークを介して接続して前記コンテンツの提供を制御する制御装置が実行するコンテンツ制御方法であって、
前記ユーザ端末からコンテンツの提供の要求を受信し、前記要求に基づいて、前記コンテンツを識別するコンテンツ識別情報、前記ユーザを識別するユーザ識別情報、及び要求された前記コンテンツを提供する前記コンテンツサーバの事業者を識別する事業者識別情報を取得するステップと、
前記事業者をテナントとして、複数のテナントで物理テーブルを共有し、前記テナント毎に定義される論理テーブルのカラムと前記物理テーブルのカラムとの対応付けを前記テナント毎に定義するマッピング情報に基づいて、前記事業者識別情報、前記ユーザ識別情報、及びユーザ情報を対応付けて記憶するマルチテナントデータベースから、前記マッピング情報に基づいて前記問い合わせ情報の前記事業者識別情報及び前記ユーザ識別情報と
対応する前記ユーザ情報を抽出するステップと、
前記ユーザ情報に基づいて前記コンテンツの提供の可否を判定する判定部と、
前記判定の結果に基づいて前記コンテンツを前記コンテンツサーバから取得して要求元の前記ユーザ端末へ送信するステップと、
を実行する。
Moreover, the control method according to the present invention includes:
A content control method executed by a control device connected to a plurality of content servers that provide content to a user terminal via a network and controlling the provision of the content,
A request for providing content from the user terminal, and content identification information for identifying the content, user identification information for identifying the user, and the content server that provides the requested content based on the request Obtaining operator identification information for identifying the operator;
Based on the mapping information that defines the correspondence between the logical table column defined for each tenant and the physical table column for each tenant, sharing the physical table among the tenants with the operator as the tenant. From the multi-tenant database that stores the operator identification information, the user identification information, and the user information in association with each other, based on the mapping information, the operator identification information and the user identification information corresponding to the inquiry information Extracting user information;
A determination unit that determines whether the content can be provided based on the user information;
Acquiring the content from the content server based on the result of the determination and transmitting the content to the requesting user terminal;
Execute.
前記コンテンツ制御方法において、
前記制御装置が、前記マッピング情報に基づき、前記論理テーブルにおけるレコードを、前記物理テーブルにおける第1のレコード及び第2のレコードに分解し、当該第1のレコードと当該第2のレコードとの接続関係を示す情報を付与して登録し、
前記マッピング情報及び前記接続関係を示す情報に基づき、前記第1のレコード及び前記第2のレコードを前記物理テーブルから読み出し、結合して出力しても良い。
In the content control method,
Based on the mapping information, the control device disassembles the record in the logical table into a first record and a second record in the physical table, and a connection relationship between the first record and the second record Register with information indicating
Based on the mapping information and the information indicating the connection relationship, the first record and the second record may be read from the physical table, combined and output.
上記課題を解決するための手段の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、本発明は、方法をコンピュータに実行させるためのプログラムであってもよい。プログラムは、コンピュータが読み取り可能な記録媒体に記録して提供するようにしてもよい。コンピュータが読み取り可能な記録媒体とは、情報を電気的、磁気的、光学的、機械的、又は化学的作用によって蓄積し、コンピュータによって読み取ることができる記録媒体をいう。このような記録媒体のうち、コンピュータから取り外し可能なものとしては、例えば光ディスク、光磁気ディスク、フレキシブルディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としてHDD(Hard Disk Drive)、SSD(Solid State Drive)、ROM(Read
Only Memory)等がある。
The contents of the means for solving the above problems can be combined as much as possible without departing from the problems and technical ideas of the present invention. Further, the present invention may be a program for causing a computer to execute the method. The program may be provided by being recorded on a computer-readable recording medium. A computer-readable recording medium refers to a recording medium that stores information by electrical, magnetic, optical, mechanical, or chemical action and can be read by a computer. Among such recording media, those removable from the computer include, for example, optical disks, magneto-optical disks, flexible disks, magnetic tapes, memory cards, and the like. Also, HDD (Hard Disk Drive), SSD (Solid State Drive), ROM (Read
Only Memory).
本発明によれば、コンテンツの提供を制御するシステムの導入を容易に可能とする技術を提供できる。 ADVANTAGE OF THE INVENTION According to this invention, the technique which enables introduction of the system which controls provision of a content easily can be provided.
以下、図面を参照して本発明を実施するための形態について説明する。以下の実施の形態の構成は例示であり、本発明は実施の形態の構成に限定されない。
《実施形態1》
<システム構成>
図1は、本発明に係るコンテンツ制御システム100の概略構成の一例を示す図である。図1において、コンテンツ制御システム100は、ユーザ端末3に対してコンテンツを提供する複数のコンテンツサーバ2と、ネットワークNを介して複数のコンテンツサーバ2と接続して前記コンテンツの提供を制御する制御装置1とを有している。
Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. The configuration of the following embodiment is an exemplification, and the present invention is not limited to the configuration of the embodiment.
<System configuration>
FIG. 1 is a diagram showing an example of a schematic configuration of a content control system 100 according to the present invention. In FIG. 1, a content control system 100 is connected to a plurality of
コンテンツサーバ2は、ウェブサイト上で、画像や動画、音楽、文書、プログラム等のコンテンツを提供する所謂ウェブサーバである。コンテンツサーバ2は、例えば、静的なHTMLファイルで構成されたシンプルなウェブサイトを提供する。また、コンテンツサーバ2は、会員管理機能や閲覧制御機能を持たない簡易的なCMS(Contents Management System)を有するものでも良い。
The
ユーザ端末3は、ユーザの操作によって、ネットワークNを介してコンテンツサーバ2にアクセスし、コンテンツサーバ2にコンテンツの提供を要求する。例えば、コンテンツサーバ2に対してユーザがウェブブラウザを起動させ、リンクを選択する等して、閲覧するウェブページを指定すると、ユーザ端末3は、当該ウェブページのURLと当該ウェブページを要求するメソッドをコンテンツサーバ2に送信する。ここで本実施形態1のコンテンツ制御システム100は、コンテンツサーバ2が受信した要求をフックし、制御装置1がコンテンツの提供、即ち当該ウェブページ提供の可否を判定して制御情報をコンテンツサーバ2に送信する。コンテンツサーバ2は、この制御情報に基づき、提供可であれば当該ウェブページをユーザ端末3に送信し、提供不可であれば当該ウェブページをユーザ端末3に提供しない。このように本実施形態1のコンテンツ制御システム100は、閲覧制御機能を持たないコンテンツサーバ2に対するコンテンツの要求に対し、このコンテンツの提供の可否を制御装置1が制御するシステムである。即ち、本実施形態1のコンテンツ制御システム100は、制御装置1がコンテンツサーバ2に対して閲覧制御機能を所謂SaaS(Software as a Service)として提供する。
The
<コンテンツサーバ>
図2は、コンテンツサーバ2の一例を示す機能ブロック図である。図2のコンテンツサーバ2は、要求受信部21と、コンテンツ送信部22と、問い合わせ部23と、制御情報処理部24とを有する。このうち、問い合わせ部23と制御情報処理部24は、後述のように本実施形態用のプラグインモジュールPMによって提供される。
<Content server>
FIG. 2 is a functional block diagram illustrating an example of the
要求受信部21は、ユーザ端末3からコンテンツの提供の要求を受信する。要求受信部21は、受信した要求に基づき、要求されたコンテンツを示す情報、例えばURLをメモ
リに格納する。
コンテンツ送信部22は、要求受信部21で受信した要求に応じたコンテンツをユーザ端末3へ送信する。
The
The
問い合わせ部23は、要求したユーザを識別するユーザ識別情報、及びコンテンツサーバを運営する事業者を識別する事業者識別情報を含む問い合わせ情報を制御装置1へ送信する。ここで事業者は、例えばコンテンツサーバ2を用いてコンテンツを提供する個人や組織である。
The
制御情報処理部24は、制御装置1から前記問い合わせの回答として制御情報を受信し、当該制御情報に基づいてコンテンツの提供が不可の場合には前記要求に対して前記コンテンツの送信を行わせない。例えば、要求されたコンテンツの替りに、エラーの内容を示すウェブページ(エラーページ)を出力するようにする。具体的には、コンテンツ送信部22が、要求されたコンテンツのURLを所定のメモリ領域から取得する場合に、制御情報処理部24は、このメモリ領域のURLを置き換えることで要求を無効にする。このように制御情報処理部24がURLを置き換えることで、コンテンツ送信部22にコンテンツを取得させず、コンテンツの送信を行わせないようにする。また、制御情報処理部24がURLを置き換えることで、コンテンツ送信部22は、エラーメッセージ等を示す別のウェブページを送信する、即ち要求されたコンテンツの送信を行わせないようにしても良い。
一方、制御情報処理部24は、コンテンツの提供が可の場合には前記要求に対して、通常通り要求されたコンテンツの送信を行わせる。
The control
On the other hand, when the content can be provided, the control
要求受信部21及びコンテンツ送信部22は、一般的なウェブサーバと同じ機能である。即ち、情報処理装置にアパッチソフトウェアファウンデーションのApache HTTP Serverやマイクロソフト社のIIS(Internet Information Service)といったウェブサーバソウ
トウェアを実行させることで構成される既存のウェブサーバにおいて、ユーザ端末からリクエストを受信し、このリクエストに応じたコンテンツを配信する機能が、要求受信部21及びコンテンツ送信部22に相当する。
The
そして、この既存のウェブサーバに、各ウェブサーバ固有のモジュール形式やJAVA(登録商標)のServletFilter等のプログラムモジュールPM(以下、単にプラグインモ
ジュールとも称す)を提供し、実行させることによって、問い合わせ部23や制御情報処理部24を備えたコンテンツサーバ2を構成できる。即ち、既存のウェブサーバに、本実施形態用のプラグインモジュールを追加するだけで、本実施形態1におけるコンテンツサーバ2を構成できる。
Then, by providing the existing web server with a module format unique to each web server and a program module PM (hereinafter also simply referred to as a plug-in module) such as JAVA (registered trademark) ServletFilter, the
<制御装置>
図3は、制御装置1の一例を示す機能ブロック図である。図3の制御装置1は、データ操作部10と、物理テーブル11と、メタデータ記憶部12と、設定部13と、要求受付部14と、変換部15と、結果応答部16と、判定部17、条件記憶部18、決済部19、料金記憶部91とを有する。
<Control device>
FIG. 3 is a functional block diagram illustrating an example of the
物理テーブル11は、所定のデータ構造(スキーマ)で物理的なファイルとしてデータレコードを格納する記憶装置である。本実施形態1では、データ構造が同一の物理テーブル11を、複数のテナントが共有する。すなわち、異なるテナントのデータを同一の物理テーブル11に保持する。 The physical table 11 is a storage device that stores data records as physical files with a predetermined data structure (schema). In the first embodiment, a plurality of tenants share the physical table 11 having the same data structure. That is, data of different tenants is held in the same physical table 11.
また、データ操作部10は、レコードの挿入(登録)、レコードの選択(検索)、レコードの更新、レコードの削除等の操作を物理テーブル11に対して行う。
In addition, the
また、メタデータ記憶部12は、各テナントが業務等に応じて定義する論理テーブルのデータ構造と物理テーブル11のデータ構造との対応付けを示すメタデータを記憶する。本実施形態1では、物理テーブル11は各テナントに共通であり、汎用的なデータ構造を有している。そして、メタデータにおいて、論理テーブルの1カラム(「列」、「項目」、「フィールド」とも呼ぶ)に対し、物理テーブル11の1カラムを割り当てる。このとき、対応するデータ型のカラムを割り当てるものとする。なお、メタデータを「マッピング情報」とも呼ぶ。
Further, the
ここで、各テナントが定義する論理テーブルの1レコードは、物理テーブル11の1レコードで保持できない場合がある。例えば、物理テーブル11のカラム数の方が論理テーブルのカラム数よりも少ない場合は論理テーブルのレコードを物理テーブルの1レコードでは保持することができない。また、あるデータ型のカラムが、物理テーブル11に予め用意された数の方が論理テーブルに定義された数よりも少ない場合も、論理テーブルのレコードを物理テーブルの1レコードで保持することができない。このような場合、論理テーブルにおける1レコードを、物理テーブル11における2以上のレコードに分解して保持する。このため、物理テーブル11は、複数のレコードの接続関係(「ページ」とも呼ぶ)を示すカラムを含む。そして、メタデータは、論理テーブルのカラムと、物理テーブル11のカラム及びページとを対応付けることで、値を1対1に対応付けるものとする。 Here, one record of the logical table defined by each tenant may not be held by one record of the physical table 11. For example, if the number of columns in the physical table 11 is smaller than the number of columns in the logical table, a record in the logical table cannot be held by one record in the physical table. Further, even when the number of columns of a certain data type prepared in the physical table 11 is smaller than the number defined in the logical table, the logical table record cannot be held by one record in the physical table. . In such a case, one record in the logical table is divided into two or more records in the physical table 11 and held. For this reason, the physical table 11 includes a column indicating a connection relationship (also referred to as “page”) of a plurality of records. The metadata associates the values of the logical table columns with the columns and pages of the physical table 11 in a one-to-one correspondence.
設定部13は、ネットワークNを介して各事業者の管理者端末4からメタデータを設定するための命令を受け付け、メタデータ記憶部12に記憶させる。なお、管理者端末4は、メタデータを設定するための命令を入力できる情報処理装置であれば良く、例えばコンテンツサーバ2であっても良い。また、制御装置1の操作者が、事業者側から設定の内容を聞き取り、メタデータを設定するための命令を制御装置1に直接入力しても良い。また、設定部13は、ネットワークNを介して各事業者の管理者端末4からコンテンツの提供条件を設定するための命令を受け付け、条件記憶部18に記憶させる。
The setting
要求受付部14は、ネットワークNを介してコンテンツサーバ2や管理者端末4、ユーザ端末3等の他の装置からデータ操作を行うための要求を受け付け、変換部15に渡す。従って、要求受付部14は、本実施形態1において、コンテンツサーバ2から問い合わせ情報を受信する問い合わせ受信部でもある。
The
変換部15は、メタデータ記憶部12が記憶するメタデータに基づいて、テナント端末から受け付けたデータ操作要求を、物理テーブル11に対するデータ操作命令(「クエリ」、「問合せ」とも呼ぶ)に変換し、データ操作部10に伝送する。例えば、他の装置から事業者識別情報や、ユーザ識別情報、及びユーザ情報の登録を要求された場合、変換部15は、これらの情報をメタデータに基づいて対応付けてデータ操作部10へ渡し、物理テーブル11に記憶させる。
Based on the metadata stored in the
また、変換部15は、データ操作部10から取得したデータ操作の結果を受け取り、各テナントの論理テーブルにおける項目に変換して結果応答部16や判定部17に渡す。従って、変換部15は、本実施形態1において、物理テーブル10から、マッピング情報に基づいて問い合わせ情報の事業者識別情報及びユーザ識別情報と対応するユーザ情報を抽出する抽出部でもある。
In addition, the
判定部17は、条件記憶部18から事業者識別情報に応じたコンテンツの提供条件を読出し、変換部15から渡されたユーザ情報が、コンテンツの提供条件を満たすか否かを判定し、少なくとも当該判定の結果を制御情報として結果応答部16へ渡す。また、コンテンツの提供条件がコンテンツ毎に設定されている場合、判定部17は、条件記憶部18か
ら事業者識別情報及びコンテンツ識別情報に応じたコンテンツの提供条件を読出し、変換部15から渡されたユーザ情報が、コンテンツの提供条件を満たすか否かを判定し、当該判定の結果を制御情報として結果応答部16へ渡しても良い。
The
結果応答部16は、コンテンツサーバ2や管理者端末4、ユーザ端末3等の装置から受け付けたデータ操作要求の結果を、要求元の装置へ送信する。従って、結果応答部16は、本実施形態1において、ユーザ情報に基づく制御情報を問い合わせ元の前記コンテンツサーバ2へ送信する回答送信部でもある。
The
決済部19は、ユーザが入会する際の会費やコンテンツを購入する費用を受領して、決済するための処理を行う。例えば、ユーザ端末3からクレジットカードの情報を受信し、ネットワークを介してカード会社のサーバ(不図示)にアクセスし、クレジットカードの情報と金額を通知してクレジットカードの利用を要求し、クレジットカードの利用が可能、即ち支払いが可能であれば、ユーザ情報をマルチテナントデータベースに登録させてコンテンツの提供を可能とする。
The
これに限らず決済部19は、ユーザ端末3からプレペイドカード(システム)や電子マネーの情報を受信し、ネットワークを介してプレペイドカード(システム)や電子マネーを運営する会社のサーバ(不図示)にアクセスし、プレペイドカード(システム)や電子マネーの情報と金額を通知して利用を要求し、この利用が可能、即ち支払いが可能であれば、ユーザ情報をマルチテナントデータベースに登録させてコンテンツの提供を可能としても良い。
The
また、決済部19は、コンビニ払いや銀行振り込み等で後払いするための番号等をユーザ端末3に送信して表示させ、ユーザ情報をマルチテナントデータベースに仮登録させておき、後日支払先の口座を管理するサーバ等にアクセスして、支払いが確認できた場合にユーザ情報を本登録させても良い。
In addition, the
<装置構成>
図4は、コンピュータの一例を示す装置構成図である。制御装置1、コンテンツサーバ2、ユーザ端末3、及び管理者端末4は、図4に示すようなコンピュータである。図4に示すコンピュータ1000は、CPU(Central Processing Unit)1001、主記憶装
置1002、補助記憶装置1003、通信IF(Interface)1004、入出力IF(Interface)1005、ドライブ装置1006、通信バス1007を備えている。CPU1001は、プログラム(「ソフトウェア」又は「アプリケーション」とも呼ぶ)を実行することにより本実施の形態に係る処理を行う。主記憶装置1002は、CPU1001が読み出したプログラムやデータをキャッシュしたり、CPUの作業領域を展開したりする。
<Device configuration>
FIG. 4 is an apparatus configuration diagram illustrating an example of a computer. The
主記憶装置は、具体的には、RAM(Random Access Memory)やROM(Read Only Memory)等である。補助記憶装置1003は、CPU1001により実行されるプログラムや、本実施の形態で用いる設定情報などを記憶する。補助記憶装置1003は、具体的には、HDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等である。主記憶装置1002や補助記憶装置1003は、制御装置1の物理テーブル11やメタデータ記憶部12、その他の一時データを記憶する手段として働く。通信IF1004は、他のコンピュータとの間でデータを送受信する。通信IF1004は、具体的には、有線又は無線のネットワークカード等である。制御装置1及びコンテンツサーバ2は、通信IF1004を介してインターネット等のネットワークNに接続されている。
Specifically, the main storage device is a RAM (Random Access Memory), a ROM (Read Only Memory), or the like. The
入出力IF1005は、入出力装置と接続され、ユーザから操作を受け付けたり、ユーザへ情報を提示したりする。入出力装置は、具体的には、キーボード、マウス、ディスプ
レイ、タッチパネル等である。ドライブ装置1006は、磁気ディスク、光磁気ディスク、光ディスク等の記憶媒体に記録されたデータを読み出したり、記憶媒体にデータを書き込んだりする。以上のような構成要素が、通信バス1007で接続されている。なお、これらの構成要素はそれぞれ複数設けられていてもよいし、一部の構成要素(例えば、ドライブ装置1006等)を設けないようにしてもよい。また、入出力装置がコンピュータと一体に構成されていてもよい。また、ドライブ装置1006で読み取り可能な可搬性の記憶媒体や、フラッシュメモリのような可搬性の補助記憶装置1003、通信IF1004などを介して、本実施の形態で実行されるプログラムが提供されるようにしてもよい。そして、CPU1001が所定のプログラムを実行することにより、図4に示したコンピュータを前述の制御装置1や、コンテンツサーバ2、ユーザ端末3、管理者端末4等として動作させる。
The input / output IF 1005 is connected to the input / output device and accepts an operation from the user or presents information to the user. Specifically, the input / output device is a keyboard, a mouse, a display, a touch panel, or the like. The
<データ構造>
次に、物理テーブル11のデータ構造と論理テーブルのデータ構造との対応関係の一例を説明する。図5〜図7に示す表は、テナントA〜Cが制御装置1において保持している論理テーブルと格納データの一例である。図5は、テナントAが管理する「user」テーブルのカラム名と登録されたレコードの一例を示す表である。図5に示す「user」テーブルは、「名前」、「性別」、「ユーザID」、「会員種別」及び「入会日」の各カラムを有する。なお、データ型は、例えば、「名前」及び「性別」が文字列型、「ユーザID」及び「会員種別」が数値型、「入会日」が日付型である。「user」テーブルにおいて、「ユーザID」は、ユーザを一意に識別するユーザ識別情報である。
<Data structure>
Next, an example of the correspondence relationship between the data structure of the physical table 11 and the data structure of the logical table will be described. The tables shown in FIGS. 5 to 7 are examples of logical tables and stored data that the tenants A to C hold in the
図6は、テナントBが管理する「社員」テーブルに登録されたデータの一例を示す表である。図6に示す「社員」テーブルは、「社員番号」「部署名」及び「役職」の各カラムを有する。なお、データ型は、例えば、「部署名」及び「役職」が文字列型、「社員番号」が数値型である。「社員」テーブルにおいて、「社員番号」は、ユーザを一意に識別するユーザ識別情報である。 FIG. 6 is a table showing an example of data registered in the “employee” table managed by the tenant B. The “employee” table shown in FIG. 6 has columns of “employee number”, “department name”, and “position”. For example, “Department name” and “Position” are character string types, and “Employee number” is a numeric type. In the “employee” table, “employee number” is user identification information for uniquely identifying a user.
図7は、テナントCが管理する「購入履歴」テーブルに登録されたデータの一例を示す表である。図7に示す「購入履歴」テーブルは、「カスタマID」、「コンテンツ名」、「コンテンツ種別」、「URL」、「価格」、「発売日」及び「購入日」の各カラムを有する。なお、データ型は、例えば、「コンテンツ名」、「コンテンツ種別」、「URL」が文字列型、「カスタマID」及び「価格」が数値型、「発売日」及び「購入日」が日付型である。「購入履歴」テーブルにおいて、「カスタマID」は、ユーザを一意に識別するユーザ識別情報である。 FIG. 7 is a table showing an example of data registered in the “purchase history” table managed by the tenant C. The “purchase history” table shown in FIG. 7 has columns of “customer ID”, “content name”, “content type”, “URL”, “price”, “release date”, and “purchase date”. The data type is, for example, “content name”, “content type”, “URL” is a character string type, “customer ID” and “price” are numeric types, and “release date” and “purchase date” are date types. It is. In the “purchase history” table, “customer ID” is user identification information for uniquely identifying a user.
図5〜図7に示すように、本実施形態1では、テナント単位で、保持する情報や、制御の条件等を異ならせることができるので、さまざまな閲覧制御方法に対応することができる。
例えば、テナントAの「user」テーブルでは、属性として会員種別を定義しておき、その会員種別に応じて参照可能なコンテンツの範囲を制御する。
As shown in FIGS. 5 to 7, in the first embodiment, since information to be held, control conditions, and the like can be made different for each tenant, various browsing control methods can be handled.
For example, in the “user” table of tenant A, a member type is defined as an attribute, and the range of contents that can be referred to is controlled according to the member type.
テナントBの「社員」テーブルでは、属性として部署名、役職を定義しておき、その部署名や役職に応じて参照可能なコンテンツの範囲を制御する。
また、テナントCの「購入履歴」テーブルでは、属性として購入日等の情報を定義しておき、その購入日等に応じて参照可能なコンテンツの範囲を制御する。
In the “employee” table of tenant B, a department name and job title are defined as attributes, and the range of contents that can be referred to is controlled according to the job department name and job title.
Further, in the “purchase history” table of the tenant C, information such as a purchase date is defined as an attribute, and the range of contents that can be referred to is controlled according to the purchase date or the like.
図8に示す表は、物理テーブル11のデータ構造と格納データの一例である。図8の物理テーブルは、「TenantID」、「TypeID」、「DataID」、「PageID」、「Char1」、「Char2」、「Num1」、「Num2」、「Date1」、「Date2」等のカラムを有する。なお、データ型
は、例えば、「TenantID」、「TypeID」、「Char1」及び「Char2」が文字列型、「Num1」及び「Num2」が数値型、「Date1」及び「Date2」が日付型である。なお、各カラムのデータサイズ(「データ長」とも呼ぶ)は、可変長としても固定長としてもよい。図8には明示していないが、データ型は同一であってデータサイズが異なる複数のカラムを設けてもよい。
The table shown in FIG. 8 is an example of the data structure of the physical table 11 and stored data. The physical table of FIG. 8 includes columns such as “TenantID”, “TypeID”, “DataID”, “PageID”, “Char1”, “Char2”, “Num1”, “Num2”, “Date1”, “Date2”, etc. Have. The data types are, for example, “TenantID”, “TypeID”, “Char1” and “Char2” are character string types, “Num1” and “Num2” are numeric types, and “Date1” and “Date2” are date types. is there. The data size of each column (also referred to as “data length”) may be a variable length or a fixed length. Although not explicitly shown in FIG. 8, a plurality of columns having the same data type and different data sizes may be provided.
「TenantID」のカラムには、制御装置1のユーザであるテナントを識別するための識別情報、即ち事業者識別情報が登録される。本実施形態1では、ユーザ端末3や管理者端末4等からデータを入力する際、まず、テナントの識別情報(例えば「TenantID」)を入力して事業者を特定する。なお、「TenantID」は、ユーザや管理者が直接入力することに限らず、例えば、ユーザ端末3や管理者端末4から制御装置1にアクセスする際のURL内に「TenantID」が判別可能な情報を組み込んでおく。
In the “TenantID” column, identification information for identifying a tenant who is a user of the
例えば、以下のように、tenant_a、tenant_bといった「TenantID」をドメインのサーバ名やパス情報として組み込んでおき、これを抽出して事業者を特定しても良い。
ドメインのサーバ名: https://tenant_a.domain.co.jp/hoge/...
パス情報: https://wwww.domain.co.jp/tenant_b /hoge/...
For example, as described below, “TenantID” such as tenant_a and tenant_b may be incorporated as a server name or path information of a domain, and this may be extracted to specify the business operator.
Domain server name: https: //tenant_a.domain.co.jp/hoge / ...
Path information: https://wwww.domain.co.jp/tenant_b / hoge / ...
そして、基本的に各テナントに係るデータの操作は物理テーブル11に登録されたレコードのうち、「TenantID」のカラムに当該テナントの識別情報が登録されたレコードに対して行われる。また、各テナントのデータが物理テーブル11に新たなレコードとして挿入される場合、「TenantID」のカラムに当該テナントの識別情報が登録される。このようにすることで、ハードウェアリソースからアプリケーション及びデータベース構造までを共有したSaaSを実現することができる。 Basically, the data operation related to each tenant is performed on the record in which the identification information of the tenant is registered in the “TenantID” column among the records registered in the physical table 11. Further, when the data of each tenant is inserted as a new record in the physical table 11, the identification information of the tenant is registered in the “TenantID” column. By doing in this way, SaaS which shared from a hardware resource to an application and a database structure is realizable.
「TypeID」のカラムには、各テナントにおいて論理テーブルを識別するための識別情報が登録される。また、「DataID」のカラムには、各論理テーブルにおいてレコードを一意に特定するための識別情報が登録される。各論理テーブルにおいてレコードを一意に特定できるように「DataID」の値を付与(採番)すれば、「TenantID」、「TypeID」及び「DataID」の複合キーによって各テナントの論理テーブルにおけるレコードを一意に特定できるようになる。なお、図8に示すように、全ての論理テーブルにおいてレコードを一意に特定できるように「DataID」の値を付与するようにしてもよい。 Identification information for identifying a logical table in each tenant is registered in the “TypeID” column. In the column “DataID”, identification information for uniquely specifying a record in each logical table is registered. By assigning (numbering) the value of “DataID” so that the record can be uniquely identified in each logical table, the record in each tenant's logical table is uniquely identified by the composite key of “TenantID”, “TypeID”, and “DataID” Can be specified. Note that, as shown in FIG. 8, a value of “DataID” may be assigned so that a record can be uniquely specified in all logical tables.
「PageID」のカラムには、論理テーブルにおける1レコードが物理テーブル11において複数のレコードに分解されて登録される場合の接続関係(接続順序)を表す情報が登録される。なお、図8の例では、接続関係を表す情報として、通し番号を登録している。図8の例では、「DataID」及び「PageID」によって、論理テーブルのカラムを特定することができるため、物理テーブル11の複数のレコードから論理テーブルにおける1レコードを復元できるようになる。なお、「TenantID」、「TypeID」、「DataID」及び「PageID」のカラムを複合キーとして物理テーブル11のレコードを一意に特定できるようにしてもよい。 In the “PageID” column, information indicating a connection relationship (connection order) when one record in the logical table is divided into a plurality of records and registered in the physical table 11 is registered. In the example of FIG. 8, a serial number is registered as information representing the connection relationship. In the example of FIG. 8, the columns of the logical table can be specified by “DataID” and “PageID”, so that one record in the logical table can be restored from a plurality of records in the physical table 11. Note that the records of the physical table 11 may be uniquely identified using the “TenantID”, “TypeID”, “DataID”, and “PageID” columns as composite keys.
また、「Char1」、「Char2」、「Num1」、「Num2」、「Date1」、「Date2」・・・のカラムには、論理テーブルの各カラムの値が登録される。すなわち、これらは、論理テーブルの複数のカラムに保持される値をそれぞれ独立に保持するカラムである。例えば、「Char1」及び「Char2」は、文字列型のカラムである。また、「Num1」及び「Num2」は、数値型のカラムである。「Date1」及び「Date2」は、日付型のカラムである。なお、図8はカラムの構成を簡略化した例であり、物理テーブル11は、他のデータ型のカラムをさらに有していてもよいし、各データ型のカラムを3列以上有していてもよい。また、物理テーブル11に設けられる各データ型のカラム数は、同数でなくてもよい。例えば、物理テー
ブル11は、文字列型のカラムを30列、数値型のカラムを10列、日付型のカラムを5列設けるといった定義が可能である。ただし、マルチテナントシステムにおいては汎用性が求められるため、平均的に各データ型のカラム数を決定したり、テナントのニーズや使用実績等に基づいて各データ型のカラム数を決定してもよい。なお、論理テーブルのデータ構造と物理テーブル11のデータ構造との対応付けは、テナント毎に予めメタデータに定義される。
In addition, the values of each column of the logical table are registered in the columns “Char1”, “Char2”, “Num1”, “Num2”, “Date1”, “Date2”,. That is, these are columns that independently hold values held in a plurality of columns of the logical table. For example, “Char1” and “Char2” are character string type columns. “Num1” and “Num2” are numeric type columns. “Date1” and “Date2” are date type columns. FIG. 8 is an example in which the column configuration is simplified. The physical table 11 may further include columns of other data types, or may include three or more columns of each data type. Also good. Further, the number of columns of each data type provided in the physical table 11 may not be the same. For example, the physical table 11 can be defined to have 30 character string columns, 10 numeric columns, and 5 date columns. However, since multi-tenant systems require versatility, the number of columns for each data type may be determined on average, or the number of columns for each data type may be determined based on tenant needs, actual usage, etc. . The association between the data structure of the logical table and the data structure of the physical table 11 is previously defined in the metadata for each tenant.
図9は、メタデータとして登録される内容の一例を示す表である。図9(a)は、テナントAのuserテーブルに係るメタデータを示し、図9(b)は、テナントBの社員テーブルに係るメタデータを示し、図9(c)は、テナントCの購入履歴テーブルに係るメタデータを示す。 FIG. 9 is a table showing an example of contents registered as metadata. 9A shows metadata relating to the user table of tenant A, FIG. 9B shows metadata relating to the employee table of tenant B, and FIG. 9C shows purchase history of tenant C. The metadata concerning a table is shown.
メタデータは、例えばテナントごとにDBMS上のテーブル又はファイルシステム上のファイルとして保持される。本実施形態1では、テナント(例えば「テナントA」、「テナントB」、「テナントC」等)及び論理テーブル(例えば「user」テーブル、「社員」テーブル、「購入履歴」テーブル等)の組合せに対して、物理テーブル11の「TypeID」が一意に割り当てられる。さらに、メタデータは、図5〜図7に示した論理テーブルのカラムと図8に示した物理テーブルのカラムとの対応付けを示している。 The metadata is stored as a table on the DBMS or a file on the file system for each tenant, for example. In the first embodiment, a combination of a tenant (eg, “tenant A”, “tenant B”, “tenant C”, etc.) and a logical table (eg, “user” table, “employee” table, “purchase history” table, etc.) are used. On the other hand, “TypeID” of the physical table 11 is uniquely assigned. Further, the metadata indicates the correspondence between the columns of the logical tables shown in FIGS. 5 to 7 and the columns of the physical table shown in FIG.
また、本実施形態1では、論理テーブルの1レコードを物理テーブル11において複数のレコードに分解して登録する場合がある。よって、論理テーブルの「カラム名」に対し、物理テーブル11の「対応カラム名」及び分解された各レコードを一意に特定するための「PageID」が対応付けられている。図8の「DataID」の値が「001」〜「004」のレコードのように、ある「DataID」に対し「PageID」が1のみである場合、論理テーブルのレコードは分解されずに物理テーブル11に格納されていることがわかる。一方、図8の「DataID」の値が「005」及び「006」のレコードのように、「DataID」の値が同一であって「PageID」の値が2以上のレコードが存在する場合、論理テーブルのレコードは複数に分解されて物理テーブル11に格納されていることがわかる。このように、「PageID」のカラムは、物理テーブル11における複数のレコード間の接続関係を示すデータともいえる。 In the first embodiment, one record in the logical table may be decomposed into a plurality of records in the physical table 11 and registered. Therefore, the “column name” of the logical table is associated with the “corresponding column name” of the physical table 11 and “PageID” for uniquely identifying each decomposed record. When “PageID” is only 1 for a certain “DataID” like the records of “001” to “004” in FIG. 8, the logical table record is not decomposed and the physical table 11 is not decomposed. It can be seen that On the other hand, when there is a record having the same “DataID” value and a “PageID” value of 2 or more, such as the “DataID” value “005” and “006” in FIG. It can be seen that the table records are divided into a plurality of pieces and stored in the physical table 11. Thus, the “PageID” column can be said to be data indicating a connection relationship between a plurality of records in the physical table 11.
本実施形態1では、基本的にテナント毎に論理テーブルやメタデータが定義される。ただし、各テナントが共通に利用するマスターデータを用意するようにしてもよい。例えば、郵便番号と住所の一部を対応付けて記憶する郵便番号マスタを、各テナントに共通のメタデータで保持するようにしてもよい。このような郵便番号マスタの内容は郵便制度の規格によって決まるため、各テナントが共通に利用する方が効率的である。共通のメタデータはファイルシステム上のファイルとして制御装置1の管理者が一元管理し、各テナントのメタデータはDBMS上のレコードとして「TenantID」と関連付けて管理するようにしてもよい。
In the first embodiment, a logical table and metadata are basically defined for each tenant. However, master data shared by each tenant may be prepared. For example, a postal code master that stores a postal code and a part of an address in association with each other may be held with metadata common to each tenant. Since the contents of such a zip code master are determined by the standard of the postal system, it is more efficient that each tenant uses it in common. The common metadata may be centrally managed by the administrator of the
図10は、コンテンツの提供条件として条件記憶部18に登録される内容の一例を示す表である。図10(a)は、テナントAのuserテーブルに係る提供条件を示し、図10(b)は、テナントBの社員テーブルに係る提供条件を示し、図10(c)は、テナントCの購入履歴テーブルに係る提供条件を示す。
FIG. 10 is a table showing an example of contents registered in the
図10(a)〜図10(c)の例では、コンテンツID、即ちコンテンツ識別情報と提供条件とが対応付けられて登録されている。本実施形態1において、コンテンツ識別情報は、コンテンツのURLを用いている。なお、コンテンツ識別情報は、URLに限らず、ウェブサイト内で一意にコンテンツを特定できる情報であれば、ファイル名やシリアル番号、任意の記号等であっても良い。 In the example of FIGS. 10A to 10C, the content ID, that is, the content identification information and the provision condition are registered in association with each other. In the first embodiment, the content identification information uses the URL of the content. The content identification information is not limited to the URL, and may be a file name, a serial number, an arbitrary symbol, or the like as long as the information can uniquely identify the content within the website.
制御装置1の判定部17は、条件記憶部18から、この提供条件を読み出してコンテンツ提供の可否を判定する。
The
図10(a)では、コンテンツIDが/memberarea/*に該当する場合、会員であることを提供条件としている。なお、本実施形態1において、*は、*以下の階層に含まれる全てのコンテンツが該当することを示す。このように会員が提供条件である場合、判定部17は、例えば問い合わせ情報のユーザ識別情報と対応するユーザ情報が抽出されたか否かで、コンテンツの提供の可否を判定する。また、判定部17は、ユーザ識別情報と対応するユーザ情報の入会日が現在日時から所定期間(有効期間)内か否かで、コンテンツの提供の可否を判定しても良い。
In FIG. 10A, when the content ID corresponds to / memberarea / * , the provision condition is that the user is a member. In the first embodiment, * indicates that * all contents included in the following layers are applicable. When the member is in the provision condition as described above, the
また、図10(a)では、コンテンツIDが/contents?cid=12343326に該当する場合、会員種別が「2」であることを提供条件としている。この会員種別は、通常会員であれば「1」、ゴールド会員であれば「2」、プラチナ会員であれば「3」等のように、コンテンツの提供条件を異ならせる会員の種別毎に設定される。 In FIG. 10A, when the content ID corresponds to / contents? Cid = 12343326, the provision condition is that the member type is “2”. This member type is set for each member type, such as “1” for normal members, “2” for gold members, “3” for platinum members, etc. The
このように会員種別が提供条件である場合、判定部17は、例えば問い合わせ情報のユーザ識別情報と対応するユーザ情報の会員種別が、提供条件の会員種別と合致したか否かで、コンテンツの提供の可否を判定する。なお、ユーザ情報の値、本例では会員種別が提供条件と一致したことに限らず、3>2>1のようにユーザ情報の値に順位を決めて条件記憶部に記憶しておき、ユーザ情報の値(会員種別)が、提供条件以上の順位か否かによって、コンテンツの提供の可否を判定しても良い。
In this way, when the member type is the provision condition, the
図10(b)では、コンテンツIDが/management/*に該当する場合、役職が部長以上
か否かを提供条件としている。なお、役職の値は、社長>専務>部長>課長>主任等のように順位を定めておく。
In FIG. 10B, when the content ID corresponds to / management / * , the provision condition is whether or not the title is greater than or equal to the general manager. Note that the position values are determined in the order of president> senior management>department> section manager> chief.
このように役職が提供条件である場合、判定部17は、例えば問い合わせ情報のユーザ識別情報と対応するユーザ情報の役職が、提供条件を満たすか否かで、コンテンツの提供の可否を判定する。例えば、役職≧部長の場合、判定部17は、ユーザ情報の役職が部長以上、即ち、社長、専務又は部長であった場合にコンテンツの提供可と判定し、ユーザ情報の役職が部長未満、即ち、課長又は主任であった場合にコンテンツの提供不可と判定する。
As described above, when the title is the provision condition, the
同様に、図10(b)では、コンテンツIDが/product/*に該当する場合、問い合わせ情報のユーザ識別情報と対応するユーザ情報の部署名が、提供条件を満たすか否か、例えば一致するか否かで、コンテンツの提供の可否を判定する。 Similarly, in FIG. 10B, when the content ID corresponds to / product / * , whether the user identification information of the inquiry information and the user information corresponding to the user information satisfy the provision condition, for example, whether they match Whether or not the content can be provided is determined based on the result.
図10(c)では、コンテンツIDが/paidcontents/*に該当する場合、問い合わせ情
報のURL(コンテンツ識別情報)が、ユーザ情報の購入済みURLと一致するか否かで、コンテンツの提供の可否を判定する。
In FIG. 10C, when the content ID corresponds to / paidcontents / * , whether or not the content can be provided is determined by whether or not the URL (content identification information) of the inquiry information matches the purchased URL of the user information. judge.
なお、提供条件は、ユーザ情報だけでなく、他の情報と組み合わせたものでも良い。例えば、図10(c)では、コンテンツIDが/data/*に該当する場合、ユーザ情報の購入
日が一週間以内か否かで、コンテンツの提供の可否を判定する。これに限らず、コンテンツの提供回数が所定数以下か、所定期間内に提供したコンテンツの情報量が所定量以内か、デイタイムや深夜など所定の時間帯か等を条件に用いても良い。
The provision condition may be not only user information but also a combination with other information. For example, in FIG. 10C, when the content ID corresponds to / data / * , whether or not the content can be provided is determined based on whether or not the purchase date of the user information is within one week. However, the present invention is not limited to this, and it may be used on the condition that the number of times content is provided is less than a predetermined number, the amount of information provided within a predetermined period is within a predetermined amount, or a predetermined time zone such as daytime or midnight.
これらの提供条件には様々なパターンが考えられ、テナント単位で、この提供条件をカ
スタマイズ可能な構成としても良い。例えばDSL(domain-specific language:ドメイン
固有言語)や既存技術の汎用的なスクリプト言語(javaScript、Groovyなど)で、提供条件の入力を受け付けて、条件記憶部18に登録しても良い。
Various patterns can be considered for these provision conditions, and the provision conditions may be customized on a tenant basis. For example, input of provision conditions may be received and registered in the
図11は、料金情報として料金記憶部91に登録される内容の一例を示す表である。図11に示すように、料金情報は、コンテンツ識別情報や会員種別など課金対象を識別する情報と、料金(金額)、期間を記憶している。
FIG. 11 is a table showing an example of contents registered in the
<ユーザ情報の登録>
図12は、ユーザ情報を登録する処理の一例を示す図である。先ず、入会登録のためユーザ端末3が、コンテンツサーバ2にアクセスすると(ステップS10)、コンテンツサーバ2は、制御装置1の入会用のウェブページに接続するためのリンクを掲載したウェブページをユーザ端末3へ送信して表示させる(ステップS15)。
<Registration of user information>
FIG. 12 is a diagram illustrating an example of processing for registering user information. First, when the
このリンクをユーザが選択すると、ユーザ端末3は、当該リンクの記述に従って制御装置1にURLを送信することで、入会用のウェブページを要求する(ステップS20)。
When the user selects this link, the
制御装置1は、入会用のウェブページ(入力フォーム)をユーザ端末3へ送信して表示させる(ステップS25)。
The
ユーザが入力フォームにユーザ情報を入力して送信を選択すると、ユーザ端末3は、入力されたユーザ情報と事業者識別情報を制御装置1に送信する(ステップS30)。なお、事業者識別情報は、ユーザが入力しても良いが、ステップS20で入会用のウェブページを要求する際にパラメータとして制御装置に送信されても良い。また、当該ページの呼び出し元ページのURLからどの事業者のコンテンツサーバからかを判断しても良い。例えば、以下のように、server_a、tenant_bといったコンテンツサーバ2や事業者を示す情報をドメインのサーバ名やパス情報として組み込んでおき、これを抽出して事業者識別情報を特定しても良い。
When the user inputs user information in the input form and selects transmission, the
ドメインのサーバ名: https://server_a.domain.co.jp/hoge/...
パス情報: https://wwww.domain.co.jp/tenantB/hoge/...
また入会用ウェブページのURLをテナント毎に異なるものを用意し、呼び出された入会用ウェブページがそれぞれの事業者識別情報を登録する構成でも良い。
Domain server name: https: //server_a.domain.co.jp/hoge / ...
Path information: https: //wwww.domain.co.jp/tenantB/hoge / ...
Alternatively, a different URL may be prepared for each tenant for the membership web page, and the called membership web page may register the respective business entity identification information.
そして制御装置1は、受信したユーザ情報と入金に伴う料金の支払いを確認するウェブページ(確認画面)をユーザ端末3へ送信して表示させる(ステップS35)。なお、制御装置1は、入力されたメールアドレス等のユニークな情報をユーザ識別情報とするか、ユーザ毎に一意となる情報をユーザ識別情報として生成して、ユーザ情報に付加する。また、制御装置1は、入力された会員種別に応じた料金を料金記憶部91から読み出して前記ウェブページ(確認画面)に反映させる。
Then, the
確認画面において、確認ボタン等の選択肢(不図示)を選択する等して、ユーザが入力情報と支払いの情報を確認すると、ユーザ端末3は、確認した旨の情報を制御装置1へ送信する(ステップS40)。
When the user confirms the input information and payment information by selecting an option (not shown) such as a confirmation button on the confirmation screen, the
確認した旨の情報を受信した制御装置1は、ユーザ情報と料金に基づいて決済処理を行い(ステップS45)、支払いが可能か否かを確認する(ステップS50)。例えば、ユーザ端末3からクレジットカードの情報を受信し、ネットワークを介してカード会社のサーバ(不図示)にアクセスし、クレジットカードの情報と金額を通知してクレジットカードの利用を要求し、クレジットカードの利用がOKか否かを確認する。
The
クレジットカードの利用がOK、即ち支払いが可であれば(ステップS50、Yes)、制御装置1は、ユーザ情報をマルチテナントデータベースに登録する(ステップS55)。なお、後払いの場合は、ユーザ情報ともに料金領収前であることを登録して、仮登録とし、支払いが確認できたときに料金領収済みであることを登録して本登録としても良い。
If the use of the credit card is OK, that is, payment is possible (step S50, Yes), the
そして、制御装置1は、登録処理の結果、例えばステップS55の登録が完了したこと、又はステップS45の支払いが不可であった場合(ステップS50、No)、その旨を記載したウェブページをユーザ端末3へ送信し(ステップS60)、表示させる(ステップS65)。
Then, as a result of the registration process, for example, when the registration in step S55 is completed or the payment in step S45 is not possible (No in step S50), the
このように本実施形態1では、コンテンツサーバ2には、ユーザ登録の機能や決済の機能を備えなくてもユーザ端末3を制御装置1へ誘導するリンクを記載するだけでユーザ登録や決済を行えるようにしている。
As described above, in the first embodiment, the
なお、図12において、ユーザを無料で登録する場合には、ステップS45,S50の処理を省略しても良い。例えば、入力フォームに入力された会員種別が、一般会員であった場合、ステップS45,S50を省略してユーザ情報を登録し(ステップS55)、会員種別が、ゴールド会員やプラチナ会員であった場合には、ステップS45,S50で決済処理を行うようにしても良い。 In FIG. 12, when registering a user free of charge, the processing of steps S45 and S50 may be omitted. For example, when the member type input in the input form is a general member, the user information is registered by omitting steps S45 and S50 (step S55), and the member type is a gold member or a platinum member. Alternatively, the payment process may be performed in steps S45 and S50.
なお、上記の例では、入会時の処理を示したが、コンテンツの購入についても同様の処理で行うことができる。例えばユーザがコンテンツ購入のため、コンテンツサーバ2にアクセスすると(ステップS10)、コンテンツサーバ2は、制御装置1のコンテンツ購入用のウェブページに接続するためのリンクを掲載したウェブページをユーザ端末3へ送信して表示させる(ステップS15)。
In the above example, the process at the time of enrollment is shown, but the purchase of content can also be performed by the same process. For example, when the user accesses the
このリンクをユーザが選択すると、ユーザ端末3は、当該リンクの記述に従って制御装置1にURLを送信することで、コンテンツ購入用のウェブページを要求する(ステップS20)。
When the user selects this link, the
制御装置1は、コンテンツ購入用のウェブページ(入力フォーム)をユーザ端末3へ送信して表示させる(ステップS25)。
The
ユーザが入力フォームに購入のための情報、例えば購入するユーザのユーザ識別情報や、支払い方法、コンテンツ識別情報、利用期間を限定する場合には利用期間等を入力して送信を選択すると、ユーザ端末3は、入力された情報を制御装置1に送信する(ステップS30)。なお、コンテンツ識別情報は、ユーザが入力しても良いが、前記リンクのURLのパラメータとして記述され、ステップS20で制御装置1に送信されるものでも良い。なお、ユーザ識別情報は、事前のログイン処理時にWebブラウザのCookieなどの形式で
ユーザ端末3に保持され、自動的に送信されるようにしてもよい。
When the user inputs information for purchase in the input form, for example, user identification information of the user to be purchased, payment method, content identification information, use period when the use period is limited, and selects transmission, the
そして制御装置1は、受信した情報と入金に伴う料金の支払いを確認するウェブページ(確認画面)をユーザ端末3へ送信して表示させる(ステップS35)。なお、制御装置1は、入力されたコンテンツ識別情報に応じた料金を料金記憶部91から読み出して前記ウェブページ(確認画面)に反映させる。
And the
確認画面において、確認ボタン等の選択肢(不図示)を選択する等して、ユーザが入力情報と支払いの情報を確認すると、ユーザ端末3は、確認した旨の情報を制御装置1へ送
信する(ステップS40)。
When the user confirms the input information and payment information by selecting an option (not shown) such as a confirmation button on the confirmation screen, the
確認した旨の情報を受信した制御装置1は、ユーザ情報と料金に基づいて決済処理を行い(ステップS45)、支払いが可能か否かを確認する(ステップS50)。ここで、支払いが可であれば(ステップS50、Yes)、制御装置1は、購入したコンテンツのコンテンツ識別情報や、購入日、利用期間などの購入に係る情報をユーザ情報に追加するように、マルチテナントデータベースに登録する(ステップS55)。なお、後払いの場合は、ユーザ情報ともに料金領収前であることを登録して、仮登録とし、支払いが確認できたときに料金領収済みであることを登録して本登録としても良い。
The
そして、制御装置1は、ステップS55の登録が完了したこと、又はステップS45の支払いが不可であったこと等を記載したウェブページをユーザ端末3へ送信し(ステップ
S60)、表示させる(ステップS65)。
And the
図13はコンテンツサーバ2が提供するウェブサイトのトップページの一例を示す図であり、図12のステップS15でコンテンツサーバ2が提供する入会用のウェブページに接続するためのリンクを掲載したウェブページの一例でもある。
FIG. 13 is a diagram showing an example of a top page of a website provided by the
図13に示すようにウェブページ61には、コンテンツを要求するリンク62や、入会用のウェブページに接続するためのリンク63、ログイン用のリンク64が記載されている。例えばリンク63は、htmlで以下のように記述される。
As shown in FIG. 13, the
<a href="http://www.00000.com/entry/admi.html?gid=012345">会員登録</a>
このリンク63の例では、http://www.00000.com/entry/admi.htmlが入会用のウェブページのURLであり、012345が事業者識別情報である。
<a href="http://www.00000.com/entry/admi.html?gid=012345"> Register as a member </a>
In the example of the
図14は入会用のウェブページの一例を示す図である。図14に示すようにウェブページ65には、ユーザの氏名や、ユーザ識別情報(図14の例ではメールアドレス)、認証用のパスワード、会員種別の選択肢等のユーザ情報の入力欄66が記載されている。ユーザが、これらの入力欄66にユーザ情報を入力し、送信ボタン67を選択すると、ユーザ端末3は入力されたユーザ情報を制御装置1へ送信し、登録させる。
FIG. 14 shows an example of a web page for membership. As shown in FIG. 14, the
<ユーザの認証>
図15は、ユーザを認証する処理の一例を示す図である。先ず、図13のウェブページ61においてユーザがログイン用のリンク64を選択すると、ユーザ端末3は、当該リンク64の記述に従って制御装置1にURLを送信することで、ログイン用のウェブページを要求する(ステップS110)。
<User authentication>
FIG. 15 is a diagram illustrating an example of a process for authenticating a user. First, when the user selects a
これに対して制御装置1は、ログイン用のウェブページ(入力フォーム)をユーザ端末3へ送信して表示させる(ステップS115)。ユーザが入力フォームにユーザ識別情報とパスワードといった認証情報を入力して送信を選択すると、ユーザ端末3は、入力された認証情報を制御装置1に送信する(ステップS120)。
On the other hand, the
この認証データを受信(ステップS123)した制御装置1は、受信した認証情報のユーザ識別情報と対応するユーザのユーザ情報としてマルチテナントデータベースに登録されているパスワードを読み出し(ステップS125)、受信したパスワードと登録されているパスワードとが一致するか否か、即ち認証情報が一致するか否かを判定する(ステップ
S130)。
The
受信したパスワードと登録されているパスワードとが一致した場合(ステップS130
、Yes)、制御装置1は、ユーザ識別情報をHTTP CookieやセッションIDとしてユー
ザ端末3に送信し(ステップS135)、記憶させる(ステップS140)。
When the received password matches the registered password (step S130)
, Yes), the
一方、受信したパスワードと登録されているパスワードとが一致しなかった場合(ステップS130、No)、制御装置1は、エラーメッセージをユーザ端末3に送信して表示させ認証処理を終了する(ステップS145,S150)。
On the other hand, if the received password does not match the registered password (No at Step S130), the
<コンテンツ提供の制御>
図13に示すウェブページ61は、記事の見出しを複数掲載しており、各記事の見出しがコンテンツを要求するリンク62となっている。即ち、各記事の見出しを選択すると、コンテンツとして記事本文が提供される。図16は、このコンテンツを提供する処理の一例を示す図である。
<Control of content provision>
A
先ず、ユーザがコンテンツを要求するリンク62(図13)を選択すると、ユーザ端末3は、当該リンク62の記述に従ってコンテンツサーバ2に記事本文のURL、即ち要求するコンテンツのコンテンツ識別情報を送信する。また、ユーザ端末3は、ユーザ識別情報をHTTP CookieやセッションIDとしてコンテンツサーバ2へ送信する。このようにユ
ーザ端末3は、コンテンツ識別情報及びユーザ識別情報をコンテンツサーバ2へ送信することで、コンテンツの提供を要求する(ステップS210)。
First, when the user selects a link 62 (FIG. 13) for requesting content, the
コンテンツサーバ2は、このコンテンツの要求を受診すると(ステップS215)、当該要求のコンテンツ識別情報とユーザ識別情報に事業者IDとシークレットキー(秘密鍵)を付加して問い合わせ情報とし、制御装置1に送信する(ステップS220)。シーク
レットキーは、コンテンツサーバ2の正当性を示すための情報であり、予めコンテンツサーバ及び制御装置1に登録される。
When the
この問い合わせ情報をステップS230にて受信した制御装置1は、受信したシークレットキーと登録されているシークレットキーとを比較して、一致した場合に、問い合わせ情報の事業者ID及びユーザ識別情報と対応するユーザ情報をマルチテナントデータベースから抽出する(ステップS235)。なお、シークレットキーが一致しない場合には、正当な問い合わせではないため、ユーザ情報を抽出せずに処理を終了する。コンテンツサーバ2の正当性を判定は、シークレットキーの照合に限らず、電子証明書やコンテンツサーバ2のIPアドレスの照合によるものでも良い。
The
そして、制御装置1は、ステップS230で受信した問い合わせ情報のコンテンツ識別情報と対応する提供条件を読み出し、ステップS235で抽出したユーザ情報が提供条件を満たすか否かを判定する(ステップS240)。
And the
この判定の結果、制御装置1は、ユーザ情報が提供条件を満たしていればコンテンツの提供を可とする制御情報を生成し、ユーザ情報が提供条件を満たしていなければコンテンツの提供を不可とする制御情報を生成し(ステップS245)、この制御情報をコンテンツサーバ2に送信する(ステップS250)。
As a result of the determination, the
この制御情報を受信したコンテンツサーバ2は、制御情報に基づいてコンテンツの提供の可否を判定する(ステップS255)。この制御情報がコンテンツの提供を可とするものである場合、コンテンツサーバ2は、ステップS215で要求されたコンテンツをユーザ端末3に提供(送信)する(ステップS260)。一方、制御装置1から受信した制御情報がコンテンツの提供を不可とするものである場合、コンテンツサーバ2は、コンテンツの提供が不可である旨を示すウェブページ(以下、提供不可ページとも称す)をユーザ端末3に提供(送信)する(ステップS265)。例えば、コンテンツサーバ2の制御情
報処理部24は、制御情報がコンテンツの提供を不可とするものである場合、コンテンツ送信部22がステップS215の要求に対するリクエストとして取得するコンテンツのURLを提供不可ページのURLに更新することで、提供不可ページをユーザ端末3に送信させる。即ち、ステップS215で要求されたコンテンツは提供(送信)しない。なお、制御情報がコンテンツの提供を不可とするものである場合、コンテンツサーバ2は、提供不可ページではなく、単にエラーステータス403や404などを送信しても良い。
The
ユーザ端末3は、コンテンツサーバ2からウェブページを受信して、表示などの出力を行う(ステップS270)。
The
図17は、ユーザ端末3に提供されるコンテンツの一例を示す図である。図17に示すように、ユーザ端末3に提供されるウェブページ71には、記事に係る動画72や本文73が表示される。
FIG. 17 is a diagram illustrating an example of content provided to the
図18は、コンテンツの提供が不可である旨を示すウェブページの一例を示す図である。図18に示すように、提供が不可の場合に送信されるウェブページ74には、提供不可である旨のメッセージ75や、会員登録のページへのリンク63が表示される。
FIG. 18 is a diagram illustrating an example of a web page indicating that content cannot be provided. As shown in FIG. 18, on the
<マルチテナントデータベースのデータ操作>
図12のステップS55におけるユーザ情報の登録や、図13のステップS235におけるユーザ情報の抽出について、以下に詳述する。
<Multitenant database data operations>
Registration of user information in step S55 in FIG. 12 and extraction of user information in step S235 in FIG. 13 will be described in detail below.
制御装置1の要求受付部14は、コンテンツサーバ2からデータ操作に係る要求を受け付ける(図19:S301)。要求は、例えば、論理テーブルに対してレコードの挿入、選択、更新、削除等を要求するクエリ(例えば、SQL等の問合せ言語)として受け付ける。そして、要求受付部14は、要求を変換部15に伝送する。例えば、ユーザ端末3からユーザ情報の登録(挿入)や更新の要求を受けた場合や、コンテンツサーバ2からユーザ情報の問い合わせ(選択の要求)を受けた場合に、制御装置1の要求受付部14がデータ操作の要求を生成する。
The
制御装置1の変換部15は、メタデータ記憶部12に記憶されているメタデータに基づいて、要求受付部14から受けた要求を物理テーブル11に対する要求に変換する(S302)。ここでは、図9に示したメタデータに基づき、クエリの内容を修正する。すなわち、レコード間の接続関係を示す情報である、物理テーブルのカラム「PageID」に保持された値に基づいて、1又は2以上のレコードを仮想的に1つのレコードとして扱う。具体的には、「TenantID」の値が要求元のテナントの識別情報と一致するレコードを操作の対象とする条件を付加する。また、操作対象のテーブルを物理テーブル11に変更し、変換前の要求における操作対象の論理テーブルの指定を、カラム「TypeID」の値の指定に置き換える。さらに、変換前の要求におけるカラムの指定を、物理テーブル11のカラム及び「PageID」の指定に置き換える。
The
例えば、テナントCが検索を行うために次のようなクエリ1Aを送信する例について説明する。
(クエリ1A)
SELECT カスタマID,コンテンツ名, コンテンツ種別, URL, 価格, 発売日, 購入日 FROM 購入履歴 WHERE カスタマID=’1010999’;
この例は、論理テーブル「購入履歴」から「カスタマID」の値が「1010999」のレコ
ードを抽出し、「カスタマID」、「コンテンツ名」、「コンテンツ種別」、「URL」、「価格」、「発売日」及び「購入日」の各項目の値を表示させる要求である。そして、クエリ1Aは、変換部15によって、次のようなクエリ1Bに変換される。なお、物理テ
ーブル11の物理名は「DataTable」であるものとする。
(クエリ1B)
SELECT p1.Num1, p1.Char1, p1.Char2, p2.Char1, p1.Num1, p1.Date1, p2.Date2
FROM DataTable p1 LEFT OUTER JOIN DataTable p2
ON p1.DataID=p2.DataID and p2.PageID=2
WHERE p1.Char2=’1010999’
AND p1.TenantID=’B’ AND p1.TypeID=’購入履歴’ AND p1.PageID=1;
この例では、「PageID」の値が1のレコードと「PageID」の値が2のレコードとを自己結合させいる。また、図9のメタデータに基づき、論理テーブルの「コンテンツ種別」は物理テーブル11において「PageID」が1の「Char2」(すなわち、p1.Char2)に変換さ
れている。なお、データ操作部10からは「PageID」が1のレコードと2のレコードとをそれぞれ取得し、変換部15が仮想的な1つのレコードに結合するという構成にしてもよい。また、「PageID」の値が3以上のレコードがある場合、変換後のクエリにおいて3つ以上のレコードを自己結合させることも可能である。
For example, an example in which the following query 1A is transmitted for the tenant C to perform a search will be described.
(Query 1A)
SELECT customer ID, content name, content type, URL, price, release date, purchase date FROM purchase history WHERE customer ID = '1010999';
In this example, a record whose value of “customer ID” is “1010999” is extracted from the logical table “purchase history”, “customer ID”, “content name”, “content type”, “URL”, “price”, This is a request for displaying the value of each item of “release date” and “purchase date”. Then, the query 1A is converted into the following query 1B by the
(Query 1B)
SELECT p1.Num1, p1.Char1, p1.Char2, p2.Char1, p1.Num1, p1.Date1, p2.Date2
FROM DataTable p1 LEFT OUTER JOIN DataTable p2
ON p1.DataID = p2.DataID and p2.PageID = 2
WHERE p1.Char2 = '1010999'
AND p1.TenantID = 'B' AND p1.TypeID = 'Purchase history' AND p1.PageID = 1;
In this example, a record having a “PageID” value of 1 and a record having a “PageID” value of 2 are self-joined. Further, based on the metadata in FIG. 9, the “content type” of the logical table is converted to “Char2” (that is, p1.Char2) whose “PageID” is 1 in the physical table 11. Note that the
次に、テナントCがレコード数の計数を行うために次のようなクエリ2Aを送信する例について説明する。
(クエリ2A)
SELECT COUNT(*) FROM 購入履歴 WHERE コンテンツ種別=’語学’;
クエリ2Aは、変換部15によって、次のようなクエリ2Bに変換される。
(クエリ2B)
SELECT COUNT(*)
FROM DataTable p1 LEFT OUTER JOIN DataTable p2
ON p1.DataID=p2.DataID and p2.PageID=2
WHERE p1.Char2=’語学’
AND p1.TenantID=’B’ AND p1.TypeID=’購入履歴’ AND p1.PageID=1;
この例でも、「PageID」が2のレコードを自己結合させ、「PageID」が1のレコードを選択(SELECT)している。また、図9のメタデータに基づき、論理テーブルの「コンテンツ種別」は物理テーブル11において「PageID」が1の「Char2」(すなわち、p1.Char2
)に変換されている。なお、データ操作部10からは「PageID」が1のレコードと2のレコードとをそれぞれ取得し、変換部15が仮想的な1つのレコードに結合して計数するという構成にしてもよい。
Next, an example in which the tenant C transmits the following query 2A in order to count the number of records will be described.
(Query 2A)
SELECT COUNT (*) FROM Purchase history WHERE Content type = 'Language';
The query 2A is converted into the following query 2B by the
(Query 2B)
SELECT COUNT (*)
FROM DataTable p1 LEFT OUTER JOIN DataTable p2
ON p1.DataID = p2.DataID and p2.PageID = 2
WHERE p1.Char2 = 'Language'
AND p1.TenantID = 'B' AND p1.TypeID = 'Purchase history' AND p1.PageID = 1;
Also in this example, a record with “PageID” of 2 is self-joined, and a record with “PageID” of 1 is selected (SELECT). Further, based on the metadata of FIG. 9, the “content type” of the logical table is “Char2” (ie, p1.Char2) whose “PageID” is 1 in the physical table 11.
). Note that the
次に、テナントCがレコードの挿入(INSERT)を行うために次のようなクエリ3Aを送信する例について説明する。
(クエリ3A)
INSERT INTO 購入履歴 VALUES(‘101999’,‘英会話’, ‘語学’, ‘/data/eng/lan.mpg’, 30000, 2014/06/06, 2014/07/29);
クエリ3Aは、変換部15によって、次のようなクエリ3B及びクエリ3Cに変換される。なお、要求を受け付けた時点において、物理テーブル11には「DataID」が004のレ
コードまでが登録されている場合、新たに挿入されるレコードの「DataID」には005が採
番されるものとする。
(クエリ3B)
INSERT INTO DataTable(TenantID, TypeID, DataID, PageID, Char1, Char2, Num1, Num2, Date1)
VALUES(‘B’, ‘購入履歴’, 005, 1, ‘英会話’, ‘語学’, 30000, 2014/06/06);
(クエリ3C)
INSERT INTO DataTable(TenantID, TypeID, DataID, PageID, Char1, Date2)
VALUES(‘B’, ‘購入履歴’, 005, 2, ‘/data/eng/lan.mpg’, 2014/07/29);
レコードの挿入の場合、変換部15はメタデータを参照し、論理テーブルにおける1レ
コードが物理テーブル11における複数のレコードに対応付けられている場合、「PageID」ごとに挿入を行うクエリを生成する。上記の例では、「PageID」が「1」のレコード(第1のレコード)を挿入するクエリ3B、及び「PageID」が「2」のレコード(第2のレコード)を挿入するクエリ3Cが生成されている。
Next, an example in which the tenant C transmits the following query 3A to insert a record (INSERT) will be described.
(Query 3A)
INSERT INTO Purchase History VALUES ('101999', 'English Conversation', 'Language', '/data/eng/lan.mpg', 30000, 2014/06/06, 2014/07/29);
The query 3A is converted into the following query 3B and query 3C by the
(Query 3B)
INSERT INTO DataTable (TenantID, TypeID, DataID, PageID, Char1, Char2, Num1, Num2, Date1)
VALUES ('B', 'Purchase History', 005, 1, 'English Conversation', 'Language', 30000, 2014/06/06);
(Query 3C)
INSERT INTO DataTable (TenantID, TypeID, DataID, PageID, Char1, Date2)
VALUES ('B', 'Purchase History', 005, 2, '/data/eng/lan.mpg', 2014/07/29);
In the case of record insertion, the
以上、メタデータにおいて論理テーブルのレコードが物理テーブル11の複数のレコードに分解して対応付けられている場合のデータ操作の一例について説明した。テナントAのレコードのように論理テーブルにおけるレコードが物理テーブル11においても分解されずに登録されている場合は、「TenantID」及び「TypeID」の条件を追加し、カラム名の変換を行うが、「PageID」は「1」のみであり、結合や分解を行う必要はない。 In the foregoing, an example of the data operation in the case where the record of the logical table is decomposed and associated with the plurality of records of the physical table 11 in the metadata has been described. When the record in the logical table is registered without being disassembled in the physical table 11 like the record of the tenant A, the conditions of “TenantID” and “TypeID” are added and the column name is converted. “PageID” is only “1”, and it is not necessary to combine or decompose.
また、レコードの更新については、要求に対し選択と同様の変換を行い、条件に該当するレコードを更新するクエリを生成する。レコードの削除については、例えば、条件に該当するレコードと「DataID」の値が同一のレコードを削除するクエリを生成する。 As for the record update, the request is converted in the same manner as the selection, and a query for updating the record corresponding to the condition is generated. As for the record deletion, for example, a query for deleting a record having the same “DataID” value as that of the record corresponding to the condition is generated.
その後、制御装置1のデータ操作部10は、物理テーブル11に対しデータ操作を実行する(S303)。本ステップでは、データ操作部10が物理テーブル11に対し変換後のクエリを発行して挿入、選択、更新、削除等のデータ操作を行い、実行結果を変換部15に出力する。以上のように、変換部15及びデータ操作部10は、受けた要求に応じて、「登録部」、「抽出部」、「更新部」、「削除部」等として機能する。また、データ操作処理のS302〜S304は、受けた要求に応じて、「登録ステップ」、「抽出ステップ」、「更新ステップ」、「削除ステップ」として働く。
Thereafter, the
次に、変換部15は、メタデータ記憶部12のメタデータに基づいて出力結果を変換し、結果応答部へ出力する(S304)。
Next, the
そして、制御装置1の結果応答部16は、ネットワークNを介して要求元のコンテンツサーバ2に対して結果を送信する(S305)。なお、結果応答部16は、制御装置1の図示していないアプリケーションに対して結果を渡すようにしてもよい。
And the
<設定処理>
図20は、メタデータ等の設定を行う設定処理の一例を示す処理フロー図である。上述したデータ操作処理の前に、図20に示すような設定処理を行う。
<Setting process>
FIG. 20 is a process flow diagram illustrating an example of a setting process for setting metadata and the like. Before the data operation process described above, a setting process as shown in FIG. 20 is performed.
制御装置1の設定部13は、管理者端末4から要求を受け、メタデータ記憶部12に論理テーブルのカラムと物理テーブル11のカラムとの対応付けを設定する(図20:S411)。本ステップでは、図9に示したようなメタデータが登録される。
The setting
本実施形態1では、物理テーブル11に様々なデータ型のカラムを用意しておくことを特徴の1つとしている。このようにすれば、カラムのデータ型に応じて検索や集計等の機能を適用することができる。なお、論理テーブルのカラムに設定されるデータ型と物理テーブルのカラムに設定されるデータ型とは必ずしも1対1に対応していなくてもよい。例えば、図21に示すようにカラム間のデータ型を設定するようにしてもよい。ここで、論理テーブルにおける「選択肢型」とは、予め定義された複数の選択肢の中からいずれかを指定することができるデータ型である。たとえば、優先度を示す項目に、あらかじめ定義された「最高」、「高」、「中」、「低」等の選択肢のいずれかを指定できるようにする。また、論理テーブルにおける「参照型」とは、別データへの参照を表現するデータ型である。また、論理テーブルにおける「バイナリデータ型」とは、BLOB型のようなバイナリデータを扱う型である。制御装置1内において、バイナリデータの格納手段(たとえば、ファイルシステムやクラウドサービス上のストレージサービスなど)を別途準備し、
物理テーブル内のカラムには格納手段へのポインタとなるLobIDを格納するようにしてもよい。そして、設定によって格納手段をDB又はファイルシステム等に切り替え可能としてもよい。また、論理テーブルにおける「ロングテキスト型」とは、文字列型カラムのデータサイズの上限を超える文字列を格納可能とするデータ型である。例えば、CLOBを利用し、バイナリデータ型と同様に切り替え可能としてもよい。
The first embodiment is characterized in that columns of various data types are prepared in the physical table 11. In this way, functions such as search and aggregation can be applied according to the data type of the column. Note that the data types set in the columns of the logical table and the data types set in the columns of the physical table do not necessarily have a one-to-one correspondence. For example, the data type between columns may be set as shown in FIG. Here, the “option type” in the logical table is a data type that can specify any one of a plurality of predefined options. For example, in the item indicating the priority, any one of predefined options such as “highest”, “high”, “medium”, “low”, etc. can be designated. The “reference type” in the logical table is a data type that represents a reference to another data. Further, the “binary data type” in the logical table is a type that handles binary data such as the BLOB type. In the
You may make it store LobID used as the pointer to a storage means in the column in a physical table. Then, the storage means may be switchable to a DB or a file system depending on the setting. The “long text type” in the logical table is a data type that can store a character string that exceeds the upper limit of the data size of the character string type column. For example, it is possible to use CLOB and switch it in the same manner as the binary data type.
なお、物理テーブル11のカラムは、すべて文字列型としてもよい。この場合、データ操作部10は、数値や日付もすべて文字列として物理テーブル11に格納する。そして、例えば集計のような処理は、制御装置1の図示していないアプリケーションが実行するようにする。予め物理テーブル11に様々なデータ型のカラムをそれぞれ複数用意する場合、使用しないデータ型のカラムが増えてしまう可能性もあるところ、例えばカラムをすべて文字列型とすれば、物理テーブルのカラムを有効に利用可能となる。また、このような場合であっても、論理テーブルにおけるカラムをそれぞれ物理テーブルにおける独立したカラムに登録すれば、各カラムに対して検索のようなDBMSが提供する機能を利用できる。
Note that all the columns of the physical table 11 may be of a character string type. In this case, the
また、上述の通り、データ型が同一であってデータサイズが異なる複数のカラムを設けてもよい。例えば、物理テーブル11には、文字列型(最大長:256文字)のカラムと文字列型(最大長:2000文字)のカラムとを設けておく。そして、例えば、論理テーブルの短文字列型のカラムを物理テーブル11の文字列型(最大長:256文字)のカラムにマッピングし、論理テーブルの長文字列型のカラムを物理テーブル11の文字列型(最大長:2000文字)のカラムにマッピングする。物理テーブル11にデータ型は同一であってデータサイズが異なる複数のカラムを設けておくことにより、ユーザは格納データに応じて十分な最大長のカラムを選択することができ、テーブルに保存されるデータ量を削減したり、データ処理時に使用するバッファメモリを節約することができる。 Further, as described above, a plurality of columns having the same data type and different data sizes may be provided. For example, the physical table 11 is provided with a character string type (maximum length: 256 characters) column and a character string type (maximum length: 2000 characters) column. For example, the short character string type column of the logical table is mapped to the character string type (maximum length: 256 characters) column of the physical table 11, and the long character string type column of the logical table is mapped to the character string of the physical table 11. Map to column of type (maximum length: 2000 characters). By providing the physical table 11 with a plurality of columns having the same data type and different data sizes, the user can select a column having the maximum length according to the stored data and is stored in the table. The amount of data can be reduced, and the buffer memory used during data processing can be saved.
また、物理テーブル11は、一部のカラムに予めインデックス(INDEX)を付与しておくようにしてもよい。インデックスは、データ操作部10の機能を利用して付与することができる。この場合、S411においては、論理テーブルのカラムのうち多く検索に用いられることが想定されるカラムを、物理テーブル11におけるインデックス付きのカラムにマッピングする。このようにすることで、図12、図13等に示したデータ操作処理において検索処理を高速化することができる。
In the physical table 11, an index (INDEX) may be assigned to some columns in advance. The index can be assigned using the function of the
なお、データ管理の方式によっては、null値に対してもインデックスを付与し、データ領域を占有する場合がある。本実施形態1に係る物理テーブルの各カラムには必ずしも論理テーブルのカラムがマッピングされるとは限らないところ、このような方式の場合にインデックスを付与するのは好ましくない。このような場合は、図22に示すようなインデックステーブルを別途設けるようにしてもよい。インデックステーブルは、例えば、データ型の種類に応じて、文字列型用のインデックステーブル、数値型用のインデックステーブル等を設ける。そして、メタデータにおいてインデックスの付与が設定されたカラムについてはインデックステーブルにカラムの値をコピーして(すなわち同期させて)検索に用いるようにする。 Depending on the data management method, an index may be assigned to the null value to occupy the data area. Although the columns of the logical table are not necessarily mapped to the columns of the physical table according to the first embodiment, it is not preferable to add an index in such a method. In such a case, an index table as shown in FIG. 22 may be provided separately. As the index table, for example, an index table for a character string type, an index table for a numeric type, and the like are provided according to the type of data type. Then, for the column to which index assignment is set in the metadata, the column value is copied (that is, synchronized) to the index table and used for the search.
また、設定部13は、コンテンツサーバ2から要求を受けた場合、メタデータ記憶部12にテーブルスペースの設定をする(S412)。ここで、テーブルスペースとは、複数用意される物理テーブルの各々を指す概念である。複数のテーブルスペースを用意することで、いわゆるパーティショニングのように物理テーブルを分散させることができる。
Further, when receiving a request from the
図23は、テーブルスペースを説明するための図である。図23に示すように、メタデータにおいて、各論理テーブルがいずれのテーブルスペースを利用するのか対応付けを設
定する。また、物理テーブルはテーブルスペースの数だけ用意され、それぞれメタデータで対応付けられた論理テーブルのレコードが登録される。図23の例では、「Default」
テーブルスペースに「DataTable_Default」という物理テーブルが対応付けられ、「TenantID」及び「TypeID」をキーとしてパーティショニングする。また、「DateBase」テーブ
ルスペースには「DataTable_DateBase」という物理テーブルが対応付けられ、「Date1」
及び「TenantID」をキーとしてパーティショニングする。
FIG. 23 is a diagram for explaining the table space. As shown in FIG. 23, in the metadata, an association is set for which logical space each logical table uses. In addition, as many physical tables as the number of table spaces are prepared, and records of logical tables associated with metadata are registered. In the example of FIG. 23, “Default”
A physical table “DataTable_Default” is associated with the table space, and partitioning is performed using “TenantID” and “TypeID” as keys. In addition, a physical table called “DataTable_DateBase” is associated with the “DateBase” tablespace, and “Date1”
And partition with “TenantID” as a key.
このような例において、「DateBase」テーブルスペースには、注文日等の項目を有し、レコードが日々増加するトランザクションデータを格納するものとする。一般的に物理テーブルのレコードが増加するほどレスポンスは低下していくところ、保持するレコード数の増加が見込まれる論理テーブルを物理テーブル上分けて管理することができる。 In such an example, it is assumed that the “DateBase” table space stores transaction data having items such as order dates and records increasing daily. In general, the response decreases as the number of records in the physical table increases. However, logical tables that are expected to increase in the number of records to be held can be managed separately on the physical table.
さらに、テーブルスペースの各々について、各データ型のカラム数に差をつけてもよい。例えば、文字の保存を優先するテーブルスペース(文字保存優先型)と、数値の保存を優先するテーブルスペース(数値保存優先型)を定義しておく。そして、文字保存優先型の物理テーブルには、例えば、文字列型のカラムを80列、数値型のカラムを10列、日付型のカラムを10列設ける。また、数値保存優先型の物理テーブルには、例えば、文字列型のカラムを10列、数値型のカラムを80列、日付多型のカラムを10列設ける。ユーザが論理テーブルを定義する際には格納するデータの見通しが立つため、適切なテーブルスペースを選択することが可能であり、テーブルに保存されるデータ量を削減したり、データ処理時に使用するバッファメモリを節約することができる。 Further, for each table space, the number of columns of each data type may be differentiated. For example, a table space giving priority to character storage (character storage priority type) and a table space giving priority to numerical value storage (numerical value storage priority type) are defined. In the character storage priority type physical table, for example, 80 character string columns, 10 numeric columns, and 10 date columns are provided. Also, the numeric storage priority type physical table is provided with, for example, 10 character string columns, 80 numeric columns, and 10 date polymorphic columns. When a user defines a logical table, the stored data has a clear view, so it is possible to select an appropriate table space, reduce the amount of data stored in the table, and use a buffer for data processing Memory can be saved.
以上のように、本実施形態1によれば、会員にのみコンテンツを提供するといったコンテンツ提供の制御を行うシステムを容易に実現できる。 As described above, according to the first embodiment, it is possible to easily realize a system that controls content provision such as providing content only to members.
特に、本実施形態1では、制御装置1が、会員情報の管理や、決済処理、コンテンツ提供の制御を行う機能を備えたことにより、既存のコンテンツサーバを大きく変更することなく、プラグインモジュールを提供するだけで、コンテンツ提供の制御を実現できる。
In particular, in the first embodiment, the
《実施形態2》
前述の実施形態1では、コンテンツサーバ2にプラグインモジュールを提供することで問い合わせ部23及び制御情報処理部24の機能を実現したが、これらの機能を制御装置に備え、プロキシサーバのようにコンテンツを提供する構成としても良い。即ち、前述の実施形態1では、プラグイン型でコンテンツの提供を制御する例を示したが、本実施形態2では、プロキシ型でコンテンツの提供を制御する構成とした。なお、その他の構成は、実施形態1と同じであるので同一の要素には同符号を付して再度の説明を省略している。
<<
In the first embodiment described above, the functions of the
図24は実施形態2のコンテンツ制御システムの概略構成を示す図である。図24に示すように、本実施形態2の制御装置1は、ユーザ端末からの要求をコンテンツサーバ2へ中継し、コンテンツサーバ2から提供されるコンテンツをユーザ端末3へ中継するプロキシサーとして機能する。
FIG. 24 is a diagram illustrating a schematic configuration of a content control system according to the second embodiment. As shown in FIG. 24, the
本実施形態2における要求受付部14は、ユーザ端末3からコンテンツの提供の要求を受信し、前記要求に基づいて、コンテンツを識別するコンテンツ識別情報、ユーザを識別するユーザ識別情報、及び要求されたコンテンツを提供するコンテンツサーバ2の事業者を識別する事業者識別情報を取得する。即ち、本実施形態2における要求受付部14は、実施形態1の要求受付部14がコンテンツサーバ2から問い合わせ情報を受信することに代えて、ユーザ端末3から直接コンテンツの提供の要求を受信する。
The
また、本実施形態2の要求受付部14は、コンテンツ識別情報等、例えば要求されたコ
ンテンツを示すURLのドメインと事業者とを対応付けて記憶しておき、要求されたコンテ
ンツに基づいて事業者識別情報を特定する。
In addition, the
なお、ユーザ認証し、要求元のユーザ識別情報を特定する構成は前述の実施形態1と同じである。 The configuration for authenticating the user and specifying the user identification information of the request source is the same as in the first embodiment.
また、本実施形態2における結果応答部16は、判定部17による判定の結果に基づいてコンテンツをコンテンツサーバ2から取得して要求元のユーザ端末3へ送信するコンテンツ送信部でもある。
The
図25は本実施形態2におけるコンテンツの提供方法を示す図である。先ず、ユーザ端末3が、コンテンツサーバ2にアクセスすると(ステップS510)、コンテンツサーバ2は、図13に示すようにコンテンツを提供するためのリンク62を掲載したウェブページ61をユーザ端末3へ送信する(ステップS515)。
FIG. 25 is a diagram showing a content providing method according to the second embodiment. First, when the
ユーザ端末3が、コンテンツサーバ2からウェブページ61を受信し、リンク62をユーザが選択すると、ユーザ端末3は、当該リンクの記述に従って制御装置1にアクセスし、コンテンツ識別情報、ユーザ識別情報及び事業者識別情報を問い合わせ情報として送信することで、コンテンツの提供を要求する(ステップS520)。
When the
制御装置1は、この問い合わせ情報を受診すると(ステップS525)、事業者識別情報及びユーザ識別情報と対応するユーザ情報をマルチテナントデータベースから抽出する(ステップS530)。
When the
そして、制御装置1は、ステップS525で受信した問い合わせ情報のコンテンツ識別情報と対応する提供条件を読み出し、ステップS530で抽出したユーザ情報が提供条件を満たすか否かを判定する(ステップS540)。
And the
この判定の結果、制御装置1は、ユーザ情報が提供条件を満たしていればコンテンツの提供を可とし、コンテンツサーバ2へコンテンツ識別情報と対応するコンテンツを要求する(ステップS550)。
As a result of this determination, if the user information satisfies the provision condition, the
このコンテンツの要求を受信したコンテンツサーバ2は、コンテンツ識別情報と対応するコンテンツを制御装置1へ送信し(ステップS555)、制御装置1は、このコンテンツをユーザ端末3へ送信する(ステップS560)。
The
一方、ステップS540でユーザ情報が提供条件を満たしていないと判定した場合には、コンテンツの提供が不可である旨を示すウェブページ(以下、提供不可ページとも称す)をユーザ端末3に提供(送信)する(ステップS560)。
On the other hand, if it is determined in step S540 that the user information does not satisfy the provision condition, a web page indicating that the content cannot be provided (hereinafter also referred to as a provision impossible page) is provided (transmitted) to the
ユーザ端末3は、制御装置1からウェブページを受信して、表示などの出力を行う(ステップS565)。
The
以上のように、本実施形態2おいても、前述の実施形態1と同様、会員にのみコンテンツを提供するといったコンテンツ提供の制御を行うシステムを容易に実現できる。 As described above, also in the second embodiment, as in the first embodiment, it is possible to easily realize a system that controls content provision such as providing content only to members.
<その他>
本発明は、上述の例に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更を加え得るものである。
<Others>
The present invention is not limited to the above-described examples, and various modifications can be made without departing from the gist of the present invention.
例えば、物理テーブル11として、メインの物理テーブルと補助的な物理テーブルとを設けておくようにしてもよい。この場合、例えば、1ページ目(PageIDが1)のカラムをメインの物理テーブル(メインテーブル)に記憶させ、2ページ目以降(PageIDが2以上)のカラムを補助的な物理テーブル(補助テーブル)に記憶させる。このようにすれば、メインテーブルのレコードと論理テーブルのレコードとは1対1に対応づけられ、メインテーブルのカラム「DataID」に対してユニークインデックスを張ることができるようになる。また、例えば図2の変換部15を介さずに、ユーザがSQL等で直接物理テーブル11を参照するような場合、メインテーブルのレコード件数が論理テーブルにおけるレコード件数となるため、メンテナンス等が行い易くなる。
本発明のコンテンツ制御システム100は、実施形態1と実施形態2の構成を併せ持ち、制御装置1が一部のコンテンツサーバ2に対してSaaS型でコンテンツの制御を行い、また、他の一部のコンテンツサーバ2に対してプロキシ型でコンテンツの制御を行う構成でも良い。
For example, as the physical table 11, a main physical table and an auxiliary physical table may be provided. In this case, for example, the column of the first page (PageID is 1) is stored in the main physical table (main table), and the column of the second page and later (PageID is 2 or more) is an auxiliary physical table (auxiliary table). Remember me. In this way, the record of the main table and the record of the logical table are associated with each other one-to-one, and a unique index can be set for the column “DataID” of the main table. For example, when the user directly refers to the physical table 11 using SQL or the like without using the
The content control system 100 according to the present invention has the configurations of the first embodiment and the second embodiment, and the
1 マルチテナントシステム
11 DBMS
111 物理テーブル
112 データ操作部
12 メタデータ記憶部
13 論理構造設定部
14 要求受付部
15 変換部
16 結果応答部
2 コンテンツサーバ
3 ユーザ端末
1
111 Physical table 112
Claims (7)
前記コンテンツサーバが、
前記ユーザ端末からコンテンツの提供の要求を受信する要求受信部と、
前記要求と対応するコンテンツを前記ユーザ端末へ送信するコンテンツ送信部と、
前記ユーザを識別するユーザ識別情報、及び前記コンテンツサーバを運営する事業者を識別する事業者識別情報を含む問い合わせ情報を前記制御装置へ送信する問い合わせ部と、
前記制御装置から前記問い合わせの回答として制御情報を受信し、前記制御情報に基づいて前記コンテンツの提供が不可の場合には前記要求に対して前記コンテンツの送信を行わせない制御情報処理部と、
を備え、
前記制御装置が、
前記コンテンツサーバから問い合わせ情報を受信する問い合わせ受信部と、
前記事業者をテナントとして、複数のテナントで物理テーブルを共有し、前記テナント毎に定義される論理テーブルのカラムと前記物理テーブルのカラムとの対応付けを前記テナント毎に定義するマッピング情報に基づいて、前記事業者識別情報、前記ユーザ識別情報、及びユーザ情報を対応付けて記憶するマルチテナントデータベースから、前記マッピング情報に基づいて前記問い合わせ情報の前記事業者識別情報及び前記ユーザ識別情報と対応する前記ユーザ情報を抽出する抽出部と、
前記ユーザ情報に基づく制御情報を問い合わせ元の前記コンテンツサーバへ送信する回答送信部と、
を備えるコンテンツ制御システム。 A plurality of content servers that provide content to a user terminal, and a control device that controls the provision of the content by connecting to the plurality of content servers via a network;
The content server is
A request receiving unit for receiving a content provision request from the user terminal;
A content transmission unit that transmits content corresponding to the request to the user terminal;
An inquiry unit for transmitting inquiry information including user identification information for identifying the user and operator identification information for identifying an operator operating the content server to the control device;
A control information processing unit that receives control information as an answer to the inquiry from the control device, and that does not transmit the content in response to the request when the content cannot be provided based on the control information;
With
The control device is
An inquiry receiver for receiving inquiry information from the content server;
Based on the mapping information that defines the correspondence between the logical table column defined for each tenant and the physical table column for each tenant, sharing the physical table among the tenants with the operator as the tenant. From the multi-tenant database that stores the operator identification information, the user identification information, and the user information in association with each other, based on the mapping information, the operator identification information and the user identification information corresponding to the inquiry information An extraction unit for extracting user information;
An answer transmitter that transmits control information based on the user information to the content server of the inquiry source;
A content control system comprising:
前記制御装置が、前記コンテンツ識別情報に応じたコンテンツの提供条件を前記ユーザ情報が満たすか否かを判定し、少なくとも当該判定の結果を前記制御情報とする判定部を更に備える請求項1に記載のコンテンツ制御システム。 The inquiry unit transmits, as the inquiry information, content identification information for identifying the requested content in addition to the user identification information and the operator identification information,
2. The control device according to claim 1, further comprising: a determination unit that determines whether or not the user information satisfies a content provision condition according to the content identification information, and uses at least a result of the determination as the control information. Content control system.
前記抽出部が、前記マッピング情報及び前記接続関係を示す情報に基づき、前記第1のレコード及び前記第2のレコードを前記物理テーブルから読み出し、結合して出力する請求項1又は2に記載のコンテンツ制御システム。 Based on the mapping information, the control device disassembles the record in the logical table into a first record and a second record in the physical table, and a connection relationship between the first record and the second record A registration unit for registering with information indicating
The content according to claim 1 or 2, wherein the extraction unit reads the first record and the second record from the physical table based on the mapping information and the information indicating the connection relation, and outputs the combined record. Control system.
前記ユーザ端末からコンテンツの提供の要求を受信したコンテンツサーバから、前記ユーザを識別するユーザ識別情報、及び前記コンテンツサーバを運営する事業者を識別する事業者識別情報を含む問い合わせ情報を受信する問い合わせ受信部と、
前記事業者をテナントとして、複数のテナントで物理テーブルを共有し、前記テナント毎に定義される論理テーブルのカラムと前記物理テーブルのカラムとの対応付けを前記テナント毎に定義するマッピング情報に基づいて、前記事業者識別情報、前記ユーザ識別情報、及びユーザ情報を対応付けて記憶するマルチテナントデータベースから、前記マッピング情報に基づいて前記問い合わせ情報の前記事業者識別情報及び前記ユーザ識別情報と
対応する前記ユーザ情報を抽出する抽出部と、
前記ユーザ情報に基づく制御情報を問い合わせ元の前記コンテンツサーバへ送信する回答送信部と、
を備える制御装置。 A plurality of content servers that provide content to a user terminal, and a control device that controls the provision of the content by connecting via a network,
Inquiry reception for receiving inquiry information including user identification information for identifying the user and operator identification information for identifying the operator operating the content server from the content server that has received the content provision request from the user terminal. And
Based on the mapping information that defines the correspondence between the logical table column defined for each tenant and the physical table column for each tenant, sharing the physical table among the tenants with the operator as the tenant. From the multi-tenant database that stores the operator identification information, the user identification information, and the user information in association with each other, based on the mapping information, the operator identification information and the user identification information corresponding to the inquiry information An extraction unit for extracting user information;
An answer transmitter that transmits control information based on the user information to the content server of the inquiry source;
A control device comprising:
前記ユーザ端末からコンテンツの提供の要求を受信し、前記要求に基づいて、前記コンテンツを識別するコンテンツ識別情報、前記ユーザを識別するユーザ識別情報、及び要求された前記コンテンツを提供する前記コンテンツサーバの事業者を識別する事業者識別情報を取得する要求受信部と、
前記事業者をテナントとして、複数のテナントで物理テーブルを共有し、前記テナント毎に定義される論理テーブルのカラムと前記物理テーブルのカラムとの対応付けを前記テナント毎に定義するマッピング情報に基づいて、前記事業者識別情報、前記ユーザ識別情報、及びユーザ情報を対応付けて記憶するマルチテナントデータベースから、前記マッピング情報に基づいて前記問い合わせ情報の前記事業者識別情報及び前記ユーザ識別情報と対応する前記ユーザ情報を抽出する抽出部と、
前記ユーザ情報に基づいて前記コンテンツの提供の可否を判定する判定部と、
前記判定の結果に基づいて前記コンテンツを前記コンテンツサーバから取得して要求元の前記ユーザ端末へ送信するコンテンツ送信部と、
を備える制御装置。 A plurality of content servers that provide content to a user terminal, and a control device that controls the provision of the content by connecting via a network,
A request for providing content from the user terminal, and content identification information for identifying the content, user identification information for identifying the user, and the content server that provides the requested content based on the request A request receiving unit for acquiring business operator identification information for identifying a business operator;
Based on the mapping information that defines the correspondence between the logical table column defined for each tenant and the physical table column for each tenant, sharing the physical table among the tenants with the operator as the tenant. From the multi-tenant database that stores the operator identification information, the user identification information, and the user information in association with each other, based on the mapping information, the operator identification information and the user identification information corresponding to the inquiry information An extraction unit for extracting user information;
A determination unit that determines whether the content can be provided based on the user information;
A content transmission unit that acquires the content from the content server based on the result of the determination and transmits the content to the requesting user terminal;
A control device comprising:
前記コンテンツサーバが、
前記ユーザ端末からコンテンツの提供の要求を受信するステップと、
前記要求と対応するコンテンツを前記ユーザ端末へ送信するステップと、
前記ユーザを識別するユーザ識別情報、及び前記コンテンツサーバを運営する事業者を識別する事業者識別情報を含む問い合わせ情報を前記制御装置へ送信するステップと、
前記制御装置から前記問い合わせの回答として制御情報を受信し、前記制御情報に基づいて前記コンテンツの提供が不可の場合には前記要求に対して前記コンテンツの送信を行わせないステップと、を実行し、
前記制御装置が、
前記コンテンツサーバから問い合わせ情報を受信するステップと、
前記事業者をテナントとして、複数のテナントで物理テーブルを共有し、前記テナント毎に定義される論理テーブルのカラムと前記物理テーブルのカラムとの対応付けを前記テナント毎に定義するマッピング情報に基づいて、前記事業者識別情報、前記ユーザ識別情報、及びユーザ情報を対応付けて記憶するマルチテナントデータベースから、前記マッピング情報に基づいて前記問い合わせ情報の前記事業者識別情報及び前記ユーザ識別情報と対応する前記ユーザ情報を抽出するステップと、
前記ユーザ情報に基づく制御情報を問い合わせ元の前記コンテンツサーバへ送信するステップと、
を実行するコンテンツ制御方法。 A content control method executed by a plurality of content servers that provide content to a user terminal, and a control device that controls the provision of the content by connecting to the plurality of content servers via a network,
The content server is
Receiving a content provision request from the user terminal;
Transmitting content corresponding to the request to the user terminal;
Transmitting inquiry information including user identification information for identifying the user and operator identification information for identifying an operator operating the content server to the control device;
Receiving control information as an answer to the inquiry from the control device, and not providing the content in response to the request when the content cannot be provided based on the control information, ,
The control device is
Receiving inquiry information from the content server;
Based on the mapping information that defines the correspondence between the logical table column defined for each tenant and the physical table column for each tenant, sharing the physical table among the tenants with the operator as the tenant. From the multi-tenant database that stores the operator identification information, the user identification information, and the user information in association with each other, based on the mapping information, the operator identification information and the user identification information corresponding to the inquiry information Extracting user information;
Transmitting control information based on the user information to the content server of the inquiry source;
Content control method for executing.
前記ユーザ端末からコンテンツの提供の要求を受信したコンテンツサーバから、前記ユーザを識別するユーザ識別情報、及び前記コンテンツサーバを運営する事業者を識別する
事業者識別情報を含む問い合わせ情報を受信するステップと、
前記事業者をテナントとして、複数のテナントで物理テーブルを共有し、前記テナント毎に定義される論理テーブルのカラムと前記物理テーブルのカラムとの対応付けを前記テナント毎に定義するマッピング情報に基づいて、前記事業者識別情報、前記ユーザ識別情報、及びユーザ情報を対応付けて記憶するマルチテナントデータベースから、前記マッピング情報に基づいて前記問い合わせ情報の前記事業者識別情報及び前記ユーザ識別情報と対応する前記ユーザ情報を抽出するステップと、
前記ユーザ情報に基づく制御情報を問い合わせ元の前記コンテンツサーバへ送信するステップと、
を前記制御装置に実行させるためのコンテンツ制御プログラム。 A content control program executed by a control device connected to a plurality of content servers for providing content to a user terminal via a network and controlling the provision of the content,
Receiving inquiry information including user identification information for identifying the user and business operator identification information for identifying the business operator operating the content server from the content server that has received the content provision request from the user terminal; ,
Based on the mapping information that defines the correspondence between the logical table column defined for each tenant and the physical table column for each tenant, sharing the physical table among the tenants with the operator as the tenant. From the multi-tenant database that stores the operator identification information, the user identification information, and the user information in association with each other, based on the mapping information, the operator identification information and the user identification information corresponding to the inquiry information Extracting user information;
Transmitting control information based on the user information to the content server of the inquiry source;
A content control program for causing the control device to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014066487A JP6338909B2 (en) | 2014-03-27 | 2014-03-27 | Content control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014066487A JP6338909B2 (en) | 2014-03-27 | 2014-03-27 | Content control system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015191305A true JP2015191305A (en) | 2015-11-02 |
JP6338909B2 JP6338909B2 (en) | 2018-06-06 |
Family
ID=54425775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014066487A Active JP6338909B2 (en) | 2014-03-27 | 2014-03-27 | Content control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6338909B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7413306B2 (en) | 2020-05-09 | 2024-01-15 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | Data processing methods, devices, equipment and storage media |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001195509A (en) * | 1999-10-25 | 2001-07-19 | Sony Corp | Contents providing system, contents distributing method, and storage medium |
JP2002008115A (en) * | 2000-06-23 | 2002-01-11 | Sony Corp | Information distribution system, terminal device, server device, recording medium, and information distribution method |
JP2002334227A (en) * | 2001-05-10 | 2002-11-22 | Nippon Telegr & Teleph Corp <Ntt> | Pay service provision method, pay service provision system, content server, program for pay service provision, and recording medium |
JP2007299303A (en) * | 2006-05-02 | 2007-11-15 | Ntt Resonant Inc | Id cooperative authentication system and id cooperative authentication method |
JP2009145972A (en) * | 2007-12-11 | 2009-07-02 | Hitachi Information Systems Ltd | Database system and control method for database system |
WO2011111532A1 (en) * | 2010-03-10 | 2011-09-15 | 日本電気株式会社 | Database system |
-
2014
- 2014-03-27 JP JP2014066487A patent/JP6338909B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001195509A (en) * | 1999-10-25 | 2001-07-19 | Sony Corp | Contents providing system, contents distributing method, and storage medium |
JP2002008115A (en) * | 2000-06-23 | 2002-01-11 | Sony Corp | Information distribution system, terminal device, server device, recording medium, and information distribution method |
JP2002334227A (en) * | 2001-05-10 | 2002-11-22 | Nippon Telegr & Teleph Corp <Ntt> | Pay service provision method, pay service provision system, content server, program for pay service provision, and recording medium |
JP2007299303A (en) * | 2006-05-02 | 2007-11-15 | Ntt Resonant Inc | Id cooperative authentication system and id cooperative authentication method |
JP2009145972A (en) * | 2007-12-11 | 2009-07-02 | Hitachi Information Systems Ltd | Database system and control method for database system |
WO2011111532A1 (en) * | 2010-03-10 | 2011-09-15 | 日本電気株式会社 | Database system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7413306B2 (en) | 2020-05-09 | 2024-01-15 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | Data processing methods, devices, equipment and storage media |
Also Published As
Publication number | Publication date |
---|---|
JP6338909B2 (en) | 2018-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10796020B2 (en) | Consent receipt management systems and related methods | |
US10678945B2 (en) | Consent receipt management systems and related methods | |
US10685140B2 (en) | Consent receipt management systems and related methods | |
US10592648B2 (en) | Consent receipt management systems and related methods | |
US20190179490A1 (en) | Consent receipt management systems and related methods | |
US20190180051A1 (en) | Consent receipt management systems and related methods | |
US8185546B2 (en) | Enhanced control to users to populate a cache in a database system | |
US20110289420A1 (en) | Screen customization supporting system, screen customization supporting method, and computer-readable recording medium | |
US7124354B1 (en) | Enterprise application transactions as shared active documents | |
CN108319661A (en) | A kind of structured storage method and device of spare part information | |
US20140181137A1 (en) | Presenting data in response to an incomplete query | |
US20210200899A1 (en) | Data processing systems and methods for synching privacy-related user consent across multiple computing devices | |
US20110047146A1 (en) | Systems, Methods, and Computer Program Product for Mobile Service Data Browser | |
US9769159B2 (en) | Cookie optimization | |
WO2016091002A1 (en) | Method and device for providing authentication information on web page | |
WO2021013057A1 (en) | Data management method and apparatus, and device and computer-readable storage medium | |
JP2002117215A (en) | Patent management system | |
US20220156245A1 (en) | System and method for managing custom fields | |
US10303668B2 (en) | Automatic screen generation device, automatic screen generation program, and automatic screen generation method | |
JP6586050B2 (en) | Management device, management method, and management program | |
JP6338909B2 (en) | Content control system | |
JP2009217529A (en) | Knowledge management system | |
CN112580065A (en) | Data query method and device | |
US20100057733A1 (en) | Method, computer program product, and apparatus for enabling access to enterprise information | |
JP2024002548A (en) | Contract management program, information processing apparatus, information processing system, information processing method, and information processing terminal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180123 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180326 |
|
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: 20180410 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180509 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6338909 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 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |