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

?

基于DFA和笛卡爾集的數(shù)據(jù)錄入機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

2019-12-11 05:21:48劉家興劉金鋒
關(guān)鍵詞:數(shù)據(jù)錄入自動(dòng)機(jī)財(cái)政

劉家興,劉金鋒,李 捷

(1.河南省實(shí)驗(yàn)中學(xué),河南 鄭州 450000;2.河南大學(xué),河南 開(kāi)封 475000)

0 引 言

近年來(lái),科學(xué)技術(shù)的迅猛發(fā)展,尤其是計(jì)算機(jī)技術(shù)的發(fā)展,極大便利了人們的工作及生活。再加上人們工作的需求及生活水平的提升,計(jì)算機(jī)用戶數(shù)量呈全球性的爆炸式增長(zhǎng),同時(shí)產(chǎn)生了大量數(shù)據(jù)信息有待處理。這就使得人們對(duì)計(jì)算機(jī)的計(jì)算能力需求不斷提高[1]。針對(duì)提高數(shù)據(jù)處理、數(shù)據(jù)操作、數(shù)據(jù)再加工的能力的問(wèn)題,文中對(duì)數(shù)據(jù)自動(dòng)化處理展開(kāi)研究。

自動(dòng)機(jī)理論是一種將離散數(shù)學(xué)系統(tǒng)的構(gòu)造、作用和關(guān)系作為研究對(duì)象的數(shù)學(xué)理論。自動(dòng)機(jī)是有限狀態(tài)機(jī)(FSM)的數(shù)學(xué)模型,F(xiàn)SM 是給定符號(hào)輸入,依據(jù)轉(zhuǎn)移函數(shù)“跳轉(zhuǎn)”過(guò)一系列狀態(tài)的一種機(jī)器,自動(dòng)機(jī)狀態(tài)有開(kāi)始狀態(tài)和結(jié)束狀態(tài)[2]。DFA在自動(dòng)化、智能化領(lǐng)域有著廣泛的應(yīng)用。例如,文獻(xiàn)[3]提出的漢字自動(dòng)機(jī)模型能刻畫(huà)出文字智能輸入、詞句輸入,為漢字的智能處理提供數(shù)據(jù)模型;文獻(xiàn)[4]利用自動(dòng)機(jī)的狀態(tài)轉(zhuǎn)換表實(shí)現(xiàn)串的快速自動(dòng)匹配;文獻(xiàn)[5]利用層次式時(shí)間自動(dòng)機(jī)模型自動(dòng)轉(zhuǎn)化為模型檢測(cè)工具UPPAAL的輸入;文獻(xiàn)[6]以時(shí)間自動(dòng)機(jī)為建模工具,分別為要檢測(cè)和控制的物理實(shí)體以及不同種類(lèi)的物聯(lián)網(wǎng)服務(wù)獨(dú)立建模,這些時(shí)間自動(dòng)機(jī)形成了一個(gè)網(wǎng)絡(luò),刻畫(huà)完整的物聯(lián)網(wǎng)服務(wù)通信并發(fā)過(guò)程;針對(duì)系統(tǒng)多層嵌套式結(jié)構(gòu)范疇模型的動(dòng)態(tài)行為描述和分析問(wèn)題,文獻(xiàn)[7]提出一種基于端口自動(dòng)機(jī)的行為表達(dá)方法;文獻(xiàn)[8]將節(jié)點(diǎn)調(diào)度問(wèn)題轉(zhuǎn)化為集合覆蓋問(wèn)題后,利用學(xué)習(xí)自動(dòng)機(jī)的特性自適應(yīng)地更新所選取感知方向的概率;文獻(xiàn)[9]將自動(dòng)機(jī)模型與遺傳算法相結(jié)合,使得遺傳算法的每一代遺傳因子自動(dòng)產(chǎn)生。文中研究的是數(shù)據(jù)自動(dòng)化、智能化處理問(wèn)題,與自動(dòng)機(jī)理論的本質(zhì)特征切合,所以基于自動(dòng)機(jī)理論構(gòu)建了一種數(shù)據(jù)自動(dòng)處理機(jī)器人模型。另外,設(shè)置了自動(dòng)機(jī)的啟動(dòng)條件即握手認(rèn)證,握手認(rèn)證模型基于笛卡爾集。笛卡爾集是指在數(shù)學(xué)中,兩個(gè)集合X和Y的笛卡尓集(Cartesian Set)表示為X × Y,第一個(gè)對(duì)象是X的成員,第二個(gè)對(duì)象是Y的所有可能有序?qū)Φ钠渲幸粋€(gè)成員[10]。

依據(jù)數(shù)據(jù)自動(dòng)處理機(jī)器人模型,文中設(shè)計(jì)和實(shí)現(xiàn)了某財(cái)政支付系統(tǒng)數(shù)據(jù)自動(dòng)錄入機(jī)器人。由于某財(cái)政支付系統(tǒng)和某財(cái)務(wù)系統(tǒng)是兩套獨(dú)立的軟件系統(tǒng),這就造成了在財(cái)政支付環(huán)節(jié)存在一個(gè)脫節(jié),即財(cái)政系統(tǒng)無(wú)法有效獲取并使用這些結(jié)算信息。目前采用人工方式實(shí)現(xiàn)結(jié)算信息逐條錄入,工作效率低下,已不能滿足未來(lái)工作的需要。而文中設(shè)計(jì)的財(cái)政支付數(shù)據(jù)自動(dòng)錄入機(jī)器人將會(huì)把財(cái)務(wù)系統(tǒng)中的結(jié)算信息搬運(yùn)到財(cái)政支付系統(tǒng),有效地解決這個(gè)“脫節(jié)”問(wèn)題,使得結(jié)算支付信息得到充分利用,極大地提高工作效率,使得財(cái)政支付流程更順暢。

1 機(jī)器人模型

1.1 數(shù)據(jù)自動(dòng)操作模型

確定有限狀態(tài)自動(dòng)機(jī)[11]Γ:由一個(gè)非空有限的狀態(tài)集合Ω,一個(gè)輸入字母表(非空有限的字符集合)Σ,一個(gè)轉(zhuǎn)移函數(shù)δ:Ω×Σ→Ω,一個(gè)開(kāi)始狀態(tài)s∈Ω,一個(gè)結(jié)束狀態(tài)的集合F?Ω所組成的5-元組,因此一個(gè)DFA可以寫(xiě)成這樣的形式:Γ=(Ω,Σ,δ,s,F)。

數(shù)據(jù)自動(dòng)操作模型構(gòu)建步驟如下:

(1)信息元集合U。

U={u1,u2,…,un},n∈N

(2)集合U劃分。

等價(jià)類(lèi)的劃分基于以下定理:設(shè)R是定義在集合A上的等價(jià)關(guān)系,那么R的等價(jià)類(lèi)構(gòu)成S的劃分。

R={r1,r2,…,rm},m∈N

Si={x,y|xriy,x∈U,y∈U,ri∈R},i≤m,i∈N

(3)信息序列集合LQ。

信息序列為M-元組記為Q:

Q=

信息序列集合LQ為:

LQ={|ui∈Si}

(4)信息序列狀態(tài)集合。

信息元操作狀態(tài)因子集合為:

A={a,-a}

帶操作的信息序列QA為:

QΑ=

帶操作的信息序列集合LQΑ為:

LQΑ={|ui∈Si,aj∈A}

可得:|LQΑ|=2M。

帶依次操作的信息序列QΑSK為:

QASK=

uM⊕aj>

帶依次操作的信息序列集合LQAS為:

LQΑS={QΑSk},k≤M

可得: |LQΑS|=M。

(5)操作集合ΡΟpt。

位置集合P:

P={|x,y∈N,x≤W,y≤H},W、H為自然數(shù)常量;

操作元集合ΟΡt為:

OPt={OPt1,OPt2,…,OPti,…,OPtN}

Ρopt={p∧opt|p∈R,opt∈ΟΡt}

ΡΟpt反映了對(duì)某位置的某種操作。

(6)轉(zhuǎn)移函數(shù)δ。

f(QΑk,popt)={|ak=-a,ui∈Si,aj∈A},popt?ΡΟpt,popt≠?

f(QΑk,popt)定義了Ω集合的狀態(tài)轉(zhuǎn)移規(guī)則,讀入操作popt,跳轉(zhuǎn)的狀態(tài)不唯一,所以該函數(shù)定義的是一種不確定的有窮狀態(tài)自動(dòng)機(jī)(NFA)。

f(QΑSk,popt)=QΑSk+1,popt?ΡΟpt,popt≠?f(QΑSk,popt)定義了Ω集合的另一種狀態(tài)轉(zhuǎn)移規(guī)則,讀入操作popt,跳轉(zhuǎn)的狀態(tài)唯一,所以該函數(shù)定義的是一種確定的有窮狀態(tài)自動(dòng)機(jī)(DFΑ)。

(7)起始狀態(tài)與終止?fàn)顟B(tài)。

s=

F=

綜述,基于FA理論,文中建立的自動(dòng)操作模型描述如下,非依次操作的自動(dòng)機(jī)模型AOM:

ΑΟΜ={LQΑ,ΡΟpt,f(QAK,popt),s,F},ΑΟΜ是ΝF??;

依次操作的自動(dòng)機(jī)模型AOM-S:

ΑΟΜ-S={LQΑS,ΡΟpt,f(QΑSk,popt),s,F},ΑΟΜ-S是DFΑ。

1.2 笛卡爾集握手認(rèn)證模型

該模型的設(shè)計(jì)基于笛卡爾集理論,用于設(shè)計(jì)自動(dòng)機(jī)的啟動(dòng)條件,握手成功自動(dòng)機(jī)啟動(dòng),模型構(gòu)建步驟如下:

(1)標(biāo)識(shí)因子集合。

T={t1,t2,…,ti,…,tn}

(2)標(biāo)識(shí)因子關(guān)系。

R={R1,R2}

(3)標(biāo)識(shí)因子劃分。

T1={x,y|xR1y,x∈T,y∈T}

T2={x,y|xR2y,x∈T,y∈T}

其中T1、T2為不同類(lèi)別的標(biāo)識(shí)。

(4)握手認(rèn)證模型。

A={|t∈T1,U∈T2}

B={|s∈T2,V∈T1}

A×B={(a,b)|a∈A,b∈B,f(b1)∈U,g(a1)∈V}

其中b1、a1分別為元素(三元組)中的第1元數(shù)據(jù),A×B即為可握手認(rèn)證集合。

2 財(cái)政數(shù)據(jù)自動(dòng)錄入機(jī)器人設(shè)計(jì)

基于數(shù)據(jù)自動(dòng)操作模型和笛卡爾集握手認(rèn)證模型,設(shè)計(jì)財(cái)政數(shù)據(jù)自動(dòng)錄入機(jī)器人。該設(shè)計(jì)以一系列操作組合作為自動(dòng)機(jī)模型的輸入字母表,以數(shù)據(jù)操作后的狀態(tài)為有限狀態(tài)集合,開(kāi)始狀態(tài)定義為數(shù)據(jù)的原始狀態(tài),即未對(duì)數(shù)據(jù)進(jìn)行任何操作,結(jié)束狀態(tài)定義為數(shù)據(jù)的完全操作態(tài),即對(duì)數(shù)據(jù)的所有操作均已完成。該設(shè)計(jì)中操作的數(shù)據(jù)對(duì)象為批量財(cái)政結(jié)算數(shù)據(jù),包含賬號(hào)名稱(chēng)、賬戶賬號(hào)、開(kāi)戶行信息、摘要、金額等信息元;針對(duì)以上數(shù)據(jù)進(jìn)行的操作為在某位置的單擊、復(fù)制、粘貼等。初始狀態(tài)為數(shù)據(jù)的原始狀態(tài),結(jié)束狀態(tài)為數(shù)據(jù)的完成操作態(tài)。

2.1 財(cái)政數(shù)據(jù)自動(dòng)錄入機(jī)器人

財(cái)政數(shù)據(jù)錄入機(jī)器人定義為:ΑΟΜ-S={LQΑS,ΡΟpt,f(QΑSk,popt),s,F},其中,LQΑS={QΑSk},k≤Μ,Μ=5;QΑSk=,其中,ui∈Si,i≤Μ,aj∈Α

具體的:

S1:賬戶名稱(chēng);

S2:賬戶賬號(hào);

S3:開(kāi)戶行信息;

S4:摘要;

S5:金額;

A={已處理,未處理}。

Ρopt={p∧opt|p∈P,opt∈ΟΡt},其中:

P={|x,y∈N,x≤W,y≤Η},W、H為屏幕分辨率。

Οpt={復(fù)制,單擊,粘貼}。

f(QΑSk,popt)=QΑSk+1,popt?ΡΟpt,popt≠?。

s=,其中ui∈Si。

F=

其中ui∈Si,Si中i≤5。

2.2 握手認(rèn)證設(shè)計(jì)

啟動(dòng)財(cái)政數(shù)據(jù)自動(dòng)錄入機(jī)器人的程序定義為機(jī)器人喚醒系統(tǒng),握手認(rèn)證模型定義如下:

A×B={(a,b)|a∈A,b∈B,f(b1)∈U,g(a1)∈V}

A={|t∈T1,U∈T2}

其中,T1為機(jī)器人喚醒系統(tǒng)身份標(biāo)識(shí)集;T2為財(cái)政數(shù)據(jù)自動(dòng)錄入機(jī)器人身份標(biāo)識(shí)集;A為機(jī)器人喚醒系統(tǒng)集合;t為機(jī)器人喚醒系統(tǒng)身份標(biāo)識(shí);f為握手規(guī)則;U為f規(guī)則下符合條件的財(cái)政數(shù)據(jù)自動(dòng)錄入機(jī)器人身份標(biāo)識(shí)。

B={|s∈T2,V∈T1}

其中,B為財(cái)政數(shù)據(jù)自動(dòng)錄入機(jī)器人集合;s為財(cái)政數(shù)據(jù)自動(dòng)錄入機(jī)器人身份標(biāo)識(shí);g為握手規(guī)則;V為g規(guī)則下符合條件的機(jī)器人喚醒系統(tǒng)身份標(biāo)識(shí)。

f(b1)∈U,g(a1)∈V為笛卡爾集計(jì)算規(guī)則。

3 方案實(shí)現(xiàn)

功能總體設(shè)計(jì):插入財(cái)政支付數(shù)據(jù)錄入機(jī)器人,主機(jī)機(jī)器人喚醒系統(tǒng)喚醒機(jī)器人程序,機(jī)器人啟動(dòng),載入數(shù)據(jù),完成財(cái)政支付信息的自動(dòng)錄入;拔出機(jī)器人,機(jī)器人進(jìn)程隨之關(guān)閉。

實(shí)現(xiàn)平臺(tái):.NET FrameWork 4.0[12];

實(shí)現(xiàn)語(yǔ)言:C#[13];

運(yùn)行環(huán)境:Windows XP、Win7及以上。

財(cái)政支付數(shù)據(jù)錄入機(jī)器人的設(shè)計(jì)包含兩部分程序:主機(jī)喚醒程序和機(jī)器人程序。主機(jī)喚醒程序通過(guò)握手認(rèn)證喚醒機(jī)器人。文中采用面向?qū)ο骩14]的思想對(duì)兩部分程序進(jìn)行實(shí)現(xiàn)。

3.1 主機(jī)喚醒程序

主機(jī)喚醒程序用于通過(guò)握手認(rèn)證模型識(shí)別、啟動(dòng)財(cái)政支付數(shù)據(jù)錄入機(jī)器人,工作流程如圖1所示。

圖1 握手認(rèn)證流程

根據(jù)工作流程設(shè)計(jì)類(lèi)圖,如圖2所示。

圖2 主機(jī)喚醒程序類(lèi)圖

圖中,ComputerInfo類(lèi)用于獲取機(jī)器人喚醒系統(tǒng)身份標(biāo)識(shí);MonitorUpan類(lèi)用于檢測(cè)是否有機(jī)器人插入、與機(jī)器人握手認(rèn)證、啟動(dòng)機(jī)器人。其中isIdentification()方法實(shí)現(xiàn)認(rèn)證機(jī)器人功能;CallbackTask()方法是后臺(tái)線程[15]執(zhí)行函數(shù),根據(jù)認(rèn)證結(jié)果啟動(dòng)或關(guān)閉機(jī)器人;isStart()方法判斷是否機(jī)器人啟動(dòng);KillProcess()方法實(shí)現(xiàn)關(guān)閉機(jī)器人功能。

核心代碼如下:

public bool isIdentification()//認(rèn)證

{

bool flag=false;

var scope=new ManagementScope();

var query=new SelectQuery("select * from win32_logicaldisk");

using(var searcher=new ManagementObjectSearcher(scope,query))

{

//返回設(shè)備列表

var collection=searcher.Get();

foreach(var obj in collection)

{

foreach (var property in obj.Properties)//讀取機(jī)器人序列號(hào)

{

if(property.Value!=null)//讀取到了嗎

{

//認(rèn)證機(jī)器人

if(property.Name=="VolumeSerialNumber" && property.Value.ToString()=="3C2382B3")

{

flag = true;

}

}

}

}

}

return flag;

}

public void CallbackTask(Object stateInfo)//機(jī)器人啟動(dòng)或關(guān)閉

{

while(true)

{

if(isIdentification())//如果認(rèn)證成功

{

//啟動(dòng)機(jī)器人

if(isStart()==false)

{

ProcessStartInfo startInfo=new ProcessStartInfo(@"Robot.exe");

ComputerInfo cmp=new ComputerInfo();

startInfo.Arguments=cmp.GetCpuInfo()+cmp.GetBoardInfo();

Process.Start(startInfo);

}

}

else

{

//如果認(rèn)證失敗,關(guān)閉機(jī)器人

KillProcess("Robot");

}

}

}

主機(jī)喚醒程序建立后臺(tái)線程,后臺(tái)線程執(zhí)行CallbackTask()方法,即實(shí)現(xiàn)如下功能:與插入的機(jī)器人握手認(rèn)證,認(rèn)證成功,則啟動(dòng)機(jī)器人;如果認(rèn)證不成功,則關(guān)閉所有機(jī)器人進(jìn)程。

3.2 機(jī)器人程序

財(cái)政支付數(shù)據(jù)自動(dòng)錄入機(jī)器人功能如下:讀取數(shù)據(jù),對(duì)于每一條數(shù)據(jù)的信息元,找到操作位置,完成相應(yīng)操作,提交數(shù)據(jù),修改數(shù)據(jù)狀態(tài)為已處理,當(dāng)所有數(shù)據(jù)的狀態(tài)為已處理時(shí),機(jī)器人停止。

機(jī)器人核心類(lèi)圖如圖3所示。

圖3 機(jī)器人核心類(lèi)圖

圖中,ExcelHelper類(lèi)用于讀取數(shù)據(jù);InputAlphabet類(lèi)用于設(shè)置自動(dòng)機(jī)的輸入字母表,完成狀態(tài)跳轉(zhuǎn)。

機(jī)器人自動(dòng)錄入流程如圖4所示。

圖4 機(jī)器人自動(dòng)錄入流程

核心代碼如下:

public void ConfigOpt()

{

if(totalTable!=null)

{

if(rowIndex

{

label2.Text=rowIndex.ToString()+"/"+(totalTable.Rows.Count-1);

for(inti=0;i

//選定第i個(gè)位置

{

if(i==2)

{

this.DoMouseDoubleClick(arr[i][0],arr[i][1]);//雙擊操作

Thread.Sleep(50);

}

else

{

this.DoMouseClick(arr[i][0],arr[i][1]);//單擊操作

Thread.Sleep(50);

keybd_event(17,0,0,0);

Thread.Sleep(50);

keybd_event((byte)Keys.A,0,0,0);

Thread.Sleep(50);

keybd_event(17,0,2,0);

Thread.Sleep(50);

keybd_event((byte)Keys.A,0,2,0);

//全選操作

keybd_event(46,0,0,0);

Thread.Sleep(50);

keybd_event(46,0,2,0);

//刪除操作

Thread.Sleep(50);

}

try//復(fù)制操作

{

Clipboard.Clear();

Clipboard.SetText(totalTable.Rows[rowIndex][i].ToString());

//第rowIndex條數(shù)據(jù)的第i個(gè)信息元

}catch(Exception ee)

{

Application.DoEvents();

Clipboard.SetText(totalTable.Rows[rowIndex][i].ToString());

}

Thread.Sleep(50);

keybd_event(17,0,0,0);

Thread.Sleep(50);

keybd_event((byte)Keys.V,0,0,0);

Thread.Sleep(50);

keybd_event(17,0,2,0);

Thread.Sleep(50);

keybd_event((byte)Keys.V,0,2,0);

//粘貼操作

Thread.Sleep(100);

}

rowIndex++;

}

if(rowIndex==totalTable.Rows.Count)

{

timer1.Enabled=false;

rowIndex++;

}

}

}

4 實(shí)驗(yàn)對(duì)比

文中設(shè)計(jì)的財(cái)政支付機(jī)器人于2018年11月投入使用,2018年11月之前采用人工錄入,人工錄入安排2人,各占用1臺(tái)PC,PC配置如下:CPU為Intel(R) Core(TM) i3 CPU M350@2.27GHz;內(nèi)存為4 G;操作系統(tǒng)為Win7 旗艦版(32位)。

現(xiàn)有方式為機(jī)器人錄入,1臺(tái)機(jī)器人錄入需要一臺(tái)PC支撐,PC配置同上。表1是2017年度和2018年度12月份數(shù)據(jù)對(duì)比。

表1 數(shù)據(jù)對(duì)比

注:數(shù)據(jù)源自某大學(xué)財(cái)務(wù)系統(tǒng);8小時(shí)*75%為人工錄入有效用時(shí);準(zhǔn)確率來(lái)自對(duì)賬后的數(shù)據(jù)統(tǒng)計(jì)。

通過(guò)以上數(shù)據(jù)對(duì)比發(fā)現(xiàn),人工錄入速率約為2分鐘一條數(shù)據(jù),機(jī)器人錄入速率約為一分鐘6筆,機(jī)器人錄入效率遠(yuǎn)遠(yuǎn)大于人工錄入效率;人工錄入準(zhǔn)確率很難達(dá)到100%,而機(jī)器人錄入可以達(dá)到無(wú)差錯(cuò)錄入。

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

文中基于確定有限狀態(tài)自動(dòng)機(jī)(DFA)理論和笛卡爾集構(gòu)建了一種數(shù)據(jù)自動(dòng)處理機(jī)器人模型,依據(jù)該模型,設(shè)計(jì)了財(cái)政支付數(shù)據(jù)錄入機(jī)器人?;?NET FrameWork 4.0,對(duì)財(cái)政支付數(shù)據(jù)錄入機(jī)器人進(jìn)行了實(shí)現(xiàn)。通過(guò)這種機(jī)器人,2個(gè)員工一天的錄入工作量,可以用1個(gè)小時(shí)來(lái)完成,極大提高了工作效率。

猜你喜歡
數(shù)據(jù)錄入自動(dòng)機(jī)財(cái)政
基于SPSS軟件在市場(chǎng)調(diào)研中的數(shù)據(jù)錄入方法
{1,3,5}-{1,4,5}問(wèn)題與鄰居自動(dòng)機(jī)
面向海外數(shù)據(jù)庫(kù)的一種通用數(shù)據(jù)錄入方法的研究
一種基于模糊細(xì)胞自動(dòng)機(jī)的新型疏散模型
略論近代中國(guó)花捐的開(kāi)征與演化及其財(cái)政-社會(huì)形態(tài)
廣義標(biāo)準(zhǔn)自動(dòng)機(jī)及其商自動(dòng)機(jī)
基于SPSS軟件在市場(chǎng)調(diào)研中的數(shù)據(jù)錄入方法
醫(yī)改需適應(yīng)財(cái)政保障新常態(tài)
縣財(cái)政吃緊 很擔(dān)憂錢(qián)從哪里來(lái)
增強(qiáng)“五種”意識(shí)打造“五型”財(cái)政
人間(2015年21期)2015-03-11 15:24:01
蓝田县| 修水县| 龙江县| 墨玉县| 遂平县| 太保市| 灵丘县| 公主岭市| 临桂县| 广宁县| 台前县| 乐安县| 松阳县| 宁陵县| 土默特右旗| 三明市| 高尔夫| 洛浦县| 辉县市| 普定县| 镶黄旗| 铜鼓县| 佛冈县| 河北区| 长汀县| 胶南市| 钟祥市| 自贡市| 麻栗坡县| 青浦区| 博爱县| 德清县| 濉溪县| 东方市| 安仁县| 重庆市| 项城市| 贡山| 安图县| 巫山县| 宣武区|