2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  數(shù)據(jù)挖掘技術(shù)在電信計(jì)費(fèi)系統(tǒng)中</p><p><b>  的應(yīng)用 </b></p><p><b>  學(xué) 生: </b></p><p><b>  學(xué) 號: </b></p><p>  專 業(yè):信息管理與信息系統(tǒng)</p>

2、;<p>  班 級:2009級1班</p><p><b>  指導(dǎo)教師: </b></p><p><b>  二O一三年六月</b></p><p>  數(shù)據(jù)挖掘技術(shù)在電信計(jì)費(fèi)系統(tǒng)中的應(yīng)用</p><p><b>  摘要</b></p>

3、<p>  本畢業(yè)論文所介紹的是數(shù)據(jù)挖掘技術(shù)在電信計(jì)費(fèi)系統(tǒng)中的應(yīng)用。數(shù)據(jù)挖掘是從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的數(shù)據(jù)中提取隱含在其中的、事先不知道的、但又是潛在有用的信息和知識的過程。隨著網(wǎng)絡(luò)的高速發(fā)展,一些大型廠商推出了服務(wù)器出租這項(xiàng)業(yè)務(wù)。為了使得出租商快捷、方便以及高效的統(tǒng)計(jì)出用戶的登錄信息及應(yīng)繳費(fèi)情況,本論文開發(fā)了一個(gè)電信計(jì)費(fèi)系統(tǒng)。</p><p>  本系統(tǒng)采用C/S架構(gòu),在UNIX

4、環(huán)境下以C++為主要的開發(fā)語言開發(fā)完成??蛻舳说墓δ馨ǘ〞r(shí)從服務(wù)器日志文件采集用戶數(shù)據(jù),匹配登入/登出信息,向服務(wù)器發(fā)送數(shù)據(jù);服務(wù)端的功能包括接收客戶端發(fā)送過來的數(shù)據(jù),存儲數(shù)據(jù)和整合數(shù)據(jù)等。</p><p>  關(guān)鍵詞:畢業(yè)設(shè)計(jì);電信計(jì)費(fèi)系統(tǒng);數(shù)據(jù)匹配;數(shù)據(jù)整合 </p><p>  The Application of Data Mining Technology in the Tel

5、ecom Toll System</p><p><b>  Abstract</b></p><p>  Described in this thesis is the application of data mining technology in the telecommunications billing system. Data mining is impl

6、ied from a large number of incomplete, noisy, fuzzy, random data in which, not known in advance, but potentially useful information and knowledge. With the rapid development of the Network, some large companies such as C

7、hina Telecom launched the server rent business. In order to statistic user login information and charge more fast, conveniently and efficiently, a Te</p><p>  This system is programmed by C++ language with C

8、/S architecture in UNIX operating system. The functions in client port include reading user information from server log file ,matching data and sending data to a server. The functions in sever port include receiving data

9、 from client, data storage and integrating data.</p><p>  Keywords: Graduation design, the Telecom toll system, Data match, Data integration</p><p><b>  目 錄</b></p><p&g

10、t;<b>  緒論</b></p><p><b>  1.1系統(tǒng)背景</b></p><p>  在電信的業(yè)務(wù)中,有一種Unix實(shí)驗(yàn)室出租業(yè)務(wù)。只要用戶向電信運(yùn)營商申請一個(gè)Unix帳號,就可以遠(yuǎn)程登錄Unix實(shí)驗(yàn)室,并使用Unix系統(tǒng)。用戶使用電信運(yùn)營商提供的Unix實(shí)驗(yàn)室的服務(wù)需要繳納一定的費(fèi)用,電信運(yùn)營商需要一套數(shù)據(jù)采集系統(tǒng),把用戶登錄實(shí)

11、驗(yàn)室的時(shí)間長度數(shù)據(jù)采集起來,便于在指定的時(shí)間范圍內(nèi)作為對用戶的收費(fèi)依據(jù)。要求數(shù)據(jù)采集系統(tǒng)必須采集如下信息:登錄用戶名,登錄的時(shí)間,登出的時(shí)間,登錄總的在線時(shí)間,登錄的實(shí)驗(yàn)室IP,用戶的終端IP等信息。系統(tǒng)需要開發(fā)這樣一個(gè)通用的數(shù)據(jù)采集系統(tǒng)程序來采集Unix機(jī)器記錄的用戶登入和登出的原始記錄,并將這些記錄解析匹配成用戶的登錄記錄,然后發(fā)送給數(shù)據(jù)采集服務(wù)器,在服務(wù)器端將這些數(shù)據(jù)以日期為單位保存在數(shù)據(jù)庫中,然后整合這些數(shù)據(jù)形成日報(bào)表,月報(bào)表和

12、年報(bào)表。</p><p><b>  1.2系統(tǒng)原理</b></p><p>  任何用戶登錄Unix系統(tǒng),Unix系統(tǒng)都會記錄用戶的登錄信息,所有用戶登入/登出的信息都保存在Unix的系統(tǒng)日志文件中。數(shù)據(jù)采集系統(tǒng)就是通過讀取Unix系統(tǒng)日志文件中用戶登入/登出信息,并找出成對的登入/登出記錄,得到用戶登錄實(shí)驗(yàn)室的登入時(shí)刻、登出時(shí)刻、登錄時(shí)間長度等電信用戶收費(fèi)需要使用

13、的數(shù)據(jù),最后把匹配處理好的數(shù)據(jù)保存成電信工作人員可以閱讀的文本文件,做為電信收費(fèi)依據(jù)。</p><p>  用戶登錄Unix系統(tǒng)的日志記錄文件在Unix的/var/adm目錄下,文件名是wtmpx,日志記錄文件是一個(gè)二進(jìn)制文件,在Unix中可以使用last指令查看,last命令格式為:</p><p>  last [-a] [-n number | -number] [-f filen

14、ame] [name | tty]</p><p>  wtmpx文件中一條登錄記錄包含372字節(jié),每條記錄包含的數(shù)據(jù)項(xiàng)格式說明如下表1-1所示: (其中黃色背景標(biāo)識的數(shù)據(jù)項(xiàng)就是要采集的數(shù)據(jù)項(xiàng)) </p><p>  【表1:用戶登錄記錄數(shù)據(jù)項(xiàng)格式】</p><p>  登錄記錄總數(shù)計(jì)算公式為:登錄記錄總數(shù)=日志文件大小/372。</p><p&

15、gt;  表1-2:要讀取的原始記錄數(shù)據(jù)</p><p>  表1-3:匹配登錄記錄數(shù)據(jù)</p><p>  用戶的登錄信息數(shù)據(jù)在每一臺機(jī)器上匹配好后需要發(fā)送到服務(wù)器來,服務(wù)器接收到這些匹配好的數(shù)據(jù)記錄后將其保存在數(shù)據(jù)庫中,形成用戶登錄記錄明細(xì)表。然后我們的程序需要定期的整理出日報(bào)表,月報(bào)表和年報(bào)表。在數(shù)據(jù)庫中保存的用戶登錄記錄明細(xì)表結(jié)構(gòu)如下:</p><p>  

16、整理成日報(bào)表后形成如下數(shù)據(jù)項(xiàng):</p><p>  整理成月報(bào)表后形成如下數(shù)據(jù)項(xiàng):</p><p>  整理成年報(bào)表后形成如下數(shù)據(jù)項(xiàng):</p><p><b>  第2章 需求分析</b></p><p><b>  功能概述</b></p><p>  系統(tǒng)主要實(shí)現(xiàn)以下核心

17、功能:數(shù)據(jù)讀取,數(shù)據(jù)匹配,數(shù)據(jù)發(fā)送,數(shù)據(jù)接收,數(shù)據(jù)存儲,數(shù)據(jù)整合。</p><p><b>  數(shù)據(jù)讀取</b></p><p>  該功能模塊的主要任務(wù)是讀取Unix機(jī)器的用戶登錄記錄文件,將文件的信息解析為程序?qū)ο螅苑奖闫ヅ淠K的匹配。</p><p><b>  數(shù)據(jù)匹配</b></p><p&

18、gt;  該模塊的主要任務(wù)是將數(shù)據(jù)讀取模塊讀取到的數(shù)據(jù)按照登入/登出的關(guān)系匹配成一條完整的登錄記錄。</p><p><b>  數(shù)據(jù)發(fā)送</b></p><p>  該模塊的主要任務(wù)是建立客戶端網(wǎng)絡(luò)連接,將匹配好的用戶登錄記錄以字符串的形式發(fā)送到服務(wù)器。</p><p><b>  數(shù)據(jù)接受</b></p>

19、<p>  該模塊的主要任務(wù)是建立服務(wù)器端網(wǎng)絡(luò)連接,從客戶端讀取匹配好的用戶登錄記錄字符串。</p><p><b>  數(shù)據(jù)存儲</b></p><p>  該模塊的主要任務(wù)是將數(shù)據(jù)接收模塊接收到的數(shù)據(jù)保存到指定的數(shù)據(jù)庫表中。</p><p><b>  數(shù)據(jù)整合</b></p><p&g

20、t;  該模塊的主要任務(wù)是將數(shù)據(jù)庫中保存的用戶登錄記錄明細(xì)表的數(shù)據(jù)整合成日報(bào)表,月報(bào)表和年報(bào)表。</p><p><b>  系統(tǒng)描述</b></p><p><b>  數(shù)據(jù)采集</b></p><p><b>  數(shù)據(jù)讀取</b></p><p>  讀取上次未匹配的登入記

21、錄</p><p>  讀取用戶登錄數(shù)據(jù)文件</p><p><b>  數(shù)據(jù)匹配</b></p><p><b>  匹配登錄記錄</b></p><p>  保存未匹配的登入記錄</p><p><b>  數(shù)據(jù)發(fā)送</b></p>&

22、lt;p><b>  數(shù)據(jù)接收</b></p><p>  第3章 系統(tǒng)概要設(shè)計(jì)</p><p><b>  總體設(shè)計(jì)</b></p><p><b>  業(yè)務(wù)設(shè)計(jì)</b></p><p>  這個(gè)是項(xiàng)目的大體流程圖,還沒涉及到具體的細(xì)節(jié)。大體的流程如圖所示,先讀取數(shù)據(jù)即

23、把數(shù)據(jù)從日志文件中讀取出來,之后把放入內(nèi)存集合中的數(shù)據(jù)進(jìn)行匹配成需要的數(shù)據(jù),把匹配好的集合發(fā)送到服務(wù)端。</p><p><b>  說明:</b></p><p>  業(yè)務(wù)流程中幾個(gè)存儲文件的命名規(guī)則:</p><p>  1系統(tǒng)日志文件由外部傳遞給程序,程序需要判定是否存在然后才能采集。</p><p>  2 未匹

24、配登入數(shù)據(jù)項(xiàng)集合的存儲路徑由外部傳遞給程序,文件名采用logins.dat。</p><p>  日志登入/登出數(shù)據(jù)項(xiàng)讀取規(guī)則</p><p>  1 系統(tǒng)日志文件中的數(shù)據(jù)項(xiàng)有很多,但并不是所有數(shù)據(jù)項(xiàng)都需要采集的只有滿足如下條件的數(shù)據(jù)項(xiàng)才是需要采集的:</p><p>  2 登錄名不能以點(diǎn)號(.)開頭,以點(diǎn)號開頭的一般是登錄程序本身的日志數(shù)據(jù)項(xiàng),不需要采集。<

25、;/p><p>  3 登錄類型必須是7(登入)或8(登出),登錄類型具體說明見下面列表:</p><p>  表2-1:登錄類型定義</p><p><b>  系統(tǒng)模塊</b></p><p>  物理上系統(tǒng)分為采集客戶端(被采集機(jī)器)和采集服務(wù)器兩部分,在采集客戶端包含數(shù)據(jù)采集模塊,數(shù)據(jù)匹配分析模塊和數(shù)據(jù)發(fā)送模塊;在采

26、集服務(wù)器端包含數(shù)據(jù)接收模塊,數(shù)據(jù)存儲模塊和數(shù)據(jù)顯示模塊,各模塊的主要功能和職責(zé)如下:</p><p>  數(shù)據(jù)采集模塊:該模塊的主要功能職責(zé)是讀取Unix機(jī)器上的用戶登錄日志文件的內(nèi)容,將其轉(zhuǎn)化為登錄記錄對象,將這些對象存儲在STL集合中并傳給數(shù)據(jù)匹配合分析模塊來分析。該模塊的輸入數(shù)據(jù)是Unix機(jī)器的日志文件/var/adm/wtmpx,輸出數(shù)據(jù)是若干個(gè)登錄記錄對象(保存在集合中)。</p><

27、;p>  數(shù)據(jù)匹配和分析模塊:該模塊的主要功能職責(zé)是將數(shù)據(jù)采集模塊采集到的用戶登錄記錄數(shù)據(jù)按照登錄/登出的關(guān)系匹配成一個(gè)完整的登錄/登出記錄,并計(jì)算出該用戶本次登錄的時(shí)長,然后將這些完整的登錄/登出記錄傳送給數(shù)據(jù)發(fā)送模塊。該模塊的輸入數(shù)據(jù)是原始的登錄記錄對象,輸出數(shù)據(jù)是匹配好的登錄/登出記錄對象。</p><p>  數(shù)據(jù)發(fā)送模塊:該模塊的主要功能職責(zé)是將匹配好的登錄/登出記錄用網(wǎng)絡(luò)傳送的發(fā)式發(fā)送到采集系統(tǒng)

28、服務(wù)器。</p><p>  數(shù)據(jù)接收模塊:該模塊的主要功能職責(zé)是從網(wǎng)絡(luò)中讀取采集客戶端發(fā)送來的登錄/登出數(shù)據(jù)。</p><p>  數(shù)據(jù)存儲模塊:該模塊得主要功能職責(zé)是將數(shù)據(jù)接收模塊接收到的數(shù)據(jù)按照指定的格式寫入數(shù)據(jù)庫中,保存為用戶登錄記錄明細(xì)表。</p><p>  數(shù)據(jù)整合模塊:將數(shù)據(jù)庫中保存的用戶登錄記錄明細(xì)表的數(shù)據(jù)整理成日報(bào)表,根據(jù)日報(bào)表整合出月報(bào)表,根據(jù)

29、月報(bào)表整合出年報(bào)表。</p><p><b>  接口設(shè)計(jì)</b></p><p><b>  外部接口</b></p><p>  系統(tǒng)讀取用戶登錄記錄文件,獲得用戶登錄信息。</p><p>  系統(tǒng)讀取上次未匹配的登入記錄文件,獲取未匹配的登入記錄數(shù)據(jù)。</p><p>

30、;  系統(tǒng)將匹配好的數(shù)據(jù)寫入指定數(shù)據(jù)庫表中。</p><p>  系統(tǒng)整合出月報(bào)表和年報(bào)表。</p><p><b>  內(nèi)部接口</b></p><p>  數(shù)據(jù)讀取模塊與數(shù)據(jù)匹配模塊間的接口:</p><p>  輸入:解析好的用戶登入/登出記錄列表。</p><p><b>  輸

31、出:無</b></p><p>  數(shù)據(jù)匹配模塊與數(shù)據(jù)發(fā)送模塊間的接口:</p><p>  輸入:匹配好的用戶登錄記錄列表。</p><p><b>  輸出:無</b></p><p>  數(shù)據(jù)發(fā)送模塊與數(shù)據(jù)接收模塊間的接口:</p><p>  輸入:匹配好的用戶登錄記錄數(shù)據(jù)項(xiàng)&

32、lt;/p><p>  輸出:接收成功與否的消息</p><p>  數(shù)據(jù)接收模塊與數(shù)據(jù)保存模塊間的接口:</p><p>  輸入:匹配好的用戶登錄記錄列表</p><p><b>  輸出:無</b></p><p>  數(shù)據(jù)保存模塊與數(shù)據(jù)庫間接口:</p><p>  輸

33、入:匹配好的用戶登錄記錄列表</p><p><b>  輸出:無</b></p><p>  數(shù)據(jù)整合模塊與數(shù)據(jù)庫間接口:</p><p>  輸入:用戶登錄記錄明細(xì)</p><p>  輸出:用戶登錄記錄日報(bào)表,月報(bào)表和年報(bào)表</p><p><b>  數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b&g

34、t;</p><p>  根據(jù)系統(tǒng)需求,設(shè)計(jì)出如下數(shù)據(jù)實(shí)體:</p><p>  LogRec:登入/登出記錄類,用來表示一條原始的用戶登入/登出記錄。</p><p>  MatchedLogRec:匹配的登錄記錄類,用來表示一條匹配的用戶登錄記錄。</p><p>  以下分別對這兩個(gè)實(shí)體類的設(shè)計(jì)作出說明:</p><

35、p>  登入/登出記錄數(shù)據(jù)類</p><p><b>  LogRec類圖:</b></p><p>  LogRec類成員變量說明:</p><p>  第4章 系統(tǒng)詳細(xì)設(shè)計(jì)</p><p><b>  系統(tǒng)架構(gòu)綜述</b></p><p>  系統(tǒng)由以下幾個(gè)功能模塊

36、組成:</p><p>  數(shù)據(jù)讀取模塊,數(shù)據(jù)匹配模塊,數(shù)據(jù)發(fā)送模塊,數(shù)據(jù)接收模塊,數(shù)據(jù)保存模塊和數(shù)據(jù)整合模塊,每個(gè)模塊的核心功能如下:</p><p>  數(shù)據(jù)讀取模塊:負(fù)責(zé)從用戶登錄記錄文件和未匹配登錄記錄文件中讀取用戶的登錄記錄數(shù)據(jù),將其轉(zhuǎn)化為LogRec對象,然后傳遞給數(shù)據(jù)匹配模塊匹配。</p><p>  數(shù)據(jù)匹配模塊:負(fù)責(zé)將用戶登錄記錄數(shù)據(jù),按照登入/登

37、出的關(guān)系匹配起來,形成匹配的用戶登錄記錄數(shù)據(jù)(MatchedLogRec對象),并計(jì)算出每次登錄的時(shí)間長度。</p><p>  數(shù)據(jù)發(fā)送模塊:將匹配好的用戶登錄記錄通過網(wǎng)絡(luò)發(fā)送到采集系統(tǒng)服務(wù)器。</p><p>  數(shù)據(jù)接收模塊:服務(wù)器端接收匹配好的用戶登錄記錄數(shù)據(jù)。</p><p>  數(shù)據(jù)保存模塊:將接受到的用戶登錄記錄數(shù)據(jù)保存到數(shù)據(jù)庫的用戶登錄記錄明細(xì)表中。

38、</p><p>  數(shù)據(jù)整合模塊:將用戶登錄記錄明細(xì)表中的數(shù)據(jù)整合成日報(bào)表,月報(bào)表和年報(bào)表。</p><p><b>  靜態(tài)結(jié)構(gòu)設(shè)計(jì)</b></p><p><b>  數(shù)據(jù)實(shí)體類</b></p><p>  根據(jù)需求分析,我們設(shè)計(jì)出以下數(shù)據(jù)實(shí)體類:</p><p>  

39、LogRec:登入/登出記錄類,用來表示一條原始的用戶登入/登出記錄。</p><p>  MatchedLogRec:匹配的登錄記錄類,用來表示一條匹配的用戶登錄記錄。</p><p>  以下分別對這兩個(gè)實(shí)體類的設(shè)計(jì)作出說明:</p><p>  登入/登出記錄數(shù)據(jù)類</p><p>  登入/登出記錄類(LogRec)類圖:</p

40、><p>  登入/登出記錄類(LogRec)成員變量說明</p><p><b>  總體類圖</b></p><p><b>  【客戶端類圖】</b></p><p><b>  【服務(wù)端類圖】</b></p><p><b>  Clien

41、t 類</b></p><p>  Client類封裝數(shù)據(jù)采集系統(tǒng)客戶端的所有功能。</p><p><b>  Client類定義</b></p><p>  Client類方法說明</p><p>  1)sendLogs方法定義:</p><p>  -LogReader類定義&

42、lt;/p><p>  LogReader成員變量說明</p><p>  LogReader類方法說明</p><p>  readLogs方法:</p><p>  readLogs方法活動(dòng)圖:</p><p><b>  backup方法:</b></p><p>  r

43、eadFailLogins方法:</p><p>  readFailLogins方法活動(dòng)圖:</p><p>  readBackupFile方法:</p><p>  matchLogRec方法:</p><p>  matchLogRec方法活動(dòng)圖:</p><p>  saveFailLogins方法:<

44、/p><p>  LogSender類 </p><p>  LogSender類定義</p><p>  LogSender類成員變量說明</p><p>  LogSender類方法說明</p><p>  1)sendMatches方法:</p><p>  sendMatches方法活動(dòng)圖:

45、</p><p>  2)initSocket方法:</p><p>  3)readSendfailed方法:</p><p>  4)saveSendfailed方法:</p><p><b>  Server類</b></p><p><b>  Server類定義</b&g

46、t;</p><p>  Server成員變量說明</p><p>  Server類方法說明</p><p>  initSocket方法 </p><p>  startService方法 </p><p>  DataReciveThread類說明</p><p><b>  成

47、員說明:</b></p><p>  threadid 創(chuàng)建線程時(shí)使用 標(biāo)示一個(gè)線程對象</p><p><b>  方法說明:</b></p><p>  run 完成具體的數(shù)據(jù)接收工作</p><p>  start 完成線程的創(chuàng)建和啟動(dòng)線程</p><p>  reciveD

48、ata(void *) 創(chuàng)建線程時(shí)調(diào)用的線程函數(shù)</p><p>  DataSaveThread類說明</p><p><b>  成員說明:</b></p><p>  threadid 創(chuàng)建線程時(shí)使用 標(biāo)示一個(gè)線程對象</p><p>  logDao 向數(shù)據(jù)庫中存儲數(shù)據(jù)的對象</p>&l

49、t;p><b>  方法說明:</b></p><p>  run 完成具體的調(diào)用dao的工作</p><p>  start 完成線程的創(chuàng)建和啟動(dòng)線程</p><p>  saveData(void *) 創(chuàng)建線程時(shí)調(diào)用的線程函數(shù)</p><p><b>  LogDao類說明</b>&l

50、t;/p><p><b>  方法說明:</b></p><p>  connect 連接數(shù)據(jù)庫</p><p>  saveData 存儲數(shù)據(jù) 根據(jù)日志記錄的退出時(shí)間放入相應(yīng)的日志表中</p><p>  如退出時(shí)間是8日 則放入logdetail08日志表中</p><p

51、>  commitData 提交事務(wù)</p><p>  disconnect 斷開連接</p><p>  UserData類說明</p><p>  UserData成員變量說明</p><p>  UserData類方法說明</p><p>  push_data方法:</p>

溫馨提示

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

最新文檔

評論

0/150

提交評論