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

一種Linux虛擬機遷移方法及系統(tǒng)與流程

文檔序號:12786174閱讀:208來源:國知局
一種Linux虛擬機遷移方法及系統(tǒng)與流程

本發(fā)明涉及虛擬機技術(shù)領(lǐng)域,特別涉及一種Linux虛擬機遷移方法及系統(tǒng)。



背景技術(shù):

當(dāng)前,隨著計算機虛擬化技術(shù)的快速發(fā)展,Linux虛擬機的應(yīng)用范圍不斷擴大,受到銀行、政府、部隊以及各種大小企業(yè)的關(guān)注。在現(xiàn)有的虛擬機應(yīng)用過程中,人們時常需要將Linux虛擬機從一個虛擬化平臺遷移至另一個虛擬化平臺。然而,在Linux虛擬機遷移之前,人們需要先關(guān)閉Linux虛擬機,然后才對Linux虛擬機進行遷移,這樣便導(dǎo)致在Linux虛擬機遷移的過程中,用戶長時間無法正常使用該虛擬機所提供的虛擬化服務(wù),從而對用戶體驗造成極大的不良影響。

綜上所述可以看出,如何在對Linux虛擬機進行遷移的過程中減少虛擬機停機時間是目前亟待解決的問題。



技術(shù)實現(xiàn)要素:

有鑒于此,本發(fā)明的目的在于提供一種Linux虛擬機遷移方法及系統(tǒng),能夠在對Linux虛擬機進行遷移的過程中大幅減少虛擬機停機時間。其具體方案如下:

一種Linux虛擬機遷移方法,包括:

步驟S11:將當(dāng)前處于在線狀態(tài)的源虛擬機上的全部內(nèi)存數(shù)據(jù)拷貝至當(dāng)前處于下線狀態(tài)的目標(biāo)虛擬機;

步驟S12:在內(nèi)存數(shù)據(jù)拷貝過程中實時監(jiān)視所述源虛擬機上的內(nèi)存數(shù)據(jù)是否發(fā)生變化,如果是,則進入步驟S13,如果否,則將所述源虛擬機的運行狀態(tài)切換成下線狀態(tài),并進入步驟S16;

步驟S13:判斷當(dāng)前所述源虛擬機和所述目標(biāo)虛擬機之間的內(nèi)存數(shù)據(jù)差異程度是否小于預(yù)設(shè)程度,如果否,則進入步驟S14,如果是,則進入步驟S15;

步驟S14:將所述源虛擬機在上一次內(nèi)存數(shù)據(jù)拷貝過程中由于內(nèi)存數(shù)據(jù)發(fā)生變化而產(chǎn)生的臟內(nèi)存數(shù)據(jù)拷貝至所述目標(biāo)虛擬機,并進入步驟S12;

步驟S15:將所述源虛擬機的運行狀態(tài)切換成下線狀態(tài),并將所述源虛擬機在上一次內(nèi)存數(shù)據(jù)拷貝過程由于內(nèi)存數(shù)據(jù)發(fā)生變化而產(chǎn)生的臟內(nèi)存數(shù)據(jù)拷貝至所述目標(biāo)虛擬機;

步驟S16:將所述目標(biāo)虛擬機的運行狀態(tài)切換成上線狀態(tài)。

可選的,所述源虛擬機和所述目標(biāo)虛擬機為位于不同虛擬化平臺上的虛擬機。

可選的,在所述目標(biāo)虛擬機處于下線狀態(tài)的情況下,還包括:

判斷所述目標(biāo)虛擬機的內(nèi)核是否需要進行更新,若是,則對所述目標(biāo)虛擬機的內(nèi)核進行更新。

可選的,所述判斷所述目標(biāo)虛擬機的內(nèi)核是否需要進行更新,若是,則對所述目標(biāo)虛擬機的內(nèi)核進行更新的過程,包括:

利用互聯(lián)網(wǎng)上的內(nèi)核庫,判斷所述目標(biāo)虛擬機的內(nèi)核版本是否為最新內(nèi)核版本;

若判定出所述目標(biāo)虛擬機的內(nèi)核版本不是最新內(nèi)核版本,則從互聯(lián)網(wǎng)上下載所述目標(biāo)虛擬機的最新內(nèi)核版本,然后利用該最新內(nèi)核版本對所述目標(biāo)虛擬機的內(nèi)核進行更新。

可選的,所述判斷所述目標(biāo)虛擬機的內(nèi)核是否需要進行更新,若是,則對所述目標(biāo)虛擬機的內(nèi)核進行更新的過程,包括:

利用當(dāng)前虛擬化平臺上的已有內(nèi)核,判斷當(dāng)前虛擬化平臺上是否存在比所述目標(biāo)虛擬機的內(nèi)核版本更高的內(nèi)核版本,如果是,則利用該內(nèi)核版本對所述目標(biāo)虛擬機的內(nèi)核進行相應(yīng)地更新。

本發(fā)明還相應(yīng)公開了一種Linux虛擬機遷移系統(tǒng),包括內(nèi)存數(shù)據(jù)拷貝模塊、內(nèi)存數(shù)據(jù)監(jiān)視模塊、判斷模塊、源虛擬機狀態(tài)切換模塊以及目標(biāo)虛擬機狀態(tài)切換模塊;其中,

所述內(nèi)存數(shù)據(jù)拷貝模塊,用于將當(dāng)前處于在線狀態(tài)的源虛擬機上的全部內(nèi)存數(shù)據(jù)拷貝至當(dāng)前處于下線狀態(tài)的目標(biāo)虛擬機;

所述內(nèi)存數(shù)據(jù)監(jiān)視模塊,用于在所述內(nèi)存數(shù)據(jù)拷貝模塊進行內(nèi)存數(shù)據(jù)拷貝過程中實時監(jiān)視所述源虛擬機上的內(nèi)存數(shù)據(jù)是否發(fā)生變化,如果是,則觸發(fā)所述判斷模塊啟動,如果否,則利用所述源虛擬機狀態(tài)切換模塊,將所述源虛擬機的運行狀態(tài)切換成下線狀態(tài),并觸發(fā)所述目標(biāo)虛擬機狀態(tài)切換模塊啟動;

所述判斷模塊,用于判斷當(dāng)前所述源虛擬機和所述目標(biāo)虛擬機之間的內(nèi)存數(shù)據(jù)差異程度是否小于預(yù)設(shè)程度,如果否,則通過所述內(nèi)存數(shù)據(jù)拷貝模塊,將所述源虛擬機在上一次內(nèi)存數(shù)據(jù)拷貝過程中由于內(nèi)存數(shù)據(jù)發(fā)生變化而產(chǎn)生的臟內(nèi)存數(shù)據(jù)拷貝至所述目標(biāo)虛擬機,并重新觸發(fā)所述內(nèi)存數(shù)據(jù)監(jiān)視模塊啟動,如果是,則通過所述源虛擬機狀態(tài)切換模塊,將所述源虛擬機的運行狀態(tài)切換成下線狀態(tài),并通過所述內(nèi)存數(shù)據(jù)拷貝模塊,將所述源虛擬機在上一次內(nèi)存數(shù)據(jù)拷貝過程由于內(nèi)存數(shù)據(jù)發(fā)生變化而產(chǎn)生的臟內(nèi)存數(shù)據(jù)拷貝至所述目標(biāo)虛擬機,然后觸發(fā)所述目標(biāo)虛擬機狀態(tài)切換模塊啟動;

所述目標(biāo)虛擬機狀態(tài)切換模塊,用于將所述目標(biāo)虛擬機的運行狀態(tài)切換成上線狀態(tài)。

可選的,所述源虛擬機和所述目標(biāo)虛擬機為位于不同虛擬化平臺上的虛擬機。

可選的,所述Linux虛擬機遷移系統(tǒng),還包括:

內(nèi)核更新模塊,用于在所述目標(biāo)虛擬機處于下線狀態(tài)的情況下,判斷所述目標(biāo)虛擬機的內(nèi)核是否需要進行更新,若是,則對所述目標(biāo)虛擬機的內(nèi)核進行更新。

可選的,所述內(nèi)核更新模塊,包括:

第一判斷單元,用于在所述目標(biāo)虛擬機處于下線狀態(tài)的情況下,利用互聯(lián)網(wǎng)上的內(nèi)核庫,判斷所述目標(biāo)虛擬機的內(nèi)核版本是否為最新內(nèi)核版本;

第一更新單元,用于當(dāng)所述第一判斷單元判定出所述目標(biāo)虛擬機的內(nèi)核版本不是最新內(nèi)核版本,則從互聯(lián)網(wǎng)上下載所述目標(biāo)虛擬機的最新內(nèi)核版本,然后利用該最新內(nèi)核版本對所述目標(biāo)虛擬機的內(nèi)核進行更新。

可選的,所述內(nèi)核更新模塊,具體用于在所述目標(biāo)虛擬機處于下線狀態(tài)的情況下,利用當(dāng)前虛擬化平臺上的已有內(nèi)核,判斷當(dāng)前虛擬化平臺上是否存在比所述目標(biāo)虛擬機的內(nèi)核版本更高的內(nèi)核版本,如果是,則利用該內(nèi)核版本對所述目標(biāo)虛擬機的內(nèi)核進行相應(yīng)地更新。

本發(fā)明中,Linux虛擬機遷移方法,包括:步驟S11:將當(dāng)前處于在線狀態(tài)的源虛擬機上的全部內(nèi)存數(shù)據(jù)拷貝至當(dāng)前處于下線狀態(tài)的目標(biāo)虛擬機;步驟S12:在內(nèi)存數(shù)據(jù)拷貝過程中實時監(jiān)視源虛擬機上的內(nèi)存數(shù)據(jù)是否發(fā)生變化,如果是,則進入步驟S13,如果否,則將源虛擬機的運行狀態(tài)切換成下線狀態(tài),并進入步驟S16;步驟S13:判斷當(dāng)前源虛擬機和目標(biāo)虛擬機之間的內(nèi)存數(shù)據(jù)差異程度是否小于預(yù)設(shè)程度,如果否,則進入步驟S14,如果是,則進入步驟S15;步驟S14:將源虛擬機在上一次內(nèi)存數(shù)據(jù)拷貝過程中由于內(nèi)存數(shù)據(jù)發(fā)生變化而產(chǎn)生的臟內(nèi)存數(shù)據(jù)拷貝至目標(biāo)虛擬機,并進入步驟S12;步驟S15:將源虛擬機的運行狀態(tài)切換成下線狀態(tài),并將源虛擬機在上一次內(nèi)存數(shù)據(jù)拷貝過程由于內(nèi)存數(shù)據(jù)發(fā)生變化而產(chǎn)生的臟內(nèi)存數(shù)據(jù)拷貝至目標(biāo)虛擬機;步驟S16:將目標(biāo)虛擬機的運行狀態(tài)切換成上線狀態(tài)。

可見,本發(fā)明是在源虛擬機處于在線狀態(tài)的情況下,便對源虛擬機中的內(nèi)存數(shù)據(jù)展開拷貝遷移處理,并將每次內(nèi)存數(shù)據(jù)拷貝過程中發(fā)生改變的內(nèi)存數(shù)據(jù)不斷拷貝到目標(biāo)虛擬機中,直到源虛擬機和目標(biāo)虛擬機之間的內(nèi)存數(shù)據(jù)差異程度小于預(yù)設(shè)程度為止,然后才將源虛擬機的運行狀態(tài)切換成下線狀態(tài),接著將源虛擬機中少量剩下的臟內(nèi)存數(shù)據(jù)拷貝至目標(biāo)虛擬機,由于最后一次需要拷貝的數(shù)據(jù)量較少,所以最后一次拷貝所需時間非常短,當(dāng)最后一次拷貝結(jié)束后,便將目標(biāo)虛擬機的運行狀態(tài)切換成上線狀態(tài),以接替源虛擬機的工作。由此可見,在源虛擬機的整個遷移過程中,停止提供虛擬化服務(wù)的時間是非常短的,從而能夠大幅改善虛擬機用戶的用戶體驗。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。

圖1為本發(fā)明實施例公開的一種Linux虛擬機遷移方法流程圖;

圖2為本發(fā)明實施例公開的一種Linux虛擬機遷移系統(tǒng)結(jié)構(gòu)示意圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明實施例公開了一種Linux虛擬機遷移方法,參見圖1所示,該方法包括:

步驟S11:將當(dāng)前處于在線狀態(tài)的源虛擬機上的全部內(nèi)存數(shù)據(jù)拷貝至當(dāng)前處于下線狀態(tài)的目標(biāo)虛擬機。

本實施例中,源虛擬機和目標(biāo)虛擬機為位于不同虛擬化平臺上的虛擬機。

步驟S12:在內(nèi)存數(shù)據(jù)拷貝過程中實時監(jiān)視源虛擬機上的內(nèi)存數(shù)據(jù)是否發(fā)生變化,如果是,則進入步驟S13,如果否,則進入步驟S120,然后進入步驟S16。

其中,上述步驟S120具體過程包括:將源虛擬機的運行狀態(tài)切換成下線狀態(tài)。

步驟S13:判斷當(dāng)前源虛擬機和目標(biāo)虛擬機之間的內(nèi)存數(shù)據(jù)差異程度是否小于預(yù)設(shè)程度,如果否,則進入步驟S14,如果是,則進入步驟S15。

步驟S14:將源虛擬機在上一次內(nèi)存數(shù)據(jù)拷貝過程中由于內(nèi)存數(shù)據(jù)發(fā)生變化而產(chǎn)生的臟內(nèi)存數(shù)據(jù)拷貝至目標(biāo)虛擬機,并進入步驟S12。

步驟S15:將源虛擬機的運行狀態(tài)切換成下線狀態(tài),并將源虛擬機在上一次內(nèi)存數(shù)據(jù)拷貝過程由于內(nèi)存數(shù)據(jù)發(fā)生變化而產(chǎn)生的臟內(nèi)存數(shù)據(jù)拷貝至目標(biāo)虛擬機。

步驟S16:將目標(biāo)虛擬機的運行狀態(tài)切換成上線狀態(tài)。

進一步的,本實施例中,在目標(biāo)虛擬機處于下線狀態(tài)的情況下,還可以包括:

判斷目標(biāo)虛擬機的內(nèi)核是否需要進行更新,若是,則對目標(biāo)虛擬機的內(nèi)核進行更新。

在一種具體的實施方式中,上述判斷目標(biāo)虛擬機的內(nèi)核是否需要進行更新,若是,則對目標(biāo)虛擬機的內(nèi)核進行更新的過程,具體可以包括:

利用互聯(lián)網(wǎng)上的內(nèi)核庫,判斷目標(biāo)虛擬機的內(nèi)核版本是否為最新內(nèi)核版本;若判定出目標(biāo)虛擬機的內(nèi)核版本不是最新內(nèi)核版本,則從互聯(lián)網(wǎng)上下載目標(biāo)虛擬機的最新內(nèi)核版本,然后利用該最新內(nèi)核版本對目標(biāo)虛擬機的內(nèi)核進行更新。

在另一具體的實施方式中,上述判斷目標(biāo)虛擬機的內(nèi)核是否需要進行更新,若是,則對目標(biāo)虛擬機的內(nèi)核進行更新的過程,具體可以包括:

利用當(dāng)前虛擬化平臺上的已有內(nèi)核,判斷當(dāng)前虛擬化平臺上是否存在比目標(biāo)虛擬機的內(nèi)核版本更高的內(nèi)核版本,如果是,則利用該內(nèi)核版本對目標(biāo)虛擬機的內(nèi)核進行相應(yīng)地更新。

可見,本發(fā)明實施例是在源虛擬機處于在線狀態(tài)的情況下,便對源虛擬機中的內(nèi)存數(shù)據(jù)展開拷貝遷移處理,并將每次內(nèi)存數(shù)據(jù)拷貝過程中發(fā)生改變的內(nèi)存數(shù)據(jù)不斷拷貝到目標(biāo)虛擬機中,直到源虛擬機和目標(biāo)虛擬機之間的內(nèi)存數(shù)據(jù)差異程度小于預(yù)設(shè)程度為止,然后才將源虛擬機的運行狀態(tài)切換成下線狀態(tài),接著將源虛擬機中少量剩下的臟內(nèi)存數(shù)據(jù)拷貝至目標(biāo)虛擬機,由于最后一次需要拷貝的數(shù)據(jù)量較少,所以最后一次拷貝所需時間非常短,當(dāng)最后一次拷貝結(jié)束后,便將目標(biāo)虛擬機的運行狀態(tài)切換成上線狀態(tài),以接替源虛擬機的工作。由此可見,在源虛擬機的整個遷移過程中,停止提供虛擬化服務(wù)的時間是非常短的,從而能夠大幅改善虛擬機用戶的用戶體驗。

相應(yīng)的,本發(fā)明實施例還公開了一種Linux虛擬機遷移系統(tǒng),參見圖2所示,該系統(tǒng)包括內(nèi)存數(shù)據(jù)拷貝模塊11、內(nèi)存數(shù)據(jù)監(jiān)視模塊12、判斷模塊13、源虛擬機狀態(tài)切換模塊14以及目標(biāo)虛擬機狀態(tài)切換模塊15;其中,

內(nèi)存數(shù)據(jù)拷貝模塊11,用于將當(dāng)前處于在線狀態(tài)的源虛擬機上的全部內(nèi)存數(shù)據(jù)拷貝至當(dāng)前處于下線狀態(tài)的目標(biāo)虛擬機;

內(nèi)存數(shù)據(jù)監(jiān)視模塊12,用于在內(nèi)存數(shù)據(jù)拷貝模塊進行內(nèi)存數(shù)據(jù)拷貝過程中實時監(jiān)視源虛擬機上的內(nèi)存數(shù)據(jù)是否發(fā)生變化,如果是,則觸發(fā)判斷模塊13啟動,如果否,則利用源虛擬機狀態(tài)切換模塊14,將源虛擬機的運行狀態(tài)切換成下線狀態(tài),并觸發(fā)目標(biāo)虛擬機狀態(tài)切換模塊15啟動;

判斷模塊13,用于判斷當(dāng)前源虛擬機和目標(biāo)虛擬機之間的內(nèi)存數(shù)據(jù)差異程度是否小于預(yù)設(shè)程度,如果否,則通過內(nèi)存數(shù)據(jù)拷貝模塊,將源虛擬機在上一次內(nèi)存數(shù)據(jù)拷貝過程中由于內(nèi)存數(shù)據(jù)發(fā)生變化而產(chǎn)生的臟內(nèi)存數(shù)據(jù)拷貝至目標(biāo)虛擬機,并重新觸發(fā)內(nèi)存數(shù)據(jù)監(jiān)視模塊12啟動,如果是,則通過源虛擬機狀態(tài)切換模塊14,將源虛擬機的運行狀態(tài)切換成下線狀態(tài),并通過內(nèi)存數(shù)據(jù)拷貝模塊11,將源虛擬機在上一次內(nèi)存數(shù)據(jù)拷貝過程由于內(nèi)存數(shù)據(jù)發(fā)生變化而產(chǎn)生的臟內(nèi)存數(shù)據(jù)拷貝至目標(biāo)虛擬機,然后觸發(fā)目標(biāo)虛擬機狀態(tài)切換模塊15啟動;

目標(biāo)虛擬機狀態(tài)切換模塊15,用于將目標(biāo)虛擬機的運行狀態(tài)切換成上線狀態(tài)。

本實施例中,源虛擬機和目標(biāo)虛擬機為位于不同虛擬化平臺上的虛擬機。

進一步的,本實施例中的Linux虛擬機遷移系統(tǒng),還可以包括:

內(nèi)核更新模塊,用于在目標(biāo)虛擬機處于下線狀態(tài)的情況下,判斷目標(biāo)虛擬機的內(nèi)核是否需要進行更新,若是,則對目標(biāo)虛擬機的內(nèi)核進行更新。

在一種具體的實施方式中,上述內(nèi)核更新模塊,具體可以包括第一判斷單元和第一更新單元;其中,

第一判斷單元,用于在目標(biāo)虛擬機處于下線狀態(tài)的情況下,利用互聯(lián)網(wǎng)上的內(nèi)核庫,判斷目標(biāo)虛擬機的內(nèi)核版本是否為最新內(nèi)核版本;

第一更新單元,用于當(dāng)?shù)谝慌袛鄦卧卸ǔ瞿繕?biāo)虛擬機的內(nèi)核版本不是最新內(nèi)核版本,則從互聯(lián)網(wǎng)上下載目標(biāo)虛擬機的最新內(nèi)核版本,然后利用該最新內(nèi)核版本對目標(biāo)虛擬機的內(nèi)核進行更新。

在另一種具體的實施方式中,上述內(nèi)核更新模塊,具體可以用于在目標(biāo)虛擬機處于下線狀態(tài)的情況下,利用當(dāng)前虛擬化平臺上的已有內(nèi)核,判斷當(dāng)前虛擬化平臺上是否存在比目標(biāo)虛擬機的內(nèi)核版本更高的內(nèi)核版本,如果是,則利用該內(nèi)核版本對目標(biāo)虛擬機的內(nèi)核進行相應(yīng)地更新。

可見,本發(fā)明實施例是在源虛擬機處于在線狀態(tài)的情況下,便對源虛擬機中的內(nèi)存數(shù)據(jù)展開拷貝遷移處理,并將每次內(nèi)存數(shù)據(jù)拷貝過程中發(fā)生改變的內(nèi)存數(shù)據(jù)不斷拷貝到目標(biāo)虛擬機中,直到源虛擬機和目標(biāo)虛擬機之間的內(nèi)存數(shù)據(jù)差異程度小于預(yù)設(shè)程度為止,然后才將源虛擬機的運行狀態(tài)切換成下線狀態(tài),接著將源虛擬機中少量剩下的臟內(nèi)存數(shù)據(jù)拷貝至目標(biāo)虛擬機,由于最后一次需要拷貝的數(shù)據(jù)量較少,所以最后一次拷貝所需時間非常短,當(dāng)最后一次拷貝結(jié)束后,便將目標(biāo)虛擬機的運行狀態(tài)切換成上線狀態(tài),以接替源虛擬機的工作。由此可見,在源虛擬機的整個遷移過程中,停止提供虛擬化服務(wù)的時間是非常短的,從而能夠大幅改善虛擬機用戶的用戶體驗。

最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

以上對本發(fā)明所提供的一種Linux虛擬機遷移方法及系統(tǒng)進行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
高唐县| 沙田区| 泰兴市| 慈溪市| 苍梧县| 陵水| 界首市| 中卫市| 荆州市| 韶关市| 英德市| 濉溪县| 延安市| 若尔盖县| 乌兰浩特市| 北票市| 循化| 邢台县| 商洛市| 昌乐县| 瑞安市| 宁化县| 枣阳市| 德惠市| 北辰区| 昌江| 自贡市| 西和县| 五华县| 云安县| 平邑县| 抚顺市| 清涧县| 沿河| 永年县| 丰城市| 乌审旗| 克东县| 临猗县| 彭阳县| 黄山市|