(57)【要約】【課題】  宝くじの抽選(当選)番号確定のような、データ特定(検索)における確定後の一括集中処理時間の長時間化を抑止することを課題とする。【解決手段】  申込数字から派生したすべての組合せ数字を抽選番号が確定される前までに生成、及び集計する処理や各等数の当選数字の候補となる組合せ数字を等数毎に異なるテーブルに格納する処理により、上記課題を解決する。また、本発明では、各部分該当データの候補となる単位データの組合せを、各部分該当データの階層毎に異なるテーブルに格納して、処理を高速化することもその一態様である。さらに、これらの処理を宝くじの抽選番号特定に用いてもよい。【選択図】  図４
2014013519.tif 000002
【特許請求の範囲】
【請求項１】
予め、単位データの組合せからなる複数の対象データを格納しておき、
単位データの組合せであって、対象データを構成する単位データ数より多い単位データ数を選択して該当データを生成し、
生成された該当データを構成する単位データの組合せで構成され、対象データを構成する単位データ数より少ない単位データ数で構成される複数の部分該当データを生成し、
複数の部分該当データを満たす対象データを特定し、特定された対象データ数の総数を算出し、
特定された対象データのうち、各部分該当データでの重複数を算出して、対象データ数の総数から減算することで、部分該当データに合致する対象データ数を特定するものであることを特徴とするデータ特定方法。
【請求項２】
請求項１に記載のデータ特定方法において、
前記複数の部分該当データは、階層構造を有し、それぞれ異なる数の単位データで構成され、下位の部分該当データを構成する単位データは上位の部分該当データを構成する単位データに含まれることを特徴とするデータ特定方法。
【請求項３】
請求項２に記載のデータ特定方法において、
前記部分該当データの候補となる単位データの組合せを、前記部分該当データの階層毎に異なるテーブルに格納して、前記重複数の算出を行うことを特徴とするデータ特定方法。
【請求項４】
請求項１乃至３のいずれかに記載のデータ特定方法において、
前記対象データは利用者が選択した複数桁の応募数字であって、
前記応募数字から、前記部分該当データとして生成される当選番号を特定することを特徴とするデータ特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大量のデータから、所定の条件に合致するデータを抽出する技術に関する。その中でも特に、当選口数算出システムにおける当選口数の算出を高速化する技術に関する。
【背景技術】
【０００２】
現在、クラウドコンピューティングの普及などで大量のデータを扱うことが一般になされている。しかし、データが大量になれば、その中から所望のデータ抽出（所定条件を満たすデータの数の算出）することが困難になってくる。例えば、宝くじのようなサービスでは、参加者が多数であり、それぞれが複数の番号を指定してる場合、扱うデータ量が大量となる。そして、当選番号が決まった場合、その口数に応じて賞金総額を把握する必要があるが、扱うデータが大量な場合、その口数算出に時間が掛かってしまう。
【０００３】
このような大量データを対象とするデータ抽における問題を解決するために、例えば、特許文献１が提案されている。特許文献１では、大量のファイルを分類して管理することで、検索の効率化を図ることが開示されている。
【０００４】
また、本発明の一適用例である宝くじでの情報処理については、支払い処理の効率化を図るための技術が特許文献２に記載されている。
【０００５】
購入者は予め用意された１〜６０の６０個の数字から、任意の９個の数字を選択する。このとき、主催者から発表される抽選番号が１６個の数字の組合せ｛１，２，３，４，５，６，７，８，９，１０，１１，１２，１３，１４，１５，１６｝であれば、１等となる数字の組は、｛１，２，３，４，５，６，７，８，９｝や｛２，３，４，５，６，７，８，９，１０｝、などとなり、１等だけでも複数通りの組合せがある。以下、｛１，２，３，４，５，６，７，８，１７｝や｛２，３，４，５，６，７，８，９，１７｝など、９個の選んだ数字の組合せのうち、８個の数字が抽選番号と一致するときに２等となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１６７７６７号公報
【特許文献２】特開２００６−１０７３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１では、検索に用いる属性情報とファイルを予め対応付けておくの事前処理が必要になってくる。ここで、宝くじにおいては、抽選番号確定後に全申込データの中から当選結果口数を算出することが要望されている。これに伴い、購入等から当選口数を特定するためのデータ抽出については、事前処理をしている特許文献１では現実的でないとの問題がある。つまり、特許文献１では、データ収集からデータの抽出まで時間が短い場合対応が困難との課題がある。また、扱うデータ（申込データ）の数が増大した場合、一括集中処理の長時間化が懸念されている。
【０００８】
また、特許文献２では、提示された宝くじの券の当選の有無を判断するものであり、大量のデータから特定のものを抽出（当選結果口数の算出）については考慮されてない。
【０００９】
本発明では、大量のデータから特定のデータを抽出する技術(例えば、抽選結果発表後の短時間で算出)することを目的とする。
【課題を解決するための手段】
【００１０】
この目的を達成するために、本発明では、以下の構成を設けた。
予め、単位データの組合せからなる複数の対象データを格納しておき、
単位データの組合せであって、対象データを構成する単位データ数より多い単位データ数を選択して該当データを生成し、
生成された該当データを構成する単位データの組合せで構成され、対象データを構成する単位データ数より少ない単位データ数で構成される複数の部分該当データを生成し、
複数の部分該当データを満たす対象データを特定し、特定された対象データ数の総数を算出し、
特定された対象データのうち、各部分該当データでの重複数を算出して、対象データ数の総数から減算することで、部分該当データに合致する対象データ数を特定するものである。
【００１１】
ここで、複数の部分該当データとは、階層構造を有し、それぞれ異なる数の単位データで構成され、下位の部分該当データを構成する単位データは上位の部分該当データを構成する単位データに含まれるものである。また、単位データとは、一桁の数字が含まれる。
【００１２】
さらに、本発明では、宝くじのような当選番号の特定に適用可能なものである。つまり、数字選択式の宝くじにおいて、該当データとして10桁の数字を特定し、そのうち数桁（上位の等ほど桁数が多い）が一致した場合当選とするものである。この場合、対象データは購入者の選択した数字（特定の桁の）であり、複数の部分該当データが各等の当選番号を示すものである。
【００１３】
この場合、まず、組合せ数字が存在するか確認し、同一の組合せデータが存在するか確認し、申込数字から派生したそれぞれの組合せ数字を抽選番号が確定される前までに生成し、集計する。
【００１４】
また、本発明では、(宝くじ以外に適用する場合も含め)、各部分該当データの候補となる単位データの組合せを、各部分該当データの階層毎に異なるテーブルに格納して、処理を高速化することもその一態様である。
【発明の効果】
【００１５】
本発明によれば、より効率的に、所定の条件に合致する情報の特定が可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態のシステム構成概要図である。
【図２】申込数字から派生した組合せ数字を生成するフローチャートである。
【図３】当選結果を算出するフローチャートである。
【図４】組合せデータを組合せテーブルに格納するための詳細フローチャートである。
【図５】申込データを格納する申込テーブルの例である。
【図６】申込データから派生した１等候補の組合せデータを格納する組合せ（１等）テーブルの例である。
【図７】申込データから派生した２等候補の組合せデータを格納する組合せ（２等）テーブルの例である。
【図８】申込データから派生した３等候補の組合せデータを格納する組合せ（３等）テーブルの例である。
【図９】申込テーブルと各等数の組合せ（ｎ等）テーブルのデータ関連図の例である。
【図１０】当選結果データを格納する当選結果テーブルの例である。
【発明を実施するための形態】
【００１７】
以下に、本発明を実施するための形態を図面を用いて説明する。
図１は、本発明における実施の形態を示す全体システム構成概要図である。１００は申込受付装置、２００はAPサーバ、３００はデータ格納サーバであり、各装置はネットワークを介して接続されている。また、データ格納サーバ３００にはデータを格納するためのテーブルがあり、３１０は申込テーブル、３２０は組合せ（ｎ等）テーブル、３３０は当選結果テーブルである。申込受付装置１００は、各抽選に参加するために購入された申込数字を窓口担当者が利用する装置であり、この装置から申込数字と申込口数（申込データ）をAPサーバ２００に送信する。APサーバ２００は、各抽選の申込数字を分散配置されたデータ格納サーバ３００へ申込データを割り振り、抽選結果を申込受付装置１００へ送信する。データ格納サーバ３００は、APサーバ２００より受信した申込データを申込テーブル３１０、申込データより生成した組合せ数字と組合せ口数（組合せデータ）を組合せ（ｎ等）テーブル３２０、等数と組合せ（ｎ等）テーブル３２０より生成した当選口数（当選結果データ）を当選結果テーブル３３０にそれぞれ格納し、抽選結果をAPサーバ２００へ送信する。
【００１８】
図２は、申込数字の組合せ数字を生成するフローチャートである。以下、ステップ毎にその処理内容を説明する。
４１０：申込受付装置１００から入力された申込データを契機に、各申込データを申込テーブル３１０へ格納する。
【００１９】
４２０：申込テーブル３１０に申込データが格納されたことを契機に、申込数字の組合せ数字を生成する。その際、上位等数から順（１等→２等→３等→…の順）に組合せ数字を生成するが、下位等数から順に生成することも可能である。処理は、最下位等数の組合せ数字を生成するまで繰り返す。
【００２０】
４３０：生成した組合せデータを等数毎の組合せ（ｎ等）テーブル３２０へ格納する。このとき、等数毎の組合せ（ｎ等）テーブル３２０へ組合せデータを格納するため、等数毎に並行して処理することが可能である。処理は、申込データに派生するすべての組合せデータを格納するまで繰り返し、申込データの投入が終わるまで、４１０→４２０→４３０の順に処理を繰り返す。
【００２１】
図３は、当選結果を算出するフローチャートである。以下、その内容をステップ毎に説明する。
４４０：抽選数字の確定を契機に、抽選数字から派生する当選数字を生成する。このとき、上位等数から順に当選数字を生成するが、下位等数から順に生成することも可能である。処理は、すべての当選数字を生成するまで繰り返す。
【００２２】
４５０：各当選数字の生成が完了したことを契機に、当選数字から各等の組合せ（ｎ等）テーブルへ該当の当選数字を検索し、該当の当選数字が存在した場合にはその数字の口数を加算する。組合せ（ｎ等）テーブル３２０に該当の組合せ数字が存在しない場合、何もせずに次の当選数字の処理をする。このとき、等数毎の当選数字から組合せ（ｎ等）テーブル３２０を検索するため、等数毎に並行して処理することが可能である。すべての当選数字の検索が完了次第、各等数の当選口数の総和を算出する。各等数の当選口数の総和は、等数毎に並行して処理することが可能である。処理は、すべての等数の総和を算出するまで繰り返す。
【００２３】
４６０：各等数の当選口数の総和の算出が完了したことを契機に、各等の当選結果口数を算出する。このとき、各等数の当選結果口数は、上位等数の当選結果口数を減算をするため、上位等数から順に当選口数の総和から重複分の口数を減算する。例えば１等は、上位等数と重複する当選口数が存在しないため、１等の当選口数の総和が当選結果口数となる。２等は、２等の当選口数の総和−ｎC(n-1)×１等の当選結果口数が当選口数となり、以下、３等は、３等の当選口数の総和−（ｎC(n-2)×１等の当選結果口数＋(n-1)C(n-2)×２等の当選結果口数）が当選口数となり、４等は、４等の当選口数の総和−（nC(n-3)×１等の当選結果口数＋(n-1)C(n-3)×２等の当選結果口数＋(n-2)C(n-3)×３等の当選結果口数の総和）が当選口数となり、５等は、５等の当選口数の総和−（nC(n-4)×１等の当選結果口数＋(n-1)C(n-4)×２等の当選結果口数＋(n-2)C(n-4)×３等の当選結果口数＋(n-3)C(n-4)×４等の当選結果口数）が当選口数となる。処理は、最下位等数の当選結果口数を算出するまで繰り返す。
【００２４】
４７０：当選結果口数の算出が完了したことを契機に、当選結果口数を当選結果テーブル３３０へ格納する。このとき、上位等数の当選結果口数から順に該当等数のレコードへ当選結果口数を格納するが、下位等数から順に格納することも可能である。処理は、すべての当選結果口数を当選結果テーブル３３０へ格納するまで繰り返す。
【００２５】
図４は、組合せデータを組合せ（ｎ等）テーブル３２０に格納するための詳細フローチャートである。以下、その内容をステップ毎に説明する。
４３１：等数ｎ（：自然数）に１を代入する
４３２：等数ｎと最下位等数ｍ（：自然数）の値を比較する。このとき、ｍは各抽選によって異なる値になる場合がある。ｎの値がｍ以下の場合、４３３の処理へ進む。ｎの値がｍより大きい場合、処理を終了する。
【００２６】
４３３：生成された組合せ数字に組合せ（ｎ等）テーブル３２０に格納する組合せ数字が存在するかを判定する。組合せ（ｎ等）テーブル３２０に格納する組合せ数字が存在する場合、４３４の処理へ進む。存在しない場合、４３８の処理へ進む。
【００２７】
４３４：組合せ（ｎ等）テーブルに同一の組合せ数字が存在するかを判定する。組合せ（ｎ等）テーブル３２０に同一の組合せ数字が存在する場合、４３５の処理へ進む。存在しない場合、４３６の処理へ進む。
【００２８】
４３５：組合せ（ｎ等）テーブル３２０の組合せ数字の口数を加算する処理を実行する。このとき、加算した組合せ数字の口数を組合せ（ｎ等）テーブル３２０に上書きする。
４３６：組合せ（ｎ等）テーブル３２０の組合せデータを新たに追加する処理を実行する。
４３７：次の組合せデータを取得する。
４３８：ｎの値を１加算する。
【００２９】
図５〜１０は、本実施形態に関し、申込番号の具体的な例を用いて、その処理内容を説明する図である。
例：選択可能な数字を９個、申込数字を３個、抽選数字を５個、当選最下位等数を３等とする。以下に、抽選申込者が１〜９の選択可能な数字の中から３個を選択し、申込者６人が申込数字を１口ずつ購入する例を示す。
申込者１：申込数字｛１，３，５｝、口数：１口
申込者２：申込数字｛２，４，６｝、口数：１口
申込者３：申込数字｛１，２，３｝、口数：１口
申込者４：申込数字｛４，５，６｝、口数：１口
申込者５：申込数字｛５，６，７｝、口数：１口
申込者６：申込数字｛６，７，８｝、口数：１口。
【００３０】
図５は、申込データを格納する申込テーブル３１０の例である。申込テーブル３１０は、申込者１〜６の申込数字と申込口数を格納する。このとき、将来のサービス拡張などを考慮して申込者と申込データの関連を意識して申込データを格納したいため、申込を行った順に通番を付与して、管理する。
【００３１】
図６は、申込データから派生した組合せ１等候補のデータを格納する組合せ（１等）テーブルの例である。３２１は、申込テーブル３２０に格納している申込データから派生した１等候補の組合せ数字と組合せ口数を格納するテーブルである。組合せ（１等）テーブル３２１では、申込者と組合せデータの関連を意識して格納しないため、通番を付与せず管理する。
【００３２】
図７は、申込データから派生した組合せ２等候補のデータを格納する組合せ（２等）テーブルの例である。３２２は、申込テーブル３２０に格納している申込データから派生した２等候補の組合せ数字と組合せ口数を格納するテーブルである。組合せ（２等）テーブル３２２では、申込者と組合せデータの関連を意識して格納しないため、通番を付与せず管理する。
【００３３】
図８は、申込データから派生した組合せ３等候補のデータを格納する組合せ（３等）テーブルの例である。３２３は、申込テーブル３２０に格納している申込データから派生した３等候補の組合せ数字と組合せ口数を格納するテーブルである。組合せ（３等）テーブル３２３では、申込者と組合せデータの関連を意識て格納しないため、通番を付与せず管理する。
【００３４】
図９は、申込テーブル３１０と申込データから派生した各等数の組合せ（ｎ等）テーブル３２０のデータ関連図の例である。申込テーブル３１０に格納された申込データは組合せ（１等）テーブル３２１、組合せ（２等）テーブル３２２、組合せ（３等）テーブル３２３に対して、申込データから生成された組合せデータを各テーブルに格納する。このとき、等数毎に格納する組合せ（ｎ等）テーブル３２０へ組合せデータを格納するため、等数毎に並行して処理することが可能である。
【００３５】
図１０は、当選結果データを格納する当選結果テーブル３３０の例である。当選結果テーブル３３０は、等数と当選結果口数を格納する。本例では、１等の当選口数の総和は申込者１｛１，３，５｝と申込者３｛１，２，３｝の計２口であり、以下２等の当選口数の総和は、｛１，３｝２口、｛１，５｝１口、｛３，５｝１口、｛２，４｝１口、｛１，２｝１口｛２，３｝１口、｛４，５｝１口の計８口であり、３等の当選口数の総和は、｛１｝２口、｛３｝２口、｛５｝３口、｛２｝２口、｛４｝２口の計１１口である。１等の当選結果口数は、当選口数と同じ数になるため、２口となる。２等以降は４６０の計算式に従うと、８−３×２＝２口となり、３等は、１１−（３×２＋２×２）＝１口となる。
【００３６】
本実施の形態によれば、抽選番号が確定する前までに申込数字から派生した組合せ数字と組合せ口数を集計すること、また各等数の当選数字の候補となる組合せ数字を等数毎に異なるテーブルに格納することにより、等数毎に並行してテーブルにアクセスすることが可能になるため、抽選番号確定後の一括集中処理を短時間にすることが可能となる。また、申込データの数が増大した場合でも本処理は当選数字の数に依存する処理方式を取っているため、一括集中処理の負荷軽減が可能となる。
【符号の説明】
【００３７】
１００  申込受付装置
２００  APサーバ
３００  データ格納サーバ
３１０  申込テーブル
３２０  組合せ（ｎ等）テーブル
３２１  組合せ（１等）テーブルの例
３２２  組合せ（２等）テーブルの例
３２３  組合せ（３等）テーブルの例
３３０  当選結果テーブル
【図１】
2014013519.tif 000003
【図２】
2014013519.tif 000004
【図３】
2014013519.tif 000005
【図４】
2014013519.tif 000006
【図５】
2014013519.tif 000007
【図６】
2014013519.tif 000008
【図７】
2014013519.tif 000009
【図８】
2014013519.tif 000010
【図９】
2014013519.tif 000011
【図１０】
2014013519.tif 000012