特開2021-103554(P2021-103554A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 百度国際科技(深▲セン▼)有限公司の特許一覧

特開2021-103554検索方法、検索装置、電子機器及び記憶媒体
<>
  • 特開2021103554-検索方法、検索装置、電子機器及び記憶媒体 図000003
  • 特開2021103554-検索方法、検索装置、電子機器及び記憶媒体 図000004
  • 特開2021103554-検索方法、検索装置、電子機器及び記憶媒体 図000005
  • 特開2021103554-検索方法、検索装置、電子機器及び記憶媒体 図000006
  • 特開2021103554-検索方法、検索装置、電子機器及び記憶媒体 図000007
  • 特開2021103554-検索方法、検索装置、電子機器及び記憶媒体 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2021-103554(P2021-103554A)
(43)【公開日】2021年7月15日
(54)【発明の名称】検索方法、検索装置、電子機器及び記憶媒体
(51)【国際特許分類】
   G06F 16/953 20190101AFI20210618BHJP
   G06F 13/00 20060101ALI20210618BHJP
【FI】
   G06F16/953
   G06F13/00 540B
【審査請求】有
【請求項の数】23
【出願形態】OL
【公開請求】
【全頁数】22
(21)【出願番号】特願2021-48175(P2021-48175)
(22)【出願日】2021年3月23日
(31)【優先権主張番号】202011020714.0
(32)【優先日】2020年9月25日
(33)【優先権主張国】CN
(71)【出願人】
【識別番号】521121846
【氏名又は名称】百度国際科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】110002468
【氏名又は名称】特許業務法人後藤特許事務所
(72)【発明者】
【氏名】劉 俊啓
【テーマコード(参考)】
5B084
5B175
【Fターム(参考)】
5B084AA01
5B084AA26
5B084AB01
5B084AB04
5B084AB13
5B084AB16
5B084AB20
5B084AB31
5B084BB01
5B084BB12
5B084CA07
5B084CF03
5B084CF12
5B084DB02
5B084DB09
5B084DC02
5B084DC03
5B084DC17
5B175AA02
5B175HB03
(57)【要約】      (修正有)
【課題】検索の応答速度を向上させる検索方法、検索装置、電子機器及び記憶媒体を提供する。
【解決手段】検索方法は、ユーザが入力した第1キーワードを受信することと、第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、サーバが送信した、ターゲットキーワードに対応する検索結果ページのリソース又はターゲットページのリソースであるターゲットリソースを受信することと、サーバがターゲットリソースを返すプロセスにおいて、返されたリソースをターゲットコンテナにおいてプリレンダリングすることと、ユーザが入力した、ターゲットキーワード又はターゲットページを検索する命令である第1検索命令を検出すれば、第1検索命令に応答してターゲットコンテナ内のリソースを出力することと、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
ユーザが入力した第1キーワードを受信することと、
前記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、前記サーバが送信した、前記ターゲットキーワードに対応する検索結果ページのリソース又は前記ターゲットページのリソースであるターゲットリソースを受信することと、
前記サーバが前記ターゲットリソースを返すプロセスにおいて、返されたリソースをターゲットコンテナにおいてプリレンダリングすることと、
ユーザが入力した、前記ターゲットキーワード又は前記ターゲットページを検索する命令である第1検索命令を検出すれば、前記第1検索命令に応答して前記ターゲットコンテナ内のリソースを出力することと、を含む、ことを特徴とする検索方法。
【請求項2】
前記のユーザが入力した第1キーワードを受信することの後に、
前記第1キーワードに対する第1検索要求を前記サーバに送信することと、
前記サーバが前記第1キーワードに対応する検索結果ページである第1検索結果ページのリソースを返すプロセスにおいて、返されたリソースを第1コンテナにおいてプリレンダリングすることと、をさらに含む、ことを特徴とする請求項1に記載の方法。
【請求項3】
前記のユーザが入力した第1キーワードを受信することの後に、
ユーザが現在のキーワードを第2キーワードに変更したことを検出すれば、前記第2キーワードに対する第2検索要求を前記サーバに送信することと、
前記サーバが前記第2キーワードに対応する検索結果ページである第2検索結果ページのリソースを返すプロセスにおいて、返されたリソースを第2コンテナにおいてプリレンダリングすることと、をさらに含む、ことを特徴とする請求項1又は2に記載の方法。
【請求項4】
ユーザが入力した第2検索命令を検出すれば、前記第2検索命令に応答して現在のキーワードに対応するコンテナ内のリソースを出力することをさらに含む、ことを特徴とする請求項3に記載の方法。
【請求項5】
前記の前記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、前記サーバが送信したターゲットリソースを受信することは、
前記サーバが前記第1検索要求を受信した後に、前記第1キーワードとの関連度が所定の条件を満たすターゲットキーワード又はターゲットページを前記サーバが予測すれば、前記サーバが前記予測に基づいて送信したターゲットリソースを受信することを含む、ことを特徴とする請求項2に記載の方法。
【請求項6】
前記の前記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、前記サーバが送信したターゲットリソースを受信することは、
クライアントが、前記第1キーワードとの関連度が所定の条件を満たすターゲットキーワード又はターゲットページを予測すれば、前記ターゲットキーワード又は前記ターゲットページに対する第3検索要求を前記サーバに送信することと、
前記サーバが前記第3検索要求に基づいて返したターゲットリソースを受信することと、を含む、ことを特徴とする請求項1又は2に記載の方法。
【請求項7】
前記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たすことは、
ユーザが前記第1キーワードを入力した後に前記ターゲットキーワードを検索する履歴確率が所定の閾値以上であれば、前記第1キーワードと前記ターゲットキーワードとの関連度が前記所定の条件を満たすことと、
前記第1キーワードに関連する、所定の時間に有効になるターゲットページが存在すれば、前記第1キーワードと前記ターゲットページとの関連度が前記所定の条件を満たすこととのいずれか1つを含む、ことを特徴とする請求項1又は2に記載の方法。
【請求項8】
前記ターゲットコンテナには、前記所定の時間に有効になる前記ターゲットページのリソースがロードされ、
予め作成されたコンテナが全て占有されれば、前記ターゲットコンテナの多重化又は解放を禁止することをさらに含む、ことを特徴とする請求項7に記載の方法。
【請求項9】
前記ターゲットコンテナには、前記所定の時間に有効になる前記ターゲットページのリソースがロードされ、
前記ターゲットコンテナ内の前記ターゲットリソースをターゲット磁気ディスクに記憶することと、
前記ターゲットコンテナが多重化されるか又は解放されれば、所定の条件で前記ターゲットリソースを前記ターゲット磁気ディスクから前記ターゲットコンテナにリロードすることと、をさらに含む、ことを特徴とする請求項7に記載の方法。
【請求項10】
前記所定の条件は、
前記ターゲットページのアプリケーションプログラムの再起動と、
前記所定の時間の前の所定の期間とのうちの少なくとも1つを含む、ことを特徴とする請求項9に記載の方法。
【請求項11】
前記コンテナは、
ウェブページをロードするコンテナと、
アプレットをロードするコンテナと、
構造化データをロードするコンテナとのうちの少なくとも1つを含む、ことを特徴とする請求項1に記載の方法。
【請求項12】
ユーザが入力した第1キーワードを受信する第1受信モジュールと、
前記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、前記サーバが送信した、前記ターゲットキーワードに対応する検索結果ページのリソース又は前記ターゲットページのリソースであるターゲットリソースを受信する第2受信モジュールと、
前記サーバが前記ターゲットリソースを返すプロセスにおいて、返されたリソースをターゲットコンテナにおいてプリレンダリングする第1プリレンダリングモジュールと、
ユーザが入力した、前記ターゲットキーワード又は前記ターゲットページを検索する命令である第1検索命令を検出すれば、前記第1検索命令に応答して前記ターゲットコンテナ内のリソースを出力する第1出力モジュールと、を含む、ことを特徴とする検索装置。
【請求項13】
前記第1キーワードに対する第1検索要求を前記サーバに送信する第1送信モジュールと、
前記サーバが前記第1キーワードに対応する検索結果ページである第1検索結果ページのリソースを返すプロセスにおいて、返されたリソースを第1コンテナにおいてプリレンダリングする第2プリレンダリングモジュールと、をさらに含む、ことを特徴とする請求項12に記載の装置。
【請求項14】
ユーザが現在のキーワードを第2キーワードに変更したことを検出すれば、前記第2キーワードに対する第2検索要求を前記サーバに送信する第2送信モジュールと、
前記サーバが前記第2キーワードに対応する検索結果ページである第2検索結果ページのリソースを返すプロセスにおいて、返されたリソースを第2コンテナにおいてプリレンダリングする第3プリレンダリングモジュールと、をさらに含む、ことを特徴とする請求項12又は13に記載の装置。
【請求項15】
ユーザが入力した第2検索命令を検出すれば、前記第2検索命令に応答して現在のキーワードに対応するコンテナ内のリソースを出力する第2出力モジュールをさらに含む、ことを特徴とする請求項14に記載の装置。
【請求項16】
前記第2受信モジュールは、
前記サーバが前記第1検索要求を受信した後に、前記第1キーワードとの関連度が所定の条件を満たすターゲットキーワード又はターゲットページを前記サーバが予測すれば、前記サーバが前記予測に基づいて送信したターゲットリソースを受信する第1受信サブモジュールを含む、ことを特徴とする請求項13に記載の装置。
【請求項17】
前記第2受信モジュールは、
クライアントが、前記第1キーワードとの関連度が所定の条件を満たすターゲットキーワード又はターゲットページを予測すれば、前記ターゲットキーワード又は前記ターゲットページに対する第3検索要求を前記サーバに送信する送信サブモジュールと、
前記サーバが前記第3検索要求に基づいて返したターゲットリソースを受信する第2受信サブモジュールと、を含む、ことを特徴とする請求項12又は13に記載の装置。
【請求項18】
前記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たすことは、
ユーザが前記第1キーワードを入力した後に前記ターゲットキーワードを検索する履歴確率が所定の閾値以上であれば、前記第1キーワードと前記ターゲットキーワードとの関連度が前記所定の条件を満たすことと、
前記第1キーワードに関連する、所定の時間に有効になるターゲットページが存在すれば、前記第1キーワードと前記ターゲットページとの関連度が前記所定の条件を満たすこととのいずれか1つを含む、ことを特徴とする請求項12又は13に記載の装置。
【請求項19】
前記ターゲットコンテナには、前記所定の時間に有効になる前記ターゲットページのリソースがロードされ、
予め作成されたコンテナが全て占有されれば、前記ターゲットコンテナの多重化又は解放を禁止する禁止モジュールをさらに含む、ことを特徴とする請求項18に記載の装置。
【請求項20】
前記ターゲットコンテナには、前記所定の時間に有効になる前記ターゲットページのリソースがロードされ、
前記ターゲットコンテナ内の前記ターゲットリソースをターゲット磁気ディスクに記憶する記憶モジュールと、
前記ターゲットコンテナが多重化されるか又は解放されれば、所定の条件で前記ターゲットリソースを前記ターゲット磁気ディスクから前記ターゲットコンテナにリロードするロードモジュールと、をさらに含む、ことを特徴とする請求項18に記載の装置。
【請求項21】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されているメモリとを含み、
前記メモリには、前記少なくとも1つのプロセッサにより実行可能で、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに請求項1〜11のいずれか1項に記載の方法を実行させる命令が記憶されている、電子機器。
【請求項22】
請求項1〜11のいずれか1項に記載の方法をコンピュータに実行させるコンピュータ命令が記憶されている、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項23】
コンピュータプログラムを含むコンピュータプログラム製品であって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項1〜11のいずれか1項に記載の方法が実現される、ことを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、コンピュータの技術分野に関し、特に検索の技術分野に関し、具体的には検索方法、検索装置、電子機器及び記憶媒体に関する。
【背景技術】
【0002】
現在、ユーザがインターネットを介して検索を行うとき、一般的に、ユーザが検索ボックスにキーワードを入力し、かつ検索命令を開始して(例えば、検索ボタンをクリックしたりエンターキーをクリックしたりして)こそ、サーバへ検索要求を開始することができる一方で、クライアントは、サーバが返した検索結果ページのリソースを受信した後に、サーバが返した検索結果ページのリソースに基づいてページレンダリングを行う。従来の検索方式では、検索の応答速度が遅い。
【発明の概要】
【0003】
本願は、検索方法、検索装置、電子機器及び記憶媒体を提供する。
【0004】
第1の態様では、本願に係る検索方法は、ユーザが入力した第1キーワードを受信することと、前記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、前記サーバが送信した、前記ターゲットキーワードに対応する検索結果ページのリソース又は前記ターゲットページのリソースであるターゲットリソースを受信することと、前記サーバが前記ターゲットリソースを返すプロセスにおいて、返されたリソースをターゲットコンテナにおいてプリレンダリングすることと、ユーザが入力した、前記ターゲットキーワード又は前記ターゲットページを検索する命令である第1検索命令を検出すれば、前記第1検索命令に応答して前記ターゲットコンテナ内のリソースを出力することと、を含む。
【0005】
第2の態様では、本願に係る検索装置は、ユーザが入力した第1キーワードを受信する第1受信モジュールと、前記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、前記サーバが送信した、前記ターゲットキーワードに対応する検索結果ページのリソース又は前記ターゲットページのリソースであるターゲットリソースを受信する第2受信モジュールと、前記サーバが前記ターゲットリソースを返すプロセスにおいて、返されたリソースをターゲットコンテナにおいてプリレンダリングする第1プリレンダリングモジュールと、ユーザが入力した、前記ターゲットキーワード又は前記ターゲットページを検索する命令である第1検索命令を検出すれば、前記第1検索命令に応答して前記ターゲットコンテナ内のリソースを出力する第1出力モジュールと、を含む。
【0006】
第3の態様では、本願に係る電子機器は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサと通信接続されているメモリとを含み、メモリには、少なくとも1つのプロセッサにより実行可能で、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに第1の態様のいずれか1項に記載の方法を実行させる命令が記憶されている。
【0007】
第4の態様では、本願に係る非一時的なコンピュータ読み取り可能な記憶媒体には、第1の態様のいずれか1項に記載の方法をコンピュータに実行させるコンピュータ命令が記憶されている。
【0008】
本願の技術によれば、ユーザがキーワードを入力するプロセスにおいて、現在のキーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、クライアントは、サーバが送信した、ターゲットキーワードに対応する検索結果ページのリソース、又はターゲットページのリソースを受信し、かつサーバが返した上記リソースをターゲットコンテナにおいてプリレンダリングすることができる。このように、ユーザがターゲットキーワード又はターゲットページに対する検索命令を入力すると、ターゲットコンテナ内のリソースを迅速に出力することができることにより、ユーザは、ターゲットキーワードに対応する検索結果ページ又はターゲットページを迅速に取得することができる。従来技術に比べて、本願は、検索の応答速度を向上させることができる。
【0009】
発明の内容の部分で説明された内容は、本願の実施例のポイント又は重要な特徴を限定しようとするものではなく、本願の範囲を限定するためのものでもないことを理解されたい。本願の他の特徴は、以下の明細書を介して容易に理解できる。
【図面の簡単な説明】
【0010】
図面は、本解決手段をよりよく理解するためのものであり、本願を限定するものではない。
【0011】
図1】本願の第1実施例に係る検索方法のフローチャートである。
図2】本願の第1実施例に係るクライアント及びサーバの概略構成図である。
図3】本願の第1実施例に係る検索方法の一例である。
図4】本願の第1実施例に係る検索方法の一例である。
図5】本願の第2実施例に係る検索装置の概略構成図である。
図6】本願の実施例に係る検索方法を実現する電子機器のブロック図である。
【発明を実施するための最良の形態】
【0012】
以下、図面を参照しながら本願の例示的な実施例を説明し、理解し易くするために、様々な詳細を説明するが、これらが単なる例示的なものと考えるべきである。したがって、本願の範囲及び精神から逸脱することなく、ここで説明された実施例に対して様々な変更及び修正を行うことができることを、当業者は認識すべきである。同様に、明確さと簡潔さのために、以下の説明では、公知の機能及び構造についての説明を省略する。
【0013】
第1実施例
図1に示すように、本願の実施例に係る検索方法は、以下のステップ101〜104を含む。
【0014】
ステップ101では、ユーザが入力した第1キーワードを受信する。
【0015】
本願に係る、上記第1キーワード、後述するターゲットキーワード及び第2キーワードなどの「キーワード」は、いずれもユーザが1回の検索プロセスにおいて検索ボックスに入力した内容であると理解することができる。ユーザが検索命令を入力する場合に、現在の検索ボックス内のキーワードが検索ワード、クエリワード又はqueryとなる。ここで、1回の検索プロセスは、ユーザによる検索ボックスへのキーワードの入力が開始されてから、ユーザによって検索命令が入力され、かつ検索結果ページが表示されるまでの全プロセスであると理解することができる。
【0016】
本願の実施例に係る検索方法は、検索機能を持つ、携帯電話、タブレット、パーソナルコンピュータ(Personal Computer、PCと略称する)などのクライアントによって実現することができる。
【0017】
通常、1回の検索プロセスにおいて、ユーザがキーワードを入力するプロセスは動的なプロセスであり、かつ異なるユーザがキーワードを入力するプロセスは人によって異なり、1回の検索プロセスにおいて、ユーザは、キーワードを複数回入力し、すなわち、キーワードを複数回入力した後に検索命令を入力する場合があり、キーワードを1回入力し、すなわち、キーワードを1回入力した後に検索命令を入力する場合もある。例えば、ユーザは、「李白の故郷を懐かしく思う詩」を検索したい場合に、検索ボックスに「李白の」、「故郷を懐かしく思う」、「詩」を順次入力してもよく、検索ボックスに「李白」、「の」、「故郷を懐かしく思う」、「詩」を順次入力してもよく、検索ボックスに「李白の故郷を懐かしく思う詩」などを入力してもよい。
【0018】
ユーザが入力した第1キーワードは、ユーザが入力した任意のキーワードであってよく、ユーザが入力した1番目のキーワード、すなわち、1回目に入力したキーワードであってもよく、ユーザが入力した、明確な意味を持つ1番目のキーワードであってもよく、その他の意味を持つキーワードであってもよいが、ここでは詳細な説明を省略する。
【0019】
本願の実施例では、ユーザがキーワードを入力する方式は、音声入力であってもよく、テキスト入力であってもよい。
【0020】
ステップ102では、上記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、上記サーバが送信した、上記ターゲットキーワードに対応する検索結果ページのリソース又は上記ターゲットページのリソースであるターゲットリソースを受信する。
【0021】
従来技術では、ユーザが検索命令を入力し、例えば、検索ボタンをクリックしたりエンターキーをクリックしたりしてこそ、クライアントはサーバへ検索要求を開始することができる。従来技術とは異なり、本願の実施例では、ユーザがキーワードを入力すると、クライアントは、サーバに検索要求をリアルタイムに送信することができる。
【0022】
本願の実施例では、ユーザがキーワードを入力するプロセスにおいて、第1キーワードとの関連度が所定の条件を満たすターゲットキーワード又はターゲットページが存在するか否かを、クライアント又はサーバによってリアルタイムで動的に予測することができる。ターゲットキーワード又はターゲットページと第1キーワードとの関連度が所定の条件を満たすことは、ユーザが第1キーワードを入力した場合に、ユーザがターゲットキーワード又はターゲットページを検索する可能性が高いことであると理解することができる。したがって、クライアントは、ユーザが実際にターゲットキーワード又はターゲットページを検索してから対応するリソースをサーバに要求することではなく、予めサーバから対応するリソースを取得することができれば、検索の応答速度を大幅に向上させることができる。
【0023】
したがって、ユーザが第1キーワードを入力した後に、第1キーワードとの関連度が所定の条件を満たすターゲットキーワードが存在すると予測すれば、クライアントは、サーバが送信した、ターゲットキーワードに対応する検索結果ページのリソース(すなわち、ターゲットリソース)を受信することができる。第1キーワードとの関連度が所定の条件を満たすターゲットページが存在すると予測すれば、クライアントは、サーバが送信したターゲットページのリソース(すなわち、ターゲットリソース)を受信することができる。
【0024】
例えば、ユーザが「李白の」を入力した後に、クライアント又はサーバは、「李白の詩」、「李白の月を描く詩」、「李白の故郷を懐かしく思う詩」などが、関連度が所定の条件を満たすターゲットキーワードであると予測することができれば、サーバは、これらのターゲットキーワードに対応する検索結果ページのリソースを予めクライアントに送信することができる。また、例えば、ユーザが「春節聯歓晩会」を入力した後に、クライアント又はサーバは、「春節聯歓晩会で祝福を送る」、「春節聯歓晩会でお年玉を奪い合う」などのページが、関連度が所定の条件を満たすターゲットページであると予測することができれば、サーバは、これらのターゲットページのリソースを予めクライアントに送信することができる。
【0025】
関連度が所定の条件を満たすターゲットキーワード又はターゲットページが複数存在する場合に、サーバは、全て又は一部のターゲットキーワードに対応する検索結果ページのリソース又はターゲットページのリソースをクライアントに送信してもよく、それらのうち1つの(例えば、関連度が最も高い)ターゲットキーワードに対応する検索結果ページのリソース又はターゲットページのリソースをクライアントに送信してもよい。
【0026】
ステップ103では、上記サーバが上記ターゲットリソースを返すプロセスにおいて、返されたリソースをターゲットコンテナにおいてプリレンダリングする。
【0027】
該ステップでは、サーバがターゲットリソースを返すプロセスにおいて、返されたリソースをターゲットコンテナにおいてプリレンダリングし、プリレンダリングして得られたリソースをターゲットコンテナにロードすることができる。ターゲットコンテナは、クライアントが予め作成したコンテナであってよく、プリレンダリングして得られたリソースを記憶することができる。
【0028】
関連度が所定の条件を満たすターゲットキーワード又はターゲットページが複数存在する場合に、サーバは、複数のターゲットキーワードに対応する検索結果ページのリソース又はターゲットページのリソースをクライアントに送信すれば、ターゲットコンテナの数は、複数であってよく、各ターゲットコンテナには、1つのターゲットキーワードに対応する検索結果ページのリソース又はターゲットページのリソースがロードされる。
【0029】
以上より、上記プロセスにより、クライアントが予めターゲットキーワードに対応する検索結果ページのリソース、又はターゲットページのリソースをサーバから取得し、かつプリレンダリングしてこれらのリソースをローカルに記憶することを実現する。
【0030】
なお、本願の実施例に係るコンテナは、プリレンダリングコンテナであると理解することができ、本願の実施例に係るコンテナは、ウェブページをロードするコンテナであってもよく、アプレットをロードするコンテナであってもよく、構造化データをロードするコンテナであってもよい。
【0031】
ステップ104では、ユーザが入力した、上記ターゲットキーワード又は上記ターゲットページを検索する命令である第1検索命令を検出すれば、上記第1検索命令に応答して上記ターゲットコンテナ内のリソースを出力する。
【0032】
該ステップでは、ユーザが入力した、ターゲットキーワードに対する検索命令(すなわち、第1検索命令)を検出すると、ターゲットキーワードに対応する検索結果ページのリソースがターゲットコンテナに予めロードされたため、クライアントは、ターゲットコンテナ内のリソースを出力すればよい。或いは、ユーザが入力した、ターゲットページに対する検索命令(すなわち、第1検索命令)を検出すると、ターゲットページのリソースがターゲットコンテナに予めロードされたため、クライアントは、ターゲットコンテナ内のリソースを出力すればよい。なお、ターゲットページのオープン命令は、検索命令であると理解することができ、例えば、あるページにターゲットページへのエントリ又はリンクが設定されれば、ユーザによる該エントリ又はリンクのクリックは、ユーザによるターゲットページの検索命令の入力と見なすことができる。
【0033】
ここで、コンテナ内のリソースを出力する具体的なプロセスは、ユーザが入力した検索命令を検出すると、コンテナをバックグラウンドからフォアグラウンドに切り替え、かつコンテナにおいてプリレンダリングされたリソースでページを構成し、ユーザに表示することであってよい。
【0034】
上記検索プロセスを実現するために、図2に示すように、クライアントに、入力処理モジュールと、ロジック及びパラメータ処理モジュールと、プリレンダリングコンテナ管理モジュールとを設置し、サーバに、検索サービスモジュール及び予測モジュールを設置することができる。入力処理モジュールは、ユーザが入力した内容のモニタリングを実現し、かつユーザが入力した内容をロジック及びパラメータ処理モジュールに伝達することができ、プリレンダリングコンテナ管理モジュールは、プリレンダリングコンテナの作成、解放又は多重化を実現することができ、ロジック及びパラメータ処理モジュールは、(1)ユーザが入力したキーワードに基づいて検索要求パラメータの組み合わせを行うことと、(2)プリレンダリングコンテナ管理モジュールを呼び出して、対応する検索結果ページのリソースをロードすることと、(3)ユーザが検索行動を決定すると、現在のキーワードに対応するコンテナ内のリソースを出力することと、を実現することができる。予測モジュールは、ユーザが現在入力したキーワードに基づいて、後でオープンできるターゲットページ、又はユーザが検索する可能性のあるターゲットキーワードを予測することができ、検索サービスモジュールは、検索に関連するサービス能力を提供することができる。
【0035】
なお、予測モジュールは、クライアントに設置されてもよい。
【0036】
本願の実施例では、ユーザがキーワードを入力するプロセスにおいて、現在のキーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、クライアントは、サーバが送信した、ターゲットキーワードに対応する検索結果ページのリソース、又はターゲットページのリソースを受信し、かつサーバが返した上記リソースをターゲットコンテナにおいてプリレンダリングすることができる。このように、ユーザがターゲットキーワード又はターゲットページに対する検索命令を入力すると、ターゲットコンテナ内のリソースが迅速に出力されるため、ユーザは、ターゲットキーワードに対応する検索結果ページ又はターゲットページを迅速に取得することができる。従来技術に比べて、本願は、検索の応答速度を向上させ、ユーザの待ち時間を短縮することができる。
【0037】
好ましくは、ユーザが入力した第1キーワードを受信する上記ステップの後に、上記方法は、上記第1キーワードに対する第1検索要求を上記サーバに送信するステップと、上記サーバが上記第1キーワードに対応する検索結果ページである第1検索結果ページのリソースを返すプロセスにおいて、返されたリソースを第1コンテナにおいてプリレンダリングするステップと、をさらに含む。
【0038】
該実施形態では、ユーザが入力した第1キーワードを受信した後に、クライアントは、第1キーワードに対する第1検索要求をサーバに送信することができる。サーバは、クライアントが送信した第1検索要求を受信した後に、対応する検索結果ページのリソース、すなわち、第1検索結果ページのリソースをクライアントに返すことができる。クライアントは、サーバが返した第1検索結果ページのリソースを受信することができ、サーバが第1検索結果ページのリソースを返すプロセスにおいて、返されたリソースを第1コンテナにおいてプリレンダリングし、プリレンダリングして得られたリソースを第1コンテナにロードすることができる。第1コンテナは、クライアントが予め作成したコンテナであってよく、プリレンダリングして得られたリソースを記憶することができる。
【0039】
上記プロセスにより、ユーザがキーワードを入力するプロセスにおいて、クライアントが予め現在のキーワードの検索結果ページのリソースをサーバから取得し、かつプリレンダリングして検索結果ページのリソースをローカルに記憶することを実現する。したがって、ユーザが第1キーワードに対する検索要求を入力すると、クライアントは、第1コンテナ内のリソースを直接出力することができるため、検索の応答速度を向上させ、ユーザの待ち時間を短縮する。
【0040】
好ましくは、ユーザが入力した第1キーワードを受信する上記ステップの後に、上記方法は、ユーザが現在のキーワードを第2キーワードに変更したことを検出すれば、上記第2キーワードに対する第2検索要求を上記サーバに送信するステップと、上記サーバが上記第2キーワードに対応する検索結果ページである第2検索結果ページのリソースを返すプロセスにおいて、返されたリソースを第2コンテナにおいてプリレンダリングするステップと、をさらに含む。
【0041】
前述したように、1回の検索プロセスにおいて、通常、ユーザがキーワードを入力するプロセスが動的なプロセスであるため、ユーザは、第1キーワードを入力した後に、キーワードを変更する可能性があり、キーワードを変更する方式は、複数あり、現在のキーワードに新たな内容を追加することであってもよく、現在のキーワードの一部の内容を修正することであってもよく、現在のキーワードを新たなキーワードに置き換えることなどであってもよい。
【0042】
例えば、ユーザがキーワード「李白の」を入力すれば、現在のキーワードが「李白の」であり、ユーザがキーワード「故郷を懐かしく思う」をさらに入力すれば、ユーザは現在のキーワード「李白の」を第2キーワード「李白の故郷を懐かしく思う」に変更する。また、例えば、ユーザがキーワード「李白の」を入力すれば、現在のキーワードは「李白の」であり、ユーザがキーワード「李白の」を「杜甫の」に修正すれば、第2キーワードは「杜甫の」である。また、例えば、ユーザがキーワード「李百」を入力すれば、現在のキーワードは「李百」であり、ユーザがキーワード「李百」の「百」を「白」に修正すれば、第2キーワードは「李白」である。
【0043】
該ステップでは、ユーザがどのキーワード入力方式を採用するかに関わらず、1回の検索プロセスにおいて、ユーザが新たなキーワードを入力するたびに、クライアントは、現在のキーワード(すなわち、第2キーワード)に対して新たな検索要求(すなわち、第2検索要求)をサーバへリアルタイムに開始することができる。。ユーザが「李白の」、「故郷を懐かしく思う」、「詩」を順次入力することを例とすると、ユーザが「李白の」を入力すると、クライアントは「李白の」の検索要求をサーバへ開始し、ユーザが「故郷を懐かしく思う」をさらに入力すると、クライアントは「李白の故郷を懐かしく思う」の検索要求をサーバへ開始し、ユーザが「詩」をさらに入力すると、クライアントは「李白の故郷を懐かしく思う詩」の検索要求をサーバへ開始する。
【0044】
該ステップでは、クライアントは、サーバが返した新たな検索結果ページ(すなわち、第2検索結果ページ)のリソースを受信することができ、サーバが第2検索結果ページのリソースを返すプロセスにおいて、返されたリソースを第2コンテナにおいてプリレンダリングし、プリレンダリングして得られたリソースを第2コンテナにロードすることができる。第2コンテナは、クライアントが予め作成したコンテナであってよく、プリレンダリングして得られたリソースを記憶することができる。
【0045】
以上から、上記プロセスにより、キーワードを入力するプロセスにおいて、クライアントは、予め異なる検索結果ページのリソースをサーバから動的かつリアルタイムに取得し、かつプリレンダリングして異なる検索結果ページのリソースをそれぞれ異なるコンテナによりローカルに記憶することができる。
【0046】
なお、第2キーワードとは、ユーザが何回目に入力するキーワードかについて限定するものではなく、2回目に入力するキーワードであってもよく、3回目以上に入力するキーワードであってもよく、毎回変更された後のキーワードは、いずれも第2キーワードであると理解することができる。
【0047】
キーワードの入力プロセスに係る、動的かつリアルタイムな検索方式をより明確に理解するために、以下、ユーザが検索ボックスに「李白の」、「故郷を懐かしく思う」、「詩」を順次入力することを例として説明する。
【0048】
ユーザが検索ボックスに「李白の」を入力すると、クライアントは、「李白の」の検索要求をサーバへ開始し、サーバは、検索結果ページA1のリソースをクライアントに返し、クライアントは、サーバが返した検索結果ページA1のリソースを受信し、かつ検索結果ページA1のリソースをコンテナa1においてプリレンダリングし、プリレンダリングして得られたリソースB1をコンテナa1にロードする。ユーザが検索ボックスに「故郷を懐かしく思う」をさらに入力すると、クライアントは、「李白の故郷を懐かしく思う」の検索要求をサーバへ開始し、サーバは、検索結果ページA2のリソースをクライアントに返し、クライアントは、サーバが返した検索結果ページA2のリソースを受信し、かつ検索結果ページA2のリソースをコンテナa2においてプリレンダリングし、プリレンダリングして得られたリソースB2をコンテナa2にロードする。ユーザが検索ボックスに「詩」をさらに入力すると、クライアントは、「李白の故郷を懐かしく思う詩」の検索要求をサーバへ開始し、サーバは、検索結果ページA3のリソースをクライアントに返し、クライアントは、サーバが返した検索結果ページA3のリソースを受信し、かつ検索結果ページA3のリソースをコンテナa3においてプリレンダリングし、プリレンダリングして得られたリソースB3をコンテナa3にロードする。
【0049】
上記プロセスにより、クライアントは、予め現在のキーワードに対応する検索結果ページのリソースを動的かつリアルタイムに取得し、かつ検索結果ページのリソースを異なるコンテナにおいてプリレンダリングすることにより、プリレンダリング後のリソースを異なるコンテナにロードすることができ、クライアントが予め検索結果ページのリソースをサーバからローカルに記憶することを実現する。
【0050】
好ましくは、上記方法は、ユーザが入力した第2検索命令を検出すれば、上記第2検索命令に応答して現在のキーワードに対応するコンテナ内のリソースを出力するステップをさらに含む。
【0051】
上記第2検索命令は、現在のキーワードに対する検索命令であり、該現在のキーワードは、ターゲットキーワードではなく、つまり、上記第2検索命令の検索ターゲットは、第1検索命令の検索ターゲットとは異なり、第2検索命令は、ターゲットキーワード又はターゲットページに対する検索命令ではなく、現在のキーワードに対する検索命令である。
【0052】
該実施形態では、ユーザが入力した第2検索命令を検出すると、現在のキーワードに対応する検索結果ページのリソースが対応するコンテナに予めロードされたため、クライアントは、現在のキーワードに対応するコンテナ内のリソースを出力すればよいため、ユーザは、現在のキーワードに対応する検索結果ページを迅速に取得することができる。
【0053】
以下、ターゲットキーワード又はターゲットページを予測する2種類の実施形態を提供する。
【0054】
好ましくは、上記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、上記サーバが送信したターゲットリソースを受信する上記ステップは、上記サーバが上記第1検索要求を受信した後に、上記第1キーワードとの関連度が所定の条件を満たすターゲットキーワード又はターゲットページを上記サーバが予測すれば、上記サーバが上記予測に基づいて送信したターゲットリソースを受信するステップを含む。
【0055】
該実施形態では、クライアントは、ユーザが入力した第1キーワードを受信した後に、第1キーワードに対する検索要求(すなわち、第1検索要求)をサーバへ開始すれば、サーバは、該検索要求を受信した後に、第1キーワードとの関連度が所定の条件を満たすターゲットキーワード又はターゲットページが存在するか否かを予測することができる。サーバは、第1キーワードとの関連度が所定の条件を満たすターゲットキーワードを予測すれば、ターゲットキーワードに対応する検索結果ページのリソース(すなわち、ターゲットリソース)をクライアントに送信することができ、サーバは、第1キーワードとの関連度が所定の条件を満たすターゲットページを予測すれば、ターゲットページのリソース(すなわち、ターゲットリソース)をクライアントに送信することができる。
【0056】
サーバは、該検索要求を受信した後に、上記予測と、予測後のターゲットリソースの送信とのプロセスを実現することに加えて、第1キーワードに対応する検索結果ページ(すなわち、第1検索結果ページ)のリソースを返すプロセスを実現することもでき、これらの2つのプロセスは、同期に実現されてもよく、順次に実現されてもよい。
【0057】
サーバが強力なビッグデータ計算能力及びビッグデータ分析能力を持つため、サーバよりターゲットキーワード及びターゲットページを予測すると、予測精度及び予測の効率を向上させることにより、検索の応答速度及び検索ヒット率の向上に役立つことができる。
【0058】
好ましくは、上記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、上記サーバが送信したターゲットリソースを受信する上記ステップは、クライアントが、上記第1キーワードとの関連度が所定の条件を満たすターゲットキーワード又はターゲットページを予測すれば、上記ターゲットキーワード又は上記ターゲットページに対する第3検索要求を上記サーバに送信するステップと、上記サーバが上記第3検索要求に基づいて返したターゲットリソースを受信するステップと、を含む。
【0059】
該実施形態では、クライアントは、ユーザが入力した第1キーワードを受信した後に、第1キーワードとの関連度が所定の条件を満たすターゲットキーワード又はターゲットページが存在するか否かを予測することができる。クライアントは、第1キーワードとの関連度が所定の条件を満たすターゲットキーワード又はターゲットページを予測すると、ターゲットキーワード又はターゲットページに対する検索要求(すなわち、第3検索要求)をサーバに送信することができる。
【0060】
サーバは、クライアントが送信した第3検索要求を受信した後に、クライアントに、ターゲットキーワードに対応する検索結果ページのリソース(すなわち、ターゲットリソース)を返信したり、ターゲットページのリソース(すなわち、ターゲットリソース)を返信したりすることができ、このように、クライアントは、予めターゲットキーワードに対応する検索結果ページのリソース、又はターゲットページのリソースを取得し、かつこれらのリソースをターゲットコンテナにおいてプリレンダリングすることができる。
【0061】
クライアントにより上記予測プロセスを実現すると、サーバに現在のキーワードの検索要求を送信することでクライアントを頼る必要がないため、予め現在のキーワードに対応する検索結果ページのリソースを取得する必要がなく、ネットワークオーバーヘッド及びネットワークリソースを節約することができる。例えば、現在のキーワードの検索可能性が低く、かつ現在のキーワードに基づいてそれとの関連度の高いターゲットキーワード又はターゲットページを予測できれば、現在のキーワードに対する検索要求をサーバに送信する必要がない。
【0062】
好ましくは、上記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たすことは、ユーザが上記第1キーワードを入力した後に上記ターゲットキーワードを検索する履歴確率が所定の閾値以上であれば、上記第1キーワードと上記ターゲットキーワードとの関連度が上記所定の条件を満たすことと、上記第1キーワードに関連する、所定の時間に有効になるターゲットページが存在すれば、上記第1キーワードと上記ターゲットページとの関連度が上記所定の条件を満たすこととのいずれか1つを含む。
【0063】
該実施形態では、ユーザの履歴入力行動に基づいてキーワードの間の関連度を予測することができ、例えば、ユーザが「李白」を入力すると、「李白の詩」を検索する確率が60%であり、「李白の…を懐かしく思う」を入力すると、「李白の故郷を懐かしく思う詩」を検索する確率が90%である。所定の閾値が50%であると仮定すれば、ユーザが入力した「李白」を受信すると、「李白の詩」をターゲットキーワードとすることができ、ユーザが入力した「李白の…を懐かしく思う」を受信すると、「李白の故郷を懐かしく思う詩」をターゲットキーワードとすることができる。
【0064】
該実施形態では、履歴確率に基づいてターゲットキーワードを予測すると、検索ヒット率を保証する前提で、検索の応答速度を向上させることができる。
【0065】
該実施形態では、さらに、第1キーワードに関連する、所定の時間に有効になるターゲットページが存在するか否かを予測することができ、例えば、大晦日の夜に春節聯歓晩会を見てお年玉を奪い合う活動があり、かつ「春節聯歓晩会を見てお年玉を奪い合う」ページが予め設定され、大晦日の夜8時から有効になり、大晦日の夜12時まで終了するようになるため、ユーザによって入力された「大晦日の夜」、「春節聯歓晩会」などのキーワードを受信すると、「春節聯歓晩会を見てお年玉を奪い合う」ページをターゲットページとして予測することができる。また、例えば、期間限定の申し込みページページ、期間限定のセールページなどを、いずれもターゲットページとすることができる。
【0066】
該実施形態では、検索対象の関連付けにより、ユーザの要求可能性に基づいて、予め所定の時間に有効になるターゲットページのリソースを取得し、ターゲットページが有効になるときに、ターゲットページのリソースをサーバから取得する必要がなく、ターゲットページのリソースをローカルから取得する。このように、ターゲットページが有効になった時点で多くのクライアントがネットワークリソースを要求することによるネットワークダウンを回避することができ、特に、いくつかの特定の特別活動の場合に、サーバへのピーク負荷を軽減し、ユーザ体験を向上させることができる。
【0067】
なお、第1キーワードに関連する、所定の時間に有効になるターゲットページに対して、予測のタイミングは、所定の時間の前の任意の時間であってよく、例えば、ユーザが関連するキーワードを入力したときであってもよく、ユーザが検索命令を入力した後であってもよく、クライアントが関連するページをオープンしたときであってもよい。
【0068】
上記実施形態をよりよく理解するために、以下、図3図4に示す例を挙げて説明する。
【0069】
図3に示すように、クライアントは、ユーザが入力した「李白の」を受信すると、「李白の」の検索要求をサーバに送信し、サーバは「李白の」の検索結果ページのリソースをクライアントに返し、クライアントは、サーバが返した「李白の」の検索結果ページのリソースをコンテナa1においてプリレンダリングする。サーバは、「李白の」の検索要求を受信し、「李白の詩」と「李白の」との関連度が所定の閾値よりも大きいと予測すれば、「李白の詩」の検索結果ページのリソースをクライアントに送信し、クライアントは、サーバが返した「李白の詩」の検索結果ページのリソースをコンテナa2においてプリレンダリングする。クライアントは、またユーザが入力した「を懐かしく思う」を受信し、また「李白の…を懐かしく思う」の検索要求をサーバに送信し、サーバは、「李白の…を懐かしく思う」の検索結果ページのリソースをクライアントに返し、クライアントは、サーバが返した「李白の…を懐かしく思う」の検索結果ページのリソースをコンテナa3においてプリレンダリングする。サーバは、「李白の…を懐かしく思う」の検索要求を受信し、「李白の故郷を懐かしく思う詩」と「李白の…を懐かしく思う」との関連度が所定の閾値よりも大きいと予測すれば、「李白の故郷を懐かしく思う詩」の検索結果ページのリソースをクライアントに送信し、クライアントは、コンテナa1を多重化してサーバが返した「李白の故郷を懐かしく思う詩」の検索結果ページのリソースをプリレンダリングする。クライアントは、またユーザが入力した「故郷の詩」を受信し、かつユーザが入力した検索命令を受信すれば、コンテナa1にロードされている「李白の故郷を懐かしく思う詩」の検索結果ページのリソースを直接出力し、「李白の故郷を懐かしく思う詩」の検索結果ページを迅速にユーザに表示することを実現する。
【0070】
図4に示すように、クライアントは、ユーザが入力した「春節聯歓晩会」を受信すると、「春節聯歓晩会」の検索要求をサーバに送信し、サーバは「春節聯歓晩会」の検索結果ページのリソースをクライアントに返し、クライアントは、サーバが返した「春節聯歓晩会」の検索結果ページのリソースをコンテナa1においてプリレンダリングする。サーバは、「春節聯歓晩会」の検索要求を受信し、「春節聯歓晩会を見てお年玉を奪い合う」ページが「春節聯歓晩会」に関連し、かつ1時間後に有効になると予測すれば、「春節聯歓晩会を見てお年玉を奪い合う」ページのリソースをクライアントに送信し、クライアントは、サーバが返した「春節聯歓晩会を見てお年玉を奪い合う」ページのリソースをコンテナa2においてプリレンダリングする。クライアントは、ユーザが入力した検索命令を受信すれば、コンテナa1にロードされている「春節聯歓晩会」の検索結果ページのリソースを直接出力し、「春節聯歓晩会」の検索結果ページを迅速にユーザに表示することを実現する。クライアントは、ユーザからの、「春節聯歓晩会を見てお年玉を奪い合う」ページをオープンする関連命令を受信すれば、コンテナa2にロードされている「春節聯歓晩会を見てお年玉を奪い合う」ページのリソースを直接出力することができ、「春節聯歓晩会を見てお年玉を奪い合う」ページを迅速にユーザに表示することを実現する。
【0071】
通常、予め作成されたコンテナの数が限られるため、予め作成されたコンテナが全て占有されると、コンテナを多重化することができ、すなわち、占有されたコンテナからあるコンテナを選択して多重化することができ、コンテナが多重化されるにつれて、コンテナに以前にロードされたリソースは破棄されたり解放されたりすることができる。コンテナの多重化は、先入れ先出し又は最近使用されていないというアルゴリズムで実現することができ、クライアントにコンテナa1、コンテナa2及びコンテナa3が予め作成され、コンテナa1がまず占有され、コンテナa2がその後に占有され、コンテナa3が最後に占有されると仮定すると、現在、新たなキーワードの検索要求が生成されれば、このときに全てのコンテナが既に占有されるため、コンテナa1を現在のキーワードの検索要求に多重化することがでできる。
【0072】
例外として、ターゲットコンテナには、所定の時間に有効になるターゲットページのリソースがロードされている場合に、コンテナを多重化する必要があるとき、ターゲットコンテナを多重化せずに他のコンテナを優先的に選択して多重化することができる。
【0073】
好ましくは、上記ターゲットコンテナには、上記所定の時間に有効になる上記ターゲットページのリソースがロードされ、上記方法は、予め作成されたコンテナが全て占有されれば、上記ターゲットコンテナの多重化又は解放を禁止するステップをさらに含む。
【0074】
該実施形態では、ターゲットページが有効になる前、すなわち、上記所定の時間の前に、ターゲットコンテナの多重化又は解放を禁止してもよく、ターゲットページの全有効期間の前に、ターゲットコンテナの多重化又は解放を禁止してもよい。このように、ターゲットコンテナは、持続的にターゲットページの専用コンテナとして用いられてよく、ターゲットコンテナ内のターゲットページのリソースは、該ターゲットページが有効になるまで保持することができ、さらに全有効期間にわたって保持することができ、ユーザは、ターゲットページの全有効期間にわたって該ターゲットページに迅速にアクセスすることができる。
【0075】
好ましくは、上記ターゲットコンテナには、上記所定の時間に有効になる上記ターゲットページのリソースがロードされ、上記方法は、上記ターゲットコンテナ内の上記ターゲットリソースをターゲット磁気ディスクに記憶するステップと、上記ターゲットコンテナが多重化されるか又は解放されれば、所定の条件で上記ターゲットリソースを上記ターゲット磁気ディスクから上記ターゲットコンテナにリロードするステップと、をさらに含む。
【0076】
該実施形態では、ユーザが検索中又は検索後に現在のアプリケーションプログラムを閉じるか又は終了させる可能性があることを考慮するため、ターゲットコンテナにおけるターゲットリソースのプリレンダリング中又はターゲットコンテナにおけるターゲットリソースのプリレンダリング後に、ターゲットコンテナ内のターゲットリソースをターゲット磁気ディスクに記憶することができる。このように、ターゲットコンテナが多重化されたり解放されたりしても、所定の条件でターゲットリソースをターゲット磁気ディスクからターゲットコンテナにリロードすることができるため、ユーザがターゲットページに迅速かつ効率的にアクセスすることを保証する。
【0077】
上記所定の条件は、例えば、上記ターゲットページのアプリケーションプログラムの再起動であってもよく、上記所定の時間の前の所定の期間(例えば、所定の時間の前の10分間)などであってもよい。
【0078】
また、検索結果ページ又はターゲットページについて、ページリソースのサイズが通常、MBレベルであり、リソースの個数が通常、百レベルに達するため、ネットワークリソースの消費を節約し、かつコンテナにおけるリソースのプリレンダリングに費やされる時間及びリソースをさらに削減するために、上記検索方法を基に、本願の実施例は、サーバがリソースを返すプロセスにおいて、マルチリソース多重化ポリシーを採用することができる。
【0079】
例えば、サーバが第2検索結果ページのリソースを返すプロセスにおいて、第2検索結果ページの第1リソースが第1検索結果ページの第2リソースと同じであれば、第1コンテナ内の第2リソースを第2コンテナに多重化することができる。また、例えば、サーバが第1検索結果ページのリソースを返すプロセスにおいて、ターゲット検索ページの第3リソースが第1検索結果ページの第4リソースと同じであれば、第1コンテナ内の第4リソースをターゲットコンテナに多重化したり、ターゲットコンテナ内の第3リソースを第1コンテナに多重化したりすることができる。
【0080】
要するに、複数のコンテナが同じリソースに関すれば、クライアントは、ネットワーク要求を繰り返して行う必要がなく、同じリソースをローカル多重化することができる。このように、一方では、同じリソースに対して、クライアントは、リソースに対するネットワーク要求をサーバに複数回送信する必要がなく、サーバは、同じリソースに対するネットワーク要求に基づいてリソースを複数回返す必要がないため、ネットワークリソースの消費を節約することができる。他方では、同じリソースを異なるコンテナにおいて複数回プリレンダリングする必要がないため、コンテナにおけるリソースのプリレンダリングに費やされる時間及びリソースを削減することができる。したがって、マルチリソース多重化ポリシーを採用することにより、本願の実施例は、全体的なリソース消費を低減すると共に、検索の応答速度をさらに向上させ、ユーザの検索体験をさらに向上させることができる。
【0081】
該マルチリソース多重化ポリシーを実現するために、クライアントにネットワーク共有管理モジュールをさらに設置することができ、該ネットワーク共有管理モジュールは、検索プロセスにおける全てのリソース要求を一括管理し多重化することができる。該実施形態では、異なるリソースの、url、header、bodyなどの要求パラメータに基づいて、異なるリソースが同じであるか否かを決定することができる。
【0082】
マルチリソース多重化ポリシーは、サーバから取得されたリソース(すなわち、リソースの多重化)に適用されてもよく、サーバから取得されているがまだ取得されていないリソース(すなわち、リソース要求の多重化)に適用されてもよい。サーバから取得されたリソースについて、リソースを複数のコンテナに直接多重化すればよい。また、リソース要求の多重化について、リソース要求とコンテナとの関連を確立し、リソース要求が完了すると、それに関連するコンテナに通知し、かつ対応するリソースを該コンテナに多重化する。具体的には、リソース要求が完了すると、キャッシュ時間、HTTPのHeaderなどの制御パラメータを含む、関連するデータをキャッシュし、かつ関連するデータと、対応する、サーバが返信した制御パラメータとを頼られるコンテナに直接返すことができる。
【0083】
上記マルチリソース多重化ポリシーを採用することにより、リソースの多重化を実現するだけでなく、リソース要求の多重化を実現し、全体的なリソース消費を最大限に低減し、かつ検索の応答速度を最大限に向上させることができる。
【0084】
コンテナが多重化されるか又は解放されるときに、コンテナには進行中のリソース要求が存在し、かつ進行中のリソース要求が他のコンテナに多重化されるか又は多重化可能であれば、コンテナの多重化又は解放に伴ってリソース要求が破棄されたり解放されたりしないようにリソース要求とコンテナとの関連を解除することができる。したがって、該コンテナで最初に生成されたリソース要求は、また該リソース要求を必要とするコンテナに多重化することができる。該実施形態は、リソース要求の個別管理を実現し、リソース要求の多重化可能性を向上させることにより、全体的なリソース消費を最大限に削減し、かつ検索の応答速度を最大限に向上させることができる。
【0085】
本願の実施例では、コンテナの多重化とリソースの多重化は、意味が異なり、コンテナの多重化は、占有されたコンテナを再使用することであり、コンテナの破棄及び再使用を示す一方で、リソースの多重化は、同じリソースを異なるコンテナにロードすることであり、リソースの複数回の使用を示す。
【0086】
なお、本願に係る検索方法における複数の好ましい実施形態は、互いに組み合わせて実現されてもよく、単独で実現されてもよく、本願はこれを限定しない。
【0087】
本願の上記実施例は、少なくとも以下の利点又は有益な効果を有する。
【0088】
本願では、ユーザがキーワードを入力するプロセスにおいて、現在のキーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、クライアントは、サーバが送信した、ターゲットキーワードに対応する検索結果ページのリソース、又はターゲットページのリソースを受信し、かつサーバが返した上記リソースをターゲットコンテナにおいてプリレンダリングすることができる。このように、ユーザがターゲットキーワード又はターゲットページに対する検索命令を入力すると、ターゲットコンテナ内のリソースを迅速に出力することができることにより、ユーザは、ターゲットキーワードに対応する検索結果ページ又はターゲットページを迅速に取得することができる。従来技術に比べて、本願は、検索の応答速度を向上させ、ユーザの待ち時間を短縮することができる。
【0089】
第2実施例
図5に示すように、本願に係る検索装置200は、ユーザが入力した第1キーワードを受信する第1受信モジュール201と、上記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、上記サーバが送信した、上記ターゲットキーワードに対応する検索結果ページのリソース又は上記ターゲットページのリソースであるターゲットリソースを受信する第2受信モジュール202と、上記サーバが上記ターゲットリソースを返すプロセスにおいて、返されたリソースをターゲットコンテナにおいてプリレンダリングする第1プリレンダリングモジュール203と、ユーザが入力した、上記ターゲットキーワード又は上記ターゲットページを検索する命令である第1検索命令を検出すれば、上記第1検索命令に応答して上記ターゲットコンテナ内のリソースを出力する第1出力モジュール204と、を含む。
【0090】
好ましくは、検索装置200は、上記第1キーワードに対する第1検索要求を上記サーバに送信する第1送信モジュールと、上記サーバが上記第1キーワードに対応する検索結果ページである第1検索結果ページのリソースを返すプロセスにおいて、返されたリソースを第1コンテナにおいてプリレンダリングする第2プリレンダリングモジュールと、をさらに含む。
【0091】
好ましくは、検索装置200は、ユーザが現在のキーワードを第2キーワードに変更したことを検出すれば、上記第2キーワードに対する第2検索要求を上記サーバに送信する第2送信モジュールと、上記サーバが上記第2キーワードに対応する検索結果ページである第2検索結果ページのリソースを返すプロセスにおいて、返されたリソースを第2コンテナにおいてプリレンダリングする第3プリレンダリングモジュールと、をさらに含む。
【0092】
好ましくは、検索装置200は、ユーザが入力した第2検索命令を検出すれば、上記第2検索命令に応答して現在のキーワードに対応するコンテナ内のリソースを出力する第2出力モジュールをさらに含む。
【0093】
好ましくは、第2受信モジュール202は、上記サーバが上記第1検索要求を受信した後に、上記第1キーワードとの関連度が所定の条件を満たすターゲットキーワード又はターゲットページを上記サーバが予測すれば、上記サーバが上記予測に基づいて送信したターゲットリソースを受信する第1受信サブモジュールを含む。
【0094】
好ましくは、第2受信モジュール202は、クライアントが、上記第1キーワードとの関連度が所定の条件を満たすターゲットキーワード又はターゲットページを予測すれば、上記ターゲットキーワード又は上記ターゲットページに対する第3検索要求を上記サーバに送信する送信サブモジュールと、上記サーバが上記第3検索要求に基づいて返したターゲットリソースを受信する第2受信サブモジュールと、を含む。
【0095】
好ましくは、上記第1キーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たすことは、ユーザが上記第1キーワードを入力した後に上記ターゲットキーワードを検索する履歴確率が所定の閾値以上であれば、上記第1キーワードと上記ターゲットキーワードとの関連度が上記所定の条件を満たすことと、上記第1キーワードに関連する、所定の時間に有効になるターゲットページが存在すれば、上記第1キーワードと上記ターゲットページとの関連度が上記所定の条件を満たすこととのいずれか1つを含む。
【0096】
好ましくは、上記ターゲットコンテナには、上記所定の時間に有効になる上記ターゲットページのリソースがロードされ、検索装置200は、予め作成されたコンテナが全て占有されれば、上記ターゲットコンテナの多重化又は解放を禁止する禁止モジュールをさらに含む。
【0097】
好ましくは、上記ターゲットコンテナには、上記所定の時間に有効になる上記ターゲットページのリソースがロードされ、検索装置200は、上記ターゲットコンテナ内の上記ターゲットリソースをターゲット磁気ディスクに記憶する記憶モジュールと、上記ターゲットコンテナが多重化されるか又は解放されれば、所定の条件で上記ターゲットリソースを上記ターゲット磁気ディスクから上記ターゲットコンテナにリロードするロードモジュールと、をさらに含む。
【0098】
好ましくは、上記所定の条件は、上記ターゲットページのアプリケーションプログラムの再起動と、上記所定の時間の前の所定の期間とのうちの少なくとも1つを含む。
【0099】
好ましくは、上記コンテナは、ウェブページをロードするコンテナと、アプレットをロードするコンテナと、構造化データをロードするコンテナとのうちの少なくとも1つを含む。
【0100】
本願に係る検索装置200は、上記検索方法の実施例における各プロセスを実現し、かつ同じ有益な効果を達成することができ、重複を避けるために、ここでは説明を省略する。
【0101】
本願の実施例によれば、本願は、電子機器及び読み取り可能な記憶媒体をさらに提供する。
【0102】
図6に示すように、本願の実施例に係る検索方法を実現する電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及びその他の適切なコンピュータなどの、様々な形態のデジタルコンピュータを表すことを意図する。電子機器は、また、パーソナルデジタルアシスタント、セルラー電話、スマートフォン、ウェアラブルデバイス及びその他の類似するコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すことができる。本明細書で示されたコンポーネント、それらの接続及び関係と、それらの機能とは、例示的なものに過ぎず、本明細書で説明及び/又は要求された本願の実現を限定することを意図するものではない。
【0103】
図6に示すように、該電子機器は、1つ以上のプロセッサ601と、メモリ602と、高速インタフェース及び低速インタフェースを含む、各コンポーネントを接続するインタフェースと、を含む。各コンポーネントは、異なるバスを介して互いに接続され、かつ共通のマザーボードに取り付けられるか又は必要に応じて他の方式で取り付けられてよい。プロセッサは、電子機器内で実行される、外部の入力/出力装置(例えば、インタフェースに結合された表示機器)上にGUIのグラフィック情報を表示するようにメモリ内又はメモリ上に記憶されている命令を含む命令を処理することができる。他の実施形態では、必要があれば、複数のプロセッサ及び/又は複数のバスを、複数のメモリと共に使用することができる。同様に、それぞれが必要な動作を提供する複数の電子機器(例えば、サーバアレイ、ブレードサーバのグループ又はマルチプロセッサシステム)を接続することができる。図6において、プロセッサ601を例とする。
【0104】
メモリ602は、本願に係る非一時的なコンピュータ読み取り可能な記憶媒体である。メモリには、少なくとも1つのプロセッサにより実行可能で、本願に係る検索方法を少なくとも1つのプロセッサに実行させる命令が記憶されている。本願の非一時的なコンピュータ読み取り可能な記憶媒体には、本願に係る検索方法をコンピュータに実行させるコンピュータ命令が記憶されている。
【0105】
メモリ602は、非一時的なコンピュータ読み取り可能な記憶媒体として、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能プログラム及びモジュール、 例えば、本願の実施例における検索方法に対応するプログラム命令/モジュール(例えば、図5に示す第1受信モジュール201、第2受信モジュール202、第1プリレンダリングモジュール203及び第1出力モジュール204)を記憶することができる。プロセッサ601は、メモリ602内に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することにより、検索装置の様々な機能アプリケーション及びデータ処理を実行し、すなわち、上記方法の実施例における検索方法を実現する。
【0106】
メモリ602は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができるプログラム記憶領域と、検索方法に係る電子機器の使用中に作成されたデータなどを記憶することができるデータ記憶領域とを含んでよい。また、メモリ602は、高速ランダムアクセスメモリを含んでもよく、少なくとも1つの磁気ディスクメモリ素子、フラッシュメモリ素子又はその他の非一時的な固体メモリ素子などの非一時的なメモリをさらに含んでもよい。いくつかの実施例では、メモリ602は、好ましくは、プロセッサ601に対して遠隔に設置されたメモリを含み、これらのリモートメモリは、ネットワークを介して検索方法のための電子機器に接続することができる。上記ネットワークの例は、インターネット、企業イントラネット、ローカルエリアネットワーク、移動通信ネットワーク及びそれらの組み合わせを含むが、これらに限定されない。
【0107】
検索方法のための電子機器は、入力装置603及び出力装置604をさらに含んでよい。プロセッサ601、メモリ602、入力装置603及び出力装置604は、バス又は他の方式で接続することができ、図6において、バスによる接続を例とする。
【0108】
入力装置603は、入力された数字又は文字情報を受信すると共に、検索方法のための電子機器のユーザ設定及び機能制御に関連するキー信号入力を生成することができ、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、1つ以上のマウスボタン、トラックボール、ジョイスティックなどである。出力装置604は、表示機器、補助照明装置(例えば、LED)及び触覚フィードバック装置(例えば、振動モータ)などを含んでよい。該表示機器は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ及びプラズマディスプレイを含んでよいが、これらに限定されない。いくつかの実施形態では、表示機器は、タッチスクリーンであってよい。
【0109】
本明細書で説明されたシステム及び技術の各実施形態は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現することができる。これらの様々な実施形態は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行及び/又は解釈できる1つ以上のコンピュータプログラムにおける実装を含んでよく、該プログラマブルプロセッサは、特定用途向け又は汎用のプログラマブルプロセッサであってよく、記憶システム、少なくとも1つの入力装置及び少なくとも1つの出力装置からデータ及び命令を受信するとともに、データ及び命令を該記憶システム、該少なくとも1つの入力装置及び該少なくとも1つの出力装置に伝送することができる。
【0110】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含み、ハイレベル手続き型言語及び/又はオブジェクト指向プログラミング言語、及び/又はアセンブリ言語/機械言語で実装することができる。本明細書で使用された「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」という用語は、機械命令を機械読み取り可能な信号として受信する機械読み取り可能な媒体を含む、プログラマブルプロセッサに機械命令及び/又はデータを提供する任意のコンピュータプログラム製品、機器及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジック装置(PLD))を指す。「機械読み取り可能な信号」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供する任意の信号を指す。
【0111】
ユーザとの対話を提供するために、本明細書で説明されたシステム及び技術をコンピュータ上で実施することができ、該コンピュータは、ユーザに情報を表示する表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボードと、ポインティング装置(例えば、マウス又はトラックボール)とを有し、ユーザは、該キーボード及び該ポインティング装置により入力をコンピュータに提供することができる。他のタイプの装置は、ユーザとの対話をさらに提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック又は触覚フィードバック)であってよく、また、任意の形態(音響入力、音声入力又は触覚入力を含む)でユーザからの入力を受信することができる。
【0112】
本明細書で説明されたシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバ)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータであり、ユーザは、該グラフィカルユーザインタフェース又は該ウェブブラウザにより本明細書で説明されたシステム及び技術の実施形態と対話することができる)、又はこのようなバックエンドコンポーネント、ミドルウェアコンポーネント又はフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムにおいて実装することができる。システムのコンポーネントは、任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)により互いに接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット及びブロックチェーンネットワークを含む。
【0113】
コンピュータシステムは、クライアント及びサーバを含んでよい。クライアントとサーバは、一般的に、互いに離れ、通常、通信ネットワークを介して対話する。クライアントとサーバとの関係は、対応するコンピュータ上で実行し、互いにクライアント−サーバの関係を有するコンピュータプログラムによって生成される。
【0114】
本願の実施例に係る技術手段によれば、ユーザがキーワードを入力するプロセスにおいて、現在のキーワードとターゲットキーワード又はターゲットページとの関連度が所定の条件を満たせば、クライアントは、サーバが送信した、ターゲットキーワードに対応する検索結果ページのリソース、又はターゲットページのリソースを受信し、かつサーバから返された上記リソースをターゲットコンテナにおいてプリレンダリングすることができる。このように、ユーザがターゲットキーワード又はターゲットページに対する検索命令を入力すると、ターゲットコンテナ内のリソースを迅速に出力することができることにより、ユーザは、ターゲットキーワードに対応する検索結果ページ又はターゲットページを迅速に取得することができる。従来技術に比べて、本願は、検索の応答速度を向上させることができる。
【0115】
上記様々な形態のフローを用いて、ステップを並べ替えたり、追加したり、削除したりすることができることを理解されたい。例えば、本願で開示されている技術手段の所望の結果を達成できる限り、本願に記載された各ステップは、並列して実行されてもよく、順次実行されてもよく、異なる順序で実行されてもよく、本明細書はこれを限定しない。
【0116】
上記具体的な実施形態は、本願の保護範囲を限定するものではない。設計要件及びその他の要因に応じて、様々な修正、組み合わせ、サブコンビネーション及び置換を行うことができることは、当業者に理解されるところである。本願の精神及び原則の範囲内で行われる修正、同等置換及び改善などは、いずれも本願の保護範囲に含まれるべきである。
図1
図2
図3
図4
図5
図6