国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      文件系統(tǒng)的屬性同步控制方法、裝置和系統(tǒng)的制作方法

      文檔序號(hào):6500458閱讀:196來源:國知局
      文件系統(tǒng)的屬性同步控制方法、裝置和系統(tǒng)的制作方法
      【專利摘要】本發(fā)明公開了一種文件系統(tǒng)的屬性同步控制方法、裝置和系統(tǒng)。其中,該方法包括:申請(qǐng)單板根據(jù)當(dāng)前對(duì)屬性的更新操作類型確定同步方式;其中,該更新操作類型包括:簡(jiǎn)易操作和復(fù)雜操作;申請(qǐng)單板按照確定的同步方式與屬性的元數(shù)據(jù)單板進(jìn)行屬性同步操作,并在本地存儲(chǔ)同步后的屬性。通過本發(fā)明,避免了屬性存儲(chǔ)于一個(gè)可靠節(jié)點(diǎn)導(dǎo)致系統(tǒng)性能下降的問題,降低了屬性的訪問和修改所帶來的性能和資源的消耗,優(yōu)化了系統(tǒng)性能。
      【專利說明】文件系統(tǒng)的屬性同步控制方法、裝置和系統(tǒng)
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種文件系統(tǒng)的屬性同步控制方法、裝置和系統(tǒng)。
      【背景技術(shù)】
      [0002]隨著多媒體產(chǎn)業(yè)的迅猛發(fā)展,出于成本、可靠性等多方面的考慮,越來越多的廠商選擇在產(chǎn)品中部署分布式上層存儲(chǔ)系統(tǒng),分布式文件系統(tǒng)也因此得到了快速的發(fā)展。
      [0003]目前,普通網(wǎng)絡(luò)文件系統(tǒng)注重?cái)?shù)據(jù)緩存的高效性,而忽略了操作更為頻繁的屬性緩存的速度與性能的提高,通常,分布式文件系統(tǒng)中的屬性會(huì)存儲(chǔ)在一個(gè)可靠的節(jié)點(diǎn)上,其它節(jié)點(diǎn)對(duì)該屬性進(jìn)行操作時(shí),都需要訪問該可靠節(jié)點(diǎn),如果當(dāng)前節(jié)點(diǎn)與該可靠節(jié)點(diǎn)相距較遠(yuǎn),則訪問所花時(shí)間較長;并且如果系統(tǒng)內(nèi)的各個(gè)節(jié)點(diǎn)均頻繁訪問該可靠節(jié)點(diǎn),也會(huì)造成該可靠節(jié)點(diǎn)的響應(yīng)壓力較大。由此可見,將屬性單純地存儲(chǔ)在一個(gè)可靠節(jié)點(diǎn)上的方式影響了系統(tǒng)的性能。
      [0004]針對(duì)相關(guān)技術(shù)中屬性存儲(chǔ)于一個(gè)可靠節(jié)點(diǎn)導(dǎo)致系統(tǒng)性能下降的問題,目前尚未提出有效的解決方案。

      【發(fā)明內(nèi)容】

      [0005]針對(duì)上述屬性存儲(chǔ)于一個(gè)可靠節(jié)點(diǎn)導(dǎo)致系統(tǒng)性能下降的問題,本發(fā)明提供了一種文件系統(tǒng)的屬性同步控制方法、裝置和系統(tǒng),以至少解決上述問題。
      [0006]根據(jù)本發(fā)明的一個(gè)方面,提供了一種文件系統(tǒng)的屬性同步控制方法,包括:申請(qǐng)單板根據(jù)當(dāng)前對(duì)屬性的更新操作類型確定同步方式;其中,該更新操作類型包括:簡(jiǎn)易操作和復(fù)雜操作;申請(qǐng)單板按照確定的同步方式與屬性的元數(shù)據(jù)單板進(jìn)行屬性同步操作,并在本地存儲(chǔ)同步后的屬性。
      [0007]上述申請(qǐng)單板根據(jù)當(dāng)前對(duì)屬性的更新操作類型確定同步方式包括:如果當(dāng)前對(duì)屬性的更新操作類型為簡(jiǎn)易操作,申請(qǐng)單板確定同步方式為更新不受限的同步操作;如果當(dāng)前對(duì)屬性的更新操作類型為復(fù)雜操作,申請(qǐng)單板確定同步方式為更新受限的同步操作。
      [0008]上述申請(qǐng)單板按照確定的同步方式與屬性的元數(shù)據(jù)單板進(jìn)行屬性同步操作包括:當(dāng)申請(qǐng)單板確定的同步方式為更新不受限的同步操作時(shí),申請(qǐng)單板對(duì)本地的屬性進(jìn)行更新操作,并將更新前的屬性和更新后的屬性發(fā)送給屬性的元數(shù)據(jù)單板;申請(qǐng)單板接收元數(shù)據(jù)單板的響應(yīng)消息,如果響應(yīng)消息指示更新操作成功,申請(qǐng)單板將更新后的屬性作為新屬性;如果該響應(yīng)消息指示更新操作失敗,申請(qǐng)單板將響應(yīng)消息中攜帶的屬性作為新屬性。
      [0009]上述申請(qǐng)單板按照確定的同步方式與屬性的元數(shù)據(jù)單板進(jìn)行屬性同步操作包括:當(dāng)申請(qǐng)單板確定的同步方式為更新受限的同步操作時(shí),申請(qǐng)單板向?qū)傩缘脑獢?shù)據(jù)單板發(fā)送獲取更新權(quán)限的請(qǐng)求;申請(qǐng)單板接收元數(shù)據(jù)單板返回的授予更新權(quán)限的指示和指示對(duì)應(yīng)的屬性;申請(qǐng)單板對(duì)屬性進(jìn)行更新操作,并定期將更新后的屬性發(fā)送給元數(shù)據(jù)單板。
      [0010]上述申請(qǐng)單板對(duì)屬性進(jìn)行更新操作之后,上述方法還包括:申請(qǐng)單板接收到第三單板獲取屬性的請(qǐng)求后,將更新后的屬性發(fā)送給第三單板。
      [0011]上述申請(qǐng)單板將更新后的屬性發(fā)送給第三單板之前,該方法還包括:申請(qǐng)單板記錄第三單板的地址和獲取時(shí)間;申請(qǐng)單板根據(jù)記錄的第三單板的獲取時(shí)間判斷第三單板在指定時(shí)長內(nèi)的獲取次數(shù)是否大于閾值,如果是,標(biāo)記第三單板為屬性的熱節(jié)點(diǎn),用以后續(xù)對(duì)屬性進(jìn)行更新操作之后,將更新后的屬性發(fā)送給屬性的熱節(jié)點(diǎn)。
      [0012]根據(jù)本發(fā)明的另一個(gè)方面,提供了一種文件系統(tǒng)的屬性同步控制方法,包括:元數(shù)據(jù)單板接收申請(qǐng)單板的更新請(qǐng)求;元數(shù)據(jù)單板根據(jù)更新請(qǐng)求中攜帶的信息確定同步方式;元數(shù)據(jù)單板按照確定的同步方式與申請(qǐng)單板進(jìn)行屬性同步操作,并在本地存儲(chǔ)同步后的屬性。
      [0013]上述數(shù)據(jù)單板根據(jù)更新請(qǐng)求中攜帶的信息確定同步方式包括:如果更新請(qǐng)求中攜帶的信息是申請(qǐng)單板更新前的屬性和更新后的屬性,元數(shù)據(jù)單板確定同步方式為更新不受限的同步操作;如果更新請(qǐng)求中攜帶的信息是獲取更新權(quán)限的請(qǐng)求,元數(shù)據(jù)單板確定同步方式為更新受限的同步操作。
      [0014]上述元數(shù)據(jù)單板按照確定的同步方式與申請(qǐng)單板進(jìn)行屬性同步操作包括:當(dāng)元數(shù)據(jù)單板確定的同步方式為更新不受限的同步操作時(shí),元數(shù)據(jù)單板比較申請(qǐng)單板更新前的屬性與本地屬性是否一致;如果一致,元數(shù)據(jù)單板向申請(qǐng)單板發(fā)送攜帶有更新操作成功指示的響應(yīng)消息,將申請(qǐng)單板更新后的屬性作為新屬性,并向除申請(qǐng)單板之外的其它單板廣播新屬性;如果不一致,元數(shù)據(jù)單板向申請(qǐng)單板發(fā)送攜帶有更新操作失敗指示和本地屬性的響應(yīng)消息。
      [0015]上述元數(shù)據(jù)單板按照確定的同步方式與申請(qǐng)單板進(jìn)行屬性同步操作包括:當(dāng)元數(shù)據(jù)單板確定的同步方式為更新受限的同步操作時(shí),元數(shù)據(jù)單板判斷是否授予申請(qǐng)單板更新權(quán)限;如果授予,元數(shù)據(jù)單板向申請(qǐng)單板發(fā)送授予更新權(quán)限的指示和指示對(duì)應(yīng)的屬性,并向除申請(qǐng)單板之外的其它單板廣播申請(qǐng)單板的地址和設(shè)置緩存屬性為無效的通知;元數(shù)據(jù)單板定期接收申請(qǐng)單板更新后的屬性,將更新后的屬性作為新屬性。
      [0016]上述方法還包括在以下情況之一發(fā)生時(shí),元數(shù)據(jù)單板取消申請(qǐng)單板的更新權(quán)限:元數(shù)據(jù)單板接收到申請(qǐng)單板發(fā)送的屬性更新完成通知;元數(shù)據(jù)單板在設(shè)定時(shí)長內(nèi)均未收到來自申請(qǐng)單板的消息;元數(shù)據(jù)單板接送到第三單板的更新權(quán)限請(qǐng)求,且確認(rèn)第三單板對(duì)屬性的更新優(yōu)于申請(qǐng)單板對(duì)屬性的更新。
      [0017]根據(jù)本發(fā)明的又一方面,提供了一種文件系統(tǒng)的屬性同步控制裝置,包括:第一同步方式確定模塊,用于根據(jù)當(dāng)前對(duì)屬性的更新操作類型確定同步方式;其中,該更新操作類型包括:簡(jiǎn)易操作和復(fù)雜操作;第一同步操作模塊,用于按照第一同步方式確定模塊確定的同步方式與屬性的元數(shù)據(jù)單板進(jìn)行屬性同步操作,并在本地存儲(chǔ)同步后的屬性。
      [0018]上述第一同步方式確定模塊包括:第一同步方式確定單元,用于如果當(dāng)前對(duì)屬性的更新操作類型為簡(jiǎn)易操作,確定同步方式為更新不受限的同步操作;第二同步方式確定單元,用于如果當(dāng)前對(duì)屬性的更新操作類型為復(fù)雜操作,確定同步方式為更新受限的同步操作。
      [0019]上述第一同步操作模塊包括:更新屬性發(fā)送單元,用于當(dāng)申請(qǐng)單板確定的同步方式為更新不受限的同步操作時(shí),對(duì)本地的屬性進(jìn)行更新操作,并將更新前的屬性和更新后的屬性發(fā)送給屬性的元數(shù)據(jù)單板;第一新屬性確定單元,用于接收元數(shù)據(jù)單板的響應(yīng)消息,如果響應(yīng)消息指示更新操作成功,將更新后的屬性作為新屬性;如果響應(yīng)消息指示更新操作失敗,將響應(yīng)消息中攜帶的屬性作為新屬性。
      [0020]上述第一同步操作模塊包括:權(quán)限請(qǐng)求單元,用于當(dāng)申請(qǐng)單板確定的同步方式為更新受限的同步操作時(shí),向?qū)傩缘脑獢?shù)據(jù)單板發(fā)送獲取更新權(quán)限的請(qǐng)求;信息接收單元,用于接收元數(shù)據(jù)單板返回的授予更新權(quán)限的指示和指示對(duì)應(yīng)的屬性;第二更新屬性發(fā)送單元,用于對(duì)信息接收單元接收的屬性進(jìn)行更新操作,并定期將更新后的屬性發(fā)送給元數(shù)據(jù)單板。
      [0021]根據(jù)本發(fā)明的再一方面,提供了一種文件系統(tǒng)的屬性同步控制裝置,包括:更新請(qǐng)求接收模塊,用于接收申請(qǐng)單板的更新請(qǐng)求;第二同步方式確定模塊,用于根據(jù)更新請(qǐng)求接收模塊接收的更新請(qǐng)求中攜帶的信息確定同步方式;第二同步操作模塊,用于按照第二同步方式確定模塊確定的同步方式與申請(qǐng)單板進(jìn)行屬性同步操作,并在本地存儲(chǔ)同步后的屬性。
      [0022]上述第二同步方式確定模塊包括:第三同步方式確定單元,用于如果更新請(qǐng)求中攜帶的信息是申請(qǐng)單板更新前的屬性和更新后的屬性,確定同步方式為更新不受限的同步操作;第四同步方式確定單元,用于如果更新請(qǐng)求中攜帶的信息是獲取更新權(quán)限的請(qǐng)求,確定同步方式為更新受限的同步操作。
      [0023]上述第二同步操作模塊包括:屬性比較單元,用于當(dāng)?shù)谝煌椒绞酱_定單元確定的同步方式為更新不受限的同步操作時(shí),比較申請(qǐng)單板更新前的屬性與本地屬性是否一致;同步處理單元,用于如果屬性比較單元的比較結(jié)果為一致,向申請(qǐng)單板發(fā)送攜帶有更新操作成功指示的響應(yīng)消息,將申請(qǐng)單板更新后的屬性作為新屬性,并向除申請(qǐng)單板之外的其它單板廣播新屬性;如果屬性比較單元的比較結(jié)果為不一致,向申請(qǐng)單板發(fā)送攜帶有更新操作失敗指示和本地屬性的響應(yīng)消息。
      [0024]上述第二同步操作模塊包括:權(quán)限判斷單元,用于當(dāng)?shù)诙椒绞酱_定單元確定的同步方式為更新受限的同步操作時(shí),判斷是否授予申請(qǐng)單板更新權(quán)限;廣播單元,用于如果權(quán)限判斷單元的判斷結(jié)果為授予,向申請(qǐng)單板發(fā)送授予更新權(quán)限的指示和指示對(duì)應(yīng)的屬性,并向除申請(qǐng)單板之外的其它單板廣播申請(qǐng)單板的地址和設(shè)置緩存屬性為無效的通知;屬性更新單元,用于定期接收申請(qǐng)單板更新后的屬性,將更新后的屬性作為新屬性。
      [0025]根據(jù)本發(fā)明的還一方面,提供了一種文件系統(tǒng)的屬性同步控制系統(tǒng),包括申請(qǐng)單板和元數(shù)據(jù)單板,其中,申請(qǐng)單板包括上述本發(fā)明又一方面中的屬性同步控制裝置,元數(shù)據(jù)單板包括上述本發(fā)明再一方面中的屬性同步控制裝置。
      [0026]通過本發(fā)明,按照屬性的更新操作類型有針對(duì)地與元數(shù)據(jù)單板進(jìn)行屬性的同步過程,進(jìn)而可以簡(jiǎn)化屬性同步過程,同時(shí)通過將同步后的屬性在申請(qǐng)單板側(cè)進(jìn)行存儲(chǔ),為后續(xù)申請(qǐng)單板獲取該屬性提供了便捷方式,這種方式避免了屬性存儲(chǔ)于一個(gè)可靠節(jié)點(diǎn)導(dǎo)致系統(tǒng)性能下降的問題,降低了屬性的訪問和修改所帶來的性能和資源的消耗,優(yōu)化了系統(tǒng)性能。
      【專利附圖】

      【附圖說明】
      [0027]此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
      [0028]圖1是根據(jù)本發(fā)明實(shí)施例的從申請(qǐng)單板側(cè)描述的文件系統(tǒng)的屬性同步控制方法的流程圖;
      [0029]圖2是根據(jù)本發(fā)明實(shí)施例的屬性緩存中單個(gè)屬性的狀態(tài)變遷狀態(tài)圖;
      [0030]圖3是根據(jù)本發(fā)明實(shí)施例的從元數(shù)據(jù)單板側(cè)描述的文件系統(tǒng)的屬性同步控制方法的流程圖;
      [0031]圖4是根據(jù)本發(fā)明實(shí)施例的簡(jiǎn)單修改屬性的同步方法流程圖;
      [0032]圖5是根據(jù)本發(fā)明實(shí)施例的復(fù)雜修改屬性的同步方法流程圖;
      [0033]圖6是根據(jù)本發(fā)明實(shí)施例的從申請(qǐng)單板側(cè)描述的文件系統(tǒng)的屬性同步控制裝置的結(jié)構(gòu)框圖;
      [0034]圖7是根據(jù)本發(fā)明實(shí)施例的從元數(shù)據(jù)單板側(cè)描述的文件系統(tǒng)的屬性同步控制裝置的結(jié)構(gòu)框圖;
      [0035]圖8是根據(jù)本發(fā)明實(shí)施例的文件系統(tǒng)的屬性同步控制系統(tǒng)的結(jié)構(gòu)框圖。
      【具體實(shí)施方式】
      [0036]下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。
      [0037]本發(fā)明實(shí)施例中的文件系統(tǒng)中設(shè)置有多個(gè)單板(也可以稱為節(jié)點(diǎn)),其中,將存儲(chǔ)元數(shù)據(jù)的單板稱為元數(shù)據(jù)單板,將當(dāng)前進(jìn)行屬性操作的單板稱為申請(qǐng)單板,下面分別從申請(qǐng)單板和元數(shù)據(jù)單板側(cè)描述文件系統(tǒng)的屬性同步控制方法。
      [0038]如圖1所示的文件系統(tǒng)的屬性同步控制方法的流程圖,該方法以從申請(qǐng)單板側(cè)描述為例進(jìn)行說明,該方法包括以下步驟:
      [0039]步驟S102,申請(qǐng)單板根據(jù)當(dāng)前對(duì)屬性的更新操作類型確定同步方式;其中,該更新操作類型包括:簡(jiǎn)易操作和復(fù)雜操作;
      [0040]例如:chmod (文件權(quán)限修改)、chown (文件屬主修改)、chgrp (文件用戶組修改)等操作均可以通過操作一次完成,這些操作就可以歸類為簡(jiǎn)單操作,而像createfile (倉Il建文件)、writefile (寫文件)等連續(xù)的操作中的屬性不能一次更新到位,貝Ij可以將這些操作歸類為復(fù)雜操作;或者當(dāng)前操作需要修改多個(gè)元數(shù)據(jù)的屬性的情況也可以歸類為復(fù)雜操作;
      [0041]步驟S104,申請(qǐng)單板按照上述確定的同步方式與屬性的元數(shù)據(jù)單板進(jìn)行屬性同步操作,并在本地存儲(chǔ)同步后的屬性。
      [0042]本實(shí)施例按照屬性的更新操作類型有針對(duì)地與元數(shù)據(jù)單板進(jìn)行屬性的同步過程,進(jìn)而可以簡(jiǎn)化屬性同步過程,同時(shí)通過將同步后的屬性在申請(qǐng)單板側(cè)進(jìn)行存儲(chǔ),為后續(xù)申請(qǐng)單板獲取該屬性提供了便捷方式,這種方式避免了屬性存儲(chǔ)于一個(gè)可靠節(jié)點(diǎn)導(dǎo)致系統(tǒng)性能下降的問題,降低了屬性的訪問和修改所帶來的性能和資源的消耗,優(yōu)化了系統(tǒng)性能。
      [0043]如果當(dāng)前申請(qǐng)單板對(duì)屬性的更新操作類型為簡(jiǎn)易操作,則申請(qǐng)單板無需向元數(shù)據(jù)單板獲取更新權(quán)限,申請(qǐng)單板可以確定同步方式為更新不受限的同步操作;如果當(dāng)前對(duì)屬性的更新操作類型為復(fù)雜操作,為了避免申請(qǐng)單板與元數(shù)據(jù)單板間頻繁的消息交互,本實(shí)施例的申請(qǐng)單板可以確定同步方式為更新受限的同步操作。下面分別對(duì)更新不受限的同步操作和更新受限的同步操作進(jìn)行描述。
      [0044]一、更新不受限的同步操作
      [0045]當(dāng)申請(qǐng)單板確定的同步方式為更新不受限的同步操作時(shí),申請(qǐng)單板先對(duì)本地的屬性進(jìn)行更新操作,并將更新前的屬性(也可以稱為原始屬性)和更新后的屬性發(fā)送給該屬性的元數(shù)據(jù)單板;
      [0046]申請(qǐng)單板接收上述元數(shù)據(jù)單板的響應(yīng)消息,如果響應(yīng)消息指示更新操作成功,則申請(qǐng)單板將更新后的屬性作為新屬性;如果響應(yīng)消息指示更新操作失敗,申請(qǐng)單板將響應(yīng)消息中攜帶的屬性作為新屬性。
      [0047]這種方式下,申請(qǐng)單板將會(huì)在本地保存上述新屬性,當(dāng)申請(qǐng)單板下次在需要對(duì)該屬性進(jìn)行訪問時(shí),可以直接在本地獲取到該屬性,為了保證屬性的有效性,可以為該屬性設(shè)置一個(gè)狀態(tài)標(biāo)志位,如果該狀態(tài)標(biāo)志位為I,則該屬性為無效的屬性,否則,該屬性有效。
      [0048]二、更新不受限的同步操作
      [0049]當(dāng)申請(qǐng)單板確定的同步方式為更新受限的同步操作時(shí),申請(qǐng)單板向該屬性的元數(shù)據(jù)單板發(fā)送獲取更新權(quán)限的請(qǐng)求;
      [0050]申請(qǐng)單板接收元數(shù)據(jù)單板返回的授予更新權(quán)限的指示和該指示對(duì)應(yīng)的屬性;
      [0051]申請(qǐng)單板對(duì)該屬性進(jìn)行更新操作,并定期將更新后的屬性(即新屬性)發(fā)送給元數(shù)據(jù)單板。
      [0052]這種同步方式之后,申請(qǐng)單板將在本地存儲(chǔ)更新后的屬性,因?yàn)檫@種復(fù)雜操作方式會(huì)對(duì)屬性進(jìn)行多次操作,因此本實(shí)施例采用了定期向元數(shù)據(jù)單板發(fā)送更新后的屬性的方式,以使元數(shù)據(jù)單板上的屬性為最新屬性。
      [0053]本發(fā)明實(shí)施例考慮到系統(tǒng)中有很多的單板,為了便于其它單板就近且分散訪問屬性,本實(shí)施例使用 M0SIE(Modif ier Owner Share Exclusive Invalid,修改、擁有、共享、獨(dú)享和無效)的方式管理屬性,圖2給出了屬性緩存中單個(gè)屬性的狀態(tài)變遷狀態(tài)圖,其中,各個(gè)狀態(tài)如下:
      [0054]M:數(shù)據(jù)的修改者位,獲得該權(quán)限的節(jié)點(diǎn)即擁有讀寫權(quán)限(可以與其他屬性位共存,擁有M的節(jié)點(diǎn)需要記錄O的位置,方便更新O的狀態(tài)),相當(dāng)于上述更新權(quán)限;
      [0055]O:指屬性的擁有者,只擁有只讀的權(quán)限(目前是元數(shù)據(jù)所在的地方,同時(shí)記錄M的位置);
      [0056]S:屬性的共享者,該節(jié)點(diǎn)只擁有屬性只讀的權(quán)限;
      [0057]E:屬性的獨(dú)享者,擁有屬性獨(dú)享的權(quán)限(此時(shí)的節(jié)點(diǎn)一定擁有M權(quán)限,卻不一定是
      O,可能O已被置換了,需要記錄O的位置);
      [0058]1:該狀態(tài)的節(jié)點(diǎn)上的屬性為無效的,沒有意義。
      [0059]申請(qǐng)單板對(duì)屬性進(jìn)行更新操作之后,元數(shù)據(jù)單板將會(huì)將申請(qǐng)單板的地址通知給其它節(jié)點(diǎn),此后,第三單板可以保存申請(qǐng)單板的地址,在需要訪問上述屬性時(shí),向申請(qǐng)單板發(fā)送請(qǐng)求即可?;诖?,上述方法還包括:申請(qǐng)單板接收到第三單板獲取屬性的請(qǐng)求后,將更新后的屬性發(fā)送給第三單板。這種方式能夠使第三單板方便地獲取到上述屬性,并且可以避免大量的節(jié)點(diǎn)頻繁地訪問元數(shù)據(jù)單板,減輕了元數(shù)據(jù)單板的壓力。
      [0060]為了進(jìn)一步降低系統(tǒng)將的通信量,申請(qǐng)單板將更新后的屬性發(fā)送給第三單板之前,上述方法還包括:申請(qǐng)單板記錄第三單板的地址和獲取時(shí)間;申請(qǐng)單板根據(jù)記錄的第三單板的獲取時(shí)間判斷第三單板在指定時(shí)長內(nèi)的獲取次數(shù)是否大于閾值,如果是,標(biāo)記該第三單板為該屬性的熱節(jié)點(diǎn),用以后續(xù)對(duì)上述屬性進(jìn)行更新操作之后,將更新后的屬性直接發(fā)送給該屬性的熱節(jié)點(diǎn)。這種方式不需要該屬性的熱節(jié)點(diǎn)發(fā)屬性獲取請(qǐng)求給申請(qǐng)節(jié)點(diǎn),便可以使該屬性的熱節(jié)點(diǎn)及時(shí)地獲取到更新的屬性。
      [0061]如圖3所示的文件系統(tǒng)的屬性同步控制方法的流程圖,該方法以從元數(shù)據(jù)單板側(cè)描述為例進(jìn)行說明,該方法包括以下步驟:
      [0062]步驟S302,元數(shù)據(jù)單板接收申請(qǐng)單板的更新請(qǐng)求;
      [0063]步驟S304,元數(shù)據(jù)單板根據(jù)上述更新請(qǐng)求中攜帶的信息確定同步方式;
      [0064]步驟S306,元數(shù)據(jù)單板按照確定的同步方式與上述申請(qǐng)單板進(jìn)行屬性同步操作,并在本地存儲(chǔ)同步后的屬性。
      [0065]本實(shí)施例按照申請(qǐng)單板的更新請(qǐng)求中的信息確定同步方式,進(jìn)而能夠有針對(duì)地與申請(qǐng)單板進(jìn)行屬性的同步過程,簡(jiǎn)化了屬性同步過程,同時(shí)通過將同步后的屬性在元數(shù)據(jù)單板側(cè)進(jìn)行存儲(chǔ),為后續(xù)其它單板獲取該屬性提供了便捷方式,這種方式避免了屬性存儲(chǔ)于一個(gè)可靠節(jié)點(diǎn)導(dǎo)致系統(tǒng)性能下降的問題,降低了屬性的訪問和修改所帶來的性能和資源的消耗,優(yōu)化了系統(tǒng)性能。
      [0066]本實(shí)施例中,如果更新請(qǐng)求中攜帶的信息是申請(qǐng)單板更新前的屬性和更新后的屬性,則元數(shù)據(jù)單板可以確定同步方式為更新不受限的同步操作;如果更新請(qǐng)求中攜帶的信息是獲取更新權(quán)限的請(qǐng)求,元數(shù)據(jù)單板可以確定同步方式為更新受限的同步操作。
      [0067]當(dāng)元數(shù)據(jù)單板確定的同步方式為更新不受限的同步操作時(shí),元數(shù)據(jù)單板比較上述申請(qǐng)單板更新前的屬性與本地屬性是否一致;如果一致,元數(shù)據(jù)單板向申請(qǐng)單板發(fā)送攜帶有更新操作成功指示的響應(yīng)消息,將申請(qǐng)單板更新后的屬性作為新屬性,并向除申請(qǐng)單板之外的其它單板廣播該新屬性;如果不一致,元數(shù)據(jù)單板向申請(qǐng)單板發(fā)送攜帶有更新操作失敗指示和本地屬性的響應(yīng)消息。這樣可以簡(jiǎn)單地完成屬性的更新過程。
      [0068]當(dāng)元數(shù)據(jù)單板確定的同步方式為更新受限的同步操作時(shí),元數(shù)據(jù)單板判斷是否授予申請(qǐng)單板更新權(quán)限(具體判斷方式可以結(jié)合當(dāng)前操作的具體內(nèi)容進(jìn)行,判斷該申請(qǐng)節(jié)點(diǎn)是否適合進(jìn)行當(dāng)前操作);如果授予,元數(shù)據(jù)單板向申請(qǐng)單板發(fā)送授予更新權(quán)限的指示和指示對(duì)應(yīng)的屬性,并向除申請(qǐng)單板之外的其它單板廣播申請(qǐng)單板的地址和設(shè)置緩存屬性為無效的通知;這種方式下,元數(shù)據(jù)單板將可以定期接收申請(qǐng)單板更新后的屬性,將更新后的屬性作為新屬性。
      [0069]優(yōu)選地,上述方法還包括在以下情況之一發(fā)生時(shí),元數(shù)據(jù)單板取消申請(qǐng)單板的更新權(quán)限:1)元數(shù)據(jù)單板接收到申請(qǐng)單板發(fā)送的屬性更新完成通知;2)元數(shù)據(jù)單板在設(shè)定時(shí)長內(nèi)均未收到來自申請(qǐng)單板的消息;3)元數(shù)據(jù)單板接送到第三單板的更新權(quán)限請(qǐng)求,且確認(rèn)第三單板對(duì)屬性的更新優(yōu)于申請(qǐng)單板對(duì)屬性的更新。本實(shí)施例通過適時(shí)取消申請(qǐng)單板的更新權(quán)限,能夠使其它單板獲取到該更新權(quán)限,便于屬性的同步操作。
      [0070]本發(fā)明上述實(shí)施例中僅對(duì)屬性的更新進(jìn)行了描述,上述方法對(duì)應(yīng)的系統(tǒng)中可以對(duì)屬性進(jìn)行下述操作:
      [0071]I)獲取屬性:即讀取屬性,如果所讀取的屬性的元數(shù)據(jù)不在本板,那么對(duì)應(yīng)的元數(shù)據(jù)的單板也會(huì)得到該屬性的一份數(shù)據(jù),本板狀態(tài)為S,記錄元數(shù)據(jù)單板的標(biāo)識(shí)(例如:單板的IP地址等可以在集群中唯一標(biāo)識(shí)單板身份的一個(gè)唯一確定值),而元數(shù)據(jù)單板狀態(tài)為S+0,并記錄擁有的該屬性的2個(gè)單板的標(biāo)識(shí),例如:當(dāng)一個(gè)非元數(shù)據(jù)單板的單板(非元數(shù)據(jù)單板)獲取了屬性,那么元數(shù)據(jù)單板需要記錄本板和獲取到該屬性的單板這兩個(gè)單板的相關(guān)信息。[0072]2)更新屬性:通常指修改屬性,如上述實(shí)施例所述,本發(fā)明實(shí)施例中涉及到兩種形式:簡(jiǎn)單模式和復(fù)雜模式,即對(duì)應(yīng)上述更新不受限的同步操作和更新受限的同步操作。
      [0073]3)釋放更新權(quán)限:歸還M權(quán)限,然后對(duì)全域做一次更新。
      [0074]4)刪除屬性:可以借助于廣播方式通知給各個(gè)單板,清除相關(guān)的屬性緩存,元數(shù)據(jù)單板(O節(jié)點(diǎn))將清除相應(yīng)的元數(shù)據(jù)。
      [0075]如圖4所示的簡(jiǎn)單修改屬性的同步方法流程圖,其中包括以下步驟:
      [0076]步驟S402,簡(jiǎn)單修改單板將原始屬性與改后屬性(即新屬性)同時(shí)發(fā)給屬性的擁有者O (即元數(shù)據(jù)單板);
      [0077]步驟S404,元數(shù)據(jù)單板(簡(jiǎn)稱為“O單板”或者“O節(jié)點(diǎn)”)根據(jù)自身記錄的屬性與接收到的簡(jiǎn)單修改單板發(fā)送的原始屬性進(jìn)行對(duì)比,如果二者一致,保存上述新屬性,并執(zhí)行步驟S406 ;如果不一致,執(zhí)行步驟S410 ;
      [0078]步驟S406,元數(shù)據(jù)單板向簡(jiǎn)單修改單板發(fā)送修改成功通知,然后執(zhí)行步驟S408 ;
      [0079]步驟S408,元數(shù)據(jù)單板向廣播域內(nèi)的單板廣播上述新屬性;
      [0080]其中,上述步驟S406和步驟S408的順序可以互換;
      [0081]步驟S410,元數(shù)據(jù)單板向簡(jiǎn)單修改單板返回修改失敗通知,該通知攜帶有元數(shù)據(jù)單板上記錄的屬性。
      [0082]如圖5所示的復(fù)雜修改屬性的同步方法流程圖,其中包括以下步驟:
      [0083]步驟S502,復(fù)雜修改單板向元數(shù)據(jù)單板獲取修改權(quán)限M,發(fā)送獲取M請(qǐng)求時(shí),攜帶有自身的原始屬性;
      [0084]步驟S504,元數(shù)據(jù)單板根據(jù)自身記錄的屬性與接收到的復(fù)雜修改單板發(fā)送的原始屬性進(jìn)行對(duì)比,如果相同,且復(fù)雜修改單板適合授予M,執(zhí)行步驟S506 ;否則,執(zhí)行步驟S510 ;
      [0085]步驟S506,元數(shù)據(jù)單板授予復(fù)雜修改單板M,記錄復(fù)雜修改單板的地址并將自己記錄的所有擁有本屬性信息的數(shù)據(jù)返回給復(fù)雜修改單板,然后執(zhí)行步驟S508 ;
      [0086]步驟S508,元數(shù)據(jù)單板向廣播域內(nèi)的單板發(fā)送更新M的通知,該通知攜帶有復(fù)雜修改單板的地址和設(shè)置緩存屬性為無效的指示(Invalid);即對(duì)非O廣播節(jié)點(diǎn)下發(fā)更新M節(jié)點(diǎn)信息,同時(shí)無效該節(jié)點(diǎn)上的屬性。如果對(duì)方節(jié)點(diǎn)需要該屬性,可以向復(fù)雜修改單板申請(qǐng);
      [0087]其中,上述步驟S506和步驟S508的順序可以互換;
      [0088]此時(shí)復(fù)雜修改單板獲得修改權(quán)限M,可以簡(jiǎn)稱為M節(jié)點(diǎn)或者M(jìn)單板,同時(shí)復(fù)雜修改單板將作為屬性的更新方負(fù)責(zé)更新相關(guān)的修改。具體包括:
      [0089]I)定期更新數(shù)據(jù)單板上的屬性信息,同時(shí),這種方式也是維護(hù)M狀態(tài)的心跳通信方式,如果連續(xù)丟失心跳(即元數(shù)據(jù)單板設(shè)定時(shí)長內(nèi)為收到該心跳通信),元數(shù)據(jù)單板將結(jié)束復(fù)雜修改單板的M狀態(tài),并以自己目前所得到的屬性對(duì)記錄的廣播域內(nèi)的單板解除復(fù)雜修改單板的M狀態(tài),并更新相關(guān)信息。同時(shí)元數(shù)據(jù)單板會(huì)將本地記錄的M狀態(tài)解除(就是集群中這個(gè)元數(shù)據(jù)失去了 M的單板,所有的更新和讀取會(huì)重新向數(shù)據(jù)的O (即元數(shù)據(jù)單板)發(fā)起請(qǐng)求)(本實(shí)施例中,設(shè)置有一個(gè)保護(hù)期30s,在解除復(fù)雜修改單板M狀態(tài)的30s內(nèi),別的單板無法申請(qǐng)到M狀態(tài);如果復(fù)雜修改單板對(duì)解除M狀態(tài)有異議,可以再次申請(qǐng)M權(quán)限,系統(tǒng)將更新相關(guān)信息);
      [0090]2)復(fù)雜修改單板在更新期間都沒有出現(xiàn)異常,復(fù)雜修改單板完成相應(yīng)操作之后需要解除M狀態(tài),例如:首先對(duì)所有廣播域內(nèi)的單板更新屬性,同時(shí)向元數(shù)據(jù)單板發(fā)送解除M狀態(tài)的通知,收到更新屬性廣播的單板可以給元數(shù)據(jù)單板發(fā)送確認(rèn)更新的消息,此時(shí)元數(shù)據(jù)單板將作為同步的關(guān)鍵節(jié)點(diǎn),保證收到所用廣播域內(nèi)的消息。
      [0091]步驟S510,元數(shù)據(jù)單板向復(fù)雜修改單板返回申請(qǐng)失敗通知,該通知攜帶有元數(shù)據(jù)單板上記錄的屬性和已經(jīng)具有M權(quán)限的單板的地址(當(dāng)然,如果系統(tǒng)中沒有單板具有M權(quán)限,則該通知中無此地址項(xiàng))。
      [0092]上述流程是復(fù)雜的屬性修改流程,目的是在文件系統(tǒng)創(chuàng)建、寫等連續(xù)操作過程中提高本地響應(yīng)速度的一種做法。
      [0093]上述簡(jiǎn)單修改單板或者復(fù)雜修改單板在與其它節(jié)點(diǎn)進(jìn)行屬性同步時(shí),可以采用廣播、組播或者單波的方式,例如:需要進(jìn)行同步節(jié)點(diǎn)的個(gè)數(shù)超過規(guī)定個(gè)數(shù),則可以采用廣播模式(需要進(jìn)行同步的節(jié)點(diǎn)的屬性狀態(tài)為S,如果沒有具有M權(quán)限的節(jié)點(diǎn),則由O節(jié)點(diǎn)進(jìn)行同步),通常系統(tǒng)中的一、二層節(jié)點(diǎn)(假設(shè)當(dāng)前文件系統(tǒng)掛載在/mnt下面,那么/mnt/a這個(gè)文件或目錄就是第一層節(jié)點(diǎn),而/mnt/a/b這個(gè)文件目錄就是第二層節(jié)點(diǎn),因?yàn)榫彺娴脑O(shè)計(jì)是樹形的,所以對(duì)于每一個(gè)緩存樹,樹根部分基本上每個(gè)單板都存在,設(shè)計(jì)時(shí)就可以對(duì)這兩層節(jié)點(diǎn)做特殊處理),默認(rèn)為采用廣播方式。當(dāng)需要同步屬性的節(jié)點(diǎn)個(gè)數(shù)小于規(guī)定個(gè)數(shù)時(shí),可以采用組播方式進(jìn)行同步;如果需要同步屬性的節(jié)點(diǎn)個(gè)數(shù)為1,或者該節(jié)點(diǎn)的狀態(tài)為E (這兩個(gè)節(jié)點(diǎn)應(yīng)該是并列的狀態(tài)),則可以采用單波方式。
      [0094]上述流程中如果存在下述沖突的問題,本實(shí)施例優(yōu)選采用下述方式處理:
      [0095]1、簡(jiǎn)單修改的方式下如果有節(jié)點(diǎn)獲得M狀態(tài)
      [0096]A)此時(shí)如果廣播域內(nèi)有其他單板需要進(jìn)行簡(jiǎn)單修改也可以,但是可以選擇與M狀態(tài)的節(jié)點(diǎn)進(jìn)行通訊,而不選擇具有O狀態(tài)的節(jié)點(diǎn);
      [0097]B)廣播域外由于獲取節(jié)點(diǎn)信息后就進(jìn)入廣播域,所以不存在廣播域外簡(jiǎn)單修改的可能。
      [0098]2、關(guān)于多個(gè)節(jié)點(diǎn)爭(zhēng)搶M狀態(tài)的解決辦法
      [0099]A)所有需要M狀態(tài)的操作在出現(xiàn)無法申請(qǐng)到M狀態(tài)后,對(duì)于具有M狀態(tài)的新節(jié)點(diǎn)建立簡(jiǎn)單的非M狀態(tài)操作流程;即由復(fù)雜流程退化到簡(jiǎn)單流程,但是操作的對(duì)象是元數(shù)據(jù)的M單板,而不是O單板,用于當(dāng)O單板通知之前的M單板解除M狀態(tài)回刷數(shù)據(jù)時(shí),該M單板再次申請(qǐng)M權(quán)限,這樣說明目前的M單板對(duì)流程的依賴很大,此時(shí)可以由M狀態(tài)回退到O單板上修改為新申請(qǐng)的M節(jié)點(diǎn)退化到簡(jiǎn)單流程,在具體實(shí)現(xiàn)時(shí),可以通過API程序來處理的,能夠使客戶了解自己的需求去申請(qǐng)這個(gè)權(quán)限。
      [0100]B)對(duì)于目前的M狀態(tài)節(jié)點(diǎn),O節(jié)點(diǎn)將發(fā)起目前M狀態(tài)的節(jié)點(diǎn)解除M狀態(tài)的動(dòng)作,以保證各個(gè)節(jié)點(diǎn)的公平;(即:原始的O節(jié)點(diǎn)要求收回M權(quán)限的流程,這個(gè)流程后所有的M請(qǐng)求單板(復(fù)雜請(qǐng)求)都會(huì)退化到簡(jiǎn)單請(qǐng)求,該處理是不做特殊處理的一般流程)。
      [0101]3、關(guān)于O節(jié)點(diǎn)緩存不足,需要釋放掉緩存的問題
      [0102]因?yàn)槭蔷彺?,所以有可能?huì)出現(xiàn)內(nèi)存不夠的情況,在內(nèi)存不足時(shí),緩存系統(tǒng)為了提高性能,一般來說采取回刷到硬盤,下次需要時(shí)再從硬盤讀取,如果此時(shí)O節(jié)點(diǎn)記錄的狀態(tài)是S(有自己以外的單板擁有這個(gè)狀態(tài)),那么在存在M單板的時(shí)候就直接釋放掉了 ;而如果沒有O節(jié)點(diǎn)會(huì)指定一個(gè)S的單板為M狀態(tài)同時(shí)釋放掉自己的內(nèi)存,這樣控制權(quán)在M單板上,如果有修改的話,由M單板代行O節(jié)點(diǎn)的權(quán)限進(jìn)行處理;當(dāng)屬性有修改時(shí),M單板需要同步到O節(jié)點(diǎn);此時(shí)O節(jié)點(diǎn)再申請(qǐng)內(nèi)存,重新同步M單板修改過的屬性(此時(shí)不需要讀取磁盤上數(shù)據(jù));
      [0103]O節(jié)點(diǎn)當(dāng)發(fā)現(xiàn)出現(xiàn)O狀態(tài)必須要釋放的時(shí)候,將隨機(jī)選一個(gè)節(jié)點(diǎn),并更新該節(jié)點(diǎn)的狀態(tài)為M,以保證數(shù)據(jù)可以繼續(xù)運(yùn)行。
      [0104]對(duì)應(yīng)與上述方法,本發(fā)明實(shí)施例還提供了一種文件系統(tǒng)的屬性同步控制裝置,該裝置可以設(shè)置在上述申請(qǐng)單板上,參見圖6,該裝置包括:
      [0105]第一同步方式確定模塊62,用于根據(jù)當(dāng)前對(duì)屬性的更新操作類型確定同步方式;其中,更新操作類型包括:簡(jiǎn)易操作和復(fù)雜操作;
      [0106]第一同步操作模塊64,與第一同步方式確定模塊62相連,用于按照第一同步方式確定模塊62確定的同步方式與屬性的元數(shù)據(jù)單板進(jìn)行屬性同步操作,并在本地存儲(chǔ)同步后的屬性。
      [0107]本實(shí)施例按照屬性的更新操作類型有針對(duì)地與元數(shù)據(jù)單板進(jìn)行屬性的同步過程,進(jìn)而可以簡(jiǎn)化屬性同步過程,同時(shí)通過將同步后的屬性在申請(qǐng)單板側(cè)進(jìn)行存儲(chǔ),為后續(xù)申請(qǐng)單板獲取該屬性提供了便捷方式,這種方式避免了屬性存儲(chǔ)于一個(gè)可靠節(jié)點(diǎn)導(dǎo)致系統(tǒng)性能下降的問題,降低了屬性的訪問和修改所帶來的性能和資源的消耗,優(yōu)化了系統(tǒng)性能。
      [0108]其中,第一同步方式確定模塊62包括:第一同步方式確定單元,用于如果當(dāng)前對(duì)屬性的更新操作類型為簡(jiǎn)易操作,確定同步方式為更新不受限的同步操作;第二同步方式確定單元,用于如果當(dāng)前對(duì)屬性的更新操作類型為復(fù)雜操作,確定同步方式為更新受限的同步操作。
      [0109]優(yōu)選地,第一同步操作模塊64包括:更新屬性發(fā)送單元,用于當(dāng)申請(qǐng)單板確定的同步方式為更新不受限的同步操作時(shí),對(duì)本地的屬性進(jìn)行更新操作,并將更新前的屬性和更新后的屬性發(fā)送給屬性的元數(shù)據(jù)單板;第一新屬性確定單元,用于接收元數(shù)據(jù)單板的響應(yīng)消息,如果響應(yīng)消息指示更新操作成功,將更新后的屬性作為新屬性;如果響應(yīng)消息指示更新操作失敗,將響應(yīng)消息中攜帶的屬性作為新屬性。
      [0110]優(yōu)選地,第一同步操作模塊64包括:權(quán)限請(qǐng)求單元,用于當(dāng)申請(qǐng)單板確定的同步方式為更新受限的同步操作時(shí),向?qū)傩缘脑獢?shù)據(jù)單板發(fā)送獲取更新權(quán)限的請(qǐng)求;信息接收單元,用于接收元數(shù)據(jù)單板返回的授予更新權(quán)限的指示和指示對(duì)應(yīng)的屬性;第二更新屬性發(fā)送單元,用于對(duì)信息接收單元接收的屬性進(jìn)行更新操作,并定期將更新后的屬性發(fā)送給元數(shù)據(jù)單板。
      [0111]對(duì)應(yīng)于上述方法,本發(fā)明實(shí)施例還提供了一種文件系統(tǒng)的屬性同步控制裝置,該裝置可以設(shè)置在上述元數(shù)據(jù)單板上,參見圖7,該裝置包括:
      [0112]更新請(qǐng)求接收模塊72,用于接收申請(qǐng)單板的更新請(qǐng)求;
      [0113]第二同步方式確定模塊74,與更新請(qǐng)求接收模塊72相連,用于根據(jù)更新請(qǐng)求接收模塊72接收的更新請(qǐng)求中攜帶的信息確定同步方式;
      [0114]第二同步操作模塊76,與第二同步方式確定模塊74相連,用于按照第二同步方式確定模塊74確定的同步方式與申請(qǐng)單板進(jìn)行屬性同步操作,并在本地存儲(chǔ)同步后的屬性。
      [0115]本實(shí)施例按照申請(qǐng)單板的更新請(qǐng)求中的信息確定同步方式,進(jìn)而能夠有針對(duì)地與申請(qǐng)單板進(jìn)行屬性的同步過程,簡(jiǎn)化了屬性同步過程,同時(shí)通過將同步后的屬性在元數(shù)據(jù)單板側(cè)進(jìn)行存儲(chǔ),為后續(xù)其它單板獲取該屬性提供了便捷方式,這種方式避免了屬性存儲(chǔ)于一個(gè)可靠節(jié)點(diǎn)導(dǎo)致系統(tǒng)性能下降的問題,降低了屬性的訪問和修改所帶來的性能和資源的消耗,優(yōu)化了系統(tǒng)性能。
      [0116]優(yōu)選地,第二同步方式確定模塊74包括:第三同步方式確定單元,用于如果更新請(qǐng)求中攜帶的信息是申請(qǐng)單板更新前的屬性和更新后的屬性,確定同步方式為更新不受限的同步操作;第四同步方式確定單元,用于如果更新請(qǐng)求中攜帶的信息是獲取更新權(quán)限的請(qǐng)求,確定同步方式為更新受限的同步操作。
      [0117]優(yōu)選地,第二同步操作模塊76包括:屬性比較單元,用于當(dāng)?shù)谝煌椒绞酱_定單元確定的同步方式為更新不受限的同步操作時(shí),比較申請(qǐng)單板更新前的屬性與本地屬性是否一致;同步處理單元,用于如果屬性比較單元的比較結(jié)果為一致,向申請(qǐng)單板發(fā)送攜帶有更新操作成功指示的響應(yīng)消息,將申請(qǐng)單板更新后的屬性作為新屬性,并向除申請(qǐng)單板之外的其它單板廣播新屬性;如果屬性比較單元的比較結(jié)果為不一致,向申請(qǐng)單板發(fā)送攜帶有更新操作失敗指示和本地屬性的響應(yīng)消息。
      [0118]優(yōu)選地,第二同步操作模塊76包括:權(quán)限判斷單元,用于當(dāng)?shù)诙椒绞酱_定單元確定的同步方式為更新受限的同步操作時(shí),判斷是否授予申請(qǐng)單板更新權(quán)限;廣播單元,用于如果權(quán)限判斷單元的判斷結(jié)果為授予,向申請(qǐng)單板發(fā)送授予更新權(quán)限的指示和指示對(duì)應(yīng)的屬性,并向除申請(qǐng)單板之外的其它單板廣播申請(qǐng)單板的地址和設(shè)置緩存屬性為無效的通知;屬性更新單元,用于定期接收申請(qǐng)單板更新后的屬性,將更新后的屬性作為新屬性。
      [0119]對(duì)應(yīng)于上述方法和裝置,本發(fā)明實(shí)施例還提供了一種文件系統(tǒng)的屬性同步控制系統(tǒng),包括申請(qǐng)單板60和元數(shù)據(jù)單板70,其中,申請(qǐng)單板60包括上述圖6所示的裝置,元數(shù)據(jù)單板70包括上述圖7所示的裝置。
      [0120]本系統(tǒng)可以顯著提高局部訪問的性能,同時(shí)在高壓力訪問的情況下,可以通過策略,分散系統(tǒng)元數(shù)據(jù)單板的處理壓力。
      [0121]以上實(shí)施例中的狀態(tài)指一個(gè)屬性對(duì)應(yīng)的狀態(tài),一個(gè)節(jié)點(diǎn)上可能有上百個(gè)屬性,每個(gè)屬性對(duì)應(yīng)著相應(yīng)的狀態(tài)。
      [0122]從以上的描述中可以看出,本發(fā)明實(shí)施例使用一種高效的同步方式管理起整個(gè)文件系統(tǒng)的屬性,從而使遠(yuǎn)端客戶端可以根據(jù)本系統(tǒng)的記錄數(shù)據(jù)確定出緩存的元數(shù)據(jù)是否是可用的,從而提高本地節(jié)點(diǎn)的性能,同時(shí)又可以依托本系統(tǒng),降低屬性的訪問和修改所帶來的性能和資源的消耗,進(jìn)而避免了系統(tǒng)中的各個(gè)節(jié)點(diǎn)均向一個(gè)節(jié)點(diǎn)獲取屬性引起的系統(tǒng)性能下降問題。
      [0123]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
      [0124]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      【權(quán)利要求】
      1.一種文件系統(tǒng)的屬性同步控制方法,其特征在于,包括: 申請(qǐng)單板根據(jù)當(dāng)前對(duì)屬性的更新操作類型確定同步方式;其中,所述更新操作類型包括:簡(jiǎn)易操作和復(fù)雜操作; 所述申請(qǐng)單板按照確定的所述同步方式與所述屬性的元數(shù)據(jù)單板進(jìn)行屬性同步操作,并在本地存儲(chǔ)同步后的屬性。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,申請(qǐng)單板根據(jù)當(dāng)前對(duì)屬性的更新操作類型確定同步方式包括: 如果當(dāng)前對(duì)屬性的更新操作類型為簡(jiǎn)易操作,申請(qǐng)單板確定同步方式為更新不受限的同步操作; 如果當(dāng)前對(duì)屬性的更新操作類型為復(fù)雜操作,申請(qǐng)單板確定同步方式為更新受限的同步操作。
      3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述申請(qǐng)單板按照確定的所述同步方式與所述屬性的元數(shù)據(jù)單板進(jìn)行屬性同步操作包括: 當(dāng)所述申請(qǐng)單板確定的同步方式為更新不受限的同步操作時(shí),所述申請(qǐng)單板對(duì)本地的屬性進(jìn)行更新操作,并將更新前的屬性和所述更新后的屬性發(fā)送給所述屬性的元數(shù)據(jù)單板; 所述申請(qǐng)單板接收所述元數(shù)據(jù)單板的響應(yīng)消息,如果所述響應(yīng)消息指示更新操作成功,所述申請(qǐng)單板將所述更新后的屬性作為新屬性;如果所述響應(yīng)消息指示更新操作失敗,所述申請(qǐng)單板將所述響應(yīng)消息中攜帶的屬性作為新屬性。
      4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述申請(qǐng)單板按照確定的所述同步方式與所述屬性的元數(shù)據(jù)單板進(jìn)行屬性同步操作包括: 當(dāng)所述申請(qǐng)單板確定的同步方式為更新受限的同步操作時(shí),所述申請(qǐng)單板向所述屬性的元數(shù)據(jù)單板發(fā)送獲取更新權(quán)限的請(qǐng)求; 所述申請(qǐng)單板接收所述元數(shù)據(jù)單板返回的授予更新權(quán)限的指示和所述指示對(duì)應(yīng)的屬性; 所述申請(qǐng)單板對(duì)所述屬性進(jìn)行更新操作,并定期將更新后的屬性發(fā)送給所述元數(shù)據(jù)單板。
      5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述申請(qǐng)單板對(duì)所述屬性進(jìn)行更新操作之后,所述方法還包括: 所述申請(qǐng)單板接收到第三單板獲取所述屬性的請(qǐng)求后,將更新后的屬性發(fā)送給所述第二單板。
      6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述申請(qǐng)單板將更新后的屬性發(fā)送給所述第三單板之前,所述方法還包括: 所述申請(qǐng)單板記錄所述第三單板的地址和獲取時(shí)間; 所述申請(qǐng)單板根據(jù)記錄的所述第三單板的獲取時(shí)間判斷所述第三單板在指定時(shí)長內(nèi)的獲取次數(shù)是否大于閾值,如果是,標(biāo)記所述第三單板為所述屬性的熱節(jié)點(diǎn),用以后續(xù)對(duì)所述屬性進(jìn)行更新操作之后,將更新后的所述屬性發(fā)送給所述屬性的熱節(jié)點(diǎn)。
      7.一種文件系統(tǒng)的屬性同步控制方法,其特征在于,包括: 元數(shù)據(jù)單板接收申請(qǐng)單板的更新請(qǐng)求;所述元數(shù)據(jù)單板根據(jù)所述更新請(qǐng)求中攜帶的信息確定同步方式; 所述元數(shù)據(jù)單板按照確定的所述同步方式與所述申請(qǐng)單板進(jìn)行屬性同步操作,并在本地存儲(chǔ)同步后的屬性。
      8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述元數(shù)據(jù)單板根據(jù)所述更新請(qǐng)求中攜帶的信息確定同步方式包括: 如果所述更新請(qǐng)求中攜帶的信息是所述申請(qǐng)單板更新前的屬性和更新后的屬性,所述元數(shù)據(jù)單板確定同步方式為更新不受限的同步操作; 如果所述更新請(qǐng)求中攜帶的信息是獲取更新權(quán)限的請(qǐng)求,所述元數(shù)據(jù)單板確定同步方式為更新受限的同步操作。
      9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述元數(shù)據(jù)單板按照確定的所述同步方式與所述申請(qǐng)單板進(jìn)行屬性同步操作包括: 當(dāng)所述元數(shù)據(jù)單板確定的同步方式為更新不受限的同步操作時(shí),所述元數(shù)據(jù)單板比較所述申請(qǐng)單板更新前的屬性與本地屬性是否一致; 如果一致,所述元數(shù)據(jù)單板向所述申請(qǐng)單板發(fā)送攜帶有更新操作成功指示的響應(yīng)消息,將所述申請(qǐng)單板更新后的屬性作為新屬性,并向除所述申請(qǐng)單板之外的其它單板廣播所述新屬性; 如果不一致,所述元數(shù)據(jù)單板向所述申請(qǐng)單板發(fā)送攜帶有更新操作失敗指示和所述本地屬性的響應(yīng)消息。
      10.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述元數(shù)據(jù)單板按照確定的所述同步方式與所述申請(qǐng)單板進(jìn)行屬性同步操作包括: 當(dāng)所述元數(shù)據(jù)單板確定的同步方式為更新受限的同步操作時(shí),所述元數(shù)據(jù)單板判斷是否授予所述申請(qǐng)單板更新權(quán)限; 如果授予,所述元數(shù)據(jù)單板向所述申請(qǐng)單板發(fā)送授予更新權(quán)限的指示和所述指示對(duì)應(yīng)的屬性,并向除所述申請(qǐng)單板之外的其它單板廣播所述申請(qǐng)單板的地址和設(shè)置緩存屬性為無效的通知;所述元數(shù)據(jù)單板定期接收所述申請(qǐng)單板更新后的屬性,將所述更新后的屬性作為新屬性。
      11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述方法還包括在以下情況之一發(fā)生時(shí),所述元數(shù)據(jù)單板取消所述申請(qǐng)單板的更新權(quán)限: 所述元數(shù)據(jù)單板接收到所述申請(qǐng)單板發(fā)送的屬性更新完成通知; 所述元數(shù)據(jù)單板在設(shè)定時(shí)長內(nèi)均未收到來自所述申請(qǐng)單板的消息; 所述元數(shù)據(jù)單板接送到第三單板的更新權(quán)限請(qǐng)求,且確認(rèn)所述第三單板對(duì)所述屬性的更新優(yōu)于所述申請(qǐng)單板對(duì)所述屬性的更新。
      12.—種文件系統(tǒng)的屬性同步控制裝置,其特征在于,包括: 第一同步方式確定模塊,用于根據(jù)當(dāng)前對(duì)屬性的更新操作類型確定同步方式;其中,所述更新操作類型包括:簡(jiǎn)易操作和復(fù)雜操作; 第一同步操作模塊,用于按照所述第一同步方式確定模塊確定的所述同步方式與所述屬性的元數(shù)據(jù)單板進(jìn)行屬性同步操作,并在本地存儲(chǔ)同步后的屬性。
      13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述第一同步方式確定模塊包括: 第一同步方式確定單元,用于如果當(dāng)前對(duì)屬性的更新操作類型為簡(jiǎn)易操作,確定同步方式為更新不受限的同步操作; 第二同步方式確定單元,用于如果當(dāng)前對(duì)屬性的更新操作類型為復(fù)雜操作,確定同步方式為更新受限的同步操作。
      14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述第一同步操作模塊包括: 更新屬性發(fā)送單元,用于當(dāng)所述申請(qǐng)單板確定的同步方式為更新不受限的同步操作時(shí),對(duì)本地的屬性進(jìn)行更新操作,并將更新前的屬性和所述更新后的屬性發(fā)送給所述屬性的元數(shù)據(jù)單板; 第一新屬性確定單元,用于接收所述元數(shù)據(jù)單板的響應(yīng)消息,如果所述響應(yīng)消息指示更新操作成功,將所述更新后的屬性作為新屬性;如果所述響應(yīng)消息指示更新操作失敗,將所述響應(yīng)消息中攜帶的屬性作為新屬性。
      15.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述第一同步操作模塊包括:權(quán)限請(qǐng)求單元,用于當(dāng)所述申請(qǐng)單板確定的同步方式為更新受限的同步操作時(shí),向所述屬性的元數(shù)據(jù)單板發(fā)送獲取更新權(quán)限的請(qǐng)求; 信息接收單元,用 于接收所述元數(shù)據(jù)單板返回的授予更新權(quán)限的指示和所述指示對(duì)應(yīng)的屬性; 第二更新屬性發(fā)送單元,用于對(duì)所述信息接收單元接收的所述屬性進(jìn)行更新操作,并定期將更新后的屬性發(fā)送給所述元數(shù)據(jù)單板。
      16.一種文件系統(tǒng)的屬性同步控制裝置,其特征在于,包括: 更新請(qǐng)求接收模塊,用于接收申請(qǐng)單板的更新請(qǐng)求; 第二同步方式確定模塊,用于根據(jù)所述更新請(qǐng)求接收模塊接收的所述更新請(qǐng)求中攜帶的信息確定同步方式; 第二同步操作模塊,用于按照所述第二同步方式確定模塊確定的所述同步方式與所述申請(qǐng)單板進(jìn)行屬性同步操作,并在本地存儲(chǔ)同步后的屬性。
      17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述第二同步方式確定模塊包括: 第三同步方式確定單元,用于如果所述更新請(qǐng)求中攜帶的信息是所述申請(qǐng)單板更新前的屬性和更新后的屬性,確定同步方式為更新不受限的同步操作; 第四同步方式確定單元,用于如果所述更新請(qǐng)求中攜帶的信息是獲取更新權(quán)限的請(qǐng)求,確定同步方式為更新受限的同步操作。
      18.根據(jù)權(quán)利要求17所述的裝置,其特征在于,所述第二同步操作模塊包括: 屬性比較單元,用于當(dāng)所述第一同步方式確定單元確定的同步方式為更新不受限的同步操作時(shí),比較所述申請(qǐng)單板更新前的屬性與本地屬性是否一致; 同步處理單元,用于如果所述屬性比較單元的比較結(jié)果為一致,向所述申請(qǐng)單板發(fā)送攜帶有更新操作成功指示的響應(yīng)消息,將所述申請(qǐng)單板更新后的屬性作為新屬性,并向除所述申請(qǐng)單板之外的其它單板廣播所述新屬性;如果所述屬性比較單元的比較結(jié)果為不一致,向所述申請(qǐng)單板發(fā)送攜帶有更新操作失敗指示和所述本地屬性的響應(yīng)消息。
      19.根據(jù)權(quán)利要求17所述的裝置,其特征在于,所述第二同步操作模塊包括: 權(quán)限判斷單元,用于當(dāng)所述第二同步方式確定單元確定的同步方式為更新受限的同步操作時(shí),判斷是否授予所述申請(qǐng)單板更新權(quán)限; 廣播單元,用于如果所述權(quán)限判斷單元的判斷結(jié)果為授予,向所述申請(qǐng)單板發(fā)送授予更新權(quán)限的指示和所述指示對(duì)應(yīng)的屬性,并向除所述申請(qǐng)單板之外的其它單板廣播所述申請(qǐng)單板的地址和設(shè)置緩存屬性為無效的通知; 屬性更新單元,用于定期接收所述申請(qǐng)單板更新后的屬性,將所述更新后的屬性作為新屬性。
      20.一種文件系 統(tǒng)的屬性同步控制系統(tǒng),其特征在于,包括申請(qǐng)單板和元數(shù)據(jù)單板,其中,所述申請(qǐng)單板包括權(quán)利要求12-15中任一項(xiàng)所述的裝置,所述元數(shù)據(jù)單板包括權(quán)利要求16-19中任一項(xiàng)所述的裝置。
      【文檔編號(hào)】G06F17/30GK104035944SQ201310074099
      【公開日】2014年9月10日 申請(qǐng)日期:2013年3月8日 優(yōu)先權(quán)日:2013年3月8日
      【發(fā)明者】朱鵬, 林健, 俞超, 胡劍華 申請(qǐng)人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1