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

      群集唯一標(biāo)識符的制作方法

      文檔序號:6494784閱讀:155來源:國知局
      群集唯一標(biāo)識符的制作方法
      【專利摘要】所描述的是用于跨服務(wù)器群集中的服務(wù)器為文件或?qū)ο筇峁┪ㄒ粯?biāo)識符的實(shí)施例。各實(shí)施例包括生成包括至少三個部分的唯一標(biāo)識符。第一部分包括節(jié)點(diǎn)標(biāo)識符,該節(jié)點(diǎn)標(biāo)識符標(biāo)識群集中創(chuàng)建該唯一標(biāo)識符的特定服務(wù)器。第二部分包括主要序列號,該主要序列號在服務(wù)器被重新引導(dǎo)或者以其他方式離線并隨后回到在線時遞增。此外,主要序列號在包括在唯一標(biāo)識符的第三部分中的所有次要序列號已被使用時遞增。第三部分中的次要序列號因所請求的每一個唯一文件或?qū)ο蠖f增。
      【專利說明】群集唯一標(biāo)識符
      【背景技術(shù)】
      [0001]利用用于存儲一個或多個客戶機(jī)所訪問的信息的單個服務(wù)器的系統(tǒng)一般不存在生成對象(例如,文件)的唯一標(biāo)識符的問題。然而,當(dāng)系統(tǒng)擴(kuò)展為包括例如具有多個服務(wù)器的服務(wù)器群集時,必需在適當(dāng)?shù)奈恢么嬖谀撤N用于確保在服務(wù)器群集中各文件或各其他對象具有唯一的標(biāo)識符的機(jī)制。應(yīng)該理解,如果服務(wù)器群集中的一個服務(wù)器發(fā)生故障,則其他服務(wù)器必需能夠承載該故障服務(wù)器的負(fù)載。具有唯一標(biāo)識符確保了之前訪問過該故障服務(wù)器的客戶機(jī)能夠向服務(wù)器群集中的任何服務(wù)器發(fā)送標(biāo)識符,并訪問同一對象或文件。同樣,從性能角度來說,實(shí)現(xiàn)在生成群集中的所有節(jié)點(diǎn)的每一標(biāo)識符之前檢查該標(biāo)識符的系統(tǒng)不是切實(shí)可行的。
      [0002]此外,群集以及群集中的服務(wù)器可以被配置為使用預(yù)定的協(xié)議集與客戶機(jī)通信。因此,除了必須生成跨服務(wù)器群集唯一的標(biāo)識符之外,這些標(biāo)識符還必須滿足這些協(xié)議的要求,諸如這些協(xié)議所指定的特定結(jié)構(gòu)、大小、格式等。
      [0003]各實(shí)施例正是對于這些和其它考慮事項(xiàng)而做出的。而且,盡管討論了相對具體的問題,但是應(yīng)當(dāng)理解,各實(shí)施例不應(yīng)被限于解決本【背景技術(shù)】中所標(biāo)識的具體問題。

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

      [0004]提供本
      【發(fā)明內(nèi)容】
      來以簡化形式介紹將在以下詳細(xì)描述部分中進(jìn)一步描述的一些概念。本
      【發(fā)明內(nèi)容】
      并不旨在標(biāo)識出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
      [0005]所描述的是用于跨服務(wù)器群集中的服務(wù)器為文件或?qū)ο筇峁┪ㄒ粯?biāo)識符的實(shí)施例。各實(shí)施例包括生成包括至少三個部分的64位標(biāo)識符。第一部分包括節(jié)點(diǎn)標(biāo)識符,該節(jié)點(diǎn)標(biāo)識符標(biāo)識服務(wù)器群集中創(chuàng)建該唯一標(biāo)識符的特定服務(wù)器。第二部分包括主要序列號,該主要序列號在服務(wù)器被重新引導(dǎo)或者以其他方式離線并隨后回到在線時遞增。此外,主要序列號在包括在唯一標(biāo)識符的第三部分中的所有次要序列號已被使用時遞增。第三部分中的次要序列號因所請求的每一個唯一文件或?qū)ο蠖f增。次要序列號落在特定范圍內(nèi)。當(dāng)該范圍內(nèi)的次要序列號全部被使用時,次要序列號遞增,并且該范圍內(nèi)的次要序列號被重新使用。
      [0006]實(shí)施例可被實(shí)現(xiàn)為計算機(jī)進(jìn)程、計算系統(tǒng)、或者諸如計算機(jī)程序產(chǎn)品或計算機(jī)可讀介質(zhì)等制品。計算機(jī)程序產(chǎn)品可以是計算機(jī)系統(tǒng)可讀并編碼了用于執(zhí)行計算機(jī)進(jìn)程的指令的計算機(jī)程序的計算機(jī)存儲介質(zhì)。計算機(jī)程序產(chǎn)品還可以是計算系統(tǒng)可讀并編碼了用于執(zhí)行計算機(jī)過程的指令的計算機(jī)程序的載體上的傳播信號。
      【專利附圖】

      【附圖說明】
      [0007]參考以下附圖描述非限制性和非窮盡的實(shí)施例。
      [0008]圖1示出了可用于實(shí)現(xiàn)各實(shí)施例的系統(tǒng)的一實(shí)施例。
      [0009]圖2A示出了根據(jù)某些實(shí)施例的具有三個不同部分的唯一標(biāo)識符。[0010]圖2B示出了根據(jù)某些實(shí)施例的供在創(chuàng)建唯一標(biāo)識符時使用的主要序列號的使用和次要序列號范圍。
      [0011]圖3示出了根據(jù)某些實(shí)施例的唯一會話標(biāo)識符。
      [0012]圖4示出了根據(jù)某些實(shí)施例的服務(wù)器群集的框圖。
      [0013]圖5示出了根據(jù)某些實(shí)施例的用于確定是否保留主要序列號的操作流程。
      [0014]圖6示出了根據(jù)某些實(shí)施例的用于提供唯一標(biāo)識符的操作流程。
      [0015]圖7示出了適于實(shí)現(xiàn)各實(shí)施例的計算環(huán)境的框圖。
      【具體實(shí)施方式】
      [0016]以下將參考形成本發(fā)明一部分并示出各具體示例性實(shí)施例的附圖更詳盡地描述各個實(shí)施例。然而實(shí)施例被實(shí)現(xiàn)為許多不同的形式并且不應(yīng)將其解釋為限制在此處描述的實(shí)施例;相反地,提供這些實(shí)施例以使得本公開變得透徹和完整,并且將這些實(shí)施例的范圍完全傳達(dá)給本領(lǐng)域普通技術(shù)人員。各實(shí)施例可按照方法、系統(tǒng)或設(shè)備來實(shí)施。因此,這些實(shí)施例可采用硬件實(shí)現(xiàn)形式、全軟件實(shí)現(xiàn)形式或者結(jié)合軟件和硬件方面的實(shí)現(xiàn)形式。因此,以下詳細(xì)描述并非是局限性的。
      [0017]圖1示出了可用于實(shí)現(xiàn)一些實(shí)施例的系統(tǒng)100。系統(tǒng)100包括客戶機(jī)102和104以及服務(wù)器集群106??蛻魴C(jī)102和104通過網(wǎng)絡(luò)108與服務(wù)器集群106通信。服務(wù)器群集106存儲信息,該信息被客戶端102和104上的應(yīng)用訪問??蛻舳?02和104與群集106建立會話以訪問群集106上的信息。盡管在圖1中,僅有客戶機(jī)102和104被示為與集群106通信,但是在其他實(shí)施例中,可以存在兩個以上客戶機(jī)從服務(wù)器集群106訪問信息。
      [0018]如圖1所示,服務(wù)器群集106包括服務(wù)器106A、106B和106C,這些服務(wù)器為存儲在群集106上的信息提供高可用性和冗余性二者。在實(shí)施例中,群集106可以具有文件系統(tǒng)、數(shù)據(jù)庫、或者由客戶機(jī)102和104訪問的其他信息。盡管圖1中示出了 3個服務(wù)器,但是在其他實(shí)施例中,群集106可以包括3個以上服務(wù)器或3個以下服務(wù)器。
      [0019]根據(jù)一個實(shí)施例,群集106為客戶機(jī)102和104所訪問的文件或其他對象生成唯一標(biāo)識符110唯一標(biāo)識符110從群集106被傳遞到客戶機(jī)102和104。如以下將更詳細(xì)描述的,唯一標(biāo)識符是跨服務(wù)器106AU06B和106C唯一的。在各實(shí)施例中,客戶機(jī)102和104建立用于訪問存儲在服務(wù)器群集106上的信息(諸如,文件或?qū)ο?的會話。建立與服務(wù)器106A、106B和106C之一的會話。作為建立該會話的一部分,服務(wù)器將發(fā)送會話標(biāo)識給客戶機(jī)。
      [0020]作為一個示例,客戶機(jī)102可以請求建立與服務(wù)器群集106的會話,以訪問存儲在服務(wù)器群集106上的文件信息。在這個示例中,服務(wù)器106A接收請求,并與客戶機(jī)102協(xié)商會話。在一個實(shí)施例中,會話是使用文件訪問協(xié)議來協(xié)商的,諸如服務(wù)器消息塊(SMB )協(xié)議的版本或網(wǎng)絡(luò)文件服務(wù)器(NFS)協(xié)議的版本。
      [0021]在建立了會話后,客戶機(jī)102向服務(wù)器106A發(fā)送文件訪問請求。在服務(wù)器106A接收該請求時,它將唯一標(biāo)識符分配給客戶機(jī)102所請求的文件,并將該標(biāo)識符提供給客戶機(jī)102。客戶機(jī)102將使該唯一標(biāo)識符包括在訪問該文件的任何后續(xù)請求中。服務(wù)器106A所提供的標(biāo)識符是跨服務(wù)器106AU06B和106C唯一的。
      [0022]服務(wù)器106A被配置為生成唯一標(biāo)識符。圖2中示出唯一標(biāo)識符200的一個實(shí)施例。在圖2所示的實(shí)施例中,唯一標(biāo)識符200包括具有節(jié)點(diǎn)標(biāo)識符的第一部分202,該節(jié)點(diǎn)標(biāo)識符在前面的示例中標(biāo)識服務(wù)器106A。標(biāo)識符200的第一部分202允許服務(wù)器群集106中的任何服務(wù)器確定哪個服務(wù)器生成了該唯一標(biāo)識符200。該部分確保服務(wù)器群集中生成的任何標(biāo)識符200的唯一性。
      [0023]唯一標(biāo)識符200還包括具有主要序列號的第二部分204,和具有次要序列號的第三部分206。對于每一主要序列號,存在可使用的次要序列號范圍。應(yīng)該理解,次要序列號可使用的數(shù)字范圍取決于唯一標(biāo)識符200的特定結(jié)構(gòu)。
      [0024]在一個實(shí)施例中,唯一標(biāo)識符200在長度上為64位。該長度可以由例如用于訪問文件的特定協(xié)議來確定。在一個示例中,如果SMB協(xié)議用于訪問文件,則服務(wù)器所生成的文件標(biāo)識符必須為64位長。因此,為了符合SMB的要求,唯一標(biāo)識符200將為64位長。在這個實(shí)施例中,唯一標(biāo)識符200的第一部分202為8位長,而第二部分204為24位長,第三部分為32位長。各實(shí)施例在長度上并不限于64位。在其他實(shí)施例中,大小可以不同,而位劃分被改變以反映不同大小。
      [0025]圖2B示出了主要序列號如何與次要序列號一起工作的概念。在概念上,主要序列號將具有取決于分配給該主要序列號的比特數(shù)的號范圍。在圖2B所示的實(shí)施例中,主要序列號在24位長的部分中,因此該主要序列號在O到224的范圍內(nèi)。
      [0026]同樣在圖2B中示出,次要序列號在32位長的部分中,因此該次要序列號可在O到232的范圍內(nèi)。如圖2B所示,每一主要序列號與次要序列號范圍相關(guān)聯(lián)。S卩,對于每一主要序列號,可生成232個唯一標(biāo)識符。一旦次要序列號范圍被使用,主要序列號可向上遞增,并且再次另外232個唯一標(biāo)識符可通過使用該范圍內(nèi)的所有次要序列號來生成。應(yīng)該理解,這導(dǎo)致非常大數(shù)量的唯一標(biāo)識符。
      [0027]在某些實(shí)施例中,主要序列號將在每次存儲服務(wù)器重新引導(dǎo)或者服務(wù)器以其他方式離線并回到在線時向上遞增。主要序列號的使用在這些實(shí)施例中可用于對群集服務(wù)重啟的次數(shù)進(jìn)行計數(shù)。
      [0028]如上所述,客戶機(jī)102和104可以使用SMB協(xié)議的某版本來連接到服務(wù)器群集106。SMB協(xié)議的版本使用包含持久部分和易失性部分的文件標(biāo)識符,前者跨斷開連接/重新連接保持相同,而后者在每次句柄被重新建立時改變。持久部分在第一次打開時被生成。在各實(shí)施例中,該標(biāo)識符結(jié)構(gòu)200 (圖2A)在具有節(jié)點(diǎn)標(biāo)識符的第一部分202作為文件標(biāo)識符的持久部分的一部分的情況下被使用,持久部分標(biāo)識在其上最初打開該文件的服務(wù)器。由于SMB文件標(biāo)識符的易失性部分在每一次打開時被重新生成,它保持當(dāng)前使該打開活動的服務(wù)器的身份。
      [0029]在各實(shí)施例中,與SMB協(xié)議的各版本一起使用的文件標(biāo)識符可用于例如支持管理API,在該管理API處,管理員可以關(guān)閉文件,且服務(wù)器可以觀察文件標(biāo)識符的具有節(jié)點(diǎn)標(biāo)識符的部分,并確切地知道需要聯(lián)系哪個服務(wù)器以處理該關(guān)閉。這可用于管理API的例如NetSessionClose、NetFileClose,以允許將服務(wù)器組作為單個服務(wù)器來管理,并且服務(wù)器可以基于節(jié)點(diǎn)標(biāo)識符來標(biāo)識哪個服務(wù)器需要處理給定請求。
      [0030]如上所述的諸如與具有8位長的第一部分、24位常的第二部分和32位長的第三部分的標(biāo)識符200有關(guān)的特定實(shí)施例僅出于說明的目的而被提供。各實(shí)施例不限于64位標(biāo)識符的這種特定分割。在其他實(shí)施例中,第一部分、第二部分和第三部分可取決于特定實(shí)施例而具有不同的比特長度。同樣,應(yīng)該理解,標(biāo)識符200可以具有任何長度而不限于64位,標(biāo)識符200在各實(shí)施例中可比64位更短或更長。
      [0031]圖3示出了可用于某些實(shí)施例的會話標(biāo)識符300。圖3中示出的會話標(biāo)識符300具有兩個部分,即第一部分302和第二部分304。在某些實(shí)施例中,會話標(biāo)識符300在長度上也是64位,但是它可以具有不同的長度。在圖3所示的實(shí)施例中,第一部分302包括節(jié)點(diǎn)標(biāo)識符,該節(jié)點(diǎn)標(biāo)識符唯一地標(biāo)識創(chuàng)建該會話標(biāo)識符的服務(wù)器。對該第一部分中的節(jié)點(diǎn)標(biāo)識符的使用在服務(wù)器群集中的某服務(wù)器接收到該節(jié)點(diǎn)標(biāo)識符時為該服務(wù)器提供標(biāo)識哪個服務(wù)器創(chuàng)建了給定ID的能力。該服務(wù)器可確定節(jié)點(diǎn)標(biāo)識符,并且隨后如果必須進(jìn)行清理工作等,則與那個服務(wù)器通信。該會話標(biāo)識符是對建立該會話的節(jié)點(diǎn)的生存期而言為唯一的易失性標(biāo)識符的示例,但如果該節(jié)點(diǎn)重新啟動或者被驅(qū)逐,則該會話標(biāo)識符會被回收。
      [0032]作為一個示例,如果客戶機(jī)和服務(wù)器使用SMB協(xié)議的一版本通信,則它們可以交換SESS10N_SETUP請求中的“PreviousSessionld”參數(shù),以標(biāo)識該客戶機(jī)之前連接過但后來斷開了連接,而現(xiàn)在正再次連接。服務(wù)器必須使在前會話斷開連接,如果它作為建立新會話的一部分存在的話。由于會話ID300的一部分包含創(chuàng)建該會話的服務(wù)器的節(jié)點(diǎn)標(biāo)識符,因此它允許該服務(wù)器確切地知道必須聯(lián)系哪個服務(wù)器以使該會話斷開連接。
      [0033]現(xiàn)轉(zhuǎn)至圖4,示出了服務(wù)器群集406的軟件環(huán)境400的框圖被示出在圖4中。示出了圖4以圖解說明用于實(shí)現(xiàn)各實(shí)施例的環(huán)境的一般示例。
      [0034]如圖4所示,服務(wù)器群集406包括三個服務(wù)器,即406A、406B和406C。如圖4所示,服務(wù)器406A、406B和406C中的每一個都包括各個組件。例如,每個服務(wù)器都包括客戶機(jī)訪問模塊,該客戶機(jī)訪問模塊與諸如客戶機(jī)102和104 (圖1)之類的客戶機(jī)通信,以建立用于允許所述客戶機(jī)訪問存儲在服務(wù)器群集406上的文件信息的會話。在各實(shí)施例中,客戶機(jī)訪問組件可以實(shí)現(xiàn)諸如SMB協(xié)議的一版本的文件訪問協(xié)議。
      [0035]在圖4所示的實(shí)施例中,服務(wù)器406A、406B和406C還包括與其他群集服務(wù)組件通信的群集服務(wù)組件。在各實(shí)施例中,群集406中的群集服務(wù)組件提供多個功能。例如,群集服務(wù)組件可以提供與服務(wù)器有關(guān)的信息,以允許群集406在服務(wù)器406A、406B和406C間平衡負(fù)載。作為另一示例,群集服務(wù)組件可用于為發(fā)生故障的任何服務(wù)器提供允許故障切換的信息。此外,群集服務(wù)組件用于保留各標(biāo)識符(諸如圖2所示的標(biāo)識符200)的主要序列號。
      [0036]服務(wù)器406A、406B和406C中的每一個還包括標(biāo)識符生成組件。標(biāo)識符生成組件生成與向請求訪問文件的客戶機(jī)提供的文件或文件句柄相關(guān)聯(lián)的唯一標(biāo)識符。唯一標(biāo)識符是跨群集406中的所有服務(wù)器唯一的。即,沒有任何標(biāo)識符將是正好相同的,其防止標(biāo)識符間的沖突。標(biāo)識符生成組件包括用于確定要包括在唯一文件標(biāo)識符中的特定主要序列號和次要序列號所必須的邏輯此外,服務(wù)器406A、406B和406C中的每一個上的標(biāo)識符生成組件與本地群集服務(wù)組件通信,以將附加的主要序列號保留在群集注冊表408中。
      [0037]在圖4所示的實(shí)施例中,群集注冊表408在服務(wù)器406C上。群集注冊表408存儲群集服務(wù)的配置信息。因此,服務(wù)器406A、倒退空間(backspace)和服務(wù)器406B中的每一個上的群集服務(wù)組件與服務(wù)器406C上的群集服務(wù)組件通信,以將配置信息存儲在群集注冊表408中,或從群集注冊表408中檢索配置信息。在一個實(shí)施例中,群集注冊表408用于保留群集406中的標(biāo)識符生成組件所使用的主要序列號以生成唯一標(biāo)識符。因此,當(dāng)次要序列號范圍已被使用時,服務(wù)器上的標(biāo)識符生成組件將與本地群集服務(wù)組件通信,該本地群集服務(wù)組件通過服務(wù)器406C上的群集服務(wù)組件請求將下一主要序列號保留在注冊表408 中。
      [0038]作為一個示例,假設(shè)服務(wù)器406A從客戶機(jī)接收訪問存儲在群集406上的文件信息的請求。服務(wù)器406A上的客戶機(jī)訪問組件將與客戶機(jī)通信,并建立允許客戶機(jī)訪問文件信息的會話。在建立了該會話后,客戶機(jī)將發(fā)送訪問文件的請求。響應(yīng)于接收該請求,服務(wù)器406A上的客戶機(jī)訪問組件將請求來自服務(wù)器406A上的標(biāo)識符生成模塊的標(biāo)識符。標(biāo)識符生成模塊將確定要包括在唯一標(biāo)識符中的合適的節(jié)點(diǎn)標(biāo)識符、主要序列號和次要序列號。在生成了唯一標(biāo)識符之后,標(biāo)識符生成組件會將該唯一標(biāo)識符傳遞至客戶機(jī)訪問組件,客戶機(jī)訪問組件將進(jìn)而將該唯一標(biāo)識符提供給客戶機(jī)。
      [0039]在來自客戶機(jī)的一系列請求之后,標(biāo)識符生成組件將確定在在前的唯一標(biāo)識符中所有次要序列號已被使用,并且隨后將通過服務(wù)器406A上的客戶機(jī)服務(wù)組件請求保留下一主要序列號。隨后,服務(wù)器406A上的群集服務(wù)組件將與服務(wù)器406C上的群集服務(wù)組件通信,以請求將下一主要序列號保留在注冊表408中。隨后,服務(wù)器406C上的群集服務(wù)組件將向406A上的群集服務(wù)組件提供指示該下一主要序列號已被保留在群集注冊表408中的響應(yīng)。服務(wù)器406A中的群集服務(wù)組件將向標(biāo)識符生成組件提供下一主要序列號已被保留在群集注冊表408中的指示。隨后,服務(wù)器406A上的標(biāo)識符生成組件可以開始使用下一主要序列號,并從次要序列號范圍的開始處開始。
      [0040]在某些實(shí)施例中,服務(wù)器406A或406B中的一個可發(fā)生故障,或以其他方式離線并隨后回到在線。當(dāng)服務(wù)器回到在線,并且該服務(wù)器上的客戶機(jī)訪問組件接收對文件的請求時,該服務(wù)器上的標(biāo)識符生成組件將通過本地群集服務(wù)器組件請求對下一主要序列號的請求。隨后,本地群集服務(wù)組件將遵循之前描述的用于通過群集注冊表408來保留下一主要序列號的過程。因此,在這些實(shí)施例中,群集注冊表408可用于跟蹤服務(wù)器已經(jīng)歷的重新引導(dǎo)的次數(shù)。
      [0041]僅為了解說各實(shí)施例而提供以上描述。應(yīng)該理解,雖然圖4中的服務(wù)器群集406被示為具有僅三個服務(wù)器,但在其他實(shí)施例中,服務(wù)器群集406將包括多于三個服務(wù)器。同樣,在各實(shí)施例中,群集406可包括多于一個具有群集注冊表408的服務(wù)器。群集注冊表可被復(fù)制到其他服務(wù)器處,以允許與群集注冊表有關(guān)的故障切換及冗余。
      [0042]圖5和圖6示出根據(jù)各實(shí)施例的操作流程500和600。操作流程500和600可以在任何合適的計算環(huán)境中執(zhí)行。例如,操作流程可因此由諸如圖1和圖4中所示的系統(tǒng)和環(huán)境來執(zhí)行,操作流程500和600的描述可以參考圖1和圖4的組件中的至少一個。然而,對圖1和4的組件的任何這類參考僅出于描述性目的,并且應(yīng)當(dāng)理解,圖1和4的實(shí)現(xiàn)是操作流程500和600的非限制性環(huán)境。
      [0043]此外,盡管以特定次序順序地示出并描述了操作流程500和600,但在其它實(shí)施例中,各個操作能以不同的次序、多次和/或并行執(zhí)行。此外,在某些實(shí)施例中,一個或多個操作可被省略或組合。
      [0044]操作流程500被解說為示出在確定要包括在唯一標(biāo)識符中的合適的主要序列號和次要序列號時可執(zhí)行的各個步驟。在各實(shí)施例中,如上所述的服務(wù)器406A、406B和406C(圖4)的標(biāo)識符生成組件可實(shí)現(xiàn)操作流程500。[0045]流程500在操作502處開始,在操作502處,接收訪問文件的請求。在各實(shí)施例中,操作502在多個其他步驟(諸如協(xié)商會話)之前。該會話可以使用文件訪問協(xié)議(諸如,SMB協(xié)議的一版本)來協(xié)商。在其他實(shí)施例中,操作502在訪問多個不同文件的多個在前請求之前。響應(yīng)于步驟502處接收到的請求,必須生成標(biāo)識正被訪問的文件的唯一標(biāo)識符。
      [0046]如圖5中的實(shí)施例所示,操作流程從操作502傳遞至判定504,在該判定處,作出要供唯一標(biāo)識符使用的下一次要序列號是否在第一閾值位置處的判定。在某些實(shí)施例中,如結(jié)合圖4所述的,在次要序列號范圍已被使用時,主要序列號遞增。在各實(shí)施例中,保留下一主要序列號要求向群集中的另一服務(wù)器發(fā)送可包括用于保留該下一主要序列號的群集注冊表的消息。
      [0047]為了避免進(jìn)入其中生成唯一標(biāo)識符必須被暫停直到存在對保留下一主要序列號的批準(zhǔn)的情況,判定504確定下一次要序列號是否在距次要序列號范圍的末尾的閾值位置處。這允許保留請求被盡早并異步地發(fā)送。
      [0048]如果在判定504處確定要被包括在唯一標(biāo)識符中的下一次要序列號大于第一閾值位置,則流程傳遞至操作506,在操作506處,發(fā)送保留下一主要序列號的請求。在操作508,接收對保留的指示。操作508處接收到的指示可以是將允許在必要時(即,在次要序列號已全部被使用時)遞增主要序列號的批準(zhǔn)指示在其他實(shí)施例中,操作508處接收到的指示可以不是對下一主要序列號的批準(zhǔn)。這可在例如包括群集注冊表的服務(wù)器不可用的情況下發(fā)生。流程500從操作508傳遞至操作510,在操作501,生成唯一標(biāo)識符。流程在512處結(jié)束。
      [0049]如果在判定504處確定次要序列號不大于第一閾值位置,則流程500傳遞至判定514,在判定514處,確定是否要被包括在唯一標(biāo)識符中的下一次要序列號大于第二閾值位置且最后一個主要序列號已在使用。與判定504中使用的第一閾值位置相比,第二閾值位置與次要序列號范圍的末尾更接近。與該范圍的末尾更接近對于保護(hù)對下一主要序列號的保留而言是更緊急的情況。如果次要序列號被用完,而尚未保留任何主要序列號,則不會生成更多的唯一標(biāo)識符。這可導(dǎo)致在生成標(biāo)識符時存在延遲并因此在對來自客戶機(jī)的訪問文件的請求作出響應(yīng)時存在延遲的錯誤。
      [0050]判定514還考慮最后一個主要序列號當(dāng)前是否在使用。如圖2所示,主要序列號同樣限于特定的號范圍。因此,一旦主要序列號已全部被使用,則它們必須被復(fù)位。因此,如果在判定514處確定要使用的下一次要序列號大于第二閾值位置,并且最后一個主要序列號當(dāng)前被使用,則流程500傳遞到操作516。在操作516處,發(fā)送復(fù)位主要序列號的請求。在某些實(shí)施例中,該請求可以被群集服務(wù)組件發(fā)送到包括群集注冊表的另一服務(wù)器。
      [0051]在操作516,流程傳遞至操作518,在操作518處,接收主要序列號是否已被復(fù)位的指示。流程從操作518傳遞至判定520,在判定520處,確定在518處接收到的指示是否指示主要序列號已被成功復(fù)位。如果在判定520處確定主要序列號被成功復(fù)位,則流程傳遞至操作510,在操作510處生成唯一標(biāo)識符。流程隨后在512處結(jié)束。
      [0052]然而,如果在520處確定來自操作518的指示指示主要序列號尚未被復(fù)位,則流程傳遞至操作522,在操作522,提供本地保留。操作522旨在處理其中例如訪問群集注冊表以及保留主要序列號或復(fù)位主要序列號的能力存在問題的情況。當(dāng)面對這種情況時,各實(shí)施例將仍能夠通過在本地保留或復(fù)位主要序列號來生成某種類型的標(biāo)識符。這避免了其中沒有任何唯一標(biāo)識符可被生成以及系統(tǒng)停止生成用于訪問請求的標(biāo)識符的情況。
      [0053]在各實(shí)施例中,在不作為群集的一部分的服務(wù)器上,唯一文件標(biāo)識符以與作為群集的一部分的服務(wù)器相同的方式被生成。然而,節(jié)點(diǎn)標(biāo)識符等于零,并且主要序列號被存儲在常規(guī)注冊表中。在作為群集的一部分的服務(wù)器上,如果群集注冊表未能在第一閾值被達(dá)到后更新,且群集服務(wù)不在運(yùn)行,則本地注冊表密鑰(非群集注冊表密鑰)被讀取以獲得用于生成下一唯一文件標(biāo)識符的主要序列號。當(dāng)?shù)诙撝当贿_(dá)到時,唯一標(biāo)識符將使用節(jié)點(diǎn)標(biāo)識符O來生成。如果在發(fā)送第一請求時群集服務(wù)正在運(yùn)行,則可以發(fā)送更新群集注冊表的另一請求,但是如果群集注冊表這次未能更新,則沒有任何新的唯一文件標(biāo)識符將被生成。相反,事件將被激發(fā),使得管理員可通過重啟群集服務(wù)或機(jī)器來解決該問題,因?yàn)檫@樣的情況指示嚴(yán)重錯誤。
      [0054]再一次參考圖5,流程從操作522傳遞到524,在524處,接收關(guān)于在本地保留或復(fù)位主要序列號的指示。在操作524后,流程傳遞到判定526,在判定526處,確定操作524處接收到的指示是否指示主要序列號已被成功復(fù)位或保留。如果存在主要序列號已在本地被復(fù)位或保留的指示,則流程傳遞到操作510,在操作510處,生成唯一標(biāo)識符。流程隨后在512處結(jié)束。
      [0055]如果在判定526處確定對主要序列號的復(fù)位或保留不成功,則流程傳遞到操作528,在操作528處,錯誤指示發(fā)生。這可導(dǎo)致例如向管理員通知糾正該錯誤的某一其他動作或事件。流程隨后在512處結(jié)束。
      [0056]參考回判定514,如果確定生成唯一標(biāo)識符時要使用的下一次要序列號不大于第二閾值,或者當(dāng)前在使用的主要序列號不是最后一個主要序列號,則流程500傳遞到判定530。在判定530處,確定是否要被包括在唯一標(biāo)識符中的下一次要序列號大于第二閾值位置,且下一主要序列號尚未被保留。如前所述,在與次要序列號范圍的末尾更接近的第二閾值處是更緊急的情況。如果保留下一主要序列號的在前嘗試已被作出但尚未成功,則將阻止生成任何標(biāo)識符,并由此可能導(dǎo)致不提供對文件訪問請求的響應(yīng)的情況可潛在地發(fā)生。如可看見地,如果在判定530處確定下一次要序列號大于第二閾值位置,并且下一主要序列號尚未被保留,則流程傳遞到如上所述的操作522、操作524、判定526和操作528。
      [0057]然而,如果在判定530處確定要被使用的下一次要序列號不大于第二閾值,或者下一主要序列并非尚未被保留,則流程500傳遞到操作510,在操作510處生成唯一標(biāo)識符。流程然后在操作512處結(jié)束。
      [0058]圖5中示出的實(shí)施例的一個特征是針對多數(shù)情況作出確定的快速性。例如,如果要在唯一標(biāo)識符中使用的下一次要序列號不大于第一閾值或第二閾值,則流程將快速地從判定504傳遞到判定514、到判定530,最后到生成唯一標(biāo)識符的操作510。該實(shí)施例允許唯一標(biāo)識符將在多數(shù)情況下被快速地生成。
      [0059]如上所述,在各實(shí)施例中,流程圖500由群集中的多個服務(wù)器上包括的標(biāo)識符生成組件來執(zhí)行。應(yīng)該理解,在某些實(shí)施例中,除圖1和圖4中示出的環(huán)境外,流程500還可以以其他類型的環(huán)境來實(shí)現(xiàn)。
      [0060]操作流程600示出了用于將唯一標(biāo)識符發(fā)送或提供給客戶機(jī)的步驟。在各實(shí)施例中,流程600的各操作可以與在圖5中示出并且如上所述的流程500的一個或多個不同操作組合。例如,如以下更詳細(xì)描述地,流程600包括用于生成標(biāo)識符的操作。這個操作可以作為如上所述并在圖5中示出的操作510與流程500組合。這僅僅是一個示例,流程500和600中的操作的不同組合是可能的。
      [0061]流程600在操作602處開始,在602處,建立與客戶機(jī)的會話,以允許該服務(wù)器訪問文件信息。該會話可以使用例如SMB協(xié)議的某版本來建立。操作602處建立的會話可以使用會話標(biāo)識符來標(biāo)識。該會話標(biāo)識符可被包括在來自客戶機(jī)的通信中,使得服務(wù)器,甚至群集的不同服務(wù)器,可以標(biāo)識出已經(jīng)建立的與客戶機(jī)的特定會話。
      [0062]在操作602之后,流程600傳遞到操作604,在操作604,接收對文件信息的請求。該請求可根據(jù)同一文件訪問協(xié)議(例如,SMB協(xié)議的某版本)而被格式化。如上所述,在各實(shí)施例,用于標(biāo)識被請求的文件的唯一標(biāo)識符被生成。操作606生成唯一標(biāo)識符。
      [0063]如圖6所示,在操作606處生成標(biāo)識符可包括多個子操作。在圖6所示的實(shí)施例中,操作606包括子操作608,在該子操作608中,節(jié)點(diǎn)標(biāo)識符被包括在唯一標(biāo)識符的第一部分中。操作606還包括子操作610,在該子操作610處,主要序列號被包括在唯一標(biāo)識符的第二部分中。在子操作612處,次要序列號被包括在唯一標(biāo)識符的第三部分中。在各實(shí)施例中,流程500的各操作可以在生成標(biāo)識符操作606之前執(zhí)行。即,在生成唯一標(biāo)識符之前,可確定主要序列號是否應(yīng)被保留,以用于生成將來的唯一標(biāo)識符。
      [0064]在其他實(shí)施例中,不執(zhí)行這三個可選的子操作(608-612)。相反,在第一次唯一標(biāo)識符被生成時,節(jié)點(diǎn)標(biāo)識符就被設(shè)置,并且剩余部分(諸如,序列號)在每次新的唯一文件標(biāo)識符被生成時被遞增??纱嬖跈z查閾值及邊界的邏輯,該邏輯可導(dǎo)致如果諸如改變節(jié)點(diǎn)標(biāo)識符部分的新判定被作出則創(chuàng)建全新的唯一文件標(biāo)識符,隨后新的64位標(biāo)識符可被創(chuàng)建并被用于通過簡單地遞增該標(biāo)識符來創(chuàng)建所請求的下一唯一文件標(biāo)識符。
      [0065]如圖6的實(shí)施例所示,操作流程從操作606傳遞到操作614,在操作614處,用于標(biāo)識客戶機(jī)已請求的文件的標(biāo)識符被發(fā)送給該客戶機(jī),或者以其他方式被提供給該客戶機(jī)。流程600在616處結(jié)束。
      [0066]圖7示出可用于實(shí)現(xiàn)本文所描述的實(shí)施例的通用計算機(jī)系統(tǒng)700。計算機(jī)系統(tǒng)700僅是計算環(huán)境的一個示例,而非旨在對計算機(jī)和網(wǎng)絡(luò)架構(gòu)的使用范圍或功能提出任何限制。計算機(jī)系統(tǒng)700也不應(yīng)被解釋成對于在示例計算機(jī)系統(tǒng)700中所示出的任一組件或其組合有任何依賴或要求。在實(shí)施例中,系統(tǒng)700可用作上面參照圖1所述的客戶端和/或服務(wù)器。
      [0067]在其最基本配置中,系統(tǒng)700通常包括至少一個處理單元702和存儲器704。取決于計算設(shè)備的確切配置和類型,存儲器704可以是易失性的(如RAM)、非易失性的(如ROM、閃存等)或是兩者的某種組合。該最基本配置在圖7中由虛線706來示出。系統(tǒng)存儲器704存儲在系統(tǒng)700上執(zhí)行的應(yīng)用程序。例如,存儲器704可以存儲生成被請求的文件的唯一標(biāo)識符的標(biāo)識符生成組件720。存儲器704還可包括唯一標(biāo)識符722。
      [0068]如這里所使用的術(shù)語計算機(jī)可讀介質(zhì)可以包括計算機(jī)存儲介質(zhì)。計算機(jī)存儲介質(zhì)可包括以用于存儲諸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。系統(tǒng)存儲器704、可移動存儲和不可移動存儲708都是計算機(jī)存儲介質(zhì)示例(即,存儲器存儲)。計算機(jī)存儲介質(zhì)可以包括,但不限于,RAM、ROM、電可擦除只讀存儲器(EEPR0M)、閃存或其他存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其他光存儲、磁帶盒、磁帶、磁盤存儲或其他磁性存儲設(shè)備、或可用于存儲信息且可以由計算設(shè)備700訪問的任何其他介質(zhì)。任何這樣的計算機(jī)存儲介質(zhì)都可以是 設(shè)備700的一部分。計算設(shè)備700還可以具有輸入設(shè)備714,如鍵盤、鼠標(biāo)、筆、聲音輸入設(shè) 備、觸摸輸入設(shè)備等。還可包括諸如顯示器、揚(yáng)聲器、打印機(jī)等輸出設(shè)備716。上述設(shè)備是示 例且可以使用其他設(shè)備。
      [0069]如這里所使用的術(shù)語計算機(jī)可讀介質(zhì)還包括通信介質(zhì)。通信介質(zhì)由諸如載波或其 他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號中的計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)來體 現(xiàn),并包括任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”可以描述以對該信號中的信息進(jìn)行 編碼的方式設(shè)定或者改變其一個或多個特征的信號。作為示例而非限制,通信介質(zhì)包括諸 如有線網(wǎng)絡(luò)或直接線連接等有線介質(zhì),以及諸如聲學(xué)、射頻(RF)、紅外線和其他無線介質(zhì)等 無線介質(zhì)。
      [0070]本說明書通篇引述了“一個實(shí)施例”或“一實(shí)施例”,這意味著在至少一個實(shí)施例中 包括特定描述的特征、結(jié)構(gòu)或特性。因此,對這樣短語的使用可指的是一個以上的實(shí)施例。 而且,在一個或多個實(shí)施例中,可以用任何合適的方式組合所描述的特征、結(jié)構(gòu)或特性。
      [0071]然而,本領(lǐng)域技術(shù)人員會認(rèn)識到本實(shí)施例也可在沒有一個或多個具體細(xì)節(jié)的情況 下實(shí)施,或者采用其他方法、資源、材料等來實(shí)現(xiàn)。在其他情況中,僅為了避免模糊實(shí)施例的 各方面,未詳細(xì)示出和描述公知的結(jié)構(gòu)、資源或操作。
      [0072]雖然示出和描述了示例實(shí)施例和應(yīng)用,但是應(yīng)該理解本實(shí)施例不限于上述精確配 置和資源??梢詫Υ颂幑_的方法和系統(tǒng)的排列、操作以及細(xì)節(jié)作出對本領(lǐng)域技術(shù)人員顯 而易見的各種修改、改變和變化,而不背離所要求保護(hù)的本實(shí)施例的范圍。
      【權(quán)利要求】
      1.一種提供標(biāo)識符的計算機(jī)實(shí)現(xiàn)的方法,所述方法包括: 在群集的第一服務(wù)器處接收對第一文件的第一請求; 生成與所述文件相關(guān)聯(lián)的第一標(biāo)識符,其中所述第一標(biāo)識符包括: 所述第一標(biāo)識符的第一部分中標(biāo)識所述第一服務(wù)器的節(jié)點(diǎn)標(biāo)識符; 在所述第一標(biāo)識符的第二部分中的第一主要序列號,該主要序列號在第一數(shù)字范圍內(nèi);以及 在所述第一標(biāo)識符的第三部分中的第一次要序列號,該次要序列號在第二數(shù)字范圍內(nèi);以及 發(fā)送所述第一標(biāo)識符。
      2.如權(quán)利要求1所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述方法還包括: 在所述群集的所述第一服務(wù)器處接收對第二文件的第二請求; 確定所述第一標(biāo)識符中使用的所述第一次要序列號不在距所述第二數(shù)字范圍的末尾的第一位置處;
      生成與所述第二文件相關(guān)聯(lián)的第二標(biāo)識符,其中所述第二標(biāo)識符包括: 在所述第二標(biāo)識符的第一部分中的所述節(jié)點(diǎn)標(biāo)識符; 在所述第二標(biāo)識符的第二部分中的所述主要序列號; 在所述第二標(biāo)識符的第三部分中的經(jīng)遞增的次要序列號;以及發(fā)送所述第二標(biāo)識符。
      3.如權(quán)利要求1所述的計算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述方法還包括: 在所述群集的所述第一服務(wù)器處接收對第二文件的第二請求; 確定所述主要序列號應(yīng)被遞增; 生成與所述第二文件相關(guān)聯(lián)的第二標(biāo)識符,其中所述第二標(biāo)識符包括: 在所述第二標(biāo)識符的第一部分中的所述節(jié)點(diǎn)標(biāo)識符; 在所述第二標(biāo)識符的第二部分中的經(jīng)遞增的主要序列號; 在所述第二標(biāo)識符的第三部分中的次要序列號,該次要序列號在所述第二數(shù)字范圍的開始處;以及 發(fā)送所述第二標(biāo)識符。
      4.如權(quán)利要求3所述的方法,其特征在于,所述確定包括確定所述第一標(biāo)識符中使用的次要序列號在距所述第二數(shù)字范圍的末尾的預(yù)定位置處。
      5.如權(quán)利要求3所述的方法,其特征在于,所述確定包括確定所述群集上的群集服務(wù)已因所述生成所述第一標(biāo)識符而被重啟。
      6.如權(quán)利要求3所述的方法,其特征在于,還包括,在所述確定后: 向群集服務(wù)發(fā)送保留所述經(jīng)遞增的主要序列號的請求; 從所述群集服務(wù)器接收指示所述經(jīng)遞增的主要序列號已被保留的響應(yīng)。
      7.一種包括計算機(jī)可執(zhí)行指令的計算機(jī)可讀存儲介質(zhì),所述指令在由處理器執(zhí)行時執(zhí)行向客戶機(jī)提供標(biāo)識符的方法,所述方法包括: 生成與文件相關(guān)聯(lián)的第一 64位標(biāo)識符,其中所述第一標(biāo)識符包括: 在所述第一 64位標(biāo)識符的第一部分中的節(jié)點(diǎn)標(biāo)識符; 在所述第一 64位標(biāo)識符的第二部分中的第一主要序列號,該主要序列號在第一數(shù)字范圍內(nèi);以及在所述第一 64位標(biāo)識符的第三部分中的第一次要序列號,該次要序列號在第二數(shù)字范圍內(nèi);以及 將所述第一 64位標(biāo)識符提供給客戶機(jī)。
      8.如權(quán)利要求7所述的計算機(jī)可讀存儲介質(zhì),其特征在于,所述方法還包括: 將會話標(biāo)識符提供給客戶機(jī)以建立用于交換信息的會話,其中所述會話標(biāo)識符包括節(jié)點(diǎn)標(biāo)識符。
      9.如權(quán)利要求8所述的計算機(jī)可讀存儲介質(zhì),其特征在于,所述會話是使用服務(wù)器消息塊(SMB)協(xié)議的版本來建立的,并且所述會話用于將文件信息提供給所述客戶機(jī)。
      10.一種用于向客戶機(jī)提供文件信息的計算機(jī)系統(tǒng),所述系統(tǒng)包括: 群集中的多個服務(wù)器,其中所述多個服務(wù)器中的至少一部分被配置為: 建立與客戶機(jī)的會話以提供對存儲在所述群集上的文件信息的訪問; 接收來自客戶機(jī)的訪問第 一文件的第一請求; 響應(yīng)于接收所述第一請求,生成與所述第一文件相關(guān)聯(lián)的第一 64位標(biāo)識符,其中所述第一 64位標(biāo)識符包括: 在所述第一 64位標(biāo)識符的第一部分中的服務(wù)器標(biāo)識符; 在所述第一 64位標(biāo)識符的第二部分中的第一主要序列號,該主要序列號在第一數(shù)字范圍內(nèi);以及 在所述第一 64位標(biāo)識符的第三部分中的第一次要序列號,該次要序列號在第二數(shù)字范圍內(nèi);以及 將所述第一 64位標(biāo)識符提供給客戶機(jī)。
      【文檔編號】G06F15/16GK103460203SQ201280016717
      【公開日】2013年12月18日 申請日期:2012年4月6日 優(yōu)先權(quán)日:2011年4月7日
      【發(fā)明者】D·M·克魯斯, D·E·法薩拉 申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1