一種容災(zāi)系統(tǒng)及其數(shù)據(jù)讀取方法
【專利摘要】本發(fā)明實施例公開了一種容災(zāi)系統(tǒng)及其數(shù)據(jù)讀取方法,其中,該容災(zāi)系統(tǒng)的數(shù)據(jù)讀取方法包括:容災(zāi)從機接收請求端發(fā)送的數(shù)據(jù)讀取請求,所述數(shù)據(jù)讀取請求攜帶有所述請求端需要讀取的數(shù)據(jù)的索引;所述容災(zāi)從機根據(jù)所述請求端需要讀取的數(shù)據(jù)的索引,在所述容災(zāi)從機中不存在所述請求端需要讀取的數(shù)據(jù)的情況下,通知容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端。本發(fā)明實施例可以在某些容災(zāi)從機尚未存有新數(shù)據(jù)卻收到了針對該新數(shù)據(jù)的讀取請求時,由容災(zāi)從機通知容災(zāi)主機讀取該新數(shù)據(jù)并對外提供數(shù)據(jù)服務(wù),從而可以提高容災(zāi)系統(tǒng)的適應(yīng)能力。
【專利說明】一種容災(zāi)系統(tǒng)及其數(shù)據(jù)讀取方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及容災(zāi)【技術(shù)領(lǐng)域】,具體涉及一種容災(zāi)系統(tǒng)及其數(shù)據(jù)讀取方法。
【背景技術(shù)】
[0002]容災(zāi)系統(tǒng)是指為計算機信息系統(tǒng)提供的一個能應(yīng)付各種災(zāi)難的環(huán)境。當(dāng)計算機系統(tǒng)在遭受如火災(zāi)、水災(zāi)、地震、戰(zhàn)爭等不可抗拒的自然災(zāi)難以及計算機犯罪、計算機病毒、掉電、網(wǎng)絡(luò)/通信失敗、硬件/軟件錯誤和人為操作錯誤等人為災(zāi)難時,容災(zāi)系統(tǒng)將保證用戶數(shù)據(jù)的安全性(即數(shù)據(jù)容災(zāi)),甚至,一個更加完善的容災(zāi)系統(tǒng)還能提供不間斷的應(yīng)用服務(wù)(即應(yīng)用容災(zāi))??梢哉f,容災(zāi)系統(tǒng)是數(shù)據(jù)存儲備份的最高層次。
[0003]容災(zāi)系統(tǒng)通常由一個容災(zāi)主機(Master)和多個容災(zāi)從機(Slave)組成。其中,Master可以負(fù)責(zé)一部分的數(shù)據(jù)讀請求處理,但是主要用于負(fù)責(zé)整個系統(tǒng)的數(shù)據(jù)寫請求處理,即主要負(fù)責(zé)將數(shù)據(jù)寫請求同步給各個Slave,以實現(xiàn)Master與各個Slave之間的數(shù)據(jù)備份。而Slave主要用于負(fù)責(zé)數(shù)據(jù)讀請求處理,同時也負(fù)責(zé)接收Master同步過來的數(shù)據(jù)。
[0004]在容災(zāi)系統(tǒng)中,由于網(wǎng)絡(luò)延遲等原因,Master將數(shù)據(jù)寫請求同步給各個Slave都是準(zhǔn)實時的,這使得在Master將新數(shù)據(jù)同步給各個Slave的這段時間內(nèi),可能會出現(xiàn)某些Slave中尚未存有新數(shù)據(jù)卻收到了針對該新數(shù)據(jù)的讀取請求的情況,從而無法對外提供數(shù)據(jù)服務(wù),降低了容災(zāi)系統(tǒng)的適應(yīng)能力。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例所要解決的技術(shù)問題是提供一種容災(zāi)系統(tǒng)及其數(shù)據(jù)讀取方法,用于解決某些Slave中尚未存有新數(shù)據(jù)卻收到了針對該新數(shù)據(jù)的讀取請求時,無法對外提供數(shù)據(jù)服務(wù),從而降低了容災(zāi)系統(tǒng)的適應(yīng)能力的問題。
[0006]本發(fā)明實施例提供一種容災(zāi)系統(tǒng)的數(shù)據(jù)讀取方法,包括:
[0007]容災(zāi)從機接收請求端發(fā)送的數(shù)據(jù)讀取請求,所述數(shù)據(jù)讀取請求攜帶有所述請求端需要讀取的數(shù)據(jù)的索引;
[0008]所述容災(zāi)從機根據(jù)所述請求端需要讀取的數(shù)據(jù)的索引,在所述容災(zāi)從機中不存在所述請求端需要讀取的數(shù)據(jù)的情況下,通知容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端。
[0009]相應(yīng)地,本發(fā)明實施例還提供一種容災(zāi)系統(tǒng),包括容災(zāi)主機和至少一個容災(zāi)從機,其中:
[0010]所述容災(zāi)從機,用于接收請求端發(fā)送的數(shù)據(jù)讀取請求,所述數(shù)據(jù)讀取請求攜帶有所述請求端需要讀取的數(shù)據(jù)的索引;以及根據(jù)所述請求端需要讀取的數(shù)據(jù)的索引,在所述容災(zāi)從機中不存在所述請求端需要讀取的數(shù)據(jù)的情況下,通知所述容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端;
[0011]所述容災(zāi)主機,用于根據(jù)所述容災(zāi)從機的通知讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端。[0012]本發(fā)明實施例中,容災(zāi)從機在接收請求端發(fā)送的數(shù)據(jù)讀取請求,可以根據(jù)該數(shù)據(jù)讀取請求所攜帶的請求端需要讀取的數(shù)據(jù)的索引去判斷容災(zāi)從機中是否存在請求端需要讀取的數(shù)據(jù),如果不存在,則通知容災(zāi)主機讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端??梢姡景l(fā)明實施例可以在某些容災(zāi)從機尚未存有新數(shù)據(jù)卻收到了針對該新數(shù)據(jù)的讀取請求時,由容災(zāi)從機通知容災(zāi)主機讀取該新數(shù)據(jù)并對外提供數(shù)據(jù)服務(wù),從而可以提高容災(zāi)系統(tǒng)的適應(yīng)能力。
【專利附圖】
【附圖說明】
[0013]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0014]圖1是本發(fā)明實施例提供的一種容災(zāi)系統(tǒng)的數(shù)據(jù)讀取方法的流程圖;
[0015]圖2是圖1所描述的方法中容災(zāi)從機通知容災(zāi)主機讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端的方法流程圖;
[0016]圖3是本發(fā)明實施例提供的一種容災(zāi)系統(tǒng)的結(jié)構(gòu)圖。
【具體實施方式】
[0017]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0018]本發(fā)明實施例提供了 一種容災(zāi)系統(tǒng)及其數(shù)據(jù)讀取方法,可以在某些容災(zāi)從機(Slave)尚未存有新數(shù)據(jù)卻收到了針對該新數(shù)據(jù)的讀取請求時,由Slave通知容災(zāi)主機(Master)讀取該新數(shù)據(jù)并對外提供數(shù)據(jù)服務(wù),從而可以提高容災(zāi)系統(tǒng)的適應(yīng)能力。以下分別進行詳細(xì)說明。
[0019]請參閱圖1,圖1是本發(fā)明實施例提供的一種容災(zāi)系統(tǒng)的數(shù)據(jù)讀取方法的流程圖。如圖1所示,該容災(zāi)系統(tǒng)的數(shù)據(jù)讀取方法可以包括以下步驟。
[0020]SlOUSlave接收請求端發(fā)送的數(shù)據(jù)讀取請求,該數(shù)據(jù)讀取請求攜帶有請求端需要讀取的數(shù)據(jù)的索引。
[0021]S102、Slave根據(jù)請求端需要讀取的數(shù)據(jù)的索引,在Slave不存在請求端需要讀取的數(shù)據(jù)的情況下,通知Master讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端。
[0022]一個實施例中,如果Slave根據(jù)請求端需要讀取的數(shù)據(jù)的索引,判斷出Slave存在請求端需要讀取的數(shù)據(jù),那么Slave可以根據(jù)請求端需要讀取的數(shù)據(jù)的索引從Slave中獲取請求端需要讀取的數(shù)據(jù)并返回給請求端。
[0023]本發(fā)明實施例中,請求端需要讀取的數(shù)據(jù)的索引可以包括請求端需要讀取的數(shù)據(jù)所在文件的文件標(biāo)識FileA以及請求端需要讀取的數(shù)據(jù)在文件FileA中的起始偏移量OffsetB0
[0024]相應(yīng)地,上述步驟S102中Slave根據(jù)請求端需要讀取的數(shù)據(jù)的索引,在Slave不存在請求端需要讀取的數(shù)據(jù)的情況下,通知Master讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端可以包括:
[0025]Slave根據(jù)請求端需要讀取的數(shù)據(jù)的索引,判斷請求端需要讀取的數(shù)據(jù)的索引包括的文件標(biāo)識FileA是否等于Slave中存在的最新文件標(biāo)識X,以及判斷請求端需要讀取的數(shù)據(jù)的索引包括的起始偏移量Off setB是否大于最新文件標(biāo)識X對應(yīng)的最新文件中的文件偏移量Z,并且小于設(shè)定的文件大小固定值Y ;如果FileA=X,并且OffsetB大于Z,且小于Y,則Slave確定不存在請求端需要讀取的數(shù)據(jù),通知Master讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端。
[0026]另一個實施例中,上述步驟S102中Slave根據(jù)請求端需要讀取的數(shù)據(jù)的索引,在Slave不存在請求端需要讀取的數(shù)據(jù)的情況下,通知Master讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端可以包括:
[0027]Slave根據(jù)請求端需要讀取的數(shù)據(jù)的索引,判斷請求端需要讀取的數(shù)據(jù)的索引包括的文件標(biāo)識FileA是否大于Slave中存在的最新文件標(biāo)識X,以及判斷請求端需要讀取的數(shù)據(jù)的索引包括的起始偏移量OffsetB是否大于0,并且小于設(shè)定的文件大小固定值Y ;
如果FileA大于X (即FileA=X+l,X+2,......),并且OffsetB大于O以及小于Y,則Slave
確定不存在請求端需要讀取的數(shù)據(jù),通知Master讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端。
[0028]本發(fā)明實施例中,上述的最新文件標(biāo)識X是指Slave當(dāng)前存儲有數(shù)據(jù)的文件中的最后一個文件的標(biāo)識。
[0029]請一并參閱圖2,圖2是圖1所描述的方法中Slave通知Master讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端的方法流程圖。如圖2所示,該方法可以包括以下步驟。
[0030]S201、Slave從數(shù)據(jù)讀取請求中提取出請求端需要讀取的數(shù)據(jù)的索引。
[0031]S202、Slave將請求端需要讀取的數(shù)據(jù)的索引和請求端地址信息組織成數(shù)據(jù)請求包。
[0032]S203、Slave根據(jù)Master的地址信息,將數(shù)據(jù)請求包發(fā)送給Master,以觸發(fā)Master讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端。
[0033]—個實施例中,Slave根據(jù)Master的地址信息,將數(shù)據(jù)請求包發(fā)送給Master之前,還包括:
[0034]Slave從配置系統(tǒng)中獲取Master的地址信息。
[0035]本發(fā)明實施例中,Slave從配置系統(tǒng)中獲取Master的地址信息可以省去了 Slave存儲Master的地址信息,減少了 Slave的存儲量。
[0036]在圖1所描述的方法中,Slave在接收請求端發(fā)送的數(shù)據(jù)讀取請求,可以根據(jù)該數(shù)據(jù)讀取請求所攜帶的請求端需要讀取的數(shù)據(jù)的索引去判斷Slave中是否存在請求端需要讀取的數(shù)據(jù),如果不存在,則通知Master讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端。可見,圖1所描述的方法可以在某些Slave尚未存有新數(shù)據(jù)卻收到了針對該新數(shù)據(jù)的讀取請求時,由Slave可以通知Master讀取該新數(shù)據(jù)并對外提供數(shù)據(jù)服務(wù),從而可以提高容災(zāi)系統(tǒng)的適應(yīng)能力。
[0037]請參閱圖3,圖3是本發(fā)明實施例提供的一種容災(zāi)系統(tǒng)的結(jié)構(gòu)圖。如圖3所示,該容災(zāi)系統(tǒng)可以包括容災(zāi)主機301和至少一個容災(zāi)從機302,其中:[0038]容災(zāi)從機302,用于接收請求端發(fā)送的數(shù)據(jù)讀取請求,該數(shù)據(jù)讀取請求攜帶有請求端需要讀取的數(shù)據(jù)的索引,以及根據(jù)請求端需要讀取的數(shù)據(jù)的索引,在容災(zāi)從機302中不存在請求端需要讀取的數(shù)據(jù)的情況下,通知容災(zāi)主機301讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端;
[0039]容災(zāi)主機301,用于根據(jù)容災(zāi)從機302的通知讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端。
[0040]本發(fā)明實施例中,請求端需要讀取的數(shù)據(jù)的索引可以包括請求端需要讀取的數(shù)據(jù)所在文件的文件標(biāo)識FileA以及請求端需要讀取的數(shù)據(jù)在文件FileA中的起始偏移量OffsetB0
[0041]相應(yīng)地,容災(zāi)從機302根據(jù)請求端需要讀取的數(shù)據(jù)的索引,在容災(zāi)從機302中不存在請求端需要讀取的數(shù)據(jù)的情況下,通知容災(zāi)主機301讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端的方式具體可以為:
[0042]容災(zāi)從機302用于根據(jù)請求端需要讀取的數(shù)據(jù)的索引,判斷請求端需要讀取的數(shù)據(jù)的索引包括的文件標(biāo)識FileA是否等于容災(zāi)從機302中存在的最新文件標(biāo)識X,以及判斷請求端需要讀取的數(shù)據(jù)的索引包括的起始偏移量OfTsetB是否大于最新文件標(biāo)識X對應(yīng)的最新文件中的文件偏移量Z,并且小于設(shè)定的文件大小固定值Y ;如果FileA=X,并且OffsetB大于Z,且小于Y,則容災(zāi)從機302確定不存在請求端需要讀取的數(shù)據(jù),通知容災(zāi)主機301讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端。
[0043]另一個實施例中,容災(zāi)從機302根據(jù)請求端需要讀取的數(shù)據(jù)的索引,在容災(zāi)從機302中不存在請求端需要讀取的數(shù)據(jù)的情況下,通知容災(zāi)主機301讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端的方式具體可以為:
[0044]容災(zāi)從機302用于根據(jù)請求端需要讀取的數(shù)據(jù)的索引,判斷請求端需要讀取的數(shù)據(jù)的索引包括的文件標(biāo)識FileA是否大于Slave中存在的最新文件標(biāo)識X,以及判斷請求端需要讀取的數(shù)據(jù)的索引包括的起始偏移量OfTsetB是否大于0,并且小于設(shè)定的文件大小
固定值Y ;如果FileA大于X (即FileA=X+l, X+2,......),并且OffsetB大于O以及小于
Y,則容災(zāi)從機302確定不存在請求端需要讀取的數(shù)據(jù),通知容災(zāi)主機301讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端。
[0045]本發(fā)明實施例中,容災(zāi)從機302通知容災(zāi)主機301讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端具體可以為:
[0046]容災(zāi)從機302用于從數(shù)據(jù)讀取請求中提取出請求端需要讀取的數(shù)據(jù)的索引,并將請求端需要讀取的數(shù)據(jù)的索引和請求端地址信息組織成數(shù)據(jù)請求包;以及根據(jù)容災(zāi)主機302的地址信息,將數(shù)據(jù)請求包發(fā)送給容災(zāi)主機301 ;
[0047]容災(zāi)主機301用于根據(jù)數(shù)據(jù)請求包攜帶的請求端需要讀取的數(shù)據(jù)的索引讀取請求端需要讀取的數(shù)據(jù),以及根據(jù)數(shù)據(jù)請求包攜帶的請求端地址信息將請求端需要讀取的數(shù)據(jù)發(fā)送給請求端。
[0048]如圖3所示,本發(fā)明實施例提供的容災(zāi)系統(tǒng)還包括:
[0049]配置系統(tǒng)303,用于存儲容災(zāi)主機301的地址信息;
[0050]相應(yīng)地,容災(zāi)從機302還用于在根據(jù)容災(zāi)主機301的地址信息,將數(shù)據(jù)請求包發(fā)送給容災(zāi)主機301之前,從配置系統(tǒng)303中獲取容災(zāi)主機301的地址信息。[0051]本發(fā)明實施例提供的容災(zāi)系統(tǒng)中,容災(zāi)主機301還用于同步數(shù)據(jù)給各個容災(zāi)從機302,以最終實現(xiàn)容災(zāi)主機301與各個容災(zāi)從機302之間的數(shù)據(jù)備份。
[0052]本發(fā)明實施例提供的容災(zāi)系統(tǒng)中,容災(zāi)從機302在接收請求端發(fā)送的數(shù)據(jù)讀取請求,可以根據(jù)該數(shù)據(jù)讀取請求所攜帶的請求端需要讀取的數(shù)據(jù)的索引去判斷容災(zāi)從機302中是否存在請求端需要讀取的數(shù)據(jù),如果不存在,則通知容災(zāi)主機301讀取請求端需要讀取的數(shù)據(jù)并發(fā)送給請求端。可見,本發(fā)明實施例提供的容災(zāi)系統(tǒng)可以在某些容災(zāi)從機302尚未存有新數(shù)據(jù)卻收到了針對該新數(shù)據(jù)的讀取請求時,由容災(zāi)從機302通知容災(zāi)主機301讀取該新數(shù)據(jù)并對外提供數(shù)據(jù)服務(wù),從而可以提高容災(zāi)系統(tǒng)的適應(yīng)能力。
[0053]本發(fā)明實施例提供的容災(zāi)系統(tǒng)及其數(shù)據(jù)讀取方法還具有以下效果:
[0054](I)通過本發(fā)明實施例提供的容災(zāi)系統(tǒng)的數(shù)據(jù)讀取方法,為上層應(yīng)用的接入提供了更大的便利。對上層來說,真正做到了一個統(tǒng)一的底層,不需要考慮記錄哪些信息是新產(chǎn)生的,不需要考慮延時讀取新數(shù)據(jù),也不需要對底層的部署有了解,然后路由到容災(zāi)主機上讀取新數(shù)據(jù)。對于這些顧慮,底層都已經(jīng)可以很容易的應(yīng)付。
[0055](2)對于整個系統(tǒng)來說,提高了系統(tǒng)的適應(yīng)能力,就算容災(zāi)主機和容災(zāi)從機之間的同步延緩了比較久,整個系統(tǒng)對外部提供的服務(wù),仍然是有效的,可能處理的時間會稍長一些(因為要經(jīng)過跳轉(zhuǎn)),但是整個系統(tǒng)的服務(wù)仍然是可用的,而不會出現(xiàn)數(shù)據(jù)不存在這樣的情況。
[0056]本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:閃存盤、只讀存儲器(Read-OnlyMemory, ROM)、隨機存取器(Random AccessMemory, RAM)、磁盤或光盤等。
[0057]以上對本發(fā)明實施例所提供的容災(zāi)系統(tǒng)及其數(shù)據(jù)讀取方法進行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種容災(zāi)系統(tǒng)的數(shù)據(jù)讀取方法,其特征在于,包括: 容災(zāi)從機接收請求端發(fā)送的數(shù)據(jù)讀取請求,所述數(shù)據(jù)讀取請求攜帶有所述請求端需要讀取的數(shù)據(jù)的索引; 所述容災(zāi)從機根據(jù)所述請求端需要讀取的數(shù)據(jù)的索引,在所述容災(zāi)從機中不存在所述請求端需要讀取的數(shù)據(jù)的情況下,通知容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)讀取方法,其特征在于,所述請求端需要讀取的數(shù)據(jù)的索引包括所述請求端需要讀取的數(shù)據(jù)所在文件的文件標(biāo)識以及所述請求端需要讀取的數(shù)據(jù)在所述文件中的起始偏移量。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)讀取方法,其特征在于,所述容災(zāi)從機根據(jù)所述請求端需要讀取的數(shù)據(jù)的索引,在所述容災(zāi)從機中不存在所述請求端需要讀取的數(shù)據(jù)的情況下,通知容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端包括: 所述容災(zāi)從機根據(jù)所述請求端需要讀取的數(shù)據(jù)的索引,判斷所述請求端需要讀取的數(shù)據(jù)的索引包括的所述文件標(biāo)識是否等于所述容災(zāi)從機中存在的最新文件標(biāo)識,以及判斷所述請求端需要讀取的數(shù)據(jù)的索引包括的所述起始偏移量是否大于所述最新文件標(biāo)識對應(yīng)的最新文件中的文件偏移量,并且小于設(shè)定的文件大小固定值; 若所述請求端需要讀取的數(shù)據(jù)的索引包括的所述文件標(biāo)識等于所述容災(zāi)從機中存在的最新文件標(biāo)識,并且所述請求端需要讀取的數(shù)據(jù)的索引包括的所述起始偏移量大于所述最新文件標(biāo)識對應(yīng)的最新文件中的文件偏移量以及小于所述設(shè)定的文件大小固定值,則所述容災(zāi)從機確定所述不存在所述請求端需要讀取的數(shù)據(jù),通知容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端。
4.根據(jù)權(quán)利要求2所述的數(shù)據(jù)讀取方法,其特征在于,所述容災(zāi)從機根據(jù)所述請求端需要讀取的數(shù)據(jù)的索引,在所述容災(zāi)從機中不存在所述請求端需要讀取的數(shù)據(jù)的情況下,通知容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端包括: 所述容災(zāi)從機根據(jù)所述請求端需要讀取的數(shù)據(jù)的索引,判斷所述請求端需要讀取的數(shù)據(jù)的索引包括的所述文件標(biāo)識是否大于所述容災(zāi)從機中存在的最新文件標(biāo)識,以及判斷所述請求端需要讀取的數(shù)據(jù)的索引包括的所述起始偏移量是否大于零,并且小于設(shè)定的文件大小固定值; 若所述請求端需要讀取的數(shù)據(jù)的索引包括的所述文件標(biāo)識大于所述容災(zāi)從機中存在的最新文件標(biāo)識,并且所述請求端需要讀取的數(shù)據(jù)的索引包括的所述起始偏移量大于零以及小于所述設(shè)定的文件大小固定值,則所述容災(zāi)從機確定所述不存在所述請求端需要讀取的數(shù)據(jù),通知容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端。
5.根據(jù)權(quán)利要求1~4任一項所述的數(shù)據(jù)讀取方法,其特征在于,所述容災(zāi)從機通知容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端包括: 所述容災(zāi)從機從所述數(shù)據(jù)讀取請求中提取出所述請求端需要讀取的數(shù)據(jù)的索引,并將所述請求端需要讀取的數(shù)據(jù)的索引和所述請求端地址信息組織成數(shù)據(jù)請求包; 所述容災(zāi)從機根據(jù)所述容災(zāi)主機的地址信息,將所述數(shù)據(jù)請求包發(fā)送給所述容災(zāi)主機,以觸發(fā)所述容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端。
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)讀取方法,其特征在于,所述容災(zāi)從機根據(jù)所述容災(zāi)主機的地址信息,將所述數(shù)據(jù)請求包發(fā)送給所述容災(zāi)主機之前,還包括: 所述容災(zāi)從機從配置系統(tǒng)中獲取所述容災(zāi)主機的地址信息。
7.一種容災(zāi)系統(tǒng),其特征在于,包括容災(zāi)主機和至少一個容災(zāi)從機: 所述容災(zāi)從機,用于接收請求端發(fā)送的數(shù)據(jù)讀取請求,所述數(shù)據(jù)讀取請求攜帶有所述請求端需要讀取的數(shù)據(jù)的索引;以及根據(jù)所述請求端需要讀取的數(shù)據(jù)的索引,在所述容災(zāi)從機中不存在所述請求端需要讀取的數(shù)據(jù)的情況下,通知所述容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端; 所述容災(zāi)主機,用于根據(jù)所述容災(zāi)從機的通知讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端。
8.根據(jù)權(quán)利要求7所述的容災(zāi)系統(tǒng),其特征在于,所述請求端需要讀取的數(shù)據(jù)的索引包括所述請求端需要讀取的數(shù)據(jù)所在文件的文件標(biāo)識以及所述請求端需要讀取的數(shù)據(jù)在所述文件中的起始偏移量。
9.根據(jù)權(quán)利要求8所述的容災(zāi)系統(tǒng),其特征在于,所述容災(zāi)從機根據(jù)所述請求端需要讀取的數(shù)據(jù)的索引,在所述容災(zāi)從機中不存在所述請求端需要讀取的數(shù)據(jù)的情況下,通知所述容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端的方式具體為: 所述容災(zāi)從機用于判斷所述請求端需要讀取的數(shù)據(jù)的索引包括的所述文件標(biāo)識是否等于所述容災(zāi)從機中存在的最新文件標(biāo)識,以及判斷所述請求端需要讀取的數(shù)據(jù)的索引包括的所述起始偏移量是否大于所述最新文件標(biāo)識對應(yīng)的最新文件中的文件偏移量,并且小于設(shè)定的文件大小固定值;若所述請求端需要讀取的數(shù)據(jù)的索引包括的所述文件標(biāo)識等于所述容災(zāi)從機中存在的最新文件標(biāo)識,并且所述請求端需要讀取的數(shù)據(jù)的索引包括的所述起始偏移量大于所述最新文件標(biāo)識對應(yīng)的最新文件中的文件偏移量以及小于所述設(shè)定的文件大小固定值,則所述容`災(zāi)從機確定所述不存在所述請求端需要讀取的數(shù)據(jù),通知容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端。
10.根據(jù)權(quán)利要求8所述的容災(zāi)系統(tǒng),其特征在于,所述容災(zāi)從機根據(jù)所述請求端需要讀取的數(shù)據(jù)的索引,在所述容災(zāi)從機中不存在所述請求端需要讀取的數(shù)據(jù)的情況下,通知所述容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端的方式具體為: 所述容災(zāi)從機用于判斷所述請求端需要讀取的數(shù)據(jù)的索引包括的所述文件標(biāo)識是否大于所述容災(zāi)從機中存在的最新文件標(biāo)識,以及判斷所述請求端需要讀取的數(shù)據(jù)的索引包括的所述起始偏移量是否大于零,并且小于設(shè)定的文件大小固定值;若所述請求端需要讀取的數(shù)據(jù)的索引包括的所述文件標(biāo)識大于所述容災(zāi)從機中存在的最新文件標(biāo)識,并且所述請求端需要讀取的數(shù)據(jù)的索引包括的所述起始偏移量大于零以及小于所述設(shè)定的文件大小固定值,則所述容災(zāi)從機確定所述不存在所述請求端需要讀取的數(shù)據(jù),通知容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端。
11.根據(jù)權(quán)利要求7~10任一項所述的容災(zāi)系統(tǒng),其特征在于,所述容災(zāi)從機通知容災(zāi)主機讀取所述請求端需要讀取的數(shù)據(jù)并發(fā)送給所述請求端的方式具體為: 所述容災(zāi)從機用于從所述數(shù)據(jù)讀取請求中提取出所述請求端需要讀取的數(shù)據(jù)的索引,并將所述請求端需要讀取的數(shù)據(jù)的索引和所述請求端地址信息組織成數(shù)據(jù)請求包;以及根據(jù)所述容災(zāi)主機的地址信息,將所述數(shù)據(jù)請求包發(fā)送給所述容災(zāi)主機; 所述容災(zāi)主機用于根據(jù)所述數(shù)據(jù)請求包攜帶的所述請求端需要讀取的數(shù)據(jù)的索引讀取所述請求端需要讀取的數(shù)據(jù),以及根據(jù)所述數(shù)據(jù)請求包攜帶的所述請求端地址信息將所述請求端需要讀取的數(shù)據(jù)發(fā)送給所述請求端。
12.根據(jù)權(quán)利要求11所述的容災(zāi)系統(tǒng),其特征在于,還包括: 配置系統(tǒng),用于存儲容災(zāi)主機的地址信息; 所述容災(zāi)從機,還用于在根據(jù)所述容災(zāi)主機的地址信息,將所述數(shù)據(jù)請求包發(fā)送給所述容災(zāi)主機之前,從 配置系統(tǒng)中獲取所述容災(zāi)主機的地址信息。
【文檔編號】G06F11/14GK103793290SQ201210426045
【公開日】2014年5月14日 申請日期:2012年10月31日 優(yōu)先權(quán)日:2012年10月31日
【發(fā)明者】胡鳴人 申請人:騰訊科技(深圳)有限公司