深入学习《大学计算机》系列之第1章 1.5节——Google背后的秘密

一.欢迎来到我的酒馆

        第1章 1.5节,Google背后的秘密

二.计算机科学

        本节内容主要介绍计算机科学以及在计算机科学上最成功的应用案例之一——Google搜索引擎。

2.1 计算机科学简介

        计算机科学(Computer Science,CS)是一门研究计算机及其工作方式的学科,包括软件、硬件和算法。
        计算机科学被认为是“一家五口人,每个人是独立且有关联的”学科的一部分,这五个独立且关联的学科是:计算机工程、计算机科学、信息系统、信息技术和软件工程。这个家族已被统称为计算机学科。从某种意义上说,这五种学科是相互关联的,因为计算机是他们研究的对象,但他们是分开的,因为每个学科都有自己的研究领域和课程重点。自1991年以来,计算机协会(ACM)、IEEE计算机学会(IEEE-CS)和信息系统协会(AIS)合作开发和更新了这五个独立且相互关联的学科的分类法,以及全球教育机构用于课程研究的指南。
        说了这么多关于计算机科学的概念,听上去还是有点抽象,不好理解。我们可以用盖房子的例子,计算机科学主要负责系统的研发,它更偏向软件,可以把计算机科学比做是盖房子的图纸,人要住进去,准备家具,装修房子,首先要把房子盖好,计算机科学就是盖房子的各种图纸;计算机工程偏硬件,可以理解为盖房子要使用到的各种材料、工具。盖好了房子,我们可以准备各式各样的家具,软件工程主要负责计算机程序的开发,这就好比是做家具的,比如放置衣服的衣橱,沙发,还可以根据房子的大小个性化地定制家具。信息系统主要负责收集和处理数据,房子盖好了,家具也都备齐了,我们就可以住进去,住进房子里我们总不可能不和外界联系吧!信息系统就好比是电话机,帮助我们与外界的沟通。信息技术主要负责管理和处理信息所要用到的技术,我们不仅可以打电话,还可以写信、发送短信、视频通话方式和亲朋好友联系,信息技术就好比我们要和外界联系可以采用的通信方式。


在这里插入图片描述

2.2 计算机科学的发展史

        计算机科学在1960年发展为一门独立的学科。计算机科学的根源主要在于数学、电气工程、物理学和管理信息系统的相关领域。数学是计算机发展过程中两个关键概念的来源,一个概念是所有信息都可以表示为0和1的序列,另一个概念是存储程序的抽象概念。在二进制系统中,数字由二进制数0和1的序列表示,这和我们熟悉的十进制系统中使用数字0到9表示一样。在电气、电子设备中,两种状态(如高压和低压)相对来说更容易实现,高压用二进制数1表示,低压用二进制数0表示,这种特性使得二进制数成为计算机系统中数据存储和传输的基本单位。
        电气工程提供了电路设计的基础,即输入到电路的电脉冲可以使用布尔代数进行组合以产生任意输出。晶体管的发明和电路的小型化,以及用于存储和传输信息的电子、磁性和光学介质的发明,都是电气工程和物理学进步的结果。管理信息系统,最初称为数据处理系统,管理信息系统提供了各种计算机科学概念,如排序,搜索,数据库,信息检索和图形化用户界面。1930年,可计算性的理论工作才刚刚开始。一个里程碑是在1936年英国数学家艾伦-图灵发表的图灵机模型,在这个图灵机模型中,艾伦-图灵解释了它是一个理论上可计算的模型,执行指令用一系列的0和1表示。另一个重大突破是可存储程序计算机概念的出现,这要归功于美国数学家约翰-冯-诺伊曼。这一概念的提出成为了计算机科学领域的起源,后来成为大家所熟知的架构体系。在1950年,大部分使用计算机的人群要么是实验室里的科学家,要么是大公司的职员。实验室里的科学家们借助计算机计算复杂的算术计算,如计算导弹的弹道。而大公司的职员则借助计算机来管理大量的公司数据。一番使用之后,他们都意识到这样一个问题,那就是用0和1这种机器语言来写程序不实用也不可靠。在1950年的早期,这一问题也促进了汇编语言的发展,汇编语言允许程序员使用符号表示指令和变量。
        1960年初期,计算机的使用越来越多,这为第一个操作系统的发展提供了动力。1970年到1980年,见证了功能强大的计算机图形设备的兴起,这些计算机图形设备用于科学建模和视觉项目开发。因为要在阴极射线管(CRT)显示器和在纸上绘制原始图像,计算机图形设备在1950年早期就被提出。加上价格昂贵的硬件设备以及功能有限的软件,这些使得计算机图形领域直到1980年之后才得到了长足的发展,当时位图图形所需要的计算机内存的价格变得实惠。高分辨率的显示屏幕以及图形标准的发展,使得软件对机器的依赖性降低,位图技术的出现导致了计算机图形领域的爆炸式发展。所有这些最后演变为计算机科学领域的图形学和视觉计算。
        1980年到1990年,可以和用户直接交互的系统被广泛地使用。后来,可以和用户交互的系统被图形用户界面(GUI)所取代。GUI的设计率先由Xerox提出。不久,GUI的设计就被Apple和Microsoft公司采用。GUI的设计非常重要,因为它很容易让人们在和可计算设备进行交互时看到的和做的事情。为所有用户设计合适的用户界面在后来形成了一个专门计算机科学的研究领域,即人机交互(HCI)。21世纪初计算领域的三项发展——移动计算、客户端-服务器计算和计算机黑客。这些促成了计算机科学领域中三个新领域的出现:基于平台的开发、并行和分布式计算和信息安全。基于平台的开发是对移动设备、操作系统及其应用程序的研究;并行和分布式计算涉及架构和编程语言的开发,这些架构和编程语言支持算法的开发,其中的组件可以同时和异步的执行,这更好的利用了时间和空间;信息安全涉及计算系统和软件的设计,用来保护数据的完整性和安全性。总之,计算机科学已经发展为多个不同的领域。


在这里插入图片描述

三.搜索引擎

        现在,我们获取信息的方式变得非常简单且方便。我们只要有不懂的地方,就可以打开手机app搜索一下,马上就可以找到答案。为什么我一搜索,就会立马返回想要的结果,这其中运用了哪些技术,工作原理是什么?

3.1 搜索引擎简介

        搜索引擎(Search Engine),是一种计算机程序,它和我们在电脑上看到的一些计算机程序一样,比如Word,PowerPoint,它们都是运行在计算机里面的一种程序。只不过它们的功能不一样,如Word,它是用来做文字排版的。类似的,搜索引擎也有它特有的功能,它可以根据用户的查询返回结果。搜索引擎,我们可以提取出两个关键字:“搜索”和“引擎”,搜索一词大家再熟悉不过了,有什么不懂得地方,我们可以打开app在搜索栏里输入我们的问题,点击搜索按钮就可以了,搜索可以理解为查询,查找;引擎,我们可以举一个例子,如汽车发动机引擎,它是汽车动力的源泉。因此,引擎可以理解为核心的组件。我们在把这两个关键词组合起来理解,搜索引擎,就是运行在计算机里的一种程序,它的核心功能是提供查询、查找功能。1990年,第一个搜索引擎Archie被开发出来,它是由三位来自加拿大蒙特利尔McGill University开发,Archie并没有在用户界面上有过多的设计,相反,它的界面非常简洁,只有一些搜索参数,它的功能是用来索引FTP文件。它允许用户浏览一些文件,功能很有限。现在,互联网上有许多不同的搜索引擎,每个搜索引擎都有自己的能力和特点。

3.2 世界上第一个互联网搜索引擎

        Archie项目创建的最初目的是用来处理互联网请求,这种请求用于连接到McGill University计算机科学分院。它的主要功能是用来索引FTP文件,它允许用户随意浏览一些文件。如果和现在的搜索引擎相比,Archie就非常的简单。当用户在搜索栏输入想要查询的文件,并选择一些配置信息的时候,Archie会简单的处理请求,然后返回查询到的文件列表。此外,Archie无法识别自然语言请求,也无法为文件中的内容编制索引,这就使得用户在搜索文件的时候必须知道文件的标题,通过文件的标题才能找到想要的文件。索引文件的内容直到后来才加上,它是由Gopher引入的。
        在后来,这个开发团队开发了几个不同版本的Archie。到1993年,搜索引擎开始变得流行起来,每天都要处理来自世界各地的请求,Archie服务器每天需要处理五万个数据请求,这些请求由全球几千名用户产生。当时,Archie服务器根本响应不过来,因为要处理的请求数量太多了。每过一两个月,就需要两倍的Archie服务器数量,服务器需求量呈爆炸式地增长。在空闲时间,Archie服务器会在短短的几秒钟做出响应,但到了工作日,情况就不容乐观,回答简单的用户请求有时需要几个小时才能完成。
        在过去三十年中,搜索引擎不断地发展,逐渐地发展成为我们日常所熟知的使用工具,这些早期的搜索引擎为后来开发出更高效的搜索引擎铺平了道路,如现在我们所熟知的Google,Yahoo等搜索引擎。事实上,现在的搜索引擎使用了很多技术都是来自于Archie。由于一些历史原因,波兰的一所大学University of Warsaw仍然还在维护Archie服务器。


在这里插入图片描述

3.3 Google搜索引擎背后的秘密

        Google搜索引擎是Google公司推出的一个互联网搜索引擎,到目前为止,它是世界上最大的互联网搜索引擎。Google通过提供各种各样的服务,每日处理来自世界各地的超过2亿次的请求。除了提供搜索网页的服务之外,Google还提供了搜索图片、新闻组、新闻网页、影片等服务。在2005年6月,Google已经存储超过80亿个网页,一亿三千万张图片,以及超过一亿的新闻组信息,总计大概10亿4千万个项目。Google搜索引擎缓存了编入索引中绝大多数网页的内容。
        Google搜索引擎是Google公司最重要的产品,它是在1996年由两名斯坦福大学的学生——拉里-佩奇和谢尔盖-布林创建。Google搜索引擎以其简洁的页面、高效的响应速度受到广大用户的欢迎。Google搜索引擎搜索速度之快,是因为它缓存了很多网页,其缓存的网页数量是所有搜索引擎中最多的,支持的语言多达132种,而且搜索结果的准确率极高,具有图片搜索功能和强大的新闻组搜索功能。我们在使用Google搜索引擎的时候,只需要输入关键字,它就会快速地返回相关的结果,它背后运用了什么技术?是什么东西使得Google搜索引擎快而准确?下面讲介绍Google搜索引擎背后的秘密。
        Google搜索引擎的成功主要归功于一层一层的体系架构和算法。从最底层的电子电路信号,到可见的用户界面,大致可以分为7层。每一层都涉及了大量的技术和原理,这里重点介绍我们熟知的Google server farm和Google搜索引擎特有的PageRank算法。
在这里插入图片描述
        Google的数据中心,也称为 “Server Farm”,它建在俄勒冈州哥伦比亚河畔,于2007年投入使用。Google之所以将数据中心建在山清水秀的小镇里,主要是因为这里有着数据中心运营的得天独厚的条件。该小镇有一个水坝,可以租用大量的土地,当地政府还提供为期15年的税收优惠。水坝旁边可以建立大型的冷却塔,以解决数据中心超级计算机的散热问题,此外还有一条专门连接数据中心和水坝发电厂的电网,为数据中心内部耗电惊人的超级计算机提供电力。而且,该小镇的电价是全美最低廉的,这也是吸引Google在该小镇建立数据中心的原因。
        一座数据中心每天就要用掉数百万加仑的河水(一加仑等于3.8升),这样庞大的水资源消耗,使得附近的小镇和Google数据中心发生“抢水”的现象。这是一座巨大的建筑,里面拥有大量的电力、大量冷却装置以及大量的计算机。在Google数据中心里一排排的设备一起协同工作,提供服务,让Google发挥作用。俄勒冈州拥有全世界威力最强大的超级计算机,处理每天数十亿次搜寻和提供其它网络服务,在俄勒冈州哥伦比亚河畔的数据中心是全球数据处理能力最强大的数据中心之一。


在这里插入图片描述

         PageRank算法被称为是Google搜索引擎的星星之火,它可以通过搜索关键字对网页进行排名,它是Google公司的创始人拉里-佩奇命名。PageRank是用来评估一个页面相对于其它页面的重要性的一个算法规则。这个算法最基本的意思就是说,如果A页面有一个链接指向B页面,那就可以看作是A页面对B页面的一种信任或推荐。所以,如果一个页面的反向链接越多,再根据这些链接的价值加权越高,那搜索引擎就会判断这样的页面更为重要,页面等级(PageRank)也就越高。

四.总结

1.计算机科学。计算机科学是一门研究计算机及其工作方式的学科,包括软件、硬件和算法。
2.计算机科学的发展史。计算机科学已经发展成为多个不同的领域。
3.Google搜索引擎背后的秘密。Google搜索引擎的成功主要归功于一层一层的体系架构。
4.参考资料:
计算机科学:https://www.britannica.com/science/computer-science
Archie 搜索引擎简介:https://www.stackscale.com/blog/archie-internet-search-engine/
Google数据中心简介:https://baike.baidu.com/item/%E8%B0%B7%E6%AD%8C%E6%9D%91/7661336?fr=ge_ala
PageRank简介:https://baike.baidu.com/item/%E9%A1%B5%E9%9D%A2%E7%AD%89%E7%BA%A7/6410866?fr=ge_ala

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值