计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

一种基于XML的数据通信模型的设计与实现(1)

2015-06-15 01:06
导读:计算机应用论文论文,一种基于XML的数据通信模型的设计与实现(1)在线阅读,教你怎么写,格式什么样,科教论文网提供各种参考范例: 摘 要 分析了一个典型站点式远程监控系统的要求和特点,提出
摘 要 分析了一个典型站点式远程监控系统的要求和特点,提出了用XML文件封装数据并通过收发文件来解决系统中的数据通信问题,详细介绍了模型的设计方案和各层次功能,确定了XML文件的结构,给出了文件发送模块的接口和文件队列的控制方法,最后实现了系统的通信功能。 关键词 XML;数据通信;监控系统 1 引言 在解决一个监控系统的信息传输问题时,遇到了一些困难,主要的原因是该系统中的数据类型多,发送的方向杂,控制起来比较繁琐。而引入XML文件后使得这个问题变得简单化。2 监控系统的数据通信 数据通信是依照一定的通信协议,利用数据传输技术在两个终端之间传递数据信息。它可实现计算机和计算机、计算机和终端以及终端与终端之间的数据信息传递。在分布式监控系统中,数据通信是最基本的问题。如图1所示是一个比较典型的站点式远程监控系统的模型。图1 典型站点式远程监控系统模型 在这个系统中,监控中心和站点之间要相互发送数据,基本上有三种情况: (1) 站点→监控中心 如站点采集到的现场数据、抓拍的图片信息、报警信息、站点收到监控中心发来的数据后回发的确认应答信息等。 (2) 监控中心→站点 如监控中心发往站点的基础数据与系统运行参数、监控中心收到站点发来的数据后回发的确认应答信息、监控中心给站点的远程控制指令等。 (3) 站点→站点 有些事务可能需要两个站点共同完成(如在站点A称得皮重,在站点B称得毛重,两个站点要相互交换数据才能得到净重值),因此在站点之间也会发送数据,而这些数据监控中心是不关心地。由此可见,在这个站点式监控系统中有多种数据要互相发送,并且数据的发送是随机的、杂乱的、动态的,内容相异,格式不同,种类繁多。另外,监控中心通过局域网连接Internet,可以有固定的IP地址,而站点使用ADSL连接,通常其IP地址是不固定的,用Socket通信机制作为系统的数据通道时,把监控中心做为Socket Server,启动侦听,站点只能做Socket Client,主动连接Server。站点之间若要相互传送数据,则只能通过监控中心来转发,更增加了监控中心和站点之间收发数据的复杂性。3 XML及其特点 XML(EXtensible Markup Language)是可扩展标记语言,类似于HTML,但和HTML不同的是XML的标记不是预先定义好的,用户可以且必须自己定义标记。XML是用来描述数据和保存数据的一种灵活而有效的方式,能够清楚地表示出:什么是数据,有什么数据及如何组织数据。XML是Web上表示结构化信息的一种标准文本格式,广泛用于网络数据交换,具有“易于生成数据”的优点。 XML支持世界上几乎所有的主要语言,并且不同语言的文本可以在同一文档中混合使用,应用XML的软件能处理这些语言的任何组合。所有这一切将使XML成为数据表示的一个开放标准,这种数据表示独立于机器平台、供应商以及编程语言。XML被引入许多网络协议,以便于为二个软件提供相互通信的标准方法,如简单对象访问协议(SOAP)和XML-RPC规范。 XML数据是以纯文本格式存储的,提供了一种与软件和硬件无关的共享数据方法,所以XML数据文件可以被更多的用户、更多的设备所利用,而不仅仅是基于HTML标准的浏览器。XML是不同系统之间的桥梁。4 系统模型的建立 根据监控系统的功能要求和XML的特点,将系统的数据通信问题转化为如何实现网络文件传输和如何使用XML文件表示数据这两个子问题。同时,为了便于实现,提高系统的可靠性、稳定性及可维护性,采用层次结构,将系统的功能划分为七层模型,如图2所示:图2 层次结构模型 (1) 物理链路层:是指网络通讯的线路,本系统采用电信的ADSL有线方式,其它也可以是局域网(双绞线、同轴电缆、光纤等)或者无线通讯方式(GPRS、GSM、CDMA等);物理链路层是系统数据通信的基础,但与上层的实现方式基本无关。 (2) 标准网络协议层:是指TCP/IP(Transmission Control Protocol/Internet Protocol)协议族,网络中TCP/IP协议叫做传输控制/网际协议,又叫网络通讯协议,是Internet国际互联网络的基础,其中的TCP协议和UDP(User Datagram Protocol)协议是两种最常用的数据通信协议。 (3) 文件传输层:使用Socket(套接字)技术实现文件的传输。Socket是Windows与网络的接口。Windows通过Socket把数据格式转换成网络传输格式,也把网络数据格式转换成Windows格式。Socket可以使用面向连接的协议(如TCP),也可以使用无连接的协议(如UDP)。Socket一般用来描述IP地址和端口,是一个通信链接的句柄。应用程序通常通过Socket向网络发出请求或者应答网络请求,可以通过Socket传送数据,进一歨封装成传送任何文件(字节流)的功能。 (4) XML文件控制层:在XML中的数据可能是接收到的数据,也可能是要发送的数据,监控中心和站点必须准确控制XML文件的接收和发送。特别是对于监控中心,可能同时接收到多个站点发送来的XML文件,发送XML文件时也要准确控制发送的目标站点。 (5) XML文件封装/解析层:这是两个相逆的过程,也是两种相对应的操作。XML文件封装是指将要发送的数据按照一定的协议打包组装成一个特定格式的XML文件,解析是指对一个XML文件按照特定的协议进行分析解读,还原出其中所描述的数据。 (6) 数据表示层:将采集到的数据、处理中的数据或者在数据库中存储的数据等各种数据格式转换为能够用XML文件描述的格式。这一层在本地操作的数据和远程传输的数据之间建立了一个通道,使两者之间互不影响,从而不会降低系统的执行效率。 (7) 业务逻辑层:实际上就是整个系统的用户接口,或者说是系统功能的实现层,包括打印单据、防作弊、报警处理、用户管理、查询统计、费用计算、实时监控、基础数据录入、系统管理等。5 系统实现5.1 网络文件传输5.1.1 动态链接库 本系统使用VC 开发专门用于网络文件传输的动态链接库(DLL),基于对字节流的处理可以传输任何文件,因此对于XML文件的传输来说是透明的。该动态链接库的主要接口及其功能如下: (1) 初始化。服务器端要先启动监听,客户端主动联接。 DWORD DT_Net_InitServer(BOOL bIsServer = TRUE); 参数:bIsServer表示是否将此Socket端用作服务 返回:0或者错误代码(2) 设置回调函数接口 DWORD DT_Net_SetCallBack(LPVOID pParam,LPNET_ ACCEPT_CALLBACK pAccept,LPNET_RECV_CALLBACK pRevc,LPNET_DISCONN_CALLBACK pDisConnect,LPNET_ LOG_CALLBACK pLogInfo); 包括请求连接、接收到数据、断开连接和日志回调。 (3) 设置文件操作的回调函数接口 DWORD DT_Net_SetFileCallBack(LPCTSTR pSavePath, LPNET_SENDFILE_CALLBACK pSendFile,LPNET_ RECV FILE_CALLBACK pRecvFile,LPNET_ABORTFILE_ CALL BACK pAbortFile); 包括文件发送完毕、接收到文件、文件发送中断的回调。 (4) 服务器启动监听 DWORD DT_Net_StartListen(LPCTSTR pszLocalIP, unsigned long nSvrPort); 参数:pszLocalIP-服务器IP地址 nSvrPort-服务器端口号 返回:0或者错误代码 (5) 服务器停止监听 DWORD DT_Net_StopListen(); 共2页: 1 [2] 下一页 论文出处(作者):
上一篇:基于UML和ASP.NET实现三层B/S结构系统开发(1) 下一篇:智能建筑多系统集成管理模型的研究(1)