JP5956064B2 - 計算機システム、データ管理方法、及び計算機 - Google Patents
計算機システム、データ管理方法、及び計算機 Download PDFInfo
- Publication number
- JP5956064B2 JP5956064B2 JP2015509635A JP2015509635A JP5956064B2 JP 5956064 B2 JP5956064 B2 JP 5956064B2 JP 2015509635 A JP2015509635 A JP 2015509635A JP 2015509635 A JP2015509635 A JP 2015509635A JP 5956064 B2 JP5956064 B2 JP 5956064B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory store
- range
- processed
- time stamp
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
- G06F16/1767—Concurrency control, e.g. optimistic or pessimistic approaches
- G06F16/1774—Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、ビックデータを処理する計算機システム、データ管理方法、及び計算機に関する。
現在、多種多様かつ大量のデータ、すなわち、ビックデータを処理するためのシステムが普及している。当該システムでは、端末等から送信されるリアルタイムなデータから必要なデータを取得する等の処理が実行される。本明細書では、前述した処理をリアルタイムデータ処理と記載する。
また、当該システムでは、リアルタイムデータの処理結果をデータベースに格納し、過去のデータを分析される。本明細書では、前述した処理を履歴分析処理と記載する。
従来、処理結果を格納するデータベースは、複数のディスク装置上に構築されているため、データベースへのデータの書込処理が遅い。したがって、データの書込処理の遅延に伴って、リアルタイムデータ処理の処理性能が低下する。したがって、リアルタイムデータ処理におけるリアルタイム性を保障できないという問題があった。
前述の課題を解決する技術として、高速なアクセスが可能なメモリに全てのデータを格納するインメモリデータベースが知られている。しかし、メモリ上に全てのデータを格納する場合、多くのメモリが必要となるため設備コストが増大するという問題がある。
そこで、リアルタイムデータ処理の処理性能を確保し、かつ、設備コストを抑えるシステムとして、特許文献1及び特許文献2等に記載された技術が知られている。
特許文献1には、ディスク記録媒体に対し、動画像などのデータ記録をリアルタイム性を確保しつつ実現するために、「動画像入力部4からのデータを一時記憶手段に蓄積し、データ蓄積量検出手段によりデータが一定量蓄積されたことを検出して外部のシステム制御部6からの制御なしにディスク記録再生処理手段はディスク記録媒体へのデータ記録を実行する」ことが記載されている。
特許文献2には、監視対象の状態を表すデータを解析し、診断・推論を行い、これを長時間にわたり連続的にリアルタイム性を損なうことなく実行し、ユーザに結果を知らせるために、「入力データを時系列に履歴データとして格納を行う共有メモリの要素バッファに格納する。要素バッファの格納上限数を越えて格納する場合、データの不確実性を取り除くノイズ除去処理と合わせて、ノイズ除去装置により当該要素バッファの代表値を求め、これを別の要素バッファに新しい代表値ほど上位に格納する」ことが記載されている。
システムでは、リアルタイムデータの処理、及び分析処理のほかに、現在のデータから短時間さかのぼった範囲に含まれるデータを用いた処理が求められている。本明細書では、前述した処理を状態監視処理と記載する。
状態監視処理では、データベースに格納されるデータにアクセスする必要がある。また、状態監視処理の実行頻度は履歴分析処理より多い。このため、データベースに対するアクセス負荷が増大し、履歴分析処理の処理性能に影響を与える。また、状態監視処理では、データベースにアクセスする必要があるため、高速な処理が実現できないという問題もある。
本発明は、前述したような課題に鑑みてなされた発明である。すなわち、リアルタイムイベント処理、状態監視処理、及び履歴分析処理を最適化したシステム、方法、及び装置を提供することを目的とする。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数の計算機、及びストレージシステムを備え、外部装置から送信されるデータを処理する計算機システムであって、前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続されるネットワークインタフェースを有し、前記ストレージシステムは、コントローラ、及び記憶媒体を有し、前記外部装置から送信されるデータにはタイムスタンプが含まれ、前記計算機システムは、前記外部装置から送信されるデータを処理する第1データ処理部と、一つ以上の前記計算機が有する前記メモリの記憶領域上に構築され、前記第1データ処理部によって処理された処理済みデータを一時的に格納するメモリストアと、前記ストレージシステムが有する記憶媒体の記憶領域上に構築され、前記処理済みデータを格納するデータベースと、前記メモリストアに格納される前記処理済みデータを管理し、前記メモリストアに対する読出処理及び書込処理を制御するメモリストア制御部と、前記データベースを管理し、前記データベースに対する読出処理及び書込処理を制御するデータベース管理部と、前記メモリストアに格納される前記処理済みデータのうち、第1データ範囲に含まれる前記処理済みデータを用いて所定の処理を実行する第2データ処理部と、前記データベースに格納される前記処理済みデータのうち、前記第1データ範囲よりデータ範囲が大きい第2データ範囲に含まれる前記処理済みデータを用いて所定の処理を実行する第3データ処理部と、を備え、前記メモリストア制御部は、前記データベースに書き込む前記処理済みデータの時間範囲である第3データ範囲を特定し、前記メモリストアから前記特定された第3データ範囲に含まれる前記処理済みデータを取得し、前記データベースへの前記取得された処理済みデータの書込要求を前記データベース管理部に送信し、前記第1データ範囲及び前記第3データ範囲に基づいて、前記メモリストアに一時的に格納される前記処理済みデータのうち、削除可能な前記処理済みデータを特定することを特徴とする。
本発明によれば、第1データ処理部が実行する処理、第2データ処理部が実行する処理、及び第3データ処理部が実行する処理の処理性能を最適化し、かつ、メモリストアの容量を確保することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
以下、本発明の実施例を添付図面に基づいて説明する。
(実施例1)
図1は、本発明の実施例1における計算機システムの構成を示すブロック図である。
図1は、本発明の実施例1における計算機システムの構成を示すブロック図である。
実施例1の計算機システム100は、複数のサーバから構成される。計算機システム100は、ネットワーク102を介してデータソース101と接続される。
データソース101には、計算機システムにおいて処理されるデータを送信する端末、無線基地局、及びネットワーク装置等が含まれる。本発明は、データソース101から送信されるデータの種別に限定されない。
計算機システム100には、サーバ110、サーバ120、サーバ130、サーバ140、サーバ150、サーバ160、及びサーバ170が含まれる。
サーバ110は、リアルタイムデータ処理部111が稼働する計算機である。リアルタイムデータ処理部111は、データソース101から現在送信されているデータ、すなわち、リアルタイムなデータを用いて、所定の処理を実行する。また、リアルタイムデータ処理部111は、サーバ120及びサーバ140に処理結果を送信する。
例えば、リアルタイムデータ処理部111は、所定のクエリに基づいてデータソース101から送信されるデータを統合又は分類するためのストリームデータ処理を実行する。なお、本発明は、リアルタイムデータ処理部111が実行する処理に限定されない。
サーバ140は、イベント処理部141が稼働する計算機である。イベント処理部141は、リアルタイムイベント処理を実行する。具体的には、イベント処理部141は、リアルタイムデータ処理部111から送信されたデータに基づいて、所定のイベントを検出し、検出されたイベントに対応する処理を実行する。
例えば、イベント処理部141は、位置データに基づいて端末等に広告メール等を配信する。なお、本発明はイベント処理部141が実行する処理に限定されない。
サーバ120は、メモリストア制御部121が稼働する計算機である。メモリストア制御部121は、複数のサーバ120が備えるメモリ上に構成されるメモリストア122を管理する。
メモリストア122は、複数のサーバ120が備えるメモリが仮想的に統合された一つの記憶領域上に構築されるデータベースである。本実施例では、メモリストア122には、リアルタイムデータ処理部111から送信されたデータが一時的に格納される。
メモリストア制御部121は、後述する処理にしたがって、メモリストア122に格納されるデータを履歴DB136に書き込み、また、メモリストア122に格納されるデータを削除する。
サーバ140は、状態監視部151が稼働する計算機である。状態監視部151は、メモリストア122に格納されるデータを用いて状態分析処理を実行する。
例えば、状態監視部151は、一定時間内における各地域の人口の密集を示すヒートマップを生成するための状態監視処理を実行する。なお、本発明は状態監視部151が実行する処理に限定されない。
サーバ130は、履歴DB管理部131が稼働する計算機である。サーバ130には、複数のストレージ装置135が接続される。本実施例では、複数のストレージ装置135の記憶領域上に履歴DB136が構築される。ストレージ装置135としては、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等が考えられる。
なお、ストレージ装置135の代わりに、複数のストレージ装置135を有するストレージシステムを用いてもよい。ストレージシステムは、プロセッサ(図示省略)及びメモリ(図示省略)を含むコントローラ(図示省略)、ディスクインタフェース(図示省略)、及び複数のストレージ装置135を備える。
履歴DB管理部131は、リアルタイムデータ処理部111から送信されたデータを履歴DB136に格納する。また、履歴DB管理部131は、他のサーバからの要求に応じて履歴DB136から所定のデータを読み出し、当該他のサーバに読み出されたデータを送信する。
サーバ160は、履歴分析部161が稼働する計算機である。履歴分析部161は、履歴DB136からデータを取得し、取得されたデータを用いて履歴分析処理を実行する。
例えば、履歴分析部161は、各地域の一週間分の人口の分布を算出するための履歴分析処理を実行する。なお、本発明は履歴分析部161が実行する処理に限定されない。
サーバ170は、運用管理部171が稼働する計算機である。運用管理部171は、計算機システム100全体を管理する。例えば、サーバの配置、及びサーバの構成を管理し、また、サーバの負荷等を監視する。
なお、計算機システム100は、管理者が操作するクライアント端末等を備えていてもよい。
本発明では、前述したように、状態監視部151はメモリストア122にアクセスすることによって状態監視処理を実行し、履歴分析部161は履歴DB136にアクセスすることによって履歴分析処理を実行する。これによって、履歴DB136に対するアクセス負荷の増大を抑制し、かつ、状態監視部151の処理性能を向上させることができる。
図2は、本発明の実施例1の計算機システム100における処理の流れを示す説明図である。
リアルタイムデータ処理部111は、所定のクエリに基づいて、データソース101から入力されたデータの処理を実行する。リアルタイムデータ処理部111は、処理結果をイベント処理部141及びメモリストア122に送信する。
メモリストア制御部121は、リアルタイムデータ処理部111から受信したデータをメモリストア122に格納する。リアルタイムデータ処理部111は、所定のタイミングになった場合、メモリストア122に格納されるデータを履歴DB136に書き込む。また、メモリストア制御部121は、所定の条件を満たした場合に、メモリストア122に格納されるデータを削除する。
イベント処理部141はリアルタイムなデータを用いて処理を実行し、状態監視部151は現在から一定時間さかのぼった時間範囲に含まれるデータを用いて処理を実行し、履歴分析部161は所定の時間範囲の過去のデータを用いて処理を実行する。例えば、状態監視部151は現時刻から2時間さかのぼった時間内に含まれるデータを用いて所定の処理を実行し、履歴分析部161は、0時から15時までの時間範囲に含まれるデータを用いて所定の処理を実行する。
イベント処理部141、状態監視部151、及び履歴分析部161が処理するデータの範囲が異なるため、メモリストア122から履歴DB136へのデータの書き込みタイミング、及びメモリストア122からのデータの削除タイミングを調整する必要がある。
例えば、メモリストア制御部121は、メモリストア122に格納されるデータを履歴DB136に書き込んだ後、すぐに、当該データを削除した場合、状態監視部151は、履歴DB136からデータを読み出す必要があるため、処理性能が低下する。
さらに、メモリストア122に格納されるデータの容量がしきい値以上になった場合に、所定のデータが履歴DB136に書き込まれる場合、前述と同様の問題が発生する。
また、メモリストア制御部121は、逐次、状態監視部151が処理を完了したデータを履歴DB136に書き込む場合、頻繁にサーバ120とサーバ130との間の通信が発生するため、計算機システム100全体の処理性能が低下する。また、メモリストア122の容量を増加させるのはコストが増大するという問題もある。
したがって、メモリストア122から履歴DB136へのデータの書き込むタイミング、及びメモリストア122からのデータの削除タイミングを最適化にする必要がある。
図3は、本発明の実施例1におけるサーバの構成の一例を示すブロック図である。図3では、サーバ120の構成について説明する。
サーバ120は、プロセッサ301、メモリ302、及びネットワークインタフェース303を備える。
プロセッサ301は、メモリ302に格納されるプログラムを実行する。プロセッサ301がプログラムを実行することによって、サーバ120が有する機能を実現することができる。以下、プログラムを主体に説明を記載する場合には、プロセッサ301によって当該プログラムが実行されていることを示す。
メモリ302は、プロセッサ301によって実行されるプログラム、及び当該プログラムの実行に必要なデータを格納する。また、サーバ120のメモリ302は、メモリストア122を構成する記憶領域を含む。
なお、説明の簡単のために、一つのサーバ120のメモリ302にメモリストア122が構築されているものとする。
メモリ302には、メモリストア制御部121、及びアクセスインタフェース310を実現するプログラムが格納される。
アクセスインタフェース310は、他のサーバがメモリストア122にアクセスするためのインタフェースを提供する。メモリストア制御部121は、アクセスインタフェース310が受け付けたアクセス要求(コマンド)を監視する。
また、メモリ302は、メモリストア122を含む。メモリストア122は、データ格納部320及びデータ管理情報330を含む。
データ格納部320は、リアルタイムデータ処理部111から送信されたデータを格納する。データ管理情報330は、データ格納部320に格納されるデータのうち、状態監視部151が実行する処理に必要なデータの範囲、及び履歴分析部161に書き込むデータの範囲を管理するための情報である。
なお、サーバ110、サーバ140、サーバ150、サーバ160、及びサーバ170のハードウェア構成はサーバ120と同一構成である。また、サーバ130は、プロセッサ301、メモリ302、及びネットワークインタフェース303の以外に、ストレージ装置135に接続するためのディスクインタフェースを備える。
また、サーバ110のメモリにはリアルタイムデータ処理部111を実現するためのプログラムが格納され、サーバ130のメモリには履歴DB管理部131を実現するためのプログラムが格納される。サーバ140のメモリには、イベント処理部141を実現するためのプログラムが格納され、サーバ150のメモリには、状態監視部151を実現するためのプログラムが格納され、サーバ160のメモリには、履歴分析部161を実現するためのプログラムが格納される。サーバ170のメモリには、運用管理部171を実現するためのプログラムが格納される。
図4は、本発明の実施例1のデータ格納部320に格納されるデータの一例を示す説明図である。図5A及び図5Bは、本発明の実施例1におけるメモリストア制御部121に対して設定されるパラメータの一例を示す説明図である。図6は、本発明の実施例1のアクセスインタフェース310を介して発行されるコマンドの一例を示す説明図である。
データ格納部320には、タイムスタンプ、及び各種属性カラムから構成されるデータ(レコード)が複数格納される。図4に示す例では、データ(レコード)は、タイムスタンプ、ユーザID、及び位置情報から構成される。
本実施例では、メモリストア制御部121は、履歴DB136への書き込み対象となるデータの範囲を書込データ範囲、状態監視部151の処理対象となるデータの範囲を処理データ範囲として管理する。
書込データ範囲は、複数のタイムゾーンから構成される。タイムゾーンは、予め設定された時間範囲である。例えば、0時から1時までの1時間がタイムゾーンとして設定される。
本実施例では、各タイムゾーンは、他のタイムゾーンと重なりがないように設定される。また、一つのタイムゾーンの始点(TZ_tail)と、隣接する他のタイムゾーンの終点(TZ_head)とが連続するように設定される。また、本実施例では、タイムゾーン単位にデータが履歴DB136に書き込まれる。
メモリストア制御部121には、タイムゾーンを管理するための情報として、タイムゾーンの始点、及びタイムゾーンの時間範囲を含むパラメータが設定される。
例えば、図5Aに示すようなパラメータが設定される。図5Aに示すパラメータが設定されることによって、メモリストア制御部121は、指定されたタイムスタンプの範囲をタイムゾーンとして管理する。
以下の説明では、タイムゾーンを管理するためのパラメータを第1のパラメータとも記載する。
図4に示す例では、タイムスタンプが「9/20 12:00:00」から「9/20 12:59:59」までの範囲がタイムゾーンTZ0として管理され、タイムスタンプが「9/20 13:00:00」から「9/20 13:59:59」までの範囲がタイムゾーンTZ1として管理され、タイムスタンプが「9/20 14:00:00」から「9/20 14:59:59」までの範囲がタイムゾーンTZ2として管理される。
また、メモリストア制御部121には、履歴DB136へのデータの書込処理に必要な情報として、書込処理のタイミング、及び書込対象のタイムゾーンを含むパラメータが設定される。
例えば、図5Bに示すようなパラメータが設定される。図5Bに示すパラメータが設定されることによって、毎時10分に、最新のタイムゾーンから二つ前のタイムゾーンに含まれるデータが履歴DB136に書き込まれる。
以下の説明では、書込処理に必要なパラメータを第2のパラメータとも記載する。
処理データ範囲は、状態監視部151から指定された時間範囲である。より具体的には、処理データ範囲は、図6に示すようなコマンドを用いて指定される。なお、当該コマンドは、状態監視部151がアクセスインタフェース310に対して発行するコマンドである。
一つのコマンドは、タイムスタンプが最も新しいイベントデータから順に所定数のイベントデータを取得するためのコマンドである。図6に示すコマンドAは、タイムスタンプが最も新しいイベントデータをk個取得するコマンドである。
一つのコマンドは、所定時間又は所定時間範囲のイベントデータを取得するためのコマンドである。図6に示すコマンドBは、17:35から17:42までのイベントデータをk個取得するためのコマンドである。なお、時間は相対的な時間又は絶対的な時間の何れを用いてもよい。
一つのコマンドは、所定時間又は所定時間範囲の状態データを取得するためのコマンドである。図6に示すコマンドCは、現時刻から一分前の状態データをk個取得するためのコマンドである。
なお、前述したコマンドは一例であって、本発明はこれに限定されない。本実施例では、最も新しいタイムスタンプのデータを始点として過去にさかのぼった一時間分のデータを取得するためのコマンドが発行されるものとする。
図7は、本発明の実施例1のデータ管理情報330に含まれる情報の一例を示す説明図である。
データ管理情報330には、格納データ管理情報700、書込データ範囲管理情報710、及び処理データ範囲管理情報720を含む。
格納データ管理情報700は、メモリストア122に格納するデータを管理するための情報を格納する。具体的には、格納データ管理情報700は、処理種別701、及びタイムゾーン702を含む。
処理種別701は、処理の識別名を格納する。本発明では書込処理及び状態監視処理の二つのエントリが存在する。書込処理は、メモリストア122から履歴DB136へのデータの書込処理を示す。状態監視処理は、状態監視部151が実行する処理を示す。
タイムゾーン702は、タイムゾーンに含まれるデータの処理状態を示す情報を格納する。
書込処理のエントリのタイムゾーンのカラムには、当該タイムゾーンに含まれるデータの書込処理が完了したか否かを示す情報が格納される。具体的には、タイムゾーンに含まれるデータの書込処理が完了している場合、当該タームゾーンのカラムには「処理済」が格納され、タイムゾーンに含まれるデータの書込処理が完了していない場合、当該タイムゾーンのカラムには「未処理」が格納される。
状態監視処理のエントリのタイムゾーンのカラムには、当該タイムゾーンに含まれるデータに対して状態監視処理において使用されているか否かを示す情報が格納される。具体的には、状態監視処理においてタイムゾーンに含まれるデータが使用されている場合、当該データが含まれるタイムゾーンのカラムには「使用」が格納され、状態監視処理においてタイムゾーンに含まれる全てのデータが使用されていない場合、当該タイムゾーンのカラムには「未使用」が格納される。
なお、前述した情報を用いる代わりに、書込処理が完了したことを示すフラグ、及び状態監視処理がデータを使用していることを示すフラグを用いてもよい。
書込データ範囲管理情報710は、書込データ範囲を管理するための情報を格納する。具体的には、書込データ範囲管理情報710は、タイムゾーン711、TZ_head712、及びTZ_tail713を含む。
タイムゾーン711は、タイムゾーンの識別名を格納する。TZ_head712は、タイムゾーンに含まれるデータのタイムスタンプのうち、最も新しいタイムスタンプを格納する。TZ_tail713は、タイムゾーンに含まれるデータのタイムスタンプのうち、最も古いタイムスタンプを格納する。
処理データ範囲管理情報720は、処理データ範囲を特定するための情報を格納する。処理データ範囲管理情報720は、R_head721及びR_tail722を含む。
R_head721は、処理データ範囲の始点となるデータのタイムスタンプを格納する。R_tail722は、処理データ範囲の終点となるデータのタイムスタンプを格納する。
図8は、本発明の実施例1のメモリストア制御部121が実行する書込処理の一例を説明するフローチャートである。
メモリストア制御部121には、所定の書込タイミングになると、メモリストア122に格納されるデータのうち、対象タイムゾーンに含まれるデータを履歴DB136に書き込むために、以下で説明する書込処理を開始する。
メモリストア制御部121が稼働するサーバ120には、予め、図5Aに示すような第1パラメータが入力される。これによって、タイムゾーンを管理するための情報が設定される。また、メモリストア制御部121が稼働するサーバ120には、予め、図5Bに示すような第2のパラメータが入力される。これによって、書込タイミング、及び、対象タイムゾーンが設定される。この場合、メモリストア制御部121は、毎時10分に書込処理が開始し、最新のタイムゾーンから二つ前のタイムゾーンを対象タイムゾーンに決定する。
メモリストア制御部121は、処理を開始すると、メモリストア122から履歴DB136に書き込むデータを取得する(ステップS801)。具体的には、以下のような処理が実行される。
メモリストア制御部121は、第2のパラメータに含まれる対象タイムゾーンの値に基づいて書込データ範囲管理情報710を参照し、対象タイムゾーンに対応するエントリを検索する。
メモリストア制御部121は、対象タイムゾーンに対応するエントリのTZ_head712及びTZ_tail713を取得し、TZ_head712からTZ_tail713までの時間範囲に含まれるデータをデータ格納部320から取得する。
図7に示す例では、メモリストア制御部121は、最新のタイムゾーンTZ2から二つ前のタイムゾーンTZ0のエントリを検索し、データ格納部320からタイムゾーンTZ0に含まれるデータを取得する。
以上がステップS801の処理である。
次に、メモリストア制御部121は、取得されたデータを履歴DB136に書き込む(ステップS802)。
具体的には、メモリストア制御部121は、サーバ130の履歴DB管理部131に対して、取得されたデータを含む書込要求を送信する。なお、メモリストア122から取得されたデータの容量が大きい場合、メモリストア制御部121は、取得されたデータを複数回に分けて送信してもよい。
なお、履歴DB管理部131は、書込要求を受信すると、書込要求に含まれるデータを履歴DB136に書き込む。
メモリストア制御部121は、履歴DB136へのデータの書き込みが完了したか否かを判定する(ステップS803)。
例えば、メモリストア制御部121は、履歴DB管理部131から、履歴DB136へのデータの書き込みが完了した旨の通知を受信したか否かを判定する。
履歴DB136へのデータの書き込みが完了していないと判定された場合、メモリストア制御部121は、ステップS802に戻り同様の処理を実行する。
履歴DB136へのデータの書き込みが完了したと判定された場合、メモリストア制御部121は、格納データ管理情報700を更新する(ステップS804)。
具体的には、メモリストア制御部121は、書込処理のエントリの対象タイムゾーンに対応するカラムに「処理済」を格納する。本実施例では、タイムゾーンTZ0のカラムに「処理済」が格納される。
メモリストア制御部121は、削除可能なデータが存在するか否かを判定する(ステップS805)。
具体的には、メモリストア制御部121は、格納データ管理情報700を参照し、書込処理のエントリのタイムゾーンのカラムに「処理済」が格納され、かつ、状態監視処理のエントリのタイムゾーンのカラムに「未使用」が格納されるタイムゾーンを検索する。すなわち、タイムゾーンに含まれる全てのデータが履歴DB136に書き込まれ、かつ、タイムゾーンに含まれる全てのデータが状態監視部151によって使用されていないタイムゾーンが検索される。
前述した条件を満たすタイムゾーンが存在する場合、メモリストア制御部121は、削除可能なデータが存在すると判定する。以下の説明では、前述した条件を満たすタイムゾーンを削除対象タイムゾーンとも記載する。
削除可能なデータが存在しないと判定された場合、メモリストア制御部121は、処理を終了する。
削除可能なデータが存在すると判定された場合、メモリストア制御部121は、データ格納部320から削除対象タイムゾーンに含まれるデータを削除する(ステップS806)。
さらに、メモリストア制御部121は、格納データ管理情報700及び書込データ範囲管理情報710を更新し(ステップS807)、処理を終了する。具体的には、以下のような処理が実行される。
メモリストア制御部121は、格納データ管理情報700のタイムゾーン702から、削除対象タイムゾーンのカラムを削除する。このとき、メモリストア制御部121は、他のタイムゾーンの識別名を更新してもよい。
また、メモリストア制御部121は、書込データ範囲管理情報710から、削除対象タイムゾーンのエントリを削除する。このとき、メモリストア制御部121は、他のタイムゾーンの識別名を更新してもよい。
例えば、データ格納部320からタイムゾーンTZ0に含まれるデータが削除された場合、メモリストア制御部121は、格納データ管理情報700からタイムゾーンTZ0のカラムを削除し、書込データ範囲管理情報710からタイムゾーンTZ0のエントリを削除する。このとき、メモリストア制御部121は、タイムゾーンTZ1の識別名をTZ0、タイムゾーンTZ2の識別名をTZ1に更新する。
図9A及び図9Bは、本発明の実施例1のメモリストア制御部121が実行するアクセス処理の一例を説明するフローチャートである。
メモリストア制御部121は、アクセスインタフェース310がアクセス要求を受け付けた場合に以下で説明するアクセス処理を開始する。なお、メモリストア制御部121が稼働するサーバ120には、予め、図5Aに示すような第1のパラメータが入力される。
メモリストア制御部121は、アクセス要求がリアルタイムデータ処理部111から送信されたメモリストア122へのデータの書込要求であるか否かを判定する(ステップS901)。
具体的には、メモリストア制御部121は、アクセス要求に対応するコマンドを解析することによって判定することができる。
本実施例では、メモリストア制御部121は、アクセス要求が書込要求である場合、リアルタイムデータ処理部111から送信されたメモリストア122へのデータの書込要求であると判定する。リアルタイムデータ処理部111のみがメモリストア122にデータを書き込むためである。
また、本実施例では、メモリストア制御部121は、アクセス要求が読出要求に対応するコマンドである場合、状態監視部151から送信されたメモリストア122からのデータの読出要求であると判定する。状態監視部151のみがメモリストア122からデータを読み出すためである。
メモリストア122へのデータの書込要求であると判定された場合、メモリストア制御部121は、処理データ範囲管理情報720を更新する(ステップS902)。
具体的には、メモリストア制御部121は、書込要求に含まれるデータのタイムスタンプをR_head721に格納する。このとき、R_tail722は更新されない。なお、書込要求に複数のデータが含まれる場合、当該複数のデータの各々のタイムスタンプのうち最も新しいタイムスタンプがR_head721に格納される。
メモリストア制御部121は、データ管理情報330の更新処理を実行し(ステップS903)、その後、処理を終了する。データ管理情報330の更新処理については、図10を用いて後述する。
ステップS901において、メモリストア122からのデータの読出要求であると判定された場合、メモリストア制御部121は、処理データ範囲管理情報720を更新する(ステップS904)。具体的には、以下のような処理が実行される。
メモリストア制御部121は、処理データ範囲管理情報720のR_head721、及び読み出し対象のデータを指定する情報に基づいて、処理データ範囲の終点となるタイムスタンプを特定する。なお、読み出し対象のデータを指定する情報は、読み出し要求に含まれる。
例えば、R_head721から1時間さかのぼった時間範囲に含まれるデータの読み出しを要求する読出要求である場合、メモリストア制御部121は、データ格納部320を参照して、R_head721から1時間さかのぼった時間範囲に含まれるデータのタイムスタンプのうち、最も過去のタイムスタンプを特定する。
メモリストア制御部121は、特定されたタイムスタンプをR_tail722に格納する。これによって、処理データ範囲が確定する。なお、メモリストア制御部121は、更新前のR_tail722の値を一時的に保持する。
以上がステップS904の処理である。
次に、メモリストア制御部121は、アクセスインタフェース310を介した処理データ範囲に含まれるデータの送信を検出する(ステップS905)。ステップS905の処理によって、メモリストア制御部121は、状態監視部151に処理に必要なデータが送信されたことを確認できる。
メモリストア制御部121は、更新前のR_tail722が含まれるタイムゾーンと更新後のR_tailが含まれるタイムゾーンとが同一であるか否かを判定する(ステップS906)。具体的には、以下のような処理が実行される。
メモリストア制御部121は、格納データ管理情報700を参照し、状態監視処理のエントリのタイムゾーンのカラムが「使用」であるタイムゾーンのうち、最も古いタイムゾーンの識別名を取得する。当該タイムゾーンは、更新前のR_tailが含まれるタイムゾーンである。以下の説明では、更新前のR_tailが含まれるタイムゾーンを比較対象タイムゾーンとも記載する。
メモリストア制御部121は、取得された比較対象タイムゾーンの識別名に基づいて、書込データ範囲管理情報710を参照し、当該比較対象タイムゾーンに対応するエントリの情報を取得する。
メモリストア制御部121は、取得された比較対象タイムゾーンの情報、及び図5Aに示すような第1のパラメータに基づいて、比較対象タイムゾーンの時間範囲を算出する。
例えば、比較対象タイムゾーンがタイムゾーンTZ1である場合、本実施例では図5Aに示すような第1のパラメータが設定されているため、メモリストア制御部121は、タイムゾーンTZ1の時間範囲が「13:00:00」から「13:59:59」であると特定する。
メモリストア制御部121は、算出された時間範囲に基づいて、更新後のR_tail722が比較対象タイムゾーンに含まれているか否かを判定する。更新後のR_tail722が、比較対象タイムゾーンに含まれていると判定された場合、メモリストア制御部121は、更新前のR_tail722が含まれるタイムゾーンと更新後のR_tail722が含まれるタイムゾーンとが同一であると判定する。
以上が、ステップS906の処理である。
更新前のR_tail722が含まれるタイムゾーンと更新後のR_tail722が含まれるタイムゾーンとが同一であると判定された場合、メモリストア制御部121は、処理を終了する。
更新前のR_tail722が含まれるタイムゾーンと更新後のR_tail722が含まれるタイムゾーンとが同一でないと判定された場合、メモリストア制御部121は、格納データ管理情報700を更新する(ステップS907)。
具体的には、メモリストア制御部121は、状態監視処理のエントリの比較対象タイムゾーンのカラムに「未使用」を格納する。
メモリストア制御部121は、削除可能なデータが存在するか否かを判定する(ステップS908)。ステップS908の処理は、ステップ805の処理と同一の処理である。
削除可能なデータが存在しないと判定された場合、メモリストア制御部121は、処理を終了する。
削除可能なデータが存在すると判定された場合、メモリストア制御部121は、データ格納部320からステップS908において検索されたタイムゾーンに含まれるデータを削除する(ステップS909)。
メモリストア制御部121は、格納データ管理情報700及び書込データ範囲管理情報710を更新し(ステップS910)、処理を終了する。ステップS910の処理はステップS807の処理と同一の処理である。
図10は、本発明の実施例1のメモリストア制御部121が実行するデータ管理情報330の更新処理の一例を説明するフローチャートである。
メモリストア制御部121は、書込データ範囲管理情報710を参照して、最新のタイムゾーンの情報を取得する(ステップS1001)。
具体的には、メモリストア制御部121は、書込データ範囲管理情報710のTZ_head712が最も新しいエントリを検索し、当該エントリの情報を取得する。
メモリストア制御部121は、取得された最新のタイムゾーンの情報、及び第1のパラメータに基づいて、最新のタイムゾーンの時間範囲を算出する(ステップS1002)。
図7に示す例では、最新のタイムゾーンがタイムゾーンTZ2である場合、本実施例では図5Aに示すような第1のパラメータが設定されているため、メモリストア制御部121は、タイムゾーンT2の時間範囲が「14:00:00」から「14:59:59」であると算出する。
メモリストア制御部121は、算出された時間範囲に基づいて、書込要求に含まれるデータのタイムスタンプが、検索された最新のタイムゾーンに含まれているか否かを判定する(ステップS1003)。
書込要求に含まれるデータのタイムスタンプが、検索された最新のタイムゾーンに含まれていない場合、メモリストア制御部121は、書込データ範囲管理情報710を更新する(ステップS1004)。
具体的には、メモリストア制御部121は、書込データ範囲管理情報710に、新たなタイムゾーンのエントリを追加する。また、メモリストア制御部121は、追加されたエントリのタイムゾーン711に追加されたタイムゾーンの識別名を格納し、TZ_tail713に書込要求に含まれるデータのタイムスタンプを格納する。なお、追加されたエントリのTZ_head712は空欄のままである。
メモリストア制御部121は、格納データ管理情報700を更新し(ステップS1005)、処理を終了する。
具体的には、メモリストア制御部121は、格納データ管理情報700のタイムゾーン702に、新たなタイムゾーンのカラムを追加する。さらに、メモリストア制御部121は、書込処理のエントリの追加されたタイムゾーンのカラムに「未処理」を格納し、状態監視処理のエントリの追加されたタイムゾーンのカラムに「使用」を格納する。
ステップ1003において、書込要求に含まれるデータのタイムスタンプが、検索された最新のタイムゾーンに含まれている場合、メモリストア制御部121は、書込データ範囲管理情報710を更新し(ステップS1006)、処理を終了する。
具体的には、メモリストア制御部121は、検索された最新のタイムゾーンのエントリのTZ_head712に、書込要求に含まれるデータのタイムスタンプを格納する。
以上で説明したように、リアルタイムデータ処理部111が送信するデータはメモリストア122に格納される。これによって、リアルタイムデータ処理部111が実行する処理のリアルタイム性を確保することができる。
状態監視部151は、メモリストア122に格納されるデータを用いて処理を実行するため、状態監視処理の処理性能の向上、及び履歴DB136へのアクセス負荷を回避することができる。
さらに、メモリストア制御部121は、履歴DB136に書き込まれ、かつ、状態監視部151によって使用されていないデータを削除することによって、メモリストアの使用可能な記憶領域を確保することができる。したがって、メモリの増設を抑制し、システムにおける設備コストの増大を回避できる。
また、リアルタイムデータ処理部111が処理したデータは、メモリストア122に一時的に格納され、その後、履歴DB136に格納されるため、履歴分析処理に必要なデータを蓄積することができる。
実施例1によれば、異なる三つの処理を最適に実行可能なシステムを実現することができる。
(実施例2)
実施例2では、複数種類のデータがデータ格納部320に格納されている点が実施例1と異なる。以下、実施例1との差異を中心に説明する。実施例2の計算機システムの構成は実施例1と同一であるため説明を省略する。
実施例2では、複数種類のデータがデータ格納部320に格納されている点が実施例1と異なる。以下、実施例1との差異を中心に説明する。実施例2の計算機システムの構成は実施例1と同一であるため説明を省略する。
図11は、本発明の実施例2のサーバの構成の一例を示すブロック図である。実施例2では、メモリストア122が、データの種類毎にデータ格納部320を含む点が実施例1と異なる。また、メモリストア122は、データの種類毎に図7に示すようなデータ管理情報330を含む点が実施例1と異なる。
実施例2では、データの種類毎にタイムゾーンの始点、及びタイムゾーンの時間範囲を設定することができる。また、データの種類毎に書込処理のタイミング、及び書込対象のタイムゾーンを設定することができる。
したがって、実施例2では、データの種類毎に図8に示す書込処理が実行される。
実施例2のアクセス処理では、以下の点が異なる、メモリストア制御部121は、アクセス要求を受け付けた場合、当該アクセス要求を解析し、アクセス対象のデータの種類を特定する。その後、特定されたデータの種類に対応するデータ格納部320及びデータ管理情報330を用いて、ステップS901以下の処理を実行する。その他の処理は、実施例1と同一であるため説明を省略する。
なお、本実施例では、ソフトウェアによる制御を用いた例について説明したが、その一部をハードウェアによって実現することも可能である。
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
Claims (15)
- 複数の計算機、及びストレージシステムを備え、外部装置から送信されるデータを処理する計算機システムであって、
前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続されるネットワークインタフェースを有し、
前記ストレージシステムは、コントローラ、及び記憶媒体を有し、
前記外部装置から送信されるデータにはタイムスタンプが含まれ、
前記計算機システムは、
前記外部装置から送信されるデータを処理する第1データ処理部と、
一つ以上の前記計算機が有する前記メモリの記憶領域上に構築され、前記第1データ処理部によって処理された処理済みデータを一時的に格納するメモリストアと、
前記ストレージシステムが有する記憶媒体の記憶領域上に構築され、前記処理済みデータを格納するデータベースと、
前記メモリストアに格納される前記処理済みデータを管理し、前記メモリストアに対する読出処理及び書込処理を制御するメモリストア制御部と、
前記データベースを管理し、前記データベースに対する読出処理及び書込処理を制御するデータベース管理部と、
前記メモリストアに格納される前記処理済みデータのうち、第1データ範囲に含まれる前記処理済みデータを用いて所定の処理を実行する第2データ処理部と、
前記データベースに格納される前記処理済みデータのうち、前記第1データ範囲よりデータ範囲が大きい第2データ範囲に含まれる前記処理済みデータを用いて所定の処理を実行する第3データ処理部と、
を備え、
前記メモリストア制御部は、
前記データベースに書き込む前記処理済みデータの時間範囲である第3データ範囲を特定し、
前記メモリストアから前記特定された第3データ範囲に含まれる前記処理済みデータを取得し、
前記データベースへの前記取得された処理済みデータの書込要求を前記データベース管理部に送信し、
前記第1データ範囲及び前記第3データ範囲に基づいて、前記メモリストアに一時的に格納される前記処理済みデータのうち、削除可能な前記処理済みデータを特定することを特徴とする計算機システム。 - 請求項1に記載の計算機システムであって、
前記第1データ範囲は、前記処理済みデータの最も新しい前記タイムスタンプから所定の時間過去にさかのぼった時間範囲であり、
前記第3データ範囲は、所定の起点となる時刻から所定時間進んだ時間範囲であり、
前記メモリストアは、複数の前記第3データ範囲毎に、前記データベースへの前記処理済みデータの書き込み状態を示す第1状態、及び前記第2データ処理部における前記処理済みデータの使用状態を示す第2状態を管理するための格納データ管理情報を含み、
前記メモリストア制御部は、
前記格納データ管理情報を参照し、
前記第1状態及び前記第2状態に基づいて、前記複数の第3データ範囲毎に、前記メモリストアに一時的に格納される前記処理済みデータのうち、削除可能な前記処理済みデータを特定することを特徴とする計算機システム。 - 請求項2に記載の計算機システムであって、
前記メモリストアは、前記複数の第3データ範囲を管理するための第3データ範囲の管理情報を含み、
前記メモリストア制御部は、
前記データベースへの前記処理済みデータの書込タイミング、及び、書き込み対象となる前記第3データ範囲を特定するための第1パラメータの入力を受け付け、
前記書込タイミングが経過した後に、前記第1パラメータに基づいて前記第3データ範囲の管理情報を参照して、前記複数の第3データ範囲の中から書き込み対象となる前記第3データ範囲を特定し、
前記メモリストアから、前記特定された第3データ範囲に含まれる前記処理済みデータを取得し、
前記データベース管理部に、前記取得された処理済みデータを含む書込要求を送信し、
前記特定された第3データ範囲に対応する前記第1状態を、前記データベースへの前記処理済みデータの書き込みが完了した旨を示す状態に更新し、
前記格納データ管理情報を参照し、前記データベースへの前記処理済みデータの書き込みが完了し、かつ、前記第2データ処理部が使用していない前記第3データ範囲を検索し、
前記検索された第3データ範囲に含まれる前記処理済みデータを、前記メモリストアから削除することを特徴とする計算機システム。 - 請求項3に記載の計算機システムであって、
前記メモリストアは、前記第1データ範囲の始点となる前記処理済みデータのタイムスタンプである始点タイムスタンプ、及び前記第1データ範囲の終点となる前記処理済みデータのタイムスタンプである終点タイムスタンプを管理する第1データ範囲の管理情報を含み、
前記メモリストア制御部は、
前記第1データ範囲を特定するための前記所定の時間を指定する第2パラメータの入力を受け付け、
前記第1データ処理部から前記処理済みデータの書込要求を受け付けた場合に、前記第1データ範囲の管理情報の始点タイムスタンプを、前記書込要求に含まれる前記処理済みデータのタイムスタンプに更新し、
前記第2データ処理部から前記処理済みデータの読出要求を受け付けた場合に、前記始点タイムスタンプ及び前記第2パラメータに基づいて、前記始点タイムスタンプから前記所定の時間過去にさかのぼった時間範囲に含まれる前記処理済みデータの中から最も古い前記タイムスタンプを特定し、
前記第1データ範囲の管理情報の前記終点タイムスタンプを、前記特定された最も古いタイムスタンプに更新し、
前記第1データ範囲の管理情報を参照して、前記更新前の終点タイムスタンプに対応する前記処理済みデータが含まれる前記第3データ範囲と、前記更新後の終点タイムスタンプに対応する前記処理済みデータが含まれる前記第3データ範囲とが一致するか否かを判定し、
前記更新前の終点タイムスタンプに対応する処理済みデータが含まれる第3データ範囲と、前記更新後の終点タイムスタンプに対応する処理済みデータが含まれる前記第3データ範囲とが一致しないと判定された場合、前記格納データ管理情報を参照し、
前記更新前の終点タイムスタンプに対応する処理済みデータが含まれる第3データ範囲の前記第2状態を、当該第3データ範囲に含まれる処理済みデータを使用していない旨を示す状態に更新し、
前記格納データ管理情報を参照し、前記データベースへの前記処理済みデータの書き込みが完了し、かつ、前記第2データ処理部が使用していない前記第3データ範囲を検索し、
前記検索された第3データ範囲に含まれる前記処理済みデータを、前記メモリストアから削除することを特徴とする計算機システム。 - 請求項4に記載の計算機システムであって、
前記計算機システムは、前記外部装置から複数の種類のデータを受信し、
前記メモリストア制御部は、前記複数のデータの種類毎に、前記第1データ範囲の管理情報、前記第3データ範囲の管理情報、及び前記格納データ管理情報を保持することを特徴とする計算機システム。 - 複数の計算機、及びストレージシステムを備え、外部装置から送信されるデータを処理する計算機システムにおけるデータ管理方法であって、
前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続されるネットワークインタフェースを有し、
前記ストレージシステムは、コントローラ、及び記憶媒体を有し、
前記外部装置から送信されるデータにはタイムスタンプが含まれ、
前記計算機システムは、
前記外部装置から送信されるデータを処理する第1データ処理部と、
一つ以上の前記計算機が有する前記メモリの記憶領域上に構築され、前記第1データ処理部によって処理された処理済みデータを一時的に格納するメモリストアと、
前記ストレージシステムが有する記憶媒体の記憶領域上に構築され、前記処理済みデータを格納するデータベースと、
前記メモリストアに格納される前記処理済みデータを管理し、前記メモリストアに対する読出処理及び書込処理を制御するメモリストア制御部と、
前記データベースを管理し、前記データベースに対する読出処理及び書込処理を制御するデータベース管理部と、
前記メモリストアに格納される前記処理済みデータのうち、第1データ範囲に含まれる前記処理済みデータを用いて所定の処理を実行する第2データ処理部と、
前記データベースに格納される前記処理済みデータのうち、前記第1データ範囲よりデータ範囲が大きい第2データ範囲に含まれる前記処理済みデータを用いて所定の処理を実行する第3データ処理部と、
を有し、
前記方法は、
前記メモリストア制御部が、前記データベースに書き込む前記処理済みデータの時間範囲である第3データ範囲を特定する第1のステップと、
前記メモリストア制御部が、前記メモリストアから前記特定された第3データ範囲に含まれる前記処理済みデータを取得する第2のステップと、
前記メモリストア制御部が、前記データベースへの前記取得された処理済みデータの書込要求を前記データベース管理部に送信する第3のステップと、
前記メモリストア制御部が、前記第1データ範囲及び前記第3データ範囲に基づいて、前記メモリストアに一時的に格納される前記処理済みデータのうち、削除可能な前記処理済みデータを特定する第4のステップと、を含むことを特徴とするデータ管理方法。 - 請求項6に記載のデータ管理方法であって、
前記第1データ範囲は、前記処理済みデータの最も新しい前記タイムスタンプから所定の時間過去にさかのぼった時間範囲であり、
前記第3データ範囲は、所定の起点となる時刻から所定時間進んだ時間範囲であり、
前記メモリストアは、複数の前記第3データ範囲毎に、前記データベースへの前記処理済みデータの書き込み状態を示す第1状態、及び前記第2データ処理部における前記処理済みデータの使用状態を示す第2状態を管理するための格納データ管理情報を含み、
前記第4のステップは、
前記格納データ管理情報を参照するステップと、
前記第1状態及び前記第2状態に基づいて、前記複数の第3データ範囲毎に、前記メモリストアに一時的に格納される前記処理済みデータのうち、削除可能な前記処理済みデータを特定するステップと、を含むことを特徴とするデータ管理方法。 - 請求項7に記載のデータ管理方法であって、
前記メモリストアは、前記複数の第3データ範囲を管理するための第3データ範囲の管理情報を含み、
前記方法は、
前記メモリストア制御部が、前記データベースへの前記処理済みデータの書込タイミング、及び、書き込み対象となる前記第3データ範囲を特定するための第1パラメータの入力を受け付けるステップと、
前記メモリストア制御部が、前記書込タイミングが経過した後に、前記第1パラメータに基づいて前記第3データ範囲の管理情報を参照して、前記複数の第3データ範囲の中から書き込み対象となる前記第3データ範囲を特定するステップと、
前記メモリストア制御部が、前記メモリストアから、前記特定された第3データ範囲に含まれる前記処理済みデータを取得するステップと、
前記メモリストア制御部が、前記データベース管理部に、前記取得された処理済みデータを含む書込要求を送信するステップと、
前記メモリストア制御部が、前記特定された第3データ範囲に対応する前記第1状態を、前記データベースへの前記処理済みデータの書き込みが完了した旨を示す状態に更新するステップと、
前記メモリストア制御部が、前記格納データ管理情報を参照し、前記データベースへの前記処理済みデータの書き込みが完了し、かつ、前記第2データ処理部が使用していない前記第3データ範囲を検索するステップと、
前記メモリストア制御部が、前記検索された第3データ範囲に含まれる前記処理済みデータを、前記メモリストアから削除するステップと、を含むことを特徴とするデータ管理方法。 - 請求項8に記載のデータ管理方法であって、
前記メモリストアは、前記第1データ範囲の始点となる前記処理済みデータのタイムスタンプである始点タイムスタンプ、及び前記第1データ範囲の終点となる前記処理済みデータのタイムスタンプである終点タイムスタンプを管理する第1データ範囲の管理情報を含み、
前記方法は、
前記メモリストア制御部が、前記第1データ範囲を特定するための前記所定の時間を指定する第2パラメータの入力を受け付けるステップと、
前記メモリストア制御部が、前記第1データ処理部から前記処理済みデータの書込要求を受け付けた場合に、前記第1データ範囲の管理情報の始点タイムスタンプを、前記書込要求に含まれる前記処理済みデータのタイムスタンプに更新するステップと、
前記メモリストア制御部が、前記第2データ処理部から前記処理済みデータの読出要求を受け付けた場合に、前記始点タイムスタンプ及び前記第2パラメータに基づいて、前記始点タイムスタンプから前記所定の時間過去にさかのぼった時間範囲に含まれる前記処理済みデータの中から最も古い前記タイムスタンプを特定するステップと、
前記メモリストア制御部が、前記第1データ範囲の管理情報の前記終点タイムスタンプを、前記特定された最も古いタイムスタンプに更新するステップと、
前記メモリストア制御部が、前記第1データ範囲の管理情報を参照して、前記更新前の終点タイムスタンプに対応する前記処理済みデータが含まれる前記第3データ範囲と、前記更新後の終点タイムスタンプに対応する前記処理済みデータが含まれる前記第3データ範囲とが一致するか否かを判定するステップと、
前記メモリストア制御部が、前記更新前の終点タイムスタンプに対応する処理済みデータが含まれる第3データ範囲と、前記更新後の終点タイムスタンプに対応する処理済みデータが含まれる前記第3データ範囲とが一致しないと判定された場合、前記格納データ管理情報を参照するステップと、
前記メモリストア制御部が、前記更新前の終点タイムスタンプに対応する処理済みデータが含まれる第3データ範囲の前記第2状態を、当該第3データ範囲に含まれる処理済みデータを使用していない旨を示す状態に更新するステップと、
前記メモリストア制御部が、前記格納データ管理情報を参照し、前記データベースへの前記処理済みデータの書き込みが完了し、かつ、前記第2データ処理部が使用していない前記第3データ範囲を検索するステップと、
前記メモリストア制御部が、前記検索された第3データ範囲に含まれる前記処理済みデータを、前記メモリストアから削除するステップと、を含むことを特徴とするデータ管理方法。 - 請求項9に記載のデータ管理方法であって、
前記計算機システムは、前記外部装置から複数の種類のデータを受信し、
前記メモリストア制御部は、前記複数のデータの種類毎に、前記第1データ範囲の管理情報、前記第3データ範囲の管理情報、及び前記格納データ管理情報を保持することを特徴とするデータ管理方法。 - プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続されるネットワークインタフェースを備える計算機であって、
前記メモリの記憶領域上に構築され、タイムスタンプを含むデータを一時的に格納するメモリストアと、
前記メモリストアに格納されるデータを管理し、前記メモリストアに対する読出処理及び書込処理を制御するメモリストア制御部と、を備え、
前記メモリストア制御部は、
前記メモリストアに格納されるデータの中から、外部のデータベースに書き込むデータの時間範囲である第1データ範囲を特定し、
前記メモリストアから前記特定された第1データ範囲に含まれる前記データを取得し、
前記データベースを管理する他の計算機に、前記データベースに対する前記取得されたデータの書込要求を送信し、
前記第1データ範囲及び前記メモリストアにアクセスする他の計算機が扱うデータの時間範囲である第2データ範囲に基づいて、前記メモリストアに一時的に格納される前記データのうち、削除可能な前記データを特定することを特徴とする計算機。 - 請求項11に記載の計算機であって、
前記第1データ範囲は、所定の起点となる時刻から所定時間進んだ時間範囲であり、
前記第2データ範囲は、前記データの最も新しいタイムスタンプから所定の時間過去にさかのぼった時間範囲であり、
前記メモリストアは、前記複数の第1データ範囲毎に、前記データベースへの前記データの書き込み状態を示す第1状態、及び前記メモリストアにアクセスする他の計算機の前記データの使用状態を示す第2状態を管理するための格納データ管理情報を含み、
前記メモリストア制御部は、
前記格納データ管理情報を参照し、
前記第1状態及び前記第2状態に基づいて、前記複数の第1データ範囲毎に、前記メモリストアに一時的に格納される前記データのうち、削除可能な前記データを特定することを特徴とする計算機。 - 請求項12に記載の計算機であって、
前記メモリストアは、前記複数の第1データ範囲を管理するための第1データ範囲の管理情報を含み、
前記メモリストア制御部は、
前記データベースへの前記データの書込タイミング、及び、書き込み対象となる前記第1データ範囲を特定するための第1パラメータの入力を受け付け、
前記書込タイミングが経過した後に、前記第1パラメータに基づいて前記第1データ範囲の管理情報を参照して、複数の前記第1データ範囲の中から書き込み対象となる前記第1データ範囲を特定し、
前記メモリストアから、前記特定された第1データ範囲に含まれる前記データを取得し、
前記データベースを管理する他の計算機に、前記取得されたデータを含む書込要求を送信し、
前記特定された第1データ範囲に対応する前記第1状態を、前記データベースへの前記データの書き込みが完了した旨を示す状態に更新し、
前記格納データ管理情報を参照し、前記データベースへの前記データの書き込みが完了し、かつ、前記メモリストアにアクセスする他の計算機が使用していない前記第1データ範囲を検索し、
前記検索された第1データ範囲に含まれる前記データを、前記メモリストアから削除することを特徴とする計算機。 - 請求項13に記載の計算機であって、
前記メモリストアは、前記第2データ範囲の始点となる前記データのタイムスタンプである始点タイムスタンプ、及び前記第1データ範囲の終点となる前記データのタイムスタンプである終点タイムスタンプを管理する第2データ範囲の管理情報を含み、
前記メモリストア制御部は、
前記第2データ範囲を特定するための前記所定の時間を指定する第2パラメータの入力を受け付け、
前記データの書込要求を受け付けた場合に、前記第2データ範囲の管理情報の始点タイムスタンプを、前記書込要求に含まれる前記データのタイムスタンプに更新し、
前記メモリストアに格納される前記データの読出要求を受け付けた場合に、前記始点タイムスタンプ及び前記第2パラメータに基づいて、前記始点タイムスタンプから前記所定の時間過去にさかのぼった時間範囲に含まれる前記データの中から最も古い前記タイムスタンプを特定し、
前記第2データ範囲の管理情報の前記終点タイムスタンプを、前記特定された最も古いタイムスタンプに更新し、
前記第2データ範囲の管理情報を参照して、前記更新前の終点タイムスタンプに対応する前記データが含まれる前記第1データ範囲と、前記更新後の終点タイムスタンプに対応する前記データが含まれる前記第1データ範囲とが一致するか否かを判定し、
前記更新前の終点タイムスタンプに対応するデータが含まれる前記第1データ範囲と、前記更新後の終点タイムスタンプに対応するデータが含まれる前記第1データ範囲とが一致しないと判定された場合、前記格納データ管理情報を参照し、
前記更新前の終点タイムスタンプに対応するデータが含まれる第1データ範囲の前記第2状態を、当該第1データ範囲に含まれるデータを使用していない旨を示す状態に更新し、
前記格納データ管理情報を参照し、前記データベースへの前記データの書き込みが完了し、かつ、前記メモリストアにアクセスする他の計算機が使用していない前記第1データ範囲を検索し、
前記検索された第1データ範囲に含まれる前記データを、前記メモリストアから削除することを特徴とする計算機。 - 請求項14に記載の計算機であって、
前記メモリストア制御部は、データの種類毎に、前記第1データ範囲の管理情報、前記第2データ範囲の管理情報、及び前記格納データ管理情報を保持することを特徴とする計算機。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/059840 WO2014162397A1 (ja) | 2013-04-01 | 2013-04-01 | 計算機システム、データ管理方法、及び計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5956064B2 true JP5956064B2 (ja) | 2016-07-20 |
JPWO2014162397A1 JPWO2014162397A1 (ja) | 2017-02-16 |
Family
ID=51657731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015509635A Expired - Fee Related JP5956064B2 (ja) | 2013-04-01 | 2013-04-01 | 計算機システム、データ管理方法、及び計算機 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9870385B2 (ja) |
JP (1) | JP5956064B2 (ja) |
WO (1) | WO2014162397A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101679011B1 (ko) * | 2014-06-26 | 2016-11-24 | 주식회사 알티베이스 | 데이터베이스에서 데이터 이동을 처리하는 방법 및 장치 |
CN112134909B (zh) * | 2019-06-24 | 2022-04-19 | 同方威视科技江苏有限公司 | 时序数据处理方法、装置、系统、服务器及可读存储介质 |
JP7308158B2 (ja) * | 2020-01-21 | 2023-07-13 | 株式会社日立製作所 | サービス情報管理システムおよび方法 |
CN113434551B (zh) * | 2021-06-28 | 2022-05-27 | 北京百度网讯科技有限公司 | 数据处理方法、装置、设备和计算机存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012073526A1 (ja) * | 2010-12-03 | 2012-06-07 | 株式会社日立製作所 | データ処理システム、及びデータ処理装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU647086B2 (en) * | 1990-01-30 | 1994-03-17 | Johnson Service Company | Networked facilities management system |
JPH0756740A (ja) | 1993-08-20 | 1995-03-03 | Mitsubishi Electric Corp | 監視・診断推論装置 |
US6092189A (en) * | 1998-04-30 | 2000-07-18 | Compaq Computer Corporation | Channel configuration program server architecture |
JP2000331423A (ja) | 1999-05-20 | 2000-11-30 | Matsushita Electric Ind Co Ltd | ディスク記録再生装置及びその記録再生制御方法 |
US20040024954A1 (en) * | 2002-07-30 | 2004-02-05 | Rust Robert A. | Time stamp management system for disk arrays |
US20050071328A1 (en) * | 2003-09-30 | 2005-03-31 | Lawrence Stephen R. | Personalization of web search |
JP4477950B2 (ja) * | 2004-07-07 | 2010-06-09 | 株式会社日立製作所 | リモートコピーシステム及び記憶装置システム |
US7706883B1 (en) * | 2006-04-06 | 2010-04-27 | Pacesetter, Inc. | Efficient data retrieval for implantable medical devices |
US7624103B2 (en) * | 2006-07-21 | 2009-11-24 | Aol Llc | Culturally relevant search results |
KR20080035089A (ko) * | 2006-10-18 | 2008-04-23 | 야후! 인크. | 위치 기반 지역 정보 제공 장치 및 방법 |
US9535810B1 (en) * | 2007-04-24 | 2017-01-03 | Wal-Mart Stores, Inc. | Layout optimization |
US7949643B2 (en) * | 2008-04-29 | 2011-05-24 | Yahoo! Inc. | Method and apparatus for rating user generated content in search results |
US9213687B2 (en) * | 2009-03-23 | 2015-12-15 | Lawrence Au | Compassion, variety and cohesion for methods of text analytics, writing, search, user interfaces |
US20100250526A1 (en) * | 2009-03-27 | 2010-09-30 | Prochazka Filip | Search System that Uses Semantic Constructs Defined by Your Social Network |
CN101815199B (zh) * | 2010-04-07 | 2013-08-07 | 中兴通讯股份有限公司 | 一种视频处理方法及终端 |
EP2856356A2 (en) * | 2012-06-04 | 2015-04-08 | Google, Inc. | Systems and methods of increasing database access concurrency using granular timestamps |
US20150100569A1 (en) * | 2012-06-28 | 2015-04-09 | Google Inc. | Providing a search results document that includes a user interface for performing an action in connection with a web page identified in the search results document |
US8650185B1 (en) * | 2012-09-28 | 2014-02-11 | Ampersand Ventures, Inc. | Systems and methods for database interaction using a multi-dimensional graphical user input interface |
WO2014081727A1 (en) * | 2012-11-20 | 2014-05-30 | Denninghoff Karl L | Search and navigation to specific document content |
JP5853109B2 (ja) * | 2012-12-28 | 2016-02-09 | 株式会社日立製作所 | 計算機、計算機システムの制御装置及び記録媒体 |
-
2013
- 2013-04-01 JP JP2015509635A patent/JP5956064B2/ja not_active Expired - Fee Related
- 2013-04-01 WO PCT/JP2013/059840 patent/WO2014162397A1/ja active Application Filing
- 2013-04-01 US US14/428,805 patent/US9870385B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012073526A1 (ja) * | 2010-12-03 | 2012-06-07 | 株式会社日立製作所 | データ処理システム、及びデータ処理装置 |
Non-Patent Citations (1)
Title |
---|
JPN6013026825; 喜田 弘司: '実世界から発生するビッグデータをリアルタイムに処理するストリーム分析基盤' 電子情報通信学会論文誌 第J95-B巻,第11号, 20121101, p.1396-1403, 一般社団法人電子情報通信学会 * |
Also Published As
Publication number | Publication date |
---|---|
US9870385B2 (en) | 2018-01-16 |
WO2014162397A1 (ja) | 2014-10-09 |
JPWO2014162397A1 (ja) | 2017-02-16 |
US20150234882A1 (en) | 2015-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10795905B2 (en) | Data stream ingestion and persistence techniques | |
US10691716B2 (en) | Dynamic partitioning techniques for data streams | |
CN109960686B (zh) | 数据库的日志处理方法和装置 | |
US9794135B2 (en) | Managed service for acquisition, storage and consumption of large-scale data streams | |
US9355112B1 (en) | Optimizing compression based on data activity | |
EP2989556B1 (en) | Object storage using multiple dimensions of object information | |
US8756199B2 (en) | File level hierarchical storage management system, method, and apparatus | |
US20150135255A1 (en) | Client-configurable security options for data streams | |
US20150134626A1 (en) | Partition-based data stream processing framework | |
US9195611B2 (en) | Efficiently updating and deleting data in a data storage system | |
KR20120102664A (ko) | 미래 사용 추정에 기반한 저장 메모리 할당 | |
US20150280981A1 (en) | Apparatus and system for configuration management | |
JP6870466B2 (ja) | 制御プログラム、制御方法、制御装置、及びデータベースサーバ | |
US20170270183A1 (en) | Sensor data management apparatus, sensor data management method, and computer program product | |
CN102780603B (zh) | 网站流量控制方法及装置 | |
WO2016016944A1 (ja) | データベース管理システム及びデータベース管理方法 | |
CN108228322B (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
JP5956064B2 (ja) | 計算機システム、データ管理方法、及び計算機 | |
US7660790B1 (en) | Method and apparatus for utilizing a file change log | |
CN109254958A (zh) | 分布式数据读写方法、设备及系统 | |
CN113051221A (zh) | 数据存储方法、装置、介质、设备及分布式文件系统 | |
US20160203056A1 (en) | Apparatus, snapshot management method, and recording medium | |
KR101666440B1 (ko) | 환형큐 기반의 인-메모리 데이터베이스 시스템에서의 데이터 처리방법 | |
US9405786B2 (en) | System and method for database flow management | |
JP5461215B2 (ja) | データベースシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20160524 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160615 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5956064 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |