《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 通信系统设备管理系统的分析和设计

通信系统设备管理系统的分析和设计

2008-12-15
作者:房晓斌

  摘   要: 针对通信设备管理" title="设备管理">设备管理的具体需求,使用Microsoft SQL Server 2000关系数据库管理系统" title="管理系统">管理系统设计客户机/服务器模式的数据库应用程序。介绍了需求分析、关系数据库、数据表格的设计和程序设计的过程。
  关键词: 数据库; 表格; 字段; 关键字; 外关键字

 

1 需求分析
  一个通信系统" title="通信系统">通信系统由许多设备组成,这些设备来自不同的厂家。而集中管理这些设备需要建设相应的管理系统。设备管理系统是通信系统网管系统的一个重要的组成部分。
  在通用的应用系统架构中,大多采用浏览器/服务器模式(B/S" title="B/S">B/S模式)或者是客户机/服务器模式(C/S模式)。这两种模式相比较,B/S模式具有格式标准和兼容性强的优点,但是服务器的处理任务较重;C/S模式的兼容性差,对客户机的要求也比较高,要求客户机和服务器共同承担一部分处理任务,但是却能减轻服务器的工作负担,而且私密性比较好。

  鉴于通信系统的私密性,设备管理系统仅在通信系统内部网络中使用,笔者选择采用客户机/服务器模式。在服务器上运行数据库管理程序,其任务是实现数据的存储、组织、维护完整性、一致性以及随时接受来自客户机的数据请求;客户机的任务是提供良好的用户界面、格式化并显示数据和其他的终端功能。
  根据需要,设备管理系统应完成下述功能:①用户管理:只有经过授权的用户才能够查询、修改、统计设备数据;②使用日志:哪位用户在何时做过何种操作,操作结果要有记录;③浏览设备:能够查看具体设备的数据,如编号、状态等;④修改设备数据:能够添加、修改、删除设备数据;⑤灵活的查询方式:能够按照设备的各种编号、名称、生产商、状态、所属分系统等方式查询;⑥统计功能:能够按照设备的使用状态生成报表。
2 设计原理、关键技术和设计方法
  按照面向对象编程的思想,从设备提供商的角度可以把设备的生产商定义为一类,从通信系统的角度可以把属于某个分系统的设备定义为一类,从设备的使用情况又可以定义成一类,而每个具体的设备就是这个类的一个实例。这样就可以定义出一件设备的具体属性。这些属性反映在数据库中就是数据表格中的字段,反映在客户端" title="客户端">客户端程序中就是这些类及这些类的实例。
  系统的设计原则是尽量减少服务器的工作量。服务器只负责数据库的存储和接收SNMP消息并分发到各个客户端。这样客户端与服务器之间仅仅有ODBC联接和SNMP的联接。客户端程序将用户的操作请求生成结构化的查询语句,并将查询语句通过ODBC联接发送给服务器;服务器收到查询语句后执行查询操作,然后将查询结果返回给客户端的程序。服务器需要运行数据库软件,为了保持数据的一致性需要编写特定的存储过程,还需要运行SNMP的管理器和针对SNMP消息的应用解释程序。
  在通信系统中,管理子系统存储所有子系统的配置信息,并且要随时收集所有设备的状态信息。管理子系统通常使用的网络管理协议是Internet工程任务组(IETF)提出的简单网络管理协议(SNMP)。SNMP协议简单易用,因而得到了广泛支持。
  SNMP是在TCP/IP协议栈之上的应用层协议,由三部分组成:管理信息结构(SMI)、管理信息库(MIB)和SNMP协议。SMI描述了管理信息的标准符号,最关键的原则是被管理对象的定义要用抽象语句定义ASN.1来描述。MIB用来储存管理信息,可以把一个管理信息库认为是一个虚拟的信息仓库。SNMP协议是网络管理站(manager)和代理(agent)之间的异步请求和响应协议。网络管理信息的数据由SNMP从MIB库中获取, 再经过网络管理系统应用程序的过滤、分析、加工处理后,存储于服务器的数据库中。
  SNMP的协议机制是:SNMP网络管理站通过发送各种管理报文或者接收代理发送的Trap事件报告来启动相应的管理操作;代理中的实体通过接收各种管理报文来触发相应的管理代理服务。如果某个设备产生故障报警,则这个设备所在的SNMP代理就会向管理子系统的SNMP网络管理站发出一条Trap消息,这条Trap消息包含了管理子系统所约定的设备故障报警的信息,如警报级别、业务受损情况等。
  设备管理子系统与通信系统管理子系统的交互方法之一是由设备管理子系统的服务器监视所有目的IP地址为管理子系统服务器的UDP数据包。一旦发现所监视的UDP数据包中包含SNMP的Trap消息为设备故障报警消息,则应用程序触发提示机制,提示操作人员什么设备在机房的什么位置发生什么样情况的报警;如果需要更换的话,提示相同的备品备件所在的位置。这种交互方法的优点在于不会占用管理子系统的处理能力,缺点在于加重了设备管理子系统不断监视网络数据的任务。
  另外一种交互方法是将设备管理子系统的服务器作为通信系统管理子系统的SNMP代理之一,由管理子系统统一管理。这样的交互方法优点在于减少了设备管理子系统的任务,而缺点是额外占用了管理子系统的处理能力。综合考虑,采取第一种方法为好。
  与B/S模式相比较,C/S模式下所有用户的使用功能都在客户端实现,因此在程序更新上要复杂一些。针对C/S模式的特点,可以采取服务器端提醒客户端更新程序的方法,如图1所示。在服务器的数据库中建立一个表格Version_Table,内容是客户端程序的最新版本、文件名和存储路径。同时服务器端提供FTP的服务,并存储最新版本的客户端程序。客户端程序启动之后首先检索该数据表,将数据表中最新版本号与自身版本相比较,结果一致就继续运行;如果结果不一致,则程序提示更新版本,依据该数据表中提供的文件名和存储路径通过FTP服务下载最新的版本并升级。

 

 


  设备在使用一段时间后故障率会增加,这段时间是该设备的使用年限。设备的使用年限主要是根据以往的经验值获得,以往的经验值估计来自设备在使用中会发生部件的磨损、变形、蚀损等原因引起的老化,也来自设备在闲置过程中由于金属锈蚀、塑料老化等自然原因形成的老化。
  根据设备老化的模型公式有:
    

  其中:Ls是设备老化程度的数量指标;Li是第i个设备的老化程度的数量指标;n是设备中发生老化的零件总数;Ki为第i个零件的价格。
  在数据库中根据设备的使用年限,结合设备的老化模型,就可以计算和统计出在通信系统中用于设备上的使用成本。
3 数据库设计
  相比较其他传统型数据库而言,关系型数据库采用了二维的数据表格,使用表格中的关键字段作为单个表格的索引,使用外关键字段作为表格之间的联系,使得海量数据的存取和查询速度更高,更具有优越性。本系统采用Microsoft SQL 2000作为数据库。
  所有通信设备都具有两种属性:MCN(Manufacture Number),SN(Serial Number)。MCN是设备的类别编号,同类设备具有相同的MCN;SN是设备的产品序列号,每一设备的SN唯一。除此之外,设备的属性还有设备名称、所属分系统、制造商、当前状态、位置、返修状态(与具体业务有关)、归属位置等。
  在这些表格中,最主要的表格是MCN表和Equipment表,其余的表格是对这两个表格的说明性表格。MCN表格存储同类设备的共同属性,Equipment表格存储每件设备的属性。这两个表格的关系见图2。

 


  MCN表中的MCN字段既是MCN表中的主键,也是Equipment表中的外主键。也就是说,当有一条记录要插入Equipment表格中时,如果这条记录的MCN字段的值没有出现在MCN表中,则插入失败。这样,就可以保持数据的一致性。当有设备加入数据库时,首先要查询MCN表。如果在MCN表中有这类设备,则该设备可以直接添加入Equipment表中;如果在MCN表中没有这类设备,则程序要首先添加MCN表中的MCN字段,再添加入Equipment表中。当有添加或删除设备的操作时,MCN表要更新CardNumber设备数量一项。如果CardNumber为零,则数据库从MCN表中删除掉该类的记录。
  其他的表格用于说明Equipment表中各个字段的含义。设置这些表格的目的在于在Equipment表中用一个短整型数值取代一个字符串值,这样可以节省数据库的空间,这个短整型数值的含义可以到解释说明表格中去查找。MCN表、Equipment表与这些解释说明表之间的关系见图3。

 


  需要特别说明一下Equipment表格中“百分比”一项的含义。由于设备在使用中都要承担一定数量的业务,如果出现设备受损的情况,就可以通过计算使用中相同种类设备的数量,来确定业务受影响的百分比。设置了“百分比”一项,如果设备的使用状态是“使用中”,则用户只要通过查询这一项就可以得到业务受损的结果。
  为了实现用户管理的目的,设置操作人员表、操作日志表和用户描述表。在操作人员表中,将用户设定了两种权限,普通用户只能修改自己帐号的密码,系统管理员可以实现增加用户、修改其他用户密码、删除用户等功能。用户描述表解释说明了普通用户和系统管理员的区别,在操作人员表中用一个短整型数值代替了一个字符串。
  操作人员表、操作日志表和用户描述表之间的关系见图4。

 


  操作日志表中的数据用户是无法控制的,在用户进入系统及进行操作时系统会自动把用户的动作及结果记录下来,将操作日志表中各个字段的数值显示出来。
4 客户端程序的设计
  客户端的程序采用模块化的开发方法,通过仔细分析用户需求,从上至下、从全局到局部,再紧紧依托数据库设计的结果,设计出功能不同的模块。各个模块的关系见图5。

 


  由于客户端的程序要频繁地读取数据库中的数据,因此需要编写一个数据库的操作模块。数据库操作模块的输入参数是标准的结构化查询语言SQL(Structured Query Language)语句,返回一个数据查询结果集。
  用户首先登录系统,登录成功后程序将用户进入系统这个动作记录入操作日志表。
  主程序这个模块的作用是接入管理台模块、打印报表模块和显示帮助文档。
  用户管理模块对不同权限的用户区别处理。当用户进入用户管理模块时,程序首先要读取操作人员表中对应用户的权限,如果权限为普通用户,则用户管理模块只允许该用户修改自己帐户的密码;如果权限为系统管理员,则用户可以修改所有用户的数据。
  管理台模块是所有设备操作的接入模块。在管理台模块用户可以浏览设备数据,也可以采用不同的方式灵活地查找设备数据。这些查找方式是根据Equipment表中不同字段来查找的。
  打印报表模块可以按照设备的不同状态生成报表,生成的报表是Excel电子表格文件。
帮助模块给用户提供帮助文档。帮助文档有对各个模块的使用说明,也可以提供关键字索引帮助主题。
  在设备管理系统设计的关键技术在于数据库的设计、网络环境的选择和客户端程序的设计。客户端程序的开发可以采用多种工具,但无论采用哪种工具,都要以处理数据为中心任务。采用C/S模式的结果使得服务器的工作量最小,对于数据的格式化显示和统计都在客户端来完成。采用服务器通知来更新客户端程序的方法,使整个系统增强了健壮性。
  本系统还存在许多不足,主要在于以下几个方面:在本系统应用的网络环境中,所有的数据都是明码传输,数据保密性不强。这些数据传输的内容主要包括了客户端程序发送的结构化查询语句和服务器返回的数据查询结果。在更新客户端程序时,每台客户端的计算机都要重新下载新版本的程序。这个过程加重了网络传输的负担。本系统在处理客户端的并发数据要求时,使用了Microsoft SQL Server的存储过程来加以控制。
  采用了设备管理系统之后,通信系统的结构变得更加复杂,系统内的各模块之间需要传递的信息增多了,需要配置的端口也增多了。但在应用了设备管理信息系统以后提高了工作效率,可以为维护人员及时、准确地提供设备的动态信息,为维护保养工作提供了依据,保证了通信系统的畅通,减轻了维护人员的工作强度。


参考文献
[1]  SILBERSCHANTZ A, KORTH H F, SUDAR5SHAN S. 数据库系统概念(第3版). 杨冬青,唐世渭等译,北京:机械工
业出版社,2000.
[2]  李真文. SQL Server 2000开发人员指南. ISBN7-900056-46-7/TP.45.北京:北京希望电子出版社,2001.
[3]  (美)FREEZE W著. Visual Basic数据库编程宝典.尹佶,冯硕,贾志博等译.ISBN7-5053-6675-0/TP.3721.北京:
电子工业出版社,2001.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。