基于Java的电信行业计费系统的设计与实现毕业论文.docx
- 文档编号:12604423
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:64
- 大小:1.20MB
基于Java的电信行业计费系统的设计与实现毕业论文.docx
《基于Java的电信行业计费系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于Java的电信行业计费系统的设计与实现毕业论文.docx(64页珍藏版)》请在冰点文库上搜索。
基于Java的电信行业计费系统的设计与实现毕业论文
基于Java的电信行业计费系统的设计与实现毕业论文
第一章绪论
1.1课题背景和意义
随着电信业由资源竞争转向业务竞争,电信运营商对软件和应用系统的要求越来越多,投资也将在加大。
运营支撑系统的市场增长速度超过了整个电信市场的增长速度。
随着市场竞争的深入开展,业务进一步开放,运营支撑系统作为加强竞争优势,完成企业流程重组的重要手段,越来越受到运营商的重视。
各个运营商正在通过运营支撑系统的建设,获得新的竞争手段,适应通信技术发展,完成向以市场为重点、以客户为核心的转变。
今后相当长的一段时间,计费账务系统、经营分析与决策系统、客户关系管理系统等成为国电信运营商建设或规划的重点。
现在各电信运营企业如何结合自己的业务特点,建设可拓展的适合自身发展的运营支撑系统体系成为运营支撑系统实施的关键问题。
在电信运营系统中,计费系统是其主要的支撑系统之一,占有重要地位。
电信运营计费系统是否能有效、安全地运行,在很大程度上影响着电信运营系统本身的运行效率和信誉,同时也是其业务正常发展的保证。
本课题以Java语言和oracle数据库技术为基础,通过了解电信运营计费系统的相关知识和框架,模拟实现一个基于Java的电信行业计费系统的设计与实现的系统。
选择Java语言进行电信行业计费系统的开发,是因为Java是面向对象的语言,是对现实生活的抽象。
Java语言是现实世界模型的自然延伸。
现实世界中任何实体都可以看作是对象。
并且Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。
因为没有开发过类似的系统,相对来说困难比较大。
因此在进行系统开发时,首先了解电信行业计费系统的整体概况及其实现技术;掌握Java编程语言的开发和oracle数据库技术。
其次要明确系统实现的主要功能,该项目用到JAVAEE相关技术的查询管理模块分了七个小模块(用户管理、权限管理、资费管理、账务账号管理,业务账号管理、服务器监视、用户自服务)。
对于资费查询功能,由于客户要大量频繁的查询数据库,出于对性能的考虑我们采用了Spring嵌的Hibernate框架技术处理对象持久化。
最后以Java语言和数据库技术为基础,模拟实现一个电信行业计费系统。
最后通过对这一课题的学习和研究,可以将电信计费系统的基本原理、实现流程等展现出来,同时可以了解掌握整个电信计费系统的工作流程,具有一定的现实意义。
1.2国外研究现状
电信计费系统是随着电信产业和计算机产业的发展而不断成长起来的,特别是随着交换机技术和计算机技术的不断进步而不断完善的。
在人工交换时期,市话计费采用包月制,长途按距离和通话时长采用人工计费方式完成,使用的工具是笔和算盘或计算器。
随着半自动、全自动交换机的采用,特别是八十年代中期和九十年代程控交换机的大量引进,通信能力的迅速扩大,电信用户及电信业务量的急剧增长,迫使人们改变传统的人工计费方式。
进入八十年代,计算机技术有了突破性的进步,基于集成电路技术的小型机、大型机和PC机相继问世,用计算机取代笔和算盘做为电信计费的工具成为可能。
这时候才形成了真正意义的电信计费系统。
电信计费系统的建设初期,由于计算机硬件性能的限制,软件开发成本和难度的过高,以及电信运营者服务意识和竞争意识的淡漠,只能以自动化为目标,以算费、计帐和收费的简单功能实现。
这样的简单功能,不能跟上电信业务的发展变化,不能满足用户的服务需求,更不能适应市场经济下竞争的环境。
随着计算机技术和数据库技术的发展,软件产业的日趋成熟,计算机投资成本的下降,使电信计费系统朝着灵活化、复杂化、全面化方向发展成为可能。
与此同时,由于市场竞争的形成,用户服务需求的扩大,电信运营商也迫切需要这样的计费系统。
电信计费系统实时性的建设:
由于交换机与计算机接口技术的不一致性或由于交换机型复杂,操作难度大等问题的限制,计费系统初期基本采用磁带脱机处理方式,一个月脱一次或数次磁带。
这种非实时处理方式造成客户不能及时查询,计费数据不及时,不能开展短期租机业务,不能临时出帐,不能及时决策,容易造成恶意欠费等问题。
随着交换机技术的计算机化,和各种接口协议标准的形成,使得联机实时采集计费系统成为当今计费系统尊崇的时尚。
电信计费系统集中性的建设:
由于早期数据网络的匮乏和经营体制的限制,电信公司基本采用分散的计费系统,系统之间彼此都不联网。
随着DDN、ATM、帧中继数据通信技术的采用,使得计费系统联网成为现实。
与此同时,集中化的计费系统由于有利于提高企业的市场竞争力,而越来越被电信运营者采用。
电信计费系统的综合性的建设:
由于早期电信业务只是业务,计费系统是针对单一业务。
随着智能、增值业务、数据多媒体业务以及Internet业务的出现,计费系统从单一业务正向具备综合业务的计费系统转移。
在电信市场竞争的环境下,计费系统是电信运营商进行市场竞争的最重要的核心支撑系统,是电信公司进行市场运作的神经中枢。
电信公司都把计费系统的建设和有效运行作为提高服务质量、增强自身竞争实力、刺激业务量上升的重要手段。
这样就又给计费系统提出了新的课题。
1.3本文所做主要工作
基于Java的电信行业计费系统中,研究的重点和难点是对用户的账务和业务进行管理,以及权限的分配与管理,基于Java的电信行业计费系统的主要任务是提供对于数据的查询和管理功能。
通过系统来实现查询和管理功能。
管理员登录计费系统后,可以进行用户管理、权限管理、帐务账号管理、业务账号管理、服务器状态查看以及用户自助服务等操作。
1.4章节安排
第二章:
本章主要介绍了基于Java的电信行业计费系统相关实现技术。
第三章:
本章主要对基于Java的电信行业计费系统进行了系统分析与概要设计。
第四章:
本章主要对基于Java的电信行业计费系统进行了系统的详细设计,包括数据库设计和模块详细设计。
第五章:
本章是系统实现,介绍本系统的核心模块的实现,编程规,以及在编写本系统时遇到的问题与解决方法。
第六章:
本章是最后一章主要是对本系统的测试工作。
第二章技术简介
2.1JavaSE[1]
StandardEdition(标准版)JAVASE包含那些构成Java语言核心的类。
比如:
数据库连接、接口定义、输入/输出、网络编程
EnterpriseEdition(企业版)JAVAEE包含JAVASE中的类,并且还包含用于开发企业级应用的类。
比如:
EJB、servlet、JSP、XML、事务控制
MicroEdition(微缩版)J2ME包含JAVASE中一部分类,用于消费类电子产品的软件开发。
比如:
呼机、智能卡、手机、PDA、机顶盒
简单讲就是:
1.JAVASE:
java2Standardedition(java2标准版)
2.JAVAEE:
java2enterpriseedition(Java2企业版)
3.J2ME:
java2microedition(Java2微缩版)
他们的围是:
JAVASE包含于JAVAEE中,J2ME包含了JAVASE的核心类,但新添加了一些专有类
应用场合,API的覆盖围各不相同。
笼统的讲,可以这样理解:
JAVASE是基础;压缩一点,再增加一些CLDC等方面的特性就是J2ME;扩充一点,再增加一些EJB等企业应用方面的特性就是JAVAEE。
补充一点JAVAEE更恰当的说,应该是JAVA2企业开发的技术规,不仅仅是比标准版多了一些类。
JAVAEE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。
JAVASE商业版本,标准版本(Java2StandardEdition)定位在客户端,主要用于桌面应用软件的编程。
JAVASE包含那些构成Java语言核心的类。
比如:
数据库连接、接口定义、输入/输出、网络编程
JAVASE是JAVAEE的基础,他大量的JDK代码库是每个要学习JAVAEE的编程人员必须掌握的。
从JDK5.0开始,不再叫JAVASE,改名为JavaSE了,因为那个2已经失去了其应该有的意义。
2.2JavaEE[1]
2.2.1简介
JAVAEE是Java2平台企业版(Java2Platform,EnterpriseEdition)
JAVAEE核心是一组技术规与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循JAVAEE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业部或外部难以互通的窘境。
JAVAEE组件和“标准的”Java类的不同点在于:
它被装配在一个JAVAEE应用中,具有固定的格式并遵守JAVAEE规,由JAVAEE服务器对其进行管理。
JAVAEE规是这样定义JAVAEE组件的:
客户端应用程序和applet是运行在客户端的组件;JavaServlet和JavaServerPages(JSP)是运行在服务器端的Web组件;EnterpriseJavaBean(EJB)组件是运行在服务器端的业务组件。
2.2.2四层模型
JAVAEE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。
事实上,sun设计JAVAEE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议,通常是某种数据库协议。
它使得重用业务逻辑和界面逻辑非常困难。
现在JAVAEE的多层企业级应用模型将两层化模型中的不同层面切分成许多层。
一个多层化应用能够为不同的每种服务提供一个独立的层,以下是JAVAEE典型的四层结构:
运行在客户端机器上的客户层组件
运行在JAVAEE服务器上的Web层组件
运行在JAVAEE服务器上的业务逻辑层组件
运行在EIS服务器上的企业信息系统(Enterpriseinformationsystem)层软件
JAVAEE应用程序是由组件构成的.JAVAEE组件是具有独立功能的软件单元,它们通过相关的类和文件组装成JAVAEE应用程序,并与其他组件交互。
JAVAEE说明书中定义了以下的JAVAEE组件:
应用客户端程序和applets是客户层组件.
JavaServlet和JavaServerPages(JSP)是web层组件.
EnterpriseJavaBeans(EJB)是业务层组件。
2.2.2.1客户层组件
JAVAEE应用程序可以是基于web方式的,也可以是基于传统方式的。
2.2.2.2web层组件
JAVAEEweb层组件可以是JSP页面或Servlets.按照JAVAEE规,静态的HTML(标准通用标记语言下的一个应用)页面和Applets不算是web层组件。
正如下图所示的客户层那样,web层可能包含某些JavaBean 对象来处理用户输入,并把输入发送给运行在业务层上的enterprisebean来进行处理。
2.2.2.3业务层组件
业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的enterprisebean进行处理.下图表明了一个enterprisebean是如何从客户端程序接收数据,进行处理(如果必要的话),并发送到EIS层储存的,这个过程也可以逆向进行。
有三种企业级的bean:
会话(session)beans,实体(entity)beans,和消息驱动(message-driven)beans.会话bean表示与客户端程序的临时交互.当客户端程序执行完后,会话bean和相关数据就会消失.相反,实体bean表示数据库的表中一行永久的记录.当客户端程序中止或服务器关闭时,就会有潜在的服务保证实体bean的数据得以保存.消息驱动bean结合了会话bean和JMS的消息监听器的特性,允许一个业务层组件异步接收JMS消息。
2.2.2.4企业信息系统层
企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划。
(ERP),大型机事务处理,数据库系统,和其它的遗留信息系统.例如,JAVAEE应用组件可。
能为了数据库连接需要访问企业信息系统。
2.3SSH[1]
集成SSH框架的系统从职责上分为四层:
表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期搭建结构清晰、可复用性好、维护方便的Web应用程序。
其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。
具体做法是:
用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(DataAccessObjects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。
系统的基本业务流程是:
在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。
在业务层中,管理服务组件的SpringIoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。
而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。
这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。
而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。
2.4oracle[1]
2.4.1简介
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。
比如SilverStream就是基于数据库的一种中间件。
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
Oracle数据库最新版本为OracleDatabase12c。
Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。
此外,一些创新特性可最大限度地提高资源使用率和灵活性,如OracleMultitenant可快速整合多个数据库,而AutomaticDataOptimization和HeatMap能以更高的密度压缩数据和对数据分层。
这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。
2.4.2特点
1、完整的数据管理功能
1)数据的大量性
2)数据的保存的持久性
3)数据的共享性
4)数据的可靠性
2、完备关系的产品
1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
2)保证访问的准则
3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化
4)数据物理性和逻辑性独立准则
3、分布式处理功能
ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。
4、用ORACLE能轻松的实现数据仓库的操作
这是一个技术发展的趋势,不在这里讨论。
优点:
用性强、展性强、数据安全性强、定性强
第三章系统分析与设计
OpenLab(开放实验室)出租业务,即该电信运营商提供基于Unix平台的实验室环境,选择使用这种业务的用户能够远程登录到实验室中做基于这个实验室环境的一些工作和实验。
运营商希望借助先进的计算机技术对访问实验室的用户进行管理和计费,由此实现对此项业务运营的支持与管理。
3.1系统需求及功能分析
基于Java的电信行业计费系统主要包括七个模块:
用户管理、权限管理、资费管理、账务管理、业务管理、服务器监视、用户自服务。
基于Java的电信行业计费系统结构如图3-1所示:
图3-1电信行业计费系统结构图
3.2功能模块设计
3.2.1用户管理模块
电信运营商提供基于Unix平台的实验室环境,选择使用这种业务的用户能够远程登录到实验室中做基于这个实验室环境的一些工作和实验。
用户要想成功登陆到开放实验室中,事先必须要拥有一个这个开放实验室上的,在本系统中此称为业务,每个开放实验室上的业务的用户名是唯一的,不同的开放实验室上的业务的用户名可以相同,这个用户可以通过向本系统中具有用户管理权限的管理员去申请。
一个用户会有多种业务,如:
Email服务、Unix系统、代理主机服务等,每个业务我们都要收取一定的费用,如果我们以业务账户为单位来算总的费用,那么用户申请的每种业务都要单独交费,会给用户造成不便,所以我们又添加了帐务账户来统一管理每个用户所使用的所有业务账号上发生的费用,帐务是要和用户的真实信息联系在一起的,所以每个用户只能有一个帐务,但可以对应多个业务。
用户管理子系统就是对用户的帐务和业务进行管理。
具有用户管理权限的管理员登陆成功后,首先可以开通帐务,帐务必须和用户的一些真实信息关联起来,如用户的真实,,联系等。
开通时,由用户提供这些信息,然后由管理员将信息录入到系统中并保存下来。
对于开通好的帐务也是由具有用户管理权限的管理员来管理的,如暂停帐务,恢复帐务账号,删除帐务账号,修改用户真实信息等。
由于用户的一个帐务会对应多个业务,所以对账务账号的操作会级联影响关联的所有业务。
其次,具有用户管理权限的管理员还可以开通业务,但用户要想开通一个业务,前提是必须拥有一个帐务。
在开通业务时,先由用户为这个业务选择一种资费方式,选择一台开放实验室,然后把选择好的信息提供给管理员,再由管理员将信息录入并保存,这个业务会被保存到用户选择的开放实验室的服务器上,对于开通好的业务也是由具有用户管理权限的管理员来管理的,如暂停业务,恢复业务,删除业务,修改业务密码。
最后通过用户管理,可以为用户指定多个角色,每个角色对应多个权限,权限是一系列URL地址。
3.2.2权限管理模块
对本系统的各个子系统的访问都是受权限控制的,权限决定了使用者可以执行的操作,如一个使用者拥有用户管理权限,他就可以执行用户管理的操作。
目前系统已有的权限包括:
用户管理权限,资费管理权限,管理员管理权限,服务器警报与状态查看系统权限,用户自服务权限,权限管理权限。
今后,系统可能会扩展新的功能,也就会增加新的操作,这个操作就要对应一种新的权限;也有可能删除一项不再被使用的操作,这样,对应的权限也应该被删除。
因此,为了对权限能够进行灵活的管理,本系统中就提供了权限管理系统。
在本系统中,一些使用者拥有相同的角色,拥有相同的权限,如三和四都是前台操作人员,都拥有用户管理权限和服务器警报与状态查看系统权限。
角色代表着一组权限的集合。
目前系统中已有的角色包括:
用户和超级管理员。
今后,要想根据需要灵活地管理角色,也是通过权限管理系统完成的。
权限管理主要是通过管理角色与维护角色拥有的URL进行维护。
这俩部分在系统中是分开来进行操作的,一个是角色管理另一个是权限URL管理。
权限URL管理是维护每个模块拥有的URL,即进行URL的增删改查。
3.2.3资费管理模块
使用服务,就要交纳费用,这是天经地义的事情。
那么对于开放实验室的用户也不例外,他们使用了开放实验室服务,同样要交费。
在我们这个系统中这个费用会和两个因素有关:
1.用户使用服务的时间长度。
2.用户选择的收费标准,如月租费为:
30元,每小时使用费为:
3元等。
这个收费的标准在本系统中称为资费。
资费管理子系统是用来管理资费的。
具有资费管理权限的管理员登陆成功后,可以添加新的资费,查询所有的资费,可以修改现有的资费信息,还可以删除资费。
特别要注意的是:
由于对资费的修改会影响选择了这种资费的用户要交纳的费用,所以在修改资费信息前要事先通知所有已经选择了这个资费的用户;只有当没有任何用户选择某个资费了,这个资费才能被删除掉。
3.2.4账务账号管理模块
运营商对于客户收费的账号,对应自然人。
客户如果需要使用运营商提供的服务,则首先使用开设帐务账号,客户费用结算的信息就是通过帐务账号来管理。
帐务账号主要记录客户的基本信息、支付方式、所申请的各种业务账号等信息。
每个客户只能开设一个帐务账号。
3.2.5业务账号管理模块
客户开设了帐务账号之后,就可以申请开通其所需要的业务。
客户在开设帐务账号之后,可以开设多个业务账号,每个业务账号表示单独的业务。
同一个客户可以使用多个Unix服务器上的的服务,分布算作不同的业务,因此需要开设并使用不同的业务账号。
比如某客户需要使用20服务器上的telnet远程登录服务,则需要开设一个业务账号;如果同时还需要使用23服务器上的telnet远程登录服务,则需要再开设一个业务账号。
每个业务账号中包含资费类别,用于统计每种业务的费用。
3.2.6服务器监视
具有服务器警报与状态查看系统权限的管理员可以利用此子系统对当前的服务器的状态进行查看,设置警报线,警报包括,服务器CPU使用率,服务器存使用率,JVM使用率三个方面,对三个参数进行设置警告值,当超出设置值是给设定的发送警告。
还有一个硬盘使用率查看,展示当前服务器硬盘使用率。
具体操作如下:
1.CPU使用率查看,与警报线设置。
2.服务器CPU使用率查看与警报线设置
3.服务器JVM存使用率查看与警报线设置。
4.发送设置
5.服务器硬盘空间查看。
3.2.7用户自服务模块
用户自服务系统可以方便地供用户查询自己的账单和修改自己的个人信息。
这个子系统是唯一的一个用户可以使用的子系统。
具体操作如下:
1修改自己的个人信息
用户进入本系统,使用自己的帐务登录成功后,可以自行修改自己的个人信息。
2修改密码
通过系统提供的密码修改功能可以进行个人账户的密码修改。
第四章系统详细设计
基于Java的电信行业计费系统主要包括七个模块:
用户管理、权限管理、资费管理、账务管理、业务管理、服务器监视、用户自服务。
4.1数据库设计
4.1.1用户管理相关表设计
表4-1用户信息表
字段英文名
字段汉字名
类型
约束条件
说明
ID
唯一ID
Number
PK
ADMIN_CODE
用户名
VARCHAR2(30)
PASSWORD
密码
VARCHAR2(50)
NAME
名字
VARCHAR2(20)
TELEPHONE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Java 电信行业 计费 系统 设计 实现 毕业论文