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

非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法

文檔序號:6511768閱讀:721來源:國知局
非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法
【專利摘要】本發(fā)明公開了一種非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法。本發(fā)明通過讀取用戶的配置文件信息,將用戶指定時間段內(nèi)的數(shù)據(jù)從舊的HBase集群中遷移到新的HBase集群中,使用該方法具有以下優(yōu)點:第一、通過設(shè)計RowKey,將數(shù)據(jù)的組別信息、時間信息體現(xiàn)在RowKey上,數(shù)據(jù)遷移時掃描RowKey,可直接辨別出該RowKey對應(yīng)的數(shù)據(jù)是否在用戶指定的遷移時間范圍內(nèi);第二、以組別作為數(shù)據(jù)遷移單位,每個組別作為一個檢查點,當(dāng)發(fā)生異常情況時,可以將新舊集群之間不同步的數(shù)據(jù)的范圍嚴(yán)格控制在一個組別內(nèi),減少恢復(fù)數(shù)據(jù)同步所需的時間;第三、在數(shù)據(jù)遷移過程中記錄日志信息,用于處理數(shù)據(jù)遷移過程中的異常情況,確保新舊集群之間數(shù)據(jù)的同步,能夠準(zhǔn)確、高效的完成HBase集群間的數(shù)據(jù)遷移。
【專利說明】非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及非關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)遷移技術(shù),尤其涉及一種非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法。
【背景技術(shù)】
[0002]數(shù)據(jù)庫技術(shù)是計算機(jī)科學(xué)技術(shù)中發(fā)展最快的領(lǐng)域之一,也是應(yīng)用最廣的技術(shù)之一,近些年來,隨著互聯(lián)網(wǎng)的發(fā)展,特別是互聯(lián)網(wǎng)Web2.0的興起,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫在應(yīng)對超大規(guī)模和高并發(fā)的SNS類型的網(wǎng)站時已經(jīng)顯得力不從心,而非關(guān)系型數(shù)據(jù)庫則由于其自身的特點在應(yīng)對大規(guī)模數(shù)據(jù)和高并發(fā)的訪問時具有很好的表現(xiàn),所以得到了非常迅速的發(fā)展。
[0003]HBase就是一種分布式的、面向列的非關(guān)系型數(shù)據(jù)庫,適用于需要實時隨機(jī)讀寫超大規(guī)模數(shù)據(jù)的應(yīng)用。但是隨著時間的推移,需要存儲的數(shù)據(jù)量越來越大,雖然HBase可以通過增加集群中的機(jī)器來擴(kuò)展存儲能力,但這將影響到對HBase中數(shù)據(jù)進(jìn)行讀寫的速度。另一方面,很早之前存儲的數(shù)據(jù)對于當(dāng)前應(yīng)用來說可能不再使用或者很少再進(jìn)行讀寫操作,只在進(jìn)行數(shù)據(jù)統(tǒng)計和分析時才會被訪問到,所以可以將這一部分很少被訪問的歷史數(shù)據(jù)遷移到另一個新的集群中,以提高當(dāng)前集群的存儲能力和讀寫數(shù)據(jù)的速度。
[0004]目前,關(guān)系型數(shù)據(jù)庫都提供了一些數(shù)據(jù)遷移的方案和工具,但對于非關(guān)系型數(shù)據(jù)庫來說,由于其存儲的數(shù)據(jù)量很大,且大多數(shù)非關(guān)系型數(shù)據(jù)庫都沒有針對多行記錄的事務(wù)特性,所以使得數(shù)據(jù)遷移的難度增大,鮮有數(shù)據(jù)遷移的完整方案。由于HBase是一個在分布式文件系統(tǒng)HDFS上開發(fā)的分布式數(shù)據(jù)庫,現(xiàn)有的針對HBase的數(shù)據(jù)遷移方案大多是基于HDFS的數(shù)據(jù)塊,將存儲有HBase數(shù)據(jù)的HDFS數(shù)據(jù)塊復(fù)制轉(zhuǎn)移到新的集群上,因為HDFS的數(shù)據(jù)塊轉(zhuǎn)移必須是將整塊都轉(zhuǎn)移,并不能拆分開來進(jìn)行轉(zhuǎn)移,所以這樣的轉(zhuǎn)移方式顯得不夠靈活,無法由用戶自定義需要轉(zhuǎn)移的數(shù)據(jù)`,且數(shù)據(jù)遷移只能由具有專業(yè)知識的數(shù)據(jù)庫管理員來操作,增大了用戶的負(fù)擔(dān)。

【發(fā)明內(nèi)容】

[0005]本發(fā)明所要解決的技術(shù)問題是:提供一種非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法,采用這種遷移方法數(shù)據(jù)遷移較靈活,而且能由用戶自定義需要轉(zhuǎn)移的數(shù)據(jù),并且不需要專門的數(shù)據(jù)庫管理員來操作。
[0006]本發(fā)明所采用的技術(shù)方案是:一種非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法,它包括以下步驟:
1)為非關(guān)系型數(shù)據(jù)庫HBase中保存的數(shù)據(jù)設(shè)計合理的RowKey,該RowKey體現(xiàn)出數(shù)據(jù)的組別?目息和時間?目息;
2)創(chuàng)建一個日志文件,該日志文件包含組別信息、插入信息和刪除信息;
3)關(guān)閉HBase集群的預(yù)寫日志W(wǎng)AL并使用壓縮技術(shù)對需要遷移的數(shù)據(jù)進(jìn)行壓縮;
4)讀取用戶配置文件信息,根據(jù)用戶設(shè)定的數(shù)據(jù)遷移時間,和步驟2)中的日志文件信息,以組別為單位從舊的HBase集群中讀取需要遷移的數(shù)據(jù);
5)將讀取的數(shù)據(jù)遷移到新的HBase集群上,并修改步驟2)中日志文件的插入信息,并將該信息強(qiáng)制刷新到磁盤上;
6)將已經(jīng)遷移到新的HBase集群上的數(shù)據(jù)從舊的HBase集群上刪除,并修改步驟2)中日志文件的刪除信息,并將該信息強(qiáng)制刷新到磁盤上;
7)繼續(xù)跳轉(zhuǎn)到步驟4)執(zhí)行,遷移其他組別的數(shù)據(jù),直到所有組別的數(shù)據(jù)全部遷移到新的HBase集群中。
[0007]所述步驟3)中的壓縮技術(shù)為SNAPPY壓縮技術(shù)。
[0008]所述步驟5)的具體步驟如下:
a)從日志文件中讀取正在遷移的數(shù)據(jù)的組別信息,判斷該組別的數(shù)據(jù)是否已經(jīng)成功的插入新的HBase集群中;
b)若已經(jīng)成功插入,則什么也不做;若沒有成功插入,則將讀取到的數(shù)據(jù)全部插入到新的HBase集群中,并將日志文件中該組別的插入標(biāo)識置為成功,然后將此插入信息強(qiáng)制刷新到磁盤。
[0009]所述步驟6)的具體步驟如下:
a)從日志文件中讀取正在遷移的數(shù)據(jù)的組別信息,判斷該組別的數(shù)據(jù)是否已經(jīng)成功的從舊的HBase集群中刪除;
b)若已經(jīng)成功刪除,則什么也不做;若沒有成功刪除,則將對應(yīng)組別的數(shù)據(jù)從舊的HBase集群中刪除,并將日志文件中該組別的刪除標(biāo)識置為成功,將此刪除信息強(qiáng)制刷新到磁盤。
[0010]采用以上結(jié)構(gòu)與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:第一、為HBase中保存的數(shù)據(jù)設(shè)計合理的RowKey,該RowKey體現(xiàn)出數(shù)據(jù)的組別信息和時間信息,數(shù)據(jù)遷移時掃描RowKey,可辨別出該RowKey對應(yīng)數(shù)據(jù)的時間和組別,不需要解析數(shù)據(jù)的時間戳等信息,力口快了數(shù)據(jù)遷移的速度;第二、為保證數(shù)據(jù)遷移過程中發(fā)生了異常情況后可保證數(shù)據(jù)的一致性,創(chuàng)建了一個日志文件,該日志文件用于保存遷移過程中的組別信息、插入信息和刪除信息,在數(shù)據(jù)遷移過程中發(fā)生異常情況后,可以通過日志文件中的信息恢復(fù)數(shù)據(jù)的一致性并繼續(xù)進(jìn)行未完成的數(shù)據(jù)遷移,確保新舊集群之間數(shù)據(jù)的同步,能夠準(zhǔn)確、高效的完成HBase集群間的數(shù)據(jù)遷移;第三、建立了日志文件保證數(shù)據(jù)遷移過程中的數(shù)據(jù)一致性,所以可以暫時關(guān)閉新集群的預(yù)寫日志W(wǎng)AL來加快數(shù)據(jù)插入新集群的速度,并且由于遷移數(shù)據(jù)量比較大,使用了 SNAPPY對數(shù)據(jù)進(jìn)行壓縮,提高數(shù)據(jù)遷移的速度;第四、通過讀取用戶配置文件信息,用戶可以自定義遷移數(shù)據(jù)的時間段來實現(xiàn)指定數(shù)據(jù)的遷移,并且遷移以組別為單位進(jìn)行,每個組別作為一個檢查點,如果在數(shù)據(jù)遷移過程中發(fā)生異常情況,可以將新舊集群之間不同步的數(shù)據(jù)的范圍嚴(yán)格控制在一個組別內(nèi),當(dāng)重啟數(shù)據(jù)遷移后,只需恢復(fù)少量數(shù)據(jù)的一致性,提高了遷移的效率和準(zhǔn)確性,減少恢復(fù)數(shù)據(jù)同步所需的時間。
【專利附圖】

【附圖說明】
[0011]圖1為本發(fā)明非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法的實施流程圖。
[0012]圖2為本發(fā)明非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法的日志文件表示圖。
[0013]圖3為本發(fā)明非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法的用戶配置文件表示圖?!揪唧w實施方式】
[0014]以下結(jié)合附圖與【具體實施方式】對本發(fā)明做進(jìn)一步描述,但是本發(fā)明不僅限于以下【具體實施方式】。
[0015]圖1給出了總體實施流程圖,展示了該發(fā)明的主要步驟。現(xiàn)結(jié)合某市自來水公司歷史數(shù)據(jù)遷移過程,對本發(fā)明的方案作進(jìn)一步說明,具體的實施步驟如下:
1、為非關(guān)系型數(shù)據(jù)庫HBase中保存的數(shù)據(jù)設(shè)計合理的RowKey (即行鍵),該RowKey體現(xiàn)出數(shù)據(jù)的組別信息和時間信息,具體操作如下:
根據(jù)數(shù)據(jù)遷移的需要,將RowKey的結(jié)構(gòu)設(shè)計為:組別一年一月一日一用戶自定義信息。其中RowKey的前四個字段(組別一年一月一日)稱為RowKey前綴,該RowKey前綴主要用于做數(shù)據(jù)遷移,是必備字段,而用戶自定義信息則可由用戶個性化定義。以某市自來水公司歷史數(shù)據(jù)遷移為例,將該市的用戶按小區(qū)劃分,每個小區(qū)擁有一個唯一的組別號,這個唯一的組別號作為RowKey的一部分,體現(xiàn)出數(shù)據(jù)的組別信息;另外,每個用戶一天將在HBase集群中存放一條水量數(shù)據(jù),該條數(shù)據(jù)代表哪天的數(shù)據(jù)將作為時間信息體現(xiàn)在RowKey上;除此之外,用戶還在RowKey上自定義了用戶號作為區(qū)分每一個用戶的重要標(biāo)識。例如,1200號小區(qū)88號用戶2013年I月I日的用水量數(shù)據(jù)對應(yīng)的RowKey為1200-2013-01-01-88。其中第一個字段(1200)體現(xiàn)了組別信息,緊接著的三個字段(2013-01-01)體現(xiàn)了時間信息,最后一個字段(88)體現(xiàn)了用戶信息。
[0016]2、創(chuàng)建日志文件,該日志文件有多種存儲方式,可以存儲為關(guān)系型數(shù)據(jù)庫中的表結(jié)構(gòu)、日志信息、或其他系統(tǒng)中的文件,用于保存數(shù)據(jù)遷移過程中的組別信息、插入信息和刪除信息,當(dāng)遷移發(fā)生異常時可通過日志文件信息恢復(fù)數(shù)據(jù)的一致性,具體操作如下:
以某市自來水公司歷史數(shù)據(jù)遷移為例,該市共有1500個小區(qū),編號為1~1500,每個小區(qū)擁有一個唯一編號,現(xiàn)需要遷移這1500個小區(qū)的所有用戶用水量信息,則組別信息文件中存放了需要轉(zhuǎn)移的所有組別信息,其結(jié)構(gòu)如圖2所示,其中圖2將日志文件存儲成了關(guān)系數(shù)據(jù)庫中的表結(jié)構(gòu),該表的第一個屬性表示的是組別信息,包含了廣1500個需要轉(zhuǎn)移的組別號,一行記錄包含一個組別號。
[0017]插入信息主要用于記錄某個組別的數(shù)據(jù)是否完全插入到新的集群中,其結(jié)構(gòu)如圖2所示,圖2中的第二個屬性表示的是插入信息,其中包含了 f 1500個組別的插入信息,一行記錄包含一個組別的插入信息,其中標(biāo)識為“NO”表示該組別的數(shù)據(jù)沒有完全插入新的HBase集群,“YES”表示該組別的數(shù)據(jù)已經(jīng)完全插入新的HBase集群。數(shù)據(jù)遷移初始化時,所有組別的插入信息標(biāo)識都為“NO”。與此類似,刪除信息文件主要用于記錄某個組別的數(shù)據(jù)是否完全從舊的集群中刪除,其結(jié)構(gòu)如圖2所示,圖2中的第三個屬性表示的是刪除信息,其中包含了廣1500個組別的刪除信息,一行記錄包含一個組別,其中標(biāo)識為“NO”表示該組別的數(shù)據(jù)沒有完全從舊的HBase集群中刪除,“YES”表示該組別的數(shù)據(jù)已經(jīng)完全從舊的HBase集群中刪除。數(shù)據(jù)遷移初始化時,所有組別的刪除信息標(biāo)識都為“NO”。
[0018]3、 關(guān)閉HBase集群的預(yù)寫日志W(wǎng)AL并使用壓縮技術(shù),使得數(shù)據(jù)遷移過程速度加快,具體操作如下:
HBase利用Put操作來向HBase中插入數(shù)據(jù),在向新的HBase集群中插入數(shù)據(jù)時,調(diào)用false函數(shù),放棄寫WAL日志,以便提高數(shù)據(jù)寫入新的Hbase集群的速度,并使用SNAPPY對數(shù)據(jù)進(jìn)行壓縮,減小插入過程中的傳輸量。
[0019]4、讀取用戶配置文件信息,根據(jù)用戶設(shè)定的數(shù)據(jù)遷移時間,和步驟2中的日志文件信息,以組別為單位從舊的HBase集群中讀取需要遷移的數(shù)據(jù),具體操作如下:
圖3顯示了用戶配置文件的格式,讀取該配置文件可知用戶需要轉(zhuǎn)移2011年I月I日至2012年12月31日的數(shù)據(jù),再從組別信息中讀出一個組別號,假設(shè)為1,則根據(jù)以上信息可知在該小區(qū)該時間段內(nèi),起始的RowKey為=0001-2011-01-01-0,終止的RowKey為:0001-2012-12-31-(設(shè)定的最大值),利用HBase中的scan函數(shù)scan(startRowKey, endRowKey)就可以得到該小區(qū)該時間段內(nèi)的數(shù)據(jù)。
[0020]5、將讀取的數(shù)據(jù)遷移到新的HBase集群上,并修改步驟2中日志文件的信息,并將該信息強(qiáng)制刷新到磁盤上,具體操作如下:
將步驟4中得到的I號小區(qū)2011年I月I日至2012年12月31日的遷移數(shù)據(jù)寫入到新的HBase集群中,如果數(shù)據(jù)全部寫入成功,則將日志文件中,I號小區(qū)對應(yīng)的插入信息標(biāo)識改為“YES”,表明I號小區(qū)的數(shù)據(jù)已經(jīng)完全成功的寫入到新的HBase集群中。
[0021]6、將已經(jīng)遷移到新的HBase集群上的數(shù)據(jù)從舊集群上刪除,并修改步驟2中日志文件的信息,并將該信息強(qiáng)制刷新到磁盤上,具體操作如下:
從舊的HBase集群中刪除I號小區(qū)2011年I月I日至2012年12月31日的數(shù)據(jù),如果這些數(shù)據(jù)完全從舊的HBase中刪除,則將日志文件中,I號小區(qū)對應(yīng)的刪除信息標(biāo)識改為“YES”,表明I號小區(qū)的數(shù)據(jù)已經(jīng)完全成功的從舊的HBase集群中刪除。至此,I號小區(qū)2011年I月I日至2012年12月31日的數(shù)據(jù)已經(jīng)完全遷移成功,沒有遇到異常,不需要再次執(zhí)行遷移任務(wù)。
[0022]7、繼續(xù)轉(zhuǎn)到步驟4執(zhí)行,遷移其他組別的數(shù)據(jù),直到所有組別的數(shù)據(jù)全部遷移到新的HBase集群中,具體操作如下 :
繼續(xù)從日志文件中讀取下一個組別號,如讀出的組別號為2,說明要開始遷移2號小區(qū)2011年I月I日至2012年12月31日的數(shù)據(jù),并按照上面的步驟4~步驟6完成下一個小區(qū)的遷移任務(wù),循環(huán)往復(fù),直到日志文件中所有的插入信息與刪除信息都為“YES”,說明此次遷移任務(wù)所涉及的所有組別都已經(jīng)完成遷移,數(shù)據(jù)遷移完成。
[0023]8、在數(shù)據(jù)遷移過程中,若發(fā)生異常,則根據(jù)發(fā)生異常的位置進(jìn)行不同的處理,具體方案如下:
異常一:若異常發(fā)生在插入新HBase集群之前,由于此時并未涉及到數(shù)據(jù)的插入和刪除,所以在排除異常后重啟系統(tǒng)就可繼續(xù)進(jìn)行數(shù)據(jù)遷移。
[0024]異常二:若異常發(fā)生在插入新的HBase集群中,則按照如下步驟處理:
排除異常。
[0025]讀取發(fā)生異常時正在遷移的組別號,并讀取該組別號對應(yīng)的插入信息標(biāo)識,若為“NO”,說明遷移數(shù)據(jù)并未完全遷移到新HBase集群中。重新從舊HBase中讀取該組別對應(yīng)的數(shù)據(jù),并將數(shù)據(jù)直接插入到新的HBase集群中。在新的插入過程中,沒有必要將上次異常插入的數(shù)據(jù)刪除,因為HBase會默認(rèn)覆蓋掉相同RowKey的舊數(shù)據(jù)。
[0026]按后續(xù)正常流程繼續(xù)處理。
[0027]異常三:若異常發(fā)生在刪除舊HBase集群中,則按照如下步驟處理:
排除異常。[0028]讀取發(fā)生異常時正在遷移的組別號,并讀取該組別號對應(yīng)的插入信息標(biāo)識,若為“YES”,說明遷移數(shù)據(jù)已經(jīng)遷移到新HBase集群中。
[0029]讀取該組別號對應(yīng)的刪除信息標(biāo)識,若為“NO”,說明數(shù)據(jù)還未完全從舊的HBase集群中刪除。
[0030]從舊HBase集群中刪除該組別的信息,并將該組別對應(yīng)的刪除信息標(biāo)識置為“YES”,說明數(shù)據(jù)從舊HBase集群中刪除成功。
[0031]該組別數(shù)據(jù)遷移成功,將該組別號對應(yīng)的記錄從日志文件中刪除。
【權(quán)利要求】
1.一種非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法,其特征在于:它包括以下步驟: 1)為非關(guān)系型數(shù)據(jù)庫HBase中保存的數(shù)據(jù)設(shè)計合理的RowKey,該RowKey體現(xiàn)出數(shù)據(jù)的組別?目息和時間?目息; 2)創(chuàng)建一個日志文件,該日志文件包含組別信息、插入信息和刪除信息; 3)關(guān)閉HBase集群的預(yù)寫日志W(wǎng)AL并使用壓縮技術(shù)對需要遷移的數(shù)據(jù)進(jìn)行壓縮; 4)讀取用戶配置文件信息,根據(jù)用戶設(shè)定的數(shù)據(jù)遷移時間和步驟2)中的日志文件信息,以組別為單位從舊的HBase集群中讀取需要遷移的數(shù)據(jù); 5)將讀取的數(shù)據(jù)遷移到新的HBase集群上,并修改步驟2)中日志文件的插入信息,并將該信息強(qiáng)制刷新到磁盤上; 6)將已經(jīng)遷移到新的HBase集群上的數(shù)據(jù)從舊的HBase集群上刪除,并修改步驟2)中日志文件的刪除信息,并將該信息強(qiáng)制刷新到磁盤上; 7)繼續(xù)跳轉(zhuǎn)到步驟4)執(zhí)行,遷移其他組別的數(shù)據(jù),直到所有組別的數(shù)據(jù)全部遷移到新的HBase集群中。
2.根據(jù)權(quán)利要求1所述的非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法,其特征在于:所述步驟3)中的壓縮技術(shù)為SNAPPY壓縮技術(shù)。
3.根據(jù)權(quán)利要求1所述的非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法,其特征在于:所述步驟5)的具體步驟如下: a)從日志文件中讀取正在遷移的數(shù)據(jù)的組別信息,判斷該組別的數(shù)據(jù)是否已經(jīng)成功的插入新的HBase集群中; b)若已經(jīng)成功插入,則什么也不做;若沒有成功插入,則將讀取到的數(shù)據(jù)全部插入到新的HBase集群中,并將日志文件中該組別的插入標(biāo)識置為成功,然后將此插入信息強(qiáng)制刷新到磁盤。
4.根據(jù)權(quán)利要求1所述的非關(guān)系型數(shù)據(jù)庫HBase的數(shù)據(jù)遷移方法,其特征在于:所述步驟6)的具體步驟如下: a)從日志文件中讀取正在遷移的數(shù)據(jù)的組別信息, 判斷該組別的數(shù)據(jù)是否已經(jīng)成功的從舊的HBase集群中刪除; b)若已經(jīng)成功刪除,則什么也不做;若沒有成功刪除,則將對應(yīng)組別的數(shù)據(jù)從舊的HBase集群中刪除,并將日志文件中該組別的刪除標(biāo)識置為成功,將此刪除信息強(qiáng)制刷新到磁盤。
【文檔編號】G06F17/30GK103514274SQ201310421176
【公開日】2014年1月15日 申請日期:2013年9月17日 優(yōu)先權(quán)日:2013年9月17日
【發(fā)明者】貝毅君, 唐宏波, 王丞淼, 王寬 申請人:寧波東冠科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
呈贡县| 凤山县| 嘉黎县| 峨山| 罗山县| 吴川市| 运城市| 梁平县| 迭部县| 隆回县| 大荔县| 驻马店市| 太仆寺旗| 双牌县| 琼结县| 定南县| 洪雅县| 顺平县| 松原市| 永和县| 盐源县| 孙吴县| 夹江县| 泽州县| 雷山县| 闸北区| 洪泽县| 德安县| 伊川县| 高淳县| 保定市| 乐都县| 永登县| 新民市| 萍乡市| 开江县| 泌阳县| 本溪| 平南县| 丰镇市| 蓬安县|