網站首頁 個人範例 行業範例 行政範例 職場範例 校園範例 書信範例 生活範例 節日文化範例

試析計算機軟件中的插件技術探討性論文

欄目: 計算機軟件 / 發佈於: / 人氣:2.32W

本文提出基於OpenStack構建一個高可用性插件,該插件主要目的是:第一,增加進程級的高可用性模塊,不斷檢測進程的運行情況,並利用虛擬機化技術對相應的故障進行處理;第二,實現業務和雲平台及時溝通,對傳統的Web系統進行雲化提高專有云的高可用性,並在一定程度上實現雲平台的負載平衡。該插件不僅可以提高雲平台運行環境出現的故障,而且可以權衡雲中資源的情況,合理分配資源,某種程度上實現雲的負載平衡,避免了雲平台“假滿”的情況發生。

試析計算機軟件中的插件技術探討性論文

1 OpenStack雲平台概述

雲計算作為一種新的計算模型,憑藉其節省資源、降低成本、高可擴展性等優點得到了快速發展,在此過程中開源雲計算架構也得到不斷髮展和完善。OpenStack具有以下幾個方面的`優點:代碼架構清晰,開發者可以根據自己的需要修改相應的代碼;性能穩定,提供了完善虛擬機管理功能;部署靈活,用户可以根據自己的需要,進行相應地部署。

Opentstack主要有5大組件組成:Nova(計算服務)、Swift(存儲服務)、Glance(鏡像服務)、Keystone(識別服務)、Dashboard(用户界面服務)。Nova是整個平台的核心,是雲平台的控制器,它提供管理虛擬機的所有功能,其中包括創建虛擬機實例、管理網絡、控制用户等。Swift是一個具有容量大、擴展性高,並具有宂餘和容錯機制的對象存儲系統。Glance是負責管理虛擬機鏡像image的,功能主要包括存放image、檢索image等功能,並向外提供接口,用户可以根據自己的需求調用相應的AP I請求檢索實際的鏡像和查詢VM元數據。Keystone主要負責管理和認證OpenStack租户、角色,併為Swift提供授權服務。Dashboard是提供給用户訪問OpenStack雲平台Web前端界面,用户可以使用它方便使用OpenStack雲平台的功能。

2 基於OpenStack的高可用系統插件設計

基於OpenStack雲平台,構架一個自動檢測故障,並進行恢復的雲平台的插件。該插件主要從三個層次檢測故障,第一,從物理主機層,檢測物理主機運行時可能發生的故障;第二,從虛擬機層檢測虛擬機運行時可能發生的故障;第三,從虛擬應用層,檢測虛擬機中運行的進程發生的故障。該平台主要的思路是借用現有的開源雲平台OpenStack的API,包括GUI層、Scheduler調度層、邏輯層和功能層層。按照該系統的工作機制,該系統從邏輯上化分為四個模塊:感知模塊、策略模塊、執行模塊、GUI模塊。

GUI層:主要用來與用户進行交互,用户可以通過該界面,獲得系統的運行狀況,其中包括:虛擬機的運行狀態、虛擬機的資源情況等,同時用户可以通過界面控制虛擬機的運行狀況(例如停止某台虛擬機),也可以進行一些系統的基本配置(比如掃描時間的設置),使得整個系統更靈活、更智能。

Scheduler調度層:主要是負責對事件隊列進行操作,是整個系統的核心,該層能夠保證事件有條不紊地被執行。此外,它需要對事件隊列滿、事件隊列空等各種異常進行處理,同時保證進程同步。邏輯層:我們採取的是事件驅動機制,每個事件都有相對應的處理對象。我們的事件主要分為三種:感知事件、策略事件、執行事件。感知模塊響應感知事件,策略模塊響應策略事件,執行模塊響應執行事件。

功能層:主要是對LibvirtAPI和OpenStack API的封裝,用來與OpenStack和Libvirt進行交互,是整個系統的底層,提供對上述幾層的支持。

3 該插件由三個模塊組成

感知模塊:由感知層執行類和感知層功能類組成,負責感知整個系統的運行情況,感知功能類是最底層類的,提供對感知執行類的支持。

目前,從三個層次進行感知,第一層是感知物理主機,主要包括物理主機電源、主機網絡、物理主機CPU利用率、物理主機內存使用率、物理主機硬盤的使用情況;第二層是感知虛擬機,主要包括虛擬機狀態、虛擬機網絡、虛擬機CPU利用率、虛擬機內存使用率、虛擬機磁盤的使用情況;第三層是感知虛擬應用,主要包括虛擬應用狀態、虛擬應用CPU使用率、虛擬應用內存使用率、虛擬機應用鏈接數、虛擬機應用是否存在。

策略模塊:是由策略層執行類和策略功能類組成。主要根據感知的結果進行處理。若感知的結果是正常的,我們將什麼都不處理,若感知的結果是異常的,我們就要進行制定相應的恢復策略。執行模塊:主要是由執行層執行類和執行功能組成。其主要負載故障的恢復,針對主機,我們主要提供重啟主機、配置主機網絡、恢復主機上所有虛擬機、通知管理員等措施;針對虛擬機,主要由刪除虛擬機、重啟虛擬機、遷移虛擬機、配置虛擬機網絡、通知管理員等措施;針對應用層,我們主要是恢復應用、關閉進程等措施。從上面的描述,該插件模塊執行的邏輯關係是:感知模塊觸發策略模塊,策略模塊塊觸發執行模塊。