欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Java操作系統(tǒng)中使用消息傳遞實(shí)現(xiàn)進(jìn)程同步的實(shí)現(xiàn)方法

文檔序號(hào):6556456閱讀:467來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):Java操作系統(tǒng)中使用消息傳遞實(shí)現(xiàn)進(jìn)程同步的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明是涉及Java操作系統(tǒng),尤其涉及一種Java操作系統(tǒng)中使用消息傳遞實(shí)現(xiàn)進(jìn)程同步的實(shí)現(xiàn)方法。
背景技術(shù)
系統(tǒng)中的交往進(jìn)程通過(guò)信號(hào)量及有關(guān)操作可以實(shí)現(xiàn)進(jìn)程互斥和同步。例如,生產(chǎn)者和消費(fèi)者問(wèn)題是一組相互協(xié)作的進(jìn)程,它們通過(guò)交換信號(hào)量達(dá)到產(chǎn)品遞交和使用緩沖器的目地。這可以看作是一種低級(jí)的通信方式。有時(shí)進(jìn)程間可能需要交換更多的信息,例如,一個(gè)輸入輸出操作請(qǐng)求,要求把數(shù)據(jù)從一個(gè)進(jìn)程傳送給另一個(gè)進(jìn)程,這種大量的信息傳遞可使用一種高級(jí)通信方式——消息傳遞來(lái)實(shí)現(xiàn)。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種在Java操作系統(tǒng)中使用消息傳遞實(shí)現(xiàn)進(jìn)程同步的實(shí)現(xiàn)方法。
本發(fā)明解決其技術(shù)問(wèn)題采用的技術(shù)方案如下
一種Java操作系統(tǒng)中使用消息傳遞實(shí)現(xiàn)進(jìn)程同步的實(shí)現(xiàn)方法
Java操作系統(tǒng)中消息傳遞機(jī)制提供兩條原語(yǔ)send和receive,前者向一個(gè)給定的目標(biāo)發(fā)送一個(gè)消息,后者則從一個(gè)給定的源接受一條消息。如果沒(méi)有消息可用,則接收者可能阻塞直到一條消息到達(dá),或者也可以立即返回,并帶回一個(gè)錯(cuò)誤碼。
進(jìn)程間用消息來(lái)交換信息。一個(gè)正在執(zhí)行的進(jìn)程可以在任何時(shí)刻向另一個(gè)正在執(zhí)行的進(jìn)程發(fā)送一個(gè)消息;一個(gè)正在執(zhí)行的進(jìn)程也可以在任何時(shí)刻向正在執(zhí)行的另一個(gè)進(jìn)程請(qǐng)求一個(gè)消息。如果一個(gè)進(jìn)程在某一時(shí)刻的執(zhí)行依賴(lài)于另一進(jìn)程的消息或等待它進(jìn)程對(duì)發(fā)出消息的回答,消息傳遞機(jī)制將緊密地與進(jìn)程的阻塞和釋放相聯(lián)系,消息傳遞就進(jìn)一步擴(kuò)充了并發(fā)進(jìn)程問(wèn)對(duì)數(shù)據(jù)的共享。
Java操作系統(tǒng)中用到的消息傳遞方式有直接通信,即消息緩沖區(qū)方式,發(fā)送或接收消息的每個(gè)進(jìn)程必須指出信件發(fā)給誰(shuí)或從誰(shuí)那里接收消息,可用send原語(yǔ)和receive原語(yǔ)為實(shí)現(xiàn)進(jìn)程之間的通信,這兩個(gè)原語(yǔ)定義如下
send消息把一個(gè)消息發(fā)送給進(jìn)程P。
receive消息從進(jìn)程Q接收一個(gè)消息。
這樣,進(jìn)程P和Q通過(guò)執(zhí)行這兩個(gè)操作而自動(dòng)建立了一種聯(lián)結(jié),并且這一種聯(lián)結(jié)僅僅發(fā)生在這一對(duì)進(jìn)程之間。
采用間接通信方式時(shí),進(jìn)程間發(fā)送或接收消息通過(guò)一個(gè)信箱緩沖來(lái)進(jìn)行,消息可以被理解成信件,每個(gè)信箱有一個(gè)唯一的標(biāo)識(shí)符,當(dāng)兩個(gè)以上的進(jìn)程有一個(gè)共享的信箱時(shí),它們就能進(jìn)行通信,一個(gè)進(jìn)程也可以分別與多個(gè)進(jìn)程共享多個(gè)不同的信箱,這樣,一個(gè)進(jìn)程可以同時(shí)和多個(gè)進(jìn)程進(jìn)行通信,在間接通信方式“發(fā)送”和“接收”原語(yǔ)的形式如下
send信件把一封信件傳送到信箱A。
receive信件從信箱A接收一封信件。
信箱是存放信件的存儲(chǔ)區(qū)域,每個(gè)信箱可以分成信箱特征和信箱體兩部分。信箱特征指出信箱容量、信件格式、指針等;信箱體用來(lái)存放信件,信箱體分成若干個(gè)區(qū),每個(gè)區(qū)可容納一封信。
“發(fā)送”和“接收”兩條原語(yǔ)的功能為
發(fā)送信件--如果指定的信箱未滿(mǎn),則將信件送入信箱中由指針?biāo)甘镜奈恢?,并釋放等待該信箱中信件的等待者;否則發(fā)送信件者被置成等待信箱狀態(tài)。
接收信件--如果指定信箱中有信,則取出一封信件,并釋放等待信箱的等待者,否則接收信件者被置成等待信箱中信件的狀態(tài)。
本發(fā)明與背景技術(shù)相比,具有的有益的效果是進(jìn)一步擴(kuò)充了并發(fā)進(jìn)程問(wèn)對(duì)數(shù)據(jù)的共享。采用了消息傳遞機(jī)制后,進(jìn)程間用消息來(lái)交換信息。一個(gè)正在執(zhí)行的進(jìn)程可以在任何時(shí)刻向另一個(gè)正在執(zhí)行的進(jìn)程發(fā)送一個(gè)消息;一個(gè)正在執(zhí)行的進(jìn)程也可以在任何時(shí)刻向正在執(zhí)行的另一個(gè)進(jìn)程請(qǐng)求一個(gè)消息。如果一個(gè)進(jìn)程在某一時(shí)刻的執(zhí)行依賴(lài)于另一進(jìn)程的消息或等待它進(jìn)程對(duì)發(fā)出消息的回答,那么,消息傳遞機(jī)制將緊密地與進(jìn)程的阻塞和釋放相聯(lián)系。這樣,消息傳遞就進(jìn)一步擴(kuò)充了并發(fā)進(jìn)程問(wèn)對(duì)數(shù)據(jù)的共享。


圖1是利用消息緩沖區(qū)的說(shuō)明示意圖2是利用信箱技術(shù)的說(shuō)明示意圖。
具體實(shí)施例方式
如圖1所示,本發(fā)明Java操作系統(tǒng)中消息傳遞機(jī)制提供兩條原語(yǔ)send和receive,前者向一個(gè)給定的目標(biāo)發(fā)送一個(gè)消息,后者則從一個(gè)給定的源接受一條消息。如果沒(méi)有消息可用,則接收者可能阻塞直到一條消息到達(dá),或者也可以立即返回,并帶回一個(gè)錯(cuò)誤碼。
進(jìn)程間用消息來(lái)交換信息。一個(gè)正在執(zhí)行的進(jìn)程可以在任何時(shí)刻向另一個(gè)正在執(zhí)行的進(jìn)程發(fā)送一個(gè)消息;一個(gè)正在執(zhí)行的進(jìn)程也可以在任何時(shí)刻向正在執(zhí)行的另一個(gè)進(jìn)程請(qǐng)求一個(gè)消息。如果一個(gè)進(jìn)程在某一時(shí)刻的執(zhí)行依賴(lài)于另一進(jìn)程的消息或等待它進(jìn)程對(duì)發(fā)出消息的回答,消息傳遞機(jī)制將緊密地與進(jìn)程的阻塞和釋放相聯(lián)系,消息傳遞就進(jìn)一步擴(kuò)充了并發(fā)進(jìn)程問(wèn)對(duì)數(shù)據(jù)的共享。
Java操作系統(tǒng)中用到的消息傳遞方式有直接通信,即消息緩沖區(qū)方式,發(fā)送或接收消息的每個(gè)進(jìn)程必須指出信件發(fā)給誰(shuí)或從誰(shuí)那里接收消息,可用send原語(yǔ)和receive原語(yǔ)為實(shí)現(xiàn)進(jìn)程之間的通信,這兩個(gè)原語(yǔ)定義如下
send消息把一個(gè)消息發(fā)送給進(jìn)程P。
receive消息從進(jìn)程Q接收一個(gè)消息。
這樣,進(jìn)程P和Q通過(guò)執(zhí)行這兩個(gè)操作而自動(dòng)建立了一種聯(lián)結(jié),并且這一種聯(lián)結(jié)僅僅發(fā)生在這一對(duì)進(jìn)程之間。
如圖2所示,本發(fā)明采用間接通信方式時(shí),進(jìn)程間發(fā)送或接收消息通過(guò)一個(gè)信箱緩沖來(lái)進(jìn)行,如圖2所示,消息可以被理解成信件,每個(gè)信箱有一個(gè)唯一的標(biāo)識(shí)符,當(dāng)兩個(gè)以上的進(jìn)程有一個(gè)共享的信箱時(shí),它們就能進(jìn)行通信,一個(gè)進(jìn)程也可以分別與多個(gè)進(jìn)程共享多個(gè)不同的信箱,這樣,一個(gè)進(jìn)程可以同時(shí)和多個(gè)進(jìn)程進(jìn)行通信,在間接通信方式“發(fā)送”和“接收”原語(yǔ)的形式如下
send信件把一封信件傳送到信箱A。
receive信件從信箱A接收一封信件。
信箱是存放信件的存儲(chǔ)區(qū)域,每個(gè)信箱可以分成信箱特征和信箱體兩部分。信箱特征指出信箱容量、信件格式、指針等;信箱體用來(lái)存放信件,信箱體分成若干個(gè)區(qū),每個(gè)區(qū)可容納一封信。
“發(fā)送”和“接收”兩條原語(yǔ)的功能為
發(fā)送信件--如果指定的信箱未滿(mǎn),則將信件送入信箱中由指針?biāo)甘镜奈恢茫⑨尫诺却撔畔渲行偶牡却?;否則發(fā)送信件者被置成等待信箱狀態(tài)。
接收信件--如果指定信箱中有信,則取出一封信件,并釋放等待信箱的等待者,否則接收信件者被置成等待信箱中信件的狀態(tài)。
在具體的實(shí)施過(guò)程中,特別注意了以下的問(wèn)題
(1)信箱容量問(wèn)題。一個(gè)極端的情況是信箱容量為0,那么當(dāng)send在receive之前執(zhí)行的話(huà),則發(fā)送進(jìn)程被阻塞,直到receive做完。執(zhí)行receive時(shí)信件可從發(fā)送者直接拷貝到接收者,不用任何中間緩沖。類(lèi)似的,如果receive先被執(zhí)行,接受者將被阻塞直到send發(fā)生。上述策略稱(chēng)為回合(rendezvous)原則。這種方案實(shí)現(xiàn)較為容易,但卻降低了靈活性,發(fā)送者和接收者一定要以步步緊接的方式運(yùn)行。通常情況采用帶有信件緩沖的方案、即信箱可放有限封信,這時(shí)一個(gè)進(jìn)程可以連續(xù)做發(fā)送信件操作而無(wú)需等待直到信箱滿(mǎn),這種方式下,系統(tǒng)具有迫使一個(gè)進(jìn)程等信箱和釋放等信箱的功能。
(2)關(guān)于多進(jìn)程與信箱相連的信件接收問(wèn)題。采用間接通信時(shí),有時(shí)會(huì)出現(xiàn)如下問(wèn)題,假設(shè)進(jìn)程P1,P2和P3都共享信箱A,P1把一封信件送到了信箱A,而P2和P3都企圖從信箱A取這個(gè)信件,那么,究竟應(yīng)由誰(shuí)來(lái)取P1發(fā)送的信件呢?解決的辦法有以下三種
●預(yù)先規(guī)定能取P1所發(fā)送的信件的接收者。
●預(yù)先規(guī)定在一個(gè)時(shí)間至多一個(gè)進(jìn)程執(zhí)行一個(gè)接收操作。
●由系統(tǒng)選擇誰(shuí)是接收者。
(3)信箱的所有權(quán)問(wèn)題。一個(gè)信箱可以由一個(gè)進(jìn)程所有,也可以由操作系統(tǒng)所有。如果一個(gè)信箱為一個(gè)進(jìn)程所有,那么必須區(qū)分信箱的所有者和它的用戶(hù),區(qū)分信箱的所有者和它的用戶(hù)的一個(gè)方法是允許進(jìn)程說(shuō)明信箱類(lèi)型mailbox,說(shuō)明這個(gè)mailbox的進(jìn)程就是信箱的所有者,其它任何知道這個(gè)mailbox名字的進(jìn)程都可成為它的用戶(hù)。當(dāng)擁有信箱的進(jìn)程執(zhí)行結(jié)束時(shí),它的信箱也就消失,這時(shí)必須把這一情況及時(shí)通知這個(gè)信箱的用戶(hù)。信箱為操作系統(tǒng)所有是指由操作系統(tǒng)統(tǒng)一設(shè)置信箱,由操作系統(tǒng)統(tǒng)一管理一組用于通信的消息緩沖存儲(chǔ)區(qū),每一個(gè)消息緩沖存儲(chǔ)區(qū)可存放一個(gè)消息(信件)。當(dāng)一個(gè)進(jìn)程要發(fā)送消息時(shí),先在自己的消息發(fā)送區(qū)里生成發(fā)送的消息,包括接收進(jìn)程名、消息長(zhǎng)度、消息正文等。然后向系統(tǒng)申請(qǐng)一個(gè)消息緩沖區(qū),把消息從發(fā)送區(qū)復(fù)制到消息緩沖區(qū)中,注意在復(fù)制過(guò)程中系統(tǒng)會(huì)將接近進(jìn)程名換成發(fā)送進(jìn)程名,以便接收者識(shí)別。隨后該消息緩沖區(qū)被掛到接收消息的進(jìn)程的消息隊(duì)列上,供接近者在需要時(shí)從消息隊(duì)列中摘下并復(fù)制到消息接近區(qū)去使用,同時(shí)釋放消息緩沖區(qū)。
發(fā)送原語(yǔ)和接收原語(yǔ)的實(shí)現(xiàn)如下
發(fā)送原語(yǔ)send申請(qǐng)一個(gè)消息緩沖區(qū),把發(fā)送區(qū)內(nèi)容復(fù)制到這個(gè)緩沖區(qū)中;找到接收進(jìn)程的PCB,執(zhí)行互斥操作P(mutex);把緩沖區(qū)掛到接收進(jìn)程消息隊(duì)列的尾部,執(zhí)行V(sm)、即消息數(shù)加1;執(zhí)行V(mutex)。
接收原語(yǔ)receive執(zhí)行V(sm)查看有否信件;執(zhí)行互斥操作P(mutex),從消息隊(duì)列中摘下第一個(gè)消息,執(zhí)行V(mutex);把消息緩沖區(qū)內(nèi)容復(fù)制到接收區(qū),釋放消息緩沖區(qū)。
(4)信件的格式問(wèn)題。單機(jī)系統(tǒng)中信件的格式可以分直接信件(又叫定長(zhǎng)格式)和間接信件(又叫變長(zhǎng)格式)。前者將消息放在信件中直接交給收信者,但信息量較小;后者信件中僅傳送消息的地址,一般說(shuō)信息量沒(méi)有限制。計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境下的信件格式較為復(fù)雜,通常分成消息頭和消息體,前者包括了發(fā)送者、接收者、消息長(zhǎng)度、消息類(lèi)型、發(fā)送時(shí)間等各種控制信息;后者包含了消息內(nèi)容。
(5)關(guān)于通信進(jìn)程并行性問(wèn)題。發(fā)送進(jìn)程發(fā)出一封信件后,它本身的執(zhí)行可以分兩種情況,一種是等待收到接收進(jìn)程回答消息后才繼續(xù)進(jìn)行下去;另一種是發(fā)出信件后不等回信立即執(zhí)行下去,直到某個(gè)時(shí)刻需要接收進(jìn)程送來(lái)的消息時(shí),才對(duì)回答信件進(jìn)行處理。顯然后一種情況并行性高些,但是,要求增加兩條原語(yǔ)。
Answer(P,result)向進(jìn)程P送回信
Wait(Q,result) 等待進(jìn)程Q的回信
于是,并行的通信進(jìn)程的程序應(yīng)如下編制
cobeginprocedure Pbegin...\send(Q,message);...\wait(Q,result);   ...\   end;  procedure Q   begin   ...\   receive(P,message);   ...\   answer(P,result);   ...\   end;<!-- SIPO <DP n="5"> --><dp n="d5"/>   coend;
本Java操作系統(tǒng)軟件已經(jīng)向中華人民共和國(guó)版權(quán)局申請(qǐng)計(jì)算機(jī)軟件著作權(quán)登記。
實(shí)施例
(1)關(guān)于消息緩沖區(qū)方式,一個(gè)簡(jiǎn)單的算法描述如下,其中,R()和W()是讓進(jìn)程入隊(duì)和出隊(duì)的兩個(gè)過(guò)程。
  Type letter:array[1..n]of message;//傳遞的消息   S1,S2:semaphore;//信號(hào)量  end  procedure send(var B:box,M:message)   var I:integer;   begin   letter[i]:=M;   B.coumt:=I;   R(B.S2)  end;{send}  procedure receive(var B:box,x:message)   var i:integer;   begin   if B.count=0 then W(B.S2)   else begin   x:=B.letter[i];   if B.count not=0   R(B.S1)   end;{receive}
(2)關(guān)于信箱通信方式的兩個(gè)原語(yǔ),一個(gè)簡(jiǎn)單的算法描述如下,其中,R()和W()是讓進(jìn)程入隊(duì)和出隊(duì)的兩個(gè)過(guò)程。
  Type box=record  size:integer; /*信箱大小  count:integer; /*現(xiàn)有信件數(shù)  letter:array[1..n]of message; /*信箱  S1,S2:semaphore; /*等信箱和等信件信號(hào)量<!-- SIPO <DP n="6"> --><dp n="d6"/>endprocedure send(varB:box,M:message)var I:integer;begin   if B.count=B.size then W(B.s1)   else begin   i:=B.count+1;   B.letter[i]:=M;   B.coumt:=I;   R(B.S2)  end;{send}procedure receive(varB:box,x:message)var i:integer;beginif B.count=0 then W(B.s2)else   B.count:=B.count-1;   x:=B.letter[1];   if B.count not=0 then for i=1 to b.count  do B.letter[i]:=B.letter[i+1];   R(B.S1)end;{receive}
權(quán)利要求
1、一種Java操作系統(tǒng)中使用消息傳遞實(shí)現(xiàn)進(jìn)程同步的實(shí)現(xiàn)方法,其特征在于
Java操作系統(tǒng)中消息傳遞機(jī)制提供兩條原語(yǔ)send和receive,前者向一個(gè)給定的目標(biāo)發(fā)送一個(gè)消息,后者則從一個(gè)給定的源接受一條消息。如果沒(méi)有消息可用,則接收者可能阻塞直到一條消息到達(dá),或者也可以立即返回,并帶回一個(gè)錯(cuò)誤碼;
進(jìn)程間用消息來(lái)交換信息。一個(gè)正在執(zhí)行的進(jìn)程可以在任何時(shí)刻向另一個(gè)正在執(zhí)行的進(jìn)程發(fā)送一個(gè)消息;一個(gè)正在執(zhí)行的進(jìn)程也可以在任何時(shí)刻向正在執(zhí)行的另一個(gè)進(jìn)程請(qǐng)求一個(gè)消息,如果一個(gè)進(jìn)程在某一時(shí)刻的執(zhí)行依賴(lài)于另一進(jìn)程的消息或等待它進(jìn)程對(duì)發(fā)出消息的回答,消息傳遞機(jī)制將緊密地與進(jìn)程的阻塞和釋放相聯(lián)系,消息傳遞就進(jìn)一步擴(kuò)充了并發(fā)進(jìn)程問(wèn)對(duì)數(shù)據(jù)的共享;
Java操作系統(tǒng)中用到的消息傳遞方式有直接通信,即消息緩沖區(qū)方式,發(fā)送或接收消息的每個(gè)進(jìn)程必須指出信件發(fā)給誰(shuí)或從誰(shuí)那里接收消息,可用send原語(yǔ)和receive原語(yǔ)為實(shí)現(xiàn)進(jìn)程之間的通信,這兩個(gè)原語(yǔ)定義如下
send消息把一個(gè)消息發(fā)送給進(jìn)程P;
receive消息從進(jìn)程Q接收一個(gè)消息;
這樣,進(jìn)程P和Q通過(guò)執(zhí)行這兩個(gè)操作而自動(dòng)建立了一種聯(lián)結(jié),并且這一種聯(lián)結(jié)僅僅發(fā)生在這一對(duì)進(jìn)程之間。
2、根據(jù)權(quán)利要求1所述的一種Java操作系統(tǒng)中使用消息傳遞實(shí)現(xiàn)進(jìn)程同步的實(shí)現(xiàn)方法,其特征在于采用間接通信方式時(shí),進(jìn)程間發(fā)送或接收消息通過(guò)一個(gè)信箱緩沖來(lái)進(jìn)行,消息可以被理解成信件,每個(gè)信箱有一個(gè)唯一的標(biāo)識(shí)符,當(dāng)兩個(gè)以上的進(jìn)程有一個(gè)共享的信箱時(shí),它們就能進(jìn)行通信,一個(gè)進(jìn)程也可以分別與多個(gè)進(jìn)程共享多個(gè)不同的信箱,這樣,一個(gè)進(jìn)程可以同時(shí)和多個(gè)進(jìn)程進(jìn)行通信,在間接通信方式“發(fā)送”和“接收”原語(yǔ)的形式如下
send信件把一封信件傳送到信箱A;
receive信件從信箱A接收一封信件;
信箱是存放信件的存儲(chǔ)區(qū)域,每個(gè)信箱可以分成信箱特征和信箱體兩部分。信箱特征指出信箱容量、信件格式、指針等;信箱體用來(lái)存放信件,信箱體分成若干個(gè)區(qū),每個(gè)區(qū)可容納一封信;
“發(fā)送”和“接收”兩條原語(yǔ)的功能為
發(fā)送信件--如果指定的信箱未滿(mǎn),則將信件送入信箱中由指針?biāo)甘镜奈恢茫⑨尫诺却撔畔渲行偶牡却?;否則發(fā)送信件者被置成等待信箱狀態(tài);
接收信件--如果指定信箱中有信,則取出一封信件,并釋放等待信箱的等待者,否則接收信件者被置成等待信箱中信件的狀態(tài)。
全文摘要
本發(fā)明公開(kāi)了一種在Java操作系統(tǒng)中使用消息傳遞實(shí)現(xiàn)進(jìn)程同步的實(shí)現(xiàn)方法。本發(fā)明的方法使Java操作系統(tǒng)中進(jìn)程間使用消息傳遞機(jī)制進(jìn)行通信和同步,利用消息緩沖區(qū)和信箱技術(shù)來(lái)實(shí)現(xiàn)了進(jìn)程的同步和互斥,提高了進(jìn)程間的信息傳遞效率。本發(fā)明實(shí)現(xiàn)了進(jìn)程間的消息傳遞,進(jìn)一步擴(kuò)充了并發(fā)進(jìn)程對(duì)數(shù)據(jù)的共享。
文檔編號(hào)G06F9/46GK1801102SQ200610049138
公開(kāi)日2006年7月12日 申請(qǐng)日期2006年1月17日 優(yōu)先權(quán)日2006年1月17日
發(fā)明者陳天洲, 戴鴻君, 黃彧 申請(qǐng)人:浙江大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
北碚区| 鄂尔多斯市| 安泽县| 邳州市| 河间市| 县级市| 嘉祥县| 洛扎县| 基隆市| 西乌珠穆沁旗| 昌都县| 贡嘎县| 长岛县| 罗源县| 汕尾市| 淮南市| 铜鼓县| 沙湾县| 册亨县| 当涂县| 巫溪县| 广昌县| 兴隆县| 大丰市| 南溪县| 搜索| 湘潭市| 漾濞| 泽库县| 武鸣县| 汶川县| 通江县| 朝阳市| 巴南区| 沁源县| 云浮市| 伊宁县| 乌拉特后旗| 沙田区| 天津市| 陈巴尔虎旗|