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

一種在Flash文件系統(tǒng)中加快邏輯塊映射速度的方法

文檔序號(hào):6452060閱讀:214來源:國知局
專利名稱:一種在Flash文件系統(tǒng)中加快邏輯塊映射速度的方法
技術(shù)領(lǐng)域
本發(fā)明涉及Flash文件系統(tǒng)的一種數(shù)據(jù)管理技術(shù),更確切地說是涉及一種在Flash文件系統(tǒng)中加快邏輯塊映射速度的方法,用于解決在Flash文件系統(tǒng)中查找邏輯塊對應(yīng)的數(shù)據(jù)塊、以便進(jìn)行數(shù)據(jù)塊的快速定位。
背景技術(shù)
文件管理系統(tǒng)為了方便對存儲(chǔ)硬件進(jìn)行管理,通常將管理對象劃分為若干個(gè)邏輯塊(扇區(qū)),以邏輯塊為最小單位進(jìn)行所有的操作,和要求存儲(chǔ)硬件的接口驅(qū)動(dòng)程序提供邏輯塊讀、寫函數(shù)。
快閃存儲(chǔ)(Flash)器件是一種非易失性器件,被寫入的內(nèi)容可以在斷電的情況下長時(shí)間保存。但是,F(xiàn)lash的存儲(chǔ)單元只能夠進(jìn)行一次寫操作,如果想在其上同一位置再次寫入新的內(nèi)容,就必須先進(jìn)行擦除操作。擦除操作是以擦除塊為單位進(jìn)行的,一般來說擦除塊的單位比較大,為了改寫一個(gè)邏輯塊而擦除該邏輯塊所在的整個(gè)擦除塊顯然是不現(xiàn)實(shí)的。
目前,F(xiàn)lash文件管理系統(tǒng)將擦除塊進(jìn)一步劃分為若干個(gè)與邏輯塊大小相同的數(shù)據(jù)塊,采用動(dòng)態(tài)改變邏輯塊與數(shù)據(jù)塊映射關(guān)系的方式實(shí)現(xiàn)邏輯塊的改寫操作。其具體過程是當(dāng)需要改寫某一個(gè)邏輯塊時(shí),先為這個(gè)邏輯塊分配一個(gè)沒有進(jìn)行過寫入操作的數(shù)據(jù)塊,在該新的數(shù)據(jù)塊中寫入改寫數(shù)據(jù),同時(shí)更改邏輯塊與新的數(shù)據(jù)塊間的映射關(guān)系,并將舊數(shù)據(jù)塊的狀態(tài)項(xiàng)標(biāo)記為無效,此后會(huì)在適當(dāng)時(shí)候,對標(biāo)記為無效的數(shù)據(jù)塊進(jìn)行統(tǒng)一的回收(擦除)操作,使這些數(shù)據(jù)塊重新可用。
為了保證邏輯塊與數(shù)據(jù)塊的映射關(guān)系在掉電時(shí)也不丟失,通常將映射關(guān)系記錄在Flash中;同樣為了便于數(shù)據(jù)塊的分配、回收操作,還將映射關(guān)系分散記錄在整個(gè)Flash區(qū)域中,即為每一個(gè)數(shù)據(jù)塊分配一個(gè)額外的區(qū)域-數(shù)據(jù)塊標(biāo)志區(qū)(也可稱作數(shù)據(jù)塊狀態(tài)表項(xiàng)區(qū),或映射表),用于記錄與它對應(yīng)的邏輯塊索引值。
Flash文件系統(tǒng)為了得到與某個(gè)邏輯塊對應(yīng)的數(shù)據(jù)塊位置,必須采用一定的操作流程先得到它們間的映射關(guān)系。目前的Flash文件管理系統(tǒng)是采用順序查詢的方式進(jìn)行查找的。即每次讀寫一個(gè)邏輯塊時(shí),都需要從Flash存儲(chǔ)空間的首地址或者上次查找結(jié)果處開始掃描整個(gè)Flash器件的數(shù)據(jù)塊標(biāo)志(狀態(tài)表項(xiàng))。要查找的邏輯塊索引值是已知的,通過不斷地比較數(shù)據(jù)塊狀態(tài)表項(xiàng)中的邏輯塊索引值與要查找的邏輯塊索引值,直到查找到與這個(gè)要查找的邏輯塊索引值映射的數(shù)據(jù)塊為止。
參見圖1,圖中說明了Flash文件系統(tǒng)邏輯塊與數(shù)據(jù)塊的映射關(guān)系及其查找過程。圖中空心箭頭10上方所示為寫邏輯塊n前的數(shù)據(jù)塊與邏輯塊的映射關(guān)系,空心箭頭10下方所示為寫邏輯塊n后的數(shù)據(jù)塊與邏輯塊的映射關(guān)系。數(shù)據(jù)塊m標(biāo)志、…、數(shù)據(jù)塊i標(biāo)志、數(shù)據(jù)塊j標(biāo)志、…、數(shù)據(jù)塊i標(biāo)志,是在Flash中為相應(yīng)數(shù)據(jù)塊分配的額外區(qū)域-數(shù)據(jù)塊標(biāo)志區(qū)(狀態(tài)表項(xiàng)區(qū)),即與邏輯塊的映射表,用于記錄與數(shù)據(jù)塊對應(yīng)的邏輯塊索引值,數(shù)據(jù)塊標(biāo)志區(qū)中記錄本數(shù)據(jù)塊的狀態(tài),包括空白、舊數(shù)據(jù)、新數(shù)據(jù)(也可如圖中所示稱作有效數(shù)據(jù))等。如在改寫邏輯塊n前,數(shù)據(jù)塊m標(biāo)志記錄了邏輯塊n索引值,箭頭11所指是經(jīng)掃描數(shù)據(jù)塊標(biāo)志區(qū),找到與數(shù)據(jù)塊m映射的邏輯塊n。改寫邏輯塊n時(shí),由于數(shù)據(jù)塊i標(biāo)志是空白狀態(tài),將修改數(shù)據(jù)寫入數(shù)據(jù)塊i的數(shù)據(jù)區(qū),同時(shí)在數(shù)據(jù)塊i標(biāo)志區(qū)記錄邏輯塊n索引值和新數(shù)據(jù)的標(biāo)志,箭頭12所指是經(jīng)掃描數(shù)據(jù)塊標(biāo)志區(qū),找到與數(shù)據(jù)塊i映射的邏輯塊n。當(dāng)然還需將數(shù)據(jù)塊m標(biāo)志為無效(圖中未示出)。
由上述過程可知,由于每次對邏輯塊的操作都需要進(jìn)行數(shù)據(jù)塊與邏輯塊間索引值的查找操作,因此平均查找時(shí)間很長。尤其是當(dāng)映射關(guān)系不存在時(shí)(即這個(gè)邏輯塊從沒有寫入過值,沒有任何數(shù)據(jù)塊與這個(gè)邏輯塊對應(yīng)),需要查找整個(gè)Flash空間才能返回結(jié)果,造成了操作時(shí)延和CPU資源的浪費(fèi),特別是在實(shí)時(shí)操作系統(tǒng)中,由于CPU還要執(zhí)行其它更重要的任務(wù),因此這種浪費(fèi)就更不能容忍了。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種在Flash文件系統(tǒng)中加快邏輯塊映射速度的方法,通過采用一種新的數(shù)據(jù)塊與邏輯塊間映射關(guān)系的查詢方法,從而提高查找數(shù)據(jù)塊的速度。
實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案是這樣的一種在Flash文件系統(tǒng)中加快邏輯塊映射速度的方法,在Flash存儲(chǔ)器件中,將一邏輯塊與一數(shù)據(jù)塊的映射信息保存在該數(shù)據(jù)塊的狀態(tài)表項(xiàng)區(qū)中,將與該數(shù)據(jù)塊映射的邏輯塊的內(nèi)容保存在該數(shù)據(jù)塊的數(shù)據(jù)區(qū)中,其特征在于還包括A.建立一個(gè)反向映射表,在反向映射表中為每個(gè)邏輯塊分配一個(gè)對應(yīng)表項(xiàng);B.在系統(tǒng)初始化過程中,讀取全部數(shù)據(jù)塊的狀態(tài)表項(xiàng)區(qū),將各數(shù)據(jù)塊狀態(tài)表項(xiàng)區(qū)中記錄的邏輯塊與數(shù)據(jù)塊的映射信息,按邏輯塊號(hào)與反向映射表表項(xiàng)間的一一對應(yīng)關(guān)系重建到反向映射表各表項(xiàng)中;C.在讀取某邏輯塊時(shí),以其邏輯塊號(hào)作為表項(xiàng)索引查找反向映射表,定位到與該邏輯塊號(hào)對應(yīng)的表項(xiàng),根據(jù)該表項(xiàng)中記錄的與數(shù)據(jù)塊的映射信息,在Flash存儲(chǔ)器件中查找到數(shù)據(jù)塊;D.在寫入某邏輯塊時(shí),將更新數(shù)據(jù)寫入一新數(shù)據(jù)塊的空白數(shù)據(jù)區(qū)中和將該新數(shù)據(jù)塊與該邏輯塊間的映射信息寫入該新數(shù)據(jù)塊的狀態(tài)表項(xiàng)區(qū)中,同時(shí)在反向映射表該邏輯塊的表項(xiàng)中記錄該邏輯塊與新數(shù)據(jù)塊的映射信息,在與該邏輯塊有映射關(guān)系的原數(shù)據(jù)塊狀態(tài)表項(xiàng)區(qū)中將原數(shù)據(jù)塊的狀態(tài)置為舊數(shù)據(jù)。
所述反向映射表的各表項(xiàng)是根據(jù)邏輯塊索引值進(jìn)行排列的。
所述的反向映射表是建立在Flash文件系統(tǒng)的內(nèi)存中。
現(xiàn)有技術(shù)中,已經(jīng)將數(shù)據(jù)塊與邏輯塊的映射信息保存在Flash中,而且分散記錄在每個(gè)數(shù)據(jù)塊的狀態(tài)表項(xiàng)區(qū)(或稱標(biāo)志區(qū)域或映射表,用于記錄數(shù)據(jù)區(qū)的數(shù)據(jù)狀態(tài)和數(shù)據(jù)塊與邏輯塊的映射信息)中,當(dāng)邏輯塊與數(shù)據(jù)塊間的映射關(guān)系發(fā)生了變化時(shí),將在新數(shù)據(jù)塊的狀態(tài)表項(xiàng)區(qū)記載其與邏輯塊間的新的映射關(guān)系。本發(fā)明方法通過在內(nèi)存中建立一個(gè)反向映射表(因?yàn)槭菑倪壿媺K查找數(shù)據(jù)塊,相對于現(xiàn)有技術(shù)的從數(shù)據(jù)塊查找邏輯塊的順序是反向的,故稱作反向映射),是根據(jù)數(shù)據(jù)塊狀態(tài)表項(xiàng)中記錄的邏輯塊索引值(數(shù)據(jù)塊與邏輯塊的映射關(guān)系)建立起反向映射表的相應(yīng)表項(xiàng),且該反向映射表與數(shù)據(jù)塊的狀態(tài)表項(xiàng)同步更新,因而反向映射表中記錄了數(shù)據(jù)塊的定位信息,并且反向映射表使用邏輯塊號(hào)作為索引值,即作為查詢反向映射表的關(guān)鍵值。讀邏輯塊時(shí),先在反向索引表中找到與邏輯塊號(hào)相對應(yīng)的表項(xiàng),根據(jù)表項(xiàng)中記載的數(shù)據(jù)塊定位信息可找到數(shù)據(jù)塊。
本發(fā)明可在保證映射信息斷電不丟失的前提下,提高查找數(shù)據(jù)塊的速度。
本發(fā)明方法實(shí)現(xiàn)簡單,可有效提高查找數(shù)據(jù)塊的速度,從而提高CPU的使用效率。


圖1是現(xiàn)有技術(shù)中Flash文件系統(tǒng)邏輯塊與數(shù)據(jù)塊映射關(guān)系及查找過程示意圖;圖2是采用反向映射表時(shí),查找邏輯塊的過程示意圖。
具體實(shí)施例方式
本發(fā)明方法,通過在內(nèi)存中增加一個(gè)反向映射表,可以在Flash文件系統(tǒng)中加快邏輯塊映射速度,從而改進(jìn)系統(tǒng)的性能。在這種方式下,反向映射表中為每個(gè)邏輯塊分配了一個(gè)表項(xiàng),并使用邏輯塊號(hào)進(jìn)行索引。
參見圖2,圖中描述了本發(fā)明采用反向映射表的工作原理。圖中空心箭頭20上方所示是改寫邏輯塊n前的數(shù)據(jù)塊、邏輯塊與反向映射表中表項(xiàng)的映射關(guān)系及查找邏輯塊n的過程,空心箭頭20下方所示為改寫邏輯塊n后的數(shù)據(jù)塊、邏輯塊與反向映射表中表項(xiàng)的映射關(guān)系及查找邏輯塊n的過程。空心箭頭20表示改寫邏輯塊n時(shí),需要同時(shí)更新Flash中的映射關(guān)系(數(shù)據(jù)塊標(biāo)志區(qū)或數(shù)據(jù)塊狀態(tài)表項(xiàng)區(qū)或映射表)和反向映射表中的映射關(guān)系。
反向映射表的初始建立過程發(fā)生在每次系統(tǒng)啟動(dòng)時(shí),系統(tǒng)掃描整個(gè)Flash器件,根據(jù)數(shù)據(jù)塊狀態(tài)表項(xiàng)區(qū)中記錄的邏輯塊索引值建立反向映射表中的相應(yīng)表項(xiàng)。反向映射表中為每個(gè)邏輯塊邏輯塊0,…,邏輯塊n分配了一個(gè)表項(xiàng)表項(xiàng)0,…,表項(xiàng)n,即邏輯塊與反向映射表的表項(xiàng)成一一對應(yīng)關(guān)系,因此反向映射表可使用邏輯塊號(hào)進(jìn)行索引。
反向映射表建立以后,在系統(tǒng)軟件運(yùn)行過程中,每次查找某個(gè)邏輯塊索引對應(yīng)的數(shù)據(jù)塊時(shí),可以簡單地在反向映射表中進(jìn)行查找,由于反向映射表已經(jīng)根據(jù)邏輯塊索引值進(jìn)行了排列,因此查找過程的定位是非??斓?。當(dāng)發(fā)生了邏輯塊寫操作和回收操作,邏輯塊與數(shù)據(jù)塊的對應(yīng)關(guān)系發(fā)生變化后,不但要在Flash存儲(chǔ)器件的數(shù)據(jù)塊狀態(tài)表項(xiàng)中記錄新的映射關(guān)系(如現(xiàn)有技術(shù)那樣),而且也要同時(shí)修改反向映射表中的相應(yīng)表項(xiàng),保持映射關(guān)系為最新。
如圖中所示,例如Flash存儲(chǔ)器件為數(shù)據(jù)塊5分配了狀態(tài)表項(xiàng)區(qū)和數(shù)據(jù)區(qū),數(shù)據(jù)塊5已經(jīng)與邏輯塊n關(guān)聯(lián),用虛線21表示(根據(jù)現(xiàn)有技術(shù)中已經(jīng)使用的映射關(guān)系),數(shù)據(jù)塊5的數(shù)據(jù)區(qū)中記錄著邏輯塊n的內(nèi)容,其狀態(tài)表項(xiàng)中記錄著邏輯塊n的索引值,可以不使用反向映射表,通過掃描整個(gè)Flash存儲(chǔ)器件的數(shù)據(jù)塊標(biāo)志,直到找到與數(shù)據(jù)塊5映射的邏輯塊(如現(xiàn)有技術(shù)那樣)。
當(dāng)根據(jù)本發(fā)明方法使用反向映射表時(shí),如前所述是在系統(tǒng)初始化過程中,讀取所有數(shù)據(jù)塊對應(yīng)的狀態(tài)表項(xiàng),使用數(shù)據(jù)塊定位信息(指物理位置信息)和數(shù)據(jù)塊狀態(tài)表項(xiàng)中的邏輯塊索引值重建位于內(nèi)存中的反向映射表,則反向映射表中的表項(xiàng)n對應(yīng)了數(shù)據(jù)塊5。
當(dāng)讀取邏輯塊n時(shí),首先查找反向映射表,定位到表項(xiàng)n,如圖中實(shí)線22所示,根據(jù)表項(xiàng)n中記錄的數(shù)據(jù)塊定位信息,在Flash存儲(chǔ)器件中查找到數(shù)據(jù)塊5,如圖中實(shí)線23所示,就可返回?cái)?shù)據(jù)塊5數(shù)據(jù)區(qū)中的內(nèi)容。
寫入邏輯塊n時(shí),首先獲得一個(gè)新的可用數(shù)據(jù)塊,因數(shù)據(jù)塊3的狀態(tài)指示是空白,故將數(shù)據(jù)塊3作為新的可用的數(shù)據(jù)塊,將要更新的數(shù)據(jù)先寫入數(shù)據(jù)塊3的數(shù)據(jù)區(qū),在數(shù)據(jù)塊3的狀態(tài)表項(xiàng)中寫入邏輯塊n的索引,并且使數(shù)據(jù)塊5的狀態(tài)標(biāo)志為無效數(shù)據(jù)(舊數(shù)據(jù))。此時(shí)在Flash存儲(chǔ)器件狀態(tài)表項(xiàng)區(qū)保存的映射關(guān)系中,邏輯塊n已經(jīng)和數(shù)據(jù)塊3相對應(yīng)了,如圖中虛線26所示。同時(shí),需要在反向映射表中更新表項(xiàng)n,即在表項(xiàng)n中記錄數(shù)據(jù)塊3的定位信息,至此,寫入邏輯塊n的過程完成,邏輯塊n映射到數(shù)據(jù)塊3,而數(shù)據(jù)塊5被丟棄。此后若要讀取邏輯塊n,首先查找反向映射表,定位到表項(xiàng)n,如圖中實(shí)線27所示,根據(jù)表項(xiàng)n中記錄的數(shù)據(jù)塊定位信息,在Flash存儲(chǔ)器件中查找到數(shù)據(jù)塊3,如圖中實(shí)線28所示,就可返回?cái)?shù)據(jù)塊3數(shù)據(jù)區(qū)中的內(nèi)容。
圖中實(shí)線24、25分別是在讀取邏輯塊0、邏輯塊2時(shí),通過查找反向映射表,定位到表項(xiàng)0、表項(xiàng)2,再根據(jù)表項(xiàng)0、表項(xiàng)2中記錄的數(shù)據(jù)塊定位信息,在Flash存儲(chǔ)器件中查找到數(shù)據(jù)塊1、數(shù)據(jù)塊n。
需要說明的是虛線21、26所指是不使用反向映射表時(shí),通過掃描數(shù)據(jù)塊找到與數(shù)據(jù)塊映射的邏輯塊,采用本發(fā)明方法進(jìn)行查找時(shí),其映射關(guān)系存在但不使用。
本發(fā)明的在Flash文件系統(tǒng)中加快邏輯塊映射速度的方法,通過在內(nèi)存中建立邏輯塊與數(shù)據(jù)塊索引關(guān)系的反向映射表,并使用邏輯塊號(hào)作為查詢反向映射表中表項(xiàng)的索引值;隨著系統(tǒng)軟件的運(yùn)行,當(dāng)邏輯塊與數(shù)據(jù)塊間的對應(yīng)關(guān)系發(fā)生變化時(shí),不僅要在Flash存儲(chǔ)器件的數(shù)據(jù)塊狀態(tài)表項(xiàng)中記錄新的數(shù)據(jù)塊與邏輯塊間的映射關(guān)系,而且還要同時(shí)修改記錄在反向映射表相應(yīng)表項(xiàng)中的邏輯塊與新數(shù)據(jù)塊間的映射關(guān)系。由于反向映射表是根據(jù)邏輯塊索引值進(jìn)行排列的,因而利用其定位數(shù)據(jù)塊的查找過程是非??斓?,因而解決了在Flash文件系統(tǒng)中,查找與邏輯塊對應(yīng)的數(shù)據(jù)塊時(shí)的快速定位問題。
權(quán)利要求
1.一種在Flash文件系統(tǒng)中加快邏輯塊映射速度的方法,在Flash存儲(chǔ)器件中,將一邏輯塊與一數(shù)據(jù)塊的映射信息保存在該數(shù)據(jù)塊的狀態(tài)表項(xiàng)區(qū)中,將與該數(shù)據(jù)塊映射的邏輯塊的內(nèi)容保存在該數(shù)據(jù)塊的數(shù)據(jù)區(qū)中,其特征在于還包括A.建立一個(gè)反向映射表,在反向映射表中為每個(gè)邏輯塊分配一個(gè)對應(yīng)表項(xiàng);B.在系統(tǒng)初始化過程中,讀取全部數(shù)據(jù)塊的狀態(tài)表項(xiàng)區(qū),將各數(shù)據(jù)塊狀態(tài)表項(xiàng)區(qū)中記錄的邏輯塊與數(shù)據(jù)塊的映射信息,按邏輯塊號(hào)與反向映射表表項(xiàng)間的一一對應(yīng)關(guān)系重建到反向映射表各表項(xiàng)中;C.在讀取某邏輯塊時(shí),以其邏輯塊號(hào)作為表項(xiàng)索引查找反向映射表,定位到與該邏輯塊號(hào)對應(yīng)的表項(xiàng),根據(jù)該表項(xiàng)中記錄的與數(shù)據(jù)塊的映射信息,在Flash存儲(chǔ)器件中查找到數(shù)據(jù)塊;D.在寫入某邏輯塊時(shí),將更新數(shù)據(jù)寫入一新數(shù)據(jù)塊的空白數(shù)據(jù)區(qū)中和將該新數(shù)據(jù)塊與該邏輯塊間的映射信息寫入該新數(shù)據(jù)塊的狀態(tài)表項(xiàng)區(qū)中,同時(shí)在反向映射表該邏輯塊的表項(xiàng)中記錄該邏輯塊與新數(shù)據(jù)塊的映射信息,在與該邏輯塊有映射關(guān)系的原數(shù)據(jù)塊狀態(tài)表項(xiàng)區(qū)中將原數(shù)據(jù)塊的狀態(tài)置為舊數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的一種在Flash文件系統(tǒng)中加快邏輯塊映射速度的方法,其特征在于所述反向映射表的各表項(xiàng)是根據(jù)邏輯塊索引值進(jìn)行排列的。
3.根據(jù)權(quán)利要求1所述的一種在Flash文件系統(tǒng)中加快邏輯塊映射速度的方法,其特征在于所述的反向映射表是建立在Flash文件系統(tǒng)的內(nèi)存中。
全文摘要
本發(fā)明涉及一種在Flash文件系統(tǒng)中加快邏輯塊映射速度的方法,可提高查找數(shù)據(jù)塊的速度。數(shù)據(jù)塊的狀態(tài)表項(xiàng)區(qū)中保存邏輯塊與數(shù)據(jù)塊的映射信息,數(shù)據(jù)塊的數(shù)據(jù)區(qū)中保存與其映射的邏輯塊的內(nèi)容。包括建立一個(gè)由表項(xiàng)組成的反向映射表,一個(gè)表項(xiàng)對應(yīng)一個(gè)邏輯塊;在系統(tǒng)初始化過程中,將數(shù)據(jù)塊狀態(tài)表項(xiàng)區(qū)中記錄的映射信息,按邏輯塊號(hào)與表項(xiàng)間的對應(yīng)關(guān)系讀取到各表項(xiàng)中;讀取某邏輯塊時(shí),以其邏輯塊號(hào)作為表項(xiàng)索引查找反向映射表,定位到表項(xiàng),根據(jù)表項(xiàng)中記錄的映射信息,在Flash存儲(chǔ)器件中查找到數(shù)據(jù)塊;寫入某邏輯塊時(shí),將更新數(shù)據(jù)寫入一新數(shù)據(jù)塊的空白數(shù)據(jù)區(qū)中和將該邏輯塊與新數(shù)據(jù)塊間的映射信息寫入狀態(tài)表項(xiàng)區(qū)中,同時(shí)更新反向映射表相應(yīng)表項(xiàng)的映射信息。
文檔編號(hào)G06F12/08GK1542624SQ03123050
公開日2004年11月3日 申請日期2003年4月29日 優(yōu)先權(quán)日2003年4月29日
發(fā)明者黃曉光 申請人:大唐移動(dòng)通信設(shè)備有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
东乌珠穆沁旗| 霍林郭勒市| 团风县| 镇康县| 竹北市| 南召县| 包头市| 城口县| 龙井市| 库车县| 格尔木市| 遂溪县| 龙川县| 中山市| 潼关县| 集安市| 文山县| 汉源县| 长宁县| 阿坝县| 白玉县| 静安区| 临夏市| 北流市| 吉水县| 鄂伦春自治旗| 大渡口区| 新巴尔虎左旗| 宜州市| 吐鲁番市| 宁都县| 铜川市| 衡水市| 福州市| 宜都市| 洛阳市| 温泉县| 娄底市| 黔江区| 迭部县| 台中市|