一種資源調度方法和系統的制作方法
【技術領域】
[0001]本發明涉及虛擬機技術,尤其涉及一種資源調度方法和系統。
【背景技術】
[0002]隨著虛擬機技術的廣泛應用,如何更好的管理規劃資源、調度資源、使用資源,提高資源利用率,顯得越發重要。商業資源調度方案(如¥!11?^^、'\^?116^、¥061^6『)側重在資源虛擬化,對于資源的動態調度管理方面考慮較少,主要考慮通過虛擬化提高資源利用率原則。開源調度方案(如openstack、cloudstack)的資源調度目標主要是決策虛擬機在哪臺主機上創建,而且調度目前僅限于計算節點調度。傳統開源或商業化云管理平臺軟件均為純資源調度方法,不能適應當前復雜、多變資源管理調度需求。
[0003]現有的虛擬機資源調度方案,首先建立一套監控資源池和資源池中對象的系統,制定一套監控指標體系,實現采集指標模塊,持續采集資源池中資源指標數據,再加上一套評估規則,以此來實現資源管理調度。
[0004]如果需要將資源池中的資源以服務形式對外提供,則會設計一套服務申請、審批流程,如圖1所示,管理員對資源進行審批時,會根據上述監控系統實時計算的資源余量情況來進行決策。這種設計方法適用于資源池規模小、低并發的情況。
[0005]現有的虛擬機資源調度方案對于當前資源使用狀態的判斷(如是否可用,當前資源分配占用情況等),不支持預判及基于時間段的資源錯峰使用判斷的要求,無法充分發揮資源的最大利用價值。
[0006]針對資源頻繁申請、回收、高并發場景,現有的虛擬機資源調度方案缺乏靈活性和智能化,同時難以避免會出現因資源不足或資源沖突而導致資源創建失敗問題,其在運維管理方面也存在先天不足,伴隨著資源池規模擴大、使用用戶增多、需求不斷變化,后期的運維管理工作將面臨巨大挑戰。
【發明內容】
[0007]有鑒于此,本發明的主要目的在于提供一種資源調度方法和系統,能夠提高資源管理效率和利用率,降低運營維護復雜性。
[0008]本發明提供一種資源調度方法,所述方法包括:
[0009]接收資源申請;
[0010]根據收到的資源申請,生成一個預占用的資源對象,更新資源狀態;
[0011]查詢更新后的資源狀態;
[0012]根據查詢到的資源狀態判決是否審批通過所述資源申請;
[0013]當審批通過所述資源申請時,占用所述資源對象并更新資源狀態。
[0014]優選地,所述方法還包括:
[0015]監控所述資源對象的變化情況,當所述資源對象的情況發生變化時更新資源狀態。
[0016]優選地,所述監控所述資源對象的變化情況,當所述資源對象的情況發生變化時更新資源狀態,包括:
[0017]監控所述資源對象的調整情況,當所述資源對象被調整時更新資源狀態。
[0018]優選地,所述監控所述資源對象的變化情況,當所述資源對象的情況發生變化時更新資源狀態,包括:
[0019]監控所述資源對象的釋放情況,當所述資源對象被釋放時更新資源狀態。
[0020]優選地,所述方法還包括:
[0021]接收調整申請;
[0022]根據收到的調整申請,查詢資源狀態;
[0023]根據查詢到的資源狀態判決是否審批通過所述調整申請;
[0024]當審批通過所述調整申請時,調整所述資源對象并更新資源狀態。
[0025]優選地,所述方法還包括:
[0026]接收回收申請;
[0027]當審批通過所述回收申請時,回收所述資源對象并更新資源狀態。
[0028]優選地,所述方法還包括:
[0029]根據資源狀態生成日歷圖表,所述日歷圖表用于體現資源使用情況和時間之前的關系。
[0030]本發明提供一種資源調度系統,所述系統包括:
[0031]資源管理模塊,用于接收資源申請;根據收到的資源申請,生成一個預占用的資源對象,并向資源日歷模塊發出更新資源狀態的指示;以及查詢所述資源日歷模塊中更新后的資源狀態;根據查詢到的資源狀態判決是否審批通過所述資源申請;當審批通過所述資源申請時,向所述資源日歷模塊發出占用所述資源對象并更新資源狀態的指示;
[0032]所述資源日歷模塊,用于執行所述資源管理模塊發來的指示,并為所述資源管理模塊提供資源狀態的查詢。
[0033]優選地,所述系統還包括:
[0034]控制模塊,用于監控所述資源對象的變化情況,當所述資源對象的情況發生變化時向所述資源日歷模塊發出更新資源狀態的指示。
[0035]優選地,所述控制模塊包括:
[0036]監控子模塊,用于監控所述資源對象的釋放情況,當所述資源對象被釋放時向所述資源日歷模塊發出更新資源狀態的指示。
[0037]優選地,所述控制模塊包括:
[0038]智能調度子模塊,用于監控所述資源對象的調整情況,當所述資源對象被調整時向所述資源日歷模塊發出更新資源狀態的指示。
[0039]優選地,所述資源管理模塊,還用于接收調整申請;根據收到的調整申請,查詢資源狀態;根據查詢到的資源狀態判決是否審批通過所述調整申請;當審批通過所述調整申請時,向所述資源日歷模塊發出調整所述資源對象并更新資源狀態的指示。
[0040]優選地,所述資源管理模塊,還用于接收回收申請;當審批通過所述回收申請時,向所述資源日歷模塊發出回收所述資源對象并更新資源狀態的指示。
[0041]優選地,所述資源日歷模塊,還用于根據資源狀態生成日歷圖表,所述日歷圖表用于體現資源使用情況和時間之前的關系。
[0042]由上可知,本發明的技術方案包括:接收資源申請;根據收到的資源申請,生成一個預占用的資源對象,更新資源狀態;查詢更新后的資源狀態;根據查詢到的資源狀態判決是否審批通過所述資源申請;當審批通過所述資源申請時,占用所述資源對象并更新資源狀態。由此,本發明通過采用為資源池中資源對象建立資源日歷模型的方式,將資源池中資源對象生命周期映射到一個資源日歷模型中,資源對象整個生命周期過程中狀態的變遷都會動態反映到資源日歷中,因而可以基于資源日歷進行調度、分配,從而使資源管理更加簡單并且智能化。從而能夠提高資源管理效率和利用率,降低運營維護復雜性。
【附圖說明】
[0043]圖1為現有技術中資源調度的流程圖;
[0044]圖2為本發明提供的資源調度方法的流程示意圖;
[0045]圖3為本發明提供的資源調度系統的一實施例的結構示意圖;
[0046]圖4為本發明提供的資源調度系統的另一實施例的結構示意圖;
[0047]圖5為本發明提供的資源調度系統的邏輯示意圖;
[0048]圖6為本發明提供的資源日歷的結構示意圖;
[0049]圖7為本發明提供的資源對象生命周期與資源日歷的關系圖;
[0050]圖8為本發明提供的資源日歷分布圖的示意圖;
[0051]圖9為本發明提供的資源調度系統的再一實施例的結構示意圖。
【具體實施方式】
[0052]本發明提供一種資源調度方法,如圖2所示,所述方法包括:
[0053]步驟201、接收資源申請;
[0054]這里,資源申請可以通過訂單的形式提交,例如,一個訂單申請以下資源:CPU2個,內存4G,存儲10G0
[0055]步驟202、根據收到的資源申請,生成一個預占用的資源對象,更新資源狀態;
[0056]步驟203、查詢更新后的資源狀態;
[0057]步驟204、根據查詢到的資源狀態判決是否審批通過所述資源申請;
[0058]步驟205、當審批通過所述資源申請時,占用所述資源對象并更新資源狀態。
[0059]在一優選實施例中,所述方法還包括:
[0060]監控所述資源對象的變化情況,當所述資源對象的情況發生變化時更新資源狀態。
[0061]優選地