一種獲取文件塊引用計(jì)數(shù)的方法、普通客戶端和管理客戶端的制作方法
【專利說明】一種獲取文件塊引用計(jì)數(shù)的方法、普通客戶端和管理客戶上山
Ji而
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種獲取文件塊引用計(jì)數(shù)方法、普通客戶端和管理客戶端。
【背景技術(shù)】
[0002]云存儲(chǔ)是指企業(yè)或個(gè)人通過供應(yīng)商提供的云存儲(chǔ)服務(wù),將數(shù)據(jù)備份到云存儲(chǔ)系統(tǒng)上,以節(jié)約成本,更好的備份本地?cái)?shù)據(jù)以及異地處理日常數(shù)據(jù)。
[0003]云存儲(chǔ)服務(wù)的成本與兩個(gè)重要因素有關(guān):存儲(chǔ)的數(shù)據(jù)量和存儲(chǔ)的時(shí)間。由于存儲(chǔ)的時(shí)間是無法縮短的,因此,減少存儲(chǔ)的數(shù)據(jù)量成為降低將數(shù)據(jù)備份到云存儲(chǔ)系統(tǒng)中的成本的最直接途徑。
[0004]要減少存儲(chǔ)的數(shù)據(jù)量,通常采用重復(fù)數(shù)據(jù)刪除的方法,S卩,將存儲(chǔ)到云存儲(chǔ)系統(tǒng)的文件切分成很多塊,相同的塊在云存儲(chǔ)系統(tǒng)中只存儲(chǔ)一份,其他的被刪除。
[0005]要實(shí)現(xiàn)重復(fù)數(shù)據(jù)刪除,需要有效記錄每個(gè)塊被引用的次數(shù),在現(xiàn)有技術(shù)中,用戶面向一個(gè)專用代理端,該代理端面向云存儲(chǔ)系統(tǒng),用于對全局的引用計(jì)數(shù)鎖進(jìn)行控制和修改。當(dāng)用戶需要對一個(gè)文件塊進(jìn)行引用計(jì)數(shù)的修改時(shí),向所述代理端發(fā)送修改請求。
[0006]通過引用計(jì)數(shù)鎖進(jìn)行引用計(jì)數(shù)的修改,每次只有一個(gè)請求能夠修改引用計(jì)數(shù)。
[0007]然而,采用這種方式會(huì)帶來如下兩個(gè)問題:
[0008]第一個(gè)問題,必須采用專用的代理端,帶來了較為昂貴的成本開銷。
[0009]第二個(gè)問題,采用專用代理端使用鎖機(jī)制進(jìn)行引用計(jì)數(shù),當(dāng)海量用戶需要同時(shí)修改某個(gè)塊的引用計(jì)數(shù)時(shí),只能按照順序,一次只有一個(gè)用戶的請求能夠修改引用計(jì)數(shù),無法并行修改,導(dǎo)致處理速度較低。
【發(fā)明內(nèi)容】
[0010]本發(fā)明的實(shí)施例提供一種獲取文件塊引用計(jì)數(shù)的方法、普通客戶端和管理客戶端,通過該方法,不但能夠解決使用專用代理端所帶來的海量用戶同時(shí)對一個(gè)文件塊的引用計(jì)數(shù)進(jìn)行修改時(shí)專用代理端處理速度較慢的問題,還避免了搭建專用代理端所帶來的昂貴成本。
[0011]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0012]第一方面,本發(fā)明實(shí)施例提供了一種獲取文件塊引用計(jì)數(shù)的方法,該方法應(yīng)用于云存儲(chǔ)架構(gòu),該架構(gòu)包括云存儲(chǔ)系統(tǒng)和多個(gè)客戶端,其中,所述多個(gè)客戶端與所述云存儲(chǔ)系統(tǒng)相連接,所述云存儲(chǔ)系統(tǒng)包括處理器和存儲(chǔ)器,所述多個(gè)客戶端中的一個(gè)客戶端作為管理客戶端,其他客戶端作為普通客戶端,該方法包括:
[0013]所述普通客戶端向云存儲(chǔ)系統(tǒng)發(fā)起對文件塊的訪問請求;
[0014]所述普通客戶端確定所述文件塊的引用計(jì)數(shù)對象的類型,其中,所述引用計(jì)數(shù)對象用于表示所述文件塊的引用計(jì)數(shù),所述引用計(jì)數(shù)對象的類型包括引用計(jì)數(shù)加I或引用計(jì)數(shù)減1,所述引用計(jì)數(shù)對象包含所述文件塊的唯一標(biāo)識(shí)信息;
[0015]所述普通客戶端根據(jù)所述引用計(jì)數(shù)對象的類型,向所述云存儲(chǔ)系統(tǒng)發(fā)送對應(yīng)的引用計(jì)數(shù)對象,所述引用計(jì)數(shù)對象被存儲(chǔ)在所述云存儲(chǔ)系統(tǒng)的存儲(chǔ)器中。
[0016]在第一種可能的實(shí)施方式中,結(jié)合第一方面,所述文件塊的唯一標(biāo)識(shí)信息包含所述文件塊的指紋信息、客戶端信息、進(jìn)程信息和時(shí)間信息。
[0017]第二方面,本發(fā)明實(shí)施例提供了一種獲取文件塊引用計(jì)數(shù)的方法,該方法應(yīng)用于云存儲(chǔ)架構(gòu),該架構(gòu)包括云存儲(chǔ)系統(tǒng)和多個(gè)客戶端,其中,所述多個(gè)客戶端與所述云存儲(chǔ)系統(tǒng)相連接,所述云存儲(chǔ)系統(tǒng)包括處理器和存儲(chǔ)器,所述多個(gè)客戶端中的一個(gè)客戶端作為管理客戶端,其他客戶端作為普通客戶端,該方法包括:
[0018]所述管理客戶端從所述云存儲(chǔ)系統(tǒng)獲取與所述云存儲(chǔ)系統(tǒng)相連的所有所述普通客戶端發(fā)送的文件塊所對應(yīng)的引用計(jì)數(shù)對象,其中,所述引用計(jì)數(shù)對象用于表示所述文件塊的引用計(jì)數(shù),所述引用計(jì)數(shù)對象包含所述文件塊的唯一標(biāo)識(shí)信息;
[0019]所述管理客戶端根據(jù)所有所述普通客戶端發(fā)送的所述文件塊所對應(yīng)的引用計(jì)數(shù)對象的個(gè)數(shù)和類型,獲取所述文件塊的引用計(jì)數(shù)。
[0020]在第一種可能的實(shí)施方式中,結(jié)合第二方面,所述獲取所述文件塊的引用計(jì)數(shù)之后,該方法還包括:
[0021]若獲取所述文件塊的引用計(jì)數(shù)為0,所述管理客戶端向所述云存儲(chǔ)系統(tǒng)發(fā)送第一請求信息,所述第一請求信息中包含請求所述處理器將所述文件塊以及所述所有所述普通客戶端發(fā)送的所述文件塊所對應(yīng)的引用計(jì)數(shù)對象刪除的信息。
[0022]在第二種可能的實(shí)施方式中,結(jié)合第二方面或第一種可能的實(shí)施方式,所述獲取所述文件塊的引用計(jì)數(shù)之后,該方法還包括:
[0023]所述管理客戶端保存第一記錄消息,所述第一記錄消息用于記錄所述文件塊的引用計(jì)數(shù),所述第一記錄消息中包含所述文件塊的指紋信息;
[0024]所述管理客戶端向所述云存儲(chǔ)系統(tǒng)發(fā)送第二請求信息,所述第二請求信息中包含請求所述處理器將所述所有普通客戶端發(fā)送的所述文件塊所對應(yīng)的引用計(jì)數(shù)對象刪除的信息。
[0025]在第三種可能的實(shí)施方式中,結(jié)合第二方面或第一種可能的實(shí)施方式,所述獲取所述文件塊的引用計(jì)數(shù)之后,該方法還包括:
[0026]所述管理客戶端向所述云存儲(chǔ)系統(tǒng)發(fā)送一個(gè)狀態(tài)對象,所述狀態(tài)對象用于表示所述文件塊的引用計(jì)數(shù),所述狀態(tài)對象包含所述文件塊的指紋信息;
[0027]所述管理客戶端向所述云存儲(chǔ)系統(tǒng)發(fā)送第三請求信息,所述第三請求信息中包含請求所述處理器將所述所有普通客戶端發(fā)送的所述文件塊所對應(yīng)的引用計(jì)數(shù)對象刪除的信息。
[0028]第三方面,本發(fā)明實(shí)施例提供了一種普通客戶端,所述普通客戶端與云存儲(chǔ)系統(tǒng)直接相連接,所述云存儲(chǔ)系統(tǒng)包括處理器和存儲(chǔ)器,所述普通客戶端包括:第一發(fā)送單元,確定單元和第二發(fā)送單元;
[0029]所述第一發(fā)送單元,用于向云存儲(chǔ)系統(tǒng)發(fā)起對文件塊的訪問請求;
[0030]所述確定單元,用于確定所述文件塊的引用計(jì)數(shù)對象的類型,其中,所述引用計(jì)數(shù)對象用于表示所述文件塊的引用計(jì)數(shù),所述引用計(jì)數(shù)對象的類型包括引用計(jì)數(shù)加I或引用計(jì)數(shù)減1,所述引用計(jì)數(shù)對象包括所述文件塊的唯一標(biāo)識(shí)信息;
[0031]所述第二發(fā)送單元,用于根據(jù)所述引用計(jì)數(shù)對象的類型,向所述云存儲(chǔ)系統(tǒng)發(fā)送對應(yīng)的引用計(jì)數(shù)對象,所述引用計(jì)數(shù)對象被存儲(chǔ)在所述云存儲(chǔ)系統(tǒng)的存儲(chǔ)器中。
[0032]在第一種可能的實(shí)施方式中,結(jié)合第三方面,所述文件塊的唯一標(biāo)識(shí)信息包含所述文件塊的指紋信息、客戶端信息、進(jìn)程信息和時(shí)間信息。
[0033]第四方面,本發(fā)明實(shí)施例提供了一種管理客戶端,所述管理客戶端與云存儲(chǔ)系統(tǒng)直接相連接,所述云存儲(chǔ)系統(tǒng)包括處理器和存儲(chǔ)器,所述管理客戶端包括:第一獲取單元和第二獲取單元;
[0034]所述第一獲取單元,用于從所述云存儲(chǔ)系統(tǒng)獲取與所述云存儲(chǔ)系統(tǒng)相連的所有所述普通客戶端發(fā)送的文件塊所對應(yīng)的引用計(jì)數(shù)對象,其中,所述引用計(jì)數(shù)對象用于表示所述文件塊的引用計(jì)數(shù),所述引用計(jì)數(shù)對象包含所述文件塊的唯一標(biāo)識(shí)信息;
[0035]所述第二獲取單元,用于根據(jù)所有所述普通客戶端發(fā)送的所述文件塊所對應(yīng)的引用計(jì)數(shù)對象的個(gè)數(shù)和類型,獲取所述文件塊的引用計(jì)數(shù)。
[0036]在第一種可能的實(shí)施方式中,結(jié)合第四方面,所述管理客戶端還包括:發(fā)送單元;
[0037]所述發(fā)送單元,用于若所述文件塊的引用計(jì)數(shù)為0,向所述云存儲(chǔ)系統(tǒng)發(fā)送第一請求信息,所述第一請求信息中包含請求所述處理器將所述文件塊以及所述所有普通客戶端發(fā)送的所述文件塊所對應(yīng)的引用計(jì)數(shù)對象刪除的信息。
[0038]在第二種可能的實(shí)施方式中,結(jié)合第四方面或第一種可能的實(shí)施方式,所述管理客戶端還包括:記錄單元;
[0039]所述記錄單元,用于保存第一記錄消息,所述第一記錄消息用于記錄所述文件塊的引用計(jì)數(shù),所述第一記錄消息中包含所述文件塊的指紋信息;
[0040]所述發(fā)送單元還用于:向所述云存儲(chǔ)系統(tǒng)發(fā)送第二請求信息,所述第二請求信息中包含請求所述處理器將所述所有普通客戶端發(fā)送的所述文件塊所對應(yīng)的引用計(jì)數(shù)對象刪除的信息。
[0041]在第三種可能的實(shí)施方式中,結(jié)合第四方面或第一種可能的實(shí)施方式,所述發(fā)送單元還用于:
[0042]向所述云存儲(chǔ)系統(tǒng)發(fā)送一個(gè)狀態(tài)對象,所述狀態(tài)對象用于表示所述文件塊的引用計(jì)數(shù),所述狀態(tài)對象包含所述文件塊的指紋信息;
[0043]向所述云存儲(chǔ)系統(tǒng)發(fā)送第三請求信息,所述第三請求信息中包含請求所述處理器將所述所有普通客戶端發(fā)送的所述文件塊所對應(yīng)的引用計(jì)數(shù)對象刪除的信息。
[0044]本發(fā)明實(shí)施例提供了一種獲取文件塊引用計(jì)數(shù)的方法、普通客戶端和管理客戶端,該方法包括:所述普通客戶端向云存儲(chǔ)系統(tǒng)發(fā)起對文件塊的訪問請求;所述普通客戶端確定所述文件塊的引用計(jì)數(shù)對象的類型,其中,所述引用計(jì)數(shù)對象用于表示所述文件塊的引用計(jì)數(shù),所述引用計(jì)數(shù)對象的類型包括引用計(jì)數(shù)加I或引用計(jì)數(shù)減1,所述引用計(jì)數(shù)對象包含所述文件塊的唯一標(biāo)識(shí)信息;所述普通客戶端根據(jù)所述引用計(jì)數(shù)對象的類型,向所述云存儲(chǔ)系統(tǒng)發(fā)送對應(yīng)的引用計(jì)數(shù)對象,所述引用計(jì)數(shù)對象被存儲(chǔ)在所述云存儲(chǔ)系統(tǒng)的存儲(chǔ)器中。通過該方法,普通客戶端向云存儲(chǔ)系統(tǒng)發(fā)送對文件塊所對應(yīng)的引用計(jì)數(shù)對象,使得管理客戶端根據(jù)所述文件塊所對應(yīng)的所有普通客戶端發(fā)送的所述文件塊所對應(yīng)的引用計(jì)數(shù)對象的個(gè)數(shù)和類型,獲取所述文件塊的引用計(jì)數(shù),不需要專用代理端控制和修改引用計(jì)數(shù)鎖來修改一個(gè)文件塊的引用計(jì)數(shù),實(shí)現(xiàn)了大量客戶端同時(shí)對一個(gè)文件塊的引用計(jì)數(shù)進(jìn)行修改的目的,并且節(jié)省了搭建專用代理端所帶來的昂貴成本。
【附圖說明】
[0045]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0046]圖1為一種現(xiàn)有技術(shù)提供的z?存儲(chǔ)結(jié)構(gòu)TJK意圖;
[0047]圖2為一種本發(fā)明實(shí)施例提供的云存儲(chǔ)結(jié)構(gòu)示意圖;
[0048]圖3為一種獲取文件塊引用計(jì)數(shù)的方法的流程圖;
[0049]圖4為另一種獲取文件塊引用計(jì)數(shù)的方法的流程圖;
[0050]圖5為又一種獲取文件塊引用計(jì)數(shù)的方法的流程圖;
[0051]圖6為一種普通客戶端示意圖;
[0052]圖7為一種管理客戶端示意圖一;
[0053]圖8為一種管理客戶端示意圖二 ;
[0054]圖9為一種管理客戶端示意圖三;
[0055]圖10為另一種普通客戶端示意圖;
[0056]圖11為一種管理客戶端示意圖四;
[0057]圖12為一種管理客戶端示意圖五。
【具體實(shí)施方式】
[0058]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[00