TWI715762B - 虛擬機器創建方法和裝置 - Google Patents

虛擬機器創建方法和裝置 Download PDF

Info

Publication number
TWI715762B
TWI715762B TW106113652A TW106113652A TWI715762B TW I715762 B TWI715762 B TW I715762B TW 106113652 A TW106113652 A TW 106113652A TW 106113652 A TW106113652 A TW 106113652A TW I715762 B TWI715762 B TW I715762B
Authority
TW
Taiwan
Prior art keywords
installation package
virtual machine
application
application program
environmental data
Prior art date
Application number
TW106113652A
Other languages
English (en)
Other versions
TW201738741A (zh
Inventor
王永輝
Original Assignee
大陸商深圳前海達闥雲端智能科技有限公司
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 大陸商深圳前海達闥雲端智能科技有限公司 filed Critical 大陸商深圳前海達闥雲端智能科技有限公司
Publication of TW201738741A publication Critical patent/TW201738741A/zh
Application granted granted Critical
Publication of TWI715762B publication Critical patent/TWI715762B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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
    • 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
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本發明提供了一種虛擬機器創建方法和裝置,所述方法包括:獲取第一應用程式的第一安裝包;確定所述第一安裝包對應的必要的環境資料,根據所述必要的環境資料編譯得到精簡作業系統;將所述精簡作業系統和所述第一安裝包打包得到虛擬機器安裝包;運行所述虛擬機器安裝包創建虛擬機器。本發明還提供了一種自動創建獨立運行某一應用程式的虛擬機器的方法,並且僅為所述虛擬機器配置其運行的應用程式所需要的精簡操作環境,而不是配置整個作業系統環境,大大節約了終端資源。

Description

虛擬機器創建方法和裝置
本發明是有關於虛擬化技術領域,特別是有關於一種虛擬機器創建方法和裝置。
移動終端已成為使用者日常工作生活的重要工具,在移動終端推動移動互聯網快速發展的同時,移動終端安全問題也日益嚴峻,引起社會的廣泛關注。移動虛擬化允許多個作業系統或者虛擬機器(VM)同時運行在移動手機或者無線手持設備上,使用虛擬機器監視器(Hypervisor)在底層硬體上創建安全獨立的軟體運行環境。通過移動虛擬化,用戶無需攜帶兩台或多台移動設備,可在一個物理手持設備上訪問多個作業系統,移動虛擬化在安全性方面具有顯著的特性。
通過虛擬化技術帶來的隔離性可實現單一終端上多個作業系統的隔離,避免各作業系統上的進程對其他作業系統產生不利影響,典型的應用場景為通過虛擬化技術在手機等移動設備上實現企業系統和個人系統的分離,防範個人系統上的進程給企業帶來的潛在危害,滿足一些具有安全要求的企業對「自帶設備」(BYOD)的需求。
為了進一步提高終端中各應用程式級別的隔離性,現有技術中方案架構如圖1所示,對於安全性能要求低的一些應用程式,如應用程式1、2和3等,不需要隔離,將其運行在一個虛擬機器上即可。而對於安全性能要求更高的一些應用程式,如支付寶,網銀或企業郵箱等應用程式,用戶希望為每個獨立應用程式建立一個虛擬機器,每個虛擬機器安裝和運行一套作業系統,並專用於承載某一個應用程式,以實現高安全性要求的應用程式間更好的隔離。
現有技術的不足主要在於:因為許多應用程式並不需要完整作業系統的支援即可運行,所以如果獨立運行各應用程式的各虛擬機器均安裝完整的作業系統將過多的佔用終端資源,造成浪費;並且,為每個獨立應用程式建立一個虛擬機器,需要的使用者操作複雜,普通用戶難以完成。
本發明實施例提出了解決上述問題的技術方案。
在一個方面,本發明實施例提供了一種虛擬機器創建方法,所述方法包括:獲取第一應用程式的第一安裝包;確定所述第一安裝包對應的必要的環境資料,根據所述必要的環境資料編譯得到精簡作業系統;將所述精簡作業系統和所述第一安裝包打包得到虛擬機器安裝包;以及運行所述虛擬機器安裝包創建虛擬機器。
優選的,在所述確定所述第一安裝包對應的必要的環境資料之前,還包括:確定所述第一應用程式的安全級別,以及根據所述第一應用程式的安全級別確定需要為所述第一應用程式創建虛擬機器。
優選的,在所述運行所述虛擬機器安裝包創建虛擬機器之後,還包括:獲取第二安裝包;確定所述第二安裝包與所述第一應用程式的第一安裝包滿足預設條件;以及將所述第二安裝包安裝至所述虛擬機器。
優選的,所述預設條件包括:所述第二安裝包為所述第一應用程式的更新安裝包。
優選的,所述預設條件包括:所述第二安裝包為第二應用程式的安裝包,並且所述第二應用程式的安全級別與所述第一應用程式的安全級別相同。
優選的,所述將所述第二安裝包安裝至所述虛擬機器之前,還包括:確定所述第二安裝包對應的必要的環境資料與所述第一安裝包對應的必要的環境資料相似度超過預設閾值。
在另一個方面,本發明實施例提供了一種虛擬機器創建裝置,所述裝置包括:第一獲取模組,用於獲取第一應用程式的第一安裝包;編譯打包模組,用於確定所述第一安裝包對應的必要的環境資料,根據所述必要的環境資料編譯得到精簡作業系統;將所述精簡作業系統和所述第一安裝包打包得到虛擬機器安裝包;以及創建模組,用於運行所述虛擬機器安裝包創建虛擬機器。
優選的,所述裝置還包括安全模組,所述安全模組,用於在所述編譯打包模組確定所述第一安裝包對應的必要的環境資料之前,確定所述第一應用程式的安全級別,以及根據所述第一應用程式的安全級別確定需要為所述第一應用程式創建虛擬機器。
優選的,所述裝置還包括:第二獲取模組,用於在所述創建模組運行所述虛擬機器安裝包創建虛擬機器之後,獲取第二安裝包;條件確定模組,用於確定所述第二安裝包與所述第一應用程式的第一安裝包滿足預設條件;以及安裝模組,用於在所述條件確定模組確定所述第二安裝包與所述第一應用程式的第一安裝包滿足預設條件後,將所述第二安裝包安裝至所述虛擬機器。
優選的,所述預設條件包括:所述第二安裝包為所述第一應用程式的更新安裝包。
優選的,所述預設條件包括:所述第二安裝包為第二應用程式的安裝包,並且所述第二應用程式的安全級別與所述第一應用程式的安全級別相同。
優選的,所述條件確定模組還用於,在所述安裝模組將所述第二安裝包安裝至所述虛擬機器之前,確定所述第二安裝包對應的必要的環境資料與所述第一安裝包對應的必要的環境資料相似度超過預設閾值。
在又一個方面,本發明實施例提供了一種存儲有電腦程式的電腦可讀存儲介質,當電腦載入所述程式並執行後,可完成如上所述的虛擬機器創建方法。
在再一個方面,本發明實施例提供了一種電腦程式產品,當電腦載入所述電腦程式並執行後,可完成如上所述的虛擬機器創建方法。
本發明的有益效果如下:本發明中獲取第一應用程式的第一安裝包;確定所述第一安裝包對應的必要的環境資料,根據所述必要的環境資料編譯得到精簡作業系統;將所述精簡作業系統和所述第一安裝包打包得到虛擬機器安裝包;運行所述虛擬機器安裝包創建虛擬機器。本發明提供了一種自動創建獨立運行某一應用程式的虛擬機器的方法,並且僅為所述虛擬機器配置其運行的應用程式所需要的精簡操作環境,而不是配置整個作業系統環境,大大節約了終端資源。
為了使本發明的技術方案及優點更加清楚明白,以下結合附圖對本發明的示例性實施例進行進一步詳細的說明,顯然,所描述的實施例僅是本發明的一部分實施例,而不是所有實施例的窮舉。並且在不衝突的情況下,本說明中的實施例及實施例中的特徵可以互相結合。
發明人在發明過程中注意到:在為某一應用程式建立專用於運行該應用程式的虛擬機器時,通常在虛擬機器上運行了完整的作業系統,而因為許多應用程式並不需要完整作業系統的支援即可運行,所以如果獨立運行各應用程式的各虛擬機器均安裝完整的作業系統將過多的佔用終端資源,造成浪費;並且,為每個獨立應用程式建立一個虛擬機器,需要的使用者操作複雜,普通用戶難以完成。
針對上述不足,本發明提出了獲取第一應用程式的第一安裝包;確定所述第一安裝包對應的必要的環境資料,根據所述必要的環境資料編譯得到精簡作業系統;將所述精簡作業系統和所述第一安裝包打包得到虛擬機器安裝包;運行所述虛擬機器安裝包創建虛擬機器。本發明提供了一種自動創建獨立運行某一應用程式的虛擬機器的方法,並且僅為所述虛擬機器配置其運行的應用程式所需要的精簡操作環境,而不是配置整個作業系統環境,大大節約了終端資源,下面進行說明。
為了便於本發明的實施,下面以實例進行說明。
實施例一:
圖2揭示了本發明實施例一中虛擬機器創建方法流程示意圖,如圖2所示,所述虛擬機器創建方法包括:
步驟201、獲取第一應用程式的第一安裝包;
步驟202、確定所述第一應用程式的安全級別,以及根據所述第一應用程式的安全級別確定需要為所述第一應用程式創建虛擬機器;
步驟203、確定所述第一安裝包對應的必要的環境資料,根據所述必要的環境資料編譯得到精簡作業系統;將所述精簡作業系統和所述第一安裝包打包得到虛擬機器安裝包;
步驟204、運行所述虛擬機器安裝包創建虛擬機器。
在步驟201中,本實施例的虛擬機器創建方法用於為所述第一應用程式創建專用於運行該應用程式的虛擬機器,獲取第一應用程式的第一安裝包可以是通過獲取用戶安裝所述第一應用程式的請求,並根據該應用程式安裝請求確定所述第一應用程式的安裝包,再對所述安裝包進行獲取。
在步驟202中,在為所述第一應用程式創建專用於運行該應用程式的虛擬機器前,確定是否需要為該虛擬機器創建專用於運行該應用程式的虛擬機器,因為各應用程式對隔離性的要求不同,針對某些對安全性具有一定要求的應用程式,例如涉及線上支付的應用程式,包括團購應用程式用戶端、打車應用程式用戶端等,或者某些對安全性要求更高的,涉及對用戶銀行卡進行直接、大金額操作的應用程式,包括支付寶或銀行網銀用戶端等,只有對這些安全性要求高的應用程式,才需要創建專用於運行某一應用程式虛擬機器。而對沒有安全性要求的應用程式如音樂、視頻播放程式,新聞資訊流覽應用程式用戶端或字典翻譯應用程式等,可將這些應用程式安裝於一個虛擬機器中,以最大化的節約終端資源。
上述步驟202為可選步驟,增加此步驟後,可僅對安全性要求滿足預設條件的應用程式創建虛擬機器,將對安全性要求不高的應用程式依現有技術統一安裝於現有的虛擬機器的作業系統中,不再為其創建虛擬機器。在盡可能滿足應用程式安全要求的前提下進一步節約終端資源。
步驟203中,解包並掃描所述第一應用程式的安裝包,確定該應用程式運行的作業系統類型(如蘋果作業系統或安卓作業系統等),並確定在該作業系統下運行所述第一應用程式需要調用的必要的環境資料,所述環境資料包括該作業系統下的庫和相關檔等,其中包含了使用者許可權等相關資訊。在提供所述必要的環境資料後,可滿足所述第一應用程式運行過程中對運行環境的需要,並且所述必要的環境資料中不包含某些第一應用程式運行過程中不需要的環境資料。
結合上述環境資料,以及所述第一應用程式對應的作業系統啟動和控制資訊,生成一個用於編譯該作業系統的新設定檔。所述作業系統啟動和控制資訊用於在相應操作環境中啟動作業系統環境並運行所述第一應用程式。根據生成的新設定檔編譯出一個精簡過後的「作業系統」,這個精簡過後的「作業系統」僅包含滿足所述第一應用程式所需的作業系統環境。將編譯好的精簡作業系統與所述第一應用程式打包生成虛擬機器安裝包Image(鏡像檔)。
雖然幾乎所有的應用程式在各種作業系統環境中運行時都需要其對應的「作業系統啟動和控制資訊」的支撐,但不同的應用程式需要調用的環境資料,即「庫和相關檔」差異很大,並且通常小於一個完整的作業系統的全部環境資料。例如一個完整的作業系統可能會佔用幾個GB的記憶體,而針對各應用程式進行精簡的作業系統僅需要佔用幾十或上百MB記憶體,因此依照本方案創建的虛擬機器既能滿足不同應用程式的運行要求,又能大大減少對記憶體的佔用。
在步驟204中,虛擬化層主機(Host)運行所述虛擬機器安裝包鏡像檔後即可直接創建專用於運行上述第一應用程式的虛擬機器,即創建虛擬機器,並在所述虛擬機器配置所述精簡作業系統,並安裝完成所述第一應用程式。
本發明中虛擬機器創建完成後的架構如圖3所示,其將對安全性能要求高的淘寶用戶端應用程式和網銀應用程式單獨安裝於專用於運行所述應用程式的虛擬機器上,並且實現了最小化這些專用於運行所述應用程式的虛擬機器對終端資源的佔用。
本發明提供了一種自動創建獨立運行某一應用程式的虛擬機器的方法,並且僅為所述虛擬機器配置其運行的應用程式所需要的精簡操作環境,而不是配置整個作業系統環境,大大節約了終端資源。
實施例二:
圖4示出了本發明實施例二中虛擬機器創建方法流程示意圖,本實施例二與上述實施例一相似或重複之處可參照上述實施例一的描述。如圖4所示,所述流程包括:
步驟401、獲取第一應用程式的第一安裝包;
步驟402、確定所述第一應用程式的安全級別,以及根據所述第一應用程式的安全級別確定需要為所述第一應用程式創建虛擬機器;
步驟403、確定所述第一安裝包對應的必要的環境資料,根據所述必要的環境資料編譯得到精簡作業系統;將所述精簡作業系統和所述第一安裝包打包得到虛擬機器安裝包;
步驟404、運行所述虛擬機器安裝包創建虛擬機器;
步驟405、獲取第二安裝包;
步驟406、確定所述第二安裝包與所述第一應用程式的第一安裝包滿足預設條件;
步驟407、將所述第二安裝包安裝至所述虛擬機器。
本實施例中的步驟401~404與上述實施例一中的步驟201~204相同,可參考上述相關說明。
本實施例在創建完成專用於運行某一應用程式的虛擬機器後,在步驟405中,獲取第二安裝包,嘗試將該第二安裝包安裝至已有的所述虛擬機器中。
在步驟406中,通常情況下所述第二安裝包會被安裝至運行了多個安全性要求低的應用程式的已有虛擬機器上,或者會依照前述步驟201~204或步驟401~404為所述第二安裝包創建一個新的虛擬機器並安裝所述第二安裝包。如果針對任一個新的安裝包均創建新的虛擬機器,那麼會導致系統中虛擬機器的數量過多,仍然會造成終端資源的浪費。在步驟406中確定所述第二安裝包是否滿足預設條件,對滿足預設條件的第二安裝包,可將其合併安裝於現有的專用於運行某一應用程式的虛擬機器上,以適當減少虛擬機器數量。
優選的,所述預設條件可以為:所述第二安裝包為所述第一應用程式的更新安裝包。
因為程式進行更新後其對安全性的要求通常會保持不變,並且作業系統相同,所需的環境資料也基本相同或略有增加,因此當已經為某一應用程式創建了專用於運行該應用程式的虛擬機器後,又獲取到所述應用程式的更新安裝包後,沒有必要為所述升級安裝包創建獨立的虛擬機器,而應當將更新安裝包安裝至已有的與所述更新安裝包對應的應用程式的虛擬機器中,避免為更新安裝包創建新的虛擬機器,佔用終端資源。
優選的,所述預設條件可以為:所述第二安裝包為第二應用程式的安裝包,並且所述第二應用程式的安全級別與所述第一應用程式的安全級別相同。
因為某些相似的應用程式會具有相同的安全性要求,對這些應用程式來說更重要的是將其與普通應用程式隔離,而不是安全應用程式之間相互隔離,因此可以考慮將安全級別相同的應用程式均安裝至一個新創建的虛擬機器。以圖3的架構為例,在現有的虛擬化架構中已經為淘寶用戶端應用程式和網銀應用程式創建了獨立的虛擬機器的情況下,若使用者需要安裝天貓用戶端應用(天貓用戶端應用程式與淘寶用戶端應用程式為阿里巴巴公司開發的功能相似的兩款電商應用程式,其均涉及使用者的帳戶和支付資訊,可認為二者安全級別相同),則在確定了所述天貓用戶端應用程式的安全級別與已有的淘寶用戶端應用程式的安全級別相同之後,確定所述天貓用戶端應用程式安裝包滿足所述預設條件,可將所述天貓用戶端應用程式安裝至已有的專用於運行淘寶用戶端應用程式的虛擬機器,避免大量創建虛擬機器佔用終端資源。
優選的,在所述第二安裝包為第二應用程式的安裝包時,所述預設條件可以包括:確定所述第二安裝包對應的必要的環境資料與所述第一安裝包對應的必要的環境資料相似度超過預設閾值。
在考慮將某些具有相同安全級別的應用程式安裝至一個虛擬機器時,還需要進一步考慮各應用程式需要調用的環境資料是否相同或相似,當各應用程式需要的環境資料有較大區別時,能夠同時運行這些應用程式的虛擬機器將包含大量環境資料,甚至與安裝了一個完整的作業系統相同,一方面不能較好的實現相同安全級別的應用程式間的隔離,一方面不能最小化虛擬機器佔用的記憶體。因此只有在第二安裝包對應的必要的環境資料與所述第一應用程式的第一安裝包對應的必要的環境資料相似度超過預設閾值時才將所述第二安裝包安裝於已有的專用於運行所述第一應用程式的虛擬機器,所述環境資料相似度超過預設閾值包括:所述第二安裝包對應的必要的環境資料少於所述第一應用程式的第一安裝包對應的必要的環境資料,或者所述第二安裝包對應的必要的環境資料與所述第一應用程式的第一安裝包對應的必要的環境資料相同,或者所述第二安裝包對應的必要的環境資料中與所述第一應用程式的第一安裝包對應的必要的環境資料相同的部分所佔記憶體的大小,佔所述第二安裝包對應的必要的環境資料所佔記憶體的總量的比值超過預設比值(例如90%)。
也即如果兩個應用程式需要的環境資料差別較大,那麼即便兩個應用程式的安全級別相同,在後的應用程式也不應當安裝至專用於運行在先的應用程式的虛擬機器上。
例如天貓用戶端應用程式與淘寶用戶端應用程式需要的環境資料完全相同,因此可利用天貓用戶端應用程式的安裝包將天貓用戶端應用程式安裝至已有的專用於運行淘寶用戶端應用程式的虛擬機器上。閑魚用戶端應用程式(閑魚用戶端應用程式與淘寶用戶端應用程式和天貓用戶端應用程式類似,為阿里巴巴公司開發的功能相似的電商應用程式,其同樣涉及使用者的帳戶和支付資訊,可認為閑魚用戶端應用程式與所述淘寶用戶端應用程式或天貓用戶端應用程式安全級別相同)需要的環境資料少於等於淘寶用戶端應用程式,因此可以將其安裝於已有的專用於運行淘寶用戶端應用程式的虛擬機器上。最終原專用於運行淘寶應用程式用戶端的虛擬機器上可能運行了淘寶應用程式用戶端和天貓應用程式用戶端和閑魚用戶端應用程式,還可以進一步安裝滿足上述條件的其他應用程式。
在步驟407中,將滿足上述預設條件的第二安裝包安裝至所述虛擬機器。
在所述第二安裝包為所述第一應用程式的更新安裝包的情況下,該應用程式更新升級過程中可能需要增添新的功能,因此掃描所述更新安裝包,將更新安裝包需要的必要的環境資料與已有的專用於運行所述第一應用程式的虛擬機器支援的環境資料進行比較,確定需要新增或改變的功能對應的需要調用的 環境資料,將所述環境資料和所述第一應用程式更新後的作業系統啟動和控制資訊重新編譯,以擴展應用程式的形式連同第二安裝包一同安裝至已有的專用於運行所述第一應用程式的虛擬機器。所述虛擬機器需要更新其支援的環境資料的清單,並更新所述第一應用程式的作業系統啟動和控制資訊。
例如用戶之前安裝的淘寶用戶端應用程式不具有掃碼找商品的功能,新版淘寶用戶端應用程式可以調用攝像頭掃描獲取商品的二維碼和條碼資訊,則在原專用於運行淘寶用戶端應用程式的虛擬機器上需要增加作業系統中攝像頭調用需要的環境資料,並更新新版淘寶用戶端應用程式對應的作業系統啟動和控制資訊。
在所述第二安裝包為所述第二應用程式的安裝包的情況下,若所述第二安裝包對應的必要的環境資料少於所述第一應用程式的第一安裝包對應的必要的環境資料,或者所述第二安裝包對應的必要的環境資料與所述第一應用程式的第一安裝包對應的必要的環境資料相同,則無需添加新的環境資料,將所述第二應用程式直接安裝於已有的專用於運行所述第一應用程式的虛擬機器中,並在所述虛擬機器中同時添加所述第二應用程式對應的作業系統啟動和控制資訊即可。
例如用戶已創建了專用於運行淘寶用戶端應用程式的虛擬機器,之後需要安裝天貓用戶端應用程式,Host判斷天貓用戶端應用程式的安全級別與淘寶用戶端應用程式相同,並且二者均運行於同樣的作業系統(如安卓),同時二者需要調用的作業系統中的環境資料完全相同,則將天貓用戶端應用程式直接安裝於已有的專用於運行淘寶用戶端應用程式的虛擬機器中,並在虛擬機器中同時添加天貓用戶端應用程式對應的作業系統啟動和控制資訊。
若所述第二安裝包對應的必要的環境資料中與所述第一應用程式的第一安裝包對應的必要的環境資料相同的部分所佔記憶體的大小佔所述第二安裝包對應的必要的環境資料所佔記憶體的總量的比值超過預設比值(例如90%),即所述第二應用程式需要的環境資料中可能有部分與第一應用程式不同,在將所述第二應用程式安裝至已有的專用於運行所述第一應用程式的虛擬機器時,除需要添加所述第二應用程式對應的作業系統啟動和控制資訊外,還需要添加所述第二應用程式額外需要的與所述第一應用程式不同的環境資料。
例如使用者先創建了專用於運行房屋交易類應用程式的虛擬機器,這些應用程式與電商購物類應用程式相似只是不涉及實際的支付功能,所以其涉及的的作業系統中環境資料會略少於淘寶用戶端應用程式或天貓用戶端應用程式。那麼此時若用戶發起安裝淘寶用戶端應用程式的請求,Host判斷淘寶用戶端應用程式的安全級別與運行獨立虛擬機器的所述房屋交易類應用程式相同,並且雖然淘寶用戶端應用程式所需的環境資料略多於所述房屋交易類應用程式,但是涉及的環境參數的相似度超過某一閾值(例如90%的環境參數均相同),則Host在將淘寶用戶端應用程式安裝至所述虛擬機器的同時,補充淘寶用戶端應用程式需要額外調用的與房屋交易類APP不同的環境資料,以及淘寶用戶端應用程式的作業系統啟動和控制資訊,安裝成功後,更新所述虛擬機器環境資料的清單。
本發明提供了一種自動創建獨立運行某一應用程式的虛擬機器的方法,並且僅為所述虛擬機器配置其運行的應用程式所需要的精簡操作環境,而不是配置整個作業系統環境,大大節約了終端資源。同時,在已有專用於運行某一應用程式的虛擬機器的情況下,能夠根據實際情況在所述虛擬機器上進一步安裝所述應用程式的更新安裝包或其他應用程式以實現終端資源的最優利用。
實施例三:
基於同一發明構思,本發明實施例中還提供了一種虛擬機器創建裝置,由於這些設備解決問題的原理與一種虛擬機器創建方法相似,因此這些設備的實施可以參見方法的實施,重複之處不再贅述。圖5示出了本發明實施例三中虛擬機器創建裝置的結構示意圖,如圖所示,所述虛擬機器創建裝置500包括:
第一獲取模組501,用於獲取第一應用程式的第一安裝包;
編譯打包模組503,用於確定所述第一安裝包對應的必要的環境資料,根據所述必要的環境資料編譯得到精簡作業系統;將所述精簡作業系統和所述第一安裝包打包得到虛擬機器安裝包;
創建模組504,用於運行所述虛擬機器安裝包創建虛擬機器。
優選的,所述裝置500還包括安全模組502,所述安全模組502,用於在所述編譯打包模組503確定所述第一安裝包對應的必要的環境資料之前,確定所述第一應用程式的安全級別,以及根據所述第一應用程式的安全級別確定需要為所述第一應用程式創建虛擬機器。
優選的,所述裝置500還包括:
第二獲取模組505,用於在所述創建模組504運行所述虛擬機器安裝包創建虛擬機器之後,獲取第二安裝包;
條件確定模組506,用於確定所述第二安裝包與所述第一應用程式的第一安裝包滿足預設條件;
安裝模組507,用於在所述條件確定模組506確定所述第二安裝包與所述第一應用程式的第一安裝包滿足預設條件後,將所述第二安裝包安裝至所述虛擬機器。
優選的,所述預設條件包括:所述第二安裝包為所述第一應用程式的更新安裝包。
優選的,所述預設條件包括:所述第二安裝包為第二應用程式的安裝包,並且所述第二應用程式的安全級別與所述第一應用程式的安全級別相同。
優選的,所述條件確定模組506還用於,在所述安裝模組將所述第二安裝包安裝至所述虛擬機器之前,確定所述第二安裝包對應的必要的環境資料與所述第一安裝包對應的必要的環境資料相似度超過預設閾值。
為了描述的方便,以上所述裝置的各部分以功能分為各種模組分別描述。當然,在實施本發明時可以把各模組或單元的功能在同一個或多個軟體或硬體中實現。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用存儲介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得存儲在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
儘管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附申請專利範圍意欲解釋為包括優選實施例以及落入本發明範圍的所有變更和修改。
201~204、401~407‧‧‧步驟500‧‧‧虛擬機器創建裝置501‧‧‧第一獲取模組502‧‧‧安全模組503‧‧‧編譯打包模組504‧‧‧創建模組505‧‧‧第二獲取模組506‧‧‧條件確定模組507‧‧‧安裝模組
下面將參照附圖描述本發明的具體實施例,其中: 圖1示出了現有技術中虛擬機器方案架構示意圖; 圖2示出了本發明實施例一中虛擬機器創建方法的流程示意圖; 圖3示出了本發明實施例一中虛擬機器方案架構示意圖; 圖4示出了本發明實施例二中虛擬機器創建方法的流程示意圖; 圖5示出了本發明實施例三中虛擬機器創建裝置的結構示意圖。
201~204‧‧‧步驟

Claims (8)

  1. 一種虛擬機器創建方法,所述方法包括:獲取第一應用程式的第一安裝包;確定所述第一安裝包對應的必要的環境資料,根據所述必要的環境資料編譯得到精簡作業系統;將所述精簡作業系統和所述第一安裝包打包得到虛擬機器安裝包;以及運行所述虛擬機器安裝包創建虛擬機器;其中,在所述確定所述第一安裝包對應的必要的環境資料之前,還包括:確定所述第一應用程式的安全級別,以及根據所述第一應用程式的安全級別確定需要為所述第一應用程式創建虛擬機器;其中,在所述運行所述虛擬機器安裝包創建虛擬機器之後,還包括:獲取第二安裝包;確定所述第二安裝包與所述第一應用程式的第一安裝包滿足預設條件;以及將所述第二安裝包安裝至所述虛擬機器;其中,所述預設條件包括:所述第二安裝包為第二應用程式的安裝包,並且所述第二應用程式的安全級別與所述第一應用程式的安全級別相同。
  2. 如請求項1所述的虛擬機器創建方法,其中,所述預設條件包括:所述第二安裝包為所述第一應用程式的更新安裝包。
  3. 如請求項1所述的虛擬機器創建方法,其中,所述將所述第二安裝包安裝至所述虛擬機器之前,還包括:確定所述第二安裝包對應的必要的環境資料與所述第一安裝包對應的必要的環境資料相似度超過預設閾值。
  4. 一種虛擬機器創建裝置,包括:第一獲取模組,用於獲取第一應用程式的第一安裝包;編譯打包模組,用於確定所述第一安裝包對應的必要的環境資料,根據所述必要的環境資料編譯得到精簡作業系統;將所述精簡作業系統和所述第一安裝包打包得到虛擬機器安裝包;創建模組,用於運行所述虛擬機器安裝包創建虛擬機器;安全模組,用於在所述編譯打包模組確定所述第一安裝包對應的必要的環境資料之前,確定所述第一應用程式的安全級別,以及根據所述第一應用程式的安全級別確定需要為所述第一應用程式創建虛擬機器;第二獲取模組,用於在所述創建模組運行所述虛擬機器安裝包創建虛擬機器之後,獲取第二安裝包;條件確定模組,用於確定所述第二安裝包與所述第一應用程式的第一安裝包滿足預設條件;以及安裝模組,用於在所述條件確定模組確定所述第二安裝包與所述第一應用程式的第一安裝包滿足預設條件後,將所述第二安裝包安裝至所述虛擬機器;其中,所述預設條件包括:所述第二安裝包為第二應用程式的安裝包,並且所述第二應用程式的安全級別與所述第一應用程式的安全級別相同。
  5. 如請求項4所述的虛擬機器創建裝置,其中,所述預設條件包括:所述第二安裝包為所述第一應用程式的更新安裝包。
  6. 如請求項4所述的虛擬機器創建裝置,其中,所述條件確定模組還用於,在所述安裝模組將所述第二安裝包安裝至所述虛擬機器之前,確定所述第二安裝包對應的必要的環境資料與所述第一安裝包對應的必要的環境資料相似度超過預設閾值。
  7. 一種存儲有電腦程式的電腦可讀存儲介質,當電腦載入所述電腦程式並執行後,可完成如請求項1~3任意一項所述的虛擬機器創建方法。
  8. 一種電腦程式產品,當電腦載入所述電腦程式產品並執行後,可完成如請求項1~3任意一項所述的虛擬機器創建方法。
TW106113652A 2016-04-25 2017-04-24 虛擬機器創建方法和裝置 TWI715762B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
WOPCT/CN2016/080128 2016-04-25
PCT/CN2016/080128 WO2017185204A1 (zh) 2016-04-25 2016-04-25 一种虚拟机创建方法和装置

Publications (2)

Publication Number Publication Date
TW201738741A TW201738741A (zh) 2017-11-01
TWI715762B true TWI715762B (zh) 2021-01-11

Family

ID=59623818

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106113652A TWI715762B (zh) 2016-04-25 2017-04-24 虛擬機器創建方法和裝置

Country Status (6)

Country Link
US (1) US10095870B2 (zh)
EP (1) EP3270320B1 (zh)
JP (1) JP6412276B2 (zh)
CN (1) CN107077379B (zh)
TW (1) TWI715762B (zh)
WO (1) WO2017185204A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9110699B2 (en) * 2013-09-19 2015-08-18 International Business Machines Corporation Determining optimal methods for creating virtual machines
TWI658401B (zh) * 2017-11-14 2019-05-01 財團法人工業技術研究院 基於虛擬化行動架構之行動通訊裝置及其相關輸入法切換方法
CN108762885B (zh) * 2018-04-27 2023-01-20 北京奇艺世纪科技有限公司 一种虚拟机创建方法、装置、管理设备及终端设备
CN109739518B (zh) * 2018-12-25 2021-05-28 杭州数梦工场科技有限公司 生成离线软件资源的方法及装置
CN113760439A (zh) * 2020-06-01 2021-12-07 中移(苏州)软件技术有限公司 一种虚拟机网络管理方法、装置、设备及存储介质
CN114968278A (zh) * 2021-02-24 2022-08-30 Oppo广东移动通信有限公司 应用程序的安装方法和装置、电子设备、可读存储介质
US11907747B2 (en) * 2021-03-11 2024-02-20 EMC IP Holding Company LLC Method for deploying product applications within virtual machines onto on-premises and public cloud infrastructures
CN114625487B (zh) * 2022-05-16 2022-09-09 浙江毫微米科技有限公司 在元宇宙中运行应用程序的方法、系统、设备及存储介质
CN116450184B (zh) * 2023-06-09 2023-10-13 联宝(合肥)电子科技有限公司 一种系统升级方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110035747A1 (en) * 2008-03-07 2011-02-10 Fumio Machida Virtual machine package generation system, virtual machine package generation method, and virtual machine package generation program
US20110126197A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
TW201419147A (zh) * 2012-11-02 2014-05-16 Chidopi Co Ltd 應用程式自動產生系統及方法,及其電腦程式產品
TW201428624A (zh) * 2012-12-10 2014-07-16 Bjorn Danielsson 規則式資料處理系統及方法
TW201519094A (zh) * 2013-11-08 2015-05-16 Ind Tech Res Inst 建立原生運算系統之系統與方法
TWI530816B (zh) * 2013-12-04 2016-04-21 騰訊科技(深圳)有限公司 一種檔案加殼及脫殼的方法、裝置及系統

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040123152A1 (en) * 2002-12-18 2004-06-24 Eric Le Saint Uniform framework for security tokens
US7519814B2 (en) * 2003-09-15 2009-04-14 Trigence Corp. System for containerization of application sets
US20050283622A1 (en) * 2004-06-17 2005-12-22 International Business Machines Corporation System for managing security index scores
US20060031830A1 (en) * 2004-08-03 2006-02-09 International Business Machines Corp. System with location-sensitive software installation method
US8578363B2 (en) * 2006-05-03 2013-11-05 Microsoft Corporation Differentiated installable packages
WO2008014800A1 (en) * 2006-07-31 2008-02-07 Telecom Italia S.P.A. A system for implementing security on telecommunications terminals
US8230415B1 (en) * 2007-03-13 2012-07-24 Juniper Networks, Inc. On-demand advertising of software packages
US8464245B2 (en) * 2007-06-27 2013-06-11 Flexera Software Llc Method and system for software virtualization directly from an installation package
US8667482B2 (en) * 2007-08-10 2014-03-04 Microsoft Corporation Automated application modeling for application virtualization
US9323519B2 (en) * 2007-08-31 2016-04-26 Red Hat, Inc. Packaging an application
US20090217259A1 (en) * 2008-02-26 2009-08-27 Microsoft Corporation Building Operating System Images Based on Applications
US9086901B2 (en) * 2008-03-07 2015-07-21 Sap Se Migration of applications from physical machines to virtual machines
EP2274674A1 (en) * 2008-04-25 2011-01-19 VMWare, Inc. Linking virtualized application namespaces at runtime
US8862633B2 (en) * 2008-05-30 2014-10-14 Novell, Inc. System and method for efficiently building virtual appliances in a hosted environment
US8694989B1 (en) * 2008-07-17 2014-04-08 Apple Inc. Virtual installation environment
US8572580B2 (en) * 2008-07-28 2013-10-29 Microsoft Corporation Computer application packages with customizations
CN101655798B (zh) * 2008-08-18 2013-03-27 联想(北京)有限公司 一种虚拟机环境中应用程序部署和运行的装置及方法
GB2466220A (en) * 2008-12-12 2010-06-16 Symbian Software Ltd Installing or uninstalling computer programs using installer plug-in modules
US10698923B2 (en) * 2009-06-11 2020-06-30 Talari Networks, Inc. Methods and apparatus for providing adaptive private network database schema migration and management processes
JP2011218049A (ja) * 2010-04-13 2011-11-04 Hitachi Aloka Medical Ltd 超音波診断装置
US8627426B2 (en) * 2010-04-26 2014-01-07 Vmware, Inc. Cloud platform architecture
US8555377B2 (en) * 2010-04-29 2013-10-08 High Cloud Security Secure virtual machine
US20120137369A1 (en) * 2010-11-29 2012-05-31 Infosec Co., Ltd. Mobile terminal with security functionality and method of implementing the same
JP5681465B2 (ja) * 2010-12-02 2015-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理システム、情報処理装置、準備方法、プログラムおよび記録媒体
US20120246634A1 (en) * 2011-03-23 2012-09-27 Dell Products L.P. Portable virtual applications
US8862741B1 (en) * 2011-06-23 2014-10-14 Amazon Technologies, Inc. Layered machine images
FR2977116A1 (fr) * 2011-06-27 2012-12-28 France Telecom Procede de fourniture de service d'execution de logiciel a la demande
US9519472B2 (en) * 2011-11-23 2016-12-13 Red Hat, Inc. Automation of virtual machine installation by splitting an installation into a minimal installation and customization
US9047133B2 (en) * 2012-03-02 2015-06-02 Vmware, Inc. Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment
US9052961B2 (en) * 2012-03-02 2015-06-09 Vmware, Inc. System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint
US9571332B2 (en) * 2012-04-17 2017-02-14 Adara Networks, Inc. Methods and apparatuses for remote application provisioning automation over virtualized IT infrastructure
JP6132605B2 (ja) * 2012-04-26 2017-05-24 キヤノン株式会社 情報処理装置、及びその制御方法
US9003406B1 (en) * 2012-06-29 2015-04-07 Emc Corporation Environment-driven application deployment in a virtual infrastructure
US9348652B2 (en) * 2012-07-02 2016-05-24 Vmware, Inc. Multi-tenant-cloud-aggregation and application-support system
US10754699B2 (en) * 2012-08-05 2020-08-25 International Business Machines Corporation Remote provisioning of virtual appliances for access to virtualized storage
US10203972B2 (en) * 2012-08-27 2019-02-12 Vmware, Inc. Framework for networking and security services in virtual networks
CN103716347B (zh) * 2012-09-29 2017-06-23 国际商业机器公司 建立虚拟机的方法、装置和云服务器
US9189285B2 (en) * 2012-12-14 2015-11-17 Microsoft Technology Licensing, Llc Scalable services deployment
CN103092650B (zh) * 2013-01-09 2015-11-18 华中科技大学 云环境下基于软件预安装的虚拟机镜像生成方法和系统
GB2516842A (en) * 2013-07-31 2015-02-11 Ibm Deployment of software images with distinct configuration logic
CN103440132A (zh) * 2013-08-24 2013-12-11 广东新支点技术服务有限公司 一种易于定制及扩展的Linux操作系统定制方法
GB2519114A (en) * 2013-10-10 2015-04-15 Ibm Distribution of a service implemented by intra-connected virtual machines
CN104572154A (zh) * 2013-10-23 2015-04-29 北京天地超云科技有限公司 一种针对rhel操作系统与应用的快速部署方法
KR20130126569A (ko) * 2013-10-24 2013-11-20 삼성에스디에스 주식회사 커넥터 어플리케이션의 자동화 배포를 위한 멀티 테넌트 SaaS 플랫폼 및 그를 위한 방법, 그리고, 가상머신을 이용하는 테넌트와 서비스 공급업체
CN103778368A (zh) * 2014-01-23 2014-05-07 重庆邮电大学 一种基于系统虚拟化技术的进程安全隔离方法
US20150269029A1 (en) * 2014-03-20 2015-09-24 Unitrends, Inc. Immediate Recovery of an Application from File Based Backups
US9747091B1 (en) * 2014-03-31 2017-08-29 Amazon Technologies, Inc. Isolated software installation
US8990809B1 (en) * 2014-06-23 2015-03-24 Flexera Software Llc Creating a virtual appliance using existing installation manifest
WO2016046222A1 (en) * 2014-09-26 2016-03-31 British Telecommunications Public Limited Company Secure virtualised data volumes
US9965307B2 (en) * 2014-10-06 2018-05-08 Vmware, Inc. Building virtual appliances
US10071333B2 (en) 2014-10-07 2018-09-11 Honeywell International Inc. Gas separation cartridge
CN107430669B (zh) * 2014-12-02 2021-07-30 邦克沃特有限公司 计算系统和方法
US9747136B2 (en) * 2014-12-09 2017-08-29 Vmware, Inc. Methods and systems that allocate cost of cluster resources in virtual data centers
US9619270B2 (en) * 2015-06-27 2017-04-11 Vmware, Inc. Remote-direct-memory-access-based virtual machine live migration
US10243815B2 (en) * 2015-06-29 2019-03-26 Vmware, Inc. Methods and systems to evaluate data center resource allocation costs
US10147110B2 (en) * 2015-06-29 2018-12-04 Vmware, Inc. Methods and systems to evaluate cost driver and virtual data center costs
US9619261B2 (en) * 2015-06-29 2017-04-11 Vmware, Inc. Method and system for anticipating demand for a computational resource by containers running above guest operating systems within a distributed, virtualized computer system
US10031768B2 (en) * 2015-06-30 2018-07-24 Vmware, Inc. Host-gateway-facilitated aggregation of host-computer clusters
US9910657B2 (en) * 2015-09-16 2018-03-06 International Business Machines Corporation Installing software where operating system prerequisites are unmet
US9672074B2 (en) * 2015-10-19 2017-06-06 Vmware, Inc. Methods and systems to determine and improve cost efficiency of virtual machines
US11263006B2 (en) * 2015-11-24 2022-03-01 Vmware, Inc. Methods and apparatus to deploy workload domains in virtual server racks
US10313479B2 (en) * 2015-11-24 2019-06-04 Vmware, Inc. Methods and apparatus to manage workload domains in virtual server racks
CN105320546B (zh) * 2015-11-27 2018-09-11 北京指掌易科技有限公司 一种利用高效虚拟机技术管理Android应用软件的方法
US20170161101A1 (en) * 2015-12-04 2017-06-08 Vmware, Inc. Modularized automated-application-release-management subsystem
US11265202B2 (en) * 2015-12-04 2022-03-01 Vmware, Inc. Integrated automated application deployment
US20170161057A1 (en) * 2015-12-04 2017-06-08 Vmware, Inc. Plug-in-based artifact-management subsystem
US10157044B2 (en) * 2015-12-04 2018-12-18 Vmware, Inc. Automated application-release-management subsystem
US10116675B2 (en) * 2015-12-08 2018-10-30 Vmware, Inc. Methods and systems to detect anomalies in computer system behavior based on log-file sampling
US9916092B2 (en) * 2015-12-09 2018-03-13 Vmware, Inc. Methods and systems to allocate physical data-storage costs to logical disks
US10992739B2 (en) * 2016-01-25 2021-04-27 Vmware, Inc. Integrated application-aware load balancer incorporated within a distributed-service-application-controlled distributed computer system
US10320891B2 (en) * 2016-01-25 2019-06-11 Vmware, Inc. Node selection for message redistribution in an integrated application-aware load balancer incorporated within a distributed-service-application-controlled distributed computer system
US10255092B2 (en) * 2016-02-09 2019-04-09 Airwatch Llc Managed virtual machine deployment
JP6700848B2 (ja) * 2016-02-23 2020-05-27 キヤノン株式会社 管理システム、制御方法
US10671951B2 (en) * 2016-03-21 2020-06-02 Vmware, Inc. Methods and systems to determine container costs and attribute container costs to applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110035747A1 (en) * 2008-03-07 2011-02-10 Fumio Machida Virtual machine package generation system, virtual machine package generation method, and virtual machine package generation program
US20110126197A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
TW201419147A (zh) * 2012-11-02 2014-05-16 Chidopi Co Ltd 應用程式自動產生系統及方法,及其電腦程式產品
TW201428624A (zh) * 2012-12-10 2014-07-16 Bjorn Danielsson 規則式資料處理系統及方法
TW201519094A (zh) * 2013-11-08 2015-05-16 Ind Tech Res Inst 建立原生運算系統之系統與方法
TWI530816B (zh) * 2013-12-04 2016-04-21 騰訊科技(深圳)有限公司 一種檔案加殼及脫殼的方法、裝置及系統

Also Published As

Publication number Publication date
WO2017185204A1 (zh) 2017-11-02
US10095870B2 (en) 2018-10-09
CN107077379B (zh) 2019-03-15
EP3270320A4 (en) 2018-05-09
CN107077379A (zh) 2017-08-18
US20170323105A1 (en) 2017-11-09
TW201738741A (zh) 2017-11-01
JP6412276B2 (ja) 2018-10-24
JP2018522296A (ja) 2018-08-09
EP3270320A1 (en) 2018-01-17
EP3270320B1 (en) 2020-04-01

Similar Documents

Publication Publication Date Title
TWI715762B (zh) 虛擬機器創建方法和裝置
US9983891B1 (en) Systems and methods for distributing configuration templates with application containers
US10846101B2 (en) Method and system for starting up application
KR101928127B1 (ko) 애플리케이션용 선택적 파일 액세스 기법
US9747438B2 (en) Enabling resource access for secure application containers
US7844960B2 (en) Optimizing software program execution during class loading phase
WO2018099292A1 (zh) 一种进程管理方法及装置
JP2015531502A (ja) アプリケーション用の中間言語コードからネイティブコードを生成すること
JP2016515748A (ja) 実行時のアプリケーションメソッドを置き換えるためのシステム及び方法
CN109951553B (zh) 数据处理方法、系统、电子设备以及计算机可读存储介质
US20220019417A1 (en) Fast compiling source code without dependencies
WO2023213263A1 (zh) 程序编译和启动方法、设备及存储介质
US20180203726A1 (en) Virtual machine migration method and apparatus
US8516455B2 (en) Dynamic loading of kernel extensions
US9659156B1 (en) Systems and methods for protecting virtual machine program code
CN103902890A (zh) 一种Android程序行为的监控方法及监控系统
CN105677481B (zh) 一种数据处理方法、系统及电子设备
CN103902300A (zh) 一种Android模拟器快速安装APK程序的方法及系统
US11748084B2 (en) Ultra-fast install of computer system software
CN109271179B (zh) 虚拟机应用程序管理方法、装置、设备及可读存储介质
US9928090B2 (en) Method for processing dynamic language and electronic device using the same
EP4213016A1 (en) Cloud platform and cloud platform-based program code processing method
CN107784204B (zh) 应用脱壳方法和装置
US20210406029A1 (en) Programming language trigger mechanisms for parallel asynchronous enumerations
US10628441B1 (en) System and method for selective storage transformation