JP2009146350A - Service management device, data access controller, and data retrieval method - Google Patents
Service management device, data access controller, and data retrieval method Download PDFInfo
- Publication number
- JP2009146350A JP2009146350A JP2007325969A JP2007325969A JP2009146350A JP 2009146350 A JP2009146350 A JP 2009146350A JP 2007325969 A JP2007325969 A JP 2007325969A JP 2007325969 A JP2007325969 A JP 2007325969A JP 2009146350 A JP2009146350 A JP 2009146350A
- Authority
- JP
- Japan
- Prior art keywords
- server
- acl
- store
- drill
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、サービス管理装置及びデータアクセス制御装置及びデータ検索システム及びデータ検索方法に関するものである。 The present invention relates to a service management device, a data access control device, a data search system, and a data search method.
従来のパッケージS/W(ソフトウェア)の代替としてWebブラウザベースのUI(ユーザインタフェース)によりインターネット経由で全ての機能を提供するSaaS(Software・as・a・Service)が注目されている。マルチテナントのSaaSシステム(マルチテナントとは、同一システム内に複数サービスが共存している状態を指し、テナントは個々のサービスを指す)では、各テナントが個別にDB(データベース)やDWH(データウェアハウス)を持っている場合がある。 As an alternative to the conventional package S / W (software), SaaS (Software as a Service) that provides all functions via the Internet with a Web browser-based UI (user interface) has attracted attention. In a multi-tenant SaaS system (a multi-tenant refers to a state where multiple services coexist in the same system, and a tenant refers to an individual service), each tenant individually has a DB (database) or DWH (dataware May have a house).
DBの一種である掲示板システムにおいて、ユーザ、及び、ユーザが属する少なくとも1レベルの階層のグループごとに、データベース、及び、データベースが属する少なくとも1レベルの階層のデータベースグループに対するアクセス権を設定し、データベースアクセス要求に対して、要求元となるユーザの階層構造、アクセス対象となるデータベースの階層構造、及び、上記アクセス権の設定内容を基に、アクセス権のチェックを行うものがある(例えば、特許文献1参照)。
マルチテナントのSaaS(Software・as・a・Service)システムにおいて、各テナントが個別にDB(データベース)やDWH(データウェアハウス)を持っているものの一例として、複数の店舗からなるフランチャイズチェーン(FC)におけるSaaS利用を考える。一般にFCでは、店舗ごとに業務内容が異なるため、店舗ごとに別々のSaaSを契約する。一方、FCの親業者や地域のFC店舗管理監督者などにおいては、傘下の店舗の業務内容を把握するため、複数の店舗のSaaSにアクセスし、売上情報などについてテナントを横断して検索・集計を行いたいという要求がある。この際、データ分析を経営に生かすビジネスインテリジェンス(BI)の世界では、テナントを横断するFC全体の集計結果から見出される現象の原因追求のため、集計データ参照画面から個別の明細データを検索して参照するドリルスルー機能(個別明細データ検索機能)を提供するのが一般的である。個々の店舗においては、FC全体の売上などの集計結果を参照したいという要求がある一方、他店舗がFC全体の集計結果からドリルスルーする際、自店舗の詳細情報である明細は同じ管理地区に属さない他店舗には参照されたくないというニーズがある。 As an example of multi-tenant SaaS (Software as a Service) system where each tenant individually has a DB (database) and DWH (data warehouse), a franchise chain (FC) consisting of multiple stores Consider using SaaS in In general, in FC, since the business content differs for each store, a separate SaaS contract is made for each store. On the other hand, FC parent companies and regional FC store management supervisors access SaaS at multiple stores to search and aggregate sales information across tenants in order to grasp the business details of the stores under their control. There is a request to do. At this time, in the business intelligence (BI) world where data analysis is utilized for management, individual detail data is searched from the aggregate data reference screen in order to pursue the cause of the phenomenon found from the aggregate results of the entire FC across tenants. It is common to provide a drill-through function to be referred to (individual item data search function). While each store has a request to refer to the aggregated results such as the sales of the entire FC, when other stores drill through the aggregated results of the entire FC, the details that are the detailed information of their stores are in the same management district There is a need not to be referred to other stores that do not belong.
しかし、テナントごとにDBやDWHを持っているSaaSにおいては、個々のDBやDWHごとにアクセス制御情報を設定する必要があり、管理が煩雑である。図1に、この場合のSaaSシステム991の構成を示す。図1において、ACL(アクセス制御リスト)は、アクセス制御情報に相当する。ACL1、ACL2、ACL3は、店舗1用SaaSサーバ、店舗2用SaaSサーバ、店舗3用SaaSサーバがそれぞれACLを個別に管理している様子を示す。
However, in SaaS having a DB or DWH for each tenant, it is necessary to set access control information for each DB or DWH, and management is complicated. FIG. 1 shows the configuration of the SaaS system 991 in this case. In FIG. 1, ACL (access control list) corresponds to access control information. ACL1, ACL2, and ACL3 show how the SaaS server for
これに対し、テナントを横断してのデータの検索・集計に必要なマスタ情報、及び、マスタ情報の要素間の階層構造情報を、FC内で共有するようにすることができる。この際、要素ごと、階層ごとに、アクセス権情報を設定できるようにする。図2に、この場合のSaaSシステム992の構成を示す。図2において、共通ACLは、マスタ情報、マスタ情報の要素間の階層構造情報、及び、マスタ情報に対するアクセス権情報を合わせたものに相当する。同じFCに属する店舗A1、A2、A3、・・・は、SaaSシステム992の提供するSaaSを契約している。このSaaSシステム992は、店舗A1、A2、A3、・・・のそれぞれに対応するSaaSサーバを用意し、サービスを提供する(SaaSサーバは論理的に分かれていればよく、物理的には同一のサーバを仮想マシン(VM)などにより論理的に分割することにより実現されていてもよい)。各店舗の情報を管理するDBはSaaSサーバごとに物理的又は論理的に分けて実現されるのが一般的である。またSaaSシステム992は、SaaS監視管理サーバを用いて各ユーザ対応のSaaSサーバの監視・管理を行う。 On the other hand, master information necessary for data search / aggregation across tenants and hierarchical structure information between elements of the master information can be shared in the FC. At this time, access right information can be set for each element and each layer. FIG. 2 shows the configuration of the SaaS system 992 in this case. In FIG. 2, the common ACL corresponds to a combination of master information, hierarchical structure information between elements of the master information, and access right information for the master information. Stores A1, A2, A3,... Belonging to the same FC have contracted SaaS provided by the SaaS system 992. This SaaS system 992 prepares SaaS servers corresponding to the stores A1, A2, A3,... And provides services (the SaaS servers only need to be logically separated and are physically the same). It may be realized by logically dividing the server by a virtual machine (VM) or the like). The DB that manages the information of each store is generally realized physically or logically for each SaaS server. The SaaS system 992 monitors and manages the SaaS server corresponding to each user using the SaaS monitoring management server.
このように共通ACLを用いた構成とすることにより、FC全体の横断的な集計結果に対するドリルスルーを行うために、店舗ごとのDBやDWHに対するアクセス制御情報をSaaSサーバごとに個別に管理する必要がなくなり、共通ACLにFC内のアクセス制御情報を集約して管理を簡略化できる。SaaSシステム992において、各店舗のユーザ又は管理者は、端末から、各店舗のSaaSサーバ上にあるDBへの参照アクセス権利を持つSaaS監視管理サーバに対して、FC全体の売上などの集計を要求する。SaaS監視管理サーバは、各店舗のSaaSサーバに対して問い合わせを行った後、各店舗個別の集計結果を受け取り、全体集計を実行する。そして、SaaS監視管理サーバは、FC全体の集計結果を、全体集計要求元の各店舗用SaaSサーバに送り、各店舗のユーザは各店舗用SaaSサーバ上のFC全体の集計結果を参照する。 In this way, with the configuration using the common ACL, in order to drill through the cross-sectional results of the entire FC, it is necessary to manage access control information for each store DB and DWH individually for each SaaS server. Thus, the access control information in the FC can be aggregated in the common ACL, and management can be simplified. In the SaaS system 992, the user or manager of each store requests aggregation of the sales of the entire FC from the terminal to the SaaS monitoring and management server having the right to access the DB on the SaaS server of each store. To do. After making an inquiry to the SaaS server of each store, the SaaS monitoring management server receives the total result of each store and executes total tabulation. Then, the SaaS monitoring management server sends the aggregation result of the entire FC to the SaaS server for each store of the total aggregation request source, and the user of each store refers to the aggregation result of the entire FC on the SaaS server for each store.
BIにおいては、FC全体の集計結果を基にした、複数店舗のDBへのドリルスルー時には、リアルタイム性を重視して各店舗からの結果を取得次第ドリルスルー要求元に返したいという要望がある。しかしながら、SaaSシステム992では、SaaS監視管理サーバに結果が集約され、リアルタイム性が落ちるという課題がある。例えば、図2において、店舗A1が、FC全体の集計結果に基づくドリルスルー要求を出すものとすると、店舗A1は、共通ACLを保管しているSaaS監視管理サーバに対して、ドリルスルー要求を出す。ここで、ドリルスルーのリアルタイム性を向上させるためには、各店舗用SaaSサーバ上のDBに対する検索結果を直接ドリルスルー要求元(店舗A1)に戻したいが、各店舗用SaaSサーバに対する検索要求はSaaS監視管理サーバより出されているため、応答もSaaS監視管理サーバに対して返され、SaaS監視管理サーバが全ての店舗の結果をまとめてドリルスルー要求元に返すことになる。 In the BI, when drilling through to the DB of a plurality of stores based on the aggregated results of the entire FC, there is a desire to return the results from each store to the drill-through request source as soon as they are acquired with emphasis on real-time performance. However, in the SaaS system 992, there is a problem that the results are collected in the SaaS monitoring management server, and the real-time performance is deteriorated. For example, in FIG. 2, if the store A1 issues a drill-through request based on the total result of the FC, the store A1 issues a drill-through request to the SaaS monitoring management server that stores the common ACL. . Here, in order to improve the real time property of drill-through, the search result for the DB on each store SaaS server is directly returned to the drill-through request source (store A1), but the search request for each store SaaS server is Since it is issued from the SaaS monitoring management server, a response is also returned to the SaaS monitoring management server, and the SaaS monitoring management server collectively returns the results of all stores to the drill-through request source.
これに対し、店舗A1が、各店舗用SaaSサーバに対して、ドリルスルー要求を出し、共通ACLの確認はドリルスルー要求を受け付けた各店舗用SaaSサーバにて実施する構成をとることにより、ドリルスルーの結果を取得次第、ドリルスルー要求元(店舗A1)に表示することが可能になる。このとき、ドリルスルー要求元のSaaSサーバに結果受取スレッドを生成し、非同期に結果を各店舗用SaaSサーバから受け取り、表示するように実装することができる。図3に、この場合の処理の概略を示す。図3の処理の流れは下記の通りである。
(1)ドリルスルー要求元(店舗A1)は、各店舗に対し、ドリルスルーを要求する。
(2)各店舗は、SaaS監視管理サーバ上の共通ACLを参照し、ドリルスルー要求元(店舗A1)に対し、自己の持つDBへのアクセスを許可してよいか確認する。
(3)SaaS監視管理サーバは、各店舗に対し、各店舗の持つDBへのドリルスルー要求元(店舗A1)のアクセス可否を通知する。
(4)(3)でアクセス可となった店舗は、ドリルスルー要求元(店舗A1)に対し、ドリルスルー結果を送付する。
On the other hand, the store A1 issues a drill-through request to each store SaaS server, and the common ACL is confirmed by the store SaaS server that has received the drill-through request. As soon as the through result is acquired, it can be displayed on the drill-through request source (store A1). At this time, a result receiving thread is generated in the SaaS server that is the source of the drill-through request, and the result can be asynchronously received and displayed from each store SaaS server. FIG. 3 shows an outline of processing in this case. The processing flow of FIG. 3 is as follows.
(1) The drill-through request source (store A1) requests drill-through from each store.
(2) Each store refers to the common ACL on the SaaS monitoring management server, and confirms whether or not the drill-through request source (store A1) may be permitted to access its own DB.
(3) The SaaS monitoring management server notifies each store whether or not the drill-through request source (store A1) can access the DB of each store.
(4) The store that can be accessed in (3) sends the drill-through result to the drill-through request source (store A1).
図3において、ドリルスルー要求元(店舗A1)は共通ACLを持たないため、ドリルスルー要求は全店舗のSaaSサーバに対して行うことになり、無駄な通信トラフィックが発生するという課題がある。仮に、この課題に対処するためにドリルスルー要求元に共通ACLの複製を配置すると、共通ACLの管理コストの問題が発生する。 In FIG. 3, since the drill-through request source (store A1) does not have a common ACL, the drill-through request is made to the SaaS servers of all stores, and there is a problem that unnecessary communication traffic occurs. If a duplicate of the common ACL is arranged at the drill-through request source in order to cope with this problem, a problem of management cost of the common ACL occurs.
上記のようなSaaSシステムにおいて、ドリルスルー要求元のサービス契約に対する料金滞納の有無、利用時間・データ量の制限超過の有無など、利用状況に応じてドリルスルーに対する制限をかけることが必要な場合がある。 In the SaaS system as described above, there may be cases where it is necessary to limit drill-through according to usage conditions, such as whether there is a charge delinquency for the service contract of the drill-through request source or whether usage time / data amount limit is exceeded. is there.
本発明は、例えば、マルチテナントのSaaSシステムにおいて、各テナントが個別にDBやDWHを持っている場合、あるテナントがシステム全体のデータ集計結果から各テナントの個別のデータへのドリルスルーを実行する際の処理効率を向上させることを目的とする。具体的には、本発明は、ドリルスルーを実行するテナントが、非同期通信により他のテナントからドリルスルーの結果を受け取ることを可能にしつつ、アクセス権を持たない他のテナントへドリルスルーの結果を無駄に問い合わせることを防ぐことを目的とする。また、本発明は、ドリルスルーを実行するテナントが、他のテナントにドリルスルーの結果を要求する際に、サービス契約に対する利用状況に応じた制限をかけることを目的とする。 In the present invention, for example, in a multi-tenant SaaS system, when each tenant individually has a DB or DWH, a certain tenant performs a drill-through from the data aggregation result of the entire system to individual data of each tenant. The purpose is to improve the processing efficiency. Specifically, the present invention enables a tenant executing drill-through to receive the result of drill-through from another tenant through asynchronous communication, while transmitting the result of drill-through to another tenant that does not have access rights. The purpose is to prevent unnecessary inquiries. It is another object of the present invention to place a restriction according to the usage status of a service contract when a tenant executing drill-through requests a drill-through result from another tenant.
本発明の一の態様に係るサービス管理装置は、
複数の種類の明細データを蓄積する複数のサーバの1つ(以下、「第1サーバ」という)から、集計対象とする明細データの種類を指定した集計要求をネットワーク経由で受信し、前記複数のサーバから、各サーバに蓄積された当該種類の明細データをネットワーク経由で収集し、当該明細データを処理装置により集計して集計データを生成する集計実行部と、
各サーバから他のサーバに蓄積された明細データへのアクセスの許否をサーバごとに示す共通ACL(アクセス制御リスト)を記憶装置により記憶する共通ACL管理データベースと、
前記集計実行部が集計した明細データのうち、前記共通ACL管理データベースに記憶された共通ACLで前記第1サーバからのアクセスを許可することが示された明細データを蓄積するサーバ(以下、「第2サーバ」という)を示すACLサブセットを処理装置により生成するドリルスルー用ACLサブセット生成部とを備え、
前記集計実行部は、前記第1サーバに対し、生成した集計データと前記ドリルスルー用ACLサブセット生成部が生成したACLサブセットとをネットワーク経由で送信し、当該集計データの一部から当該ACLサブセットで示された第2サーバに蓄積された明細データへのドリルスルーを前記第1サーバに実行させることを特徴とする。
A service management apparatus according to one aspect of the present invention includes:
From one of a plurality of servers that store a plurality of types of detailed data (hereinafter referred to as “first server”), a totaling request specifying a type of detailed data to be totaled is received via the network, A totalization execution unit that collects detailed data of the type stored in each server from the server via the network, and generates totalized data by counting the detailed data by a processing device;
A common ACL management database that stores, in a storage device, a common ACL (access control list) that indicates whether or not access to detailed data stored in other servers from each server is permitted;
Of the detailed data aggregated by the aggregation execution unit, a server that accumulates detailed data indicated to permit access from the first server in the common ACL stored in the common ACL management database (hereinafter referred to as “the first item”). An ACL subset generating unit for generating an ACL subset indicating a “two server”) by a processing device,
The aggregation execution unit transmits the generated aggregation data and the ACL subset generated by the drill-through ACL subset generation unit to the first server via a network, and the ACL subset is generated from a part of the aggregation data. The first server is caused to execute drill-through to detailed data stored in the indicated second server.
本発明の一の態様によれば、サービス管理装置が、第1サーバから、集計対象とする明細データの種類を指定した集計要求をネットワーク経由で受信し、複数のサーバから、各サーバに蓄積された当該種類の明細データをネットワーク経由で収集し、当該明細データを集計して集計データを生成し、当該明細データのうち、共通ACL管理データベースに記憶された共通ACLで前記第1サーバからのアクセスを許可することが示された明細データを蓄積する第2サーバを示すACLサブセットを生成し、前記第1サーバに対し、生成した集計データとACLサブセットとを送信し、当該集計データの一部から当該ACLサブセットで示された第2サーバに蓄積された明細データへのドリルスルーを前記第1サーバに実行させることにより、例えば、マルチテナントのSaaS(Software・as・a・Service)システムにおいて、各テナントが個別にDB(データベース)やDWH(データウェアハウス)を持っている場合、あるテナントがシステム全体のデータ集計結果から各テナントの個別のデータへのドリルスルーを実行する際の処理効率が向上する。 According to one aspect of the present invention, the service management apparatus receives a totaling request specifying the type of detailed data to be totaled from the first server via the network, and is accumulated in each server from a plurality of servers. The detailed data of the type is collected via the network, and the detailed data is aggregated to generate aggregate data. Among the detailed data, the common ACL stored in the common ACL management database accesses the first server. And generating the ACL subset indicating the second server that stores the detailed data indicated to be permitted, and transmitting the generated aggregate data and the ACL subset to the first server, from a part of the aggregate data By causing the first server to drill through to the detailed data stored in the second server indicated by the ACL subset, For example, in a multi-tenant SaaS (Software as a Service) system, if each tenant has a DB (database) or DWH (data warehouse) individually, a certain tenant is Processing efficiency when executing drill-through to individual data of each tenant is improved.
以下、本発明の実施の形態について、図を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
実施の形態1.
図4は、SaaSシステム100(本実施の形態に係るデータ検索システム)の構成を示すブロック図である。SaaSは、前述したように、Software・as・a・Serviceの略である。
FIG. 4 is a block diagram showing a configuration of the SaaS system 100 (data search system according to the present embodiment). As described above, SaaS is an abbreviation for Software as a Service.
図4において、SaaSシステム100は、複数の店舗用SaaSサーバ101(本実施の形態における複数のサーバ)、少なくとも1つのSaaS監視管理サーバ102、複数のユーザ端末127を備える。これらのサーバ及び端末は、互いにネットワーク200経由でデータ通信を行う。
4, the
店舗用SaaSサーバ101は、店舗用SaaS機能を有するデータアクセス制御装置103を具備するサービスサーバである。データアクセス制御装置103は、作業用記憶領域104、サービスコンテンツDB105(データベース)、横断的集計要求部106(本実施の形態における集計要求部)、横断的集計応答部107(本実施の形態における集計応答部)、ドリルスルー要求部108、ACLサブセット管理部109(ACLは、前述したように、アクセス制御リストのことである)、ドリルスルー応答部110を備える。ドリルスルー要求部108は、条件抽出部111、ACLサブセット解釈部112、結果受取部113、結果表示部114を有する。各部の動作については後述する。
The
図示していないが、店舗用SaaSサーバ101は、記憶装置、処理装置、入力装置、出力装置などのハードウェア資源を備える。データアクセス制御装置103の作業用記憶領域104は、店舗用SaaSサーバ101の記憶装置(例えば、揮発性メモリ)に実装され、後述する全体集計結果115及びACLサブセット116を格納するために用いられる。データアクセス制御装置103のサービスコンテンツDB105は、店舗用SaaSサーバ101の記憶装置(例えば、ハードディスク)に実装され、複数の種類の明細データを蓄積する。明細データは、各店舗用SaaSサーバ101が提供する個別のサービスに係るデータである。本実施の形態では、サービスコンテンツDB105内の1つの表(テーブル)につき、1種類の明細データを記録するものとする。
Although not shown, the
SaaS監視管理サーバ102は、SaaS監視管理機能を有するサービス管理装置117を具備するサービス監視管理サーバである。サービス管理装置117は、共通ACL管理DB119(データベース)、横断的集計実行部120(本実施の形態における集計実行部)、共通ACL管理部121、ドリルスルー用ACLサブセット生成部122を備える。各部の動作については後述する。
The SaaS
図示していないが、SaaS監視管理サーバ102は、記憶装置、処理装置、入力装置、出力装置などのハードウェア資源を備える。サービス管理装置117の共通ACL管理DB119は、SaaS監視管理サーバ102の記憶装置(例えば、ハードディスク)に実装され、共通ACL126を保管する。サービス管理装置117の共通ACL管理DB119は、複数の種類の共通ACL126を保管してもよい。共通ACL126は、各店舗用SaaSサーバ101から他の店舗用SaaSサーバ101のサービスコンテンツDB105に蓄積された明細データへのアクセスの許否(共通アクセス制御情報)を、店舗用SaaSサーバ101ごとに示すデータである。本実施の形態では、共通ACL管理DB119内の複数の表が、1種類の共通ACL126を記録するものとする。
Although not shown, the SaaS
SaaSシステム100において、SaaS監視管理サーバ102が具備するサービス管理装置117は、全体集計結果115の全体集計要求元(複数の店舗用SaaSサーバ101のいずれか1つが具備するデータアクセス制御装置103)への送付時に、共通ACL126で定義された共通アクセス制御情報のうち、集計条件に応じて絞り込まれる共通アクセス制御情報内の要素(店舗用SaaSサーバ101)よりなるサブセット(ドリルスルー対象となるデータをドリルスルー要求元に対して返すことが許可されている店舗用SaaSサーバ101のリスト)を併せて送付する。これにより、全体集計要求元のデータアクセス制御装置103は、全体集計結果115とともに受け取った共通ACL126のサブセット(全体集計要求元のデータアクセス制御装置103では、作業用記憶領域104にACLサブセット116として保管される)を基に、ドリルスルー要求を送る店舗用SaaSサーバ101(店舗)の数を絞ることができる。全体集計要求元(ドリルスルーの要求元でもある)のデータアクセス制御装置103は、共通ACL126を持たないため、図3のSaaSシステム992と同じ方式を用いるのであれば、図3の(1)のように、ドリルスルー要求を全店舗に対して送らなければならなかった。一方、本実施の形態に係るSaaSシステム100では、上記のように、全体集計要求元のデータアクセス制御装置103は共通ACL126の部分情報(サブセット)であるACLサブセット116を用いて、ドリルスルー要求を送付する店舗を絞り込むことが可能となる。このような構成をとることにより、前述したような非同期通信によるドリルスルー結果の受け取りを可能にしつつ、ドリルスルーの要求元がアクセス権を持たない店舗に対して無駄に送付する要求の数を抑えることができる。また、最小限のアクセス制御情報を店舗用SaaSサーバ101にコピーする構成をとることにより、共通ACL126の複製を各店舗用SaaSサーバ101に配置する構成と比べて管理コストを抑えることができる。
In the
図5は、店舗用SaaSサーバ101、SaaS監視管理サーバ102のハードウェア資源の一例を示す図である。
FIG. 5 is a diagram illustrating an example of hardware resources of the
図5において、店舗用SaaSサーバ101、SaaS監視管理サーバ102は、いずれもコンピュータであり、CRT(Cathode・Ray・Tube)やLCD(液晶ディスプレイ)の表示画面を有する表示装置901、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ装置906などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
In FIG. 5, the
店舗用SaaSサーバ101、SaaS監視管理サーバ102は、プログラムを実行するCPU911(Central・Processing・Unit)を備えている。CPU911は、処理装置の一例である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカードリーダライタなどの記憶媒体が用いられてもよい。
The
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905などは、入力装置の一例である。また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
The
通信ボード915は、LAN(ローカルエリアネットワーク)などに接続されている。通信ボード915は、LANに限らず、インターネット、あるいは、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークなどのWAN(ワイドエリアネットワーク)などに接続されていても構わない。LAN、インターネット、WANは、ネットワーク200の一例である。
The
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。また、ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理(動作)に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
The
また、本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、RAM914などのメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク(MD)、DVD(Digital・Versatile・Disc)などの記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体により伝送される。
In addition, the arrows in the block diagrams and flowcharts used in the description of this embodiment mainly indicate input / output of data and signals, and the data and signals are the memory such as the
また、本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、素子・デバイス・基板・配線などのハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDなどの記録媒体に記憶される。このプログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
In addition, what is described as “˜unit” in the description of this embodiment may be “˜circuit”, “˜device”, “˜device”, and “˜step”, “˜process”. , “˜procedure”, and “˜processing”. That is, what is described as “˜unit” may be realized by firmware stored in the
以下では、説明をより具体的にするため、店舗用SaaSサーバ101、SaaS監視管理サーバ102が図5に例示したコンピュータとハードウェア資源により実現されているものとする。
In the following, in order to make the description more specific, it is assumed that the
図6に、本実施の形態における横断的集計実行時の処理シーケンスを示す。 FIG. 6 shows a processing sequence at the time of executing the cross tabulation in the present embodiment.
図6において、複数の店舗用SaaSサーバ101の1つが全体集計要求元(横断的集計の実行後は、全体集計結果115を基にしたドリルスルーの要求元になる)の店舗用SaaSサーバ101(本実施の形態における第1サーバ)となる。ここでは、この店舗用SaaSサーバ101が設置された店舗を要求元店舗128と呼ぶ。また、他の1つ以上の店舗用SaaSサーバ101がそれぞれ設置された店舗を他店舗129と呼ぶ。
In FIG. 6, one of the plurality of
(1)要求元店舗128の店舗用SaaSサーバ101において、データアクセス制御装置103の横断的集計要求部106は、SaaS監視管理サーバ102のサービス管理装置117に対し、集計対象とする明細データの種類(集計対象及び集計条件)を指定した集計要求(全体集計要求)をネットワーク200経由で送信する。SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、要求元店舗128の店舗用SaaSサーバ101から集計要求をネットワーク200経由で受信する。即ち、横断的集計要求部106は、SaaS監視管理サーバ102の横断的集計実行部120に対して横断的集計(全体集計)を要求する。
(1) In the
(2)SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、各店舗(要求元店舗128及び他店舗129)の店舗用SaaSサーバ101のデータアクセス制御装置103に対し、(1)の集計要求で指定された種類の明細データを要求する明細要求をネットワーク200経由で送信する。各店舗の店舗用SaaSサーバ101において、データアクセス制御装置103の横断的集計応答部107は、SaaS監視管理サーバ102から明細要求をネットワーク200経由で受信する。即ち、(1)で要求元店舗128から全体集計要求を受け取った横断的集計実行部120は、要求元店舗128を含む全ての店舗(図6では、代表として、要求元店舗128からの横断的集計の要求に応答する他店舗129を示している)の横断的集計応答部107に対し、集計実行(既に持っている集計結果でもよい)を要求する。
(2) In the SaaS
(3)各店舗の店舗用SaaSサーバ101において、データアクセス制御装置103の横断的集計応答部107は、(2)の明細要求で指定された種類の明細データをサービスコンテンツDB105から取得し、SaaS監視管理サーバ102のサービス管理装置117に対し、ネットワーク200経由で送信する。SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、各店舗の店舗用SaaSサーバ101から、明細データをネットワーク200経由で収集する。即ち、要求元店舗128及び他店舗129の横断的集計応答部107は、(2)の明細要求に対し、集計結果(明細データ)を返す。
(3) In the
(4)SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、(3)で収集した明細データをCPU911(処理装置)により集計して全体集計結果115(集計データ)を生成する。即ち、SaaS監視管理サーバ102の横断的集計実行部120は、(3)で得られた結果より全体集計結果115を生成する。
(4) In the SaaS
(5)SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、ドリルスルー用ACLサブセット生成部122に対し、ACLサブセット116の生成を要求する。
(5) In the SaaS
(6)SaaS監視管理サーバ102において、サービス管理装置117のドリルスルー用ACLサブセット生成部122は、共通ACL管理部121に対し、(4)の全体集計結果115に関係する共通ACL126の情報を要求する。(4)の全体集計結果115に関係する共通ACL126の情報とは、具体的には、(4)で横断的集計実行部120が集計した明細データのうち、共通ACL管理DB119に記憶された共通ACL126で要求元店舗128の店舗用SaaSサーバ101からのアクセスを許可することが示された明細データを蓄積する店舗用SaaSサーバ101(本実施の形態における第2サーバ)を示す情報である。
(6) In the SaaS
(7)SaaS監視管理サーバ102において、サービス管理装置117の共通ACL管理部121は、ドリルスルー用ACLサブセット生成部122に対し、(4)の全体集計結果115に関係する共通ACL126の情報を返す。
(7) In the SaaS
(8)SaaS監視管理サーバ102において、サービス管理装置117のドリルスルー用ACLサブセット生成部122は、(7)の情報に基づいて、(4)で横断的集計実行部120が集計した明細データのうち、共通ACL管理DB119に記憶された共通ACL126で要求元店舗128の店舗用SaaSサーバ101からのアクセスを許可することが示された明細データを蓄積する店舗用SaaSサーバ101を示すACLサブセット116をCPU911により生成する。即ち、SaaS監視管理サーバ102のドリルスルー用ACLサブセット生成部122は、(7)で受け取った共通ACL126の情報を基にACLサブセット116を生成する。
(8) In the SaaS
(9)SaaS監視管理サーバ102において、サービス管理装置117のドリルスルー用ACLサブセット生成部122は、(8)で生成したACLサブセット116を横断的集計実行部120に返す。
(9) In the SaaS
(10)SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、(4)の全体集計結果115及び(9)で受け取ったACLサブセット116をマージする。
(10) In the SaaS
(11)SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、要求元店舗128の店舗用SaaSサーバ101に対し、(4)で生成した全体集計結果115と(8)でドリルスルー用ACLサブセット生成部122が生成したACLサブセット116とをネットワーク200経由で送信する。要求元店舗128の店舗用SaaSサーバ101において、データアクセス制御装置103の横断的集計要求部106は、SaaS監視管理サーバ102から全体集計結果115とACLサブセット116とをネットワーク200経由で受信する。即ち、SaaS監視管理サーバ102の横断的集計実行部120は、(10)で生成したデータを、要求元店舗128の横断的集計要求部106に返す。
(11) In the SaaS
(12)要求元店舗128の店舗用SaaSサーバ101において、データアクセス制御装置103の横断的集計要求部106は、(11)で受け取ったデータよりACLサブセット116を取り出し、ACLサブセット管理部109に渡す。
(12) In the
(13)要求元店舗128の店舗用SaaSサーバ101において、データアクセス制御装置103のACLサブセット管理部109は、作業用記憶領域104に(12)のACLサブセット116を格納し、横断的集計要求部106に対して応答を返す。この応答を受け取った横断的集計要求部106は、表示装置901(出力装置)により、例えば全体集計結果115を独自の画面に表示してもよいし、例えば“Microsoft Excel(登録商標)”のような表計算ソフトウェアに対して全体集計結果115を出力することにより、全体集計結果115を表計算ソフトウェアの画面に表示してもよい。
(13) In the
以下、共通ACL126の構造について説明する。 Hereinafter, the structure of the common ACL 126 will be described.
本実施の形態では、SaaS監視管理サーバ102において、サービス管理装置117の共通ACL管理DB119は、複数の店舗用SaaSサーバ101を分類した複数のグループ(具体的には、階層構造において、店舗用SaaSサーバ101より上位の階層中の要素)のうち、各店舗用SaaSサーバ101が所属するグループを店舗用SaaSサーバ101ごとに示す共通ACL126を記憶する。そして、サービス管理装置117のドリルスルー用ACLサブセット生成部122は、図6の(4)で横断的集計実行部120が集計した明細データが蓄積された店舗用SaaSサーバ101のうち、共通ACL管理DB119に記憶された共通ACL126で要求元店舗128の店舗用SaaSサーバ101と同じグループに所属することが示された店舗用SaaSサーバ101を示すACLサブセット116を生成する。
In the present embodiment, in the SaaS
共通ACL126の論理構造の例を図7に示す。図7において、地方別・地区別集計用共通ACL130は、地方・地区・店舗の3つの論理的な階層を持つ共通ACL126である。この地方別・地区別集計用共通ACL130は、例えば、神奈川地区の情報には店舗A1、店舗A2がアクセスできることを示している。このような共通ACL126は、例えば通常のリレーショナルDBの表(テーブル)を用いて実現することができる。図7に示した地方別・地区別集計用共通ACL130を、リレーショナルDBで実現した例を図8に示す。図8において、地方テーブル131、地区テーブル132、店舗テーブル133は、図7に示した地方別・地区別集計用共通ACL130のそれぞれの階層に対応した表である。
An example of the logical structure of the common ACL 126 is shown in FIG. In FIG. 7, the
以下、SaaS監視管理サーバ102のサービス管理装置117によるACLサブセット116の生成処理の詳細について説明する。
Details of the
SaaS監視管理サーバ102において、サービス管理装置117のドリルスルー用ACLサブセット生成部122は、共通ACL126の持つ要素である複数の店舗(店舗用SaaSサーバ101)のうち、ドリルスルー要求の対象となり得るサービスコンテンツDB105内の表に対して要求元の店舗用SaaSサーバ101がアクセス可能な店舗の情報だけをACLサブセット116として取り出す。そして、サービス管理装置117の横断的集計実行部120は、このACLサブセット116を全体集計結果115に添付する。ACLサブセット116として取り出される情報は、共通ACL126の階層(図7の例では地方・地区・店舗)を全体集計要求における集計条件と関連付けておき、全体集計実行時において集計条件中に現れる共通ACL126の階層中の要素又は当該要素より下位の階層中の要素だけを評価することにより得られる。本実施の形態では、集計条件で階層が指定されると、その階層中の要素ごとに明細データの数値が集計され、その結果が全体集計結果115となる。集計条件で指定された階層が店舗を要素とする階層であれば、要求元の店舗は、自己の明細データのみに対して全体集計結果115からのドリルスルーが可能である。集計条件で指定された階層が店舗を要素とする階層より上位であれば、要求元の店舗は、自己及び自己と同じ要素に属する店舗の明細データに対して全体集計結果115からのドリルスルーが可能である。
In the SaaS
例えば、図7の例で、集計条件に「地区」が指定されている場合、店舗A1がドリルスルーを要求したとすると、集計条件で指定された階層が店舗を要素とする階層より上位であるため、店舗A1が属する地区である「神奈川」に属する店舗のみが、ドリルスルー対象となっているデータをドリルスルー要求元の店舗A1に対して返せることになる。よって、店舗A1、店舗A2のみの情報がACLサブセット116として取り出される。また、例えば、図7の例で、集計条件に「地方」が指定されている場合、店舗A1がドリルスルーを要求したとすると、集計条件で指定された階層が店舗を要素とする階層より上位であるため、店舗A1が属する地方である「関東」に属する店舗のみが、ドリルスルー対象となっているデータをドリルスルー要求元の店舗A1に対して返せることになる。よって、店舗A1、店舗A2、店舗A3のみの情報がACLサブセット116として取り出される。ただし、この例では、集計条件に「地方」が指定されている場合と集計条件に「地区」が指定されている場合とでドリルスルー対象になり得る範囲に差異が生じる。このような差異をなくすため、例えば、図7の例で、集計条件に「地方」が指定されている場合、店舗A1がドリルスルーを要求したとすると、「関東」に属する地区のうち、店舗A1が属する地区である「神奈川」に属する店舗のみが、ドリルスルー対象となっているデータをドリルスルー要求元の店舗A1に対して返せることにしてもよい。この場合は、集計条件に「地区」が指定されている場合と同様に、店舗A1、店舗A2のみの情報がACLサブセット116として取り出される。
For example, in the example of FIG. 7, if “district” is specified as the totaling condition and the store A1 requests drill-through, the level specified in the totaling condition is higher than the level having the store as an element. Therefore, only the store belonging to “Kanagawa”, which is the district to which the store A1 belongs, can return the drill-through target data to the store A1 as the drill-through request source. Therefore, information of only the store A1 and the store A2 is extracted as the
ここで、例えば全体集計要求はSQL(Structured・Query・Language)のクエリとして実現でき、このとき、上述の集計条件はSQLの“GROUP BY”句として実現できる。この場合、共通ACL126の階層名を全体集計要求の集計条件(“GROUP BY”句のキー)として用いることができる構成にしておけば、全体集計要求の集計条件より、当該要求に対する全体集計結果115を基にしたドリルスルーにおいてドリルスルー要求元(全体集計要求元でもある)が最大限アクセス可能な店舗のリストを上述のようにACLサブセット116として取り出すことができる。
Here, for example, the total aggregation request can be realized as an SQL (Structured / Query / Language) query, and at this time, the above-described aggregation condition can be realized as an SQL “GROUP BY” phrase. In this case, if the hierarchical name of the common ACL 126 can be used as the total condition for the total total request (the key of the “GROUP BY” clause), the total
また、サービスコンテンツDB105内の表と共通ACL126との対応付けは、例えば、それぞれの種類の共通ACL126とサービスコンテンツDB105内のそれぞれの表との関連付け情報を共通ACL126又はサービスコンテンツDB105内の表の一部などとして管理することにより実現できる。あるいは、後述する実施の形態2において図15に示す分析サービスマスタ124のように、サービスコンテンツDB105内の表と共通ACL126との関係付けを示す情報を管理してもよい。逆に、例えば、サービスコンテンツDB105内の表と共通ACL126の一部又は全部について関連付けを行わず、全体集計要求元の指定した集計条件に対応する共通ACL126のみを適用することも可能である。ただし、この場合、ある集計条件を指定するとドリルスルーで検索できなかったデータが別の集計条件を指定するとドリルスルーで検索できるようになることになり、データのアクセス制御としては不都合な場合もある。このため、例えば、ある表に対して最低限適用することが必要な共通ACL126は表と関連付けておき、特別なデータに対する共通ACL126は集計条件とのみ関連付けるように構成してもよい。
In addition, the association between the table in the
また、ある1つの表に対し、複数の共通ACL126を適用する場合、例えば、当該表に適用される各共通ACL126に含まれる共通要素のみアクセス可能として扱うことができる。あるいは、例えば、共通ACL126の当該表への適用の優先度をつけ、優先度の高い共通ACL126のみ適用するように構成することもできる。以下では、前者の構成を前提として説明する。 Further, when a plurality of common ACLs 126 are applied to a certain table, for example, only common elements included in each common ACL 126 applied to the table can be handled as accessible. Alternatively, for example, it is possible to give priority to the application of the common ACL 126 to the table and to apply only the common ACL 126 having a high priority. The following description is based on the premise of the former configuration.
なお、複数の表に対して同時にドリルスルーを要求する場合は、各表にアクセス可能な店舗の最大範囲を、ACLサブセット116として扱うように構成することができる。これは、ACLサブセット116によって、ドリルスルー要求元が全体集計要求の集計条件に対して最大限アクセス可能な範囲の情報を伝達できればよいからである。
In the case where drill-through is requested simultaneously for a plurality of tables, the maximum range of stores that can access each table can be handled as the
図9は、サービス管理装置117のドリルスルー用ACLサブセット生成部122の動作を示すフローチャートである。
FIG. 9 is a flowchart showing the operation of the drill-through ACL
図9において、まず、ドリルスルー用ACLサブセット生成部122は、全体集計要求元の店舗(この後、全体集計結果を基にしたドリルスルーの要求元になる)の要求に含まれ、集計対象となっているサービスコンテンツDB105内の表を抽出する(ステップS101)。例えば、この要求はSQLのクエリとして実現でき、集計対象の表は、当該クエリのうち“FROM”句で指定された表を抽出することにより実現できる。続いて、ドリルスルー用ACLサブセット生成部122は、ステップS101で抽出した全ての表に対して、ステップS103以降の処理を実行する(ステップS102)。
In FIG. 9, first, the drill-through ACL
ドリルスルー用ACLサブセット生成部122は、ステップS102以降の処理で対象となっている表に適用する共通ACL126があるかどうかを判断する(ステップS103)。ステップS103で処理対象となっている表に適用する共通ACL126がある場合、ドリルスルー用ACLサブセット生成部122は、当該共通ACL126の階層及び下位の階層に対してステップS105、S106の処理を実行する(ステップS104)。例えば、図7に示した地方別・地区別集計用共通ACL130が処理対象となっている表に適用するものであれば、「地方」、「地区」、「店舗」の順に、ステップS105、S106の処理が実行される。
The drill-through ACL
ドリルスルー用ACLサブセット生成部122は、全体集計要求元が指定した集計条件に、ステップS104で処理対象となっている共通ACL126の階層と対応するものがあるかどうか確認し(ステップS105)、対応するものがある場合は、当該共通ACL126から生成する一時リストに、当該階層の要素で下位にドリルスルー要求元を含むものの最下位層の要素を追加する(ステップS106)。例えば、図7に示した地方別・地区別集計用共通ACL130の「地区」が処理対象となっている階層であり、集計条件で「地区」が指定され、全体集計要求元が店舗A1であれば、一時リストに、「神奈川」の最下位層の要素である店舗A1、店舗A2が追加される。ここで、全体集計要求元が指定する集計条件は、例えばSQLの“GROUP BY”句として実現でき、ステップS105の判断は、この“GROUP BY”句のキーが、処理対象となっている共通ACL126の階層名と一致するかどうかを判断することとして実現できる。ドリルスルー用ACLサブセット生成部122は、前述の一時リストを、表ごと、表に適用される共通ACL126ごとに生成し、後述するステップS107、S108にてマージすることでACLサブセット116を生成する。
The drill-through ACL
ドリルスルー用ACLサブセット生成部122は、ステップS105で、全体集計要求元が指定した集計条件に処理対象となっている共通ACL126の階層と対応するものがない場合は、ステップS104において次の階層の処理に進む。また、ドリルスルー用ACLサブセット生成部122は、ステップS103で、処理対象となっている表に適用する共通ACL126がない場合は、ステップS102において全体集計要求に含まれる次の表の処理に進む。
In step S105, the drill-through ACL
ステップS104〜S106のループを終えると、ドリルスルー用ACLサブセット生成部122は、処理対象となっている表に適用する各共通ACL126から生成した一時リスト群に共通する要素群を、当該表から生成する一時リストに格納する(ステップS107)。例えば、図7に示した地方別・地区別集計用共通ACL130から生成した一時リストに店舗A1、店舗A2が含まれ、他の共通ACL126から生成した一時リストに店舗A1、店舗A2、店舗A3が含まれていれば、当該表から生成する一時リストには店舗A1、店舗A2のみが格納される。
When the loop of steps S104 to S106 is completed, the drill-through ACL
また、ステップS102〜S107までのループを終えると、ドリルスルー用ACLサブセット生成部122は、各表から生成した一時リストのいずれかに含まれる要素の集合を、ACLサブセット116にする(ステップS108)。例えば、図7の例で、ある表から生成した一時リストに店舗A1、店舗A2が含まれ、他の表から生成した一時リストに店舗A2、店舗A3が含まれていれば、ACLサブセット116には店舗A1、店舗A2、店舗A3が含まれることとなる。
When the loop from step S102 to S107 is completed, the drill-through ACL
なお、図9では、ACLサブセット116の生成手順として、ドリルスルー要求元店舗が最大限アクセス可能な店舗のリストを生成する処理のフローを示したが、過去に生成したACLサブセット116のキャッシュを用いるなど、より簡便な方法でACLサブセット116を生成することも可能である。また、ACLサブセット116は、ドリルスルー要求元店舗が最大限アクセス可能な店舗を包含する情報を示すものであれば、どのような形態をとっても構わない。
Although FIG. 9 shows a flow of processing for generating a list of stores that can be accessed to the maximum extent by the drill-through request source store as a procedure for generating the
図10に、本実施の形態におけるドリルスルー実行時の処理シーケンスを示す。 FIG. 10 shows a processing sequence during drill-through execution in the present embodiment.
図10において、複数の店舗用SaaSサーバ101の1つが全体集計結果115を基にしたドリルスルーの要求元の店舗用SaaSサーバ101(本実施の形態における第1サーバ)となる。ここでは、図6と同様に、この店舗用SaaSサーバ101が設置された店舗を要求元店舗134と呼ぶ。また、図6の(11)で横断的集計要求部106が受信したACLサブセット116に示された店舗用SaaSサーバ101(本実施の形態における第2サーバ)が設置された店舗を他店舗135と呼ぶ。
In FIG. 10, one of the plurality of
(1)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108は、図6の(11)で横断的集計要求部106が受信した全体集計結果115のうち、ドリルスルー対象とする部分を指定した入力を通信ボード915(入力装置)によりユーザ端末127からネットワーク200経由で受け付ける。具体的には、ドリルスルー要求部108の条件抽出部111は、ユーザ端末127の入力より、ドリルスルーの条件(選択条件)を抽出し、ACLサブセット解釈部112に送付する。
(1) In the
(2)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108のACLサブセット解釈部112は、ACLサブセット管理部109に対し、ACLサブセット116の取り出しを要求する。
(2) In the
(3)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のACLサブセット管理部109は、(2)の要求に対し、ドリルスルーの基となる全体集計結果115に適用するACLサブセット116を取り出し、ドリルスルー要求部108のACLサブセット解釈部112に送る。
(3) In the
(4)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108のACLサブセット解釈部112は、ドリルスルー要求を送付する店舗の数だけ、ドリルスルー要求部108の結果受取部113を呼び出す。これは、例えばスレッドごとに結果受取部113を実行することにより実現することができる。
(4) In the
(5)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108は、他店舗135の店舗用SaaSサーバ101に対し、(1)の入力で指定された部分に対応する明細データを指定したドリルスルー要求をネットワーク200経由で送信する。他店舗135の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー応答部110は、要求元店舗134の店舗用SaaSサーバ101からドリルスルー要求をネットワーク200経由で受信する。具体的には、要求元店舗134のドリルスルー要求部108の結果受取部113は、要求元店舗134からのドリルスルー要求に応答する他店舗135のドリルスルー応答部110に対し、ドリルスルー要求を送付する。
(5) In the
(6)他店舗135の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー応答部110は、SaaS監視管理サーバ102のサービス管理装置117に対し、(5)のドリルスルー要求で指定された明細データを指定した確認要求をネットワーク200経由で送信する。SaaS監視管理サーバ102において、サービス管理装置117の共通ACL管理部121は、他店舗135の店舗用SaaSサーバ101から確認要求をネットワーク200経由で受信する。即ち、他店舗135のドリルスルー応答部110は、SaaS監視管理サーバ102の共通ACL管理部121に対し、要求元店舗134にアクセスを許可してよいか確認する。
(6) In the
(7)SaaS監視管理サーバ102において、サービス管理装置117の共通ACL管理部121は、共通ACL126で(6)の確認要求で指定された明細データへのアクセスを許可することが示されているか否かをCPU911(処理装置)により確認し、他店舗135の店舗用SaaSサーバ101に対し、当該確認結果をネットワーク200経由で送信する。他店舗135の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー応答部110は、SaaS監視管理サーバ102から確認結果をネットワーク200経由で受信する。即ち、SaaS監視管理サーバ102の共通ACL管理部121は、(6)の確認要求で参照される共通ACL126を確認し、要求元店舗134のアクセス可否を他店舗135のドリルスルー応答部110に通知する。
(7) In the SaaS
(8)他店舗135の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー応答部110は、(7)の確認結果に基づいて、(5)のドリルスルー要求で指定された明細データをサービスコンテンツDB105から取得する。即ち、(7)でアクセス可となった場合、他店舗135のドリルスルー応答部110は、他店舗135のサービスコンテンツDB105に対し、ドリルスルーのクエリを発行する。
(8) In the
(9)他店舗135の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー応答部110は、要求元店舗134の店舗用SaaSサーバ101に対し、(8)の明細データをネットワーク200経由で送信する。要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108は、他店舗135の店舗用SaaSサーバ101から、当該明細データをネットワーク200経由で非同期通信により受信する。具体的には、他店舗135のドリルスルー応答部110は、(8)で1レコードずつクエリの結果を取得すると、要求元店舗134の結果受取部113を呼び出し、クエリの結果を渡す。ここで、非同期的に1レコードずつ渡すために、例えばこの(9)の処理はHTTP(HyperText・Transfer・Protocol)リクエストとして構成することができる。
(9) In the
(10)(9)で他店舗135のドリルスルー応答部110から要求元店舗134の結果受取部113に対する呼び出しが、HTTPリクエストのように呼び出し要求で実現されている場合、要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108の結果受取部113は、ダミーの応答(例えばHTTPレスポンス)を返すことにより、非同期的なドリルスルー結果の受け取りを実現できる。
(10) When the call from the drill-through
(11)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108の結果受取部113は、(9)で1レコードずつクエリの結果を取得すると、ドリルスルー要求部108の結果表示部114を呼び出す。
(11) In the
(12)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108の結果表示部114は、ドリルスルー結果を表示する。このとき、ドリルスルー要求部108の結果表示部114は、図6の(13)と同様に、表示装置901(出力装置)により、例えばドリルスルー結果を独自の画面に表示してもよいし、例えば“Microsoft Excel(登録商標)”のような表計算ソフトウェアに対してドリルスルー結果を出力することにより、ドリルスルー結果を表計算ソフトウェアの画面に表示してもよい。
(12) In the
図11に、全体集計結果115の例を示す。図6の(13)において、要求元店舗128の店舗用SaaSサーバ101の横断的集計要求部106が、例えば“Microsoft Excel(登録商標)”に対して全体集計結果115を出力した場合、図10の(1)において、要求元店舗134の店舗用SaaSサーバ101の条件抽出部111は、例えば“Microsoft Excel(登録商標)”のマクロやアドインを用いて、ユーザの指定するドリルスルーの条件を抽出することができる。例えば、図11において太枠で示したセルをユーザが選択した場合、条件抽出部111は、そのセルの属する行の値を読み取ることにより、ドリルスルーの条件として「2007年9月の関東地方神奈川地区のスナック菓子の売上」が指定されたことを抽出することができる。
FIG. 11 shows an example of the
図12は、ドリルスルー要求部108の条件抽出部111の動作を示すフローチャートである。
FIG. 12 is a flowchart showing the operation of the
図12において、条件抽出部111は、ユーザの指定するドリルスルーの条件を抽出する(ステップS201)。例えば、図11において太枠で示したセルに対応する「2007年9月の関東地方神奈川地区のスナック菓子の売上」という条件を抽出する。次に、条件抽出部111は、ドリルスルーの条件をSQLの“FROM”句、“WHERE”句に変換する(ステップS202)。図11の例では、文字列“FROM 売上”、“WHERE 年=2007 & 月=9 & 地方=関東 & 地区=神奈川”を生成する。ここで、通常のドリルスルーでは詳細分析対象となるサービスコンテンツDB105の表の全ての列を選択して表示するため、“SELECT”句を生成する必要はないが、条件抽出部111は、表示する列を選択する処理を行ってもよい。最後に、条件抽出部111は、ステップS202で生成した文字列をACLサブセット解釈部112に送付する(ステップS203)。この文字列は、条件抽出部111が現在参照している全体集計結果115に付随するACLサブセット116中の店舗に対して、ドリルスルー要求部108の結果受取部113がドリルスルー要求の一部として送付する。
In FIG. 12, the
以上のように、本実施の形態によれば、例えば、マルチテナントのSaaSシステムにおいて、各テナントが個別にDBやDWH(データウェアハウス)を持っている場合、あるテナントがシステム全体のデータ集計結果から各テナントの個別のデータへのドリルスルー(全体集計結果を基にした詳細なデータの問い合わせ)を実行する際の処理効率が向上する。具体的には、ドリルスルーの実行時に、非同期的なドリルスルー結果の受け取りを可能にしつつ、ドリルスルーの要求元がアクセス権を持たないテナントへ無駄な問い合わせを送付することを防ぐことが可能になる。 As described above, according to the present embodiment, for example, in a multi-tenant SaaS system, when each tenant individually has a DB or DWH (data warehouse), a certain tenant obtains the data total result of the entire system. To improve the processing efficiency when executing drill-through (inquiry of detailed data based on the total aggregation result) to individual data of each tenant. Specifically, when drill-through is performed, it is possible to receive asynchronous drill-through results and prevent the drill-through requester from sending useless inquiries to tenants who do not have access rights. Become.
上記のように、本実施の形態に係るデータ検索システムは、
個別のサービスを提供するサービスサーバ、複数のサービスサーバを監視管理するためのサービス監視管理サーバを備え、
サービス監視管理サーバにより用いられるサービス管理装置として、
複数のサービスサーバのそれぞれが保有するデータのマスタ情報、マスタ情報の要素間の階層構造情報、マスタ情報に対するアクセス権情報を一体化した情報(共通アクセス制御情報)をサービス監視管理サーバに集約して管理し、サービス利用者によるサービスサーバ上のデータに対するアクセス要求に当たっては、サービス利用者の利用しているサービスサーバに対し、集計条件に対応する共通アクセス制御情報内の階層の下位に属するサービスサーバのリストよりなる部分情報をコピーすることを特徴とするサービス管理装置を有する。
As described above, the data search system according to the present embodiment is
A service server that provides individual services, a service monitoring management server for monitoring and managing a plurality of service servers,
As a service management device used by the service monitoring management server,
The master information of data held by each of the multiple service servers, hierarchical structure information between elements of the master information, and information that integrates access right information for the master information (common access control information) is consolidated on the service monitoring management server. When a service user requests access to the data on the service server, the service server used by the service user has a service server belonging to a lower level in the common access control information corresponding to the aggregation condition. It has a service management device characterized by copying partial information consisting of a list.
また、上記データ検索システムは、
サービスサーバにより用いられるデータアクセス制御装置として、
当該システムにおいて上記サービス管理装置を利用しているサービス監視管理サーバより受け取った共通アクセス制御情報の部分情報を用いて、サービスサーバ自身又は当該システムを構成する他のサービスサーバに対するアクセス要求を送付することを特徴とするデータアクセス制御装置を有する。
The data search system is
As a data access control device used by the service server,
Using the partial information of the common access control information received from the service monitoring management server using the service management apparatus in the system, sending an access request to the service server itself or another service server constituting the system. A data access control device.
また、上記データ検索システムは、
サービスサーバにおいては上記データアクセス制御装置を用い、サービス監視管理サーバにおいては上記データアクセス制御装置を用いることにより、複数のサービスサーバのそれぞれが保有するデータを横断的に集計した結果を基に、集計結果に付随する共通アクセス制御情報の部分集合を利用して、個別明細データ検索要求を送付するサービスサーバの数を絞り込むことを特徴とする。
The data search system is
The service server uses the data access control device, and the service monitoring management server uses the data access control device. Based on the result of crossing the data held by each of the service servers, A subset of the common access control information accompanying the result is used to narrow down the number of service servers to which the individual detailed data search request is sent.
また、上記データ検索システムは、
詳細な個別明細データ検索要求に対する結果を、検索要求元のサービスサーバが検索結果を送付するサービスサーバとの間で同期をとらずに表示することを特徴とする。
The data search system is
The result for the detailed individual detail data search request is displayed without being synchronized with the service server to which the search request source service server sends the search result.
実施の形態2.
本実施の形態について、主に実施の形態1との差異を説明する。
In the present embodiment, differences from the first embodiment will be mainly described.
図13は、SaaSシステム100の構成を示すブロック図である。
FIG. 13 is a block diagram showing the configuration of the
図13において、SaaS監視管理サーバ102のサービス管理装置117は、実施の形態1で図4に示した構成要素のほか、サービス管理DB118(データベース)を備える。サービス管理装置117のサービス管理DB118は、SaaS監視管理サーバ102の記憶装置(例えば、ハードディスク)に実装され、少なくとも、分析サービス契約123、分析サービスマスタ124、利用状況125の3つの表を持つ。
In FIG. 13, the
本実施の形態における横断的集計実行時の処理シーケンスは、実施の形態1で図6に示したものと同様である。 The processing sequence at the time of execution of cross-tabulation in the present embodiment is the same as that shown in FIG. 6 in the first embodiment.
本実施の形態では、SaaS監視管理サーバ102において、サービス管理装置117の共通ACL管理DB119は、共通ACL129の中に、各店舗用SaaSサーバ101から他の店舗用SaaSサーバ101に蓄積された各種類の明細データへのアクセスの許否を店舗用SaaSサーバ101と明細データの種類との組み合わせごとに示す例外リストを記憶装置により記憶する。そして、サービス管理装置117のドリルスルー用ACLサブセット生成部122は、図6の(4)で横断的集計実行部120が集計した明細データが蓄積された店舗用SaaSサーバ101のうち、共通ACL管理DB119に記憶された共通ACL129で要求元店舗128の店舗用SaaSサーバ101と同じグループに所属することが示された店舗用SaaSサーバ101に加えて、共通ACL管理DB119に記憶された共通ACL129で要求元店舗128の店舗用SaaSサーバ101と異なるグループに所属することが示された店舗用SaaSサーバ101であって、共通ACL管理DB119に記憶された例外リストで要求元店舗128の店舗用SaaSサーバ101からのアクセスを許可することが示された、図6の(4)で横断的集計実行部120が集計した明細データと同じ種類の明細データを蓄積する店舗用SaaSサーバ101を示すACLサブセット116を生成する。
In the present embodiment, in the SaaS
実施の形態1で図7に示した地方別・地区別集計用共通ACL130を、リレーショナルDBで実現した例を図14に示す。図14において、地方テーブル131、地区テーブル132、店舗テーブル133は、実施の形態1の図8と同様に、図7に示した地方別・地区別集計用共通ACL130のそれぞれの階層に対応した表である。本実施の形態では、共通ACL126がそれぞれ例外リストを持ち、地方別・地区別集計用共通ACL130も1つの例外リストを持つ。
FIG. 14 shows an example in which the regional / division total
例外リストは、ドリルスルー要求元である店舗のサービス契約に対する料金滞納の有無、利用時間・データ量の制限超過の有無など、利用状況により要求元の店舗がドリルスルー可能な場合のみ評価される。例えば、各店舗は、SaaSのサービスにて「地方別・地区別売上分析」を契約している場合のみ、他店舗の管理するDBを参照可能であり、その場合、SaaS監視管理サーバ102は、ドリルスルー時のアクセス制御において、店舗テーブル133の一部である例外リストを評価するものとする。例外リストは、サービスコンテンツDB105の表名のリスト136(本実施の形態における表リスト)、及び、各表に対応づけられた、各店舗がアクセス可能な他店舗のリスト137(本実施の形態における要素リスト)よりなる。
The exception list is evaluated only when the requesting store can drill through depending on the usage status, such as whether there is a charge overdue for the service contract of the store that is the drill-through request source or whether the usage time / data amount limit is exceeded. For example, each store can refer to the DB managed by other stores only when contracting “sales analysis by region / district” with the service of SaaS, in which case the SaaS
各店舗のサービス契約に関する情報は、SaaS監視管理サーバ102の持つサービス管理DB118により管理する。
Information regarding the service contract of each store is managed by the
図15に、サービス管理DB118の表である分析サービス契約123及び分析サービスマスタ124の例を示す。
FIG. 15 shows an example of the analysis service contract 123 and the analysis service master 124 which are tables of the
図15において、分析サービス契約123は、各店舗が契約している分析サービスの情報を持つ。図15の例では、分析サービス契約123は、店舗A1が「売上分析」、「在庫分析」の各分析サービスを契約していることを示している。また、店舗A2がいずれの分析サービスも契約していないことを示している。分析サービスマスタ24は、各分析サービスが、サービスコンテンツDB105のどの表に対する集計を許可し、ドリルスルー時にどの共通ACL126によるアクセス制御を行うかを示す情報を持つ。図15の例では、分析サービスマスタ24は、「売上分析」サービスについて、図16に例示するサービスコンテンツDB105の売上テーブル138に対する集計を許可し、共通ACL126として「地域」、「商品」、「組織」、「日時」を適用することを示している。また、「在庫分析」サービスについて、図16に例示するサービスコンテンツDB105の在庫テーブル139に対する集計を許可し、共通ACL126として「地域」、「商品」、「組織」、「日時」を適用することを示している。また、分析サービスマスタ24は、「店舗詳細分析」サービスについて、図16に例示するサービスコンテンツDB105の店舗詳細テーブル140に対する集計を許可し、共通ACL126として「地域」、「組織」、「日時」を適用することを示している。
In FIG. 15, the analysis service contract 123 has information on the analysis service contracted by each store. In the example of FIG. 15, the analysis service contract 123 indicates that the store A1 has contracted with each of the analysis services “sales analysis” and “inventory analysis”. Further, it is indicated that the store A2 does not contract any analysis service. The analysis service master 24 has information indicating which table in the
以下では、図16〜図18を利用して、各分析サービスにおけるアクセス制御の例を示す。 Hereinafter, an example of access control in each analysis service will be described with reference to FIGS.
図16に、サービスコンテンツDB105の表である売上テーブル138、在庫テーブル139、店舗詳細テーブル140の例を示す。この例では、売上テーブル138は、店舗名、売上日時、商品、単価、個数、金額を保持するよう構成されている。また、在庫テーブル139は、店舗名、商品、購入日、仕入元、個数、保持期限を保持するよう構成されている。また、店舗詳細テーブル140は、店舗名、売場面積、社員数、アルバイト数、住所を保持するよう構成されている。
FIG. 16 shows an example of a sales table 138, an inventory table 139, and a store detail table 140, which are tables of the
図17に、共通ACL126の例として、商品別集計用共通ACL141を示す。この例では、商品別集計用共通ACL141は、大分類・小分類・取扱店舗の3階層よりなる。例えば、商品別集計用共通ACL141を、図16に示した売上テーブル138に適用し、ドリルスルー要求元の店舗が扱わない商品については原則として他店舗へのドリルスルーを許可しないような構成をとることができる。図17において、店舗A1は、菓子・パン・アルコールを取り扱っているが、筆記具は取り扱っていないものとする。店舗A2は菓子・パンは取り扱っているが、アルコール・筆記具は取り扱っていないものとする。店舗A3は菓子・筆記具を取り扱っているが、パン・アルコールは取り扱っていないものとする。商品別集計用共通ACL141を、図16に示した売上テーブル138に適用することにより、店舗A1は、店舗A2の菓子・パンの売上情報、店舗A3の菓子の売上情報にアクセス可能となる。また、商品別集計用共通ACL141を、例えば図7に示した地方別・地区別集計用共通ACL130とともに、図16に示した売上テーブル138に適用する場合、店舗A1は店舗A2の菓子・パンの売上情報にアクセス可能となるが、店舗A3の売上情報にはアクセスできなくなる。
FIG. 17 shows a
図18に、共通ACL126の例として、組織別集計用共通ACL142を示す。この例では、組織別集計用共通ACL142は、事業部・店舗形態・店舗の3階層よりなる。例えば、組織別集計用共通ACL142を、図16に示した売上テーブル138や在庫テーブル139に適用し、所属する事業部の異なる店舗からのドリルスルー要求に対してはアクセスを許可しないような構成をとることができる。図18において、店舗A1と店舗A2とは互いの売上情報、在庫情報に対してドリルスルーできるが、店舗A1及び店舗A2と店舗A3とは互いのデータに対してドリルスルーできないようにすることができる。
FIG. 18 shows a
図19に、サービス管理DB118の表である利用状況125の例を示す。
FIG. 19 shows an example of the
図19において、利用状況125は、「契約者名」(店舗、又は、地区や地域の責任者など)、「料金支払日」、「当月利用時間」、「最終利用開始日時」、「最終利用終了日時」の各列により構成されている。SaaS監視管理サーバ102は、ある店舗が全体集計の要求元である場合、当該店舗が図15に示した分析サービス契約123において契約しているサービスに関し、図19に示した利用状況125にて当該店舗のサービス契約に対する料金滞納の有無、利用時間・データ量の制限超過の有無などを確認し、契約条件上サービスを利用可能な場合にのみ、図14に示した例外リストに含まれる対象に対するアクセスを許可する。変形例として、ある店舗がサービス利用時間に基づく従量課金契約をしている場合、サービス管理DB118中に記憶した従量課金契約タイプに関する情報を参照して利用制限を確認するように構成することもできる。
In FIG. 19, the
図20は、サービス管理装置117のドリルスルー用ACLサブセット生成部122の動作を示すフローチャートである。
FIG. 20 is a flowchart showing the operation of the drill-through ACL
図20において、ステップS301〜S306は、実施の形態1の図9におけるステップS101〜S106と同様である。また、図20において、ステップS309、S310は、実施の形態1の図9におけるステップS107、S108と同様である。 20, steps S301 to S306 are the same as steps S101 to S106 in FIG. 9 of the first embodiment. In FIG. 20, steps S309 and S310 are the same as steps S107 and S108 in FIG. 9 of the first embodiment.
ステップS306の後、ドリルスルー用ACLサブセット生成部122は、全体集計要求元の店舗(ユーザ)のサービス契約状況に応じて、当該ユーザが例外リストを参照可能かどうか判断する(ステップS307)。ドリルスルー用ACLサブセット生成部122は、当該ユーザが例外リストを参照可能であると判断した場合、例外リストの参照処理を実行する(ステップS308)。ドリルスルー用ACLサブセット生成部122は、ステップS307で、当該ユーザが例外リストを参照できないと判断した場合、ステップS302において全体集計要求に含まれる次の表の処理に進む。
After step S306, the drill-through ACL
図21は、図20におけるステップS307の詳細な動作を示すフローチャートである。 FIG. 21 is a flowchart showing a detailed operation of step S307 in FIG.
図21において、ドリルスルー用ACLサブセット生成部122は、サービス管理DB118の分析サービス契約123を参照し(ステップS401)、全体集計要求元の店舗(ユーザ)が分析サービスを契約しているかどうか判断する(ステップS402)。当該ユーザが分析サービスを契約している場合、ドリルスルー用ACLサブセット生成部122は、サービス管理DB118の利用状況125を参照し(ステップS403)、契約内容に従って料金滞納、利用時間の超過などがないかどうか確認する(ステップS404)。この判断はSaaSの個別事情により条件を追加・削除してもよい。
In FIG. 21, the drill-through ACL
ステップS402、S404の両条件が真(YES)の場合、ドリルスルー用ACLサブセット生成部122は、当該ユーザが契約している全ての分析サービスに対してステップS406〜S410の処理をする(ステップS405)。
When both the conditions in steps S402 and S404 are true (YES), the drill-through ACL
ドリルスルー用ACLサブセット生成部122は、サービス管理DB118の分析サービスマスタ124を参照し(ステップS406)、列「表」に全体集計対象が含まれているかどうかを判断する(ステップS407)。列「表」に全体集計対象の(全体集計結果115を基にしたドリルスルー要求対象になる)表が含まれている場合、ドリルスルー用ACLサブセット生成部122は、図20のステップS304〜S308の処理対象となっている共通ACL126を含む、契約済の分析サービスがあるかどうかを確認し(ステップS408)、このステップS408の確認結果が真(YES)である場合、図20のステップS304〜S308の処理対象となっている共通ACL126の例外リストが参照可能であると判断する(ステップS409)。
The drill-through ACL
ドリルスルー用ACLサブセット生成部122は、ステップS402でユーザが分析サービスを契約していないと判断した場合、ステップS404で当該ユーザが料金滞納、利用時間の超過などの問題を起こしており、分析サービスを利用させることができないと判断した場合、ステップS407でサービス管理DB118の分析サービスマスタ124の列「表」に全体集計対象が含まれていない場合、ステップS408で当該ユーザが図20のステップS304〜S308の処理対象となっている共通ACL126を含む分析サービスが契約していないと判断した場合、いずれにおいても当該共通ACL126の例外リストが参照不可であるか、又は、参照不要であると判断する(ステップS410)。
If the drill-through ACL
例えば、店舗A1の店舗用SaaSサーバ101が、集計対象として図16に示した売上テーブル138を指定し、集計条件として図7の地方別・地区別集計用共通ACL130(図15に示した分析サービスマスタ124の共通ACL126「地域」に相当する)の「地区」を指定して全体集計を要求した場合、ドリルスルー用ACLサブセット生成部122は、店舗A1の利用状況がサービス契約に反しない限り、地方別・地区別集計用共通ACL130の例外リストは参照可能であると判断する。これは、図15に示した分析サービス契約123において、店舗A1が「売上分析」サービスを契約していることが示されており、分析サービスマスタ124において、売上テーブル138が「売上分析」サービスの処理対象であり、地方別・地区別集計用共通ACL130が売上テーブル138に適用される共通ACL126として設定されているからである。一方、例えば、店舗A2の店舗用SaaSサーバ101が、同様の全体集計を要求した場合、ドリルスルー用ACLサブセット生成部122は、店舗A2の利用状況に関わらず、地方別・地区別集計用共通ACL130の例外リストは参照不可であると判断する。これは、図15に示した分析サービス契約123において、店舗A2が「売上分析」サービスを契約していないことが示されているからである。また、例えば、図19に示した利用状況125において、店舗A1の当月利用時間は100時間である。この店舗A1が「1ヵ月の利用時間累計が50時間以内」のサービス契約をしている場合、ドリルスルー用ACLサブセット生成部122は、ステップS404からステップS410に進み、共通ACL126の例外リストは参照不可であると判断する。また、例えば、店舗A1が図15に示した分析サービスマスタ124の列「表」にない借入金テーブルなどに関する全体集計を要求した場合、ドリルスルー用ACLサブセット生成部122は、ステップS407からステップS410に進み、共通ACL126の例外リストは参照不可であると判断する。また、例えば、店舗A1が売上テーブル138に対して図15に示した分析サービスマスタ124に存在しない共通ACL126「営業時間帯」を適用するような全体集計を要求した場合、ドリルスルー用ACLサブセット生成部122は、ステップS408からステップS410に進み、共通ACL126の例外リストは参照不可であると判断する。
For example, the
図22は、図20におけるステップS308の詳細な動作を示すフローチャートである。 FIG. 22 is a flowchart showing the detailed operation of step S308 in FIG.
図22において、ドリルスルー用ACLサブセット生成部122は、例外リストの表リストに含まれる各表に対して(ステップS501)、全体集計要求(当該全体集計の対象は、当該全体集計結果115を基にしたドリルスルー要求の対象になる)に含まれる表であるかを判断する(ステップS502)。ドリルスルー用ACLサブセット生成部122は、対象となる表が全体集計要求に含まれる表であると判断した場合、ステップS502〜S505の処理を実行する。
In FIG. 22, the drill-through ACL
ドリルスルー用ACLサブセット生成部122は、対象となる表に対応する要素リストの持つ要素に対して(ステップS503)、図20のステップS306における一時リストに既に含まれている要素かどうかを確認する(ステップS504)。ドリルスルー用ACLサブセット生成部122は、対象となる要素が当該一時リストに含まれていない場合は、図20のステップS306における一時リストに当該要素を追加する(ステップS505)。ドリルスルー用ACLサブセット生成部122は、ステップS502で対象となる表が全体集計要求に含まれていない表であると判断した場合、あるいは、ステップS504で対象となる要素が既に当該一時リストに含まれていると判断した場合は、ステップS501で次の表に対する処理に進む。なお、図22において、例えば図20のステップS305において集計条件に対応すると判断された共通ACL126の階層において、その下位に全体集計要求元を含む要素に付随する例外リストに対して適用するように構成できる。あるいは、例えば、上記要素及びより下位の要素に付随する例外リストに対して適用するように構成してもよい。
The drill-through ACL
例えば、店舗A1の店舗用SaaSサーバ101が、集計対象として図16に示した売上テーブル138を指定し、集計条件として図14に示した例外リストを含む地方別・地区別集計用共通ACL130の「地区」を指定して全体集計を要求した場合、前述したように、ドリルスルー用ACLサブセット生成部122は、店舗A1の利用状況がサービス契約に反しない限り、地方別・地区別集計用共通ACL130の例外リストは参照可能であると判断する。このとき、例外リストが参照されなければ、店舗A1の店舗用SaaSサーバ101は、店舗A1自身及び店舗A2の明細データのみにアクセス可能である。しかし、例外リストが参照される場合、ステップS502で売上テーブル138が全体集計の対象となっているため、ドリルスルー用ACLサブセット生成部122は、図14に示した例外リストの表名のリスト136から、売上テーブル138に対応する他店舗のリスト137を取得し、ステップS503〜S505の処理を実行する。この他店舗のリスト137には、店舗A2と店舗A4が含まれているが、店舗A2については、ドリルスルー用ACLサブセット生成部122は、ステップS504で図20のステップS306における一時リストに既に含まれている店舗であると判断するため、ステップS505の処理は実行しない。一方、店舗A4については、ドリルスルー用ACLサブセット生成部122は、ステップS503で図20のステップS306における一時リストに含まれていない店舗であると判断するため、ステップS505で店舗A4を当該一時リストに追加する。このように、例外リストが参照された場合、店舗A1の店舗用SaaSサーバ101は、店舗A1及び店舗A2の明細データだけでなく、例外的に、店舗A4の明細データにもアクセス(ドリルスルー)可能となる。
For example, the
以上のように、本実施の形態によれば、例えば、マルチテナントのSaaSシステムにおいて、各テナントが個別にDBやDWH(データウェアハウス)を持っている場合、各テナントのドリルスルー要求について、サービス契約に対する利用状況に応じた制限をかけることが可能となる。 As described above, according to the present embodiment, for example, in a multi-tenant SaaS system, when each tenant individually has a DB or a DWH (data warehouse), a service for a drill-through request of each tenant It is possible to apply restrictions according to the usage status for the contract.
上記のように、本実施の形態に係るデータ検索システムは、
個別のサービスを提供するサービスサーバ、複数のサービスサーバを監視管理するためのサービス監視管理サーバを備え、
サービス監視管理サーバにより用いられるサービス管理装置として、
複数のサービスサーバのそれぞれが保有するデータのマスタ情報、マスタ情報の要素間の階層構造情報、マスタ情報に対するアクセス権情報を一体化した情報(共通アクセス制御情報)をサービス監視管理サーバに集約して管理し、サービス利用者によるサービスサーバ上のデータに対するアクセス要求に当たっては、サービス利用者の利用しているサービスサーバに対し、集計条件に対応する共通アクセス制御情報内の階層の下位に属するサービスサーバのリストよりなる部分情報をコピーし、
さらに、共通アクセス制御情報において、アクセス制御の例外を例外リストにより管理し、当該例外リストは、当該ユーザが当該例外リストの利用に係るサービス契約を行っており、また当該ユーザのサービス利用状況がサービス利用契約に定める利用規定に従っている場合のみ評価を行うことを特徴とするサービス管理装置を有する。
As described above, the data search system according to the present embodiment is
A service server that provides individual services, a service monitoring management server for monitoring and managing a plurality of service servers,
As a service management device used by the service monitoring management server,
The master information of data held by each of the multiple service servers, hierarchical structure information between elements of the master information, and information that integrates access right information for the master information (common access control information) is consolidated on the service monitoring management server. When a service user requests access to the data on the service server, the service server used by the service user has a service server belonging to a lower level in the common access control information corresponding to the aggregation condition. Copy the partial information consisting of the list,
In addition, in the common access control information, exceptions of access control are managed by an exception list. The exception list has a service contract related to the use of the exception list by the user, and the service usage status of the user is a service. The service management apparatus is characterized in that the evaluation is performed only in accordance with the usage rule defined in the usage contract.
また、上記データ検索システムは、
サービス監視管理サーバにおいては上記サービス管理装置を用いることにより、集計結果に付随する共通アクセス制御情報の部分集合を利用して、個別明細データ検索要求を送付するサービスサーバの数を絞り込む際に、アクセス制御の例外については、当該ユーザが当該例外の利用に係るサービス契約を行っており、当該ユーザのサービス利用状況がサービス利用契約に定める利用規定に従っている場合のみ可能とすることを特徴とする。
The data search system is
The service monitoring management server uses the above-mentioned service management device, and when using the subset of the common access control information attached to the aggregation result, when narrowing down the number of service servers to which the individual detailed data search request is sent, Control exceptions can be made only when the user has a service contract related to the use of the exception, and the service usage status of the user complies with the usage rules stipulated in the service usage contract.
また、上記データ検索システムは、
詳細な個別明細データ検索要求に対する結果を、検索要求元のサービスサーバが検索結果を送付するサービスサーバとの間で同期をとらずに表示することを特徴とする。
The data search system is
The result for the detailed individual detail data search request is displayed without being synchronized with the service server to which the search request source service server sends the search result.
以上、本発明の実施の形態について説明したが、これらのうち、2つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、1つの実施の形態を部分的に実施しても構わない。あるいは、これらのうち、2つ以上の実施の形態を部分的に組み合わせて実施しても構わない。 As mentioned above, although embodiment of this invention was described, you may implement combining 2 or more embodiment among these. Alternatively, one of these embodiments may be partially implemented. Or you may implement combining two or more embodiment among these partially.
100 SaaSシステム、101 店舗用SaaSサーバ、102 SaaS監視管理サーバ、103 データアクセス制御装置、104 作業用記憶領域、105 サービスコンテンツDB、106 横断的集計要求部、107 横断的集計応答部、108 ドリルスルー要求部、109 ACLサブセット管理部、110 ドリルスルー応答部、111 条件抽出部、112 ACLサブセット解釈部、113 結果受取部、114 結果表示部、115 全体集計結果、116 ACLサブセット、117 サービス管理装置、118 サービス管理DB、119 共通ACL管理DB、120 横断的集計実行部、121 共通ACL管理部、122 ドリルスルー用ACLサブセット生成部、123 分析サービス契約、124 分析サービスマスタ、125 利用状況、126 共通ACL、127 ユーザ端末、128 要求元店舗、129 他店舗、130 地方別・地区別集計用共通ACL、131 地方テーブル、132 地区テーブル、133 店舗テーブル、134 要求元店舗、135 他店舗、136 表名のリスト、137 他店舗のリスト、138 売上テーブル、139 在庫テーブル、140 店舗詳細テーブル、141 商品別集計用共通ACL、142 組織別集計用共通ACL、200 ネットワーク、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群、991 SaaSシステム、992 SaaSシステム。 100 SaaS system, 101 Store SaaS server, 102 SaaS monitoring management server, 103 data access control device, 104 work storage area, 105 service content DB, 106 cross-tabulation request section, 107 cross-tabulation response section, 108 drill-through Request section, 109 ACL subset management section, 110 Drill-through response section, 111 Condition extraction section, 112 ACL subset interpretation section, 113 Result reception section, 114 Result display section, 115 Total count result, 116 ACL subset, 117 Service management device, 118 service management DB, 119 common ACL management DB, 120 cross-sectional aggregation execution unit, 121 common ACL management unit, 122 drill-through ACL subset generation unit, 123 analysis service contract, 124 analysis service manager 125, usage status, 126 common ACL, 127 user terminal, 128 request source store, 129 other store, 130 common ACL for aggregation by region / district, 131 district table, 132 district table, 133 store table, 134 request source store , 135 Other stores, 136 List of table names, 137 List of other stores, 138 Sales table, 139 Inventory table, 140 Store details table, 141 Common ACL for totaling by product, 142 Common ACL for totaling by organization, 200 network, 901 Display device, 902 keyboard, 903 mouse, 904 FDD, 905 CDD, 906 printer device, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication board, 920 magnetic disk device, 921 operating system Beam, 922 window system, 923 programs, 924 files, 991 SaaS system, 992 SaaS system.
Claims (7)
各サーバから他のサーバに蓄積された明細データへのアクセスの許否をサーバごとに示す共通ACL(アクセス制御リスト)を記憶装置により記憶する共通ACL管理データベースと、
前記集計実行部が集計した明細データのうち、前記共通ACL管理データベースに記憶された共通ACLで前記第1サーバからのアクセスを許可することが示された明細データを蓄積するサーバ(以下、「第2サーバ」という)を示すACLサブセットを処理装置により生成するドリルスルー用ACLサブセット生成部とを備え、
前記集計実行部は、前記第1サーバに対し、生成した集計データと前記ドリルスルー用ACLサブセット生成部が生成したACLサブセットとをネットワーク経由で送信し、当該集計データの一部から当該ACLサブセットで示された第2サーバに蓄積された明細データへのドリルスルーを前記第1サーバに実行させることを特徴とするサービス管理装置。 From one of a plurality of servers that store a plurality of types of detailed data (hereinafter referred to as “first server”), a totaling request specifying a type of detailed data to be totaled is received via the network, A totalization execution unit that collects detailed data of the type stored in each server from the server via the network, and generates totalized data by counting the detailed data by a processing device;
A common ACL management database that stores, in a storage device, a common ACL (access control list) that indicates whether or not access to detailed data stored in other servers from each server is permitted;
Of the detailed data aggregated by the aggregation execution unit, a server that accumulates detailed data indicated to permit access from the first server in the common ACL stored in the common ACL management database (hereinafter referred to as “the first item”). An ACL subset generating unit for generating an ACL subset indicating a “two server”) by a processing device,
The aggregation execution unit transmits the generated aggregation data and the ACL subset generated by the drill-through ACL subset generation unit to the first server via a network, and the ACL subset is generated from a part of the aggregation data. A service management apparatus that causes the first server to execute drill-through to detailed data stored in the indicated second server.
前記ドリルスルー用ACLサブセット生成部は、前記集計実行部が集計した明細データが蓄積されたサーバのうち、前記共通ACL管理データベースに記憶された共通ACLで前記第1サーバと同じグループに所属することが示されたサーバを前記第2サーバとして示すACLサブセットを生成することを特徴とする請求項1に記載のサービス管理装置。 The common ACL management database stores a common ACL indicating, for each server, a group to which each server belongs among a plurality of groups in which the plurality of servers are classified.
The drill-through ACL subset generator belongs to the same group as the first server in the common ACL stored in the common ACL management database among the servers storing the detailed data tabulated by the tabulation execution unit. The service management apparatus according to claim 1, wherein an ACL subset indicating the server indicated by the URL as the second server is generated.
前記共通ACL管理データベースは、さらに、各サーバから他のサーバに蓄積された各種類の明細データへのアクセスの許否をサーバと明細データの種類との組み合わせごとに示す例外リストを記憶装置により記憶し、
前記ドリルスルー用ACLサブセット生成部は、前記集計実行部が集計した明細データが蓄積されたサーバのうち、前記共通ACL管理データベースに記憶された共通ACLで前記第1サーバと同じグループに所属することが示されたサーバに加えて、前記共通ACL管理データベースに記憶された共通ACLで前記第1サーバと異なるグループに所属することが示されたサーバであって、前記共通ACL管理データベースに記憶された例外リストで前記第1サーバからのアクセスを許可することが示された、前記集計実行部が集計した明細データと同じ種類の明細データを蓄積するサーバを前記第2サーバとして示すACLサブセットを生成することを特徴とする請求項2に記載のサービス管理装置。 The service management device further includes:
The common ACL management database further stores, in a storage device, an exception list indicating permission / refusal of each type of detailed data stored in other servers from each server for each combination of the server and the detailed data type. ,
The drill-through ACL subset generation unit belongs to the same group as the first server in the common ACL stored in the common ACL management database among the servers storing the detailed data tabulated by the tabulation execution unit. In addition to the server indicated, the common ACL stored in the common ACL management database indicates that it belongs to a group different from the first server, and is stored in the common ACL management database. Generate an ACL subset indicating, as the second server, a server that stores detailed data of the same type as the detailed data aggregated by the aggregation execution unit, which is indicated in the exception list to permit access from the first server. The service management apparatus according to claim 2.
前記複数のサーバから各サーバに蓄積された明細データを収集するとともに各サーバから他のサーバに蓄積された明細データへのアクセスの許否をサーバごとに示す共通ACL(アクセス制御リスト)を記憶するサービス管理装置に対し、集計対象とする明細データの種類を指定した集計要求をネットワーク経由で送信し、前記サービス管理装置から、各サーバに蓄積された当該種類の明細データを集計して生成した集計データと、当該明細データのうち前記共通ACLで前記第1サーバからのアクセスを許可することが示された明細データを蓄積するサーバ(以下、「第2サーバ」という)を示すACLサブセットとをネットワーク経由で受信する集計要求部と、
前記集計要求部が受信した集計データのうち、ドリルスルー対象とする部分を指定した入力を入力装置により受け付け、前記集計要求部が受信したACLサブセットに示された第2サーバに対し、前記入力で指定された部分に対応する明細データを指定したドリルスルー要求をネットワーク経由で送信し、当該第2サーバから、当該明細データをネットワーク経由で受信するドリルスルー要求部とを備えることを特徴とするデータアクセス制御装置。 In a data access control device provided in one of a plurality of servers that accumulate a plurality of types of detailed data (hereinafter referred to as “first server”),
A service that collects detailed data stored in each server from the plurality of servers and stores a common ACL (access control list) that indicates whether each server has access to detailed data stored in other servers. Aggregated data generated by sending a summary request specifying the type of detail data to be aggregated to the management device via the network and aggregating the type of detail data stored in each server from the service management device And an ACL subset indicating a server (hereinafter referred to as “second server”) that stores the detailed data indicated to permit access from the first server in the common ACL among the detailed data via the network. The aggregation request part received at
The input device receives an input designating a portion to be drilled out of the total data received by the total request unit, and the input to the second server indicated in the ACL subset received by the total request unit A data comprising: a drill-through request unit which transmits a drill-through request designating detailed data corresponding to a designated part via a network, and receives the detailed data from the second server via the network. Access control device.
前記サービス管理装置が、前記複数のサーバから、各サーバに蓄積された明細データのうち、前記集計要求で指定された種類の明細データを収集し、当該明細データを処理装置により集計して集計データを生成し、
前記サービス管理装置が、集計した明細データのうち、前記共通ACLで前記第1サーバからのアクセスを許可することが示された明細データを蓄積するサーバ(以下、「第2サーバ」という)を示すACLサブセットを処理装置により生成し、
前記サービス管理装置が、前記第1サーバに対し、生成した集計データとACLサブセットとを送信し、
前記第1サーバが、前記集計データのうち、ドリルスルー対象とする部分を指定した入力を入力装置により受け付け、前記ACLサブセットに示された第2サーバに対し、前記入力で指定された部分に対応する明細データを指定したドリルスルー要求を送信し、
前記第2サーバが、前記第1サーバに対し、前記ドリルスルー要求で指定された明細データを送信し、
前記第1サーバが、前記明細データを表示装置により表示することを特徴とするデータ検索方法。 A common one of a plurality of servers that store a plurality of types of detailed data (hereinafter referred to as a “first server”) indicates whether each server is permitted to access detailed data stored in other servers. To the service management device that stores the ACL (access control list), a totaling request specifying the type of detailed data to be totaled is sent,
The service management device collects detailed data of the type specified in the totaling request from the multiple servers stored in each server from the plurality of servers, and totalizes the detailed data by a processing device. Produces
The service management device indicates a server (hereinafter referred to as a “second server”) that stores the detailed data indicated by the common ACL that access from the first server is permitted, among the detailed data collected. An ACL subset is generated by the processing unit;
The service management device transmits the generated aggregate data and ACL subset to the first server,
The first server receives an input designating a portion to be drilled out of the aggregated data by the input device, and corresponds to the portion designated by the input to the second server indicated in the ACL subset Send a drill-through request with the line item data
The second server sends the detailed data specified in the drill-through request to the first server,
The data search method, wherein the first server displays the detailed data on a display device.
前記第2サーバが、前記サービス管理装置に対し、前記ドリルスルー要求で指定された明細データを指定した確認要求を送信し、
前記サービス管理装置が、前記共通ACLで前記第2サーバから送信された確認要求で指定された明細データへのアクセスを許可することが示されているか否かを処理装置により確認し、当該確認結果を送信し、
前記第2サーバが、前記確認結果に基づいて、前記第1サーバに対し、前記ドリルスルー要求で指定された明細データを送信することを特徴とする請求項6に記載のデータ検索方法。 The data search method further includes:
The second server sends a confirmation request specifying the detailed data specified in the drill-through request to the service management device;
The service management device confirms by the processing device whether or not it is shown that the access to the detailed data designated by the confirmation request transmitted from the second server is permitted by the common ACL, and the confirmation result Send
The data search method according to claim 6, wherein the second server transmits detailed data designated by the drill-through request to the first server based on the confirmation result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007325969A JP2009146350A (en) | 2007-12-18 | 2007-12-18 | Service management device, data access controller, and data retrieval method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007325969A JP2009146350A (en) | 2007-12-18 | 2007-12-18 | Service management device, data access controller, and data retrieval method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009146350A true JP2009146350A (en) | 2009-07-02 |
Family
ID=40916849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007325969A Pending JP2009146350A (en) | 2007-12-18 | 2007-12-18 | Service management device, data access controller, and data retrieval method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009146350A (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013033449A (en) * | 2011-06-29 | 2013-02-14 | Canon Inc | Server system, control method and program |
JP2013080299A (en) * | 2011-09-30 | 2013-05-02 | Fujitsu Social Science Laboratory Ltd | Information process system, information processing method and information processing program |
JP2013114614A (en) * | 2011-11-30 | 2013-06-10 | Nippon Telegr & Teleph Corp <Ntt> | Information circulation system and access control method thereof |
JP2013182320A (en) * | 2012-02-29 | 2013-09-12 | Mitsubishi Electric Corp | Information processor, information processing method, and program |
WO2014016977A1 (en) * | 2012-07-27 | 2014-01-30 | 株式会社日立システムズ | SaaS PAYMENT PROCESSING SYSTEM, SaaS USAGE FEE PAYMENT PROCESSING METHOD, AND PROGRAM |
KR20150119108A (en) * | 2013-02-13 | 2015-10-23 | 페이스북, 인크. | Hive table links |
WO2016194069A1 (en) * | 2015-05-29 | 2016-12-08 | 株式会社日立システムズ | Evidence providing system and evidence providing method |
JP2021086403A (en) * | 2019-11-28 | 2021-06-03 | 株式会社伊予エンジニアリング | Re-engineering support system utilizing system existing in company |
JP7445246B1 (en) | 2023-07-24 | 2024-03-07 | 株式会社パトスロゴス | Data processing system, data processing method, and data processing program |
-
2007
- 2007-12-18 JP JP2007325969A patent/JP2009146350A/en active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013033449A (en) * | 2011-06-29 | 2013-02-14 | Canon Inc | Server system, control method and program |
JP2013080299A (en) * | 2011-09-30 | 2013-05-02 | Fujitsu Social Science Laboratory Ltd | Information process system, information processing method and information processing program |
JP2013114614A (en) * | 2011-11-30 | 2013-06-10 | Nippon Telegr & Teleph Corp <Ntt> | Information circulation system and access control method thereof |
JP2013182320A (en) * | 2012-02-29 | 2013-09-12 | Mitsubishi Electric Corp | Information processor, information processing method, and program |
CN104508698A (en) * | 2012-07-27 | 2015-04-08 | 株式会社日立系统 | SaaS payment processing system, SaaS usage fee payment processing method, and program |
JP2014026537A (en) * | 2012-07-27 | 2014-02-06 | Hitachi Systems Ltd | Saas (software as service) settlement system, settlement method of saas usage faire and program |
WO2014016977A1 (en) * | 2012-07-27 | 2014-01-30 | 株式会社日立システムズ | SaaS PAYMENT PROCESSING SYSTEM, SaaS USAGE FEE PAYMENT PROCESSING METHOD, AND PROGRAM |
KR20150119108A (en) * | 2013-02-13 | 2015-10-23 | 페이스북, 인크. | Hive table links |
JP2016511899A (en) * | 2013-02-13 | 2016-04-21 | フェイスブック,インク. | Hive table link |
KR101908553B1 (en) * | 2013-02-13 | 2018-10-16 | 페이스북, 인크. | Hive table links |
US10339157B2 (en) | 2013-02-13 | 2019-07-02 | Facebook, Inc. | Hive table links |
WO2016194069A1 (en) * | 2015-05-29 | 2016-12-08 | 株式会社日立システムズ | Evidence providing system and evidence providing method |
JP2021086403A (en) * | 2019-11-28 | 2021-06-03 | 株式会社伊予エンジニアリング | Re-engineering support system utilizing system existing in company |
JP7445246B1 (en) | 2023-07-24 | 2024-03-07 | 株式会社パトスロゴス | Data processing system, data processing method, and data processing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009146350A (en) | Service management device, data access controller, and data retrieval method | |
US9158843B1 (en) | Addressing mechanism for data at world wide scale | |
US8555018B1 (en) | Techniques for storing data | |
CN101410836B (en) | A method for providing access to data stored in a database to an application | |
US9875272B1 (en) | Method and system for designing a database system for high event rate, while maintaining predictable query performance | |
WO2011033734A1 (en) | File search system and program | |
CN105144159A (en) | HIVE table links | |
US9251164B2 (en) | System, method and computer program product for using a database to access content stored outside of the database | |
US20040122946A1 (en) | Delegation of administrative operations in user enrollment tasks | |
US10963842B1 (en) | Communication platform for email management | |
US20070256083A1 (en) | Systems and methods of accessing information across distributed computing components | |
JPH1097544A (en) | Database processing system | |
US7020564B2 (en) | Logical volume administration method, the service using the method and the memory medium storing the service | |
US10802881B2 (en) | Methods and devices for enabling distributed computers to communicate more effectively in an enterprise requiring flexible approval notifications | |
US8949432B2 (en) | Identity management | |
US20220343198A1 (en) | Systems and methods for determining data criticality based on causal evaluation | |
US11429311B1 (en) | Method and system for managing requests in a distributed system | |
CN112348664B (en) | Credit credit management system supporting automatic early warning | |
US20220156245A1 (en) | System and method for managing custom fields | |
JP2010134651A (en) | Merchandise id server device, and method for controlling the same | |
US8726235B2 (en) | Telecom business-oriented taxonomy for reusable services | |
US20040172585A1 (en) | System and method for automatically starting a document on a workflow process | |
JP5315456B2 (en) | ELECTRONIC DISTRIBUTION METHOD, ELECTRONIC DISTRIBUTION DEVICE, AND ELECTRONIC DISTRIBUTION PROGRAM | |
JP2009110241A (en) | Electronic file management device | |
US20160162814A1 (en) | Comparative peer analysis for business intelligence |