(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-15
(45)【発行日】2024-05-23
(54)【発明の名称】タスク割り当て方法と装置、電子デバイス、コンピュータ可読媒体
(51)【国際特許分類】
G06F 9/50 20060101AFI20240516BHJP
【FI】
G06F9/50 150D
(21)【出願番号】P 2022552966
(86)(22)【出願日】2021-12-30
(86)【国際出願番号】 CN2021143052
(87)【国際公開番号】W WO2022262253
(87)【国際公開日】2022-12-22
【審査請求日】2022-11-07
(31)【優先権主張番号】202110672212.4
(32)【優先日】2021-06-17
(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)【代理人】
【識別番号】100099623
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100125380
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【氏名又は名称】田中 祐
(74)【代理人】
【氏名又は名称】池本 理絵
(72)【発明者】
【氏名】リウ,フアリ
(72)【発明者】
【氏名】ホアン,チー
(72)【発明者】
【氏名】ジャン,ペイ
(72)【発明者】
【氏名】シェン,フイリン
【審査官】漆原 孝治
(56)【参考文献】
【文献】特開2011-150472(JP,A)
【文献】特開2016-024697(JP,A)
【文献】特開2010-218277(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
(57)【特許請求の範囲】
【請求項1】
受信したテストタスク要求に基づいて、少なくとも1つのテストタスクを含むテストタスクリストを生成するステップと、
少なくとも1つの端末に現在割り当てられているタスクを取得するステップと、
現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算したことに応じて、前記負荷情報に基づいて、異なるタスク割り当てルールを採用して前記テストタスクリスト内のテストタスクを各端末に割り当てるステップであって、前記負荷情報は、現在割り当てられているタスクを実行するために各端末にかかる推定時間と生成されるデータ量を含む、ステップと
を含
み、
前記負荷情報に基づいて、異なるタスク割り当てルールを採用して前記テストタスクリスト内のテストタスクを各端末に割り当てるステップは、
前記負荷情報に基づいて、前記少なくとも1つの端末における軽負荷端末と重負荷端末を決定するステップと、
すべての端末における前記軽負荷端末と前記重負荷端末の割合に基づいて、異なるタスク割り当てルールを採用して前記テストタスクリスト内のテストタスクを各端末に割り当てるステップと
を含む、
タスク割り当て方法。
【請求項2】
現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算できず、且つ前記テストタスクリスト内のテストタスク数が事前に設定された数よりも多い場合に、前記テストタスクリスト内のテストタスクを各端末にリアルタイムで割り当てるステップをさらに含む請求項1に記載の方法。
【請求項3】
前記すべての端末における前記軽負荷端末と前記重負荷端末の割合に基づいて、異なるタスク割り当てルールを採用して前記テストタスクリスト内のテストタスクを各端末に割り当てるステップは、
前記少なくとも1つの端末が軽負荷端末と重負荷端末を含むことに応じて、前記軽負荷端末の負荷情報が前記重負荷端末の負荷情報と同じになるまで、前記テストタスクリスト内の一部のテストタスクを前記軽負荷端末に順番に割り当てるステップと、
前記テストタスクリストに残りのテストタスクがあると決定されたことに応じて、前記残りのテストタスクをすべての端末にリアルタイムで割り当てるステップと
を含む、請求項
1に記載の方法。
【請求項4】
前記すべての端末における前記軽負荷端末と前記重負荷端末の割合に基づいて、異なるタスク割り当てルールを採用して前記テストタスクリスト内のテストタスクを各端末に割り当てるステップは、
すべての端末が軽負荷端末であると決定されたことに応じて、前記テストタスクリスト内のテストタスクのタスク数とすべての端末の端末数を計算するステップと、
前記タスク数が前記端末数よりも多く、且つ両者の残りがゼロでない場合に、前記テストタスクリスト内のM個のテストタスクを、すべての端末における前にある残りの各端末に割り当て、前記テストタスクリスト内のN個のテストタスクを、すべての端末における前にある残りの端末を除く各端末に割り当てるステップであって、Mは、タスク数と端末数の商に1を足した数であり、Nは、タスク数と端末数の商である、ステップと
を含む、請求項
1に記載の方法。
【請求項5】
前記すべての端末における前記軽負荷端末と前記重負荷端末の割合に基づいて、異なるタスク割り当てルールを採用して前記テストタスクリスト内のテストタスクを各端末に割り当てるステップは、前記タスク数が前記端末数以下である場合に、前記テストタスクリスト内の1つのテストタスクを、すべての端末における前にあるタスク数の各端末に割り当てるステップをさらに含む、請求項
4に記載の方法。
【請求項6】
前記すべての端末における前記軽負荷端末と前記重負荷端末の割合に基づいて、異なるタスク割り当てルールを採用して前記テストタスクリスト内のテストタスクを各端末に割り当てるステップは、すべての端末が重負荷端末であると決定された場合に、前記テストタスクリスト内のテストタスクを各端末にリアルタイムで割り当てるステップを含む、請求項
1に記載の方法。
【請求項7】
受信したテストタスク要求に基づいて、少なくとも1つのテストタスクを含むテストタスクリストを生成する生成ユニットと、
少なくとも1つの端末に現在割り当てられているタスクを取得する取得ユニットと、
現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算したことに応じて、前記負荷情報に基づいて、異なるタスク割り当てルールを採用して前記テストタスクリスト内のテストタスクを各端末に割り当てる実行ユニットであって、前記負荷情報は、現在割り当てられているタスクを実行するために各端末にかかる推定時間と生成されるデータ量を含む、実行ユニットと
を有
し、
前記実行ユニットは、
前記負荷情報に基づいて、前記少なくとも1つの端末における軽負荷端末と重負荷端末を決定する決定モジュールと、
すべての端末における前記軽負荷端末と前記重負荷端末の割合に基づいて、異なるタスク割り当てルールを採用して前記テストタスクリスト内のテストタスクを各端末に割り当てる実行モジュールと
を有する、
タスク割り当て装置。
【請求項8】
現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算できず、且つ前記テストタスクリスト内のテストタスク数が事前に設定された数よりも多い場合に、前記テストタスクリスト内のテストタスクを各端末にリアルタイムで割り当てる割り当てユニットをさらに有する請求項
7に記載の装置。
【請求項9】
前記実行モジュールは、
前記少なくとも1つの端末が軽負荷端末と重負荷端末を含むことに応じて、前記軽負荷端末の負荷情報が前記重負荷端末の負荷情報と同じになるまで、前記テストタスクリスト内の一部のテストタスクを前記軽負荷端末に順番に割り当てるデュアルターミナルモジュールと、
前記テストタスクリストに残りのテストタスクがあると決定されると、前記残りのテストタスクをすべての端末にリアルタイムで割り当てるテストサブモジュールと
を有する、請求項
7に記載の装置。
【請求項10】
前記実行モジュールは、
すべての端末が軽負荷端末であると決定された場合に、前記テストタスクリスト内のテストタスクのタスク数とすべての端末の端末数を計算する軽負荷端末サブモジュールと、
前記タスク数が前記端末数よりも多く、且つ両者の残りがゼロでない場合に、前記テストタスクリスト内のM個のテストタスクを、すべての端末における前にある残りの各端末に割り当て、前記テストタスクリスト内のN個のテストタスクを、すべての端末における前にある残りの端末を除く各端末に割り当てる第1割り当てサブモジュールであって、Mは、タスク数と端末数の商に1を足した数であり、Nは、タスク数と端末数の商である、第1割り当てサブモジュールと
を有する、請求項
7に記載の装置。
【請求項11】
前記実行モジュールは、
前記タスク数が前記端末数以下である場合に、前記テストタスクリスト内の1つのテストタスクを、すべての端末における前にあるタスク数の各端末に割り当てる第2割り当てサブモジュールをさらに有する、請求項
10に記載の装置。
【請求項12】
前記実行モジュールは、
すべての端末が重負荷端末であると決定された場合に、前記テストタスクリスト内のテストタスクを各端末にリアルタイムで割り当てる重負荷端末サブモジュールを有する、請求項
7に記載の装置。
【請求項13】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに対し通信可能に接続されたメモリと
を有し、
前記メモリに、前記少なくとも1つのプロセッサにより実行可能な命令が記憶され、前記命令は前記少なくとも1つのプロセッサにより実行され、前記少なくとも1つのプロセッサが請求項1~
6のいずれか1項に記載の方法を実行する、
電子デバイス。
【請求項14】
請求項1~
6のいずれか1項に記載の方法
をコンピュータに実行させるために使用されるコンピュータ命令が記憶される非一時的な、コンピュータ読み取り可能な記憶媒体。
【請求項15】
プロセッサにより実行されると請求項1~
6のいずれか1項に記載の方法を実現するコンピュータプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
<関連出願の相互参照>
本出願は、2021年6月17日に提出された、出願番号が202110672212.4であり、発明の名称が「タスク割り当て方法と装置、電子デバイス、コンピュータ可読媒体」である中国特許出願の優先権を主張し、その全内容は、参照により本明細書に組み込まれる。
【0002】
本開示は、タスク割り当ての技術分野に関し、特にオンラインテスト、クラウドコンピューティングなどの技術分野に関し、特にタスク割り当て方法と装置、電子デバイス、コンピュータ可読媒体及びコンピュータプログラム製品に関する。
【背景技術】
【0003】
現在、中国には膨大な数の携帯電話ユーザグループがあり、その豊富なアプリケーションは携帯電話ユーザにとって必須となっている。ユーザが前記アプリケーションの長期間使用を選択できれば、当該アプリケーションは優れた機能を備えている必要があるため、携帯電話製品を発売する前に多くのテスト作業を行う必要がある。
【0004】
携帯電話をテストするためのテストタスクの数は、多くの場合、数百又は数千に達する可能性がある。手動テストを使用すると、コストが高くなり、効率が比較的低くなり、各携帯電話にテストタスクを平衡的に割り当てるという目的を達成することができない。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示は、タスク割り当て方法と装置、電子デバイス、コンピュータ可読媒体及びコンピュータプログラム製品を提供する。
【0006】
第1態様によれば、タスク割り当て方法を提供し、
当該方法は、
受信したテストタスク要求に基づいて、テストタスクリストを生成し、テストタスクリストは、少なくとも1つのテストタスクを含むことと、
少なくとも1つの端末の現在割り当てられているタスクを取得することと、
現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算したことに応答して、負荷情報に基づいて、異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当て、ここで、負荷情報は、現在割り当てられているタスクを実行するために各端末にかかる推定時間と生成されるデータ量を含むことと、を含む。
【0007】
第2態様によれば、タスク割り当て装置を提供し、
当該装置は、
受信したテストタスク要求に基づいて、少なくとも1つのテストタスクを含むテストタスクリストを生成するように構成される生成ユニットと、
少なくとも1つの端末の現在割り当てられているタスクを取得するように構成される取得ユニットと、
実行ユニットであって、前記実行ユニットは、現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算したことに応答して、負荷情報に基づいて、異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てるように構成され、ここで、負荷情報は、現在割り当てられているタスクを実行するために各端末にかかる推定時間と生成されるデータ量を含む実行ユニットと、を含む。
【0008】
第3態様によれば、電子デバイスを提供し、
当該電子デバイスは、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されたメモリと、を含み、ここで、
メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、少なくとも1つのプロセッサが第1態様のいずれか実装形態に記載されている方法を実行できるように、前記少なくとも1つのプロセッサによって実行される。
【0009】
第4態様によれば、コンピュータ命令が記憶される非一時的なコンピュータ読み取り可能な記憶媒体を提供し、ここで、コンピュータ命令は、コンピュータに第1態様のいずれか実装形態に記載されている方法を実行させるために使用される。
【0010】
第5態様によれば、コンピュータプログラムを含むコンピュータプログラム製品を提供し、コンピュータプログラムがプロセッサによって実行されるとき、第1態様のいずれか実装形態に記載されている方法を実現する。
【0011】
本開示の実施例が提供するタスク割り当て方法と装置では、
まず、受信したテストタスク要求に基づいて、テストタスクリストを生成し、テストタスクリストは、少なくとも1つのテストタスクを含み、
再び、少なくとも1つの端末の現在割り当てられているタスクを取得し、
最後に、現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算したことに応答して、負荷情報に基づいて、異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てる。
これにより、現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算できる場合、異なるタスク割り当てルールに基づいてテストタスクを各端末に割り当て、それによりすべての端末における各端末がテストタスクを実行するときの負荷のバランスを確保でき、テストタスクの手動割り当てと比較して、タスク割り当ての効率が向上する。
【0012】
この一部に記載されている内容は、本開示の実施例の主要な又は重要な特徴を特定することを意図しておらず、本開示の範囲を限定するものでもないことを理解すべきである。本開示の他の特徴は、以下の説明を通じて容易に理解される。
【図面の簡単な説明】
【0013】
図面は、本スキームをよりよく理解するために使用されており、本開示を限定するものではない。
【
図1】本開示によるタスク割り当て方法の一実施例のフローチャートである。
【
図2】本開示によるタスク割り当て方法の別の実施例のフローチャートである。
【
図3】本開示によるタスク割り当て装置の実施例の概略構造図である。
【
図4】本開示の実施例に係るタスク割り当て方法を実現するために使用される電子デバイスのブロック図である。
【発明を実施するための形態】
【0014】
以下、本開示の例示的な実施例について、図面を参照して説明し、それには理解を容易にするために本開示の実施例の様々な詳細が含まれており、それらが単なる例示的であると見なされるべきである。したがって、当業者は、開示の範囲及び精神から逸脱することなく、本明細書に記載される実施例の様々な変更及び修正を行うことができることを認識すべきである。同様に、わかりやすく簡潔にするために、以下の説明では、よく知られている機能と構造の説明を省略している。
【0015】
図1は、本開示によるタスク割り当て方法の一実施例のフロー100を示しており、上記タスク割り当て方法は、以下のステップを含む。
【0016】
ステップ101:受信したテストタスク要求に基づいて、テストタスクリストを生成する。
【0017】
本実施例では、タスク割り当て方法が実行される電子デバイスは、有線接続方式又は無線接続方式でサーバが送信したタスク要求を受信することができる。当該タスク要求は、たとえば、端末の表示解像度をテストするための要求、端末の画面更新頻度を取得するための要求などであってもよい。ここで、上記タスク要求は、1つの要求であってもよいし、複数の要求であってもよい。タスク要求を受信した後、上記電子デバイスは、タスク要求に基づいて、テストタスクリストを生成する。上記電子デバイスがテストタスクを端末に送信した後、端末は、テストタスクを実行し、テストタスクの実行結果を上記電子デバイスにフィードバックする。
【0018】
本実施例では、生成されたテストタスクリスト内のテストタスクは、テストタスク要求に基づいてどの端末にも割り当てられていないタスクであり、上記電子デバイスは、すべてのテストタスクを組み合わせて、既存のオンライン端末に割り当てる。
【0019】
ステップ102:少なくとも1つの端末の現在割り当てられているタスクを取得する。
【0020】
本実施例では、端末(Terminal)は、端末デバイスとも呼ばれ、コンピュータネットワークにおけるネットワークの最周辺に位置するデバイスであり、主にユーザ情報の入力及び処理結果の出力などに使用される。
【0021】
本実施例では、端末デバイスは、携帯端末やデバイス端末などであってもよく、端末はさらに、クラウドフォン(Cloud phone)などのクラウドコンピューティング技術と組み合わせた携帯端末であってもよく、クラウドフォンは、クラウドコンピューティング技術をネットワーク端末サービスに適用して、クラウドサーバを介してクラウドサービスを実現する携帯電話である。クラウドフォンは、ネットワークサービスに緊密に統合されたスマートフォンであり、このタイプの携帯電話は、独自のシステム及びメーカーが設定したネットワーク端末により、ネットワークを介して多くの機能を実現することができる。
【0022】
クラウドフォンは、モバイルブロードバンドネットワーク、携帯電話オンラインの特性及びクラウド技術の特徴を十分に利用し、携帯電話をネットワークシステム全体に接続する。
【0023】
本実施例では、少なくとも1つの端末は、現在のネットワーク内のオンライン端末であり、各端末は、現在割り当てられているタスクを実行しているか、又は現在割り当てられているすべてのタスクを完了しており、上記電子デバイスは、現在すべての端末に割り当てられているタスクに従って各端末のタスク負荷を計算し、それにより端末にテストタスクを割り当てるかどうかを決定する。
【0024】
本実施例では、各端末の現在割り当てられているタスクは、テストタスクであってもよいし、他の端末が実行する必要のあるタスクであってもよく、これに関して、本開示はそれを限定するものではない。
【0025】
ステップ103:現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算したことに応答して、負荷情報に基づいて、異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てる。
【0026】
ここで、負荷情報は、現在割り当てられているタスクを実行するために各端末にかかる推定時間と生成されるデータ量を含む。
【0027】
本実施例では、すべての端末は、上記少なくとも1つの端末のすべての総称であり、すなわち、すべての端末も、少なくとも1つの端末と同じである。
【0028】
本実施例では、現在割り当てられているタスクを実行している端末の負荷情報には、計算できる場合と計算できない場合の2つがあり、現在割り当てられているタスクを実行している端末の負荷情報を計算できるかどうかは、現在割り当てられているタスクを実行している端末の履歴実行データがあるかどうかによって決定される。
【0029】
現在割り当てられているタスクが初めて端末に割り当てられ、当該割り当てられたタスクに履歴実行データがない場合、現在割り当てられているタスクを実行するために各端末にかかる時間消費量と生成されるデータ量を推定又は計算することができない。
【0030】
現在割り当てられているタスクに履歴実行データがある場合、現在割り当てられているタスクが完了していなくても、履歴実行データを介して現在割り当てられているタスクの履歴時間と履歴データ量を決定することができ、すべての履歴時間及び履歴データ量の平均値を推定することにより、現在割り当てられたタスクの負荷情報を推定する。
【0031】
本実施例では、タスク割り当てルールが少なくとも2つであってもよく、2つのタスク割り当てルールは異なる。少なくとも2つのタスク割り当てルールは、タスクを平均に割り当てるルールとタスクをリアルタイムで割り当てるルールを含み得る。
【0032】
本実施例では、上記タスクをリアルタイムで割り当てるルールは、テストタスクリスト内のテストタスクを各端末にリアルタイムで割り当てることを含む。当該タスクをリアルタイムで割り当てるルールは、すべての端末における複数の端末がアイドル状態にあるときに、テストタスクリスト内のテストタスクを当該複数の端末に順番にリアルタイムで割り当てることができる。
【0033】
本実施例では、上記タスクを平均に割り当てるルールは、
テストタスクリスト内のテストタスクのタスク数とすべての端末の端末数を計算することと、
タスク数が端末数よりも多く、且つ両者の残りがゼロでない場合、テストタスクリスト内のM個のテストタスクを、すべての端末における前にある残りの各端末に割り当て、すべての端末における前にある残りの端末を除く各端末にテストタスクリスト内のN個のテストタスクを割り当て、ここで、Mは、タスク数と端末数の商に1を足した数であり、Nは、タスク数と端末数の商であることと、
タスク数が端末数以下である場合、すべての端末における前にあるタスク数の各端末にテストタスクリスト内の1つのテストタスクを割り当てることと、を含む。
【0034】
本実施例では、上記負荷情報に基づいて異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てることは、
現在割り当てられているタスクを実行するためにすべての端末における各端末にかかる推定時間消費量が設定時間よりも大きい場合、又は生成されるデータ量が設定データ量よりも多い場合、タスクをリアルタイムで割り当てるルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てることと、
現在割り当てられているタスクを実行するためにすべての端末における各端末にかかる推定時間消費量が設定時間以下である場合、又は生成されるデータ量が設定データ量以下である場合、タスクを平均に割り当てるルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てることと、を含み得る。
本実施例では、設定時間又は設定データ量は、割り当てられたタスクのタイプなどの情報に従って算出された時間又は量である。
【0035】
オプションで、上記負荷情報に基づいて異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てることは、
現在割り当てられているタスクを実行するためにすべての端末における一部の端末にかかる推定時間消費量が設定時間よりも大きい場合、タスクをリアルタイムで割り当てるルールを採用してテストタスクリスト内の一部のテストタスクを当該一部の端末に割り当てることと、
タスクを平均に割り当てるルールを採用してテストタスクリスト内の当該一部のテストタスクを除くテストタスクをすべての端末における当該一部の端末を除く端末に割り当てることと、をさらに含み得る。
【0036】
本実施例では、すべての端末がテストタスクリスト内のすべてのテストタスクの実行を終了すると、各端末がそれぞれのテストタスクのテスト結果を上記電子デバイスに出力して、テストレポートを生成し、テストプロセス全体が終了する。
【0037】
本開示の実施例が提供するタスク割り当て方法では、
まず、受信したテストタスク要求に基づいて、少なくとも1つのテストタスクを含むテストタスクリストを生成し、
再び、少なくとも1つの端末の現在割り当てられているタスクを取得し、
最後に、現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算したことに応答して、負荷情報に基づいて、異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てる。
これにより、現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算できる場合、異なるタスク割り当てルールに基づいて、テストタスクを各端末に割り当て、それによりすべての端末における各端末がテストタスクを実行するときの負荷のバランスを確保でき、テストタスクの手動割り当てと比較して、タスク割り当ての効率が向上する。
【0038】
本実施例のいくつかのオプションの実装形態では、現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算できず、且つテストタスクリスト内のテストタスク数が事前設定された数よりも多いことに応答して、テストタスクリスト内のテストタスクを各端末にリアルタイムで割り当てる。
【0039】
本オプションの実装形態では、割り当てられたタスクの異なるタイプに基づいて、端末の現在割り当てられているタスクの操作ステップにオペレータの参加が必要になる場合があり、オペレータの操作時間と反応時間は、個人によって異なるため、オペレータが操作していないときは、割り当てられたタスクの負荷情報を推定することができず、さらに、現在割り当てられているタスクを実行している端末の負荷情報を推定できるかどうかは、現在割り当てられているタスクに履歴実行データがあるかどうかにも基づいており、現在割り当てられているタスクに任意の履歴実行データがない場合は、テストタスクを各端末にリアルタイムで割り当てる必要があり、すなわち、タスクをリアルタイムで割り当てるルールを実行する必要がある。
【0040】
本オプションの実装形態では、現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算できないとき、テストタスクを各端末にリアルタイムで割り当てることにより、各端末がテストタスクを得る効率を向上させる。
【0041】
本実施例のいくつかのオプションの実装形態では、上記負荷情報に基づいて、異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てることは、
負荷情報に基づいて、少なくとも1つの端末における軽負荷端末と重負荷端末を決定することと、
すべての端末における軽負荷端末と重負荷端末の割合に基づいて、異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てることと、を含む。
【0042】
本実施例では、軽負荷端末とは、少なくとも1つの端末において現在割り当てられているタスクの時間消費量が時間しきい値以下である端末を指し、重負荷端末とは、少なくとも1つの端末において現在割り当てられているタスクの時間消費量が時間しきい値よりも大きい端末を指し、ここで、時間しきい値は、割り当てられたタスクの履歴実行時間消費量の平均値であってもよい。
【0043】
本実施例では、すべての端末における軽負荷端末と重負荷端末の割合とは、少なくとも1つの端末における軽負荷端末と重負荷各端末の含有量を指し、たとえば、少なくとも1つの端末が軽負荷端末である場合、軽負荷端末がすべての端末を占め、少なくとも1つの端末が重負荷端末である場合、重負荷端末がすべての端末を占める。
【0044】
オプションで、上記すべての端末における軽負荷端末と重負荷端末の割合に基づいて異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てることは、
すべての端末における各端末はいずれも、重負荷端末である場合、タスクをリアルタイムで割り当てるルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てることと、
すべての端末における各端末はいずれも、軽負荷端末である場合、タスクを平均に割り当てるルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てることと、を含み得る。
【0045】
本オプションの実装形態では、すべての端末が軽負荷端末と重負荷端末に区分され、すべての端末における軽負荷端末と重負荷端末の割合に基づいて、異なるタスク割り当てルールを採用してテストタスクを割り当てることにより、軽負荷端末と重負荷端末のタスクのバランスを確保することができる。
【0046】
本実施例のいくつかのオプションの実装形態では、上記すべての端末における軽負荷端末と重負荷端末の割合に基づいて異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てることは、
少なくとも1つの端末が軽負荷端末と重負荷端末を含むことに応答して、軽負荷端末の負荷情報が重負荷端末の負荷情報と同じになるまで、テストタスクリスト内の一部のテストタスクを軽負荷端末に順番に割り当てることと、
テストタスクリストに残りのテストタスクがあると決定したことに応答して、残りのテストタスクをすべての端末にリアルタイムで割り当てることと、を含む。
【0047】
本オプションの方式では、軽負荷端末の既存の負荷情報によれば、テストタスクのタスク量が重負荷端末の平均時間消費量に相当するテストタスクを順番に割り当て、このラウンドの割り当てタスクの実行が終了すると、より多くの端末がリリースされ、テストリスト内の残りのテストタスクは、タスクをリアルタイムで割り当てるルールを採用してすべての端末に割り当てられる。
【0048】
オプションで、テストタスクリストに残りのテストタスクがないことが検出された場合、どの端末にもテストタスクを割り当てる必要はない。
【0049】
本実施例のオプションの実装形態では、すべての端末に軽負荷端末と重負荷端末がある場合、まず、テストタスクを軽負荷端末に割り当て、それにより軽負荷端末と重負荷端末の負荷が等しくなった後、オンライン端末がすべて同じ負荷量を有することができることを確保できるため、端末内のすべてのリソースが可能な限り十分に活用されることが確保され得る。
【0050】
本実施例のいくつかのオプションの実装形態では、上記すべての端末における軽負荷端末と重負荷端末の割合に基づいて異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てることは、
すべての端末が軽負荷端末であると決定したことに応答して、テストタスクリスト内のテストタスクのタスク数とすべての端末の端末数を計算することと、
タスク数が端末数よりも多く、且つ両者の残りがゼロでないことに応答して、すべての端末における前にある残りの各端末にテストタスクリスト内のM個のテストタスクを割り当て、すべての端末における前にある残りの端末を除く各端末にテストタスクリスト内のN個のテストタスクを割り当て、ここで、Mは、タスク数と端末数の商に1を足した数であり、Nは、タスク数と端末数の商であることと、を含む。
【0051】
本オプションの実装形態で採用されたタスク割り当てルールは、タスクを平均に割り当てるルールであり、すべての端末が軽負荷端末である場合、すべての端末における重負荷端末の割合はゼロである。
【0052】
本実施例では、少なくとも1つの各端末はいずれも、テストリスト内のテストタスクを実行することができ、たとえば、現在の第1テストタスクは、実行のために第1端末に送信され、別のタスクテストリスト内の第1テストタスクは、実行のために第2端末に送信される可能性があり、ここで、第1端末と第2端末はいずれも、少なくとも1つの端末における端末である。
【0053】
一例では、電子デバイスは、M個のテストタスクをN個のクラウドフォン(当該N個のクラウドフォンはいずれも、軽負荷端末である)に割り当て、M>Nの場合、a=M%Nとすると、前にあるa個のクラウドモバイルデバイスには、M/N+1個のテストタスクがあり、他のデバイスには、M/N個のテストタスクがあり、たとえば、Mが100であり、Nが8である場合、aが4であり、 M/N=12であり、すなわち、8つのクラウドフォンのうちの4つのクラウドフォンはいずれも、12+1個のテストタスクに割り当てられ、他の4つのクラウドフォンは、12個のテストタスクに割り当てられる。
【0054】
本オプションの実装形態では、すべての端末が軽負荷端末である場合、上記タスク割り当てルールを採用してテストタスクを各端末に割り当て、割り当て方式が比較的簡単であるため、タスク割り当ての時間を節約することができる。
【0055】
本実施例のいくつかのオプションの実装形態では、上記すべての端末における軽負荷端末と重負荷端末の割合に基づいて異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てることは、
タスク数が端末数以下であることに応答して、すべての端末における前にあるタスク数の各端末にテストタスクリスト内の1つのテストタスクを割り当てることをさらに含む。
【0056】
本オプションの実装形態では、電子デバイスを使用して、M個のテストタスクを、N個のクラウドフォン(当該N個のクラウドフォンはいずれも、軽負荷端末である)に割り当て、M≦N個の場合、前にあるM個のデバイスのそれぞれに1つのテストタスクが割り当てられ、上記割り当てルールは、タスクを平均に割り当てるルールにも属し、すべての端末が軽負荷端末である場合、タスクを平均に割り当てるルールを採用してテストタスクを割り当て、これは、比較的簡単であるが、各テストタスクの時間が固定されていないか、又は同じでない可能性があるため、効率が最適でない可能性がある。
【0057】
本オプションの実装形態では、タスク数と端末数に基づいて、直接割り当てルールを採用して1つのテストタスクを各端末に割り当てることにより、テストタスクの実施の有効性を確保することができる。
【0058】
本実施例のいくつかのオプションの実装形態では、上記すべての端末における軽負荷端末と重負荷端末の割合に基づいて異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てることは、すべての端末が重負荷端末であると決定したことに応答して、テストタスクリスト内のテストタスクを各端末にリアルタイムで割り当てることを含む。
【0059】
本オプションの実装形態で採用されたタスク割り当てルールは、タスクをリアルタイムで割り当てるルールであり、すべての端末が重負荷端末である場合、すべての端末における軽負荷端末の割合はゼロである。
【0060】
本オプションの実装形態では、タスクをリアルタイムで割り当てるルールを採用して、テストタスクリスト内のテストタスクを各端末にリアルタイムで割り当てる。タスクをリアルタイムで割り当てるルールは、最初に第1ラウンドのタスク割り当てを実行し、各端末に1つのテストタスクを割り当て、1つの端末のテストタスクの実行が完了するたびに(上記電子デバイスと端末の通信によりテストタスクを実行し、この実行プロセスがブロックされ、端末がテストタスクを実行した後、実行結果を上記電子デバイスに戻すと、端末の実行が完了したかどうかを決定できる)、この時点で、まだテストタスクリストに実行するテストタスクがある場合、テストタスクリスト内のすべてのテストタスクがすべて割り当てられるまで、1つのテストタスクをタスクが完了した端末に割り当てることである。
【0061】
本オプションの実装形態では、すべての端末が重負荷端末である場合、テストタスクを各端末にリアルタイムで割り当てることにより、各端末がテストタスクを実行する効率を向上させることができる。
【0062】
図2は、本開示によるタスク割り当て方法の別の実施例のフローチャートを示しており、上記タスク割り当て方法は、以下のステップを含む。
【0063】
ステップ201:受信したテストタスク要求に基づいて、テストタスクリストを生成し、その後、ステップ202を実行する。
【0064】
ステップ202:少なくとも1つの端末の現在割り当てられているタスクを取得し、その後、ステップ203を実行する。
【0065】
上記ステップ201~202における操作及び特徴は、それぞれステップ101~102における操作及び特徴に対応することを理解すべきである。したがって、ステップ101~102での操作及び特徴の上記説明は、ステップ201~202にも同様に適用でき、詳細はここでは繰り返さない。
【0066】
ステップ203:現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算できるかどうかを判断し、現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算できる場合は、ステップ204を実行し、そうでない場合は、ステップ208を実行する。
【0067】
本実施例では、現在割り当てられているタスクを実行している各端末の履歴データを取得することにより、履歴データの有無に基づいて、負荷情報を計算できるかどうかを決定することができる。具体的には、現在割り当てられているタスクを実行している端末の履歴データがない場合は、現在割り当てられているタスクを実行している端末の負荷情報を計算できないと決定される。現在割り当てられているタスクを実行している端末の履歴データがある場合は、現在割り当てられているタスクを実行している端末の負荷情報を計算できると決定される。
【0068】
ステップ204:少なくとも1つの端末における軽負荷端末と重負荷端末を決定し、すべての端末における軽負荷端末と重負荷端末の割合を計算し、その後、ステップ205を実行する。
【0069】
本実施例では、少なくとも1つの端末は、すべて軽負荷端末であってもよいし、すべて重負荷端末であってもよく、軽負荷端末と重負荷端末の両方を含み得る。
【0070】
ステップ205:割合に基づいて、すべての端末が軽負荷端末であるかどうかを判断し、すべての端末が軽負荷端末である場合は、ステップ206を実行し、すべての端末がすべて軽負荷端末でない場合は、ステップ209を実行する。
【0071】
ステップ206:タスクを平均に割り当てるルールを採用してテストタスクリスト内のテストタスクを各端末に割り当て、その後、ステップ207を実行する。
【0072】
本実施例では、上記タスクを平均に割り当てるルールは、
テストタスクリスト内のテストタスクのタスク数とすべての端末の端末数を計算することと、
タスク数が端末数よりも多く、且つ両者の残りがゼロでない場合、テストタスクリスト内のM個のテストタスクをすべての端末における前にある残りの各端末に割り当て、テストタスクリスト内のN個のテストタスクをすべての端末における前にある残りの端末を除く各端末に割り当て、ここで、Mは、タスク数と端末数の商に1を足した数であり、Nは、タスク数と端末数の商であることと、
タスク数が端末数以下である場合、テストタスクリスト内の1つのテストタスクをすべての端末における前にあるタスク数の各端末に割り当てることと、を含む。
【0073】
ステップ207:終了する。
【0074】
ステップ208:タスクをリアルタイムで割り当てるルールを採用してテストタスクリスト内のテストタスクを各端末に割り当て、その後、ステップ207を実行する。
【0075】
本実施例では、タスクをリアルタイムで割り当てるルールは、テストタスクリスト内のテストタスクを各端末にリアルタイムで割り当てることを含む。当該タスクをリアルタイムで割り当てるルールは、すべての端末における複数の端末がアイドル状態にあるときに、テストタスクリスト内のテストタスクを当該複数の端末に順番にリアルタイムで割り当てることができる。
さらに、タスクをリアルタイムで割り当てるルールは、
最初に第1ラウンドのタスク割り当てを実行し、各端末に1つのテストタスクを割り当てることと、
1つの端末のテストタスクの実行が完了するたびに(上記電子デバイスと端末の通信によりテストタスクを実行し、この実行プロセスがブロックされ、端末は、テストタスクを実行した後、実行結果を上記電子デバイスに戻すと、端末の実行が完了したかどうかを決定できる)、この時点で、まだテストタスクリストに実行するテストタスクがある場合、テストタスクリスト内のすべてのテストタスクがすべて割り当てられるまで、1つのテストタスクをタスクが完了した端末に割り当てることと、をさらに含み得る。
【0076】
ステップ209:すべての端末が重負荷端末であるかどうかを判断し、すべての端末が重負荷端末である場合、ステップ208を実行し、すべての端末がすべて重負荷端末でない場合、ステップ210を実行する。
【0077】
ステップ210:タスクを平衡的に割り当てるルールを採用してテストタスクリスト内のテストタスクを各端末に割り当て、その後、ステップ207を実行する。
【0078】
本実施例では、上記タスクを平衡的に割り当てるルールは、
すべての端末が軽負荷端末と重負荷端末を含む場合、軽負荷端末の負荷情報が重負荷端末の負荷情報と同じになるまで、テストタスクリスト内の一部のテストタスクを軽負荷端末に順番に割り当てることと、
テストタスクリストに残りのテストタスクがあると決定したことに応答して、残りのテストタスクをすべての端末にリアルタイムで割り当てることと、を含む。
【0079】
本実施例では、端末の負荷情報に基づいて、タスクを平衡的に割り当てるルール、タスクを平均に割り当てるルール、及びタスクをリアルタイムで割り当てるルールの3つの異なるタスク割り当てルールを採用して、テストタスクリスト内のテストタスクを各端末に割り当て、それによりテストタスク割り当てのバランスと合理性を確保することができる。
【0080】
さらに
図3を参照すると、上記各図に示される方法の実現として、本開示は、タスク割り当て装置の一実施例を提供し、当該装置の実施例は、
図1に示される方法の実施例に対応し、当該装置は、様々な電子デバイスに特に適用することができる。
【0081】
図3に示すように、本実施例が提供するタスク割り当て装置300は、生成ユニット301、取得ユニット302、及び実行ユニット303を含む。ここで、上記生成ユニット301は、受信したテストタスク要求に基づいて、テストタスクリストを生成するように構成され得、テストタスクリストは、少なくとも1つのテストタスクを含む。上記実行ユニット302は、少なくとも1つの端末の現在割り当てられているタスクを取得するように構成され得る。上記提取ユニット303は、現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算したことに応答して、負荷情報に基づいて、異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てるように構成され得、ここで、負荷情報は、現在割り当てられているタスクを実行するために各端末にかかる推定時間と生成されるデータ量を含む。
【0082】
本実施例では、タスク割り当て装置300において、生成ユニット301、取得ユニット302、及び実行ユニット303の特定の処理及びそれによってもたらされる技術的効果については、
図1に対応する実施例におけるステップ101、ステップ102、及びステップ103の関連する説明をそれぞれ参照することができ、詳細はここでは繰り返さない。
【0083】
本実施例のいくつかのオプションの実装形態では、上記装置300は、割り当てユニット(図示せず)をさらに含む。ここで、上記割り当てユニットは、現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算できず、且つテストタスクリスト内のテストタスク数が事前設定された数よりも多いことに応答して、テストタスクリスト内のテストタスクを各端末にリアルタイムで割り当てるように構成される。
【0084】
本実施例のいくつかのオプションの実装形態では、上記実行ユニット303は、決定モジュール(図示せず)と実行モジュール(図示せず)を含む。ここで、上記決定モジュールは、負荷情報に基づいて、少なくとも1つの端末における軽負荷端末と重負荷端末を決定するように構成される。上記実行モジュールは、すべての端末における軽負荷端末と重負荷端末の割合に基づいて、異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てるように構成される。
【0085】
本実施例のいくつかのオプションの実装形態では、上記実行モジュールは、デュアルターミナルモジュール(図示せず)とテストサブモジュール(図示せず)を含む。ここで、上記デュアルターミナルモジュールは、少なくとも1つの端末が軽負荷端末と重負荷端末を含むことに応答して、軽負荷端末の負荷情報が重負荷端末の負荷情報と同じになるまで、テストタスクリスト内の一部のテストタスクを軽負荷端末に順番に割り当てるように構成される。上記テストサブモジュールは、テストタスクリストに残りのテストタスクがあると決定したことに応答して、残りのテストタスクをすべての端末にリアルタイムで割り当てるように構成される。
【0086】
本実施例のいくつかのオプションの実装形態では、上記実行モデルは、軽負荷端末サブモジュール(図示せず)と第1割り当てサブモジュール(図示せず)を含む。ここで、上記軽負荷端末サブモジュールは、すべての端末が軽負荷端末であると決定したことに応答して、テストタスクリスト内のテストタスクのタスク数とすべての端末の端末数を計算するように構成される。上記第1割り当てサブモジュールは、タスク数が端末数よりも多く、且つ両者の残りがゼロでないことに応答して、すべての端末における前にある残りの各端末にテストタスクリスト内のM個のテストタスクを割り当て、すべての端末における前にある残りの端末を除く各端末にテストタスクリスト内のN個のテストタスクを割り当てるように構成され、ここで、Mは、タスク数と端末数の商に1を足した数であり、Nは、タスク数と端末数の商である。
【0087】
本実施例のいくつかのオプションの実装形態では、上記実行モジュールは、第2割り当てサブモジュール(図示せず)をさらに含む。ここで、上記第2割り当てサブモジュールは、タスク数が端末数以下であることに応答して、すべての端末における前にあるタスク数の各端末にテストタスクリスト内の1つのテストタスクを割り当てるように構成される。
【0088】
本実施例のいくつかのオプションの実装形態では、上記実行モジュールは、重負荷端末サブモジュール(図示せず)を含む。ここで、重負荷端末サブモジュールは、すべての端末が重負荷端末であると決定したことに応答して、テストタスクリスト内のテストタスクを各端末にリアルタイムで割り当てるように構成される。
【0089】
本開示の実施例が提供するタスク割り当て方法及び装置では、
まず、生成ユニット301は、受信したテストタスク要求に基づいて、テストタスクリストを生成し、テストタスクリストは、少なくとも1つのテストタスクを含み、
再び、取得ユニット302は、少なくとも1つの端末の現在割り当てられているタスクを取得し、
最後に、実行ユニット303は、現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算したことに応答して、負荷情報に基づいて、異なるタスク割り当てルールを採用してテストタスクリスト内のテストタスクを各端末に割り当てる。
これにより、現在割り当てられているタスクを実行しているすべての端末の負荷情報を計算できる場合、異なるタスク割り当てルールに基づいてテストタスクを各端末に割り当て、それによりすべての端末における各端末がテストタスクを実行するときの負荷のバランスを確保でき、テストタスクの手動割り当てと比較して、タスク割り当ての効率が向上する。
【0090】
本開示の技術的解決手段では、関係するユーザの個人情報の取得、記憶及び適用などはいずれも、関連する法規制の規定に準拠し、公序良俗に違反しない。
【0091】
本開示の実施例によれば、本開示は、電子デバイス、読み取り可能な記憶媒体及びコンピュータプログラム製品をさらに提供する。
【0092】
図4は、本開示の実施例を実施するために使用され得る例示的な電子デバイス400の概略ブロック図を示している。電子デバイスは、ラップトップコンピュー、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタン、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなど、様々な形式のデジタルコンピュータを表すことを目的としている。電子デバイスは、パーソナルデジタルプロセッサ、携帯電話、スマートフォン、ウェアラブルデバイス及び他の類似のコンピューティングデバイスなど、様々な形式のモバイルデバイスを表すこともできる。本明細書に示されるコンポーネント、それらの接続及び関係、及びそれらの機能は、単なる例示的であり、本明細書に記載及び/又は請求される本開示の実現を制限することを意図するものではない。
【0093】
図4に示すように、デバイス400は、計算ユニット401を含み、それは、読み取り専用メモリ(ROM)402記憶されたコンピュータプログラム又は記憶ユニット408からランダムアクセスメモリ(RAM)403にロードされたコンピュータプログラムに従って、様々な適切な動作及び処理を実行することができる。RAM403には、デバイス400の操作に必要な様々なプログラム及びデータを記憶することもできる。計算ユニット401、ROM402及びRAM403は、バス404を介して互いに接続されている。入出力(I/O)インターフェース405もバス404に接続されている。
【0094】
デバイス400内の複数のコンポーネントは、I/Oインターフェース405に接続されており、それらは、キーボード、マウスなどの入力ユニット406、様々なタイプのディスプレイ、スピーカーなどの出力ユニット407、磁気ディスク、光ディスクなどの記憶ユニット408、及びネットワークカード、モデム、無線通信トランシーバなどの通信ユニット409を含む。通信ユニット409は、デバイス400がインターネットなどのコンピュータネットワーク及び様々な電気通信ネットワークを介して他のデバイスと情報/データを交換することを可能にする。
【0095】
計算ユニット401は、処理能力及び計算能力を有する様々な汎用及び専用な処理コンポーネントであってもよい。計算ユニット401のいくつかの例には、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、様々な専用な人工知能(AI)コンピューティングチップ、機械学習モデルアルゴリズムを実行する様々な計算ユニット、デジタルシグナルプロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどが含まれるが、これらに限定されない。計算ユニット401は、タスク割り当て方法などの上述した様々な方法や処理を実行する。たとえば、いくつかの実施例では、タスク割り当て方法は、記憶ユニット408などの機械読取可能な媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現されてもよい。いくつかの実施例では、コンピュータプログラムの一部又は全部は、ROM402及び通信ユニット409を介してデバイス400にロード及びインストールされ得る。コンピュータプログラムがRAM403にロードされ、計算ユニット401によって実行されるとき、上述したタスク割り当て方法の1つ又は複数のステップを実行することができる。あるいは、他の実施例では、計算ユニット401は、他の任意の適切な方式(たとえば、ファームウェアによって)によって、タスク割り当て方法を実行するように配置されてもよい。
【0096】
上述したシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準部品(ASSP)、システムオンチップのシステム(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及びそれらの組み合わせに実現されてもよい。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムに実施され、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行され及び解釈されてもよく、当該プログラマブルプロセッサは、専用又は汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を当該記憶システム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に送信することができることを含み得る。
【0097】
本開示の方法を実施するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせで作成され得る。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ又は他のプログラマブルタスク割り当て装置のプロセッサ又はコントローラに提供され、プログラムコードがプロセッサ又はコントローラによって実行されるとき、フローチャート及びブロック図で規定された機能/操作が実施されるようにしてもよい。プログラムコードは、機械で完全に実行されてもよいし、機械で部分的に実行されてもよいし、独立なソフトウェアパッケージとして機械で部分的に実行され且つリモート機械で部分的に実行され、又はリモート機械又はサーバで完全に実行されてもよい。
【0098】
本開示の文脈において、機械読取可能な媒体は、有形の媒体であってもよく、当該媒体は、命令実行システム、装置又はデバイスによって使用され、又は命令実行システム、デバイス又はデバイスと合わせて使用されるプログラムを含む又は記憶することであってもよい。機械読取可能な媒体は、機械読取可能信号媒体又は機械読取可能な記憶媒体であってもよい。機械読取可能な媒体には、電子的、磁気的、光学的、電磁的、赤外線的、又は半導体のシステム、装置又はデバイス、又はこれらの任意の適切な組み合わせが含まれるが、これらに限定されない。機械読み取り可能な記憶媒体のより具体的な例には、1つ又は複数のワイヤに基づく電気接続、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読取専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、携帯型コンパクトディスクリードオンリーメモリ(CD-ROM)、光記憶設備、磁気記憶設備、又はこれらの任意の適切な組み合わせが含まれる。
【0099】
ユーザとの対話を提供するために、ここで説明したシステム及び技術は、ユーザに情報を表示するための表示装置(例えば、CRT(ブラウン管、Cathode Ray Tube)又はLCD(液晶ディスプレイ、Liquid Crystal Display)モニター)と、ユーザがコンピュータに入力を提供するためのキーボード及びポインティング装置(例えば、マウス又はトラックボールなど)を有するコンピュータに実施されてもよい。他のタイプの装置は、ユーザとの対話を提供するためにも使用され、たとえば、ユーザに提供されるフィードバックは、任意の形式の感覚的なフィードバック(たとえば、視覚的なフィードバック、聴覚的なフィードバック、又は触覚的なフィードバック)であってもよく、任意の形式(声入力、音声入力又は触覚入力を含む)でユーザからの入力を受け取ってもよい。
【0100】
本明細書で記載されるシステム及び技術は、バックグラウンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとして)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(たとえば、ユーザがここで記載されるシステム及び技術の実施形態と対話できるようなグラフィカルユーザインタフェース又はネットワークブラウザを備えるユーザコンピュータ)、又はこのようなバックグラウンドコンポーネント、ミドルウェアコンポーネント、又はフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムに実施されてもよい。システムのコンポーネントは、デジタルデータ通信の任意の形式又は媒体(たとえば、通信ネットワーク)を介して相互に接続されてもよい。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)及びインターネットを含む。
【0101】
コンピュータシステムは、クライアントとサーバを含み得る。クライアントとサーバは、通常、互いに離れており、且つ通信ネットワークを介して対話する。クライアントとサーバとの関係は、対応するコンピュータで実行され、且つ互いにクライアント-サーバ関係を有するコンピュータプログラムによって生成される。サーバは、クラウドサーバであってもよいし、分散システムのサーバ、又はブロックチェーンを組み合わせたサーバであってもよい。
【0102】
以上に示された様々な形式のフローを使用して、ステップを並べ替えたり、追加したり、削除したりすることができることを理解すべきである。たとえば、本開示に記載されている各ステップは、並行に実行されてもよいし、順次に実行されてもよいし、異なる順序で実行されてもよく、本開示で開示された技術的解決手段の所望の結果を実現できる限り、ここで制限されない。
【0103】
上記具体的な実施形態は、本開示の保護範囲を制限するものではない。当業者は、設計要件及び他の要因に応じて、様々な修正、組み合わせ、下位組み合わせ及び置換を行うことができることを理解すべきである。本開示の精神及び原則の範囲内で行われた修正、均等置換及び改善などはいずれも、本開示の保護範囲に含まれるべきである。