国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于復(fù)雜參數(shù)的組態(tài)化顯示監(jiān)控系統(tǒng)

2019-05-08 12:45:18
關(guān)鍵詞:數(shù)據(jù)服務(wù)控件組態(tài)

(中國(guó)運(yùn)載火箭技術(shù)研究院 研究發(fā)展中心,北京 100076)

0 引言

隨著我國(guó)航天器頻繁發(fā)射的常態(tài)化,以及各類科研空間探測(cè)器型號(hào)的不斷增多,對(duì)測(cè)發(fā)控軟件技術(shù)要求也不斷提髙[1]。目前測(cè)發(fā)控軟件的技術(shù)實(shí)現(xiàn)途徑主要分為兩類,傳統(tǒng)代碼實(shí)現(xiàn)和基于組態(tài)技術(shù)實(shí)現(xiàn)[2-4]。

傳統(tǒng)測(cè)發(fā)控軟件由于具體型號(hào)任務(wù)需求的差異,根據(jù)試驗(yàn)具體要求,功能都是通過(guò)代碼定制開發(fā)實(shí)現(xiàn)的,一套軟件通常只能針對(duì)一個(gè)型號(hào)和試驗(yàn)任務(wù),任務(wù)需求和試驗(yàn)方案一旦變更,需要專門的開發(fā)人員根據(jù)需求進(jìn)行重新開發(fā),軟件的測(cè)試維護(hù)都需要大量的人力物力支出,同時(shí)也對(duì)保障軟件的可靠性帶來(lái)難度[5-7]。

目前一些測(cè)發(fā)控軟件結(jié)合組態(tài)技術(shù),可以對(duì)軟件部分功能以類似搭積木的簡(jiǎn)單方式完成,當(dāng)試驗(yàn)任務(wù)需求發(fā)生更改時(shí),無(wú)需進(jìn)行大量底層源碼級(jí)的開發(fā),實(shí)現(xiàn)軟件的靈活和可配置性,縮短軟件開發(fā)周期[8-10]。如某靶場(chǎng)測(cè)控軟件,由工程管理器、開發(fā)系統(tǒng)、運(yùn)行系統(tǒng)、實(shí)時(shí)數(shù)據(jù)庫(kù)和其它模塊組成,根據(jù)導(dǎo)彈種類、試驗(yàn)?zāi)康暮蜏y(cè)控方案,快速建立不同的導(dǎo)彈測(cè)控工程[11]?,F(xiàn)有的組態(tài)化測(cè)發(fā)控軟件均根據(jù)所處理的數(shù)據(jù)工程實(shí)際和被測(cè)試對(duì)象特點(diǎn),形成一套內(nèi)部閉環(huán)的系統(tǒng),靠事先固化好的程序?qū)崿F(xiàn)固定類型數(shù)據(jù)的處理、編輯和顯示,交互界面編輯、數(shù)據(jù)監(jiān)控、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)等各模塊間耦合緊密。而航天飛行器涉及遙測(cè)參數(shù)復(fù)雜,不同類型飛行器和型號(hào)對(duì)參數(shù)的設(shè)計(jì)與處理均不同,數(shù)據(jù)處理端一旦發(fā)生變化,交互界面的編輯與監(jiān)控均無(wú)法適用。且現(xiàn)有測(cè)發(fā)控軟件的組態(tài)控件的設(shè)計(jì)僅限于特定工程類型,雖可以集成自定義控件,但對(duì)控件本身的設(shè)計(jì)缺少通用化接口,用戶擴(kuò)展控件功能、開發(fā)新控件需要編寫大量代碼,具有集成難度。

本文克服現(xiàn)有技術(shù)的不足,提出一種基于復(fù)雜參數(shù)組態(tài)化顯控系統(tǒng),對(duì)系統(tǒng)組成架構(gòu)及各功能模塊進(jìn)行了實(shí)施方式的描述。

1 系統(tǒng)構(gòu)成框架

一種基于復(fù)雜參數(shù)的組態(tài)化顯示監(jiān)控系統(tǒng)將測(cè)發(fā)控軟件中顯示監(jiān)控和數(shù)據(jù)中心分開,實(shí)現(xiàn)對(duì)不同領(lǐng)域各種類型數(shù)據(jù)的處理以及顯控界面的配置和終端靈活加載,系統(tǒng)構(gòu)成如圖1所示,該系統(tǒng)包括數(shù)據(jù)配置模塊、控件設(shè)計(jì)模塊、界面配置模塊以及顯示終端模塊。

圖1 系統(tǒng)構(gòu)成

其中數(shù)據(jù)配置模塊實(shí)現(xiàn)對(duì)測(cè)試覆蓋參數(shù)、數(shù)據(jù)幀幀協(xié)議、參數(shù)處理公式以及用戶登錄權(quán)限的配置,生成以xml文件格式存儲(chǔ)的數(shù)據(jù)配置文件,供界面配置模塊和顯示終端模塊使用。

控件設(shè)計(jì)模塊實(shí)現(xiàn)組態(tài)化控件設(shè)計(jì),供界面配置模塊和顯示終端模塊使用。該模塊包括已定義好的一系列控件,包括文本、數(shù)字量、模擬量、狀態(tài)燈、曲線、切換欄、星點(diǎn)圖等,可供系統(tǒng)直接使用。同時(shí)具有通用持久化接口和標(biāo)準(zhǔn)化數(shù)據(jù)服務(wù)接口,支持用戶自定義控件,實(shí)現(xiàn)自定義控件的靈活設(shè)計(jì)與快速定義,供系統(tǒng)直接使用,大幅降低開發(fā)成本。

界面配置模塊用于快速配置滿足測(cè)試任務(wù)的終端界面,配置完成后,界面配置信息以xml文件格式進(jìn)行保存,供顯示終端模塊進(jìn)行加載。針對(duì)具體測(cè)試任務(wù),建立界面模板和配置界面,從控件庫(kù)中以拖拽的方式選擇相應(yīng)控件對(duì)顯示終端界面進(jìn)行布局設(shè)計(jì),并對(duì)控件進(jìn)行屬性設(shè)置和綁定測(cè)試參數(shù),對(duì)復(fù)雜測(cè)試參數(shù)進(jìn)行設(shè)定,測(cè)試參數(shù)來(lái)自數(shù)據(jù)配置模塊生成的數(shù)據(jù)配置文件。

顯示終端模塊在用戶登錄系統(tǒng)時(shí),根據(jù)數(shù)據(jù)配置模塊配置的用戶權(quán)限信息以及界面配置模塊生成的xml界面配置信息加載當(dāng)前用戶可訪問(wèn)的測(cè)試任務(wù)終端界面。與數(shù)據(jù)中心進(jìn)行連接,接收并解析數(shù)據(jù)中心發(fā)送的數(shù)據(jù),將解析得到的數(shù)據(jù)發(fā)送給所有組態(tài)化控件,每個(gè)組態(tài)化控件從中提取綁定的測(cè)試參數(shù)對(duì)應(yīng)的數(shù)據(jù),將提取的數(shù)據(jù)和設(shè)置的屬性發(fā)送給顯示終端模塊顯示。

2 關(guān)鍵技術(shù)實(shí)現(xiàn)

2.1 組態(tài)控件通用接口設(shè)計(jì)

控件設(shè)計(jì)模塊是該系統(tǒng)實(shí)現(xiàn)組態(tài)化設(shè)計(jì)的重要組成,該模塊包括了基礎(chǔ)核心模塊、屬性管理模塊、持久化模塊和數(shù)據(jù)服務(wù)模塊,共同實(shí)現(xiàn)了組態(tài)化控件。其中基礎(chǔ)核心模塊為控件本身的屬性面板設(shè)計(jì)定義了基礎(chǔ)屬性和編輯器類型,供用戶在自定義控件開發(fā)過(guò)程中使用?;A(chǔ)屬性包括屬性面板的名稱、描述、事件、聚焦、隱藏、優(yōu)先編輯、表單類型過(guò)濾等屬性。編輯器類型包括顏色、字體、下拉框、xml編輯器、多選框、字符型、整型、浮點(diǎn)型、時(shí)間、拖拽、組合類型等各類編輯器屬性。

屬性管理模塊實(shí)現(xiàn)自定義控件屬性的靈活定義。只需要通過(guò)對(duì)基礎(chǔ)核心模塊的基礎(chǔ)屬性和編輯器類型進(jìn)行調(diào)用設(shè)置,便可實(shí)現(xiàn)自定義控件屬性的定義。例如對(duì)某一新建自定義控件添加控件背景色的屬性,只需定義一下屬性面板名稱為背景色,編輯器類型為顏色,生成的控件便可供界面配置模塊使用,具有背景色編輯屬性。

持久化模塊定義并實(shí)現(xiàn)了控件的通用持久化接口,接口包括以下4個(gè)功能:設(shè)置唯一標(biāo)識(shí)、反序列化、信息持久化和拷貝。設(shè)置唯一標(biāo)識(shí)即為控件設(shè)置一個(gè)唯一的標(biāo)識(shí)ID。反序列化用于從界面配置信息中獲得控件定義的所有屬性名稱和屬性值,并將屬性值轉(zhuǎn)換成相應(yīng)數(shù)值類型。信息持久化將控件當(dāng)前或修改后的屬性名稱和屬性值寫入界面配置信息??截愑糜趯?shí)現(xiàn)將當(dāng)前控件的所有屬性進(jìn)行復(fù)制使用。

數(shù)據(jù)服務(wù)模塊定義并實(shí)現(xiàn)了控件的標(biāo)準(zhǔn)化數(shù)據(jù)服務(wù)接口,這也是組態(tài)化控件設(shè)計(jì)的一項(xiàng)關(guān)鍵技術(shù)。該標(biāo)準(zhǔn)化數(shù)據(jù)服務(wù)接口具有以下5個(gè)功能:?jiǎn)?dòng)、暫停、停止、獲取參數(shù)類型和獲取綁定參數(shù)。啟動(dòng)服務(wù)用于訂閱各類數(shù)據(jù)服務(wù)處理事件,包括實(shí)時(shí)數(shù)據(jù)接收事件、歷史數(shù)據(jù)接收事件等。暫停服務(wù)用于暫停訂閱數(shù)據(jù)服務(wù)處理事件。停止服務(wù)用于取消訂閱數(shù)據(jù)服務(wù)處理事件。參數(shù)類型用于獲取控件關(guān)聯(lián)參數(shù)的類型,1代表模擬量、2代表狀態(tài)量、3代表參數(shù)量、4代表故障診斷、5代表沒(méi)有關(guān)聯(lián)參數(shù)類型。綁定參數(shù)用于獲取控件綁定的參數(shù)信息,參數(shù)信息以XElement類型存儲(chǔ),用于控件定位關(guān)聯(lián)參數(shù)。

圖2所示為組態(tài)控件通用接口設(shè)計(jì)與調(diào)用的示意圖,界面配置模塊與顯示終端模塊均基于組態(tài)控件。界面配置模塊如果新建一個(gè)配置頁(yè)面,在頁(yè)面中添加一個(gè)新的控件,將觸發(fā)控件設(shè)置控件唯一標(biāo)識(shí),并設(shè)置控件屬性。如果不需要新建配置頁(yè)面,則加載定義好的控件,通過(guò)調(diào)用反序列化功能,獲取添加控件的所定義的屬性信息,這些屬性信息可供用戶在頁(yè)面中對(duì)控件進(jìn)行設(shè)置,完成控件屬性設(shè)置后,保存頁(yè)面信息,將調(diào)用通用持久化接口,將頁(yè)面中的控件相關(guān)配置信息寫入xml配置文件,生成頁(yè)面配置文件。顯示終端模塊在運(yùn)行配置好的頁(yè)面時(shí),會(huì)加載控件,過(guò)程中進(jìn)行數(shù)據(jù)訂閱,調(diào)用標(biāo)準(zhǔn)化數(shù)據(jù)服務(wù)接口。通過(guò)啟動(dòng)功能訂閱數(shù)據(jù)服務(wù)處理事件,通過(guò)獲取參數(shù)類型功能獲取控件關(guān)聯(lián)的參數(shù)類型,通過(guò)獲取綁定參數(shù)功能獲取控件綁定的參數(shù)信息,終端控件完成數(shù)據(jù)加載后通過(guò)調(diào)用停止功能取消數(shù)據(jù)訂閱事件。

圖2 組態(tài)控件通用接口設(shè)計(jì)與調(diào)用示意圖

2.2 顯示終端模塊界面加載與數(shù)據(jù)顯示方法

該系統(tǒng)的另一個(gè)關(guān)鍵技術(shù)是顯示終端模塊界面加載與數(shù)據(jù)顯示方法的實(shí)現(xiàn),涉及到顯示終端模塊的設(shè)計(jì)。顯示終端模塊包括網(wǎng)絡(luò)通信模塊、用戶權(quán)限驗(yàn)證模塊、界面加載模塊和數(shù)據(jù)處理模塊。其中網(wǎng)絡(luò)通信模塊支持TCP和UDP兩種通信協(xié)議,負(fù)責(zé)接收數(shù)據(jù)中心傳遞過(guò)來(lái)的數(shù)據(jù)幀,并向數(shù)據(jù)中心發(fā)送狀態(tài)幀。實(shí)現(xiàn)顯控終端模塊與數(shù)據(jù)中心的數(shù)據(jù)聯(lián)通。

用戶權(quán)限驗(yàn)證模塊用于在運(yùn)行終端啟動(dòng)時(shí)驗(yàn)證用戶名和密碼,根據(jù)數(shù)據(jù)中心返回的用戶訪問(wèn)權(quán)限,加載用戶可訪問(wèn)的測(cè)試任務(wù)終端界面。用戶權(quán)限信息在數(shù)據(jù)配置模塊進(jìn)行配置。例如為用戶A配置了查看GNC系統(tǒng)終端界面的權(quán)限,用戶A登錄終端后,只能訪問(wèn)GNC系統(tǒng)界面,其它分系統(tǒng)界面不能訪問(wèn)。

界面加載模塊實(shí)現(xiàn)界面配置模塊中配置的測(cè)試任務(wù)終端界面在顯示終端模塊上的加載運(yùn)行。該模塊設(shè)計(jì)了統(tǒng)一的業(yè)務(wù)執(zhí)行過(guò)程,便于軟件和控件的靈活擴(kuò)展與快速修改,實(shí)現(xiàn)每個(gè)自定義控件的加載和運(yùn)行,并實(shí)現(xiàn)控件對(duì)數(shù)據(jù)的實(shí)時(shí)顯示。

數(shù)據(jù)處理模塊實(shí)現(xiàn)將控件從網(wǎng)絡(luò)通信模塊接收的數(shù)據(jù)進(jìn)行處理,將數(shù)據(jù)按照控件配置的顯示方式進(jìn)行處理顯示。顯示方式包括按位顯示、二進(jìn)制、十進(jìn)制、十六進(jìn)制顯示。根據(jù)控件配置進(jìn)行數(shù)據(jù)處理與顯示的方法為:首先將數(shù)字量參數(shù)值從數(shù)據(jù)幀中挑出來(lái),轉(zhuǎn)換成十進(jìn)制,然后將十進(jìn)制轉(zhuǎn)換成二進(jìn)制字符串,根據(jù)控件按位顯示的配置起始位和終止位對(duì)二進(jìn)制字符串進(jìn)行截取,將截取后的二進(jìn)制字符串轉(zhuǎn)換成十進(jìn)制,然后根據(jù)配置的顯示方式,將處理后的數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制、十六進(jìn)制或者十進(jìn)制進(jìn)行刷新實(shí)時(shí)顯示。例如將某個(gè)占一個(gè)字節(jié)值為230的參數(shù),挑取0到3位以十六進(jìn)制顯示。將230轉(zhuǎn)換成二進(jìn)制11100110,截取0到3位后的二進(jìn)制字符串為1110,將該二進(jìn)制字符串轉(zhuǎn)換成十進(jìn)制14,再將14轉(zhuǎn)換成十六進(jìn)制E,控件最終會(huì)刷新數(shù)據(jù)顯示E。

圖3所示為顯示終端模塊界面加載與數(shù)據(jù)顯示方法,首先通過(guò)網(wǎng)絡(luò)通信模塊使顯示終端模塊與數(shù)據(jù)中心建立通信,顯示終端模塊根據(jù)用戶的登錄信息,向數(shù)據(jù)中心發(fā)送登錄驗(yàn)證幀信息,驗(yàn)證成功后,數(shù)據(jù)中心將返回登錄驗(yàn)證幀信息,其中包括允許當(dāng)前用戶加載的測(cè)試任務(wù)終端界面。顯示終端模塊具備一個(gè)統(tǒng)一顯示運(yùn)行窗口“Shell”,在載入窗口過(guò)程中,對(duì)界面配置模塊中生成的模板文件進(jìn)行載入,模板文件包括用戶定制的多個(gè)頁(yè)面,每個(gè)頁(yè)面為一個(gè)xml文件,所有的頁(yè)面xml文件信息統(tǒng)一存儲(chǔ)在globle.xml文件中。通過(guò)讀取globle.xml文件,遍歷模板中所有的頁(yè)面xml文件來(lái)初始化頁(yè)面布局和創(chuàng)建控件,每個(gè)頁(yè)面的xml文件存儲(chǔ)了配置頁(yè)面布局中包含的所有控件及屬性信息。程序在遍歷頁(yè)面布局中每個(gè)控件時(shí),使當(dāng)前控件訂閱實(shí)時(shí)數(shù)據(jù)接收事件,并獲取當(dāng)前控件能處理的參數(shù)類型,然后根據(jù)不同的參數(shù)類型,判斷當(dāng)前控件是否已經(jīng)綁定了需要處理的參數(shù)信息,如果控件不具有綁定參數(shù)信息,則通過(guò)調(diào)用GetXelementParam方法從界面配置信息(頁(yè)面xml文件)中獲得該控件所綁定的參數(shù)信息,完成頁(yè)面布局中所有控件的遍歷后,向數(shù)據(jù)中心發(fā)送相應(yīng)的參數(shù)注冊(cè)命令以便數(shù)據(jù)中心對(duì)注冊(cè)的參數(shù)進(jìn)行處理,最后向數(shù)據(jù)中心發(fā)送注冊(cè)結(jié)束命令通知數(shù)據(jù)中心完成了參數(shù)注冊(cè)。網(wǎng)絡(luò)通信模塊監(jiān)聽數(shù)據(jù)中心發(fā)送給顯示終端模塊的數(shù)據(jù)幀,完成數(shù)據(jù)幀接收后,對(duì)該數(shù)據(jù)幀的結(jié)構(gòu)進(jìn)行檢查,并對(duì)幀類型進(jìn)行判斷。根據(jù)不同的數(shù)據(jù)幀類型,將數(shù)據(jù)幀發(fā)送給訂閱了接收對(duì)應(yīng)數(shù)據(jù)幀類型的控件,通知控件數(shù)據(jù)接收事件,對(duì)數(shù)據(jù)幀進(jìn)行解析,獲取數(shù)據(jù)幀中的參數(shù)個(gè)數(shù)與參數(shù)ID,遍歷所有參數(shù),若ID與控件綁定的參數(shù)ID相符,刷新控件的顯示數(shù)據(jù)并根據(jù)設(shè)置的屬性對(duì)數(shù)據(jù)進(jìn)行顯示。

圖3 顯示終端模塊界面加載與數(shù)據(jù)顯示方法示意圖

3 實(shí)驗(yàn)結(jié)果與分析

該系統(tǒng)擺脫了一個(gè)工程從頭到尾開發(fā)一套軟件的模式,將顯示監(jiān)控和數(shù)據(jù)中心分開,實(shí)現(xiàn)對(duì)各種類型數(shù)據(jù)的處理,有效地解決軟件“重用”問(wèn)題。目前該基于復(fù)雜參數(shù)的組態(tài)化顯示監(jiān)控系統(tǒng)已經(jīng)應(yīng)用于多個(gè)工程項(xiàng)目的地面測(cè)試階段,實(shí)現(xiàn)單機(jī)設(shè)備測(cè)試、系統(tǒng)級(jí)匹配測(cè)試、模飛測(cè)試等試驗(yàn)任務(wù)。其采用軟件配置設(shè)計(jì)思想,將通信、數(shù)據(jù)處理、數(shù)據(jù)顯

示等功能用通用化處理代碼固化在程序里,將測(cè)試參數(shù)、通信協(xié)議、計(jì)算公式等作為配置參數(shù)項(xiàng),采用配置工具進(jìn)行配置錄入,實(shí)現(xiàn)快速可配置設(shè)計(jì)。目前已經(jīng)為近5000個(gè)復(fù)雜參數(shù)及十幾個(gè)分系統(tǒng)的通信協(xié)議完成配置與運(yùn)行。

該系統(tǒng)的控件設(shè)計(jì)模塊通過(guò)標(biāo)準(zhǔn)化數(shù)據(jù)服務(wù)接口、通用持久化接口實(shí)現(xiàn)自定義控件設(shè)計(jì)的標(biāo)準(zhǔn)化與靈活擴(kuò)展,實(shí)現(xiàn)交互界面配置自動(dòng)生成,監(jiān)控顯示終端自動(dòng)加載,能夠在使用現(xiàn)有功能的基礎(chǔ)上進(jìn)行自定義功能的開發(fā),在實(shí)際工程項(xiàng)目應(yīng)用中,根據(jù)總體的特殊需求,利用標(biāo)準(zhǔn)服務(wù)接口,完成定制了多種顯示狀態(tài)燈、監(jiān)控文本窗口、功能按鈕等控件,不需作很多修改而方便地完成軟件的更新和升級(jí),達(dá)到了快速開發(fā)的良好效果。歷經(jīng)多個(gè)工程項(xiàng)目,該系統(tǒng)的設(shè)計(jì)方法和實(shí)現(xiàn)已得到了充分的驗(yàn)證。

4 結(jié)束語(yǔ)

基于復(fù)雜參數(shù)的組態(tài)化顯示監(jiān)控系統(tǒng)采用基于事件注冊(cè)的復(fù)雜參數(shù)數(shù)據(jù)處理與顯示方法,實(shí)現(xiàn)飛行器復(fù)雜參數(shù)測(cè)試數(shù)據(jù)的實(shí)時(shí)監(jiān)控,提出標(biāo)準(zhǔn)化數(shù)據(jù)服務(wù)接口、通用持久化接口的組態(tài)化控件設(shè)計(jì)方法,進(jìn)行自定義控件設(shè)計(jì)標(biāo)準(zhǔn)化與靈活擴(kuò)展,實(shí)現(xiàn)交互界面配置自動(dòng)生成、監(jiān)控顯示終端自動(dòng)加載,達(dá)到一套軟件應(yīng)用于多個(gè)型號(hào)的通用化目標(biāo),實(shí)現(xiàn)飛行器復(fù)雜參數(shù)測(cè)試數(shù)據(jù)的實(shí)時(shí)監(jiān)控,已經(jīng)在工程中得到很好的應(yīng)用,既節(jié)約人力物力,又降低成本,大大提高了開發(fā)效率,實(shí)現(xiàn)軟件的復(fù)用。

猜你喜歡
數(shù)據(jù)服務(wù)控件組態(tài)
地理空間大數(shù)據(jù)服務(wù)自然資源調(diào)查監(jiān)測(cè)的方向分析
基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開發(fā)探討
關(guān)于.net控件數(shù)組的探討
軟件(2018年7期)2018-08-13 09:44:42
基于PLC和組態(tài)的智能電動(dòng)擰緊系統(tǒng)
如何運(yùn)用稅收大數(shù)據(jù)服務(wù)供給側(cè)結(jié)構(gòu)性改革
基于頻繁子圖挖掘的數(shù)據(jù)服務(wù)Mashup推薦
PLC組態(tài)控制在水箱控制系統(tǒng)的應(yīng)用
鑄造行業(yè)三維組態(tài)軟件的應(yīng)用
一種基于數(shù)據(jù)服務(wù)超鏈進(jìn)行情景數(shù)據(jù)集成的方法*
就這樣玩會(huì)VBA中常見的自定義控件
電腦迷(2012年24期)2012-04-29 00:44:03
汕头市| 乌海市| 黔江区| 崇左市| 灵璧县| 定日县| 九龙县| 彰武县| 邵阳市| 铁岭市| 漳州市| 惠东县| 白朗县| 志丹县| 酉阳| 石楼县| 秦皇岛市| 上饶市| 红安县| 临沂市| 竹山县| 凤阳县| 怀柔区| 类乌齐县| 疏附县| 成都市| 沂源县| 密云县| 山东省| 巍山| 洮南市| 鄯善县| 五台县| 新野县| 昭觉县| 沁源县| 辰溪县| 尼木县| 萨嘎县| 赤壁市| 桓台县|