• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      適用于軟件通信體系結構的CORBA技術研究

      2016-11-28 01:29:23竇茂森葉榮飛周繼華
      微處理機 2016年5期
      關鍵詞:共享內存中間件體系結構

      竇茂森,敬 凱,葉榮飛,周繼華

      (1.中國人民解放軍91404部隊,秦皇島066001;2.重慶金美通信有限責任公司,重慶400030)

      適用于軟件通信體系結構的CORBA技術研究

      竇茂森1,敬凱2,葉榮飛2,周繼華2

      (1.中國人民解放軍91404部隊,秦皇島066001;2.重慶金美通信有限責任公司,重慶400030)

      介紹了軟件通信體系結構和CORBA技術,描述了CORBA技術運行原理及在軟件通信體系結構中的應用方式。CORBA技術為分布式應用提供了面向對象的抽象方法,能夠解決分布式環(huán)境中不同的硬件設備和軟件系統(tǒng)互聯(lián)的問題,增強網絡間軟件的互操作性,解決傳統(tǒng)分布式計算模式中的不足等問題,但現在的CORBA在ORB通信方面,基于TCP/IP的信息交換效率并不是最高,還有提高空間。針對軟件通信體系結構實際需求,對CORBA信息交換方式進行了深入研究,提出了能夠提高ORB之間信息傳輸效率的一種技術方案,對軟件通信體系結構交換數據的方式進行了擴展,為軟件通信體系結構的實現提供了一種高效的信息傳輸方式。

      軟件無線電;軟件通信體系結構;公共對象請求代理體系結構;對象請求代理;ORB間互操作協(xié)議;網際網路ORB間協(xié)定

      1 引 言

      軟件通信體系結構(Software Communication Architecture,SCA)是美國聯(lián)合戰(zhàn)術系統(tǒng)的聯(lián)合項目辦公室(JPO)為建立獨立于設備的結構框架,并能夠使開發(fā)的產品互通而提出的一種體系框架。SCA規(guī)范了軟件可編程平臺的軟件體系架構、硬件體系結構和安全體系結構,定義了平臺開發(fā)的標準框架。SCA已經被軟件定義無線電(SDR,Software Definition Radio)論壇采納為嵌入式系統(tǒng)的標準通信軟件結構[1]。

      自2000年JPO發(fā)布第一個正式版本1.0版,至今SCA已經更新到4.0版。1.0版對SCA進行了基本的描述和定義。2001年發(fā)布的2.0版對SCA的軟件體系結構和硬件體系結構做了定義。2004年發(fā)布2.2.1版和3.0版,3.0版專門定義了數字信號處理硬件子系統(tǒng)(SPS)等硬件單元的可移植性附錄,并且增加了安全體系結構附錄,但由于3.0版的不足和低效2006年重新推出了2.2版。SCA2.2.2和它之前的版本都用公共對象請求代理體系結構(CORBA,Common Object Request Broker Architecture)作為中間件。目前符合SCA規(guī)范的軟件無線電產品均是基于SCA2.2.2版本來做的。2012年2月最新的SCA4.0發(fā)布,進行了較多改動,不再要求CORBA為必需的中間件[2]。

      SCA規(guī)范雖然不再規(guī)定CORBA作為必需的中間件,但是CORBA作為中間件仍是一個較好的選擇。CORBA作為通信中間件,基于其消息傳輸技術可以實現分布式計算環(huán)境,能夠屏蔽異構的硬件及操作系統(tǒng),并可使用多種編程語言。通過CORBA,應用組件可以獲得良好的可移植性、可重用性和互操作性。

      由于CORBA性能直接決定了SCA組件通信效率,因此需要對CORBA的工作原理進行分析,結合SCA實際應用場景的需求,對CORBA信息的交換方式進行擴展,使CORBA能夠更高效的進行信息交換,進而提高軟件無線電系統(tǒng)的運行效率。

      2 CORBA中間件技術研究

      2.1CORBA簡介

      CORBA是由對象管理工作組(OMG,Object Management Group)基于眾多開放系統(tǒng)平臺廠商提交的分布對象互操作內容基礎上提出的應用軟件體系結構和對象技術規(guī)范[3]。CORBA核心是一套標準的語言、接口和協(xié)議。

      CORBA是為了實現分布式計算而引人的,是一種分布對象中間件(Distributed Object Middleware)。所謂中間件,就是位于操作系統(tǒng)和應用軟件之間的一個軟件層,它向各種應用軟件提供服務,能夠屏蔽網絡硬件平臺的差異性和操作系統(tǒng)與網絡協(xié)議的異構性,通過網絡互相通信,使應用軟件相對獨立于計算機硬件和操作系統(tǒng)平臺[4]。

      CORBA技術為分布式應用提供了面向對象的抽象方法,能夠解決分布式環(huán)境(DCE,Distributed Computing Environment)中不同的硬件設備和軟件系統(tǒng)互聯(lián)的問題,能夠增強網絡間軟件的互操作性,解決傳統(tǒng)分布式計算模式中的不足等問題,能夠很好地支持網絡異構環(huán)境下對數據源的訪問,支持透明的遠程訪問[5]。

      2.2CORBA運行原理

      CORBA的運行原理如圖1所示。

      CORBA的客戶端是通過對象引用來對服務器端的對象實現進行訪問的。對象引用類似一個指針,但可以表示不同進程中的對象實現。

      圖1 CORBA運行原理圖

      “stub”可譯作碼根。客戶程序必須與stub結合起來才算完整。stub是自動生成的,不需要程序員參與。靜態(tài)框架就像服務器端的stub,它并不負責對象的實現??蛻舳顺绦蛞部梢酝ㄟ^動態(tài)調用接口(DII,Dynamic Invocation Interface)向遠端對象發(fā)起調用??梢詫II看作是一組標準的API,客戶程序可以不需要stub而使用這些API動態(tài)發(fā)起一個CORBA調用。DII和stub是兩種相互獨立的調用途徑。當客戶端動態(tài)調用接口的時候,服務器端也有相對應的動態(tài)框架接口(DSI:Dynamic Skeleton Interface),同樣的,DSI也可以被看作是一組標準的API。動態(tài)框架接口不依賴于靜態(tài)框架,客戶端和服務器端是分開實現的,雙方可以選擇自身合適的方式自由組合。對象適配器提供了服務器端對象實現與ORB核心之間的適配層,不同的對象實現需求會有不同的適配器。

      ORB(Object Request Broker,對象請求代理)負責處理底層網絡通信細節(jié)。在客戶端發(fā)起調用的時候,輸入的參數格式與特定的平臺和特定語言有關,客戶端ORB負責將它們編碼成可以在網絡上傳送的在線格式(on-wire format),這一過程稱為編組(marshlling)。這種格式在網絡上傳送后到達服務器端的ORB,服務器端的ORB負責將這些在線格式“還原”成本地所使用的特定平臺和語言格式,這一過程稱為解組(unmarshalling)。當服務器端調用結束以后,服務器端ORB將輸出參數和返回參數編碼成在線格式,并經網絡傳送到客戶端ORB,客戶端ORB再將這些在線格式“還原”成本地所使用的特定平臺和語言格式,作為輸出參數和返回參數送給客戶端程序。編組和解組的引入,使客戶端和服務器端的平臺和語言可以不同,帶來了CORBA平臺獨立與語言獨立的特性。

      CORBA中引入了通用的ORB互操作性結構體系,通用ORB間協(xié)議(GIOP,General Inter ORB Protocol)。GIOP是一類抽象協(xié)議,它指定了轉換語法和一個消息格式的標準集,獨立開發(fā)的ORB可以在任何一個面向連接的傳遞中進行通信。TCP/IP上實現的GIOP稱為因特網ORB間協(xié)議(IIOP,Internet Inter-ORB Protocol)?;谝蕴W的CORBA用IIOP來交換信息。所有符合CORBA互操作性要求的ORB必須實現GIOP和IIOP。

      2.3CORBA在SCA中的應用

      SCA定義了用于管理、控制、配置軟件無線電的軟件體系結構。內容包含接口、行為規(guī)范、一般規(guī)則、波形應用程序接口(API)程序以及所需的安全??傮w來講,是一組用來實現軟件無線電的規(guī)則、方法和設計標準。SCA規(guī)范包含了硬件體系結構定義、軟件體系結構定義、安全體系結構定義以及應用程序接口四個部分。SCA軟件規(guī)范能夠將應用與操作環(huán)境分離使應用功能模塊化。

      SCA的架構結構如圖2所示。在SCA中,一個應用程序由加載在分布處理系統(tǒng)上的多個軟件組件組成。這些組件被一個框架控制接口的實現管理。這些應用組件既可以彼此通信又可以通過SCA定義的端口接口擴展與系統(tǒng)提供的服務和設備通信。相似的,應用與框架服務接口的通信通過CORBA中間件實現。有這樣的趨勢,這些服務和設備(圖中的“系統(tǒng)組件”)接口會被特定的系統(tǒng)或域標準化,因此與框架接口關聯(lián),所有的應用與系統(tǒng)在不同系統(tǒng)的通信是統(tǒng)一的。然而,對于系統(tǒng)和域的規(guī)范,這些接口的標準化是在規(guī)范的范圍之外的。

      一個應用能夠訪問操作系統(tǒng)功能,但被限制在可移植操作系統(tǒng)接口(POSIX,the Portable Operating System Interface)規(guī)范子集SCA應用環(huán)境配置文件(SCA標準附錄B)列舉的操作。POSIX是一個公開的工業(yè)標準并且它的實時性擴展兼容支持OMG的CORBA規(guī)范需求。因為清晰的POSIX配置文件包含更多的功能部件而對于控制一個典型的實現不是必須的,這些規(guī)范定義了一個最小的POSIX文件促進SCA目的的達成。

      圖2 SCA層次結構示意圖

      與應用組件相似,系統(tǒng)組件被框架控制接口通過基本設備接口有限的管理。然而不同于應用組件,系統(tǒng)組件對操作系統(tǒng)提供的功能的使用并不受限,因為這些組件符合通用的系統(tǒng)規(guī)范。

      3 CORBA技術改進

      GIOP是一個指導性協(xié)議,是一個規(guī)范,它為工作在具體傳輸協(xié)議之上的實施協(xié)議規(guī)定了編碼方式和消息格式的框架,并不是具體協(xié)議。GIOP可以派生出各種具體的ORB互通協(xié)議,基于TCP/IP的就是IIOP,單機SCA中用到的CORBA協(xié)議通常為IIOP。

      3.1基于TCP/IP的信息交換方式的不足

      SCA代表了未來無線通信系統(tǒng)設計技術的發(fā)展方向,是軟件無線電系統(tǒng)的唯一標準[5]。無線電的服務正從長期依賴硬導線連接向軟件無線電方向演進。軟件無線電的關鍵思想是構建一種通用、開放性、標準化的硬件平臺,工作頻段、加密類型、通信協(xié)議等都用軟件來完成。軟件無線電是新一代的無線通信系統(tǒng),是可以用軟件控制和重定義的平臺。通過添加卸載不同的軟件模塊來實現不同的功能,軟件可以升級更新[6]。軟件無線電是對傳統(tǒng)“純硬件電路”模式的一種替代,是軍隊無線電通信發(fā)展的方向。與此同時,硬件功能讓軟件來替代,必然對軟件性能有更大的要求,這就需要軟件的運行盡可能高效。但是現在的CORBA存在一些問題,就是在ORB之間的通信方面,數據交換的效率并不是最高的,還有提高的空間。

      CORBA規(guī)范將GOIP定義為它基本的互動性框架,它描述了特定協(xié)議如何進行創(chuàng)建以適用于GIOP框架。CORBA通過指定IDL(Interface Description Language,接口定義語言)使得開發(fā)人員可以使用不同語言來開發(fā)CORBA組件。通過指定網絡協(xié)議GIOP,使得開發(fā)人員可以在不同的操作系統(tǒng)和不同的硬件平臺上進行跨平臺開發(fā)。GIOP指定了客戶機和服務器之間進行通信所必需的大部分協(xié)議細節(jié)。IIOP(Internet Inter-ORB Protocol,因特網對象代理間通信協(xié)議)是GIOP基于因特網的實現,提供了TCP/IP到GIOP的映射,指出如何通過TCP/IP連接交換GIOP信息。IIOP為Internet提供了一個標準的協(xié)作工作協(xié)議,它是TCP/IP環(huán)境下基本的inter-ORB協(xié)議,最普遍的傳輸層。

      IIOP是為分布式應用組件之間的通信設計的,用IIOP機制可以達到跨系統(tǒng),跨硬件平臺的目的。但是,就通信效率而言,它不是現存應用通信方式之中效率最高的。由于SCA中應用組件是基于單機通信的,可以采用操作系統(tǒng)提供的其他進程的通信方式來代替基于TCP/IP的IIOP通信機制,比如管道、信號量、消息隊列和共享內存等,以提高SCA系統(tǒng)的運行效率。這些通信機制各自適用于不同的情況,大都適合應用在同構環(huán)境中[7]。

      使得多個進程可以訪問同一塊內存空間,是最快的可用IPC(Inter-Process Communication,進程間通信)形式,是針對其他通信機制運行效率較低而設計的,往往與其它通信機制,如信號量結合使用,來達到進程間的同步及互斥。共享內存通信的一個顯而易見的好處是效率高,因為進程可以直接讀寫內存,而不需要任何數據拷貝。有研究表明,在傳輸數據字節(jié)數在5000字節(jié)以前用共享內存的方式最快,傳輸數據大小在5000到11000字節(jié)左右時,TCP/IP的方法是效率最高的,大于11000字節(jié)數時,用管道的方法最優(yōu)[8]。

      3.2CORBA信息交換方式研究

      3.2.1IIOP協(xié)議的處理

      到目前為止,GIOP有五個版本:GIOP 1.0,GIOP 1.1,GIOP 1.2,GIOP 1.3和GIOP1.4。GIOP規(guī)范由三個要素組成:編碼方式:GIOP采用的是公共數據表示(CDR,The Common Data Representation)傳輸語法[9]。消息格式:GIOP中定義了七種類型的消息用于相互通信。GIOP傳輸要求:GIOP只提出對底層網絡傳輸的條件,符合傳輸條件的網絡傳輸層都應能提供對GIOP的支持。CDR是一種傳送語法,它是GIOP用來表示并傳送數據類型的一種編碼方式。GIOP只是一個指導性協(xié)議,它為工作在具體傳送協(xié)議之上的實施協(xié)議規(guī)定了編碼方式和消息格式框架。具體的實施協(xié)議只需在這個框架中填入特定傳輸協(xié)議所需要的信息。

      如圖3所示,IIOP和GIOP的關系像是一個指定語言對OMG IDL的映射。GIOP可以映射到很多不同的傳輸,且具體指定對于所有的此類映射通用的協(xié)議元素,然而GIOP本身不提供完整的交互,類似IDL不能用作編譯完整的程序。IIOP和其他類似的不同傳輸映射對于抽象的GIOP定義是具體的實現。ESIOPs(Environment-Specific Inter-ORB Protocols,特殊環(huán)境ORB之間的協(xié)議)定義了一個不同ORB之間的接口。環(huán)境特定的ORB間協(xié)議(ESIOP),能夠針對已使用特定分布式計算基礎結構的特殊狀況構建ORB。IIOP是目前使用最為廣泛的ORB互通協(xié)議,SCA體系中采用IIOP為信息交換的中間格式。

      圖3 ORB互通協(xié)議

      socket是對TCP/IP的封裝和應用,CORBA的實現也用到了socket??蛻舳诵枰粋€對象的服務時必須用連接請求啟動與IOR內指定地址的連接。監(jiān)聽服務器可以接受或拒絕連接,在一般情況下,服務器應當接受連接請求。一旦連接建立起來,客戶端可以通過寫入它擁有的用于連接的TCP/IP socket發(fā)送請求消息、定位請求消息或刪除請求消息。這個服務器可以通過寫入它的TCP/IP連接發(fā)送應答消息、定位應答消息和關閉連接消息。發(fā)送(或接收)一個關閉連接消息后,無論是客戶端或服務器必須關閉TCP/IP連接。

      3.2.2ORB信息傳輸方式的擴展

      客戶端與服務器端的操作只是一個調用和返回,因此報文大小不會太大,用共享內存的方式即可完成ORB之間的信息交換需求,考慮到共享內存方式的效率,共享內存是一種實現ORB之間更高效的信息傳輸方式。

      不同的ORB實現對象引用的封裝過程各不相同。OMG的CORBA規(guī)范把設計不同域邊界之間的溝通成為橋接(bridge)。在每個域邊界上,直接從一個域的內部格式轉換為另一個域的內部格式被稱為直接橋接。在每個域的邊界上,進行域內部格式與域外部用的中間格式的交換方式被稱為間接橋接。SCA系統(tǒng)中各個組件均使用相同的ORB則不存在不同ORB之間的橋接問題,因此對于共享內存方式來說,不用ORB域之間的數據轉換,可以直接讀取共享內存區(qū)域就可以達到信息傳輸的目的。

      直接存儲器訪問技術(Direct Memory Access,DMA)是計算機科學中的一種內存訪問技術,它能夠允許某些計算機內部的硬件子系統(tǒng)獨立讀寫系統(tǒng)存儲器,而不需要中中央處理器的操作。在同等處理器的情況下,能夠有效降低中央處理器的負擔,達到快速傳輸數據的目的[10]。DMA的思想對于高性能嵌入式系統(tǒng)算法是很重要的,DMA的方式可以實現內存與內存之間的高速交換。由此可見,將共享內存和DMA相結合是一種較好的能夠提高ORB之間數據交換效率,進而提高軟件無線電系統(tǒng)運行效率的方式。

      存儲器到存儲器之間的DMA傳輸過程:存儲器到存儲器的DMA數據傳送采用數據塊傳送方式。首先送出內存源區(qū)域的地址和控制信號,將選中內存單元的的數據暫存,接著修改地址及字節(jié)數寄存器的值,然后輸出內存目的區(qū)域的地址及控制信號,將暫存的數據,通過系統(tǒng)數據總線,寫入到內存的目的區(qū)域中去,最后修改地址和字節(jié)數寄存器的內容,當字節(jié)計數器減到零或外部輸入時即可結束一次DMA傳輸過程。

      圖4為在對SCA和CORBA分析之后提出的一個ORB之間信息交換方式的模型,可利用該模型對CORBA信息傳輸方式進行擴展。該模型運用DMA機制來操作內存到內存的訪問。保留了TCP/IP信息傳輸方式,提供兩條通路供開發(fā)者選出適當的方式進行信息傳輸。其中,共享內存需要增加互斥鎖或信號量機制完成內存讀寫的同步。

      4 結束語

      SCA系統(tǒng)通常是基于單機的,用軟件取代傳統(tǒng)的硬件方式,因此對效率要求較高。因此CORBA中基于協(xié)議傳輸的方式擁有可改進的空間。本框架對軟件通信體系結構交換數據的方式進行了擴展,為軟件通信體系結構的實現提供了一種高效的信息傳輸方式。共享內存是速度最快的進程間通信技術,而且非常靈活,還可以把文件映射到內存,是加快數據訪問的理想解決方案。

      圖4 ORB信息交換模型

      [1]高宏偉,吳宇,施峻武,等.基于SCA的軟件無線電在FPGA上設計與實現[J].現代電子技術,2011,34(19):105-110.GAO Hong-wei,WU Yu,SHI Jun-wu,et al.Design and Implementaion of SCA-based SDR on FPGA[J].Modern Electronics Technique,2011,34(19):105-110.

      [2]張瓊.SCA規(guī)范的起源及發(fā)展研究[J].計算機光盤軟件與應用,2013(4):138-140.ZHANG Qiong.The Research on the Origin and Development of SCA Specifications[J].Computer CD Software and Applications,2013(4):138-140.

      [3]周藝林,李仁發(fā),李肯立.無線CORBA中間件的系統(tǒng)結構分析與研究[J].計算機工程與設計,2005,25(7):1718-1725.ZHOU Yi-lin,LI Ren-fa,LI Ken-li.Research on Architecture and Technology of Wireless CORBA[J].Computer Engineering and Design,2005,25(7):1718-1725.

      [4]Richard E.Schantz,Douglas C.Schmidt.Middleware for Distributed Systems:Evolving the Common for Networkcentric Applications[J].chapter in Encyclopedia of Software Engineering,2001.

      [5]石賤弟,趙小璞.基于軟件通信體系結構的DSP硬件抽象層研究與設計[J].電子設計工程,2011,19(17):123-129.SHI Jian-di,ZHAO Xiao-pu.Research and Design of DSP HAL Based on Software Communication Architecture[J].Electronic Design Engineering,2011,19(17):123-129.

      [6]陶玉柱,胡建旺,崔佩璋.軟件無線電技術綜述[J].通信技術,2011,44(1):37-39.TAO Yu-zhu,HU Jian-wang,CUI Pei-zhang.An Overview of Software Radio[J].Communications Technology,2011,44(1):37-39.

      [7]陳華清,吳鍵.開放系統(tǒng)桌面進程通信機制研究[J].計算機應用研究,2006(10):194-197.CHEN Hua-qing,WU Jian.Research on Desktop Inter-Process Communication of Open System[J].Application Research of computers,2006(10):194-197.

      [8]孫葉萌.單機內進程間三種通信方法效率的比較[J].長春理工大學學報,2003,26(3):81-83.SUN Ye-meng.Research on the Three Methods of Process Communication[J].Journal of Changchun Institute of Optics and Mechanics,2003,26(3):81-83.

      [9]薛斐,杜慶偉.GIOP的CDR編碼特性的研究及其應用[J].計算機應用,2003,23(12):48-51.XUE Fei,DU Qing-wei.Research and Application of GIOP CDR Characteristics[J].Comuputer Applications,2003,23(12):48-51.

      [10]魏建磊,王茹.DSP芯片中雙通道DMA的研究與設計[J].計算機技術與發(fā)展,2008,18(3):36-39.WEI Jian-lei,WANG Ru.Design and Simulation of 2-Channel DMA in DSP[J].Computer Technology and Development,2008,18(3):36-39.

      CORBA Technology Research for Software Communication Architecture

      Dou Maosen1,Jing Kai2,Ye Rongfei2,Zhou Jihua2
      (1.Unit 91404 of Chinese People's Liberation Army,Qinhuangdao 066001,China;2.Chongqing Jinmei Communications Co.,Ltd.,Chongqing 400030,China)

      This paper introduces the software communications architecture and CORBA technology,describes CORBA technology operation principle and application in the software communications architecture.CORBA technology,providing an abstraction method of object-oriented for distributed application,can solve the interconnection problems of different hardware and software system in distributed environment,enhance the interoperability between network software and solve the problem of the deficiency of traditional distributed computing model and so on.But now,the efficiency of information exchange,based on TCP/IP,is not the highest in ORB communications.According to the actual demand for software communication architecture,we make a deep research on the mode of CORBA information exchange,put forward a technical scheme to improve the efficiency of information transmission between the ORBs and expand the mode of the software communications architecture data exchange,which provide an efficient way of information transmission for the realization of the software communications architecture.

      Software Defined Radio;Software Communication Architecture;CORBA;ORB;GIOP;IIOP

      10.3969/j.issn.1002-2279.2016.05.010

      TP31

      A

      1002-2279(2016)05-0038-05

      竇茂森(1979-),男,山東省平度市人,工程師/學士,主研方向:通信及指揮自動化。周繼華(1979-),博士,正高級,主研方向:無線通信與移動網絡。

      2016-01-04

      猜你喜歡
      共享內存中間件體系結構
      通過QT實現進程間的通信
      RFID中間件技術及其應用研究
      電子制作(2018年14期)2018-08-21 01:38:10
      基于VanConnect中間件的設計與開發(fā)
      電子測試(2018年10期)2018-06-26 05:54:02
      基于PCI總線的多處理器協(xié)同機制研究
      科技風(2017年20期)2017-07-10 18:56:06
      基于粒計算的武器裝備體系結構超網絡模型
      作戰(zhàn)體系結構穩(wěn)定性突變分析
      基于DODAF的裝備體系結構設計
      基于云計算的航天器控制系統(tǒng)自組織體系結構
      中間件在高速公路領域的應用
      QNX下PEX8311多路實時數據采集的驅動設計
      電子世界(2014年21期)2014-04-29 06:41:36
      周口市| 晋城| 铁岭县| 颍上县| 洛川县| 光山县| 南安市| 湘潭市| 孟津县| 惠安县| 襄汾县| 滨海县| 黄梅县| 大余县| 中阳县| 桐梓县| 广安市| 磴口县| 铜陵市| 西丰县| 昌平区| 阿瓦提县| 青冈县| 晋中市| 广汉市| 醴陵市| 五莲县| 大安市| 黄龙县| 临澧县| 保康县| 南江县| 焦作市| 五家渠市| 永城市| 枣庄市| 清丰县| 泰兴市| 泾川县| 阿鲁科尔沁旗| 清水县|