(57)【要約】【課題】本発明は、順序インデックス生成システム及びその方法を提供することを目的とする。【解決手段】本発明の順序インデックス生成システムは、データベースに挿入しようとするデータインデックス情報を受信し、データベースの中のデータインデックスリストの最後のインデックスの順序番号を検査するデータ受信モジュールと、データベースの格納容量によってｍディジットナンバーを生じ、最後のインデックスの順序番号のｍディジットナンバーを計算してから順序数列値を生成する順序数列値計算モジュールと、順序数列値と挿入しようとするデータインデックス情報を組み合わせて順序を有するデータインデックスを生成するインデックス生成モジュールと、順序を有するデータインデックスをデータインデックスリストの最後の位置に挿入し、且つこの最新のデータインデックスリストをデータベースに格納するインデックス保存モジュールと、を備える。【選択図】図２
2014059867.tif 000002
【特許請求の範囲】
【請求項１】
入力装置、記憶装置及びプロセッサーを備えるコンピューターの中で実施される順序インデックス生成システムであって、
前記入力装置から入力したデータベースに挿入しようとするデータインデックス情報を受信し、且つ前記記憶装置に格納された前記データベースの中のデータインデックスリストの最後のインデックスの順序番号を検査するデータ受信モジュールと、
前記データベースの格納容量によってｍディジットナンバーを生じ、前記データインデックスリストの最後のインデックスの順序番号のｍディジットナンバーを計算してから順序数列値を生成する順序数列値計算モジュールと、
前記順序数列値と挿入しようとするデータインデックス情報を組み合わせて順序を有するデータインデックスを生成するインデックス生成モジュールと、
順序を有する前記データインデックスを前記データインデックスリストの最後の位置に挿入し、且つこの最新のデータインデックスリストを前記記憶装置のデータベースに格納するインデックス保存モジュールと、
を備えることを特徴とする順序インデックス生成システム。
【請求項２】
前記順序数列値計算モジュールによって生成された順序数列値は、前記データベースの中のデータインデックスリストの最後のインデックスの順序番号に基づいて生成した順番に増加するデジタル数字であることを特徴とする請求項１に記載の順序インデックス生成システム。
【請求項３】
前記データベースの中のデータインデックスリストは、順序数列値、インデックス及びデータを備え、前記順序数列値は異なる類別の前記データを識別するために用いられ、各々のインデックスは、前記データインデックスリストのデータにそれぞれに対応することを特徴とする請求項１に記載の順序インデックス生成システム。
【請求項４】
前記ｍディジットナンバーは、２進数、４進数、８進数、１０進数、１６進数及び３２進数を備えることを特徴とする請求項１に記載の順序インデックス生成システム。
【請求項５】
入力装置、記憶装置及びプロセッサーを備えるコンピューターに応用される順序インデックス生成方法であって、
入力装置から入力したデータベースに挿入しようとするデータインデックス情報を受信するステップと、
前記記憶装置に格納されたデータベースの中のデータインデックスリストの最後のインデックスの順序番号を検査するステップと、
前記データベースの格納容量によってｍディジットナンバーを生じるステップと、
順序数列値計算モジュールによって、前記データインデックスリストの最後のインデックスの順序番号のｍディジットナンバーを計算してから順序数列値を生成するステップと、
前記順序数列値と挿入しようとするデータインデックス情報を組み合わせて順序を有するデータインデックスを生成するステップと、
順序を有するデータインデックスを前記データインデックスリストの最後の位置に挿入し、且つこの最新のデータインデックスリストを前記記憶装置のデータベースに格納するステップと、
を備えることを特徴とする順序インデックス生成方法。
【請求項６】
前記順序数列値計算モジュールによって生成された順序数列値は、前記データベースの中のデータインデックスリストの最後のインデックスの順序番号に基づいて生成した順番に増加するデジタル数字であることを特徴とする請求項５に記載の順序インデックス生成方法。
【請求項７】
前記データベースの中のデータインデックスリストは、順序数列値、インデックス及びデータを備え、前記順序数列値は異なる類別の前記データを識別するために用いられ、各々のインデックスは、前記データインデックスリストのデータにそれぞれに対応することを特徴とする請求項５に記載の順序インデックス生成方法。
【請求項８】
前記ｍディジットナンバーは、２進数、４進数、８進数、１０進数、１６進数及び３２進数を備えることを特徴とする請求項５に記載の順序インデックス生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データインデックス生成システム及びその方法に関するものであり、特に順序インデックスを生成するシステム及びその方法に関するものである。
【背景技術】
【０００２】
インデックスを効果的に使用すると、データベースの高性能を確保することができる。インデックスを合理的に作成すると、データベースから高速にデータを検索することができる。ほとんどの場合、インデックスを使用した検索は高速に動作する。しかし、検索対象となる表が小さい場合又は表の大部分が検索対象となる場合、インデックス検索よりも全表走査のほうが高速に動作する場合がある。インデックスの特徴として検索は高速になるが、逆に更新系の処理(ＩＮＳＥＲＴ，ＵＰＤＡＴＥ，ＤＥＬＥＴＥ)はインデックスのメンテナンスによるオーバーヘッドが発生しますので遅くなる。
【０００３】
ＳＱＬ  Ｓｅｒｖｅｒインデックスは、二叉ツリー状の構造によってデータページを組織し、ただリーフノードが実際にデータを格納する。１つのリーフノードは１つのデータページであり、１つのデータページは分割することができない。新しいノードを挿入するか又はノードを更新することにより、リーフノードは更新されたノード又は挿入されたノードを収容することができない場合、ページを分ける。ページを分けているところ、ディスクフラグメントが生じる。一般的に、ページを分けてから元のデータページと連続しないため、システム資源の消耗を上げて、システム性能は下げる。
【０００４】
ディスクフラグメントを除去するために、旧いインデックスを停止し且つインデックスを再作成することを必要とする。一般的に、インデックスを再作成するとディスクフラグメントをよく除去することができるが、このインデックスが所在するデータインデックスリストのデータを操作するので、データベースの稼動を影響する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、前記課題を解決し、データをデータベースに挿入しているところ、データベースはインデックスを再作成してもたらす格納空間を占用することを免れて、データベースの稼動効率を高める順序インデックス生成システム及びその方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明に係る順序インデックス生成システムは、入力装置、記憶装置及びプロセッサーを備えるコンピューターの中で実施され、入力装置から入力したデータベースに挿入しようとするデータインデックス情報を受信し、且つ記憶装置に格納されたデータベースの中のデータインデックスリストの最後のインデックスの順序番号を検査するデータ受信モジュールと、データベースの格納容量によってｍディジットナンバーを生じ、データインデックスリストの最後のインデックスの順序番号のｍディジットナンバーを計算してから順序数列値を生成する順序数列値計算モジュールと、順序数列値と挿入しようとするデータインデックス情報を組み合わせて順序を有するデータインデックスを生成するインデックス生成モジュールと、順序を有するデータインデックスをデータインデックスリストの最後の位置に挿入し、且つこの最新のデータインデックスリストを記憶装置のデータベースに格納するインデックス保存モジュールと、を備える。
【０００７】
本発明に係る順序インデックス生成方法は、入力装置、記憶装置及びプロセッサーを備えるコンピューターに応用され、入力装置から入力したデータベースに挿入しようとするデータインデックス情報を受信するステップと、記憶装置に格納されたデータベースの中のデータインデックスリストの最後のインデックスの順序番号を検査するステップと、データベースの格納容量によってｍディジットナンバーを生じるステップと、データインデックスリストの最後のインデックスの順序番号のｍディジットナンバーを計算してから順序数列値を生成するステップと、順序数列値と挿入しようとするデータインデックス情報を組み合わせて順序を有するデータインデックスを生成するステップと、順序を有するデータインデックスをデータインデックスリストの最後の位置に挿入し、且つこの最新のデータインデックスリストを記憶装置のデータベースに格納するステップと、を備える。
【発明の効果】
【０００８】
従来の技術に比べて、本発明の順序インデックス生成システム及びその方法は、データベースにデータを挿入する場合に生成したデータインデックスがデータインデックスリストの最後位置に位置することにして、データを増加する場合、データベースはインデックスを再作成してもたらす格納空間を占用することを免れて、データベースの稼動効率を高める。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る順序インデックス生成システムのブロックダイアグラムである。
【図２】本発明の実施形態に係る順序インデックス生成方法のフローチャートである。
【図３】データベースの中のデータインデックスリストを示す図である。
【図４】データインデックスリストにデータインデックスを挿入することを示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態について説明する。
【００１１】
図１は、本発明の実施形態に係る順序インデックス生成システムのブロックダイアグラムである。本発明の順序インデックス生成システム１０は、コンピューター１の中で実施される。本実施形態において、コンピューター１は、入力装置１１、記憶装置１２及びプロセッサー１３を備える。
【００１２】
記憶装置１２は、ランダムアクセスメモリー（ＲＡＭ）のような内部記憶装置又は外付けハードディスク、記憶カード、ネットワークストレージ（ＮＡＳ）、データ記憶媒体のような外部記憶装置であることができ、データインデックスリスト及びデータファイルを含むデータベースを格納する。
【００１３】
図３は、データインデックスリストを示す図である。データインデックスリストは、順序数列値、インデックス及びデータを備える。１００００００１、１００００００２、１００００００３などのような順序数列値は異なる類別のデータを識別するために用いられる。各々のインデックスは、データインデックスリストのデータにそれぞれに対応し、例えば、インデックスＩｎｄｅｘ＿１はデータＤａｔａ＿１に対応し、インデックスＩｎｄｅｘ＿２はデータＤａｔａ＿２に対応する。
【００１４】
本実施形態において、順序インデックス生成システム１０は、データ受信モジュール１０１、順序数列値計算モジュール１０２、インデックス生成モジュール１０３及びインデックス保存モジュール１０４を備える。本発明において、モジュール１０１〜１０４は、コンピューター１の記憶装置１２に格納されて、コンピューター１のプロセッサー１３によって実行され且つ固定機能を完成できるプログラム指令を含む。
【００１５】
データ受信モジュール１０１は、入力装置１１から入力したデータベースに挿入しようとするデータインデックス情報を受信し、且つデータベースの中のデータインデックスリストの最後のインデックスの順序番号を検査する。本実施形態において、データインデックス情報は、インデックス及びデータを備え、例えば、図３に示されたように、インデックスＩｎｄｅｘ＿１はデータＤａｔａ＿１に対応し、インデックスＩｎｄｅｘ＿２はデータＤａｔａ＿２に対応する。例えば、図４に示されたように、データ受信モジュール１０１は、データベースの中のデータインデックスリストを走査して、データインデックスリストの最後のインデックスの順序番号が４０であると確定する。
【００１６】
順序数列値計算モジュール１０２は、データベースの格納容量によってｍディジットナンバー（ｍ−ｄｉｇｉｔｓ  ｎｕｍｂｅｒ）を生じ、データインデックスリストの最後のインデックスの順序番号のｍディジットナンバーを計算してから順序数列値を生成する。本実施形態において、ｍディジットナンバーは、２進数、４進数、８進数、１０進数、１６進数及び３２進数などを備える。例えば、データベースの格納容量バイトが１６３２９６０である場合、順序数列値計算モジュール１０２は８進数を生じ、データベースの格納容量バイトが５８７８６５６０である場合、順序数列値計算モジュール１０２は１６進数を生じる。図４に示されたように、順序数列値計算モジュール１０２によって生成した順序数列値は、１０進数「１０」、１０進数「２０」、１０進数「３０」、１０進数「４０」及び１０進数「５０」のように、最後のインデックスの順序番号（４０である）に基づいて生成した順番に増加するデジタル数字である。
【００１７】
インデックス生成モジュール１０３は、順序数列値計算モジュール１０２によって生成した順序数列値と挿入しようとするデータインデックス情報を組み合わせて順序を有するデータインデックスを生成する。本実施形態において、インデックス生成モジュール１０３は、順序数列値とデータインデックスを組み合わせるか又はｈａｓｈ関数を利用して順序を有する唯一データインデックスを生成する。唯一のデータインデックスは、グローバル一意識別子（Ｇｌｏｂａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ，ＧＵＩＤ）であることができる。
【００１８】
インデックス保存モジュール１０４は、順序を有するデータインデックスをデータインデックスリストの最後の位置に挿入し、且つこの最新のデータインデックスリストを記憶装置１２のデータベースに格納する。図４は、データインデックスリストにデータインデックスを挿入することを示す図である。データベースに挿入しようとするインデックスの元の順序番号が３５である場合、インデックス生成モジュール１０３は、順序数列値計算モジュール１０２によって生成した順序数列値に基づいて生成した挿入しようとするインデックスの順序番号は５０であり、従って順序を有するデータインデックスをデータインデックスリストの最後のインデックス（その順序番号は４０である）の後に挿入する。だから、データベースにデータを挿入する場合、ディスクフラグメントが生じることを免れて、記憶装置の格納空間が不連続になる問題を解決する。
【００１９】
図２は、本発明の実施形態に係る順序インデックス生成方法のフローチャートである。本実施形態において、本発明の順序インデックス生成方法は、データベースにデータを挿入する場合に生成したデータインデックスがデータインデックスリストの最後位置に位置することにして、データを増加する場合、データベースはインデックスを再作成してもたらす格納空間を占用することを免れて、データベースの稼動効率を高める。本発明の順序インデックス生成方法は、以下のステップを備える。
【００２０】
ステップＳ２１：データ受信モジュール１０１は、入力装置１１から入力したデータベースに挿入しようとするデータインデックス情報を受信する。本実施形態において、データインデックス情報は、インデックス及びデータを備える。例えば、図３に示されたように、インデックスＩｎｄｅｘ＿１はデータＤａｔａ＿１に対応し、インデックスＩｎｄｅｘ＿２はデータＤａｔａ＿２に対応する。
【００２１】
ステップＳ２２：データ受信モジュール１０１は、データベースの中のデータインデックスリストの最後のインデックスの順序番号を検査する。例えば、図４に示されたように、データ受信モジュール１０１は、データベースの中のデータインデックスリストを走査して、データインデックスリストの最後のインデックスの順序番号が４０であると確定する。
【００２２】
ステップＳ２３：順序数列値計算モジュール１０２は、データベースの格納容量によってｍディジットナンバーを生じる。例えば、データベースの格納容量バイトが１６３２９６０である場合、順序数列値計算モジュール１０２は８進数を生じ、データベースの格納容量バイトが５８７８６５６０である場合、順序数列値計算モジュール１０２は１６進数を生じる。
【００２３】
ステップＳ２４：順序数列値計算モジュール１０２は、データインデックスリストの最後のインデックスの順序番号のｍディジットナンバーを計算してから順序数列値を生成する。本実施形態において、順序数列値計算モジュール１０２がｍディジットナンバーを生じてから、このｍディジットナンバーを利用して最後のインデックスの順序番号に基づいて順序数列値を生成し、この順序数列値は、例えば、図４に示されたように、１０進数「１０」、１０進数「２０」、１０進数「３０」、１０進数「４０」及び１０進数「５０」のように、順番に増加するデジタル数字である。
【００２４】
ステップＳ２５：インデックス生成モジュール１０３は、順序数列値計算モジュール１０２によって生成した順序数列値と挿入しようとするデータインデックス情報を組み合わせて順序を有するデータインデックスを生成する。本実施形態において、インデックス生成モジュール１０３は、順序数列値とデータインデックス情報を組み合わせるか又はｈａｓｈ関数を利用して順序を有する唯一データインデックスを生成する。
【００２５】
ステップＳ２６：インデックス保存モジュール１０４は、順序を有するデータインデックスをデータインデックスリストの最後の位置に挿入し、且つこの最新のデータインデックスリストを記憶装置１２のデータベースに格納する。図４に示されたように、データベースに挿入しようとするインデックスの元の順序番号が３５である場合、インデックス生成モジュール１０３は、順序数列値計算モジュール１０２によって生成した順序数列値に基づいて生成した挿入しようとするインデックスの順序番号は５０であり、従って順序を有するデータインデックスをデータインデックスリストの最後のインデックス（その順序番号は４０である）の後に挿入する。
【００２６】
以上、本発明を実施例に基づいて具体的に説明したが、本発明は、上述の実施例に限定されるものではなく、その要旨を逸脱しない範囲において、種々の変更が可能であることは勿論であって、本発明の技術的範囲は、以下の特許請求の範囲から決まる。
【符号の説明】
【００２７】
１  コンピューター
１０  順序インデックス生成システム
１１  入力装置
１２  記憶装置
１３  プロセッサー
１０１  データ受信モジュール
１０２  順序数列値計算モジュール
１０３  インデックス生成モジュール
１０４  インデックス保存モジュール
【図１】
2014059867.tif 000003
【図２】
2014059867.tif 000004
【図３】
2014059867.tif 000005
【図４】
2014059867.tif 000006