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

分布式大數(shù)據(jù)的ssd磁盤和hdd磁盤混合存儲方法

文檔序號:6625917閱讀:2522來源:國知局
分布式大數(shù)據(jù)的ssd磁盤和hdd磁盤混合存儲方法
【專利摘要】本發(fā)明公開了一種分布式大數(shù)據(jù)的SSD磁盤和HDD磁盤混合存儲方法,包括以下步驟:步驟(1)針對集群系統(tǒng)中各節(jié)點的分布式大數(shù)據(jù),構建JS-model存儲模型,該存儲模型包括一個Journal文件和多個segment文件;其中,Journal文件用于數(shù)據(jù)緩沖,對數(shù)據(jù)進行快速讀寫操作;segment文件用于數(shù)據(jù)持久化穩(wěn)定存儲,支持數(shù)據(jù)追加讀和數(shù)據(jù)隨機訪問;步驟(2)基于JS-model存儲模型構建SSD磁盤和HDD磁盤混合分布式存儲模型HDStore;步驟(3)利用HDStore管理journal文件和segment文件,優(yōu)化數(shù)據(jù)讀寫;步驟(4)下載并生成Lubm數(shù)據(jù)集,對該數(shù)據(jù)集進行預處理,為數(shù)據(jù)裝載入Bigdata系統(tǒng),測試裝載時間和查詢時間。本發(fā)明有效并且高效的管理語義大數(shù)據(jù)的混合分布式存儲方案,從而促進'了大規(guī)模數(shù)據(jù)存儲管理的進步與發(fā)展。)
【專利說明】分布式大數(shù)據(jù)的SSD磁盤和HDD磁盤混合存儲方法

【技術領域】
[0001] 本發(fā)明涉及數(shù)據(jù)存儲【技術領域】,具體來說,涉及語義大數(shù)據(jù)的混合分布式快速存 儲。

【背景技術】
[0002] 隨著現(xiàn)代Web技術的普及與發(fā)展,信息的快速增長使得人類進入了大數(shù)據(jù)時代, 這對傳統(tǒng)的數(shù)據(jù)管理方式提出了巨大挑戰(zhàn),以此同時,大數(shù)據(jù)技術逐漸興起。大數(shù)據(jù)技術由 各種技術共同構成,例如并行計算、分布式文件系統(tǒng)、分布式數(shù)據(jù)庫、可擴展存儲系統(tǒng)等等。 其中,關鍵技術之一是如何有效并且高效的存儲管理大數(shù)據(jù)。為了解決上述問題,數(shù)據(jù)在 存儲管理上,有以下幾種選擇,例如根據(jù)數(shù)據(jù)重要性進行分類,對數(shù)據(jù)處理過程進行合理安 排,或者利用分布式存儲技術來提高數(shù)據(jù)的讀寫速率等。
[0003] 當前計算機硬件發(fā)展迅速,然后HDD卻是個例外。經(jīng)過研究發(fā)現(xiàn),HDD磁盤的物理 結構限制了 I/O速率。由于磁盤的傳輸速度并沒有改變,根據(jù)木桶效應,這永遠是整個計算 機性能提升的一個瓶頸。機械硬盤的基本工作方式如下,當數(shù)據(jù)需要讀寫時,HDD將會得到 指令,之后一系列動作發(fā)生,例如磁盤轉(zhuǎn)動,磁頭移動等。由于機械運動,這將消耗幾毫秒時 間。避免磁盤結構的機械設計,采用新結構是提高磁盤讀寫性能的基本方式。如今,SSD作 為一種利用集成電路組件作為內(nèi)存的數(shù)據(jù)持久化存儲設備。相比于HDD來說,SSD具有顯 著的讀寫性能優(yōu)勢。SSD是由固態(tài)電子存儲芯片陣列構成,它在接口規(guī)范和定義、功能以及 使用方式上與HDD完全一樣。然后相比于HDD來說,SSD擁有更多的優(yōu)勢,例如I/O速度更 快、防震、低功耗、低噪音、輕量級等等。同時,SSD也有許多不足之處,SSD的容量有限,使用 壽命短,價格高。
[0004] 傳統(tǒng)的高性能數(shù)據(jù)庫系統(tǒng)主要基于HDD,不能夠高效的處理大數(shù)據(jù),其性能瓶頸主 要集中在I/O速率。針對以上問題,考慮到HDD和SSD各自特性,綜合利用兩種設備來構建 混合存儲將有效提高大數(shù)據(jù)存儲管理性能,這是一種大數(shù)據(jù)存儲技術上新的方案。這對分 布式大數(shù)據(jù)存儲管理性能具有重要影響,也有助于語義網(wǎng)相關大數(shù)據(jù)應用的推進。


【發(fā)明內(nèi)容】

[0005] 為了克服上述現(xiàn)有技術,本發(fā)明提出了一種分布式大數(shù)據(jù)的SSD磁盤和HDD磁盤 混合存儲方法,綜合利用HDD磁盤和SSD磁盤,通過JS-model模型來實現(xiàn)基于SSD/HDD的 混合存儲方案,在分布式環(huán)境下解決大數(shù)據(jù)存儲管理問題,最終達到大數(shù)據(jù)管理的有效性, 高效性,為大數(shù)據(jù)的存儲以及公開發(fā)布做準備。
[0006] 本發(fā)明的技術方案如下:
[0007] 本發(fā)明提出了一種分布式大數(shù)據(jù)的SSD磁盤和HDD磁盤混合存儲方法,具有中心 頻率和帶寬值可調(diào)的濾波電路,該方法包括以下步驟:
[0008] 步驟1、針對集群系統(tǒng)中各節(jié)點的分布式大數(shù)據(jù),構建JS-model存儲模型,該存儲 模型包括一個Journal文件和多個segment文件;其中,Journal文件用于數(shù)據(jù)緩沖,對數(shù) 據(jù)進行快速讀寫操作;segment文件用于數(shù)據(jù)持久化穩(wěn)定存儲,支持數(shù)據(jù)追加讀和數(shù)據(jù)隨 機訪問;
[0009] 步驟2、基于JS-model存儲模型構建SSD磁盤和HDD磁盤混合分布式存儲模型 HDStore ;
[0010] 步驟3、利用HDStore管理journal文件和segment文件,優(yōu)化數(shù)據(jù)讀寫;即:把數(shù) 據(jù)讀寫頻繁的journal文件放置在較小容量的SSD上,把數(shù)據(jù)隨機訪問的segment文件放 置在較大容量的HDD上;
[0011] 步驟4、下載并生成Lubm數(shù)據(jù)集,對該數(shù)據(jù)集進行預處理,為數(shù)據(jù)裝載入Bigdata 系統(tǒng),測試裝載時間和查詢時間。
[0012] 所述Journal文件為數(shù)據(jù)項i的有限集合,作為集群中每一個節(jié)點上的數(shù)據(jù)項i, 由原始數(shù)據(jù)記錄r和時間戳t共同構成。
[0013] 所述segment文件由Journal文件構建,構建流程具體包括以下步驟:
[0014] 在初始狀態(tài)下,集群中的每個節(jié)點僅有一個journal文件;隨著journal文件中數(shù) 據(jù)項的增加,journal文件容量達到上限,這樣通過從journal文件中轉(zhuǎn)移數(shù)據(jù)到segment 文件中,構建出一個新的segment文件。
[0015] 所述HDStore數(shù)據(jù)存儲模型的體系結構,從下層向上層包括:用于機器與機器之 間通訊的集群管理層、為單個節(jié)點的存儲介質(zhì)基于小容量的SSD磁盤和大容量的HDD磁盤、 用來管理磁盤設備的Linux操作系統(tǒng);通過不同的服務對數(shù)據(jù)進行存儲管理的Bigdata數(shù) 據(jù)庫;用于支持多種大數(shù)據(jù)語義的應用層。
[0016] 所述SSD磁盤和HDD磁盤混合分布式存儲模型HDStore在分布式環(huán)境下,還包括 以下三種配置 :
[0017] HDStore中journal文件和segment文件同時放置在HDD磁盤中;
[0018] HDStore中journal文件和segment文件同時放置在SSD磁盤中;
[0019] HDStore中journal文件放置在SSD磁盤中,segment文件放置在HDD磁盤中。
[0020] 與現(xiàn)有技術相比,本發(fā)明針對的是大規(guī)模數(shù)據(jù)的分布式混合存儲,最終提供一種 基于JS-model的HDStore混合分布式模型,來有效并且高效的管理語義大數(shù)據(jù)的混合分布 式存儲方案,從而促進了大規(guī)模數(shù)據(jù)存儲管理的進步與發(fā)展,有助于基于大數(shù)據(jù)的相關應 用的成熟。

【專利附圖】

【附圖說明】
[0021] 圖1是本發(fā)明中基于js-model存儲模型,在不同節(jié)點設備上的數(shù)據(jù)操作示意圖;
[0022] 圖2是HDStore存儲模型的體系結構圖;
[0023] 圖3是HDStroe存儲模型中DataServer服務中的文件系統(tǒng)操作示意圖;
[0024] 圖4是基于HDStroe存儲模型的大數(shù)據(jù)分布式混合存儲集群配置圖;
[0025] 圖5是本發(fā)明的整體流程示意圖。

【具體實施方式】
[0026] 下面結合附圖和【具體實施方式】對本發(fā)明進行詳細說明,但本發(fā)明的實施范圍并不 局限于此。
[0027] 本發(fā)明采用的【具體實施方式】包括以下流程:
[0028] 步驟1,研究現(xiàn)有的大數(shù)據(jù)存儲主要基于HDD,JS-model不同于傳統(tǒng)數(shù)據(jù)存儲方 式,存儲數(shù)據(jù)持久化到文件中,文件包括一個journal文件和多個segment文件;針對大規(guī) 模數(shù)據(jù),構建JS-model存儲模型:二元組、數(shù)據(jù)記錄、數(shù)據(jù)項、時間戳、JS集合的基本概念、 journal文件、segment文件,以及在其上的build、move、split、merge四種數(shù)據(jù)文件操作;
[0029] 步驟2,基于JS-model構建一種新的SSD/HDD混出分布式存儲方案,即HDStore ;
[0030] 步驟3,在不同磁盤上,利用HDStore來管理journal和segment文件,優(yōu)化數(shù)據(jù)讀 與;
[0031] 步驟4,編寫HDStore組件完善其功能,從而對不同journal和segment文件進行 管理;
[0032] 步驟5,為Bigdata系統(tǒng)添加靜態(tài)HDStore組件服務,從而對bigdata系統(tǒng)的數(shù)據(jù) 裝載性能進行優(yōu)化,把數(shù)據(jù)持久化存儲的journal和segment文件進行分離,以及部分數(shù)據(jù) 在SSD上的查詢性能的優(yōu)化;
[0033] 步驟6,下載并生成Lubm數(shù)據(jù)集,對該數(shù)據(jù)集進行簡單的預處理(例如數(shù)據(jù)標準格 式檢驗,大數(shù)據(jù)文件切分等),為數(shù)據(jù)裝載入Bigdata系統(tǒng)做準備;
[0034] 步驟7,設計并實現(xiàn)分布式環(huán)境下,HDStore方案中journal文件和segment文件 同時放置在HDD磁盤中,對于不同大小Lbum數(shù)據(jù)集裝載入Bigdata系統(tǒng),測試裝載時間和 查詢時間。
[0035] 步驟8,設計并實現(xiàn)分布式環(huán)境下,HDStore方案中journal文件和segment文件 同時放置在SSD中,對于不同大小Lbum數(shù)據(jù)集裝載入Bigdata系統(tǒng),測試裝載時間和查詢 時間。
[0036] 步驟9,設計并實現(xiàn)分布式環(huán)境下,HDStore方案中journal文件放置在SSD中, segment文件放置在HDD磁盤中,對于不同大小Lbum數(shù)據(jù)集裝載入Bigdata系統(tǒng),測試裝載 時間和查詢時間。
[0037] 上述的步驟1中,研究并抽象出大數(shù)據(jù)存儲模型,該模型基于數(shù)據(jù)持久化到 journal文件和segment文件中。其中,journal文件作為數(shù)據(jù)寫緩沖,存放半結構化可讀 可寫數(shù)據(jù),有且僅有一個,segment文件按照一定的索引方式持久化存儲數(shù)據(jù),根據(jù)數(shù)據(jù)大 小動態(tài)生成segment文件個數(shù)。
[0038] 本發(fā)明的步驟1具體過程如下:
[0039] 假設數(shù)據(jù)項i、數(shù)據(jù)索引I、二元組r和t,其中r是數(shù)據(jù)記錄,t是時間戳;
[0040] Journal文件J是數(shù)據(jù)項i的有限集合,在集群中的一個節(jié)點上,原始數(shù)據(jù)記錄和 時間戳,共同構成數(shù)據(jù)項,多個數(shù)據(jù)項存放在journal文件中。數(shù)據(jù)項是數(shù)據(jù)的基本單元, 追加到journal文件中。如公式(1)所示:
[0041] J= Ui = <r,t>},|J| 彡 N,其中 N 是正整數(shù)·(1)
[0042] Segment文件S是數(shù)據(jù)項I的無限集合,segment文件S使用B-tree結構組織數(shù) 據(jù)索引,B-tree的葉子節(jié)點由數(shù)據(jù)項I構成。值得注意的是,數(shù)據(jù)項在journal文件中是 無序的,在segment文件中是有序B-tree。如公式(2)所示:
[0043] S = {I|I = <R,T>}· (2)
[0044] JS集合是一個journal文件和多個segment文件的并,其中journal文件有且僅 有一個,一個journal作為緩沖對應多個segment文件,segment文件個數(shù)依賴于數(shù)據(jù)項個 數(shù)。如公式(3)所示:
[0045] JS = J U Si U,…,U Sn (3)
[0046] 以上定義了 JS-model,它是一種文件集合。為了描述數(shù)據(jù)存儲模型,還需要在 journal和segment文件上定義幾種操作:build操作是從一個journal文件開始創(chuàng)建一 個segment文件;split操作是從一個segment文件分裂成多個segment文件;move操作 是把一個segment文件從集群中一個機器節(jié)點移動到另外一個節(jié)點;merge操作是把多個 segment文件合并為一個緊湊的單獨segment文件。
[0047] 本發(fā)明的步驟2基于JS-model設計出新的數(shù)據(jù)存儲方案,即HDStore。其中, journal文件有且僅有一個,主要用作數(shù)據(jù)緩沖,對數(shù)據(jù)進行快速讀寫操作;segment文 件有多個,對數(shù)據(jù)進行持久化穩(wěn)定存儲,主要支持數(shù)據(jù)追加讀和數(shù)據(jù)隨機訪問。我們把 journal文件和segment文件根據(jù)功能不同進行分離,在步驟4)中把數(shù)據(jù)讀寫頻繁的 journal文件放置在較小容量的SSD上,把數(shù)據(jù)隨機訪問的segment文件放置在較大容量的 HDD上,保證數(shù)據(jù)加載存入的高效性和數(shù)據(jù)持久化存儲的有效性。
[0048] 本發(fā)明的步驟4和步驟5,在已有的開源系統(tǒng)Bigdata上,編寫實現(xiàn)HDStore大數(shù) 據(jù)分布式混合存儲組件,優(yōu)化Bigdata的數(shù)據(jù)裝載于查詢性能。步驟7對裝入數(shù)據(jù)進行預 處理,步驟7、8、9,針對不同磁盤的配置,分別應用JS-model存儲模型,在單獨的HDD使用 JS-model,在單獨的SSD使用JS-moedel,把journal文件放置在SSD上和把segment文件 放置在HDD上,三種不同方案下,得到HDStore同時運用HDD和SSD時,在分布式大數(shù)據(jù)存 儲管理上的高性價比。
[0049] 如圖1所示,基于JS-model存儲模型,在集群中不同節(jié)點之間,需要進行以下數(shù)據(jù) 操作:
[0050] l、build操作。build操作是從一個journal文件開始,倉ij建一個新的segment文 件。在初始狀態(tài)下,集群中的每個節(jié)點僅有一個journal文件,沒有segment文件。隨著 journal文件中數(shù)據(jù)項的增加,journal文件容量達到上限,這樣通過從journal文件中轉(zhuǎn) 移數(shù)據(jù)到segment文件中,一個新的segment文件也就構建。
[0051] 2、split操作。split操作是把一個舊的segment文件依據(jù)集群中節(jié)點個數(shù)切 分成多個segment文件。為了適應磁盤空間容量有限性,文件系統(tǒng)會限定文件大小,隨著 segment文件中數(shù)據(jù)索引項的增加,segment文件達到其容量限制,這樣,它會被自動切分 為多個segment文件,為下一步數(shù)據(jù)存儲做準備。
[0052] 3、move操作。move操作是把一個segment文件從集群中的一個節(jié)點移動到另外 一個節(jié)點上。為了適應分布式系統(tǒng)中的負載均衡,segment文件需要從存儲數(shù)據(jù)較多的節(jié) 點移動到存儲數(shù)據(jù)較少的節(jié)點,但是journal文件是本地的,不會被移動。
[0053] 4、merge操作。merge操作是把多個segment文件合并成一個新的緊湊的segment 文件。隨著數(shù)據(jù)加載過程的進行,會存在大量的小數(shù)據(jù)segment文件,考慮到數(shù)據(jù)的緊湊性 和空間的利用率,merge操作相當重要。
[0054] 如圖2所示,HDStore數(shù)據(jù)存儲模型的體系結構,從下向上主要包括五層,S卩:用 于機器與機器之間通訊的集群管理層、單個節(jié)點的存儲介質(zhì)基于小容量的SSD和大容量 的HDD、用來管理磁盤設備的Linux操作系統(tǒng);通過不同的服務對數(shù)據(jù)進行存儲管理的 Bigdata數(shù)據(jù)庫;上層的用于支持多種大數(shù)據(jù)語義的應用層。
[0055] 如圖3所示,HDStroe存儲模型在節(jié)點上運行不同服務來對數(shù)據(jù)進行管理。 DataServer服務負責構建數(shù)據(jù)索引,同時使用文件系統(tǒng)對數(shù)據(jù)進行持久化存儲。集群中的 每個節(jié)點上,會配置較小容量的SSD和較大容量的HDD,其中SSD用來對數(shù)據(jù)進行快速緩沖, HDD用來對大規(guī)模數(shù)據(jù)進行持久化存儲。
[0056] 在HDStroe存儲模型中,DataServer服務把源數(shù)據(jù)構建成多種不同的索引,以便 在journal文件和segment文件中存放數(shù)據(jù)記錄,一個journal文件對應多個segment文 件。Journal文件被用作數(shù)據(jù)緩沖,它可以寫一次讀多次,其中所有的歷史記錄狀態(tài)都可被 訪問。Journal文件使用數(shù)據(jù)記錄r和時間戳t來維護數(shù)據(jù)引用,僅用作數(shù)據(jù)加載和臨時 存儲。但是,journal文件又不同于內(nèi)存中的緩存,journal文件在磁盤上對數(shù)據(jù)進行文件 持久化存儲。數(shù)據(jù)項i在journal文件中無序存放,邏輯追加到journal文件中。Journal 文件支持溢出概念,當它達到了閾值范圍,溢出被觸犯,一個segment文件將被激活。在溢 出過程中,journal文件中的數(shù)據(jù)項i移動到segment文件當中,segment文件中的數(shù)據(jù)項 R被修改。在一個DataServer上一個journal文件對應一個索引文件。
[0057] segment文件對數(shù)據(jù)進行持久化存儲,它依賴于B-tree來提供從keys到value 的持久化映射?;跀?shù)據(jù)記錄R的標示符,B-tree被用于對象存儲。每個DataServer上 的journal文件對應零個或者多個segment文件,不同節(jié)點上的DataServer共享同一個 metadata。
[0058] 開始時,每個節(jié)點有且僅有一個journal文件,沒有segment文件?;贖DStroe 存儲模式,在集群中隨機選取一個節(jié)點,開始數(shù)據(jù)加載過程。隨著數(shù)據(jù)加載過程的進行,一 旦被選的journal文件達到最大容量式,build操作開始進行。當segment文件達到最大 容量,舊的segment文件會自動切分成多個小的segment文件,第一次切分的segment文件 個數(shù)依據(jù)集群中節(jié)點個數(shù),之后會一直切分為兩個segment文件。下一步,每個segment文 件會移動到集群中每個節(jié)點上,這樣每個節(jié)點上各自都擁有一個segment文件。然后,數(shù)據(jù) 加載在集群中并行執(zhí)行。
[0059] 之后,隨著數(shù)據(jù)加載,一旦segment文件達到最大容量,它將自動一分為二。如果 segment小文件個數(shù)較多,merge操作會周期性發(fā)生。為了均衡集群中不同節(jié)點的性能, segment文件可以在集群中不同節(jié)點之間move。
[0060] 以上步驟的具體算法實現(xiàn)如下:
[0061]
[0062]

【權利要求】
1. 一種分布式大數(shù)據(jù)的SSD磁盤和HDD磁盤混合存儲方法,其特征在于,該方法包括以 下步驟: 步驟(1)、針對集群系統(tǒng)中各節(jié)點的分布式大數(shù)據(jù),構建JS-model存儲模型,該存儲模 型包括一個Journal文件和多個segment文件;其中,Journal文件用于數(shù)據(jù)緩沖,對數(shù)據(jù) 進行快速讀寫操作;segment文件用于數(shù)據(jù)持久化穩(wěn)定存儲,支持數(shù)據(jù)追加讀和數(shù)據(jù)隨機 訪問; 步驟(2)、基于JS-model存儲模型構建SSD磁盤和HDD磁盤混合分布式存儲模型 HDStore ; 步驟(3)、利用HDStore管理journal文件和segment文件,優(yōu)化數(shù)據(jù)讀寫;即:把數(shù)據(jù) 讀寫頻繁的journal文件放置在較小容量的SSD上,把數(shù)據(jù)隨機訪問的segment文件放置 在較大容量的HDD上; 步驟(4)、下載并生成Lubm數(shù)據(jù)集,對該數(shù)據(jù)集進行預處理,為數(shù)據(jù)裝載入Bigdata系 統(tǒng),測試裝載時間和查詢時間。
2. 如權利要求1所述的分布式大數(shù)據(jù)的SSD磁盤和HDD磁盤混合存儲方法,其特征在 于,所述Journal文件為數(shù)據(jù)項i的有限集合,作為集群中每一個節(jié)點上的數(shù)據(jù)項i,由原始 數(shù)據(jù)記錄r和時間戳t共同構成。
3. 如權利要求1所述的分布式大數(shù)據(jù)的SSD磁盤和HDD磁盤混合存儲方法,其特征在 于,所述segment文件由Journal文件構建,構建流程具體包括以下步驟: 在初始狀態(tài)下,集群中的每個節(jié)點僅有一個journal文件;隨著journal文件中數(shù)據(jù)項 的增加,journal文件容量達到上限,這樣通過從journal文件中轉(zhuǎn)移數(shù)據(jù)到segment文件 中,構建出一個新的segment文件。
4. 如權利要求1所述的分布式大數(shù)據(jù)的SSD磁盤和HDD磁盤混合存儲方法,其特征于, 所述HDStore數(shù)據(jù)存儲模型的體系結構,從下層向上層包括:用于機器與機器之間通訊的 集群管理層、為單個節(jié)點的存儲介質(zhì)基于小容量的SSD磁盤和大容量的HDD磁盤、用來管理 磁盤設備的Linux操作系統(tǒng);通過不同的服務對數(shù)據(jù)進行存儲管理的Bigdata數(shù)據(jù)庫;用 于支持多種大數(shù)據(jù)語義的應用層。
5. 如權利要求1所述的分布式大數(shù)據(jù)的SSD磁盤和HDD磁盤混合存儲方法,其特征于, 所述SSD磁盤和HDD磁盤混合分布式存儲模型HDStore在分布式環(huán)境下,還包括以下三種 配置: HDStore中journal文件和segment文件同時放置在HDD磁盤中; HDStore中journal文件和segment文件同時放置在SSD磁盤中; HDStore中journal文件放置在SSD磁盤中,segment文件放置在HDD磁盤中。
【文檔編號】G06F17/30GK104216988SQ201410448162
【公開日】2014年12月17日 申請日期:2014年9月4日 優(yōu)先權日:2014年9月4日
【發(fā)明者】馮志杰, 馮志勇, 王鑫, 饒國政 申請人:天津大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
京山县| 湾仔区| 社旗县| 蒙山县| 邢台市| 汕头市| 平陆县| 襄樊市| 贵南县| 安仁县| 穆棱市| 贺兰县| 孝义市| 浦江县| 内乡县| 乌拉特前旗| 彭州市| 临朐县| 高淳县| 巴林左旗| 泽州县| 萨迦县| 林口县| 安阳市| 从江县| 厦门市| 华坪县| 舞阳县| 中卫市| 西畴县| 吉林省| 靖江市| 西青区| 昆山市| 宁河县| 全南县| 宝兴县| 宣城市| 乌恰县| 蛟河市| 包头市|