JP6428167B2 - Database server, relocation method, and relocation program - Google Patents

Database server, relocation method, and relocation program Download PDF

Info

Publication number
JP6428167B2
JP6428167B2 JP2014224799A JP2014224799A JP6428167B2 JP 6428167 B2 JP6428167 B2 JP 6428167B2 JP 2014224799 A JP2014224799 A JP 2014224799A JP 2014224799 A JP2014224799 A JP 2014224799A JP 6428167 B2 JP6428167 B2 JP 6428167B2
Authority
JP
Japan
Prior art keywords
processor
information
hash value
record
identification information
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.)
Active
Application number
JP2014224799A
Other languages
Japanese (ja)
Other versions
JP2016091284A (en
Inventor
竜一 永野
竜一 永野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2014224799A priority Critical patent/JP6428167B2/en
Publication of JP2016091284A publication Critical patent/JP2016091284A/en
Application granted granted Critical
Publication of JP6428167B2 publication Critical patent/JP6428167B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法および再配置プログラムに関する。   The present invention relates to a database server that can relocate data distributed to a plurality of processors, a relocation method, and a relocation program.

複数のプロセッサから構成されるデータベースサーバにプロセッサを追加する場合、各プロセッサに分散されて配置されたデータの再配置が必要になる。特許文献1に、複数プロセッサ上に分散して配置されているデータの再配置が可能なデータベースサーバについての発明が開示されている。   When a processor is added to a database server composed of a plurality of processors, it is necessary to rearrange the data distributed and arranged in each processor. Patent Document 1 discloses an invention relating to a database server capable of rearranging data arranged in a distributed manner on a plurality of processors.

以下に、特許文献1の方法について、簡単に説明する。   Below, the method of patent document 1 is demonstrated easily.

データベースサーバは、複数のプロセッサから構成される。各プロセッサには、ホストDBと変換DBが保持されている。   The database server is composed of a plurality of processors. Each processor holds a host DB and a conversion DB.

ホストDBは、ハッシュ値、キー情報、データ(例:キー情報に関する情報を格納したデータベースホストのID)を対応付けたレコードを記憶したものである。ハッシュ値は、キー情報にハッシュ関数を適用して、キー情報をある一定の範囲の値に変換したものである。ハッシュ関数をキー情報に適用することで、すべてのキー情報は、ある一定の範囲のハッシュ値のいずれかに分類されることになる。   The host DB stores a record in which a hash value, key information, and data (for example, an ID of a database host that stores information related to key information) are associated with each other. The hash value is obtained by converting the key information into a certain range of values by applying a hash function to the key information. By applying the hash function to the key information, all the key information is classified into one of a certain range of hash values.

変換DBは、各ハッシュ値のレコードをどのプロセッサのホストDBに記憶しているかを示したものである。すべてのハッシュ値について、プロセッサを特定するPUID(Processor Unit ID)を対応づけて記憶する。   The conversion DB indicates in which processor host DB the record of each hash value is stored. For all hash values, a PUID (Processor Unit ID) that identifies the processor is stored in association with each other.

このように、特許文献1のデータベースサーバでは、各プロセッサのホストDBに、キー情報に関するレコードを分散して記憶する。キー情報がデータベースサーバに入力されたとき、処理担当のプロセッサは、入力されたキー情報からハッシュ値を計算し、変換DBからハッシュ値に対応付けられたPUIDを取得する。PUIDが自己のものだった場合には、自己のホストDBからハッシュ値とキー情報に対応するデータを取得する。PUIDが他のプロセッサのものだった場合には、該当するプロセッサにハッシュ値を通知し、ハッシュ値とキー情報に対応するデータを送信するよう要求する。このようにすることで、ホストDBの検索処理をハッシュ値に対応した各プロセッサで並列に行うことができる。そのため、分散配置された大量のレコードの中から、キー情報に関するレコードを高速に取得することができる。   As described above, in the database server of Patent Document 1, records relating to key information are distributed and stored in the host DB of each processor. When key information is input to the database server, the processor in charge of processing calculates a hash value from the input key information, and acquires a PUID associated with the hash value from the conversion DB. If the PUID is its own, data corresponding to the hash value and key information is acquired from its own host DB. If the PUID is from another processor, the corresponding processor is notified of the hash value, and a request is made to transmit data corresponding to the hash value and key information. In this way, the host DB search process can be performed in parallel by each processor corresponding to the hash value. Therefore, it is possible to acquire a record relating to key information at a high speed from a large number of distributed records.

また、データベースサーバにプロセッサが追加された場合には、特許文献1の方法では、新たな変換DBを外部ファイルから取り込み、新変換DBと旧変換DBに従って各プロセッサのホストDBのレコードの再配置を行っている。   Also, when a processor is added to the database server, the method of Patent Document 1 imports a new conversion DB from an external file, and rearranges the records in the host DB of each processor according to the new conversion DB and the old conversion DB. Is going.

特許第5084310号公報Japanese Patent No. 5084310

特許文献1には、新変換DBと旧変換DBに従った再配置の方法については記載されている。しかし、具体的に、新変換DBでは各ハッシュ値をどのように各プロセッサ(PUID)に対応づけるのかについて、言い換えると、新変換DBの作成方法については記載されていない。   Patent Document 1 describes a rearrangement method according to a new conversion DB and an old conversion DB. However, specifically, how to associate each hash value with each processor (PUID) in the new conversion DB, in other words, a method for creating the new conversion DB is not described.

新変換DBの作成方法について、単純な方法としては、ハッシュ値の順に、各プロセッサを順に割り当てる方法が考えられる。たとえば、PUIDがaとbの2つのプロセッサに、新たにPUIDがcのプロセッサを追加する場合を図15に示す。図15の例では、旧変換DBでは、ハッシュ値の順にPUIDをa、b、a、bの順に対応づけ、新変換DBでは、a、b、c、a、b、cの順に対応づけている。しかし、このような方法では、図15のハッシュ値が「011」と「100」のとき(図15の網掛け部分)のように、既存のプロセッサ間でレコードの移動が行われる状態が発生する。プロセッサの追加の際に、既存のプロセッサ間でレコードの移動を行うことは、無駄な移動であり、再配置の負荷や時間を増大させることになる。また、再配置の処理をサービス運用中に行うことが想定されるため、サービスの運用に必要なコンピュータリソースを十分に確保するためにも、レコードの再配置に必要なリソースが最小限になるよう、無駄なレコードの移動を避けることが望ましい。   As a method for creating a new conversion DB, a simple method may be a method of assigning each processor in order of hash values. For example, FIG. 15 shows a case where a processor with PUID c is newly added to two processors with PUIDs a and b. In the example of FIG. 15, in the old conversion DB, the PUIDs are associated in the order of hash values in the order of a, b, a, b, and in the new conversion DB, the associations are performed in the order of a, b, c, a, b, c. Yes. However, with such a method, a state occurs in which records are moved between existing processors as in the case where the hash values in FIG. 15 are “011” and “100” (shaded portions in FIG. 15). . When a processor is added, moving a record between existing processors is a wasteful movement and increases the load and time for rearrangement. In addition, since it is assumed that relocation processing is performed during service operation, the resources necessary for record relocation are minimized in order to secure sufficient computer resources necessary for service operation. It is desirable to avoid useless record movement.

本発明の目的は、既存プロセッサ間のデータ移動を排除し、データ再配置をより高速に実施することを可能とするデータベースサーバ、再配置方法および再配置プログラムを提供することにある。   An object of the present invention is to provide a database server, a rearrangement method, and a rearrangement program that can eliminate data movement between existing processors and perform data rearrangement at a higher speed.

上述の問題を解決するために、本発明のデータベースサーバは、複数のプロセッサと、キー情報と該キー情報から導かれるハッシュ値とデータとを対応付けたレコードについて、前記プロセッサの各々から参照され、前記ハッシュ値に基づいて前記プロセッサ毎に異なる前記レコードを記憶するレコード記憶部と、全ての前記ハッシュ値について、各ハッシュ値と、該ハッシュ値の前記レコードを参照する前記プロセッサを特定するプロセッサ識別情報とを対応付けた、第一のプロセッサ情報を記憶する第一のプロセッサ情報記憶部と、を備え、前記プロセッサの各々は、他の前記プロセッサや他の装置との通信を行い、前記プロセッサが新たに追加されたときに、追加された前記プロセッサの前記プロセッサ識別情報を含むプロセッサ追加通知を受信する通信部と、前記プロセッサ追加通知を受信したときに、前記第一のプロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加された前記プロセッサの前記プロセッサ識別情報に置き換えた第二のプロセッサ情報を生成し、前記第一のプロセッサ情報と前記第二のプロセッサ情報に基づいて、自プロセッサが参照する前記レコード記憶部から追加された前記プロセッサが参照する前記レコード記憶部へ前記レコードを再配置する記憶制御部とを備えることを特徴とする。   In order to solve the above-described problem, the database server of the present invention refers to a record in which a plurality of processors, key information, a hash value derived from the key information and data are associated with each other, and is referred to by each of the processors. A record storage unit that stores the different record for each processor based on the hash value, and for each of the hash values, processor identification information that identifies each hash value and the processor that refers to the record of the hash value And a first processor information storage unit that stores first processor information, each of which communicates with another processor or another device, and the processor newly Processor addition including the processor identification information of the added processor when added to The processor identification of the processor to which the processor identification information associated with the hash value as a part of the first processor information is added when the processor addition notification is received. The second processor information replaced with the information is generated, and the record referred to by the processor added from the record storage unit referred to by the own processor based on the first processor information and the second processor information And a storage control unit that rearranges the records in the storage unit.

また、本発明のプロセッサ情報生成装置は、ハッシュ値と該ハッシュ値のレコードを参照可能なプロセッサを特定するプロセッサ識別情報とを対応付けたプロセッサ情報と、追加する前記プロセッサの前記プロセッサ識別情報との入力を受け付け、新たに生成した前記プロセッサ情報を出力するプロセッサ情報通信部と、前記プロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加する前記プロセッサの前記プロセッサ識別情報に置き換えた新たな前記プロセッサ情報を生成するプロセッサ情報生成部とを備えることを特徴とする。   The processor information generation device of the present invention includes: processor information in which a hash value and processor identification information that identifies a processor that can refer to a record of the hash value are associated with each other; and the processor identification information of the processor to be added A processor information communication unit that receives input and outputs the newly generated processor information, and adds the processor identification information associated with the hash value that is part of the processor information to the processor identification information of the processor And a processor information generation unit for generating new replaced processor information.

また、本発明の再配置方法は、複数のプロセッサと、キー情報と該キー情報から導かれるハッシュ値とデータとを対応付けたレコードについて、前記プロセッサの各々から参照され、前記ハッシュ値に基づいて前記プロセッサ毎に異なる前記レコードを記憶するレコード記憶部を備えるデータベースサーバにおいて、前記プロセッサの各々が、追加された前記プロセッサを特定するプロセッサ識別情報を含むプロセッサ追加通知を受信したときに、全ての前記ハッシュ値について、各ハッシュ値と、該ハッシュ値の前記レコードを参照する前記プロセッサの前記プロセッサ識別情報とを対応付けた第一のプロセッサ情報の、一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加された前記プロセッサの前記プロセッサ識別情報に置き換えた第二のプロセッサ情報を生成し、前記第一のプロセッサ情報と前記第二のプロセッサ情報に基づいて、自プロセッサが参照するレコード記憶部から追加された前記プロセッサが参照するレコード記憶部へ前記レコードを再配置することを特徴とする。   In the relocation method of the present invention, a record in which a plurality of processors, key information, a hash value derived from the key information and data are associated with each other is referred to by each of the processors, and based on the hash value. In a database server comprising a record storage unit for storing the record that differs for each processor, when each of the processors receives a processor addition notification including processor identification information that identifies the added processor, all the Regarding the hash value, the processor associated with a part of the hash value of the first processor information in which each hash value is associated with the processor identification information of the processor that refers to the record of the hash value The processor identification information of the processor to which identification information has been added To the record storage unit referenced by the processor added from the record storage unit referenced by the own processor based on the first processor information and the second processor information. The record is rearranged.

また、本発明のプロセッサ情報生成方法は、ハッシュ値と該ハッシュ値のレコードを参照可能なプロセッサを特定するプロセッサ識別情報とを対応付けたプロセッサ情報と、追加する前記プロセッサの前記プロセッサ識別情報とから、前記プロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加する前記プロセッサの前記プロセッサ識別情報に置き換えた、新たな前記プロセッサ情報を生成することを特徴とする。   The processor information generation method of the present invention includes processor information in which a hash value is associated with processor identification information that identifies a processor that can refer to the record of the hash value, and the processor identification information of the processor to be added. The new processor information is generated by replacing the processor identification information associated with the hash value of a part of the processor information with the processor identification information of the processor to be added.

また、本発明の再配置プログラムは、複数のプロセッサと、キー情報と該キー情報から導かれるハッシュ値とデータとを対応付けたレコードについて、前記プロセッサの各々から参照され、前記ハッシュ値に基づいて前記プロセッサ毎に異なる前記レコードを記憶するレコード記憶部と、全ての前記ハッシュ値について、各ハッシュ値と、該ハッシュ値の前記レコードを参照する前記プロセッサを特定するプロセッサ識別情報とを対応付けた、第一のプロセッサ情報を記憶する第一のプロセッサ情報記憶部と、を備えるコンピュータに、他の前記プロセッサや他の装置との通信を行い、前記プロセッサが新たに追加されたときに、追加された前記プロセッサの前記プロセッサ識別情報を含むプロセッサ追加通知を受信する通信機能と、前記プロセッサ追加通知を受信したときに、前記第一のプロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加された前記プロセッサの前記プロセッサ識別情報に置き換えた第二のプロセッサ情報を生成し、前記第一のプロセッサ情報と前記第二のプロセッサ情報に基づいて、自プロセッサが参照する前記レコード記憶部から追加された前記プロセッサが参照する前記レコード記憶部へ前記レコードを再配置する記憶制御機能とを実現させる。   Also, the relocation program of the present invention refers to a record in which a plurality of processors, key information, a hash value derived from the key information, and data are associated with each other, and is referred to by each of the processors, and based on the hash value A record storage unit that stores the different records for each processor, and for each of the hash values, each hash value is associated with processor identification information that identifies the processor that refers to the record of the hash value. A first processor information storage unit that stores first processor information is added to a computer that communicates with another processor or another device and is newly added to the computer. A communication function for receiving a processor addition notification including the processor identification information of the processor; Second processor information obtained by replacing the processor identification information associated with the hash value, which is a part of the first processor information, with the processor identification information of the added processor when receiving a sesser addition notification Based on the first processor information and the second processor information, the record is rearranged from the record storage unit referenced by the own processor to the record storage unit referenced by the processor. A memory control function is realized.

また、本発明のプロセッサ情報生成プログラムは、コンピュータに、ハッシュ値と該ハッシュ値のレコードを参照可能なプロセッサを特定するプロセッサ識別情報とを対応付けたプロセッサ情報と、追加する前記プロセッサの前記プロセッサ識別情報との入力を受け付け、新たに生成した前記プロセッサ情報を出力するプロセッサ情報通信機能と、前記プロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加する前記プロセッサの前記プロセッサ識別情報に置き換えた、新たな前記プロセッサ情報を生成するプロセッサ情報生成機能とを実現させる。   In addition, the processor information generation program of the present invention provides processor information that associates a hash value with processor identification information that identifies a processor that can reference a record of the hash value, and the processor identification of the processor to be added. A processor information communication function for receiving input of information and outputting the newly generated processor information; and the processor of the processor for adding the processor identification information associated with the hash value as part of the processor information A processor information generation function for generating new processor information replaced with identification information is realized.

本発明のデータベースサーバ、再配置方法および再配置プログラムにより、既存プロセッサ間のデータ移動を排除し、データ再配置をより高速に実施することが可能になる。   The database server, the rearrangement method, and the rearrangement program according to the present invention can eliminate data movement between existing processors and perform data rearrangement at a higher speed.

本発明の第一の実施形態のデータベースサーバの構成例を示す図である。It is a figure which shows the structural example of the database server of 1st embodiment of this invention. 本発明の第一の実施形態のレコードの例を示す図である。It is a figure which shows the example of the record of 1st embodiment of this invention. 本発明の第一の実施形態のプロセッサ情報の例を示す図である。It is a figure which shows the example of the processor information of 1st embodiment of this invention. 本発明の第一の実施形態のデータベースサーバのプロセッサの動作例を示す図である。It is a figure which shows the operation example of the processor of the database server of 1st embodiment of this invention. 本発明の第二の実施形態のデータベースサーバのプロセッサの動作例を示す図である。It is a figure which shows the operation example of the processor of the database server of 2nd embodiment of this invention. 本発明の第三の実施形態の第二のプロセッサ情報の生成方法の例を示す図である。It is a figure which shows the example of the production | generation method of the 2nd processor information of 3rd embodiment of this invention. 本発明の第三の実施形態の具体例1を示す図である。It is a figure which shows the specific example 1 of 3rd embodiment of this invention. 本発明の第三の実施形態の具体例1を示す図である。It is a figure which shows the specific example 1 of 3rd embodiment of this invention. 本発明の第三の実施形態の具体例2を示す図である。It is a figure which shows the specific example 2 of 3rd embodiment of this invention. 本発明の第三の実施形態の具体例3を示す図である。It is a figure which shows the specific example 3 of 3rd embodiment of this invention. 本発明の第三の実施形態の具体例4を示す図である。It is a figure which shows the specific example 4 of 3rd embodiment of this invention. 本発明の第三の実施形態の具体例5を示す図である。It is a figure which shows the specific example 5 of 3rd embodiment of this invention. 本発明の第三の実施形態の具体例6を示す図である。It is a figure which shows the specific example 6 of 3rd embodiment of this invention. 本発明の第四の実施形態の第二のプロセッサ情報の生成方法の例を示す図である。It is a figure which shows the example of the production | generation method of the 2nd processor information of 4th embodiment of this invention. 単純な方法の例を示す図である。It is a figure which shows the example of a simple method.

まず、本発明の第一の実施の形態について説明する。   First, a first embodiment of the present invention will be described.

図1に本発明の第一の実施形態のデータベースサーバの構成例を示す。   FIG. 1 shows a configuration example of the database server according to the first embodiment of the present invention.

データベースサーバ1は、複数のプロセッサ10から構成される。図1の例では、PUIDがa、b、cの3つのプロセッサ10a、10b、10cから構成されている。データベースサーバ1を構成するプロセッサ10の数は、1つ以上であればいくつでも構わない。各プロセッサは、データベースサーバ1内の他のプロセッサや、データベースサーバ1外の他の装置と情報を送受信する。   The database server 1 includes a plurality of processors 10. In the example of FIG. 1, it is comprised from three processors 10a, 10b, and 10c with PUID a, b, and c. The number of processors 10 constituting the database server 1 is not limited as long as it is one or more. Each processor transmits and receives information to and from other processors in the database server 1 and other devices outside the database server 1.

プロセッサ10は、通信部11、記憶制御部12、レコード記憶部13および第一のプロセッサ情報記憶部14から構成される。   The processor 10 includes a communication unit 11, a storage control unit 12, a record storage unit 13, and a first processor information storage unit 14.

通信部11は、データベースサーバ1内の他のプロセッサや、データベース外の他の装置との通信を行う部分である。記憶制御部12は、レコード記憶部13および第一のプロセッサ情報記憶部14に記憶されている情報を制御する部分である。   The communication unit 11 is a part that communicates with other processors in the database server 1 and other devices outside the database. The storage control unit 12 is a part that controls information stored in the record storage unit 13 and the first processor information storage unit 14.

レコード記憶部13は、ハッシュ値、キー情報、データを対応付けたレコードを記憶したものである。ハッシュ値は、キー情報にハッシュ関数を適用して、キー情報をある一定の範囲の値に変換したものである。ハッシュ関数をキー情報に適用することで、すべてのキー情報は、ある一定の範囲のハッシュ値のいずれかに分類されることになる。   The record storage unit 13 stores a record in which hash values, key information, and data are associated with each other. The hash value is obtained by converting the key information into a certain range of values by applying a hash function to the key information. By applying the hash function to the key information, all the key information is classified into one of a certain range of hash values.

図2に、レコード記憶部13に記憶するレコードの例を示す。キー情報には、たとえば、加入者IDを記憶する。そして、1つのキー情報「aaa@zzz」に対して、ハッシュ関数を適用した結果のハッシュ値とデータを、レコードとして記憶する。図2の例では、キー情報「aaa@zzz」に対応するハッシュ値は「010」、また、データは「2」であることを示している。この例でのデータは、加入者IDに対応するデータをどのDBホストIDのデータベースホストに記憶しているかを示している。   FIG. 2 shows an example of records stored in the record storage unit 13. For example, a subscriber ID is stored in the key information. Then, the hash value and data resulting from applying the hash function to one key information “aaa @ zzz” are stored as a record. In the example of FIG. 2, the hash value corresponding to the key information “aaa @ zzz” is “010”, and the data is “2”. The data in this example indicates which DB host ID stores the data corresponding to the subscriber ID.

第一のプロセッサ情報記憶部14は、各ハッシュ値のレコードをどのプロセッサのホストDBに記憶しているかを示した、プロセッサ情報を記憶する部分である。すべてのハッシュ値について、プロセッサを特定するPUIDを対応づけて記憶する。   The first processor information storage unit 14 is a part for storing processor information indicating which processor's host DB stores a record of each hash value. For all hash values, a PUID that identifies the processor is stored in association with each other.

図3に、プロセッサ情報の例を示す。ハッシュ値とPUIDの対応関係が記載されており、たとえば、ハッシュ値「000」「011」に対応するレコードは、PUIDがaのプロセッサに記憶されていることを示す。図3のプロセッサ情報の場合、図2のレコードの例は、ハッシュ値「010」のレコードが記憶されているので、PUIDがcのプロセッサのレコードということになる。   FIG. 3 shows an example of the processor information. The correspondence relationship between the hash value and the PUID is described. For example, a record corresponding to the hash values “000” and “011” indicates that the processor having the PUID is a. In the case of the processor information of FIG. 3, the record of the hash value “010” is stored in the example of the record of FIG.

なお、図1の構成例では、レコード記憶部13および第一のプロセッサ情報記憶部14をプロセッサ10の内部に設けたが、これらをプロセッサ10の外部のデータベースサーバ1内に設けることも可能である。この場合、レコード記憶部13については、各プロセッサから参照可能なレコード記憶部13が1つ以上あり、また、各レコード記憶部13に対応するプロセッサが1つになるように構成する。第一のプロセッサ情報記憶部14については、プロセッサ情報はすべてのプロセッサで共通であるため、データベースサーバ1内に1つだけ設けて、全プロセッサから同じ第一のプロセッサ情報記憶部14を参照するように構成しても良い。   In the configuration example of FIG. 1, the record storage unit 13 and the first processor information storage unit 14 are provided in the processor 10, but these can also be provided in the database server 1 outside the processor 10. . In this case, the record storage unit 13 is configured such that there is one or more record storage units 13 that can be referred from each processor, and that there is one processor corresponding to each record storage unit 13. As for the first processor information storage unit 14, since the processor information is common to all the processors, only one processor information storage unit 14 is provided in the database server 1, and the same first processor information storage unit 14 is referred to by all the processors. You may comprise.

上記のようにデータベースサーバ1を構成することによって、既存プロセッサ間のデータ移動を排除し、データ再配置をより高速に実施することが可能になる。   By configuring the database server 1 as described above, it is possible to eliminate data movement between existing processors and perform data relocation at a higher speed.

次に、図4に、図1の構成例におけるデータベースサーバ1のプロセッサ10の動作の例を示す。   Next, FIG. 4 shows an example of the operation of the processor 10 of the database server 1 in the configuration example of FIG.

プロセッサ10は、データベースサーバ1の操作パネルやデータベースサーバ1に接続する他の制御用端末などから、データベースサーバ1への再配置指示を受け付け、再配置動作を開始する。プロセッサ10は、まず、第一のプロセッサ情報記憶部14に記憶されているプロセッサ情報から、新たな第二のプロセッサ情報を生成する(S101)。第二のプロセッサ情報は、プロセッサの個数を変更した場合など、プロセッサ情報(ハッシュ値とPUIDの対応関係)を変更する場合の新たなプロセッサ情報である。このとき、データベースサーバにプロセッサを追加する場合には、第一のプロセッサ情報の一部のハッシュ値に対応付けられたプロセッサ識別情報を追加するプロセッサのプロセッサ識別情報に置き換えた、第二のプロセッサ情報を生成する。   The processor 10 receives a relocation instruction to the database server 1 from an operation panel of the database server 1 or another control terminal connected to the database server 1 and starts a relocation operation. First, the processor 10 generates new second processor information from the processor information stored in the first processor information storage unit 14 (S101). The second processor information is new processor information when the processor information (correspondence between hash value and PUID) is changed, such as when the number of processors is changed. At this time, in the case of adding a processor to the database server, the second processor information in which the processor identification information associated with the hash value that is part of the first processor information is replaced with the processor identification information of the processor to be added. Is generated.

そして、第一のプロセッサ情報記憶部14のプロセッサ情報(第一のプロセッサ情報)と第二のプロセッサ情報に基づいて、自プロセッサのレコード記憶部から追加されたプロセッサのレコード記憶部へレコードを再配置する(S102)。   Based on the processor information (first processor information) and the second processor information in the first processor information storage unit 14, the records are rearranged from the record storage unit of the own processor to the record storage unit of the added processor. (S102).

以上で説明したように、本発明の第一の実施形態では、プロセッサを追加するときに、第一のプロセッサ情報の一部のハッシュ値に対応付けられたプロセッサ識別情報を追加するプロセッサのプロセッサ識別情報に置き換えた、新たなプロセッサ情報を生成する。そのため、既存プロセッサ間のデータ移動を排除し、データ再配置をより高速に実施することが可能になる。   As described above, in the first embodiment of the present invention, when adding a processor, the processor identification of the processor to which the processor identification information associated with a part of hash values of the first processor information is added. New processor information replaced with information is generated. Therefore, it is possible to eliminate data movement between existing processors and perform data relocation at a higher speed.

次に、本発明の第二の実施の形態について説明する。第一の実施形態では、各プロセッサで新たなプロセッサ情報を生成していたが、本実施形態では、ホストプロセッサが新たなプロセッサ情報を生成し、他のプロセッサへ配布する。   Next, a second embodiment of the present invention will be described. In the first embodiment, new processor information is generated by each processor. However, in this embodiment, the host processor generates new processor information and distributes it to other processors.

データベースサーバの構成例は、第一の実施形態と同様に、図1に示したとおりである。本実施形態では、複数のプロセッサのうち1つが、他のプロセッサを制御するマスタプロセッサとして動作する。   A configuration example of the database server is as shown in FIG. 1 as in the first embodiment. In this embodiment, one of the plurality of processors operates as a master processor that controls other processors.

本実施形態の動作の例を図5に示す。(a)はマスタプロセッサの動作例、(b)はマスタプロセッサ以外のプロセッサの動作例である。   An example of the operation of this embodiment is shown in FIG. (A) is an operation example of the master processor, and (b) is an operation example of a processor other than the master processor.

マスタプロセッサでは、まず、再配置指示を受け付けると、第一のプロセッサ情報記憶部14のプロセッサ情報から、新たな第二のプロセッサ情報を生成する(S201)。このとき、プロセッサを追加するときには、第一のプロセッサ情報の一部のハッシュ値に対応付けられたプロセッサ識別情報を追加するプロセッサのプロセッサ識別情報に置き換えた、第二のプロセッサ情報を生成する。   First, when receiving a rearrangement instruction, the master processor generates new second processor information from the processor information in the first processor information storage unit 14 (S201). At this time, when adding a processor, second processor information is generated by replacing the processor identification information associated with a part of hash values of the first processor information with the processor identification information of the processor to be added.

次に、生成した第二のプロセッサ情報を、他のプロセッサへ配布する。マスタプロセッサ以外のプロセッサは、マスタプロセッサから第二のプロセッサ情報を受け取る(S204)。   Next, the generated second processor information is distributed to other processors. Processors other than the master processor receive second processor information from the master processor (S204).

そして、各プロセッサでは、第一のプロセッサ情報記憶部14のプロセッサ情報と第二のプロセッサ情報に基づいて、各プロセッサのレコード記憶部のレコードを再配置する(S203、S205)。   Then, in each processor, the records in the record storage unit of each processor are rearranged based on the processor information in the first processor information storage unit 14 and the second processor information (S203, S205).

以上で説明したように、本発明の第二の実施形態でも、プロセッサを追加するときに、第一のプロセッサ情報の一部のハッシュ値に対応付けられたプロセッサ識別情報を追加するプロセッサのプロセッサ識別情報に置き換えた新たなプロセッサ情報を生成する。そのため、既存プロセッサ間のデータ移動を排除し、データ再配置をより高速に実施することが可能になる。   As described above, also in the second embodiment of the present invention, when adding a processor, the processor identification of a processor that adds processor identification information associated with a hash value that is part of the first processor information. New processor information replaced with information is generated. Therefore, it is possible to eliminate data movement between existing processors and perform data relocation at a higher speed.

次に、本発明の第三の実施形態について説明する。本実施形態では第一および第二の実施形態で行う新たなプロセッサ情報の生成方法について、具体的に説明する。   Next, a third embodiment of the present invention will be described. In this embodiment, a method for generating new processor information performed in the first and second embodiments will be specifically described.

図6に、本実施形態の新たなプロセッサ情報の生成方法の例について示す。この動作は、図4のステップS101、あるいは、図5のステップS201で行われる動作である。本実施形態では、第一のプロセッサ情報記憶部のプロセッサ情報では、各ハッシュ値に対して各プロセッサが周期的に割り当てられていることを前提とする。   FIG. 6 shows an example of a new processor information generation method according to this embodiment. This operation is performed in step S101 in FIG. 4 or step S201 in FIG. In the present embodiment, it is assumed that each processor is periodically assigned to each hash value in the processor information in the first processor information storage unit.

まず、第一のプロセッサ情報記憶部のプロセッサ情報(第一のプロセッサ情報)の割り当て周期をx、追加するプロセッサの数をyとする。また、作業用配列としてPI、生成した新たなプロセッサ情報(第二のプロセッサ情報)の格納用配列としてPI2を用意する。作業用配列PIの大きさはx、第二のプロセッサ情報格納用配列の大きさはx×(x+y)である。   First, let x be the allocation period of processor information (first processor information) in the first processor information storage unit, and y be the number of processors to be added. Also, PI is prepared as a working array, and PI2 is prepared as a storage array for the generated new processor information (second processor information). The size of the work array PI is x, and the size of the second processor information storage array is x × (x + y).

次に、第一のプロセッサ情報の割り当て周期xと追加するプロセッサの数yを比較する(S301)。xがy以上のときは、yをシフト量sとし、xがy未満のときは、yからxを、x以下になるまで繰り返し減算し、減算した結果をシフト量sとする(S302〜S305)。そして、作業用配列PIに第一のプロセッサ情報1周期分のPUID(x個)を格納する(S306)。   Next, the allocation period x of the first processor information is compared with the number y of added processors (S301). When x is greater than or equal to y, y is the shift amount s. When x is less than y, x is repeatedly subtracted from y until x is less than or equal to x, and the result of the subtraction is defined as the shift amount s (S302 to S305). ). Then, the PUID (x pieces) for one cycle of the first processor information is stored in the work array PI (S306).

次に、第二のプロセッサ情報格納用配列PI2に、作業用配列PIの内容をx個追加コピーし、さらに、追加するプロセッサのPUIDをy個追加する(S307)。   Next, x contents of the work array PI are additionally copied to the second processor information storage array PI2, and y PUIDs of the processors to be added are added (S307).

次に、作業用配列PIの内容を、先頭方向にシフト量s分巡回シフトさせる(シフトしてあふれた部分を、空いた部分に格納する)(S308)。巡回シフトした作業用配列PIが当初のPI(S306のPI)に戻った場合(S309)、PI2に格納されているPUIDを1周期分として、第二のプロセッサ情報として周期的に記憶する(S310)。巡回シフトした作業用配列PIが当初のPIに戻っていない場合(S309)、第二のプロセッサ情報格納用配列PI2に、作業用配列PIの内容をx個追加コピーし、さらに、追加するプロセッサのPUIDをy個追加する(S307)。   Next, the contents of the working array PI are cyclically shifted by the shift amount s in the head direction (the shifted and overflowed portion is stored in the empty portion) (S308). When the cyclically shifted work array PI returns to the original PI (PI of S306) (S309), the PUID stored in PI2 is stored as one cycle and periodically stored as second processor information (S310). ). If the cyclically shifted work array PI has not returned to the original PI (S309), x contents of the work array PI are additionally copied to the second processor information storage array PI2, and the processor to be added is further copied. Y PUIDs are added (S307).

なお、ステップS301、S303〜S305がない場合でも、つまり、xとyの大小関係に関わらず、yをシフト量sとしても、同じ第二のプロセッサ情報が得られる。そのため、ステップS301、S303〜S305は削除することが可能である。   Even when steps S301 and S303 to S305 are not provided, that is, regardless of the magnitude relationship between x and y, the same second processor information can be obtained even if y is the shift amount s. Therefore, steps S301 and S303 to S305 can be deleted.

また、ステップS309にて、作業用配列PIが当初のPIに戻ったかどうか確認しているが、PIの大きさはxであり、x回巡回シフトすると元に戻るので、巡回シフトの回数をカウントし、その回数を確認しても良い。   In step S309, it is confirmed whether or not the working array PI has returned to the original PI. However, since the size of PI is x and returns to the original after x cyclic shifts, the number of cyclic shifts is counted. The number of times may be confirmed.

以上が、本実施形態における新たなプロセッサ情報の生成方法の例である。このようにすることによって、プロセッサを追加するときに、既存のプロセッサから既存のプロセッサへのレコードの移動がないように、新たなプロセッサ情報を生成できる。そのため、既存プロセッサ間のデータ移動を排除し、データ再配置をより高速に実施することが可能になる。   The above is an example of a method for generating new processor information in the present embodiment. In this way, when adding a processor, new processor information can be generated so that there is no movement of records from the existing processor to the existing processor. Therefore, it is possible to eliminate data movement between existing processors and perform data relocation at a higher speed.

次に、本実施形態における新たなプロセッサ情報の生成について、具体例を例示する。   Next, a specific example of the generation of new processor information in the present embodiment will be illustrated.

まず、具体例1では、PUIDがaおよびbの2つのプロセッサに、PUIDがcのプロセッサを追加する場合について説明する。   First, specific example 1 describes a case where a processor with PUID c is added to two processors with PUIDs a and b.

図7、図8に、具体例1でのプロセッサ情報の生成の例を示す。第一のプロセッサ情報では、ハッシュ値の順にプロセッサがabab・・・の順で割り当てられている。このときのプロセッサの割り当て周期xは2である。また、追加するプロセッサ数yは1である。xとyを比較すると、xはy以上であるため、シフト量sは1(=y)となる(S301〜S302)。次に、作業用配列PIに第一のプロセッサ情報1周期分のPUIDを格納する(S306)。図8(1)が、このときのPIである。PIにaおよびbが格納されている。次に、図8のPI2の(1)の部分のように、PIをPI2にコピーし、さらに、追加するプロセッサのPUID=c(網掛け部)を追加する(S307)。次に、作業用配列PIをシフト量s=1だけ先頭方向に巡回シフトさせる(S308)。図8(2)がこのときのPIである。図8のPI2の(2)の部分のように、このPIをPI2に追加コピーし、さらに、追加するプロセッサのPUID=cを追加する(S307)。さらにPIをシフト量s分巡回シフトすると、図8(3)のように、当初の作業用配列PIに戻る。PIが当初のPIに戻ったため(S309)、このときのPI2を1周期分として、第二のプロセッサ情報として周期的に記憶する(S310)。   7 and 8 show examples of generation of processor information in the first specific example. In the first processor information, processors are assigned in the order of hash values in the order of abab. At this time, the processor allocation period x is two. The number of processors y to be added is 1. When x and y are compared, since x is greater than or equal to y, the shift amount s is 1 (= y) (S301 to S302). Next, the PUID for one period of the first processor information is stored in the work array PI (S306). FIG. 8A shows the PI at this time. A and b are stored in PI. Next, as in the part (1) of PI2 in FIG. 8, PI is copied to PI2, and PUID = c (shaded part) of the processor to be added is added (S307). Next, the working array PI is cyclically shifted in the head direction by the shift amount s = 1 (S308). FIG. 8B shows the PI at this time. As in the part (2) of PI2 in FIG. 8, this PI is additionally copied to PI2, and PUID = c of the processor to be added is further added (S307). When PI is further cyclically shifted by the shift amount s, the original working array PI is restored as shown in FIG. Since the PI has returned to the original PI (S309), the PI2 at this time is stored as one cycle and periodically stored as second processor information (S310).

以上のように生成されたプロセッサ情報が、図7の第二のプロセッサ情報である。このように、プロセッサを追加するときに、作業用配列PIを追加するプロセッサの数分巡回シフトさせることによって、既存のプロセッサ間のレコードの移動がないように、新たなプロセッサ情報を生成することができる。そのため、既存プロセッサ間のデータ移動を排除し、データ再配置をより高速に実施することが可能になる。   The processor information generated as described above is the second processor information in FIG. Thus, when adding a processor, new processor information can be generated so that there is no movement of records between existing processors by cyclically shifting the number of processors to which the work array PI is added. it can. Therefore, it is possible to eliminate data movement between existing processors and perform data relocation at a higher speed.

次に、具体例3として、PUIDがa、bおよびcの3つのプロセッサに、PUIDがdのプロセッサを追加する場合のプロセッサ情報の生成例を、図9に示す。また、具体例4として、PUIDがa、b、cおよびdの4つのプロセッサに、PUIDがeのプロセッサを追加する場合のプロセッサ情報の生成例を図10に示す。動作の説明は具体例1と同様のため、省略する。図9、図10でも、既存のプロセッサ間の再配置を排除できていることがわかる。   Next, as a third specific example, FIG. 9 illustrates a generation example of processor information when a processor having a PUID of d is added to three processors having a PUID of a, b, and c. Further, as a fourth specific example, FIG. 10 illustrates a generation example of processor information when a processor having a PUID of e is added to four processors having a PUID of a, b, c, and d. Since the description of the operation is the same as in the first specific example, the description thereof is omitted. 9 and 10 also show that relocation between existing processors can be eliminated.

次に、具体例4として、PUIDがa、bおよびcの3つのプロセッサに、PUIDがdおよびeの2つのプロセッサを追加する場合のプロセッサ情報の生成例について説明する。   Next, as specific example 4, an example of generating processor information when two processors with PUIDs d and e are added to three processors with PUIDs a, b, and c will be described.

図11に、具体例4でのプロセッサ情報の生成の例を示す。第一のプロセッサ情報では、ハッシュ値の順にプロセッサがabcabc・・・の順で割り当てられている。このときのプロセッサの割り当て周期xは3である。また、追加するプロセッサ数yは2である。xとyを比較すると、xはy以上であるため、シフト量sは2(=y)となる(S301〜S302)。次に、作業用配列PIに第一のプロセッサ情報1周期分のPUIDを格納する(S306)。図11(1)が、このときのPIである。PIにa、bおよびcが格納されている。次に、図11のPI2の(1)の部分のように、PIをPI2にコピーし、さらに、追加するプロセッサのPUID=d、eを追加(網掛け部)する(S307)。次に、作業用配列PIをシフト量s=2だけ先頭方向に巡回シフトさせる(S308)。図11(2)がこのときのPIである。図11のPI2の(2)の部分のように、このPIをPI2に追加コピーし、さらに、追加するプロセッサのPUID=d、eを追加する(S307)。さらにPIをシフト量s分巡回シフトすると、図11(3)のようになる(S308)。そして、図11のPI2の(3)の部分のように、このPIをPI2に追加コピーし、さらに、追加するプロセッサのPUID=d、eを追加する(S307)。さらにPIをシフト量s分巡回シフトすると図11(4)のように、当初の作業用配列PIに戻る(S308)。PIが当初のPIに戻ったため(S309)、このときのPI2を1周期分として、第二のプロセッサ情報として周期的に記憶する(S310)。   FIG. 11 shows an example of generation of processor information in specific example 4. In the first processor information, the processors are allocated in the order of abbcc... In the order of hash values. At this time, the processor allocation period x is three. The number of processors y to be added is 2. When x and y are compared, since x is greater than or equal to y, the shift amount s is 2 (= y) (S301 to S302). Next, the PUID for one period of the first processor information is stored in the work array PI (S306). FIG. 11 (1) shows the PI at this time. A, b, and c are stored in PI. Next, as in the part (1) of PI2 in FIG. 11, PI is copied to PI2, and PUID = d and e of the processor to be added are added (shaded part) (S307). Next, the working array PI is cyclically shifted in the head direction by the shift amount s = 2 (S308). FIG. 11 (2) shows the PI at this time. As in the part (2) of PI2 in FIG. 11, this PI is additionally copied to PI2, and PUID = d and e of the processor to be added are further added (S307). Further, when the PI is cyclically shifted by the shift amount s, the result is as shown in FIG. 11 (3) (S308). Then, as in the part (3) of PI2 in FIG. 11, this PI is additionally copied to PI2, and PUID = d and e of the processor to be added are further added (S307). Further, when the PI is cyclically shifted by the shift amount s, the original working array PI is returned as shown in FIG. 11 (4) (S308). Since the PI has returned to the original PI (S309), the PI2 at this time is stored as one cycle and periodically stored as second processor information (S310).

以上のように、本具体例でも、プロセッサを追加するときに、作業用配列PIを追加するプロセッサの数分巡回シフトさせることによって、既存のプロセッサ間のレコードの移動がないように、新たなプロセッサ情報を生成することができる。そのため、既存プロセッサ間のデータ移動を排除し、データ再配置をより高速に実施することが可能になる。   As described above, also in this specific example, when adding a processor, a new processor is added so that there is no movement of records between existing processors by cyclically shifting the number of processors to which the working array PI is added. Information can be generated. Therefore, it is possible to eliminate data movement between existing processors and perform data relocation at a higher speed.

次に、具体例5として、PUIDがaおよびbの2つのプロセッサに、PUIDがc、dおよびeの3つのプロセッサを追加する場合のプロセッサ情報の生成例について説明する。本具体例は、第一のプロセッサ情報のプロセッサの割り当て周期より追加するプロセッサ数が多い場合の例である。   Next, as specific example 5, an example of generating processor information when three processors with PUIDs c, d, and e are added to two processors with PUIDs a and b will be described. This specific example is an example in which the number of processors to be added is larger than the processor allocation period of the first processor information.

図12に、具体例5でのプロセッサ情報の生成の例を示す。まず、第一のプロセッサ情報では、ハッシュ値の順にプロセッサがabab・・・の順で割り当てられている。このときのプロセッサの割り当て周期xは2である。また、追加するプロセッサ数yは3である。xとyを比較すると、xはy未満であるため、yからxを減算し、シフト量sは1(=y−x)となる(S301、S303〜S305)。次に、作業用配列PIに第一のプロセッサ情報1周期分のPUIDを格納する(S306)。図12(1)が、このときのPIである。PIに既存プロセッサのPUID、aおよびbが格納されている。次に、図12のPI2の(1)の部分のように、PIをPI2にコピーし、さらに、追加するプロセッサのPUID=c、d、eを追加する(S307)。次に、作業用配列PIをシフト量s=1だけ先頭方向に巡回シフトさせる(S308)。図12(2)がこのときのPIである。図12のPI2の(2)の部分のように、このPIをPI2に追加コピーし、さらに、追加するプロセッサのPUID=c、d、eを追加する(S307)。そして、さらにPIをシフト量s分巡回シフトすると、図12(3)のように、当初の作業用配列PIに戻る。PIが当初のPIに戻ったため(S309)、このときのPI2を1周期分として、第二のプロセッサ情報として周期的に記憶する(S310)。ここで、シフト量は1(=y−x)としたが、xとyの大小関係に依らずにy(=3)をシフト量としても良い。これは、大きさが2の配列は、シフト量が1、3のいずれであっても同じ結果が得られるためである。   FIG. 12 shows an example of generation of processor information in the specific example 5. First, in the first processor information, processors are assigned in the order of abab... In the order of hash values. At this time, the processor allocation period x is two. The number y of processors to be added is three. When x and y are compared, since x is less than y, x is subtracted from y, and the shift amount s becomes 1 (= y−x) (S301, S303 to S305). Next, the PUID for one period of the first processor information is stored in the work array PI (S306). FIG. 12 (1) shows the PI at this time. The PUIDs of existing processors, a and b are stored in the PI. Next, as in the part (1) of PI2 in FIG. 12, PI is copied to PI2, and PUID = c, d, and e of the processor to be added are added (S307). Next, the working array PI is cyclically shifted in the head direction by the shift amount s = 1 (S308). FIG. 12 (2) shows the PI at this time. As shown in the part (2) of PI2 in FIG. 12, this PI is additionally copied to PI2, and PUID = c, d, and e of the processor to be added are added (S307). When the PI is further cyclically shifted by the shift amount s, the original working array PI is restored as shown in FIG. Since the PI has returned to the original PI (S309), the PI2 at this time is stored as one cycle and periodically stored as second processor information (S310). Here, the shift amount is 1 (= y−x), but y (= 3) may be used as the shift amount regardless of the magnitude relationship between x and y. This is because an array having a size of 2 can obtain the same result regardless of whether the shift amount is 1 or 3.

以上のように、本具体例でも、プロセッサを追加するときに、作業用配列PIを追加するプロセッサの数分巡回シフトさせることによって、既存のプロセッサ間のレコードの移動がないように、新たなプロセッサ情報を生成することができる。そのため、既存プロセッサ間のデータ移動を排除し、データ再配置をより高速に実施することが可能になる。   As described above, also in this specific example, when adding a processor, a new processor is added so that there is no movement of records between existing processors by cyclically shifting the number of processors to which the working array PI is added. Information can be generated. Therefore, it is possible to eliminate data movement between existing processors and perform data relocation at a higher speed.

以上で説明したように、第三の実施形態では、プロセッサを追加するときに、作業用配列PIを追加するプロセッサの数分巡回シフトさせる。その結果、既存のプロセッサ間のレコードの移動がないように、新たなプロセッサ情報を生成することができる。そのため、既存プロセッサ間のデータ移動を排除し、データ再配置をより高速に実施することが可能になる。   As described above, in the third embodiment, when a processor is added, a cyclic shift is performed by the number of processors to which the work array PI is added. As a result, new processor information can be generated so that there is no movement of records between existing processors. Therefore, it is possible to eliminate data movement between existing processors and perform data relocation at a higher speed.

次に、本発明の第四の実施形態について説明する。本実施形態では、第三の実施形態とは異なる、第二のプロセッサ情報の生成方法の具体例について説明する。本実施形態では、第三の実施形態と同じ第二のプロセッサ情報が得られる。   Next, a fourth embodiment of the present invention will be described. In this embodiment, a specific example of a second processor information generation method different from the third embodiment will be described. In the present embodiment, the same second processor information as in the third embodiment is obtained.

図14に、本実施形態の新たなプロセッサ情報の生成方法の例について示す。この動作は、図4のステップS101、あるいは、図5のステップS201で行われる動作である。   FIG. 14 shows an example of a method for generating new processor information according to this embodiment. This operation is performed in step S101 in FIG. 4 or step S201 in FIG.

まず、既存のプロセッサの数をz、追加するプロセッサの数をyとする。また、生成した新たなプロセッサ情報(第二のプロセッサ情報)の格納用配列としてPI2を用意する。   First, let z be the number of existing processors and y be the number of processors to be added. Also, PI2 is prepared as a storage array for the generated new processor information (second processor information).

そして、配列PI2に第一のプロセッサ情報をコピーする(S401)。このとき、1周期分ではなく、第一のプロセッサ情報すべてをPI2にコピーする。次に、PI2の先頭から、z個スキップして、続きに追加するプロセッサのPUIDをy個上書きする(S402)。これをPI2の終わりまで繰り返す(S403)。PI2の終わりに到達したとき、PI2を第二のプロセッサ情報とする(S404)。   Then, the first processor information is copied to the array PI2 (S401). At this time, all the first processor information is copied to PI2 instead of one cycle. Next, z pieces are skipped from the top of PI2, and y pieces of PUIDs of processors to be subsequently added are overwritten (S402). This is repeated until the end of PI2 (S403). When the end of PI2 is reached, PI2 is set as second processor information (S404).

第一のプロセッサ情報が周期的に割り当てられている場合には、第二のプロセッサ情報の周期はx×(x+y)となるので、PI2の大きさをx×(x+y)とすることができる。このとき、ステップS402でのスキップ数は、第一のプロセッサ情報の周期xとし、ステップ404では、PI2を周期的に第二のプロセッサ情報として記憶する。   When the first processor information is periodically assigned, the period of the second processor information is xx (x + y), and thus the size of PI2 can be xx (x + y). At this time, the number of skips in step S402 is the period x of the first processor information, and in step 404, PI2 is periodically stored as the second processor information.

このようにすることで、第四の実施形態でも第三の実施形態と同じ第二のプロセッサ情報を得ることができる。つまり、具体例1から6と同じ結果を得ることができる。   By doing in this way, the same second processor information as in the third embodiment can be obtained in the fourth embodiment. That is, the same results as those of the specific examples 1 to 6 can be obtained.

以上で説明したように、第四の実施形態では、第一のプロセッサ情報に対して、追加するプロセッサのPUIDのみを上書きする。その結果、既存のプロセッサ間のレコードの移動がないように、新たなプロセッサ情報を生成することができる。そのため、既存プロセッサ間のデータ移動を排除し、データ再配置をより高速に実施することが可能になる。   As described above, in the fourth embodiment, only the PUID of the processor to be added is overwritten on the first processor information. As a result, new processor information can be generated so that there is no movement of records between existing processors. Therefore, it is possible to eliminate data movement between existing processors and perform data relocation at a higher speed.

さらに、第三の実施形態は、第一のプロセッサ情報が周期的に構成されていることを前提としていたが、第四の実施形態は、第一のプロセッサ情報が周期的でない場合にも適用することができる。   Furthermore, although the third embodiment is based on the premise that the first processor information is periodically configured, the fourth embodiment is also applied to the case where the first processor information is not periodic. be able to.

また他の実施形態としては、第三あるいは第四の実施形態で説明した第二のプロセッサ情報の生成を、プロセッサ内部で行わずに、データベースサーバに接続する他の装置で実行することも可能である。この場合は、外部装置で生成された第二のプロセッサ情報を何らかの手段でデータベースサーバの各プロセッサに渡し、第一のプロセッサ情報と第二のプロセッサ情報に基づいてレコードの再配置を行う。   As another embodiment, the generation of the second processor information described in the third or fourth embodiment can be executed by another device connected to the database server without performing it inside the processor. is there. In this case, the second processor information generated by the external device is transferred to each processor of the database server by some means, and the records are rearranged based on the first processor information and the second processor information.

なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。   Each of the above-described embodiments is a preferred embodiment of the present invention, and various modifications can be made without departing from the scope of the present invention.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
複数のプロセッサと、
キー情報と該キー情報から導かれるハッシュ値とデータとを対応付けたレコードについて、前記プロセッサの各々から参照され、前記ハッシュ値に基づいて前記プロセッサ毎に異なる前記レコードを記憶するレコード記憶部と、
全ての前記ハッシュ値について、各ハッシュ値と、該ハッシュ値の前記レコードを参照する前記プロセッサを特定するプロセッサ識別情報とを対応付けた、第一のプロセッサ情報を記憶する第一のプロセッサ情報記憶部と、
を備え、
前記プロセッサの各々は、
他の前記プロセッサや他の装置との通信を行い、前記プロセッサが新たに追加されたときに、追加された前記プロセッサの前記プロセッサ識別情報を含むプロセッサ追加通知を受信する通信部と、
前記プロセッサ追加通知を受信したときに、前記第一のプロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加された前記プロセッサの前記プロセッサ識別情報に置き換えた第二のプロセッサ情報を生成し、前記第一のプロセッサ情報と前記第二のプロセッサ情報に基づいて、自プロセッサが参照する前記レコード記憶部から追加された前記プロセッサが参照する前記レコード記憶部へ前記レコードを再配置する記憶制御部と
を備えることを特徴とするデータベースサーバ。
(Appendix 1)
Multiple processors,
A record storage unit that stores the record that is referred to by each of the processors and stores the record different for each processor based on the hash value, with respect to the record that associates the key information and the hash value and data derived from the key information.
For all the hash values, a first processor information storage unit that stores first processor information in which each hash value is associated with processor identification information that identifies the processor that refers to the record of the hash value When,
With
Each of the processors
A communication unit that communicates with another processor or another device and receives a processor addition notification including the processor identification information of the added processor when the processor is newly added;
When the processor addition notification is received, the second processor replaces the processor identification information associated with the hash value of a part of the first processor information with the processor identification information of the added processor Information is generated, and based on the first processor information and the second processor information, the record is rearranged from the record storage unit referenced by the own processor to the record storage unit referenced by the processor And a storage control unit.

(付記2)
前記複数のプロセッサのうち一つがマスタプロセッサとして機能し、
前記マスタプロセッサの前記記憶制御部は、前記第二のプロセッサ情報を、前記通信部を経由して、前記各プロセッサに配布する
ことを特徴とする付記1に記載のデータベースサーバ。
(Appendix 2)
One of the plurality of processors functions as a master processor,
The database server according to appendix 1, wherein the storage control unit of the master processor distributes the second processor information to the processors via the communication unit.

(付記3)
前記記憶制御部は、さらに、前記第二のプロセッサ情報の生成において、前記第一のプロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているとき、前記第一のプロセッサ情報の1周期分の前記プロセッサ識別情報の配列を、追加した前記プロセッサの数だけ前記ハッシュ値の先頭方向に繰り返し巡回シフトさせ、前記巡回シフトの結果と追加した前記プロセッサの前記プロセッサ識別情報とを交互に前記第二のプロセッサ情報として格納する
ことを特徴とする付記1あるいは付記2に記載のデータベースサーバ。
(Appendix 3)
The storage control unit further includes the first processor when the processor identification information of the first processor information is periodically assigned to each hash value in the generation of the second processor information. An array of the processor identification information for one cycle of information is cyclically shifted in the head direction of the hash value by the number of added processors, and the result of the cyclic shift and the processor identification information of the added processor are obtained. The database server according to appendix 1 or appendix 2, wherein the database server is alternately stored as the second processor information.

(付記4)
前記記憶制御部は、さらに、前記第二のプロセッサ情報の生成において、既存の前記プロセッサの数、あるいは、前記第一のプロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているときには前記第一のプロセッサ情報の周期をスキップ数とし、前記第一のプロセッサ情報を前記第二のプロセッサ情報にコピーし、前記第二のプロセッサ情報に対して、前記スキップ数の前記プロセッサ識別情報のスキップと追加した前記プロセッサの前記プロセッサ識別情報の上書きとを繰り返し行う
ことを特徴とする付記1あるいは付記2に記載のデータベースサーバ。
(Appendix 4)
Further, in the generation of the second processor information, the storage control unit periodically assigns the number of the existing processors or the processor identification information of the first processor information to each hash value. The first processor information period is set as the skip number, the first processor information is copied to the second processor information, and the processor identification of the skip number is compared with the second processor information. The database server according to appendix 1 or appendix 2, wherein skipping of information and overwriting of the processor identification information of the added processor are repeated.

(付記5)
ハッシュ値と該ハッシュ値のレコードを参照可能なプロセッサを特定するプロセッサ識別情報とを対応付けたプロセッサ情報と、追加する前記プロセッサの前記プロセッサ識別情報との入力を受け付け、新たに生成した前記プロセッサ情報を出力するプロセッサ情報通信部と、
前記プロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加する前記プロセッサの前記プロセッサ識別情報に置き換えた、新たな前記プロセッサ情報を生成するプロセッサ情報生成部と
を備えることを特徴とするプロセッサ情報生成装置。
(Appendix 5)
The processor information newly generated by accepting input of processor information in which a hash value and processor identification information for identifying a processor that can refer to the record of the hash value are associated with the processor identification information of the processor to be added Processor information communication unit for outputting,
A processor information generation unit that generates new processor information, in which the processor identification information associated with the hash value of a part of the processor information is replaced with the processor identification information of the processor to be added. A processor information generation device.

(付記6)
前記プロセッサ情報生成部は、さらに、前記新たなプロセッサ情報の生成において、前記プロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているとき、前記プロセッサ情報の1周期分の前記プロセッサ識別情報の配列を、追加した前記プロセッサの数だけ前記ハッシュ値の先頭方向に繰り返し巡回シフトさせ、前記巡回シフトの結果と追加した前記プロセッサの前記プロセッサ識別情報とを交互に前記新たなプロセッサ情報として格納する
ことを特徴とする付記5に記載のプロセッサ情報生成装置。
(Appendix 6)
In the generation of the new processor information, the processor information generation unit further includes one cycle of the processor information when the processor identification information of the processor information is periodically assigned to each hash value. The array of the processor identification information is repeatedly cyclically shifted in the head direction of the hash value by the number of the added processors, and the result of the cyclic shift and the processor identification information of the added processor are alternately used for the new processor. The processor information generation device according to appendix 5, wherein the processor information generation device is stored as information.

(付記7)
前記プロセッサ情報生成部は、さらに、前記新たなプロセッサ情報の生成において、既存の前記プロセッサの数、あるいは、前記プロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているときには前記プロセッサ情報の周期をスキップ数とし、前記プロセッサ情報を前記新たなプロセッサ情報にコピーし、前記新たなプロセッサ情報に対して、前記スキップ数の前記プロセッサ識別情報のスキップと追加した前記プロセッサの前記プロセッサ識別情報の上書きとを繰り返し行う
ことを特徴とする付記5に記載のプロセッサ情報生成装置。
(Appendix 7)
In the generation of the new processor information, the processor information generation unit is further configured to periodically allocate the number of the existing processors or the processor identification information of the processor information to each hash value. The processor of the processor in which the cycle of the processor information is set as a skip number, the processor information is copied to the new processor information, and the skip number of the processor identification information is added to the new processor information. The processor information generation device according to appendix 5, wherein the identification information is repeatedly overwritten.

(付記8)
複数のプロセッサと、キー情報と該キー情報から導かれるハッシュ値とデータとを対応付けたレコードについて、前記プロセッサの各々から参照され、前記ハッシュ値に基づいて前記プロセッサ毎に異なる前記レコードを記憶するレコード記憶部を備えるデータベースサーバにおいて、
前記プロセッサの各々が、
追加された前記プロセッサを特定するプロセッサ識別情報を含むプロセッサ追加通知を受信したときに、全ての前記ハッシュ値について、各ハッシュ値と、該ハッシュ値の前記レコードを参照する前記プロセッサの前記プロセッサ識別情報とを対応付けた第一のプロセッサ情報の、一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加された前記プロセッサの前記プロセッサ識別情報に置き換えた第二のプロセッサ情報を生成し、前記第一のプロセッサ情報と前記第二のプロセッサ情報に基づいて、自プロセッサが参照するレコード記憶部から追加された前記プロセッサが参照するレコード記憶部へ前記レコードを再配置する
ことを特徴とする再配置方法。
(Appendix 8)
A record in which a plurality of processors, key information, a hash value derived from the key information, and data are associated with each other is referred to by each of the processors, and the record different for each processor is stored based on the hash value In a database server comprising a record storage unit,
Each of the processors
The processor identification information of the processor that refers to each hash value and the record of the hash value for all the hash values when a processor addition notification including processor identification information that identifies the added processor is received. Generating second processor information in which the processor identification information associated with a part of the hash values is replaced with the processor identification information of the added processor. Based on the first processor information and the second processor information, the record is rearranged from the record storage unit referred to by the own processor to the record storage unit referred to by the processor. Placement method.

(付記9)
前記複数のプロセッサのうち一つがマスタプロセッサとして機能し、
前記マスタプロセッサは、第二のプロセッサ情報を前記各プロセッサに配布する
ことを特徴とする付記8に記載の再配置方法。
(Appendix 9)
One of the plurality of processors functions as a master processor,
The relocation method according to appendix 8, wherein the master processor distributes second processor information to the processors.

(付記10)
さらに、前記第二のプロセッサ情報の生成において、前記第一のプロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているとき、前記第一のプロセッサ情報の1周期分の前記プロセッサ識別情報の配列を追加した前記プロセッサの数だけ前記ハッシュ値の先頭方向に繰り返し巡回シフトさせ、前記巡回シフトの結果と追加した前記プロセッサの前記プロセッサ識別情報とを交互に前記第二のプロセッサ情報として格納する
ことを特徴とする付記8あるいは付記9に記載の再配置方法。
(Appendix 10)
Furthermore, in the generation of the second processor information, when the processor identification information of the first processor information is periodically assigned to each hash value, one cycle of the first processor information The number of the processors to which the array of processor identification information is added is repeatedly cyclically shifted in the head direction of the hash value, and the result of the cyclic shift and the processor identification information of the added processor are alternately used for the second processor. 10. The rearrangement method according to appendix 8 or appendix 9, wherein the rearrangement method is stored as information.

(付記11)
さらに、前記第二のプロセッサ情報の生成において、既存の前記プロセッサの数、あるいは、前記第一のプロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているときには前記第一のプロセッサ情報の周期をスキップ数とし、前記第一のプロセッサ情報を前記第二のプロセッサ情報にコピーし、前記第二のプロセッサ情報に対して、前記スキップ数の前記プロセッサ識別情報のスキップと追加した前記プロセッサの前記プロセッサ識別情報の上書きとを繰り返し行う
ことを特徴とする付記8あるいは付記9に記載の再配置方法。
(Appendix 11)
Further, in the generation of the second processor information, when the number of the existing processors or the processor identification information of the first processor information is periodically assigned to each hash value, the first processor information is generated. The first processor information is copied to the second processor information, and the number of skips of the processor identification information is added to the second processor information. The relocation method according to appendix 8 or appendix 9, wherein the processor identification information of the processor is repeatedly overwritten.

(付記12)
ハッシュ値と該ハッシュ値のレコードを参照可能なプロセッサを特定するプロセッサ識別情報とを対応付けたプロセッサ情報と、追加する前記プロセッサの前記プロセッサ識別情報とから、前記プロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加する前記プロセッサの前記プロセッサ識別情報に置き換えた、新たな前記プロセッサ情報を生成する
ことを特徴とするプロセッサ情報生成方法。
(Appendix 12)
From the processor information in which a hash value and processor identification information for identifying a processor that can refer to the record of the hash value are associated with each other, and the processor identification information of the processor to be added, the hash value of a part of the processor information A new processor information is generated by replacing the processor identification information associated with the processor identification information of the processor to be added.

(付記13)
さらに、前記新たなプロセッサ情報の生成において、前記プロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているとき、前記プロセッサ情報の1周期分の前記プロセッサ識別情報の配列を追加した前記プロセッサの数だけ前記ハッシュ値の先頭方向に繰り返し巡回シフトさせ、前記巡回シフトの結果と追加した前記プロセッサの前記プロセッサ識別情報とを交互に前記新たなプロセッサ情報として格納する
ことを特徴とする付記12に記載のプロセッサ情報生成方法。
(Appendix 13)
Furthermore, in the generation of the new processor information, when the processor identification information of the processor information is periodically assigned to each hash value, an array of the processor identification information for one cycle of the processor information is obtained. The number of added processors is repeatedly cyclically shifted in the head direction of the hash value, and the result of the cyclic shift and the processor identification information of the added processor are alternately stored as the new processor information. The processor information generation method according to appendix 12.

(付記14)
さらに、前記新たなプロセッサ情報の生成において、既存の前記プロセッサの数、あるいは、前記プロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているときには前記プロセッサ情報の周期をスキップ数とし、前記プロセッサ情報を前記新たなプロセッサ情報にコピーし、前記新たなプロセッサ情報に対して、前記スキップ数の前記プロセッサ識別情報のスキップと追加した前記プロセッサの前記プロセッサ識別情報の上書きとを繰り返し行う
ことを特徴とする付記12に記載のプロセッサ情報生成方法。
(Appendix 14)
Further, in the generation of the new processor information, when the number of existing processors or the processor identification information of the processor information is periodically assigned to each hash value, the cycle of the processor information is skipped. The processor information is copied to the new processor information, and the skip of the processor identification information for the number of skips and the overwrite of the processor identification information of the added processor are repeated for the new processor information. The processor information generation method according to appendix 12, characterized in that:

(付記15)
複数のプロセッサと、
キー情報と該キー情報から導かれるハッシュ値とデータとを対応付けたレコードについて、前記プロセッサの各々から参照され、前記ハッシュ値に基づいて前記プロセッサ毎に異なる前記レコードを記憶するレコード記憶部と、
全ての前記ハッシュ値について、各ハッシュ値と、該ハッシュ値の前記レコードを参照する前記プロセッサを特定するプロセッサ識別情報とを対応付けた、第一のプロセッサ情報を記憶する第一のプロセッサ情報記憶部と、
を備えるコンピュータに、
他の前記プロセッサや他の装置との通信を行い、前記プロセッサが新たに追加されたときに、追加された前記プロセッサの前記プロセッサ識別情報を含むプロセッサ追加通知を受信する通信機能と、
前記プロセッサ追加通知を受信したときに、前記第一のプロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加された前記プロセッサの前記プロセッサ識別情報に置き換えた第二のプロセッサ情報を生成し、前記第一のプロセッサ情報と前記第二のプロセッサ情報に基づいて、自プロセッサが参照する前記レコード記憶部から追加された前記プロセッサが参照する前記レコード記憶部へ前記レコードを再配置する記憶制御機能と
を実現させるための再配置プログラム。
(Appendix 15)
Multiple processors,
A record storage unit that stores the record that is referred to by each of the processors and stores the record different for each processor based on the hash value, with respect to the record that associates the key information and the hash value and data derived from the key information.
For all the hash values, a first processor information storage unit that stores first processor information in which each hash value is associated with processor identification information that identifies the processor that refers to the record of the hash value When,
On a computer with
A communication function for communicating with another processor or another device and receiving a processor addition notification including the processor identification information of the added processor when the processor is newly added;
When the processor addition notification is received, the second processor replaces the processor identification information associated with the hash value of a part of the first processor information with the processor identification information of the added processor Information is generated, and based on the first processor information and the second processor information, the record is rearranged from the record storage unit referenced by the own processor to the record storage unit referenced by the processor Relocation program to realize storage control function.

(付記16)
前記複数のプロセッサのうち一つがマスタプロセッサとして機能し、
前記マスタプロセッサの前記記憶制御機能は、第二のプロセッサ情報を前記各プロセッサに配布する
ことを特徴とする付記15に記載の再配置プログラム。
(Appendix 16)
One of the plurality of processors functions as a master processor,
The relocation program according to appendix 15, wherein the storage control function of the master processor distributes second processor information to the processors.

(付記17)
前記記憶制御機能は、さらに、前記第二のプロセッサ情報の生成において、前記第一のプロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているとき、前記第一のプロセッサ情報の1周期分の前記プロセッサ識別情報の配列を追加した前記プロセッサの数だけ前記ハッシュ値の先頭方向に繰り返し巡回シフトさせ、前記巡回シフトの結果と追加した前記プロセッサの前記プロセッサ識別情報とを交互に前記第二のプロセッサ情報として格納する
ことを特徴とする付記15あるいは付記16に記載の再配置プログラム。
(Appendix 17)
The storage control function further includes the first processor when the processor identification information of the first processor information is periodically assigned to each hash value in the generation of the second processor information. The processor identification information array for one period of information is repeatedly cyclically shifted in the head direction of the hash value by the number of the added processors, and the result of the cyclic shift and the added processor identification information of the processor are alternated. The relocation program according to appendix 15 or appendix 16, wherein the relocation program is stored as the second processor information.

(付記18)
前記記憶制御機能は、さらに、前記第二のプロセッサ情報の生成において、既存の前記プロセッサの数、あるいは、前記第一のプロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているときには、前記第一のプロセッサ情報の周期をスキップ数とし、前記第一のプロセッサ情報を前記第二のプロセッサ情報にコピーし、前記第二のプロセッサ情報に対して、前記スキップ数の前記プロセッサ識別情報のスキップと追加した前記プロセッサの前記プロセッサ識別情報の上書きとを繰り返し行う
ことを特徴とする付記15あるいは付記16に記載の再配置プログラム。
(Appendix 18)
In the storage control function, in the generation of the second processor information, the number of the existing processors or the processor identification information of the first processor information is periodically assigned to each hash value. The first processor information period is set as the number of skips, the first processor information is copied to the second processor information, and the number of skips corresponding to the second processor information. The relocation program according to appendix 15 or appendix 16, wherein skipping of the identification information and overwriting of the processor identification information of the added processor are repeatedly performed.

(付記19)
コンピュータに、
ハッシュ値と該ハッシュ値のレコードを参照可能なプロセッサを特定するプロセッサ識別情報とを対応付けたプロセッサ情報と、追加する前記プロセッサの前記プロセッサ識別情報との入力を受け付け、新たに生成した前記プロセッサ情報を出力するプロセッサ情報通信機能と、
前記プロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加する前記プロセッサの前記プロセッサ識別情報に置き換えた、新たな前記プロセッサ情報を生成するプロセッサ情報生成機能と
を実現させるためのプロセッサ情報生成プログラム。
(Appendix 19)
On the computer,
The processor information newly generated by accepting input of processor information in which a hash value and processor identification information for identifying a processor that can refer to the record of the hash value are associated with the processor identification information of the processor to be added Processor information communication function for outputting
To realize a processor information generation function for generating new processor information by replacing the processor identification information associated with the hash value of a part of the processor information with the processor identification information of the processor to be added. Processor information generation program.

(付記20)
前記プロセッサ情報生成機能は、さらに、前記新たなプロセッサ情報の生成において、前記プロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているとき、前記プロセッサ情報の1周期分の前記プロセッサ識別情報の配列を追加した前記プロセッサの数だけ前記ハッシュ値の先頭方向に繰り返し巡回シフトさせ、前記巡回シフトの結果と追加した前記プロセッサの前記プロセッサ識別情報とを交互に前記新たなプロセッサ情報として格納する
ことを特徴とする付記19に記載のプロセッサ情報生成プログラム。
(Appendix 20)
The processor information generation function is further configured to generate one cycle of the processor information when the processor identification information of the processor information is periodically assigned to each hash value in the generation of the new processor information. The new processor information is alternately and cyclically shifted in the head direction of the hash value by the number of the processors to which the array of the processor identification information is added, and the result of the cyclic shift and the processor identification information of the added processor alternately. The processor information generation program according to appendix 19, wherein the processor information generation program is stored as

(付記21)
前記プロセッサ情報生成機能は、さらに、前記新たなプロセッサ情報の生成において、既存の前記プロセッサの数、あるいは、前記プロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているときには、前記プロセッサ情報の周期をスキップ数とし、前記プロセッサ情報を前記新たなプロセッサ情報にコピーし、前記新たなプロセッサ情報に対して、前記スキップ数の前記プロセッサ識別情報のスキップと追加した前記プロセッサの前記プロセッサ識別情報の上書きとを繰り返し行う
ことを特徴とする付記19に記載のプロセッサ情報生成プログラム。
(Appendix 21)
The processor information generation function is further configured such that when the new processor information is generated, the number of existing processors or the processor identification information of the processor information is periodically assigned to each hash value. The processor information cycle is the number of skips, the processor information is copied to the new processor information, and the skip of the processor identification information of the skip number is added to the new processor information. The processor information generation program according to appendix 19, wherein the processor identification information is repeatedly overwritten.

(付記22)
付記16から付記18のいずれかに記載の再配置プログラムを記録した、コンピュータ読み取り可能な記録媒体。
(Appendix 22)
A computer-readable recording medium on which the rearrangement program according to any one of Supplementary Note 16 to Supplementary Note 18 is recorded.

(付記23)
付記19から付記21のいずれかに記載のプロセッサ情報生成プログラムを記録した、コンピュータ読み取り可能な記録媒体。
(Appendix 23)
A computer-readable recording medium on which the processor information generation program according to any one of appendix 19 to appendix 21 is recorded.

1 データベースサーバ
10 プロセッサ
11 通信部
12 記憶制御部
13 レコード記憶部
14 第一のプロセッサ情報記憶部
DESCRIPTION OF SYMBOLS 1 Database server 10 Processor 11 Communication part 12 Storage control part 13 Record storage part 14 1st processor information storage part

Claims (10)

複数のプロセッサと、
キー情報と該キー情報から導かれるハッシュ値とデータとを対応付けたレコードについて、前記プロセッサの各々から参照され、前記ハッシュ値に基づいて前記プロセッサ毎に異なる前記レコードを記憶するレコード記憶部と、
全ての前記ハッシュ値について、各ハッシュ値と、該ハッシュ値の前記レコードを参照する前記プロセッサを特定するプロセッサ識別情報とを対応付けた、第一のプロセッサ情報を記憶する第一のプロセッサ情報記憶部と、
を備え、
前記プロセッサの各々は、
他の前記プロセッサや他の装置との通信を行い、前記プロセッサが新たに追加されたときに、追加された前記プロセッサの前記プロセッサ識別情報を含むプロセッサ追加通知を受信する通信部と、
前記プロセッサ追加通知を受信したときに、前記第一のプロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加された前記プロセッサの前記プロセッサ識別情報に置き換えた第二のプロセッサ情報を生成し、前記第一のプロセッサ情報と前記第二のプロセッサ情報に基づいて、自プロセッサが参照する前記レコード記憶部から追加された前記プロセッサが参照する前記レコード記憶部へ前記レコードを再配置する記憶制御部と
を備えることを特徴とするデータベースサーバ。
Multiple processors,
A record storage unit that stores the record that is referred to by each of the processors and stores the record different for each processor based on the hash value, with respect to the record that associates the key information and the hash value and data derived from the key information.
For all the hash values, a first processor information storage unit that stores first processor information in which each hash value is associated with processor identification information that identifies the processor that refers to the record of the hash value When,
With
Each of the processors
A communication unit that communicates with another processor or another device and receives a processor addition notification including the processor identification information of the added processor when the processor is newly added;
When the processor addition notification is received, the second processor replaces the processor identification information associated with the hash value of a part of the first processor information with the processor identification information of the added processor Information is generated, and based on the first processor information and the second processor information, the record is rearranged from the record storage unit referenced by the own processor to the record storage unit referenced by the processor And a storage control unit.
前記複数のプロセッサのうち一つがマスタプロセッサとして機能し、
前記マスタプロセッサの前記記憶制御部は、前記第二のプロセッサ情報を、前記通信部を経由して、前記各プロセッサに配布する
ことを特徴とする請求項1に記載のデータベースサーバ。
One of the plurality of processors functions as a master processor,
The database server according to claim 1, wherein the storage control unit of the master processor distributes the second processor information to the processors via the communication unit.
前記記憶制御部は、さらに、前記第二のプロセッサ情報の生成において、前記第一のプロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているとき、前記第一のプロセッサ情報の1周期分の前記プロセッサ識別情報の配列を、追加した前記プロセッサの数だけ前記ハッシュ値の先頭方向に繰り返し巡回シフトさせ、前記巡回シフトの結果と追加した前記プロセッサの前記プロセッサ識別情報とを交互に前記第二のプロセッサ情報として格納する
ことを特徴とする請求項1あるいは請求項2に記載のデータベースサーバ。
The storage control unit further includes the first processor when the processor identification information of the first processor information is periodically assigned to each hash value in the generation of the second processor information. An array of the processor identification information for one cycle of information is cyclically shifted in the head direction of the hash value by the number of added processors, and the result of the cyclic shift and the processor identification information of the added processor are obtained. The database server according to claim 1 or 2, wherein the database server is alternately stored as the second processor information.
前記記憶制御部は、さらに、前記第二のプロセッサ情報の生成において、既存の前記プロセッサの数、あるいは、前記第一のプロセッサ情報の前記プロセッサ識別情報が各ハッシュ値に対して周期的に割り当てられているときには前記第一のプロセッサ情報の周期をスキップ数とし、前記第一のプロセッサ情報を前記第二のプロセッサ情報にコピーし、前記第二のプロセッサ情報に対して、前記スキップ数の前記プロセッサ識別情報のスキップと追加した前記プロセッサの前記プロセッサ識別情報の上書きとを繰り返し行う
ことを特徴とする請求項1あるいは請求項2に記載のデータベースサーバ。
Further, in the generation of the second processor information, the storage control unit periodically assigns the number of the existing processors or the processor identification information of the first processor information to each hash value. The first processor information period is set as the skip number, the first processor information is copied to the second processor information, and the processor identification of the skip number is compared with the second processor information. The database server according to claim 1 or 2, wherein skipping of information and overwriting of the processor identification information of the added processor are repeatedly performed.
複数のプロセッサと、キー情報と該キー情報から導かれるハッシュ値とデータとを対応付けたレコードについて、前記プロセッサの各々から参照され、前記ハッシュ値に基づいて前記プロセッサ毎に異なる前記レコードを記憶するレコード記憶部を備えるデータベースサーバに関して、
前記ハッシュ値と該ハッシュ値の前記レコードを参照可能な前記プロセッサを特定するプロセッサ識別情報とを対応付けたプロセッサ情報と、追加する前記プロセッサの前記プロセッサ識別情報との入力を受け付け、新たに生成した前記プロセッサ情報を出力するプロセッサ情報通信部と、
前記プロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加する前記プロセッサの前記プロセッサ識別情報に置き換えた、新たな前記プロセッサ情報を生成するプロセッサ情報生成部と
を備えることを特徴とするプロセッサ情報生成装置。
A record in which a plurality of processors, key information, a hash value derived from the key information, and data are associated with each other is referred to by each of the processors, and the record different for each processor is stored based on the hash value For database servers with record storage,
Receiving and processor information associating the processor identification information identifying the processor can refer to the record of the hash value and the hash value, the input of the processor identification information of the processor to be added, the newly generated A processor information communication unit for outputting the processor information;
A processor information generation unit that generates new processor information, in which the processor identification information associated with the hash value of a part of the processor information is replaced with the processor identification information of the processor to be added. A processor information generation device.
複数のプロセッサと、キー情報と該キー情報から導かれるハッシュ値とデータとを対応付けたレコードについて、前記プロセッサの各々から参照され、前記ハッシュ値に基づいて前記プロセッサ毎に異なる前記レコードを記憶するレコード記憶部を備えるデータベースサーバにおいて、
前記プロセッサの各々が、
追加された前記プロセッサを特定するプロセッサ識別情報を含むプロセッサ追加通知を受信したときに、全ての前記ハッシュ値について、各ハッシュ値と、該ハッシュ値の前記レコードを参照する前記プロセッサの前記プロセッサ識別情報とを対応付けた第一のプロセッサ情報の、一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加された前記プロセッサの前記プロセッサ識別情報に置き換えた第二のプロセッサ情報を生成し、前記第一のプロセッサ情報と前記第二のプロセッサ情報に基づいて、自プロセッサが参照するレコード記憶部から追加された前記プロセッサが参照するレコード記憶部へ前記レコードを再配置する
ことを特徴とする再配置方法。
A record in which a plurality of processors, key information, a hash value derived from the key information, and data are associated with each other is referred to by each of the processors, and the record different for each processor is stored based on the hash value In a database server comprising a record storage unit,
Each of the processors
The processor identification information of the processor that refers to each hash value and the record of the hash value for all the hash values when a processor addition notification including processor identification information that identifies the added processor is received. Generating second processor information in which the processor identification information associated with a part of the hash values is replaced with the processor identification information of the added processor. Based on the first processor information and the second processor information, the record is rearranged from the record storage unit referred to by the own processor to the record storage unit referred to by the processor. Placement method.
複数のプロセッサと、キー情報と該キー情報から導かれるハッシュ値とデータとを対応付けたレコードについて、前記プロセッサの各々から参照され、前記ハッシュ値に基づいて前記プロセッサ毎に異なる前記レコードを記憶するレコード記憶部を備えるデータベースサーバに関して、
前記ハッシュ値と該ハッシュ値の前記レコードを参照可能な前記プロセッサを特定するプロセッサ識別情報とを対応付けたプロセッサ情報と、追加する前記プロセッサの前記プロセッサ識別情報とから、前記プロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加する前記プロセッサの前記プロセッサ識別情報に置き換えた、新たな前記プロセッサ情報を生成する
ことを特徴とするプロセッサ情報生成方法。
A record in which a plurality of processors, key information, a hash value derived from the key information, and data are associated with each other is referred to by each of the processors, and the record different for each processor is stored based on the hash value For database servers with record storage,
And processor information associating the processor identification information identifying the processor can refer to the record of the hash value and the hash value from said processor identification information of the processor to be added, a portion of the processor information A new processor information is generated by replacing the processor identification information associated with the hash value with the processor identification information of the processor to be added.
複数のプロセッサと、
キー情報と該キー情報から導かれるハッシュ値とデータとを対応付けたレコードについて、前記プロセッサの各々から参照され、前記ハッシュ値に基づいて前記プロセッサ毎に異なる前記レコードを記憶するレコード記憶部と、
全ての前記ハッシュ値について、各ハッシュ値と、該ハッシュ値の前記レコードを参照する前記プロセッサを特定するプロセッサ識別情報とを対応付けた、第一のプロセッサ情報を記憶する第一のプロセッサ情報記憶部と、
を備えるコンピュータに、
他の前記プロセッサや他の装置との通信を行い、前記プロセッサが新たに追加されたときに、追加された前記プロセッサの前記プロセッサ識別情報を含むプロセッサ追加通知を受信する通信機能と、
前記プロセッサ追加通知を受信したときに、前記第一のプロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加された前記プロセッサの前記プロセッサ識別情報に置き換えた第二のプロセッサ情報を生成し、前記第一のプロセッサ情報と前記第二のプロセッサ情報に基づいて、自プロセッサが参照する前記レコード記憶部から追加された前記プロセッサが参照する前記レコード記憶部へ前記レコードを再配置する記憶制御機能と
を実現させるための再配置プログラム。
Multiple processors,
A record storage unit that stores the record that is referred to by each of the processors and stores the record different for each processor based on the hash value, with respect to the record that associates the key information and the hash value and data derived from the key information.
For all the hash values, a first processor information storage unit that stores first processor information in which each hash value is associated with processor identification information that identifies the processor that refers to the record of the hash value When,
On a computer with
A communication function for communicating with another processor or another device and receiving a processor addition notification including the processor identification information of the added processor when the processor is newly added;
When the processor addition notification is received, the second processor replaces the processor identification information associated with the hash value of a part of the first processor information with the processor identification information of the added processor Information is generated, and based on the first processor information and the second processor information, the record is rearranged from the record storage unit referenced by the own processor to the record storage unit referenced by the processor Relocation program to realize storage control function.
複数のプロセッサと、キー情報と該キー情報から導かれるハッシュ値とデータとを対応付けたレコードについて、前記プロセッサの各々から参照され、前記ハッシュ値に基づいて前記プロセッサ毎に異なる前記レコードを記憶するレコード記憶部を備えるデータベースサーバに関して、
コンピュータに、
前記ハッシュ値と該ハッシュ値の前記レコードを参照可能な前記プロセッサを特定するプロセッサ識別情報とを対応付けたプロセッサ情報と、追加する前記プロセッサの前記プロセッサ識別情報との入力を受け付け、新たに生成した前記プロセッサ情報を出力するプロセッサ情報通信機能と、
前記プロセッサ情報の一部の前記ハッシュ値に対応付けられた前記プロセッサ識別情報を追加する前記プロセッサの前記プロセッサ識別情報に置き換えた、新たな前記プロセッサ情報を生成するプロセッサ情報生成機能と
を実現させるためのプロセッサ情報生成プログラム。
A record in which a plurality of processors, key information, a hash value derived from the key information, and data are associated with each other is referred to by each of the processors, and the record different for each processor is stored based on the hash value For database servers with record storage,
On the computer,
Receiving and processor information associating the processor identification information identifying the processor can refer to the record of the hash value and the hash value, the input of the processor identification information of the processor to be added, the newly generated A processor information communication function for outputting the processor information;
To realize a processor information generation function for generating new processor information by replacing the processor identification information associated with the hash value of a part of the processor information with the processor identification information of the processor to be added. Processor information generation program.
請求項8に記載の再配置プログラムあるいは請求項9に記載のプロセッサ情報生成プログラムを記録した、コンピュータ読み取り可能な記録媒体。   A computer-readable recording medium on which the rearrangement program according to claim 8 or the processor information generation program according to claim 9 is recorded.
JP2014224799A 2014-11-05 2014-11-05 Database server, relocation method, and relocation program Active JP6428167B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014224799A JP6428167B2 (en) 2014-11-05 2014-11-05 Database server, relocation method, and relocation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014224799A JP6428167B2 (en) 2014-11-05 2014-11-05 Database server, relocation method, and relocation program

Publications (2)

Publication Number Publication Date
JP2016091284A JP2016091284A (en) 2016-05-23
JP6428167B2 true JP6428167B2 (en) 2018-11-28

Family

ID=56017009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014224799A Active JP6428167B2 (en) 2014-11-05 2014-11-05 Database server, relocation method, and relocation program

Country Status (1)

Country Link
JP (1) JP6428167B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004102450A (en) * 2002-09-05 2004-04-02 Toshiba Corp Server device, onboard electronic equipment and contents processing method
JP2005196602A (en) * 2004-01-09 2005-07-21 Hitachi Ltd System configuration changing method in unshared type database management system
JP2009163665A (en) * 2008-01-10 2009-07-23 Nippon Telegr & Teleph Corp <Ntt> Information retrieval device equipped with dynamic expandability, information retrieval method equipped with dynamic expandability, information retrieval program equipped with dynamic expandability and recording medium with same program recorded
JP5757290B2 (en) * 2010-08-19 2015-07-29 日本電気株式会社 Object arrangement apparatus and method, and computer program

Also Published As

Publication number Publication date
JP2016091284A (en) 2016-05-23

Similar Documents

Publication Publication Date Title
JP6542909B2 (en) File operation method and apparatus
CN102419770B (en) File sharing system, method for realizing file sharing, and file index service equipment
CN105515872B (en) The update method of configuration information, apparatus and system
RU2701124C2 (en) Composite functions of partition
CN104731956A (en) Method and system for synchronizing data and related database
CN105589715B (en) Information processing equipment, library loading method and computer-readable medium
JP5574464B2 (en) Storage resource hierarchy management method and system
CN104144202A (en) Hadoop distributed file system access method, system and device
CN111538594A (en) Order ID generation method, device, equipment and medium based on distributed system
CN103888424B (en) Concentrating type data encryption system and its data processing method
US9807156B2 (en) Cloud computing infrastructure
CN103678577A (en) Method and device for updating data
JP6428167B2 (en) Database server, relocation method, and relocation program
CN104700255B (en) Multi-process processing method, device and system
CN108241626A (en) The generation method and device of query script
CN113905014B (en) Method, server and storage medium for assigning ID number to terminal device
CN105589616A (en) Method and apparatus for combining multiple application operations on terminal and terminal
CN114116245A (en) Data processing method, computer device, and storage medium
JP5672893B2 (en) Thin client system, management server, client environment management method and program
CN105791160B (en) The processing method of affairs, equipment and system in software defined network
JP6361254B2 (en) Object placement apparatus, object placement method, and program
US20130081007A1 (en) Providing continuous application availability during application update
CN103984545A (en) Mobile terminal advertisement request method and mobile terminal advertisement request device
US9529706B1 (en) System, method, and computer program for performing software application operations concurrently with memory compaction operations
CN110147944B (en) Ranking method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180904

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181015

R150 Certificate of patent or registration of utility model

Ref document number: 6428167

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150