JP5878232B2 - データ処理システム - Google Patents
データ処理システム Download PDFInfo
- Publication number
- JP5878232B2 JP5878232B2 JP2014504532A JP2014504532A JP5878232B2 JP 5878232 B2 JP5878232 B2 JP 5878232B2 JP 2014504532 A JP2014504532 A JP 2014504532A JP 2014504532 A JP2014504532 A JP 2014504532A JP 5878232 B2 JP5878232 B2 JP 5878232B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- selling price
- server
- application start
- price application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Webサーバ12には、インターネット17を介してクライアント端末18が接続されている。
各DBサーバ16は、全DBサーバ16間に共通するデータを格納した複数のテーブル(テーブル群19)と、DB管理システム(RDBMS)とを備えており、DBサーバ16の中の少なくとも一部は、データ保全の観点から遠隔地に配置されている。
まず、クライアント端末18にはWebサーバ12からデータ利用画面が送信され、Webブラウザ上に表示される(図示省略)。
そして、ユーザがこのデータ利用画面を通じて検索条件を指定し、データの検索をリクエストすると、Webサーバ12からAPサーバ14に対して検索リクエストが送信される。この際、ロードバランサ13を介して、最も負荷の小さい一のAPサーバ14に対して、検索リクエストが振り分けられる。
これを受けた各DBサーバ16は、SQLで指定されたデータを抽出し、APサーバ14に送信する。
これに対しWebサーバ12は、APサーバ14から受け取った検索結果データを表示する画面(図示省略)を生成し、クライアント端末18に送信する。
これを受けたAPサーバ14は、各DBサーバ16に対して同一のSQLを発行し、同データの追加を依頼する。
これに対し各DBサーバ16は、上記追加データを対応のテーブルに格納する処理を実行する。
この図におけるスレッド32が、図2〜図4に表された検索条件分割処理部20、複数の検索処理部22、複数のデータ加工処理部24、検索結果統合処理部26、追加データ受付部27、複数の登録処理部28として機能し、これらの機能構成部が実行する具体的な処理がタスク36に相当する。
まず、図6に従い、検索条件分割処理部20による処理手順を説明する。
すなわち、クライアント端末18から送信された検索条件をWebサーバ12経由でAPサーバ14が受信すると(S10)、検索条件分割処理部20は検索条件を解析し、検索条件の内容に応じて複数の検索条件に分割する(S12)。
例えば、「2010年における全チェーン店の売上を集計する」という検索条件が与えられた場合に、「2010年1月分の全チェーン店の売上」、「2010年2月の全チェーン店の売上」、「2010年3月の全チェーン店の売上」…というように、年を月単位に12分割することが該当する。
また、各チェーン店の所在地データに着目し、「2010年における東京所在チェーン店の売上」、「2010年における北海道所在チェーン店の売上」、「2010年における沖縄所在チェーン店の売上」…というように、全国を都道府県単位に47分割することも該当する。
もちろん、「2010年1月分の東京所在チェーン店の売上」や「2010年1月の北海道所在チェーン店の売上」のように、月×都道府県単位で564分割することもできる。
すなわち、検索条件分割処理部20は、47個の検索処理部22に対して、上記都道府県単位の検索処理と、対応DBサーバ16を割り当てる(S14)。
まず検索処理部22は、自己に割り当てられた検索処理に必要な都道府県を指定したSQLを自動生成し、自己に割り当てられた特定のDBサーバ16に対して発行する(S20)。
この結果、一部のデータ加工処理部24は、受信データをキー項目でソートすると共に、キー項目の値に基づいて複数のデータに分割する処理を実行する。また、他のデータ加工処理部24は、分割されたデータに基づく値の集計処理や、当該値を指定したデータの抽出をDBサーバ16に依頼する処理などを実行する。
受信データの分割手法については後に例示するが、検索条件の内容に応じて論理的に分割する検索条件分割処理部20による分割と異なり、受信データの値や分量に応じた分割手法となる。データ加工処理部24による具体的な処理についても、後に例示する。
各検索処理部22は、DBサーバ16からのデータ送信が完了するまで、DBサーバ16から送信されるデータが一定量に達する度にS24〜S28の処理を繰り返す(S30/N、S22/Y)。
そして、DBサーバ16からのデータ送信が完了し、S24〜S28の最後の処理が完了した時点で(S30/Y)、検索処理部22はこれまでの部分的な処理結果の集計値を集計し(S32)、検索結果統合処理部26に集計結果を出力する(S34)。
まず検索結果統合処理部26は、各検索処理部22から集計結果が送信される度に、全ての検索処理部22からの集計結果が揃ったか否かをチェックし(S40、S42)、全てが揃った段階で全検索処理部の集計結果を集計する(S44)。
そして、その最終的な集計結果をWebサーバ12に送信する(S46)。
Webサーバ12は、この集計結果を含むWebファイルを生成し、クライアント端末18に送信することになる。
まず、クライアント端末18から送信されたデータ追加のリクエストをWebサーバ12経由でAPサーバ14が受信すると(S50)、追加データ受付部27がDBサーバ16の数に対応した登録処理部28を起動させ、それぞれに担当DBサーバ16の特定情報及び追加データを渡す(S52)。
これを受けた各登録処理部28は、自己が担当するDBサーバ16に対して上記の追加データの登録を求めるSQLを発行する(S54)。
これを受けた各DBサーバ16は、対応のテーブルに対して一斉にデータを追加する。この結果、各DBサーバ16が管理するデータの同一性が確保される。
また、予約管理テーブル42は、「予約ID(主キー)」、「店ID」、「顧客ID(外部キー)」、「金額」及び「予約年月日」のデータ項目を備えている。
売上管理テーブル44は、「予約ID(主キー/外部キー)」及び「売上年月日」のデータ項目を備えている。
予約取消管理テーブル46は、「予約ID(主キー/外部キー)」及び「予約取消年月日」のデータ項目を備えている。
請求管理テーブル48は、「請求ID(主キー)」、「請求年月日」及び「予約ID(外部キー)」のデータ項目を備えている。
(1)キー項目は一つに限定される。
したがって、複数の項目の組合せによってキー項目を構成すること(複合キー)は、禁止される。
したがって、値に変更が生じた場合など、発生タイミングの異なる情報は別テーブルに格納されることとなる。
まず「NULL値禁止制約」とは、データ項目の値としてNULL(値なし)を充填することが禁止されることを意味しており、このようなNULL値の充填を想定したデータ項目の設定自体が許容されないことになる。
つぎに「フラグ値禁止制約」とは、データ項目の値としてフラグ値(「1/0」、「ON/OFF」、「TRUE/FALSE」等の2値データ)を充填することが禁止されることを意味しており、このようなフラグ値の充填を想定したデータ項目の設定自体が許容されないことになる。
「区分値禁止制約」とは、データ項目の値として区分値(「1:正社員」、「2:パート」、「3:アルバイト」等)を充填することが禁止されることを意味しており、このような区分値の充填を想定したデータ項目の設定自体が許容されないことになる。
また、「予約取消」に関するデータも、通常であれば予約管理テーブル42において「予約取消フラグ」等のデータ項目が設けられ、各レコードに「1/0」等のフラグ値を充填することで状態が管理されるところであるが、予約取消管理テーブル46を予約管理テーブル42とは別個に設けることにより、予約取消の状態管理がなされている。すなわち、この予約取消管理テーブル46に登録された予約IDが「予約取消」状態にあることとなり、レコードの有無によって予約取消の有無が表現されている。
図示は省略したが、このような場合には例えば「顧客ID」、「変更地域」、「変更年月日」等のデータ項目を備えた「顧客地域変更管理テーブル」が新たに設けられて、当該顧客の顧客ID、変更後の地域、変更年月日が格納される。
そして、DBサーバ16から該当日の請求年月日を備えた請求データが送信されると、検索処理部22は一定量のデータ(例えば1,000件のレコード相当分)単位で受信データを分割し、複数のデータ加工処理部24に以下の処理を割り当てる。
(1)各請求データの「予約ID」を指定したSQLを生成してDBサーバ16に発行し、「予約管理テーブル42」から対応の予約データを取得する。
(2)送信された予約データの中で、該当店舗の「店ID」を有するデータのみを抽出し、他の店IDのデータを除外する。
(3)各予約データの「顧客ID」を指定したSQLを生成してDBサーバ16に発行し、顧客管理テーブル40から対応の顧客データを取得する。
(4)顧客データの「地域」毎に、予約データ中の「金額」の値を集計する。
これら(1)〜(4)の処理は、具体的にはタスク36として各データ加工処理部24のスレッドプール34に配置される。
検索結果統合処理部26は、全検索処理部22から8月1日〜8月31日までの全集計結果が集まった時点でこれらを集計し、Webサーバ12に出力する。
上記の通り、各DBサーバ16は同じ内容のデータを保持しているため、検索処理部22にDBサーバ16を割り振る際にはDBサーバ16毎の特性を考慮することなく、機械的に対応付けることができる。
例えば、分割された検索条件が31個あり、検索処理部が31個設けられたにもかかわらず、DBサーバ16が物理的に10台しか用意されていない場合には、各DBサーバ16に対して3〜4個の検索条件が割り振られることになる。この場合でも、1台のDBサーバ16のみで全てを処理する場合に比べ、大幅な高速化が期待できる。
まず一のデータ加工処理部24は、DBサーバ16から送信されたデータを2等分する位置を探索し、そこから前方不一致検索によってキー項目の変わり目を探しだし、データを2分割させる。
例えば、(a)のデータ列はキー項目の値が1〜6があるが、データ加工処理部24は「3」と「4」との間を境にこれを2分割させ、(b)及び(c)のデータ列を生成する。
この時点で、(e)のデータ列のキー項目の値は「3」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(e)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
この時点で、(h)のデータ列のキー項目の値は「1」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(h)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
同様に、(i)のデータ列のキー項目の値は「2」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(i)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
この時点で、(g)のデータ列のキー項目の値は「6」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(g)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
この時点で、(j)のデータ列のキー項目の値は「4」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(j)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
同様に、(k)のデータ列のキー項目の値は「5」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(k)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
この結果、大量のデータに対して複数のデータ加工処理部24による並列処理が可能となり、APサーバ14に複数搭載されたCPUコアの有効利用が可能となる。
このデータ加工処理部24による分割処理に際し、分割の回数(階層の深さ)に一定の限度を設けることもできる。
この結果、第1のスレッドプール50に配置されたタスク36の実行によってI/O Waitが発生した場合、スレッド32は第2のスレッドプール52に配置されたタスク36を待ち時間の間に処理することが可能となり、処理の効率化を図ることが可能となる。
しかも、DBサーバ16は筐体レベルで複数台用意され、検索時にはデータの抽出処理がそれぞれに分散される。
このため、テーブルの正規化の追求に伴いDBサーバ16側の処理速度が低下することを、有効に回避できる。
この場合、各DBサーバ16は、DB管理システム(RDBMS)61と、当日分データ記憶領域(暫定記憶領域)62と、過去分データ記憶領域(永続記憶領域)63とを備える。
インデックス生成部64及びインデックス提供部66は、インデックスサーバ60のCPUが専用のプログラムに従って動作することにより実現され、インデックス記憶部65は、インデックスサーバ60のSSD(Solid State Drive)内に設けられている。
また、インデックスサーバ60のインデックス生成部64は、夜間バッチ処理により、DB管理システム61から当日分データ記憶領域62内に格納された追加データを取得し、追加分のインデックスを作成した後、インデックス記憶部65に格納する。
しかも、インデックスはハードディスクよりも高速な動作が可能なSSDに格納されているため、APサーバ14がインデックスを参照する際のDISK/IOを低減することができる。
ここでテーブル記憶領域74は、ハードディスク(HDD)内に設けられており、上記した顧客管理テーブル40や予約管理テーブル42等が格納されている。また更新ログ記憶領域76は、OSによってメモリ(tmpfs)内に設けられている。
このため、上記のように各テーブルに格納されるレコードの構造が極限まで簡素化されていると、1つのブロック78に収納できるレコード数を増やすことが可能となり、その分、DBサーバ16における処理の効率化を実現することが可能となる。
これに対し、このシステム10の場合には、上記のようにDBサーバ16が物理的に複数台設けられており、各DBサーバ16には同一内容のデータが保存される仕組みを備えているため、データ消失の危険を有効に分散させることが可能となる。
例えば、図15に示すように、各DBサーバ16を複数のDB系統に分類すると共に、同一のDB系統に属するDBサーバ16の外部記憶装置19には、相互に共通するデータを格納した複数のテーブルが格納されるように構成することもできる。
この場合、DB系統を異にするDBサーバ16間では、それぞれ異なるテーブルが外部記憶装置19に格納されている。
同一のDB系統に属するDBサーバ16の中の少なくとも一部は、データ保全の観点から遠隔地に配置されている。
図においては2つのDB系統(DBα系統及びDBβ系統)が例示されているが、さらに多くのDB系統を設けることができる。
例えば、ユーザの氏名や住所等を管理する基本属性テーブルと、各ユーザの勤務先や趣味等を管理する派生属性テーブルが別個のDB系統に属している場合、新規会員登録に際し各登録処理部28は、2つのDB系統に属する対応のDBサーバ16に対して、それぞれ対応レコードの追加をリクエストするSQLを同時に発行することになる。
そして、この直後に登録会員の検索リクエストが発せられると、図16(b)に示すように、一方のDB系統のデータのみが存在し、他方のDB系統のデータが欠落したデータの組合せが返されてしまう。
これに対し、このシステム10の場合には、データ追加時におけるデータの不整合は許容すると共に、データ参照時にこれを正す方式を採用している。
まず、二つのDB系統に格納されたテーブルに対して同時にデータの追加を行う必要がある場合、登録処理部28は何れか一方のDBサーバ16内に設けられた関連テーブルに対して、本来の追加データとは別に、双方のデータの関連性を示すデータを登録する。
また、DBβ系統に属するDBサーバ(β2)16内には、店舗ID、店舗コード、店舗名、登録日時のデータ項目を備えた店舗テーブル82が設けられている。
上記の商品ID及び店舗IDは、システム10によって採番されるユニークな人工キーである。
同時に登録処理部28は、店舗テーブル82に店舗データの追加を指令するSQLを生成し、DBサーバ(β2)16に発行する。
この時点で登録処理部28は、DBサーバ(α2)16及びDBサーバ(β2)16においてデータの追加が成功したか失敗したかについて関知しない。
つぎに検索処理部22は、DBサーバ(α2)16の商品テーブル80及びDBサーバ(β2)16の店舗テーブル82を参照し、上記の商品ID及び店舗IDに対応するデータの登録があるか否かを確認する(S62)。
これに対し、何れか一方のデータのみが存在し、他方のデータが欠落している場合には、当該データの追加はなかったものと認定し、両データを取得対象から除外する(S68)。
これに対しユーザは、同一データの組合せの追加登録を再度リクエストすることになる。この結果、前回の追加登録処理が成功している方のテーブルには、同一データが重複登録される結果となるが、この場合には登録日時の新しいものが有効として取り扱われ、登録日時の古いデータの存在は無視される。
また、DBβ系統に属するDBサーバ(β2)16内には、トランザクションID、購入金額、ユーザID、購入日時のデータ項目を備えた購入テーブル85の他に、住所ID及びトランザクションIDのデータ項目を備えた関連テーブル86が設けられている。
上記のユーザID、住所ID及びトランザクションIDは、システム10によって採番されるユニークな人工キーである。
同時に登録処理部28は、住所テーブル84に住所データの追加を指令するSQLを生成し、DBサーバ(α2)16に発行する。
この時点で登録処理部28は、DBサーバ(α2)16及びDBサーバ(β2)16においてデータの追加が成功したか失敗したかについて関知しない。
つぎに検索処理部22は、DBサーバ(β2)16の購入テーブル85及びDBサーバ(α2)16の住所テーブル84を参照し、上記のトランザクションID及び住所IDに対応するデータの登録があるか否かを確認する(S72)。
これに対し、何れか一方のデータのみが存在し、他方のデータが欠落している場合には、当該データの追加はなかったものと認定し、両データを取得対象から除外する(S78)。
これに対しユーザは、同一データの組合せの追加登録を再度リクエストする。
同様に、先の追加登録リクエストにおいて購入データの追加登録が成功していた場合には、購入テーブル85において同一購入データが重複登録された状態となるが、購入日時の新しいものを有効として取り扱い、購入日時の古いデータの存在を無視することにより、データの一元性は確保される。
すなわち、データの内容変更は必ずデータの追加という形で表現されることから、検索処理部22は関連テーブルを参照した結果あるべきデータが存在しないと判明した時点で、追加処理の失敗と判断することができる。
これに対し、仮にデータの削除が許容されるという前提の下では、データの不存在がデータの削除によるものか、データの追加が失敗したことによるものかを判断不能となる。
また、検索結果に基づいて各種のデータ加工処理を実行する必要性がある場合には、検索処理部22毎に複数のデータ加工処理部24が起動されるため、やはり多数のCPUコアを用いた効率的な分散処理が可能となる。
しかも、DBサーバ16からの検索結果データが全て揃うまで待機することなく、一定量単位でデータ加工処理部24による並列処理が実行されるため、データベースサーバ側のDISK/IOによる遅延を緩和することも可能となる。
各サーバ間は、通信ネットワークを介して接続されている。
また、Webサーバ112には、通信ネットワークを介して、ユーザの操作するクライアント端末117が接続される。
クライアント端末117は、PC等のコンピュータよりなり、OSやWebブラウザ、テキストエディタ等のプログラムを搭載している。
上記のデータ参照部118、データ更新部120、売価履歴管理部122、テーブル設定部124、型生成部126、コンパイラ128は、APサーバ114のCPUが、専用のアプリケーションプログラムに従って所定の処理を実行することで実現される。また、型格納部127は、APサーバ114の外部記憶装置内に設けられている。データアクセス汎用部品130も、同外部記憶装置内に格納されている。
まず、売価基本テーブル134は、「売価基本ID(主キー)」、「商品ID(外部キー)」、「売価」及び「登録日時」のデータ項目を備えている。
また、売価適用開始テーブル136は、「売価適用開始ID(主キー)」、「売価基本ID(外部キー)」、「適用開始日」及び「登録日時」のデータ項目を備えている。有効期限が時間単位で設定される場合には、適用開始日の代わりに、「適用開始日時」のデータ項目が設けられる。
売価適用終了テーブル138は、「売価適用終了ID(主キー)」、「売価基本ID(外部キー)」、「適用終了日」及び「登録日時」のデータ項目を備えている。有効期限が時間単位で設定される場合には、適用終了日の代わりに、「適用終了日時」のデータ項目が設けられる。
売価適用開始取消テーブル140は、「売価適用開始ID(主キー/外部キー)」及び「登録日時」のデータ項目を備えている。
売価適用終了取消テーブル142は、「売価適用終了ID(主キー/外部キー)」及び「登録日時」のデータ項目を備えている。
(1)キー項目は一つに限定される。
(2)各テーブルにはレコードの追加のみが許容され、既存レコードの値の更新やレコードの削除は禁止される。
(3)各テーブルのカラムには、NULL値禁止制約、フラグ値禁止制約、区分値禁止制約が課せられる。
また、「売価適用開始取消」に関するデータも、通常であれば売価適用開始テーブル136において「売価適用開始取消フラグ」等のデータ項目が設けられ、各レコードに「1/0」等のフラグ値を充填することで状態が管理されるか、あるいは売価取消開始レコード自体が削除されるところであるが、売価適用開始取消テーブル140を売価適用開始テーブル136とは別個に設けることにより、売価適用開始取消の状態管理がなされている。要するに、この売価適用開始取消テーブル140に登録された売価適用開始IDが「取消」状態にあることとなり、レコードの有無によって取消の有無が表現されている。
図21(a)は、クライアント端末117のWebブラウザ上に表示された検索条件入力画面150を示しており、同画面150は商品ID、年月日、売価の項目を備えている。
これに対しユーザが、商品IDとして「A」を、年月日として「2010/10/03」を入力して検索ボタン152をクリックすると、これらの検索条件がWebサーバ112経由でAPサーバ114に送信される。
これを受けたデータ参照部118は、売価履歴管理部122に上記の検索条件を渡し、検索処理を依頼する。
つぎに売価履歴管理部122は、DBサーバ116から受信したデータから売価基本IDを抽出し、売価適用開始テーブル136及び売価適用終了テーブル138から対応の売価基本IDに係るデータの取得を依頼する内容のSQLをDBサーバ116に対して発行する。
図22は、DBサーバ116から送信されたデータに基づいて生成された商品ID:Aの売価適用情報を時系列に沿って並べた模式図である。
この売価適用情報が「削除」されていることは、具体的には、売価適用開始取消テーブル140及び売価適用終了取消テーブル142に、対応の売価適用開始ID及び売価適用終了IDが登録されていることから判定される(詳細は後述)。
同様に、実線で表示された(3)の売価適用情報は、売価が600円、適用開始日が「2010/10/01」、適用終了日が「2010/12/25」、登録日が「2010/08/15」であり、削除されていないことを示している。
同じく実線で表示された(4)の売価適用情報は、売価が500円、適用開始日が「2010/11/01」、適用終了日が「2010/12/25」、登録日が「2010/10/25」であり、削除されていないことを示している。
同じく実線で表示された(5)の売価適用情報は、売価が500円、適用開始日が「2010/11/01」、適用終了日が「2011/01/31」、登録日が「2010/12/25」であり、削除されていないことを示している。
売価履歴管理部122は、各売価適用開始データ及び売価適用終了データの登録日時を比較し、同一の登録日時を備えた両データを抽出することにより、有効期間の始期と終期を備えた売価適用情報を生成する。
ただし、このように適用期間が重複している複数の売価適用情報が併存する場合には、登録日時が後の売価適用情報が優先されるルールに従い、売価履歴管理部122は(3)の売価適用情報の「600円」を「2010年10月3日」における有効な売価と認定し、データ参照部118に出力する。
この結果、Webサーバ112からクライアント端末117に対して、検索結果画面が送信される。
図21(b)は、クライアント端末117のWebブラウザ上に表示された検索結果画面154を示すものであり、「売価」の項目に「600」(円)の値が表示されている。
これによりユーザは、商品ID:Aの商品を売価600円で販売した期間を認識することが可能となる。
リストアップされた各売価適用情報は、No、売価、適用開始、適用終了、登録日時の表示項目を備えている。
この表示用データも、売価履歴管理部122によって生成される。
まず売価履歴管理部122は、DBサーバ116に対して「商品ID:A/売価:550円」の売価基本データが既に登録されているか否かを照会するSQLを発行する。
ここで、「商品ID:A/売価:550円」の売価基本データが売価基本テーブル134に存在した場合、当該売価基本データの売価基本IDに関連付けた売価適用開始データ(適用開始日:2010/11/01)を売価適用開始テーブル136に追加することを求めるSQLと、同売価基本IDを指定した売価適用終了データ(適用終了日:2010/12/25)を売価適用終了テーブル138に追加することを求めるSQLを、DBサーバ116に発行する。
つぎに売価履歴管理部122は、DBサーバ116から上記売価基本データの売価基本IDを取得した後、当該売価基本IDを指定した売価適用開始データ(適用開始日:2010/11/01)を売価適用開始テーブル136に追加することを求めるSQLと、同売価基本IDを指定した売価適用終了データ(適用終了日:2010/12/25)を売価適用終了テーブル138に追加することを求めるSQLを、DBサーバ116に発行する。
ユーザは、売価と共に適用開始日及び適用終了日の修正を同時にリクエストすることも当然に可能である。
まず売価履歴管理部122は、DBサーバ116に対して、NO.0014の売価適用情報に係る売価適用開始IDを売価適用開始取消テーブル140に格納することを求めるSQLを、DBサーバ116に発行する。
同時に売価履歴管理部122は、DBサーバ116に対して、上記売価適用情報に係る売価適用終了IDを売価適用終了取消テーブル142に格納することを求めるSQLを、DBサーバ116に発行する。
以上の結果、売価基本ID:0014の売価履歴データは、論理的に削除された状態となる。
図示は省略したが、この新規登録画面は図24に示した詳細画面160と同様、商品ID、売価、適用開始、適用終了の項目を備えている。ただし、各項目には文字列が充填されてはおらず、空白となされている。
まず売価履歴管理部122は、DBサーバ116に対して、入力された商品ID及び売価を備えた売価基本データが既に登録されているか否かを照会するSQLを発行する。
ここで、該当の売価基本データが売価基本テーブル134に存在した場合、売価履歴管理部122は、当該売価基本データの売価基本ID及び入力された売価適用開始日を備えた売価適用開始データを売価適用開始テーブル136に追加することを求めるSQLと、同売価基本ID及び入力された売価適用終了データを売価適用終了テーブル138に追加することを求めるSQLを、DBサーバ116に発行する。
つぎに売価履歴管理部122は、DBサーバ116から上記売価基本データの売価基本IDを取得した後、当該売価基本ID及び入力された売価適用開始日を備えた売価適用開始データを売価適用開始テーブル136に追加することを求めるSQLと、同売価基本ID及び入力された売価適用終了日を備えた売価適用終了データを売価適用終了テーブル138に追加することを求めるSQLを、DBサーバ116に発行する。
そして、DBサーバ116に格納された各テーブルにアクセスするためには、それぞれのテーブル構成(「売価基本テーブル」等のテーブル名や、「売価」等のカラム名)を認識している必要がある。このため、売価履歴管理部122は文字通り売価履歴の管理機能に特化されたものであり、これを税率履歴管理システムなどとして流用することはできない。
このため、この第1の履歴管理システム110にあっては、各テーブルの設定時に当該テーブルの構成にマッチした「…履歴管理部」を、自動生成する機能を備えている。
ユーザは、このテーブル設定画面上で、テーブルの名称(売価基本テーブル等)、データ項目名(売価基本ID等)、データ型、桁数等を指定し、テーブル設定部124に送信する。
これを受けたデータベース管理システム132は、この設定データに従って新規のテーブル(売価基本テーブル134、売価適用開始テーブル136、売価適用終了テーブル138、売価適用開始取消テーブル140、売価適用終了取消テーブル142)をDBサーバ116の記憶装置内に生成する。
これらクラスの実体は、対応テーブルの名称、データ項目、データ型、桁数等が記述されたプログラムである。
すなわち、データアクセス汎用部品130は、「…履歴管理部」が共通して実行すべき処理ロジックの部分のコードを備えたプログラム部品であり、これに対して処理対象となる売価基本テーブル等の具体的な構成を組み込むことにより、当該売価履歴データの管理に特化した売価履歴管理部122が生成される。
また、データアクセス汎用部品130のコーディング自体は人間の手によってなされるものであるが、汎用的に使い回すことができるため、事前に厳重なテストを施し、バグを徹底的に潰しておけば、「…履歴管理部」を生成する都度、テストを実施する必要がない。
以上のことから、操作対象となる各テーブルの構成に特化した各種履歴管理部を生成する度にテストを実施する必要がないということになる。
この場合、まずユーザは、クライアント端末117からテーブル設定部124にアクセスし、新規テーブルの作成をリクエストする。この結果、テーブル設定画面がクライアント端末117に送信され、Webブラウザ上に表示される(図示省略)。
ユーザは、このテーブル設定画面上で、テーブルの名称(税率基本テーブル等)、データ項目名(税率基本ID等)、データ型、桁数等を指定し、テーブル設定部124に送信する。
これを受けたデータベース管理システム132は、この設定データに従って税率の履歴管理に特化したテーブルとして、税率基本テーブル176、税率適用開始テーブル177、税率適用終了テーブル178、税率適用開始取消テーブル179、税率適用終了取消テーブル180を、DBサーバ116の記憶装置内に生成する。
まず、税率基本テーブル176は、「税率基本ID(主キー)」、「国ID(外部キー)」、「税率」及び「登録日時」のデータ項目を備えている。
また、税率適用開始テーブル177は、「税率適用開始ID(主キー)」、「税率基本ID(外部キー)」、「適用開始日」及び「登録日時」のデータ項目を備えている。
税率適用終了テーブル178は、「税率適用終了ID(主キー)」、「税率基本ID(外部キー)」、「適用終了日」及び「登録日時」のデータ項目を備えている。
税率適用開始取消テーブル179は、「税率適用開始ID(主キー/外部キー)」及び「登録日時」のデータ項目を備えている。
税率適用終了取消テーブル180は、「税率適用終了ID(主キー/外部キー)」及び「登録日時」のデータ項目を備えている。
(1)キー項目は一つに限定される。
(2)各テーブルにはレコードの追加のみが許容され、既存レコードの値の更新やレコードの削除は禁止される。
(3)各テーブルのカラムには、NULL値禁止制約、フラグ値禁止制約、区分値禁止制約が課せられる。
これ以降、この第1の履歴管理システム110は税率履歴管理システムとして機能し、税率基本テーブル176、税率適用開始テーブル177、税率適用終了テーブル178、税率適用開始取消テーブル179、税率適用終了取消テーブル180に対応のデータが蓄積されていく。
図27(a)は、クライアント端末117のWebブラウザ上に表示された検索条件入力画面187を示しており、同画面187は国ID、年月日、税率の項目を備えている。
これに対しユーザが、国IDとして「JP」を、年月日として「2009/01/03」を入力して検索ボタン188をクリックすると、これらの検索条件がWebサーバ112経由でAPサーバ114に送信される。
これを受けたデータ参照部118は、税率履歴管理部186に上記の検索条件を渡し、検索処理を依頼する。
つぎに税率履歴管理部186は、DBサーバ116から受信したデータから税率基本IDを抽出し、税率適用開始テーブル177及び税率適用終了テーブル178から対応の税率基本IDに係るデータの取得を依頼する内容のSQLをDBサーバ116に対して発行する。
データ参照部118は、この検索結果データをWebサーバ112に送信する。
この結果、Webサーバ112からクライアント端末117に対して、検索結果画面が送信される。
図27(b)は、クライアント端末117のWebブラウザ上に表示された検索結果画面189を示すものであり、「税率」の項目に「5」(%)の値が表示されている。
これに対し、第1の履歴管理システム110の場合には、時限データの履歴管理のためのテーブルを、「基本テーブル」、「適用開始テーブル」、「適用終了テーブル」、「適用開始取消テーブル」、「適用終了取消テーブル」の5つに統一すると共に、履歴管理の処理ロジックをデータアクセス汎用部品130として共通化しておき、これに具体的なテーブル構成を適用することにより、各種の時限データに特化した履歴管理部を自動生成する仕組みを備えている。
この結果、個別に履歴管理システムを構築したりテストを実施したりする手間が省けることはもちろん、時限データの種類を問わず共通の仕組みを備えることにより、メンテナンス性が向上する利点が生じる。
他のテーブルの構成は、図20に示したものと同じである。
これに対し、売価適用開始ID及び売価適用終了IDの項目を備えた売価適用期間テーブル191を設けることにより、両データを別個のタイミングで登録しても、有効期間を正しく管理することが可能となる。
つぎにデータベース管理システム132は、売価適用開始テーブル136に売価基本ID及び適用開始日(2010/09/01)を備えたレコードを追加する。
図31(1)は、「適用開始日」のみが登録された売価履歴データを示している。
そして、このリスト中からユーザが「商品ID:A/売価:700/適用開始日:2010/09/01」の売価適用情報にチェックを入れ、修正ボタンをクリックすると、図30(b)に示すように、当該売価適用情報の詳細画面160が表示される。
この売価適用情報の適用開始日と適用終了日の関連付けは、売価履歴管理部122が、DBサーバ116から送信された各売価適用開始データの適用開始IDと売価適用終了データの適用終了IDが一の売価適用期間データ中に揃って登録されているか否かをチェックすることにより、実現される。
これを受けたデータベース管理システム132は、この設定データに従って新規のテーブル(売価基本テーブル134、売価適用開始テーブル136、売価適用終了テーブル138、売価適用開始取消テーブル140、売価適用終了取消テーブル142、売価適用期間テーブル191)をDBサーバ116の記憶装置内に生成する。
これに対し、ユーザが図30(a)の新規登録画面195において適用開始日と適用終了日を同時に入力した場合、売価履歴管理部122はDBサーバ116に対し、最初から売価適用期間データを売価適用期間テーブル191に登録することを依頼する。
例えば、図33(1)に示すように、2011年4月1日に「商品ID:B/売価:1700円/適用開始日:2011/09/01」の売価適用開始データが先に登録されていた場合において、翌日(2011年4月2日)に「商品ID:B/売価:1700円/適用終了日:2012/03/31」の売価適用終了データを追加する必要性が生じた際には、図33(2)に示すように、「商品ID:B/売価:1700円/適用開始日:2011/09/01」の売価適用開始データと、「商品ID:B/売価:1700円/適用終了日:2012/03/31」の売価適用終了データを同時に登録する。
以下、図34のフローチャートに従い、この場合における売価履歴管理部122の処理手順を説明する。
この際、売価履歴管理部122は、売価適用開始データ201及び売価適用開始取消データ202に割り振られた売価適用開始IDに基づいて、照合対象を特定する。
上記の有効売価適用開始データ203は、少なくとも売価適用開始ID、売価基本ID、適用開始日を含んでいる。
この際、売価履歴管理部122は、売価適用終了データ205及び売価適用終了取消データ206に割り振られた売価適用終了IDに基づいて、照合対象を特定する。
上記の有効売価適用終了データ207は、少なくとも売価適用終了ID、売価基本ID、適用終了日を含んでいる。
この有効売価適用開始・終了データ209は、少なくとも売価基本ID、適用開始日及び適用終了日を含んでいる。
以下、図36のフローチャートに従い、この場合における売価履歴管理部122の処理手順を説明する。
この際、売価履歴管理部122は、売価適用開始データ201及び売価適用開始取消データ202に割り振られた売価適用開始IDに基づいて照合対象を特定する。
上記の有効売価適用開始データ203は、少なくとも売価適用開始ID、売価基本ID、適用開始日を含んでいる。
この際、売価履歴管理部122は、売価適用終了データ205及び売価適用終了取消データ206に割り振られた売価適用開始IDに基づいて照合対象を特定する。
上記の有効売価適用終了データ207は、少なくとも売価適用終了ID、売価基本ID、適用終了日を含んでいる。
この際、売価履歴管理部122は、有効売価適用開始データ203及び売価適用期間データ215に格納された売価適用開始IDに基づいて照合対象を特定する。
上記の有効売価適用開始+終了IDデータ216は、少なくとも売価適用開始ID、売価基本ID、適用開始日、売価適用終了IDを含んでいる。
この際、売価履歴管理部122は、有効売価適用開始データ203及び売価適用期間データ215に格納された売価適用開始IDに基づいて照合対象を特定する。
この際、売価履歴管理部122は、有効売価適用終了データ207及び有効売価適用開始+終了IDデータ216に格納された売価適用終了IDに基づいて照合対象を特定する。
上記の有効売価適用開始・終了データ209は、少なくとも売価基本ID、適用開始日及び適用終了日を含んでいる。
この際、売価履歴管理部122は、有効売価適用終了データ207及び有効売価適用開始+終了IDデータ216に格納された売価適用終了IDに基づいて照合対象を特定する。
このため、複数のデータを「多対多」の関係で総当たり式に照合する場合に比べて、処理量を大幅に削減することが可能となる。
これに対し、上記のように照合処理を複数の除外処理と結合処理に分解することにより、処理毎に別個のCPUコアを割り当てることが可能となり、マルチコアCPUを利用した処理の効率化を促進することが可能となる。
具体的には、請求項13における「相互に値が異なる複数の同種データを、第1の結合対象データとして格納しておく第1の結合対象記憶手段」には、「複数の売価適用開始データを格納した売価適用開始テーブル136」が該当する。
12 Webサーバ
13 ロードバランサ
14 APサーバ
16 DBサーバ
17 インターネット
18 クライアント端末
19 テーブル群
20 検索条件分割処理部
22 検索処理部
24 データ加工処理部
26 検索結果統合処理部
27 追加データ受付部
28 登録処理部
30 CPUコア
32 スレッド
34 スレッドプール
36 タスク
40 顧客管理テーブル
42 予約管理テーブル
44 売上管理テーブル
46 予約取消管理テーブル
48 請求管理テーブル
50 第1のスレッドプール
52 第2のスレッドプール
60 インデックスサーバ
61 DB管理システム
62 当日分データ記憶領域
63 過去分データ記憶領域
64 インデックス生成部
65 インデックス記憶部
66 インデックス提供部
70 バッファ・キャッシュ領域
74 テーブル記憶領域
76 更新ログ記憶領域
78 ブロック
79 更新ログ
80 商品テーブル
81 関連テーブル
82 店舗テーブル
83 会員テーブル
84 住所テーブル
85 購入テーブル
86 関連テーブル
110 時限データの第1の履歴管理システム
212 Webサーバ
114 APサーバ
116 DBサーバ
217 クライアント端末
218 データ参照部
220 データ更新部
122 売価履歴管理部
124 テーブル設定部
126 型生成部
127 型格納部
128 コンパイラ
130 データアクセス汎用部品
132 データベース管理システム
134 売価基本テーブル
136 売価適用開始テーブル
138 売価適用終了テーブル
140 売価適用開始取消テーブル
142 売価適用終了取消テーブル
150 検索条件入力画面
152 検索ボタン
154 検索結果画面
156 検索結果画面
158 修正ボタン
160 詳細画面
162 登録ボタン
164 削除ボタン
166 追加ボタン
170 売価基本クラス
171 売価適用開始クラス
172 売価適用終了クラス
173 売価適用開始取消クラス
174 売価適用終了取消クラス
176 税率基本テーブル
177 税率適用開始テーブル
178 税率適用終了テーブル
179 税率適用開始取消テーブル
180 税率適用終了取消テーブル
181 税率基本クラス
182 税率適用開始クラス
183 税率適用終了クラス
184 税率適用開始取消クラス
185 税率適用終了取消クラス
186 税率履歴管理部
187 検索条件入力画面
188 検索ボタン
189 検索結果画面
190 時限データの第2の履歴管理システム
191 売価適用期間テーブル
193 売価適用期間クラス
195 新規登録画面
196 登録ボタン
201 売価適用開始データ
202 売価適用開始取消データ
203 有効売価適用開始データ
205 売価適用終了データ
206 売価適用終了取消データ
207 有効売価適用終了データ
209 有効売価適用開始・終了データ
210 有効売価適用開始(終了無し)データ
211 有効売価適用終了(開始無し)データ
212 マッチング処理
215 売価適用期間データ
216 有効売価適用開始+終了IDデータ
217 結合処理
218 除外処理
219 結合処理
220 除外処理
222 検索結果画面
Claims (1)
- 相互に値が異なる複数の同種データを、第1の結合対象データとして格納する第1の結合対象記憶手段と、
相互に値が異なる複数の同種データを、上記第1の結合対象データとは種類を異にする第2の結合対象データとして格納する第2の結合対象記憶手段と、
特定の第1の結合対象データのIDと、当該第1のデータの結合対象となるべき特定の第2の結合対象データのIDとを、1対1で関連付けた関連データを格納する関連記憶手段と、
上記第1の結合対象記憶手段及び第2の結合対象記憶手段に、結合対象となるべき第1の結合対象データ及び第2の結合対象データが、同一または異なるタイミングで揃った時点で、上記関連記憶手段に上記の関連データを登録する手段と、
検索リクエストが入力された際に、上記第1の結合対象記憶手段に格納された第1の結合対象データと、上記関連記憶手段に格納された関連データを照合し、第1の結合対象データの中で、そのIDを備えた関連データが存在するものを排除し、残りのデータを対応する第2の結合対象データが揃っていない第1の結合対象データとして出力する第1の除外処理を実行する手段と、
上記第1の結合対象記憶手段に格納された第1の結合対象データと、上記関連記憶手段に格納された関連データを照合し、第1の結合対象データの中で、そのIDを備えた関連データが存在するものについては、当該関連データに記録された第2の結合対象データのIDを当該第1の結合対象データの少なくとも一部に追加した中間データを生成する第1の結合処理を実行する手段と、
上記第2の結合対象記憶手段に格納された第2の結合対象データと、上記中間データを照合し、第2の結合対象データの中で、そのIDを備えた中間データが存在するものについては、当該中間データに当該第2の結合対象データの少なくとも一部のデータ項目の値を追加した結合データを出力する第2の結合処理を実行する手段と、
上記第2の結合対象記憶手段に格納された第2の結合対象データと、上記中間データを照合し、第2の結合対象データの中で、そのIDを備えた中間データが存在するものを排除し、残りのデータを対応する第1の結合対象データが揃っていない第2の結合対象データとして出力する第2の除外処理を実行する手段と、
を備えたことを特徴とするデータ処理システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/056407 WO2013136442A1 (ja) | 2012-03-13 | 2012-03-13 | データ利用システム、時限データの履歴管理システム及びデータ処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013136442A1 JPWO2013136442A1 (ja) | 2015-08-03 |
JP5878232B2 true JP5878232B2 (ja) | 2016-03-08 |
Family
ID=49160411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014504532A Expired - Fee Related JP5878232B2 (ja) | 2012-03-13 | 2012-03-13 | データ処理システム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5878232B2 (ja) |
WO (1) | WO2013136442A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6111186B2 (ja) * | 2013-12-03 | 2017-04-05 | 日本電信電話株式会社 | 分散情報連携システムとそのデータ操作方法及びプログラム |
JP2015165357A (ja) * | 2014-03-03 | 2015-09-17 | 株式会社野村総合研究所 | データ管理システム |
CN104765800A (zh) * | 2015-03-30 | 2015-07-08 | 浪潮集团有限公司 | 一种基于大数据的高效搜索方法 |
SG11201707971YA (en) * | 2015-03-30 | 2017-10-30 | Nomura Res Inst Ltd | Data processing system |
CN112507100B (zh) * | 2020-12-18 | 2023-12-22 | 北京百度网讯科技有限公司 | 一种问答系统的更新处理方法和装置 |
KR102624467B1 (ko) * | 2021-07-28 | 2024-01-15 | 비전과가치 주식회사 | 쇼핑몰 데이터 가공 시스템 및 그의 데이터 가공 방법 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3033444B2 (ja) * | 1994-07-26 | 2000-04-17 | 三菱電機株式会社 | データベース比較方法 |
JP3584630B2 (ja) * | 1996-09-20 | 2004-11-04 | 株式会社日立製作所 | データベース処理システムにおける分類集計処理方法 |
JP2000267908A (ja) * | 1999-03-18 | 2000-09-29 | Nec Corp | データベース管理システム及びその管理方法並びに管理プログラムを格納した記憶媒体 |
JP2001159993A (ja) * | 1999-12-03 | 2001-06-12 | Hitachi Ltd | 任意時刻の状態を参照できるデータの記憶方法及び装置 |
JP2004062566A (ja) * | 2002-07-30 | 2004-02-26 | Jmnet Inc | データベースシステム及びそれを構成するマスターノード装置及びプログラム |
JP4373166B2 (ja) * | 2003-09-18 | 2009-11-25 | 大日本印刷株式会社 | 商品情報データベース |
JP4611830B2 (ja) * | 2005-07-22 | 2011-01-12 | 優 喜連川 | データベース管理システム及び方法 |
JP2007108912A (ja) * | 2005-10-12 | 2007-04-26 | Matsushita Electric Ind Co Ltd | データ管理装置、データ管理方法およびデータ管理プログラム |
JP4914117B2 (ja) * | 2006-05-22 | 2012-04-11 | 株式会社野村総合研究所 | データ処理システム |
JP4777386B2 (ja) * | 2008-05-21 | 2011-09-21 | 株式会社エヌ・ティ・ティ・ドコモ | データベースシステム及びデータベースサーバ装置 |
JP5199317B2 (ja) * | 2010-08-25 | 2013-05-15 | 株式会社日立製作所 | データベース処理方法、データベース処理システム及びデータベースサーバ |
JP5425028B2 (ja) * | 2010-09-13 | 2014-02-26 | 株式会社野村総合研究所 | データ検索システム及びプログラム |
-
2012
- 2012-03-13 JP JP2014504532A patent/JP5878232B2/ja not_active Expired - Fee Related
- 2012-03-13 WO PCT/JP2012/056407 patent/WO2013136442A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JPWO2013136442A1 (ja) | 2015-08-03 |
WO2013136442A1 (ja) | 2013-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5878232B2 (ja) | データ処理システム | |
CN107391653B (zh) | 一种分布式NewSQL数据库系统及图片数据储存方法 | |
US9898549B1 (en) | Tenant-aware database for software as a service | |
US9576028B2 (en) | Managing data queries | |
He et al. | Comet: batched stream processing for data intensive distributed computing | |
US8086564B2 (en) | Techniques for the logical replication of high-level procedures | |
US8010521B2 (en) | Systems and methods for managing foreign key constraints | |
US9529881B2 (en) | Difference determination in a database environment | |
US9508048B2 (en) | System and method for integrated real time reporting and analytics across networked applications | |
JP5608633B2 (ja) | データ利用システム | |
Yabandeh et al. | A critique of snapshot isolation | |
JP5727258B2 (ja) | 分散型データベースシステム | |
JP5238915B1 (ja) | 分散型データベースシステム | |
US20080249988A1 (en) | Computer programming method and system for performing a reversal of selected structured query language operations within a database transaction | |
Challawala et al. | MySQL 8 for Big Data: Effective Data Processing with MySQL 8, Hadoop, NoSQL APIs, and Other Big Data Tools | |
JP5474743B2 (ja) | プログラム開発支援システム | |
Vanier et al. | Advanced MySQL 8: Discover the full potential of MySQL and ensure high performance of your database | |
CN104111962A (zh) | 具有批量操作的增强型事务高速缓存 | |
JP5604478B2 (ja) | データ利用システム | |
US20200218712A1 (en) | Method for creating a Database Management System | |
Schönig | Mastering PostgreSQL 12: Advanced techniques to build and administer scalable and reliable PostgreSQL database applications | |
US10572483B2 (en) | Aggregate projection | |
JP5604403B2 (ja) | データ利用システム | |
JP5681781B2 (ja) | データ利用システム | |
Li et al. | Efficient time-interval data extraction in MVCC-based RDBMS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140826 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151221 |
|
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: 20160122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160127 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5878232 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |