JP2013088920A - Computer system and data management method - Google Patents

Computer system and data management method Download PDF

Info

Publication number
JP2013088920A
JP2013088920A JP2011227046A JP2011227046A JP2013088920A JP 2013088920 A JP2013088920 A JP 2013088920A JP 2011227046 A JP2011227046 A JP 2011227046A JP 2011227046 A JP2011227046 A JP 2011227046A JP 2013088920 A JP2013088920 A JP 2013088920A
Authority
JP
Japan
Prior art keywords
value
file
information
storage area
storage
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
JP2011227046A
Other languages
Japanese (ja)
Inventor
Toshiyuki Ukai
敏之 鵜飼
Akira Aoki
亮 青木
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011227046A priority Critical patent/JP2013088920A/en
Publication of JP2013088920A publication Critical patent/JP2013088920A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To perform management so that a plurality of applications share the same value in key value type data arranged in a distributed memory cache.SOLUTION: The computer system includes: a plurality of first computers for storing data; and a second computer for managing the data stored in each of the plurality of first computers. The computer system includes a storage generated by integrating storage areas provided by the plurality of first computers. The storage stores first divided data including first access information and a first retrieval key and a value of a first file. The second computer generates a second retrieval key when receiving an arrangement request of divided data of the first file from the application, determines whether or not the value of the first file is shared value, and stores second divided data including the second retrieval key and the first access information in the storage when it is determined that the value of the first file is the shared value.

Description

本発明は、データを分散して配置するストレージを備える計算機システム及びデータ管理方法に関する。   The present invention relates to a computer system and a data management method including a storage for distributing and arranging data.

近年、計算機システムにおいてアプリケーションプログラムが処理すべきデータ量は爆発的に増えてきている。計算機システムが扱うデータ量の増大に伴う処理時間の増加によって、バッチジョブなどの処理が所定の時間内に終わらないといった問題が生じてきている。このため、大量のデータを高速に処理することが要求されており、これを実現するために、例えば、多数のサーバに大量のデータを並列処理させることによって処理の高速化を図る要求が増大してきている。   In recent years, the amount of data to be processed by application programs in computer systems has increased explosively. Due to an increase in processing time accompanying an increase in the amount of data handled by a computer system, a problem has arisen that processing such as batch jobs does not end within a predetermined time. For this reason, it is required to process a large amount of data at high speed, and in order to realize this, for example, a request for speeding up the processing by causing a large number of servers to process a large amount of data in parallel has increased. ing.

従来のアプリケーションプログラムでは、一般に、データをファイル形式またはデータベース(DB)の表形式で扱っている。アプリケーションプログラム毎に、ファイル及び表の使い方が異なっている。特に、メインフレームが使われるような基幹業務処理では、プログラミング言語としてCOBOLを用いて、アプリケーションプログラムが作成される。前述したようなアプリケーションプログラムでは、ファイル及び表をレコードの集合としてデータが扱われる。   Conventional application programs generally handle data in a file format or a database (DB) table format. Each application program uses different files and tables. In particular, in a basic business process in which a mainframe is used, an application program is created using COBOL as a programming language. In the application program as described above, data is handled with a file and a table as a set of records.

レコードは、アプリケーションプログラムが処理するデータの基本単位であり、アプリケーションプログラムは、レコード単位でデータの入出力を行う。1件のレコードには、一連の関連する情報が格納されており、当該情報の各項目はフィールドと呼ばれる。金融機関で扱われるような情報を例にすると、1件の取引情報がレコードに、口座番号、店番号、及び商品コードといった各項目がフィールドに相当する。   A record is a basic unit of data processed by an application program, and the application program inputs and outputs data in record units. One record stores a series of related information, and each item of the information is called a field. Taking information handled by a financial institution as an example, one item of transaction information corresponds to a record, and each item such as an account number, a store number, and a product code corresponds to a field.

アプリケーションプログラムは、ファイルからレコードを1件ずつ順次読み出して所定の処理を実行する。従来のアプリケーションプログラムが前述したような形式のデータを並列して処理する場合、データをレコード単位で分割して処理を実行させる方法が考えられる。   The application program sequentially reads records one by one from the file and executes predetermined processing. When a conventional application program processes data in the format as described above in parallel, a method of executing processing by dividing the data into records can be considered.

データを分割する理由としては、アプリケーションプログラムはレコードを一件ずつ読み出して処理を実行するため、単にデータの複製を生成し、複数のサーバが当該データを処理するだけでは、各サーバの処理量は変わらないためである。   The reason for dividing the data is that the application program reads the records one by one and executes the process. Therefore, simply creating a copy of the data and processing the data by multiple servers, the processing amount of each server is This is because it does not change.

レコード単位のデータの分割という観点では、データベースをキーによってレコード単位で分割する分散データベース技術がある(例えば、特許文献1参照)。特許文献1には、キーレンジによってデータベースに格納されるデータをレコード毎に分割し、処理の並列化を実現する技術が記載されている。   From the viewpoint of dividing data in units of records, there is a distributed database technique that divides a database in units of records using keys (see, for example, Patent Document 1). Japanese Patent Application Laid-Open No. 2005-228561 describes a technique for realizing parallel processing by dividing data stored in a database for each record by a key range.

また、データの並列処理に関する技術として、各サーバが共有するディスク上で稼動する非共有データベースシステムにおいて負荷の平準化を行う技術がある(例えば、特許文献2参照)。特許文献2には、複数のデータベースサーバから構成され、データ領域を細分化し、データベースサーバへの各データ領域の割り当てを変えることによってデータベースサーバ間でのデータの受渡しを可能とし、データ処理の並列性を高める技術が記載されている。   Further, as a technique related to parallel processing of data, there is a technique for leveling a load in a non-shared database system that operates on a disk shared by each server (see, for example, Patent Document 2). Patent Document 2 is composed of a plurality of database servers, allows data to be transferred between database servers by subdividing the data area and changing the allocation of each data area to the database server. Techniques for improving the performance are described.

一方、大量のデータを、多数のサーバを使って高速に処理するための技術として、例えば、非特許文献1に示されるような分散メモリキャッシュ技術が提案されている。分散メモリキャッシュ技術は、複数のサーバのメモリを統合して、大量のデータを格納するメモリ空間を構成する技術である。データの分割配置による処理の並列化と、メモリにデータを保持することによる入出力の高速化とを実現することを目的としている。   On the other hand, as a technique for processing a large amount of data at high speed using a large number of servers, for example, a distributed memory cache technique as shown in Non-Patent Document 1 has been proposed. The distributed memory cache technology is a technology for composing a memory space for storing a large amount of data by integrating memories of a plurality of servers. The object is to realize parallel processing by dividing and arranging data and speeding up input / output by holding data in a memory.

分散メモリ技術では、大量のデータを複数のサーバに分散させるために、キー・バリュー型データ形式が採用される。キー・バリュー型データは、データの識別子であるキーと、データの本体であるバリュー(値)とを対応づけたデータ構造であり、[キー、バリュー]の組み合わせで管理される。一つのキー・バリュー型データをエントリとも記載する。   In the distributed memory technology, a key / value type data format is adopted to distribute a large amount of data to a plurality of servers. The key / value type data has a data structure in which a key that is an identifier of data and a value (value) that is a data body are associated with each other, and is managed by a combination of [key and value]. One key / value type data is also described as an entry.

分散メモリ技術では、キーの範囲(キーレンジ)に応じてデータを複数のサーバに分割配置し、分割配置されたデータを各サーバ上で稼動するアプリケーションが並列に処理することによって処理を高速化する。   In the distributed memory technology, data is divided and arranged in a plurality of servers according to a key range (key range), and the data arranged in a divided manner is processed in parallel by an application running on each server, thereby speeding up the processing. .

特開平5−334165号公報JP-A-5-334165 特開2007−25735号公報JP 2007-25735 A

"GemFire Enterprise" Technical White Paper 2007GemStone Systems Inc.“GemFire Enterprise” Technical White Paper 2007 GemStone Systems Inc.

データソースが表形式又はレコードから構成されるファイルのような構造のデータの場合、アプリケーションプログラム毎に、キーとするフィールドが異なる。例えば、店番号に着目したアプリケーションプログラムは店番号をキーとするキー・バリュー型データを扱うのに対して、口座番号に着目したアプリケーションプログラムは口座番号をキーとするキー・バリュー型データを扱う。   When the data source is data having a structure such as a file composed of a table format or a record, a field to be a key is different for each application program. For example, an application program focused on a store number handles key / value type data using the store number as a key, whereas an application program focused on an account number handles key / value type data using the account number as a key.

したがって、同一レコードでも、キー・バリュー型データとしては、アプリケーション毎に異なるデータとなる。このとき、あるアプリケーションプログラムからバリューが更新された場合に、他のアプリケーションが扱うキー・バリュー型データのバリューに当該更新が反映されない場合がある。バリューの更新を反映するためには、更新されたエントリに対応するデータソースへバリューの更新を反映し、さらに、当該レコードを参照するアプリケーションプログラムに対して、キーとする別のフィールドを指定して、エントリを生成し直す必要がある。   Therefore, even in the same record, the key / value type data is different for each application. At this time, when the value is updated from a certain application program, the update may not be reflected in the value of the key / value data handled by another application. To reflect the value update, reflect the value update to the data source corresponding to the updated entry, and specify another key field for the application program that references the record. , Need to regenerate the entry.

また、二つのアプリケーションプログラムが同一レコードのそれぞれ異なるレコードのフィールドを更新したとき、データソースへの書き戻し時に、一つのアプリケーションプログラムによって更新されたフィールドが上書きされてしまう場合がある。   When two application programs update fields of different records of the same record, the fields updated by one application program may be overwritten when writing back to the data source.

本発明の代表的な一例を示せば以下の通りである。すなわち、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ及び前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、データを格納する複数の第1の計算機と、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ及び前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、前記複数の第1の計算機の各々に格納されるデータを管理する第2の計算機と、を備える計算機システムであって、前記計算機システムは、前記複数の第1の計算機が提供する記憶領域を統合して生成されたストレージを備え、前記第2の計算機は、複数のレコードを含むファイルを分割して、検索キーと、前記レコードの内容を示すバリューとを対応づけた分割データを前記ストレージに分散して格納するローダ処理部、及び、前記ファイルを格納するファイル格納部を有し、前記ストレージを構成する前記記憶領域の情報を含むストレージ構成情報、及び、前記ストレージに格納される前記分割データと前記ファイルとの対応関係を管理する対応情報を格納し、前記複数の第1の計算機の各々は、ファイルデータ単位のデータを処理するアプリケーション、及び、前記ストレージを管理するストレージ管理部を有し、前記分割データを管理する分割データ管理情報を格納し、前記ストレージは、第1のファイルのバリューにアクセスするための第1のアクセス情報と、第1の検索キーとを含む第1の分割データ、及び、前記第1のファイルのバリューを格納し、前記第2の計算機は、前記アプリケーションから、第2の検索キーの情報を含む第1のファイルの前記分割データの配置要求を受け付けた場合に、前記アプリケーションから指定された前記第2の検索キーを生成し、前記第1のファイルのバリューが複数の前記アプリケーションによって共有される共有バリューであるか否かを判定し、前記第1のファイルのバリューが共有バリューであると判定された場合、前記第2の検索キーと前記第1のアクセス情報とを含む第2の分割データを前記ストレージに格納することを特徴とする。   A typical example of the present invention is as follows. A plurality of first computers having a first processor, a first memory connected to the first processor, and a first network interface connected to the first processor, and storing data; , A second processor, a second memory connected to the second processor, and a second network interface connected to the second processor, stored in each of the plurality of first computers. A second computer that manages the data to be stored, the computer system comprising a storage generated by integrating storage areas provided by the plurality of first computers, and the second computer system. The computer divides a file including a plurality of records, and stores the divided data in which the search key is associated with the value indicating the content of the record. A loader processing unit that stores the information in a distributed manner and a file storage unit that stores the file, and storage configuration information that includes information on the storage area that configures the storage, and is stored in the storage Corresponding information for managing the correspondence between the divided data and the file is stored, and each of the plurality of first computers includes an application that processes data in units of file data, and a storage management unit that manages the storage And stores divided data management information for managing the divided data, and the storage includes first access information for accessing the value of the first file and a first search key. The divided data and the value of the first file are stored, and the second computer receives the second data from the application. The second search key designated by the application is generated when a request for placement of the divided data of the first file including search key information is received, and the value of the first file includes a plurality of values. It is determined whether or not it is a shared value shared by an application, and if it is determined that the value of the first file is a shared value, the second search key and the first access information are included. The second divided data is stored in the storage.

本発明によれば、複数のアプリケーションによって生成されるエントリにおいて、同一のバリューを共有できるようにエントリを構成することによって、ファイルからエントリを生成し直す必要がない。また、同一のバリューを共有できるため、一つのエントリの更新が他のアプリケーションが参照する他のエントリにも反映できる。   According to the present invention, it is not necessary to regenerate an entry from a file by configuring the entries so that the same value can be shared among the entries generated by a plurality of applications. Further, since the same value can be shared, the update of one entry can be reflected in other entries referred to by other applications.

本発明の第1の実施形態における計算機システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer system in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるデータソースの構成例を示す説明図である。It is explanatory drawing which shows the structural example of the data source in the 1st Embodiment of this invention. 本発明の第1の実施形態における分散メモリキャッシュ構成情報の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the distributed memory cache structure information in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるデータソース情報の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the data source information in the 1st Embodiment of this invention. 本発明の第1の実施形態における対応情報の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the correspondence information in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるレコード定義情報の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the record definition information in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるUAPのソースプログラムの一例を示す説明図である。It is explanatory drawing which shows an example of the source program of UAP in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるエントリのデータ構成の一例を示す説明図である。It is explanatory drawing which shows an example of the data structure of the entry in the 1st Embodiment of this invention. 本発明の第1の実施形態における共有バリュー管理情報の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the shared value management information in the 1st Embodiment of this invention. 本発明の第1の実施形態における共有領域管理情報の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the shared area management information in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるエントリの論理的なデータ構成の一例を示す説明図である。It is explanatory drawing which shows an example of the logical data structure of the entry in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるエントリの論理的なデータ構成の一例を示す説明図である。It is explanatory drawing which shows an example of the logical data structure of the entry in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるエントリの論理的なデータ構成の一例を示す説明図である。It is explanatory drawing which shows an example of the logical data structure of the entry in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるロード処理の詳細を説明するフローチャートである。It is a flowchart explaining the detail of the load process in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるアンロード処理の詳細を説明するフローチャートである。It is a flowchart explaining the detail of the unload process in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるアンロード処理の詳細を説明するフローチャートである。It is a flowchart explaining the detail of the unload process in the 1st Embodiment of this invention. 本発明の第2の実施形態における計算機システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer system in the 2nd Embodiment of this invention. 本発明が第3の実施形態における計算機システムの構成例を示すブロック図である。The present invention is a block diagram showing a configuration example of a computer system according to a third embodiment. 本発明の第3の実施形態におけるエントリの構成例を示す説明図である。It is explanatory drawing which shows the structural example of the entry in the 3rd Embodiment of this invention. 本発明の第3の実施形態におけるアクセス統計情報の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the access statistical information in the 3rd Embodiment of this invention. 本発明の第3の実施形態における移行条件情報の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the transition condition information in the 3rd Embodiment of this invention. 本発明の第3の実施形態におけるデータ移行処理を説明するフローチャートである。It is a flowchart explaining the data migration process in the 3rd Embodiment of this invention. 本発明の第3の実施形態におけるエントリの論理的なデータ構成の一例を示す説明図である。It is explanatory drawing which shows an example of the logical data structure of the entry in the 3rd Embodiment of this invention. 本発明の第3の実施形態におけるエントリの論理的なデータ構成の一例を示す説明図である。It is explanatory drawing which shows an example of the logical data structure of the entry in the 3rd Embodiment of this invention.

[第1の実施形態]
図1は、本発明の第1の実施形態における計算機システムの構成例を示すブロック図である。
[First Embodiment]
FIG. 1 is a block diagram illustrating a configuration example of a computer system according to the first embodiment of this invention.

第1の実施形態の計算機システムは、ホストコンピュータ101、複数のホストコンピュータ102、ストレージ装置103及び共有ストレージ装置105から構成される。   The computer system according to the first embodiment includes a host computer 101, a plurality of host computers 102, a storage device 103, and a shared storage device 105.

ホストコンピュータ101は、ネットワーク104を介してホストコンピュータ102と接続される。また、各ホストコンピュータ102は共有ストレージ装置105と接続される。ネットワーク104は、LAN及びWAN等が考えられるが、本発明はネットワーク104の種別に限定されない。なお、共有ストレージ装置105は、ネットワーク104を介して接続されてもよい。   The host computer 101 is connected to the host computer 102 via the network 104. Each host computer 102 is connected to the shared storage device 105. The network 104 may be a LAN, a WAN, or the like, but the present invention is not limited to the type of the network 104. Note that the shared storage device 105 may be connected via the network 104.

本実施形態では、計算機システムが備える記憶領域を統合して分散メモリキャッシュが生成される。本実施形態の分散メモリキャッシュは、各ホストコンピュータ102が備えるメモリ領域から生成される分散領域171と、共有ストレージ装置105の記憶領域から生成される共有領域172とから構成される。   In the present embodiment, a distributed memory cache is generated by integrating storage areas included in a computer system. The distributed memory cache according to this embodiment includes a distributed area 171 generated from a memory area included in each host computer 102 and a shared area 172 generated from a storage area of the shared storage device 105.

分散メモリキャッシュには、キー・バリュー型データ(エントリ191)が格納される。本実施形態では、分散領域171にエントリ191が格納される。エントリ191には、少なくともキーが含まれ、バリューは必ずしも含まれない。この場合、エントリ191は、バリュー192にアクセスするための情報を含む。本実施形態では、バリュー192は、分散領域171又は共有領域172のいずれかに格納される。なお、エントリ191の詳細については後述する。   Key / value type data (entry 191) is stored in the distributed memory cache. In the present embodiment, an entry 191 is stored in the distribution area 171. The entry 191 includes at least a key and does not necessarily include a value. In this case, the entry 191 includes information for accessing the value 192. In the present embodiment, the value 192 is stored in either the distributed area 171 or the shared area 172. Details of the entry 191 will be described later.

分散メモリキャッシュは、ホストコンピュータ102から共有デバイスと同様にアクセスすることが可能である。処理対象となるデータを分散メモリキャッシュに格納することによって、データがストレージ装置103に格納される場合と比較して入出力処理が高速になる。   The distributed memory cache can be accessed from the host computer 102 in the same manner as a shared device. By storing the data to be processed in the distributed memory cache, the input / output processing becomes faster than when the data is stored in the storage apparatus 103.

また、ホストコンピュータ101は、ストレージ装置103と接続される。ストレージ装置103には、処理対象となるデータソース117が格納される。ストレージ装置103は、データソース117を永続的に保持できるものであればどのようなものでもよい。ストレージ装置103は、例えば、HDD等の記憶媒体を複数備えるストレージシステム、フラッシュメモリを記憶媒体として用いた半導体ディスク装置及び光ディスク装置等が考えられる。   The host computer 101 is connected to the storage apparatus 103. The storage device 103 stores a data source 117 to be processed. The storage apparatus 103 may be anything as long as it can hold the data source 117 permanently. The storage device 103 may be, for example, a storage system including a plurality of storage media such as HDDs, a semiconductor disk device using a flash memory as a storage medium, an optical disk device, and the like.

また、本実施形態では、処理の対象とされるデータソース117は、ファイル及びDBのテーブルを使用するものとして説明する。ただし、本発明はデータソース117の格納形式に限定されず、キー・バリュー・ストア(KVS)など永続的にデータを保持することができれば、データの格納形式は特に問わない。   In this embodiment, the data source 117 to be processed is described as using files and DB tables. However, the present invention is not limited to the storage format of the data source 117, and the data storage format is not particularly limited as long as the data can be held permanently such as a key value store (KVS).

ホストコンピュータ101は、プロセッサ111、メモリ113、及びインタフェース(I/F)115A、115Bを備える。ホストコンピュータ101は、インタフェース115Aを介してストレージ装置103と接続され、また、ホストコンピュータ101は、インタフェース115Bを介してホストコンピュータ102と接続される。   The host computer 101 includes a processor 111, a memory 113, and interfaces (I / F) 115A and 115B. The host computer 101 is connected to the storage apparatus 103 via the interface 115A, and the host computer 101 is connected to the host computer 102 via the interface 115B.

プロセッサ111は、メモリ113に格納されるプログラムを実行する。プロセッサ111が、メモリ113に格納されるプログラムを実行することによって、後述するホストコンピュータ101の機能が実現される。   The processor 111 executes a program stored in the memory 113. When the processor 111 executes a program stored in the memory 113, a function of the host computer 101 described later is realized.

メモリ113は、プロセッサ111が実行するプログラム及び当該プログラムを実行するために必要なデータを格納する。メモリ113は、例えば、DRAMのような半導体メモリが考えられ、ストレージ装置103に比べ高速にアクセスすることができる。   The memory 113 stores a program executed by the processor 111 and data necessary for executing the program. The memory 113 may be a semiconductor memory such as a DRAM, and can be accessed at a higher speed than the storage device 103.

本実施形態のメモリ113は、データソース管理部121及びローダ部131を実現するためのプログラムを格納し、また、分散メモリキャッシュ構成情報181、データソース情報182、及び対応情報183を格納する。   The memory 113 according to the present embodiment stores programs for realizing the data source management unit 121 and the loader unit 131, and also stores distributed memory cache configuration information 181, data source information 182, and correspondence information 183.

データソース管理部121は、ストレージ装置103に格納されたデータソース117を管理し、データソース117に対する入出力処理を実行する。   The data source management unit 121 manages the data source 117 stored in the storage apparatus 103 and executes input / output processing for the data source 117.

ローダ部131は、データソース管理部121と協調して、ストレージ装置103に格納されるデータソース117を分散メモリキャッシュへ分散配置し、また、分散メモリキャッシュに格納されるキー・バリュー型データ(エントリ191)をストレージ装置103へ格納する。ローダ部131は、分散メモリキャッシュ構成情報181、データソース情報182、及び対応情報183を参照して前述した処理を実行する。   The loader unit 131 cooperates with the data source management unit 121 to distribute and arrange the data sources 117 stored in the storage apparatus 103 in the distributed memory cache, and also to store the key / value type data (entry) stored in the distributed memory cache. 191) is stored in the storage apparatus 103. The loader unit 131 executes the processing described above with reference to the distributed memory cache configuration information 181, the data source information 182, and the correspondence information 183.

以下では、ストレージ装置103に格納されるデータソース117を分散メモリキャッシュに分散して配置する処理をロード処理と記載する。また、分散メモリキャッシュに格納されるキー・バリュー型データを、ストレージ装置103へ格納する処理をアンロード処理と記載する。   Hereinafter, the process of distributing and arranging the data sources 117 stored in the storage apparatus 103 in the distributed memory cache is referred to as a load process. In addition, a process for storing key / value data stored in the distributed memory cache in the storage apparatus 103 is referred to as an unload process.

分散メモリキャッシュ構成情報181は、分散メモリキャッシュを構成する分散領域171及び共有領域172に関する情報を格納する。分散メモリキャッシュ構成情報181の詳細については、図3を用いて後述する。   The distributed memory cache configuration information 181 stores information related to the distributed area 171 and the shared area 172 constituting the distributed memory cache. Details of the distributed memory cache configuration information 181 will be described later with reference to FIG.

データソース情報182は、ファイル及びDBの表などのデータソース117に関する情報を格納する。データソース情報182の詳細については、図4を用いて後述する。   The data source information 182 stores information about the data source 117 such as a file and a DB table. Details of the data source information 182 will be described later with reference to FIG.

対応情報183は、データソース117と、分散メモリキャッシュに配置されたエントリ191との対応関係に関する情報を格納する。対応情報183の詳細については、図5を用いて後述する。   The correspondence information 183 stores information on the correspondence relationship between the data source 117 and the entry 191 arranged in the distributed memory cache. Details of the correspondence information 183 will be described later with reference to FIG.

なお、メモリ113に格納されるプログラム及びデータは、常にメモリ113上に格納される必要はなく、ストレージ装置103又は図示しない外部記憶装置等に格納されてもよい。この場合、必要に応じて、プログラム又はデータがストレージ装置103又は外部記憶装置からメモリ113に読み出される。なお、データを読み出す場合には、データの一部又は全部を読み出すことができる。   The program and data stored in the memory 113 need not always be stored in the memory 113, and may be stored in the storage device 103 or an external storage device (not shown). In this case, the program or data is read from the storage device 103 or the external storage device to the memory 113 as necessary. In addition, when reading data, a part or all of data can be read.

なお、データソース管理部121及びローダ部131は、プログラムによって実現しているが本発明はこれに限定されない。例えば、専用のハードウェアを用いてデータソース管理部121及びローダ部131が備える機能を実現してもよい。   The data source management unit 121 and the loader unit 131 are realized by programs, but the present invention is not limited to this. For example, the functions of the data source management unit 121 and the loader unit 131 may be realized using dedicated hardware.

ホストコンピュータ102は、プロセッサ112、メモリ114、及びインタフェース(I/F)116を備える。ホストコンピュータ102は、インタフェース116Aを介してホストコンピュータ101及び他のホストコンピュータ102と接続される。また、ホストコンピュータ102は、インタフェース116Bを介して共有ストレージ装置105と接続される。   The host computer 102 includes a processor 112, a memory 114, and an interface (I / F) 116. The host computer 102 is connected to the host computer 101 and other host computers 102 via an interface 116A. The host computer 102 is connected to the shared storage device 105 via the interface 116B.

ここでは、ホストコンピュータ102は同一の構成であるものとして説明するが、以下に説明する機能及び処理を実現できるものであれば、必ずしも同一の構成でなくてもよい。   Here, the host computer 102 is described as having the same configuration. However, the host computer 102 is not necessarily required to have the same configuration as long as the functions and processes described below can be realized.

プロセッサ112は、メモリ114に格納されるプログラムを実行する。プロセッサ112が、メモリ114に格納されたプログラムを実行することによって後述するホストコンピュータ102の機能が実現される。   The processor 112 executes a program stored in the memory 114. The processor 112 executes a program stored in the memory 114, thereby realizing a function of the host computer 102 described later.

メモリ114は、プロセッサ112が実行するプログラム及び当該プログラムを実行するために必要なデータを格納する。メモリ114は、例えば、DRAMのような半導体メモリが考えられ、ストレージ装置103に比べ高速にアクセスすることができる。   The memory 114 stores a program executed by the processor 112 and data necessary for executing the program. The memory 114 may be a semiconductor memory such as a DRAM, and can be accessed at a higher speed than the storage device 103.

本実施形態のメモリ114は、分散メモリキャッシュ管理部141を実現するためのプログラム、及びアプリケーションプログラム(UAP)161を格納する。また、メモリ114は、分散メモリキャッシュを構成する分散領域171を含む。   The memory 114 of this embodiment stores a program for realizing the distributed memory cache management unit 141 and an application program (UAP) 161. The memory 114 also includes a distributed area 171 that constitutes a distributed memory cache.

分散メモリキャッシュ管理部141は、他のホストコンピュータ102の分散メモリキャッシュ管理部141と協調して、分散メモリキャッシュを構成する分散領域171及び共有領域172を管理する。また分散メモリキャッシュ管理部141は、分散メモリキャッシュへのアクセスを制御する。   The distributed memory cache management unit 141 manages the distributed area 171 and the shared area 172 constituting the distributed memory cache in cooperation with the distributed memory cache management unit 141 of another host computer 102. The distributed memory cache management unit 141 controls access to the distributed memory cache.

分散メモリキャッシュ管理部141は、エントリ配置管理部142、共有領域アクセス管理部143、共有バリュー管理情報144、及び共有領域管理情報145を含む。また、図示していないが、分散メモリキャッシュ管理部141は、エントリ191の配置場所を管理するための情報であるファイル管理情報を含む。   The distributed memory cache management unit 141 includes an entry arrangement management unit 142, a shared area access management unit 143, shared value management information 144, and shared area management information 145. Although not shown, the distributed memory cache management unit 141 includes file management information that is information for managing the location of the entry 191.

分散メモリキャッシュ管理部(図示省略)は、分散メモリキャッシュの管理機能を提供する。エントリ配置管理部142は、エントリ191が格納される記憶領域を管理する。共有領域アクセス管理部143、共有領域172へのアクセスを管理する。   The distributed memory cache management unit (not shown) provides a distributed memory cache management function. The entry arrangement management unit 142 manages a storage area in which the entry 191 is stored. The shared area access management unit 143 and the access to the shared area 172 are managed.

共有バリュー管理情報144は、共有領域172に格納されるバリュー192に関する情報を格納する。なお、共有バリュー管理情報144の詳細については、図9を用いて後述する。共有領域管理情報145は、共有領域172の管理情報を格納する。なお、共有領域管理情報145の詳細については、図10を用いて後述する。また、図示していないファイル管理情報には、データソースの識別子及びエントリの格納位置を示す情報などが格納される。   The shared value management information 144 stores information regarding the value 192 stored in the shared area 172. Details of the shared value management information 144 will be described later with reference to FIG. The shared area management information 145 stores management information for the shared area 172. Details of the shared area management information 145 will be described later with reference to FIG. Further, the file management information (not shown) stores data source identifiers, information indicating entry storage locations, and the like.

なお、メモリ114に格納されるプログラム及びデータは、常にメモリ114上に格納される必要はなく、図示しないストレージ装置、又は図示しない外部記憶装置等に格納されてもよい。この場合、必要に応じて、プログラム又はデータがディスク装置又は外部記憶装置からメモリ114に読み出される。なお、データを読み出す場合には、データの一部又は全部を読み出すことができる。   Note that the program and data stored in the memory 114 need not always be stored in the memory 114, and may be stored in a storage device (not shown) or an external storage device (not shown). In this case, a program or data is read from the disk device or the external storage device to the memory 114 as necessary. In addition, when reading data, a part or all of data can be read.

前述したデータソース管理部121及び分散メモリキャッシュ管理部141は、図示しないオペレーティングシステム(OS)の一部、又は、図示しないユーザアプリケーションプログラムによって使用される入出力ライブラリとして提供されてもよい。また、専用のハードウェアを用いてデータソース管理部121及び分散メモリキャッシュ管理部141が備える機能を実現してもよい。   The data source management unit 121 and the distributed memory cache management unit 141 described above may be provided as a part of an operating system (OS) (not shown) or an input / output library used by a user application program (not shown). Further, the functions provided in the data source management unit 121 and the distributed memory cache management unit 141 may be realized using dedicated hardware.

共有ストレージ装置105は、記憶媒体としてフラッシュメモリを用いた半導体ディスク装置等、通常のディスク装置よりランダムアクセス特性に優れた装置を用いるものとするが、物理的又は論理的に共有可能なストレージ装置であれば、記憶媒体の種類は問わない。本実施形態では、共有ストレージ装置105の記憶領域に、分散メモリキャッシュを構成する共有領域172が確保される。   The shared storage device 105 uses a device having better random access characteristics than a normal disk device, such as a semiconductor disk device using a flash memory as a storage medium, but is a storage device that can be physically or logically shared. Any type of storage medium can be used. In this embodiment, a shared area 172 constituting a distributed memory cache is secured in the storage area of the shared storage device 105.

なお、図1のホストコンピュータ102は、物理的な計算機である必要はなく、論理計算機でもよい。この場合、プロセッサ112、メモリ114、及びインタフェース116等の計算機リソースは、仮想化プログラム(図示省略)等によって論理的な計算機リソースとして論理計算機に割り当てられる。   Note that the host computer 102 in FIG. 1 does not have to be a physical computer, and may be a logical computer. In this case, computer resources such as the processor 112, the memory 114, and the interface 116 are allocated to the logical computer as logical computer resources by a virtualization program (not shown).

図2は、本発明の第1の実施形態におけるデータソース117の構成例を示す説明図である。図2では、データソース117がファイルである場合について説明する。   FIG. 2 is an explanatory diagram illustrating a configuration example of the data source 117 according to the first embodiment of this invention. In FIG. 2, a case where the data source 117 is a file will be described.

ファイル2100は、UAP161によって処理されるデータの基本単位となる複数のレコードから構成される。図2に示す例では、ファイル2100は、レコード2101、レコード2102、レコード2103、レコード2104を含む。   The file 2100 is composed of a plurality of records as basic units of data processed by the UAP 161. In the example illustrated in FIG. 2, the file 2100 includes a record 2101, a record 2102, a record 2103, and a record 2104.

各レコード2101、2102、2103、2104は、一連の関連する情報を格納する複数のフィールド2111、2112、2113から構成される。図2に示す例では、各レコードは、フィールド2111、フィールド2112、及びフィールド2113を含む。   Each record 2101, 2102, 2103, 2104 is composed of a plurality of fields 2111, 2112, 2113 for storing a series of related information. In the example illustrated in FIG. 2, each record includes a field 2111, a field 2112, and a field 2113.

一般に、システムの制約の範囲内において、1つのファイルは任意の数のレコードを含むことができ、また、1つのレコードは任意の数のフィールドを含むことができる。例えば、商品取引業務で用いられるようなデータの場合、1件の取引における取引情報からレコードが構成され、口座番号、店番号、及び商品コード等の個々の情報(データ)がフィールドに記録される。   In general, within the constraints of the system, a file can contain any number of records, and a record can contain any number of fields. For example, in the case of data used in merchandise transaction business, a record is composed of transaction information in one transaction, and individual information (data) such as account number, store number, and merchandise code is recorded in the field. .

UAP161は、レコードを処理単位としてI/O処理を実行し、ファイルに対してレコードを1件ずつ入出力することによって処理を実行する。本実施形態では、ファイル2100は、任意のフィールドをキーとして、レコード単位に分割される。なお、レコードは、UAP161が実行する処理に適合するように分割される。   The UAP 161 executes I / O processing with a record as a processing unit, and executes processing by inputting / outputting records one by one to / from a file. In this embodiment, the file 2100 is divided into record units using an arbitrary field as a key. The record is divided so as to be adapted to the processing executed by the UAP 161.

分割されたファイル2100のデータ、すなわち、キー・バリュー型データは、複数のホストコンピュータ102上のUAP161にそれぞれ割り当てられ、各UAP161が、割り当てられたキー・バリュー型データを用いて処理を実行する。前述したように、複数のUAP161が、一つのファイル2100が分割されたキー・バリュー型データを並列に処理することによって、1つのUAP161が処理するデータ量を削減することができる。したがって、処理の高速化を実現できる。   The divided data of the file 2100, that is, key / value type data is assigned to the UAP 161 on the plurality of host computers 102, and each UAP 161 executes processing using the assigned key / value type data. As described above, when a plurality of UAPs 161 process key / value data obtained by dividing one file 2100 in parallel, the amount of data processed by one UAP 161 can be reduced. Therefore, the processing speed can be increased.

図3は、本発明の第1の実施形態における分散メモリキャッシュ構成情報181の構成例を示す説明図である。   FIG. 3 is an explanatory diagram illustrating a configuration example of the distributed memory cache configuration information 181 according to the first embodiment of this invention.

分散メモリキャッシュ構成情報181は、総サイズ201、分散領域サイズ202、分散領域使用率203、共有領域サイズ204及び共有領域使用率205を含む。   The distributed memory cache configuration information 181 includes a total size 201, a distributed area size 202, a distributed area usage rate 203, a shared area size 204, and a shared area usage rate 205.

総サイズ201は、分散メモリキャッシュ全体のサイズを格納する。具体的には、分散領域171のサイズと、共有領域172のサイズとの総和が格納される。本実施形態では、分散領域サイズ202及び共有領域サイズ204を足し合わせた値が分散メモリキャッシュのサイズとなる。   The total size 201 stores the size of the entire distributed memory cache. Specifically, the sum of the size of the distributed area 171 and the size of the shared area 172 is stored. In the present embodiment, the value obtained by adding the distributed area size 202 and the shared area size 204 is the size of the distributed memory cache.

分散領域サイズ202は、分散メモリキャッシュを構成する全ての分散領域171の総サイズを格納する。具体的には、分散領域サイズ202には、各ホストコンピュータ102の分散領域171のサイズの総和が格納される。分散領域使用率203は、分散領域171の使用率を格納する。   The distributed area size 202 stores the total size of all the distributed areas 171 constituting the distributed memory cache. Specifically, the distribution area size 202 stores the sum of the sizes of the distribution areas 171 of the host computers 102. The distributed area usage rate 203 stores the usage rate of the distributed area 171.

共有領域サイズ204は、共有領域172のサイズを格納する。共有領域使用率205は、共有領域172の使用率を格納する。   The shared area size 204 stores the size of the shared area 172. The shared area usage rate 205 stores the usage rate of the shared area 172.

分散メモリキャッシュ構成情報181は、ロード処理の実行時に、十分な記憶領域があるか否かの判定するために用いられる。詳細には述べないが、十分な記憶領域がない場合には、記憶領域を確保するための処理が実行される。記憶領域を確保するための処理としては、例えば、アンロード処理、及び、分散領域171と共有領域172との間のエントリ191の移行処理などが考えられる。   The distributed memory cache configuration information 181 is used to determine whether or not there is a sufficient storage area when executing the load process. Although not described in detail, when there is not enough storage area, processing for securing the storage area is executed. As processing for securing the storage area, for example, unload processing, migration processing of the entry 191 between the distributed area 171 and the shared area 172, and the like can be considered.

図4は、本発明の第1の実施形態におけるデータソース情報182の構成例を示す説明図である。   FIG. 4 is an explanatory diagram illustrating a configuration example of the data source information 182 according to the first embodiment of this invention.

データソース情報182は、データソース識別情報301、レコード定義情報302及び配置指定情報303を含む。   The data source information 182 includes data source identification information 301, record definition information 302, and arrangement designation information 303.

データソース識別情報301は、ストレージ装置103に格納される複数のデータソース117を一意に識別するための識別情報を格納する。データソース識別情報301には、データソース117を一意に識別できる情報であればどのような情報が格納されてもよい。例えば、データソース識別情報301には、フルパスのファイル名又はDBにおけるテーブル名などが格納される。   The data source identification information 301 stores identification information for uniquely identifying a plurality of data sources 117 stored in the storage apparatus 103. The data source identification information 301 may store any information as long as the data source 117 can be uniquely identified. For example, the data source identification information 301 stores a full path file name or a table name in the DB.

なお、データソース117の管理方法によっては、データソース117を保持するストレージ装置103及びホストコンピュータ101の識別情報が必要な場合がある。前述のような場合には、データソース識別情報301に、ストレージ装置103及びホストコンピュータ101の識別情報が含まれる。   Depending on the management method of the data source 117, identification information of the storage apparatus 103 and the host computer 101 that hold the data source 117 may be required. In such a case, the data source identification information 301 includes identification information of the storage apparatus 103 and the host computer 101.

なお、データソース117に対応するデータソース情報182が一意に特定できればよいため、データソースの属性など、データソースと1対1で対応づけられるように管理されている場合には、データソース識別情報301は必要ない。   Note that the data source information 182 corresponding to the data source 117 only needs to be uniquely identified. Therefore, when the data source attribute or the like is managed so as to be associated with the data source on a one-to-one basis, the data source identification information 301 is not necessary.

レコード定義情報302は、データソース117におけるレコードの構造に関する情報を格納する。なお、レコード定義情報302の詳細については、図6用いて後述する。   The record definition information 302 stores information related to the record structure in the data source 117. Details of the record definition information 302 will be described later with reference to FIG.

配置指定情報303は、ロード処理の実行時に、配置先の記憶領域を指定するための情報を格納する。配置指定情報303には、例えば、「分散領域」、「共有領域」又は「指定なし」などの情報が格納される。   The arrangement designation information 303 stores information for designating an arrangement destination storage area when executing the load process. The placement designation information 303 stores information such as “distributed area”, “shared area”, or “no designation”, for example.

「分散領域」が格納される場合、エントリ191のキーにしたがって、所定のキーレンジのエントリ191を管理するホストコンピュータ102の分散領域171に当該エントリ191及びバリュー192が優先的に配置される。「共有領域」が格納される場合、所定のホストコンピュータ102の分散領域171にエントリ191が配置され、共有領域172にバリュー192が優先的に配置される。また、「指定なし」が格納される場合、格納先の記憶領域が指定されていないことを示す。   When “distributed area” is stored, according to the key of the entry 191, the entry 191 and the value 192 are preferentially arranged in the distributed area 171 of the host computer 102 that manages the entry 191 of a predetermined key range. When the “shared area” is stored, the entry 191 is arranged in the distributed area 171 of the predetermined host computer 102, and the value 192 is preferentially arranged in the shared area 172. Further, when “not specified” is stored, it indicates that the storage area of the storage destination is not specified.

図5は、本発明の第1の実施形態における対応情報183の構成例を示す説明図である。   FIG. 5 is an explanatory diagram illustrating a configuration example of the correspondence information 183 according to the first embodiment of this invention.

対応情報183は、データソース識別情報401、参照数402、領域利用情報403及びロード識別情報404を含む。   The correspondence information 183 includes data source identification information 401, reference number 402, area usage information 403, and load identification information 404.

データソース識別情報401は、データソース117を一意に識別するための識別情報を格納する。データソース識別情報401は、データソース識別情報301と同一ものである。   The data source identification information 401 stores identification information for uniquely identifying the data source 117. The data source identification information 401 is the same as the data source identification information 301.

参照数402は、データソース117が分散メモリキャッシュにロードされた回数を格納する。すなわち、参照数402は、UAP161によって扱われるキー・バリュー型データの数を示す。本実施形態では、参照数402に基づいて1つのデータソースが複数のUAP161によって共有されているか否かが判定される。   The reference number 402 stores the number of times the data source 117 has been loaded into the distributed memory cache. That is, the reference number 402 indicates the number of key / value type data handled by the UAP 161. In the present embodiment, it is determined whether one data source is shared by a plurality of UAPs 161 based on the reference number 402.

領域利用情報403は、バリュー192が格納される記憶領域の種別を格納する。すなわち、領域利用情報403には、バリュー192が分散領域171又は共有領域172のいずれに格納されているかを示す情報が格納される。   The area usage information 403 stores the type of storage area in which the value 192 is stored. That is, the area usage information 403 stores information indicating whether the value 192 is stored in the distributed area 171 or the shared area 172.

ロード識別情報404は、ロード処理が実行される毎に、ローダ部131が返す識別情報を格納する。本実施形態では、アンロード処理を実行する場合に、ロード識別情報405に基づいて、分散メモリキャッシュに格納されるエントリ191のうち、どのエントリ191がアンロード処理の対象であるかが判定される。   The load identification information 404 stores identification information returned by the loader unit 131 each time a load process is executed. In this embodiment, when executing the unload process, it is determined which entry 191 among the entries 191 stored in the distributed memory cache is the target of the unload process based on the load identification information 405. .

図6は、本発明の第1の実施形態におけるレコード定義情報302の構成例を示す説明図である。   FIG. 6 is an explanatory diagram illustrating a configuration example of the record definition information 302 according to the first embodiment of this invention.

レコード定義情報302は、データソース117におけるレコードを構造に関する情報を格納する。本実施形態では、レコード定義情報302に基づいて、データソース117をレコード単位に分割できる。レコード定義情報302は、レコード構成501及びフィールド構成502を含む。   The record definition information 302 stores information regarding the structure of records in the data source 117. In the present embodiment, the data source 117 can be divided into record units based on the record definition information 302. The record definition information 302 includes a record structure 501 and a field structure 502.

レコード構成501は、データソース117におけるレコード構造を把握するための情報を格納し、レコードデリミタ511、レコード種別512及びレコード長513を含む。   The record structure 501 stores information for grasping the record structure in the data source 117, and includes a record delimiter 511, a record type 512, and a record length 513.

レコードデリミタ511は、レコードと他のレコードとの間を区切る文字コードを示す情報を格納する。レコードデリミタ511には、例えば、改行を表す文字コードなどを用いることが考えられる。   The record delimiter 511 stores information indicating a character code that separates the record from other records. For the record delimiter 511, for example, a character code representing a line feed may be used.

レコード種別512は、データソース117におけるレコードが固定長レコード又は可変長レコードのいずれであるかを示す情報を格納する。レコード種別512に固定長レコードを示す情報が格納される場合、データソース117は、同一かつ所定の長さのレコードから構成される。レコード種別512に可変長レコードを示す情報が格納される場合、データソース117は、レコードの長さがそれぞれ異なるレコードから構成される。   The record type 512 stores information indicating whether the record in the data source 117 is a fixed-length record or a variable-length record. When information indicating a fixed-length record is stored in the record type 512, the data source 117 is composed of records having the same and predetermined length. When information indicating a variable-length record is stored in the record type 512, the data source 117 is composed of records having different record lengths.

レコード長513は、レコード種別512に固定長レコードを示す情報が格納される場合に、1つのレコードの長さを示す情報を格納する。   The record length 513 stores information indicating the length of one record when information indicating a fixed-length record is stored in the record type 512.

なお、レコード構成501にはレコードの構造を把握することができる情報が含まれていればよく、レコードデリミタ511、レコード種別512、及びレコード長513のすべての情報を含む必要はない。例えば、固定長のレコードである場合、レコードデリミタ511はレコード構成501に含まれていなくてもよい。   Note that the record configuration 501 only needs to include information capable of grasping the structure of the record, and does not need to include all information of the record delimiter 511, the record type 512, and the record length 513. For example, in the case of a fixed-length record, the record delimiter 511 may not be included in the record configuration 501.

フィールド構成502は、レコードに含まれるフィールドを識別するための情報を格納するものであり、フィールドデリミタ521、フィールド数522、及びフィールド情報523を含む。   The field configuration 502 stores information for identifying a field included in the record, and includes a field delimiter 521, a field number 522, and field information 523.

フィールドデリミタ521は、フィールドと他のフィールドとの間を区切る文字コードを示す情報を格納する。フィールドデリミタ521には、例えば、空白を表す文字コードなどを用いることが考えられる。   The field delimiter 521 stores information indicating a character code that separates the field from other fields. For the field delimiter 521, for example, a character code representing a blank can be used.

フィールド数522は、1つのレコードに含まれるフィールドの数を格納する。   The field number 522 stores the number of fields included in one record.

フィールド情報523は、対応するフィールドに記録されるデータに関する情報を格納し、フィールド種別531、フィールド長532及び記述形式533を含む。   The field information 523 stores information related to data recorded in the corresponding field, and includes a field type 531, a field length 532, and a description format 533.

フィールド種別531は、レコード種別512に可変長レコードを示す情報が格納される場合、対応するフィールドが可変長フィールド又は固定長フィールドのいずれであるかを示す情報を格納する。   The field type 531 stores information indicating whether a corresponding field is a variable length field or a fixed length field when information indicating a variable length record is stored in the record type 512.

フィールド長532は、対応するフィールドの大きさを示す情報を格納する。記述形式533は、ASCII、バイナリ等、対応するフィールドに記録されたデータの記述形式を格納する。   The field length 532 stores information indicating the size of the corresponding field. The description format 533 stores a description format of data recorded in a corresponding field such as ASCII or binary.

なお、フィールド構成502は、レコードに含まれるフィールドを把握することができればよいため、フィールドデリミタ521、フィールド数522、及びフィールド情報523のすべての情報を含む必要はない。例えば、フィールド情報523のフィールド長532が指定されていれば、フィールドデリミタ521の情報はフィールド構成502に含まれなくてもよい。   Since the field configuration 502 only needs to be able to grasp the fields included in the record, it is not necessary to include all information of the field delimiter 521, the field number 522, and the field information 523. For example, if the field length 532 of the field information 523 is specified, the information of the field delimiter 521 may not be included in the field configuration 502.

データソース117が固定長レコードから構成される場合、レコード長513に設定された値によって個々のレコードを認識することができる。一方、データソース117が可変長レコードから構成される場合、各レコードの先頭には、そのレコードの大きさを記録するフィールドが設けられ、当該フィールドに基づいてレコードの区切れを判定することができる。レコードが可変長レコードである場合、フィールド構成502に格納される情報に基づいて最初のフィールドが識別され、レコードサイズを算出することができる。レコードが認識された後は、フィールド構成502のフィールド数522、及びフィールド情報523のフィールド長532を参照することによってフィールドを把握できる。   When the data source 117 is composed of fixed-length records, each record can be recognized by the value set in the record length 513. On the other hand, when the data source 117 is composed of variable-length records, a field for recording the size of the record is provided at the top of each record, and the delimiter of the record can be determined based on the field. . If the record is a variable length record, the first field is identified based on the information stored in the field configuration 502, and the record size can be calculated. After the record is recognized, the field can be grasped by referring to the field number 522 of the field configuration 502 and the field length 532 of the field information 523.

図7は、本発明の第1の実施形態におけるUAP161のソースプログラムの一例を示す説明図である。   FIG. 7 is an explanatory diagram illustrating an example of the source program of the UAP 161 according to the first embodiment of this invention.

図7は、COBOL言語を用いて記述されたUAP161のソースコードを示す。COBOL言語を用いて記述されたUAP161では、プログラム中にデータソースとしてのファイルのレコード構造が定義される。   FIG. 7 shows the source code of the UAP 161 described using the COBOL language. In UAP 161 described using the COBOL language, a record structure of a file as a data source is defined in a program.

図7に示す例では、DATA DIVISIONのFILE SECTION602においてファイルの構造が定義される。プログラムに用いられる各ファイルは、一つのファイル記述項(FD)と、それに続く一つ以上のレコード記述項とによって定義される。本実施形態において、レコード定義情報302のレコード構成501及びフィールド構成502には、FILE SECTION602に記述された情報が格納される。   In the example shown in FIG. 7, the file structure is defined in FILE SECTION 602 of DATA DIVISION. Each file used in the program is defined by one file description entry (FD) followed by one or more record description entries. In the present embodiment, information described in the FILE SECTION 602 is stored in the record structure 501 and the field structure 502 of the record definition information 302.

図8は、本発明の第1の実施形態におけるエントリ191のデータ構成の一例を示す説明図である。   FIG. 8 is an explanatory diagram illustrating an example of a data configuration of the entry 191 according to the first embodiment of this invention.

エントリ191は、分散メモリキャッシュ管理部141が、UAP161によって指定されたキーに対応するバリュー192を取得するための情報を格納する。エントリ191は、キー701、領域利用情報702、格納位置情報703、及び共有バリュー管理情報ポインタ705を含む。   The entry 191 stores information for the distributed memory cache management unit 141 to acquire the value 192 corresponding to the key specified by the UAP 161. The entry 191 includes a key 701, area usage information 702, storage location information 703, and shared value management information pointer 705.

キー701は、エントリ191におけるキーを格納する。   The key 701 stores the key in the entry 191.

領域利用情報702は、エントリ191に対応するバリュー192が配置される記憶領域に関する情報を格納する。本実施の形態では、領域利用情報702には、「分散領域」又は「共有領域」のいずれかが格納される。領域利用情報702は、ローダ部131がバリュー192を配置する場合、又は、分散メモリキャッシュ管理部141がバリュー192の配置場所を変更する場合に設定される。   The area usage information 702 stores information related to the storage area in which the value 192 corresponding to the entry 191 is arranged. In this embodiment, the area usage information 702 stores either “distributed area” or “shared area”. The area usage information 702 is set when the loader unit 131 arranges the value 192 or when the distributed memory cache management unit 141 changes the arrangement location of the value 192.

領域利用情報702に「分散領域」が格納される場合、バリュー192が分散領域171に格納されることを示す。すなわち、同一のデータソース117を扱うUAP161が存在しないことを示す。一方、領域利用情報702に「共有領域」が格納される場合、バリュー192が共有領域172に格納されることを示す。すなわち、複数のUAP161が同一のデータソース117を扱うことを示す。   When “distributed area” is stored in the area usage information 702, it indicates that the value 192 is stored in the distributed area 171. That is, it indicates that there is no UAP 161 that handles the same data source 117. On the other hand, when “shared area” is stored in the area usage information 702, it indicates that the value 192 is stored in the shared area 172. That is, it indicates that a plurality of UAPs 161 handle the same data source 117.

なお、エントリ191の論理的なデータ構造については、図11、図12及び図13を用いて後述する。   The logical data structure of the entry 191 will be described later with reference to FIGS.

格納位置情報703は、バリューにアクセスするための情報、すなわち、バリューの格納位置を示す情報を格納する。   The storage location information 703 stores information for accessing the value, that is, information indicating the storage location of the value.

領域利用情報702に「分散領域」が格納される場合、格納位置情報703には、自ホストコンピュータ102の分散領域171に格納されるバリュー192、又は、分散領域171に格納されるバリュー192の格納位置を示す情報が格納される。バリュー192の格納位置を示す情報としては、メモリアドレス等が考えられる。   When “distributed area” is stored in the area usage information 702, the storage location information 703 stores the value 192 stored in the distributed area 171 of the host computer 102 or the value 192 stored in the distributed area 171. Information indicating the position is stored. As the information indicating the storage position of the value 192, a memory address or the like can be considered.

領域利用情報702に「共有領域」が格納される場合、格納位置情報703には、共有領域172に格納されるバリュー192の格納位置を示す情報が格納される。   When “shared area” is stored in the area use information 702, information indicating the storage position of the value 192 stored in the shared area 172 is stored in the storage position information 703.

共有バリュー管理情報ポインタ704は、共有領域172に格納されるバリュー192を管理する共有バリュー管理情報144へのポインタを格納する。   The shared value management information pointer 704 stores a pointer to the shared value management information 144 that manages the value 192 stored in the shared area 172.

以下では、共有領域に格納されるバリュー192を共有バリュー192とも記載する。   Hereinafter, the value 192 stored in the shared area is also referred to as a shared value 192.

図9は、本発明の第1の実施形態における共有バリュー管理情報144の構成例を示す説明図である。   FIG. 9 is an explanatory diagram illustrating a configuration example of the shared value management information 144 according to the first embodiment of this invention.

共有バリュー管理情報144は、ロード処理においてエントリ191が生成される時に生成される。また、共有バリュー管理情報144は、分散メモリキャッシュからエントリ191が消去される時に削除される。   The shared value management information 144 is generated when the entry 191 is generated in the load process. The shared value management information 144 is deleted when the entry 191 is deleted from the distributed memory cache.

共有バリュー管理情報144は、データソース識別情報801、レコード識別情報802、格納位置情報803、共有数804、エントリポインタ805及び共有領域管理情報ポインタ806を含む。   The shared value management information 144 includes data source identification information 801, record identification information 802, storage location information 803, the number of shares 804, an entry pointer 805, and a shared area management information pointer 806.

データソース識別情報801及びレコード識別情報802は、エントリ191と、データソース117のレコードとを対応付けるための情報である。具体的には、データソース識別情報801は、ストレージ装置103に格納される複数のデータソース117を一意に識別するための識別情報を格納する。データソース識別情報801は、データソース識別情報301と同一の情報である。   The data source identification information 801 and the record identification information 802 are information for associating the entry 191 with the record of the data source 117. Specifically, the data source identification information 801 stores identification information for uniquely identifying a plurality of data sources 117 stored in the storage apparatus 103. The data source identification information 801 is the same information as the data source identification information 301.

レコード識別情報802は、データソース117のレコードを識別するための情報を格納する。レコード識別情報802には、例えば、データソース117に含まれるレコードのレコード番号又は行番号などを用いることが考えられるが、レコードを識別できればどのような情報が格納されてもよい。   The record identification information 802 stores information for identifying the record of the data source 117. As the record identification information 802, for example, the record number or line number of the record included in the data source 117 can be used, but any information may be stored as long as the record can be identified.

格納位置情報803は、エントリ191のバリュー192の格納位置を示す情報を格納する。格納位置情報803は、格納位置情報703と同一のものである。   The storage location information 803 stores information indicating the storage location of the value 192 of the entry 191. The storage location information 803 is the same as the storage location information 703.

共有数804は、バリュー192を共有するUAP161の数を格納する。   The sharing number 804 stores the number of UAPs 161 that share the value 192.

エントリポインタ805は、エントリ191の格納位置を示すポインタを格納する。   The entry pointer 805 stores a pointer indicating the storage position of the entry 191.

共有領域管理情報ポインタ806は、共有領域172に格納されたバリュー192の一貫性を制御するための情報である共有領域管理情報145へのポインタを格納する。   The shared area management information pointer 806 stores a pointer to the shared area management information 145 that is information for controlling the consistency of the value 192 stored in the shared area 172.

図10は、本発明の第1の実施形態における共有領域管理情報145の構成例を示す説明図である。   FIG. 10 is an explanatory diagram illustrating a configuration example of the shared area management information 145 according to the first embodiment of this invention.

共有領域管理情報145は、共有領域172に格納されたバリュー192の一貫性を保つために必要な情報を格納する。共有領域管理情報145は、格納位置情報901、共有バリュー管理情報ポインタ902、更新権管理情報903及び参照権管理情報904を含む。   The shared area management information 145 stores information necessary for maintaining the consistency of the value 192 stored in the shared area 172. The shared area management information 145 includes storage location information 901, shared value management information pointer 902, update right management information 903, and reference right management information 904.

格納位置情報901は、共有バリュー192の格納位置を示す情報を格納する。具体的には、共有領域172に格納されるバリュー192の格納位置を示す情報が格納される。   The storage location information 901 stores information indicating the storage location of the shared value 192. Specifically, information indicating the storage position of the value 192 stored in the shared area 172 is stored.

共有バリュー管理情報ポインタ902は、共有バリュー管理情報144へのポインタを格納する。共有バリュー管理情報ポインタ902は、共有バリュー管理情報ポインタ704と同一のものである。   The shared value management information pointer 902 stores a pointer to the shared value management information 144. The shared value management information pointer 902 is the same as the shared value management information pointer 704.

更新権管理情報903は、共有バリュー192の更新処理の権限を有するホストコンピュータ102の識別情報を格納する。参照権管理情報904は、共有バリュー192の参照処理の権限を有するホストコンピュータ102の識別情報を格納する。更新権管理情報903及び参照権管理情報904には、例えば、ホストコンピュータ102のIPアドレス、マックアドレスなどが格納される。なお、ホストコンピュータ102を識別できるものであれば、更新権管理情報903及び参照権管理情報904にはどのような情報が格納されてもよい。   The update right management information 903 stores identification information of the host computer 102 having the authority to update the shared value 192. The reference right management information 904 stores identification information of the host computer 102 that has the authority to reference the shared value 192. In the update right management information 903 and the reference right management information 904, for example, the IP address and the Mac address of the host computer 102 are stored. As long as the host computer 102 can be identified, any information may be stored in the update right management information 903 and the reference right management information 904.

なお、本実施形態では、共有領域管理情報145は共有バリュー管理情報144からポイントされているが、共有バリュー192の一貫性を保つことができるデータ構造であればどのようなものであってもよい。この場合、分散メモリキャッシュ管理部141が管理する必要はない。例えば、共有ストレージ装置105に構築された共有ファイルシステムを用いて、共有バリュー192と共有ファイルシステムのファイルとを対応付けることによって、共有ファイルシステムの管理プログラムが共有バリュー192の一貫性制御を行う方法が考えられる。   In the present embodiment, the shared area management information 145 is pointed from the shared value management information 144, but any data structure that can maintain the consistency of the shared value 192 may be used. . In this case, the distributed memory cache management unit 141 does not need to manage. For example, there is a method in which a shared file system management program controls the consistency of the shared value 192 by associating the shared value 192 with a file of the shared file system using a shared file system constructed in the shared storage device 105. Conceivable.

以下、本発明におけるエントリ191の構造について説明する。   Hereinafter, the structure of the entry 191 in the present invention will be described.

図11、図12及び図13は、本発明の第1の実施形態におけるエントリ191の論理的なデータ構成の一例を示す説明図である。   FIGS. 11, 12, and 13 are explanatory diagrams illustrating an example of a logical data configuration of the entry 191 according to the first embodiment of this invention.

図11は、バリュー192が分散領域171に格納される場合におけるエントリ191の論理的なデータ構成を示す。図11に示す例では、エントリ191は、キー701、領域利用情報702、及びバリュー192を一つの組としたデータとして認識される。   FIG. 11 shows a logical data structure of the entry 191 when the value 192 is stored in the distribution area 171. In the example shown in FIG. 11, the entry 191 is recognized as data having a key 701, area usage information 702, and a value 192 as one set.

分散メモリキャッシュ管理部141は、UAP161から指定されたキー701を含むアクセス要求を受信した場合に、指定されたキーに対応するエントリ191の領域利用情報702を参照することによって、バリュー192が分散領域171に格納されていると判定する。さらに、分散メモリキャッシュ管理部141は、所定のバリュー192にアクセスして、UAP161に応答する。   When the distributed memory cache management unit 141 receives an access request including the designated key 701 from the UAP 161, the value 192 is obtained by referring to the area usage information 702 of the entry 191 corresponding to the designated key. 171 is determined to be stored. Further, the distributed memory cache management unit 141 accesses the predetermined value 192 and responds to the UAP 161.

図12は、バリュー192が共有領域172に格納される場合におけるエントリ191の論理的なデータ構成を示す。図12に示す例では、エントリ191は、キー701、領域利用情報702、共有バリュー格納位置情報1103、及び共有バリュー192を一つの組としてデータとして認識される。   FIG. 12 shows a logical data structure of the entry 191 when the value 192 is stored in the shared area 172. In the example shown in FIG. 12, the entry 191 is recognized as data with the key 701, the area usage information 702, the shared value storage location information 1103, and the shared value 192 as one set.

分散メモリキャッシュ管理部141は、UAP161から指定されたキー701を含むアクセスを受信した場合に、指定されたキーに対応するエントリ191の領域利用情報702を参照することによって、バリュー192が共有領域172に格納されていると判定する。さらに、分散メモリキャッシュ管理部141は、共有バリュー格納位置情報1103を参照して共有バリュー192の格納位置を特定し、共有バリュー192にアクセスして、UAP161に応答する。共有バリュー格納位置情報1103としては、例えば、共有ストレージ装置105におけるデータの格納場所を示すブロックアドレス及びバリューのサイズ情報などが考えられる。ただし、共有バリュー192の格納位置を一意に識別できるものであれば、共有バリュー格納位置情報1103はどのような情報であってもよい。   When the distributed memory cache management unit 141 receives an access including the specified key 701 from the UAP 161, the value 192 is changed to the shared area 172 by referring to the area usage information 702 of the entry 191 corresponding to the specified key. It is determined that it is stored in. Further, the distributed memory cache management unit 141 refers to the shared value storage location information 1103, identifies the storage location of the shared value 192, accesses the shared value 192, and responds to the UAP 161. As the shared value storage location information 1103, for example, a block address indicating the storage location of data in the shared storage device 105 and size information of value may be considered. However, the shared value storage location information 1103 may be any information as long as the storage location of the shared value 192 can be uniquely identified.

図13は、共有領域172に格納される場合におけるエントリ191の論理的なデータ構成を示す。図13に示すエントリでは、共有バリュー格納位置情報1103の代わりに、共有バリューを一意に識別する共有バリュー識別情報1203を用いる点が異なる。   FIG. 13 shows a logical data structure of the entry 191 when stored in the shared area 172. The entry shown in FIG. 13 is different in that shared value identification information 1203 that uniquely identifies a shared value is used instead of the shared value storage location information 1103.

共有バリュー識別情報1203としては、例えば、共有ストレージ装置105上に構築された共有ファイルシステムにおけるファイル名又はデータソース識別情報301と、データソース117におけるレコード番号(又は行番号)とを組み合わせたものが考えられる。   The shared value identification information 1203 is, for example, a combination of the file name or data source identification information 301 in the shared file system constructed on the shared storage device 105 and the record number (or line number) in the data source 117. Conceivable.

図13に示すように、共有バリュー192についても、キー・バリュー型データのエントリ191となるように分散メモリキャッシュに格納することによって、同一のデータ構造のエントリ191を分散領域171及び共有領域172に格納することができる。   As shown in FIG. 13, the shared value 192 is also stored in the distributed memory cache so as to become the key / value type data entry 191, whereby the entry 191 having the same data structure is stored in the distributed area 171 and the shared area 172. Can be stored.

図14は、本発明の第1の実施形態におけるロード処理の詳細を説明するフローチャートである。   FIG. 14 is a flowchart illustrating details of the load process according to the first embodiment of the present invention.

ローダ処理は、ローダ部131によって実行される。ローダ部131は、データソース117から分散メモリキャッシュへデータをロードする場合に、以下で説明するローダ処理を開始する。   The loader process is executed by the loader unit 131. When loading data from the data source 117 to the distributed memory cache, the loader unit 131 starts a loader process described below.

なお、ロード処理の実行時には、ロード対象のデータソース117と、キーとすべき情報とが指定される。キーとすべき情報は、UAP161が何に着目して処理を行うかに依存する。例えば、図2に示すファイル2100を例にすると、キーとすべきフィールドを指定することが考えられる。   When executing the load process, the data source 117 to be loaded and information to be used as a key are designated. The information that should be the key depends on what the UAP 161 focuses on. For example, in the case of the file 2100 shown in FIG.

ローダ部131は、指定されたロード対象のデータソース117及び指定されたキーとすべき情報に基づいて、エントリを生成する(ステップS1401)。具体的には、以下のような処理が実行される。   The loader unit 131 generates an entry based on the designated data source 117 to be loaded and information to be designated as the designated key (step S1401). Specifically, the following processing is executed.

ローダ部131は、指定されたデータソース117の識別情報に基づいてデータソース情報182を特定し、データソース情報182のレコード定義情報302を参照することによってデータソース117のレコード構造を把握する。   The loader unit 131 identifies the data source information 182 based on the identification information of the designated data source 117, and grasps the record structure of the data source 117 by referring to the record definition information 302 of the data source information 182.

ローダ部131は、把握したレコード構造に基づいてキーが生成し、また、エントリ191を生成する。ローダ部131は、エントリ191のキー701に生成されたキーを設定する。以上がステップS1401の処理である。   The loader unit 131 generates a key based on the grasped record structure and generates an entry 191. The loader unit 131 sets the generated key as the key 701 of the entry 191. The above is the process of step S1401.

次に、ローダ部131は、対応情報183の参照数402を更新する(ステップS1402)。具体的には、ローダ部131は、参照数402の値を「1」インクリメントする。ローダ部131は、参照数402の値に基づいて、現在分散メモリキャッシュ上に同一のデータソース117がロードされているか否かを判定できる。   Next, the loader unit 131 updates the reference number 402 of the correspondence information 183 (step S1402). Specifically, the loader unit 131 increments the value of the reference number 402 by “1”. The loader unit 131 can determine whether the same data source 117 is currently loaded on the distributed memory cache based on the value of the reference number 402.

ローダ部131は、指定されたデータソース117の配置場所が指定されているか否かを判定する(ステップS1403)。具体的には、以下のような処理が実行される。   The loader unit 131 determines whether an arrangement location of the designated data source 117 is designated (step S1403). Specifically, the following processing is executed.

ローダ部131は、データソース情報182の配置指定情報303を参照して、配置場所が指定されているか否かを判定する。配置指定情報303に「分散領域」又は「共有領域」が格納される場合には、指定されたデータソース117の配置場所が指定されていると判定される。一方、配置指定情報303に「指定なし」が格納される場合、指定されたデータソース117の配置場所が指定されていないと判定される。   The loader unit 131 refers to the arrangement designation information 303 of the data source information 182 and determines whether or not an arrangement location is designated. When “distributed area” or “shared area” is stored in the arrangement designation information 303, it is determined that the arrangement location of the designated data source 117 is designated. On the other hand, when “no designation” is stored in the arrangement designation information 303, it is determined that the arrangement location of the designated data source 117 is not designated.

指定されたデータソース117の配置場所が指定されていないと判定された場合、ローダ部131は、参照数402が「2」以上であるか否かを判定する(ステップS1404)。これは、配置場所が指定されていない場合には、ローダ部131がデータソース117の配置場所を決定するための処理である。   When it is determined that the location of the specified data source 117 is not specified, the loader unit 131 determines whether the reference number 402 is “2” or more (step S1404). This is a process for the loader unit 131 to determine the arrangement location of the data source 117 when the arrangement location is not designated.

参照数402が「2」より小さい場合、複数のUAP161によってバリュー192が共有されないため、配置場所として分散領域171が選択される。一方、参照数402が「2」以上である場合、複数のUAP161によってバリュー192が共有されるため、配置場所として共有領域172が選択される。   When the reference number 402 is smaller than “2”, since the value 192 is not shared by the plurality of UAPs 161, the distribution area 171 is selected as the arrangement location. On the other hand, when the reference number 402 is “2” or more, since the value 192 is shared by the plurality of UAPs 161, the shared area 172 is selected as the arrangement location.

参照数402が「2」以上であると判定された場合、ローダ部131は、バリュー192が共有領域172に格納済みであるか否かを判定する(ステップS1405)。具体的には、ローダ部131は、対応情報183の領域利用情報403を参照して、バリュー192が共有領域172に格納されているか否かを判定する。   If it is determined that the reference number 402 is “2” or more, the loader unit 131 determines whether or not the value 192 has been stored in the shared area 172 (step S1405). Specifically, the loader unit 131 refers to the area usage information 403 of the correspondence information 183 and determines whether or not the value 192 is stored in the shared area 172.

バリュー192が共有領域172に格納済みであると判定された場合、ローダ部131は、エントリ191を分散領域171に配置し(ステップS1407)、処理を終了する。具体的には、以下のような処理が実行される。   When it is determined that the value 192 has already been stored in the shared area 172, the loader unit 131 places the entry 191 in the distributed area 171 (step S1407), and ends the process. Specifically, the following processing is executed.

ローダ部131は、エントリ191の領域利用情報702に「共有領域」を設定し、また、エントリ191の格納位置情報703に共有バリュー192を参照するための情報を設定する。格納位置情報703には、共有バリュー格納位置情報1103、又は、共有バリュー識別情報1203を用いることが考えられる。   The loader unit 131 sets “shared area” in the area usage information 702 of the entry 191, and sets information for referring to the shared value 192 in the storage location information 703 of the entry 191. As the storage location information 703, it is conceivable to use the shared value storage location information 1103 or the shared value identification information 1203.

さらに、ローダ部131は、キーの範囲にしたがって、所定のホストコンピュータ102の分散領域171に生成されたエントリ191を配置する。また、ローダ部131は、共有バリュー管理情報144及び共有領域管理情報145を生成して、各ホストコンピュータ102に送信する。以上がステップS1407の処理である。   Further, the loader unit 131 arranges the created entry 191 in the distribution area 171 of the predetermined host computer 102 according to the key range. In addition, the loader unit 131 generates shared value management information 144 and shared area management information 145 and transmits them to each host computer 102. The above is the process of step S1407.

バリュー192が共有領域172に格納済みでないと判定された場合、ローダ部131は、共有領域172にバリュー192を配置し、さらに、分散領域171にエントリ191を配置して(ステップS1406)、処理を終了する。具体的には、以下のような処理が実行される。   When it is determined that the value 192 has not been stored in the shared area 172, the loader unit 131 arranges the value 192 in the shared area 172, and further arranges the entry 191 in the distributed area 171 (step S1406). finish. Specifically, the following processing is executed.

まず、ローダ部131は、共有領域172にバリューを格納するための領域を確保する。ローダ部131は、データソース117からデータを読み出して、共有領域172に共有バリュー192をロードする。   First, the loader unit 131 reserves an area for storing value in the shared area 172. The loader unit 131 reads data from the data source 117 and loads the shared value 192 into the shared area 172.

さらに、ローダ部131は、エントリ191の領域利用情報702に「共有領域」を設定し、また、格納位置情報703に共有バリュー192を参照するための情報を設定する。さらに、ローダ部131は、キーの範囲にしたがって、所定のホストコンピュータ102の分散領域171に生成されたエントリ191を配置する。また、ローダ部131は、共有バリュー管理情報144及び共有領域管理情報145を生成して、各ホストコンピュータ102に送信する。   Further, the loader unit 131 sets “shared area” in the area usage information 702 of the entry 191 and sets information for referring to the shared value 192 in the storage position information 703. Further, the loader unit 131 arranges the created entry 191 in the distribution area 171 of the predetermined host computer 102 according to the key range. In addition, the loader unit 131 generates shared value management information 144 and shared area management information 145 and transmits them to each host computer 102.

なお、既に、同一のバリュー192を共有するエントリ191が分散領域171に存在する場合、ローダ部131は、分散領域171から共有領域172へ当該エントリ191が共有するバリュー192をコピーする。その後、ローダ部131は、既存のエントリ191に対応するバリュー192が格納されていた分散領域171の領域を無効化する。さらに、新規エントリ191、及び、既存のエントリ191の領域利用情報702に「共有領域」を設定し、また、格納位置情報703に共有バリュー192を参照するための情報を設定する。なお、新規エントリ191は、キーの範囲にしたがって、所定のホストコンピュータ102の分散領域171に配置される。   If an entry 191 sharing the same value 192 already exists in the distributed area 171, the loader unit 131 copies the value 192 shared by the entry 191 from the distributed area 171 to the shared area 172. Thereafter, the loader unit 131 invalidates the area of the distributed area 171 in which the value 192 corresponding to the existing entry 191 is stored. Furthermore, “shared area” is set in the area usage information 702 of the new entry 191 and the existing entry 191, and information for referring to the shared value 192 is set in the storage location information 703. The new entry 191 is arranged in the distribution area 171 of the predetermined host computer 102 according to the key range.

ステップS1403において、指定されたデータソース117の配置場所が指定されていると判定された場合、ローダ部131は、指定された配置場所が共有領域172であるか否かを判定する(ステップS1408)。具体的には、ローダ部131は、データソース情報182の配置指定情報303に「共有領域」が格納されているか否かを判定する。   If it is determined in step S1403 that the arrangement location of the designated data source 117 is designated, the loader unit 131 determines whether or not the designated arrangement location is the shared area 172 (step S1408). . Specifically, the loader unit 131 determines whether the “shared area” is stored in the arrangement designation information 303 of the data source information 182.

指定された配置場所が共有領域172であると判定された場合、ローダ部131は、ステップS1405に進む。   If it is determined that the designated placement location is the shared area 172, the loader unit 131 proceeds to step S1405.

指定された配置場所が共有領域172でないと判定された場合、ローダ部131は、分散領域171にエントリ191及びバリュー192を配置し(ステップS1409)、処理を終了する。このとき、ローダ部131は、エントリ191の領域利用情報702に「分散領域」を設定し、また、格納位置情報703にバリュー192にアクセスするための情報が設定される。   When it is determined that the designated arrangement location is not the shared area 172, the loader unit 131 arranges the entry 191 and the value 192 in the distribution area 171 (step S1409), and ends the process. At this time, the loader unit 131 sets “distributed area” in the area usage information 702 of the entry 191, and information for accessing the value 192 is set in the storage location information 703.

なお、配置場所として分散領域171が指定された場合には、データソース117がロードされた数にかかわらず、エントリ191を分散領域171にロードする。これによって、従来の分散メモリキャッシュと同様に、複数のUAP161間でバリュー192を共有しないエントリ191を利用することができる。   When the distribution area 171 is designated as the arrangement location, the entry 191 is loaded into the distribution area 171 regardless of the number of data sources 117 loaded. As a result, like the conventional distributed memory cache, the entry 191 that does not share the value 192 among the plurality of UAPs 161 can be used.

なお、ロード処理終了後に、ローダ部131が返り値として応答する識別情報が、対応情報183のロード識別情報405に格納される。   Note that the identification information that the loader unit 131 responds as a return value after the load process is completed is stored in the load identification information 405 of the correspondence information 183.

なお、ステップS1406及びステップS1407では、ローダ部131が必要な情報をホストコンピュータ102に送信し、分散メモリキャッシュ管理部141が共有バリュー管理情報144及び共有領域管理情報145を生成してもよい。   In steps S1406 and S1407, the loader unit 131 may transmit necessary information to the host computer 102, and the distributed memory cache management unit 141 may generate the shared value management information 144 and the shared area management information 145.

エントリ191へのアクセス方法については、従来のアクセス方法と同一のものであるため説明を省略する。   Since the access method to the entry 191 is the same as the conventional access method, description thereof is omitted.

図15A及び図15Bは、本発明の第1の実施形態におけるアンロード処理の詳細を説明するフローチャートである。   15A and 15B are flowcharts illustrating details of the unload processing according to the first embodiment of this invention.

分散メモリキャッシュからデータソース117へデータをアンロードする場合に、ローダ部131が以下で説明するアンロード処理を実行する。ホストコンピュータ102上のUAP161がデータ処理を実行した後に、分散メモリキャッシュからストレージ装置103のデータソース117へアンロードするときに、ホストコンピュータ101上のローダ部131が実行される。   When data is unloaded from the distributed memory cache to the data source 117, the loader unit 131 executes unload processing described below. After the UAP 161 on the host computer 102 executes data processing, the loader unit 131 on the host computer 101 is executed when unloading from the distributed memory cache to the data source 117 of the storage apparatus 103.

なお、アンロード処理の実行時には、対応情報183のロード識別情報404に格納される情報が指定される。これによって、ローダ部131は、アンロード対象のエントリ191を識別できる。さらに、ローダ部131は、対応情報183のデータソース識別情報401を参照して、アンロード対象となるデータソース117を特定できる。   When executing the unload process, information stored in the load identification information 404 of the correspondence information 183 is designated. As a result, the loader unit 131 can identify the entry 191 to be unloaded. Furthermore, the loader unit 131 can identify the data source 117 to be unloaded with reference to the data source identification information 401 of the correspondence information 183.

ローダ部131は、データソース情報182の配置指定情報303を参照して、指定されたデータソース117の配置場所が指定されているか否かを判定する(ステップS1501)。   The loader unit 131 refers to the arrangement designation information 303 of the data source information 182 and determines whether or not the arrangement location of the designated data source 117 is designated (step S1501).

例えば、配置指定情報303に「分散領域」又は「共有領域」が格納される場合には、指定されたデータソース117の配置場所が指定されていると判定される。一方、配置指定情報303に「指定なし」が格納される場合、指定されたデータソース117の配置場所が指定されていないと判定される。   For example, when “distributed area” or “shared area” is stored in the arrangement designation information 303, it is determined that the arrangement location of the designated data source 117 is designated. On the other hand, when “no designation” is stored in the arrangement designation information 303, it is determined that the arrangement location of the designated data source 117 is not designated.

データソース117の配置場所が指定されていると判定された場合、ローダ部131は、指定された配置場所が共有領域172であるか否かを判定する(ステップS1502)。具体的には、ローダ部131は、データソース情報182の配置指定情報303に「共有領域」が格納されているか否かを判定する。   When it is determined that the location of the data source 117 is specified, the loader unit 131 determines whether or not the specified location is the shared area 172 (step S1502). Specifically, the loader unit 131 determines whether the “shared area” is stored in the arrangement designation information 303 of the data source information 182.

指定された配置場所が共有領域172でないと判定された場合、ローダ部131は、対応するデータソース117に、分散領域171に格納されるバリュー192の値を反映する(ステップS1503)。具体的には、ローダ部131は、更新されたバリュー192の値を対応するデータソース117に書き込む。なお、バリュー192が更新されていない場合には、当該処理を省略することができる。   When it is determined that the designated arrangement location is not the shared area 172, the loader unit 131 reflects the value 192 stored in the distributed area 171 in the corresponding data source 117 (step S1503). Specifically, the loader unit 131 writes the updated value 192 value to the corresponding data source 117. If the value 192 has not been updated, this process can be omitted.

ローダ部131は、対応情報183の参照数402を更新する(ステップS1504)。具体的には、ローダ部131は、参照数402の値を「1」デクリメントする。これによって、現在のロード回数を管理できる。   The loader unit 131 updates the reference number 402 of the correspondence information 183 (step S1504). Specifically, the loader unit 131 decrements the value of the reference number 402 by “1”. Thus, the current number of loads can be managed.

さらに、ローダ部131は、エントリ191を分散メモリキャッシュから削除し(ステップ1505)、処理を終了する。このとき、分散領域171に格納されるバリュー192も合わせて削除される。   Further, the loader unit 131 deletes the entry 191 from the distributed memory cache (step 1505) and ends the process. At this time, the value 192 stored in the distribution area 171 is also deleted.

ステップS1502において、指定された配置場所が共有領域172であると判定された場合、ローダ部131は、参照数402が「1」以下であるか否かを判定する(ステップS1509)。   If it is determined in step S1502 that the designated placement location is the shared area 172, the loader unit 131 determines whether the reference number 402 is “1” or less (step S1509).

参照数402が「1」以下であると判定された場合、ローダ部131はステップS1503に進み、参照数402が「1」より大きいと判定された場合、ローダ部131はステップS1504に進む。   If it is determined that the reference number 402 is equal to or less than “1”, the loader unit 131 proceeds to step S1503. If it is determined that the reference number 402 is greater than “1”, the loader unit 131 proceeds to step S1504.

ステップS1501において、データソース117の配置場所が指定されていないと判定された場合、ローダ部131は、配置場所の変換処理を実行する(ステップS1506〜ステップS1508)。   If it is determined in step S1501 that the arrangement location of the data source 117 is not specified, the loader unit 131 executes an arrangement location conversion process (steps S1506 to S1508).

まず、ローダ部131は、参照数402が「1」以下であるか否かを判定する(ステップS1506)。   First, the loader unit 131 determines whether or not the reference number 402 is “1” or less (step S1506).

参照数402が「1」以下であると判定された場合、当該アンロード処理によって、同一のデータソース117から生成されたエントリ191が分散メモリキャッシュから全てが削除される。したがって、ローダ部131は、バリュー192の更新を反映するためにステップS1503に進む。なお、ステップS1504において、ローダ部131は、共有バリュー管理情報144及び共有領域管理情報145の削除命令を各ホストコンピュータ102に通知する。   When it is determined that the reference number 402 is “1” or less, all the entries 191 generated from the same data source 117 are deleted from the distributed memory cache by the unload processing. Therefore, the loader unit 131 proceeds to step S1503 to reflect the update of the value 192. In step S1504, the loader unit 131 notifies each host computer 102 of an instruction to delete the shared value management information 144 and the shared area management information 145.

参照数402が「1」より大きいと判定された場合、ローダ部131は、参照数402が「3」以上であるか否かを判定する(ステップS1507)。   When it is determined that the reference number 402 is larger than “1”, the loader unit 131 determines whether or not the reference number 402 is “3” or more (step S1507).

参照数402が「3」以上であると判定された場合、ローダ部131は、エントリ191を削除するためにステップS1504に進む。   If it is determined that the reference number 402 is “3” or more, the loader unit 131 proceeds to step S1504 to delete the entry 191.

参照数402が「3」より小さい、すなわち、参照数402が「2」であると判定された場合、ローダ部131は、共有バリュー192を共有領域172から分散領域171に移行し(ステップS1508)、ステップS1504に進む。これは、指定されたエントリ191が削除された後、共有バリュー192は、1つのUAP161からのみ参照されるため共有領域172に格納する必要がないためである。   When it is determined that the reference number 402 is smaller than “3”, that is, the reference number 402 is “2”, the loader unit 131 moves the shared value 192 from the shared area 172 to the distributed area 171 (step S1508). The process proceeds to step S1504. This is because, after the designated entry 191 is deleted, the shared value 192 is referred to only from one UAP 161, so it is not necessary to store it in the shared area 172.

なお、このとき、ローダ部131は、バリュー192の移行に伴ってエントリ191を更新する。すなわち、図12又は図13に示すようなエントリ191から、図11に示すようなエントリ191に変換する。具体的には、領域利用情報702に「分散領域」が格納され、共有バリュー管理情報ポインタ705が削除される。また、格納位置情報703には、分散領域171におけるバリュー192の格納位置を示す情報が格納される。   At this time, the loader unit 131 updates the entry 191 as the value 192 is transferred. That is, the entry 191 as shown in FIG. 12 or 13 is converted into the entry 191 as shown in FIG. Specifically, “distributed area” is stored in the area usage information 702, and the shared value management information pointer 705 is deleted. The storage location information 703 stores information indicating the storage location of the value 192 in the distribution area 171.

また、ステップS1504において、ローダ部131は、共有バリュー管理情報144及び共有領域管理情報145の削除命令を各ホストコンピュータ102に通知する。   In step S1504, the loader unit 131 notifies each host computer 102 of an instruction to delete the shared value management information 144 and the shared area management information 145.

なお、第1の実施形態では、ホストコンピュータ101が、ローダ部131等を備えるものとして説明したが、本発明はこれに限定されない。例えば、少なくとも一つのホストコンピュータ102が、ストレージ装置103と接続され、また、ローダ部131、及びデータソース管理部121等を備えていてもよい。   In the first embodiment, the host computer 101 is described as including the loader unit 131 and the like, but the present invention is not limited to this. For example, at least one host computer 102 may be connected to the storage apparatus 103, and may include a loader unit 131, a data source management unit 121, and the like.

第1の実施形態によれば、異なるアプリケーションによって同一のレコードから生成されたキー・バリュー型データ(エントリ)に対して、複数のアプリケーションがバリューを共有できるようにデータを管理できる。これによって、同一のデータソースからエントリを作成し直す必要なく、一つのアプリケーションによってバリューが更新された場合に、他のアプリケーションがアクセスするエントリにも反映することが可能になる。したがって、分散メモリキャッシュにおけるデータの一貫性を保つことができる。   According to the first embodiment, data can be managed so that a plurality of applications can share value with respect to key / value type data (entries) generated from the same record by different applications. As a result, when a value is updated by one application without having to recreate an entry from the same data source, it can be reflected in an entry accessed by another application. Therefore, data consistency in the distributed memory cache can be maintained.

[第2の実施形態]
第1の実施形態では、ホストコンピュータ102に接続される共有ストレージ装置105上に共有領域172を構成していたが、第2の実施形態では、各ホストコンピュータ102のメモリ114上に共有領域172を構成する点が異なる。以下、第1の実施形態との差異を中心に第2の実施形態について説明する。
[Second Embodiment]
In the first embodiment, the shared area 172 is configured on the shared storage device 105 connected to the host computer 102. However, in the second embodiment, the shared area 172 is set on the memory 114 of each host computer 102. The point to be configured is different. Hereinafter, the second embodiment will be described focusing on differences from the first embodiment.

図16は、本発明の第2の実施形態における計算機システムの構成例を示すブロック図である。   FIG. 16 is a block diagram illustrating a configuration example of a computer system according to the second embodiment of this invention.

ホストコンピュータ101の構成は、第1の実施形態と同一であるため説明を省略する。   Since the configuration of the host computer 101 is the same as that of the first embodiment, description thereof is omitted.

第2の実施形態における計算機システムは、共有ストレージ装置105を備えていない。第2の実施形態では、ホストコンピュータ102が、メモリ114上に共有領域1601を構成する。ここで、分散領域171及び共有領域1601に格納される情報は、それぞれ、第1の実施形態における分散領域171及び共有領域172に格納される情報と同一である。なお、図13に示すエントリ191の共有バリュー識別情報1203と共有バリュー1104とから構成されるキー・バリュー型データを共有領域1601に格納することがより望ましい。   The computer system according to the second embodiment does not include the shared storage device 105. In the second embodiment, the host computer 102 configures a shared area 1601 on the memory 114. Here, the information stored in the distributed area 171 and the shared area 1601 is the same as the information stored in the distributed area 171 and the shared area 172 in the first embodiment, respectively. It is more desirable to store key / value type data including shared value identification information 1203 and shared value 1104 of entry 191 shown in FIG. 13 in shared area 1601.

通常のキー701に加え、共有バリュー識別情報1203を、共有バリュー192を一意に識別するキーとして利用することによって、キー・バリュー型データを実現するフレームワークにおいて、第1の実施形態よりも容易に共有バリュー192を管理することが可能になる。   In a framework for realizing key / value type data by using the shared value identification information 1203 as a key for uniquely identifying the shared value 192 in addition to the normal key 701, it is easier than the first embodiment. The shared value 192 can be managed.

バリュー192の共有が必要のないキー・バリュー型データは分散領域171に、バリュー192の共有が必要なキー・バリュー型データは共有領域1601に配置される。このとき、分散領域171には通常のキーを第一段階のキーとしたエントリを配置し、共有領域1601には共有バリュー識別情報1203を第二段階のキーとしたエントリを配置することによって、多段のキー構造でバリュー192の共有が実現できる。すなわち、共有領域1601に格納されるバリューについてもエントリ191と同様の構成にすることができる。   Key / value type data that does not require sharing of the value 192 is arranged in the distribution area 171, and key / value type data that requires sharing of the value 192 is arranged in the sharing area 1601. At this time, an entry having a normal key as the first-stage key is arranged in the distributed area 171, and an entry having the shared value identification information 1203 as the second-stage key is arranged in the shared area 1601. The sharing of the value 192 can be realized with the key structure. In other words, the value stored in the shared area 1601 can be configured similarly to the entry 191.

また、本実施形態では、分散領域171及び共有領域172を別々に構成しているが、本発明はこれに限定されず、一つの領域においてエントリ191とバリュー192とを管理してもよい。すなわち、図12及び図13のようなエントリ191を生成できれば、共有バリュー192がどのような記憶領域に格納していてもよい。   In this embodiment, the distributed area 171 and the shared area 172 are configured separately, but the present invention is not limited to this, and the entry 191 and the value 192 may be managed in one area. That is, as long as the entry 191 as shown in FIGS. 12 and 13 can be generated, the shared value 192 may be stored in any storage area.

なお、その他の構成、及び処理は、第1の実施形態と同一であるため説明を省略する。   Other configurations and processes are the same as those in the first embodiment, and thus description thereof is omitted.

第2の実施形態によれば、共有ストレージ装置105を利用することなく、複数のアプリケーションによって共有されるバリューを認識することによって、同一のデータソースを介してエントリを作成し直す必要なく、一つのアプリケーションから生成されたエントリへの更新が、他のアプリケーションがアクセスするエントリへ反映することが可能になる。   According to the second embodiment, by recognizing a value shared by a plurality of applications without using the shared storage device 105, one entry is not required to be recreated through the same data source. Updates to entries generated from applications can be reflected in entries accessed by other applications.

[第3の実施形態]
第3の実施形態では、ホストコンピュータ102のメモリ114の分散メモリキャッシュ管理部141が、分散メモリキャッシュにおけるエントリ191のアクセス統計情報を取得し、当該情報に基づいて分散領域171と共有領域172との間の移行条件を判定する処理を含む点が第1の及び第2の実施形態と異なる。
[Third Embodiment]
In the third embodiment, the distributed memory cache management unit 141 of the memory 114 of the host computer 102 acquires the access statistical information of the entry 191 in the distributed memory cache, and based on the information, the distribution area 171 and the shared area 172 It differs from the first and second embodiments in that it includes processing for determining the transition condition between the first and second embodiments.

以下、第1の実施形態との差異を中心に第3の実施形態について説明する。   Hereinafter, the third embodiment will be described focusing on differences from the first embodiment.

図17は、本発明が第3の実施形態における計算機システムの構成例を示すブロック図である。   FIG. 17 is a block diagram showing a configuration example of a computer system according to the third embodiment of the present invention.

分散メモリキャッシュ管理部141が、アクセス統計情報1701及び移行条件情報1702を含む点が第1の実施形態と異なる。   The distributed memory cache management unit 141 is different from the first embodiment in that it includes access statistical information 1701 and migration condition information 1702.

アクセス統計情報1701は、分散メモリキャッシュにおけるエントリ191へのアクセスに関する統計情報を格納する。移行条件情報1702は、バリュー192を共有領域172に移行するための判定基準、及び、共有バリュー192を分散領域171に移行するための判定基準に関する情報を格納する。   The access statistical information 1701 stores statistical information regarding access to the entry 191 in the distributed memory cache. The migration condition information 1702 stores information on a determination criterion for transferring the value 192 to the shared area 172 and a determination criterion for transferring the shared value 192 to the distributed area 171.

他の構成は、第1の実施形態と同一であるため説明を省略する。   Since other configurations are the same as those of the first embodiment, description thereof is omitted.

図18は、本発明の第3の実施形態におけるエントリ191の構成例を示す説明図である。   FIG. 18 is an explanatory diagram illustrating a configuration example of the entry 191 according to the third embodiment of this invention.

第3の実施形態の共有バリュー管理情報144は、新たにアクセス統計情報ポインタ1801を含む。アクセス統計情報ポインタ1801は、アクセス統計情報1701へのポインタを格納する。アクセス統計情報1701にエントリ191ごとのアクセス情報を格納することによって、エントリ単位のバリュー192の配置場所の変更ができる。   The shared value management information 144 of the third embodiment newly includes an access statistical information pointer 1801. The access statistical information pointer 1801 stores a pointer to the access statistical information 1701. By storing the access information for each entry 191 in the access statistical information 1701, the location of the value 192 for each entry can be changed.

図19は、本発明の第3の実施形態におけるアクセス統計情報1701の構成例を示す説明図である。   FIG. 19 is an explanatory diagram illustrating a configuration example of the access statistical information 1701 according to the third embodiment of this invention.

アクセス統計情報1701は、アクセス回数1901及び更新回数1902を含む。   The access statistical information 1701 includes an access count 1901 and an update count 1902.

アクセス回数1901は、対応するエントリ191への参照及び更新などのアクセス回数を格納する。更新回数1902は、対応するエントリ191への更新に関するアクセス回数を格納する。なお、本実施形態では、アクセス統計情報1701に格納される情報として、アクセス回数1901と更新回数1902とを用いているが、本発明はこれに限定されない。   The access count 1901 stores the access count such as reference and update to the corresponding entry 191. The update count 1902 stores the access count regarding the update to the corresponding entry 191. In this embodiment, the access count 1901 and the update count 1902 are used as information stored in the access statistical information 1701, but the present invention is not limited to this.

図20は、本発明の第3の実施形態における移行条件情報1602の構成例を示す説明図である。   FIG. 20 is an explanatory diagram illustrating a configuration example of the migration condition information 1602 according to the third embodiment of this invention.

移行条件情報1602は、共有領域移行条件2001及び分散領域移行条件2002を含む。   The migration condition information 1602 includes a shared area migration condition 2001 and a distributed area migration condition 2002.

共有領域移行条件2001は、バリュー192が分散領域171に格納されている場合に、共有領域172に移行させるための条件を格納する。   The shared area migration condition 2001 stores a condition for migrating to the shared area 172 when the value 192 is stored in the distributed area 171.

例えば、共有領域移行条件2001には、アクセス統計情報1701に含まれる更新回数1902の閾値が格納される。この場合、設定された閾値を超えるとバリュー192が分散領域171から共有領域172に移行される。また、共有領域移行条件2001にアクセス回数に対する更新回数の比率の閾値を格納しもよい。   For example, the shared area migration condition 2001 stores a threshold value of the update count 1902 included in the access statistical information 1701. In this case, if the set threshold value is exceeded, the value 192 is transferred from the distributed area 171 to the shared area 172. Further, a threshold value of the ratio of the number of updates to the number of accesses may be stored in the shared area migration condition 2001.

分散領域移行条件2002は、バリュー192が共有領域172に格納されている場合に、分散領域171に移行させるための条件を格納する。   The distributed area migration condition 2002 stores a condition for migrating to the distributed area 171 when the value 192 is stored in the shared area 172.

例えば、分散領域移行条件2002には、アクセス統計情報1701に含まれるアクセス回数1901に対する更新回数1902の比率の閾値を格納する。この場合、設定された閾値を下回ると共有バリュー192が共有領域172から分散領域171に移行される。   For example, the distribution area migration condition 2002 stores a threshold value of the ratio of the update count 1902 to the access count 1901 included in the access statistical information 1701. In this case, the shared value 192 is transferred from the shared area 172 to the distributed area 171 when it falls below the set threshold value.

図21は、本発明の第3の実施形態におけるデータ移行処理を説明するフローチャートである。   FIG. 21 is a flowchart for explaining data migration processing in the third embodiment of the present invention.

データ移行処理は、キー・バリュー型データのエントリがロードされるとき、エントリがデータソース117にアンロードされるときに、エントリ配置管理部142によって実行される。また、データ移行処理は、エントリのロード及びアンロードのときに限らず、ジョブネット実行時のジョブ実行の合間や、周期的に実行されてもよい。   The data migration processing is executed by the entry arrangement management unit 142 when an entry of key / value type data is loaded and when the entry is unloaded to the data source 117. Further, the data migration processing is not limited to entry loading and unloading, and may be executed between job executions during job net execution or periodically.

エントリ配置管理部142は、対象とするエントリ191のバリュー192が共有領域172に格納されているか否かを判定する(ステップS2101)。具体的には、エントリ配置管理部142は、エントリ191の領域利用情報702を参照して、バリュー192が共有領域172に格納されているか否かを判定する。   The entry arrangement management unit 142 determines whether or not the value 192 of the target entry 191 is stored in the shared area 172 (step S2101). Specifically, the entry arrangement management unit 142 refers to the area usage information 702 of the entry 191 and determines whether or not the value 192 is stored in the shared area 172.

バリューが共有領域172に格納されていると判定された場合、エントリ配置管理部142は、エントリ191を参照してアクセス統計情報1701を取得し、共有領域移行条件を満たすか否かを判定する(ステップS2102)。   When it is determined that the value is stored in the shared area 172, the entry arrangement management unit 142 refers to the entry 191, acquires the access statistical information 1701, and determines whether or not the shared area migration condition is satisfied ( Step S2102).

具体的には、エントリ配置管理部142は、エントリ191のアクセス統計情報ポインタ1801を参照してアクセス統計情報1701を取得する。エントリ配置管理部142は、移行条件情報1702と、取得された1701とを参照して、共有領域移行条件を満たすか否かを判定する。これは、仮に共有領域移行条件と、分散領域移行条件とが同時に満たされた場合に、現在格納されている共有領域172を優先して使用するための判定処理である。   Specifically, the entry arrangement management unit 142 acquires the access statistical information 1701 by referring to the access statistical information pointer 1801 of the entry 191. The entry arrangement management unit 142 refers to the migration condition information 1702 and the acquired 1701 and determines whether or not the shared area migration condition is satisfied. This is a determination process for preferentially using the currently stored shared area 172 if the shared area migration condition and the distributed area migration condition are satisfied at the same time.

共有領域移行条件を満たすと判定された場合、エントリ配置管理部142は、処理を終了する。   When it is determined that the shared area migration condition is satisfied, the entry arrangement management unit 142 ends the process.

共有領域移行条件を満たさないと判定された場合、エントリ配置管理部142は、エントリ191を参照してアクセス統計情報1701を取得し、分散領域移行条件を満たすか否かを判定する(ステップS2103)。ステップS2103の処理は、ステップS2102の処理と同様の処理であるため説明を省略する。   If it is determined that the shared area migration condition is not satisfied, the entry arrangement management unit 142 refers to the entry 191 to acquire the access statistical information 1701 and determines whether or not the distributed area migration condition is satisfied (step S2103). . The process in step S2103 is the same as the process in step S2102 and will not be described.

分散領域移行条件を満たさないと判定された場合、エントリ配置管理部142は、処理を終了する。   If it is determined that the distribution area migration condition is not satisfied, the entry arrangement management unit 142 ends the process.

分散領域移行条件を満たすと判定された場合、エントリ配置管理部142は、バリュー192を共有領域172から分散領域171に移行する(ステップS2104)。このとき、エントリ配置管理部142には、エントリ191にバリュー192が設定される。なお、エントリ191にバリュー192が設定されなくてもよい。この場合、エントリ配置管理部142が、分散領域171に格納されるバリュー192へのポインタを生成し、生成されたポインタをエントリ配置管理部142に設定してもよい。   When it is determined that the distribution area migration condition is satisfied, the entry arrangement management unit 142 migrates the value 192 from the shared area 172 to the distribution area 171 (step S2104). At this time, the value 192 is set in the entry 191 in the entry arrangement management unit 142. The value 192 may not be set in the entry 191. In this case, the entry arrangement management unit 142 may generate a pointer to the value 192 stored in the distribution area 171 and set the generated pointer in the entry arrangement management unit 142.

エントリ配置管理部142は、アクセス統計情報1701のリセット処理を実行して(ステップS2105)、処理を終了する。なお、アクセス統計情報1701のリセット処理は必ず実行する必要は無く、必要な場合にのみ実行すればよい。   The entry arrangement management unit 142 executes a reset process for the access statistical information 1701 (step S2105), and ends the process. Note that the reset processing of the access statistical information 1701 is not necessarily executed, and may be executed only when necessary.

ステップS2101において、バリューが共有領域172に格納されていないと判定された場合、エントリ配置管理部142は、エントリ191を参照してアクセス統計情報1701を取得し、分散領域移行条件を満たすか否かを判定する(ステップS2106)。   If it is determined in step S2101 that the value is not stored in the shared area 172, the entry arrangement management unit 142 refers to the entry 191, acquires the access statistical information 1701, and determines whether or not the distributed area migration condition is satisfied. Is determined (step S2106).

具体的には、エントリ配置管理部142は、エントリ191のアクセス統計情報ポインタ1801を参照してアクセス統計情報1701を取得する。エントリ配置管理部142は、移行条件情報1702と、取得されたアクセス統計情報1701とを参照して、分散領域移行条件を満たすか否かを判定する。これは、仮に分散領域移行条件と、共有領域移行条件とが同時に満たされた場合に、現在格納されている分散領域171を優先して使用するための判定処理である。   Specifically, the entry arrangement management unit 142 acquires the access statistical information 1701 by referring to the access statistical information pointer 1801 of the entry 191. The entry arrangement management unit 142 refers to the migration condition information 1702 and the acquired access statistical information 1701 to determine whether or not the distributed region migration condition is satisfied. This is a determination process for preferentially using the currently stored distributed area 171 if both the distributed area transfer condition and the shared area transfer condition are satisfied at the same time.

分散領域移行条件を満たすと判定された場合、エントリ配置管理部142は、処理を終了する。   When it is determined that the distribution area migration condition is satisfied, the entry arrangement management unit 142 ends the process.

分散領域移行条件を満たさないと判定された場合、エントリ配置管理部142は、エントリ191を参照してアクセス統計情報1701を取得し、共有領域移行条件を満たすか否かを判定する(ステップS2107)。ステップS2107の処理は、ステップS2106の処理と同様の処理であるため説明を省略する。   If it is determined that the distribution area migration condition is not satisfied, the entry arrangement management unit 142 refers to the entry 191 to obtain the access statistical information 1701 and determines whether the shared area migration condition is satisfied (step S2107). . Since the process in step S2107 is the same as the process in step S2106, description thereof is omitted.

共有領域移行条件を満たさないと判定された場合、エントリ配置管理部142は、処理を終了する。   If it is determined that the shared area migration condition is not satisfied, the entry arrangement management unit 142 ends the process.

共有領域移行条件を満たすと判定された場合、エントリ配置管理部142は、バリュー192を分散領域171から共有領域172に移行し(ステップS2108)、ステップS2105に進む。このとき、エントリ配置管理部142は、共有領域172に格納された共有バリュー192へアクセスするための情報を生成し、エントリ191の格納位置情報703に生成された情報を設定する。   If it is determined that the shared area migration condition is satisfied, the entry arrangement management unit 142 migrates the value 192 from the distributed area 171 to the shared area 172 (step S2108), and the process proceeds to step S2105. At this time, the entry arrangement management unit 142 generates information for accessing the shared value 192 stored in the shared area 172, and sets the generated information in the storage location information 703 of the entry 191.

以上の処理によって、同一のデータソースのレコードから生成されたエントリ191が複数ある場合に、エントリ191の利用状況に応じて最適な分散メモリキャッシュに配置することが可能になる。   With the above processing, when there are a plurality of entries 191 generated from records of the same data source, it is possible to place them in an optimal distributed memory cache according to the usage status of the entries 191.

第3の実施形態におけるエントリの移行を実現するための構成としては以下のようなものが考えられる。   The following can be considered as a configuration for realizing entry migration in the third embodiment.

図22及び図23は、本発明の第3の実施形態におけるエントリ191の論理的なデータ構成の一例を示す説明図である。   22 and 23 are explanatory diagrams illustrating an example of a logical data configuration of the entry 191 according to the third embodiment of this invention.

図22は、同一のデータソース117のレコードから生成されたエントリが二つあり、かつ、バリューが共有されない場合のエントリ191のデータ構成を示す。図23は、同一のデータソースのレコードから生成されたエントリが二つあり、かつ、バリューが共有されている場合のエントリ191のデータ構成を示す説明図である。   FIG. 22 shows the data structure of the entry 191 when there are two entries generated from records of the same data source 117 and no value is shared. FIG. 23 is an explanatory diagram showing the data structure of the entry 191 when there are two entries generated from records of the same data source and the value is shared.

なお、図22及び図23に示すようなエントリ191の生成方法は、第1の実施形態におけるロード処理と同一であるため説明を省略する。   Note that the method for generating the entry 191 as shown in FIGS. 22 and 23 is the same as the load processing in the first embodiment, and thus the description thereof is omitted.

第3の実施形態によれば、分散メモリキャッシュにおけるエントリへのアクセス統計情報に基づいて、分散領域と共有領域との間のバリューの移行処理を自動化することができる。これによって、バリューの配置場所が設定されていない場合であっても、適切な記憶領域にバリューを配置することができる。   According to the third embodiment, it is possible to automate the value transfer process between the distributed area and the shared area based on the access statistical information to the entry in the distributed memory cache. As a result, even if the location of the value is not set, the value can be placed in an appropriate storage area.

101 ホストコンピュータ
102 ホストコンピュータ
103 ストレージ装置
104 ネットワーク
105 共有ストレージ装置
121 データソース管理部
131 ローダ部
141 分散メモリキャッシュ管理部
142 エントリ配置管理部
143 共有領域アクセス管理部
144 共有バリュー管理情報
145 共有領域管理情報
161 アプリケーションプログラム(UAP)
171 分散領域
172 共有領域
181 分散メモリキャッシュ構成情報
182 データソース情報
183 対応情報
191 エントリ
192 バリュー
1701 アクセス統計情報
1702 移行条件情報
DESCRIPTION OF SYMBOLS 101 Host computer 102 Host computer 103 Storage apparatus 104 Network 105 Shared storage apparatus 121 Data source management part 131 Loader part 141 Distributed memory cache management part 142 Entry arrangement management part 143 Shared area access management part 144 Shared value management information 145 Shared area management information 161 Application program (UAP)
171 Distributed area 172 Shared area 181 Distributed memory cache configuration information 182 Data source information 183 Corresponding information 191 Entry 192 Value 1701 Access statistics information 1702 Migration condition information

Claims (15)

第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ及び前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、データを格納する複数の第1の計算機と、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ及び前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、前記複数の第1の計算機の各々に格納されるデータを管理する第2の計算機と、を備える計算機システムであって、
前記計算機システムは、前記複数の第1の計算機が提供する記憶領域を統合して生成されたストレージを備え、
前記第2の計算機は、
複数のレコードを含むファイルを分割して、検索キーと、前記レコードの内容を示すバリューとを対応づけた分割データを前記ストレージに分散して格納するローダ処理部、及び、前記ファイルを格納するファイル格納部を有し、
前記ストレージを構成する前記記憶領域の情報を含むストレージ構成情報、及び、前記ストレージに格納される前記分割データと前記ファイルとの対応関係を管理する対応情報を格納し、
前記複数の第1の計算機の各々は、
ファイルデータ単位のデータを処理するアプリケーション、及び、前記ストレージを管理するストレージ管理部を有し、
前記分割データを管理する分割データ管理情報を格納し、
前記ストレージは、第1のファイルのバリューにアクセスするための第1のアクセス情報と、第1の検索キーとを含む第1の分割データ、及び、前記第1のファイルのバリューを格納し、
前記第2の計算機は、
前記アプリケーションから、第2の検索キーの情報を含む第1のファイルの前記分割データの配置要求を受け付けた場合に、前記アプリケーションから指定された前記第2の検索キーを生成し、
前記第1のファイルのバリューが複数の前記アプリケーションによって共有される共有バリューであるか否かを判定し、
前記第1のファイルのバリューが共有バリューであると判定された場合、前記第2の検索キーと前記第1のアクセス情報とを含む第2の分割データを前記ストレージに格納することを特徴とする計算機システム。
A plurality of first computers having a first processor, a first memory connected to the first processor, and a first network interface connected to the first processor, and storing data; Two processors, a second memory connected to the second processor, and a second network interface connected to the second processor, and data stored in each of the plurality of first computers A computer system comprising: a second computer for managing
The computer system includes a storage generated by integrating storage areas provided by the plurality of first computers,
The second calculator is
A loader processing unit that divides a file including a plurality of records and distributes and stores the divided data in which the search key and the value indicating the content of the record are associated with each other in the storage, and the file that stores the file Having a storage section;
Storing storage configuration information including information on the storage area constituting the storage, and correspondence information for managing the correspondence between the divided data stored in the storage and the file,
Each of the plurality of first computers is
An application that processes data in units of file data, and a storage management unit that manages the storage,
Storing divided data management information for managing the divided data;
The storage stores first divided information including first access information for accessing the value of the first file and a first search key, and the value of the first file,
The second calculator is
When receiving the split data placement request of the first file including the information of the second search key from the application, the second search key specified by the application is generated,
Determining whether the value of the first file is a shared value shared by a plurality of the applications;
When it is determined that the value of the first file is a shared value, the second divided data including the second search key and the first access information is stored in the storage. Computer system.
前記ストレージは、前記複数の第1の計算機の各々が管理する第1のストレージ領域と、前記全ての第1の計算機によって共有される第2のストレージ領域とを含み、
前記第2の計算機は、
前記分割データを前記第1のストレージ領域に格納し、
前記ファイルのバリューが共有バリューでない場合には、前記分割データのソースであるファイルのバリューを前記第1のストレージ領域に格納し、
前記ファイルのバリューが共有バリューである場合には、前記分割データのソースであるファイルのバリューを前記第2のストレージ領域に格納することを特徴とする請求項1に記載の計算機システム。
The storage includes a first storage area managed by each of the plurality of first computers, and a second storage area shared by all the first computers,
The second calculator is
Storing the divided data in the first storage area;
When the value of the file is not a shared value, the value of the file that is the source of the divided data is stored in the first storage area,
2. The computer system according to claim 1, wherein when the value of the file is a shared value, the value of the file that is the source of the divided data is stored in the second storage area.
前記第2の計算機は、
前記第1の分割データ、及び、前記第1のファイルのバリューが前記第1のストレージ領域に格納され、前記第1のファイルのバリューが共有バリューであると判定された場合に、前記第1のファイルのバリューを前記第1のストレージ領域から前記第2のストレージ領域に移行し、
前記第2のストレージ領域に格納される前記第1のファイルのバリューにアクセスするための第2のアクセス情報を生成し、
前記第1の分割データの前記第1のアクセス情報を前記第2のアクセス情報に更新し、
前記第2の検索キーと前記第2のアクセス情報とを含む前記第2の分割データを前記第1のストレージ領域に格納することを特徴とする請求項2に記載の計算機システム。
The second calculator is
When the first divided data and the value of the first file are stored in the first storage area, and the value of the first file is determined to be a shared value, the first data Transferring the value of the file from the first storage area to the second storage area;
Generating second access information for accessing the value of the first file stored in the second storage area;
Updating the first access information of the first divided data to the second access information;
The computer system according to claim 2, wherein the second divided data including the second search key and the second access information is stored in the first storage area.
前記複数の第1の計算機の各々は、前記バリューに対するアクセスを監視するアクセス統計情報と、前記ファイルのバリューの格納場所の移行条件に関する移行条件情報とを格納し、
前記複数の第1の計算機の各々は、
前記第1のファイルのバリューが前記第1のストレージ領域に格納されている場合に、前記第1のファイルのバリューに対応する前記アクセス統計情報を取得し、
前記移行条件情報と前記取得されたアクセス統計情報とに基づいて、前記第1のファイルのバリューを前記第2のストレージ領域に移行するか否かを判定し、
前記第1のファイルのバリューを前記第2のストレージ領域に移行すると判定された場合に、前記第1のファイルのバリューを前記第2のストレージ領域に移行し、
移行後の前記第2のストレージ領域に格納される前記第1のファイルのバリューにアクセスするための第3のアクセス情報を生成し、前記第1の分割データの前記第1のアクセス情報を前記第3のアクセス情報に更新することを特徴とする請求項3に記載の計算機システム。
Each of the plurality of first computers stores access statistical information for monitoring access to the value, and migration condition information regarding a migration condition of a storage location of the value of the file,
Each of the plurality of first computers is
When the value of the first file is stored in the first storage area, the access statistical information corresponding to the value of the first file is acquired,
Determining whether to migrate the value of the first file to the second storage area based on the migration condition information and the acquired access statistical information;
If it is determined to migrate the value of the first file to the second storage area, the value of the first file is migrated to the second storage area;
Generating third access information for accessing the value of the first file stored in the second storage area after migration, and storing the first access information of the first divided data in the first The computer system according to claim 3, wherein the access information is updated to three access information.
前記複数の第1の計算機の各々は、
前記第1のファイルのバリューが前記第2のストレージ領域に格納されている場合に、前記第1のファイルのバリューに対応する前記アクセス統計情報を取得し、
前記移行条件情報と前記取得されたアクセス統計情報とに基づいて、前記第1のファイルのバリューを前記第1のストレージ領域に移行するか否かを判定し、
前記第1のファイルのバリューを前記第1のストレージ領域に移行すると判定された場合に、前記第1のファイルのバリューを前記第1のストレージ領域に移行し、
移行後の前記第1のストレージ領域に格納される前記第1のファイルのバリューにアクセスするための第4のアクセス情報を生成し、前記第1の分割データの前記第2のアクセス情報を前記第4のアクセス情報に更新することを特徴とする請求項4に記載の計算機システム。
Each of the plurality of first computers is
When the value of the first file is stored in the second storage area, the access statistical information corresponding to the value of the first file is acquired,
Determining whether to migrate the value of the first file to the first storage area based on the migration condition information and the acquired access statistical information;
When it is determined that the value of the first file is to be transferred to the first storage area, the value of the first file is transferred to the first storage area;
Generate fourth access information for accessing the value of the first file stored in the first storage area after the migration, and store the second access information of the first divided data in the first 5. The computer system according to claim 4, wherein the access information is updated to four access information.
前記第2の計算機は、
前記第1のアプリケーションから、前記第1の分割データの削除要求を受信した場合に、前記第1のファイルのバリューが共有バリューであるか否かを判定し、
前記第1のファイルのバリューが共有バリューでないと判定された場合、前記第1のファイルのバリューの更新結果を前記ファイル格納部に格納される前記第1のファイルに反映し、
前記第1のストレージ領域に格納される前記第1の分割データ及び第1のファイルバリューを削除し、
前記第1のファイルのバリューが共有バリューであると判定された場合、前記第1のストレージ領域から前記第1の分割データを削除することを特徴とする請求項3に記載の計算機システム。
The second calculator is
When receiving a deletion request for the first divided data from the first application, it is determined whether the value of the first file is a shared value;
When it is determined that the value of the first file is not a shared value, the update result of the value of the first file is reflected in the first file stored in the file storage unit,
Deleting the first divided data and the first file value stored in the first storage area;
4. The computer system according to claim 3, wherein when it is determined that the value of the first file is a shared value, the first divided data is deleted from the first storage area.
前記第1のファイルのバリューが共有バリューであると判定された場合に、さらに、前記第1のファイルのバリューが一つの前記アプリケーションからのみアクセスされるか否かを判定し、
前記第1のファイルのバリューが一つの前記アプリケーションからのみアクセスされると判定された場合には、前記第1のファイルのバリューを前記第2のストレージ領域から前記第1のストレージ領域に移行し、
移行後の前記第1のストレージ領域に格納された前記第1ファイルのバリューにアクセスするための第5のアクセス情報を生成し、他の前記分割データの前記第2のアクセス情報を前記第5のアクセス情報に更新することを特徴とする請求項6に記載の計算機システム。
When it is determined that the value of the first file is a shared value, it is further determined whether the value of the first file is accessed only from one application,
If it is determined that the value of the first file is accessed only from one application, the value of the first file is transferred from the second storage area to the first storage area,
Fifth access information for accessing the value of the first file stored in the first storage area after migration is generated, and the second access information of the other divided data is generated as the fifth access information. The computer system according to claim 6, wherein the computer system is updated to access information.
前記第1のファイルのバリューが前記共有バリューであるか否かを判定する場合に、前記配置要求に前記第1のファイルのバリューの格納先として前記第2のストレージ領域が指定されているか否かを判定することを特徴とする請求項2に記載の計算機システム。   Whether to determine whether the value of the first file is the shared value, whether the second storage area is designated as the storage destination of the value of the first file in the placement request The computer system according to claim 2, wherein the computer system is determined. 前記計算機システムは、全ての前記第1の計算機が接続可能な外部記憶装置を備え、
前記外部記憶装置上に前記第2のストレージ領域が構成されることを特徴とする請求項2に記載の計算機システム。
The computer system includes an external storage device to which all the first computers can be connected,
The computer system according to claim 2, wherein the second storage area is configured on the external storage device.
前記第2のストレージ領域に格納された前記バリューにアクセスするためのアクセス情報は、前記共有バリューの識別情報であり、
前記第2のストレージ領域には、前記共有バリューの識別情報と前記共有バリューとが対応づけられた前記分割データが格納されることを特徴とする請求項2に記載の計算機システム。
Access information for accessing the value stored in the second storage area is identification information of the shared value,
3. The computer system according to claim 2, wherein the divided data in which the shared value identification information and the shared value are associated with each other is stored in the second storage area.
第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ及び前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、データを格納する複数の第1の計算機と、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ及び前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、前記複数の第1の計算機の各々に格納されるデータを管理する第2の計算機と、を備える計算機システムにおけるデータ管理方法であって、
前記計算機システムは、前記複数の第1の計算機が提供する記憶領域を統合して生成されたストレージを備え、
前記第2の計算機は、
複数のレコードを含むファイルを分割して、検索キーと、前記レコードの内容を示すバリューとを対応づけた分割データを前記ストレージに分散して格納するローダ処理部、及び、前記ファイルを格納するファイル格納部を有し、
前記ストレージを構成する前記記憶領域の情報を含むストレージ構成情報、及び、前記ストレージに格納される前記分割データと前記ファイルとの対応関係を管理する対応情報を格納し、
前記複数の第1の計算機の各々は、
ファイルデータ単位のデータを処理するアプリケーション、及び、前記ストレージを管理するストレージ管理部を有し、
前記分割データを管理する分割データ管理情報を格納し、
前記ストレージは、第1のファイルのバリューにアクセスするための第1のアクセス情報と、第1の検索キーとを含む第1の分割データ、及び、前記第1のファイルのバリューを格納し、
前記方法は、
前記第2の計算機が、前記アプリケーションから、第2の検索キーの情報を含む第1のファイルの前記分割データの配置要求を受け付けた場合に、前記アプリケーションから指定された前記第2の検索キーを生成する第1のステップと、
前記第2の計算機が、前記第1のファイルのバリューが複数の前記アプリケーションによって共有される共有バリューであるか否かを判定する第2のステップと、
前記第2の計算機が、前記第1のファイルのバリューが共有バリューであると判定された場合、前記第2の検索キーと前記第1のアクセス情報とを含む第2の分割データを前記ストレージに格納する第3のステップと、
を含むことを特徴とするデータ管理方法。
A plurality of first computers having a first processor, a first memory connected to the first processor, and a first network interface connected to the first processor, and storing data; Two processors, a second memory connected to the second processor, and a second network interface connected to the second processor, and data stored in each of the plurality of first computers A data management method in a computer system comprising: a second computer for managing
The computer system includes a storage generated by integrating storage areas provided by the plurality of first computers,
The second calculator is
A loader processing unit that divides a file including a plurality of records and distributes and stores the divided data in which the search key and the value indicating the content of the record are associated with each other in the storage, and the file that stores the file Having a storage section;
Storing storage configuration information including information on the storage area constituting the storage, and correspondence information for managing the correspondence between the divided data stored in the storage and the file,
Each of the plurality of first computers is
An application that processes data in units of file data, and a storage management unit that manages the storage,
Storing divided data management information for managing the divided data;
The storage stores first divided information including first access information for accessing the value of the first file and a first search key, and the value of the first file,
The method
When the second computer receives a request for arranging the divided data of the first file including the information of the second search key from the application, the second search key designated by the application is used. A first step of generating;
A second step in which the second computer determines whether the value of the first file is a shared value shared by a plurality of the applications;
When the second computer determines that the value of the first file is a shared value, the second divided data including the second search key and the first access information is stored in the storage. A third step of storing;
A data management method comprising:
前記ストレージは、前記複数の第1の計算機の各々が管理する第1のストレージ領域と、前記全ての第1の計算機によって共有される第2のストレージ領域とを含み、
前記第1のストレージ領域に前記分割データが格納され、
前記ファイルのバリューが共有バリューでない場合には、前記第2の計算機によって前記第1のストレージ領域に、前記分割データのソースであるファイルのバリューが格納され、
前記ファイルのバリューが共有バリューである場合には、前記第2の計算機によって前記第2のストレージ領域に、前記分割データのソースであるファイルのバリューが格納されることを特徴とする請求項11に記載のデータ管理方法。
The storage includes a first storage area managed by each of the plurality of first computers, and a second storage area shared by all the first computers,
The divided data is stored in the first storage area,
If the value of the file is not a shared value, the value of the file that is the source of the divided data is stored in the first storage area by the second computer,
12. The value of the file that is the source of the divided data is stored in the second storage area by the second computer when the value of the file is a shared value. The data management method described.
前記第3のステップは、
前記第1の分割データ、及び、前記第1のファイルのバリューが前記第1のストレージ領域に格納され、前記第1のファイルのバリューが共有バリューであると判定された場合に、前記第1のファイルのバリューを前記第1のストレージ領域から前記第2のストレージ領域に移行するステップと、
前記第2のストレージ領域に格納される前記第1のファイルのバリューにアクセスするための第2のアクセス情報を生成するステップと、
前記第1の分割データの前記第1のアクセス情報を前記第2のアクセス情報に更新するステップと、
前記第2の検索キーと前記第2のアクセス情報とを含む前記第2の分割データを前記第1のストレージ領域に格納するステップと、
を含むことを特徴とする請求項12に記載のデータ管理方法。
The third step includes
When the first divided data and the value of the first file are stored in the first storage area, and the value of the first file is determined to be a shared value, the first data Migrating the value of the file from the first storage area to the second storage area;
Generating second access information for accessing the value of the first file stored in the second storage area;
Updating the first access information of the first divided data to the second access information;
Storing the second divided data including the second search key and the second access information in the first storage area;
The data management method according to claim 12, further comprising:
前記複数の第1の計算機の各々は、前記バリューに対するアクセスを監視するアクセス統計情報と、前記ファイルのバリューの格納場所の移行条件に関する移行条件情報とを格納し、
前記方法は、さらに、
前記複数の第1の計算機の各々が、前記第1のファイルのバリューが前記第1のストレージ領域に格納されている場合に、前記第1のファイルのバリューに対応する前記アクセス統計情報を取得するステップと、
前記複数の第1の計算機の各々が、前記移行条件情報と前記取得されたアクセス統計情報とに基づいて、前記第1のファイルのバリューを前記第2のストレージ領域に移行するか否かを判定するステップと、
前記複数の第1の計算機の各々が、前記第1のファイルのバリューを前記第2のストレージ領域に移行すると判定された場合に、前記第1のファイルのバリューを前記第2のストレージ領域に移行するステップと、
前記複数の第1の計算機の各々が、移行後の前記第2のストレージ領域に格納される前記第1のファイルのバリューにアクセスするための第3のアクセス情報を生成し、前記第1の分割データの前記第1のアクセス情報を前記第3のアクセス情報に更新するステップと、
を含み、
前記複数の第1の計算機の各々が、前記第1のファイルのバリューが前記第2のストレージ領域に格納されている場合に、前記第1のファイルのバリューに対応する前記アクセス統計情報を取得するステップと、
前記複数の第1の計算機の各々が、前記移行条件情報と前記取得されたアクセス統計情報とに基づいて、前記第1のファイルのバリューを前記第1のストレージ領域に移行するか否かを判定するステップと、
前記複数の第1の計算機の各々が、前記第1のファイルのバリューを前記第1のストレージ領域に移行すると判定された場合に、前記第1のファイルのバリューを前記第1のストレージ領域に移行するステップと、
前記複数の第1の計算機の各々が、移行後の前記第1のストレージ領域に格納される前記第1のファイルのバリューにアクセスするための第4のアクセス情報を生成し、前記第1の分割データの前記第2のアクセス情報を前記第4のアクセス情報に更新するステップと、
を含むことを特徴とする請求項13に記載のデータ管理方法。
Each of the plurality of first computers stores access statistical information for monitoring access to the value, and migration condition information regarding a migration condition of a storage location of the value of the file,
The method further comprises:
Each of the plurality of first computers acquires the access statistical information corresponding to the value of the first file when the value of the first file is stored in the first storage area. Steps,
Each of the plurality of first computers determines whether to migrate the value of the first file to the second storage area based on the migration condition information and the acquired access statistical information And steps to
When each of the plurality of first computers is determined to migrate the value of the first file to the second storage area, the value of the first file is migrated to the second storage area And steps to
Each of the plurality of first computers generates third access information for accessing the value of the first file stored in the second storage area after the migration, and the first division Updating the first access information of the data to the third access information;
Including
Each of the plurality of first computers acquires the access statistical information corresponding to the value of the first file when the value of the first file is stored in the second storage area. Steps,
Each of the plurality of first computers determines whether to migrate the value of the first file to the first storage area based on the migration condition information and the acquired access statistical information And steps to
When each of the plurality of first computers is determined to migrate the value of the first file to the first storage area, the value of the first file is migrated to the first storage area. And steps to
Each of the plurality of first computers generates fourth access information for accessing the value of the first file stored in the first storage area after the migration, and the first division Updating the second access information of the data to the fourth access information;
The data management method according to claim 13, further comprising:
前記方法は、さらに、
前記第2の計算機が、前記第1のアプリケーションから前記第1の分割データの削除要求を受信した場合に、前記第1のファイルのバリューが共有バリューであるか否かを判定するステップと、
前記第2の計算機が、前記第1のファイルのバリューが共有バリューでないと判定された場合、前記第1のファイルのバリューの更新結果を前記ファイル格納部に格納される前記第1のファイルに反映するステップと、
前記第2の計算機が、前記第1のストレージ領域に格納される前記第1の分割データ及び第1のファイルバリューを削除するステップと、
前記第2の計算機が、前記第1のファイルのバリューが共有バリューであると判定された場合、前記第1のファイルのバリューが一つの前記アプリケーションからのみアクセスされるか否かを判定するステップと、
前記第2の計算機が、前記第1のファイルのバリューが一つの前記アプリケーションからのみアクセスされると判定された場合には、前記第1のファイルのバリューを前記第2のストレージ領域から前記第1のストレージ領域に移行するステップと、
前記第2の計算機が、移行後の前記第1のストレージ領域に格納された前記第1ファイルのバリューにアクセスするための第5のアクセス情報を生成し、他の前記分割データの前記第2のアクセス情報を前記第5のアクセス情報に更新するステップと、
前記第2の計算機が、前記第1のストレージ領域から前記第1の分割データを削除するステップと、
を含むことを特徴とする請求項13に記載のデータ管理方法。
The method further comprises:
Determining whether the value of the first file is a shared value when the second computer receives a request to delete the first divided data from the first application;
When the second computer determines that the value of the first file is not a shared value, the update result of the value of the first file is reflected in the first file stored in the file storage unit. And steps to
The second computer deleting the first divided data and the first file value stored in the first storage area;
The second computer determining whether or not the value of the first file is accessed from only one application when it is determined that the value of the first file is a shared value; ,
If the second computer determines that the value of the first file is accessed only from one application, the value of the first file is transferred from the second storage area to the first file. The steps to migrate to storage space
The second computer generates fifth access information for accessing the value of the first file stored in the first storage area after the migration, and the second computer of the other divided data Updating access information to the fifth access information;
The second computer deleting the first divided data from the first storage area;
The data management method according to claim 13, further comprising:
JP2011227046A 2011-10-14 2011-10-14 Computer system and data management method Pending JP2013088920A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011227046A JP2013088920A (en) 2011-10-14 2011-10-14 Computer system and data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011227046A JP2013088920A (en) 2011-10-14 2011-10-14 Computer system and data management method

Publications (1)

Publication Number Publication Date
JP2013088920A true JP2013088920A (en) 2013-05-13

Family

ID=48532797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011227046A Pending JP2013088920A (en) 2011-10-14 2011-10-14 Computer system and data management method

Country Status (1)

Country Link
JP (1) JP2013088920A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015069269A (en) * 2013-09-27 2015-04-13 日本電気株式会社 Information storage system, information storage method, and program
WO2015097774A1 (en) * 2013-12-25 2015-07-02 株式会社日立製作所 Computer system and data management method
US9659048B2 (en) 2013-11-06 2017-05-23 International Business Machines Corporation Key-Value data storage system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015069269A (en) * 2013-09-27 2015-04-13 日本電気株式会社 Information storage system, information storage method, and program
US9659048B2 (en) 2013-11-06 2017-05-23 International Business Machines Corporation Key-Value data storage system
US10740308B2 (en) 2013-11-06 2020-08-11 International Business Machines Corporation Key_Value data storage system
WO2015097774A1 (en) * 2013-12-25 2015-07-02 株式会社日立製作所 Computer system and data management method
JP6034512B2 (en) * 2013-12-25 2016-11-30 株式会社日立製作所 Computer system and data management method
US9934248B2 (en) 2013-12-25 2018-04-03 Hitachi, Ltd. Computer system and data management method

Similar Documents

Publication Publication Date Title
US10901796B2 (en) Hash-based partitioning system
US10977245B2 (en) Batch data ingestion
US10853242B2 (en) Deduplication and garbage collection across logical databases
US10178174B2 (en) Migrating data in response to changes in hardware or workloads at a data store
JP5765416B2 (en) Distributed storage system and method
KR101502896B1 (en) Distributed memory cluster control apparatus and method using map reduce
US7765189B2 (en) Data migration apparatus, method, and program for data stored in a distributed manner
US20110153570A1 (en) Data replication and recovery method in asymmetric clustered distributed file system
US10394782B2 (en) Chord distributed hash table-based map-reduce system and method
EP2972747B1 (en) Data storage, file and volume system providing mutliple tiers
JP5439236B2 (en) Computer system and method of executing application program
CN106570113B (en) Mass vector slice data cloud storage method and system
EP2332081A2 (en) Storage tiers for database server system
CN110109868A (en) Method, apparatus and computer program product for index file
JP6269140B2 (en) Access control program, access control method, and access control apparatus
US9934248B2 (en) Computer system and data management method
CN112334891A (en) Centralized storage for search servers
JP2012168781A (en) Distributed data-store system, and record management method in distributed data-store system
JP2013088920A (en) Computer system and data management method
US20140304226A1 (en) Storage system
US10824640B1 (en) Framework for scheduling concurrent replication cycles
CN111796767A (en) Distributed file system and data management method
US20230409530A1 (en) Grouping data to conserve storage capacity
CN114168306B (en) Scheduling method and scheduling device
US20220365905A1 (en) Metadata processing method and apparatus, and a computer-readable storage medium