来源:中国一卡通网 作者:滕连爽,李令臣,郭嘉喜 发布时间:2009-04-16 14:45:59 字体:[大 中 小]
摘 要:详细介绍了“ID卡机房智能管理系统”的设计方案与实现技术。实践证明,系统运行稳定,功能完善,计对收费准确无误,能够跨网段管理,达到了机房管理自动化和无人值守的目的,提高了工作效率,减轻了机房管理人员的工作负担。
0 引言
为了提高工作效率和管理水平,实现计算机机房的自动化管理,使机房管理工作由人工值守向无人值守方向迈进,根据我院实际情况,我们自主开发了一套全方位、智能化和安全性能高的纯软件机房智能管理系统。该系统以非接触式ID卡为介质,结合三层带路由功能的交换机,利用TCMP协议的传输方式,实现了跨网段管理的功能,能够直观、方便、有效地管理整个校园局域网内所有计算机。
1 机房智能管理系统的硬件组成
本系统采用非接触式ID卡作为身份识别的工具,每个服务器都安装一台ID卡读卡器,每台学生机上都安装客户端软件,通过机房管理端软件和客户端软件的结合,完全实现了身份识别、自动计费、远程监控、ID卡管理、数据统计分析等功能。系统硬件组成如图1所示。
图1机房智能管理系统硬件构成框图
2 机房智能管理系统的软件组成
机房智能管理系统基于C/S结构和B/S结构模式开发。B/S结构的用户主要是学生、系统管理员,主要完成丢卡挂失、密码保护、密码查询、个人上机明细查询、上机反馈、反馈处理、报表生成、系统日志等功能。C/S结构的用户主要是学生、机房管理员、系统管理员。学生用户端主要完成刷卡登录、断网独立管为不影响学生上机作为机房管理系统的客户端软件随着电脑的启动自动运视觉效果,系统采用登录托盘模式。管理客户端软件主要实现用户刷卡、远程控制学生端锁屏、解屏、关机、注销、开机、监控、修改密码、自动计费、费用查询、管理端结账等功能。系统管理端实现用户管理、上机管理、课表管理、费用管理和系统基础信息设置、远程控制等功能。软件功能结构如图2所示。
图2软件功能结构图
其中系统管理端各个子系统功能如下:
费用管理充值管理(集体充值、个人充值)、查询统计。
用户管理用户注册(批量注册、单人注册)、用户注销(批量注销、单人注销)、挂失解挂、用户换卡、用户信息管理。
课表管理机房课表设置、机房课表查询。
系统设置机房设置、管理员设置、费率设定、空闲设置。
上机管理刷卡管理、监控管理。
3 系统设计与实现
本系统建立在学校局域网之上,采用B/S和C/S相结合的混合模式,以windows 2000 server为服务器,以SQL server 2000为后台数据库,以PowerBuilder、VisualBasic和ASP.NET为开发工具,采用标准的TCP/ IP协议。实现了跨网段跨路由,突破了网段的限制,解决了每个网段需要配备一台服务器的问题,节省了资源。
3.1客户端的技术实现
作为机房管理系统的客户端软件随着电脑的启动自动运视觉效果,系统采用登录托盘模式。管理客户端软件主要实现行,迅速锁定屏幕、鼠标和功能键。学生在机房入口刷卡后到机房内部电脑输入账号和密码,经验证通过后,才可以使用电脑。上机结束后,在客户端自动结账关机。主要技术如下:
(1)客户端软件自动运行的处理
修改注册表“HKEY-LOCAI,MACINE\SOFTWARE\Mi-crosomwindows\cunrrentversion\run”中run的键值,就实现了自动运行的目的;同时配备硬盘保护卡、还原卡之类的保护卡,用户就无法删除客户端应用程序。通过修改注册表“HKEY_CURRENLMACHINER\SoRware\Microsoft\Windows\CurrentVerSion\Poliies\system\DisableTaskMgr中DisableTaskMgr的值,禁用任务管理器,用户不能中止客户端程序的运行。客户端程序一旦中止运行或强制中止便自动关机,以避免某些人通过某些途径关闭客户端程序,使本工作站不能被服务器监管。另外,系统采取辅助进程来加强客户端管理程序的安全性。该进程每隔一定时间检测客户端管理程序是否正常运行和IP地址是否被修改,如果没有正常运行或IP地址不正确,说明客户端管理程序已被破坏,该程序则自动将本工作站锁定或自动关机,使非法使用者不能使用该机。
(2)电脑控制功能的处理
PowerBuilder适用于数据库开发,但作为机器控制类软件开发,其功能特别弱。因此在开发中我们使用VisualBasic开发控件,结合PB实现电脑的控制,实现了PB与vB控件的无缝结合。本系统中通过调用系统API函数共开发了两个具有控制功能的控件,如表1所示。
3.2管理端的技术实现
管理端主要实现刷卡功能,同时自动设置收费状态、收费标准、远程控制等,以及完成上机卡的注册、注销、充值和收费统计分析等功能。
(1)刷卡功能的实现
目前,市面上流行IC卡、ID卡等。由于IC卡费用高,需要特殊的刷卡器和写卡器,不适于低成本的需要;与接触式IC卡相比,非接触式ID卡无需插拔卡,避免了由于机械接触不良导致的各种故障,因而具有操作方便、快捷、可靠、寿命长等突出优点,特别适用于人流量大的场合。ID卡和刷卡器成本低而且使用简单,刷卡后能够立即触发单行编辑框的modified事件,同时将ID卡号自动输入单行编辑框中,通过对modified事件的编程,就能够实现我们所需要的一切功能。因此,本系统选择了ID卡而不是IC卡。
(2)远程控制的实现
为了实现对客户端的远程控制,我们选择winsock编程进行通信传递控制参数,信息传递连接方式采取UDP连接。UDP协议不需要显示的连接,一个UDP应用可同时作为应用的客户或服务器方,两台计算机的地位可以看成“平等的”,这种应用程序也叫点到点通信(peer to peer),因此,任何一台安装服务器端软件的机器都可以作为服务器,能够实现校园网内的所有电脑对学生用机的远程监控功能。又由于UDP数据包具有较强的网络穿透能力,可以在上述网络环境相对复杂的场合进行网络通信。
服务器与客户机之间是借助winsock控件通过UDP协议进行通信的,因此,需要通过winsock控件属性设置对话框将服务器端与客户端的网络协协设置为UDP协议,如图3所示。
图3 winsock控件通信协议设置
服务器端远程控制窗口(W_server)的具体设置情况和窗口的“远程控制”命令按钮的“单击”事件的代码如下。
//Winsock控件的名字为ole_server
stnng ls_mes//定义变量ls_mes,代表发送的信息
string Is_ip//定义变量Is_ip,代表客户端ip地址
Is_ip=trim(sIe_2text)//获取客户端的IP地址
//指定客户端主机名称或lP地址
oIe_server.Object.RemoteHost=ls_ip
oIe_server.obiect.RemotePort=2001 //指定连接端口号
//指定要绑定的客户端主机的端口号
oIe_server.Obiecl.Bind(2002)
//获取单行编辑框中输入的要发送的信息
Is_mes:trim(sIe_senddata.text)
//使用ole_server控件中的SendData方法发送输入的字符串
ole_server.Obiecl.SendData(is_mes)
ole_server.Object.close //关闭控件
客户端软件主窗口(w_client)的open事件的脚本。
//WInsock控件的名字为ole_server.
oIe_server.Obiect.RemotePort=2002//指定连接端口号
//指定要绑定的服务器主机的端口号
oIe_server.Objecl.Bind(2001)
客户端软件主窗口(w-client)中ole-client控件的dataarrjval
事件的脚本。
int Ii_qr
uo_shutdOwn=Create nvo_shutdown
String is_RecvData//为收到的数据声明一个变量
//调用GetData方法获取数据
This.Object.GetData(REF is_RecvData)
choose case Is_RecvData
case“reboot ” //oIe_2为vb开发的shutd.ocx控件
oIe_2.objecl.shut(3)//强制重启
case“shutdown”
oIe_2.object.shut(5)//强制关机
case“Iogoff”
oIe_2.object.shut(0)//注销
case“lock”
open(w_pm)//锁屏
case“unIock”
cIose(w_pm)//解屏
CASE ELSE
messagebox(“友情提示”,lS_RecvData)
end choose
当在服务器端设置好客户端的IP地址,并绑定好客户端主机的端口号后,就与客户端建立了连接,服务器与客户端就随时可以通过sendD呦方法进行数据通信,完成对客户端的实时控制和监控。由于winsock控件每次只能发送一个字符串,我们对发送的字符串进行了实际意义的确定,如“reboot”表示强制重启、“logoff”’表示注销、“shutdown”表示关机、“lock”表示锁屏、“unlook”表示解屏等。客户端收到字符串后触发DataA而val事件,根据约定的字符串的意义,执行相应的功能,比如收到“lock”消息,客户端自动锁定屏幕,以此实现远程控制。
4结束语
根据上述思想和技术,我们利用PowerBuilder和VisualBasic设计开发了“ID卡机房智能管理系统”,大胆地整合了两种工具的开发特色,缩短了开发周期。通过一年的使用,系统运行稳定,计时收费准确无误,达到了机房管理自动化和无人值守的目的,提高了工作效率,节约了资源,大大减轻了机房管理人员的工作负担。
(文/青岛港湾职业技术学院,滕连爽,李令臣,郭嘉喜)
推荐文章
论坛热帖