论文部分内容阅读
随着传感器技术与网络技术的不断发展,各种各样的远程分布式数据采集与控制系统层出不穷。这些系统一般具有很强的专用性,如根据某一或某些具体的数据采集设备再结合网络技术实现对采集数据的远程传输,并由远程终端进行采集数据的处理,亦或对一些特定的终端控制设备进行远程控制。但是这些针对特定数据采集设备的传统数据采集和控制系统在随着需求变化时,很难实现灵活的变更,甚至出现对原有系统进行重新设计的情况。这些需求变化可能是传感器、终端采集设备、终端控制设备的升级;应用层通信协议的扩展;业务逻辑的添加和升级等等。本设计从服务的角度去描述基于TCP/IP(Transmission Control Protocol/Internet Protocol,即传输控制协议/互联网协议)的远程分布式数据采集与控制系统,将系统的常用功能抽象为服务,并借助SOA对系统进行架构。本设计的核心内容是将数据采集与控制系统所提供的服务封装成中间件。中间件的设计采用在C/S结构模型的基础上进行扩展所得到的Slave-Master-Client模型,这种模型可以方便实现多对多的数据采集与控制。本设计所设计的中间件使用Protocol Buffers技术实现数据(采集数据、控制数据等)的封装,使得系统能快速实现对不同采集数据类型、采集设备、控制数据类型、控制设备的支持,从而方便各种不同采集设备和控制设备的接入。中间件的数据传输服务依靠开源网络库。中间件中基于Protocol Buffers的消息编解码器和消息分发器,可方便实现基于消息反射机制的业务扩展。本文对该中间件的Slave-Master-Client模型,以及所提供的各项服务功能的实现进行了详细说明。完成此中间件的开发之后,本设计在该中间件的基础上模拟实现了一个可以对GPS采集设备进行数据采集和控制,以及可对视频进行采集和传输的简单应用。该具体应用验证了本中间件的基本功能。同时,该应用展示了使用该中间件在实现不同采集设备、不同采集数据类型、不同业务逻辑功能时的灵活性。