999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于表分區和內存數據庫的族譜生成系統優化

2017-03-02 08:20:19徐明民彭中華王黎維
計算機與數字工程 2017年2期
關鍵詞:數據庫系統

徐明民 彭中華 王黎維

(1.武漢大學計算機學院 武漢 430072)(2.武漢大學國際軟件學院 武漢 430072)

基于表分區和內存數據庫的族譜生成系統優化

徐明民1彭中華2王黎維2

(1.武漢大學計算機學院 武漢 430072)(2.武漢大學國際軟件學院 武漢 430072)

論文為現有的族譜系統數據存儲提出一種優化的存儲方案——基于表分區的存儲方案。分析現有的族譜系統在數據存儲方案上的不足,參考PostgreSQL的表分區技術,使用表分區方案來對族譜人物及關系數據重新建模和存儲,提高了對族譜數據的管理和操作效率;基于現有族譜生成系統在族譜生成過程中對數據處理的特點,引入內存數據庫技術,采用內存數據庫SQLite在數據處理過程中存儲數據,提高了對數據的處理效率。實驗部分測試了使用表分區和內存數據庫技術的可行性和性能影響,實驗結果表明,使用表分區方案和內存數據庫技術方案可以支持族譜數據的存儲和族譜生成過程中內存數據的處理需求,并且在一定程度上優化族譜生成系統的性能。

族譜; PostgreSQL; 表分區; 內存數據庫; SQLite

Class Number TP311

1 引言

族譜又稱為家譜、宗譜,是一種記錄家族世代繁衍和重要人物事跡的圖文體裁。族譜文獻對于我們了解人文歷史有很大的幫助,并且在政治經濟學、地理學、群體遺傳學等方面都有著潛在的研究價值[1]。傳統的中式族譜通常以紙質、布質等形式的譜書為承載形式,各族、各家擁有自己獨立的譜書。這些譜書在存在形式上相互獨立,但是在內容上卻有很強的相關性。傳統的譜書式族譜在信息交互和共享方面存在著先天不足,且實體的譜書不便于后續的修改(續修)以及保存。因此,近年來族譜數字化受到了社會的廣泛關注。數字化族譜系統除了能提供給用戶錄入族譜信息、利用族譜信息的功能之外,還需要兼顧中式族譜的特殊需求。家族在編修族譜時,通常都需要以采集好的族譜數據為基礎,通過編輯、排版形成內容豐富、圖文并茂、樣式美觀的譜書,然后將其印刷成冊并分發給族人。目前,國內外在數字化族譜系統方面已有一些研究和開發工作。著名的族譜網站FamilySearch[2]中,用戶可以方便地創建和管理個性化族譜空間,但沒有提供族譜數據紙質化輸出功能。文獻[3~4]都實現了基于單機形式的族譜錄入軟件:將族譜的制作工作分割成多個任務,由多位制作人員分別完成這些任務并以文件存儲任務中輸入的族譜數據,最后將多個數據文件合并、編輯形成最終的族譜。但是這種數據管理方式不利于信息的共享,而且多個數據文件之間存在較多冗余以及沖突,無法自動完成數據文件合并。為了加快族譜數字化進程,結合實際的應用需求,本文實現了一個基于B/S架構的族譜信息系統[5~6]。該系統提供了族譜數據錄入、查詢服務以及族譜紙質化輸出等功能,但隨著錄入族譜的人物數據量的急速增長,數據庫表內的人物和人物關系條數會急速增長,在目前族譜系統人物數據和人物關系數據單表的存儲方案下,查詢服務效率會急劇下降,對族譜數據的管理很不方便且可維護性很差;在面對大數據量族譜的生成時,目前內存數據的存儲方式對數據的操作效率影響很大,同時也易造成系統的不穩定,導致系統長時間無響應甚至“假死”。結合族譜信息系統中的實際需求,本文對該系統的族譜數據存儲方案進行了改進,采用表分區技術,提升了對族譜數據的操作和管理效率,同時在族譜的生成過程中,采用內存數據庫SQLite,提高了對族譜數據操作的效率,從而提升族譜生成系統的效率和穩定性。

2 相關工作

傳統族譜信息系統采用的是單機管理不易于擴展功能,其中的數據分散且有大量冗余,而且傳統族譜信息系統面向的是族譜制作用戶,無法利用其中的族譜數據向公眾用戶提供服務。為了更好地收集和利用族譜數據,本文設計并開發了一款族譜信息系統,整個系統如圖1所示[5]。族譜信息系統分為族譜信息錄入系統、族譜生成系統以及姓氏網站展示系統三個子系統,族譜系統的主要功能包括數據錄入、數據服務和數據輸出。族譜信息錄入系統是基于B/S架構的,該系統可以支持多用戶并行地錄入同一族譜中的數據,并統一對族譜數據進行管理,同時通過本系統還可向公眾用戶提供對已錄入族譜數據的檢索。族譜信息錄入系統提供數據錄入的功能,錄入功能主要包括三部分:世系數據錄入、文檔數據錄入、多媒體數據錄入。姓氏網站展示系統提供數據服務的功能,主要包括數據展示、統計檢索、一鍵尋祖和一鍵尋親。族譜生成系統則為用戶提供數據輸出的功能,主要包括族譜編排和族譜生成。族譜編排功能是通過用戶的個性化需求對譜書的樣式、數據出現的順序、詞語的表達方式等進行設置;而族譜生成功能主要是在族譜編排過后,按照用戶的個性化需求從原始族譜數據中轉換生成電子版的譜書以供印刷。

族譜生成系統是整個族譜系統的關鍵所在,生成系統生成族譜的大體流程如圖2所示,主要涉及到數據獲取、數據處理、數據填充和生成族譜四個階段。數據獲取是指從族譜數據庫中取出對應要生成的族譜所有數據信息的過程,數據信息主要包括族譜全局數據、人物數據和人物關系數據;數據處理即是對取出的族譜數據進行規范化以及按照用戶的設置進行再處理轉化的過程;數據填充即是用經過處理加工后的數據與用戶選擇的版式進行結合,填充對應的版式;生成族譜環節包括先將處理后的數據信息和HTML格式的族譜模板組合生成一頁頁HTML格式的族譜,在此過程中同時還包括生成人物的頁碼信息,對應更新族譜數據庫人物信息表的人物頁碼字段,然后替換HTML格式族譜中對應的人物頁碼字段等。最終由HTML格式的族譜生成PDF格式的族譜。

在多次生成族譜的過程中發現,在數據獲取階段,獲取的數據信息中主要包括人物信息和人物關系信息,分別對應存儲在數據庫的人物表和人物關系表中,并且每次都只會獲取與該族譜有關的所有數據。在數據獲取的過程中,人物表和人物關系表的信息都是基于選擇的族譜ID(Gid)來進行過濾,從而取出所有關聯的人物數據和人物關系數據。隨著族譜系統錄入的族譜數量越來越多,人物表和人物關系表的數據條目也急劇增加,而每次需要獲取的數據相對于整張表而言,相對很少;以單表的形式來存儲,不僅影響操作的效率,而且不方便進行管理。在數據處理和數據填充以及族譜生成階段,由于存取到的表數據需要常駐內存,在此基礎上還需要對數據進行查詢和運算,目前的系統采用DataSet的存儲方式,以DataTable來存儲表數據的信息,當需要計算的人物數據和關系數據量較大時,極易造成系統無響應或者程序中斷的不穩定情形出現。

綜上所述,原來的數據存儲方案有如下缺陷:隨著錄入的數據越來越多,人物表和人物關系表的數據條目會急劇增長,單表存儲的數據管理方式顯然是不合適的;盡管在原來關系表的對應字段上建有索引,在數據量增大后索引的性能也會極大下降;隨著族譜系統的推廣使用,生成系統對族譜數據的并行操作是很常見的情形,目前單表的存儲方式很影響系統的性能。在數據處理和數據填充階段,以Dataset方式來存儲數據,處理的過程中效率較低;在族譜生成階段還涉及對族譜數據庫中人物頁碼字段的更新,此時網絡狀況很可能成為瓶頸因素;在內存中處理大量數據時,由于沒有一些對應的數據保護機制,很難保證數據的完整性和系統的穩定性。

圖1 族譜系統介紹

圖2 族譜生成子系統流程示意圖

3 表分區和內存數據庫技術優化方案

根據上述分析,本文提出存儲優化方案——表分區方案以及內存數據庫技術方案。總體來看,使用表分區技術優化存儲有以下優勢:分區后,獲取族譜數據的查詢性能可以得到一定提升;通過將不同分區存儲在不同的磁盤,使多用戶并行獲取不同分區的族譜數據時,可以有效地分散I/O;分區后,可以將全局索引替換為分區索引,分區表的數據量遠遠小于原來的表,索引能更有效地發揮性能;同時對族譜數據的管理也更有效地進行,批量刪除族譜數據可以通過簡單的刪除某個分區來實現。使用內存數據庫技術對于族譜生成有以下優勢:利用內存數據庫SQLite替換原來的DataSet的存儲形式,可以有效地提高數據處理的效率;使用內存數據庫來存儲族譜的數據信息后,在族譜完全生成完成之前,生成系統只需和本地的SQLite進行交互,不再需要和遠程族譜數據庫通信,因此有效地減小了網絡因素的影響;內存數據庫利用數據庫的事務管理等機制可以保證族譜數據的完整性和安全性,從而有效地提高生成系統的穩定性。

3.1 表分區方案

數據庫分區是一種物理數據庫設計技術,分區就是把邏輯上的一個大表分割成物理上的幾個塊。雖然分區技術可以實現很多效果,但其主要目的是為了在特定的SQL操作中減少數據讀寫的總量以縮減查詢時間。分區主要有兩種形式:水平分區和垂直分區。水平分區是對表的行記錄進行分區,通過這樣的方式不同分組里的物理列分割的數據集得以組合,從而進行個體分割(單分區)或集體分割(一個或多個分區);垂直分區一般來說是通過對表的垂直劃分來減少目標表的寬度,使某些特定的列被劃分到特定的分區,每個分區都包含了其中的列所對應的行,所有在表中定義的列在每個數據集中都能找到,所以表的特性依然得以保持。分區不僅能帶來訪問速度的提升,關鍵的是還它能帶來管理和維護上的方便。PostgreSQL數據庫支持基本的表分區功能,在PostgreSQL中表分區是通過表的繼承來實現的,目前PostgreSQL的表分區方案有:范圍分區和列表分區。范圍分區是指表被一個或者多個鍵字字段分區成“范圍”,在這些范圍之間沒有重疊的數值分布到不同的分區里。列表分區則是指表是通過明確地列出每個分區里應該出現那些鍵字值實現的。

目前的族譜數據庫中的數據表主要有族譜表、人物表以及人物關系表。族譜表主要包含每個族譜的描述信息,人物表記錄了錄入系統錄入的所有人物描述信息,人物關系表記錄了人物表中所有的人物之間的關系信息。隨著人物數據信息不斷地錄入,人物表和關系表的記錄條數會急劇增長;并且隨著族譜系統的進一步推廣和使用,極易出現對族譜數據庫數據的并行操作,引成的I/O集中會引起系統的性能變慢。

因此考慮采用表分區方案對族譜系統數據庫中關鍵的數據表——人物表和人物關系表,進行分區處理。利用PostgreSQL數據庫的分區技術并參考族譜系統對數據存儲和操作的方式,利用族譜ID(Gid)對人物表和人物關系表進行范圍分區。以人物表為例,首先創建對應范圍的分區表,設定一定的ID范圍對分區進行控制,然后創建觸發器函數,這樣數據導入時則會按照設定的分區范圍,相對均勻地分布在多個分區。在族譜生成過程中需要獲取對應族譜的所有數據時,則不再需要在一張千萬級的數據表中進行檢索,而是按照規則去對應的分區中進行檢索,提高了查詢效率;同時原來數據表的索引可以分散到各個分區,由于每個分區的記錄數遠遠小于原來的表,分區上的索引可以更好地實現加快查詢的效果;隨著族譜數據的錄入和族譜的生成完成,需要對某個族譜段的族譜數據進行刪除時,可以通過簡單地刪除某一個或者幾個分區來進行,方便了對族譜數據的管理;并且可以考慮將多個分區分別放置在不同的物理磁盤上,這樣在處理對族譜數據的并行操作時,I/O可以被有效地分散,提高了生成系統的響應時間和系統的穩定性。

3.2 內存數據庫技術

內存數據庫拋棄了傳統的磁盤數據管理方式,基于全部數據都在內存中重新設計體系結構,并且在數據緩存、快速算法、并行操作方面都進行了相應的改進,所以數據處理速度比傳統數據庫的數據處理方式要快很多。內存數據庫和傳統數據庫的區別在于傳統的數據庫系統是關系型數據庫,開發這種數據庫的目的是處理永久、穩定的數據;關系數據庫強調維護數據的完整性、一致性,但很難顧及有關數據及其處理的實時要求。對內存數據庫而言,將整個數據庫或其主要的“工作”部分放入內存,使每個事務在執行過程中沒有I/O,則為系統較準確估算和安排事務的運行時間,使之具有較好的實時處理能力。常見的內存數據庫有:SQLite、FastDB、Memcached和Redis等,結合在族譜生成過程中對數據處理的特點,最終選用了SQLite數據庫,因為SQLite作為一款開源的內存數據庫軟件,相比其他內存數據庫,不受許可證費用約束,在便攜性、 易用性、 緊湊性、 高效性和可靠性方面都有突出的表現,更加輕量級,同時不僅支持對數據的查詢,也支持對數據的更新等操作,很好地滿足了族譜生成過程中對數據處理的需求。

在族譜系統中,如圖2中所示,將該族譜的數據從服務器數據庫獲取到本機后,需要經過數據處理、數據填充以及族譜生成這幾個階段后才能完成族譜PDF的最終生成。在這幾個處理階段中,族譜數據尤其是人物數據和人物關系表數據都會以DataTable的形式常駐在內存中,當該族譜涉及到的人物數據和人物關系數據較大時,內存中的數據集也會很大,并且在此過程中涉及到對該數據集的查詢和更新操作,采用DataTable的形式進行存儲,處理效率較低,同時很難保證系統的穩定性。因此考慮采用內存數據庫技術對該內存數據集進行優化存儲?;谧遄V生成系統的數據操作特點,采用SQLite來存儲生成過程中需要處理的內存數據集。

圖3所示為使用內存數據庫SQLite后生成系統進行數據處理的過程。需要計算的內存數據集會存儲在SQLite中,從而程序只需與本地的SQLite交互,生成族譜PDF中的人物頁碼信息也直接存儲在SQLite中,而不需要與遠程的族譜服務器進行通信。圖4所示為生成系統程序中具體對SQLite調用的過程。首先需要打開和連接本地的SQLite數據庫,將從族譜服務器獲取到的數據寫入到SQLite中進行初始化。在后續的數據處理、數據填充以及族譜生成階段,需要做查詢和操作時,都直接通過SQL語句與SQLite進行交互,獲取到相應的數據集后進行操作;在數據操作的過程中,也會涉及對數據庫的清理,同時會涉及到對族譜數據進行備份等處理操作,最后在族譜生成工作完成后,關閉SQLite數據庫。利用SQLite的優化存儲,在提高了生成系統效率的同時,更好地保證了內存數據集的完整性和安全性,有效地提高了生成系統的穩定性。

圖3 使用SQLite的族譜生成系統

圖4 調用數據庫SQLite的主要流程

4 實驗

實驗部分別對文中提出的基于表分區和使用內存數據庫SQLite的方案進行功能測試和性能測試,并對測試結果進行分析和總結。

4.1 實驗環境與測試數據

測試選用的系統環境是一臺處理器為Intel Core i3-M3702.40GHz,2.0G內存的PC機,操作系統選用Windows7的32位版本。測試使用未使用表分區方案和內存數據庫SQLite的族譜生成系統和最新版本的族譜生成系統。

測試數據集選取如下:數據集分別為DS1~DS5五個族譜,族譜的ID以及族譜的人物節點數和族譜的人物關系記錄依次如表1中所示。

表1 測試數據集

4.2 實驗結果與分析

1) 功能測試

功能測試主要測試基于表分區的方案能否滿足系統對族譜數據庫數據的操作,其中包括族譜數據的存儲、查詢、插入和刪除;以及測試基于內存數據庫技術的存儲方案能否滿足族譜成功生成的功能。

針對以上需要測試的功能,以人物表t_individual為例,設計幾個測試用例如下:

(1)SELECTgid,fullname From t_individual ;

(2)INSERT INTO t_individual( gid, fullname ) VALUES (1 ,’張三’);

(3)UPDATE t_individual SET fullname = ’李四’ WHERE gid=1 AND fullname = ’張三’;

(4)DELETE FROM t_individual WHERE gid =1 AND fullname = ’李四’;

上述幾個測試用例涉及到了人物表分區后的查詢、插入、更新以及刪除操作。測試用例的運行正確表明了表分區方案用于族譜系統數據庫的可行性;分別使用原來的系統和使用SQLite后的生成系統,生成相同的族譜PDF進行對比,發現內容一致,也證明了內存數據庫SQLite用于族譜系統的可行性。

2) 性能測試

圖5所示為表分區方案前后對人物信息表進行查詢時,數據集里對應族譜數據檢索所消耗的時間對比。實驗結果表明:進行表分區后,對數據的檢索效率得到一定提升。并且在數據庫整體的數據集越大時,表分區的優勢會更明顯。圖6所示為使用內存數據庫SQLite前后,對應不同大小的族譜數據集,利用生成系統生成族譜時消耗的時間對比。

綜上,對于族譜數據查詢和族譜生成的性能測試,充分說明了使用表分區方案可以在一定程度上優化族譜數據的查詢性能,并且方便了對族譜數據的管理;通過使用內存數據庫技術,有效地提升了生成系統的效率。

圖5 表分區前后查詢效率對比

圖6 使用內存數據庫SQLite前后的效率對比

5 結語

在目前的族譜生成系統中,在族譜數據庫里人物數據和人物關系數據分別利用一張關系表來存儲,隨著族譜數據在錄入系統的不斷錄入,人物表和人物關系表的記錄條數會急劇增長,對族譜信息的獲取相對耗時,且存在多用戶并發操作族譜數據庫數據的情形,因此對人物表和關系表采用表分區機制,提高數據的獲取效率,同時增加了對族譜數據管理的方便性和可維護性;從數據庫取出數據后,在族譜生成階段對族譜數據需要進行不同的操作,但數據都需常駐內存,并且生成系統還需要和族譜數據庫進行交互,當族譜的數據量很大時,易造成程序的不穩定;在和數據庫交互時,網絡狀況對系統的影響很大,因此采用內存數據庫SQLite來存儲對應數據。

采用表分區方案及內存數據庫技術方案:參考族譜系統應用場景的具體情況,考慮對人物表和人物關系表進行表分區,可以將不同的分區存儲到不同的磁盤,在分區的基礎上再建立索引,在提升對數據獲取效率的同時也方便了對族譜數據的管理;在將族譜數據取出后在內存中對其進行處理時,采用內存數據庫SQLite對其進行存儲,不僅減小了族譜生成過程中的網絡因素影響,同時有效地提升了生成系統的性能和穩定性。

[1] 張卓.開發利用族譜檔案的意義[J].云南檔案,2006(3):32-33. ZHANG Zhuo. Meaningof develop and exploit pedigree archives[J]. YunnanArchives,2006(3):32-33.

[2] FamilySeareh[EB/OL]. http://www.familysearch.org.

[3] 啟航宗譜[EB/OL]. http://www.qhzprj.com.

[4] 中根網[EB/OL]. http://www.zongen.com.

[5] 張文杰,彭智勇,彭煜煒.內存數據管理技術在族譜信息系統中的應用[J].華東師范大學學報:自然科學版,2014(5):311-319. ZHANG Wenjie, PENG Zhiyong, PENG Yuwei. Application ofin-memory data management technologyin genealogy information system[J]. Journal of East China Normal University:Nature Science Edition, 2014(5):311-319.

[6] 姜洋,彭智勇,彭煜煒.基于圖數據庫的在線族譜編錄系統[J].計算機應用,2015,35(1):125-130. JIANG Yang, PENG Zhiyong, PENG Yuwei. Online pedigree editing system based on graph database[J]. Journal of Computer Applications,2015,35(1):125-130.

[7] 彭智勇,彭煜瑋.PostgreSQL數據庫內核分析[M].北京:機械工業出版社,2012. PENG Zhiyong, PENG Yuwei. PostgreSQL Database Kernel Analysis[M]. Beijing: China Machine Press,2012.

[8] PL/pgSQL[EB/OL]. http//www.Postgresql.org/docs/8.3/static/plpgsql.Html

[9] G Eadon,EI Chong,S Shankar et al.Supporting table partitioning by reference in oracle[C]//Acm Sigmod International Conference on Managementof Data,2008:1111-1122.

[10] 李亞龍,朱巖.表分區在分界開關監控系統數據庫的應用[J].計算機系統應用,2016(2):235-238. LI Yalong, ZHU Yan. Application of Table Partition in Boundary Load Switch Monitoring System Database[J]. Computer Systems & Applications,2016(2):235-238.

[11] 劉玉紅,羅曉沛.表分區技術在短信增值業務中的研究與實現[J].計算機系統應用,2008,17(11):72-75. LIU Yuhong, LUO Xiaopei. Study and Application of Partitioned Tables in SMS Business[J]. Computer Systems & Applications,2008,17(11):72-75.

[12] J Lv,S Xu,Y Li. Application Reasearch of Embedded Database SQLite[J].International Forum on Information Technology & Application,2009,2:539-543.

[13] 萬瑪寧,關永,韓相軍.嵌入式數據庫典型技術SQLite和Berkeley DB的研究[J].微計算機信息,2006,22(2):91-93. WAN Maning, GUAN Yong, HAN Xiangjun. Research on Typical Technologies of embedded database-SQLite and Berkeley DB[J]. Microcomputer Information,2006,22(2):91-93.

[14] 王珊,肖艷芹,劉大為,等.內存數據庫關鍵技術研究[J].計算機應用,2007,27(10):2353-2357. WANG Shan, XIAO Yanqin, LIU Dawei, et al. Research of main memory database[J]. Journal of Computer Applications,2007,27(10):2353-2357.

[15] 邵璐,費洪曉.內存數據庫技術在移動實時累加系統中的應用[J].計算機系統應用,2011,20(8):169-173. SHAO Lu, FEI Hongxiao.Application of MDB Technology to Mobile Real-Time Accumulative System[J]. Journal of Computer Applications,2011,20(8):169-173.

Genealogy Generation System Optimization Based on Table Partition andMain Memory Database

XU Mingmin1PENG Zhonghua2WANG Liwei2

(1. Computer School, Wuhan University, Wuhan 430072) (2. International School of Software,Wuhan University, Wuhan 430072)

This paper proposes an optimal storage solution for the genealogy data storage system — storage solution based on the table partition. The shortage of existing data storage solution on the genealogy system is analyzed, the genealogy data is re-modeled and storaged with the help of the PostgreSQL table partition. This method improves the management and operational efficiencyof genealogy data, based on the characteristics of data processing in the existing system , inmain memory database technology is brought. Thus, using SQLite database to store data in memory can improve the efficiency ofdata processing. Experiments test the feasibility and properties of table partition and main memory database technology.It turns out that the use of table partition scheme and main memory database technology can support the storage and processing requirements and partly optimize the performance of genealogy system.

genealogy, PostgreSQL, table partition, main memory database, SQLite

2016年8月15日,

2016年9月29日

徐明民,男,碩士研究生,研究方向:數據庫原理、數據管理。彭中華,男,碩士研究生,研究方向:軟件工程。王黎維,女,博士,副教授,研究方向:數據質量、數據溯源、科學工作流。

TP311

10.3969/j.issn.1672-9722.2017.02.015

猜你喜歡
數據庫系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 国产成人综合日韩精品无码不卡| 日本a级免费| 国产精品久久久久久久伊一| 天堂岛国av无码免费无禁网站| 一级毛片在线播放免费| 亚洲国产中文欧美在线人成大黄瓜| 成人精品在线观看| 四虎国产永久在线观看| 国产欧美日韩18| 欧美国产菊爆免费观看| 国产无码在线调教| 国产自在自线午夜精品视频| 黄色国产在线| 国产精品99r8在线观看| 四虎永久在线视频| 免费国产高清精品一区在线| 久久精品国产一区二区小说| 欧美一级专区免费大片| 国产美女在线免费观看| 亚洲精品午夜天堂网页| 亚洲精品第1页| 亚洲日韩图片专区第1页| 国产精品网拍在线| 欧美国产三级| 免费在线播放毛片| 国产a网站| 自拍偷拍欧美| 亚洲精品图区| 成人免费网站在线观看| 国产在线观看精品| 综合社区亚洲熟妇p| 四虎在线高清无码| 91人人妻人人做人人爽男同| 久久无码av一区二区三区| 小说 亚洲 无码 精品| 精品一区二区三区水蜜桃| 国产成人综合日韩精品无码首页 | 国产精品思思热在线| 伊人久综合| 精品视频91| 伊人久久久久久久久久| 国产欧美精品专区一区二区| 日韩欧美国产中文| 日本国产精品| 黄色国产在线| 亚洲天堂久久| 国语少妇高潮| 亚洲最大在线观看| 成人福利在线观看| 国产日韩欧美黄色片免费观看| 亚洲国产欧美目韩成人综合| 狠狠色狠狠色综合久久第一次| 欧美无专区| 九九免费观看全部免费视频| 亚洲精品国产首次亮相| 久久亚洲中文字幕精品一区| 三上悠亚在线精品二区| 亚洲天堂网视频| 第一区免费在线观看| 亚洲最大福利网站| 日本国产精品一区久久久| 伊人久久婷婷五月综合97色| 国产伦片中文免费观看| 国产精品冒白浆免费视频| 欧美日韩理论| 在线观看无码a∨| 亚洲娇小与黑人巨大交| 日本精品中文字幕在线不卡| 另类欧美日韩| 热99精品视频| 亚洲无码电影| 国产av剧情无码精品色午夜| 久久国产拍爱| 亚洲第一视频网| 综合色区亚洲熟妇在线| 综合五月天网| 无码视频国产精品一区二区| 成人va亚洲va欧美天堂| 亚洲欧美自拍中文| 欧美一道本| 亚洲AV永久无码精品古装片| 国产一区二区精品福利|