摘要:随着各大查找引擎巨子推出了查找效劳的开放API,元查找引擎迎来了新一轮开展。笔者通过对元查找引擎根本架构的剖析,在Java渠道上规划并完成了依据Executor并发结构的元查找引擎数据查询署理模块,一起还对其完成进行了功能剖析。
关键词:元查找引擎;并行;GoogleSearchAPI
中图分类号:TP393.092
面对庞大数量级的互联网信息,各查找引擎的排序算法、查找侧重点、成果显现均有所不同。互联网用户为了查询相关内容,一般需求一起运用多个查找引擎查询内容,然后归纳得出最适合自己的内容。这无可避免地给查找用户带来了查找成本的上升。
元查找引擎作为依据独立查找引擎的查找引擎,是查找引擎开展进程中的一种崭新形式。通过必定战略归纳多个查找引擎的查找成果,元查找引擎可以为用户省去必定额定的查找时刻,方便用户更快速找到适合自己的查询成果。
本文首要是笔者在元查找引擎上进行探究的成果,首要针对笔者规划并完成的元查找引擎中的数据查询署理模块,以及怎么在数据署理中引入多线程,进步并发度。
1功能描述
元查找引擎的查找成果是依据多个成员查找引擎的查找成果进行处理之后得到的。元查找引擎的根本工作原理大致是以下几步:(1)从用户查询界面获取查询信息;(2)将查询信息别离转换为各个成员查找引擎都可以承受的形式;(3)向成员查找引擎提交查询恳求;(4)获取各个成员查找引擎的原始查询成果;(5)对原始查询成果进行预处理、去重、排序等操作,形成最终成果;(6)把最终查询成果回来给用户。
笔者开发的元查找引擎的数据查询署理模块归于元查找引擎完成中的一个重要组成部分,模块通过调用Google和Bing两大查找引擎的SearchAPI,依据查询关键字回来结构化的查询成果。
在完成的技术上,笔者选择依据Java渠道开发,运用Java渠道的成熟多线程运用结构Executor作为核心完成东西,可以方便地运用j.u.c并发类库构建事务。最终完成并发地调用成员查找引擎的SearchAPI,获取原始查找成果。
2模块体系结构
模块整体分为三个部分,榜首部分是接纳外部数据输入的参数设置查询使命,第二部分是在线程池中发动Google和Bing的查询线程,并发完成使命,第三部分是汇总所有查询使命的成果,进行解析并结构化之后输出给外部调用者。
笔者在此次规划的进程中,
宁波网站优化采用的成员查找引擎是著名的两大查找引擎Google和Bing。原因之一是这两个查找引擎在查找技术上均非常优异,领先大部分查找引擎,其二是它们都为一般开发者供给了方便快捷的查找接口。一般开发者只需求通过几个简略的步骤就可以免费运用查找API,并可以设置查找成果的查询词、编码字符集以及回来格局等等。
现对体系三个部分的责任分配描述如下:
2.1设置并发动查询使命。在模块被元查找引擎主线程调用时,首要依据传入的查询参数(如查询词,成果条数,查询类别等)创立担任查询的使命线程。随后还要依照Google和Bing对查询恳求的认证办法供给认证密钥。使命线程设置完成之后,即可将使命线程提交到线程池中并发履行,等候回来成果。
2.2获取并解析查询成果数据。这一部分表示的是查询使命线程的责任。简略来说,查询使命线程的责任就是依照设置好的参数向指定的查找引擎提交查询恳求,接着在获取查询成果之后,对查询成果进行结构化之后将成果回来给调用线程。
2.3生成并输出一致成果集。在获得每一个查询使命线程的查询成果之后,模块还需求将不同查找引擎的回来成果进行一致汇总之后,再将成果回来给元查找引擎主线程。
3核心完成关键
3.1并发查询。模块运用Google和Bing两大查找引擎的SearchAPI来获取查询成果,每一个查询使命只担任同一个查找引擎的通信。
由于希望将查询使命提交到线程池中履行,并且查询使命都需求回来成果,所以查询使命线程不可以完成Runnable,而需求完成Callable接口,代表有回来值的线程办法。查询使命线程的完成算法如下:a.读取特定的查询参数,如字符集编码,查询关键字,回来格局(XML/JSON),验证密钥,回来条数等;b.依据查询参数创立针对某一查找引擎接口的java.net.URL实例,一起调用openConnection()办法提交查询恳求;c.堵塞等候回来成果接纳结束;d.对某一查找引擎的回来成果进行结构化后,回来给元查找引擎主线程。
3.2结构化回来成果。解析成果的意图是从查找成果中抽取有效的查找成果信息。在解析进程中,需求将查找成果分成多条查找成果,每一条查找成果还需求解析出查找成果的标题、URL地址等有效信息。从查找引擎回来的成果中往往包含了许多额定的信息,这些信息可以在日后扩展功能时可以用到,目前暂不考虑。
在Google和Bing的SearchAPI中供给XML和JSON两种格局的回来格局,笔者在体系中采用较为了解的XML回来格局的成果,在解析进程中运用了dom4j进行解析。
4测试与运行成果
比照表1与表2的数据可以发现,数据查询署理模块的均匀呼应时刻T根本符合关系式。一起其呼应时刻较短,根本符合运用要求。
参考文献:
[1](美)BrianGoetz等著,童云兰等译.Java并发编程实战[M].北京:机械工业出版社,2012.
[2]孙卫琴.Java网络编程精解[M].北京:电子工业出版社,2007.
[3]黄素珍,陈宁等.并发多元查找引擎的研讨与运用[J].广西大学学报(自然科学版),2005.
[4]阳小华,刘振宇等.元查找引擎查询成果的合成办法[J].计算机科学,2002.
[5]解冲锋,李星.并行式MetaSearch体系的规划与完成[J].计算机工程与运用,1999.
作者简介:白金平(1992-),男,广东陆丰人,在校学生,软件工程专业,本科,首要研讨方向:效劳端开发技术。
作者单位:吉首大学软件效劳外包学院,湖南张家界427000
基金项目:大学生研讨性学习和创新性试验计划项目(JSU-CX-2012-54)。
本文转载自
宁波网站优化www.leseo.net
补充词条:
宁波seo哪家好
宁波seo外包
宁波seo网站优化
宁波网络seo
宁波网站seo优化