本申請實施例公開了一種虛擬機調度和執行部署過程中的資源預處理方法及系統。該方法包括:虛擬機調度過程和虛擬機執行部署過程,虛擬機調度過程包括:接收用戶提交的當前虛擬機的部署請求,依據各候選物理服務器的初始資源邏輯值將所述當前虛擬機的部署請求分發至目標物理服務器,并在所述目標物理服務器的虛擬機部署隊列中添加所述當前虛擬機的部署請求;依據所述當前虛擬機消耗的內存和硬盤資源更新所述目標物理服務器的初始資源邏輯值。本申請實施例可以通過資源實際值追蹤和記錄物理服務器的可用資源,又通過資源邏輯值為虛擬機調度決策提供準確的數據支持。
【技術實現步驟摘要】
本申請涉及云計算領域,特別涉及一種云計算系統中虛擬機調度和執行部署過程中的資源預處理方法及系統。
技術介紹
云計算(cloud computing)是基于互聯網的相關服務的增加、使用和交付模式,通常涉及通過互聯網來提供動態易擴展且經常是虛擬化的資源。云計算系統中,云計算系統在進行虛擬機調度時,將用戶提交的虛擬機部署操作分發給具體的物理服務器執行,新生成的虛擬機將消耗該物理服務器上的內存、硬盤等資源,調度的目標是使得虛擬機運行的物理服務器環境至少能滿足其需求,并且使得物理服務器集群中資源得到均衡使用。其中,調度決策單元和部署執行單元是緊密相連的順序進行虛擬機部署的兩個功能單元。對于 用戶提交的虛擬機部署請求,首先由調度決策單元確定承擔該虛擬機部署操作的物理服務器,再由部署執行單元在該物理服務器上執行部署的腳本。但是兩個單元的時間效率相差很大,前者耗時相對較短,而后者是耗時相當長的操作。但是在云計算系統中,虛擬機調度決策的過程相對虛擬機部署執行過程要快很多,因此兩者在同時發生的情況下,就會出現部署操作失敗的問題。例如,虛擬機部署請求A和B同時發送給虛擬機調度模塊,該模塊處理A的結果是有2臺虛擬機部署請求發送給物理服務器S,在接著處理請求B的過程中,判斷物理服務器S是否資源夠用時,假如以其實際資源進行比較,實際上物理服務器S上正在或即將部署的2臺虛擬機占用的資源還未在實際資源扣除,導致的結果是虛擬機部署過程中發現物理服務器S上的資源不夠使用,部署操作失敗。因此資源預分配可以理解為一旦調度決策虛擬機部署在物理服務器S上,就應該將其資源減去此虛擬機消耗的資源,這個過程和其實際資源的變化過程是異步發生的。現有技術中采用一個字段存儲物理服務器當前可用的資源值(包括硬盤和內存兩個參數),物理服務器注冊入云計算系統時,該字段的值為當前資源實際值。當有虛擬機部署任務被分配給該物理服務器時,將該字段的值減去該虛擬機配置文件中規定的資源參數,部署操作完成后,如果該物理服務器的虛擬機部署隊列為空,通過命令方式掃描物理服務器,用掃描到的實際值更新該字段的值;否則不掃描和更新該字段。后續運行過程中,當一個虛擬機刪除操作完成時,如果該物理服務器的部署隊列為空,通過命令方式掃描該物理服務器,再用掃描到的實際值更新該字段的值;否則在該字段上回收被刪除虛擬機占用的資源。但是專利技術人在研究過程中發現,采用現有技術采用一個字段的方案,當不同用戶提交的任務在執行過程中同時操作該字段時,對該字段的訪問是同時進行的,也就是說系統必須提供一套完備的機制,保證該字段值在不同線程之間的一致性。這就存在以下兩個方面的問題第一個方面為資源數據的準確性如果當前服務器中虛擬機部署隊列非空時,任意虛擬機部署操作或虛擬機刪除操作執行完畢后,均只能通過參考該虛擬機配置文件中的資源使用參數,從邏輯上減去或回收這部分的值,這和實際的資源數值有或大或小的偏差,當這些偏差累積到一定階段時,如果虛擬機部署隊列始終為非空狀態,和資源實際情況會有較大的出入,影響調度決策的準確性。第二個方面為資源數據的并發性和維護成本維護一個字段值的一致性的模型開銷相對較大,同一時間內對該字段值的修改表面為并發性的,實際任意時間內對該字段值的修改線程均只有一個,出現資源競爭的概率會較大。
技術實現思路
為解決上述技術問題,本申請實施例提供了一種虛擬機調度和執行部署過程中的資源預處理方法及其相應系統,既能實現資源預分配,又能體提高資源數據的準確性,且降低出現資源競爭的概率。本申請實施例提供的虛擬機調度和執行部署過程中的資源預處理方法包括一種虛擬機調度和執行部署過程中的資源預處理方法,其特征在于,采用資源邏輯值表示各候選物理服務器的邏輯可用的內存和硬盤資源,采用資源實際值表示各候選物·理服務器的實際可用的內存和硬盤資源;所述方法包括虛擬機調度過程和虛擬機執行過程,其中,所述虛擬機調度過程包括接收用戶提交的當前虛擬機的部署請求,依據各候選物理服務器的初始資源邏輯值將所述當前虛擬機的部署請求分發至目標物理服務器,并在所述目標物理服務器的虛擬機部署隊列中添加所述當前虛擬機的部署請求;依據所述當前虛擬機消耗的內存和硬盤資源更新所述目標物理服務器的初始資源邏輯值;所述虛擬機執行部署過程包括從目標物理服務器中的虛擬機部署隊列中按照順序獲取待處理的虛擬機部署請求;當所述待處理的虛擬機的部署請求執行完畢后,依據所述虛擬機所消耗的內存和硬盤資源更新所述目標物理服務器的部署資源實際值;依據更新后的部署資源實際值更新所述目標物理服務器的部署資源邏輯值;刪除所述虛擬機部署隊列中所述待處理的虛擬機的部署請求。優選的,所述依據更新后的部署資源實際值更新所述目標物理服務器的部署資源邏輯值,包括判斷所述待處理的虛擬機的部署請求是否執行成功,如果是,則將所述部署資源邏輯值同步為更新后的部署資源實際值;如果否,則回收所述目標物理服務器中已經分配給所述虛擬機的內存和硬盤資源。優選的,還包括虛擬機刪除過程,所述虛擬機刪除過程包括從目標物理服務器的虛擬機刪除隊列中獲取待處理的虛擬機刪除請求;當所述虛擬機的刪除腳本執行成功后,依據刪除的虛擬機所占用的內存和硬盤資源更新所述目標物理服務器的刪除資源實際值;依據更新后的刪除資源實際值更新所述目標物理服務器的刪除資源邏輯值;在所述虛擬機刪除隊列中刪除所述待處理的虛擬機刪除請求。優選的,所述依據更新后的刪除資源實際值更新所述目標物理服務器的刪除資源邏輯值,包括判斷所述目標物理服務器的虛擬機部署隊列中是否為空,如果是,則將所述目標物理服務器的刪除資源邏輯值同步為更新后的刪除資源實際值;如果否,回收所述目標物理服務器中已經分配給所述虛擬機的內存和硬盤資源。優選的,所述同步的實現方式為判斷所述目標物理服務器中的虛擬機部署隊列中是否有待處理的虛擬機的部署請求,如果否,則將所述目標物理服務器的當前內存和硬盤資源值確定為當前資源實際值,并將所述當前資源實際值賦值給當前資源邏輯值。本申請實施例提供的虛擬機調度和執行部署過程中的資源預處理系統包括虛擬機調度單元和虛擬機執行部署單元,其中, 所述虛擬機調度單元包括接收模塊、分發模塊、建立請求模塊和第一更新模塊,其中,所述接收模塊用于接收用戶提交的當前虛擬機的部署請求,所述分發模塊用于依據各候選物理服務器的初始資源邏輯值將所述當前虛擬機的部署請求分發至目標物理服務器,所述建立請求模塊用于在所述目標物理服務器的虛擬機部署隊列中添加所述當前虛擬機的部署請求;所述第一更新模塊用于依據所述當前虛擬機消耗的內存和硬盤資源更新所述目標物理服務器的初始資源邏輯值;所述虛擬機執行部署單元包括獲取模塊、第二更新模塊、第三更新模塊和第一刪除模塊,其中,所述獲取模塊用于從目標物理服務器中的虛擬機部署隊列中按照順序獲取待處理的虛擬機部署請求;所述第二更新模塊用于當所述待處理的虛擬機的部署請求執行完畢后,依據所述虛擬機所消耗的內存和硬盤資源更新所述目標物理服務器的部署資源實際值;所述第三更新模塊用于依據更新后的部署資源實際值更新所述目標物理服務器的部署資源邏輯值;所述第一刪除模塊用于刪除所述虛擬機部署隊列中所述待處理的虛擬機的部署請求。優選的,所述第三更新模塊包括第一判斷子模塊,用于判斷所述本文檔來自技高網...
【技術保護點】
一種虛擬機調度和執行部署過程中的資源預處理方法,其特征在于,采用資源邏輯值表示各候選物理服務器的邏輯可用的內存和硬盤資源,采用資源實際值表示各候選物理服務器的實際可用的內存和硬盤資源;所述方法包括虛擬機調度過程和虛擬機執行過程,其中,所述虛擬機調度過程包括:接收用戶提交的當前虛擬機的部署請求,依據各候選物理服務器的初始資源邏輯值將所述當前虛擬機的部署請求分發至目標物理服務器,并在所述目標物理服務器的虛擬機部署隊列中添加所述當前虛擬機的部署請求;依據所述當前虛擬機消耗的內存和硬盤資源更新所述目標物理服務器的初始資源邏輯值;所述虛擬機執行部署過程包括:從目標物理服務器中的虛擬機部署隊列中按照順序獲取待處理的虛擬機部署請求;當所述待處理的虛擬機的部署請求執行完畢后,依據所述虛擬機所消耗的內存和硬盤資源更新所述目標物理服務器的部署資源實際值;依據更新后的部署資源實際值更新所述目標物理服務器的部署資源邏輯值;刪除所述虛擬機部署隊列中所述待處理的虛擬機的部署請求。
【技術特征摘要】
【專利技術屬性】
技術研發人員:周星,王帥,王蕾,
申請(專利權)人:北京搜狐新媒體信息技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。