計(jì)算機(jī)系 畢業(yè)設(shè)計(jì)論文_第1頁(yè)
計(jì)算機(jī)系 畢業(yè)設(shè)計(jì)論文_第2頁(yè)
計(jì)算機(jī)系 畢業(yè)設(shè)計(jì)論文_第3頁(yè)
計(jì)算機(jī)系 畢業(yè)設(shè)計(jì)論文_第4頁(yè)
計(jì)算機(jī)系 畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 畢業(yè)設(shè)計(jì)課題名稱:電信運(yùn)營(yíng)支撐系統(tǒng) 院 系: 計(jì)算機(jī)工程系 專 業(yè): 軟件工程 班 級(jí): 計(jì)Y051班 學(xué)生姓名: lck 學(xué) 號(hào):2005020010. 指導(dǎo)教師: 2009年 5 月20 日 摘要本系統(tǒng)實(shí)現(xiàn)的是一個(gè)電信業(yè)務(wù)運(yùn)營(yíng)的支撐系統(tǒng),為上網(wǎng)用戶的管理提供支撐,主要針對(duì)帳務(wù)信息和帳單信息進(jìn)行計(jì)費(fèi)、查詢等功能;為營(yíng)業(yè)員和用戶提供網(wǎng)上服務(wù),確保有效提高營(yíng)業(yè)的效率。該系統(tǒng)還提供用戶注冊(cè)、修改信息、在線訂單等功能,為電信業(yè)務(wù)拓展網(wǎng)絡(luò)市場(chǎng)提供服務(wù)。系統(tǒng)包含三個(gè)模塊,主要包括采集系統(tǒng)、整合系統(tǒng)和WEB模塊,其中WEB模塊又分有:用戶管理系統(tǒng)、資費(fèi)管理系統(tǒng)、管理員管理系統(tǒng)、帳單查詢系統(tǒng)、帳務(wù)查詢系統(tǒng)

2、、用戶自服務(wù)系統(tǒng)、權(quán)限管理系統(tǒng)七個(gè)小模塊。具體實(shí)現(xiàn)過程包括:采集系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行采集,然后將數(shù)據(jù)存入數(shù)據(jù)庫(kù),一但采集失敗則進(jìn)行備份并書寫日志信息;整合系統(tǒng)按照一定的時(shí)間對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行整合,具體分為三種方式:按每個(gè)小時(shí)整合一次、每天整合一次、每月整合一次,并將整合好的數(shù)據(jù)分別存入特定的數(shù)據(jù)庫(kù)表; Web模塊主要是用于和客戶及營(yíng)業(yè)員進(jìn)行交互,本人負(fù)責(zé)帳務(wù)查詢系統(tǒng),此系統(tǒng)用于查詢各個(gè)服務(wù)器的年、月、日的帳務(wù)信息;并產(chǎn)生對(duì)應(yīng)的趨勢(shì)分析圖用于提供給決策都作決策參考; 電信業(yè)務(wù)運(yùn)營(yíng)的支撐系統(tǒng)是典型的管理信息系統(tǒng),其內(nèi)容對(duì)于企業(yè)的決策者和管理者來說都至關(guān)重要。此系統(tǒng)主要采用SSH框架完成,SSH框架是指

3、struts、spring和Hibernate三種技術(shù)混合使用的一種架構(gòu)。大型oracle數(shù)據(jù)庫(kù)技術(shù),實(shí)現(xiàn)了基于B/S模式的管理信息。關(guān)鍵詞: 對(duì)象關(guān)系映射技術(shù)、數(shù)據(jù)采集系統(tǒng)、數(shù)據(jù)整合模塊、運(yùn)營(yíng)的支撐系統(tǒng) 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第一章 項(xiàng)目背景4第二章 項(xiàng)目要求6第三章 設(shè)計(jì)方案73.1使用框架73.1.1 Struts技術(shù)73.1.2 Spring技術(shù)83.1.3 Hibernate技術(shù)8第四章 實(shí)現(xiàn)方法94.1實(shí)現(xiàn)過程94.1.1 采集模塊(WOSS)94.1.2整合模塊(DBMS)104.1.3網(wǎng)上營(yíng)業(yè)廳( WEB)114.2實(shí)現(xiàn)細(xì)節(jié)114.2.1采集系統(tǒng)(W

11、OSS)114.2.2整合系統(tǒng)(DBMS)144.2.3 網(wǎng)上營(yíng)業(yè)廳(WEB)164.3效果評(píng)價(jià)27第五章 數(shù)據(jù)庫(kù)設(shè)計(jì)275.1采用的數(shù)據(jù)庫(kù)Oralce 10g數(shù)據(jù)庫(kù)275.2 表設(shè)計(jì)305.2.1表 t_detail_x305.2.2 表 NASDay305.2.3 表 NASMonth315.2.4表 NASYear315.3開發(fā)平臺(tái)32謝 辭34參考文獻(xiàn)35第一章 項(xiàng)目背景伴隨著計(jì)算機(jī)網(wǎng)絡(luò)的不斷普及,計(jì)算機(jī)的迅速發(fā)展,計(jì)算機(jī)的應(yīng)用,信息技術(shù)全面地滲透到人類社會(huì)的各個(gè)方面,信息化成為世界經(jīng)濟(jì)和社會(huì)發(fā)展的大趨勢(shì)。企業(yè)的管理從人工到自動(dòng)化,智能化和高效性。為及時(shí)、準(zhǔn)確、高效的完成管理提供了強(qiáng)有

12、力的工具和管理手段. 為適應(yīng)現(xiàn)代信息管理,各個(gè)公司都在尋找著提高辦事效率,降低工作成本的辦法.計(jì)算機(jī)的迅速發(fā)展,計(jì)算機(jī)的應(yīng)用,信息技術(shù)全面地滲透到人類社會(huì)的各個(gè)方面,信息化成為世界經(jīng)濟(jì)和社會(huì)發(fā)展的大趨勢(shì)。企業(yè)的管理從人工到自動(dòng)化,智能化和高效性。為及時(shí)、準(zhǔn)確、高效的完成倉(cāng)庫(kù)管理提供了強(qiáng)有力的工具和管理手段. 適應(yīng)現(xiàn)代信息管理,設(shè)計(jì)這個(gè)基于JAVA的電信寬帶業(yè)務(wù)運(yùn)營(yíng)系統(tǒng)。SSH(Spring、 Struts2和 Hibernate)框架組合是一種典型的J2EE三層結(jié)構(gòu),分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗(yàn)等工作放在中間層處理??蛻舳瞬恢苯优c數(shù)據(jù)庫(kù)

13、交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫(kù)交互。 由于市場(chǎng)供求關(guān)系等因素的不斷變化,為了吸引更多的消費(fèi)者,電信公司推出了各種形形色色的營(yíng)銷方案和措施。如:包月上網(wǎng)套餐、按流量上網(wǎng)套餐、VIP會(huì)員套餐等業(yè)務(wù)。為了滿足業(yè)務(wù)上的需求,電信運(yùn)營(yíng)商提出了解決電信寬帶業(yè)務(wù)運(yùn)營(yíng)中查詢、報(bào)表、記錄、數(shù)據(jù)采集等的需求。電信運(yùn)營(yíng)支撐系統(tǒng)專為電信擴(kuò)充功能而開發(fā)的系統(tǒng)。系統(tǒng)總體模型:(圖1.1)用戶通過不同的IP地址連接到網(wǎng)絡(luò)上進(jìn)而獲得網(wǎng)絡(luò)服務(wù)功能,NAS服務(wù)器記錄下用戶的登陸IP、上線時(shí)間、下線時(shí)間等信息;AAA服務(wù)器從各個(gè)NAS服務(wù)器獲得用戶服務(wù)的數(shù)據(jù)信息匯總,然后將數(shù)據(jù)傳給數(shù)據(jù)采集系統(tǒng)(WOSS系統(tǒng)

14、),數(shù)據(jù)采集系統(tǒng)獲得的數(shù)據(jù)進(jìn)行采集,進(jìn)而獲得用戶的IP地址、所在服務(wù)器、在線總時(shí)間等;WOSS系統(tǒng)采集完畢后將數(shù)據(jù)傳給數(shù)據(jù)整合系統(tǒng)(DBMS系統(tǒng)),DBMS系統(tǒng)將數(shù)據(jù)按每個(gè)小時(shí)整合一次、每個(gè)天整合一次和每個(gè)月整合一次的方法進(jìn)行整合后將數(shù)據(jù)存入數(shù)據(jù)庫(kù)中,為網(wǎng)上營(yíng)業(yè)廳提供數(shù)據(jù)支持。網(wǎng)上營(yíng)業(yè)廳的操作所需要的數(shù)據(jù)依賴于DBMS整合的結(jié)果。第二章 項(xiàng)目要求系統(tǒng)主要功能及模塊:系統(tǒng)包括采集子系統(tǒng)、整合子系統(tǒng)和網(wǎng)上營(yíng)業(yè)廳三個(gè)子系統(tǒng),其關(guān)系視圖如下:( (圖2.1)電信運(yùn)營(yíng)支撐系統(tǒng)主要包括采集子系統(tǒng)、整合子系統(tǒng)、網(wǎng)上營(yíng)業(yè)廳三個(gè)子系統(tǒng);采集子系統(tǒng)包括配置模塊、日志模塊、采集模塊、備份模塊、網(wǎng)絡(luò)模塊;其中負(fù)責(zé)所有

15、模塊的配置,協(xié)調(diào)其他所有模塊的管理;日志模塊負(fù)責(zé)所有模塊操作的日志書寫,包括數(shù)據(jù)備份日志、發(fā)送日志、異常日志等;采集模塊模塊負(fù)責(zé)將獲得的數(shù)據(jù)進(jìn)行提取并整合出感興趣的數(shù)據(jù);備份模塊則是用于對(duì)數(shù)據(jù)的備份,備份主要包括兩種情況:一是常規(guī)默認(rèn)備份,數(shù)據(jù)采集完畢之后會(huì)默認(rèn)備份一次;二是異常備份,數(shù)據(jù)存儲(chǔ)發(fā)生異常后會(huì)進(jìn)行備份; 整合模塊是按照不同的時(shí)間單位(小時(shí)、天、月)實(shí)現(xiàn)數(shù)據(jù)整合的一個(gè)模塊,為收取用戶上網(wǎng)費(fèi)用提供主要依據(jù),此模塊采用Orale數(shù)據(jù)庫(kù)內(nèi)置語(yǔ)言PL/SQL進(jìn)行編寫。整合是將某個(gè)用戶在某一時(shí)段內(nèi)所用機(jī)時(shí)求和后形成一條記錄。整合分為兩種整合方式:一種是針對(duì)客戶進(jìn)行整合,以客戶IP為單位,對(duì)其使

16、用網(wǎng)絡(luò)狀況的信息 以小時(shí)、天、月為單位進(jìn)行整合;二種是針對(duì)NAS服務(wù)器進(jìn)行整合,以該NAS服務(wù)器上的所有客戶的使用狀況進(jìn)行匯總,對(duì)所有客戶使用網(wǎng)絡(luò)狀況的信息 以小時(shí)、天、月為單位進(jìn)行整合; 網(wǎng)上營(yíng)業(yè)廳又包含多個(gè)子模塊,主要包括:用戶管理子系統(tǒng)、資費(fèi)管理子系統(tǒng)、帳務(wù)查詢子系統(tǒng)、帳單查詢子系統(tǒng)、用戶自服務(wù)子系統(tǒng)等子系統(tǒng)。這個(gè)系統(tǒng)可以有效的解決一些實(shí)際問題。選擇使用這些業(yè)務(wù)的用戶能夠通過網(wǎng)絡(luò)遠(yuǎn)程登錄到系統(tǒng)中做基于這個(gè)系統(tǒng)的操作,如:查詢帳務(wù)信息、查詢訂單等。運(yùn)營(yíng)商能夠借助先進(jìn)的計(jì)算機(jī)技術(shù)對(duì)訪問的用戶進(jìn)行管理和計(jì)費(fèi),由此實(shí)現(xiàn)對(duì)此項(xiàng)業(yè)務(wù)運(yùn)營(yíng)的支持與管理。在網(wǎng)上營(yíng)業(yè)廳的部分,本人主要負(fù)責(zé)的是帳務(wù)管理模塊,

17、該模塊的作用是對(duì)所有NAS服務(wù)器進(jìn)行數(shù)據(jù)整合,以NAS服務(wù)器為基本單位,對(duì)所有NAS服務(wù)器的營(yíng)業(yè)狀況進(jìn)行數(shù)據(jù)查詢統(tǒng)計(jì),為公司管理層提供公司業(yè)務(wù)經(jīng)營(yíng)現(xiàn)狀的數(shù)據(jù)顯示。提供給公司管理層作業(yè)務(wù)決策的數(shù)據(jù)基礎(chǔ)。第三章 設(shè)計(jì)方案本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)是以O(shè)racle作為開發(fā)工具,結(jié)合Oracle數(shù)據(jù)庫(kù)完成的。在這一段時(shí)間里,查閱了大量的資料,完成了對(duì)電信運(yùn)營(yíng)系統(tǒng)的開發(fā)。WOSS系統(tǒng)是一個(gè)ADSL計(jì)費(fèi)系統(tǒng),負(fù)責(zé)上網(wǎng)用戶通過多臺(tái)NAS(Net Access Server 接入服務(wù)器)進(jìn)行寬帶接入記費(fèi),支持ADSL撥號(hào),支持Radius協(xié)議,支持包月、小時(shí)、流量記費(fèi),使用JSP、Servlet、Struts、Spr

18、ing、Hibernate、Ajax、PL/SQL等技術(shù),可移植于各種平臺(tái)。3.1使用框架本系統(tǒng)使用SSH應(yīng)用框架設(shè)計(jì),SSH(Spring、 Struts2和 Hibernate)框架組合是一種典型的J2EE三層結(jié)構(gòu),分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗(yàn)等工作放在中間層處理??蛻舳瞬恢苯优c數(shù)據(jù)庫(kù)交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫(kù)交互。SSH框架是由Spring、 Struts2和 Hibernate 三種技術(shù)組合機(jī)遇成。其中Struts2實(shí)現(xiàn)MVC架構(gòu)。MVC(Model-View-Controller)是許多交互和界面系

19、統(tǒng)的構(gòu)成基礎(chǔ)。根據(jù)界面設(shè)計(jì)可變性的需求,MVC把交互系統(tǒng)的組成分解成模型、視圖、控制器三部分。3.1.1 Struts技術(shù) 對(duì)于開發(fā)Web應(yīng)用,要從頭設(shè)計(jì)并開發(fā)出一個(gè)可靠、穩(wěn)定的框架并不是一件容易的事。幸運(yùn)的是,隨著Web開發(fā)技術(shù)的日趨成熟,在Web開發(fā)領(lǐng)域出現(xiàn)了一些現(xiàn)成的優(yōu)秀的框架,開發(fā)者可以直接使用它們,Struts就是一種不錯(cuò)的選擇,它是基于MVC的Web應(yīng)用框架。 Jakarta-Struts是Apache軟件組織提供的一項(xiàng)開放源代碼項(xiàng)目,它為Java Web應(yīng)用提供了模型-視圖-控制器( Model-View-Controller ,MVC )框架,尤其適用于開發(fā)大型可擴(kuò)展的Web應(yīng)

20、用。Struts這個(gè)名字來源于在建筑和舊式飛機(jī)中使用的支撐金屬架。Struts為Web應(yīng)用提供了一個(gè)通用的框架,使得開發(fā)人員可以把精力集中在如何解決實(shí)際業(yè)務(wù)的問題上。此外,Struts框架提供了許多可供擴(kuò)展和定制的地方,使得應(yīng)用程序可以方便的擴(kuò)展其框架,來更好的適應(yīng)用戶的實(shí)際需求。 而且Struts本身是一群經(jīng)驗(yàn)豐富的Web開發(fā)專家的集體智慧結(jié)晶,在全世界范圍內(nèi)得到廣泛運(yùn)用并得到一致認(rèn)可。因此對(duì)于開發(fā)大型復(fù)雜的Web應(yīng)用,Struts是不錯(cuò)的框架選擇。 Struts實(shí)質(zhì)上就是在JSP Model2的基礎(chǔ)上實(shí)現(xiàn)的一個(gè)MVC框架。在Struts框架中,模型由實(shí)現(xiàn)業(yè)務(wù)邏輯的JavaBean或EJB組

21、件構(gòu)成,控制器由ActionServlet和Action來實(shí)現(xiàn),視圖由一組JSP文件構(gòu)成。圖1-2顯示了Struts實(shí)現(xiàn)的MVC框架。3.1.2 Spring技術(shù) Spring是一個(gè)開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。 Spring包含并管理應(yīng)用對(duì)象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配置你的每個(gè)bean如何被創(chuàng)建基于一個(gè)

22、可配置原型(prototype),你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或者每次需要時(shí)都生成一個(gè)新的實(shí)例以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級(jí)的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。 Spring可以將簡(jiǎn)單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對(duì)象被聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。3.1.3 Hibernate技術(shù) Hibernate是一個(gè)數(shù)據(jù)持久層框架,是一種實(shí)現(xiàn)對(duì)象和關(guān)系之間映射(O/R Mapping)的工具,它對(duì)JDBC進(jìn)行了輕量級(jí)的

23、對(duì)象封裝,使程序員可以使用對(duì)象編程思想來操作數(shù)據(jù)庫(kù)。它不僅提供了從Java類到數(shù)據(jù)表的映射,也提供了數(shù)據(jù)查詢和恢復(fù)機(jī)制。相對(duì)于使用JDBC和SQL來操作數(shù)據(jù)庫(kù),使用Hibernate能大大的提高實(shí)現(xiàn)的效率。本課題結(jié)合了Struts、Spring、Hibernate、XML等技術(shù),通過這個(gè)系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn),可以對(duì)象電信領(lǐng)域增加認(rèn)識(shí),提高業(yè)務(wù)開發(fā)的能力和軟件設(shè)計(jì)能力,開拓視野。為今后走向社會(huì)增加一點(diǎn)點(diǎn)經(jīng)驗(yàn)。 Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)(例如審計(jì)(auditing)和事務(wù)()管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對(duì)象只實(shí)現(xiàn)它們應(yīng)該做的完成業(yè)務(wù)邏輯僅此而已。它

24、們并不負(fù)責(zé)(甚至是意識(shí))其它的系統(tǒng)級(jí)關(guān)注點(diǎn),例如日志或事務(wù)支持。 結(jié)合SSH(Spring、 Struts2和 Hibernate)框架組合技術(shù),實(shí)現(xiàn)電信運(yùn)營(yíng)支撐系統(tǒng)的采購(gòu)的采集系統(tǒng)、整合系統(tǒng)、用戶管理系統(tǒng)、資費(fèi)管理系統(tǒng)、管理員管理系統(tǒng)、帳單查詢系統(tǒng)、帳務(wù)查詢系統(tǒng)、用戶自服務(wù)系統(tǒng)和權(quán)限管理系統(tǒng),相比其他開發(fā)技術(shù)而言降低了系統(tǒng)各組件之間的耦合性,提高了代碼的可重用性,也對(duì)使數(shù)據(jù)庫(kù)的操作變得非常簡(jiǎn)單。第四章 實(shí)現(xiàn)方法4.1實(shí)現(xiàn)過程4.1.1 采集模塊(WOSS)采集模塊的主要功能是將AAA服務(wù)器傳過來的數(shù)據(jù)進(jìn)行采集,從零散的數(shù)據(jù)中獲得每個(gè)用戶的登陸網(wǎng)絡(luò)的時(shí)間、下線的時(shí)間、占用網(wǎng)絡(luò)的時(shí)間長(zhǎng)度和用戶所

25、在的NAS服務(wù)器及其IP地址。為整合模塊提供整合所需要的數(shù)據(jù)。 ( 圖4.1)功能要求:根據(jù)從AAA服務(wù)器中傳過來的數(shù)據(jù),按照用戶使用網(wǎng)絡(luò)的上線和下線的記錄整合出客戶的在線 時(shí)間長(zhǎng)度、用戶所在IP等信息,并將采集好的數(shù)據(jù)在客戶端進(jìn)行備份,然后將整合好的數(shù)據(jù)傳送到服務(wù)器進(jìn)行數(shù)據(jù)庫(kù)存儲(chǔ),保存失敗則備份。在此模塊中,我負(fù)責(zé)服務(wù)器端程序的編寫,實(shí)現(xiàn)功能是:采用多線程的方式,接收來自不同客戶端采集好的數(shù)據(jù),然后轉(zhuǎn)發(fā)給入庫(kù)模塊進(jìn)行入庫(kù)。4.1.2整合模塊(DBMS)整合模塊是按照不同的時(shí)間單位(小時(shí)、天、月)實(shí)現(xiàn)數(shù)據(jù)整合的一個(gè)模塊,為收取用戶上網(wǎng)費(fèi)用提供主要依據(jù),此模塊采用Orale數(shù)據(jù)庫(kù)內(nèi)置語(yǔ)言PL/S

26、QL進(jìn)行編寫。具體業(yè)務(wù)如下圖所示: (圖4.2)整合是將某個(gè)用戶在某一時(shí)段內(nèi)所用機(jī)時(shí)求和后形成一條記錄。整合系統(tǒng)具體整合規(guī)則如下:1.日表整合: 每小時(shí)定時(shí)整合一次,將數(shù)據(jù)從T_DETAL_X表中整合到T_day_x表和T_day表中,生成以小時(shí)為單位統(tǒng)計(jì)的數(shù)據(jù),程序總是每小時(shí)定時(shí)整合前一小時(shí)的數(shù)據(jù);T_day_x表用于地某個(gè)用戶某日的消費(fèi)情況進(jìn)行記錄;T_day表用于地某個(gè)日期的所有用戶的消費(fèi)情況進(jìn)行匯總;2.月表整合:每天定時(shí)整合一次,將數(shù)據(jù)從T_day_x表中整合到T_month_x表中,生成以天為單位統(tǒng)計(jì)的數(shù)據(jù),程序總是每天定時(shí)并且自動(dòng)的整合前一天的數(shù)據(jù)。T_month_x表用于地某個(gè)

27、用戶某月的消費(fèi)情況進(jìn)行記錄;T_ month表用于地某個(gè)月份的所有用戶的消費(fèi)情況進(jìn)行匯總; 3.年表整合:每個(gè)月定時(shí)整合一次,將數(shù)據(jù)從T_month_x表中整合到T_year_x表中,生成以月為單位統(tǒng)計(jì)的數(shù)據(jù),程序總是每個(gè)月定時(shí)并且自動(dòng)的整合前一個(gè)月的數(shù)據(jù)。T_year_x表用于地某個(gè)用戶某年的消費(fèi)情況進(jìn)行記錄;T_year表用于地某年的所有用戶的消費(fèi)情況進(jìn)行匯總; 此模塊中,本人主要從事T_year表的數(shù)據(jù)整合。4.1.3網(wǎng)上營(yíng)業(yè)廳( WEB)本人負(fù)責(zé)帳務(wù)管理模塊的編寫,在網(wǎng)上營(yíng)業(yè)廳的部分,本人主要負(fù)責(zé)的是帳務(wù)管理模塊,該模塊的作用是對(duì)所有NAS服務(wù)器進(jìn)行數(shù)據(jù)整合,以NAS服務(wù)器為基本單位,

28、對(duì)所有NAS服務(wù)器的營(yíng)業(yè)狀況進(jìn)行數(shù)據(jù)查詢統(tǒng)計(jì),為公司管理層提供公司業(yè)務(wù)經(jīng)營(yíng)現(xiàn)狀的數(shù)據(jù)顯示。提供給公司管理層作業(yè)務(wù)決策的數(shù)據(jù)基礎(chǔ)。此模塊主要是實(shí)現(xiàn)對(duì)所有系統(tǒng)中所有帳務(wù)信息的查詢,并根據(jù)查詢結(jié)果生成關(guān)于NAS服務(wù)器的網(wǎng)絡(luò)使用趨勢(shì)分析圖顯示在JSP頁(yè)面上,且將帳務(wù)信息查詢結(jié)果詳細(xì)清單顯示到JSP頁(yè)面,供管理層進(jìn)行業(yè)務(wù)分析。技術(shù)要求:JDBC、javaScript、jsp、xml4.2實(shí)現(xiàn)細(xì)節(jié)4.2.1采集系統(tǒng)(WOSS)(圖4.3)設(shè)計(jì)思路: 本系統(tǒng)是一個(gè)數(shù)據(jù)采集的系統(tǒng),要想對(duì)用戶進(jìn)行準(zhǔn)確的收費(fèi),首先必須能夠獲得用戶使用上網(wǎng)服務(wù)的準(zhǔn)確的使用記錄,采集子系統(tǒng)正是為了獲取這些記錄而提供的,用戶每次登錄和

29、退出Unix服務(wù)器的信息都會(huì)被自動(dòng)保存到一個(gè)在線日志文件中。將上線IP地址和時(shí)間、下線的IP地址和時(shí)間等信息保存下來。采集系統(tǒng)通過調(diào)用系統(tǒng)程序來讀取這個(gè)日志文件中的內(nèi)容,將相互對(duì)應(yīng)的上下線信息提取整合成一條數(shù)據(jù),其中包括登錄IP、時(shí)間長(zhǎng)度、所在服務(wù)器等作為計(jì)費(fèi)依據(jù)。最后把這些數(shù)據(jù)存入數(shù)據(jù)庫(kù)中,以備其他系統(tǒng)使用。為了使讀取的數(shù)據(jù)量不至于過大,采集系統(tǒng)會(huì)每小時(shí)定時(shí)執(zhí)行一次,每次只采集上一個(gè)小時(shí)時(shí)間段之內(nèi)的數(shù)據(jù)。在此系統(tǒng)中我負(fù)責(zé)服務(wù)器端的編寫,服務(wù)器端的任務(wù)是負(fù)責(zé)接收從客戶端發(fā)來的數(shù)據(jù),然后將數(shù)據(jù)轉(zhuǎn)發(fā)到入庫(kù)模塊進(jìn)行存儲(chǔ)。 主要實(shí)現(xiàn)方法: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/創(chuàng)建監(jiān)聽套接口server=new ServerSocket(port);System.out.println("開始監(jiān)聽,端口號(hào)為: "+port);while(true)Socket s=server.accept();if(list.size()<backlog)list.add(s);/創(chuàng)建多線程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; /存儲(chǔ)源數(shù)據(jù)Collection<BIDR> coll2=null;/存儲(chǔ)備份數(shù)據(jù)try coll2=reInsert(); /獲得備份文件信息in=s.getInputStream();ObjectInputStream ois=new ObjectInputStream(in);coll=(Collection) ois.readObject(); /接收源數(shù)據(jù)Logl("接收數(shù)據(jù)條數(shù):"+

34、coll.size(),1); /保存接收日志if(coll2!=null)coll.addAll(coll2);DBStore dbs=config.getDBStore();dbs.insert(coll); /數(shù)據(jù)入庫(kù) 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整合系統(tǒng)(DBMS)整合模塊是按照不同的時(shí)間單位(小時(shí)、天、月)實(shí)現(xiàn)數(shù)據(jù)整合的一個(gè)模

37、塊,為收取用戶上網(wǎng)費(fèi)用提供主要依據(jù),此模塊采用Orale數(shù)據(jù)庫(kù)內(nèi)置語(yǔ)言PL/SQL進(jìn)行編寫。整合是將某個(gè)用戶在某一時(shí)段內(nèi)所用機(jī)時(shí)求和后形成一條記錄。整合分為兩種整合方式:一種是針對(duì)客戶進(jìn)行整合,以客戶IP為單位,對(duì)其使用網(wǎng)絡(luò)狀況的信息 以小時(shí)、天、月為單位進(jìn)行整合;二種是針對(duì)NAS服務(wù)器進(jìn)行整合,以該NAS服務(wù)器上的所有客戶的使用狀況進(jìn)行匯總,對(duì)所有客戶使用網(wǎng)絡(luò)狀況的信息 以小時(shí)、天、月為單位進(jìn)行整合; (圖4.4)采集系統(tǒng)定時(shí)將用戶使用服務(wù)器的數(shù)據(jù)存入到了數(shù)據(jù)庫(kù)中,但這些數(shù)據(jù)都是流水帳的數(shù)據(jù),是用戶每次使用UNIX操作系統(tǒng)的用時(shí)。如果用戶量大,用戶頻繁地登入/出,將產(chǎn)生大量的數(shù)據(jù),不便于將來

38、生成用戶的月賬單和對(duì)開放實(shí)驗(yàn)室的使用情況進(jìn)行月統(tǒng)計(jì)和年統(tǒng)計(jì),因此,出現(xiàn)了整合系統(tǒng)。整合是將某個(gè)用戶在某一時(shí)段內(nèi)所用機(jī)時(shí)求和后形成一條記錄。整合系統(tǒng)具體整合規(guī)則如下:1. 每小時(shí)定時(shí)整合一次,生成以小時(shí)為單位統(tǒng)計(jì)的數(shù)據(jù),程序總是每小時(shí)定時(shí)整合前一小時(shí)的數(shù)據(jù)。2. 每天定時(shí)整合一次,生成以天為單位統(tǒng)計(jì)的數(shù)據(jù),程序總是每天定時(shí)整合前一天的數(shù)據(jù). 3. 每個(gè)月定時(shí)整合一次,生成以月為單位統(tǒng)計(jì)的數(shù)據(jù),程序總是每個(gè)月定時(shí)整合前一個(gè)月的數(shù)據(jù)。實(shí)現(xiàn)過程:/* 按月合并月表t_month_x生成所有用戶計(jì)費(fèi)數(shù)據(jù)年表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數(shù)據(jù)年表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 網(wǎng)上營(yíng)業(yè)廳(WEB

42、) 本人主要負(fù)責(zé)的是帳務(wù)管理模塊,該模塊的作用是對(duì)所有NAS服務(wù)器進(jìn)行數(shù)據(jù)整合,以NAS服務(wù)器為基本單位,對(duì)所有NAS服務(wù)器的營(yíng)業(yè)狀況進(jìn)行數(shù)據(jù)查詢統(tǒng)計(jì),為公司管理層提供公司業(yè)務(wù)經(jīng)營(yíng)現(xiàn)狀的數(shù)據(jù)顯示。提供給公司管理層作業(yè)務(wù)決策的數(shù)據(jù)基礎(chǔ)。在此模塊中,本人主要負(fù)責(zé)帳務(wù)管理模塊的代碼編寫工作。在用戶帳務(wù)模塊開發(fā)中,我們采用Struts框架,數(shù)據(jù)訪問層采用DAO模式實(shí)現(xiàn)一個(gè)業(yè)務(wù)模型,供負(fù)責(zé)各種業(yè)務(wù)處理的Action 調(diào)用,頁(yè)面部分采用JSP技術(shù)顯示數(shù)據(jù)。實(shí)現(xiàn)管理員登陸系統(tǒng)后能通過Internet自主查詢自己的當(dāng)前或歷史帳務(wù)。網(wǎng)上營(yíng)業(yè)廳模塊總覽: (圖4.5)4.2.3.1 帳務(wù)管理系統(tǒng)帳務(wù)管理的主要用處

43、是管理公司的帳務(wù)情況,與一般的財(cái)務(wù)軟件不同,本帳務(wù)管理系統(tǒng)結(jié)合權(quán)限的設(shè)置,針對(duì)不同的用戶輸入查看帳務(wù)信息。實(shí)際的使用中如,每年/月/日將進(jìn)項(xiàng)報(bào)名匯總后提交,或者將當(dāng)財(cái)務(wù)狀況提交,那么公司的經(jīng)理可以通過互聯(lián)網(wǎng)在任何有上網(wǎng)條件的地方看到相應(yīng)的財(cái)務(wù)狀況。具有帳務(wù)查詢的管理員可以使用此子系統(tǒng)對(duì)網(wǎng)絡(luò)的使用情況進(jìn)行查詢。此子系統(tǒng)可以提供以日為單位的查詢,也可以提供月為單位的查詢和以年為單位的查詢。具體操作如下: 4.2.3.1.1日帳務(wù)查詢具有賬務(wù)查詢角色的管理員進(jìn)入本系統(tǒng),登錄成功后,可以執(zhí)行如下查詢操作:l 根據(jù)輸入的年、月、日,查詢所有這個(gè)日期使用的總的時(shí)長(zhǎng)(分鐘數(shù))、訪問量(人數(shù))信息并生成視圖。

44、查詢趨勢(shì)分析圖效果如下: (圖4.6)如上圖所示:所查詢結(jié)果為所有網(wǎng)絡(luò)用戶在訪問量與單位小時(shí)的關(guān)系,此線狀圖反映了網(wǎng)絡(luò)訪問訪問情況的特點(diǎn),可為公司管理層制定收費(fèi)機(jī)制提供依據(jù)。以生成表格的開式查看這一天的每個(gè)小時(shí)的訪問量、在線時(shí)長(zhǎng)信息。查詢圖表效果如下: (圖4.7)如上圖所示:所查詢結(jié)果為所有網(wǎng)絡(luò)用戶在訪問量與單位小時(shí)的對(duì)應(yīng)關(guān)系,此表反映了網(wǎng)絡(luò)訪問訪問情況的特點(diǎn),可為公司管理層提供精確的數(shù)據(jù)顯示。NasDay表查詢?cè)创a:public class BusinessDaoImpl extends JdbcDaoSupport implements IBusinessDao/public List

45、list2 = new ArrayList();/-day-/對(duì)NasDay表查詢的處理public List daySearch(String dayBegin,String dayEnd) throws Exception final List<LineValue> list = new ArrayList<LineValue>();/sql語(yǔ)句,找出124小時(shí)對(duì)應(yīng)的nas_ip的"在線人數(shù)"和"總時(shí)長(zhǎng)"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);/查詢數(shù)據(jù)庫(kù),獲得數(shù)據(jù)集合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對(duì)象中的list,即將 初始化LineItem 對(duì)象, 存入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); /對(duì)list2進(jìn)行排序,按 .getTime() Collections.sort(list2);/創(chuàng)建一個(gè)list3對(duì)象,用于轉(zhuǎn)存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中,數(shù)據(jù)為空的那個(gè)小時(shí),用LineItem的空對(duì)象補(bǔ)上,轉(zhuǎn)存到list3 list3.add(new LineItem(b,0,0); list3.add(li2); b=a+1; if(list3.size()<24)/如果list3長(zhǎng)度不足24,用LineItem的空對(duì)象補(bǔ)上,此處"i=list3.size()+1",/如果i=list3.size(),那list3.si

51、ze()將大于24而出錯(cuò) for(int i=list3.size()+1;i<25;i+) list3.add(new LineItem(i,0,0); /list3初始化到lv對(duì)象 lv.setItems(list3);/將LineValue中的list對(duì)象添加入此處的list list.add(lv); );return list;4.2.3.1.2月帳務(wù)查詢具有賬務(wù)查詢角色的管理員進(jìn)入本系統(tǒng),登錄成功后,可以執(zhí)行如下查詢操作:l 根據(jù)輸入的年、月份查詢所有這個(gè)月的訪問量(人數(shù))和在線的總時(shí)長(zhǎng)(分鐘數(shù))信息并生成視圖。查詢效果如下: (圖4.8)l 以生成表格的開式查看這個(gè)月每一天

52、的訪問量(人數(shù))和在線的總時(shí)長(zhǎng)(分鐘數(shù))信息。查詢效果如下: (圖4.9)如上圖所示:所查詢結(jié)果為所有網(wǎng)絡(luò)用戶在訪問量與單位小時(shí)的對(duì)應(yīng)關(guān)系,此柱狀圖狀反映了網(wǎng)絡(luò)訪問訪問情況的特點(diǎn),可為公司管理層制定收費(fèi)機(jī)制提供依據(jù)。NasMonth表數(shù)據(jù)查詢的一些相關(guān)源碼如下:/對(duì)NasMonth表查詢的處理public List monthSearch(String monthBegin,String monthEnd) throws Exception final List<BarValue> list = new ArrayList<BarValue>();/sql語(yǔ)句,找出131號(hào)對(duì)應(yīng)的nas_ip的"在線人數(shù)"和"總時(shí)長(zhǎng)"String sql="select sum(total) total,sum(time_duration) minutes,trunc(ondate, 'dd') day from NASDay where ondate>=" +"to_date('" +

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論