伍貴富 陳光喜 劉宇鵬



摘要:醫療云服務在實施的過程中,人們更加關注數據的安全、以及系統的負載均衡等問題。而解決這些問題的關鍵技術之一就是醫療云存儲部署規劃的優化策略。文章通過系統建模,將醫療云存儲所涉及的相關技術抽象為多目標優化問題后,通過離散PSO算法進行求解。并引入新的粒子位置更新算法,以提高標準離散PSO算法的收斂速度,通過重優化機制來更新粒子狀態,防止算法陷入局部最優而早熟,最終得到適合于求解醫療云存儲部署優化問題的IDPSO算法。仿真實驗表明該算法有效。
關鍵詞:離散PSO;云存儲;負載均衡
1引言
隨著國際醫學信息標準化、電子化進程的快速發展,使得區域醫療信息化平臺逐漸成為各地區醫院的基本設施,HIS、DACS等應用系統也逐漸成為醫院信息技術的核心。由于這些應用系統中的數據越來越多,比如:一個標準的病理圖則可能接近5GB,使得系統數據價值越來越大。顯然這些重要數據丟失的風險或系統停機造成的損失是用戶難以承受的。因此如何有效保障并構建最有效率的醫院信息系統體系,成為各醫院信息中心主管人員所關注的重中之重。
目前云存儲系統由多個部分組成,可收集、存儲及處理底層數據,并在此基礎之上提供其它服務功能。由于現有的網絡存儲技術無法很好地滿足醫療云存儲服務的核心需求,因此一種基于對象的存儲(OBS)方法,被提出并引入到云存儲解決方案中。而OBS方法在實現的過程中,既要考慮系統存儲負載的均衡性,又要考慮優化動態環境中的部署效率問題。因此,許多基于啟發式群集智能算法(如粒子群算法或遺傳算法等)的解決方案被引入到該問題中。但這些方案,在求解的效率以及解空間的質量上,還存在著一定的局限性。因此文章提出基于對象存儲的醫療云存儲系統模型,并在此基礎之上,利用改進的離散粒子群(IDPSO)優化算法,對醫療數據的部署方案進行優化求解。
2醫療云存儲系統模型定義
醫療云存儲系統實現的主要目標是將需要保存的文件,按合理的副本數量,分配到云平臺的各數據存儲節點中去,從而既滿足用戶對數據安全的要求,又能使云服務系統中任務得以快速執行以及系統的負載達到相對均衡。在不失一般性的情況在文章做如下假設:1)由于醫療云系統中對文件的操作幾乎都是順序讀,因此文章主要針對這種文件操作進行討論。2)作為醫療云服務平臺,我們所面對的大部分數據,如電子病歷、CT圖像等文件都具有“一次寫入多次讀取”的特性,因此文章的存儲策略沒有考慮數據一致性機制。因此文章所討論的醫療云存儲部署問題就轉化為一個多目標優化問題,即將n個文件部署到m個數據存儲節點上并使系統中相關性能達到優化的目的。
在云存儲優化的過程中,我們主要考慮如下幾個方面的性能參數。(1)平均延遲:最小化系統延遲對于任何云存儲平臺來說都是非常重要的,因此文章主要考慮文件讀操作的延遲。由于每個文件可能有多個副本,將文件fn的平均延遲Dn表示如下:
其中R(i)表示文件i的請求數。當系統中存儲節點的負載與Vavg的差值接近0時,系統負載接近均衡。
3基于IDPSO的云存儲策略的設計
針對離散空間的多目標優化問題,提出了基于二進制編碼的離散PSO算法。而這種標準的離散PSO算法應用到云存儲策略中,首先需要解決的問題是如何建立起解空間與粒子之間的映射,因此,文章將通過引入整數編碼的矩陣來對應解空間,矩陣的每項為(fn,z,Dm),其中f1.1表示文件f1的一個副本,Dm表示存儲節點的編號。
3.1適應度函數的設計
考慮到云存儲部署建模中的多重優化目標,文章采用較快捷的衡量方法,即引入權重因子,構造適應度評價函數,實現多目標優化。結合公式(1)-(3)文章將適應值函數轉化為如下形式:
3.2粒子速度和位置的更新方法
離散PSO算法的實質是粒子根據與個體極值和全局極值之間的距離信息,來調整自身運動的方向和速度,并以此改變下一步的迭代位置。文章借鑒文獻中速度和位置的計算公式,并引入遺傳算法中的交叉操作的思想,設計了對粒子種群的基本操作方式:1)粒子交換操作:對粒子位置變換的操作定義為ch(a11,a22),表示粒子a11與a22發生位置交換,而多個粒子交換操作所組成的序列被稱為交換序列,即CH=(ch1,ch2∧chm)。2)基本交換序列集:由于矩陣A變換到矩陣A′的過程中存在著許多種不同的交換順序,因此文章將變換次數最少的交換序列的集合稱為基本交換序列集。
根據上述基本變換規則,文章對PSO算法中粒子的速度公式進行如下改進:
由于標準離散PSO算法較容易早熟,因此文章采用了一種重優化更新機制,來防止算法陷入局部最優,即算法在執行過程中,如果改變粒子速度的基本交換序列的元素個數少于閾值μ,而解集的優化條件尚未滿足時,解空間將進行重新優化操作。
4性能評估
文章的模擬實驗在CloudSim環境中進行的,主要模擬了在新的存儲策略影響下,對醫療云存儲的服務延遲、費用成本和負載均衡3個性能指標的改善程度,并與遺傳算法(GA)進行對比。
在用改進離散PSO算法搜索存儲調度的最優可行解時,文章設定種群規模為50個粒子,最大迭代次數為300次,其它參數將根據文獻進行設置。在實驗過程中將重復進行10次獨立實驗并取平均值作為最后的評價數據。
如圖1所示,文件總數來表示系統的負載,一般而言文件數量越多,表示系統的負載越重。IDPSO算法相比于HDFS和GA能減少系統的平均服務時間。IDPSO算法在不同的文件總數的情況下都能獲得較好的結果。
如圖2所示,基本的HDFS文件系統中各節點的負載情況存在一定差異,而通過算法優化后的系統負載情況將趨于穩定,并逐漸趨于某個穩定水平。從圖中我們還可以發現,由于系統中其它因素的影響,各節點的負載值不可能完全相等,但已趨于平衡,因此說明系統的負載已得到優化。
5結語
醫療云服務在實施的過程中,人們會更關注數據的安全、以及系統的負載均衡等特性。文章針對這一問題,提出了云存儲的部署優化算法,通過調整數據文件在存儲節點的分布,來提高系統的負載均衡行,使得整個醫療云服務的性能和利用率得到提升。文章將云存儲部署抽象為多目標優化問題后,針對標準離散PSO算法的一些不足,引入新的粒子位置更新算法,以提高算法的收斂速度;并通過重優化機制,來防止算法陷入局部最后,最終得到適合于求解醫療云存儲部署優化問題的IDPSO算法。在CloudSim上進行的仿真實驗表明該方法有效。