三个阶段并行协同工作,维持搜索引擎的正常运转 爬行器技术 :爬行器(Crawler,Spider)又叫“爬虫”、“蜘蛛”,工作在搜索引擎的最前端,是搜索引擎中最关键的部分之一,它的性能好坏直接影响到搜索引擎对于页面信息的采集与更新。 Internet上的网页可以通过链接进行互访,这使得Crawler可以从初始URL出发,沿着链接导向,遍历Internet上整体网页构成的连通图。即使整体页面构成的图不是完全连通的,也可以将Internet上的页面集合看成是一个个连通的子图构成的,多个Crawler选择合理的起点,顺着页面链接进行爬行,也能遍历完整个图。考虑到网络上Web页面的数量非常庞大,设计一个性能良好的爬行器需要考虑以下4个问题[10]: 1.应下载哪些页面? 在多数情况下,Crawler并不下载Web上的所有页面,即使是最复杂的搜索引擎,其索引库中能检索到的页面也只占整个Web总页面的一小部分。所以,Crawler优先选择最“重要”的页面进行下载非常重要,以保证下载的部分更有价值。 2.如何更新页面?一旦Crawler下载了大量的页面,它会周期性的访问原始页面地址,看其是否是更新过的。Web上的页面内容可能变化非常快,Crawler必须决定以不同的频率访问不同的页面。 3.如何降低被爬行站点的负载?当Crawler获取页面时,需要消耗部分被访问服务器的资源,同时也占用网络带宽,增加了网络负担。Cralwer应使用相应的策略降低这些消耗,否则相应站点将禁止Cralwer去访问其页面。 4.如何并行化爬行过程? 由于要爬行的页面数量非常大,一个Crawler在一定时间内,通常不能胜任爬行所有页面的能力,必须使用多个Crawler来完成这一工作。因此,Crawler之间的并行协同工作显得非常重要。 针对Crawler工作任务的重要性及其工作量的巨大,许多搜索引擎采用了分布式Crawler技术,但是如何将巨大的爬行任务均衡地分配给各个Crawler是分布式WebCrawler的关键问题之一。目前许多Crawler系统都采用了集中式的任务分割策略 7.Trie树查询 基于三数组Trie索引树原理的汉语词典查询机制,并用递归算法实现构词状态表的自动构建. Trie树是搜索树的一种,来自英文单词”Retrieva l”的简写,可以建立有效的数据检索组织结构,是中文匹配分词算法中词典的一种常见实现。它本质上是一个确定的有限状态自动机(DFA),每个节点代表自动机的一个状态。在词典中这此状态包括"词前缀","已成词"等。Trie树就是字典树,其核心思想就是空间换时间.字典树有如下简单的性质: (1) 根节点不包含字符信息; (3) 一棵m度的Trie或者为空,或者由m棵m度的Trie组成。 搜索字典项目的方法为: (1) 从根结点开始一次搜索;(2) 取得要查找关键词的第一个字母,并根据该字母选择对应的子树,转到该子树继续进行检索; (3) 在相应的子树上,取得要查找关键词的第二个字母,并进一步选择对应的子树进行检索。 4) 迭代过程…… (5) 在某个结点处,关键词的所有字母已被取出,则读取附在该结点上的信息,即完成查找。 双数组Trie(Double-Array Trie)是trie树的一个简单而有效的实现,由两个整数数组构成,一个是base[],另一个是check[]。设数组下标为i ,如果base[i],check[i]均为0,表示该位置为空。如果base[i]为负值,表示该状态为词语。Check[i]表示该状态的前一状态,t=base[i]+a, check[t]=i 。
8.HTML&HTTP协议 HTML(Hyper Text Mark-up Language )即超文本标记语言,是 WWW 的描述语言,由 Tim Berners-lee提出。设计 HTML 语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。这样,你只要使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。HTML文本是由 HTML命令组成的描述性文本,HTML 命令可以说明文字、 图形、动画、声音、表格、链接等。 HTML的结构包括头部 (Head)、主体 (Body) 两大部分。头部描述浏览器所需的信息,主体包含所要说明的具体内容。 HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。超文本传输协议(HTTP)是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议。它是一种通用的,不分状态(stateless)的协议,除了诸如名称服务和分布对象管理系统之类的超文本用途外,还可以通过扩展它的请求方式,错误代码和报头[47]来完成许多任务。HTTP的一个特点是数据表示方式的典型性和可协商性允许独立于传输数据而建立系统。 9.信息检索模型; 信息检索的数学模型 2.1 信息检索系统的形式化表示 2.2 集合论检索模型 2.2.1 布尔检索模型 2.2.2 模糊集合模型 2.2.3 扩展布尔模型2.3 代数论检索模型 2.3.1 向量空间模型 2.3.2 潜在语义索引模型 2.3.3 神经网络模型 2.4 概率论检索模型 2.4.1 经典概率模型 2.4.2 基于Bayesian网络的检索模型 2.5 其他信息检索模型与数学理论 2.5.1 结构化检索模型 2.5.2 浏览模型 2.5.3 其他新型数学理论提出了一种基于本体语义模型的信息检索方法。该方法充分利用领域本体提供的概念之间的语义相关性,从语义模型扩展、概念相似度、相关度计算,并以用户反馈等角度探讨了基于语义模型的自动推理方法在信息检索中的应用,文章介绍了系统实现框架. 包括布尔检索模型、向量空间模型和概率检索模型在内的信息检索数学模型. 10.分布式通信协议; 分布式虚拟环境(DVE)中高速运动实体的状态更新数据量很大,对实时性要求高,现有的通讯协议不支持消息废除,因而不能很好地支持新的状态更新消息覆盖过时消息。文章提出了一种可更新队列的概念模型,在此基础上提出了一种新的协议方案,它支持过时消息的丢弃,更好地满足了实时交互的需要。分布式实时数据库系统必须能够处理具有时间限制的应用,而这些应用所涉及的某些数据又不在应用本地,所以不可避免地要与网络上的其它结点进行通讯,传送数据或消息.在分布式实时数据库系统中,不仅要求数据值正确,而且具有时间限制,即在规定的时间内,值正确的数据才是有效的.所以,实时通讯中,不仅要求数据或消息传送正确,而且要尽可能保证或必须保证数据或消息在应用可允许的时间范围内完成传送. 11.分布式搜索引擎 分布式搜索引擎是根据地域、主题、IP地址及其它的划分标准将全网分成若干个自治区域,在每个自治区域内设立一个检索服务器,而每个检索服务器由信息搜索机器人、索引搜索软件数据库和代理三部分组成。信息搜索机器人负责本自治区域内的信息搜索,并建立索引信息存入索引数据库。代理负责向用户提供查询接口,并与其它代理进 |