資源描述:
《移動數(shù)據(jù)庫緩存模型探究》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在學術論文-天天文庫。
1、移動數(shù)據(jù)庫緩存模型探究 摘要:針對移動數(shù)據(jù)庫系統(tǒng)性能有待提高的問題,提出了一種移動數(shù)據(jù)庫緩存模型。采用基于消息摘要的同步算法,通過比較移動客戶端與服務器消息摘要表中的消息摘要值,完成緩存同步,維護移動客戶端緩存與服務器數(shù)據(jù)的一致性;該模型還考慮了數(shù)據(jù)的時效性與事務的優(yōu)先級,設計了一種基于價值函數(shù)的緩存替換算法。實驗結果表明,隨著緩存數(shù)據(jù)個數(shù)的增加,所提算法的緩存命中率高于最近最少使用(LRU)和LA2U算法,同時隨著訪問頻率的增加,事務的重啟率低于LRU和LA2U,有效提高了移動數(shù)據(jù)庫緩存的性能。關鍵詞:移動數(shù)據(jù)庫;緩存同步;緩存替換;一致性;數(shù)據(jù)有效性0引言
2、6在移動環(huán)境中,由于移動設備的移動性以及無線網(wǎng)絡的不穩(wěn)定,會有斷連的情況出現(xiàn),同時,移動設備沒有過多的計算能力,并且還依靠電池。由于無線網(wǎng)絡較窄的帶寬,持久并穩(wěn)定的訪問網(wǎng)絡是很難的[1-2]。移動設備在斷連時使用緩存數(shù)據(jù)來處理多種任務。對于移動數(shù)據(jù)庫,支持網(wǎng)絡斷開操作這一條件是關鍵[3]。而移動設備的存儲能力必定不能與服務器相提并論,因此使用緩存替換技術相當重要。在斷連的環(huán)境下,移動客戶端和服務器都可以對數(shù)據(jù)進行操作,故兩者存在不可避免的沖突。同步技術可以解決數(shù)據(jù)不一致,并保證數(shù)據(jù)的完整性,是移動數(shù)據(jù)庫系統(tǒng)中的重要課題[4]。移動數(shù)據(jù)庫系統(tǒng)中要滿足在斷連的情況,
3、移動客戶端也能夠進行操作,移動數(shù)據(jù)庫需要采用復制緩存技術,與之相關的研究已有一些成果。文獻[5]提出的兩級復制考慮了移動數(shù)據(jù)庫計算環(huán)境中可信網(wǎng)絡部分和無線不可靠網(wǎng)絡部分的性能差異,能有效地解決移動計算環(huán)境中頻繁斷連的問題。其缺點是暫態(tài)事務要在基節(jié)點上重做,增加了系統(tǒng)的負荷。文獻[6]提出了根據(jù)數(shù)據(jù)的讀寫頻率進行復制的動態(tài)復制算法。如果在移動數(shù)據(jù)庫系統(tǒng)中對數(shù)據(jù)的讀取很頻繁,就選擇大量的復制數(shù)據(jù)副本,這樣緩存的命中率大大提高,同時還能減少服務的負載;如果在移動端對數(shù)據(jù)的更新操作很頻繁,此時應該適當降低數(shù)據(jù)的復制,減少沖突,避免降低數(shù)據(jù)的更新速度。文獻[7]中的平均機
4、制,通過衡量每個對象的訪問頻率來決定替換的數(shù)據(jù)。訪問頻率也可以通過平均訪問時間衡量,當一個對象擁有最高的平均訪問時間,則它被替換。這個方法的缺點是它對于數(shù)據(jù)更新的反應比較遲緩。6Acharya等[8]依據(jù)三級復制[9]中所具有的廣播環(huán)境特點提出了一種實用緩存替換算法——LIX算法。該算法是在LRU(LeastRecentlyUsed)的基礎上,充分考慮了廣播頻率對緩存的影響,LIX算法也是采用棧結構,不同于LRU算法的是,每個廣播磁盤都有相對應的一個棧,而LIX維護的不是一個棧,是一組棧。緩存對象存放在棧中,棧與廣播磁盤是相對應的。如果該緩存對象被命中,則將它移
5、至棧頂。如果緩存沒有命中,且緩存已經(jīng)滿了,LIX算法只比較每個棧中棧底對象的LIX值,其中LIX值最小的對象將被替換出緩存。每次緩存替換時,LIX算法的計算量只是一個常數(shù)值。當單個移動客戶機的訪問概率和服務器廣播調(diào)度中采用的概率分布相差較大時,LIX算法的性能就越明顯。文獻[10]中的LA2U(LeastAccesstoUpdateRatio)緩存替換算法是將客戶端對數(shù)據(jù)的訪問次數(shù)與服務器對同一數(shù)據(jù)的更新次數(shù)的比值作為衡量標準,選取比值大的數(shù)據(jù)放入緩存替換比值較小的數(shù)據(jù)。而LAUD(LeastAccesstoUpdate6Difference)替換策略是將查詢頻
6、率與修改頻率的差值作為衡量標準,選取差值大的數(shù)據(jù)放入緩存,將差值小的對象替換出去。這兩個算法與傳統(tǒng)分布式緩存替換的共同點是都考慮了訪問頻率,不同之處是LA2U和LAUD還將數(shù)據(jù)的更新頻率列入考慮,因此這兩種策略的核心思想是將修改頻率高查詢頻率低的數(shù)據(jù)對象替換出去,選取修改頻率低而查詢頻率又高的數(shù)據(jù)對象替換進來。LA2U是將客戶端對數(shù)據(jù)的訪問次數(shù)與服務器對同一數(shù)據(jù)的更新次數(shù)的比值作為衡量標準,選取比值大的數(shù)據(jù)放入緩存替換掉比值較小的數(shù)據(jù)。本文的主要內(nèi)容是設計了一個緩存模型,模型包括緩存的粒度、緩存同步以及緩存替換三個部分。本文選擇元組為緩存粒度,采用了基于消息摘要
7、的同步算法,設計了一種基于數(shù)據(jù)時效性與事務優(yōu)先級的緩存替換算法,并通過實驗驗證了該模型中算法的有效性。1緩存模型如果一個移動設備的存儲容量無限,那么就可以向移動客戶端申請緩存所有的數(shù)據(jù),顯然在實際情況中,這是不現(xiàn)實的。緩存的粒度是緩存的基本問題,它可以優(yōu)化緩存能力,因此,緩存粒度的選擇對緩存模型有明顯的影響。決定了緩存的粒度之后,下一步是要選擇緩存同步算法,目的是要保持緩存的一致性。目前,已經(jīng)有許多的緩存同步算法。移動客戶端緩存命中率下降,客戶端想添加一些新的數(shù)據(jù)緩存,此時就需要采用緩存替換算法來清除一些數(shù)據(jù),為新的緩存數(shù)據(jù)騰出空間。據(jù)此,本文設計的緩存模型包括
8、緩存粒度、緩存的同步以及