软件架构之虚拟化、云计算与互联网

软件架构之虚拟化、云计算与互联网

  • [第 21 章:虚拟化、云计算与物联网](#第 21 章:虚拟化、云计算与物联网)
    • [21.1 虚拟化](#21.1 虚拟化)
      • [21.1.1 虚拟化技术的分类](#21.1.1 虚拟化技术的分类)
      • [21.1.2 虚拟化的模式](#21.1.2 虚拟化的模式)
    • [21.2 云计算](#21.2 云计算)
      • [21.2.1 云计算的特点](#21.2.1 云计算的特点)
      • [21.2.2 云计算的类型](#21.2.2 云计算的类型)
      • [21.2.3 云计算的应用](#21.2.3 云计算的应用)
    • [21.3 物联网](#21.3 物联网)
      • [21.3.1 物联网的层次结构](#21.3.1 物联网的层次结构)
      • [21.3.2 物联网的相关领域与技术](#21.3.2 物联网的相关领域与技术)
      • [21.3.3 物联网的应用](#21.3.3 物联网的应用)

第 21 章:虚拟化、云计算与物联网

虚拟化、云计算与物联网是一组新技术,这些技术目前都是业内的热点。对于这些技术需要读者了解其基本概念及相关的结构与应用。

21.1 虚拟化

虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统,在 20世纪 70 年代的 System 370 系列中逐渐流行起来,这些机器通过一种叫虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例。随着近年多核系统、集群、网格甚至云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT 成本,而且还增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中。

虚拟化是一个广义的术语,对于不同的人来说可能意味着不同的东西,这要取决他们所处的环境。在计算机科学领域中,虚拟化代表着对计算资源的抽象,而不仅仅局限于虚拟机的概念。例如对物理内存的抽象,产生了虚拟内存技术,使得应用程序认为其自身拥有连续可用的地址空间(Address Space),而实际上,应用程序的代码和数据可能被分隔成多个碎片页或段,甚至被交换到磁盘、闪存等外部存储器上,即使物理内存不足,应用程序也能顺利执行。

21.1.1 虚拟化技术的分类

虚拟化技术是一个非常广的概念,所以其具体内容可分成不同层面的几大类型。

1.平台虚拟化

平台虚拟化(Platform Virtualization)是针对计算机和操作系统的虚拟化。我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用控制程序(Control Program,也称为 Virtual Machine Monitor 或 Hypervisor),隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境。虚拟机中运行的操作系统称为客户机操作系统(Guest OS),运行虚拟机监控器的操作系统称为主机操作系统(Host OS),当然某些虚拟机监控器可以脱离操作系统直接运行在硬件之上(如 VMWARE 的 ESX 产品)。运行虚拟机的真实系统称为主机系统。

平台虚拟化技术又可以细分为如下几个子类:

(1)全虚拟化

全虚拟化(Full Virtualization)是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作系统或其他系统软件完全不作任何修改就可以在虚拟机中运行。操作系统与真实硬件之间的交互可以看成是通过一个预先规定的硬件接口进行的。

全虚拟化 VMM(Virtual Machine Monitor)以完整模拟硬件的方式提供全部接口(同时还必须模拟特权指令的执行过程)。举例而言,x86 体系结构中,对于操作系统切换进程页表的操作,真实硬件通过提供一个特权 CR3 寄存器来实现该接口,操作系统只需执行 "mov pgtable,%%cr3" 汇编指令即可。

全虚拟化 VMM 必须完整地模拟该接口执行的全过程。如果硬件不提供虚拟化的特殊支持,那么这个模拟过程将会十分复杂:一般而言,VMM 必须运行在最高优先级来完全控制主机系统,而 Guest OS 需要降级运行,从而不能执行特权操作。

当 Guest OS 执行前面的特权汇编指令时,主机系统产生异常(General Protection Exception),执行控制权重新从 GuestOS 转到 VMM 手中。VMM 事先分配一个变量作为影子 CR3 寄存器给 Guest OS,将 pgtable 代表的客户机物理地址(Guest Physical Address)填入影子 CR3 寄存器,然后 VMM 还需要 pgtable 翻译成主机物理地址(Host Physical Address)并填入物理 CR3 寄存器,最后返回到 Guest OS 中。

随后 VMM 还将处理复杂的 Guest OS 缺页异常(Page Fault)。比较著名的全虚拟化 VMM 有 Microsoft Virtual PC、VMware Workstation、SUN Virtual Box、Parallels Desktop forMac 和 QEMU。

(2)超虚拟化

超虚拟化(Paravirtualization)是一种修改 Guest OS 部分访问特权状态的代码以便直接与 VMM 交互的技术。在超虚拟化虚拟机中,部分硬件接口以软件的形式提供给客户机操作系统,这可以通过 Hypercall(VMM 提供给 Guest OS 的直接调用,与系统调用类似)的方式来提供。

例如,Guest OS 把切换页表的代码修改为调用 Hypercall 来直接完成修改影子CR3 寄存器和翻译地址的工作。由于不需要产生额外的异常和模拟部分硬件执行流程,超虚拟化可以大幅度提高性能,比较著名的 VMM 有 Denali、Xen。

(3)硬件辅助虚拟化

硬件辅助虚拟化(Hardware-Assisted Virtualization)是指借助硬件(主要是主机处理器)的支持来实现高效的全虚拟化。例如有了 Intel-VT 技术的支持,Guest OS 和 VMM 的执行环境自动地完全隔离开来,Guest OS 有自己的"全套寄存器",可以直接运行在最高级别。因此在上面的例子中,Guest OS 能够执行修改页表的汇编指令。Intel-VT 和 AMD-V 是目前x86 体系结构上可用的两种硬件辅助虚拟化技术。

(4)部分虚拟化

部分虚拟化(Partial Virtualization)中,VMM 只模拟部分底层硬件,因此客户机操作系统不作修改是无法在虚拟机中运行的,其他程序可能也需要进行修改。在历史上,部分虚拟化是通往全虚拟化道路上的重要里程碑,最早出现在第一代的分时系统 CTSS 和 IBM M44/44X 实验性的分页系统中。

(5)操作系统级虚拟化

在传统操作系统中,所有用户的进程本质上是在同一个操作系统的实例中运行,因此内核或应用程序的缺陷可能影响到其他进程。操作系统级虚拟化(Operating System Level Virtualization)是一种在服务器操作系统中使用的轻量级的虚拟化技术,内核通过创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程,不同实例中的进程完全不了解对方的存在。比较著名的有 Solaris Container、FreeBSD Jail 和 OpenVZ 等。

2.资源虚拟化

资源虚拟化(Resource Virtualization),针对特定的系统资源的虚拟化,比如内存、存储、网络资源等。

3.应用程序虚拟化

应用程序虚拟化(Application Virtualization),包括仿真、模拟、解释技术等。虽然上面对虚拟化的分类已较为精确,但这种分类并不是绝对的,一个优秀的虚拟化软件往往融合了多项技术。

例如 VMware Workstation 是一个著名的全虚拟化的 VMM,但是它使用了一种被称为动态二进制翻译的技术把对特权状态的访问转换成对影子状态的操作,从而避免了低效的 Trap-And-Emulate 的处理方式,这与超虚拟化相似,只不过超虚拟化是静态地修改程序代码。对于超虚拟化而言,如果能利用硬件特性,那么虚拟机的管理将会大大简化,同时还能保持较高的性能。

21.1.2 虚拟化的模式

虚拟化可以通过很多方法来证实。它不是一个单独的实体,而是一组模式和技术的集合,这些技术提供了支持资源的逻辑表示所需的功能,以及通过标准接口将其呈现给这些资源的消费者所需的功能。这些模式本身都是前面介绍过的各种不同虚拟形式的重复出现。

下面是在实现虚拟化时常常使用的一些模式和技术。

1.单一资源多个逻辑表示

这种模式是虚拟化最广泛使用的模式之一。它只包含一个物理资源,但是它向消费者呈现的逻辑表示却仿佛它包含多个资源一样。消费者与这个虚拟资源进行交互时就仿佛自己是唯一的消费者一样,而不会考虑他正在与其他消费者一起共享资源。

2.多个资源单一逻辑表示

这种模式包含了多个组合资源,以便将这些资源表示为提供单一接口的单个逻辑表示形式。在利用多个功能不太强大的资源来创建功能强大且丰富的虚拟资源时,这是一种非常有用的模式。存储虚拟化就是这种模式的一个例子。在服务器方面,集群技术可以提供这样的幻想:消费者只与一个系统(头节点)进行交互,而集群事实上可以包含很多的处理器或节点。实际上,这就是从 IT 技术设施的角度看到的网格可以实现的功能。

3.在多个资源之间提供单一逻辑表示

这种模式包括一个以多个可用资源之一的形式表示的虚拟资源。虚拟资源会根据指定的条件来选择一个物理资源实现,例如资源的利用、响应时间或邻近程度。尽管这种模式与上一种模式非常类似,但是它们之间有一些细微的差别。首先,每个物理资源都是一个完整的副本,它们不会在逻辑表示层上聚集在一起。其次,每个物理资源都可以提供逻辑表示所需要的所有功能,而不是像前一种模式那样只能提供部分功能。这种模式的一个常见例子是使用应用程序容器来均衡任务负载。在将请求或事务提交给应用程序或服务时,消费者并不关心到底是几个容器中执行的哪一个应用程序的副本为请求或事务提供服务。消费者只是希望请求或事务得到处理。

4.单个资源单一逻辑表示

这是用来表示单个资源的一种简单模式,就仿佛它是别的什么资源一样。启用 Web 的企业后台应用程序就是一个常见的例子。在这种情况下,我们不是修改后台的应用程序,而是创建一个前端来表示 Web 界面,它会映射到应用程序接口中。这种模式允许通过对后台应用程序进行最少的修改(或根本不加任何修改)来重用一些基本的功能。也可以根据无法修改的组件,使用相同的模式构建服务。

5.复合或分层虚拟

这种模式是前面介绍的一种或多种模式的组合,它使用物理资源来提供丰富的功能集。信息虚拟化是这种模式一个很好的例子。它提供了底层所需要的功能,这些功能用于管理对资源、包含有关如何处理和使用信息的元数据,以及对信息进行处理的操作的全局命名和引用。例如 Open Grid Services Architecture ( OGSA )或者 Grid Computing Components,实际上都是虚拟化的组合或虚拟化的不同层次。

21.2 云计算

云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。云其实是网络、互联网的一种比喻说法。

云计算的核心思想,是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务。提供资源的网络称为云。狭义云计算指 IT 基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是 IT 和软件、互联网相关,也可是其他服务。

通俗一点来说,提供资源的网络称为云。云中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。这种特性经常被称为像水电一样使用 IT 基础设施。这就好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通,就像煤气、水电一样,取用方便,费用低廉。最大的不同在于,它是通过互联网进行传输的。

21.2.1 云计算的特点

云计算是一项交叉学科技术,所以它有许多的特点:

(1)计算资源集成提高设备计算能力。云计算把大量计算资源集中到一个公共资源池中,通过租用的方式共享计算资源。虽然单个用户在云计算平台获得服务水平受到网络带宽等各因素影响,未必获得优于本地主机所提供的服务,但是从整个社会资源的角度而言,整体的资源调控降低了部分地区峰值荷载,提高了部分荒废的主机的运行率,从而提高了资源利用率。

(2)分布式数据中心保证系统容灾能力。分布式数据中心可将云端的用户信息备份到地理上相互隔离的数据库主机中,甚至用户自己也无法判断信息的确切备份地点。该特点不仅仅提供了数据恢复的依据,也使得网络病毒和网络黑客的攻击失去目的性而变成徒劳,大大提高系统的安全性和容灾能力。

(3)软硬件相互隔离减少设备依赖性。虚拟化层将云平台上方的应用软件和下方的基础设备隔离开来。技术设备的维护者无法看到设备中运行的具体应用。同时对软件层的用户而言基础设备层是透明的,用户只能看到虚拟化层中虚拟出来的各类设备。这种架构减少了设备依赖性,也为动态的资源配置提供可能。

(4)平台模块化设计体现高可扩展性。目前主流的云计算平台均根据 SPI 架构在各层集成功能各异的软硬件设备和中间件软件。大量中间件软件和设备提供针对该平台的通用接口,允许用户添加本层的扩展设备。部分云与云之间提供对应接口,允许用户在不同云之间进行数据迁移。类似功能更大程度上满足了用户需求,集成了计算资源,是未来云计算的发展方向之一。

(5)虚拟资源池为用户提供弹性服务。云平台管理软件将整合的计算资源根据应用访问的具体情况进行动态调整,包括增大或减少资源的要求。因此云计算对于在非恒定需求的应用,如对需求波动很大、阶段性需求等,具有非常好的应用效果。在云计算环境中,既可以对规律性需求通过事先预测事先分配,也可根据事先设定的规则进行实时公台调整。弹性的云服务可帮助用户在任意时间得到满足需求的计算资源。

(6)按需付费降低使用成本。作为云计算的代表按需提供服务、按需付费是目前各类云计算服务中不可或缺的一部分。对用户而言,云计算不但省去了基础设备的购置运维费用,而且能根据企业成长的需要不断扩展订购的服务,不断更换更加适合的服务,提高了资金的利用率。

21.2.2 云计算的类型

云计算包括三种基本类型。

1.软件即服务

软件即服务(Software-as-a-Service,SaaS)是基于互联网提供软件服务的软件应用模式。作为一种在 21 世纪开始兴起的创新的软件应用模式,SaaS 是软件科技发展的最新趋势。 SaaS 提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无须购买软硬件、建设机房、招聘 IT 人员,即可通过互联网使用信息系统。就像打开自来水龙头就能用水一样,企业根据实际需要,从 SaaS 提供商租赁软件服务。

2.平台即服务

平台即服务(Platform-as-a-Service,PaaS)是把服务器平台或者开发环境作为一种服务提供的商业模式,如将软件研发的平台作为一种服务,以 SaaS 的模式提交给用户。因此,PaaS 也是 SaaS 模式的一种应用。但是,PaaS 的出现可以加快 SaaS 的发展,尤其是加快SaaS 应用的开发速度。早在 2007 年,国内外 SaaS 厂商就先后推出了自己的 PaaS 平台。

PaaS 之所以能够推进 SaaS 的发展,主要在于它能够提供企业进行定制化研发的中间件平台,同时涵盖数据库和应用服务器等。PaaS 可以提高在 Web 平台上利用的资源数量。

3.基础设施即服务

基础设施即服务(Infrastructure as a Service,IaaS)是指消费者通过 Internet 可以从完善的计算机基础设施获得服务,如《纽约时报》就使用成百上千台 Amazon EC2 实例在 36 小时内处理 TB 级的文档数据。如果没有 EC2,《纽约时报》处理这些数据将要花费数天或者数月的时间。

21.2.3 云计算的应用

云计算目前已应用到各个领域,大多大型电子商务企业近几年也将云计算的布局作为自己战略目标中的一个方面。下面将谈一谈具体的应用场景。

1.云安全

云安全(Cloud Security)是一个从"云计算"演变而来的新名词。云安全的策略构想是:使用者越多,每个使用者就越安全,因为如此庞大的用户群,足以覆盖互联网的每个角落,只要某个新木马病毒出现,就会立刻被截获。

"云安全"通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,推送到 Server 端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。

2.云存储

应用云存储是在云计算概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。

3.云呼叫

应用云呼叫中心是基于云计算技术而搭建的呼叫中心系统,企业无须购买任何软、硬件系统,只需具备人员、场地等基本条件,就可以快速拥有属于自己的呼叫中心,软硬件平台、通信资源、日常维护与服务由服务器商提供。具有建设周期短、投入少、风险低、部署灵活、系统容量伸缩性强、运营维护成本低等众多特点;无论是电话营销中心还是客户服务中心,企业只需按需租用服务,便可建立一套功能全面、稳定、可靠、座席可分布全国各地,全国呼叫接入的呼叫中心系统。

4.云会议

应用云会议是基于云计算技术的一种高效、便捷、低成本的会议形式。它是视频会议与云计算的完美结合,带来了最便捷的远程会议体验。使用者只需通过互联网界面,进行简单易用的操作,便可快速高效地与全球各地团队及客户同步分享语音、数据文件及视频,而会议中数据的传输、处理等复杂技术由云会议服务商帮助使用者进行操作。目前国内云会议大多以 SaaS 模式为主体,其服务内容包括电话、网络、视频等形式。

21.3 物联网

顾名思义,物联网(The Internet of Things,IoT)是实现物物相连的互联网络。其内涵包含两个方面:

第一,物联网的核心和基础仍然是互联网,是在互联网基础上延伸和扩展的网络;

第二,其用户端延伸和扩展到了任何物体与物体之间,使其进行信息交换和通信。

物联网是将无处不在的末端设备和设施,包括具备"内在智能"的传感器、移动终端、工业系统、楼控系统、家庭智能设施、视频监控系统等和"外在使能"的,如贴上 RFID 的各种资产、携带无线终端的个人与车辆等"智能化物件或动物"或"智能尘埃",通过各种无线、有线的长距离/短距离通信网络实现互联互通、应用大集成,以及基于云计算的 SaaS 营运等模式。提供安全可控乃至个性化的实时在线监测、定位追溯、报警联动、调度指挥、预案管理、远程控制、安全防范、远程维保、在线升级、统计报表、决策支持等管理和服务功能。实现对"万物"的"高效、节能、安全、环保"的"管、控、营"一体化。

21.3.1 物联网的层次结构

物联网可以分为三个层次,底层是用来感知数据的感知层,即利用传感器、二维码、RFID 等设备随时随地获取物体的信息。第二层是数据传输处理的网络层,即通过各种传感网络与互联网的融合,将物体当前的信息实时准确地传递出去。第三层则是与行业需求结合的应用层,即通过智能计算、云计算等对物体进行智能化控制。

1.感知层

感知层用于识别物体、采集信息。感知层包括二维码标签和识读器、RFID 标签和读写器、摄像头、GPS、传感器、M2M 终端、传感器网关等,主要功能是识别物体、采集信息,与人体结构中皮肤和五官的作用类似。

感知层解决的是人类世界和物理世界的数据获取问题。它首先通过传感器、数码相机等设备,采集外部物理世界的数据,然后通过 RFID、条码、工业现场总线、蓝牙、红外等短距离传输技术传递数据。感知层所需要的关键技术包括检测技术、短距离无线通信技术等。 对于目前关注和应用较多的 RFID 网络来说,附着在设备上的 RFID 标签和用来识别RFID 信息的扫描仪、感应器都属于物联网的感知层。在这一类物联网中被检测的信息就是RFID 标签的内容,现在的电子不停车收费系统(Electronic Toll Collection,ETC)、超市仓储管理系统、飞机场的行李自动分类系统等都用到了这个层次的设备。

2.网络层

网络层用于传递信息和处理信息。网络层包括通信网与互联网的融合网络、网络管理中心、信息中心和智能处理中心等。网络层将感知层获取的信息进行传递和处理,类似于人体结构中的神经中枢和大脑。

网络层解决的是传输和预处理感知层所获得数据的问题。这些数据可以通过移动通信网、互联网、企业内部网、各类专网、小型局域网等进行传输。特别是在三网融合后,有线电视网也能承担物联网网络层的功能,有利于物联网的加快推进。网络层所需要的关键技术包括长距离有线和无线通信技术、网络技术等。

物联网的网络层将建立在现有的移动通信网和互联网基础上。物联网通过各种接入设备与移动通信网和互联网相连,例如,手机付费系统中由刷卡设备将内置手机的 RFID 信息采集上传到互联网,网络层完成后台鉴权认证,并从银行网络划账。

网络层中的感知数据管理与处理技术是实现以数据为中心的物联网的核心技术,包括传感网数据的存储、查询、分析、挖掘和理解,以及基于感知数据决策的理论与技术。云计算平台作为海量感知数据的存储、分析平台,将是物联网网络层的重要组成部分,也是应用层众多应用的基础。在产业链中,通信网络运营商和云计算平台提供商将在物联网网络层占据重要的地位。

3.应用层

应用层实现广泛智能化。应用层是物联网与行业专业技术的深度融合,结合行业需求实现行业智能化,这类似于人们的社会分工。

物联网应用层利用经过分析处理的感知数据,为用户提供丰富的特定服务。物联网的应用可分为监控型(物流监控、污染监控)、查询型(智能检索、远程抄表)、控制型(智能交通、智能家居、路灯控制)和扫描型(手机钱包、高速公路不停车收费)等。 应用层解决的是信息处理和人机交互的问题。网络层传输而来的数据在这一层进入各类信息系统进行处理,并通过各种设备与人进行交互。这一层也可按形态直观地划分为两个子层。

一个是应用程序层,进行数据处理,它涵盖了国民经济和社会的每一领域,包括电力、医疗、银行、交通、环保、物流、工业、农业、城市管理、家居生活等,其功能可包括支付、监控、安保、定位、盘点、预测等,可用于政府、企业、社会组织、家庭、个人等。这正是物联网作为深度信息化的重要体现。另一个是终端设备层,提供人机接口。 物联网虽然是"物物相连的网",但最终要以人为本,还是需要人的操作与控制,不过这里的人机界面已远远超出现实中人与计算机交互的概念,而是泛指与应用程序相连的各种设备与人的交互。应用层是物联网发展的体现,软件开发、智能控制技术将会为用户提供丰富多彩的物联网应用。各种行业和家庭应用的开发将会推动物联网的普及,也给整个物联网产业链带来丰厚的利润。

21.3.2 物联网的相关领域与技术

正如前文所述,物联网是一种综合应用型技术,其发展离不开相关基础技术的进步。下面将介绍与物联网相关的一些技术。

1.射频识别技术

射频识别技术(Radio Frequency Identification,RFID),又称电子标签,是一种通信技术,可通过无线电信号识别特定目标并读写相关数据,而无须识别系统与特定目标之间建立机械或光学接触。该技术是物联网的一项核心技术,很多物联网应用都离不开它。

最初在技术领域,应答器是指能够传输信息、回复信息的电子模块,近些年,由于射频技术发展迅猛,应答器有了新的说法和含义,又称为智能标签或标签。RFID 电子阅读器(读写器)通过天线与 RFID 电子标签进行无线通信,可以实现对标签识别码和内存数据的读出或写入操作。典型的阅读器包含有高频模块(发送器和接收器)、控制单元及阅读器天线。

RFID 采用的是非接触的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。RFID 技术可识别高速运动物并可同时识别多个标签,操作快捷方便。这种系统一般由一个询问器(或阅读器)和很多应答器(或标签)组成。

RFID 的基本组成部分通常包括标签、阅读器和天线

(1)标签(Tag):由耦合元件及芯片组成,每个标签具有唯一的电子编码,附着在物体上标识目标对象。

(2)阅读器(Reader):读取(有时还可以写入)标签信息的设备,可设计为手持式或固定式。

(3)天线(Antenna):在标签和读取器间传递射频信号。

RFID 技术的基本工作原理并不复杂:标签进入磁场后,接收解读器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息(Passive Tag,无源标签或被动标签),或者由标签主动发送某一频率的信号(Active Tag,有源标签或主动标签),解读器读取信息并解码后,送至中央信息系统进行有关数据处理。

一套完整的 RFID 系统,是由阅读器与电子标签(即应答器)及应用软件系统三个部分组成的,其工作原理是 Reader 发射一特定频率的无线电波能量给 Transponder,用以驱动Transponder 电路将内部的数据送出,此时 Reader 便依序接收解读数据,送给应用程序作相应的处理。

以 RFID 卡片阅读器及电子标签之间的通信及能量感应方式来看大致上可以分成:感应耦合(Inductive Coupling)及后向散射耦合(Backscatter Coupling)两种。一般低频的 RFID 大都采用第一种方式,而较高频大多采用第二种方式。

阅读器根据使用的结构和技术不同可以是读或读/写装置,也是 RFID 系统信息控制和处理中心。阅读器通常由耦合模块、收发模块、控制模块和接口单元组成。阅读器和应答器之间一般采用半双工通信方式进行信息交换,同时阅读器通过耦合给无源应答器提供能量和时序。在实际应用中,可进一步通过 Ethernet 或 WLAN 等实现对物体识别信息的采集、处理及远程传送等管理功能。应答器是 RFID 系统的信息载体,目前应答器大多由耦合原件(线圈、微带天线等)和微芯片组成无源单元。

2.二维码技术

二维码(2-dimensional bar code)。它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的记录数据符号信息的黑白相间的图形。在代码编制上巧妙地利用构成计算机内部逻辑基础的"0"、"1"比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备自动识读以实现信息自动处理。

二维码具有条码技术的一些共性:每种码制有其特定的字符集、每个字符占有一定的宽度、具有一定的校验功能等。同时还具有对不同行的信息自动识别功能及处理图形旋转变化等特点。

在许多种类的二维条码中,常用的码制有 Data Matrix、Maxi Code、Aztec、QR Code、Vericode、PDF417、Ultracode、Code 49、Code 16K 等,QR 码是 1994 年由日本 Denso-Wave 公司发明的。QR 来自英文 Quick Response 的缩写,即快速反应的意思,源自发明者希望 QR 码可让其内容快速被解码。QR 码最常见于日本、韩国,是目前日本最流行的二维空间条码。

二维条码/二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息。其信息量远远超过原来的条码技术,原来的条码技术仅能存储十多个字符,而二维码存储容量可达数千字符。以 PDF417 编码格式为例:若采用扩展的字母数字压缩格式,可容纳 1850 个字符;若采用二进制/ASCII 格式,可容纳 1108 字节;若采用数字压缩格式,可容纳 2710 个数字。

3.传感网

传感网是由随机分布的,集成有传感器(传感器有很多种类型,包括温度、湿度、速度、气敏等)、数据处理单元和通信单元的微小节点,通过自组织的方式构成的无线网络。 传感网借助于节点中内置的传感器测量周边环境中的热、红外、声呐、雷达和地震波信号,从而探测包括温度、湿度、噪声、光强度、压力、土壤成分、移动物体的大小、速度和方向等物质现象。它给我们的生活带来了深刻的变化。然而在目前,网络功能再强大,网络世界再丰富,也终究是虚拟的,它与我们所生活的现实世界还是相隔的,在网络世界中,很难感知现实世界,很多事情还是不可能的,时代呼唤着新的网络技术。传感网络正是在这样的背景下应运而生的全新网络技术,它综合了传感器、低功耗、通信及微机电等技术,将现实的世界与虚拟的网络世界联系起来,达到很多意想不到的效果。目前传感网技术已广泛应用于石油、化工、电力、医药、生物、航空、航天、国防、能源、冶金、电子等众多行业。可以预见,在不久的将来,传感网络将给我们的生活方式带来革命性的变化。

4.M2M

简单地说,M2M 是将数据从一台终端传送到另一台终端,也就是机器与机器(Machine to Machine)的对话。但从广义上讲 M2M 可代表机器对机器(Machine to Machine)、人对机器(Man to Machine)、机器对人(Machine to Man)、移动网络对机器(Mobile to Machine)之间的连接与通信,它涵盖了所有实现在人、机器、系统之间建立通信连接的技术和手段。

M2M 强调的是在商业活动中通过移动通信技术和设备的应用变革既有商务模式或创造出新商务模式,是机器设备间的自动通信。现在,M2M 应用遍及电力、交通、工业控制、零售、公共事业管理、医疗、水利、石油等多个行业,对于车辆防盗、安全监测、自动售货、机械维修、公共交通管理等,M2M 可以说是无所不能。

M2M 不是简单的数据在机器和机器之间的传输,更重要的是,它是机器和机器之间的一种智能化、交互式的通信。也就是说,即使人们没有实时发出信号,机器也会根据既定程序主动进行通信,并根据所得到的数据智能化地作出选择,对相关设备发出正确的指令。可以说,智能化、交互式成为了 M2M 有别于其他应用的典型特征,这一特征下的机器也被赋予了更多的"思想"和"智慧"。

M2M 的发展前景非常好,因为在当今世界上,机器的数量至少是人的数量的 4 倍以上,机器将替代人做更多的事情,这意味着巨大的市场潜力。在国内,也有一些企业很早就开始应用 M2M 技术。三一重工对 M2M 的应用比较成功,三一重工在其销往全球各地的工程机械(关键部位或关键部件)上加装数据采集终端。

机械的运行数据通过电信运营商网络汇总到三一集团企业控制中心(Enterprise Control Center,ECC),实现对工程设备作业状况的实时监控。这样,企业控制中心可以随时发现设备运行中存在的问题(如工程机械设备上智能设备控制器检测到的油温、转速、工作压力等运行数据信息异常),并就问题立即指导客户排除故障或派出维修人员上门服务。

21.3.3 物联网的应用

物联网可以看作人类与应用系统现有互动方式的延伸,而这种延伸是通过物体通信与集成的新层面实现的。物联网将对传统的数据采集系统和局部自动辨识系统的性能有所要求,进而提升各类应用系统的价值。具体地说,就是把感应器嵌入和装备到电网、铁路、桥梁、隧道、公路、建筑、供水系统、大坝、油气管道等各种物体中,然后将物联网与现有的互联网整合起来,实现人类社会与物理系统的整合,在这个整合的网络当中,存在能力超级强大的中心计算机群,能够对整合网络内的人员、机器、设备和基础设施实施实时的管理和控制,在此基础上,人类可以以更加精细和动态的方式管理生产和生活,达到"智慧"状态,提高资源利用率和生产力水平,改善人与自然间的关系。

物联网用途广泛,遍及智能交通、环境保护、政府工作、公共安全、平安家居、智能消防、工业监测、老人护理、个人健康等多个领域。在生产生活中的应用举不胜举,下面简述几个比较典型的应用。

目前食品安全是一个被大众所关注的主题,即便是超市的食品,人们也很难弄清楚这些食品的来源,以及相关情况。当物联网体系建立好以后,超市里销售的禽、肉、蛋、奶,在包装上可以嵌入微型感应器,顾客只需用手机扫描,就能了解食品的产地和转运、加工的时间地点,甚至还能显示加工环境的照片,是否绿色安全,一目了然。

在医疗方面,也可以应用物联网。将传感器嵌入到家人的手表里,即使用户在千里之外,也可以随时掌握家人的体征。用这种方法,医生也可以随时随地了解病人的体征,为病人诊断看病。

如果在汽车和汽车钥匙上都植入微型感应器,酒后驾车现象就可能被杜绝。当喝了酒的司机掏出汽车钥匙时,钥匙能通过气味感应器察觉到酒气,并通过无线信号通知汽车"不要发动",汽车会自动罢工,并能够"命令"司机的手机给其亲友发短信,通知他们司机所在的位置,请亲友们来处理。

相关推荐
计算机毕设指导614 分钟前
基于 SpringBoot 的作业管理系统【附源码】
java·vue.js·spring boot·后端·mysql·spring·intellij-idea
Gu Gu Study16 分钟前
枚举与lambda表达式,枚举实现单例模式为什么是安全的,lambda表达式与函数式接口的小九九~
java·开发语言
Chris _data18 分钟前
二叉树oj题解析
java·数据结构
牙牙70524 分钟前
Centos7安装Jenkins脚本一键部署
java·servlet·jenkins
paopaokaka_luck32 分钟前
[371]基于springboot的高校实习管理系统
java·spring boot·后端
以后不吃煲仔饭44 分钟前
Java基础夯实——2.7 线程上下文切换
java·开发语言
进阶的架构师1 小时前
2024年Java面试题及答案整理(1000+面试题附答案解析)
java·开发语言
The_Ticker1 小时前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
大数据编程之光1 小时前
Flink Standalone集群模式安装部署全攻略
java·大数据·开发语言·面试·flink
爪哇学长1 小时前
双指针算法详解:原理、应用场景及代码示例
java·数据结构·算法