(57)【要約】ページジャンプ方法及び装置を提供する。ページジャンプ方法は、ジャンプ元のページのページ識別子を入手し、ページ識別子とジャンプページとの間のマッピング関係を含むジャンプルートであって、入手したページ識別子に基づいて対応するジャンプルートを求めて、ページルーティングテーブルを検索し、識別されたジャンプルートに基づいてジャンプページへジャンプする。これにより、アプリのバージョンの更新を必要とせずに迅速且つフレキシブルに新たなサービスを展開することができる。【選択図】図１
2019506654.tif 000002
【特許請求の範囲】
【請求項１】
ジャンプ元のページのページ識別子を入手するステップと；
前記ページ識別子とジャンプページとの間のマッピング関係を含むジャンプルートであって、前記入手したページ識別子に基づいて対応するジャンプルートを求めて、ページルーティングテーブルを検索するステップと；
前記識別されたジャンプルートに基づいて、前記ジャンプページへジャンプするステップと；を備える、
ページジャンプ方法。
【請求項２】
最新のジャンプルートを届けるようにサーバをトリガするために用いられる第１のクエリ要求を、前記サーバへ定期的に送信するステップと；
前記サーバから届けられた前記最新のジャンプルートを受信するステップと；
前記受信した最新のジャンプルートに基づいて前記ページルーティングテーブルを更新するステップと；を更に備える、
請求項１に記載のページジャンプ方法。
【請求項３】
前記最新のジャンプページのページデータをオフラインで届けるように前記サーバをトリガするために用いられる第２のクエリ要求を、前記サーバへ定期的に送信するステップと；
前記サーバからオフラインで届けられた前記最新のジャンプページの前記ページデータを受信するステップと；
前記受信した最新のジャンプページのページデータに基づいてローカルのページデータベースを更新するステップと；を更に備える、
請求項２に記載のページジャンプ方法。
【請求項４】
前記識別されたジャンプルートに基づいて前記ジャンプページへジャンプする前記ステップは：
前記識別されたジャンプルートに基づいて、前記ページ識別子に対応したジャンプページを入手するステップと；
前記ジャンプページのページデータを読み出すステップと；
前記ジャンプページにジャンプし、前記読み出したページデータを前記ジャンプページにロードして、ジャンプを完了するステップと；を備える、
請求項１に記載のページジャンプ方法。
【請求項５】
前記ジャンプページのページデータを読み出す前記ステップは：
ローカルのページデータベースが前記ジャンプページの前記ページデータをオフラインで記憶しているかどうかを判定するステップと；
前記ページデータベースが前記ジャンプページの前記ページデータをオフラインで記憶している場合に、前記ページデータベースから前記ジャンプページの前記ページデータを読み出すステップと；
前記ページデータベースが前記ジャンプページの前記ページデータを記憶していない場合に、サーバから前記ジャンプページの前記ページデータを要求するステップと；を備える、
請求項４に記載のページジャンプ方法。
【請求項６】
ジャンプ元のページのページ識別子を入手するように構成された取得モジュールと；
前記入手したページ識別子に基づき、対応するジャンプルートを求めてページルーティングテーブルを検索するように構成された検索モジュールであって、前記ジャンプルートは前記ページ識別子とジャンプページとの間のマッピング関係を含む、検索モジュールと；
前記識別されたジャンプルートに基づいて前記ジャンプページへジャンプするように構成されたジャンプモジュールと；を備える、
ページジャンプ装置。
【請求項７】
第１のクエリ要求をサーバへ定期的に送信するように構成された送信モジュールであって、前記第１のクエリ要求は、最新のジャンプルートを届けるように前記サーバをトリガするために用いられる、送信モジュールと；
前記サーバから届けられた前記最新のジャンプルートを受信するように構成された受信モジュールと；
受信した前記最新のジャンプルートに基づいて前記ページルーティングテーブルを更新するように構成された更新モジュールと；を更に備える、
請求項６に記載のページジャンプ装置。
【請求項８】
前記送信モジュールは、前記最新のジャンプページのページデータをオフラインで届けるように前記サーバをトリガするために用いられる第２のクエリ要求を、前記サーバへ定期的に送信するように更に構成され；
前記受信モジュールは、前記サーバからオフラインで届けられた前記最新のジャンプページの前記ページデータを受信するように更に構成され；
前記更新モジュールは、受信した前記最新のジャンプページの前記ページデータに基づいて、ページデータベースを更新するように更に構成された；
請求項７に記載のページジャンプ装置。
【請求項９】
前記ジャンプモジュールは：
前記識別されたジャンプルートに基づいて、前記ページ識別子に対応したジャンプページを入手し；
前記ジャンプページのページデータを読み出し；
前記ジャンプページにジャンプし、前記読み出したページデータを前記ジャンプページ上にロードして、ジャンプを完了するように構成された；
請求項６に記載のページジャンプ装置。
【請求項１０】
前記ジャンプモジュールはさらに：
ローカルのページデータベースが前記ジャンプページの前記ページデータをオフラインで記憶しているかどうかを判定し；
前記ページデータベースが前記ジャンプページの前記ページデータをオフラインで記憶している場合に、前記ページデータベースから前記ジャンプページの前記ページデータを読み出し；
前記ページデータベースが前記ジャンプページの前記ページデータを記憶していない場合に、サーバから前記ジャンプページの前記ページデータを要求するように構成された；
請求項９に記載のページジャンプ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１５年１１月２７日に出願された「ページジャンプ方法及び装置」と題された中国特許出願第２０１５１０８９４２９２．２号の優先権を主張し、上記中国特許出願は参照によってその全体が本明細書に組み込まれる。
【０００２】
本願は通信技術の分野に関し、特にはページジャンプの方法及び装置に関する。
【背景技術】
【０００３】
アプリケーション（アプリ）は、口座リチャージ（口座再チャージ）サービスのような高速で安定したサービスを、ネイティブページを用いてユーザに提供できる。ネイティブページは、ネットワークを介して送信されるハイパーテキストマークアップ言語（ＨＴＭＬ５）コードに依存しない、アプリのローカルコードに基づいて独立して実行可能である。
【０００４】
しかし、新たなサービスが展開され、それを、ネイティブページを用いてユーザへ提供する場合に、そのサービスの提供前にアプリを新バージョンにアップグレードしなければならない場合があり、フレキシビリティ（柔軟性）は低下してしまう。
【発明の概要】
【０００５】
本願は、ページジャンプ方法を提供する。この方法は、ジャンプ元のページのページ識別子を入手するステップと；前記ページ識別子とジャンプページとの間のマッピング関係を含むジャンプルートであって、前記入手したページ識別子に基づいて対応するジャンプルートを求めて、ページルーティングテーブルを検索するステップと；前記識別されたジャンプルートに基づいて、前記ジャンプページへジャンプするステップと；を含む。
【０００６】
任意には、この方法は、最新のジャンプルートを届けるようにサーバをトリガするために用いられる第１のクエリ要求を、前記サーバへ定期的に送信するステップと；前記サーバから届けられた前記最新のジャンプルートを受信するステップと；前記受信した最新のジャンプルートに基づいて前記ページルーティングテーブルを更新するステップと；を更に含む。
【０００７】
任意には、この方法は、前記最新のジャンプページのページデータをオフラインで届けるように前記サーバをトリガするために用いられる第２のクエリ要求を、前記サーバへ定期的に送信するステップと；前記サーバからオフラインで届けられた前記最新のジャンプページの前記ページデータを受信するステップと；前記受信した最新のジャンプページのページデータに基づいてローカルのページデータベースを更新するステップと；を更に含む。
【０００８】
任意には、前記識別されたジャンプルートに基づいて前記ジャンプページへジャンプする前記ステップは：前記識別されたジャンプルートに基づいて、前記ページ識別子に対応したジャンプページを入手するステップと；前記ジャンプページのページデータを読み出すステップと；前記ジャンプページにジャンプし、前記読み出したページデータを前記ジャンプページにロードして、ジャンプを完了するステップと；を含む。
【０００９】
任意には、前記ジャンプページのページデータを読み出す前記ステップは：ローカルのページデータベースが前記ジャンプページの前記ページデータをオフラインで記憶しているかどうかを判定するステップと；前記ページデータベースが前記ジャンプページの前記ページデータをオフラインで記憶している場合に、前記ページデータベースから前記ジャンプページの前記ページデータを読み出すステップと；前記ページデータベースが前記ジャンプページの前記ページデータを記憶していない場合に、サーバから前記ジャンプページの前記ページデータを要求するステップと；を含む。
【００１０】
本願は、ページジャンプ装置を更に提供する。この装置は、ジャンプ元のページのページ識別子を入手するように構成された取得モジュールと；前記入手したページ識別子に基づき、対応するジャンプルートを求めてページルーティングテーブルを検索するように構成された検索モジュールであって、前記ジャンプルートは前記ページ識別子とジャンプページとの間のマッピング関係を含む、検索モジュールと；前記識別されたジャンプルートに基づいて前記ジャンプページへジャンプするように構成されたジャンプモジュールと；を含む。
【００１１】
任意には、この装置は、第１のクエリ要求をサーバへ定期的に送信するように構成された送信モジュールであって、前記第１のクエリ要求は、最新のジャンプルートを届けるように前記サーバをトリガするために用いられる、送信モジュールと；前記サーバから届けられた前記最新のジャンプルートを受信するように構成された受信モジュールと；受信した前記最新のジャンプルートに基づいて前記ページルーティングテーブルを更新するように構成された更新モジュールと；を更に含む。
【００１２】
任意には、前記送信モジュールは、前記最新のジャンプページのページデータをオフラインで届けるように前記サーバを取るがするために用いられる第２のクエリ要求を、前記サーバへ定期的に送信するように更に構成され；前記受信モジュールは、前記サーバからオフラインで届けられた前記最新のジャンプページの前記ページデータを受信するように更に構成され；前記更新モジュールは、受信した前記最新のジャンプページの前記ページデータに基づいて、ページデータベースを更新するように更に構成されている。
【００１３】
任意には、前記ジャンプモジュールは：前記識別されたジャンプルートに基づいて、前記ページ識別子に対応したジャンプページを入手し；前記ジャンプページのページデータを読み出し；前記ジャンプページにジャンプし、前記読み出したページデータを前記ジャンプページ上にロードして、ジャンプを完了するように構成されている。
【００１４】
任意には、前記ジャンプモジュールはさらに：ローカルのページデータベースが前記ジャンプページの前記ページデータをオフラインで記憶しているかどうかを判定し；前記ページデータベースが前記ジャンプページの前記ページデータをオフラインで記憶している場合に、前記ページデータベースから前記ジャンプページの前記ページデータを読み出し；前記ページデータベースが前記ジャンプページの前記ページデータを記憶していない場合に、サーバから前記ジャンプページの前記ページデータを要求するように構成されている。
【００１５】
本願では、ジャンプ元のページのページ識別子を入手し、入手したページ識別子に基づき、対応のジャンプルートについてページルーティングテーブルを検索し、次に、対応のページを、識別されたジャンプルートに基づいてジャンプさせる。これにより、ページルーティングテーブルから識別されたジャンプルートに基づいて、ページジャンプを動的且つフレキシブルに実行できるため、結果として、アプリのバージョンを更新する必要もなく、新たなサービスを迅速且つフレキシブルに展開できる。
【図面の簡単な説明】
【００１６】
【図１】本願の実施による、ページジャンプ方法を示すフローチャートである。
【００１７】
【図２】本願の実施による、クライアントとサーバとの間の対話を示す概略図である。
【００１８】
【図３】本願の実施による、ページジャンプ装置を示す論理ブロック図である。
【００１９】
【図４】本願の実施による、ページジャンプ装置を含むサーバを示すハードウェアの構造図である。
【発明を実施するための形態】
【００２０】
従来技術において、アプリは、ネイティブページを用いることにより、口座リチャージサービスなどの高速且つ安定したサービスをユーザに提供できる。しかし、例えば特定の期間に作動するサービスのような、新たなサービスがアプリ上で展開される場合、そのサービスは高い安定性で実行する必要がなく且つネイティブページを用いて提供されるなら、そのサービスを提供するアプリの更新が必要になるかもしれない。加えて、サービスによっては期間限定で提供される。したがって、運用サービスが終ると、そのアプリを元のバージョンへ戻すことをユーザが求められる場合がある。そうなると、ユーザはアプリのバージョンを頻繁に更新しなければならず、これによりユーザエクスペリエンス（ユーザ体験）は貧弱なものになる。
【００２１】
従来技術において、上記の課題は、アプリにハイブリッド技術を導入する、つまり、ネイティブページとＨＴＭＬ５ページを混合することで解決できる。新たなサービスをアプリ上で展開する必要がある場合、アプリは、サーバ上で展開された新たなサービスのＨＴＭＬ５ページをダウンロードして、元のＨＴＭＬ５ページと動的に置き換えてからＨＴＭＬ５ページをロードして、新たなサービスを実行できる。しかし、この解決策では、普通はアプリのネイティブページを置き換えられず、アプリ上で新たなサービスを展開するときにアプリのＨＴＭＬ５ページのみを動的に置き換えることができる。しかし、ＨＴＭＬ５ページはネイティブページよりも安定性が劣る。アプリ内のＨＴＭＬ５ページの数が増えるにつれ、アプリの作動安定性が悪影響を受け、ユーザエクスペリエンスは貧弱になる。
【００２２】
したがって、ユーザエクスペリエンスを向上させるために、アプリ内のＨＴＭＬ５ページの数を減らす必要がある。アプリ上で新たなサービスを展開する場合、ネイティブページが新たなサービスのＨＴＭＬ５ページへジャンプできるように、そして、ネイティブページ上のサービスを新たなサービスに置き換えることができるように、アプリ内のハードコーディングされたジャンプロジックを動的に修正することがある。
【００２３】
例えば、新たなサービスが、光棍節（独身者の日）におけるタオバオ（Ｔａｏｂａｏ）クライアントアプリ上の運用サービスであると仮定する。サービス運用中に、写真、音声、文字を含むリッチテキストページをアプリのホームページにロードする必要がある。しかし、普通は、アプリのネイティブページを用いてこれをロードすることはできない。そのため、アプリは、表示する必要のあるリッチテキストページをサーバからダウンロードできるようになっている。次に、アプリにパッチを適用するようにＬｕａスクリプトを編集し、アプリ内のハードコーディングされたジャンプロジックをリッチテキストページへジャンプするように修正することがある。例えば、アプリ内のオリジナルのジャンプロジックがページＡからページＢへジャンプし、リッチテキストページがページＣであると仮定した場合、ハードコーディングされたジャンプロジックを「ページＡからページＢへジャンプする」から「ページＡからページＣへジャンプする」に修正するようにＬｕａスクリプトを編集することがある。
【００２４】
しかし、アプリ内のハードコーディングされたジャンプロジックを動的に修正することでページジャンプを完了するためには、アプリのコードを動的に修正する必要がある。これにより、或るセキュリティリスクが生じ得る。例えば、アプリのコードを動的に修正した後に、セキュリティリスクの理由でアプリが拒絶される可能性がある。加えて、アプリ内のハードコーディングされたジャンプロジックを動的に修正することでページジャンプを完了するには、アプリが連続的にパッチをロードする必要があるため、フレキシビリティが低下する可能性がある。
【００２５】
これを考慮し、本願はページジャンプ方法を提供する。この方法は次のステップを含む。すなわち、ジャンプ元のページのページ識別子を入手するステップ；入手したページ識別子に基づいて、対応のジャンプルートをページルーティングテーブルで検索するステップであって、ジャンプルートは、ページ識別子とジャンプページとの間のマッピング関係（関連付けした関係）を含む、入手したページ識別子に基づいて、対応のジャンプルートをページルーティングテーブルで検索するステップ；及び、識別されたジャンプルートに基づいて、対応のページにジャンプするステップ。このように、ページルーティングテーブルから識別されたジャンプルートを用いて、ページジャンプを動的且つフレキシブルに実行でき、これにより、対応のアプリを更新する必要もなく、新たなサービスを迅速かつフレキシブルに展開できる。加えて、本願では、ページジャンプを実行するときに、アプリ内のジャンプロジックを修正する必要がない。そのため、セキュリティリスクを理由にアプリが拒絶されることはない。
【００２６】
特定の実施を用いて、特定のアプリケーションシナリオを参照しながら本願を以下説明する。
【００２７】
図１を参照すると、同図は本願の実施によるページジャンプ方法である。この方法はクライアントに適用され、次の各ステップを含む。すなわち、
【００２８】
ステップ１０１：ジャンプ元のページのページ識別子を入手する。
【００２９】
ステップ１０２：入手したページ識別子に基づき、対応のジャンプルートについてページルーティングテーブルを検索する。ジャンプルートは、ページ識別子とジャンプページとの間のマッピング関係を含む。
【００３０】
ステップ１０３：識別されたジャンプルートに基づいて対応のページへジャンプする。
【００３１】
この実施では、クライアントは、ユーザにサービスを提供するクライアントソフトウェアであってよい。例えば、クライアントはタオバオクライアントアプリであってよい。ジャンプ元のページのページ識別子は、クライアント内の所定のジャンプロジックに含まれていてよく、ジャンプロジックは、変更されないクライアントのプログラム内で予めハードコーディングされていてよい。
【００３２】
例えば、クライアントのプログラム内のハードコーディングされたジャンプロジックはページＡからページＢへジャンプすることとし、ページＢのページ識別子はｖｉｅｗｉｄ１であると仮定する。よって、ｖｉｅｗｉｄ１は、ジャンプロジックに含まれている、ジャンプ元のページのページ識別子である。
【００３３】
ジャンプロジック内のジャンプ元のページのページ識別子は、別のサービスシナリオの別のジャンプページに対応していてよい。
【００３４】
この実施では、ページルーティングテーブルはローカルにクライアント内に予め作成することができ、ページルーティングテーブルを用いて、サーバから届けられたジャンプルートを記憶できる。ページルーティングテーブル内のジャンプルートは、ページ識別子とジャンプページとの間のマッピング関係を含むことができる。
【００３５】
種々のサービスについて、サーバは種々のジャンプルートをクライアントへ届けることができるため、１つのページ識別子を種々のジャンプページに関連付けることが可能である。
【００３６】
例えば、クライアントはタオバオクライアントである。タオバオクライアントがルーティングサービスを実行するときに、ローカルページルーティングテーブルは、以下に示すようにルーチンサービスに対応したジャンプルートを記憶できる。
【表１】
2019506654.tif 000003
【００３７】
ジャンプルートは、ルーチンサービスを実行する場合に、ｖｉｅｗｉｄ１に対応したジャンプロジックを実行すると、クライアントがＰａｇｅＡへジャンプすることを示す。
【００３８】
タオバオクライアントにて光棍節にオペレーティングサービスを実行する場合、写真、音声、文字を含むリッチテキストＰａｇｅＢをクライアントのホームページにロードする必要がある。このように、サーバは、運用サービスに対応した以下のジャンプルートをクライアントに届けることができる。
【表２】
2019506654.tif 000004
【００３９】
ジャンプルートは、運用サービスを実行する場合に、ｖｉｅｗｉｄ１に対応したジャンプロジックを実行すると、クライアントがリッチテキストＰａｇｅＢへジャンプすることを示す。
【００４０】
この実施では、更に、ページデータベースを予めローカルに作成でき、このページデータベースを用いて、サーバによりオフラインで届けられた最新のジャンプページのページデータを記憶できる。
【００４１】
クライアントはサーバと対話してローカルページルーティングテーブルとページデータベースとを更新できる。
【００４２】
図２を参照すると、同図は、一の実施によるクライアントとサーバとの間の対話を示す概図である。
【００４３】
この実施では、サーバが、ルーティングテーブルサーバとサービスサーバとを含むことができる。
【００４４】
ルーティングテーブルサーバが果たす役割は、最新のジャンプルートをクライアントに届けるべくクライアントと対話することである。サービスサーバが果たす役割は、最新のジャンプページのページデータをクライアントへ届けるべくクライアントと対話することである。当然ながら、代替として、実施の最中にサーバをルーティングテーブルサーバとサービスサーバとに分割しなくてもよい。つまり、ルーティングテーブルサーバの機能とサービスサーバの機能とを１つの物理的サーバ内に統合することができる。
【００４５】
図２に示すように、クライアントはルーティングテーブルサーバへ第１のクエリメッセージ（第１の問い合わせメッセージ）を定期的に送信でき、この実施では、時間間隔は限定されない。例えば、第１のクエリメッセージを、１５秒毎に一度、ルーティングテーブルサーバへ定期的に送信できる。第１のクエリメッセージを用いて、ルーティングテーブルサーバが最新のジャンプルートを有するかどうか問い合わせること、及び、最新のジャンプルートをクライアントに届けるようにルーティングテーブルサーバをトリガ（始動）することができる。
【００４６】
新たなサービスは、サービスサーバ上で予め展開させることが可能である。新たなサービスの展開の完了後に、サービスサーバが、新たなサービスに関連するジャンプルートをルーティングテーブルサーバと能動的に同期させることができる。新たなサービスに関連するジャンプルートが受信され、サービスサーバによって同期された後に、ルーティングテーブルサーバは受信したジャンプルートをローカルに（その場所に）記憶できる。当然ながら、実施の最中に、新たなサービスに関連するジャンプルートを、代替的にルーティングテーブルサーバ上で直接展開することができる。
【００４７】
クライアントから送信された第１のクエリメッセージを受信すると、ルーティングテーブルサーバは、新たなサービスに関連するジャンプルートがローカルに記憶されているかどうかを判定できる。新たなサービスに関連するジャンプルートがローカルに記憶されている場合には、ルーティングテーブルサーバは新たなサービスに対応した最新のジャンプルートをクライアントへ即座に届けることができる。
【００４８】
先の説明では、クライアントは、最新のジャンプルートをクライアントへ届けるべくルーティングテーブルサーバをトリガするために、第１のクエリメッセージを送信している。加えて、実施の最中に、新たなサービスに関連し且つサービスサーバによってルーティングテーブルサーバと同期されたジャンプルートを、ルーティングテーブルサーバがクライアントへ能動的に届けることができる。
【００４９】
例えば、サービスサーバにより同期され、新たなサービスに関連するジャンプルートを受信すると、ルーティングテーブルサーバは、新たなサービスに関連するジャンプルートをクライアントへ能動的に届けるようにトリガされ得る。つまり、サービスサーバ上で新たなサービスを展開した後に、毎回、新たなサービスに関連するジャンプルートをクライアントへ能動的に届けるようルーティングテーブルサーバがトリガされる。
【００５０】
加えて、安定性向上の目的で、ルーティングテーブルサーバが最新のジャンプルートをクライアントへ届けるときに、ルーティングテーブルサーバは、更に、最新のジャンプルートを暗号化方式で送信する、又は、新たなサービスに関連するジャンプルートを予め暗合化し、バックグラウンドに記憶しておくことができる。ルーティングテーブルサーバにより届けられた最新のジャンプルートを受信した後、クライアントは、ページルーティングテーブルを更新するために、受信したジャンプルートを復号化し、その後、このジャンプルートをページルーティングテーブルに記憶できる。
【００５１】
更に図２を参照すると、現在、サービスサーバ上で新たなサービスが展開されておらず、ルーティングテーブルサーバが新たなサービスに関連するジャンプルートをローカルに記憶していない場合、クライアントは、問い合わせによって最新のジャンプルートを入手することができない。ルーティングテーブルサーバは、現在新たなサービスが展開されていないことを示すｎｕｌｌ値をクライアントへ戻すことができる。こうして、クライアントは、デフォルトのジャンプルート、又は、ルーティングテーブルサーバから届けられて予め受信されたジャンプルートを、ページルーティングテーブル上にロードすることができる。
【００５２】
よって、ページルーティングテーブルに記憶されているすべてのジャンプルートが最新のジャンプルートであることを確保できる。クライアントは、新たなサービスの展開後に、新たなサービスに対応した最新のジャンプルートを、ルーティングテーブルサーバから届けられたページルーティングテーブルに記憶できる。これにより、ページルーティングテーブルを更新できる。
【００５３】
更に図２を参照すると、クライアントは、第２のクエリメッセージ（第２の問い合わせメッセージ）をサービスサーバへ定期的に送信できる。第２のクエリメッセージは、サービスサーバが最新のジャンプページのページデータを有するかどうかを問い合わせるために、又、最新のジャンプページのページデータをクライアントに届けるようにサービスサーバをトリガするために用いることができる。
【００５４】
新たなサービスに関連するジャンプページのページデータを、サービスサーバ上で予め展開することが可能である。第２のクエリメッセージを受信した後に、サービスサーバは現在新たなサービスが展開されているかどうかを判定できる。新たなサービスが展開されている場合には、サービスサーバは、新たなサービスに対応した最新のジャンプページのページデータをオフラインでクライアントへ即座に届けることができる。例えば、サービスサーバは、オフラインデータパケットを用いて最新のジャンプページのページデータをクライアントへ届けることができる。
【００５５】
先の説明では、クライアントは、最新のジャンプページのページデータをクライアントへ送信するべくサービスサーバをトリガするために、第２のクエリメッセージを送信している。当然ながら、これに加えて、実施の最中に、サービスサーバは、新たなサービスに関連する最新のジャンプページのページデータをクライアントへ能動的に届けることができる。
【００５６】
例えば、新たなサービスをサービスサーバ上で展開した後に、新たなサービスに関連する最新のジャンプページのページデータを、クライアントへ能動的に届けるよう、サービスサーバがトリガされ得る。つまり、サービスサーバ上で新たなサービスが展開された後、毎回、新たなサービスに関連する最新のジャンプページのページデータをクライアントへ届けるようにサービスサーバがトリガされる。
【００５７】
加えて、安全性を向上させるために、最新のジャンプページのページデータをオフラインでクライアントへ届けるときに、サービスサーバが、更に、最新のジャンプページのページデータを暗号化方式で送信する、又は、新たなサービスに関連する最新のジャンプページのページデータを予め暗号化してバックグラウンドに記憶しておくことができる。サービスサーバから届けられた最新のジャンプページのページデータを受信した後に、クライアントは、ページルーティングテーブルを更新するために、受信した最新のジャンプページのページデータを復号化し、その後、この最新ジャンプページのページデータをページデータベースに記憶できる。
【００５８】
更に図２を参照すると、サービスサーバ上で新たなサービスが展開されていない場合には、クライアントは、問い合わせによって最新のジャンプページのページデータを入手することはできず、サービスサーバは、新たなサービスが現在展開されていないことを示すｎｕｌｌ値をクライアントへ戻すことができる。かくして、クライアントは、デフォルトのジャンプページのページデータ、又は、サービスサーバから届けられたジャンプページの最新のページデータ、をページデータベースへロードすることができる。
【００５９】
よって、ページデータベースに記憶されたすべてのページデータが最新のジャンプページのページデータであることを確保できる。新たなサービスに関連するジャンプページのジャンプデータがサービスサーバ上に展開された後に、クライアントが、サービスサーバから届けられた新たなサービスに対応した最新のジャンプページのページデータをページデータベースに記憶することにより、ページデータベースを更新できる。
【００６０】
図２を参照に、ローカルで作成されたページルーティングテーブルと、ローカルにて作成されたページデータベースとを更新するためにクライアントがサーバと対話するプロセスについては既に述べた。
【００６１】
クライアントがローカルのページルーティングテーブルとローカルのページデータベースとに基づいて新たなサービスのページジャンプを完了するプロセスについて以下述べる。
【００６２】
この実施では、ページジャンプを実行するときに、クライアントは、指定されたジャンプロジックを実行することによってもページジャンプを完了できる。
【００６３】
クライアントは、ユーザのフォアグラウンドオペレーションを監視することにより、指定されたジャンプロジックを実行するようにトリガされ得る。
【００６４】
先に示したアプリケーションシナリオでは、クライアントの操作インターフェースに、対応のジャンプ制御部を予め提供しておくことができる。例えば、このジャンプ制御部はジャンプボタン、ジャンプリンク等を含んでよい。ユーザが、クライアントの操作インターフェース上で対応のサービス操作を実行すると、クライアントは、クライアントの操作インターフェース上のジャンプ制御部へのユーザによるトリガイベント（きっかけとなる事象）をリアルタイムで監視できる。例えば、クライアントはタッチ画面端末上にロードされており、トリガイベントはジャンプ制御部でのクリックイベントであってよい。クライアントの操作インターフェース上のジャンプ制御部におけるトリガイベントを監視する場合、対応のページジャンプを完了するために、指定されたジャンプロジックを呼び出して実行するようにクライアントをトリガすることができる。
【００６５】
加えて、この実施で説明される指定のジャンプロジックは、既存の実施におけるジャンプロジックとは特定の細部において異なっている点に留意することが重要である。
【００６６】
既存の実施において、クライアントにて指定されたジャンプロジックは、通常、所定のジャンプ元のページのみを含む。ジャンプロジックの実行後に、クライアントは、ジャンプを完了するために、ジャンプロジックで指定されているジャンプ元のページに基づいて、対応のジャンプページへ直接ジャンプできる。
【００６７】
しかし、この実施では、所定のジャンプ元のページのページ識別子に加え、クライアントで指定されたジャンプロジックは、ジャンプ元のページのページ識別子に基づいて、対応のジャンプルートについてページルーティングテーブルを検索するための検索ロジックを含むことができる。
【００６８】
指定されたジャンプロジックを実行するときに、クライアントは、まず、ジャンプ元のページのページ識別子をジャンプロジックから読み出し、次に、ジャンプ元のページのページ識別子に基づいて、対応のジャンプルートについてページルーティングテーブルを検索し、その後、対応のジャンプルートを識別した後に、識別されたジャンプルートに基づいてページジャンプを完了することができる。
【００６９】
この実施では、クライアントが、ジャンプ元のページのページ識別子に基づいてページルーティングテーブルを検索することで対応のジャンプルートを識別した後に、サービスサーバ上で新たなサービスが展開されている場合には、ページルーティングテーブルに記憶されている各ジャンプルートが最新のジャンプルートである。よって、ページ識別子に対応しており、クライアントによって識別されたジャンプルートが、新たなサービスに対応した最新のジャンプルートである。
【００７０】
当然ながら、上記のようにサーバ上に新たなサービスが展開されていない場合には、ページルーティングテーブルに記憶されたジャンプルートはやはり予め記憶されたデフォルトのジャンプルートである、又はルーティングテーブルサーバから届けられた最新のジャンプルートである。
【００７１】
よって、クライアントは、ページルーティングテーブルから最新のジャンプルートを識別した後に、最新のジャンプルートを読み出し、ジャンプ元のページのページ識別子と最新のジャンプルートに記憶されているジャンプページとの間のマッピング関係に基づいてジャンプ元のページのページ識別子に対応するジャンプページを入手することができる。そのため、入手したジャンプページは新たなサービスに関連するジャンプページである。
【００７２】
ジャンプ元のページのページ識別子に対応したジャンプページを入手した後に、クライアントはジャンプページへジャンプでき、更に、このジャンプページにページデータをロードすることができる。このページデータは、ジャンプページに対応し、ローカルのページデータベースから読み出されている。
【００７３】
ジャンプ元のページの識別子に対応したジャンプページは、アプリのネイティブページであっても、ＨＴＭＬ５ページであってもよい。この実施においてこれは限定されていない。つまり、この実施では、サーバから届けられたジャンプルートは、まったく制限なくネイティブページとＨＴＭＬ５ページとの間でページジャンプを実施できる。
【００７４】
この実施では、ジャンプページに対応したページデータをローカルページデータベースから読み出す時に、クライアントが、最新のジャンプページのページ識別子をインデックス（索引）として用いて、対応のページデータについてページデータベースを検索できる。これにより、ローカルページデータベースが最新のジャンプページに対応したページデータを記憶するかどうかを判定できる。
【００７５】
対応のページデータが識別された場合には、クライアントは、ローカルのページデータベースが最新のジャンプページに対応したページデータをオフラインで記憶する、と判定できる。よって、クライアントは、ローカルページデータベースからページデータを直接読み出せる。
【００７６】
当然ながら、クライアントは、ページデータベースが最新のジャンプページに対応したページデータをオフラインで記憶しない、と判定する場合には、サーバから最新のジャンプページのページデータを要求できる。例えば、クライアントは、サーバからジャンプページのページデータを要求するために、ジャンプページのＵＲＬアドレス又は別の識別子を含むページデータ取得要求をサーバへ送ることができる。
【００７７】
クライアントが、最新のジャンプページに対応したページデータをローカルのページデータベースから直接読み出す場合、ページデータはサーバ上に展開された新たなサービスのページデータである。そして、ページジャンプを完了するために、クライアントは読み出した新たなサービスのページデータを最新のジャンプページ上にロードすることができる。クライアントは、読み出した新たなサービスのページデータに基づいてページジャンプを完了した後に、サーバ上に展開された新たなサービスの実行を開始する。
【００７８】
新たなサービスのページデータを最新のジャンプページへロードするときに、クライアントはプロトコルを用いて、例えば合意されたプロトコルのインターフェースを用いて、ページデータを送信できる。
【００７９】
この実施では、別の新たなサービスをサーバ上に展開する必要がある場合には、新たなジャンプルートをクライアントへ送信することで、新たなサービスのジャンプページへジャンプするべく、指定されたジャンプロジックを実行するようにクライアントをトリガし、これにより、新たなサービスを実行できる。
【００８０】
当然ながら、サーバ上での新たなサービスの実行が完了し、他の新たなサービスがサーバ上に展開されていない場合には、サーバは、ルーチンサービスを回復するようクライアントをトリガするためのトリガメッセージを、クライアントへ更に送信できる。クライアントは、トリガメッセージの受信後に、デフォルトのジャンプルートとデフォルトのジャンプページのページデータとを用いて、ローカルページルーティングテーブルとローカルページデータベースとを別々に回復できる。回復に成功した場合、クライアントは、再び同じジャンプロジックを実行し、デフォルトページにジャンプして、ルーチンサービスを実行する。
【００８１】
よって、サーバ上に新たなサービスを展開する場合に、サーバと対話することで、クライアントは新たなサービスのジャンプルートをローカルページルーティングテーブルへ即座に記憶し、新たなサービスのジャンプページのページデータをローカルページデータベースに記憶できる。
【００８２】
したがって、対応のジャンプロジックの実行後に、クライアントはジャンプ元のページのページ識別子をジャンプロジックから読み出し、ページ識別子のジャンプロジックに対応した最新のジャンプルートについてローカルのページルーティングテーブルを検索できる。対応した最新のジャンプルートの識別後に、クライアントは、対応のジャンプページを最新のジャンプルートから読み出し、ジャンプページのページデータをローカルページデータベースから読み出し、読み出したページデータに基づいて対応のページへジャンプできる。
【００８３】
このプロセス全体の最中に、ジャンプロジック中のジャンプ元のページのページ識別子は変更されず、サーバは新たなジャンプルートを動的に届けることができるため、ジャンプ元のページのページ識別子が種々のジャンプページに動的に対応できる。これにより、アプリを別バージョンに更新することなく、サーバ上でサービスをよりフレキシブルに展開できるようになる。
【００８４】
加えて、本願では、クライアントがページジャンプを実行すると、ページジャンプは、サーバがジャンプルートを動的に届けることで実施されるため、アプリ内のジャンプロジックを修正する必要がない。そのため、アプリはパッチを連続的にロードする必要がなく、これによりフレキシビリティが向上する。更に、アプリ内のジャンプロジックをそれ以上修正する必要がないので、アプリは、安全上のリスクの理由で拒絶されて危険に直面することがなくなる。
【００８５】
特定のアプリケーションインスタンスを用いて、先に述べた実施における技術的解決策を以下説明する。
【００８６】
クライアントはタオバオクライアントであると仮定する。タオバオクライアントがルーチンサービスを実行すると、ローカルのページルーティングテーブルが、ルーチンサービスに対応したテーブル１にジャンプルートを記憶できる。
【表３】
2019506654.tif 000005
【００８７】
ジャンプルートは、ルーチンサービスを実行する場合、ｖｉｅｗｉｄ１に対応するジャンプロジックを実行すると、クライアントがＰａｇｅＡへジャンプすることを示す。
【００８８】
加えて、これに対応し、ローカルページデータベースがＰａｇｅＡのページデータを記憶できる。
【００８９】
サーバ上で新たなサービスが展開され、この新たなサービスが光棍節における運用サービスであると仮定する。クライアントは第１のクエリメッセージと第２のクエリメッセージとをサーバへ定期的に送信することで、新たなサービスのジャンプルートと、このジャンプルートに対応するジャンプページのページデータとをクライアントに届けるようサーバをトリガできるようになる。
【００９０】
クライアントが新たなサービスを実行する場合には、写真、音声、文字を含んだリッチテキストＰａｇｅＢをクライアントのホームページへロードする必要がある。よって、サーバは、運用サービスに対応したテーブル２中のジャンプルートをクライアントに届けることができる。
【表４】
2019506654.tif 000006
【００９１】
ジャンプルートは、運用サービスを実行する場合、ｖｉｅｗｉｄ１に対応したジャンプロジックを実行すると、クライアントがリッチテキストＰａｇｅＢへジャンプすることを示す。よって、クライアント内のジャンプロジックは変わらず、ジャンプロジック内で指定されたジャンプ元のページのページ識別子に対応したジャンプページが変わる。
【００９２】
テーブル２に示すようにサーバから届けられた新たなサービスのジャンプルートを受信した後に、クライアントは、テーブル１に示すようにローカルのページルーティングテーブルに記憶された、ルーチンルートに対応するジャンプルートを、新たなサービスのジャンプルートを用いて更新できる。
【００９３】
加えて、サーバは、更に、ＰａｇｅＢのページデータをクライアントへ送信できる。クライアントは、ＰａｇｅＢのページデータを受信すると、ローカルのページデータベースに記憶されているＰａｇｅＡのページデータを更新できる。
【００９４】
ローカルのページルーティングテーブルとローカルのページデータベースの両方を更新するときに、クライアントは同じジャンプロジックを再度実行する。ジャンプロジックからｖｉｅｗｉｄ１を読み出した後、クライアントは、ローカルのページルーティングテーブルからｖｉｅｗｉｄ１に対応したジャンプＰａｇｅＢを識別できる。ＰａｇｅＢを識別した後、クライアントはＰａｇｅＢへジャンプし、ＰａｇｅＢのページデータをページデータベースから読み出し、読み出したＰａｇｅＢのページデータをＰａｇｅＢにロードし、その後、ＰａｇｅＢへジャンプできる。このプロセス全体の最中、新たなサービスのジャンプルートを届けるプロセスはユーザにまったく気付かれていない。これはユーザエクスペリエンスの向上を助ける。
【００９５】
新たなサービスの実行が完了し、別の新たなサービスをサーバ上に再展開する場合には、サーバはその別の新たなサービスのジャンプルートを同じ方法でクライアントへ再び届けることができる。当然ながら、新たなサービスの実行が完了し、他の新たなサービスをサーバ上に展開しない場合には、サーバは、ルーチンサービスをクライアントに回復させるトリガメッセージを、クライアントへ送信することもできる。クライアントは、トリガメッセージを受信した後、ローカルのページルーティングテーブルに記憶され且つテーブル２に示すジャンプルートから、テーブル１に示すジャンプルートを、回復することができる。加えて、トリガメッセージを受信した後、クライアントは、更に、ローカルのページデータベースに記憶されているＰａｇｅＢのページデータから、ＰａｇｅＡのページデータを回復することができる。回復が完了したら、クライアントは同じジャンプロジックを再び実行し、その後、ＰａｇｅＡへジャンプしてルーチンサービスを実行する。
【００９６】
先の実施では、ジャンプ元のページのページ識別子を入手し、この入手したページ識別子に基づき、対応のジャンプルートについてページルーティングテーブルを検索し、更に、識別されたジャンプルートに基づき、対応のページにジャンプする。これにより、ページルーティングテーブルから識別されたジャンプルートに基づいて、ページジャンプを動的且つフレキシブルに実行できるようになる。よって、アプリのバージョンをアップグレードする必要なく、新たなサービスを高速且つフレキシブルに展開することが可能になる。加えて、本願では、ページジャンプを実行するときに、アプリ内でジャンプロジックを修正する必要がない。そのため、アプリが安全上のリスクを理由に拒絶されるリスクに直面することがなくなる。
【００９７】
先の述べた方法の実施に対応して、本願は更に装置の実施も提供する。
【００９８】
図３を参照すると、本願は、クライアントに適用するページジャンプ装置３０を提供する。図４を参照すると、ページジャンプ装置３０を実装しているクライアントに関連するハードウェア構成は、通常、ＣＰＵ、メモリ、不揮発性メモリ、ネットワークインターフェース、ローカルバス（母線）等を含む。例えば、ソフトウェア実施の最中、ページジャンプ装置３０は、ソフトウェアとハードウェアとの組み合わせであり、通常は、メモリにロードされたコンピュータプログラムがＣＰＵ内で実行された後に形成されるロジカル装置として理解できる。装置３０は以下を含む。すなわち、
「取得モジュール３０１」ジャンプ元のページのページ識別子を入手するように構成されている；「検索モジュール３０２」入手したページ識別子に基づいて、対応のジャンプルートについてページルーティングテーブルを検索するように構成されており、ジャンプルートは、ページ識別子とジャンプページとの間のマッピング関係を含む；「ジャンプモジュール３０３」識別されたジャンプルートに基づいて、ジャンプページへジャンプするように構成されている。この実施では、ジャンプ元のページのページ識別子は、クライアント内の所定のジャンプロジックに含めることができ、ジャンプロジックは、変更されないクライアントのプログラム内に予めハードコーディングしておくことができる。
【００９９】
ジャンプロジック内のジャンプ元のページのページ識別子は、種々のサービスシナリオにおける種々のジャンプページに別々に対応させることができる。
【０１００】
この実施では、装置３０はさらに以下を含む。すなわち、
「送信モジュール３０４」第１のクエリ要求をサーバへ定期的に送信するように構成されており、第１のクエリ要求を用いて、最新のジャンプルートを届けるべくサーバをトリガする；
「受信モジュール３０５」サーバから届けられた最新のジャンプルートを受信するように構成されている；
「更新モジュール３０６」受信した最新のジャンプルートに基づいてページルーティングテーブルを更新するように構成されている。
【０１０１】
この実施では、クライアント内でページルーティングテーブルを予めローカルに作成することができ、また、ページルーティングテーブルをサーバから届けられたジャンプルートを記憶するために用いることができる。ページルーティングテーブル内のジャンプルートは、ページ識別子とジャンプページとの間のマッピング関係を含むことができる。サーバは、種々のサービスについて種々のジャンプルートをクライアントへ届けることができ、これにより、１つのページ識別子を種々のジャンプページに別々に対応付けることができる。
【０１０２】
ローカルのページルーティングテーブルを更新するために、クライアントは、第１のクエリ要求をサーバへ送信することでサーバと対話できる。
【０１０３】
任意ではあるが、送信モジュール３０４は、最新のジャンプページのページデータをオフラインで届けるようにサーバをトリガする第２のクエリ要求を、サーバへ定期的に送信するように更に構成され；
受信モジュール３０５は、サーバからオフラインで届けられた最新のジャンプページのページデータを受信するように更に構成され；
更新モジュール３０６は、受信した最新のジャンプページのページデータに基づいて、ページデータベースを更新するように更に構成される。
【０１０４】
この実施では、ページデータベースは更にローカルにクライアント内に予め作成しておき、これを用いて、サーバからオフラインで届けられた最新のジャンプページのページデータを記憶できる。
【０１０５】
クライアントは、ローカルのページルーティングテーブルを更新するために、第２のクエリ要求をサーバへ送信することによりサーバと対話することができる。
【０１０６】
この実施では、ジャンプモジュール３０３は：
識別されたジャンプルートに基づき、ページ識別子に対応したジャンプページを入手し；
ジャンプページのページデータを読み出し；そして
ジャンプページにジャンプし、読み出したページデータをこのジャンプページにロードして、ジャンプを完了するように構成される。
【０１０７】
この実施では、ページジャンプを実行するときに、クライアントは、やはり指定されたジャンプロジックを実行することによってページジャンプを完了できる。先に示したアプリケーションシナリオでは、対応のジャンプ制御部を事前にクライアントの操作インターフェースに提供できる。例えば、このジャンプ制御部は、ジャンプボタン、ジャンプリンク等を含んでいてもよい。ユーザがクライアントの操作インターフェースに対応するサービス操作を実行する場合、クライアントは、クライアントの操作インターフェース上のジャンプ制御部へのユーザによるトリガイベントをリアルタイムで監視できる。例えば、クライアントはタッチ画面端末にロードされ、トリガイベントはジャンプ制御部でのクリックイベントであってよい。クライアントの操作インターフェース上のジャンプ制御部へのトリガイベントを監視する場合、対応のページジャンプを完了するために、クライアントは、指定されたジャンプロジックを呼び出し、実行するように即座にトリガされ得る。
【０１０８】
クライアントが、ジャンプ元のページのページ識別子に基づいてページルーティングテーブルを検索することで対応のジャンプルートを識別した後に、サービスサーバ上で新たなサービスが現在展開されている場合には、ページルーティングテーブルに記憶されている各ジャンプルートが最新のジャンプルートである。よって、ページ識別子に対応しており、クライアントにより識別されたジャンプルートは、新たなサービスに対応した最新のジャンプルートである。
【０１０９】
よって、クライアントは、ページルーティングテーブルから最新のジャンプルートを識別した後に、最新のジャンプルートを読み出し、ジャンプ元のページのページ識別子と最新のジャンプルートに記憶されているジャンプページとの間のマッピング関係に基づいてジャンプ元のページのページ識別子に対応するジャンプページを入手し、ジャンプページへジャンプし、更に、ジャンプページに対応し且つローカルページデータベースから読み出されたページデータをジャンプページにロードすることができ、これによりページジャンプが完了する。
【０１１０】
この実施では、ジャンプモジュール３０３は、更に：
ローカルページデータベースが、ジャンプページのページデータをオフラインで記憶するかどうかを判定し；
ページデータベースがジャンプページのページデータをオフラインで記憶する場合には、ページデータベースからジャンプページのページデータを読み出し；そして、
ページデータベースがジャンプページのページデータを記憶しない場合には、サーバからジャンプページのページデータを要求する；
ように構成されている。
【０１１１】
この実施では、ローカルのページデータベースからジャンプページに対応したページデータを読み出すときに、クライアントは、ローカルのページデータベースが最新のジャンプページに対応したページデータを記憶しているかどうかを判定するために、最新のジャンプページのページ識別子をインデックスとして用いて、この対応のページデータについてページデータベースを検索することができる。
【０１１２】
対応のページデータが識別された場合には、クライアントは、ローカルのページデータベースが最新のジャンプページに対応したページデータをオフラインで記憶している、と判定できる。そのため、クライアントは、ローカルのページデータベースからページデータを直接読み出すことができる。
【０１１３】
当然ながら、クライアントは、ページデータベースが最新のジャンプページに対応したページデータをオフラインで記憶していない、と判定した場合には、最新のジャンプページのページデータをサーバに要求できる。例えば、クライアントは、サーバからジャンプページのページデータを要求するために、ジャンプページのＵＲＬアドレス、又はその他の識別子を含むページデータ取得要求をサーバへ送信できる。
【０１１４】
クライアントが最新のジャンプページに対応したページデータをローカルのページデータベースから直接読み出す場合、ページデータは、サーバ上で展開されている新たなサービスのページデータであり、クライアントは、読み出した新たなサービスのページデータを最新のジャンプページにロードすることができ、これによりページジャンプが完了する。
【０１１５】
当業者は、本明細書を考慮し、そこに開示される本開示を実施した後、本願の別の実施解決策を容易に理解することができる。本願は、そのあらゆる変形、機能、適合する変更を網羅することを意図している。これらの変形、機能、適合する変更は、本願の一般原理に準拠し、本願で開示されていない、該当する技術分野における一般常識、又は一般に用いられる技術的手段を含む。本明細書及びそこで提示する実施は単なる実施例とみなし、本願の実際の範囲及び趣旨は以下の特許請求の範囲によって指摘される。
【０１１６】
本願は、上で述べ、添付の図面に示した厳密な構造に限定されず、本願の範囲から逸脱せずに修正及び変更を加えることが可能である。本願の範囲は添付の特許請求の範囲によってのみ限定されるものである。
【０１１７】
上記の説明は単に本願の例示の実施であり、本願を限定することを意図していない。本願の趣旨及び原理から逸脱しないあらゆる修正、均等物との置き換え、又は改良は、本願の保護範囲に入るものである。
【符号の説明】
【０１１８】
３０    ページジャンプ装置
３０１  取得モジュール
３０２  検索モジュール
３０３  ジャンプモジュール
３０４  送信モジュール
３０５  受信モジュール
３０６  更新モジュール
【図１】
2019506654.tif 000007
【図２】
2019506654.tif 000008
【図３】
2019506654.tif 000009
【図４】
2019506654.tif 000010
【国際調査報告】
2019506654.tif 000011
2019506654.tif 000012
2019506654.tif 000013
2019506654.tif 000014