• 
    

    
    

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

      ?

      LoRaWAN協(xié)議棧系統(tǒng)架構(gòu)分析

      2022-04-25 03:37:42韋福鶴曾艷文劉守印
      物聯(lián)網(wǎng)技術(shù) 2022年4期
      關(guān)鍵詞:應(yīng)用層終端設(shè)備網(wǎng)關(guān)

      韋福鶴,朱 珠,曾艷文,劉守印

      (華中師范大學(xué) 物理科學(xué)與技術(shù)學(xué)院,湖北 武漢 430079)

      0 引 言

      物聯(lián)網(wǎng)正在改變我們的生活和工作方式,并已滲透到各個領(lǐng)域,如環(huán)境監(jiān)測、能源開發(fā)、交通管理、健康監(jiān)護等。到2025年,預(yù)計我國物聯(lián)網(wǎng)連接數(shù)將達(dá)到80.1億。物聯(lián)網(wǎng)的迅速發(fā)展離不開低功耗廣域網(wǎng)(Low Power Wide Area Network, LPWAN)技術(shù)的進(jìn)步。LPWAN以其通信距離長、傳輸功耗低等特點,已經(jīng)成為實現(xiàn)物聯(lián)網(wǎng)海量連接的重要推力。而LoRaWAN(Long Range Wide Area Network,LoRaWAN)作為LPWAN的一員,憑借低成本、高靈敏度、自適應(yīng)數(shù)據(jù)速率等特性,在多種產(chǎn)業(yè)(智慧農(nóng)業(yè)、智慧消防、智慧家居等)中發(fā)揮出獨特優(yōu)勢。

      雖然現(xiàn)有的工作已經(jīng)對LoRaWAN物理層調(diào)制技術(shù)和媒體接入控制(Media Access Control, MAC)層進(jìn)行了大量研究,但對于LoRaWAN協(xié)議棧的設(shè)計與實現(xiàn)較少有人關(guān)注。由于目前比較成熟的開源協(xié)議棧—ChirpStack無法適應(yīng)復(fù)雜多樣的應(yīng)用場景,在實際部署中,往往需要開發(fā)人員依照LoRaWAN協(xié)議自主設(shè)計并實現(xiàn)協(xié)議棧,而了解其核心結(jié)構(gòu)與各部分功能對構(gòu)建高效、穩(wěn)定、兼容的協(xié)議棧至關(guān)重要。

      本文詳細(xì)分析了LoRaWAN協(xié)議族(LoRaWAN協(xié)議標(biāo)準(zhǔn)、LoRaWAN后端接口標(biāo)準(zhǔn)、LoRaWAN區(qū)域參數(shù)標(biāo)準(zhǔn))以及實際應(yīng)用中的開源協(xié)議棧,希望能為LoRaWAN及其協(xié)議棧的后續(xù)研究、開發(fā)提供參考。

      1 LoRa調(diào)制技術(shù)、LoRaWAN協(xié)議標(biāo)準(zhǔn)

      1.1 LoRa調(diào)制技術(shù)

      LoRa作為物理層實現(xiàn)方式,屬于擴頻調(diào)制技術(shù)的一種,由Semtech公司在Chirp擴頻調(diào)制的基礎(chǔ)上研發(fā)并申請專利。該技術(shù)運行在非授權(quán)頻段,可通過降低數(shù)據(jù)速率提高接收靈敏度,使接收端信號功率在低于噪聲功率的情況下仍可成功解調(diào),由此在傳輸距離、傳輸功耗和傳輸效率之間作出取舍。除此之外,LoRa技術(shù)使用正交擴頻因子實現(xiàn)了可變的數(shù)據(jù)速率,以適應(yīng)不同的應(yīng)用環(huán)境。

      1.2 LoRaWAN協(xié)議標(biāo)準(zhǔn)

      LoRaWAN是建立在物理層LoRa調(diào)制之上的一種網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn),該協(xié)議定義了媒體接入、幀格式、消息供應(yīng)和管理、安全機制、設(shè)備管理等標(biāo)準(zhǔn)。LoRaWAN協(xié)議標(biāo)準(zhǔn)的軟件實現(xiàn)稱為LoRaWAN協(xié)議棧,目前比較成熟的開源協(xié)議棧有ChirpStack。

      LoRaWAN網(wǎng)絡(luò)的基本結(jié)構(gòu)由終端設(shè)備、網(wǎng)關(guān)、網(wǎng)絡(luò)服務(wù)器和應(yīng)用服務(wù)器組成,如圖1所示。終端設(shè)備和網(wǎng)關(guān)形成了單跳星形拓?fù)浣Y(jié)構(gòu),網(wǎng)關(guān)作為終端設(shè)備和網(wǎng)絡(luò)服務(wù)器之間的透明中繼。網(wǎng)絡(luò)服務(wù)器負(fù)責(zé)MAC層數(shù)據(jù)處理,并充當(dāng)在終端設(shè)備和應(yīng)用服務(wù)器上運行的應(yīng)用程序之間的門戶。

      圖1 LoRaWAN網(wǎng)絡(luò)結(jié)構(gòu)

      LoRaWAN標(biāo)準(zhǔn)定義了A類、B類和C類三種支持雙向通信的終端設(shè)備,以適應(yīng)不同的應(yīng)用場景:

      A類:該類設(shè)備上行傳輸后會開啟2個短暫的下行接收窗口。終端設(shè)備的上行傳輸時隙由其自身需要決定,使用隨機方式接入信道(ALOHA式協(xié)議)。A類設(shè)備的功耗最低,但只支持在上行傳輸后的下行接收。每次網(wǎng)絡(luò)服務(wù)器的下行傳輸必須等待終端設(shè)備上行傳輸后才能發(fā)起。

      B類:該類設(shè)備提供了更多的接收時隙。除A類設(shè)備在上行傳輸后開啟的2個接收窗口,B類終端設(shè)備還周期性地開啟接收窗口,為保持時間周期準(zhǔn)確,設(shè)備需要持續(xù)從網(wǎng)關(guān)處接收時間同步信標(biāo)。

      C類:該類設(shè)備除在上行傳輸時關(guān)閉接收機外,其余時間始終處于接收狀態(tài)。C類設(shè)備功耗最高,但下行傳輸時延最低,適合實時性較高的應(yīng)用。

      LoRaWAN協(xié)議標(biāo)準(zhǔn)規(guī)定實際部署中協(xié)議棧應(yīng)至少支持A類設(shè)備,因B、C兩類設(shè)備除接收時隙不同外,其余配置均與A類設(shè)備類似,所以本文僅分析LoRaWAN協(xié)議棧ChirpStack的A類設(shè)備。

      2 協(xié)議棧核心結(jié)構(gòu)與層間接口

      2.1 核心結(jié)構(gòu)

      考慮到協(xié)議棧的設(shè)計與實現(xiàn),LoRaWAN協(xié)議增加了后端接口標(biāo)準(zhǔn)。網(wǎng)絡(luò)結(jié)構(gòu)相應(yīng)增加了入網(wǎng)服務(wù)器,如圖2所示。入網(wǎng)服務(wù)器的功能為管理終端設(shè)備的入網(wǎng)過程。LoRaWAN協(xié)議定義了2種設(shè)備激活方式,分別為個性化激活(Activation by Personalization, ABP)和空中激活(Overthe-Air Activation, OTAA)。ABP方式無需入網(wǎng),設(shè)備啟動后可直接與網(wǎng)絡(luò)通信,安全性較低。與之相反,OTAA設(shè)備啟動后需要通過網(wǎng)絡(luò)服務(wù)器與入網(wǎng)服務(wù)器通信,交換設(shè)備標(biāo)識與密鑰,實現(xiàn)激活。隨后入網(wǎng)服務(wù)器將生成的對應(yīng)密鑰(后續(xù)通信中使用)分別發(fā)送至網(wǎng)絡(luò)服務(wù)器與應(yīng)用服務(wù)器。LoRaWAN協(xié)議推薦使用安全性較高的OTAA方式,防止惡意攻擊,因此入網(wǎng)服務(wù)器是協(xié)議棧中不可或缺的部分。

      圖2 LoRaWAN協(xié)議棧系統(tǒng)結(jié)構(gòu)

      網(wǎng)絡(luò)服務(wù)器在協(xié)議棧中還負(fù)責(zé)多項關(guān)鍵任務(wù):設(shè)備地址檢查、幀計數(shù)器檢查、回復(fù)確認(rèn)(Acknowledgment, ACK)、數(shù)據(jù)速率自適應(yīng)、推送應(yīng)用層數(shù)據(jù)到應(yīng)用服務(wù)器、調(diào)度應(yīng)用層下行數(shù)據(jù)、推送入網(wǎng)與重入網(wǎng)請求到入網(wǎng)服務(wù)器等,這些功能使得網(wǎng)絡(luò)服務(wù)器成為協(xié)議棧的核心。

      2.2 層間接口

      為介紹方便,此處將OSI七層協(xié)議體系結(jié)構(gòu)簡化為五層模型,后者的應(yīng)用層對應(yīng)于前者的應(yīng)用層、會話層、表示層。相對于五層模型,LoRaWAN協(xié)議定義了網(wǎng)絡(luò)的物理層(LoRa調(diào)制)、鏈路層(LoRaWAN MAC)以及應(yīng)用層,但未定義傳輸層與網(wǎng)絡(luò)層。LoRaWAN分層模型如圖3所示。

      圖3 LoRaWAN分層模型

      在實際應(yīng)用中,終端設(shè)備(End Device, ED)上的應(yīng)用層并非直接與應(yīng)用服務(wù)器(Application Server, AS)的應(yīng)用層通信,而是經(jīng)過網(wǎng)關(guān)(Gateway, GW)中繼、網(wǎng)絡(luò)服務(wù)器(Network Server, NS)的校驗與轉(zhuǎn)發(fā),最后到達(dá)AS。期間要經(jīng)歷若干接口,比如ED到GW的空中接口,以及GW到NS、NS到AS的傳輸層接口。ED與NS之間的LoRaWAN MAC接口如圖4所示。因此,合理設(shè)計各接口與其功能有利于協(xié)議棧的穩(wěn)定運行。由于物理層的LoRa調(diào)制由Semtech公司開發(fā)并申請專利,在此不做討論,僅分析LoRaWAN MAC/鏈路層及以上層間接口的功能。

      圖4 LoRaWAN分層通信

      (1)ED-NS:在LoRaWAN網(wǎng)絡(luò)中,GW起透明中繼的作用,因此其上未部署LoRaWAN MAC,即ED的MAC與NS直接交互。此接口用來完成ED與NS之間MAC命令和數(shù)據(jù)負(fù)載的解析。

      (2)GW-NS:GW使用LoRa物理層與ED通信,其與NS之間的通信通過傳輸層協(xié)議完成,比如用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol, UDP)、傳輸控制協(xié)議(Transmission Control Protocol, TCP)等,此接口的作用為GW與NS之間消息透傳,同時還要考慮NS對不同傳輸層協(xié)議的支持。

      (3)NS-AS:此接口支持NS與AS間應(yīng)用層消息和NS元數(shù)據(jù)(終端設(shè)備地址、端口號、時間戳等)的傳遞。

      (4)AS-JS:此接口用來支持JS向AS傳輸應(yīng)用層會話密鑰。

      (5)NS-JS:此接口用來完成OTAA設(shè)備的入網(wǎng)過程,期間JS需要與NS交換終端設(shè)備標(biāo)識、入網(wǎng)編號等信息。

      (6)AS-ED:此接口支持ED上的應(yīng)用層與AS交互,包括對應(yīng)用層數(shù)據(jù)的解析以及應(yīng)用層指令下發(fā)等。

      3 協(xié)議棧接口實現(xiàn)與構(gòu)件工作流程

      由于LoRaWAN的開源特性,其協(xié)議棧中的構(gòu)件有多種實現(xiàn)方式,并由多方組織開發(fā)和維護。因此,合理設(shè)計協(xié)議棧的層間接口與構(gòu)件的工作流程對屏蔽不同實現(xiàn)方式之間的差異起到重要作用。本文在分析LoRaWAN協(xié)議族以及開源LoRaWAN協(xié)議棧的基礎(chǔ)上,給出了層間接口的實現(xiàn)方式以及構(gòu)件的工作流程。LoRaWAN網(wǎng)絡(luò)接口實現(xiàn)方式如圖5所示。

      圖5 LoRaWAN網(wǎng)絡(luò)接口實現(xiàn)方式

      NS兼具LoRaWAN MAC層解析與傳輸層轉(zhuǎn)發(fā)的功能,后者依賴前者的處理結(jié)果,為協(xié)議棧設(shè)計與NS的性能優(yōu)化造成了困難。為了使兩部分功能分離,提高NS效率,增加網(wǎng)橋(Gateway Bridge, GB)作為GW與NS間的中間件。GB同樣部署于NS之上,屬于NS的一部分,其作用為將來自GW的MAC負(fù)載進(jìn)行預(yù)處理,并分類上傳至NS。

      3.1 接口實現(xiàn)方式

      (1)GW-NS:此接口在增加GB作為中間件后,分為GW-GB和GB-NS兩部分,前者可以使用UDP協(xié)議,后者可以使用消息隊列遙測傳輸(Message Queuing Telemetry Transport, MQTT)協(xié)議。實際應(yīng)用中往往有多個GW連接至同一GB,如果每次通信都需要建立連接則耗費GB較多資源,使用無連接的UDP協(xié)議可以避免這一問題,快速完成數(shù)據(jù)上傳。MQTT協(xié)議是一種輕量級,基于發(fā)布/訂閱模式的通信協(xié)議,可以實現(xiàn)應(yīng)用程序解耦,允許一個NS訂閱多個GW的消息發(fā)布,無需與某一GW綁定,從而提高NS的資源利用率,同時提高協(xié)議棧的實時性。

      (2)NS-JS、AS-JS:這2個接口涉及網(wǎng)絡(luò)傳輸,主要傳輸內(nèi)容為LoRaWAN會話密鑰,需要較高的安全性,又因數(shù)據(jù)量較小,可以使用HTTPS協(xié)議。

      (3)NS-AS:此接口消息多為應(yīng)用層數(shù)據(jù),傳輸量較大,可以使用谷歌遠(yuǎn)程過程調(diào)用(Google Remote Procedure Call,gRPC)協(xié)議,該協(xié)議傳輸延遲小,支持身份驗證,適用于單一NS連接多個AS的情景,既可以提高安全性,又能滿足高并發(fā)、低延時的傳輸要求。

      (4)其他接口:其他接口不涉及網(wǎng)絡(luò)傳輸,只需實現(xiàn)對應(yīng)功能即可。需要注意的是,LoRaWAN MAC接口在設(shè)計時應(yīng)兼容較低版本協(xié)議。

      3.2 構(gòu)件工作流程

      3.2.1 網(wǎng)橋工作流程

      網(wǎng)橋作為網(wǎng)關(guān)和網(wǎng)絡(luò)服務(wù)器間的中轉(zhuǎn)站,將UDP包與MQTT消息相互轉(zhuǎn)換,其工作流程也圍繞此功能展開。網(wǎng)橋在功能上分為三部分,分別為UDP后端模塊、推送模塊與MQTT訂閱/發(fā)布模塊,如圖6所示。對于上行數(shù)據(jù),若UDP后端模塊中不同類型的LoRaWAN MAC幀回復(fù)ACK,表示終端設(shè)備接收到下行數(shù)據(jù),通過進(jìn)程間通信方式(此處為管道)送入推送模塊對應(yīng)的進(jìn)程中,該進(jìn)程隨后將MAC幀通過MQTT模塊發(fā)布;與之相反,對于下行數(shù)據(jù),MQTT模塊從網(wǎng)絡(luò)服務(wù)器訂閱對應(yīng)主題,隨后通過管道送入推送模塊的進(jìn)程中,交由UDP后端發(fā)送至網(wǎng)關(guān)。每種類型的MAC幀分別使用不同進(jìn)程處理,可以避免堵塞;而同類型的MAC幀使用管道與推送進(jìn)程通信,可以防止因前一幀數(shù)據(jù)尚未推送完成而導(dǎo)致當(dāng)前幀丟失的情況。

      圖6 網(wǎng)橋工作流程

      3.2.2 網(wǎng)絡(luò)服務(wù)器工作流程

      網(wǎng)絡(luò)服務(wù)器的主要模塊包括MQTT網(wǎng)關(guān)后端模塊、LoRaWAN服務(wù)器及網(wǎng)關(guān)狀態(tài)服務(wù)器。后端模塊處理與網(wǎng)橋相關(guān)的事務(wù),LoRaWAN服務(wù)器實現(xiàn)MAC層管理,網(wǎng)關(guān)狀態(tài)服務(wù)器記錄該網(wǎng)絡(luò)服務(wù)器上注冊的網(wǎng)關(guān)信息,包括網(wǎng)關(guān)狀態(tài)信息、網(wǎng)關(guān)信號質(zhì)量等。兩組服務(wù)器均需與應(yīng)用服務(wù)器交互,如圖7所示。

      圖7 網(wǎng)絡(luò)服務(wù)器工作流程

      MQTT網(wǎng)關(guān)后端將來自網(wǎng)關(guān)的3種不同類型的MAC幀分別交付至對應(yīng)進(jìn)程中,同樣使用管道作為進(jìn)程間通信方式。上行數(shù)據(jù)處理進(jìn)程又將接收到的MAC幀按照LoRaWAN協(xié)議規(guī)定的流程進(jìn)行處理。首先,提取此次會話的上下文并校驗,包括秘鑰、幀計數(shù)器、消息完整碼等。隨后,對于入網(wǎng)與重入網(wǎng)請求,對應(yīng)進(jìn)程通過HTTPS協(xié)議將其傳輸至入網(wǎng)服務(wù)器,并將入網(wǎng)接受請求發(fā)布到網(wǎng)關(guān),如果此次入網(wǎng)請求未通過,則網(wǎng)絡(luò)服務(wù)器不作任何處理;對于應(yīng)用層數(shù)據(jù),除需上傳至應(yīng)用服務(wù)器外,還需要向終端設(shè)備回復(fù)ACK;對于專有類型數(shù)據(jù),則直接將其上傳至應(yīng)用服務(wù)器,由其決定是否回復(fù)ACK?;貜?fù)ACK進(jìn)程需要校驗此次傳輸是否有效,并將結(jié)果發(fā)送至應(yīng)用服務(wù)器,如果出錯則重傳前一幀下行數(shù)據(jù)。網(wǎng)關(guān)狀態(tài)處理進(jìn)程在更新對應(yīng)網(wǎng)關(guān)狀態(tài)后,根據(jù)具體命令配置網(wǎng)關(guān)參數(shù),并將網(wǎng)關(guān)狀態(tài)告知應(yīng)用服務(wù)器。

      由于終端設(shè)備的消息以廣播的形式發(fā)出,因此可能出現(xiàn)多個網(wǎng)關(guān)上傳同一消息的情況,此時網(wǎng)絡(luò)服務(wù)器需要根據(jù)信號質(zhì)量選擇最優(yōu)網(wǎng)關(guān)與終端設(shè)備通信。所以,除完成基本的LoRaWAN MAC處理之外,網(wǎng)絡(luò)服務(wù)器還應(yīng)具有選擇合適網(wǎng)關(guān)的功能。

      3.2.3 應(yīng)用服務(wù)器工作流程

      應(yīng)用服務(wù)器在LoRaWAN協(xié)議中未給出標(biāo)準(zhǔn)定義,本文根據(jù)網(wǎng)絡(luò)服務(wù)器的對應(yīng)接口,結(jié)合應(yīng)用層的基本功能將其分為3個基礎(chǔ)模塊:上行數(shù)據(jù)處理模塊、下行數(shù)據(jù)處理模塊與應(yīng)用程序接口(Application Programming Interface, API)服務(wù)器,如圖8所示。

      圖8 應(yīng)用服務(wù)器工作流程

      上行數(shù)據(jù)處理模塊包括應(yīng)用數(shù)據(jù)、網(wǎng)關(guān)狀態(tài)、ACK Error處理進(jìn)程;下行數(shù)據(jù)處理模塊負(fù)責(zé)將應(yīng)用層的下行數(shù)據(jù)推送給網(wǎng)絡(luò)服務(wù)器,經(jīng)由其調(diào)度后下發(fā)至終端設(shè)備。兩種數(shù)據(jù)處理模塊均通過API服務(wù)器與用戶交互,由于應(yīng)用服務(wù)器的功能因應(yīng)用類型不同差異較大,在此不給出各模塊的具體處理過程。

      3.2.4 入網(wǎng)服務(wù)器工作流程

      除以上3個構(gòu)件外,入網(wǎng)服務(wù)器也是LoRaWAN協(xié)議棧中的重要部分,但其工作流程較為單一,主要負(fù)責(zé)管理OTAA設(shè)備的入網(wǎng)過程,如圖9所示。

      圖9 入網(wǎng)服務(wù)器工作流程

      入網(wǎng)服務(wù)器在接收到來自網(wǎng)絡(luò)服務(wù)器的設(shè)備入網(wǎng)請求后,首先校驗設(shè)備標(biāo)識與DevNonce(在同一設(shè)備標(biāo)識下單調(diào)遞增,防止入網(wǎng)請求重復(fù))。

      校驗成功后,入網(wǎng)服務(wù)器根據(jù)預(yù)先存儲的設(shè)備密鑰生成網(wǎng)絡(luò)會話秘鑰、應(yīng)用會話密鑰以及JoinNonce(功能與DevNonce類似,在同一入網(wǎng)服務(wù)器標(biāo)識下單調(diào)遞增,防止入網(wǎng)接受重復(fù)),隨后回復(fù)入網(wǎng)接受,交付對應(yīng)秘鑰至網(wǎng)絡(luò)服務(wù)器和應(yīng)用服務(wù)器;校驗失敗則丟棄該入網(wǎng)請求,不作任何處理。

      4 結(jié) 語

      本文對低功耗廣域網(wǎng)中廣泛使用的LoRaWAN協(xié)議族進(jìn)行了詳細(xì)分析,總結(jié)了LoRaWAN協(xié)議棧的核心結(jié)構(gòu)與各層接口,并討論了層間接口的實現(xiàn)方式;增加了網(wǎng)橋作為LoRaWAN協(xié)議棧中網(wǎng)關(guān)和網(wǎng)絡(luò)服務(wù)器的中間件,以此來提高網(wǎng)絡(luò)服務(wù)器的性能,減小不同實現(xiàn)方式的網(wǎng)關(guān)對后者的影響;最后,根據(jù)LoRaWAN協(xié)議族給出了網(wǎng)橋、網(wǎng)絡(luò)服務(wù)器、應(yīng)用服務(wù)器、入網(wǎng)服務(wù)器的工作流程。

      本文工作已在作者設(shè)計的基于物聯(lián)網(wǎng)的獨居老人監(jiān)護系統(tǒng)中應(yīng)用,并于阿里云服務(wù)器上部署運行,為用戶提供緊急求助、健康監(jiān)測等服務(wù)。本文彌補了LoRaWAN協(xié)議棧系統(tǒng)架構(gòu)方面研究的不足,有利于LoRaWAN協(xié)議的部署和推廣,同時也為后續(xù)類似工作提供了參考。

      猜你喜歡
      應(yīng)用層終端設(shè)備網(wǎng)關(guān)
      基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計
      視頻監(jiān)視系統(tǒng)新型終端設(shè)備接入方案
      基于分級保護的OA系統(tǒng)應(yīng)用層訪問控制研究
      配電自動化終端設(shè)備在電力配網(wǎng)自動化的應(yīng)用
      電子制作(2016年15期)2017-01-15 13:39:12
      車站信號系統(tǒng)終端設(shè)備整合及解決方案
      新一代雙向互動電力線通信技術(shù)的應(yīng)用層協(xié)議研究
      物聯(lián)網(wǎng)技術(shù)在信息機房制冷系統(tǒng)中的應(yīng)用
      LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
      移動通信(2015年18期)2015-08-24 07:45:08
      應(yīng)對氣候變化需要打通“網(wǎng)關(guān)”
      太陽能(2015年7期)2015-04-12 06:49:50
      一種實時高效的伺服控制網(wǎng)關(guān)設(shè)計
      隆化县| 焦作市| 菏泽市| 铁岭市| 禄丰县| 凉山| 盐边县| 凌海市| 浦县| 新密市| 黑水县| 宝兴县| 沅陵县| 舟山市| 嘉善县| 南康市| 左云县| 碌曲县| 改则县| 盐城市| 托克逊县| 栾城县| 津南区| 湘潭县| 阳曲县| 开阳县| 民丰县| 萨嘎县| 宿州市| 北碚区| 山阴县| 淅川县| 基隆市| 五河县| 伽师县| 和林格尔县| 金溪县| 比如县| 永康市| 巩留县| 中江县|