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

實(shí)現(xiàn)網(wǎng)絡(luò)間克隆軟件系統(tǒng)的方法及嵌入式系統(tǒng)的制作方法

文檔序號(hào):6620614閱讀:352來源:國(guó)知局
專利名稱:實(shí)現(xiàn)網(wǎng)絡(luò)間克隆軟件系統(tǒng)的方法及嵌入式系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及軟件克隆技術(shù)領(lǐng)域,特別是指實(shí)現(xiàn)網(wǎng)絡(luò)間克隆軟件系統(tǒng)的方法及嵌入式系統(tǒng)。
背景技術(shù)
公共機(jī)房包括電子教室、網(wǎng)吧、電子閱覽室等,這類應(yīng)用環(huán)境中的計(jì)算機(jī)從硬件設(shè)備配置上有一個(gè)明顯的特點(diǎn),就是絕大多數(shù)公共機(jī)房中都只使用同一個(gè)品牌的同一代產(chǎn)品,這樣不同計(jì)算機(jī)之間的硬件設(shè)備配置差異性就足夠小,特別是該廠家會(huì)把這些計(jì)算機(jī)所需要的全部驅(qū)動(dòng)程序放在一個(gè)或一套驅(qū)動(dòng)程序光盤上;對(duì)于公共機(jī)房的計(jì)算機(jī)從應(yīng)用上也有一個(gè)明顯特點(diǎn),就是用戶會(huì)在每臺(tái)計(jì)算機(jī)上插一個(gè)硬盤保護(hù)卡實(shí)現(xiàn)硬盤保護(hù)和網(wǎng)絡(luò)克隆功能,或者在廠家提供的這些計(jì)算機(jī)中就內(nèi)置有硬盤保護(hù)和網(wǎng)絡(luò)克隆的功能,公共機(jī)房管理員借助這些功能可以方便快速地部署、管理所有計(jì)算機(jī)。
圖1所示為現(xiàn)有的網(wǎng)絡(luò)間克隆軟件系統(tǒng)的實(shí)現(xiàn)流程圖。為完成網(wǎng)絡(luò)克隆軟件系統(tǒng)的工作,實(shí)際上有兩個(gè)主要任務(wù)第一個(gè)任務(wù)是為源計(jì)算機(jī)安裝軟件系統(tǒng),參見圖1a,第二個(gè)任務(wù)是通過復(fù)制克隆技術(shù)一次性地為公共機(jī)房?jī)?nèi)的所有目標(biāo)計(jì)算機(jī)安裝與源計(jì)算機(jī)一樣的軟件系統(tǒng),參見圖1b。下面具體說明實(shí)現(xiàn)流程。
圖1a所示為現(xiàn)有技術(shù)的源計(jì)算機(jī)安裝軟件系統(tǒng)的實(shí)現(xiàn)流程圖。
步驟111,給硬盤分區(qū)。
步驟112,使用操作系統(tǒng)安裝光盤分別在每個(gè)分區(qū)內(nèi)安裝操作系統(tǒng)。
步驟113,源計(jì)算機(jī)重新啟動(dòng)后,根據(jù)內(nèi)存參數(shù)區(qū)預(yù)先設(shè)定的標(biāo)志位是否指示為啟動(dòng)網(wǎng)絡(luò)克隆來確定是否需要啟動(dòng)網(wǎng)絡(luò)克隆功能,如果需要執(zhí)行克隆功能,則執(zhí)行步驟114,如果不需要執(zhí)行克隆功能,則繼續(xù)正常啟動(dòng)計(jì)算機(jī),結(jié)束。
步驟114,判斷本機(jī)的硬件設(shè)備是否已全部安裝驅(qū)動(dòng)程序,如果是,則直接執(zhí)行步驟116,否則執(zhí)行步驟115。
步驟115,使用驅(qū)動(dòng)程序安裝光盤在每個(gè)分區(qū)內(nèi)安裝驅(qū)動(dòng)程序,然后重新啟動(dòng)計(jì)算機(jī),再次執(zhí)行步驟113。
上述安裝完畢后,操作系統(tǒng)會(huì)在注冊(cè)表文件中記錄本計(jì)算機(jī)上的硬件設(shè)備的標(biāo)識(shí)信息,同時(shí)會(huì)把已經(jīng)安裝好的驅(qū)動(dòng)程序拷貝到系統(tǒng)目錄下,以及在注冊(cè)表中記錄某個(gè)該硬件設(shè)備所對(duì)應(yīng)的驅(qū)動(dòng)程序文件名稱、驅(qū)動(dòng)程序來源位置信息和驅(qū)動(dòng)程序目標(biāo)位置信息等。由于是通過光盤安裝,因此驅(qū)動(dòng)程序來源位置信息記錄的是光驅(qū)位置。
步驟116~119,等待目標(biāo)計(jì)算機(jī)登錄后,根據(jù)用戶輸入的信息,源計(jì)算機(jī)廣播或組播某個(gè)分區(qū)的數(shù)據(jù)包,并等待目標(biāo)計(jì)算機(jī)的反饋信息。當(dāng)源計(jì)算機(jī)接收到目標(biāo)計(jì)算機(jī)的反饋信息后遠(yuǎn)程重啟目標(biāo)計(jì)算機(jī)。
實(shí)際上,現(xiàn)有的克隆軟件系統(tǒng)的工作模式是一種主動(dòng)機(jī)和被動(dòng)機(jī)配合的模式,其技術(shù)原理是不識(shí)別計(jì)算機(jī)硬盤上的文件系統(tǒng),而是通過扇區(qū)級(jí)進(jìn)行數(shù)據(jù)訪問,利用廣播和組播協(xié)議一次給多臺(tái)目標(biāo)計(jì)算機(jī)發(fā)送源計(jì)算機(jī)上的數(shù)據(jù),從而達(dá)到快速部署計(jì)算機(jī)軟件系統(tǒng)的目的,這種技術(shù)方案特別適合電子教室和網(wǎng)吧等這種經(jīng)常需要重做計(jì)算機(jī)軟件系統(tǒng)的應(yīng)用環(huán)境。
圖1b所示為現(xiàn)有技術(shù)的目標(biāo)計(jì)算機(jī)克隆軟件系統(tǒng)的實(shí)現(xiàn)流程圖。
步驟121~124,目標(biāo)計(jì)算機(jī)登錄到源計(jì)算機(jī)上,接收廣播數(shù)據(jù)包,將接收到的來自源計(jì)算機(jī)的數(shù)據(jù)全部寫入硬盤,向源計(jì)算機(jī)反饋成功標(biāo)志,并接收來自源計(jì)算機(jī)的控制信號(hào)以重新啟動(dòng)。
步驟125,目標(biāo)計(jì)算機(jī)重新啟動(dòng)后開始運(yùn)行操作系統(tǒng),并依次檢測(cè)自身每個(gè)硬件設(shè)備的規(guī)格信息與注冊(cè)表中已記錄的該硬件設(shè)備對(duì)應(yīng)的規(guī)格信息是否一致,即判斷是否發(fā)現(xiàn)新硬件設(shè)備,如果是則執(zhí)行步驟126;否則執(zhí)行步驟127。
步驟126,目標(biāo)計(jì)算機(jī)正常啟動(dòng),網(wǎng)絡(luò)克隆操作結(jié)束。
步驟127,從注冊(cè)表中獲取該硬件設(shè)備設(shè)備驅(qū)動(dòng)程序安裝源所在位置,由于注冊(cè)表中已記錄的驅(qū)動(dòng)程序來源位置信息是光驅(qū)位置,此時(shí)目標(biāo)計(jì)算機(jī)將提示插入光盤安裝新硬件設(shè)備的驅(qū)動(dòng)程序。用戶在每臺(tái)計(jì)算機(jī)上做手工確認(rèn)操作,之后,目標(biāo)計(jì)算機(jī)重新啟動(dòng),網(wǎng)絡(luò)克隆操作結(jié)束。
眾所周知,在目標(biāo)計(jì)算機(jī)的硬件配置與源計(jì)算機(jī)的硬件配置完全相同的情況下,目標(biāo)計(jì)算機(jī)的檢測(cè)自身每個(gè)硬件設(shè)備的規(guī)格信息與注冊(cè)表中已記錄的該硬件設(shè)備對(duì)應(yīng)的規(guī)格信息肯定完全一致;而在計(jì)算機(jī)的硬件設(shè)備配置與源計(jì)算機(jī)的硬件設(shè)備配置并不完全相同的情況下,其檢測(cè)結(jié)果肯定不會(huì)完全一致。
由此可以看出,現(xiàn)有的網(wǎng)絡(luò)克隆軟件方案或類似的網(wǎng)絡(luò)克隆軟件方案都只支持在源計(jì)算機(jī)與目標(biāo)計(jì)算機(jī)硬件設(shè)備配置完全一樣的計(jì)算機(jī)之間實(shí)現(xiàn)軟件系統(tǒng)克隆。如果硬件設(shè)備配置并不完全一樣,目標(biāo)計(jì)算機(jī)就會(huì)去驅(qū)動(dòng)程序來源位置去尋找該新硬件設(shè)備的驅(qū)動(dòng)程序,這時(shí)就需要用戶去目標(biāo)計(jì)算機(jī)上插入驅(qū)動(dòng)程序光盤,逐個(gè)選擇安裝新硬件設(shè)備的驅(qū)動(dòng)程序。而這種做法非常費(fèi)事費(fèi)力,用戶走到每臺(tái)計(jì)算機(jī)上插入驅(qū)動(dòng)程序光盤安裝驅(qū)動(dòng)程序需要花費(fèi)3分鐘以上的時(shí)間,如果公共機(jī)房?jī)?nèi)有20臺(tái)計(jì)算機(jī)與源計(jì)算機(jī)的硬件設(shè)備配置不一樣,就需要多花費(fèi)60分鐘以上的時(shí)間。
另外,本申請(qǐng)人在申請(qǐng)?zhí)枮椤?00410081162.9”,發(fā)明名稱為“操作系統(tǒng)啟動(dòng)過程中自動(dòng)安裝軟件的方法”的中國(guó)專利申請(qǐng)中,提供了一種自動(dòng)安裝軟件的方法,其主要實(shí)現(xiàn)過程是廠家預(yù)先在硬盤HPA區(qū)內(nèi)設(shè)置驅(qū)動(dòng)程序和/或隨機(jī)軟件及用于執(zhí)行自動(dòng)安裝操作的嵌入式系統(tǒng),用戶通過計(jì)算機(jī)鍵盤上的某個(gè)功能鍵,實(shí)現(xiàn)調(diào)用硬盤HPA區(qū)內(nèi)的嵌入式系統(tǒng),由該嵌入式系統(tǒng)自動(dòng)安裝計(jì)算機(jī)驅(qū)動(dòng)程序和/或隨機(jī)軟件。在該實(shí)現(xiàn)方案中,驅(qū)動(dòng)程序的來源位置信息是硬盤的HPA區(qū),由于每次訪問HPA區(qū)域時(shí)需要用戶啟動(dòng)專門的接口,即仍需用戶走到每臺(tái)計(jì)算機(jī)上啟動(dòng)專門的接口,因此,這種做法仍然非常費(fèi)事,不適合于無(wú)人值守的安裝情形。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的一個(gè)目的在于提供一種實(shí)現(xiàn)網(wǎng)絡(luò)間克隆軟件系統(tǒng)的方法,在不同硬件配置的計(jì)算機(jī)間實(shí)現(xiàn)軟件系統(tǒng)克隆時(shí),不需要用戶去目標(biāo)計(jì)算機(jī)上做手工確認(rèn)操作。本發(fā)明的另一目的在于提供一種用于實(shí)現(xiàn)上述方法的嵌入式系統(tǒng)。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種實(shí)現(xiàn)網(wǎng)絡(luò)間克隆軟件系統(tǒng)的方法,在源計(jì)算機(jī)的HPA內(nèi)設(shè)置硬件設(shè)備的驅(qū)動(dòng)程序,該方法包括以下步驟對(duì)于源計(jì)算機(jī)a、源計(jì)算機(jī)啟動(dòng),確定需要啟動(dòng)網(wǎng)絡(luò)克隆功能后,判斷本機(jī)的硬件設(shè)備是否已安裝驅(qū)動(dòng)程序,如果是,則直接執(zhí)行步驟d,否則執(zhí)行步驟b;b、將HPA內(nèi)的所有硬件設(shè)備的驅(qū)動(dòng)程序全部寫入到硬盤的指定位置,然后在啟動(dòng)程序組中寫入用于自動(dòng)安裝所述驅(qū)動(dòng)程序的腳本文件,重啟動(dòng)計(jì)算機(jī);c、源計(jì)算機(jī)重啟后,直接執(zhí)行啟動(dòng)程序組中的腳本文件,根據(jù)腳本中的指令,查詢本機(jī)內(nèi)待安裝驅(qū)動(dòng)程序的硬件設(shè)備的標(biāo)識(shí),從所述指定位置獲取與查詢到的硬件設(shè)備標(biāo)識(shí)相對(duì)應(yīng)的驅(qū)動(dòng)程序,逐個(gè)安裝,安裝完畢后重啟計(jì)算機(jī),執(zhí)行步驟a;d、源計(jì)算機(jī)以數(shù)據(jù)包的方式向外發(fā)送待克隆數(shù)據(jù),并在接收到來自目標(biāo)計(jì)算機(jī)的寫入完畢反饋信息后,控制目標(biāo)計(jì)算機(jī)重新啟動(dòng);所述待克隆數(shù)據(jù)至少包括操作系統(tǒng)數(shù)據(jù)和硬件設(shè)備驅(qū)動(dòng)程序數(shù)據(jù);對(duì)于目標(biāo)計(jì)算機(jī)目標(biāo)計(jì)算機(jī)將接收到的來自源計(jì)算機(jī)的數(shù)據(jù)全部寫入硬盤,在源計(jì)算機(jī)的控制下重啟,如果檢測(cè)到本地的硬件設(shè)備標(biāo)識(shí)與操作系統(tǒng)數(shù)據(jù)內(nèi)的注冊(cè)表中已記錄的該硬件標(biāo)識(shí)不一致后,從注冊(cè)表中獲取該硬件設(shè)備驅(qū)動(dòng)程序安裝源所在位置,從該位置獲取與本地的硬件設(shè)備標(biāo)識(shí)相對(duì)應(yīng)的硬件設(shè)備驅(qū)動(dòng)程序,自動(dòng)安裝。
較佳地,步驟a所述源計(jì)算機(jī)確定需要啟動(dòng)網(wǎng)絡(luò)克隆功能的過程為源計(jì)算機(jī)判斷內(nèi)存參數(shù)區(qū)預(yù)先設(shè)定的標(biāo)志位是否指示為啟動(dòng)網(wǎng)絡(luò)克隆,如果是,則確定需要啟動(dòng)網(wǎng)絡(luò)克隆功能,否則不需要驅(qū)動(dòng)網(wǎng)絡(luò)克隆功能。
較佳地,步驟a所述源計(jì)算機(jī)啟動(dòng)后判斷本機(jī)的硬件設(shè)備是否已安裝驅(qū)動(dòng)程序的過程為源計(jì)算機(jī)判斷預(yù)先設(shè)定的目錄下是否有指示硬件設(shè)備驅(qū)動(dòng)程序已安裝完畢的指定文件,如果有,則本機(jī)的硬件設(shè)備已安裝驅(qū)動(dòng)程序,否則本機(jī)的硬件設(shè)備未安裝驅(qū)動(dòng)程序;所述指示硬件設(shè)備驅(qū)動(dòng)程序已安裝完畢的指定文件包括但不限于setup.txt文件。
較佳地,步驟b所述指定位置為除硬盤HPA區(qū)以外的位置。
較佳地,步驟c所述從所述指定位置獲取與查詢到的硬件設(shè)備標(biāo)識(shí)相對(duì)應(yīng)的驅(qū)動(dòng)程序逐個(gè)安裝的過程為以靜安裝方式進(jìn)行安裝,并在安裝完畢后,將注冊(cè)表中該硬件設(shè)備的驅(qū)動(dòng)程序信息記錄為靜安裝模式;逐個(gè)安裝完畢后,進(jìn)一步包括在預(yù)先設(shè)定的目錄下寫入指示硬件設(shè)備驅(qū)動(dòng)程序已安裝完畢的指定文件。
較佳地,步驟d所述源計(jì)算機(jī)以廣播或組播的形式向外發(fā)送待克隆數(shù)據(jù)。
較佳地,所述待克隆數(shù)據(jù)進(jìn)一步包括應(yīng)用程序數(shù)據(jù);所述操作系統(tǒng)數(shù)據(jù)為已經(jīng)安裝設(shè)置完畢的操作系統(tǒng)數(shù)據(jù)。
一種用于實(shí)現(xiàn)網(wǎng)絡(luò)間克隆軟件系統(tǒng)的嵌入式系統(tǒng),該嵌入式系統(tǒng)包括I/O接口控制模塊、嵌入式操作系統(tǒng)內(nèi)核模塊、調(diào)用模塊、驅(qū)動(dòng)程序檢查模塊、驅(qū)動(dòng)程序智能安裝模塊和網(wǎng)絡(luò)克隆模塊,其中,所述I/O接口控制模塊,用于接收來自外部設(shè)備的控制指令,啟動(dòng)嵌入式操作系統(tǒng)內(nèi)核模塊;所述嵌入式操作系統(tǒng)內(nèi)核模塊,用于接收來自I/O接口控制模塊的啟動(dòng)指令,啟動(dòng)調(diào)用模塊;或者,用于接收來自調(diào)用模塊的停止指令,關(guān)閉嵌入式系統(tǒng),重新啟動(dòng)計(jì)算機(jī);所述調(diào)用模塊,用于檢查內(nèi)存參數(shù)區(qū)預(yù)先設(shè)定的標(biāo)志位是否指示為啟動(dòng)網(wǎng)絡(luò)克隆功能,如果是則調(diào)用驅(qū)動(dòng)程序檢查模塊,否則返回BIOS進(jìn)行正常啟動(dòng);或者,用于接收來自驅(qū)動(dòng)程序檢查模塊的驅(qū)動(dòng)程序未安裝完畢的檢查結(jié)果信息,調(diào)用驅(qū)動(dòng)程序智能安裝模塊,或接收驅(qū)動(dòng)程序智能安裝模塊返回的要求重啟計(jì)算機(jī)的信息,給嵌入式操作系統(tǒng)內(nèi)核模塊發(fā)送關(guān)閉重啟計(jì)算機(jī)的指令;或者,用于接收來自驅(qū)動(dòng)程序檢查模塊的驅(qū)動(dòng)程序已安裝完畢的檢查結(jié)果信息,調(diào)用網(wǎng)絡(luò)克隆模塊;所述驅(qū)動(dòng)程序檢查模塊,用于檢測(cè)本機(jī)的硬件設(shè)備是否已安裝驅(qū)動(dòng)程序,并將檢查結(jié)果信息返回給調(diào)用模塊;所述驅(qū)動(dòng)程序智能安裝模塊,用于將HPA內(nèi)的所有硬件設(shè)備的驅(qū)動(dòng)程序全部寫入到硬盤的指定位置,在啟動(dòng)程序組中寫入用于自動(dòng)安裝所述驅(qū)動(dòng)程序的腳本文件,然后給調(diào)用模塊返回要求重啟計(jì)算機(jī)的信息;所述網(wǎng)絡(luò)克隆模塊,根據(jù)來自調(diào)用模塊的指令,用于以數(shù)據(jù)包的形式向外發(fā)送指定的待克隆數(shù)據(jù)。
較佳地,所述I/O接口控制模塊位于BIOS內(nèi),所述嵌入式操作系統(tǒng)內(nèi)核模塊、調(diào)用模塊、驅(qū)動(dòng)程序檢查模塊、驅(qū)動(dòng)程序智能安裝模塊和網(wǎng)絡(luò)克隆模塊位于硬盤的HPA內(nèi)。
本發(fā)明提供的實(shí)現(xiàn)網(wǎng)絡(luò)間克隆軟件系統(tǒng)的實(shí)現(xiàn)方法,其關(guān)鍵是,在源計(jì)算機(jī)安裝硬件設(shè)備的驅(qū)動(dòng)時(shí),從硬盤內(nèi)直接獲取所需的驅(qū)動(dòng)程序,并進(jìn)行安裝。在目標(biāo)計(jì)算機(jī)克隆軟件系統(tǒng),并檢測(cè)到本地的硬件設(shè)備標(biāo)識(shí)與注冊(cè)表中已記錄的該硬件設(shè)備標(biāo)識(shí)不一致后,根據(jù)注冊(cè)表的記錄,從該記錄的位置獲取與本地的硬件設(shè)備標(biāo)識(shí)相對(duì)應(yīng)的硬件設(shè)備驅(qū)動(dòng)程序,自動(dòng)執(zhí)行安裝。同時(shí),本發(fā)明還提供了一種用于實(shí)現(xiàn)上述方法的嵌入式系統(tǒng)。應(yīng)用本發(fā)明,在不同硬件配置的計(jì)算機(jī)間實(shí)現(xiàn)軟件系統(tǒng)的克隆時(shí),不再需要用戶去目標(biāo)計(jì)算機(jī)上做手工確認(rèn)操作,使得在公共機(jī)房中只需花費(fèi)較短的時(shí)間就能夠快速克隆出整個(gè)機(jī)房中的幾十臺(tái)目標(biāo)計(jì)算機(jī)。另一方面,應(yīng)用本發(fā)明也允許計(jì)算機(jī)廠家給某個(gè)大客戶同時(shí)提供硬件設(shè)備配置不同的不同批次計(jì)算機(jī)產(chǎn)品,從而提高了運(yùn)作的靈活性。


圖1a所示為現(xiàn)有技術(shù)的源計(jì)算機(jī)安裝軟件系統(tǒng)的實(shí)現(xiàn)流程圖;圖1b所示為現(xiàn)有技術(shù)的目標(biāo)計(jì)算機(jī)克隆軟件系統(tǒng)的實(shí)現(xiàn)流程圖;圖2所示為應(yīng)用本發(fā)明的用于實(shí)現(xiàn)在不同硬件配置的計(jì)算機(jī)間克隆軟件系統(tǒng)的嵌入式系統(tǒng)的結(jié)構(gòu)示意圖;圖3a所示為應(yīng)用本發(fā)明的為源計(jì)算機(jī)安裝軟件系統(tǒng)的流程圖;圖3b所示為應(yīng)用本發(fā)明的目標(biāo)計(jì)算機(jī)克隆軟件系統(tǒng)的實(shí)現(xiàn)流程。
具體實(shí)施例方式
下面結(jié)合附圖,對(duì)本發(fā)明再做進(jìn)一步地詳細(xì)說明。
圖2所示為應(yīng)用本發(fā)明的用于實(shí)現(xiàn)在不同硬件配置的計(jì)算機(jī)間克隆軟件系統(tǒng)的嵌入式系統(tǒng)的結(jié)構(gòu)示意圖。該嵌入式系統(tǒng)包括I/O接口控制模塊201、嵌入式操作系統(tǒng)內(nèi)核模塊202、調(diào)用模塊203、驅(qū)動(dòng)程序檢查模塊204、驅(qū)動(dòng)程序智能安裝模塊205和網(wǎng)絡(luò)克隆模塊206。
其中,I/O接口控制模塊201用于接收來自外部設(shè)備的控制指令,啟動(dòng)嵌入式操作系統(tǒng)內(nèi)核模塊202。
嵌入式操作系統(tǒng)內(nèi)核模塊202用于接收來自I/O接口控制模塊201的啟動(dòng)指令,啟動(dòng)調(diào)用模塊203;或者,用于接收來自調(diào)用模塊203的停止指令,關(guān)閉嵌入式系統(tǒng),重新啟動(dòng)計(jì)算機(jī)。
調(diào)用模塊203用于檢查內(nèi)存參數(shù)區(qū)預(yù)先設(shè)定的標(biāo)志位是否指示為啟動(dòng)網(wǎng)絡(luò)克隆功能,如果是則調(diào)用驅(qū)動(dòng)程序檢查模塊204,以檢查驅(qū)動(dòng)程序是否安裝完畢,否則返回BIOS進(jìn)行正常啟動(dòng);或者,用于接收來自驅(qū)動(dòng)程序檢查模塊204的驅(qū)動(dòng)程序未安裝完畢的檢查結(jié)果信息,調(diào)用驅(qū)動(dòng)程序智能安裝模塊205,或接收驅(qū)動(dòng)程序智能安裝模塊205返回的要求重啟計(jì)算機(jī)的信息,給嵌入式操作系統(tǒng)內(nèi)核模塊202發(fā)送關(guān)閉重啟計(jì)算機(jī)的指令;或者,用于接收來自驅(qū)動(dòng)程序檢查模塊204的驅(qū)動(dòng)程序已安裝完畢的檢查結(jié)果信息,調(diào)用網(wǎng)絡(luò)克隆模塊206。
驅(qū)動(dòng)程序檢查模塊204用于檢測(cè)本機(jī)的硬件設(shè)備是否已安裝驅(qū)動(dòng)程序,并將檢查結(jié)果信息返回給調(diào)用模塊203;具體的檢測(cè)方法是判斷預(yù)先設(shè)定的目錄下是否有指示硬件設(shè)備驅(qū)動(dòng)程序已安裝完畢的指定文件,如果有,則說明本機(jī)的硬件設(shè)備已安裝了驅(qū)動(dòng)程序,給調(diào)用模塊203返回安裝完畢的信息,如果沒有,則說明本機(jī)的硬件設(shè)備還未安裝驅(qū)動(dòng)程序,給調(diào)用模塊203返回未安裝完畢的信息。
驅(qū)動(dòng)程序智能安裝模塊205用于將已預(yù)設(shè)在HPA內(nèi)的所有硬件設(shè)備的驅(qū)動(dòng)程序全部寫入到硬盤的指定位置,且該指定位置為硬盤的HPA區(qū)以外的位置,并在啟動(dòng)程序組中寫入用于自動(dòng)安裝所述驅(qū)動(dòng)程序的腳本文件,然后給調(diào)用模塊203返回要求重啟計(jì)算機(jī)的信息;網(wǎng)絡(luò)克隆模塊206用于以數(shù)據(jù)包的形式通過廣播或組播的方式向局域網(wǎng)發(fā)送用戶指定的待克隆數(shù)據(jù)。所述待克隆數(shù)據(jù)至少包括已安裝設(shè)置完畢的操作系統(tǒng)數(shù)據(jù)和硬件設(shè)備驅(qū)動(dòng)程序數(shù)據(jù),當(dāng)然,該待克隆數(shù)據(jù)中還可以進(jìn)一步包括應(yīng)用程序數(shù)據(jù)。
上述I/O接口控制模塊201位于BIOS內(nèi),上述嵌入式操作系統(tǒng)內(nèi)核模塊202、調(diào)用模塊203、驅(qū)動(dòng)程序檢查模塊204、驅(qū)動(dòng)程序智能安裝模塊205和網(wǎng)絡(luò)克隆模塊206位于硬盤的HPA內(nèi)。
圖3所示為應(yīng)用本發(fā)明在不同硬件設(shè)備平臺(tái)間克隆軟件系統(tǒng)的實(shí)現(xiàn)流程圖。為完成網(wǎng)絡(luò)克隆軟件系統(tǒng)的工作,主要有兩個(gè)任務(wù)第一個(gè)任務(wù)是為源計(jì)算機(jī)安裝軟件系統(tǒng),參見圖3a,第二個(gè)任務(wù)是通過復(fù)制克隆技術(shù)一次性地為公共機(jī)房?jī)?nèi)的所有目標(biāo)計(jì)算機(jī)安裝與源計(jì)算機(jī)一樣的軟件系統(tǒng),參見圖3b。
下面結(jié)合具體實(shí)施例及流程圖進(jìn)行說明。
假設(shè)有一批計(jì)算機(jī),共41臺(tái),是在不同時(shí)期分兩次采購(gòu)的,第一次采購(gòu)了20臺(tái),第二次采購(gòu)了21臺(tái),第一批計(jì)算機(jī)的顯示卡是微星公司生產(chǎn)的ATI9600,第二批計(jì)算機(jī)的顯示卡是保龍達(dá)公司的Nvidia GF6200,除了顯示卡有區(qū)別外,其他所有硬件設(shè)備配置都完全相同,目標(biāo)用戶希望能在硬盤上安裝WindowsXP,一次性給教室里的40臺(tái)學(xué)生機(jī)克隆軟件系統(tǒng),用于不同的班級(jí)上課。
首先將教室里的41臺(tái)電腦的各種物理連線都安裝好,然后選某一臺(tái)當(dāng)作教師機(jī),即選擇一臺(tái)作為源計(jì)算機(jī)。由于現(xiàn)有的軟件系統(tǒng),包括應(yīng)用程序和驅(qū)動(dòng)程序等,通常具有向前兼容的特性,因此,一般選擇具有最新軟件系統(tǒng)的計(jì)算機(jī)為源計(jì)算機(jī),這樣,可以兼容在其之前的程序。
下面結(jié)合圖3具體說明實(shí)現(xiàn)流程。
圖3a所示為應(yīng)用本發(fā)明的為源計(jì)算機(jī)安裝軟件系統(tǒng)的流程圖。源計(jì)算機(jī)的HPA內(nèi)預(yù)先設(shè)置所有硬件設(shè)備的驅(qū)動(dòng)程序,以及用于實(shí)現(xiàn)在不同硬件設(shè)備平臺(tái)間克隆軟件系統(tǒng)的嵌入式系統(tǒng)。
步驟311,給硬盤分區(qū)。
步驟312,使用操作系統(tǒng)安裝光盤分別在每個(gè)分區(qū)內(nèi)安裝操作系統(tǒng)。
步驟313,源計(jì)算機(jī)啟動(dòng)后,根據(jù)內(nèi)存參數(shù)區(qū)預(yù)先設(shè)定的標(biāo)志位是否指示為啟動(dòng)網(wǎng)絡(luò)克隆來確定是否需要啟動(dòng)網(wǎng)絡(luò)克隆功能,如果需要執(zhí)行克隆功能,則執(zhí)行步驟314,如果不需要執(zhí)行克隆功能,則繼續(xù)正常啟動(dòng)計(jì)算機(jī),結(jié)束。
具體的執(zhí)行過程如下在開機(jī)POST階段按下鍵盤上預(yù)定義的功能鍵,如F4鍵,此時(shí),BIOS中的I/O接口控制模塊檢測(cè)到該按鍵信號(hào)后,在內(nèi)存的F000段偏移量13H處填上該功能鍵被按下的標(biāo)志01H,然后開始使用SetMaxAddress()指令打開硬盤HPA區(qū),啟動(dòng)嵌入式操作系統(tǒng)內(nèi)核模塊,由操作系統(tǒng)內(nèi)核模塊啟動(dòng)調(diào)用模塊。調(diào)用模塊檢查內(nèi)存參數(shù)區(qū)中的標(biāo)志位,以確定是否需要啟動(dòng)網(wǎng)絡(luò)克隆功能,如檢測(cè)到內(nèi)存的F000段偏移量13H處的標(biāo)志為01H,則確定需要啟動(dòng)網(wǎng)絡(luò)克隆功能。
步驟314,判斷本機(jī)的硬件設(shè)備是否已安裝驅(qū)動(dòng)程序,如果是,則直接執(zhí)行步驟317,否則執(zhí)行步驟315。
具體的執(zhí)行過程如下調(diào)用模塊檢測(cè)的F000段偏移量13H處的值為01H后,就啟動(dòng)驅(qū)動(dòng)程序檢查模塊,由驅(qū)動(dòng)程序檢查模塊執(zhí)行判斷操作,具體判斷過程為驅(qū)動(dòng)程序檢查模塊判斷預(yù)先設(shè)定的目錄下是否有指示硬件設(shè)備驅(qū)動(dòng)程序已安裝完畢的指定文件,如判斷C盤的LSDrv目錄下是否存在Setup.txt文件,如果有,則說明本機(jī)的硬件設(shè)備已安裝驅(qū)動(dòng)程序,否則說明本機(jī)的硬件設(shè)備未安裝驅(qū)動(dòng)程序。以上所述目錄及文件僅是舉例而已,并不限定于此,以下同。
步驟315,調(diào)用模塊啟動(dòng)驅(qū)動(dòng)程序智能安裝模塊,由該驅(qū)動(dòng)程序智能安裝模塊將HPA內(nèi)的所有硬件設(shè)備的驅(qū)動(dòng)程序全部寫入到硬盤的指定位置,該指定位置為除硬盤HPA區(qū)以外的位置,如寫入C盤的LSDrv目錄下,然后在啟動(dòng)程序組中寫入用于自動(dòng)安裝所述驅(qū)動(dòng)程序的腳本文件,如autodrv.lnk,該腳本文件的作用是在計(jì)算機(jī)啟動(dòng)時(shí)直接調(diào)用LSDrv目錄下的setup.exe,從而實(shí)現(xiàn)自動(dòng)安裝的目的,然后重啟動(dòng)計(jì)算機(jī)。
步驟316,源計(jì)算機(jī)重啟后,直接執(zhí)行啟動(dòng)程序組中的腳本文件autodrv.lnk,根據(jù)該文件的指令,啟動(dòng)LSDrv目錄下的setup.exe,該安裝程序查詢本機(jī)內(nèi)待安裝驅(qū)動(dòng)程序的硬件設(shè)備的標(biāo)識(shí),從所述指定位置,如C盤的LSDrv目錄下,獲取與查詢到的硬件設(shè)備標(biāo)識(shí)相對(duì)應(yīng)的驅(qū)動(dòng)程序,逐個(gè)安裝,安裝完畢后執(zhí)行步驟317。
具體安裝過程為根據(jù)這些硬件設(shè)備標(biāo)識(shí),即ID號(hào),從LSDrv目錄下尋找到對(duì)應(yīng)的驅(qū)動(dòng)程序的setup.exe,以setup.exe/s這種方式進(jìn)行啟動(dòng),驅(qū)動(dòng)程序安裝結(jié)束后,將注冊(cè)表中該硬件設(shè)備的驅(qū)動(dòng)程序的信息由交互式安裝方式修改為靜安裝方式,而且此時(shí)注冊(cè)表中已記錄的驅(qū)動(dòng)程序來源位置信息是C盤的LSDrv目錄,重復(fù)上述步驟,直到安裝完全部新硬件設(shè)備的驅(qū)動(dòng)程序。之后,在LSDrv目錄下創(chuàng)建Setup.txt文件,然后重新啟動(dòng)計(jì)算機(jī),再次執(zhí)行步驟313。
步驟317~320,等待目標(biāo)計(jì)算機(jī)登錄后,根據(jù)用戶輸入的信息,源計(jì)算機(jī)以數(shù)據(jù)包的方式向局域網(wǎng)內(nèi)廣播或組播待克隆數(shù)據(jù),并等待目標(biāo)計(jì)算機(jī)的反饋信息。當(dāng)源計(jì)算機(jī)接收到來自目標(biāo)計(jì)算機(jī)的寫入完畢反饋信息后遠(yuǎn)程控制目標(biāo)計(jì)算機(jī)重啟。所述待克隆數(shù)據(jù)至少包括已安裝設(shè)置完畢的操作系統(tǒng)數(shù)據(jù)和硬件設(shè)備驅(qū)動(dòng)程序數(shù)據(jù),當(dāng)然,該待克隆數(shù)據(jù)中還可以進(jìn)一步包括應(yīng)用程序數(shù)據(jù)。
圖3b所示為應(yīng)用本發(fā)明的目標(biāo)計(jì)算機(jī)克隆軟件系統(tǒng)的實(shí)現(xiàn)流程。
步驟321~324,目標(biāo)計(jì)算機(jī)登錄到源計(jì)算機(jī)上,接收廣播或組播數(shù)據(jù)包,將接收到的來自源計(jì)算機(jī)的數(shù)據(jù)全部寫入硬盤,向源計(jì)算機(jī)反饋寫入成功標(biāo)志,并接收來自源計(jì)算機(jī)的控制信號(hào)以重新啟動(dòng)。
步驟325,目標(biāo)計(jì)算機(jī)重啟后,開始運(yùn)行操作系統(tǒng),并依次檢測(cè)自身每個(gè)硬件設(shè)備的標(biāo)識(shí)與操作系統(tǒng)數(shù)據(jù)內(nèi)的注冊(cè)表中已記錄的該硬件設(shè)備對(duì)應(yīng)的標(biāo)識(shí)是否一致,如果一致則執(zhí)行步驟326;如果不一致則執(zhí)行步驟327。
在本實(shí)施例中,目標(biāo)計(jì)算機(jī)檢測(cè)到顯卡的標(biāo)識(shí)與注冊(cè)表中的標(biāo)識(shí)不一致,因此需要執(zhí)行步驟327。
步驟326,目標(biāo)計(jì)算機(jī)重新啟動(dòng)或不做處理,其具體的處理方式可根據(jù)需要設(shè)定,網(wǎng)絡(luò)克隆操作結(jié)束。
步驟327,從注冊(cè)表中獲取該硬件設(shè)備驅(qū)動(dòng)程序安裝源所在位置,即獲取硬件設(shè)備驅(qū)動(dòng)程序安裝源所在位置,由于注冊(cè)表中已記錄的驅(qū)動(dòng)程序來源位置信息記錄的是C盤的LSDrv目錄,因此,目標(biāo)計(jì)算機(jī)直接從本地的C盤的LSDrv目錄下獲取與本地的硬件設(shè)備標(biāo)識(shí)相對(duì)應(yīng)的硬件設(shè)備驅(qū)動(dòng)程序,并自動(dòng)安裝。在目標(biāo)計(jì)算機(jī)執(zhí)行安裝的過程是不需要用戶的手工干預(yù)的。可見實(shí)現(xiàn)了在不同硬件設(shè)備平臺(tái)之間網(wǎng)絡(luò)克隆計(jì)算機(jī)軟件系統(tǒng),而不需要用戶走到每臺(tái)目標(biāo)計(jì)算機(jī)上進(jìn)行手工操作的目的。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種實(shí)現(xiàn)網(wǎng)絡(luò)間克隆軟件系統(tǒng)的方法,其特征在于,在源計(jì)算機(jī)的HPA內(nèi)設(shè)置硬件設(shè)備的驅(qū)動(dòng)程序,該方法包括以下步驟對(duì)于源計(jì)算機(jī)a、源計(jì)算機(jī)啟動(dòng),確定需要啟動(dòng)網(wǎng)絡(luò)克隆功能后,判斷本機(jī)的硬件設(shè)備是否已安裝驅(qū)動(dòng)程序,如果是,則直接執(zhí)行步驟d,否則執(zhí)行步驟b;b、將HPA內(nèi)的所有硬件設(shè)備的驅(qū)動(dòng)程序全部寫入到硬盤的指定位置,然后在啟動(dòng)程序組中寫入用于自動(dòng)安裝所述驅(qū)動(dòng)程序的腳本文件,重啟動(dòng)計(jì)算機(jī);c、源計(jì)算機(jī)重啟后,直接執(zhí)行啟動(dòng)程序組中的腳本文件,根據(jù)腳本中的指令,查詢本機(jī)內(nèi)待安裝驅(qū)動(dòng)程序的硬件設(shè)備的標(biāo)識(shí),從所述指定位置獲取與查詢到的硬件設(shè)備標(biāo)識(shí)相對(duì)應(yīng)的驅(qū)動(dòng)程序,逐個(gè)安裝,安裝完畢后重啟計(jì)算機(jī),執(zhí)行步驟a;d、源計(jì)算機(jī)以數(shù)據(jù)包的方式向外發(fā)送待克隆數(shù)據(jù),并在接收到來自目標(biāo)計(jì)算機(jī)的寫入完畢反饋信息后,控制目標(biāo)計(jì)算機(jī)重新啟動(dòng);所述待克隆數(shù)據(jù)至少包括操作系統(tǒng)數(shù)據(jù)和硬件設(shè)備驅(qū)動(dòng)程序數(shù)據(jù);對(duì)于目標(biāo)計(jì)算機(jī)目標(biāo)計(jì)算機(jī)將接收到的來自源計(jì)算機(jī)的數(shù)據(jù)全部寫入硬盤,在源計(jì)算機(jī)的控制下重啟,如果檢測(cè)到本地的硬件設(shè)備標(biāo)識(shí)與操作系統(tǒng)數(shù)據(jù)內(nèi)的注冊(cè)表中已記錄的該硬件標(biāo)識(shí)不一致后,從注冊(cè)表中獲取該硬件設(shè)備驅(qū)動(dòng)程序安裝源所在位置,從該位置獲取與本地的硬件設(shè)備標(biāo)識(shí)相對(duì)應(yīng)的硬件設(shè)備驅(qū)動(dòng)程序,自動(dòng)安裝。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟a所述源計(jì)算機(jī)確定需要啟動(dòng)網(wǎng)絡(luò)克隆功能的過程為源計(jì)算機(jī)判斷內(nèi)存參數(shù)區(qū)預(yù)先設(shè)定的標(biāo)志位是否指示為啟動(dòng)網(wǎng)絡(luò)克隆,如果是,則確定需要啟動(dòng)網(wǎng)絡(luò)克隆功能,否則不需要驅(qū)動(dòng)網(wǎng)絡(luò)克隆功能。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟a所述源計(jì)算機(jī)啟動(dòng)后判斷本機(jī)的硬件設(shè)備是否已安裝驅(qū)動(dòng)程序的過程為源計(jì)算機(jī)判斷預(yù)先設(shè)定的目錄下是否有指示硬件設(shè)備驅(qū)動(dòng)程序已安裝完畢的指定文件,如果有,則本機(jī)的硬件設(shè)備已安裝驅(qū)動(dòng)程序,否則本機(jī)的硬件設(shè)備未安裝驅(qū)動(dòng)程序;所述指示硬件設(shè)備驅(qū)動(dòng)程序已安裝完畢的指定文件包括但不限于setup.txt文件。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟b所述指定位置為除硬盤HPA區(qū)以外的位置。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟c所述從所述指定位置獲取與查詢到的硬件設(shè)備標(biāo)識(shí)相對(duì)應(yīng)的驅(qū)動(dòng)程序逐個(gè)安裝的過程為以靜安裝方式進(jìn)行安裝,并在安裝完畢后,將注冊(cè)表中該硬件設(shè)備的驅(qū)動(dòng)程序信息記錄為靜安裝模式;逐個(gè)安裝完畢后,進(jìn)一步包括在預(yù)先設(shè)定的目錄下寫入指示硬件設(shè)備驅(qū)動(dòng)程序已安裝完畢的指定文件。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟d所述源計(jì)算機(jī)以廣播或組播的形式向外發(fā)送待克隆數(shù)據(jù)。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述待克隆數(shù)據(jù)進(jìn)一步包括應(yīng)用程序數(shù)據(jù);所述操作系統(tǒng)數(shù)據(jù)為已經(jīng)安裝設(shè)置完畢的操作系統(tǒng)數(shù)據(jù)。
8.一種用于實(shí)現(xiàn)網(wǎng)絡(luò)間克隆軟件系統(tǒng)的嵌入式系統(tǒng),其特征在于,該嵌入式系統(tǒng)包括I/O接口控制模塊、嵌入式操作系統(tǒng)內(nèi)核模塊、調(diào)用模塊、驅(qū)動(dòng)程序檢查模塊、驅(qū)動(dòng)程序智能安裝模塊和網(wǎng)絡(luò)克隆模塊,其中,所述I/O接口控制模塊,用于接收來自外部設(shè)備的控制指令,啟動(dòng)嵌入式操作系統(tǒng)內(nèi)核模塊;所述嵌入式操作系統(tǒng)內(nèi)核模塊,用于接收來自I/O接口控制模塊的啟動(dòng)指令,啟動(dòng)調(diào)用模塊;或者,用于接收來自調(diào)用模塊的停止指令,關(guān)閉嵌入式系統(tǒng),重新啟動(dòng)計(jì)算機(jī);所述調(diào)用模塊,用于檢查內(nèi)存參數(shù)區(qū)預(yù)先設(shè)定的標(biāo)志位是否指示為啟動(dòng)網(wǎng)絡(luò)克隆功能,如果是則調(diào)用驅(qū)動(dòng)程序檢查模塊,否則返回BIOS進(jìn)行正常啟動(dòng);或者,用于接收來自驅(qū)動(dòng)程序檢查模塊的驅(qū)動(dòng)程序未安裝完畢的檢查結(jié)果信息,調(diào)用驅(qū)動(dòng)程序智能安裝模塊,或接收驅(qū)動(dòng)程序智能安裝模塊返回的要求重啟計(jì)算機(jī)的信息,給嵌入式操作系統(tǒng)內(nèi)核模塊發(fā)送關(guān)閉重啟計(jì)算機(jī)的指令;或者,用于接收來自驅(qū)動(dòng)程序檢查模塊的驅(qū)動(dòng)程序已安裝完畢的檢查結(jié)果信息,調(diào)用網(wǎng)絡(luò)克隆模塊;所述驅(qū)動(dòng)程序檢查模塊,用于檢測(cè)本機(jī)的硬件設(shè)備是否已安裝驅(qū)動(dòng)程序,并將檢查結(jié)果信息返回給調(diào)用模塊;所述驅(qū)動(dòng)程序智能安裝模塊,用于將HPA內(nèi)的所有硬件設(shè)備的驅(qū)動(dòng)程序全部寫入到硬盤的指定位置,在啟動(dòng)程序組中寫入用于自動(dòng)安裝所述驅(qū)動(dòng)程序的腳本文件,然后給調(diào)用模塊返回要求重啟計(jì)算機(jī)的信息;所述網(wǎng)絡(luò)克隆模塊,根據(jù)來自調(diào)用模塊的指令,用于以數(shù)據(jù)包的形式向外發(fā)送指定的待克隆數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的嵌入式系統(tǒng),其特征在于,所述I/O接口控制模塊位于BIOS內(nèi),所述嵌入式操作系統(tǒng)內(nèi)核模塊、調(diào)用模塊、驅(qū)動(dòng)程序檢查模塊、驅(qū)動(dòng)程序智能安裝模塊和網(wǎng)絡(luò)克隆模塊位于硬盤的HPA內(nèi)。
全文摘要
本發(fā)明提供了一種實(shí)現(xiàn)網(wǎng)絡(luò)間克隆軟件系統(tǒng)的實(shí)現(xiàn)方法,關(guān)鍵是,在源計(jì)算機(jī)安裝硬件設(shè)備的驅(qū)動(dòng)時(shí),從硬盤內(nèi)直接獲取所需的驅(qū)動(dòng)程序并進(jìn)行安裝。在目標(biāo)計(jì)算機(jī)克隆軟件系統(tǒng),并檢測(cè)到本地的硬件設(shè)備標(biāo)識(shí)與注冊(cè)表中已記錄的該硬件設(shè)備標(biāo)識(shí)不一致后,根據(jù)注冊(cè)表的記錄,從該記錄的位置直接獲取與本地的硬件設(shè)備標(biāo)識(shí)相對(duì)應(yīng)的硬件設(shè)備驅(qū)動(dòng)程序,自動(dòng)執(zhí)行安裝。同時(shí),本發(fā)明還提供了一種用于實(shí)現(xiàn)上述方法的嵌入式系統(tǒng)。應(yīng)用本發(fā)明,在不同硬件配置的計(jì)算機(jī)間實(shí)現(xiàn)軟件系統(tǒng)的克隆時(shí),不再需要用戶去目標(biāo)計(jì)算機(jī)上做手工確認(rèn)操作。另一方面,應(yīng)用本發(fā)明也允許計(jì)算機(jī)廠家給某個(gè)大客戶同時(shí)提供硬件配置不同的不同批次計(jì)算機(jī)產(chǎn)品,從而提高了運(yùn)作的靈活性。
文檔編號(hào)G06F9/445GK1869934SQ200510074620
公開日2006年11月29日 申請(qǐng)日期2005年5月27日 優(yōu)先權(quán)日2005年5月27日
發(fā)明者王晚丁, 王曉艷, 張宗宏 申請(qǐng)人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
应城市| 江西省| 运城市| 泰宁县| 榆中县| 博客| 光泽县| 莒南县| 襄汾县| 方城县| 古丈县| 衡山县| 凉山| 探索| 芮城县| 清水河县| 北安市| 泸州市| 四平市| 阿拉善右旗| 通榆县| 阳原县| 石泉县| 无棣县| 庆阳市| 武穴市| 牙克石市| 岳池县| 新安县| 胶州市| 安远县| 临武县| 利津县| 改则县| 新龙县| 建始县| 榆社县| 夹江县| 东乌珠穆沁旗| 麻栗坡县| 颍上县|