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

一種財(cái)政要素匹配的加速方法

文檔序號(hào):6606776閱讀:280來(lái)源:國(guó)知局
專利名稱:一種財(cái)政要素匹配的加速方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)處理方法,具體為一種財(cái)政要素匹配的加速方法。
背景技術(shù)
財(cái)政業(yè)務(wù)數(shù)據(jù)可以理解為一幅幅多維視圖。維(Dimension)是人們觀察數(shù)據(jù)的特定角度,是考慮問(wèn)題時(shí)的一類屬性,屬性集 合構(gòu)成一個(gè)維。在財(cái)政領(lǐng)域也稱為要素(單位維、科目維等)。維的層次(Level)人們觀察數(shù)據(jù)的某個(gè)特定角度(即某個(gè)維)還可以存在細(xì)節(jié) 程度不同的各個(gè)描述方面(預(yù)算單位部門、一級(jí)單位、二級(jí)單位、底級(jí)單位)。維的成員(Member)維的一個(gè)取值,是數(shù)據(jù)項(xiàng)在某維中位置的描述。(“某部門下 的某一級(jí)單位下的某底級(jí)單位”是在單位維上位置的描述)。度量(Measure)多維數(shù)組的取值。(一筆財(cái)政支出某某單位,行政支出,財(cái)政授 權(quán)支付,一般預(yù)算)。鉆取(Drill-up和Drill-down)是改變維的層次,變換分析的粒度。它包括向下 鉆取(Drill-down)和向上鉆取(Drill-up)/上卷(Roll-up)。Drill-up是在某一維上將 低層次的細(xì)節(jié)數(shù)據(jù)概括到高層次的匯總數(shù)據(jù),或者減少維數(shù);而Drill-down則相反,它從 匯總數(shù)據(jù)深入到細(xì)節(jié)數(shù)據(jù)進(jìn)行觀察或增加新維。在財(cái)政業(yè)務(wù)中,這種行為也稱為要素匹配。日常財(cái)政業(yè)務(wù)中,經(jīng)常對(duì)數(shù)據(jù)進(jìn)行向上鉆取,以取得高層次數(shù)據(jù)的度量(如錄入 單位用款計(jì)劃時(shí)需要通過(guò)所錄入的計(jì)劃匹配到對(duì)應(yīng)的單位可執(zhí)行指標(biāo))。同時(shí)由于財(cái)政業(yè) 務(wù)系統(tǒng)都是實(shí)時(shí)系統(tǒng),這對(duì)數(shù)據(jù)鉆取的性能有一定要求。傳統(tǒng)的技術(shù)實(shí)現(xiàn)方式有兩種在關(guān) 系數(shù)據(jù)庫(kù),進(jìn)行多字段復(fù)雜關(guān)聯(lián)查詢實(shí)現(xiàn),需關(guān)聯(lián)到多個(gè)維度的物理表。這樣的做法有以下 缺點(diǎn)>多表關(guān)聯(lián),性能上很難滿足實(shí)時(shí)系統(tǒng)的需要。>關(guān)聯(lián)字段多,數(shù)據(jù)庫(kù)索引的建立與維護(hù)不方便。針對(duì)以上缺點(diǎn),可以緩存數(shù)據(jù),在內(nèi)存中進(jìn)行運(yùn)算得出鉆取結(jié)果。這樣性能是會(huì)上 升,但也有以下問(wèn)題>容易造成內(nèi)存數(shù)據(jù)與數(shù)據(jù)庫(kù)數(shù)據(jù)不一致甚至出現(xiàn)錯(cuò)誤數(shù)據(jù),這對(duì)于財(cái)政的數(shù)據(jù) 高度一致性與正確性的要求不符。>財(cái)政數(shù)據(jù)量大,維度多,在內(nèi)存中緩存數(shù)據(jù)需要高昂的硬件設(shè)備,實(shí)施成本過(guò)
尚ο

發(fā)明內(nèi)容
本發(fā)明的目的是為了解決財(cái)政要素匹配的性能問(wèn)題,提供一種財(cái)政要素匹配的加 速方法,在加速要素匹配的同時(shí),保證數(shù)據(jù)實(shí)時(shí)性、一致性、正確性,并保證實(shí)施成本在一個(gè) 可接受的范圍之內(nèi)。本發(fā)明的技術(shù)方案如下一種財(cái)政要素匹配的加速方法,包括如下步驟
3
(1)根據(jù)多維賬戶結(jié)構(gòu)COA與各要素值拼湊長(zhǎng)字符串;(2)針對(duì)步驟(1)中得到的長(zhǎng)字符串,通過(guò)簡(jiǎn)單整型HASH算法計(jì)算簡(jiǎn)單的HASH值 作為要素配置的一個(gè)具體數(shù)據(jù)CCID,并同時(shí)通過(guò)MD5算法計(jì)算MD5值;(3)判斷是否有相同的CCID和MD5值已經(jīng)同時(shí)在緩存或數(shù)據(jù)庫(kù)中存在,如果有則 轉(zhuǎn)至步驟(8),否則;(4)將生成的CCID與原要素值一起插入數(shù)據(jù)庫(kù)表;(5)判斷是否有相同的CCID或者M(jìn)D5值已經(jīng)在數(shù)據(jù)庫(kù)中存在,如果沒(méi)有則轉(zhuǎn)至步 驟(8),否則;(6)判斷是否是CCID存在沖突,如果是,則將CCID值加1,轉(zhuǎn)至步驟(4),否則;(7)針對(duì)MD5值再進(jìn)行一次MD5運(yùn)算,得到新的MD5值,轉(zhuǎn)至步驟(5);(8)將生成的CCID返回給業(yè)務(wù)數(shù)據(jù)。進(jìn)一步,如上所述的財(cái)政要素匹配的加速方法,在步驟(1)中,將各要素值按照多 維賬戶結(jié)構(gòu)COA的固定順序依次合成一個(gè)字符串。進(jìn)一步,如上所述的財(cái)政要素匹配的加速方法,將步驟(2)中針對(duì)同一個(gè)長(zhǎng)字符 串得到的CCID和MD5值相關(guān)聯(lián),作為一個(gè)要素組合對(duì)象,在步驟(3)中進(jìn)行查找判斷。本發(fā)明的有益效果如下本發(fā)明將簡(jiǎn)單整型HASH算法和MD5算法相結(jié)合,使得到 的要素配置數(shù)據(jù)CCID既滿足主鍵足夠短,便于查詢索引的要求,又通過(guò)CCID與MD5兩個(gè)字 段關(guān)聯(lián)保證了 CCID記錄的唯一性。本發(fā)明與現(xiàn)有技術(shù)相比,不再需要組裝包含多個(gè)要素的 SQL進(jìn)行要素匹配,提高了匹配速度,支持大批量的記賬操作,很大的提高了數(shù)據(jù)的安全性。


圖1為本發(fā)明的方法流程圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明進(jìn)行詳細(xì)描述。 名詞定義COA 多維賬戶結(jié)構(gòu),描述了一個(gè)數(shù)據(jù)結(jié)構(gòu)。要素對(duì)一些相對(duì)固定的基礎(chǔ)數(shù)據(jù)的抽象。COA要素C0A與要素之間的關(guān)聯(lián),主要是描述要素在COA中的級(jí)次。CCID 要素配置實(shí)例,COA結(jié)構(gòu)的一個(gè)具體的數(shù)據(jù)。 名詞解釋COA是一種數(shù)據(jù)結(jié)構(gòu),它描述多種要素的組合及級(jí)次。在面向?qū)ο蟮慕嵌冉忉?,COA 是類,CCID是類實(shí)例。從生物學(xué)角度來(lái)講,可以將COA看作為染色體,將COA上的要素列表 看作為DNA序列,基礎(chǔ)要素就是人體中的各種氨基酸,CCID就是由DNA為模板生成出來(lái)的 蛋白質(zhì)。如一條支付明細(xì),按照用款申請(qǐng)COA去生成一個(gè)唯一標(biāo)識(shí)此明細(xì)的CCID。在配置時(shí),用戶可以進(jìn)行COA的增、刪、改、查操作,也由于COA的嚴(yán)謹(jǐn)性,也要對(duì)以 上操作進(jìn)行合法性檢查。在運(yùn)行時(shí),子系統(tǒng)根據(jù)COA指定結(jié)構(gòu)傳入相應(yīng)要素值集,在COA指定物理表生成
在國(guó)庫(kù)集中支付業(yè)務(wù)中,為了實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)要素集中存儲(chǔ),減少數(shù)據(jù)庫(kù)冗余,使用 C0A/CCID設(shè)計(jì)模式。COA是一種數(shù)據(jù)結(jié)構(gòu)描述如下所示
單位可執(zhí)行指標(biāo)COA 包括預(yù)算單位、功能分類、要素3、要素4.......那單位可執(zhí)行指標(biāo)COA所生成的CCID表示要素具體值的組合,數(shù)據(jù)庫(kù)表樣如下 由此可知,要素值的具體組合可以唯一確定一條記錄,也就是唯一確定一條CCID 記錄。生成過(guò)程需要根據(jù)COA的要素與要素的級(jí)次經(jīng)過(guò)一系列的數(shù)據(jù)合法性校驗(yàn)。最后判 斷CCID表里是否已生成同樣的記錄,涉及N個(gè)字段進(jìn)行過(guò)濾(N是COA所包含要素個(gè)數(shù))。 CCID表主鍵這種特殊生成規(guī)則,導(dǎo)致以下幾個(gè)問(wèn)題1.要過(guò)濾字段太多,索引建立困難,生成的各種財(cái)政業(yè)務(wù)數(shù)據(jù)性能低下。2.因?yàn)樾阅軉?wèn)題很難支持批量操作。3.容易出現(xiàn)CCID重復(fù)的情況,造成數(shù)據(jù)錯(cuò)誤。(因?yàn)楣潭ǖ囊亟M合在CCID表 只存在一條記錄)為了解決生成CCID的性能問(wèn)題與重復(fù)問(wèn)題,比較理想的做法是直接在內(nèi)存中就 計(jì)算出 CCID 的值,即 ccid = f(coa,el,e2,e3. ..),coa 代表某一結(jié)構(gòu),el、e2、e3...是要 素的具體值。插入數(shù)據(jù)庫(kù)時(shí)只要比較cc id的值即可,此時(shí)使用單一字段索引,效率提升比 較明顯。基于這個(gè)假設(shè),有如下要求不與數(shù)據(jù)庫(kù)交互就可確定ccid的值,且與數(shù)據(jù)庫(kù)已生成的值一致。對(duì)于ccid = f(coa,el, e2, e3...)這個(gè)函數(shù)而言,只要coa與各要素值確定,那 么CCid值唯一。CCid長(zhǎng)度足夠短,方便做索引。最簡(jiǎn)單的做法是要素按照固定順序合成一個(gè)長(zhǎng)字符串,ccid = coa. id+el.
id+e2. id+e3. id......,“ + ”號(hào)表示將兩者合并成一個(gè)字符串,例如‘a(chǎn)bc,+ ‘gfe,=
‘a(chǎn)bcgfe’。這樣可以確保ccid的唯一性,但這種做法得出的ccid長(zhǎng)度太大,無(wú)法保存,且 索引效率低下。為此要引入類似MD5這樣的壓縮算法,但普通HASH算法沖突概率較高,而 類似MD5這樣的算法壓縮出來(lái)的字符串太長(zhǎng)。為此,可以采用一種折中方案,就是簡(jiǎn)單整型HASH算法加上MD5,使用這種算法 基于一個(gè)基本假設(shè),兩種HASH算法不可能同時(shí)沖突,在實(shí)踐中普通HASH算法沖突概率是 0.3\10-5,而1 5算法沖突概率是1\10_28。生成CCID過(guò)程見(jiàn)附圖1。采用這種折中的二重 HASH算法好處是在普通的查詢應(yīng)用中,CCID表的主鍵足夠短,而且是整形HASH值,查詢索引效率比較高,MD 5運(yùn)算可以減少生成ID的沖突。而在生成該主鍵的時(shí)候也是通過(guò)CCID 與MD5兩個(gè)字段關(guān)聯(lián)就保證了 CCID表內(nèi)記錄的唯一性。下面以國(guó)庫(kù)集中支付計(jì)劃模塊的簡(jiǎn)要物理模型為例說(shuō)明HASH算法生成主鍵使用 場(chǎng)景。一個(gè)大概計(jì)劃明細(xì)如下表所示表1計(jì)劃明細(xì)表 引入CCID模式后,計(jì)劃明細(xì)表占用的存儲(chǔ)空間可以減少為原來(lái)的一半,隨著要素 的增加,減少比例會(huì)更大。雖然因此引入CCID表也占用大量存儲(chǔ)空間,但隨著CCID重用度 越高,所節(jié)省下來(lái)的空間會(huì)越多,因?yàn)楸WCCCID的唯一性、及生成CCID性能問(wèn)題,變成越來(lái) 越重要。以下兩表為計(jì)劃明細(xì)表的表2計(jì)劃明細(xì)表2 表3計(jì)劃明細(xì)表修改弓I入的計(jì)劃COA
6 表4計(jì)劃明細(xì)表修改引入的CCID表 在計(jì)劃數(shù)據(jù)插入CCID表前需要生成CCID,生成過(guò)程參考圖1,包括如下步驟(1)根據(jù)多維賬戶結(jié)構(gòu)COA與各要素值拼湊長(zhǎng)字符串;(2)針對(duì)步驟(1)中得到的長(zhǎng)字符串,通過(guò)簡(jiǎn)單整型HASH算法計(jì)算簡(jiǎn)單的HASH值 作為要素配置的一個(gè)具體數(shù)據(jù)CCID,并同時(shí)通過(guò)MD5算法計(jì)算MD5值;(3)判斷是否有相同的CCID和MD5值已經(jīng)同時(shí)在緩存或數(shù)據(jù)庫(kù)中存在,如果有則 轉(zhuǎn)至步驟(8),否則;(4)將生成的CCID與原要素值一起插入數(shù)據(jù)庫(kù)表;(5)判斷是否有相同的CCID或者M(jìn)D5值已經(jīng)在數(shù)據(jù)庫(kù)中存在,如果沒(méi)有則轉(zhuǎn)至步 驟(8),否則;(6)判斷是否是CCID存在沖突,如果是,則將CCID值加1,轉(zhuǎn)至步驟(4),否則;(7)針對(duì)MD5值再進(jìn)行一次MD5運(yùn)算,得到新的MD5值,轉(zhuǎn)至步驟(5);(8)將生成的CCID返回給業(yè)務(wù)數(shù)據(jù)。下面通過(guò)實(shí)例分析CCID批量生成和轉(zhuǎn)換過(guò)程。一、生成
1)首先由傳入的要素容器,生成對(duì)應(yīng)的要素組合對(duì)象(CodeCombination A,就是 一個(gè)接口,其中包含了 CCID,MD5等信息)。2)然后用此要素組合去查找已經(jīng)存在的、通過(guò)了校驗(yàn)的要素組合對(duì)象。此查找分為兩步首先去緩存中查找,如果沒(méi)找到再去數(shù)據(jù)庫(kù)中找(gl_ccidS)。如果找到了,直接返回。反則,繼續(xù)進(jìn)行第三步。3)用傳入的要素容器,通過(guò)基礎(chǔ)要素組件,獲取要素信息。并進(jìn)行COA要素的級(jí)次 校驗(yàn),級(jí)次校驗(yàn)主要是判斷要素容器內(nèi)容與COA要素的級(jí)次是否相等。然后計(jì)算CCID和MD5生成一個(gè)新的要素組合對(duì)象CodeCombinationB。4)比較要素組合對(duì)象A和B,進(jìn)行生成前后的校驗(yàn),CCID或MD5不同,拋出異常。反則,將要素組合B返回并緩存起來(lái)。生成新的要素組合對(duì)象B并與要素組合對(duì)象A進(jìn)行校驗(yàn)并不是本發(fā)明的必要技術(shù) 方案,此處進(jìn)行校驗(yàn)的主要目的是為了防止程序中出現(xiàn)錯(cuò)誤,導(dǎo)致整個(gè)方法出現(xiàn)問(wèn)題。二、轉(zhuǎn)換更多時(shí)候要進(jìn)行CCID的轉(zhuǎn)換,如計(jì)劃明細(xì)COA和計(jì)劃額度C0A、計(jì)劃額度COA和指 標(biāo)額度COA等直接的轉(zhuǎn)換。其實(shí)就是一個(gè)再生成的過(guò)程。用支付明細(xì)COA和計(jì)劃額度COA舉例說(shuō)明1)首先用傳入的支付明細(xì)ccid,組裝出相應(yīng)的要數(shù)組合對(duì)象A。2)用此要素組合對(duì)象和目標(biāo)COA計(jì)劃額度COA去查找已經(jīng)存在并通過(guò)校驗(yàn)的要素 組合對(duì)象。此查找分兩步首先去緩存中查找,如果沒(méi)找到再去數(shù)據(jù)庫(kù)中找(GL_CCID_ TRANS)。表結(jié)構(gòu)S_CCID VARCHAR2(38)not null,T_CCID VARCHAR2(38)not null,T_C0A_ID NUMBERLAST_VER VARCHAR2(30),SET_YEAR NUMBER(4)not null找到了直接返回,反則繼續(xù)進(jìn)行。3)用傳入的CCID要素信息,通過(guò)基礎(chǔ)要素組件,取得要素信息。基本回到了生 成時(shí)的邏輯。不同的是這里要根據(jù)目標(biāo)COA的級(jí)次進(jìn)行模糊匹配。只能往粗了匹配,找它 的父級(jí)。并進(jìn)行COA要素的級(jí)次校驗(yàn),然后計(jì)算CCID和MD5生成一個(gè)新的要素組合對(duì)象 CodeCombination B04)比較要素組合對(duì)象A和B,進(jìn)行生成前后的校驗(yàn),CCID或MD5不同,拋出異常。反則,將要素組合B返回并緩存起來(lái),同時(shí)寫(xiě)入轉(zhuǎn)換表gl_ccid_tranS。三、算法詳解COA中基礎(chǔ)要素模板,按ELE_C0DE排序后,在傳入基礎(chǔ)要素值集里遍歷取數(shù),如果 沒(méi)有傳入此要素的值,就去取此要素上配置的默認(rèn)值,如果仍為空,就補(bǔ)一個(gè)井號(hào)(#)。所以 這里對(duì)于任意級(jí)次要素,COA上配了沒(méi)給值和沒(méi)配是不同的。簡(jiǎn)易代碼示例如下
beHash = inputChrld ;codeComMsg. append (beHash);codeComMsg. append(C0DE_C0MBINATI0N_MSG_SEPERAT0R);String bhHashComStr = coaDto. getCoald () +C0DE_C0MBINATI0N_MSG_ SEPERATOR+codeComMsg. toStringO ;ccid =NumberUt i 1. toLong (Integer. toString(NumberUtil. tolnt (coaDto. getCoald()),9)+CCID_SEPERAT0R+Math. abs(beHsashComStr. hashCode()));Md5 = StringUtil. genMD5(beHsashComStr);沖突處理1)沖突表GL_CCID_C0NFLICTCCIDNUMBER not null,MD5VARCHAR2(32)not null,C0NFLICT_TYPE NUMBER(I)not null,0 md5 1 ccidFIXED_VALUE VARCHAR2(32)not null2)原理在按傳入要素生成CCID和MD5后先到?jīng)_突表中找已修復(fù)的沖突。如果生成的CCID 和MD5與沖突表中的都相同,就按沖突類型返回FIXED_VALUE。這些生成的CCID都先放入臨時(shí)表gl_ccid_cache,再由臨時(shí)表將不存在CCID和 MD5同時(shí)相同的數(shù)據(jù)批量插入到gl_ccidS中。這時(shí)捕獲異常,在異常中進(jìn)行分類處理。(在 CCID表上有ccid和md5的唯一索引)。如果為CCID沖突,在此CCID基礎(chǔ)上加1,(ccid = ccid+Ι).同時(shí)遍歷已知沖突, 如有沖突再加1,直到不再有沖突,并將此記錄在沖突表中。C0NFLICT_TYPE為1,F(xiàn)IXED, VALUE中就是最后修正后的CCID。如果為MD5沖突,在此MD5值的基礎(chǔ)上繼續(xù)取MD5。同理遍歷已知沖突。C0NFLICT_ TYPE為0,F(xiàn)IXED_VALUE中就是最后修正后的MD5。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其同等技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
一種財(cái)政要素匹配的加速方法,包括如下步驟(1)根據(jù)多維賬戶結(jié)構(gòu)COA與各要素值拼湊長(zhǎng)字符串;(2)針對(duì)步驟(1)中得到的長(zhǎng)字符串,通過(guò)簡(jiǎn)單整型HASH算法計(jì)算簡(jiǎn)單的HASH值作為要素配置的一個(gè)具體數(shù)據(jù)CCID,并同時(shí)通過(guò)MD5算法計(jì)算MD5值;(3)判斷是否有相同的CCID和MD5值已經(jīng)同時(shí)在緩存或數(shù)據(jù)庫(kù)中存在,如果有則轉(zhuǎn)至步驟(8),否則;(4)將生成的CCID與原要素值一起插入數(shù)據(jù)庫(kù)表;(5)判斷是否有相同的CCID或者M(jìn)D5值已經(jīng)在數(shù)據(jù)庫(kù)中存在,如果沒(méi)有則轉(zhuǎn)至步驟(8),否則;(6)判斷是否是CCID存在沖突,如果是,則將CCID值加1,轉(zhuǎn)至步驟(4),否則;(7)針對(duì)MD5值再進(jìn)行一次MD5運(yùn)算,得到新的MD5值,轉(zhuǎn)至步驟(5);(8)將生成的CCID返回給業(yè)務(wù)數(shù)據(jù)。
2.如權(quán)利要求1所述的財(cái)政要素匹配的加速方法,其特征在于在步驟(1)中,將各要 素值按照多維賬戶結(jié)構(gòu)COA的固定順序依次合成一個(gè)字符串。
3.如權(quán)利要求1所述的財(cái)政要素匹配的加速方法,其特征在于將步驟(2)中針對(duì)同 一個(gè)長(zhǎng)字符串得到的CCID和MD5值相關(guān)聯(lián),作為一個(gè)要素組合對(duì)象,在步驟(3)中進(jìn)行查 找判斷。
全文摘要
本發(fā)明涉及一種數(shù)據(jù)處理方法,具體為一種財(cái)政要素匹配的加速方法。該方法根據(jù)多維賬戶結(jié)構(gòu)COA與各要素值拼湊長(zhǎng)字符串,通過(guò)簡(jiǎn)單整型HASH算法計(jì)算簡(jiǎn)單的HASH值作為要素配置的一個(gè)具體數(shù)據(jù)CCID,并同時(shí)通過(guò)MD5算法計(jì)算MD5值,將簡(jiǎn)單整型HASH算法和MD5算法相結(jié)合,使得到的要素配置數(shù)據(jù)CCID既滿足主鍵足夠短,便于查詢索引的要求,又通過(guò)CCID與MD5兩個(gè)字段關(guān)聯(lián)保證了CCID記錄的唯一性。本發(fā)明與現(xiàn)有技術(shù)相比,不再需要組裝包含多個(gè)要素的SQL進(jìn)行要素匹配,提高了匹配速度,支持大批量的記賬操作,很大的提高了數(shù)據(jù)的安全性。
文檔編號(hào)G06F17/30GK101916262SQ20101023979
公開(kāi)日2010年12月15日 申請(qǐng)日期2010年7月29日 優(yōu)先權(quán)日2010年7月29日
發(fā)明者張奇, 方益, 曾紀(jì)才, 黃立峰 申請(qǐng)人:北京用友政務(wù)軟件有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
高尔夫| 兴城市| 睢宁县| 孙吴县| 喀喇| 大港区| 青海省| 察哈| 阿鲁科尔沁旗| 布拖县| 太仆寺旗| 临西县| 泰安市| 冀州市| 伊宁县| 德阳市| 保定市| 建瓯市| 葵青区| 岳池县| 灵石县| 云浮市| 海原县| 屯门区| 囊谦县| 鲜城| 富阳市| 永新县| 宿松县| 依安县| 旬阳县| 大姚县| 临沭县| 平阴县| 高碑店市| 铜陵市| 襄城县| 旅游| 临沧市| 武宣县| 江门市|