欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

到/自計算設(shè)備的存儲介質(zhì)的有效數(shù)據(jù)傳送的制作方法

文檔序號:6540531閱讀:205來源:國知局
專利名稱:到/自計算設(shè)備的存儲介質(zhì)的有效數(shù)據(jù)傳送的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種方法,通過該方法,將數(shù)據(jù)傳送到與計算設(shè)備有關(guān)的存儲介質(zhì)或從與計算設(shè)備有關(guān)的存儲介質(zhì)傳送數(shù)據(jù)。更具體地說,本發(fā)明涉及這樣一種方法,通過該方法,所傳送的數(shù)據(jù)繞過計算設(shè)備的文件系統(tǒng),由此直接拷貝到存儲介質(zhì)上或從存儲介質(zhì)直接拷貝數(shù)據(jù)。因此,在例如計算設(shè)備上的硬盤驅(qū)動器和外部存儲介質(zhì)、網(wǎng)絡(luò)連接等等之間;計算設(shè)備上的RAM及其硬盤驅(qū)動器等等之間傳送數(shù)據(jù)方面等實現(xiàn)更好性能。
背景技術(shù)
在諸如個人計算機等等計算設(shè)備中,通過管理存儲介質(zhì)上的文件的計算設(shè)備上的文件系統(tǒng),將數(shù)據(jù)傳送到與之相關(guān)聯(lián)的存儲介質(zhì)或從與之相關(guān)聯(lián)的存儲介質(zhì)傳送數(shù)據(jù)。特別地,文件系統(tǒng)組織和維護對存儲介質(zhì)的存取,以及處理將數(shù)據(jù)傳送到存儲介質(zhì)或從存儲介質(zhì)傳送數(shù)據(jù)的請求。
在現(xiàn)有技術(shù)中,視具體情況而定,文件系統(tǒng)從存儲介質(zhì)接收將傳送的數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)發(fā)到目的地,或從源接收將傳送的數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)發(fā)到存儲介質(zhì)。然而,通過由此充當中介的文件系統(tǒng),由于部分地傳送數(shù)據(jù)以及每部分要求單獨傳送到文件系統(tǒng)和從文件系統(tǒng)單獨傳送,以及相關(guān)的計算開銷,特別大量的數(shù)據(jù)傳送尤其是處理密集型的。
特別地,在現(xiàn)有技術(shù)中,通常根據(jù)下述步驟,執(zhí)行例如從任何源到計算設(shè)備的硬盤驅(qū)動器的數(shù)據(jù)傳送。預先地,計算設(shè)備上的應(yīng)用程序指示這種計算設(shè)備的文件系統(tǒng)基于數(shù)據(jù)創(chuàng)建硬盤驅(qū)動器上的文件。注意,在完成這一過程時,應(yīng)用程序不必將數(shù)據(jù)源或數(shù)據(jù)大小告知文件系統(tǒng)。此后,應(yīng)用程序從其源獲得第一部分數(shù)據(jù),并將它可能作為轉(zhuǎn)發(fā)緩沖區(qū)的一部分,連同將該第一部分的數(shù)據(jù)寫入硬盤驅(qū)動器的命令一起,傳送到文件系統(tǒng)。通常,硬盤驅(qū)動器包括與文件系統(tǒng)接口的塊驅(qū)動器等等,或與其相關(guān)聯(lián),由此文件系統(tǒng)通過其塊驅(qū)動器與硬盤驅(qū)動器通信。通常,文件系統(tǒng)維護硬盤驅(qū)動器的每個扇區(qū)的扇區(qū)信息,包括該扇區(qū)是否正使用,并且如果是,哪個文件正使用該扇區(qū)。
因此,為將第一部分數(shù)據(jù)寫入硬盤驅(qū)動器,文件系統(tǒng)引用該扇區(qū)信息來確定用于第一部分數(shù)據(jù)的可用扇區(qū),以及編譯包括將用來存儲第一部分數(shù)據(jù)的硬盤驅(qū)動器的扇區(qū)的標識的扇區(qū)列表。如將意識到的,文件系統(tǒng)至少部分地基于第一部分數(shù)據(jù)的大小和每個扇區(qū)的容量,以通常公知的方式編譯扇區(qū)列表。無論如何,文件系統(tǒng)將第一部分數(shù)據(jù)和所編譯的扇區(qū)列表發(fā)送到硬盤驅(qū)動器的塊驅(qū)動器,然后,塊驅(qū)動器以通常公知的方式,根據(jù)扇區(qū)列表將第一部分數(shù)據(jù)存儲在硬盤驅(qū)動器上。
此后,應(yīng)用程序從其源獲得第二部分數(shù)據(jù),并以通常與上述相同的方式,將其連同將第二部分數(shù)據(jù)寫入硬盤驅(qū)動器的命令一起遞送到文件系統(tǒng)。如能意識到的,如有必要,該過程繼續(xù)第三、第四、第五等部分數(shù)據(jù),直到將所有數(shù)據(jù)從其源傳送到硬盤驅(qū)動器為止。注意,當將數(shù)據(jù)從硬盤驅(qū)動器讀到目的地時,該過程是類似的,然而,當然,數(shù)據(jù)在相反方向中通過文件系統(tǒng)。
因此,概括來說,在現(xiàn)有技術(shù)中,首先將寫入硬盤驅(qū)動器等等的每部分數(shù)據(jù)從該數(shù)據(jù)源遞送到文件系統(tǒng),然后從文件系統(tǒng)遞送到硬盤驅(qū)動器,并且同樣地,首先將從硬盤驅(qū)動器等等讀出的每部分數(shù)據(jù)從硬盤驅(qū)動器遞送到文件系統(tǒng),然后從文件系統(tǒng)遞送到該數(shù)據(jù)的目的地。然而,再一次,該過程麻煩且低效,尤其當數(shù)據(jù)量特別大并且所有數(shù)據(jù)都必須通過作為中介的文件系統(tǒng)時。
因此,需要一種方法,通過該方法,能將數(shù)據(jù)從源等等直接遞送到與計算設(shè)備相關(guān)聯(lián)的存儲介質(zhì),諸如硬盤驅(qū)動器等等,而不首先通過該計算設(shè)備的文件系統(tǒng)。同樣地,類似需要一種方法,通過該方法,將數(shù)據(jù)從該存儲介質(zhì)直接遞送到目的地等等,而不首先通過該計算設(shè)備的文件系統(tǒng)。

發(fā)明內(nèi)容
通過本發(fā)明,至少部分地滿足上述需求,在本發(fā)明中,對計算設(shè)備上的應(yīng)用程序提供一種方法,用來將數(shù)據(jù)從源寫入與計算設(shè)備相關(guān)聯(lián)的存儲介質(zhì)。在該方法中,應(yīng)用程序向計算設(shè)備的文件系統(tǒng)發(fā)出應(yīng)用程序命令,其中,應(yīng)用程序命令包括源的標識以及源處的數(shù)據(jù)位置。基于由此維護的空間信息,文件系統(tǒng)為該數(shù)據(jù)分配介質(zhì)上的空間,并編譯將用來存儲數(shù)據(jù)的介質(zhì)的每個部分的標識。然后,文件系統(tǒng)向介質(zhì)的塊驅(qū)動器發(fā)出文件系統(tǒng)命令,其中,文件系統(tǒng)命令包括源的標識以及該源處的數(shù)據(jù)位置,并還包括編譯的列表。塊驅(qū)動器按其標識聯(lián)系源并向其請求其位置處的數(shù)據(jù),以及將該位置處的數(shù)據(jù)從源寫入包括在編譯列表中的介質(zhì)部分。為計算設(shè)備上的應(yīng)用程序也提供相應(yīng)的方法,以便從存儲介質(zhì)讀入目的地。


當結(jié)合附圖閱讀時,將更好理解上述概述和本發(fā)明的實施例的下述詳細描述。為示例說明本發(fā)明的目的,在圖中示出了目前最佳的實施例,然而,應(yīng)理解到,本發(fā)明不限于所示的具體的配置和手段。在圖中圖1是表示通用計算機系統(tǒng)的框圖,其中可以結(jié)合本發(fā)明和/或其部分的的各方面;圖2是表示應(yīng)用程序、文件系統(tǒng)和與計算機相關(guān)聯(lián)的驅(qū)動器的塊驅(qū)動器等等的框圖;以及圖3和4是根據(jù)本發(fā)明的一個實施例,表示由圖2的元件執(zhí)行的、寫入驅(qū)動器(圖3)和從驅(qū)動器讀出(圖4)的關(guān)鍵步驟的流程圖。
具體實施例方式
圖1和下述論述用來提供合適的計算環(huán)境的簡單描述,其中,可以實現(xiàn)本發(fā)明和/或其部分。盡管并非所需,但在由諸如客戶機工作站或服務(wù)器等計算機執(zhí)行的計算機可執(zhí)行指令的,如程序模塊通用上下文中描述本發(fā)明。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。此外,應(yīng)意識到,可以通過其他計算機系統(tǒng)配置,包括手持設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程消費者電子設(shè)備,網(wǎng)絡(luò)PC、小型機、大型機等等來實施本發(fā)明和/或其部分。也可以在由通過通信網(wǎng)絡(luò)鏈接的遠程處理設(shè)備執(zhí)行任務(wù)的分布式計算環(huán)境中實施本發(fā)明。在分布式計算環(huán)境中,程序模塊可以位于本地和遠程存儲器存儲設(shè)備中。
如圖1所示,示例性通用計算系統(tǒng)包括常規(guī)個人計算機120等等,包括處理單元121、系統(tǒng)存儲器122和將包括系統(tǒng)存儲器的各個系統(tǒng)組件耦合到處理單元121的系統(tǒng)總線123。系統(tǒng)總線123可以是包括存儲器總線或存儲器控制器、外圍總線和使用各種總線體系結(jié)構(gòu)的任何一個的局部總線的幾種類型的總線結(jié)構(gòu)的任何一個。系統(tǒng)存儲器包括只讀存儲器(ROM)124和隨機存取存儲器(RAM)125。在ROM 124中存儲基本輸入/輸出系統(tǒng)126(BIOS),它包含諸如在啟動期間有助于在個人計算機120內(nèi)的元件間傳送信息的基本例程。
個人計算機120還可以包括用于從硬盤(未示出)、讀出和向其寫入的硬盤驅(qū)動器127、用于從可移動磁盤129讀出或向其寫入的磁盤驅(qū)動器128、以及用于從可移動光盤131,諸如CD-ROM或其他光介質(zhì)讀出或向其寫入的光盤驅(qū)動器130。硬盤驅(qū)動器127、磁盤驅(qū)動器128和光盤驅(qū)動器130分別通過硬盤驅(qū)動接口130、磁盤驅(qū)動接口133和光盤驅(qū)動接口134連接到系統(tǒng)總線123。驅(qū)動器和它們相關(guān)的計算機可讀介質(zhì)為個人計算機120提供了計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的非易失存儲。
盡管在此所述的示例性環(huán)境采用硬盤、可移動磁盤129和可移動光盤131,應(yīng)意識到,能存儲可由計算機存取的數(shù)據(jù)的其他類型的計算機可讀介質(zhì)也可以用在示例性操作環(huán)境中。這些其他類型的介質(zhì)包括磁帶盒、閃存卡、數(shù)字視頻盤、Bernoulli盒式磁帶、隨機存取存儲器(RAM)、只讀存儲器(ROM)等等。
多個程序模塊可以存儲在硬盤、磁盤129、光盤131、ROM 124或RAM 125中,包括操作系統(tǒng)135、一個或多個應(yīng)用程序136、其他程序模塊137和程序數(shù)據(jù)138。用戶可以通過輸入設(shè)備,諸如鍵盤140和指示設(shè)備142,將命令和信息輸入到個人計算機120。其他輸入設(shè)備(未示出)可以包括麥克風、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其他輸入設(shè)備通常通過耦合到系統(tǒng)總線的串行端口接口146連接到處理單元121,但也可以通過其他接口,諸如并行端口、游戲端口或通用串行總線(USB)連接。監(jiān)視器147或其他類型的顯示設(shè)備也可以經(jīng)接口,諸如視頻適配器148連接到系統(tǒng)總線123。除監(jiān)視器147外,個人計算機通常包括其他外圍輸出設(shè)備(未示出),諸如揚聲器和打印機。圖1的示例性系統(tǒng)還包括主機適配器155、小型計算機系統(tǒng)接口(SCSI)總線156和連接到SCSI總線156的外部存儲設(shè)備162。
使用到一個或多個遠程計算機,諸如遠程計算機149的邏輯連接,個人計算機120可以在聯(lián)網(wǎng)環(huán)境中操作。遠程計算機149可以是另一個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他公用網(wǎng)絡(luò)節(jié)點,并通常包括上文相對于個人計算機120,所描述的許多或全部元件,盡管在圖1中僅示出了存儲器存儲設(shè)備150。圖1中所示的邏輯連接包括局域網(wǎng)(LAN)151和廣域網(wǎng)(WAN)152。這種聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中很常見。
當用在LAN聯(lián)網(wǎng)環(huán)境中時,個人計算機120通過網(wǎng)絡(luò)接口或適配器153連接到LAN 151。當用在WAN聯(lián)網(wǎng)環(huán)境中時,個人計算機120通常包括用于通過廣域網(wǎng)152,諸如因特網(wǎng)建立通信的調(diào)制解調(diào)器154或其他裝置??梢允莾?nèi)部或外部的調(diào)制解調(diào)器154經(jīng)串行端口接口146連接到系統(tǒng)總線123。在聯(lián)網(wǎng)環(huán)境中,相對于個人計算機120或其部分所述的程序模塊可以存儲在遠程存儲器存儲設(shè)備中。將意識到,所示的網(wǎng)絡(luò)連接是示例性的,并且可以使用在計算機間建立通信鏈路的其他裝置。
廣義封裝工具和組件在本發(fā)明的一個實施例中,并且現(xiàn)在轉(zhuǎn)到圖2,將數(shù)據(jù)從其源20復制到諸如受計算設(shè)備14的文件系統(tǒng)12管理的驅(qū)動器等一個或多個存儲介質(zhì)10的任何一個,或從受計算設(shè)備14的文件系統(tǒng)12管理的一個或多個驅(qū)動器10的任何一個復制到其目的地20,而不通過該文件系統(tǒng)12。然后,采用本發(fā)明,應(yīng)用程序16通過將傳送的數(shù)據(jù)的源20或目的地20,如果有必要,連同有關(guān)該數(shù)據(jù)的其他信息一起,告知文件系統(tǒng)12,來實現(xiàn)數(shù)據(jù)的傳送,并且文件系統(tǒng)12編譯由數(shù)據(jù)占用或?qū)⒂蓴?shù)據(jù)占用的驅(qū)動器10中的所有扇區(qū)的列表。此后,文件系統(tǒng)12將所編譯的扇區(qū)列表連同有關(guān)如何訪問源或目的地20的信息發(fā)送到驅(qū)動器10的塊驅(qū)動器18,然后,塊驅(qū)動器18直接與該源或目的地20通信,并且從它們獲得數(shù)據(jù)或?qū)?shù)據(jù)遞送到它們。
注意,計算設(shè)備14可以是具有文件系統(tǒng)12的任何適當?shù)挠嬎阍O(shè)備14,而不背離本發(fā)明的精神和范圍。例如,計算設(shè)備14可以是個人計算機或其類似物、便攜式唱機、個人數(shù)據(jù)助理、服務(wù)器計算機等等。通常,盡管并非必要,計算設(shè)備14具有在其上操作、啟動數(shù)據(jù)傳送的應(yīng)用程序16。
還應(yīng)注意,數(shù)據(jù)的源或目的地20可以是任何適當?shù)脑椿蚰康牡?0,而不背離本發(fā)明的精神和范圍。例如,該源/目的地20可以是計算設(shè)備14上的另一驅(qū)動器10、RAM、閃存等等,或者計算設(shè)備14外,但可由該計算設(shè)備14存取的其他一些存儲介質(zhì)10。
類似地,與計算設(shè)備14相關(guān)聯(lián)的驅(qū)動器10可以是可由計算設(shè)備14的文件系統(tǒng)12存取的任何驅(qū)動器10,包括真實和虛擬驅(qū)動器,而不背離本發(fā)明的精神和范圍。當然,該驅(qū)動器10需要能直接與源/目的地20通信的塊驅(qū)動器18,以便從它們獲得數(shù)據(jù)或?qū)?shù)據(jù)傳送到它們。例如,該驅(qū)動器10可以是硬盤驅(qū)動器或硬盤驅(qū)動器的分區(qū)部分,可以是在RAM或閃存中操作的虛擬驅(qū)動器,可以是文件系統(tǒng)可存取的遠程驅(qū)動器,可以是文件服務(wù)器等等。應(yīng)意識到,該驅(qū)動器10可以在計算設(shè)備14的內(nèi)部或外部,可以是本地或遠程,以及可以在或不在計算設(shè)備14的直接控制下,等等。
在本發(fā)明的一個實施例中,然后現(xiàn)在參考圖3,與計算設(shè)備14相關(guān)聯(lián)的應(yīng)用程序16或其類似物希望在其文件系統(tǒng)12的控制下,將數(shù)據(jù)從源20寫入與計算設(shè)備14相關(guān)聯(lián)的驅(qū)動器10。據(jù)推測,應(yīng)用程序16具有數(shù)據(jù)大小的知識,并且數(shù)據(jù)將作為新創(chuàng)建或修改的文件駐留在驅(qū)動器10上。因此,如果需要,應(yīng)用程序16向文件系統(tǒng)12發(fā)出創(chuàng)建文件的命令(步驟301),并且還基于數(shù)據(jù)的大小向文件系統(tǒng)12告知文件大小(步驟303)。
盡管如用在本發(fā)明中的文件系統(tǒng)12不是數(shù)據(jù)傳送中的中介,然而,文件系統(tǒng)12管理驅(qū)動器10,因此,用來分配其上的空間。因此,在本發(fā)明的一個實施例中,應(yīng)用程序16向文件系統(tǒng)12發(fā)出命令以便開始寫過程(步驟305),其中,開始命令包括源20的標識和該源20處數(shù)據(jù)的位置。作為響應(yīng),并且基于由文件系統(tǒng)12維護的扇區(qū)信息,該文件系統(tǒng)12實際上分配用于該數(shù)據(jù)的空間。特別地,文件系統(tǒng)12基于在步驟303確定的其大小,確定用于整個數(shù)據(jù)的可用扇區(qū),并且編譯包括將用來存儲整個數(shù)據(jù)的驅(qū)動器10的扇區(qū)的標識的扇區(qū)列表(步驟307)。
此后,文件系統(tǒng)向驅(qū)動器10的塊驅(qū)動器18發(fā)出命令以便開始寫過程(步驟309),其中,開始命令包括源20的標識和該源20處數(shù)據(jù)的位置,并還包括所編譯的扇區(qū)列表。盡管要注意,文件系統(tǒng)12實際上不將任何數(shù)據(jù)遞送到塊驅(qū)動器18。重要地,在本發(fā)明的一個實施例中,分局扇區(qū)列表以及來自文件系統(tǒng)12的標識和位置信息,塊驅(qū)動器18在適當時通過按其標識聯(lián)系源20并向其請求和接收在該源20的位置處的整個數(shù)據(jù),以及將該數(shù)據(jù)轉(zhuǎn)發(fā)到如在扇區(qū)列表內(nèi)標識的驅(qū)動器10的扇區(qū),執(zhí)行將該數(shù)據(jù)到驅(qū)動器10的寫入(步驟311)??梢杂萌魏芜m當?shù)姆绞?,?zhí)行通過塊驅(qū)動器18將該數(shù)據(jù)從源20到驅(qū)動器10的寫入,而不背離本發(fā)明的精神和范圍。如可以意識到,該數(shù)據(jù)的寫入是公知的,或?qū)ο嚓P(guān)公眾來說應(yīng)當是顯而易見的,因此,不必在此詳細地闡述。例如,這種寫入可以實現(xiàn)為連續(xù)數(shù)據(jù)流或一系列該數(shù)據(jù)部分。在后一種情況下,應(yīng)意識到盡管以多個部分接收,但直接從源20接收數(shù)據(jù),而不首先通過文件系統(tǒng)12。無論如何,塊驅(qū)動器18在直接從源20接收時,將所寫數(shù)據(jù)存儲在驅(qū)動器10上,而不需要作為中介的文件系統(tǒng)12,并且以通常公知的方式根據(jù)扇區(qū)列表來執(zhí)行該操作。
此時,數(shù)據(jù)實際上從源20寫入驅(qū)動器,并且不必再執(zhí)行任何操作。然而,作為一種管理方式,源20可以通知應(yīng)用程序16寫入過程完成(步驟313),應(yīng)用程序16可以同樣地將向文件系統(tǒng)12發(fā)出寫入過程完成的命令(步驟315),并且文件系統(tǒng)12也可以同樣地向驅(qū)動器10的塊驅(qū)動器18發(fā)出寫入過程完成的命令(步驟317)。因此,應(yīng)用程序16、文件系統(tǒng)12和塊驅(qū)動器18的每一個能管理地關(guān)閉寫入過程和/或執(zhí)行任何所需的完成功能。
與寫入數(shù)據(jù)類似,在本發(fā)明的一個實施例中,應(yīng)用程序16可能希望在文件系統(tǒng)12的控制下,將數(shù)據(jù)從計算設(shè)備14的驅(qū)動器10讀入目的地20。此處,盡管數(shù)據(jù)已經(jīng)作為驅(qū)動器10上的文件或其類似物存在。因此,應(yīng)用程序16向文件系統(tǒng)12發(fā)出打開文件的命令。然而,注意,文件系統(tǒng)12能自己確定文件或數(shù)據(jù)的大小,因此,不必由應(yīng)用程序16告知。
如前所述,盡管文件系統(tǒng)12不是數(shù)據(jù)傳送中的中介,然而文件系統(tǒng)12管理驅(qū)動器10,因此,必須用來定位文件中的數(shù)據(jù)。因此,現(xiàn)在轉(zhuǎn)到圖4,應(yīng)用程序16向文件系統(tǒng)12發(fā)出開始讀過程的命令(步驟401),其中,開始命令包括目的地20的標識,并且如果有必要,包括該目的地20處數(shù)據(jù)的位置,并基于所維護的扇區(qū)信息,文件系統(tǒng)12找出驅(qū)動器上具有該數(shù)據(jù)的扇區(qū)。特別地,文件系統(tǒng)12將用于整個數(shù)據(jù)的扇區(qū)確定為存儲在驅(qū)動器10上,并且編譯包括將用來檢索整個數(shù)據(jù)的驅(qū)動器10的扇區(qū)的標識的扇區(qū)列表(步驟403)。
此后,文件系統(tǒng)12向驅(qū)動器10的塊驅(qū)動器18發(fā)出開始讀過程的命令,其中,開始命令包括目的地20的標識,并且如果有必要,包括該目的地20處數(shù)據(jù)的位置,且還包括扇區(qū)列表(步驟405)。其中,在最后一個扇區(qū)尾前該數(shù)據(jù)已結(jié)束的情況下,開始命令還可以包括數(shù)據(jù)的大小。如前所述,將注意到,文件系統(tǒng)12實際上不從驅(qū)動器10/塊驅(qū)動器18遞送任何數(shù)據(jù)。重要地,在本發(fā)明的一個實施例中,通過扇區(qū)列表、大小和來自文件系統(tǒng)的標識和位置信息,塊驅(qū)動器18通過在適當時按其標識聯(lián)系目的地20并向其遞送其位置處的整個數(shù)據(jù),執(zhí)行該讀取,其中,從驅(qū)動器10上的扇區(qū)獲得該數(shù)據(jù)(步驟407)。然后,可以任何適當?shù)姆绞?,?zhí)行通過塊驅(qū)動器18將該數(shù)據(jù)從驅(qū)動器10到目的地20的讀取,而不背離本發(fā)明的精神和范圍??梢砸庾R到,該數(shù)據(jù)的讀取是公知的,或?qū)ο嚓P(guān)公眾來說是顯而易見的,因此,在此不必詳細闡述。例如,同樣地,根據(jù)扇區(qū)列表,該讀取可以實現(xiàn)為連續(xù)數(shù)據(jù)流或一系列該數(shù)據(jù)部分。在后一種情況下,同樣地應(yīng)注意到,盡管以多個部分遞送,數(shù)據(jù)是通過塊驅(qū)動器18直接遞送到目的地20的,而不首先通過文件系統(tǒng)12。無論如何,當直接從塊驅(qū)動器18接收時,目的地20存儲所讀取的數(shù)據(jù),而不需要以通常公知的方式作為中介的文件系統(tǒng)12。
此時,實際上,數(shù)據(jù)從驅(qū)動器讀取到目的地20,并且不必再執(zhí)行任何操作。然而,同樣地,作為管理方式,目的地20可以通知應(yīng)用程序16讀取過程完成(步驟409),應(yīng)用程序16可以同樣地向文件系統(tǒng)12發(fā)出讀取過程完成的命令(步驟411),并且文件系統(tǒng)12也可以同樣地向驅(qū)動器10的塊驅(qū)動器18發(fā)出讀取過程結(jié)束的命令。因此,同樣地,應(yīng)用程序16、文件系統(tǒng)12和塊驅(qū)動器18的每一個能管理地關(guān)閉讀取過程和/或執(zhí)行任何所需的完成功能。
結(jié)論應(yīng)意識到,在至少一些設(shè)置中,塊驅(qū)動器18和文件系統(tǒng)12兩者都用相同軟件模塊來實現(xiàn)。因此,在實現(xiàn)與該塊驅(qū)動器18和文件系統(tǒng)12有關(guān)的功能的該模塊的部分間,可以存在或不存在內(nèi)部劃分。即使在這種設(shè)置中,仍然可以應(yīng)用如在此所述的本發(fā)明,因為組合的塊驅(qū)動器18/文件系統(tǒng)12仍然直接與源/目的地20通信。因此,同樣地,應(yīng)用程序16能避開數(shù)據(jù)事務(wù),其結(jié)果是在數(shù)據(jù)傳送期間的顯著效率。
對于任何適當?shù)膽?yīng)用程序16、具有塊驅(qū)動器18的驅(qū)動器10、源/目的地20和具有文件系統(tǒng)12的計算設(shè)備14,可以實施本發(fā)明?,F(xiàn)在,應(yīng)意識到,采用本發(fā)明,可以將數(shù)據(jù)從源20或其類似物直接遞送到與計算設(shè)備14相關(guān)聯(lián)的驅(qū)動器10或其類似物,而不首先通過該計算設(shè)備14的文件系統(tǒng)12。同樣,將數(shù)據(jù)從與計算設(shè)備14相關(guān)聯(lián)的驅(qū)動器10或其類似物直接遞送到目的地20或其類似物,而不首先通過該計算設(shè)備14的文件系統(tǒng)12。因此,在傳送時,數(shù)據(jù)不必首先通過文件系統(tǒng)12。注意,使用術(shù)語“直接”要求僅繞過文件系統(tǒng)12,并不要求源/目的地20和驅(qū)動器10間的直接鏈接。如可以意識到,通過避開文件系統(tǒng)12,以較不麻煩的方式執(zhí)行數(shù)據(jù)的傳送,具有顯著增加的效率,尤其是因為應(yīng)用程序16和文件系統(tǒng)12每次傳送僅需要發(fā)出一個開始命令等等。
因此,避免了文件系統(tǒng)12上的管理開銷,并且還避免了應(yīng)用程序16的數(shù)據(jù)傳送中的重復卷入。注意,在此所述的技術(shù)還可以用在文件系統(tǒng)12和塊驅(qū)動器18基本上為一個或相同的情況下,例如在相對簡單的計算設(shè)備14中的情形。即使如此,因為應(yīng)用程序16不必讀取數(shù)據(jù)的每個部分并將其寫入該組合文件系統(tǒng)12/塊驅(qū)動器18,仍可獲得效率。
實現(xiàn)結(jié)合本發(fā)明執(zhí)行的過程所需的程序設(shè)計相對直接,并且對相關(guān)程序設(shè)計公眾來說是顯而易見的。因此,不必附加該程序設(shè)計。所以,可以采用任何特定的程序設(shè)計來實現(xiàn)本發(fā)明,而不背離本發(fā)明的精神和范圍。
在上述描述中,能看出本發(fā)明包括允許以更有效且較不麻煩的方法,將數(shù)據(jù)傳送到驅(qū)動器10或從驅(qū)動器10傳送數(shù)據(jù)的新且有用的方法。該數(shù)據(jù)從源20或其類似物直接遞送到存儲介質(zhì)10,諸如與計算設(shè)備14相關(guān)聯(lián)的硬盤驅(qū)動器等等,而不首先通過該計算設(shè)備14的文件系統(tǒng)12,或直接從該存儲介質(zhì)10遞送到目的地20或其類似物,而不首先通過該計算設(shè)備14的文件系統(tǒng)12。注意,該數(shù)據(jù)也不必涉及應(yīng)用程序16。應(yīng)意識到,在不背離其創(chuàng)造性原理的情況下,可以對上述實施例做出改變。通常,應(yīng)注意到,本發(fā)明不限于所公開的特定實施例,而是意圖覆蓋本發(fā)明的精神和范圍內(nèi)的改進。
權(quán)利要求
1.一種由計算設(shè)備上的應(yīng)用程序用于將數(shù)據(jù)從源寫入與所述計算設(shè)備相關(guān)聯(lián)的存儲介質(zhì)的方法,所述方法包括所述應(yīng)用向所述計算設(shè)備的文件系統(tǒng)發(fā)出一應(yīng)用程序命令,所述應(yīng)用程序命令包括所述源的標識以及所述源處數(shù)據(jù)的位置;所述文件系統(tǒng)基于所維護的空間信息,由此為所述數(shù)據(jù)分配所述介質(zhì)上的空間,并編譯包括將用來存儲數(shù)據(jù)的介質(zhì)的每個部分的標識的列表;所述文件系統(tǒng)向所述介質(zhì)的塊驅(qū)動器發(fā)出一文件系統(tǒng)命令,所述文件系統(tǒng)命令包括所述源的標識和該源處的數(shù)據(jù)的位置,并還包括所編譯的列表;以及所述塊驅(qū)動器按其標識聯(lián)系所述源并向其請求其位置處的數(shù)據(jù),以及將該位置處的數(shù)據(jù)從所述源寫入包括在所編譯的列表中的介質(zhì)的各部分。
2.如權(quán)利要求1所述的方法,其特征在于,還包括所述應(yīng)用向所述文件系統(tǒng)發(fā)出在所述介質(zhì)上創(chuàng)建文件的命令。
3.如權(quán)利要求2所述的方法,其特征在于,還包括所述應(yīng)用將所述數(shù)據(jù)的大小告知所述文件系統(tǒng)。
4.如權(quán)利要求1所述的方法,其特征在于,包括所述文件系統(tǒng)確定用于所有數(shù)據(jù)的介質(zhì)的可用扇區(qū),以及編譯包括將用來存儲數(shù)據(jù)的介質(zhì)的每個扇區(qū)的標識的扇區(qū)列表。
5.如權(quán)利要求1所述的方法,其特征在于,包括所述塊驅(qū)動器將所述數(shù)據(jù)從所述源寫入所述介質(zhì),并繞過所述文件系統(tǒng)。
6.如權(quán)利要求1所述的方法,其特征在于,還包括在所述塊驅(qū)動器完成將所有數(shù)據(jù)從所述源寫入所述介質(zhì)后,所述源通知所述應(yīng)用程序?qū)懭胪瓿?,以及所述?yīng)用程序通知所述文件系統(tǒng)寫入完成,所述文件系統(tǒng)通知所述塊驅(qū)動器寫入完成。
7.一種由計算設(shè)備上的應(yīng)用程序用于將數(shù)據(jù)從與計算設(shè)備相關(guān)聯(lián)的存儲介質(zhì)讀取到目的地的方法,所述方法包括所述應(yīng)用程序向所述計算設(shè)備的文件系統(tǒng)發(fā)出一應(yīng)用程序命令,所述應(yīng)用程序命令包括所述目的地的標識以及所述目的地處數(shù)據(jù)的位置;所述文件系統(tǒng)基于所維護的空間信息,由此定位所述介質(zhì)上具有所述數(shù)據(jù)的空間,并編譯包括存儲所述數(shù)據(jù)的介質(zhì)的每個部分的標識的列表;所述文件系統(tǒng)向所述介質(zhì)的塊驅(qū)動器發(fā)出一文件系統(tǒng)命令,所述文件系統(tǒng)命令包括所述目的地的標識和該目的地處的數(shù)據(jù)的位置,并還包括所編譯的列表;以及所述塊驅(qū)動器按其標識聯(lián)系所述目的地,并在從包括在所編譯的列表中的介質(zhì)的部分讀取所述數(shù)據(jù)后,將其位置處的數(shù)據(jù)遞送到所述目的地。
8.如權(quán)利要求7所述的方法,其特征在于,還包括所述文件系統(tǒng)告知所述塊驅(qū)動器將讀取的數(shù)據(jù)的大小。
9.如權(quán)利要求7所述的方法,其特征在于,包括所述文件系統(tǒng)確定具有所有數(shù)據(jù)的介質(zhì)的扇區(qū),并編譯包括將用來讀取所述數(shù)據(jù)的介質(zhì)的每個扇區(qū)的標識的扇區(qū)列表。
10.如權(quán)利要求7所述的方法,其特征在于,包括所述塊驅(qū)動器將所述數(shù)據(jù)從所述介質(zhì)讀取到所述目的地,并繞過所述文件系統(tǒng)。
11.如權(quán)利要求7所述的方法,其特征在于,還包括在所述塊驅(qū)動器完成將所有數(shù)據(jù)從所述介質(zhì)讀取到所述目的地后,所述目的地通知所述應(yīng)用程序讀取完成,以及所述應(yīng)用通知所述文件系統(tǒng)讀取完成,以及所述文件系統(tǒng)通知所述塊驅(qū)動器讀取完成。
12.一種計算機可讀介質(zhì),具有在其上存儲的、實現(xiàn)由計算設(shè)備上的應(yīng)用程序用于將數(shù)據(jù)從源寫入與所述計算設(shè)備相關(guān)聯(lián)的存儲介質(zhì)的方法的計算機可執(zhí)行指令,所述方法包括所述應(yīng)用程序向所述計算設(shè)備的文件系統(tǒng)發(fā)出一應(yīng)用程序命令,所述應(yīng)用程序命令包括所述源的標識以及所述源處數(shù)據(jù)的位置;所述文件系統(tǒng)基于所維護的空間信息,由此為所述數(shù)據(jù)分配所述介質(zhì)上的空間,并編譯包括將用來存儲數(shù)據(jù)的介質(zhì)的每個部分的標識的列表;所述文件系統(tǒng)向所述介質(zhì)的塊驅(qū)動器發(fā)出一文件系統(tǒng)命令,所述文件系統(tǒng)命令包括所述源的標識和該源處的數(shù)據(jù)的位置,并還包括所編譯的列表;以及所述塊驅(qū)動器按其標識聯(lián)系所述源,并向其請求其位置處的數(shù)據(jù),以及將該位置處的數(shù)據(jù)從所述源寫入包括在所編譯的列表中的介質(zhì)部分。
13.如權(quán)利要求12所述的介質(zhì),其特征在于,所述方法還包括所述應(yīng)用程序向所述文件系統(tǒng)發(fā)出在所述介質(zhì)上創(chuàng)建文件的命令。
14.如權(quán)利要求13所述的介質(zhì),其特征在于,所述方法還包括所述應(yīng)用程序?qū)⑺鰯?shù)據(jù)的大小告知所述文件系統(tǒng)。
15.如權(quán)利要求12所述的介質(zhì),其特征在于,所述方法包括所述文件系統(tǒng)確定用于所有數(shù)據(jù)的介質(zhì)的可用扇區(qū),以及編譯包括將用來存儲數(shù)據(jù)的介質(zhì)的每個扇區(qū)的標識的扇區(qū)列表。
16.如權(quán)利要求12所述的介質(zhì),其特征在于,所述方法包括所述塊驅(qū)動器將所述數(shù)據(jù)從所述源寫入所述介質(zhì),并繞過所述文件系統(tǒng)。
17.如權(quán)利要求12所述的介質(zhì),其特征在于,所述方法還包括,在所述塊驅(qū)動器完成將所有數(shù)據(jù)從所述源寫入所述介質(zhì)后,所述源通知所述應(yīng)用程序?qū)懭胪瓿?,以及所述?yīng)用程序通知所述文件系統(tǒng)寫入完成,以及所述文件系統(tǒng)通知所述塊驅(qū)動器寫入完成。
18.一種計算機可讀介質(zhì),具有在其上存儲的、實現(xiàn)由計算設(shè)備上的應(yīng)用程序用于將數(shù)據(jù)從與計算設(shè)備相關(guān)聯(lián)的存儲介質(zhì)讀取到目的地的方法的計算機可執(zhí)行指令,所述方法包括所述應(yīng)用程序向所述計算設(shè)備的文件系統(tǒng)發(fā)出一應(yīng)用程序命令,所述應(yīng)用程序命令包括目的地的標識以及所述目的地處數(shù)據(jù)的位置;所述文件系統(tǒng)基于所維護的空間信息,由此定位所述介質(zhì)上具有所述數(shù)據(jù)的空間,并編譯包括存儲所述數(shù)據(jù)的介質(zhì)的每個部分的標識的列表;所述文件系統(tǒng)向所述介質(zhì)的塊驅(qū)動器發(fā)出一文件系統(tǒng)命令,所述文件系統(tǒng)命令包括所述目的地的標識和該目的地處的數(shù)據(jù)的位置,并還包括所編譯的列表;以及所述塊驅(qū)動器按其標識聯(lián)系所述目的地,并在從包括在所編譯的列表中的介質(zhì)的部分讀取所述數(shù)據(jù)后,將其位置處的數(shù)據(jù)遞送到所述目的地。
19.如權(quán)利要求18所述的介質(zhì),其特征在于,所述方法還包括所述文件系統(tǒng)將讀取的數(shù)據(jù)的大小告知所述塊驅(qū)動器。
20.如權(quán)利要求18所述的介質(zhì),其特征在于,所述方法包括所述文件系統(tǒng)確定具有所有數(shù)據(jù)的介質(zhì)的扇區(qū),并編譯包括將用來讀取所述數(shù)據(jù)的介質(zhì)的每個扇區(qū)的標識的扇區(qū)列表。
21.如權(quán)利要求18所述的介質(zhì),其特征在于,所述方法包括所述塊驅(qū)動器將所述數(shù)據(jù)從所述介質(zhì)讀取到所述目的地,并繞過所述文件系統(tǒng)。
22.如權(quán)利要求18所述的介質(zhì),其特征在于,所述方法還包括,在所述塊驅(qū)動器完成將所有數(shù)據(jù)從所述介質(zhì)讀取到所述目的地后,所述目的地通知所述應(yīng)用程序讀取完成,以及所述應(yīng)用程序通知所述文件系統(tǒng)讀取完成,以及所述文件系統(tǒng)通知所述塊驅(qū)動器讀取完成。
全文摘要
應(yīng)用程序向計算設(shè)備的文件系統(tǒng)發(fā)出應(yīng)用程序命令,其中,應(yīng)用程序命令包括源處的數(shù)據(jù)的位置。文件系統(tǒng)為數(shù)據(jù)分配介質(zhì)上的空間,并編譯包括將用來存儲數(shù)據(jù)的介質(zhì)的每個部分的標識的列表。然后,文件系統(tǒng)向介質(zhì)的塊驅(qū)動器發(fā)出文件系統(tǒng)命令,其中,文件系統(tǒng)命令包括源處的數(shù)據(jù)的位置以及所編譯的列表。塊驅(qū)動器聯(lián)系源、請求其位置處的數(shù)據(jù)、并將數(shù)據(jù)寫入包括在所編譯的列表中的介質(zhì)部分。
文檔編號G06F12/00GK1677373SQ200510056189
公開日2005年10月5日 申請日期2005年3月22日 優(yōu)先權(quán)日2004年3月22日
發(fā)明者A·M·皮爾森, R·T·帕爾姆, S·C·帕特爾, Y·谷帕爾蘭 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
那曲县| 新绛县| 湘乡市| 乾安县| 额济纳旗| 丘北县| 环江| 皋兰县| 兰考县| 谢通门县| 延长县| 礼泉县| 松滋市| 大港区| 黎平县| 平遥县| 恩施市| 高密市| 个旧市| 牟定县| 留坝县| 仁怀市| 雷波县| 安西县| 类乌齐县| 车致| 桦南县| 休宁县| 太湖县| 肇东市| 泌阳县| 宁城县| 蒲江县| 海淀区| 合川市| 壤塘县| 达孜县| 鹰潭市| 大石桥市| 宽甸| 安化县|