JP6967615B2 - 分散型検索及びインデックスの更新方法、システム、サーバー並びにコンピューター機器 - Google Patents

分散型検索及びインデックスの更新方法、システム、サーバー並びにコンピューター機器 Download PDF

Info

Publication number
JP6967615B2
JP6967615B2 JP2019568703A JP2019568703A JP6967615B2 JP 6967615 B2 JP6967615 B2 JP 6967615B2 JP 2019568703 A JP2019568703 A JP 2019568703A JP 2019568703 A JP2019568703 A JP 2019568703A JP 6967615 B2 JP6967615 B2 JP 6967615B2
Authority
JP
Japan
Prior art keywords
server
inquiry
index
master control
engine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019568703A
Other languages
English (en)
Other versions
JP2020523700A (ja
Inventor
若飛 杜
文彬 潘
錫倫 張
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Publication of JP2020523700A publication Critical patent/JP2020523700A/ja
Application granted granted Critical
Publication of JP6967615B2 publication Critical patent/JP6967615B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

<関連願の相互参照>
本特許願は2017年7月5日に提出した、願番号が201710540135.0、発明名称が「分散型検索及びインデックスの更新方法、システム、サーバー並びにコンピューター機器」の中国特許願の優先権を主張し、本願の全内容は引用によって本明細書に組み込まれている。
本発明は分散型検索及びインデックスの更新方法、システム、サーバー並びにコンピューター機器に関する。
モバイルインターネットの発展にしたがって、モバイルデバイスを介して簡単にネットワークにアクセスし、ネットワークサービスを取得することができるようになり、多くのオンラインからオフライン(O2O:Online−to−Offline)のローカリゼーションライフサービスが出現した。ただし、サービスの爆発的な成長に伴い、検索エンジンが問い合わせる必要があるデータの量がますます増えており、スタンドアロンメモリがこれらのデータを記憶できなくなり、システムの安定性がますます低くなり、また問い合わせ要求の遅延も増加しているため、ユーザー体験がますます悪化してしまう。
検索、インデックスおよびインデックスメンテナンスプログラムを1つのサーバーに配置したり、インデックスを複数の機器に分割してエンジンでインデックスを管理したりすることができる。しかし、検索の同時接続数が大きい場合、リアルタイムに拡張できない可能性がある。また、サービス量の増加に伴って、必要とするインデックスの数もますます多くなり、運用と保守のコストもますます高くなり、オンライン安定性に影響を与える。
マスター(master)スレーブ(slave)構造の分散型検索システムを用いることができる。しかし、マスターサーバーを選択する必要があるため、マスターサーバーに異常が発生して動作できないと、マスターサーバーを再選択する必要がある。これにより、マスターサーバーの再選択中に検索サービスが利用できなくなる可能性があり、オンライン安定性に影響を与えてしまう。
現在存在する技術課題を解決するために、本発明の実施例は、分散型検索及びインデックスの更新方法、システム、サーバー並びにコンピューター機器を提供する。
本発明の第1形態によれば、複数のプロキシーサーバーのうちの少なくとも1つの第1プロキシーサーバーが問い合わせサーバーからの問い合わせ要求を受信すると、前記問い合わせ要求に対応する属性情報を取得するステップと、前記第1プロキシーサーバーが前記属性情報に基づいて設定管理サーバーに問い合わせて、前記属性情報に対応する機器情報を取得するステップと、前記第1プロキシーサーバーが前記機器情報に対応する少なくとも2つのエンジンサーバーに前記問い合わせ要求を送信するステップと、前記第1プロキシーサーバーが、前記少なくとも2つのエンジンサーバーが前記問い合わせ要求に基づいて戻った第1問い合わせ結果を取得するステップと、前記第1プロキシーサーバーが少なくとも2つの前記第1問い合わせ結果を予め設定されたルールにしたがって第2問い合わせ結果として併合するステップと、前記第1プロキシーサーバーが前記第2問い合わせ結果を前記問い合わせサーバーに送信するステップとを含む分散型検索方法を提供する。
本発明の第2形態によれば、マスター制御サーバーが設定管理サーバーから分割ルールを取得するステップと、前記マスター制御サーバーが前記分割ルールをインデックス作成サーバーに送信することで、前記インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを分割するステップと、前記マスター制御サーバーが前記分割した結果を特徴付けるインデックス設定情報を取得するステップと、前記マスター制御サーバーが前記インデックス設定情報に基づいてインデックスデータを取得するステップと、前記マスター制御サーバーが前記インデックスデータを複数のエンジンサーバーのうちの、対応する少なくとも2つのエンジンサーバーに記憶するステップとを含むインデックスの更新方法を提供する。
本発明の第3形態によれば、問い合わせサーバーからの問い合わせ要求を受信するための通信手段と、前記問い合わせ要求に対応する属性情報を取得し、前記属性情報に基づいて設定管理サーバーに問い合わせて前記属性情報に対応する機器情報を取得し、かつ前記機器情報に対応する少なくとも2つのエンジンサーバーを決定するための処理手段とを備えるプロキシーサーバーを提供する。前記通信手段は、さらに、前記少なくとも2つのエンジンサーバーに前記問い合わせ要求を送信して、前記少なくとも2つのエンジンサーバーが前記問い合わせ要求に基づいて戻った第1問い合わせ結果を取得することに用いられる。前記処理手段は、さらに、少なくとも2つの前記第1問い合わせ結果を予め設定されたルールにしたがって併合し、第2問い合わせ結果を得ることに用いられる。前記通信手段は、さらに、前記第2問い合わせ結果を前記問い合わせサーバーに送信することに用いられる。
本発明の第4形態によれば、設定管理サーバーから分割ルールを取得するためのマスター制御モジュールと、前記分割ルールをインデックス作成サーバーに送信することで、前記インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを分割し、かつ前記分割した結果を特徴付けるインデックス設定情報を取得するための通知モジュールとを備えるマスター制御サーバーを提供する。前記マスター制御モジュールは、さらに、前記インデックス設定情報に基づいてインデックスデータを取得し、かつ前記インデックスデータを複数のエンジンサーバーのうちの、対応する少なくとも2つのエンジンサーバーに記憶することに用いられる。
本発明の第5形態によれば、分割ルールを含む設定情報と、前記複数のエンジンサーバーの情報を特徴付ける機器情報とを管理するための設定管理サーバーと、端末装置の問い合わせ要求を取得するための問い合わせサーバーと、複数のプロキシーサーバーと、それぞれ、前記分割ルールを満たすインデックスデータを記憶するための複数のエンジンサーバーとを備える分散型検索システムを提供する。前記複数のプロキシーサーバーのうちの少なくとも1つの第1プロキシーサーバーは、前記問い合わせサーバーからの前記問い合わせ要求を受信した後、前記問い合わせ要求の属性情報に基づいて前記設定管理サーバーに問い合わせることにより、前記複数のエンジンサーバーのうちの少なくとも2つの第1エンジンサーバーを決定し、かつ前記少なくとも2つの第1エンジンサーバーに前記問い合わせ要求を送信する。前記少なくとも2つの第1エンジンサーバーのそれぞれは、前記問い合わせ要求を受信することに応答して第1問い合わせ結果をフィードバックする。前記少なくとも1つの第1プロキシーサーバーは、少なくとも2つの前記第1問い合わせ結果を第2問い合わせ結果として併合し、かつ前記問い合わせサーバーに送信することで、前記問い合わせサーバーが前記第2問い合わせ結果を前記端末装置に戻す。
本発明の第6形態によれば、メモリ、プロセッサ及びメモリに記憶され、プロセッサに運転可能なコンピュータープログラムを備えるコンピューター機器であって、前記プロセッサが前記プログラムを実行すると、上記分散型検索方法のステップを実装することを特徴とするコンピューター機器を提供する。
本発明の第7形態によれば、メモリ、プロセッサ及びメモリに記憶され、プロセッサに運転可能なコンピュータープログラムを備えるコンピューター機器であって、前記プロセッサが前記プログラムを実行すると、上記インデックスの更新方法のステップを実装することを特徴とするコンピューター機器を提供する。
本発明の実施例の技術案を用いて、複数のプロキシーサーバーを問い合わせサーバーとエンジンサーバーに接続する分散型構造により、問い合わせサーバーの問い合わせ要求が複数のプロキシサービスのうちの少なくとも1つのプロキシーサーバーに送信でき、少なくとも1つのプロキシーサーバーが対応する少なくとも2つのエンジンサーバーから問い合わせ結果を取得する。複数のプロキシーサーバーが相互間に並行関係を持っているので、あるプロキシーサーバーが動作できないと、その他のプロキシーサーバーが動作できることにより、マスターデバイスが動作できないと、マスターデバイスを再選択する必要があるため、短期間に検索サービスが利用できなくなることを効果的に回避できる。また、マスター制御サーバーを介して設定管理サーバー、インデックス作成サーバー及びエンジンサーバーを接続してインデックスデータの更新・メンテナンスを行い、プロキシーサーバーがインデックスの更新・メンテナンスを行う必要がないため、プロキシーサーバーの負荷を大幅に軽減できる。
図1は本発明の一実施例のインデックスの更新方法のプロセス模式図である。 図2は本発明の一実施例の分散型検索方法のアプリケーションアーキテクチャ及びデータ交換の模式図である。 図3は本発明の他の実施例の分散型検索方法のプロセス模式図である。 図4は本発明の他の実施例の分散型検索方法のアプリケーションアーキテクチャ及びデータ交換の模式図である。 図5は本発明の一実施例のプロキシーサーバーの設定構造模式図である。 図6は本発明の一実施例のマスター制御サーバーの設定構造模式図である。 図7は本発明の実施例のコンピューター機器の設定構造模式図である。
以下、図面及び具体的な実施例を参照しながら、本発明についてさらに詳細に説明する。
図1は本発明の一実施例のインデックスの更新方法のプロセス模式図である。図1に示すように、前記方法は以下のステップを含む。
ステップ101:マスター制御サーバーが設定管理サーバーから取得された分割ルールをインデックス作成サーバーに送信することで、インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを複数のインデックス設定情報に分割する。
ステップ102:前記マスター制御サーバーが前記インデックス作成サーバーからインデックス設定情報を取得する。
ステップ103:前記マスター制御サーバーが前記インデックス設定情報に基づいてインデックスデータを取得する。
ステップ104:前記マスター制御サーバーが前記インデックスデータを複数のエンジンサーバーのうちの、対応する第1エンジンサーバーに記憶して、前記第1エンジンサーバーに記憶されたインデックスデータを更新する。
本実施例のインデックスの更新方法は、マスター制御サーバーに適用でき、前記マスター制御サーバーは、具体的にはサーバー又はサーバークラスターであってもよい。一実施例においては、前記マスター制御サーバーは、マスター制御モジュール210、通知モジュール220及び複数のクライアントモジュール230を備え、具体的には図2を参照できる。前記マスター制御モジュール210は、統合にスケジューリングし、かつ設定管理サーバー240と通信することに用いられ得る。前記通知モジュール220は、インデックス作成サーバー250に通知することに用いられ得る。前記通知モジュール220の数は、1つ又は複数であり得る。たとえば、複数の通知モジュール220は、サービスタイプに応じて区分して、それぞれ対応するサービスタイプに属するインデックス作成の相関情報を通知することに用いられる。前記クライアントモジュール230の数はエンジンサーバー260の数と同じであってもよく、且つクライアントモジュール230のそれぞれが1つのエンジンサーバー260に対応し、前記クライアントモジュール230は、マスター制御モジュール210の指示に基づいてインデックスデータを抽出し、抽出したインデックスデータを対応するエンジンサーバー260に記憶することに用いられ得る。前記マスター制御モジュール210、各通知モジュール220は、独立したサーバーにより実装できる。前記クライアントモジュール230は、対応するエンジンサーバー260に位置し、かつ対応するエンジンサーバー260により対応する機能を実装する。実際に使用される際、前記マスター制御モジュール210には予備マスター制御モジュールが配置されてもよい。通知モジュール220のそれぞれにも対応する予備通知モジュールが配置されてもよい。各クライアントモジュール230のそれぞれにも対応する予備クライアントモジュールが配置されてもよい。このように、マスターモジュールに異常が発生して動作できないと、対応する予備モジュールにより対応する機能を実行し続ける。
設定管理サーバー240は、設定情報と機器情報を管理することに用いられ得る。前記機器情報は、前記複数のエンジンサーバー260の情報を特徴付ける。エンジンサーバー260の情報は、エンジンサーバーのIPアドレスとポート等の情報を含む。一例としては、前記機器情報は、上記エンジンサーバー260の情報を含む機器リストにより示される。前記設定情報は、少なくとも、サービスID、機器設定情報及び設定のルール情報等を含む。前記機器設定情報は、具体的には機器リストを含み、すなわちエンジンサーバー260のIPアドレスとポート等の情報を含む。前記ルール情報は、検索プロセスに必要なすべての操作ルールを含み、インデックス作成際に必要な分割ルール、インデックス作成ルール、通知モジュールがどの又はどれらのサービスタイプのインデックス作成を実行するかの通知情報の設定ルール、クライアントモジュールがどの又はどれらのサービスタイプに対応するインデックスデータを抽出するかの設定ルール等を少なくとも含むが、明らかに上記の複数種のルールに限られない。
マスター制御サーバーが設定管理サーバー240から設定情報中の分割ルールを取得し、前記分割ルールをインデックス作成サーバー250に送信するステップは、具体的には、マスター制御モジュール210が設定管理サーバー240から分割ルール(明らかに、インデックス作成ルールも含む)を取得するステップと、マスター制御モジュール210が前記分割ルールと前記インデックス作成ルールを前記通知モジュール220に送信するステップと、前記通知モジュール220が前記分割ルールと前記インデックス作成ルールをインデックス作成サーバー250に送信するステップとを含む。前記通知モジュール220の数がサービスタイプに応じて複数設定されてもよいので、前記マスター制御モジュール210は、作成対象のインデックスデータのサービスタイプに応じて、前記設定管理サーバー240から前記サービスタイプとマッチングする分割ルールとインデックス作成ルールを取得し、かつ前記分割ルールと前記インデックス作成ルールを前記サービスタイプとマッチングする通知モジュール220に送信する。前記通知モジュール220は、前記分割ルールと前記インデックス作成ルールを前記インデックス作成サーバー250に送信する。
前記インデックス作成サーバー250は、前記インデックス作成ルールにしたがってインデックスを作成し、さらに作成したインデックスデータを前記分割ルールにしたがって分割する。前記分割ルールは、分割パラメータを含み、前記分割パラメータは、具体的にはインデックスデータの分割数を特徴付けるための分割の数を含む。たとえば、前記分割の数がNである場合、インデックスデータをN組のインデックスサブデータに分割することを特徴付ける。作成するインデックスデータが少なくとも2つのエンジンサーバー260に分散して記憶されるように、Nは2以上の正整数であってもよい。たとえば、search_online_dis_1とsearch_online_dis_2が一組の完全なインデックスデータであり、分割ルールにしたがって同じレベルの2つのインデックスデータに分割できる。前記2つのインデックスデータはそれぞれ異なるエンジンサーバーに記憶できる。
さらに、前記インデックス作成サーバー250は、作成して分割済みのインデックスデータに基づいてインデックス設定情報を生成する。前記インデックス設定情報は複数含まれてもよく、又は、複数のインデックス設定サブ情報を含んでもよい。複数の前記インデックス設定情報又は前記複数のインデックス設定サブ情報は、インデックスデータの分割結果を特徴付け、分割済みのインデックスサブデータのそれぞれに対応するエンジンサーバー260を含む。インデックス設定情報のそれぞれ又はインデックス設定サブ情報のそれぞれは、対応するエンジンサーバー260のそれぞれがどれらのインデックスデータを取得して記憶するかを示すことに用いられる。前記通知モジュール220はインデックス設定情報を取得し、かつ前記インデックス設定情報を前記マスター制御モジュール210に送信することで、前記マスター制御モジュール210はさらに対応するクライアントモジュール230がインデックスデータを抽出するように指示する。
前記マスター制御サーバーが前記インデックス設定情報に基づいてインデックスデータを取得し、前記インデックスデータを少なくとも2つのエンジンサーバーに記憶するステップは、具体的には、前記インデックス設定情報に含まれた分割結果に対応する任意のクライアントモジュールである第1クライアントモジュール230がインデックスデータを取得するように、前記マスター制御モジュール210が前記インデックス設定情報に基づいて指示するステップと、前記第1クライアントモジュール230が、取得した前記インデックスデータを前記第1クライアントモジュール230に対応するエンジンサーバー260に記憶するステップとを含む。具体的には、前記マスター制御モジュール210は、任意のインデックス設定情報又は任意のインデックス設定サブ情報に含まれたインデックスデータに対応するエンジンサーバー260に応じて、前記エンジンサーバー260に対応する第1クライアントモジュール230を指示する。このように、前記第1クライアントモジュール230は、前記マスター制御モジュール210の指示に基づいて、対応するインデックスデータを抽出して、かつ抽出したインデックスデータを前記第1クライアントモジュール230に対応するエンジンサーバー260に記憶する。
本実施例の分散型検索方法は、具体的には、オフラインのデータ処理プロセスとするインデックスデータの抽出更新プロセスであることを理解されたい。図2を参照すると、各サーバーと各モジュールを組み合わせたデータ処理プロセスは以下のとおりである
ステップ21:マスター制御モジュール210が設定管理サーバー240から分割ルールとインデックス作成ルールを取得する。一実施の形態としては、前記マスター制御モジュール210は、作成対象のインデックスデータのサービスタイプに基づいて前記サービスタイプとマッチングする分割ルールとインデックス作成ルールを取得する。
ステップ22:前記マスター制御モジュール210が前記分割ルールとインデックス作成ルールを通知モジュール220に送信する。
ステップ23:前記通知モジュール220が前記分割ルールとインデックス作成ルールをインデックス作成サーバー250に送信する。
前記インデックス作成サーバー250は、インデックス作成ルールにしたがってインデックスデータを作成し、分割ルールにしたがってインデックスデータをN個のインデックスサブデータに分割する。また、前記インデックス作成サーバー250は、作成して分割済みのインデックスデータに基づいて複数のインデックス設定情報又は複数のインデックス設定サブ情報を生成する。前記インデックス設定情報のそれぞれ又は前記インデックス設定サブ情報のそれぞれは、インデックスデータの分割結果を特徴付け、かつ分割済みのインデックスサブデータのそれぞれに対応するエンジンサーバー260を含み、それにより対応するエンジンサーバー260のそれぞれがどのインデックスデータを取得して記憶するかを示す。
ステップ24:インデックス作成サーバー250がインデックス設定情報を前記通知モジュール220に送信する。
ステップ25:前記通知モジュール220が前記インデックス設定情報を前記マスター制御モジュール210に送信する。前記通知モジュール220の数は複数であってもよい。複数の通知モジュール220はサービスタイプに応じて機能が設定され、すなわち異なる通知モジュールが対応するサービスタイプの通知機能を実行する。このように、マスター制御モジュール210がサービスタイプに応じて分割ルールとインデックス作成ルールを取得し、かつ取得した分割ルールとインデックス作成ルールをサービスタイプとマッチングする通知モジュール220に送信する。それに対応して、前記インデックス作成サーバー250は、インデックス設定情報をサービスタイプとマッチングする通知モジュール220に送信する。複数の通知モジュールが並行動作できることが理解できる。
ステップ26:マスター制御モジュール210がインデックス設定情報に基づいてクライアントモジュール230を指示する。一実施の形態としては、前記マスター制御モジュール210は、複数のインデックス設定情報のうちの任意のインデックス設定情報又は任意のインデックス設定サブ情報に含まれたインデックスデータに対応するエンジンサーバー260に基づいて前記エンジンサーバー260に対応するクライアントモジュール230を指示する。このように、前記クライアントモジュール230は、前記マスター制御モジュール210の指示に基づいて対応するインデックスデータを抽出し、かつ抽出したインデックスデータを前記クライアントモジュール230に対応するエンジンサーバー260に記憶する。
本発明の実施例の技術案を用いることで、エンジンサーバー260は、対応するインデックスデータをアップロードすればよく、インデックスデータの更新機能が主にマスター制御サーバー(具体的には、マスター制御サーバーにおけるクライアントモジュールであってもよい)により実装されることで、サーバーの負荷を大幅に軽減できる。インデックスデータが複数のエンジンサーバー260に分散して記憶されることで、検索プロセスにエンジンサーバー260のメモリ使用を大幅に低減でき、それにより検索の効率を効果的に向上させ、検索の応答時間を縮め、ユーザーの操作体験を向上させることができる。
本発明の実施例は、さらに、分布検索方法を提供する。図3は本発明の他の実施例の分散型検索方法のプロセス模式図である。図3に示すように、前記方法は以下のステップを含む。
ステップ301:複数のプロキシーサーバーのうちの第1プロキシーサーバーが問い合わせサーバーの問い合わせ要求を受信し、前記問い合わせ要求に対応する属性情報を取得する。
ステップ302:前記第1プロキシーサーバーが前記属性情報に基づいて設定管理サーバーに問い合わせて、前記属性情報に対応する機器情報を取得する。
ステップ303:前記第1プロキシーサーバーが前記機器情報に対応する少なくとも2つのエンジンサーバーに前記問い合わせ要求を送信して、前記少なくとも2つのエンジンサーバーのそれぞれが前記問い合わせ要求に基づいて戻った第1問い合わせ結果を取得する。
ステップ304:前記第1プロキシーサーバーが少なくとも2つの前記第1問い合わせ結果を予め設定されたルールにしたがって第2問い合わせ結果として併合する。
ステップ305:前記第1プロキシーサーバーが前記第2問い合わせ結果を前記問い合わせサーバーに送信する。
本実施例の分散型検索方法は、複数のプロキシーサーバーに適用でき、且つ前記複数のプロキシーサーバーのうちの各プロキシーサーバーは、同じ機能を有してもよい。図4は本発明の実施例の分散型検索方法のアプリケーションアーキテクチャ及びデータ交換の模式図である。図4に示すように、本実施例ではプロキシーサーバーの数が2つとして例をあげて説明する。
問い合わせサーバー410がユーザーの端末装置からの問い合わせ要求を受信した後、予め設定されたルールにしたがって前記問い合わせ要求を複数のプロキシーサーバー420のうちの少なくとも1つの第1プロキシーサーバー421に送信する。前記予め設定されたルールは、ポーリングルール又はランダムルール等であってもよい。実際に使用される際、複数のプロキシーサーバー420を予め番号付け、前記ポーリングルールは、1つ又は複数のプロキシーサーバーを、問い合わせ要求を送信しようとする第1プロキシーサーバーとして前記複数のプロキシーサーバー420の番号にしたがって順次選択するようにしてもよい。たとえば、問い合わせ要求を1つのプロキシーサーバーに送信することを例として、問い合わせサーバー410が第1問い合わせ要求を受信すると、前記第1問い合わせ要求を、番号が1のプロキシーサーバー420に送信し、問い合わせサーバー410が第2問い合わせ要求を受信すると、前記第2問い合わせ要求を番号が2のプロキシーサーバー420に送信し、以下同様である。前記第1問い合わせ要求と前記第2問い合わせ要求は、データ受信時間によって決定される。一方、前記ランダムルールは、受信した問い合わせ要求を予め設定されたルールランダムアルゴリズムにしたがって対応する少なくとも1つのプロキシーサーバー420に送信するようにしてもよい。
前記第1プロキシーサーバー421は、前記問い合わせ要求に対応する属性情報(前記問い合わせ要求に対応するサービスタイプであってもよい)を取得し、それにより前記サービスタイプに応じて設定管理サーバー240へ機器情報を要求する。前記設定管理サーバー240についての具体的な説明は上記を参照でき、ここでは説明は省略される。また、以上の説明からわかるように、エンジンサーバー260におけるインデックスデータを更新・記憶するとき、分割ルールに基づいてインデックスデータを分割できる。したがって、同じサービスタイプに属するインデックスデータは、少なくとも2つのエンジンサーバー260に記憶される可能性がある。
これに基づいて、本実施例では、第1プロキシーサーバーが設定管理サーバー240に問い合わせて、前記属性情報に対応する機器情報を取得する。前記機器情報は少なくとも2つのエンジンサーバー260のIDを含み、前記少なくとも2つのエンジンサーバー260のIDは前記問い合わせ要求のうちの、対応するインデックスデータが前記少なくとも2つのエンジンサーバーに記憶されることを示す。具体的に実装するプロセスには、前記機器情報は機器リストにより実装される。したがって、前記第1プロキシーサーバー421は、前記機器情報に基づいて対応する少なくとも2つのエンジンサーバー260に前記問い合わせ要求を送信して、前記問い合わせ要求に含まれたキー文字又はキーワード、関連キー文字又は関連キーワードに対応するインデックスデータを取得する。
一実施の形態としては、前記第1プロキシーサーバー421が前記少なくとも2つのエンジンサーバー260により戻された第1問い合わせ結果を取得するステップは、前記第1プロキシーサーバー421が予め設定されたカットオフパラメータを満たす第1問い合わせ結果を取得するステップを含む。
具体的には、前記カットオフパラメータは、任意のエンジンサーバー260により戻された問い合わせ結果中のインデックスデータの数を示す。たとえば、あるエンジンサーバー260の取得した問い合わせ結果が1000個のインデックスデータを含み、前記カットオフパラメータが600であると、該エンジンサーバー260は、前記1000個のインデックスデータ中の前の600個のインデックスデータを戻す。このように、検索遅延を大幅に低減させ、1秒あたりのクエリ数(QPS:Query Per Second)を向上させることができる。前記カットオフパラメータは設定管理サーバー240で設定され、マスター制御サーバーにおけるマスター制御モジュール210で取得されて、各エンジンサーバー260に送信して設定される。
本実施例では、前記第1プロキシーサーバー421が少なくとも2つのエンジンサーバー260により戻された第1問い合わせ結果を取得し、取得した少なくとも2つの第1問い合わせ結果を予め設定されたルールにしたがって併合して順序付けて第2問い合わせ結果を生成し、かつ前記第2問い合わせ結果を前記問い合わせサーバー410に送信し、前記問い合わせサーバー410で端末装置に送信してユーザーに出力して表示する。
本実施例の分散型検索方法は、具体的にはオンラインのデータ処理プロセスとする検索問い合わせプロセスであることを理解されたい。図4を参照すると、各サーバーを組み合わせたデータ処理プロセスは以下のとおりである。
ステップ41:問い合わせサーバー410が端末装置の問い合わせ要求を取得する。
ステップ42:問い合わせサーバー410が問い合わせ要求を複数のプロキシーサーバー420のうちの少なくとも1つの第1プロキシーサーバー421に送信する。前記第1プロキシーサーバー421は、問い合わせ要求のサービスタイプに対応する複数のプロキシーサーバー420のうちのプロキシーサーバーであってもよく、予め設定されたルール(たとえばポーリングルール又はランダムルール等)に基づいて決定するプロキシーサーバーであってもよい。
前記問い合わせサーバー410は、受信した前記問い合わせ要求を分析することで、前記問い合わせ要求中のキー文字又はキーワードを取得するとともに、前記キー文字又はキーワードと関連関係を持つ関連キー文字又は関連キーワードを取得し、すなわち前記問い合わせ要求を意図的に認識する。たとえば、前記問い合わせ要求に含まれたキー文字又はキーワードがレストランの名前である場合には、前記キー文字又はキーワードを意図的に認識することで、関連キー文字又は関連キーワードが注文又はキャリーアウト等であることを決定する。また、たとえば、前記問い合わせ要求に含まれたキー文字又はキーワードが文字列である場合には、意図的に認識することで該文字列が中国語の言葉のピンインであることを決定すると、対応する関連キー文字又は関連キーワードが該中国語の言葉等でありえる。問い合わせサーバー410は、さらに意図的に認識した後に取得した少なくとも1つキーワードに基づいて少なくとも1つ問い合わせ要求を生成し、かつ前記少なくとも1つ問い合わせ要求をそれぞれ対応する少なくとも1つの第1プロキシーサーバー421に送信する。
ステップ43:第1プロキシーサーバー421が前記問い合わせ要求の属性情報(たとえばサービスタイプ)に基づいて設定管理サーバー240へ機器リストを要求し、それにより前記問い合わせ要求に対応するインデックスデータが位置するエンジンサーバー260の情報を取得する。
ステップ44:前記第1プロキシーサーバー421が取得した機器リストに基づいて対応する少なくとも2つのエンジンサーバー260に問い合わせ要求を送信する。
ステップ45:前記少なくとも2つのエンジンサーバー260が前記問い合わせ要求中の内容に基づいてインデックスデータをアップロードし、かつ前記第1プロキシーサーバー421に問い合わせ結果に戻す。前記エンジンサーバー260は、予め設定されたカットオフパラメータに基づいて問い合わせ結果中のインデックスデータの数を制御し、それにより問い合わせ遅延を減少させ、QPSを向上ささえる。
ステップ46:前記第1プロキシーサーバー421が取得した少なくとも2つの問い合わせ結果を予め設定されたルールにしたがって併合して順序付けて最終的な問い合わせ結果を生成し、前記最終的な問い合わせ結果を前記問い合わせサーバー410に送信する。
ステップ47:前記問い合わせサーバー410が前記最終的な問い合わせ結果を端末装置に送信し、端末装置がユーザーに出力して表示する。
複数のプロキシーサーバー420を問い合わせサーバー410とエンジンサーバー260に接続する構造を用いることで、問い合わせサーバー410の問い合わせ要求を対応する少なくとも1つのプロキシーサーバー420に送信し、少なくとも1つのプロキシーサーバー420で対応する少なくとも2つのエンジンサーバー260から問い合わせ結果を取得する。複数のプロキシーサーバー420は、同じ機能を有し、相互間に並行関係を持つようにしてもよい。このように、1つのプロキシーサーバー420が動作できないと、その他のプロキシーサーバー420が動作することにより、マスターデバイスが動作できないと、マスターデバイスを再選択する必要があるため、短期間に検索サービスが利用できなくなるという問題を効果的に回避できる。また、プロキシーサーバー420がインデックスの更新・メンテナンスを行う必要がないため、プロキシーサーバー420の負荷を大幅に軽減させる。
本発明の実施例は、さらに、分布検索システムを提供し、前記分布検索システムは具体的には図4と図2を参照でき、前記システムは、設定管理サーバー240、問い合わせサーバー410、複数のプロキシーサーバー420及び複数のエンジンサーバー260を備える。
前記設定管理サーバー240は、設定情報と機器情報を管理することに用いられ得る。前記設定情報は分割ルールを含む。前記機器情報は前記複数のエンジンサーバーの情報を特徴付ける。
前記プロキシーサーバー420は、前記問い合わせサーバー410により送信された問い合わせ要求を受信すると、前記問い合わせ要求に対応する属性情報を取得し、かつ前記属性情報に基づいて前記設定管理サーバー240に問い合わせて、前記属性情報に対応する機器情報を取得し、それにより前記機器情報に対応する少なくとも2つのエンジンサーバー260に前記問い合わせ要求を送信することに用いられ得る。また、前記少なくとも2つのエンジンサーバー260により戻された第1問い合わせ結果を取得した後、プロキシーサーバー420は、少なくとも2つの第1問い合わせ結果を予め設定されたルールにしたがって第2問い合わせ結果として併合し、かつ前記第2問い合わせ結果を前記問い合わせサーバー410に送信する。
前記問い合わせサーバー410は、端末装置の問い合わせ要求を取得すると、前記問い合わせ要求を前記プロキシーサーバー420に送信し、かつ前記第2問い合わせ結果を受信すると、前記第2問い合わせ結果を前記端末装置に送信することに用いられ得る。
前記複数のエンジンサーバー260のうちの各エンジンサーバーは、前記分割ルールを満たすインデックスデータを記憶し、かつ前記問い合わせ要求を受信すると前記第1問い合わせ結果をフィードバックすることに用いられ得る。
本実施例では、前記システムは、さらに、マスター制御サーバーとインデックス作成サーバー250とを備える。前記マスター制御サーバーは、前記設定管理サーバー240から分割ルールを取得し、かつ前記分割ルールをインデックス作成サーバー250に送信することに用いられ得る。また、マスター制御サーバーは、さらに、前記インデックス作成サーバー250により送信された、分割結果を特徴付けるインデックス設定情報を取得し、前記インデックス設定情報に基づいてインデックスデータを取得し、かつ前記インデックスデータを複数のエンジンサーバー260のうちの、対応する少なくとも2つの第1エンジンサーバーに記憶することに用いられ得る。前記インデックス作成サーバー250は、前記分割ルールに基づいて作成対象のインデックスデータを分割し、かつ分割結果を特徴付けるインデックス設定情報を前記マスター制御サーバーに送信することに用いられ得る。
一実施の形態としては、前記プロキシーサーバー420は、予め設定されたカットオフパラメータを満たす問い合わせ結果を取得する。
本発明の実施例の分布検索システムは、複数のプロキシーサーバーをマスター制御サーバー、設定管理サーバー、インデックス作成サーバー、問い合わせサーバー及びエンジンサーバーに接続する分布検索構造により、問い合わせ機能及びインデックス更新・メンテナンス機能をそれぞれプロキシーサーバー及びマスター制御サーバーで実装し、分散型検索システムのスケーラビリティ及びシステムの安定性を大幅に向上できる。実際に使用される際、オンラインで1つのインデックスを統計すると、前の半分の期間に問い合わせ遅延が50%減少し、前の90%の期間に問い合わせ遅延が54.5%減少し、前の99%の期間に問い合わせ遅延が46%減少し、ユーザー体験を向上させる。
本発明の実施例は、さらに、プロキシーサーバーを提供する。図5は、本発明の実施例のプロキシーサーバーの設定構造模式図であり、図5に示すように、前記プロキシーサーバーは、通信手段51と、処理手段52とを備える。
前記通信手段51は、問い合わせサーバーからの問い合わせ要求を受信し、かつ前記問い合わせ要求を前記処理手段52に送信することに用いられ得る。通信手段51は、さらに、前記処理手段52により決定された少なくとも2つのエンジンサーバーに前記問い合わせ要求を送信し、前記少なくとも2つのエンジンサーバーにより戻された第1問い合わせ結果を取得し、かつ前記処理手段52により併合された第2問い合わせ結果を前記問い合わせサーバーに送信することに用いられ得る。
前記処理手段52は、前記問い合わせ要求に対応する属性情報を取得し、かつ取得した属性情報に基づいて設定管理サーバーに問い合わせて、前記属性情報に対応する前記少なくとも2つのエンジンサーバーを取得することに用いられ得る。前記処理手段52は、さらに、前記通信手段51の取得した少なくとも2つの前記第1問い合わせ結果を予め設定されたルールにしたがって併合して第2問い合わせ結果を得る。
一実施の形態としては、前記通信手段51は、予め設定されたカットオフパラメータを満たす問い合わせ結果を取得する。
前記プロキシーサーバーにおける処理手段52は、前記プロキシーサーバーにおける中央処理装置(CPU:Central Processing Unit)、デジタル信号プロセッサ(DSP:Digital Signal Processor)、マイクロコントローラーユニット(MCU:Microcontroller Unit)又はフィールドプログラマブルゲートアレイ(FPGA:Field−Programmable Gate Array)により実装できる。前記プロキシーサーバーにおける通信手段51は、通信モジュール(基本通信キット、オペレーティングシステム、通信モジュール、標準化インターフェース及びプロトコル等を含む)及び送受信アンテナにより実装できる。
本発明の実施例は、さらに、マスター制御サーバーを提供する。図6は本発明の実施例のマスター制御サーバーの設定構造模式図であり、図6に示すように、前記マスター制御サーバーは、マスター制御モジュール61と通知モジュール62とを備える。
前記マスター制御モジュール61は、設定管理サーバーから分割ルールを取得し、かつ前記分割ルールを前記通知モジュール62に送信することに用いられ得る。前記マスター制御モジュール61は、さらに、前記通知モジュール62により送信されたインデックス設定情報に基づいてインデックスデータを取得し、かつ前記インデックスデータを複数のエンジンサーバーのうちの、対応する少なくとも2つのエンジンサーバーに記憶する。
前記通知モジュール62は、前記インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを分割するように、前記分割ルールをインデックス作成サーバーに送信することに用いられ得る。また、通知モジュール62は、さらに、分割結果を特徴付けるインデックス設定情報を取得し、かつ前記インデックス設定情報を前記マスター制御モジュール61に送信する。
本実施例では、前記マスター制御サーバーは、さらに、複数のクライアントモジュール63を備える。前記複数のクライアントモジュール63は、複数のエンジンサーバーと一対一で対応する。前記マスター制御モジュール61は、前記通知モジュール62により送信されたインデックス設定情報に基づいて、前記インデックス設定情報に含まれた分割結果に対応するクライアントモジュール63がインデックスデータを取得するように指示する。実際に使用される際、前記マスター制御モジュール61は、前記設定管理サーバーと通信して、前記設定管理サーバーから前記分割ルールを取得するための第1通信サブモジュールと、前記通知モジュール62と通信して、前記通知モジュール62に前記分割ルールを送信して前記通知モジュール62から前記インデックス設定情報を取得するための第2通信サブモジュールと、クライアントモジュール63と通信して、前記クライアントモジュール63が前記インデックス設定情報に基づいて前記インデックスデータを取得するように指示する第3通信サブモジュールとを含む。
前記通知モジュール62は、前記分割ルールをインデックス作成サーバーに送信し、かつ分割結果を特徴付けるインデックス設定情報を取得した後、前記インデックス設定情報を前記マスター制御モジュール61に送信することに用いられ得る。実際に使用される際、前記通知モジュール62は、前記マスター制御モジュール61と通信して、前記マスター制御モジュール61から前記分割ルールを取得して前記マスター制御モジュール61に前記インデックス設定情報を送信するための第1通信モジュールと、前記インデックス作成サーバーと通信して、前記インデックス作成サーバーに前記分割ルールを送信して前記インデックス作成サーバーから前記インデックス設定情報を取得するための第2通信モジュールとを含む。
前記クライアントモジュール63は、前記マスター制御モジュール61の指示に基づいてインデックスデータを取得し、かつ前記インデックスデータを対応するエンジンサーバーに記憶する。実際に使用される際、前記クライアントモジュール63は、前記マスター制御モジュール61と通信して、前記マスター制御モジュール61の指示を受信するための第1通信サブモジュールと、前記マスター制御モジュール61の指示に応答して前記インデックス設定情報に基づいてインデックスデータを取得するためのプロセスモジュールと、前記エンジンサーバーと通信して、前記インデックスデータを対応するエンジンサーバーに記憶するための第2通信サブモジュールとを含む。
本実施例では、前記マスター制御サーバーは、サーバークラスターであってもよい。前記マスター制御モジュール61は、主に、統合にスケジューリングすることに用いられる。前記通知モジュール62は、主に、インデックス作成サーバーと通信することに用いられる。前記通知モジュール62の数は少なくとも1個であり得る。少なくとも1つの通知モジュール62は、サービスタイプに応じて区分し、たとえば各通知モジュール62は、対応するサービスタイプに属するインデックス作成の相関情報を通知することに用いられる。前記クライアントモジュール63の数は、エンジンサーバーの数と同じであってもよく、且つクライアントモジュール63のそれぞれが1つのエンジンサーバーに対応する。前記クライアントモジュール63は、マスター制御モジュール61の指示に基づいてインデックスデータを抽出し、かつ抽出したインデックスデータを対応するエンジンサーバーに記憶することに用いられ得る。前記マスター制御モジュール61、各通知モジュール62は、独立したサーバーにより実装できる。前記クライアントモジュール63は、対応するエンジンサーバーに位置し、かつ対応するエンジンサーバーにより対応する機能を実装する。実際に使用される際、前記マスター制御モジュール61は、予備マスター制御モジュールが配置されてもよく、各通知モジュール62にも対応する予備通知モジュールが配置されてもよい。各クライアントモジュール63にも対応する予備クライアントモジュール63が配置されてもよい。このように、マスターモジュールに異常が発生して動作できないと、対応する予備モジュールにより対応する機能を実行し続ける。
本発明の実施例は、さらに、コンピューター機器を提供し、図7は本発明の実施例のコンピューター機器の設定構造模式図であり、図7に示すように。前記コンピューター機器は、プロセッサ71、メモリ72及び少なくとも1つ外部通信インターフェース73を備える。前記プロセッサ71、メモリ72及び外部通信インターフェース73はいずれもバス74を介して接続される。前記メモリ72にはプロセッサ71に運転可能なコンピュータープログラムが記憶される。
前記コンピューター機器をプロキシーサーバーとする場合、前記プロセッサ71が前記プログラムを実行すると、以下のステップを実装する。問い合わせサーバーからの問い合わせ要求を受信するステップと、前記問い合わせ要求に対応する属性情報を取得ステップと、前記属性情報に基づいて設定管理サーバーに問い合わせ、前記属性情報に対応する機器情報を取得するステップと、前記機器情報に対応する少なくとも2つのエンジンサーバーに前記問い合わせ要求を送信するステップと、前記少なくとも2つのエンジンサーバーが前記問い合わせ要求に基づいて戻った第1問い合わせ結果を取得するステップと、少なくとも2つの前記第1問い合わせ結果を予め設定されたルールにしたがって第2問い合わせ結果として併合するステップと、前記第2問い合わせ結果を前記問い合わせサーバーに送信するステップ、である。つまり、プロセッサ71は、プログラムを実装することで、図5に示すプロキシーサーバーにおける通信手段51と処理手段52の具体的な機能を実装する。
一実施の形態としては、前記プロセッサ71が前記プログラムを実行すると、予め設定されたカットオフパラメータを満たす問い合わせ結果を取得するステップを実装する。
コンピューター機器をマスター制御サーバーとする場合、前記プロセッサ71が前記プログラムを実行すると、以下のステップを実装する。設定管理サーバーから分割ルールを取得するステップと、前記分割ルールをインデックス作成サーバーに送信することで、インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを分割するステップと、分割結果を特徴付けるインデックス設定情報を取得するステップと、前記インデックス設定情報に基づいてインデックスデータを取得するステップと、前記インデックスデータを複数のエンジンサーバーのうちの、対応する少なくとも2つの第1エンジンサーバーに記憶するステップ、である。つまり、プロセッサ71は、プログラムを実行することで、図6に示すマスター制御サーバーにおけるマスター制御モジュール61、通知モジュール62及びクライアントモジュール63の具体的な機能を実装する。
なお、コンピューター機器に関する上記説明は、上記方法についての説明に類似し、方法の有益な効果についての説明と同じであるため、省略される。本発明のコンピューター機器の実施例に開示されていない技術的詳細については、本発明の方法実施例の説明をご参照ください。
本願において提供されるいくつかの実施例では、開示される装置および方法は、他の方法で実装されてよいことを理解されたい。以上説明された装置の実施例は単なる例示であり、たとえば、前記ユニットの分割は、論理機能の分割にすぎず、実際の実装では、たとえば、複数のユニット又はコンポーネントが組み合わせられること、もしくは別のシステムに統合されることがあり、または一部の特徴が無視されること、もしくは実行されないことがある。加えて、表示または説明される各構成部分の相互結合もしくは直接結合または通信接続は、いくつかのインターフェースを使用することによって実施され得る。装置又はユニットの間の間接結合又は通信接続は、電子形態、機械形態、または他の形態で実施され得る。
別個の部分として説明される上記ユニットは、物理的に別個であってもなくてもよく、ユニットとして表示された部材は、物理的ユニットであってもなくてもよく、すなわち1つの位置に配置されてよく、または複数のネットワークユニット上に分散されてよい。ユニットの一部または全部は、本実施例の解決策の目的を達成するために、実際の要件にしたがって選択され得る。たとえば、以上に記載のさまざまなサーバーは、物理上のハードウェア機器であってもよく、サーバークラスターに運転するソフトウェアモジュールであってもよい。
加えて、本発明の各実施例における各機能ユニットは、すべて一つの処理手段に統合されてもよいし、ユニットの各々が物理的に単体で存在してよく、または二つ以上のユニットが一つのユニットに統合されてもよいし、上述の統合されたユニットは、ハードウェアとして実装されてもよいし、ハードウェアとソフトウェア機能ユニットとして実装されてもよい。
当業者であれば理解できるように、上記方法実施例のステップのすべてまたは一部は、プログラム命令に関連するハードウェアによって実装され得て、上記プログラムがコンピューター可読記憶媒体に記憶でき、該プログラムを実行する場合、上記方法実施例のステップの実行を含む。上記の記憶媒体は、移動記憶デバイス、読み出し専用メモリ(ROM:Read−Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスク又は光ディスクなど、プログラムコードを記憶することができる任意の媒体を含む。
又は、本発明の上記統合されたユニットがソフトウェア機能モジュールの形態で実装され、単独の製品として販売または使用されるとき、コンピューター可読記憶媒体に記憶され得る。そのような理解に基づいて、基本的に本発明の実施例の技術案、または従来技術に寄与する部分は、ソフトウェア製品の形態で実装され得る。該コンピューターソフトウェア製品は、記憶媒体に記憶され、コンピューター機器(パーソナルコンピューター、サーバー、またはネットワークデバイスであり得る)が本発明の各実施例の前記方法の全部または一部を実行するように命令するためのいくつかの命令を含む。上記記憶媒体は、移動記憶デバイス、ROM、RAM、磁気ディスク、または光ディスクなど、プログラムコードを記憶することができる任意の媒体を含む。
上記の説明は、本発明の特定の実装形態にすぎず、本発明の保護範囲を限定するものではない。本発明で開示された技術範囲内で当業者によって容易に考え出されるいかなるや置換も、本発明の保護範囲内に入るものとする。したがって、本発明の保護範囲は、特許請求の保護範囲によるものとする。

Claims (12)

  1. 分散型検索方法であって、
    複数のプロキシーサーバーのうちの少なくとも1つの第1プロキシーサーバーが問い合わせサーバーからの問い合わせ要求を受信すると、前記問い合わせ要求に対応する属性情報を取得するステップと、
    前記第1プロキシーサーバーが前記属性情報に基づいて設定管理サーバーに問い合わせて、前記属性情報に対応する機器情報を取得するステップと、
    前記第1プロキシーサーバーが前記機器情報に対応する少なくとも2つのエンジンサーバーに前記問い合わせ要求を送信するステップと、
    前記第1プロキシーサーバーが、前記少なくとも2つのエンジンサーバーが前記問い合わせ要求に基づいて戻した第1問い合わせ結果を取得するステップと、
    前記第1プロキシーサーバーが少なくとも2つの前記第1問い合わせ結果を予め設定されたルールにしたがって第2問い合わせ結果として併合するステップと、
    前記第1プロキシーサーバーが前記第2問い合わせ結果を前記問い合わせサーバーに送信するステップとを含み、
    前記複数のプロキシーサーバーから、少なくとも1つのサービスタイプが前記問い合わせ要求とマッチングするプロキシーサーバーを前記第1プロキシーサーバーとして選択するステップ、または
    予め設定されたルールにしたがって前記複数のプロキシーサーバーから少なくとも1つを前記第1プロキシーサーバーとして選択するステップをさらに含む分散型検索方法。
  2. 前記少なくとも2つのエンジンサーバーが前記問い合わせ要求に基づいて戻した前記第1問い合わせ結果を取得するステップは、
    前記第1プロキシーサーバーが予め設定されたカットオフパラメータを満たす前記第1問い合わせ結果を取得するステップを含むことを特徴とする請求項1に記載の方法。
  3. 記予め設定されたルールは、ランダムルールとポーリングルールを含むことを特徴とする請求項1に記載の方法。
  4. インデックスの更新方法であって、
    マスター制御サーバーが設定管理サーバーから分割ルールを取得するステップと、
    前記マスター制御サーバーが前記分割ルールをインデックス作成サーバーに送信することで、前記インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを分割するステップと、
    前記マスター制御サーバーが前記分割した結果を特徴付けるインデックス設定情報を取得するステップと、
    前記マスター制御サーバーが前記インデックス設定情報に基づいてインデックスデータを取得するステップと、
    前記マスター制御サーバーが前記インデックスデータを複数のエンジンサーバーのうちの、対応する少なくとも2つのエンジンサーバーに記憶するステップとを含むインデックスの更新方法。
  5. プロキシーサーバーであって、
    問い合わせサーバーからの問い合わせ要求を受信するための通信手段と、
    前記問い合わせ要求に対応する属性情報を取得し、前記属性情報に基づいて設定管理サーバーに問い合わせて前記属性情報に対応する機器情報を取得し、かつ前記機器情報に対応する少なくとも2つのエンジンサーバーを決定するための処理手段とを備え、
    前記通信手段は、さらに、前記少なくとも2つのエンジンサーバーに前記問い合わせ要求を送信して、前記少なくとも2つのエンジンサーバーが前記問い合わせ要求に基づいて戻した第1問い合わせ結果を取得することに用いられ、
    前記処理手段は、さらに、少なくとも2つの前記第1問い合わせ結果を予め設定されたルールにしたがって併合し、第2問い合わせ結果を得ることに用いられ、
    前記通信手段は、さらに、前記第2問い合わせ結果を前記問い合わせサーバーに送信することに用いられ
    前記プロキシーサーバーは、前記問い合わせ要求のサービスタイプに対応するプロキシーサーバー、または予め設定されたルールに基づいて決定するプロキシーサーバーであるプロキシーサーバー。
  6. マスター制御サーバーであって、
    設定管理サーバーから分割ルールを取得するためのマスター制御モジュールと、
    前記分割ルールをインデックス作成サーバーに送信することで、前記インデックス作成サーバーが前記分割ルールに基づいて作成対象のインデックスデータを分割し、かつ前記分割した結果を特徴付けるインデックス設定情報を取得するための通知モジュールとを備え、
    前記マスター制御モジュールは、さらに、前記インデックス設定情報に基づいてインデックスデータを取得し、かつ前記インデックスデータを複数のエンジンサーバーのうちの、対応する少なくとも2つのエンジンサーバーに記憶することに用いられるマスター制御サーバー。
  7. 前記マスター制御サーバーは、さらに、複数のクライアントモジュールを備え、前記複数のクライアントモジュールは複数のエンジンサーバーと一対一で対応し、
    前記マスター制御モジュールは、第1クライアントモジュールが第1インデックスデータを取得するように、前記インデックス設定情報に基づいて指示し、前記第1クライアントモジュールは、前記インデックス設定情報に含まれた第1分割結果に対応する前記複数のクライアントモジュールのうちのクライアントモジュールであり、
    前記第1クライアントモジュールは、前記マスター制御モジュールの指示に基づいて前記インデックスデータを取得し、かつ前記インデックスデータを対応するエンジンサーバーに記憶することを特徴とする請求項に記載のマスター制御サーバー。
  8. 分散型検索システムであって、
    分割ルールを含む設定情報と、複数のエンジンサーバーの情報を特徴付ける機器情報とを管理するための設定管理サーバーと、
    端末装置の問い合わせ要求を取得するための問い合わせサーバーと、
    複数のプロキシーサーバーと、
    それぞれ、前記分割ルールを満たすインデックスデータを記憶するための複数のエンジンサーバーとを備え、
    前記複数のプロキシーサーバーのうちの少なくとも1つの第1プロキシーサーバーは、前記問い合わせサーバーからの前記問い合わせ要求を受信した後、前記問い合わせ要求の属性情報に基づいて前記設定管理サーバーに問い合わせることにより、前記複数のエンジンサーバーのうちの少なくとも2つの第1エンジンサーバーを決定し、かつ前記少なくとも2つの第1エンジンサーバーに前記問い合わせ要求を送信し、
    前記少なくとも2つの第1エンジンサーバーのそれぞれは、前記問い合わせ要求を受信することに応答して第1問い合わせ結果をフィードバックし、
    前記少なくとも1つの第1プロキシーサーバーは、少なくとも2つの前記第1問い合わせ結果を第2問い合わせ結果として併合し、かつ前記問い合わせサーバーに送信することで、前記問い合わせサーバーが前記第2問い合わせ結果を前記端末装置に戻し、
    前記問い合わせサーバーは、サービスタイプが前記問い合わせ要求のサービスタイプとマッチングする前記複数のプロキシーサーバーのうちの前記第1プロキシーサーバーに前記問い合わせ要求を送信する、または
    前記問い合わせサーバーは、予め設定されたルールにしたがって前記プロキシーサーバーから少なくとも1つを前記第1プロキシーサーバーとして選択し、かつ前記第1プロキシーサーバーに前記問い合わせ要求を送信する分散型検索システム。
  9. 前記設定管理サーバーから前記分割ルールを取得するためのマスター制御サーバーと、
    前記マスター制御サーバーにより送信された前記分割ルールに基づいて作成対象のインデックスデータを分割し、かつ前記分割した結果を特徴付けるインデックス設定情報を前記マスター制御サーバーに送信するためのインデックス作成サーバーとを、さらに、備え、
    前記マスター制御サーバーは、前記インデックス設定情報に基づいてインデックスデータを取得し、かつ前記インデックスデータを対応する前記複数のエンジンサーバーのうちの少なくとも2つのエンジンサーバーに記憶することを特徴とする請求項に記載のシステム。
  10. 前記第1エンジンサーバーは、予め設定されたカットオフパラメータに基づいて前記第1プロキシーサーバーに前記第1問い合わせ結果をフィードバックすることを特徴とする請求項に記載のシステム。
  11. コンピューター機器であって、メモリ、プロセッサ、及びメモリに記憶され、プロセッサに運転可能なコンピュータープログラムを備えるコンピューター機器であって、前記プロセッサが前記プログラムを実行すると、請求項1〜のいずれか一項に記載の分散型検索方法のステップを実装することを特徴とするコンピューター機器。
  12. コンピューター機器であって、メモリ、プロセッサ、及びメモリに記憶され、プロセッサに運転可能なコンピュータープログラムを備えるコンピューター機器であって、前記プロセッサが前記プログラムを実行すると、請求項に記載のインデックスの更新方法のステップを実装することを特徴とするコンピューター機器。
JP2019568703A 2017-07-05 2017-12-29 分散型検索及びインデックスの更新方法、システム、サーバー並びにコンピューター機器 Active JP6967615B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710540135.0 2017-07-05
CN201710540135.0A CN107273540B (zh) 2017-07-05 2017-07-05 分布式搜索及索引更新方法、***、服务器及计算机设备
PCT/CN2017/120018 WO2019007010A1 (zh) 2017-07-05 2017-12-29 分布式搜索及索引更新方法、***、服务器及计算机设备

Publications (2)

Publication Number Publication Date
JP2020523700A JP2020523700A (ja) 2020-08-06
JP6967615B2 true JP6967615B2 (ja) 2021-11-17

Family

ID=60071122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019568703A Active JP6967615B2 (ja) 2017-07-05 2017-12-29 分散型検索及びインデックスの更新方法、システム、サーバー並びにコンピューター機器

Country Status (6)

Country Link
US (1) US20200210496A1 (ja)
JP (1) JP6967615B2 (ja)
CN (1) CN107273540B (ja)
CA (2) CA3184577A1 (ja)
TW (1) TWI740029B (ja)
WO (1) WO2019007010A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273540B (zh) * 2017-07-05 2021-09-24 北京三快在线科技有限公司 分布式搜索及索引更新方法、***、服务器及计算机设备
CN109255072B (zh) * 2018-08-15 2023-04-14 腾讯科技(深圳)有限公司 信息召回方法及装置、计算机存储介质、电子设备
CN109409924B (zh) * 2018-09-03 2023-04-18 平安科技(深圳)有限公司 账户评分***、方法、服务器和计算机可读存储介质
CN109918472A (zh) * 2019-02-27 2019-06-21 北京百度网讯科技有限公司 存储和查询数据的方法、装置、设备和介质
CN111405039A (zh) * 2020-03-16 2020-07-10 深圳市网心科技有限公司 一种数据透传方法、装置、***和客户端及服务器
CN111417119A (zh) * 2020-03-16 2020-07-14 纳瓦电子(上海)有限公司 无线级联的方法
CN111858585A (zh) * 2020-06-30 2020-10-30 深圳幂度信息科技有限公司 区块链策略处理装置、计算机可读存储介质及终端设备
CN111931033A (zh) * 2020-08-11 2020-11-13 深圳市欢太科技有限公司 一种检索方法、检索装置及服务器
CN113761079A (zh) * 2021-01-21 2021-12-07 北京沃东天骏信息技术有限公司 数据访问方法、***和存储介质
CN113438304B (zh) * 2021-06-23 2023-04-07 平安消费金融有限公司 基于数据库集群的数据查询方法、装置、服务器及介质
CN113535730A (zh) * 2021-07-21 2021-10-22 挂号网(杭州)科技有限公司 搜索引擎的索引更新方法及***、电子设备、存储介质
CN113641796A (zh) * 2021-08-30 2021-11-12 平安医疗健康管理股份有限公司 数据搜索方法、***及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1305271C (zh) * 2004-04-29 2007-03-14 上海交通大学 基于代理映射的网络安全隔离与信息交换***及方法
US8880489B2 (en) * 2005-08-04 2014-11-04 Hewlett-Packard Development Company, L.P. Discovery across multiple registries
CN102375853A (zh) * 2010-08-24 2012-03-14 ***通信集团公司 分布式数据库***、在其中建立索引的方法和查询方法
CN101950300B (zh) * 2010-09-20 2013-07-24 华南理工大学 一种分布式搜索引擎***及其实现方法
CN102033912A (zh) * 2010-11-25 2011-04-27 北京北纬点易信息技术有限公司 一种分布式数据库访问方法及***
US9774676B2 (en) * 2012-05-21 2017-09-26 Google Inc. Storing and moving data in a distributed storage system
US10956667B2 (en) * 2013-01-07 2021-03-23 Google Llc Operational transformations proxy for thin clients
CN104978337A (zh) * 2014-04-08 2015-10-14 张军 一种基于软件定义网络的分布式视频搜索引擎框架
CN105320527A (zh) * 2014-06-12 2016-02-10 中兴通讯股份有限公司 基于zookeeper分布式搜索引擎的配置文件更新方法、装置及***
US9760591B2 (en) * 2015-05-14 2017-09-12 Walleye Software, LLC Dynamic code loading
CN105187551A (zh) * 2015-09-29 2015-12-23 成都四象联创科技有限公司 基于云平台的分布式计算方法
CN105978948B (zh) * 2016-04-27 2019-05-24 努比亚技术有限公司 一种云服务的方法和***
CN106776694A (zh) * 2016-11-11 2017-05-31 张军 一种基于软件定义的网络分布式图片搜索引擎框架
CN107273540B (zh) * 2017-07-05 2021-09-24 北京三快在线科技有限公司 分布式搜索及索引更新方法、***、服务器及计算机设备

Also Published As

Publication number Publication date
CN107273540A (zh) 2017-10-20
US20200210496A1 (en) 2020-07-02
TW201907324A (zh) 2019-02-16
TWI740029B (zh) 2021-09-21
CN107273540B (zh) 2021-09-24
CA3065118A1 (en) 2019-01-10
WO2019007010A1 (zh) 2019-01-10
CA3065118C (en) 2024-03-26
JP2020523700A (ja) 2020-08-06
CA3184577A1 (en) 2019-01-10

Similar Documents

Publication Publication Date Title
JP6967615B2 (ja) 分散型検索及びインデックスの更新方法、システム、サーバー並びにコンピューター機器
CN107508795B (zh) 跨容器集群的访问处理装置及方法
US8190630B2 (en) Data search device, data search system, data search method and data search program
CN109871224A (zh) 一种基于用户标识的灰度发布方法、***、介质及设备
JP6641067B1 (ja) 検出システム、方法および関連装置
CN102201010A (zh) 无共享架构的分布式数据库***及其实现方法
JP2012038152A (ja) 接続管理システム、及びシンクライアントシステムにおける接続管理サーバの連携方法
CN110413845B (zh) 基于物联网操作***的资源存储方法及装置
CN102404387A (zh) 一种用于与其他节点进行信息同步的方法、装置和设备
US9197715B2 (en) Information processing apparatus and data control method
US8984100B2 (en) Data downloading method, terminal, server, and system
CN116701330A (zh) 物流信息共享方法、装置、设备及存储介质
US20220166842A1 (en) Data distribution method and electronic device
CN111339130A (zh) 一种数据查询方法、相关设备及可读存储介质
CN111666265B (zh) 一种数据管理方法、装置、服务器及存储介质
CN110597808B (zh) 分布式数据库表连接方法、装置、***、服务器及介质
CN109981725B (zh) 一种跨安全域的通信方法、服务器和可读存储介质
CN104376014A (zh) 一种结构化p2p网络中的资源发布及查询方法
US10334023B2 (en) Content distribution method, system and server
CN2929830Y (zh) 一种搜索引擎服务器和搜索***
CN103685367A (zh) 离线下载***和方法
CN117499017B (zh) 区块链网络传输方法、***及存储介质和终端设备
CN113242307B (zh) 服务请求处理方法、装置、服务器及存储介质
CN107846290B (zh) 一种拓补关系管理方法和管理设备
KR100931201B1 (ko) 검색 시스템에서의 지능형 브로커 장치 및 이를 이용한검색방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210506

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211025

R150 Certificate of patent or registration of utility model

Ref document number: 6967615

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150