计算机软件监控系统设计与实现.pdf
计算机软件监控系统设计与实现导师的评语:我的评语和修改意见都标记在论文中了,红色表示建议删除的地方,蓝色是我的直接修改或评语,粉红色表示不恰当,需要进一步酝酿的地方。请仔细修改。你的论文格式仍然存在大问题,以现在的情况形式审查肯定通不过,你可以参照我上次发给你的论文书写规范和范例中的模版进行修改,论文形式是给评阅老师和答辩老师的第一印象,从某种角度体现了一个学生对待论文的态度,务必重视!注:我己修改了两次了,字体格式方面应该都没什么问题。I摘要摘要近年来,随着高校招生规模的扩大,校园内机房规模急剧扩大、机房数量不断增加。计算机机房由小规模、封闭式、单一功能,向大规模、开放式、多功能方向发展。陈旧的机房管理模式不再适应当今大学对机房管理的要求,如何来有效管理和监控机房日益增长的安全隐患问题,迫切成为高校教育主管部门和相关技术部门的紧急需求。因此,计算机软件监控系统的设计与开发对高校机房管理具有重要意义。本文在深入了解目前高校机房管理需求的基础上,分析比较市场上已有的机房管理软件,设计出一套结合管理、监视、捽制、自我病毒防御于一体的机房监控系统。系统基于 Microsoft Visual Studio 2005 开发平台。采用 SQL Server 2005数据库,实现了一系列功能,包括系统用户管理、远程信息、远程进程监控、单机视频监控、远程关机、重起、锁定、解锁、病毒自我防御等。对数据库的设计与实现和网络协议的分析和数据包的封装,程序自我保护、告警作了重点讨论和研究。本文,系统用户界面友好、操作简单、安全高效,对机房用户机监控功能强大,大大节省了机房管理的人力、物力,财力,对提高高校信息化进程有重要的现实意义。(阐述论文从技术的角度都做了什么,可以参考本文主要研究内容,体现论文的工作量和难度,并阐述做的效果如何,即测试情况。)关键词:高 校 机 房 监 控 安 全 远 程 管 理ABSTRACTABSTRACTRecently,with the expansion of enrollment of colleges and universities,the scaleand amount of computer rooms develop sharply.Computer room by a small,enclosed,single function,to a large-scale,open,multi-direction.The outdated management modelis not suitable to the requirement of todays management.It is really urgent for thecompetent department and related technical departments in colleges to deal with theproblem on how to manage and monitor the potential safety concerns in computerrooms effectively.Therefore,the design and implement of monitoring system are ofgreat importance to the in computer rooms managementThis essay is based on the in-depth knowledge of computer room management incolleges,and the analysis and comparison of the administration software on market.It ismainly concerned about an overall monitoring system,together with managing,monitoring,controlling and self virus defending.This system comes from MicrosoftVisual Studio 2005 platform and adopts SQL Server 2005 database.Therefore,it iscarried out with a lot of functions,for instances,the user administration,remoteinformation,remote process control,video control,remote power off,reset,lock,unlockand virus self defend.The essay also illustrates the design and implement of data,theanalysis of networking protocol,the packaging of data packet,the warning andself-preservation of software,etc.In this essay,those including friendly user interface,simple manipulation,andefficiency not only bring a more powerful system in monitoring,but also save muchmore laborers,material and treasure,therefore,it plays a very important role in theinformatization process of colleges and universities.Key words:colleges and universities,monitoring system in computer rooms,safety,remote administration口录目录第一章引言.11.1 研究背景.11.2 国内外研究现状.21.3 主要工作.41.4 论文结构.4第二章开发平台及工具.52.1 V i s ua l S t ud i o 2 0 0 5.52.2 M i c r o s o f t S Q L s e r ve r 2 0 0 5.62.3 三层c/s 架构.72.4 S o c k e t 通信.8第 三 章 监控系统的需求分析.93.1 需求分析.93.1.1 机房现状.93.1.2 设计方案.1 0第四章监控系统的设计.1 14.1 系统设计原则与特点.1 14.1.1系统设计原则.1 14.1.2 系统设计特点.1 14.2数据库设计.1 24.2.1 引言.1 24.2.2系统主要实体关系的E-R 图.1 24.2.3 数据字典.1 34.3通讯协议的设计.1 74.3.1 T C P/I P.1 74.3.2 自定义通讯包.1 94.3.3 完成端口模型.2 0第五章监控系统的实现.2 15.1 数据库的实现.2 15.1.1 数据库表关系图.2 15.1.2 A D 0 连接.2 25.2 网络通讯协议的实现.2 45.3 进程监管的实现.2 65.3.1 进程的枚举和终止.2 65.3.2 P E 结构.2 75.4 远程屏幕查看的实现.3 65.4.1 V N C 简介.3 65.4.2 R F B 协议简介.3 75.4.3 代码实现.3 75.5 病毒防御的实现.4 2HiABSTRACT5.5.1 S S D T 概述.4 35.5.2 S S D T H O O K 技术.4 45.5.3 H O O K 实现.4 55.6 远程控制的实现.4 7第六章监控系统的测试.4 96.1测试环境.4 96.2 功能测试.5 06 .2.1远程屏幕察看功能.5 06 .2.2 程序进程监控功能.5 16.2.3远程计算机管理功能.5 26.3性能测试.5 3结论.5 4致献.5 5参考文献.5 6第一章引言第一章引言1.1 研究背景随着近几年计算机科学技术与网络通讯技术的迅猛发展,硬件性价比的大幅提升,高等院校招生规模的不断扩大,我国的在校大学生人数在迅速膨胀,使得高校计算机数量急剧增多,计算机实验室也在不断的增加。按照生均比率要求,一般高校计算机实验室少则几百台,多则儿千台计算机。在互连网高速发展的今天,教学平台的转变,计算机的机房环境也全部连入了 In t e r n e t网,教学内容、教学方法、教学思想都起来了根本性变化。但是随之而来的各种管理问题也逐渐一一显示出来,如何管理好这些计算机成为一个比较迫切需要解决的难题。其中主要涉及了管理人员的分配、机房定时开放、病毒防治、机器维护、系统更新等。计算机实验室影响最为突出的是木马、网络蠕虫病毒、a r p病毒的问题,如何有效地防御网络病毒的爆发成为首要的工作。而且如果是遇到国家计算机等级考试、省级计算机等级考试、高考计算机评卷等大型活动的时候,按照考试要求需卸载所有的杀毒软件、防火墙并全面清理所有的机器,工作内容从修改计算机IP地址、清理计算机病毒到安装系统,往往要花上好几天的时间来准备,并且还要保证考试或评卷期间不能染毒。这样一来不仅需要花费大量的时间和人力,还会对正常的教学秩序带来冲击。目前计算机管理方面软件不少,但大部分是基于刷卡系统、还原系统以及反黄等方面,所以我们迫切需要一种系统能以最少的管理人员在最快的时间内处理我们所遇到的这些问题,提高工作效率。从目前的机房管理系统来看,还没有哪种系统能解决这些问题,因此如何才能高质高效地管理好网络计算机机房已经成为了一个新的研究课题。目前大多数高校实验室机房都安装了了硬盘还原系统和硬件监控系统,以我们学校为例,联想启天电脑都固化安装了联想慧盾还原卡,d e l l电脑安装了三茗卡和海光蓝卡,可以有效解决系统安装,系统同传,保护卡的远程控制。在系统安装上给管理人员提高了很大的效率,硬件控控系统只能在空间上大致模糊的监控学生的实验室上机行为,而且只能是局部的,资源是得到了有效利用,但管理上问题还是很多,比如实验课期间做些和学习无关的事。比如在上课期间下载音乐、玩游戏、看电影、M S N、上Q Q聊天、浏览无关网站等,使上课老师无法正常上课,或效果极差。已经成了教学管理上的一个突出的难点。还有因为机房和校园网、I nt e r N e t相连,往往导致机房不定期的病毒泛滥、保护系统被破坏、杀毒软件的失效、系统软件的补丁难以安装等。给管理人员工作上带来了很大的难度。如能开发出一种计算机软件监控系统,既能有效监视、控制学生上机的行为,使学生在上课期间不能运行一些被禁止的的程序,比如上面说过的跟上课无关的程序,又能主动检测、并阻止网络病毒爆发,同时又能自动更改计算机I P地址和计算机名等功能,将是解决上面的问题的很好的方法。1.2 国内外研究现状计算机机房监控系统在高校的应用中,一般是作为机房管理系统的一个特殊模块而存在的,当然也可用于高校网络中心机房、各行政办公室。在本课题中,电子科技大学硕士论文重点讨论高校计算机实验室。上面我们提到的这几种功能,好象全部真正能具体实现好象还没有,这就增加了本课题的难度,有些功能还需自己想办法研究。在这里我们对其它一些机房管理软件和相关文献进行了研究和分析。(1)网亚机房管理软件限制功能:禁止一切聊天工具运行,禁 止QQ、MSN、淘宝旺旺、QQ游戏,智能识别游戏,禁止游戏,禁止网络游戏,禁止特定软件运行,禁止指定的程序运行,禁止一切不允许运行的软件,不同的学生可以有不同的权限;禁止下载、B T,禁止一切P2P软件占用企业带宽;禁 止USB设备、优盘、U盘、光驱、光盘,杜绝可能的信息泄露和安全隐患;禁止上网,限制上网,控制上网,上网限制,可以限制哪些电脑可以上网,和限制只在指定时间段上网,禁止部分学生上网,禁止部分网站,禁止某时间段上网,禁止黄色站点,只允许访问指定的网站或屏蔽某些网站;禁止安装程序,禁止私装软件,禁止游戏等一切要禁止的软件,禁止进入安全模式,禁止乱动控制面板设置;禁止在线观看电影听音乐;禁 止QQ直播,禁止一切要禁止的软件;禁止私自更改IP地址,支 持MAC地址与IP地址绑定;禁止私拔网线,私拔网线自动关机;所有禁止与监视功能由服务器管理员自定义,轻松监控整个局域网;监视功能:记录每台学生机所有正在打开的窗口,运行的程序,记录学生访问的每一条网址,学生工作状态一目了然,所有记录一条不少全部记录到服务器数据库,可以随时查询;监视学生文件操作,能记录学生复制了哪些文件到优盘或者其它路径、粘贴,删除了哪些文件,什么时间插入拔下优盘所有记录-一 条不少全部记录到服务器数据库,可以随时查询;流量监视,实时监视并记录每台学生机上传下载流量,并且流量数据能被日后随时查询;学生屏幕监视,在服务器上可以随时查看学生当前屏幕(动画);安装程序监视,在服务器上可以随时查询学生计算机上安装了哪些软件;进程监控,在服务器上可以随时查询学生计算机进程并能选择结束进程;系统信息监控,在服务器上可以随时查询学生计算机硬件信息,硬盘内存使用情况。(2)美萍网管系统监控和管理整个网络所有计算机上网和上机情况。包括记录每台机器的上下机时间,根据时间规则对网络内的机器分配上网时间,进行上网限制管理,能进行IP地址与MAC地址绑定,防 止IP地址盗用,能自动搜索并查看查看局域网内所有机器当前状态。(3)苏亚星网络管理专家一 款 致 力 于 网 络 行 为 管 理 的 监 控 类 应 用 软 件,运 行 于 Windows98/2000/XP/2003系统平台之上,对网络内的机器进行全方位的远程监控和管理。通过网络实现远程客户端的自动连接,远程监视与控制客户端机器,与被控方用户进行实时的“文字”和“语音”交流,还可以实现服务器端与客户端之间的资源共享;同时,也可以实时监管网络内计算机的性能,注册表信息,进程、服务管理器 及IP过滤限制连接等。(4)基于 IE 的 HMUSCADA 系统 WebAccessWebAccess是柏元网控推出的一种网际组态软件,它的人机界面(HMD和监控及数据采集(SCADA)软件完全基于浏览器。工程制作、数据库设置、图面建2第一章引言立和软件管理都可以通过Internet或 Intranet,在异地使用浏览器完成。客户端只需通过Web浏览器向Web服务器发出请求,然后接受所需的网页,而不需要与后台实时/历史数据库连接。(5)联创机房管理系统联创机房管理系统能帮助机房管理人员减少工作量,做到机房完全开放,无人值守,使得公共上机与自费上机协调进行;具有帐户管理、预约排课、课外收费、查询统计、打印管理等功能,而且对计划内上机可自动禁止学生上网和玩游戏、禁止学生访问未经许可的网站,禁止运行各类聊天程序的等。联创全校机房一卡通系统性能稳定、安全性高、功能强大、安装和操作都很方便,在开放式大型公用机房管理领域,已有众多的成功案例。可以与现有的大多数一卡通实现对接。在其中的一些文献和产品的部分功能是我们比较感兴趣的,如我们以前用过的美萍网管系统,很好的一个计费管理软件,能控制网络内的所有计算机,能对任意机器进行开通停止、限时,热启动,自我保护机制比较强,还有苏亚星网络管理专家,做的比较好的,同时使用了远程线程技术、进程隐藏技术、双进程保护等多种防范措施。安全性较好。象国外柏元的webaccess系统,采用B/S结构,使用人机界面和监控数据采集,管理起来非常方便,而且也非常强大。上面的几种机房管理软件系统都包含限制和监视功能,它可以禁用u s b,禁止U 盘,禁止光驱,禁用qq、msn、uC等聊天软件,禁用realplay、mediaplayer,等一些与上课无关的程序,记录上网情况,这些禁用功能倒是我们需要的,从系统分析中我们了解到,它主要也是利用了进程查杀和窗口查杀来实现,进程查杀使用的是进程名识别的方式,这种方式存在很大的缺陷,如果用户修改了程序名,进程查杀会失去作用,后来有人提出采用提取程序的窗口子类的方式来查杀,我们也对相关技术进行了研究,发现仍然存在一些缺陷,很多程序的窗口子类是相同的,如果编程者不按规范编程,他所编写的程序全采用默认窗口类方式,那么用这种方式就无法区别,极容易造成误杀现象,因此如何有效无误的进行查杀也是一个待研究解决的问题。我们也查阅了很多资料,专门对于网络入侵检测的系统进行了研究,主要用来监控网络传输的数据流,检测和响应非授权活动,防御外部的非法入侵,跟踪记录下入侵者的各种行为和操作,找出系统漏洞,寻找防御入侵的方法。使管理员在网络和系统受到危害之前发现并阻止非法入侵。比如Netwatoh入侵检测系统、方正方通入侵检测系统等。现在一般高校的机房实验室都安装了硬盘保护系统和网络克隆系统,用来保护还原学生的勿操作,引起的操作数据的丢失,还有机房安装好一台母盘,使用克隆方法,极大提高工作效率。用的比较多的有,联想的慧盾软件、西安三茗保护卡。这类系统可以用保护硬盘免受病毒侵害,重新恢复被删除或覆盖的文件,彻底清除安装失败的程序,并避免由于系统死机带来的数据丢失等问题,具有动态保护、实时瞬间恢复功能。现在重点来讨论一下,对于实验室网络病毒的防御,现有的防毒软件和防火墙都互不兼容,也没有相关的接口进行安全消息共享,因此无法使用现成系统进行主动防疫。如何通过一个计算机软件系统来进行病毒的自动检测和实现全部实J电子科技大学硕士论文验室安全信息联动,使实验室形成一个交互和联动的安全系统,构成一个主动防御体系,是本课题的重中之重一个难点。1.3主要工作计算机软件监控系统的设计与实现主要目标是最大力度的监视、控制学生在实验室上机过程中的违规行为,主动防御实验室网络病毒的爆发。建立一个基于VC+编程技术、MFC技术的CLIENT/SERVER架构的计算机软件监控系统。主要研究内容如下:(1)通过对几种机房网络管理系统的监控功能的研究,研究实时监控实验室任意一台客户机的上机行为。(2)进程扫描终止方式和窗口扫描技术的方法研究,研究对客户机做程序监控功能,规范学生机上机、开放安排的要求。(3)利用计算机通信技术,实现远程控制和管理的技术策略研究,研究对实验室的设备有效控制与管理。(4)通过对网络病毒传播、爆发机制的研究,研究一种主动防御网络病毒的切实有效的方法。1.4论文结构本文共分六章,各章内容安排如下:第 一 章 引 言。主要描述了计算机软件监控系统的设计与开发的研究背景与意义、国内外现状及分析,还有论文的4个主要研究内容。第 二 章 开发平台及工具。简要介绍了开发本论文的相关技术研究,主要用到的开发平台及工具。第 三 章 监控后统的需求分析。针对软件监控系统的现状,提出需求分析,设计一个具体的方案。第四章监控系统的设计。详细设计了计算机软件监控系统的儿个功能模块以及它们之间的联系。第五章 监控系统的实现。具体以流程图或代码的形式设计软件监控系统的儿个功能模块的实现。第六章 监控系统的测试。通过功能测试和性能测试两个方面来对软件监控系统进行测试。4第二章系统开发平台与工具第二章系统开发平台与工具本章应该是论文相关的理论及基础概念,2.1和 2.2不需要,如果只有2.3和 2.4那么又太少了,就不必单独成章了,建议你可以将现有的软件监控方法进行详细阐述,得出你打算采用哪些方法。2.1 Visual Studio 2005微软公司的Visual Studio 2005是新一代的开发工具和平台,它是微软努力工作儿年之后的产物,Visual Studio.NET提供了 一些激动人心且极具创新的企业生存期功能,包括:(1)领先于业界的数据库工具数据库建模功能包括概念工具、逻辑工具和实体设计的工具,以及对使用存储过程、索引、视图等等的集成支持。适用于行业专家的概念性工具,概念性建模工具通过基于事实的对象角色建模方法,将行业领域的专家知识引入应用程序设计过程。主要优点:应用程序可体现行业需求,而这些需求是由最了解它们的个别专家定义的,因而使工程更加完美。(2)逻辑模型和往返工程用于逻辑数据库设计的业界标准模型(包括E R和IDEF1X图表)具有对以下数据库的完全往返工程功能:Microsoft SQL Server DB2 Oracle 以及 MicrosoftAccess数据库;从而使在任何整次(概念、逻辑或实体层次)进行的更改都可自动反映在其他层次中。强健而灵活的软件建模完全支持业界标准统一建模语言(Unified Modeling Language,UML)1.2 图表符号,从而为用 Visual Studio.NET 创建的模型提供了通用的元模型。这样,在一张图表中所进行的更改就可反映在所有其他的图表中。强大的语义错误检查功能简化了创建完全兼容模型的过程,多种标准报告可对模型进行高效且直观地分析,自由格式的图表应用程序设计人员可将自由格式的图表加入UM L图表中,从而更好地表达其体系结构和规划。主要优点:客户可使用业界标准方法来表达应用程序的体系结构和功能,提高开发团队的效率。(3)高效的体系结构指导Visual Studio.NET企业框架和模板提供了关键的基础结构和内容,以在组织内部定义和提供最好的惯例和开发策略。这允许高级开发人员和体系结构工程师定义应用程序初始工具包、策略以及体系结构指导,使经验不足的开发人员可以用来构建极其复杂的应用程序。客户可分发这些应用程序蓝图以及构建应用程序所需的部件和说明,从而极大地提高开发人员构建复杂XML W eb服务和应用程序的效率。模板提供了用于完成应用程序的应用程序起点和策略或指导方针。它们包含两个部分:初始工程结构和策略定义文件。工程结构是在新的Visual Studio.NET工程类型中指定的,客户可任意对该类型进行自定义和扩展。策略文件是用一种新 的 基 于XM L的语言定义的,该语言称为模板说明语言(Template Description5电子科技大学硕士论文Language,TDL)。T D L用于指定在工程的各个阶段使用哪些技术合适。T D L还提供对属性设置的精密控制。(4)关键测试功能内置的功能,用于性能、负载以及功能测试,可帮助客户在开发的早期阶段就找出 其XM LW eb服务和应用程序中的问题。存根页是为Visual Studio.NET构建的任 何XM LW eb服务而创建的。可便捷地对存根页进行测试,测试内容包括性能、负载以及功能一所有这一切都包含在ID E中。通过使用Visual Studio.NET自动化模型,客户可自动执行测试过程,以提高效率。回归测试可便捷地在定期的版本上执行,这样可帮助确保已修正的错误不会再重新引入。分析瓶颈。VisualStudio Analyzer(V S A)使客户能够以图形化方式分析基于分布式组件的应用程序,以便查找瓶颈。(5)集成的源代码控制Microsoft Visual SourceSafe(VSS)是领先于业界的版本控制系统,允许开发团队安全共享应用程序源代码、设计文档以及其他工程资源。未签入窗口功能用于跟踪开发人员对已签出文件的更改,使这些更改在签入以供他人使用之前就可被找到。丰富的分支功能支持并行开发,允许多个团队同时开发一个应用程序的多个版本,从而提高了整体的效率。微软的基础类(MFC)是微软公司为方便广大W indo w s程序员而设计的W indow s编程接口,它采用目前流行的面向对象语言C+语言,封装了大量的Windows A P I,从而大大降低了编写W indows程序的难度。在美国微软公司推出W indow s系列操作操作系统后,在很长的一段时间内编写W indows下的程序直困扰着无数程序员。要想编写 个W indow s程序,只能使用C语言,使用微软公司的SDK(Software Development K it)开发包。但是学习使用SDK编程的难度是很大的,以至于程序员称S D K为超级困难工具(Super DifficultK it)0 MFC的设计目标是使W indow s编程更为简单,他们封装了 W indow s的标准函数,如程序的标注入口为W inM ain()函数,主窗口过程为WindowProc()函数,并把这些隐藏起来不让M FC程序员知道。M FC类库有良好的扩展性,微软公司许诺M FC类库始终能跟上最新技术。到目前为止,M FC类库在保持与S D K的步调一致方面做得很令人满意。MFC类库有效的将Windows A P I和W indow s的对象封装在一起,从而使Windows A P I更易于使用。程序员可以很快使用现有的SD K概念和面向对象方法来创建W indows程序,这样SD K程序员可以很快的熟练使用MFCoPlatform SDK(Platform Software Develope K it)开发包是是微软配合它的Windows操作系统公布的为Windows平台开发软件的帮助性文档,利用C语言,和A P I函数进行Windows应用程序的开发,是Visual C+和整个Visual Studio的精华和灵魂,虽然我们很少能直接接触到它。大致说来,Platform S D K是以Microsoft C/C+编译器为核心,配合M A S M,辅以其他一些工具的文档资料和例子。2.2 Microsoft SQL server 2005SQLServer 2005是Microsoft公司最新推出的高性能关系数据库管理系统,是6第二章系统开发平台与工具Microsoft公司在大型数据库领域的最新版本和旗舰产品,也 是Microsoft公司争夺电 子 商 务 领 域 最 重 要 的 核 心 部 件 市 场 一 网 络 数 据 库 平 台 的 大 利 器。SQLServer2005建立在 SQLServer6.5和SQLServer7。坚固而雄厚的技术基础之上,性能和可扩展性方面确立了世界领先的地位,是 一套安全的数据库和数据分析解决方案。它的特点主要体现在以下几个方面。与Internet的紧密结合SQLServer2005的数据库引擎集成了对XML的支持,同时以可扩展、易于使用 和 安 装 的 特 点,成 为 建 设 大 型W EB站 点 最 好 的 数 据 存 储 设 备 之-SQLServer2005的编程模式在很大程度上与专用于开发Web应用的WindowSDNA架构相集成。同时,SQLServer2005所携带的诸如英语查询以及Microsoft查询服务等为开发Web应用提供了友好而强大的查询界面。(2)可扩展性和可用性为了兼顾各种配置计算机的使用,SQLServer2005的数据库引擎可以运行在从 装Window2000/XP的台式机、笔记本电脑到安装WindowS2000数据中心版的多处理器计算机上。SQLServer2005企业版,具有联盟服务器、视图索引以及超大规模的内存支持等特征,完全可以满足最大规模的Web站点的性能需求。(3)企业级数据库SQLServer2005关系数据库引擎具各有完善而强大的数据处理功能。它在有效保证数据库一致性的基础上,尽量降低成千上万的数据库用户地并发访问时的管理和延迟成本。SQLSerVer2000的分布式查询允许用户同时引用多处数据源,但其友好的界而使用户觉得好像自始至终是在操作一个数据源。(4)简单、友好的操作方式SQLserver2005包含一整套的管理和开发工具。这些工具都具有非常友好的用户界面,在提供强大功能的同时,易于安装、使用和发布。用户可以把更多的精力放在自己的业务问题上,可以非常迅速地建立并发布强大而复杂的数据库应用系统。(5)数据仓库支持SQLServer2005为了满足现代企业对大规模数据进行有效分析和利用的要求,包含了一系列提取、分析、总结数据的工具,从而使联机分析处理成为可能。同时SQLServer2005提供了英语查询工具和编程接口,使得以英语为基础设计和管理、查询数据库成为了可能。总之,SQLServer2005是种功能强大的关系数据库管理系统,其性能完善,使用灵活机动,管理简便,足以满足机房管理系统的需求。2.3 三层c/s架构(C/S架构是两层结构,如果说是三层的,那么应该是 B/S,另外,为什么采用这种架构?)三 层C/S结构将应用的三个部分(描述部分、处理部分、数据部分)明确地进行分割,使其在逻辑上各自独立,并且单独加以实现,分别称之为用户服务层、应用服务层、数据服务层。与两层结构相比,其处理部分被明确地划分出来,在硬件实现上有两种方式:7电子科技大学硕士论文 用户服务层位于客户机上,应用服务层和数据层位于同一主机上。这种方式具有良好性能的前提下,能保证应用服务器和数据服务器之间的通讯效率,减少用户服务层和应用服务层之间在网络层的数据传输,使系统具有较好的性能。(2)用户服务层位于客户机上,应用服务层和数据服务层位于不同的主机上,这种方式比前一种方式更加灵活,能够适应客户机数目和应用处理负荷的变动,在增加新的处理时,可以增加新的应用服务器,系统规模越大,这种方式的优点就越显著。三 层 C/S架构的优点:(1)是具有灵活的硬件系统构成。对于各个层可以选择与其处理负荷和处理特性相适应的硬件。在功能上进行了明确的分割,在逻辑上使其独立清晰,变更系统的构成几非常简单(2)安全性加强,应用服务器把客户端与数据服务器分开了,客户机不能直接访问数据库服务器。(3)效率提高.三层C/S结构中,客户端和应用服务之间的连接实际上只是一些简单的通信协议,而和数据库服务器打交道所需要的设置或驱动程序,均由应用服务器来承担。(4)易于维护,由于应用逻辑被封装到了应用服务器中,因此,当应用逻辑发生变化时,仅需修改应用服务器的程序,客户端的应用程序不必更新,维护的代价大大的减少了。2.4 Socket 通信2 0 世 纪 8 0 年代初,美国加利福尼亚大学伯克利分校的研究人员为TCP/IP网络通讯开发了一个专门用于网络通讯开发的A P L 这 个 API称 为 SOCKET接口,SOCKET实际上在计算机中提供了一个通讯接口,可以通过这个接口与任何一个具 有 SOCKET接口的计算机通讯。应用程序在网络上传输和接收信息都通过这个SOCKET来实现。在应用开发中可以像使用文件句柄对SOCKET句柄进行读写操作。90年代初,由微软公司联合其它儿家公司共同制定了一套WINDOWS下的网络编程接口 WINDOWS SOCKETS规范。它 是 BERKELEY SOCKETS重要扩充,主要是增加了一些异步函数,并增加了符合WINDOWS消息驱动特性的网络事件异步选择机制。开发人员可以更加方便的进行高性能网络通讯程序的设计。WindowsSoeketS支持两种类型的套节字,即流式套节字(SOCK-STREAM)和数据报套节字(socK_DGRAM)。流式套节字提供了一个面向连接的、可靠的、数据无错的、无重复发送的及按发送顺序接收数据的服务。其内设流量控制,避免数据流超限,同时数据被看作是字节流,无长度限制。本系统选取了面向连接的流式套接字。其通信原理为:服务器端和客户端都必须建立通信套接字,而且服务器端应先进入监听状态,然后客户端套接字发出连接请求,服务器端收到请求后,建立另一个套接字进行通信,原来负责监听的套接字仍进行监听,如果有其它客户发来连接请求,则再建立一个套接字。本系统的设计流程应当由服务器首先启动,然后在某时刻启动客户机并使其与服务器建立连接。服务器与客户机开始都必须调用WindowssoeketsAPI函 数 soeket()建立8第二章系统开发平台与工具一个套接字Sockets,然后服务器方调用bind。将套接字与一个本地网络地址捆扎在 起,再调用listen。使套接字处于一种被动的准备接收状态,同时规定它的请求队列长度。在此之后服务器就可以通过调用accePt()来接收客户机的连接,相对于服务器,客户端的工作就显得比较简单了,当客户端打开套接字之后,便可通过调用connect。和服务器建立连接。连接建立之后,客户和服务器之间就可以通过连接发送和接收数据。当客户交易结束,双方调用closesocket()关闭套接字来结束这次通讯。9电子科技大学硕士论文第三章计算机软件监控系统的需求分析(本章应该至少分三节,3.1机房现状,3.2系统功能需求,3.3系统性能需求,功能需求需要以1、2、3给出系统需要满足的功能要求,性能需求同样需要以1、2、3给出系统需要满足的性能要求,具体的性能指标和要达到的量化值,例如反应速度小于1 秒。)3.1 需求分析3.1.1 机房现状学校机房目前不仅仅作为计算机相关教育培训的地方,承担了越来越多的教学任务,尤其是很多的专业软件的培训,因此学校机房管理历来是一项专业性较强也较为烦琐的工作,除了要求机房管理人员掌握有丰富的计算机软硬件知识和较强的动手能力,还需要他们辅助教学管理。如何发挥学校机房的作用,最大限度地辅助学校的计算机教学;如何科学管理学校机房,减轻机房管理人员负担,使学校机房管理更加科学、规范、高效益?这些都是许多信息技术老师、机房专职管理人员迫切需要解决的问题。机房管理现状和目前存在的问题:(1)随着学校对信息技术教育的投入,学校机房规模不断扩大,与之对应的是机房管理人员相对匮乏,机房的日常管理牵涉面广,事务又多,牵涉的技术较多。许多机房管理人员的日常工作量较大,包括机房的日常软、硬设备维护,网络故障排除,机房的防火、防盗,学生日常上机安排等等。(2)机房承担的教学任务成倍增加,尤其是很多专业软件对机房的软硬件以及网络环境都有比较严格的要求。(3)机房不仅需要在教学时段开放,在非教学时间也需要对学生开放,机房普遍开放时间比较长,更加增加了管理人员的负担。(4)由于使用人员的计算机应用水平不一,部分使用者对计算机安全方面认识不足,经常会访问一些不安全的网页,下载来历不明的软件使用,导致机房病毒频发,而且由于目前的病毒主要通过网络传播,所以往往会导致整个网络环境恶化,甚至出现大部分机器染毒的恶性事件。(5)由于目前绝大部分计算机都允许使用光驱和USB 口,而且越来越多的课程由于教学需要需要开放外网,所以一些调皮的学生就把游戏带入机房,在上课的时候玩,还有其他一部分学生在上课的时候浏览网页,或通过QQ聊天,导致课堂纪律败坏,教学效果不理想。(6)随着计算机的普及,中小学信息教育的加强,信息技术基础教育在很多发10第三章计算机软件监控系统的需求分析达一点的地区已经提前到中小学完成,因此,总有一部分学生在计算机技术方面显得比其他学生强出一些,而且其中更会有部分学生由于自己的兴趣和专业的原因对系统底层有一定的了解,这部份学生往往会为了表现自己而攻击机房的计算机和网络。与学生相反的是,很多年纪较长的教师往往是在工作以后才接触到计算机,往往他们只对自己专业领域里的软件比较熟悉,而计算机基础知识相对比较贫乏,通常无法应对课堂教学里出现的技术问题,无法使用复杂的专业软件去解决问题。3.1.2设计方案(这个部分属于设计,不应该放到需求分析中。)针对机房的现实情况,机房迫切需要一个软件能够帮助机房管理员和教师对学生使用机器进行远程监控,能够方便的查看学生的屏幕,能知道学生运行的程序,并通过设置来关闭和课堂无关的程序,能够快速管理机房内所有学生机,能够对病毒进行一定程度的防范。为实现上面的目标,本系统采用三层c/s架构设计,在学生机上安装客户端软件,在服务器上安装监控端软件和后台数据库,客户端软件通过TCP/IP协议与监控端连接,客户端不直接访问后台数据库,监控端通过ADO和后台数据库连接。系统监控主要具体功能由客户端实现,具体的业务逻辑由监控端实现。本系统采用VC进行开发,具体开发环境为Microsoft Visual studio 2005,使用了微软的MFC开发框架,并需要最新的Platform SDK开发包,后台数据