專利名稱:一種自動(dòng)匹配網(wǎng)卡的網(wǎng)絡(luò)登錄方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種自動(dòng)匹配網(wǎng)卡的網(wǎng)絡(luò)登錄方法,屬于通用數(shù)字計(jì)算機(jī)的初始控制或配置控制的技術(shù)領(lǐng)域。
背景技術(shù):
雖然微軟WINDOWS等操作系統(tǒng)中,給計(jì)算機(jī)提供了強(qiáng)大的網(wǎng)絡(luò)支持。但是,這些操作系統(tǒng)都需要在使用前就已經(jīng)安裝好,然后才能夠登錄網(wǎng)絡(luò)。然而,在很多應(yīng)用環(huán)境下,人們需要在最簡(jiǎn)單的、還沒(méi)有安裝操作系統(tǒng)的情況下,就能夠登錄網(wǎng)絡(luò),以便進(jìn)行從網(wǎng)絡(luò)安裝操作系統(tǒng)、應(yīng)用軟件等各種自動(dòng)操作。在這種環(huán)境下,要求計(jì)算機(jī)登錄網(wǎng)絡(luò)的方式越簡(jiǎn)單、越方便、越自動(dòng)越好,對(duì)計(jì)算機(jī)的環(huán)境要求是越小越好。在這個(gè)需求下,通常需要處理兩件事第一是選擇一種功能靈活、體積小巧的網(wǎng)絡(luò)客戶端軟件,能夠從本地軟盤啟動(dòng)或利用PXE技術(shù)使計(jì)算機(jī)實(shí)現(xiàn)無(wú)盤網(wǎng)絡(luò)引導(dǎo),使計(jì)算機(jī)可以登錄指定網(wǎng)絡(luò),實(shí)現(xiàn)網(wǎng)絡(luò)功能。第二是實(shí)現(xiàn)登錄的自動(dòng)化,即不管登錄使用的計(jì)算機(jī)中安裝的網(wǎng)卡型號(hào)是不同的,計(jì)算機(jī)都能夠自動(dòng)識(shí)別和自動(dòng)加載。
目前,有很多網(wǎng)絡(luò)客戶端軟件。其中微軟公司的Ms Network Client 3.0 ForDOS就是滿足上述需求的一種最小的客戶端軟件,能夠靈活地登錄各種指定網(wǎng)絡(luò)環(huán)境。而且利用該軟件制作的引導(dǎo)軟盤可以直接生成利用PXE(PrebootExecution Environment)遠(yuǎn)程引導(dǎo)技術(shù)進(jìn)行遠(yuǎn)程引導(dǎo)時(shí)所需的鏡象文件。從而可以利用PXE遠(yuǎn)程引導(dǎo)技術(shù)和網(wǎng)絡(luò)喚醒技術(shù)(WOL,Wake On Lan)遠(yuǎn)程引導(dǎo)計(jì)算機(jī)啟動(dòng)并登錄網(wǎng)絡(luò)。但是,在這些客戶端軟件中,網(wǎng)絡(luò)參數(shù)的設(shè)置非常繁瑣。在使用之前,客戶端軟件必須在配置文件(例如微軟公司的Ms Network Client3.0 For DOS軟件中的protocol.ini和system.ini)中修改各種網(wǎng)絡(luò)參數(shù),如計(jì)算機(jī)名稱和IP地址等相關(guān)參數(shù)。然而,參數(shù)設(shè)置對(duì)于一個(gè)不太熟悉計(jì)算機(jī)的人員,即使只修改這兩個(gè)參數(shù)也不是一件輕而易舉的事情,而且很容易搞錯(cuò),造成不可預(yù)知的錯(cuò)誤。另外,其中最重要的是,如果在大量的計(jì)算機(jī)上使用Tcp/Ip網(wǎng)絡(luò)協(xié)議時(shí),雖然其中的IP地址可以使用動(dòng)態(tài)的主機(jī)配置協(xié)議DHCP,但是,計(jì)算機(jī)名稱必須是不相同的,而修改計(jì)算機(jī)名稱就必須要修改參數(shù)設(shè)置文件,因此在大量計(jì)算機(jī)同時(shí)進(jìn)入客戶端狀態(tài)時(shí),需要大量的更改操作,發(fā)生上述差錯(cuò)的情況就很難避免了。
更加困難的是設(shè)置網(wǎng)卡的參數(shù)。因?yàn)閷?duì)于DOS操作系統(tǒng)的網(wǎng)絡(luò)客戶端軟件,例如微軟公司Ms Network Client 3.0 For DOS程序的設(shè)置過(guò)程,首先要使用者知道其所使用計(jì)算機(jī)的網(wǎng)卡名稱,又要找到相應(yīng)的驅(qū)動(dòng)程序,還要在protocol.ini中進(jìn)行相應(yīng)的設(shè)置。單單要求用戶了解計(jì)算機(jī)中所使用的網(wǎng)卡型號(hào)或名稱就是相當(dāng)困難的事,因?yàn)榧词挂晃挥?jì)算機(jī)的行家里手拿到一個(gè)陌生廠家生產(chǎn)的網(wǎng)卡,要能夠迅速準(zhǔn)確地辨別其型號(hào)也是非常困難的。因此,人們企圖利用類似于微軟公司Ms Network Client 3.0 For DOS的簡(jiǎn)單的網(wǎng)絡(luò)客戶端軟件實(shí)現(xiàn)計(jì)算機(jī)的批量自動(dòng)安裝或遠(yuǎn)程管理等實(shí)際應(yīng)用,都基于上述問(wèn)題而擱淺。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種能夠解決上述問(wèn)題的自動(dòng)匹配網(wǎng)卡的網(wǎng)絡(luò)登錄方法,該方法簡(jiǎn)化了登錄網(wǎng)絡(luò)的參數(shù)設(shè)置,并能夠自動(dòng)修改網(wǎng)絡(luò)登錄參數(shù)、自動(dòng)識(shí)別和匹配網(wǎng)卡,從而能夠利用如微軟公司的客戶端軟件實(shí)現(xiàn)自動(dòng)登錄網(wǎng)絡(luò),為實(shí)現(xiàn)計(jì)算機(jī)的軟件自動(dòng)安裝或遠(yuǎn)程管理奠定了基礎(chǔ)。
本發(fā)明的目的是這樣實(shí)現(xiàn)的一種自動(dòng)匹配網(wǎng)卡的網(wǎng)絡(luò)登錄方法,其特征在于該方法至少包括下列步驟(1)用程序自動(dòng)修改并設(shè)置網(wǎng)絡(luò)客戶端軟件的配置文件中指定的計(jì)算機(jī)名稱和IP地址類的信息參數(shù);(2)查詢PCI設(shè)備配置空間(configuration space),尋找到網(wǎng)卡設(shè)備,讀取網(wǎng)卡上的芯片型號(hào),進(jìn)而調(diào)用與該芯片型號(hào)相對(duì)應(yīng)的驅(qū)動(dòng)程序和匹配之。
所述的步驟(1)中,進(jìn)一步包括下列步驟(11)在使用TCP/IP協(xié)議聯(lián)網(wǎng)時(shí),編制一個(gè)參數(shù)設(shè)置文件,在該文件中至少預(yù)先配置有計(jì)算機(jī)名稱和IP地址信息;其中IP地址參數(shù)設(shè)置是使用動(dòng)態(tài)的主機(jī)配置協(xié)議DHCP,或指定固定的IP地址;計(jì)算機(jī)名稱的設(shè)置可以指定固定的名稱,也可以采用自動(dòng)隨機(jī)生成的方式;(12)利用一個(gè)應(yīng)用程序,讀取上述參數(shù)設(shè)置文件中預(yù)先配置的計(jì)算機(jī)名稱和IP地址信息,并根據(jù)該配置參數(shù)自動(dòng)修改網(wǎng)絡(luò)客戶端軟件的配置文件中的相關(guān)參數(shù)。
所述的采用自動(dòng)隨機(jī)生成方式設(shè)置的計(jì)算機(jī)名稱是由字母和數(shù)字組成,全部自動(dòng)隨機(jī)產(chǎn)生;也可以是以其網(wǎng)卡MAC(Medium Access Control)地址作為名稱,或作為其計(jì)算機(jī)名稱中的一部分,再在其余位數(shù)增補(bǔ)自動(dòng)隨機(jī)產(chǎn)生的數(shù)字或字母,共同組成計(jì)算機(jī)名稱,以確保其名稱的唯一性。
所述的步驟(2)中,進(jìn)一步包括下列步驟(21)編制一個(gè)通過(guò)PCI配置機(jī)制1(Configuration Mechanism#1)方式訪問(wèn)PCI配置空間寄存器的程序,找到網(wǎng)卡設(shè)備并獲得網(wǎng)卡芯片型號(hào)的信息;(22)根據(jù)預(yù)先存儲(chǔ)的網(wǎng)卡芯片型號(hào)與驅(qū)動(dòng)程序的對(duì)應(yīng)關(guān)系表,將與該網(wǎng)卡芯片型號(hào)對(duì)應(yīng)的驅(qū)動(dòng)程序拷貝到內(nèi)存中的虛擬磁盤網(wǎng)絡(luò)登錄文件目錄中;(23)根據(jù)該網(wǎng)卡的驅(qū)動(dòng)程序,修改網(wǎng)絡(luò)客戶端軟件配置文件中有關(guān)網(wǎng)卡的驅(qū)動(dòng)參數(shù);(24)將修改參數(shù)后的該網(wǎng)卡驅(qū)動(dòng)程序拷貝到內(nèi)存中的虛擬磁盤網(wǎng)絡(luò)登錄文件目錄中,準(zhǔn)備正式執(zhí)行網(wǎng)絡(luò)客戶端登錄過(guò)程。
所述的步驟(21)中訪問(wèn)配置空間寄存器的程序包括下列步驟(211)查詢存儲(chǔ)PCI設(shè)備類別的Basic Class Code寄存器是否為0×02,若是0×02,說(shuō)明該設(shè)備是網(wǎng)卡,繼續(xù)執(zhí)行后續(xù)操作;否則,返回;(212)讀出存儲(chǔ)網(wǎng)卡芯片生產(chǎn)廠家的PCI SIG(PCI Special Interest Group)代號(hào)的Vendor ID寄存器參數(shù);
(213)讀出存儲(chǔ)網(wǎng)卡芯片生產(chǎn)廠家規(guī)定的設(shè)備代號(hào)的Device ID寄存器參數(shù);(214)根據(jù)(212)、(213)兩個(gè)步驟讀出的兩個(gè)參數(shù),可以唯一地確定該網(wǎng)卡主芯片的型號(hào)。
本發(fā)明是一種自動(dòng)匹配網(wǎng)卡的網(wǎng)絡(luò)登錄方法,其實(shí)質(zhì)是通過(guò)對(duì)網(wǎng)絡(luò)參數(shù)的簡(jiǎn)化設(shè)置和自動(dòng)修改,以及網(wǎng)卡的自動(dòng)識(shí)別和匹配,再利用如微軟公司的客戶端軟件實(shí)現(xiàn)的。該方法可以在大批量的計(jì)算機(jī)生產(chǎn)、測(cè)試、遠(yuǎn)程管理或其它應(yīng)用中,利用網(wǎng)絡(luò)實(shí)現(xiàn)如安裝操作系統(tǒng)、文件拷貝等許多工作,也可以按照指定的操作進(jìn)行大批量計(jì)算機(jī)的自動(dòng)測(cè)試程序加載,為實(shí)現(xiàn)計(jì)算機(jī)的批量自動(dòng)安裝或遠(yuǎn)程管理等實(shí)際應(yīng)用提供了技術(shù)手段,奠定了基礎(chǔ)。本發(fā)明具有很好的應(yīng)用前景。
圖1是本發(fā)明實(shí)現(xiàn)自動(dòng)匹配網(wǎng)卡的網(wǎng)絡(luò)登錄方法的一個(gè)實(shí)施例流程圖。
具體實(shí)施例方式
本發(fā)明是一種自動(dòng)匹配網(wǎng)卡的網(wǎng)絡(luò)登錄方法,該方法主要包括兩個(gè)步驟(1)在使用TCP/IP協(xié)議聯(lián)網(wǎng)時(shí),編制一個(gè)參數(shù)設(shè)置文件,在該文件中至少預(yù)先配置有計(jì)算機(jī)名稱和IP地址信息;其中IP地址參數(shù)設(shè)置可以使用動(dòng)態(tài)的主機(jī)配置協(xié)議DHCP,或指定固定的IP地址;計(jì)算機(jī)名稱的設(shè)置可以指定固定的名稱,也可以采用自動(dòng)隨機(jī)生成的方式;或者利用計(jì)算機(jī)網(wǎng)卡MAC地址作為名稱的一部分,再在剩余位數(shù)采用自動(dòng)隨機(jī)生成的數(shù)字填補(bǔ)之,共同組成計(jì)算機(jī)的名稱。再利用一個(gè)應(yīng)用程序,讀取上述參數(shù)設(shè)置文件中預(yù)先配置的計(jì)算機(jī)名稱和IP地址信息,并根據(jù)該配置參數(shù)自動(dòng)修改網(wǎng)絡(luò)客戶端軟件配置文件(例如微軟公司的system.ini和protocol.ini)中的相關(guān)參數(shù)。這樣可以保證在加載client端程序之前,正確修改網(wǎng)絡(luò)客戶端軟件配置文件中的設(shè)置參數(shù),避免用戶自行修改配置文件時(shí),由于誤操作而破壞其他參數(shù)設(shè)置,造成差錯(cuò)。
(2)雖然網(wǎng)卡的生產(chǎn)廠商有無(wú)數(shù)個(gè),但是制造網(wǎng)卡芯片的廠商為數(shù)很少,而且網(wǎng)卡的驅(qū)動(dòng)程序通常是與芯片型號(hào)對(duì)應(yīng)的。本發(fā)明采用直接識(shí)別網(wǎng)卡的芯片型號(hào),進(jìn)而調(diào)用與該芯片型號(hào)相對(duì)應(yīng)的驅(qū)動(dòng)程序。其具體方法是查詢PCI設(shè)備配置空間,找到網(wǎng)卡設(shè)備,讀取網(wǎng)卡設(shè)備配置空間(configuration space)寄存器區(qū)域中廠家代號(hào)和設(shè)備代號(hào),識(shí)別網(wǎng)卡上的芯片型號(hào)。
參見(jiàn)圖1,結(jié)合實(shí)施例具體介紹本發(fā)明實(shí)現(xiàn)方法的操作步驟(1)利用軟盤或遠(yuǎn)程引導(dǎo)技術(shù)PXE通過(guò)網(wǎng)絡(luò)啟動(dòng)計(jì)算機(jī)。
(2)在內(nèi)存中建立虛擬磁盤,并拷貝需要的有關(guān)文件。
(3)用程序讀取一個(gè)專門編制的參數(shù)設(shè)置文件(例如lan.ini文件)中的內(nèi)容,在該參數(shù)設(shè)置文件中設(shè)置了如計(jì)算機(jī)名稱、IP地址等參數(shù)。其中IP地址參數(shù)設(shè)置可以使用動(dòng)態(tài)的主機(jī)配置協(xié)議DHCP,或指定固定的IP地址;計(jì)算機(jī)名稱的設(shè)置則可以指定固定的名稱,或設(shè)置定為*號(hào)。
(4)判斷計(jì)算機(jī)的名稱是否為*?若是,則自動(dòng)隨機(jī)生成計(jì)算機(jī)名稱,并執(zhí)行后續(xù)步驟;若否,則繼續(xù)執(zhí)行后續(xù)步驟。
(5)程序根據(jù)上述配置參數(shù),自動(dòng)修改網(wǎng)絡(luò)客戶端軟件配置文件中的計(jì)算機(jī)名稱和IP地址信息。
(6)查詢PCI總線設(shè)備,尋找出網(wǎng)卡設(shè)備,讀出該網(wǎng)卡芯片型號(hào)。
(7)根據(jù)芯片型號(hào),識(shí)別網(wǎng)卡,并查找所需驅(qū)動(dòng)程序的文件名稱。
(8)將該驅(qū)動(dòng)程序的文件拷貝到內(nèi)存虛擬磁盤的網(wǎng)絡(luò)登錄文件目錄中。
(9)根據(jù)自動(dòng)識(shí)別的網(wǎng)卡,修改配置文件中網(wǎng)卡驅(qū)動(dòng)程序的相關(guān)參數(shù)。
(10)正式開(kāi)始執(zhí)行網(wǎng)絡(luò)客戶端登錄過(guò)程。
本發(fā)明的方法已經(jīng)由申請(qǐng)人在其研制生產(chǎn)的計(jì)算機(jī)產(chǎn)品中進(jìn)行實(shí)施試驗(yàn),試驗(yàn)的結(jié)果是成功的,實(shí)現(xiàn)了發(fā)明目的。
權(quán)利要求
1.一種自動(dòng)匹配網(wǎng)卡的網(wǎng)絡(luò)登錄方法,其特征在于該方法至少包括下列步驟(1)用程序自動(dòng)修改并設(shè)置網(wǎng)絡(luò)客戶端軟件的配置文件中指定的計(jì)算機(jī)名稱和IP地址類的信息參數(shù);(2)查詢PCI設(shè)備配置空間(configuration space),尋找到網(wǎng)卡設(shè)備,讀取網(wǎng)卡上的芯片型號(hào),進(jìn)而調(diào)用與該芯片型號(hào)相對(duì)應(yīng)的驅(qū)動(dòng)程序和匹配之。
2.根據(jù)權(quán)利要求1所述的自動(dòng)匹配網(wǎng)卡的網(wǎng)絡(luò)登錄方法,其特征在于所述的步驟(1)中,進(jìn)一步包括下列步驟(11)在使用TCP/IP協(xié)議聯(lián)網(wǎng)時(shí),編制一個(gè)參數(shù)設(shè)置文件,在該文件中至少預(yù)先配置有計(jì)算機(jī)名稱和IP地址信息;其中IP地址參數(shù)設(shè)置是使用動(dòng)態(tài)的主機(jī)配置協(xié)議DHCP,或指定固定的IP地址;計(jì)算機(jī)名稱的設(shè)置可以指定固定的名稱,也可以采用自動(dòng)隨機(jī)生成的方式;(12)利用一個(gè)應(yīng)用程序,讀取上述參數(shù)設(shè)置文件中預(yù)先配置的計(jì)算機(jī)名稱和IP地址信息,并根據(jù)該配置參數(shù)自動(dòng)修改網(wǎng)絡(luò)客戶端軟件的配置文件中的相關(guān)參數(shù)。
3.根據(jù)權(quán)利要求2所述的自動(dòng)匹配網(wǎng)卡的網(wǎng)絡(luò)登錄方法,其特征在于所述的采用自動(dòng)隨機(jī)生成方式設(shè)置的計(jì)算機(jī)名稱是由字母和數(shù)字組成,全部自動(dòng)隨機(jī)產(chǎn)生;也可以是以其網(wǎng)卡MAC(Medium Access Control)地址作為名稱,或作為其計(jì)算機(jī)名稱中的一部分,再在其余位數(shù)增補(bǔ)自動(dòng)隨機(jī)產(chǎn)生的數(shù)字或字母,共同組成計(jì)算機(jī)名稱,以確保其名稱的唯一性。
4.根據(jù)權(quán)利要求1所述的自動(dòng)匹配網(wǎng)卡的網(wǎng)絡(luò)登錄方法,其特征在于所述的步驟(2)中,進(jìn)一步包括下列步驟(21)編制一個(gè)通過(guò)PCI配置機(jī)制1(Configuration Mechanism#1)方式訪問(wèn)PCI配置空間寄存器的程序,找到網(wǎng)卡設(shè)備并獲得網(wǎng)卡芯片型號(hào)的信息;(22)根據(jù)預(yù)先存儲(chǔ)的網(wǎng)卡芯片型號(hào)與驅(qū)動(dòng)程序的對(duì)應(yīng)關(guān)系表,將與該網(wǎng)卡芯片型號(hào)對(duì)應(yīng)的驅(qū)動(dòng)程序拷貝到內(nèi)存中的虛擬磁盤網(wǎng)絡(luò)登錄文件目錄中;(23)根據(jù)該網(wǎng)卡的驅(qū)動(dòng)程序,修改網(wǎng)絡(luò)客戶端軟件配置文件中有關(guān)網(wǎng)卡的驅(qū)動(dòng)參數(shù);(24)將修改參數(shù)后的該網(wǎng)卡驅(qū)動(dòng)程序拷貝到內(nèi)存中的虛擬磁盤網(wǎng)絡(luò)登錄文件目錄中,準(zhǔn)備正式執(zhí)行網(wǎng)絡(luò)客戶端登錄過(guò)程。
5.根據(jù)權(quán)利要求4所述的自動(dòng)匹配網(wǎng)卡的網(wǎng)絡(luò)登錄方法,其特征在于所述的步驟(21)中訪問(wèn)配置空間寄存器的程序包括下列步驟(211)查詢存儲(chǔ)PCI設(shè)備類別的Basic Class Code寄存器是否為0×02,若是0×02,說(shuō)明該設(shè)備是網(wǎng)卡,繼續(xù)執(zhí)行后續(xù)操作;否則,返回;(212)讀出存儲(chǔ)網(wǎng)卡芯片生產(chǎn)廠家的PCI SIG(PCI Special Interest Group)代號(hào)的VendorID寄存器參數(shù);(213)讀出存儲(chǔ)網(wǎng)卡芯片生產(chǎn)廠家規(guī)定的設(shè)備代號(hào)的Device ID寄存器參數(shù);(214)根據(jù)(212)、(213)兩個(gè)步驟讀出的兩個(gè)參數(shù),可以唯一地確定該網(wǎng)卡主芯片的型號(hào)。
全文摘要
一種自動(dòng)匹配網(wǎng)卡的網(wǎng)絡(luò)登錄方法,至少包括下列步驟(1)用程序自動(dòng)修改并設(shè)置配置文件(如system.ini和protocol.ini)中指定的計(jì)算機(jī)名稱和IP地址類的信息參數(shù);(2)查詢PCI設(shè)備配置空間(configuration space),尋找到網(wǎng)卡設(shè)備,讀取網(wǎng)卡上的芯片型號(hào),進(jìn)而調(diào)用與該芯片型號(hào)相對(duì)應(yīng)的驅(qū)動(dòng)程序和匹配之。該方法是通過(guò)對(duì)網(wǎng)絡(luò)參數(shù)的簡(jiǎn)化設(shè)置和自動(dòng)修改,以及網(wǎng)卡的自動(dòng)識(shí)別和匹配,再利用如微軟公司的客戶端軟件實(shí)現(xiàn)的??梢詰?yīng)用于大批量的計(jì)算機(jī)生產(chǎn)、測(cè)試、遠(yuǎn)程管理中,利用網(wǎng)絡(luò)實(shí)現(xiàn)如安裝操作系統(tǒng)、文件拷貝等工作,也可以按照指定的操作進(jìn)行大批量計(jì)算機(jī)的自動(dòng)測(cè)試程序加載,為實(shí)現(xiàn)計(jì)算機(jī)的批量自動(dòng)安裝或遠(yuǎn)程管理等實(shí)際應(yīng)用奠定了基礎(chǔ)。
文檔編號(hào)G06F15/16GK1512381SQ0215958
公開(kāi)日2004年7月14日 申請(qǐng)日期2002年12月31日 優(yōu)先權(quán)日2002年12月31日
發(fā)明者盧旭, 龔仲濤, 盧 旭 申請(qǐng)人:聯(lián)想(北京)有限公司