从中国人网站看搜索引擎的ASP服务
时间:2006年12月14日 内容来源: 互诺科技 浏览量:0
  根据中国互联网信息中心的第六次中国互联网络发展状况统计报告, 搜索引擎是仅次于电子邮件的第二大互联网应用。我国55.91 %的网民都使用搜索引擎提供的互联网搜索服务。一个优秀的搜索引擎对于吸引用户、增加网站的粘性是至关重要的。但是搜索引擎是一个技术含量非常高的互联网应用,开发和运行需要花费大量的人力和物力,代价极高。  

  中国人网站(www.chinaren.com)是一个面向全球华人新生代的门户网站。在中国互联网信息中心2000年7月份进行的第六次中国互联网影响力调查中,中国人网站成功进入前10名。作为一个门户网站,其最主要的目标是建立品牌和吸引客户。而要吸引用户,最主要的手段就是为网民提供最好的服务。   中国人网站从一开始就很明白,门户网站的优势并不在于做搜索引擎的开发,他们一直在寻找合作伙伴进行搜索引擎方面的合作。 

   百度公司是一家专门从事搜索引擎及其相关软件开发的互联网公司,它以ASP的方式向门户网站提供技术服务。当百度公司在今年5月份推出百度搜索引擎之后,中国人网站决定和百度合作。在双方共同努力下,仅用了短短的两个星期,就推出了中国第一个提问式搜索引擎--"孙悟空搜索引擎",为用户提供了很好的互联网搜索服务。 

  ■高可靠的服务  

  互联网搜索服务要求能提供每天24小时、每周7天的不间断服务。中国人网站要求系统在99.9%的时间内提供搜索服务。百度公司作为提供搜索引擎服务的ASP,采用了一些技术手段,确保了中国人网站搜索服务的高稳定性和可靠性。 

  1、高可用性的体系结构 

  系统每个部分均采用N+1的冗余设计。当在某个工作模块发生异常时,冗余模块可立即启动使用。系统能够自动检测模块的异常,并自动进行切换。冗余模块有两种配置形式: 

  备用冗余(Standby Redundancy) 冗余模块在工作模块正常工作时不投入使用,只有在工作模块异常时才被启用,一旦原来的工作模块恢复正常,系统便会自动切回到工作模块,而冗余模块重新回到备用状态。   活跃冗余(Active Redundancy) 冗余模块和工作模块同时工作,互为备份。在正常情况下,冗余模块和工作模块共同分担系统负载,在一个模块发生异常时,该模块承担的工作便被分配给其它模块,当异常模块恢复正常后,会自动投入工作。 

  高可用性体系结构保证了系统的高可靠性服务。 

  2、系统异常报警系统 

  当系统模块发生异常时,除了冗余模块立即投入使用外,还必须向工程师报警,从而通过人工干预,尽快修复异常系统。为此,百度公司开发了系统异常报警系统。 

  系统异常报警系统的工作原理是:系统监视程序定期检测被监视对象的工作状态,如果检测到任何不正常状态,立即向系统工程师和相关人员的手机发送短消息、或向寻呼机发送消息进行报警。 

  系统异常报警系统运行在与被监视对象不同的机器上,以进行远程监测。系统可以在半分钟之内检测到系统异常。 

  3、系统异常干预 

  系统工程师在接到系统异常报警后,要立即进行干预,在最短的时间内恢复系统的正常工作。百度把提供ASP服务的机器托管在中国电信。在正常的上班时间,百度通过公司的局域网上网;在下班时间和节假日,百度通过电话拨号上网。电话拨号上网可以通过ISP,但是在高峰时间ISP的电话非常繁忙,有可能不成功,为此,百度在服务器的托管地申请了专用电话,专门用于拨号上网。另外,如果公司的局域网不能连到互联网,这部电话也可以作为上网备份。 

  ■灵活的客户化策略 

  客户化是ASP面临的一个课题。门户网站都有高质量的互联网搜索服务的需求,但是不同的客户又有自己不同的特色需求。对于中国人网站来说,因为是面向年轻人的目标网站,因此追求新、奇、酷。针对这种要求,百度设计了一整套灵活的客户化策略。 

  百度提"内容类聚"和"站点类聚"等丰富的特性供用户选择。用户能够控制搜索结果页面的显示风格和显示内容。在显示内容上,除了从百度搜索引擎返回的搜索结果由百度控制外,其它所有内容(包括广告、到其它页面的链接等)都由客户控制。搜索结果的显示方式和内容也可以定制,如网页的属性(标题、摘要、编码类型、日期、长度、URL)、匹配关键字的颜色、不同页之间的链接方式都可以根据客户的喜好决定。 

  百度从技术上紧密配合实现客户的定制要求。目前百度有三种模式与客户交换搜索结果: 

  服务应用协议模式(Protocol Model) 该模式采用客户/服务员模式。客户的程序与百度的搜索服务器进行通信,通信协议采用百度定义的BSP(Baidu Search Protocol)。这种方式完全由客户控制结果页面的显示方式,百度只返回检索得到的URL及其属性。这种模式最灵活、客户控制度最高,缺点是实现较为复杂,客户需要一定的编程能力。 

  服务应用模板模式(Template Model) 用户事先定义好结果页面的显示内容和显示方式,结果页面完全由百度的搜索引擎构造。用户除了处理与用户的Web接口之外,不做任何工作。这种模式的优点是简单、易于实现,缺点是客户可控制度低,模板的变化频率快,灵活性也很差。 

  服务应用协议模板模式(Protocol Template Model) 这种模式是上述两种模式的结合。客户用显示模板定义结果页面部分内容(往往是检索结果)的显示方式,其余的部分由客户自行决定,整个结果页面的构造由客户完成。检索情况(如有无结果,有无"相关检索"等特性,结果有多少,服务是否正常)的返回遵循百度和客户事先定义好的协议。这种模式既易于实现,又为用户提供了很好的灵活性。 

  中国人网站采用的是服务应用协议模板模式。中国人网站希望提供一种能够理解自然问句的中文搜索引擎,所以网站需要知道每个查询的检索情况,并做相应处理。如果一个检索有结果,网站便将百度搜索引擎返回的URL和自己的广告整合在一起,显示给用户。如果该查询没有结果,网站便进行切词处理,用处理得到的词构造查询串,再次向百度搜索引擎提交,获得检索结果。 

  ■百度搜索引擎的技术特点 

  百度搜索引擎具有响应速度快、查找结果准确全面、时效性强、无效链接少、符合中文语言特点和中国人使用习惯等优点。 

  1、使用智能化的中文语言处理技术 

  百度搜索引擎使用独特的中文语言处理技术巧妙地解决了中文信息的理解问题,信息索引基于字和词,较好地解决了单纯基于字或单纯基于词的缺点,结合了两者的优点,更加符合中文用户的搜索习惯。百度搜索引擎支持主流的中文编码标准(包括GBK、GB2312、BIG5),并且能够在不同的编码之间转换。  

  2、使用可扩展的搜索技术 

  百度搜索使用具有智能性的网络蜘蛛(Spider)自动地在互联网中搜索信息,可定制、高扩展性的调度算法,使得搜索器可在极短的时间内搜集到最大数量的互联网信息,搜集范围涵盖了大部分华语地区和北美、欧洲的部分站点。 

  3、使用智能的相关度评价算法 

  百度搜索引擎采用了基于内容和基于链接分析的方法进行相关度评价,能够客观地分析网页所包含的信息,从而最大限度保证检索出的结果与用户查询串有很高的相关性。    
   
  4、使用高效的搜索算法 

  运用多线程等先进技术,高效的搜索算法和稳定的Unix平台,使每个检索的平均响应时间小于1秒。