(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-04-28
(54)【発明の名称】ファイル処理方法、装置、電子デバイス、記憶媒体、及びプログラム
(51)【国際特許分類】
G06F 16/16 20190101AFI20230421BHJP
【FI】
G06F16/16
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022513682
(86)(22)【出願日】2021-07-23
(85)【翻訳文提出日】2022-03-02
(86)【国際出願番号】 CN2021108012
(87)【国際公開番号】W WO2022174553
(87)【国際公開日】2022-08-25
(31)【優先権主張番号】202110194453.2
(32)【優先日】2021-02-20
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ミャオ,ヨンチャン
(57)【要約】
本開示は、ファイル処理方法、装置、電子デバイス、
記憶媒体、及びプログラムを開示し、クラウドコンピューティング分野に関する。該ファイル処理方法は、ターゲットノードが受信したファイル操作リクエストの対応するコンテナスケジューリンググループ情報に基づき、コンテナスケジューリンググループ情報と対応する、ターゲットノード内のコンテナを決定することと、ターゲットノードのノードディレクトリを用いて、コンテナのファイルパスを決定することと、ファイル操作リクエストに応じて、前記ファイルパスにおけるファイルに対して操作を行うことと、を含む。本開示によれば、コンテナクラスタ管理システムの運用とメンテナンスに対する要求を軽減し、より良い互換性を有することができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ターゲットノードが受信したファイル操作リクエストの対応するコンテナスケジューリンググループ情報に基づき、前記コンテナスケジューリンググループ情報と対応する、前記ターゲットノード内のコンテナを決定することと、
前記ターゲットノードのノードディレクトリを用いて、前記コンテナのファイルパスを決定することと、
前記ファイル操作リクエストに応じて、前記ファイルパスにおけるファイルに対して操作を行うことと、を含む、
ファイル処理方法。
【請求項2】
コンテナクラスタ管理システムが作成したコンテナスケジューリンググループが前記ターゲットノードに対応する場合に、前記ターゲットノードにおいてコンテナを作成し、前記コンテナのファイルビュー及び前記コンテナスケジューリンググループのデータボリュームマウントディレクトリを取得することと、
前記コンテナのファイルビュー及び前記コンテナスケジューリンググループのデータボリュームマウントディレクトリを前記ターゲットノードのノードディレクトリにマウントすることと、をさらに含む、
請求項1に記載のファイル処理方法。
【請求項3】
前記ターゲットノードのノードディレクトリを用いて、前記コンテナのファイルパスを決定することは、
前記コンテナに基づいて、前記ターゲットノードのノードディレクトリにおいて、対応するファイルビュー及びデータボリュームマウントディレクトリを検索することを含む、
請求項2に記載のファイル処理方法。
【請求項4】
前記ターゲットノードが受信したファイル操作リクエストの対応するコンテナスケジューリンググループ情報に基づき、前記コンテナスケジューリンググループ情報と対応する、前記ターゲットノード内のコンテナを決定することは、
ターゲットノードが受信したファイル操作リクエストの対応するコンテナスケジューリンググループ情報に基づいて、コンテナスケジューリンググループからコンテナ管理ツールへのコンテナ論理名変換を行い、コンテナ名情報を得ることと、
前記コンテナ名情報に基づいて、前記コンテナスケジューリンググループ情報と対応するコンテナを決定することと、を含む、
請求項1から請求項3のいずれか1項に記載のファイル処理方法。
【請求項5】
前記ファイル操作リクエストに応じて、前記ファイルパスにおけるファイルに対して操作を行うことは、
ローカルファイルサービスを用いて、前記ファイルパスにおけるファイルに対して、前記ファイル操作リクエストで指定された操作タイプと対応する操作を実行することを含む、
請求項1から請求項3のいずれか1項に記載のファイル処理方法。
【請求項6】
配布サービスモジュールがファイル操作リクエストを受信した場合に、コンテナクラスタ管理システムのメタデータ情報集合において、前記ファイル操作リクエストにおけるメタデータ情報と対応するコンテナスケジューリンググループ情報を検索し、前記コンテナスケジューリンググループ情報に基づいて前記ターゲットノードの位置を特定し、前記ファイル操作リクエストを前記ターゲットノードに送信することをさらに含む、
請求項1から請求項3のいずれか1項に記載のファイル処理方法。
【請求項7】
ターゲットノードが受信したファイル操作リクエストの対応するコンテナスケジューリンググループ情報に基づき、前記コンテナスケジューリンググループ情報と対応する、前記ターゲットノード内のコンテナを決定するためのコンテナ決定モジュールと、
前記ターゲットノードのノードディレクトリを用いて、前記コンテナのファイルパスを決定するためのパス決定モジュールと、
前記ファイル操作リクエストに応じて、前記ファイルパスにおけるファイルに対して操作を行うためのファイル操作モジュールと、を備える、
ファイル処理装置。
【請求項8】
コンテナクラスタ管理システムが作成したコンテナスケジューリンググループが前記ターゲットノードに対応する場合に、前記ターゲットノードにおいてコンテナを作成し、前記コンテナのファイルビュー及び前記コンテナスケジューリンググループのデータボリュームマウントディレクトリを取得するためのコンテナ作成モジュールと、
前記コンテナのファイルビュー及び前記コンテナスケジューリンググループのデータボリュームマウントディレクトリを前記ターゲットノードのノードディレクトリにマウントするためのディレクトリマウントモジュールと、をさらに備える、
請求項7に記載のファイル処理装置。
【請求項9】
前記パス決定モジュールは、
前記コンテナに基づいて、前記ターゲットノードのノードディレクトリにおいて、対応するファイルビュー及びデータボリュームマウントディレクトリを検索することに用いられる、
請求項8に記載のファイル処理装置。
【請求項10】
前記コンテナ決定モジュールは、
ターゲットノードが受信したファイル操作リクエストの対応するコンテナスケジューリンググループ情報に基づいて、コンテナスケジューリンググループからコンテナ管理ツールへの論理名変換を行い、コンテナ名情報を得るための変換ユニットと、
前記コンテナ名情報に基づいて、前記コンテナスケジューリンググループ情報と対応するコンテナを決定するための決定ユニットと、を備える、
請求項7から請求項9のいずれか1項に記載のファイル処理装置。
【請求項11】
前記ファイル操作モジュールは、
ローカルファイルサービスを用いて、前記ファイルパスにおけるファイルに対して、前記ファイル操作リクエストで指定された操作タイプと対応する操作を実行することに用いられる、
請求項7から請求項9のいずれか1項に記載のファイル処理装置。
【請求項12】
ファイル操作リクエストを受信した場合に、コンテナクラスタ管理システムのメタデータ情報集合において、前記ファイル操作リクエストにおけるメタデータ情報と対応するコンテナスケジューリンググループ情報を検索し、前記コンテナスケジューリンググループ情報に基づいて前記ターゲットノードの位置を特定し、前記ファイル操作リクエストを前記ターゲットノードに送信するための配布サービスモジュールさらに備える、
請求項7から請求項9のいずれか1項に記載のファイル処理装置。
【請求項13】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されるメモリと、を備え、
前記メモリには、前記少なくとも1つのプロセッサで実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項1から請求項6のいずれか1項に記載のファイル処理方法を実行させる、
電子デバイス。
【請求項14】
コンピュータに請求項1から請求項6のいずれか1項に記載のファイル処理方法を実行させる命令を記憶するための非一時的なコンピュータ可読記憶媒体。
【請求項15】
コンピュータにおいて、プロセッサにより実行されると、請求項1から請求項6のいずれか1項に記載のファイル処理方法を実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は2021年2月20日に提出された出願番号が202110194453.2であり、発明の名称が「ファイル処理方法、装置、電子デバイス及び記憶媒体」である中国特許出願の優先権を主張しており、該先行出願の内容は引用により本出願に取り込まれている。本開示は、コンピュータ技術分野に関し、特にクラウドコンピューティングの分野に関する。
【背景技術】
【0002】
クラウドコンピューティングにおけるコンテナ技術の普及に伴い、Kubernetesのような、コンテナの作成とデプロイを実行するのに用いられるコンテナクラスタ管理システムも広く応用されている。実際のデプロイ運用とメンテナンスにおいて、ユーザーはシステムの内部ファイルを確認したり、バックアップや分析のためにシステムの内部ファイルを外部にコピーしたりするニーズがある。一般的に確認及びバックアップされるファイルタイプには、実行ログ、実行データなどがある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示は、ファイル処理方法、装置、電子デバイス、及び記憶媒体を提供する。
【課題を解決するための手段】
【0004】
本開示の1つの態様では、ファイル処理方法を提供し、該方法は、
ターゲットノードが受信したファイル操作リクエストの対応するコンテナスケジューリンググループ情報に基づき、コンテナスケジューリンググループ情報と対応する、ターゲットノード内のコンテナを決定することと、
ターゲットノードのノードディレクトリを用いて、コンテナのファイルパスを決定することと、
ファイル操作リクエストに応じて、ファイルパスにおけるファイルに対して操作を行うことと、を含む。
【0005】
本開示のもう1つの様態では、ファイル処理装置を提供し、該装置は、
ターゲットノードが受信したファイル操作リクエストの対応するコンテナスケジューリンググループ情報に基づき、コンテナスケジューリンググループ情報と対応する、ターゲットノード内のコンテナを決定するためのコンテナ決定モジュールと、
ターゲットノードのノードディレクトリを用いて、コンテナのファイルパスを決定するためのパス決定モジュールと、
ファイル操作リクエストに応じて、ファイルパスにおけるファイルに対して操作を行うためのファイル操作モジュールと、を備える。
【0006】
本開示のもう1つの様態では、電子デバイスを提供し、該デバイスは、
少なくとも1つのプロセッサと、
少なくとも1つのプロセッサに通信接続されるメモリと、を備え、
メモリには、少なくとも1つのプロセッサにより実行可能な命令が記憶されており、
命令は、少なくとも1つのプロセッサにより実行されると、本開示の任意の実施例の方法を実行させる。
本開示のもう1つの様態では、コンピュータ命令を記憶した非一時的なコンピュータ可読記憶媒体を提供し、該コンピュータ命令を記憶した非一時的なコンピュータ可読記憶媒体は、本開示の任意の実施例の方法をコンピュータに実行させる。
【0007】
本開示のもう1つの様態では、プログラムを提供し、該プログラムは、プロセッサにより実行されると、本開示の任意の実施例の方法を実現する。
【0008】
本開示の技術によれば、ターゲットノードがファイル操作リクエストを受信したときのファイル処理方法を提供し、コンテナスケジューリンググループ情報に基づき具体的なコンテナの位置を特定し、ノードディレクトリを用いてコンテナのファイルパスを決定することにより、コンテナクラスタ管理システムにおけるファイルに対して操作を行うことができ、専用コマンドの使用を不要にし、運用とメンテナンスに対する要求を軽減し、より良い互換性を有する。
【0009】
ここに記載された内容は、本開示の実施例のキーポイント又は重要な特徴を記述することを意図せず、また、本開示の範囲を制限することにも用いられないことを理解すべきである。本開示の他の特徴については、下記の明細書を通して説明を促す。
【図面の簡単な説明】
【0010】
添付図面は、本方案をより良く理解するためのものであり、本開示を限定するものではない。
【
図1】本開示の1つの実施例によるファイル処理方法の概略図である。
【
図2】本開示のもう1つの実施例によるファイル処理方法の概略図である。
【
図3】本開示の1つの実施例によるファイル処理装置の概略図である。
【
図4】本開示のもう1つの実施例によるファイル処理装置の概略図である。
【
図5】本開示の実施例によるファイル処理方法を実現するための電子デバイスのブロック図である。
【発明を実施するための形態】
【0011】
以下では、本開示の例示的な実施形態を、理解を容易にするために本開示の実施形態の様々な詳細を含む添付の図面に関連して説明するが、これらは単に例示的なものであると考えるべきである。したがって、当業者は、本開示の範囲及び精神を逸脱することなく、本明細書に記載された実施形態に様々な変更及び修正を加えることができることを認識すべきである。同様に、以下の説明では、周知の機能及び構成については、明確化及び簡明化のために説明を省略する。
【0012】
図1は、本開示の1つの実施例によるファイル処理方法の概略図である。
図1に示すように、該方法は、以下のステップを含むことができる。
ステップS110において、ターゲットノードが受信したファイル操作リクエストの対応するコンテナスケジューリンググループ情報に基づき、コンテナスケジューリンググループ情報と対応する、ターゲットノード内のコンテナを決定する。
ステップS120において、ターゲットノードのノードディレクトリを用いて、コンテナのファイルパスを決定する。
ステップS130において、ファイル操作リクエストに応じて、前記ファイルパスにおけるファイルに対して操作を行う。
【0013】
例示的に、ターゲットノードは、コンテナクラスタ管理システムにおけるノード(Node)であってもよい。例えばKubernetesのようなコンテナクラスタ管理システムは、コンテナのオーケストレーションツールであり、コンテナ化アプリケーションを自動的にデプロイ、管理できる。仮想マシンと比べ、コンテナは迅速にデプロイでき、基盤となるリソースやマシンファイルシステムからデカップリングしているため、異なるクラウドや異なるバージョンのオペレーティングシステム間で遷移することができる。ノードは、コンテナクラスタ管理システムにおけるハードウェアユニット又は個々のマシンであり、コンテナのホストマシンである。Podとも呼ばれるコンテナスケジューリンググループは、コンテナクラスタ管理システムでコンテナを作成、スケジューリング、管理するための最小単位であり、複数のコンテナの集合体であり、コンテナよりも高いレベルの抽象を提供し、デプロイと管理をより柔軟にする。例えば、Kubernetesはコンテナを直接スケジューリングするのではなく、コンテナをPodにカプセル化し、同じPod内のコンテナは同じ名前空間とローカルネットワークを共有し、コンテナ間で同じPod内で簡単に通信することができる。
【0014】
本開示の実施例における上述のステップS110からS130は、ターゲットノードによって実行されでもよく、具体的にはターゲットノード内のファイル管理エージェントモジュール(Agent)によって実行されてもよい。例示的に、Kubernetesの各ノードにファイル管理エージェントモジュールを設けてもよく、ファイル操作リクエストを開始するリクエスト装置は、ファイル操作リクエストを配布サービスモジュールに送信し、配布サービスモジュールによりターゲットノードを決定し、ターゲットノードにファイル操作リクエストを送信してもよい。例示的に、ファイル操作リクエストの対応するコンテナスケジューリンググループ情報は、ファイル操作リクエストに含まれていてもよく、ファイル操作リクエストにおける関連情報に基づいて、Kubernetesのメタデータ情報集合を検索することにより得ることもできる。ファイル操作リクエストにより操作がリクエストされたファイルは、実行ログ、実行データなどを含んでいてもよい。
上述のステップS110により、ファイル管理エージェントモジュールは、ファイル操作リクエスト、例えばファイルの閲覧やコピーのリクエスト等を受信した場合、該リクエストの対応するコンテナスケジューリンググループ情報を、自ノードにおける具体的なコンテナ(Container)に対応させてもよい。ここでのコンテナは、作成された後、ノード内のコンテナ実行時の標準に準拠して実行されるコンテナを指すことができる。ここでのコンテナ実行時とは、コンテナを実行すると共に、ノードにおいてミラーされたコンテナを管理するためのソフトウェアツールである。本開示のいくつかの実施例において、コンテナ実行時にDockerを用いることができ、相応的に、ノード内の具体的なコンテナをDocker Container、Dockerコンテナと称することもできる。
【0015】
具体的なコンテナを決定した後、ターゲットノードのノードディレクトリを用いて、操作すべきファイルパスを見つけることができる。ここで、ノードディレクトリとは、コンテナ全体を反映するためのファイルシステムのディレクトリ、あるいはパスの集合体を指すことができる。ファイルパスを決定した後、ファイル操作リクエストに応じて、ファイルパスにおけるファイルに対して操作を行い、例えば閲覧やコピーなどの操作を行うことができる。
【0016】
本開示の実施例において、ターゲットノードがファイル操作リクエストを受信したときのファイル処理方法を提供し、コンテナスケジューリンググループ情報に基づき具体的なコンテナの位置を特定し、ノードディレクトリを用いてコンテナのファイルパスを決定することにより、コンテナクラスタ管理システムにおけるファイルに対して操作を行うことができ、tarコマンドのような専用のファイル操作コマンドの使用を不要にし、運用とメンテナンスに対する要求を軽減し、より良い互換性を有する。また、ファイル管理エージェントモジュールをノードにおけるPodファイルを管理するための専用のモジュールとして設けることにより、さらに互換性を高めることができ、異なるユーザシステムにおけるビデオメモリの権限スキームや要塞ホストファイル管理スキームとドッキングすることができる。
【0017】
例示的な1つの実施形態において、上述の方法は、
コンテナクラスタ管理システムが作成したコンテナスケジューリンググループがターゲットノードに対応する場合に、ターゲットノードにおいてコンテナを作成し、コンテナのファイルビュー及びコンテナスケジューリンググループのデータボリュームマウントディレクトリを取得することと、
コンテナのファイルビュー及びコンテナスケジュールグループのデータボリュームマウントディレクトリを、ターゲットノードのノードディレクトリにマウントすることと、をさらに含むことができる。
【0018】
上記のステップは、ターゲットノードによって実行されてもよく、具体的に、Dockerなどのターゲットノード内のコンテナ実行時によって実行されてもよい。たとえば、Kubernetesでは、コンテナはノードにおいて実行される。基盤となるコンテナ実行時がDockerを用いる場合、KubernetesはPodを作成するたびに、Podに対応するノードにおいてPodのコンテナを作成できる。このコンテナは最終的にDockerの標準に準拠して実行される。
【0019】
上述した実施形態によれば、コンテナが作成されると、例えばDockerのような基盤となるコンテナ実行時は、コンテナにファイルビューを決定する。例示的に、ユニオンマウントの方法によりコンテナに完全なファイルビューを提供することができる。このユニオンマウントが実行された後のファイルビューは、ターゲットノードのノードディレクトリにマウントされて、ターゲットノードのノードディレクトリにコンテナのファイルシステムが反映されるようになる。
【0020】
また、コンテナ実行時はコンテナスケジューリンググループに必要なデータボリューム(Volume)をマウントする。たとえば、Mountコマンドを用いてPodに必要なデータボリュームをマウントして、データボリュームマウントディレクトリを得る。このデータボリュームマウントディレクトリもノードディレクトリにある。
【0021】
上述した実施形態によれば、コンテナを作成すると、コンテナのファイルビュー及びコンテナスケジューリンググループのデータボリュームマウントディレクトリをターゲットノードのノードディレクトリにマウントする。これにより、ノードディレクトリはノード内のすべてのコンテナのファイルシステムを反映することができ、ノードディレクトリを介してファイルを操作するために必要かつ完全な情報を決定することができ、ノード内でファイルを簡単に操作することに有利である。
【0022】
例示的に、上述したステップS120では、ターゲットノードのノードディレクトリを用いて、コンテナのファイルパスを決定することは、
コンテナに基づいて、ターゲットノードのノードディレクトリにおいて、対応するファイルビュー及びデータボリュームマウントディレクトリを検索する。
【0023】
各コンテナのファイルビュー及びコンテナスケジューリンググループのデータボリュームマウントディレクトリがノードディレクトリにマウントされるので、決定されたコンテナに基づいて、対応するファイルビュー及びデータボリュームマウントディレクトリをノードディレクトリにおいて検索することができる。たとえば、ノードディレクトリにおいて、DockerContainerを介して、ユニオンマウントのファイルパスとMountコマンドでマウントされたファイルパスを見つける。これにより、対応するファイルビュー及びデータボリュームマウントディレクトリを利用して、ファイルの位置を正確に特定し、ノードにおいてファイルを操作し、ユーザのニーズを満たすことができる。
【0024】
1つの実施形態例において、上述したステップS110において、ターゲットノードが受信したファイル操作リクエストの対応するコンテナスケジューリンググループ情報に基づき、コンテナスケジューリンググループ情報と対応する、ターゲットノード内のコンテナを決定することは、
ターゲットノードが受信したファイル操作リクエストに対応するコンテナスケジューリンググループ情報に基づいて、コンテナスケジューリンググループからコンテナ管理ツールへのコンテナ論理名変換を行い、コンテナ名情報を得ることと、
コンテナ名情報に基づいて、コンテナスケジュールグループ情報と対応するコンテナを決定することと、を含む。
【0025】
上記の実施形態によれば、ファイル管理エージェントモジュールはまた、コンテナスケジューリンググループからコンテナ管理ツールへのコンテナ論理名変換を実施し、例えば、KubernetesPodのコンテナからDockerコンテナへの論理名変換を実施して、ノードがノード内の具体的なDockerコンテナにPod情報を対応させることができるように、Dockerコンテナの名前情報を得る。
【0026】
例示的な実施形態において、上述したステップS130において、ファイル操作リクエストに応じて、ファイルパスにおけるファイルに対して操作を行うことは、
ローカルファイルサービスを用いて、ファイルパスにおけるファイルに対して、ファイル操作リクエストで指定された操作タイプと対応する操作を実行することを含む。
【0027】
ここで、ローカルファイルサービスは例えばFileserverである。Fileserverを使用すると、ファイルパスに基づいて、ユニオンマウントが実行されたノードのディレクトリファイルを直接操作することができる。ファイル操作リクエストで指定された操作タイプには、読み取り、コピー、削除などがある。
【0028】
上述した実施形態では、Fileserverのようなローカルファイルサービスによってファイルを直接操作することにより、より良い転送性能が得られる。
例示的な1つの実施形態では、上記の方法は、
配布サービスモジュールがファイル操作リクエストを受信した場合に、コンテナクラスタ管理システムのメタデータ情報集合において、ファイル操作リクエストにおけるメタデータ情報と対応するコンテナスケジューリンググループ情報を検索し、コンテナスケジューリンググループ情報に基づいてターゲットノードの位置を特定し、ファイル操作リクエストをターゲットノードに送信することをさらに含む。
【0029】
図2は、上述の実施形態によって、Kubernetesの基盤となるコンテナ実行時がdockerである場合の、podファイルに対する操作を示す概略図である。
図2に示すように、Kubernetes200は、複数のノード220を備える。リクエスト装置は、あるpodファイルに対するファイル操作リクエストを配布サービスモジュール(Dispenser)210に送信する。配布サービスモジュール210は、ファイル操作リクエストを受信し、podの位置するノード220の位置を特定し、このノード220内のファイル管理エージェントモジュール221と接続を確立する。ファイル管理エージェントモジュール221は、配布サービスモジュール210と接続を確立してpodファイルに対するファイル操作リクエストを受信すると、ファイル操作リクエストと対応するpod情報を、自ノードの具体的なDockerコンテナ222と対応付ける。ノードディレクトリ223を用いて、Dockerコンテナ222を介してユニオンマウントのファイルパス及びMountのファイルパスを見つける。さらに、これらのファイルパスに基づいて、ファイルに対するリクエストをFileserverで処理する。Fileserverは、ユニオンマウントが実行されたノードのディレクトリファイルを直接操作する。
【0030】
配布サービスモジュールを設けることにより、配布サービスモジュールを用いてコンテナクラスタ管理システムのメタデータ情報の集合を検索することにより、関連するコンテナスケジューリンググループの位置するターゲットノードを特定することができるので、コンテナスケジューリンググループの位置するターゲットノードにおいてファイルパスを直接決定することができ、専用のコマンドを用いて各ノードにアクセスする場合よりも効率的である。
【0031】
本開示の実施例では、ターゲットノードがファイル操作リクエストを受信したときのファイル処理方法を提供し、Stackプラットフォームのようなクラウドネイティブマイクロサービスアプリケーションプラットフォームに適用することができる。コンテナスケジューリンググループ情報に基づいて具体的なコンテナの位置を特定し、ノードディレクトリを用いてコンテナのファイルパスを決定することにより、コンテナクラスタ管理システム内のファイルに対して操作を行うことができ、専用のコマンドの使用を不要にし、運用とメンテナンスに対する要求を軽減し、より良い互換性を有する。
【0032】
上記の各方法の実現として、本開示の実施形態はまた、ファイル処理装置を提供する。
図3は、本開示の1つの実施例によるファイル処理装置の概略図である。
図3に示すように、装置は、以下のモジュールを備える。
【0033】
ターゲットノードが受信したファイル操作リクエストの対応するコンテナスケジューリンググループ情報に基づき、コンテナスケジューリンググループ情報と対応するターゲットノード内のコンテナを決定するためのコンテナ決定モジュール310と、
ターゲットノードのノードディレクトリを用いて、コンテナのファイルパスを決定するためのパス決定モジュール320と、
ファイル操作リクエストに応じて、ファイルパスにおけるファイルに対して操作を行うためのファイル操作モジュール330と、を備える。
【0034】
例示的に、
図4に示すように、ファイル処理装置は、
コンテナクラスタ管理システムが作成したコンテナスケジューリンググループがターゲットノードに対応する場合に、ターゲットノードにおいてコンテナを作成し、コンテナのファイルビュー及びコンテナスケジューリンググループのデータボリュームマウントディレクトリを取得するためのコンテナ作成モジュール410と、
コンテナのファイルビュー及びコンテナスケジューリンググループのデータボリュームマウントディレクトリをターゲットノードのノードディレクトリにマウントするためのディレクトリマウントモジュール420と、をさらに備える。
【0035】
1つの例として、パス決定モジュール320は、
コンテナに基づいて、ターゲットノードのノードディレクトリにおいて、対応するファイルビュー及びデータボリュームマウントディレクトリを検索することに用いられる。
例示的に、
図4に示されるように、コンテナ決定モジュール310は、
ターゲットノードが受信したファイル操作リクエストの対応するコンテナスケジューリンググループ情報に基づいて、コンテナスケジューリンググループからコンテナ管理ツールへの論理名変換を行い、コンテナ名情報を得るための変換ユニット311と、
コンテナ名情報に基づいて、コンテナスケジューリンググループ情報と対応するコンテナを決定するための決定ユニット312と、を備える。
【0036】
1つの例として、ファイル操作モジュール330は、
ローカルファイルサービスを用いて、ファイルパスにおけるファイルに対して、ファイル操作リクエストで指定された操作タイプと対応する操作を実行することに用いられる。
例示的に、
図4に示すように、ファイル処理装置は、
ファイル操作リクエストを受信した場合に、コンテナクラスタ管理システムのメタデータ情報集合において、ファイル操作リクエストにおけるメタデータ情報と対応するコンテナスケジューリンググループ情報を検索し、コンテナスケジューリンググループ情報に基づいてターゲットノードの位置を特定し、ファイル操作リクエストをターゲットノードに送信するための配布サービスモジュール430をさらに備える。
【0037】
本開示の実施例による各装置における各ユニット、モジュール、又はサブモジュールの機能は、上記の方法の実施形態における対応する説明を参照することができ、ここでは言及しない。
本開示の実施形態によれば、本開示は、電子デバイス、読取可能記憶媒体及びコンピュータプログラム製品をさらに提供する。
【0038】
図5は、本開示の実施形態を実現するための例示的電子デバイス500のブロック図である。電子デバイスは、各形式のデジタルコンピュータを指し、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及びその他の適合するコンピュータが挙げられる。電子デバイスは、各形式の移動装置をさらに指し、例えば、パーソナルデジタルアシスタント、セルラー電話、スマートフォン、ウェアラブルデバイス、及びその他の類似のコンピュータ装置が挙げられる。本開示に記載されているコンポーネント、それらの接続関係、及び機能は例示的なものに過ぎず、本開示に記載・特定されているものの実現を限定するわけではない。
【0039】
図5に示すように、デバイス500は、リードオンリーメモリ(ROM)502に記憶されたコンピュータプログラム命令、又は記憶ユニット508からランダムアクセスメモリ(RAM)503にローディングされたコンピュータプログラム命令に基づいて、各種の適切な動作と処理を実行できる計算ユニット501を含む。RAM503には、デバイス500の動作に必要な各種のプログラム及びデータをさらに記憶することができる。計算ユニット501と、ROM502と、RAM503とは、バス504を介して互いに接続されている。入力/出力(I/O)インタフェース505もバス504に接続されている。
【0040】
デバイス500における複数のコンポーネントは、I/Oインタフェース505に接続されており、その複数のコンポーネントは、キーボードやマウスなどの入力ユニット506と、種々なディスプレイやスピーカなどの出力ユニット507と、磁気ディスクや光学ディスクなどの記憶ユニット508と、ネットワークカード、モデム、無線通信トランシーバーなどの通信ユニット509と、を備える。通信ユニット509は、デバイス500がインターネットのようなコンピュータネット及び/又は種々なキャリアネットワークを介して他の機器と情報/データを交換することを許可する。
【0041】
計算ユニット501は、処理及び計算能力を有する様々な汎用及び/又は専用の処理コンポーネントであってもよい。計算ユニット501のいくつかの例としては、中央処理装置(CPU)、グラフィックス処理ユニット(GPU)、様々な専用の人工知能(AI)計算チップ、様々な機械学習モデルアルゴリズムを実行する計算ユニット、デジタル信号プロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを備えるが、これらに限定されない。計算ユニット501は、上述で説明された各方法及び処理、例えばファイル処理方法を実行する。例えば、いくつかの実施形態では、ファイル処理方法を、記憶ユニット508のような機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウエアプログラムとして実現することができる。一部の実施形態では、コンピュータプログラムの一部又は全ては、ROM502及び/又は通信ユニット509を介して、デバイス500にロード及び/又はインストールすることができる。コンピュータプログラムがRAM503にロードされて計算ユニット501によって実行される場合に、前述したファイル処理方法の一つ又は複数のステップを実行することができる。追加可能に、他の実施形態では、計算ユニット501は、他の任意の適当な方式(例えば、ファームウェア)によりファイル処理方法を実行するように構成することができる。
【0042】
ここで記載されているシステム又は技術の各種の実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータのハードウェア、ファームウェア、ソフトウェア、及び/又はこれらの組み合わせによって実現することができる。これらの各実施形態は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにて実行及び/又は解釈される1つ又は複数のコンピュータプログラムにより実行することを含み得、該プログラマブルプロセッサは、ストレージシステム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受け取り、データ及び命令を該ストレージシステム、該少なくとも1つの入力デバイス、及び該少なくとも1つの出力デバイスに転送することができる専用又は汎用のプログラマブルプロセッサであってもよい。
【0043】
本開示の方法を実行するためのプログラムコードは、一つ又は複数のプログラミング言語の任意の組み合わせで作成することができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ又は他のプログラミングデータ処理装置のプロセッサ又はコントローラに提供されることにより、プログラムコードがプロセッサ又はコントローラによって実行される場合に、フローチャート及び/又はブロック図に規定された機能/動作を実行することができる。プログラムコードは、完全にマシンで実行されてもよいし、部分的にマシンで実行されてもよいし、独立したソフトパッケージとして部分的にマシンで実行されるとともに部分的にリモートマシンで実行されてもよし、又は完全にリモートマシン又はサーバで実行されてもよい。
【0044】
本開示の説明において、機械読み取り可能な媒体は、有形な媒体であってもよく、命令実行システム、装置又は機器によって、又は命令実行システム、装置又は機器と合わせて使用されるプログラムを含み、又は記憶する。機械読み取り可能な媒体は、機械読み取り可能な信号媒体又は機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置、又はデバイス、又は前述した内容の任意の適切な組み合わせを含むことができるがこれらに限定されない。機械読み取り可能な記憶媒体のさらなる具体例として、1つ又は複数の配線による電気的接続、ポータブルコンピュータディスクカートリッジ、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(RMO)、消去可能なプログラマブルリードオンリーメモリ(EPRMO又はフラッシュメモリ)、光ファイバー、ポータブルコンパクトディスクリードオンリーメモリ(CD-RMO)、光学記憶装置、磁気記憶装置、又は前述した内容の任意の組み合わせを含む。
【0045】
ユーザーとのインタラクションを提供するために、コンピュータでここで記載されているシステム及び技術を実施することができ、該コンピュータは、ユーザーに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニターなど)、ユーザーが入力をコンピュータに提供するためのキーボード及びポインティングデバイス(例えば、マウス又はトラックボールなど)を備えるができる。ユーザーとのインタラクションを提供するために、他の種類の装置を使用することもでき、例えば、ユーザーに提供するフィードバックは、いかなる形式のセンサーフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックなど)であってもよく、また、いかなる形式(例えば、音響入力、音声入力、触覚入力など)によって、ユーザーからの入力を受付取るができる。
【0046】
ここに記載されているシステムと技術を、バックグラウンド部品に含まれる計算システム(例えば、データサーバとして)、又はミドルウェア部品を含む計算システム(例えば、アプリケーションサーバ)、又はフロント部品を含む計算システム(例えば、GUI又はネットワークブラウザを有するユーザコンピュータが挙げられ、ユーザがGUI又は該ネットワークブラウザによって、ここに記載されているシステムと技術の実施形態とインタラクションすることができる)、又はこのようなバックグラウンド部品、ミドルウェア部品、又はフロント部品のいかなる組合した計算システムで実施することができる。如何なる形式又はメディアのデジタルデータ通信(例えば、通信ネットワーク)を介して、システムの部品を互いに接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)及びインターネットを含む。
コンピュータシステムは、クライアントとサーバを含み得る。通常、クライアントとサーバは、互いに離れており、通信ネットワークを介してインタラクションを行うことが一般的である。対応するコンピュータで動作することで、クライアント-サーバの関係を有するコンピュータプログラムによってクライアントとサーバの関係を生み出す。
【0047】
上記の様々な態様のフローを用いて、ステップを新たに順序付け、追加、又は削除することが可能であることを理解すべきである。例えば、本開示で記載された各ステップは、並列に実行しても良いし、順次に実行しても良いし、異なる順序で実行しても良い。本開示で開示された技術案が所望する結果を実現することができる限り、本開示ではこれに限定されない。
【0048】
上記具体的な実施形態は、本開示の保護範囲に対する限定を構成するものではない。当業者は、設計事項やその他の要因によって、様々な修正、組み合わせ、サブ組み合わせ、及び代替が可能であることを理解するべきである。本開示の要旨及び原理原則内における変更、均等な置換及び改善等は、いずれも本開示の保護範囲に含まれるべきである。
【国際調査報告】