專利名稱:一種基于網絡的設備驅動程序配置方法
技術領域:
本發明涉及設備驅動程序配置技木,特別涉及一種基于網絡的設備驅動程序配置方法。
背景技術:
在學校機房或網吧等公共場所,數量龐大的客戶端的設備驅動程序配置越來越受管理者所關注。按常規方法,設備驅動程序的安裝升級等配置維護工作,通常需要在操作系統啟動完畢后由用戶介入處理,并且在配置完畢后往往還需要重啟計算機才能生效。現有技術中,一般會采用母盤復刻或部署無盤客戶端來實現驅動程序配置,但這些方案在實際使用中也存在著不足。一方面,母盤復刻需要耗費較長的時間和較多的人力,甚至有可能比逐臺手工配置還要耗時耗カ;另ー方面,即使采用無盤客戶端,其設備驅動程序的維護也難以通過單點集中配置就能實現全場可用,并且往往需要繁瑣的操作流程。可見,對于維護大量電腦的機構或營業場所來說,上述問題都會明顯增加系統的
管理成本。
發明內容
有鑒于此,本發明提供了一種基于網絡的設備驅動程序配置方法。通過該方法,可在客戶端操作系統加載前完成設備驅動程序的配置,并且配置過程無需用戶介入、配置結果在操作系統加載完畢后即時生效。該設備驅動程序配置方法至少包括以下步驟a、確定客戶端PCI總線上所連接的硬件設備,并生成設備識別ID ;b、判斷客戶端操作系統的加載模式;若為本機硬盤模式,則順序執行步驟c和步驟d ;若為虛擬盤模式則執行步驟e ;C、發送設備識別ID到服務端,請求服務端返回對應的設備驅動程序配置信息;d、在接收到服務端返回的對應的設備驅動程序配置信息后,在客戶端的本機硬盤設置對應的設備驅動程序配置信息;e、發送設備識別ID到服務端,請求服務端在配置于服務端的虛擬盤鏡像上設置對應的設備驅動程序配置信息、并等待服務端在虛擬盤鏡像設置對應的設備驅動程序配置信息。優選地,上述方法還包括在客戶端的啟動階段載入能執行步驟a至步驟e的系統。優選地,所述啟動階段為客戶端操作系統尚未加載或尚未完全加載。
優選地,所述步驟a包括枚舉客戶端PCI總線上所連接的硬件設備,并依據枚舉得到的PCI配置空間信息中的設備參數生成可供服務端進行檢索的設備識別ID。優選地,所述步驟d中在客戶端的本機硬盤設置對應的設備驅動程序配置信息包括解析客戶端的本機硬盤的文件系統,并以該本機硬盤安裝操作系統的約定路徑和格式,在該本機硬盤的文件系統中設置和保存對應的設備驅動程序配置信息。優選地,所述步驟e中服務端在虛擬盤鏡像設置對應的設備驅動程序配置信息包括服務端解析虛擬盤鏡像的文件系統,并以該虛擬盤鏡像安裝操作系統的約定路徑和格式,在該虛擬盤鏡像的文件系統中設置和保存對應的設備驅動程序配置信息。優選地,所述步驟d之后進ー步包括步驟f、將控制客戶端運行的控制權轉移到客戶端的本機硬盤安裝的操作系統。優選地,所述步驟e之后進ー步包括步驟g、將控制客戶端運行的控制權轉移到服務端的虛擬盤鏡像安裝的操作系統。由上述技術方案可見,本發明可在客戶端操作系統尚未加載或尚未完全加載時,通過枚舉客戶端PCI總線上的硬件設備取得對應設備的PCI配置空間信息,并且基于該信息中的設備參數生成可供服務端進行檢索的設備識別ID。客戶端發送該設備識別ID到服務端,取決于客戶端操作系統的加載模式,如果為本機硬盤模式,服務端返回對應的設備驅動程序配置信息,客戶端保存該配置信息到本機硬盤;如果為虛擬盤模式,服務端直接在虛擬盤鏡像上設置對應的設備驅動程序配置信息。通過本發明,可在客戶端操作系統加載前完成設備驅動程序的配置,并且配置過程無需用戶介入、配置結果在操作系統加載完畢后即時生效。相比于現有技術中的母盤復刻方式,本發明能避免逐臺施工的不便,客戶端系統只需啟動一次即可完成本機設備驅動程序的配置;相比于現有技術中的無盤客戶端方式,本發明能避免繁瑣的操作流程,通過服務端集中配置就能實現全場可用。
圖I為本發明實施例中基于網絡的設備驅動程序配置方法的一示例性交互流程圖。
具體實施例方式為使本發明的目的、技術方案及優點更加清楚明白,以下參照附圖并舉實施例,對本發明進一歩詳細說明。盡管本發明不限于此,但作為本發明的ー個具體的實施例,可以是結合如下的應用環境來實現的。在客戶端al、有一塊RTL8169 網卡,該網卡具有支持PXE (Preboot Execution Environment,預啟動執行環境)規范的B00TR0M芯片;a2、主板的BIOS設置為優先從RTL8169網卡的支持PXE規范的B00TR0M芯片引導
啟動;a3、有一塊硬盤,該硬盤安裝了 Windows XP操作系統;其中,該硬盤可以僅有ー個分區、且該分區的文件系統類型為NTFS,但實際應用中并不限于此。
在服務端b I、配置有能夠支持DHCP和TFTP服務的服務端程序DeviceConf igServer. exe,可響應客戶端通過RTL8169網卡的BOOTROM從網絡引導啟動的請求;b2、存放有ー份可供客戶端通過TFTP下載的客戶端程序DeviceConfigClient.Mn、并且該客戶端程序自身攜帯有客戶端操作系統加載模式的設置信息,即選擇本機硬盤加載模式還是虛擬盤加載模式;b3、存放有ー份適用于Windows XP的RTL8169網卡驅動程序配置信息;b4、存放有一份安裝了 Windows XP的虛擬盤鏡像。圖I為本發明實施例中基于網絡的設備驅動程序配置方法的一示例性交互流程圖。如圖I所示的交互流程基于如前所述的應用環境來實現的。首先,客戶端可預先通過RTL8169網卡,將服務端存放的客戶端程序DeviceConfigClient. bin通過TFTP下載至客戶端主內存,通常情況下該下載存放的內存起始地址為0:7C00h。接著,客戶端程序DeviceConfigClient. bin將自動從上述內存地址開始執行,即獲得客戶端系統控制權。然后,如圖I所示,即可由在客戶端運行的客戶端程序DeviceConfigClient. bin、以及在服務端運行的服務端程序DeviceConfigServer. exe執行如下步驟步驟100,客戶端程序DeviceConfigClient. bin截獲客戶端啟動階段的系統控制權。本步驟是基于將客戶端主板的BIOS設置為優先從RTL8169網卡引導系而實現的。并且在本步驟中,所述的啟動階段通常為客戶端的支持PXE規范的BOOTROM已經就緒、并且Windows XP尚未加載時。步驟101,客戶端程序DeviceConfigClient. bin枚舉客戶端的PCI總線上的硬件設備,生成設備識別ID。本步驟中,客戶端程序DeviceConfigClient. bin通過訪問客戶端專用于枚舉PCI總線設備的I/O端ロ CF8h和CFCh,枚舉本機PCI總線上的硬件設備,取得對應設備的PCI配置空間信息,并且基于該PCI配置空間信息中的設備參數生成一個可供服務端程序DeviceConfigServer. exe進行檢索的設備識別ID。在本實施例中,由于RTL8169網卡連接在PCI總線上,因此,客戶端可取得本機RTL8169網卡的設備參數,并生成一個形式為VEN_10EC&DEV_8169的設備識別ID。步驟102,客戶端程序DeviceConfigClient. bin即將發送上述設備識別ID到服務端,但如何發送取決于客戶端操作系統的加載模式,因此,客戶端程序DeviceConfigClient. bin根據其自身攜帶的設置來判斷客戶端操作系統的加載模式如果為本機硬盤模式,客戶端需要請求服務端返回對應的設備驅動程序配置信息,即選擇執行步驟103至步驟105 ;如果為虛擬盤模式,客戶端需要請求服務端直接在虛擬盤鏡像上設置對應的設備驅動程序配置信息,即選擇執行步驟106至步驟107。步驟103,客戶端程序DeviceConfigClient. bin將設備識別ID發送到服務端,請 求其返回對應的設備驅動程序配置信息。本步驟中,客戶端通過本機PXE網絡訪問接ロ發送形式為VEN_10EC&DEV_8169的設備識別ID到服務端,請求其返回RTL8169網卡的設備驅動程序配置信息。
步驟104,服務端程序DeviceConfigServer. exe響應上述請求,并依據來自客戶端的設備識別ID返回對應的設備驅動程序配置信息。本步驟中,服務端使用來自客戶端的設備識別ID檢索對應的設備驅動程序配置信息,然后將檢索到的RTL8169網卡的設備驅動程序配置信息通過網絡發送回客戶端。步驟105,客戶端程序DeviceConfigClient. bin在通過本機PXE網絡訪問接ロ接收到從服務端返回的設備驅動程序配置信息后,在本機硬盤設置對應的設備驅動程序配置信息,然后結束本流程。本步驟中,客戶端解析本機硬盤上的文件系統,將設備驅動程序配置信息中的驅動文件保存到C: \Windows\System32\Drivers\目錄下,將設備驅動程序配置信息中的注冊■表參數合并到 C: \Windows\System32\Conf ig\System 文件中。 完成本步驟后,客戶端程序DeviceConfigClient. bin將系統的控制權轉移到本機硬盤安裝的操作系統,即從本機硬盤開始引導Windows XP。步驟106,客戶端程序DeviceConfigClient. bin將設備識別ID發送到服務端,請求其在服務端虛擬盤鏡像上設置對應的設備驅動程序配置信息。本步驟中,客戶端通過本機PXE網絡訪問接ロ發送形式為VEN_10EC&DEV_8169的設備識別ID到服務端,請求其在服務端虛擬盤鏡像上設置RTL8169網卡的設備驅動程序配
置信息。步驟107,服務端DeviceConfigServer. exe響應上述請求,在虛擬盤鏡像上設置對應的設備驅動程序配置信息,然后結束本流程。本步驟中,服務端使用客戶端提交的設備識別ID檢索對應的設備驅動程序配置信息,得到RTL8169網卡的設備驅動程序配置信息,然后解析虛擬盤鏡像上的文件系統,將設備驅動程序配置信息中的驅動文件保存到鏡像的C: \Windows\System32\Drivers\目錄下,將設備驅動程序配置信息中的注冊表參數合并到鏡像的C:\Windows\System32\Conf ig\System 文件中。完成本步驟后,客戶端程序DeviceConfigClient. bin將系統的控制權轉移到服務端虛擬盤鏡像安裝的操作系統,即從網絡虛擬盤開始引導Windows XP。至此,上述流程結束。以上所述僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內,所作的任何修改、等同替換以及改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種基于網絡的設備驅動程序配置方法,其特征在于,該方法至少包括以下步驟a、確定客戶端PCI總線上所連接的硬件設備,并生成設備識別ID;b、判斷客戶端操作系統的加載模式;若為本機硬盤模式,則順序執行步驟c和步驟d; 若為虛擬盤模式則執行步驟e ;c、發送設備識別ID到服務端,請求服務端返回對應的設備驅動程序配置信息;d、在接收到服務端返回的對應的設備驅動程序配置信息后,在客戶端的本機硬盤設置 對應的設備驅動程序配置信息;e、發送設備識別ID到服務端,請求服務端在配置于服務端的虛擬盤鏡像上設置對應 的設備驅動程序配置信息、并等待服務端在虛擬盤鏡像設置對應的設備驅動程序配置信 肩、O
2.如權利要求1所述的方法,其特征在于還包括在客戶端的啟動階段載入能執行步 驟a至步驟e的系統。
3.如權利要求2所述的方法,其特征在于,所述啟動階段為客戶端操作系統尚未加載 或尚未完全加載。
4.如權利要求1所述的方法,其特征在于,所述步驟a包括枚舉客戶端PCI總線上所 連接的硬件設備,并依據枚舉得到的PCI配置空間信息中的設備參數生成可供服務端進行 檢索的設備識別ID。
5.如權利要求1所述的方法,其特征在于,所述步驟d中在客戶端的本機硬盤設置對應 的設備驅動程序配置信息包括解析客戶端的本機硬盤的文件系統,并以該本機硬盤安裝 操作系統的約定路徑和格式,在該本機硬盤的文件系統中設置和保存對應的設備驅動程序配置信息。
6.如權利要求1所述的方法,其特征在于,所述步驟e中服務端在虛擬盤鏡像設置對應 的設備驅動程序配置信息包括服務端解析虛擬盤鏡像的文件系統,并以該虛擬盤鏡像安 裝操作系統的約定路徑和格式,在該虛擬盤鏡像的文件系統中設置和保存對應的設備驅動 程序配置信息。
7.如權利要求1至3中任意一項所述的方法,其特征在于,所述步驟d之后進一步包 括步驟f、將控制客戶端運行的控制權轉移到客戶端的本機硬盤安裝的操作系統。
8.如權利要求1至3中任意一項所述的方法,其特征在于,所述步驟e之后進一步包 括步驟g、將控制客戶端運行的控制權轉移到服務端的虛擬盤鏡像安裝的操作系統。
全文摘要
本發明公開了一種基于網絡的設備驅動程序配置方法。本發明可在客戶端操作系統尚未加載或尚未完全加載時,通過枚舉客戶端PCI總線上的硬件設備取得對應設備的PCI配置空間信息,并且基于該信息中的設備參數生成可供服務端進行檢索的設備識別ID。客戶端發送該設備識別ID到服務端,取決于客戶端操作系統的加載模式,如果為本機硬盤模式,服務端返回對應的設備驅動程序配置信息,客戶端保存該配置信息到本機硬盤;如果為虛擬盤模式,服務端直接在虛擬盤鏡像上設置對應的設備驅動程序配置信息。應用本發明,可集中維護客戶端的設備驅動程序配置,提高管理效率。
文檔編號G06F13/10GK102662884SQ20121010993
公開日2012年9月12日 申請日期2012年4月16日 優先權日2012年4月16日
發明者何闖, 鄺耀華 申請人:湖北盛天網絡技術股份有限公司