國艷群,韓 敏,孫林夫
?
基于開放架構(gòu)的SaaS服務(wù)平臺數(shù)據(jù)管理技術(shù)研究
國艷群1,2,韓 敏1,孫林夫1
(1. 西南交通大學(xué)CAD工程中心 成都 610031; 2. 西南電子設(shè)備研究所 成都 610036)
為解決SaaS平臺面臨的數(shù)據(jù)安全及分布式數(shù)據(jù)管理等問題,提出了基于開放架構(gòu)的SaaS服務(wù)平臺系統(tǒng)應(yīng)用框架;在此基礎(chǔ)上,對數(shù)據(jù)應(yīng)用進(jìn)行了抽象建模,以優(yōu)化緩存管理策略的思路解決網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)訪問問題。通過將傳統(tǒng)LRU算法與SIZE算法相結(jié)合,提出了LRU-RSIZE算法,對開放SaaS服務(wù)平臺的數(shù)據(jù)訪問進(jìn)行管理,并進(jìn)行仿真分析。開放SaaS服務(wù)架構(gòu)與LRU-RSIZE算法相結(jié)合,可有效地解決用戶數(shù)據(jù)的按需存儲與管理問題,并對增強用戶的應(yīng)用體驗具有重要的意義。
緩存管理; 數(shù)據(jù)管理; LRU算法; LRU-RSIZE算法; SaaS
隨著云計算技術(shù)[1-2]的發(fā)展,軟件即服務(wù)(SaaS)[3-4]作為云計算的典型代表,取得了廣泛的應(yīng)用。然而,在SaaS的建設(shè)中,數(shù)據(jù)存儲的安全及管理問題一定程度上影響了SaaS的應(yīng)用,使得SaaS始終難以走過“最后一公里”。一個典型的表現(xiàn)就是企業(yè)私有數(shù)據(jù)的存儲問題,即把涉及企業(yè)敏感或私有數(shù)據(jù)托管給第三方平臺進(jìn)行虛擬存儲,一直是企業(yè)用戶難以接受的事情。除此之外,與之相關(guān)的分布式的數(shù)據(jù)存儲與管理、基于網(wǎng)絡(luò)的數(shù)據(jù)訪問等機制,都是SaaS平臺建設(shè)中面臨的巨大挑戰(zhàn)。
為解決數(shù)據(jù)的存儲、管理與訪問等問題,國內(nèi)外學(xué)者做了大量的研究工作。文獻(xiàn)[5]提出了海量數(shù)據(jù)的分布式協(xié)同處理機制,文獻(xiàn)[6-7]提出了多租戶模式下的數(shù)據(jù)存儲、遷移及虛擬化訪問等策略,文獻(xiàn)[8]則從數(shù)據(jù)安全的角度,開展了數(shù)據(jù)隱私保護(hù)機制的研究工作。上述研究均是基于SaaS服務(wù)平臺,從運行效率、安全等方面開展的對平臺的優(yōu)化,未從根本上解決SaaS用戶的數(shù)據(jù)物理托管安全及相應(yīng)的分布式數(shù)據(jù)訪問等問題。
本文在傳統(tǒng)SaaS平臺的基礎(chǔ)上,提出了基于開放架構(gòu)的SaaS服務(wù)平臺數(shù)據(jù)管理技術(shù)。在開放架構(gòu)下,企業(yè)用戶既作為平臺的使用者又可作為平臺的建設(shè)者,企業(yè)的數(shù)據(jù)可根據(jù)實際需要存儲于企業(yè)本地或SaaS平臺提供的虛擬存儲空間??捎行У亟鉀Q平臺建設(shè)中用戶數(shù)據(jù)的存儲與管理問題,同時,通過對傳統(tǒng)LRU緩存算法進(jìn)行改進(jìn),提出了LRU- RSIZE算法,對提高開放架構(gòu)下SaaS的平臺的數(shù)據(jù)訪問進(jìn)行了優(yōu)化,對增強系統(tǒng)網(wǎng)絡(luò)環(huán)境下的應(yīng)用體驗,具有重要意義。
根據(jù)實體及業(yè)務(wù)的不同,系統(tǒng)分為平臺端與企業(yè)端兩類,其中平臺基于網(wǎng)絡(luò)對外提供存儲、計算等服務(wù),企業(yè)端則利用平臺提供的服務(wù)開展企業(yè)相關(guān)業(yè)務(wù),與傳統(tǒng)SaaS不同的是,本文系統(tǒng)采用開放架構(gòu),即企業(yè)既作為系統(tǒng)的使用者使用平臺的相關(guān)服務(wù),又可作為建設(shè)者開發(fā)相應(yīng)的服務(wù),并選擇將服務(wù)及其數(shù)據(jù)存儲于平臺端或企業(yè)內(nèi)部。系統(tǒng)分為應(yīng)用層、網(wǎng)絡(luò)層與平臺層,其應(yīng)用架構(gòu)如圖1所示。
圖1 系統(tǒng)應(yīng)用架構(gòu)設(shè)計
1) 存儲層:包括SaaS平臺的存儲以及企業(yè)用戶的存儲陣列兩部分,其中平臺存儲以虛擬的方式為企業(yè)租戶提供存儲空間,企業(yè)通過互聯(lián)網(wǎng)絡(luò)實現(xiàn)對虛擬存儲的訪問,企業(yè)存儲陣列物理上位于企業(yè)內(nèi)部,為企業(yè)私有。對于需存儲的對象,從可公開性分類,可分為企業(yè)私有數(shù)據(jù)和企業(yè)共性應(yīng)用數(shù)據(jù);從動態(tài)性分類,可分為靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù);從數(shù)據(jù)的大小分類,則可按照數(shù)據(jù)所需的存儲空間進(jìn)行分級。對于數(shù)據(jù)的存儲,由于在本文架構(gòu)中,企業(yè)用戶同時也作為平臺的建設(shè)者,可以根據(jù)實際需要,將數(shù)據(jù)分類存儲于平臺或企業(yè)內(nèi)部。
2) 網(wǎng)絡(luò)層:包括互聯(lián)網(wǎng)與企業(yè)網(wǎng)兩類,企業(yè)內(nèi)部的用戶通過企業(yè)局域網(wǎng)絡(luò)互聯(lián),企業(yè)則通過Internet與SaaS服務(wù)平臺互聯(lián)。
3) 應(yīng)用層:平臺端提供的服務(wù)主要包括平臺管理服務(wù)、共性平臺服務(wù)以及企業(yè)應(yīng)用服務(wù)三類,其中平臺管理服務(wù)實現(xiàn)平臺自身的管理,共性平臺服務(wù)為有平臺提供的構(gòu)件部署、發(fā)布、虛擬等服務(wù),企業(yè)應(yīng)用服務(wù)則為企業(yè)部署于平臺的各類應(yīng)用服務(wù);企業(yè)端的服務(wù)及應(yīng)用則為企業(yè)根據(jù)自身需要,部署于企業(yè)內(nèi)部的服務(wù)及相應(yīng)應(yīng)用。
對開放SaaS平臺下數(shù)據(jù)訪問機制進(jìn)行抽象,可形成以下幾種訪問模式:
1) 企業(yè)數(shù)據(jù)及服務(wù)均部署于SaaS平臺,企業(yè)用戶通過網(wǎng)絡(luò)訪問;
2) 企業(yè)數(shù)據(jù)存儲于SaaS平臺,應(yīng)用及服務(wù)部署于企業(yè)用戶內(nèi)部;
3) 企業(yè)數(shù)據(jù)存儲與企業(yè)內(nèi)部,企業(yè)服務(wù)部署于SaaS平臺;
4) 企業(yè)數(shù)據(jù)及服務(wù)均部署于企業(yè)內(nèi)部,平臺僅提供基礎(chǔ)管理服務(wù)及與多企業(yè)間的交互服務(wù)。
對于不同的企業(yè)應(yīng)用,存在幾種模式共存的情況,而在模式2、3均面臨應(yīng)用與數(shù)據(jù)分離的情況,本文主要針對這兩種情況進(jìn)行討論。對這兩種模式進(jìn)一步抽象,則演化成網(wǎng)絡(luò)化境下對應(yīng)用程序數(shù)據(jù)進(jìn)行緩存優(yōu)化的問題,綜合考慮訪問訪問數(shù)據(jù)特性、網(wǎng)絡(luò)帶寬、緩存等因素,定義如下。
定義1 數(shù)據(jù),用三元組標(biāo)識,D=(S,G,T)。其中D表示第個數(shù)據(jù)對象,S為D的唯一標(biāo)識,G為數(shù)據(jù)D的大小,T為數(shù)據(jù)D的最近訪問時間。
定義2 帶寬,用常量表示,設(shè)企業(yè)的帶寬保持穩(wěn)定。
定義3 緩存,用變量C表示。有兩種計量策略,一種是緩存大小恒定情況下,計算不同緩存策略的性能指標(biāo),另一種是計算不同緩存策略緩存大小的需求指標(biāo)。
目前,對于緩存的處理策略,典型的有LRU(以最久未訪問作為替換對象)、LFU(以訪問頻率最低作為替換對象)、SIZE(以訪問代價最大作為替換對象)以及相應(yīng)的組合及改進(jìn)算法[9-10],文獻(xiàn)[11-12]基于分布式網(wǎng)絡(luò)環(huán)境,開展了多級緩存、中心網(wǎng)絡(luò)緩存等方面的替換策略研究,其本質(zhì)仍然是對緩存策略與網(wǎng)絡(luò)環(huán)境的綜合應(yīng)用,在具體實現(xiàn)方面,目前采用較多的為LRU算法。本文在SaaS應(yīng)用環(huán)境下,從增強用戶體驗的角度,對LRU算法進(jìn)行擴(kuò)展,優(yōu)先保留SIZE較大的對象可以增強用戶的應(yīng)用體驗,本文在傳統(tǒng)LRU及SIZE策略的,提出LRU-RSIZE交換算法(LRU reverse size),其評價因子計算為:
式中,K為“命中率-代價”因子,作為訪問效率的綜合評價;為命中率統(tǒng)計;B為累計命中的訪問數(shù)據(jù)大小與總訪問數(shù)據(jù)量的比值,即在LRU替換的基礎(chǔ)上,加入對象的訪問代價作為計算權(quán)值。式(1)可有效地增強開放SAAS平臺下的用戶應(yīng)用體驗。
3.1 算法描述
/*LRU-RSIZE算法偽代碼*/
輸入:
1) 隨機生成的訪問對象全集All-Set
2) 隨機生成的對象訪問順序Seq
3) 棧形式的緩存列表Stack
輸出:
1) 以K為評價因子的訪問命中率-代價統(tǒng)計
2) 算法對緩存空間的需求,即Ⅰ、Ⅱ的值
Begin
While(<) //為循環(huán)訪問次數(shù)
{
隨機生成訪問對象A;
If(A)in Stack //判斷是否命中
更新A最近訪問標(biāo)志;
else
{
if (Stack is not full) //如果棧尚未裝滿
用A更新棧頂;
else
{
以T作為第一因子,選出棧底元素D;
if(D.Size>)//為對象大小閾值
//本文算法對取對象大小平均值
以T為因子在Stack中重新選擇替換對象,直至選到滿足D.Size<的對象;
//在實際應(yīng)用中,該步驟加入隨機因子,
//避免出現(xiàn)棧中數(shù)據(jù)全部為大對象的情況;
以A替換棧頂;
}
以式(1)統(tǒng)計評價因子;
統(tǒng)計Stack空間大??;
}
}
End
3.2 算法特性分析
LRU算法為提高對象訪問的命中率,采用優(yōu)先置換最近未訪問對象的策略,對最近未使用的對象進(jìn)行替換,未考慮重新獲取被替換對象的網(wǎng)絡(luò)代價。LRU-RSIZE在考慮對象最近訪問時間的同時,綜合考慮被替換對象的大小(網(wǎng)絡(luò)帶寬一定的情況下,即為重新獲取該對象的網(wǎng)絡(luò)代價),并通過加入隨機值的方式,避免出現(xiàn)大對象永遠(yuǎn)不會被替換的情況。LRU-RSIZE算法的主要適用環(huán)境為“具有一定本地緩存空間的網(wǎng)絡(luò)應(yīng)用訪問”,對于開放SaaS平臺而言,LRU-RSIZE的典型使用場景為企業(yè)應(yīng)用與服務(wù)分離的情況,即服務(wù)部署于遠(yuǎn)端平臺而數(shù)據(jù)存儲于企業(yè)本地或者數(shù)據(jù)存儲于遠(yuǎn)端平臺而應(yīng)用服務(wù)部署于企業(yè)本地。
3.3 仿真結(jié)果分析
通過VC與Matlab對LRU-RSIZE算法與傳統(tǒng)LRU算法進(jìn)行仿真,在全集個對象、緩存?zhèn)€對象的情況下,隨機生成次頁面訪問動作的條件下,得到對比曲線圖像,其中取值200,取值100,取值5 000(示例,仿真分析表明在云計算環(huán)境下,同比增大、、的取值,并未影響相對趨勢)。由仿真結(jié)果可得。
1) LRU-RSIZE的“命中率-代價”優(yōu)于傳統(tǒng)LRU的“命中率-代價”。從圖2可知,仿真開始階段由于緩存棧尚未裝滿,兩種算法的“命中率-代價”均比較低,在第1 000次仿真后,“命中率-代價”逐步穩(wěn)定,與LRU相比,LRU-RSIZE的“命中率-代價”穩(wěn)定提升。
2) 因棧的大小按照固定對象的數(shù)目設(shè)定,從圖3可以看出,在空間使用方面,LRU-RSIZE所用的空間比LRU也有所增加,兩者的比例差距與圖2中“命中率-代價”的比例差距相當(dāng)。
圖2 “命中率-代價”仿真分析
圖3 緩存空間對比分析
圖4 網(wǎng)絡(luò)時延分析
3) 網(wǎng)絡(luò)時延與應(yīng)用分析。從以上分析可以看出,采用LRU-RSIZE算法的同時,通過按照一定比例增大系統(tǒng)緩存空間可以獲得比LRU更好的“命中率-代價”評估。進(jìn)一步對比LRU算法與LRU-RSIZE算法的網(wǎng)絡(luò)時延,如圖4所示。與LRU-RSIZE算法相比,LRU算法的網(wǎng)絡(luò)時延呈相對增大的趨勢。在存儲代價不斷降低的今天,存儲容量已不再是網(wǎng)絡(luò)應(yīng)用的瓶頸。在用戶網(wǎng)絡(luò)帶寬一定的情況下,開放的SaaS架構(gòu)及相應(yīng)的LRU-RSIZE緩存置換算法為解決SaaS的用戶體驗問題提供了一種新的解決思路,即“在考慮LRU的同時,優(yōu)先替換較大的對象,減少用戶對大對象的網(wǎng)絡(luò)延時,增強用戶的應(yīng)用體驗”。
LRU-RSIZE算法以本地空間為代價,有效地增強了開放SaaS服務(wù)平臺的用戶應(yīng)用體驗,結(jié)合在SaaS數(shù)據(jù)管理體系架構(gòu),在平臺的實際建設(shè)中,還可通過以下措施對數(shù)據(jù)管理進(jìn)一步優(yōu)化:
1) 建立專用的大文件服務(wù)器,實現(xiàn)對大塊數(shù)據(jù)的專門存儲;
2) 建立私有數(shù)據(jù)存儲服務(wù)器,并通過數(shù)據(jù)的容災(zāi)備份機制,實現(xiàn)企業(yè)數(shù)據(jù)的安全存儲;
3) 加強平臺及企業(yè)用戶的容災(zāi)備份及安全建設(shè),進(jìn)一步增強數(shù)據(jù)的可靠性與安全性。
另外,建立本地最小運行服務(wù)及數(shù)據(jù)存儲子集,開展數(shù)據(jù)“斷網(wǎng)-聯(lián)網(wǎng)”情況下的數(shù)據(jù)同步研究,也是開放SaaS平臺建設(shè)需進(jìn)一步開展的重要工作。
[1] Wikipedia Cloud computing[EB/OL]. [2012-09-12]. http:// en.wikipedia. org/wiki/Cloud_computing.
[2] 李伯虎, 張霖, 任磊, 等. 云計算典型特征、關(guān)鍵技術(shù)與應(yīng)用[J]. 計算機集成制造系統(tǒng), 2012, 18(7): 1345-1356.
LI Bo-hu, ZHANG Lin, REN Lei, et al. Typical characteristics, technologies and applications of manufacturing[J]. Computer Integrated Manufacturing Systems, 2012, 18(7): 1345-1356.
[3] KWOK J, NGUYEN T, LAM L. A software as a service with multi-tenancy support for an electronic contract management application[C]//2008 IEEE International Conference on Service Computing. Honolulu, HI, USA: IEEE, 2008.
[4] 曹帥, 王淑營, 孫林夫. 面向產(chǎn)業(yè)鏈協(xié)同SaaS平臺的業(yè)務(wù)流程定制技術(shù)[J]. 計算機應(yīng)用, 2013, 33(5): 1450-1455.
CAO Shuai, WANG Shu-ying, SUN Lin-fu. Workflow customization technology for collaborative saas platform of industrial chains[J]. Journal of Computer Applications, 2013, 33(5): 1450-1455.
[5] 戴炳榮, 宋俊典, 錢俊玲. 云計算環(huán)境下海量分布式數(shù)據(jù)處理協(xié)同機制的研究[J]. 計算機應(yīng)用與軟件, 2013, 30(1): 107-110.
DAI Bing-rong, SONG Jun-dian, QIAN Jun-ling. Research on cooperation mechanism for mass distributed data processing in cloud computing environment[J]. Computer Applications and Software, 2013, 30(1): 107-110.
[6] 李保棟, 孔蘭菊, 陸春生, 等. SaaS交付平臺多租戶數(shù)據(jù)管理模型研究[J]. 小型微型計算機系統(tǒng), 2012, 33(12): 2658-2663.
LI Bao-dong, KONG Lan-ju, LU Chun-sheng, et al. Research on muti-tenancy data management model for SaaS delivery platform[J]. 2012, 33(12): 2658-2663.
[7] 孔蘭菊, 李慶忠, 李曉娜. 一種SaaS交付平臺的多租戶數(shù)據(jù)遷移策略[J]. 計算機應(yīng)用與軟件, 2011, 28(11): 52-56.
KONG Lan-ju, LI Qin-zhong, LI Xiao-na. A multi-tenancy data migration policy for saas delivery platform[J]. Computer Applications and Software, 2011, 28(11): 52-56.
[8] 張坤, 李慶忠, 史玉良. 面向SaaS應(yīng)用的數(shù)據(jù)組合隱私保護(hù)機制研究[J]. 計算機學(xué)報, 2010, 33(11): 2044-2054.
ZHANG Kun, LI Qin-zhong, SHI Yu-liang. Research on data combination privacy preservation mechanism for SaaS[J]. Chinese Journal of Computers, 2010, 33(11): 2044-2054.
[9] 湯小丹, 梁紅兵. 計算機操作系統(tǒng)[M]. 西安: 西安電子科技大學(xué)出版社, 2007.
TANG Xiao-dan, LIANG Hong-bing. Computer operation system[M]. Xi’an: Xi Dian University Publisher, 2007.
[10] YOO Y S, LEE H, RYU Y, et al. Page replacement algorithms for nand flash memory storage[M]. Berlin: Springer, 2007.
[11] SMITHA I K, REDDY A. Identifying long-term high-band-width at a router[C]//Proceedings of the 8th International Conference on High Performance Computing. Hyderabad, India: Springer, 2001: 361-371.
[12] CHAI Wei-koong, HE Di-liang, IOANNIS P, et al. Cache“Less for More” in information-centric networks[C]// Proceedings of the 11th International IFIP TC 6 Conference on Networking. Prague, Gzech: Springer, 2012: 27-40.
編 輯 黃 莘
Research on the Data Manage Technology of SaaS Service Platform Based on Open Architecture
GUO Yan-qun1,2, HAN Min1, and SUN Lin-fu1
(1. CAD Engineering Center, Southwest Jiaotong University Chengdu 610031; 2. Southwest Institute of Electronic Equipment Chengdu 610036)
To solve the problems of data security and distributed data management that existed in SaaS platform, the paper puts forward a system application framework based on open SaaS service platform architecture. On the basis of this architecture, the paper gives abstract modeling on data application, which uses the idea of optimizing cache management strategy to solve data access problem in network environment. Combining with traditional LRU arithmetic and SIZE arithmetic, the paper gives a LRU-SIZE arithmetic which is effective on the management of data access of the open SaaS service platform. The combination of open SaaS service architecture and LRU-SIZE arithmetic can solve the problems of data access and data management of enterprise effectively. Meanwhile, it can improve the application experience of users.
cache management; data management; LRU algorithm; LRU-RSIZE algorithm; SaaS
TP39
A
10.3969/j.issn.1001-0548.2015.02.023
2014-09-15;
2015-01-12
國家863項目(2013AA040606);四川省制造業(yè)產(chǎn)業(yè)鏈協(xié)同與信息化支撐技術(shù)重點實驗室項目(2014002);四川省科技支撐計劃(2014GZ0142)
國艷群(1980-),男,博士生,高級工程師,主要從事產(chǎn)業(yè)服務(wù)平臺、系統(tǒng)工程等方面的研究.