计算机系+毕业设计论文.doc_第1页
计算机系+毕业设计论文.doc_第2页
计算机系+毕业设计论文.doc_第3页
计算机系+毕业设计论文.doc_第4页
计算机系+毕业设计论文.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计 课题名称 电信运营支撑系统 院 系 计算机工程系 专 业 软件工程 班 级 计 Y051 班 学生姓名 lck 学 号 2005020010 指导教师 2009 年 5 月 20 日 摘要摘要 本系统实现的是一个电信业务运营的支撑系统 为上网用户的管理提供支撑 主要针对 帐务信息和帐单信息进行计费 查询等功能 为营业员和用户提供网上服务 确保有效提高 营业的效率 该系统还提供用户注册 修改信息 在线订单等功能 为电信业务拓展网络市 场提供服务 系统包含三个模块 主要包括采集系统 整合系统和 WEB 模块 其中 WEB 模 块又分有 用户管理系统 资费管理系统 管理员管理系统 帐单查询系统 帐务查询系统 用 户自服务系统 权限管理系统七个小模块 具体实现过程包括 采集系统对数据进行采集 然后将数据存入数据库 一但采集失败则 进行备份并书写日志信息 整合系统按照一定的时间对数据库中的数据进行整合 具体分为 三种方式 按每个小时整合一次 每天整合一次 每月整合一次 并将整合好的数据分别存 入特定的数据库表 Web 模块主要是用于和客户及营业员进行交互 本人负责帐务查询系统 此系统用于查询各个服务器的年 月 日的帐务信息 并产生对应的趋势分析图用于提供给决 策都作决策参考 电信业务运营的支撑系统是典型的管理信息系统 其内容对于企业的决策者和管理者来 说都至关重要 此系统主要采用 SSH 框架完成 SSH 框架是指 struts spring 和 Hibernate 三种 技术混合使用的一种架构 大型 oracle 数据库技术 实现了基于 B S 模式的管理信息 关键词 对象关系映射技术 数据采集系统 数据整合模块 运营的支撑系统 Project Synopsis This system is an information support system for the management of Internet users to provide support mainly for billing information and billing information for billing inquiries and other functions It mainly for business and users with online services to ensure effective to improve the efficiency of business The system also provides user registration edit information features such as online orders for the telecommunications market to provide services to develop the network System consists of three modules including acquisition systems integrated systems and WEB modules including modules and sub WEB are user management system tariff management system management system administrator billing inquiry system billing inquiries end user self service systems rights management systems in seven small module Concrete realization of the process include data acquisition system for the collection and then the data stored in the database a collection of failure but is back up and write the log information integrated system in accordance with a certain amount of time the data in the database integration is divided into three specific ways first by integrating each hour every day integration time integration time per month and good data were integrated into a specific database table Web module is used mainly to sales and customer and interact I am responsible for Accounts Inquiry System this system is used to query the server each year month day of the billing information and generate the corresponding chart for trend analysis available to decision making have to make decision making Telecom operations support system is a typical management information system its content for business decision makers and managers is important to everyone This system is mainly used to complete SSH framework SSH framework is the struts spring and Hibernate three technologies as a mixed use structure Large oracle database technology based on B S mode of management information Keywords Hibernate WOSS DBMS Information operations support systems 目录目录 摘要摘要 2 PROJECT SYNOPSIS 3 第一章第一章 项项目背景目背景 4 第二章第二章 项项目要求目要求 6 第三章第三章 设计设计方案方案 7 3 1 使用框架 7 3 1 1 STRUTS技术 7 3 1 2 SPRING技术 8 3 1 3 HIBERNATE技术 8 第四章第四章 实现实现方法方法 9 4 1 实现过程 9 4 1 1 采集模块 WOSS 9 4 1 2整合模块 DBMS 10 4 1 3网上营业厅 WEB 11 4 2 实现细节 11 4 2 1采集系统 WOSS 11 4 2 2整合系统 DBMS 14 4 2 3 网上营业厅 WEB 16 4 3 效果评价 27 第五章第五章 数据数据库设计库设计 27 5 1 采用的数据库 ORALCE 10G数据库 27 5 2 表设计 30 5 2 1表 t detail x 30 5 2 2 表 NASDay 30 5 2 3 表 NASMonth 31 5 2 4表 NASYear 31 5 3 开发平台 32 谢谢 辞辞 34 参考文献参考文献 35 第一章第一章 项项目背景目背景 伴随着计算机网络的不断普及 计算机的迅速发展 计算机的应用 信息技术全面地渗透 到人类社会的各个方面 信息化成为世界经济和社会发展的大趋势 企业的管理从人工到自 动化 智能化和高效性 为及时 准确 高效的完成管理提供了强有力的工具和管理手段 为 适应现代信息管理 各个公司都在寻找着提高办事效率 降低工作成本的办法 计算机的迅速发展 计算机的应用 信息技术全面地渗透到人类社会的各个方面 信息化 成为世界经济和社会发展的大趋势 企业的管理从人工到自动化 智能化和高效性 为及时 准确 高效的完成仓库管理提供了强有力的工具和管理手段 适应现代信息管理 设计这个基 于 JAVA 的电信宽带业务运营系统 SSH Spring Struts2 和 Hibernate 框架组合是一种典型的 J2EE 三层结构 分为表现层 中间层 业务逻辑层 和数据服务层 三层体系将业务规则 数据访问及合法性校验等工作放 在中间层处理 客户端不直接与数据库交互 而是通过组件与中间层建立连接 再由中间层与 数据库交互 由于市场供求关系等因素的不断变化 为了吸引更多的消费者 电信公司推出了各种形 形色色的营销方案和措施 如 包月上网套餐 按流量上网套餐 VIP 会员套餐等业务 为了满 足业务上的需求 电信运营商提出了解决电信宽带业务运营中查询 报表 记录 数据采集等 的需求 电信运营支撑系统专为电信扩充功能而开发的系统 系统总体模型 图 1 1 用户通过不同的 IP 地址连接到网络上进而获得网络服务功能 NAS 服务器记录下用户 的登陆 IP 上线时间 下线时间等信息 AAA 服务器从各个 NAS 服务器获得用户服务的数 据信息汇总 然后将数据传给数据采集系统 WOSS 系统 数据采集系统获得的数据进行 采集 进而获得用户的 IP 地址 所在服务器 在线总时间等 WOSS 系统采集完毕后将数据传给数据整合系统 DBMS 系统 DBMS 系统将数据 按每个小时整合一次 每个天整合一次和每个月整合一次的方法进行整合后将数据存入数据 库中 为网上营业厅提供数据支持 网上营业厅的操作所需要的数据依赖于 DBMS 整合的 结果 第二章第二章 项目要求项目要求 系统主要功能及模块 系统包括采集子系统 整合子系统和网上营业厅三个子系统 其关系视图如下 图 2 1 电信运营支撑系统主要包括采集子系统 整合子系统 网上营业厅三个子系统 采集子 系统包括配置模块 日志模块 采集模块 备份模块 网络模块 其中负责所有模块的配置 协调其他所有模块的管理 日志模块负责所有模块操作的日志书写 包括数据备份日志 发 送日志 异常日志等 采集模块模块负责将获得的数据进行提取并整合出感兴趣的数据 备 份模块则是用于对数据的备份 备份主要包括两种情况 一是常规默认备份 数据采集完毕 之后会默认备份一次 二是异常备份 数据存储发生异常后会进行备份 整合模块是按照不同的时间单位 小时 天 月 实现数据整合的一个模块 为收取用户 上网费用提供主要依据 此模块采用 Orale 数据库内置语言 PL SQL 进行编写 整合是将某 个用户在某一时段内所用机时求和后形成一条记录 整合分为两种整合方式 一种是针对客 户进行整合 以客户 IP 为单位 对其使用网络状况的信息 以小时 天 月为单位进行整合 二种是针对 NAS 服务器进行整合 以该 NAS 服务器上的所有客户的使用状况进行汇总 对 所有客户使用网络状况的信息 以小时 天 月为单位进行整合 网上营业厅又包含多个子模块 主要包括 用户管理子系统 资费管理子系统 帐务查 询子系统 帐单查询子系统 用户自服务子系统等子系统 这个系统可以有效的解决一些实际 问题 选择使用这些业务的用户能够通过网络远程登录到系统中做基于这个系统的操作 如 查询帐务信息 查询订单等 运营商能够借助先进的计算机技术对访问的用户进行管理和计 费 由此实现对此项业务运营的支持与管理 在网上营业厅的部分 本人主要负责的是帐务管理模块 该模块的作用是对所有 NAS 服务器进行数据整合 以 NAS 服务器为基本单位 对所有 NAS 服务器的营业状况进行数据 查询统计 为公司管理层提供公司业务经营现状的数据显示 提供给公司管理层作业务决策 的数据基础 第三章第三章 设计方案设计方案 本系统的设计与实现是以 Oracle 作为开发工具 结合 Oracle 数据库完成的 在这一段时 间里 查阅了大量的资料 完成了对电信运营系统的开发 WOSS 系统是一个 ADSL 计费系统 负责上网用户通过多台 NAS Net Access Server 接入服务器 进行宽带接入记费 支持 ADSL 拨号 支持 Radius 协议 支持包月 小时 流量记费 使用 JSP Servlet Struts Spring Hibernate Ajax PL SQL 等技术 可移植于各种平台 3 1 使用框架使用框架 本系统使用 SSH 应用框架设计 SSH Spring Struts2 和 Hibernate 框架组合是一种典 型的 J2EE 三层结构 分为表现层 中间层 业务逻辑层 和数据服务层 三层体系将业务规则 数据访问及合法性校验等工作放在中间层处理 客户端不直接与数据库交互 而是通过组件 与中间层建立连接 再由中间层与数据库交互 SSH 框架是由 Spring Struts2 和 Hibernate 三种技术组合机遇成 其中 Struts2 实现 MVC 架构 MVC Model View Controller 是许多交互和界面系统的构成基础 根据界面设计 可变性的需求 MVC 把交互系统的组成分解成模型 视图 控制器三部分 3 1 1 Struts 技术技术 对于开发 Web 应用 要从头设计并开发出一个可靠 稳定的框架并不是一件容易的事 幸 运的是 随着 Web 开发技术的日趋成熟 在 Web 开发领域出现了一些现成的优秀的框架 开发者可以直接使用它们 Struts 就是一种不错的选择 它是基于 MVC 的 Web 应用框架 Jakarta Struts 是 Apache 软件组织提供的一项开放源代码项目 它为 Java Web 应用提供 了模型 视图 控制器 Model View Controller MVC 框架 尤其适用于开发大型可扩展的 Web 应用 Struts 这个名字来源于在建筑和旧式飞机中使用的支撑金属架 Struts 为 Web 应 用提供了一个通用的框架 使得开发人员可以把精力集中在如何解决实际业务的问题上 此 外 Struts 框架提供了许多可供扩展和定制的地方 使得应用程序可以方便的扩展其框架 来更好的适应用户的实际需求 而且 Struts 本身是一群经验丰富的 Web 开发专家的集体智慧结晶 在全世界范围内得 到广泛运用并得到一致认可 因此对于开发大型复杂的 Web 应用 Struts 是不错的框架选择 Struts 实质上就是在 JSP Model2 的基础上实现的一个 MVC 框架 在 Struts 框架中 模 型由实现业务逻辑的 JavaBean 或 EJB 组件构成 控制器由 ActionServlet 和 Action 来实现 视图由一组 JSP 文件构成 图 1 2 显示了 Struts 实现的 MVC 框架 3 1 2 Spring 技技术术 Spring 是一个开源框架 它由 Rod Johnson 创建 它是为了解决企业应用开发的复杂性 而创建的 Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情 然而 Spring 的用途不仅限于服务器端的开发 从简单性 可测试性和松耦合的角度而言 任何 Java 应用 都可以从 Spring 中受益 Spring 包含并管理应用对象的配置和生命周期 在这个意义上它是一种容器 你可以配 置你的每个 bean 如何被创建 基于一个可配置原型 prototype 你的 bean 可以创建一个单独的实例或者每次需要时都生成一个新的实例 以及它们 是如何相互关联的 然而 Spring 不应该被混同于传统的重量级的 EJB 容器 它们经常是庞大 与笨重的 难以使用 Spring 可以将简单的组件配置 组合成为复杂的应用 在 Spring 中 应 用对象被声明式地组合 典型地是在一个 XML 文件里 Spring 也提供了很多基础功能 事务 管理 持久化框架集成等等 将应用逻辑的开发留给了你 3 1 3 Hibernate 技技术术 Hibernate 是一个数据持久层框架 是一种实现对象和关系之间映射 O R Mapping 的工 具 它对 JDBC 进行了轻量级的对象封装 使程序员可以使用对象编程思想来操作数据库 它 不仅提供了从 Java 类到数据表的映射 也提供了数据查询和恢复机制 相对于使用 JDBC 和 SQL 来操作数据库 使用 Hibernate 能大大的提高实现的效率 本课题结合了 Struts Spring Hibernate XML 等技术 通过这个系统设计和实现 可以 对象电信领域增加认识 提高业务开发的能力和软件设计能力 开拓视野 为今后走向社会增 加一点点经验 Spring 提供了面向切面编程的丰富支持 允许通过分离应用的业务逻辑与系统级服务 例如审计 auditing 和事务 管理 进行内聚性的开发 应用对象只实现它们应该做的 完 成业务逻辑 仅此而已 它们并不负责 甚至是意识 其它的系统级关注点 例如日志或事 务支持 结合SSH Spring Struts2 和 Hibernate 框架组合技术 实现电信运营支撑系统的采购的 采集系统 整合系统 用户管理系统 资费管理系统 管理员管理系统 帐单查询系统 帐务查询系统 用户自服务系统和权限管理系统 相比其他开发技术而言降低了系统各组件 之间的耦合性 提高了代码的可重用性 也对使数据库的操作变得非常简单 第四章第四章 实现方法实现方法 4 1 实现过程实现过程 4 1 1 采集模块采集模块 WOSS 采集模块的主要功能是将 AAA 服务器传过来的数据进行采集 从零散的数据中获得每 个用户的登陆网络的时间 下线的时间 占用网络的时间长度和用户所在的 NAS 服务器及 其 IP 地址 为整合模块提供整合所需要的数据 图 4 1 功能要求 根据从 AAA 服务器中传过来的数据 按照用户使用网络的上线和下线的记录 整合出客户的在线 时间长度 用户所在 IP 等信息 并将采集好的数据在客户端进行备份 然后将整合好的数据传送到服务器进行数据库存储 保存失败则备份 在此模块中 我负责服务器端程序的编写 实现功能是 采用多线程的方式 接收来自不 同客户端采集好的数据 然后转发给入库模块进行入库 4 1 2 整合模块整合模块 DBMS 整合模块是按照不同的时间单位 小时 天 月 实现数据整合的一个模块 为收取用 户上网费用提供主要依据 此模块采用 Orale 数据库内置语言 PL SQL 进行编写 具体业务如下图所示 图 4 2 整合是将某个用户在某一时段内所用机时求和后形成一条记录 整合系统具体整合规则如下 1 日表整合 每小时定时整合一次 将数据从 T DETAL X 表中整合到 T day x 表和 T day 表中 生成以小时为单位统计的数据 程序总是每小时定时整合前 一小时的数据 T day x 表用于地某个用户某日的消费情况进行记录 T day 表用于地某个日期的所有用户的消费情况进行汇总 2 月表整合 每天定时整合一次 将数据从 T day x 表中整合到 T month x 表中 生成 以天为单位统计的数据 程序总是每天定时并且自动的整合前一天的数 据 T month x 表用于地某个用户某月的消费情况进行记录 T month 表用于地某个月份的所有用户的消费情况进行汇总 3 年表整合 每个月定时整合一次 将数据从 T month x 表中整合到 T year x 表中 生 成以月为单位统计的数据 程序总是每个月定时并且自动的整合前一个月 的数据 T year x 表用于地某个用户某年的消费情况进行记录 T year 表 用于地某年的所有用户的消费情况进行汇总 此模块中 本人主要从事 T year 表的数据整合 4 1 3 网上营业厅网上营业厅 WEB 本人负责帐务管理模块的编写 在网上营业厅的部分 本人主要负责的是帐务管理模块 该模块的作用是对所有 NAS 服务器进行数据整合 以 NAS 服务器为基本单位 对所有 NAS 服务器的营业状况进行数据查询统计 为公司管理层提供公司业务经营现状的数据显 示 提供给公司管理层作业务决策的数据基础 此模块主要是实现对所有系统中所有帐务信息的查询 并根据查询结果生成关于 NAS 服务器的网络使用趋势分析图显示在 JSP 页面上 且将帐务信息查询结果详细清单显示到 JSP 页面 供管理层进行业务分析 技术要求 JDBC javaScript jsp xml 4 2 实现细节实现细节 4 2 1 采集系统采集系统 WOSS 图 4 3 设计思路 本系统是一个数据采集的系统 要想对用户进行准确的收费 首先必须能够获得用户 使用上网服务的准确的使用记录 采集子系统正是为了获取这些记录而提供的 用户每次登录 和退出 Unix 服务器的信息都会被自动保存到一个在线日志文件中 将上线 IP 地址和时间 下线的 IP 地址和时间等信息保存下来 采集系统通过调用系统程序来读取这个日志文件中的内容 将相互对应的上下线信息 提取整合成一条数据 其中包括登录 IP 时间长度 所在服务器等作为计费依据 最后把这些 数据存入数据库中 以备其他系统使用 为了使读取的数据量不至于过大 采集系统会每小时 定时执行一次 每次只采集上一个小时时间段之内的数据 在此系统中我负责服务器端的编写 服务器端的任务是负责接收从客户端发来的数据 然后将数据转发到入库模块进行存储 主要实现方法 public class NetServerImpl implements NetServer private static int port private static int backlog public NetServerImpl public NetServerImpl Properties p backlog Integer parseInt p getProperty backlog port Integer parseInt p getProperty port public void server throws NetServerException ServerSocket server null List list new ArrayList try 创建监听套接口 server new ServerSocket port System out println 开始监听 端口号为 port while true Socket s server accept if list size backlog list add s 创建多线程 System out println 接受连接 IP s getInetAddress teThread net new teThread s list Thread t new Thread net t start catch Exception e e printStackTrace 多线程 class teThread extends Thread private Socket s private List list private Config config ConfigImpl newInstance public teThread Socket s List list this s s this list list SuppressWarnings unchecked public void run InputStream in null Collection coll null 存储源数据 Collection coll2 null 存储备份数据 try coll2 reInsert 获得备份文件信息 in s getInputStream ObjectInputStream ois new ObjectInputStream in coll Collection ois readObject 接收源数据 Logl 接收数据条数 coll size 1 保存接收日志 if coll2 null coll addAll coll2 DBStore dbs config getDBStore dbs insert coll 数据入库 catch DBStoreException e e printStackTrace System out println e getMessage catch ConfigException e e printStackTrace catch IOException e e printStackTrace catch ClassNotFoundException e e printStackTrace finally try if in null in close if s null s close list remove s catch Exception e e printStackTrace 读取备份文件 public Collection reInsert 获取备件文件的信息 Collection coll null try Backup up config getBackup coll up load Backup SERVER catch Exception e e printStackTrace return coll public void Logl String msg int levelGrade 书写日志 try Log log config getLog log write msg levelGrade catch ConfigException e e printStackTrace catch LogException e e printStackTrace 4 2 2 整合系整合系统统 DBMS 整合模块是按照不同的时间单位 小时 天 月 实现数据整合的一个模块 为收取用户上网 费用提供主要依据 此模块采用 Orale 数据库内置语言 PL SQL 进行编写 整合是将某个用 户在某一时段内所用机时求和后形成一条记录 整合分为两种整合方式 一种是针对客户进 行整合 以客户 IP 为单位 对其使用网络状况的信息 以小时 天 月为单位进行整合 二 种是针对 NAS 服务器进行整合 以该 NAS 服务器上的所有客户的使用状况进行汇总 对所 有客户使用网络状况的信息 以小时 天 月为单位进行整合 图 4 4 采集系统定时将用户使用服务器的数据存入到了数据库中 但这些数据都是流水帐的数据 是用户每次使用 UNIX 操作系统的用时 如果用户量大 用户频繁地登入 出 将产生大量的 数据 不便于将来生成用户的月账单和对开放实验室的使用情况进行月统计和年统计 因此 出现了整合系统 整合是将某个用户在某一时段内所用机时求和后形成一条记录 整合系统具体整合规则如下 1 每小时定时整合一次 生成以小时为单位统计的数据 程序总是每小时定时整合前一 小时的数据 2 每天定时整合一次 生成以天为单位统计的数据 程序总是每天定时整合前一天的数 据 3 每个月定时整合一次 生成以月为单位统计的数据 程序总是每个月定时整合前一个月 的数据 实现过程 按月合并月表 t month x 生成所有用户计费数据年表 t year x procedure pro user month to year is year tab name varchar2 20 month tab name varchar2 20 v sql varchar2 200 begin year tab name t year to char add months sysdate 1 yyyy month tab name t month to char add months sysdate 1 mm v sql insert into year tab name select aaa login name nas ip max ondate sum time duration where Trunc ondate month trunc trunc sysdate month 1 month from month tab name group by aaa login name nas ip execute immediate v sql commit end 按月合并月表 NAS Month 生成所有 NAS 数据年表 NAS Year procedure pro nas month to year is begin insert into NASYear select nas ip max ondate sum time duration sum total from NASMonth where Trunc ondate month Trunc Trunc sysdate month 1 month group by nas ip commit end 4 2 3 网上营业厅网上营业厅 WEB 本人主要负责的是帐务管理模块 该模块的作用是对所有 NAS 服务器进行数据整合 以 NAS 服务器为基本单位 对所有 NAS 服务器的营业状况进行数据查询统计 为公司管理 层提供公司业务经营现状的数据显示 提供给公司管理层作业务决策的数据基础 在此模块 中 本人主要负责帐务管理模块的代码编写工作 在用户帐务模块开发中 我们采用 Struts 框架 数据访问层采用 DAO 模式实现一个业务模型 供负责各种业务处理的 Action 调用 页面部分采用 JSP 技术显示数据 实现管理员登陆系统后能通过 Internet 自主查询自己的当 前或历史帐务 网上营业厅模块总览 图 4 5 4 2 3 1 帐务管理系统帐务管理系统 帐务管理的主要用处是管理公司的帐务情况 与一般的财务软件不同 本帐务管理系统结合 权限的设置 针对不同的用户输入查看帐务信息 实际的使用中如 每年 月 日将进项报名汇 总后提交 或者将当财务状况提交 那么公司的经理可以通过互联网在任何有上网条件的地 方看到相应的财务状况 具有帐务查询的管理员可以使用此子系统对网络的使用情况进行查询 此子系统可以提 供以日为单位的查询 也可以提供月为单位的查询和以年为单位的查询 具体操作如下 4 2 3 1 1 日帐务查询日帐务查询 具有账务查询角色的管理员进入本系统 登录成功后 可以执行如下查询操作 根据输入的年 月 日 查询所有这个日期使用的总的时长 分钟数 访问量 人数 信息并生成视图 查询趋势分析图效果如下 图 4 6 如上图所示 所查询结果为所有网络用户在访问量与单位小时的关系 此线状图反映了 网络访问访问情况的特点 可为公司管理层制定收费机制提供依据 以生成表格的开式查看这一天的每个小时的访问量 在线时长信息 查询图表效果如下 图 4 7 如上图所示 所查询结果为所有网络用户在访问量与单位小时的对应关系 此表反映了 网络访问访问情况的特点 可为公司管理层提供精确的数据显示 NasDay 表查询源码 public class BusinessDaoImpl extends JdbcDaoSupport implements IBusinessDao public List list2 new ArrayList day 对 NasDay 表查询的处理 public List daySearch String dayBegin String dayEnd throws Exception final List list new ArrayList sql 语句 找出 1 24 小时对应的 nas ip 的 在线人数 和 总时长 String sql select sum total total sum time duration minutes trunc ondate hh hour from NASDay where ondate to date dayBegin yyyy mm dd and ondate sql to date dayEnd yyyy mm dd group by trunc ondate hh System out println sql 查询数据库 获得数据集合 rs getJdbcTemplate query sql new RowCallbackHandler SuppressWarnings unchecked unchecked deprecation public void processRow ResultSet rs throws SQLException LineValue lv new LineValue lv setName 日表 List list2 new ArrayList if true Timestamp hours1 rs getTimestamp hour int hh1 hours1 getHours LineItem li1 new LineItem hh1 1 rs getInt total rs getInt minutes list2 add li1 while rs next 初始化 LineValue 对象中的 list 即将 初始化 LineItem 对象 存入 LineValue 中的 list Timestamp hours rs getTimestamp hour int hh hours getHours LineItem li new LineItem hh 1 rs getInt total rs getInt minutes list2 add li 对 list2 进行排序 按 getTime Collections sort list2 创建一个 list3 对象 用于转存 list2 List list3 new ArrayList int a 0 b 1 LineItem li2 new LineItem 遍历 list2 for Object o list2 li2 LineItem o a li2 getTime for b a b list2 中 数据为空的那个小时 用 LineItem 的空对象补上 转存到 list3 list3 add new LineItem b 0 0 list3 add li2 b a 1 if list3 size 24 如果 list3 长度不足 24 用 LineItem 的空对象补上 此处 i list3 size 1 如果 i list3 size 那 list3 size 将大于 24 而出错 for int i list3 size 1 i 25 i list3 add new LineItem i 0 0 list3 初始化到 lv 对象 lv setItems list3 将 LineValue 中的 list 对象添加入此处的 list list add lv return list 4 2 3 1 2 月帐务查询月帐务查询 具有账务查询角色的管理员进入本系统 登录成功后 可以执行如下查询操作 根据输入的年 月份查询所有这个月的访问量 人数 和在线的总时长 分钟数 信息 并生成视图 查询效果如下 图 4 8 以生成表格的开式查看这个月每一天的访问量 人数 和在线的总时长 分钟数 信息 查询效果如下 图 4 9 如上图所示 所查询结果为所有网络用户在访问量与单位小时的对应关系 此柱状图状 反映了网络访问访问情况的特点 可为公司管理层制定收费机制提供依据 NasMonth 表数据查询的一些相关源码如下 对 NasMonth 表查询的处理 public List monthSearch String monthBegin String monthEnd throws Exception final List list new ArrayList sql 语句 找出 1 31 号对应的 nas ip 的 在线人数 和 总时长 String sql select sum total total sum time duration minutes trunc ondate dd day from NASDay where ondate to date monthBegin yyyy mm dd and ondate to date monthEnd yyyy mm dd group by trunc ondate dd System out println sql 查询数据库 获得数据集合 rs getJdbcTemplate query sql new RowCallbackHandler SuppressWarnings unchecked unchecked deprecation public void processRow ResultSet rs throws SQLException if true Timestamp days1 rs getTimestamp day int dd1 days1 getDate int minute1 rs getInt minutes 初始化 LineValue 对象中的 list 即将 初始化 LineItem 对象 并用于初始化 LineValue 中的 list BarValue bv1 new BarValue rs getInt total Integer toString minute1 Integer toString dd1 list add bv1 while rs next Timestamp days rs getTimestamp day int dd days getDate int minute rs getInt minutes 初始化 LineValue 对象中的 list 即将 初始化 LineItem 对象 并用于初始化 LineValue 中的 list BarValue bv new BarValue rs getInt total Integer toString minute Integer toString dd list add bv 对 list 进行排序 按 getTime Collections sort list 创建一个 list3 对象 用于转存 list2 List list2 new ArrayList int a 0 b 1 BarValue bv2 new BarValue 遍历 list for Object o list bv2 BarValue o a Integer parseInt bv2 getTime for b a b list 中 数据为空 的那一天 用 BarValue 的空对象补上 转存到 list2 list2 add new BarValue 0 0 Integer toString b list2 add bv2 b a 1 if list2 size 32 如果 list2 长度不足 24 用 LineItem 的空对象补上 for int i list2 size 1 i 32 i list2 add new BarValue i 0 0 list clear for Object o list2 list add BarValue o return list 4 2 3 1 3 年帐务查询年帐务查询 根据输入的年份查询所有这一年的访问量 人数 和在线的总时长 分钟数 信息并生 成视图 查询效果如下 图 4 10 以生成表格的开式查看这一年每一个月的访问量 人数 和在线的总时长 分钟数 信 息 查询效果如下 图 4 11 NasYear 表数据查询的一些相关源码如下 对 NasYear 表查询的处理 public List yearSearch String yearBegin String yearEnd throws Exception final List list new ArrayList sql 语句 找出 1 12 小时对应的 nas ip 的 在线人数 和 总时长 String sql select sum total total sum time duration minutes trunc ondate mm month from NASMonth where ondate to date yearBegin yyyy mm dd and ondate to date yearEnd yyyy mm dd group by trunc ondate mm System out println sql 查询数据库 获得数据集合 rs getJdbcTemplate query sql new RowCallbackHandler SuppressWarnings unchecked unchecked deprecation public void processRow ResultSet rs throws SQLException if true Timestamp months1 rs getTimestamp month int mm1 months1 getMonth int minute1 rs getInt minutes 初始化 LineValue 对象中的 list 即将 初始化 LineItem 对象 存入 LineValue 中的 list BarValue bv1 new BarValue rs getInt total Integer toString minute1 Integer toString mm1 1 list add bv1 while rs next Timestamp months rs getTimestamp month int mm months getMonth int minute rs getInt minutes System out println rs getString month 初始化 LineValue 对象中的 list 即将 初始化 LineItem 对象 存入LineValue 中的 list BarValue bv new BarValue rs getInt total Integer toString minute Integer toString mm 1 list add bv 对 list 进行排序 按 getTime Collections sort list 创建一个 list3 对象 用于转存 list2 List list2 new ArrayList int a 0 b 1 BarValue b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论