第5章信息系统的技术基础 第6章数据库技术 第7章数据挖掘与大数据分析 第二篇技术篇 第5章信息系统的技术基础 管理信息系统用系统的方式,通过信息媒介控制来实现管理的目的。从广义上讲,一切涉及信息的生产、处理、存储、物流、应用的相关技术,均可称为信息技术。从狭义上讲,信息技术就是运用计算机技术和现代通信技术,对信息资源进行采集、加工、存储、传递和反馈的专门技术,主要包括计算机技术、计算机网络等。 5.1计算机系统与硬件 5.1.1计算机的发展 1. 计算机的发展历程 计算机是一种用于高速计算的电子计算机器,可以用于数值计算、逻辑计算,同时也兼具存储记忆功能,是按照程序运行并自动、高速处理海量数据的现代智能电子设备。自1946年2月14日,第一台电子计算机在美国宾夕法尼亚大学问世至今,电子计算机已经走过了70多年的发展历史,其发展历程可以划分为四个阶段。 第一个阶段: 电子管计算机,时间为1946—1958年。在硬件方面采用真空电子管作为基本元器件,内存储器(计算机用于存放信息的存储器)采用汞延迟线,外存储器采用磁带。在软件方面采用机器语言、汇编语言编程。 第二个阶段: 晶体管计算机,时间为1958—1964年。晶体管的发明取代了电子管,从而诞生了晶体管计算机。在硬件方面大量使用磁性材料制成的磁芯存储器,使用磁盘、磁带作为外存储器。在软件方面具备了操作系统、高级语言及其编译程序。 第三个阶段: 集成电路计算机,时间为1964—1970年。用小规模集成电路器件作为计算机的主要逻辑器件,是第三代计算机的标志。在硬件方面,逻辑元件采用中、小规模集成电路,主存储器仍用磁芯; 软件方面出现了分时操作系统以及结构化、模块化程序设计方法。 第四个阶段: 大规模集成电路计算机,时间为1970年至今。第四代计算机的逻辑元件采用大规模和超大规模集成电路,在软件方面出现了数据库管理系统、网络管理系统和面向对象语言。带有微处理器的微型计算机以及各种外围设备,组成了微型计算机系统。 2. 计算机的分类与特点 1) 计算机的分类 根据计算机的总体规模,通用计算机可分为巨型机、大型机、中型机、小型机、微型机和单片机六类,如图5.1所示。它们的区别在于体积、功能、数据存储量、指令系统以及价格等。巨型计算机主要用于科学计算,其运算速度在每秒一万亿次以上,数据存储容量很大,结构复杂,价格昂贵。单片机是只用一片集成电路做成的计算机,体积小,结构简单,性能指标较低,价格便宜。介于巨型机和单片机之间的是大型机、中型机、小型机和微型机,它们的结构规模和性能指标依次递减。随着超大规模集成电路的迅速发展,今天的小型机电路集成水平可能相当于明天的微型机,而今天的微型机可能相当于明天的单片机。 图5.1不同机型之间的区别 ·· ·· 此外,常见的微型机还可以分为台式机、便携机、笔记本电脑、掌上电脑等多种类型。 2) 计算机的特点 计算机的出现是第三次工业革命中最辉煌的成就之一,其具有如下特点。 (1) 运算速度快、准确度高。 计算机采用了高速电子器件,同时运用了存储程序的设计思想,将要解决的问题和解决的方法及其解题步骤事先都存入计算机存储器中,使得电子器件的快速性得到了充分发挥。因为计算机中的信息采用数字化编码形式,所以计算精度取决于运算中数的位数,位数越多越精确。 (2) 具有逻辑判断和记忆能力。 计算机内部有一个能执行算术逻辑运算的部件,通过执行能体现逻辑判断和逻辑运算的程序,使整个系统具有逻辑性。计算机内部的存储器能存储记忆数据和指令,从而使计算机具有高超的记忆能力。 (3) 高度的自动化和灵活性。 计算机采用存储程序方式工作,把编写好的程序输入计算机,机器便可依次逐条执行,这就实现了高度的自动化和灵活性。每台计算机提供的基本功能是有限的,这是在设计和制造时就决定的; 但计算机可以在人的精心编排设计下,用这些有限的功能,快速自动完成各种各样的基本功能序列,从而实现通用性,达到计算机应用的各种目的。 3) 计算机的发展趋势 (1) 微型化。 微型处理器的出现使计算机体积变小,成本降低。软件行业的飞速发展提高了计算机内部操作系统的便捷度,计算机外部设备也趋于完善。微型计算机很快应用到全社会的各个行业和部门中,从台式计算机、笔记本电脑、掌上电脑到平板电脑,体积逐步微型化。 (2) 网络化。 互联网将世界各地的计算机连接在一起,彻底改变了人类世界。人们通过互联网进行沟通、交流、资源共享、信息查阅等。无线网络的出现,极大地提高了人们使用网络的便捷性。未来计算机将会进一步向网络化方面发展。 (3) 智能化。 计算机人工智能化是未来发展的必然趋势。现代计算机具有强大的功能和极高的运行速度,但与人脑相比,其智能化和逻辑能力仍有待提高。人类在不断探索如何让计算机能够更好地反映人类思维,使计算机能够具有人类的逻辑思维判断能力,可以通过思考与人类沟通交流,从而抛弃以往通过编码程序来运行计算机的方法,直接对计算机发出指令。 (4) 多媒体化。 传统的计算机处理的信息主要是字符和数字。事实上,人们更习惯的是图片、文字、声音、影像等多种形式的多媒体信息。多媒体技术可以集图形、图像、音频、视频、文字为一体,使信息处理的对象和内容更加接近真实世界。 5.1.2计算机运算基础 1. 冯·诺依曼体系结构思想 计算机有巨型、大型、中型、小型和微型之分,每种规模的计算机又有很多机种和型号,在硬件配置上差异很大,但它们绝大多数都是根据冯·诺依曼(von Neumann)计算机体系结构的思想来设计的。冯·诺依曼体系结构的主要内容是: 采用二进制来表示数据和指令; 将编写好的程序和原始数据送入主存储器中,然后启动计算机开始工作; 计算机应该包括运算器、控制器、存储器、输入/输出设备五大部件(其结构如图5.2所示),并且各自都有自己的功能。 图5.2冯·诺依曼计算机体系结构图 按照冯·诺依曼体系结构搭建的计算机具有以下基本特点。 (1) 采用存储程序方式,程序和数据存放在同一个存储器中,两者没有区别。指令同数据一样可以传送到运算器进行运算,即由指令组成的程序是可以修改的。 (2) 存储器是按地址访问的线性编址的唯一结构,每个存储单元的位数都是固定的。 (3) 指令由操作码和地址码组成。操作码指明该指令的操作类型应完成的功能; 地址码指明操作数(即指令的操作对象)的存放地址。操作数本身无数据类型标志,它的数据类型由操作码确定。 (4) 通过执行指令直接发出控制信号控制计算机的操作。指令在存储器中按其执行顺序存放,由指令计数器指明要执行的指令所在的单元地址。指令计数器只有一个,计数一般顺序递增,但执行顺序可根据运算结果或当时的外界条件而改变。 (5) 机器以运算器为中心,输入/输出设备与存储器间的数据传送都经过运算器。 (6) 数据以二进制表示。 2. 计算机工作原理 计算机先把编制好的程序和原始数据通过输入设备送入存储器保存。计算机运行时,控制器从存储器中逐条取出指令,并将其分析解释成为控制命令,去控制各部件的动作,使数据在运算器中进行加工处理。处理后的结果通过输出设备输出。 (1) 输入。计算机系统的输入设备是向计算机输入数据和信息的设备,是计算机与用户或者设备之间的桥梁。键盘、鼠标、光笔、扫描仪等都可以直接或者间接将数据输入计算机进行存储、处理。 (2) 数据处理与控制。中央处理器(central processing unit,CPU)是计算机系统的核心部件。CPU中的算术逻辑单元负责计算机的运算任务。CPU中的控制部件处理计算机的程序指令,实现计算机功能部件之间的联系,完成整个指令程序。 (3) 输出。计算机的输出设备用于执行计算机数据的输出显示、打印、声音、控制外围设备操作等任务,即把各种计算结果数据或信息以数字、字符、图像、声音等形式表现出来。常见的输出设备有视频显示器、打印机、影像输出系统、语音输出系统、磁记录设备等。 (4) 存储器。存储器是用来存储程序和各种数据信息的记忆部件。存储器可分为主存储器(简称主存或内存)和辅助存储器(简称辅存或外存)两大类。主存储器在程序执行期间被计算机频繁地使用,并且在一个指令周期期间可直接访问。辅助存储器要求计算机从外部存储装置读取信息。常用的辅助存储器主要有磁带、磁盘、光盘等,用来存放暂时不用的海量信息。 5.1.3计算机硬件系统 微型计算机遵循冯·诺依曼提出的“存储程序”式组成结构。其工作原理是把复杂的计算、操作过程表示成由许多条基本指令组成的程序,预先存放到存储器中; 需要时,发出运行命令,计算机再按照程序规定的顺序逐条执行指令,以完成程序所要求的功能。微型计算机在硬件结构上主要由主机和各种外部设备组成。 1. 主机的内部结构 主机由以下部件组成。 (1) 机箱。机箱是计算机主机的外壳,用来安装电源、主板、CPU、内存、硬盘驱动器、软盘驱动器等部件。 (2) 主板。主板又称为系统板或微机母板。主板是计算机中最大的一块电路板,它是整个计算机的基板,是CPU、内存、显卡及各种扩展卡的载体,是连接CPU与其他部件的平台。主板是否稳定关系着整台计算机是否稳定,主板的速度在一定程度上也制约着整机的速度。主板上连接的器件包括CPU、内存模块、基本I/O接口、中断控制器、DMA控制器及连接其他部件的总线等。主板的结构如图5.3所示。 图5.3微型计算机的主板结构图 (3) 微处理器。微处理器也称为中央处理器(CPU),主要包括运算器和控制器两部分,是计算机的核心部件,决定计算机的性能。微处理器一般由高速的电子线路组成,集成在一块半导体芯片上,安装在主板的CPU插槽中,控制着整个微机系统的工作。目前,PC系列计算机上使用的CPU主要由英特尔(Intel)和AMD公司生产。中国科学院计算所研制的“龙芯”也取得了很大进展,相关性能已接近现在主流微处理器芯片。 (4) 存储器。综合考量成本、速度、容量等因素,现代微机系统都采用了多种类型的存储器,以构成合理的存储体系。一般而言,速度越快的存储器单位容量成本越高,相对地,速度快的存储器容量就不能做得过大。通常,在微机中,都会存在一个由高速缓冲存储器(cache)、主存储器和辅助存储器组成的三级存储器体系结构。 高速缓冲存储器是一种容量较小的高速存储器件。为了解决主存储器与CPU速度不匹配的问题,在CPU与主存之间通过增加一级或多级能与CPU速度匹配的高速缓冲存储器,来提高主存储系统的性能价格比。 主存储器又称为内存储器,简称为主存或内存,是指能够通过指令中的地址直接访问的存储器。它用来存放当前正在使用或随时要使用的程序(指令)和程序执行所需的数据,供CPU直接读取。目前,内存主要由半导体器件构成。相对于外存来说,主存价格贵、容量小。 辅助存储器又称为外存储器,简称为辅存或外存,主要用来长期存储暂时不用的程序和数据。辅助存储器中的信息不能被CPU直接访问,只有被调入内存,才能为CPU所使用。在断电的情况下,辅助存储器可以长期保存信息,故一般辅助存储器也被称为永久性存储器。目前,微型计算机上常用的辅助存储器有硬盘存储器、光盘存储器、软盘存储器等。 (5) 显示卡。显示卡简称为显卡,是主机与显示器之间的接口电路。显卡可直接插在主板的扩展槽上,也有在主板上集成显卡接口电路的。显卡的主要功能是将主机输出的信号转换成显示器所能接受的形式。 (6) 声卡。声卡又称音效卡,它可直接插在主板的扩展槽上,也有在主板上集成的。一般,声卡上提供立体声输入/输出端口、麦克风插口、乐器数字接口(MIDI)等。 (7) 网卡。网卡是微机上网的接口部件,它可直接插在主板的扩展槽上,也有在主板上集成的。目前,网卡常用的配置速率有100Mbps或1000Mbps。 2. 外部设备 外部设备也称为外围设备。它们是指计算机系统中,除主机以外,用于直接或间接与计算机交换信息、改变信息媒体或载体形式的装置。外部设备种类多样,常见的有显示器、键盘、鼠标、打印机、扫描仪、绘图仪、摄像机、光笔、触摸屏等。 5.2计算机软件基础 5.2.1软件的概念和分类 计算机软件是能在计算机上运行的各种程序、程序运行时所需的各种数据以及说明这些程序和数据的各种相关技术资料。一个完整的计算机系统是由软件系统和硬件系统两部分构成的。硬件是组成计算机系统的物质基础,软件则是指挥计算机工作的灵魂。没有软件,只有由硬件构成的“裸机”,是无法提供给用户直接使用的。软件与硬件系统不同,是看不见、摸不着的,但它对于计算机系统不可或缺。通常,软件被分为系统软件和应用软件两大类。系统软件是指管理与支持计算机系统资源及操作的程序; 应用软件是指处理特定应用的程序。计算机软件的分类如图5.4所示。 图5.4计算机软件的分类 5.2.2系统软件 可以把软件分成若干层,最内层是对硬件的扩充和完善,而外层则是对内层的再次扩充与完善。软件的层次关系如表5.1所示。一般把靠近内层、为方便使用和管理计算机资源而开发的软件,称为系统软件。系统软件通常负责管理、控制和维护计算机的各种软、硬件资源,并为用户提供友好的操作界面。系统软件不需要用户的干预,就能处理复杂、烦琐的事务。 表5.1软件层次关系 外层 ↑ | ↓ 内层 银行应用系统、飞机票预订系统、浏览器 编译程序/编辑程序/DBMS 操作系统 物理设备 系统软件包括操作系统、高级程序设计语言的编译和解释程序、数据库管理系统以及系统服务程序等。 1. 操作系统 操作系统就是合理管理并控制计算机系统内各种软、硬件资源,并能够合理组织工作流程,方便用户使用的程序集合。操作系统是紧邻硬件的第一层软件,是对硬件功能的首次扩充。任何一台计算机都必须在其硬件平台上加载相应的操作系统之后,才能构成可以正常运转的计算机系统。可以说,操作系统是用户与计算机硬件之间的接口。没有操作系统作为中介,用户对计算机的操作将变得非常困难且低效。 1) 操作系统的功能 (1) 处理器管理。负责在多道程序之间分配CPU,使每道程序都能高效而有序地执行。 (2) 存储器管理。负责内存空间的分配和回收,地址转换和内存保护,内存的虚拟存储器扩充。 (3) 设备管理。统一管理各种已登入系统的外部设备并负责外设和主机之间的信息交换。 (4) 文件管理。统一管理各种以文件形式保存在外存上的信息,负责文件的建立、读、写、复制和删除等。 (5) 作业和进程管理。对程序运行进行管理。 2) 操作系统的分类 (1) 批处理操作系统。主要特点是系统吞吐量大、系统资源利用率较高、平均作业周转时间(作业从提交到结果输出的时间)较长,无交互功能。 (2) 分时操作系统。具有较好的交互性; 系统资源利用率也得到了很大的提高。 (3) 实时操作系统。具有事件驱动的特点,往往由外部事件触发系统的响应; 有实时性和高可靠性的要求。 (4) 网络操作系统。组成网络的各台计算机物理分散且高度自治,各台计算机都有各自的软、硬件资源。系统的主要目的是共享网络资源、信息交换和协作。 (5) 分布式操作系统。负责在分布式系统中实现资源的统一管理,可供用户以透明的方式使用系统资源或请求系统服务。 (6) 嵌入式操作系统。具有普通计算机通常具有的功能,同时也具有实时系统的特征,通常是更小的、具有一定硬件控制功能的系统。 2. 语言处理系统 使用计算机时,要让计算机去完成某种特定的工作任务,就必须向计算机发出指令,而且这条指令必须是计算机能够理解并执行的信息。人与人之间的交流需要语言,人与计算机之间的交流也要用“语言”,这里的“语言”指的其实就是计算机语言。用计算机语言描述要完成的工作,也就是用计算机语言去编写一组指令序列,即程序。目前,在计算机上使用的语言主要有机器语言、汇编语言和高级语言。其中,机器语言是二进制语言,是计算机唯一能直接识别并执行的语言形式; 其他语言所编写的程序都必须通过“翻译”,转换成机器语言形式,才能被计算机识别并执行。 语言处理系统就是负责完成“翻译”过程的程序集合。通过语言处理系统,能够将用高级语言或汇编语言编写的程序(源程序),翻译成等价的机器语言程序。一般地,在翻译时,要对源程序进行检查,以保证翻译后的程序是可执行的。但是,语言翻译程序无法保证程序的执行结果是否正确,要靠程序设计人员自己来判断。 1) 翻译方法 (1) 编译。编译是把高级语言程序(源程序)作为一个整体来处理。首先将程序源代码“翻译”成目标代码(机器语言),编译后与系统提供的代码库链接,形成—个完整的可执行的机器语言程序(目标程序代码)。 (2) 解释。解释程序处理源程序的执行方式类似于日常生活中的“同声翻译”,解释一句、执行一句,立即产生运行结果。解释程序不产生目标代码,不能脱离其语言环境独立执行。一般地,解释程序对源程序的解释执行比编译程序产生的目标代码程序的执行速度要慢。 2) 分类 (1) 编译(compiler)程序。将高级语言程序翻译成对应的汇编语言程序,或者直接翻译成对应的机器语言程序(称为目标程序(object program),存储于外存,不能直接执行)。 (2) 汇编(assembler)程序。将汇编语言程序翻译成对应的目标程序。 (3) 链接(linker)程序。将一个或多个目标程序与一个或多个相关的程序库(library,也是由一些目标程序构成)组织在一起,产生可执行代码(executable code)并存入外存,在需要运行时再由操作系统加载执行。 (4) 解释(interpreter)程序。对高级语言程序逐句进行翻译,产生对应的机器语言指令序列并执行。 3. 数据库管理系统 数据是对客观事物的性质、状态以及相互关系等进行记载的物理符号或是这些物理符号的组合。数据库(database,DB)是长期储存在计算机内、有组织的、可共享的大量数据集合,而数据库管理系统(database management system,DBMS)是为数据库的建立、使用和维护而配置的软件。它建立在操作系统的基础之上,对数据库进行统一的管理与控制。用户使用的各种数据库命令以及应用程序的执行,都必须通过DBMS实施。DBMS还承担了数据库的维护工作,保证数据库的安全性和完整性。有关数据库管理系统的详细介绍参见第6章。 4. 系统实用程序 系统实用程序是一些工具性的服务程序,专门用于系统的使用和维护,以帮助系统解决出现的问题,提高运行效率并保护系统,使得系统能够安全、可靠、持续地运行。这些系统实用程序所具有的功能包括帮助用户来测试系统,诊断并排除系统故障,防病毒,安装和卸载计算机中的程序,对系统中的程序和数据进行备份,对文件进行压缩等。 5.2.3应用软件 应用软件是针对某个应用领域的具体问题而开发和研制的程序。它由专业人员为各种应用目的而开发出来,供信息系统或计算机用户使用。应用软件一般包括用户程序及其说明性文档资料。应用软件必须在系统软件的支持下才能正常工作。应用软件具有很强的实用性和专业性,正是由于应用软件的开发和使用,才使得计算机的应用逐渐扩展到社会的各行各业。 应用软件大多具有图形用户界面,而且能有效地防止最终用户可能产生的各种使用错误。通常,应用软件可分为通用应用软件和专用应用软件两大类。其中,通用应用软件是被广泛使用的软件,完成的是常见的任务; 而专用应用软件则是信息系统中直接面向最终用户、进行相应的业务处理与数据管理的部分。常用的通用应用软件有文字处理程序、互联网工具、个人数据库、电子表格软件等。专用应用软件通常与应用领域有关,常见的领域是财务、金融、交通、通信、物流、商业与服务业、企业管理、电子商务和电子政务等。 1. 文字处理软件 文字处理软件已经成为计算机必备软件。利用文字处理软件,用户能够写作、编辑、存储和打印作品。此外,一些文字处理软件还有相当丰富的辅助功能,比如拼写检查、邮件合并和宏等。文字处理软件的种类非常丰富。目前,常用的有Microsoft Word、金山WPS等。 2. 电子表格软件 在办公业务操作中,信息的表达方式除文字描述外,还需采用表格或图表。电子表格可以将各种复杂信息简明、扼要地表达; 数据图表可把枯燥的数字形象化,使数据更加清晰易懂,含义更加形象生动,并且可以通过它了解到数据之间的关系和变化趋势。比较常见的电子表格处理软件包括Microsoft Excel。它是Microsoft Office办公软件中的一个重要组件,专门用于电子表格处理和数据图表制作。它不仅能够轻松制作各种表格,对表格进行综合管理,统计计算,绘制图表,而且还提供了数据库操作、数据假设分析和辅助决策等功能,广泛应用于行政办公、财务核算、统计分析、预测决策、金融、审计等各个领域。它适合于处理形状规则、单元格中数据较多、数据格式多样化,并且需要进行数据计算的表格。 3. 数据管理软件 虽然表格在处理定量数据时是一种强大的工具,但其更适用于创建和操作列表数据以及将不同文档的信息进行合并。微机数据库管理软件包可编程且菜单易学,方便非专业人员创建小型信息系统。数据管理软件通常有创建文件夹和数据库的功能,还有为便于报告和查询而存储、修改及运用数据的功能。个人计算机中常用的数据库管理软件是Microsoft Access,它提高了用户在网络上发布数据的能力。 4. 简报制作 用户可以使用简报制作软件创作专业级的图表。这种软件可以将数字数据转换成图表或者其他包括声音、动画、图片和视频在内的多媒体形式。简报制作软件主要具有显示计算机幻灯片和呈现网站内容等功能。Microsoft PowerPoint是比较流行的简报制作软件。 5.2.4程序设计语言及工具 1. 程序设计语言 1) 机器语言 机器语言是第一代计算机语言,是最基本的程序设计语言。早期的计算机不配置任何软件,这时的计算机称为“裸机”。裸机只认得“0”和“1”两种代码,程序设计人员因而只能用一连串的“0”和“1”构成的机器指令码来编写程序,这就是机器语言程序。机器语言采用二进制代码,计算机指令的操作码(如+、-、*、/等)和操作数地址均用二进制代码表示; 指令随机器而异(称为“面向机器”),不同的计算机有不同的指令系统。执行速度快是机器语言的唯一优点。 2) 汇编语言 机器语言存在易于出错、不够直观、编程烦琐、工作量大等缺点。于是,人们想出了用符号(称为助记符)来代替机器语言中的二进制代码的方法,设计了“汇编语言”。汇编语言又称符号语言,其指令的操作码和操作数地址全都用符号表示,大大方便了记忆。但汇编语言仍然是一种面向机器的程序设计语言。机器语言所具有的缺点(如缺乏通用性、烦琐、易出错、不够直观等),汇编语言也都有,只是程度较轻而已。 用汇编语言书写的程序(称为汇编语言源程序)保持了机器语言执行速度快的优点。但它进入计算机后,必须被翻译成以机器语言形式表示的程序(称为目标程序),才能由计算机识别和执行。完成这种翻译工作的程序(软件)叫汇编程序。汇编语言比机器语言前进了一大步。但程序员仍须记忆许多助记符,加上机器的指令数很多,所以编制汇编语言程序仍是件烦琐的工作。 3) 高级语言 高级语言即第三代计算机语言,其指令主要采用简明的叙述语句或者数学表达式。每一条高级语言实际上都是一条宏指令,也就是说,每条高级语言都会被高级语言编译器或者解释器翻译成多条机器指令。高级语言的叙述与自然语言或数学表达式相似,用来表达需要通过编程解决的问题或者程序,其语法(词汇、标点及语法规则)和语义(所表达的含义)不会随着计算机的更换而改变。高级语言一般采用英语表达语句,便于理解、记忆和掌握,而且一条高级语言语句通常对应多个机器指令,短小精悍,不仅便于编写,还易于查找和修改错误。但是,高级语言通常不如汇编语言那样高效,并且需要大量的时间来将叙述翻译成机器指令。由于大多数高级语言与计算机硬件无关,因此用高级语言编写的程序在新计算机上安装时不需要重新编写,程序员也不需要针对不同的计算机类型学习不同的语言。常用的高级语言有C、C++、Java、Python等。 4) 新一代语言 新一代语言属于更高级的语言,比之前的高级语言更加非过程化、更加接近自然语言。新一代语言趋向于按照用户和程序员的需求定制所需要的内容,并由计算机来决定这些指令的执行顺序,大大简化了程序语言的编写过程,学习起来更为容易; 有大量成熟稳定的函数、子程序、封装对象可以直接引用,模块化构架更为清晰。 2. 程序设计工具 1) 语言编译程序 计算机程序由一系列用某种程序设计语言编写的指令集组成。在这些程序被处理或者执行之前,必须由语言编译程序将其翻译成计算机自己的机器语言。程序设计语言编译程序(或者语言处理器)有很多种。汇编语言编译程序可以将用汇编语言编写的符号指令代码翻译成相应的机器语言,编译器则用于翻译高级语言。解释器是一种特殊的编译器,它可以同时解释并运行程序中的每一句代码,而不是像汇编器和编译器那样生成一套完整的机器语言。Java就是其中的一个例子。因此,Java Applet应用程序中的指令能够飞速地解释和执行,就像在客户端上运行一样。 2) 编程工具 通过增加图形编程界面和大量内置开发工具,软件开发和计算机程序处理能力得到了加强。语言编译器通常提供一些编辑和诊断功能,用以查找程序的错误和漏洞。大部分软件开发程序现在也包含了强大的面向图形程序的编辑器及调试器,可帮助程序员在编程时查找并减少错误。它们提供了计算机辅助编程环境,可在提高软件开发者工作效率的同时减少编程工作的枯燥性。其他编程工具包括图形软件包、代码生成器、可重复使用对象库和程序代码及原型法开发工具。所有这些程序开发工具在Visual Basic、C++、Java等语言的使用过程中都是必不可少的。 5.3计算机网络基础 5.3.1计算机网络的组成与功能 计算机网络是现代计算机技术和通信技术密切结合的产物,是随着社会对资源的共享和信息传递的需求而发展起来的。一方面,随着计算机使用的普及,人们不仅对信息传递的效率提出了更高的要求,还希望能够共享各种硬件、软件及数据资源。另一方面,通信网络的发展为计算机之间的数据传递和交换提供了必要的手段,而数字计算技术的发展融合到通信技术中,又提高了通信网络的各种性能,为把计算机技术和通信技术结合起来奠定了良好的物质基础。 1. 计算机网络的发展 计算机网络的发展经历了从简单到复杂、从低级到高级的过程。从20世纪50年代开始,大体上可以把计算机网络的发展划分为四个阶段: 面向终端的计算机网络、计算机计算机网络、标准化网络和互联网络。 1) 面向终端的计算机网络 面向终端的计算机网络实际上就是以单台计算机为中心的远程联机系统,即以一台中央主计算机连接大量在地理上处于分散位置的终端。其特点是除了一台中心计算机外,其余的终端设备都没有自主处理的功能。20世纪50年代初,美国建立的半自动地面防空系统就是这种系统的典型。 2) 计算机计算机网络 随着计算机技术和通信技术的进步,为了提高网络的可靠性和可用性,人们开始研究将多台计算机相互连接的方法。从20世纪60年代中期到70年代中期,逐步形成了计算机计算机网络,利用通信线路将多台主机连接起来,为终端用户提供服务。这一阶段计算机网络的主要特点是: 资源的多向共享、分散控制、分组交换; 采用专门的通信控制处理机、分层的网络协议。这些特点往往被认为是现代计算机网络的典型特征。但这个时期的网络产品彼此之间是相互独立的,没有统一标准。 3) 标准化网络 20世纪70年代中期,计算机网络开始向体系结构标准化的方向迈进。1984年,国际标准化组织(ISO)正式颁布了开放系统互连(OSI)参考模型的国际标准。美国电气与电子工程师协会(IEEE)为了适应微机、个人计算机(PC)及局域网发展的需要,于1980年2月在旧金山成立了IEEE 802局域网络标准委员会,并制定了一系列局域网络标准。随后,新一代光纤局域网——光纤分布式数据接口(FDDI)网络标准及产品也相继问世。通信子网的交换设备主要是路由器和交换机。 4) 互联网络 由于早期的计算机网络标准不统一,网络与网络之间互不兼容,因而网络之间的通信非常困难。随着计算机网络技术的迅猛发展,人们渴望跨越不同的网络实现信息交换和资源共享,由此出现了“网络的网络”,即互联网络。互联网络,尤其是因特网的出现和发展,把人类社会带入了数字化、网络化和信息化的时代。 2. 计算机网络的组成 尽管计算机网络发展速度很快,实现的功能也越来越丰富,但是逻辑结构并没有太大的变化。 单个的计算机网络主要由三部分组成: 若干台主机,为用户提供服务; 一个通信子网,主要由节点交换机和连接这些节点的通信链路所组成; 一系列的协议,主要为在主机和主机之间或主机和子网中各节点之间的通信而制定,是通信双方事先约定好的、必须遵守的规则。通常情况下,按照数据通信和数据处理的功能,可以从逻辑上将计算机网络划分为通信子网和资源子网两部分,如图5.5所示。 图5.5计算机网络逻辑结构 1) 资源子网 资源子网由网络中的所有主机、终端、终端控制器、外设(如网络打印机、磁盘阵列等)和各种软件资源组成,是信息传输的源节点或宿节点,有时也称为端节点。资源子网的基本功能是进行信息处理,即负责全网的数据处理和向网络用户(工作站或终端)提供网络资源和服务。 2) 通信子网 通信子网主要由网络节点和通信链路构成,主要负责全网的信息传递,即承担资源子网的数据传输、转接和变换等通信处理工作。网络节点即网络中间节点,主要包括分组交换设备、分组装配/拆卸设备、集线器、网络控制中心、网间连接器等,统称为接口信息处理机或通信控制处理机,其功能是控制信息的传输,在端节点之间转发信息。通信链路为通信控制处理机之间、通信控制处理机与主机之间提供通信信道。通信链路可以是有线的,如双绞线、同轴电缆或光纤,也可以是无线的,如无线电、卫星或微波。 3. 计算机网络的功能 计算机网络的主要目标是实现信息交换和资源共享,具有下述功能。 1) 数据通信 数据通信即实现计算机与终端、计算机与计算机间的数据传输,是计算机网络的最基本功能,也是实现其他功能的基础。数据通信功能需要解决连接的建立和拆除、数据传输控制、差错检测、流量控制、路由选择和多路复用等问题。 2) 资源共享 资源共享主要包括硬件资源共享、软件资源共享和数据资源共享等。如网络中的各主机既可以共享打印机、外部存储器等硬件设备,也可以共享大型应用软件等软件资源,还可以共享存储于数据库中的大量数据资源。 3) 负载均衡和分布处理 负载均衡是指工作被均匀地分配给网络上的各台计算机。网络控制中心负责分配和检测,当某台计算机负载过重时,系统会自动转移部分工作给负载较轻的计算机处理。网络技术的发展,使得分布式计算成为可能。大型的任务可以分解为许多小任务,由不同的计算机分别完成,然后再集中起来解决问题。 4) 提高系统的安全可靠性 利用网络中的冗余部件可显著提高可靠性,例如在工作过程中,一台机器出了故障,可以使用网络中的另一台机器; 网络中一条通信线路出了故障,可以取道另一条线路,从而提高了整体网络系统的可靠性。 5.3.2计算机网络的分类 计算机网络利用通信设备和通信线路,将地理位置分散的、具有独立功能的多个计算机系统互连起来,通过网络软件(网络通信协议、信息交换方式和网络操作系统等)实现网络中的资源共享和信息交换。这个定义表明: 计算机网络包含两台以上的地理位置不同并且具有“自主”功能的计算机; 计算机网络中各节点之间的连接需要有一条通道,即由传输介质实现物理互连; 计算机网络中各节点之间互相通信或交换信息,需要有某些协议的支持; 计算机网络以实现信息交换和网络资源(包括硬件资源和软件资源)共享为目的。可以从不同的角度把计算机网络划分为不同的类别,下面简单介绍几种分类方式。 1. 按网络的作用范围分类 按作用范围可以将网络划分为广域网、局域网、城域网和接入网。 1) 广域网(wide area network,WAN) 广域网的作用范围通常为几十到几千千米,因而有时也称为远程网(long haul network)。广域网是互联网的核心部分,其任务是通过长距离(例如,跨越不同的国家)传输主机所发送的数据。连接广域网各节点交换机的链路一般都是高速链路,具有较大的通信容量。广域网的特点包括: 覆盖范围广,可达数千千米甚至全球; 没有固定的拓扑结构; 通常使用高速光纤作为传输介质; 局域网可以作为广域网的终端用户与广域网连接; 主干带宽大,但提供给单个终端用户的带宽小; 数据传输距离远,往往要经过多个广域网设备转发,延时较长; 管理、维护困难。 2) 局域网(local area network,LAN) 局域网一般用微型计算机或工作站通过高速通信线路相连(速率通常在10Mb/s以上),但地理上则局限在较小的范围内(如1km左右)。局域网的特点包括: 覆盖的地理范围较小; 以微机为主要联网对象; 误码率低; 传输速率高; 管理方便; 实用性强,使用广泛。 3) 城域网(metropolitan area network,MAN) 城域网的作用范围在广域网和局域网之间,作用距离约为5km~50km,可跨越多个街区甚至整座城市。城域网的传送速率比局域网的更高。 2. 按网络拓扑结构分类 计算机网络的拓扑结构是指一个网络的通信链路和节点的几何排列或物理布局图形。链路是网络中相邻两个节点之间的物理通路,节点指计算机和有关的网络设备,甚至指一个网络。下面介绍点到点式网络的拓扑结构结构。 1) 星状网络 星状网络由中央节点与各节点连接组成,各节点与中央节点通过点到点的方式连接,拓扑结构如图5.6所示。星状网络的特点是: 网络结构简单,便于管理; 控制简单,建网容易; 网络延迟时间较短,误码率较低; 网络共享能力较差; 通信线路利用率不高; 中央节点负荷太重。 2) 树状网络 树状网络可以看作星状网络的扩展。它是一种分层结构,具有根节点和各分支节点。树状网络的主要特点是结构比较简单,成本低。在网络中,任意两个节点之间不产生回路,每条链路都支持双向传输。网络中结点扩充方便灵活,寻找链路路径比较方便。但在这种网络系统中,除叶节点及其相连的链路外,任何一个节点或链路产生的故障都会影响整个网络。 3) 总线型网络 由一条高速公用总线连接若干节点所形成的网络即为总线型网络,拓扑结构如图5.7所示。 图5.6星状网络拓扑结构 图5.7总线型网络拓扑结构 总线型网络的特点主要是结构简单灵活,便于扩充,是一种很容易建造的网络。由于多个结点共用一条传输信道,故信道利用率高,但容易产生访问冲突; 传输速率高,可达1~100Mbps; 但总线型网络常因一个节点出现故障(如接头接触不良等)而导致整个网络不通,因此可靠性不高。 4) 环状网络 环状网络中各节点通过环路接口连在一条首尾相连的闭合环形通信线路中,拓扑结构如图5.8所示。环上任何节点均可请求发送信息。 图5.8环状网络拓扑结构 环状网络的主要特点是信息在网络中沿固定方向流动, 两个节点间仅有唯一的通路,简化了路径选择的控制; 节点间采用直接串联的方式,当某个节点发生故障时,会造成整个网络的中断,可靠性较差; 由于信息需要串行穿过多个节点的环路接口,当节点过多时,会使网络响应时间变长。当网络确定时,环状网络的延时固定,实时性强。 5) 网状结构网络 网状结构网络是广域网中最常采用的一种网络形式,是典型的点到点结构。如图5.9所示的网络拓扑就属于网状结构。 图5.9网状结构网络拓扑结构示例 网状结构网络的主要特点是可靠性高,一般在通信子网的任意两台节点交换机之间存在着两条或两条以上的通信路径。这样,当一条路径发生故障时,还可以通过另一条路径把信息送到节点交换机。网状结构网络的可扩充性好,无论是增加新功能,还是要将另一台新的计算机入网,以形成更大或更新的网络时,都比较方便; 网络可建成各种形状,采用多种通信信道,多种传输速率。 3. 按使用范围分类 1) 公用网(public network) 公用网又称公众网,一般由政府电信部门组建、管理和控制。“公用”的意思就是所有愿意按电信部门的规定交纳费用的人都可以使用。我国的分组交换公用数据网(ChinaPAC)、公用数字数据网(ChinaDDN)等都是公用网。 2) 专用网(private network) 专用网由某个部门或企事业单位自行组建,不允许其他部门或单位使用,如我国的金融信息网、教育网等。专用网也可以租用电信部门的传输线路。 除了上述分类方式外,按网络传输信息采用的物理信道划分,计算机网络可分为有线网络和无线网络; 按通信速率的不同可划分为低速网络、中速网络和高速网络; 按数据交换方式可分为线路交换网络、报文交换网络和分组交换网络; 按传输的信号可分为数字网和模拟网; 按网络控制方式可分为集中式计算机网络和分布式计算机网络等。 5.3.3计算机网络结构和协议 网络结构的目标是创建一个开放、简单灵活、高效的通信环境。协议(protocols)是用于网络通信控制的一套标准规则和程序。在网络环境下,要控制信息从一地到另一地的传输方式,并且保证信息的完整无损,就要建立起一些规则。这些规则以协议、标准及通信软件的形式出现。 1. 分层的网络体系结构 相互通信的两个计算机系统必须高度协调工作,而这种“协调”是相当复杂的。为了减少协议设计和调试过程的复杂性,大多数网络都按层次方式构建,每一层完成一定的功能,每一层又都建立在它的下层之上。“分层”可将庞大而复杂的问题转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。在网络的实际设计过程中,所分的层数须适当。若层数太少,就会使每一层的协议太复杂; 而层数太多则会使描述和综合各层功能的系统工程任务遇到较多的困难,因而在划分层数时需要遵循一定的原则。这些原则包括: ①每层的功能应是明确的,并且是相互独立的。当某一层的具体实现方法更新时,只要保持上、下层的接口不变,便不会对邻层产生影响; ②层间接口必须清晰,跨越接口的信息量应尽可能少; ③层数应适中。 在计算机网络中,为使各计算机之间或计算机与终端之间能正确地传递信息,必须在信息传输顺序、信息格式和信息内容等方面制定相应的约定或规则。这组约定或规则称为网络协议。协议经常指代具体某一层的协议,准确地说,它是对同等实体之间的通信制定的有关通信规则约定的集合。 2. 开放系统互连参考模型 开放系统互连参考模型(Open System Interconnection/Reference Model,OSI/RM) 是由国际标准化组织(ISO)制定的标准化开放式计算机网络层次结构模型。这里“开放”的含义是指能使任何两个遵守参考模型和相关标准的系统进行互连。OSI包括了体系结构、服务定义和协议规范三级抽象概念。 OSI的体系结构定义了一个七层模型,用以在进程间进行通信,并作为协调各层标准制定的框架; OSI的服务定义描述了各层所提供的服务,以及层与层之间的抽象接口和交互用的服务原语; OSI各层的协议规范精确地定义了应当发送何种控制信息及何种过程来解释该控制信息。如图5.10所示,OSI七层模型从下到上分别为物理层(physical layer,PHL)、数据链路层(data link layer,DLL)、网络层(network layer,NL)、传输层(transport layer,TL)、会话层(session layer,SL)、表示层(presentation layer,PL)和应用层(application layer,AL)。OSI/RM中数据的实际传送过程如图5.10所示。图中发送进程送给接收进程的数据,实际上是经过发送方各层从上到下传递到物理媒体; 通过物理媒体传输到接收方后,再经过从下到上各层的传递,最后到达接收进程。 图5.10OSI/RM中数据的实际传送过程 在发送方数据从上到下逐层传递的过程中,每层都要加上适当的控制信息,即图中的AH(application header)、PH(presentation header)、SH(session header)、TH(transport header)、NH(network header)、DLH(data link header),统称为报头。信息传输到最底层,成为由“0”“1”组成的数据比特流,然后再转换为电信号经由物理媒体传输至接收方。接收方向上传递数据的过程正好相反,要逐层剥去发送方相应层加上的控制信息。因接收方的某一层不会收到其下方各层的控制信息,而高层的控制信息对于它来说又只是透明的数据,所以它只阅读和去除本层的控制信息,并进行相应的协议操作。发送方和接收方的对等实体看到的信息是相同的,就好像这些信息通过虚拟通信直接传递给了对方一样。 3. TCP/IP体系结构 TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP不仅指代TCP和IP两个协议,而是指代一个由众多协议构成的协议簇。只是因为在TCP/IP协议中,TCP和IP协议最具代表性,所以称为TCP/IP协议。目前,众多的网络产品厂家都支持TCP/IP协议,TCP/IP已成为一套事实上的工业标准。TCP/IP体系也采用分层结构,分为网络接口层、互联层、传输层和应用层四层。每一层提供特定功能,层与层之间相对独立。TCP/IP参考模型及协议簇如图5.11所示。 图5.11TCP/IP参考模型及协议簇 1) 网络接口层 网络接口层是TCP/IP参考模型的最低层,它负责通过网络发送和接收IP数据报。实际上,TCP/IP参考模型没有真正描述这一层的实现方法,只是要求能够提供给其上层一个访问接口,以便传递IP分组。由于这一层次未被定义,所以其具体的实现方法将随着网络类型而变化。 2) 互联层 互联层也称为Internet层,是TCP/IP参考模型的第二层,它相当于OSI参考模型中网络层的无连接网络服务。互联层是整个TCP/IP协议的核心。它的功能是把IP分组发往目标网络或主机。同时,为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。因此,分组到达的顺序和发送的顺序可能不同,这就需要上层对分组进行排序。 3) 传输层 传输层是TCP/IP参考模型的第三层,它负责应用进程之间的“端—端”通信。传输层的主要目的是: 在互联网中源主机与目的主机的对等实体间建立用于会话的“端—端”连接。为了实现这个目的,传输层定义了两种服务质量不同的协议: 传输控制协议(transmission control protocol,TCP)和用户数据报协议(user datagram protocol,UDP)。 TCP协议是一种面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端,它负责把上层传送下来的字节流分成报文段并传递给下层。在接收端,它负责把收到的报文进行重组后递交给上层。TCP协议还要负责端到端的流量控制,根据接收方的实际接收能力控制发送方的数据发送速率,以避免接收方没有足够的缓冲区接收发送方发送的大量数据。UDP协议是一种不可靠的、无连接的协议,主要适用于不需要对报文进行排序和流量控制的场合。 4) 应用层 TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现。应用层面向不同的网络应用,引入了不同的应用层协议。其中,有基于TCP协议的,如文件传输协议(file transfer protocol,FTP)、远程登录协议(TELNET)、超文本链接协议(hypertext transfer protocol,HTTP),也有基于UDP协议的,如简易文件传输协议(TFTP)等。 即时通信(instant messenger,IM)是一种基于网络的通信技术,涉及IP/TCP/UDP/Sockets、对等网络(P2P)、客户/服务器(C/S)、多媒体音视频编解码/传送、万维网服务(Web service)等多种技术手段。无论即时通信系统的功能多么复杂,它们的技术原理都大同小异,大多组合使用了C/S和P2P通信模式。在登录IM服务器进行身份认证阶段,系统以C/S模式运行。随后,如果客户端之间可以直接通信,则使用P2P模式工作,否则以C/S模式通过IM服务器通信。 微信App是即时通信技术的典型应用案例。微信主要使用P2P通信模式,采用非对称中心网络结构。每个客户(peer)的地位平等,既是服务使用者,也是服务提供者。由于没有中央节点的集中控制,系统的扩展性较强,也能避免单点故障,提高系统的容错性能。但由于P2P网络的分散性、自治性、动态性等特点,某些情况下客户的访问结果是不可预见的。例如,一个请求可能得不到任何应答消息的反馈。为了保证传输的可靠性,在登录微信时,微信会使用TCP协议保持用户在线。在发送消息时,则采用UDP协议,通过服务器中转。当用户发送消息时,服务器收到消息包,需要使用UDP协议发回一个应答包。这样就保证了消息可以无遗漏传输。 5) IP地址 IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每台计算机和其他设备都规定了一个唯一的逻辑地址。这个唯一的地址保证了用户在连网的计算机上操作时,能够高效地从千千万万台计算机中选出所需的通信对象。IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a、b、c、d都是0~255的十进制整数。例如,点分十进制IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)。 由第4版互联网协议规定的IPv4地址只包含4段数字,每一段最大不超过255。IPv4采用32位地址长度,只有大约43亿个地址,而由第6版互联网协议规定的IPv6采用128位地址长度,几乎可以不受限制地提供地址。理论上,IPv6地址的数量可达2128个。IPv6的设计除解决了地址短缺问题以外,还考虑了IPv4未能妥善解决的其他问题,主要有端—端IP连接、服务质量(QoS)、安全性、多播、移动性、即插即用等。随着互联网的飞速发展和互联网用户对服务水平要求的不断提高,IPv6在全球的应用范围将越来越广。IP地址现由互联网名称与数字地址分配机构(Internet Corporation for Assigned Names and Numbers,ICANN)分配。其中国际互联网络信息中心(Internet Network Information Center,InterNIC)负责美国及其他地区; 欧洲信息中心网络(European Network Of Information Centres,ENIC)负责欧洲地区; 亚太互联网络信息中心(Asia Pacific Network Information Center,APNIC),负责亚太地区,我国用户可向APNIC申请。 域名系统(domain name system,DNS)是为因特网上网机器命名的一种系统。虽然互联网上的节点都可以用IP地址唯一标识,并且可以通过IP地址访问,但即使是将32位的二进制IP地址写成4个0~255的十进制数形式,也依然太长、太难记。因此,人们发明了域名(domain name),可将一个IP地址关联到一组有意义的字符上去。用户访问一个网站的时候,既可以输入该网站的IP地址,也可以输入其域名,对访问而言,两者是等价的。例如,在地址栏中输入www.baidu.com。连接的时候,DNS会提供百度网站的IP地址,供服务器去找寻,并跳转页面。 如图5.12所示,域名是相对于网站来说的,IP地址是相对于网络来说的,准确的说是通过DNS服务器来完成的。用户提交域名,服务器返回一个IP地址, 图5.12IP地址与域名关系图 也称为域名解析。具体过程是: 输入域名——域名解析服务器(DNS)解析成IP地址——访问IP地址——完成访问的内容——返回信息。 域名与IP地址之间的映射关系不同,表现在Internet上的IP地址是唯一的,一个IP地址对应一台计算机,而一个域名对应一个IP地址或多个IP地址,比如百度公司域名www.baidu.com就对应多个IP地址。与此同时,一台计算机上面可以有多个服务,也就是一个IP地址对应了多个域名。 4. 移动通信网络 随着技术更新,移动电话通信网络也逐渐成为数字网络通信的组成部分。目前,移动通信网络技术已经发展到第五代,概述如下。 第一代(1G)为基于模拟信号的移动电话通信网络,仅提供语音传送。 第二代(2G)使用全球移动通信系统(GSM)和码分多址(CDMA)技术,作为过渡产物的2.5G、2.75G提供的通用分组无线服务技术(GPRS)和增强型数据速率GSM演进技术(EDGE)或CDMA1x速率约100Kbps,峰值达到300Kbps。 第三代(3G)采用了国际电信联盟所定义的IMT2000标准,主要使用宽带码分多址(WCDMA)、CDMA2000、时分同步码分多址(TDSCDMA)技术。不同国家和地区的运营商采用不同的技术,中国大陆存在3种。3G网络的通信速度能达到300K2Mbps,而3.5G的增强型高速分组接入技术(HSPA+)能够达到21Mbps的速度。 第四代(4G)强调更快的数据联通速率,现行的标准为长期演进技术(LTE)与全球微波接入互操作性(WiMax),峰值速率能达到下行1Gbps,上行500Mbps。 第五代(5G)是具有高速率、低时延和广泛连接特点的新一代宽带移动通信技术,是实现人机物互联的网络基础设施。国际电信联盟定义了5G的三大类应用场景,即增强移动宽带、超高可靠低时延通信和海量机器类通信。 华为是第一家在中国开展5G技术研究的公司。早在2009年,华为就开始研究5G技术,截至2019年3月底,华为投入5G研发的专家工程师有2000多位,在海内外建立了十余个5G研究中心,向欧洲电信标准化协会(ETSI)声明了2570族5G领域基本专利,占全球该领域的17%,居世界第一。当前,华为已在30个国家获得了46份5G商用合同,5G基站发货量超过10万个,居全球首位。华为的5G自主之路仍然充满坎坷,被禁止参加美国、加拿大、澳大利亚和其他西方国家的本地5G建设,在美国投资也遭到重重阻碍。虽然在发展过程中遭受不公待遇,但相信未来会有越来越多的国家和地区接纳这颗在5G通信领域冉冉升起的新星。 5.3.4计算机网络技术应用 1. 计算机网络在管理中的应用 计算机网络在管理中有着广泛的应用,已像电力、自来水等公用设施一样不可或缺。当前计算机网络技术主要应用在以下几方面。 数据传输。经济全球化导致企业内部或外部均有大量的数据传输需求。由于邮寄、快递等不能满足要求,数据传输技术得到飞速发展。电子邮件等传输手段不仅快捷,而且便宜,数据传输量大,支持企业的快速发展。 查询系统。系统允许管理人员或用户查询储存在个人、部门、公司数据库内的信息,提出需求,并通过信息网络得到立即响应。用户也可以利用通信网络获取外部数据通信的服务,由系统把一些经济、人口统计和财政方面的数据提供给公司和个人。 远程处理。事务处理的数据可以由联机终端捕捉到,并立即传送到远方的计算机进行处理。例如,许多联机业务处理系统依靠POS终端和计算机的广域网获取销售事务数据,更新公司数据库。 分布式协同处理。组织中的分布式处理是利用连接网络的计算机实现的。这种网络处理取代了以往使用主干计算机设备或一些独立计算机的处理方式。 办公自动化与终端用户计算。网络在办公自动化和终端用户计算中起着重要的作用。接入办公室局域网的微型计算机和其他办公设备,如复印机、激光打印机等,可以共享软件和数据库,使用诸如电子邮件、音频邮件等服务,允许用户以文本、声音等方式发送和接收信息。 公用信息服务。公用信息服务是通信网络的一种应用形式。现在已经有不少信息服务公司,只收取很少的费用,就可以向任何一个已装备了个人计算机的用户提供各种信息服务。 2. Internet服务和应用 1) WWW服务 WWW(world wide web)即“万维网”,是基于超文本方式的大规模、分布式信息获取和查询系统,是Internet中的典型应用服务。WWW提供了一种简单、统一的方法,供用户获取网络上丰富多彩的信息,并屏蔽了网络内部的复杂性。可以说,WWW技术为Internet的全球普及扫除了技术障碍,促进了网络的飞速发展,并已成为Internet最有价值的服务。 WWW采用客户/服务器(C/S)模式。客户端软件通常称为WWW浏览器(browser),简称浏览器。浏览器软件种类繁多,目前常见的有Google Chrome、Netscape Navigator等。运行Web服务器(Web server)软件,并且有超文本和超媒体驻留其上的计算机称为WWW服务器或Web服务器,是WWW的核心部件。 浏览器和服务器之间通过超文本传输协议(hypertext transfer protocol,HTTP)进行通信和对话。用户通过浏览器建立与WWW服务器的连接,交互地浏览和查询信息。其工作过程如图5.13所示。浏览器首先向WWW服务器发出HTTP请求,WWW服务器做 出HTTP应答并返回给浏览器。然后,浏览器装载超文本页面,并解释HTML,显示给用户。 图5.13WWW/HTTP请求响应模式 2) 文件传输服务 文件传输协议(file transfer protocol,FTP)是将文件从一台主机传输到另一台主机的应用协议。文件传输协议只提供一些基本的文件传输服务,它使用TCP可靠的传输服务。FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容问题。 FTP使用客户/服务器模式。FTP客户端与服务器之间要建立双重连接,即控制连接和数据连接。控制连接用于传输主机间的控制信息,如用户标识、用户口令、改变远程目录和put、get文件等命令,而数据连接用来传输文件数据。FTP是一个交互式会话系统,客户进程每次调用FTP时与服务器建立一个会话。会话通过控制连接维持,直至退出FTP。每当客户进程提出一个请求,服务器就与FTP客户进程建立一个数据连接,进行实际的数据传输。直至数据传输结束,数据连接才被撤消。FTP的工作原理如图5.14所示。 图5.14FTP工作原理 用户调用FTP命令后,客户端首先建立一个客户控制进程,该进程向主服务器发出TCP连接建立请求。主服务器接受请求后,产生一个子进程(服务器控制进程),该子进程与客户控制进程建立控制连接,双方进入会话状态。在控制连接上,客户控制进程向服务器发出数据、文件传输命令。服务器控制进程接收到命令后派生一个新的进程,即服务器数据传输进程,由后者向客户控制进程发出TCP连接建立请求。客户控制进程收到该请求后,派生一个客户数据传输进程,并与服务器数据传输进程建立数据连接,双方即可开始进行文件传输。 3) 电子邮件服务 电子邮件(email)是互联网上使用范围最广,最受用户欢迎的一种应用。电子邮件系统把邮件发送到收件人使用的邮件服务器,存放在收件人邮箱中。收件人可随时上网登录自己使用的邮件服务器进行读取。电子邮件不仅使用方便,而且具有传递迅速和费用低廉的优点。现在电子邮件不仅可传送文字信息,还可附上声音和图像等文件。 电子邮件系统由3部分组成: 用户代理(user agent)、邮件服务器(mail server)和简单邮件传送协议(SMTP)。用户代理又称为邮件阅读器,可供用户阅读、回复、转发、保存和创建邮件,还可从邮件服务器的信箱中获得邮件。邮件服务器起到邮局的作用,它保存了用户的邮箱地址,主要负责接收用户邮件,并根据邮件地址进行传输。通常,邮件由发送者的用户代理发送到其邮箱所在的邮件服务器,再由该邮件服务器按照SMTP协议发送到接收者的邮件服务器,存放于接收者的邮箱中。接收者从其邮箱所在的邮件服务器中读取邮件,即完成一个邮件传送过程。 4) 搜索引擎 搜索引擎是指根据用户需求与一定算法,运用特定策略从互联网检索出指定信息反馈给用户的一门检索技术。搜索引擎依托于多种技术,如网络爬虫技术、检索排序技术、网页处理技术、大数据处理技术、自然语言处理技术等,为信息检索用户提供快速、高相关性的信息服务。互联网上的信息浩瀚万千,而且毫无秩序。所有的信息像汪洋上的一个个小岛,网页链接是这些小岛之间纵横交错的桥梁,而搜索引擎则为用户绘制了一幅一目了然的信息地图,供用户随时查阅。搜索引擎的种类很多,但大体上可分为两大类: 全文检索搜索引擎和分类目录搜索引擎。 全文检索搜索引擎是一种纯技术型的检索工具。它通过索引程序到互联网上的各网站收集信息,找到一个网站后,可以从这个网站再链接到另一个网站,再按照一定的规则建立在线数据库供用户查询。用户在查询时只要输入关键词,就能从已经建立的索引数据库中进行查询。 分类目录搜索引擎并不采集网站页面上的任何信息,而是使用各网站向搜索引擎提交网站信息时填写的关键词和网站描述等信息。经过人工审核编辑后,如果认为符合网站收录的条件,则将网站的基本信息输入到分类目录的数据库中,供网上用户查询。 全文检索搜索引擎的组成要素可以概括为“蜘蛛”系统+全文检索系统+页面生成系统+用户接口。 (1) “蜘蛛”(spider)系统,即能从互联网上自动搜集网页的数据搜集系统,也称为“机器人”(robot)或搜索器。它能将搜集所得的网页内容交给索引和检索系统处理。 (2) 全文检索系统,也称为索引器,即通过扫描每一篇文章中的每一个词,根据其出现的频率,抽取出索引项,建立以词为单位的排序文件(索引表)的计算机程序。搜索引擎的有效性在很大程度上取决于索引的质量。 (3) 页面生成系统,即根据用户的查询在索引库中快速检出文档,进行文档与查询的相关度评价,并将检索出的结果进行排序,高效地组装成Web页面以返回给用户的系统。 (4) 用户接口,即输入用户查询词、显示查询结果、提供用户相关性反馈机制的界面及接口。其目的主要是方便用户使用搜索引擎,高效率、多方式地从搜索引擎中得到有效、及时的信息。 章节要点 本章首先介绍计算机的技术基础以及计算机的产生和发展,并针对计算机的分类、特点和发展趋势进行简要介绍,使读者完整地了解计算机的概念; 其次,从应用的角度介绍计算机的硬件基础和软件基础,让读者了解计算机的工作原理,能够处理日常使用计算机过程中遇到的基本问题; 接着介绍了计算机的网络基础,从计算机网络的产生与发展、计算机网络的组成与功能、类别和体系结构四个层面对计算机网络进行较为全面的讲解,并概述了计算机网络的应用。 课程思政融入点 从计算机硬件和软件以及计算机网络的发展拓展到中国芯片的研发、鸿蒙系统的研发,“工业4.0”与“中国制造2025”及其重要意义,加深学生对网络强国、科技强国的认识。通过介绍我国在信息技术领域取得的进步,让学生们认识到我国由一个“一穷二白”的国家发展到现在的信息强国,经历了怎样的艰辛历程。在计算机领域取得重大进展的背后是科技工作人员的艰辛付出和无私奉献。学生通过学习科技人员的工作精神,培养正确的人生观和价值观。让学生以小组为单位就“信息系统的技术基础”这一主题查找资料,结合美国对华为公司的打压制裁案例,学习技术对国家的重要性。激发学生的爱国主义情怀,帮助学生树立以祖国强大为己任的理想; 培养学生勇于开拓、顽强拼搏、不断探索的精神。 思考题 1. 简述计算机技术发展的主要阶段。 2. 简要介绍冯·诺依曼计算机体系结构。 3. 举例说明什么是系统软件和应用软件。 4. 典型的程序设计语言有哪些?各有什么特点? 5. 计算机网络逻辑结构由哪两部分构成?各起什么作用? 6. 计算机网络都有哪些类别?各自有哪些特点? 7. 什么是TCP/IP? 8. 解释域名系统的概念。