基于clientserver模式的网络远程监控系统的设计和实现内容摘要:
l/Mainframe)结构 的形式出现的。 这种体系结构使用用户能够尽可能地使用共享资源。 这里不仅包括了数据的共享,也包括了应用的共享。 终端所要做的事只是输人命令 (通常是以命令行的形式 ),显示结果,而有关的一切数据处理都交给了主机去完成。 在这样的结构中,由于终端不需要做什么处理工作,所以它可以很简单,也不必随着信息业的发展频繁更新,因此也称“哑”终端但是主机就不一样了,它几乎包揽了有关数据的一切处理工作。 这就自求它具有十分高的性能,并且能够随着信息量 (包括数据库的加大和终端的增加 )的增加不断更新 [12]。 这种终端 /主机 (Terminal/Mainframe)结构特点是资源得到充分共享,但用户界面不友好,主机负载过大。 在这种情况下,客户机 /服务器模式应运而生了。 从客户 /服务器意义上来讲,一层就代表一个具有定义好的特定功能平台。 反过来,也就是说,一个平台指的就是一台计算机所使用的软件和硬件的组合。 在一个两层系统中,重庆邮电大学计算机科学与技术学院本科毕业设计 (论文 ) 7 第一层包含一个运行主应用程序的客户工作站。 这个客户支配的程序 (或者这些程序 )除了系统所要求的所有逻辑功能以外,由所有的用户接口功能组成。 程序上的考虑(诸如某一特定的算法是如何实现的 )都可以在客户程序中找到。 因为客户程序负责处理许多 核心的功能,所以在两层结构的环境中的应用程序通常被称为胖客户,胖客户是在被认为加载了应用程序的核心功能的一个两层客户 /服务器环境中的一个客户计算机。 这种结构如 图所示。 服 务 器 客 户 端回复查询 图 两层客户 /服务器系统结构 客户机 /服务器结构通常化分为四层。 从客户机到服务器分别为 : 1. 数据捕获层 : 人机交互的捕获和转换,包括键盘、鼠标、虚拟现实接口设备和未来的语音、手势和神经传导,以及输出设备如显示器、打印机、磁带机等。 在该层的编程操作是将数据以预定的格式展现出来。 2. 业务规则层 : 该层负责将数据转换为业务关联数据。 增加有关业务规则的信息。 业务规则层并不处理数据,仅仅是涉及规则。 3. 应用接口层 : 该层负责将业务关联数据转换为技术关联数据。 如 SQL 语句,以供应用服务器层使用。 4. 应用服务器层 : 该层负责处理数据,如存储数据和计算出结果。 这种体系结构最初的出现是为了缓解终端 /主机结构中主机繁重的工作负担,通过在客户和服务器之间划分各自所包含的层次,则可以提高应用的计算效率。 于是将主机要做的一部分工作转移到了客户机上,显然这也就增加了对客户机的要求,但随着 PC 业的发展,这一点己经构不 成什么问题了。 在两层结构的系统里,业务规则可能混杂在客户端的用户界面控制流中,也可能嵌入在服务器端的数据库中。 更常见的是,客户端和服务器端各实现一部分业务逻辑。 通过网络,客户端把 SQL 语句、文件系统的调用以及其他请求送到服务器中。 服务器对请求进行相应处理,然后把原始结果回送到客户端。 两层结构最大的特点在于: 重庆邮电大学计算机科学与技术学院本科毕业设计 (论文 ) 8 具有成熟的设计开发方法和工具。 经过多年的积累,基于 Client/Server 模式的系统设计开发方法己被用户所熟悉和掌握。 并且,众多的数据库和软件生产厂商提供了各种可视化工具和编程语言来支持它的开发。 交互性强、界面友好。 各个 Client 机上运行的应用程序是针对特定的用户和任务设计的,同时具有在线帮助和出错提示等等之类的功能。 数据通信小、安全性高。 客户端 /服务器通讯协议的选择 TCP/IP(Transmission Control Protocol/Inter Protocol,传输控制协议 /网际协议 )由底层的 IP 协议和 TCP 协议组成,是发展至今最成功的通信协议之一。 TCP/IP 协议其实是一个协议集合,它包括了 TCP 协议 (Transport Control Protocol,传输控制协议 )、 IP 协议 (Inter Protocol Inter 协议 )及其他一些协议 [9]。 TCP/IP 参考模型 TCP/IP 协议是一个四层协议,互联网分层模型或互联网分层参考模型,如下图: 图 TCP/IP 协议簇的体系结构 每一层负责的功能如下: 链路层:也被称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡,它们一起处理与电缆 (或其它任何传输媒介 )的物理接口细节。 该层包含的协议有: ARP(地址转换协议 )和RARP(反向地址转换协议 )。 重庆邮电大学计算机科学与技术学院本科毕业设计 (论文 ) 9 网 络层:亦称作互联网层,负责分组在网络中的活动,包括 IP 协议 (网际协议 )、 ICMP 协议 (Inter 互联网控制报文协议 )以及 IGMP ( Inter 组管理协议 )。 传输层:该层主要为两台主机上的应用程序提供端到端的数据通讯,它分为两个不同的协议 : TCP(传输控制协议 )和 UDP(用户数据报协议 )。 TCP协议提供端到端的质量保证的数据传输,该层负责数据的分组、质量控制和超时重发等,应用层则可以忽略这些工作。 UDP 协议则只提供简单的把数据报从一端发送到另一端,至于数据是否到达或按时到达、数据是否损坏都必须 由应用层来做。 应用层:该层负责处理实际的应用程序细节,包括 Tel(远程联接服务的标准协议 )、 HTTP(超文本文件传输协议 )、 SMTP(简单邮件传输协议 )、FTP(简单文件传输协议 )、 SNMP(简单网络管理协议 )等著名协议。 TCP/IP 参考模型与 OSI 参考模型 为了实现各种网络的互联,国际标准化组织 (ISO)制定了开放系统互联 (Open System Interconnection, OSI)参考模型。 所谓开放,就是只要符合 OSI 标准,一个系统可以和位于世界上的任何地方的同样遵守这一标准 的其它任何系统互联。 OSI 模型提供了一个讨论不同网络协议的参考点。 图 给出 TCP/IP 参考模型及与 OSI参考模型的层次对应关系。 OSI 参考模型 TCP/IP 参考模型 图 TCP/IP 参考模型与 OSI 参考模型 TCP/IP参考模型与 OSI参考模型的共同之处是:它们都采用了层次结构的概念,重庆邮电大学计算机科学与技术学院本科毕业设计 (论文 ) 10 在传输层中二者定义了相似的功能。 但是,二者在层划分与使用的协议上,有很大区别。 OSI 参考模型将“服务”与“协议”定义结合起来,使得参考模型变得格外复杂,将它实现起来 是很困难的,严格按照层次模型编程的软件效率很低,不适合计算机与软件的工作方式。 与 TCP/IP 参考模型相比较, OSI 的七层模型结构严密、功能强大而复杂。 尽管OSI 的体系结构从理论上讲是比较完整的,七层协议也考虑得很周到,而使用 TCP/IP协议的产品却大量涌入市场,几乎所有的工作站都配有 TCP/IP 协议,这使得 TCP/IP协议成为计算机网络事实上的国际标准。 因此在本远程监控系统中都采用 TCP/IP为网络编程参考模型。 远程监控系统的实现 实现远程监控可以节省人力资源,降低监控系统的运营成本,具有很大的 实用价值和现实意义。 利用本远程监控系统,当用户需要访问远程计算机的屏幕时,实际上也是通过客户进程把从本地计算机屏幕中获取的控制信息,如鼠标移动、键盘的输入等通过 TCO/IP 协议传送到远程计算机,再通过远程计算机上的远程监控服务器进程来控制远程计算机的工作以及屏幕的显示的。 本系统的远程监控部分是基于客户机 /服务器模式,软件部分由服务器程序和客户程序两大块组成,接下来将分别介绍服务器端程序和客户端程序的功能,软件结构及其实现结果 [15]。 图 客户机 /服务器模式的远程监控系统 重庆邮电大学计算机科学与技术学院本科毕业设计 (论文 ) 11 服务器的实现 本系统的服务器程序采用 Visual C++编写, GUI 图形用户界面是基于 SDI 的单文档界面。 在利用 MFC 的 Appwizard 建立工程时,取消 Printing and print preview选项,选用 Windows Socks 支持,其余步骤保持默认设置。 服务器程序的软件由以下几个模块组成:窗口模块、远程控制模块,即时通信模块。 在讨论模块结构之前,让我们先来看一下服务器应用程序所要完成的任务: 1) 应用程序启动时,要求用户选择相应客户端的 IP 地址,并开始尝试连接。 2) 接收来自于客户端的屏幕位图,并以一定方式将其显 示在图形用户界面上; 3) 接收用户发来的鼠标动作,并发送到客户端应用程序。 图 服务器端模块结构 窗口模块由 CListDlg 类中完成,主要功能可以选择要连接的客户端 IP 地址,也可以添加新的客户端 IP 地址,最后通过 OnOK 开始尝试连接。 即时通信模块由 CMySocket 类来完成, 创建 socket 套接字端口,并用 connect( )同服务器建立起连接后就可以用 recv( )和 send( )同服务器收发数据。 远程控制模块由 CMainFrame 和 CMyView 共同完成的, CMainFrame 类中定义一个 TIMER 控件, 来 获取最新的被监控端的 屏幕 视图 , 并刷新客户区视图,使监控人员 能及时了解到远程计算机的工作状态。 而 CMyView 类则负责接受鼠标的事件,所有鼠标事件都通过 MouseEvent 来处理。 重庆邮电大学计算机科学与技术学院本科毕业设计 (论文 ) 12 客户端的实现 本系统的客户机应用程序的创建过程和服务器程序类似,采用 Visual C++编写,GUI 图形用户界面是基于 SD 工的单文档界面。 客户机程序的软件主要由以下四个模块组成 : 运行界面模块、数据解析模块、虚拟桌面模块和通信模块。 相对于服务器来说,客户端需要完成的任务要复杂一些: 1) 处理来自服务器的命令请 求,监听服务器端发来的请求和指示,同时还要定期发送屏幕位图到服务器端; 2) 判断传来的数据包的类型并进行解析,解析的结果分配到相应函数中; 3) 在指定地址监听来自服务器端的连接请求,为各个终端建立点对点的 Sock通讯; 4) 执行同桌面有关的一些操作,如获取屏幕的大小、屏幕位图的转换以及鼠标的操作等。 图 客户端 模块关系框图 运行界面模块是在 WINDOWS 操作系统中隐藏开始界面以及右下角的任务栏图标。 首先在应用程序的框架中定义一个 NOTIFYICONDATA 结构。 然后在OnInitDialog 中初始化该结构,最 后通过 NIM_DELETE(从任务栏中删除图标 )将其隐藏。 重庆邮电大学计算机科学与技术学院本科毕业设计 (论文 ) 13 数据解析模块是本系统真正的核心部分,是在用户自定义类 CmySocket 中实现的,在解析过程中,首先判断传来的数据包的类型,对应相应的类型进行合理的处理。 虚拟桌面模块是在类 Cscreen 中完成,该类是一个虚拟的桌面类,主要就是执行同桌面有关的一些操作。 其中 GetScreen 函数用来获取当前屏幕的大小, GetSrcBit函数是用来获取屏幕位图的,而当获取了屏幕位图后,还需要将该位图转换为设备无关位图才能进行传输;而鼠标操作方面,是通过 API 的 SetCursorPos 函数和mouse_event 函数来处理。 通信模块由 ClistenSocket 类完成。 ClistenSocket 负责监听终端提出的连接请求,并根据其合法性建立一个新的通讯套接字与其相联。 一旦 Socket 连接建立,服务器和客户端的通讯就是全双工无阻塞模式的。 通信模块、数据解析模块和虚拟桌面模块的具体实现将会分别在第四和第五章中讨论,在这里就不再详细介绍。 重庆邮电大学计算机科学与技术学院本科毕业设计 (论文 ) 14 3 网络通信技术开发 概述 当前世界正处于信息时代,计算机和通讯网络是这一时代“信息基础设施”。 网络化是计算机技术九十年代的重要发展趋势之一 [10]。 网络通信技术是实现网络互联和计算机交互的基础, TCP/IP 协议在异网互连中体现出了其强大的生命力。 在Windows 下的各种网络编程 Windows Sockets 脱颖而出,越来越得到大家的重视,这是因为 Windows Sockets 规范是一套开放的、支持多种协议的 Windows 下的网络编程接口。 从 1991年的 ,经过不断完善并在 Intel, Microsoft, Sun, SGI, Informix, Novell 等公司的全力支持下 ,已成为 Windows 网络编程的事实上的标准。 网络监控系统的工作以监控信息的实施处理和实施控制为中心,采集中心、监控工作站和远程监控客户端之间随时要进行大量采集数据、控制命令、状态报告等双向信息交换。 本章结合前面关于传输通讯协议的选择和 TCP/IP 协议簇体系结构的论述,阐述了 WinSock 编程接口的使用和原理及网络通讯的实现。 本章结合前面关于传输通讯协议的选择和 TCP/IP 协议簇体系结构的论述,阐述了 W。基于clientserver模式的网络远程监控系统的设计和实现
相关推荐
钟和秒; 具有时、分、秒、计数显示功能,以 24 小时循环计时; 具有清零,调节小时、分钟功能 ; 当时钟到了整点的时候,蜂鸣器发出声音,时间长度自行设定。 目的 熟练操作 MAX+plus II 软件; ; ,二十四进制计数器的设计方法 ; ; ; .熟练操作 EDA 实验 箱。 二 程序设计及模块说明与仿真 二十四进制 程序 library IEEE。 use。 use。
_A2:=0000。 ELSE POINTS_A2:=POINTS_A2+ 0001。 END IF。 ELSE POINTS_A1:=POINTS_A1+ 0001。 END IF。 ( 3)当按下减分按钮端 SUB 时,以给 A 组减分为例。 IF POINTS_A1=0000 THEN POINTS_A1:=1001。 IF POINTS_A2=0000 THEN POINTS_A2
是因为电流的量值是微安级。 为了适应 ADC0809 芯片的输入要求,还需将 HN36 采集的温度信号要进行电流 /电压的转换,将电流信号转换为电压信号,并且对电压信号进行放大。 因此,本文设计的电阻型传感器如图。 本 科 毕 业 设 计 第 14 页 共 42 页 图 电阻型传感器 模数转换电路 单片机控制 ADC0809 的工作过程:首先通过指令选择 0809 的一个模拟输入通道,当执行
通过网络在任何地方,管理人员随时学生进行添加和删除,实现了信息的动态管理。 数据流程图描述数据流程图是对组织中信息运动的抽象,是管理信息系统逻辑模型的主要形式。 基于 ASP 的学生成绩查询系统11它不涉及硬件、软件、数据结构与文件组织,是用图形语言及与此相关的注释来表示系统的逻辑功能,及所开发的系统在管理信息处理方面要做什么。 顶层图图 1系统层次模块图:步骤 1 图 1学生信息处理过程步骤