




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
搜索引擎技术介绍
屈波
2007年8月搜索引擎技术介绍
屈波
2007年8月目录一、搜索引擎总体介绍二、爬虫技术介绍三、中文分词和排序算法介绍四、查询/存储技术、CacheServer介绍五、内部、外部监控系统介绍六、移动通信运营商搜索引擎独特优势目录一、搜索引擎总体介绍一、搜索引擎总体介绍(一)搜索引擎定义
“搜索引擎”技术,完全来源于历史悠久的全文检索技术。 “搜索引擎”从字面上可拆分为“搜”、“索”、“引擎”三个含义。
“搜”就是大量信息的抓取,抓取回来后的信息进行智能提取、排重、质量分析等处理。
“索”就是大量处理后信息的存储、信息排序、快速查询等。
“引擎”就是指系统不但能存储亿级的数据,而且还能有巨大的并发处理能力,这样的系统才有资格被叫着“引擎”。一、搜索引擎总体介绍(一)搜索引擎定义一、搜索引擎总体介绍(二)搜索引擎和移动搜索引擎
搜索引擎也可以看成为“专家系统”,通过把数百亿互联网网页所提供的信息,作为其庞大的“知识库”,通过用户的输入词,找到相关信息。
从技术上来讲,基于手机的移动搜索引擎,在其技术上和搜索引擎是完全一样的。 用户查询信息的媒体,由PC被手机替代,可以随时随地提供搜索服务,用户更方便地进行信息查询。并且,手机的用户群体是远大于PC用户群体,所以,移动搜索引擎肯定是搜索引擎领域未来发展的重点和方向。
一、搜索引擎总体介绍(二)搜索引擎和移动搜索引擎一、搜索引擎总体介绍(三)搜索引擎主要核心技术:
搜索引擎主要核心技术为: (1)中英文分词语言处理; (2)排序算法; (3)网络爬虫; (4)查询/存储技术
开发搜索引擎系统主要涉及到的具体技术为: (1)http网络协议. (2)多线程技术. (3)socket通信. (4)高效服务端程序开发.一、搜索引擎总体介绍(三)搜索引擎主要核心技术:一、搜索引擎总体介绍(四)系统图:一、搜索引擎总体介绍(四)系统图:一、搜索引擎总体介绍(五)全文检索系统和搜索引擎关系:1、搜索引擎技术来源于全文检索系统,搜索引擎是全文检索技术最重要的一个运用.2、搜索引擎在数据总量,最大并发处理能力,单次查询速度方面,都远远强大于全文检索系统.3、搜索引擎为了最求最高的查询速度,在搜索结果准确性及搜索结果重现方面,都弱于全文检索系统.一、搜索引擎总体介绍(五)全文检索系统和搜索引擎关系:一、搜索引擎总体介绍(六)全文检索系统和搜索引擎比较:类别全文检索搜索引擎信息获得信息获得比较容易,被检索内容基本上都是规范化信息.信息获得困难,特别是信息提取的准确率受算法影响很大.信息总量支持的信息总量较少,搜索速度受信息总量增加而递减.支持几十亿到几百亿的信息总量,搜索速度和信息总量基本无关.分词技术分词准确性较高,分词速度中等,搜索结果比较满意.词库更新慢.分词速度极快,分词准确性中等.新词补充及时.存储索引索引结果硬盘存储,系统内存消耗较少,可和其他程序并存.索引结果,以内存存储为主,硬盘存储为辅,大多独占操作系统.搜索耗时搜索用时为秒级,只支持小用户量并发.搜索用时可达到毫秒级,拥有超强并发处理能力.搜索结果搜索结果准确,结果总数为实际数目,搜索结果能准确重现.结果不够准确,只提供全部结果的前面部分,搜索结果不保证重现.系统规模系统简单,服务器硬件投入较少,硬件管理比较轻松.系统庞大,服务器硬件投入巨大,几百台服务器到几十万台服务器.一、搜索引擎总体介绍(六)全文检索系统和搜索引擎比较:类别全二、爬虫技术介绍(一)爬虫技术总体介绍:
网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。 网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。通过DNSCache技术,减少爬虫对DNS的访问频率,避免DNS成为网络瓶颈,提高抓取速度。
网络爬虫还要完成信息提取任务,对于抓取回来的网页提取出来:新闻、电子图书、行业信息等。对于MP3、图片、Flash等各种不同内容,要实现自动识别、自动分类及相关属性测试(例如:MP3文件要包含的文件大小,下载速度等属性)。二、爬虫技术介绍(一)爬虫技术总体介绍:二、爬虫技术介绍(二)抓取对象:
1.静态网页:爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。
2.动态网页:分析动态网页参数,按照一定规章,“拼”出所有要被抓取内容URL,只抓取这些特定范围内动态网页。 3.特殊内容:比如RSS、XML数据,情况特殊需特殊处理。如新闻的滚动新闻页面,需要爬虫不停地监控扫描,发现新内容马上就进行抓取。
4.文件对象:图片,MP3、Flash、视频等文件的抓取,都要特殊处理。比如说:图片抓取出来后,要知道图片文件类型、图片文件的大小、图片的像素大小,还要转换出来缩略图。二、爬虫技术介绍(二)抓取对象:二、爬虫技术介绍(三)抓取策略:
1.深度优先策略:对于一些大网站及静态网页为主的抓取内容,采取深度策略抓取,便于在最短时间内获得最大量内容。
2.广度优先策略:对于一些动态网页或小网站,采取广度策略抓取,同时对多个网站进行抓取,减小对各个小网站的压力,避免造成恶意攻击。
3.合作抓取策略:由被抓取网站,提供可被抓取内容的sitemap网站地图,双方协议好,只抓取这些特定内容,在抓取速度及时间上双方前期进行协商。另外还可以完全由被抓取方,提供详细内容,抓取过程都可以省略一些步骤。二、爬虫技术介绍(三)抓取策略:二、爬虫技术介绍(四)爬虫程序介绍:1.单线程模型
URL任务列表互联网DNSCacheDNS内容处理,分析出新的URL,URL检查二、爬虫技术介绍(四)爬虫程序介绍:URL二、爬虫技术介绍(四)爬虫程序介绍:2.多线程模型(省略掉DNSCache部分)
URL任务列表互联网......线程1临界区线程2线程N二、爬虫技术介绍(四)爬虫程序介绍:URL二、爬虫技术介绍(四)爬虫程序介绍:3.爬虫集群模型
URL任务列表互联网......Spider管理器Spider1Spider2SpiderN二、爬虫技术介绍(四)爬虫程序介绍:URL二、爬虫技术介绍(五)内容提取:
内容提取是《模式识别》学科范围内容,对获得的信息进行预处理后,按照特征值提前和选择,最后进行内容的识别。内容提取的准确率受算法影响较大,尤其是新闻、图片等内容。动态网页比较容易的通过网页比对,整理出其网页设计模板,按照模板可以准确率较高的完成提取。
网页内容的正确提取,对排序算法设计,也有非常重要的影响。 判断两个内容是否相同的排重算法,一般按照贝叶斯决策理论进行处理,判断两个内容的相似度,最常用于相同新闻的判断。信息获得预处理特征值提取和选择训练过程分类器设计分类决策二、爬虫技术介绍(五)内容提取:信息获得预处理特征值提取二、爬虫技术介绍(五)内容提取:
因为目前WAP网页数据总量过少,另外WAP网页包含数据也过少,在基于WAP网页的搜索引擎中,带给用户的信息总量过少,所以基于WAP内容的搜索发展缓慢。
对Web网页内容如能进行提取出最关键内容,有一套高效的智能内容提取程序。在移动搜索引擎中,搜索内容为智能提取出来的Web网页内容,这将大大加快移动搜索服务发展。 Web网页内容的智能提取,属于复杂数据类型挖掘,其程序算法难度非常大。
二、爬虫技术介绍(五)内容提取:三、中文分词和排序算法介绍(一)中文分词:
自然语言理解和处理,是人工智能的重要的研究领域之一,是语言学、逻辑学、生理学、心理学、计算机科学和数学等相关学科发展和结合而形成的一门交叉学科。
分词作为搜索引擎的一项核心功能,和存储和查询有重大关系。但是不同的研究角度,不同的研究方向,带来研究重点和研究结果都是不一样的。 语言学方向研究的分词算法,看重分词的准确性,不看重运算速度;而搜索引擎的分次算法,特别看重分词速度,分词准确性中等。
语言词汇语法词熟语词素词法句法造句法词组构造法构形法构词法三、中文分词和排序算法介绍(一)中文分词:语言词汇语法词熟三、中文分词和排序算法介绍(一)中文分词:
以英文为代表的字母型文字,按照空格和标点符号比较容易实现分词,而以中文为代表的东亚语系文字,在分词方面,却存在巨大的困难。 据说百度(也包括北大天网)在早期时,所有的中文文字,全部拆分为一个个的单字,搜索效果比较差。但也有特殊效果,比如说:搜“我为秋香”,能够搜到唐伯虎的著名藏头文。
我康宣今年一十八岁,姑苏人氏,身家清白,素无过犯。只
为家况清贫,鬻身华相府中,充当书僮。身价银五十两,自
秋节起,暂存帐房,俟三年后支取。从此承值书房,每日焚
香扫地,洗砚磨墨等事,听凭使唤。从头做起,立契为凭。三、中文分词和排序算法介绍(一)中文分词:三、中文分词和排序算法介绍(一)中文分词:
搜索引擎的中文分词,在算法上有两种,一个用于后台索引处理,一个用于前端对搜索词进行分词处理。 比如说:有一条纪录内容为“中国人民解放军”。
在构建后台索引时,可分词为:“中国人民解放军”、“中国”、“人民”、“解放军”、“中”、“国”、“人”、“民”、“解”、“放”、“军”,对这11个字词都要建立索引。这样做的目的是为了,当搜索词为上面这11种中任何一个时,都能在各自索引库中找到“中国人民解放军”这条纪录。 搜索词为“中国人民解放军”,在其前端的分词处理,就只分词为:“中国人民解放军”或“中国+人民+解放军”或“中国+人民解放军”。
三、中文分词和排序算法介绍(一)中文分词:三、中文分词和排序算法介绍(一)中文分词:
因为中文本身存在着很大的歧义性,同样一句话,不同的断句,表达的意思就不一样。这对于计算机去做机器分析,就带来了巨大的困难。 下面的中文断句,来自百度广告宣传片: 「我知道你不知道我知道你不知道我知道你不知道」
「我知道,你不知道。我知道,你不知道我知道,你不知道」
「我知道你,不知道我。知道你不知道我,知道你不知道」
「我,知道你不知道我知道。你,不知道我知道你不知道」
三、中文分词和排序算法介绍(一)中文分词:三、中文分词和排序算法介绍(一)中文分词:
另外中文的具体含义,还必须放在具体的前后语言环境中去分析。 比如说:
「乒乓球拍卖完了」 我去学校商店,发现「乒乓球拍卖完了」 在今天的慈善拍卖会上,世界冠军们夺冠时的「乒乓球拍卖完了」
中文分词,在具体的算法实现上分为三种: 1.字符串匹配(正序、逆序、最少切分、最大切分等) 2.基于理解(词法,句法等方式处理) 3.基于统计 在中文搜索引擎中,目前基本上是这三种算法混合使用。第二种的算法实现起来过于复杂,所以以第一种和第三种算法为主。三、中文分词和排序算法介绍(一)中文分词:三、中文分词和排序算法介绍(一)中文分词:
语言本身也是在不停的进化和发展的,新的词语层出不穷,一些老的词语渐渐被弃用。作为中文分词的基础词库,其新词补充和老词删除就是非常重要的工作。 “超级女声”、“超女”、“李宇春”、“八荣八耻”、“非典”,当这些新词的出现时,搜索引擎需要快速捕捉到,并且马上把其添加到分词系统中去。
如何判断那些词是新词,这就全部倚靠算法来实现。新词捕捉主要来源于新闻和网络BBS论坛,主要机制是依靠统计程序,统计上升速度最高的词。另外作为搜索引擎公司,对众多用户的搜索词进行“用户行为”分析,也能提高其“新词补充”效果。
三、中文分词和排序算法介绍(一)中文分词:三、中文分词和排序算法介绍(二)排序算法: 搜索引擎的排序算法(rankingalgorithm),决定了各个网页、图片、MP3等数据的重要性排列顺序,也决定了最终用户查询到的数据排序。搜索引擎的排序算法是人工智能的完满体现,它是对百亿级数据进行重要性分析的数学实现。 “PageRank”是Google公司在排序算法上的专利技术,也是Google能从众多搜索引擎公司中脱颖而出的最核心技术,作为其搜索服务能够超过其他竞争对手最有力的武器。
不同搜索引擎公司排序算法的优劣,直接决定了广大搜索引擎用户对搜索服务的选择,在互联网上,一个普通用户更换搜索服务只需要5秒钟,所以排序算法就成为了各个搜索引擎公司最核心机密。另外,每个搜索引擎公司也必须不停地改进其排序算法。三、中文分词和排序算法介绍(二)排序算法:三、中文分词和排序算法介绍(二)排序算法:
排序算法部分参考指标:指标加分减分网站硬件指标网站网络好,系统稳定网站系统不稳定,网络不好网站包含网页数总网页数目多总网页数目少网页大小网页大小适中网页多大或过小其他网页链到本网页数目多数目少网页内URL数数目适中过多或过少网页相关性URL连接网页是相关内容URL连接网页不是相关内容网页更新/生成日期日期近的日期远的网页类型静态网页动态网页网页内样式网页设计样式中等网页设计样式过于复杂或简单网页具体内容分词后,各个词权重总和高分词后,各个词权重总和低用户访问行为点击多的网页点击少的网页三、中文分词和排序算法介绍(二)排序算法:指标加分减分网站硬三、中文分词和排序算法介绍(二)排序算法:
排序算法虽然解决了网页排序的问题,但是有时候有些搜索结果还是很难让用户满意。为此,搜索引擎排序算法一项重要改进:“聚类”,就被引进来提高排序效果。 “聚类”方法,是把网页分类成各种不同类型,比如说:分类为“体育”、“娱乐”、“军事”、“旅游”、“金融”、“政治”、“汽车”、“房产”等。针对每一种分类,各自有一套专用的排序算法。
当查询词为“高尔夫”时,查询结果为“体育”+“汽车”,排序算法为通用算法;但当查询词为“高尔夫伍兹”时,其分类就能确定为“体育”,其排序算法就采用“体育”类别的算法。三、中文分词和排序算法介绍(二)排序算法:三、中文分词和排序算法介绍三、中文分词和排序算法介绍四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
存储技术是搜索引擎在提供搜索服务时的关键技术,系统如何去存储上百亿的网页数据,如何科学高效地提供搜索结果,这些都会影响用户的“搜索用时”。
搜索引擎之所以能够给同时给众多用户,在豪秒级的范围内就能提供搜索结果,其技术秘密就是绝大部分查询结果都是提前完成运算,搜索结果早已存储在其服务器上。 数据的存储,当然会受硬件条件的影响,不能够把所有数据都存储在内存中,部分数据还需存储在硬盘中,这其中就有个存储策略。存储网页数据时,权值高的网页数据存储在内存,权值低的存储在硬盘。四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
搜索引擎的数据存储主要分为两部分: 第一部分:网页数据,包含:网页编号、URL、标题、内容摘要、网页大小等。
第二部分:词库索引数据,包含:中文词库中的字词、英文单词、每个字词对应网页编号队列等。 网页编号是唯一编号,不得重复。查询时,通过词库索引得到网页编号,然后在网页数据中,得到各自网页的相关数据。四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术: 对于每一个网页,包含:网页编号、URL、标题、内容摘要、网页大小等信息。可由下面结构体来描述: (1)网页编号 char16 (2)URL char256 (3)标题 char56 (4)内容摘要 char256 (5)网页大小 char8
这样一来,每个网页数据的存储大小为592字节。网页数据的网页编号是连续的,所以网页数据的存储也可以连续存储。四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术: “网页数据”的存储分为内存存储和硬盘文件存储两种方式: (1)内存存储方式时,因为每个网页数据都是大小一样的,再加上数据存储是连续的,所以在查询时,只要知道数据存储的起始位置,就可直接算出网页数据的开始及结束位置,从而获得网页数据信息。1G内存大概能存储180万条网页信息(每条592字节)。 (2)硬盘文件方式存储,把连续一定数量的网页数据信息,写入到一个文件中去,比如说10万条存储为一个文件,然后把全部硬盘存储的网页数据都存储到硬盘文件系统中去。这样一来,基于硬盘文件存储的网页数据在读取时,就要先算出来网页数据存储在那个文件,然后打开文件读去出来该网页数据信息。硬盘文件方式存储,也是全文检索系统中最主要的存储方式。 内存存储查询速度快,但信息存储总量有限;硬盘文件方式存储查询速度慢,高并发查询时还容易造成硬件快速损耗,但存储容量巨大。四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
“词库索引数据”的存储采用内存存储方式: 对于每一篇网页内容,采用存储的分词算法进行处理,分出来的词为最多的分法,方便对各个相关字词都能建立索引。 所有的网页内容都以按照排序算法从大到小的顺序排列好,所以,每个字词的网页索引队列也是按照排序算法从大到小的排列。 词库中所有字词,都是按照Hash分布来排列,便于查询词分词后能够快速找个各个词库中字词对于的网页结果ID队列。
四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
搜索引擎常规存储/查询步骤如下: (1)对搜索词进行分词处理,看能分出来多少个字词; 举例说明:
比如说用户的搜索词为“屈波搜索引擎”,系统在接到这个查询语句后,对其进行查询词分词处理,分词后为“屈波”+“搜索引擎”。用户查询词屈波搜索引擎屈波+搜索引擎查询词分词后四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
搜索引擎常规存储/查询步骤如下: (2)通过Hash查找到步骤(1)中各个字词的网页ID队列; 举例说明: 系统得到“屈波”和“搜索引擎”各自的Hash值,比如说Hash值“屈波”为256,“搜索引擎”为1024,然后找到这两个词各自的网页ID队列,如下图所示两个队列为“网页ID队列2”和“网页ID队列4”。 屈波256256屈原…………屈波网页ID序列1网页ID序列2……搜索引擎10241024搜索搜索引擎网页ID序列3网页ID序列4…………四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
搜索引擎常规存储/查询步骤如下: (3)对步骤(2)中找到个各个网页ID队列做“与”、“或”、“非”的逻辑运算; (4)获得最后的搜索结果网页ID队列。 举例说明: “屈波”和“搜索引擎”对应队列为“网页ID队列2”和“网页ID队列4”,对这两个队列做“与”运算。
屈波网页ID序列21,3,5,9,11搜索引擎网页ID序列41,2,5,8,11与运算1,5,11网页ID序列四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
搜索引擎常规存储/查询步骤如下: (5)完成分页显示处理,计算出最后要显示的各个网页ID队列(互联网搜索网页时一般每页显示10条,所以,这个数目最多为10),通过这些网页ID,查找到相关的网页结构体存储内容,显示搜索结果给用户。 举例说明: “屈波”和“搜索引擎”是用户查询词进行分词出来的两个词,在具体的网页标题和网页内容摘要中,分别对这两个词做红色醒目标记。四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(二)CacheServer:
WebServer在接受到搜索请求后,对搜索结果完成查询时分词处理,然后向“索引服务器”发出查询请求,
“索引服务器”返回结果;WebServer对结果进行必要处理,然后向“网页内容”服务器通信,获得各个网页内容;最后WebServer给用户显示搜索结果。
WebServer索引服务器IndexServer网页内容服务器PageContentServer用户四、查询/存储技术、CacheServer介绍(二)Ca四、查询/存储技术、CacheServer介绍(二)CacheServer:
在对用户行为进行分析后发现,非常多的查询词经常被用户查询,这些词被称为“搜索高频词”。为此,设计出来CacheServer(CS)用于存储这些高频词的搜索结果,每当后台系统更新后,这些高频词先进行查询,然后把查询结果放到CS中,从而减少系统后台压力。
WebServer用户CS索引服务器IndexServer网页内容服务器PageContentServer四、查询/存储技术、CacheServer介绍(二)Ca四、查询/存储技术、CacheServer介绍(二)CacheServer:
CS还可以部署在“索引服务器”、“网页内容服务器”和WebServer之间,提高这两个后台服务器的效率。WebServerCSCS索引服务器IndexServer网页内容服务器PageContentServer四、查询/存储技术、CacheServer介绍(二)Ca四、查询/存储技术、CacheServer介绍(二)CacheServer:
CS自我定期更新策略: CS在其设计中,重点考虑其拦截率,所以,CS的自我定期更新策略就特别重要。CS在其初始化阶段,其存储数据主要来源于原来的日志统计结果;在CS运行后,CS要实时监控当前数据流,并定期进行自我更新,把那些没有被访问过或低访问率的数据删除,增加新增数据。
CS虽然可以提高数据访问时的速度,但如果设计出来的CS命中率过低的话,对整个系统效率还反而带来降低,所以CS不能滥用,要结合系统实际负荷来设计和部署CS系统。
四、查询/存储技术、CacheServer介绍(二)Ca五、内部、外部监控系统介绍
(一)监控系统介绍:
以数据库为核心存储的系统,所有数据存储任务基本上都由数据库来承担,软件系统的稳定性很高,对硬件设备的稳定性要求也高,为满足高用户并发量,硬件投入成本惊人。 搜索引擎系统的数据存储,都由自己开发的存储技术来存储,并且很多数据都存储于内存中,存储系统相对硬盘存储为主的数据库系统而言比较脆弱。正因为如此搜索引擎更多依靠软件设计来提高系统的稳定性,硬件系统多采用稳定性较差的相对廉价硬件,通过数量来保证质量,而不是依靠稳定性高价格昂贵的硬件设备。
引入了多重的“内部备份系统”,搜索引擎系统就比传统的其他互联网、银行、电信等系统,要庞大和复杂很多,这也带来了监控工作的巨大困难。五、内部、外部监控系统介绍
(一)监控系统介绍:五、内部、外部监控系统介绍
(一)监控系统介绍:
以Google为例,它在全球建立了几十个数据中心,每个数据中心运行上万台服务器,目前它在全球有几十万台服务器,因此它的搜索服务能够减少地震、火灾等自然灾害的影响。2006年底,中国因为海底光纤损坏,众多互联网服务都受到影响,而Google在中国的服务,没受到影响,就是因为其遍布全球的数据中心和灾难应急处理对策。五、内部、外部监控系统介绍
(一)监控系统介绍:五、内部、外部监控系统介绍
(一)监控系统介绍:
负载平衡一直是搜索引擎系统中最关键的技术,通过一整套的“负载平衡”软、硬件解决方案,来确保整个搜索引擎系统的稳定性及可靠性,才能给众多用户提供7X24小时的优质搜索服务。 WebServer用户IndexServer1提供服务中…PageContentServer1提供服务中…IndexServer2提供服务中…PageContentServer2提供服务中…IndexServer3准备提供服务中…IndexServer4数据更新过程中……………五、内部、外部监控系统介绍
(一)监控系统介绍:W五、内部、外部监控系统介绍
(一)监控系统介绍:
搜索引擎系统的监控系统,分为内部和外部两部分。
(1)内部监控系统: 内部监控系统,以监控服务器硬件运行状况、网络通信设备是否畅通、服务器上各个程序是否运行正常为主,属于微观监控系统。 (2)外部监控系统: 外部监控系统,监控网页、新闻、图片、MP3等搜索服务是否运行正常、是否存在大规模恶意攻击、各个地区的总访问量的变化趋势等,属于宏观监控系统。五、内部、外部监控系统介绍
(一)监控系统介绍:五、内部、外部监控系统介绍
(二)内部监控系统介绍: 内部监控程序管理服务器系统,也可叫为整个搜索引擎的“内部管理系统”,算是整个搜索引擎的中枢神经,它要实现自己管理、自我应急处理、自我灾难恢复等多种任务。 内部监控系统的核心,是一个个运行在每个服务器上的监控程序,这些程序常被叫为“心跳程序”或“脉冲程序”。这些程序按照一定周期向设定好的监控程序管理服务器程序,发送该台服务器及服务器上程序的运行状况,它们的工作原理和木马程序有些类似。
监控程序管理服务器程序,收集各个服务器上监控程序返回数据,了解各个服务器硬件运行情况,了解及各个服务程序的运行情况。当一个程序或服务器硬件出现问题时,监控程序管理服务器程序要做出必要的反应,修改搜索引擎各个程序之间的内部通信规则,换上备用系统或调整负载平衡规则,从而保证搜索服务不受到影响。
五、内部、外部监控系统介绍
(二)内部监控系统介绍:五、内部、外部监控系统介绍
(二)内部监控系统介绍: 举例说明内部监控系统运行原理: 如下图所示,举例IndexServer、WebServer、内部监控程序Monitor和内部监控程序管理服务器程序MonitorServer它们之间处理危机时的流程。 IS:IndexServer,MS:MonitorServer,WS:WebServer。
WSMonitor4IS1Monitor1提供服务中…MSIS2Monitor2提供服务中…IS3Monitor3准备提供服务中…用户五、内部、外部监控系统介绍
(二)内部监控系统介绍:五、内部、外部监控系统介绍
(二)内部监控系统介绍: 举例说明内部监控系统运行原理: (1)IS2出现问题,不能继续提供服务,Monitor2发现错误及时向MS发出错误报告。
WSMonitor4IS1Monitor1提供服务中…
MSIS2
Monitor2提供服务中…IS3Monitor3准备提供服务中…用户五、内部、外部监控系统介绍
(二)内部监控系统介绍:五、内部、外部监控系统介绍
(二)内部监控系统介绍: 举例说明内部监控系统运行原理: (2)MS接收到Monitor2发来的错误报告后,向WS发出修改内部通信规则,删除WS和IS2的通信,增加WS和IS3的通信。
WSMonitor4IS1Monitor1提供服务中…
MSIS2Monitor2提供服务中…IS3Monitor3准备提供服务中…用户五、内部、外部监控系统介绍
(二)内部监控系统介绍:五、内部、外部监控系统介绍
(二)内部监控系统介绍: 举例说明内部监控系统运行原理: (3)WS中断和IS2的通信,增加和IS3的通信。
WSMonitor4IS1Monitor1提供服务中…MSIS2Monitor2停止服务中…IS3Monitor3提供服务中…用户五、内部、外部监控系统介绍
(二)内部监控系统介绍:五、内部、外部监控系统介绍
(二)内部监控系统介绍: 举例说明内部监控系统运行原理: (4)MS向IS2发出服务恢复服务,IS2服务自动恢复。 WSMonitor4IS1Monitor1提供服务中…
MSIS2Monitor2程序服务恢复中…IS3Monitor3提供服务中…用户五、内部、外部监控系统介绍
(二)内部监控系统介绍:五、内部、外部监控系统介绍
(二)内部监控系统介绍: 举例说明内部监控系统运行原理: (5)IS2服务完成恢复,Monitor2向MS汇报服务恢复成功,MS纪录下IS2的目前状态,IS2成为服务备份程序。 WSMonitor4IS1Monitor1提供服务中…
MSIS2Monitor2准备提供服务中…IS3Monitor3提供服务中…用户五、内部、外部监控系统介绍
(二)内部监控系统介绍:五、内部、外部监控系统介绍
(二)内部监控系统介绍: 举例说明内部监控系统运行原理: 总结:在整个的灾难处理过程中,完成了负载平衡策略从原来的IS1和IS2同时提供服务,转变为IS1和IS3同时提供服务,对用户的搜索服务访问的影响降到最低。 WSMonitor4IS1Monitor1提供服务中…MSIS2Monitor2准备提供服务中…IS3Monitor3提供服务中…用户五、内部、外部监控系统介绍
(二)内部监控系统介绍:五、内部、外部监控系统介绍
(三)外部监控系统介绍: 内部监控系统,可以说成搜索引擎系统的内部管理系统,自动化程度非常高,和搜索服务紧密相关。
作为宏观监控的外部监控系统,自动化程度就内有内部监控系统那么高,它更多的时候是给值班员提出预警或出现问题时提供找到问题的方便。它会从宏观层面上分析出用户的各种群体行为,比如说:那个地区的用户最多、各个时段的用户访问量、那些是新词成为搜索热点、各种广告的推广情况反馈等。 外部监控系统更多的,是和搜索引擎公司的商业行为有关,和其商业策略有直接关系。五、内部、外部监控系统介绍
(三)外部监控系统介绍:五、内部、外部监控系统介绍
(三)外部监控系统介绍: 以右图Google公布的各种搜索服务访问量为例,这种数据估计都是其外部监控系统完成的统计数据。
Google访问量最大的还是其网页搜索服务,那整个的内部软硬件资源,就应该以网页搜索服务为主来安排硬件资源及网络带宽。 外部监控系统在发现其他服务流量有变化趋势时,也会提出预警,提前通知相关人员做好硬件及网络准备。
五、内部、外部监控系统介绍
(三)外部监控系统介绍:六、移动通信运营商搜索引擎独特优势拥有众多的用户和非常高的粘合度拥有地域搜索优势拥有用户识别优势拥有多种搜索引擎接口优势拥有完善的计费/收费渠道六、移动通信运营商搜索引擎独特优势拥有众多的用户和非常高的粘六、移动通信运营商搜索引擎独特优势拥有众多的用户和非常高的粘合度例如:中国移动目前拥有3亿多用户,梦网“掌上营业厅”等功能都无其他替代物,拥有非常高的用户粘合度。
而作为互联网搜索引擎,用户更换一个搜索引擎,只需要5秒钟。六、移动通信运营商搜索引擎独特优势拥有众多的用户和非常高的粘六、移动通信运营商搜索引擎独特优势拥有地域搜索优势通过手机号段,可以粗略定位用户所在城市;通过调用手机地图的位置服务,可以精确定位用户位置。 移动通信运营商在地域搜索方面的优势,是互联网搜索引擎公司所不能拥有的。结合当地各种商业、行业等信息,可以做出很多地域搜索及推展各项电子商务服务。六、移动通信运营商搜索引擎独特优势拥有地域搜索优势六、移动通信运营商搜索引擎独特优势拥有用户识别优势
互联网搜索引擎只能通过电脑IP及cookie等方式来识别用户,但是多人共用一台电脑上网非常多,比如网吧和学校,互联网搜索引擎很难识别到具体用户。
移动通信运营商可以通过用户的手机号作为唯一标识来识别,还能过获得用户的话费额度来判断用户的消费层次,通过用户的搜索查询词记录分析来判断用户的兴趣爱好。
移动通信运营商的搜索引擎能够做到精确的用户识别,这比互联网搜索引擎依靠“聚类”算法,来改进搜索结果的效果要好很多。六、移动通信运营商搜索引擎独特优势拥有用户识别优势六、移动通信运营商搜索引擎独特优势六、移动通信运营商搜索引擎独特优势六、移动通信运营商搜索引擎独特优势拥有完善的计费/收费渠道
互联网搜索引擎公司的收入,目前收入主要依靠广告收入,除了常规广告外,还有固定排名和滚动排名两种广告收入模式。而这些广告收入的来源,也都主要来源于其代理商,收入模式相对单一。 而移动通信运营商,无论是对使用搜索服务的用户计费,还是依靠广告收入,或者是由移动搜索引擎展开的各种电子商务收入,移动通信运营商都拥有完善的计费/收费渠道。 对于移动通信运营商,数据业务是现在和未来的一个重点发展方向,通过移动搜索引擎服务的展开,将要大大地推动数据业务的发展。六、移动通信运营商搜索引擎独特优势拥有完善的计费/收费渠道演讲完毕,谢谢观看!演讲完毕,谢谢观看!搜索引擎技术介绍
屈波
2007年8月搜索引擎技术介绍
屈波
2007年8月目录一、搜索引擎总体介绍二、爬虫技术介绍三、中文分词和排序算法介绍四、查询/存储技术、CacheServer介绍五、内部、外部监控系统介绍六、移动通信运营商搜索引擎独特优势目录一、搜索引擎总体介绍一、搜索引擎总体介绍(一)搜索引擎定义
“搜索引擎”技术,完全来源于历史悠久的全文检索技术。 “搜索引擎”从字面上可拆分为“搜”、“索”、“引擎”三个含义。
“搜”就是大量信息的抓取,抓取回来后的信息进行智能提取、排重、质量分析等处理。
“索”就是大量处理后信息的存储、信息排序、快速查询等。
“引擎”就是指系统不但能存储亿级的数据,而且还能有巨大的并发处理能力,这样的系统才有资格被叫着“引擎”。一、搜索引擎总体介绍(一)搜索引擎定义一、搜索引擎总体介绍(二)搜索引擎和移动搜索引擎
搜索引擎也可以看成为“专家系统”,通过把数百亿互联网网页所提供的信息,作为其庞大的“知识库”,通过用户的输入词,找到相关信息。
从技术上来讲,基于手机的移动搜索引擎,在其技术上和搜索引擎是完全一样的。 用户查询信息的媒体,由PC被手机替代,可以随时随地提供搜索服务,用户更方便地进行信息查询。并且,手机的用户群体是远大于PC用户群体,所以,移动搜索引擎肯定是搜索引擎领域未来发展的重点和方向。
一、搜索引擎总体介绍(二)搜索引擎和移动搜索引擎一、搜索引擎总体介绍(三)搜索引擎主要核心技术:
搜索引擎主要核心技术为: (1)中英文分词语言处理; (2)排序算法; (3)网络爬虫; (4)查询/存储技术
开发搜索引擎系统主要涉及到的具体技术为: (1)http网络协议. (2)多线程技术. (3)socket通信. (4)高效服务端程序开发.一、搜索引擎总体介绍(三)搜索引擎主要核心技术:一、搜索引擎总体介绍(四)系统图:一、搜索引擎总体介绍(四)系统图:一、搜索引擎总体介绍(五)全文检索系统和搜索引擎关系:1、搜索引擎技术来源于全文检索系统,搜索引擎是全文检索技术最重要的一个运用.2、搜索引擎在数据总量,最大并发处理能力,单次查询速度方面,都远远强大于全文检索系统.3、搜索引擎为了最求最高的查询速度,在搜索结果准确性及搜索结果重现方面,都弱于全文检索系统.一、搜索引擎总体介绍(五)全文检索系统和搜索引擎关系:一、搜索引擎总体介绍(六)全文检索系统和搜索引擎比较:类别全文检索搜索引擎信息获得信息获得比较容易,被检索内容基本上都是规范化信息.信息获得困难,特别是信息提取的准确率受算法影响很大.信息总量支持的信息总量较少,搜索速度受信息总量增加而递减.支持几十亿到几百亿的信息总量,搜索速度和信息总量基本无关.分词技术分词准确性较高,分词速度中等,搜索结果比较满意.词库更新慢.分词速度极快,分词准确性中等.新词补充及时.存储索引索引结果硬盘存储,系统内存消耗较少,可和其他程序并存.索引结果,以内存存储为主,硬盘存储为辅,大多独占操作系统.搜索耗时搜索用时为秒级,只支持小用户量并发.搜索用时可达到毫秒级,拥有超强并发处理能力.搜索结果搜索结果准确,结果总数为实际数目,搜索结果能准确重现.结果不够准确,只提供全部结果的前面部分,搜索结果不保证重现.系统规模系统简单,服务器硬件投入较少,硬件管理比较轻松.系统庞大,服务器硬件投入巨大,几百台服务器到几十万台服务器.一、搜索引擎总体介绍(六)全文检索系统和搜索引擎比较:类别全二、爬虫技术介绍(一)爬虫技术总体介绍:
网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。 网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。通过DNSCache技术,减少爬虫对DNS的访问频率,避免DNS成为网络瓶颈,提高抓取速度。
网络爬虫还要完成信息提取任务,对于抓取回来的网页提取出来:新闻、电子图书、行业信息等。对于MP3、图片、Flash等各种不同内容,要实现自动识别、自动分类及相关属性测试(例如:MP3文件要包含的文件大小,下载速度等属性)。二、爬虫技术介绍(一)爬虫技术总体介绍:二、爬虫技术介绍(二)抓取对象:
1.静态网页:爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。
2.动态网页:分析动态网页参数,按照一定规章,“拼”出所有要被抓取内容URL,只抓取这些特定范围内动态网页。 3.特殊内容:比如RSS、XML数据,情况特殊需特殊处理。如新闻的滚动新闻页面,需要爬虫不停地监控扫描,发现新内容马上就进行抓取。
4.文件对象:图片,MP3、Flash、视频等文件的抓取,都要特殊处理。比如说:图片抓取出来后,要知道图片文件类型、图片文件的大小、图片的像素大小,还要转换出来缩略图。二、爬虫技术介绍(二)抓取对象:二、爬虫技术介绍(三)抓取策略:
1.深度优先策略:对于一些大网站及静态网页为主的抓取内容,采取深度策略抓取,便于在最短时间内获得最大量内容。
2.广度优先策略:对于一些动态网页或小网站,采取广度策略抓取,同时对多个网站进行抓取,减小对各个小网站的压力,避免造成恶意攻击。
3.合作抓取策略:由被抓取网站,提供可被抓取内容的sitemap网站地图,双方协议好,只抓取这些特定内容,在抓取速度及时间上双方前期进行协商。另外还可以完全由被抓取方,提供详细内容,抓取过程都可以省略一些步骤。二、爬虫技术介绍(三)抓取策略:二、爬虫技术介绍(四)爬虫程序介绍:1.单线程模型
URL任务列表互联网DNSCacheDNS内容处理,分析出新的URL,URL检查二、爬虫技术介绍(四)爬虫程序介绍:URL二、爬虫技术介绍(四)爬虫程序介绍:2.多线程模型(省略掉DNSCache部分)
URL任务列表互联网......线程1临界区线程2线程N二、爬虫技术介绍(四)爬虫程序介绍:URL二、爬虫技术介绍(四)爬虫程序介绍:3.爬虫集群模型
URL任务列表互联网......Spider管理器Spider1Spider2SpiderN二、爬虫技术介绍(四)爬虫程序介绍:URL二、爬虫技术介绍(五)内容提取:
内容提取是《模式识别》学科范围内容,对获得的信息进行预处理后,按照特征值提前和选择,最后进行内容的识别。内容提取的准确率受算法影响较大,尤其是新闻、图片等内容。动态网页比较容易的通过网页比对,整理出其网页设计模板,按照模板可以准确率较高的完成提取。
网页内容的正确提取,对排序算法设计,也有非常重要的影响。 判断两个内容是否相同的排重算法,一般按照贝叶斯决策理论进行处理,判断两个内容的相似度,最常用于相同新闻的判断。信息获得预处理特征值提取和选择训练过程分类器设计分类决策二、爬虫技术介绍(五)内容提取:信息获得预处理特征值提取二、爬虫技术介绍(五)内容提取:
因为目前WAP网页数据总量过少,另外WAP网页包含数据也过少,在基于WAP网页的搜索引擎中,带给用户的信息总量过少,所以基于WAP内容的搜索发展缓慢。
对Web网页内容如能进行提取出最关键内容,有一套高效的智能内容提取程序。在移动搜索引擎中,搜索内容为智能提取出来的Web网页内容,这将大大加快移动搜索服务发展。 Web网页内容的智能提取,属于复杂数据类型挖掘,其程序算法难度非常大。
二、爬虫技术介绍(五)内容提取:三、中文分词和排序算法介绍(一)中文分词:
自然语言理解和处理,是人工智能的重要的研究领域之一,是语言学、逻辑学、生理学、心理学、计算机科学和数学等相关学科发展和结合而形成的一门交叉学科。
分词作为搜索引擎的一项核心功能,和存储和查询有重大关系。但是不同的研究角度,不同的研究方向,带来研究重点和研究结果都是不一样的。 语言学方向研究的分词算法,看重分词的准确性,不看重运算速度;而搜索引擎的分次算法,特别看重分词速度,分词准确性中等。
语言词汇语法词熟语词素词法句法造句法词组构造法构形法构词法三、中文分词和排序算法介绍(一)中文分词:语言词汇语法词熟三、中文分词和排序算法介绍(一)中文分词:
以英文为代表的字母型文字,按照空格和标点符号比较容易实现分词,而以中文为代表的东亚语系文字,在分词方面,却存在巨大的困难。 据说百度(也包括北大天网)在早期时,所有的中文文字,全部拆分为一个个的单字,搜索效果比较差。但也有特殊效果,比如说:搜“我为秋香”,能够搜到唐伯虎的著名藏头文。
我康宣今年一十八岁,姑苏人氏,身家清白,素无过犯。只
为家况清贫,鬻身华相府中,充当书僮。身价银五十两,自
秋节起,暂存帐房,俟三年后支取。从此承值书房,每日焚
香扫地,洗砚磨墨等事,听凭使唤。从头做起,立契为凭。三、中文分词和排序算法介绍(一)中文分词:三、中文分词和排序算法介绍(一)中文分词:
搜索引擎的中文分词,在算法上有两种,一个用于后台索引处理,一个用于前端对搜索词进行分词处理。 比如说:有一条纪录内容为“中国人民解放军”。
在构建后台索引时,可分词为:“中国人民解放军”、“中国”、“人民”、“解放军”、“中”、“国”、“人”、“民”、“解”、“放”、“军”,对这11个字词都要建立索引。这样做的目的是为了,当搜索词为上面这11种中任何一个时,都能在各自索引库中找到“中国人民解放军”这条纪录。 搜索词为“中国人民解放军”,在其前端的分词处理,就只分词为:“中国人民解放军”或“中国+人民+解放军”或“中国+人民解放军”。
三、中文分词和排序算法介绍(一)中文分词:三、中文分词和排序算法介绍(一)中文分词:
因为中文本身存在着很大的歧义性,同样一句话,不同的断句,表达的意思就不一样。这对于计算机去做机器分析,就带来了巨大的困难。 下面的中文断句,来自百度广告宣传片: 「我知道你不知道我知道你不知道我知道你不知道」
「我知道,你不知道。我知道,你不知道我知道,你不知道」
「我知道你,不知道我。知道你不知道我,知道你不知道」
「我,知道你不知道我知道。你,不知道我知道你不知道」
三、中文分词和排序算法介绍(一)中文分词:三、中文分词和排序算法介绍(一)中文分词:
另外中文的具体含义,还必须放在具体的前后语言环境中去分析。 比如说:
「乒乓球拍卖完了」 我去学校商店,发现「乒乓球拍卖完了」 在今天的慈善拍卖会上,世界冠军们夺冠时的「乒乓球拍卖完了」
中文分词,在具体的算法实现上分为三种: 1.字符串匹配(正序、逆序、最少切分、最大切分等) 2.基于理解(词法,句法等方式处理) 3.基于统计 在中文搜索引擎中,目前基本上是这三种算法混合使用。第二种的算法实现起来过于复杂,所以以第一种和第三种算法为主。三、中文分词和排序算法介绍(一)中文分词:三、中文分词和排序算法介绍(一)中文分词:
语言本身也是在不停的进化和发展的,新的词语层出不穷,一些老的词语渐渐被弃用。作为中文分词的基础词库,其新词补充和老词删除就是非常重要的工作。 “超级女声”、“超女”、“李宇春”、“八荣八耻”、“非典”,当这些新词的出现时,搜索引擎需要快速捕捉到,并且马上把其添加到分词系统中去。
如何判断那些词是新词,这就全部倚靠算法来实现。新词捕捉主要来源于新闻和网络BBS论坛,主要机制是依靠统计程序,统计上升速度最高的词。另外作为搜索引擎公司,对众多用户的搜索词进行“用户行为”分析,也能提高其“新词补充”效果。
三、中文分词和排序算法介绍(一)中文分词:三、中文分词和排序算法介绍(二)排序算法: 搜索引擎的排序算法(rankingalgorithm),决定了各个网页、图片、MP3等数据的重要性排列顺序,也决定了最终用户查询到的数据排序。搜索引擎的排序算法是人工智能的完满体现,它是对百亿级数据进行重要性分析的数学实现。 “PageRank”是Google公司在排序算法上的专利技术,也是Google能从众多搜索引擎公司中脱颖而出的最核心技术,作为其搜索服务能够超过其他竞争对手最有力的武器。
不同搜索引擎公司排序算法的优劣,直接决定了广大搜索引擎用户对搜索服务的选择,在互联网上,一个普通用户更换搜索服务只需要5秒钟,所以排序算法就成为了各个搜索引擎公司最核心机密。另外,每个搜索引擎公司也必须不停地改进其排序算法。三、中文分词和排序算法介绍(二)排序算法:三、中文分词和排序算法介绍(二)排序算法:
排序算法部分参考指标:指标加分减分网站硬件指标网站网络好,系统稳定网站系统不稳定,网络不好网站包含网页数总网页数目多总网页数目少网页大小网页大小适中网页多大或过小其他网页链到本网页数目多数目少网页内URL数数目适中过多或过少网页相关性URL连接网页是相关内容URL连接网页不是相关内容网页更新/生成日期日期近的日期远的网页类型静态网页动态网页网页内样式网页设计样式中等网页设计样式过于复杂或简单网页具体内容分词后,各个词权重总和高分词后,各个词权重总和低用户访问行为点击多的网页点击少的网页三、中文分词和排序算法介绍(二)排序算法:指标加分减分网站硬三、中文分词和排序算法介绍(二)排序算法:
排序算法虽然解决了网页排序的问题,但是有时候有些搜索结果还是很难让用户满意。为此,搜索引擎排序算法一项重要改进:“聚类”,就被引进来提高排序效果。 “聚类”方法,是把网页分类成各种不同类型,比如说:分类为“体育”、“娱乐”、“军事”、“旅游”、“金融”、“政治”、“汽车”、“房产”等。针对每一种分类,各自有一套专用的排序算法。
当查询词为“高尔夫”时,查询结果为“体育”+“汽车”,排序算法为通用算法;但当查询词为“高尔夫伍兹”时,其分类就能确定为“体育”,其排序算法就采用“体育”类别的算法。三、中文分词和排序算法介绍(二)排序算法:三、中文分词和排序算法介绍三、中文分词和排序算法介绍四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
存储技术是搜索引擎在提供搜索服务时的关键技术,系统如何去存储上百亿的网页数据,如何科学高效地提供搜索结果,这些都会影响用户的“搜索用时”。
搜索引擎之所以能够给同时给众多用户,在豪秒级的范围内就能提供搜索结果,其技术秘密就是绝大部分查询结果都是提前完成运算,搜索结果早已存储在其服务器上。 数据的存储,当然会受硬件条件的影响,不能够把所有数据都存储在内存中,部分数据还需存储在硬盘中,这其中就有个存储策略。存储网页数据时,权值高的网页数据存储在内存,权值低的存储在硬盘。四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
搜索引擎的数据存储主要分为两部分: 第一部分:网页数据,包含:网页编号、URL、标题、内容摘要、网页大小等。
第二部分:词库索引数据,包含:中文词库中的字词、英文单词、每个字词对应网页编号队列等。 网页编号是唯一编号,不得重复。查询时,通过词库索引得到网页编号,然后在网页数据中,得到各自网页的相关数据。四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术: 对于每一个网页,包含:网页编号、URL、标题、内容摘要、网页大小等信息。可由下面结构体来描述: (1)网页编号 char16 (2)URL char256 (3)标题 char56 (4)内容摘要 char256 (5)网页大小 char8
这样一来,每个网页数据的存储大小为592字节。网页数据的网页编号是连续的,所以网页数据的存储也可以连续存储。四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术: “网页数据”的存储分为内存存储和硬盘文件存储两种方式: (1)内存存储方式时,因为每个网页数据都是大小一样的,再加上数据存储是连续的,所以在查询时,只要知道数据存储的起始位置,就可直接算出网页数据的开始及结束位置,从而获得网页数据信息。1G内存大概能存储180万条网页信息(每条592字节)。 (2)硬盘文件方式存储,把连续一定数量的网页数据信息,写入到一个文件中去,比如说10万条存储为一个文件,然后把全部硬盘存储的网页数据都存储到硬盘文件系统中去。这样一来,基于硬盘文件存储的网页数据在读取时,就要先算出来网页数据存储在那个文件,然后打开文件读去出来该网页数据信息。硬盘文件方式存储,也是全文检索系统中最主要的存储方式。 内存存储查询速度快,但信息存储总量有限;硬盘文件方式存储查询速度慢,高并发查询时还容易造成硬件快速损耗,但存储容量巨大。四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
“词库索引数据”的存储采用内存存储方式: 对于每一篇网页内容,采用存储的分词算法进行处理,分出来的词为最多的分法,方便对各个相关字词都能建立索引。 所有的网页内容都以按照排序算法从大到小的顺序排列好,所以,每个字词的网页索引队列也是按照排序算法从大到小的排列。 词库中所有字词,都是按照Hash分布来排列,便于查询词分词后能够快速找个各个词库中字词对于的网页结果ID队列。
四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
搜索引擎常规存储/查询步骤如下: (1)对搜索词进行分词处理,看能分出来多少个字词; 举例说明:
比如说用户的搜索词为“屈波搜索引擎”,系统在接到这个查询语句后,对其进行查询词分词处理,分词后为“屈波”+“搜索引擎”。用户查询词屈波搜索引擎屈波+搜索引擎查询词分词后四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
搜索引擎常规存储/查询步骤如下: (2)通过Hash查找到步骤(1)中各个字词的网页ID队列; 举例说明: 系统得到“屈波”和“搜索引擎”各自的Hash值,比如说Hash值“屈波”为256,“搜索引擎”为1024,然后找到这两个词各自的网页ID队列,如下图所示两个队列为“网页ID队列2”和“网页ID队列4”。 屈波256256屈原…………屈波网页ID序列1网页ID序列2……搜索引擎10241024搜索搜索引擎网页ID序列3网页ID序列4…………四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
搜索引擎常规存储/查询步骤如下: (3)对步骤(2)中找到个各个网页ID队列做“与”、“或”、“非”的逻辑运算; (4)获得最后的搜索结果网页ID队列。 举例说明: “屈波”和“搜索引擎”对应队列为“网页ID队列2”和“网页ID队列4”,对这两个队列做“与”运算。
屈波网页ID序列21,3,5,9,11搜索引擎网页ID序列41,2,5,8,11与运算1,5,11网页ID序列四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(一)查询/存储技术:
搜索引擎常规存储/查询步骤如下: (5)完成分页显示处理,计算出最后要显示的各个网页ID队列(互联网搜索网页时一般每页显示10条,所以,这个数目最多为10),通过这些网页ID,查找到相关的网页结构体存储内容,显示搜索结果给用户。 举例说明: “屈波”和“搜索引擎”是用户查询词进行分词出来的两个词,在具体的网页标题和网页内容摘要中,分别对这两个词做红色醒目标记。四、查询/存储技术、CacheServer介绍(一)查询四、查询/存储技术、CacheServer介绍(二)CacheServer:
WebServer在接受到搜索请求后,对搜索结果完成查询时分词处理,然后向“索引服务器”发出查询请求,
“索引服务器”返回结果;WebServer对结果进行必要处理,然后向“网页内容”服务器通信,获得各个网页内容;最后WebServer给用户显示搜索结果。
WebServer索引服务器IndexServer网页内容服务器PageContentServer用户四、查询/存储技术、CacheServer介绍(二)Ca四、查询/存储技术、CacheServer介绍(二)CacheServer:
在对用户行为进行分析后发现,非常多的查询词经常被用户查询,这些词被称为“搜索高频词”。为此,设计出来CacheServer(CS)用于存储这些高频词的搜索结果,每当后台系统更新后,这些高频词先进行查询,然后把查询结果放到CS中,从而减少系统后台压力。
WebServer用户CS索引服务器IndexServer网页内容服务器PageContentServer四、查询/存储技术、CacheServer介绍(二)Ca四、查询/存储技术、CacheServer介绍(二)CacheServer:
CS还可以部署在“索引服务器”、“网页内容服务器”和WebServer之间,提高这两个后台服务器的效率。WebServerCSCS索引服务器IndexServer网页内容服务器PageContentServer四、查询/存储技术、CacheServer介绍(二)Ca四、查询/存储技术、CacheServer介绍(二)CacheServer:
CS自我定期更新策略: CS在其设计中,重点考虑其拦截率,所以,CS的自我定期更新策略就特别重要。CS在其初始化阶段,其存储数据主要来源于原来的日志统计结果;在CS运行后,CS要实时监控当前数据流,并定期进行自我更新,把那些没有被访问过或低访问率的数据删除,增加新增数据。
CS虽然可以提高数据访问时的速度,但如果设计出来的CS命中率过低的话,对整个系统效率还反而带来降低,所以CS不能滥用,要结合系统实际负荷来设计和部署CS系统。
四、查询/存储技术、CacheServer介绍(二)Ca五、内部、外部监控系统介绍
(一)监控系统介绍:
以数据库为核心存储的系统,所有数据存储任务基本上都由数据库来承担,软件系统的稳定性很高,对硬件设备的稳定性要求也高,为满足高用户并发量,硬件投入成本惊人。 搜索引擎系统的数据存储,都由自己开发的存储技术来存储,并且很多数据都存储于内存中,存储系统相对硬盘存储为主的数据库系统而言比较脆弱。正因为如此搜索引擎更多依靠软件设计来提高系统的稳定性,硬件系统多采用稳定性较差的相对廉价硬件,通过数量来保证质量,而不是依靠稳定性高价格昂贵的硬件设备。
引入了多重的“内部备份系统”,搜索引擎系统就比传统的其他互联网、银行、电信等系统,要庞大和复杂很多,这也带来了监控工作的巨大困难。五、内部、外部监控系统介绍
(一)监控系统介绍:五、内部、外部监控系统介绍
(一)监控系统介绍:
以Google为例,它在全球建立了几十个数据中心,每个数据中心运行上万台服务器,目前它在全球有几十万台服务器,因此它的搜索服务能够减少地震、火灾等自然灾害的影响。2006年底,中国因为海底光纤损坏,众多互联网服务都受到影响,而Google在中国的服务,没受到影响,就是因为其遍布全球的数据中心和灾难应急处理对策。五、内部、外部监控系统介绍
(一)监控系统介绍:五、内部、外部监控系统介绍
(一)监控系统介绍:
负载平衡一直是搜索引擎系统中最关键的技术,通过一整套的“负载平衡”软、硬件解决方案,来确保整个搜索引擎系统的稳定性及可靠性,才能给众多用户提供7X24小时的优质搜索服务。 WebServer用户IndexServer1提供服务中…PageContentServer1提供服务中…IndexServer2提供服务中…PageContentServer2提供服务中…IndexServer3准备提供服务中…IndexServer4数据更新过程中……………五、内部、外部监控系统介绍
(一)监控系统介绍:W五、内部、外部监控系统介绍
(一)监控系统介绍:
搜索引擎系统的监控系统,分为内部和外部两部分。
(1)内部监控系统: 内部监控系统,以监控服务器硬件运行状况、网络通信设备是否畅通、服务器上各个程序是否运行正常为主,属于微观监控系统。 (2)外部监控系统: 外部监控系统,监控网页、新闻、图片、MP3等搜索服务是否运行正常、是否存在大规模恶意攻击、各个地区的总访问量的变化趋势等,属于宏观监控系统。五、内部、外部监控系统介绍
(一)监控系统介绍:五、内部、外部监控系统介绍
(二)内部监控系统介绍: 内部监控程序管理服务器系统,也可叫为整个搜索引擎的“内部管理系统”,算是整个搜索引擎的中枢神经,它要实现自己管理、自我应急处理、自我灾难恢复等多种任务。 内部监控系统的核心,是一个个运行在每个服务器上的监控程序,这些程序常被叫为“心跳程序”或“脉冲程序”。这些程序按照一定周期向设定好的监控程序管理服务器程序,发送该台服务器及服务器上程序的运行状况,它们的工作原理和木马程序有些类似。
监控程序管理服务器程序,收集各个服务器上监控程序返回数据,了解各个服务器硬件运行情况,了解及各个服务程序的运行情况。当一个程序或服务器硬件出现问题时,监控程序管理服务器程序要做出必要的反应,修改搜索引擎各个程序之间的内部通信规则,换上备用系统或调整负载平衡规则,从而保证搜索服务不受到影响。
五、内部、外部监控系统介绍
(二)内部监控系统介绍:五、内部、外部监控系统介绍
(二)内部监控系统介绍: 举例说明内部监控系统运行原理: 如下图所示,举例IndexServer、WebServer、内部监控程序Monitor和内部监控程序管理服务器程序MonitorServer它们之间处理危机时的流程。 IS:IndexServer,MS:MonitorServer,WS:WebServer。
WSMonitor4IS1Monitor1提供服务中…MSIS2Monitor2提供服务中…IS3Monitor3准备提供服务中…用户五、内部、外部监控系统介绍
(二)内部监控系统介绍:五、内部、外部监控系统介绍
(二)内部监控系统介绍: 举例说明内部监控系统运行原理: (1)IS2出现问题,不能继续提供服务,Monitor2发现错误及时向MS发出错误报告。
WSMonitor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建工施工合同的利益分配3篇
- 化妆品研发员试用合同范例2篇
- 2025中职语文教师教学工作计划(3篇)
- 技术改造借款申请书(5篇)
- 企业合作经营合同集锦(15篇)
- 村集体小产权房屋买卖合同(19篇)
- 新任班主任工作计划(15篇)
- 维修合同范本(19篇)
- 机工工作总结(5篇)
- 2024年四川省教育信息化与大数据中心招聘工作人员考试真题
- 2024年5月广东省公务员考试公安联考结构化面试真题试题试卷答案解析
- 2025-2030中国医疗领域的射频识别设备(RFID)行业市场发展趋势与前景展望战略研究报告
- 2025至2030中国车载OLED屏市场未来前景展望及运行态势剖析报告
- 2024-2025学年八年级下学期道德与法治期中模拟试卷(二)(统编版含答案解析)
- 2025-2030中国生物医药行业市场深度调研及发展趋势与投资前景预测研究报告
- 贸易公司员工管理制度
- 专利代理师高频题库新版2025
- 肝硬化护理新进展
- 武安市公安局招聘警务辅助人员笔试真题2024
- 2025年全国国家版图知识竞赛题库及答案(中小学组)
- DB15-T 1339-2025 风电场机组布置技术规范
评论
0/150
提交评论