第2章 信息技术知识

第2章 信息技术知识

本章简要叙述了信息技术相关基础知识,包含软件工程、面向对象系统分析与设计、应用集成技术、计算机网络技术和新一代信息技术内容。

2.1 软件工程

随着所开发软件的规模越来越大、复杂度越来越高,加之用户需求又并不十分明确,且缺乏软件开发方法和工具方面的有效支持,使得软件成本日益增长、开发进度难以控制、软件质量无法保证、软件维护困难等问题日益突出。人们开始用工程的方法进行软件的开发、管理和维护,即“软件工程”。

2.1.1 软件需求分析与定义

软件需求是针对待解决问题的特性的描述。所定义的需求必须可以被验证。在资源有限时,可以通过优先级对需求进行权衡。
通过需求分析,可以检测和解决需求之间的冲突、发现系统的边界、并详细描述出系统需求。

2.1.2 软件设计、测试与维护

软件设计:根据软件需求,产生一个软件内部结构的描述,并将其作为软件构造的基础。通过软件设计,描述出软件架构及相关组件之间的接口;然后,进一步详细地描述组件,以便能构成这些组件。
通过软件设计得到要实现的各种不同模型,并确定最终方案。其可以划分为软件架构设计(也叫作高层设计)和软件详细设计两个阶段。
软件测试:测试是为了评价和改进产品质量、识别产品的缺陷和问题而进行的活动。软件测试是针对一个程序的行为,在有限测试用例集合上,动态验证是否达到预期的行为。
测试不再只是一种仅在编码阶段完成后才开始的活动。现在的软件测试被认为是一种应该包括在整个开发和维护过程中的活动,它本身是实际产品构造的一个重要部分。
软件测试伴随开发和维护过程,通常可以在概念上划分为单元测试、集成测试和系统测试3个阶段。

软件维护:将软件维护定义为需要提供软件支持的全部活动。这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前要完成的活动包括交付后的运行计划和维护计划等。交付后的活动包括软件修改、培训、帮助资料等。
软件维护有如下类型:
⓵更正性维护——更正交付后发现的错误;
⓶适应性维护——使软件产品能够在变化后或变化中的环境中继续使用;
⓷完善性维护——改进交付后产品的性能和可维护性;
⓸预防性维护——在软件产品中的潜在错误成为实际错误前,检测并更正它们。

2.1.3 软件质量保证及质量评价

软件质量指的是软件特性的总和,是软件满足用户需求的能力,即遵从用户需求,达到用户满意。软件质量包括“内部质量”“外部质量”和“使用质量”三部分。软件需求定义了软件质量特性,及确认这些特性的方法和原则。
软件质量管理过程由许多活动组成,一些活动可以直接发现缺陷,另一些活动则检查活动的价值。其中包括质量保证过程、验证过程、确认过程、评审过程、审计过程等。
软件质量保证:通过制订计划、实施和完成等活动保证项目生命周期中的软件产品和过程符合其规定的要求。
验证与确认:确定某一活动的产品是否符合活动的需求,最终的软件产品是否达到其意图并满足用户需求。
验证过程试图确保活动的输出产品构造正确,即活动的输出产品满足活动的规范说明;确认过程则试图确保构造了正确的产品,即产品满足其特定的目的。
评审与审计:包括管理评审、技术评审、检查、走查、审计等。
管理评审的目的是监控进展,决定计划和进度的状态,或评价用于达到目标所用管理方法的有效性。技术评审的目的是评价软件产品,以确定其对使用意图的适合性。

软件审计的目的是提供软件产品和过程对于可应用的规则、标准、指南、计划和流程的遵从性的独立评价。审计是正式组织的活动,识别违例情况,并要生成审计报告,采取更正性行动。

2.1.4 软件配置管理

软件配置管理通过标识产品的组成元素、管理和控制变更、验证、记录和报告配置信息,来控制产品的进化和完整性。软件配置管理与软件质量保证活动密切相关,可以帮助达成软件质量保证目标。
软件配置管理活动包括软件配置管理计划、软件配置标识、软件配置控制、软件配置状态记录、软件配置审计、软件发布管理与交付等活动。
软件配置管理计划的制定需要了解组织结构环境和组织单元之间的联系,明确软件配置控制任务。软件配置标识活动识别要控制的配置项,并为这些配置项及其版本建立基线。软件配置控制关注的是管理软件生命周期中的变更。软件配置状态记录标识、收集、维护并报告配置管理的配置状态信息。软件配置审计是独立评价软件产品和过程是否遵从已有的规则、标准、指南、计划和流程而进行的活动。软件发布管理和交付通常需要创建特定的交付版本,完成此任务的关键是软件库。

2.1.5 软件过程管理

软件过程管理涉及技术过程和管理过程,通常包括以下几个方面:
(1)项目启动与范围定义:启动项目并确定软件需求。
(2)项目规划:制订计划,其中一个关键点是确定适当的软件生命周期过程,并完成相关的工作。
(3)项目实施:根据计划,并完成相关的工作。
(4)项目监控与评审:确认项目工作是否满足要求,发现问题并解决问题。
(5)项目收尾与关闭:为了项目结束所做的活动。需要项目验收,并在验收后进行归档、事后分析和过程改进等活动。

2.1.6 软件开发工具

软件开发工具是用于辅助软件生命周期过程的基于计算机的工具。通常使用这些工具来支持特定的软件工程方法,减少手工方式管理的负担。工具的种类包括支持单个任务的工具及涵盖整个生命周期的工具。
(1)软件需求工具包括需求建模工具和需求追踪工具。
(2)软件设计工具包括软件设计创建和检查工具。
(3)软件构造工具包括程序编辑器、编译器、代码生成器、解释器、调试器等。
(4)软件测试工具包括测试生成器、测试执行框架、测试评价工具、测试管理工具、性能分析工具。
(5)软件维护工具包括理解工具(如可视化工具)和再造工具(如重构工具)。
(6)软件配置管理工具包括追踪工具、版本管理工具和发布工具。
(7)软件工程管理工具包括项目计划与追踪工具、风险管理工具和度量工具。
(8)软件工程过程工具包括建模工具、管理工具、软件开发环境。
(9)软件质量工具包括检查工具和分析工具。

2.1.7 软件复用

软件复用是指利用已有软件的各种有关知识构造新的软件,以缩减软件开发和维护的费用。复用是提高软件生产力和质量的一种重要技术。
软件复用的主要思想是,将软件看成是由不同功能的”组件”所组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具。这样,如果完成各种工作的组件被建立起来以后,编写某一特定软件的工作就变成了将各种不同组件组织连接起来的简单问题,这对于软件产品的最终质量和维护工作都有本质性的改变。
早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决策、架构、需求、设计、代码和文档等一切有关方面。
由于面向对象方法的主要概念及原则与软件复用的要求十分吻合,所以该方法特别有利于软件复用。

2.2 面向对象系统分析与设计
2.2.1 而向对象的基本概念

面向对象的基本概念包括对象、类、抽象、封装、继承、多态、接口、消息、组件、复用和模式等。
(1)对象:由数据及其操作所构成的封装体,是系统中用来描述客观事物的一个模块,是构成系统的基本单位。用计算机语言来描述,对象是由一组属性和对这组属性进行的操作构成的。
对象包含3个基本要素,分别是对象标识、对象状态和对象行为。例如,对于姓名(标识)为Joe的教师而言,其包含性别、年龄、职位等个人状态信息,同时还具有授课等行为特征,Joe就是封装后的一个典型对象。
(2)类:现实世界中实体的形式化描述,类将该实体的属性(数据)和操作(函数)封装在一起。
例如,Joe是一名教师,也就拥有了教师的特征,这些特征就是教师这个类所具有的,如图2.1所示。

在这里插入图片描述

类和对象的关系可理解为,对象是类的实例,类是对象的模板。如果将对象比作房子,那么类就是房子的设计图纸。
(3)抽象:通过特定的实例抽取共同特征以后形成概念的过程。抽象是一种单一化的描述,强调给出与应用相关的特性,抛弃不相关的特性。对象是现实世界中某个实体的抽象,类是一组对象的抽象。
(4)封装:将相关的概念组成一个单元模块,并通过一个名称来引用它。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。
(5)继承:表示类之间的层次关系(父类与子类),这种关系使得某类对象可以继承另外一类对象的特征,继承又可分为单继承和多继承。

如图2.2所示,Dog和Cat类都是从Mammal继承而来,具有父类的eyeColor属性特征,因此在子类中就可以不用重复指定eyeColor这个属性。
在这里插入图片描述

(6)多态:使得在多个类中可以定义同一个操作或属性名称,并在每个类中可以有不同的体现。多态使得某个属性或操作在不同的时期可以表示不同类的对象特性。
如图2.3所示,Rectangle和Circle都继承于Shape,对于Shape而言,会有getArea()
的操作。但Rectangle和Circle的getArea()方法的实现是完全不一样的,这就体现了多态的特征。

在这里插入图片描述

(7)接口:描述对操作规范的说明,其只说明操作应该做什么,并没有定义操作如何做。可以将接口理解成为类的一个特例,它规定了实现此接口的类的操作方法,把真正的实现细节交由实现该接口的类去完成。
(8)消息:体现对象间的交互,通过它向目标对象发送操作请求。
(9)组件:表示软件系统可替换的、物理的组成部分,封装了模块功能的实现。组件应当是内聚的,并具有相对稳定的公开接口。
(10)复用:指将已有的软件及其有效成分用于构造新的软件或系统。组件技术是软件复用实现的关键。
(11)模式:描述了一个不断重复发生的问题,以及该问题的解决方案。其包括特定环境、问题和解决方案3个组成部分。应用设计模式可以更加简单和方便地去复用成功的软件设计和架构,从而帮助设计者更快更好地完成系统设计。

2.2.2 统建模语言与可视化建模

统一建模语言(Unified Modeling Language, UML)用于对软件进行可视化描述、构造和建立软件系统的文档。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。
需要注意的是,UML是一种可视化的建模语言,而不是编程语言。UML标准包括相关概念的语义、表示法和说明,提供了静态、动态、系统环境及组织结构的模型。它比较适合用于迭代式的开发过程,是为支持大部分现存的面向对象开发过程而设计的,强调在软件开发中对架构、框架、模式和组件的重用,并与最佳软件工程实践经验进行了集成。
在UML中,使用各种不同的符号元素画成图形,用以表示系统的结构和行为。
UML图提供了对系统进行建模的描述方式,主要包括:用例图(Use Case Diagram)、类图(Class Diagram)、对象图(Object Diagram)、组件图(Component Diagram)、部署图(Deployment Diagram)、状态图(State Diagram)、序列图(Sequence Diagram)、协作图(Collaboration Diagram)、活动图(Activity Diagram)等(注:UML有不同版本)。
UML视图用来划分系统中的各种概念和组件,是表达系统某一方面特性的UML建模组件的子集。在某类视图中可以使用一种或多种特定的UML图来可视化地表示视图中的各种概念。
RUP(Rational Unified Process)是使用面向对象技术进行软件开发的最佳实践之一,是软件工程的过程。它对所有关键开发活动提供了使用准则、模板、工具等。其涵盖的最佳实践经验包括:迭代式开发、需求管理、使用以组件为中心的软件架构、可视化建模、验证软件质量及控制变更等。

2.2.3 而向对象系统分析

面向对象系统分析运用面向对象方法分析问题域,建立基于对象、消息的业务模型,形成对客观世界和业务本身的正确认识。
面向对象系统分析的模型由用例模型、类-对象模型、对象-关系模型和对象-行为模型组成。

2.2.4 面向对象系统设计

面向对象系统设计基于系统分析得出的问题域模型,用面向对象的方法设计出软件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能。
面向对象系统设计主要包括用例设计、类设计和子系统设计等。

2.3 应用集成技术
2.3.1 数据库与数据仓库技术

传统的数据库技术以单一的数据源即数据库为中心,进行事务处理、批处理、决策分析等各种数据处理工作,主要有操作型处理和分析型处理两类。操作型处理也称事务处理,指的是对联机数据库的日常操作,通常是对数据库中记录的查询和修改,主要为企业的特定应用服务,强调处理的响应时间、数据的安全性和完整性等;分析型处理则用于管理人员的决策分析,经常要访问大量的历史数据。传统数据库系统主要强调的是优化企业的日常事务处理工作,难以实现对数据分析处理要求,无法满足数据处理多样化的要求。操作型处理和分析型处理的分离是必然和必要的。
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。数据仓库是对多个异构数据源(包括历史数据)的有效集成,集成后按主题重组,且存放在数据仓库中的数据一般不再修改。
企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础的。数据仓库不是静态的概念,只有将信息及时地提供给需要这些信息的使用者,供其做出改善自身业务经营的决策,信息才能发挥作用,也才有意义。将信息加以整理归纳和重组,并及时地提供给相应的管理决策人员,是数据仓库的根本任务。数据仓库系统的结构通常包含4个层次,如图2.4所示。
随着云时代的来临,大数据(Big Data)吸引了越来越多的关注。业界将其特点归纳为4个“V" ——Volume(数据量大)、Variety(数据类型繁多)、Velocity(处理速度快)、Value(价值密度低)。大数据的意义不在于掌握庞大的数据信息,而在于对这些数据进行专业化处理,实现数据的“增值”。
在这里插入图片描述

大数据分析相比于传统的数据仓库应用,具有数据量大、查询分析复杂等特点。在技术上,大数据必须依托云计算的分布式处理、分布式数据库和云存储、虚拟化技术等。

2.3.2 Web Services技术

随着Internet应用逐渐成为B2B应用平台,应用集成所面临的问题也日益突出:各种组件之间的“战争”、各种编程语言之间的“战争”、防火墙的阻挡、互操作协议的不一致等。Web服务(Web Services)定义了一种松散的、粗粒度的分布计算模式,使用标准的HTTP(S)协议传送XML表示及封装的内容。
Web服务的典型技术包括:用于传递信息的简单对象访问协议(Simple Object Access Protocal, SOAP)、用于描述服务的Web服务描述语言(Web Services Description Language, WSDL)、用于Web服务注册的统一描述、发现及集成(Universal Description Discovery and Integration, UDDI)、用于数据交换的XML。
Web服务的主要目标是跨平台的互操作性,适合使用Web Services的情况包括:跨越防火墙、应用程序集成、B2B集成、软件重用等。同时,在某些情况下,Web服务也可能会降低应用程序的性能。不适合使用Web服务的情况包括:单机应用程序、局域网上的同构应用程序等。

2.3.3 JavaEE架构

JavaEE (Java Platform Enterprise Edition)是最早由Sun公司提出、各厂商共同制定并得到广泛认可的企业标准。业界各主要中间件厂商如IBM、Oracle都积极地促进该标准的推广和应用。

JavaEE应用将开发工作分成两类:业务逻辑开发和表示逻辑开发,其余的系统资源则由应用服务器负责处理,不必为中间层的资源和运行管理进行编码。这样就可以将更多的开发精力集中在应用程序的业务逻辑和表示逻辑上,从而缩短企业应用开发周期、有效地保护企业的投资。
JavaEE应用服务器运行环境主要包括组件(Component)、容器(Container)及服务(Services) 3部分。组件是表示应用逻辑的代码;容器是组件的运行环境;服务则是应用服务器提供的各种功能接口,可以同系统资源进行交互。

2.3.4 NET架构

.NET开发框架在通用语言运行环境(Common Language Runtime)基础上,给开发人员提供了完善的基础类库、数据库访问技术及网络开发技术,开发者可以使用多种语言快速构建网络应用。
通用语言运行环境处于.NET开发框架的最低层,是该框架的基础,它为多种语言提供了统一的运行环境、统一的编程模型,大大简化了应用程序的发布和升级、多种语言之间的交互、内存和资源的自动管理等等。
JavaEE与.NET都可以用来设计、开发企业级应用。JavaEE平台是业界标准,有多家厂商实现了这些标准(工具、应用服务器等)。

2.3.5 软件中间件

中间件(Middleware)是位于硬件、操作系统等平台和应用之间的通用服务。借由中间件,解决了分布系统的异构问题。
如图2.5所示,中间件服务具有标准的程序接口和协议。不同的应用、硬件及操作系统平台,可以提供符合接口和协议规范的多种实现,其主要目的是实现应用与平台的无关性。借助中间件,屏蔽操作系统和网络协议的差异,为应用程序提供多种通信机制,满足不同领域的应用需要。

在这里插入图片描述

中间件包括的范围十分广泛,针对不同的应用需求有各种不同的中间件产品。从不同角度对中间件的分类也会有所不同。通常将中间件分为数据库访问中间件、远程过程调用中间件、面向消息中间件、事务中间件、分布式对象中间件等。

数据库访问中间件:通过一个抽象层访问数据库,从而允许使用相同或相似的代码访问不同的数据库资源。典型技术如Windows平台的ODBC和Java平台的JDBC等。远程过程调用中间件(Remote Procedure Call, RPC) :这是一种分布式应用程序的处理方法。一个应用程序可以使用RPC来“远程”执行一个位于不同地址空间内的过程,从效果上看和执行本地调用相同。

一个RPC应用分为服务器和客户两个部分。服务器提供一个或多个远程操作过程;客户向服务器发出远程调用。服务器和客户可以位于同一台计算机,也可以位于不同的计算机,甚至可以运行在不同的操作系统之上。客户和服务器之间的网络通信和数据转换通过代理程序(Stub与Skeleton)完成,从而屏蔽了不同的操作系统和网络协议。

面向消息中间件(Message-Oriented Middleware, MOM) :利用高效可靠的消息传递机制进行平台无关的数据传递,并可基于数据通信进行分布系统的集成。通过提供消息传递和消息队列模型,可在分布环境下扩展进程间的通信,并支持多种通信协议、语言、应用程序、硬件和软件平台。

分布式对象中间件:是建立对象之间客户/服务器关系的中间件,结合了对象技术与分布式计算技术。该技术提供了一个通信框架,可以在异构分布计算环境中透明地传递对象请求。

事务中间件:也称事务处理监控器(Transaction Processing Monitor, TPM),提供支持大规模事务处理的可靠运行环境。TPM位于客户和服务器之间,完成事务管理与协调、负载平衡、失效恢复等任务,以提高系统的整体性能。结合对象技术的对象事务监控器(Object Transaction Monitor, OTM)如支持EJB的JavaEE应用服务器等。

2.4 计算机网络技术

计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

2.4.1 网络技术标准、协议与应用
  1. OSI七层协议
    国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型(Open System Interconnect简称OSI),其目的是为异种计算机互连提供一个共同的基础和标准框架,并为保持相关标准的一致性和兼容性提供共同的参考。

    OSI采用了分层的结构化技术,从下到上共分七层:
    (1)物理层:该层包括物理连网媒介,如电缆连线连接器。该层的协议产生并检测电压以便发送和接收携带数据的信号。具体标准有RS232、V.35、RJ-45、FDDI。
    (2)数据链路层:它控制网络层与物理层之间的通信。它的主要功能是将从网络层接收到的数据分割成特定的可被物理层传输的帧。常见的协议有IEEE802.3/.2、 HDLC、PPP、ATM。
    (3)网络层:其主要功能是将网络地址(IP地址)翻译成对应的物理地址(网卡地址),并决定如何将数据从发送方路由到接收方。具体协议有IP、ICMP、IGMP、 IPX、ARP等。
    (4)传输层:主要负责确保数据可靠、顺序、无错地从A点传输到B点。如提供建立、维护和拆除传送连接的功能;选择网络层提供最合适的服务;在系统之间提供可靠的透明的数据传送,提供端到端的错误恢复和流量控制。具体协议有TCP、UDP、 SPX。
    (5)会话层:负责在网络中的两节点之间建立和维持通信,以及提供交互会话的管理功能,如3种数据流方向的控制,即一路交互、两路交替和两路同时会话模式。常见的协议有RPC、SQL、NFS。
    (6)表示层:如同应用程序和网络之间的翻译官,在表示层,数据将按照网络能理解的方案进行格式化;这种格式化也因所使用网络的类型不同而不同。表示层管理数据的解密加密、数据转换、格式化和文本压缩。常见的协议有JPEG、ASCII、GIF、 DES、MPEG。
    (7)应用层:负责对软件提供接口以使程序能使用网络服务,如事务处理程序、文件传送协议和网络管理等。常见的协议有HTTP、Telnet、FTP、SMTP、NFS。

  2. 网络协议和标准
    IEEE 802规范定义了网卡如何访问传输介质(如光缆、双绞线、无线等),以及如何在传输介质上传输数据的方法,还定义了传输信息的网络设备之间连接建立、维护和拆除的途径。遵循IEEE 802标准的产品包括网卡、桥接器、路由器以及其他一些用来建立局域网络的组件。IEEE802规范包括:802.1 (802协议概论)、802.2(逻辑链路控制层LLC协议)、802.3(以太网的CSMA/CD载波监听多路访问/冲突检测协议)、802.4(令牌总线Token Bus协议)、802.5(令牌环(Token Ring)协议)、802.6(城域网MAN协议)、802.7 (FDDI宽带技术协议)、802.8(光纤技术协议)、802.9(局域网上的语音/数据集成规范)、802.10(局域网安全互操作标准)、802.11(无线局域网WLAN标准协议)。
    以太网规范IEEE802.3是重要的局域网协议,内容包括:
    (1)IEEE802.3标准以太网10Mb/s传输介质为细同轴电缆。
    (2)IEEE802.3u快速以太网100Mb/s双绞线。
    (3)IEEE802.3z千兆以太网1000Mb/s光纤或双绞线。
    FDDI/光纤分布式数据接口是于80年代中期发展起来的一项局域网技术,它提供的高速数据通信能力要高于当时的以太网(10Mbps)和令牌网(4或16Mbps)的能力。
    广域网协议包括:PPP点对点协议、ISDN综合业务数字网、xDSL(DSL数字用户线路的统称:HDSL、SDSL、MVL、ADSL) DDN数字专线、x.25、FR帧中继、ATM异步传输模式。

  3. Internet技术及应用
    Internet又称互联网、网间网,是一个囊括全球数十亿电脑和移动终端的巨大的计算机网络体系,它把全球数百万计算机网络和大型主机连接起来进行交互。Internet是一个不受政府管理和控制的、包括成千上万相互协作的组织和网络的集合体。

    Internet有如下特点:

    • TCP/IP协议是Internet的核心。
    • Internet实现了与公用电话交换网的互连。
    • Internet是一个用户自己的网络。
    • 由众多的计算机网络互联组成,是一个世界性的网络。
    • 采用分组交换技术。
    • 由众多的路由器连接而成。
    • 是一个信息资源网。

    如何解决庞大数量的终端之间互联互通呢?Internet采用了TCP/IP和标志技术。
    (1)TCP/IP技术。TCP/IP是Internet的核心,利用TCP/IP协议可以方便地实现多个网络的无缝连接。通常所谓某台主机在Internet上,就是指该主机具有一个Internet地址(即IP地址),并运行TCP/IP协议,可以向Internet上的所有其他主机发送IP分组。 TCP/IP的层次模型分为4层,其最高层相当于OSI的5~7层,该层中包括了所有的高层协议,如常见的文件传输协议FTP、电子邮件协议SMTP、域名系统DNS、网络管理协议SNMP、访问WWW的超文本传输协议HTTP等。
    TCP/IP的次高层相当于OSI的传输层,该层负责在源主机和目的主机之间提供端-端的数据传输服务。这一层上主要定义了两个协议:面向连接的传输控制协议TCP和无连接的用户数据报协议UDP。
    TCP/IP的第2层相当于OSI的网络层,该层负责将分组独立地从信源传送到信宿,主要解决路由选择、阻塞控制及网际互联问题。这一层上定义了互联网协议IP、地址转换协议ARP、反向地址转换协议队RP和互联网控制报文协议ICMP等协议。
    TCP/IP的最底层为网络接口层,该层负责将IP分组封装成适合在物理网络上传输的帧格式并发送出去,或将从物理网络接收到的帧卸装并取出IP分组递交给高层。这一层与物理网络的具体实现有关,自身并无专用的协议。事实上,任何能传输IP分组的协议都可以运行。虽然该层一般不需要专门的TCP/IP协议,各物理网络可使用自己的数据链路层协议和物理层协议,但使用串行线路进行连接时仍需要运行SLIP或PPP协议。
    (2)标识技术。
    ⓵主机IP地址。为了确保通信时能相互识别,在Internet上的每台主机都必须有一个唯一的标识,即主机的IP地址。IP协议就是根据IP地址实现信息传递的。
    IP地址分为IPv4和IPv6两个版本。IPv4由32位(即4字节)二进制数组成,将每个字节作为一段并以十进制数来表示,每段间用“.“分隔。例如,202.96.209.5就是一个合法的IP地址。IP地址由网络标识和主机标识两部分组成。常用的IP地址有A、 B、C三类,每类均规定了网络标识和主机标识在32位中所占的位数。
    A类地址一般分配给具有大量主机的网络使用,B类地址通常分配给规模中等的网络使用,C类地址通常分配给小型局域网使用。为了确保唯一性,IP地址由世界各大地区的权威机构InterNIC (Internet Network Information Center)管理和分配。
    在IP地址的某个网络标识中,可以包含大量的主机(如A类地址的主机标识域为24位、B类地址的主机标识域为16位),而在实际应用中不可能将这么多的主机连接到单一的网络中,这将给网络寻址和管理带来不便。为解决这个问题,可以在网络中引入“子网”的概念。将主机标识域进一步划分为子网标识和子网主机标识,通过灵活定义子网标识域的位数,可以控制每个子网的规模。将一个大型网络划分为若干个既相对独立又相互联系的子网后,网络内部各子网便可独立寻址和管理,各子网间通过跨子网的路由器连接,这样也提高了网络的安全性。利用子网掩码可以判断两台主机是否在同一子网中。子网掩码与IP地址一样也是32位二进制数,不同的是它的子网主机标识部分为全”.”。若两台主机的IP地址分别与它们的子网掩码相”与“后的结果相同,则说明这两台主机在同一子网中。
    IPv6也被称作下一代互联网协议,它是由IETF小组(Internet Engineering Task Force, Internet工程任务组)设计的用来替代现行的IPv4(现行的IP)协议的一种新的 IP协议。
    我们知道,Internet的主机都有一个唯一的IP地址,IP地址用一个32位二进制的数表示一个主机号码,但32位地址资源有限,已经不能满足用户的需求了,因此Internet研究组织发布新的主机标识方法,即IPv6。在RFC1884中(RFC是Request for Comments document的缩写。RFC实际上就是Internet有关服务的一些标准说明文档),规定的标准语法建议把IPv6地址的128位(16个字节)写成8个16位的无符号整数,每个整数用4个十六进制位表示,这些数之间用英文冒号(:)分开,例如: 3ffe:3201:1401:1280:c8ff:fe4d:db39。IPv6具有以下显著优点:

    • 提供更大的地址空间,能够实现plug and play和灵活的重新编址。
    • 更简单的头信息,能够使路由器提供更有效率的路由转发。
    • 与mobile ip和ip sec保持兼容的移动性和安全性。
    • 提供丰富的从IPv4到IPv6的转换和互操作的方法,ipsec在IPv6中是强制性的。

    ⓶域名系统和统一资源定位器。32位二进制数的IP地址对计算机来说十分有效,但用户使用和记忆都很不方便。为此,Internet引进了字符形式的IP地址,即域名。域名采用层次结构的基于"域”的命名方案,每一层由一个子域名组成,子域名间用".“分隔,其格式为:机器名网络名机构名最高域名。
    Internet上的域名由域名系统DNS (Domain Nam System)统一管理。 DNS是一个分布式数据库系统,由域名空间、域名服务器和地址转换请求程序3部分组成。有了 DNS,凡域名空间中有定义的域名都可以有效地转换为对应的IP地址,同样,IP地址也可通过DNS转换成域名。
    WWW上的每一个网页都有一个独立的地址,这些地址称为统一资源定位器 (URL),只要知道某网页的URL,便可直接打开该网页。
    ⓷用户E-mail地址。用户E-mail地址的格式为:用户名@主机域名。其中用户名是用户在邮件服务器上的信箱名,通常为用户的注册名、姓名或其他代号,主机域名则是邮件服务器的域名。用户名和主机域名之间用“@“分隔。例如,tmchang@online­ sh.en即表示域名为“online-s1I.en"的邮件服务。由于主机域名在Internet上的唯一性,所以只要E-mail地址中的用户名在该邮件服务器中是唯一的,则这个E-mail地址在整个Internet上也是唯一的。
    Internet技术在生产和生活中有着广泛的应用,如:

    • 电子商务:B2B、B2C、C2C。
    • 电子政务:政府信息化应用。
    • 互联网金融P2P。
    • 网络教育:e-Leaming。
    • 网络传媒:网媒、综合门户、富媒体等。
    • 产业应用:在线行业应用。
    • 个人应用:地区门户、论坛、搜索引擎、SNS等。
    • 主题应用:各细分主题网站,比如旅游等。

    随着移动终端(手机、平板电脑、穿戴设备)的不断普及,Internet又衍生出了移动互联网这一丰富应用的分支。

2.4.2 网络分类、组网和接入技术
  1. 网络分类
    (1)根据计算机网络覆盖的地理范围分类。按照计算机网络所覆盖的地理范围的大小进行分类,计算机网络可分为:局域网、城域网和广域网。了解一个计算机网络所覆盖的地理范围的大小,可以使人们能一目了然地了解该网络的规模和主要技术。局域网 (LAN)的覆盖范围一般在方圆几十米到几千米。典型的是一个办公室、一个办公楼、一个园区范围内的网络。当网络的覆盖范围达到一个城市的大小时,被称为城域网。网络覆盖到多个城市甚至全球的时候,就属于广域网的范畴了。我国著名的公共广域网是ChinaNet、ChinaPAC、ChinaFrame、ChinaDDN等。大型企业、院校、政府机关通过租用公共广域网的线路,可以构成自己的广域网。
    (2)根据链路传输控制技术分类。链路传输控制技术是指如何分配网络传输线路、网络交换设备资源,以便避免网络通信链路资源冲突,同时为所有网络终端和服务器进行数据传输。典型的网络链路传输控制技术有:总线争用技术、令牌技术、FDDI技术、ATM技术、帧中继技术和ISDN技术。对应上述技术的网络分别是以太网、令牌网、FDDI网、ATM网、帧中继网和ISDN网。总线争用技术是以太网的标志。总线争用顾名思义,即需要使用网络通信的计算机需要抢占通信线路。如果争用线路失败,就需要等待下一次的争用,直到占得通信链路。这种技术的实现简单,介质使用效率非常高。进入21世纪以来,使用总线争用技术的以太网成为了计算机网络中占主导地位的网络。令牌环网和FDDI网一度是以太网的挑战者。它们分配网络传输线路和网络交换设备资源的方法是在网络中下发一个令牌报文包,轮流交给网络中的计算机。需要通信的计算机只有得到令牌的时候才能发送数据。令牌环网和FDDI网的思路是需要通信的计算机轮流使用网络资源,避免冲突。但是,令牌技术相对以太网技术过于复杂,在千兆以太网出现后,令牌环网和FDDI网不再具有竞争力,淡出了网络技术。ATM是英文Asynchronous Transter Mode的缩写,称为异步传输模式。ATM采用光纤作为传输介质,传输以53个字节为单位的超小数据单元(称为信元)。ATM网络的最大吸引力之一是具有特别的灵活性,用户只要通过ATM交换机建立交换虚电路,就可以提供突发性、宽频带传输的支持,适应包括多媒体在内的各种数据传输,传输速度高达622Mbps。
    ISDN是综合业务数据网的缩写,建设的宗旨是在传统的电话线路上传输数字数据信号。ISDN通过时分多路复用技术,可以在一条电话线上同时传输多路信号。ISDN可以提供从144kbps到30Mbps的传输带宽,但是由于其仍然属于电话技术的线路交换,租用价格较高,并没有成为计算机网络的主要通信网络。
    (3)根据网络拓扑结构分类。网络拓扑结构分为物理拓扑和逻辑拓扑。物理拓扑结构描述网络中由网络终端、网络设备组成的网络结点之间的几何关系,反映出网络设备之间以及网络终端是如何连接的。网络按照拓扑结构划分有:总线型结构、环型结构、星型结构、树型结构和网状结构。
  2. 网络交换技术
    网络交换是指通过一定的设备,如交换机等,将不同的信号或者信号形式转换为对方可识别的信号类型从而达到通信目的的一种交换形式,常见的有数据交换、线路交换、报文交换和分组交换。
    在计算机网络中,按照交换层次的不同,网络交换可以分为物理层交换(如电话网)、链路层交换(二层交换,对MAC地址进行变更)、网络层交换(三层交换,对IP地址进行变更)、传输层交换(四层交换,对端口进行变更,比较少见)和应用层交换(似乎可以理解为Web网关等)。
    网络中的数据交换可以分为电路交换、分组交换(数据包交换)、ATM交换、全光交换和标记交换。其中电路交换有预留,且分配一定空间,提供专用的网络资源,提供有保证的服务,应用于电话网;而分组交换无预留,且不分配空间,存在网络资源争用,提供无保证的服务。分组交换可用于数据报网络和虚电路网络。我们常用的Internet就是数据报网络,单位是Bit,而ATM则用的是虚电路网络,单位是码元。
  3. 网络接入技术
    网络接入技术分为光纤接入、同轴接入、铜线接入、无线接入。
    (1)光纤接入。光纤是目前传输速率最高的传输介质,在主干网中已大量的采用了光纤。如果将光纤应用到用户环路中,就能满足用户将来各种宽带业务的要求。可以说,光纤接入是宽带接入网的最终形式,但目前要完全抛弃现有的用户网络而全部重新铺设光纤,对于大多数国家和地区来说还是不经济、不现实的。
    (2)同轴接入。同轴电缆也是传输带宽比较大的一种传输介质,目前的CATV网就是一种混合光纤铜轴网络,主干部分采用光纤,用同轴电缆经分支器介入各家各户。混合光纤/铜轴(HFC)接入技术的一大优点是可以利用现有的CATV网,从而降低网络接入成本。
    (3)铜线接入。铜线接入是指以现有的电话线为传输介质,利用各种先进的调制技术和编码技术、数字信号处理技术来提高铜线的传输速率和传输距离。但是铜线的传输带宽毕竟有限,铜线接入方式的传输速率和传输距离一直是一对难以调和的矛盾,从长远的观点来看,铜线接入方式很难适应将来宽带业务发展的需要。
    (4)无线接入。无线用户环路是指利用无线技术为固定用户或移动用户提供电信业务,因此无线接入可分为固定无线接入和移动无线接入,采用的无线技术有微波、卫星等。无线接入的优点有:初期投入小,能迅速提供业务,不需要铺设线路,因而可以省去铺线的费用和时间;比较灵活,可以随时按照需要进行变更、扩容,抗灾难性比较强。
  4. 光网络技术
    光网络技术通常可分为光传输技术、光节点技术和光接入技术,它们之间有交叉和融合。
    全光网(AON)是指信息从源节点到目的节点完全在光域进行,即全部采用光波技术完成信息的传输和交换的宽带网络。它包括光传输、光放大、光再生、光选路、光交换、光存储、光信息处理等先进的全光技术。全光网络以光结点取代电结点,并用光纤将光结点互连在一起,实现信息完全在光域的传送和交换,是未来信息网的核心。全光网络最突出的优点是它的开放性。全光网络本质上是完全透明的,即对不同速率、协议、调制频率和制式的信号兼容,并允许几代设备(PHD/SDH/ATM)共存于同一个光纤基础设施。全光网的结构非常灵活,因此可以随时增加一些新结点,包括增加一些无源分路/合路器和短光纤,而不必安装另外的交换结点或者光缆。全光网络与光电混合网络的显著不同之处在于它具有最少量的电光和光电转换,没有一个结点为其他结点传输和处理信息服务。
  5. 无线网络技术
    无线网络是指以无线电波作为信息传输媒介。无线网络既包括允许用户建立远距离无线连接的全球语音和数据网络,也包括为近距离无线连接进行优化的红外线技术及射频技术,与有线网络的用途十分类似,最大的不同在于传输媒介的不同,利用无线电技术取代网线,可以和有线网络互为备份。
    (1)无线通信网络根据应用领域可分为:无线个域网(WPAN)、无线局域网(WLAN)、无线城域网(WMAN)、蜂房移动通信网(WWAN)。
    (2)从无线网络的应用角度看,还可以划分出无线传感器网络、无线Mesh网络、无线穿戴网络、无线体域网等,这些网络一般是基于已有的无线网络技术,针对具体的应用而构建的无线网络。
    在无线通信领域,通常叫第几代(Generation,简称G)通信技术,现在主流应用的是第四代(4G)。第一代(1G)为模拟制式手机,第二代(2G)为GSM、CDMA等数字手机;从第三代(3G)开始,手机就能处理图像、音乐、视频流等多种媒体,提供包括网页浏览、电话会议、电子商务等多种信息服务。3G的主流制式为CDMA2000、 WCDMA、TD-SCOMA,其理论下载速率可达到2.6Mbps(兆比特/每秒)。4G包括TD-LTE和FDD-LTE两种制式,是集3G与WLAN于一体,并能够快速传输数据、高质量、音频、视频和图像等,理论下载速率达到100Mbps,比通常家用宽带ADSL快25倍,并且可以在DSL和有线电视调制解调器没有覆盖的地方部署,能够满足几乎所有用户对于无线服务的要求。5G正在研发中,计划到2020年推出成熟的标准,理论上可在28GHz超高频段以1Gbps的速度传送数据,且最长传送距离可达2公里。
2.4.3 网络服务器和网络存储技术
  1. 网络服务器
    网络服务器是指在网络环境下运行相应的应用软件,为网上用户提供共享信息资源和各种服务的一种高性能计算机,英文名称叫作Server。
    服务器既然是一种高性能的计算机,它的构成肯定就与我们平常所用的计算机 (PC)有很多相似之处,诸如有CPU(中央处理器)、内存、硬盘、各种总线等等,只不过它是能够提供各种共享服务(网络、Web应用、数据库、文件、打印等)以及其他方面的高性能应用,它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面,是网络的中枢和信息化的核心。由于服务器是针对具体的网络应用特别制定的,因而服务器又与普通PC在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在很大的区别。而最大的差异就是在多用户多任务环境下的可靠性上。用PC机当作服务器的用户一定都曾经历过突然的停机、意外的网络中断、不时的丢失存储数据等事件,这都是因为PC机的设计制造从来没有保证过多用户多任务环境下的可靠性,而一旦发生严重故障,其所带来的经济损失将是难以预料的。但一台服务器所面对的是整个网络的用户,需要7X24小时不间断工作,所以它必须具有极高的稳定性,另一方面,为了实现高速以满足众多用户的需求,服务器通过采用对称多处理器(SMP)安装、插入大量的高速内存来保证工作。它的主板可以同时安装几个甚至几十、上百个CPU(服务器所用CPU也不是普通的CPU,是厂商专门为服务器开发生产的)。内存方面当然也不一样,无论在内存容量,还是性能、技术等方面都有根本的不同。另外,服务器为了保证足够的安全性,还采用了大量普通电脑没有的技术,如冗余技术、系统备份、在线诊断技术、故障预报警技术、内存纠错技术、热插拔技术和远程诊断技术等,使绝大多数故障能够在不停机的情况下得到及时的修复,具有极强的可管理性(manageability)。
  2. 网络存储技术
    网络存储技术(Network Storage Technologies)是基于数据存储的一种通用网络术语。网络存储结构大致分为3种:直连式存储(DAS: Direct Attached Storage)、网络存储设备(NAS: Network Attached Storage)和存储网络(SAN: Storage Area Network)。
2.4.4 综合布线和机房工程

机房是系统集成工程中服务器和网络设备的“家”,通常分为以下3类:
(1)智能建筑弱电总控机房,工作包括布线、监控、消防、计算机机房、楼宇自控等。
(2)电信间、弱电间和竖井。
(3)数据中心机房,包括企业自用数据中心、运营商托管或互联网数据中心,大型的数据中心,可达数万台服务器。

机房布线设计需要重点考虑以下儿点:

(1)考虑机房环境的节能、环保、安全。
(2)适应冷热通道布置设备。
(3)列头柜的设置。
(4)敞开布线与线缆防火。
(5)长跳线短链路与性能测试。
(6)网络构架与外部网络,多运营商之间的网络互通。
(7)高端产品应用的特殊情况。
(8)机房与布线系统接地。

2.4.5 网络规划、设计与实施

网络工程是一项复杂的系统工程,涉及技术问题、管理问题等,必须遵守一定的系统分析和设计方法。网络总体设计就是根据网络规划中提出的各种技术规范和系统性能要求,以及网络需求分析的要求,制订出一个总体计划和方案。网络设计工作包括如下几个方面。

  1. 网络拓扑结构设计
    网络的拓扑结构主要是指园区网络的物理拓扑结构,因为如今的局域网技术首选的是交换以太网技术。采用以太网交换机,从物理连接看拓扑结构可以是星型、扩展星型或树型等结构,从逻辑连接看拓扑结构只能是总线结构。对于大中型网络考虑链路传输的可靠性,可采用冗余结构。确立网络的物理拓扑结构是整个网络方案规划的基础,物理拓扑结构的选择往往和地理环境分布、传输介质与距离、网络传输可靠性等因素紧密相关。选择拓扑结构时,应该考虑的主要因素有:地理环境、传输介质与距离以及可靠性。
  2. 主干网络(核心层)设计
    主干网技术的选择,要根据以上需求分析中用户方网络规模大小、网上传输信息的种类和用户方可投入的资金等因素来考虑。一般而言,主干网用来连接建筑群和服务器群,可能会容纳网络上50%~80%的信息流,是网络大动脉。连接建筑群的主干网一般以光缆做传输介质,典型的主干网技术主要有100Mbps-FX以太网、1000Mbps以太网、ATM等。
  3. 汇聚层和接入层设计
    汇聚层的存在与否,取决于网络规模的大小。当建筑楼内信息点较多(比如大于22个点)超出一台交换机的端口密度,而不得不增加交换机扩充端口时,就需要有汇聚交换机。交换机间如果采用级联方式,则将一组固定端口交换机上联到一台背板带宽和性能较好的汇聚交换机上,再由汇聚交换机上联到主干网的核心交换机。如果采用多台交换机堆叠方式扩充端口密度,其中一台交换机上联,则网络中就只有接入层。
  4. 广域网连接与远程访问设计
    根据网络规模的大小、网络用户的数量,来选择对外连接通道的带宽。如果网络用户没有www、E-mail等具有Internet功能的服务器,用户可以采用ISDN或ADSL等技术连接外网。如果用户有WWW、E-mail等具有Internet功能的服务器,用户可采用 DDN(或El)专线连接、ATM交换及永久虚电路连接外网。如果用户与网络接入运营商在同一个城市,也可以采用光纤10Mbps/100Mbps的速率连接Internet。
  5. 无线网络设计
    无线网络的出现就是为了解决有线网络无法克服的困难。无线网络首先适用于难以布线的地方(比如受保护的建筑物、机场等)或者经常需要变动布线结构的地方(如展览馆等)。学校也是一个很重要的应用领域,一个无线网络系统可以使教师、学生在校园内的任何地方接入网络。另外,因为无线网络支持十几千米的区域,因此对于城市范围的网络接入也能适用,可以设想一个采用无线网络的ISP可以为一个城市的任何角落提供高达10Mbps的互联网接入。
  6. 网络通信设备选型
    网络通信设备选型包括核心交换机选型、汇聚层/接入层交换机选型、远程接入与访问设备选型。
2.4.6 网络安全及其防范技术

网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。信息安全的基本要素有:

  • 机密性:确保信息不暴露给未授权的实体或进程。
  • 完整性:只有得到允许的人才能修改数据,并且能够判别出数据是否已被篡改。
  • 可用性:得到授权的实体在需要时可访问数据,即攻击者不能占用所有的资源而阻碍授权者的工作。
  • 可控性:可以控制授权范围内的信息流向及行为方式。
  • 可审查性:对出现的网络安全问题提供调查的依据和手段。

为了达成上述目标,需要做的工作有:制定安全策略、用户验证、加密、访问控制、审计和管理。网络安全分为内部安全和外部安全。外部安全主要指防范来自于互联网的外部网络攻击。
典型的网络攻击步骤一般为:信息收集、试探寻找突破口、实施攻击、消除记录、保留访问权限。攻击者一般在攻破安全防护后,进入主机窃取或破坏核心数据。除了对数据的攻击外,还有一种叫“拒绝服务”攻击,即通过控制网络上的其他机器,对目标主机所在网络服务不断进行干扰,改变其正常的作业流程,执行无关程序使系统响应减慢甚至瘫痪,影响正常用户的使用,甚至使合法用户被排斥而不能进入计算机网络系统或不能得到相应的服务。
国家在信息系统安全方面也出台了相应的安全标准。2001年1月1日起由公安部组织制定、国家技术标准局发布的中华人民共和国国家标准GB17895-1999《计算机信息系统安全保护等级划分准则》开始实施。该准则将信息系统安全分为5个等级,分别是:自主保护级、系统审计保护级、安全标记保护级、结构化保护级、访问验证保护级。

除了标准之外,还需要相应的网络安全工具,包括安全操作系统、应用系统、防火墙、网络监控、安全扫描、信息审计、通信加密、灾难恢复、网络反病毒等多个安全组件共同组成的,每一个单独的组件只能完成其中部分功能,而不能完成全部功能。下面对主要的网络和信息安全产品加以说明。
(1)防火墙。防火墙通常被比喻为网络安全的大门,用来鉴别什么样的数据包可以进出企业内部网。在应对黑客入侵方面,可以阻止基于IP包头的攻击和非信任地址的访问。但传统防火墙无法阻止和检测基于数据内容的黑客攻击和病毒入侵,同时也无法控制内部网络之间的违规行为。
(2)扫描器。扫描器可以说是入侵检测的一种,主要用来发现网络服务、网络设备和主机的漏洞,通过定期的检测与比较,发现入侵或违规行为留下的痕迹。当然,扫描器无法发现正在进行的入侵行为,而且它还有可能成为攻击者的工具。
(3)防毒软件。防毒软件是最为人熟悉的安全工具,可以检测、清除各种文件型病毒、宏病毒和邮件病毒等。在应对黑客入侵方面,它可以查杀特洛伊木马和蠕虫等病毒程序,但对于基于网络的攻击行为(如扫描、针对漏洞的攻击)却无能为力。
(4)安全审计系统。安全审计系统通过独立的、对网络行为和主机操作提供全面与忠实的记录,方便用户分析与审查事故原因,很像飞机上的黑匣子。由于数据晕和分析量比较大,目前市场上鲜见特别成熟的产品,即使存在冠以审计名义的产品,也更多的是从事入侵检测的工作。

2.4.7 网络管理

网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能、服务质量等。另外,当网络出现故障时能及时报告和处理,并协调、保持网络系统的高效运行等。网络管理中一个重要的工作就是备份,需要备份的数据一般包括:

  • 工作文档类文件。
  • E-mail、QQ记录类文件。
  • 设置类文件。
  • 系统类文件。
  • 数据库的备份。
  • 重要光盘。
  • 其他重要文件。
2.5 新一代信息技术
2.5.1 大数据
  1. 大数据概念及关键技术
    (1)大数据的概念。早在20世纪的1980年,著名未来学家阿尔文- 托夫勒便在《第三次浪潮》一书中,将“大数据“热情地赞颂为“第三次浪潮的华彩乐章”。2008年9月《科学》(Science)杂志发表了一篇文章“BigData: Science in the Petabyte Era"。 “大数据“这个词开始被广泛传播。目前国内外的专家学者对大数据只是在数据规模上达成共识:“超大规模”表示的是GB级别的数据,“海量”表示的是TB级的数据,而“大数据”则是PB级别及其以上的数据。
    2011年5月,在“云计算相遇大数据“为主题的EMC World 2011会议中,EMC抛出了大数据(Big Data)概念。
    大数据的来源包括网站浏览轨迹、各种文档和媒体、社交媒体信息、物联网传感信息、各种程序和App的日志文件等。大数据是指无法在一定时间内用传统数据库软件工具对其内容进行抓取、管理和处理的数据集合,其具有4V特性:体量大(Volume)、多样性(Variety)、价值密度低(Value)、快速化(Velocity)的显著特征。

    • 体量大(Volume)。体量大指数据量巨大,而且非结构化数据的超大规模和增长快速,非结构化数据占总数据量的80%~90%,其增长比结构化数据快10倍到50倍。大数据处理的数据量是传统数据仓库的10倍到50倍。
    • 多样性(Variety)。多样性指数据类型包括结构化数据、半结构化数据和非结构化数据,具有很多不同形式(文本、图像、视频、机器数据),这些数据无模式或者模式不明显,并且属于不连贯的语法或句义。
    • 价值密度低(Value)。价值密度低指类似沙里淘金,从海量的数据里面获得对自已有用的数据,要处理大量的不相关信息。大数据同时也意味深度复杂分析,比如机器学习和人工智能,甚至可以对未来趋势与模式的进行预测分析。
    • 快速化(Velocity)。大数据处理的数据通常指实时获取需要的信息,进行实时分析而非批量式分析,数据处理通常立竿见影而非事后见效。

    (2)大数据关键技术。大数据所涉及的技术很多,主要包括数据采集、数据存储、数据管理、数据分析与挖掘4个环节。在数据采集阶段主要使用的技术是数据抽取工具ETL。在数据存储环节主要有结构化数据、非结构化数据和半结构化数据的存储与访问。结构化数据一般存放在关系数据库,通过数据查询语言(SQL)来访问;非结构化(如图片、视频、doc文件等)和半结构化数据一般通过分布式文件系统的NoSQL (Not Only SQL)进行存储。大数据管理主要使用了分布式并行处理技术,比较常用的有MapReduce, 借助MapReduce编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。数据分析与挖掘是根据业务需求对大数据进行关联、聚类、分类等钻取和分析,并利用图形、表格加以展示,与ETL一样,数据分析和挖掘是以前数据仓库的范畴,只是在大数据中得以更好的利用。

    • HDFS。Hadoop分布式文件系统(HDFS)是适合运行在通用硬件上的分布式文件系统,是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
    • HBase。HBase是一个分布式的、面向列的开源数据库,该技术来源于论文"Bigtable:一个结构化数据的分布式存储系统“,HBase在Hadoop之上提供了类似于Bigtable的能力。利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是Hbase是基于列的而不是基于行的模式。
    • MapReduce。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(归约)“,以及它们的主要思想,都是从函数式编程语言里借来的。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上,从而实现对HDFS和HBase上的海量数据分析。
    • Chukwa。Chukwa是一个开源的用于监控大型分布式系统的数据收集系统。这是构建在hadoop的hdfs和map/reduce框架之上的,继承了hadoop的可伸缩性和鲁棒性。Chukwa还包含了一个强大和灵活的工具集,可用于展示、监控和分析已收集的数据。
  2. 大数据应用
    大数据受到越来越多行业巨头们的关注,使得大数据渗透到更广阔的领域,除了电商、电信、金融这些传统数据丰富、信息系统发达的行业之外,在政府、医疗、制造和零售行业都有其巨大的社会价值和产业空间。各行业在大数据应用上的契合度如图 2.6所示。
    (1)互联网和电子商务行业。应用最多的是用户行为分析,主要研究对象用户在互联网、移动互联网上的访问日志、用户主体信息和外景环境信息,从而挖掘潜在客户,进行精准广告或营销。例如某电商通过用户对产品浏览信息的分析,得到大约10%的用户会在浏览该产品一周后下单,从而在该城市的物流中心进行备货,大大提高发货速度,降低仓库成本。用户日志一般包括下列几类数据:

在这里插入图片描述

  • 网站日志:用户在访问某个目标网站时,网站记录的用户相关行为信息;
  • 搜索引擎日志:记录用户在该搜索引擎上的相关行为信息;
  • 用户浏览日志:通过特定的工具和途径记录用户所浏览过的所有页面的相关信息,如浏览器日志、代理日志等;
  • 用户主体数据:如用户群的年龄、受教育程度、兴趣爱好等;
  • 外界环境数据:如移动互联网流量、手机上网用户增长、自费套餐等。

(2)电信/金融。通过对用户的通信、流量、消费等信息进行分析,判断用户的消费习惯和信用能力,可以给用户设计更贴合的产品,提升产品竞争力。
(3)政府。首先政府通过对大数据的挖掘和实时分析,可有效提高政府决策的科学性和时效性,并且能帮助政府有效削减预算开支。其次借助大数据可以使政府变得更加开放、透明和智慧。大数据可以使政府更清楚地了解公民的意愿和想法,可以提升公民的价值,还可以通过引导社会的舆论,为社会公众提供更好的服务,树立更好的政府形象。
(4)医疗。例如,某互联网公司“流感趋势”项目深受相关研究人员的欢迎,它依据网民搜索内容分析全球范围内流感等病疫传播状况,与美国疾病控制和预防中心提供的报告进行比对,事实证明两者有很大关联。社交网络为许多患者提供临床症状交流和诊治经验分享的平台,医生借此可获得在医院通常得不到的临床效果统计数据。
(5)制造。从前的制造业通常以产品为导向,以降低生产成本来决定制造业的生存和发展。而如今如果继续以这种理念来维持企业的发展,必将导致制造业的暗淡。越来越多的制造业早已明白,个性化定制将是发展的趋势,所以制造业需要处理好大数据,通过对海量数据的获取,挖掘和分析,把握客户的需求,从而交付客户喜欢的产品。

2.5.2 云计算
  1. 云计算概念及关键技术
    (1)云计算概念。云计算是指基于互联网的超级计算模式,通过互联网来提供大型计算能力和动态易扩展的虚拟化资源。云是网络、互联网的一种比喻说法。云计算是一种大集中的服务模式:服务器端可以通过网格计算,将大量低端计算机和存储资源整合在一起,提供高性能的计算能力、存储服务、应用和安全管理等;客户端可以根据需要,动态申请计算、存储和应用服务,在降低硬件、开发和运维成本的同时,大大拓展了客户端的处理能力。用一句话概括云计算就是通过网络提供可动态伸缩的廉价计算能力,其通常具有下列特点:

    • 超大规模。“云”具有相当的规模,企业私有云一般拥有数百上千台服务器。
    • 虚拟化。云计算支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云“,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置。只需要一台笔记本或者一个手机,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。
    • 高可靠性。”云“使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机可靠。
    • 通用性。云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。
    • 高可扩展性。“云”的规模可以动态伸缩,满足应用和用户规模增长的需要。
    • 按需服务。“云”是一个庞大的资源池,用户按需购买;云可以像自来水、电、煤气那样计费。
    • 极其廉价。由于“云”的特殊容错措施可以采用极其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率较之传统系统大幅提升,因此用户可以充分享受“云”的低成本优势,经常只要花费几百美元、几天时间就能完成以前需要数万美元、数月时间才能完成的任务。
    • 潜在的危险性。云计算服务除了提供计算服务外,还必然提供了存储服务。但是云计算服务当前垄断在私人机构(企业)手中,而他们仅仅能够提供商业信用。对于政府机构、商业机构(特别像银行这样持有敏感数据的商业机构)对于选择云计算服务、特别是国外机构提供的云计算服务时,不得不考虑的一个重要的前提。

    (2)云计算架构。从对外提供的服务能力来看,云计算的架构可以分为3个层次:基础设施即服务OaaS),平台即服务(PaaS)和软件即服务(SaaS)。

    • 基础设施即服务(IaaS)。英文为Infrastructure as a Service,指消费者通过Internet可以从云计算中心获得完善的计算机基础设施服务,例如虚拟主机、存储服务等。如果把云计算比作一台计算机,IaaS就相当于计算机的主机等硬件。
    • 平台即服务(PaaS)。英文为Platform as a Service,指为云计算上各种应用软件提供服务的平台应用,其作用类似于个人计算机的操作系统,也包括一些增强应用开发的“开发包”。
    • 软件即服务(Saas)。英文为Software as a Service,是一种通过Internet提供软件的模式,用户无须购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。类似于个人计算机中各种各样的应用软件。

    从云计算的核心,及大型数据中心的内部结构来看,其结构包括资源池、云操作系统和云平台接口,如图2.7所示。

    在这里插入图片描述

    资源池:指集群管理的各种基础硬件资源,如CPU、存储和网络带宽等。云操作系统:通过虚拟化技术对资源池中的各种资源进行统一调度管理。云平台接口:用户应用调用云计算资源的接口。
    (3)云计算关键技术。云计算关键技术包括网格计算和虚拟化两种。
    网格计算是一种计算能力提升的方式,其原理是依据并行计算理论,通过任务分解,将子任务分布式提交到其他服务器上运行,以获得更强大计算能力。网格计算的基础技术就是Web Services。云计算的平台技术,主要依赖于SOA,而我们知道SOA的主要实现技术体系也就是Web Services,因此云计算和网格计算的核心技术基础是相似的,但也有所不同,如表2.1所示。

    表2.1 云计算和网络计算机的对比

网格计算云计算
应用场景:科学计算、天气预报、地震分析等
任务特色:重计算、弱流程、少交互;需要消耗大量的CPU计算,对网络流量不大,存储和硬盘访问量不大
计算模式:任务通过服务分解,分布式计算
应用场景:企业管理、电子政务、电子商务等
任务特色:弱计算、强流程、多交互;频繁的人机交互,CPU消耗不大,但存储和硬盘访问量很大,网络的访问流量也很大
任务模式:资源的虚拟提供更强大的计算能力

虚拟化,即基础设施的虚拟化,核心是传统已经成熟的集群计算和分区计算的结合。集群计算将多台服务器虚拟为一台服务器的技术,目的是提高计算能力和提升设备的容错、实现负载均衡。集群计算已广泛应用于操作系统、数据库和中间件等系统软件平台。而分区计算是大型主机和UNIX小型机上一种成熟的技术,是将一台服务器虚拟为多台服务器,每个虚拟单元叫分区并且之间是相互隔离的,目的是提高资源利用率。
虚拟化目前还包括网络虚拟化(VPN)和存储虚拟化(SAN/NAS)等技术,与服务器虚拟化一起,构建为一个完整的计算资源虚拟化环境,在虚拟化管理系统的控制下,实现动态的可配置的智能系统。

  1. 云计算应用
    从服务层次来看,如前所述,云计算的应用可分为基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS) 3个层次。
    从应用范围来看,云计算又可分为公有云、私有云和混合云。公有云通常指第三方提供商用户能够使用的云,公有云一般可通过Internet使用,可能是免费或成本低廉的。私有云是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。混合云就是将公有、私有两种模式结合起来,根据需要提供统一服务的模式。

    从行业来看,在国内云计算应用较多的行业包括金融、政府、电子商务、游戏、音视频网站、移动应用、门户和社区等。随着数据安全性增强、网络带宽增长和云计算应用模式的成熟,云计算将在更多行业和领域得到应用。

2.5.3 物联网
  1. 物联网概念及关键技术
    (1)物联网概念。物联网(IoT: Internet of Things)即“物物相联之网”,指通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把物与物、人与物进行智能化连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种新兴网络。从计算机的协同处理来划分,可分为独立计算、互联网和物联网时代,如图2.8所示。

    在这里插入图片描述

    物联网不是一种物理上独立存在的完整网络,而是架构在现有互联网或下一代公网或专网基础上的联网应用和通信能力,是具有整合感知识别、传输互联和计算处理等能力的智能型应用。
    物联网概念的3个方面:

    • 物:客观世界的物品,主要包括人、商品、地理环境等。
    • 联:通过互联网、通信网、电视网以及传感网等实现网络互联。
    • 网:首先,应和通信介质无关,有线无线都可。其次,应和通信拓扑结构无关,总线、星型均可。最后,只要能达到数据传输的目的即可。

    (2)物联网架构。物联网从架构上面可以分为感知层、网络层和应用层,如图2.9所示。
    感知层:负责信息采集和物物之间的信息传输,信息采集的技术包括传感器、条码和二维码、RFID射频技术、音视频等多媒体信息,信息传输包括远近距离数据传输技术、自组织组网技术、协同信息处理技术、信息采集中间件技术等传感器网络。是实现物联网全面感知的核心能力,是物联网中包括关键技术、标准化方面、产业化方面亟待突破的部分,关键在于具备更精确、更全面的感知能力,并解决低功耗、小型化和低成本的问题。

    在这里插入图片描述

    网络层:是利用无线和有线网络对采集的数据进行编码、认证和传输,广泛覆盖的移动通信网络是实现物联网的基础设施,是物联网三层中标准化程度量高、产业化能力最强、最成熟的部分,关键在于为物联网应用特征进行优化和改进,形成协同感知的网络。
    应用层:提供丰富的基于物联网的应用,是物联网发展的根本目标,将物联网技术与行业信息化需求相结合,实现广泛智能化应用的解决方案集,关键在于行业融合、信息资源的开发利用、低成本高质量的解决方案、信息安全的保障以及有效的商业模式的开发。

    各个层次所用的公共技术包括编码技术、标识技术、解析技术、安全技术和中间件技术。

    (3)物联网关键技术。感知层作为物联网架构的基础层面,主要是达到信息采集并将采集到的数据上传的目的,感知层主要包括:自动识别技术产品和传感器(条码、 RFID、传感器等),无线传输技术(WLAN、Bluetooth、ZigBee、UWB),自组织组网技术和中间件技术,如图2.10所示。

    在这里插入图片描述

  2. 物联网应用
    物联网的产业链(如图2.11所示)包括传感器和芯片、设备、网络运营及服务、软件与应用开发和系统集成。作为物联网“金字塔”的塔座,传感器将是整个链条需求总量最大和最基础的环节。将整体产业链按价值分类,硬件厂商的价值较小,占产业价值大头的公司通常都集多种角色为一体,以系统集成商的角色出现。

    在这里插入图片描述

    (1)智能微尘:智能微尘(smart dust)(2001,美国国防部计划)是指具有电脑功能的一种超微型传感器,它可以探测周围诸多环境参数,能够收集大量数据,进行适当计算处理,然后利用双向无线通信装置将这些信息在相距1000英尺的微尘器件间往来传送。智能微尘的应用范围很广,除了主要应用于军事领域外,还可用于健康监控、环境监控、医疗等许多方面。
    (2)智能电网:物联网技术在传感技术、电网通信整合、安全技术和先进控制方法等关键技术领域助力美国新一代智能电网的建设,使配电系统进入计算机智能化控制的时代,以美国的可再生能源为基础,实现美国发电、输电、配电和用电体系的优化管理。
    (3)智慧物流:大型零售企业沃尔玛,拥有全美最大的送货车队,车辆全部安装了综合了GPS卫星定位、移动通信网络等功能的车载终端,调度中心可实时掌握车辆及货物的情况高效利用物流资源设施,使沃尔玛的配送成本仅占销售额的2%,远低于同行高达10%甚至20%的物流成本。提高物流效率,实现物流的全供应链流程管理支持。

    (4)智能家居:提供基于网络的通信,进行家居和建筑的自动化控制和外部共享信息,应用包括家庭安防类、信息服务类和家电设备管理等应用。
    (5)智能交通:瑞典在解决交通拥挤问题时,通过使用RFID技术、激光扫描、自动拍照和自由车流路边系统,自动检测标识车辆,向工作进出市中心的车辆收取费用。提供汽车信息服务,支持交通管理,车辆控制和安全系统,公共交通管理,商用车运营管理,交通应急管理以及出行和交通需求管理等领域。
    (6)智慧农业:荷兰阿姆斯特丹对城市建筑有另一个层面的应用,即利用城市内废弃建筑的多层结构提高种植面积,并利用物联网的感知与智能技术就地改造建筑内的LED照明设备与供水排水管道,形成自动根据天气条件补充光照与水分的城市农业。整合新型传感器技术,全流程的牧业管理和支持精细农业,应用涉及食品安全溯源,环境检测等应用。
    (7)环境保护:环境监测、河流区域监控、森林防火、动物监测等应用。
    (8)医疗健康:基于RFID技术的医疗健康服务管理,应用涉及医疗健康服务管理,药品和医疗器械管理以及生物制品管理等应用。
    (9)城市管理:应用物联网支撑城市综合管理,实现智慧城市。
    (10)金融服务保险业:依靠物联网支撑金融和保险行业体系,实现便捷和健壮的服务,应用涉及安全监控,手机钱包等。
    (11)公共安全:主要应用于机场防入侵,安全防范,城市轨道防控,城市公共安全等方面。

2.5.4 移动互联网
  1. 移动互联网概念及关键技术
    1)移动互联网概念
    移动互联网一般是指用户用手机等无线终端,通过3G (WCDMA、CDMA2000或者TD-SCDMA)或者WLAN等速率较高的移动网络接入互联网,可以在移动状态下(如在地铁、公交车上等)使用互联网的网络资源。
    从技术层面的定义:以宽带IP为技术核心,可以同时提供语音、数据、多媒体等业务的开放式基础电信网络。从终端的定义:用户使用手机、上网本、笔记本电脑、平板电脑、智能本等移动终端,通过移动网络获取移动通信网络服务和互联网服务。
    移动互联网=移动通信网络+互联网内容和应用,不仅是互联网的延伸,而且是互联网的发展方向。
    移动终端在处理能力、显示效果、开放性等方面则无法和PC相提并论,但在个性化、永远在线、位置性等方面强于PC。移动终端具有的小巧轻便、随身携带的两个特点决定了移动互联网不仅具有传统互联网应用的简单复制和移植,还应具有下列新特征:

    • 接入移动性:移动终端的便携性使得用户可以在任意场合接入网络,移动互联网的使用场景是动态变化的。
    • 时间碎片性:用户使用移动互联网的时间往往是上下班途中、工作之余、出差等候间隙等碎片时间,数据传输具有不连续性和突发性。
    • 生活相关性:移动终端被用户随身携带,具有唯一号码与移动位置关联的特性,使得移动应用可以进入人们的日常生活,满足衣食住行、吃喝玩乐等需求。
    • 终端多样性:目前各手机厂商分足鼎立,拥有各自不同的操作系统和类型多样的底层硬件终端,尚未形成统一的标准化接口协议。

    2)移动互联网关键技术
    移动互联网的关键技术包括架构技术SOA、页面展示技术Web2.0和HTML5、以及主流开发平台Android、iOS和Windows Phone。

    (1) SOA
    SOA (Service-Oriented Architecture,面向服务的架构)是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型。SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。
    Web Service是现在实现SOA的主要技术,是一个平台独立的,低耦合的,自包含的、基于可编程的web应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。Web Service技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据Web Service规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。

    SOA支持将业务转换为一组相互链接的服务或可重复业务任务,可以对这些服务进行重新组合,以完成特定的业务任务,从而使业务能够快速适应不断变化的客观条件和需求。

    (2)Web 2.0
    Web2.0严格来说不是一种技术,而是提倡众人参与的互联网思维模式,是相对于 Web1.0的新的时代。Web2.0指的是一个利用Web的平台,由用户主导而生成的内容互联网产品模式,为了区别传统由网站雇员主导生成的内容而定义为第二代互联网,即 Web2.0,是一个新的时代。表2.2显示Web2.0与Web1.0的区别。

    表2.2 Web2.0与Web1.0的区别

    项目Web1.0Web 2.0
    页面风格结构复杂,页面繁冗页面简洁,风格流畅
    个性化程度垂直化、大众化个性化突出自我品牌
    用户体验程度低参与度、被动接受高参与度、互动接受
    通信程度信息闭塞知识程度低信息灵通知识程度高
    感性程度追求物质性价值追求精神性价值
    功能性实用追求功能性利益体验追求情感性利益

    (3)HTML5
    HTML5在原有HTML基础之上扩展了API,使WEB应用成为RIA (Rich Internet Applications),具有高度互动性、丰富用户体验以及功能强大的客户端。HTML5的第一份正式草案已于2008年1月22日公布。HTML5的设计目的是为了在移动设备上支持多媒体,推动浏览器厂商,使Web开发能够跨平台跨设备支持。HTML5仍处于完善之中。然而,大部分现代浏览器已经具备了某些HTML5支持。

    HTML5相对于HTML4是一个划时代的改变,新增了很多特性,其中重要的特性包括:

    • 支持WebGL、拖曳、离线应用和桌面提醒,大大增强了浏览器的用户使用体验。
    • 支持地理位置定位,更适合移动应用的开发。
    • 支持浏览器页面端的本地储存与本地数据库,加快了页面的反应。
    • 使用语义化标签,标签结构更清晰,且利于SEO。
    • 摆脱对Flash等插件的依赖,使用浏览器的原生接口。
    • 使用CSS3,减少页面对图片的使用。
    • 兼容手机、平板电脑等不同尺寸、不同浏览器的浏览。

    HTML5手机应用的最大优势就是可以在网页上直接调试和修改。原有应用的开发人员可能需要花费非常大的力气才能达到HTML5的效果,不断地重复编码、调试和运行。因此现在有许多手机杂志客户端是基于HTML5标准,开发人员就可以轻松进行调试修改。

    (4)Android
    Android一词的本义指“机器人”,是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑。很多移动重点厂商在标准Android基础上封装成自有的操作系统。
    在移动终端开发方面,Android的市场占有率一枝独秀,据IDC 2014年底预计, 2015年Android市场份额将达到45.4%,成为全球最大智能手机操作系统。2015年Windows Phone市场份额将从今年的5.5%增至20.9%,成为继Android之后的第2大系统。
    相对其他移动终端操作系统,Android的特点是入门容易,因为Android的中间层多以Java实现,并且采用特殊的Dalvik“暂存器型态”Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少,开发相对简单,而且开发社群活跃,开发资料丰富。

    (5)iOS
    iOS是一个非开源的操作系统,其SDK本身是可以免费下载的,但为了发布软件,开发人员必须加入某品牌开发者计划,其中有一步需要付款以获得某品牌的批准。加入了之后,开发人员们将会得到一个牌照,他们可以用这个牌照将他们编写的软件发布到某品牌的网上软件商店。
    iOS的开发语言是Objective-C、C和C++,加上其对开发人员和程序的认证,开发资源相对较少,所以其开发难度要大于Android。

    (6)Windows Phone
    简称WP,是一款手机操作系统,Windows Phone的开发技术有C、C++、C#等。 Windows Phone的基本控件来自控件Silverlight的.NET Framework类库,而.NET开发具备快捷、高效、低成本的特点。

  2. 移动互联网应用

    (1)娱乐类工作之余的休闲及娱乐需求,包括游戏、音乐、旅游、运动、时尚信息等。
    (2)交流类社交需求与情感交流,包括交友、与亲人之间的感情交流。
    (3)学习类:提升自身素质需求,包括外语、专业课程、技能培训等。
    (4)生活类:包括购物需求(日用品等)和生活需求(健康、热点新闻、理财、饮食等)。
    (5)商务类:工作方面的需求,包括求职、行业信息等。
    (6)工具类:为了满足以上需求而进行手机优化、搜索等。

【练习题】

  1. 在以下软件开发工具中( )是软件配置管理工具。
    A.项目计划与追踪工具 B.编译器
    C.发布工具 D.性能分析工具
  2. 在OSI (Open System Interconnect, OSI) 7层协议中,( )有IGMP协议。
    A.物理层 B.数据链路层
    C.应用层 D.网络层
  3. 以下( )不属于网络接入技术。
    A.无线接入 B.光线接入
    C.云接入 D.同轴接入
  4. 典型的网络攻击步骤一般为:信息收集、试探寻找突破口、实施攻击、消除记录、( )
    A.盗取信息 B.保留访问权限
    C.篡改数据 D.更改作业流程
  5. 起由公安部主持制定、国家技术标准局发布的中华人民共和国国家标准 GB17895-1999《计算机信息系统安全保护等级划分准则》于( )开始实施。该准则将信息系统安全分为5个等级,分别是:自主保护级、系统审计保护级、安全标记保护级、结构化保护级、访问验证保护级。
    A.2001年1月1日B. 2001年10月1日
    C. 2002年1月1日D. 2000年10月1日
  6. 物联网从架构上面可以分为感知层、网络层和应用层。其中( )负责信息采集和物物之间的信息传输。
    A.感知层 B.网络层
    C.应用层 D.以上3项都是
  7. 移动互联网的关键技术包括架构技术SOA、页面展示技术Web2.0和HTML5、以及主流开发平台Android、iOS和Windows Phone,其中( )是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型。
    A.iOS B. Web2.0
    C. Android D. SOA

【参考答案】:C D C B A A D

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/43519.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s上部署单节点apache-lotdb

一、yaml文件 使用的nfs的动态存储类,需要提前搭建。 # cat lotdb.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata:name: logsnamespace: lotdb spec:storageClassName: "nfs-client"accessModes:- ReadWriteManyresources:requests:storag…

Spring Session 多服务Session共享

在新项目中需要开发单点登录功能,单点登录服务端提供方使用的是CAS技术,是根据Session来判断用户是否完成了登录操作的。Session是保存在服务器本地内存中的,而我的项目是需要多服务部署的,这就意味着会部署在不同的服务器中&…

淘宝商品历史价格查询(免费)

当前资料来源于网络,禁止用于商用,仅限于学习。 淘宝联盟里面就可以看到历史价格 并且没有加密 淘宝商品历史价格查询可以通过以下步骤进行: 先下载后,登录app注册账户 打开淘宝网站或淘宝手机App。在搜索框中输入你想要查询的商…

【问题记录】Windows中Node的express无法直接识别

问题描述 在使用express_generator的时候windows平台中出现无法识别express命令的问题,另外就算添加了全局环境变量也没用。 问题解决 查看官方文档发现在node版本8之前的时候使用的是express,但是之后的版本使用npx,这个工具的出现主要想…

keil mdk注释插件合集格式、时间、日期注释

文章目录 一、前言二、安装步骤2.1 解压tools.zip2.2 tools 文件解释2.3 添加注释带keil 三、配置3.1 格式化代码3.2 文件注释3.3函数注释3.4 当前日期3.5 当前时间 四、编辑注释模板4.1 编辑函数注释模板4.2 编辑C文件注释模板4.3 编辑h文件注释模板 五、为注释功能添加快捷键…

【Kubernetes安装】从零开始使用kubeadm命令工具部署K8S v1.28.2 集群

文章目录 一、虚拟机配置参数说明二、kubernetes v1.28.2版本介绍三、CentOS 7.9 系统初始化配置3.1 配置CentOS系统基础环境3.1.1 配置hosts3.1.2 永久关闭selinux3.1.3 关闭swap分区3.1.4 所有节点全部关闭防火墙3.1.5 配置ntp server同步时间3.1.6 添加kubernetes镜像源 3.2…

12--RabbitMQ消息队列

前言:前面一章内容太多,写了kafka,这里就写一下同类产品rabbitmq,rabbitmq内容较少,正好用来过度一下,概念还是会用一些例子来说明,实际部署的内容会放在概念之后。 1、基础概念 1.1、MQ消息队…

CSS原子化

目录 一、定义 二、原子化工具 2.1、tailwind 2.1.1、以PostCss插件形式安装 2.1.2、不依赖PostCss安装 2.1.3、修改原始配置 2.2、unocss 三、优缺点 3.1、优点 3.2、缺点 一、定义 定义:使用一系列的助记词,利用类名来代表样式。 二、原子化…

uniapp——银行卡号脱敏

样式 代码 {{bankNumber.replace(/(\d{4})(?\d)/g, "●●●● ").replace(/(\d{2})(?\d{2}$)/, " $1")}} 将银行卡号按照每四位一组的方式进行处理,前面的变成 剩下的正常显示

uniapp上架到appstore遇到的问题

1、appstore在美国审核,需要把服务器接口的国外访问权限放开 2、登陆部分 a、审核时只能有密码登陆,可以通过接口响应参数将其他登陆方式暂时隐藏,审核成功后放开即可 b、需要有账号注销功能 3、使用照相机和相册功能时需要写清楚描述文案

在 PostgreSQL 里如何实现数据的自动清理和过期处理?

文章目录 一、使用 TIMESTAMP 列和定期任务二、使用事件触发器(Event Triggers)三、使用分区表(Partitioned Tables)四、结合存储过程和定时任务示例场景实现步骤测试与验证 在 PostgreSQL 中,可以通过多种方式实现数据…

MySQL资源组的使用方法

MySQL支持创建和管理资源组,并允许将服务器内运行的线程分配给特定的组,以便线程根据组可用的资源执行。组属性允许控制其资源,以启用或限制组中线程的资源消耗。DBA可以针对不同的工作负载适当地修改这些属性。 目前,CPU时间是一…

前端开发攻略---webSocket的简单实现与使用

1、演示 2、实现流程 安装依赖 npm i ws 服务端代码 const WebSocket require(ws)// 创建一个 WebSocket 服务器,监听端口 3000 const wss new WebSocket.Server({ port: 3000 })// 监听连接事件 wss.on(connection, function connection(ws) {console.log(客户端…

HTML(29)——立体呈现

作用:设置元素的子元素是位于3D空间中还是平面中 属性名:transform-style 属性值: flat:子级处于平面中preserve-3d:子级处于3D空间 步骤: 父级元素添加 transform-style:preserve-3d 子级定位调整子盒子的位置&a…

【GC 垃圾回收算法和回收器】

作者:ofLJli 链接:https://juejin.cn/post/7003213289425633287?searchId20240709085629749958B21D886D4E67D4 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 概述 在JVM中主要的结构为&…

怎样优化 PostgreSQL 中对 XML 数据的存储和查询?

文章目录 一、数据类型选择二、索引优化三、查询优化四、分区策略五、存储参数调整六、示例代码与解释七、性能测试与监控八、数据清理与压缩九、注意事项 在 PostgreSQL 中处理 XML 数据时,为了实现高效的存储和查询,需要采取一系列的优化策略。以下将详…

【Linux进阶】文件系统3——目录树,挂载

前言 在Windows 系统重新安装之前,你可能会事先考虑,到底系统盘C盘要有多大容量?而数据盘D盘又要给多大容量等,然后实际安装的时候,你会发现其实C盘之前会有个100MB的分区被独立出来,所以实际上你就会有三个…

探索横河AQ6370E系列光谱仪隐藏功能!---高级标记功能!

横河AQ6370E系列光谱仪的这款光谱仪的传统功能中,其实还隐藏了一个特别实用的功能——高级标记功能!前所未有的方式解析数据与测量信号,不仅带来了全新的测试体验,还提升了测量速度,那么这个功能怎么找到呢&#xff0c…

ALG:MODTRAN查找表参数详解(学习笔记4)

一、Modtran安装及环境配置 https://blog.csdn.net/qq_41358707/article/details/134721973 二、ALG配置更新 添加大气RTM。Settings,进入首选项界面,单击RTM选项卡以更新RTM的配置: 从窗口右上角的select RTM弹出菜单中选择一个大气RTM&a…

【数据结构】TreeMap及TreeSet

欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 一、概念 TreeMap和TreeSet都是Java中基于红黑树(Red-Black tree)实现的有序集合类。它们分别实现了SortedMap和SortedSet接口,因此提供了按照键(对…