欢迎来到学术参考网

一种基于组件的无线传感器网络网关的建设策略

发布时间:2015-07-29 09:55

 摘要:针对无线传感器网关设计的适应性和重用性问题,我们提出了一个基于构件的WSN网关设计方法。该设计具有下列优点:服务和协议可以被配置和远程更新;网关可以连接异构网络并且网关两侧的协议可以灵活组合并提供服务解释转换。该网关设计用XML描述模块和配置接口,允许不同的协议栈组合和网络层相结合,以满足特定的WSN应用要求。为了证明模块化设计的可行性,我们首先实现了一个原型,并给出网关的一些实施细节,并给出了基于ZIGBEE的无线传感器网络实验步骤.最终实现了一个基于构件的无线传感器网络,验证该设计模型的有效性和可用性。
  关键词:组件;传感器网关, 协议栈组合;高效查询
  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)27-6085-04
  无线传感器网络(WSN)是一组无线连接的传感器节点,用于执行分布式传感检测任务。主要应用包括环境与健康监测,工业自动化和监视检测。无线传感器网络和传统网络之间的主要区别是节点通常具有非常有限的能量和计算能力。通信协议的设计应适应于该特点。显然直接在WSN使用HTTP协议将引进高开销,因此,无线传感器网络通常使用专有协议和无线接口,需要通过访问网关获得无线传感器网络的服务。
  在本文中,我们假设无线传感器网络通过网关连接到广域网,如广域网,互联网和蜂窝移动网络。通常配有一个WSN网关,至少有两个网络接口:一个用于在广域网络端,另一个用于无线传感器网络一端。我们的网关设计基于应用级网关[1]概念,网关包含了所有发生在应用层的网络协议和协议转换。该情况是典型的数据交换模式,从广域主机收到请求,发送请求消息到无线传感器网络中,无线传感器网络接收数据,将回复数据消息回送给请求主机。
  关于无线传感器网络中的网关的研究都大多集中在网关的基本功能:分布查询和数据聚合。在这个设计中,所有的查询和管理,可以通过基于Web的方法来处理。WSN网关的研究往往假设WSN一端和广域网一端几乎同构的网络环境。因此,目前的无线传感器网络网关通常是预定义的网络协议的某种组合。
  在实践中,不同的无线传感器网络可能使用不同的协议进行数据采集、路由,并且各种不同的应用程序可能运行在无线传感器网络中。经常还可能有几种不同的广域网中,需要无线传感器网络的相同服务。伴随着完美的WSN网关设计,维护和升级可能会相当复杂。我们的研究动机是解决该问题,给出在各种网络环境中部署相同的网关的设计方案。
  1 WSN网关模块化架构
  图1中给出了模块化WSN网关的体系结构。网关的功能可以分为控制功能集和数据功能集。数据功能集实体处理用户接入到无线传感器网络[5]。它可以为用户提供不同的接口来访问WSN服务。通过控制功能集的功能,具有管理权限的用户可以维护和更新数据功能集实体。此外,在数据功能集的状态,可以由控制功能集实体监视。
  在功能分配到控制功能集和数据功能集有几个优势。由于在数据功能集处理用户请求和数据答复,其数据流量远远高于在控制功能集中。为了实现高效率,如果平台的操作系统具有这样的两层体系结构,数据功能集和控制功能集实体可以在内核空间与用户空间分别实施。划分成不同的功能集合的另一个原因是,对于不同的功能集可以是不同的安全性和认证要求。很显然,该配置功能集需要比无线传感器网络的用户访问更高的安全级别。
  1) 控制功能集实体:控制功能集包含配置界面、注册表配置和控制和监视实体。配置接口发送和接收控制消息。解析传入的控制消息后配置被存储到网关配置注册表中。控制和监视实体提供一个界面,用于管理和更新数据功能集实体,监测数据功能集实体的状态。例如,在数据功能集可以为控制功能集生成网络两侧上的流量负载信息。如果有多个网关连接到无线传感器网络,交通信息可以在交换网关之间进行负载均衡。
  2) 数据功能集实体:数据功能集包含了TCP/IP协议包,WSN协议包,协议转换单元。基于WSN网关协议栈应包括几种不同的协议栈,它们可以灵活组合,建立广域网和无线传感器网络之间的网关功能。协议栈应包含几层的因特网协议,即网络层、传输层和应用层的分层结构。每层包含对应的协议元素和其内建的协议支持。协议模块化结构的详细信息将在第三部分描述。
  显然用于描述服务中的协议转换器需要一个共同的格式。统一格式将简化解释、记录和匹配服务。应该定义一个统一的数据回复格式,简化数据应答消息的解释并转化为不同的WSN服务。这种格式可以是标准的,例如文献定义的UPNP [6],或一种特有的XML的服务描述。适配器作为一个典型的协议转换工作,即他们的主要任务是以预定义的格式翻译到达和离开协议栈的特定消息。无线传感器网络服务在服务注册表中记录的信息可能包含的服务类型(如定期测量或事件触发服务),传感器地址,单位和精度。此外,服务描述应在底层协议中给出,供WSN的应用程序所使用详细协议,即定义消息是如何穿越WSN协议栈。通过配置接口描述可配置的服务。
  2 WSN网关模块化架构的实现
  在本节中,我们首先解释WSN网关使用的模块化概念。然后描述目前的内部和外部接口以及消息。最后,给出数据功能集实体协议包和协议转换的实现细节。
  如果假设操作系统支持一个两层的架构(不同的内核和用户空间),例如Linux,实现模块化WSN网关可以使用多线程的用户空间,或内核/用户空间结构。在第一种方法中,所有的功能集实体编译成一个多进程程序。在第二种方法中,在不同的功能集中的实体作为独立的进程在用户空间中运行。第三个选项是将一些实体移动到内核空间中,以提高性能。但该方案开发和调试代码难度都较大。我们采用了多进程的用户空间结构原型,因为它与内核空间的方法相比,更容易地开发,它允许为每个功能集实体的进行隔离测试。
 2.1 模块化概念
  WSN网关具有模块化结构使其可配置。模块代表协议和服务的描述,可以通过配置接口进行维护和更新。当网关部署在不同的环境中,网络环境经常发生变化,模块化结构位于数据功能集实体:
  在协议栈每一层协议包中的协议元素,协议转换器中的适配器, 以及无线传感器网络的服务描述。在我们的网关设计方案中,模块被表示为XML格式。协议信息,如数据包格式,也通过XML描述。传感器节点的帧结构中以XML格式表示。引入了新的数据类型到XML描述中,解析处理相同的约定处理消息的协议元素。通过XML模式文件验证数据类型和其他规则的有效性。WSN网关协议的描述可以建立在一个内存中的数据结构用于解析和封装消息的协议元素。
  2.2 接口和消息
  在控制功能集,配置接口实现作为一个Web服务(WS),基于C/C++ Web服务的开发环境,GSOAP。通过使用HTTP作为底层协议,WS客户端和服务器交换SOAP(简单对象访问协议)消息,它可以穿越防火墙或NAT。在我们的原型,WS服务器运行在WSN网关端。与WS客户端,用户可以连接到WS服务器和发送模块的描述(XML文件)。控制和监视实体提供了一个接口连接的控制平面和数据平面。通过这个接口交换的消息包括模块描述数据功能集和数据功能集的监测结果。
  根据不同的实现方法,不同的机制可用于功能实体之间的消息传递和控制/数据集。在单进程方案中,消息传递可以通过函数调用。在用户空间中多进程实现方案,进程间通信机制是必要的。在我们的实现,数据功能集实体打开一个TCP套接字用于数据和控制功能集之间的消息传递。
  为支持用户接入WSN,Web服务器服务需支持多个接口。在我们的实现中,为用户提供了一个网页提交请求。然后触发后台程序生成请求消息协议转换。在采集数据以后,可以文本或图形格式呈现在网页上。 Web服务接口更适合于应用程序间的通信。对于一个用户特定的访问,需要在协议转换器的适配器翻译消息到通用格式的服务描述。
  2.3 分层协议栈
  协议栈的结构如图4所示。在原型中,该协议栈被定义为一个C++类,它可能包含几个协议层。每个层可以包括几个协议元素,代表各自支持的协议。主要数据功能集处理进程启动,读取配置注册表,存储为一个原型中的配置文件,包含两个协议栈协层次和元素信息。协议层以及元素的实例相继启动并连接。
  每个协议栈包含两个存储消息的缓冲区:存储自下向上的消息(即网络接口),以及记录来自上级的层(即协议转换器)的消息的。此设计可避免不同层之间的内存拷贝,因此只有消息缓冲区的索引,偏移和大小需要在协议层之间传递。
  2.4 协议转换器的实现
  一个通用的服务描述格式定义为原型。它包含传感器节点的基本属性,如地址、传感器类型和精度。 WSN服务可以通过接口进行配置为XML配置文件。为了简化实现,我们使用一个专有的服务描述。一旦从配置接口接收服务描述信息,立即对该服务信息进行分析,并记录在服务注册表中(通过数据库实现)。
  TCP/IP适配器解释服务请求并转换形成通用格式的服务描述,服务解释器查询服务注册表,将用户的请求映射到WSN服务。根据无线传感器网络提供的服务,一个广域网的请求可能被映射到多个无线传感器网络的服务,从而生成不同的无线传感器网络请求。网络的TCP /IP适配器的几个请求也可能以被映射到一个单一的无线传感器请求。
  我们在下层的无线传感器网络协议实体中保持请求缓冲区的标识符。根据无线传感器网络的应用程序和无线传感器网络的较低层实现,也可以在网络数据报头或有效载荷字中添加的请求标识符。由于协议栈和请求注册表共享一个共同的标识,所述数据报文可以正确地传递回给用户。
  3 实验过程
  我们的无线传感器网关基于Linux,使用C和C++编程实现,也使用了基于HTML和JavaScript的Web网页用于人机交互。图2显示了测试平台配置包括三个主要部分组成:传感器网络仿真器,传感器网关,基于Web浏览器的传感网络管理系统。三个部分都在不同的PC上执行,并通过无线信号将无线传感器节点,传感器网络仿真器和传感器网关连接。
  因为实验条件所限,难以实现一个节点数量众多的无线传感器网络,而且我们专注于传感器网关的设计实验,我们实现了一个网络仿真器,它模拟的传感器网络具有一个3层结构的分簇聚合网络,并随机生成的检测数据用于测试。
  同时,我们已在测试平台与无线接口使用两个真实的传感器节点:一个直接连接到传感器的网关,另一个传感器节点连结到最近的汇聚节点。他们彼此之间通过无线网络通信。由于这些节点执行代码在节点物理硬件运行,我们可以获取数据包处理时间和网络传输延迟供模拟器使用
  3.1 传感器网络仿真器
  我们已经完成模拟器来模拟一个大型传感器网络。仿真器的程序是由C++编写。仿真器具有三种类型的对象,区域头对象,簇头对象,传感器节点对象。该文中传感器网络的路由协议因为它不直接与传感器网关相关,未加以考虑。
  最初,仿真器生成的区域头对象和簇头对象,它们具有随机选取数量的传感器节点。传感器节点对象的基本信息也是随机选择的。该仿真器通过RS-232C串行接口与汇聚节点直接连接,继而通过无线网络与实际传感器节点进行通信。即,连接到仿真器的传感器节点,汇聚节点接收来自网关传播的查询,然后将查询通过串行接口发送到仿真器程序。查询被传递给内部的簇头,然后翻译查询并产生查询结果。每个区域中簇头产生一个新的查询结果,然后等待一段自己的传播时间后将它发送给区域头加以汇聚。因此,来自区域的应答数据是以不同的时间到达网关。
  3.2 通过Web浏览器查询和管理传感器网络
  在本节中,我们将展示我们的传感器网关如何处理从用户的Web浏览器的传感器网络查询和管理的要求。图3示出了用于处理查询请求的每个阶段。首先,连接到网关后,用户会收到图所示的登录页面。图3-1,进行认证。如果登录用户的数据是正确的,则网关开始发送广播消息。在接收的广播消息的所有答复时,传感器网关发送传感器管理页面。图3-2显示了用户的Web浏览器。
  该页面有三个部分,包括用于输入和输出的数量的形式。第一部分用于用户的查询,第二个部分识别网关收到的查询和答复,最后一个部分显示用户的传感器网络查询的结果。
  4 未来的工作和结论
  本文给出的模块化WSN网关设计,仍需要研究的模块化WSN网关设计的效率。消息处理需要消耗能量,引入了延迟。此外,如果使用关系型数据库,查询和添加新条目的操作可能需要访问磁盘,这可能会非常耗时。登 记数据功能集中的每个数据包将使这种瓶颈效应越来越明显。这个问题的一个解决方案是使用内存中的数据库系统,该系统可以显着降低数据库访问的时间,从而提高性能的网关。
  该网关专注实于现单一WSN网关架构。我们的模块化网关的设计可以很容易地扩展,以支持多个网关。我们设计了一个可配置的WSN网关框架,允许进行配置,以适合在异构网络环境的功能。模块化概念使得在网关上维护和更新协议和服务成为可能。用XML描述的模块和配置接口,可以实现远程网关管理。此外,协议栈允许不同的协议和网络层相结合,以满足特定的WSN应用要求。
  参考文献:
  [1] 匡兴红,邵惠鹤.无线传感器网络网关研究[J].计算机工程,2007(06).
  .IEEE Personal Communications, 2001(8).
  [3] 王晓敏.无线传感器网络数据收集与路由协议研究[D].成都:电子科技大学,2010.
  [4] 杨顺,章毅,陶康.基于ZigBee和以太网的无线网关设计[J].计算机系统应用,2010(01).
  [5] 李国斌,李新路,基于构件的柔性无线传感器网关设计[J].辽宁大学学报,2012,39(04):313-316.

上一篇:学校网站存在的安全隐患及防范的路径建设

下一篇:Access数据库的安全性分析的问题和策略