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

一種基于FPGA實(shí)現(xiàn)報(bào)文處理系統(tǒng)及方法與流程

文檔序號(hào):12376438閱讀:765來源:國知局
一種基于FPGA實(shí)現(xiàn)報(bào)文處理系統(tǒng)及方法與流程

本發(fā)明屬于網(wǎng)絡(luò)通訊領(lǐng)域,特別涉及一種基于FPGA實(shí)現(xiàn)報(bào)文處理系統(tǒng)及方法。



背景技術(shù):

隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,100G高速接口技術(shù)的廣泛應(yīng)用給網(wǎng)絡(luò)設(shè)備升級(jí)帶來很大機(jī)會(huì)。未來的400G接口的應(yīng)用、芯片和設(shè)備廠商的接口升級(jí)同樣會(huì)引出一些接口問題。100G接口應(yīng)用時(shí),某些應(yīng)用場(chǎng)景將端口數(shù)據(jù)轉(zhuǎn)發(fā)給內(nèi)部10G端口。需要將數(shù)據(jù)轉(zhuǎn)發(fā)給12個(gè)系統(tǒng)側(cè)10G端口。FPGA實(shí)現(xiàn)高速接口可以低成本方式實(shí)現(xiàn)高速接口的應(yīng)用。但是在這種不匹配端口速率的包交換結(jié)構(gòu)中,F(xiàn)PGA面臨內(nèi)部復(fù)雜的布線限制,往往很難獲得正常的時(shí)序結(jié)果。FPGA內(nèi)部數(shù)據(jù)緩存使用block ram實(shí)現(xiàn)大數(shù)據(jù)流量時(shí)需要很多塊block ram拼合在一起使用,同時(shí)100G線速向12個(gè)端口的數(shù)據(jù)轉(zhuǎn)發(fā)需要所有的數(shù)據(jù)緩存的數(shù)據(jù)交換使得大量布線資源在內(nèi)部局部復(fù)雜使用。數(shù)據(jù)帶寬和緩存模塊眾多與內(nèi)部資源均勻分布的矛盾是FPGA 100G端口在此類應(yīng)用下面臨的問題。



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

發(fā)明目的:為了克服現(xiàn)有技術(shù)存在的問題,本發(fā)明提供了一種結(jié)構(gòu)簡(jiǎn)單,緩存模塊少,內(nèi)部資源能夠均勻分布的基于FPGA實(shí)現(xiàn)報(bào)文處理系統(tǒng)。

技術(shù)方案:本發(fā)明提供了一種基于FPGA實(shí)現(xiàn)報(bào)文處理系統(tǒng),包括報(bào)文匯聚模塊和報(bào)文轉(zhuǎn)發(fā)模塊,線路側(cè)端口和多個(gè)系統(tǒng)側(cè)端口,所述報(bào)文匯聚模塊的輸入端分別與所述多個(gè)系統(tǒng)側(cè)端口連接,所述報(bào)文匯聚模塊的輸出端與所述線路側(cè)端口連接;所述報(bào)文轉(zhuǎn)發(fā)模塊的輸入端與所述線路側(cè)端口連接,所述報(bào)文轉(zhuǎn)發(fā)模塊的輸出端分別與所述多個(gè)系統(tǒng)側(cè)端口連接,所述報(bào)文匯聚模塊和報(bào)文轉(zhuǎn)發(fā)模塊中均包括多級(jí)緩存單元,所述報(bào)文匯聚模塊和報(bào)文轉(zhuǎn)發(fā)模塊將緩存切分為多級(jí)緩存且根據(jù)報(bào)文流量選擇數(shù)據(jù)處理寬度。

進(jìn)一步,所述報(bào)文匯聚模塊和報(bào)文轉(zhuǎn)發(fā)模塊中均包括三級(jí)緩存單元。使用三級(jí)緩存能夠減輕FPGA內(nèi)部大數(shù)據(jù)帶寬轉(zhuǎn)向很多端口的數(shù)據(jù)布線難度。比如將100G轉(zhuǎn)發(fā)給兩個(gè)二級(jí)低數(shù)據(jù)帶寬的60g緩存;60g緩存轉(zhuǎn)發(fā)給更低數(shù)據(jù)帶寬的30g緩存;將兩端接口布線逐級(jí)收窄且劃分層次,有效提高了FPGA內(nèi)部布線效率;

進(jìn)一步,所述系統(tǒng)側(cè)端口有12個(gè),每個(gè)系統(tǒng)側(cè)端口的線速為10G,所述線路側(cè)端口的線速為100G。

進(jìn)一步,所述報(bào)文匯聚模塊中第一級(jí)匯聚緩存單元包括四個(gè)第一級(jí)匯聚緩存子單元;第二級(jí)匯聚緩存單元包括兩個(gè)第二級(jí)匯聚緩存子單元;第三級(jí)匯聚緩存單元包括一個(gè)第三級(jí)匯聚緩存子單元;所述每個(gè)第一級(jí)匯聚緩存子單元的輸入端分別與三個(gè)系統(tǒng)側(cè)端口連接,所述每兩個(gè)第一級(jí)匯聚緩存子單元的輸出端分別與一個(gè)第二級(jí)匯聚緩存子單元的輸入端連接;所述每兩個(gè)第二級(jí)匯聚緩存子單元的輸出端與第三級(jí)匯聚緩存子單元的輸入端連接,所述第三級(jí)匯聚緩存子單元新的輸出端與所述線路側(cè)端口連接。

進(jìn)一步,所述報(bào)文轉(zhuǎn)發(fā)模塊中第一級(jí)轉(zhuǎn)發(fā)緩存單元包括一個(gè)第一級(jí)轉(zhuǎn)發(fā)緩存子單元;第二級(jí)轉(zhuǎn)發(fā)緩存單元包括兩個(gè)第二級(jí)轉(zhuǎn)發(fā)緩存子單元;第三級(jí)轉(zhuǎn)發(fā)緩存單元包括四個(gè)第三級(jí)轉(zhuǎn)發(fā)緩存子單元;所述第一級(jí)轉(zhuǎn)發(fā)緩存子單元的輸入端與線路側(cè)端口連接,第一級(jí)轉(zhuǎn)發(fā)緩存子單元的兩個(gè)輸出端分別與兩個(gè)第二級(jí)轉(zhuǎn)發(fā)緩存子單元的輸入端連接,每個(gè)第二級(jí)轉(zhuǎn)發(fā)緩存子單元的兩個(gè)輸出端分別一個(gè)第三級(jí)轉(zhuǎn)發(fā)緩存子單元的輸入端連接,每個(gè)第三級(jí)轉(zhuǎn)發(fā)緩存子單元的三個(gè)輸出端分別與一個(gè)系統(tǒng)側(cè)端口連接。

本發(fā)明還提供了一種采用上述基于FPGA實(shí)現(xiàn)報(bào)文處理系統(tǒng)的報(bào)文處理方法,當(dāng)報(bào)文從線路側(cè)端口輸入時(shí),輸入的報(bào)文經(jīng)過識(shí)別處理后,發(fā)送到報(bào)文轉(zhuǎn)發(fā)模塊,報(bào)文轉(zhuǎn)發(fā)模塊獲取轉(zhuǎn)發(fā)目的端口后通過多級(jí)緩存將報(bào)文轉(zhuǎn)發(fā)到對(duì)應(yīng)系統(tǒng)側(cè)端口的發(fā)送模塊,系統(tǒng)側(cè)端口的發(fā)送模塊添加報(bào)文相關(guān)信息到報(bào)文頭后將報(bào)文送出;當(dāng)報(bào)文從系統(tǒng)側(cè)端口輸入時(shí),報(bào)文經(jīng)系統(tǒng)側(cè)端口接收后,提取報(bào)文頭中的相關(guān)信息,報(bào)文匯聚模塊輪詢各個(gè)系統(tǒng)側(cè)端口的接收狀態(tài),經(jīng)過多級(jí)緩存將報(bào)文匯聚后通過線路側(cè)端口的報(bào)文發(fā)送模塊發(fā)送出去。

進(jìn)一步,在進(jìn)行多級(jí)緩存的過程中,還包括每級(jí)緩存單元容量的是否溢出的判斷,如果緩存單元容量出現(xiàn)溢出,則將對(duì)應(yīng)的報(bào)文丟棄。有效提高了整個(gè)方法的性能,增加了方法的可靠性。

進(jìn)一步,所述輸入的報(bào)文的識(shí)別處理方法為:對(duì)報(bào)文五元組信息進(jìn)行識(shí)別得到目的端口,或者根據(jù)緩存狀態(tài)隨機(jī)分配目的端口。這樣更加智能,能夠根據(jù)報(bào)文中的信息進(jìn)行分配,或者在報(bào)文沒有目的的情況下直接隨機(jī)分配目的。

有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明通過將緩存進(jìn)行多級(jí)切分的系統(tǒng)和方法實(shí)現(xiàn)了通信設(shè)備的大容量接口和小容量接口對(duì)接報(bào)文的處理。本發(fā)明提供的系統(tǒng)結(jié)構(gòu)更加簡(jiǎn)單,模塊化的設(shè)計(jì),有效解決了數(shù)據(jù)帶寬和緩存模塊眾多與內(nèi)部資源均勻分布的問題。同時(shí)布線資源均勻后的FPGA開發(fā)工程調(diào)試時(shí)間大大縮短,整個(gè)系統(tǒng)的輸出更加穩(wěn)定。

附圖說明

圖1為本發(fā)明的系統(tǒng)結(jié)構(gòu)圖;

圖2為本發(fā)明中報(bào)文匯聚模塊的結(jié)構(gòu)示意圖;

圖3為本發(fā)明中報(bào)文匯聚模塊的控制方法流程圖;

圖4為本發(fā)明中報(bào)文轉(zhuǎn)發(fā)模塊的結(jié)構(gòu)示意圖;

圖5為本發(fā)明中報(bào)文轉(zhuǎn)發(fā)模塊的控制方法流程圖。

具體實(shí)施方式

下面結(jié)合附圖對(duì)本發(fā)明做更進(jìn)一步的解釋。

如圖1所示,本發(fā)明提供的一種基于FPGA實(shí)現(xiàn)報(bào)文處理系統(tǒng),包括報(bào)文匯聚模塊和報(bào)文轉(zhuǎn)發(fā)模塊,線路側(cè)端口和多個(gè)系統(tǒng)側(cè)端口,其中,線路側(cè)端口為高線速端口,系統(tǒng)側(cè)端口為低線速端口,報(bào)文匯聚模塊的輸入端分別與多個(gè)系統(tǒng)側(cè)端口連接,報(bào)文匯聚模塊的輸出端與線路側(cè)端口連接;報(bào)文轉(zhuǎn)發(fā)模塊的輸入端與線路側(cè)端口連接,報(bào)文轉(zhuǎn)發(fā)模塊的輸出端分別與多個(gè)系統(tǒng)側(cè)端口連接。

如圖2所示,報(bào)文匯聚模塊采用多級(jí)緩存單元將多個(gè)系統(tǒng)側(cè)端口輸入的報(bào)文匯聚成一個(gè)報(bào)文從線路側(cè)端口輸出。本實(shí)施例中,線路側(cè)端口為100G線速的端口,系統(tǒng)側(cè)端口有12個(gè),分別為10G線速的端口,報(bào)文匯聚模塊采用的三級(jí)緩存單元,其中第一級(jí)匯聚緩存單元包括四個(gè)第一級(jí)匯聚緩存子單元,每個(gè)第一級(jí)匯聚緩存子單元使用256比特?cái)?shù)據(jù)位寬處理30G數(shù)據(jù)流量;第二級(jí)匯聚緩存單元包括兩個(gè)第二級(jí)匯聚緩存子單元,每個(gè)第二級(jí)匯聚緩存子單元使用512比特?cái)?shù)據(jù)位寬處理60G數(shù)據(jù)流量,第三級(jí)匯聚緩存單元包括一個(gè)第三級(jí)匯聚緩存子單元,第三級(jí)匯聚緩存子單元使用1024比特?cái)?shù)據(jù)位寬處理120G數(shù)據(jù)流量。每兩個(gè)第一級(jí)匯聚緩存子單元的輸出端與一個(gè)第二級(jí)匯聚緩存子單元的輸入端連接;每兩個(gè)第二級(jí)匯聚緩存子單元輸出端與第三級(jí)匯聚緩存子單元的輸入端連接,第三級(jí)匯聚緩存子單元的輸出端與線路側(cè)端口連接。其中,每一級(jí)匯聚緩存單元中還可以包括與每個(gè)匯聚緩存子單元對(duì)應(yīng)的匯聚緩存控制子單元,每個(gè)匯聚緩存控制子單元設(shè)置在對(duì)應(yīng)的匯聚緩存子單元的輸入端與上一級(jí)匯聚緩存子單元的輸出端之間。

采用本發(fā)明提供的報(bào)文匯聚模塊進(jìn)行報(bào)文發(fā)送的時(shí)候,報(bào)文經(jīng)系統(tǒng)側(cè)端口接收后,提取報(bào)文頭,報(bào)文匯聚模塊輪詢各個(gè)系統(tǒng)側(cè)端口的接收狀態(tài),將報(bào)文匯聚后送給報(bào)文發(fā)送模塊,經(jīng)由線路側(cè)端口發(fā)送出去。如圖3所示,報(bào)文匯聚模塊在進(jìn)行報(bào)文匯聚時(shí),第一級(jí)匯聚緩存控制子單元接收對(duì)應(yīng)的三個(gè)系統(tǒng)側(cè)端口輸入的報(bào)文數(shù)據(jù),每一個(gè)第一級(jí)匯聚緩存控制子單元判斷對(duì)應(yīng)的第一級(jí)匯聚緩存子單元是否溢出,如果第一級(jí)匯聚緩存子單元不溢出時(shí),第一級(jí)匯聚緩存控制子單元將報(bào)文發(fā)送到對(duì)應(yīng)的第一級(jí)匯聚緩存子單元,如果第一級(jí)匯聚緩存子單元溢出則第一級(jí)匯聚緩存控制子單元將相應(yīng)的接收?qǐng)?bào)文丟棄。每個(gè)第二級(jí)匯聚緩存控制子單元查詢相對(duì)應(yīng)的兩個(gè)第一級(jí)匯聚緩存子單元的狀態(tài),如果第一級(jí)匯聚緩存子單元中有報(bào)文數(shù)據(jù)則將報(bào)文取出且第二級(jí)匯聚緩存子單元不溢出的條件下將報(bào)文發(fā)送到對(duì)應(yīng)的第二級(jí)匯聚緩存子單元。如發(fā)生第二級(jí)匯聚緩存子單元溢出則第二級(jí)匯聚緩存控制子單元將接收?qǐng)?bào)文丟棄。每個(gè)第三級(jí)匯聚緩存控制子單元查詢對(duì)應(yīng)的每個(gè)第二級(jí)匯聚緩存子單元狀態(tài),如果第二級(jí)匯聚緩存子單元中有報(bào)文數(shù)據(jù)則將報(bào)文取出且在第三級(jí)匯聚緩存子單元不溢出的條件下將報(bào)文發(fā)送到第三級(jí)匯聚緩存子單元中。如發(fā)生第三級(jí)匯聚緩存子單元溢出則由第三級(jí)匯聚緩存控制子單元將接收的報(bào)文丟棄。第三級(jí)匯聚緩存子單元將匯聚后的報(bào)文發(fā)送到線路側(cè)端口的報(bào)文發(fā)送模塊發(fā)送出去。

如圖4所示,報(bào)文轉(zhuǎn)發(fā)模塊采用多級(jí)緩存單元將線路側(cè)端口輸入的報(bào)文分別送到對(duì)應(yīng)的系統(tǒng)側(cè)端口。本實(shí)施例中,線路側(cè)端口為100G線速的端口,系統(tǒng)側(cè)端口有12個(gè),分別為10G線速的端口,報(bào)文轉(zhuǎn)發(fā)模塊采用的三級(jí)緩存單元,第一級(jí)轉(zhuǎn)發(fā)緩存單元包括一個(gè)第一級(jí)轉(zhuǎn)發(fā)緩存子單元,第一級(jí)轉(zhuǎn)發(fā)緩存子單元使用1024比特?cái)?shù)據(jù)位寬處理120G數(shù)據(jù)流量,第一級(jí)轉(zhuǎn)發(fā)緩存子單元具有兩個(gè)輸出端;第二級(jí)轉(zhuǎn)發(fā)緩存單元包括兩個(gè)第二級(jí)轉(zhuǎn)發(fā)緩存子單元,每個(gè)第二級(jí)轉(zhuǎn)發(fā)緩存子單元使用512比特?cái)?shù)據(jù)位寬處理60G數(shù)據(jù)流量,第二級(jí)轉(zhuǎn)發(fā)緩存子單元具有兩個(gè)輸出端;第三級(jí)轉(zhuǎn)發(fā)緩存單元包括四個(gè)第三級(jí)轉(zhuǎn)發(fā)緩存子單元,第三級(jí)轉(zhuǎn)發(fā)緩存子單元使用256比特?cái)?shù)據(jù)位寬處理30G數(shù)據(jù)流量,第三級(jí)轉(zhuǎn)發(fā)緩存子單元具有三個(gè)輸出端。第一級(jí)轉(zhuǎn)發(fā)緩存子單元的兩個(gè)輸出端分別與兩個(gè)第二級(jí)轉(zhuǎn)發(fā)緩存子單元輸入端連接,每個(gè)第二級(jí)轉(zhuǎn)發(fā)緩存子單元的兩個(gè)輸出端分別與兩個(gè)第三級(jí)轉(zhuǎn)發(fā)緩存控制子單元的輸入端連接,每個(gè)第三級(jí)轉(zhuǎn)發(fā)緩存子單元的三個(gè)輸出端分別與一個(gè)系統(tǒng)側(cè)端口連接。其中,每一級(jí)轉(zhuǎn)發(fā)緩存單元中還可以包括與每個(gè)轉(zhuǎn)發(fā)緩存子單元對(duì)應(yīng)的轉(zhuǎn)發(fā)緩存控制子單元,每個(gè)轉(zhuǎn)發(fā)緩存控制子單元設(shè)置在對(duì)應(yīng)的轉(zhuǎn)發(fā)緩存子單元的輸入端與上一級(jí)轉(zhuǎn)發(fā)緩存子單元的輸出端之間。報(bào)文轉(zhuǎn)發(fā)模塊和報(bào)文匯聚控制相同將緩存切分為三級(jí)且根據(jù)流量選擇數(shù)據(jù)處理寬度解決FPGA布線問題。

當(dāng)需要將線路側(cè)輸入的報(bào)文轉(zhuǎn)發(fā)到系統(tǒng)側(cè)時(shí),線路側(cè)端口輸入的報(bào)文經(jīng)過識(shí)別處理后,發(fā)送到報(bào)文轉(zhuǎn)發(fā)模塊,報(bào)文轉(zhuǎn)發(fā)模塊獲取轉(zhuǎn)發(fā)目的端口后通過多級(jí)緩存將報(bào)文轉(zhuǎn)發(fā)到對(duì)應(yīng)系統(tǒng)側(cè)端口的發(fā)送模塊,系統(tǒng)側(cè)端口的發(fā)送模塊添加報(bào)文相關(guān)信息到報(bào)文頭后將報(bào)文送出,其中,識(shí)別處理主要是為了得到報(bào)文的轉(zhuǎn)發(fā)目的,如果是通過識(shí)別出的五元組信息得到的轉(zhuǎn)發(fā)目的是唯一的;報(bào)文轉(zhuǎn)發(fā)模塊根據(jù)接收到的轉(zhuǎn)發(fā)目的判斷對(duì)應(yīng)的系統(tǒng)側(cè)端口,然后根據(jù)轉(zhuǎn)發(fā)目的進(jìn)行報(bào)文發(fā)送。

如圖5所示,報(bào)文轉(zhuǎn)發(fā)模塊在進(jìn)行報(bào)文轉(zhuǎn)發(fā)時(shí),每級(jí)緩存單元首先確定轉(zhuǎn)發(fā)目,首先判斷是否包含轉(zhuǎn)發(fā)目的,如果包含將報(bào)文發(fā)送到第一級(jí)轉(zhuǎn)發(fā)緩存控制子單元,當(dāng)?shù)谝患?jí)轉(zhuǎn)發(fā)緩存子單元不溢出時(shí)且包括轉(zhuǎn)發(fā)目的,第一級(jí)轉(zhuǎn)發(fā)緩存控制子單元將報(bào)文發(fā)送到第一級(jí)轉(zhuǎn)發(fā)緩存子單元。如果第一級(jí)轉(zhuǎn)發(fā)緩存子單元溢出或不包括轉(zhuǎn)發(fā)目的則由第一級(jí)轉(zhuǎn)發(fā)緩存控制子單元將相應(yīng)的接收?qǐng)?bào)文丟棄。第一級(jí)轉(zhuǎn)發(fā)緩存單元中報(bào)文送出且根據(jù)轉(zhuǎn)發(fā)目的發(fā)送給對(duì)應(yīng)的第二級(jí)轉(zhuǎn)發(fā)緩存控制子單元。每個(gè)第二級(jí)轉(zhuǎn)發(fā)緩存控制子單元判斷第二級(jí)轉(zhuǎn)發(fā)緩存子單元是否溢出且轉(zhuǎn)發(fā)目是否正確,如果第二級(jí)轉(zhuǎn)發(fā)緩存子單元不溢出且轉(zhuǎn)發(fā)目正確,第二級(jí)轉(zhuǎn)發(fā)緩存控制子單元將報(bào)文發(fā)送到對(duì)應(yīng)的第二級(jí)轉(zhuǎn)發(fā)緩存子單元中;如發(fā)生第二級(jí)轉(zhuǎn)發(fā)緩存子單元溢出或轉(zhuǎn)發(fā)目的錯(cuò)誤則由第二級(jí)轉(zhuǎn)發(fā)緩存控制子單元將相應(yīng)的接收?qǐng)?bào)文丟棄。第二級(jí)轉(zhuǎn)發(fā)緩存子單元根據(jù)轉(zhuǎn)發(fā)目的將報(bào)文發(fā)送給相應(yīng)的第三級(jí)轉(zhuǎn)發(fā)緩存控制子單元。第三級(jí)轉(zhuǎn)發(fā)緩存控制子單元判斷第三級(jí)轉(zhuǎn)發(fā)緩存子單元是否溢出且轉(zhuǎn)發(fā)目是否正確,如果第三級(jí)轉(zhuǎn)發(fā)緩存子單元不溢出且轉(zhuǎn)發(fā)目正確,第三級(jí)轉(zhuǎn)發(fā)緩存控制子單元將報(bào)文發(fā)送到對(duì)應(yīng)第三級(jí)轉(zhuǎn)發(fā)緩存子單元中;如發(fā)生第三級(jí)轉(zhuǎn)發(fā)緩存子單元溢出或轉(zhuǎn)發(fā)目的錯(cuò)誤則由第三級(jí)轉(zhuǎn)發(fā)緩存控制子單元將相應(yīng)的接收?qǐng)?bào)文丟棄。第三級(jí)轉(zhuǎn)發(fā)緩存子單元將接收到的報(bào)文發(fā)送到對(duì)應(yīng)系統(tǒng)側(cè)端口的發(fā)送模塊,系統(tǒng)側(cè)端口的發(fā)送模塊添加報(bào)文相關(guān)信息到報(bào)文頭后將報(bào)文送出。

通過本發(fā)明提供的基于FPGA的系統(tǒng)和方法能夠節(jié)省三分之一的工程時(shí)間。并且代碼修改后的工程可以穩(wěn)定輸出正常沒有時(shí)序問題的結(jié)果。

以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
旅游| 清流县| 桦南县| 探索| 峨边| 横峰县| 禄劝| 湘乡市| 勃利县| 金湖县| 东阿县| 宜宾市| 武安市| 东兴市| 德格县| 铁力市| 东方市| 黄浦区| 吉木乃县| 杭锦旗| 万盛区| 桓台县| 呼和浩特市| 阳信县| 黑水县| 徐州市| 东莞市| 肃宁县| 孟村| 蒲江县| 确山县| 正安县| 邹城市| 合作市| 蓝田县| 百色市| 芜湖市| 南和县| 岳阳市| 大方县| 康平县|