JP2023532138A - イメージ配布方法、電子機器及び記憶媒体 - Google Patents

イメージ配布方法、電子機器及び記憶媒体 Download PDF

Info

Publication number
JP2023532138A
JP2023532138A JP2022581580A JP2022581580A JP2023532138A JP 2023532138 A JP2023532138 A JP 2023532138A JP 2022581580 A JP2022581580 A JP 2022581580A JP 2022581580 A JP2022581580 A JP 2022581580A JP 2023532138 A JP2023532138 A JP 2023532138A
Authority
JP
Japan
Prior art keywords
image
image file
storage location
repository
layer data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022581580A
Other languages
English (en)
Inventor
王党華
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Publication of JP2023532138A publication Critical patent/JP2023532138A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本願の実施形態は、通信技術の分野に関し、イメージ配布方法、サーバ及び記憶媒体を開示する。イメージファイルの配布要求を取得し、イメージファイルの各層データの、ソースイメージレポジトリ内における第1の格納場所を特定し、第1の格納場所に応じて、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布する技術的手段は、イメージ配布が必要な場合、イメージファイルの各層データの格納場所を特定してからイメージ配布を行うことにより、イメージをローカルにプルしてからターゲットイメージレポジトリにプッシュする必要がなくなる。【選択図】図1

Description

本願の実施形態は、通信の分野に関し、特にイメージ配布方法、サーバ及び記憶媒体に関する。
IT技術の日進月歩の発展に伴い、便利、簡単、低コスト、高安全性といった特徴を有するため、仮想化技術はコンピュータ分野でますます広く応用されるようになってきている。その中でも、イメージレポジトリは、仮想化技術における重要なネットワーク要素であり、ユーザのさまざまなイメージファイル(Image)を格納するために使用される。イメージはイメージレポジトリ内に層(Layers)に分けて格納され、異なる参照関係(link)によって異なるイメージが識別される。つまり、イメージは1つのファイルとしてではなく、一連のLayersとlinksとしてイメージレポジトリに格納される。これは、各層データを共有し、記憶容量を削減する特別なファイル構造である。
イメージの使用過程において、多くの場合、ユーザは複数のイメージレポジトリ間でイメージ配布を行う必要がある。イメージ配布は通常、オープンソースのアプリケーションコンテナエンジンであるdockerシステムに基づいて行われる。すなわち、まずはソースイメージレポジトリから1つのイメージファイルをプルし、イメージにタグを付けてから、新しいタグに対応するターゲットイメージレポジトリにイメージファイルをプッシュする。この方法でイメージ配布を行うには、イメージファイル全体をローカルにプルする必要があるため、ネットワーク帯域幅の消費が大きく、配布の効率が低い。また、イメージファイルをローカルに格納するには、多くの場合、一定の時間が必要とされるため、複数の配布タスクが同一のイメージファイルに対応している場合、イメージファイルの競合が発生しやすくなる。
本願の実施形態の目的は、イメージ配布方法、サーバ及び記憶媒体を提供することであり、新しいイメージ配布方法により、イメージ配布プロセスの効率と安定性を向上させる。
上述した技術的課題を解決するために、本願の実施形態はイメージ配布方法を提供し、前記イメージ配布方法は、イメージファイルの配布要求を取得することと、イメージファイルのソースイメージレポジトリから、イメージファイルの格納場所を特定することと、イメージファイルの格納場所に基づいて、イメージファイルをターゲットイメージレポジトリに配布することと、を含む。
本願の実施形態はサーバさらに提供する。前記サーバは、少なくとも1つのプロセッサと、少なくとも1つのプロセッサと通信可能に接続されたメモリとを含み、メモリには少なくとも1つのプロセッサにより実行できる指令が記憶されており、指令が少なくとも1つのプロセッサにより実行されることで、少なくとも1つのプロセッサにより上記したイメージ配布方法を実行できる。
本願の実施形態はコンピュータ可読記憶媒体をさらに提供し、前記コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、コンピュータプログラムがプロセッサにより実行された場合、上記に記載のイメージ配布方法を実現する。
一つ又は複数の実施形態をそれに対応する添付図面中の画像によって例示的に示し、これらの例示的な説明は、実施形態に対する限定を構成するわけではない。
本願の第1実施形態におけるイメージ配布方法のフローチャートである。 本願の第2実施形態におけるイメージ配布方法のフローチャートである。 本願の第3実施形態におけるイメージ配布方法のフローチャートである。 本願の第4実施形態におけるイメージ配布装置の構成模式図である。 本願の第4実施形態におけるイメージ配布装置の構成模式図である。 本願の第5実施形態におけるサーバの構成模式図である。
本願実施例の目的、技術案及び利点をより明らかにするために、以下では、添付図面を組み合わせて本願の各実施形態を詳しく説明する。しかしながら、当業者であれば、本願の各実施形態において、読み手に本願をよりよく理解してもらうために多くの技術的詳細が提示されていることを理解することができる。しかし、これらの技術的詳細及び以下の各実施形態に基づく様々な変更及び修正がなくとも、本願の保護を求める技術案を実現することができる。以下の各実施例の区分は、説明の便宜のためになされており、本願の具体的な実施形態にいかなる限定を構成すべきではなく、各実施形態は、矛盾しない限り、組み合わせたり互いに引用したりすることができる。
本発明の第1実施形態は、イメージ配布方法に関し、この方法によれば、イメージファイルの配布要求を取得し、イメージファイルの各層データの、ソースイメージレポジトリ内における第1の格納場所を特定し、第1の格納場所に応じて、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布する技術的手段は、イメージ配布が必要な場合、イメージファイルの各層データの格納場所を特定してからイメージ配布を行うことにより、イメージをローカルにプルしてからターゲットイメージレポジトリにプッシュする必要がなくなり、イメージ配布の効率が著しく向上するとともに、イメージファイルをローカルにプルする際に発生する可能性のあるファイル競合が回避され、イメージ配布プロセスの安定性が向上する。
以下では、本実施形態のイメージ配布方法の実現の詳細について説明するが、以下の内容は、理解を容易にするために提供される実現の詳細に過ぎず、本案を実施するための必須条件ではない。
本実施形態の具体的な流れは図1に示すように、具体的には、以下のステップを含む。
ステップ101において、イメージファイルの配布要求を取得する。
具体的には、本実施形態でいうイメージファイルとは、配布要求で要求されるイメージファイルであり、すなわち、配布対象のイメージファイルである。ユーザが複数のイメージレポジトリ間でイメージを配布する必要がある場合、DClient(Image Distribute Client,イメージ配布システムクライアント側)によりイメージファイルの配布要求を、IDServer(Image Distribute Server,イメージ配布システムサーバ側)に送信する。利用可能なIDClientには、Web(ウェブページクライアント)、App(モバイル端末用アプリケーション)、コマンドラインバイナリプログラム、コマンドラインスクリプトなどが含まれる。本実施形態における実行主体はIDServerであり、IDClientと同じ仮想ノード上または同じ仮想マシンノードにデプロイされて、イメージレポジトリを管理および制御する機能を果たすことができる。ここで、イメージ配布要求には、少なくとも、配布対象のイメージファイルのファイルの名前または複数の配布対象のイメージファイルの名前を含むイメージリストと、ソースイメージレポジトリのアドレスおよびターゲットイメージレポジトリのアドレスとが保持される。
ステップ102において、イメージファイルの各層データの、ソースイメージレポジトリ内における第1の格納場所を特定する。
具体的には、IDServerからイメージファイルの配布要求を受信した後、ソースイメージレポジトリ内でイメージ特定を行い、すなわち、配布要求内のイメージファイル名およびソースイメージレポジトリのアドレスを解析するとともに、イメージレポジトリ内におけるイメージの特別な格納構造に関連して、ソースイメージレポジトリ内における配布対象のイメージファイルの各層データの格納場所、すなわち第1の格納場所をイメージレポジトリから特定する。その中で、イメージファイルの各層データ、すなわち、基礎となるデータは、イメージレポジトリ内におけるイメージファイルの特別な格納構造によって決まり、基礎となるデータには、repositories、blobs、layers、manifestsなどが含まれるが、これらに限定されない。このうち、repositoriesは、テナント、タグ、参照関係などを含む、イメージの基礎的な情報を格納するために使用される。blobsは、イメージ各層の実際のデータを格納するために使用される。layersは、実際のデータ層に対するあるイメージの参照関係を格納するために使用される。manifestsは、あるイメージのタグと、実際のデータ層に対する各タグの参照関係とを格納するために使用される。ソースイメージレポジトリ内におけるイメージファイルの基礎となるデータが特定されると、イメージファイルの基礎となるデータをロックし、基礎となるデータを保存する。
一例において、基礎となるデータの保存は一時的なものであってもよい。例えば、基礎となるデータをサーバのランダムアクセスメモリRAM、すなわち揮発性メモリに書き込み、今回のイメージ配布オペレーションの実行が終ると、基礎となるデータが占有していたメモリ空間を解放する。さらに、基礎となるデータには永続性があってもよく、例えば、基礎となるデータを、データベース、サーバのローカル磁気ディスク、クラウド側のストレージなどの不揮発性メモリに書き込むことで、後にイメージファイルに対する検証プロセス、または該イメージファイルに対する他の配布オペレーションを行う際に、イメージファイルの格納場所を再び特定する必要がなくなるため、イメージファイル配布の効率を向上させる。
ステップ103において、第1の格納場所に応じて、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布する。
具体的には、イメージファイルを配布する場合、ターゲットイメージレポジトリに配布されたファイルデータは、イメージを格納する特定構造に依然として合致する。つまり、ターゲットイメージレポジトリに配布されたイメージファイルは、ソースイメージレポジトリ内のイメージファイルの格納構造と一致しており、その基礎となるデータも一致している。
そこで、本願の第1実施形態はイメージ配布方法を提供し、該イメージ配布方法によれば、イメージファイルの配布要求を取得し、イメージファイルの各層データの、ソースイメージレポジトリ内における第1の格納場所を特定し、第1の格納場所に応じて、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布する技術的手段は、イメージ配布が必要な場合、イメージファイルの各層データの格納場所を特定してからイメージ配布を行うことにより、イメージをローカルにプルしてからターゲットイメージレポジトリにプッシュする必要がなくなり、複数のイメージ配布要求のタスクが同時に進行する際にイメージ配布システムサーバ側で配布要求を処理する効率が著しく向上するとともに、イメージファイルをローカルにプルする際に発生する可能性のあるファイル競合が回避され、イメージ配布プロセスの安定性が向上する。
本発明の第2実施形態は、イメージ配布方法に関し、第2実施形態は第1実施形態とほぼ同じである。本実施形態において、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布する前に、配布対象のイメージファイルと同じイメージファイルがターゲットイメージレポジトリ内に存在しないか否かを判定し、判定結果がYESである場合、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布し、それ以外の場合、イメージファイルの配布オペレーションを実行しない。ターゲットイメージレポジトリ内のイメージファイルに対する検査により、イメージ配布時の不要なデータ伝送オペレーションを回避できる。
本実施形態におけるイメージ配布方法の具体的なフローチャートは図2に示すように、具体的には、以下のステップを含む。
ステップ201において、イメージファイルの配布要求を取得する。
ステップ202において、イメージファイルの各層データの、ソースイメージレポジトリ内における第1の格納場所を特定する。
本実施形態におけるステップ201およびステップ202は、本願の第1実施形態におけるステップ101およびステップ102と同じであり、関連する実施の詳細については、第1実施形態で既に具体的に説明したため、ここでは繰り返しを省く。
ステップ203において、前記イメージファイルと同じイメージファイルがターゲットイメージレポジトリ内に存在するか否かを判定する。ターゲットイメージレポジトリ内に前記イメージファイルと同じイメージファイルが存在しない場合、ステップ204を実行し、第1の格納場所に応じて、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布し、それ以外の場合、イメージ配布プロセスを終了する。
具体的には、配布対象のイメージファイルと同じイメージファイルがターゲットイメージレポジトリに存在する場合、ユーザが要求しているイメージファイルがイメージレポジトリに既に存在することを示すため、イメージ配布オペレーションが不要となり、仮想マシン環境下での伝送リソースを節約し、占有帯域幅を低減してイメージ配布のスピードをさらに上げ、複数のイメージ配布要求のタスクが同時に進行する場合、イメージ配布システムのサーバ側で配布要求の処理効率を大幅に向上させる。
一例において、前記イメージファイルと同じイメージファイルがターゲットイメージレポジトリ内に存在しないと判定する方法は以下の通りである。
まず、配布対象のイメージファイルのイメージ名をターゲットイメージレポジトリ内で検索し、すなわち、配布対象のイメージファイルと同じ名前のイメージファイルがターゲットイメージレポジトリ内に存在するか否かを特定する。イメージファイルと同じ名前のイメージファイルがターゲットイメージレポジトリ内に存在しない場合、配布対象のイメージファイルと同じイメージファイルがターゲットイメージレポジトリ内に存在しないと判定する。この場合、第1の格納場所に応じて、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布する。
イメージファイルと同じ名前のイメージファイルがターゲットイメージレポジトリ内に存在する場合、イメージファイルと同じ名前のイメージファイルの各層データのターゲットイメージレポジトリ内における格納場所、すなわち第2の格納場所をさらに特定する必要がある。そして、第2の格納場所と第1の格納場所に格納されている各層データを比較し、第2の格納場所に格納されている各層データと第1の格納場所に格納されている各層データとが一致しない場合、配布対象のイメージファイルと同じイメージファイルがターゲットイメージレポジトリ内に存在しないと判定する。この場合、第1の格納場所に応じて、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布する。それ以外の場合、配布対象のイメージファイルと同じイメージファイルがターゲットイメージレポジトリ内に存在すると判定し、イメージ配布プロセスを終了する。
本実施形態において、イメージファイルの各層データからイメージファイルのファイル特徴を取得し、配布対象のイメージファイルと同じ名前のターゲットイメージレポジトリ内のイメージファイルのファイル特徴と、配布対象のイメージファイルのファイル特徴とが一致する場合、両者が同じイメージファイルであると判定する。ここで比較されるファイル特徴には、イメージファイルのデータ数、サイズ、md5コード、sha256コードなどが含まれるが、これらに限定されない。いずれか一つのファイル特徴に相違があれば、両者が異なるイメージファイルであると判定する。
一例において、第1の格納場所に応じて、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布する具体的なオペレーション方法は、配布対象のイメージファイルの各層データを第1の格納場所からコピーし、コピーされたイメージファイルの各層データを前記第2の格納場所に上書きして格納することによって行うことができる。この方法でイメージ配布を行う場合、ターゲットイメージレポジトリに配布されたデータは、イメージを格納する特定構造に依然として、自動的に合致する。
これにより、本実施形態は、イメージ配布方法を提供し、該イメージ配布方法によれば、イメージを配布する前に、配布対象のイメージファイルと同じ名前のターゲットイメージレポジトリ内のイメージファイルを特定し、完全に同じイメージファイルが存在する場合、イメージ配布オペレーションを行わないことで、データ伝送によって占有される帯域幅が削減されるため、複数の配布要求が同時に発生した場合の処理効率が大幅に向上するとともに、配布完了後の、ターゲットイメージレポジトリ内で発生する同じイメージファイルのファイル競合の問題を回避することもできる。
当業者であれば、上記の各種方法のステップ分けは、単に明確に説明するためになされたものであり、実装時に1つのステップに統合するか、又は一部のステップを複数のステップに再分割することができ、同一の論理的関係が含まれていれば、いずれも本願の保護範囲内に含まれること、アルゴリズム及びプロセスの中核となる設計を変更せずに、そのアルゴリズム又はプロセスに重要でない修正を加えたり、又は重要でない設計を導入したりしたものであれば、いずれも本願の保護範囲内に含まれることは、理解できるであろう。
本発明の第3実施形態は、イメージ配布方法に関し、第3実施形態は第1実施形態とほぼ同じである。本実施形態において、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布した後に、配布後のイメージファイルの各層データの第3の格納場所と第1の格納場所とを検証する。両者が一致する場合、イメージ配布が成功したことを示すため、イメージ配布プロセスを終了し、両者が一致しない場合、配布中にイメージファイルにエラーが発生したことを示すため、第1の格納場所に応じて、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布するステップを再び実行する。本実施形態において、配布後のファイルを検証することにより、イメージファイル配布の正確度を保証し、イメージ配布プロセスの安定性をさらに向上させる。
本実施形態におけるイメージ配布方法の具体的なフローチャートは図3に示すように、具体的には、以下のステップを含む。
ステップ301において、イメージファイルの配布要求を取得する。
ステップ302において、イメージファイルの各層データの、ソースイメージレポジトリ内における第1の格納場所を特定する。
ステップ303において、前記イメージファイルと同じイメージファイルがターゲットイメージレポジトリ内に存在するか否かを判定する。ターゲットイメージレポジトリ内に前記イメージファイルと同じイメージファイルが存在しない場合、ステップ304を実行し、第1の格納場所に応じて、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布し、それ以外の場合、イメージ配布プロセスを終了する。
本実施形態におけるステップ301からステップ304は、第2実施形態におけるステップ301からステップ304とほぼ同じであり、関連する実施の詳細については、第2実施形態で既に具体的に説明したため、ここでは繰り返しを省く。
ステップ305において、配布後のイメージファイルの第3の格納場所に格納されている各層データと、第1の格納場所に格納されている各層データとが一致するか否かを検証する。前記第3の格納場所に格納されている各層データと前記第1の格納場所に格納されている各層データとが一致しないと検証された場合、配布プロセスを終了する。それ以外の場合、ステップ304を再び実行し、第1の格納場所に応じて、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布する。
具体的には、イメージファイルの配布が完了した後に、配布後のイメージファイルの各層データの、ターゲットイメージレポジトリ内における第3の格納場所を特定する。そして、第3の格納場所に格納されている各層データと第1の格納場所に格納されている各層データとが一致するか否かを検証する。第3の格納場所に格納されている各層データと第1の格納場所に格納されている各層データとが一致しないと検証された場合、ステップ304を再び実行する。配布後のイメージファイルの格納データを検証することにより、配布後のイメージファイルのデータに欠落や誤りがないことを保証し、イメージ配布プロセスにおけるイメージファイルの安定性をさらに向上させる。
本実施形態において、本実施形態におけるイメージファイルの各層データを検証する際に、第2の実施形態と似ており、同様に、2つのイメージファイルの、ファイルのデータ数、サイズ、md5コード、sha256コードなどのファイル特徴を比較する。ターゲットイメージレポジトリ内の配布後イメージファイルと、ソースイメージレポジトリ内のイメージファイルとのいずれか一つのファイル特性に相違がある場合、両方の格納データが一致しないことを示す。
また、ユーザは、イメージ配布システムのサーバ側にイメージ再配布の回数上限を設定することもできる。イメージ配布にエラーが複数回発生した場合、システムに問題が発生した可能性があると考え、管理者にエラーメッセージをプッシュし、管理者にシステムに他のエラーが発生した否かをチェックさせることで、イメージ配布プロセスが循環エラーに陥って、システムリソースを浪費することを回避する。
一例において、イメージファイルの格納アドレス情報を永続的に保存する必要がある場合、イメージファイルの各層データの、ソースイメージレポジトリ内における第1の格納場所を特定した後に、および、イメージファイルと同じ名前のイメージファイルの各層データの、ターゲットイメージレポジトリ内における第2の格納場所を特定した後に、第1の格納場所と第2の格納場所をそれぞれ、データベース、サーバのローカル磁気ディスク、クラウド側のストレージなどの不揮発性メモリに書き込んでもよい。
本実施形態において、ステップ305の後に判断してステップ304を再び実行する場合、まず、不揮発性メモリから、保存されている第1の格納場所を取得する。配布後のイメージファイルの、ターゲットイメージレポジトリ内における第3の格納場所を直接特定できる以外にも、さらに、不揮発性メモリから、以前に保存された第2の格納場所を取得することもできる。次に、第1の格納場所に記憶されている各層データと、第2の格納場所または第3の格納場所に記憶されている各層データとが一致するか否かを検証することにより、配布後のイメージファイルの検証プロセスを完了する。第1の格納場所に記憶されている各層データと、第2の格納場所または第3の格納場所に記憶されている各層データとが一致する場合、データ配布プロセスを終了し、それ以外の場合、ステップ304を再び実行する。
これにより、本実施形態は、イメージ配布方法を提供し、該イメージ配布方法によれば、イメージの配布が完了した後に、ターゲットイメージレポジトリ内の配布後のイメージファイルの各層データと、ソースイメージレポジトリ内のイメージファイルの各層データとが一致するか否かを検証し、イメージファイル配布の正確度を保証し、イメージ配布プロセスの安定性をさらに向上させる。
本願の第4実施形態はイメージ配布装置に関し、図4に示すように、以下の部品を含む。
受信モジュール401は、イメージファイルの配布要求を取得し、イメージ名を解決した後に、イメージ名を制御モジュールに送信するように構成されている。
制御モジュール402は、配布対象のイメージファイルの各層データの、ソースイメージレポジトリ内における第1の格納場所を特定するように構成されている。
一例において、さらに、配布対象のイメージファイルと同じ名前のイメージファイルの各層データの、ターゲットイメージレポジトリ内における第2の格納場所を特定するように構成されている。
一例において、さらに、配布後のイメージファイルの各層データの、ターゲットイメージレポジトリ内における第3の格納場所を特定するように構成されている。
一例において、さらに、イメージファイルの各層データの、ソースイメージレポジトリ内における第1の格納場所を特定した後に、および、イメージファイルと同じ名前のイメージファイルの各層データの、ターゲットイメージレポジトリ内における第2の格納場所を特定した後に、第1の格納場所と第2の格納場所をそれぞれ、データベース、サーバのローカル磁気ディスク、クラウド側のストレージなどの不揮発性メモリに書き込むように構成されている。
検証モジュール403は、制御モジュール402によって特定された第1の格納場所および第2の格納場所に応じて、イメージファイルと同じイメージファイルがターゲットイメージレポジトリに存在しないと判定し、検証結果を配布モジュール404に送信するように構成されている。
一例において、さらに、不揮発性メモリから、第1の格納場所及び/又は第2の格納場所を取得するように構成されている。
一例において、さらに、配布後のイメージファイルの各層データの第3の格納場所と第1の格納場所とが一致するか否かを検証し、検証結果を配布モジュール404に送信するように構成されている。
配布モジュール404は、検証モジュールから送信された検証結果および第1の格納場所に応じて、イメージファイルの各層データをソースイメージレポジトリからターゲットイメージレポジトリに配布するように構成されている。
具体的な応用において、本実施形態におけるイメージ装置の構成と相互作用は図5に示されている。ここで、受信モジュール501はクライアント側に接続され、ユーザがクライアント側を介して発行したイメージ配布要求を受信するように構成されている。
制御モジュール502、検証モジュール503、および配布モジュール504は、いずれも、ソースイメージレポジトリおよびターゲットイメージレポジトリに同時に通信可能に接続されている。
本実施形態は、第1実施形態、第2実施形態または第3実施形態に対応する装置実施形態であり、本実施形態は第1実施形態または第2実施形態と組み合わせて実施できることは、容易に理解できる。第1実施形態、第2実施形態または第3実施形態で記載された関連する技術的詳細は、本実施形態においても有効であるため、重複を減らすためにここでは説明を省く。したがって、本実施形態で記載された関連する技術的詳細は、第1実施形態、第2実施形態または第3実施形態にも適用可能である。
なお、本実施形態に係る各モジュールはいずれも論理モジュールであり、実際の応用において、1つの論理ユニットは1つの物理ユニットであってもよく、1つの物理ユニットの一部であってもよく、さらに、複数の物理ユニットの組み合わせで実現してもよい。また、本願の創造的な部分を際立たせるために、本願で提起された技術的課題の解決にあまり関係のない手段を本実施例には導入していないが、これは本実施例に他の手段が存在しないことを示しているわけではない。
本発明の第5実施形態はサーバに関する。図6に示すように、少なくとも1つのプロセッサ601と、少なくとも1つのプロセッサ601と通信可能に接続されたメモリ602とを含み、メモリ602には少なくとも1つのプロセッサ601により実行できる指令が記憶されており、指令が少なくとも1つのプロセッサ601により実行されることで、少なくとも1つのプロセッサ601により上記したイメージ配布方法を実行できる。
ここで、メモリおよびプロセッサはバス方式で接続され、バスは任意の数の相互接続されたバスおよびブリッジを含むことができ、バスによって1つまたは複数のプロセッサとメモリの様々な回路が一つに接続される。バスはまた、周辺機器、電圧安定器、およびパワーマネジメント回路などの様々な他の回路を一つに接続することができるが、これらは当分野で周知なことであるので、本文ではこれ以上説明しない。バスインターフェースは、バスとトランシーバとの間のインターフェースを提供する。トランシーバは、1つの素子であってもよく、複数の受信機および送信機のような複数の素子であってもよく、伝送媒体上で様々な他の装置と通信するための手段を提供する。プロセッサによって処理されたデータはアンテナを介して無線媒体で伝送され、本実施形態において、アンテナはまたデータを受信して、プロセッサにデータを伝送する。
プロセッサは、バスの管理および通常の処理を担う以外にも、さらにタイミング、周辺インターフェース、電圧調整、電源管理、およびその他の制御機能を含む様々な機能を提供することができる。一方、メモリは、プロセッサによりオペレーションを実行するときに使用されるデータを記憶するために使用されてもよい。
本願の第五実施例は、コンピュータプログラムが記憶されたコンピュータ可読記憶媒体に関する。コンピュータプログラムがプロセッサにより実行された時、上記の方法実施形態を実現する。
すなわち、当業者であれば、上記の実施形態の方法における全部または一部のステップを実施することは、プログラムによって関連するハードウェアに指令することによって実現できることは、理解できるであろう。このプログラムは1つの記憶媒体に記憶され、1つの装置(ワンチップコンピュータ、チップなどであってもよい)またはプロセッサ(processor)に本願の各実施形態に記載の方法の全部または一部のステップを実行させるためのいくつかの指令を含む。一方、上記記憶媒体は、USBメモリ、リムーバブルハードディスク、リードオンリーメモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスク又は光ディスク等、プログラムコードを記憶可能な種々の媒体を含む。
当業者であれば、上記の各実施例は、本出願を実施するための具体的な実施例であり、実際の応用においては、本願の精神及び範囲を逸脱することなく、形式的に及び細部に様々な変更を加えることができることを理解することができる。

Claims (11)

  1. イメージ配布方法であって、
    イメージファイルの配布要求を取得することと、
    前記イメージファイルの各層データの、ソースイメージレポジトリ内における第1の格納場所を特定することと、
    前記第1の格納場所に応じて、前記イメージファイルの各層データを前記ソースイメージレポジトリからターゲットイメージレポジトリに配布することと、
    を含むイメージ配布方法。
  2. 前記の前記第1の格納場所に応じて、前記イメージファイルの各層データを前記ソースイメージレポジトリからターゲットイメージレポジトリに配布することは、
    前記メージファイルの各層データを前記第1の格納場所からコピーし、コピーされた前記イメージファイルの各層データを前記ターゲットイメージレポジトリに格納することを含む
    請求項1に記載のイメージ配布方法。
  3. 前記の前記第1の格納場所に応じて、前記イメージファイルの各層データを前記ソースイメージレポジトリからターゲットイメージレポジトリに配布することの前に、前記イメージファイルと同じイメージファイルが前記ターゲットイメージレポジトリ内に存在しないと判定することをさらに含む
    請求項1に記載のイメージ配布方法。
  4. 前記の前記イメージファイルと同じイメージファイルが前記ターゲットイメージレポジトリ内に存在しないと判定することは、
    前記イメージファイルと同じ名前のイメージファイルが前記ターゲットイメージレポジトリ内に存在するか否かを判定することと、
    前記イメージファイルと同じ名前のイメージファイルが前記ターゲットイメージレポジトリ内に存在しない場合、前記イメージファイルと同じイメージファイルが前記ターゲットイメージレポジトリ内に存在しないと判定することと、を含む
    請求項3に記載のイメージ配布方法。
  5. 前記の前記イメージファイルと同じイメージファイルが前記ターゲットイメージレポジトリ内に存在しないと判定することは、
    前記イメージファイルと同じ名前のイメージファイルが前記ターゲットイメージレポジトリ内に存在する場合、前記イメージファイルと同じ名前のイメージファイルの各層データの、前記ターゲットイメージレポジトリ内における第2の格納場所を特定することと、
    前記第2の格納場所に格納されている各層データと前記第1の格納場所に格納されている各層データとが一致しない場合、前記イメージファイルと同じイメージファイルが前記ターゲットイメージレポジトリ内に存在しないと判定することと、
    をさらに含む請求項4に記載のイメージ配布方法。
  6. 前記の前記第1の格納場所に応じて、前記イメージファイルの各層データを前記ソースイメージレポジトリからターゲットイメージレポジトリに配布することの後に、
    配布後のイメージファイルの各層データの、前記ターゲットイメージレポジトリ内における第3の格納場所を特定することと、
    前記第3の格納場所に格納されている各層データと前記第1の格納場所に格納されている各層データとが一致しないと検証された場合、前記の前記第1の格納場所に応じて、前記イメージファイルの各層データを前記ソースイメージレポジトリからターゲットイメージレポジトリに配布するステップを再び実行することと、
    をさらに含む請求項1から4の何れか一項に記載のイメージ配布方法。
  7. 前記の前記イメージファイルの各層データの、ソースイメージレポジトリ内における第1の格納場所を特定することの後に、
    前記第1の格納場所を不揮発性メモリに書き込むことをさらに含み、
    前記第1の格納場所に応じて、前記イメージファイルの各層データを前記ソースイメージレポジトリからターゲットイメージレポジトリに配布する前記ステップを再び実行することにおいて、前記第1の格納場所は前記不揮発性メモリから取得される
    請求項6に記載のイメージ配布方法。
  8. 前記の前記第1の格納場所に応じて、前記イメージファイルの各層データを前記ソースイメージレポジトリからターゲットイメージレポジトリに配布することは、
    前記イメージファイルの各層データを前記第1の格納場所からコピーし、コピーされた前記イメージファイルの各層データを前記第2の格納場所に上書きして格納すること
    を含む請求項5に記載のイメージ配布方法。
  9. 前記の前記イメージファイルと同じ名前のイメージファイルの各層データの、前記ターゲットイメージレポジトリ内における第2の格納場所を特定することの後に、
    前記第2の格納場所を不揮発性メモリに書き込むことをさらに含み、
    前記の前記第1の格納場所に応じて、前記イメージファイルの各層データを前記ソースイメージレポジトリからターゲットイメージレポジトリに配布することの後に、
    前記不揮発性メモリから前記第2の格納場所を取得することと、
    前記第2の格納場所に格納されている各層データと前記第1の格納場所に格納されている各層データとが一致しないと検証された場合、前記の前記第1の格納場所に応じて、前記イメージファイルの各層データを前記ソースイメージレポジトリからターゲットイメージレポジトリに配布するステップを再び実行することと、
    をさらに含む請求項8に記載のイメージ配布方法。
  10. サーバであって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサと通信可能に接続されたメモリと、を含み、
    前記メモリには前記少なくとも1つのプロセッサにより実行できる指令が記憶されており、前記指令が前記少なくとも1つのプロセッサにより実行されることで、前記少なくとも1つのプロセッサにより請求項1から9の何れか一項に記載のイメージ配布方法を実行できる
    サーバ。
  11. コンピュータ可読記憶媒体であって、
    コンピュータプログラムが記憶されており、前記コンピュータプログラムがプロセッサにより実行された場合、請求項1から9の何れか一項に記載のイメージ配布方法を実現する
    コンピュータ可読記憶媒体。
JP2022581580A 2020-06-30 2021-03-18 イメージ配布方法、電子機器及び記憶媒体 Pending JP2023532138A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010618603.3A CN113872999A (zh) 2020-06-30 2020-06-30 镜像分发方法、电子设备及存储介质
CN202010618603.3 2020-06-30
PCT/CN2021/081632 WO2022001203A1 (zh) 2020-06-30 2021-03-18 镜像分发方法、电子设备及存储介质

Publications (1)

Publication Number Publication Date
JP2023532138A true JP2023532138A (ja) 2023-07-26

Family

ID=78981645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022581580A Pending JP2023532138A (ja) 2020-06-30 2021-03-18 イメージ配布方法、電子機器及び記憶媒体

Country Status (5)

Country Link
US (1) US20230269295A1 (ja)
EP (1) EP4174645A1 (ja)
JP (1) JP2023532138A (ja)
CN (1) CN113872999A (ja)
WO (1) WO2022001203A1 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740048B (zh) * 2016-01-26 2019-03-08 华为技术有限公司 一种镜像管理方法、装置及系统
CN106506587B (zh) * 2016-09-23 2021-08-06 中国人民解放军国防科学技术大学 一种基于分布式存储的Docker镜像下载方法
CN106776149A (zh) * 2017-01-04 2017-05-31 郑州云海信息技术有限公司 本地容器镜像上传至镜像仓库的方法及系统
CN108322496A (zh) * 2017-01-17 2018-07-24 北京京东尚科信息技术有限公司 镜像文件分发方法及系统、计算机可读存储介质、电子设备
CN107566195A (zh) * 2017-10-23 2018-01-09 中国联合网络通信集团有限公司 镜像仓库处理方法及系统
US11288377B1 (en) * 2019-10-03 2022-03-29 Pavel Izhutov Virtual machine-based trusted execution environment
US11093221B1 (en) * 2020-02-14 2021-08-17 Red Hat, Inc. Automatic containerization of operating system distributions

Also Published As

Publication number Publication date
WO2022001203A1 (zh) 2022-01-06
CN113872999A (zh) 2021-12-31
EP4174645A1 (en) 2023-05-03
US20230269295A1 (en) 2023-08-24

Similar Documents

Publication Publication Date Title
CN106506587B (zh) 一种基于分布式存储的Docker镜像下载方法
CN109542611B (zh) 数据库即服务系统、数据库调度方法、设备及存储介质
US9529682B2 (en) Managing contingency capacity of pooled resources in multiple availability zones
US20210019055A1 (en) Method and system for enabling agentless backup and restore operations on a container orchestration platform
KR101862718B1 (ko) 블록-기반 저장을 위한 데이터 볼륨 지속성 상태 감소
US9779153B2 (en) Data transfer between storage systems using data fingerprints
US10922303B1 (en) Early detection of corrupt data partition exports
US20110010708A1 (en) System and method for transporting configuration parameters
US9218251B1 (en) Method to perform disaster recovery using block data movement
US8966025B2 (en) Instance configuration on remote platforms
CN115277145B (zh) 分布式存储访问授权管理方法、系统、设备和可读介质
US10620871B1 (en) Storage scheme for a distributed storage system
CN106789249B (zh) 热更新方法、客户端及服务器
US11243980B2 (en) Monotonic transactions in a multi-master database with loosely coupled nodes
CN110389859B (zh) 用于复制数据块的方法、设备和计算机程序产品
US20200153889A1 (en) Method for uploading and downloading file, and server for executing the same
CN107566470B (zh) 云数据系统中管理虚拟机的方法和装置
US9588884B2 (en) Systems and methods for in-place reorganization of device storage
US10592469B1 (en) Converting files between thinly and thickly provisioned states
CN112148206A (zh) 一种数据读写方法、装置、电子设备及介质
CN107967265B (zh) 文件的访问方法、数据服务器和文件访问系统
CN107463638A (zh) 离线虚拟机间文件共享方法和设备
JP2023532138A (ja) イメージ配布方法、電子機器及び記憶媒体
WO2019143967A1 (en) Methods for automated artifact storage management and devices thereof
CN114553521A (zh) 一种远端内存访问方法、装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240318