欢迎来到学术参考网

基于Delphi的网络机房智能管理系统的实现方案

发布时间:2015-10-15 09:20

摘 要:本论文分析了网络机房现状以及管理者面临的难题,重点介绍了网络机房智能管理系统的实现方案,对该系统的设计分析、开发工具的选择、数据库的选择以及系统的整体设计和开发过程进行了详细的阐述。

关键词:网络机房管理;智能化;数据库;Delphi
  随着计算机应用技术的不断普及,规模各异的学校机房、网吧数量激增,对于各类机房的管理者来说,机房的维护和管理是困扰管理者的两个最主要的问题。如果管理员利用一台管理机就能远程控制整个网络内的所有计算机,而且能实时计时、计费、计帐于一体,那将大大的减轻管理人员的负担,大幅度的提高了机房管理人员的效率和机房的利用率。因此,网络机房智能管理系统的开发也就成了一种必然。
  怎样随时了解、跟踪和统计机器和上机者的各类信息并实现安全可靠的上机服务等问题,就成了开发这种系统需要解决的首要问题。
  一、系统的设计分析
  先分析系统所需具备的基本功能,再采取循环进化的开发方式,精化系统模型,将系统所需具备的功能逐步完善,直到所有的功能都得到满足。
  二、系统开发工具的选择
  选择Delphi7.0作为该系统的主要开发工具。为了使系统更加的完善,界面更加的生动、完美,还选择了图形图象处理工具、Windows Api函数、窗体换肤控件作为开发时的辅助工具。
  三、数据库的选择
  该系统采用Access数据库。该数据库可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
  四、系统的具体实现
  (一)数据库的实现
  该系统数据库应包括个人帐户库、机房信息库、流水帐库、管理人员库和值班日志库。利用Access工具建立这些数据库,并标识需要的数据,收集被标识的字段到表中,标识主关键字字段,绘制一个简单的数据图表,规范数据,并标识指定字段的附加信息等。
  对于已建数据库的修改分为:添加、编辑和删除记录。这三种操作均可由Delphi 创建的程序来完成。
  (二)系统具体功能的实现
  完成网络机房的智能化管理,主要包括:个人帐户管理、流程管理、帐务管理、实时监控、实时通信、自动计费、自动关机。
  1.菜单栏的实现
  利用Delphi实现菜单选项,可以用Standard标签上的主菜单MainMenu组件和弹出式菜单PopupMenu组件,双击会在窗体上出现一个菜单设计器,改变它的一些属性如caption、shortcut等可得到不同的效果。另外还可使用Imagelist组件、按钮组件等使菜单和系统界面更加丰富多彩。
2.实现对数据库的操作
  计时、计费、计帐等功能的实现,需要编程实现对数据库的操作。Delphi中的一些数据库组件如Ttable组件、Tdatabase组件、TDBgrid组件Tquery组件等可以实现这些功能。对数据库的操作包括查询、删除、编辑等,可以使用SQL语言实现。常用的有创建数据表命令CREATE、删除数据库命令DROP、修改数据库命令ALTER、查询数据命令SELECT、插入命令INSERT(它可用于向数据表中添加新纪录或更新视图)、删除数据命令DELETE、修改数据命令UPDATA等。
  (1)数据纪录的查询
1) 确保要查找的字段是关键字或是已经为它定义了辅助索引;
2) 通过调用GOTOKEY方法,把要查找的TABLE组件设置成查找模式;
3) 把查找值送进被查找的Filed的缓冲区中;
4) 调用Table组件的Gotokey方法,测试它的返回值并判断查找是否成功。
  (2)数据记录的添加
  分别调用INSERT方法和Append方法,先插入空白记录再添加。
  (3)数据记录的删除
1) 判断数据集是否非空;
2) 调用CheckBrowseMode方法提交任何对以前记录的附加记录;
3) 触发BeforeDelete事件;
4) 删除记录;
5) 释放分配记录的空间;
6) 将数据集置于dsBrowse状态;
7) 重新安排记录,将数据记录置于下一条未删除的记录上;
8) 触发AfterDelete事件。
  (4)数据记录的修改
1) 找出需要修改的记录,并将指针移至该记录;
2) 用Edit方法将与数据库表相连的Ttable组件设置成编辑状态;
3) 修改字段;
4) 调用Post方法将修改后的记录写入数据库。
  3.用Delphi设计自己的代理服务器
  当前流行的浏览器的系统选项中有一个参数,即“通过代理服务器连接”,经过编程测试,当局域网中一台工作站指定了该属性,再发出Internet请求时,请求数据将发送到所指定的代理服务器上,为此可编写一个简单的程序,完成上述网络通信重定向问题。
  用Delphi设计时,选用ServerSocket作为与被代理工作站通信的套接字控件,选用ClientSocket动态数组作为与远程主机通信的套接字控件。
  编程时应解决的一个重要问题是多重连接处理问题,为了加快代理服务的速度和被代理端的响应速度,套接字控件的属性应设为非阻塞型;各通信会话与套接字动态绑定,用套接字的SocketHandle属性值确定属于哪一个会话。
  通信的衔接过程如下图1所示:
                          
                                   代理服务器
                                   Serversocket
                         (1)        接  收
         被代理端                  发  送                       
                         (6)    (2)      (5)
         Browser                  ClientSocket      (4)       
                                     接  收
                                     发  送          (3)

图1  通信的衔接过程
  (1)被代理端浏览器发出Web请求,代理服务器的Serversocket接收到请求。
  (2)代理服务器程序自动创建一个ClientSocket,并设置主机地址、端口等属性,然后连接远程主机。
  (3)远程连通后激发发送事件,将Serversocket接收到的Web请求数据包发送到远程主机。
  (4)当远程主机返回页面数据时,激发ClientSocket的读事件,读取页面数据。
  (5)代理服务器程序根据绑定信息确定属于ServerSocket控件中的哪一个Socket应该将从主机接收的页面信息发送到被代理端。
  (6)ServerSocket中的对应Socket将页面数据发送到被代理端。
  使用Delphi设计以上通信过程非常简单,主要是ServerSocket、ClientSocket的相关事件驱动程序的程序编写。
  4.使用TCP/IP协议实现聊天程序
  首先在控件栏的Win32页中选择ImageList控件和CoolBar控件,再从Win32栏选择ToolBar控件放置到CoolBar控件上。用鼠标右键单击“ImageList”控件,在弹出的菜单中选择“ImageList Editer...”选项,弹出“ImageList E diter”对话框,单击“Add...”按钮,选择5幅位图。在对象管理器Object Inspector中将ToolBar控件的Image属性设为“ImageList1”,用鼠标右键单击“ToolBar”控件,选“New Button”选项,总共创建5个ToolButton,在 对象管理器中将5个ToolButton的ImageIndex属性分别设置为0,1,2,3,4。此时ImageList控件中的5幅位图将会分别显示在Toolbutton上,将5个ToolButton控件的ShowHint属性全都设置为“ture”,并将它们的Hint属性分别设置为“监听”、“连接”、“断开连接”、“更改你的昵称”和“退出聊天程序”。然后在窗体中放置Edit控件、Memo控件、StatusBar控件和Label控件。将Label控件的Caption属性设置为“输入框”。最后,在控件栏的Internet页中选择SeverSocket控件和ClientSocket控件放置在窗体中,将SeverSocket控件和ClientSocket控件的Port属性设置为“1100”。
  SeverSocket控件是基于TCP/IP协议传输的服务器方的控件,它的主要作用是用来监听其它基于TCP/IP传输计算机的连接请求,并在收到连接请求时建立连接,进行数据传输,ClientSocket控件是基于TCP/IP传输的客户方的控件,它的主要作用是向监听TCP/IP传输的服务器发出连接请求,在收到服务器的允许连接的响应后,建立连接,并传输数据,之所以在窗体中同时创建ServerSocket和ClientSocket控件,是因为应用程序既可作为服务器,又可作为客户端使用。
  (1)Serversocket和ClientSocket之间的连接
  在对象管理器中,对ClientSocket事件页的OnConnecting事件编写处理客户等待连接请求;对SeverSocket事件页的OnAccept事件编写处理服务器响应连接事件; ClientSocket事件页的OnConnect事件在连接成功时被调用。
  (2)ServerSocket和ClientSocket之间的数据传输
  聊天的内容是通过Edit控件输入并在敲回车键后显示在Memo控件中,再传输到与连界的计算机中。在ServerSocket控件的onread事件中编写服务器接收到数据后的动作;在ClientSocket控件的onread事件中编写客户端接收到数据后的动作。
  (3)断开Serversocket和ClientSocket之间的连接
  对ToolButton3编写客户端断开的处理过程,以及服务器响应客户端断开的处理过程。
  (4)更改聊天者的昵称
  对Toolbutton4编写更改昵称代码。
  (5)退出应用程序
  对Toolbutton5编写退出应用程序代码。
  五、结束语
  网络机房智能管理系统其功能基本符合网络中心、机房管理的需求,该系统管理方便、运行安全可靠、安装配置比较容易、操作非常简单,使管理者方便快捷地进行机房的维护和管理,有效的提高了工作效率,节省了工作时间和工作量。
参考文献:
  [1]许加珆,曾翎,彭德中.软件工程-理论与实践[M].北京:高等教育出版社,2005.20-28.
    [2]沈才梁,万志平.Delphi 7.0程序设计教程[M].北京:清华大学出版社,2004.38-49.
  [3]罗超理,李万红.管理信息系统原理与应用[M].北京:清华大学出版社,2005.32-40.

上一篇:浅谈基于网格技术的现代远程教学系统模型研究

下一篇:关于院系教学秘书工作定位的探讨