(57)【特許請求の範囲】
【請求項１】
分散型検索方法であって、
複数のプロキシーサーバーのうちの少なくとも１つの第１プロキシーサーバーが問い合わせサーバーからの問い合わせ要求を受信すると、前記問い合わせ要求に対応する属性情報を取得するステップと、
前記第１プロキシーサーバーが前記属性情報に基づいて設定管理サーバーに問い合わせて、前記属性情報に対応する機器情報を取得するステップと、
前記第１プロキシーサーバーが前記機器情報に対応する少なくとも２つのエンジンサーバーに前記問い合わせ要求を送信するステップと、
前記第１プロキシーサーバーが、前記少なくとも２つのエンジンサーバーが前記問い合わせ要求に基づいて戻した第１問い合わせ結果を取得するステップと、
前記第１プロキシーサーバーが少なくとも２つの前記第１問い合わせ結果を予め設定されたルールにしたがって第２問い合わせ結果として併合するステップと、
前記第１プロキシーサーバーが前記第２問い合わせ結果を前記問い合わせサーバーに送信するステップとを含み、
前記複数のプロキシーサーバーから、少なくとも１つのサービスタイプが前記問い合わせ要求とマッチングするプロキシーサーバーを前記第１プロキシーサーバーとして選択するステップ、または
予め設定されたルールにしたがって前記複数のプロキシーサーバーから少なくとも１つを前記第１プロキシーサーバーとして選択するステップをさらに含む分散型検索方法。
【請求項２】
前記少なくとも２つのエンジンサーバーが前記問い合わせ要求に基づいて戻した前記第１問い合わせ結果を取得するステップは、
前記第１プロキシーサーバーが予め設定されたカットオフパラメータを満たす前記第１問い合わせ結果を取得するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記予め設定されたルールは、ランダムルールとポーリングルールを含むことを特徴とする請求項１に記載の方法。
【請求項４】
インデックスの更新方法であって、
マスター制御サーバーが設定管理サーバーから分割ルールを取得するステップと、
前記マスター制御サーバーが前記分割ルールをインデックス作成サーバーに送信することで、前記インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを分割するステップと、
前記マスター制御サーバーが前記分割した結果を特徴付けるインデックス設定情報を取得するステップと、
前記マスター制御サーバーが前記インデックス設定情報に基づいてインデックスデータを取得するステップと、
前記マスター制御サーバーが前記インデックスデータを複数のエンジンサーバーのうちの、対応する少なくとも２つのエンジンサーバーに記憶するステップとを含むインデックスの更新方法。
【請求項５】
プロキシーサーバーであって、
問い合わせサーバーからの問い合わせ要求を受信するための通信手段と、
前記問い合わせ要求に対応する属性情報を取得し、前記属性情報に基づいて設定管理サーバーに問い合わせて前記属性情報に対応する機器情報を取得し、かつ前記機器情報に対応する少なくとも２つのエンジンサーバーを決定するための処理手段とを備え、
前記通信手段は、さらに、前記少なくとも２つのエンジンサーバーに前記問い合わせ要求を送信して、前記少なくとも２つのエンジンサーバーが前記問い合わせ要求に基づいて戻した第１問い合わせ結果を取得することに用いられ、
前記処理手段は、さらに、少なくとも２つの前記第１問い合わせ結果を予め設定されたルールにしたがって併合し、第２問い合わせ結果を得ることに用いられ、
前記通信手段は、さらに、前記第２問い合わせ結果を前記問い合わせサーバーに送信することに用いられ、
前記プロキシーサーバーは、前記問い合わせ要求のサービスタイプに対応するプロキシーサーバー、または予め設定されたルールに基づいて決定するプロキシーサーバーであるプロキシーサーバー。
【請求項６】
マスター制御サーバーであって、
設定管理サーバーから分割ルールを取得するためのマスター制御モジュールと、
前記分割ルールをインデックス作成サーバーに送信することで、前記インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを分割し、かつ前記分割した結果を特徴付けるインデックス設定情報を取得するための通知モジュールとを備え、
前記マスター制御モジュールは、さらに、前記インデックス設定情報に基づいてインデックスデータを取得し、かつ前記インデックスデータを複数のエンジンサーバーのうちの、対応する少なくとも２つのエンジンサーバーに記憶することに用いられるマスター制御サーバー。
【請求項７】
前記マスター制御サーバーは、さらに、複数のクライアントモジュールを備え、前記複数のクライアントモジュールは複数のエンジンサーバーと一対一で対応し、
前記マスター制御モジュールは、第１クライアントモジュールが第１インデックスデータを取得するように、前記インデックス設定情報に基づいて指示し、前記第１クライアントモジュールは、前記インデックス設定情報に含まれた第１分割結果に対応する前記複数のクライアントモジュールのうちのクライアントモジュールであり、
前記第１クライアントモジュールは、前記マスター制御モジュールの指示に基づいて前記インデックスデータを取得し、かつ前記インデックスデータを対応するエンジンサーバーに記憶することを特徴とする請求項６に記載のマスター制御サーバー。
【請求項８】
分散型検索システムであって、
分割ルールを含む設定情報と、複数のエンジンサーバーの情報を特徴付ける機器情報とを管理するための設定管理サーバーと、
端末装置の問い合わせ要求を取得するための問い合わせサーバーと、
複数のプロキシーサーバーと、
それぞれ、前記分割ルールを満たすインデックスデータを記憶するための複数のエンジンサーバーとを備え、
前記複数のプロキシーサーバーのうちの少なくとも１つの第１プロキシーサーバーは、前記問い合わせサーバーからの前記問い合わせ要求を受信した後、前記問い合わせ要求の属性情報に基づいて前記設定管理サーバーに問い合わせることにより、前記複数のエンジンサーバーのうちの少なくとも２つの第１エンジンサーバーを決定し、かつ前記少なくとも２つの第１エンジンサーバーに前記問い合わせ要求を送信し、
前記少なくとも２つの第１エンジンサーバーのそれぞれは、前記問い合わせ要求を受信することに応答して第１問い合わせ結果をフィードバックし、
前記少なくとも１つの第１プロキシーサーバーは、少なくとも２つの前記第１問い合わせ結果を第２問い合わせ結果として併合し、かつ前記問い合わせサーバーに送信することで、前記問い合わせサーバーが前記第２問い合わせ結果を前記端末装置に戻し、
前記問い合わせサーバーは、サービスタイプが前記問い合わせ要求のサービスタイプとマッチングする前記複数のプロキシーサーバーのうちの前記第１プロキシーサーバーに前記問い合わせ要求を送信する、または
前記問い合わせサーバーは、予め設定されたルールにしたがって前記プロキシーサーバーから少なくとも１つを前記第１プロキシーサーバーとして選択し、かつ前記第１プロキシーサーバーに前記問い合わせ要求を送信する分散型検索システム。
【請求項９】
前記設定管理サーバーから前記分割ルールを取得するためのマスター制御サーバーと、
前記マスター制御サーバーにより送信された前記分割ルールに基づいて作成対象のインデックスデータを分割し、かつ前記分割した結果を特徴付けるインデックス設定情報を前記マスター制御サーバーに送信するためのインデックス作成サーバーとを、さらに、備え、
前記マスター制御サーバーは、前記インデックス設定情報に基づいてインデックスデータを取得し、かつ前記インデックスデータを対応する前記複数のエンジンサーバーのうちの少なくとも２つのエンジンサーバーに記憶することを特徴とする請求項８に記載のシステム。
【請求項１０】
前記第１エンジンサーバーは、予め設定されたカットオフパラメータに基づいて前記第１プロキシーサーバーに前記第１問い合わせ結果をフィードバックすることを特徴とする請求項８に記載のシステム。
【請求項１１】
コンピューター機器であって、メモリ、プロセッサ、及びメモリに記憶され、プロセッサに運転可能なコンピュータープログラムを備えるコンピューター機器であって、前記プロセッサが前記プログラムを実行すると、請求項１〜３のいずれか一項に記載の分散型検索方法のステップを実装することを特徴とするコンピューター機器。
【請求項１２】
コンピューター機器であって、メモリ、プロセッサ、及びメモリに記憶され、プロセッサに運転可能なコンピュータープログラムを備えるコンピューター機器であって、前記プロセッサが前記プログラムを実行すると、請求項４に記載のインデックスの更新方法のステップを実装することを特徴とするコンピューター機器。
【発明の詳細な説明】
【技術分野】
【０００１】
＜関連願の相互参照＞
本特許願は２０１７年７月５日に提出した、願番号が２０１７１０５４０１３５．０、発明名称が「分散型検索及びインデックスの更新方法、システム、サーバー並びにコンピューター機器」の中国特許願の優先権を主張し、本願の全内容は引用によって本明細書に組み込まれている。
【０００２】
本発明は分散型検索及びインデックスの更新方法、システム、サーバー並びにコンピューター機器に関する。
【背景技術】
【０００３】
モバイルインターネットの発展にしたがって、モバイルデバイスを介して簡単にネットワークにアクセスし、ネットワークサービスを取得することができるようになり、多くのオンラインからオフライン（Ｏ２Ｏ：Ｏｎｌｉｎｅ−ｔｏ−Ｏｆｆｌｉｎｅ）のローカリゼーションライフサービスが出現した。ただし、サービスの爆発的な成長に伴い、検索エンジンが問い合わせる必要があるデータの量がますます増えており、スタンドアロンメモリがこれらのデータを記憶できなくなり、システムの安定性がますます低くなり、また問い合わせ要求の遅延も増加しているため、ユーザー体験がますます悪化してしまう。
【０００４】
検索、インデックスおよびインデックスメンテナンスプログラムを１つのサーバーに配置したり、インデックスを複数の機器に分割してエンジンでインデックスを管理したりすることができる。しかし、検索の同時接続数が大きい場合、リアルタイムに拡張できない可能性がある。また、サービス量の増加に伴って、必要とするインデックスの数もますます多くなり、運用と保守のコストもますます高くなり、オンライン安定性に影響を与える。
【０００５】
マスター（ｍａｓｔｅｒ）スレーブ（ｓｌａｖｅ）構造の分散型検索システムを用いることができる。しかし、マスターサーバーを選択する必要があるため、マスターサーバーに異常が発生して動作できないと、マスターサーバーを再選択する必要がある。これにより、マスターサーバーの再選択中に検索サービスが利用できなくなる可能性があり、オンライン安定性に影響を与えてしまう。
【発明の概要】
【課題を解決するための手段】
【０００６】
現在存在する技術課題を解決するために、本発明の実施例は、分散型検索及びインデックスの更新方法、システム、サーバー並びにコンピューター機器を提供する。
【０００７】
本発明の第１形態によれば、複数のプロキシーサーバーのうちの少なくとも１つの第１プロキシーサーバーが問い合わせサーバーからの問い合わせ要求を受信すると、前記問い合わせ要求に対応する属性情報を取得するステップと、前記第１プロキシーサーバーが前記属性情報に基づいて設定管理サーバーに問い合わせて、前記属性情報に対応する機器情報を取得するステップと、前記第１プロキシーサーバーが前記機器情報に対応する少なくとも２つのエンジンサーバーに前記問い合わせ要求を送信するステップと、前記第１プロキシーサーバーが、前記少なくとも２つのエンジンサーバーが前記問い合わせ要求に基づいて戻った第１問い合わせ結果を取得するステップと、前記第１プロキシーサーバーが少なくとも２つの前記第１問い合わせ結果を予め設定されたルールにしたがって第２問い合わせ結果として併合するステップと、前記第１プロキシーサーバーが前記第２問い合わせ結果を前記問い合わせサーバーに送信するステップとを含む分散型検索方法を提供する。
【０００８】
本発明の第２形態によれば、マスター制御サーバーが設定管理サーバーから分割ルールを取得するステップと、前記マスター制御サーバーが前記分割ルールをインデックス作成サーバーに送信することで、前記インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを分割するステップと、前記マスター制御サーバーが前記分割した結果を特徴付けるインデックス設定情報を取得するステップと、前記マスター制御サーバーが前記インデックス設定情報に基づいてインデックスデータを取得するステップと、前記マスター制御サーバーが前記インデックスデータを複数のエンジンサーバーのうちの、対応する少なくとも２つのエンジンサーバーに記憶するステップとを含むインデックスの更新方法を提供する。
【０００９】
本発明の第３形態によれば、問い合わせサーバーからの問い合わせ要求を受信するための通信手段と、前記問い合わせ要求に対応する属性情報を取得し、前記属性情報に基づいて設定管理サーバーに問い合わせて前記属性情報に対応する機器情報を取得し、かつ前記機器情報に対応する少なくとも２つのエンジンサーバーを決定するための処理手段とを備えるプロキシーサーバーを提供する。前記通信手段は、さらに、前記少なくとも２つのエンジンサーバーに前記問い合わせ要求を送信して、前記少なくとも２つのエンジンサーバーが前記問い合わせ要求に基づいて戻った第１問い合わせ結果を取得することに用いられる。前記処理手段は、さらに、少なくとも２つの前記第１問い合わせ結果を予め設定されたルールにしたがって併合し、第２問い合わせ結果を得ることに用いられる。前記通信手段は、さらに、前記第２問い合わせ結果を前記問い合わせサーバーに送信することに用いられる。
【００１０】
本発明の第４形態によれば、設定管理サーバーから分割ルールを取得するためのマスター制御モジュールと、前記分割ルールをインデックス作成サーバーに送信することで、前記インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを分割し、かつ前記分割した結果を特徴付けるインデックス設定情報を取得するための通知モジュールとを備えるマスター制御サーバーを提供する。前記マスター制御モジュールは、さらに、前記インデックス設定情報に基づいてインデックスデータを取得し、かつ前記インデックスデータを複数のエンジンサーバーのうちの、対応する少なくとも２つのエンジンサーバーに記憶することに用いられる。
【００１１】
本発明の第５形態によれば、分割ルールを含む設定情報と、前記複数のエンジンサーバーの情報を特徴付ける機器情報とを管理するための設定管理サーバーと、端末装置の問い合わせ要求を取得するための問い合わせサーバーと、複数のプロキシーサーバーと、それぞれ、前記分割ルールを満たすインデックスデータを記憶するための複数のエンジンサーバーとを備える分散型検索システムを提供する。前記複数のプロキシーサーバーのうちの少なくとも１つの第１プロキシーサーバーは、前記問い合わせサーバーからの前記問い合わせ要求を受信した後、前記問い合わせ要求の属性情報に基づいて前記設定管理サーバーに問い合わせることにより、前記複数のエンジンサーバーのうちの少なくとも２つの第１エンジンサーバーを決定し、かつ前記少なくとも２つの第１エンジンサーバーに前記問い合わせ要求を送信する。前記少なくとも２つの第１エンジンサーバーのそれぞれは、前記問い合わせ要求を受信することに応答して第１問い合わせ結果をフィードバックする。前記少なくとも１つの第１プロキシーサーバーは、少なくとも２つの前記第１問い合わせ結果を第２問い合わせ結果として併合し、かつ前記問い合わせサーバーに送信することで、前記問い合わせサーバーが前記第２問い合わせ結果を前記端末装置に戻す。
【００１２】
本発明の第６形態によれば、メモリ、プロセッサ及びメモリに記憶され、プロセッサに運転可能なコンピュータープログラムを備えるコンピューター機器であって、前記プロセッサが前記プログラムを実行すると、上記分散型検索方法のステップを実装することを特徴とするコンピューター機器を提供する。
【００１３】
本発明の第７形態によれば、メモリ、プロセッサ及びメモリに記憶され、プロセッサに運転可能なコンピュータープログラムを備えるコンピューター機器であって、前記プロセッサが前記プログラムを実行すると、上記インデックスの更新方法のステップを実装することを特徴とするコンピューター機器を提供する。
【００１４】
本発明の実施例の技術案を用いて、複数のプロキシーサーバーを問い合わせサーバーとエンジンサーバーに接続する分散型構造により、問い合わせサーバーの問い合わせ要求が複数のプロキシサービスのうちの少なくとも１つのプロキシーサーバーに送信でき、少なくとも１つのプロキシーサーバーが対応する少なくとも２つのエンジンサーバーから問い合わせ結果を取得する。複数のプロキシーサーバーが相互間に並行関係を持っているので、あるプロキシーサーバーが動作できないと、その他のプロキシーサーバーが動作できることにより、マスターデバイスが動作できないと、マスターデバイスを再選択する必要があるため、短期間に検索サービスが利用できなくなることを効果的に回避できる。また、マスター制御サーバーを介して設定管理サーバー、インデックス作成サーバー及びエンジンサーバーを接続してインデックスデータの更新・メンテナンスを行い、プロキシーサーバーがインデックスの更新・メンテナンスを行う必要がないため、プロキシーサーバーの負荷を大幅に軽減できる。
【図面の簡単な説明】
【００１５】
【図１】図１は本発明の一実施例のインデックスの更新方法のプロセス模式図である。
【図２】図２は本発明の一実施例の分散型検索方法のアプリケーションアーキテクチャ及びデータ交換の模式図である。
【図３】図３は本発明の他の実施例の分散型検索方法のプロセス模式図である。
【図４】図４は本発明の他の実施例の分散型検索方法のアプリケーションアーキテクチャ及びデータ交換の模式図である。
【図５】図５は本発明の一実施例のプロキシーサーバーの設定構造模式図である。
【図６】図６は本発明の一実施例のマスター制御サーバーの設定構造模式図である。
【図７】図７は本発明の実施例のコンピューター機器の設定構造模式図である。
【発明を実施するための形態】
【００１６】
以下、図面及び具体的な実施例を参照しながら、本発明についてさらに詳細に説明する。
【００１７】
図１は本発明の一実施例のインデックスの更新方法のプロセス模式図である。図１に示すように、前記方法は以下のステップを含む。
【００１８】
ステップ１０１：マスター制御サーバーが設定管理サーバーから取得された分割ルールをインデックス作成サーバーに送信することで、インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを複数のインデックス設定情報に分割する。
【００１９】
ステップ１０２：前記マスター制御サーバーが前記インデックス作成サーバーからインデックス設定情報を取得する。
【００２０】
ステップ１０３：前記マスター制御サーバーが前記インデックス設定情報に基づいてインデックスデータを取得する。
【００２１】
ステップ１０４：前記マスター制御サーバーが前記インデックスデータを複数のエンジンサーバーのうちの、対応する第１エンジンサーバーに記憶して、前記第１エンジンサーバーに記憶されたインデックスデータを更新する。
【００２２】
本実施例のインデックスの更新方法は、マスター制御サーバーに適用でき、前記マスター制御サーバーは、具体的にはサーバー又はサーバークラスターであってもよい。一実施例においては、前記マスター制御サーバーは、マスター制御モジュール２１０、通知モジュール２２０及び複数のクライアントモジュール２３０を備え、具体的には図２を参照できる。前記マスター制御モジュール２１０は、統合にスケジューリングし、かつ設定管理サーバー２４０と通信することに用いられ得る。前記通知モジュール２２０は、インデックス作成サーバー２５０に通知することに用いられ得る。前記通知モジュール２２０の数は、１つ又は複数であり得る。たとえば、複数の通知モジュール２２０は、サービスタイプに応じて区分して、それぞれ対応するサービスタイプに属するインデックス作成の相関情報を通知することに用いられる。前記クライアントモジュール２３０の数はエンジンサーバー２６０の数と同じであってもよく、且つクライアントモジュール２３０のそれぞれが１つのエンジンサーバー２６０に対応し、前記クライアントモジュール２３０は、マスター制御モジュール２１０の指示に基づいてインデックスデータを抽出し、抽出したインデックスデータを対応するエンジンサーバー２６０に記憶することに用いられ得る。前記マスター制御モジュール２１０、各通知モジュール２２０は、独立したサーバーにより実装できる。前記クライアントモジュール２３０は、対応するエンジンサーバー２６０に位置し、かつ対応するエンジンサーバー２６０により対応する機能を実装する。実際に使用される際、前記マスター制御モジュール２１０には予備マスター制御モジュールが配置されてもよい。通知モジュール２２０のそれぞれにも対応する予備通知モジュールが配置されてもよい。各クライアントモジュール２３０のそれぞれにも対応する予備クライアントモジュールが配置されてもよい。このように、マスターモジュールに異常が発生して動作できないと、対応する予備モジュールにより対応する機能を実行し続ける。
【００２３】
設定管理サーバー２４０は、設定情報と機器情報を管理することに用いられ得る。前記機器情報は、前記複数のエンジンサーバー２６０の情報を特徴付ける。エンジンサーバー２６０の情報は、エンジンサーバーのＩＰアドレスとポート等の情報を含む。一例としては、前記機器情報は、上記エンジンサーバー２６０の情報を含む機器リストにより示される。前記設定情報は、少なくとも、サービスＩＤ、機器設定情報及び設定のルール情報等を含む。前記機器設定情報は、具体的には機器リストを含み、すなわちエンジンサーバー２６０のＩＰアドレスとポート等の情報を含む。前記ルール情報は、検索プロセスに必要なすべての操作ルールを含み、インデックス作成際に必要な分割ルール、インデックス作成ルール、通知モジュールがどの又はどれらのサービスタイプのインデックス作成を実行するかの通知情報の設定ルール、クライアントモジュールがどの又はどれらのサービスタイプに対応するインデックスデータを抽出するかの設定ルール等を少なくとも含むが、明らかに上記の複数種のルールに限られない。
【００２４】
マスター制御サーバーが設定管理サーバー２４０から設定情報中の分割ルールを取得し、前記分割ルールをインデックス作成サーバー２５０に送信するステップは、具体的には、マスター制御モジュール２１０が設定管理サーバー２４０から分割ルール（明らかに、インデックス作成ルールも含む）を取得するステップと、マスター制御モジュール２１０が前記分割ルールと前記インデックス作成ルールを前記通知モジュール２２０に送信するステップと、前記通知モジュール２２０が前記分割ルールと前記インデックス作成ルールをインデックス作成サーバー２５０に送信するステップとを含む。前記通知モジュール２２０の数がサービスタイプに応じて複数設定されてもよいので、前記マスター制御モジュール２１０は、作成対象のインデックスデータのサービスタイプに応じて、前記設定管理サーバー２４０から前記サービスタイプとマッチングする分割ルールとインデックス作成ルールを取得し、かつ前記分割ルールと前記インデックス作成ルールを前記サービスタイプとマッチングする通知モジュール２２０に送信する。前記通知モジュール２２０は、前記分割ルールと前記インデックス作成ルールを前記インデックス作成サーバー２５０に送信する。
【００２５】
前記インデックス作成サーバー２５０は、前記インデックス作成ルールにしたがってインデックスを作成し、さらに作成したインデックスデータを前記分割ルールにしたがって分割する。前記分割ルールは、分割パラメータを含み、前記分割パラメータは、具体的にはインデックスデータの分割数を特徴付けるための分割の数を含む。たとえば、前記分割の数がＮである場合、インデックスデータをＮ組のインデックスサブデータに分割することを特徴付ける。作成するインデックスデータが少なくとも２つのエンジンサーバー２６０に分散して記憶されるように、Ｎは２以上の正整数であってもよい。たとえば、ｓｅａｒｃｈ＿ｏｎｌｉｎｅ＿ｄｉｓ＿１とｓｅａｒｃｈ＿ｏｎｌｉｎｅ＿ｄｉｓ＿２が一組の完全なインデックスデータであり、分割ルールにしたがって同じレベルの２つのインデックスデータに分割できる。前記２つのインデックスデータはそれぞれ異なるエンジンサーバーに記憶できる。
【００２６】
さらに、前記インデックス作成サーバー２５０は、作成して分割済みのインデックスデータに基づいてインデックス設定情報を生成する。前記インデックス設定情報は複数含まれてもよく、又は、複数のインデックス設定サブ情報を含んでもよい。複数の前記インデックス設定情報又は前記複数のインデックス設定サブ情報は、インデックスデータの分割結果を特徴付け、分割済みのインデックスサブデータのそれぞれに対応するエンジンサーバー２６０を含む。インデックス設定情報のそれぞれ又はインデックス設定サブ情報のそれぞれは、対応するエンジンサーバー２６０のそれぞれがどれらのインデックスデータを取得して記憶するかを示すことに用いられる。前記通知モジュール２２０はインデックス設定情報を取得し、かつ前記インデックス設定情報を前記マスター制御モジュール２１０に送信することで、前記マスター制御モジュール２１０はさらに対応するクライアントモジュール２３０がインデックスデータを抽出するように指示する。
【００２７】
前記マスター制御サーバーが前記インデックス設定情報に基づいてインデックスデータを取得し、前記インデックスデータを少なくとも２つのエンジンサーバーに記憶するステップは、具体的には、前記インデックス設定情報に含まれた分割結果に対応する任意のクライアントモジュールである第１クライアントモジュール２３０がインデックスデータを取得するように、前記マスター制御モジュール２１０が前記インデックス設定情報に基づいて指示するステップと、前記第１クライアントモジュール２３０が、取得した前記インデックスデータを前記第１クライアントモジュール２３０に対応するエンジンサーバー２６０に記憶するステップとを含む。具体的には、前記マスター制御モジュール２１０は、任意のインデックス設定情報又は任意のインデックス設定サブ情報に含まれたインデックスデータに対応するエンジンサーバー２６０に応じて、前記エンジンサーバー２６０に対応する第１クライアントモジュール２３０を指示する。このように、前記第１クライアントモジュール２３０は、前記マスター制御モジュール２１０の指示に基づいて、対応するインデックスデータを抽出して、かつ抽出したインデックスデータを前記第１クライアントモジュール２３０に対応するエンジンサーバー２６０に記憶する。
【００２８】
本実施例の分散型検索方法は、具体的には、オフラインのデータ処理プロセスとするインデックスデータの抽出更新プロセスであることを理解されたい。図２を参照すると、各サーバーと各モジュールを組み合わせたデータ処理プロセスは以下のとおりである
【００２９】
ステップ２１：マスター制御モジュール２１０が設定管理サーバー２４０から分割ルールとインデックス作成ルールを取得する。一実施の形態としては、前記マスター制御モジュール２１０は、作成対象のインデックスデータのサービスタイプに基づいて前記サービスタイプとマッチングする分割ルールとインデックス作成ルールを取得する。
【００３０】
ステップ２２：前記マスター制御モジュール２１０が前記分割ルールとインデックス作成ルールを通知モジュール２２０に送信する。
【００３１】
ステップ２３：前記通知モジュール２２０が前記分割ルールとインデックス作成ルールをインデックス作成サーバー２５０に送信する。
【００３２】
前記インデックス作成サーバー２５０は、インデックス作成ルールにしたがってインデックスデータを作成し、分割ルールにしたがってインデックスデータをＮ個のインデックスサブデータに分割する。また、前記インデックス作成サーバー２５０は、作成して分割済みのインデックスデータに基づいて複数のインデックス設定情報又は複数のインデックス設定サブ情報を生成する。前記インデックス設定情報のそれぞれ又は前記インデックス設定サブ情報のそれぞれは、インデックスデータの分割結果を特徴付け、かつ分割済みのインデックスサブデータのそれぞれに対応するエンジンサーバー２６０を含み、それにより対応するエンジンサーバー２６０のそれぞれがどのインデックスデータを取得して記憶するかを示す。
【００３３】
ステップ２４：インデックス作成サーバー２５０がインデックス設定情報を前記通知モジュール２２０に送信する。
【００３４】
ステップ２５：前記通知モジュール２２０が前記インデックス設定情報を前記マスター制御モジュール２１０に送信する。前記通知モジュール２２０の数は複数であってもよい。複数の通知モジュール２２０はサービスタイプに応じて機能が設定され、すなわち異なる通知モジュールが対応するサービスタイプの通知機能を実行する。このように、マスター制御モジュール２１０がサービスタイプに応じて分割ルールとインデックス作成ルールを取得し、かつ取得した分割ルールとインデックス作成ルールをサービスタイプとマッチングする通知モジュール２２０に送信する。それに対応して、前記インデックス作成サーバー２５０は、インデックス設定情報をサービスタイプとマッチングする通知モジュール２２０に送信する。複数の通知モジュールが並行動作できることが理解できる。
【００３５】
ステップ２６：マスター制御モジュール２１０がインデックス設定情報に基づいてクライアントモジュール２３０を指示する。一実施の形態としては、前記マスター制御モジュール２１０は、複数のインデックス設定情報のうちの任意のインデックス設定情報又は任意のインデックス設定サブ情報に含まれたインデックスデータに対応するエンジンサーバー２６０に基づいて前記エンジンサーバー２６０に対応するクライアントモジュール２３０を指示する。このように、前記クライアントモジュール２３０は、前記マスター制御モジュール２１０の指示に基づいて対応するインデックスデータを抽出し、かつ抽出したインデックスデータを前記クライアントモジュール２３０に対応するエンジンサーバー２６０に記憶する。
【００３６】
本発明の実施例の技術案を用いることで、エンジンサーバー２６０は、対応するインデックスデータをアップロードすればよく、インデックスデータの更新機能が主にマスター制御サーバー（具体的には、マスター制御サーバーにおけるクライアントモジュールであってもよい）により実装されることで、サーバーの負荷を大幅に軽減できる。インデックスデータが複数のエンジンサーバー２６０に分散して記憶されることで、検索プロセスにエンジンサーバー２６０のメモリ使用を大幅に低減でき、それにより検索の効率を効果的に向上させ、検索の応答時間を縮め、ユーザーの操作体験を向上させることができる。
【００３７】
本発明の実施例は、さらに、分布検索方法を提供する。図３は本発明の他の実施例の分散型検索方法のプロセス模式図である。図３に示すように、前記方法は以下のステップを含む。
【００３８】
ステップ３０１：複数のプロキシーサーバーのうちの第１プロキシーサーバーが問い合わせサーバーの問い合わせ要求を受信し、前記問い合わせ要求に対応する属性情報を取得する。
【００３９】
ステップ３０２：前記第１プロキシーサーバーが前記属性情報に基づいて設定管理サーバーに問い合わせて、前記属性情報に対応する機器情報を取得する。
【００４０】
ステップ３０３：前記第１プロキシーサーバーが前記機器情報に対応する少なくとも２つのエンジンサーバーに前記問い合わせ要求を送信して、前記少なくとも２つのエンジンサーバーのそれぞれが前記問い合わせ要求に基づいて戻った第１問い合わせ結果を取得する。
【００４１】
ステップ３０４：前記第１プロキシーサーバーが少なくとも２つの前記第１問い合わせ結果を予め設定されたルールにしたがって第２問い合わせ結果として併合する。
【００４２】
ステップ３０５：前記第１プロキシーサーバーが前記第２問い合わせ結果を前記問い合わせサーバーに送信する。
【００４３】
本実施例の分散型検索方法は、複数のプロキシーサーバーに適用でき、且つ前記複数のプロキシーサーバーのうちの各プロキシーサーバーは、同じ機能を有してもよい。図４は本発明の実施例の分散型検索方法のアプリケーションアーキテクチャ及びデータ交換の模式図である。図４に示すように、本実施例ではプロキシーサーバーの数が２つとして例をあげて説明する。
【００４４】
問い合わせサーバー４１０がユーザーの端末装置からの問い合わせ要求を受信した後、予め設定されたルールにしたがって前記問い合わせ要求を複数のプロキシーサーバー４２０のうちの少なくとも１つの第１プロキシーサーバー４２１に送信する。前記予め設定されたルールは、ポーリングルール又はランダムルール等であってもよい。実際に使用される際、複数のプロキシーサーバー４２０を予め番号付け、前記ポーリングルールは、１つ又は複数のプロキシーサーバーを、問い合わせ要求を送信しようとする第１プロキシーサーバーとして前記複数のプロキシーサーバー４２０の番号にしたがって順次選択するようにしてもよい。たとえば、問い合わせ要求を１つのプロキシーサーバーに送信することを例として、問い合わせサーバー４１０が第１問い合わせ要求を受信すると、前記第１問い合わせ要求を、番号が１のプロキシーサーバー４２０に送信し、問い合わせサーバー４１０が第２問い合わせ要求を受信すると、前記第２問い合わせ要求を番号が２のプロキシーサーバー４２０に送信し、以下同様である。前記第１問い合わせ要求と前記第２問い合わせ要求は、データ受信時間によって決定される。一方、前記ランダムルールは、受信した問い合わせ要求を予め設定されたルールランダムアルゴリズムにしたがって対応する少なくとも１つのプロキシーサーバー４２０に送信するようにしてもよい。
【００４５】
前記第１プロキシーサーバー４２１は、前記問い合わせ要求に対応する属性情報（前記問い合わせ要求に対応するサービスタイプであってもよい）を取得し、それにより前記サービスタイプに応じて設定管理サーバー２４０へ機器情報を要求する。前記設定管理サーバー２４０についての具体的な説明は上記を参照でき、ここでは説明は省略される。また、以上の説明からわかるように、エンジンサーバー２６０におけるインデックスデータを更新・記憶するとき、分割ルールに基づいてインデックスデータを分割できる。したがって、同じサービスタイプに属するインデックスデータは、少なくとも２つのエンジンサーバー２６０に記憶される可能性がある。
【００４６】
これに基づいて、本実施例では、第１プロキシーサーバーが設定管理サーバー２４０に問い合わせて、前記属性情報に対応する機器情報を取得する。前記機器情報は少なくとも２つのエンジンサーバー２６０のＩＤを含み、前記少なくとも２つのエンジンサーバー２６０のＩＤは前記問い合わせ要求のうちの、対応するインデックスデータが前記少なくとも２つのエンジンサーバーに記憶されることを示す。具体的に実装するプロセスには、前記機器情報は機器リストにより実装される。したがって、前記第１プロキシーサーバー４２１は、前記機器情報に基づいて対応する少なくとも２つのエンジンサーバー２６０に前記問い合わせ要求を送信して、前記問い合わせ要求に含まれたキー文字又はキーワード、関連キー文字又は関連キーワードに対応するインデックスデータを取得する。
【００４７】
一実施の形態としては、前記第１プロキシーサーバー４２１が前記少なくとも２つのエンジンサーバー２６０により戻された第１問い合わせ結果を取得するステップは、前記第１プロキシーサーバー４２１が予め設定されたカットオフパラメータを満たす第１問い合わせ結果を取得するステップを含む。
【００４８】
具体的には、前記カットオフパラメータは、任意のエンジンサーバー２６０により戻された問い合わせ結果中のインデックスデータの数を示す。たとえば、あるエンジンサーバー２６０の取得した問い合わせ結果が１０００個のインデックスデータを含み、前記カットオフパラメータが６００であると、該エンジンサーバー２６０は、前記１０００個のインデックスデータ中の前の６００個のインデックスデータを戻す。このように、検索遅延を大幅に低減させ、１秒あたりのクエリ数（ＱＰＳ：Ｑｕｅｒｙ  Ｐｅｒ  Ｓｅｃｏｎｄ）を向上させることができる。前記カットオフパラメータは設定管理サーバー２４０で設定され、マスター制御サーバーにおけるマスター制御モジュール２１０で取得されて、各エンジンサーバー２６０に送信して設定される。
【００４９】
本実施例では、前記第１プロキシーサーバー４２１が少なくとも２つのエンジンサーバー２６０により戻された第１問い合わせ結果を取得し、取得した少なくとも２つの第１問い合わせ結果を予め設定されたルールにしたがって併合して順序付けて第２問い合わせ結果を生成し、かつ前記第２問い合わせ結果を前記問い合わせサーバー４１０に送信し、前記問い合わせサーバー４１０で端末装置に送信してユーザーに出力して表示する。
【００５０】
本実施例の分散型検索方法は、具体的にはオンラインのデータ処理プロセスとする検索問い合わせプロセスであることを理解されたい。図４を参照すると、各サーバーを組み合わせたデータ処理プロセスは以下のとおりである。
【００５１】
ステップ４１：問い合わせサーバー４１０が端末装置の問い合わせ要求を取得する。
【００５２】
ステップ４２：問い合わせサーバー４１０が問い合わせ要求を複数のプロキシーサーバー４２０のうちの少なくとも１つの第１プロキシーサーバー４２１に送信する。前記第１プロキシーサーバー４２１は、問い合わせ要求のサービスタイプに対応する複数のプロキシーサーバー４２０のうちのプロキシーサーバーであってもよく、予め設定されたルール（たとえばポーリングルール又はランダムルール等）に基づいて決定するプロキシーサーバーであってもよい。
【００５３】
前記問い合わせサーバー４１０は、受信した前記問い合わせ要求を分析することで、前記問い合わせ要求中のキー文字又はキーワードを取得するとともに、前記キー文字又はキーワードと関連関係を持つ関連キー文字又は関連キーワードを取得し、すなわち前記問い合わせ要求を意図的に認識する。たとえば、前記問い合わせ要求に含まれたキー文字又はキーワードがレストランの名前である場合には、前記キー文字又はキーワードを意図的に認識することで、関連キー文字又は関連キーワードが注文又はキャリーアウト等であることを決定する。また、たとえば、前記問い合わせ要求に含まれたキー文字又はキーワードが文字列である場合には、意図的に認識することで該文字列が中国語の言葉のピンインであることを決定すると、対応する関連キー文字又は関連キーワードが該中国語の言葉等でありえる。問い合わせサーバー４１０は、さらに意図的に認識した後に取得した少なくとも１つキーワードに基づいて少なくとも１つ問い合わせ要求を生成し、かつ前記少なくとも１つ問い合わせ要求をそれぞれ対応する少なくとも１つの第１プロキシーサーバー４２１に送信する。
【００５４】
ステップ４３：第１プロキシーサーバー４２１が前記問い合わせ要求の属性情報（たとえばサービスタイプ）に基づいて設定管理サーバー２４０へ機器リストを要求し、それにより前記問い合わせ要求に対応するインデックスデータが位置するエンジンサーバー２６０の情報を取得する。
【００５５】
ステップ４４：前記第１プロキシーサーバー４２１が取得した機器リストに基づいて対応する少なくとも２つのエンジンサーバー２６０に問い合わせ要求を送信する。
【００５６】
ステップ４５：前記少なくとも２つのエンジンサーバー２６０が前記問い合わせ要求中の内容に基づいてインデックスデータをアップロードし、かつ前記第１プロキシーサーバー４２１に問い合わせ結果に戻す。前記エンジンサーバー２６０は、予め設定されたカットオフパラメータに基づいて問い合わせ結果中のインデックスデータの数を制御し、それにより問い合わせ遅延を減少させ、ＱＰＳを向上ささえる。
【００５７】
ステップ４６：前記第１プロキシーサーバー４２１が取得した少なくとも２つの問い合わせ結果を予め設定されたルールにしたがって併合して順序付けて最終的な問い合わせ結果を生成し、前記最終的な問い合わせ結果を前記問い合わせサーバー４１０に送信する。
【００５８】
ステップ４７：前記問い合わせサーバー４１０が前記最終的な問い合わせ結果を端末装置に送信し、端末装置がユーザーに出力して表示する。
【００５９】
複数のプロキシーサーバー４２０を問い合わせサーバー４１０とエンジンサーバー２６０に接続する構造を用いることで、問い合わせサーバー４１０の問い合わせ要求を対応する少なくとも１つのプロキシーサーバー４２０に送信し、少なくとも１つのプロキシーサーバー４２０で対応する少なくとも２つのエンジンサーバー２６０から問い合わせ結果を取得する。複数のプロキシーサーバー４２０は、同じ機能を有し、相互間に並行関係を持つようにしてもよい。このように、１つのプロキシーサーバー４２０が動作できないと、その他のプロキシーサーバー４２０が動作することにより、マスターデバイスが動作できないと、マスターデバイスを再選択する必要があるため、短期間に検索サービスが利用できなくなるという問題を効果的に回避できる。また、プロキシーサーバー４２０がインデックスの更新・メンテナンスを行う必要がないため、プロキシーサーバー４２０の負荷を大幅に軽減させる。
【００６０】
本発明の実施例は、さらに、分布検索システムを提供し、前記分布検索システムは具体的には図４と図２を参照でき、前記システムは、設定管理サーバー２４０、問い合わせサーバー４１０、複数のプロキシーサーバー４２０及び複数のエンジンサーバー２６０を備える。
【００６１】
前記設定管理サーバー２４０は、設定情報と機器情報を管理することに用いられ得る。前記設定情報は分割ルールを含む。前記機器情報は前記複数のエンジンサーバーの情報を特徴付ける。
【００６２】
前記プロキシーサーバー４２０は、前記問い合わせサーバー４１０により送信された問い合わせ要求を受信すると、前記問い合わせ要求に対応する属性情報を取得し、かつ前記属性情報に基づいて前記設定管理サーバー２４０に問い合わせて、前記属性情報に対応する機器情報を取得し、それにより前記機器情報に対応する少なくとも２つのエンジンサーバー２６０に前記問い合わせ要求を送信することに用いられ得る。また、前記少なくとも２つのエンジンサーバー２６０により戻された第１問い合わせ結果を取得した後、プロキシーサーバー４２０は、少なくとも２つの第１問い合わせ結果を予め設定されたルールにしたがって第２問い合わせ結果として併合し、かつ前記第２問い合わせ結果を前記問い合わせサーバー４１０に送信する。
【００６３】
前記問い合わせサーバー４１０は、端末装置の問い合わせ要求を取得すると、前記問い合わせ要求を前記プロキシーサーバー４２０に送信し、かつ前記第２問い合わせ結果を受信すると、前記第２問い合わせ結果を前記端末装置に送信することに用いられ得る。
【００６４】
前記複数のエンジンサーバー２６０のうちの各エンジンサーバーは、前記分割ルールを満たすインデックスデータを記憶し、かつ前記問い合わせ要求を受信すると前記第１問い合わせ結果をフィードバックすることに用いられ得る。
【００６５】
本実施例では、前記システムは、さらに、マスター制御サーバーとインデックス作成サーバー２５０とを備える。前記マスター制御サーバーは、前記設定管理サーバー２４０から分割ルールを取得し、かつ前記分割ルールをインデックス作成サーバー２５０に送信することに用いられ得る。また、マスター制御サーバーは、さらに、前記インデックス作成サーバー２５０により送信された、分割結果を特徴付けるインデックス設定情報を取得し、前記インデックス設定情報に基づいてインデックスデータを取得し、かつ前記インデックスデータを複数のエンジンサーバー２６０のうちの、対応する少なくとも２つの第１エンジンサーバーに記憶することに用いられ得る。前記インデックス作成サーバー２５０は、前記分割ルールに基づいて作成対象のインデックスデータを分割し、かつ分割結果を特徴付けるインデックス設定情報を前記マスター制御サーバーに送信することに用いられ得る。
【００６６】
一実施の形態としては、前記プロキシーサーバー４２０は、予め設定されたカットオフパラメータを満たす問い合わせ結果を取得する。
【００６７】
本発明の実施例の分布検索システムは、複数のプロキシーサーバーをマスター制御サーバー、設定管理サーバー、インデックス作成サーバー、問い合わせサーバー及びエンジンサーバーに接続する分布検索構造により、問い合わせ機能及びインデックス更新・メンテナンス機能をそれぞれプロキシーサーバー及びマスター制御サーバーで実装し、分散型検索システムのスケーラビリティ及びシステムの安定性を大幅に向上できる。実際に使用される際、オンラインで１つのインデックスを統計すると、前の半分の期間に問い合わせ遅延が５０％減少し、前の９０％の期間に問い合わせ遅延が５４．５％減少し、前の９９％の期間に問い合わせ遅延が４６％減少し、ユーザー体験を向上させる。
【００６８】
本発明の実施例は、さらに、プロキシーサーバーを提供する。図５は、本発明の実施例のプロキシーサーバーの設定構造模式図であり、図５に示すように、前記プロキシーサーバーは、通信手段５１と、処理手段５２とを備える。
【００６９】
前記通信手段５１は、問い合わせサーバーからの問い合わせ要求を受信し、かつ前記問い合わせ要求を前記処理手段５２に送信することに用いられ得る。通信手段５１は、さらに、前記処理手段５２により決定された少なくとも２つのエンジンサーバーに前記問い合わせ要求を送信し、前記少なくとも２つのエンジンサーバーにより戻された第１問い合わせ結果を取得し、かつ前記処理手段５２により併合された第２問い合わせ結果を前記問い合わせサーバーに送信することに用いられ得る。
【００７０】
前記処理手段５２は、前記問い合わせ要求に対応する属性情報を取得し、かつ取得した属性情報に基づいて設定管理サーバーに問い合わせて、前記属性情報に対応する前記少なくとも２つのエンジンサーバーを取得することに用いられ得る。前記処理手段５２は、さらに、前記通信手段５１の取得した少なくとも２つの前記第１問い合わせ結果を予め設定されたルールにしたがって併合して第２問い合わせ結果を得る。
【００７１】
一実施の形態としては、前記通信手段５１は、予め設定されたカットオフパラメータを満たす問い合わせ結果を取得する。
【００７２】
前記プロキシーサーバーにおける処理手段５２は、前記プロキシーサーバーにおける中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、デジタル信号プロセッサ（ＤＳＰ：Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、マイクロコントローラーユニット（ＭＣＵ：Ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ：Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）により実装できる。前記プロキシーサーバーにおける通信手段５１は、通信モジュール（基本通信キット、オペレーティングシステム、通信モジュール、標準化インターフェース及びプロトコル等を含む）及び送受信アンテナにより実装できる。
【００７３】
本発明の実施例は、さらに、マスター制御サーバーを提供する。図６は本発明の実施例のマスター制御サーバーの設定構造模式図であり、図６に示すように、前記マスター制御サーバーは、マスター制御モジュール６１と通知モジュール６２とを備える。
【００７４】
前記マスター制御モジュール６１は、設定管理サーバーから分割ルールを取得し、かつ前記分割ルールを前記通知モジュール６２に送信することに用いられ得る。前記マスター制御モジュール６１は、さらに、前記通知モジュール６２により送信されたインデックス設定情報に基づいてインデックスデータを取得し、かつ前記インデックスデータを複数のエンジンサーバーのうちの、対応する少なくとも２つのエンジンサーバーに記憶する。
【００７５】
前記通知モジュール６２は、前記インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを分割するように、前記分割ルールをインデックス作成サーバーに送信することに用いられ得る。また、通知モジュール６２は、さらに、分割結果を特徴付けるインデックス設定情報を取得し、かつ前記インデックス設定情報を前記マスター制御モジュール６１に送信する。
【００７６】
本実施例では、前記マスター制御サーバーは、さらに、複数のクライアントモジュール６３を備える。前記複数のクライアントモジュール６３は、複数のエンジンサーバーと一対一で対応する。前記マスター制御モジュール６１は、前記通知モジュール６２により送信されたインデックス設定情報に基づいて、前記インデックス設定情報に含まれた分割結果に対応するクライアントモジュール６３がインデックスデータを取得するように指示する。実際に使用される際、前記マスター制御モジュール６１は、前記設定管理サーバーと通信して、前記設定管理サーバーから前記分割ルールを取得するための第１通信サブモジュールと、前記通知モジュール６２と通信して、前記通知モジュール６２に前記分割ルールを送信して前記通知モジュール６２から前記インデックス設定情報を取得するための第２通信サブモジュールと、クライアントモジュール６３と通信して、前記クライアントモジュール６３が前記インデックス設定情報に基づいて前記インデックスデータを取得するように指示する第３通信サブモジュールとを含む。
【００７７】
前記通知モジュール６２は、前記分割ルールをインデックス作成サーバーに送信し、かつ分割結果を特徴付けるインデックス設定情報を取得した後、前記インデックス設定情報を前記マスター制御モジュール６１に送信することに用いられ得る。実際に使用される際、前記通知モジュール６２は、前記マスター制御モジュール６１と通信して、前記マスター制御モジュール６１から前記分割ルールを取得して前記マスター制御モジュール６１に前記インデックス設定情報を送信するための第１通信モジュールと、前記インデックス作成サーバーと通信して、前記インデックス作成サーバーに前記分割ルールを送信して前記インデックス作成サーバーから前記インデックス設定情報を取得するための第２通信モジュールとを含む。
【００７８】
前記クライアントモジュール６３は、前記マスター制御モジュール６１の指示に基づいてインデックスデータを取得し、かつ前記インデックスデータを対応するエンジンサーバーに記憶する。実際に使用される際、前記クライアントモジュール６３は、前記マスター制御モジュール６１と通信して、前記マスター制御モジュール６１の指示を受信するための第１通信サブモジュールと、前記マスター制御モジュール６１の指示に応答して前記インデックス設定情報に基づいてインデックスデータを取得するためのプロセスモジュールと、前記エンジンサーバーと通信して、前記インデックスデータを対応するエンジンサーバーに記憶するための第２通信サブモジュールとを含む。
【００７９】
本実施例では、前記マスター制御サーバーは、サーバークラスターであってもよい。前記マスター制御モジュール６１は、主に、統合にスケジューリングすることに用いられる。前記通知モジュール６２は、主に、インデックス作成サーバーと通信することに用いられる。前記通知モジュール６２の数は少なくとも１個であり得る。少なくとも１つの通知モジュール６２は、サービスタイプに応じて区分し、たとえば各通知モジュール６２は、対応するサービスタイプに属するインデックス作成の相関情報を通知することに用いられる。前記クライアントモジュール６３の数は、エンジンサーバーの数と同じであってもよく、且つクライアントモジュール６３のそれぞれが１つのエンジンサーバーに対応する。前記クライアントモジュール６３は、マスター制御モジュール６１の指示に基づいてインデックスデータを抽出し、かつ抽出したインデックスデータを対応するエンジンサーバーに記憶することに用いられ得る。前記マスター制御モジュール６１、各通知モジュール６２は、独立したサーバーにより実装できる。前記クライアントモジュール６３は、対応するエンジンサーバーに位置し、かつ対応するエンジンサーバーにより対応する機能を実装する。実際に使用される際、前記マスター制御モジュール６１は、予備マスター制御モジュールが配置されてもよく、各通知モジュール６２にも対応する予備通知モジュールが配置されてもよい。各クライアントモジュール６３にも対応する予備クライアントモジュール６３が配置されてもよい。このように、マスターモジュールに異常が発生して動作できないと、対応する予備モジュールにより対応する機能を実行し続ける。
【００８０】
本発明の実施例は、さらに、コンピューター機器を提供し、図７は本発明の実施例のコンピューター機器の設定構造模式図であり、図７に示すように。前記コンピューター機器は、プロセッサ７１、メモリ７２及び少なくとも１つ外部通信インターフェース７３を備える。前記プロセッサ７１、メモリ７２及び外部通信インターフェース７３はいずれもバス７４を介して接続される。前記メモリ７２にはプロセッサ７１に運転可能なコンピュータープログラムが記憶される。
【００８１】
前記コンピューター機器をプロキシーサーバーとする場合、前記プロセッサ７１が前記プログラムを実行すると、以下のステップを実装する。問い合わせサーバーからの問い合わせ要求を受信するステップと、前記問い合わせ要求に対応する属性情報を取得ステップと、前記属性情報に基づいて設定管理サーバーに問い合わせ、前記属性情報に対応する機器情報を取得するステップと、前記機器情報に対応する少なくとも２つのエンジンサーバーに前記問い合わせ要求を送信するステップと、前記少なくとも２つのエンジンサーバーが前記問い合わせ要求に基づいて戻った第１問い合わせ結果を取得するステップと、少なくとも２つの前記第１問い合わせ結果を予め設定されたルールにしたがって第２問い合わせ結果として併合するステップと、前記第２問い合わせ結果を前記問い合わせサーバーに送信するステップ、である。つまり、プロセッサ７１は、プログラムを実装することで、図５に示すプロキシーサーバーにおける通信手段５１と処理手段５２の具体的な機能を実装する。
【００８２】
一実施の形態としては、前記プロセッサ７１が前記プログラムを実行すると、予め設定されたカットオフパラメータを満たす問い合わせ結果を取得するステップを実装する。
【００８３】
コンピューター機器をマスター制御サーバーとする場合、前記プロセッサ７１が前記プログラムを実行すると、以下のステップを実装する。設定管理サーバーから分割ルールを取得するステップと、前記分割ルールをインデックス作成サーバーに送信することで、インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを分割するステップと、分割結果を特徴付けるインデックス設定情報を取得するステップと、前記インデックス設定情報に基づいてインデックスデータを取得するステップと、前記インデックスデータを複数のエンジンサーバーのうちの、対応する少なくとも２つの第１エンジンサーバーに記憶するステップ、である。つまり、プロセッサ７１は、プログラムを実行することで、図６に示すマスター制御サーバーにおけるマスター制御モジュール６１、通知モジュール６２及びクライアントモジュール６３の具体的な機能を実装する。
【００８４】
なお、コンピューター機器に関する上記説明は、上記方法についての説明に類似し、方法の有益な効果についての説明と同じであるため、省略される。本発明のコンピューター機器の実施例に開示されていない技術的詳細については、本発明の方法実施例の説明をご参照ください。
【００８５】
本願において提供されるいくつかの実施例では、開示される装置および方法は、他の方法で実装されてよいことを理解されたい。以上説明された装置の実施例は単なる例示であり、たとえば、前記ユニットの分割は、論理機能の分割にすぎず、実際の実装では、たとえば、複数のユニット又はコンポーネントが組み合わせられること、もしくは別のシステムに統合されることがあり、または一部の特徴が無視されること、もしくは実行されないことがある。加えて、表示または説明される各構成部分の相互結合もしくは直接結合または通信接続は、いくつかのインターフェースを使用することによって実施され得る。装置又はユニットの間の間接結合又は通信接続は、電子形態、機械形態、または他の形態で実施され得る。
【００８６】
別個の部分として説明される上記ユニットは、物理的に別個であってもなくてもよく、ユニットとして表示された部材は、物理的ユニットであってもなくてもよく、すなわち１つの位置に配置されてよく、または複数のネットワークユニット上に分散されてよい。ユニットの一部または全部は、本実施例の解決策の目的を達成するために、実際の要件にしたがって選択され得る。たとえば、以上に記載のさまざまなサーバーは、物理上のハードウェア機器であってもよく、サーバークラスターに運転するソフトウェアモジュールであってもよい。
【００８７】
加えて、本発明の各実施例における各機能ユニットは、すべて一つの処理手段に統合されてもよいし、ユニットの各々が物理的に単体で存在してよく、または二つ以上のユニットが一つのユニットに統合されてもよいし、上述の統合されたユニットは、ハードウェアとして実装されてもよいし、ハードウェアとソフトウェア機能ユニットとして実装されてもよい。
【００８８】
当業者であれば理解できるように、上記方法実施例のステップのすべてまたは一部は、プログラム命令に関連するハードウェアによって実装され得て、上記プログラムがコンピューター可読記憶媒体に記憶でき、該プログラムを実行する場合、上記方法実施例のステップの実行を含む。上記の記憶媒体は、移動記憶デバイス、読み出し専用メモリ（ＲＯＭ：Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気ディスク又は光ディスクなど、プログラムコードを記憶することができる任意の媒体を含む。
【００８９】
又は、本発明の上記統合されたユニットがソフトウェア機能モジュールの形態で実装され、単独の製品として販売または使用されるとき、コンピューター可読記憶媒体に記憶され得る。そのような理解に基づいて、基本的に本発明の実施例の技術案、または従来技術に寄与する部分は、ソフトウェア製品の形態で実装され得る。該コンピューターソフトウェア製品は、記憶媒体に記憶され、コンピューター機器（パーソナルコンピューター、サーバー、またはネットワークデバイスであり得る）が本発明の各実施例の前記方法の全部または一部を実行するように命令するためのいくつかの命令を含む。上記記憶媒体は、移動記憶デバイス、ＲＯＭ、ＲＡＭ、磁気ディスク、または光ディスクなど、プログラムコードを記憶することができる任意の媒体を含む。
【００９０】
上記の説明は、本発明の特定の実装形態にすぎず、本発明の保護範囲を限定するものではない。本発明で開示された技術範囲内で当業者によって容易に考え出されるいかなるや置換も、本発明の保護範囲内に入るものとする。したがって、本発明の保護範囲は、特許請求の保護範囲によるものとする。
【図１】
0006967615.tif 000002
【図２】
0006967615.tif 000003
【図３】
0006967615.tif 000004
【図４】
0006967615.tif 000005
【図５】
0006967615.tif 000006
【図６】
0006967615.tif 000007
【図７】
0006967615.tif 000008