專利名稱:在網(wǎng)絡(luò)管理系統(tǒng)中實(shí)現(xiàn)日志的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)管理技術(shù),尤其涉及一種在網(wǎng)絡(luò)管理系統(tǒng)中實(shí)現(xiàn)日志的方法。
背景技術(shù):
在電信網(wǎng)管領(lǐng)域中,日志功能是一個(gè)基本的功能,它記錄了用戶的操作、設(shè)備的狀態(tài)等信息,用戶可以通過查看日志來得知系統(tǒng)的歷史狀態(tài)。如下面兩個(gè)日志的樣例樣例1
樣例2
在不同的系統(tǒng)中,日志信息的格式不相同,網(wǎng)管后臺(tái)數(shù)據(jù)庫(kù)存儲(chǔ)的信息格式也自然不同。
現(xiàn)有實(shí)現(xiàn)日志功能的技術(shù)方案為根據(jù)具體日志格式,由系統(tǒng)的日志模塊定義一個(gè)接口,在該接口中包含了日志的各個(gè)具體字段。日志字段和數(shù)據(jù)庫(kù)字段的關(guān)聯(lián)關(guān)系,由日志模塊內(nèi)部硬編碼(硬編碼為與可配置相對(duì)的一個(gè)概念,是指任何修改都必須直接修改源代碼,并重新編譯程序)定義;記錄日志時(shí),系統(tǒng)其他模塊將日志信息填入,提交給日志模塊進(jìn)行處理;日志模塊根據(jù)硬編碼的關(guān)聯(lián)關(guān)系,將日志信息轉(zhuǎn)化成數(shù)據(jù)庫(kù)字段,并寫入數(shù)據(jù)庫(kù)。
由于對(duì)于不同的系統(tǒng),日志信息結(jié)構(gòu)不同,而上述方案中日志字段和數(shù)據(jù)庫(kù)字段的關(guān)聯(lián)關(guān)系采用硬編碼,所以原有的日志模塊不能直接重用,需要修改關(guān)聯(lián)關(guān)系才能使用,故重用成本高,適用性差。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種在網(wǎng)絡(luò)管理系統(tǒng)中實(shí)現(xiàn)日志的方法,以解決現(xiàn)有技術(shù)中實(shí)現(xiàn)日志功能存在適用差和重用成本高的問題。
實(shí)現(xiàn)本發(fā)明的技術(shù)方案一種在通信系統(tǒng)中實(shí)現(xiàn)日志的方法,所述系統(tǒng)中具有產(chǎn)生日志信息的業(yè)務(wù)模塊,用于記錄日志信息的數(shù)據(jù)庫(kù),以及用于處理日志信息的日志模塊,該日志模塊向業(yè)務(wù)模塊提供一個(gè)接口;該方法包括步驟業(yè)務(wù)模塊將產(chǎn)生的日志信息通過所述接口提交給日志模塊;日志模塊從配置文件中獲取預(yù)先定義的數(shù)據(jù)庫(kù)的字段屬性,并根據(jù)字段屬性從日志信息中獲取相應(yīng)字段的值;日志模塊將從日志信息中獲取的字段的值轉(zhuǎn)換為相應(yīng)的數(shù)據(jù)庫(kù)字段并寫入數(shù)據(jù)庫(kù)中。
根據(jù)上述方法日志模塊的接口中包含一個(gè)哈希表對(duì)象,哈希表中的關(guān)鍵值(Key)為所述字段屬中的字段名,哈希表中的值(Value)為字段名對(duì)應(yīng)的實(shí)際值,所述業(yè)務(wù)模塊提交日志信息時(shí)將信息分條填入該哈希表對(duì)象中。
所述配置文件中的每一個(gè)字段屬性對(duì)應(yīng)于數(shù)據(jù)庫(kù)中的每一個(gè)字段,所述字段屬性至少包括字段名和該字段對(duì)應(yīng)的值的類型。
所述的配置文件采用可擴(kuò)展的標(biāo)記語言(XML)描述。
采用本發(fā)明的方法,各個(gè)系統(tǒng)可以直接使用日志模塊,不用編碼修改日志信息和數(shù)據(jù)庫(kù)字段的關(guān)系,只用修改配置文件即可,提高了日志模塊的適用性,從而可大大節(jié)省開發(fā)時(shí)間。
圖1為電信網(wǎng)絡(luò)管理系統(tǒng)組網(wǎng)圖;圖2實(shí)現(xiàn)本發(fā)明的原理示意圖。
具體實(shí)施例方式
參考圖1,本發(fā)明管理系統(tǒng)包括日志服務(wù)器,與該日志服務(wù)器連接的應(yīng)用服務(wù)器。應(yīng)用服務(wù)器和日志服務(wù)器為包括處理器和存儲(chǔ)器等部件的計(jì)算機(jī)裝置。應(yīng)用服務(wù)器上包含有業(yè)務(wù)模塊,業(yè)務(wù)模塊執(zhí)行應(yīng)用任務(wù)并產(chǎn)生日志信息;日志服務(wù)器上包含日志模塊和數(shù)據(jù)庫(kù),日志模塊對(duì)用戶服務(wù)器提交的日志信息進(jìn)行處理并保存于數(shù)據(jù)庫(kù)中。
對(duì)于日志信息量不大的系統(tǒng),也可不用專門的日志服務(wù)器,而將日志信息直接保存于應(yīng)用服務(wù)器上,相應(yīng)的日志模塊和數(shù)據(jù)庫(kù)均設(shè)置于應(yīng)用服務(wù)器上。
在本發(fā)明中,日志服務(wù)器上還包含配置文件,該配置文件定義數(shù)據(jù)庫(kù)的字段屬性,包括字段名和其值的類型。通過配置文件,數(shù)據(jù)庫(kù)字段與日志字段形成關(guān)聯(lián)。
配置文件采用可擴(kuò)展的標(biāo)記語言(XML)來描述。日志模塊對(duì)該配置文件進(jìn)行解析以獲取關(guān)聯(lián)信息。這樣就避免了日志模塊對(duì)關(guān)聯(lián)信息進(jìn)行硬編碼。
對(duì)應(yīng)于日志樣例1,采用XML描述如下<LogRecord>
<Field>
<Name>UserName</Name>//對(duì)應(yīng)于用戶名<Type>String</Type>
</Field>
<Field>
<Name>Time</Name>//對(duì)應(yīng)于時(shí)間
<Type>String</Type>
</Field>
<Field>
<Name>OperateName</Name>//對(duì)應(yīng)于操作名<Type>String</Type>
</Field>
<Field>
<Name>Result</Name> //對(duì)應(yīng)于操作結(jié)果<Type>String</Type>
</Field>
</LogRecord>
以上的定義中,每個(gè)Field都對(duì)應(yīng)了數(shù)據(jù)庫(kù)中一個(gè)相應(yīng)的字段。數(shù)據(jù)庫(kù)的字段名即為UserName,Time等。
在本實(shí)施例中,日志模塊提供一個(gè)接口,該接口中不包含具體的字段信息,而是包含一個(gè)哈希表(HashMap)對(duì)象,其中的關(guān)鍵值(Key)為上面定義Name屬性,即為“UserName”,“Time”等;其中的值(Value)為每個(gè)Name屬性對(duì)應(yīng)的實(shí)際的值。即為“張三”,“2003-06-16 18:10:00”等等。
參閱圖2所示,記錄日志信息的過程如下1、業(yè)務(wù)模塊產(chǎn)生日志信息時(shí),將日志信息分條填入HashMap對(duì)象,然后提交給日志模塊。此處的信息均按照字符串類型進(jìn)行處理,如HashMap.put(“UserName”,“張三”);HashMap.put(“Time”,“2003-06-16 18:10:00”);2、日志模塊從配置文件中獲取定義的數(shù)據(jù)庫(kù)字段屬性,根據(jù)XML描述信息從HashMap中取出相應(yīng)字段的值。
日志模塊取出一條描述信息中Field的Name,則根據(jù)Name從HashMap中取出相應(yīng)的值;重復(fù)執(zhí)行該操作直到配置文件中的描述信息被遍歷完。
3、日志模塊將所有的字段值轉(zhuǎn)換為數(shù)據(jù)庫(kù)字段并寫入數(shù)據(jù)庫(kù)。
日志模塊利用字段的值構(gòu)造結(jié)構(gòu)化查詢語言(SQL)語句,然后執(zhí)行該SQL語句將日志信息寫入數(shù)據(jù)庫(kù)。
權(quán)利要求
1.一種在網(wǎng)絡(luò)管理系統(tǒng)中實(shí)現(xiàn)日志的方法,所述系統(tǒng)中具有產(chǎn)生日志信息的業(yè)務(wù)模塊,用于記錄日志信息的數(shù)據(jù)庫(kù),以及用于處理日志信息的日志模塊,該日志模塊向業(yè)務(wù)模塊提供一個(gè)接口;其特征在于該方法包括步驟業(yè)務(wù)模塊將產(chǎn)生的日志信息通過所述接口提交給日志模塊;日志模塊從配置文件中獲取預(yù)先定義的數(shù)據(jù)庫(kù)的字段屬性,并根據(jù)字段屬性從日志信息中獲取相應(yīng)字段的值;日志模塊將從日志信息中獲取的字段的值轉(zhuǎn)換為相應(yīng)的數(shù)據(jù)庫(kù)字段并寫入數(shù)據(jù)庫(kù)中。
2.如權(quán)利要求1所述的方法,其特征在于,日志模塊的接口中包含一個(gè)哈希表對(duì)象,哈希表中的關(guān)鍵值(Key)為所述字段屬中的字段名,哈希表中的值(Value)為字段名對(duì)應(yīng)的實(shí)際值,所述業(yè)務(wù)模塊提交日志信息時(shí)將信息分條填入該哈希表對(duì)象中。
3.如權(quán)利要求1所述的方法,其特征在于,所述配置文件中的每一個(gè)字段屬性對(duì)應(yīng)于數(shù)據(jù)庫(kù)中的每一個(gè)字段,所述字段屬性至少包括字段名和該字段對(duì)應(yīng)的值的類型。
4.如權(quán)利要求1至3任一所述的方法,其特征在于,所述的配置文件采用可擴(kuò)展的標(biāo)記語言(XML)描述。
全文摘要
本發(fā)明公開了一種在網(wǎng)絡(luò)管理系統(tǒng)中實(shí)現(xiàn)日志的方法,該方法為業(yè)務(wù)模塊將產(chǎn)生的日志信息通過所述接口提交給日志模塊;日志模塊從配置文件中獲取預(yù)先定義的數(shù)據(jù)庫(kù)的字段屬性,并根據(jù)字段屬性從日志信息中獲取相應(yīng)字段的值;并轉(zhuǎn)換為相應(yīng)的數(shù)據(jù)庫(kù)字段寫入數(shù)據(jù)庫(kù)中。
文檔編號(hào)H04L12/24GK1633080SQ20031012106
公開日2005年6月29日 申請(qǐng)日期2003年12月24日 優(yōu)先權(quán)日2003年12月24日
發(fā)明者周昕宇, 陳宇, 畢諾, 李辣智 申請(qǐng)人:華為技術(shù)有限公司