国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

電力業(yè)務(wù)系統(tǒng)海量SQL訪問(wèn)日志預(yù)處理方法

2015-02-28 06:15:00李偉偉張濤馬媛媛周誠(chéng)
電信科學(xué) 2015年1期
關(guān)鍵詞:詞法日志序號(hào)

李偉偉,張濤,馬媛媛,周誠(chéng)

(國(guó)網(wǎng)智能電網(wǎng)研究院,江蘇 南京210003)

1 引言

隨著智能電網(wǎng)信息化技術(shù)和SG-ERP的互動(dòng)化應(yīng)用開(kāi)展,電力業(yè)務(wù)系統(tǒng)不斷豐富,內(nèi)外網(wǎng)交互行為日益多樣化。很多業(yè)務(wù)系統(tǒng),如電力交易系統(tǒng)、生產(chǎn)系統(tǒng)、財(cái)務(wù)管控、ERP系統(tǒng)、營(yíng)銷(xiāo)系統(tǒng)等,都存在著跨內(nèi)外網(wǎng)邊界的數(shù)據(jù)交換行為。為了能夠及時(shí)監(jiān)控和有效地監(jiān)督信息外網(wǎng)用戶對(duì)信息內(nèi)網(wǎng)各種數(shù)據(jù)庫(kù)的訪問(wèn)行為,并及時(shí)提醒審計(jì)人員對(duì)各種違規(guī)行為進(jìn)行審計(jì)、追蹤和預(yù)警,內(nèi)外網(wǎng)邊界數(shù)據(jù)庫(kù)交互行為的安全審計(jì)[1]必不可少。內(nèi)外網(wǎng)邊界數(shù)據(jù)庫(kù)交互行為審計(jì)過(guò)程中涉及的信息采集、預(yù)處理、數(shù)據(jù)挖掘和分析等相關(guān)技術(shù)研究,對(duì)智能電網(wǎng)信息安全建設(shè)方面有很好的推動(dòng)作用。

2 面臨的問(wèn)題和研究現(xiàn)狀

目前,公司信息內(nèi)外網(wǎng)邊界的信息交互中,穿透信息內(nèi)外網(wǎng)邊界的數(shù)據(jù)庫(kù)訪問(wèn)行為是重要的分析和審計(jì)對(duì)象,數(shù)據(jù)庫(kù)保存著電力業(yè)務(wù)系統(tǒng)的重要信息,如用戶用電信息、營(yíng)銷(xiāo)業(yè)務(wù)數(shù)據(jù)等機(jī)密、敏感數(shù)據(jù)。因此,數(shù)據(jù)庫(kù)對(duì)于黑客和不法人員有著很強(qiáng)的吸引力。數(shù)據(jù)庫(kù)建立后會(huì)被頻繁地使用,頻繁地進(jìn)行插入、修改、刪除等操作行為,并且數(shù)據(jù)庫(kù)的使用不受時(shí)間和地點(diǎn)的限制。因此,數(shù)據(jù)庫(kù)的安全性異常重要。由于電力業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)SQL語(yǔ)句操作日志的數(shù)據(jù)量十分龐大,存儲(chǔ)分析存在很大難度。為了更好地對(duì)數(shù)據(jù)庫(kù)行為繼續(xù)審計(jì),對(duì)電力業(yè)務(wù)系統(tǒng)SQL訪問(wèn)語(yǔ)句進(jìn)行壓縮十分必要。

目前對(duì)數(shù)據(jù)庫(kù)審計(jì)系統(tǒng)[2-4]的研究已經(jīng)比較廣泛,針對(duì)日志壓縮相關(guān)的研究比較少,2010年張春玲等人[5]設(shè)計(jì)并實(shí)現(xiàn)了一種基于虛擬日志壓縮的廣域網(wǎng)異構(gòu)數(shù)據(jù)庫(kù)異步數(shù)據(jù)同步方案,虛擬日志壓縮通過(guò)計(jì)算合并日志記錄,只保留與數(shù)據(jù)同步相關(guān)的日志信息,從而減少網(wǎng)絡(luò)數(shù)據(jù)流量,提高數(shù)據(jù)同步效率。2010年王艷峰等人[6]針對(duì)CN頂級(jí)域名的DNS日志從分布式站點(diǎn)傳輸?shù)綌?shù)據(jù)處理中心時(shí)的海量數(shù)據(jù)存儲(chǔ)問(wèn)題,提出一種高效的DNS日志壓縮算法,利用DNS查詢(xún)類(lèi)型的冗余性和DNS查詢(xún)時(shí)間、IP地址和域名等的重復(fù)性進(jìn)行DNS日志壓縮。

3 SQL日志壓縮方法

同一電力業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)操作通過(guò)Web頁(yè)面填表方式進(jìn)行,具有一定的模式可循。SQL日志壓縮方法根據(jù)這一特性通過(guò)模糊化用戶的數(shù)字字母等自定義輸入,為業(yè)務(wù)系統(tǒng)創(chuàng)建SQL模式庫(kù),收到的SQL日志通過(guò)匹配模式庫(kù)后僅記錄其模式序號(hào)即可,大大壓縮了SQL日志的記錄長(zhǎng)度,實(shí)現(xiàn)SQL日志壓縮的目的,為下一步的數(shù)據(jù)庫(kù)操作行為分析提供便利。

SQL日志壓縮方法如圖1所示,日志接收服務(wù)接收到SQL日志,經(jīng)過(guò)掃描程序進(jìn)行SQL語(yǔ)句的解析,形成SQL數(shù)組,并將無(wú)關(guān)項(xiàng)替換后,進(jìn)行SQL模式匹配。如果匹配成功,則返回SQL模式庫(kù)的匹配模式,將序號(hào)寫(xiě)入SQL日志庫(kù);如果SQL模式庫(kù)匹配失敗,則將SQL記錄到模式庫(kù),同時(shí)將序號(hào)寫(xiě)入SQL日志庫(kù)。

數(shù)據(jù)庫(kù)結(jié)構(gòu)定義如下。

圖1 基于模式匹配的SQL日志壓縮方法

·定義應(yīng)用數(shù)據(jù)庫(kù)結(jié)構(gòu)為:{App_ID:應(yīng)用序號(hào),App_IP:應(yīng)用IP地址}。

·定義SQL模式庫(kù)數(shù)據(jù)庫(kù)結(jié)構(gòu)為:{Mode_ID:模式序號(hào),App_ID:應(yīng)用序號(hào),SQL:模式語(yǔ)句}。

·定義SQL日志庫(kù)數(shù)據(jù)庫(kù)結(jié)構(gòu)為:{SQL_ID:SQL語(yǔ)句序號(hào),Mode_ID:模式序號(hào),Time:時(shí)間戳}。

3.1 SQL詞法解析

SQL詞法解析是對(duì)存儲(chǔ)一段連續(xù)緩沖區(qū)的SQL語(yǔ)句進(jìn)行分解,得到一個(gè)個(gè)獨(dú)立的單詞,并且組織成單詞鏈表。對(duì)SQL進(jìn)行解析的詳細(xì)過(guò)程如下。

·遍歷SQL語(yǔ)句包含的每一個(gè)字符,以空白符作為每個(gè)單詞的開(kāi)始和結(jié)束,解析出SQL語(yǔ)句包含的各個(gè)單詞,同時(shí)識(shí)別各個(gè)單詞的類(lèi)型。目前,規(guī)定的單詞類(lèi)型如下:關(guān)鍵字、標(biāo)識(shí)符、數(shù)字、數(shù)字通配符、字符串通配符、運(yùn)算操作符、邏輯操作符、分隔符、函數(shù)、操作對(duì)象、其他。

·將這些單詞存儲(chǔ)在單詞結(jié)構(gòu)體中,多個(gè)單詞結(jié)構(gòu)體鏈接成一個(gè)鏈表。同時(shí)根據(jù)解析的結(jié)果,給單詞結(jié)構(gòu)體結(jié)構(gòu)的相關(guān)域(如類(lèi)型)賦值。

SQL解析過(guò)程示例如圖2所示。

3.2 替換用戶輸入

由于從應(yīng)用服務(wù)器送出的SQL語(yǔ)句是包含用戶輸入的,而用戶輸入是不斷變化的,如何將正確的SQL語(yǔ)句進(jìn)行抽象,分離出用戶輸入和SQL主干語(yǔ)句是重點(diǎn)。替換規(guī)則也是盡可能將用戶輸入部分提取出來(lái),用某個(gè)特定的通配符進(jìn)行替代,這樣就可以將多條結(jié)構(gòu)相似的SQL語(yǔ)句抽象為一條SQL語(yǔ)句。

替換用戶輸入示例如圖3所示。

3.3 SQL模式匹配引擎

SQL模式匹配是根據(jù)詞法解析結(jié)果(詞法鏈),匹配SQL詞法鏈池。詳細(xì)步驟如下。

圖2 SQL解析過(guò)程示例

圖3 SQL解析后替換用戶輸入過(guò)程示例

·SQL詞法鏈池對(duì)外是一個(gè)散列數(shù)組,因此匹配過(guò)程首先對(duì)詞法鏈求散列值,然后在散列數(shù)組中進(jìn)行查找。

散列值計(jì)算方法:Hash=Hash<<8+Type(Hash初始化為0,Type為語(yǔ)句詞法解析后的單詞類(lèi)型)。

·通過(guò)散列值找到數(shù)組對(duì)應(yīng)項(xiàng),然后在該數(shù)組單元下掛詞法鏈表進(jìn)行比較。檢查是否有完全相同的詞法鏈,如果有,則認(rèn)為SQL模式已經(jīng)存在,僅保存SQL模式序號(hào)到SQL日志表中,否則認(rèn)為SQL模式不存在,保存模式后,再將模式序號(hào)保存到SQL日志表中。

SQL模式引擎詳細(xì)匹配過(guò)程如圖4所示。

4 方法實(shí)現(xiàn)

實(shí)現(xiàn)電力業(yè)務(wù)系統(tǒng)SQL訪問(wèn)日志的壓縮,主要有3個(gè)模塊:初始化模塊、模式庫(kù)匹配模塊、結(jié)果寫(xiě)入模塊。

·初始化模塊:主要是初始化系統(tǒng)的全局互斥變量,通過(guò)讀取模式庫(kù)中SQL語(yǔ)句,初始化每個(gè)業(yè)務(wù)系統(tǒng)對(duì)應(yīng)的詞法掃描鏈表。

·模式庫(kù)匹配:將讀取的SQL日志通過(guò)SQL詞法解析、用戶輸入替換,形成鏈表,與模式庫(kù)中的SQL模式進(jìn)行匹配。

·結(jié)果寫(xiě)入:對(duì)已經(jīng)存在相應(yīng)SQL模式的日志,只需要寫(xiě)入SQL日志表即可,對(duì)于沒(méi)有匹配的日志,則既要寫(xiě)入模式庫(kù),又要寫(xiě)入SQL日志表。

圖4 SQL模式庫(kù)匹配過(guò)程

詳細(xì)的系統(tǒng)實(shí)現(xiàn)流程如圖5所示。

圖5 電力業(yè)務(wù)系統(tǒng)SQL訪問(wèn)日志壓縮方法實(shí)現(xiàn)流程

5 測(cè)試結(jié)果

5.1 測(cè)試環(huán)境

實(shí)驗(yàn)設(shè)備硬件環(huán)境:Intel 5500+ICH10R芯片組,2路4核CPU。操作系統(tǒng)是Windows7。

編程語(yǔ)言:C語(yǔ)言。

測(cè)試庫(kù)SQL語(yǔ)句取樣:業(yè)務(wù)系統(tǒng)現(xiàn)場(chǎng)采集SQL日志。

5.2 測(cè)試步驟

·加載SQL日志文本文件;

·執(zhí)行壓縮,記錄SQL模式庫(kù)中SQL語(yǔ)句的條數(shù)和SQL日志庫(kù)記錄的日志條數(shù)。

5.3 測(cè)試結(jié)果

圖6、表1為SQL壓縮效果測(cè)試結(jié)果。

圖6 SQL壓縮效果測(cè)試結(jié)果

5.4 測(cè)試結(jié)論

通過(guò)測(cè)試結(jié)果可知,隨著業(yè)務(wù)系統(tǒng)執(zhí)行的SQL數(shù)目的增加,壓縮比例達(dá)到50∶1。測(cè)試過(guò)程中,服務(wù)器的CPU、內(nèi)存和硬盤(pán)各項(xiàng)指標(biāo)檢測(cè)正常。

6 結(jié)束語(yǔ)

本文設(shè)計(jì)并實(shí)現(xiàn)了一種電力業(yè)務(wù)系統(tǒng)SQL訪問(wèn)日志壓縮方法,該方法除了實(shí)現(xiàn)SQL訪問(wèn)日志的壓縮之外,也具有SQL日志的簡(jiǎn)單分類(lèi)的功能,可解決數(shù)據(jù)庫(kù)審計(jì)過(guò)程中SQL語(yǔ)句容量過(guò)大、不易存儲(chǔ)和分析的問(wèn)題,為電力業(yè)務(wù)系統(tǒng)安全審計(jì)提供了支撐。系統(tǒng)測(cè)試結(jié)果表明,通過(guò)該方法可以實(shí)現(xiàn)SQL訪問(wèn)日志的大幅度壓縮,滿足電力業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)行為審計(jì)對(duì)日志預(yù)處理的需求。

表1 SQL壓縮效果測(cè)試結(jié)果

[1]方杰,朱京紅.日志挖掘中的數(shù)據(jù)預(yù)處理[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(4):17-20.FANG J,ZHU J H.Data pretreatment of log mining[J].Computer Technology and Development,2010,20(4):17-20.

[2]HELMAN P,LIEPINS G.Statistical foundations of audit trail analysis for the detection of computer misuse[J].IEEE Transactions on Software Engineering,1993,19(9):886-901.

[3]BISKUP J.Recent advances in intrusion detection[M].Berlin:Springer,2000:28-48.

[4]王淵,馬駿.一種基于入侵檢測(cè)的數(shù)據(jù)庫(kù)安全審計(jì)[J].計(jì)算機(jī)仿真,2007,24(2):33-36.WANG Y,MA J.A method of database secure audit based on intrusion detection[J].Computer Simulation,2007,24(2):33-36.

[5]張春玲,呂震宇,劉遵峰.基于虛擬日志壓縮的數(shù)據(jù)同步方案[J].計(jì)算機(jī)工程,2010,18(36):67-69.ZHANG C L,LV Z Y,LIU Z F.Data synchronization solution based on virtual log compression[J].Computer Engineering,2010,18(36):67-69.

[6]王艷峰,王正,閻保平.一種高效的DNS日志壓縮算法[J].計(jì)算機(jī)工程,2010,15(36):32-35.WANG Y F,WANG Z,YAN B P.High-efficient DNS log compression algorithm[J].Computer Engineering,2010,15(36):32-35.

猜你喜歡
詞法日志序號(hào)
一名老黨員的工作日志
扶貧日志
心聲歌刊(2020年4期)2020-09-07 06:37:14
游學(xué)日志
應(yīng)用于詞法分析器的算法分析優(yōu)化
談對(duì)外漢語(yǔ)“詞法詞”教學(xué)
技術(shù)指標(biāo)選股
技術(shù)指標(biāo)選股
技術(shù)指標(biāo)選股
技術(shù)指標(biāo)選股
一種基于粗集和SVM的Web日志挖掘模型
五莲县| 杂多县| 嵊泗县| 巴彦县| 芦山县| 舟曲县| 东城区| 沙河市| 白朗县| 枣庄市| 任丘市| 武定县| 灵璧县| 敦煌市| 金坛市| 西峡县| 清新县| 墨江| 利辛县| 辰溪县| 白朗县| 九寨沟县| 南木林县| 兴海县| 河源市| 上蔡县| 天等县| 平塘县| 潜山县| 阿瓦提县| 嘉黎县| 慈溪市| 木兰县| 名山县| 广平县| 定南县| 黄陵县| 武平县| 金寨县| 永春县| 阿鲁科尔沁旗|