1、术语
在低功耗蓝牙方面工作的人们都使用他们自己的术语来描述一些技术特征和规范,下面介绍几个相关术语:
自适应跳频(Adaptive Frequency Hopping, AFH):一种使用某个频率子集的技术,使设备可以避免其他非自适应技术使用该频率(比如Wi-Fi接入点)。
体系结构(architecture):低功耗蓝牙的设计方案。 频段(band):参看无线频段(radio band)。 跳频(frequency hopping):两个设备之间使用多个频率通信。某一时刻只用一个频率,各频率按照确定的顺序依次使用。 层(layer):系统中实现一个具体功能的部分,例如物理层负责无线电操作。系统中每一层是根据上层或下层抽象而来的。链路层并不需要知道有关无线电功能的所有细节;逻辑链路控制层和适配层(L2CAP)不需要知道关于链路层如何工作的所有细节。这一抽象概念对于管理复杂系统而言至关重要。 主设备(master):微微网中协调与其他设备的操作的一台复杂设备。 微微网(piconet):单词pico和network两个单词的缩写,表示非常微小的网络,一个微微网包括唯一的一个主设备以及一个或多个从设备,之设备负责协调与本微微网中的所有其他从设备的操作。 无线频段(radio band):无线电波通过频率或波长进行划分。不同的无线电波具有不同的规则和使用方法。 从设备(slave):与主设备一起工作的简单设备。 Wi-Fi:一种为高传输率而设计的补充无线技术,用于计算机等复杂设备的互联网接入。 2、非对称性设计
所有的低功耗蓝牙体系结构的设计都是非对称的,目的是为了让能源更少的设备负担更少的事情。
对《低功耗蓝牙开发权威指南》的个人理解,画了如下的低功耗蓝牙体系层析结构图
3、客户端——服务器架构
采用纯客户端——服务器架构,服务器仅仅作为数据存储,并不关心客户端是谁。客户端可以直接链接到服务器,或者可以从地球的另一侧通过互联网网关链接。客户端——服务器网关模式也可以用于支持从客户端到网关的互联网安全,网关可执行访问控制、防火墙和客户端授权等操作,之后再向客户端授予网关外部的访问权限。
客户端——服务器架构的主要优点是将客户端和服务器二者划分开,当系统的不同部分位于不同的设备上时,这种划分必不可少,就爱那个其中一部分作为服务器,另一部分作为客户端,系统中二者之间的关系随之确定下来。
4、面向服务的架构
客户端——服务器架构之上进一步抽象是面向服务器的范式。这是一种将服务器中的信息组织成服务的模型。该服务ikeyi被发现、进行交互或用做已知语义,这意味着该服务具有确定的行为,在给定形同的条件时,总会产生相同的结果。这种范式最成功的互联网系统的基础,如SOAP、REST、COBRA、RPC、Web服务等。
(1)正式合约
一个服务之所以被视为服务.是因为其在公开的功能以及如何工作两个方画提供了正规的描述。正式合约的一个好处在于, 一个服务的实例很容易被另一个服务的实例所代替。只要两个服务的实例具有相同的功能和行为,这种情况就有可能发生。在低功耗蓝牙中.这些正式合釣位手服务規范之中.并为蓝牙SIG所来用。这些规范也有相应的测试规范.以确保实施行为的有效性。
(2)松耦合
在面向对象的软件中,单独的系统组件是指被设计成边界效应的独立对象。那些发生在组件之间的相互作用可以被明地定义和测试。将依赖关系减少最低限度,使修改服务的实现时不会带来意想不到的边界效应.从而降低风险。
(3)抽象化
服务抽象是十分重要的设计原则,如果违背该原理可能造成严重的后果。假如不利用抽象化,而让客户端掌握服务的所有实现细节.那么客户端使用该服务的方式将会严重制约服务的演化。
(4)可重用性
可重用性的概念多年来一直是面向对象方法所期望的设计目标。但是,真正意义上的可重用性是令服务适用于多种不同应用的一种能力。如果未经认真思考,设计的服务往往仅能完成某一种工作。而在良好的设计方案中,服务可以与具体的实现过程相互独立。这意味着该服务能够在其他应用程序中快速、轻松地获得重用。蓝牙技术联盟为应对这一姚战设立了一个工作组,该工作组的唯一工作就是找寻通用的功能,对其需求进行抽象以实现有效的重用。
(5)无状态
为了让众多客户端支持服务扩展.服务器不能保存任何客户端的状态数据。服务器或许可以定义一个服务用来记住客户端已经告诉它们的所有信息。使客户端在后续请求时不必重复这些信息。但该方法的同題在于,这些信息占用了大量的内存.且依赖于客户端和服务器二者之间同步的共享状态信息。这将导致服务器完全依赖客户端的正确操作,而这样的假设无疑站不住脚。
因此,状态信息存储在服务器上.但是它们均为服务器状态,而非客户端状态。这意味着,无论任无状态的设计目标是删除客户端和服务器之间所有交互状态。
(6)可组合性
这一没计目标鼓励服务器之间相互组合。
(7)自治
自治的情况可以单独执行任务,而不用去管周边发生的事情。
(8)可发现性
想要使用服务就必须能够发现服务,可发现性通常是通过一个单独的、与服务交互的协议来实现的。低功耗蓝牙采用不同的方法:使用同一协议实现发现以及服务交互,该协议称为”属性协议“。
|