JP2015200930A - Storage device, data reading method, and program - Google Patents

Storage device, data reading method, and program Download PDF

Info

Publication number
JP2015200930A
JP2015200930A JP2014077544A JP2014077544A JP2015200930A JP 2015200930 A JP2015200930 A JP 2015200930A JP 2014077544 A JP2014077544 A JP 2014077544A JP 2014077544 A JP2014077544 A JP 2014077544A JP 2015200930 A JP2015200930 A JP 2015200930A
Authority
JP
Japan
Prior art keywords
storage
data
unit
load
reading
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
Application number
JP2014077544A
Other languages
Japanese (ja)
Inventor
洋平 岩橋
Yohei Iwahashi
洋平 岩橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2014077544A priority Critical patent/JP2015200930A/en
Publication of JP2015200930A publication Critical patent/JP2015200930A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a storage device capable of suppressing reduction in throughput even when a plurality of clients simultaneously access identical data.SOLUTION: A storage device includes: a plurality of storage units 2 each of which stores identical data; a management unit 4 that selects any one of the plurality of storage units 2 on the basis of first load information indicating the load state of each of the storage units; and reading units 3 that read data from the selected storage units 2.

Description

本発明は、記憶装置、データ読出方法、およびプログラムに関する。   The present invention relates to a storage device, a data reading method, and a program.

近年、各種のセンサが生成したデータ、監視カメラの映像データ、テレビ放送の映像データ、ラジオ放送の音声データなどの時系列データを扱う機会が増大している。このような時系列データをリアルタイムで分析することにより、現在起きている事象をリアルタイムで知ることができたり、過去のデータに基づいて、これから発生する事象の予測を行うことが可能になる。   In recent years, opportunities to handle time-series data such as data generated by various sensors, video data of surveillance cameras, video data of television broadcasting, audio data of radio broadcasting, and the like are increasing. By analyzing such time-series data in real time, it is possible to know the current event in real time, or to predict an event that will occur in the future based on past data.

例えば、時系列データをリアルタイムで分析したり、映像データまたは音声データを遅延なく再生したりするためには、記憶されたデータを一定のスループットを保って読み出すことが必要となる。記憶されたデータを一定のスループットを保って読み出すためには、データ読出処理の処理負荷が特定のリソースに集中することを抑制するために、処理負荷を分散させることが重要である。   For example, in order to analyze time-series data in real time or to reproduce video data or audio data without delay, it is necessary to read out stored data with a constant throughput. In order to read the stored data with a constant throughput, it is important to distribute the processing load in order to prevent the processing load of the data reading process from being concentrated on a specific resource.

特許文献1には、負荷分散に関する技術として、アクセスの多い複数のデータを記憶した特定のストレージに処理負荷が集中することを抑制するために、データをストレージ間で移動させる分散データ管理システムが記載されている。この分散データ管理システムでは、移動元サーバの負荷状況に基づいて、データを移動させるタイミングを決定している。   Patent Document 1 describes a distributed data management system that moves data between storages in order to prevent the processing load from concentrating on a specific storage that stores a plurality of frequently accessed data, as a technique related to load distribution. Has been. In this distributed data management system, the timing for moving data is determined based on the load status of the source server.

特許文献2には、負荷分散に関する技術として、ジョブを複数の計算機に分散して実行させる負荷分散システムが記載されている。この負荷分散システムでは、ジョブの実行に必要なデータが、高速にデータを読み出すことが可能な高速ストレージ、または大容量ディスクドライブを備える大容量ストレージに記憶されている。そして指定されたジョブの実行に必要なデータが大容量ストレージに記憶されている場合、データを大容量ストレージから高速ストレージに移動させて、高速ストレージからデータを読み出している。   Patent Document 2 describes a load distribution system that distributes and executes a job to a plurality of computers as a technique related to load distribution. In this load balancing system, data necessary for job execution is stored in a high-speed storage that can read data at high speed or a large-capacity storage that includes a large-capacity disk drive. When the data necessary for executing the designated job is stored in the large-capacity storage, the data is moved from the large-capacity storage to the high-speed storage, and the data is read from the high-speed storage.

特開2013−222221号公報JP 2013-222221 A 特開2008−015888号公報JP 2008-015888 A

しかしながら、特許文献1に記載の分散データ管理システムおよび特許文献2に記載の負荷分散システムでは、同じデータに対して複数のクライアントが同時にアクセスする場合、同じストレージに処理負荷が集中することを抑制することはできなかった。例えば、時系列データをリアルタイムで分析して複数の分析結果を取得する場合、同じデータに対して複数の分析処理が同時に行われるため、同じデータに対して複数のクライアントが同時にアクセスされる場合がある。このため、記憶されたデータを読み出す際に、スループットが低下してしまう場合があった。   However, in the distributed data management system described in Patent Document 1 and the load distribution system described in Patent Document 2, when a plurality of clients access the same data at the same time, the concentration of processing load on the same storage is suppressed. I couldn't. For example, when analyzing time-series data in real time and obtaining multiple analysis results, multiple analysis processes are performed on the same data at the same time, so multiple clients may access the same data at the same time. is there. For this reason, when reading the stored data, the throughput may decrease.

本発明の目的は、同じデータに対して複数のクライアントが同時にアクセスする場合であっても、スループットの低下を抑制することが可能な記憶装置、データ読出方法、およびプログラムを提供することである。   An object of the present invention is to provide a storage device, a data reading method, and a program capable of suppressing a decrease in throughput even when a plurality of clients simultaneously access the same data.

本発明による記憶装置は、
それぞれが同一のデータを記憶する複数の記憶部と、
各記憶部の負荷状況を示す第1負荷情報に基づいて、前記複数の記憶部のいずれかを選択する管理部と、
選択された前記記憶部から前記データを読み出す読出部とを有する。
The storage device according to the present invention comprises:
A plurality of storage units each storing the same data;
A management unit that selects one of the plurality of storage units based on first load information indicating a load status of each storage unit;
And a reading unit that reads the data from the selected storage unit.

また、本発明によるデータ読出方法は、
それぞれが同一のデータを記憶する複数の記憶部のそれぞれの負荷状況を示す第1負荷情報に基づいて、前記複数の記憶部のいずれかを選択し、
選択された前記記憶部から前記データを読み出す。
The data reading method according to the present invention includes:
Based on the first load information indicating the load status of each of a plurality of storage units each storing the same data, select one of the plurality of storage units,
The data is read from the selected storage unit.

また、本発明によるプログラムは、
コンピュータを、
それぞれが同一のデータを記憶する複数の記憶部と、
各記憶部の負荷状況を示す第1負荷情報に基づいて、前記複数の記憶部のいずれかを選択する管理部と、
選択された前記記憶部から前記データを読み出す読出部と、を備える記憶装置として機能させるためのプログラムである。
The program according to the present invention is
Computer
A plurality of storage units each storing the same data;
A management unit that selects one of the plurality of storage units based on first load information indicating a load status of each storage unit;
A program for causing a storage device to include a reading unit that reads the data from the selected storage unit.

本発明によれば、同じデータに対して複数のクライアントが同時にアクセスする場合であっても、スループットの低下を抑制することが可能である。   According to the present invention, it is possible to suppress a decrease in throughput even when a plurality of clients simultaneously access the same data.

本発明の第1の実施形態にかかるリアルタイムデータ記録装置1の構成を示すブロック図である。It is a block diagram which shows the structure of the real-time data recording device 1 concerning the 1st Embodiment of this invention. 各ストレージ2の第1負荷情報とストレージ2の選択方法について説明するための図である。It is a figure for demonstrating the 1st load information of each storage 2, and the selection method of the storage 2. FIG. 上限値の調整を行った場合の各ストレージ2の第1負荷情報とストレージ2の選択方法について説明するための図である。It is a figure for demonstrating the 1st load information of each storage 2 at the time of adjusting an upper limit, and the selection method of the storage 2. FIG. リアルタイムデータ記録装置1のデータ記録処理について説明するためのフローチャートである。4 is a flowchart for explaining data recording processing of the real-time data recording apparatus 1. リアルタイムデータ記録装置1の負荷状況確認処理について説明するためのフローチャートである。5 is a flowchart for explaining a load status confirmation process of the real-time data recording apparatus 1; 図5のステップS201の詳細について説明するためのサブフローチャートである。6 is a sub-flowchart for explaining details of step S201 in FIG. 図5のステップS204の詳細について説明するためのサブフローチャートである。6 is a sub-flowchart for explaining details of step S204 in FIG. 5. リアルタイムデータ記録装置1の読出要求応答処理について説明するためのフローチャートである。5 is a flowchart for explaining a read request response process of the real-time data recording apparatus 1. 本発明の第2の実施形態に係る記憶装置100の構成を示すブロック図である。It is a block diagram which shows the structure of the memory | storage device 100 which concerns on the 2nd Embodiment of this invention. 記憶装置100の動作例を説明するためのフローチャートである。4 is a flowchart for explaining an operation example of the storage device 100.

以下、本発明の実施形態について添付の図面を参照して説明する。なお、本明細書および図面において、同一の機能を有する構成要素については同じ符号を付することにより重複説明を省略する場合がある。   Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In addition, in this specification and drawing, the description which overlaps may be abbreviate | omitted by attaching | subjecting the same code | symbol about the component which has the same function.

(第1の実施形態)
図1は、本発明の第1の実施形態に係るリアルタイムデータ記録装置1の構成を示すブロック図である。リアルタイムデータ記録装置1は、複数のストレージ2と、複数の読出サーバ3と、管理サーバ4と、内部ネットワーク5とを有する。なお、図1ではリアルタイムデータ記録装置1は、複数の読出サーバ3を有することとしたが、1つの読出サーバ3を有するものであってもよい。
(First embodiment)
FIG. 1 is a block diagram showing a configuration of a real-time data recording apparatus 1 according to the first embodiment of the present invention. The real-time data recording device 1 has a plurality of storages 2, a plurality of read servers 3, a management server 4, and an internal network 5. In FIG. 1, the real-time data recording apparatus 1 includes a plurality of read servers 3, but may include a single read server 3.

ストレージ2は、データ格納用の装置であり、例えばフラッシュメモリなどの不揮発性メモリや、HDD(Hard Disk Drive)などの磁気記録媒体と、制御装置であるCPU(Central Processing Unit)とを含む。ストレージ2は、内部ネットワーク5を介して読出サーバ3および管理サーバ4と接続されている。また、ストレージ2は、読出サーバ3からの指示に従って、記憶しているデータを読出サーバ3に出力する。   The storage 2 is a device for storing data, and includes, for example, a non-volatile memory such as a flash memory, a magnetic recording medium such as an HDD (Hard Disk Drive), and a CPU (Central Processing Unit) that is a control device. The storage 2 is connected to the read server 3 and the management server 4 via the internal network 5. Further, the storage 2 outputs stored data to the read server 3 in accordance with an instruction from the read server 3.

読出サーバ3は、ストレージ2からデータを読み出す装置である。読出サーバ3は、制御装置であるCPUを含む。読出サーバ3は、内部ネットワーク5を介して管理サーバ4およびストレージ2と接続されており、ネットワーク62を介してクライアント72と接続されている。読出サーバ3は、管理サーバ4の指示に従ってデータを読み出すと、データの読み出しを要求したクライアント72にデータを送信する。   The read server 3 is a device that reads data from the storage 2. The read server 3 includes a CPU that is a control device. The read server 3 is connected to the management server 4 and the storage 2 via the internal network 5, and is connected to the client 72 via the network 62. When the read server 3 reads the data according to the instruction of the management server 4, the read server 3 transmits the data to the client 72 that has requested the data read.

なお、ストレージ2および読出サーバ3は、SNMP(Simple Network Management Protocol)に従って監視および制御されており、CPU使用率やアクセス数などをMIB(Management Information Base)に記録して保持している。   The storage 2 and the read server 3 are monitored and controlled according to SNMP (Simple Network Management Protocol), and the CPU usage rate, the number of accesses, and the like are recorded and held in an MIB (Management Information Base).

管理サーバ4は、リアルタイムデータ記録装置1の全体を管理する管理部である。管理サーバ4は、ネットワーク61を介してリアルタイムデータ入力装置71と接続され、内部ネットワーク5を介してストレージ2および読出サーバ3と接続され、ネットワーク62を介してクライアント72と接続される。   The management server 4 is a management unit that manages the entire real-time data recording apparatus 1. The management server 4 is connected to the real-time data input device 71 via the network 61, is connected to the storage 2 and the read server 3 via the internal network 5, and is connected to the client 72 via the network 62.

管理サーバ4は、図示しないマイクロプロセッサやメモリ等を備え、メモリ等に記憶されたプログラムを読み取って実行することによって、リアルタイムデータ記録装置1の動作を制御する。具体的には、管理サーバ4は、リアルタイムデータ入力装置71がリアルタイムデータを取得して、管理サーバ4に入力すると、入力されたリアルタイムデータを受け付けて、当該リアルタイムデータを複数のストレージ2にマルチキャストすることにより、リアルタイムデータを複数のストレージ2に記録させる。これにより、複数のストレージ2は、それぞれが同一のデータを記憶することになる。   The management server 4 includes a microprocessor and a memory (not shown), and controls the operation of the real-time data recording apparatus 1 by reading and executing a program stored in the memory or the like. Specifically, when the real-time data input device 71 acquires real-time data and inputs it to the management server 4, the management server 4 accepts the input real-time data and multicasts the real-time data to the plurality of storages 2. As a result, real-time data is recorded in the plurality of storages 2. As a result, each of the plurality of storages 2 stores the same data.

また、管理サーバ4は、クライアント72から、ストレージ2に記憶されたデータの読み出しを要求する読出要求を受け付けると、リアルタイムデータ記録装置1の負荷状況に基づいて、読出要求に応じたデータ読出処理を行うか否かを判断する。また、管理サーバ4は、データ読出処理を行う場合、リアルタイムデータ記録装置1の負荷状況に基づいて、複数のストレージ2および複数の読出サーバ3の負荷を分散させる。リアルタイムデータ記録装置1の負荷状況を示す情報は、例えば、ストレージ2の負荷状況を示す第1負荷情報、および読出サーバ3の負荷状況を示す第2負荷情報である。また、第1負荷情報は、ストレージ2内の各リソースの負荷状況をそれぞれ示す複数の種類の情報を含んでいてもよい。第1負荷情報は、例えば、ストレージ2が備える制御装置であるCPU(Central Processing Unit)の使用率と、各ストレージ2に対するアクセス数であるストレージアクセス数とを含む。また読出サーバ3についても同様に、第2負荷情報は、例えば、読出サーバ3が備える制御装置であるCPUの使用率と、各読出サーバ3に対するアクセス数である読出サーバアクセス数とを含む。   In addition, when the management server 4 receives a read request for requesting reading of data stored in the storage 2 from the client 72, the management server 4 performs a data read process corresponding to the read request based on the load status of the real-time data recording apparatus 1. Determine whether to do it. Further, when performing the data reading process, the management server 4 distributes the loads of the plurality of storages 2 and the plurality of reading servers 3 based on the load status of the real-time data recording device 1. The information indicating the load status of the real-time data recording device 1 is, for example, first load information indicating the load status of the storage 2 and second load information indicating the load status of the read server 3. Further, the first load information may include a plurality of types of information each indicating the load status of each resource in the storage 2. The first load information includes, for example, a usage rate of a CPU (Central Processing Unit) that is a control device included in the storage 2 and a storage access number that is the number of accesses to each storage 2. Similarly, for the read server 3, the second load information includes, for example, a usage rate of a CPU that is a control device included in the read server 3 and a read server access number that is the number of accesses to each read server 3.

管理サーバ4は、リアルタイムデータ記録装置1の負荷状況を示す情報として、第1負荷情報および第2負荷情報を用いて、データ読出処理を行うか否かを判断する。管理サーバ4は、例えば、各ストレージ2に対するストレージアクセス数の合計が上限値以下であり、且つ、各読出サーバ3に対する読出サーバアクセス数の合計が上限値以下である場合、データ読出処理を行う。このとき、管理サーバ4は、各ストレージ2に対するストレージアクセス数の上限値を取得して、その合計をストレージアクセス数の合計に対する上限値とする。また読出サーバ3に関しても同様であり、管理サーバ4は、各読出サーバ3に対する読出サーバアクセス数の上限値を取得して、その合計を読出サーバアクセス数の合計に対する上限値とする。   The management server 4 uses the first load information and the second load information as information indicating the load status of the real-time data recording apparatus 1 to determine whether or not to perform the data reading process. For example, when the total number of storage accesses to each storage 2 is less than or equal to the upper limit value and the total number of read server accesses to each read server 3 is less than or equal to the upper limit value, the management server 4 performs data read processing. At this time, the management server 4 acquires the upper limit value of the number of storage accesses for each storage 2 and sets the sum as the upper limit value for the total number of storage accesses. The same applies to the read server 3, and the management server 4 acquires the upper limit value of the read server access number for each read server 3, and sets the sum as the upper limit value for the total read server access number.

また管理サーバ4は、データ読出処理を行う場合、第1負荷情報に基づいて、データ読出処理に用いるストレージ2を選択することで、複数のストレージ2間で負荷を分散させる。また、管理サーバ4は、第2負荷情報に基づいて、データ読出処理に用いる読出サーバ3を選択することで、複数の読出サーバ3間で負荷を分散させる。管理サーバ4は、例えば、ストレージアクセス数に基づいて、ストレージ2を選択することができる。具体的には、管理サーバ4は、各ストレージ2のストレージアクセス数と、各ストレージ2に対して設定された上限値との差異を算出し、当該算出結果に基づいて、複数のストレージ2のいずれかを選択する。より具体的には、管理サーバ4は、算出結果が最も大きいストレージ2を選択する。   Further, when performing the data read process, the management server 4 selects the storage 2 used for the data read process based on the first load information, thereby distributing the load among the plurality of storages 2. Further, the management server 4 selects the read server 3 used for the data read process based on the second load information, thereby distributing the load among the plurality of read servers 3. For example, the management server 4 can select the storage 2 based on the number of storage accesses. Specifically, the management server 4 calculates the difference between the storage access number of each storage 2 and the upper limit value set for each storage 2, and based on the calculation result, Select. More specifically, the management server 4 selects the storage 2 with the largest calculation result.

図2は、各ストレージ2の第1負荷情報とストレージ2の選択方法について説明するための図である。図2の例では、リアルタイムデータ記録装置1は、ストレージA〜Cの3つのストレージ2を有している。ストレージA〜Cのそれぞれに対して設けられた上限値は、全て5であるとする。ここで、ストレージアクセス数が、ストレージA〜Cのそれぞれに対して、順に2、3、4であるとする。この場合、各ストレージA〜Cについて、上限値とストレージアクセス数との差異は、順に3、2、1となる。したがって、この場合、管理サーバ4は、この差異が最も大きいストレージAを選択する。   FIG. 2 is a diagram for explaining the first load information of each storage 2 and the selection method of the storage 2. In the example of FIG. 2, the real-time data recording apparatus 1 has three storages 2 of storages A to C. It is assumed that the upper limit values provided for each of the storages A to C are all 5. Here, it is assumed that the number of storage accesses is 2, 3, and 4 in order for each of the storages A to C. In this case, for each of the storages A to C, the difference between the upper limit value and the number of storage accesses is 3, 2, and 1 in order. Therefore, in this case, the management server 4 selects the storage A having the largest difference.

しかしながら、ストレージ2において、データの書き込みや、読み出しを行うデータアクセス処理以外の要因で、ストレージ2の処理負荷が増大することがある。例えば、図2のストレージAに障害が発生した場合、バックグラウンドプロセスとして、リビルド処理が発生することがある。この場合、ストレージアクセス数と上限値との差異は必ずしもストレージAの処理負荷を反映した値とならず、処理負荷が増大しているにも関わらず、この差異が大きい値となる。このため、管理サーバ4は、ストレージアクセス数の上限値を、各ストレージ2のCPU使用率に基づいて調整する。   However, in the storage 2, the processing load of the storage 2 may increase due to factors other than data access processing for writing and reading data. For example, when a failure occurs in the storage A in FIG. 2, a rebuild process may occur as a background process. In this case, the difference between the number of storage accesses and the upper limit value is not necessarily a value reflecting the processing load of the storage A, and this difference is a large value even though the processing load is increased. Therefore, the management server 4 adjusts the upper limit value of the number of storage accesses based on the CPU usage rate of each storage 2.

管理サーバ4は、各ストレージ2のCPU使用率が所定の閾値以上である場合、ストレージアクセス数の上限値を制限することで、上限値とストレージアクセス数との差異に、当該ストレージ2のCPU使用率に基づいた負荷状況を反映させる。また、管理サーバ4は、各ストレージ2のCPU使用率が連続して所定の閾値以上となった回数をカウントし、この回数が規定回数以上となった場合に、ストレージ2のCPUに定常的に高い負荷がかかっている状態であると判断し、ストレージアクセス数の上限値を制限してもよい。図2の「カウント」は、この連続してCPU使用率が閾値以上となった回数を示している。CPU使用率が連続して所定の閾値以上となった回数を用いることで、瞬時的にCPU使用率が上昇してすぐにCPU使用率が下がった場合には上限値が制限されない。このため、実際にはストレージ2が高負荷な状態ではないにも関わらず、クライアント72からの読出要求に対してアクセスエラーが発生してしまうことを抑制することができる。   When the CPU usage rate of each storage 2 is equal to or greater than a predetermined threshold, the management server 4 limits the upper limit value of the storage access number to the difference between the upper limit value and the storage access number, and the CPU usage of the storage 2 Reflect the load situation based on the rate. In addition, the management server 4 counts the number of times the CPU usage rate of each storage 2 is continuously greater than or equal to a predetermined threshold value. It may be determined that the load is high, and the upper limit value of the number of storage accesses may be limited. “Count” in FIG. 2 indicates the number of times the CPU usage rate has continuously exceeded the threshold value. By using the number of times the CPU usage rate is continuously equal to or higher than the predetermined threshold, the upper limit value is not limited when the CPU usage rate is instantaneously increased and the CPU usage rate is immediately decreased. Therefore, it is possible to prevent an access error from occurring in response to a read request from the client 72 even though the storage 2 is not actually in a high load state.

図3は、上限値の調整を行った場合の各ストレージ2の第1負荷情報とストレージ2の選択方法について説明するための図である。上限値の調整において、この例では、CPU使用率に対する閾値を70%とし、CPU使用率が連続して3回以上70%以上となった場合に、上限値を制限することとする。図2には、ストレージAのCPU使用率が「90%」であり、カウントが「2」となっていることが示されている。この場合、管理サーバ4は、ストレージAのCPU使用率が70%以上であることから、カウントをインクリメントして「3」とする。そして、カウントが3以上となったため、管理サーバ4は、このストレージAについて、ストレージアクセス数の上限値を制限する。ここでは、制限した上限値を「2」とした。また管理サーバ4は、ストレージBおよびCについても同様に、CPU使用率が70%以上であるか否かを判断する。ストレージCのCPU使用率は70%以上であるため、管理サーバ4は、カウントをインクリメントして「1」とする。そして、カウントはまだ3以上とはなっていないため、管理サーバ4は、ストレージCについては上限値を制限しない。   FIG. 3 is a diagram for explaining the first load information of each storage 2 and the selection method of the storage 2 when the upper limit value is adjusted. In the adjustment of the upper limit value, in this example, the threshold value for the CPU usage rate is set to 70%, and the upper limit value is limited when the CPU usage rate becomes three times or more and 70% or more continuously. FIG. 2 shows that the CPU usage rate of the storage A is “90%” and the count is “2”. In this case, since the CPU usage rate of the storage A is 70% or more, the management server 4 increments the count to “3”. Since the count is 3 or more, the management server 4 limits the upper limit value of the number of storage accesses for this storage A. Here, the limited upper limit value is “2”. Similarly, the management server 4 determines whether the CPU usage rate is 70% or more for the storages B and C. Since the CPU usage rate of the storage C is 70% or more, the management server 4 increments the count to “1”. Since the count has not yet reached 3 or more, the management server 4 does not limit the upper limit value for the storage C.

上限値を制限すると、図3に示されるように、ストレージAについて、上限値とストレージアクセス数との差異は「0」となる。これにより、ストレージA〜Cのうち、最も上限値とストレージアクセス数との差異が大きいストレージ2は、ストレージBとなる。   When the upper limit value is limited, as shown in FIG. 3, the difference between the upper limit value and the number of storage accesses for storage A is “0”. Thereby, among the storages A to C, the storage 2 having the largest difference between the upper limit value and the number of storage accesses becomes the storage B.

また、管理サーバ4が第2負荷情報を用いて読出サーバ3を選択する場合も、ストレージ2を選択する場合と同様である。上記の説明中において、ストレージ2を読出サーバ、第1負荷情報を第2負荷情報、ストレージアクセス数を読出サーバアクセス数と置き換えることで、読出サーバ3の選択についての説明となる。管理サーバ4は、データ読出処理を行うストレージ2および読出サーバ3を選択すると、選択した読出サーバ3に、選択したストレージ2を通知して、選択したストレージ2からデータを読み出させる。これにより、複数の読出サーバ3のうち、選択された読出サーバ3だけがデータの読出しを実行することになる。   Further, when the management server 4 selects the read server 3 using the second load information, it is the same as when the storage 2 is selected. In the above description, the selection of the read server 3 is described by replacing the storage 2 with the read server, the first load information with the second load information, and the storage access number with the read server access number. When the management server 4 selects the storage 2 and the read server 3 that perform data read processing, the management server 4 notifies the selected read server 3 of the selected storage 2 and causes the selected storage 2 to read data. Thus, only the selected read server 3 among the plurality of read servers 3 executes data reading.

次に、図4〜図8を用いて、リアルタイムデータ記録装置1が各種の処理を行う際の動作例について説明する。リアルタイムデータ記録装置1の行う処理は、主に、リアルタイムデータを記録するデータ記録処理と、リアルタイムデータ記録装置1の負荷状況を確認する負荷状況確認処理と、クライアント72からの読出要求に応答する読出要求応答処理とを含む。読出要求応答処理には、データ読出処理が含まれる。   Next, an operation example when the real-time data recording apparatus 1 performs various processes will be described with reference to FIGS. The processing performed by the real-time data recording device 1 mainly includes data recording processing for recording real-time data, load status confirmation processing for confirming the load status of the real-time data recording device 1, and reading in response to a read request from the client 72. Request response processing. The read request response process includes a data read process.

図4は、リアルタイムデータ記録装置1がデータ記録処理を行う際の動作例を説明するためのフローチャートである。データ記録処理は、リアルタイムデータ入力装置71がリアルタイムデータ記録装置1にリアルタイムデータを入力することで開始される。   FIG. 4 is a flowchart for explaining an operation example when the real-time data recording apparatus 1 performs a data recording process. The data recording process is started when the real-time data input device 71 inputs real-time data to the real-time data recording device 1.

リアルタイムデータ入力装置71がリアルタイムデータ記録装置1にリアルタイムデータを入力すると、リアルタイムデータ記録装置1の管理サーバ4は、入力されたリアルタイムデータを受け付ける(ステップS100)。   When the real time data input device 71 inputs real time data to the real time data recording device 1, the management server 4 of the real time data recording device 1 accepts the input real time data (step S100).

管理サーバ4は、受け付けたリアルタイムデータのデータ形式を変換してファイル化する(ステップS101)。   The management server 4 converts the data format of the received real-time data into a file (step S101).

続いて管理サーバ4は、ファイル化されたリアルタイムデータを、全ストレージ2にマルチキャストして記録させる(ステップS102)。これにより、全てのストレージ2に同一のデータが記憶されることになる。   Subsequently, the management server 4 multicasts and records the filed real-time data in all the storages 2 (step S102). As a result, the same data is stored in all the storages 2.

図5は、リアルタイムデータ記録装置1が負荷状況確認処理を行う際の動作例を説明するためのフローチャートである。負荷状況確認処理は、リアルタイムデータ記録装置1の管理サーバ4によって、定期的に実行される。   FIG. 5 is a flowchart for explaining an operation example when the real-time data recording apparatus 1 performs the load status confirmation process. The load status confirmation process is periodically executed by the management server 4 of the real-time data recording apparatus 1.

管理サーバ4は、ストレージ負荷確認処理が終わっていないストレージ2から1つのストレージ2を選択する(ステップS200)。そして、管理サーバ4は、選択されたストレージ2について、負荷状況を確認するストレージ負荷確認処理を行う(ステップS201)。なお、ストレージ負荷確認処理の詳細な内容については、図8を用いて後述する。管理サーバ4は、ストレージ負荷確認処理が終わっていないストレージ2が有るか否かを判断する(ステップS202)。   The management server 4 selects one storage 2 from the storages 2 for which the storage load confirmation process has not been completed (step S200). Then, the management server 4 performs a storage load confirmation process for confirming the load status for the selected storage 2 (step S201). The detailed contents of the storage load confirmation process will be described later with reference to FIG. The management server 4 determines whether there is a storage 2 that has not been subjected to the storage load confirmation process (step S202).

ストレージ負荷確認処理が終わっていないストレージ2が有る場合、管理サーバ4は、ステップS200〜ステップS202の処理を再び行う。これにより、全てのストレージ2についてストレージ負荷確認処理が行われるまで、ステップS200〜ステップS202の処理が繰り返される。   When there is a storage 2 that has not been subjected to the storage load confirmation process, the management server 4 performs the processes from step S200 to step S202 again. Thereby, the processing of step S200 to step S202 is repeated until the storage load confirmation processing is performed for all the storages 2.

ストレージ負荷確認処理が終わっていないストレージ2がなくなると、管理サーバ4は、続いて、サーバ負荷確認処理が終わっていない読出サーバ3を選択する(ステップS203)。そして、管理サーバ4は、選択された読出サーバ3について、サーバ負荷確認処理を行う(ステップS204)。なお、サーバ負荷確認処理の詳細な内容については、図7を用いて後述する。管理サーバ4は、サーバ負荷確認処理が終わっていない読出サーバ3があるか否かを判断する(ステップS205)。   When there is no storage 2 for which the storage load confirmation process has not been completed, the management server 4 subsequently selects the read server 3 for which the server load confirmation process has not been completed (step S203). Then, the management server 4 performs server load confirmation processing for the selected read server 3 (step S204). The detailed contents of the server load confirmation process will be described later with reference to FIG. The management server 4 determines whether or not there is a read server 3 that has not finished the server load confirmation process (step S205).

サーバ負荷確認処理が終わっていない読出サーバ3がある場合、管理サーバ4は、ステップS203〜ステップS205の処理を再び行う。これにより、全ての読出サーバ3についてサーバ負荷確認処理が行われるまで、ステップS203〜ステップS205の処理が繰り返される。これにより、全てのストレージ2と全ての読出サーバ3について、定期的に負荷状況が確認されることになる。   When there is a read server 3 that has not finished the server load confirmation process, the management server 4 performs the processes of steps S203 to S205 again. Thereby, the process of step S203-step S205 is repeated until the server load confirmation process is performed about all the read servers 3. FIG. As a result, the load status is periodically confirmed for all storages 2 and all read servers 3.

図6は、図5のステップS201のサブフローチャートであり、管理サーバ4がストレージ負荷確認処理を行う際の動作例を説明するための図である。ストレージ負荷確認処理は、各ストレージ2について、負荷状況を確認して第1負荷情報を生成し、管理テーブルに記録する処理と、第1負荷情報に含まれるストレージアクセス数の上限値を制限するか否かを決定し、現在の上限値を管理テーブルに記録する処理とを主に含む。   FIG. 6 is a sub-flowchart of step S201 in FIG. 5, and is a diagram for explaining an operation example when the management server 4 performs a storage load confirmation process. In the storage load confirmation processing, for each storage 2, whether the load status is confirmed, first load information is generated and recorded in the management table, and the upper limit value of the number of storage accesses included in the first load information is limited. And a process of determining whether or not and recording the current upper limit value in the management table.

管理サーバ4は、選択されたストレージ2に関して、現在のCPU使用率、現在のストレージアクセス数、およびストレージアクセス数の上限値を取得する(ステップS300)。管理サーバ4は、例えば現在のCPU使用率および現在のストレージアクセス数を、ストレージ2のMIBから取得することができる。また、管理サーバ4は、選択されたストレージ2のアクセス数の上限値を管理テーブルから取得することができる。   The management server 4 acquires the current CPU usage rate, the current number of storage accesses, and the upper limit value of the number of storage accesses for the selected storage 2 (step S300). The management server 4 can obtain the current CPU usage rate and the current storage access number from the MIB of the storage 2, for example. Further, the management server 4 can acquire the upper limit value of the number of accesses of the selected storage 2 from the management table.

管理サーバ4は、取得したCPU使用率が所定の閾値以上であるか否かを判断する(ステップS301)。CPU使用率が閾値以上である場合、管理サーバ4は、CPU使用率が連続して閾値以上となった回数が規定回数以上であるか否かを判断する(ステップS302)。連続して閾値以上となった回数が規定回数以上である場合、管理サーバ4は、ストレージアクセス数の上限値を制限する(ステップS303)。   The management server 4 determines whether or not the acquired CPU usage rate is greater than or equal to a predetermined threshold (step S301). When the CPU usage rate is equal to or greater than the threshold, the management server 4 determines whether or not the number of times the CPU usage rate is continuously equal to or greater than the threshold is equal to or greater than the specified number (step S302). When the number of times that the threshold is continuously exceeded is equal to or more than the specified number, the management server 4 limits the upper limit value of the number of storage accesses (step S303).

CPU使用率が連続して閾値以上となった回数が規定回数未満である場合、管理サーバ4は、連続して閾値以上となった回数をカウントアップする(ステップS304)。また、CPU使用率が閾値未満である場合、管理サーバ4は、ストレージアクセス数の上限値に対する制限を解除する(ステップS305)。ストレージアクセス数の上限値に対する制限を解除すると、管理サーバ4は、連続して閾値以上となった回数を初期化して「0」とする(ステップS306)。   When the number of times the CPU usage rate has continuously exceeded the threshold is less than the specified number, the management server 4 counts up the number of times the CPU usage rate has continuously exceeded the threshold (step S304). If the CPU usage rate is less than the threshold, the management server 4 releases the restriction on the upper limit value of the number of storage accesses (step S305). When the restriction on the upper limit value of the storage access number is released, the management server 4 initializes the number of times that the threshold value is continuously equal to or greater than the threshold value to “0” (step S306).

ステップS303の処理、ステップS304の処理、またはステップS306の処理が終わると、管理サーバ4は、管理テーブルを書き換えて、現在のCPU使用率、およびストレージアクセス数を更新する。また、管理サーバ4は、ストレージアクセス数の上限値が変化している場合、ストレージアクセス数の上限値についても、管理テーブルを書き換えて更新する(ステップS307)。   When the process of step S303, the process of step S304, or the process of step S306 ends, the management server 4 rewrites the management table and updates the current CPU usage rate and the number of storage accesses. If the upper limit value of the storage access number has changed, the management server 4 also rewrites and updates the management table for the upper limit value of the storage access number (step S307).

図7は、図5のステップS204のサブフローチャートであり、管理サーバ4がサーバ負荷確認処理を行う際の動作例を説明するための図である。サーバ負荷確認処理は、各読出サーバ3について、負荷状況を確認して第2負荷情報を生成し、管理テーブルに記録する処理と、第2負荷情報に含まれる読出サーバアクセス数の上限値を制限するか否かを決定し、現在の上限値を管理テーブルに記録する処理とを主に含む。   FIG. 7 is a sub-flowchart of step S204 in FIG. 5 and is a diagram for explaining an operation example when the management server 4 performs server load confirmation processing. In the server load confirmation process, for each read server 3, the load status is confirmed, second load information is generated and recorded in the management table, and the upper limit value of the number of read server accesses included in the second load information is limited. And a process of determining whether to perform the process and recording the current upper limit value in the management table.

管理サーバ4は、選択された読出サーバ3に関して、現在のCPU使用率、現在の読出サーバアクセス数、および読出サーバアクセス数の上限値を取得する(ステップS400)。管理サーバ4は、例えば現在のCPU使用率および現在の読出サーバアクセス数を、読出サーバ3のMIBから取得することができる。また、管理サーバ4は、選択された読出サーバ3のアクセス数の上限値を管理テーブルから取得することができる。   The management server 4 obtains the current CPU usage rate, the current number of read server accesses, and the upper limit value of the number of read server accesses for the selected read server 3 (step S400). The management server 4 can obtain, for example, the current CPU usage rate and the current number of read server accesses from the MIB of the read server 3. Further, the management server 4 can acquire the upper limit value of the number of accesses of the selected read server 3 from the management table.

管理サーバ4は、取得したCPU使用率が所定の閾値以上であるか否かを判断する(ステップS401)。CPU使用率が閾値以上である場合、管理サーバ4は、CPU使用率が連続して閾値以上となった回数が規定回数以上であるか否かを判断する(ステップS402)。連続して閾値以上となった回数が規定回数以上である場合、管理サーバ4は、読出サーバアクセス数の上限値を制限する(ステップS403)。   The management server 4 determines whether or not the acquired CPU usage rate is greater than or equal to a predetermined threshold (step S401). When the CPU usage rate is equal to or higher than the threshold value, the management server 4 determines whether or not the number of times the CPU usage rate is continuously equal to or higher than the threshold value is equal to or higher than the specified number (step S402). When the number of times that the threshold value is continuously exceeded is equal to or more than the specified number, the management server 4 limits the upper limit value of the number of read server accesses (step S403).

CPU使用率が連続して閾値以上となった回数が規定回数未満である場合、管理サーバ4は、連続して閾値以上となった回数をカウントアップする(ステップS404)。また、CPU使用率が閾値未満である場合、管理サーバ4は、読出サーバアクセス数の上限値に対する制限を解除する(ステップS405)。読出サーバアクセス数の上限値に対する制限を解除すると、管理サーバ4は、連続して閾値以上となった回数を初期化して「0」とする(ステップS406)。   When the number of times the CPU usage rate has continuously exceeded the threshold is less than the specified number, the management server 4 counts up the number of times the CPU usage rate has continuously exceeded the threshold (step S404). If the CPU usage rate is less than the threshold value, the management server 4 releases the restriction on the upper limit value of the read server access number (step S405). When the restriction on the upper limit value of the number of read server accesses is canceled, the management server 4 initializes the number of times that the threshold value is continuously exceeded or more to “0” (step S406).

ステップS403の処理、ステップS404の処理、またはステップS406の処理が終わると、管理サーバ4は、管理テーブルを書き換えて、現在のCPU使用率、および読出サーバアクセス数を更新する。また、管理サーバ4は、読出サーバアクセス数の上限値が変化している場合、読出サーバアクセス数の上限値についても、管理テーブルを書き換えて更新する(ステップS407)。   When the process of step S403, the process of step S404, or the process of step S406 ends, the management server 4 rewrites the management table and updates the current CPU usage rate and the number of read server accesses. Further, when the upper limit value of the read server access number has changed, the management server 4 rewrites and updates the management table for the upper limit value of the read server access number (step S407).

図8は、クライアント72がリアルタイムデータ記録装置1に記憶されたデータの読み出しを要求する読出要求を管理サーバ4に入力したときに、管理サーバ4が読出要求応答処理を行う際の動作例を説明するためのフローチャートである。   FIG. 8 illustrates an operation example when the management server 4 performs a read request response process when the client 72 inputs a read request for requesting reading of data stored in the real-time data recording device 1 to the management server 4. It is a flowchart for doing.

管理サーバ4は、クライアント72が入力した読出要求を受け付ける(ステップS500)。管理サーバ4は、ストレージアクセス数の合計は、上限以下であるか否かを判断する。例えば、管理サーバ4は、管理テーブルから各ストレージ2のストレージアクセス数と上限値とをそれぞれ取得して、ストレージアクセス数の合計が上限値の合計以下であるか否かを判断する(ステップS501)。   The management server 4 receives the read request input by the client 72 (step S500). The management server 4 determines whether the total number of storage accesses is equal to or less than the upper limit. For example, the management server 4 acquires the storage access number and the upper limit value of each storage 2 from the management table, and determines whether or not the total storage access number is equal to or less than the total upper limit value (step S501). .

ストレージアクセス数の合計が上限以下である場合、管理サーバ4は、第1負荷情報に基づいて、複数のストレージ2のいずれかを、データ読出処理に用いるストレージ2として選択する。管理サーバ4は、例えば、図2を用いて説明したように、各ストレージ2の上限値とストレージアクセス数との差異が最も大きいストレージ2を選択する(ステップS502)。   When the total number of storage accesses is equal to or less than the upper limit, the management server 4 selects one of the plurality of storages 2 as the storage 2 used for the data read process based on the first load information. For example, as described with reference to FIG. 2, the management server 4 selects the storage 2 having the largest difference between the upper limit value of each storage 2 and the number of storage accesses (step S502).

管理サーバ4は、読出サーバアクセス数の合計が上限以下であるか否かを判断する。例えば、管理サーバ4は、管理テーブルから各読出サーバ3の読出サーバアクセス数と上限値とをそれぞれ取得して、読出サーバアクセス数の合計が上限値の合計以下であるか否かを判断する(ステップS503)。   The management server 4 determines whether or not the total number of read server accesses is equal to or less than the upper limit. For example, the management server 4 acquires the number of read server accesses and the upper limit value of each read server 3 from the management table, and determines whether or not the sum of the read server access numbers is equal to or less than the sum of the upper limit values ( Step S503).

読出サーバアクセス数の合計が上限以下である場合、管理サーバ4は、第2負荷情報に基づいて、複数の読出サーバ3のいずれかを、データ読出処理に用いる読出サーバ3として選択する。管理サーバ4は、例えば読出サーバ3についても、各読出サーバ3の上限値と読出サーバアクセス数との差異が最も大きい読出サーバ3を選択する(ステップS504)。   When the total number of read server accesses is equal to or less than the upper limit, the management server 4 selects one of the plurality of read servers 3 as the read server 3 used for the data read process based on the second load information. The management server 4 also selects, for example, the read server 3 that has the largest difference between the upper limit value of each read server 3 and the number of read server accesses (step S504).

そして管理サーバ4は、選択した読出サーバ3に、選択したストレージ2を通知することで、データを選択されたストレージ2から読み出させる(ステップS505)。   Then, the management server 4 notifies the selected read server 3 of the selected storage 2 to read data from the selected storage 2 (step S505).

また、読出サーバアクセス数の合計が上限未満である場合、管理サーバ4は、ステップS502で選択したストレージ2の選択を解除する(ステップS506)。そして管理サーバ4は、エラー応答をクライアント72に返す。またステップS501でストレージアクセス数の合計が上限未満である場合にも、管理サーバ4は、エラー応答をクライアント72に返す(ステップS507)。   If the total number of read server accesses is less than the upper limit, the management server 4 cancels the selection of the storage 2 selected in step S502 (step S506). Then, the management server 4 returns an error response to the client 72. Also, in the case where the total number of storage accesses is less than the upper limit in step S501, the management server 4 returns an error response to the client 72 (step S507).

(変形例)
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
(Modification)
While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

例えば、上記実施形態では、リアルタイムデータ記録装置1は、複数の読出サーバ3を備えることとしたが、本発明はかかる例に限定されない。例えば、リアルタイムデータ記録装置1は、1つの読出サーバ3を有してもよい。ストレージ2や読出サーバ3は、各リソースの処理能力に応じて、様々な構成をとることができる。   For example, in the above embodiment, the real-time data recording apparatus 1 includes the plurality of read servers 3, but the present invention is not limited to such an example. For example, the real-time data recording apparatus 1 may have one read server 3. The storage 2 and the read server 3 can take various configurations according to the processing capability of each resource.

また、上記実施形態では、図8の読出要求応答処理は、クライアント72からの読出要求に応じて実行されることとしたが、本発明はかかる例に限定されない。例えば管理サーバ4は、既に読出処理が開始された状態であっても定期的に第1負荷情報に基づいたストレージ2の選択を行うことができる。例えば、管理サーバ4は、複数のストレージ2のいずれかを選択した後、選択されたストレージ2の第1負荷情報が所定の条件を満たした場合、他のストレージ2を選択することで、データを読み出すために用いられるストレージ2を切り替える。これにより、既に読出処理が開始された後であっても、読出処理に用いられているストレージ2の負荷が高まった場合、読出処理に用いるストレージ2を切り替えることができる。この場合、読出要求を受け付けた際には、所定の順番で複数のストレージ2のいずれかを選択してもよいし、第1負荷情報に基づいて複数のストレージ2のいずれかを選択してもよい。また、管理サーバ4は、第1負荷情報を繰り返し取得し、第1負荷情報が所定の条件を連続して満たした回数をカウントし、当該回数が規定数を超えた場合、他のストレージ2を選択してもよい。これにより、データを読み出すために用いれらるストレージ2が頻繁に切り替わることを抑制することが可能になる。   In the above embodiment, the read request response process in FIG. 8 is executed in response to a read request from the client 72, but the present invention is not limited to this example. For example, the management server 4 can periodically select the storage 2 based on the first load information even when the reading process has already been started. For example, the management server 4 selects one of the plurality of storages 2, and if the first load information of the selected storage 2 satisfies a predetermined condition, the management server 4 selects another storage 2 to store data. The storage 2 used for reading is switched. Thereby, even after the reading process has already started, if the load on the storage 2 used for the reading process increases, the storage 2 used for the reading process can be switched. In this case, when the read request is received, any of the plurality of storages 2 may be selected in a predetermined order, or any of the plurality of storages 2 may be selected based on the first load information. Good. In addition, the management server 4 repeatedly acquires the first load information, counts the number of times the first load information continuously satisfies the predetermined condition, and if the number exceeds the specified number, You may choose. As a result, it is possible to suppress frequent switching of the storage 2 used for reading data.

また、上記実施形態では、リアルタイムデータ記録装置1の構成と、動作例について主に説明したが、リアルタイムデータ記録装置1の各機能を実現するためのコンピュータプログラムを作成することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。また、コンピュータプログラムは、記録媒体を用いずに、例えば有線または無線の通信によりネットワークを介して配信されてよい。   In the above embodiment, the configuration and operation example of the real-time data recording apparatus 1 have been mainly described. However, a computer program for realizing each function of the real-time data recording apparatus 1 can be created. In addition, a computer-readable recording medium storing such a computer program can be provided. Further, the computer program may be distributed via a network by, for example, wired or wireless communication without using a recording medium.

以上説明したように、本発明の第1の実施形態によれば、記憶装置の一例であるリアルタイムデータ記録装置1は、記憶部であるストレージ2と、管理部である管理サーバ4と、読出部である読出サーバ3とを有する。ストレージ2は、それぞれが同一のデータを記憶し、管理サーバ4は、各ストレージ2の負荷状況を示す第1負荷情報に基づいて、複数のストレージ2のいずれかを選択する。読出サーバ3は、選択されたストレージ2からデータを読み出す。これにより、複数のストレージ2には、同一のデータが記憶されているため、リアルタイムデータ記録装置1に記憶されているデータを、データを移動させることなく、どのストレージ2からでも取り出すことができる。そして、各ストレージ2の負荷状況に基づいて選択されたストレージ2からデータを取り出すことができるため、同じストレージ2にアクセスが集中することを抑制して、負荷の低いストレージ2からデータを取り出すことができる。したがって、同じデータに対して複数のクライアントが同時にアクセスする場合であっても、スループットの低下を抑制することが可能になる。   As described above, according to the first embodiment of the present invention, the real-time data recording device 1 that is an example of the storage device includes the storage 2 that is the storage unit, the management server 4 that is the management unit, and the reading unit. And a read server 3. The storage 2 stores the same data, and the management server 4 selects one of the plurality of storages 2 based on the first load information indicating the load status of each storage 2. The read server 3 reads data from the selected storage 2. Thereby, since the same data is stored in the plurality of storages 2, the data stored in the real-time data recording apparatus 1 can be taken out from any storage 2 without moving the data. Since data can be extracted from the storage 2 selected based on the load status of each storage 2, it is possible to suppress the concentration of access to the same storage 2 and to extract data from the storage 2 with a low load. it can. Therefore, even when a plurality of clients access the same data at the same time, it is possible to suppress a decrease in throughput.

また、上記実施形態の変形例によれば、管理サーバ4は、複数のストレージ2のいずれかを選択した後、選択されたストレージ2の第1負荷情報が所定の条件を満たした場合、他のストレージ2を選択することで、データを読み出すために用いられるストレージ2を切り替える。これにより、読出処理が開始された後であっても、ストレージ2の負荷状況に応じて、読出処理に用いられるストレージ2を切り替えることができる。したがって、より確実に、スループットの低下を抑制することが可能になる。   Further, according to the modification of the above embodiment, when the management server 4 selects any one of the plurality of storages 2 and the first load information of the selected storage 2 satisfies a predetermined condition, By selecting the storage 2, the storage 2 used for reading data is switched. Thereby, even after the reading process is started, the storage 2 used for the reading process can be switched according to the load status of the storage 2. Therefore, it is possible to more reliably suppress a decrease in throughput.

また、上記実施形態によれば、管理サーバ4は、第1負荷情報を繰り返し取得し、第1負荷情報が所定の条件を連続して満たした回数をカウントし、当該回数が規定数を超えた場合、他のストレージ2を選択する。これにより、第1負荷情報が所定の条件を満たしている期間が短い場合には、ストレージ2が切り替えられないため、頻繁にストレージ2が切り替わって信頼性が低下することを抑制することが可能になる。   In addition, according to the above embodiment, the management server 4 repeatedly acquires the first load information, counts the number of times the first load information continuously satisfies the predetermined condition, and the number of times exceeds the specified number. If this is the case, another storage 2 is selected. As a result, when the period during which the first load information satisfies the predetermined condition is short, the storage 2 cannot be switched. Therefore, it is possible to prevent the reliability of the storage 2 from being frequently switched and lowering the reliability. Become.

また、上記実施形態によれば、管理サーバ4は、データの読み出しを要求する読出要求を受け付けると、第1負荷情報に基づいて複数のストレージ2のいずれかを選択する。これにより、読み出し開始時に各ストレージ2の負荷状況に応じて読出処理に用いるストレージ2が選択されるため、より確実に、スループットの低下を抑制することが可能になる。   Further, according to the embodiment, the management server 4 selects one of the plurality of storages 2 based on the first load information when receiving a read request for requesting data read. As a result, the storage 2 used for the reading process is selected according to the load status of each storage 2 at the start of reading, so that it is possible to more reliably suppress a decrease in throughput.

また、上記実施形態によれば、複数のストレージ2のそれぞれは制御装置であるCPUを有し、管理サーバ4は、第1負荷情報として、各CPUの使用率および各ストレージ2に対するアクセス数の少なくともいずれかを用いる。これにより、CPU使用率またはアクセス数に基づいて、負荷が低いストレージ2を選択することが可能になる。したがって、より確実に、スループットの低下を抑制することが可能になる。   Further, according to the above embodiment, each of the plurality of storages 2 has a CPU that is a control device, and the management server 4 has at least the usage rate of each CPU and the number of accesses to each storage 2 as the first load information. Either one is used. This makes it possible to select the storage 2 with a low load based on the CPU usage rate or the number of accesses. Therefore, it is possible to more reliably suppress a decrease in throughput.

また、上記実施形態によれば、管理サーバ4は、使用率およびアクセス数を第1負荷情報として用いるものであって、各ストレージ2について、当該ストレージ2のアクセス数と当該ストレージ2に対して設定された上限値との差異を算出し、当該算出結果に基づいて、複数のストレージ2のいずれかを選択し、CPU使用率に基づいて、上限値をストレージ2ごとに調整する。これにより、使用率およびアクセス数に基づいてより正確にストレージ2の負荷状況を把握することができる。また、外部からのアクセスを伴わない内部処理によって処理負荷が増大しており、アクセス数は増大しないがCPU使用率が増大している場合であっても、処理負荷の増大に応じた値となる差異に基づいてストレージ2を選択することができる。したがって、より確実に、スループットの低下を抑制することが可能になる。   Further, according to the embodiment, the management server 4 uses the usage rate and the number of accesses as the first load information, and sets the number of accesses to the storage 2 and the storage 2 for each storage 2. The difference between the calculated upper limit value is calculated, one of the plurality of storages 2 is selected based on the calculation result, and the upper limit value is adjusted for each storage 2 based on the CPU usage rate. Thereby, the load status of the storage 2 can be grasped more accurately based on the usage rate and the number of accesses. In addition, the processing load increases due to internal processing that does not involve external access, and even if the CPU usage rate is increasing although the number of accesses does not increase, it becomes a value according to the increase in processing load. The storage 2 can be selected based on the difference. Therefore, it is possible to more reliably suppress a decrease in throughput.

また、上記実施形態によれば、管理サーバ4は、CPU使用率を繰り返し取得し、CPU使用率が連続して所定の閾値を超えた回数をカウントし、当該回数が規定値を超えた場合、上限値を下げる。これにより、CPU使用率に基づいて処理負荷が高いと判断される状態が所定時間以上続いた場合、アクセス数が制限され、瞬時的に処理負荷が上昇した場合、アクセス数は制限されない。したがって、不要にアクセス数が制限されることを抑制することが可能であり、より確実に、スループットの低下を抑制することが可能になる。   Further, according to the above embodiment, the management server 4 repeatedly acquires the CPU usage rate, counts the number of times the CPU usage rate continuously exceeds a predetermined threshold, and when the number of times exceeds a specified value, Lower the upper limit. Thereby, when the state where the processing load is determined to be high based on the CPU usage rate continues for a predetermined time or more, the number of accesses is limited, and when the processing load increases instantaneously, the number of accesses is not limited. Therefore, it is possible to prevent the number of accesses from being unnecessarily limited, and it is possible to more reliably suppress a decrease in throughput.

また、上記実施形態によれば、リアルタイムデータ記録装置1は、複数の読出サーバ3を備え、管理サーバ4は、各読出サーバ3の負荷状況を示す第2負荷情報に基づいて、複数の読出サーバ3のいずれかを選択する。そして選択された読出サーバ3は、選択されたストレージ2からデータを読み出す。これにより、読出サーバ3についても処理負荷が分散され、より確実に、スループットの低下を抑制することが可能になる。   In addition, according to the above embodiment, the real-time data recording apparatus 1 includes the plurality of reading servers 3, and the management server 4 uses the plurality of reading servers based on the second load information indicating the load status of each reading server 3. 3 is selected. Then, the selected read server 3 reads data from the selected storage 2. As a result, the processing load is also distributed to the read server 3, and it is possible to more reliably suppress a decrease in throughput.

(第2の実施形態)
図9は、本発明の第2の実施形態にかかる記憶装置100の構成を示すブロック図である。
(Second Embodiment)
FIG. 9 is a block diagram showing a configuration of the storage device 100 according to the second embodiment of the present invention.

記憶装置100は、複数の記憶部120と、管理部130と、読出部140とを有する。記憶部120は、それぞれが同一のデータを記憶する。管理部130は、各記憶部120の負荷状況を示す第1負荷情報に基づいて、複数の記憶部120のいずれかを選択する。読出部140は、選択された記憶部120からデータを読み出す。   The storage device 100 includes a plurality of storage units 120, a management unit 130, and a reading unit 140. Each storage unit 120 stores the same data. The management unit 130 selects one of the plurality of storage units 120 based on the first load information indicating the load status of each storage unit 120. The reading unit 140 reads data from the selected storage unit 120.

図10は、記憶装置100の動作を説明するためのフローチャートである。記憶装置100の管理部130は、第1負荷情報に基づいて、複数の記憶部120のいずれかを選択する(ステップS600)。読出部140は、選択された記憶部120からデータを読み出す(ステップS601)。   FIG. 10 is a flowchart for explaining the operation of the storage device 100. The management unit 130 of the storage device 100 selects one of the plurality of storage units 120 based on the first load information (Step S600). The reading unit 140 reads data from the selected storage unit 120 (step S601).

以上説明したように、本発明の第2の実施形態によれば、複数の記憶部120には、同一のデータが記憶されているため、どのデータを取り出す場合であっても、記憶部120間でデータを移動させることなくどの記憶部120からでもデータを取り出すことができる。また、各記憶部120の負荷状況に基づいて選択された記憶部120からデータを取り出すことができるため、同じ記憶部120にアクセスが集中することを抑制して、負荷の低い記憶部120からデータを取り出すことができる。したがって、同じデータに対して複数のクライアントが同時にアクセスする場合であっても、スループットの低下を抑制することが可能になる。   As described above, according to the second embodiment of the present invention, the same data is stored in the plurality of storage units 120. The data can be extracted from any storage unit 120 without moving the data. In addition, since data can be extracted from the storage unit 120 selected based on the load status of each storage unit 120, the concentration of access to the same storage unit 120 is suppressed, and data from the storage unit 120 with low load is reduced. Can be taken out. Therefore, even when a plurality of clients access the same data at the same time, it is possible to suppress a decrease in throughput.

1 リアルタイムデータ記録装置
2 ストレージ
3 読出サーバ
4 管理サーバ
71 リアルタイムデータ入力装置
72 クライアント
DESCRIPTION OF SYMBOLS 1 Real time data recording device 2 Storage 3 Reading server 4 Management server 71 Real time data input device 72 Client

Claims (10)

それぞれが同一のデータを記憶する複数の記憶部と、
各記憶部の負荷状況を示す第1負荷情報に基づいて、前記複数の記憶部のいずれかを選択する管理部と、
選択された前記記憶部から前記データを読み出す読出部と、を備える記憶装置。
A plurality of storage units each storing the same data;
A management unit that selects one of the plurality of storage units based on first load information indicating a load status of each storage unit;
And a reading unit that reads the data from the selected storage unit.
前記管理部は、前記複数の記憶部のいずれかを選択した後で、当該選択された記き憶部の前記第1負荷情報が所定の条件を満たした場合、他の記憶部を選択することで、前記データを読み出すために用いられる記憶部を切り替える、請求項1に記載の記憶装置。   After selecting one of the plurality of storage units, the management unit selects another storage unit when the first load information of the selected storage unit satisfies a predetermined condition. The storage device according to claim 1, wherein the storage unit used for reading the data is switched. 前記管理部は、前記第1負荷情報を繰り返し取得し、前記第1負荷情報が前記所定の条件を連続して満たした回数をカウントし、当該回数が規定数を超えた場合、前記他の記憶部を選択する、請求項2に記載の記憶装置。   The management unit repeatedly acquires the first load information, counts the number of times the first load information continuously satisfies the predetermined condition, and if the number exceeds the specified number, the other storage The storage device according to claim 2, wherein the storage unit is selected. 前記管理部は、前記データの読み出しを要求する読出要求を受け付けると、前記第1負荷情報に基づいて前記複数の記憶部のいずれかを選択する、請求項1ないし3のいずれか1項に記載の記憶装置。   4. The control unit according to claim 1, wherein the management unit selects any of the plurality of storage units based on the first load information when receiving a read request for requesting reading of the data. 5. Storage device. 前記複数の記憶部のそれぞれは制御装置を有し、
前記管理部は、前記第1負荷情報として、各制御装置の使用率および各記憶部に対するアクセス数の少なくとも一方を用いる、請求項1ないし4のいずれか1項に記載の記憶装置。
Each of the plurality of storage units has a control device,
5. The storage device according to claim 1, wherein the management unit uses at least one of a usage rate of each control device and the number of accesses to each storage unit as the first load information. 6.
前記管理部は、前記使用率および前記アクセス数を前記第1負荷情報として用いるものであって、各記憶部について、当該記憶部のアクセス数と当該記憶部に対して設定された上限値との差を算出し、当該算出結果に基づいて、前記複数の記憶部のいずれかを選択し、前記使用率に基づいて、前記上限値を前記記憶部ごとに調整する、請求項5に記載の記憶装置。   The management unit uses the usage rate and the number of accesses as the first load information, and for each storage unit, the number of accesses of the storage unit and an upper limit value set for the storage unit The memory according to claim 5, wherein a difference is calculated, one of the plurality of storage units is selected based on the calculation result, and the upper limit value is adjusted for each of the storage units based on the usage rate. apparatus. 前記管理部は、前記使用率を繰り返し取得し、当該使用率が連続して所定の閾値を超えた回数をカウントし、当該回数が規定値を超えた場合、前記上限値を下げる、請求項6に記載の記憶装置。   The management unit repeatedly acquires the usage rate, counts the number of times the usage rate has continuously exceeded a predetermined threshold, and lowers the upper limit value when the number of times exceeds a specified value. The storage device described in 1. 前記読出部を複数備え、
前記管理部は、各読出部の負荷状況を示す第2負荷情報に基づいて、前記複数の読出部のいずれかを選択し、
選択された前記読出部は、前記選択された記憶部から前記データを読み出す、請求項1ないし7のいずれか1項に記載の記憶装置。
A plurality of the reading unit,
The management unit selects one of the plurality of reading units based on second load information indicating a load status of each reading unit,
The storage device according to claim 1, wherein the selected reading unit reads the data from the selected storage unit.
それぞれが同一のデータを記憶する複数の記憶部のそれぞれの負荷状況を示す第1負荷情報に基づいて、前記複数の記憶部のいずれかを選択し、
選択された前記記憶部から前記データを読み出す、データ読出方法。
Based on the first load information indicating the load status of each of a plurality of storage units each storing the same data, select one of the plurality of storage units,
A data reading method for reading the data from the selected storage unit.
コンピュータを、
それぞれが同一のデータを記憶する複数の記憶部と、
各記憶部の負荷状況を示す第1負荷情報に基づいて、前記複数の記憶部のいずれかを選択する管理部と、
選択された前記記憶部から前記データを読み出す読出部と、を備える記憶装置として機能させるためのプログラム。
Computer
A plurality of storage units each storing the same data;
A management unit that selects one of the plurality of storage units based on first load information indicating a load status of each storage unit;
A program for functioning as a storage device comprising: a reading unit that reads out the data from the selected storage unit.
JP2014077544A 2014-04-04 2014-04-04 Storage device, data reading method, and program Pending JP2015200930A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014077544A JP2015200930A (en) 2014-04-04 2014-04-04 Storage device, data reading method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014077544A JP2015200930A (en) 2014-04-04 2014-04-04 Storage device, data reading method, and program

Publications (1)

Publication Number Publication Date
JP2015200930A true JP2015200930A (en) 2015-11-12

Family

ID=54552165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014077544A Pending JP2015200930A (en) 2014-04-04 2014-04-04 Storage device, data reading method, and program

Country Status (1)

Country Link
JP (1) JP2015200930A (en)

Similar Documents

Publication Publication Date Title
EP3419247B1 (en) Method and device for storage resource allocation for video cloud storage
US9916275B2 (en) Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system
CN105487814B (en) The performance aware power cap of data storage device controls
US9063912B2 (en) Multimedia content preview rendering in a cloud content management system
CN102541460B (en) Multiple disc management method and equipment
CN105446456B (en) Data storage device with performance aware power cap
CN104580439B (en) Method for uniformly distributing data in cloud storage system
JP2018073412A (en) Solid-state drive capable of multiple stream, driver therefor, and method for integrating data stream
US20170353537A1 (en) Predictive load balancing for a digital environment
US20120044532A1 (en) Management device, file server system, execution method and management program
US9460399B1 (en) Dynamic event driven storage system optimization
US8914517B1 (en) Method and system for predictive load balancing
US9177274B2 (en) Queue with segments for task management
US20120066470A1 (en) Method and system for allocating memory to a pipeline
CN108228323B (en) Hadoop task scheduling method and device based on data locality
US10289312B2 (en) Method of reordering a queue of write requests
JP2015200930A (en) Storage device, data reading method, and program
US9933966B2 (en) Storage control device and computer system
CN111405313B (en) Method and system for storing streaming media data
JP6039345B2 (en) Image management apparatus, image management method, and program
JP5528713B2 (en) Video distribution system
KR101325605B1 (en) A method for distributing traffic on storage by migrating contents between storages
JP6786835B2 (en) Management equipment, servers, thin client systems, management methods and programs
CN116405491B (en) File batch uploading method and system, electronic equipment and computer readable storage medium
WO2023157304A1 (en) Data processing device, method, and program