企业网站建设

建站知识

今日已发布信息: 93452
累计注册用户: 51003273

破解恶意网页的诡计

他们的网 后退按钮

概述: 试着快速点击你的后退按钮两、三次。 这种方法常常可以绕过重定向命令回到你的最初页面。 还有一种方法更简单,你仔细观察一下你的后退按钮,在它的右边有个向下的按钮,点击它,会出现一长串你刚访问过的链接,然后你就可以直接去你想去的地方了。   二、诡计:三级内容大爆发   由于众所周知的原因,我们不能链接到这种类型的网页上。

许多网站管理员都希望他们的网站非常的“粘”,希望你能在他们的网页上长时间的逗留(长到足以在他们的网站上购买点什么)。
他们的诡计就是千方百计使你陷入网站无法自拔,这可真让人心烦。
我们找到了几个最常用的诡计,同时附上相应的破解方法。
  一、诡计:无效的后退按钮   经常会有这样的事情:你在网上冲浪,进入了一个网站,一看没什么你感兴趣的东西,于是你就点击后退按钮打算返回到前一个页面。
可是怎么回事?你死按后退按钮,却无法离开这个页面。
这是因为一些聪明的网站设计者通过编制URL使你的点击后退按钮时再次链接到他的页面上。
遇到这类情况,你可能会说:“哦,我被沾在这儿了,就象是有一种魔力。
”这种诡计好象是最近开始流行的新现象。
  破解:绕过它   有两种方法可以应付这种情形。
首先,试着快速点击你的后退按钮两、三次。
这种方法常常可以绕过重定向命令回到你的最初页面。
还有一种方法更简单,你仔细观察一下你的后退按钮,在它的右边有个向下的按钮,点击它,会出现一长串你刚访问过的链接,然后你就可以直接去你想去的地方了。

 

  黄冈教育网站  南京市   今日推荐免费建站   分类信息   曲靖网站建设公司

 


  二、诡计:三级内容大爆发   由于众所周知的原因,我们不能链接到这种类型的网页上。
但是,你们大多数都碰到过。
当你正在浏览一个普通的网站,或者从一些搜索结果冲浪,突然之间,充满色情内容的浏览器窗口占满了你的屏幕。
它们通常打开的比你关的快,就象是九头怪的头,你刚关了一个,另一个又迅速冒了出来。
此时,你的老板正朝你走过来,大事不妙,怎么办?   破解:关掉这些窗口   这种诡计是一些讨厌的网站上设置的恶意JavaScript程序造成的结果,这些程序可以自动重复打开窗口。
当你试图关闭窗口时,有些程序会导致你的Windows报一个非法操作错误,因此把浏览器完全关闭通常是最好的解决办法。
  如果你使用的浏览器是微软的InternetExplorer4.0以上版本,只需要按下Alt-F4键就可以杀掉这些窗口而不给它机会执行程序打开更多的窗口。
不幸的是,Netscape用户就没有这种选择。
如果你想一开始就避免打开这种恶意的窗口,InternetExplorer用户可以进入菜单上的“工具Internet选项”,点击“高级”,找到其中“JAVA虚拟机”下的“启用Java记录”和“启用Java控制台”,把它们前面的那个小钩去掉;如果你用的是Netscape4.0以上版本的浏览器,可以进入菜单上的“编辑参数设置”,打开对话框上的“高级”选项,去掉其中的“启用Java”和“启用JavaScript”。
这样,上述那些讨厌的问题就不会出现了,但是很不幸,有些网站,包括Hotmail都必须要有Java才能正常运行。
  三、麻烦:唯有Flash   我们经常会碰到这样的提示:“如果你要登陆这一网页,你必须要安装Flash4.0插件。
点击这里获取它。
”这种现象不但让人讨厌,而且它还很排外,就象是因为你衣着上的一个小饰件不合适而被拒绝进入某家俱乐部。
Flash动画是网页设计者让他的网页变得生动活泼起来的一个非常好的方法,它可以透过网络迅速装载一段高质量的动画影像。
但是,要欣赏Flash动画,你必须首先下载并安装FlashPlayer,它是一个免费的浏览器插件,可以让你无缝欣赏动画(意思是说不需要打开一个新的播放器)。
但是,如果你还没有这个插件,很讨厌的是你必须花不少时间来下载一个。
即使有了插件,一个完全由Flash构建的网站也是很难访问的,它无法打印

 

独立IP不一定利于SEO详细解释

  今天打开邮箱一看,我的域名备案号下来了。这个域名是从去年12月份开始备案的,到今天才下号,公司的效率确实太低了。虽然不建议大家走快速备案,但是正规备案确实让人等不了这么久。之前买了一个息壤的独立IP空间,因为备案的原因,等不了这么久,所以换了香港免备案空间,所以这个独立IP的空间就闲置了。早闻息壤空间常有打不开的现象,今天打算试一下空间。

  正如标题,其实独立IP跟非独立IP相比,并不是大家想像的一定就利于SEO,因为凡是有利也有弊,大家所知道的,独立IP可以免受其他网站被K所带来的影响,从而可以不受干扰的进行自身的优化,但是大家只看到了其中一方面,还有其他方面我来发表一下我的观点,希望大家拍砖。独立IP不一定利于SEO优化原因有以下几点:

  1.独立IP优化可以防止被K被降权,但是也御防了其他网站优化所带来的权重。也就是说,其他网站如果权重高的话,同IP或者同服务器下面也是会有权重传递给你的站的。试想一下,一个IP下就当有100个站,去掉10个打不开的站,这样的站本身有权重的话也不会传递权重的。剩余90个站被降权或者被K的能有多少?就当有10个站被降权,还有80个站正常,正常的站所带来的权重超过非正常的站所降的权重,所以被降权的影响也是比较小的。

  2.如果网站被降权,独立IP那就只能降权了。如果是非独立IP,那么权重高的站可能会拉你一把,所以网站权重都是有传递的,虽然大家都在传独立IP好,只看到了不好的一面,却没有看到好的一面。

  3.独立IP可以免受其他网站权重的影响,但是这个并没有科学依据,有调查研究同IP段的网站也是互有影响的,这也就是很多做站群的公司拒绝使用同一IP段的IP的原因,同一IP段的服务器很可能是同一个服务器,同服务器同机柜的网站都是会有一定的影响的,所以独立IP并不是十分安全。

  服务器中的利益关系为:同IP的网站互相影响最大,同服务器的网站互相影响其次,同机柜的网站互相影响最弱。所以大家如果挑选独立IP的话,是无法避免收到其他网站的影响的。只能说影响相对于同IP的网站来说小一点。差不多了,这其中的利益关系就说这么多了。

  —-by SEO顾问左左

大规模的超文本网页搜索引擎的剖析

本文是谷歌创始人Sergey和Larry在斯坦福大学计算机系读博士时的一篇论文。发表于1997年。在网络中并没有完整的中文译本,现将原文和本人翻译的寥寥几句和网络收集的片段(网友xfygx和雷声大雨点大的无私贡献)整理和综合到一起,翻译时借助了translate.google.com,因为是技术性的论文,文中有大量的合成的术语和较长的句子,有些进行了意译而非直译。

作为Google辉煌的起始,这篇文章非常有纪念价值,但是文中提到的内容因年代久远,已经和时下最新的技术有了不少差异。但是文中的思想还是有很多借鉴价值。因本人水平有限,对文中内容可能会有理解不当之处,请您查阅英文原版。

大规模的超文本网页搜索引擎的分析

摘要

在本文中我们讨论Google,一个充分利用超文本文件结构进行搜索的大规模搜索引擎的原型。Google可以有效地对网络资源进行爬行搜索和索引,比目前已经存在的系统有更令人满意的搜索结果。该原型的数据库包括2400万页面的全文和之间的链接,可通过http://google.stanford.edu/访问。

设计一个搜索引擎是一种具挑战性的任务。 搜索引擎索索引数以亿计的不同类型的网页并每天给出过千万的查询的答案。尽管大型搜索引擎对于网站非常重要,但是已完成的、

对于大型搜索引擎的学术上的研究却很少。 此外,由于技术上的突飞猛进和网页的急剧增加,在当前,创建一个搜索引擎和三年前已不可同日而语。本文提供了一种深入的描述,

与 Web增殖快速进展今日创建 Web搜索引擎是三年前很大不同。本文提供了到目前为止,对于我们大型的网页所搜引擎的深入的描述,这是第一个这样详细的公共描述。

除了如何把传统的搜索技术扩展到前所未有的海量数据,还有新的技术挑战涉及到了使用超文本中存在的其他附加信息产生更好的搜索结果。本文解决这样一个问题,如何建立一个可以利用超文本中存在的其他附加信息的实用的大型系统,同时我们也研究一下如何有效处理任何人都能发布他们想发布的包含任何信息的大量自由链接的问题。

关键字: 互联网,搜索引擎,文献检索,PageRank,Google

1.简介

(注: 本文由两个版本--较长的完整版本和一个较短的印刷的版本。 完整版本提供在网络上和会议的CD-ROM上)。 Web给信息检索带来了新的挑战。Web上的信息量快速增长,同时不断有毫无经验的新用户来体验Web这门艺术。人们喜欢用超级链接来网上冲浪,通常都以象 Yahoo这样重要的网页或搜索引擎开始。人工维护的网站列表能有效的覆盖受欢迎的流行的站点,但是它具有主观性,建立和维护的代价高,升级慢,不能包括所有深奥的主题。基于关键词的自动搜索引擎通常返回太多的低质量的匹配。使问题更遭的是,一些广告为了赢得人们的关注想方设法误导自动搜索引擎。我们建立了一个大型搜索引擎解决了现有系统中的很多问题。应用超文本结构,提供高质量的查询结果,我们的系统命名为google,取名自googol的通俗拼法,即10的100次方,这和我们的目标建立一个大型搜索引擎较好的符合。

1.1网络搜索引擎—升级换代:1994-2000

搜索引擎技术不得不快速升级跟上成倍增长的网站数量。1994年,第一个Web搜索引擎,World Wide Web Worm(WWWW)拥有110,000个网页和网站可访问文档的索引。到1994年11月,顶级的搜索引擎声称可以检索到2万 (WebCrawler)100万个网络文件(来自搜索引擎监视)。可以预见到2000年,可检索到的网页将超过10亿。同时,搜索引擎的访问量也会以惊人的速度增长。在1997年的三 四月份,World Wide Web Worm平均每天收到1500个查询。在1997年11月,Altavista声称它每天要处理大约20’百万个查询。随着网络用户的增长,可以预见到到2000年,自动搜索引擎每天将处理上亿个查询。我们系统的设计目标要解决许多问题,包括质量和可升级性,引入升级搜索引擎技术,把它升级到如此大量的数据上。

1.2 Google:升级与网络

建立一个能够和当今web规模相适应的搜索引擎会面临许多挑战。抓网页技术必须足够快并且保持是最新的版本。存储空间必须高效的存储索引和文档。索引系统必须能够高效地处理上百亿GB的数据。处理查询必须快,达到每秒能处理成百上千个查询

随着Web的不断增长,这些任务变得越来越艰巨。然而硬件的性能和成本也在快速增长,可以部分抵消这些困难。然而,还有几个值得例外,如磁盘的寻道时间,操作系统的效率。在设计Google的过程中,我们既考虑了网络的增长速度,又考虑了技术的更新。Google的设计能够很好的升级处理超大量数据集。它能够高效地使用存储空间来存储索引。优化的数据结构能够快速有效地存取(请参见4.2节)。进一步,我们希望,相对于所抓取的文本文件和HTML网页的数量而言,存储和建立索引的代价尽可能的小(请参阅附录B)。对于象Google这样的集中式系统,采取这些措施得到了良好的系统可升级性。

1. 3设计目标

1.3.1 改进搜索质量。

我们的主要目标是提高Web搜索引擎的质量。1994年,有人认为建立全搜索索引就有可能很容易找到任何东西。根据Best of the Web 1994 -- Navigators,“最佳导航服务应更容易找到几乎任何在网络上(已经输入的所有数据)。”。然而1997年的Web就迥然不同。任何最近使用搜索引擎的用户很容易证实索索引的完整性并不是唯一影响搜索引擎结果的因素。用户感兴趣的搜索结果往往被“垃圾结果”淹没。实际上,到1997年11月为止,四大商业搜索引擎中只有一个能够找到它自己(使用自己的搜索自己的名字时返回的前十个结果中有它自己)。导致这一问题的主要原因是文档的索引数目增加了好几个数量级,但是用户能够看的文档数却没有增加。人们仍然只希望看前面的几十个搜索结果。因此,当集合增大时,我们就需要高精确度的工具(在返回的前几十个结果中,相关文档的数量)。由于是从成千上万个有点相关的文档中选出几十个,实际上,我们希望相关的概念就是指最好的文档。高精确非常重要,甚至以响应(系统能够返回的有关文档的总数)为代价。令人十分乐观的的是利用超文本链接提供的信息有助于改进搜索和其它应用[Marchiori 97] [Spertus 97] [Weiss 96] [Kleinberg 98]。尤其是链接结构和链接文本,为相关性的判断和高质量筛选提供了大量的信息。Google既利用了链接结构又用到了链接文本(请参见2.1和2.2节)。

1.3.2 搜索引擎的学术研究

除了发展迅速,Web越来越商业化。到1993年,只有1.5%的网络服务是来自.com域名。到1997年,增长超过了60%。同时,搜索引擎从学术领域走进商业。到现在大多数搜索引擎被公司所有,很少发布技术细节。这就导致搜索引擎技术很大程度上仍然是暗箱操作,并倾向做广告(请参阅附录A)。对于Google来讲我们有一个的主要目标是推动学术领域在此方面的发展和了解。

另一个设计目标是给适合数目的人们一个实用的系统。对我们来说应用十分重要,因为一些研究表明,现代网络系统中存在大量的有用数据。例如,每天有数千万个查询被执行。然而,获得这些数据却非常困难,主要因为它们被认为有商业价值。

我们的最终设计目标是构建一个体系结构,可以支持大型 Web数据上的一种新的研究活动。为了支持新研究,Google以压缩的形式保存了实际所抓到所有的文档。我们设计Google的主要目标之一就是要建立一个环境使其他研究者能够很快进入这个领域,处理海量网络数据,得到满意的结果,而通过其它方法却很难得到。系统在短时间内被建立起来,已经有几篇论文用到了Google建立的数据库,更多的在起步中。我们的另一个目标是建立一个宇宙空间实验室似的环境,在这里研究人员甚至学生都可以对我们的海量网络数据设计或做有趣的实验。

2.系统功能

Google搜索引擎有两个重要功能,帮助它产生高精度的搜索结果。首先,应用Web的链接结构计算每个网页的质量等级值,这个等级称为PageRank,将在98页详细描述它。

第二点,Google利用超链接改进搜索结果。

2.1 PageRank:带来网页排序

网络的引用(链接)图形是重要的资源, 却没有被现有的大多搜索引擎使用。我们建立了一个包含518百万个超链接的图,它是一个具有重要意义的样本。这些图能够快速地计算网页的PageRank值,它是一个客观的标准,较好的符合人们主观的对一个网页重要程度的评价,由此对应的是,PageRank值是一个较好的区分通过网络搜索关键字获得的结果的方法。建立的基础是通过引用判断重要性。对于大多数的主题,一个简单的被限制为网页标题的文本匹配搜索当使用PageRank区分时得到了极好的结果(从google.stanford.edu可以得到演示)。对于Google主系统中的全文搜索,PageRank也有很大的帮助。

2.1.1PageRank计算的描述:

文献引用理论应用到Web中,主要由引用或反向链接到给定页来计数。这会反映了该网页的重要性和质量的近似值。PageRank扩展了这种思想,不平等的计算所有页面上的链接并且通过一个页面上的所有链接。PageRank定义如下:

我们假设页面T1…Tn指向网页A(例如,被引用)。参数d是一个设定在0,1之间的制动因子。我们通常设置d为0.85。在下一节有更多关于d的详情,C(A)定义为网页A指向其它网页的链接数,网页A的PageRank值由下式给出:

PR(A) = (1-d) + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn))

请注意PageRank涵盖所有网页的一个概率分布得来,因此所有网页PageRank和是1。 PageRank或PR(A)可使用一个简单的迭代算法来计算,相应对应月网页链接矩阵的主特征向量。中等规模的网站计算26万网页的 PageRank值要花费几小时。还有一些技术细节超出了本文论述的范围。

2.1.2 直觉的解释

PageRank被看作用户行为的模型。我们假想一个“随机上网者”;随机地给他一个网页;他漫无目的地命中网页的链接,而从来不点“返回键”;最终他觉得烦了,又从另一个随机的网页从新开始。随机访问一个网页的可能性就是它的PageRank值。制动因子d是随机访问一个网页烦了的可能性,随机另选一个网页。对单个网页或一组网页,一个重要的变量加入到制动因子d中。这允许个人可以故意地误导系统,以得到较高的PageRank值几乎变成不可能的。我们还有其它的PageRank算法,见98页。另外的直觉判断是一个网页有很多网页指向它,或者一些PageRank值高的网页指向它,则这个网页很重要。 直觉地,在Web中,一个网页被很多网页引用,那么这个网页值得一看。一个网页被象Yahoo这样重要的主页引用即使一次,也值得一看。如果一个网页的质量不高,或者是死链接,象Yahoo这样的主页不会链向它。PageRank处理了这两方面因素,并通过网络链接递归地传递。

2.2链接描述文字

我们的搜索引擎对链接文本进行了特殊的处理。大多数搜索引擎把链接文字和它所链向的网页联系起来。另外,把它和链接所指向的网页联系起来。这有几点好处。第一,通常链接描述文字比网页本身更精确地描述该网页。第二,链接描述文字可能链向的文档不能被文本搜索引擎检索到, 例如图像,程序和数据库。有可能使返回的网页不能被抓到。注意那抓不到的网页将会带来一些问题。在返回给用户前检测不了它们的有效性。这种情况搜索引擎可能返回一个根本不存在的网页,但是有超级链接指向它。然而这种结果可以被挑出来的,所以此类的问题很少发生。

链接描述文字是对被引用网页的描述这个思想被用在World Wide Web Worm中,主要因为它有助于搜索非文本信息,能够用少量的已下载文档扩大搜索范围。我们大量应用链接描述文字,因为它有助于提高搜索结果的质量。有效地利用链接描述文字技术上存在一些困难,因为必须处理大量的数据。现在我们能抓到24万个网页,已经检索到259万多个链接描述文字。

2.3其它功能

除了PageRank和应用链接描述文字外,Google还有其他几个功能。一,它有所有命中数的位置信息,所以它可以在搜索中广泛应用邻近性。第二,Google跟踪一些可视化外表细节,例如字的字体大小。更大的字的权重要高于其他的。第三,知识库存储了原始的全文html网页。

3相关的工作

网络检索研究的历史简短。World Wide Web Worm(WWWW)是最早的搜索引擎之一。后来出现了一些用于学术性的搜索引擎,现在它们中的大多数被上市公司拥有。与Web的增长和搜索引擎的重要性相比, 有关当今搜索引擎技术的优秀论文相当少。根据Michael Mauldin(Lycos Inc的首席科学家)),“各种各样的服务(包括Lycos)非常关注这些数据库的信息。”虽然在搜索引擎的某些特点上做了大量工作。具有代表性的工作有,对现有商业搜索引擎的 结果进行传递,或建立小型的个性化的搜索引擎。最后有关信息检索系统的研究很多,尤其在有组织机构集合方面。在下面两节,我们将讨论在信息检索系统中的哪些领域需要改进以便更好的工作在Web上。

3.1信息检索

信息检索系统诞生在几年前,并发展很好。然而,大多数信息检索系统的研究针对的是受控制的同质集合 ,例如,主题相关的科学论文或新闻故事。实际上,信息检索的主要基准,用小规模的、有组织结构的集合作为它们的基准。大型文集基准只有20GB,相比之下,我们抓到的24万个网页占147GB。在TREC上工作良好的系统,在Web上却不一定产生好的结果。例如,标准向量空间模型企图返回和查询请求最相近的文档,把查询请求和文档都看作由出现在它们中的词汇组成的向量。在Web环境下,这种策略常常返回非常短的文档,这些文档往往是查询词再加几个字。例如,查询“Bill Clinton”,返回的网页只包含“Bill Clinton Sucks”,这是我们从一个主要搜索引擎中看到的。网络上有些争议,用户应该更准确地表达他们想查询什么,在他们的查询请求中用更多的词。我们强烈反对这种观点。如果用户提出象“Bill Clinton”这样的查询请求,应该得到理想的查询结果,因为这个主题有许多高质量的信息。像所给的例子,我们认为信息检索标准需要发展,以便有效地处理Web数据。

3.2有组织结构的集合与网络的不同点

Web是完全无组织的异构的大量文档的集合。Web中的文档无论内在信息还是隐含信息都存在大量的异构性。例如,文档内部就用了不同的语言(既有人类语言又有程序),词汇(

email地址,链接,邮政编 码,电话号码,产品号),类型(文本,HTML,PDF,图像,声音),有些甚至是机器创建的文件(log文件,或数据库的输出)。可以从文档中推断出

来,但并不包含在文档中的信息称为隐含信息。不但隐含信息的 可能来源各种各样,而且被检测的信息也大不相同,相差可达好几个数量级。例如,一个重要主页的使用量,象Yahoo每天浏览数达到上百万次,于此相比无名的历史文章可能十年才被访问一次。很明显,搜索引擎对这两类信息的处理是不同的。 Web与有组织结构集合之间的另外一个明显区别是,事实上,向Web上传信息没有任何限制。灵活利用这点可以发布任何 对搜索引擎影响重大的信息,使路由阻塞,加上为牟利故意操纵搜索引擎,这些已经成为一个严重的问题。这些问题还没有被传统的封闭的信息检索系统所提出来。 它关心的是元数据的努力,这在Web搜索引擎中却不适用,因为网页中的任何文本都不会向用户声称企图操纵搜索引擎。甚至有些公司为牟利专门操纵搜索引擎。

4系统分析

首先,我们提供高层次的有关体系结构的讨论。然后,详细描述重要的数据结构。最后,主要应用:抓网页,索引,搜索将会深度探讨。

图 1.高层次Google体系结构

4.1Google结构概述

这一节,我们将看看整个系统工作方式的高水平综述,见图1。本节不讨论应用和数据结构,在后几节中讨论。为了效率大部分Google是用c或c++实现的,既可以在Solaris也可以在Linux上运行。Google系统中,网络爬虫(下载网页)是由几个分布式crawlers完成的。一个URL服务器负责向crawlers提供URL列表。抓来的网页交给存储服务器 storeserver。然后,由存储服务器压缩网页并把它们存到知识库中。每个网页都有一个ID,称作docID,当新URL从网页中分析出时,就被分配一个docID。由索引器和排序器负责建立索引index function。索引器从知识库中读取文档,对其解压缩和分析。每个文档被转换成一组词的出现情况,称作命中hits。Hits纪录了词,词在文档中的位置,最接近的字号,大小写。索引器把这些hits分配到一组桶barrel中,产生经过部分排序后的索引。索引器的另一个重要功能是分析网页中所有的链接,将有关的重要信息存在链接描述anchors文件中。该文件包含了足够的信息,可以用来判断每个链接链出链入节点的信息,和链接文本。 URL分解器resolver阅读链接描述anchors文件,并把相对URL转换成绝对URL,再转换成docID。为链接描述文本编制索引,并与它所 指向的docID关联起来。同时建立由docID对组成的链接数据库。用于计算所有文档的PageRank值。用docID分类后的barrels,送给 排序器sorter,再根据wordID进行分类,建立反向索引inverted index。这个操作要恰到好处,以便几乎不需要暂存空间。排序器还给出docID和偏移量列表,建立反向索引。一个叫DumpLexicon的程序把这 个列表和由索引器产生的字典结合在一起,建立一个新的字典,供搜索器使用。这个搜索器就是利用一个Web服务器,使用由DumpLexicon所生成的字典,利用上述反向索引以及页面等级PageRank来回答用户的提问。

4.2 主要数据结构

经过优化的Google数据结构,能够用较小的代价抓取大量文档,建立索引和查询。虽然近几年CPU和输入输出速率迅速提高。磁盘寻道仍然需要10ms。任何时候Google系统的设计都尽可能地避免磁盘寻道。这对数据结构的设计影响很大。

4.2.1 大文件

BigFiles是跨越多个文件系统的虚拟文件,用长度是64位的整型数据寻址。多文件系统之间的空间分配是自动完成的。BigFiles包也处理文件描述符的分配。由于操纵系统不能满足我们的需要,BigFiles也支持基本的压缩选项。

4.2.2 知识库

知识库包含每个网页的全部HTML。每个网页用zlib(见RFC1950)压缩。 压缩技术的选择既要考虑速度又要考虑压缩率。我们选择zlib的速度而不是压缩率很高的bzip。知识库用bzip的压缩率接近4:1。而用zlib的压 缩率是3:1。文档一个挨着一个的存储在知识库中,前缀是docID,长度,URL,见图2。访问知识库不需要其它的数据结构。这有助于数据一致性和升级。用其它数据结构重构系统,我们只需要修改知识库和crawler错误列表文件。

4.2.3 文档索引

文档的索引保持每个文档有关的信息。 它是固定的宽度 ISAM (索引顺序访问模式)索引。每条记录包括当前文件状态,一个指向知识库的指针,文件校验和,各种统计表。如果一个文档已经被抓到,指针指向docinfo文件,该文件的宽度可变,包含了URL和标题。否则指针指向包含这个URL的URL列表。这种设计考虑到简洁的数据结构,以及在查询中只需要一个磁盘寻道时间就能够访问一条记录。还有一个文件用于把URL转换成docID。它是URL校验和与相应docID的列表,并按照校验排序。要想知道某个URL的docID,需要计算URL的校验和,然后在校验和文件中执行二进制查找,找到它的docID。通过对这个文件进行合并,可以把一批URL转换成对应的docID。URL分析器用这项技 术把URL转换成docID。这种成批更新的模式是至关重要的,否则每个链接都需要一次查询,假如用一块磁盘,322百万个链接的数据集合将 花费一个多月的时间。

4.2.4 辞典

词典有几种不同的形式。和以前系统的重要改进是,词典对内存的要求可以在合理的价格内。当前实现中,一台256M内存的机器就可以把词典装入到内存中。现在的词典包含14万词汇(虽然一些很少用的词汇没有加入到词典中)。它执行分两部分—词汇表(串联在一起,但使用空值隔开)和指针的哈希表的列表的实现。不同的函数词列表有一些辅助的信息,超出了本文以详细解释的范围。

4.2.5点击列表

一个命中列表对应着一个单词在一个文档中出现的位置、字体和大小写信息的列表。命中列表占用了正向索引和反向索引的大部分空间,所以怎样尽可能有效的表示是很重要的。我们考虑了对位置,字体和大小写信息的多种编码方式——简单编码(3个整数),压缩编码(手工优化分配比特)和霍夫曼编码(Huffman coding)。命中(hit)的详情见图3。

图3.正、倒排索引和词典

我们的压缩编码每个命中用到两个字节(byte)。有两种命中:特殊命中(fancy hit)和普通命中(plain hit)。特殊命中包括在URL,标题,锚文本和meta标签上的命中。其他的都是普通命中。一个普通的命中包括一个表示大小写的比特(bit),字体大小,和12个bit表示的单词在文件中的位置(所有比4095大的位置都被标示为4096)。字体在文档中的相对大小用3个比特表示(实际上只用到7个值,因为111标示一个特殊命中)。一个特殊命中包含一个大小写比特,字体大小设置为7用来表示它是一个特殊命中,4个比特用来表示特殊命中的类型,8个比特表示位置。对于锚命中,表示位置的8个比特被分成两部分,4个比特表示在锚文本中的位置,4个比特为锚文本所在docID的哈希(hash)值。由于一个词并没有那么多的锚文本,所以短语搜索受到一些限制。我们期望能更新锚命中的存储方式能让位置和docID哈希值能有更大的范围。我们使用在一个文档中的相对字体大小是因为在搜索时,你并不希望对于内容相同的不同文档,仅仅因为一个文档字体比较大而有更高的评级(rank)。

命中列表的长度存在命中的前面。为了节省空间,命中列表的长度在正向索引中与wordID结合,在反向索引中与docID结合。这样就将长度分别限制在8个比特和5个比特(有一些技巧可以从wordID中借用8个比特)。如果长度超过了这个范围,会在这些比特中使用转义码,在接下来的两个字节(

做站小知识:垃圾网站的定义

  有时候跟喜欢讨论“网站优化”之类话题的朋友一起交流时,他们往往都会说到一个比较敏感的字眼——“垃圾网站”!

  虽然“垃圾网站”时常在我们之间讨论,不过对于它真正的定义却始终没有,有的朋友认为出现大量广告的网站则是垃圾网站;有的则是

  认为没有流量的网站就是垃圾网站;还有的就是认为不被网友所需要的网站则是垃圾网站……

  诸如此类的答案并不算少。然而从另一个角度而言,他们说到的仅仅只是一个片面而已。“垃圾网站”的定义,我们还未正式给出,但是

  我相信今后肯定会有一个比较明确的答案,不过这也是后话了。而从我的角度去理解的话,则是以下几点:

  在未切入正题之前,我们不妨先看一下几个比较被普遍网友认定为“垃圾”的“网站”!

  从那些站点而言,他们的版面编排的并不是很好,“粗制滥造”我想是形容这几个站点最恰如其分的词眼!同时,这些站点之间还有出现

  弹窗,弹窗一般让人感受是比较反感的,更何况是那种比较YY的弹窗广告。这类广告最让人反感,也是让人最深恶痛绝的。其他的嘛,就网站内容而言,实在没什么值得浏览的。不是偏色情就是私服,内容空洞我呢是刚一打开,COPY一下网站地址后就关了。不知道各位打开后感受是什么?

  不过由此,我们也可以得出几点比较有参考价值的“垃圾网站”特点:

  第一 进站之后,给人第一印象反感

  第二 网站内容空洞,无任何作用价值

  第三 网站美化过于简单,甚至粗制滥造

  第四 多弹窗,多色情、私服等

  第五 恶意代码、病毒

  其实这五点应该是“垃圾网站”最显而易见,当然也是最常见到的几个特征。一般上网的人都清楚,所以这没什么值得说道的。但是,有人提到没流量就是垃圾网站的这个观点,其实这未必如此。有一部分色情站流量可能上万,不过这就可以说它是好网站了么?我想未必如此吧!

  对于“垃圾网站”的定义来说,我更喜欢用“相对”这个词来解释。某些网站的内容可能适合一部分人群,当然也可能不适合某些人群。

  对于适合的人群而言,他们会认为这是个好的网站。相对而言,对不适合的人群来说,这个网站是没什么存在意义的。当我们对某些东西认为是有与无皆可的时候,我们的第一个印象都会觉得这是个“垃圾”。

  当然了,这个“相对而言”仅仅只是针对个人而言。对于广泛的人群来说,“相对而言”这个词是否就不能作为判定的一个标准呢?这个并非如此。

  在“相对”的基础上,我们还可以采取“少数服从多数”的规则嘛。当某一个网站“相对”大多数网民觉得是好站的时候,他就可以被认定为非垃圾网站;相反,则是垃圾网站嘛!

  人与人的喜好是各有所异的,非要强定某些网站是“垃圾”,有时候可能会出现错误的看法,不过这些东西稍微了解一下就可以了。没有必要去较真。

探讨纯文本链接能否有提升网站权重作用

  最近看了一篇文章,说纯文本链接没有作用,他举证是用户点击不了,搜索引擎也点击不了,所以,蜘蛛是不会爬取这个链接的,不爬取这个链接,说明这个纯文本链接是没有作用的,他甚至还拿出了案例来说明。他的案例是这样的。他和他朋友都做了一个类型差不多的网站,他的网站先上线,其次是他的网站每天都有做纯文本的链接,而他的朋友却没有做,只有锚文本,时间不久之后,他朋友网站的排名反而跑到他上面去了,他就以此断定,纯文本链接是没有作用的,不值得我们去发的。

  如果这不是一篇投稿文章,我可能只是一笑而过,既然是投稿文章,那么我就觉得有必要认真研究一下,纯文链接是否真的没有用。搜索引擎的出发点是什么?是用户体验,搜索引擎进入你的网站的时候也只是一个普通的用户,现在的搜索引擎越来越智能了,已经不像以前那种低能儿,可以让你随便欺负了。所以,我们要以用户的眼光来看事情。

  如果说纯文本链接没有用,那你能回答一下这两个问题吗?

  1、为什么还有很多站长或者外链发布者在论坛签名或者发贴内容中认认真真的把自己的网站网址写上去?

  如果你回答不了,那只能说,纯文本链接是有作用的,那么到底有什么作用,我们先从用户角度出来来看这个问题。如果有一天,你在某个论坛上看到一篇文章,你觉得很精彩,文章后面还有一个链接,可是这个链接是纯文本,点击不了的,但是你又想看更多的文章,那么,你会不会粘贴复制这个链接到你的游览器上面,然后回车一下?如果,你会这样,搜索引擎一样会这样,只是处理的技术手段不一样,难道搜索引擎连识别是纯文本链接还是关键词的能力都没有吗?所以,搜索引擎是知道他是一个纯文本链接还是关键词的。那么,既然知道,是不是说明他就会通过这个纯文本链接去爬去你的网站?答案是不会!

  蜘蛛只会爬取URL形式的链接,而纯文本链接他是不会去爬的!因为就上面所说的,纯文本的链接点击不了嘛,但是,虽然蜘蛛爬不了这个纯文本链接,去不了你的网站并不代表着对网站权重提升没有作用!

  那么纯文本链接有什么作用?

  1、增加网站曝光率,让更多的用户知道你的网站

  2、增加网站外链数量,提升网站知名度

  通过上面这两点,搜索引擎是否应该给你这样的网站加分?答案是肯定的,但是需要再说明一点的就是,有一句说的很对,做1个高质量的锚文本链接相当于100个垃圾超链接。同样的,纯文本链接也是需要用数量才能取胜的。所以,不要再认为纯文本链接对你的网站权重没有任何作用,只要当数量当到质变的时候才会起作用的。而当他起作用的时候,权重的提升甚至远超锚文本所带来的收益。

我的程序设计之路

 刚刚进入大学的时候,就知道必须要学好一门程序设计语言。那时对程序设计的了解很少,也不知道有什么样的程序设计语言。《计算机文化基础》教材中介绍了一些,其中印象非常深的是说Java是一门非常先进的语言。于是我在大学的第一个学期开始学习Java。先说说结果吧,当然是一事无成了。Java的编译环境非常大,我记得似乎21兆,Sun官方网站上提供了两种下载方式,一种是单一的大文件,另一种是十几个小文件(刚好一张软盘装一个)。1999年的网速绝对是现在不可想象的,每秒钟可以下载1K多一点!也不知道有FlashGet这样的断点续传工具,直接点击下载,结果经过了多次的下载之后终于凑齐了这十几个文件,但是安装时报错!于是,经过了一个学期断断续续的学习之后,我发现我自己根本就写不出一个Applet。

  第二个学期开设了Pascal程序设计课程,此时也知道了C,知道了C++,似乎也打定主意日后学好C++。那时很清楚Pascal是基础,知道要认认真真地学好。于是那个学期我的电脑除了运行《极品飞车》之外,还运行了不少的Pascal小程序。结果非常不错,至少是期末考试异常轻松。由于入门比较快,而且平时也做了一些,所以最后发现根本不用复习。考试前的那天晚上我照样打打游戏,但发现同学似乎挺紧张,而且有很多人在背例程!不可思议,我觉得学习程序设计语言就像是学习数学一样,不需要背这些东西,不过背程序似乎可以应付考试。但是我的记性不好,背不了那些东西。不过看着别人复习自己心里也不踏实,十点之后还是用了十分钟把课本翻了一遍。第二天考试出了点小问题,忘记带准考证了,而且邻近考试才发现。只好回宿舍取,这样耽误了七八分钟。进入考场后就赶快做,颇有点紧张,毕竟不出师不利。我们是上机考试,有选择和程序设计两种题,选择题的数量及不清了,程序设计有两个题目,一个是冒泡法排序,另一个忘记了。完成选择题之后就感觉很轻松了,剩下两个程序设计题目以前都做过。第一个完成之后偷眼看看别人的屏幕,却着急了,因为我看到大多数人都在看选择,我想:他们怎么这么快?!都开始检查了!其实考完回到宿舍后才闹明白,他们说我太快了,自己选择还没做完呢,我已经写了一大堆程序了。但是在那个学期最高兴的还是从一开始就意识到了代码格式的重要性,什么地方要大写,什么地方要小写,什么地方换行,什么地方空格。

  大二上学期开设C程序设计课程。那时就打定主意日后要用C++,觉得现在学C并不是很关键,反正日后还要好好学C++。于是C语言学的非常糟糕,期末考试的时候非常狼狈,又是两个程序设计题,这次一个也没有完成。也许是我的编码风格比较好吧,勉强及格了。C语言的确比Pascal复杂的多。记得课本的一开始比较了C语言和Pascal的不同,其中有一点是同样的语句用C比Pascal要简洁,也就是用C能够少写一些代码。的确如此,连一个简单的赋值语句C都要比Pascal省下一个冒号。但是我始终认为这是在开玩笑,因为我从来都怀疑输入的多少能在多大程度上决定语言的优劣?但大学毕竟是卧虎藏龙之地,这一点在这个学期里的C语言课程设计里我深有感触。课程设计有两周,要求用C语言写一个带有图形界面的程序。当然是基于DOS的,用Turbo C,不过老师没有要求。

  下周要开始,在这周五的晚上就有人完成了,时间距周五下午老师讲解完题目要求和其它问题不过六个小时!对我来说就是后面两周他们就什么也不用干了,而我却可能在时速三百公里的时候突然想起课程设计的问题!不过那天晚上优哉游哉,心里盘算着下面的两周要干点什么。去隔壁宿舍里发现他们在疯狂的抄程序,原来他们早就借好了一本C语言教材,里面有一个长达百十页的完整的例程,刚好符合课程设计的要求。“真是疯了”,这是我的第一反应。我没有这样的教材,三天前图书馆里就一借而空。但是即使有我也不抄,那种皱巴巴的书里面不知道有多少个错误呢,输入计算机又不知道要产生多少个错误,改错简直就是不可能完成的任务。果然,每次编译都要出现成百上千个错误,把高年级的师兄也拉过来改错。说实话,到现在我也还是非常佩服他们,我宁愿写新的。那时我在书店里看到了一本C++ Builder教材,因此了解到了现在的程序设计已经跟过去用Turbo C不同了,尤其是界面的设计。所以对这次课程设计也没有兴趣,因为课程设计最大的难点就在于界面的设计,课本上没有,需要自学,用C写界面真是太落伍了。不过确实有人写出了很漂亮的界面,真是佩服。当时用C++ Builder做了一个简单的界面,不过然后就什么也不知道了,更重要的是觉得不会及格,毕竟一行代码也没写!最后拷贝了别人一个时钟,改了颜色了事。最近重新学习了C语言,看了几本很有分量的教材:《C程序设计语言》、《C的陷阱与缺陷》,才觉得对C语言的了解算是差不多了。

  编写一个具有界面的Windows程序一直是个梦,这个梦在大二下学期实现了。寒假里看到了一些讨论Visual Basic、Delphi和Visual C++的文章。认识到Visual Basic最容易,Delphi其次,Visual C++最难。于是打定主意开学后学习Visual Basic,然后看Delphi,最后再深入学习C++。这个想法似乎是好的,从简单到复杂,不过执行的时候出了点问题。当时觉得为什么不直接学Delphi呢?据说Delphi也非常简单,只是比Visual Basic稍难一点,不过功能却强太多,如果学不会在学Visual Basic。于是就开始学Delphi。很快就完成了第一个程序,无非是一个窗体加上一个按钮之类的。程序虽小,但是却让我明白了一个问题:Delphi这样的开发环境与Turbo Pascal有什么不同?尤其是在程序设计上有什么不同?从此一直学习和使用Delphi,几乎都不再考虑C++了。

    不过在大学里还是接触到了C++,大四上学期开设了C++程序设计选修课。不过最重要的不是C++,而是面向对象。那时学习Delphi也已经很长时间了,总感觉用Delphi和用Turbo Pascal并没有本质的区别,换句话说我没有看到Delphi先进的方面,那时对面向对象一无所知,所以在后来对Delphi的学习也基本上处于停顿状态。C++选修课的开设给了我学习面向对象的好机会,也给了我一个比较Object Pascal和C++的机会。每当老师讲到C++的一个地方的时候我就想在Delphi中的实现方式。我不喜欢听课,听课的时候总是云游四海,这门选修课算是少有的听的比较仔细的一门。而且那时我认识了一个老师(半年后的毕业设计他作我的导师),他非常熟悉面向对象,也非常熟悉Delphi。想想那时真是非常幸运。

  毕业之后很少写程序,较多的看了一些理论书籍,比如:《操作系统概念(第六版)》。但也一直在想一个问题:程序设计怎样入门比较好。现在看来学习程序设计语言其实非常简单,无非是学习这么几项:变量和常量的定义,涉及到数据类型和语法;语句,赋值语句、条件转移语句、循环语句等;文件结构,也就是接口和实现的分离;面向过程方面,子程序的写法;面向对象方面,类的定义,尤其是继承的方式。去年看了看《Java编程思想》,觉得真是不难,也就是根据上面大概看了一下。觉得没有必要深入研究,用得着的时候再说。

  我觉得最好的程序设计语言入门语言是Pascal,再加上Borland的Turbo Pascal,真是一对完美的组合。我的导师说他认为从一开始就学习面向对象比较好,因为有些人从面向过程转向面向对象遇到了很大的困难,主要是思维的转变有难度。仁者见仁,智者见智了。Pascal比较简单,比较严谨,这对初学者来说是好事。而且还有个Delphi,Delphi作为面向对象程序设计语言也非常的优美,文件结构也非常清晰,而且太多方面都比其它语言简单。从Pascal到Object Pascal,非常适合培养学习者的程序设计思维。

  C语言不适合作为入门语言,太麻烦了,时常产生的问题比解决的问题还多。但是C语言又是非常特殊的语言,如果你不知道该学什么语言好,那就学C语言吧!我觉得《C程序设计语言》这本书并不适于初学者,各个地方都讲解的比较深入。如果对编译原理和操作系统没有了解,而只是会用C语言写几个程序,那么看这本书可能会非常累。

http://huanggang.kvov.com.cn/jzxx20195.html

采菊东篱下、悠然见南山(陶渊明)
这个季节,我们放飞童年的风筝,理想和信念,在飘荡、上升中,与我们对话。
在这个世界上无论做夫妻也好,做朋友也好,做什么都好,就是害怕我帮不了你,你要是不相信我,为什么不自己帮自己呢,你要放弃我就跟你放弃,你要饿死,我就跟你饿死。
梦见和朋友一起出行,预示热心帮助朋友取得成就,朋友将能够为自己赴汤蹈火。
睁开眼睛,给你一个轻轻的祝福,愿它每分每秒都带给你健康、好运和幸福。希望你度过美好的一天!