• 
    

    
    

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

      水廠基于企業(yè)服務(wù)總線的應(yīng)用集成研究

      2014-03-16 11:01:00朱海峰
      凈水技術(shù) 2014年1期
      關(guān)鍵詞:代理服務(wù)消息定義

      冼 峰,朱海峰

      (上海市自來水市北有限公司,上海 200086)

      1 引言

      隨著現(xiàn)代企業(yè)系統(tǒng)信息化應(yīng)用水平的不斷提高,信息化系統(tǒng)的應(yīng)用規(guī)模已進(jìn)入多系統(tǒng)、多業(yè)務(wù)、多層次、大規(guī)模的階段。為了進(jìn)一步提高各個系統(tǒng)的集成性、統(tǒng)一性和可維護(hù)性,保障業(yè)務(wù)開展和系統(tǒng)運維效率,需要對信息系統(tǒng)進(jìn)行新的總體規(guī)劃。通過業(yè)界先進(jìn)成熟的IT技術(shù),以實現(xiàn)內(nèi)部眾多業(yè)務(wù)系統(tǒng)之間的數(shù)據(jù)集成、應(yīng)用集成、流程集成,實現(xiàn)信息共享與知識管理,使得業(yè)務(wù)更集約化、扁平化。

      本次基于企業(yè)服務(wù)總線(ESB)的應(yīng)用集成研究的總體目標(biāo)是:通過ESB的應(yīng)用研究,在技術(shù)、標(biāo)準(zhǔn)和管理方面,為建設(shè)基于SOA的企業(yè)架構(gòu)及進(jìn)一步推進(jìn)企業(yè)信息化,奠定堅實的基礎(chǔ)。

      2 應(yīng)用集成現(xiàn)狀與問題

      2.1 集成現(xiàn)狀

      首先分析供水企業(yè)管理工作中的地理綜合展示系統(tǒng)與相關(guān)業(yè)務(wù)系統(tǒng)的集成方式。然后分別分析涉及產(chǎn)水[如數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)(Supervisory Control And Data Acquisition,SCADA)、水質(zhì)監(jiān)測]、供水(如新裝業(yè)務(wù)、項目工程、GIS管網(wǎng))、售水服務(wù)(如營收、現(xiàn)場維修)各個環(huán)節(jié)的核心業(yè)務(wù)流程、信息系統(tǒng)及其集成方式。

      總體情況概括如圖1所示。

      2.2 存在的問題

      經(jīng)過分析整理,這些應(yīng)用存在的問題主要有:

      (1)各系統(tǒng)/部門之間的數(shù)據(jù)交換方式包括線上和線下,線下傳遞的圖紙等資料由專人錄入,項目工程的編號依賴人工約束。

      (2)系統(tǒng)間是點對點的集成,一般直接通過數(shù)據(jù)庫,或者XML RPC交換數(shù)據(jù)。

      (3)各個系統(tǒng)有自己獨立的用戶管理體系,而且安全堪憂。

      (4)各系統(tǒng)的主數(shù)據(jù)分散管理,有些系統(tǒng)還存在主數(shù)據(jù)無管理、錯誤的情況。

      (5)包括供水熱線提供的外部主數(shù)據(jù)沒有得到管理和復(fù)用。

      圖1 應(yīng)用集成現(xiàn)狀Fig.1 Status Quo of Application Integration

      (6)各種服務(wù)接口一般由提供數(shù)據(jù)的系統(tǒng)廠商作為服務(wù)提供者,與作為服務(wù)使用者的系統(tǒng)廠商根據(jù)兩兩約定后進(jìn)行設(shè)計開發(fā)。這樣的服務(wù)接口沒有復(fù)用,且大多處于無管理的狀態(tài),也沒有安全控制。

      3 面向服務(wù)的集成架構(gòu)

      3.1 面向服務(wù)的體系結(jié)構(gòu)與集成

      面向服務(wù)的集成(Service Oriented Integration,SOI)是在面向服務(wù)的體系結(jié)構(gòu)(Service Oriented Architecture,SOA)下,通過服務(wù)的交互來集成企業(yè)的各種數(shù)據(jù)資源,幫助企業(yè)將不靈活的舊系統(tǒng)集成起來,把業(yè)務(wù)數(shù)據(jù)或業(yè)務(wù)功能釋放為可重用的服務(wù)。

      面向服務(wù)的集成使得IT機(jī)構(gòu)能夠在已有的應(yīng)用中提取可重用的服務(wù)功能,將傳統(tǒng)的集成對象與開放的、高靈活性的Web服務(wù)整合在一起,提供抽象的接口來規(guī)定系統(tǒng)如何與其他系統(tǒng)進(jìn)行通信。系統(tǒng)可以通過這些接口進(jìn)行交互,而不是使用底層協(xié)議和自定義的編程接口。

      SOI是對以往企業(yè)集成技術(shù)的繼承與發(fā)展。它基于關(guān)注點分離、松散耦合等源自最佳實踐的架構(gòu)原則,繼承了企業(yè)應(yīng)用集成、消息總線、流程集成、數(shù)據(jù)集成等優(yōu)秀技術(shù)。結(jié)合SOA先進(jìn)思想的SOI正在成為企業(yè)集成的新方向。

      SOA是能夠使IT和業(yè)務(wù)緊密結(jié)合的手段和工具,為提升業(yè)務(wù)靈活性,其主要達(dá)成的目標(biāo)包括五個方面:

      (1)可重用:通過服務(wù)封裝在應(yīng)用之間實現(xiàn)可重用,這也是SOA的核心價值體現(xiàn);

      (2)分布式:遠(yuǎn)程訪問、集中管理;

      (3)開發(fā)性:在不同平臺和操作環(huán)境下共享;

      (4)靈活性:SOA的目標(biāo)是實現(xiàn)業(yè)務(wù)的靈活性,應(yīng)用可以被加入到新的模塊;

      (5)松散耦合:服務(wù)的實現(xiàn)與使用分離。

      3.2 企業(yè)服務(wù)總線

      企業(yè)服務(wù)總線(Enterprise Service Bus,ESB)的概念是從面向服務(wù)的體系結(jié)構(gòu)發(fā)展而來的,與以服務(wù)為導(dǎo)向的應(yīng)用架構(gòu)體系緊密連接在一起,是SOA核心組成部分,是SOA架構(gòu)中應(yīng)用整合的骨干。

      ESB是預(yù)裝的SOA實現(xiàn),包括了實現(xiàn)SOA目標(biāo)所必需的基礎(chǔ)功能組件。服務(wù)通過ESB進(jìn)行交互。

      ESB是傳統(tǒng)中間件技術(shù)與Web Service、XML等技術(shù)結(jié)合的產(chǎn)物,用于消除眾多平臺及具體應(yīng)用間的異構(gòu)性,促進(jìn)平臺間的互操作,使不同格式數(shù)據(jù)間實現(xiàn)共享。

      通過調(diào)查研究,我們選擇Oracle完全基于J2EE技術(shù)構(gòu)建 ESB產(chǎn)品——甲骨文服務(wù)總線(Oracle Service Bus,OSB)進(jìn)行供水企業(yè)應(yīng)用集成的實證研究。

      4 基于OSB的應(yīng)用集成研究

      4.1 工廠總體規(guī)劃

      工廠總體規(guī)劃及建議如圖2所示。

      圖2 IT總體規(guī)劃Fig.2 Blueprint of Enterprise IT

      4.2 服務(wù)設(shè)計開發(fā)標(biāo)準(zhǔn)

      通過研究實際情況,編寫《XX供水企業(yè)基于企業(yè)服務(wù)總線的應(yīng)用集成信息化標(biāo)準(zhǔn)》(以下簡稱《標(biāo)準(zhǔn)》),對Web服務(wù)供應(yīng)方和ESB建立包括互操作性、消息內(nèi)容規(guī)范、消息協(xié)議、傳輸協(xié)議、服務(wù)描述、服務(wù)安全等在內(nèi)的開發(fā)標(biāo)準(zhǔn)。

      可以據(jù)此基于標(biāo)準(zhǔn)的接口定義和一致的實現(xiàn)手段,以面向服務(wù)的方式展開企業(yè)集成,逐步開發(fā)出一套強(qiáng)壯的集成解決方案。

      4.3 既有WEB服務(wù)問題分析

      參照《標(biāo)準(zhǔn)》,分析發(fā)現(xiàn)企業(yè)中既有服務(wù)的合規(guī)情況如表1所示。

      表1 既有服務(wù)合規(guī)情況Tab.1 Compliance of Existing Services

      具體而言,既有服務(wù)存在以下問題:

      1)數(shù)據(jù)格式在服務(wù)接口中沒有通過XML Schema(XSD)加以規(guī)范

      業(yè)務(wù)數(shù)據(jù)作為消息交換主體,在服務(wù)接口里被模糊地定義為字符串類型,這使得服務(wù)接口無法做到自我描述,增加了調(diào)試維護(hù)及使用驗證等方面的困難;另外,由于缺乏對業(yè)務(wù)數(shù)據(jù)的對象類描述,Web服務(wù)消息協(xié)議SOAP(簡單對象訪問協(xié)議)被事實上降格為一種傳輸通道,完全失去了使用SOAP的好處和意義。

      2)個別服務(wù)實現(xiàn)有SQL注入的安全風(fēng)險

      空間查詢和管網(wǎng)查詢服務(wù)在請求消息的主體內(nèi)直接注入SQL查詢語句,這是上述問題所帶來風(fēng)險的一個極端化實例。

      3)業(yè)務(wù)數(shù)據(jù)沒有統(tǒng)一標(biāo)準(zhǔn)

      這更多的不是服務(wù)設(shè)計問題,而是由于企業(yè)缺乏統(tǒng)一數(shù)據(jù)標(biāo)準(zhǔn),無法對系統(tǒng)開發(fā)商提出相應(yīng)的要求與約束;缺乏數(shù)據(jù)標(biāo)準(zhǔn)的結(jié)果就是同一數(shù)據(jù)類型在不同Web服務(wù)里表現(xiàn)為不同格式,從而造成服務(wù)開發(fā)與使用環(huán)節(jié)的浪費。

      4)缺乏對命名空間的規(guī)范管理

      所有既有服務(wù)的描述文件(WSDL)都使用臨時的http://tempuri.org/作為目標(biāo)命名空間;這在服務(wù)數(shù)量不多的情況下沒什么問題,但隨著服務(wù)數(shù)量不斷增多,缺乏對命名空間的規(guī)范定義和使用會造成潛在的資源名字沖突和管理混亂。

      5)缺乏對服務(wù)發(fā)布地址的規(guī)范管理

      表2列出了既有服務(wù)的發(fā)布地址;隨著服務(wù)數(shù)量的不斷增多,缺乏對服務(wù)發(fā)布地址的規(guī)范定義會造成資源管理混亂。

      表2 既有服務(wù)發(fā)布地址Tab.2 Addresses of Existing Services

      4.4 典型集成實例的設(shè)計開發(fā)

      4.4.1 以透傳的方式發(fā)布既有服務(wù)

      “透傳”即透明傳遞,也就是把既有服務(wù)接入OSB,然后在不改變服務(wù)接口定義的情況下原樣發(fā)布出去。

      通過OSB透傳發(fā)布既有服務(wù)非常簡單,分兩個步驟來做,如表3所示。

      表3 既有服務(wù)發(fā)布步驟Tab.3 Steps for Publishing Existing Services

      顯然,將既有服務(wù)以透傳方式發(fā)布在OSB上有以下好處:

      1)便于對服務(wù)的發(fā)布地址進(jìn)行規(guī)范管理

      這從所有代理服務(wù)的新地址上就可一目了然(如表4)。

      表4 規(guī)范服務(wù)發(fā)布地址Tab.4 Addresses of Normative Services

      2)便于對服務(wù)的使用情況進(jìn)行集中監(jiān)控

      一旦對既有服務(wù)的調(diào)用都割接到對透傳代理服務(wù)的調(diào)用,我們就可以通過OSB管理界面對服務(wù)的使用情況進(jìn)行有效的集中監(jiān)控。

      但是,簡單的透傳代理服務(wù)無法解決既有服務(wù)的《標(biāo)準(zhǔn)》合規(guī)問題,前面第4.3(既有WEB服務(wù)問題分析)中列出的1)~4)項問題依然存在。

      為此我們繼續(xù)研究如何基于OSB重構(gòu)現(xiàn)有的服務(wù)。

      4.4.2 為業(yè)務(wù)數(shù)據(jù)定義規(guī)范的XSD描述

      在既有服務(wù)的WSDL里被定義為字符串類型的業(yè)務(wù)數(shù)據(jù),其實有著自身的XML結(jié)構(gòu);所以,第一步要做的就是用XML Schema(XSD)語言對這些既有數(shù)據(jù)結(jié)構(gòu)進(jìn)行規(guī)范定義。

      以遠(yuǎn)傳水表服務(wù)的MeterHistoryInfo操作為例,給定水表ID和時間范圍,它會返回水表在這個時間段內(nèi)的讀數(shù)信息(如圖3、圖4)。

      <MeterHistoryInfoResult>元素在 WSDL里被定義為模糊的String類型,但它其實也是一個XML結(jié)構(gòu),我們用XSD對其的定義如圖5所示。

      圖3 SOAP請求消息Fig.3 SOAP Request Message

      圖4 SOAP響應(yīng)消息Fig.4 SOAP Response Message

      圖5 XSD定義Fig.5 XML Schema Definition

      從上面的業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)可以看出幾個問題(其他既有服務(wù)都存在同樣問題):

      (1)元素和元素屬性命名非常隨意,在英文大小寫和縮寫的使用上完全沒有規(guī)范可循;

      (2)不少元素屬性的命名采用了讓人無法直觀理解的縮寫,不利于服務(wù)維護(hù)與使用。

      為此,我們?yōu)槊總€服務(wù)定義了全新的采用一致命名規(guī)范的業(yè)務(wù)數(shù)據(jù)格式。還是以上面的XML結(jié)構(gòu)為例,新的XSD描述如圖6所示。

      基于新XSD的XML結(jié)構(gòu)與既有結(jié)構(gòu)的格式對照如圖7所示。

      4.4.3 為代理服務(wù)定義新的WSDL描述

      對既有服務(wù)的重構(gòu)體現(xiàn)在代理服務(wù)擁有不同于(優(yōu)于)既有服務(wù)的WSDL描述,這些不同包括:

      1)新WSDL對消息格式的定義基于新的業(yè)務(wù)數(shù)據(jù)XSD

      這樣的WSDL在語義上實現(xiàn)了自我描述,容易理解和使用,也便于支持將來的業(yè)務(wù)數(shù)據(jù)標(biāo)準(zhǔn)化(如圖8)。

      2)新WSDL及其引用的新XSD都采用了規(guī)范的命名空間

      (1)新代理服務(wù)的命名空間都以http://shanghaiwater.com/wsdl開頭;

      圖6 規(guī)范的XSD定義Fig.6 Normative XML Schema Definition

      圖7 格式對比Fig.7 Schema Comparison

      圖8 WSDL定義Fig.8 WSDL Definition

      (2)新業(yè)務(wù)數(shù)據(jù)的命名空間都以http://shanghaiwater.com/xsd 開頭。

      3)新WSDL對服務(wù)操作的命名進(jìn)行了規(guī)范

      操作名的修改使得語義上更準(zhǔn)確直觀,英文大小寫和縮寫也得到規(guī)范,例如:

      MeterGISInfo→getMeterInfo;

      MeterHistoryInfo → getMeterMeasurement。

      4.5 設(shè)計并實現(xiàn)代理服務(wù)的消息流

      對既有服務(wù)重構(gòu)的核心在于設(shè)計并實現(xiàn)代理服務(wù)的消息流業(yè)務(wù)邏輯。該消息流把服務(wù)請求方發(fā)來的符合新WSDL定義的SOAP請求消息,轉(zhuǎn)換成符合既有服務(wù)WSDL定義的SOAP請求消息發(fā)送給對應(yīng)的業(yè)務(wù)服務(wù),再把業(yè)務(wù)服務(wù)返回的符合既有服務(wù)WSDL定義的SOAP響應(yīng)消息,轉(zhuǎn)換成符合新WSDL定義的SOAP響應(yīng)消息返回給服務(wù)請求方(如圖9)。

      由于響應(yīng)消息的轉(zhuǎn)換比請求消息的轉(zhuǎn)換來得復(fù)雜,所以我們以前者為例做進(jìn)一步的說明;響應(yīng)消息的轉(zhuǎn)換涉及多個步驟,其中最關(guān)鍵的有兩個:

      1)提取既有服務(wù)響應(yīng)消息里的結(jié)果字符串并轉(zhuǎn)換為XML對象

      如前所述,既有服務(wù)的WSDL把響應(yīng)消息里代表結(jié)果的XML結(jié)構(gòu)都籠統(tǒng)地定義為字符串;我們要做的就是把這個字符串從響應(yīng)消息里提取出來,然后轉(zhuǎn)換成OSB所需要的XML對象以便后續(xù)處理。我們?yōu)榇藢懥艘粋€Java調(diào)用函數(shù)XmlObject StringResultParser.parse(String)(如圖 10)。

      圖9 重構(gòu)后的信息流Fig.9 Reconfigured Information Flows

      圖10 Java調(diào)用代碼Fig.10 Java Callout

      2)把上一步得到的XML對象轉(zhuǎn)換為新的SOAP響應(yīng)消息

      為完成這個轉(zhuǎn)換,我們須在代表既有服務(wù)響應(yīng)結(jié)果的XSD類型(比如MeasurementResultType)和代表代理服務(wù)響應(yīng)結(jié)果的 XML元素(比如MeasurementResponse)之間定義 XQuery變換(如圖11)。

      OSB開發(fā)工具會自動生成XQuery變換代碼,涉及既有服務(wù)XSD命名空間的個別地方需要手工調(diào)整,最終代碼看起來如圖12所示。

      4.6 為代理服務(wù)增加安全性配置

      我們可以根據(jù)《標(biāo)準(zhǔn)》對服務(wù)安全性的要求,增加代理服務(wù)對請求方的身份認(rèn)證。下以HTTP Basic Authentication(基本身份驗證)為例,加以說明:

      圖11 定義XQuery變換Fig.11 Defining XQuery Transformation

      圖12 XQuery變換代碼Fig.12 XQuery Transformation Code

      (1)在OSB管理應(yīng)用里創(chuàng)建用戶賬號和口令(如圖13);

      (2)在代理服務(wù)的傳輸配置里增加身份驗證選項(如圖14)。

      增加上述配置后,調(diào)用代理服務(wù)必須提供正確的用戶名和口令,否則就會因HTTP 401錯誤而無法訪問服務(wù)(如圖15、圖16)。

      4.7 結(jié)果對比分析

      使用OSB實現(xiàn)對既有服務(wù)的透傳發(fā)布非常容易,只需進(jìn)行簡單配置,無需定義新的XSD或WSDL等XML描述文件,更不需編程,但獲得的好處有限。

      如果嚴(yán)格依照《標(biāo)準(zhǔn)》在OSB上實現(xiàn)對既有服務(wù)的重構(gòu),就必須對既有服務(wù)的消息格式進(jìn)行分析,重新定義代理服務(wù)的XSD和WSDL描述文件,設(shè)計不同XML格式之間的XQuery變換,甚至要通過Java編程處理更復(fù)雜的業(yè)務(wù)邏輯——這對OSB集成開發(fā)員的能力提出了一定要求,但服務(wù)重構(gòu)產(chǎn)生的合規(guī)Web服務(wù)對企業(yè)今后推進(jìn)面向服務(wù)的集成有巨大好處,對企業(yè)數(shù)據(jù)標(biāo)準(zhǔn)化也有明顯促進(jìn)作用。

      圖13 OSB創(chuàng)建用戶界面Fig.13 Creating a User in OSB

      圖14 代理服務(wù)配置界面Fig.14 Configuring Proxy Service

      圖15 調(diào)用代理服務(wù)Fig.15 Invoking Proxy Service

      圖16 調(diào)用代理服務(wù)結(jié)果Fig.16 Response from Proxy Service

      5 總結(jié)

      本次研究充分借鑒國內(nèi)外公共服務(wù)行業(yè)SOA建設(shè)經(jīng)驗、融合業(yè)界先進(jìn)技術(shù)標(biāo)準(zhǔn)進(jìn)行自主研發(fā)、建設(shè),在一定程度上具有領(lǐng)先性,主要體現(xiàn)在架構(gòu)先進(jìn)、技術(shù)領(lǐng)先方面。

      研究的目標(biāo)是研究出適合企業(yè)適用的技術(shù)標(biāo)準(zhǔn)、管理規(guī)范,選用統(tǒng)一的架構(gòu)體系和技術(shù)構(gòu)建開放的、集成的、一體化的信息化應(yīng)用環(huán)境,在此基礎(chǔ)上構(gòu)建以服務(wù)為導(dǎo)向的、一體化的、高效的企業(yè)業(yè)務(wù)應(yīng)用,便于將來在既有應(yīng)用信息資源的基礎(chǔ)上分階段實施新的信息系統(tǒng)規(guī)劃。

      為了在本次研究的成果之上繼續(xù)深入推進(jìn)基于服務(wù)總線的企業(yè)應(yīng)用集成,企業(yè)考慮從以下幾個方面著手布局:

      (1)數(shù)據(jù)標(biāo)準(zhǔn)——成立專門的企業(yè)數(shù)據(jù)標(biāo)準(zhǔn)管理委員會,負(fù)責(zé)制定、維護(hù)和推廣企業(yè)主數(shù)據(jù)與業(yè)務(wù)數(shù)據(jù)標(biāo)準(zhǔn)。該委員會要對企業(yè)數(shù)據(jù)標(biāo)準(zhǔn)的分類、描述語言、變更(版本)管理、保存與發(fā)布、使用合規(guī)管理等方面做出明確規(guī)定,并提供相應(yīng)的文檔與流程管理工具?;谏鲜鲆?guī)定,委員會要通過實施專項來定義和維護(hù)企業(yè)的數(shù)據(jù)標(biāo)準(zhǔn);

      (2)主數(shù)據(jù)服務(wù)——遵照《標(biāo)準(zhǔn)》(本研究項目的成果)和企業(yè)主數(shù)據(jù)標(biāo)準(zhǔn),開發(fā)企業(yè)的主數(shù)據(jù)服務(wù)并在ESB上部署;

      (3)業(yè)務(wù)服務(wù)——針對常用的業(yè)務(wù)功能或業(yè)務(wù)流程,設(shè)計開發(fā)可共享的企業(yè)級業(yè)務(wù)服務(wù)并在ESB上部署;

      (4)人才培養(yǎng)——除非準(zhǔn)備完全依靠外部供應(yīng)商來實施上述任務(wù),企業(yè)IT部門應(yīng)該加強(qiáng)對內(nèi)部人才的培養(yǎng)和鍛煉,特別是與企業(yè)應(yīng)用集成相關(guān)的分析、設(shè)計與開發(fā)能力。這包括(但不限于):常用的企業(yè)集成設(shè)計模式與技術(shù)、與XML相關(guān)的技術(shù)標(biāo)準(zhǔn)與 工 具 (XML,XML Namespace,XML Schema,XSLT)、ESB產(chǎn)品的配置與開發(fā)工具、常用的Java集成開發(fā)環(huán)境(Eclipse)等。在項目實施過程中,通過員工管理制度和項目管理安排使內(nèi)部IT人才和外部供應(yīng)商團(tuán)隊融為一體,是快速提高他們工作和學(xué)習(xí)能力的一個捷徑。

      猜你喜歡
      代理服務(wù)消息定義
      一張圖看5G消息
      農(nóng)村“三資”代理服務(wù)淺析
      網(wǎng)絡(luò)安全與防火墻技術(shù)
      成功的定義
      山東青年(2016年1期)2016-02-28 14:25:25
      基于代理服務(wù)的OPAC系統(tǒng)擴(kuò)展設(shè)計及實現(xiàn)
      消息
      消息
      消息
      國際貨物運輸代理服務(wù)免征增值稅
      修辭學(xué)的重大定義
      萍乡市| 定南县| 新郑市| 周宁县| 轮台县| 双城市| 定安县| 庄河市| 同江市| 乐平市| 阿荣旗| 凌海市| 邵阳市| 西吉县| 岢岚县| 班戈县| 博白县| 榆中县| 亚东县| 米易县| 通许县| 连山| 巩留县| 偏关县| 陵水| 丰顺县| 防城港市| 宁南县| 湘潭县| 商城县| 博爱县| 长泰县| 鹤庆县| 马山县| 建始县| 高青县| 禄劝| 琼海市| 墨脱县| 金门县| 曲靖市|