• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于MapReduce的關(guān)系數(shù)據(jù)庫(kù)關(guān)鍵詞查詢(xún)技術(shù)

    2017-09-11 13:43:38周鵬程施歡歡
    關(guān)鍵詞:分布式計(jì)算云計(jì)算

    周鵬程,施歡歡,錢(qián) 鋼

    (南京財(cái)經(jīng)大學(xué) 信息工程學(xué)院,江蘇 南京210046)

    基于MapReduce的關(guān)系數(shù)據(jù)庫(kù)關(guān)鍵詞查詢(xún)技術(shù)

    周鵬程,施歡歡,錢(qián) 鋼*

    (南京財(cái)經(jīng)大學(xué) 信息工程學(xué)院,江蘇 南京210046)

    為了解決關(guān)系數(shù)據(jù)庫(kù)關(guān)鍵詞查詢(xún)算法存在的問(wèn)題,根據(jù)圖搜索算法,將關(guān)系數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)圖,再將數(shù)據(jù)圖物化成key/value形式存于分布式文件系統(tǒng)中。Map函數(shù)對(duì)數(shù)據(jù)圖中每個(gè)節(jié)點(diǎn)計(jì)算其可達(dá)關(guān)鍵詞,Reduce函數(shù)判斷一個(gè)節(jié)點(diǎn)是否可達(dá)所有查詢(xún)關(guān)鍵詞,若滿(mǎn)足條件則輸出以該節(jié)點(diǎn)為根的結(jié)果樹(shù)。在深入研究傳統(tǒng)的查詢(xún)算法基礎(chǔ)上,提出了基于MapReduce的分布式并行數(shù)據(jù)圖搜索算法。在用普通PC搭建的Hadoop集群上的實(shí)驗(yàn)表明:該方法明顯提升了查詢(xún)結(jié)果樹(shù)生成速度,并且具有較好的可擴(kuò)展性。

    數(shù)據(jù)圖;關(guān)鍵詞查詢(xún);MapReduce;云計(jì)算;分布式計(jì)算

    關(guān)系數(shù)據(jù)庫(kù)是目前主流的信息存儲(chǔ)機(jī)制,如何從海量數(shù)據(jù)庫(kù)中以一種高效的方式獲取有用的信息是人們亟需解決的問(wèn)題。如果要利用結(jié)構(gòu)化查詢(xún)語(yǔ)言從目標(biāo)數(shù)據(jù)庫(kù)中獲得精確的結(jié)果,就需要用戶(hù)熟悉數(shù)據(jù)庫(kù)專(zhuān)業(yè)知識(shí)。然而普通用戶(hù)通常不具備復(fù)雜的查詢(xún)語(yǔ)言(如SQL、SPARQL、XQuery)和底層數(shù)據(jù)庫(kù)模式等知識(shí)。另一方面,發(fā)展得如火如荼的互聯(lián)網(wǎng)搜索引擎(如Google、百度)為廣大用戶(hù)提供了一種簡(jiǎn)單易用的信息獲取方式,即關(guān)鍵詞查詢(xún)。在搜索引擎中用戶(hù)只要提交一個(gè)關(guān)鍵詞集合,就能獲取到相關(guān)的查詢(xún)結(jié)果。比常規(guī)的信息檢索更具挑戰(zhàn)性的是,由于關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化,原本一條完整的信息可能存儲(chǔ)在不同的表中,那么基于關(guān)系數(shù)據(jù)庫(kù)的關(guān)鍵詞查詢(xún),目標(biāo)就不只是找到包含所給關(guān)鍵詞的相關(guān)文檔或文檔片段,更重要的是發(fā)現(xiàn)關(guān)鍵詞之間的語(yǔ)義關(guān)系[1]。

    目前絕大多數(shù)對(duì)于關(guān)系數(shù)據(jù)庫(kù)關(guān)鍵詞查詢(xún)的研究按照對(duì)數(shù)據(jù)庫(kù)建模的方法來(lái)分可以分為兩大類(lèi):一類(lèi)是基于數(shù)據(jù)圖的方法[2-4];一類(lèi)是基于模式圖的方法[5-6]。因?yàn)?,圖中的節(jié)點(diǎn)和邊都可以關(guān)聯(lián)文本內(nèi)容,所以,圖就成了關(guān)系數(shù)據(jù)(節(jié)點(diǎn)代表元組,邊表示主外鍵約束關(guān)系)、半結(jié)構(gòu)化數(shù)據(jù)(如XML,節(jié)點(diǎn)表示元素,邊表示XML元素間的包含關(guān)系或引用關(guān)系)、Web數(shù)據(jù)(節(jié)點(diǎn)表示網(wǎng)頁(yè)或者DOM元素,邊表示網(wǎng)頁(yè)間的鏈接關(guān)系或者DOM元素間的包含關(guān)系)的一種較好的公共表達(dá)形式[3]。因此,關(guān)鍵詞查詢(xún)的問(wèn)題自然地被轉(zhuǎn)化為圖搜索問(wèn)題,核心就是要從圖中高效地搜索到少量的與用戶(hù)查詢(xún)高度相關(guān)的結(jié)果樹(shù)。作為對(duì)傳統(tǒng)數(shù)據(jù)庫(kù)查詢(xún)的一種補(bǔ)充方式,關(guān)鍵詞查詢(xún)和應(yīng)用受到了數(shù)據(jù)庫(kù)研究領(lǐng)域越來(lái)越多的關(guān)注[7-10],但由于其巨大的搜索空間,使得其查詢(xún)效率難以滿(mǎn)足實(shí)際應(yīng)用需求,尤其面對(duì)大規(guī)模海量數(shù)據(jù)時(shí)更是如此。例如,國(guó)家電網(wǎng)數(shù)據(jù)采集系統(tǒng)實(shí)時(shí)收集網(wǎng)點(diǎn)中的時(shí)序數(shù)據(jù),由于其數(shù)據(jù)規(guī)模按時(shí)間呈遞增趨勢(shì),傳統(tǒng)的存儲(chǔ)、查詢(xún)技術(shù)效率低下,擴(kuò)展性差,無(wú)法支撐調(diào)度自動(dòng)化、配電自動(dòng)化、海量歷史/實(shí)時(shí)數(shù)據(jù)管理平臺(tái)、發(fā)電等涉及多個(gè)智能電網(wǎng)環(huán)節(jié)的應(yīng)用系統(tǒng)。另一方面,大數(shù)據(jù)與云計(jì)算技術(shù)帶來(lái)的信息風(fēng)暴正在變革人們的生活、工作和思維,大量傳統(tǒng)的數(shù)據(jù)處理技術(shù)和數(shù)據(jù)挖掘技術(shù)正被移植到云計(jì)算平臺(tái)。盡管?chē)?guó)內(nèi)外對(duì)云計(jì)算技術(shù)已經(jīng)開(kāi)展了很多相關(guān)研究,但是如何將它應(yīng)用于數(shù)據(jù)庫(kù)的關(guān)鍵詞查詢(xún)的研究并不多。文獻(xiàn)[11]研究了基于MapReduce[12]的分布式索引構(gòu)建以實(shí)現(xiàn)對(duì)大規(guī)模圖數(shù)據(jù)的搜索優(yōu)化,但是其只是用MapReduce并行構(gòu)建索引,而沒(méi)有把搜索算法MapReduce化。筆者在傳統(tǒng)數(shù)據(jù)圖搜索算法的基礎(chǔ)上,研究提出基于MapReduce的分布式數(shù)據(jù)圖搜索算法。MapReduce模型處理的是key-value型數(shù)據(jù),而關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)的是表數(shù)據(jù),針對(duì)MR模型的特征研究了合適的數(shù)據(jù)分布策略以及相應(yīng)的搜索方法。實(shí)驗(yàn)表明,在大規(guī)模數(shù)據(jù)集中筆者提出的并行算法能夠提高數(shù)據(jù)圖搜索效率。

    1 相關(guān)工作

    對(duì)于關(guān)系數(shù)據(jù)庫(kù)的關(guān)鍵詞查詢(xún),國(guó)內(nèi)外已經(jīng)出現(xiàn)了一批具有重要意義的研究成果。其中比較有影響的系統(tǒng)有Agrawal等人研發(fā)的DBXplorer[5],Hristidis等人提出的DISCOVER[6],Bhalotia等人實(shí)現(xiàn)的BANKS[2]。這些研究以及后續(xù)一些研究工作[13-14]雖然各有側(cè)重點(diǎn),但是它們的核心思想是一致的,即將存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中的結(jié)構(gòu)化數(shù)據(jù)看成圖,其中數(shù)據(jù)庫(kù)中的元組構(gòu)成圖的頂點(diǎn),元組間的主外鍵關(guān)系構(gòu)成圖中的邊。當(dāng)用戶(hù)提出一個(gè)關(guān)鍵詞查詢(xún)時(shí),則從圖中搜索出含全部或部分關(guān)鍵詞的最小子圖作為查詢(xún)結(jié)果。對(duì)于給定的數(shù)據(jù)庫(kù)和查詢(xún),DBXplorer、DISCOVER都會(huì)生成所有的可能包含關(guān)鍵詞的連接樹(shù)。如果數(shù)據(jù)庫(kù)模式結(jié)構(gòu)復(fù)雜,那么生成所有的連接樹(shù)將會(huì)十分低效。BANKS首次提出一種叫做逆向搜索(backward search)的圖搜索算法。該算法利用了Dijkstra單源點(diǎn)最短路徑算法,逆向搜索的路徑是由樹(shù)中的葉子節(jié)點(diǎn)到根節(jié)點(diǎn)的最短路徑構(gòu)成。如果數(shù)據(jù)圖規(guī)模很大,包含某個(gè)關(guān)鍵詞的節(jié)點(diǎn)很多,或者當(dāng)算法遭遇一個(gè)入度非常大的節(jié)點(diǎn)時(shí),逆向搜索算法的性能就顯得比較差。文獻(xiàn)[14]研究提出了一種融合了超節(jié)點(diǎn)圖和緩存細(xì)節(jié)圖的表示技術(shù)以減少查詢(xún)時(shí)的I/O開(kāi)銷(xiāo),但其應(yīng)用場(chǎng)景局限于單機(jī)系統(tǒng),不具備可擴(kuò)展性。

    在云計(jì)算方面,Google提出的并行計(jì)算框架MapReduce[12]給超大規(guī)模數(shù)據(jù)集的處理開(kāi)辟了思路。不少研究者將MapReduce思想運(yùn)用到自己的研究領(lǐng)域中,改進(jìn)傳統(tǒng)算法,以提高執(zhí)行效率。文獻(xiàn)[15]提出了一種基于MapReduce的并行混合混沌加密方案,有效解決了云環(huán)境中大數(shù)據(jù)量加密速度慢的問(wèn)題。文獻(xiàn)[16]設(shè)計(jì)了一個(gè)高效的基于MapReduce的大規(guī)模圖挖掘框架,并在十億級(jí)的數(shù)據(jù)上驗(yàn)證了其性能。但是把MapReduce應(yīng)用到數(shù)據(jù)庫(kù)關(guān)鍵詞查詢(xún)算法上的研究工作還相對(duì)較少。

    2 背景知識(shí)和問(wèn)題描述

    文中對(duì)數(shù)據(jù)庫(kù)建模的方式采用數(shù)據(jù)圖,即直接將數(shù)據(jù)庫(kù)的實(shí)例數(shù)據(jù)構(gòu)建成數(shù)據(jù)圖,并轉(zhuǎn)換為key-value對(duì)的形式交給MapReduce進(jìn)行處理,從中枚舉簡(jiǎn)化子圖,最終以key-value的形式輸出結(jié)果。下面給出MapReduce計(jì)算模型以及數(shù)據(jù)圖、關(guān)鍵詞查詢(xún)等相關(guān)定義。

    2.1 MapReduce計(jì)算模型

    MapReduce[12]是Google提出的一個(gè)用于處理大規(guī)模數(shù)據(jù)集的可擴(kuò)展的分布式編程模型,它既是一個(gè)并行計(jì)算模型,也是一種并行計(jì)算框架。MapReduce框架簡(jiǎn)化了用戶(hù)設(shè)計(jì)并行程序的難度,使得用戶(hù)只需要考慮算法本身的實(shí)現(xiàn)邏輯,而無(wú)須關(guān)心不同計(jì)算機(jī)之間的通信、容錯(cuò)等問(wèn)題。利用該模型,用戶(hù)可以自定義兩個(gè)函數(shù)Map和Reduce來(lái)實(shí)現(xiàn)分布式算法。輸入數(shù)據(jù)文件首先被計(jì)算框架切分成一個(gè)個(gè)數(shù)據(jù)分片,并解析成<keyin,valuein>的形式傳入Map函數(shù)。Map函數(shù)返回一個(gè)基于這個(gè)處理的中間結(jié)果集,即一系列新的<keyout,valueintermediate>,如式(1);MapReduce框架會(huì)把從一個(gè)或多個(gè) Map任務(wù)處理得到的結(jié)果集按 keyout值進(jìn)行分類(lèi)、匯聚,并分配給相應(yīng)的Reduce函數(shù)進(jìn)行匯總處理生成最終的valueout值,如式(2)。

    Map和Reduce函數(shù)會(huì)并行運(yùn)行,即計(jì)算框架會(huì)在不同的機(jī)器上同時(shí)運(yùn)行多個(gè)Map和Reduce任務(wù)。許多現(xiàn)實(shí)世界中的數(shù)據(jù)處理任務(wù)可以表達(dá)成該模型,便于實(shí)現(xiàn)并行化的計(jì)算。Apache的Hadoop是Google MapReduce的一個(gè)開(kāi)源實(shí)現(xiàn),它提供了與Google GFS類(lèi)似的分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)HDFS。Hadoop以其簡(jiǎn)單易用的特性推動(dòng)了MapReduce的廣泛應(yīng)用,方便了研究人員部署分布式算法。目前,Hadoop已經(jīng)成為大數(shù)據(jù)存儲(chǔ)與處理的新范式。

    2.2 數(shù)據(jù)圖和查詢(xún)模型定義

    定義1 數(shù)據(jù)圖[13]。一個(gè)數(shù)據(jù)圖G由一個(gè)節(jié)點(diǎn)集合V(G)和一個(gè)邊集E(G)構(gòu)成。數(shù)據(jù)圖中有兩類(lèi)節(jié)點(diǎn),即結(jié)構(gòu)化數(shù)據(jù)實(shí)例節(jié)點(diǎn)S(G)和關(guān)鍵詞節(jié)點(diǎn)K(G)。關(guān)鍵詞節(jié)點(diǎn)只有入射邊,而實(shí)例節(jié)點(diǎn)既有入射邊也有出射邊,因此,一條邊不能同時(shí)連接兩個(gè)關(guān)鍵詞。數(shù)據(jù)圖的邊可以有權(quán)重,權(quán)重函數(shù)wG給每一條邊e∈E(G)分配一個(gè)正的權(quán)重wG(e)。數(shù)據(jù)圖G的權(quán)重w(G)是圖G中所有邊的權(quán)重之和,即w(G)=Σe∈E(G)wG(e)。一個(gè)數(shù)據(jù)圖是有根的,如果它包含某個(gè)節(jié)點(diǎn)r,并且對(duì)于圖中任意節(jié)點(diǎn)都可以從節(jié)點(diǎn)r通過(guò)一條有向路徑到達(dá),這個(gè)節(jié)點(diǎn)r就被稱(chēng)作圖G的根。

    定義2 關(guān)鍵詞查詢(xún)[1,13]。一個(gè)關(guān)鍵詞查詢(xún)就是給定一個(gè)有限的關(guān)鍵詞集合K。一個(gè)關(guān)鍵詞查詢(xún)的結(jié)果就是目標(biāo)數(shù)據(jù)圖G的一棵子樹(shù)T,T是關(guān)于給定的關(guān)鍵詞集合K的簡(jiǎn)化,即T包含了K,并且不再會(huì)有T的子樹(shù)包含K。

    定義3 top-k關(guān)鍵詞查詢(xún)[1]。一個(gè)top-k關(guān)鍵詞查詢(xún)Q是一個(gè)關(guān)鍵詞集合K。而相應(yīng)的查詢(xún)結(jié)果則是一個(gè)由k個(gè)元組連接樹(shù)組成的列表T,并且對(duì)于查詢(xún)Q而言,這k個(gè)元組連接樹(shù)的最終評(píng)分Score(T,Q)是最高的。當(dāng)存在評(píng)分平局時(shí),可以采用任意的方式打破平局。T中的元組連接樹(shù)按照評(píng)分降序排列。

    總的來(lái)說(shuō),對(duì)于給定的關(guān)鍵詞集合,基于數(shù)據(jù)圖的查詢(xún)過(guò)程主要包含兩個(gè)步驟:首先,查找倒排表形式的關(guān)鍵詞索引,獲得節(jié)點(diǎn)ID,這些節(jié)點(diǎn)都包含了至少一個(gè)查詢(xún)關(guān)鍵詞;然后,運(yùn)行圖搜索算法尋找連接了上述關(guān)鍵詞節(jié)點(diǎn)的有根樹(shù),并且對(duì)結(jié)果進(jìn)行排序。

    3 基于MapReduce的數(shù)據(jù)圖搜索算法

    對(duì)于MapReduce來(lái)說(shuō)輸入數(shù)據(jù)就是一系列的<key,value>對(duì),處理邏輯是Map和Reduce函數(shù),因此,并行的數(shù)據(jù)圖搜索算法的關(guān)鍵是定義合適的<key,value>存儲(chǔ)結(jié)構(gòu),以及相應(yīng)的Map、Reduce函數(shù)來(lái)表達(dá)對(duì)數(shù)據(jù)圖的搜索。筆者先介紹傳統(tǒng)的單機(jī)串行方式數(shù)據(jù)圖搜索算法,然后介紹基于MapReduce的方法。

    3.1 傳統(tǒng)的數(shù)據(jù)圖搜索算法

    逆向搜索(backward search)算法是尋找數(shù)據(jù)圖中最小連接子圖的一個(gè)經(jīng)典算法,它在BANKS系統(tǒng)中首先被提出,之后很多研究(如BANKS-II[4]和BLINKS[10]等)都是基于該算法的改進(jìn)。逆向搜索從每個(gè)與關(guān)鍵詞匹配的葉節(jié)點(diǎn)開(kāi)始,朝著匯合的根節(jié)點(diǎn)向上搜索,每當(dāng)標(biāo)記到一個(gè)被每個(gè)關(guān)鍵詞所到達(dá)的節(jié)點(diǎn)v時(shí),就輸出一棵以v為根節(jié)點(diǎn)的結(jié)果樹(shù)。逆向搜索算法的具體步驟如下[4]:

    (1)在逆向搜索的任意時(shí)刻,令Ei表示當(dāng)前已知的可以到達(dá)關(guān)鍵詞節(jié)點(diǎn)ki的節(jié)點(diǎn)集,Ei稱(chēng)作關(guān)于ki的簇。(2)在最初始階段,Ei被定義為直接包含ki的節(jié)點(diǎn)集。稱(chēng)這個(gè)集合為“原始簇”,它的成員節(jié)點(diǎn)即為關(guān)鍵詞節(jié)點(diǎn)。(3)在搜索過(guò)程的每一步,都從先前訪(fǎng)問(wèn)過(guò)的節(jié)點(diǎn)(比如節(jié)點(diǎn)v)開(kāi)始,選擇一條入射邊,沿著這條邊反向訪(fǎng)問(wèn)它的父節(jié)點(diǎn)(比如節(jié)點(diǎn)u)。此時(shí)任何包含節(jié)點(diǎn)v的Ei都被擴(kuò)展到節(jié)點(diǎn)u。一旦一個(gè)節(jié)點(diǎn)已經(jīng)被訪(fǎng)問(wèn),那么搜索算法就可以獲得它的所有入射邊信息,并且在下一個(gè)搜索過(guò)程中訪(fǎng)問(wèn)這些邊。(4)如果對(duì)于每一個(gè)簇Ei,都有或者節(jié)點(diǎn)x∈Ei,或者存在一條從x到Ei中某個(gè)節(jié)點(diǎn)的邊,則意味著已經(jīng)發(fā)現(xiàn)了一個(gè)答案的根節(jié)點(diǎn)x。

    假設(shè)有如圖1所示的數(shù)據(jù)圖片段(為描述簡(jiǎn)便,假設(shè)圖中每個(gè)節(jié)點(diǎn)內(nèi)的數(shù)字代表數(shù)據(jù)庫(kù)元組的ID,節(jié)點(diǎn)旁邊的小寫(xiě)字母a,b,c,…表示該元組包含的關(guān)鍵詞集合)。以該圖為例,來(lái)分析逆向搜索算法的執(zhí)行過(guò)程。

    假設(shè)用戶(hù)輸入的關(guān)鍵詞是 b、c,不難發(fā)現(xiàn)節(jié)點(diǎn) 3、4、5、10、12 都直接包含關(guān)鍵詞項(xiàng),算法會(huì)對(duì)這5個(gè)節(jié)點(diǎn)進(jìn)行反向搜索。節(jié)點(diǎn)3可以反向到達(dá)節(jié)點(diǎn)1,所以標(biāo)記節(jié)點(diǎn)1、3可達(dá)關(guān)鍵詞c。同理,對(duì)節(jié)點(diǎn)4進(jìn)行逆向搜索,可以訪(fǎng)問(wèn)到節(jié)點(diǎn)1,所以標(biāo)記1、4可達(dá)關(guān)鍵詞b。所以當(dāng)搜索到節(jié)點(diǎn)1時(shí),發(fā)現(xiàn)它已經(jīng)可達(dá)關(guān)鍵詞b,c,即包含了所有關(guān)鍵詞,因此,以節(jié)點(diǎn)1為根節(jié)點(diǎn)的一棵結(jié)果樹(shù)就生成了,如圖2中的結(jié)果樹(shù)I所示。同樣的,對(duì)節(jié)點(diǎn)5、10、12進(jìn)行逆向搜索將會(huì)得到如圖2所示的結(jié)果樹(shù) II、III。

    圖1 一個(gè)數(shù)據(jù)圖片段

    從逆向搜索算法模型中可以看到該算法的核心是從原始簇開(kāi)始進(jìn)行多次迭代搜索以擴(kuò)充每個(gè)關(guān)鍵詞的簇,直到每條搜索路徑都已到達(dá)圖的根節(jié)點(diǎn)截止。在迭代搜索的過(guò)程中一旦發(fā)現(xiàn)某個(gè)節(jié)點(diǎn)符合要求(對(duì)所有關(guān)鍵詞可達(dá))就輸出以該節(jié)點(diǎn)為根的一棵結(jié)果樹(shù)。整個(gè)查詢(xún)過(guò)程中圖搜索的過(guò)程是最耗時(shí)的,尤其是當(dāng)數(shù)據(jù)圖的規(guī)模非常大,節(jié)點(diǎn)間的聯(lián)系比較復(fù)雜時(shí)更是如此。因此,文中考慮基于MapReduce的思想研究并行化的算法把搜索元組連接樹(shù)的過(guò)程MapReduce化。

    3.2 基于MapReduce的逆向搜索算法

    3.2.1 基于MapReduce的逆向搜索算法的key-value結(jié)構(gòu)和流程

    MapReduce計(jì)算框架下的輸入是key-value數(shù)據(jù),其中value可以是簡(jiǎn)單類(lèi)型,比如數(shù)值或字符串,也可以是復(fù)雜的結(jié)構(gòu),比如列表、記錄等。對(duì)于數(shù)據(jù)圖來(lái)說(shuō),其內(nèi)部表示方式以鄰接表為宜,文中設(shè)計(jì)了式(3)那樣的key-value結(jié)構(gòu)。輸入數(shù)據(jù)的key為圖中節(jié)點(diǎn)ID,對(duì)應(yīng)的value為復(fù)雜記錄,其中記載了key節(jié)點(diǎn)當(dāng)前可達(dá)關(guān)鍵詞、key節(jié)點(diǎn)的父節(jié)點(diǎn)ID等信息。MapReduce內(nèi)部計(jì)算過(guò)程中的Shuffle和Sort操作起到類(lèi)似于通過(guò)圖中節(jié)點(diǎn)出邊進(jìn)行消息傳播的效果。

    通過(guò)將數(shù)據(jù)圖表達(dá)成式(3)這樣的鍵值對(duì)作為算法輸入(即作為Map函數(shù)的初始輸入),并行執(zhí)行一系列Map函數(shù)和Reduce函數(shù)對(duì)原始鍵值對(duì)處理,得到包含所有關(guān)鍵詞的連接樹(shù)鍵值對(duì)<key,valueout>,每一個(gè)輸出鍵值對(duì)代表一棵結(jié)果樹(shù),其中key表示結(jié)果樹(shù)的根節(jié)點(diǎn)ID,valueout表示連接樹(shù)的路徑信息?;贛apReduce的逆向搜索算法的流程如圖3。

    在圖 1 的例子當(dāng)中,根據(jù)數(shù)據(jù)圖生成的初始鍵值對(duì)是:<1,<<a>,<null>>>、<2,<<f>,<1>>>、<3,<<c,d>,<1>>>、<4,<<b>,<1>>>、<5,<<b>,<2>>>、<6,<<e>,<2,3>>>、<7,<<g>,<3>>>、<8,<<f>,<3>>>、<9,<<g>,<5>>>、<10,<<c>,<5>>>、<11,<<a>,<6>>>、<12,<<c>,<6>>>。

    3.2.2 逆向搜索算法的Map函數(shù)

    Map函數(shù)根據(jù)每個(gè)節(jié)點(diǎn) (key-value形式)的父節(jié)點(diǎn)列表擴(kuò)充其可達(dá)關(guān)鍵詞列表。Map函數(shù)偽代碼如下:

    輸入:數(shù)據(jù)圖對(duì)應(yīng)的初始鍵值對(duì)KVPair

    輸出:新生成的鍵值對(duì)集newKVPair

    圖2 一個(gè)查詢(xún)的結(jié)果樹(shù)

    圖3 基于MapReduce的搜索算法流程

    以圖1所示的數(shù)據(jù)圖(查詢(xún)關(guān)鍵詞為b,c)為例分析Map函數(shù)的執(zhí)行過(guò)程。

    輸入數(shù)據(jù)文件首先會(huì)被分布式文件系統(tǒng) (HDFS)切分成若干個(gè)數(shù)據(jù)塊存儲(chǔ)于計(jì)算機(jī)集群的不同節(jié)點(diǎn)。MapReduce計(jì)算框架從分布式文件系統(tǒng)中獲得輸入數(shù)據(jù)分片并解析出初始鍵值對(duì)交給Map任務(wù)處理,Map函數(shù)對(duì)該鍵值對(duì)進(jìn)行重組、擴(kuò)展。例如對(duì)于鍵值對(duì)<3,<<c,d>,<1>>>,因?yàn)?,?jié)點(diǎn) 3 可達(dá)關(guān)鍵詞 c、d,那么認(rèn)為節(jié)點(diǎn) 3 的父節(jié)點(diǎn) 1 也可達(dá)該關(guān)鍵詞,算法生成若干新的鍵值對(duì)<3,<c,d>>、<1,<c(3)>>、<1,<d(3)>>,分別表示節(jié)點(diǎn)3可達(dá)關(guān)鍵詞c、d,節(jié)點(diǎn)1途經(jīng)節(jié)點(diǎn)3可達(dá)關(guān)鍵詞c,節(jié)點(diǎn)1途經(jīng)節(jié)點(diǎn)3可達(dá)關(guān)鍵詞d。同理,對(duì)于其余鍵值對(duì)進(jìn)行Map操作輸出結(jié)果如下:

    <1,<a>>,<2,<f>>、<1,<f(2)>>,<4,<b>>、<1,<b(4)>>,<5,<b>>、<2,<b(5)>>,<6,<e>>、<2,<e(6)>>、<3,<e(6)>>,<7,<g>>、<3,<g(7)>>,<8,<f>>、<3,<f(8)>>,<9,<g>>、<5,<g(9)>>,<10,<c>>、<5,<c(10)>>,<11,<a>>、<6,<a(11)>>,<12,<c>>、<6,<c(12)>>。

    所有的Map任務(wù)都是并行工作的,Map的輸出結(jié)果經(jīng)過(guò)shuffle階段處理后作為Reduce函數(shù)的輸入。

    3.2.3 逆向搜索算法的Reduce函數(shù)

    通過(guò)MapReduce框架的shuffle過(guò)程,具有相同key值的鍵值對(duì)合并,values為它們所有的value值疊加。算法的Reduce函數(shù)偽代碼如下:

    輸入:經(jīng)過(guò)shuffle處理過(guò)的鍵值對(duì)KVPair

    輸出:結(jié)果樹(shù)鍵值對(duì)resKVPair和進(jìn)入下一輪迭代的鍵值對(duì)newKVPair

    同樣以上面的例子接著分析算法Reduce函數(shù)的執(zhí)行過(guò)程。經(jīng)過(guò)shuffle處理后,具有相同key值的鍵值對(duì)歸并到一起交給 Reduce 處理。 例如鍵值對(duì)<1,<a>>、<1,<f(2)>>、<1,<c(3)>>、<1,<d(3)>>、<1,<b(4)>>在 shuffle 階段歸并成<1,<a,f(2),c(3),d(3),b(4)>>,表示節(jié)點(diǎn) 1 直接可達(dá)關(guān)鍵詞 a,并且可以通過(guò)節(jié)點(diǎn) 2到達(dá)關(guān)鍵詞f,通過(guò)節(jié)點(diǎn)3到達(dá)關(guān)鍵詞c、d,通過(guò)節(jié)點(diǎn)4到達(dá)關(guān)鍵詞b。Reduce函數(shù)會(huì)對(duì)輸入鍵值對(duì)的values列表值進(jìn)行判斷,如果 values中包含所有的查詢(xún)關(guān)鍵詞,就輸出結(jié)果鍵值對(duì)。 例如鍵值對(duì)<1,<a,f(2),c(3),d(3),b(4)>>同時(shí)包含了查詢(xún)關(guān)鍵詞 b 和 c,就可以輸出結(jié)果樹(shù)對(duì)<1,<c(3),b(4)>>,表示一棵以節(jié)點(diǎn) 1 為根節(jié)點(diǎn),節(jié)點(diǎn) 3、4 為葉節(jié)點(diǎn)的連接樹(shù)。 同理,鍵值對(duì)<5,<b>>、<5,<g(9)>>、<5,<c(10)>>歸并后得到<5,<b,g(9),c(10)>>也能得到一個(gè)滿(mǎn)足查詢(xún)要求的結(jié)果對(duì)<5,<b,c(10)>>,表示一棵以節(jié)點(diǎn) 5 為根節(jié)點(diǎn),節(jié)點(diǎn)10為葉節(jié)點(diǎn)的連接樹(shù)。同時(shí)將節(jié)點(diǎn)1、5標(biāo)記為已輸出,即不再尋找以節(jié)點(diǎn)1、5為根節(jié)點(diǎn)的結(jié)果樹(shù),降低搜索范圍。再把其余鍵值對(duì)重新組裝成式(3)那樣的形式進(jìn)入下一輪迭代,直到每個(gè)鍵值對(duì)的可達(dá)關(guān)鍵詞列表不再變化,說(shuō)明此時(shí)整個(gè)數(shù)據(jù)圖已經(jīng)搜索完畢,算法結(jié)束。 最終輸出的結(jié)果對(duì)如下:<1,(c(3),b(4))>,<5,(b,c(10))>,<2,(b(5),c(12)(6))>。其中<2,(b(5),c(12)(6))>表示根節(jié)點(diǎn) 2 通過(guò)節(jié)點(diǎn) 5 可達(dá)關(guān)鍵詞 b,通過(guò)節(jié)點(diǎn)6、節(jié)點(diǎn)12可達(dá)關(guān)鍵詞c。該結(jié)果恰好對(duì)應(yīng)圖2的結(jié)果樹(shù),由此可知基于MapReduce的逆向搜索算法與傳統(tǒng)逆向搜索算法的輸出結(jié)果是一致的。

    4 實(shí)驗(yàn)分析

    4.1 實(shí)驗(yàn)環(huán)境與設(shè)置

    文中從執(zhí)行效率、可擴(kuò)展性?xún)蓚€(gè)方面評(píng)估算法的性能。分別在單機(jī)上運(yùn)行串行的數(shù)據(jù)圖搜索算法和在集群上運(yùn)行基于MapReduce的搜索算法來(lái)輸出查詢(xún)結(jié)果樹(shù)。采用的實(shí)驗(yàn)集群由1個(gè)主控節(jié)點(diǎn)Master(同時(shí)運(yùn)行NameNode和ResourceManager進(jìn)程)、6個(gè)計(jì)算節(jié)點(diǎn)Slave(同時(shí)運(yùn)行DataNode和NodeManager進(jìn)程)組成,集群的節(jié)點(diǎn)配置為 CPU(4 核 Intel Core i5 3.30 GHz),Memory(4GB),Disk(500G STAT),Network Bandwidth(1Gbps),OS(CentOS6.4),JVM Version(JDK1.7),Hadoop Version(Hadoop2.4)。

    實(shí)驗(yàn)所用數(shù)據(jù)集是計(jì)算機(jī)科學(xué)文獻(xiàn)庫(kù)DBLP數(shù)據(jù)集,它提供了計(jì)算機(jī)領(lǐng)域科學(xué)文獻(xiàn)的檢索服務(wù),但只儲(chǔ)存這些文獻(xiàn)的相關(guān)元數(shù)據(jù),如標(biāo)題、作者、發(fā)表日期等。將DBLP網(wǎng)站提供的XML數(shù)據(jù)分解成4個(gè)關(guān)系:Author(Aid,Name)、Write(Aid,Pid)、Paper(Pid,Title,Year,Type)、Cite(Pid1,Pid2)。每個(gè) Author和 Paper實(shí)例對(duì)應(yīng)于數(shù)據(jù)圖中的一個(gè)節(jié)點(diǎn),若實(shí)例之間存在Write或者Cite關(guān)系則建立相應(yīng)的邊。由于MapReduce的輸入是鍵值對(duì)形式,所以預(yù)先將數(shù)據(jù)圖映射成key-value數(shù)據(jù)存儲(chǔ)在HDFS上作為MapReduce的輸入源,數(shù)據(jù)集的大小根據(jù)不同的實(shí)驗(yàn)需求確定。

    4.2 執(zhí)行性能測(cè)試

    對(duì)5組不同規(guī)模的數(shù)據(jù)用傳統(tǒng)的單機(jī)串行算法和基于MapReduce的并行算法分別進(jìn)行了5次測(cè)試,最后取算法從接收關(guān)鍵詞到輸出查詢(xún)結(jié)果樹(shù)的平均時(shí)間作為運(yùn)行耗時(shí),實(shí)驗(yàn)所用關(guān)鍵詞數(shù)量為2,并且都是從DBLP數(shù)據(jù)中選出來(lái)的。實(shí)驗(yàn)結(jié)果見(jiàn)表1。

    由實(shí)驗(yàn)結(jié)果可見(jiàn),與傳統(tǒng)的方式相比,基于MapReduce的并行方式在處理速度上有明顯優(yōu)勢(shì),特別是隨著數(shù)據(jù)集大小的增長(zhǎng),分布式的算法就更能發(fā)揮優(yōu)勢(shì)。同時(shí)發(fā)現(xiàn),基于MapReduce的算法耗時(shí)并未隨著數(shù)據(jù)集大小的線(xiàn)性增長(zhǎng)而線(xiàn)性上升,這一方面是由于MapReduce框架每次并行運(yùn)行的Map任務(wù)數(shù)是根據(jù)輸入數(shù)據(jù)大小自動(dòng)優(yōu)化的,每次任務(wù)運(yùn)行都有一定的通信開(kāi)銷(xiāo)。另一方面,數(shù)據(jù)圖中節(jié)點(diǎn)之間聯(lián)系的復(fù)雜度并不是隨著數(shù)據(jù)量的增長(zhǎng)而線(xiàn)性增長(zhǎng)的。

    4.3 可擴(kuò)展性測(cè)試

    為了觀察集群的規(guī)模增大時(shí)算法的性能變化情況,實(shí)驗(yàn)中還進(jìn)行了算法可擴(kuò)展性測(cè)試。實(shí)驗(yàn)中,將同一個(gè)數(shù)據(jù)集文件分別在從1個(gè)節(jié)點(diǎn)(local模式)增長(zhǎng)到7個(gè)節(jié)點(diǎn)(1個(gè)主節(jié)點(diǎn)+6個(gè)從節(jié)點(diǎn))的集群上進(jìn)行實(shí)驗(yàn),每組實(shí)驗(yàn)也進(jìn)行5次取平均值,實(shí)驗(yàn)結(jié)果如圖4所示。

    圖4顯示了計(jì)算節(jié)點(diǎn)數(shù)目變化時(shí)算法的運(yùn)行時(shí)間變化曲線(xiàn)。其中橫坐標(biāo)為集群中在線(xiàn)節(jié)點(diǎn)數(shù)目,縱坐標(biāo)為算法執(zhí)行時(shí)間。從圖中曲線(xiàn)可見(jiàn),剛開(kāi)始時(shí)算法的運(yùn)行時(shí)間隨著集群內(nèi)節(jié)點(diǎn)數(shù)目的增加呈接近于線(xiàn)性下降,之后曲線(xiàn)表現(xiàn)得比較平緩,這主要是由于并行算法的通信調(diào)度等開(kāi)銷(xiāo)造成的,特別是在數(shù)據(jù)規(guī)模遠(yuǎn)小于集群處理能力的情況下這種開(kāi)銷(xiāo)顯示出的代價(jià)越大。但總的來(lái)說(shuō),從圖4中可以發(fā)現(xiàn)隨著計(jì)算節(jié)點(diǎn)的增加,并行執(zhí)行的耗時(shí)下降顯著,即算法有比較好的可擴(kuò)展性。

    表1 查詢(xún)執(zhí)行時(shí)間

    圖4 集群節(jié)點(diǎn)數(shù)變化時(shí)算法運(yùn)行時(shí)間對(duì)比

    5 結(jié)語(yǔ)

    文中針對(duì)關(guān)系數(shù)據(jù)庫(kù)關(guān)鍵詞查詢(xún)中大規(guī)模數(shù)據(jù)圖搜索效率低下的問(wèn)題,以經(jīng)典的連接樹(shù)生成算法作為基礎(chǔ),提出了基于MapReduce的分布式并行搜索算法。分析和實(shí)驗(yàn)結(jié)果表明,并行算法充分利用計(jì)算資源減少了時(shí)間開(kāi)銷(xiāo),并且具有較好的可擴(kuò)展性。進(jìn)一步的工作包括考慮有意義的結(jié)果評(píng)分和數(shù)據(jù)可視化機(jī)制,用以將查詢(xún)結(jié)果樹(shù)按照相關(guān)順序和良好的展現(xiàn)方式返回給用戶(hù)。

    參考文獻(xiàn):

    [1]林子雨,楊冬青,王騰蛟,等.基于關(guān)系數(shù)據(jù)庫(kù)的關(guān)鍵詞查詢(xún)[J].軟件學(xué)報(bào),2010,21(10):2454-2476.

    [2]BHALOTIA G,HULGERI A,NAKHE C,et al.Keyword Searching and Browsing in Databases using BANKS[C]//Data Engineering,2002.Proceedings.18th International Conference on Data Engineering.IEEE,2002:431-440.

    [3]KACHOLIA V,PANDIT S,CHAKRABARTI S,et al.Bidirectional Expansion for Keyword Search on Graph Databases[C]//Proceedings of the 31st International Conference on Very Large Data Bases.VLDB Endowment,2005:505-516.

    [4]HE H,WANG H,YANG J,et al.BLINKS:Ranked Keyword Searches on Graphs[C]//Proceedings of the 2007 ACM SIGMOD International Conference on Management of Data.ACM,2007:305-316.

    [5]AGRAWAL S,CHAUDHURI S,DAS G.DBXplorer:Enabling Keyword Search over Relational Databases[C]//Proceedings of the 2002 ACM SIGMOD International Conference on Management of Data.ACM,2002:627-627.

    [6]HRISTIDIS V,PAPAKONSTANTINOU Y.Discover:Keyword Search in Relational Databases[C]//Proceedings of the 28th international conference on Very Large Data Bases.VLDB Endowment,2002:670-681.

    [7]MOTTIN D,LISSANDRINI M,VELEGRAKIS Y,et al.Exemplar queries:Give me an example of what you need[J].Proceedings of the VLDB Endowment,2014,7(5):365-376.

    [8]ZENG Z,BAO Z,LE T N,et al.ExpressQ:Identifying Keyword Context and Search Target in Relational Keyword Queries[C]//Proceedings of the 23rd ACM International Conference on Conference on Information and Knowledge Management.ACM,2014:31-40.

    [9]楊書(shū)新,徐麗萍,夏小云,等.圖數(shù)據(jù)關(guān)鍵詞查詢(xún)研究進(jìn)展[J].電子學(xué)報(bào),2014,42(11):2260-2267.

    [10]王新軍,閆實(shí),彭朝暉,等.Extractor:支持查詢(xún)重構(gòu)的高效數(shù)據(jù)庫(kù)關(guān)鍵詞檢索系統(tǒng)[J].電子學(xué)報(bào),2014,42(2):209-216.

    [11]桑雷,鐘鳴,陳柳,等.FindGrape:一個(gè)高效的圖數(shù)據(jù)庫(kù)關(guān)鍵詞搜索引擎[C]//第29屆中國(guó)數(shù)據(jù)庫(kù)學(xué)術(shù)會(huì)議論文集.合肥:中國(guó)計(jì)算機(jī)學(xué)會(huì),2012.

    [12]DEAN J,GHEMAWAT S.MapReduce:simplified data processing on large clusters[J].Communications of the ACM,2008,51(1):107-113.

    [13]KIMELFELD B,SAGIV Y.Efficiently enumerating results of keyword search over data graphs[J].Information Systems,2008,33(4):335-359.

    [14]DALVI B B,KSHIRSAGAR M,SUDARSHAN S.Keyword search on external memory data graphs[J].Proceedings of the VLDB Endowment,2008,1(1):1189-1204.

    [15]王欣宇,楊庚,閔兆娥,等.基于 MapReduce的并行混合混沌加密方案[J].計(jì)算機(jī)應(yīng)用研究,2015,32(6):1757-1760.

    [16]LAI H C,LI C T,LO Y C,et al.Exploiting and Evaluating MapReduce for Large-Scale Graph Mining[C]//Advances in Social Networks Analysis and Mining(ASONAM),2012 IEEE/ACM International Conference on.IEEE,2012:434-441.

    Keyword query over relational databases based on MapReduce

    ZHOU Pengcheng, SHI Huanhuan, QIAN Gang*
    (College of Information Engineering,Nanjing University of Finance and Economics,Nanjing 210046,China)

    In order to solve the problems of memory capacity and CPU processing speed in the traditional search algorithm,we proposed a parallel search algorithm based on MapReduce.In this algorithm,relational data were transformed into graph data which were then stored into HDFS in the form of key-value pairs.Map function calculated all the keywords that one node could reach;Reduce function judged if a node was reachable for all the query keywords.If this condition was satisfied,an answer root was discovered.According to the experiments on Hadoop cluster set up by ordinary PCs,the algorithm speeds up the query process and takes high expansibility.

    data graphs;keyword search;MapReduce;cloud computing;distributed computing

    TP311

    A

    2096-3289(2017)03-0064-07

    責(zé)任編輯:艾淑艷

    2015-11-30

    江蘇省產(chǎn)學(xué)研合作項(xiàng)目(BY2015010-05);南京財(cái)經(jīng)大學(xué)研究生創(chuàng)新研究基金資助項(xiàng)目(YJS14102)

    周鵬程(1990-),男,江蘇泰州人,碩士研究生,研究方向:數(shù)據(jù)庫(kù)與信息系統(tǒng)。

    *通信作者:錢(qián) 鋼(1975-),男,博士,副教授,碩士生導(dǎo)師,E-mail:zpcandzhj@163.com。

    猜你喜歡
    分布式計(jì)算云計(jì)算
    基于云計(jì)算的移動(dòng)學(xué)習(xí)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
    云計(jì)算中MapReduce分布式并行處理框架的研究與搭建
    基于云計(jì)算的移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)
    實(shí)驗(yàn)云:理論教學(xué)與實(shí)驗(yàn)教學(xué)深度融合的助推器
    云計(jì)算中的存儲(chǔ)虛擬化技術(shù)應(yīng)用
    科技視界(2016年20期)2016-09-29 13:34:06
    面向異構(gòu)分布式計(jì)算環(huán)境的并行任務(wù)調(diào)度優(yōu)化方法
    精品日产1卡2卡| 亚洲av免费高清在线观看| 国产精品久久久久久人妻精品电影| 亚洲av第一区精品v没综合| 九九热线精品视视频播放| 天堂√8在线中文| 国产精品日韩av在线免费观看| АⅤ资源中文在线天堂| a级毛片免费高清观看在线播放| 丰满乱子伦码专区| 亚洲av电影在线进入| 国产一区二区三区在线臀色熟女| 哪里可以看免费的av片| 五月玫瑰六月丁香| 国产精品日韩av在线免费观看| 国产精品精品国产色婷婷| 一级毛片久久久久久久久女| 国产一区二区激情短视频| 欧美黑人欧美精品刺激| 国产av不卡久久| 听说在线观看完整版免费高清| 91在线精品国自产拍蜜月| 欧美成人性av电影在线观看| 中亚洲国语对白在线视频| 97热精品久久久久久| 国产亚洲精品久久久com| 亚洲人成电影免费在线| 国产麻豆成人av免费视频| 国产视频内射| 久久人妻av系列| 怎么达到女性高潮| 欧美最黄视频在线播放免费| 中文字幕av在线有码专区| 国产伦一二天堂av在线观看| 国产精品国产高清国产av| 亚洲国产精品合色在线| 亚洲经典国产精华液单 | 黄色女人牲交| 99热只有精品国产| 丰满乱子伦码专区| 69人妻影院| 久久久久九九精品影院| 热99re8久久精品国产| 中国美女看黄片| 一个人免费在线观看的高清视频| 美女xxoo啪啪120秒动态图 | 国产午夜精品论理片| 婷婷亚洲欧美| 国产精品久久久久久久电影| 亚洲专区中文字幕在线| 精品人妻视频免费看| 国产精品av视频在线免费观看| 国产av不卡久久| 亚洲av熟女| 最后的刺客免费高清国语| 亚洲欧美日韩高清专用| 别揉我奶头~嗯~啊~动态视频| 美女高潮的动态| 国产又黄又爽又无遮挡在线| 国产亚洲精品综合一区在线观看| 看十八女毛片水多多多| 999久久久精品免费观看国产| 日韩欧美国产一区二区入口| 2021天堂中文幕一二区在线观| 中文字幕人成人乱码亚洲影| 色吧在线观看| 久久久久久大精品| 日日干狠狠操夜夜爽| 亚洲欧美清纯卡通| 久久久久性生活片| 亚洲人成网站在线播| 国产综合懂色| 国产亚洲精品综合一区在线观看| 老熟妇乱子伦视频在线观看| 日韩人妻高清精品专区| 少妇丰满av| 国产精品三级大全| 欧美黑人巨大hd| 国产成人aa在线观看| 亚洲av不卡在线观看| 观看免费一级毛片| 日日摸夜夜添夜夜添av毛片 | 欧美三级亚洲精品| 神马国产精品三级电影在线观看| 精品国产三级普通话版| 少妇的逼好多水| 精品免费久久久久久久清纯| 在现免费观看毛片| aaaaa片日本免费| 在线播放国产精品三级| 国产午夜福利久久久久久| 一区二区三区高清视频在线| 精品久久久久久久久亚洲 | 嫩草影院精品99| 啪啪无遮挡十八禁网站| av女优亚洲男人天堂| 欧美丝袜亚洲另类 | 怎么达到女性高潮| 特级一级黄色大片| 中文亚洲av片在线观看爽| 国产男靠女视频免费网站| 我的女老师完整版在线观看| 久久久久久国产a免费观看| 欧美成人a在线观看| 久99久视频精品免费| 日本撒尿小便嘘嘘汇集6| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 在线a可以看的网站| 人人妻,人人澡人人爽秒播| 欧美bdsm另类| 麻豆国产97在线/欧美| 免费看美女性在线毛片视频| 男人和女人高潮做爰伦理| 国产成人欧美在线观看| 啦啦啦观看免费观看视频高清| 国产精品国产高清国产av| 日本免费一区二区三区高清不卡| 亚洲美女视频黄频| 精品午夜福利在线看| 午夜亚洲福利在线播放| 高清毛片免费观看视频网站| 又爽又黄无遮挡网站| 亚洲在线观看片| 国产精品乱码一区二三区的特点| 永久网站在线| 人人妻人人澡欧美一区二区| 午夜福利在线在线| 国产精品三级大全| 99在线视频只有这里精品首页| 别揉我奶头 嗯啊视频| 久久久久久久久中文| 少妇高潮的动态图| 日韩人妻高清精品专区| 午夜福利欧美成人| 欧美性猛交黑人性爽| 日韩欧美精品免费久久 | 一进一出抽搐gif免费好疼| 热99在线观看视频| 国产三级黄色录像| 性色avwww在线观看| 亚洲精品456在线播放app | 亚洲va日本ⅴa欧美va伊人久久| 人妻夜夜爽99麻豆av| 97超视频在线观看视频| 亚洲欧美日韩卡通动漫| 三级毛片av免费| 中文字幕久久专区| 免费av不卡在线播放| 久久人人精品亚洲av| 婷婷六月久久综合丁香| 深夜精品福利| 国产三级在线视频| 五月玫瑰六月丁香| 亚洲黑人精品在线| 无人区码免费观看不卡| www.熟女人妻精品国产| 欧美+日韩+精品| 国产一级毛片七仙女欲春2| 亚洲欧美日韩无卡精品| www.999成人在线观看| 一夜夜www| 亚洲欧美清纯卡通| 亚洲avbb在线观看| 波多野结衣巨乳人妻| 精品福利观看| 久久热精品热| 一进一出好大好爽视频| 免费看美女性在线毛片视频| 久久久色成人| 色av中文字幕| 九色国产91popny在线| 亚洲av中文字字幕乱码综合| 内射极品少妇av片p| 悠悠久久av| 九九久久精品国产亚洲av麻豆| 国产精品精品国产色婷婷| 午夜精品在线福利| 亚洲第一欧美日韩一区二区三区| 中文字幕久久专区| av天堂中文字幕网| 日本与韩国留学比较| 亚洲熟妇中文字幕五十中出| 一个人观看的视频www高清免费观看| 首页视频小说图片口味搜索| 亚洲欧美日韩高清在线视频| 在线观看66精品国产| 少妇丰满av| 国产高清有码在线观看视频| 一进一出抽搐动态| 黄色丝袜av网址大全| 人妻制服诱惑在线中文字幕| 日韩人妻高清精品专区| 97超视频在线观看视频| 午夜福利在线观看吧| 老司机午夜福利在线观看视频| 国产精品不卡视频一区二区 | 99riav亚洲国产免费| 色综合欧美亚洲国产小说| 日韩欧美在线乱码| 国产精品一区二区性色av| 久久久成人免费电影| 日本a在线网址| 亚洲欧美日韩高清专用| 又黄又爽又刺激的免费视频.| 国产一级毛片七仙女欲春2| 亚洲av.av天堂| 两个人视频免费观看高清| aaaaa片日本免费| 成人永久免费在线观看视频| 神马国产精品三级电影在线观看| 变态另类丝袜制服| 国产欧美日韩一区二区精品| 国产在视频线在精品| 又紧又爽又黄一区二区| 精华霜和精华液先用哪个| 嫩草影院精品99| 1024手机看黄色片| 淫妇啪啪啪对白视频| 小说图片视频综合网站| 日韩中字成人| 午夜亚洲福利在线播放| 在线看三级毛片| 国产精品不卡视频一区二区 | 欧美zozozo另类| 亚洲欧美激情综合另类| 国产在线男女| 12—13女人毛片做爰片一| 国产私拍福利视频在线观看| 毛片一级片免费看久久久久 | 18美女黄网站色大片免费观看| 中出人妻视频一区二区| 免费av观看视频| 91久久精品电影网| 亚洲18禁久久av| 高清毛片免费观看视频网站| 99久久成人亚洲精品观看| 免费看光身美女| 美女大奶头视频| 午夜亚洲福利在线播放| 91麻豆av在线| 欧美激情国产日韩精品一区| 亚洲乱码一区二区免费版| 欧美一区二区国产精品久久精品| 麻豆国产av国片精品| 日韩大尺度精品在线看网址| 欧美区成人在线视频| 色综合亚洲欧美另类图片| 欧美zozozo另类| 人妻久久中文字幕网| 中文资源天堂在线| av天堂在线播放| 亚洲av电影在线进入| 国产中年淑女户外野战色| 亚洲在线观看片| 99视频精品全部免费 在线| 亚洲激情在线av| 最近最新免费中文字幕在线| 亚洲av不卡在线观看| 亚洲国产精品合色在线| 亚洲精品一区av在线观看| 极品教师在线免费播放| 成年免费大片在线观看| 欧美高清成人免费视频www| 日本五十路高清| 亚洲内射少妇av| 午夜免费激情av| 人妻久久中文字幕网| 国内精品一区二区在线观看| 一级a爱片免费观看的视频| 欧美zozozo另类| 国内久久婷婷六月综合欲色啪| 国语自产精品视频在线第100页| 亚洲片人在线观看| 偷拍熟女少妇极品色| 美女 人体艺术 gogo| 99久久99久久久精品蜜桃| 国产爱豆传媒在线观看| 国产一区二区在线av高清观看| 麻豆成人午夜福利视频| 一本精品99久久精品77| 精品一区二区三区人妻视频| 我的女老师完整版在线观看| 久久九九热精品免费| 欧美高清性xxxxhd video| 亚洲av五月六月丁香网| 欧美在线黄色| 欧美黑人巨大hd| 又黄又爽又刺激的免费视频.| 国产免费一级a男人的天堂| 日本精品一区二区三区蜜桃| 精品欧美国产一区二区三| 久久国产精品人妻蜜桃| 身体一侧抽搐| 床上黄色一级片| 午夜免费激情av| 日本一本二区三区精品| 精品一区二区三区视频在线观看免费| 国产黄a三级三级三级人| 亚洲人与动物交配视频| 真人做人爱边吃奶动态| 在线观看av片永久免费下载| 18禁在线播放成人免费| 日本黄色片子视频| 欧美激情国产日韩精品一区| 久久精品国产自在天天线| 岛国在线免费视频观看| 久久久久精品国产欧美久久久| 成年女人看的毛片在线观看| АⅤ资源中文在线天堂| 精品人妻熟女av久视频| 人妻丰满熟妇av一区二区三区| 国内少妇人妻偷人精品xxx网站| 丰满乱子伦码专区| 成年女人毛片免费观看观看9| 亚洲国产精品合色在线| 黄色女人牲交| 精品欧美国产一区二区三| 国产伦精品一区二区三区四那| 人妻夜夜爽99麻豆av| 最近视频中文字幕2019在线8| 欧美黄色淫秽网站| 黄色配什么色好看| 亚洲美女视频黄频| 国产亚洲av嫩草精品影院| 99精品在免费线老司机午夜| 最好的美女福利视频网| 观看美女的网站| 亚洲av电影不卡..在线观看| 亚洲国产高清在线一区二区三| 有码 亚洲区| 国产v大片淫在线免费观看| 又紧又爽又黄一区二区| 国产精品爽爽va在线观看网站| 日本撒尿小便嘘嘘汇集6| 亚洲va日本ⅴa欧美va伊人久久| 丰满的人妻完整版| 国产成人影院久久av| 国产色婷婷99| 亚洲成人精品中文字幕电影| 久久久久久久精品吃奶| av黄色大香蕉| 亚洲精品一卡2卡三卡4卡5卡| 亚洲av.av天堂| x7x7x7水蜜桃| 少妇高潮的动态图| 国产成年人精品一区二区| 国产成人aa在线观看| 欧美激情国产日韩精品一区| 国产免费av片在线观看野外av| 免费观看的影片在线观看| 午夜免费男女啪啪视频观看 | 亚洲avbb在线观看| 熟女电影av网| 国产亚洲欧美在线一区二区| 久99久视频精品免费| 国产精品亚洲美女久久久| 97人妻精品一区二区三区麻豆| 亚洲五月天丁香| 精品一区二区三区av网在线观看| 亚洲 国产 在线| 嫩草影院新地址| 天堂影院成人在线观看| 色哟哟哟哟哟哟| 超碰av人人做人人爽久久| 午夜久久久久精精品| ponron亚洲| 天美传媒精品一区二区| 直男gayav资源| 久久精品人妻少妇| av视频在线观看入口| 国产在视频线在精品| 欧美一区二区精品小视频在线| 亚洲av美国av| 99精品久久久久人妻精品| 亚洲成av人片在线播放无| eeuss影院久久| 日本一二三区视频观看| 9191精品国产免费久久| 国产主播在线观看一区二区| 成年人黄色毛片网站| 国产精品不卡视频一区二区 | 日本三级黄在线观看| 麻豆久久精品国产亚洲av| 国产精品日韩av在线免费观看| 久久草成人影院| 精品国产亚洲在线| 中文字幕熟女人妻在线| 国产成人啪精品午夜网站| 亚洲国产高清在线一区二区三| 偷拍熟女少妇极品色| 精品人妻一区二区三区麻豆 | 日韩欧美免费精品| 中文在线观看免费www的网站| 日本五十路高清| 日韩欧美精品免费久久 | 午夜亚洲福利在线播放| 尤物成人国产欧美一区二区三区| 亚洲精品亚洲一区二区| 免费搜索国产男女视频| 丁香六月欧美| 热99在线观看视频| x7x7x7水蜜桃| 国产精品亚洲一级av第二区| 日韩欧美免费精品| 亚洲在线自拍视频| 精华霜和精华液先用哪个| 亚洲人与动物交配视频| 免费av不卡在线播放| 99国产综合亚洲精品| 亚洲av成人精品一区久久| av天堂在线播放| 国产成人影院久久av| 在线国产一区二区在线| 免费电影在线观看免费观看| 男人狂女人下面高潮的视频| 人妻夜夜爽99麻豆av| 99久久无色码亚洲精品果冻| 麻豆一二三区av精品| 日韩欧美一区二区三区在线观看| 午夜激情欧美在线| 熟女电影av网| 岛国在线免费视频观看| 看片在线看免费视频| 久久久久久久久大av| 国内精品久久久久久久电影| 成人特级黄色片久久久久久久| 日本a在线网址| 赤兔流量卡办理| 国产私拍福利视频在线观看| 国产成人av教育| 精品国产亚洲在线| 午夜亚洲福利在线播放| 免费在线观看日本一区| 日本 av在线| 99久久精品国产亚洲精品| 亚洲电影在线观看av| 亚洲av熟女| 91狼人影院| 十八禁网站免费在线| 精品99又大又爽又粗少妇毛片 | 欧美日韩黄片免| 亚洲av熟女| 波多野结衣巨乳人妻| 丰满人妻一区二区三区视频av| 又爽又黄无遮挡网站| 亚洲 国产 在线| 国产精华一区二区三区| 成人国产综合亚洲| 在线观看美女被高潮喷水网站 | 国内精品美女久久久久久| 久久6这里有精品| 91在线观看av| 国产精品一及| 欧美日韩亚洲国产一区二区在线观看| 日韩精品青青久久久久久| 99riav亚洲国产免费| 在线十欧美十亚洲十日本专区| 综合色av麻豆| 级片在线观看| 在线观看一区二区三区| 久久99热6这里只有精品| ponron亚洲| 成年人黄色毛片网站| .国产精品久久| 亚洲七黄色美女视频| 久久久久久久久中文| 波多野结衣高清作品| 国产精品久久电影中文字幕| 免费看a级黄色片| 国产精品美女特级片免费视频播放器| 俺也久久电影网| 国产日本99.免费观看| 在线观看66精品国产| 免费大片18禁| 国内精品久久久久精免费| 久久精品国产清高在天天线| 欧美成人免费av一区二区三区| 日韩欧美国产一区二区入口| 99精品久久久久人妻精品| 欧美三级亚洲精品| 中国美女看黄片| 亚洲欧美日韩东京热| 国产精品自产拍在线观看55亚洲| 美女被艹到高潮喷水动态| 美女高潮喷水抽搐中文字幕| 国产成人啪精品午夜网站| 久久国产乱子免费精品| 日本撒尿小便嘘嘘汇集6| 日本黄大片高清| 俺也久久电影网| 在线观看免费视频日本深夜| 亚洲黑人精品在线| 一个人看视频在线观看www免费| 色综合站精品国产| 脱女人内裤的视频| 深夜精品福利| 在线播放国产精品三级| 国内揄拍国产精品人妻在线| 久久草成人影院| 午夜免费成人在线视频| bbb黄色大片| 欧美一区二区精品小视频在线| 免费观看的影片在线观看| 久久国产精品影院| 岛国在线免费视频观看| 欧美+日韩+精品| 在线观看美女被高潮喷水网站 | 日韩精品中文字幕看吧| 成年女人永久免费观看视频| 国产大屁股一区二区在线视频| 91午夜精品亚洲一区二区三区 | 日韩亚洲欧美综合| 亚洲国产高清在线一区二区三| 亚洲精品久久国产高清桃花| 国语自产精品视频在线第100页| 国产精品久久久久久人妻精品电影| 黄色配什么色好看| 日本a在线网址| 内射极品少妇av片p| av视频在线观看入口| 欧美激情久久久久久爽电影| 一区二区三区四区激情视频 | 国产av在哪里看| 在线免费观看不下载黄p国产 | 最好的美女福利视频网| 国产视频内射| 国产乱人视频| 欧美日韩福利视频一区二区| 99久久久亚洲精品蜜臀av| 精品欧美国产一区二区三| 不卡一级毛片| 日韩亚洲欧美综合| 日本黄大片高清| 一级作爱视频免费观看| 老熟妇仑乱视频hdxx| 精品熟女少妇八av免费久了| 亚洲 国产 在线| 在线免费观看不下载黄p国产 | 色在线成人网| 久久精品国产99精品国产亚洲性色| 日韩欧美精品v在线| 欧美3d第一页| 精品久久久久久,| 蜜桃亚洲精品一区二区三区| 3wmmmm亚洲av在线观看| 成熟少妇高潮喷水视频| 搡女人真爽免费视频火全软件 | 999久久久精品免费观看国产| 欧美乱妇无乱码| 成人av一区二区三区在线看| 18禁黄网站禁片午夜丰满| 国产精品影院久久| 日本撒尿小便嘘嘘汇集6| 亚洲国产精品sss在线观看| 最新在线观看一区二区三区| 日本与韩国留学比较| 国产精品伦人一区二区| 色噜噜av男人的天堂激情| 直男gayav资源| 男女下面进入的视频免费午夜| 精品日产1卡2卡| 久久精品夜夜夜夜夜久久蜜豆| 国产精品永久免费网站| 久久久成人免费电影| 观看免费一级毛片| 精品午夜福利在线看| 国产在线男女| 免费看美女性在线毛片视频| 欧美激情国产日韩精品一区| 国产精品久久久久久人妻精品电影| 免费av不卡在线播放| 毛片女人毛片| 久久热精品热| 色视频www国产| 91av网一区二区| 内地一区二区视频在线| 丰满人妻一区二区三区视频av| 国产探花在线观看一区二区| 露出奶头的视频| 日本熟妇午夜| 欧美xxxx黑人xx丫x性爽| 午夜福利在线观看免费完整高清在 | 最新中文字幕久久久久| 中文在线观看免费www的网站| 国产成年人精品一区二区| 免费观看精品视频网站| 久久久久久大精品| 国产免费男女视频| 一个人观看的视频www高清免费观看| 三级男女做爰猛烈吃奶摸视频| 免费观看的影片在线观看| 日韩免费av在线播放| 日本黄色片子视频| 热99在线观看视频| 国产色爽女视频免费观看| 亚洲精品粉嫩美女一区| 看黄色毛片网站| 搡老妇女老女人老熟妇| .国产精品久久| 99在线视频只有这里精品首页| 好男人电影高清在线观看| 久久久久性生活片| 精品久久久久久久久亚洲 | 欧美最黄视频在线播放免费| 噜噜噜噜噜久久久久久91| 757午夜福利合集在线观看| av视频在线观看入口| 亚洲成人免费电影在线观看| 精品人妻熟女av久视频| 无遮挡黄片免费观看| 久久伊人香网站| 天堂√8在线中文| 国产精品99久久久久久久久| 亚洲五月天丁香| 日韩欧美 国产精品|