基于令牌的文件操作的制作方法
【專利摘要】描述了允許基于令牌的文件操作的各實施例??蛻魴C可以請求根據(jù)文件訪問協(xié)議格式化的特定卸載文件操作。文件操作可以是卸載讀出操作或卸載寫入操作。在卸載讀出操作中,客戶機請求將數(shù)據(jù)從所存儲的文件或其部分中邏輯地讀出。作為響應(yīng),文件服務(wù)器提供響應(yīng),該響應(yīng)包括表示邏輯地讀出的數(shù)據(jù)的令牌。在某些實施例中,如果出于某種原因,文件服務(wù)器無法提供表示所請求的全部數(shù)據(jù)的令牌,則它可以返回具有表示少于該全部的數(shù)據(jù)的令牌的響應(yīng)。該令牌隨后可被客戶機在后續(xù)的卸載寫入操作中使用。在各實施例中,令牌表示可以跨各服務(wù)器和客戶機可靠和安全地使用的不可變數(shù)據(jù)。
【專利說明】基于令牌的文件操作
[0001]背景
[0002]在復(fù)制大量數(shù)據(jù)的傳統(tǒng)方式中,將數(shù)據(jù)從源文件讀出到本地RAM中,并隨后將這些相同的字節(jié)從RAM寫回到目的地文件。這個過程需要數(shù)據(jù)行進包括本地RAM在內(nèi)的路線,即使該復(fù)制的完成沒有固有地要求該數(shù)據(jù)曾經(jīng)處于本地RAM中。當在最終的源和最終的目的地之間存在該數(shù)據(jù)可采用的可信的較快速路線時,通過本地RAM的彎路不是必須的。這個問題在可信的較快速路線與經(jīng)由本地RAM的路線之間的速度差異較大時更為嚴重。當前,某些文件服務(wù)器(諸如,服務(wù)器消息塊(SMB)文件服務(wù)器)允許客戶機將源文件的各范圍復(fù)制到目的地文件的各范圍中。然而,存在大量限制,諸如關(guān)于在文件服務(wù)器上打開的各文件之間復(fù)制數(shù)據(jù)的限制。同樣,SMB文件服務(wù)器僅允許客戶機發(fā)出指定源范圍和目的地范圍兩者的單個命令。通常,客戶機代碼結(jié)構(gòu)將被設(shè)置為單獨地使用讀出和寫入來實現(xiàn)復(fù)制,這與SMB文件服務(wù)器提供的用于復(fù)制數(shù)據(jù)范圍的當前方式不一致。
[0003]各實施例正是對于這些和其它考慮事項而作出的。而且,盡管討論了相對具體的問題,但是應(yīng)當理解,各實施例不應(yīng)被限于解決本【背景技術(shù)】中所標識的具體問題。
[0004]概述
[0005]提供本概述來以簡化形式介紹將在以下詳細描述部分中進一步描述的一些概念。本概述并不旨在標識出所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。
[0006]描述了允許基于令牌的文件操作的各實施例。這些實施例供客戶機與文件服務(wù)器建立會話。該會話可以使用任何文件訪問協(xié)議來建立,一個示例包括服務(wù)器消息塊(SMB)協(xié)議。在建立了會話之后,客戶機可以請求根據(jù)該文件訪問協(xié)議來格式化的專用卸載文件操作。該文件操作可以是讀出操作或?qū)懭氩僮?。在卸載讀出操作中,客戶機請求將從文件中讀出的文件數(shù)據(jù)存儲在該文件服務(wù)器可訪問的文件存儲系統(tǒng)中。回過來,文件服務(wù)器將提供包括表示該文件數(shù)據(jù)的令牌的響應(yīng)。在某些實施例中,在出于某些原因文件服務(wù)器無法提供表示全部文件數(shù)據(jù)的令牌的情況下,它可以返回具有表示少于全部文件數(shù)據(jù)的令牌的響應(yīng)。令牌隨后可被客戶機用在后續(xù)的卸載寫入操作或(例如,隨后獲取該令牌所表示的數(shù)據(jù)應(yīng)變得必要的)其他相關(guān)操作中。在各實施例中,這些令牌表示可以跨各服務(wù)器和客戶機可靠并安全地使用的不可變數(shù)據(jù)。
[0007]各實施例可被實現(xiàn)為計算機進程、計算系統(tǒng)、或者諸如計算機程序產(chǎn)品或計算機可讀介質(zhì)等制品。計算機程序產(chǎn)品可以是計算機系統(tǒng)可讀并編碼了用于執(zhí)行計算機進程的指令的計算機程序的計算機存儲介質(zhì)。計算機程序產(chǎn)品還可以是計算系統(tǒng)可讀并編碼了用于執(zhí)行計算機過程的指令的計算機程序的載體上的傳播信號。
[0008]附圖簡述
[0009]參考以下附圖描述非限制性和非窮盡的實施例。
[0010]圖1示出了可用于實現(xiàn)各實施例的系統(tǒng)。
[0011]圖2示出了根據(jù)某些實施例的使用文件訪問協(xié)議來參與基于令牌的文件操作的各客戶機和服務(wù)器的框圖。[0012]圖3示出了根據(jù)某些實施例的用于處理卸載文件操作的操作流程。
[0013]圖4示出了根據(jù)某些實施例的用于處理卸載讀出請求的操作流程。
[0014]圖5示出了根據(jù)某些實施例的用于處理卸載寫入請求的操作流程。
[0015]圖6示出了根據(jù)某些實施例的用于請求卸載文件操作的操作流程。
[0016]圖7示出了適于實現(xiàn)各實施例的計算環(huán)境的框圖。
[0017]詳細描述
[0018]以下將參考形成本發(fā)明一部分并示出各具體示例性實施例的附圖更詳盡地描述各個實施例。然而,各實施例可以以許多不同的形式來實現(xiàn),并且不應(yīng)將其解釋為限制此處所闡述的各實施例;相反地,提供這些實施例以使得本公開變得透徹和完整,并且將這些實施例的范圍完全傳達給本領(lǐng)域普通技術(shù)人員。各實施例可按照方法、系統(tǒng)或設(shè)備來實施。因此,這些實施例可采用硬件實現(xiàn)形式、全軟件實現(xiàn)形式或者結(jié)合軟件和硬件方面的實現(xiàn)形式。因此,以下詳細描述并非是限制性的。
[0019]圖1示出了可用于實現(xiàn)某些實施例的系統(tǒng)100。系統(tǒng)100包括客戶機102和104以及服務(wù)器106。客戶機102和104通過網(wǎng)絡(luò)108與服務(wù)器106通信。服務(wù)器106存儲通過客戶機102和104上的應(yīng)用來訪問的信息??蛻魴C102和104建立與服務(wù)器106的會話以訪問該服務(wù)器106上的信息。盡管在圖1中,僅有客戶機102和104被示為與服務(wù)器106通信,但是在其他實施例中,可以存在兩個以上客戶機訪問來自服務(wù)器106的信息。
[0020]在各實施例中,客戶機102和104上的各應(yīng)用請求來自文件系統(tǒng)的對該應(yīng)用透明的文件信息。這些文件信息是從服務(wù)器106上的文件系統(tǒng)中獲取的。在一實施例中,服務(wù)器106上的這樣的文件系統(tǒng)是遠程文件系統(tǒng)。在另一實施例中,服務(wù)器106上的文件系統(tǒng)是分布式文件系統(tǒng)。根據(jù)此處所公開的各實施例可以使用多種類型的文件系統(tǒng),而不背離本公開的精神和范圍。此外,雖然未被示出,但在某些實施例中,取代單個服務(wù)器106,該服務(wù)器可以是例如多個服務(wù)器中作為服務(wù)器群集的一部分的一個服務(wù)器。在其他實施例中,該服務(wù)器可以是多個服務(wù)器中不作為服務(wù)器群集的一部分的一個服務(wù)器。多個文件服務(wù)器在這樣的實施例中為客戶機102和104提供信息(例如文件信息)的冗余性和高可靠性。
[0021]在一個實施例中,客戶機102和104可以發(fā)送要存儲在服務(wù)器106上的遠程文件系統(tǒng)中的各文件執(zhí)行的多個文件操作。客戶機102和104使用文件訪問協(xié)議來格式化對要對這些文件執(zhí)行的文件操作的請求。文件訪問協(xié)議可以是任何合適的協(xié)議,諸如網(wǎng)絡(luò)文件系統(tǒng)(NFS)或服務(wù)器消息塊(SMB)協(xié)議的一個版本。根據(jù)某些實施例,客戶機除了發(fā)送常規(guī)的讀出文件操作和寫入文件操作之外,還可以請求卸載讀出操作和卸載寫入操作,這些操作是基于令牌的操作。如以下更詳細描述的,卸載文件操作允許大量數(shù)據(jù)被客戶機102和104移動,而無需通過網(wǎng)絡(luò)將實際的數(shù)據(jù)轉(zhuǎn)移到客戶機102或104任一上的本地RAM中。
[0022]為了示出一個實施例,客戶機102可以發(fā)送建立與服務(wù)器106的會話的請求。例如,客戶機102可以使用服務(wù)器消息塊(SMB)協(xié)議的一個版本建立與服務(wù)器106的會話以訪問存儲在服務(wù)器106上的文件系統(tǒng)。會話的建立可以涉及對在客戶機102和服務(wù)器106之間傳輸?shù)亩鄠€協(xié)商請求和響應(yīng)的交換。在SMB協(xié)議的各版本中,存在專門定義的協(xié)商分組,該專門定義的協(xié)商分組被用來協(xié)商會話期間將要使用的協(xié)議的確切版本以及就客戶機(例如,102)和服務(wù)器(例如,106) 二者的能力對彼此作廣告。在一個實施例中,協(xié)商分組可以包括服務(wù)器106可以處理基于令牌的文件操作(B卩,卸載讀出和卸載寫入命令)的指示。這允許客戶機知道它可以在需要的情況下請求來自服務(wù)器的卸載文件操作。繼續(xù)以上的示例,在建立了會話之后,客戶機102可以將根據(jù)SMB協(xié)議格式化的消息發(fā)送給服務(wù)器106,以便在服務(wù)器106上的文件系統(tǒng)中打開文件。該服務(wù)器可以用針對該文件打開的句柄來作出響應(yīng)??蛻魴C102可以隨后請求根據(jù)SMB協(xié)議格式化的卸載讀出操作,以請求來自該文件的文件數(shù)據(jù)。在一實施例中,客戶機以卸載讀出操作來請求來自該文件的一部分的數(shù)據(jù)。該卸載讀出操作請求是基于令牌的讀出操作。
[0023]響應(yīng)于來自客戶機102的請求,服務(wù)器106發(fā)送根據(jù)SMB協(xié)議來格式化的、具有表示客戶機102所請求的文件數(shù)據(jù)的令牌的響應(yīng)。在某些實施例中,服務(wù)器106可以負責生成該令牌,并確保該令牌跨來自其他客戶機(諸如,可能請求同一文件數(shù)據(jù)的客戶機104 )的任何請求一致地表示該文件數(shù)據(jù)。在其他實施例中,文件服務(wù)器可以將來自客戶機的任何請求傳遞到底層的文件存儲系統(tǒng)。在這些實施例中,底層的文件存儲系統(tǒng)負責生成表示客戶機102所請求的文件數(shù)據(jù)的令牌。在任一實施例中,服務(wù)器106將向客戶機102發(fā)送具有令牌的響應(yīng)。在生成令牌時,各實施例假設(shè)例如即使在用于生成令牌的源文件的范圍不連續(xù)的情況下,也可以創(chuàng)建令牌。在這樣的實施例中,來自這樣的源范圍的數(shù)據(jù)在邏輯上被連接成該令牌所表示的數(shù)據(jù)的單個邏輯范圍。在某些實施例中,各實現(xiàn)可以在本質(zhì)上使令牌與各特定源范圍關(guān)聯(lián),其中這樣的源范圍可以不彼此連續(xù)。
[0024]該令牌表示不可變數(shù)據(jù),即客戶機102所表示的文件數(shù)據(jù)。因此,客戶機102可以使用服務(wù)器106所返回的令牌來執(zhí)行其他文件操作。例如,在稍后的時間點,客戶機102可以使用該令牌來將數(shù)據(jù)寫入到另一文件中。在這個示例中,客戶機102可以請求根據(jù)SMB協(xié)議來格式化的卸載寫入操作,其中卸載寫入操作也是基于令牌的文件操作。卸載寫入操作可以包括之前向客戶機102提供的令牌。卸載寫入操作可以請求將該令牌所表示的文件數(shù)據(jù)寫入到服務(wù)器106上的另一文件中。在一實施例中,響應(yīng)于接收到該請求,服務(wù)器106將隨后通過將該令牌所表示的文件數(shù)據(jù)寫入到服務(wù)器106上的其他文件中來處理該請求。在另一實施例中,響應(yīng)于接收到該請求,服務(wù)器106將首先使接收到的令牌生效,并且如果令牌有效,服務(wù)器106將隨后將該令牌所表示的文件數(shù)據(jù)寫入到服務(wù)器106上的其他文件中。如上所述,在這些令牌由底層的文件存儲系統(tǒng)或較低層生成的那些實施例中,服務(wù)器106將僅將卸載文件請求傳遞到底層的文件存儲系統(tǒng),該底層的文件存儲系統(tǒng)隨后將處理該請求并將文件數(shù)據(jù)寫入到其他文件中。服務(wù)器106將隨后向客戶機102發(fā)送指示卸載寫入是否成功的響應(yīng)。盡管提及了“文件”數(shù)據(jù),但其他實施例規(guī)定令牌表示任何類型的數(shù)據(jù)。例如,各實施例規(guī)定令牌已從任何存儲容器(諸如,文件、卷、盤、卷快照、盤快照、團塊存儲等)中被獲取。術(shù)語“文件數(shù)據(jù)”在此出于說明的目的被使用,而非旨在進行限制。此外,盡管前面討論的實施例規(guī)定卸載寫入操作請求將該令牌所表示的文件數(shù)據(jù)寫入到服務(wù)器106上的另一文件中,但另一實施例規(guī)定卸載寫入操作請求將該令牌所表示的文件數(shù)據(jù)的一部分寫入到服務(wù)器106上的另一文件中。
[0025]此外,盡管前面討論的各實施例規(guī)定卸載寫入操作包括之前向客戶機102提供的令牌,其他實施例規(guī)定客戶機102將公知的令牌用作具有卸載寫入操作的令牌。例如,諸如零令牌之類的公知令牌可用于在沒有任何在前的相應(yīng)卸載讀出的情況下寫入數(shù)據(jù)(諸如,零)。
[0026]在某些實施例中,文件服務(wù)器106可能能夠為客戶機所請求的所有文件數(shù)據(jù)創(chuàng)建令牌。這可以例如在另一客戶機(諸如,客戶機104)在客戶機102所請求的文件數(shù)據(jù)范圍的某一部分上具有鎖的情況下發(fā)生。在這些實施例中,服務(wù)器106可以發(fā)送經(jīng)截短的響應(yīng)。即,包括表示客戶機102所請求的文件數(shù)據(jù)的僅一部分的令牌的響應(yīng)。在各實施例中,該響應(yīng)因此指示該令牌表示少于卸載讀出請求中所請求的所有第一數(shù)據(jù)。在某些實施例中,該令牌可表示不連續(xù)的數(shù)據(jù)范圍。然而,在其他實施例中,令牌可以表示連續(xù)的數(shù)據(jù)范圍,但該令牌可能少于客戶機102在卸載讀出請求中所請求的文件數(shù)據(jù)。在這些實施例中,服務(wù)器響應(yīng)將包括使該令牌所表示的文件數(shù)據(jù)的部分在經(jīng)截短的響應(yīng)中發(fā)送的指示。
[0027]盡管某些實施例規(guī)定了經(jīng)截短的卸載讀出響應(yīng),但本公開的各實施例還規(guī)定了經(jīng)截短的卸載寫入。如上所述,卸載寫入操作可以請求將相關(guān)聯(lián)的令牌所表示的數(shù)據(jù)寫入到服務(wù)器(例如,服務(wù)器106)上的另一文件中。響應(yīng)于接收到該請求,服務(wù)器106將隨后通過將該令牌所表示的文件數(shù)據(jù)寫入到服務(wù)器106上的其他文件中來處理該請求。在各實施例中,服務(wù)器106無法將該令牌所表示的所有數(shù)據(jù)寫入到該其他文件中。結(jié)果,在各實施例中,卸載寫入可以被截短,其中例如“LengthWritten (所寫入的長度)”小于請求寫入的長度。例如,尺寸限制可以限制將令牌所表示的所有數(shù)據(jù)寫入到其他文件中的能力。在另一實施例中,在要被寫入的文件的一部分上的鎖可以防止文件的該部分被寫入。處理錯誤或其他類型的錯誤也可以導(dǎo)致令牌所表示的數(shù)據(jù)的各部分沒有被寫入到其他文件中。此外,該令牌可能被部分破壞或者是部分無效的,在該令牌中,服務(wù)器106無法將該數(shù)據(jù)的被破壞的/無效的部分成功地寫入到其他文件中。根據(jù)此處所公開的各實施例,其他理由可以防止將令牌所表示的所有數(shù)據(jù)寫入到其他文件中,而不背離本公開的精神和范圍。在涉及經(jīng)截短的卸載寫入的各實施例中,可以將指示數(shù)據(jù)的一部分未被寫入到其他文件中的經(jīng)截短的卸載寫入響應(yīng)從服務(wù)器106發(fā)送到客戶機102。在各實施例中,這樣的指示可以通過對例如標志或其他指示符的使用而出現(xiàn)。此外,在各實施例中,經(jīng)截短的卸載寫入響應(yīng)指示實際上寫入了多少數(shù)據(jù)。
[0028]前述描述僅僅是圖1所示的實施例可以如何操作的一個示例。如以下將更詳細地描述的,各實施例可以包括不同的步驟或操作。這些實施例可以使用任何合適的軟件或硬件組件來實現(xiàn)。
[0029]現(xiàn)在轉(zhuǎn)到圖2,圖2示出了軟件環(huán)境200的框圖,軟件環(huán)境200具有客戶機202、客戶機204、服務(wù)器206和服務(wù)器208。還示出了存儲文件信息的文件存儲210。
[0030]如圖2中所示,客戶機202和客戶機204各自包括可以請求文件信息的應(yīng)用。該應(yīng)用可以是例如文字處理應(yīng)用、電子表格應(yīng)用、瀏覽器應(yīng)用或者請求對文件的訪問的任何其他應(yīng)用。在圖2中所示的實施例中,這些文件位于存儲在文件存儲210中的文件系統(tǒng)中。盡管根據(jù)此處所公開的一個實施例,圖2示出文件存儲210為服務(wù)器206和208提供共享的存儲能力,其他實施例具有其他存儲裝置。例如,根據(jù)各實施例,服務(wù)器206和208可各自具有它們自己的存儲裝置(分離的或者是附連的)。在又一些實施例中,服務(wù)器206和服務(wù)器208可各自具有它們自己的存儲裝置,并且通過對文件存儲210的使用而具有共享存儲能力。根據(jù)此處所公開的各實施例可以使用多種類型的存儲,而不背離本公開的精神和范圍??蛻魴C202和客戶機204各自還包括把對文件的請求從這些應(yīng)用重定向到文件服務(wù)器的重定向器,該文件服務(wù)器提供對遠程文件系統(tǒng)的訪問。重定向器使用文件訪問協(xié)議與文件服務(wù)器通信。在一些實施例中,文件訪問協(xié)議可以是NFS或SMB協(xié)議的一個版本。出于說明的目的,將在假設(shè)客戶機202和客戶機204中的重定向器使用SMB協(xié)議的一個版本(諸如,SMB2.0)與各文件服務(wù)器通信的情況下描述圖2。然而,各實施例并不限于使用SMB協(xié)議。
[0031]服務(wù)器206和208在圖2中被示為各自包括文件服務(wù)器。如上所述,文件服務(wù)器可以使用SMB協(xié)議的一個版本來與客戶機202和客戶機204上的重定向器通信。服務(wù)器206和208中的每一個還包括生成表示文件數(shù)據(jù)的各令牌的令牌生成器模塊。此外,文件存儲210也包括用于生成表示文件數(shù)據(jù)的各令牌的令牌生成器模塊。
[0032]使用SMB協(xié)議在客戶機和服務(wù)器之間建立會話開始于重定向器(諸如客戶機202上的重定向器)向文件服務(wù)器(諸如服務(wù)器206)發(fā)送協(xié)商請求。重定向器和文件服務(wù)器交換協(xié)商分組以協(xié)商將用于該會話的SMB的版本。此外,在協(xié)商期間,還可以交換能力。在一個實施例中,服務(wù)器206可以在從文件服務(wù)器發(fā)送到客戶即的協(xié)商響應(yīng)分組中包括能力標志,以向客戶機指示該文件服務(wù)器支持對卸載文件操作的使用。在其他實施例中,客戶機202和服務(wù)器206可以簡單地協(xié)商SMB協(xié)議的版本,應(yīng)理解,該版本包括對卸載文件操作的使用的支持。在又一些實施例中,該協(xié)議的版本支持各卸載文件操作的判定在一卸載文件操作被嘗試時發(fā)生。例如,客戶機202可請求卸載讀出(或卸載寫入)操作。如果服務(wù)器206支持卸載文件操作,則服務(wù)器206將繼續(xù)處理該請求。如果服務(wù)器206不支持卸載文件操作,則服務(wù)器206將向客戶機202發(fā)送指示所請求的卸載文件操作無法被執(zhí)行的響應(yīng)。例如,在一實施例中,如果服務(wù)器206不支持卸載文件操作,則服務(wù)器206用錯誤消息和/或指示此錯誤消息的標志來響應(yīng)于客戶機202。 [0033]一旦完成該協(xié)商,客戶機202上的重定向器和文件服務(wù)器206就建立會話??蛻魴C重定向器隨后可以向文件服務(wù)器發(fā)送文件訪問請求。在一個實施例中,客戶機202上的重定向器請求對文件的打開。服務(wù)器206向響應(yīng)提供針對該打開的句柄。客戶機202隨后可以使用該句柄來請求卸載讀出操作。在各實施例中,卸載讀出操作是根據(jù)SMB協(xié)議來格式化的。在某些實施例中,通過將卸載讀出操作和卸載寫入操作以與其他文件系統(tǒng)控制命令(FSCTL)相同的方式封裝在SMB2輸入/輸出控制(IOCTL)請求中來使用SMB協(xié)議連接發(fā)送這些命令。以下是在某些實施例中可用于請求卸載讀出操作的結(jié)構(gòu)的示例。
[0034]
typedef struct FSCTL OFFLOAD READ INPUT {
ULONG Size;
ULONG Flags;
ULONG TokenTimeToLive; //在幾.:?秒內(nèi)
ULONG Reserved;
ULONGLONG FileOffset;
ULONGLONG CopyLength;
}FSCTLOFFLOADREADINPUT,
*P1 SC rL_OFFLOAD_READ_INPlJT;[0035]如以上所指示的,客戶機用來請求卸載讀出操作的結(jié)構(gòu)可包括多個字段。在各實施例中,它可包括服務(wù)器的存活時間建議。換言之,該字段可以指示該服務(wù)器將發(fā)送的令牌的建議壽命。它還包括客戶機所請求的文件數(shù)據(jù)的文件偏移和復(fù)制長度。
[0036]響應(yīng)于該請求,服務(wù)器206將發(fā)送回一響應(yīng)。以下是可用于對卸載讀出操作作出
響應(yīng)的結(jié)構(gòu)的示例。
[0037]
【權(quán)利要求】
1.一種提供基于令牌的文件操作的計算機實現(xiàn)的方法,所述方法包括: 在文件服務(wù)器處接收連接到所述文件服務(wù)器以訪問文件系統(tǒng)中的信息的第一請求; 從所述文件服務(wù)器處發(fā)送第一響應(yīng),該響應(yīng)建立與客戶機的會話,以允許對所述文件系統(tǒng)中的信息的訪問; 在所述文件服務(wù)器處接收打開所述文件系統(tǒng)中的文件以訪問來自所述文件的文件信息的第二請求; 響應(yīng)于接收所述第二請求,所述文件服務(wù)器向所述客戶機發(fā)送授予對所述文件的訪問權(quán)的第二響應(yīng); 在所述文件服務(wù)器處接收對第一數(shù)據(jù)從所述文件的一部分中的卸載讀出的第三請求,所述第三請求是根據(jù)文件訪問協(xié)議來格式化的;以及 響應(yīng)于接收到所述第三請求,所述文件服務(wù)器發(fā)送具有表示所述第一數(shù)據(jù)的令牌的第三響應(yīng),其中所述第一數(shù)據(jù)是從所述文件的所述部分中邏輯地讀出的,并且其中所述第三響應(yīng)是根據(jù)所述文件訪問協(xié)議來格式化的。
2.如權(quán)利要求1所述的方法,其特征在于,所述第三請求指示要從所述文件中讀出的第一數(shù)據(jù)以及要從所述文件中讀出的第二數(shù)據(jù),并且所述第三響應(yīng)包括表示所述第一數(shù)據(jù)的令牌和表示所述第二數(shù)據(jù)的第二令牌。
3.如權(quán)利要求1所述 的方法,其特征在于,所述第三請求指示第一文件的第一部分以及第二文件的第二部分,且所述第三響應(yīng)包括表示從所述第一文件的所述第一部分邏輯地讀出的第一數(shù)據(jù)的令牌以及表示從所述第二文件的所述第二部分邏輯地讀出的第二數(shù)據(jù)的第二令牌。
4.如權(quán)利要求1所述的方法,其特征在于,還包括: 在所述文件服務(wù)器處接收對所述第一數(shù)據(jù)的所請求部分到第二文件的卸載寫入的第四請求,所述第四請求包括所述令牌并且是根據(jù)所述文件訪問協(xié)議來格式化的;以及響應(yīng)于接收所述第四請求,所述文件服務(wù)器: 將所述第一數(shù)據(jù)的所請求部分寫入到所述第二文件;以及 發(fā)送指示所述第一數(shù)據(jù)的所請求部分被寫入到所述第二文件的第四響應(yīng),所述第四響應(yīng)是根據(jù)所述文件訪問協(xié)議來格式化的。
5.如權(quán)利要求1所述的方法,其特征在于,還包括: 在所述文件服務(wù)器處接收對所述第一數(shù)據(jù)的所請求部分到第二文件的卸載寫入的第四請求,所述第四請求包括所述令牌并且是根據(jù)所述文件訪問協(xié)議來格式化的;以及響應(yīng)于接收所述第四請求,所述文件服務(wù)器: 將所述第一數(shù)據(jù)的所請求部分的第一部分寫入到所述第二文件,其中所請求部分的第一部分小于所述第一數(shù)據(jù)的所請求部分的全部;以及 發(fā)送指示所述第一數(shù)據(jù)的所請求部分的第一部分被寫入到所述第二文件的第四響應(yīng),所述第四響應(yīng)是根據(jù)所述文件訪問協(xié)議來格式化的。
6.一種包括計算機可執(zhí)行指令的計算機可讀存儲介質(zhì),所述指令在由處理器執(zhí)行時執(zhí)行一種請求基于令牌的文件操作的方法,所述方法包括: 由客戶機發(fā)送連接到文件服務(wù)器以訪問文件系統(tǒng)中的信息的第一請求; 接收第一響應(yīng),該響應(yīng)建立與所述客戶機的會話以允許對所述文件信息的訪問;發(fā)送打開所述文件系統(tǒng)中的文件的第二請求; 接收授予對所述文件的訪問權(quán)的第二響應(yīng); 發(fā)送對令牌所表示的數(shù)據(jù)的第一部分到文件的卸載寫入的第三請求,所述第三請求是根據(jù)服務(wù)器消息塊(SMB)協(xié)議的一個版本來格式化的,并包括表示所述數(shù)據(jù)的令牌;以及接收響應(yīng)。
7.如權(quán)利要求6所述的計算機可讀存儲介質(zhì),其特征在于,所述響應(yīng)指示所述數(shù)據(jù)的第二部分被成功地寫入到所述文件,并且其中所述第二部分表示少于所述第一部分中的數(shù)據(jù)的全部。
8.如權(quán)利要求6所述的計算機可讀存儲介質(zhì),其特征在于,還包括: 發(fā)送對第二數(shù)據(jù)從第二文件的一部分中的卸載讀出的第四請求,所述第四請求是根據(jù)SMB協(xié)議的所述版本來格式化的;以及 接收具有表示所述第二數(shù)據(jù)的令牌的第四響應(yīng),所述第四響應(yīng)是根據(jù)SMB協(xié)議的所述版本來格式化的。
9.一種用于允許基于令牌的文件操作的系統(tǒng),所述系統(tǒng)包括: 至少一個服務(wù)器,所述至少一個服務(wù)器包括: 被配置為執(zhí)行計算機可執(zhí)行指令的至少一個處理器; 存儲所述計算機可執(zhí)行指令的至少一個計算機可讀存儲介質(zhì),所述計算機可執(zhí)行指令在被所述至少一個處理器執(zhí)行`時提供: 文件服務(wù)器,所述文件服務(wù)器被配置為: 接收對將數(shù)據(jù)從文件的一部分中卸載讀出的請求,所述請求是根據(jù)服務(wù)器消息塊(SMB)協(xié)議的一個版本來格式化的;以及 響應(yīng)于接收所述請求,所述文件服務(wù)器發(fā)送具有表示所述數(shù)據(jù)的令牌的響應(yīng),所述響應(yīng)是根據(jù)SMB協(xié)議的所述版本來格式化的。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 至少一個客戶機,所述至少一個客戶機包括: 被配置為執(zhí)行計算機可執(zhí)行指令的至少一個處理器; 存儲所述計算機可執(zhí)行指令的至少一個計算機可讀存儲介質(zhì),所述計算機可執(zhí)行指令在被所述至少一個處理器執(zhí)行時: 發(fā)送對將數(shù)據(jù)從所述文件的所述部分中卸載讀出的請求;以及 接收具有表示所述數(shù)據(jù)的所述令牌的所述響應(yīng)。
【文檔編號】G06F15/16GK103733187SQ201280039140
【公開日】2014年4月16日 申請日期:2012年7月19日 優(yōu)先權(quán)日:2011年8月10日
【發(fā)明者】N·R·克里斯滕森, D·L·格林, J·T·平克頓, R·納加, B·S·馬修, J·K·艾塔爾 申請人:微軟公司