浅析远程监测系统中的数据传输与数据管理
发布时间:2009-10-27 作者:江玉玲
0 引言
LabV IEW是由美国N I公司开发的基于图形化编 程语言G的开发环境, 它是使用工程技术人员熟悉的 术语、图标、概念、图形化的符号编程的一种方法。本 文主要介绍基于LabV IEW平台,采用Socket网络套接 字构建TCP协议层的远程监测系统服务器端应用软 件;采用SQL2Server实现对监测上传的数据进行管理。 系统总体结构图如图1所示。

1 以太网通信
基于LabV IEW平台的DataSocket技术,通过以太 网将远程客户端的应用程序以网络数据包的形式传输 到远程服务器端。
1. 1 TCP / IP整体构架概述
TCP / IP协议并不完全符合OSI的7层参考模型。 传统的开放式系统互连参考模型,是一种通信协议的 7层抽象的参考模型,其中每一层执行某一特定任务。 该模型的目的是使各种硬件在相同的层次上相互通 信。这7层是:物理层、数据链路层、网络层、传输层、 会话层、表示层和应用层。而TCP / IP通信协议采用 了4层的层级结构,如图2 TCP / IP协议簇的4 个层 次,每一层都呼叫它的下一层所提供的网络来完成自 己的需求。这4层分别为:

应用层 应用程序间沟通的层,如网络远程访问 协议( Telnet) 、文件传输协议( FTP) 、电子邮件传输( e2 mail)等。
传输层 在此层中,它提供了节点间的数据传送, 应用程序之间的通信服务。主要功能是数据格式化、 数据确认和丢失重传等,如传输控制协议( TCP) 、用户 数据包协议(UDP)等。TCP和UDP给数据包加入传 输数据并把它传输到下一层中,这一层负责传送数据, 并且确定数据已被送达并接收。
网络层 负责提供基本的数据封包传送功能,让 每一块数据包都能够到达目的主机(但不检查是否被 正确接收) ,如网际协议( IP) 。
链路层 有时也称作数据链路层或网络接口层, 通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡,它们一起处理与电缆(或其他任何传 输媒介)的物理接口细节。
1. 2 TCP / IP的工作原理
TCP / IP的工作原理如图3,在源主机上应用层将 一串字节流传给传输层; 传输层将字节流分成TCP 段,加上TCP 包头交给IP 层; IP 层生成一个包, 将 TCP段放入其数据域,并加上源和目的主机的IP地址 后,交给网络接口层,再交数据链路层;数据链路层在 其帧的数据部分装上IP包,发往目的主机或IP路由 器处理。在目的主机处,数据链路层将数据链路层帧 头去掉,将IP包交给网络接口层再交IP层, IP层检查 IP包头,如果包头中的检查和计算出来的不一致,则 丢弃该包;如果检查一致, IP层去掉IP头,将TCP段 交给TCP层, TCP层检查顺序号来判断是否为正确的 TCP段; TCP层检查TCP包头,如果不正确就抛弃, 若 正确就向主机发送确认;目的主机在传输层去掉TCP 头,将字节流传给应用程序。

1. 3 基于LabV IEW的TCP通信编程实例
LabV IEW可以直接使用TCP / IP协议的传输层, 这一层的功能主要是提供应用程序间的通信, TCP / IP 协议簇在这一层的协议有TCP和UDP,LabV IEW提供 了与这两个协议相关的功能函数。UDP协议较为简 单,但可靠性稍差; TCP协议提供的是面向连接、可靠 的字节流服务。当客户和服务器彼此交换数据前,必 须先在双方之间建立一个TCP连接,之后才能传输数 据。TCP提供超时重发、丢弃重复数据、检验数据、流 量控制等功能,保证数据能从一端传到另一端, 因而, 多数情况下,为了实现可靠性数据传输,考虑使用TCP 协议构建PC端服务器。
本模块应用Socket技术构建基于TCP协议的服 务器,实现监测终端与远程服务器数据的传输和共享, 保证数据的实时性;应用TCP / IP技术实现监测终端 和服务器进行对话、数据传输等其余的网络通信功能。 在LabV IEW中可以利用已发布的TCP V I及相关 子例程设计实现TCP通信。此前需要在通信的计算机 上正确安装TCP / IP协议簇。在已接入Internet/ Intranet 的Windows/Unix系统中, TCP / IP协议是内置的;若是 新接入的计算机系统,须确保TCP / IP正确的安装和设 置,同时保证通信所需的源端口/目标端口开放。
由于需要把各数据点的数据汇总到处理主机,设计 上采用服务器/客户端通信模式,下面以一个简单的服 务器与客户端之间收发的例子来模拟,设计其工作模式 如图4,具体服务器端程序如图5,客户端程序如图6。