(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-09
(45)【発行日】2022-12-19
(54)【発明の名称】ミニプログラムパッケージ送信方法、装置、電子機器コンピュータ可読媒体およびコンピュータプログラム製品
(51)【国際特許分類】
H04L 9/32 20060101AFI20221212BHJP
G06F 8/60 20180101ALI20221212BHJP
G06F 21/44 20130101ALI20221212BHJP
G06F 21/60 20130101ALI20221212BHJP
G09C 1/00 20060101ALI20221212BHJP
H04L 9/08 20060101ALI20221212BHJP
【FI】
H04L9/32 200B
G06F8/60
G06F21/44 350
G06F21/60 320
G06F21/60 360
G09C1/00 640E
H04L9/08 D
H04L9/08 F
(21)【出願番号】P 2021018713
(22)【出願日】2021-02-09
【審査請求日】2021-02-09
(31)【優先権主張番号】202011041926.7
(32)【優先日】2020-09-28
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100219542
【氏名又は名称】大宅 郁治
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】ナンション・シー
(72)【発明者】
【氏名】マリン・シエ
(72)【発明者】
【氏名】シン・チェン
(72)【発明者】
【氏名】イージェン・チェン
(72)【発明者】
【氏名】ジャオ・ツァオ
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2010-160748(JP,A)
【文献】中国特許出願公開第109840103(CN,A)
【文献】特開2019-101971(JP,A)
【文献】国際公開第2005/098631(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/60
H04L 9/08
G09C 1/00
G06F 21/44
G06F 8/60
(57)【特許請求の範囲】
【請求項1】
ホストサーバからのミニプログラムパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内のミニプログラム
のIDを取得するステップと、
前記ミニプログラムの前記IDが、本プラットフォームサーバが前記ホストサーバに予め送信したミニプログラムパッケージIDであることが検証される場合、前記ミニプログラムのミニプログラムパッケージを前記ホストサーバに送信するステップと、を含み、
異なるホストサーバ
に送信された同一のミニプログラムに対
応するミニプログラムパッケージIDは異なる、
ミニプログラムパッケージの送信方法。
【請求項2】
ホストサーバからのミニプログラムパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内の
前記ミニプログラム
の前記IDを取得する前に、
ホストサーバからのミニプログラム情報取得要求に応答して、少なくとも1つのミニプログラムのミニプログラム情報と対応するプログラムIDを取得することと、
前記ミニプログラムのプログラムIDに基づいてミニプログラムパッケージIDを生成し、各ミニプログラムのプログラムIDは1つの前記ミニプログラムパッケージIDに対応し、異なるホストサーバによって生成された同一のミニプログラムのミニプログラムパッケージIDが異なることと、
前記少なくとも1つの
ミニプログラムの前記ミニプログラム情報と前記ミニプログラムパッケージIDを前記ホストサーバに送信することをさらに含む、
請求項1に記載の方法。
【請求項3】
送信されたミニプログラムパッケージIDは暗号化されたミニプログラムパッケージIDであり、
前記ミニプログラムのプログラムIDに基づいてミニプログラムパッケージIDを生成した後、
所定の秘密鍵を使用して前記各ミニプログラムの前記ミニプログラムパッケージIDを暗号化して、暗号化されたミニプログラムパッケージIDを取得し、各ホストサーバに対する所定の秘密鍵は異なり、前記各ホストサーバの所定の秘密鍵は本プラットフォームサーバに保存され、且つ
各ホストサーバの所定の秘密鍵は
他のホストサーバに対して非公開状態であることをさらに含む、
請求項2に記載の方法。
【請求項4】
送信されたミニプログラムパッケージIDは有効状態のミニプログラムパッケージIDであり、
前記ミニプログラムのプログラムIDに基づいてミニプログラムパッケージIDを生成した後、
失効処理条件を満たすミニプログラムパッケージIDに対して、対応する新しいミニプログラムパッケージIDを生成して、各ミニプログラムの新しいミニプログラムパッケージIDを取得することと、
前記新しいミニプログラムパッケージIDの有効状態を設定し、前記失効処理条件を満たすミニプログラムパッケージIDを失効状態に設定することを含み、
前記失効処理条件は、ミニプログラムパッケージID生成時間から現在までの時間が予め設定された有効時間を超えると、本プラットフォームサーバのサーバ情報に変更が発生すること、および本プラットフォームサーバの所定のトラフィック異常情報を監視することのうちの少なくとも1つを含む、
請求項2に記載の方法。
【請求項5】
前記失効処理条件を満たすミニプログラムパッケージIDを失効状態に設定する前に、 現在から前記対応する新しいミニプログラムパッケージIDを生成するまでの間隔の長さが、所定の移行時間に達したと確定することをさらに含む、
請求項4に記載の方法。
【請求項6】
無効化条件を満たすミニプログラムパッケージIDに対して、対応する新しいミニプログラムパッケージIDを生成するステップの後に、
各ミニプログラムのミニプログラムパッケージIDに基づいて対応するアプリケーションIDを生成し、異なる生成時間で同一のプログラムIDに対応するミニプログラムパッケージIDは同一のアプリケーションIDを有すること、をさらに含み、
前記少なくとも1つの
ミニプログラムの前記ミニプログラム情報と前記ミニプログラムパッケージIDを前記ホストサーバに送信する前記ステップは、
前記少なくとも1つの
ミニプログラムの前記ミニプログラム情報、前記各ミニプログラムのミニプログラムパッケージIDと対応するアプリケーションIDを前記ホストサーバに送信することをさらに含む、
請求項4に記載の方法。
【請求項7】
前記ミニプログラムパッケージ取得要求内の
前記ミニプログラム
の前記IDを取得する前記ステップの後、
前記ミニプログラムパッケージ取得要求に含まれるデジタル署名証明書を取得することをさらに含み、
前記ミニプログラムのミニプログラムパッケージを前記ホストサーバに送信する前記ステップは、
本プラットフォームサーバに予め記憶されている前記ホストサーバの非対称暗号秘密鍵を用いて前記デジタル署名証明書を検証し、前記デジタル署名証明書の検証が成功した場合に、前記ミニプログラムのミニプログラムパッケージを前記ホストサーバに送信することをさらに含む、
請求項1に記載の方法。
【請求項8】
ホストサーバからのミニプログラムパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内の
前記ミニプログラム
の前記IDを取得する前記ステップは、
予め確立した安全なデータ伝送チャネルを介して受信したホストサーバからのアプリケーションパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内の暗号化された通信コンテンツを取得することと、
前記通信コンテンツを復号化し、前記ホストサーバのクライアントIDに基づいて前記ホストサーバに対しアイデンティティ認証が成功した後、前記通信コンテンツ内のミニプログラムIDを取得することを含む、
請求項1に記載の方法。
【請求項9】
ホストサーバからのミニプログラムパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内の
前記ミニプログラム
の前記IDを取得する前記ステップは、
安全なデータ伝送チャネルを現在使用しているホストサーバのクライアントIDが、本プラットフォームサーバに記憶されている、前記安全なデータ伝送チャネルが確立された、対応するホストサーバのクライアントIDと一致しないことが監視された場合、前記安全なデータ伝送チャネルを現在使用しているホストサーバが不法なホストサーバであると確定することと、
前記不法なホストサーバに対し遮蔽処理を施すことをさらに含む、
請求項8に記載の方法。
【請求項10】
ホストサーバからのミニプログラムパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内の
前記ミニプログラム
の前記IDを取得する前に、
前記ホストサーバからのデータチャネル確立要求に応答して、本プラットフォームサーバと前記ホストサーバとの間で双方向アイデンティティ認証を行うことと、
前記双方向アイデンティティ認証に通った場合、前記ホストサーバのクライアントIDを記憶し、本プラットフォームサーバと前記ホストサーバとの間の安全なデータ伝送チャネルを確立することをさらに含み、
前記クライアントIDは、前記ホストサーバを一意的に識別するために使用され、前記ホストサーバのクライアントIDは、本プラットフォームサーバのソフトウェア開発キットSDKの閉鎖ソースに記憶される、
請求項1~9のいずれか1項に記載の方法。
【請求項11】
前記ミニプログラムのミニプログラムパッケージを前記ホストサーバに送信した後に、 所定期間内に受信した前記ホストサーバからのミニプログラムパッケージ取得要求の要求回数を監視して、第1の要求回数監視結果とすることと、
各ミニプログラムパッケージの前記新しいミニプログラムパッケージIDを取得した後、所定期間内に受信した前記要求の数を継続的に監視して、第2の要求回数監視結果とすることと、
前記第1の要求回数監視結果と第2の要求回数監視結果との差分値が所定の要求回数閾値を超えた場合に、本プラットフォームサーバのトラフィック異常情報を得ることをさらに含む、
請求項4~6のいずれか1項に記載の方法。
【請求項12】
前記ホストサーバは、本プラットフォームサーバに予め設定されたホワイトリスト中のホストサーバであり、前記ホストサーバのミニプログラムパッケージ取得要求に対応するトラフィックは所定のトラフィック閾値範囲内であり、
前記ミニプログラムのミニプログラムパッケージIDを前記ホストサーバに送信する前記ステップは、指定された少なくとも1つのミニプログラムのミニプログラムパッケージを前記ホストサーバに送信することを含む、
請求項1~9のいずれか1項に記載の方法。
【請求項13】
ホストサーバからのミニプログラムパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内のミニプログラム
のIDを取得するように配置されたパッケージ取得要求受信モジュールと、
前記ミニプログラムの前記IDが、本プラットフォームサーバが前記ホストサーバに予め送信したミニプログラムパッケージIDであることが検証された場合、前記ミニプログラムのミニプログラムパッケージを前記ホストサーバに送信するように配置されたミニプログラムパッケージモジュールと、を含み、
異なるホストサーバ
に送信された同一のミニプログラムに対
応するミニプログラムパッケージIDは異なる、
ミニプログラムパッケージ送信装置。
【請求項14】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサが請求項1~12のいずれか1項に記載のミニプログラムパッケージ送信方法を実現する1つ以上のプログラムを記憶した記憶装置と、
前記プロセッサとメモリとの間に接続され、前記プロセッサとメモリとの間で情報のやり取りを実現するように配置される1つ以上のI/Oインタフェースとを備える、
電気機器。
【請求項15】
プロセッサによって実行されるときに、請求項1~12のいずれか一項に記載のミニプログラムパッケージ送信方法を実現するコンピュータプログラムが記憶される、
コンピュータ
記憶媒体。
【請求項16】
プロセッサによって実行されるとき、請求項1~12のいずれか一項に記載のプチアプリケーションパッケージ送信方法を実現するコンピュータプログラムを含むコンピュータプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ技術分野に関するものであり、具体的に、クラウドコンピューティングおよびクラウドプラットフォーム技術分野に関するものである。特に、ミニプログラムパッケージ送信方法、装置、電子機器、コンピュータ可読媒体およびコンピュータプログラム製品に関するものである。
【背景技術】
【0002】
ミニプログラムは、ダウンロードもインストールもせずに使用できるアプリケーションとして、一般的には、ホストプログラムをプラットフォームとして動作し、ホストプログラムは、通常、端末のオペレーティングシステム環境で動作するアプリケーションである。
【0003】
ミニプログラムが急速に成長するにつれて、ミニプログラムに関して配信されるホストプログラムが益々多くなっている。したがって、ミニプログラムのホストプログラム上での配信を制御し、ミニプログラムと合法的なホストプログラムとの間で安全かつ効率的なシステム通信および対話を可能にすることが必要である。
【発明の概要】
【0004】
本開示の実施例は、ミニプログラムパッケージ送信方法、装置、電子機器、コンピュータ可読媒体およびコンピュータプログラム製品を提供する。
【0005】
第1の方面において、本開示の実施例は、ホストサーバからのミニプログラムパッケージ取得要求に応答して、ミニプログラムパッケージ取得要求内のミニプログラムIDを取得するステップと、IDが、本プラットフォームサーバがホストサーバに予め送信したミニプログラムパッケージIDであることが検証された場合、ミニプログラムのミニプログラムパッケージをホストサーバに送信するステップと、を含み、異なるホストサーバの同一のミニプログラムに対して送信されるミニプログラムパッケージIDは異なる、ミニプログラムパッケージの送信方法を提供する。
【0006】
第2の方面において、本開示の実施例は、ホストサーバからのミニプログラムパッケージ取得要求に応答して、ミニプログラムパッケージ取得要求内のミニプログラムIDを取得するパッケージ取得要求受信モジュールと、IDが、本プラットフォームサーバがホストサーバに予め送信したミニプログラムパッケージIDであることが検証された場合、ミニプログラムのミニプログラムパッケージをホストサーバに送信するミニプログラムパッケージモジュールと、を含み、異なるホストサーバの同一のミニプログラムに対して送信されるミニプログラムパッケージIDは異なる、ミニプログラムパッケージ送信装置を提供する。
【0007】
第3の方面において、本開示の実施例は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサが任意の1つのミニプログラムパッケージ送信方法を実行する1つ以上のプログラムを記憶したメモリと、プロセッサとメモリとの間に接続され、プロセッサとメモリとの間で情報のやり取りを実現するように配置される1つ以上のI/Oインタフェースとを備える、電気機器を提供する。
【0008】
第4の方面において、本開示の実施例は、プロセッサによって実行されるときに、上記のミニプログラムパッケージ送信方法のいずれかを実現するコンピュータプログラムが記憶される、コンピュータ可読媒体を提供する。
【0009】
第5の方面において、本開示の実施例は、プロセッサによって実行されるとき、上述したプチアプリケーションパッケージ送信方法のいずれかを実現するコンピュータプログラムを含むコンピュータプログラム製品を提供する。
【0010】
本開示の実施例が提供するミニプログラムパッケージ送信方法、装置、電気機器およびコンピュータ可読媒体において、プラットフォームサーバは、ホストサーバからのミニプログラムパッケージ取得要求を受信した後、ミニプログラムパッケージ取得要求から当該要求のうちのミニプログラムIDを取得し、当該IDが、本プラットフォームサーバがホストサーバに予め送信したミニプログラムパッケージIDであると検証した場合に限って、ミニプログラムのミニプログラムパッケージをホストサーバに送信することができる。
【0011】
本開示のミニプログラムパッケージ送信方法、装置、電気機器およびコンピュータ可読媒体により、異なるホストサーバの同一のミニプログラムパッケージ対して送信されるミニプログラムパッケージIDが異なり、これにより、ミニプログラムパッケージIDにより異なるホストサーバの異なるミニプログラムを識別し、ミニプログラムパッケージ送信過程のセキュリティ管理を向上させることができる。
【発明の効果】
【0012】
図面は本開示の実施例をさらに理解するためのものであり、本明細書の一部であって、本開示の実施例とともに本開示を説明するためのものであり、本開示を限定するものではない。図面を参考して詳細な例示的な実施例を説明し、上記およびその他の特徴および利点は当業者にとってより自明となろう。
【図面の簡単な説明】
【0013】
【
図1】本開示の実施例が提供するシーンの概略図であり、
【
図2】本開示の実施例のミニプログラムパッケージ送信方法のフローチャートであり、
【
図3】本開示の実施例におけるアプリケーションIDとミニプログラムパッケージIDとの関係モデル模式図であり、
【
図4】本開示の例示的な実施例におけるシステムフレームワークの概略図であり、
【
図5】本開示の実施例が提供するミニプログラムパッケージ送信装置の構成ブロック図であり、
【
図6】本開示の実施例が提供する電気機器の構成ブロック図であり、
【
図7】本開示の実施例が提供するコンピュータ可読媒体の構成ブロック図である。
【発明を実施するための形態】
【0014】
本開示の技術案を当業者がよりよく理解できるよう、以下では図面を組み合わせて本開示が提供するミニプログラムパッケージ送信方法、装置、電子機器およびコンピュータ可読媒体について詳細に説明する。
【0015】
以下では図面を参照しながら例示的な実施例についてより十分に説明していくが、例示的な実施例は異なる形式で体現することができ、本明細書に記載の実施例に限定されると解釈してはならない。むしろ、これらの実施例を提供する目的は、本開示を詳らかにかつ完全にし、当業者に本開示の範囲を十分に理解させることである。
【0016】
本開示における各実施例および実施例中の特徴は、矛盾しない限り互いに組み合わせることができる。本明細書が使用する「および/または」という用語は、1つまたは複数の関連して列挙される項目の任意のおよびすべての組み合わせを含む。
【0017】
本明細書が使用する用語は特定の実施例を説明するためのものに過ぎず、本開示を限定することを意図しない。本明細書が使用する単数形「1つ」、および「当該」という語は、文脈が明らかにそうでないことを示さない限り、複数形も含むことを意図している。また、本明細書で「含む」および/または「……からなる」という用語を使用する場合、特徴、全体、ステップ、操作、素子および/または構成要素があることを指定するが、1つまたは複数のその他の特徴、全体、ステップ、操作、素子、構成要素および/またはそれらのグループの存在または追加を排除するものではないことが理解されよう。
【0018】
特に限定されていない限り、本明細書が使用するすべての用語(技術と科学的な用語を含む)は、当業者によって一般的に理解されるものと同じ意味を有する。また、一般的に使用される辞書で限定されているような用語は、関連技術および本開示の背景でのそれらの意味と一致する意味を有するものと解釈されるべきであり、本明細書で明確に限定されていない限り、理想化されたかまたは過度に形式的な意味を有するものと解釈されるべきではないことがさらに理解されよう。
【0019】
図1は本開示の実施例のシーンの概略図である。
図1に示すシーンは、端末10、ホストサーバ20、および、プラットフォームサーバ30を含む。端末10は、ホストアプリケーションを実行することができるため、以下の実施例の説明において、端末10をホストアプリケーションクライアントとも称する。ミニプログラムは、あるホストアプリケーションに依存して実行できる。例えば、ソーシャルアプリケーション、地図アプリケーション、ビデオアプリケーション、検索およびリソース類アプリケーションなどの様々なホストアプリケーションにおいてミニプログラムを呼び出してもよい。
【0020】
端末10で実行されるホストアプリケーションが初めてミニプログラムを開く場合、まず、ミニプログラムパッケージをダウンロードする必要がある。本開示の実施例の
図1において、ホストサーバ20は、プラットフォームサーバ30が下り送信したミニプログラムの基本情報を取得してから、ミニプログラムの基本情報を端末10に送信し、端末10は、ホストサーバアプリケーションを介して当該基本情報におけるミニプログラムのミニプログラムパッケージを選択し、ホストサーバ20によって、ミニプログラムのミニプログラムパッケージの取得をプラットフォームサーバ30に要求し、プラットフォームサーバ30は、ホストサーバ20によって取得されたミニプログラムパッケージを端末10に送信し、端末10は対応するミニプログラムをローカルのホストアプリケーション上で実行する。
【0021】
端末10はインターネットに接続可能であり、例えば、端末10は、携帯電話、パーソナルコンピュータ、タブレット、スマートウェアラブルデバイス、デスクトップコンピュータ、ノートブックコンピュータなどを含むがこれらに限定されない。これらは、様々なホストアプリケーションをインストールすることができる。
【0022】
ホストサーバ20は、端末10で実行されるホストアプリケーションのバックグラウンドサーバであってもよく、ホストプラットフォームサーバ30は、ミニプログラムパッケージを提供するためのサーバであってもよい。以下の実施例の記載において、ホストプラットフォームサーバを単にプラットフォームサーバと略すことができる。
【0023】
ホストサーバ20は、端末10およびプラットフォームサーバ30と通信を確立することができる。当該サーバ20とプラットフォームサーバ30は1台のサーバデバイスであってもよく、複数台のサーバデバイスからなるサーバクラスタであってもよい。具体的な処理の割り当て状況は、実際の応用のニーズに応じて柔軟に調整することができる。
【0024】
以下の実施例の記載において、端末上でホストアプリケーションを実行することができるため、端末をホストアプリケーションとも呼ぶことができる。
【0025】
以下の各実施例はいずれも本実施例のシステムフレームに応用することができる。説明を簡単にするために、以下の各実施例は相互に参考し、引用することができる。
【0026】
幾つかの応用場面において、端末10上で実行されるホストアプリケーションによって開始されたアクセス要求またはプラットフォームサーバ30の推奨に基づいて、プラットフォームサーバ30は、ミニプログラム情報リストをホストアプリケーションに送信することができる。ミニプログラム情報リストにおけるミニプログラム情報は、例えば、ミニプログラム名、ミニプログラムアイコンとミニプログラム文字説明情報などの情報を含んでもよい。ミニプログラム情報を送信するとき、ミニプログラムを一意に識別するためのミニプログラムのプログラムID(appkey)を併せて送信してもよい。
【0027】
すべてのホストサーバが取得したミニプログラムのミニプログラム情報リストがいずれも同一であるため、ホストサーバに対応するホストアプリケーションがホストアプリケーションで実行される場合、ミニプログラム情報リストから選択されたミニプログラムのappkeyに基づいて、選択されたミニプログラムの最新のミニプログラムパッケージをプラットフォームサーバとのインタフェースを介して随時取得することができるため、プラットフォームサーバは、ミニプログラムパッケージを送信する権限の管理が厳しくないという問題がある。
【0028】
図2は本開示の実施例に係るミニプログラムパッケージ送信方法のフローチャートである。第1の方面において、
図2を参照して、本開示の実施例のミニプログラムパッケージ送信方法は、以下のステップを含んでもよい。
【0029】
S110において、ホストサーバからのミニプログラムパッケージ取得要求に応答して、ミニプログラムパッケージ取得要求のミニプログラムのIDを取得する。
【0030】
S120において、IDが本プラットフォームサーバが予めホストサーバに送信したミニプログラムパッケージIDであると検証された場合、ミニプログラムのミニプログラムパッケージをホストサーバに送信し、異なるホストサーバの同一のミニプログラムに対して送信されるミニプログラムパッケージIDは異なる。
【0031】
本開示の実施例に基づいたミニプログラムパッケージ送信方法によれば、プラットフォームサーバはホストサーバからのミニプログラムパッケージ取得要求を受信した後、ミニプログラムパッケージ取得要求から当該要求におけるミニプログラムIDを取得し、当該IDが本プラットフォームサーバがホストサーバに予め送信したミニプログラムパッケージIDであることが検証された場合にはじめて、ミニプログラムのミニプログラムパッケージをホストサーバに送信することができる。
【0032】
このミニプログラムパッケージ送信方法では、異なるホストサーバの同一のミニプログラムのミニプログラムパッケージIDが異なる、すなわち、ミニプログラムパッケージIDが、異なるホストサーバの異なるミニプログラムのミニプログラムパッケージを識別することで、異なるホストサーバ間のミニプログラムのミニプログラムパッケージIDにより、権限管理の効果を達成し、ミニプログラムパッケージ送信中のセキュリティ管理を向上させることができる。
【0033】
幾つかの実施例において、ステップS110の前に、方法は、ホストサーバからのミニプログラム情報取得要求に応答して、少なくとも1つのミニプログラムのミニプログラム情報と対応するプログラムIDとを取得するステップS11と、前記ミニプログラムのプログラムIDに基づいてミニプログラムパッケージIDを生成し、各ミニプログラムのプログラムIDは前記ミニプログラムパッケージIDのうちの1つに対応し、かつ異なるホストサーバによって生成される同一のミニプログラムのミニプログラムパッケージIDは異なるステップS12と、少なくとも1つのミニプログラム情報と各ミニプログラムのミニプログラムパッケージIDとをホストサーバに送信するステップS13とをさらに含む。
【0034】
一実施例において、少なくとも1つのミニプログラムのミニプログラム情報は、情報リストまたは情報集合の形態であってもよい。本開示の実施は、ミニプログラム情報の具体的な形式を具体的に限定しないと理解されるべきである。
【0035】
当該実施例において、ホストサーバにミニプログラムパッケージを送信する前に、ホストサーバからのミニプログラム情報取得要求に応答して、各ホストに送信される少なくとも1つのミニプログラム情報における各ミニプログラムに対応するappkeyのために、各ミニプログラムのappkeyに対応するミニプログラムパッケージID(openBundleId)を生成し、異なるホストサーバに対し生成される同一のミニプログラムのミニプログラムパッケージIDが異なり、各ホストサーバはそれ自体が受信したミニプログラムパッケージIDを使用して、ホストサーバに対しミニプログラムパッケージ取得要求を開始してもよく、それにより、権限管理を強化する効果に達し、そのミニプログラムパッケージ送信におけるセキュリティ管理を向上させる。
【0036】
一例として、ホストサーバAについて、プラットフォームサーバから取得したミニプログラムのプログラムIDはappkey1、appkey2とappkeyであり、生成された各プログラムIDに対応するミニプログラムパッケージIDはそれぞれ、openBundleId1、openBundleId2とopenBundleId3である。
【0037】
一実施例において、S13において送信されるミニプログラムパッケージIDは暗号化されたミニプログラムパッケージIDである。ステップS12において、前記ミニプログラムのプログラムIDに基づいてミニプログラムパッケージIDを生成するステップの後、本開示のミニプログラムパッケージ送信方法は、以下のステップをさらに含んでもよい。
【0038】
S12-01において、所定の秘密鍵を使用して各ミニプログラムのミニプログラムパッケージIDを暗号化して、暗号化されたミニプログラムパッケージIDを取得し、各ホストサーバに対する所定の秘密鍵は異なり、各ホストサーバの所定の秘密鍵は本プラットフォームサーバに保存され、且つホストサーバの所定の秘密鍵は非公開状態である。
【0039】
当該実施例において、ホストサーバからのミニプログラムパッケージ取得要求に応答して取得したミニプログラムパッケージ取得要求内の暗号化されたミニプログラムIDは、プラットフォームサーバがホストサーバ毎に予め生成した暗号化された鍵であってもよく、ミニプログラムパッケージIDを暗号化して得られた暗号化されたミニプログラムパッケージIDである。
【0040】
当該実施例において、プラットフォームサーバは各ホストサーバに対し、少なくとも1つのミニプログラムにおける各ミニプログラムのappkeyに対応する暗号化されたopenBundleIdを生成し、各暗号化されたopenBundleIdは所定の秘密鍵によって暗号化して得ることができ、ホストサーバは自己の秘密鍵を保管し、各ホストサーバの公開鍵はホストプラットフォームサーバに保管され、かつ各ホストサーバの公開鍵はどのホストサーバにも公開しないことができる。
【0041】
一例として、プラットフォームサーバは、各ホストサーバに対して異なる公開鍵および秘密鍵を生成し、ホストサーバの公開鍵を所定の秘密鍵として使用して、ホストサーバに送信されるミニプログラムのopenBundleIdを暗号化することができ、各ホストサーバの公開鍵をプラットフォームサーバに保存し、外部に公開しない。
【0042】
一例として、プラットフォームサーバは、各ホストサーバに対して1つの秘密鍵を単独で生成し、単独で生成された秘密鍵を使用して、ホストサーバに送信されるミニプログラムのopenBundleIdを暗号化するようにしてもよく、各ホストサーバのために単独で生成した秘密鍵をプラットフォームサーバに保存し、外部に公開しない。
【0043】
ホストサーバAの少なくとも1つのミニプログラムのミニプログラム情報と、少なくとも1つのミニプログラムの各ミニプログラムの暗号化されたopenBundleIdとをホストサーバに送信した後、ホストサーバは、暗号化されたopenBundleIdを復号することなく、ターゲットミニプログラムを再選択した後、ターゲットミニプログラムの暗号化されたopenBundleIdを付帯したミニプログラムパッケージ取得要求を生成し、ミニプログラムパッケージ取得要求をプラットフォームサーバに送信する。
【0044】
異なるホストサーバに対し、各ミニプログラムのミニプログラムパッケージIDを暗号化する秘密鍵はホストサーバに保存され、外部に公開されないため、ホストサーバAのミニプログラムの暗号化されたopenBundleIdがホストサーバBにより取得されたとしても、ホストサーバBは、ホストサーバAのミニプログラムのopenBundleIdを暗号化する秘密鍵を得ることができないため、暗号化されたopenBundleIdを復号することができず、ミニプログラムのプラットフォームサーバにアクセスして、ミニプログラムパッケージを取得することもできず、それにより、ホストサーバBがホストサーバAのミニプログラムのopenBundleIdを取得して、ホストサーバAのミニプログラムパッケージを取得するというセキュリティリスクを低減させ、ミニプログラムパッケージ送信過程の安全性を向上させ、ホストサーバの合法な利益が保障される。
【0045】
一実施例では、S13で送信されたミニプログラムパッケージIDは有効状態のミニプログラムパッケージIDであり、ステップS12における前記ミニプログラムのプログラムIDに基づきミニプログラムパッケージIDを生成するステップの後、本開示のミニプログラムパッケージ送信方法は、以下のステップをさらに含んでもよい。
【0046】
S21において、失効処理条件を満たすミニプログラムパッケージIDに対し、対応する新しいミニプログラムパッケージIDを生成し、各ミニプログラムの新しいミニプログラムパッケージIDを取得し、S23において、新しいミニプログラムパッケージIDの有効状態を設定し、失効処理条件を満たすミニプログラムパッケージIDを失効状態に設定する。
【0047】
失効処理条件は少なくともミニプログラムパッケージIDの生成時間から現在までの時間が予め設定された有効時間を超えることと、本プラットフォームーバのサーバ情報が変更されることと、および本プラットフォームサーバの予め設定されたトラフィック異常情報が監視されることのうちの少なくとも1つを含む。
【0048】
当該実施例において、openBundleIdは時効性を有する。
【0049】
例えば、生成されたopenBundleIdが予め設定されたTTL(Time to Live)に達するとき、ミニプログラム情報を再度下り送信しなければならず、ミニプログラム情報が再度下り送信される場合、再生成された各ミニプログラムのappkeyに対応するopenBundleIdが下り送信される。本開示の予め設定されたTTLは、1つの時間帯、例えば1日以上1ヶ月以下であってもよく、本開示の実施例はTTLの具体的な時間長を限定せず、実際の場面に応じて確定してもよい。
【0050】
また例えば、プラットフォームサーバは、本プラットフォームサーバのサーバ情報に変更が生じた場合、或いは本プラットフォームサーバの所定のトラフィック異常情報を監視した場合に、各ミニプログラムのappkeyに対応するopenBundleIdを再度生成してもよい。サーバ情報の変更には、例えば、サーバの機器ID、ネットワークアドレスなどの情報に変更が生じることを含む。
【0051】
当該実施例において、openBundleIdは可変性も有する。つまり、一定の時間またはミニプログラムのホストプラットフォームの変更を経た後に下り送信するミニプログラムパッケージのミニプログラムパッケージIDが変化する。openBundleIdの時効性と可変性によりopenBundleIdの安全属性を向上させる。
【0052】
一実施例において、S23において、失効処理条件を満たすミニプログラムパッケージIDを失効状態に設定するステップの前に、本開示のミニプログラムパッケージ送信方法は、現在から、対応する新しいミニプログラムパッケージIDを生成するまでの時間が、所定の移行時間に達すること確定することをさらに含んでもよい。
【0053】
つまり、新しいミニプログラムパッケージIDを有効状態に設定した後、所定の移行時間をおいてから、失効条件を満たすミニプログラムパッケージIDを無効状態に設定する。
【0054】
当該実施例において、TTLの設定に従ってopenBundleIdを定期的に置き換えるとき、新しいミニプログラムパッケージIDが生成された後、即時に有効になり、この場合、前に生成されたopenBundleIdを即時に無効状態に設定すると、ホストがローカルのopenBundleIdをすみやかに更新するまで、前に生成されたopenBundleIdを用いてミニプログラムパッケージを取得することに失敗する可能性があるため、使用されたopenBundleIdが失効する前にホストサーバがミニプログラムパッケージのダウンロード更新を行うことを保証するために、予め設定された移行時間の間、前に生成されたunbundledと新たに生成されたopenBundleIdの有効性を残すことができ、これにより、ミニプログラムパッケージのダウンロード効率と柔軟性を向上させることができる。
【0055】
本開示の実施例における所定の移行時間は、ホストサーバに下り送信されるミニプログラムに係るサービスに応じて確定することができる。例示的に、当該所定の移行時間は、1時間または2時間のような時間レベルであってもよく、具体的には、実際の応用場面に応じて設定されてもよく、本開示の実施例において具体的に限定しない。
【0056】
一実施例において、失効処理条件を満たすミニプログラムパッケージIDに対して、対応する新しいミニプログラムパッケージIDを生成した後、本開示のミニプログラムパッケージ送信方法はさらに以下のステップを含んでもよい。
【0057】
S31において、各ミニプログラムのミニプログラムパッケージIDに基づいて対応するアプリケーションIDを生成し、同一のプログラムIDが異なる生成時間に対応するミニプログラムパッケージIDは同一のアプリケーションIDを有する。
【0058】
当該実施例において、S13における少なくとも1つのミニプログラム情報と各ミニプログラムのミニプログラムパッケージIDとをホストサーバに送信するステップは、具体的には、少なくとも1つのミニプログラム情報、各ミニプログラムのミニプログラムパッケージIDと対応するアプリケーションIDを前記ホストサーバに送信するステップを含んでよい。
【0059】
当該実施例において、対応するアプリケーションIDは、各ミニプログラムのミニプログラムパッケージIDに対応するアプリケーションIDであってもよい。
【0060】
当該実施例において、一定期間後またはミニプログラムホストプラットフォームの変更後、下り送信したミニプログラムパッケージのopenBundleIdに変更が生じることを考慮して、1つ以上のミニプログラム情報を下り送信すると同時に、一意的なIDを持つアプリケーションID(openAppId)を下り送信し、当該アプリケーションIDは異なる時間で生成された同一のミニプログラムのopenBundleIdの一意性を示すのに用いられる。
【0061】
少なくとも1つのミニプログラムのミニプログラム情報、少なくとも1つのミニプログラムの各ミニプログラムのopenBundleIdと各ミニプログラムのopenBundleIdに対応するopenAppIdをホストサーバに送信することにより、ホストサーバは、複数のopenBundleIdが異なる時間帯において同一のopenAppIdに対応することを識別するのに用いられる。
【0062】
理解を容易にするために、
図3は、本開示の実施例におけるopenAppIdとopenBundleIdの関係モデル模式図である。
【0063】
図3に示されるように、openBundleId1が、ミニプログラムのプログラムがapp key1に対応するミニプログラムパッケージIDを表すと仮定する場合、openBundleId1n、……、openBundleId12、……、openBundleId1n(nは1以上の整数である)は、毎回プラットフォームサーバによって、指定されたホストサーバに下り送信した同一のミニプログラムの異なる時間帯のミニプログラムパッケージIDを表し、かつ、複数のopenBundleIdは異なる時間帯において1つのopenAppIdに対応する。
【0064】
当該実施例において、プラットフォームサーバからホストサーバにミニプログラム情報を送信する場合、ミニプログラム情報は、暗号化されたopenBundleIdおよびopenBundleIdに対応するopenAppIdと共に下り送信される。下表1は、本開示の例示的な実施例における、プラットフォームサーバからホストサーバに送信するミニプログラム情報の主な内容を模式的に表す。
【表1】
【0065】
幾つかの実施例において、ミニプログラム情報の内容は、例えば、ミニプログラム名、ミニプログラム画像とミニプログラムの文字紹介などの情報をさらに含んでもよく、本開示の実施例はこれについて限定しない。
【0066】
上表1は、少なくとも1つのミニプログラム情報のうちの1つのミニプログラム情報、暗号化されたopenBundleIdおよびopenBundleIdに対応するopenAppIdを例示的に示す。
【0067】
当該実施例において、複数のopenBundleIdが異なる時間帯で対応する1つのopenAppIdにより、ユーザがミニプログラム情報と暗号化されたopenBundleIdを取得した後、異なる時間帯で取得したopenBundleIdが同一のミニプログラムのopenBundleIdであることを容易に認識することができ、システムの使いやすさとミニプログラムパッケージのダウンロード効率を向上させる効果を奏する。
【0068】
一実施例において、ステップS110におけるミニプログラムパッケージ取得要求におけるミニプログラムIDの取得ステップの後に、ミニプログラムパッケージ送信方法は、以下のステップをさらに含んでもよい。
【0069】
S41において、ミニプログラムパッケージ取得要求中のデジタル署名証明書を取得する。
【0070】
ステップS120におけるミニプログラムのミニプログラムパッケージをホストサーバに送信するステップは、本プラットフォームサーバが予め記憶しているホストサーバの非対称暗号秘密鍵を用いてデジタル署名証明書を検証するステップをさらに含んでもよく、デジタル署名証明書の検証に成功した場合、ミニプログラムのミニプログラムパッケージをホストサーバに送信する。
【0071】
一実施例において、デジタル署名証明書を生成する際にホストサーバによって使用される秘密鍵は、プラットフォームサーバがパッケージ管理システム(Package Manager Service,PMS)を介してプラットフォームサーバによって動的に下り送信した秘密鍵であってもよく、当該秘密鍵は時効性を有し、この時効性を超える秘密鍵に対し、プラットフォームサーバは、デジタル署名証明書を生成するのに用いられる秘密鍵を再度下り送信することができる。当該実施例において、PMSは、プラットフォームサーバで実行される過程においてミニプログラムパッケージを配置とダウンロードするためのシステムサービスであってよい。
【0072】
一実施例において、プラットフォームサーバは、ホストサーバからのミニプログラムパッケージ取得要求に応答して、ミニプログラムパッケージ取得要求におけるミニプログラムIDとデジタル署名証明書を取得し、IDが、本プラットフォームサーバが予めホストサーバに送信したミニプログラムパッケージIDであることが検証され、デジタル署名証明書の検証が成功した場合、ミニプログラムのミニプログラムパッケージをホストサーバに送信することができる。
【0073】
当該実施例におけるミニプログラムパッケージ送信方法において、異なるホストサーバの同一のミニプログラムに対して送信されるミニプログラムパッケージIDが異なるため、ホストサーバは、当該ホストサーバのミニプログラムのappkeyの暗号化されたopenBundleIdとデジタル署名証明書を提供してからでなければダウンロード要求のあった対応するミニプログラムパッケージを取得することができない。
【0074】
一実施例において、デジタル署名とびデジタル署名を検証する過程は、例えば、ホストサーバが、それ自体の非対称暗号秘密鍵を使用して、ミニプログラムパッケージ取得要求に含まれる内容に対しデジタル署名を行うことを含んでもよく、プラットフォームサーバが、ホストサーバによって送信されたミニプログラムパッケージ取得要求を受信した後、ホストサーバの非対称暗号公開鍵によってデータ署名を検証し、デジタル署名によってミニプログラムパッケージ取得要求を送信したホストサーバに対しアイデンティティ認証を行い、これにより、ミニプログラムパッケージ取得要求に含まれるopenBundleIdまたは暗号化されたopenBundleIdの合法性を検証し、検証に通った場合、ミニプログラムパッケージの下り送信を許可し、ミニプログラムパッケージ送信過程の安全性を向上させる。
【0075】
幾つかの実施例において、ステップS110の前に、ミニプログラムパッケージ送信方法は、以下のステップをさらに含んでもよい。
【0076】
S51において、ホストサーバのデータチャネル確立要求に応答して、本プラットフォームサーバとホストサーバとの間で双方向アイデンティティ認証を行う。S52において、双方向アイデンティティ認証に通った場合、ホストサーバのクライアントIDを記憶し、本プラットフォームサーバとホストサーバとの間の安全なデータ伝送チャネルを確立し、クライアントIDは、ホストサーバを一意的に識別するために用いられ、かつホストサーバのクライアントIDは本プラットフォームサーバのSDK(Software Development Kit)の閉鎖ソース部分に記憶される。
【0077】
幾つかの実施例において、上述のステップS51~S52はステップS11の前に、すなわち、本プラットフォームサーバがホストサーバからのミニプログラム情報取得要求に応答して、少なくとも1つのミニプログラムのミニプログラム情報と対応するプログラムIDを取得する前に行われてもよい。つまり、安全データチャネルを確立してから、ホストサーバからのミニプログラム情報取得要求を受信し、これにより、ミニプログラム情報取得段階で安全データの保護を開始し、システムセキュリティ管理を向上させることができる。
【0078】
当該実施例において、ホストサーバはプラットフォームサーバにミニプログラムパッケージ取得要求を送信する前に、まず、安全なデータ伝送チャネルを確立する必要があり、安全なデータ伝送チャネルを確立する過程において、本プラットフォームサーバとホストサーバとの間で双方向アイデンティティ認証を行い、認証を経たホストサーバのアイデンティティID(ClientID)は、本プラットフォームサーバミニプログラムフレームSDKの閉源部分に記憶されることができる。これにより、安全なデータ伝送チャネルを介して通信コンテンツを暗号化することができる。
【0079】
以下、一例として、本プラットフォームサーバとホストサーバとの間の安全なデータ伝送チャネルの確立過程を説明する。
【0080】
S201において、ホストサーバはプラットフォームサーバを介してトークン(Token)情報を取得する。
【0081】
例示的に、ホストサーバがユーザ名パスワードでプラットフォームサーバにログインした後、Tokenを取得する要求をプラットフォームサーバに送信し、プラットフォームサーバがホストサーバのユーザ名パスワードを認証した後、Tokenを発行してホストサーバに下り送信して、ホストサーバが当該Token要求に基づいてミニプログラムに下り送信するデータチャネルを確立する。
【0082】
一実施例において、プラットフォームサーバはアクセス秘密鍵ID(Access Key,AK)/暗号化したアクセス秘密鍵(Secret Access Key,SK)を通じて、ホストサーバのログイン認証に通った後、ホストサーバにTokenを送信して取得することができる。
【0083】
一実施例において、ホストサーバがプラットフォームサーバに最初に登録したとき、プラットフォームサーバは、当該プラットフォームサーバにAKとSKを割り当て、AKは各ホストサーバを表し、SKはプラットフォームサーバとホストサーバとの間の対照暗号化通信の秘密鍵とする。SK秘密鍵はプラットフォームサーバにまとめて保存され、ホストサーバに下り送信する必要がない。すなわち、ホストサーバの秘密鍵はプラットフォームサーバに保存され、その他のホストサーバには見えないが、その他のホストサーバは、当該ホストサーバのopenBundleIdを不法に取得しても復号できないため、ホストサーバとプラットフォームサーバが対称的に暗号化を行うセキュリティを強化することができる。
【0084】
一実施例において、本開示の実施例の暗号強度は高度暗号化標準(Advanced Encryption Standard,AEC)の暗号強度以上であり、例えばAES256ビット暗号である。例示的に、本開示の実施例において、AES暗号化した暗号ブロック連鎖(Cipher Block Chaining、CBC)モードを使用できる。
【0085】
S202において、ホストサーバはプラットフォームサーバにチャネル確立要求を送信し、その要求には暗号化されたホストサーバのアイデンティティIDが付帯されている。
【0086】
例示的に、ホストサーバのアイデンティティIDはホストサーバを一意的に識別するためのClientIDに用いられてよい。
【0087】
S203において、プラットフォームサーバはホストサーバのアイデンティティIDを解読して検証に成功した後、ホストサーバに応答メッセージを送信し、応答メッセージには暗号化されたプラットフォームサーバのアイデンティティIDとタグ(ticket)が付帯されている。
【0088】
S204において、ホストサーバはプラットフォームサーバのアイデンティティIDを解読して検証に成功した後、当該ticketに基づいて、プラットフォームサーバとの間のデータチャネルを確立する。
【0089】
上記S201~S204により、ホストサーバとプラットフォームサーバとの間で、双方向アイデンティティ認証後に安全なデータ伝送チャネルを確立することができる。例示的に、安全なデータ伝送チャネルが確立された後、当該データチャネル請求を介してミニプログラムパッケージをダウンロードするとき、当該ticketを提示する(当該ticketをチャネル秘密鍵とする)か、または、当該ticketを使用して送信した通信コンテンツを暗号化し、プラットフォームサーバは暗号化された通信コンテンツを復号した後、ホストサーバのアイデンティティを識別する。
【0090】
上記安全なデータ伝送チャネルを確立する過程において、ミニプログラムプラットフォームのsdkの一部は閉鎖ソースであり、改ざんすることはできず、ホストサーバのアイデンティティIDとプラットフォームサーバのアイデンティティIDは一意的な識別情報として、sdkに付帯されているため、ユーザアイデンティティの偽造を防止することができる。よって、仮に、ホストサーバAがホストサーバBのミニプログラム情報を盗んだり、シミュレーションによりホストサーバBの要求を取得したりしても、ホストサーバBのアイデンを偽造することができず、当該安全なデータ伝送チャネルを介して、ホストサーバBに対して下り送信したミニプログラムパッケージを取得することができず、ミニプログラムパッケージのダウンロードに安全保障を提供する。
【0091】
一実施例において、ホストサーバはHTTP (Hypertext Transport Protocol)に基づいてプラットフォームサーバに要求を送信することができる。ホストサーバとプラットフォームサーバとの間の安全なデータ伝送チャネルは、プラットフォームによってカスタマイズされた伝送層プロトコルを使用して、ホストサーバとプラットフォームサーバ間の通信に安全なプロトコルと基本ライブラリを提供できる。しかし、本開示の実施例は、カスタマイズされた伝送層プロトコルを使用することを必須とするものではなく、セキュリティ保証を提供できる任意の通信プロトコルが本開示の実施例に使用されると理解されるべきである。
【0092】
一実施例において、ステップS110は、具体的には以下のステップを含むことができる。
【0093】
S61において、予め確立された安全なデータ伝送チャネルを介して受信したホストサーバからのミニプログラムパッケージ取得要求に応答して、ミニプログラムパッケージ取得要求における暗号化された通信コンテンツを取得する。S62において、通信コンテンツを復号化し、かつ、ホストサーバのクライアントIDがホストサーバのアイデンティティ検証に成功した後、通信コンテンツ中のミニプログラムのIDを取得する。
【0094】
当該実施例において、ホストサーバはプラットフォームサーバにミニプログラムパッケージの取得を要求するとき、安全なデータ伝送チャネルを介してミニプログラムのappkeyに対応するopenBundleIdを暗号化する必要があってよく、一例として、上記安全なデータ伝送チャネルの確立過程において生成されたプラットフォームサーバとホストサーバとの間の対称暗号化通信の秘密鍵を用いて、openBundleIdを暗号化と復号化し、ホストサーバ間のそれぞれ対応する当該対称暗号化通信の秘密鍵は異なり、かつ、各ホストの当該対称暗号化通信の秘密鍵はプラットフォームサーバに保存され、その他のホストサーバに公開せず、これにより、各ホストサーバ毎に、対応するミニプログラムパッケージの取得中に安全なデータ伝送を実現し、ミニプログラムのプラットフォームサーバと合法的なホストとの間の有効なシステム通信と情報交換を保障する。
【0095】
一実施例において、ステップS110は具体的には以下のステップをさらに含んでもよい。
【0096】
S63において、安全なデータ伝送チャネルを介して受信したホストサーバからのミニプログラムパッケージ要求に応答して、ミニプログラムパッケージ取得要求内の暗号化された通信コンテンツを取得する。S64において、通信コンテンツを復号化し、かつ、ホストサーバのクライアントIDがホストサーバのアイデンティティ検証に成功した後、通信コンテンツ中のミニプログラムのIDとデジタル署名を取得する。
【0097】
当該実施例において、ホストサーバはプラットフォームサーバにミニプログラムパッケージの取得を要求するとき、安全なデータ伝送チャネルを介してミニプログラムのappkeyに対応するopenBundleIdとデジタル署名を暗号化する必要があり、これにより、各ホストサーバに対して、対応するミニプログラムパッケージ取得過程における安全なデータ転送およびアイデンティティ認証を実現し、ミニプログラムのプラットフォームサーバと合法的なホストとの間の効率的なシステム通信と情報交換を保障する。
【0098】
実際の応用においては、ホスト間でプラットフォームサーバを迂回して私的に共謀して、ミニプログラムパッケージを取得する問題が生じる可能性がある。例えば、ホストである法人の背後に張三がおり、張三が2つの会社AとBを有し、それぞれがホストサーバAとBに対応し、ホストサーバAとBは私的に共謀し、つまり、ホストサーバBがホストサーバAの秘密鍵とデジタル署名証明書を取得した後、ホストサーバAのopenBundleId、秘密鍵と署名証明書を用いて、ミニプログラム情報とミニプログラムパッケージを取得する。上記過程は、ホストサーバAとホストサーバBが共通の1組のアカウントを通じて私的に共謀すると理解できる。実際の応用場面において、原則的には私的に共謀するという操作は許されず、それはミニプログラムプラットフォームの利益を損ない、ミニプログラムアライアンスエコロジーに混乱を引き起こす。
【0099】
上記の状況を考慮して、本開示は、ホストサーバクライアントIDの検出および/またはトラフィック監視の方法にて処理する。
【0100】
一実施例において、ステップS110でホストサーバのミニプログラムパッケージ取得要求を受信するステップの後、ミニプログラムパッケージ送信方法には以下のステップをさらに含んでよい。S71において、安全なデータ伝送路チャネルを現在使用しているホストサーバを監視するクライアントIDが、本プラットフォームサーバに記憶された、安全なデータ伝送チャネルが確立された、対応するホストサーバのクライアントIDと一致しない場合、安全なデータ伝送チャネルを現在使用しているホストサーバが不法なホストサーバであることを確定する。S72において、不法なホストサーバに対して遮蔽処理を行う。
【0101】
当該実施例において、ホストサーバがミニプログラムをダウンロードするには、ミニプログラムフレームが必要となるため、ミニプログラムフレームを介してホストサーバの監視と報告メカニズムを起動し、不法なホストサーバのClientIDを監視および遮蔽する。
【0102】
一実施例において、ステップS120において、ミニプログラムのミニプログラムパッケージをホストサーバに送信した後、この方法はさらに次のステップを含む。
【0103】
S81において、所定期間内に受信したホストサーバのミニプログラムパッケージ取得要求の要求回数を監視して、第1の要求回数監視結果とする。S82において、各ミニプログラムの新しいミニプログラムパッケージIDを取得した後、所定期間内に受信した要求回数を継続的に監視して、第2の要求回数監視結果とする。S83において、第1の要求回数監視結果と第2の要求回数監視結果との差分値が所定の要求回数閾値を超えている場合、本プラットフォームサーバのトラフィック異常情報を得る。
【0104】
以上のステップS81~S83により、各ミニプログラムパッケージのダウンロード回数のホストディメンションを監視し、openBundleIdにより定期的に置き替えてトラフィックを監視することができる。openBundleIdを再び下り送信した後、ホストサーバは新しいopenBundleIdに従ってミニプログラムパッケージ取得要求を再開する必要があるため、私的な共謀を処理する場合、ホストサーバAが新しいopenBundleIdとそれ自体のアカウントをホストサーバBに送信するのにある程度の時間を要し、その間、プラットフォームサーバのミニプログラムパッケージ取得要求に対応するトラフィックが、例えば、大幅に減少するなど変動し、第1の要求回数の監視結果と第2の要求回数の監視結果との間の差分値が所定の要求回数閾値を超えることにより、トラフィック異常状況が発生する現在の確率を判断することができる。
【0105】
一実施例において、ホストサーバは本プラットフォームサーバによって予め設定されたホワイトリスト内のホストサーバであり、かつ、ホストサーバのミニプログラムパッケージ取得要求に対応するトラフィックが所定のトラフィック閾値範囲内である場合、ステップS120において、ミニプログラムのミニプログラムパッケージをホストサーバに送信することは、指定された少なくとも1つのミニプログラムのミニプログラムパッケージをホストサーバに送信することを含む。
【0106】
当該実施例において、一部のホストサーバがプラットフォームサーバに一時的にアクセスすることを考慮して、プラットフォームサーバは、ホワイトリストとトラフィック割当を構成することによって一部のデフォルトで提供可能なミニプログラムパッケージを取得することができ、これにより、一部のホストの一時的なアクセス特性に応じてミニプログラムパッケージの送信を柔軟に処理する。例えば、プラットフォームサーバとホストサーバとの間のミニプログラムパッケージの送信に直接関するコラボレーション実験などの応用場面に使用できる。
【0107】
以下、
図4を用いて、本開示の例示的な実施例におけるミニプログラムの情報取得とミニプログラムパッケージを取得する具体的な流れについて説明する。
【0108】
図4は、本開示の例示的な実施例におけるシステムフレームワークの概略図であり、
図1と同一または同等の構造には同一の符号を用いる。
図4において、当該システムフレームワークは、ホストサーバ20と、プラットフォームサーバ30と、内部ホストサーバ40と、ホストアプリケーション50とを含む。
【0109】
本プラットフォームサーバ30が提供するミニプログラムは、所定数を超えるアフィリエイト対象のアプリケーション上での動作をサポートできるものであり、本プラットフォームサーバ30が提供するミニプログラムの実行時に依存する各アプリケーションは、アフィリエイトのホストとも言える。
【0110】
幾つかの実施例において、ホストサーバ20は、ホストアプリケーション50のバックグラウンドで動作するサーバである。ホストアプリケーション50は、1つ以上のホストアプリケーションを実行し、例えば、ホストアプリケーション1、ホストアプリケーション2、……、ホストアプリケーションnを実行することができる(nは1以上の整数)。
【0111】
例として、上述した通り、ホストアプリケーションは、ソーシャルアプリケーション、地図アプリケーション、ビデオアプリケーション、検索およびリソース類アプリケーションなどであってもよく、無線ネットワーク(WIFI)ホットスポット取得およびネットワーク接続確立アプリケーションであってもよい。
【0112】
幾つかの実施例において、ホストサーバ50は、伝送層プロトコルモジュールを統合するミニプログラムSDKをさらに含んでもよく、例えば、ミニプログラムパッケージ取得要求を送信する前に、当該伝送層プロトコルによりプラットフォームサーバ30との間に安全なデータ伝送チャネルを確立するために、プラットフォームがカスタマイズした伝送層プロトコルを統合する。
【0113】
幾つかの実施例において、プラットフォームサーバ30は、ミニプログラム情報を提供し、ミニプログラムパッケージをダウンロードするサーバである。
図4に示すように、プラットフォームサーバ30は、チャネル確立モジュール31と、ミニプログラム下り送信モジュール32と、情報登録モジュール33と、マテリアル下り送信モジュール34と、openBundleIdサービスモジュール35と、パッケージダウンロード管理モジュール36と、ミニプログラムサービスモジュール37と、監視サービスモジュール38とを含む。
【0114】
図4に示されるように、一実施例において、ミニプログラム情報配信段階において、プラットフォームサーバ30は、ホストサーバ20の情報登録要求に応答して、情報登録モジュール33を介してホストサーバ20に情報登録サービスを提供し、ホストサーバ20を正式なユーザとして登録して、正式なユーザのアイデンティティを通じてホストサーバ20が後でプラットフォームサーバ30との間に安全なデータ伝送チャネルを確立し、ホストサーバ20にミニプログラム情報取得要求とミニプログラムパッケージの取得要求を送信する。
【0115】
一実施例において、ミニプログラム情報の下り送信段階において、プラットフォームサーバ30は、ホストサーバ20の安全なデータ伝送チャネル確立要求に応答して、チャネル確立モジュール31を介して、プラットフォームサーバ30とホストサーバ20との間に安全なデータ伝送チャネルを確立し、安全なデータ伝送チャネルの確立中に双方向のアイデンティティ認証を行う。
【0116】
当該実施例において、説明を簡単にするために、本プラットフォームサーバとホストサーバとの間の安全なデータ伝送チャネルの確立過程は、前述の実施例の説明を参照することができ、ここでは改めて説明しない。
【0117】
一実施例において、ミニプログラム情報下り送信段階において、プラットフォームサーバ30は、ホストサーバ20のミニプログラム情報取得要求に応答して、openBundleIdサービスモジュール35を介して、ホストサーバ20に送信されるミニプログラムのミニプログラム情報リストを生成し、かつ、当該ミニプログラム情報取得要求を送信したホストサーバ20に対し、各ミニプログラムのappkeyに対応する暗号化されたopenBundleIdを生成し、オブジェクト下り送信モジュール34によってミニプログラム情報リスト、各ミニプログラムのappkeyに対応する暗号化openBundleIdをホストサーバ20に送信する。
【0118】
当該実施例において、openBundleIdサービスモジュール35は、所定のアルゴリズムにより、各ミニプログラムのプログラムIDに対応する暗号化ミニプログラムパッケージIDを生成してもよい。当該所定のアルゴリズムは、各ミニプログラムのappkeyと対応する暗号化されたopenBundleIdのIDとの対応関係および暗号化された秘密鍵の関係(Keyと秘密鍵の関係)を示すものである。
【0119】
言い換えれば、openBundleIdサービスモジュール35は、ホストサーバに基づいて単独で各ミニプログラムのappkeyに対応するopenBundleIdを個別に生成することに用いられ、異なるホストサーバ間の同一のミニプログラムのappkeyに対応するopenBundleIdが異なる。これにより、後続段階において、オブジェクト下り送信モジュール34によってミニプログラムを下り送信する際に、各ミニプログラムのappkeyを対応するopenBundleIdに置き換える。
【0120】
一実施例では、ミニプログラム情報配信段階において、ホストサーバによって送信されたミニプログラム情報取得要求に応答して、オブジェクト下り送信モジュール34は、少なくとも1つのミニプログラム情報と各ミニプログラムのミニプログラムパッケージIDをホストサーバに送信する。例として、少なくとも1つのミニプログラム情報は、ミニプログラム名、ミニプログラムの画像、ミニプログラムの説明等の情報を含んでもよい。
【0121】
一実施例において、ミニプログラム情報下り送信段階では、ホストサーバによって送信されたミニプログラム情報取得要求に応答して、ミニプログラム下り送信モジュール32によって構成ファイルを読み込むことでミニプログラムが引用する動的ライブラリを確定し、ミニプログラムが引用する動的ライブラリをホストサーバ20に下り送信してロードしてよい。
【0122】
一実施例では、ホストアプリケーションは、内部ホストサーバ40、つまり、プラットフォームサーバのプロバイダまたはミニプログラムの開発者によって提供される、ホストアプリケーションに対応するクライアントをさらに含んでもよい。
図4に示すように、一例として、内部ホストサーバ40は、音楽再生ソフトウェアの音楽コンテンツの広場などの応用コンテンツの広場や検索お薦めなどの応用場面を提供してもよく、本開示の実施例はこれについて特に限定せず、内部ホストサーバ40が提供できる応用場面は、実際の応用需要に応じて柔軟に調整することができる。
【0123】
一実施例において、プラットフォームサーバ30のミニプログラムサービスモジュール37は、指定されたミニプログラムサービスを提供することができ、例えば、ミニプログラムの共有リンクを提供し、ミニプログラムの二次元コードを提供し、またはミニプログラムのお薦めリンクを提供することができる。
【0124】
一実施例において、プラットフォームサーバ30のパッケージダウンロード管理モジュール36は権限制御に用いられる。例えば、異なるホストアプリケーションがダウンロードできるミニプログラムパッケージは異なり、異なるホストアプリケーションが使用できるミニプログラムサービスは異なるように制御する。
【0125】
一実施例において、ユーザは、ホストアプリケーション50上で実行されるホストアプリケーションを介して、プラットフォームサーバ30にミニプログラムパッケージ取得要求を送信し、ミニプログラムパッケージ取得要求は、予め確立された伝送層安全通信プロトコルに基づく安全なデータ伝送チャネルによって、プラットフォームサーバのパッケージダウンロード管理モジュール36に送信される要求であり、要求にはopenBundleIdが付帯されている。例として、要求にはデジタル署名証明書をさらに付帯することができる。
【0126】
パッケージダウンロード管理モジュール36は、サポートされている安全な伝送層安全通信プロトコルを介して、安全なデータ伝送チャネルから当該ミニプログラムパッケージ取得要求を受信し、当該要求に付帯されている暗号化された情報を復号することでopenBundleIdを取得する。IDが本プラットフォームサーバによってホストサーバに予め送信されたミニプログラムパッケージIDであることが検証された場合、ミニプログラムのミニプログラムパッケージをホストサーバに送信する。
【0127】
一実施例において、要求にデジタル署名証明書が付帯されている場合、パッケージダウンロード管理モジュール36はさらに、IDが、本プラットフォームサーバが予めホストサーバに送信したミニプログラムパッケージIDであること検証することに用いられ、かつ、デジタル署名証明書が通ったことを検証した場合、ミニプログラムのミニプログラムパッケージをホストサーバに送信する。
【0128】
図4に示すように、一実施例において、プラットフォームサーバ30は監視サービスモジュール38を介して、異常トラフィック監視とホストサーバのクライアントIDのためのチェックサービスを提供することができ、当該異常なトラフィック監視とホストサーバのクライアントIDのチェックサービスの具体的な過程は、本明細書で前述した実施例のステップS71~S72に記載のミニプログラムパッケージの下り送信する過程における、ミニプログラムフレームにより、ホストサーバに対し監視および報告メカニズムの処理プロセスを開始する。また、ステップS81~S83に記載のホストサーバのホストアプリケーションが送信したミニプログラムパッケージ取得要求のトラフィックにより、異常監視の処理プロセスを行うが、本開示の実施例では改めて説明しない。
【0129】
本開示の実施例に基づいたミニプログラムパッケージ送信方法は、各ホストサーバに対して各ミニプログラムのプログラムIDに対応するミニプログラムパッケージIDを個別に生成し、かつ、異なるホストサーバの同一のミニプログラムに対して送信されるミニプログラムパッケージIDは異なり、異なるホストサーバがミニプログラムパッケージをダウンロードする権限の管理を強化する。
【0130】
要求に付帯されているデジタル署名証明書を検証することにより、デジタル署名証明書の検証に成功した場合、ミニプログラムのミニプログラムパッケージをホストサーバに送信し、これにより、ミニプログラム情報取得要求に付帯されているopenBundleIdの合法性は、アイデンティティ検証を通じて検証することによって取得され、ミニプログラムパッケージを送信する過程の安全性を向上させる。
【0131】
本プラットフォームサーバとホストサーバとの間に安全なデータ伝送チャネルを確立し、安全なデータ伝送チャネルを確立する過程で双方向アイデンティティ認証を行い、ホストの身分IDをカプセル化することで、あるホストサーバが他のホストの情報を盗むことでミニプログラムパッケージの取得を要求することを防止し、ミニプログラムパッケージのダウンロードの安全を保障する。
【0132】
ホストサーバクライアントIDの検出とトラフィック監視により、ホスト間でプラットフォームサーバを迂回して実施される私的に共謀する状況を効果的に監視することができ、ミニプログラムパッケージのプラットフォームサーバと合法なホストとの間の効果的なシステム通信および情報交換を保障することができる。
【0133】
本開示の上記実施例に記載のミニプログラムパッケージ送信方法によれば、ホストがミニプログラムパッケージを配信する過程における不正行為、アイデンティティのなりすまし、権限制御などの問題を解決することができ、ミニプログラムのホストの配信のエコロジーを規範化するための完全な要求配信計画を提供できる。本開示のミニプログラムパッケージ送信方法により、ホスト、ミニプログラムをBaiduミニプログラムプラットフォームを効率的に関係づけることができ、不正行為によるミニプログラムパッケージを取得する敷居を上げ、ミニプログラムの商業的利益の安全性を保証し、アライアンスエコロジーの構築において極めて重要な役割を果たす。
【0134】
図5は、本開示の実施例が提供するミニプログラムパッケージ送信装置の構成ブロック図である。
【0135】
第2の方面において、
図5を参照して、本開示の実施例は、以下のモジュールを含むことのできる、ミニプログラムパッケージ送信装置を提供する。
【0136】
パッケージ取得要求受信モジュール510は、ホストサーバからのミニプログラムパッケージ取得要求に応答して、ミニプログラムパッケージ取得要求内のミニプログラムIDを取得する。
【0137】
ミニプログラムパッケージモジュール520は、IDが、本プラットフォームサーバがホストサーバに予め送信したミニプログラムパッケージパッケージIDであることが検証された場合、ミニプログラムのミニプログラムパッケージをホストサーバに送信し、異なるホストサーバの同一のミニプログラムに対して送信されるミニプログラムパッケージIDは異なる。
【0138】
本開示の実施例に係るミニプログラムパッケージ送信装置によれば、プラットフォームサーバは、ホストサーバからのミニプログラムパッケージ取得要求を受信した後、ミニプログラムパッケージ取得要求から当該要求におけるミニプログラムのIDを取得し、当該IDが本プラットフォームサーバがホストサーバに予め送信したミニプログラムパッケージのIDであることを検証してからミニプログラムのミニプログラムパッケージをホストサーバに送信することができ、これにより、異なるホストサーバ間のミニプログラムのミニプログラムパッケージIDにより、権限管理の強化という効果に達し、ミニプログラムパッケージ送信における安全管理を向上させる。
【0139】
幾つかの実施例において、ミニプログラムパッケージ送信装置は、ホストサーバからのミニプログラムパッケージ取得要求に応答して、ミニプログラムパッケージ取得要求内のミニプログラムIDを取得する前に、ホストサーバからのミニプログラム情報取得要求に応答して、少なくとも1つのミニプログラムのミニプログラム情報と対応するプログラムIDを取得する情報取得要求受信モジュールと、前記ミニプログラムのプログラムIDに基づいてミニプログラムパッケージIDを生成するミニプログラムパッケージID生成モジュールと、少なくとも1つのミニプログラム情報と各ミニプログラムのミニプログラムパッケージIDをホストサーバに送信するミニプログラムパッケージID送信モジュールと、をさらに含んでもよく、各ミニプログラムのプログラムIDは1つの前記ミニプログラムパッケージIDに対応し、かつ、異なるホストサーバによって生成された同一のミニプログラムのミニプログラムパッケージIDは異なる。
【0140】
幾つかの実施例において、送信されるミニプログラムパッケージIDは暗号化されたミニプログラムパッケージIDであり、ミニプログラムパッケージ送信装置は、前記ミニプログラムのプログラムIDに基づいてミニプログラムパッケージIDを生成した後、各ミニプログラムのミニプログラムパッケージIDを所定の秘密鍵を用いて暗号化して暗号化されたミニプログラムパッケージIDを得るミニプログラムパッケージID暗号化モジュールをさらに含んでもよく、各ホストサーバの所定の秘密鍵は異なり、各ホストサーバの所定の秘密鍵は本プラットフォームのサーバに保存され、かつ、ホストサーバの所定の秘密鍵は非公開状態である。
【0141】
幾つかの実施例において、送信されたミニプログラムパッケージIDは有効状態のミニプログラムパッケージIDであり、ミニプログラムパッケージ送信装置は、失効処理条件を満たすミニプログラムパッケージIDに対して、対応する新しいミニプログラムパッケージIDを生成し、各ミニプログラムの新しいミニプログラムパッケージIDを取得するミニプログラムパッケージID更新モジュールと、新しいミニプログラムパッケージIDの有効状態を設定し、失効処理条件を満たすミニプログラムパッケージIDを失効状態に設定する失効状態設定モジュールと、をさらに含んでもよく、失効処理条件は、ミニプログラムパッケージID生成時間から現在までの時間が予め設定された有効時間を超えると、本プラットフォームのサーバのサーバ情報に変更が発生すること、および本プラットフォームサーバの所定のトラフィック異常情報を監視することのうちの少なくとも1つを含む。
【0142】
幾つかの実施例において、ミニプログラムパッケージ送信装置は、前記失効処理条件を満たすミニプログラムパッケージIDを失効状態に設定する前に、現在から対応する新しいミニプログラムパッケージIDを生成するまでの時間を確定し、所定の移行時間に達する移行時間確定モジュールをさらに含んでもよい。
【0143】
幾つかの実施例において、ミニプログラムパッケージ送信装置は、前記失効処理条件を満たすミニプログラムパッケージIDを失効状態に設定した後、各ミニプログラムのミニプログラムパッケージIDに基づいて対応するアプリケーションIDを生成するアプリケーションID生成モジュールをさらに含んでもよく、同一のプログラムIDに対応する異なるミニプログラムパッケージIDは、同一のミニプログラムIDを有する。
【0144】
当該実施例において、ミニプログラムパッケージID送信モジュールは、具体的に、少なくとも1つのミニプログラム情報、各ミニプログラムのミニプログラムパッケージIDおよび各ミニプログラムのミニプログラムパッケージIDに対応するアプリケーションIDをホストサーバに送信する。
【0145】
いくつか幾つかの実施例において、ミニプログラムパッケージ送信装置は、ミニプログラムパッケージ取得要求におけるミニプログラムIDを取得した後、ミニプログラムパッケージ取得要求におけるデジタル署名証明書を取得するデジタル署名証明書取得モジュールと、本プラットフォームサーバによって予め記憶されたホストサーバの非対称暗号秘密鍵を用いてデジタル署名証明書を検証するデジタル署名証明書検証モジュールと、さらにデジタル署名証明書の検証が成功した場合、前記ホストサーバにミニプログラムのミニプログラムパッケージを送信するミニプログラムパッケージ送信モジュール520とをさらに含んでもよい。
【0146】
幾つかの実施例において、ミニプログラムパッケージ送信装置は、ホストサーバからのミニプログラムパッケージ取得要求に応答して、ミニプログラムパッケージ取得要求におけるミニプログラムIDを取得する前に、ホストサーバのデータチャネル確立要求に応答して、本プラットフォームサーバとホストサーバとの間で双方向アイデンティティ認証を行うアイデンティティ認証モジュールと、双方向アイデンティティ認証に通った場合、ホストサーバのクライアントIDを記憶し、本プラットフォームサーバとホストサーバとの間に安全なデータ伝送チャネルを確立するクライアントID記憶モジュールとをさらに含んでもよく、クライアントIDは、ホストサーバを一意的に識別するために使用され、かつ、ホストサーバのクライアントIDは本プラットフォームサーバのソフトウェア開発キットSDKの閉鎖ソース部分に記憶される。
【0147】
幾つかの実施例において、パッケージ取得要求受信モジュール510は、具体的に、安全なデータ伝送チャネルを介して受信されたホストサーバからのミニプログラムパッケージ取得要求に応答して、ミニプログラムパッケージ取得要求における暗号化された通信コンテンツを取得し、通信コンテンツを復号化し、ホストサーバのクライアントIDに基づいてホストサーバのアイデンティティ認証が成功した後、通信コンテンツ内のミニプログラムのIDを取得する。
【0148】
幾つかの実施例において、ミニプログラムパッケージ送信装置は、ホストサーバからのミニプログラムパッケージ取得要求を受信した後、安全なデータ伝送チャネルを現在使用しているホストサーバのクライアントIDが、本プラットフォームサーバに記憶された、安全なデータ伝送チャネルが確立された、対応するホストサーバのクライアントIDと一致しないことが監視された場合、安全なデータ伝送チャネルを現在使用しているホストサーバが不法なホストサーバであることを確定するホストサーバ監視モジュールと、不法なホストサーバを遮蔽する遮蔽処理モジュールとをさらに含んでもよい。
【0149】
幾つかの実施例において、ミニプログラムパッケージ送信装置は、ミニプログラムのミニプログラムパッケージをホストサーバに送信した後、所定期間内に受信されたホストサーバのミニプログラムパッケージ取得要求の要求回数を監視して、これを第1の要求回数監視結果とする、第1のトラフィック監視モジュールと、各ミニプログラムの新しいミニプログラムパッケージIDを取得した後、所定期間内に受信された要求回数を継続的に監視して、これを第2の要求回数監視結果とする、第2のトラフィック監視モジュールと、第1の要求回数監視結果と第2の要求回数監視結果との間の差分値が所定の要求回数閾値を超える場合、本プラットフォームサーバのトラフィック異常情報を取得するトラフィック異常情報確定モジュールとをさらに含んでもよい。
【0150】
幾つかの実施例において、ホストサーバが本プラットフォームサーバに予め設定されたホワイトリスト内のホストサーバであり、かつ、ホストサーバのミニプログラムパッケージ取得要求に対応するトラフィックが所定のトラフィック閾値範囲内にある場合、ミニプログラムパッケージ送信モジュール520は、具体的に、指定された少なくとも1つのミニプログラムのミニプログラムパッケージをホストサーバに送信する。
【0151】
本開示の実施例によるミニプログラムパッケージ送信装置は、ホストがミニプログラムパッケージを配信する過程における不正行為、アイデンティティのなりすまし、権限制御などの問題を解決することができ、ミニプログラムのホストの配信エコロジーを規範化するための完全な要求配信計画を提供できる。本開示のミニプログラムパッケージ送信方法により、ホスト、ミニプログラムをBaiduミニプログラムプラットフォームに緊密に関連付けることができ、不正行為によるミニプログラムパッケージを取得する敷居を高め、ミニプログラムの商業的利益の安全性を保証し、アライアンスエコロジーの構築において重要な役割を果たす。
【0152】
なお、本開示は上記の実施例で説明され、図示された特定の配置および処理に限定されない。簡潔にするために、ここでは公知の方法についての詳細な説明は省略し、上記で説明したシステム、モジュールとユニットの具体的な動作過程は、前述した方法実施例における対応過程を参照してもよく、ここでは改めて説明しない。
【0153】
図6は、本開示の実施例が提供する電気機器の構成ブロック図である。
【0154】
第3の方面において、
図6を参照して、本開示の実施例は、1つ以上のプロセッサ601と、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサが上記のいずれか1項に記載のミニプログラムパッケージ送信方法を実行する1つ以上のプログラムを記憶したメモリ602と、プロセッサとメモリとの間に接続され、プロセッサとメモリとの間で情報のやり取りを実現するように配置される1つ以上のI/Oインタフェース603とを備える、電気機器を提供する。
【0155】
プロセッサ601はデータ処理能力を有する機器であり、中央処理装置(CPU)などを含むがこれらに限定されない。メモリ602はデータ処理能力を有する機器であり、ランダムアクセスメモリ(RAM、より具体的には、SDRAM、DDRなど)、リードオンリーメモリ(ROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM(登録商標))、フラッシュメモリ(FLASH(登録商標))、I/Oインタフェース(読み書きインタフェース)603は、プロセッサ601とメモリ602との間に接続され、プロセッサ601とメモリ602との情報のやりとりを実現でき、データバス(Bus)などを含むがこれらに限定されない。
【0156】
幾つかの実施例において、プロセッサ601、メモリ602とI/Oインタフェース603はバスを介して互いに接続され、これにより、コンピューティング機器の他の構成要素と接続される。
【0157】
幾つかの実施例において、当該電子機器は、ミニプログラムプラットフォームのプラットフォームサーバとして実現されてもよく、当該プラットフォームサーバは、プログラムを記憶するように構成されたメモリと、メモリに記憶されたプログラムを実行して、
図1~
図5の実施例に記載のミニプログラムパッケージ送信方法を実行するように構成されたプロセッサとを含む。
【0158】
幾つかの実施例において、プラットフォームサーバはクラウドサーバであってよく、
図1 ~
図5に記載の実施例におけるミニプログラムパッケージ送信方法は、クラウドサーバに基づいてクラウドコンピューティングすることができる。
【0159】
本開示の実施例において、人工知能は、コンピュータに、人のある思考過程と知能的挙動(例えば、学習、推理、計画など)をシミュレーションさせることについて研究する分野であり、ハードウェアレベルの技術もソフトウェアレベルの技術もある。人工知能ハードウェア技術は一般に、センサ、専用人工知能チップ、クラウドコンピューティング、分散ストレージ、ビッグデータ処理などの技術を含み、人工知能ソフトウェア技術は、コンピュータビジョン技術、音声認識技術、自然言語処理技術、機械学習/ディープラーニング、ビッグデータ処理技術、ナレッジグラフ技術などのようないくつかの方面を含む。
【0160】
図7は、本開示の実施例が提供するコンピュータ可読媒体の構成ブロック図である。第4の方面において、
図7を参照して、本開示の実施例は、プロセッサによって実行されるときに、上述したミニプログラムパッケージ送信方法のいずれかを実現するコンピュータプログラムが記憶される、コンピュータ可読媒体を提供する。
【0161】
当業者であれば、上記に公開されている方法のすべてまたは一部のステップ、システム、装置内の機能モジュール/ユニットをソフトウェア、ファームウェア、ハードウェアおよびそれらの適切な組み合わせとして実施できることを理解するであろう。ハードウェアの実施の形態において、上記記載で言及されている機能モジュール/ユニット間の区別は、必ずしも物理的構成要素の区別に対応しない。例えば、1つの物理構成要素は複数の機能を有してもよく、または1つの機能またはステップは幾つかの物理構成要素によって協働して実行されてもよい。ある物理的構成要素またはすべての物理的構成要素は、中央処理装置、デジタル信号プロセッサもしくはマイクロプロセッサなどのプロセッサによって実行されるソフトウェアとして実施されてもよく、ハードウェアとして実施されてもよく、あるいは、例えば、専用集積回路のような集積回路として実施されてもよい。このようなソフトウェアはコンピュータ可読媒体上に配置することができ、コンピュータ可読媒体は、コンピュータ記憶媒体(または非一時的媒体)および通信媒体(または一時的媒体)を含んでもよい。当業者によく知られているように、コンピュータ記憶媒体という用語は、情報(例えば、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど)を記憶する任意の方法または技術において実施される揮発性および不揮発性、取り外し可能および取り外し不可能な媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)若しくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、または所望の情報を記憶し、コンピュータからアクセスできるその他の媒体を含むが、これらに限定されない。さらに、通信媒体は一般的に、コンピュータ可読命令、データ構造、プログラムモジュールまたは搬送波もしくは他の搬送機構などの変調データ信号内のその他のデータを含み、任意の情報配信媒体を含んでよいことが当業者に知られている。
【0162】
本開示の実施例は、プロセッサによって実行されるとき、上述したプチアプリケーションパッケージ送信方法のいずれかを実現するコンピュータプログラムを含むコンピュータプログラム製品を提供する。
【0163】
本開示の方法を実施するコンピュータプログラムは1つ以上のプログラミング言語の任意の組み合わせで書くことができる。これらのコンピュータプログラムは、汎用コンピュータ、専用コンピュータ、またはその他のプログラム可能なデータ処理装置のプロセッサまたはコントローラに提供されて、コンピュータプログラムがプロセッサまたはコントローラによって実行されると、フローチャートおよび/またはブロック図に規定の機能/操作が実施される。コンピュータプログラムは完全に機器上で実行されることも、その一部が機器上で実行されることもでき、独立したソフトウェアパッケージとして一部を機器上で実行しかつ一部をリモート機器上で実行するか、または完全にリモート機器もしくはサーバ上で実行することができる。
【0164】
本明細書において例示的な実施例を公開しており、具体的な用語が用いられているが、それらは一般的な例示的な意味でのみ使用されており、そのように解釈されるべきであって、目的を限定するものではない。幾つかの実施例において、特に明記しない限り、特定の実施例に関連して説明される特徴、特性、および/または要素は、単独で使用されてもよく、またはその他の実施例に関連して説明される特徴、特性、および/または要素と組み合わせて使用されてもよいことは、当業者にとって自明である。したがって、添付の請求項によって示される本開示の範囲から逸脱しないことを前提として、様々な形態及び詳細に対し変更を加えることができる。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ホストサーバからのミニプログラムパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内のミニプログラムIDを取得するステップと、
前記IDが、本プラットフォームサーバが前記ホストサーバに予め送信したミニプログラムパッケージIDであることが検証される場合、前記ミニプログラムのミニプログラムパッケージを前記ホストサーバに送信するステップと、を含み、
異なるホストサーバの同一のミニプログラムに対して送信されるミニプログラムパッケージIDは異なる、
ミニプログラムパッケージの送信方法。
[C2]
ホストサーバからのミニプログラムパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内のミニプログラムIDを取得する前に、
ホストサーバからのミニプログラム情報取得要求に応答して、少なくとも1つのミニプログラムのミニプログラム情報と対応するプログラムIDを取得することと、
前記ミニプログラムのプログラムIDに基づいてミニプログラムパッケージIDを生成し、各ミニプログラムのプログラムIDは1つの前記ミニプログラムパッケージIDに対応し、異なるホストサーバによって生成された同一のミニプログラムのミニプログラムパッケージIDが異なることと、
前記少なくとも1つのミニプログラム情報と前記ミニプログラムパッケージIDを前記ホストサーバに送信することをさらに含む、
C1に記載の方法。
[C3]
送信されたミニプログラムパッケージIDは暗号化されたミニプログラムパッケージIDであり、
前記ミニプログラムのプログラムIDに基づいてミニプログラムパッケージIDを生成した後、
所定の秘密鍵を使用して前記各ミニプログラムの前記ミニプログラムパッケージIDを暗号化して、暗号化されたミニプログラムパッケージIDを取得し、各ホストサーバに対する所定の秘密鍵は異なり、前記各ホストサーバの所定の秘密鍵は本プラットフォームサーバに保存され、且つ前記ホストサーバの所定の秘密鍵は非公開状態であることをさらに含む、
C2に記載の方法。
[C4]
送信されたミニプログラムパッケージIDは有効状態のミニプログラムパッケージIDであり、
前記ミニプログラムのプログラムIDに基づいてミニプログラムパッケージIDを生成した後、
失効処理条件を満たすミニプログラムパッケージIDに対して、対応する新しいミニプログラムパッケージIDを生成して、各ミニプログラムの新しいミニプログラムパッケージIDを取得することと、
前記新しいミニプログラムパッケージIDの有効状態を設定し、前記失効処理条件を満たすミニプログラムパッケージIDを失効状態に設定することを含み、
前記失効処理条件は、ミニプログラムパッケージID生成時間から現在までの時間が予め設定された有効時間を超えると、本プラットフォームサーバのサーバ情報に変更が発生すること、および本プラットフォームサーバの所定のトラフィック異常情報を監視することのうちの少なくとも1つを含む、
C2に記載の方法。
[C5]
前記失効処理条件を満たすミニプログラムパッケージIDを失効状態に設定する前に、 現在から前記対応する新しいミニプログラムパッケージIDを生成するまでの間隔の長さが、所定の移行時間に達したと確定することをさらに含む、
C4に記載の方法。
[C6]
無効化条件を満たすミニプログラムパッケージIDに対して、対応する新しいミニプログラムパッケージIDを生成するステップの後に、
各ミニプログラムのミニプログラムパッケージIDに基づいて対応するアプリケーションIDを生成し、異なる生成時間で同一のプログラムIDに対応するミニプログラムパッケージIDは同一のアプリケーションIDを有すること、をさらに含み、
前記少なくとも1つのミニプログラム情報と前記ミニプログラムパッケージIDを前記ホストサーバに送信する前記ステップは、
前記少なくとも1つのミニプログラム情報、前記各ミニプログラムのミニプログラムパッケージIDと対応するアプリケーションIDを前記ホストサーバに送信することをさらに含む、
C4に記載の方法。
[C7]
前記ミニプログラムパッケージ取得要求内のミニプログラムIDを取得する前記ステップの後、
前記ミニプログラムパッケージ取得要求に含まれるデジタル署名証明書を取得することをさらに含み、
前記ミニプログラムのミニプログラムパッケージを前記ホストサーバに送信する前記ステップは、
本プラットフォームサーバに予め記憶されている前記ホストサーバの非対称暗号秘密鍵を用いて前記デジタル署名証明書を検証し、前記デジタル署名証明書の検証が成功した場合に、前記ミニプログラムのミニプログラムパッケージを前記ホストサーバに送信することをさらに含む、
C1に記載の方法。
[C8]
ホストサーバからのミニプログラムパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内のミニプログラムIDを取得する前記ステップは、
予め確立した安全なデータ伝送チャネルを介して受信したホストサーバからのアプリケーションパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内の暗号化された通信コンテンツを取得することと、
前記通信コンテンツを復号化し、前記ホストサーバのクライアントIDに基づいて前記ホストサーバに対しアイデンティティ認証が成功した後、前記通信コンテンツ内のミニプログラムIDを取得することを含む、
C1に記載の方法。
[C9]
ホストサーバからのミニプログラムパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内のミニプログラムIDを取得する前記ステップは、
安全なデータ伝送チャネルを現在使用しているホストサーバのクライアントIDが、本プラットフォームサーバに記憶されている、前記安全なデータ伝送チャネルが確立された、対応するホストサーバのクライアントIDと一致しないことが監視された場合、前記安全なデータ伝送チャネルを現在使用しているホストサーバが不法なホストサーバであると確定することと、
前記不法なホストサーバに対し遮蔽処理を施すことをさらに含む、
C8に記載の方法。
[C10]
ホストサーバからのミニプログラムパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内のミニプログラムIDを取得する前に、
前記ホストサーバからのデータチャネル確立要求に応答して、本プラットフォームサーバと前記ホストサーバとの間で双方向アイデンティティ認証を行うことと、
前記双方向アイデンティティ認証に通った場合、前記ホストサーバのクライアントIDを記憶し、本プラットフォームサーバと前記ホストサーバとの間の安全なデータ伝送チャネルを確立することをさらに含み、
前記クライアントIDは、前記ホストサーバを一意的に識別するために使用され、前記ホストサーバのクライアントIDは、本プラットフォームサーバのソフトウェア開発キットSDKの閉鎖ソースに記憶される、
C1~9のいずれか1項に記載の方法。
[C11]
前記ミニプログラムのミニプログラムパッケージを前記ホストサーバに送信した後に、 所定期間内に受信した前記ホストサーバからのミニプログラムパッケージ取得要求の要求回数を監視して、第1の要求回数監視結果とすることと、
各ミニプログラムパッケージの前記新しいミニプログラムパッケージIDを取得した後、所定期間内に受信した前記要求の数を継続的に監視して、第2の要求回数監視結果とすることと、
前記第1の要求回数監視結果と第2の要求回数監視結果との差分値が所定の要求回数閾値を超えた場合に、本プラットフォームサーバのトラフィック異常情報を得ることをさらに含む、
C4~6のいずれか1項に記載の方法。
[C12]
前記ホストサーバは、本プラットフォームサーバに予め設定されたホワイトリスト中のホストサーバであり、前記ホストサーバのミニプログラムパッケージ取得要求に対応するトラフィックは所定のトラフィック閾値範囲内であり、
前記ミニプログラムのミニプログラムパッケージIDを前記ホストサーバに送信する前記ステップは、指定された少なくとも1つのミニプログラムのミニプログラムパッケージを前記ホストサーバに送信することを含む、
C1~9のいずれか1項に記載の方法。
[C13]
ホストサーバからのミニプログラムパッケージ取得要求に応答して、前記ミニプログラムパッケージ取得要求内のミニプログラムIDを取得するように配置されたパッケージ取得要求受信モジュールと、
前記IDが、本プラットフォームサーバが前記ホストサーバに予め送信したミニプログラムパッケージIDであることが検証された場合、前記ミニプログラムのミニプログラムパッケージを前記ホストサーバに送信するように配置されたミニプログラムパッケージモジュールと、を含み、
異なるホストサーバの同一のミニプログラムに対して送信されるミニプログラムパッケージIDは異なる、
ミニプログラムパッケージ送信装置。
[C14]
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサがC1~12のいずれか1項に記載のミニプログラムパッケージ送信方法を実現する1つ以上のプログラムを記憶した記憶装置と、
前記プロセッサとメモリとの間に接続され、前記プロセッサとメモリとの間で情報のやり取りを実現するように配置される1つ以上のI/Oインタフェースとを備える、
電気機器。
[C15]
プロセッサによって実行されるときに、C1~12のいずれか一項に記載のミニプログラムパッケージ送信方法を実現するコンピュータプログラムが記憶される、
コンピュータ可読媒体。
[C16]
プロセッサによって実行されるとき、C1~12のいずれか一項に記載のプチアプリケーションパッケージ送信方法を実現するコンピュータプログラムを含むコンピュータプログラム製品。