JP2002140201A - データベース更新方法及びそれを用いたデータベース管理システム - Google Patents

データベース更新方法及びそれを用いたデータベース管理システム

Info

Publication number
JP2002140201A
JP2002140201A JP2000335311A JP2000335311A JP2002140201A JP 2002140201 A JP2002140201 A JP 2002140201A JP 2000335311 A JP2000335311 A JP 2000335311A JP 2000335311 A JP2000335311 A JP 2000335311A JP 2002140201 A JP2002140201 A JP 2002140201A
Authority
JP
Japan
Prior art keywords
update
database
update processing
threads
update request
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
JP2000335311A
Other languages
English (en)
Inventor
Kentaro Okuda
健太朗 奥田
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 Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2000335311A priority Critical patent/JP2002140201A/ja
Publication of JP2002140201A publication Critical patent/JP2002140201A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 更新処理スレッド及び各更新処理スレッドに
よるデータベースへの接続数を動的に変更可能とし、更
新処理のパフォーマンス向上が可能なデータベース更新
方法を提供する。 【解決手段】 更新要求振分手段2は応用ソフトウェア
1から受信したデータ更新要求を、更新種別毎に更新要
求記憶部3の受信キュー30〜3nに振り分ける。更新
処理部4は更新タイマ5がタイムアウトすると、受信キ
ュー30〜3n毎に更新処理を行うための更新処理スレ
ッド40〜4nを作成する。各更新処理スレッド40〜
4nはそれぞれデータベース6との接続を行うため、デ
ータベース6への接続数が動的に変更され、更新処理ス
レッド40〜4nが並行して更新処理を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータベース更新方
法及びそれを用いたデータベース管理システムに関し、
特に複数のデータ更新処理スレッドを用いたデータベー
ス更新方法に関する。
【0002】
【従来の技術】一般的なデータベースシステムでは、レ
スポンスの向上を目的として、複数のスレッドからデー
タベースへ接続を行い、各スレッドが独立してデータベ
ースへアクセスするという方法が用いられている。
【0003】しかしながら、通常のデータベースシステ
ムにおいて、データベース接続の数によってはシステム
全体のパフォーマンスが低下するため、データベースシ
ステムに最適なスレッド数を求めることが要求される。
【0004】
【発明が解決しようとする課題】上述した従来のデータ
ベース更新方法では、データベース更新時にテーブル単
位あるいはレコード単位でのロック等の同時実行制御を
行うため、ロック解除待ちのスレッドが発生し、必ずし
も全てのスレッドが有効に動作するわけではなく、必要
以上のデータベース接続を行ってしまう。
【0005】そのため、固定数のスレッドで更新処理を
行う場合には、更新処理スレッド数をいくつに設定する
かという問題がある。また、システムの変更時には再
度、そのシステムに最適なスレッド数の算出及び評価を
行う必要があるという問題もある。
【0006】そこで、本発明の目的は上記の問題点を解
消し、更新処理スレッド及び各更新処理スレッドによる
データベースへの接続数を動的に変更することができ、
更新処理のパフォーマンス向上を図ることができるデー
タベース更新方法及びそれを用いたデータベース管理シ
ステムを提供することにある。
【0007】
【課題を解決するための手段】本発明によるデータベー
ス更新方法は、複数の更新処理スレッドを用いてデータ
ベースの更新処理を行うデータベース管理システムのデ
ータベース更新方法であって、前記更新処理スレッド数
を動的に変更するようにしている。
【0008】本発明によるデータベース管理システム
は、受信したデータ更新要求に応じたデータベースの更
新を複数の更新処理スレッドを用いて行うデータベース
管理システムであって、前記データ更新要求を更新種別
によって分類する更新要求振分手段と、前記更新要求振
分手段で分類された同一の更新種別のデータ更新要求の
みを格納する受信キューからなる更新要求記憶手段と、
前記受信キューの数と同数の更新処理スレッドを生成し
かつ各更新処理スレッドに対して更新処理対象となる受
信キューを割当てる更新処理手段とを備え、前記更新処
理スレッド各々がそれぞれ前記データベースへ接続して
割当てられた受信キュー内のデータ更新要求に対する更
新処理を並行して実行するよう構成している。
【0009】すなわち、本発明のデータベース更新方法
は、データ更新要求を複数の受信キューに更新種別毎に
振分け、受信キューの数と同数の更新処理スレッドを生
成してデータベース更新の並行処理を行っている。この
手法を用いることで、一定時間内に受信したデータ更新
要求の種類によって動的に更新処理スレッドの数を変更
することが可能となる。
【0010】更新要求を振分ける手段は、受信したデー
タ更新要求を更新種別によって分類する。更新要求記憶
部内の各受信キューは同一の更新種別を有するデータ更
新要求のみを格納する。更新処理部は更新タイマのタイ
ムアウトによって、受信キューの数と同数の更新処理ス
レッドを生成し、各更新処理スレッドに対して更新処理
対象となる受信キューを割当てる。各更新処理スレッド
は各々データベースへ接続し、割当てられた受信キュー
内のデータ更新要求に対する更新処理を並行して実行す
る。
【0011】これによって、更新処理スレッド及び各更
新処理スレッドによるデータベースへの接続数を動的に
変更することが可能となり、更新処理のパフォーマンス
向上を図ることが可能となる。
【0012】
【発明の実施の形態】次に、本発明の一実施例について
図面を参照して説明する。図1は本発明の一実施例によ
るデータベース管理システムの構成を示すブロック図で
ある。図1において、本発明の一実施例によるデータベ
ース管理システムは定期的にデータベースを更新するシ
ステムに適用したものである。
【0013】これは応用ソフトウェア(データベースア
プリケーション)から送信されたデータ更新要求を更新
種別毎に別々の受信キューに振分け、各々の受信キュー
内の更新要求を個々のスレッドに並行処理させることに
よって、更新処理の高速化を目指すものである。
【0014】本発明の一実施例によるデータベース管理
システムはデータベースの更新を要求する応用ソフトウ
ェア1と、応用ソフトウェア1からのデータ更新要求を
更新種別に基づいて振分けを行う更新要求振分手段2
と、振分けられた更新要求を一時的に記憶しておく更新
要求記憶部3と、データ更新要求に対する更新処理を実
行する更新処理部4と、一定時間おきにデータベースの
更新処理を実行させるための更新タイマ5と、更新対象
となるデータベース6とから構成されている。
【0015】応用ソフトウェア1からのデータ更新要求
には更新情報として更新種別と更新データとが含まれて
いる。ここで、更新種別とは更新対象となるテーブルが
互いに重ならないようにグループ分けした個々のグルー
プにつけられる番号である。更新種別が異なる場合、2
つ以上のデータ更新処理が並行して行われても互いに干
渉することはない。
【0016】また、更新要求記憶部3は内部に複数の受
信キュー31〜3nを持ち、その数は可変である。さら
に、更新処理部4は更新処理を実行するためのスレッド
41〜4nを持つが、これは更新タイマ5のタイムアウ
ト時に更新要求記憶部3に存在する受信キューの数と同
数が生成される。
【0017】本発明におけるデータベース更新動作は応
用ソフトウェア1からのデータ更新要求を更新種別毎に
更新要求記憶部3内の受信キューに格納するステップ
(以下、受信ステップとする)と、更新タイマ5のタイ
ムアウトによって更新要求記憶部3に格納された更新要
求に基づくデータベース更新を実行するステップ(以
下、更新ステップとする)とに分けられる。
【0018】図2は本発明の一実施例によるデータベー
ス管理システムの受信ステップでの動作を示すフローチ
ャートであり、図3は本発明の一実施例によるデータベ
ース管理システムの更新ステップでの動作を示すフロー
チャートである。これら図1〜図3を参照して本発明の
一実施例によるデータベース管理システムの動作につい
て説明する。
【0019】まず、受信ステップの場合、初期状態では
更新要求振分手段2がデータ更新要求の待ち状態であ
り、更新要求記憶部3に受信キューは存在しない。ま
た、更新処理部4に更新処理スレッドは存在しない。
【0020】更新要求振分手段2はデータ更新要求を受
信すると(図2ステップS1)、まず当該データ更新要
求の更新種別を確認する(図2ステップS2)。更新要
求振分手段2は更新要求記憶部3に当該データ更新要求
と同一の更新種別のデータ更新要求を格納している受信
キューが存在すれば、その受信キューにデータ更新要求
のキューイングを行う(図2ステップS6)。
【0021】更新要求振分手段2は更新要求記憶部3に
当該データ更新要求と同一の更新種別のデータ更新要求
を格納している受信キューが存在していなければ、新た
に受信キューを生成し、その受信キューにデータ更新要
求のキューイングを行う(図2ステップS4,S5)。
【0022】上述した受信ステップはデータ更新要求を
受信するたびに繰り返し実行される。更新要求記憶部3
内の更新要求は更新タイマ5がタイムアウトすると更新
処理部4に渡され、更新ステップが開始される。この
時、更新要求記憶部3内の受信キューは全て破棄され、
初期状態となる。
【0023】続いて、更新ステップの場合、更新処理部
4は更新タイマ5のタイムアウト時に(図3ステップS
11)、更新要求記憶部3に受信キューが存在すれば
(図3ステップS12)、その受信キューの数と同数の
更新処理スレッドを生成し(図3ステップS13)、各
スレッドがそれぞれ1つの受信キューのデータ更新要求
に対する更新処理を実行するように割り当てる。
【0024】更新処理部4は全ての更新処理スレッドへ
の割り当てが完了すると、各スレッドへ更新開始指示を
送信し、各更新処理スレッドは各々データベース6へ接
続して更新処理を実行する(図3ステップS14)。
【0025】更新処理スレッドは更新処理が完了すると
破棄される。全ての更新処理スレッドが破棄されると
(図3ステップS15,S16)、更新ステップが終了
し、更新処理部4内は初期状態に戻ると同時に、ステッ
プS1に戻って更新タイマ5のタイムアウト待ちとな
る。
【0026】本発明の一実施例によるデータベース管理
システムでは、上述した受信ステップと更新ステップと
を独立して実行することによって、データベース6の更
新を行う。
【0027】図4〜図6は本発明の一実施例によるデー
タベース管理システムの具体な受信ステップの動作を示
す図である。これら図1と図4〜図6とを参照して本発
明の一実施例によるデータベース管理システムの具体的
な動作について説明する。
【0028】本発明の一実施例によるデータベース管理
システムに対して、応用ソフトウェア1から図4〜図6
に示した順序でデータ更新要求が送信されるものと、こ
の時の受信ステップにおける動作は次のようになる。
【0029】1番目のデータ更新要求に対して、更新要
求振分手段2は更新要求記憶部3に受信キュー31の作
成を指示する[図4(a)参照]。作成された受信キュ
ー31に対し、更新要求振分手段2は1番目のデータ更
新要求をキューイングする[図4(b)参照]。この
時、1番目のデータ更新要求の更新種別が「4」である
ため、受信キュー31は更新種別4のデータ更新要求の
みを管理する。
【0030】次に、2番目に送信されたデータ更新要求
の更新種別は「2」であるため、更新種別「4」のデー
タ更新要求のみを管理する受信キュー31にはキューイ
ングすることができない。
【0031】そこで、更新要求振分手段2は更新要求記
憶部3に対して受信キュー32の作成を指示し[図4
(c)参照]、受信キュー32にデータ更新要求をキュ
ーイングする[図5(d)参照]。これによって、受信
キュー32は更新種別「2」のデータ更新要求のみを管
理する。また、3番目のデータ更新要求に関しては更新
種別が「4」であるため、そのデータ更新要求は受信キ
ュー31にキューイングされる[図5(e)参照]。
【0032】4番目のデータ更新要求に関しては更新種
別が「1」のため、更新要求振分手段2は更新要求記憶
部3に受信キュー33の作成を指示し[図5(f)参
照]、作成した受信キュー33にデータ更新要求をキュ
ーイングする[図6(g)参照]。5番目のデータ更新
要求に関しては更新種別が「1」であるため、そのデー
タ更新要求は受信キュー33にキューイングされる[図
6(h)参照]。
【0033】上述した処理によって、3つの受信キュー
31〜33が生成される。この状態で、更新タイマ5が
タイムアウトすると、更新処理部4は3つの更新処理ス
レッド41〜43を生成する[図6(i)参照]。受信
キュー31〜33内のデータ更新要求は各々更新処理ス
レッド41〜43で処理される。
【0034】このように、複数の更新処理スレッドに分
割して処理させることによって、データベース6の更新
処理時間を減らすことができる。また、データベース6
への接続数も更新処理スレッド数に応じて変化するた
め、必要以上のデータベース6への接続を抑制すること
ができる。
【0035】さらに、システム全体のパフォーマンスを
考慮して最適な更新処理スレッド数を再評価する必要が
ないので、固定数のスレッドを用いたデータベース更新
方式と異なり、システムの変更への対応が簡便になる。
【0036】したがって、更新処理スレッド及び各更新
処理スレッドによるデータベース6への接続数を動的に
変更することができ、更新処理のパフォーマンス向上を
図ることができる。
【0037】
【発明の効果】以上説明したように本発明によれば、複
数の更新処理スレッドを用いてデータベースの更新処理
を行うデータベース管理システムにおいて、更新処理ス
レッド数を動的に変更することによって、更新処理スレ
ッド及び各更新処理スレッドによるデータベースへの接
続数を動的に変更することができ、更新処理のパフォー
マンス向上を図ることができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例によるデータベース管理シス
テムの構成を示すブロック図である。
【図2】本発明の一実施例によるデータベース管理シス
テムの受信ステップでの動作を示すフローチャートであ
る。
【図3】本発明の一実施例によるデータベース管理シス
テムの更新ステップでの動作を示すフローチャートであ
る。
【図4】本発明の一実施例によるデータベース管理シス
テムの具体な受信ステップの動作を示す図である。
【図5】本発明の一実施例によるデータベース管理シス
テムの具体な受信ステップの動作を示す図である。
【図6】本発明の一実施例によるデータベース管理シス
テムの具体な受信ステップの動作を示す図である。
【符号の説明】
1 応用ソフトウェア 2 更新要求振分手段 3 更新要求記憶部 4 更新処理部 5 更新タイマ 6 データベース 30〜3n 受信キュー 40〜4n 更新処理スレッド

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数の更新処理スレッドを用いてデータ
    ベースの更新処理を行うデータベース管理システムのデ
    ータベース更新方法であって、前記更新処理スレッド数
    を動的に変更するようにしたことを特徴とするデータベ
    ース更新方法。
  2. 【請求項2】 受信したデータ更新要求の更新種別に基
    づいて前記更新処理スレッド数の変更を行うようにした
    ことを特徴とする請求項1記載のデータベース更新方
    法。
  3. 【請求項3】 受信したデータ更新要求に応じたデータ
    ベースの更新を複数の更新処理スレッドを用いて行うデ
    ータベース管理システムであって、前記データ更新要求
    を更新種別によって分類する更新要求振分手段と、前記
    更新要求振分手段で分類された同一の更新種別のデータ
    更新要求のみを格納する受信キューからなる更新要求記
    憶手段と、前記受信キューの数と同数の更新処理スレッ
    ドを生成しかつ各更新処理スレッドに対して更新処理対
    象となる受信キューを割当てる更新処理手段とを有し、
    前記更新処理スレッド各々がそれぞれ前記データベース
    へ接続して割当てられた受信キュー内のデータ更新要求
    に対する更新処理を並行して実行するよう構成したこと
    を特徴とするデータベース管理システム。
  4. 【請求項4】 予め設定された一定時間を計時する更新
    タイマを含み、前記更新処理手段が前記更新タイマのタ
    イムアウトに応答して前記受信キューの数と同数の更新
    処理スレッドを生成するようにしたことを特徴とする請
    求項3記載のデータベース管理システム。
JP2000335311A 2000-11-02 2000-11-02 データベース更新方法及びそれを用いたデータベース管理システム Pending JP2002140201A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000335311A JP2002140201A (ja) 2000-11-02 2000-11-02 データベース更新方法及びそれを用いたデータベース管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000335311A JP2002140201A (ja) 2000-11-02 2000-11-02 データベース更新方法及びそれを用いたデータベース管理システム

Publications (1)

Publication Number Publication Date
JP2002140201A true JP2002140201A (ja) 2002-05-17

Family

ID=18811074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000335311A Pending JP2002140201A (ja) 2000-11-02 2000-11-02 データベース更新方法及びそれを用いたデータベース管理システム

Country Status (1)

Country Link
JP (1) JP2002140201A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010515161A (ja) * 2006-12-30 2010-05-06 インテル コーポレイション スレッドをキューに供給する方法及び装置
JP2010277348A (ja) * 2009-05-28 2010-12-09 Nippon Telegr & Teleph Corp <Ntt> マスタースレーブ構成をもつデータベースを更新するデータベース更新方法、データベース更新システム、データベース更新装置、およびデータベース更新プログラム
JP2011181032A (ja) * 2010-03-04 2011-09-15 Nec Corp サーバ装置、情報処理方法、及び、プログラム
JP6496456B1 (ja) * 2017-07-31 2019-04-03 三菱電機株式会社 情報処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010515161A (ja) * 2006-12-30 2010-05-06 インテル コーポレイション スレッドをキューに供給する方法及び装置
US8544019B2 (en) 2006-12-30 2013-09-24 Intel Corporation Thread queueing method and apparatus
JP2010277348A (ja) * 2009-05-28 2010-12-09 Nippon Telegr & Teleph Corp <Ntt> マスタースレーブ構成をもつデータベースを更新するデータベース更新方法、データベース更新システム、データベース更新装置、およびデータベース更新プログラム
JP2011181032A (ja) * 2010-03-04 2011-09-15 Nec Corp サーバ装置、情報処理方法、及び、プログラム
JP6496456B1 (ja) * 2017-07-31 2019-04-03 三菱電機株式会社 情報処理装置
US10908973B2 (en) 2017-07-31 2021-02-02 Mitsubishi Electric Corporation Information processing device

Similar Documents

Publication Publication Date Title
He et al. Matchmaking: A new mapreduce scheduling technique
US7316017B1 (en) System and method for allocatiing communications to processors and rescheduling processes in a multiprocessor system
US6732139B1 (en) Method to distribute programs using remote java objects
US7386619B1 (en) System and method for allocating communications to processors in a multiprocessor system
CN100527119C (zh) 信息处理设备和信息处理方法
US20090165003A1 (en) System and method for allocating communications to processors and rescheduling processes in a multiprocessor system
JP2005108214A (ja) プラグ可能スケジューラのフレームワーク
CN111782355B (zh) 一种基于混合负载的云计算任务调度方法及系统
US6473780B1 (en) Scheduling of direct memory access
JP2009534719A (ja) マルチプロセッサシステムにおける割り込み分散方法及びシステム
CN103999051A (zh) 用于着色器核心中着色器资源分配的策略
JP2018073414A (ja) プロセッサ、及び複数のメモリ装置を含む分散計算システム内のワークフローを制御する方法
EP3114589B1 (en) System and method for massively parallel processing database
US20040148606A1 (en) Multi-thread computer
CN104598304B (zh) 用于作业执行中的调度的方法和装置
CN111158875B (zh) 基于多模块的多任务处理方法、装置及系统
WO2011078162A1 (ja) スケジューリング装置、スケジューリング方法及びプログラム
JP2002140201A (ja) データベース更新方法及びそれを用いたデータベース管理システム
JP2743865B2 (ja) ジョブスケジューリング方式
CN109189581B (zh) 一种作业调度方法和装置
JP3429582B2 (ja) マルチプロセッサシステム
JP2001229058A (ja) データベースサーバ処理方法
US20040064580A1 (en) Thread efficiency for a multi-threaded network processor
WO2009076001A2 (en) Kernel processor grouping
CN114020408A (zh) 一种任务分片配置方法及装置、设备、存储介质