摘 要 计费管理是网络管理的重要组成部分,ISP对于高效准确的网络流量采集处理机制和功能强大的Web计费管理系统具有迫切需求。本文介绍和比较了计费管理系统的两种设计模式,对不同使用角色进行全面需求分析的基础上,将目前流行实用的JSP三层体系结构模型引入可视化计费管理系统的设计实现中,并扼要描述了系统公共数据库接口和几个主要计费功能模块的实现。
关键词 网络管理;计费管理;JSP三层结构;MVC模式
1 引言
计费管理(Accounting Management)是网络管理的重要组成部分,通过测度网络资源的利用情况,产生详尽的信息统计报告及流量对比,为管理者提供决策依据。计费管理和OSI模型中的配置管理、性能管理、故障管理及安全管理息息相关。
一套完整的计费系统包括准确而高效的计费数据采集、数据的管理和维护、费用计算、计费数据查询以及各种统计分析以及日志管理等功能。在互联网普及的今天,能将计费查询、统计和分析及计费对象的管理集成到一套基于Web的可视化网络计费管理系统中,对于运营商而言更为重要。
2 计费管理系统的体系结构设计
在逻辑上,计费系统通常由三部分组成:计费数据的采集和处理系统、数据库系统及基于Web的计费管理系统。计费数据的采集和处理位于后台,需要和路由器交互,采用一定的流量采集方式和数据处理机制及时而准确的将数据写入数据库。另一方面,用户和系统管理员可通过远程登录Web计费管理系统进行信息的查询和管理操作。
对于前端的可视化计费管理系统,其设计模式因应用行业的不同而各异,传统的计费管理系统大多采用客户/服务器模式。随着企业和用户规模的不断扩大,应用系统的负载和日常数据量也日趋庞大,由于传统的二层结构模型暴露出不少问题,它正在慢慢为另一种三层模式所替代,亦即客户/Web服务器/数据库服务器的三层逻辑结构。
2.1 传统的C/S设计模式
客户端作为应用层,为用户提供操作界面和显示界面,它接受用户的数据输入并将服务器的查询结果向用户显示。服务器接受客户端的数据请求,进行相关处理后返回给客户端。当客户端数目增加时,会导致访问量和数据传输量的急剧加大。在这种两层结构中,由客户端程序直接操纵数据库,而业务逻辑的多变性使得客户端代码的更改非常频繁,从而系统缺乏可维护性和扩展性。此外,两层结构存在安全性问题。
2.2 流行的三层结构模式
Client/Web Server/DB Server是当前许多计费系统采用的三层流行结构,分别对应表示层、应用层和数据层。表示层作为用户输入和获取数据的窗口,一般由Web浏览器和处理请求的模块组成;数据层定义和维护数据的完整性和安全性,响应访问数据的请求,通常由大型的数据库服务器实现,如Oracle等;而应用层则是联系表示层和数据层的桥梁,它响应表示层的用户请求,执行任务并且从数据层获取必要的数据传送给表示层。如图1所示。
表示层和应用层最后面向的对象是用户,实现的是计费系统三大组成模块中的Web管理系统的功能。它的设计包括对页面输出方式和请求传递机制的确定、对各个业务功能模块的细分、与数据库服务器进行交互的接口。在物理结构上,表示层和应用层可以位于同一台机器上。用户和管理员通过一台Web查询浏览器访问本计费系统,所有的查询和管理配置以及生成的图像都以网页方式展现。
2.3 比较
可以看出,三层结构与二层结构的区别在于细化了服务器端的逻辑,数据库服务器只负责数据的存储管理,而Web服务器则专门负责处理查询请求和应答。三层结构实现了应用级和数据库之间、应用逻辑和用户界面之间的全面分离,比之单一的C/S模式改进不少。首先,应用服务器开发的组件可以同时用于客户端和Web服务器,提高了系统模块的复用性,降低了维护费用。其次,中间Web应用服务器层的引入大大提高了数据的安全性,适用负载均衡。再者,三层结构模式属于目前比较流行的Web开发架构模型,已经有很多实现技术,其开发环境具有平台无关性的特征,易于分工实现。
从上述讨论可以得知,三层结构具有传统模式无可比拟的优点,鉴于它的先进性和流行性,我们将其应用与基于Web的计费管理系统的设计中。
3 基于三层结构模式实现计费管理系统
计费管理系统面向对象的身份、级别都不一样,它的界面设计风格和功能提供方式由于不同的需求和喜好变得复杂而重要。良好的设计源于全面而详尽的需求分析,才能得到明确的设计目标,从而选择正确先进的实现技术,方可称为比较完善的系统。具体说来,计费管理系统不仅需要实现计费数据的多样化查询,还应该融合配置管理、日志管理、性能管理和安全管理的功能,提供友好的人机接口,提供决策依据。下面我们将逐一展开讨论。
3.1 需求分析和目标
使用计费管理系统的角色大致分为三种:系统管理员、前台管理员和普通用户。
系统管理员一般隶属于提供网络服务的部门,具有最高管理权限。他负责维护各种原始数据、分析数据态势、实时监控该系统的运行状况、查看网络运营并且及时处理各种异常现象、对网络和系统的动态调整提出建议并申报决策者。概括而言,系统管理员是整个计费管理系统的使用核心,计费管理系统提供的大部分高级功能都面向系统管理员。
前台管理员指专门负责计费核对、查账收帐和客户直接打交道的人员。其权限仅限于对各种相关计费数据和用户信息的浏览以及一定程度上的用户资料修改。
普通用户指租纳网络服务的单位以及个人,他们需要了解自身对网络资源的详细使用状况,按照实际标准缴纳费用。普通用户更关心计费数据和帐单的可靠性、真实性和详尽性。
从更为具体的功能定义上,面向ISP的计费管理系统的设计目标
● 管理全网的IP地址群,方便的WEB页面方式提供增加、修改和删除IP地址,以及IP地址的详细分配情况。
● 管理该ISP的所有用户及其权限和计费参数,提供添加、修改和删除用户和在线注册功能。
● 提供高效率的实时流量查询、日流量查询、月流量查询以及帐单查询,提供最原始的数据采集初期的记录等。
● 提供异常数据包监测功能,方便的定义异常包特征。
● 提供针对全网和所有用户的流量统计趋势图表,得到协议统计图,并进行一定程度上智能化的预测和分析。
3.2 基于JSP的三层架构实现
在三层结构模型中,Web浏览器是提供给客户端的GUI图形界面,所有用户通过统一的应用界面提交查询或管理请求并且得到回应,可以采用的技术有HTML和JavaScript等。中间层的技术有CGI、Java和Servlet。Servlet是理想的中间层处理技术,它由Web服务器加载,用Java进行开发,通过建立有效的数据库连接机制可以很容易处理成百上千个客户连接。Web与数据库接口技术
3.3.2 计费流量查询Bean的实现
多模式高粒度的计费信息查询包括用户分类查询、用户结算数据查询、年度数据查询、月数据和日期数据的查询,按IP地址的数据查询以及详细的历史数据查询等功能,还包括帐单的自动生成及发送和报表查询。同时,流量查询面向系统管理员、前台管理员和普通用户三类角色,必须有身份认证机制控制每类对象的查询权限。图3是四种流量查询方式的模块接口图。
3.3.3 数据统计分析Bean的实现
对计费数据的统计和分析包括两方面:基于流量的统计和基于应用协议的统计分析。前者的目的是得到整个运营网络的各项流量指标参数,比如最大(小)流入(出)值、日(月或年)的单位流量排行、各单位流量所占百分比等。而基于协议的统计分析则根据不同的应用服务协议进行分类,统计某段时间的各种服务的百分比,从而得出用户行为模式曲线。基于网络不同时段的总流量还可以得到线路带宽利用率,计算出用户满意度,这为管理员获得整个网络的一项性能参数提供了可以参考的依据。
本功能的实现可以借助JFreeChart完成,这是一个免费JAVA绘图类,利用格式化数据生成相应的统计图。图4是数据统计分析模块的实现接口,其中TrafficStats.jsp和ProtoStat.jsp接收相关查询请求并显示统计图片,它们统一调用GraphBean进行有关数据的统计归纳,然后进行格式化。
通过应用协议的统计分析可以得到如下网络参数:
● 各类服务的流量(包括www、ftp、dns、telnet和其他服务),以及总流量total = www+ftp+dns+telnet+other;
● 各类流量所占百分比,得到何种网络协议的流量最大;
● 计算线路使用率:假设线路带宽为BandWidth(Mbits/秒),以一周平均上班时间Time(秒)为标准,则该线路的使用率=(总流量total)/(BandWidth*Time)*100%;
● 用户满意度的算法用正态分布来计算。设X表示线路利用率,标准差δ假设每小时与每小时之间描述使用率分布,则用户满意度的计算公式可以为:用户满意度=Φ((60-X)/δ)。
4 总结
计费系统是实用性很强的系统,性能优良的数据采集机制和全面的Web管理功能可以为运营商带来直接收益,具有长远的意义。目前,JSP三层结构设计模式已成为非常流行的开发框架,被广为运用于众多应用系统的实现中,同样,对于尤其是运营商而言,成功地将该模式用于计费管理系统的设计实现,将是一个较为成功的案例。
参考文献
[1] 黄浩文,黄静舒编着.JSP核心技术和电子商务应用实例.机械工业出版社,2001
[美]Bruce Eckel着,京京工作室译.Java 编程思想 Thinking in JAVA.机械工业出版社,1999
Understanding JavaServer Pages Model 2 Architecture Exploring the MVC design pattern
MVC模式及FrameWork