一種移動通信數(shù)據(jù)文件多線程實時采集方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動通信網(wǎng)中網(wǎng)管系統(tǒng),尤其涉及移動通信網(wǎng)中網(wǎng)管系統(tǒng)的數(shù)據(jù)采集系統(tǒng),特別涉及一種移動通信數(shù)據(jù)文件多線程實時采集方法。
【背景技術(shù)】
[0002]移動通信中,網(wǎng)管系統(tǒng)負(fù)責(zé)對電信網(wǎng)絡(luò)設(shè)備進(jìn)行配置、檢察、控制、診斷、操作權(quán)限檢察,跟蹤設(shè)備的運行狀況,收集分析網(wǎng)絡(luò)設(shè)備的運行數(shù)據(jù)。為了將設(shè)備運行數(shù)據(jù)的采集跟網(wǎng)絡(luò)設(shè)備進(jìn)行解耦,目前在移動通信行業(yè)中大多是通過文件緩存進(jìn)行處理的。網(wǎng)絡(luò)設(shè)備將各類運行數(shù)據(jù)按照規(guī)則生成相應(yīng)的文件,以供上層網(wǎng)管使用。移動通信中各類網(wǎng)絡(luò)設(shè)備繁多,運行生成的數(shù)據(jù)文件周期頻繁且數(shù)量非常大。要保證網(wǎng)管系統(tǒng)能夠及時的獲取到數(shù)據(jù),數(shù)據(jù)文件實時、高效、安全、可靠的獲取是非常必要的。
[0003]隨著網(wǎng)絡(luò)擴容,網(wǎng)絡(luò)設(shè)備不斷變化,數(shù)據(jù)文件所在設(shè)備服務(wù)器也在跟隨不斷變化。這就帶來一個問題,如何快速采集一個新的服務(wù)器上的文件以及如何保障采集的完整性。傳統(tǒng)的方式是每個服務(wù)器要單獨適配一套采集程序,并且不方便查看采集日志信息。
【發(fā)明內(nèi)容】
[0004]為了解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種移動通信數(shù)據(jù)文件多線程實時采集方法,其能夠方便查詢采集詳情,能夠?qū)崟r自動補采漏掉的文件,從而實時、高效、安全、可靠的為上層網(wǎng)管系統(tǒng)提供數(shù)據(jù)支撐。
[0005]本發(fā)明所采用的技術(shù)方案如下:
一種移動通信數(shù)據(jù)文件多線程實時采集方法,包括以下步驟:
A、維護(hù)一個服務(wù)器配置文件;
B、維護(hù)一個系統(tǒng)配置文件;
C、初始化系統(tǒng),讀取配置信息,將最近兩日下載內(nèi)容關(guān)聯(lián)到系統(tǒng);
D、依據(jù)配置連接服務(wù)器,每個服務(wù)器開啟一個掃描線程,每個掃描線程輪詢掃描配置的文件目錄,并把掃描線程納入采集線程超時監(jiān)控器進(jìn)行監(jiān)控;
E、每次掃描首先同步系統(tǒng)時間;
F、每次掃描遞歸文件目錄,獲取所有文件的信息;
G、依據(jù)獲取的文件信息判斷文件的完整性,完整的進(jìn)入下一步;
H、依據(jù)獲取的文件信息判斷文件是否在下載時間窗內(nèi),在下載時間窗內(nèi)的進(jìn)入下一步;
1、依據(jù)獲取的文件信息判斷文件是否已經(jīng)下載過,未下載過的進(jìn)入下一步;
J、對于未下載過的文件進(jìn)行下載;
K、記錄單文件下載日志;
L、掃描完畢后符合下載條件的所有文件下載完畢后記錄當(dāng)次整體下載記錄。
[0006]步驟A中的配置文件包含所有需要采集服務(wù)器的相關(guān)信息,具體包含服務(wù)器IP、用戶名、密碼、采集根目錄、協(xié)議、采集模式。
[0007]步驟B中的配置文件包含系統(tǒng)級別配置服務(wù)器掃描間隔、文件采集時間窗、日志數(shù)據(jù)庫配置信息,將采集系統(tǒng)運行日志寫入到數(shù)據(jù)庫中。
[0008]步驟D中將掃描線程添加到超時監(jiān)控器進(jìn)行監(jiān)控,超時監(jiān)控器是通過一個單獨的線程來完成,該線程輪詢核查每個掃描線程的最后活動時間,對于最后活動時間過期的掃描線程進(jìn)行重啟。
[0009]步驟E中同步時間是通過生成一個臨時文件上傳到服務(wù)器,然后獲取服務(wù)器上該文件的最后修改時間來完成的。
[0010]步驟G中判斷文件的完整性是通過一個函數(shù)完成的,該函數(shù)判斷文件的最后修改時間是否超過20秒,超過20秒則任務(wù)文件是完整的,否則不完整。
[0011]步驟H中判斷文件是否在下載時間窗內(nèi)是通過一個函數(shù)完成的,該函數(shù)根據(jù)文件最后修改時間判斷是否在時間窗內(nèi)。
[0012]步驟J中下載文件可以利用當(dāng)前掃描線程進(jìn)行單線程下載,也可以基于線程池技術(shù),把需要下載的文件納入線程池進(jìn)行下載。
[0013]步驟K中記錄下載日志是基于apache的log4j組件進(jìn)行擴展而實現(xiàn)的。
[0014]本發(fā)明提供的技術(shù)方案帶來的有益效果是:
采用本發(fā)明所述方法,與現(xiàn)有技術(shù)相比,可以實時、高效、安全、可靠的采集數(shù)據(jù)文件。實時是指發(fā)明中的方法能夠輪詢掃描配置的文件目錄從而能夠?qū)崟r的發(fā)現(xiàn)新生成的文件。
[0015]高效是指兩方面:
一、新增或者文件服務(wù)器發(fā)生變化時,只需新增或調(diào)整相應(yīng)的服務(wù)器配置即可;
二、對于掃描到的文件可以多線程采集。安全是指采集過程不會對文件所在服務(wù)器做任何修改,僅僅是采集文件。
[0016]可靠是指兩方面:
一、能夠自動判斷文件的完整性,校驗文件下載的完整性,自動補采漏掉的文件;
二、可以通過查詢采集日志來統(tǒng)計采集信息,包括文件生成延遲、下載延遲、每個周期下載的文件數(shù)量。
【附圖說明】
[0017]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1是本發(fā)明的一種移動通信數(shù)據(jù)文件多線程實時采集方法的方法流程圖。
[0019]圖2是本發(fā)明的一種移動通信數(shù)據(jù)文件多線程實時采集方法的技術(shù)人員實施具體流程圖。
【具體實施方式】
[0020]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。
[0021]實施例一
如附圖1所示,一種移動通信數(shù)據(jù)文件多線程實時采集方法,包括以下步驟:
1.1維護(hù)一個服務(wù)器配置文件;服務(wù)器配置文件包含所有需要采集服務(wù)器的相關(guān)信息具體包含服務(wù)器IP、用戶名、密碼、采集根目錄、協(xié)議、采集模式。
[0022]1.2維護(hù)一個系統(tǒng)配置文件;系統(tǒng)配置文件包含系統(tǒng)級別配置服務(wù)器掃描間隔、文件采集時間窗、日志數(shù)據(jù)庫配置信息,將采集系統(tǒng)運行日志寫入到數(shù)據(jù)庫中。
[0023]1.3初始化系統(tǒng),讀取配置信息,將最近兩日下載內(nèi)容關(guān)聯(lián)到系統(tǒng)。
[0024]1.4依據(jù)配置連接服務(wù)器,每個服務(wù)器開啟一個掃描線程,每個掃描線程輪詢掃描配置的文件目錄,并把掃描線程納入采集線程超時監(jiān)控器進(jìn)行監(jiān)控;將掃描線程添加到超時監(jiān)控器進(jìn)行監(jiān)控,超時監(jiān)控器是通過一個單獨的線程來完成,該線程輪詢核查每個掃描線程的最后活動