專利名稱:一種節(jié)點永久離開判別方法及長期數(shù)據(jù)維護方案的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于分布式存儲技術(shù)領(lǐng)域,具體涉及一種高動態(tài)性分布式存儲系統(tǒng)中數(shù)據(jù)的長 期維護方法,能夠有效地維護分布式存儲系統(tǒng)中數(shù)據(jù)的可用性和持久性。
背景技術(shù):
分布式系統(tǒng)是組件分布在網(wǎng)絡(luò)計算機上且通過消息傳遞進行通信和動作協(xié)調(diào)的系統(tǒng)。 分布式系統(tǒng)的實例包括因特網(wǎng)、企業(yè)內(nèi)部網(wǎng)、移動和無處不在的計算以及點對點系統(tǒng)等等。
在分布式的環(huán)境下,系統(tǒng)的任意一個節(jié)點都可能隨時暫時或永久地離開系統(tǒng),這給系 統(tǒng)中的數(shù)據(jù)的可用性和持久性造成了威脅。特別是在高動態(tài)性的系統(tǒng)中,如開放性的點對 點存儲系統(tǒng),這種暫時和永久的離開將更加頻繁。針對節(jié)點暫時離線, 一般使用足夠的數(shù) 據(jù)冗余度來屏蔽數(shù)據(jù)不可訪問的問題;而對節(jié)點永久離線的問題,則是通過系統(tǒng)修復(fù)丟失 的數(shù)據(jù)副本的方法來解決。但是如何確定一個離線節(jié)點是否真正永久離開系統(tǒng)是一個難 題,這是因為節(jié)點永久離開并不會顯式地通知系統(tǒng),故看到一個節(jié)點離開時無法明確知道 其是否是永久離開。若將暫時離開誤認為是永久離開,則會浪費系統(tǒng)修復(fù)帶寬;相反,將 永久離開誤認為是暫時離開,則會導(dǎo)致存儲數(shù)據(jù)可用性和可靠性的降低。因此,對永久離 開的判斷方法對高動態(tài)性的分布式系統(tǒng)來說是至關(guān)重要的。
目前,絕大多數(shù)分布式系統(tǒng)都采用時間閾值法判斷節(jié)點是否永久離開,也即事先選定 一個時間閾值T,當(dāng)節(jié)點離線時間超過閾值T時,就判定其永久離開系統(tǒng),反之判定其為 暫時離開系統(tǒng)。
上述方法雖然能夠在一定程度上給出正確的判斷,但是其缺點也是顯而易見的。根據(jù) 不同類型節(jié)點的性質(zhì)選取判斷所用的時間閾值是一個非常困難的事情。時間閾值方法的閾 值T如果增大,則導(dǎo)致對永久離開的漏判率增高,誤判率降低;反之,T減小則漏判率降 低,誤判率增高。因此,閾值的選擇必須在漏判率和誤判率之間折衷。其結(jié)果是如果T過 大,使得系統(tǒng)不能及時修復(fù)丟失的數(shù)據(jù)副本,造成數(shù)據(jù)可用性降低,并進而造成數(shù)據(jù)丟失; 如果T過小,使系統(tǒng)進行不必要的修復(fù)工作,造成系統(tǒng)帶寬等資源的浪費。目前仍沒有研 究明確給出閾值的選取方案。根據(jù)經(jīng)驗來配置系統(tǒng)中的時間閾值顯然是不科學(xué)的,而且對 于多數(shù)系統(tǒng)管理員來說也是不可行的。
發(fā)明內(nèi)容
為了避免時間閾值法誤判率和漏判率此消彼長的矛盾,更有效地解決分布式存儲系統(tǒng) 中的由節(jié)點永久離開造成的長期數(shù)據(jù)維護問題,本發(fā)明提出了一種基于概率的節(jié)點永久離 開的判別方法,將之稱為PRObability-based deTector (以下簡稱"Protector"),可以在沒 有人工配置參數(shù)的情況下實時地維護分布式存儲系統(tǒng)中數(shù)據(jù)的副本數(shù)。 本發(fā)明的基于概率的節(jié)點永久離開判別方法包括以下步驟
1. 運行目標(biāo)系統(tǒng),觀測特定節(jié)點集合的在線行為,收集節(jié)點離線行為的信息,統(tǒng)計 收集到的節(jié)點離線行為的數(shù)據(jù),計算概率P[節(jié)點永久離開l節(jié)點離線時間大于小用FW 表示,其中f表示節(jié)點離線時間。在這一步中,要盡可能地使試運行的環(huán)境和真正的運行 階段相同,這樣使得收集的數(shù)據(jù)能夠確保Protector所使用的數(shù)據(jù)接近現(xiàn)實;其次,應(yīng)該讓 系統(tǒng)運行足夠長的時間,確保足夠多的數(shù)據(jù),使得數(shù)據(jù)具有統(tǒng)計意義。
2. 選擇一個時間間隔A,系統(tǒng)每隔時間A對所有離線的節(jié)點是否永久離線進行判斷。 對其中任意一個節(jié)點的某一次離線,假設(shè)f,表示第《i》ft iey^次探測到的節(jié)點離線時長, 用i f^表示在這次離線中該節(jié)點在第次被判斷為沒有永久離開的條件下在第/次判斷的 時刻永久離開系統(tǒng)的概率,稱之為增量概率,其中^滿足如下公式
0 , / = 0 ",z' = 1 , + , / > l且z' e iV
其中Z是第一次探測到的離線時長(y《」/)。對該節(jié)點,Protector在進行從節(jié)點離線開始的
第/次判斷其是否永久離線時,以概率p^判斷其永久離線。增量概率;^卩滿足如下條件 對該節(jié)點的一次離線,依次以概率p^(其中0《/《i)判斷其永久離線,假設(shè)前/-7次判斷 中均被判定為未永久離開,則在G時刻,前n欠使用增量概率判斷節(jié)點是否永久離線的累 積作用效果與使用^r^直接判斷節(jié)點是否永久離線的效果相同。因此,可根據(jù)i^j計算出南。
例如,可以在步驟1中收集下列信息系統(tǒng)試運行中永久離開系統(tǒng)的節(jié)點總數(shù)M,所
有暫時離線中,時間大于Z的次數(shù)AY",則AYW是所有暫時離線的次數(shù);然后按照如下方 法計算節(jié)點永久離線的概率以及用于增量判斷的概率
某一次離線是永久離線的概率為
巧永久離開]=Ar/nM H
l 」 ,)+ M
而某一次離線(包括永久和暫時離線)時間能超過^的概率為
順線時間大刊=^ 因為永久離開的節(jié)點其離線時間必然大于"因此可得-
<formula>formula see original document page 7</formula>
Protector對節(jié)點永久離開的判斷不是一次完成的,而是多次增量完成的。假設(shè)多次觀 察到某節(jié)點的離線時長分別是& ,/, 。, ..., 4 ...,其中&為0。若第/次以j^,)的概率判 斷節(jié)點為永久離開,則p")應(yīng)滿足如下條件,
<formula>formula see original document page 7</formula> (2)
也即經(jīng)過/次判斷,節(jié)點仍被認為未永久離開的概率應(yīng)等于其離線,,時間實際未永久 離開的概率。由/<0)=0,解(2)可得
<formula>formula see original document page 7</formula>
在,,時刻需要判斷系統(tǒng)中存活的節(jié)點數(shù)目時,對當(dāng)前離線的節(jié)點以增量概率p^判斷 其永久離開,可以使用生成隨機數(shù)的方法。如以60%的概率判斷某節(jié)點永久離開,那么生 成一個位于區(qū)間[1,10]的隨機整數(shù),如果該隨機數(shù)落在區(qū)間[1,6],則判斷該節(jié)點永久離開, 如果落在區(qū)間[7,10],則認為該節(jié)點未永久離開。
上述基于概率的節(jié)點永久離開判別方法基于如下工作原理
首先,該方法并不追求對分布式存儲系統(tǒng)中各個節(jié)點狀態(tài)的精確判斷,而是使對節(jié)點 永久離開系統(tǒng)的判斷的誤判率和漏判率相等,通過抵消誤判和漏判的效果,從而對當(dāng)前仍 然存在的副本數(shù)給出較為準(zhǔn)確的判斷,進而達到維護分布式系統(tǒng)中數(shù)據(jù)的副本數(shù)的目標(biāo)。
例如圖1給出了一個數(shù)據(jù)的5個副本所在節(jié)點于某時刻的存活狀態(tài),以及Protector 的判斷狀態(tài)。其中節(jié)點和是已經(jīng)永久離開的節(jié)點,其它節(jié)點均是仍存活的節(jié)點; Protector此時認為節(jié)點和節(jié)點是永久離開的節(jié)點,而其它節(jié)點是未永久離開的節(jié)點。 一般的T閾值判別器會努力調(diào)整其閾值以避免對節(jié)點7V2的誤判,以及避免對7W的漏判; 而Protector追求系統(tǒng)中的漏判率和誤判率的平衡,努力讓誤判率等于漏判率。在錯誤!未
找到引用源。所示的情況中,有一個節(jié)點(N4)被漏判,同時一個節(jié)點(N1)被誤判,Protector
認為這是一個好的判斷結(jié)果。這是因為雖然Protector對兩個獨立節(jié)點判斷出錯,但其認
為有3個副本存活,故需要修復(fù)2個副本;而實際情況也是有3個副本存活,需要修復(fù)2
個副本。根據(jù)此判斷結(jié)果,修復(fù)2個副本則恰巧滿足維護5個副本的需求。
Protector如何做到誤判率和漏判率相等?假設(shè)已知先驗概率P[節(jié)點永久離開l節(jié)點離
線時間大于t],用F(^表示。若觀察到節(jié)點離線時間為6則以F^的概率認為這個節(jié)點永
久離開了系統(tǒng)。此時對節(jié)點的誤判率為(7-i^"FW,而對節(jié)點的漏判率為尸^(7-F(U)。這樣 誤判率和漏判率是一樣的。
其次,該方法是基于概率的增量的判別方法,也就是說周期性地對系統(tǒng)中的節(jié)點給出 永久離線的概率,用以判斷節(jié)點是否永久離線,并且使得從系統(tǒng)開始以來對節(jié)點永久離線 的判斷的累積的概率和真實系統(tǒng)中節(jié)點永久離開的概率相同。這樣就對真實系統(tǒng)中節(jié)點的 永久離線情況進行了很好的模擬,從而達到準(zhǔn)確判斷系統(tǒng)中節(jié)點永久離線的目的。
考慮一個系統(tǒng)中的節(jié)點^在當(dāng)前時刻己經(jīng)離線了很長時間,例如10天。Protector不 是只在第10天才去判斷該節(jié)點是否永久離開,否則將很有可能漏判了永久離開。相反, Protector在10天范圍內(nèi)每隔一段時間就增量的判斷一次該節(jié)點是否永久離開,例如可以用 1天作為時間間隔不斷判斷。假設(shè)發(fā)現(xiàn)節(jié)點連續(xù)W天(KJ/)不在線時Protector仍判斷其未 永久離開,則當(dāng)發(fā)現(xiàn)節(jié)點連續(xù)/天不在線時Protector可以用一個相對于天的增量概率 天)來判定節(jié)點是否永久離開。
另外,在穩(wěn)定的分布式系統(tǒng)中,不同性質(zhì)的節(jié)點的永久離開的概率是穩(wěn)定的。因而, 在Protector初始化時獲得的節(jié)點永久離開的概率是可以在系統(tǒng)往后的運行中使用,從而使 得增量判斷有了現(xiàn)實的依據(jù)。
在得到系統(tǒng)中節(jié)點永久離開的增量判別概率后,可以使用如下的方法進行系統(tǒng)中數(shù)據(jù) 的長期維護。
1. 分發(fā)副本。根據(jù)節(jié)點的動態(tài)性和數(shù)據(jù)的目標(biāo)可用性,評估出維護數(shù)據(jù)所需要的副 本數(shù)n,然后將這些副本存儲到一個有n個節(jié)點的節(jié)點組X上。例如,圖2中設(shè)定數(shù)據(jù)需 要維護3個副本。
2. 利用上述的節(jié)點永久離開判別方法周期性判斷當(dāng)前仍存活的副本數(shù)。副本分發(fā)完
成后,每隔一定時間觀測節(jié)點組X中的節(jié)點,例如在圖2中,在&0,...,^ ...這些時間點
觀測節(jié)點組X中的節(jié)點;根據(jù)節(jié)點的當(dāng)前離線時間判斷節(jié)點組X中仍存活的節(jié)點數(shù)m。其
中,節(jié)點當(dāng)前離線時間指節(jié)點最后一次離線時間和觀測時間的差值,例如圖2中^時刻節(jié)
點2的離線時間為Jw。W,。如果某節(jié)點在上一次判斷時被判為永久離開,且其在上一次判 斷至此次判斷的時間內(nèi)沒有再次上線過,則直接判定該節(jié)點為永久離開;而對其他當(dāng)前離 線節(jié)點以增量概率;YW判斷其永久離線。判斷的具體流程如下
a) 更新誤判節(jié)點狀態(tài)。若節(jié)點在U寸被判為永久離開,但其在".y, q時間內(nèi)再次上 線過,則更新這個節(jié)點的狀態(tài)為未永久離開。例如圖2中節(jié)點1在&時被誤判為
永久離開,其在6時刻之前再次上線,故應(yīng)標(biāo)記其為未永久離開。
b) 針對節(jié)點組X中當(dāng)前狀態(tài)為未永久離開的節(jié)點,用Protector判斷其是否永久離開。 若節(jié)點當(dāng)前在線,則標(biāo)記為未永久離開;若節(jié)點當(dāng)前離線時間為d,則以增量判別 概率;Y《判斷其為永久離開。如圖2中r,時刻,節(jié)點3必然未永久離開,節(jié)點1 則以;^,々')的概率被判為永久離開,節(jié)點2則以;7^v^2,,)的概率被判為永久離開。
3.在^時刻,根據(jù)步驟2的判斷結(jié)果修復(fù)丟失的數(shù)據(jù)副本。若步驟2中判斷當(dāng)前存活 副本數(shù)為w',其小于n,則系統(tǒng)修復(fù)"-w'個數(shù)據(jù)副本到當(dāng)前在線的且不屬于節(jié)點組X的 個節(jié)點上,并將這些節(jié)點加入到組X中。在圖2中,^時刻判斷結(jié)果是系統(tǒng)中僅剩2個 副本,故會修復(fù)出一個新的副本到節(jié)點4;在/,時刻,雖然節(jié)點2被判為永久離開,但總 副本數(shù)為3,不少于需要的副本數(shù),故不觸發(fā)修復(fù)。再次間隔一定時間,在6w時刻系統(tǒng)重 復(fù)運行步驟2。
與目前所使用的用于判斷節(jié)點永久離開的時間閾值法不同,本發(fā)明的判別方法通過抵 消誤判率和漏判率,并且依據(jù)真實系統(tǒng)中節(jié)點的永久離線的概率進行增量的判斷,這樣可 以在沒有人工參與調(diào)節(jié)的情況下,達到時間閾值法能夠達到的最優(yōu)效果。
模擬實驗證明,使用本發(fā)明的數(shù)據(jù)維護方案維護的數(shù)據(jù)副本數(shù)和使用最優(yōu)的時間閾值 的方案效果相同,都非常接近實際的副本數(shù)目,而使用非最優(yōu)時間閾值的方案維護的副本 數(shù)要高實際副本數(shù),浪費了系統(tǒng)的資源;其次,使用本發(fā)明的數(shù)據(jù)維護方案和使用最優(yōu)的 時間閾值的方案都使低于目標(biāo)副本數(shù)的時間很短,而使用非最優(yōu)時間閾值的方案低于目標(biāo) 副本數(shù)的時間很長,使得目標(biāo)數(shù)據(jù)的可用性降低。
圖1是節(jié)點永久離開的判斷示意圖。
圖2是用于解釋本發(fā)明數(shù)據(jù)維護方案的例子的示意圖。
圖3示意了本發(fā)明實施例中不同判別方法所維護的副本數(shù)均值。
圖4示意了本發(fā)明實施例中不同判別方法低于目標(biāo)副本數(shù)的時長均值。 圖5示意了本發(fā)明實施例中不同判別方法所維護的最低副本數(shù)的均值。 圖6示意了本發(fā)明實施例中不同判別方法的數(shù)據(jù)修復(fù)個數(shù)均值。
具體實施例方式
以下具體介紹使用本發(fā)明判別方法進行長期數(shù)據(jù)維護的模擬實驗,并與時間閾值法的 維護效果進行了比較。該實驗使用Maze系統(tǒng)(北京大學(xué)網(wǎng)絡(luò)實驗室開發(fā)的P2P文件共享 系統(tǒng),中心服務(wù)器可以以日志的形式記錄用戶上下線行為)的日志中提取的節(jié)點上下線信 息,模擬使用本發(fā)明方法進行數(shù)據(jù)維護;然后模擬使用傳統(tǒng)時間閾值法進行維護,并比較 使用本發(fā)明方法維護的效果和使用時間閾值法維護的效果。 1.實施步驟
A模擬Protector方法維護數(shù)據(jù)
該實驗可以分為兩個階段獲取概率和數(shù)據(jù)維護。獲取概率階段就是收集系統(tǒng)運行過 程中節(jié)點離線行為的數(shù)據(jù)信息,計算用于判斷節(jié)點永久離開的增量判別概率;數(shù)據(jù)維護階 段就是使用前一階段獲得的概率,采用本發(fā)明的基于概率的節(jié)點永久離開判別方法對系統(tǒng) 中的數(shù)據(jù)副本進行維護。
第一階段,獲取概率-
1. 選取Maze系統(tǒng)中2005年3月1日至2005年5月31日的用戶在線日志,并選擇 其中具有相同MTTR (平均下線時間) 一組節(jié)點的上下線信息作為計算增量判別概率的數(shù) 據(jù)。
2. 對該組節(jié)點統(tǒng)計一個月內(nèi)的上下線信息,以在下個月連續(xù)25天沒有上線作為節(jié)點 永久離開系統(tǒng)的標(biāo)準(zhǔn)。統(tǒng)計其中永久離開系統(tǒng)的節(jié)點總數(shù)M;所有暫時離線中,時間大于 f的次數(shù)JVW,其中A^)是所有暫時離線的次數(shù)。
3. 按照本發(fā)明的方法計算出節(jié)點永久離線的概率P[節(jié)點永久離開l節(jié)點離線時間大于 /](用F^表示)和增量概率;^」。
第二階段,數(shù)據(jù)維護-
1. 根據(jù)系統(tǒng)的軟硬件資源以及系統(tǒng)中數(shù)據(jù)的重要性,選擇合適的Protector檢查的周 期。注意,如果周期太短,將使得Protector占用較多的資源;相反,如果周期太長,則有 可能漏判永久離開的節(jié)點,降低維護數(shù)據(jù)的效果。這里使用/=7小時作為判斷的間隔,使 用第一階段計算出的增量概率函數(shù)P^作為Protector判斷的標(biāo)準(zhǔn)。
2. 系統(tǒng)根據(jù)目標(biāo)可用性使用一定的方法計算出的數(shù)據(jù)目標(biāo)副本數(shù)",然后使用直接分
發(fā)的方式將數(shù)據(jù)分發(fā)到存儲節(jié)點組Y上。
3.分發(fā)完成后,Protector每隔時間tl小時(標(biāo)記為U,...)觀測節(jié)點組Y中的 節(jié)點。根據(jù)節(jié)點的當(dāng)前離線時間判斷節(jié)點組Y中仍存活的節(jié)點數(shù)m。判斷的具體流程如下:
a) 更新誤判節(jié)點狀態(tài)。若節(jié)點在&時被判為永久離開,但其在(&,"時間內(nèi)再次 上線過,則更新這個節(jié)點的狀態(tài)為未永久離開。
b) 針對節(jié)點組Y中當(dāng)前狀態(tài)為未永久離開的節(jié)點,用Protector判斷其是否永久 離開。若節(jié)點當(dāng)前在線,則標(biāo)記為未永久離開;若節(jié)點當(dāng)前離線時間為A則以增量 判別概率p^)判斷其為永久離開。
c) 在^時刻,根據(jù)Protector的判斷結(jié)果修復(fù)丟失的數(shù)據(jù)副本。若第二步中判斷當(dāng) 前存活副本數(shù)為《'小于m則系統(tǒng)修復(fù)w-"'個數(shù)據(jù)副本到當(dāng)前在線的且不屬于節(jié)點組Y 的n-W個節(jié)點上,并將這些節(jié)點加入到組Y中。再次間隔時間f,系統(tǒng)運行第a)步。
B模擬時間閾值法維護數(shù)據(jù)
1. 系統(tǒng)根據(jù)目標(biāo)可用性使用一定的方法計算出的數(shù)據(jù)目標(biāo)副本數(shù)m然后使用直接分 發(fā)的方式將數(shù)據(jù)分發(fā)到存儲節(jié)點組Z上
2. 當(dāng)節(jié)點離線時間超過時間標(biāo)準(zhǔn)r,則認為該節(jié)點永久離線。如果當(dāng)前存在的數(shù)據(jù)副
本數(shù)"'小于目標(biāo)數(shù)目《,則修復(fù)w-w'個數(shù)據(jù)副本到當(dāng)前在線的且不屬于節(jié)點組Z的w-"'個
節(jié)點上,并將這些節(jié)點加入到組z中。
2.實施效果
與目前所使用的用于判斷節(jié)點永久離開的時間閾值法不同,Protector通過抵消誤判率 和漏判率,并且依據(jù)真實系統(tǒng)中節(jié)點的永久離線的概率進行增量的判斷。這樣使得Protector 可以在沒有人工參與調(diào)節(jié)的情況下,達到時間閾值法能夠達到的最優(yōu)效果。下面從以下4 個性能指標(biāo)對Protector和時間閾值法進行比較
1. 維護的實際副本數(shù)的N次實驗均值;
2. 低于目標(biāo)副本數(shù)的時間長度的N次實驗均值;
3. 每次實驗出現(xiàn)的最低副本數(shù)的N次實驗均值;
4. 修復(fù)的副本數(shù)的N次實驗均值。
參與比較的是Protector判別器、40小時閾值判別器和6080小時閾值判別器。其中設(shè) 定40小時閾值是接近真實系統(tǒng)的節(jié)點永久離開的判斷標(biāo)準(zhǔn)。
2.1維護的副本數(shù)
圖3表明,在各種目標(biāo)副本數(shù)的情況下80小時閾值判別器均可使實際副本數(shù)均值與 目標(biāo)副本數(shù)一致,而Protector和40小時閾值判別器的實際副本數(shù)均值保持一致,都略高 于目標(biāo)副本數(shù)。
2.2低于目標(biāo)副本數(shù)的時間長度
從圖4可發(fā)現(xiàn),隨著目標(biāo)副本數(shù)的增大,80小時閾值判別器所造成的實際副本數(shù)低 于目標(biāo)副本數(shù)的時間長度不斷增大,最大時接近150小時,約是總維護時間的1/4。當(dāng)實 際副本數(shù)低于目標(biāo)副本數(shù)時,數(shù)據(jù)的可用性會低于目標(biāo)可用性,因此80小時閾值判別器 并不能很好的滿足系統(tǒng)需求。相反,Protector和40小時閾值判別器卻能將低于目標(biāo)副本數(shù) 的時間控制在10小時左右,是可以滿足實際需求的。
2.3最低副本數(shù)
在實際副本數(shù)最低時,數(shù)據(jù)的可用性將達到最低值。圖5給出了三個判別器所維護的 最低副本數(shù)均值。其中40小時閾值判別器和Protector的最低副本數(shù)均值都與目標(biāo)副本數(shù) 基本一致。然而,80小時閾值判別器的最低副本數(shù)均值卻一直低于目標(biāo)副本數(shù)。這也說明 80小時閾值判別器不能滿足系統(tǒng)需求。
2.4修復(fù)的副本數(shù)
圖4給出了三個判別器所修復(fù)的副本數(shù)均值,不難發(fā)現(xiàn)40小時閾值判別器和Protector 所消耗的修復(fù)帶寬是相當(dāng)?shù)摹?br>
從上述比較中可以得到如下結(jié)論第一,使維護副本數(shù)均值與目標(biāo)副本數(shù)一致的T閾 值判別器不能滿足系統(tǒng)的需求,其會造成長時間內(nèi)數(shù)據(jù)可用性低于目標(biāo)可用性;第二,在 實際系統(tǒng)中誤判率略高的Protector恰好能很好的滿足系統(tǒng)數(shù)據(jù)維護的需求,當(dāng)然還可以調(diào) 節(jié)Protector的目標(biāo)副本數(shù)比實際目標(biāo)副本數(shù)略高以確保實際維護副本數(shù)高于實際目標(biāo)副本 數(shù);第三,與Protector能達到相同實際副本數(shù)均值的T閾值判別器的各項效果指標(biāo)不優(yōu)于 Protector。因此,Protector能夠自動配置達到與人工選擇的最優(yōu)T閾值判別器相同的數(shù)據(jù) 維護效果。
權(quán)利要求
1.一種分布式存儲系統(tǒng)中節(jié)點永久離開判別方法,包括下列步驟1)試運行目標(biāo)分布式存儲系統(tǒng),收集特定節(jié)點集合中節(jié)點離線行為的信息,統(tǒng)計數(shù)據(jù),計算概率F(t)=P[節(jié)點永久離開|節(jié)點離線時間大于t],其中t表示節(jié)點離線時間;2)系統(tǒng)正式運行后,每隔一個時間間隔Δt對每個當(dāng)前離線的節(jié)點以增量概率p(ti)判斷其永久離線p(ti)表示某節(jié)點在某一次離線中在第i-1次被判斷為沒有永久離開的條件下在第i次判斷的時刻永久離開系統(tǒng)的概率,ti表示第i次判斷時節(jié)點離線時長,則其中γ≤Δt;增量概率p(ti)滿足如下條件假設(shè)前i-1次判斷中均被判定為未永久離開,則在ti時刻,前i次使用增量概率判斷節(jié)點是否永久離線的累積作用效果與使用F(ti)直接判斷節(jié)點是否永久離線的效果相同。
2. 根據(jù)權(quán)利要求1所述的節(jié)點永久離開判別方法,其特征在于在所述步驟l)收 集如下信息永久離開系統(tǒng)的節(jié)點總數(shù)M,所有暫時離線中,時間大于f的次數(shù) 卿,得<formula>formula see original document page 2</formula>
3.根據(jù)權(quán)利要求1所述的節(jié)點永久離開判別方法,其特征在于所述步驟2)中;^,)滿足的條件具體是<formula>formula see original document page 2</formula>由; (0"0可得<formula>formula see original document page 2</formula>
4. 根據(jù)權(quán)利要求1所述的節(jié)點永久離開判別方法,其特征在于在所述步驟2)中對于當(dāng)前離線的節(jié)點,根據(jù)其增量概率;7(^的值使用生成隨機數(shù)的方法判斷其是 否永久離開系統(tǒng)。
5. —種對分布式存儲系統(tǒng)中的數(shù)據(jù)進行長期維護的方法,包括下列步驟-1) 根據(jù)節(jié)點的動態(tài)性和數(shù)據(jù)的目標(biāo)可用性,評估出維護數(shù)據(jù)所需要的副本數(shù)n, 然后將這些副本存儲到一個有n個節(jié)點的節(jié)點組X上;2) 試運行系統(tǒng),收集節(jié)點組X中節(jié)點離線行為的信息,統(tǒng)計數(shù)據(jù),計算概率 F^^P[節(jié)點永久離開I節(jié)點離線時間大于小其中,表示節(jié)點離線時間;3) 系統(tǒng)正式運行后,每隔一個時間間隔A對節(jié)點組X中的每個當(dāng)前離線節(jié)點進行判斷如果某節(jié)點在上一次判斷時被判為永久離開,且其在上一次判斷 至此次判斷的時間內(nèi)沒有再次上線過,則直接判定該節(jié)點為永久離開;而對 其他當(dāng)前離線節(jié)點以增量概率判斷其永久離線表示某節(jié)點在某 一次離線中在第/-7次被判斷為沒有永久離開的條件下在第/次判斷的時刻 永久離開系統(tǒng)的概率,6表示第/次判斷時節(jié)點離線時長,貝ll:<f ormula>formula see original document page 3</formula>其中^《A;增量概率/7^滿足如下條件假設(shè)前/-7次判斷中均被判定為未永久離開,則在0時刻,前"欠使用增量概率判斷節(jié)點是否永久離線的累積 作用效果與使用F"^直接判斷節(jié)點是否永久離線的效果相同;4) 根據(jù)步驟3)的判斷結(jié)果,得到當(dāng)前存活的副本數(shù)"';5) 若"'<11,則修復(fù)"-"'個數(shù)據(jù)副本到當(dāng)前在線的且不屬于節(jié)點組X的"-w'個節(jié)點上,并將這些節(jié)點加入到節(jié)點組X中,若W^1,則不觸發(fā)修復(fù);6) 以時間間隔A周期性重復(fù)步驟3)、 4)和5)。
6. 根據(jù)權(quán)利要求5所述的對分布式存儲系統(tǒng)中的數(shù)據(jù)進行長期維護的方法,其特 征在于在所述步驟2)收集如下信息永久離開系統(tǒng)的節(jié)點總數(shù)M,所有暫時離線中,時間大于f的次數(shù)AY仏得 <formula>formula see original document page 4</formula>
7.根據(jù)權(quán)利要求5所述的對分布式存儲系統(tǒng)中的數(shù)據(jù)進行長期維護的方法,其特 征在于所述步驟3)中p&)滿足的條件具體是由/ (0)=0可得<formula>formula see original document page 4</formula>
8.根據(jù)權(quán)利要求5所述的對分布式存儲系統(tǒng)中的數(shù)據(jù)進行長期維護的方法,其特 征在于在所述步驟3)中對于當(dāng)前離線的節(jié)點,根據(jù)其增量概率pf^的值使用 生成隨機數(shù)的方法判斷其是否永久離開系統(tǒng)。
全文摘要
本發(fā)明提出了一種基于概率的增量的節(jié)點永久離開判別方法,即周期性地對分布式存儲系統(tǒng)中的節(jié)點給出永久離線的概率,并且使得從系統(tǒng)開始以來對節(jié)點永久離線的判斷的累積的概率和真實系統(tǒng)中節(jié)點永久離開的概率相同。該方法并不追求對分布式存儲系統(tǒng)中各個節(jié)點狀態(tài)的精確判斷,而是使對節(jié)點永久離開判斷的誤判率和漏判率相等,通過抵消誤判和漏判的效果,從而對當(dāng)前仍然存在的副本數(shù)給出較為準(zhǔn)確的判斷,進而達到維護分布式系統(tǒng)中數(shù)據(jù)副本數(shù)的目標(biāo)。利用該方法可以在沒有人工配置參數(shù)的情況下實時地維護分布式存儲系統(tǒng)中數(shù)據(jù)的副本數(shù),避免時間閾值法誤判率和漏判率此消彼長的矛盾,能夠有效地維護分布式存儲系統(tǒng)中數(shù)據(jù)的可用性和持久性。
文檔編號H04L12/26GK101350731SQ20071011915
公開日2009年1月21日 申請日期2007年7月17日 優(yōu)先權(quán)日2007年7月17日
發(fā)明者嵩 丁, 代亞非, 智 楊, 敬 田 申請人:北京大學(xué)