• 
    

    
    

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

      南寧供電局J2EE應(yīng)用服務(wù)中間件監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)

      2013-09-29 04:48:14吳一鳴田永濤
      電信科學(xué) 2013年11期
      關(guān)鍵詞:應(yīng)用服務(wù)中間件供電局

      吳一鳴,田永濤

      (南寧供電局信息中心 南寧 530031)

      1 引言

      J2EE(Java 2 platform enterprise edition)作為當(dāng)前主流的Web服務(wù)架構(gòu),廣泛應(yīng)用于電力行業(yè)的各個信息系統(tǒng)中。南寧供電局內(nèi),包括生產(chǎn)MIS(management information system,管理信息系統(tǒng))和營銷MIS等多個信息系統(tǒng)都采取了J2EE架構(gòu)。

      在J2EE架構(gòu)中,應(yīng)用服務(wù)中間件作為應(yīng)用服務(wù)程序(服務(wù)器程序)的容器,是用戶業(yè)務(wù)請求和應(yīng)用服務(wù)程序服務(wù)處理的中繼以及橋梁。一方面,應(yīng)用服務(wù)中間件接收用戶請求并屏蔽瀏覽器之間的請求差異;另一方面,應(yīng)用服務(wù)中間件將應(yīng)用服務(wù)程序請求處理結(jié)果響應(yīng)請求客戶端。應(yīng)用服務(wù)中間件是J2EE信息系統(tǒng)正常工作的保證。常見的 J2EE 應(yīng)用服務(wù)中間件包括:Tomcat、WebLogic、JBoss和WebSphere 等[1]。

      正是由于應(yīng)用服務(wù)中間件在信息系統(tǒng)中的關(guān)鍵位置,當(dāng)應(yīng)用服務(wù)中間件出現(xiàn)內(nèi)存溢出、進程僵死類似異常情況時,輕則服務(wù)器超時響應(yīng)用戶請求,重則信息系統(tǒng)崩潰無法訪問,均會導(dǎo)致系統(tǒng)服務(wù)異常,影響用戶工作。

      應(yīng)用服務(wù)中間件監(jiān)控是電力行業(yè)信息工作人員日常系統(tǒng)運維的重要任務(wù)。在實際工作中,采用人為方式監(jiān)控信息系統(tǒng)應(yīng)用服務(wù)中間件運行狀況既不現(xiàn)實也不可靠,以系統(tǒng)級別的自動化程序監(jiān)控應(yīng)用服務(wù)中間件是最好的解決方式。南寧供電局信息中心針對J2EE架構(gòu)的應(yīng)用服務(wù)中間件自主設(shè)計并實現(xiàn)了監(jiān)控系統(tǒng),并在南寧供電局生產(chǎn)MIS中成功應(yīng)用該監(jiān)控系統(tǒng)。

      2 系統(tǒng)簡介

      南寧供電局生產(chǎn)MIS架構(gòu)體系可以分為4個層次,如圖1所示。從上至下依次為負載均衡器、應(yīng)用服務(wù)中間件、應(yīng)用服務(wù)程序和系統(tǒng)數(shù)據(jù)庫。負載均衡器是整個系統(tǒng)的對外接口,用戶在以太網(wǎng)內(nèi)發(fā)起服務(wù)請求,到達負載均衡器,負載均衡器根據(jù)指定算法,將用戶請求分流至應(yīng)用服務(wù)中間件。應(yīng)用服務(wù)程序是用戶請求的處理單元,處理用戶請求并生成響應(yīng)結(jié)果。系統(tǒng)數(shù)據(jù)庫位于數(shù)據(jù)持久層,提供數(shù)據(jù)服務(wù)。

      圖1 生產(chǎn)MIS結(jié)構(gòu)

      南寧供電局生產(chǎn)MIS采用的J2EE應(yīng)用服務(wù)中間件是Tomcat,Tomcat對于其運行載體的計算機物理內(nèi)存并非全數(shù)使用,為了充分利用服務(wù)器計算機的物理內(nèi)存資源,生產(chǎn)MIS里采用的是Tomcat集群模式,即同一臺服務(wù)器計算機上開啟多個Tomcat應(yīng)用服務(wù)中間件,提供無差別的系統(tǒng)服務(wù)。

      南寧供電局監(jiān)控系統(tǒng)的監(jiān)控對象是生產(chǎn)MIS的應(yīng)用服務(wù)中間件,獲取應(yīng)用服務(wù)中間件的各種實時運行參數(shù),根據(jù)參數(shù)判斷健康狀態(tài)或警戒狀態(tài),在此基礎(chǔ)上延伸高級應(yīng)用。

      在生產(chǎn)MIS新的架構(gòu)體系中,監(jiān)控系統(tǒng)位于負載均衡器與應(yīng)用服務(wù)中間件之間:監(jiān)控系統(tǒng)對下層應(yīng)用服務(wù)中間件實時監(jiān)控,對其上層負載均衡器提供接口,反饋應(yīng)用服務(wù)中間件運行狀態(tài),以便負載均衡器優(yōu)化分流用戶請求。監(jiān)控系統(tǒng)亦可以作為生產(chǎn)MIS對外接口,憑借其收集整理的應(yīng)用服務(wù)中間件運行狀態(tài)數(shù)據(jù),導(dǎo)流以太網(wǎng)用戶服務(wù)請求,集成負載均衡功能。生產(chǎn)MIS集成監(jiān)控系統(tǒng)結(jié)構(gòu)如圖2所示。

      圖2 生產(chǎn)MIS集成監(jiān)控系統(tǒng)結(jié)構(gòu)

      3 南寧供電局J2EE應(yīng)用服務(wù)中間件監(jiān)控系統(tǒng)設(shè)計

      根據(jù)軟件設(shè)計中功能聚合的原則,本次南寧供電局開發(fā)的J2EE應(yīng)用服務(wù)中間件監(jiān)控系統(tǒng)采取的是模塊化模式,如圖3所示。整個系統(tǒng)從總體上劃分為:監(jiān)控數(shù)據(jù)采集模塊、監(jiān)控數(shù)據(jù)處理模塊、監(jiān)控數(shù)據(jù)展示模塊、監(jiān)控控制模塊、應(yīng)用服務(wù)中間件控制模塊、對外接口模塊以及系統(tǒng)基礎(chǔ)類庫模塊。

      圖3 應(yīng)用服務(wù)中間件監(jiān)控系統(tǒng)結(jié)構(gòu)模塊

      各個模塊功能說明如下。

      監(jiān)控數(shù)據(jù)采集模塊:此模塊是整個系統(tǒng)的核心,采集模塊獲取到監(jiān)控目標(biāo)應(yīng)用服務(wù)中間件的實時運行狀態(tài)數(shù)據(jù)是監(jiān)控系統(tǒng)運行的基礎(chǔ)。通過對采集監(jiān)控的數(shù)據(jù)分析以及處理,系統(tǒng)做出正確的響應(yīng)。

      監(jiān)控數(shù)據(jù)處理模塊:此模塊對監(jiān)控數(shù)據(jù)結(jié)構(gòu)化處理,并實現(xiàn)監(jiān)控數(shù)據(jù)持久化。在此模塊數(shù)據(jù)處理成果之上,可以實現(xiàn)應(yīng)用服務(wù)中間件運行狀態(tài)統(tǒng)計分析,進而實現(xiàn)中間件運行狀態(tài)趨勢預(yù)測以及對策預(yù)防等高級功能。

      監(jiān)控數(shù)據(jù)展示模塊:電力信息工作運維人員通過此模塊可以實時了解應(yīng)用服務(wù)中間件的運行狀態(tài)。展示模塊是監(jiān)控數(shù)據(jù)采集模塊的“顯示器”。

      監(jiān)控控制模塊:運維人員人機操作的接口,操作人員通過控制模塊將預(yù)設(shè)指令輸入系統(tǒng),完成各種系統(tǒng)功能。

      應(yīng)用服務(wù)中間件控制模塊:系統(tǒng)通過此模塊控制應(yīng)用服務(wù)中間件,可對應(yīng)用服務(wù)中間件實現(xiàn)啟動、終止或者重啟操作。

      對外接口模塊:為第三方程序提供特定格式的應(yīng)用服務(wù)中間件運行狀態(tài)數(shù)據(jù),在南寧供電局生產(chǎn)MIS中,負載均衡器可以接收監(jiān)控系統(tǒng)的監(jiān)控反饋,以實時更新分流策略。

      系統(tǒng)基礎(chǔ)類庫模塊:包括網(wǎng)絡(luò)接口類、系統(tǒng)日志類、信息封裝解析類等供系統(tǒng)其他模塊直接調(diào)用的類庫。

      通過對各個模塊功能分析可以看出,監(jiān)控數(shù)據(jù)采集模塊是整體系統(tǒng)開發(fā)的重點,是系統(tǒng)運行的數(shù)據(jù)之源,是系統(tǒng)功能實現(xiàn)的基礎(chǔ)。南寧供電局J2EE應(yīng)用服務(wù)中間件監(jiān)控系統(tǒng)開發(fā)小組將此模塊設(shè)為重點攻關(guān)對象。

      4 南寧供電局J2EE應(yīng)用服務(wù)中間件監(jiān)控系統(tǒng)實現(xiàn)

      4.1 監(jiān)控數(shù)據(jù)采集模塊實現(xiàn)

      監(jiān)控數(shù)據(jù)采集模塊的開發(fā)采用JMX(Java management extensions,Java管理擴展)技術(shù)。JMX是一個為Java應(yīng)用程序、Java設(shè)備、Java系統(tǒng)等植入管理功能的框架,JMX中定義了Java進程管理的體系結(jié)構(gòu)、監(jiān)控模式和應(yīng)用程序接口以及服務(wù)。Tomcat中間件基于J2EE標(biāo)準(zhǔn),其本身集成了JMX框架,使用JMX技術(shù)可以實現(xiàn)對J2EE應(yīng)用服務(wù)中間件運行狀態(tài)數(shù)據(jù)的實時采集[2]。

      JMX框架本身定義了一系列進程監(jiān)控數(shù)據(jù)交互的接口,監(jiān)控程序接入應(yīng)用服務(wù)中間件內(nèi)置JMX框架的監(jiān)控服務(wù)端,以此形成監(jiān)控數(shù)據(jù)傳輸通道,在通道內(nèi)傳輸符合JMX框架定義格式的應(yīng)用服務(wù)中間件運行狀態(tài)數(shù)據(jù)。由此可見,JMX框架可以看成一系列協(xié)議的集合,包括基于TCP/IP的網(wǎng)絡(luò)連接協(xié)議以及傳輸消息格式協(xié)議,JMX技術(shù)的體現(xiàn)就在于以JMX框架協(xié)議交互。

      南寧供電局J2EE應(yīng)用服務(wù)中間件監(jiān)控系統(tǒng)開發(fā)小組經(jīng)過對JMX框架的深入研究,了解了其中的監(jiān)控連接和數(shù)據(jù)傳輸?shù)募毠?jié),解析出網(wǎng)絡(luò)連接以及傳輸消息格式的協(xié)議規(guī)范,將JMX框架的網(wǎng)絡(luò)連接協(xié)議和傳輸消息格式協(xié)議以類的方式在系統(tǒng)基礎(chǔ)類庫模塊中實現(xiàn)。監(jiān)控數(shù)據(jù)采集模塊通過實例化這兩個基于JMX框架的類,調(diào)用類的方法,實時獲取到應(yīng)用服務(wù)中間件的運行狀態(tài)數(shù)據(jù)。

      通過JMX技術(shù),開發(fā)小組實現(xiàn)了對單個應(yīng)用服務(wù)中間件運行狀態(tài)的監(jiān)控,但是在實際應(yīng)用中,南寧供電局生產(chǎn)MIS采用的是應(yīng)用服務(wù)中間件集群。為了使一對一的JMX技術(shù)擴展為一對多的應(yīng)用來應(yīng)對現(xiàn)實的應(yīng)用場景,開發(fā)小組采取了線程池技術(shù)。監(jiān)控線程池工作如圖4所示。

      圖4 監(jiān)控線程池工作

      作為監(jiān)控系統(tǒng)的子進程,監(jiān)控數(shù)據(jù)采集模塊進程啟動后,等待來自監(jiān)控控制模塊進程的系統(tǒng)指令。當(dāng)采集模塊收到指向某個具體應(yīng)用服務(wù)中間件的監(jiān)控指令后,通過工廠模式,從應(yīng)用JMX技術(shù)的線程池中新建一個線程,以監(jiān)控指令中解析出的參數(shù)實例化該線程,線程開始對指定應(yīng)用服務(wù)中間件的監(jiān)控服務(wù)端以JMX框架網(wǎng)絡(luò)連接協(xié)議發(fā)起監(jiān)控請求,應(yīng)用服務(wù)中間件響應(yīng)了監(jiān)控請求后,JMX框架網(wǎng)絡(luò)連接通道建立,應(yīng)用服務(wù)中間件持續(xù)通過JMX框架網(wǎng)絡(luò)通道發(fā)送以JMX框架傳輸消息格式封裝的運行狀態(tài)數(shù)據(jù),期間如果雙方的JMX框架網(wǎng)絡(luò)連接異常,則監(jiān)控線程保持對指定應(yīng)用服務(wù)中間件發(fā)送監(jiān)控請求,直至采集模塊收到停止對指定應(yīng)用服務(wù)中間件監(jiān)控指令,采集模塊釋放該監(jiān)控線程[3]。采取線程池技術(shù)保證了線程工廠及時生成和回收監(jiān)控線程,監(jiān)控線程之間并發(fā)運行互不影響之間的監(jiān)控功能,線程池技術(shù)實現(xiàn)了監(jiān)控數(shù)據(jù)采集模塊一對多個應(yīng)用服務(wù)中間件監(jiān)控,監(jiān)控數(shù)據(jù)采集模塊功能開發(fā)完成。

      以下是監(jiān)控數(shù)據(jù)采集模塊的3個監(jiān)控線程在同一時間獲取到的Tomcat中間件運行狀態(tài)數(shù)據(jù):

      maxMemory:1398145024;

      commitMemory:91029504;

      usedMemory:33862408;

      heap:37.19937658893539%;

      maxMemory:1398145024;

      commitMemory:102563840;

      usedMemory:42737488;

      heap:41.66915747304313%;

      nonheap:175.77420874747304%;

      nonheap:139.27205952029988%;

      maxMemory:1398145024;

      commitMemory:153288704;

      usedMemory:76276240;

      heap:49.759857060308896%;

      nonheap:313.71510960663744%。

      4.2 監(jiān)控數(shù)據(jù)處理模塊實現(xiàn)

      監(jiān)控數(shù)據(jù)處理模塊的功能主要有兩個:一是處理原始應(yīng)用服務(wù)中間件監(jiān)控數(shù)據(jù),寫入系統(tǒng)數(shù)據(jù)庫;二是從系統(tǒng)數(shù)據(jù)庫中讀出歷史監(jiān)控數(shù)據(jù),加以處理以實現(xiàn)高級統(tǒng)計功能。

      從監(jiān)控數(shù)據(jù)采集模塊獲取到的應(yīng)用服務(wù)中間件運行狀態(tài)數(shù)據(jù),在監(jiān)控數(shù)據(jù)處理模塊匯聚,數(shù)據(jù)處理模塊按照監(jiān)控系統(tǒng)數(shù)據(jù)庫表單定義字段,將監(jiān)控匯聚數(shù)據(jù)生成結(jié)構(gòu)化的運行狀態(tài)記錄,應(yīng)用JDBC(Java database connectivity)技術(shù)寫入指定的系統(tǒng)數(shù)據(jù)庫(SQL Server 2005)表單,實現(xiàn)監(jiān)控數(shù)據(jù)持久化。

      數(shù)據(jù)是重要的資源,通過對監(jiān)控數(shù)據(jù)的分析,可以得出許多有用的結(jié)論,作為判斷決策的依據(jù)。監(jiān)控數(shù)據(jù)處理模塊的另一個功能是從系統(tǒng)數(shù)據(jù)庫中應(yīng)用JDBC技術(shù)抽取出記錄數(shù)據(jù),作為高級統(tǒng)計應(yīng)用的輸入,經(jīng)過高級統(tǒng)計處理后,可以得出中間件運行狀態(tài)趨勢預(yù)測以及預(yù)防對策等有效信息。

      南寧供電局生產(chǎn)MIS中,某Tomcat應(yīng)用節(jié)點某一時段堆內(nèi)存使用率數(shù)據(jù),見表1。

      表1 Tomcat應(yīng)用節(jié)點堆內(nèi)存使用情況

      4.3 監(jiān)控數(shù)據(jù)展示模塊實現(xiàn)

      監(jiān)控數(shù)據(jù)展示模塊是監(jiān)控系統(tǒng)向系統(tǒng)用戶傳輸應(yīng)用服務(wù)中間件運行監(jiān)控數(shù)據(jù)的單工通道,模塊采用圖形化技術(shù)直觀地顯示各類監(jiān)控信息,以便系統(tǒng)用戶實時了解應(yīng)用服務(wù)中間件運行狀態(tài)以采取正確的應(yīng)對措施[4],如圖5所示。

      4.4 監(jiān)控控制模塊實現(xiàn)

      監(jiān)控控制模塊是監(jiān)控系統(tǒng)人機交互的接口,系統(tǒng)管理員通過控制模塊向監(jiān)控系統(tǒng)發(fā)送預(yù)設(shè)的系統(tǒng)指令,系統(tǒng)收到指令后,解析指令以及指令參數(shù),執(zhí)行系統(tǒng)管理員指令,并將指令執(zhí)行結(jié)果通過監(jiān)控模塊反饋系統(tǒng)管理員,完成一次人機交互。

      在監(jiān)控控制模塊中,預(yù)設(shè)系統(tǒng)指令采用的是帶參數(shù)的命令行模式,即指令字符串后拼接參數(shù)名和參數(shù)值。

      新建監(jiān)控線程指令:new-a 127.0.0.1-p 10091-dba 127.0.0.1-dbp 20000。

      監(jiān)控系統(tǒng)解析指令類型和指令參數(shù)后,指令執(zhí)行處理通過函數(shù)形式實現(xiàn),函數(shù)形式保證了系統(tǒng)指令執(zhí)行處理的可拓展性。

      4.5 應(yīng)用服務(wù)中間件控制模塊實現(xiàn)

      監(jiān)控系統(tǒng)通過此模塊遠程控制應(yīng)用服務(wù)中間件,遠程控制操作類型當(dāng)前主要有啟動、終止和重啟3種。啟動操作實現(xiàn)的原理是,調(diào)用Tomcat批處理啟動文件startup.bat;終止操作實現(xiàn)的原理是通過Tomcat監(jiān)聽端口號查詢出該Tomcat進程的ID號,調(diào)用Windows操作系統(tǒng)命令taskkill終止該進程ID號的Tomcat;重啟操作實現(xiàn)是將Tomcat調(diào)用終止操作后,再調(diào)用啟動操作。

      4.6 對外接口模塊實現(xiàn)

      圖5 監(jiān)控數(shù)據(jù)展示模塊

      對外接口模塊取決于對外接口系統(tǒng),針對不同的接口系統(tǒng),監(jiān)控系統(tǒng)的對外接口模塊亦有相應(yīng)變化。在南寧供電局生產(chǎn)MIS中,對外接口系統(tǒng)是Radware負載均衡器,監(jiān)控系統(tǒng)與Radware交互,實時更新應(yīng)用服務(wù)中間件Tomcat集群中可用單體信息,保證Radware的分流服務(wù)均指向可用的Tomcat[5]。

      Radware與監(jiān)控系統(tǒng)交互如圖6所示。Radware接口機制的實現(xiàn)是基于TCP/IP自定義網(wǎng)絡(luò)傳輸協(xié)議交互:對于一個Tomcat,Radware系統(tǒng)中可設(shè)定一個 IP地址、TCP端口和時間間隔作為接口屬性,Radware向指定IP地址的指定TCP端口以一定的時間間隔發(fā)送“detect”消息,監(jiān)控系統(tǒng)中該Tomcat運行狀態(tài)正常時,對外接口模塊向 Radware回發(fā)“succeed”消息,如果該 Tomcat運行狀態(tài)非正常時,對外接口模塊回發(fā)“failed”消息,網(wǎng)絡(luò)傳輸交互完成。

      5 結(jié)束語

      5.1 系統(tǒng)開發(fā)小結(jié)

      南寧供電局J2EE應(yīng)用服務(wù)中間件監(jiān)控系統(tǒng)開發(fā)完成后,在技術(shù)上實現(xiàn)了以下幾點突破。

      ·深度了解了J2EE應(yīng)用服務(wù)中間件運行機制以及技術(shù)體系,應(yīng)用JMX技術(shù)實現(xiàn)對J2EE應(yīng)用服務(wù)中間件運行參數(shù)數(shù)據(jù)監(jiān)控,實時掌握J(rèn)2EE應(yīng)用服務(wù)中間件運行狀態(tài)。

      圖6 Radware與監(jiān)控系統(tǒng)交互

      ·監(jiān)控系統(tǒng)內(nèi)模塊功能劃分清晰合理,模塊間高聚合、低耦合,體現(xiàn)了 MVC(model,view,controller)模式軟件設(shè)計典范。

      ·監(jiān)控系統(tǒng)對外接口設(shè)計規(guī)范、兼容性強,系統(tǒng)間數(shù)據(jù)流轉(zhuǎn)通暢,數(shù)據(jù)共享程度高。在監(jiān)控系統(tǒng)基礎(chǔ)上與其他系統(tǒng)靈活集成,功能對接。

      ·實現(xiàn)了系統(tǒng)級別的自動化程序監(jiān)控,以信息化的方

      式提升供電企業(yè)的信息運維水平。

      5.2 系統(tǒng)展望

      南寧供電局J2EE應(yīng)用服務(wù)中間件監(jiān)控系統(tǒng),在技術(shù)上仍有以下拓展空間。

      ·數(shù)據(jù)加密。無論是通信傳輸中的數(shù)據(jù),還是持久層存儲數(shù)據(jù),都需做到數(shù)據(jù)加密,確保數(shù)據(jù)安全。

      ·趨勢分析。針對系統(tǒng)獲取到的大量J2EE應(yīng)用服務(wù)中間件運行數(shù)據(jù)統(tǒng)計分析,進而實現(xiàn)中間件運行狀態(tài)趨勢預(yù)測以及對策預(yù)防等高級功能。

      ·機器學(xué)習(xí)智能故障處理。應(yīng)用機器學(xué)習(xí)技術(shù),對故障處理操作建模,分析每次故障處理控制信息,操作目標(biāo)參數(shù)回歸,最終實現(xiàn)自動故障處理。

      1 高張,康小軍.提高Tomcat服務(wù)器運行性能的研究.計算機與數(shù)字工程,2008(10):153~154

      2 孫仁鵬,何淼.Tomcat性能監(jiān)視和調(diào)優(yōu)研究.軟件導(dǎo)論,2012(12):56~59

      3 林泊,周明輝,劉天成等.一個J2EE應(yīng)用服務(wù)器的Web容器集成框架.軟件學(xué)報,2006(5):26~28

      4 田珂,謝世波,方馬.J2EE數(shù)據(jù)持久層的解決方案.計算機工程,2003(22):102~103

      5 竇蕾,袁臻,劉冬梅.基于構(gòu)件的中間件技術(shù)J2EE.計算機科學(xué),2004(6):98~102

      猜你喜歡
      應(yīng)用服務(wù)中間件供電局
      銅仁德江供電局:節(jié)后特巡保供電
      全球衛(wèi)星互聯(lián)網(wǎng)應(yīng)用服務(wù)及我國的發(fā)展策略
      萬家燈火 南網(wǎng)情深
      國家不動產(chǎn)統(tǒng)一登記信息平臺構(gòu)建與應(yīng)用服務(wù)
      RFID中間件技術(shù)及其應(yīng)用研究
      電子制作(2018年14期)2018-08-21 01:38:10
      基于VanConnect中間件的設(shè)計與開發(fā)
      電子測試(2018年10期)2018-06-26 05:54:02
      全國征集衛(wèi)星應(yīng)用服務(wù)解決方案
      太空探索(2015年5期)2015-07-12 12:52:36
      應(yīng)用服務(wù)型人才培養(yǎng)體系下的嵌入式操作系統(tǒng)教學(xué)改革探索
      中間件在高速公路領(lǐng)域的應(yīng)用
      淺談廣州供電局計量自動化系統(tǒng)的應(yīng)用
      機電信息(2014年27期)2014-02-27 15:54:09
      绥宁县| 安化县| 许昌县| 雷波县| 乳源| 辉南县| 灵丘县| 孟连| 崇阳县| 漠河县| 泗洪县| 新乡市| 育儿| 霍林郭勒市| 崇阳县| 镶黄旗| 肇州县| 平昌县| 鹤壁市| 安达市| 廉江市| 公安县| 资溪县| 绿春县| 邓州市| 西安市| 冕宁县| 吉安市| 象州县| 故城县| 辽源市| 额尔古纳市| 合山市| 蒲江县| 贵州省| 永川市| 乐山市| 蛟河市| 郓城县| 疏附县| 盈江县|