專利名稱:一種網(wǎng)絡(luò)虛擬磁盤的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計算機網(wǎng)絡(luò)方法,尤其涉及的是一種基于網(wǎng)絡(luò)的虛擬磁盤的實現(xiàn)方法。
背景技術(shù):
現(xiàn)在市面上的無盤系統(tǒng)有很多。但根據(jù)它們客戶端的BOOTROM所使用的技術(shù)來分只有三種RPL,PXE,EHD(阿爾派斯)。各自特點如下RPL技術(shù)服務(wù)器使用NOVELL,WINNT,WIN2000等操作系統(tǒng)。使用IPX/SPX協(xié)議。客戶端啟動時通過發(fā)送廣播搜索服務(wù)器。客戶端的C盤是一個網(wǎng)絡(luò)盤,在客戶端與服務(wù)器間傳送的是文件請求。如客戶端請求某個文件時,服務(wù)器就將屬于該文件的數(shù)據(jù)發(fā)送給客戶端。因此該盤上不能進行分區(qū),格式化等非文件讀寫型的操作;PXE技術(shù)服務(wù)器使用WIN2000等操作系統(tǒng)。使用TCP/IP和IPX/SPX協(xié)議??蛻舳藛訒r通過發(fā)送廣播搜索服務(wù)器。客戶端的C盤是一個網(wǎng)絡(luò)盤,在客戶端與服務(wù)器間傳送的是文件請求。因此該盤上不能進行分區(qū),格式化等非文件讀寫型的操作;EHD技術(shù)服務(wù)器使用DOS622,DOS7等操作系統(tǒng)。使用自定義的EDI協(xié)議??蛻舳藛訒r通過發(fā)送廣播搜索服務(wù)器。它的虛擬磁盤可以進行格式化等非文件讀寫型操作,但它也不是徹底的扇區(qū)級的模擬,其不能模擬主引導(dǎo)扇區(qū),而且它的服務(wù)器只能模擬出FAT16和FAT32的虛擬磁盤;至于NXD技術(shù)服務(wù)器使用LINUX操作系統(tǒng)。它的虛擬磁盤可以進行格式化等非文件讀寫型操作,但不知是否可以做到徹底的扇區(qū)級模擬。它的啟動也是建立在PXE基礎(chǔ)之上的,所以客戶端啟動時也會通過發(fā)送廣播搜索服務(wù)器,也一定會用到TCP/IP協(xié)議。
以上技術(shù)所使用的服務(wù)器都建立在通用PC操作系統(tǒng)之上。所以對硬件資源的要求較高,容易受病毒或用戶操作的影響而發(fā)生故障。而且設(shè)置比較復(fù)雜,需要用戶有一定的電腦基礎(chǔ)。它們的客戶端啟動時都會發(fā)出廣播以搜索服務(wù)器,既影響性能又容易產(chǎn)生廣播風(fēng)暴。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種網(wǎng)絡(luò)虛擬磁盤的實現(xiàn)方法,實現(xiàn)一種服務(wù)器嵌入且客戶端啟動過程中不產(chǎn)生廣播的網(wǎng)絡(luò)虛擬磁盤,且所述虛擬磁盤可隨意擴充容量而無需任何設(shè)置。
本發(fā)明的技術(shù)方案如下一種網(wǎng)絡(luò)虛擬磁盤的實現(xiàn)方法,其設(shè)置在客戶端和服務(wù)器系統(tǒng)中,所述虛擬磁盤由公有區(qū)和私有區(qū)組成;包括以下步驟1.1客戶端截獲中斷生成一個虛擬磁盤,并將對虛擬磁盤的扇區(qū)讀寫請求通過操作網(wǎng)卡硬件發(fā)送到服務(wù)器,服務(wù)器的網(wǎng)卡識別號從本地網(wǎng)卡中獲得;1.2服務(wù)器操作網(wǎng)卡硬件讀取客戶端的請求,并根據(jù)請求調(diào)用相應(yīng)中斷訪問公有區(qū)和私有區(qū),以完成客戶端的請求,并通過操作網(wǎng)卡硬件發(fā)送給客戶端;1.3所述服務(wù)器公有區(qū)存儲公有扇區(qū);其私有區(qū)保存各客戶端的私有扇區(qū),用于保存對公有扇區(qū)進行過修改的私有數(shù)據(jù);1.4所述客戶端通過操作網(wǎng)卡硬件獲得服務(wù)器處理的結(jié)果,并將結(jié)果返回給請求者。
所述的方法,其中,服務(wù)器系統(tǒng)軟件以硬件初始化代碼的形式實現(xiàn)。
所述的方法,其中,所述服務(wù)器還設(shè)置一串口開關(guān)組,用于設(shè)置和監(jiān)視服務(wù)器。
所述的方法,其中,所述客戶端的網(wǎng)卡初始化代碼截獲磁盤中斷,將對所述虛擬磁盤的所有請求全部截獲,以模擬所述虛擬磁盤。
所述的方法,其中,所述公有區(qū)和私有區(qū)由兩塊獨立硬盤實現(xiàn),分別設(shè)置為公有盤和私有盤。
所述的方法,其中,所述私有盤中還保存有對應(yīng)各客戶端的系統(tǒng)數(shù)據(jù),已登錄客戶端數(shù),客戶端登錄記錄。
所述的方法,其中,所述客戶端的網(wǎng)卡存儲器單元中保存有服務(wù)器網(wǎng)卡標(biāo)識號。
所述的方法,其中,所述客戶端與所述服務(wù)器的通信使用自定義的非標(biāo)準(zhǔn)通信協(xié)議。
本發(fā)明所提供的一種網(wǎng)絡(luò)虛擬磁盤的實現(xiàn)方法,由于服務(wù)器軟件以PCIROM的形式實現(xiàn),所有代碼都在主板BIOS芯片或網(wǎng)卡BOOTROM中,具有極高的可靠性,減少了通用PC操作系統(tǒng)對CPU,內(nèi)存,硬盤等資源的消耗,將硬件性能發(fā)揮到極限;操作簡單無需用戶有電腦基礎(chǔ),可隨意擴充容量而無需任何設(shè)置;徹底避免了廣播風(fēng)暴;可以模擬出任何文件系統(tǒng)的虛擬磁盤;使用自定義的非標(biāo)準(zhǔn)通信協(xié)議,避免了復(fù)雜的協(xié)議封包對系統(tǒng)性能的影響和與已有網(wǎng)絡(luò)在協(xié)議方面的沖突,使系統(tǒng)穩(wěn)定高效。
圖1為本發(fā)明方法的服務(wù)器在使用模式下所述讀操作過程圖;圖2為本發(fā)明方法的服務(wù)器在使用模式下所述寫操作過程圖;圖3為本發(fā)明方法的服務(wù)器在使用模式下所述搜索服務(wù)器操作過程圖;圖4為本發(fā)明方法的串口開關(guān)組的電路示意圖;圖5為本發(fā)明方法的私有盤數(shù)據(jù)存儲示意圖;圖6為本發(fā)明方法的客戶端登錄記錄數(shù)據(jù)示意圖;圖7為本發(fā)明方法的客戶端私有區(qū)及其所包括的表項區(qū)和數(shù)據(jù)區(qū)數(shù)據(jù)結(jié)構(gòu)示意圖。
具體實施例方式
以下對本發(fā)明的較佳實施例加以詳細(xì)說明。
本發(fā)明的網(wǎng)絡(luò)虛擬磁盤的實現(xiàn)方法,其包括具體步驟如下1 客戶端PCIROM截獲中斷INT13生成一個虛擬磁盤,并將對虛擬磁盤的扇區(qū)讀寫請求通過直接操作網(wǎng)卡硬件發(fā)送到服務(wù)器。服務(wù)器網(wǎng)卡ID號從本地網(wǎng)卡EEPROM中獲得;2 服務(wù)器PCIROM首先通過一串口開關(guān)組獲得其工作模式并反映其工作狀態(tài)。然后直接操作網(wǎng)卡硬件讀取客戶端的請求,并根據(jù)請求調(diào)用主板BIOS的INT13訪問公有盤和私有盤,以完成客戶端的請求。最后將結(jié)果通過直接操作網(wǎng)卡硬件發(fā)送給客戶端;3 服務(wù)器有兩塊硬盤,分為公有盤和私有盤。公有盤作為公有區(qū)(只有一個,供所有客戶端使用)。私有盤保存系統(tǒng)數(shù)據(jù),已登錄客戶端數(shù),客戶端登錄記錄和各客戶端的私有區(qū)(每個客戶端一個,由該客戶端使用)。公有區(qū)存儲公有扇區(qū),私有區(qū)存儲各客戶端對公有扇區(qū)進行過修改的私有扇區(qū)。所述虛擬磁盤由所述公有扇區(qū)和所述私有扇區(qū)共同組成;4 客戶端PCIROM通過直接操作網(wǎng)卡硬件獲得服務(wù)器處理的結(jié)果,并將結(jié)果返回給請求者。
以下為本發(fā)明裝置的一較佳實施例服務(wù)器采用硬件一臺IBM PC兼容機,帶有兩塊硬盤(公有盤和私有盤),一塊普通網(wǎng)卡,一個接在串口上的控制開關(guān)組,即串口開關(guān)組。公有盤為普通硬盤,支持LBA模式,容量大于8.4GB。私有盤為普通硬盤,支持LBA模式,容量大于8.4GB。
私有盤的第一扇區(qū)為以后使用保留,如圖5所示。第二扇區(qū)前四字節(jié)保存已登錄過的客戶端數(shù)。從第16字節(jié)開始每8字節(jié)為一個表項,其中前4字節(jié)為客戶端網(wǎng)卡ID的低4字節(jié)(同一廠商生產(chǎn)的網(wǎng)卡只有后三字節(jié)不同,而且C語言中沒有大小為三字節(jié)或六字節(jié)的數(shù)據(jù)類型,為編程方便而取低4字節(jié)),后4字節(jié)為該客戶端在其私有區(qū)中已使用掉的數(shù)據(jù)塊數(shù)。表項數(shù)由該系統(tǒng)可管理的最大客戶端數(shù)決定,如圖6所示。
其余扇區(qū)按該系統(tǒng)可管理的最大客戶端數(shù)分為N個私有區(qū)(每個客戶端一個),每個私有區(qū)分為表項區(qū)(每個表項4字節(jié))和數(shù)據(jù)區(qū)(以2的N次方個扇區(qū)為一個塊,分為N個塊),如圖7所示。每個表項把私有區(qū)中的一個塊與公有區(qū)中的一個塊對應(yīng)起來。如第1私有區(qū)中第2表項的值為3,則表示當(dāng)1號客戶端讀寫虛擬盤的3號塊中的扇區(qū)時實際應(yīng)讀寫第1私有區(qū)中的第2數(shù)據(jù)塊中的相應(yīng)扇區(qū)。
數(shù)據(jù)存儲結(jié)構(gòu)示例如下設(shè)塊大小為16個扇區(qū),當(dāng)客戶端讀LBA號(從0開始)為20的扇區(qū)時,服務(wù)器用20/(整除)16=1為所在塊號;20%(取余)16=4為塊內(nèi)的扇區(qū)偏移量,假設(shè)該客戶端的私有區(qū)中表項區(qū)內(nèi)容如下
則服務(wù)器在表項區(qū)中找到表項為1的項是表項區(qū)中的第3項,則服務(wù)器將數(shù)據(jù)區(qū)中的第3塊中的第4扇區(qū)的數(shù)據(jù)發(fā)送給客戶端即可。
若表項為1的項在表項區(qū)中找不到,說明該客戶端未對公有盤20號扇區(qū)進行過修改,則直接從公有盤讀取20號扇區(qū)并將其數(shù)據(jù)發(fā)送給客戶端。
串口開關(guān)組示意如圖4,所使用各引腳及其名稱如下Pin1DCD(Data Carrier Detection)數(shù)據(jù)載波檢測;Pin4DTR(Data Terminator Ready)數(shù)據(jù)終端準(zhǔn)備;Pin5SGND(Sign Ground)信號接地;Pin6DSR(Data Set Ready)數(shù)據(jù)裝置準(zhǔn)備;Pin7RTS(Request To Send)請求發(fā)送;
Pin8CTS(Clear To Send)清除發(fā)送。
其中,第一開關(guān)K1為按鈕開關(guān);第二開關(guān)K2為單刀雙擲開關(guān);第三開關(guān)K3為單刀雙擲開關(guān)。兩發(fā)光二極管D1和D2并聯(lián)連接RTS,用于顯示服務(wù)器狀態(tài)。
軟件程序以PCIROM的形式放在主板BIOS芯片或網(wǎng)卡BOOTROM中,通過截獲INT19實現(xiàn)以下步驟1 將DTR置為高電平(+12V);2 將RTS置為高電平(+12V)。此時發(fā)光二極管D1導(dǎo)通發(fā)光而D2截止,表示服務(wù)器正常工作。在程序運行過程中,當(dāng)遇到任何錯誤時將RTS置為低電平(-12V),發(fā)光二極管D2導(dǎo)通發(fā)光而D1截止,表示發(fā)生故障;3 檢測CTS,若第二開關(guān)K2將CTS與DTR接通,CTS為高電平則服務(wù)器工作于安裝模式,否則工作于使用模式;4 檢測DSR,當(dāng)服務(wù)器工作于安裝模式時無效,當(dāng)處于使用模式時若第三開關(guān)K3將DSR與DTR接通,DSR為高電平則服務(wù)器工作于自動恢復(fù)模式,否則工作于正常模式;5 安裝INTOC即串口中斷處理器,當(dāng)?shù)谝婚_關(guān)K1按下后將使DCD狀態(tài)改變觸發(fā)IRQ3中斷線,調(diào)用INTOC,該步驟將關(guān)機標(biāo)志置為有效。當(dāng)程序主循環(huán)體在檢測到該標(biāo)志為有效時將刷新緩沖區(qū),然后關(guān)閉服務(wù)器;6 獲取公有盤的磁盤參數(shù)供以后使用;7 初始化緩沖區(qū);8 進入程序主循環(huán)體。
程序主循環(huán)體根據(jù)服務(wù)器是工作于使用模式還是安裝模式,分為兩種不同情形。
在安裝模式的步驟包括1 讀取客戶端請求;2 若為讀請求,直接從公有盤讀取數(shù)據(jù);若為寫請求,直接將數(shù)據(jù)寫入公有盤;若為清除請求,無任何操作;若為獲取磁盤參數(shù)請求,直接將公有盤磁盤參數(shù)發(fā)給對應(yīng)的客戶端;若為搜索服務(wù)器請求,發(fā)送服務(wù)器網(wǎng)卡ID號;3 檢測關(guān)機標(biāo)志,若有效則關(guān)閉服務(wù)器;循環(huán)上述步驟。
在使用模式下的步驟包括1 讀取客戶端請求;2 若為讀請求,流程如圖1所示,其包括以下具體步驟2.1 判斷被讀數(shù)據(jù)是否在緩沖區(qū)中。是則跳到2.7,否則跳到2.2;2.2 斷緩沖區(qū)數(shù)據(jù)是否臟。是則跳到2.3,否則跳到2.6;2.3 判斷臟數(shù)據(jù)所屬塊是否已在私有區(qū)。是則跳到2.5,否則跳到2.4;2.4 在該客戶端的私有區(qū)中添加一個表項并將該客戶端的私有區(qū)已使用塊數(shù)加一;2.5 將緩沖區(qū)中的數(shù)據(jù)寫入該客戶端的私有區(qū),并清除緩沖區(qū)臟標(biāo)志;2.6 判斷被讀數(shù)據(jù)是否在該客戶端的私有區(qū)中。是則將數(shù)據(jù)從私有區(qū)讀到緩沖區(qū),否則將數(shù)據(jù)從公有區(qū)讀到緩沖區(qū);2.7 將緩沖區(qū)中相應(yīng)數(shù)據(jù)發(fā)送給客戶端。
3 若為寫請求流程見圖2所示,所述寫操作包括以下步驟3.1 判斷待寫數(shù)據(jù)是否在緩沖區(qū)中。是則跳到3.7,否則跳到3.2;3.2 判斷緩沖區(qū)數(shù)據(jù)是否臟。是則跳到3.3,否則跳到3.6;3.3 判斷臟數(shù)據(jù)所屬塊是否已在私有區(qū)。是則跳到3.5,否則跳到3.4;3.4 在該客戶端的私有區(qū)中添加一個表項并將該客戶端的私有區(qū)已使用塊數(shù)加一;3.5 將緩沖區(qū)中的數(shù)據(jù)寫入該客戶端的私有區(qū),并清除緩沖區(qū)臟標(biāo)志;3.6 調(diào)用第2步所述讀操作將原始數(shù)據(jù)讀到緩沖區(qū);
3.7 用待寫數(shù)據(jù)覆蓋緩沖區(qū)中相應(yīng)原始數(shù)據(jù),并將緩沖區(qū)標(biāo)為臟。
4 若為清除請求將緩沖區(qū)中該客戶端的所有私有數(shù)據(jù)全部清除,將該客戶端的已使用塊數(shù)置0。
5 若為獲取磁盤參數(shù)請求直接將公有盤磁盤參數(shù)發(fā)給客戶端,然后檢查服務(wù)器是否工作在自動恢復(fù)模式,是則對該客戶端執(zhí)行清除操作;6 若為搜索服務(wù)器請求流程見圖3所示,所述搜索服務(wù)器操作包括以下步驟6.1 判斷私有盤中是否已有該客戶端的登錄記錄,如是結(jié)束流程;6.2 否則,判斷是否已達最大客戶端數(shù),如是結(jié)束流程;6.3 否則已登錄客戶端數(shù)加1,并添加該客戶端的登錄記錄,然后結(jié)束流程。
7 檢測關(guān)機標(biāo)志,若有效則刷新緩沖區(qū),然后關(guān)閉服務(wù)器;8 轉(zhuǎn)到本流程的主循環(huán)第1步。
以下為具體操作過程用第二開關(guān)K2和第三開關(guān)K3設(shè)置好服務(wù)器工作模式,然后通過主板的電源開關(guān)POWER ON開機。若服務(wù)器正常工作則發(fā)光二極管D1導(dǎo)通發(fā)光而D2截止,若D2導(dǎo)通發(fā)光而D1截止則表示服務(wù)器故障。在服務(wù)器正常運行時按下開關(guān)K1則關(guān)閉服務(wù)器,若服務(wù)器故障后只能通過主板的電源開關(guān)POWER ON實現(xiàn)關(guān)機。
服務(wù)器各工作模式的功能如下安裝模式此模式下客戶端的虛擬磁盤就是公有盤。對虛擬磁盤的修改對所有客戶端可見。用戶可用此模式直接從客戶端對公有盤進行分區(qū),格式化,GHOST,安裝多操作系統(tǒng),拷貝數(shù)據(jù),安裝軟件等操作。
使用模式此模式下客戶端的虛擬磁盤由公有盤上的公有扇區(qū)和私有區(qū)中的私有扇區(qū)共同組成。對虛擬磁盤的修改只對該客戶端可見其他客戶端不受影響。
自動清除模式當(dāng)服務(wù)器在安裝模式下時,此模式無效。當(dāng)服務(wù)器在使用模式下時,客戶端私有區(qū)將在客戶端下次啟動時被清除,用于網(wǎng)吧等不需要用戶保存私有數(shù)據(jù)的場合。
客戶端的示例為硬件一臺IBM PC兼容機,帶一塊普通網(wǎng)卡。硬盤,光驅(qū)或軟驅(qū)可有可無。
軟件程序以PCIROM的形式放在主板BIOS芯片或網(wǎng)卡BOOTROM中,通過截獲INT19實現(xiàn)以下步驟1 將內(nèi)存
處以KB為單位的主存大小減少與本PCIROM大小相應(yīng)的值,將本PCIROM的內(nèi)容拷貝到主存頂部實現(xiàn)駐留,然后跳轉(zhuǎn)到主存頂部相應(yīng)位置繼續(xù)運行;2 讀取鍵盤輸入;3 若用戶按下‘Q’鍵則恢復(fù)內(nèi)存
處的值,恢復(fù)INT19,調(diào)用INT19退出本程序;4 保存原INT13向量并設(shè)置新向量,將內(nèi)存
處的磁盤個數(shù)加一;5 若用戶按下‘S’鍵則通過網(wǎng)卡發(fā)送服務(wù)器搜索請求,獲得服務(wù)器的網(wǎng)卡ID號并保存在網(wǎng)卡的EEPROM芯片中;6 從EEPROM中讀入服務(wù)器網(wǎng)卡ID;7 若用戶按下‘C’鍵則發(fā)送清除請求,清除該客戶端的私有區(qū)數(shù)據(jù);8 發(fā)送磁盤參數(shù)請求,獲得虛擬磁盤的磁盤參數(shù),供新INT13使用;9 若用戶按下‘L’鍵則虛擬磁盤號為真實磁盤數(shù)+80H(最后一個磁盤),恢復(fù)INT19,調(diào)用INT19退出本程序;10 虛擬磁盤號為80H(第一塊磁盤),將其第一扇區(qū)讀入內(nèi)存
處并跳轉(zhuǎn)至該處開始從虛擬磁盤引導(dǎo)操作系統(tǒng)。
其中,第4步所述新中斷INT13在客戶端完成如下工作當(dāng)DL等于虛擬磁盤號時的各功能實現(xiàn)如下AH=00H返回AH=0 CF=0
AH=01H返回AH=0 CF=0
=0AH=02H返回AH=0 CF=0調(diào)用讀扇區(qū)函數(shù)AH=03H返回AH=0 CF=0調(diào)用寫扇區(qū)函數(shù)AH=04H返回AH=0 CF=0AH=05H返回AH=0 CF=0AH=08H返回AH=0 CF=0CX=FFFFH DH=FEH DL=真實磁盤數(shù)+1AH=09H返回AH=0 CF=0AH=0CH返回AH=0 CF=0AH=0DH返回AH=0 CF=0AH=10H返回AH=0 CF=0AH=11H返回AH=0 CF=0AH=14H返回AH=0 CF=0AH=15H返回AX=03 CF=0CXDX=FB0400HAH=41H返回AH=21H CF=0BX=AA55H CX=1AH=42H返回AH=0 CF=0調(diào)用讀扇區(qū)函數(shù)AH=43H返回AH=0 CF=0調(diào)用寫扇區(qū)函數(shù)AH=44H返回AH=0 CF=0AH=47H返回AH=0 CF=0AH=48H調(diào)用獲取磁盤參數(shù)函數(shù)讀扇區(qū)函數(shù)將讀扇區(qū)請求發(fā)送到服務(wù)器,并從服務(wù)器讀取相應(yīng)數(shù)據(jù)并返回給調(diào)用程序。不成功則不返回;寫扇區(qū)函數(shù)將寫扇區(qū)請求和相應(yīng)數(shù)據(jù)發(fā)送到服務(wù)器。不成功不返回;獲取磁盤參數(shù)函數(shù)將第8步所述磁盤參數(shù)返回給調(diào)用程序。
當(dāng)DL不等于虛擬磁盤號時將恢復(fù)其真實的DL值并調(diào)用原INT13代碼。
客戶端操作主要包括在客戶端啟動時,根據(jù)輸入鍵值的不同執(zhí)行不同操作,以下鍵值僅為本發(fā)明實施例的具體實現(xiàn)方式,并不限于采用其他的鍵值。
Q不生成虛擬磁盤以正常方式啟動操作系統(tǒng)。
S通過網(wǎng)卡發(fā)送服務(wù)器搜索請求,獲得服務(wù)器的網(wǎng)卡ID號并保存在網(wǎng)卡的EEPROM芯片中。在客戶端第一次使用或需更換服務(wù)器時,將通過該功能找到服務(wù)器。而以后的使用中客戶端將從本地的EEPROM中得到服務(wù)器的網(wǎng)卡ID號,所以在正常使用中不會產(chǎn)生任何廣播,從而避免了廣播風(fēng)暴。
C發(fā)送清除請求,清除該客戶端的私有區(qū)數(shù)據(jù)。通常服務(wù)器的公有盤上都裝有一套,當(dāng)然也可以安裝多套,可用的操作系統(tǒng)和所需應(yīng)用軟件。用戶在使用過程中所作的一切對虛擬磁盤的更新操作都保存在本客戶端的私有區(qū)中。當(dāng)用戶破壞了自己對應(yīng)的系統(tǒng)后,可使用該功能將所作更新取消以恢復(fù)系統(tǒng)初始狀態(tài)。
L生成虛擬磁盤,且其為最后一個磁盤。調(diào)用原INT19啟動操作系統(tǒng)。用戶可使用該功能從本地引導(dǎo)計算機,然后對虛擬磁盤進行所需操作(分區(qū),格式化,拷貝數(shù)據(jù)等)。
無任何鍵按下生成虛擬磁盤,且其為第一個磁盤并從該磁盤引導(dǎo)操作系統(tǒng)。
應(yīng)當(dāng)理解的是,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進或變換,而所有這些改進和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護范圍。
權(quán)利要求
1一種網(wǎng)絡(luò)虛擬磁盤的實現(xiàn)方法,其設(shè)置在客戶端和服務(wù)器系統(tǒng)中,所述虛擬磁盤由公有區(qū)和私有區(qū)組成;包括以下步驟1.1客戶端截獲中斷生成一個虛擬磁盤,并將對虛擬磁盤的扇區(qū)讀寫請求通過操作網(wǎng)卡硬件發(fā)送到服務(wù)器,服務(wù)器的網(wǎng)卡識別號從本地網(wǎng)卡中獲得;1.2服務(wù)器操作網(wǎng)卡硬件讀取客戶端的請求,并根據(jù)請求調(diào)用相應(yīng)中斷訪問公有區(qū)和私有區(qū),以完成客戶端的請求,并通過操作網(wǎng)卡硬件發(fā)送給客戶端;1.3所述服務(wù)器公有區(qū)存儲公有扇區(qū);其私有區(qū)保存各客戶端的私有扇區(qū),用于保存對公有扇區(qū)進行過修改的私有數(shù)據(jù);1.4所述客戶端通過操作網(wǎng)卡硬件獲得服務(wù)器處理的結(jié)果,并將結(jié)果返回給請求者。
2根據(jù)權(quán)利要求1所述的方法,其特征在于,服務(wù)器系統(tǒng)軟件以硬件初始化代碼的形式實現(xiàn)。
3根據(jù)權(quán)利要求1所述的方法,其特征在于,所述服務(wù)器還設(shè)置一串口開關(guān)組,用于設(shè)置和監(jiān)視服務(wù)器。
4根據(jù)權(quán)利要求1所述的方法,其特征在于,所述客戶端的網(wǎng)卡初始化代碼截獲磁盤中斷,將對所述虛擬磁盤的所有請求全部截獲,以模擬所述虛擬磁盤。
5根據(jù)權(quán)利要求1所述的方法,其特征在于,所述公有區(qū)和私有區(qū)由兩塊獨立硬盤實現(xiàn),分別設(shè)置為公有盤和私有盤。
6根據(jù)權(quán)利要求5所述的方法,其特征在于,所述私有盤中還保存有系統(tǒng)數(shù)據(jù),已登錄客戶端數(shù),客戶端登錄記錄。
7根據(jù)權(quán)利要求1所述的方法,其特征在于,所述客戶端的網(wǎng)卡存儲器中保存有服務(wù)器網(wǎng)卡標(biāo)識號。
8根據(jù)權(quán)利要求1所述的方法,其特征在于,所述客戶端與所述服務(wù)器的通信使用自定義的非標(biāo)準(zhǔn)通信協(xié)議。
全文摘要
本發(fā)明公開了一種網(wǎng)絡(luò)虛擬磁盤的實現(xiàn)方法,其設(shè)置在客戶端和服務(wù)器系統(tǒng)中,所述虛擬磁盤由公有區(qū)和私有區(qū)組成;包括以下步驟客戶端截獲中斷生成一個虛擬磁盤,并將對虛擬磁盤的扇區(qū)讀寫請求通過操作網(wǎng)卡硬件發(fā)送到服務(wù)器,服務(wù)器的網(wǎng)卡識別號從本地網(wǎng)卡中獲得;服務(wù)器操作網(wǎng)卡硬件讀取客戶端的請求,并根據(jù)請求調(diào)用相應(yīng)中斷訪問公有區(qū)和私有區(qū),以完成客戶端的請求,并通過操作網(wǎng)卡硬件發(fā)送給客戶端。本發(fā)明方法由于服務(wù)器軟件以PCIROM的形式實現(xiàn),所有代碼都在主板BIOS芯片或網(wǎng)卡BOOTROM中,具有極高的可靠性,減少了通用PC操作系統(tǒng)對CPU,內(nèi)存,硬盤等資源的消耗,將硬件性能發(fā)揮到極限。
文檔編號H04L12/00GK1776591SQ20051010173
公開日2006年5月24日 申請日期2005年11月21日 優(yōu)先權(quán)日2005年11月21日
發(fā)明者余波 申請人:余波