1、论文题目:电信运营计费管理系统设计与实现摘 要电信运营支持系统是一个综合的业务运营和管理平台,真正融合了传统的数据业务和各类增值业务的综合管理平台。随着通信网络的智能化、增值业务和数据业务的发展,电信运营支撑系统与业务系统在支撑端到端的业务流程方面结合的越来越紧密,企业和网络的转型,使得我们必须认真思考运营支撑工作和系统建设在新形势下如何才能更好地支撑转型工作和更好地服务于广大客户。因此,需要有一个比较完善的电信运营计费管理系统来实现对数据采集,整合,业务查询等功能的管理,达到满足用户要求。本论文是在分析现有的电信运营计费系统的基础上,通过对电信行业的了解,采取一些电信运营管理系统某些优点,从
2、对系统的需求分析起,以系统的实现为中心,利用Java 开发语言,设计和开发一个 J2EE 的电信运营计费管理系统。关键词 电信,运行支持系统,管理系统论文类型 设计型Title: Telecommunication operation billing management system design and realizationMajor: e-commerceABSTRACTTelecom operation support system is an integrated business operations and management platform, which is the m
3、anagement platform that the real integration of the traditional data services and various value-added integrated business. With the intelligent communication network and value-added services and data business development, telecom operation support systems and business systems in support of end to en
4、d business processes more closely integrated, enterprise and network transformation, we must seriously consider making operations support the work and system construction in the new situation, how can we better support the transformation of work and better serve our customers. Therefore, the need fo
5、r a more complete accounting management system for telecom operators to achieve the data collection, consolidation, business inquiries and other functions of management, to meet user requirements.This paper is the analysis of the existing telecom operators based on the billing system, through the un
6、derstanding of the telecommunications industry, telecom management systems take some of the advantages of the system from requirements analysis, the implementation of the system as the center, using Java development language, designed and developed a J2EE-telecom billing management system. Key words
7、 Telecommunications,Operational Support Systems, Management SystemType of Thesis Design type目录1 绪论 11.1 研究的背景 11.2 国内外市场研究 11.2.1 国外市场研究 .11.2.2 国内市场研究 .21.3 研究的目的 .21.4 研究的意义 .21.5 本文的组织结构 32 电信运营计费管理系统的概述 32.1 电信运营计费管理系统的概念 .32.2 电信运营计费管理系统的特点 33 电信运营计费管理系统开发工具和系统结构 43.1 开发工具 .43.1.1 数据库 .43.1.2 开
8、发语言 43.1.3 集成开发工具 .43.1.4 浏览器 .43.2 系统架构 .43.3 系统技术平台 54 电信运营计费系统的需求分析与总体设计 54.1 需求分析 .54.1.1 业务处理环节 .64.1.2 性能需求分析 .64.2 总体设计 .65 电信运营计费管理系统的详细设计 85.1 数据库设计 .85.1.1 数据库的概念结构设计 .85.1.2 数据库逻辑结构设计 105.1.3 数据库的物理结构设计 .105.2 系统功能模块设计 .115.2.1 采集系统 115.2.2 登录模块 135.2.3 管理员管理 154.2.4 资费管理 176 电信运营计费管理系统实现
9、 186.1 电信运营计费管理系统后台实现 186.1.1 采集系统实现 .186.1.2 数据整合 206.2 电信计费系统前台实现 206.2.1 前台持久层实现 .206.2.2 前台业务层实现 .216.2.3 数据前台部分实现 217 总结 23参考文献 2511 绪论1.1 研究的背景随着电信运营商“全业务”竞争的展开,以及“以业务为导向,以客户为中心”的理念的形成,对电信运营支撑系统提出了更高、更强的要求,向新一代的运营支撑系统发展成为电信运营商决胜市场的关键之一。电信运营支撑系统作为快速开通业务、及时保障业务、优化管理网络资源的重要手段,越来越受到运营商的重视。随着通信网络的智
10、能化、增值业务和数据业务的发展,电信运营支撑系统与业务系统在支撑端到端的业务流程方面结合的越来越紧密,电信运营商业发生一些转变:从以网络为中心变为以客户为中心,以交换机为基础的智能技术变为分布式计算技术,从通话收入变为增值服务收入,从分离网络变为多技术融合的网络。许多通信运营商已经拥有并开放了包括固定和移动的话音、视频、国际和国内长途传输、多媒体通信、各种固定与移动数据通信、无线局域网和宽窄带互联网接入以及接入网等各种类型的业务及庞大的传输网络。因此,如何有效管理新的业务,更快捷推出新的业务,同时为用户提供高质量,可管理服务系统所目前各大电信运营商面临的主要问题。电信运营计费管理系统就是针对目
11、前电信业存在的问题,采用主流的开发语言实现一个管理系统。1.2 国内外市场研究1.2.1 国外市场研究国际上,从事电信运营支持系统研究的组织和机构也比较多,英国电信(BT)较早的从事新一代电信运营支持系统的工作,并与 ITU-T(国际电信联盟),IMF(电信运营与管理的非盈利性国际组织)经过一定程度的调查提出了进行 NGOSS 研究的原型。NGOSS是一个复杂的分布式异构系统,单从一个方面很难分析清楚,为此,TMF 先后提出了NGOSS 体系架构和技术规范,在进行系统的设计与实现的过程中从多角度对 NCOSS 进行研究。在商务领域中,为了规范化,为了更符合市场化的要求来处理电信运营企业的实际问
12、题,为商务和运营处理提出统一的观点,为此 TOM 电信运营图,抽象总结电信企业运营过程,把电信运营过程分为实现,保障和计费三个端到端处理过程,并从客户层,业务层,网络层不同层次对功能进行划分。随着新业务的推出以及经营观念和模式改变,电信运营上推出综合服务和大量的套餐,同时针对客户提供个性化服务。随着NGOSS 系统功能的增强,系统之间和构件之间的交互增大,传统的 OSS 系统分别管理自己部分,数据之间不能共享,使系统在互连,改建,和升级时,出现许多温柔,所以对 NGOSS 系统结构进行分析,提出新一代的 NGOSS 系统结构。21.2.2 国内市场研究国内各大运营商的运营系统已有了一定的基础,
13、规划和建设建成体系,尤其是近几年,随着新一代运营系统理论的逐渐成熟, ,对运营系统的发展起到巨大的推动作用。在中国电信的南方中国网通的北方各省,网上在线运营的支撑系统多数仍然沿袭旧的格局,主要的系统包括“九七系统” ,计费账务系统,客服系统,资源管理系统,交换网管理系统,经营分析系统等等。各省公司都将按照企业信息化战略规划(ITSP)的思路开始规划自身的 OSS 系统。从趋势来看,旧有系统的功能仍将保留,但系统模块的划分将会有所打乱,系统的建设将逐渐由本地网集中向省集中过渡,功能系统之间将共享核心数据模型。网通集团和下属各省公司也开始逐步规划和实施信息系统的建设,整体的思路也将朝着综合业务,数
14、据共享和管理集中的方向前进。在电信北方各省和网通的南方各省,由于没有遗留系统,支撑系统的建设基本都按照“一体化”的模式。各省基本都是建设一套综合业务支撑系统,涵盖了业务受理,计费,账务,结算,产品管理,代销商管理等功能。总之,国外电信运营商发展比较成熟,提出下一代电信运营支持系统的发展雏形,我国电信运营系统呈现南北不同的局面,各自取得成绩的同时也存在不同的问题,建设比较规范的电信运营计费管理系统是目前发展趋势。1.3 研究的目的通过此系统的设计一方面了解目前中国电信运营支撑系统的各自的模式。中国电信运营市场竞争格局已经形成,开放的脚步也逐步加大,国内各大电信运营商为了提高经营管理和服务水平,适
15、应新业务发展的需求,纷纷构建各自的运营支撑系统模式;另一方面为电信运营商如何有效管理业务,高质量满足用户需求提供一个典范,原因在于建设新形势下电信运营支持管理系统是电信行业的发展趋势。1.4 研究的意义电信运营计费管理系统是随着电信行业和计算机产业的发展不断成长起来的,特别是计算机和通信技术的不断进步而不断完善的。在计算机和数据库技术的发展下,软件企业工作流程越来越完善,新一代电信运营计费系统需朝着灵活化,集中化,复杂化方向发展。此外,市场竞争的形成,用户服务需求的扩大,电信企业需要一个实时性,综合性为一体的运营计费系统进行统一管理。通过电信运营计费管理系统的分析与设计,可以获得以下几个重要的
16、意义:(1) 融合业务。电信行业在传统的语音业务的基础上,又不断推出宽带,移动等业务,所以电信行业在一个统一的平台中实现全业务的计费管理是一个重要的工3作。(2) 提高客户满意度,减少资金的浪费。电信运营计费管理系统为客户提供详细的消费明细单,在很大程度上做到使客户非常清楚知道自己日常消费信息,提高客户的服务效率与质量。(3) 提高运营管理效率。通过管理此系统的设计,解决人员分散,管理水平参差不齐模式,降低人力资源,提高运营效率。1.5 本文的组织结构本课题共分为七章,具体内容如下:第一章:绪论。主要介绍设计与开发此系统的背景,国内外发展现状研究和设计的目的以及设计的意义。第二章:电信运营计费
17、管理系统概述。介绍电信运营计费管理系统的概念和特点。第三章:电信运营计费管理系统开发工具与技术介绍。介绍电信运营计费管理系统需要的开发工具已经系统架构和系统平台选择。第四章:电信运营计费管理系统的需求分析和总体设计。介绍电信运营计费系统功能模块结构,以及各个功能模块需求分析。第五章:电信运营计费管理系统的详细设计。从系统数据设计和采集系统的实现为例进行介绍。第六章:电信运用计费管理系统的实现。介绍系统的后台到前台具体实现过程。第七章:总结。对此次系统分析与设计过程进行总结。2 电信运营计费管理系统的概述2.1 电信运营计费管理系统的概念计费系统是电信运营支撑系统的重要组成部分,此系统能否有效,
18、安全的运行不仅直接关系到电信运营商的效率和发展,也间接的体现电信运营商对广大用户服务水平的高低。计费管理系统就是指电信行业为用户提供的通信服务从开始启用账号到缴费的过程进行管理。2.2 电信运营计费管理系统的特点(1)以客户为中心。面对市场竞争,努力改善服务质量,快速响应市场和迅速满足客户的需求,时刻以客户为中心是电信行业的发展趋势。(2)端到端过程。实现电信和数据业务运营过程自动化和集成化的是电信计费系统前提。(3)有效数据的共享。电信行业涉及到用户的数据比较多,解决数据一致性问题,提高运营效率。43 电信运营计费管理系统开发工具和系统结构3.1 开发工具3.1.1 数据库目前主流数据库为关
19、系型数据库,如 Oracle,SQL Server,DB2,MySQL 等产品。他们都建立在严格的数学概念的基础上,将实体与实体之间联系用关系表示,其结构简单,清晰,具有很高的数据独立性何安全保密性。对于电信行业,每天存储的数据数量比较大,个系统之间的交互比较频繁,因此应该使用商业性的数据库如 Oracle 或者 DB2。然而,作为一名在校生,只需要模拟系统,MySQL 数据库占用的内存小,免费,因此,选用 MySQL 数据库。3.1.2 开发语言目前市场上开发语言有 C/C+,C#,Java 等,这些语言有各种优势,针对电信行业,对系统的网络和安全方面有非常高的要求,最好可以实现跨平台操作。
20、Java 最大的特点就是实现跨平台操作,它是一种面向对象语言,非常符合人们的思维角度,具体继承,封装,多态,抽象的特点,而且在网络方面做得比较好,因此,此系统选择 Java 语言。3.1.3 集成开发工具随着 Java 语言在各行各业中的广泛应用,对系统的要求越来越高,希望系统快速开发,对应各个语言的集成开发工具不断出现,由于我选用 Java 语言,对应的集成开发工作为 MyEclipse.它集成可 Java 中的许多语言,随时提醒开发过程中的错误,在很大程度上提高开发效率。3.1.4 浏览器在系统中实现了 B/S 架构,需要选择一种浏览器,目前常用的浏览器为 IE,因此选用 IE 作为浏览器
21、。3.2 系统架构一个良性系统未来运行的成功与否关键在于其所使用的架构,目前市场上主要的系统架构是 C/S 与 B/S 架构。此系统基于 Web 方面的,传统的 C/S 架构已经不能满足大量用户的访问与操作,B/S 基于浏览器的架构则是目前网络系统应用的主流,他将大量的数据处理交给服务器来处理,客户端只需要通过普通 IE 浏览器即可访问系统。方便快捷而且利于系统的更新和维护.在加上目前流行的计算机语言 Java 在 C/S 架构方面更是得天独厚,以及J2EE 规范的出现则使系统的开发更加规范,层次更加清楚,更利于对复杂事务的处理,而且在安全方面也做的更好。 5在 B/S 体系结构系统中,用户通
22、过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S 结构中服务器将负担更多工作,对数据库的访问和应用程序的执行将在服务器完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由 web Server 完成。实际上 B/S 体系结构是把二层 C/S 结构的事务处理逻辑模块从客户机的任务中分离出来,由 Web 服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了 Web 服务器。3.3 系统技术平台目前,各个电信运营企业都建有大量的系统,包括业务经营、客户服务、市场营销、经营决策分析、网络管理和企
23、业内部各个方面。一般的电信支撑系统包括业务支撑系统,网管支撑系统和管理支撑系统。随着运营支撑系统整体结构与功能的复杂化, “技术”在系统建设过程中的地位越来越重要。在运营系统发展之初,由于业务需求少,功能结构简单,在加上当时的技术有限,系统的一致性问题很少涉及。随着电信业务不断扩大,出现系统数量的增多,功能之间的重叠,信息交互以及资源共享的问题,必须对现有的系统进行应用上的整合或者重新设计开发,在一定程度上减少系统数量。电信计费系统作为运营支撑系统的重要组成部分,在系统技术方面更需要朝着正确思路设计开发,使系统具有可扩展性,稳定性,可移植性等特点,同时减少系统开发的时间。目前市场上主流企业级应
24、用开发平台是 J2EE 与.NET。.NET 与 J2EE 是目前企业 Web Services 平台市场上两个最重要的应用框架。它们都在企业级开发上为用户提供了总体的指南。从对比中可知,这两项技术各有各的优势。就企业而言,内部众多系统的整合、系统的延展性、安全性是更需要注意的议题,而这些都是 J2EE 的优势,也是.NET 的不足之处。在效率方面,J2EE 主张通过硬件的效能增加来弥补软件的不足。电信运营计费系统需要很高的稳定性与安全性,需要支持大量客户并行访问,且需要实现跨平台,而.NET 尚未能实现其跨平台的特征,J2EE 几乎成了惟一的选择,J2EE的所有标准都是公开的。它本身就是一系
25、列规范,而不是产品,许多厂商都可提供兼容的产品和开发工具,而.NET 在设计之初就紧紧把平台规范与产品胶合在一起,只有一小部分具有开发性。因此,本系统选择 J2EE 技术设计开发电信计费系统。满足电信运营支撑系统的发展需求,保证支撑系统向“集中化、标准化、服务化、可扩展性”的方向发展。64 电信运营计费系统的需求分析与总体设计4.1 需求分析需求分析主要是对收集到的需求进行提炼、分析和认真审查,以确保所有的项目和相关人员都明白其含义,并找出其中的错误、遗漏或其他不足的地方,形成完整的分析模型。需求分析是介于系统 分析和软件设计间断之间的重要桥梁。良好的分析活动有助于避免或尽早剔除早期错误,从而
26、提高软件生产率,降低开发成本,改进软件质量。本系统分析的是实时采集系统获取各项业务的原始数据,然后结合用户信息,资费标准及优惠政策进行处理。通过对一段时间调查以及利用网络资源,下面是电信计费管理系统业务处理环节以及基本性能。4.1.1 业务处理环节(1) 开始点,接收到原始清单文件。(2) 结束点,生成的计费清单入库。(3 ) 输入,各种原始清单数据,各种规则参数如用户资料、标准资费、优惠政策等。(4) 输出,计费过程中的报表和处理日志,输出的各种计费清单数据。4.1.2 性能需求分析(1) 数据的精确性:查询时保证查全率。(2) 时间特性: 一般操作响应时间在 3-5 秒内(3) 适应性:对
27、运行环境要求的普遍适应性。(4) 安全性:在数据传输过程中保证信准确性,安全性。(5) 保证 7*24 服务。电信运营计费系统需要为用户提供全天候的服务,所以系统必须时刻正常运转,网络设备与服务器的随时畅通。4.2 总体设计本系统采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系以及它们之间的调用关系和数据联系,定义各模块的内部结构,通过对模块的设计和模块之间关系的系统来实现整个系统的功能。经过对电信运营需求的分析,整个系统划分为前台和后台两大部分,后台主要是数据服务,包括对用户使用实验室数据的采集和把采集的数据
28、整理成数据表到数据库中的整合系统。前台部分主要是对运营的管理,经过精心的设计把前台管理部分按功能特点划分为以下几个部分:用户管理系统、资费管理系统、管理员管理系统、帐单查询系统、帐务查询系统、用户自服务系统、权限管理系统如图 4-17电信运营支撑系统前台营运管理 后台数据服务用户管理资费管理管理员管理权限管理采集系统整合系统图 4-1 电信运营计费管理系统功能结构图有关功能说明:(1)采集系统本系统是一个计费的系统,要想对用户进行准确的收费,首先必须能够获得用户使用开放实验室的准确的使用记录,采集子系统正是为了获取这些记录而提供的。利用操作系统的自身功能,开放实验室是一个 Unix 服务器,
29、Unix 服务器本身就具有记录系统日志的功能。用户每次登录和退出 Unix 服务器的信息都会被自动保存到一个在线日志文件/var/adm/wtmpx 中。采集系统通过调用 Unix 系统函数来读取这个日志文件中的内容,然后对读取到的内容进行整理,整理为方便计费的数据,其中包括登录名、登录时间或登出时间等作为计费依据的数据。最后把这些数据存入数据库中,以备其他系统使用。为了使读取的数据量不至于过大,采集系统会每小时定时执行一次,每次只采集上一个小时时间段之内的数据。(2)整合系统采集系统定时将用户使用服务器的数据存入到了数据库中,但这些数据都是流水帐的数据,是用户每次使用 UNIX 操作系统的用
30、时。如果用户量大,用户频繁地登入 /出,将产生大量的数据,不便于将来生成用户的月账单和对开放实验室的使用情况进行月统计和年统计,因此,出现了整合系统。整合是将某个用户在某一时段内所用机时求和后形成一条记录。(3)管理员管理8管理员管理系统对本系统的各个子系统的访问都是受权限控制的,只有拥有了访问权限,才能使用子系统。管理员管理系统就是超级管理员来管理普通管理员。超级管理员登陆成功后,可以增加新的普通管理员,同时为他分配一些权限,可以修改普通管理员的信息,可以查询所有的管理员信息,可以删除某些管理员。(4)资费管理资费管理子系统就是用来管理资费的。具有资费管理权限的管理员登陆成功后,可以添加新的
31、资费,查询所有的资费,可以修改现有的资费信息,还可以删除资费。特别要注意的是:由于对资费的修改会影响选择了这种资费的用户要交纳的费用,所以在修改资费信息前要事先通知所有已经选择了这个资费的用户;只有当没有任何用户选择某个资费了,这个资费才能被删除掉。(5)用户管理用户要想成功登陆到开放实验室中,事先必须要拥有一个这个开放实验室上的帐号,在本系统中此帐号称为业务帐号,每个开放实验室上的业务帐号的用户名是唯一的,不同的开放实验室上的业务帐号的用户名可以相同,这个帐号用户可以通过向本系统中具有用户管理权限的管理员去申请。一个用户会有多种业务,如:Email 服务、Unix 系统、代理主机服务等,每个
32、业务我们都要收取一定的费用,如果我们以业务账户为单位来算总的费用,那么用户申请的每种业务都要单独交费,会给用户造成不便,所以我们又添加了帐务账户来统一管理每个用户所使用的所有业务账号上发生的费用,帐务帐号是要和用户的真实信息联系在一起的,所以每个用户只能有一个帐务帐号,但可以对应多个业务帐号。5 电信运营计费管理系统的详细设计5.1 数据库设计5.1.1 数据库的概念结构设计概念结构设计是将分析得到的用户需求抽象为信息结构(即概念模型)的过程,它是整个数据库设计的关键。概念结构的主要特点是:(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一
33、个真实模型。(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。9(4)易于向关系、网状、层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。为了把用户的数据要求清晰明确的表达出来,通常要建立一种面向问题的数据模型,按照用户的观点来对数据和信息建模。最常用的概念性数据模型就是 ER 模型。ER 模型比较接近人的思维方式。此外,ER 模型使用简单的图形符号表示系统分析员对问题的理解,不熟悉计算机的人也能理解它,因此,ER 模型可以
34、作为用户与系统分析员之间的交流工具。电信运营计费管理系统在数据库的设计中充分考虑到概念结构设计特点,通过一个月的实习对电信行业需求进行分析,下面以管理员模块某些实体为例,设计的 E-R 图管理员管理员ID管理员名字 管理员登录名管理员登录密码管理员电话管理员邮箱管理员授权日期图 5-1 管理员信息角色角色 ID 角色名字图 5-2 角色信息10管理员角色管理员角色 ID管理员ID角色ID图 5-3 管理员角色信息5.1.2 数据库逻辑结构设计所谓的数据库逻辑结构设计就是把概念结构设计阶段设计好的基本 E-R 图转化为与选用的 DBMS 产品所支持的数据模型相符合的逻辑结构。经过规范后得到的关系
35、模型如下admin(id,name,loginname,loginpassword,phone,email,enrolldate)role(id,name)adminroles(id,adminid,roleid)5.1.3 数据库的物理结构设计本系统采用 JSP 作为表示层,选择 MySQl 关系型数据库产品。物理结构设计基于以下几个原则:一是减少数据冗余的重复;二是结构设计与操作设计相结合;数据库结构具有相对的稳定行。在 MySQL 中建立名为 netctoss 数据库,并在此数据库上建立如下的表(以管理员部分为例) 。表 5-1 admin 管理员表,主要用于存储管理员信息,该表的结构如
36、下:字段名 类型/长度 是否为空 主键 说明Id Int no PK 自动增长name varchar/20 no 管理员姓名loginname varchar/20 no 管理员登陆名loginpassword varchar/20 no 管理员登陆密码phone varchar/20 no 管理员电话email varchar/30 no 管理员邮箱11enrolldate date no 管理员授权日期表 5-2 role 角色表,存储用户/管理员角色信息,该表的结构如下:字段名 类型/长度 是否为空 主键 说明Id int no PK 自动增长name varchar/20 no 角色
37、名表 5-3 adminroles 管理员角色设置表,该表的结构如下:字段名 类型/长度 是否为空 主键 说明Id Int no PK 管理员角色 idAdminid Int no 管理员 idRoleid Int no 角色 id5.2 系统功能模块设计电信运营计费管理系统有两部分组成:前台与后台。后天主要负责数据的采集与整合,前台是管理员对用户业务需求的管理。5.2.1 采集系统(1)采集系统类图设计1)采集系统客户端设计图 5-4 数据采集系统客户端类图12数据采集客户端类图如上图 5-4 所示。Configuration 类负责读取配置文件下的数据信息,DataReader 类读取采集
38、到数据,DataMatcher 类将采集到数据进行匹配,DataGather 类将匹配到数据进行收集,DataSender 类将收集好的数据有客户端向服务器端发送。客户端运行过程为:由 Configuration 类加载初始化数据,找到需要采集数据的路径,DateReader 类执行 readlogs()方法,将读到到所有数据交给 DataMatcher 类,该类执行 matchlogs()方法进行匹配,接着 DataGather 类执行 gather()方法收集匹配好的数据传给 DataSender 类,该类执行 send()方法,将数据发送给服务器。2)采集系统服务器端类图设计图 5-5
39、采集系统服务器端类图设计上图 5-5 是数据采集服务器端类图设计,在该类图设计中,DMSServer 类是服务器端一个类,它创建一个线程由 DMSServletThread 类来实现,FileLogWriter 类负责将客户端发来的数据写到文件中,DBLogWriter 类负责将服务器端得数据写到数据库中,FileLogWriter 类负责将服务器端得到数据写到文件中去。整个采集系统服务器端的运行过程为:启动服务器类 DMSServer 执行 startService()方法,为了实现多线程,有具体线程实现类 DMSServerThread 来实现,执行 readLog()方法,负责将客户端采
40、集到数据写到服务器端,在这里采用接口的方法,即接口类 LogWriter(),在该类中有两个抽象的方法一个是将数据写到数据库,一个是将数据写到文件,接口中方法交给具体实现类,FileLogWriter 采用 Java 中文件写入写出的方式实现,DBLogWriter 使用 JDBC 方法与数据实现连接,将信息存入数据库中。(2)数据采集配置文件说明为了保证系统得灵活性,在该系统中把服务器和本机有关的参数都通过属性文件配13置,由程序动态读取。文件名确定为 config_server.properties属性 key 属性 value 例子 备注说明Interval interval = 60
41、采集的间隔时间,以分钟为单位Ip ip = 192.168.0.20 采集点的 IP 地址。Sourcefile sourcefile= f:usradmwtmpx 采集的源的文件名,包含目录destinationpath destinationpath= f:usrhistory 采集源的备份目录,目录后面必须加目录分隔符号。Command command=cmd /C move 数据源被采集的时候,先移动到备份目录,这个属性设置数据源文件移动的 shell 指令或 dos 指令。Historyfile historyfile = history.dat 由于在采集的时候有的用户正在登录中,
42、还没有登出,所以无法处理这种数据,这就是不能匹配成对的数据。这些数据必须保存起来,在下次采集的时候用来匹配,这个属性就是设置没有匹配成功的数据的保存文件名。该属性只指定文件名,目录采用上面指定的备份目录。Serverip serverip = 127.0.0.1 接收服务器 IPServerport 接收服务器端口。Storefile storefile= store.dat 数据发送失败的临时存储文件。目录采用使用上面的指定的备份目录。5.2.2 登录模块1)相关表 Modules 表,Operations 表,Rights 表,Roles 表,RoleRights 表,Admins 表,A
43、dminRoles 表2)登录模块的类图设计14图 5-6 登录模块的类图设计在上图的登陆模块中,Admin 类是管理员的实体类,LoginForm 类是存储管理员登陆时的用户名和密码,FlowController 是一个控制器,对管理员输入的信息进行处理,LoginAction 类是具体登陆处理类,LoginUI 是登陆成功以后进入的业务。真个运行过程为:当管理员输入用户名和密码信息用控制器截取,交给 LoginAction 处理,根据正确与否显示要进入的界面。3) 登陆中的 execute()方法处理流程15。ActionMaping。LoginForm。HtpServletRequest
44、,HtpServletResponse。dao。Conection。dao。verify。 。 forward。loginfailfalse。dao。getRole。true。dao。getRight。dao。getModuleOperation。sesion, moduleforward。loginok图 5-7 函数 execute()处理流程图5.2.3 管理员管理1)相关表管理员管理模块涉及到数据表有以下几个表 admins,roles 表和 adminroles 表2)管理员管理 UI 界面16电信运营系统 - 管理员管理电信运营系统 - 管理员管理T a r e n a I T T
45、 r a i n i n g G r o u p2 0 0 2 年电信营运商 l o g o 区用户管理 | 资费管理 | 帐单查询 | 帐务查询 | 管理员管理 | 权限管理 | 其他个人信息修改查询管理员修改管理员删除管理员增加管理员图 5-8 管理员管理整体界面3)类图设计(以超级管理员为例)图 5-9 管理员管理的类图17如上图 5-9 所示,AdminSuperUI 是超级管理员登陆成功进入的界面,FlowController 是一个控制器,AdminDAO 接口是一个实现数据库连接,进行增,删,改,查的操作,AdminAction 是一个处理管理员各功能。其执行过程为:管理员以超级
46、管理员的身份进入界面,有控制器截取执行的路径,根据各自的功能通过访问数据库然后在显示的界面实现相应的操作。4.2.4 资费管理1)资费管理涉及到相关的表 pricings 表。 2)资费管理的 UI 界面.图 5-电信运营系统 - 管理员修改电信运营系统 - 管理员修改T a r e n a I T T r a i n i n g G r o u p2 0 0 2 年电信营运商 l o g o 区用户管理 | 资费管理 | 帐单查询 | 帐务查询 | 管理员管理 | 权限管理 | 其他查询资费修改资费删除资费增加资费第 * 页 / 共 * 页 到 页跳转2资费 I D 资费名称 资费标准 资费
47、率 资费说明查 询 条 件 : 资 费 名 称 :资 费 标 准 : -输入文本输入文本 输入文本查询10 资费管理整体 UI 界面3)类图设计18图 5-11 资费管理的类图如上图 5-10 所示为资费管理类图,FlowController 为控制器,PricingAction 类为资费处理过程。PricingQueryUI,PricingUpdateUI,PricingDeleteUI,PricingAddNewUI 分别为资费管理查询,更改,删除,添加显示的界面。整个执行过程为:有控制器截取资费管理的路径,交给 PricingAction 类去处理相应的操作,最后显示对应的界面。6 电信
48、运营计费管理系统实现6.1 电信运营计费管理系统后台实现6.1.1 采集系统实现采集系统是实现客户端与服务器端网络通信,目前常用到通信协议为 TCP/IP 协议,在 Java 网络编程中用 Socket 方法来实现。Socket 是两个实体之间进行通信的有效端点。通过 socket 可以获得源 IP 地址和源端口、终点 IP 地址和终点端口。用户可以将多个socket 连入同一个端口,以便对于单个端口可以有多个连接。此系统设计客户端与服务器端 Socket 程序。在 Unix 服务器中,用户每次登陆和退出 Unix 服务信息都回自动保存在一个日志文件/user/adm/wtmpx 中,采集系统
49、的客户端负责采集这个路径下文件。为了保证系统灵活性,将该系统中服务器与本机有关参数写成配置文件,通过程序读取它。图 6-1 数据采集客户端界面19图 6-1 数据采集客户端界面首先启动采集系统的服务器端程序,接着启动采集系统的客户端程序,使客户端与服务器实现 Socket 连接。在两者通信畅通的情况下,点击数据采集端开始传送数据按钮,程序负责读取日志文件中记录用户一些信息,主要利用到 Java 中文件,网络编程的方法,把读取到信息发送到服务器端,并将其储存到数据库中,如图 6-2 数据库存储采集信息20图 6-2 数据库存储采集信息6.1.2 数据整合本系统整合部分是直接读取采集系统中的数据,使用 JDBC 技术,通过对数据库的操作来实现整合。具体实现过程主要包括如下(1)实现与数据库的连接。Java 在数据库连接方面有很多方法,而且使用起来都比较方便。首先导入需要的数据库驱动(以 MySQL 为例) ,接着按照 JDBC 的技术写一个实现连接的工具类,然后写一个测试是否实现连接,在控制台中就会显示结果。(2)确定整合的规则:实现数据的整合需要采集人员写一个配置文件,说明小时,天,月各自实现整合的时间,程序通过读取配置文件就会自己进行