亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        元搜索引擎并行式數(shù)據(jù)查詢代理模塊的設(shè)計(jì)與實(shí)現(xiàn)

        2014-01-01 00:00:00白金平

        摘 要:隨著各大搜索引擎巨頭推出了搜索服務(wù)的開放API,元搜索引擎迎來了新一輪發(fā)展。筆者通過對(duì)元搜索引擎基本架構(gòu)的分析,在Java平臺(tái)上設(shè)計(jì)并實(shí)現(xiàn)了基于Executor并發(fā)框架的元搜索引擎數(shù)據(jù)查詢代理模塊,同時(shí)還對(duì)其實(shí)現(xiàn)進(jìn)行了性能分析。

        關(guān)鍵詞:元搜索引擎;并行;Google Search API

        中圖分類號(hào):TP393.092

        面對(duì)龐大數(shù)量級(jí)的互聯(lián)網(wǎng)信息,各搜索引擎的排序算法、搜索側(cè)重點(diǎn)、結(jié)果顯示均有所不同?;ヂ?lián)網(wǎng)用戶為了查詢相關(guān)內(nèi)容,通常需要同時(shí)使用多個(gè)搜索引擎查詢內(nèi)容,然后綜合得出最適合自己的內(nèi)容。這無可避免地給搜索用戶帶來了搜索成本的上升。

        元搜索引擎作為基于獨(dú)立搜索引擎的搜索引擎,是搜索引擎發(fā)展過程中的一種嶄新形式。通過一定策略綜合多個(gè)搜索引擎的搜索結(jié)果,元搜索引擎能夠?yàn)橛脩羰∪ヒ欢~外的搜索時(shí)間,方便用戶更快速找到適合自己的查詢結(jié)果。

        本文主要是筆者在元搜索引擎上進(jìn)行探究的成果,主要針對(duì)筆者設(shè)計(jì)并實(shí)現(xiàn)的元搜索引擎中的數(shù)據(jù)查詢代理模塊,以及如何在數(shù)據(jù)代理中引入多線程,提高并發(fā)度。

        1 功能描述

        元搜索引擎的搜索結(jié)果是基于多個(gè)成員搜索引擎的搜索結(jié)果進(jìn)行處理之后得到的。元搜索引擎的基本工作原理大致是以下幾步:(1)從用戶查詢界面獲取查詢信息;(2)將查詢信息分別轉(zhuǎn)換為各個(gè)成員搜索引擎都能夠接受的形式;(3)向成員搜索引擎提交查詢請(qǐng)求;(4)獲取各個(gè)成員搜索引擎的原始查詢結(jié)果;(5)對(duì)原始查詢結(jié)果進(jìn)行預(yù)處理、去重、排序等操作,形成最終結(jié)果;(6)把最終查詢結(jié)果返回給用戶。

        筆者開發(fā)的元搜索引擎的數(shù)據(jù)查詢代理模塊屬于元搜索引擎實(shí)現(xiàn)中的一個(gè)重要組成部分,模塊通過調(diào)用Google和Bing兩大搜索引擎的Search API,根據(jù)查詢關(guān)鍵字返回結(jié)構(gòu)化的查詢結(jié)果。

        在實(shí)現(xiàn)的技術(shù)上,筆者選擇基于Java平臺(tái)開發(fā),運(yùn)用Java平臺(tái)的成熟多線程應(yīng)用框架Executor作為核心實(shí)現(xiàn)工具,能夠方便地使用j.u.c并發(fā)類庫(kù)構(gòu)建業(yè)務(wù)。最終實(shí)現(xiàn)并發(fā)地調(diào)用成員搜索引擎的Search API,獲取原始搜索結(jié)果。

        2 模塊系統(tǒng)結(jié)構(gòu)

        模塊總體分為三個(gè)部分,第一部分是接收外部數(shù)據(jù)輸入的參數(shù)設(shè)置查詢?nèi)蝿?wù),第二部分是在線程池中啟動(dòng)Google和Bing的查詢線程,并發(fā)完成任務(wù),第三部分是匯總所有查詢?nèi)蝿?wù)的結(jié)果,進(jìn)行解析并結(jié)構(gòu)化之后輸出給外部調(diào)用者。

        筆者在此次設(shè)計(jì)的過程中,采用的成員搜索引擎是著名的兩大搜索引擎Google和Bing。原因之一是這兩個(gè)搜索引擎在搜索技術(shù)上均非常優(yōu)秀,領(lǐng)先大部分搜索引擎,其二是它們都為普通開發(fā)者提供了方便快捷的搜索接口。普通開發(fā)者只需要經(jīng)過幾個(gè)簡(jiǎn)單的步驟就可以免費(fèi)使用搜索API,并能夠設(shè)置搜索結(jié)果的查詢?cè)~、編碼字符集以及返回格式等等。

        現(xiàn)對(duì)系統(tǒng)三個(gè)部分的職責(zé)分配描述如下:

        2.1 設(shè)置并啟動(dòng)查詢?nèi)蝿?wù)。在模塊被元搜索引擎主線程調(diào)用時(shí),首先根據(jù)傳入的查詢參數(shù)(如查詢?cè)~,結(jié)果條數(shù),查詢類別等)創(chuàng)建負(fù)責(zé)查詢的任務(wù)線程。隨后還要依照Google和Bing對(duì)查詢請(qǐng)求的認(rèn)證方式提供認(rèn)證密鑰。任務(wù)線程設(shè)置完成之后,即可將任務(wù)線程提交到線程池中并發(fā)執(zhí)行,等待返回結(jié)果。

        2.2 獲取并解析查詢結(jié)果數(shù)據(jù)。這一部分表示的是查詢?nèi)蝿?wù)線程的職責(zé)。簡(jiǎn)單來說,查詢?nèi)蝿?wù)線程的職責(zé)就是按照設(shè)置好的參數(shù)向指定的搜索引擎提交查詢請(qǐng)求,接著在獲取查詢結(jié)果之后,對(duì)查詢結(jié)果進(jìn)行結(jié)構(gòu)化之后將結(jié)果返回給調(diào)用線程。

        2.3 生成并輸出統(tǒng)一結(jié)果集。在獲得每一個(gè)查詢?nèi)蝿?wù)線程的查詢結(jié)果之后,模塊還需要將不同搜索引擎的返回結(jié)果進(jìn)行統(tǒng)一匯總之后,再將結(jié)果返回給元搜索引擎主線程。

        3 核心實(shí)現(xiàn)要點(diǎn)

        3.1 并發(fā)查詢。模塊使用Google和Bing兩大搜索引擎的Search API來獲取查詢結(jié)果,每一個(gè)查詢?nèi)蝿?wù)只負(fù)責(zé)同一個(gè)搜索引擎的通信。

        因?yàn)橄M麑⒉樵內(nèi)蝿?wù)提交到線程池中執(zhí)行,并且查詢?nèi)蝿?wù)都需要返回結(jié)果,于是查詢?nèi)蝿?wù)線程不能夠?qū)崿F(xiàn)Runnable,而需要實(shí)現(xiàn)Callable接口,代表有返回值的線程方法。查詢?nèi)蝿?wù)線程的實(shí)現(xiàn)算法如下:a.讀取特定的查詢參數(shù),如字符集編碼,查詢關(guān)鍵字,返回格式(XML/JSON),驗(yàn)證密鑰,返回條數(shù)等;b.根據(jù)查詢參數(shù)創(chuàng)建針對(duì)某一搜索引擎接口的java.net.URL實(shí)例,同時(shí)調(diào)用openConnection()方法提交查詢請(qǐng)求;c.阻塞等待返回結(jié)果接收完畢;d.對(duì)某一搜索引擎的返回結(jié)果進(jìn)行結(jié)構(gòu)化后,返回給元搜索引擎主線程。

        3.2 結(jié)構(gòu)化返回結(jié)果。解析結(jié)果的目的是從搜索結(jié)果中抽取有效的搜索結(jié)果信息。在解析過程中,需要將搜索結(jié)果分成多條搜索結(jié)果,每一條搜索結(jié)果還需要解析出搜索結(jié)果的標(biāo)題、URL地址等有效信息。從搜索引擎返回的結(jié)果中往往包含了許多額外的信息,這些信息能夠在日后擴(kuò)展功能時(shí)能夠用到,目前暫不考慮。

        在Google和Bing的Search API中提供XML和JSON兩種格式的返回格式,筆者在系統(tǒng)中采用較為熟悉的XML返回格式的結(jié)果,在解析過程中使用了dom4j進(jìn)行解析。

        4 測(cè)試與運(yùn)行結(jié)果

        對(duì)比表1與表2的數(shù)據(jù)可以發(fā)現(xiàn),數(shù)據(jù)查詢代理模塊的平均響應(yīng)時(shí)間T基本符合關(guān)系式。同時(shí)其響應(yīng)時(shí)間較短,基本符合使用要求。

        參考文獻(xiàn):

        [1](美)Brian Goetz等著,童云蘭等譯.Java并發(fā)編程實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2012.

        [2]孫衛(wèi)琴.Java網(wǎng)絡(luò)編程精解[M].北京:電子工業(yè)出版社,2007.

        [3]黃素珍,陳寧等.并發(fā)多元搜索引擎的研究與應(yīng)用[J].廣西大學(xué)學(xué)報(bào)(自然科學(xué)版),2005.

        [4]陽(yáng)小華,劉振宇等.元搜索引擎查詢結(jié)果的合成方法[J].計(jì)算機(jī)科學(xué),2002.

        [5]解沖鋒,李星.并行式Meta Search系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,1999.

        作者簡(jiǎn)介:白金平(1992-),男,廣東陸豐人,在校學(xué)生,軟件工程專業(yè),本科,主要研究方向:服務(wù)端開發(fā)技術(shù)。

        作者單位:吉首大學(xué)軟件服務(wù)外包學(xué)院,湖南張家界 427000

        基金項(xiàng)目:大學(xué)生研究性學(xué)習(xí)和創(chuàng)新性實(shí)驗(yàn)計(jì)劃項(xiàng)目(JSU-CX-2012-54)。

        精品免费国产一区二区三区四区| 日本肥老熟妇在线观看| 日本一区二区在线播放| 亚洲av久播在线一区二区| 4hu四虎永久在线观看| 国产亚洲一本大道中文在线| 国产高跟丝袜在线诱惑| 美女人妻中出日本人妻| 狠狠躁天天躁中文字幕| 丰满岳乱妇在线观看中字无码| 男人的天堂av一二三区| 日韩精品一区二区免费| 又粗又硬又大又爽免费视频播放| 国产精品亚洲一区二区无码 | 丝袜美腿在线观看视频| 五月av综合av国产av| 久久综合精品国产丝袜长腿| 91精品欧美综合在线观看| 成人国产一区二区三区av| 久久狠狠爱亚洲综合影院| 久久婷婷国产剧情内射白浆 | 国产精品一区二区久久精品| 亚洲伊人久久综合精品| 青青草视频在线观看色| 亚洲综合色区另类av| 亚洲人妻无缓冲av不卡| 亚洲偷自拍国综合第一页国模| 天天做天天摸天天爽天天爱| 色爱区综合五月激情| 亚洲图片第二页| 久久精品国产亚洲av成人文字| 免费毛片a线观看| 亚洲AV无码国产永久播放蜜芽| 精品色老头老太国产精品| 内射人妻无套中出无码| 国产精品污www一区二区三区| 无码成人AV在线一区二区| 中文字幕影片免费人妻少妇| 久久综合给合综合久久| 婷婷第四色| 中文字幕午夜精品一区二区三区|