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

下载本文档

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

文档简介

1、 毕业设计课题名称:电信运营支撑系统 院 系: 计算机工程系 专 业: 软件工程 班 级: 计Y051班 学生姓名: lck 学 号:2005020010. 指导教师: 2009年 5 月20 日 摘要本系统实现的是一个电信业务运营的支撑系统,为上网用户的管理提供支撑,主要针对帐务信息和帐单信息进行计费、查询等功能;为营业员和用户提供网上服务,确保有效提高营业的效率。该系统还提供用户注册、修改信息、在线订单等功能,为电信业务拓展网络市场提供服务。系统包含三个模块,主要包括采集系统、整合系统和WEB模块,其中WEB模块又分有:用户管理系统、资费管理系统、管理员管理系统、帐单查询系统、帐务查询系统

2、、用户自服务系统、权限管理系统七个小模块。具体实现过程包括:采集系统对数据进行采集,然后将数据存入数据库,一但采集失败则进行备份并书写日志信息;整合系统按照一定的时间对数据库中的数据进行整合,具体分为三种方式:按每个小时整合一次、每天整合一次、每月整合一次,并将整合好的数据分别存入特定的数据库表; Web模块主要是用于和客户及营业员进行交互,本人负责帐务查询系统,此系统用于查询各个服务器的年、月、日的帐务信息;并产生对应的趋势分析图用于提供给决策都作决策参考; 电信业务运营的支撑系统是典型的管理信息系统,其内容对于企业的决策者和管理者来说都至关重要。此系统主要采用SSH框架完成,SSH框架是指

3、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 a

4、nd 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 netw

5、ork. 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, ri

6、ghts 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

7、 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

8、 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 managem

9、ent 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 /

10、S mode of management information.Keywords: Hibernate; WOSS; DBMS ; Information operations support systems 目录摘要2PROJECT SYNOPSIS3第一章 项目背景4第二章 项目要求6第三章 设计方案73.1使用框架73.1.1 Struts技术73.1.2 Spring技术83.1.3 Hibernate技术8第四章 实现方法94.1实现过程94.1.1 采集模块(WOSS)94.1.2整合模块(DBMS)104.1.3网上营业厅( WEB)114.2实现细节114.2.1采集系统(W

11、OSS)114.2.2整合系统(DBMS)144.2.3 网上营业厅(WEB)164.3效果评价27第五章 数据库设计275.1采用的数据库Oralce 10g数据库275.2 表设计305.2.1表 t_detail_x305.2.2 表 NASDay305.2.3 表 NASMonth315.2.4表 NASYear315.3开发平台32谢 辞34参考文献35第一章 项目背景伴随着计算机网络的不断普及,计算机的迅速发展,计算机的应用,信息技术全面地渗透到人类社会的各个方面,信息化成为世界经济和社会发展的大趋势。企业的管理从人工到自动化,智能化和高效性。为及时、准确、高效的完成管理提供了强有

12、力的工具和管理手段. 为适应现代信息管理,各个公司都在寻找着提高办事效率,降低工作成本的办法.计算机的迅速发展,计算机的应用,信息技术全面地渗透到人类社会的各个方面,信息化成为世界经济和社会发展的大趋势。企业的管理从人工到自动化,智能化和高效性。为及时、准确、高效的完成仓库管理提供了强有力的工具和管理手段. 适应现代信息管理,设计这个基于JAVA的电信宽带业务运营系统。SSH(Spring、 Struts2和 Hibernate)框架组合是一种典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库

13、交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。 由于市场供求关系等因素的不断变化,为了吸引更多的消费者,电信公司推出了各种形形色色的营销方案和措施。如:包月上网套餐、按流量上网套餐、VIP会员套餐等业务。为了满足业务上的需求,电信运营商提出了解决电信宽带业务运营中查询、报表、记录、数据采集等的需求。电信运营支撑系统专为电信扩充功能而开发的系统。系统总体模型:(图1.1)用户通过不同的IP地址连接到网络上进而获得网络服务功能,NAS服务器记录下用户的登陆IP、上线时间、下线时间等信息;AAA服务器从各个NAS服务器获得用户服务的数据信息汇总,然后将数据传给数据采集系统(WOSS系统

14、),数据采集系统获得的数据进行采集,进而获得用户的IP地址、所在服务器、在线总时间等;WOSS系统采集完毕后将数据传给数据整合系统(DBMS系统),DBMS系统将数据按每个小时整合一次、每个天整合一次和每个月整合一次的方法进行整合后将数据存入数据库中,为网上营业厅提供数据支持。网上营业厅的操作所需要的数据依赖于DBMS整合的结果。第二章 项目要求系统主要功能及模块:系统包括采集子系统、整合子系统和网上营业厅三个子系统,其关系视图如下:( (图2.1)电信运营支撑系统主要包括采集子系统、整合子系统、网上营业厅三个子系统;采集子系统包括配置模块、日志模块、采集模块、备份模块、网络模块;其中负责所有

15、模块的配置,协调其他所有模块的管理;日志模块负责所有模块操作的日志书写,包括数据备份日志、发送日志、异常日志等;采集模块模块负责将获得的数据进行提取并整合出感兴趣的数据;备份模块则是用于对数据的备份,备份主要包括两种情况:一是常规默认备份,数据采集完毕之后会默认备份一次;二是异常备份,数据存储发生异常后会进行备份; 整合模块是按照不同的时间单位(小时、天、月)实现数据整合的一个模块,为收取用户上网费用提供主要依据,此模块采用Orale数据库内置语言PL/SQL进行编写。整合是将某个用户在某一时段内所用机时求和后形成一条记录。整合分为两种整合方式:一种是针对客户进行整合,以客户IP为单位,对其使

16、用网络状况的信息 以小时、天、月为单位进行整合;二种是针对NAS服务器进行整合,以该NAS服务器上的所有客户的使用状况进行汇总,对所有客户使用网络状况的信息 以小时、天、月为单位进行整合; 网上营业厅又包含多个子模块,主要包括:用户管理子系统、资费管理子系统、帐务查询子系统、帐单查询子系统、用户自服务子系统等子系统。这个系统可以有效的解决一些实际问题。选择使用这些业务的用户能够通过网络远程登录到系统中做基于这个系统的操作,如:查询帐务信息、查询订单等。运营商能够借助先进的计算机技术对访问的用户进行管理和计费,由此实现对此项业务运营的支持与管理。在网上营业厅的部分,本人主要负责的是帐务管理模块,

17、该模块的作用是对所有NAS服务器进行数据整合,以NAS服务器为基本单位,对所有NAS服务器的营业状况进行数据查询统计,为公司管理层提供公司业务经营现状的数据显示。提供给公司管理层作业务决策的数据基础。第三章 设计方案本系统的设计与实现是以Oracle作为开发工具,结合Oracle数据库完成的。在这一段时间里,查阅了大量的资料,完成了对电信运营系统的开发。WOSS系统是一个ADSL计费系统,负责上网用户通过多台NAS(Net Access Server 接入服务器)进行宽带接入记费,支持ADSL拨号,支持Radius协议,支持包月、小时、流量记费,使用JSP、Servlet、Struts、Spr

18、ing、Hibernate、Ajax、PL/SQL等技术,可移植于各种平台。3.1使用框架本系统使用SSH应用框架设计,SSH(Spring、 Struts2和 Hibernate)框架组合是一种典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。SSH框架是由Spring、 Struts2和 Hibernate 三种技术组合机遇成。其中Struts2实现MVC架构。MVC(Model-View-Controller)是许多交互和界面系

19、统的构成基础。根据界面设计可变性的需求,MVC把交互系统的组成分解成模型、视图、控制器三部分。3.1.1 Struts技术 对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架并不是一件容易的事。幸运的是,随着Web开发技术的日趋成熟,在Web开发领域出现了一些现成的优秀的框架,开发者可以直接使用它们,Struts就是一种不错的选择,它是基于MVC的Web应用框架。 Jakarta-Struts是Apache软件组织提供的一项开放源代码项目,它为Java Web应用提供了模型-视图-控制器( Model-View-Controller ,MVC )框架,尤其适用于开发大型可扩展的Web应

20、用。Struts这个名字来源于在建筑和旧式飞机中使用的支撑金属架。Struts为Web应用提供了一个通用的框架,使得开发人员可以把精力集中在如何解决实际业务的问题上。此外,Struts框架提供了许多可供扩展和定制的地方,使得应用程序可以方便的扩展其框架,来更好的适应用户的实际需求。 而且Struts本身是一群经验丰富的Web开发专家的集体智慧结晶,在全世界范围内得到广泛运用并得到一致认可。因此对于开发大型复杂的Web应用,Struts是不错的框架选择。 Struts实质上就是在JSP Model2的基础上实现的一个MVC框架。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组

21、件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件构成。图1-2显示了Struts实现的MVC框架。3.1.2 Spring技术 Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个

22、可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。 Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。3.1.3 Hibernate技术 Hibernate是一个数据持久层框架,是一种实现对象和关系之间映射(O/R Mapping)的工具,它对JDBC进行了轻量级的

23、对象封装,使程序员可以使用对象编程思想来操作数据库。它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来操作数据库,使用Hibernate能大大的提高实现的效率。本课题结合了Struts、Spring、Hibernate、XML等技术,通过这个系统设计和实现,可以对象电信领域增加认识,提高业务开发的能力和软件设计能力,开拓视野。为今后走向社会增加一点点经验。 Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务()管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它

24、们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 结合SSH(Spring、 Struts2和 Hibernate)框架组合技术,实现电信运营支撑系统的采购的采集系统、整合系统、用户管理系统、资费管理系统、管理员管理系统、帐单查询系统、帐务查询系统、用户自服务系统和权限管理系统,相比其他开发技术而言降低了系统各组件之间的耦合性,提高了代码的可重用性,也对使数据库的操作变得非常简单。第四章 实现方法4.1实现过程4.1.1 采集模块(WOSS)采集模块的主要功能是将AAA服务器传过来的数据进行采集,从零散的数据中获得每个用户的登陆网络的时间、下线的时间、占用网络的时间长度和用户所

25、在的NAS服务器及其IP地址。为整合模块提供整合所需要的数据。 ( 图4.1)功能要求:根据从AAA服务器中传过来的数据,按照用户使用网络的上线和下线的记录整合出客户的在线 时间长度、用户所在IP等信息,并将采集好的数据在客户端进行备份,然后将整合好的数据传送到服务器进行数据库存储,保存失败则备份。在此模块中,我负责服务器端程序的编写,实现功能是:采用多线程的方式,接收来自不同客户端采集好的数据,然后转发给入库模块进行入库。4.1.2整合模块(DBMS)整合模块是按照不同的时间单位(小时、天、月)实现数据整合的一个模块,为收取用户上网费用提供主要依据,此模块采用Orale数据库内置语言PL/S

26、QL进行编写。具体业务如下图所示: (图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表用于地某个

27、用户某月的消费情况进行记录;T_ month表用于地某个月份的所有用户的消费情况进行汇总; 3.年表整合:每个月定时整合一次,将数据从T_month_x表中整合到T_year_x表中,生成以月为单位统计的数据,程序总是每个月定时并且自动的整合前一个月的数据。T_year_x表用于地某个用户某年的消费情况进行记录;T_year表用于地某年的所有用户的消费情况进行汇总; 此模块中,本人主要从事T_year表的数据整合。4.1.3网上营业厅( WEB)本人负责帐务管理模块的编写,在网上营业厅的部分,本人主要负责的是帐务管理模块,该模块的作用是对所有NAS服务器进行数据整合,以NAS服务器为基本单位,

28、对所有NAS服务器的营业状况进行数据查询统计,为公司管理层提供公司业务经营现状的数据显示。提供给公司管理层作业务决策的数据基础。此模块主要是实现对所有系统中所有帐务信息的查询,并根据查询结果生成关于NAS服务器的网络使用趋势分析图显示在JSP页面上,且将帐务信息查询结果详细清单显示到JSP页面,供管理层进行业务分析。技术要求:JDBC、javaScript、jsp、xml4.2实现细节4.2.1采集系统(WOSS)(图4.3)设计思路: 本系统是一个数据采集的系统,要想对用户进行准确的收费,首先必须能够获得用户使用上网服务的准确的使用记录,采集子系统正是为了获取这些记录而提供的,用户每次登录和

29、退出Unix服务器的信息都会被自动保存到一个在线日志文件中。将上线IP地址和时间、下线的IP地址和时间等信息保存下来。采集系统通过调用系统程序来读取这个日志文件中的内容,将相互对应的上下线信息提取整合成一条数据,其中包括登录IP、时间长度、所在服务器等作为计费依据。最后把这些数据存入数据库中,以备其他系统使用。为了使读取的数据量不至于过大,采集系统会每小时定时执行一次,每次只采集上一个小时时间段之内的数据。在此系统中我负责服务器端的编写,服务器端的任务是负责接收从客户端发来的数据,然后将数据转发到入库模块进行存储。 主要实现方法:public class NetServerImpl imple

30、ments NetServerprivate 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 s

31、erver=null;List<Socket> list=new ArrayList<Socket>();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();teThrea

32、d net=new teThread(s,list);Thread t=new Thread(net);t.start();catch(Exception e)e.printStackTrace();/多线程class teThread extends Threadprivate Socket s;private List list;private Config config=ConfigImpl.newInstance();public teThread(Socket s,List list)this.s=s;this.list=list;SuppressWarnings("unc

33、hecked")public void run() InputStream in=null;Collection<BIDR> coll=null; /存储源数据Collection<BIDR> coll2=null;/存储备份数据try coll2=reInsert(); /获得备份文件信息in=s.getInputStream();ObjectInputStream ois=new ObjectInputStream(in);coll=(Collection) ois.readObject(); /接收源数据Logl("接收数据条数:"+

34、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 (ClassNot

35、FoundException 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<BIDR> reInsert()/获取备件文件的信息Collection<BIDR> coll=null;tryBackup up=config.getBackup();coll=up.load(Backup.SE

36、RVER); 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)整合模块是按照不同的时间单位(小时、天、月)实现数据整合的一个模

37、块,为收取用户上网费用提供主要依据,此模块采用Orale数据库内置语言PL/SQL进行编写。整合是将某个用户在某一时段内所用机时求和后形成一条记录。整合分为两种整合方式:一种是针对客户进行整合,以客户IP为单位,对其使用网络状况的信息 以小时、天、月为单位进行整合;二种是针对NAS服务器进行整合,以该NAS服务器上的所有客户的使用状况进行汇总,对所有客户使用网络状况的信息 以小时、天、月为单位进行整合; (图4.4)采集系统定时将用户使用服务器的数据存入到了数据库中,但这些数据都是流水帐的数据,是用户每次使用UNIX操作系统的用时。如果用户量大,用户频繁地登入/出,将产生大量的数据,不便于将来

38、生成用户的月账单和对开放实验室的使用情况进行月统计和年统计,因此,出现了整合系统。整合是将某个用户在某一时段内所用机时求和后形成一条记录。整合系统具体整合规则如下:1. 每小时定时整合一次,生成以小时为单位统计的数据,程序总是每小时定时整合前一小时的数据。2. 每天定时整合一次,生成以天为单位统计的数据,程序总是每天定时整合前一天的数据. 3. 每个月定时整合一次,生成以月为单位统计的数据,程序总是每个月定时整合前一个月的数据。实现过程:/* 按月合并月表t_month_x生成所有用户计费数据年表t_year_x */procedure pro_user_month_to_yearisyear

39、_tab_name varchar2(20);month_tab_name varchar2(20);v_sql varchar2(200);beginyear_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_log

40、in_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;/* 按月

41、合并月表NAS_Month生成所有NAS数据年表NAS_Year */procedure pro_nas_month_to_yearis begininsert 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

42、) 本人主要负责的是帐务管理模块,该模块的作用是对所有NAS服务器进行数据整合,以NAS服务器为基本单位,对所有NAS服务器的营业状况进行数据查询统计,为公司管理层提供公司业务经营现状的数据显示。提供给公司管理层作业务决策的数据基础。在此模块中,本人主要负责帐务管理模块的代码编写工作。在用户帐务模块开发中,我们采用Struts框架,数据访问层采用DAO模式实现一个业务模型,供负责各种业务处理的Action 调用,页面部分采用JSP技术显示数据。实现管理员登陆系统后能通过Internet自主查询自己的当前或历史帐务。网上营业厅模块总览: (图4.5)4.2.3.1 帐务管理系统帐务管理的主要用处

43、是管理公司的帐务情况,与一般的财务软件不同,本帐务管理系统结合权限的设置,针对不同的用户输入查看帐务信息。实际的使用中如,每年/月/日将进项报名汇总后提交,或者将当财务状况提交,那么公司的经理可以通过互联网在任何有上网条件的地方看到相应的财务状况。具有帐务查询的管理员可以使用此子系统对网络的使用情况进行查询。此子系统可以提供以日为单位的查询,也可以提供月为单位的查询和以年为单位的查询。具体操作如下: 4.2.3.1.1日帐务查询具有账务查询角色的管理员进入本系统,登录成功后,可以执行如下查询操作:l 根据输入的年、月、日,查询所有这个日期使用的总的时长(分钟数)、访问量(人数)信息并生成视图。

44、查询趋势分析图效果如下: (图4.6)如上图所示:所查询结果为所有网络用户在访问量与单位小时的关系,此线状图反映了网络访问访问情况的特点,可为公司管理层制定收费机制提供依据。以生成表格的开式查看这一天的每个小时的访问量、在线时长信息。查询图表效果如下: (图4.7)如上图所示:所查询结果为所有网络用户在访问量与单位小时的对应关系,此表反映了网络访问访问情况的特点,可为公司管理层提供精确的数据显示。NasDay表查询源码:public class BusinessDaoImpl extends JdbcDaoSupport implements IBusinessDao/public List

45、list2 = new ArrayList();/-day-/对NasDay表查询的处理public List daySearch(String dayBegin,String dayEnd) throws Exception final List<LineValue> list = new ArrayList<LineValue>();/sql语句,找出124小时对应的nas_ip的"在线人数"和"总时长"String sql="select sum(total) total,sum(time_duration) mi

46、nutes,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')"/Syste

47、m.out.println(sql);/查询数据库,获得数据集合rsgetJdbcTemplate().query(sql, new RowCallbackHandler() SuppressWarnings( "unchecked", "unchecked", "deprecation" )public void processRow(ResultSet rs) throws SQLException LineValue lv=new LineValue(); lv.setName("日表"); List lis

48、t2=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

49、 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对象,用于转存list2List list3=new ArrayList();int a=0,b=1; LineItem li2=new

50、 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.si

51、ze()将大于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月帐务查询具有账务查询角色的管理员进入本系统,登录成功后,可以执行如下查询操作:l 根据输入的年、月份查询所有这个月的访问量(人数)和在线的总时长(分钟数)信息并生成视图。查询效果如下: (图4.8)l 以生成表格的开式查看这个月每一天

52、的访问量(人数)和在线的总时长(分钟数)信息。查询效果如下: (图4.9)如上图所示:所查询结果为所有网络用户在访问量与单位小时的对应关系,此柱状图状反映了网络访问访问情况的特点,可为公司管理层制定收费机制提供依据。NasMonth表数据查询的一些相关源码如下:/对NasMonth表查询的处理public List monthSearch(String monthBegin,String monthEnd) throws Exception final List<BarValue> list = new ArrayList<BarValue>();/sql语句,找出131号对应的nas_ip的"在线人数"和"总时长"String sql="select sum(total) total,sum(time_duration) minutes,trunc(ondate, 'dd') day from NASDay where ondate>=" +"to_date('" +

温馨提示

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

评论

0/150

提交评论