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

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

▶ テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッドの特許一覧

特許7493053イメージファイル生成方法、装置及びコンピュータプログラム
<>
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図1
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図2
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図3
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図4
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図5
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図6
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図7
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図8
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図9
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図10
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図11
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図12
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図13
  • 特許-イメージファイル生成方法、装置及びコンピュータプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-22
(45)【発行日】2024-05-30
(54)【発明の名称】イメージファイル生成方法、装置及びコンピュータプログラム
(51)【国際特許分類】
   G06F 8/61 20180101AFI20240523BHJP
【FI】
G06F8/61
【請求項の数】 16
(21)【出願番号】P 2022555627
(86)(22)【出願日】2021-05-24
(65)【公表番号】
(43)【公表日】2023-05-22
(86)【国際出願番号】 CN2021095410
(87)【国際公開番号】W WO2021258951
(87)【国際公開日】2021-12-30
【審査請求日】2022-10-17
(31)【優先権主張番号】202010571984.4
(32)【優先日】2020-06-22
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,シンダ
(72)【発明者】
【氏名】シュー,ミンホア
(72)【発明者】
【氏名】シャオ,メンチャオ
(72)【発明者】
【氏名】ヤン,ジンロン
(72)【発明者】
【氏名】リウ,ハイヤン
【審査官】渡辺 順哉
(56)【参考文献】
【文献】米国特許出願公開第2016/0077855(US,A1)
【文献】特開2009-187247(JP,A)
【文献】国際公開第2019/181860(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00-8/77
G06F 9/44-9/445
(57)【特許請求の範囲】
【請求項1】
イメージファイル生成装置によって実行されるイメージファイル生成方法であって、
前記イメージファイル生成装置の受信ユニットによって、アプリケーションプログラムのインストールファイルが含まれるイメージファイル生成要求を受信するステップと、
前記イメージファイル生成装置の起動ユニットによって、前記イメージファイル生成要求に基づいて、プリセットシステム領域にオペレーティングシステムの基礎イメージファイルをロードして、オペレーティングシステムを起動するステップと、
前記イメージファイル生成装置の実行ユニットによって、前記オペレーティングシステムにおいて前記アプリケーションプログラムのインストールファイルに対応するアプリケーションプログラムをインストールし、前記アプリケーションプログラムを実行し、前記アプリケーションプログラムを実行した後のシステムデータセット及び前記アプリケーションプログラムの属性情報を得るステップと、
前記イメージファイル生成装置のスクリーニングユニットによって、前記アプリケーションプログラムの属性情報に基づいて、前記システムデータセットから前記アプリケーションプログラムに対応するアプリケーションデータをスクリーニングするステップと、
前記イメージファイル生成装置の生成ユニットによって、前記アプリケーションデータと前記基礎イメージファイルをマージして、前記アプリケーションプログラムのイメージファイルを生成するステップと、を含むイメージファイル生成方法。
【請求項2】
前記基礎イメージファイルは、1つの読み取り専用レイヤを含み、
前記アプリケーションデータと前記基礎イメージファイルをマージして、前記アプリケーションプログラムのイメージファイルを生成する前記ステップは、
前記アプリケーションデータに基づいて、前記基礎イメージファイルの増加する必要がある読み書きレイヤの基本情報を決定するステップと、
前記基礎イメージファイルの読み取り専用レイヤに前記基本情報に対応する読み書きレイヤを増加するステップと、
前記基本情報に基づいて、前記アプリケーションデータを前記読み書きレイヤに追加して、前記アプリケーションプログラムのイメージファイルを得るステップと、を含む請求項1に記載の方法。
【請求項3】
前記基本情報に基づいて、前記アプリケーションデータを前記読み書きレイヤに追加して、前記アプリケーションプログラムのイメージファイルを得る前記ステップは、
前記アプリケーションデータの属性情報を取得するステップと、
前記読み書きレイヤの基本情報に基づいて、前記読み書きレイヤから前記アプリケーションデータの属性情報にマッチングする読み書きレイヤをターゲット読み書きレイヤとしてスクリーニングするステップと、
前記アプリケーションデータを前記ターゲット読み書きレイヤに追加し、前記アプリケーションデータを追加した基礎イメージファイルを前記アプリケーションプログラムのイメージファイルとするステップと、を含む請求項2に記載の方法。
【請求項4】
前記アプリケーションプログラムの属性情報に基づいて、前記システムデータセットから前記アプリケーションプログラムに対応するアプリケーションデータをスクリーニングする前記ステップは、
前記アプリケーションプログラムの属性情報に基づいて、前記システムデータセットをトラバースして、前記アプリケーションプログラムをインストールした後の初期アプリケーションデータを得るステップと、
前記初期アプリケーションデータを調整し、前記アプリケーションプログラムに対応するアプリケーションデータを得るステップと、を含む請求項1に記載の方法。
【請求項5】
前記アプリケーションプログラムの属性情報に基づいて、前記システムデータセットをトラバースして、前記アプリケーションプログラムをインストールした後の初期アプリケーションデータを得る前記ステップは、
前記システムデータセットのグローバルディレクトリを取得するステップと、
前記アプリケーションプログラムの属性情報に基づいて、前記グローバルディレクトリからターゲットディレクトリをスクリーニングするステップと、
前記ターゲットディレクトリに基づいて、前記システムデータセットにおいて、前記アプリケーションプログラムをインストールした後の初期アプリケーションデータを認識し、初期アプリケーションデータセットを得るステップと、を含む請求項4に記載の方法。
【請求項6】
前記初期アプリケーションデータを調整し、前記アプリケーションプログラムに対応するアプリケーションデータを得る前記ステップは、
第1の共有データセットと前記初期アプリケーションデータセットが前記初期アプリケーションデータを共有するように、オペレーティングシステム以外の領域に前記第1の共有データセットを構築するステップと、
前記第1の共有データセット内で前記アプリケーションデータを調整し、前記アプリケーションプログラムに対応するアプリケーションデータを得るステップと、を含む請求項5に記載の方法。
【請求項7】
前記第1の共有データセット内で前記アプリケーションデータを調整し、前記アプリケーションプログラムに対応するアプリケーションデータを得る前記ステップは、
第1のプリセット認識条件に基づいて、前記アプリケーションデータ内で異常データ及び配置データを認識するステップと、
前記第1の共有データセット内で前記初期アプリケーションデータにおける異常データを削除し、前記初期アプリケーションデータにおける配置データを変更し、前記アプリケーションプログラムに対応するアプリケーションデータを得るステップと、を含む請求項6に記載の方法。
【請求項8】
前記アプリケーションプログラムを実行して、前記アプリケーションプログラムを実行した後のシステムデータセット及び前記アプリケーションプログラムの属性情報を得る前に、さらに、
前記アプリケーションプログラムのインストールファイルで前記アプリケーションプログラムを配置するための配置情報を照会するステップと、
前記配置情報が存在する場合、前記配置情報に基づいて、前記アプリケーションプログラムを配置するステップと、を含み、
前記アプリケーションプログラムを実行して、前記アプリケーションプログラムを実行した後のシステムデータセット及び前記アプリケーションプログラムの属性情報を得る前記ステップは、
配置されたアプリケーションプログラムを前記オペレーティングシステム上で実行して、前記配置されたアプリケーションプログラムを実行した後のシステムデータセット及び前記アプリケーションプログラムの属性情報を得るステップ、を含む請求項1に記載の方法。
【請求項9】
前記配置情報は、データ更新情報及び/又はプリセットパラメータ情報を含み、前記配置情報が存在する場合、前記配置情報に基づいて、前記アプリケーションプログラムを配置する前記ステップは、
前記配置情報がデータ更新情報の場合、前記アプリケーションプログラムにおける前記データ更新情報に対応する内蔵データを更新するステップと、
前記配置情報がプリセットパラメータ情報の場合、前記アプリケーションプログラムにおける前記プリセットパラメータ情報に対応するパラメータを設置するステップと、
前記配置情報が前記データ更新情報及びプリセットパラメータ情報の場合、前記アプリケーションプログラムにおける前記データ更新情報に対応する内蔵データを更新し、更新したアプリケーションプログラムにおける前記プリセットパラメータ情報に対応するパラメータを設置するステップと、を含む請求項8に記載の方法。
【請求項10】
前記基礎イメージファイルに更新が存在する場合、更新後の基礎イメージファイルを取得するステップと、
前記更新後の基礎イメージファイルの読み取り専用レイヤに読み書きレイヤを増加するステップと、
前記アプリケーションプログラムに対応するアプリケーションデータを前記読み書きレイヤに追加して、前記アプリケーションプログラムの第1の更新イメージファイルを得るステップと、をさらに含む請求項1に記載の方法。
【請求項11】
前記アプリケーションプログラムのインストールファイルに更新が存在する場合、更新後のアプリケーションプログラムのインストールファイルを取得するステップと、
前記更新後のアプリケーションプログラムのインストールファイルに基づいて、前記オペレーティングシステム上で前記アプリケーションプログラムを更新し、前記アプリケーションプログラムに対応するアプリケーションデータを監視するステップと、
前記アプリケーションデータに更新が存在する場合、更新後のアプリケーションデータを前記アプリケーションプログラムの更新データとして抽出するステップと、
前記更新データと前記アプリケーションプログラムのイメージファイルをマージして、前記アプリケーションプログラムが更新された第2の更新イメージファイルを得るステップと、をさらに含む請求項1に記載の方法。
【請求項12】
前記更新後のアプリケーションプログラムのインストールファイルに基づいて、前記オペレーティングシステム上で前記アプリケーションプログラムを更新し、前記アプリケーションプログラムに対応するアプリケーションデータを監視する前記ステップは、
前記オペレーティングシステムに前記アプリケーションプログラムのイメージファイルをロードし、前記アプリケーションプログラムのイメージファイルに読み書きレイヤを増加するステップと、
前記更新後のアプリケーションプログラムのインストールファイルに基づいて、前記オペレーティングシステム上で前記アプリケーションプログラムを更新し、前記読み書きレイヤによって、前記アプリケーションプログラムの更新プロセスにおいて、前記アプリケーションプログラムに対応するアプリケーションデータを監視するステップと、を含む請求項11に記載の方法。
【請求項13】
前記更新データと前記アプリケーションプログラムのイメージファイルをマージして、前記アプリケーションプログラムが更新された第2の更新イメージファイルを得る前記ステップは、
第2の共有データセットと前記更新データがデータ内容を共有するように、前記オペレーティングシステム以外の領域に前記第2の共有データセットを構築するステップと、
第2のプリセット認識条件に基づいて、前記第2の共有データセットで前記更新データにおける異常データ及び配置データを認識するステップと、
前記第2の共有データセットから前記更新データにおける異常データを削除し、前記更新データにおける配置データを変更し、ターゲット更新データを得るステップと、
前記ターゲット更新データと前記アプリケーションプログラムのイメージファイルをマージして、前記アプリケーションプログラムが更新された第2の更新イメージファイルを得るステップと、を含む請求項12に記載の方法。
【請求項14】
イメージファイル生成装置であって、
アプリケーションプログラムのインストールファイルが含まれるイメージファイル生成要求を受信するための受信ユニットと、
前記イメージファイル生成要求に基づいて、プリセットシステム領域にオペレーティングシステムの基礎イメージファイルをロードして、オペレーティングシステムを起動するための起動ユニットと、
前記オペレーティングシステムにおいて前記アプリケーションプログラムのインストールファイルに対応するアプリケーションプログラムをインストールし、前記アプリケーションプログラムを実行し、前記アプリケーションプログラムを実行した後のシステムデータセット及び前記アプリケーションプログラムの属性情報を得るための実行ユニットと、
前記アプリケーションプログラムの属性情報に基づいて、前記システムデータセットから前記アプリケーションプログラムに対応するアプリケーションデータをスクリーニングするためのスクリーニングユニットと、
前記アプリケーションデータと前記基礎イメージファイルをマージして、前記アプリケーションプログラムのイメージファイルを生成するための生成ユニットと、を含むイメージファイル生成装置。
【請求項15】
プロセッサとメモリを含む電子機器であって、前記メモリは、複数のプログラム命令を記憶しており、前記プロセッサは、前記メモリ内のプログラム命令を実行すると、請求項1から13のいずれか1項に記載の方法を実行するように構成されている、電子機器。
【請求項16】
複数の命令を含むコンピュータプログラムであって、前記命令は、プロセッサによってロードされて、前記プロセッサに請求項1から13のいずれか1項に記載の方法を実行させるように構成されているコンピュータプログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2020年6月22日に中国専利局に提出した、出願番号が202010571984.4であって、発明の名称が「イメージファイル生成方法、装置及びコンピュータ可読記憶媒体」である中国特許出願の優先権を主張し、その全内容を援用により本出願に組み込む。
技術分野
【0002】
本出願は、通信技術の分野に関し、具体的に、イメージファイル生成方法、装置及びコンピュータ可読記憶媒体に関する。
【背景技術】
【0003】
近年、クラウド技術の急速な発展に伴い、ますます多くのアプリケーションプログラムはクラウド起動を行うことができる。アプリケーションプログラムがクラウド技術によって配置されるときに、多くの場合、当該アプリケーションプログラムを含むイメージファイルを取得する必要があり、イメージファイルをロードすることによって、アプリケーションプログラムを配置することができる。そのため、アプリケーションプログラムのイメージファイルを予め作成又は生成する必要がある。従来のイメージファイル生成方法は、常に基礎イメージファイルをロードすることによりオペレーティングシステムを起動し、その後、オペレーティングシステムにアプリケーションプログラムを直接インストール又は更新し、アプリケーションプログラムをインストール又は更新した後のシステムデータセットをアプリケーションプログラムのイメージファイルとして直接保存する。
【0004】
しかしながら、システムデータセットをアプリケーションプログラムのイメージファイルとして直接保存する場合、アプリケーションプログラムのイメージファイルには、いくつかのアプリケーションプログラムに関係のないデータ又は一部の一時データが含まれるため、イメージファイルのメモリが大きくなり、それにより、多くのストレージリソースを占有する。また、デバイスは、当該アプリケーションプログラムを配置する場合に、アプリケーションプログラムに関係のないデータ又は一時データを追加で読み取って処理する必要があるため、デバイスの処理リソースをより多く占有し、当該アプリケーションプログラムを配置する時間を大幅に延長させる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本出願の実施例は、イメージファイル生成方法、装置及びコンピュータ可読記憶媒体を提供する。ストレージリソースを節約し、アプリケーションプログラムを配置するデバイスの処理リソースを節約し、アプリケーションプログラムの配置時間を短縮することができる。
【課題を解決するための手段】
【0006】
いくつかの実施例では、イメージファイル生成方法は、
アプリケーションプログラムのインストールファイルが含まれるイメージファイル生成要求を受信するステップと、
前記イメージファイル生成要求に基づいて、プリセットシステム領域にオペレーティングシステムの基礎イメージファイルをロードして、オペレーティングシステムを起動するステップと、
前記オペレーティングシステムにおいて前記アプリケーションプログラムのインストールファイルに対応するアプリケーションプログラムをインストールし、前記アプリケーションプログラムを実行し、前記アプリケーションプログラムを実行した後のシステムデータセット及び前記アプリケーションプログラムの属性情報を得るステップと、
前記アプリケーションプログラムの属性情報に基づいて、前記システムデータセットから前記アプリケーションプログラムに対応するアプリケーションデータをスクリーニングするステップと、
前記アプリケーションデータと前記基礎イメージファイルをマージして、前記アプリケーションプログラムのイメージファイルを生成するステップと、を含む。
【0007】
いくつかの実施例では、本出願の実施例は、イメージファイル生成装置を提供し、
アプリケーションプログラムのインストールファイルが含まれるイメージファイル生成要求を受信するための受信ユニットと、
前記イメージファイル生成要求に基づいて、プリセットシステム領域にオペレーティングシステムの基礎イメージファイルをロードして、オペレーティングシステムを起動するための起動ユニットと、
前記オペレーティングシステムにおいて前記アプリケーションプログラムのインストールファイルに対応するアプリケーションプログラムをインストールし、前記アプリケーションプログラムを実行し、前記アプリケーションプログラムを実行した後のシステムデータセット及び前記アプリケーションプログラムの属性情報を得るための実行ユニットと、
前記アプリケーションプログラムの属性情報に基づいて、前記システムデータセットから前記アプリケーションプログラムに対応するアプリケーションデータをスクリーニングするためのスクリーニングユニットと、
前記アプリケーションデータと前記基礎イメージファイルをマージして、前記アプリケーションプログラムのイメージファイルを生成するための生成ユニットと、を含む。
【0008】
また、本出願の実施例は、プロセッサとメモリを含む電子機器をさらに提供し、前記メモリは、複数のプログラム命令を記憶し、前記プロセッサは、本出願の実施例で提供されるイメージファイル生成方法を実行するように、前記メモリ内のプログラム命令を実行する。
【0009】
また、本出願の実施例は、コンピュータ可読記憶媒体をさらに提供し、前記コンピュータ可読記憶媒体は、複数の命令を記憶しており、前記命令は、本出願の実施例で提供するイメージファイル生成方法のいずれかにおけるステップを実行するように、プロセッサによってロードされるのに適する。
【図面の簡単な説明】
【0010】
本出願の実施例における技術案をより明確に説明するために、実施例の説明に使用される必要がある添付の図面を以下に簡単に紹介する。明らかに、以下の説明における図面は、本出願のいくつかの実施例に過ぎず、当業者にとって、創造的な労力をしない前提で、これらの図面に基づいて他の図面を得ることができる。
図1】本出願の実施例で提供されるイメージファイル生成方法のシーン概略図である。
図2】本出願の実施例で提供されるイメージファイル生成方法のフローチャートである。
図3】本出願の実施例で提供されるアプリケーションプログラムのインストール及び実行のフローチャートである。
図4】本出願の実施例で提供される初期アプリケーションデータを認識する概略図である。
図5】本出願の実施例で提供される初期アプリケーションデータを調整する概略図である。
図6】本出願の実施例で提供されるアプリケーションプログラムのイメージファイルを生成する概略図である。
図7】本出願の実施例で提供される読み書きレイヤを重ね合わせた後のイメージファイルの概略図である。
図8】本出願の実施例で提供される更新データを調整する概略図である。
図9】本出願の実施例で提供されるイメージファイル生成方法の他のフローチャートである。
図10】本出願の実施例で提供されるクラウドゲームシステムの概略構造図である。
図11】本出願の実施例で提供されるクラウドゲームページの概略図である。
図12】本出願の実施例で提供されるイメージファイル生成装置の概略構造図である。
図13】本出願の実施例で提供されるイメージファイル生成装置の他の概略構造図である。
図14】本出願の実施例で提供される電子機器の概略構造図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施例における添付の図面を参照して、本発明の実施例における技術案を明確かつ完全に説明する。明らかに、説明する実施例は、すべての実施例ではなく、本出願の実施例の一部に過ぎない。本出願の実施例に基づいて、創造的な作業なしに当業者によって得られたすべての実施例は、本出願の保護範囲に属する。
【0012】
本出願の実施例は、イメージファイル生成方法、装置及びコンピュータ可読記憶媒体を提供する。当該イメージファイル生成装置は、電子機器に統合することができ、当該電子機器はサーバーであってもよく、端末などの機器であってもよい。
【0013】
イメージファイルとは、ユーザーがダウンロードして使用しやすいように、特定の一連のファイルを一定のフォーマットに従って作成した単一のファイルであり、例えば、ミラーリングというファイル記憶方式によって得られた記憶ファイルである。クラウドアプリケーションプログラムにおいて、ユーザーは、ハードウェアによってオペレーティング環境を構築した後アプリケーションプログラムをインストールする必要がなく、アプリケーションプログラムのイメージファイルを介して、当該アプリケーションプログラムを直接開いて実行することができるので、アプリケーションプログラムの配置時間を大幅に短縮することができ、当該アプリケーションプログラムの実行に必要なハードウェア配置も削減することができる。
【0014】
サーバーは、独立した物理サーバーであってもよく、複数の物理サーバーで構成されたサーバークラスタ又は分散システムであってもよく、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメインネームサービス、セキュリティサービス、ネットワーク加速サービス、及びビッグデータ及び人工知能プラットフォームなどの基本的なクラウドコンピューティングサービスを提供するクラウドサーバーであってもよい。端末は、スマートフォン、タブレットコンピューター、ノートパソコン、デスクトップコンピュータ、スマートスピーカー、スマートウォッチなどであってもよいが、これらに限定されない。端末とサーバーは、有線又は無線通信方式を介して直接又は間接的に接続することができ、本出願はここで制限しない。
【0015】
例えば、図1を参照して、イメージファイル生成装置が電子機器に統合されることを例とし、電子機器は、アプリケーションプログラムのインストールファイルが含まれるイメージファイル生成要求を受信した後、イメージファイル生成要求に基づいて、プリセットシステム領域にオペレーティングシステムの基礎イメージファイルをロードして、オペレーティングシステムを起動し、その後、オペレーティングシステムにおいてアプリケーションプログラムのインストールファイルに対応するアプリケーションプログラムをインストールし、アプリケーションプログラムを実行し、アプリケーションプログラムを実行した後のシステムデータセット及びアプリケーションプログラムの属性情報を取得し、アプリケーションプログラムの属性情報に基づいて、システムデータセットからアプリケーションプログラムに対応するアプリケーションデータをスクリーニングし、前記アプリケーションデータと基礎イメージファイルをマージして、アプリケーションプログラムのイメージファイルを生成する。
【0016】
また、プリセットシステム領域は、クラウドプラットフォームにおけるシステムコンテナであってもよい。クラウドプラットフォームは、クラウドコンピューティングプラットフォームとも呼ばれ、ハードウェアリソース及びソフトウェアリソースのサービスに基づいて、コンピューティング、ネットワーク及びストレージ機能を提供するために用いられる。クラウドコンピューティング(cloud computing)は、コンピューティングタスクを多数のコンピュータで構成されるリソースプールに分散し、様々なアプリケーションシステムが必要に応じてコンピューティング能力、ストレージスペース、及び情報サービスを取得できるようにするコンピューティングモードである。リソースを提供するネットワークは、「クラウド」と呼ばれる。「クラウド」におけるリソースは、使用者から見れば無限に拡張することができ、いつでも取得することができ、オンデマンドで使用し、いつでも拡張し、使用に応じて支払うことができる。
【0017】
クラウドコンピューティングの基本的な機能プロバイダとして、クラウドコンピューティングリソースプール(クラウドプラットフォームと略称し、一般的にIaaS(Infrastructure as a Service、サービスとしてのインフラストラクチャ)と呼ばれる)が作成され、外部のクライアント側が選択して使用できるように、様々なタイプの仮想リソースをリソースプールに配置する。クラウドコンピューティングリソースプールは、主に、コンピューティングデバイス(オペレーティングシステムを含む仮想化されたマシン)、ストレージデバイス、ネットワークデバイスを含む。
【0018】
ロジック機能の区分に応じて、PaaS(Platform as a Service, サービスとしてのプラットフォーム)レイヤをIaaSレイヤに配置し、さらに、SaaS(Software as a Service,サービスとしてのソフトウェア)レイヤをPaaSレイヤに配置してもよく、SaaSをIaaSに直接配置してもよい。PaaSは、データベースやwebコンテナなどのソフトウェアが実行するプラットフォームである。SaaSは、webポータルウェブサイト、ショートメッセージコミュニケータなどの様々な業務ソフトウェアである。一般的に、SaaSとPaaSはIaaSの上位層である。
【0019】
以下、本出願の実施例についてそれぞれ詳細に説明する。なお、以下の実施例の説明順序は、実施例の好ましい順序を限定するものではない。
【0020】
本実施例は、イメージファイル生成装置の観点から説明され、当該イメージファイル生成装置は、具体的に、電子機器に統合されることができ、当該電子機器は、サーバーであってもよく、端末などのデバイスであってもよい。当該端末は、タブレットコンピューター、ノートパソコン、及びパーソナルコンピュータ(PC,Personal Computer)、ウェアラブルデバイス、仮想現実デバイス、又は他のイメージファイルを生成できるスマートデバイスを含んでもよい。
【0021】
本出願の実施例は、電子機器によって実行されるイメージファイル生成方法を提供する。図2に示すように、当該イメージファイル生成方法の具体的なフローは、次のステップ101-105を含む。
【0022】
ステップ101では、イメージファイル生成要求を受信する。
イメージファイル生成要求は、アプリケーションプログラムのインストールファイルが含まれる。アプリケーションプログラムのインストールファイルは、アプリケーションプログラムをインストールするために必要なインストールファイルであってもよく、当該インストールファイルは、コンパイルされたコードファイル、リソースファイル、及び証明書ファイルなどを含んでもよい。オペレーティングシステムによって、アプリケーションプログラムのインストールファイルのフォーマットが異なってもよく、Androidオペレーティングシステムを例とし、アプリケーションプログラムのインストールファイルは、Androidアプリケーションプログラムパッケージ(Android application package,APK)、即ち、APKファイルであってもよい。
実施例では、イメージファイル生成要求を直接受信することができる。例えば、端末は、アプリケーションプログラムのインストールファイルをイメージファイル生成要求に直接追加し、そして、アプリケーションプログラムのインストールファイルを追加したイメージファイル生成要求をイメージファイル生成装置に送信し、イメージファイル生成装置はイメージファイル生成要求を直接受信し、イメージファイル生成要求からアプリケーションプログラムのインストールファイルを抽出する。アプリケーションプログラムのインストールファイルのメモリが大きい場合や、複数のアプリケーションプログラムのインストールファイルが存在する場合、これらのアプリケーションプログラムのインストールファイルを間接的に取得することができる。例えば、端末は、アプリケーションプログラムのインストールファイルをサードパーティのデータベースに記憶し、そして、ストレージアドレスをイメージファイル生成要求に追加し、ストレージアドレスを追加したイメージファイル生成要求をイメージファイル生成装置に送信し、イメージファイル生成装置は、イメージファイル生成要求からストレージアドレスを抽出し、そして、ストレージアドレスに基づいてサードパーティのデータベースからアプリケーションプログラムのインストールファイルを取得し、アプリケーションプログラムのインストールファイルを取得した後、プロンプト情報を端末に送信して端末に提示することができる。
【0023】
ステップ102では、イメージファイル生成要求に基づいて、プリセットシステム領域にオペレーティングシステムの基礎イメージファイルをロードして、オペレーティングシステムを起動する。
オペレーティングシステムは、プリセットシステム領域内で実行されるオペレーティングシステムであってもよく、当該プリセットシステム領域は、ハードウェアでサポートされているエンティティオペレーティングシステムにおいて分離メカニズムを介して実行されるシステムコンテナであり、例えば、Androidオペレーティングシステムを実行するコンテナは、Androidコンテナと呼ばれ、各サーバー又はクラウドサーバーは、複数のAndroidコンテナを含んでもよい。複数のオペレーティングシステムをシステムコンテナで実行でき、システムコンテナで実行されている複数のオペレーティングシステムは、互いに独立していてもよい。
基礎イメージファイルは、オペレーティングシステムのみを含むイメージファイルであってもよい。従って、当該イメージファイルをロードすると、オペレーティングシステムを起動することができる。
実施例では、オペレーティングシステムがAndroidオペレーティングシステムであることを例とし、イメージファイル生成要求を受信すると、AndroidコンテナにAndroidオペレーティングシステムのAndroid基礎イメージファイルをロードし、この時、AndroidオペレーティングシステムをAndroidコンテナで起動することができる。
【0024】
ステップ103では、オペレーティングシステムにおいてアプリケーションプログラムのインストールファイルに対応するアプリケーションプログラムをインストールし、アプリケーションプログラムを実行し、アプリケーションプログラムを実行した後のシステムデータセット及びアプリケーションプログラムの属性情報を得る。
例えば、オペレーティングシステムにおいてアプリケーションプログラムのインストールファイルを実行し、アプリケーションプログラムのインストールファイルに対応するアプリケーションプログラムをオペレーティングシステムにインストールする。例えば、アプリケーションプログラムのインストールファイルがAアプリケーションプログラムのAPKファイルであることを例とし、Androidオペレーティングシステムにおいて手動コマンド又はスクリプトインストールによって、当該APKファイルを実行し、AアプリケーションプログラムをAndroidオペレーティングシステムにインストールする。オペレーティングシステムにおいてアプリケーションプログラムを実行し、アプリケーションプログラムを実行した後のシステムデータセット及びアプリケーションプログラムの属性情報を得る。例えば、Androidオペレーティングシステムにおいてインストールされたアプリケーションプログラムを実行し、この時、Androidコンテナにおけるデータ全体を保存して、システムデータセットを取得し、Androidオペレーティングシステムにおいてアプリケーションプログラムの属性情報を取得し、当該属性情報は、アプリケーションプログラムの名称、タイプ、インストールアドレス、メモリサイズ及びデータリストなどの情報であってもよい。
【0025】
実施例では、アプリケーションプログラムを実行して、システムデータセット及びアプリケーションプログラムの属性情報を得る前に、インストールされたアプリケーションプログラムを配置することができ、即ち、「アプリケーションプログラムを実行し、アプリケーションプログラムを実行した後のシステムデータセット及びアプリケーションプログラムの属性情報を得る」ステップの前に、当該イメージファイル生成方法は、アプリケーションプログラムのインストールファイルでアプリケーションプログラムを配置するための配置情報を照会し、配置情報が存在する場合、配置情報に基づいて、アプリケーションプログラムを配置し、配置が完了した後、オペレーティングシステムで配置されたアプリケーションプログラムを実行し、配置されたアプリケーションプログラムを実行した後のシステムデータセットとアプリケーションプログラムの属性情報を得るステップをさらに含む。具体的に、次のようになる。
【0026】
(1)アプリケーションプログラムのインストールファイルでアプリケーションプログラムを配置するための配置情報を照会する。
配置情報は、データ更新情報及び/又はプリセットパラメータ情報を含んでもよい。データ更新情報は、アプリケーションプログラム内のリソースデータの一部又は全部を更新する情報であってもよく、例えば、クラウドゲームを例とし、リソースデータは、ゲームにロードする必要のある地図やシーンなどのリソースデータであってもよく、データ更新情報は、更新されたリソースデータであってもよく、更新されたリソースデータのストレージアドレスであってもよく、ストレージアドレスに基づいて、更新されたリソースデータを取得し、次に、クラウドゲームアプリケーションプログラムで元のリソースデータを更新する。プリセットパラメータ情報は、ユーザーが端末を介してプリセットしたいくつかの操作又は設置パラメータであってもよく、例えば、アプリケーションプログラムがクラウドゲームであることを例とし、プリセットパラメータ情報は、ユーザーが端末を介してプリセットした画面フレーム数、一般的なゲーム操作パラメータ及び/又は他のパラメータ情報であってもよい。
実施例では、データ更新情報又はプリセットパラメータ情報のファイル名又はファイルフォーマットを照会条件とし、アプリケーションプログラムのインストールファイルでアプリケーションプログラムを配置するための配置情報が存在するかどうかを照会してもよい。
【0027】
(2)配置情報が存在する場合、配置情報に基づいて、アプリケーションプログラムを配置する。
例えば、配置情報が存在する場合、具体的に存在する配置情報の状況に応じて、アプリケーションプログラムを配置する。実施例では、配置情報がデータ更新情報である場合、アプリケーションプログラムにおけるデータ更新情報に対応する内蔵データを更新する。例えば、データ更新情報が更新データである場合、アプリケーションプログラムで更新データに対応する内蔵データを照会し、内蔵データを更新データに直接置き換え、具体的な更新プロセスは、手動クリック又は人工知能自動認識などの方法によってトリガーすることができる。データ更新情報が更新データのストレージアドレスである場合、当該ストレージアドレスに応じて、更新データを取得し、そして、アプリケーションプログラムで更新データに対応する内蔵データを照会し、内蔵データを更新データに置き換えることができる。他の実施例では、配置情報がプリセットパラメータ情報である場合、アプリケーションプログラムにおけるプリセットパラメータ情報に対応するパラメータを設置する。例えば、プリセットパラメータ情報がプリセット画面フレーム数であることを例とし、アプリケーションプログラムのフレーム数の設置において、アプリケーションプログラムにおける画面フレーム数をプリセット画面フレーム数に直接設置する。また、例えば、配置情報がデータ更新情報及びプリセットパラメータ情報である場合、アプリケーションプログラムにおけるデータ更新情報に対応する内蔵データを更新し、更新されたアプリケーションプログラムにおけるプリセットパラメータ情報に対応するパラメータを設置する。例えば、配置情報にデータ更新情報とプリセットパラメータ情報の両方が存在する場合、まず、データ更新情報に更新データが含まれるかどうかを判断し、更新データが含まれる場合、アプリケーションプログラムで更新データに対応する内蔵データを直接置き換え、更新されたアプリケーションプログラムを得る。データ更新情報にストレージアドレスしかない場合、まずストレージアドレスに基づいて更新データを取得し、そして、更新データに対応する内蔵データを置き換え、更新されたアプリケーションプログラムを得る。更新されたアプリケーションプログラムで、プリセットパラメータ情報に対応するパラメータを設置する。
実施例では、配置情報が存在する場合にのみ、アプリケーションプログラムを配置する必要があり、配置が完了した後、配置されたアプリケーションプログラムを実行し、配置されたアプリケーションプログラムを実行した後のシステムデータセットとアプリケーションプログラムの属性情報を得る。配置情報がない場合、アプリケーションプログラムのインストール直後に当該アプリケーションプログラムを実行し、そして、アプリケーションプログラムを実行した後のシステムデータセット及びアプリケーションプログラムの属性情報を得る。アプリケーションプログラムをインストールして実行し、システムデータセット及びアプリケーションプログラムの属性情報を得る具体的なプロセスを、図3に示す。
【0028】
ステップ104では、アプリケーションプログラムの属性情報に基づいて、システムデータセットからアプリケーションプログラムに対応するアプリケーションデータをスクリーニングする。
アプリケーションデータは、アプリケーションプログラムに関連するデータであってもよく、例えば、アプリケーションプログラムの実行をサポートするデータであってもよい。アプリケーションプログラムがXXクラウドゲームであることを例とし、アプリケーションデータは、XXクラウドゲームにおけるゲームデータであってもよい。
【0029】
実施例では、アプリケーションプログラムの属性情報に基づいて、システムデータセットからアプリケーションプログラムに対応するアプリケーションデータをスクリーニングすることは、具体的に、次のステップS1-S2を含む。
ステップS1では、アプリケーションプログラムの属性情報に基づいて、システムデータセットをトラバースし、アプリケーションプログラムをインストールした後の初期アプリケーションデータを得る。
実施例では、ステップS1は、システムデータセットのグローバルディレクトリを取得し、例えば、システムコンテナ内のグローバルルートディレクトリを取得し、このグローバルルートディレクトリをシステムデータセットのグローバルディレクトリとすることを含むことができる。ステップS1はさらに、アプリケーションプログラムの属性情報に基づいて、グローバルディレクトリからターゲットディレクトリをスクリーニングし、例えば、アプリケーションプログラムの属性情報に基づいて、グローバルディレクトリから属性情報に対応するディレクトリ、例えば、アプリケーションプログラムの名称に対応するファイルディレクトリをスクリーニングし、これらのディレクトリをターゲットディレクトリとすることを含むことができる。ステップS1は、ターゲットディレクトリに基づいて、システムデータセットにおいてアプリケーションプログラムがインストールされた初期アプリケーションデータを認識して、初期アプリケーションデータセットを取得し、例えば、システムデータセットからターゲットディレクトリに対応する候補システムデータをスクリーニングし、これらの候補システムデータからアプリケーションプログラムに対応する初期アプリケーションデータを認識し、図4に示すように、初期アプリケーションデータを初期アプリケーションデータセットに保存することをさらに含むことができる。
ステップS2では、初期アプリケーションデータを調整して、アプリケーションプログラムに対応するアプリケーションデータを得る。
実施例では、第1の共有データセットと初期アプリケーションデータセットが初期アプリケーションデータを共有するように、オペレーティングシステム以外の領域に第1の共有データセットを構築することができる。例えば、ホストの前のディレクトリ(例えば、/home/workin)をシステムコンテナのコンテナディレクトリ(例えば、/workin)にマウントすることができ、当該コンテナディレクトリに対応するデータは初期アプリケーションデータセットであってもよく、ホストの前のディレクトリに対応するデータは、第1の共有データセットであってもよい。このように、第1の共有データセットは、初期アプリケーションデータを初期アプリケーションデータセットと共有することができる。実施例では、図5に示すように、第1の共有データセットで初期アプリケーションデータを調整して、アプリケーションプログラムに対応するアプリケーションデータを得る。実施例では、第1のプリセット認識条件に基づいて、アプリケーションデータで異常データ及び配置データを認識することができる。abdコマンド又は他の方式によって、初期アプリケーションデータを伝送及び修正してもよい。実施例では、第1の共有データセットから初期アプリケーションデータにおける異常データを削除し、初期アプリケーションデータにおける配置データを変更してもよい。例えば、初期アプリケーションプログラムにおける異常データを削除でき、異常データは、アプリケーションプログラムの実行における一時データの一部とアプリケーションプログラムに関連しないデータを含んでもよい。削除される一時データは、「/mnt/runtime/read」、「/mnt/runtime/write」、「/storage/emulated」などのディレクトリ内の関連ファイルであってもよい。また例えば、データパケットのパケット名を照会条件としてもよく、例えば、データパケットのパケット名は、「com.tenxxx.tmgp.sgame」であり、全ての配置データにおいてターゲット配置データを照会し、当該ターゲット配置データは、「/data/system/packages.xml」、「/data/system/packages.list」などのファイルにおける関連フィールドなどのデータであってもよく、当該ターゲット配置データを保持し、他の配置データを変更又は削除する。これの主な目的は、できるだけ少ないアプリケーションプログラムの関連データを保持し、基礎イメージファイルとの結合性を低減することである。実施例では、Androidデスクトップシステムにおけるいくつかのアプリケーションプログラムのアイコン表示を変更することができ、例えば、イメージファイルを作成する場合、ユーザーがクリックできるように、いくつかのアイコンを表示する必要があり、作成が完了した後、この部分のアイコン(例えば、QQ、ウィーチャットなどのアプリケーションプログラムのアイコン)を隠す必要があり、そのため、対応する配置ファイルを変更して対応するアイコンの状態を調整する必要があり、配置データを削除及び変更することによって、アプリケーションプログラムに対応するアプリケーションデータを得ることができる。
【0030】
本出願の実施例では、初期アプリケーションデータを削除及び変更するプロセスにおいて、ファイルの属性及び権限が変更されないままであることを保証する必要がある。
【0031】
ステップ105では、アプリケーションデータと基礎イメージファイルをマージして、アプリケーションプログラムのイメージファイルを生成する。
基礎イメージファイルは、少なくとも1つの読み取り専用レイヤを含む。読み取り専用レイヤとは、名前が示すように、その上のデータを読み取ることができるが、データを変更することができない。基礎イメージファイルに読み書きレイヤを増加することができ、読み書きレイヤと読み取り専用レイヤとの最大の区別は、読み書きレイヤのデータを読み取ることができるだけでなく、変更することもできることである。
【0032】
実施例では、アプリケーションデータに基づいて、基礎イメージファイルに増加する必要のある読み書きレイヤの基本情報を決定することができ、例えば、アプリケーションデータのデータサイズ及びデータタイプに基づいて、読み書きレイヤの数、読み書きレイヤのメモリサイズ、読み書きレイヤの位置及び読み書きレイヤのタイプなどの基本情報を決定することができる。基礎イメージファイルの読み取り専用レイヤに基本情報に対応する読み書きレイヤを増加することは、例えば、基礎イメージファイルの読み取り専用レイヤの特定位置に、読み書きレイヤのタイプ、数及びメモリサイズに対応する読み書きレイヤを増加することである。基本情報に基づいて、アプリケーションデータを読み書きレイヤに追加し、アプリケーションプログラムのイメージファイルを得ることを、図6に示す。実施例では、基本情報に基づいて、アプリケーションデータを読み書きレイヤに追加し、アプリケーションプログラムのイメージファイルを得るプロセスは、アプリケーションデータの属性情報を取得し、読み書きレイヤの基本情報に基づいて、読み書きレイヤからアプリケーションデータの属性情報にマッチングする読み書きレイヤをターゲット読み書きレイヤとしスクリーニングし、アプリケーションデータをターゲット読み書きレイヤに追加し、アプリケーションデータを追加した基礎イメージファイルをアプリケーションプログラムのイメージファイルとすることを含むことができる。例えば、Dockerfile(イメージファイルを構築するためのテキストファイル)を採用してアプリケーションプログラムのイメージファイルを構築することができ、具体的な方案は以下のとおりである。
【0033】
イメージファイルを構築するために必要なコマンド及び説明を含む1つのDockerfileテキストを作成し、例えば、1つの特定の基礎イメージテキストを指定し、本実施例では、Androidオペレーティングシステムの基礎イメージファイルを指定することができ、COPY又はADDコマンドによってアプリケーションプログラムに対応するアプリケーションデータをAndroid基礎イメージファイルに追加し、当該ファイルによって、指定した名称のアプリケーションプログラムのイメージファイルを生成することができる。なお、このプロセスにおいて、ファイルの属性及び権限が変更されないままであることを保証する必要がある。実施例では、他の方式を採用して、基礎イメージファイルとアプリケーションデータをマージしてアプリケーションプログラムのイメージファイルを取得してもよい。
【0034】
実施例では、アプリケーションプログラムのイメージファイルの合成について、「docker run/docker cp/docker export」などのコマンドを採用してミラーイメージの合成を行い、アプリケーションプログラムのイメージファイルを得る。
【0035】
実施例では、アプリケーションプログラムのイメージファイルを、イメージファイルを実行するサーバーに配置した後、オペレーティングシステムのいくつかのコンポーネントのアップグレード、入力方法の変更、及びランタイムの抜け穴の修復などの場合、基礎イメージファイルを更新する必要があり、この場合、アプリケーションプログラムのイメージファイルを更新する必要もある。従って、当該イメージファイル生成方法は、
基礎イメージファイルに更新が存在する場合、更新後の基礎イメージファイルを取得し、更新後の基礎イメージファイルの読み取り専用レイヤに読み書きレイヤを増加し、アプリケーションプログラムに対応するアプリケーションデータを読み書きレイヤに追加し、アプリケーションプログラムの第1の更新イメージファイルを得るステップを含んでもよい。
【0036】
実施例では、基礎イメージファイルに更新が存在する場合、更新後の基礎イメージファイルを取得し、アプリケーションデータに基づいて、更新後の基礎イメージファイルに増加する必要のある読み書きレイヤの基本情報を決定し、更新後の基礎イメージファイルの読み取り専用レイヤに基本情報に対応する読み書きレイヤを増加し、基本情報に基づいて、アプリケーションデータを読み書きレイヤに追加し、アプリケーションプログラムの第1の更新イメージファイルを得る。
【0037】
実施例では、基礎イメージファイルに更新が存在する場合、更新後の基礎イメージファイルを再ロードし、システムコンテナにおいてアプリケーションプログラムを再インストール又は更新し、アプリケーションプログラムの候補アプリケーションデータを取得し、更新後の基礎イメージファイルとアプリケーションデータをマージして、アプリケーションプログラムの第1の更新イメージファイルを取得してもよい。しかし、更新後の基礎イメージファイルと以前に得られたアプリケーションプログラムのアプリケーションデータをマージする方法を採用すれば、アプリケーションプログラムの第1の更新イメージファイルの生成を加速することができる。
【0038】
実施例では、アプリケーションプログラムのイメージファイルを、イメージファイルを実行するサーバーに配置した後、アプリケーションプログラムに更新が存在する場合、アプリケーションプログラムのインストールファイルにも更新が存在することを意味し、この時、アプリケーションプログラムを更新する必要がある。従って、当該イメージファイル生成方法は、
アプリケーションプログラムのインストールファイルに更新が存在する場合、更新後のアプリケーションプログラムのインストールファイルを取得し、更新後のアプリケーションプログラムのインストールファイルに基づいて、オペレーティングシステムにおいてアプリケーションプログラムを更新し、アプリケーションプログラムに対応するアプリケーションデータを監視し、アプリケーションデータに更新が存在する場合、更新後のアプリケーションデータをアプリケーションプログラムの更新データとして抽出し、更新データとアプリケーションプログラムのイメージファイルをマージして、アプリケーションプログラムが更新された第2の更新イメージファイルを得るステップを含んでもよい。
【0039】
実施例では、アプリケーションプログラムのインストールファイルに更新が存在する場合、更新後のアプリケーションプログラムのインストールファイルを取得してもよい。例えば、更新後のアプリケーションプログラムのインストールファイルを直接取得してもよいし、まず更新後のアプリケーションプログラムのインストールファイルのストレージアドレスを取得し、その後、ストレージアドレスに基づいて更新後のアプリケーションプログラムのインストールファイルを取得してもよい。実施例では、オペレーティングシステムにアプリケーションプログラムのイメージファイルをロードし、アプリケーションプログラムのイメージファイルに読み書きレイヤを増加し、例えば、システムコンテナのオペレーティングシステムにアプリケーションプログラムのイメージファイルをロードし、システムコンテナにロードされたイメージファイルを読み取り専用レイヤと定義することができ、そして、読み取り専用レイヤに1つ又は複数の読み書きレイヤを重ね合わせ、この時、システムコンテナにおけるイメージファイルを修正することができる。イメージファイルの読み取り専用レイヤに同じファイルが存在すれる場合、まずイメージファイルの読み取り専用レイヤにおけるファイルをイメージファイルの読み書きレイヤにコピーし、その後コピーされたファイルを修正する。このようにして、図7に示すように、読み取り専用レイヤのファイルを修正せずに読み書きレイヤのファイルのみを修正することを保証することができる。この場合、アプリケーションプログラムのイメージファイルの変化又は変更を動的に記録することができる。実施例では、更新後のアプリケーションプログラムのインストールファイルに基づいて、オペレーティングシステムにおいてアプリケーションプログラムを更新し、読み書きレイヤによって、アプリケーションプログラムの更新プロセスにおいてアプリケーションプログラムに対応するアプリケーションデータを監視する。例えば、オペレーティングシステムに更新後のアプリケーションプログラムのインストールファイルをロードすると、アプリケーションプログラムを更新することができる。更新プロセスにおいて、ホストのミラーリングメインディレクトリをシステムコンテナにマウントしてイメージファイルディレクトリとすることができる。ホストのミラーリングメインディレクトリには、アプリケーションプログラムのイメージファイルが含まれることができ、アプリケーションプログラムを更新するプロセスにおいて、アプリケーションプログラムのイメージファイルにおけるデータを読み書きレイヤで修正する。従って、アプリケーションプログラムのイメージファイルの読み書きレイヤが変化すると、アプリケーションプログラムに対応するアプリケーションデータが更新されたと決定することができるため、アプリケーションプログラムに対応するアプリケーションデータに対する監視は、読み書きレイヤで完了することができ、読み書きレイヤによって、アプリケーションプログラムに対応するアプリケーションデータの更新プロセスを監視することができると理解することもできる。アプリケーションデータの更新プロセスに対する監視について、システムコンテナ内部にファイル監視プログラムをカスタマイズしてそれを監視することができる。
【0040】
実施例では、アプリケーションデータに更新が存在する場合、更新されたアプリケーションデータをアプリケーションプログラムの更新データとして抽出してもよい。例えば、アプリケーションプログラムの更新が完了した後、読み書きレイヤに変化があると決定し、この時、アプリケーションプログラムが更新されたと認定できる。そして、システムコンテナに更新データセットを作成し、更新データセットディレクトリにおけるスクリプトファイルを実行してもよい。続いて、イメージファイルディレクトリにおけるアプリケーションプログラムのイメージファイルの読み書きレイヤディレクトリをトラバースすると、更新データを取得し、更新データを更新データセットに保存することができる。実施例では、第2の共有データセットと更新データセットが更新データのデータ内容を共有するように、オペレーティングシステムが位置するシステムコンテナ以外の領域に第2の共有データセットを構築する。例えば、第2の共有データセットと更新データセットが更新データのデータ内容を共有できるように、オペレーティングシステムが位置するシステムコンテナ以外の領域に第2の共有データセットを構築してもよい。実施例では、第2のプリセット認識条件に基づいて、更新データにおける異常データ及び配置データを第2の共有データセットで認識することができる。例えば、第2の共有データセットにおける更新データを解析すれば、更新データにおける異常データと配置データを認識することができる。第2の共有データセットにおいて更新データにおける異常データを削除し、更新データにおける配置データを変更し、ターゲット更新データを得る。例えば、異常データは、アプリケーションプログラムの実行中に生成された一時データの一部及びアプリケーションプログラムに関連しないデータであってもよく、この部分の一時データ及びアプリケーションプログラムに関連しないデータを削除することができる。削除する一時データは、「/mnt/runtime/read」、「/mnt/runtime/write」、「/storage/emulated」などのディレクトリにおける関連ファイルであってもよい。実施例では、データパケットのパケット名を照会条件として使用してもよく、例えば、データパケットのパケット名は、「com.tenxxx.tmgp.sgame」であってもよく、全ての配置データにおいてターゲット配置データを照会し、当該ターゲット配置データは「/data/system/packages.xml」、「/data/system/packages.list」などのファイルにおける関連フィールドなどのデータであってもよく、当該ターゲット配置データを保持し、他の配置データを変更又は削除する。実施例では、いくつかの更新されたアプリケーションプログラム内の配置データを変更してもよく、例えば、イメージファイルを作成する場合、ユーザーがクリックするには、いくつかのアイコンを表示する必要があり、作成が完了した後、この部分のアイコン(例えば、QQ、ウィーチャットなどのアプリケーションプログラムのアイコン)を隠す必要があり、そのため、対応する配置ファイルを変更して対応するアイコンの状態を調整する必要があり、図8に示すように、配置データを削除又は変更することによってターゲット更新データを得ることができる。ターゲット更新データとアプリケーションプログラムのイメージファイルをマージして、アプリケーションプログラムが更新された第2の更新イメージファイルを得る。実施例では、ターゲット更新データに基づいて、イメージファイルに増加する必要のある読み書きレイヤの情報を決定し、イメージファイルに読み書きレイヤを重ね合わせ、そして、ターゲット更新ファイルをイメージファイルの読み書きレイヤに追加し、アプリケーションプログラムが更新された第2の更新イメージファイルを得ることができる。ターゲット更新データとアプリケーションプログラムのイメージファイルの具体的なマージプロセスは、Dockerfileを採用して構築することができ、例えば、1つのDockerfileテキストを作成し、当該テキストは、第2の更新イメージファイルを構築するために必要なコマンド及び説明を含み、例えば、特定の基礎イメージテキストを指定し、本実施例では、アプリケーションプログラムのイメージファイルを指定し、COPY又はADDコマンドによってターゲット更新データをアプリケーションプログラムのイメージファイルに追加し、当該ファイルによって、指定した名称のアプリケーションプログラムのイメージファイルを生成することができる。なお、このプロセスにおいて、ファイルの属性及び権限が変更されないままであることを保証する必要がある。実施例では、他の方式を採用して、アプリケーションプログラムのイメージファイルとターゲット更新データをマージして、アプリケーションプログラムが更新された第2の更新イメージファイルを得てもよい。
【0041】
アプリケーションプログラムのインストールファイルに更新が存在する場合は、アプリケーションプログラムを更新する必要であると理解することもできる。アプリケーションプログラムを更新する必要がある場合、基礎イメージファイルをロードし、オペレーティングシステムを起動し、オペレーティングシステムにおいて更新後のアプリケーションプログラムのインストールファイルを再インストールし、そして、更新後のアプリケーションプログラムのアプリケーションデータを取得し、アプリケーションデータと基礎イメージファイルをマージして、アプリケーションプログラムの第2の更新イメージファイルを得ることもできる。ただし、アプリケーションプログラムの配置時間を短縮するために、アプリケーションデータにおける更新データを取得し、更新データとアプリケーションプログラムのイメージファイルをマージして、アプリケーションプログラムの第2の更新イメージファイルを得てもよい。
【0042】
実施例では、ブロックチェーンを採用して、アプリケーションプログラムのイメージファイル、第1の更新イメージファイル、及び第2の更新イメージファイルを記憶してもよい。ブロックチェーンは、分散式データストレージ、ポイントツーポイント伝送、コンセンサスメカニズム、暗号化アルゴリズムなどのコンピュータ技術を含む新しい適用モードである。ブロックチェーン(Blockchain)は本質的に1つの脱中心化されたデータベースであり、暗号化方式を使用して関連付けて生成された一連のデータブロックであり、各データブロックにネットワークトランザクション情報のバッチが含まれ、この情報の有効性を検証し(偽造防止)、次のブロックを生成するために用いられる。ブロックチェーンは、ブロックチェーン下層プラットフォーム、プラットフォーム製品サービスレイヤ、及びアプリケーションサービスレイヤを含んでもよい。
ブロックチェーン下層プラットフォームは、ユーザー管理モジュール、基本サービスモジュール、スマートコントラクトモジュール、及び運営監視モジュールなどの処理モジュールを含んでもよい。ユーザー管理モジュールは、公開鍵と秘密鍵の生成の維持(アカウント管理)、鍵管理、及びユーザーの実際のアイデンティティとブロックチェーンアドレスの対応関係の維持(権限管理)などを含む全てのブロックチェーン参加者のアイデンティティ情報管理を担当し、また、許可される場合、いくつかの実際のアイデンティティのトランザクション状況を監視及び監査し、リスク制御の規則配置(リスク管理監査)を提供する。基本サービスモジュールは、全てのブロックチェーンノードデバイスに配置され、ビジネスリクエストの有効性を検証し、有効なリクエストに対してコンセンサスを完了した後にそれを記憶装置に記録する。1つの新たなビジネスリクエストに対して、基本サービスモジュールは、まず、適応解析及び認証処理(インタフェース適合)を行い、続いてコンセンサスアルゴリズムによってビジネス情報を暗号化し(コンセンサス管理)、暗号化した後にビジネス情報を完全に共有アカウントに伝送し(ネットワーク通信)、記録記憶を行う。スマートコントラクトモジュールは、コントラクトの登録発行、コントラクトトリガー、及びコントラクト実行を担当し、開発者は、あるプログラミング言語によってコントラクトロジックを定義し、ブロックチェーンに発行し(コントラクト登録)、コントラクト条項のロジックに応じて、鍵又は他のイベントを呼び出して実行をトリガーし、コントラクトロジックを完了し、同時にコントラクトに対するアップグレードとキャンセルの機能も提供する。運営監視モジュールは、主に製品のリリースプロセスにおける配置、配置の修正、コントラクト設定、クラウドアダプテーション及び製品実行中のリアルタイム状態の可視化出力を担当し、例えば、警報、ネットワーク状況の監視、ノードデバイスの健康状態の監視などである。
【0043】
プラットフォーム製品サービスレイヤは、一般的なアプリケーションの基本機能と実装フレームワークを提供し、これらの基本機能に基づいて、開発者は、ビジネス特性を重ね合わせて、ビジネスロジックのブロックチェーン実現を完了することができる。アプリケーションサービスレイヤは、ブロックチェーンソリューションに基づくアプリケーションサービスをサービス参加者に提供して使用する。
【0044】
上記の実施例に記載されている方法に基づいて、以下、本出願の実施例をさらに詳細に説明する。
【0045】
実施例では、当該イメージファイル装置が電子機器に統合され、電子機器がサーバーであり、プリセットシステム領域がシステムコンテナであることを例として、説明する。
【0046】
図9に示すように、イメージファイル生成方法の具体的なフローは、次のステップ201-206を含む。
ステップ201では、サーバーは、イメージファイル生成要求を受信する。
実施例では、端末は、アプリケーションプログラムのインストールファイルをイメージファイル生成要求に直接追加し、そして、アプリケーションプログラムのインストールファイルを追加したイメージファイル生成要求をサーバーに送信する。サーバーは、イメージファイル生成要求を受信し、イメージファイル生成要求からアプリケーションプログラムのインストールファイルを取得することができる。アプリケーションプログラムのインストールファイルのメモリが大きい場合、端末は、アプリケーションプログラムのインストールファイルをサードパーティのデータベースに記憶し、そして、ストレージアドレスをイメージファイル生成要求に追加し、ストレージアドレスを追加したイメージファイル生成要求をサーバーに送信する。サーバーは、イメージファイル生成要求からストレージアドレスを抽出し、そして、ストレージアドレスに基づいてサードパーティのデータベースからアプリケーションプログラムのインストールファイルを取得し、アプリケーションプログラムのインストールファイルを取得した後、プロンプト情報を端末に送信して端末に提示することができる。
【0047】
ステップ202では、サーバーは、イメージファイル生成要求に基づいて、システムコンテナにオペレーティングシステムの基礎イメージファイルをロードし、オペレーティングシステムを起動する。
実施例では、オペレーティングシステムがAndroidオペレーティングシステムであることを例とし、サーバーがイメージファイル生成要求を受信すると、AndroidコンテナにAndroidオペレーティングシステムのAndroid基礎イメージファイルをロードし、この時、AndroidコンテナでAndroidオペレーティングシステムを起動することができる。
【0048】
ステップ203では、サーバーは、オペレーティングシステムにおいてアプリケーションプログラムのインストールファイルに対応するアプリケーションプログラムをインストールし、アプリケーションプログラムを実行し、アプリケーションプログラムを実行した後のシステムデータセット及びアプリケーションプログラムの属性情報を得る。
【0049】
例えば、アプリケーションプログラムのインストールファイルがAアプリケーションプログラムのAPKファイルであることを例とし、サーバーは、Androidオペレーティングシステムにおいて手動コマンド又はスクリプトインストールの方式により、当該APKファイルを実行し、AアプリケーションプログラムをAndroidオペレーティングシステムにインストールする。オペレーティングシステムにおいてアプリケーションプログラムを実行し、アプリケーションプログラムを実行した後のシステムデータセット及びアプリケーションプログラムの属性情報を得る。例えば、Androidオペレーティングシステムにおいてインストールされたアプリケーションプログラムを実行し、この時、Androidコンテナにおけるデータ全体を保存し、システムデータセットを取得し、Androidオペレーティングシステムにおいてアプリケーションプログラムの属性情報を取得し、当該属性情報は、アプリケーションプログラムの名称、タイプ、インストールアドレス、メモリサイズ及びデータリストなどの情報であってもよい。
【0050】
実施例では、アプリケーションプログラムを実行して、システムデータセット及びアプリケーションプログラムの属性情報を取得する前に、サーバーは、さらにインストールされたアプリケーションプログラムを配置することができ、即ち、「アプリケーションプログラムを実行し、アプリケーションプログラムを実行した後のシステムデータセット及びアプリケーションプログラムの属性情報を得る」ステップの前に、当該イメージファイル生成方法は、サーバーアプリケーションプログラムのインストールファイルでアプリケーションプログラムを配置するための配置情報を照会し、配置情報が存在する場合、配置情報に基づいて、アプリケーションプログラムを配置し、配置が完了した後、配置されたアプリケーションプログラムをオペレーティングシステム上で実行し、配置されたアプリケーションプログラムを実行した後のシステムデータセットとアプリケーションプログラムの属性情報を得るステップをさらに含んでもよい。具体的には以下のとおりである。
【0051】
(1)サーバーは、アプリケーションプログラムのインストールファイルでアプリケーションプログラムを配置するための配置情報を照会する。
実施例では、サーバーは、データ更新情報又はプリセットパラメータ情報のファイル名又はファイルフォーマットを照会条件とし、アプリケーションプログラムのインストールファイルでアプリケーションプログラムを配置するための配置情報が存在するかどうかを照会してもよい。
【0052】
(2)配置情報が存在する場合、サーバー配置情報に基づいて、アプリケーションプログラムを配置する。
実施例では、配置情報がデータ更新情報である場合、サーバーは、アプリケーションプログラムにおけるデータ更新情報に対応する内蔵データを更新する。例えば、データ更新情報が更新データである場合、アプリケーションプログラムで更新データに対応する内蔵データを照会し、内蔵データを更新データに直接置き換え、具体的な更新プロセスは手動クリック又は人工知能自動認識などの方法によってトリガーすることができる。データ更新情報が更新データのストレージアドレスである場合、当該ストレージアドレスに基づいて、更新データを取得し、その後、アプリケーションプログラムで更新データに対応する内蔵データを照会し、内蔵データを更新データに置き換える。他の実施例では、配置情報がプリセットパラメータ情報である場合、アプリケーションプログラムにおけるプリセットパラメータ情報に対応するパラメータを設置する。例えば、プリセットパラメータ情報がプリセット画面フレーム数であることを例とし、アプリケーションプログラムのフレーム数の設置において、直接、アプリケーションプログラムにおける画面フレーム数をプリセット画面フレーム数に設置する。また例えば、配置情報がデータ更新情報及びプリセットパラメータ情報である場合、アプリケーションプログラムにおけるデータ更新情報に対応する内蔵データを更新し、更新されたアプリケーションプログラムにおけるプリセットパラメータ情報に対応するパラメータを設置する。例えば、配置情報にデータ更新情報とプリセットパラメータ情報の両方が存在する場合、まず、データ更新情報に更新データが含まれるかどうかを判断し、更新データが含まれている場合、アプリケーションプログラムにおいて更新データに対応する内蔵データを直接置き換え、更新されたアプリケーションプログラムを得る。データ更新情報にストレージアドレスしかない場合、まず、ストレージアドレスに基づいて更新データを取得し、その後、更新データに対応する内蔵データを置き換え、更新されたアプリケーションプログラムを得る。更新されたアプリケーションプログラムで、プリセットパラメータ情報に対応するパラメータを設置する。
【0053】
ステップ204では、サーバーは、アプリケーションプログラムの属性情報に基づいて、システムデータセットをトラバースし、アプリケーションプログラムをインストールした後の初期アプリケーションデータを得る。
実施例では、サーバーは、システムコンテナ内のグローバルルートディレクトリを取得し、このグローバルルートディレクトリをシステムデータセットのグローバルディレクトリとする。アプリケーションプログラムの属性情報に基づいて、グローバルディレクトリから属性情報に対応するディレクトリ、例えば、アプリケーションプログラムの名称に対応するファイルディレクトリをスクリーニングし、これらのディレクトリをターゲットディレクトリとする。ターゲットディレクトリに基づいて、システムデータセットにおいてアプリケーションプログラムがインストールされた初期アプリケーションデータを認識し、初期アプリケーションデータセットを取得し、例えば、システムデータセットからターゲットディレクトリに対応する候補システムデータをスクリーニングし、これらの候補システムデータからアプリケーションプログラムに対応する初期アプリケーションデータを認識し、初期アプリケーションデータを初期アプリケーションデータセットに保存してもよい。
【0054】
ステップ205では、サーバーは、初期アプリケーションデータを調整して、アプリケーションプログラムに対応するアプリケーションデータを得る。
実施例では、サーバーは、ホストの前のディレクトリ(例えば、/home/workin)をシステムコンテナのコンテナディレクトリ(例えば、/workin)にマウントすることができ、当該コンテナディレクトリに対応するデータは、初期アプリケーションデータセットであってもよく、ホストの前のディレクトリに対応するデータは、第1の共有データセットであってもよい。このように、第1の共有データセットは、初期アプリケーションデータを初期アプリケーションデータセットと共有することができる。実施例では、第1のプリセット認識条件に基づいて、異常データ及び配置データをアプリケーションデータで認識することができ、第1の共有データセット内でアプリケーションプログラムの実行中に生成された異常データを削除することができ、当該異常データは、アプリケーションプログラムの実行における一時データ及びアプリケーションプログラムに関連しないデータを含む。例えば、削除する一時データは、「/mnt/runtime/read」、「/mnt/runtime/write」、「/storage/emulated」などのディレクトリにおける関連ファイルであってもよい。また例えば、データパケットのパケット名を照会条件としてもよく、例えば、データパケットのパケット名は「com.tenxxx.tmgp.sgame」であってもよく、全ての配置データにおいてターゲット配置データを照会し、当該ターゲット配置データは、「/data/system/packages.xml」、「/data/system/packages.list」などのファイルにおける関連フィールドなどのデータであってもよく、当該ターゲット配置データを保持し、他の配置データを変更又は削除する。これの主な目的は、できるだけ少ないアプリケーションプログラムの関連データを保持し、基礎イメージファイルとの結合性を低減することである。実施例では、いくつかのアプリケーションプログラムの配置データを変更してもよく、例えば、イメージファイルを作成する場合、ユーザーがクリックするには、いくつかのアイコンを表示する必要があり、作成が完了した後、この部分のアイコン(例えば、QQ、ウィーチャットなどのアプリケーションプログラムのアイコン)を隠す必要があり、そのため、対応する配置ファイルを変更して対応するアイコンの状態を調整する必要があり、配置データを削除及び変更することにより、アプリケーションプログラムに対応するアプリケーションデータを得ることができる。
【0055】
ステップ206では、サーバー前記アプリケーションデータと基礎イメージファイルをマージして、アプリケーションプログラムのイメージファイルを生成する。
実施例では、サーバーは、イメージファイルを構築するために必要なコマンド及び説明を含む1つのDockerfileテキストを作成し、例えば、1つの具体的な基礎ミラーテキストを指定し、本実施例では、Androidオペレーティングシステムの基礎イメージファイルを指定することができ、COPY又はADDコマンドによってアプリケーションプログラムに対応するアプリケーションデータをAndroid基礎イメージファイルに追加し、当該ファイルによって、指定した名称のアプリケーションプログラムのイメージファイルを生成することができる。なお、このプロセスにおいて、ファイルの属性及び権限が変更されないままであることを保証する必要がある。実施例では、他の方式を採用して、基礎イメージファイルとアプリケーションデータをマージしてアプリケーションプログラムのイメージファイルを得てもよい。
【0056】
実施例では、アプリケーションプログラムのイメージファイルの合成について、「docker run/docker cp/docker export」などのコマンドを採用してミラーリングの合成を行い、アプリケーションプログラムのイメージファイルを得る。
【0057】
実施例では、アプリケーションプログラムのイメージファイルを、イメージファイルを実行するサーバーに配置した後、オペレーティングシステムのいくつかのコンポーネントのアップグレード、入力方法の変更、及びランタイム抜け穴の修復などの場合、基礎イメージファイルを更新する必要があり、この場合、アプリケーションプログラムのイメージファイルを更新する必要もある。従って、当該イメージファイル生成方法は、
基礎イメージファイルに更新が存在する場合、サーバーは、更新後の基礎イメージファイルを取得し、更新後の基礎イメージファイルの読み取り専用レイヤに読み書きレイヤを増加し、アプリケーションプログラムに対応するアプリケーションデータを読み書きレイヤに追加し、アプリケーションプログラムの第1の更新イメージファイルを得るステップをさらに含んでもよい。
【0058】
実施例では、基礎イメージファイルに更新が存在する場合、サーバーは、更新後の基礎イメージファイルを取得し、アプリケーションデータに基づいて、更新後の基礎イメージファイルに増加する必要のある読み書きレイヤの基本情報を決定し、更新後の基礎イメージファイルの読み取り専用レイヤに基本情報に対応する読み書きレイヤを増加し、基本情報に基づいて、アプリケーションデータを読み書きレイヤに追加し、アプリケーションプログラムの第1の更新イメージファイルを得る。
【0059】
実施例では、アプリケーションプログラムのイメージファイルを、イメージファイルを実行するサーバーに配置した後、アプリケーションプログラムに更新が存在する場合、アプリケーションプログラムのインストールファイルにも更新が存在することを意味し、この時、アプリケーションプログラムを更新する必要がある。従って、当該イメージファイル生成方法は、
アプリケーションプログラムのインストールファイルに更新が存在する場合、サーバーは、更新後のアプリケーションプログラムのインストールファイルを取得し、更新後のアプリケーションプログラムのインストールファイルに基づいて、オペレーティングシステムにおいてアプリケーションプログラムを更新し、アプリケーションプログラムに対応するアプリケーションデータを監視し、アプリケーションデータに更新が存在する場合、更新後のアプリケーションデータをアプリケーションプログラムの更新データとして抽出し、更新データとアプリケーションプログラムのイメージファイルをマージして、アプリケーションプログラムが更新された第2の更新イメージファイルを得るステップをさらに含んでもよい。
【0060】
実施例では、サーバーは、更新後のアプリケーションプログラムのインストールファイルを直接取得してもよいし、まず、更新後のアプリケーションプログラムのインストールファイルのストレージアドレスを取得し、その後、ストレージアドレスに基づいて更新後のアプリケーションプログラムのインストールファイルを取得してもよい。実施例では、システムコンテナのオペレーティングシステムにアプリケーションプログラムのイメージファイルをロードし、システムコンテナにロードしたイメージファイルを読み取り専用レイヤと定義することができ、そして、読み取り専用レイヤに1つ又は複数の読み書きレイヤを重ね合わせてもよい。オペレーティングシステムに更新後のアプリケーションプログラムのインストールファイルをロードすると、アプリケーションプログラムを更新することができる。更新プロセスにおいて、ホストのミラーリングメインディレクトリをシステムコンテナにマウントしてイメージファイルディレクトリとすることができる。ホストのミラーメインディレクトリにはアプリケーションプログラムのイメージファイルが含まれてもよく、アプリケーションプログラムを更新するプロセスにおいて、読み書きレイヤでアプリケーションプログラムのイメージファイルにおけるデータを修正又は変更する。従って、アプリケーションプログラムのイメージファイルの読み書きレイヤが変化すると、アプリケーションプログラムに対応するアプリケーションデータが更新されたと決定することができるため、アプリケーションプログラムに対応するアプリケーションデータに対する監視は、読み書きレイヤで完了することができ、読み書きレイヤによって、アプリケーションプログラムに対応するアプリケーションデータの更新プロセスを監視することができると理解することもできる。アプリケーションデータの更新プロセスに対する監視について、システムコンテナ内部にファイル監視プログラムをカスタマイズしてそれを監視することができる。
【0061】
実施例では、アプリケーションデータに更新が存在する場合、システムコンテナに更新データセットを作成し、更新データセットディレクトリにおけるスクリプトファイルを実行してもよい。次に、イメージファイルディレクトリにおけるアプリケーションプログラムのイメージファイルの読み書きレイヤディレクトリをトラバースすることにより、更新データを取得し、更新データを更新データセットに保存することができる。実施例では、第2の共有データセットが更新データのデータ内容を更新データセットと共有できるように、オペレーティングシステムが位置するシステムコンテナ以外の領域に第2の共有データセットを構築してもよい。実施例では、第2の共有データセットにおける更新データを解析すれば、更新データにおける異常データと配置データを認識することができる。第2の共有データセットでは、更新されたアプリケーションプログラムの実行中に生成された異常データを削除でき、異常データは、アプリケーションプログラムの実行中に生成された一時データの一部及びアプリケーションプログラムに関連しないデータを含み、削除する一時データは、「/mnt/runtime/read」、「/mnt/runtime/write」、「/storage/emulated」などのディレクトリにおける関連ファイルであってもよい。実施例では、データパケットのパケット名を照会条件としてもよく、例えば、データパケットのパケット名は「com.tenxxx.tmgp.sgame」であってもよく、全ての配置データにおいてターゲット配置データを照会し、当該ターゲット配置データは、「/data/system/packages.xml」、「/data/system/packages.list」などのファイルにおける関連フィールドなどのデータであってもよく、当該ターゲット配置データを保持し、他の配置データを変更又は削除する。実施例では、いくつかの更新後のアプリケーションプログラム内の配置データを変更してもよく、例えば、イメージファイルを作成する場合、ユーザーがクリックするには、いくつかのアイコンを表示する必要があり、作成が完了した後、この部分のアイコン(例えば、QQ、ウィーチャットなどのアプリケーションプログラムのアイコン)を隠す必要があり、そのため、対応する配置ファイルを変更して対応するアイコンの状態を調整する必要があり、配置データを削除又は変更することにより、ターゲット更新データを得ることができる。ターゲット更新データに基づいて、イメージファイルに増加する必要のある読み書きレイヤの情報を決定し、イメージファイルに読み書きレイヤを重ね合わせ、その後、ターゲット更新ファイルをイメージファイルの読み書きレイヤに追加し、アプリケーションプログラムが更新された第2の更新イメージファイルを得ることができる。ターゲット更新データとアプリケーションプログラムのイメージファイルの具体的なマージプロセスは、Dockerfileを採用して構築することができ、例えば、1つのDockerfileテキストを作成し、当該テキストは、第2の更新イメージファイルを構築するために必要なコマンド及び説明を含み、例えば、1つの具体的な基礎ミラーテキストを指定し、本実施例では、アプリケーションプログラムのイメージファイルを指定し、COPY又はADDコマンドによってターゲット更新据をアプリケーションプログラムのイメージファイルに追加し、当該ファイルによって、指定した名称のアプリケーションプログラムのイメージファイルを生成することができる。なお、このプロセスにおいて、ファイルの属性及び権限が変更されないままであることを保証する必要がある。実施例では、他の方式を採用して、アプリケーションプログラムのイメージファイルとターゲット更新データをマージして、アプリケーションプログラムが更新された第2の更新イメージファイルを得てもよい。
【0062】
アプリケーションプログラムのインストールファイルに更新が存在する場合、アプリケーションプログラムを更新する必要があると理解することもできる。アプリケーションプログラムを更新する必要がある場合、基礎イメージファイルをロードし、オペレーティングシステムを起動し、オペレーティングシステムにおいて更新されたアプリケーションプログラムのインストールファイルを再インストールすることができ、次に、更新されたアプリケーションプログラムのアプリケーションデータを取得し、アプリケーションデータと基礎イメージファイルをマージして、アプリケーションプログラムの第2の更新イメージファイルを得ることもできる。ただし、アプリケーションプログラムの配置時間を短縮するために、アプリケーションデータにおける更新データを取得し、更新データとアプリケーションプログラムのイメージファイルをマージして、アプリケーションプログラムの第2の更新イメージファイルを得てもよい。
【0063】
上記の実施例に記載されている方法に基づいて、以下、本出願の実施例をさらに詳細に説明する。
【0064】
実施例では、当該イメージファイル生成方法をクラウドゲームシステムに適用することを例として説明する。図10に示すように、当該クラウドゲームシステムは、ミラーリングサーバー、エッジサーバー、及びユーザー端末を含み、ユーザー端末は、フォン、タブレットコンピューター、及び/又はテレビなどを含んでもよい。イメージファイル生成装置は、ミラーリングサーバーに統合され、ユーザーは、端末を介してエッジサーバーにおけるクラウドゲームアプリケーションにアクセスすることができる。
【0065】
ミラーリングサーバーは、クラウドゲームインストールファイルが含まれるイメージファイル生成要求を受信した後、イメージファイル生成要求に基づいて、プリセットシステム領域にオペレーティングシステムの基礎イメージファイルをロードして、オペレーティングシステムを起動し、次に、オペレーティングシステムにクラウドゲームインストールファイルに対応するクラウドゲームをインストールし、当該クラウドゲームを実行し、クラウドゲームを実行した後のシステムデータセット及びクラウドゲームの属性情報を取得し、クラウドゲームの属性情報に基づいて、システムデータセットからクラウドゲームに対応するゲームデータをスクリーニングし、ゲームデータと基礎イメージファイルをマージして、クラウドゲームのイメージファイル、即ち、クラウドゲームミラーイメージを生成する。ミラーリングサーバーは、クラウドゲームミラーイメージをエッジサーバーに配置し、エッジサーバーは、当該クラウドゲームミラーイメージに対応するシステムコンテナを起動して、クラウドゲームミラーイメージをシステムコンテナに配置する。例えば、当該システムコンテナは、Androidコンテナであってもよい。ユーザーがユーザー端末のクライアント側を介してクラウドゲームにアクセスする場合、ユーザー端末は、エッジサーバーにクライアント側接続要求を送信し、クライアント側接続要求は、クラウドゲーム識別子を含む。エッジサーバーは、クラウドゲーム識別子に基づいて、当該クラウドゲーム識別子に対応するシステムコンテナを割り当て、クライアント側との接続を確立し、この時、ユーザー端末は、クラウドゲームミラーイメージを介して当該クラウドゲームに入る。ユーザー端末のクライアント側は、データストリームの方式により、入力イベント(例えば、マウスやキーボードイベントなど)を対応するシステムコンテナに送信し、システムコンテナは相応するバッファイメージをスナップしてクライアント側に送信することを担当する。例えば、システムコンテナがAndroidコンテナであることを例とし、図11に示すように、ユーザー端末のクライアント側は、データストリームの方式により、入力イベント(例えば、マウスやキーボードイベントなど)を対応するAndroidコンテナに送信し、Androidコンテナは、対応するバッファイメージをスナップしてクライアント側に送信することを担当し、クライアント側は、クラウドゲームにおけるユーザーの入力イベントに対応するフィードバックイメージを表示することができる。クラウドゲームの基礎イメージファイルに更新が存在する場合、更新後の基礎イメージファイルとクラウドゲームのゲームデータをマージして、クラウドゲームの第1の更新イメージファイルを取得し、次に、第1の更新イメージファイルをエッジサーバーにおける対応するシステムコンテナに再配置すればよい。クラウドゲームが実行中に更新が存在し、即ち、クラウドゲームのインストールファイルに更新が存在する場合、クラウドゲームの更新データを取得し、更新データとクラウドゲームのイメージファイルをマージし、クラウドゲームの第2の更新イメージファイルを取得し、次に、第2の更新イメージファイルをエッジサーバーにおける対応するシステムコンテナに再配置すればよい。ユーザー端末がクライアント側接続要求を送信する場合、エッジサーバーは、更新されたクラウドゲームのイメージファイルに対応するシステムコンテナを割り当て、クライアント側と接続し、ユーザー端末がクライアント側を介してクラウドゲームを操作することを実現する。このようにして、ゲーム更新のステップを簡略化することができる。
【0066】
上記の方法をよりよく実施するために、本出願の実施例は、イメージファイル生成装置をさらに提供し、当該イメージファイル生成装置は、例えば、サーバー又は端末などの電子機器に統合することができ、当該端末は、タブレットコンピューター、ノートパソコン及び/又はパーソナルコンピュータなどを含むことができる。
例えば、図12に示すように、当該イメージファイル生成装置は、受信ユニット301、起動ユニット302、実行ユニット303、スクリーニングユニット304、及び生成ユニット305を含むことができ、詳細は、以下のとおりである。
【0067】
(1)受信ユニット301
受信ユニット301は、イメージファイル生成要求を受信し、当該イメージファイル生成要求は、アプリケーションプログラムのインストールファイルを含む。
実施例では、受信ユニット301は、具体的に、イメージファイル生成要求を受信し、イメージファイル生成要求からアプリケーションプログラムのインストールファイルを抽出する。アプリケーションプログラムのインストールファイルのメモリが大きい場合や、複数のアプリケーションプログラムのインストールファイルが存在する場合、これらのアプリケーションプログラムのインストールファイルを間接的に取得することができる。
【0068】
(2)起動ユニット302
起動ユニット302は、イメージファイル生成要求に基づいて、プリセットシステム領域にオペレーティングシステムの基礎イメージファイルをロードして、オペレーティングシステムを起動する。
実施例では、起動ユニット302は、具体的に、イメージファイル生成要求に基づいて、システムコンテナにオペレーティングシステムの基礎イメージファイルをロードして、オペレーティングシステムをシステムコンテナで起動する。
【0069】
(3)実行ユニット303
実行ユニット303は、オペレーティングシステムにおいてアプリケーションプログラムのインストールファイルに対応するアプリケーションプログラムをインストールし、アプリケーションプログラムを実行し、アプリケーションプログラムを実行した後のシステムデータセット及びアプリケーションプログラムの属性情報を得る。
実施例では、実行ユニット303は、具体的に、オペレーティングシステムにアプリケーションプログラムのインストールファイルをロードし、アプリケーションプログラムのインストールファイルに対応するアプリケーションプログラムをオペレーティングシステムにインストールし、オペレーティングシステムにおいてアプリケーションプログラムを実行し、アプリケーションプログラムを実行した後のシステムデータセット及びアプリケーションプログラムの属性情報を得る。
【0070】
実施例では、実行ユニット303は、具体的に、アプリケーションプログラムのインストールファイルでアプリケーションプログラムを配置するための配置情報を照会し、配置情報が存在する場合、配置情報に基づいてアプリケーションプログラムを配置し、アプリケーションプログラムを実行し、アプリケーションプログラムを実行した後のシステムデータセット及びアプリケーションプログラムの属性情報を得るステップは、配置されたアプリケーションプログラムをオペレーティングシステム上で実行し、配置されたアプリケーションプログラムを実行した後のシステムデータセットとアプリケーションプログラムの属性情報を得ることを含む。
【0071】
実施例では、実行ユニット303は、具体的に、配置情報がデータ更新情報である場合、アプリケーションプログラムにおけるデータ更新情報に対応する内蔵データを更新し、配置情報がプリセットパラメータ情報である場合、アプリケーションプログラムにおけるプリセットパラメータ情報に対応するパラメータを設置し、配置情報がデータ更新情報及びプリセットパラメータ情報である場合、アプリケーションプログラムにおけるデータ更新情報に対応する内蔵データを更新し、更新されたアプリケーションプログラムにおけるプリセットパラメータ情報に対応するパラメータを設置する。
【0072】
(4)スクリーニングユニット304
スクリーニングユニット304は、アプリケーションプログラムの属性情報に基づいて、システムデータセットからアプリケーションプログラムに対応するアプリケーションデータをスクリーニングする。
実施例では、スクリーニングユニット304は、具体的に、アプリケーションプログラムの属性情報に基づいて、システムデータセットをトラバースして、アプリケーションプログラムがインストールされた初期アプリケーションデータを取得し、初期アプリケーションデータを調整し、アプリケーションプログラムに対応するアプリケーションデータを得る。
【0073】
実施例では、スクリーニングユニット304は、具体的に、システムデータセットのグローバルディレクトリを取得し、アプリケーションプログラムの属性情報に基づいて、グローバルディレクトリからターゲットディレクトリをスクリーニングし、ターゲットディレクトリに基づいて、システムデータセットにおいてアプリケーションプログラムがインストールされた初期アプリケーションデータを認識し、初期アプリケーションデータセットを得る。
【0074】
実施例では、スクリーニングユニット304は、具体的に、第1の共有データセットと初期アプリケーションデータセットが初期アプリケーションデータを共有するように、オペレーティングシステム以外の領域に第1の共有データセットを構築し、第1の共有データセット内でアプリケーションデータを調整し、アプリケーションプログラムに対応するアプリケーションデータを得る。
【0075】
実施例では、スクリーニングユニット304は、具体的に、第1のプリセット認識条件に基づいて、アプリケーションデータにおいて異常データ及び配置データを認識し、第1の共有データセットから初期アプリケーションデータにおける異常データを削除し、初期アプリケーションデータにおける配置データを変更し、アプリケーションプログラムに対応するアプリケーションデータを得る。
【0076】
(5)生成ユニット305
生成ユニット305は、アプリケーションデータと基礎イメージファイルをマージして、アプリケーションプログラムのイメージファイルを生成する。
実施例では、生成ユニット305は、具体的に、アプリケーションデータに基づいて、基礎イメージファイルに増加する必要のある読み書きレイヤの基本情報を決定し、基礎イメージファイルの読み取り専用レイヤに基本情報に対応する読み書きレイヤを増加し、基本情報に基づいて、アプリケーションデータを読み書きレイヤに追加し、アプリケーションプログラムのイメージファイルを得る。
【0077】
実施例では、生成ユニット305は、具体的に、前記アプリケーションデータの属性情報を取得し、読み書きレイヤの基本情報に基づいて、読み書きレイヤから、アプリケーションデータの属性情報にマッチングする読み書きレイヤをターゲット読み書きレイヤとしてスクリーニングし、アプリケーションデータをターゲット読み書きレイヤに追加し、アプリケーションデータを追加した基礎イメージファイルをアプリケーションプログラムのイメージファイルとする。
【0078】
実施例では、イメージファイル生成装置は、図13に示すように、第1の更新ユニット306及び/又は第2の更新ユニット307をさらに含んでもよい。
【0079】
実施例では、第1の更新ユニット306は、具体的に、基礎イメージファイルに更新が存在する場合、更新後の基礎イメージファイルを取得し、更新後の基礎イメージファイルの読み取り専用レイヤに読み書きレイヤを増加し、アプリケーションプログラムに対応するアプリケーションデータを読み書きレイヤに追加し、前記アプリケーションプログラムの第1の更新イメージファイルを得る。
【0080】
いくつかの実施例では、第2の更新ユニット307は、具体的に、アプリケーションプログラムのインストールファイルに更新が存在する場合、更新後のアプリケーションプログラムのインストールファイルを取得し、更新後のアプリケーションプログラムのインストールファイルに基づいて、オペレーティングシステムにおいてアプリケーションプログラムを更新し、アプリケーションプログラムに対応するアプリケーションデータを監視し、アプリケーションデータに更新が存在する場合、更新後のアプリケーションデータを、アプリケーションプログラムの更新データとして抽出し、更新データとアプリケーションプログラムのイメージファイルをマージして、アプリケーションプログラムが更新された第2の更新イメージファイルを得る。
【0081】
実施例では、第2の更新ユニット307は、具体的に、オペレーティングシステムにアプリケーションプログラムのイメージファイルをロードして、アプリケーションプログラムのイメージファイルに読み書きレイヤを増加し、更新後のアプリケーションプログラムのインストールファイルに基づいて、オペレーティングシステムにおいてアプリケーションプログラムを更新し、読み書きレイヤによって、アプリケーションプログラムの更新プロセスにおいてアプリケーションプログラムに対応するアプリケーションデータを監視する。
【0082】
実施例では、第2の更新ユニット307は、具体的に、第2の共有データセットと更新データがデータ内容を共有するように、オペレーティングシステム以外の領域に第2の共有データセットを構築し、第2のプリセット認識条件に基づいて、第2の共有データセットで更新データにおける異常データ及び配置データを認識し、第2の共有データセットから更新データにおける異常データを削除し、更新データにおける配置データを変更し、ターゲット更新データを得て、ターゲット更新データとアプリケーションプログラムのイメージファイルをマージして、アプリケーションプログラムが更新された第2の更新イメージファイルを得る。
【0083】
具体的に実施する場合、以上の各ユニットは、独立したエンティティとして実現してもよく、任意の組み合わせを行ってもよい。同一又は若干のエンティティとして実現する場合、以上の各ユニットの具体的な実施は、前述の方法の実施例を参照することができ、ここで繰り返し説明しない。
【0084】
本出願の実施例は、電子機器をさらに提供し、図14に示すように、本出願の実施例に係る電子機器の概略構造図を示す。
【0085】
当該電子機器は、1つ又は複数の処理コアとしてのプロセッサ401、1つ又は複数のコンピュータ可読記憶媒体としてのメモリ402、電源403、及び入力ユニット404などの構成要素を含んでもよい。当業者であれば、図14に示される電子機器の構造が電子機器に対する制限を構成しないことを理解することができ、他の実施例では、電子機器は、図に示されるものよりも多い又は少ない構成要素、又はある構成要素の組み合わせ、又は異なる部品配置を含んでもよい。
【0086】
プロセッサ401は、当該電子機器の制御センターであり、様々なインターフェース及びラインを利用して、電子機器全体の各部分を接続し、メモリ402内に記憶されたソフトウェアプログラム及び/又はモジュールを運行又は実行し、メモリ402内に記憶されたデータを呼び出し、電子機器の各種機能及び処理データを実行することで、電子機器の全体を監視する。実施例では、プロセッサ401は、1つ又は複数の処理コアを含んでもよい。他の実施例では、プロセッサ401は、アプリケーションプロセッサと変調復調プロセッサを統合することができる。アプリケーションプロセッサは、主に、オペレーティングシステム、ユーザーインターフェース、及びアプリケーションプログラムなどを処理し、変調復調プロセッサは、主に、無線通信を処理する。上記の変調復調プロセッサは、プロセッサ401に統合されていない可能性があることを理解することができる。
【0087】
メモリ402は、ソフトウェアプログラム及びモジュールを記憶するために使用されることができ、プロセッサ401は、メモリ402に記憶されたソフトウェアプログラム及びモジュールを実行することによって、様々な機能的アプリケーション及びデータ処理を実行する。メモリ402は、主に、プログラム記憶領域とデータ記憶領域を含むことができる。プログラム記憶領域は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラム(例えば、音声再生機能、画像再生機能など)などを記憶することができる。データ記憶領域は、電子機器の利用に応じて作成されたデータなどを記憶することができる。なお、メモリ402は、高速ランダムアクセスメモリを含んでもよく、不揮発性メモリ、例えば少なくとも1つの磁気ディスク記憶装置、フラッシュメモリ装置、又は他の揮発性固体記憶デバイスを含んでもよい。それに対応して、メモリ402は、プロセッサ401にメモリ402へのアクセスを提供するために、メモリコントローラを含んでもよい。
【0088】
電子機器は、さらに、各部品に電力を供給する電源403を含んでもよい。電源403は、電源管理システムを介してプロセッサ401に論理的に接続することで、電源管理システムによって充放電管理、及び電力消費管理などの機能を実現することができる。電源403は、さらに、1つ又は複数の直流又は交流電源、再充電システム、電力障害検出回路、電力変換器又はインバータ、電力状態インジケータなどの任意のコンポーネントを含んでもよい。
【0089】
当該電子機器は、さらに、入力ユニット404を含んでもよい。当該入力ユニット404は、入力された数字又は文字情報を受信し、ユーザー設置及び機能制御に関するキーボード、マウス、ジョイスティック、光学又はトラックボールの信号入力を生成するために使用されることができる。
【0090】
図示されていないが、電子機器はさらに表示ユニットなどを含むことができ、ここで繰り返して説明しない。この実施例では、電子機器におけるプロセッサ401は、以下の命令に従って、1つ又は複数のアプリケーションプログラムのプロセスに対応する実行可能なファイルをメモリ402にロードし、プロセッサ401によってメモリ402に記憶されたアプリケーションプログラムを実行することにより、本出願の実施例で提供されるイメージファイル生成装置の様々な機能、及び本出願の実施例で提供されるイメージファイル生成方法のいずれかにおけるステップを実現する。
【0091】
本出願の実施例では、アプリケーションプログラムのインストールファイルが含まれるイメージファイル生成要求を受信した後、イメージファイル生成要求に基づいて、プリセットシステム領域にオペレーティングシステムの基礎イメージファイルをロードして、オペレーティングシステムを起動する。その後、オペレーティングシステムにおいてアプリケーションプログラムのインストールファイルに対応するアプリケーションプログラムをインストールし、アプリケーションプログラムを実行し、アプリケーションプログラムを実行した後のシステムデータセット及びアプリケーションプログラムの属性情報を取得し、アプリケーションプログラムの属性情報に基づいて、システムデータセットからアプリケーションプログラムに対応するアプリケーションデータをスクリーニングし、前記アプリケーションデータと基礎イメージファイルをマージして、アプリケーションプログラムのイメージファイルを生成する。この方案は、オペレーティングシステムにアプリケーションプログラムをインストールして実行し、システムデータセットを取得し、システムデータセットからアプリケーションプログラムに対応するアプリケーションデータをスクリーニングし、アプリケーションデータと基礎イメージファイルをマージしてアプリケーションプログラムのイメージファイルを生成することにより、アプリケーションプログラムのイメージファイルのメモリサイズを大幅に低減させるため、ストレージリソースを節約することができる。また、本出願の実施例によって生成されたアプリケーションプログラムのイメージファイルは、アプリケーションプログラムに関係のないデータ又は一時データを含まないため、アプリケーションプログラムを配置するデバイスの処理リソースを節約し、アプリケーションプログラムの配置時間を大幅に低減させることができる。
【0092】
当業者であれば理解できるように、上記の実施例の様々な方法における全部又は一部のステップは、命令によって完了することができ、又は命令によって関連するハードウェアを制御して完了することができ、当該命令は、コンピュータ可読記憶媒体に記憶され、プロセッサによってロード及び実行されることができる。
【0093】
このために、本出願の実施例はさらに、複数の命令が記憶されるコンピュータ可読記憶媒体を提供し、当該命令は、本出願の実施例で提供するイメージファイル生成方法のいずれかにおけるステップを実行するために、プロセッサによってロードされることができる。
【0094】
なお、当該コンピュータ可読記憶媒体は、読み取り専用メモリ(ROM、Read Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、磁気ディスク又は光ディスクなどを含むことができる。
【0095】
当該コンピュータ可読記憶媒体に記憶された命令は、本出願の実施例で提供するイメージファイル生成方法のいずれかにおけるステップを実行することができるため、本出願の実施例で提供されるイメージファイル生成方法のいずれかによって達成することができる有益な効果を実現することができる。
【0096】
以上は、本出願の実施例で提供されるイメージファイル生成方法、装置及びコンピュータ可読記憶媒体について詳細に紹介し、本明細書では具体例を適用して本出願の原理及び実施形態を説明し、以上の実施例の説明は、本出願の方法及びその核心思想の理解を助けるために用いられ、同時に、当業者にとって、本出願の思想に従って、具体的な実施形態及び応用範囲にいずれも変更点があり、以上のように、本明細書の内容は、本出願に対する制限として解釈されるべきではない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14