多副本系統(tǒng)中的副本同步方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種多副本系統(tǒng)中的副本同步方法和裝置,其中,該副本同步方法包括:將增量日志整合至區(qū)間樹的節(jié)點(diǎn)中,其中,在整合過程中,用增量日志中的日志替換區(qū)間樹中具有相同操作對象的日志;將整合了增量日志的區(qū)間樹的節(jié)點(diǎn)中的內(nèi)容發(fā)送至需要進(jìn)行增量副本同步的服務(wù)器。本發(fā)明通過應(yīng)用增量日志中的日志替換區(qū)間樹中具有相同操作對象的日志來避免同步重復(fù)的內(nèi)容,減少了網(wǎng)絡(luò)中重復(fù)日志的發(fā)送,在維護(hù)系統(tǒng)的可靠性和可用性的同時(shí),能夠提高多副本系統(tǒng)中的副本同步速度,提高的副本的修復(fù)效率。
【專利說明】多副本系統(tǒng)中的副本同步方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)中的服務(wù)器管理領(lǐng)域,并且特別地,涉及一種多副本系統(tǒng)中的副本同步方法和裝置。
【背景技術(shù)】
[0002]在對象存儲(chǔ)系統(tǒng)中,采用多副本的存儲(chǔ)方式能夠提高系統(tǒng)的可靠性。由于在普通存儲(chǔ)設(shè)備構(gòu)建的分布式存儲(chǔ)系統(tǒng)中,會(huì)經(jīng)常發(fā)生磁盤故障、網(wǎng)絡(luò)故障及節(jié)點(diǎn)宕機(jī)等問題,因此,系統(tǒng)需要記錄多個(gè)副本間的差異性,當(dāng)故障排除后,通過快速同步副本內(nèi)容,來使系統(tǒng)提供穩(wěn)定可罪的服務(wù)。
[0003]當(dāng)前,多數(shù)系統(tǒng)是根據(jù)修復(fù)日志,逐條進(jìn)行副本修復(fù),但是這樣的修復(fù)方法會(huì)修復(fù)許多重復(fù)的內(nèi)容,造成不必要的資源浪費(fèi),也會(huì)降低修復(fù)速度。當(dāng)然,在修復(fù)日志中存在刪除或者截?cái)嗖僮鞯娜罩緯r(shí),需要進(jìn)行修復(fù)的節(jié)點(diǎn)也會(huì)因此修復(fù)多余的內(nèi)容。
[0004]針對相關(guān)技術(shù)中進(jìn)行增量日志同步時(shí)會(huì)同步不必要的內(nèi)容從而降低同步速度的問題,目如尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]針對相關(guān)技術(shù)中進(jìn)行增量日志同步時(shí)會(huì)同步不必要的內(nèi)容從而降低同步速度的問題,本發(fā)明提出一種多副本系統(tǒng)中的副本同步方法和裝置,能夠避免同步重復(fù)內(nèi)容,提高多副本系統(tǒng)中的副本同步速度,提高的副本的修復(fù)效率。
[0006]本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0007]根據(jù)本發(fā)明的一個(gè)方面,提`供了一種多副本系統(tǒng)中的副本同步方法。
[0008]上述副本同步方法包括:
[0009]將增量日志整合至區(qū)間樹的節(jié)點(diǎn)中,其中,在整合過程中,用增量日志中的日志替換區(qū)間樹中具有相同操作對象的日志;
[0010]將整合了增量日志的區(qū)間樹的節(jié)點(diǎn)中的內(nèi)容發(fā)送至需要進(jìn)行增量副本同步的服務(wù)器。
[0011]此外,上述副本同步方法進(jìn)一步包括:
[0012]在具有增量日志的服務(wù)器中預(yù)先創(chuàng)建區(qū)間樹。
[0013]其中,在具有增量日志的服務(wù)器中創(chuàng)建區(qū)間樹包括:
[0014]在確定需要進(jìn)行增量副本同步的服務(wù)器上線的情況下,在具有增量日志的服務(wù)器中創(chuàng)建區(qū)間樹。
[0015]另外,上述副本同步方法進(jìn)一步包括:
[0016]在需要進(jìn)行增量副本同步的服務(wù)器根據(jù)接收到的內(nèi)容進(jìn)行增量副本同步。
[0017]優(yōu)選地,將增量日志整合至區(qū)間樹的節(jié)點(diǎn)中包括:
[0018]以單個(gè)日志為單位將增量日志添加至區(qū)間樹的節(jié)點(diǎn)中。
[0019]進(jìn)一步地,將整合了增量日志的區(qū)間樹的節(jié)點(diǎn)中的內(nèi)容發(fā)送至需要進(jìn)行增量副本同步的服務(wù)器包括:
[0020]按左端點(diǎn)順序?qū)^(qū)間樹的節(jié)點(diǎn)中的內(nèi)容保存至列表中,并發(fā)送列表。
[0021]根據(jù)本發(fā)明的一個(gè)方面,提供了一種多副本系統(tǒng)中的副本同步裝置。
[0022]上述副本同步裝置包括:
[0023]整合模塊,用于將增量日志整合至區(qū)間樹的節(jié)點(diǎn)中,其中,在整合過程中,用增量日志中的日志替換區(qū)間樹中具有相同操作對象的日志;
[0024]發(fā)送模塊,用于將整合了增量日志的區(qū)間樹的節(jié)點(diǎn)中的內(nèi)容發(fā)送至需要進(jìn)行增量副本同步的服務(wù)器。
[0025] 此外,上述副本同步裝置進(jìn)一步包括:
[0026]創(chuàng)建模塊,用于在具有增量日志的服務(wù)器中預(yù)先創(chuàng)建區(qū)間樹。
[0027]另外,上述副本同步裝置進(jìn)一步包括:
[0028]同步模塊,位于需要進(jìn)行增量副本同步的服務(wù)器側(cè),同步模塊用于在需要進(jìn)行增量副本同步的服務(wù)器根據(jù)接收到的內(nèi)容進(jìn)行增量副本同步。
[0029]優(yōu)選地,發(fā)送模塊用于將整合了增量日志的區(qū)間樹的節(jié)點(diǎn)中的內(nèi)容發(fā)送至需要進(jìn)行增量副本同步的服務(wù)器時(shí)包括:
[0030]按左端點(diǎn)順序?qū)^(qū)間樹的節(jié)點(diǎn)中的內(nèi)容保存至列表中,并發(fā)送列表。
[0031]本發(fā)明通過應(yīng)用增量日志中的日志替換區(qū)間樹中具有相同操作對象的日志來避免同步重復(fù)的內(nèi)容,減少了網(wǎng)絡(luò)中重復(fù)日志的發(fā)送,在維護(hù)系統(tǒng)的可靠性和可用性的同時(shí),能夠提聞多副本系統(tǒng)中的副本同步速度,提聞的副本的修復(fù)效率。
【專利附圖】
【附圖說明】
[0032]圖I是根據(jù)本發(fā)明實(shí)施例的多副本系統(tǒng)中的副本同步方法的流程圖;
[0033]圖2是根據(jù)本發(fā)明實(shí)施例的多副本系統(tǒng)中的副本同步裝置的框圖。
【具體實(shí)施方式】
[0034]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0035]根據(jù)本發(fā)明的實(shí)施例,提供了一種多副本系統(tǒng)中的副本同步方法。
[0036]如圖I所示,根據(jù)本發(fā)明實(shí)施例的副本同步方法包括:
[0037]步驟S101,將增量日志整合至區(qū)間樹的節(jié)點(diǎn)中,其中,在整合過程中,用增量日志中的日志替換區(qū)間樹中具有相同操作對象的日志,優(yōu)選地,以單個(gè)日志為單位將增量日志添加至區(qū)間樹的節(jié)點(diǎn)中,通過以紅黑樹、區(qū)間樹等數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ)的優(yōu)化算法,應(yīng)用增量日志中的日志替換區(qū)間樹中具有相同操作對象的日志來避免同步重復(fù)的內(nèi)容,在修復(fù)時(shí)可以減少I/O (input/output,輸入/輸出)次數(shù)和網(wǎng)絡(luò)發(fā)送次數(shù);
[0038]步驟S103,將整合了增量日志的區(qū)間樹的節(jié)點(diǎn)中的內(nèi)容發(fā)送至需要進(jìn)行增量副本同步的服務(wù)器,進(jìn)一步地,可以按左端點(diǎn)順序?qū)^(qū)間樹的節(jié)點(diǎn)中的內(nèi)容保存至列表中,并發(fā)送列表。在維護(hù)系統(tǒng)的可靠性和可用性的同時(shí),能夠提高多副本系統(tǒng)中的副本同步速度,提高的副本的修復(fù)效率。
[0039]此外,根據(jù)本發(fā)明實(shí)施例的副本同步方法進(jìn)一步包括:
[0040]在具有增量日志的服務(wù)器中預(yù)先創(chuàng)建區(qū)間樹,即,在確定需要進(jìn)行增量副本同步的服務(wù)器上線的情況下,可以在具有增量日志的服務(wù)器中創(chuàng)建區(qū)間樹。
[0041]另外,根據(jù)本發(fā)明實(shí)施例的副本同步方法可以進(jìn)一步在需要進(jìn)行增量副本同步的服務(wù)器根據(jù)接收到的內(nèi)容進(jìn)行增量副本同步。
[0042]實(shí)際應(yīng)用中,以兩個(gè)節(jié)點(diǎn)的系統(tǒng)為例,當(dāng)一個(gè)節(jié)點(diǎn)失效時(shí),另一個(gè)節(jié)點(diǎn)開始記錄增量日志,在失效節(jié)點(diǎn)恢復(fù)上線后,根據(jù)本發(fā)明的實(shí)施例可以提供一種多副本系統(tǒng)中的副本同步方法,主要包括:
[0043](I)擴(kuò)展區(qū)間樹的操作:在正常節(jié)點(diǎn)中增加INSERT_MERGE (插入合并的作用)和GET_SECTI0N (獲得節(jié)點(diǎn)的作用)方法。其中,INSERT_MERGE (T,x)的作用是將包含區(qū)間int[x](對X進(jìn)行取整)的元素X插入到區(qū)間樹T中,但是要使得區(qū)間樹T中的區(qū)間沒有重疊的,即合并重疊的區(qū)間。這樣,可以對具有相同操作對象的多個(gè)日志進(jìn)行合并,只保留最新的日志,避免了重復(fù)事項(xiàng),并且避免了具有刪除和截?cái)嗖僮鞯膶ο蟮闹貜?fù)修復(fù),節(jié)約了系統(tǒng)的資源。GET_SECTI0N (T,L)的作用是按照左端點(diǎn)順序?qū)^(qū)間樹T中各個(gè)節(jié)點(diǎn)保存到列表L中。
[0044](2)從列表L中讀取修復(fù)日志,建立區(qū)間樹,然后重新恢復(fù)的節(jié)點(diǎn)通過網(wǎng)絡(luò)從區(qū)間樹中讀取內(nèi)容進(jìn)行副本修復(fù)。
[0045]根據(jù)本發(fā)明的實(shí)施例,提供了一種多副本系統(tǒng)中的副本同步裝置。
[0046]如圖2所示,根據(jù)本發(fā)明實(shí)施例的副本同步裝置包括:
[0047]整合模塊21,用于將增量日志整合至區(qū)間樹的節(jié)點(diǎn)中,其中,在整合過程中,用增量日志中的日志替換區(qū)間樹中具有相同操作對象的日志;
[0048]發(fā)送模塊22,用于將整合了增量日志的區(qū)間樹的節(jié)點(diǎn)中的內(nèi)容發(fā)送至需要進(jìn)行增量副本同步的服務(wù)器。
[0049]此外,根據(jù)本發(fā)明實(shí)施例的副本同步裝置進(jìn)一步包括:
[0050]創(chuàng)建模塊(未示出),用于在具有增量日志的服務(wù)器中預(yù)先創(chuàng)建區(qū)間樹。
[0051]另外,根據(jù)本發(fā)明實(shí)施例的副本同步裝置進(jìn)一步包括:
[0052]同步模塊(未示出),位于需要進(jìn)行增量副本同步的服務(wù)器側(cè),同步模塊用于在需要進(jìn)行增量副本同步的服務(wù)器根據(jù)接收到的內(nèi)容進(jìn)行增量副本同步。
[0053]優(yōu)選地,發(fā)送模塊用于將整合了增量日志的區(qū)間樹的節(jié)點(diǎn)中的內(nèi)容發(fā)送至需要進(jìn)行增量副本同步的服務(wù)器時(shí)包括:
[0054]按左端點(diǎn)順序?qū)^(qū)間樹的節(jié)點(diǎn)中的內(nèi)容保存至列表中,并發(fā)送列表。
[0055]綜上所述,借助于本發(fā)明的上述技術(shù)方案,本發(fā)明通過應(yīng)用增量日志中的日志替換區(qū)間樹中具有相同操作對象的日志來避免同步重復(fù)的內(nèi)容,將重復(fù)頁面合并,并去除不必要的操作,減少了網(wǎng)絡(luò)中重復(fù)日志的發(fā)送,在維護(hù)系統(tǒng)的可靠性和可用性的同時(shí),能夠提高多副本系統(tǒng)中的副本同步速度,提高的副本的修復(fù)效率。
[0056]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種多副本系統(tǒng)中的副本同步方法,其特征在于,包括: 將所述增量日志整合至所述區(qū)間樹的節(jié)點(diǎn)中,其中,在整合過程中,用所述增量日志中的日志替換所述區(qū)間樹中具有相同操作對象的日志; 將整合了所述增量日志的區(qū)間樹的節(jié)點(diǎn)中的內(nèi)容發(fā)送至需要進(jìn)行增量副本同步的服務(wù)器。
2.根據(jù)權(quán)利要求1所述的副本同步方法,其特征在于,進(jìn)一步包括: 在具有增量日志的服務(wù)器中預(yù)先創(chuàng)建區(qū)間樹。
3.根據(jù)權(quán)利要求2所述的副本同步方法,其特征在于,在具有增量日志的服務(wù)器中創(chuàng)建所述區(qū)間樹包括: 在確定需要進(jìn)行增量副本同步的服務(wù)器上線的情況下,在具有所述增量日志的服務(wù)器中創(chuàng)建區(qū)間樹。
4.根據(jù)權(quán)利要求1所述的副本同步方法,其特征在于,進(jìn)一步包括: 在需要進(jìn)行增量副本同步的服務(wù)器根據(jù)接收到的內(nèi)容進(jìn)行增量副本同步。
5.根據(jù)權(quán)利要求1所述的副本同步方法,其特征在于,將所述增量日志整合至所述區(qū)間樹的節(jié)點(diǎn)中包括: 以單個(gè)日志為單位將所述增量日志添加至所述區(qū)間樹的節(jié)點(diǎn)中。
6.根據(jù)權(quán)利要求1所述的副本同步方法,其特征在于,將整合了所述增量日志的區(qū)間樹的節(jié)點(diǎn)中的內(nèi)容發(fā)送至需要進(jìn)行增量副本同步的服務(wù)器包括: 按左端點(diǎn)順序?qū)⑺鰠^(qū)間樹的節(jié)點(diǎn)中的內(nèi)容保存至列表中,并發(fā)送所述列表。
7.一種多副本系統(tǒng)中的副本同步裝置,其特征在于,包括: 整合模塊,用于將所述增量日志整合至所述區(qū)間樹的節(jié)點(diǎn)中,其中,在整合過程中,用所述增量日志中的日志替換所述區(qū)間樹中具有相同操作對象的日志; 發(fā)送模塊,用于將整合了所述增量日志的區(qū)間樹的節(jié)點(diǎn)中的內(nèi)容發(fā)送至需要進(jìn)行增量副本同步的服務(wù)器。
8.根據(jù)權(quán)利要求1所述的副本同步裝置,其特征在于,進(jìn)一步包括: 創(chuàng)建模塊,用于在具有增量日志的服務(wù)器中預(yù)先創(chuàng)建區(qū)間樹。
9.根據(jù)權(quán)利要求1所述的副本同步裝置,其特征在于,進(jìn)一步包括: 同步模塊,位于需要進(jìn)行增量副本同步的服務(wù)器側(cè),所述同步模塊用于在需要進(jìn)行增量副本同步的服務(wù)器根據(jù)接收到的內(nèi)容進(jìn)行增量副本同步。
10.根據(jù)權(quán)利要求1所述的副本同步裝置,其特征在于,所述發(fā)送模塊用于將整合了所述增量日志的區(qū)間樹的節(jié)點(diǎn)中的內(nèi)容發(fā)送至需要進(jìn)行增量副本同步的服務(wù)器時(shí)包括: 按左端點(diǎn)順序?qū)⑺鰠^(qū)間樹的節(jié)點(diǎn)中的內(nèi)容保存至列表中,并發(fā)送所述列表。
【文檔編號(hào)】G06F11/07GK103490936SQ201310471352
【公開日】2014年1月1日 申請日期:2013年10月10日 優(yōu)先權(quán)日:2013年10月10日
【發(fā)明者】彭成, 付根希, 姜國梁, 苗艷超, 劉新春, 邵宗有 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司