(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-08
(45)【発行日】2023-03-16
(54)【発明の名称】サンプリング対象特定方法、装置、電子機器およびコンピュータ可読記憶媒体
(51)【国際特許分類】
G06F 11/34 20060101AFI20230309BHJP
G06Q 10/04 20230101ALI20230309BHJP
【FI】
G06F11/34 152
G06Q10/04
(21)【出願番号】P 2021556976
(86)(22)【出願日】2021-05-10
(86)【国際出願番号】 CN2021092643
(87)【国際公開番号】W WO2022095395
(87)【国際公開日】2022-05-12
【審査請求日】2021-09-22
(31)【優先権主張番号】202011240584.1
(32)【優先日】2020-11-09
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】512015127
【氏名又は名称】バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
(74)【代理人】
【識別番号】110001416
【氏名又は名称】弁理士法人信栄事務所
(72)【発明者】
【氏名】▲呉▼ ▲鵬▼▲飛▼
(72)【発明者】
【氏名】▲劉▼ 瀚猛
(72)【発明者】
【氏名】王 冬
【審査官】武田 広太郎
(56)【参考文献】
【文献】特表2020-502708(JP,A)
【文献】特開2018-160047(JP,A)
【文献】特表2013-513883(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/34
G06Q 10/04
(57)【特許請求の範囲】
【請求項1】
アプリケーションのユーザ総数およびサンプリング比により、サンプリング数を特定することと、
前記アプリケーションのバージョンの高い順に従い、少なくとも1つのバージョンを特定することと、
前記少なくとも1つのバージョンの前記ユーザから、前記サンプリング数のユーザをサンプリング対象として特定することとを含み、
前記少なくとも1つのバージョンのユーザ数の合計数が前記サンプリング数以上である、
サンプリング対象特定方法。
【請求項2】
アプリケーションのユーザ総数およびサンプリング比により、サンプリング数を特定するステップ、前記アプリケーションのバージョンの高い順に従って少なくとも1つのバージョンを特定するステップ、および前記少なくとも1つのバージョンの前記ユーザから、前記サンプリング数のユーザをサンプリング対象として特定するステップは、
前記アプリケーションをインストールするための少なくとも2種のOSのそれぞれについて実行される、
請求項1に記載の方法。
【請求項3】
前記アプリケーションの新バージョンがリリースされた後、前記新バージョンのユーザ数の増加速度が初めて緩やかになり始める時の前記新バージョンのユーザ数および前記総数により、前記サンプリング比を特定することを更に含む、
請求項1に記載の方法。
【請求項4】
前記サンプリング比は40%である、
請求項1に記載の方法。
【請求項5】
前記サンプリング数のユーザをサンプリング対象として特定することは、
前記少なくとも1つのバージョンの前記ユーザから、前記サンプリング数のユーザを前記サンプリング対象としてランダムに特定することを含む、
請求項1に記載の方法。
【請求項6】
前記サンプリング数のユーザをサンプリング対象として特定することは、
前記合計数および前記サンプリング数によりサンプリング係数を特定することと、
前記少なくとも1つのバージョンの前記ユーザから、前記サンプリング係数を用いて前記サンプリング数のユーザを前記サンプリング対象として特定することとを含む、
請求項1に記載の方法。
【請求項7】
前記サンプリング数のユーザをサンプリング対象として特定することは、
前記少なくとも1つのバージョンの前記ユーザから、バージョンの高い順および対応するバージョンがインストールされてからの時間の長い順に従い、バージョンの最も高く、かつ対応するバージョンがインストールされた時間の最も長い前記サンプリング数のユーザを前記サンプリング対象として特定することを含む、
請求項1に記載の方法。
【請求項8】
前記少なくとも2種のOSは、アンドロイド(登録商標)OSとアップル(登録商標)モバイルデバイスOSとを含む、
請求項2に記載の方法。
【請求項9】
前記サンプリング対象について前記アプリケーションの性能評価を行うことを更に含む、
請求項1に記載の方法。
【請求項10】
アプリケーションのユーザ総数およびサンプリング比により、サンプリング数を特定するように構成されるサンプリング数特定モジュールと、
前記アプリケーションのバージョンの高い順に従い、少なくとも1つのバージョンを特定するように構成されるバージョン特定モジュールと、
前記少なくとも1つのバージョンの前記ユーザから、前記サンプリング数のユーザをサンプリング対象として特定するように構成されるサンプリング対象特定モジュールとを備え、
前記少なくとも1つのバージョンのユーザ数の合計数が前記サンプリング数以上である、
サンプリング対象特定装置。
【請求項11】
前記サンプリング数特定モジュール、前記バージョン特定モジュールおよび前記サンプリング対象特定モジュールは、
前記アプリケーションをインストールするための少なくとも2種のOSのそれぞれについて対応する動作を実行させるように構成される、
請求項10に記載の装置。
【請求項12】
前記アプリケーションの新バージョンがリリースされた後、前記新バージョンのユーザ数の増加速度が初めて緩やかになり始める時の前記新バージョンのユーザ数および前記総数により、前記サンプリング比を特定するように構成されるサンプリング比特定モジュールを更に備える、
請求項10に記載の装置。
【請求項13】
前記サンプリング比は40%である、
請求項10に記載の装置。
【請求項14】
前記サンプリング対象特定モジュールは、
前記少なくとも1つのバージョンの前記ユーザから、前記サンプリング数のユーザを前記サンプリング対象としてランダムに特定するように構成される第1サンプリング対象特定モジュールを含む、
請求項10に記載の装置。
【請求項15】
前記サンプリング対象特定モジュールは、
前記合計数および前記サンプリング数によりサンプリング係数を特定するように構成されるサンプリング係数特定モジュールと、
前記少なくとも1つのバージョンの前記ユーザから、前記サンプリング係数を用いて前記サンプリング数のユーザを前記サンプリング対象として特定するように構成される第2サンプリング対象特定モジュールとを含む、
請求項10に記載の装置。
【請求項16】
前記サンプリング対象特定モジュールは、
前記少なくとも1つのバージョンの前記ユーザから、バージョンの高い順および対応するバージョンがインストールされてからの時間の長い順に従い、バージョンの最も高く、かつ対応するバージョンがインストールされた時間の最も長い前記サンプリング数のユーザを前記サンプリング対象として特定するように構成される第3サンプリング対象特定モジュールを含む、
請求項10に記載の装置。
【請求項17】
前記少なくとも2種のOSは、アンドロイド(登録商標)OSとアップル(登録商標)モバイルデバイスOSとを含む、
請求項11に記載の装置。
【請求項18】
前記サンプリング対象について前記アプリケーションの性能評価を行うように構成される性能評価モジュールを更に備える、
請求項10に記載の装置。
【請求項19】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されたメモリとを備える電子機器であって、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、
前記命令は、前記少なくとも1つのプロセッサが請求項1~9のいずれか1項に記載の方法を実行可能であるように、前記少なくとも1つのプロセッサにより実行される、
電子機器。
【請求項20】
請求項1~9のいずれか1項に記載の方法をコンピュータに実行させるためのコンピュータ命令が記憶されている、
非一時的なコンピュータ可読記憶媒体。
【請求項21】
請求項1~9のいずれか1項に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2020年11月09日に中国専利局に提出された出願番号が202011240584.1である中国特許出願に対して優先権を主張するものであり、該出願の全ての内容を引用により本発明に援用する。
【0002】
本発明は、移動通信技術に関し、例えば、サンプリング対象特定方法、装置、電子機器およびコンピュータ可読記憶媒体に関し、本発明は、アプリケーション性能評価の分野に適用できる。
【背景技術】
【0003】
モバイルアプリケーションは、移動通信の技術分野における重要な構成部分である。モバイルアプリケーションは、新バージョンのリリースが頻繁で、マルチバージョンが共存する等の特点を有する。モバイルアプリケーションの性能評価を行うために、例えば、モバイルアプリケーションの最新バージョンの性能評価を行い、モバイルアプリケーションに対して新バージョンをリリースする度に、「最新バージョン」の全体性能、体験等の製品効果を正確に評価できるように、リリースされたモバイルアプリケーションの「最新バージョン」をデータ分析する必要がある。これらの製品効果は、例えば、モバイルアプリケーションの起動成功率、モバイルアプリケーションの起動速度、モバイルアプリケーションによる白とび率およびモバイルアプリケーションのレンダリング成功率等を含んでもよい。
【0004】
しかし、移動通信の技術分野において、モバイルアプリケーションの新バージョンがリリースされた後、異なるOS(OS、Operating System)、異なる機種のモバイルデバイスのモバイルアプリケーションを更新する前後順序は異なる。例えば、アンドロイド(登録商標)OSがインストールされたモバイルデバイスでは、通常、ハイエンド機が先にモバイルアプリケーションを更新する一方、アップル(登録商標)モバイルデバイスOSがインストールされたモバイルデバイスはちょうど逆であり、通常、ローエンド機が先にモバイルアプリケーションを更新する。ハイエンド機の性能がローエンド機の性能よりも良いため、アンドロイドOSがインストールされたモバイルデバイスのデータ表現は、先に良いが、後に悪くなり、アップルモバイルデバイスOSがインストールされたモバイルデバイスのデータ表現は、先に悪いが、後に良くなることで、統計データの大きな変動を引き起こし、モバイルアプリケーションの「最新バージョン」に対する全体効果評価の正確性に大きな挑戦をもたらす。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の実施例により、サンプリング対象特定方法、装置、電子機器およびコンピュータ可読記憶媒体を提供する。
【課題を解決するための手段】
【0006】
アプリケーションのユーザ総数およびサンプリング比により、サンプリング数を特定することと、アプリケーションのバージョンの高い順に従い、少なくとも1つのバージョンを特定することと、少なくとも1つのバージョンのユーザから、サンプリング数のユーザをサンプリング対象として特定することとを含み、前記少なくとも1つのバージョンのユーザ数の合計数がサンプリング数以上である、サンプリング対象特定方法を提供する。
【0007】
アプリケーションのユーザ総数およびサンプリング比により、サンプリング数を特定するように構成されるサンプリング数特定モジュールと、アプリケーションのバージョンの高い順に従い、少なくとも1つのバージョンを特定するように構成されるバージョン特定モジュールと、少なくとも1つのバージョンのユーザから、サンプリング数のユーザをサンプリング対象として特定するように構成されるサンプリング対象特定モジュールとを備え、前記少なくとも1つのバージョンのユーザ数の合計数がサンプリング数以上である、サンプリング対象特定装置を提供する、
【0008】
少なくとも1つのプロセッサと、少なくとも1つのプロセッサに通信接続されたメモリとを備える電子機器であって、メモリには、少なくとも1つのプロセッサによって実行可能な命令が記憶され、該命令は、少なくとも1つのプロセッサが本発明の第1態様による方法を実行可能であるように、少なくとも1つのプロセッサにより実行される、電子機器を提供する。
【0009】
上記方法をコンピュータに実現させるためのコンピュータ命令が記憶されている、非一時的なコンピュータ可読記憶媒体を提供する。
【発明の効果】
【0010】
本発明に記載の内容は、本発明の実施例のキーとなるまたは重要な特徴を標識するためのものではなく、本発明の範囲を限定するものでもないことが理解されるべきである。本発明の他の特徴は、以下の明細書により容易に理解することができる。
【図面の簡単な説明】
【0011】
本発明の例示的な実施例において、同じ参照番号は、通常、同じコンポーネントを表す。図面は本形態をより良く理解するためのものであり、本発明を限定するものではない。
【0012】
【
図1】本発明のいくつかの実施例におけるサンプリング対象特定方法を実現可能なアプリケーション評価環境の例示的なブロック図を示す。
【
図2】本発明の実施例によるサンプリング対象特定方法のフローチャートを示す。
【
図3】本発明の実施例による新バージョンのユーザ数の増加の曲線の模式図を示す。
【
図4】本発明の実施例によるサンプリング対象特定装置の例示的なブロック図を示す。
【
図5】本発明の実施例によるアプリケーション評価効果の曲線の模式図を示す。
【
図6】本発明の実施例による電子機器の例示的なブロック図を示す。
【0013】
複数の図面において、同じまたは対応する番号は、同じまたは対応する部分を表す。
【発明を実施するための形態】
【0014】
以下、図面を参照しながら本発明について説明する。図面に本発明の実施例が示されるが、様々な形で本発明を実現することができ、ここで記載される実施例に限定されるべきではないことが理解されるべきである。本発明をより徹底的かつ完全にさせ、且つ、本発明の範囲を完全に当業者に伝えることができるように、これらの実施例を提供する。
【0015】
本発明で使用される「含む」という用語およびその変形は、開放的な包含、即ち、「を含むが、これらに限定されない」を表す。特に明記しない限り、「または」という用語は、「および/または」を表す。「に基づく」という用語は、「少なくとも部分的に基づく」を表す。「1つの例示的な実施例」および「1つの実施例」という用語は、「少なくとも1つの例示的な実施例」を表す。「別の実施例」という用語は、「少なくとも1つの別の実施例」を表す。「第1」、「第2」等の用語は、異なるまたは同じ対象を指してもよい。以下には、他の明確で暗黙的な定義が含まれる可能性もある。
【0016】
以上の背景技術に記述されたように、モバイルアプリケーションの新バージョンがリリースされる度に、「最新バージョン」の全体性能、体験等の製品効果を正確に評価することができるように、リリースされたモバイルアプリケーションの「最新バージョン」をデータ分析する必要がある。従来のモバイルアプリケーションデータ評価において、主に2種類の方式を採用する。
【0017】
第1種の方式において、モバイルアプリケーションに対して最新バージョンと履歴バージョンとが混合された後の全体的な効果を見る。この方式において、ログの生産、イベント追跡(Event Tracking)によりバージョン識別子を増加し、ログコレクタを利用してデータを収集して分散型記憶装置にアップロードし、且つ、全てのバージョンのユーザコミュニティのデータを分析し、全てのバージョンのデータを分析し、効果評価データを取得する。
【0018】
第1種の方式を採用する場合、新バージョンの業務表現が明らかではないという欠点が存在する。その原因として、最新バージョンと履歴バージョンのデータとが混合され、且つ、新バージョンのリリース初期において、新バージョンのモバイルアプリケーションがインストールされたモバイルデバイスまたは新バージョンを使用しているユーザのデータ量の占有率が小さいため、新バージョンのリリースによる業務指標の向上または降下表現を発見しにくいためである。
【0019】
第2種の方式において、モバイルアプリケーションに対して最新バージョンの全体的な効果のみを見る。この方式において、同様にログの生産、イベント追跡によりバージョン識別子を増加し、ログコレクタを利用してデータを収集して分散型記憶装置にアップロードするが、記憶データから最新バージョンのユーザコミュニティのデータのみを取得し、最新バージョンのユーザコミュニティのデータを分析し、最新バージョンのみに対する評価データを取得する。
【0020】
第2種の方式を採用する場合、データの統計変動が大きくなり、確信度は低くなる。前述したように、モバイルアプリケーションの新バージョンがリリースされた後、異なるOS、異なる機種のモバイルデバイスのモバイルアプリケーションを更新する前後順序が異なるため、バージョンをリリースする優先順位、バージョンをリリースする速度およびユーザ数の増加の収束率はいずれも異なり、統計データの変動を引き起こし、業務評価に大きく影響を及ぼす。例えば、モバイルアプリケーションがインストールされたアンドロイドOSおよびアップルモバイルデバイスOSのデータ量またはユーザ数の割合が10:3であると仮定する。実際の動作において、アンドロイドOSおよびアップルモバイルデバイスOSのアプリケーションのアップグレードの前後順序が異なり、通常、モバイルアプリケーションがインストールされたアンドロイドOSのユーザ数の増加は、該モバイルアプリケーションがインストールされたアップルモバイルデバイスOSのユーザ数の増加よりも収束が速いため、該モバイルアプリケーションがインストールされたアンドロイドOSおよびアップルモバイルデバイスOSのデータ量またはユーザ数は、実際に増加し続け、且つ、該モバイルアプリケーションがインストールされたアンドロイドOSおよびアップルモバイルデバイスOSのデータ量またはユーザ数の割合は10:3に近い。例えば、割合は、100:3から、80:3、20:1……10:1……最終的に10:3に達することができる。しかし、この割合の変化過程は、次のバージョンがリリースされるまでも真に10:3に達しない可能性がある。この場合、アップルモバイルデバイスOSの占有率が小さすぎるため、効果評価データは、アンドロイドOSがインストールされたモバイルデバイスの表現を表すことが多い。
【0021】
本発明の実施例は、サンプリング対象特定方法を提供し、このような方法を使用することで、最新バージョンから新しい順に複数のバージョンのデータを収集することによりモバイルアプリケーションの効果評価を行うことができ、且つ、最新バージョンにアップグレードされたユーザ数の増加速度が初めて緩やかな増加速度に達した時の最新バージョンのユーザ数により、アクティブユーザとモバイルアプリケーションのユーザ総数との割合を特定し、更にサンプリング比を特定することができる。従って、本発明におけるサンプリング対象特定方法を採用することで、アプリケーションに対して代表的な性能評価を行うことに使用可能なサンプリング対象を容易に特定でき、特定されたサンプリング対象についてアプリケーションの性能評価を行うことによりアプリケーションの新たにリリースされたバージョンによる性能変化を正確に反映することができ、アプリケーションの発行者がアプリケーションをアップグレードして改良することに寄与するだけでなく、アプリケーションのユーザ体験の向上にも寄与することができる。
【0022】
図1は、本発明のいくつかの実施例におけるサンプリング対象特定方法を実現できるアプリケーション評価環境の例示的なブロック図を示す。本発明の実施例によれば、アプリケーション評価環境100はクラウド環境であってもよい。
図1に示すように、アプリケーション評価環境100は計算装置110を備える。アプリケーション評価環境100において、アプリケーション統計データ120は、計算装置110の入力として計算装置110に提供され、サンプリング対象130および性能評価140は計算装置110の出力とされる。本発明の実施例は、モバイルアプリケーションのみに適用されるものではなく、デスクトップコンピュータにインストールされた固定アプリケーションにも適用され得ることが理解されるべきである。本発明の実施例で使用される「アプリケーション」という用語は、「モバイルアプリケーション」を表すために使用できるだけでなく、「固定アプリケーション」を表すためにも使用でき、この用語の選択は例に過ぎず、本発明の保護範囲を限定するものではない。
【0023】
アプリケーション評価環境100は、例示的なものに過ぎず、限定的なものではなく、且つ、アプリケーション評価環境100は拡張可能であり、アプリケーション評価環境100にはより多く計算装置110が含まれてもよく、且つ、計算装置110により多くのアプリケーション統計データ120を入力として提供することができ、計算装置110は、より多くのサンプリング対象130および性能評価140を出力とすることもでき、これにより、より多くのユーザがより多くの計算装置110を同時に利用し、更により多くのアプリケーション統計データ120を利用し、より多くのアプリケーションに対してより多くのサンプリング対象130および性能評価140を特定するニーズを満たすことができる。また、計算装置110は、サンプリング対象130および性能評価140を同時に出力する必要がなく、サンプリング対象130および性能評価140の一方のみを出力してもよい。更に、計算装置110は、サンプリング対象130および性能評価140を実際に出力せず、計算のみでサンプリング対象130および性能評価140を取得してもよい。
【0024】
本発明の実施例によれば、アプリケーション評価環境100において、計算装置110に提供されるアプリケーション統計データ120は、例えば、アプリケーションのユーザ総数、アプリケーションの複数のバージョンのユーザ数、アプリケーションのバージョン情報、異なるOSにインストールされたアプリケーションのデータ量の割合、アプリケーションの新バージョンがインストールされたユーザ数の増加状況等を含んでもよい。
【0025】
本発明の実施例によれば、アプリケーション評価環境100における計算装置110がアプリケーション統計データ120を受信すると、計算装置110は、アプリケーション統計データ120を利用してサンプリング対象130および性能評価140を特定することができる。サンプリング対象130は、アプリケーションのユーザのうちの一部のユーザを含み、この一部のユーザに対してアプリケーションの性能評価を行う。性能評価140は、サンプリング対象130にについて、アプリケーションの性能評価を行う性能評価結果を含む。
【0026】
図1に示すアプリケーション評価環境100において、計算装置110にアプリケーション統計データ120を入力すること、および計算装置110からサンプリング対象130および性能評価140を出力することは、ネットワークを介して行うことができる。
【0027】
図2は、本発明の実施例によるサンプリング対象特定方法のフローチャートを示す。方法200は、
図1に示すアプリケーション評価環境100における計算装置110により実行できる。方法200は、示されていない追加の動作を含んでもよいし、および/または示された動作を省略してもよく、本発明の範囲はこの点で限定されない。
【0028】
ブロック202において、計算装置110は、アプリケーションのユーザ総数およびサンプリング比により、サンプリング数を特定する。本発明の実施例によれば、サンプリング比は、アプリケーションの全てのユーザのうちのどのぐらいをサンプリングするかを表すことができ、アプリケーションのユーザ総数にサンプリング比を乗算することで、サンプリング数を得ることができる。
【0029】
本発明の実施例によれば、計算装置110は、アプリケーションの新バージョンがリリースされた後、新バージョンのユーザ数の増加速度が初めて緩やかになり始める時の新バージョンのユーザ数および総数により、サンプリング比を特定する。
【0030】
図3は、本発明の実施例による新バージョンのユーザ数の増加の曲線の模式図を示す。ユーザ数の増加の曲線300は、部分曲線310を含み、部分曲線310は、増加速度が初めて緩やかになる点320を含む。
【0031】
部分曲線310は、アプリケーションの新バージョンがリリースされた後、新バージョンのユーザ数の増加状況を表す。部分曲線310の水平方向は、左から右へ時間の増加を表し、部分曲線310の垂直方向は、下から上へ新バージョンがインストールされたユーザ数を表す。部分曲線310は3つの部分に分割でき、それぞれ、傾きが小さい左側部分、傾きが大きい中間部分、および傾きが小さい右側部分である。新バージョンがリリースされた後、新バージョンがインストールされたユーザ数は、部分曲線310の左側部分に示すように、緩やかに増加し始める。その後、1つの時点から、新バージョンがインストールされたユーザ数は、部分曲線310の中間部分に示すように、急速に増加する。別の時点から、新バージョンがインストールされたユーザ数の増加速度が低下し、この時点は部分曲線310で増加速度が初めて緩やかになる点320としてマークされる。
【0032】
増加速度が初めて緩やかになる点320時に、アプリケーションの新バージョンがインストールされたユーザは、アクティブユーザとして考えられる。本発明の実施例によれば、アクティブユーザ数をアプリケーションのユーザ総数で割ることで、サンプリング比を取得することができる。このサンプリング比を用いて得られたサンプリング数のユーザに基づいてアプリケーションの新バージョンの性能評価を行うことは、アプリケーションの新バージョンによる性能変化を正確に反映することができる。このサンプリング比よりも高い数値をサンプリング比として選択すると、従来技術における第1種の方式に存在する問題が現れ、この場合、サンプリング比が高いため、特定されたサンプリング対象はより多くの古いバージョンのデータを含み、これらの古いバージョンのデータと最新バージョンの評価データとの異なりが大きく、新バージョンによる業務表現を良好に反映することができない。このサンプリング比よりも低い数値をサンプリング比として選択すると、従来技術における第2種の方式に存在する問題が現れ、新バージョンのリリース初期のアンドロイドOSのユーザうち、通常、ハイエンド機のユーザが先にアプリケーションを更新する一方、アップルモバイルデバイスOSのユーザはちょうど逆に、ローエンド機のユーザが先にアプリケーションを更新するため、得られたアクティブユーザコミュニティは、アップグレード後の最新バージョンのユーザコミュニティのみである可能性があり、そのため、機種の分布の不均一の影響を受け、評価データが信用できなくなる可能性がある。
【0033】
本発明の実施例によれば、サンプリング比が40%である場合、このサンプリング比を用いて得られたサンプリング数のユーザが性能評価を行うことは、アプリケーションの新バージョンによる性能変化を最も正確に反映することができる。
【0034】
ブロック204において、計算装置110は、アプリケーションのバージョンの高い順に従って少なくとも1つのバージョンを特定し、該少なくとも1つのバージョンのユーザ数の合計数は、ブロック202のステップで特定されたサンプリング数以上である。本発明の実施例によれば、アプリケーションの全てのユーザのうち、できるだけ高いバージョンのユーザに対してデータを収集し、収集されたデータは、アプリケーションの新バージョンによる性能変化をより直観的に反映することができるため、アプリケーションのバージョンの高い順に従ってサンプリング数のユーザを特定することができる。
【0035】
本発明の実施例によれば、現在の最新バージョンのユーザ数が既にブロック202のステップで特定されたサンプリング数以上である場合、後続の動作用のこの現在の最新バージョンおよび対応するユーザを特定すれば良く、現在の最新バージョンのユーザ数がブロック202のステップで特定されたサンプリング数よりも小さい場合、現在の次に新バージョンのユーザ数を統計し続け、現在の最新バージョンと次に新バージョンのユーザ数との和が既にブロック202のステップで特定されたサンプリング数以上である場合、後続の動作用のこの2つのバージョンおよび対応するユーザを特定することができ、以降は同様にする。
【0036】
ブロック206において、計算装置110は、ブロック204のステップで特定された少なくとも1つのバージョンのユーザから、ブロック202のステップで特定されたサンプリング数のユーザをサンプリング対象として特定する。
【0037】
本発明の1つの実施例によれば、計算装置110は、ブロック204のステップで特定された少なくとも1つのバージョンのユーザから、ブロック202のステップで特定されたサンプリング数のユーザをサンプリング対象としてランダムに特定することができる。例えば、計算装置110は、ブロック204のステップで特定された少なくとも1つのバージョンのユーザから、ブロック202のステップで特定されたサンプリング数のユーザを任意に選択してサンプリング対象として特定することができる。
【0038】
本発明の別の実施例によれば、計算装置110は、ブロック204のステップで特定された少なくとも1つのバージョンのユーザ数の合計数およびブロック202のステップで特定されたサンプリング数によりサンプリング係数を特定し、且つ、ブロック204のステップで特定された少なくとも1つのバージョンのユーザから、特定されたサンプリング係数を利用してブロック202のステップで特定されたサンプリング数のユーザを選択してサンプリング対象として特定することができる。例えば、計算装置110は、ブロック202のステップで特定されたサンプリング数をブロック204のステップで特定された少なくとも1つのバージョンのユーザ数の合計数で割ることで、サンプリング係数を取得することができ、このサンプリング係数は1よりも小さい値である。その後、計算装置は、得られたこのサンプリング係数を利用し、ブロック204のステップで特定された少なくとも1つのバージョンのユーザからサンプリングし、ブロック202のステップで特定されたサンプリング数のユーザをサンプリング対象として取得することができる。
【0039】
本発明の別の実施例によれば、計算装置110は、ブロック204のステップで特定された少なくとも1つのバージョンのユーザから、バージョンの高い順および対応するバージョンがインストールされてからの時間の長い順に従い、バージョンの最も高く、かつ対応するバージョンがインストールされた時間の最も長いブロック202のステップで特定されたサンプリング数のユーザをサンプリング対象として特定することができる。例えば、計算装置110は、ブロック204のステップで特定された少なくとも1つのバージョンのユーザを、バージョンの高い順および対応するバージョンがインストールされてからの時間の長い順に従って並べ替え、且つ、配列内の最初のサンプリング数個のユーザをサンプリング対象として特定することができる。
【0040】
本発明の実施例によれば、ブロック202、ブロック204およびブロック206に対応するステップは、前記アプリケーションをインストールするための少なくとも2種のOSのそれぞれについて実行される。即ち、少なくとも2種のOSのそれぞれに対し、アプリケーションがインストールされた前記各OSのユーザ総数およびサンプリング比により、前記各OSに対応するサンプリング数を特定し、前記アプリケーションのバージョンの高い順に従って少なくとも1つのバージョンを特定し、前記少なくとも1つのバージョンの前記各OSのユーザ数の合計数は前記サンプリング数以上であり、前記少なくとも1つのバージョンの前記各OSのユーザから、前記各OSに対応するサンプリング数のユーザを前記各OSに対応するサンプリング対象として特定する。
【0041】
本発明の実施例によれば、アプリケーションは、アンドロイドOSおよびアップルモバイルデバイスOSを含む少なくとも2種のOSに同時にインストールされ得る。このような場合、これらのOSのそれぞれに対し、ブロック202、ブロック204およびブロック206に対応するステップを実行し、複数種のOSに対して特定されたサンプリング対象のセットを、アプリケーションがインストールされた全てのOSに対するサンプリング対象のセットとして特定することができる。少なくとも2種のOSに対して等割合のサンプリングを行ったため、複数種のOSに対して得られたサンプリング対象の数の間の割合は、複数種のOSのユーザ総数の間の割合と同じであり、異なるOSのバージョンのリリースペースが異なることで評価結果に悪影響を与えることはない。
【0042】
ブロック202、ブロック204およびブロック206に対応するステップを実行することにより、アプリケーションに対して代表的な性能評価を行うことに使用可能なサンプリング対象を正確に特定することができる。
【0043】
方法200は、
図2で破線の枠の形式で示されたオプション的なブロック208を更に含む。オプション的なブロック208において、計算装置110は、ブロック206で特定されたサンプリング対象についてアプリケーションの性能評価を行う。例えば、ブロック206で特定されたサンプリング対象にインストールされた該アプリケーションに関連するデータに基づき、アプリケーションの性能評価を行う。本発明の実施例によれば、アプリケーションの性能評価は、アプリケーションの起動成功率、アプリケーションの起動速度、アプリケーションによる白とび率およびアプリケーションのレンダリング成功率等の性能に対する評価を含む。
【0044】
以上、
図1~
図3を参照し、本発明のいくつかの例示的な実施例における命令実行方法を実現できるアプリケーション評価環境100および本発明の実施例によるサンプリング対象特定方法200用の関連内容を記述した。上記は、本発明に記載された内容を示すためのものであり、いかなる方式で制限するものではない。
【0045】
本発明の上記複数の図面で採用された複数の要素の数および物理量のサイズは例に過ぎず、本発明の保護範囲を限定するものではない。上記数およびサイズは、必要に応じて任意に設定することができ、本発明の実施形態の正常な実施に影響を与えることがない。
【0046】
以上、
図1~
図3を参照し、本発明の実施形態によるサンプリング対象特定方法の詳細内容について既に記述した。以下、
図4を参照し、サンプリング対象特定装置における複数のモジュールについて説明する。
【0047】
図4は、本発明の実施例によるサンプリング対象特定装置の例示的なブロック図である。
図4に示すように、サンプリング対象特定装置400は、アプリケーションのユーザ総数およびサンプリング比により、サンプリング数を特定するように構成されるサンプリング数特定モジュール410と、前記アプリケーションのバージョンの高い順に従い、少なくとも1つのバージョンを特定するように構成されるバージョン特定モジュール420と、前記少なくとも1つのバージョンの前記ユーザから、前記サンプリング数のユーザをサンプリング対象として特定するように構成されるサンプリング対象特定モジュール430とを備え、前記少なくとも1つのバージョンのユーザ数の合計数が前記サンプリング数以上である。
【0048】
いくつかの実施例において、前記サンプリング数特定モジュール410、前記バージョン特定モジュール420および前記サンプリング対象特定モジュール430は、アプリケーションをインストールするための少なくとも2種のOSのそれぞれについて対応する動作を実行させるように構成される。
【0049】
いくつかの実施例において、サンプリング対象特定装置400は、前記アプリケーションの新バージョンがリリースされた後、前記新バージョンのユーザ数の増加速度が初めて緩やかになり始める時の前記新バージョンのユーザ数および前記総数により、前記サンプリング比を特定するように構成されるサンプリング比特定モジュール(図示せず)を更に備える。
【0050】
いくつかの実施例において、前記サンプリング比は40%である。
【0051】
いくつかの実施例において、前記サンプリング対象特定モジュール430は、前記少なくとも1つのバージョンの前記ユーザから、前記サンプリング数のユーザを前記サンプリング対象としてランダムに特定するように構成される第1サンプリング対象特定モジュール(図示せず)を含む。
【0052】
いくつかの実施例において、前記サンプリング対象特定モジュール430は、前記合計数および前記サンプリング数によりサンプリング係数を特定するように構成されるサンプリング係数特定モジュール(図示せず)と、前記少なくとも1つのバージョンの前記ユーザから、前記サンプリング係数を用いて前記サンプリング数のユーザを前記サンプリング対象として特定するように構成される第2サンプリング対象特定モジュール(図示せず)とを含む。
【0053】
いくつかの実施例において、前記サンプリング対象特定モジュール430は、前記少なくとも1つのバージョンの前記ユーザから、バージョンの高い順および対応するバージョンがインストールされてからの時間の長い順に従い、バージョンの最も高く、かつ対応するバージョンがインストールされた時間の最も長い前記サンプリング数のユーザを前記サンプリング対象として特定するように構成される第3サンプリング対象特定モジュール(図示せず)を含む。
【0054】
いくつかの実施例において、前記少なくとも2種のOSは、アンドロイドOSとアップルモバイルデバイスOSとを含む。
【0055】
いくつかの実施例において、サンプリング対象特定装置400は、前記サンプリング対象について前記アプリケーションの性能評価を行うように構成される性能評価モジュール440を更に備える。性能評価モジュール440は、サンプリング対象特定方法200におけるオプション的なブロック208中のステップに対応する動作を実行するように構成されるため、
図4において、破線の形式でオプション的なモジュールとして示される。
【0056】
本発明の実施例によれば、本発明は、電子機器およびコンピュータ可読記憶媒体を更に提供する。
【0057】
図5は、本発明の実施例によるアプリケーション評価効果の曲線500の模式図を示す。アプリケーション評価効果の曲線500は、第1曲線510、第2曲線520および第3曲線530を含む。アプリケーション評価効果の曲線500は、アプリケーションがアンドロイドOSおよびアップルモバイルデバイスOSという2種のOSにインストールされることを例として説明する。
【0058】
第1曲線510は、従来形態における第1種の方式でアプリケーションの最新バージョンと履歴バージョンとを混合した後の全体的な効果を評価測定する曲線である。この場合にサンプリングされたアンドロイドOSのユーザ数とサンプリングされたアップルモバイルデバイスOSのユーザ数との割合が、アンドロイドOSのユーザ総数とアップルモバイルデバイスOSのユーザ総数との割合と同じであり、例えば、10:3であるが、第1曲線510が平滑すぎることが見られるため、最新バージョンの業務表現を表示しにくい。
【0059】
第2曲線520は、従来形態における第2種の方式でアプリケーションの最新バージョンを評価測定する曲線である。機種の分布の不均一の影響により、この場合にサンプリングされたアンドロイドOSのユーザ数とサンプリングされたアップルモバイルデバイスOSのユーザ数との割合が、アンドロイドOSのユーザ総数とアップルモバイルデバイスOSのユーザ総数との割合と異なり、サンプリングされたアンドロイドOSの数が、サンプリングされたアップルモバイルデバイスOSの数よりも遥かに大きく、例えば、12:1であるため、評価データの変動は大きく、且つ、評価データはほとんどアンドロイドOSの業務表現を反映する。
【0060】
第3曲線530は、本発明のサンプリング対象特定方法に基づいてアプリケーションの最新バージョンを評価測定する曲線である。この場合、最新の1つまたは複数のバージョンをサンプリングするため、この場合にサンプリングされたアンドロイドOSのユーザ数とサンプリングされたアップルモバイルデバイスOSのユーザ数との割合が、アンドロイドOSのユーザ総数とアップルモバイルデバイスOSのユーザ総数との割合と同じ、例えば、10:3であるだけでなく、第3曲線530は、変動の小さい段階的な向上のような、業務表現に対する新バージョンの影響を正確に反映することもでき、この場合、評価データは高い確信度を有する。
【0061】
以上、
図1~
図5の記述を参照することにより、本発明の実施形態による技術案は、従来形態に対して多くの利点を有する。例えば、上記技術案を利用することで、アプリケーションに対して代表的な性能評価を行うことに使用可能なサンプリング対象を容易に特定することができ、特定したサンプリング対象についてアプリケーションの性能評価を行うことにより、アプリケーションの新たにリリースされたバージョンによる性能変化を正確に反映することができ、アプリケーションの発行者がアプリケーションをアップグレードして改良することに寄与するだけでなく、アプリケーションのユーザ体験の向上にも寄与する。
【0062】
図6は、本発明の実施例による電子機器の例示的なブロック図を示す。例えば、
図1に示す計算装置120および
図4に示すサンプリング対象特定装置400は、電子機器600により実施できる。電子機器600は、ラップトップ型コンピュータ、デスクトップ型コンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータのような様々な形式のデジタルコンピュータを表す。電子機器600は、携帯端末、携帯電話、スマートフォン、ウェララブル機器および他の類似する計算装置のような様々な形式の移動装置を表すこともできる。本発明に示されたコンポーネント、コンポーネントの接続、関係、およびコンポーネントの機能は例示的なものに過ぎず、本発明に記載および/または要求される本発明の実現を限定するものではない。
【0063】
図6に示すように、該電子機器600は、1つのまたは複数のプロセッサ601と、メモリ602と、複数のコンポーネントを接続するための高速インタフェースおよび低速インタフェースを含むインタフェースとを備える。複数のコンポーネントは、異なるバスで互に接続され、共通のマザーボードに取り付けられるかまたは必要に応じて他の方式で取り付けることができる。プロセッサ601は、電子機器600内で実行される命令を処理することができ、メモリ602内またはメモリ602上に記憶されて外部の入力/出力装置(例えば、インタフェースにカップリングされた表示デバイス)にグラフィカルユーザインタフェース(Graphical User Interface、GUI)のグラフィクス情報を表示するための命令を含む。他の実施形態において、必要があれば、複数のプロセッサ601および/または複数本のバスと、複数のメモリ602とを共に使用することができる。それと同様に、複数の電子機器600に接続することができ、複数の機器は、一部の必要な動作(例えば、サーバアレイ、ブレードサーバ群、またはマルチプロセッサシステムとする)を提供する。
図6において、1つのプロセッサ601を例とする。
【0064】
メモリ602は、本発明に係る非一時的なコンピュータ可読記憶媒体である。本発明に係るサンプリング対象特定方法を前記少なくとも1つのプロセッサに実行させるために、前記メモリには少なくとも1つのプロセッサにより実行可能な命令が記憶されている。本発明の非一時的なコンピュータ可読記憶媒体はコンピュータ命令を記憶し、該コンピュータ命令は、本発明に係るサンプリング対象特定方法をコンピュータに実行させることに用いられる。
【0065】
メモリ602は、非一時的なコンピュータ可読記憶媒体として、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能プログラムおよびモジュール、例えば、本発明の実施例におけるサンプリング対象特定方法に対応するプログラム命令/モジュール(例えば、
図4に示すサンプリング数特定モジュール410、バージョン特定モジュール420、サンプリング対象特定モジュール430および性能評価モジュール440)を記憶するために使用できる。プロセッサ601は、メモリ602に記憶された非一時的なソフトウェアプログラム、命令およびモジュールを実行することにより、サーバの様々な機能アプリケーションおよびデータ処理を実行し、即ち、上記方法の実施例におけるサンプリング対象特定方法を実現する。
【0066】
メモリ602は、プログラム記憶エリアおよびデータ記憶エリアを備えてもよく、ここで、プログラム記憶エリアは、OS、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データ記憶エリアは、電子機器600の使用に基づいて作成されたデータ等を記憶することができる。また、メモリ602は、高速ランダムアクセスメモリを含んでもよく、少なくとも1つの磁気ディスク記憶デバイス、フラッシュメモリ、または他の非一時的な固体記憶デバイスのような非一時的なメモリを更に含んでもよい。いくつかの実施例において、メモリ602は、プロセッサ601に対してリモートに設けられたメモリを含むことが好ましく、これらのリモートメモリは、ネットワークを介して電子地図の検索の電子機器に接続することができる。上記ネットワークの実例は、インターネット、イントラネット、ローカルエリアネットワーク、移動体通信ネットワークおよびその組み合わせを含んでもよいが、それらに限定されない。
【0067】
電子機器600は、入力装置603と、出力装置604とを備えてもよい。プロセッサ601、メモリ602、入力装置603および出力装置604は、バスまたは他の方式で接続することができ、
図6において、バスを介して接続することを例とする。
【0068】
入力装置603は、入力された数字または文字情報を受信し、電子機器600のユーザ設定および機能制御に関連するキー信号入力を生成することができ、例えば、タッチパネル、キーパッド、マウス、トラックパッド、タッチパッド、インジケータ、1つまたは複数のマウスボタン、トラックボール、ジョイスティック等の入力装置である。出力装置604は、表示デバイス、補助照明装置(例えば、発光ダイオード(Light Emitting Diode、LED))、および触覚フィードバック装置(例えば、振動モータ)等を含んでもよい。該表示デバイスは、液晶ディスプレイ(Liquid Crystal Display、LCD)、LEDディスプレイ、およびプラズマディスプレイを含んでもよいが、これらに限定されない。いくつかの実施形態において、表示デバイスはタッチパネルであってもよい。
【0069】
ここで説明するシステムおよび技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現できる。これらの様々な実施形態は以下を含んでもよい。1つまたは複数のコンピュータプログラムに実施され、該1つまたは複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行および/または解釈することができ、該プログラマブルプロセッサは、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受信し、且つデータおよび命令を、該ストレージシステム、該少なくとも1つの入力装置、および該少なくとも1つの出力装置に伝送することができる専用または汎用のプログラマブルプロセッサであってもよい。
【0070】
これらの計算プログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含み、且つ、高度なプロセスおよび/またはオブジェクト指向プログラミング言語、および/またはアセンブリ/機械言語を用いてこれらの計算プログラムを実施することができる。本発明に使用されるように、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、機器、および/または装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(Programmable Logic Device、PLD))を意味し、機械可読信号としての機械命令を受信する機械可読媒体を含む。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するための任意の信号を意味する。
【0071】
ユーザとのインタラクションを提供するために、ここで説明するシステムおよび技術をコンピュータで実施することができ、該コンピュータは、ユーザに情報を表示するための表示装置(例えば、陰極線管(Cathode Ray Tube、CRT)またはLCDモニタ)と、ユーザがそれにより入力をコンピュータに提供することができるキーボードおよび指向装置(例えば、マウスまたはトラックボール)とを有する。他の種類の装置は、更にユーザとのインタラクションを提供するために使用できる。ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、且つ、任意の形式(音入力、音声入力または、触覚入力を含む)でユーザからの入力を受信することができる。
【0072】
ここで説明するシステムおよび技術を、バックグラウンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、または中間コンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、またはフロントエンドコンポーネントを含むコンピューティングシステム(例えば、ユーザがそれによりここで説明するシステムおよび技術の実施形態とインタラクションできるグラフィカルユーザインタフェースまたはネットワークブラウザを有するユーザコンピュータ)、またはこのようなバックグラウンドコンポーネント、中間コンポーネント、またはフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムに実施することができる。任意の形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)により、システムのコンポーネントを互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(Local Area Network、LAN)、ワイドエリアネットワーク(Wide Area Network、WAN)、およびインターネットを含む。
【0073】
コンピュータシステムはクライアントおよびサーバを含んでもよい。クライアントとサーバとは、一般的に互いに離れ、且つ、通常、通信ネットワークを介してインタラクションを行う。対応するコンピュータで実行されて互いにクライアント-サーバ関係を持つコンピュータプログラムにより、クライアントとサーバとの関係を生成する。
【0074】
本発明の実施例による技術案は、最新バージョンから新しい順に複数のバージョンのデータを収集することによりアプリケーションの効果評価を行うことができ、且つ、最新バージョンにアップグレードされたユーザ数の増加速度が初めて緩やかになる際の最新バージョンのユーザ数により、ヘッドユーザの占有率を特定し、更にサンプリング比を特定する。この技術案を採用し、複数のOSに対して新バージョンをリリースする時間ウィンドウの不一致および収束速度の影響を受けない場合、新バージョンリリースによる影響を柔軟かつ容易に発見することができる。
【0075】
上記に示す様々な形式のフローを用い、ステップを並べ替え、追加または削除することができることを理解すべきである。例えば、本発明に記載された各ステップは、並列に実行されてもよいし、順に実行されてもよいし、異なる順序で実行されてもよく、本発明に開示された技術案の所望する結果を達成できる限り、本発明はここで限定しない。