物联网技术概论(第3版)
上QQ阅读APP看书,第一时间看更新

2.4 应用层

应用是整个物联网运行的驱动力,提供服务是物联网建设的价值所在。应用层的核心功能和任务在于站在更高的层次上组合、管理、运用资源。本节将介绍应用层的业务模式和流程,服务资源和服务质量。

2.4.1 业务模式和流程

服务是一个或多个分布式业务流程的组成部分。

1.业务模式

目前,物联网相关业务可以分为以下3种模式,分别是业务订制模式、公共服务模式和灾害应急模式。

(1)业务订制模式

在业务订制模式下,用户需要自己查询、确定业务的类型和内容。业务订制模式主要包含业务订制和业务退订两个过程。

用户可以通过主动查询和信息推送两种方式,获知物联网系统提供的业务类型以及业务内容。

图2-11显示了业务订制过程的主要环节。用户挑选业务类型,确定业务内容后,向物联网应用系统订制业务。物联网应用系统受理业务请求后,会确认业务已成功订制。然后建立用户与所订制业务的关联,并将业务相关的操作以任务形式交付后台执行。任务执行返回的数据或信息由应用系统反馈给用户。

图2-12显示了业务退订过程的主要环节。用户向物联网应用系统提交需要退订的业务类型和内容。应用系统受理业务退订的请求,解除用户与业务之间的关联,之后会给用户一个确认,表示业务已经成功退订。

图2-11 业务订制过程

图2-12 业务退订过程

业务订制模式的典型例子包括个人用户向物联网应用系统订制气象服务信息、交通拥堵服务信息等。企业用户向物联网应用系统订制的服务包括智能电网、工业控制等。

(2)公共服务模式

在公共服务模式下,通常由政府或非盈利组织建立公共服务的业务平台,在业务平台之上定义业务类型、业务规则、业务内容、业务受众等。

与业务订制模式不同,公共服务模式有以下特点。

● 无需订制:公共服务的业务平台会自动将有效业务受众与相关业务进行关联,推送业务信息。

● 无需付费:业务受众无需向所享有的公共服务支付任何费用。

图2-13显示了物联网公共服务业务平台的系统结构。业务平台的核心层包括业务规则、业务逻辑和业务决策3个组件,这3个组件之间彼此关联、相互协调,保证公共服务业务顺利、有效地运行。此外,业务逻辑组件与信息收集系统相连;业务决策组件与指挥调度系统、信息发布系统相连。信息收集系统、指挥调度系统和信息发布系统处在外围层,因为这3种系统可以由第三方厂商提供。

图2-13 物联网公共服务业务平台系统结构

公共服务模式的典型例子包括公共安全系统、环境监测系统等,这些系统无时无刻不在为城市居民提供服务。

(3)灾害应急模式

随着突发自然灾害和社会公共安全复杂度的不断提高,应急事件会更复杂,牵涉面也会越来越广,这为灾害应急模式下的物联网系统的设计提出了更高的要求。

典型的灾害应急模式的物联网应用场景包括地震、泥石流等。

图2-14显示了灾害应急物联网系统的结构。

图2-14 灾害应急物联网系统结构

在通信业务层面,物联网系统必须提供宽带和多媒体通信服务。将语音、数据和视频等融合于一体,为指挥中心和事发现场之间提供反映现场真实情况的宽带音视频通信手段,支持应急响应指挥中心和现场多个车载指挥系统之间的高速数据、语音和视频通信,支持对移动目标的实时定位。

在通信建立层面,物联网系统必须支持无线和移动通信方式。由于事发现场的不确定性,应急联动指挥平台必须具备移动(或准移动)的性能,具备在任何地方、任何时间均能和指挥中心共享信息的能力,减少应急呼叫中心对固定场所的依赖,提高应急联动核心机构在紧急情况下的机动能力。

在信息感知层面,物联网系统必须实现对应急事件多元信息的采集和报送,并与应急联动综合数据库和模型库的各类信息相融合,形成较完备的事件态势图。再结合电子地图,基于信息融合和模糊动态预测技术,对突发性灾害发展趋势(如火险蔓延方向、蔓延速率、危险区域等)进行动态预测,进而为辅助决策提供科学依据,有效地协调指挥救援。

2.业务描述语言

(1)XML

XML实际上是目前通用的表示结构化信息的一种标准文本格式,它没有复杂的语法和包罗万象的数据定义。XML同HTML一样,都来自SGML(标准通用标记语言)。SGML是一种在Web发明之前就早已存在的,用标记来描述文档资料的通用语言。但SGML十分庞大且难以学习和使用。于是Web标准化组织W3C建议使用一种精简的SGML版本——XML。XML与SGML一样,是一个用来定义其他语言的元语言。与SGML相比,XML规范不到SGML规范的1/10,简单易懂,是一种既无标签集也无语法的新一代标记语言。图2-15所示为一段XML代码。

图2-15 XML代码片段

XML具有许多明显的优点:

● 可扩展性。这一点至关重要。企业可以用XML为电子商务和供应链集成等应用定义自己的标记语言,还可以为特定行业定义该领域的特殊标记语言,作为该领域信息共享与数据交换的基础。

● 灵活性。XML提供了一种结构化的数据表示方式,使得用户界面分离于结构化数据。所以,Web用户所追求的许多先进功能在XML环境下更容易实现。

● 自描述性。XML文档通常包含一个文档类型声明,因而XML文档是自描述的。不仅人能读懂XML文档,计算机也能处理。XML表示数据的方式真正做到了独立于应用系统,并且数据能够重用。XML文档被看作是文档的数据库化和数据的文档化。

除了上述先进特性以外,XML还具有简明性。它只有SGML约20%的复杂性,但却具有SGML功能的约80%。XML比完整的SGML简单得多,易学、易用并且易实现。另外,XML也吸收了人们多年来在Web上使用HTML的经验。

XML支持世界上几乎所有的主要语言,并且不同语言的文本可以在同一文档中混合使用,应用XML的软件能处理这些语言的任何组合。所有这一切将使XML成为数据表示的一个开放标准,这种数据表示独立于机器平台、供应商以及编程语言。

从1998年开始,XML被引入许多网络协议,以便于为软件提供相互通信的标准方法。简单对象访问协议(SOAP)和XML-RPC规范为软件交互提供了独立于平台的方式,从而为分布式计算环境打开了大门。

(2)UML

软件工程领域在1995~1997年取得的最重要的、具有划时代意义的成果之一就是统一建模语言(Unified Modeling Language,UML)的出现。UML是用来对软件密集系统进行描述、构造、可视化和文档编制的一种语言。图2-16给出了一种UML的使用范例。

图2-16 UML使用范例

● 首先也是最重要的一点,UML融合了Booch、OMT和OOSE方法中的概念,它是可以被上述及其他方法的使用者广泛采用的简单、一致、通用的建模语言。

● UML扩展了现有方法的应用范围。特别值得一提的是,UML的开发者们把并行分布式系统的建模作为UML的设计目标,也就是说,UML具有这方面的能力。

● UML是标准的建模语言,而不是一个标准的开发流程。虽然UML的应用必然以系统的开发流程为背景,但根据现有开发经验,不同的组织、不同的应用领域需要不同的开发过程来建立自身的UML模型。

UML的重要内容可以由下列5类图来定义。

● 第一类是用例图(Use Case Diagram),从用户角度描述系统功能,并指出各功能的操作者。

● 第二类是静态图(Static Diagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构,不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,还包括类的内部结构(类的属性和操作)。

● 第三类是行为图(Behavior Diagram),描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。其中,状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件;活动图描述满足用例要求所要进行的活动以及活动间的约束关系。

● 第四类是交互图(Interactive Diagram),描述对象间的交互关系,包括顺序图和合作图。其中,顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序;合作图描述对象间的协作关系,合作图与顺序图相似,也显示对象间的动态合作关系。

● 第五类是实现图(Implementation Diagram)。其中的构件图描述代码部件的物理结构及各部件之间的依赖关系。

(3)BPEL

业务过程执行语言(Business Process Execution Language,BPEL)是一种基于XML的,用来描写业务过程的编程语言,被描写业务过程的每个单一步骤则由Web服务来实现。

2002年,IBM公司、BEA公司和微软公司一起开发和引入了BPEL作为描写协调Web服务的语言。这个描写的本身也由Web服务提供,并可以当作Web服务来使用。

BPEL模型有助于更好地理解如何使用BPEL描述的业务流程,如图2-17所示。流程(Process)由一系列活动(Activity)组成,流程通过伙伴链接(Partner Link)来定义与流程交互的其他服务;服务中可以定义一些变量(Variable);流程引擎可以通过关联集合(Correlation Set)将一条消息关联到特定的流程实例。

图2-17 BPEL模型示意图

相对于对象组装技术,服务组装更为复杂。服务之间的交互关系是动态的、按需发生的,而且缺少中央控制。因此,BPEL提供的服务组装模型提供了下列特性。

● 灵活性:服务组装模型应该具有丰富的表现能力,能够描述复杂的交互场景,而且能够快速地适应变化。

● 嵌套组装:一个业务流程可以表现为一个标准的Web服务,并被组装到其他流程或服务中,构成更粗粒度的服务,这样做提高了服务的可伸缩性和重用性。

● 关注点分离:BPEL只关注与服务组装的业务逻辑;其他关注点,比如服务质量(Quality of Service,QoS)、事务处理等,可作为附加扩展,由具体实现平台进行处理。

● 会话状态和生命周期管理:与无状态的Web服务不同,一个业务流程通常具有明确的生命周期模型。BPEL提供了对长时间运行的、有状态交互的支持。

● 可恢复性:这对于业务流程(尤其对长时间运行的流程)是非常重要的。BPEL提供了内置的失败处理和补偿机制,对于可预测的错误进行必要的处理。

3.业务流程

业务流程与系统相似,拥有物理结构、功能组织以及试图实现既定目标的协作行为。业务流程的组件(也称为参与者)是业务流程相关的人和系统。参与者具有物理结构,能按照功能进行组织,并相互协作产生业务流程的预期结果。

在某种意义上,流程执行完成得到的结果必须是可度量和可计量的,因为只有通过度量,人们才能判断流程是否成功完成预期目标;只有通过计量,人们才可以判断流程是否符合设定的标准。业务流程在本质上是交付特定结果的行动方案,事实上预期产生的结果是业务流程设计和规划的出发点。

从业务流程开发者的角度看,设计和规划业务流程时,需要考虑如下的关键问题:

● 定义业务流程的组件和服务;

● 为组件和服务分配活动职责;

● 确定组件和服务之间所需的交互;

● 确定业务流程组件与服务的网络地理位置;

● 确定组件之间的通信机制;

● 决定如何协调组件和服务的活动;

● 定期评估业务流程,判断它是否符合需求。

面向服务架构(Service-Oriented Architecture,SOA)是一种将信息系统模块化为服务的架构风格。一条业务流程是一个有组织的任务集合,SOA内在的思想就是用被称为服务的组件来执行各个任务。

图2-18给出了SOA中定义的服务层次和扩展阶段的关系,可以分为以下三个阶段。

图2-18 基础服务层次和SOA扩展阶段

● 第一个阶段只有基本服务。每个基本服务提供一个基本的业务功能,并且这个基本功能不会被进一步拆分。基本服务可以分为基本数据服务和基本逻辑服务两类。

● 第二个阶段在基本服务之上增加了组合服务。组合服务代表了由其他服务(基本和/或其他组合服务)组合而成的服务。组合服务的运行层次要高于基础服务。

● 第三个阶段在第二个阶段的基础上增加了流程服务。流程服务代表了长期的工作流程或业务流程。从业务的观点来看,业务流程是可中断的、长期运行的服务流。与基本服务、组合服务不同,流程服务通常有一个状态,该状态在多个调用之间保持稳定。

在成功的SOA中,设计开发人员可以迅速地将服务按不同方式重新组合,从而实现新的或更好的业务流程。基于SOA的思路进行业务流程的建模、设计,是业界推崇的方法,也是业务流程设计的一个重要原则。

目前,成熟的物联网产业链还未形成,因此很难概括出物联网业务流程的独有特点。根据业务流程管理(Business Process Management)提供的准则和方法,物联网业务流程应包含以下三个层次。

● 业务流程的建立:根据预期的输出结果整理业务流程的具体需求;定义各种具体的业务规则;划分业务中各参与者的角色,并为它们分配功能职责;设计和规划出详细的业务方案,并协调参与者之间的交互。

● 业务流程的优化:由于市场环境、用户群的变化,所提供的功能和服务也应随之调整变化。优化过程中,需要注意去除无用流程环节、低效流程环节和冗余流程环节,增加必须的新环节,之后重新排列各环节之间的顺序,形成优化之后的业务流程。

● 业务流程的重组:相对于业务流程优化,业务流程重组是更为彻底的变革行动。对原有流程进行全面的功能和效率分析,发现存在的问题;设计新的业务流程改进方案,并进行评估;制定与新流程匹配的组织结构和业务规范,使三者形成一个体系。

目前,市场上出现了很多帮助企业用户进行业务流程建模、分析和管理的系统软件。提供业务流程系统软件的国外公司包括IBM、Microsoft、BEA、Oracle、SAP等,国内公司包括金蝶软件、神州数码等。

2.4.2 服务资源

物联网系统的服务资源包括标识、地址、存储资源、计算能力等。

1.标识

在许多系统和业务中,都需要对不同的个体进行区分。应对这种需求的方法就是给每个对象起一个唯一的名字。这种名字称为标识(Identifier)。标识只是为每个对象创建和分配唯一的号码或字符串。之后,这些标识就可以用来代表系统中的每个对象。

大多数在物理世界中存在的实体并未真正出现在抽象的逻辑环境中。如果要在逻辑环境中为物理实体分配角色,描述它们的行为,必须将物理实体和标识关联起来。在标识和物理实体进行关联之前,标识本身并没有任何意义。

一个标识符代表唯一一个对象,说明标识符所包含的可以量化的值具有唯一性。但是,不排除一个对象在不同的系统中扮演不同的角色,这样的对象通常具有多种类型的标识符。例如,一个自然人在不同的社会组织结构里有不同的身份,作为一个国家的公民,可以拥有唯一的身份证编号;作为一个学校的学生,可以拥有唯一的学号。因此,标识符的唯一性是针对某一种特定的标识符类型而言的。

组成物联网的设备种类繁多,数量巨大、为保证任何设备在身份上的唯一性,需要设立一个标识管理中心。标识管理中心的两个基本职责是:

● 分配唯一标识符;

● 关联标识符和它们应该标识的对象。

初级的唯一标识符分配是一项相对简单的任务。通常的做法是,指定管理中心在数据库中维护一个标识符列表,然后确保每个分配的新标识符不在数据库中引发冲突即可。但是,只有一个标识管理中心有时是不现实的。因此,实际中多使用层次标识符。

全局唯一标识符(Universally Unique Identifier,UUID)属于层次标识符。创建UUID的方法很多,著名的有GUID标准和OID标准。

(1)GUID标准

一个GUID(Globally Unique Identifier)是长度为128位的二进制数字序列。GUID使用计算机网卡(NIC)的48位MAC地址作为发放者的唯一标识符。MAC地址本身包含两部分的24位编码。第一部分标识了网卡制造商,它的标识管理中心是IEEE注册管理中心;MAC地址的其余部分由制造商唯一分配,并唯一标识网卡,制造商因此就成了MAC地址第二部分的标识管理中心。

GUID的其余部分(唯一标识对象的部分)是从公历开始到分配标识符时刻之间流逝的时间(以100ns为间隔进行度量),它将作为单个对象标识符。只要被分配了MAC地址的机器不在两个100ns之间产生多个标识符,就将为每个对象产生唯一的标识符。

图2-19显示了GUID的结构。

图2-19 GUID的结构

从GUID的结构组成,可以明显地看出涉及3个层次的标识管理中心:

● IEEE注册管理中心分配网卡制造商的标识符,该标识符是分配给网卡MAC地址的第一部分。

● 制造商发放各个网卡的标识符,该标识符是分配给网卡MAC地址的第二部分。

● 负责分配GUID的组件运行在一台计算机上。组件使用计算机MAC地址,加上计算机时钟确定的值,生成一个完整的GUID,用于标识特定对象。

(2)OID标准

对象标识符(Object Identifier,OID),目前已经成为ISO和ITU标准工作组的对象标识方法。整个OID标识体系呈现树形结构,从树根上分出3支,分别代表ITU-T标准工作组、ISO标准工作组以及ITU-T和ISO联合工作组。图2-20显示了代表中国的OID分支在OID标识体系中的位置。

OID标识体系具有以下特点:

● OID标识树形结构由弧和节点组成,两个不同节点由弧连接。

● 树上的每个节点代表一个对象,每个节点必须被编号,编号范围为0至无穷大。

● 每个节点可以生长出无穷多的弧,弧的另一端节点用于表示根节点分支之下的对象。

图2-20 OID标识体系

OID标识符需要注册登记之后才能生效。国际范围内OID注册公示网站的网址是http://www.oid-info.com,可以查询已分配OID标识符所关联的对象。在中国负责接受国内各企业和机构OID注册申请的单位是国家OID注册中心,它受理OID注册申请,负责已分配OID的公示等,注册中心网站的网址是http://www.china-oid.org.cn。

SNMP(Simple Network Management Protocol)是IETF工作组定义的一套网络管理协议。SNMP的管理信息库即MIB(Management Information Base)是一种树形结构,就是OID体系中的一个重要组成部分。在MIB中,一个OID表示一个特定的SNMP目标。

2.地址

地址包含了网络拓扑信息,用于标识一个设备在网络中的位置。对于网络中的一个设备,标识符用于唯一标识它的身份,其不随设备的接入位置变化而发生改变;而设备的地址是由其在网络中的接入位置决定的。标识如同人的名字,地址如同人的家庭住址。一个人搬家后,家庭住址会发生改变,而人的名字通常不会因搬家而变更。

标识符只保证被标识对象的身份唯一性,标识符的结构呈现扁平特点,没有内部结构,无法进行聚合,导致可扩展性不好。地址则需要采用层次性的名字空间,体现一定的拓扑结构,层次名字空间包含一定的结构特性,有利于聚合。

在OSI参考模型中,第二层数据链路层使用MAC地址,第三层网络层使用IP地址。为了更好地保证设备的唯一性,IEEE提出将48位的MAC地址扩展为64位的EUI-64地址。但是,无论是MAC地址还是EUI-64地址,它们都属于标识的范畴。因为名字空间的扁平特性,这两种数据链路层的地址都无法用于大范围的网络寻址。

IP地址是目前使用最广泛的网络地址。互联网现在使用IP地址既表示节点的位置信息,又表示节点的身份信息,混淆了地址和标识的功能界限,也就是所谓的IP地址语义过载。因此,在这里有必要指出的是,IP地址的功能是用于互联网中进行分组路由,而非标识一个网络设备的身份。

根据IP协议的版本不同,IP地址对应地存在两个版本,即IPv4地址和IPv6地址。

IPv4地址长度是32位。为方便人们使用,IPv4地址以字节为单位划分成4段,用符号“ .”区分不同段的数值,将段数值用十进制表示。例如,“149.15.230.45”就是一个IPv4地址。最初,为构建层次化的网络以及高效寻址,IPv4地址被分为5类。A类地址首位是0,B类地址前2位是10,C类地址前3位是110,D类地址前4位是1110,E类地址前5位是11110。

IPv6地址长度是128位。相对于IPv4地址,使用IPv6地址增加了分组的开销,但巨大的地址空间足以支持未来许多年的需求。做一个简单的对比,假设地址分配效率可以达到100%,IPv4潜在地可以寻址40亿个节点,而IPv6潜在地可以寻址3.4×1038个节点。

IPv6地址被划分为以下3个类别。

● 单播地址:单播地址是点对点通信时使用的地址,此地址仅标识一个网络接口。网络负责将对单播地址发送的分组送到该网络接口上。

● 组播地址:组播地址表示主机组。严格地说,它标识一组网络接口,该组包括属于不同系统的多个网络接口。当分组的目的地址是组播地址时,网络尽可能将分组发到该组的所有网络接口上。

● 任播地址:任播地址也标识接口组,它与组播的区别在于发送分组的方法。向任播地址发送的分组并未被发送给组内的所有成员,而只发给该地址标识的“最近”的那个网络接口。它是IPv6新加入的功能。

从32位扩大到128位,不仅能够保证为数以亿万计的主机编址,而且也为在等级结构中插入更多的层次提供了余地。在IPv4中,只有网络、子网和主机3个基本层次,而IPv6地址的层次可以多很多。

表2-2给出了IPv6地址的初始分配情况。从表中可以看到,显然有大量地址空间(多于70%)尚未分配,留给未来的发展和新增加的功能。地址空间中的两个部分(0000 01和0000 010)被保留给其他(非IP)地址方案。网络服务访问点(Network Service Access Point,NSAP)地址由ISO的协议使用,互联网分组交换(Internet Packet Exchange,IPX)地址由Novell网络层协议使用。

表2-2 IPv6地址的初始分配情况

3.存储资源

随着科技的进步,人们制造数据的方式千变万化,制造出来的数据量也在高速增长。例如,图书馆里保存的大量书籍、论文资料;互联网上的多媒体业务、电子商务等;生物、大气、高能物理等大型科学实验产生的数据。

存储数据是进一步使用、加工数据的基础和必要前提,也是保存、记录数据的重要方法。常用的存储介质包括磁盘和光盘。衡量存储介质性能的重要指标包括存储容量和访问速度。

(1)磁盘

磁盘属于计算机的外部存储器,如硬盘。硬盘的物理外观是一个方形的密封盒子里放有圆形的磁性盘,密封盒子用于保护磁盘不被划伤,避免数据丢失。

硬盘接口有以下几种。

● ATA(Advanced Technology Attachment):是用传统的40针脚并口数据线连接主板与硬盘。具体分为Ultra-ATA/100和Ultra-ATA/133两种,表示硬盘接口的最大传输速率分别是100MB/s和133MB/s。

● SATA(Serial ATA):SATA也称为串口硬盘,仅使用4支针脚就能完成所有的工作,分别用于连接电缆、连接地线、发送数据和接收数据,这样的结构可以降低系统能耗和系统复杂性。SATA定义的数据传输速率可达到150MB/s。

● SATA2:SATA2是在SATA基础上发展起来的,它采用了原生命令队列(Native Command Queuing,NCQ)技术,对硬盘的指令执行顺序进行优化,引导磁头以高效率的顺序进行寻址,避免磁头反复移动带来的损耗,延长磁盘的寿命。SATA2的数据传输速率可以达到300MB/s。

硬盘记录密度决定了可以达到的硬盘存储容量。东芝公司最新展示的2.5英寸(in)硬盘每平方英寸可以记录数据2TB,希捷公司最新展示的硬盘每平方英寸可以记录10TB的数据。

为打破单个硬盘存储容量的限制,磁盘阵列的概念被提了出来。磁盘阵列是由很多价格较低、容量较小、稳定性较高、速度较慢的磁盘,组合成一个大型的磁盘组,利用个别磁盘提供数据所产生的加成效果,提升整个磁盘系统在存储容量和访问速度两方面的性能。

(2)光盘

光盘是不同于磁性载体的光学存储介质。根据光盘结构,光盘主要分为CD、DVD、蓝光光盘等。这几种光盘的主要结构原理一样,区别在于光盘的厚度和用料。

一般而言,光盘的记录密度受限于读出的光点大小,即光学的绕射极限(Diffraction Limit),其中包括激光波长、物镜的数值孔径。缩短激光波长、增大物镜数值孔径可以缩小光点,提高记录密度。

读取和烧录CD、DVD、蓝光光盘的激光是不同的。例如,读出CD时,激光波长为780nm,物镜数值孔径为0.45;读出DVD时,激光波长为650nm,物镜数值孔径为0.6;读出蓝光光盘时,激光波长为405nm,物镜数值孔径为0.85。激光光束的不同导致了光盘容量的差别,CD的容量只有700MB左右,DVD则可以达到4.7GB,而蓝光光盘可以达到25GB。

最近,日本东京大学的研究团队在研究中发现了一种材料,可以用来制造更便宜、容量更大的超级光盘。这种材料是一种透明的新型氧化钛,平常是能导电的黑色金属状态,在受到光的照射后会转变成棕色的半导体。在室温下受到光的照射,能够任意在金属和半导体之间转变,因而产生储存数据的功能。由这种材料制成的超级光盘的容量可达到25000GB,即25TB,这表明超级光盘的容量是蓝光光盘的1000倍。

4.计算能力

计算是分析、处理数据的基本操作。由于具有高速数值计算和逻辑计算能力,电子计算机已经成为信息时代不可缺少的基础和重要的工具。除了保证计算结果的正确性,谈及计算能力更多的是强调电子计算机的计算速度。

目前,为提高计算机的计算能力的研究方向主要有两个,一个是研制超级计算机,另外一个是研究新型计算机。

(1)超级计算机

超级计算机通常是指由数百数千甚至更多的处理器组成的、能计算普通计算机不能完成的大型复杂课题的计算机。为更好地理解超级计算机的运算速度,将普通计算机的运算速度比做人的走路速度,那么超级计算机就达到了火箭的速度。

表2-3中列出了2020年6月公布的国际超级计算机排名的前10位,表格中“最高运算速度”和“运转速度峰值”的单位是Tflo/s,即每秒1012次浮点运算。可以看到,中国的超级计算机占有前10名中的两席。

表2-3 2020年6月公布的国际超级计算机前10名

(2)新型计算机

新型计算机包括生物计算机、量子计算机和光子计算机。下面简单列举各种计算机的特点。

生物计算机又称仿生计算机,是以生物芯片取代在半导体硅片上集成数以万计的晶体管制成的计算机。生物计算机芯片本身还具有并行处理的能力,其运算速度要比当今最新一代的计算机快10万倍。用蛋白质制成的计算机芯片,它的一个存储点只有一个分子大小,所以它的存储容量可以达到普通计算机的10亿倍。

量子计算机是利用原子所具有的量子特性,进行信息处理的一种全新概念的计算机。如果将一群原子聚在一起,它们不会像电子计算机那样进行线性运算,而是同时进行所有可能的运算。只要40个原子一起计算,就相当于今天一台超级计算机的性能。量子计算机以处于量子状态的原子作为中央处理器和内存,其运算速度可能比目前的奔腾4芯片快10亿倍,就像一枚信息火箭,在一瞬间搜寻整个互联网,可以轻易破解任何安全密码。

光子计算机是一种由光信号进行数字运算、逻辑操作、信息存储和处理的新型计算机。光子计算机的基本组成部件是集成光路,要有激光器、透镜和核镜。由于光子比电子速度快,光子计算机的运行速度可高达一万亿次每秒,它的存储量是现代计算机的几万倍。

虽然,上述新型计算机是未来计算机发展的重要方向,揭示了人类能获得的计算能力还有大幅度的提升空间,但是新型计算机目前还处于实验室研究阶段,距离大规模的成熟的商业应用还有很长的距离。

2.4.3 服务质量

物联网的服务质量可以分别从通信、数据和用户3个方面来细分,下面做进一步的描述和解释。

1.通信为中心的服务质量

(1)时延

时延是指一个报文或分组从一个网络的一端传输到另一端所需要的时间。它包括了发送时延、传播时延、处理时延、排队时延。图2-21展示了不同种类的时延和它们在通信中产生的位置。

图2-21 时延种类与产生位置

发送时延,在排队论中也称为服务时延,指一个分组从成为发送队列中第一个分组起,至该分组被完全发送出去所需要的时间。发送时延通常由媒体访问机制决定。例如,当媒体访问机制是时分多址(TDMA)时,分组的发送时延为一轮调度周期;当媒体访问机制是载波侦听多路访问(CSMA)时,分组的发送时延为节点竞争接入信道的时延。频分多址(FDMA)和码分多址(CDMA),这两种媒体访问机制的本意,就是让所有节点并发、同时地进行通信,发送时延的问题不是太明显。

传播时延是指电磁波在空气和电缆、光波在光缆等传输媒质中传播需要的时间。在普通的传输媒质中,电磁波的传播速度通常都是在每秒29万千米以上。大多数情况下,通信距离为几到几千千米,因此传播时延的量级一般为0.03秒甚至更短。

处理时延是指网络节点对分组进行的解析、读取、存储和处理所占用的时间。影响处理时延的因素主要包括数据的读取和存储速度、指令的执行速度以及硬件的响应速度。处理时延通常是用于衡量硬件性能的重要指标。相对于其他3类时延,处理时延可以忽略不计。

网络节点一般都配有数据缓冲区,用于存储等待发送的分组。通常,数据缓冲区是一个先入先出的队列,因此分组进入数据缓冲区也可以形象地比喻为“排队”。

排队时延是指从一个分组进入数据缓冲区开始,至该分组排到队列中的第一位所需要的时间。很显然,一个分组的排队时延与两个因素有关:第一个因素是该分组进入数据缓冲区时数据缓冲区中已有的分组数目;第二个因素是队列中先于该分组的其他分组的发送时延的长短。如果一个分组的排队时延很大,则可以推断缓冲区积压的分组过多,或者每个分组的发送时延过长。

时延是通信服务质量的一个重要指标。低时延是网络运行正常的表现,也是网络运营商追求的目标。时延过大通常是由于网络负载过重导致。网络带宽有限好比道路通行能力有限,当网络中的数据流量过大造成网络拥堵时,网络中的数据传输速率将十分低下,从而造成大的时延。

(2)公平性

由于通信网络能够为网络节点提供带宽资源的总量是有限的,所以公平性是衡量网络通信质量的重要指标,可以有以下几种理解:

● 保证网络内的每一个节点都能够绝对公平地获得信道带宽资源。

● 保证网络内的每一个节点都能够有均等的机会获得信道带宽资源。

● 保证网络内的每一个节点都有机会获得信道带宽资源。

很显然,以上3种公平性保证的强度是呈递减趋势的。然而,第一种公平性在实际网络环境中很难得到保证。因此,在实际运用过程中,更多的是强调后面两种公平性所代表的含义,并用于衡量网络性能。

根据OSI网络7层参考模型,数据链路层的MAC子层负责提供网络节点对信道访问的功能。其中,竞争型MAC协议的公平性是一个很重要的研究内容。例如,在CSMA/CA中,一旦检测到冲突,为降低再次冲突的概率,需要等待一个随机时间。二进制指数退避算法是竞争型MAC协议主要采用的一种退避机制,其主要缺陷是在信道持续繁忙的情况下,竞争窗口较小的节点在完成一次数据发送后极可能再次快速接入信道,从而演变成长期占用信道资源,降低了很大一部分其余网络节点接入信道的机会。

MAC协议主要解决网络节点邻域范围内的信道访问方面的问题。路由协议则保证数据分组在网络范围内正确地选择合适、有效的通信路径,准确无误地从源节点出发到达目的节点。路由选择的原则很多,直观上选择连接源节点和目的节点之间的最短路径却是最好的选择。但是,如果最短路径上的链路状况不稳定或者数据流量过载,最短路径很可能是一个差的选择。基于多径路由的策略,通过协调、均衡不同路径上的网络负载,既避免了网络性能恶化,也实现了路由层的公平性。

传输控制协议(Transport Control Protocol,TCP)是目前在网络中广泛应用的传输层协议。理论和实验表明,TCP本身的拥塞控制机制会导致TCP协议在无线网络中的应用出现许多不公平问题;TCP对数据分组和控制分组丢弃敏感度的不对称会导致上、下行TCP流的不公平;TCP闭环拥塞控制的贪婪特性会造成上行TCP流之间的不公平,以及TCP长短流之间的不公平。对于TCP的不公平性问题,当前较难找到行之有效的解决方案。

以上讨论的各层协议对应于两个或更多个节点之间的公平性。节点自身对于数据缓冲区的管理则体现了数据分组之间的公平性,队列公平性是评价分组的排队规则以及队列的管理方式优劣的重要参考。

(3)优先级

网络通信中的优先级主要是指对网络承载的各种业务进行分类,并按照分类指定不同业务的优先等级。正常情况下,网络保证优先等级高的业务比优先等级低的业务有更低的等待时延、更高的吞吐量;网络资源紧张时,网络甚至会限制为优先等级低的业务提供服务,尽力满足优先等级高的业务需求。

在多媒体通信中,多媒体通信应提供包括视频图像、语音和数据等多种业务的服务。

视频图像业务的具体形式包括高清电视、可视电话、会议电视、视频点播等。视频图像业务的主要特点包括两个:第一是数据传输量大,以会议电视为例,一路会议电视信号至少需要4.3MHz的带宽;第二是数据传输的实时性要求高,根据视觉暂留原理,人的肉眼在某个视像消失后,仍可使该物像在视网膜上滞留0.1~0.4秒。因此,多媒体视频流的传输延时和抖动应该低于0.1秒。

语音业务的具体形式包括固定电话和移动电话等业务。以固定电话为例,一路普通电话需要3.4kHz的带宽。因此,语音业务对带宽的要求相对视频图像业务是很低的。ITU G.114规范建议,在传输语音流量时,单向语音包端到端延迟要低于150毫秒。对于国际长途呼叫,特别是卫星传输时,可接受的单向延迟为300毫秒。如果超过300毫秒则通话的质量会变得让人不能忍受。过多的包延迟可以引起通话声音不清晰、不连贯或破碎。因此,语音业务对时延有很高的要求。

数据业务的具体形式包括短信、网上聊天和邮件等。以短信为例,一个手机用户发送的短信所包含的数据量通常不超过100个字节。因此,相比视频图像和语音业务,数据业务对带宽资源的要求是最低的。另外,无论是短信、网上聊天还是邮件通信方式,实际通信过程中允许的延迟甚至可以是几小时。从网络传输速度看,数据业务对通信时延几乎没有任何要求。

根据以上分析,视频图像业务享受网络服务的优先等级高于语音业务,而语音业务享受网络服务的优先等级高于数据业务。大多数网络协议都承认这几种业务之间的优先等级顺序。

除了不同业务之间的优先等级之外,通信中也会考虑不同用户之间的优先等级。因为网络运营商可以就服务条款和要求与网络用户达成一定的协议,网络则根据运营商与用户之间达成的协议提供相应的服务。协议要求不同,自然会体现出不同用户之间在享受网络服务时的优先等级。

(4)可靠性

通信的一个基本目的就是保证信息被完整地、正确地从源节点传输到目的节点。保证信息传输的可靠性也是通信的一个重要原则。

在网络中,有些服务如HTTP、FTP等,对数据的可靠性要求较高,在使用这些服务时,必须保证数据包能够完整无误地送达;而另外一些服务,如邮件、即时聊天等,并不需要这么高的可靠性。根据这两种服务不同的需求,对应地有面向连接的TCP协议,以及面向无连接的UDP协议。

连接(Connection)和无连接(Connectionless)是网络传输中常用的术语,二者的关系可以比喻为打电话和写信。打电话时,一个人首先必须拨号(发出连接请求),等待对方响应,接听电话(建立了连接)后,才能够相互传递信息。通话完成后,还需要挂断电话(断开连接),才算完成了整个通话过程。写信则不同,你只需填写好收信人的地址信息,然后将信投入邮局,就算完成了任务。此时,邮局会根据收信人的地址信息,将信件送达指定目的地。

两者之间有很大不同。打电话时,通话双方必须建立一个连接,才能够传递信息。连接也保证了信息传递的可靠性,因此,面向连接的协议必然是可靠的。无连接就没有这么多讲究,它不管对方是否有响应,是否有回馈,只负责将信息发送出去。就像信件一旦进了邮箱,在它到达目的地之前,你可能没法追踪这封信的下落;接收者即使收到了信件,也没有必要通知你信件何时到达。在整个通信过程中,没有任何保障。因此面向无连接的协议是不可靠的。当然,邮局会尽力将邮件送到目的地,绝大多数信件会安全到达,但在少数情况下也有例外。

传输可靠性主要解决的是分组丢失的问题。导致分组丢失的原因主要包括通信线路受到破坏、通信信号受到噪声的干扰以及网络出现严重拥塞。

以多媒体通信为例,语音分组的丢失,将导致通话质量的下降;视频图像流中出现重要分组的丢失,甚至可能导致无法在接收方恢复图像画面。为弥补分组丢失带来的损失,通信接收方通常会要求发送方重传丢失的分组,如果收发双方距离很远,这种丢失分组导致的重传会对网络资源造成严重的浪费。

2.数据为中心的服务质量

(1)真实性

数据的真实性是用于衡量使用数据的用户得到的数值与数据源的实际数据即“真值”之间的差异。

对于数据真实性可以有以下几种理解:

● 接收方和发送方持有数据中的数值之间的偏差程度。

● 接收方和发送方持有数据所包含的内容在语义上或上下文环境中的吻合程度。

● 接收方和发送方持有数据所指代范围的重合程度。

造成数据不真实的情况主要分为3种。第一种是非人为的客观原因,例如,数据采集设备的精度较低、通信设备能力不强、网络资源受限等;第二种是非恶意的主观人为原因,例如,记录错误、漏记、分析出错等;第三种是恶意的人为原因,例如,伪造数据、篡改数据等。显然,第三种情况的数据失真原因给数据服务质量造成的损失最为严重。

(2)安全性

数据安全的要求是通过采用各种技术和管理措施,使通信网络和数据库系统正常运行,从而确保数据的可用性、完整性和保密性,保证数据不因偶然或恶意的原因遭受破坏、更改和泄露。

数据安全有对立的两方面的含义:一是数据本身的安全,主要是指采用现代密码算法对数据进行主动保护,如数据保密、数据完整性、双向强身份认证等;二是数据防护的安全,主要是采用现代信息存储手段对数据进行主动防护,如通过磁盘阵列、数据备份、异地容灾等手段保证数据的安全。数据安全是一种主动的包含措施,数据本身的安全必须基于可靠的加密算法与安全体系,主要有对称算法与公开密钥密码体系两种。

数据处理的安全是指如何有效地防止数据在录入、处理、统计或打印中,由于硬件故障、断电、死机、人为的误操作、程序缺陷、病毒或黑客等造成的数据库损坏或数据丢失现象,某些敏感或保密的数据被不具备资格的人员或操作员阅读,从而造成数据泄密等后果。

数据存储的安全是指数据库在系统运行之外的可读性。一个标准的数据库文件,稍微懂得一些基本方法的计算机人员,都可以打开阅读或修改。一旦数据库被盗,即使没有原来的系统程序,照样可以另外编写程序对盗取的数据库进行查看或修改。从这个角度说,不加密的数据库是不安全的,容易造成商业泄密。这涉及计算机网络通信的保密、安全及软件保护等问题。

(3)完整性

数据完整性是指数据的精确性和可靠性。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的,用于确保数据库中包含的数据尽可能地准确和一致。

数据完整性有4种类型:实体完整性、域完整性、引用完整性和用户定义完整性。

实体完整性将行定义为特定表的唯一实体。实体完整性的要求是数据库使用者要保证表的标识符列或主键的完整性(通过索引、Unique约束、Primary Key约束或Identify属性)。

域完整性是指特定列的输入有效性。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过Check约束和规则)或可能值的范围(通过Foreign Key约束、Check约束、Default定义、Not Null定义和规则)。

在输入或删除记录时,引用完整性保持表之间已定义的关系。在Microsoft SQL Server 2000中,引用完整性基于外键与主键之间或外键与唯一键之间的关系(通过Foreign Key和Check约束)。引用完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值;如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。

用户定义完整性使用户得以定义不属于其他任何完整性分类的特定业务规则。所有的完整性类型都支持用户定义完整性。

(4)冗余性

数据冗余是指数据库的数据中有重复信息的存在。如果数据冗余程度过高,肯定会对资源造成浪费。但是,完全没有任何数据冗余并不现实,也存在弊端。因此,应该从两个角度来看待数据的冗余性。

一方面,应当避免出现过度的数据冗余。如果数据重复存在的情况很严重,这自然浪费了很多的存储空间,尤其是存储海量数据的时候。除此之外,数据冗余会妨碍数据库中数据的完整性。关系模式的规范化理论的主要思想之一就是最小冗余原则,即规范化的关系模式在某种意义上应该冗余度最小。降低数据冗余度,不仅可以节省存储空间,也可以提高数据的传输效率。

另一方面,必须引入适当的数据冗余。数据库软件或操作系统的故障、设备的硬件故障、人为的操作失误、网络内非法访问者的恶意破坏甚至网络供电系统故障等,都将造成存储在设备上的数据丢失和毁坏。为消除这些破坏数据的因素,数据备份是一个极为重要的手段。数据备份的基本思想就是在不同地方重复存储数据,从而提高数据的抗毁能力,为灾害数据恢复提供坚实的基础。

(5)实时性

对数据的实时性要求,与应用的背景有着密切关系。相关的典型应用主要包括工业生产控制、应急处理、灾害预警等。

冷链物流与人们的生活息息相关。例如,速冻食品、包装熟食、冰淇淋和奶制品、快餐原料等在生产、储藏、运输、销售等环节中,都需要始终处于规定的低温环境中,才能保证质量。如温度监控系统需要随时掌握整个物资储藏环境的温度,如果监测到的温度出现异常而不能及时通报给控制中心,则有可能延误管理人员采取相应的温度调节措施。

应急处理的一个典型例子就是处理突发在建筑物中的火灾。一般情况下,发生火灾后,人员安全疏散允许的时间是:耐火等级为一、二级的民用建筑为6分钟,公共建筑为5分钟,观众厅为2分钟。当火灾发生时,如果显示火灾严重程度和发展态势的数据及时地被传回管理中心,则有助于快速形成有效灭火、转移人员、财产的应急处理方案,最大限度地降低火灾造成的各种损失。

由于地震这种自然灾害具有人力无法抗衡的严重破坏力,建立有效的灾害预警机制是降低灾害损失的重要方法。当海洋中发生地震时,对陆地上人口密集地区的预警时间为一到两分钟;当陆地发生地震时,对震中地区提供的预警时间通常为十几秒、甚至几秒。尽管获取预警的时间可能非常短暂,但是这种灾害预警机制对于减少人员伤亡和减轻损失具有非常重要的意义。

3.用户为中心的数据质量

无论是网络通信还是各种数据,其最终目的是为不同的用户提供有效的服务。因此,用户对网络通信服务、数据质量的评价是最有意义的。用户体验是业界如今很时髦的一个概念,强调用户在接受服务过程中建立起来的主观感受。

(1)智能化

对于用户体验到的智能化服务,搜索引擎的功能是一个很好的实例。

搜索引擎的真正目的是为不同的搜索意图提供准确的对应信息。研究用户搜索意图是改进搜索引擎设计的重要手段。用户搜索意图的研究主要包括两个方面:一是使搜索引擎提供更好的交互功能,显式或隐式地获取用户意图;二是对用户意图尽可能准确地分类。

目前,一种比较流行的对用户搜索意图分类的方法是将其分为以下3类。

● 导航型(Navigational):寻找某类特殊站点,这类站点能够为用户提供该站点上进一步的导航操作。

● 信息型(Informational):寻找站点上某种以静态形式存在的信息,这是用户通常的一种查询。

● 事务型(Transactional):寻找某类特殊的站点,这类站点的信息能够直接被用户下载或做进一步的在线操作,如购物、游戏等。

就上述分类而言,导航型意图意味着用户想要获取能够提供导航信息的这类特殊站点。例如,主页或包含足够多导航信息的非主页。信息型意图意味着用户在进行最通常的一种查询,并且在查询返回的结果中寻找其感兴趣的内容。事务型意图意味着用户按照事务提前安排好的流程进行查询、搜索等操作。

对于搜索引擎,通过获取和分类用户搜索意图可以实现针对不同的意图提供独特、贴切的信息,以满足用户个性化的需求。这就是智能化的重要体现。

(2)吸引力

有用是一个服务产生吸引力的最重要因素,有用是针对用户的需求而言的。例如,手机的出现使得人们摆脱固定电话的束缚,可以实现在任何地点、在移动的过程中进行通话。因此,移动通信服务得以快速的普及,很快形成庞大的用户群体。电子邮件的出现,使得信件在世界范围内投递的时间大大缩短,也极大地降低了邮件交互的成本。因此,电子邮件成了人们日常工作、学习、交流的重要方式。

新颖性是提升一个服务吸引力的重要环节。这种新颖性可以是服务内容上的新颖性,也可以是服务形式上的新颖性,两者同样重要。前者是指设计出新颖的功能,后者是对已有功能进行新颖的组合。例如,手机定位是移动运营商提供的一种内容新颖的服务;将手机定位功能用于汽车救援、医疗急救等则属于提供新颖的服务形式。

人机交互过程中也十分强调通过人的感官建立服务的吸引力。人的感官包括触觉器官、视觉器官、听觉器官、嗅觉器官和味觉器官。人通过感官认知世界,用户通过各种感官体验服务质量。服务应该通过各种感官向用户传达一种信息,即让服务本身产生吸引力。例如,通过形状和色彩的搭配使网页上的画面产生视觉上的吸引力,或者通过悦耳的音乐或者朗读产生听觉上的吸引力。

(3)友好度

用户不是专业的服务设计人员,不了解服务的具体实现细节。用户在体验服务的过程中也没有必要了解服务在设计上的细节。因此,在提供服务的过程中,应当尽量让用户感受到服务过程的友好。

服务的设计应当符合人体工学原理。人体工学,在本质上就是使工具的使用方式尽量适合人体的自然形态,这样就可以使正在使用工具的人在工作时,身体和精神不需要任何主动适应,从而尽量减少使用工具造成的疲劳。人体工学的具体应用,包括生活中常见的各种造型设计、按钮的位置安排、说明文字的设计等多个方面。

容易使用是友好度的另外一个重要体现。在服务过程中,用户与软件或者网页等人机界面的交互是难以避免的,相关的提示或者说明应该易于用户理解,并且服务本身具备对用户误操作的纠错能力。例如,文件下载过程中,会有下载进度提醒;对于用户的一些重要操作,系统会利用符合人认识习惯的颜色或者形状,形象地传递提示信息。

更广义的友好度,还包括在服务过程中添加符合用户生活习惯、文化背景以及特殊爱好的元素,从而实现为用户提供个性化服务。

总之,要避免一切让用户体验的结果是服务过程很复杂、充满挫折感的设计元素,友好度的优劣是制约用户接受服务的重要因素。