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

      目錄租賃的制作方法

      文檔序號(hào):7923350閱讀:169來源:國知局
      專利名稱:目錄租賃的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及本地高速緩存目錄元數(shù)據(jù)。
      背景技術(shù)
      客戶機(jī)上的應(yīng)用程序常常訪問存儲(chǔ)在分布式文件系統(tǒng)中的文件。分布式文件系統(tǒng)允許對在客戶機(jī)上本地運(yùn)行的應(yīng)用程序透明地訪問遠(yuǎn)程存儲(chǔ)的文件。分布式文件系統(tǒng)可包括允許客戶機(jī)本地高速緩存某些信息使得比遠(yuǎn)程檢索信息更為高效地用本地信息服務(wù)某些請求的某些特征。然而,當(dāng)前的分布式文件系統(tǒng)不具有用于高速緩存諸如元數(shù)據(jù)(例如, 目錄元數(shù)據(jù))等信息的機(jī)制,這些元數(shù)據(jù)在訪問分布式文件系統(tǒng)的客戶機(jī)之間提供一致性和相關(guān)性。正是基于這些及其他考慮才作出了本發(fā)明的各實(shí)施例。同樣,雖然討論了相對具體的問題,但是,應(yīng)該理解,本發(fā)明的各實(shí)施例不應(yīng)該僅限于解決背景中所標(biāo)識(shí)的具體問題。

      發(fā)明內(nèi)容
      提供本發(fā)明內(nèi)容以便以簡化形式介紹將在以下的“具體實(shí)施方式
      ”中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。描述了用于允許訪問分布式文件系統(tǒng)的客戶機(jī)本地高速緩存目錄元數(shù)據(jù)的實(shí)施例。在一個(gè)實(shí)施例中,客戶機(jī)向文件服務(wù)器請求高速緩存目錄數(shù)據(jù)的租約??蛻魴C(jī)可請求讀租約,這允許該客戶機(jī)本地高速緩存目錄元數(shù)據(jù)并服務(wù)于來自最初請求目錄元數(shù)據(jù)的同一應(yīng)用程序的請求。此外,客戶機(jī)也可請求句柄租約,這允許客戶機(jī)延遲目錄句柄的關(guān)閉,并允許句柄被重用以服務(wù)于來自該客戶機(jī)上的同一應(yīng)用程序或不同應(yīng)用程序的后續(xù)目錄元數(shù)據(jù)請求。在某些實(shí)施例中,服務(wù)器依賴于兩個(gè)租約鍵來跟蹤客戶機(jī)租約,并確保對目錄元數(shù)據(jù)擁有讀租約的客戶機(jī)對目錄元數(shù)據(jù)的改變不會(huì)導(dǎo)致讀租約被撤銷。在其它實(shí)施例中, 客戶機(jī)可請求寫租約,這允許該客戶機(jī)上的應(yīng)用程序諸如通過創(chuàng)建或刪除目錄中的文件或改變其屬性來修改目錄元數(shù)據(jù),并高速緩存這些改變。當(dāng)另一客戶機(jī)請求目錄元數(shù)據(jù)時(shí),寫租約被打破,且改變被轉(zhuǎn)儲(chǔ)清除到服務(wù)器。各實(shí)施例可以實(shí)現(xiàn)成計(jì)算機(jī)進(jìn)程、計(jì)算系統(tǒng)或諸如計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)可讀介質(zhì)之類的制品。計(jì)算機(jī)程序產(chǎn)品可以是計(jì)算機(jī)系統(tǒng)可讀并編碼了用于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的計(jì)算機(jī)存儲(chǔ)介質(zhì)。計(jì)算機(jī)程序產(chǎn)品還可以是計(jì)算系統(tǒng)可讀并編碼用于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的載波上的傳播信號(hào)。


      參考以下附圖描述非限制性和非窮盡的實(shí)施例。圖1示出了可用于實(shí)現(xiàn)一些實(shí)施例的系統(tǒng)的實(shí)施例。
      圖2示出了可在一些實(shí)施例中使用的客戶機(jī)和服務(wù)器的框圖。圖3示出了根據(jù)用于本地高速緩存目錄元數(shù)據(jù)的一些實(shí)施例的操作流程。圖4示出了根據(jù)用于服務(wù)對目錄元數(shù)據(jù)持有租約的客戶機(jī)修改目錄元數(shù)據(jù)的請求的一些實(shí)施例的操作流程。圖5示出了根據(jù)一些實(shí)施例當(dāng)接收到對目錄數(shù)據(jù)的讀租約的撤銷時(shí)執(zhí)行的操作流程。圖6示出了根據(jù)用于允許本地高速緩存目錄元數(shù)據(jù)的一些實(shí)施例的操作流程。圖7示出適于實(shí)現(xiàn)各實(shí)施例的計(jì)算環(huán)境的框圖。
      具體實(shí)施例方式以下將結(jié)合作為本發(fā)明一部分并示出用于實(shí)踐本發(fā)明的特定實(shí)施例的附圖來更詳盡地描述各個(gè)實(shí)施例。然而各實(shí)施例被實(shí)現(xiàn)為許多不同的形式并且不應(yīng)將其解釋為限制在此處描述的實(shí)施例;相反地,提供這些實(shí)施例以使得本公開變得透徹和完整,并且將本發(fā)明的范圍完全傳達(dá)給本領(lǐng)域普通技術(shù)人員。因此,各實(shí)施例可以呈現(xiàn)完全是硬件實(shí)現(xiàn)、完全是軟件實(shí)現(xiàn)或組合了軟件和硬件方面的實(shí)現(xiàn)。因此,以下詳細(xì)描述并非是局限性的。圖1示出了其中可實(shí)現(xiàn)各實(shí)施例的分布式文件系統(tǒng)100的實(shí)施例。系統(tǒng)100包括運(yùn)行要求對文件和文件信息的訪問的各個(gè)應(yīng)用程序的客戶機(jī)102和104。文件服務(wù)器106 將文件和文件信息例如存儲(chǔ)在數(shù)據(jù)存儲(chǔ)108中??蛻魴C(jī)102和104可通過例如網(wǎng)絡(luò)110的網(wǎng)絡(luò)訪問文件服務(wù)器106。如本領(lǐng)域的技術(shù)人員可以理解地,網(wǎng)絡(luò)110可以是LAN、WAN(例如,因特網(wǎng))、存儲(chǔ)區(qū)域網(wǎng)或允許客戶機(jī)102和104與文件服務(wù)器106通信的其它網(wǎng)絡(luò)。分布式文件系統(tǒng)100可實(shí)現(xiàn)允許客戶機(jī)102和104訪問文件服務(wù)器106的協(xié)議。 協(xié)議的一些非限定性示例包括服務(wù)器消息塊(SMB)、SMB2和NFS。如本領(lǐng)域的技術(shù)人員可以理解地,文件訪問協(xié)議提供客戶機(jī)向文件服務(wù)器請求文件的不同格式。實(shí)施例不限于任何特定文件訪問協(xié)議。相反,可使用包括但不限于以上所列的任何文件訪問協(xié)議來實(shí)現(xiàn)所描述的實(shí)施例的特征。在一個(gè)實(shí)施例中,客戶機(jī)102和104可向文件服務(wù)器106請求允許它們本地高速緩存目錄元數(shù)據(jù)的租約。如本領(lǐng)域的技術(shù)人員可以理解地,文件服務(wù)器106除存儲(chǔ)實(shí)際的文件數(shù)據(jù)以外也可存儲(chǔ)描述目錄中文件的特性的目錄元數(shù)據(jù)。例如,目錄元數(shù)據(jù)可包括但不限于目錄中每一文件的最后修改的日期、創(chuàng)建日期、文件大小、文件類型和作者名。本實(shí)施例可通過提供租賃機(jī)制來實(shí)現(xiàn)。如圖1中所示,某些實(shí)施例允許諸如客戶機(jī)102的客戶機(jī)隨元數(shù)據(jù)租約請求向文件服務(wù)器106發(fā)送分組112。在實(shí)施例中,分組112除租約請求以外還可包括對元數(shù)據(jù)的請求。例如,諸如瀏覽器應(yīng)用程序的應(yīng)用程序可請求特定目錄的目錄元數(shù)據(jù)。響應(yīng)于該請求,客戶機(jī)102可發(fā)送分組112,分組112將包括對該特定目錄的元數(shù)據(jù)的請求以及元數(shù)據(jù)租約請求。如圖1中所示,分組112可指定讀租約、寫租約和/或句柄租約。讀租約將允許客戶機(jī)102在本地高速緩存中存儲(chǔ)目錄的元數(shù)據(jù),并每當(dāng)瀏覽器應(yīng)用程序請求目錄元數(shù)據(jù)時(shí),該客戶機(jī)可從本地高速緩存服務(wù)該請求。句柄租約將允許客戶機(jī)102延遲目錄句柄的關(guān)閉,這允許客戶機(jī)102使用目錄句柄來服務(wù)于來自瀏覽器應(yīng)用程序以及請求目錄的目錄元數(shù)據(jù)的其它應(yīng)用程序的后續(xù)請求。寫租約允許客戶機(jī)高速緩存應(yīng)用程序?qū)δ夸浽獢?shù)據(jù)進(jìn)行的改變。在圖1所示的實(shí)施例中,文件服務(wù)器106發(fā)送響應(yīng)分組114,分組114包括所請求的目錄元數(shù)據(jù)和對是否授予所請求的租約的指示?;陧憫?yīng)分組,如果租約請求被準(zhǔn)許,則客戶機(jī)102高速緩存目錄元數(shù)據(jù),并將目錄元數(shù)據(jù)提供給瀏覽器應(yīng)用程序。如果響應(yīng)分組指示租約未被授予,則客戶機(jī)102將不會(huì)高速緩存目錄元數(shù)據(jù),而是僅將目錄元數(shù)據(jù)提供給瀏覽器應(yīng)用程序。如果客戶機(jī)102未被授予租約,則瀏覽器應(yīng)用程序?qū)δ夸浽獢?shù)據(jù)的任何后續(xù)請求將導(dǎo)致客戶機(jī)向文件服務(wù)器106請求目錄元數(shù)據(jù)。如下更詳細(xì)描述地,向客戶機(jī)授予租約在服務(wù)來自應(yīng)用程序的請求方面提供了效率,并減少了客戶機(jī)向文件服務(wù)器106發(fā)送多個(gè)請求的需求。從而,在一些實(shí)施例中,文件服務(wù)器106—般對客戶機(jī)授予租約只要沒有另一客戶機(jī)當(dāng)前持有沖突的租約。為確保目錄元數(shù)據(jù)的相關(guān)性,文件服務(wù)器106確保不向不同的客戶機(jī)授予對特定目錄元數(shù)據(jù)的沖突的租約。僅提供圖1的描述來介紹一些實(shí)施例的一些特征。如下更詳細(xì)描述地,其它實(shí)施例可提供其它特征。圖1的描述不應(yīng)被用來限制任何其它實(shí)施例的范圍。圖2示出了可在一些實(shí)施例中使用的客戶機(jī)和服務(wù)器的框圖。如上所述,可使用不同的文件訪問協(xié)議來實(shí)現(xiàn)所描述的各實(shí)施例的特征。圖2的以下某些描述包括對SMB2 的特征的一些描述。然而,這不應(yīng)被用來限制其它實(shí)施例,因?yàn)榭墒褂萌魏挝募L問協(xié)議來實(shí)現(xiàn)所描述的特征。對SMB2的使用僅是一個(gè)示例,且僅用于說明的目的。圖2示出了作為分布式文件系統(tǒng)200的一部分的客戶機(jī)202和文件服務(wù)器204的框圖。在一些實(shí)施例中,客戶機(jī)202可在系統(tǒng)100(圖1)中被實(shí)現(xiàn)為客戶機(jī)102和104,而文件服務(wù)器204可在系統(tǒng)100 (圖1)中被實(shí)現(xiàn)為文件服務(wù)器106。如圖2中所示,客戶機(jī)202包括多個(gè)應(yīng)用程序206A-C,這些應(yīng)用程序請求對存儲(chǔ)在服務(wù)器204的文件系統(tǒng)208中文件數(shù)據(jù)和元數(shù)據(jù)的訪問??蛻魴C(jī)202還包括重定向器210。 在一個(gè)實(shí)施例中,重定向器210可被配置為SMB2重定向器,客戶機(jī)202與服務(wù)器204使用根據(jù)SMB2協(xié)議格式化的分組來通信。當(dāng)應(yīng)用程序206A-C之一請求位于服務(wù)器204上的文件時(shí),重定向器210將處理該請求。重定向器210將關(guān)于對文件數(shù)據(jù)和元數(shù)據(jù)的請求創(chuàng)建根據(jù)SMB2協(xié)議格式化的分組。如下更詳細(xì)描述地,在各實(shí)施例中,SMB2協(xié)議被擴(kuò)展成提供允許客戶機(jī)202在客戶機(jī)202上的本地高速緩存212中存儲(chǔ)目錄元數(shù)據(jù)的租賃機(jī)制。租賃機(jī)制利用客戶機(jī)202上的查找表214,該查找表存儲(chǔ)與由服務(wù)器204授予的租約相關(guān)聯(lián)的租約鍵(目錄鍵/文件鍵)。服務(wù)器204還為請求租約并被授予租約的客戶機(jī)存儲(chǔ)租約鍵。 服務(wù)器204使用租約表216來存儲(chǔ)租約鍵。作為系統(tǒng)200的操作的一個(gè)示例,應(yīng)用程序206A可請求存儲(chǔ)在文件系統(tǒng)208的目錄如目錄1中的文件的元數(shù)據(jù)。作為結(jié)果,應(yīng)用程序206A發(fā)出請求,該請求被重定向器210 接收。響應(yīng)于接收請求,重定向器210將通過發(fā)送協(xié)商請求分組218來啟動(dòng)與服務(wù)器204的會(huì)話。如本領(lǐng)域的技術(shù)人員將理解地,協(xié)商請求分組218將根據(jù)允許在客戶機(jī)和服務(wù)器之間協(xié)商會(huì)話的SMB2協(xié)議格式化。協(xié)商請求分組218將包括指示該客戶機(jī)是否能夠處理目錄元數(shù)據(jù)租賃的信息。在一個(gè)實(shí)施例中,目錄元數(shù)據(jù)租賃可僅被SMB2協(xié)議的某些版本支持, 協(xié)商請求分組218可提供客戶機(jī)支持SMB2協(xié)議支持元數(shù)據(jù)租賃的一版本并想要使用SMB2協(xié)議的該版本與服務(wù)器通信的指示。響應(yīng)于協(xié)商請求分組218,服務(wù)器204將發(fā)送協(xié)商響應(yīng)分組220,該分組可包括對服務(wù)器是否支持SMB2協(xié)議的該版本的指示。在當(dāng)前示例中,協(xié)商響應(yīng)分組220指示服務(wù)器同意使用SMB2協(xié)議支持目錄元數(shù)據(jù)租賃的一版本通信。當(dāng)客戶機(jī)202和服務(wù)器204之間的協(xié)商完成時(shí),重定向器210然后可請求應(yīng)用程序206A所請求的目錄元數(shù)據(jù)。在一個(gè)實(shí)施例中,重定向器210將首先生成與正在請求的目錄元數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù)鍵,例如目錄2鍵。另外,重定向器210也為包括被請求的目錄元數(shù)據(jù)的父目錄生成鍵,在此為目錄1。這些鍵被存儲(chǔ)在查找表214中。如圖2的實(shí)施例中所示,查找表214使目錄鍵與目錄內(nèi)存儲(chǔ)的文件的各個(gè)文件鍵以及目錄內(nèi)子目錄的目錄鍵相關(guān)聯(lián)。這些租約鍵在某些實(shí)施例中是全局唯一標(biāo)識(shí)符(GUID)。然而,它們不限于GUID。重定向器210然后發(fā)送包括對目錄2中目錄元數(shù)據(jù)的請求的分組222,還請求對目錄2中目錄元數(shù)據(jù)的租約。作為租約請求的一部分,重定向器210包括所生成的租約鍵 (即,目錄1的目錄鍵和目錄2的目錄鍵)。在一不同的實(shí)施例中,重定向器210不生成任何目錄鍵。相反,分組222允許重定向器210指示服務(wù)器應(yīng)生成租約鍵。 當(dāng)服務(wù)器204接收目錄租約請求分組222時(shí),它將從目錄2檢索目錄元數(shù)據(jù)。月艮務(wù)器204還確定它是否可向客戶機(jī)201授予所請求的租約。具體地,服務(wù)器可咨詢存儲(chǔ)它已經(jīng)授予的其它租約的租約鍵(目錄鍵和文件鍵)的租約表216。在此示例中,先前沒有客戶機(jī)請求對目錄2的租約,作為結(jié)果,服務(wù)器204將來自目錄租約請求分組222的目錄1的目錄鍵和目錄2的目錄鍵存儲(chǔ)至租約表216。服務(wù)器發(fā)送帶有目錄元數(shù)據(jù)和所請求的租約已被授予的指示的目錄租約響應(yīng)分組224。在這種情況中,所請求的租約可包括讀租約、寫租約和/或句柄租約。如果租約是讀租約,則允許客戶機(jī)202從高速緩存212服務(wù)來自應(yīng)用程序206A對目錄2的目錄元數(shù)據(jù)的請求。如果租約是寫租約,則可將對目錄2的目錄元數(shù)據(jù)的任何改變存儲(chǔ)在高速緩存212 中。如果租約包括句柄租約,客戶機(jī)202可在應(yīng)用程序206A關(guān)閉該句柄時(shí)對目錄2延遲關(guān)閉該句柄。然后可重用該句柄以服務(wù)來自應(yīng)用程序206A以及其它應(yīng)用程序206B和206C 的后續(xù)請求。重定向器210將向應(yīng)用程序206A提供目錄元數(shù)據(jù)并還將目錄元數(shù)據(jù)存儲(chǔ)在高速緩存212中。稍后,如果第二客戶機(jī)請求對存儲(chǔ)在目錄2中的同一目錄元數(shù)據(jù)的訪問,則在第二客戶機(jī)請求與向客戶機(jī)202基于的句柄租約不兼容的訪問時(shí),服務(wù)器204可撤銷來自客戶機(jī)202的句柄租約。服務(wù)器204將向客戶機(jī)202發(fā)送指示句柄租約正在撤銷的撤銷通知 226。在撤銷之后,來自應(yīng)用程序206A、206B和206C對目錄元數(shù)據(jù)的任何請求將要求客戶機(jī)202直接向服務(wù)器204請求新的目錄句柄。在某些實(shí)施例中,對租約的撤銷同步進(jìn)行,且客戶機(jī)202必須發(fā)送已經(jīng)接收到撤銷通知的確認(rèn)228。如果在稍后時(shí)間,第二客戶機(jī)對存儲(chǔ)在目錄2中的目錄元數(shù)據(jù)作出修改,則服務(wù)器204可撤銷來自客戶機(jī)202的讀租約,這將使存儲(chǔ)在高速緩存212中的數(shù)據(jù)無效。在撤銷之后,來自應(yīng)用程序206A、206B和206C的對目錄元數(shù)據(jù)的任何請求必須通過直接向服務(wù)器204請求信息來接受服務(wù)。如本領(lǐng)域的技術(shù)人員將理解地,高速緩存212中的信息可由客戶機(jī)202為除向應(yīng)用程序206A、206B和206C提供目錄元數(shù)據(jù)以外的目的而使用。作為一個(gè)示例,如果文件不存在于目錄中,可使來自應(yīng)用程序206A、206B和206C對遺失文件的請求失敗,而不必將請求重定向至服務(wù)器204。這有助于減少目標(biāo)文件不存在的開口(open)請求的網(wǎng)絡(luò)通信量。在一個(gè)實(shí)施例中,以上描述的租賃特征是可傳遞的。即,重定向器210可將租約的獲取和撤銷傳至本地應(yīng)用程序。然后可使用該本地應(yīng)用程序來服務(wù)其它遠(yuǎn)程客戶機(jī)。以此方式,租約授予和撤銷實(shí)質(zhì)上被傳遞回最終對等體。圖3-6示出根據(jù)各實(shí)施例的操作流程300、400、500和600。操作流程300、400、500 和600可在任何合適的計(jì)算環(huán)境中執(zhí)行。例如,操作流程可以由諸如圖1和圖2中所示的系統(tǒng)來執(zhí)行。因此,對操作流程300、400、500和600的描述可參考圖1和圖2的組件中的至少一個(gè)。然而,對圖1和圖2的組件的任何這類參考是僅出于描述性目的的,并且應(yīng)當(dāng)理解,圖1和圖2的實(shí)現(xiàn)是操作流程300、400、500和600的非限制性環(huán)境。此外,盡管以特定次序順序地示出并描述了操作流程300、400、500和600,但在其它實(shí)施例中,能以不同的順序、多次和/或并行執(zhí)行各個(gè)操作。此外,在某些實(shí)施例中,一個(gè)或多個(gè)操作可被省略或組合。圖3示出了根據(jù)用于本地高速緩存目錄元數(shù)據(jù)的一些實(shí)施例的操作流程300。流程300開始于操作302,此處從應(yīng)用程序接收對目錄元數(shù)據(jù)(包括目錄元數(shù)據(jù)的一部分)的請求。在某些實(shí)施例中,操作302由客戶機(jī)上的重定向器接收,重定向器是諸如系統(tǒng)100 (圖 1)或系統(tǒng)200(圖幻的分布式文件系統(tǒng)的一部分。流程300不限于使用任何特定的文件訪問協(xié)議來實(shí)現(xiàn)??墒褂萌魏魏线m的文件訪問協(xié)議來實(shí)現(xiàn)流程300的實(shí)施例。流程從操作302至判定304,在那里作出所請求的元數(shù)據(jù)是否被存儲(chǔ)在本地高速緩存中的判斷。如果在判定304,作出所請求的元數(shù)據(jù)被存儲(chǔ)在本地高速緩存中的判斷,則流程傳至操作306,在那里從本地高速緩存檢索元數(shù)據(jù)。在操作308,將從本地高速緩存檢索到的元數(shù)據(jù)提供給應(yīng)用程序。流程300在310處結(jié)束。然而,如果在判定304,作出目錄元數(shù)據(jù)未被存儲(chǔ)在本地高速緩存中的判斷,則控制從判定304傳至操作312,在那里創(chuàng)建由目錄元數(shù)據(jù)標(biāo)識(shí)的文件的目錄鍵。在某些實(shí)施例中,目錄鍵是由執(zhí)行流程300的重定向器生成的。在操作312之后,在操作314生成由目錄元數(shù)據(jù)標(biāo)識(shí)的目錄的父目錄的目錄鍵。在某些實(shí)施例中,操作314可包括為目錄的所有祖先生成鍵。鍵可被本地高速緩存。在操作316,向文件服務(wù)器發(fā)送請求。請求是針對元數(shù)據(jù)以及允許對元數(shù)據(jù)進(jìn)行本地高速緩存的租約的。在操作318,從文件服務(wù)器接收響應(yīng)。在各實(shí)施例中,響應(yīng)將包括對所請求的租約是否已由文件服務(wù)器授予的指示。流程從操作318傳至操作320,將在那里來自響應(yīng)的元數(shù)據(jù)提供給應(yīng)用程序。在操作320之后,在判定322作出關(guān)于服務(wù)器是否授予所請求的對目錄元數(shù)據(jù)的租約的判斷。如果在判定322,作出租約未被批準(zhǔn)的判斷,則元數(shù)據(jù)不能被本地高速緩存,且流程在310結(jié)束。如果在判定322,作出租約被文件服務(wù)器批準(zhǔn)的判斷,則在操作324,元數(shù)據(jù)被存儲(chǔ)在本地高速緩存。在操作3M之后,流程在310結(jié)束。現(xiàn)在參考圖4,示出了根據(jù)用于服務(wù)對目錄元數(shù)據(jù)持有句柄租約的客戶機(jī)(它訪問分布式文件系統(tǒng))修改目錄元數(shù)據(jù)的請求的某些實(shí)施例的流程400。在各實(shí)施例中,流程400可在流程300已被執(zhí)行之后被執(zhí)行。因此,流程400在其中已經(jīng)授予用于高速緩存目錄元數(shù)據(jù)的句柄租約的各實(shí)施例中執(zhí)行。流程400開始于操作402,在那里接收到修改目錄元數(shù)據(jù)的請求。請求可以例如是向文件寫信息的寫請求,這會(huì)改變元數(shù)據(jù);非限定性的示例包括修改日期和文件大小。之前已經(jīng)由文件服務(wù)器向正在執(zhí)行流程400的客戶機(jī)授予用于高速緩存目錄元數(shù)據(jù)的句柄租約。在操作404處,用來自請求的信息即修改目錄元數(shù)據(jù)的信息,例如要寫至文件的數(shù)據(jù),來創(chuàng)建分組。因?yàn)橹耙咽谟枳饧s,存在第一目錄鍵和與租約相關(guān)聯(lián)的父目錄的目錄鍵。從而,在操作406中,該目錄鍵被包括在分組中,且在操作408處,各目錄鍵被包括在分組中。分組然后在410處被發(fā)送給服務(wù)器。在某些實(shí)施例中,客戶機(jī)一開始在對開口的請求中發(fā)送目錄鍵和父目錄的目錄鍵。服務(wù)器然后將對該開口上的所有后續(xù)操作使用各鍵。 然而,在其它實(shí)施例中,客戶機(jī)可對每一操作提供目錄鍵和父目錄鍵。在操作410之后,流程傳至操作412,在那里更新本地高速緩存來反映改變后的元數(shù)據(jù)。換言之,更新本地高速緩存來反映在最新的修改日期、文件大小等中的改變。流程 400在414處結(jié)束。圖5示出了用于處理撤銷目錄元數(shù)據(jù)上的讀租約的通知的流程500。可在已經(jīng)從諸如服務(wù)器204(圖2)的服務(wù)器向客戶機(jī)授予讀租約之后執(zhí)行流程500。流程500開始于操作502處,在那里從服務(wù)器接收到指示正在撤銷之前授予的對目錄元數(shù)據(jù)的讀租約的撤銷通知。在一些實(shí)施例中,由于另一客戶機(jī)已經(jīng)執(zhí)行的動(dòng)作影響了高速緩存的目錄元數(shù)據(jù)的相關(guān)性,例如對目錄中文件的修改,因此由服務(wù)器發(fā)送撤銷通知。響應(yīng)于接收撤銷通知, 流程500傳至操作504,在那里使任何高速緩存的目錄元數(shù)據(jù)無效。在某些實(shí)施例中,操作 504包括由客戶機(jī)采取的指示高速緩存不可再被使用來向請求目錄元數(shù)據(jù)的應(yīng)用程序提供目錄元數(shù)據(jù)的多個(gè)步驟。在操作504之后,流程傳至操作506,在那里向服務(wù)器發(fā)送撤銷通知被成功接收的確認(rèn)。在某些實(shí)施例中,流程500可不包括操作506。在這些實(shí)施例中,客戶機(jī)接收撤銷通知而不向服務(wù)器發(fā)送確認(rèn)。流程然后傳至操作508,在那里通過向服務(wù)器請求目錄元數(shù)據(jù)來服務(wù)對目錄元數(shù)據(jù)的任何請求。流程500在510處結(jié)束。圖6示出了根據(jù)用于允許本地高速緩存目錄元數(shù)據(jù)的一些實(shí)施例的操作流程 600。在某些實(shí)施例中,流程600可由作為分布式文件系統(tǒng)的一部分的文件服務(wù)器執(zhí)行。流程600開始于操作602,在那里接收到對目錄元數(shù)據(jù)和租約的請求。該請求在某些實(shí)施例中由客戶機(jī)發(fā)送,或由作為分布式文件系統(tǒng)的一部分的客戶機(jī)上的重定向器發(fā)送。在操作602之后,流程600傳遞至判定604,在那里作出是否授予在操作602接收的請求中所請求的租約的判斷。判定604可基于多個(gè)因素,包括例如是否已對目錄元數(shù)據(jù)授予租約。如果在判定600,作出不授予租約的判斷,則流程傳至操作606,在那里發(fā)送帶有目錄元數(shù)據(jù)的分組。分組將包括所請求的租約未被授予的指示。流程然后在操作608處結(jié)束。如果在判定604,作為可授予租約的判斷,則流程600傳至操作610,在那里存儲(chǔ)目錄鍵和父附錄鍵。在某些實(shí)施例中,目錄鍵和父目錄鍵是用作跟蹤向客戶機(jī)授予的租約的租約鍵的GUID。在某些實(shí)施例中,隨對目錄元數(shù)據(jù)的請求和租約請求,在操作602接收目錄鍵和父目錄鍵。在該實(shí)施例中,目錄和父目錄鍵由在操作602發(fā)送請求的客戶機(jī)生成。在其它實(shí)施例中,目錄鍵和父目錄鍵可由服務(wù)器生成,并且然后在操作610處被存儲(chǔ)在租約表中。 在某些實(shí)施例中,目錄鍵和父目錄鍵表達(dá)兩個(gè)或多個(gè)開口句柄之間的容器-孩子關(guān)系。這對文件鍵和目錄鍵成立,該文件鍵與該目錄中的文件相關(guān)聯(lián)。例如,假定存在兩個(gè)句柄開口 Hl和H2。Hl可與文件鍵=Kl和目錄鍵=D相關(guān)聯(lián)。H2可與文件鍵=K2和目錄鍵=D相關(guān)聯(lián)。各鍵指示由這些句柄所指的文件駐留在同一目錄內(nèi)。再次參考圖6,在操作612,將帶有所請求的目錄元數(shù)據(jù)和對租約批準(zhǔn)的指示的響應(yīng)分組發(fā)送給客戶機(jī)??蛻魴C(jī)然后可根據(jù)所授予的租約本地地高速緩存目錄元數(shù)據(jù)。在操作614,接收修改目錄元數(shù)據(jù)的請求。該請求例如可以是將附加信息寫入文件中。這將例如通過改變最后修改時(shí)間或文件大小來修改目錄元數(shù)據(jù)。流程從操作614傳至判定616,在那里作出修改目錄元數(shù)據(jù)的請求是否來自租約持有者的判斷。在一個(gè)實(shí)施例中,在判定616處所作的判斷是通過將與其上執(zhí)行修改目錄元數(shù)據(jù)的句柄相關(guān)聯(lián)的租約鍵同與先前提供給客戶機(jī)的句柄相關(guān)聯(lián)的租約鍵進(jìn)行比較來作出的。 如上所述,在某些實(shí)施例中,客戶機(jī)生成與文件句柄(或目錄句柄)相關(guān)聯(lián)的租約鍵,且因此每一鍵對于特定客戶機(jī)將是唯一的。在一個(gè)示例中,提供給客戶機(jī)的句柄Hl與文件鍵= Kl和目錄鍵=D相關(guān)聯(lián)。如果稍后服務(wù)器接收修改與句柄H2相關(guān)聯(lián)的元數(shù)據(jù)的操作,則月艮務(wù)器將與句柄H2相關(guān)聯(lián)的租約鍵同與句柄Hl相關(guān)聯(lián)的租約鍵進(jìn)行比較。如果例如H2與文件鍵=K2和目錄鍵=D相關(guān)聯(lián),服務(wù)器判斷,由于Hl和H2的目錄鍵相同,因此在目錄D 上具有租約的同一客戶機(jī)作出了修改,且因此租約不必被撤銷。然而,如果H2與文件鍵= K2和目錄鍵=Dl相關(guān)聯(lián),則服務(wù)器將判斷由于與句柄Hl和H2相關(guān)聯(lián)的目錄鍵是不同的, 因此必須撤銷租約。如果作出租約持有者是對目錄元數(shù)據(jù)作出修改的那個(gè)的判斷,則流程傳至操作 618,其中更新文件系統(tǒng)以反映修改后的目錄元數(shù)據(jù)。流程600在608處結(jié)束。如果在判定616作出請求不是來自租約持有者的判斷,則流程傳至判定620,在那里作出所請求的修改是否與已給予另一客戶機(jī)的租約不一致的判斷。如果請求并非不一致,則流程傳至操作618并在608結(jié)束。如果在判定620處作出請求與租約不一致的判斷,則流程傳至操作622,在那里向當(dāng)前正持有目錄元數(shù)據(jù)上的租約的客戶機(jī)發(fā)送撤銷通知。發(fā)送撤銷以便于在訪問目錄元數(shù)據(jù)的所有客戶機(jī)之間維護(hù)目錄元數(shù)據(jù)的相關(guān)性。在操作6M處接收撤銷通知的確認(rèn),之后流程傳至操作618并在608結(jié)束。圖7示出可用于實(shí)現(xiàn)此處所描述的各實(shí)施例的通用計(jì)算機(jī)環(huán)境700。計(jì)算機(jī)系統(tǒng) 700僅是計(jì)算環(huán)境的一個(gè)示例,而非旨在對計(jì)算機(jī)和網(wǎng)絡(luò)體系結(jié)構(gòu)的使用范圍或功能提出任何限制。計(jì)算機(jī)系統(tǒng)700也不應(yīng)被解釋成對于在示例計(jì)算機(jī)系統(tǒng)700中所示出的任一組件或其組合有任何依賴或要求。在某些實(shí)施例中,系統(tǒng)700可用作以上參考圖1和圖2所述的客戶機(jī)和/或服務(wù)器。在其最基本配置中,系統(tǒng)700通常包括至少一個(gè)處理單元702和存儲(chǔ)器704。取決于計(jì)算設(shè)備的確切配置和類型,存儲(chǔ)器704可以是易失性的(如RAM)、非易失性的(如 ROM、閃存等)或是兩者的某種組合。該最基本配置在圖7中由虛線706來例示。系統(tǒng)存儲(chǔ)器704存儲(chǔ)在系統(tǒng)700上執(zhí)行的應(yīng)用程序。例如,存儲(chǔ)器704可存儲(chǔ)以上參考圖2描述的報(bào)告查找表214。此處所使用的術(shù)語計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)可包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)的信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。系統(tǒng)存儲(chǔ)器704、可移動(dòng)存儲(chǔ)和不可移動(dòng)存儲(chǔ)708都是計(jì)算機(jī)存儲(chǔ)介質(zhì)示例(即,存儲(chǔ)器存儲(chǔ))。計(jì)算機(jī)存儲(chǔ)介質(zhì)可包括,但不限于,RAM、ROM、電可擦除只讀存儲(chǔ)器(EEPROM)、閃存或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其他光存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備、或可用于存儲(chǔ)信息并且可由計(jì)算設(shè)備700訪問的任何其它介質(zhì)。任何這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是設(shè)備 700的一部分。計(jì)算設(shè)備700還可具有輸入設(shè)備714,諸如鍵盤、鼠標(biāo)、筆、聲音輸入設(shè)備、觸摸輸入設(shè)備等。還可包括輸出設(shè)備616,如顯示器、揚(yáng)聲器、打印機(jī)等。上述設(shè)備是示例并且可使用其他設(shè)備。 此處所使用的術(shù)語計(jì)算機(jī)可讀介質(zhì)還可包括通信介質(zhì)。通信介質(zhì)可由諸如載波或其他傳輸機(jī)制的已調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)來體現(xiàn),并且包括任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”可描述具有以對該信號(hào)中的信息編碼的方式設(shè)定或者改變的一個(gè)或多個(gè)特征的信號(hào)。作為示例而非限制,通信介質(zhì)可包括諸如有線網(wǎng)絡(luò)或直接線連接的有線介質(zhì),以及諸如聲學(xué)、射頻(RF)、紅外線和其他無線介質(zhì)的無線介質(zhì)。本說明書通篇引述了“一個(gè)實(shí)施例”或“實(shí)施例”,這意味著在至少一個(gè)實(shí)施例中包括特定描述的特征、結(jié)構(gòu)或特性。因此,對這樣短語的使用可指的是一個(gè)以上的實(shí)施例。而且,在一個(gè)或多個(gè)實(shí)施例中,可以用任何合適的方式組合所描述的特征、結(jié)構(gòu)或特性。然而,本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到本發(fā)明也可在沒有一個(gè)或多個(gè)具體細(xì)節(jié)的情況下實(shí)施,或者采用其它方法、資源、材料等來實(shí)現(xiàn)。僅僅為了避免模糊本發(fā)明的各方面,在其它情況下,未示出和詳述公知的結(jié)構(gòu)、資源或操作。雖然示出和描述了示例實(shí)施例和應(yīng)用,但是應(yīng)該理解本發(fā)明不限于上述精確配置和資源??梢詫Υ颂幑_的方法和系統(tǒng)的排列、操作以及細(xì)節(jié)作出對本領(lǐng)域技術(shù)人員顯而易見的各種修改、改變和變化,而不背離所要求保護(hù)的本發(fā)明的范圍。
      權(quán)利要求
      1.一種計(jì)算機(jī)(700)實(shí)現(xiàn)的本地高速緩存目錄元數(shù)據(jù)的方法,所述方法包括 從應(yīng)用程序O06A)接收對目錄元數(shù)據(jù)的第一請求;響應(yīng)于接收到所述第一請求,向服務(wù)器(106)發(fā)送對所述目錄元數(shù)據(jù)的第二請求 (112),其中所述第二請求(11 包括對包含所述目錄元數(shù)據(jù)的目錄的句柄的請求,并且還包括對本地高速緩存目錄元數(shù)據(jù)的租約的請求,其中所述租約允許本地高速緩存目錄元數(shù)據(jù)直到所述服務(wù)器(106)撤銷所述租約;從所述服務(wù)器(106)接收第一響應(yīng)(114),所述第一響應(yīng)(114)包括所述目錄元數(shù)據(jù)以及批準(zhǔn)對所述租約的請求的指示;在本地高速緩存012)中存儲(chǔ)所述目錄元數(shù)據(jù);以及向所述應(yīng)用程序O06A)提供所述目錄元數(shù)據(jù)。
      2.如權(quán)利要求1所述的方法,其特征在于,還包括從第二應(yīng)用程序O06B)接收對所述目錄元數(shù)據(jù)的第三請求;以及響應(yīng)于接收到所述第三請求,從所述本地高速緩存(211)提供所述目錄元數(shù)據(jù)。
      3.如權(quán)利要求1所述的方法,其特征在于,還包括響應(yīng)于接收到所述第一請求,創(chuàng)建與第一目錄相關(guān)聯(lián)的第一目錄鍵和與包含所述第一目錄的第二目錄相關(guān)聯(lián)的第二目錄鍵;以及在發(fā)送給所述服務(wù)器(106)的第二請求(11 中包括所述第一目錄鍵和所述第二目錄鍵。
      4.如權(quán)利要求3所述的方法,其特征在于,還包括從第二應(yīng)用程序O06B)接收修改所述第二目錄內(nèi)存儲(chǔ)的文件的第三請求; 響應(yīng)于接收到所述第三請求 創(chuàng)建與所述文件相關(guān)聯(lián)的文件鍵;以及用來自所述第三請求的數(shù)據(jù)、與所述文件相關(guān)聯(lián)的文件鍵和所述第二目錄鍵向所述服務(wù)器(106)發(fā)送第四請求。
      5.如權(quán)利要求1所述的方法,其特征在于,還包括 從所述服務(wù)器(106)接收對所述租約的撤銷通知0 ); 響應(yīng)于接收到所述撤銷通知026)發(fā)送接收到所述撤銷通知0 )的確認(rèn)0 );以及從所述本地高速緩存(21 移除所述目錄元數(shù)據(jù)。
      6.一種被配置成允許本地高速緩存目錄元數(shù)據(jù)的計(jì)算機(jī)系統(tǒng)(700),所述系統(tǒng)包括 至少一個(gè)處理器(702);以及存儲(chǔ)當(dāng)由所述至少一個(gè)處理器(70 執(zhí)行時(shí)執(zhí)行一種方法的可執(zhí)行指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(704),所述方法包括在服務(wù)器(106)處從第一客戶機(jī)(10 接收對目錄元數(shù)據(jù)的第一請求(112、222),其中所述第一請求(112、22幻包括對包含所述目錄元數(shù)據(jù)的目錄的句柄的請求,還包括對本地高速緩存目錄元數(shù)據(jù)的租約的請求,其中所述租約允許本地高速緩存目錄元數(shù)據(jù)直到所述服務(wù)器撤銷所述租約;以及發(fā)送第一響應(yīng)(114、2M),所述第一響應(yīng)包括所述目錄元數(shù)據(jù)以及批準(zhǔn)對所述租約的請求的指示。
      7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述方法還包括 接收第二請求(112、222);判斷所述第二請求(112、22幻是否是從第二客戶機(jī)(104)接收的,所述第二請求修改所述目錄元數(shù)據(jù)。
      8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述判斷包括將來自所述第二請求(112、22幻的目錄鍵與之前存儲(chǔ)的目錄鍵進(jìn)行比較。
      9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述方法還包括響應(yīng)于確定來自所述第二請求(112、22幻的目錄鍵與之前接收到的目錄鍵不同,向所述第一客戶機(jī)(102)發(fā)送撤銷所述租約的撤銷通知0沈)。
      10.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述方法還包括響應(yīng)于接收到所述第一請求(112、222),創(chuàng)建與所述目錄的句柄相關(guān)聯(lián)的文件鍵并創(chuàng)建與所述目錄的父附錄相關(guān)聯(lián)的目錄鍵;以及在向所述服務(wù)器(106)發(fā)送的所述第一響應(yīng)(114、224)中包括所述文件鍵和所述目錄鍵。
      全文摘要
      本發(fā)明涉及目錄租賃。描述了用于允許訪問分布式文件系統(tǒng)的客戶機(jī)本地高速緩存目錄元數(shù)據(jù)的實(shí)施例??蛻魴C(jī)可請求讀租約,這允許該客戶機(jī)本地高速緩存目錄元數(shù)據(jù)并使用該高速緩存服務(wù)于從最初請求目錄元數(shù)據(jù)的同一應(yīng)用程序接收到的請求。此外,客戶機(jī)也可請求句柄租約,這允許客戶機(jī)延遲目錄句柄的關(guān)閉,并允許句柄被重用以服務(wù)于來自同一應(yīng)用程序或不同應(yīng)用程序的后續(xù)目錄元數(shù)據(jù)請求。客戶機(jī)還可請求寫租約,這允許該客戶機(jī)上的應(yīng)用程序諸如通過創(chuàng)建或刪除目錄中的新文件或改變其屬性來修改目錄元數(shù)據(jù),并高速緩存這些改變。
      文檔編號(hào)H04L29/08GK102521224SQ20111029077
      公開日2012年6月27日 申請日期2011年9月16日 優(yōu)先權(quán)日2010年9月17日
      發(fā)明者C·G·奧爾雷德, D·M·克魯斯, M·喬治, N·R·克里斯蒂安森, S·C·哈弗瓦拉 申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1