国产精品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>

      一種元數(shù)據(jù)訪問方法、相關(guān)設(shè)備及系統(tǒng)的制作方法

      文檔序號:9750955閱讀:519來源:國知局
      一種元數(shù)據(jù)訪問方法、相關(guān)設(shè)備及系統(tǒng)的制作方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種元數(shù)據(jù)訪問方法、相關(guān)設(shè)備及系統(tǒng)。
      【背景技術(shù)】
      [0002]分布式文件系統(tǒng)(Distributed File System,GFS)采用了文件的元數(shù)據(jù)和數(shù)據(jù)訪問分離的架構(gòu),通過獨(dú)立的元數(shù)據(jù)服務(wù)子系統(tǒng)提供元數(shù)據(jù)訪問功能,使分布式文件系統(tǒng)具備了一定的擴(kuò)展能力,能夠提供海量文件的存儲和訪問服務(wù)。請參見圖1,GFS中元數(shù)據(jù)訪問的部分包括三個子系統(tǒng):元數(shù)據(jù)客戶子系統(tǒng)10、元數(shù)據(jù)服務(wù)子系統(tǒng)20和集群服務(wù)子系統(tǒng)30,元數(shù)據(jù)客戶子系統(tǒng)10包括多個客戶端(Client),圖1中以客戶端101?103為例;元數(shù)據(jù)服務(wù)子系統(tǒng)20包括多個元數(shù)據(jù)服務(wù)器,圖1中以元數(shù)據(jù)服務(wù)器201?203為例;集群服務(wù)子系統(tǒng)30主要包括集群管理服務(wù)器301、分布式一致性服務(wù)器302和元數(shù)據(jù)路由服務(wù)器303。
      [0003]圖1中的客戶端訪問元數(shù)據(jù)的原理如圖2所示,當(dāng)客戶端101需要訪問目標(biāo)元數(shù)據(jù)時(shí),先向分布式一致性服務(wù)器302發(fā)送對該目標(biāo)元數(shù)據(jù)的排它訪問權(quán)限,如果申請到了該排它訪問權(quán)限,那么該客戶端101就是所有的客戶端101?103中唯一可以直接請求元數(shù)據(jù)服務(wù)器201?203對該目標(biāo)元數(shù)據(jù)進(jìn)行操作的客戶端,這樣一來就保證了該目標(biāo)元數(shù)據(jù)的緩存一致性。之后客戶端101向元數(shù)據(jù)路由服務(wù)器303查詢目標(biāo)元數(shù)據(jù)的歸屬信息,即查詢該目標(biāo)元數(shù)據(jù)歸屬到哪個元數(shù)據(jù)服務(wù)器操作;元數(shù)據(jù)路由服務(wù)器303根據(jù)存儲的元數(shù)據(jù)與元數(shù)據(jù)服務(wù)器的映射關(guān)系查詢目標(biāo)元數(shù)據(jù)的歸屬信息,并將查詢到的歸屬信息發(fā)送給客戶端101;該客戶端101對該歸屬信息進(jìn)行分析,當(dāng)分析出目標(biāo)元數(shù)據(jù)歸屬到元數(shù)據(jù)服務(wù)器201時(shí),向該元數(shù)據(jù)服務(wù)器201發(fā)出請求以請求訪問目標(biāo)元數(shù)據(jù),元數(shù)據(jù)服務(wù)器201接收客戶端101的請求,并根據(jù)該請求對目標(biāo)元數(shù)據(jù)進(jìn)行操作,然后將操作結(jié)果反饋給客戶端101,相應(yīng)地,客戶端101接收元數(shù)據(jù)服務(wù)器201發(fā)送的操作結(jié)果,并將該操作結(jié)果緩存到本地,至此,客戶端101訪問目標(biāo)元數(shù)據(jù)結(jié)束。
      [0004]上述分布式一致性服務(wù)器302授予客戶端101對目標(biāo)元數(shù)據(jù)的排它訪問權(quán)限可以通過分布式鎖、分布式協(xié)議等技術(shù)來實(shí)現(xiàn),當(dāng)通過分布式鎖來時(shí),分布式一致性服務(wù)器302和客戶端101之間需要進(jìn)行交互來執(zhí)行鎖申請、鎖釋放以及鎖召回的操作,該過程中節(jié)點(diǎn)間的通信開銷較大;尤其在海量小文件(Lot of Small Files,LoSF)的場景下,分布式文件系統(tǒng)(GFS)中的小文件的元數(shù)據(jù)非常多,客戶端101訪問其中每個小文件的元數(shù)據(jù)時(shí)都要與分布式一致性服務(wù)器進(jìn)行鎖申請、鎖釋放以及鎖召回的操作,這個過程產(chǎn)生的巨大的通信開銷降低了客戶端訪問元數(shù)據(jù)的效率。

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

      [0005]本發(fā)明實(shí)施例公開了一種元數(shù)據(jù)的訪問方法、相關(guān)設(shè)備及系統(tǒng),能夠減少客戶端訪問元數(shù)據(jù)的過程中維護(hù)元數(shù)據(jù)緩存一致性的開銷,提高元數(shù)據(jù)的訪問效率。
      [0006]第一方面,本發(fā)明實(shí)施例提供了一種元數(shù)據(jù)的訪問方法,該方法包括:
      [0007]第一客戶端在請求訪問目標(biāo)目錄中的第一目標(biāo)元數(shù)據(jù)時(shí),向目錄鎖服務(wù)器發(fā)送第一申請消息以申請對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限,其中,所述目標(biāo)目錄為存儲有多個元數(shù)據(jù)的目錄,所述第一目標(biāo)元數(shù)據(jù)為所述第一客戶端當(dāng)前需要訪問的元數(shù)據(jù);所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限用于供所述第一客戶端訪問所述目標(biāo)目錄中的第一目標(biāo)元數(shù)據(jù),以及訪問所述目標(biāo)目錄中除所述第一目標(biāo)元數(shù)據(jù)之外的元數(shù)據(jù);
      [0008]當(dāng)所述第一客戶端申請到對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限時(shí),所述第一客戶端訪問所述第一目標(biāo)元數(shù)據(jù)。
      [0009]通過執(zhí)行上述步驟,第一客戶端訪問目標(biāo)目錄中的第一目標(biāo)元數(shù)據(jù)時(shí),一次性向目錄鎖服務(wù)器申請目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限,這樣一來,第一客戶端就可以順利訪問第一目標(biāo)元數(shù)據(jù),并且后續(xù)訪問目標(biāo)目錄中其他元數(shù)據(jù)時(shí)不需要再重新申請?jiān)L問權(quán)限,節(jié)省了維護(hù)緩存一致性的開銷。
      [0010]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,當(dāng)所述第一客戶端未申請到對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限時(shí),所述第一客戶端接收所述目錄鎖服務(wù)器發(fā)送的第二客戶端所在的節(jié)點(diǎn)信息,并根據(jù)所述節(jié)點(diǎn)信息向所述第二客戶端發(fā)送請求消息以通過所述第二客戶端訪問所述第一目標(biāo)元數(shù)據(jù),所述第二客戶端為向所述目錄鎖服務(wù)器申請到了對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限的客戶端。
      [0011 ]通過執(zhí)行上述步驟,第一客戶端在申請不到目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限時(shí),通過已經(jīng)獲取了目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限的第二客戶端訪問第一目標(biāo)元數(shù)據(jù),使得第一客戶端在申請不到目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限時(shí)依然可以順利訪問到目標(biāo)元數(shù)據(jù)。
      [0012]結(jié)合第一方面,或者第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述第一客戶端在請求訪問目標(biāo)目錄中的第一目標(biāo)元數(shù)據(jù)時(shí),向目錄鎖服務(wù)器發(fā)送第一申請消息以申請對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限包括:
      [0013]第一客戶端在請求訪問目標(biāo)目錄中的第一目標(biāo)元數(shù)據(jù)時(shí),獲取描述所述目標(biāo)目錄的元數(shù)據(jù),所述描述所述目標(biāo)目錄的元數(shù)據(jù)設(shè)有用于標(biāo)識所述目標(biāo)目錄是否為存儲有多個元數(shù)據(jù)的目錄的標(biāo)識信息;
      [0014]根據(jù)所述描述所述目標(biāo)目錄的元數(shù)據(jù)來判斷所述目標(biāo)目錄是否為存儲有多個元數(shù)據(jù)的目錄;
      [0015]若是,則向目錄鎖服務(wù)器發(fā)送第一申請消息以申請對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限。
      [0016]結(jié)合第一方面,或者第一方面的第一種可能的實(shí)現(xiàn)方式,或者第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述當(dāng)所述第一客戶端申請到對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限時(shí),所述第一客戶端訪問所述第一目標(biāo)元數(shù)據(jù)之后,所述方法還包括:
      [0017]所述第一客戶端接收第三客戶端發(fā)送的請求消息,所述請求消息用于請求通過所述第一客戶端訪問所述第一目標(biāo)元數(shù)據(jù),所述請求消息為所述第三客戶端向所述目錄鎖服務(wù)器申請對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限,并接收到所述目錄鎖服務(wù)器返回的所述第一客戶端的節(jié)點(diǎn)信息后,根據(jù)所述第一客戶端的節(jié)點(diǎn)信息向所述第一客戶端發(fā)送的消息;
      [0018]所述第一客戶端根據(jù)所述請求消息訪問所述第一目標(biāo)元數(shù)據(jù),并將訪問所述第一目標(biāo)元數(shù)據(jù)的訪問結(jié)果發(fā)送給所述第三客戶端。
      [0019]通過執(zhí)行上述步驟,第一客戶端獲取到目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限后,如果第三客戶端有訪問目標(biāo)目錄中第一目標(biāo)元數(shù)據(jù)的需求,則第三客戶端將訪問請求發(fā)送至第一客戶端,通過第一客戶端訪問該第一目標(biāo)元數(shù)據(jù),保證了申請不到目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限的客戶端也都能正常地訪問第一目標(biāo)元數(shù)據(jù)。
      [0020]結(jié)合第一方面,或者第一方面的第一種可能的實(shí)現(xiàn)方式,或者第一方面的第二種可能的實(shí)現(xiàn)方式,或者第一方面的第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述當(dāng)所述第一客戶端申請到對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限時(shí),所述第一客戶端訪問所述第一目標(biāo)元數(shù)據(jù)之后,所述方法還包括:
      [0021 ]所述第一客戶端在請求訪問所述目標(biāo)目錄中的第二目標(biāo)元數(shù)據(jù)時(shí),如果第二目標(biāo)元數(shù)據(jù)屬于所述目標(biāo)目錄中除所述第一目標(biāo)元數(shù)據(jù)之外的元數(shù)據(jù);
      [0022]則所述第一客戶端按照已獲得的對所述第二目標(biāo)元數(shù)據(jù)的排它訪問權(quán)限,對所述第二目標(biāo)元數(shù)據(jù)進(jìn)行訪問。
      [0023]通過執(zhí)行上述步驟,第一客戶端在訪問目標(biāo)目錄中的其他元數(shù)據(jù)(如第二目標(biāo)元數(shù)據(jù))時(shí),可以直接對該第二目標(biāo)元數(shù)據(jù)進(jìn)行訪問,無需再次申請?jiān)L問訪問權(quán)限,提高了第一客戶端訪問目標(biāo)目錄中的元數(shù)據(jù)的效率。
      [0024]結(jié)合第一方面,或者第一方面的第一種可能的實(shí)現(xiàn)方式,或者第一方面的第二種可能的實(shí)現(xiàn)方式,或者第一方面的第三種可能的實(shí)現(xiàn)方式,或者第一方面的第四種可能的實(shí)現(xiàn)方式,在第一方面的第五種可能的實(shí)現(xiàn)方式中,所述第一客戶端訪問所述第一目標(biāo)元數(shù)據(jù)包括:
      [0025]所述第一客戶端向元數(shù)據(jù)路由服務(wù)器請求所述目標(biāo)目錄的歸屬信息,所述元數(shù)據(jù)路由服務(wù)器預(yù)存有目錄的歸屬信息;
      [0026]所述第一客戶端接收所述元數(shù)據(jù)路由服務(wù)器發(fā)送的所述目標(biāo)目錄的歸屬信息,所述目標(biāo)目錄的歸屬信息用于指示所述目標(biāo)目錄的操作權(quán)限歸屬到目標(biāo)元數(shù)據(jù)服務(wù)器;
      [0027]所述第一客戶端向所述目標(biāo)元數(shù)據(jù)服務(wù)器發(fā)送操作請求消息,請求所述目標(biāo)元數(shù)據(jù)服務(wù)器根據(jù)所述對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限操作所述第一目標(biāo)元數(shù)據(jù);
      [0028]所述第一客戶端接收所述目標(biāo)元數(shù)據(jù)服務(wù)器發(fā)送的操作結(jié)果;所述操作結(jié)果為所述目標(biāo)元數(shù)據(jù)服務(wù)器向所述目錄鎖服務(wù)器申請到對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它操作權(quán)限后,對所述第一目標(biāo)元數(shù)據(jù)進(jìn)行操作的結(jié)果。
      [0029]通過執(zhí)行上述步驟,目標(biāo)元數(shù)據(jù)服務(wù)器接收到第一客戶端發(fā)送的訪問目標(biāo)目錄下的第一目標(biāo)元數(shù)據(jù)的請求后,在對目標(biāo)目錄中的第一目標(biāo)元數(shù)據(jù)進(jìn)行操作之前,先向目錄鎖服務(wù)器申請目標(biāo)目錄中所有元數(shù)據(jù)的排它操作權(quán)限,使得所有的元數(shù)據(jù)服務(wù)器中始終只有一個元數(shù)據(jù)服務(wù)器具備對目標(biāo)目錄的操作權(quán)限,保證了目標(biāo)目錄下的元數(shù)據(jù)的持久化保存一致性。
      [0030]結(jié)合第一方面,或者第一方面的第一種可能的實(shí)現(xiàn)方式,或者第一方面的第二種可能的實(shí)現(xiàn)方式,或者第一方面的第三種可能的實(shí)現(xiàn)方式,或者第一方面的第四種可能的實(shí)現(xiàn)方式,在第一方面的第六種可能的實(shí)現(xiàn)方式中,所述第一客戶端訪問所述第一目標(biāo)元數(shù)據(jù)包括:
      [0031]所述第一客戶端向元數(shù)據(jù)路由服務(wù)器發(fā)送切換消息,指示所述元數(shù)據(jù)路由服務(wù)器將所述目標(biāo)目錄的操作權(quán)限歸屬到所述第一客戶端;
      [0032]所述第一客戶端接收所述元數(shù)據(jù)路由服務(wù)器發(fā)送的通知消息,所述通知消息用于指示所述目標(biāo)目錄的操作權(quán)限歸屬到所述第一客戶端;
      [0033]所述第一客戶端向所述目錄鎖服務(wù)器發(fā)送第二申請消息以申請對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它操作權(quán)限;
      [0034]所述第一客戶端接收所述目錄鎖服務(wù)器發(fā)送的授予所述目標(biāo)目錄中所有元數(shù)據(jù)的排它操作權(quán)限的授予消息,所述目標(biāo)目錄中所有元數(shù)據(jù)的排它操作權(quán)限用于供所述第一客戶端操作所述目標(biāo)目錄中的第一目標(biāo)元數(shù)據(jù),以及操作所述目標(biāo)目錄中除所述第一目標(biāo)元數(shù)據(jù)之外的元數(shù)據(jù);
      [0035]所述第一客戶端根據(jù)所述目標(biāo)目錄中所有元數(shù)據(jù)的排它操作權(quán)限對所述第一目標(biāo)元數(shù)據(jù)進(jìn)行操作,獲得操作結(jié)果。
      [0036]通過執(zhí)行上述步驟,第一客戶端同時(shí)充當(dāng)客戶端和元數(shù)據(jù)服務(wù)器的功能,第一客戶端獲取到目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限后,不需要與遠(yuǎn)端的元數(shù)據(jù)服務(wù)器進(jìn)行交互來請求元數(shù)據(jù)服務(wù)器對第一目標(biāo)元數(shù)據(jù)進(jìn)行操作,減少了節(jié)點(diǎn)之間的開銷,提高了訪問第一目標(biāo)元數(shù)據(jù)的訪問效率。
      [0037]結(jié)合第一方面,或者第一方面的第一種可能的實(shí)現(xiàn)方式,或者第一方面的第二種可能的實(shí)現(xiàn)方式,或者第一方面的第五種可能的實(shí)現(xiàn)方式,或者第一方面的第六種可能的實(shí)現(xiàn)方式,在第一方面的第七種可能的實(shí)現(xiàn)方式中,所述當(dāng)所述第一客戶端申請到對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限時(shí),所述第一客戶端訪問所述第一目標(biāo)元數(shù)據(jù)之后,所述方法還包括:
      [0038]所述第一客戶端判斷訪問所述目標(biāo)目錄中的元數(shù)據(jù)所產(chǎn)生的負(fù)載是否滿足預(yù)設(shè)條件;
      [0039]若滿足,則所述第一客戶端釋放所述目標(biāo)目錄中的所有元數(shù)據(jù)的排它訪問權(quán)限,以便所述目錄鎖服務(wù)器將所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限授予第四客戶端。
      [0040]通過執(zhí)行上述步驟,第一客戶端上的負(fù)載過高時(shí),自動釋放目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限,讓負(fù)載較低的第四客戶端來獲取該目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限以達(dá)到分擔(dān)負(fù)載的目的;或者在第一客戶端訪問目標(biāo)目錄中的元數(shù)據(jù)的頻率比其他客戶端訪問目標(biāo)目錄中的元數(shù)據(jù)的頻率低時(shí),自動釋放目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限,讓訪問頻率較高的客戶端獲取目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限,以減少轉(zhuǎn)發(fā)訪問所產(chǎn)生的負(fù)載,提高了訪問目標(biāo)目錄中元數(shù)據(jù)的效率。
      [0041 ]第二方面,本發(fā)明實(shí)施例提供一種元數(shù)據(jù)訪問方法,該方法包括:
      [0042]目錄鎖服務(wù)器在第一客戶端訪問目標(biāo)目錄中的目標(biāo)元數(shù)據(jù)時(shí),接收所述第一客戶端發(fā)送的第一申請消息,所述第一申請消息用于申請對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限,所述目標(biāo)目錄為存儲有多個元數(shù)據(jù)的目錄,所述目標(biāo)元數(shù)據(jù)為所述第一客戶端當(dāng)前需要訪問的元數(shù)據(jù);
      [0043]所述目錄鎖服務(wù)器根據(jù)所述第一申請消息判斷所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限是否已經(jīng)授予了第二客戶端,所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限用于供所述第一客戶端訪問所述目標(biāo)目錄中的目標(biāo)元數(shù)據(jù),以及訪問所述目標(biāo)目錄中除所述目標(biāo)元數(shù)據(jù)之外的元數(shù)據(jù);
      [0044]若未授予所述第二客戶端,則所述目錄鎖服務(wù)器將所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限授予所述第一客戶端;若授予了所述第二客戶端,則所述目錄鎖服務(wù)器向所述第一客戶端發(fā)送所述第二客戶端所在的節(jié)點(diǎn)信息,以使所述第一客戶端基于所述第二客戶端所在的節(jié)點(diǎn)信息通過所述第二客戶端訪問所述目標(biāo)元數(shù)據(jù)。
      [0045]通過執(zhí)行上述步驟,第一客戶端訪問目標(biāo)目錄中的目標(biāo)元數(shù)據(jù)時(shí),一次性向目錄鎖服務(wù)器申請目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限,這樣一來,第一客戶端就可以順利訪問目標(biāo)元數(shù)據(jù),并且后續(xù)訪問目標(biāo)目錄中其他元數(shù)據(jù)時(shí)不需要再重新申請?jiān)L問權(quán)限,節(jié)省了維護(hù)緩存一致性的開銷。
      [0046]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述若未授予所述第二客戶端,則所述目錄鎖服務(wù)器將所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限授予所述第一客戶端之后,所述方法還包括:
      [0047]所述目錄鎖服務(wù)器在第三客戶端訪問所述目標(biāo)元數(shù)據(jù)時(shí),接收所述第三客戶端發(fā)送的所述第一申請消息;
      [0048]所述目錄鎖服務(wù)器向所述第三客戶端發(fā)送所述第一客戶端所在的節(jié)點(diǎn)信息,以使所述第三客戶端基于所述第一客戶端所在的節(jié)點(diǎn)信息通過所述第一客戶端訪問所述目標(biāo)元數(shù)據(jù)。
      [0049]通過執(zhí)行上述步驟,第一客戶端獲取到目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限后,如果第三客戶端有訪問目標(biāo)目錄中目標(biāo)元數(shù)據(jù)的需求,則第三客戶端將訪問請求發(fā)送至第一客戶端,通過第一客戶端訪問該目標(biāo)元數(shù)據(jù),保證了申請不到目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限的客戶端也都能正常地訪問目標(biāo)元數(shù)據(jù)。
      [0050]結(jié)合第二方面,或者第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述若未授予所述第二客戶端,則所述目錄鎖服務(wù)器將所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限授予所述第一客戶端之后,所述方法還包括:
      [0051 ]所述目錄鎖服務(wù)器接收目標(biāo)元數(shù)據(jù)服務(wù)器發(fā)送的第二申請消息,所述第二申請消息為所述目標(biāo)元數(shù)據(jù)服務(wù)器接收到所述第一客戶端訪問所述目標(biāo)元數(shù)據(jù)時(shí)發(fā)送的操作消息時(shí)發(fā)送的,用于申請對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它操作權(quán)限的消息;
      [0052]所述目錄鎖服務(wù)器根據(jù)所述第二申請消息將所述目標(biāo)目錄中所有元數(shù)據(jù)的排它操作權(quán)限授予所述目標(biāo)元數(shù)據(jù)服務(wù)器,以使所述目標(biāo)元數(shù)據(jù)服務(wù)器對所述目標(biāo)元數(shù)據(jù)進(jìn)行操作并將操作結(jié)果反饋給所述第一客戶端,其中,所述目標(biāo)目錄中所有元數(shù)據(jù)的排它操作權(quán)限用于供所述目標(biāo)元數(shù)據(jù)服務(wù)器操作所述目標(biāo)目錄中的目標(biāo)元數(shù)據(jù),以及操作所述目標(biāo)目錄中除所述目標(biāo)元數(shù)據(jù)之外的元數(shù)據(jù)。
      [0053]通過執(zhí)行上述步驟,目標(biāo)元數(shù)據(jù)服務(wù)器接收到第一客戶端發(fā)送的訪問目標(biāo)目錄下的目標(biāo)元數(shù)據(jù)的請求后,在對目標(biāo)目錄中的目標(biāo)元數(shù)據(jù)進(jìn)行操作之前,先向目錄鎖服務(wù)器申請目標(biāo)目錄中所有元數(shù)據(jù)的排它操作權(quán)限,使得所有的元數(shù)據(jù)服務(wù)器中始終只有一個元數(shù)據(jù)服務(wù)器具備對目標(biāo)目錄的操作權(quán)限,保證了目標(biāo)目錄下的元數(shù)據(jù)的持久化保存一致性。
      [0054]結(jié)合第二方面,或者第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述若未授予所述第二客戶端,則所述目錄鎖服務(wù)器將所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限授予所述第一客戶端之后,所述方法還包括:
      [0055]所述目錄鎖服務(wù)器接收所述第一客戶端發(fā)送的第二申請消息,所述第二申請消息用于申請對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它操作權(quán)限;
      [0056]所述目錄鎖服務(wù)器根據(jù)所述第二申請消息將所述目標(biāo)目錄中所有元數(shù)據(jù)的排它操作權(quán)限授予所述第一客戶端,以使所述第一客戶端對所述目標(biāo)元數(shù)據(jù)進(jìn)行操作,其中,所述目標(biāo)目錄中所有元數(shù)據(jù)的排它操作權(quán)限用于供所述第一客戶端操作所述目標(biāo)目錄中的目標(biāo)元數(shù)據(jù),以及操作所述目標(biāo)目錄中除所述目標(biāo)元數(shù)據(jù)之外的元數(shù)據(jù)。
      [0057]通過執(zhí)行上述步驟,第一客戶端同時(shí)充當(dāng)客戶端和元數(shù)據(jù)服務(wù)器的功能,第一客戶端獲取到目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限后,不需要與遠(yuǎn)端的元數(shù)據(jù)服務(wù)器進(jìn)行交互來請求元數(shù)據(jù)服務(wù)器對目標(biāo)元數(shù)據(jù)進(jìn)行操作,減少了節(jié)點(diǎn)之間的開銷,提高了訪問目標(biāo)元數(shù)據(jù)的訪問效率。
      [0058]第三方面,本發(fā)明實(shí)施例提供一種終端,其特征在于,所述終端為第一客戶端,所述第一客戶端包括發(fā)送裝置、接收裝置、存儲器和處理器,所述處理器調(diào)用所述存儲器中的訪問元數(shù)據(jù)的程序,用于執(zhí)行如下操作:
      [0059]在請求訪問目標(biāo)目錄中的第一目標(biāo)元數(shù)據(jù)時(shí),通過所述發(fā)送裝置向目錄鎖服務(wù)器發(fā)送第一申請消息以申請對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限,其中,所述目標(biāo)目錄為存儲有多個元數(shù)據(jù)的目錄,所述第一目標(biāo)元數(shù)據(jù)為所述處理器當(dāng)前需要訪問的元數(shù)據(jù);所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限用于供所述處理器訪問所述目標(biāo)目錄中的第一目標(biāo)元數(shù)據(jù),以及訪問所述目標(biāo)目錄中除所述第一目標(biāo)元數(shù)據(jù)之外的元數(shù)據(jù);
      [0060]當(dāng)申請到對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限時(shí),訪問所述第一目標(biāo)元數(shù)據(jù)。
      [0061 ]通過執(zhí)行上述操作,第一客戶端訪問目標(biāo)目錄中的第一目標(biāo)元數(shù)據(jù)時(shí),一次性向目錄鎖服務(wù)器申請目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限,這樣一來,第一客戶端就可以順利訪問第一目標(biāo)元數(shù)據(jù),并且后續(xù)訪問目標(biāo)目錄中其他元數(shù)據(jù)時(shí)不需要再重新申請?jiān)L問權(quán)限,節(jié)省了維護(hù)緩存一致性的開銷。
      [0062]結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,當(dāng)未申請到對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限時(shí),通過所述接收裝置接收所述目錄鎖服務(wù)器發(fā)送的第二客戶端所在的節(jié)點(diǎn)信息,并根據(jù)所述節(jié)點(diǎn)信息通過所述發(fā)送裝置向所述第二客戶端發(fā)送請求消息以通過所述第二客戶端訪問所述目標(biāo)目錄中的元數(shù)據(jù),所述第二客戶端為向所述目錄鎖服務(wù)器申請到了對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限的客戶端。
      [0063]通過執(zhí)行上述操作,第一客戶端在申請不到目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限時(shí),通過已經(jīng)獲取了目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限的第二客戶端訪問第一目標(biāo)元數(shù)據(jù),使得第一客戶端在申請不到目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限時(shí)依然可以順利訪問到目標(biāo)元數(shù)據(jù)。
      [0064]結(jié)合第三方面,或者第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,所述處理器向目錄鎖服務(wù)器發(fā)送第一申請消息以申請對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限的方式具體為:
      [0065]獲取描述所述目標(biāo)目錄的元數(shù)據(jù),所述描述所述目標(biāo)目錄的元數(shù)據(jù)設(shè)有用于標(biāo)識所述目標(biāo)目錄是否為存儲有多個元數(shù)據(jù)的目錄的標(biāo)識信息;
      [0066]根據(jù)所述描述所述目標(biāo)目錄的元數(shù)據(jù)來判斷所述目標(biāo)目錄是否為存儲有多個元數(shù)據(jù)的目錄;
      [0067]若是,則通過發(fā)送裝置向目錄鎖服務(wù)器發(fā)送第一申請消息以申請對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限。
      [0068]結(jié)合第三方面,或者第三方面的第一種可能的實(shí)現(xiàn)方式,或者第三方面的第二種可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式中,當(dāng)申請到對所述目標(biāo)目錄中所有元數(shù)據(jù)的排它訪問權(quán)限時(shí),所述處理訪問所述第一目標(biāo)元數(shù)據(jù)之后,所述處理器還用于:
      [0069]通過所述接收裝置接收第三客戶端發(fā)送的請求消息,所述請求消息用于請求通過所述第一客戶端訪問所述第
      當(dāng)前第1頁1 2 3 4 5 6 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1