(57)【特許請求の範囲】
【請求項１】
コンピュータと該コンピュータを作動させるプログラムによって実行され、多数のレコードが特定項目をソートキーとしてソートされた状態で並べられ、前記コンピュータの主記憶装置に記憶されたソースデータの各レコードを、物理的に異なる複数の記憶媒体のうちの対応する特定項目の記憶媒体にそれぞれ格納するデータ格納方法であって、
前記ソースデータを読み込むソースデータ読込工程と、
該読込工程で読み込んだソースデータの各レコードに、特定項目ごとに、各項目同一範囲内で、かつ前記ソースデータにおける特定項目内での順番を維持しつつ分散させた値をランダマイズキーとして付与するランダマイズキー付与工程と、
該付与工程で付与したランダマイズキーの値に従って全レコードを並べ替えるレコード並替工程と、
該並替工程で並べ替えた順番で各レコードを前記複数の記憶媒体のうちの対応する特定項目の記憶媒体に振り分けて格納するレコード格納工程とを実行することを特徴とするデータ格納方法。
【請求項２】
前記ランダマイズキー付与工程では、特定項目別のレコード数の最大数をＮｍａｘ、各レコードの当該特定項目グループ内での順番をｎ、そのグループのレコード数をＮとして、Ｎｍａｘ×ｎ／Ｎで求められる値を各レコードについてのランダマイズキーの値とすることを特徴とする請求項１に記載のデータ格納方法。
【請求項３】
コンピュータと該コンピュータを作動させるプログラムによって構成され、多数のレコードが特定項目をソートキーとしてソートされた状態で並べられ、前記コンピュータの主記憶装置に記憶されたソースデータの各レコードを、物理的に異なる複数の記憶媒体のうちの対応する特定項目の記憶媒体にそれぞれ格納するデータ格納システムであって、
前記ソースデータを読み込むソースデータ読込手段と、
該読込手段で読み込んだソースデータの各レコードに、特定項目ごとに、各項目同一範囲内で、かつ前記ソースデータにおける特定項目内での順番を維持しつつ分散させた値をランダマイズキーとして付与するランダマイズキー付与手段と、
該付与手段で付与したランダマイズキーの値に従って全レコードを並べ替えるレコード並替手段と、
該並替手段で並べ替えた順番で各レコードを前記複数の記憶媒体のうちの対応する特定項目の記憶媒体に振り分けて格納するレコード格納手段とを有することを特徴とするデータ格納システム。
【請求項４】
前記ランダマイズキー付与手段は、特定項目別のレコード数の最大数をＮｍａｘ、各レコードの当該特定項目グループ内での順番をｎ、そのグループのレコード数をＮとして、Ｎｍａｘ×ｎ／Ｎで求められる値を各レコードについてのランダマイズキーの値とすることを特徴とする請求項３に記載のデータ格納システム。
【請求項５】
多数のレコードが特定項目をソートキーとしてソートされた状態で並べられ、コンピュータの主記憶装置に記憶されたソースデータの各レコードを、物理的に異なる複数の記憶媒体のうちの対応する特定項目の記憶媒体にそれぞれ格納するデータ格納プログラムであって、
前記コンピュータを、
前記ソースデータを読み込むソースデータ読込手段、
該読込手段で読み込んだソースデータの各レコードに、特定項目ごとに、各項目同一範囲内で、かつ前記ソースデータにおける特定項目内での順番を維持しつつ分散させた値をランダマイズキーとして付与するランダマイズキー付与手段、
該付与手段で付与したランダマイズキーの値に従って全レコードを並べ替えるレコード並替手段、
該並替手段で並べ替えた順番で各レコードを前記複数の記憶媒体のうちの対応する特定項目の記憶媒体に振り分けて格納するレコード格納手段として機能させることを特徴とするデータ格納プログラム。
【請求項６】
コンピュータを前記ランダマイズキー付与手段として機能させるときは、
特定項目別のレコード数の最大数をＮｍａｘ、各レコードの当該特定項目グループ内での順番をｎ、そのグループのレコード数をＮとして、Ｎｍａｘ×ｎ／Ｎで求められる値を各レコードについてのランダマイズキーの値とするように機能させることを特徴とする請求項５に記載のデータ格納プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベースへのデータ格納方法及びデータ格納プログラムに関し、コンピュータを用いたデータ管理技術の分野に属する。
【０００２】
【従来の技術】
コンピュータを用いた各種のデータ管理システムにおいては、ソースデータを特定項目別に分類して物理的に異なる記憶媒体にそれぞれ記憶させることがあり、例えば、銀行のオンラインシステムにおいては、データ管理センターでバッチ処理によって作成された自動振替等の取引明細データをオンライン元帳に編成する際に、取り扱い店舗別に仕分けして、物理的に異なる記憶媒体に記憶させることが行われる。
【０００３】
その場合、取引明細データは、各店舗から提供されるデータに基づいて作成される関係で、例えば図２に示すように、取り扱い店舗の店番号順に作成され、これを物理的に異なる記憶媒体でなる店舗別オンライン元帳に編成することになる。
【０００４】
【発明が解決しようとする課題】
ところで、上記取引明細データのように、店番号等の特定項目をソートキーとして並べられたソースデータを、その特定項目ごとに異なる記憶媒体でなるデータベースに格納する場合、次のような問題の発生が考えられる。
【０００５】
つまり、図７に示すように、取引明細データの各レコードを順番に店舗別データベースＤＢ１〜ＤＢ４に格納する場合、まず、第１番目の店舗についての複数のレコード（０１−０１〜０１−１２）がその第１番目の店舗用のデータベースＤＢ１に連続的に書き込まれ、その店舗についての全てのレコードが書き込まれた後、第２番目の店舗についての複数のレコード（０２−０１〜０２−０４）の第２番目の店舗用データベースＤＢ２への書き込みが始まることになる。
【０００６】
その場合、コンピュータの中央処理装置によるソースデータからのデータ出力動作に比べて、データ書込装置による各記憶媒体へのデータ書き込み動作が遅れるため、各書込装置のＩ／Ｏインターフェースにデータが滞留して中央処理装置に待ち時間が発生することになり、その分だけ処理時間が長引くことになるのである。
【０００７】
そこで、本発明は、上記のように、多数のレコードが特定項目順に並べられたソースデータを、その項目別に物理的に異なる記憶媒体でなるデータベースに格納する場合に、その処理時間を短縮することを課題とする。
【０００８】
【課題を解決するための手段】
即ち、本願の請求項１に記載の発明は、コンピュータと該コンピュータを作動させるプログラムによって実行され、多数のレコードが特定項目をソートキーとしてソートされた状態で並べられ、前記コンピュータの主記憶装置に記憶されたソースデータの各レコードを、物理的に異なる複数の記憶媒体のうちの対応する特定項目の記憶媒体にそれぞれ格納するデータ格納方法であって、
前記ソースデータを読み込むソースデータ読込工程と、
該読込工程で読み込んだソースデータの各レコードに、特定項目ごとに、各項目同一範囲内で、かつ前記ソースデータにおける特定項目内での順番を維持しつつ分散させた値をランダマイズキーとして付与するランダマイズキー付与工程と、
該付与工程で付与したランダマイズキーの値に従って全レコードを並べ替えるレコード並替工程と、
該並替工程で並べ替えた順番で各レコードを前記複数の記憶媒体のうちの対応する特定項目の記憶媒体に振り分けて格納するレコード格納工程とを実行することを特徴とする。
【０００９】
また、請求項２に記載の発明は、上記請求項１に記載の方法において、
前記ランダマイズキー付与工程では、特定項目別のレコード数の最大数をＮｍａｘ、各レコードの当該特定項目グループ内での順番をｎ、そのグループのレコード数をＮとして、Ｎｍａｘ×ｎ／Ｎで求められる値を各レコードについてのランダマイズキーの値とすることを特徴とする。
【００１１】
これらの発明によれば、銀行の取引明細データのように、取り扱い店舗の店番号等の特定項目をソートキーとして並べられたソースデータの各レコードを、その店舗別等に物理的に異なる複数の記憶媒体にそれぞれ振り分けて格納する場合に、上記ソースデータにおける各レコードの順番がランダマイズされた上で各記憶媒体に格納されることになるので、特定の記憶媒体へのレコードの書き込みの集中が回避ないし緩和されることになる。したがって、その分だけ中央処理装置の待ち時間が減少し、処理時間が短縮されることになる。
【００１２】
そして、特に請求項２の発明によれば、各レコードの順番のランダマイズが効率よく行われることになる。
【００１３】
一方、本願の請求項３に記載の発明は、コンピュータと該コンピュータを作動させるプログラムによって構成され、多数のレコードが特定項目をソートキーとしてソートされた状態で並べられ、前記コンピュータの主記憶装置に記憶されたソースデータの各レコードを、物理的に異なる複数の記憶媒体のうちの対応する特定項目の記憶媒体にそれぞれ格納するデータ格納システムであって、
前記ソースデータを読み込むソースデータ読込手段と、
該読込手段で読み込んだソースデータの各レコードに、特定項目ごとに、各項目同一範囲内で、かつ前記ソースデータにおける特定項目内での順番を維持しつつ分散させた値をランダマイズキーとして付与するランダマイズキー付与手段と、
該付与手段で付与したランダマイズキーの値に従って全レコードを並べ替えるレコード並替手段と、
該並替手段で並べ替えた順番で各レコードを前記複数の記憶媒体のうちの対応する特定項目の記憶媒体に振り分けて格納するレコード格納手段とを有することを特徴とする。
また、請求項４に記載の発明は、上記請求項３に記載のシステムにおいて、
前記ランダマイズキー付与手段は、特定項目別のレコード数の最大数をＮｍａｘ、各レコードの当該特定項目グループ内での順番をｎ、そのグループのレコード数をＮとして、Ｎｍａｘ×ｎ／Ｎで求められる値を各レコードについてのランダマイズキーの値とすることを特徴とする。
【００１４】
そして、請求項５に記載の発明は、多数のレコードが特定項目をソートキーとしてソートされた状態で並べられ、コンピュータの主記憶装置に記憶されたソースデータの各レコードを、物理的に異なる複数の記憶媒体のうちの対応する特定項目の記憶媒体にそれぞれ格納するデータ格納プログラムであって、
前記コンピュータを、
前記ソースデータを読み込むソースデータ読込手段、
該読込手段で読み込んだソースデータの各レコードに、特定項目ごとに、各項目同一範囲内で、かつ前記ソースデータにおける特定項目内での順番を維持しつつ分散させた値をランダマイズキーとして付与するランダマイズキー付与手段、
該付与手段で付与したランダマイズキーの値に従って全レコードを並べ替えるレコード並替手段、
該並替手段で並べ替えた順番で各レコードを前記複数の記憶媒体のうちの対応する特定項目の記憶媒体に振り分けて格納するレコード格納手段として機能させることを特徴とする。
また、請求項６に記載の発明は、上記請求項５に記載のプログラムにおいて、
コンピュータを前記ランダマイズキー付与手段として機能させるときは、
特定項目別のレコード数の最大数をＮｍａｘ、各レコードの当該特定項目グループ内での順番をｎ、そのグループのレコード数をＮとして、Ｎｍａｘ×ｎ／Ｎで求められる値を各レコードについてのランダマイズキーの値とするように機能させることを特徴とする。
【００１５】
上記の請求項３及び４に記載のシステムに関する発明、並びに、請求項５及び６に記載のプログラムに関する発明は、上記請求項１及び２に記載の方法にそれぞれ対応するものであり、したがって、これらの発明によっても、特定項目をソートキーとして並べられたソースデータの各レコードを、その特定項目ごとに物理的に異なる複数の記憶媒体にそれぞれ振り分けて格納する場合に、特定の記憶媒体へのレコードの書き込みの集中が回避ないし緩和されることにより、中央処理装置等の待ち時間が減少し、処理時間が短縮されることになる。また、請求項４及び６に記載の発明によれば、ソースデータの各レコードの順番のランダマイズが効率よく行われることになる。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。なお、以下の実施の形態は、本発明に係る方法及びプログラムを、銀行のデーター管理センター等においてバッチ処理によって作成された自動振替の取引明細データを各店舗別のオンライン元帳に編成する場合のものである。
【００１７】
まず、本発明に係る方法及びプログラムが実施もしくは実行されるコンピュータシステムについて説明すると、図１に示すように、このコンピュータシステム１０は、上記取引明細データを読み込むデータ読込装置１１と、該装置１１によって読み込んだデータやプログラム等を記憶する主記憶装置１２と、店舗別オンライン元帳となるデータベースを物理的に異なる複数（この例では４つ）の記憶媒体ＤＢ１〜ＤＢ４上にそれぞれ作成する補助記憶装置１３〜１６と、これらの装置に対する制御と所要の演算とを行う中央処理装置１７と、このシステム全体の作動の指示やデータ入力等に用いられる入力装置１８と、作動状況や処理結果を表示及び印刷する表示装置１９及び印刷装置２０とを有する。
【００１８】
また、図２に示すように、この実施の形態で取り扱われる自動振替の取引明細データＤ１は、フィールドとして、取り扱い店舗を示す店番号、取引対象が当座預金か普通預金かを示す取引科目、各取引相手の口座番号、並びに振替日、振替対象項目、及び振替金額を有する。
【００１９】
この取引明細データＤ１は、各店舗から提供されるデータに基づいて作成される関係で、同一店番号のレコードが連続するように作成されている。そして、同一店番号のレコードについては、同一科目ごとに並べられ、さらに同一科目については、口座番号の若い順に並べられている。
【００２０】
次に、上記コンピュータシステム１０を用い、上記取引明細データＤ１に基づいてオンライン元帳データベースを作成する方法、及びその方法を実行するプログラムの動作を、図３に示すフローチャートに従って説明する。
【００２１】
まず、ステップＳ１で、図１のデータ読込装置１１を動作させて、図２に示す取引明細データＤ１を読み込み、これを主記憶装置１２に記憶させる。
【００２２】
次に、ステップＳ２で、読み込んだデータＤ１の各レコードにレコード番号を付与する。この場合、このレコード番号は、図２に符号Ａで示すように、同一店番号ごとに枝番号を付与することにより行われる。
【００２３】
また、ステップＳ３で、店番号別のレコード数Ｎ１〜Ｎ４を算出し、さらに、ステップＳ４で、これらの数Ｎ１〜Ｎ４のうちの最大数Ｎｍａｘを決定する。
【００２４】
次に、ステップＳ５で、上記の各店番号ごとのレコード数Ｎ１〜Ｎ４と、最大件数Ｎｍａｘと、各レコードの当該店番号のグループ内での順番ｎとを用い、各レコードについてのランダマイズキーの値Ｋを、次式
Ｋ＝Ｎｍａｘ×ｎ／Ｎｉ  （ｉ＝１〜４）
に従って算出する。そして、ステップＳ６で、このランダマイズキーの値Ｋに従って各レコードをソートする。
【００２５】
これにより、図４に示すように、当初レコード番号順に並んでいたデータがランダマイズキーの値Ｋの順番に並び替えられることになり、主記憶装置１２に図２に示す状態で記憶された取引明細データＤ１は、図５に示すように順番が並べ替えられたデータＤ２に変更されることになる。
【００２６】
そして、次にステップＳ７で、図５に示すデータＤ２の各レコードを、並べ替えられた順番で対応する店舗別オンライン元帳データベースＤＢ１〜ＤＢ４に振り分けて格納する。これにより、図２に示す取引明細データＤ１が、物理的に異なる記憶媒体でなる店舗別のオンライン元帳データベースＤＢ１〜ＤＢ４に編成されることになる。
【００２７】
この場合、各レコードがデータベースＤＢ１〜ＤＢ４に具体的にどのように格納されるかを図６を用いて説明すると、まず、図４に示すように、ランダマイズキーの値Ｋが最も小さく、入力順が１番のレコード０１−０１が対応するデータベースＤＢ１に格納されることになり、次に、入力順２番のレコード０３−０１が対応するデータベースＤＢ３に格納されることになる。
【００２８】
このとき、中央処理装置１７が主記憶装置１２から対応する補助記憶装置のＩ／Ｏインターフェースへデータを出力する速度より、補助記憶装置が記憶媒体にデータを書き込む速度が遅いため、同一の補助記憶装置へのデータの出力が連続すると、記憶媒体へのデータの書き込みが終了するまで、次のデータがＩ／Ｏインターフェースで待機しなければならないことになり、その間、中央処理装置１７からのデータの出力動作が中断することになる。
【００２９】
しかし、上記のように、この実施の形態では、入力順１番のレコード０１−０１と入力順２番のレコード０３−０１とが異なるデータベースＤＢ１、ＤＢ３にそれぞれ格納されるので、中央処理装置１７は、１番目のレコード０１−０１を出力すれば、そのレコード０１−０１をデータベースＤＢ１に書き込む動作が完了する前であっても、次のレコード０３−０１をデータベースＤＢ３に直ちに出力することが可能となる。
【００３０】
つまり、連続して出力されるレコードが物理的に異なる記憶媒体でなるデータベースに格納されるので、図６に示すように、各レコードの格納動作を時間ｔだけオーバーラップさせて行わせることが可能となり、その分だけ中央演算装置１２における待ち時間が減少され、或いは待ち時間が解消されることになるのである。
【００３１】
そして、以下、同様にして各レコードが対応するデータベースＤＢ１〜ＤＢ４に振り分けられながら順次格納されることになるので、全データの格納時間Ｔは、図７に示す場合に比べて大幅に短縮されることになるのである。
【００３２】
なお、以上の実施の形態は、店番号別に並べられた銀行の取引明細データを、その店番号別データベースに振り分けて格納する場合のものであるが、本発明にかかる方法及びプログラムは、この実施の形態に限らず、多数のレコードが特定項目をソートキーとして並べられたソースデータを、その特定項目別に異なる記憶媒体で構成されたデータベースにそれぞれ格納する場合に一般的に適用されるものである。
【００３３】
【発明の効果】
以上のように、本発明に係るデータ格納方法及びデータ格納プログラムは、多数のレコードが特定項目をソートキーとして並べられたソースデータを、その特定項目ごとに物理的に異なる記憶媒体で構成されたデータベースにそれぞれ格納する場合に、上記ソースデータにおける各レコードの順番を所定の方法でランダマイズし、そのランダマイズされた順番で各レコードを対応するデータベースに振り分けて格納するものであるから、特定のデータベースへのデータの書き込みの集中が回避ないし緩和されて、中央処理装置の待ち時間が減少することになる。したがって、この種のデータ格納作業の処理時間が短縮されることになる。
【図面の簡単な説明】
【図１】  本発明が適用されるコンピュータシステムのシステム構成図である。
【図２】  本発明で取り扱われるソースデータの一例を示すデータ構成図である。
【図３】  本発明の実施の形態に係る方法及びプログラムの動作を示すフローチャートである。
【図４】  レコードの並べ替えの説明図である。
【図５】  並べ替えられたデータの構成を示すデータ構成図である。
【図６】  データ格納順序の説明図である。
【図７】  従来方法によるデータ格納順序の説明図である。
【符号の説明】
１１              データ読込装置
１２              主記憶装置
１３〜１６        補助記憶装置
１７              中央処理装置
ＤＢ１〜ＤＢ４    データベース
【図１】
0004809989.tif 000002
【図２】
0004809989.tif 000003
【図３】
0004809989.tif 000004
【図４】
0004809989.tif 000005
【図５】
0004809989.tif 000006
【図６】
0004809989.tif 000007
【図７】
0004809989.tif 000008