IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッドの特許一覧

特開2023-65558操作応答方法、操作応答装置、電子機器及び記憶媒体
<>
  • 特開-操作応答方法、操作応答装置、電子機器及び記憶媒体 図1
  • 特開-操作応答方法、操作応答装置、電子機器及び記憶媒体 図2
  • 特開-操作応答方法、操作応答装置、電子機器及び記憶媒体 図3
  • 特開-操作応答方法、操作応答装置、電子機器及び記憶媒体 図4
  • 特開-操作応答方法、操作応答装置、電子機器及び記憶媒体 図5
  • 特開-操作応答方法、操作応答装置、電子機器及び記憶媒体 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023065558
(43)【公開日】2023-05-12
(54)【発明の名称】操作応答方法、操作応答装置、電子機器及び記憶媒体
(51)【国際特許分類】
   G06F 16/176 20190101AFI20230502BHJP
【FI】
G06F16/176
【審査請求】有
【請求項の数】12
【出願形態】OL
【公開請求】
(21)【出願番号】P 2023030160
(22)【出願日】2023-02-28
(31)【優先権主張番号】202210195107.0
(32)【優先日】2022-02-28
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100090033
【弁理士】
【氏名又は名称】荒船 博司
(74)【代理人】
【識別番号】100093045
【弁理士】
【氏名又は名称】荒船 良男
(72)【発明者】
【氏名】ゼン, ズーガン
(72)【発明者】
【氏名】ソン, ゼンユェン
(72)【発明者】
【氏名】シャオ, ビンチン
(72)【発明者】
【氏名】ヤン, ポンフェイ
(72)【発明者】
【氏名】リー, スーヨン
(72)【発明者】
【氏名】ワン, ヤンポン
(57)【要約】
【課題】本開示は、操作応答方法、操作応答装置、電子機器、記憶媒体及びコンピュータプログラムを提供し、クラウドコンピューティングの分野に関し、特にクラスタ技術分野に関する。
【解決手段】具体的な技術案は、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたことを確定したことに応答して、ターゲットクライアント側に対して故障検知を行い、故障検知結果を取得することと、故障検知結果がターゲットクライアント側に故障が発生したことを表すことを確定した場合、更新操作を実行し、ターゲット権限識別子を取得することにより、ターゲット権限識別子を利用してターゲットクライアント側がターゲット操作を実行し続けることを阻止する。
【選択図】なし
【特許請求の範囲】
【請求項1】
ターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたことを確定したことに応答して、前記ターゲットクライアント側に対して故障検知を行い、故障検知結果を取得することと、
前記故障検知結果が前記ターゲットクライアント側に故障が発生したことを表すことを確定した場合、更新操作を実行し、ターゲット権限識別子を取得することにより、前記ターゲット権限識別子を利用して前記ターゲットクライアント側が前記ターゲット操作を実行し続けることを阻止することと、
前記ターゲットクライアント側からの前記ターゲット操作を実行するための要求を受信したことに応答して、前記ターゲットクライアント側の権限識別子を確定することと、
前記権限識別子が前記ターゲット権限識別子と一致しないと確定した場合、前記ターゲットクライアント側に要求失敗を表す否定的な回答を送信することにより、前記ターゲットクライアント側が前記否定的な回答に基づいて操作された共有リソースを削除することと、
履歴時間帯内にアクセスした複数のクライアント側のうちの前記ターゲットクライアント側を除くクライアント側を含むマーク済みクライアント側を確定することと、
前記マーク済みクライアント側に前記ターゲット権限識別子を送信することと、を含む、
操作応答方法。
【請求項2】
前記マーク済みクライアント側からの前記ターゲット操作を実行するための要求を受信したことに応答して、更新操作の現在の更新状態を確定することと、
前記現在の更新状態が更新段階にあることを表すと確定した場合、前記マーク済みクライアント側に再試行を表す再試行回答を送信することと、をさらに含む
請求項1に記載の方法。
【請求項3】
ターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたことを確定したことに応答して、前記ターゲットクライアント側に対して故障検知を行い、故障検知結果を取得する前に、
前記ターゲットクライアント側からのアクセス要求を受信したことに応答して、前記ターゲットクライアント側のアクセス権限を確定することと、
前記ターゲットクライアント側のアクセス権限がアクセス権限ルールを満たすと確定した場合、前記ターゲットクライアント側に権限識別子を送信することと、をさらに含む
請求項1又は2に記載の方法。
【請求項4】
前記ターゲットクライアント側からの前記ターゲット操作を実行するための要求を受信したことに応答して、前記ターゲットクライアント側の権限識別子を確定することと、
前記権限識別子が所定の権限識別子と一致すると確定した場合、前記ターゲットクライアント側が前記共有リソースに対して前記ターゲット操作を実行することを許可することと、
前記権限識別子が前記所定の権限識別子と一致しないと確定した場合、前記ターゲットクライアント側が前記共有リソースに対して前記ターゲット操作を実行することを拒否することと、をさらに含む
請求項3に記載の方法。
【請求項5】
前記権限識別子が所定の権限識別子と一致すると確定した場合、前記ターゲットクライアント側が前記共有リソースに対して前記ターゲット操作を実行することを許可することは、
前記権限識別子が前記所定の権限識別子と一致すると確定した場合、前記共有リソースの、前記共有リソースが他のクライアント側により前記ターゲット操作を実行されるか否かを表すアクセス状態を確定することと、
前記共有リソースのアクセス状態がアクセス状態ルールを満たすと確定した場合、前記ターゲットクライアント側が前記共有リソースに対して前記ターゲット操作を実行することを許可することと、を含む
請求項4に記載の方法。
【請求項6】
ターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたことを確定したことに応答して、前記ターゲットクライアント側に対して故障検知を行い、故障検知結果を取得するための検知モジュールと、
前記故障検知結果が前記ターゲットクライアント側に故障が発生したことを表すことを確定した場合、更新操作を実行し、ターゲット権限識別子を取得することにより、前記ターゲット権限識別子を利用して前記ターゲットクライアント側が前記ターゲット操作を実行し続けることを阻止するための更新モジュールと、
前記ターゲットクライアント側からの前記ターゲット操作を実行するための要求を受信したことに応答して、前記ターゲットクライアント側の権限識別子を確定するための第1の確定モジュールと、
前記権限識別子が前記ターゲット権限識別子と一致しないと確定した場合、前記ターゲットクライアント側に要求失敗を表す否定的な回答を送信することにより、前記ターゲットクライアント側が前記否定的な回答に基づいて操作された共有リソースを削除するための第1の送信モジュールと、
履歴時間帯内にアクセスした複数のクライアント側のうちの前記ターゲットクライアント側を除くクライアント側を含むマーク済みクライアント側を確定するための第2の確定モジュールと、
前記マーク済みクライアント側に前記ターゲット権限識別子を送信するための第2の送信モジュールと、を含む、
操作応答装置。
【請求項7】
前記マーク済みクライアント側からの前記ターゲット操作を実行するための要求を受信したことに応答して、更新操作の現在の更新状態を確定するための第3の確定モジュールと、
前記現在の更新状態が更新段階にあることを表すと確定した場合、前記マーク済みクライアント側に再試行を表す再試行回答を送信するための第3の送信モジュールと、をさらに含む
請求項6に記載の装置。
【請求項8】
前記ターゲットクライアント側からのアクセス要求を受信したことに応答して、前記ターゲットクライアント側のアクセス権限を確定するための第4の確定モジュールと、
前記ターゲットクライアント側のアクセス権限がアクセス権限ルールを満たすと確定した場合、前記ターゲットクライアント側に権限識別子を送信するための第4の送信モジュールと、をさらに含む
請求項6又は7に記載の装置。
【請求項9】
前記ターゲットクライアント側からの前記ターゲット操作を実行するための要求を受信したことに応答して、前記ターゲットクライアント側の権限識別子を確定するための第5の確定モジュールと、
前記権限識別子が所定の権限識別子と一致すると確定した場合、前記ターゲットクライアント側が前記共有リソースに対して前記ターゲット操作を実行することを許可するための第1の処理モジュールと、
前記権限識別子が前記所定の権限識別子と一致しないと確定した場合、前記ターゲットクライアント側が前記共有リソースに対して前記ターゲット操作を実行することを拒否するための第2の処理モジュールと、をさらに含む
請求項8に記載の装置。
【請求項10】
前記第1の処理モジュールは、
前記権限識別子が前記所定の権限識別子と一致すると確定した場合、前記共有リソースの、前記共有リソースが他のクライアント側により前記ターゲット操作を実行されるか否かを表すアクセス状態を確定するための確定ユニットと、
前記共有リソースのアクセス状態がアクセス状態ルールを満たすと確定した場合、前記ターゲットクライアント側が前記共有リソースに対して前記ターゲット操作を実行することを許可するための処理ユニットと、を含む
請求項9に記載の装置。
【請求項11】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されるメモリとを備える電子機器であって、
前記メモリには、前記少なくとも1つのプロセッサによって実行され得る命令が記憶されており、前記少なくとも1つのプロセッサが請求項1~5のいずれか一項に記載の方法を実行することができるように、前記命令が前記少なくとも1つのプロセッサによって実行される、
電子機器。
【請求項12】
コンピュータに請求項1~5のいずれか一項に記載の方法を実行させるためのコンピュータ命令を記憶している、
非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、クラウドコンピューティングの分野に関し、特にクラスタ技術分野に関する。具体的には、操作応答方法、操作応答装置、電子機器、記憶媒体及びコンピュータプログラムに関する。
【背景技術】
【0002】
共有リソースは、クラスタシステムにおける重要な構成部分であり、ハードウェアと、ソフトウェアと、データリソースとを含むことができ、クラスタシステムにおけるユーザは、これらのリソースを一部又は全部で共有することができる。
【0003】
クラウドコンピューティング技術の発展に伴い、クラウドコンピューティング技術は、様々な分野で広く応用されている。例えば、クラウドコンピューティング技術を利用してクラスタシステムにおいてリソース共有を行うことができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、操作応答方法、操作応答装置、電子機器、記憶媒体およびコンピュータプログラムを提供する。
【課題を解決するための手段】
【0005】
本開示の一態様は、
ターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたことを確定したことに応答して、前記ターゲットクライアント側に対して故障検知を行い、故障検知結果を取得することと、
前記故障検知結果が前記ターゲットクライアント側に故障が発生したことを表すことを確定した場合、更新操作を実行し、ターゲット権限識別子を取得することにより、前記ターゲット権限識別子を利用して前記ターゲットクライアント側が前記ターゲット操作を実行し続けることを阻止することと、を含む、
操作応答方法を提供している。
【0006】
本開示の他の態様は、
ターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたことを確定したことに応答して、前記ターゲットクライアント側に対して故障検知を行い、故障検知結果を取得するための検知モジュールと、
前記故障検知結果が前記ターゲットクライアント側に故障が発生したことを表すことを確定した場合、更新操作を実行し、ターゲット権限識別子を取得することにより、前記ターゲット権限識別子を利用して前記ターゲットクライアント側が前記ターゲット操作を実行し続けることを阻止するための更新モジュールと、を含む、
操作応答装置を提供している。
【0007】
本開示の他の態様は、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと通信接続されるメモリとを備える電子機器であって、前記メモリには、前記少なくとも1つのプロセッサによって実行され得る命令が記憶されており、前記少なくとも1つのプロセッサが本開示の方法を実行することができるように、前記命令が前記少なくとも1つのプロセッサによって実行される、電子機器を提供している。
【0008】
本開示の他の態様は、コンピュータに本開示の方法を実行させるためのコンピュータ命令を記憶している、非一時的なコンピュータ可読記憶媒体を提供している。
【0009】
本開示の他の態様は、プロセッサにより実行される場合に、本開示の方法を実現するコンピュータプログラムを提供している。
【0010】
本部分に記載された内容は、本開示の実施例のキーポイントまたは重要な特徴を示すことを意図するものではなく、本開示の範囲を限定するものでもないと理解されるべきである。本開示の他の特徴は、以下の説明により容易に理解される。
【図面の簡単な説明】
【0011】
図面は、本開示の発明をよく理解するために用いられ、本開示を限定するものではない。
図1】本開示の実施例に係る操作応答方法及び装置を適用できる例示的なシステムアーキテクチャを模式的に示す図である。
図2】本開示の実施例に係る操作応答方法のフローチャートを模式的に示す図である。
図3】本開示の実施例に係る正常なアクセス状況の動作シーケンスを模式的に示す概略図である。
図4】本開示の実施例に係る異常なアクセス状況の動作シーケンスを模式的に示す概略図である。
図5】本開示の実施例に係る操作応答装置を模式的に示すブロック図である。
図6】本開示の実施例に係る操作応答方法を実現することに適する電子機器を模式的に示すブロック図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して本開示の例示的な実施例を説明する。ここで、より理解しやすいために本開示の実施例の様々な詳細は含まれ、それらが例示的なものであると考えられるべきである。したがって、当業者であれば、ここで記載される実施例に対して様々な変更や補正を行うことができ、本開示の範囲及び精神から逸脱することはないと分るべきである。同様に、明確かつ簡潔に説明するために、以下の記載において周知の機能や構成に対する説明を省略する。
【0013】
クラスタは、通信ネットワークにより相互に接続された複数のノードを含み、各ノード上のユーザは、他のノード上のリソースを使用して、リソース共有を行うことができる。例えば、ユーザがプリンタ等の外部機器を使用することができるように、機器共有を行うことができ、ユーザが共通のデータベースにアクセスすることができるように、データ共有を行うことができ、ユーザが共有サーバ上のファイルリソースなどにアクセスすることができるように、ファイル共有を行うことができる。
【0014】
クラスタにおけるリソース共有に対して、共有リソースを占用するノードがリソースをタイムリーに解放する必要があり、そうでなければ、他のノードのリソース共有要求の待ち周期が長く、又は複数側のノードが同時に共有リソースを読み書きする時、リソースデータの破損をもたらすことになる。
【0015】
このために、本開示の実施例は、操作応答方法を提供する。ターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたことを確定したことに応答して、ターゲットクライアント側に対して故障検知を行い、故障検知結果がターゲットクライアント側に故障が発生したことを表すことを確定した場合、更新操作を実行し、ターゲット権限識別子を取得することにより、ターゲット権限識別子を利用してターゲットクライアント側がターゲット操作を実行し続けることを阻止する。上記プロセスは、ターゲット権限識別子を利用することで、ターゲットクライアント側を再起動する必要がなく、故障が発生したターゲットクライアント側に対して直接的にリソースを隔離することができる。したがって、リソース共有の効率を向上させることになる。
【0016】
本開示の技術案において、係るユーザ個人情報の収集、記憶、使用、加工、伝送、提供、開示及び応用等の処理は、いずれも相関法規則の規定に適合し、必要なセキュリティー対策を採用しており、且つ公序良俗に反するものではない。
【0017】
本開示の技術案において、ユーザの個人情報を取得または採集する前に、いずれもユーザの許可又は同意を取得した。
【0018】
図1は、本開示の実施例に係る操作応答方法及び装置を適用できる例示的なシステムアーキテクチャを模式的に示す。
【0019】
注意すべきものとして、図1に示すのは、本開示の実施例を適用できるシステムアーキテクチャの例示に過ぎず、当業者が本開示の技術内容を理解することに役立つが、本開示の実施例が他の機器、システム、環境又はシーンに用いられないことを意味するものではない。例えば、他の実施例において、操作応答方法及び装置を適用できる例示的なシステムアーキテクチャは端末機器を含むことができるが、端末機器はサーバと対話する必要がなく、本開示の実施例が提供する操作応答方法及び装置を実現することができる。
【0020】
図1に示すように、該実施例に係るシステムアーキテクチャ100は、ターゲットクライアント側101、102、103と、ネットワーク104と、サーバ105とを含むことができる。ネットワーク104は、ターゲットクライアント側101、102、103とサーバ105との間で通信リンクを提供する媒体として用いられる。ネットワーク104は、例えば有線及び/又は無線通信リンク等の様々な接続タイプを含むことができる。
【0021】
ユーザは、ターゲットクライアント側101、102、103を使用してネットワーク104を介してサーバ105と対話することにより、メッセージ等を受信するか又は送信することができる。ターゲットクライアント側101、102、103には、例えばナレッジリーディング類アプリ、ウェブブラウザアプリ、検索類アプリ、リアルタイム通信ツール、メールボックスクライアント側、及び/又は、ソーシャルプラットフォームソフトウェアなど(例に過ぎない)の様々なクライアント側アプリケーションがインストールされてもよい。
【0022】
ターゲットクライアント側101、102、103は、スマートフォン、タブレットコンピュータ、ラップトップ型携帯コンピュータ及びデスクトップコンピュータ等を含む、表示画面を有しかつウェブページの閲覧ができる様々な電子機器であってもよい。
【0023】
サーバ105は、様々なサービスを提供するサーバであってもよく、例えばユーザがターゲットクライアント側101、102、103により要求されたリソースをサポートするバックグラウンド管理サーバ(例に過ぎない)であってもよい。バックグラウンド管理サーバは、受信されたユーザ要求等のデータに対して分析等の処理を行い、かつ処理結果(例えばユーザの要求に応じて取得又は生成されたウェブページ、情報、又はデータ等)を端末機器にフィードバックすることができる。サーバ105は、さらにデータノードを含むことができ、データノードは、例えばblock service(ノードサービス)を提供し、ローカルデータリソースを管理することができる。
【0024】
なお、本開示の実施例が提供する操作応答方法は、一般的にサーバ105により実行されてもよい。それに応じて、本開示の実施例が提供する操作応答装置は、サーバ105に設置されてもよい。本開示の実施例が提供する操作応答方法は、サーバ105とは異なり、ターゲットクライアント側101、102、103及び/又はサーバ105と通信可能なサーバ又はサーバクラスタにより実行されてもよい。それに応じて、本開示の実施例が提供する操作応答装置は、サーバ105と異なり、ターゲットクライアント側101、102、103及び/又はサーバ105と通信可能なサーバ又はサーバクラスタに設置されてもよい。
【0025】
例えば、ターゲットクライアント側101、102、103が共有リソースに対してターゲット操作を実行することがタイムアウトしたことを確定した場合、サーバ105は、ターゲットクライアント側101、102、103に対して故障検知を行い、故障検知結果を取得することができる。故障検知結果がターゲットクライアント側101、102、103に故障が発生したことを表すことを確定した場合、サーバ105は、更新操作を実行し、ターゲット権限識別子を取得することにより、ターゲット権限識別子を利用してターゲットクライアント側101、102、103がターゲット操作を実行し続けることを阻止することができる。
【0026】
本開示の実施例によれば、システムアーキテクチャ100は、fence(柵)モジュールと、lock(ロック)モジュールとをさらに含んでもよい。
【0027】
fenceモジュールは、fenceサーバ側とfenceクライアント側を含んでもよく、lockモジュールは、lockサーバ側とlockクライアント側を含んでもよい。fenceクライアント側とlockクライアント側で構成されたリソース権限リクエスタは、クラスタのターゲットクライアント側101、102、103に位置することができる。fenceサーバ側とlockサーバ側で構成されたリソースマネージャは、サーバ105に位置することができる。
【0028】
例えば、ユーザがターゲットクライアント側101、102、103を利用して書き込み操作要求を開始する時、まずリソース権限リクエスタによりサーバ105に、対応するlock権限及びfenceバージョンを申請することができ、リソースへのアクセス権限を取得した後、サーバ105に書き込み要求を開始することができる。サーバ105は、ターゲットクライアント側のIO(Input/Output)要求のfenceバージョンがローカルに記憶されたバージョンと一致するか否かを検出することができ、一致すれば、書き込みを許可することができ、一致しなければ、書き込みを拒否することができる。
【0029】
図1におけるターゲットクライアント側、ネットワーク及びサーバの数は単に模式的なものであると理解すべきである。実現の必要に応じて、任意の数のターゲットクライアント側、ネットワーク及びサーバを有することができる。
【0030】
以下の方法における各操作の番号は、記述を容易にするための該操作の表示のみとし、該各操作の実行順序を示すものと見なされるべきではないと注意すべきである。明確に指摘しない限り、該方法は完全に示された順序に応じて実行する必要がない。
【0031】
図2は、本開示の実施例に係る操作応答方法のフローチャートを模式的に示す。
【0032】
図2に示すように、該方法は、操作S210~S220を含む。
【0033】
操作S210は、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたことを確定したことに応答して、ターゲットクライアント側に対して故障検知を行い、故障検知結果を取得する。
【0034】
操作S220は、故障検知結果がターゲットクライアント側に故障が発生したことを表すことを確定した場合、更新操作を実行し、ターゲット権限識別子を取得することにより、ターゲット権限識別子を利用してターゲットクライアント側がターゲット操作を実行し続けることを阻止する。
【0035】
本開示の実施例によれば、クラスタは複数の端末機器を含むことができ、各端末機器はノードと呼ばれてもよく、ノードの間はローカルエリアネットワーク、広域ネットワーク又は他の方式で接続されてもよい。ターゲットクライアント側はクラスタ内のノードを含むことができる。クラスタは高性能計算クラスタ、負荷分散クラスタ及び高可用性クラスタを含むことができる。
【0036】
本開示の実施例によれば、共有リソースは、ハードウェアと、ソフトウェアと、データリソースとを含むことができる。クラスタ内のサーバは、各共有リソースのアクセス状態情報及びターゲット操作が実行される時間長さ情報をリアルタイムに監視することができ、アクセス状態情報に基づいて各共有リソースがある時点でターゲットクライアント側に例えば書き込みのターゲット操作を実行される状態を確定することができ、ターゲット操作が実行される時間長さ情報に基づいてターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたか否かを確定することができる。
【0037】
本開示の実施例によれば、ターゲット操作は、共有リソースに対する読み取り操作と、共有リソースに対する書き込み操作とを含むことができる。
【0038】
本開示の実施例によれば、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたことを確定した場合、ターゲットクライアント側にハートビート検知要求を周期的に送信することにより、ハートビート検知要求の応答状況に基づいてターゲットクライアント側に故障が発生したか否かを確定して、故障検知結果を取得することができる。例えば、1秒ごとにターゲットクライアント側にハートビート検知要求を送信し、連続するn回(例えば5回)はいずれも該ターゲットクライアント側の応答ハートビートを受信しなければ、該ターゲットクライアント側に故障が発生したと考えられてもよい。なお、ターゲットクライアント側にハートビート検知要求を送信する故障検知方法以外に、他の故障検知方法を採用することもでき、ここで説明を省略する。
【0039】
本開示の実施例によれば、サーバは、故障検知結果がターゲットクライアント側に故障が発生したことを表すことを確定した場合、権限識別子に対して更新操作を実行し、得られたターゲット権限識別子を利用してターゲットクライアント側がターゲット操作を実行し続けることを阻止することができる。
【0040】
本開示の実施例によれば、更新操作は、権限識別子を更新することであってもよい。権限識別子は、共有リソースにアクセスする権限を有する識別子を表すために用いられる。権限識別子のタイプは限定されず、例えば数字であってもよいが、これに限定されず、二次元コード又はバーコードなどであってもよい。
【0041】
本開示の実施例によれば、故障検知結果がターゲットクライアント側に故障が発生したことを表すことを確定した場合、権限識別子に対する更新操作を実行し、ターゲット権限識別子を取得することができる。この場合、故障が発生したターゲットクライアント側は、故障が解除された後、更新されず前の権限識別子を利用して共有リソースにアクセスすることができない。これにより、ターゲット権限識別子を利用してターゲットクライアント側がターゲット操作を実行し続けることを阻止することができる。
【0042】
本開示の他の実施例によれば、クラスタにおけるターゲットクライアント側に故障が発生すれば、クラスタから該ターゲットクライアント側を除去することができ、該除去操作は、fenceメカニズム又はSTONITH(shoot the other node in the head)メカニズムと呼ばれる。例えば、専用ネットワークチャネルを利用してクライアント側を強制的に再起動する。
【0043】
本開示の実施例によれば、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたことを確定した場合に、ターゲットクライアント側に対して故障検知を行い、故障検知結果がターゲットクライアント側に故障が発生したことを表すことを確定した場合、更新操作を実行し、ターゲット権限識別子を取得する。上記技術手段により、ターゲット権限識別子を利用して故障が発生したターゲットクライアント側の共有リソースへのアクセスを阻止することができ、それにより、リソースの隔離効果を実現することができる。専用ネットワークチャネルを利用してターゲットクライアント側を強制的に再起動することによりターゲットクライアント側がターゲット操作を実行し続けることを阻止することに比べて、本開示が提供する操作応答方法は、ターゲット権限識別子を利用してリソースを隔離することができ、それによりリソースを簡単かつ効率的に隔離することができる。
【0044】
以下に図3図4を参照し、具体的な実施例を例として例えば図2に示す方法をさらに説明する。
【0045】
本開示の実施例によれば、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたことを確定したことに応答して、ターゲットクライアント側に対して故障検知を行い、故障検知結果を取得する前に、操作応答方法は以下の操作をさらに含むことができる。
【0046】
ターゲットクライアント側からのアクセス要求を受信したことに応答して、ターゲットクライアント側のアクセス権限を確定する。ターゲットクライアント側のアクセス権限がアクセス権限ルールを満たすと確定した場合、ターゲットクライアント側に権限識別子を送信する。
【0047】
本開示の実施例によれば、権限識別子はfenceバージョン番号を含むことができ、クラスタにおけるターゲットクライアント側がサーバの共有リソースに対するアクセスを開始する場合、サーバは、該ターゲットクライアント側にfenceバージョン番号を生成することができ、fenceバージョン番号は、Ver(f)として表すことができる。該fenceバージョン番号は単調増加し、永続的に保存することができ、該fenceバージョン番号は、ターゲットクライアント側の共有リソースに対する効果的なアクセスを保護することができる。
【0048】
本開示の実施例によれば、アクセス権限ルールは、権限識別子を有する場合に、アクセス権限を満たさず、権限識別子を有しない場合、アクセス権限を満たすことを含んでもよい。ターゲットクライアント側のアクセス権限がアクセス権限ルールを満たすと確定した場合、ターゲットクライアント側が権限識別子をまだ有していないことを示すことができ、サーバは、ターゲットクライアント側に権限識別子を送信することができる。
【0049】
本開示の実施例によれば、上記操作応答方法は、以下の操作をさらに含むことができる。
【0050】
ターゲットクライアント側からのターゲット操作を実行するための要求を受信したことに応答して、ターゲットクライアント側の権限識別子を確定する。権限識別子が所定の権限識別子と一致すると確定した場合、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することを許可する。権限識別子が所定の権限識別子と一致しないと確定した場合、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することを拒否する。
【0051】
本開示の実施例によれば、所定の権限識別子は、サーバの該共有リソースに対するfenceバージョン番号を含むことができる。
【0052】
本開示の実施例によれば、権限識別子が所定の権限識別子と一致すると確定した場合、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することを許可することは、以下の操作を含むことができる。
【0053】
権限識別子が所定の権限識別子と一致すると確定した場合、共有リソースのアクセス状態を確定する。アクセス状態は、共有リソースが他のクライアント側によりターゲット操作を実行されるか否かを表す。共有リソースのアクセス状態がアクセス状態ルールを満たすと確定した場合、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することを許可する。
【0054】
本開示の実施例によれば、アクセス権限ルールは、共有リソースが他のクライアント側により占用される場合、アクセス権限がなく、共有リソースが他のクライアント側により占用されない場合、アクセス権限を有することを含むことができる。該共有リソースが他のクライアント側により占用されるとは、他のクライアント側が共有リソースに対して読み取りのターゲット操作を実行していることであってもよいが、これに限定されず、該共有リソースが他のクライアント側により占用されるとは、他のクライアント側が共有リソースに対して書き込みのターゲット操作を実行していることであってもよい。
【0055】
図3は、本開示の実施例に係る正常なアクセス状況の動作シーケンスを模式的に示す概略図である。
【0056】
図3におけるS301~S303に示すように、操作S301において、ターゲットクライアント側は、サーバに共有リソースへのアクセス要求を送信することができ、例えば共有リソースのアクセスを申請する。操作S302において、サーバ上のリソースマネージャは、アクセス要求に基づいて、ターゲットクライアント側のアクセス権限がアクセス権限ルールを満たすか否かを確定することができる。ターゲットクライアント側のアクセス権限がアクセス権限ルールを満たすと確定した場合、操作S303を実行する。操作S303において、該共有リソースはターゲットクライアント側に読み取られることができ、即ち、ターゲットクライアント側に該共有リソースの権限識別子を含む回答を送信することができる。
【0057】
図3におけるS304~S306に示すように、操作S304において、ターゲットクライアント側は、該共有リソースに対するIO操作要求を開始することができ、該IO操作要求は、権限識別子を含むことができる。操作S305において、サーバは、ターゲットクライアント側のIO要求を受信した後、ターゲットクライアント側が携帯する権限識別子がローカルの所定の権限識別子と一致するか否かを確定することができる。操作S306において、権限識別子が所定の権限識別子と一致すると確定した場合、サーバは、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することを許可することを表す肯定的な回答を送信することができる。権限識別子が所定の権限識別子と一致しないと確定した場合、サーバは、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することを拒否することができる。
【0058】
本開示の実施例によれば、ターゲットクライアント側のアクセス権限がアクセス権限ルールを満たすと確定した場合、ターゲットクライアント側に権限識別子を送信し、且つ、権限識別子と所定の権限識別子が一致するか否かに基づいて、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することを許可するか否かを確定する。上記技術手段により、共有リソースの安全性及び一致性を保障することができる。
【0059】
図4は、本開示の実施例に係る異常なアクセス状況の動作シーケンスを模式的に示す概略図である。
【0060】
図4におけるS401~S404に示すように、操作S401において、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたこと、即ち、共有リソースについて一定の時間を超えてターゲットクライアント側の要求を受信しなかったことを確定する。操作S402において、サーバにおけるリソースマネージャは、ターゲットクライアント側にハートビート検知を開始することができる。操作S403において、n回のハートビート検知に失敗した結果を受信し、ターゲットクライアント側に故障が発生したことを確定する。操作S404において、サーバは、本ノードのfenceバージョン番号を更新し、ターゲット権限識別子を取得し、且つ、更新されたターゲット権限識別子を現在の有効バージョン番号として永続的に保存することができる。
【0061】
本開示の実施例によれば、ターゲットクライアント側の共有リソースに対する保持がタイムアウトしかつターゲットクライアント側に故障が発生したと確定した場合、権限識別子に対して更新操作を実行することができる。更新前のターゲットクライアント側の権限識別子はVer(f)として表すことができ、更新後のターゲット権限識別子はVer(f+1)として表すことができる。
【0062】
本開示の実施例によれば、サーバは、ローカルのfenceバージョン番号をメンテナンスすることができ、ターゲットクライアント側がネットワーク中断又は他の原因で故障した場合、サーバは、fenceバージョン番号に対する更新操作を開始することができ、権限識別子の更新フローを完了する。
【0063】
図4におけるS405~S407に示すように、操作S405において、マーク済みクライアント側は、保持されたある共有リソースのIO要求を開始することができる。操作S406において、サーバにおけるリソースマネージャは、更新操作の現在の更新状態を確定することができる。操作S407において、現在の更新状態が更新段階にあることを表す場合、マーク済みクライアント側に再試行回答を送信することができる。
【0064】
図4のS408~S411に示すように、操作S408において、サーバがメンテナンスした有効リソーステーブルに基づいて、マーク済みクライアント側にfenceバージョン番号の更新を通知することができる。操作S409において、マーク済みクライアント側は、ローカルでfenceバージョン番号を更新することができる。操作S410において、マーク済みクライアント側が更新してターゲット権限識別子を取得した後、サーバに更新成功を表す回答を送信することができる。操作S411において、サーバは、更新が成功したことを表す回答に基づいて、更新操作が完了したか否かを確定することができる。
【0065】
本開示の実施例によれば、マーク済みクライアント側からのターゲット操作を実行するための要求を受信したことに応答して、更新操作の現在の更新状態を確定する。現在の更新状態が更新段階にあることを表すと確定した場合、マーク済みクライアント側に再試行を表す再試行回答を送信する。
【0066】
本開示の実施例によれば、更新段階にある場合、即ち、fenceバージョン番号がマーク済みクライアント側がfenceバージョン番号の更新操作を完了する前に既に無効になったと確定した場合に、マーク済みクライアント側が共有リソースに対して開始したアクセス操作は、いずれも再試行として判定されることができる。
【0067】
本開示の実施例によれば、ターゲットクライアント側が隔離される場合、サーバは、fenceバージョン番号を更新して永続的に記憶することができ、サーバが再起動した後、サーバは、永続化されたfenceバージョン番号Ver(f+1)をロードしてマーク済みクライアント側に対してサービスを提供する必要がある。
【0068】
本開示の実施例によれば、故障検知結果がターゲットクライアント側に故障が発生したことを表す場合、更新操作を実行し、ターゲット権限識別子を取得した後、さらに以下の操作を含むことができる。
【0069】
例えば、マーク済みクライアント側を確定する。マーク済みクライアント側は、履歴時間帯内にアクセスした複数のクライアント側のうちのターゲットクライアント側を除くクライアント側を含む。ターゲット権限識別子をマーク済みクライアント側に送信する。
【0070】
本開示の実施例によれば、サーバのfenceバージョン番号とマーク済みクライアント側のfenceバージョン番号を更新することにより、取得されたターゲット権限識別子に基づいて、マーク済みクライアント側の保持された共有リソースに対するIO要求が成功したか否かを確定することができる。共有リソースが故障したターゲットクライアント側に長期に占有され、他のクライアント側のタスクが正常に実行できないという問題を回避することができ、それによりクラスタにおける共有リソースの利用率及びシステムの性能を向上させることができる。
【0071】
図4におけるS412~S416に示すように、操作S412において、ターゲットクライアント側がサーバとネットワーク接続を回復し、即ち、ターゲットクライアント側の故障を解除し、改めてクラスタに加入すると、ターゲットクライアント側は、サーバが共有リソースのアクセス権限を保持することが有効であると考えることができる。操作S413において、ターゲットクライアント側は、再びサーバに共有リソースを申請するIO要求を送信することができる。操作S414において、サーバは、ターゲットクライアント側の権限識別子とターゲット権限識別子が一致するか否かを確定することができ、両者が一致しなければ、サーバは、ターゲットクライアント側のIO要求を拒否することができ、且つ、サーバによりローカルリソースマネージャにターゲットクライアント側の共有リソースに対する保持記録をキャンセルすることを通知することができる。操作S415において、サーバは、ターゲットクライアント側にアクセス失敗を表す回答を送信することができる。操作S416において、ターゲットクライアント側が該回答を受信した後、自分が持っている該サーバに関連する共有リソースをクリアすることができる。
【0072】
本開示の実施例によれば、故障検知結果がターゲットクライアント側に故障が発生したことを表すと確定した場合、更新操作を実行し、ターゲット権限識別子を取得した後、さらに以下の操作を含むことができる。
【0073】
例えば、ターゲットクライアント側からのターゲット操作を実行するための要求を受信したことに応答して、ターゲットクライアント側の権限識別子を確定する。権限識別子とターゲット権限識別子が一致しないと確定した場合、ターゲットクライアント側に要求失敗を表す否定的な回答を送信することにより、ターゲットクライアント側が否定的な回答に基づいて操作された共有リソースを削除する。
【0074】
本開示の実施例によれば、ターゲットクライアント側のIO要求におけるfenceバージョン番号とサーバのfenceバージョン番号が一致しない場合、サーバは、該ターゲットクライアント側のアクセス要求を拒否することができる。
【0075】
本開示の実施例によれば、権限識別子により隔離されたターゲットクライアント側の共有リソースに対するアクセスを阻止して、故障したターゲットクライアント側の期限切れた共有リソースをクリアし、同一の共有リソースが複数のクライアント側により占用されることを回避し、同じ時刻に1つのクライアント側のみが書き込み操作を実行することを保証することができ、クラスタの性能及び安定性を効果的に向上させることができる。
【0076】
図5は、本開示の実施例に係る操作応答装置を模式的に示すブロック図である。
【0077】
図5に示すように、操作応答装置500は、検知モジュール510と、更新モジュール520とを含むことができる。
【0078】
検知モジュール510は、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することがタイムアウトしたことを確定したことに応答して、ターゲットクライアント側に対して故障検知を行い、故障検知結果を取得するために用いられる。
【0079】
更新モジュール520は、故障検知結果がターゲットクライアント側に故障が発生したことを表すことを確定した場合、更新操作を実行し、ターゲット権限識別子を取得することにより、ターゲット権限識別子を利用してターゲットクライアント側がターゲット操作を実行し続けることを阻止するために用いられる。
【0080】
本開示の実施例によれば、操作応答装置500は、第1の確定モジュールと、第1の送信モジュールとをさらに含むことができる。
【0081】
第1の確定モジュールは、ターゲットクライアント側からのターゲット操作を実行するための要求を受信したことに応答して、ターゲットクライアント側の権限識別子を確定するために用いられる。
【0082】
第1の送信モジュールは、権限識別子がターゲット権限識別子と一致しないと確定した場合、ターゲットクライアント側に要求失敗を表す否定的な回答を送信することにより、ターゲットクライアント側が否定的な回答に基づいて操作された共有リソースを削除するために用いられる。
【0083】
本開示の実施例によれば、操作応答装置500は、第2の確定モジュールと、第2の送信モジュールとをさらに含むことができる。
【0084】
第2の確定モジュールは、履歴時間帯内にアクセスした複数のクライアント側のうちのターゲットクライアント側を除くクライアント側を含むマーク済みクライアント側を確定するために用いられる。
【0085】
第2の送信モジュールは、マーク済みクライアント側にターゲット権限識別子を送信するために用いられる。
【0086】
本開示の実施例によれば、操作応答装置500は、第3の確定モジュールと、第3の送信モジュールとをさらに含むことができる。
【0087】
第3の確定モジュールは、マーク済みクライアント側からのターゲット操作を実行するための要求を受信したことに応答して、更新操作の現在の更新状態を確定するために用いられる。
【0088】
第3の送信モジュールは、現在の更新状態が更新段階にあることを表すと確定した場合、マーク済みクライアント側に再試行を表す再試行回答を送信するために用いられる。
【0089】
本開示の実施例によれば、操作応答装置500は、第4の確定モジュールと、第4の送信モジュールとをさらに含むことができる。
【0090】
第4の確定モジュールは、ターゲットクライアント側からのアクセス要求を受信したことに応答して、ターゲットクライアント側のアクセス権限を確定するために用いられる。
【0091】
第4の送信モジュールは、ターゲットクライアント側のアクセス権限がアクセス権限ルールを満たすと確定した場合、ターゲットクライアント側に権限識別子を送信するために用いられる。
【0092】
本開示の実施例によれば、操作応答装置500は、第5の確定モジュールと、第1の処理モジュールと、第2の処理モジュールとをさらに含むことができる。
【0093】
第5の確定モジュールは、ターゲットクライアント側からのターゲット操作を実行するための要求を受信したことに応答して、ターゲットクライアント側の権限識別子を確定するために用いられる。
【0094】
第1の処理モジュールは、権限識別子が所定の権限識別子と一致すると確定した場合、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することを許可するために用いられる。
【0095】
第2の処理モジュールは、権限識別子が所定の権限識別子と一致しないと確定した場合、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することを拒否するために用いられる。
【0096】
本開示の実施例によれば、第1の処理モジュールは、確定ユニットと、処理ユニットとを含む。
【0097】
確定ユニットは、権限識別子が所定の権限識別子と一致すると確定した場合、共有リソースの、共有リソースが他のクライアント側によりターゲット操作を実行されるか否かを表すアクセス状態を確定するために用いられる。
【0098】
処理ユニットは、共有リソースのアクセス状態がアクセス状態ルールを満たすと確定した場合、ターゲットクライアント側が共有リソースに対してターゲット操作を実行することを許可するために用いられる。
【0099】
本開示の実施例によれば、本開示は、電子機器、可読記憶媒体及びコンピュータプログラムをさらに提供する。
【0100】
本開示の実施例によれば、電子機器は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサと通信接続されるメモリとを備える電子機器であって、メモリには、少なくとも1つのプロセッサによって実行され得る命令が記憶されており、命令が少なくとも1つのプロセッサによって実行されることで、少なくとも1つのプロセッサが本開示の実施例の方法を実行することができる。
【0101】
本開示の実施例によれば、非一時的なコンピュータ可読記憶媒体は、コンピュータに本開示の実施例の方法を実行させるためのコンピュータ命令を記憶している。
【0102】
本開示の実施例によれば、コンピュータプログラムは、プロセッサにより実行される場合に、本開示の実施例の方法を実現する。
【0103】
図6は、本開示の実施例を実現することに適する電子機器600を模式的に示すブロック図である。電子機器は、様々な形式のデジタルコンピュータを示すことを目的とし、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ及び他の適切なコンピュータである。電子機器は、さらに様々な形式の移動装置を示してもよく、例えば、個人デジタルアシスタント、携帯電話、スマートフォン、ウェアラブル機器及び他の類似の演算装置である。本明細書に示された部品、それらの接続及び関係、及びそれらの機能は、例示に過ぎず、本明細書に記載された及び/または要求された本開示の実現を限定すると意味しない。
【0104】
図6に示すように、電子機器600は、演算ユニット601を含み、演算ユニット601は、リードオンリーメモリ(ROM)602に記憶されたコンピュータプログラムまたは記憶ユニット608からランダムアクセスメモリ(RAM)603にロードされたコンピュータプログラムに基づいて、様々な適切な動作及び処理を実行してもよい。RAM603には、電子機器600の操作に必要な様々なプログラム及びデータをさらに記憶してもよい。演算ユニット601と、ROM602と、RAM603とは、バス604を介して相互に接続される。入出力(I/O)インタフェース605も、バス604に接続される。
【0105】
電子機器600における、例えばキーボード、マウス等の入力ユニット606と、例えば様々な種類のディスプレイ、スピーカ等の出力ユニット607と、例えば磁気ディスク、光ディスク等の記憶ユニット608と、例えばネットワークカード、モデム、無線通信トランシーバ等の通信ユニット609とを含む複数の部品は、I/Oインタフェース605に接続される。通信ユニット609は、電子機器600がインターネット等のコンピュータネットワーク及び/または各種の電気通信ネットワークを介して他の機器と情報・データをやり取りすることを可能にする。
【0106】
演算ユニット601は、処理及び演算能力を有する各種の汎用及び/または専用の処理モジュールであってもよい。演算ユニット601の幾つかの例としては、中央処理装置(CPU)、GPU(Graphics Processing Unit)、各種専用の人工知能(AI)演算チップ、機械学習モデルアルゴリズムをランニングする各種演算ユニット、DSP(Digital Signal Processor)、並びに任意の適切なプロセッサ、コントローラ、マイクロコントローラ等が挙げられるが、これらに限定されない。演算ユニット601は、例えば操作応答方法のような上記に記載の各方法及び処理を実行する。例えば、いくつかの実施例において、操作応答方法は、例えば記憶ユニット608のような機械可読媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現されてもよい。いくつかの実施例において、コンピュータプログラムの一部または全部は、ROM602及び/又は通信ユニット609を介して電子機器600にロード及び/またはインストールされてもよい。コンピュータプログラムがRAM603にロードされて演算ユニット601により実行される場合、上記に記載の操作応答方法の1つまたは複数のステップを実行してもよい。代替的に、他の実施例において、演算ユニット601は、他の任意の適切な方式(例えば、ファームウェアを介する)により操作応答方法を実行するように構成されてもよい。
【0107】
本明細書で説明されたシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラムマブルロジックデバイス (CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現されてもよい。これらの様々な実施形態は、1つまたは複数のコンピュータプログラムにおいて実施され、当該1つまたは複数のコンピュータプログラムは、少なくとも1つのプログラムマブルプロセッサを含むプログラムマブルシステムで実行され及び/または解釈されることが可能であり、当該プログラムマブルプロセッサは、専用または汎用のプログラムマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、且つデータ及び命令を当該記憶システム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に伝送することができることを含んでもよい。
【0108】
本開示の方法を実施するためのプログラムコードは、1つまたは複数のプログラミング言語の任意の組み合わせで作成されてもよい。これらのプログラムコードは、汎用コンピュータ、専用コンピュータまたは他のプログラマブルデータ処理装置のプロセッサまたはコントローラに提供されてもよく、それによって、プログラムコードがプロセッサまたはコントローラにより実行される時に、フローチャート及び/またはブロック図に規定された機能・操作が実施される。プログラムコードは、機器に完全に実行されてもよく、部分的に機器で実行されてもよく、独立したソフトウェアパッケージとして部分的に機器で実行され、かつ部分的に遠隔機器で実行されるかまたは完全に遠隔機器またはサーバで実行されてもよい。
【0109】
本開示のコンテキストにおいて、機械可読媒体は、有形の媒体であってもよく、命令実行システム、装置または電子機器に使用され、または命令実行システム、装置または電子機器と組み合わせて使用されるプログラムを含んでまたは記憶してもよい。機械可読媒体は、機械可読信号媒体または機械可読記憶媒体であってもよい。機械可読媒体は、電子の、磁気的、光学的、電磁的、赤外線の、または半導体システム、装置または電子機器、または上記内容の任意の適切な組み合わせを含んでもよいが、それらに限定されない。機械可読記憶媒体のより具体的な例としては、1つ以上の線による電気的接続、携帯式コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、光ファイバ、コンパクトディスクリードオンリーメモリ(CD-ROM)、光学記憶装置、磁気記憶装置、または上記内容の任意の適切な組み合わせを含む。
【0110】
ユーザとの対話を提供するために、コンピュータにここで説明されたシステム及び技術を実施させてもよく、当該コンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウスまたはトラックボール)とを備え、ユーザは、当該キーボード及び当該ポインティングデバイスを介して入力をコンピュータに提供することができる。他の種類の装置は、さらにユーザとの対話を提供してもよく、例えば、ユーザに提供されたフィードバックは、いかなる形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、且ついかなる形式(音声入力、語音入力、または、触覚入力を含む)でユーザからの入力を受信してもよい。
【0111】
ここで説明されたシステム及び技術は、バックグラウンド部品を含むコンピューティングシステム(例えば、データサーバとする)、またはミドルウェア部品を含むコンピューティングシステム(例えば、アプリケーションサーバ)、またはフロントエンド部品を含むコンピューティングシステム(例えば、グラフィカルユーザインタフェースまたはウェブブラウザを有するユーザコンピュータ、ユーザが該グラフィカルユーザインタフェースまたは該ネットワークブラウザを介してここで説明されたシステム及び技術の実施形態と対話することができる)、またはこのようなバックグラウンド部品、ミドルウェア部品、またはフロントエンド部品のいずれかの組み合わせを含むコンピューティングシステムに実施されることが可能である。任意の形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)によりシステムの部品を互いに接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)及びインターネットを例示的に含む。
【0112】
コンピュータシステムは、クライアント側及びサーバを含んでもよい。クライアント側とサーバ同士は、一般的に離れており、通常、通信ネットワークを介して対話する。クライアント側とサーバとの関係は、該当するコンピュータ上でランニングし、クライアント側とサーバの関係を有するコンピュータプログラムによって生成される。サーバは、クラウドサーバであってもよく、分散型システムのサーバであってもよく、またはブロックチェーンを組み合わせしたサーバであってもよい。
【0113】
以上に示された様々な形式のフローを使用してもよく、ステップを改めてソーティングしたり、追加したりまたは削除してもよいと理解されるべきである。例えば、本開示に記載の各ステップは、並列に実行されたり、順次に実行されたり、または異なる順序で実行されてもよく、本開示に開示された技術案の所望の結果を実現することができれば、本明細書はここで限定されない。
【0114】
上記具体的な実施形態は、本開示の保護範囲を限定するものではない。当業者であれば、設計要件及び他の要因に応じて、様々な修正、組み合わせ、サブコンビネーション及び代替を行うことが可能であると理解すべきである。本開示の精神と原則内で行われる任意の修正、均等置換及び改良などは、いずれも本開示の保護範囲内に含まれるべきである。
図1
図2
図3
図4
図5
図6