副总裁泄玄机:Google搜索技术揭秘

作者:袖梨 2022-07-02
 
  Google将其成功部分地归功于公司所发明的独有运算机制,令其搜索引擎可以在极短时间内对数以百万计的网络用户的搜索请求提供答案。
 
  上周三,Google副总裁Urs Hoelzle在Eclipse会议上的一番发言,令与会者有机会了解Google的搜索技术是如何产生以及该技术现在是如何运作的。 
  Hoelzle对与会者说,要发明Google的技术,开发者必须抛弃过去大型数据库所使用技术的思维定势。由于一天里面所有搜索请求的内容都是不可预计的,因此手头上就必须拥有100亿左右的网页数据,这是确实是很大的挑战。
 
  Hoelzle出示了一系列早期Google硬件数据中心的照片。1997年拍的照片中是两台破旧的台式电脑。1999年,是数台Intel服务器,机器后面露出一堆乱七八糟的数据线。2000年的数据中心内,摆放的是1000台排列整齐的双处理器服务器。
 
  Hoelzle表示,“底层的硬件价格十分低廉,但却完成了许多工作。”同时,使用如此多的服务器,可靠性是Google关心的另一重点。Hoelzle表示,“Google使用自动控制的机制进行运作。否则,工程师们需要为重启服务器而疲于奔命。”
  为了抵抗不可抗力带来的影响,Google搭建了Google文件系统,该系统与Google的搜索运算系统紧密结合,并且对服务器故障有很高的承受能力。
 
  Google的所有操作均基于一系列的大容量文件,这些文件被拆分为64M大小的数据包,分布在多个“数据包服务器”中。文件的描述、数据包的数目和数据包的位置等资料都存放在中央服务器中。每一个64M的数据包都会在另外两个服务器上备份,三份拷贝的路径亦存放在中央服务器中。
 
  由于所有的文件都存放在Red Hat Linux服务器中,Google以很低的成本就保证了服务的可靠性。中央服务器会定时向数据包服务器发出脉冲信号,确定数据包服务器是否在正常运作。如果没有收到应答信号,又或者应答信号中显示某台数据包服务器的数据受到损害,中央服务器会从其他数据包服务器上取出数据包修复受损的服务器。这一工作通常在一分钟内则可以完成。
 
  Hoelzle指出,只有三台服务器上的拷贝同时受损,才会对Google的服务有所影响。这时候,就需要用一段长时间去收集互联网的数据以重建受损文件。
 
  Google会对Web Crawler收集到的网页进行索引, Web Crawler亦会对这些网页的作出描述。Hoelzle表示,建立网页的索引是很艰巨的一项工作,需要数百台计算机运算数天。同时,索引必须经常地更新。

相关文章

精彩推荐