(57)【特許請求の範囲】
【請求項１】
コンピュータ実行可能命令を伴って構成される１つ以上のプロセッサによって行われる方法であって、
反復データベースの中のデータのデータ構造と同一または実質的に同一となるように、比較データのデータ構造を処理することであって、前記反復データベースは、データベースの中のデータが事前設定されたデータ構造に従って処理された後に内部メモリマッピングによって形成され、前記処理された比較データは、完全マッチングのための第１の情報と、類似度マッチングのための第２の情報とを含む、ことと、
前記比較データを前記反復データベースの中の前記データと比較して、前記比較データの前記第１の情報が、前記反復データベースの中の前記データの第１の情報と同一または実質的に同一であり、かつ前記比較データの前記第２の情報と前記反復データの中の前記データの第２の情報との間の類似度が、閾値よりも高い場合、前記比較データが反復データであると判定することと、
前記比較データが反復データではないという結果に応答して、前記データベースの中に前記比較データを記憶することと、
を含む、方法。
【請求項２】
前記比較データを前記反復データベースの中の前記データと比較して、前記比較データが反復データであると判定することは、
前記比較データの前記第１の情報が、前記反復データベースの中の前記データの第１の情報と同一または実質的に同一であり、前記比較データの前記第２の情報と前記反復データの中の前記データの第２の情報との間の類似度が、閾値よりも高い場合、前記比較データの中の１つ以上の画像のサイズと前記反復データベースの中の前記データの中の１つ以上の画像のサイズとの間の関係に従って、前記比較データと前記反復データベースの中の前記データとの間の関係の形態を判定することを含む、
請求項１に記載の方法。
【請求項３】
前記比較データと前記反復データベースの中の前記データとの間の前記関係の形態は、
前記比較データが、前記反復データベースの中の前記データと同一である、
前記比較データが、前記反復データベースの中の前記データを含有する、
前記反復データベースの中の前記データが、前記比較データを含有する、
のうちの１つを含む、
請求項２に記載の方法。
【請求項４】
前記第１の情報は、少なくとも、完全マッチングを必要とする前記比較データの中の１つ以上の項目によって形成される組み合わせと、前記組み合わせがハッシングアルゴリズムまたは暗号化アルゴリズムによって処理された後の前記組み合わせの値とを含み、
前記第２の情報は、前記比較データの中の一部分が圧縮アルゴリズムによって処理された後に、類似度マッチングを必要とする、少なくとも前記一部分の値を含む、
請求項１に記載の方法。
【請求項５】
前記組み合わせを形成する前記１つ以上の項目は、事前設定される、請求項４に記載の方法。
【請求項６】
前記反復データベースの中の前記データは、完全マッチングのための第１の情報と、類似度マッチングのための第２の情報とを含み、前記第１の情報および前記第２の情報は、キー値ペアの形態で前記反復データベースの中に記憶される、請求項１に記載の方法。
【請求項７】
前記比較データを前記反復データベースの中の前記データと比較して、前記比較データが反復データであると判定する前に、前記比較データを前処理することをさらに含む、請求項１に記載の方法。
【請求項８】
前記前処理することは、
大文字および小文字変換、
全角および半角変換、
特殊文字フィルタリング、
頭音標語置換、
単純および無意味語置換、
キーワード抽出、
ＨＴＭＬタグの除去、
のうちの少なくとも１つを含む、
請求項７に記載の方法。
【請求項９】
前記比較データを前記反復データベースの中の前記データと比較して、前記比較データが反復データであると判定する前に、負荷バランシングの処理を通して前記比較データを受信することをさらに含む、請求項１に記載の方法。
【請求項１０】
反復データベースの中のデータのデータ構造と同一または実質的に同一となるように、比較データのデータ構造を処理する、処理モジュールであって、前記反復データベースは、データベースの中のデータが事前設定されたデータ構造に従って処理された後に内部メモリマッピングによって形成され、前記処理された比較データは、完全マッチングのための第１の情報と、類似度マッチングのための第２の情報とを含む、処理モジュールと、
前記比較データを前記反復データベースの中の前記データと比較して、前記比較データの前記第１の情報が、前記反復データベースの中の前記データの第１の情報と同一または実質的に同一であり、かつ前記比較データの前記第２の情報と前記反復データの中の前記データの第２の情報との間の類似度が、閾値よりも高い場合、前記比較データが反復データであると判定する、比較モジュールと、
前記比較データが反復データではないという結果に応答して、前記データベースの中に前記比較データを記憶する、書き込みモジュールと、
を備える、装置。
【請求項１１】
前記比較データは、１つ以上の画像を含み、前記比較モジュールは、前記比較データの前記第１の情報が、前記反復データベースの中の前記データの第１の情報と同一または実質的に同一であり、前記比較データの前記第２の情報と前記反復データの中の前記データの第２の情報との間の類似度が、閾値よりも高いと判定した後に、前記比較データの中の１つ以上の画像のサイズと前記反復データベースの中の前記データの中の１つ以上の画像のサイズとの間の関係に従って、前記比較データと前記反復データベースの中の前記データとの間の関係の形態を判定し、前記比較データと前記反復データベースの中の前記データとの間の前記関係の形態は、
前記比較データが、前記反復データベースの中の前記データと同一である、
前記比較データが、前記反復データベースの中の前記データを含有する、
前記反復データベースの中の前記データが、前記比較データを含有する、
のうちの１つを含む、
請求項１０に記載の装置。
【請求項１２】
前記第１の情報は、少なくとも、完全マッチングを必要とする前記比較データの中の１つ以上の項目によって形成される組み合わせと、前記組み合わせがハッシングアルゴリズムまたは暗号化アルゴリズムによって処理された後の前記組み合わせの値とを含み、
前記第２の情報は、前記比較データの中の一部分が圧縮アルゴリズムによって処理された後に、類似度マッチングを必要とする、少なくとも前記一部分の値を含む、
請求項１０に記載の装置。
【請求項１３】
前記反復データベースの中の前記データは、完全マッチングのための第１の情報と、類似度マッチングのための第２の情報とを含み、前記第１の情報および前記第２の情報は、キー値ペアの形態で前記反復データベースの中に記憶される、請求項１０に記載の装置。
【請求項１４】
前記比較データを前記反復データベースの中の前記データと比較して、前記比較データが反復データであると判定する前に、前記比較データを前処理することをさらに含み、前記前処理は、
大文字および小文字変換、
全角および半角変換、
特殊文字フィルタリング、
頭音標語置換、
単純および無意味語置換、
キーワード抽出、
ＨＴＭＬタグの除去、
のうちの少なくとも１つを含む、
請求項１０に記載の装置。
【請求項１５】
前記比較データを前記反復データベースの中の前記データと比較して、前記比較データが反復データであると判定する前に、負荷バランシングの処理を通して前記比較データを受信することをさらに含む、請求項１０に記載の装置。
【請求項１６】
反復データを処理するための１つ以上の装置の負荷平衡に基づいて、反復データを処理にするための前記１つ以上の装置に比較データを送信する、配信デバイスと、
反復データベースの中のデータのデータ構造と同一または実質的に同一となるように、比較データのデータ構造を処理する、処理モジュールであって、前記反復データベースは、データベースの中のデータが事前設定されたデータ構造に従って処理された後に内部メモリマッピングによって形成され、前記処理された比較データは、完全マッチングのための第１の情報と、類似度マッチングのための第２の情報とを含む、処理モジュールと、
前記比較データを前記反復データベースの中の前記データと比較して、前記比較データの第１の情報が、前記反復データベースの中の前記データの第１の情報と同一または実質的に同一であり、かつ前記比較データの前記第２の情報と前記反復データの中の前記データの第２の情報との間の類似度が、閾値よりも高い場合、前記比較データが反復データであると判定する、比較モジュールであって、前記第１の情報は、少なくとも、完全マッチングを必要とする前記比較データの中の１つ以上の項目によって形成される組み合わせと、前記組み合わせがハッシングアルゴリズムまたは暗号化アルゴリズムによって処理された後の前記組み合わせの値とを含み、前記第２の情報は、前記比較データの中の一部分が圧縮アルゴリズムによって処理された後に類似度マッチングを必要とする、少なくとも前記一部分の値を含む、比較モジュールと、
前記比較データが反復データではないという結果に応答して、前記データベースの中に前記比較データを記憶する、書き込みモジュールと、
を含む、反復データを処理するための前記１つ以上の装置のうちの少なくとも１つと、
を備える、システム。
【請求項１７】
前記比較データは、１つ以上の画像を含み、前記比較モジュールは、前記比較データの前記第１の情報が、前記反復データベースの中の前記データの第１の情報と同一または実質的に同一であり、かつ前記比較データの前記第２の情報と前記反復データの中の前記データの第２の情報との間の類似度が、閾値よりも高い場合、前記比較データの中の１つ以上の画像のサイズと前記反復データベースの中の前記データの中の１つ以上の画像のサイズとの間の関係に従って、前記比較データと前記反復データベースの中の前記データとの間の関係の形態を判定し、前記比較データと前記反復データベースの中の前記データとの間の前記関係の形態は、
前記比較データが、前記反復データベースの中の前記データと同一である、
前記比較データが、前記反復データベースの中の前記データを含有する、
前記反復データベースの中の前記データが、前記比較データを含有する、
のうちの１つを含む、
請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、参照することによりその全体として本明細書に組み込まれる、「Ｍｅｔｈｏｄ，  Ａｐｐａｒａｔｕｓ  ａｎｄ  Ｓｙｓｔｅｍ  ｏｆ  Ｐｒｏｃｅｓｓｉｎｇ  Ｒｅｐｅｔｉｔｉｖｅ  Ｄａｔａ」と題された、２０１１年６月１７日出願の中国特許出願第２０１１１０１６４８５０．１号への外国優先権を主張するものである。
【０００２】
本開示は、ネットワーク技術の分野に関し、より具体的には、データ反復を処理する方法、装置、およびシステムに関する。
【背景技術】
【０００３】
ウェブサイトに関して、データ反復は不可避である。例えば、反復製品情報が、電子商取引サイトに出現する。現在の技術は、概して、データ反復を削除するために３つのステップを使用する。（説明の便宜上、それが反復データであるかどうかを判定することを必要とする情報はＡと見なされ、Ａと比較される、記憶システムから抽出される情報はＢと見なされる。）
【０００４】
システムは、データ抽出論理を行う。このステップは、データ記憶システムからの比較に必要とされるデータを抽出するために使用される。膨大なデータに関して、データセットのサイズが、システム全体の動作効率を直接決定することになる。このステップでは、線形待ち行列方法が、概して、使用される。言い換えれば、次の情報が処理される前に、第１の情報が処理される。以下の方法は、Ｂにフィルタをかけるために使用される。
【０００５】
第１の方法では、データベースまたは他のデータソースにクエリを行うことによって、Ｂの中の各情報がＡと比較される。第１の方法は、Ｂにフィルタをかけない。
【０００６】
第２の方法では、Ａと明白な共通点があるＢの中の情報のみ（例えば、同一発行者から送信された情報またはＡと同じ業界に属するＢの中の情報）が、クエリ条件を制限する１つ以上の事前設定条件に基づいて、比較のためにフィルタにかけられる。
【０００７】
反復製品情報を削除することの以下の実施例（他の反復情報が同様に削除されてもよい）が、上記の第２の方法を例証するために使用される。図１は、現在の技術下で反復製品情報を削除するデータ抽出の方法例のフローチャートを図示する。図１に示されるように、本プロセスは、以下のステップを含む。１０２では、要素分布情報が読み取られる。１０４では、情報が業界に従って１つずつ読み取られる。１０６では、情報が順序に従って抽出される。１０８では、情報が反復データであるかどうかが判定される。情報が反復データではない場合、動作１０６が行われる。情報が反復データである場合、動作１１０が行われる。１１０では、反復データが削除される。
【０００８】
動作１０８は、Ａが反復データであるかどうかを判定する。本動作は、情報が類似するかどうかを判定するアルゴリズムを使用する。異なるアルゴリズムは、システムの処理分解能の精度および効率に直接影響を及ぼし得る。現在の技術は、通常、以下の方法を使用する。
【０００９】
第１の方法は、Ａの中の全てのデータのＢとの完全比較を行う。第２の方法は、ＡおよびＢの中の選択された主要データの完全比較を行う。第３の方法は、類似度を比較し、ＡおよびＢの中のデータ間の類似度に従って、ＡおよびＢが同一であるかどうかを判定する。例えば、説明文のある部分が、類似度比較中に比較されてもよい。
【００１０】
現在の技術における上記の処理方法は、比較的少量のデータにより適している。膨大なデータに関しては、上記の処理方法の効率は、より低くなる。例えば、反復性を削除する現在の技術のアルゴリズム効率は、Ｏ（ｎ）であり、ｎは、データの量を表し、Ｏ（ｎ）は、アルゴリズムの実行時間を表す。Ｏ（ｎ）およびｎは、直線関係または指数関数関係さえも有する。関数関係にかかわらず、Ｏ（ｎ）の値は、ｎの値が増加するにつれて増加する。したがって、ｎが極めて大きいとき、Ｏ（ｎ）の複雑性を伴ってアルゴリズムを行うサーバの過負荷をもたらし、したがって、時宜を得た方式で反復データを処理することができない。したがって、情報検証速度が、新しい情報の配信速度についていくことができない。
【００１１】
現在の技術では、上記の問題は、サーバ負荷を低減させるようにデータセット（すなわち、ｎ値）を低減させることによって解決される。例えば、データは、情報発行者の業界に従って１つずつ読み取られてもよい。データセット全体が、ある程度まで圧縮されるが（すなわち、値ｎ）、アルゴリズム効率は、Ｏ（ｎ（ｎ−１）／２）と見なされ得る。情報発行者が多くの情報（例えば、膨大なデータ）を有するとき、アルゴリズム効率は依然として低い。したがって、この問題を解決するために、現在の技術は、データ反復を除去するための要件を満たすように、ハードウェア容量を増加させる必要があり得る。場合によっては、ハードウェア入力の依存のみでは、満足できる結果に達しない場合がある。そのようなアプローチも、将来の拡張の要件を満たすことができず、サーバリソースを無駄にし、それにより、全体的な低効率を生じるため、問題を有する。
【発明の概要】
【００１２】
本開示は、データ反復を処理する方法、装置、およびシステムを開示する。
【００１３】
本開示は、反復データを処理する方法を提供する。比較される比較データのデータ構造は、反復データベースの中のデータの同一または実質的に同一のデータ構造を有するものとして処理される。反復データベースは、事前設定されたデータ構造に従ってデータベースの中のデータが処理された後に、内部メモリマッピングによって形成される。処理された比較データは、比較データが反復データであるかどうかを判定するように、反復データベースの中のデータと比較される。比較データが反復データではないと判定された後、比較データは、データベースに書き込まれる。
【００１４】
処理された比較データは、完全マッチングのための第１の情報と、類似度マッチングのための第２の情報とを含む。以下のように、比較データが反復データであるかどうかが判定される。比較データの第１の情報が、反復データベースの中のデータの第１の情報と同一であるか、または実質的に類似し、比較データの第２の情報と反復データの中のデータの第２の情報との間の類似度が、閾値よりも高いとき、比較データは、反復データであると判定される。
【００１５】
処理された比較データがまた、１つ以上の画像も含有するとき、以下のように、比較データが反復データであるかどうかが判定される。比較データの第１の情報が、反復データベースの中のデータの第１の情報と同一または実質的に同一であり、比較データの第２の情報と反復データの中のデータの第２の情報との間の類似度が、閾値よりも高いとき、比較データの中の１つ以上の画像のサイズと反復データベースの中のデータの中の１つ以上の画像のサイズとの間の関係に基づいて、比較データと反復データとの間の関係の形態が判定される。比較データと反復データとの間の関係の形態は、比較データが、反復データベースの中のデータと同一である、比較データが、反復データベースの中のデータを含有する、または反復データベースの中のデータが、比較データを含有する等のうちの１つを含んでもよい。
【００１６】
第１の情報は、完全マッチングを必要とするデータの中の１つ以上の項目によって形成される組み合わせと、組み合わせがハッシングアルゴリズムまたは暗号化アルゴリズムによって処理された後の組み合わせの値とを含んでもよい。第２の情報は、圧縮アルゴリズムによって処理された後に、類似度マッチングを必要とする、少なくともデータの一部分の値を含む。組み合わせの中の１つ以上の項目は、事前設定されてもよい。第１の情報および第２の情報は、キーおよび値のペアによって反復データベースの中に保存される。
【００１７】
比較データのデータ構造が、反復データベースの中のデータのデータ構造と同一または実質的に同一となるように処理される前に、比較データが前処理されてもよい。前処理は、大文字および小文字変換、全角および半角変換、特殊文字フィルタリング、頭音標語置換、単純および無意味語置換、キーワード抽出、およびＨＴＭＬタグの除去等のうちの少なくとも１つを含んでもよい。
【００１８】
比較データのデータ構造が、反復データベースの中のデータのデータ構造と同一となるように処理される前に、比較データが受信される必要がある。比較データは、負荷平衡処理を通して送信されてもよい。
【００１９】
本開示はまた、反復データを処理するための装置も提供する。本装置は、処理モジュールと、比較モジュールと、書き込みモジュールとを含む。処理モジュールは、反復データベースの中のデータのデータ構造と同一または実質的に同一に、比較データのデータ構造を処理する。反復データベースは、データベースの中のデータが事前設定されたデータ構造に従って処理された後に内部メモリマッピングによって形成される。比較モジュールは、比較データが反復データであるかどうかを判定するように、処理された比較データを反復データベースの中のデータと比較する。比較データが反復データではないと判定された後、書き込みモジュールは、比較データをデータベースに書き込む。
【００２０】
処理された比較データが、完全マッチングのための第１の情報と、類似度マッチングのための第２の情報とを含むとき、比較モジュールは、比較データの第１の情報が、反復データベースの中のデータの第１の情報と同一であり、比較データの第２の情報と反復データの中のデータの第２の情報との間の類似度が、閾値よりも高い場合、比較データが反復データであると判定する。
【００２１】
処理された比較データがまた、１つ以上の画像も含有するとき、比較モジュールは、以下のように比較データが反復データであるかどうかを判定する。比較データの第１の情報が、反復データベースの中のデータの第１の情報と同一または実質的に同一であり、比較データの第２の情報と反復データの中のデータの第２の情報との間の類似度が、閾値よりも高いとき、比較データの中の１つ以上の画像のサイズと反復データベースの中のデータの中の１つ以上の画像のサイズとの間の関係に基づいて、比較データと反復データとの間の関係の形態が判定される。比較データと反復データとの間の関係の形態は、比較データが、反復データベースの中のデータと同一である、比較データが、反復データベースの中のデータを含有する、または反復データベースの中のデータが、比較データを含有する等のうちの１つを含んでもよい。
【００２２】
第１の情報は、少なくとも、完全マッチングを必要とするデータの中の１つ以上の項目によって形成される組み合わせと、組み合わせがハッシングアルゴリズムまたは暗号化アルゴリズムによって処理された後の組み合わせの値とを含む。第２の情報は、圧縮アルゴリズムによって処理された後に、類似度マッチングを必要とする、少なくともデータの一部分の値を含む。
【００２３】
本装置はさらに、比較データを前処理する前処理モジュールを含んでもよい。前処理は、大文字および小文字変換、全角および半角変換、特殊文字フィルタリング、頭音標語置換、単純および無意味語置換、キーワード抽出、およびＨＴＭＬタグの除去等のうちの少なくとも１つを含んでもよい。
【００２４】
本開示はまた、反復データを処理するシステムも提供する。本システムは、反復データを処理する１つ以上の上記の装置と、配信デバイスとを含む。配信デバイスは、１つ以上の上記の装置の負荷に従って、比較データを１つ以上の上記の装置に送信する。
【００２５】
本開示は、現在の技術における反復削除処理の低効率、および単純にサーバを追加することから生じる問題を解決し、それにより、反復削除を処理し、サーバリソースを保存する際にサーバの効率を増加させる。
【００２６】
本開示の実施形態を分かりやすく例示するため、以下の実施形態の説明において使用される図面を簡単に記載する。以下の図面は、本開示のいくつかの実施形態に関するに過ぎず、本開示の範囲を限定するために使用されるべきではないことが明白である。
【図面の簡単な説明】
【００２７】
【図１】現在の技術下で反復製品情報を削除するデータ抽出の方法例のフローチャートを図示する。
【図２】本開示による、反復データを処理する方法例のフローチャートを図示する。
【図３】本開示による、反復データを処理する装置例の略図を図示する。
【図４】本開示による、反復データを処理する別の装置例の略図を図示する。
【図５】本開示による、反復データを検出および削除するサブシステム例の略図を図示する。
【図６】本開示による、タイトル前処理方法例のフローチャートを図示する。
【図７】本開示による、詳細説明前処理方法例のフローチャートを図示する。
【図８】本開示による、製品属性パラメータ前処理方法例のフローチャートを図示する。
【図９】分散型バッファならびにその入力および出力に基づく、反復データベース例の略図を図示する。
【図１０】本開示による、反復を判定するための方法例のフローチャートである。
【図１１】本開示による、データＡがデータＢを含むときの反復処理方法例のフローチャートを図示する。
【図１２】本開示による、データＡ＝＝データＢであるときの反復処理方法例のフローチャートを図示する。
【発明を実施するための形態】
【００２８】
本開示の発明を実施するための形態が、図を参照して以下で説明される。矛盾がない限り、例示的実施形態および例示的実施形態の特徴例は、組み合わせて相互に使用されてもよいことに留意されたい。
【００２９】
反復データを処理する方法は、反復データを処理するために指定されているサーバ、サーバのグループ、またはサーバ内で他の共通機能性を果たす他のモジュールと連結されたモジュールを通して、適用されてもよい。
【００３０】
例示的実施形態では、データ比較のためのデータベース例は、内部メモリデータベース（以降では反復データベースと呼ばれる）方法の形態を使用する。例示的実施形態は、キーおよび値のペアに基づいて、内部メモリデータベースを使用してもよいが、それに限定されない。以下の例示的実施形態は、例証目的で、キーおよび値のペアに基づいて内部メモリデータベースを使用してもよい。現在の技術は、項目ごとの比較を実行して反復データを処理するために、データベースからデータを直接読み取って抽出する方法を使用する。
【００３１】
以下の例示的実施形態は、現在の技術よりも高い処理効率を可能にする反復データベースとして、内部メモリデータベースを使用する。例えば、評価方法としてアルゴリズム複雑性Ｏ（ｎ）を使用すると、内部データベースの処理速度が速いため、ｎの値は、Ｏ（ｎ）に大きく影響を及ぼさない。したがって、現在の技術と比較して、以下の例示的実施形態は、サーバのより少ないリソースを使用しながら、サーバの内部性能を向上させ、より大量のデータ処理を完了する。言い換えれば、同一の処理効率に基づいて、以下の例示的実施形態は、現在の技術と比較して、サーバのより少ないリソースを使用する。サーバの同一のリソースに基づいて、以下の例示的実施形態は、現在の技術よりも高い処理効率を有する。加えて、例示的実施形態が処理のために内部メモリデータベースを使用すると、本開示下の拡張も、現在の技術下の拡張より比較的容易である。
【００３２】
図２は、本開示による、反復データを処理する方法例のフローチャートを図示する。
【００３３】
２０２では、比較データ（すなわち、検証されるデータ、チェックされるデータ、または処理されるデータとも呼ばれる、比較されるデータ）のデータ構造が、反復データベースの中のデータのデータ構造と同一または実質的に同一となるように処理される。反復データベースは、データベースの中のデータが事前設定されたデータ構造に従って処理された後に、内部メモリマッピングによって形成される。反復データベースの中のデータのデータ構造は、データベースの中のデータ構造と同一であり得る、事前設定されたデータ構造と同一であってもよい。しかしながら、これは、反復データベースの中の比較的大量のデータをもたらし得る。代替として、反復データベースの中のデータのデータ構造は、データベースの中のデータのデータ構造と同一ではなくてもよい。例えば、反復データベースの中のデータは、データが処理された、部分的に圧迫された後等のデータベースからのデータの内部メモリマッピングであってもよい。そのような処理は、多くの抽出および集中タスクと同等であり、それは、データベースの中のデータの量を削減するだけでなく、データ比較のためのより良好なデータ構造も提供する。
【００３４】
２０４では、処理された比較データは、それが反復データであるかどうかを判定するように、反復データベースの中のデータと比較される。
【００３５】
２０６では、比較データが反復データではない場合、比較データは、データベースに書き込まれる。
【００３６】
上記の動作は、内部メモリマッピングを通したデータベースの項目ごとのクエリを回避するだけでなく、反復データがソースから削除されるように、情報がデータベースに入力される前にも反復を削除する。
【００３７】
例示的実施形態では、反復データベースのデータ構造は、内部メモリマッピングである。さらに、同一のデータについては、反復データベースは、前処理後のデータベースの中のデータのコピーである（例えば、比較されるコアおよび必要部分が保持される）。したがって、反復データベースのサイズは、元のデータベースのサイズよりはるかに小さい。
【００３８】
比較データが反復データであるかどうかを判定するために２０４で使用される比較方法に関して、完全比較方法等の現在の比較方法が使用されてもよい。たとえ現在の比較方法が使用されても、内部メモリデータベースが動作で使用されるため、本開示の技法は、現在の技術よりも高い効率を達成し得る。
【００３９】
別の例示的実施形態では、本開示は、完全比較および類似度比較を組み合わせる比較方法を提供する。そのような比較方法は、比較精度および効率の両方を考慮する。比較方法は、以下で詳細に説明される。
【００４０】
比較データは、第１の情報および第２の情報に処理されてもよい。第１の情報は、完全マッチングに使用され、第２の情報は、類似度マッチングに使用される。第１の情報が最初に比較されてもよい。比較データの第１の情報が、反復データベースの中の第１の情報に完全に合致するとき、第２の情報が比較される。比較データの第２の情報と反復データベースの中のデータの第２の情報との間の類似度が閾値を超える場合、比較データは反復データであると判定される。第１の情報は、タイトル、キーワード、発行者のＩＤ等の、重要度値が閾値よりも高い、比較的重要な情報であってもよい。この比較的重要な情報については、情報の中の１つの項目または項目の組み合わせが比較されてもよい。したがって、精度マッチングの程度が、柔軟に制御されてもよい。比較する情報が多いほど、精度の割合が高くなるであろうということが明白である。第２の情報は、製品マニュアル、製品説明等の、データ量が閾値よりも高い、比較的大量のデータを伴う情報であってもよい。大量のデータが、概して、正確には同一ではないが、しばしば類似するため、第２の情報の類似度比較が行われてもよい。
【００４１】
完全マッチング比較に関して、項目ごとの比較方法を使用することによって、比較を必要とする部分が比較されてもよい。例えば、タイトルおよび発行者が比較される必要がある場合、タイトルが最初に比較されてもよい。タイトルが同一である場合、発行者が合致について比較されてもよい。この比較方法は容易に実現されるが、その効率は、やや低い。この例示的実施形態は、以下のように別の処理方法を提供する。
【００４２】
完全マッチングを必要とするデータの部分に関して、データの部分の中の１つ以上の項目が、最初に組み合わせに形成され、次いで、組み合わせが、値を取得するようにハッシングまたは暗号化アルゴリズムによって処理される。次いで、この値は、比較を実行するために使用される。この種類の方法を使用することによって、比較を必要とするデータのいくつかの部分がある場合、それらを一度に比較することができる。例えば、１２８ビット値を達成するために完全マッチングを必要とするデータの部分の中の１つ以上の項目によって形成される組み合わせを計算するために、メッセージダイジェストアルゴリズム５（ＭＤ５）が使用されてもよい。セキュアハッシュアルゴリズム（ＳＨＡ）等のいくつかの他の計算アルゴリズムが、代替として使用されてもよい。反復データベースは、完全マッチングを必要とするデータの部分、データの部分の中の１つ以上の項目の組み合わせ、あるいはハッシングまたは暗号化アルゴリズムによって処理された後の組み合わせの値を記憶してもよい。
【００４３】
例えば、完全マッチングを必要とするデータの部分（またはテキスト）は、タイトルおよび発行者のＩＤである。タイトルおよび発行者のＩＤの組み合わせは、文字列を取得してもよい（例えば、ｓａｎｆａｎｇｍｏｂｉｌｅが製品名であり、ｍｏｂｉｅ３が発行者のＩＤである、「ｓａｎｆａｎｇｍｏｂｉｌｅ  ｍｏｂｉｅ３」）。次いで、文字列は、１２８ビット値を取得するためにＭＤ５を使用して計算され、値は、比較に使用される。
【００４４】
いくつかの大規模データベースでは、比較的多くのキー部分（またはテキスト）が存在し得る。融通性のために、完全マッチングを必要とする部分が、構成ファイル内で設定されてもよい。完全マッチングを必要とするキー部分（またはテキスト）は、構成ファイルが読み取られるたびに取得されてもよい。言い換えれば、組み合わせを形成する１つ以上の項目が、事前設定されてもよい。
【００４５】
類似度マッチングに関して、類似度マッチングを必要とするデータの部分が比較的大きくあり得るため、キーワードを抽出する方法が使用されてもよい。例えば、異なるキーワードが、異なる行における異なる位置から抽出されてもよい。これらのキーワードが同一である（または類似度が１００％である）か、または類似度が９０％等の閾値よりも高い場合、データの部分は、反復データと見なされる。キーワードを抽出する方法は、比較的複雑であり得る。
【００４６】
代替として、本開示は、類似度マッチングを必要とし、圧縮アルゴリズムによって処理されるデータの部分の値を比較する、別の方法を提供する。例えば、比較データの中の詳細な説明は、値を取得するように圧縮される。反復データベースの中の詳細な説明は、別の値を取得するように圧縮される。値は、例えば、圧縮後のデータのサイズであってもよい。２つの値が比較される。２つの値の間の類似度が閾値を超える場合、比較データは反復データとして判定される。例えば、Ａは、圧縮後の比較データの中の詳細な説明のサイズであり、Ｂは、圧縮後の反復データベースの中の詳細な説明のサイズである。閾値は、例えば、（Ａ−Ｂ）／Ａ＊１００％が１％未満であるかどうかであってもよい。閾値が１％未満である場合、比較データの中の部分は反復データとして判定される。
【００４７】
上記の完全マッチング方法および類似度マッチング方法は、個別に、または組み合わせて適用されてもよい。これら２つの方法のうちの１つの適用は、より高い精度および向上した比較効率をもたらし得、組み合わせた２つの方法の適用は、さらに良好な結果を生じさせ得る。
【００４８】
上記の類似度マッチング方法および完全マッチング方法は、文字だけでなく、画像にも適用されてもよい。例えば、画像は、比較のためにバイナリデータに変換されてもよい。比較データの第１の情報が、反復データベースの中のデータの第１の情報と同一または実質的に同一であり、比較データの第２の情報と反復データの中のデータの第２の情報との間の類似度が、閾値よりも高いとき、比較データの中の１つ以上の画像のサイズと反復データベースの中のデータの中の１つ以上の画像のサイズとの間の関係に基づいて、比較データと反復データとの間の関係の形態が判定される。比較データと反復データとの間の関係の形態は、比較データが、反復データベースの中のデータと同一である、比較データが、反復データベースの中のデータを含有する、または反復データベースの中のデータが、比較データを含有する等のうちの１つを含んでもよい。
【００４９】
完全マッチングおよび類似度マッチングの結果をより正確にするために、比較データのデータ構造が、反復データベースの中のデータのデータ構造と同一となるように処理される前に、比較データが前処理されてもよい。前処理は、大文字および小文字変換、全角および半角変換、特殊文字フィルタリング、頭音標語置換、無意味語置換、キーワード抽出、およびＨＴＭＬタグの除去等のうちの少なくとも１つを含んでもよい。上記の前処理動作のうちの１つ以上が行われてもよい。実行される前処理動作が多いほど、比較データが反復データであるかどうかを判定することが容易である。
【００５０】
大量のデータがあるとき、いくつかのサーバが反復データを処理するために使用されてもよい。例えば、負荷平衡機能を伴う非同期情報システムによって、比較データが伝送されてもよい。いくつかのサーバがあるとき、各サーバの負荷の状態または比較データのＩＤに従って、１つのサーバが選択されてもよい。（概して、各比較データは、数値ＩＤを有する。比較データが数値ＩＤを持たない場合、比較データを識別するために順序番号が使用されてもよい。例えば、比較データのＩＤまたは順序番号が３３３４である場合、３つのサーバがあれば、３を除算した後の３３３４の余りは１である。したがって、サーバ１が、比較データを処理するために使用される。）
【００５１】
複数のサーバがあるとき、内部メモリデータベースに基づく分散データベースフレームワークが使用されてもよい。例示的実施形態は、内部メモリデータベースおよび分散データベースエージェントを統合することによって、内部メモリデータベース分散フレームワークを実装する。例えば、Ｈ２等の高性能内部メモリデータベースおよびＡｍｏｅｂａ等の分散データベースエージェントを統合することができる。現在の技術下で、ＡｍｏｅｂａをＭｙｓｑｌと統合することができる。Ａｍｏｅｂａに関して、ＭｙｓｑｌノードおよびＨ２ノード記憶は、記憶としての違いがない。したがって、現在の技術下のＡｍｏｅｂａおよびＭｙｓｑｌの統合を、ＡｍｏｅｂａおよびＨ２の統合に置き換えることができる。ＡｍｏｅｂａおよびＨ２の統合は、内部メモリデータベースに基づいて分散データベースフレームワークを実装するために使用することができる。
【００５２】
本開示はまた、反復データを処理する装置も提供する。反復データを処理する装置は、本明細書で説明されるような方法例を実装するために使用される。簡潔にするために、すでに説明されているものの詳細は、本明細書で繰り返されない。「モジュール」という用語は、事前設定された機能を実装するソフトウェアおよび／またはハードウェアの組み合わせである。以下で説明される方法およびシステム例は、ソフトウェアの形態で実装されてもよいが、ハードウェア、あるいはハードウェアおよび／またはソフトウェアの組み合わせが実装に使用されてもよい。
【００５３】
図３は、本開示による、反復データを処理する装置例３００の略図を図示する。装置３００は、１つ以上のプロセッサ３０２と、メモリ３０４とを含んでもよいが、それらに限定されない。メモリ３０４は、ランダムアクセスメモリ（ＲＡＭ）等の揮発性メモリ、および／または読み出し専用メモリ（ＲＯＭ）あるいはフラッシュＲＡＭ等の不揮発性メモリの形態で、コンピュータ記憶媒体を含んでもよい。メモリ３０４は、コンピュータ記憶媒体の実施例である。
【００５４】
コンピュータ記憶媒体は、コンピュータが実行可能な命令、データ構造、プログラムモジュール、またはその他のデータ等の情報を記憶するために、任意の方法、または技術で実装される、揮発性、および不揮発性、着脱可能、および固定媒体を含む。コンピュータ記憶媒体の例は、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他の種類のランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、電気的消去可能プログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、もしくは他のメモリ技術、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶装置、または演算処理装置によるアクセスのための情報を記憶することに使用できる任意の他の非伝送媒体を含むが、これらに限定されない。本明細書において定義される場合、コンピュータ記憶媒体は変調データ信号、および搬送波等の一過性の媒体を含まない。
【００５５】
メモリ３０４は、その中にプログラムユニットまたはモジュールおよびプログラムデータを記憶してもよい。一実施形態では、モジュールは、処理モジュール３０６と、比較モジュール３０８と、書き込みモジュール３１０とを含んでもよい。したがって、これらのモジュールは、１つ以上のプロセッサ３０２によって実行することができるソフトウェアで実装されてもよい。他の実装では、モジュールは、ファームウェア、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装されてもよい。
【００５６】
処理モジュール３０６は、反復データベースの中のデータのデータ構造と同一または実質的に同一となるように、比較データのデータ構造を処理する。反復データベースは、データベースの中のデータが事前設定されたデータ構造に従って処理された後に、内部メモリマッピングによって形成される。比較モジュール３０８は、処理モジュール３０６と接続され、比較データが反復データであるかどうかを判定するように、処理された比較データを反復データベースの中のデータと比較する。書き込みモジュール３１０は、比較モジュール３０８と接続される。比較データが反復データではないと判定された後、書き込みモジュール３１０は、比較データをデータベースに書き込む。
【００５７】
１つの例示的実施形態では、処理された比較データが、完全マッチングのための第１の情報と、類似度マッチングのための第２の情報とを含むとき、比較データの第１の情報が、反復データベースの中のデータの第１の情報と同一であり、比較データの第２の情報と反復データベースの中のデータの第２の情報との間の類似度が、閾値よりも高い場合、比較モジュール３０８は、比較データを反復データとして判定する。
【００５８】
別の例示的実施形態では、処理された比較データがまた、１つ以上の画像も含有するとき、比較モジュール３０８は、以下のように比較データが反復データであるかどうかを判定する。比較データの第１の情報が、反復データベースの中のデータの第１の情報と同一または実質的に同一であり、比較データの第２の情報と反復データの中のデータの第２の情報との間の類似度が、閾値よりも高いとき、比較モジュール３０８は、比較データの中の１つ以上の画像のサイズと反復データベースの中のデータの中の１つ以上の画像のサイズとの間の関係に基づいて、比較データと反復データとの間の関係の形態を判定する。例えば、制限なく、比較データと反復データとの間の関係の形態は、比較データが、反復データベースの中のデータと同一である、比較データが、反復データベースの中のデータを含有する、または反復データベースの中のデータが、比較データを含有する等のうちの１つを含む。比較データが反復データである形態はまた、他の表現を取ってもよい。
【００５９】
図４は、本開示による、反復データを処理する別の装置例４００の略図を図示する。装置４００は、１つ以上のプロセッサ４０２と、メモリ４０４とを含んでもよいが、それらに限定されない。メモリ４０４は、ランダムアクセスメモリ（ＲＡＭ）等の揮発性メモリ、および／または読み出し専用メモリ（ＲＯＭ）あるいはフラッシュＲＡＭ等の不揮発性メモリの形態で、コンピュータ記憶媒体を含んでもよい。メモリ４０４は、コンピュータ記憶媒体の実施例である。
【００６０】
メモリ４０４は、その中にプログラムユニットまたはモジュールおよびプログラムデータを記憶してもよい。一実施形態では、モジュールは、図３に示されるような処理モジュール３０６、比較モジュール３０８、および書き込みモジュール３１０だけでなく、前処理モジュール４０５も含んでもよい。したがって、これらのモジュールは、１つ以上のプロセッサ４０２によって実行することができるソフトウェアで実装されてもよい。他の実装では、モジュールは、ファームウェア、ハードウェア、ソフトウェア、またはそれらの組み合わせで実装されてもよい。
【００６１】
前処理モジュール４０５は、処理モジュール３０６と接続される。前処理モジュール４０５は、比較データを前処理する。前処理例は、大文字および小文字変換、全角および半角変換、特殊文字フィルタリング、頭音標語置換、無意味語置換、キーワード抽出、およびＨＴＭＬタグの除去等のうちの少なくとも１つを含んでもよい。
【００６２】
本開示はまた、反復データを処理するシステムも提供する。本システムは、反復データを処理する１つ以上の上記の装置と、配信デバイスとを含んでもよい。配信デバイスは、１つ以上の上記の装置の負荷に従って、比較データを１つ以上の上記の装置に送信する。
【００６３】
上記の例示的実施形態では、製品情報の高速位置付けおよび前処理を実行する内部メモリマッピング方法（膨大なデータさえも１回限りの内部メモリマッピングのみを必要とする）、ならびに完全マッチングおよび類似度マッチングによって統合される比較方法が使用される。反復データは、ソースから削除され、それにより、情報がデータベースに入力される前に削除処理を実現し、効率を向上させ、不必要な妨害を除去し、マッチング精度を増加させる。これらの技術的結果の全ては、例示的実施形態の全てではなくいくつかで達成されてもよい。
【００６４】
以下は、大規模電子商取引ウェブサイトにおける製品情報の削除処理の例示的実施形態である。以下の例示的実施形態は、実施例として製品情報を使用することに留意されたい。しかしながら、他の種類の情報のための削除処理もまた、以下の例示的実施形態における方法を使用してもよい。
【００６５】
例示的実施形態は、反復データを高速検出および削除するシステムを提供する。反復データを高速検出および削除するシステムは、バックエンド検証システムのサブシステムである。比較される情報または比較データは、メッセージ待ち行列を通した処理のために、本システムに送信される。図５は、本開示による、反復データを検出および削除するサブシステム例５０２の略図を図示する。反復データを検出および削除するサブシステム５０２は、情報削除モニタ５０４と、（上記の配信デバイスの機能を実現する）削除配信コンポーネント５０６と、ｎが任意の整数であり得る、１つ以上の削除モニタ５０８（１）、・・・、５０８（ｎ）（削除機能を実装するサーバとして理解することもできる）と、データベース５１０とを含む。以下の説明は、製品情報の中の反復データを消去するプロセスを図示する図５を参照することによって説明される。１つ以上の削除モニタ５０８は、削除論理を実施する１つ以上のサーバであってもよい。削除モニタ５０８の内部メモリが十分大きい場合、削除モニタ５０８はまた、内部メモリデータベースとしての機能を果たしてもよい。
【００６６】
バックエンド情報検証モニタは、情報を検証することに関係する他の処理論理を実施する。次いで、検証情報は、メッセージ待ち行列５１０を通して情報削除モニタ５０４に送信される。削除配信コンポーネント５０６は、発行者のＩＤおよび／または各サーバの負荷に基づいて、検証情報を異なるメッセージ待ち行列に送信してもよい。例えば、削除モニタ５０８のうちのどれが検証情報を送信するかを判定するために、発行者のＩＤの最初の文字が使用されてもよい。負荷バランシング方法が、各サーバによる等しい処理量を確保するために使用されてもよい。
【００６７】
ｍが任意の整数であり得る、５１２（１）、・・・、５１２（ｍ）等の各メッセージ待ち行列は、削除モニタ５０８（１）、・・・、５０８（ｎ）のうちの１つによって処理される。例えば、削除モニタ５０８（１）は、メッセージ待ち行列５１２（１）を受信してもよい。削除モニタ５０８（ｎ）は、メッセージ待ち行列５１２（ｍ）を受信してもよい。
【００６８】
情報削除モニタ５０４、削除配信コンポーネント５０６、および１つ以上の削除モニタ５０８は、反復を削除する論理を実施する。反復を削除する論理は、前処理、反復を判定すること、反復を削除すること、および反復の削除の結果に応じてデータベースを更新するかどうかを判定することを含む。
【００６９】
一実施例では、いったん反復情報が削除されると、反復削除ログ５１４が記録されるであろう。ログ問い合わせインターフェース５１６が、削除された情報について問い合わせるように提供されてもよい。反復削除ログ５１４はまた、統計レポート５１８を有するようにマイニングされてもよい。
【００７０】
一実施例では、上記のシステムは、非同期情報システムであってもよい。本システムは、非同期および非ブロック情報伝送機構に基づいて、他のサブシステムとの弱連結を実現する。弱連結は、サブシステムとしての上記の削除システムが他のシステムに容易に接続され得ることを意味する、プラグイン方法をサポートしてもよい。上記の非同期および非ブロック情報伝送機構は、スループットおよび処理速度を向上させることができ、負荷バランシングとともに、大量スループット動作に好適である。情報削除モニタ５０４は、構成ファイル５１４に基づいて動作してもよい。
【００７１】
以下は、製品情報の前処理例の例証である。前処理は、製品情報の比較の前に起こる。情報の中のテキストの前処理の実施例として、以下のモジュールのうちの少なくとも１つが、前処理を実装するために使用されてもよい。当然ながら、より多くまたは全てのモジュールが、より良好な結果を達成するために使用されてもよい。
【００７２】
指定文字表から特殊文字にフィルタをかける（例えば、ダッシュ、Ｉ、←↑、ラテンアルファベット等）、特殊記号フィルタリングモジュール。
【００７３】
類似形状、発音、または意味に従って文字を置換する（例えば、両方とも漢字であり、「ｘｉａｎｇ」、「Ｑｉａｎ  Ｋｅ」、および「ｋｇ」等の同一発音を有する、「像」および「相」）、頭音標語置換モジュール。
【００７４】
単純および無意味文字（例えば、「ｏｆ」等）を置換する、無意味語置換モジュール。
【００７５】
文字表に従って、テキストから指定文字（コアキーワードとも呼ばれる）を抽出する、コアキーワード抽出モジュール。
【００７６】
例えば、上記のモジュールの処理方法は、辞書方法に基づいてもよい。言い換えれば、モジュールは、それぞれの論理に基づいて、それぞれ処理規則に対応する辞書ファイルを維持してもよい。本システムが起動するとき、対応する辞書ファイルが内部メモリにロードされる。
【００７７】
以下は、図を参照することによって、かつタイトル、詳細な説明、および属性等の情報のパラメータを使用することによって、情報の前処理を説明する。
【００７８】
図６は、本開示による、タイトル前処理方法例のフローチャートを図示する。前処理６００の前のタイトルは、以下の動作のうちの１つ以上を受けてもよい。
【００７９】
６０２では、タイトルの中の文字が、全角から半角、および大文字から小文字に変換される。６０４では、タイトルの中の単純および無意味語が置換される。６０６では、タイトルの中の特殊文字がフィルタにかけられる。６０８では、タイトルの中の頭音標文字が置換される。前処理されたタイトル６１０が、取得される。
【００８０】
図７は、本開示による、詳細説明前処理方法例のフローチャートを図示する。前処理７００の前の詳細な説明は、以下の動作のうちの１つ以上を受けてもよい。
【００８１】
７０２では、共通ＨＴＭＬタグが除去される。いくつかの実施例では、画像タグが保持される。７０４では、詳細な説明の中の文字が、全角から半角、および大文字から小文字に変換される。７０６では、詳細な説明の中の特殊文字がフィルタにかけられる。７０８では、コアキーワードが、完全マッチングのために詳細な説明から抽出され、残りの部分が、類似度マッチングのために使用される。前処理された詳細な説明７１０が取得され、２つの部分に分割される。
【００８２】
図８は、本開示による、製品の属性パラメータ前処理方法例のフローチャートを図示する。前処理８００の前の製品の属性パラメータは、以下の動作のうちの１つ以上を受けてもよい。
【００８３】
８０２では、属性の中の文字が、全角から半角、および大文字から小文字に変換される。８０４では、属性の中の特殊文字がフィルタにかけられる。８０６では、属性の中の頭音標文字が置換される。前処理された製品の属性パラメータ８０８が取得され、２つの部分に分割される。
【００８４】
タイトル、詳細な説明、属性パラメータ、画像等の比較データの主要部分の前処理は、製品情報の中の多くの不必要な干渉を削除し、それにより、マッチング精度を大いに増加させてもよい。
【００８５】
別の例示的実施形態では、本開示はまた、データベースによって直接循環クエリ比較を置換するために内部メモリマッピング方法を使用する、分散型バッファに基づいて、反復情報比較データベースも提供する。図９は、分散型バッファならびにその入力および出力に基づく、反復情報比較データベース等の反復データベース例９０２の略図を図示する。以下は、反復データベース９００を使用することによる、かつ図９を参照することによる、膨大な製品情報を処理することの説明である。
【００８６】
図９は、論理マップ構造、すなわち、内部メモリの中で維持されるキーおよび値のペアを図示する。構造は、キー９０４と、値９０６とを含む。
【００８７】
一実施例では、キー９０４は、ＭＤ５（情報発行者ＩＤ＋コアキーワード文字列＋特殊属性＋タイトル）と同等である。情報発行者ＩＤ、コアキーワード文字列、特殊属性、およびタイトルは、例証的実施例であり、いくつかの他のキー文字列またはキー文字列の組み合わせもまた、ＭＤ５機能に使用されてもよい。例えば、キー９０４は、コアキーワード部分に関係する。
【００８８】
値９０６は、＜情報ＩＤ、画像サイズリスト、前処理された詳細な説明＞のリストに同等である。情報ＩＤ、画像サイズリスト、および前処理された詳細な説明は、限定のためではなく、例証的な実施例にすぎない。例えば、値９０６は、類似度マッチング部分９１２に関係する。
【００８９】
キー９０４は、完全マッチングを必要とする製品情報の中の部分の統合から生じる、ＭＤ情報要約９０８を含む。キーワードが前処理されると、構造は、完全マッチングを容易かつ迅速に実現することが可能である。ＭＤ５文字列はまた、内部メモリの消費も削減する。
【００９０】
キー９０４が合致した後、値９０６は、類似度アルゴリズムを使用することによって類似度マッチングに使用される。類似度が閾値よりも高い場合、比較データは反復情報として判定される。
【００９１】
完全マッチングを必要とする比較データの中の部分は、実際の状況に基づいて判定されてもよい。例えば、いくつかの状況では、タイトルが同一である場合、比較データは反復情報として判定される。別の実施例について、いくつかの他の状況では、タイトルが同一であると判定された後に、比較データが反復データであるかどうかを判定するように、発行者のＩＤは、完全マッチングが行われる必要がある。したがって、実践では、完全マッチングを必要とする部分を事前定義するためにユーザに利用可能なインターフェースがあり得る。例えば、特殊規則構成ファイル９１４が、完全マッチングを必要とする部分を記録するために使用されてもよい。したがって、完全マッチングの異なる組み合わせが、異なる必要性に応じて柔軟に判定されてもよい。いくつかの実施例では、比較データ９１０が反復データベース９０２の中の反復データではないと判定された後に、データベース９１６の中に記憶されてもよい。いくつかの実施例では、比較データ９１０は、前処理９１８を受けてもよい。
【００９２】
反復データベース９０２はまた、容量上限を制御するために、最長時間未使用アルゴリズム（ＬＳＵ）等のアルゴリズムを使用してもよい。例えば、情報Ｂが、１ヶ月等の事前設定された時間閾値以上にわたって反復データベース９０２の中に記憶されており、合致していない場合、情報Ｂは、内部メモリのサイズを制御するように過多データベースから消去される。
【００９３】
この例示的実施形態は、単一のサーバのクエリおよび容量ボトルネックを克服するため、かつ効率および精度の両方の考慮によって正確で迅速なマッチングおよび線形拡張を実現するために、分散型バッファシステム、ＭＤ５生成、ならびに完全マッチングおよび類似度マッチング方法の組み合わせを使用する。完全マッチングを必要とする部分は、システムの比較融通性および効率を実装する規則によって自己定義されてもよい。さらに、スループットを増加させるために、上記の非同期情報処理機構もまた、使用されてもよい。
【００９４】
図１０は、本開示による、反復を判定するための方法例のフローチャートである。以下は最初に、図１０および以降の図におけるいくつかの背景および用語を説明する。
【００９５】
（１）比較情報Ｂは、システムに入り、前処理を受け、次いで、反復データベースの中の情報Ａと比較される。
【００９６】
（２）［Ｍ，Ｎ］は、処理結果を表し、Ｍは、情報がデータベースの中に記憶されており、Ｎは、情報が反復データベースの中に記憶されていることを表す。例えば、［Ａ，Ａ］は、Ａが、処理後に、データベースおよび反復データベースの中に依然として存在する一方で、Ｂは消去され、データベースまたは反復データベースの中にもはや存在しないことを表す。
【００９７】
（３）〜Ａは、システムの現在の時間として情報Ａの検証経過時間を更新することを表す。
【００９８】
（４）Ａ．ＭＤ５は、ＡのＭＤ５値（例えば、発行者ＩＤ＋コアキーワード文字列＋特殊属性＋タイトル）を表す。
【００９９】
（５）Ａ．Ｐｉｃ１は、情報Ａの中の第１の画像のサイズを表す。Ａ．ＰｉｃＳｅｔは、第１の画像を除外した情報Ａの中の全ての画像の一式のサイズを表す。
【０１００】
（６）Ｓｉｍｉｌａｒ（Ａ，Ｂ）は、ＡおよびＢが類似するかどうかを判定する関数を表す。１つの関数例は、ｚｉｐ（Ａ＋Ｂ）／ｚｉｐ（Ａ）＋ｚｉｐ（Ａ＋Ｂ）／ｚｉｐ（Ｂ）＜２．１等の閾値によって表され、式中、ｚｉｐ（Ａ）は、ｚｉｐ圧縮後のＡの中の詳細な説明のサイズを表す。Ｚｉｐは、圧縮アルゴリズムの一実施例にすぎない。いくつかの他の圧縮アルゴリズムもまた、使用されてもよい。
【０１０１】
（７）ＡおよびＢが交差することは、ＡおよびＢが反復類似情報ではないことを表す。Ａ＝＝Ｂは、ＡおよびＢが反復類似情報であることを表す。ＡがＢを含むことは、ＡがＢのコンテンツを含むことを表す。ＢがＡを含むことは、ＢがＡのコンテンツを含むことを表す。
【０１０２】
（８）ＮＥＷ／ＭＯＤは、新情報の保留中検証／修正された情報の保留中検証といった、情報の状態を表す。ＡＰＰ／ＰＵＢは、バックエンド検証システムによって承認された情報／ネットワークですでに発行された情報といった、情報の別の状態を表す。ＴＢＤ／ＤＥＬ／ＥＸＰは、バックエンド検証システムによって承認されていない情報／バックエンド検証システムによって消去された情報／期限切れのオンライン情報といった、情報の別の状態を表す。
【０１０３】
図１０は、以下の動作を示す。１００２では、Ａ．ＭＤ５がＢ．ＭＤ５と同一であるかどうかが判定される。結果が肯定的である場合、ＡおよびＢは、１００４で交差する。そうでなければ、１００６での動作が行われる。
【０１０４】
１００６では、ｚｉｐ（Ａ＋Ｂ）／ｚｉｐ（Ａ）＋ｚｉｐ（Ａ＋Ｂ）／ｚｉｐ（Ｂ）＜閾値（例えば、２．１）であるかどうか等の、ＡがＢに類似するかどうかが判定される。ＡおよびＢが類似しない場合、ＡおよびＢは交差する。そうでなければ、１００８での動作が行われる。
【０１０５】
１００８では、Ａの第１の画像のサイズがＢの第１の画像のサイズに等しいかどうかが判定される。それらが等しくない、すなわち、Ａ．Ｐｉｃ１！＝Ｂ．Ｐｉｃ１である場合、ＡおよびＢは交差する。そうでなければ、１０１０での動作が行われる。
【０１０６】
１０１０では、第１の画像を除外したＡの全ての画像の一式のサイズが、第１の画像を除外したＢの全ての画像の一式のサイズに等しいかどうかが判定される。それらが同一である、すなわち、Ａ．ＰｉｃＳｅｔ．ｅｑｕａｌｓ（Ｂ．ＰｉｃＳｅｔ）である場合、１０１２でＡ＝＝Ｂである。第１の画像を除外したＡの全ての画像の一式のサイズが、第１の画像を除外したＢの全ての画像の一式のサイズを含む、すなわち、Ａ．ＰｉｃＳｅｔ．ｃｏｎｔａｉｎｓ（Ｂ．ＰｉｃＳｅｔ）である場合、１０１４でＡがＢを含む。第１の画像を除外したＢの全ての画像の一式のサイズが、１の画像を除外したＡの全ての画像の一式のサイズを含む、すなわち、Ｂ．ＰｉｃＳｅｔ．ｃｏｎｔａｉｎｓ（Ａ．ＰｉｃＳｅｔ）である場合、１０１６でＢがＡを含む。
【０１０７】
反復データベースのサイズを制御する動作が、プロセスに追加されてもよい。例えば、それは、Ｂのタイムスタンプと現在の時間との間の差が閾値よりも長いかどうかを判定してもよい。結果が肯定的である場合、Ｂが、Ｂの情報ＩＤに従って反復データベースを通して検索され、反復データベースから消去される。この動作の実施時間は、制限されなくてもよい。例えば、動作は、サーバの負荷が閾値よりも低いときに行われてもよい。
【０１０８】
上記の反復処理は、以下の擬似コードによって表されてもよい。
ａ）ＩＦ  Ａ．ＭＤ５！＝Ｂ．ＭＤ５＝＞Ａ  ａｎｄ  Ｂ  ｉｎｔｅｒｓｅｃｔ
ｂ）ＥＬＳＥＩＦ！Ｓｉｍｉｌａｒ（Ａ，Ｂ）＝＞Ａ  ａｎｄ  Ｂ  ｉｎｔｅｒｓｅｃｔ
ｃ）ＥＬＳＥＩＦ  Ａ．Ｐｉｃ１！＝Ｂ．Ｐｉｃ１＝＞Ａ  ａｎｄ  Ｂ  ｉｎｔｅｒｓｅｃｔ
ｄ）ＥＬＳＥＩＦ  Ａ．ＰｉｃＳｅｔ．ｅｑｕａｌｓ（Ｂ．ＰｉｃＳｅｔ）＝＞Ａ＝＝Ｂ
ｅ）ＥＬＳＥＩＦ  Ａ．ＰｉｃＳｅｔ．ｃｏｎｔａｉｎｓ（Ｂ．ＰｉｃＳｅｔ）＝＞Ａ  ｉｎｃｌｕｄｅｓ  Ｂ
ｆ）ＥＬＳＥＩＦ  Ｂ．ＰｉｃＳｅｔ．ｃｏｎｔａｉｎｓ（Ａ．ＰｉｃＳｅｔ）＝＞Ｂ  ｉｎｃｌｕｄｅｓ  Ａ
ｇ）ＥＬＳＥ  Ａ  ａｎｄ  Ｂ  ｉｎｔｅｒｓｅｃｔ
【０１０９】
図１１は、本開示による、ＡがＢを含むときの反復処理方法例のフローチャートを図示する。１１０２では、ＡがＢを含む。１１０４では、ＡがＮＥＷ／ＭＯＤであるかどうかが判定される。結果が肯定的である場合には、１１０６で、Ａがデータベースおよび反復データベースの両方の中で保持されることを表す［Ａ，Ａ］である。そうでなければ、１１０４での動作が行われる。
【０１１０】
１１０８では、ＡがＡＰＰ／ＰＵＢであるかどうかが判定される。結果が肯定的である場合には、１１１０で、Ａの検証経過時間がデータベースの中の現在のシステム時間に更新され、Ａが反復データベースの中で保持されることを表す、［〜Ａ，Ａ］である。そうでなければ、１１０６での動作が行われる。
【０１１１】
１１１２では、ＡがＴＢＤ／ＤＥＬ／ＥＸＰであるかどうかが判定される。結果が肯定的である場合には、１１１４で、Ａがデータベースの中で保持され、Ｂの検証経過時間がデータベースの中の現在のシステム時間に更新され、Ｂが反復データベースの中で保持されることを表す、［Ａ〜Ｂ，Ｂ］である。
【０１１２】
上記の動作は、必ずしも１１０２から１１０６の順序に従って行われなくてもよい。動作は、同一の結果を達成するように、他の順序に従って行われてもよい。１１０２から１１０６の順序は、例証のためのものにすぎない。
【０１１３】
図１２は、本開示による、Ａ＝＝Ｂであるときの反復処理方法例のフローチャートを図示する。図１２は、図１０における動作に続く動作を図示する。１２０２では、Ａ＝＝Ｂである。
【０１１４】
１２０４では、ＡがＮＥＷ／ＭＯＤであるかどうかが判定される。結果が肯定的である場合には、１２０６で［Ｂ，Ｂ］である。そうでなければ、１２０４での動作が行われる。
【０１１５】
１２０８では、ＡがＡＰＰ／ＰＵＢであるかどうかが判定される。結果が肯定的である場合には、１２１０で［〜Ａ，Ａ］である。そうでなければ、１２０６での動作が行われる。
【０１１６】
１２１２では、ＡがＴＢＤ／ＤＥＬ／ＥＸＰであるかどうかが判定される。結果が肯定的である場合には、１２１４で、ＡおよびＢが、データベースの中で保持され、Ｂはまた、反復データベースの中でも保持されることを表す、［ＡＢ，Ｂ］である。
【０１１７】
上記の動作は、必ずしも１２０２から１２０６の順序に従って行われなくてもよい。動作は、同一の結果を達成するように、他の順序に従って行われてもよい。１２０２から１２０６の順序は、例証のためのものにすぎない。
【０１１８】
図１０および１１で示されるように、ＡがＢを含み、Ａ＝＝Ｂであるときの状況を除いて、ＡおよびＢが交差することが判定される。上記の反復処理は、以下の擬似コードによって表されてもよい。
ａ）ＩＦ  Ａ  ｉｎｃｌｕｄｅｓ  Ｂ
ｉ．ＩＦ  Ａ  ｉｓ  ＮＥＷ／ＭＯＤ＝＞［Ａ，Ａ］
ｉｉ．ＥＬＳＥＩＦ  Ａ  ｉｓ  ＡＰＰ／ＰＵＢ＝＞［〜Ａ，Ａ］
ｉｉｉ．ＥＬＳＥ  Ａ  ｉｓ  ＴＢＤ／ＤＥＬ／ＥＸＰ＝＞［Ａ〜Ｂ，Ｂ］
ｂ）ＥＬＳＥＩＦ  Ａ＝＝Ｂ
ｉ．ＩＦ  Ａ  ｉｓ  ＮＥＷ／ＭＯＤ＝＞［Ｂ，Ｂ］
ｉｉ．ＥＬＳＥ  ＩＦ  Ａ  ｉｓ  ＡＰＰ／ＰＵＢ＝＞［〜Ａ，Ａ］
ｉｉｉ．ＥＬＳＥ  Ａ  ｉｓ  ＴＢＤ／ＤＥＬ／ＥＸＰ＝＞［ＡＢ，Ｂ］
ｃ）ＥＬＳＥ  Ａ  ａｎｄ  Ｂ  ｉｎｔｅｒｓｅｃｔ＝＞［ＡＢ，ＡＢ］
【０１１９】
別の実施形態では、本開示はまた、上記の例示的実施形態で説明される技法を実装する反復データ処理ソフトウェアも提供する。
【０１２０】
別の実施形態では、本開示はまた、コンピュータ記憶媒体も提供する。コンピュータ記憶媒体は、上記の反復データ処理ソフトウェアを記憶し、ＤＶＤ、ＣＤ−ＲＯＭ、ハードドライブ、書き込み可能記憶デバイス等の形態であってもよいが、それらに限定されない。
【０１２１】
当業者は、本開示の実施形態が、方法、システム、またはコンピュータプログラミング製品であってもよいことを理解すべきである。したがって、本開示は、ハードウェア、ソフトウェア、または両者の組み合わせによって実装され得る。さらに、本開示は、コンピュータが実行可能な記憶媒体（ディスク、ＣＤ−ＲＯＭ、光ディスク等を含むが、これらに限定されない）に実装され得る、コンピュータが実行可能なコードを含む１つ以上のコンピュータプログラムの形式であってもよい。
【０１２２】
当業者であれば、本明細書で説明されるモジュールまたは動作が、単一の演算処理装置の中にある、またはネットワークにおける複数の演算処理装置の間で分散された、汎用演算処理装置によって実施されてもよいことを理解するべきである。随意に、それらは、１つ以上のプロセッサによって処理されるか、または異なる回路モジュールの中へ製造される、コンピュータ記憶媒体であってもよい。代替として、いかなるモジュールまたは動作も、１つの回路モジュールに組み込まれなくてもよく、またはより多くのモジュールまたは動作が組み込まれてもよい。本開示は、ハードウェアおよび／またはソフトウェアのいかなる特定の組み合わせも限定しない。
【０１２３】
本開示は、本開示の実施形態の方法、装置（システム）、およびコンピュータプログラムのフローチャート、および／またはブロック図を参照して説明される。フローチャートおよび／またはブロック図の、各フローおよび／またはブロック、ならびにフローおよび／またはブロックの組み合わせは、コンピュータプログラム命令によって実装され得ることを理解されたい。コンピュータ、または他のプログラム可能なデータプロセッサによって動作される命令を通して、フローチャートの１つ以上のフロー、および／またはブロック図の１つ以上のブロックを実装している装置が生成され得るように、これらのコンピュータプログラム命令は、マシンを生成するために、一般的なコンピュータ、特定のコンピュータ、内蔵プロセッサ、または他のプログラム可能なデータプロセッサに提供されてもよい。
【０１２４】
コンピュータ、または他のプログラム可能なデータプロセッサが、コンピュータによって実装される、プロセスを生成するための一連の動作ステップを実行し得るように、これらのコンピュータプログラム命令はまた、コンピュータ、または他のプログラム可能なデータプロセッサに読み込まれてもよい。これにより、コンピュータ、または他のプログラム可能なデータプロセッサで実行される命令は、フローチャートの１つ以上のフローおよび／またはブロック図の１つ以上のブロックに特定される機能を実装するステップを提供し得る。
【０１２５】
これらの実施形態は、本開示を説明するに過ぎず、本開示の範囲を限定するものではない。当業者には、本開示の原則から逸脱することなく、若干の変更、および改良が行われてもよく、また本開示の範囲内にあると見なされるべきであることを理解されたい。
【図１】
0006051212.tif 000002
【図２】
0006051212.tif 000003
【図３】
0006051212.tif 000004
【図４】
0006051212.tif 000005
【図５】
0006051212.tif 000006
【図６】
0006051212.tif 000007
【図７】
0006051212.tif 000008
【図８】
0006051212.tif 000009
【図９】
0006051212.tif 000010
【図１０】
0006051212.tif 000011
【図１１】
0006051212.tif 000012
【図１２】
0006051212.tif 000013