一種基于有限狀態機的存儲虛擬化管理系統及方法
【專利摘要】本發明提供一種基于有限狀態機的存儲虛擬化管理系統及方法,該系統由GUI管理模塊、有限狀態機引擎、命令發送模塊、命令解析模塊、命令接收模塊、通信模塊和任務服務模塊7個模塊組成,通過這些模塊實現了存儲虛擬化系統的Web管理系統;方法則包括以下步驟:用戶通過存儲虛擬化管理GUI觸發相應的管理功能;GUI界面觸發有限狀態機引起執行狀態流程;有限狀態機引擎根據當前狀態及觸發條件執行動作;有限狀態機引擎根據動作結果和當前狀態進行狀態遷移。該一種基于有限狀態機的存儲虛擬化管理系統及方法和現有技術相比,能夠靈活的向存儲虛擬化系統添加新的管理功能,實用性強,適用范圍廣泛,易于推廣。
【專利說明】一種基于有限狀態機的存儲虛擬化管理系統及方法
【技術領域】
[0001] 本發明涉及計算機【技術領域】,具體的說是一種實用性強、基于有限狀態機的存儲 虛擬化管理系統及方法。
【背景技術】
[0002] 存儲虛擬化(Storage Virtualization)最通俗的理解就是對存儲硬件資源進行 抽象化表現。通過將一個(或多個)目標(Target)服務或功能與其它附加的功能集成,統一 提供有用的全面功能服務。存儲虛擬化系統可以有效的對存儲資源進行管理,存儲虛擬化 技術可以屏蔽異構的存儲系統并將其整合為一個統一的存儲系統供用戶使用。同時,存儲 虛擬化技術有可以對存儲資源進行再分配,將存儲資源劃分給不同的用戶使用。為了方便 用戶管理對存儲虛擬化系統的管理,目前存儲虛擬化系統的實現普遍采用BS架構,也即通 過瀏覽器應用程序實現對存儲虛擬化系統的管理。
[0003] 當前來說,BS架構的設計通常是采用動態網頁技術實現與服務端的交互,從而實 現對存儲虛擬化系統的配置管理等工作,這里所說的動態網頁技術可以是ASP、JSP和PHP 等,但并不限于上述技術。同時,可以使用Ajax異步交互技術實現Web應用程序局部與存 儲虛擬化系統交互。為了提高交互的友好性,Web端需要開發大量的程序代碼來處理各種 情況,增加新的流程將需要修改原有代碼,而修改后的代碼可能會影響前面的功能,因此, 代碼的復雜性造成了后期維護的困難,且容易引入新的問題。
[0004] 基于此,現提供一種基于有限狀態機的存儲虛擬化管理方法與系統,該方法提高 程序代碼的可維護性和人機界面的友好性,增加系統的可伸縮性。
【發明內容】
[0005] 本發明的技術任務是解決現有技術的不足,提供一種實用性強、基于有限狀態機 的存儲虛擬化管理系統及方法。
[0006] 本發明的技術方案是按以下方式實現的,該一種基于有限狀態機的存儲虛擬化管 理系統,該系統包括七個模塊:GW管理模塊、有限狀態機引擎、命令發送模塊、命令解析模 塊、命令接收模塊、通信模塊和任務服務模塊;其中 GH管理模塊為暴露給用戶的操作界面,用戶通過該界面實現對存儲虛擬化系統的管 理; 有限狀態機引擎通過描述腳本完成狀態的遷移及動作命令的發送,實現可配置的狀態 切換和動作執行; 通信模塊實現與存儲虛擬化系統服務端通信; 服務模塊為存儲虛擬化系統的核心,實現存儲虛擬化系統; 上述CTI管理模塊、有限狀態機引擎、命令發送模塊、命令解析模塊、命令接收模塊和 通信模塊共同組成Web端應用程序,與用戶進行交互,并將用戶的管理動作下發給服務模 塊,服務模塊執行該管理動作,進行存儲虛擬化的配置動作。
[0007] 所述有限狀態機引擎包含腳本解析模塊、命令執行模塊、狀態獲取模塊和決策模 塊,其中 腳本解析模塊將描述腳本解析成決策樹,決策模塊根據決策樹信息和當前狀態信息進 行狀態遷移,決策模塊根據遷移結果調用命令執行模塊執行命令。
[0008] 所述描述腳本的格式為:該描述腳本將每一個具體的動作分為一個動作段,動作 段中每行為一個狀態,每一個狀態包括當前狀態編碼、狀態執行動作、執行條件和結果狀態 編碼列表;其中狀態執行動作表示在當前狀態下將要執行的動作,執行條件表示動作執行 失敗的情況下跳出本狀態的條件,結果狀態編碼列表表示動作執行完畢之后將要遷移到狀 態的列表,列表中的狀態編碼按照次序排放。
[0009] -種基于有限狀態機的存儲虛擬化管理方法,包括以下步驟: 1) 用戶通過存儲虛擬化管理系統的管理模塊觸發相應的管理功能; 2) GW管理模塊的界面觸發有限狀態機引擎執行狀態流程; 3) 有限狀態機引擎根據當前狀態及觸發條件執行動作; 4) 有限狀態機引擎根據動作結果和當前狀態進行狀態遷移; 5) 重復步驟4直至結束動作。
[0010] 本發明與現有技術相比所產生的有益效果是: 本發明的一種基于有限狀態機的存儲虛擬化管理系統及方法能夠靈活的向存儲虛擬 化系統添加新的管理功能,同時將存儲虛擬化管理功能分解為若干狀態,動態的呈現給用 戶管理動作的執行情況;簡化存儲虛擬化管理界面的實現難度,減少實現的代碼量,降低系 統維護難度,增加用戶操作的友好性;實用性強,適用范圍廣泛,易于推廣。
【專利附圖】
【附圖說明】
[0011] 附圖1是本發明存儲虛擬化管理系統結構示意圖。
[0012] 附圖2是本發明的有限狀態機引起內部結構示意圖。
[0013] 附圖3是本發明的描述腳本結構圖。
[0014] 附圖4是本發明的創建集群實例的狀態轉換圖。
[0015] 附圖5是本發明中創建集群實例的描述腳本樣例圖。
【具體實施方式】
[0016] 下面結合附圖對本發明的一種基于有限狀態機的存儲虛擬化管理系統及方法作 以下詳細說明。
[0017] 本發明提供一種基于有限狀態機的存儲虛擬化管理系統及方法,該系統及方法通 過將存儲虛擬化管理功能分解成若干狀態,動態的呈現給用戶管理動作的執行。基于此設 計思路,如附圖1?3所示,現提供一種基于有限狀態機的存儲虛擬化管理系統,該系統 包括七個模塊:GUI管理模塊、有限狀態機引擎、命令發送模塊、命令解析模塊、命令接收模 塊、通信模塊和任務服務模塊;其中 GH管理模塊為暴露給用戶的操作界面,用戶通過該界面實現對存儲虛擬化系統的管 理。
[0018] 有限狀態機引擎為整個系統的核心,通過描述腳本完成狀態的遷移及動作命令的 發送,實現可配置的狀態切換和動作執行。
[0019] 通信模塊實現與存儲虛擬化系統服務端通信。
[0020] 服務t吳塊為存儲虛擬化系統的核心,實現存儲虛擬化系統。
[0021] 上述管理模塊、有限狀態機引擎、命令發送模塊、命令解析模塊、命令接收模 塊和通信模塊共同組成Web端應用程序,與用戶進行交互,并將用戶的管理動作下發給服 務模塊,服務模塊執行該管理動作,進行存儲虛擬化的配置動作。
[0022] 所述有限狀態機引擎實現了可配置的狀態切換和動作執行功能,在進行具體功能 的開發時可以不關心有限狀態機引擎,而只需要修改配置文件代碼和增加相應的動作函數 即可實現。有限狀態機引擎包含腳本解析模塊、命令執行模塊、狀態獲取模塊和決策模塊。 其中腳本解析模塊將描述腳本解析成決策樹,決策模塊根據決策樹信息和當前狀態等信息 進行狀態遷移,決策模塊會根據遷移結果調用命令執行模塊執行相關命令。
[0023] 所述描述腳本的格式為:該描述腳本將每一個具體的動作分為一個動作段,動作 段中每行為一個狀態,每一個狀態包括當前狀態編碼、狀態執行動作、執行條件和結果狀態 編碼列表;其中狀態執行動作表示在當前狀態下將要執行的動作,執行條件表示動作執行 失敗的情況下跳出本狀態的條件,結果狀態編碼列表表示動作執行完畢之后將要遷移到狀 態的列表,列表中的狀態編碼按照次序排放。
[0024] 該系統的具體實現不依賴于特定的開發語言,可以使用PHP、JSP或者ASP. NET等。
[0025] -種基于有限狀態機的存儲虛擬化管理方法,包括以下步驟: 1) 用戶通過存儲虛擬化管理系統的管理模塊觸發相應的管理功能; 2) GW管理模塊的界面觸發有限狀態機引擎執行狀態流程; 3) 有限狀態機引擎根據當前狀態及觸發條件執行動作; 4) 有限狀態機引擎根據動作結果和當前狀態進行狀態遷移; 5) 重復步驟4直至結束動作。
[0026] 實施例: 如附圖4所示,用戶想要通過存儲虛擬化系統創建集群,其中該附圖即為創建過程中 的狀態轉換圖,該圖中描述了創建集群過程中系統可能的狀態情況及狀態的遷移情況和觸 發條件。
[0027] 如該附圖4所示,當用戶需要創建時,用戶通過CTI管理模塊的界面觸發創建集群 事件的功能,這時管理模塊觸發有限狀態機引擎上傳配置文件后啟動集群,并獲取集 群狀態,完成創建過程。
[0028] 附圖5為根據附圖4所示的狀態轉換圖生成的描述腳本的格式樣例。通過附圖中 的createcluster表示用戶可以創建的聚簇,即相應的動作段和實現動作的函數,具體的 聚簇如表中所述,由此可以看出在增加新的功能時只需要在描述腳本中添加相應的動作段 和實現動作函數即可,不用對現有的代碼做出任何改動,因此極大的方便的代碼的維護工 作。
[0029] 這樣就使得在進行具體功能的開發時可以不關心有限狀態機引擎,而只需要修改 描述腳本和增加相應的動作函數即可實現。
[0030] 以上實施方式僅用于說明本發明,而并非對本發明的限制,有關【技術領域】的普通 技術人員,在不脫離本發明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有 等同的技術方案也屬于本發明的范疇,本發明的專利保護范圍應由權利要求限定。
【權利要求】
1. 一種基于有限狀態機的存儲虛擬化管理系統,其特征在于該系統包括七個模塊: GH管理模塊、有限狀態機引擎、命令發送模塊、命令解析模塊、命令接收模塊、通信模塊和 任務服務模塊;其中 GH管理模塊為暴露給用戶的操作界面,用戶通過該界面實現對存儲虛擬化系統的管 理; 有限狀態機引擎通過描述腳本完成狀態的遷移及動作命令的發送,實現可配置的狀態 切換和動作執行; 通信模塊實現與存儲虛擬化系統服務端通信; 服務模塊為存儲虛擬化系統的核心,實現存儲虛擬化系統; 上述CTI管理模塊、有限狀態機引擎、命令發送模塊、命令解析模塊、命令接收模塊和 通信模塊共同組成Web端應用程序,與用戶進行交互,并將用戶的管理動作下發給服務模 塊,服務模塊執行該管理動作,進行存儲虛擬化的配置動作。
2. 根據權利要求1所述的一種基于有限狀態機的存儲虛擬化管理系統,其特征在于: 所述有限狀態機引擎包含腳本解析模塊、命令執行模塊、狀態獲取模塊和決策模塊,其中 腳本解析模塊將描述腳本解析成決策樹,決策模塊根據決策樹信息和當前狀態信息進 行狀態遷移,決策模塊根據遷移結果調用命令執行模塊執行命令。
3. 根據權利要求1或2所述的一種基于有限狀態機的存儲虛擬化管理系統,其特征在 于:所述描述腳本的格式為:該描述腳本將每一個具體的動作分為一個動作段,動作段中 每行為一個狀態,每一個狀態包括當前狀態編碼、狀態執行動作、執行條件和結果狀態編碼 列表;其中狀態執行動作表示在當前狀態下將要執行的動作,執行條件表示動作執行失敗 的情況下跳出本狀態的條件,結果狀態編碼列表表示動作執行完畢之后將要遷移到狀態的 列表,列表中的狀態編碼按照次序排放。
4. 一種采用上述任一權利要求所述的管理系統的存儲虛擬化管理方法,其特征在于包 括以下步驟: 1) 用戶通過存儲虛擬化管理系統的管理模塊觸發相應的管理功能; 2. GW管理模塊的界面觸發有限狀態機引擎執行狀態流程; 3) 有限狀態機引擎根據當前狀態及觸發條件執行動作; 4) 有限狀態機引擎根據動作結果和當前狀態進行狀態遷移; 5) 重復步驟4直至結束動作。
【文檔編號】G06F9/455GK104102529SQ201410354384
【公開日】2014年10月15日 申請日期:2014年7月24日 優先權日:2014年7月24日
【發明者】張書寧 申請人:浪潮電子信息產業股份有限公司