(1)基础技术
Google基础技术分为分布式基础设施、分布式大规模数据处理、分布式数据库技术、数据中心优化技术四类。分布式基础设施包括GFS,Chubby和Protocol Buffer,分布式大规模数据处理包括MapReduce和Sawzall,分布式数据库技术包括BigTable和数据库Sharding,数据中心优化技术包括数据中心高温化、12V电池和服务器整合。
1)分布式基础设施
GFS(即Google File System,谷歌文件系统)是Google为了存储海量搜索数据而设计的可扩展的分布式文件系统,用于大型和分布式的应用,可以为海量数据访问提供总体性能较高的服务。GFS基于廉价的商用计算机集群来构建分布式文件系统,它在保证性能的同时降低了Google的硬件成本。Chubby是Google设计的提供粗粒度锁服务的基于松耦合分布式系统的文件系统,通过使用Chubby的锁服务,可以确保用户数据操作过程中的一致性。为了使系统具有更大的灵活性,这种锁只是一种建议性的锁而不是强制性的锁。Protocol Buffer是Google设计的一种独立于语言和平台的数据交换格式,通过Java、C#、Python等多种编程语言都可以实现。因为它采用二进制格式,所以比使用XML进行数据交换速度快,它主要用于分布式应用之间的数据通信或者异构环境下的数据交换,也可以用于网络传输、配置文件、数据存储等。
2)分布式大规模数据处理
MapReduce是Google设计的面向大规模数据集并行运算的编程模型,Google设计它主要是为了解决其搜索引擎中大规模网页数据的并行化处理,因为它可以解决很多大规模数据的计算问题,Google进一步将其广泛应用于很多大规模数据处理场合。它提供了一整套机制来解决大规模并行计算问题,包括基于集群的高性能并行计算平台、并行计算与运行软件框架、并行程序设计模型与方法。Sawzall是Google设计的构建在MapReduce之上的专门用来进行数据分析的编程语言,其语法类似于Java,主要用于对大规模分布式数据进行筛选和聚合等高级数据处理操作。
3)分布式数据库技术
BigTable是Google为其内部海量的结构化数据开发的分布式结构化数据存储系统,它借鉴了关系数据模型的特性,支持部分关系数据模型。它可以可靠地将海量数据部署到大量服务器上,同时提供高性能、可伸缩的数据存储服务。Sharding是Google为了解决数据库过大造成的性能问题而设计的一种数据库分片技术,其基本思想就是把一个数据库切分成多个部分放到不同的数据库上,从而缓解单一数据库的性能问题。
(2)搜索相关技术
1)PageRank技术
PageRank(网页级别)技术是Google的两位创始人发明的技术,它是一种由搜索引擎根据网页之间相互的超链接关系计算网页级别的技术,Google用它对网页的相关性和重要性做出评价。PageRank技术并不是简单地计算直接链接的数量,而是把从A页面到B页面的链接解释为A页面给B页面的投票,根据A页面和B页面的级别来决定B页面新的级别。一个页面的PageRank是由链向它的页面的数量和重要性经过递归算法计算得到的。Google技术使用网上反馈的综合信息来确定某个网页的重要性,搜索结果没有人工干预或操纵,这使Google成为一个广受用户信赖、不受付费排名影响的信息来源。
2)超文本匹配分析技术
Google的超文本匹配分析技术不但扫描基于网页的文本内容,而且分析网页的全部内容、字体、分区以及每个文字精确位置等因素,同时Google还分析相邻网页的内容,以此来确保返回与用户查询最相关的结果。
3)多媒体搜索技术
Google在占领文本搜索技术市场制高点的基础上,还开发了地图搜索技术、视频搜索技术等多媒体搜索技术,提供了Google地图、Google视频搜索等服务。
4)广告相关性投放实现技术
Google爬虫对广告显示页进行抓取,首先对网页进行降噪处理,通过信息块之间的关联找到正文所在的信息块,剔除导航、广告、版权信息等无用信息块。得到正文块后,对正文进行分词处理,得到关键词序列。最后利用已经通过机器学习技术获得的每个分类在特征空间上的聚类中心进行计算,得出该网页属于某个分类的概率。对于高出一定分类阈值的网页投放相关分类下的广告。
5)作弊点击分析技术
Google并不是单纯地使用编程技巧,如检查IP是否重复来判断作弊点击,而是把所有的点击及页面访问历史信息都记录了下来,保存到一个设计良好的点击流数据仓库中。对数据仓库中的数据进行数据挖掘得到由多个因素参与的计算模型,最后给出一次点击成为作弊点击的概率,通过当前阈值来过滤作弊点击。这些参与因素包括整体点显比、单IP点显比、时间段因素、时间差因素(网页的显示和点击广告间的时间差,以及广告打开和关闭的时间差)等。
(3)人工智能(AI)技术
2014年Google收购了AI公司DeepMind,DeepMind开发的人工智能系统AlphaGo曾击败世界围棋冠军,这一品牌效应帮助谷歌吸引到了最顶尖的AI人才,从而大大提升了谷歌在AI领域的研发能力,这使得Google在同全球其他科技企业的AI争夺战中拥有了战略优势。在2017年谷歌I/ O大会上,Google发布了Google.AI,把自己所有的AI相关事务集合到Google.AI上,同时发布了最新的机器学习算法AutoML,它能够帮助开发者构建自己的机器学习神经网络,能够帮助机器学习如何学习。目前,Google已经将包括深度学习在内的人工智能方法引入到生物、医疗、化学等各个学术领域,已经应用于搜索、自动驾驶、智能家居、医疗诊断、DNA测序、细胞生物学、Google Assistant、人工智能绘图工具AutoDraw、虚拟现实等应用领域。