GOOGLE被封锁的技术分析【让Google和我们都死的瞑目】--转

转载 2006年06月10日 16:15:00

这是一整套相当完善的技术。是一个讨论他的价值仅在于对其双向过滤技术的探讨。因此本文不讨论如何破网,只是对其进行探讨以及描述。


我们先从几个试验开始:
首先是用户,在不加载任何代理的情况下,搜索敏感关键字。结果可想而知。Google的搜索网页连显示都没有显示就直接跳掉了。


用户不死心。加载一道国外普通代理如何?结果是刚显示一个Google的LOGO就读不下去了,也是跳掉了。
这是为什么呢?第一个例子中,用户碰上的是对于发出数据的过滤,而第二次用户碰到的则是对返回数据的过滤,也就是双向过滤。这套过滤系统建立在国家的出口网关上。他的重点是对于返回数据包的过滤。


接下来的试验可以让我们发现一些更为有趣的问题:

加载国内普通代理,也许在返回的搜索网页上有包含某些某些关键字的时候不会跳掉。而加载看起来更安全的国外普通代理却更容易跳掉。这是为什么呢?


好吧,解答这个问题之前,我们可以再做一个试验。我们可以将Google的搜索结果页面上传到一个国外的主页空间上,直接去浏览如何?没问题。但明显可以感受到一定的延迟。用国外代理呢?跳掉了。在使用Google搜索时都会感受到的一定的页面读取延迟,当然我向你保证,这不是Google服务器的错。而是过滤设备在工作的缘故。


下面可以推出来的结论就是,这套系统只对国外数据包进行过滤,原因很自然,因为国内服务器,比方主页提供商的内容总是相当容易控制的。但他是如何知道哪个数据包才是Google的呢?这很容易,
下面是google申请的ip地址段:

216.239.32.0 - 216.239.63.255  

Google Inc.  2400 E. Bayshore Parkway Mountain View CA 94043  US  

  --------------------------------------------------------------------------------

     Google Inc.   arin-contact@google.com   +1-650-318-0200    


呵,接下来的事情就很容易了。其实只要对来自这个IP段的数据包,简单的policy based forwarding就可以了。因此他的/s数据处理量并没有我们想像的那样大,换句话说,他们并没有强大到拥有我们并不知晓的设备的程度。事实上,大部分对于网络访问依然在国内,而对国外的访问中,网吧的访问,更有安装在网吧主机上的过滤系统进行了过滤,从而很大程度上减轻了对于国外网段访问的压力。过滤设备的处理能力依然有限,不然我们在目前的搜索过程中就不会感觉到延迟了,当然如果增加设备,对处理能力进行增强,或者推广到省网关,市网关则另当别论。


那么我们如何解释把Google的搜索页面放到国外服务器上,却依然会产生读取延迟的问题呢?(也就是被过滤检查过了。)也许是这样一个公式:google(过滤系统抓取网页上的某个特定的只有Google才有的特殊标示,比方“Google搜索”)+来自国外的地址=触发过滤机制。这一层过滤,与发出的数据包过滤类似,属于简单的过滤,对系统负载并不大。而这个机制是对于所有国外网段的,这样就有效的避免了封杀不彻底的问题。也就避免了在第一次封杀过程中产生使用IP进行访问的漏网之鱼的问题。也就是说即使你在国外另一个网段建立一个Google服务器的话。如果你不是动态IP+SSL的组合,依然可能被封杀,如果是这样的组合,你的服务器也会不堪重负。(极端的想,即使动态IP+SSL,依然可能被域名劫持)


事实上,在近一段时间的搜索中,我们可以发现。过滤似乎比以前少了,某些以前网页中因为不幸的包括敏感关键字而跳掉的网页,不再跳掉了。这说明了这套系统已经调试完毕,进入了运行期。可以更替对某些关键字的屏蔽,更可以在搜索效果与过滤效能上做一定程度的平衡了。


我们还会发现一个问题,那就是Google的搜索结果,变得越来越差,而其中我们可以发现,只是国内网页的搜索结果越来越差,而且还会越来越少。这是为什么呢?呵呵,注意观察某些会记录访问者IP的网页。我们就会发现其中的秘密。“crawler.googlebot.com”,是的,正是googlebot的机器人。googlebot机器人的某些特征被抓到后,就可以对其进行有限量的抓取或者不让其进行抓取,例如只对几个官方网站进行更新,其它的网页信息都抓不回去。进一步的去想,利用这个机器人甚至还可以发现潜藏在国内网站内部的不良信息 。

---------------------------------------------------------------------------------

评点google

在Google出现之前人们只有一种搜索引擎,那就是分类引擎,这个想法来源于Yahoo,或者可以说来源于图书馆。

Google用大量的服务器(数以万计)做着每日的网页查找,每个线程就是一个Spider,每个Spider的工作就是从一个网页去另一个网页,检查他们是否已更新,是否废弃,是否存在新创建的页面,评价他们之间的关系,生成快照,并将数据存入数据库。Spider需要很好的协调以避免重复的劳动,同时他们需要确定工作范围的优先级,否则就会“跟不上时代的变化”或者干脆淹死在某些每秒种更新数千次的网页中。在确定了两张网页的关系之后,Google分别更新他们的PageRank得分,这个得分显然已经不是一个公式能够说清楚的了,它总是处在动态更新之中,但PageRank的大意就是,别人对你的连接数量越高你就越有价值,Google就越让你的位置靠前。
2. Google后来做了什么

在一片叫好声中,Google开始向其它网络产品扩展。比如Google新闻,就是对Google这个巨大资源库的一种非结构化应用。现在Google新闻不仅有了搜索能力,还有了自动选择能力,这是在公开的抢报纸编辑的饭碗。再比如Google图像搜索,也为我们解决了不少难解决的问题,还有Google Group,这些服务使Google看起来更像Yahoo,或者MSN这样的门户网站,而事实上Google用来实现这些功能的成本比其竞争者要小的多,原因很简单,他们用的是人,Google用的是Spider!Google就像互联网领域里的Matrix,随处可见。

在提供了这些网络产品的同时,Google还在客户端与竞争者们一决高下,首先是浏览器的工具条Google Toolbar,起初我觉得很有用,后来觉得没什么用占地方还损失性能,但是现在看到Firefox和Google结合的这么好,又开始使用了。然后Google推出了用于推广它自己的极好工具,这就是著名的Google API,在付出少许费用之后,你就可以在自己的程序里使用Google了(通常是Java),我曾经还一度想做一个Flash版的Google呢。此外还有用于处理“科学难题”的网格计算:Google Compute,模仿捐献家用计算能力以分析外星人电波的SETI@home,后者由Stanford提供。

Froogle也是一个伟大的设想,虽然它还没有中文版,但我已经领略到了它的能力。它提供一个商品的搜索引擎,让你可以在需要时浏览商品的价目和图片。这使得Froogle有时看起来很想ebay,况且Froogle还有它的WAP版,也就是移动版。Google Local又是一个有价值的作品,它使得Google可以作为旅游指南或者地图使用。即使是Google的web搜索也有了很多衍生用法,比如瞧天气啦,找手机归属地啦,当计算器用啦,当词典用啦,反向搜索啦什么的。
3。Google现在做什么
在客户端的竞争中Google并没有占到什么优势,MSN反而成了受益者,你想啊,搞软件设计谁能搞得过“买块肉SOFT”,在Google陷入寻找新的扩展点而不能自拔时,一个新新人类的话题摆在了Google前进的道路上,这群人就是Blogger,他们要玩的就是Blog。说时迟,那时快!只见乌云密布,雷鸣电闪,咔喳一声晴天霹雳,Google站在Blogger.com面前,笑里藏刀的说:“天下英雄,唯使君与操尔!”在收购了Blogger之后,Google基本放弃了它建造blog.google.com的计划。

2004年愚人节,对于网络邮箱供应商来说简直就是一个鬼节,这一天Google推出了它的Gmail服务BETA版,它采用了非常具有神秘色彩并借助六度分隔和150法则而更具有神秘色彩的邀请发放方式。最令人头疼的是它提供1G的空间和压缩邮件(压缩意味着物理空间1G,而很多邮件供应商公布的空间是压缩之前的占用空间)。2005年的愚人节,Google更“丧心病狂”(开玩笑)的将这个数字增加到2G!跟进还是卖出?!这是其它邮箱供应商必须面对的一个抉择!

GDS(Google Desktop Search)是Google的另一个重磅炸弹,这个是用来对付微软的。是的,你没听错!当微软在它下一版Windows(长角)的计划中露出新版文件搜索引擎的设想时,Google已经把成型的产品送到了客户面前。但是在试用了几次之后我有点纳闷,为什么这个备受好评的GDS在我的机器上跟Lucene 一样难用(对不起一次骂了两位),它几乎搜不到什么有价值的文件——难道因为我用的是英文版?抑或是我没有掌握使用技巧?

4。Google遇到了什么困难
在中文搜索引擎市场上,简体中文的第一是百度,其次是Yahoo,繁体中文的第一是Yahoo,其次是Google,日文版市场排名第一的还是Yahoo,第二名是MSN,俄文搜索引擎的老大也是俄罗斯的本地化引擎。面对这个局面,Google只能说OMG!(Oh!My God!)。下面这段文字摘自<<Google中文的三大软肋>>:

……据iResearch(艾瑞市场咨询)研究报告分析,百度仅用4年时间,远远领先于Google,百度拥有目前世界上最大的中文信息库,比Google中文更准确,更全面,快照功能也占优势……
……雅虎一直很重视本地化,收购3721则是最好的一例。在国内市场上,3721的本地化购物搜索非常好,再上本地化的商业搜索,更具竞争优势。从某种意义上来说,3721网络实名的目录,就是一个典型的中国本地化企业产品的目录。所以说,拥有3721之后,雅虎如虎添翼,对Google构成了更大威胁……
……在中文语言处理能力上,本地搜索公司的优势更让Google难堪。比如,《功夫》公映之前很久,在百度上检索“功夫”就能直接指向周星驰的电影,可是 Google搜索相同的“功夫”,则大失所望。因为这些时令性的关键词都需要专业团队去随时添加,由于Google缺乏专门针对中国市场的开发力量,尤其是对中国互联网信息检索存在的问题了解不透,所以,Google对于国内市场需求的反应速度很慢,本地化技术服务力量也跟不上,无法解决国内网民遇到的一些实际问题……

Google的新闻搜索也引来很大的争议,我们都知道如果一家媒体要摘录别人的新闻作为自己的新闻,那么他必须付费,可是如果这条新闻是搜索引擎搜出来的怎么办?如果这条新闻是和它的提供商几乎同时登出又怎么办?Google当然不会为他搜出来的每条新闻付费,而且,就像前面说的那样,Dvorak这样的同志又要大骂Google了,因为它扼杀了消费者冲浪的乐趣和获取别人没能及时获取的信息的喜悦感,以及Google的意志代替了互联网的意志等等。
5。Google以后会做什么
我们猜想Google不久就会开放它的Gmail供人们随意申请,但申请时仍需要提供一个唯一的其它邮箱的帐号,(就像非Logitech的老鼠标加钱换新罗技,随意一款老洗衣机加钱换新荣事达一样),现在Gmail的策略是每个用户可以邀请50个新用户参加,此外每20人次的Google Web Search使用就会放出一个新的邀请。

Picasa也将是Google发展的重头戏之一。前者是一个图片文件客户端,看起来好像很简单,肯定没有ACDSee做的好,但是在图片共享方面 Google可是从来没有放弃过啊。现在,Picasa又和Gmail结合到了一起,每个Gmail用户都可以用Picasa将图片上传到Gmail,这项功能大大加强了Picasa图片共享的能力。

此外,人工智能和大型计算技术也是Google发展的重要方向。不久之前Google发布了它的企业搜索服务器,虽然引来一路臭骂,但还是有一些专家认为这是个利好消息,说明Google正在别的盈利点上发觉自己的价值。概念已经有了,天价只是技术之不成熟性使然。这一趋势不仅可以从Google的产品上看出来,从Google的挖人策略也一样可见一斑。前不久,Google正式宣布它挖到了Java世界一只下金蛋的鹅——Joshua Bloch,这个人经常在我的梦中出现,要卖一本<<如来神掌>>给我! 对不起,记错了,是一本<< Effective Java>>。说说J.Bloch的历史,可能很多人都会感到惊讶不已。他首先创造了曾在危难时期令整个Java世界恢复自信的Collection Framework,并获得了当年的Jolt大奖;后来为了让更多的Java程序员从Collection Framework的设计模式中收益(当时设计模式还不是很流行),他又以此为题写了<<Effective Java>>,并再次获得了Jolt大奖;为了在Java世界引入元模型的魔力,他继而提出了JSR175(A Metadata Facility for the JavaTM Programming Language),并成为其首席专家;在Sun最危难的时刻挺身而出接掌Tiger(JDK 5.0)的大旗;在这之后,关于他的唯一新闻就是被Google挖走了。此外,Google还高薪挖走了无数把名字倒过来写我们都能认识的科学家, CSDN这样报道:

……接着,Google又把BEA的首席架构师Adam Bosworth拢入自己旗下。Bosworth在软件行业作为技术主管受到广泛的尊敬。在为新创企业Crossgain(2001年被BEA收购)工作之前,Bosworth曾在微软任职数年,并成功地从事于一些项目的开发,如微软的Access数据库。
他的跳槽来得太突然了,两个月以前,他还在供应商的“年度eWorld秀”中担任重要角色,并他的主题演讲中介绍Alchemy项目----一个建立下一代移动浏览器的计划。
Google的招兵买马计划一直在有条不紊的进行着,曾在SUN微系统工作的David Stoutamire,现在在Google工作。就在上星期,Neal Gafter,SUN公司的javac主管,也离开SUN转向Google。
不仅是Java方面,Greg Stein,曾是CollabNet项目经理,管理Subversion 项目并且发布了他们的SourceCast产品,现在在Google的博客软件组工作;Rob Pike,曾是贝尔实验室最初Unix团队成员之一,参与过Plan 9 和Inferno操作系统的开发,如今也投奔Google。
Google一直渴求人才,对于开发者来说,Google也是一个充满吸引力的地方。他只雇佣最棒的、最聪明的、近乎于天才的那些家伙,在笼络人才这方面,也只有微软可与之媲美。最近Java人才不断涌入Google究竟是巧合,或是Google准备尝试基于Java做一些事情,我们拭目以待……

如果我没记错的话,Google前不久还从微软挖走了一位足可以称为WindowsNT之父的人,Google之野心路人皆知。看看下面这则招聘启事也许你就会更了解这一点了:

Passionate about these topics? You should work at Google.
• algorithms
• artificial intelligence
• compiler optimization
• computer architecture
• computer graphics
• data compression
• data mining
• file system design
• genetic algorithms
• information retrieval
• machine learning
• natural language processing
• operating systems
• profiling
• robotics
• text processing
• user interface design
• web information retrieval
• and more!
Send your resume and a brief cover letter to great-engineers@google.com.
6。Google应该做什么
这一节我们将抛弃所有商业的想法,认认真真的坐下来考虑一下技术问题,当然,这会使得我们对Google的要求过高,我们会把很多未能被实现的我们曾经的梦想都交给未来的Google,就像我们把Sun没有做到的强加给IBM,把IBM没有做到的强加给微软,把微软没有做到的强加给Netscape,把Netscapge没有做到的强加给Yahoo一样。

首先,Google应该认真考虑考虑语义网的问题了,我个人仍然认为这是互联网发展的正道。虽然RDF标准的发展雷声大雨点小,可是现在RSS已经如火如荼,这还只是语义网技术的一小部分,(就像WAP没什么用,但短信却发展起来一样),XSL和XSLT也是语义网的一小部分,它们将作为语义网与其展现之间的接口。我为什么要提语义网这个东西呢?举个例子你就能明白,比如我的Blog每篇文章每一页上都有菜单,都有最新评论、阅读排行榜和自定义列表,这些加速了访问者的效率,是富有亲和力的展现形式,但是对于Google来说这些都是垃圾,因为它们错误的表达了网页的含义,如果我要搜一篇阅读率极高的文章,可能搜出一堆没用的东西,而这些东西又不可能从页面上拿掉,所以Google必须自己去认。

反向快照可能是解决这个问题的临时方案。它的主要思想是Google首先发现别人是如何“描述”该网页的(通过链接的文字表达),再在该网页中找到与这个 “描述”相关的内容,把这部分内容作为该网页的高优先级内容,再把该网页与相同目录下的其它文件比较,将相同的部分列为低优先级的内容。(这是我个人想出来的方法,不知道可否奏效,估计可能会遇到性能问题

其次,Google将面临语义搜索的问题。这是MSN正在开发的技术,我相信Google也一定在做。这项技术的目的是让使用者同计算机之间的交互变得更人性化,看起来好像是用户像计算机提出了一个问题,计算机利用Google这颗大脑找到答案然后告知。哈哈,这个镜头是不是有点眼熟,它多次在好莱坞的电影中出现,比如<<AI>>中的Dr.Know(无所不知博士)和<<时间机器>>中的图书馆管理员,他们都是语义Google的愿景和Use Case。其中最有趣的是Dr.Know,他首先让用户选择类别,然后提问,问题按个数记费,答案往往只给出一个——当然是人工智能觉得最符合问题的一个。这提示了我们带类别的语义识别可能将成为语义识别技术迈出的第一步。再看看Google英文版目前提供的收费服务Google Answer~~~有点意思吧?

第三是模式学习。不客气的讲,Google一直在以自己的想法在搜索。不是吗?Google把Spider找到的所有页面都认为是资源,所以对其涵盖的内容一视同仁,对其表达的形式漠不关心,而正确的方式应该是将页面和搜索用户都看成用户,把页面人性化,从页面中吸取人类思维的模式,进行模式学习。这种技术给Google带来的好处是巨大的,其实现技术也简单于语义理解。打个比方,对于Sina被盛大收购,很多新闻网站都作为专题加以报道,而对于Google来说,要等很久才能把新浪和盛大这两个单词联系起来,这中间的时间包括其它由人来更新的网站的更新时滞,其它网站对这些网站的连接的更新时滞,这些更新被Spider发现的时滞,发现后PageRank更新到合理数值(中间可能经过多次迭代)的时滞等等。这使得Google明显慢于人的反映速度,这也就直接的造成了上面所提到的<<功夫>>不能及时搜到的原因。靠人工智能实现本地化,这是一条路。

第四是信息源的深层发掘。这使得Google能触及互联网的死角,就像洗衣粉尽量触及衣物的死角一样,(“有汰渍,没污渍”),例子很简单,如果我在网页中加入一段Javascript,就可以很容易把网页引到另一个地址,而这个地址很有可能是Google没有涉及到的,浏览器却可以访问。

第五就是不得不提到的网格计算。因为Google的客户来自世界各地,一个日本人拜访Google和一个印第安人拜访Google在99.99%的概率上是不会访问相同内容的,因此将这两个人所要访问的内容放在一起实在是一种性能上的损失。最近听说Yahoo已经将中文搜索服务器迁到国内,这正是为了性能考虑的啊。当然,分布式服务器已经可以做到这一点了,那为什么还要网格呢?解释这个问题首先要从解释BT的原理开始,BT之所以让人们下载的那么快就是因为BT让Downloader成为其它Downloader的服务器,这种P2P的方式充分利用了Downloader的机器的计算能力和上行带宽。Google也可以做到这一点,例如我、我的邻居、李彦宏(百度总裁)和杨志远(Yahoo创始人之一)四人同时搜索了同一个关键字,假定服务器在中国,李彦宏首先获得了响应页面,我再访问时,Google通知我找李商量一下,李毫不犹豫的给了我页面,杨志远的请求收到处理,因为它不便于访问李彦宏或者我的机器,所以Google又给他开了一个响应页面,最后处理的是我的邻居,他的请求被推给了我,因为我们处在相同的子网内所以交流更为方便。原本四次的检索变成两次,即使加上两次简单的响应,总时间也大大缩短,假若我们四个人拜访Google的机会分别是10:10:2:1,结果就更不言自明了。如果Google在网格方面多追加一些研发资金,自然会比Yahoo做的好,这是由Google软件的架构决定的。

-------------------------------------------------------------------------

-------------------------------------------------------------------------

在Google不能访问的时候:互联网新罪过

方东兴

摘要:随着中国互联网不断普及,认为Google在中国永远不可能成为第一
------------------------------------------------------

  搜索引擎大战是当今最白热化的战争。但是,只要对用户有好处,这种战争就值得喝采。Google在中国遭遇百度的打击,很大程度上是中国互联网用户的力量,而不是简单的搜索技术和市场竞争的胜利。这种胜利值得我们本土互联网公司骄傲,因为百度的胜利实在是让所有本土互联网公司,乃至整个中国互联网挣了脸。

  但是,市场力量的竞争是光采的,非市场力量的竞争是肮脏的。是纯粹的市场力量造就了今日中国互联网的创新活力和应用的繁荣。但是,随着互联网利益的大饼越来越诱人,越来越非市场的力量开始介入。随着中国互联网不断普及,我认为Google在中国永远不可能成为第一。但是,不是第一的Google依然有着其基本的空间。或者说,依然有着太多的用户需求需要Google来满足。给Google空间,其实就是给网民空间。

  最近最郁闷的事情就是经常访问Google打不开页面。我是喜欢查看很多英文资料的人,因为真正深入的信息和资料国外远远高于国内。要查询英文内容,Google是当然之选。其次,要查询真正深度和学术性的内容,Google也是百度所无法比拟的。但是,Google不能访问,搜索工作就受到极大的制约,我的工作就受到极大的损害。

  务器的问题,还是电信运行商的问题,还是竞争对手做了什么手脚。总之,最大的损失就是像我这样的普通用户。搜索是互联网最大的应用之一,Google不能访问,就是网民最大的应用之一受到极大损害,间接损失无法估计。实在是为了芝麻,损害了大西瓜。这种低劣的事情,堪称互联网第一罪过。Google公司本身也不应该简单把事情当作自己公司的事情。网民利益第一!

  在我心目中,南北电信互通问题,以及网吧垄断控制问题,是当今损害中国全体网民,乃至整个社会发展最愚蠢的事情之一,其造成的社会代价难以估计,也是中国数字鸿沟问题加剧的重要因素。如今,Google不能访问的事情长时间出现,也是同样性质的问题。不管是谁的问题,都应该受到全体网民的谴责。

  Google不能访问,害得人还得去寻找从来不去使用的英文的MSN和Yahoo。但是,怎么用怎么别扭,实在是不爽。但是,搜索总得做,工作总得做,生活总得过。期待事情的真相。

相关文章推荐

仿Baidu,Google查询分页技术实现分析之一

仿Baidu,Google查询分页技术实现分析分页 (pagination) 一种自动分页机制,可以将移动 Web 窗体中的内容分割成一组组较小的页进行呈现,以适合于特定的设备。该机制还呈现可用于浏览...

仿Baidu,Google查询分页技术实现分析

分页 (pagination) 一种自动分页机制,可以将移动 Web 窗体中的内容分割成一组组较小的页进行呈现,以适合于特定的设备。该机制还呈现可用于浏览到其他页的用户界面元素.在整个的web开发应用...

Google VP8 Code 首次深入技术分析 1

The first in-depth technical analysis of VP8 首次深入技术分析 Back in my original post about Internet ...

原创: 仿Baidu,Google查询分页技术实现分析之一

仿Baidu,Google查询分页技术实现分析分页 (pagination) 一种自动分页机制,可以将移动 Web 窗体中的内容分割成一组组较小的页进行呈现,以适合于特定的设备。该机制还呈现可用于浏览...

Google数据存储技术分析

  • 2008-12-30 22:31
  • 488KB
  • 下载

Google数据存储技术分析

  • 2008-06-06 10:34
  • 488KB
  • 下载

转 分布式数据库Google Spanner原理分析

原址如下: http://os.51cto.com/art/201209/358732.htm   分布式数据库Google Spanner原理分析(1) Spanner 是Google的全球...

google hacker技术

intitle:关键字、、 intitle:后台管理

GOOGLE分布式数据库技术演进研究--从Bigtable、Dremel到Spanner(一)

癸巳​即将过去,总得点礼物吧,思来想去,觉得写写GOOGLE分布式数据库技术发展情况,以此作为礼物献给自己,聊以自慰,由于时间有限,加之对于GOOGLE的分布式数据库理解也只能盲人摸象,难免有错误之处...

Google App Engine技术架构资料大盘点

从前,有一个“伤不起”的人(就是我啦)在园子里分享过Google的架构,老是老了点,但对不少新手还是有点帮助的。今天看到几篇有关Google App Engine的技术架构文章,觉得比那个“伤不起”孩...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)