亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種電力業(yè)務(wù)系統(tǒng)sql訪(fǎng)問(wèn)日志壓縮方法_2

文檔序號(hào):9616326閱讀:來(lái)源:國(guó)知局
果,給單詞結(jié)構(gòu)體的結(jié)構(gòu)的相關(guān)域(如類(lèi)型)賦值。
[0038]所述方法的用戶(hù)輸入部分的替換包括:從應(yīng)用服務(wù)器送出的SQL語(yǔ)句是包含用戶(hù)輸入的,而用戶(hù)輸入是不斷變化。掃描SQL語(yǔ)句的單詞結(jié)構(gòu)體鏈表,查找用戶(hù)輸入部分,將用戶(hù)輸入部分提取出來(lái)用某個(gè)特定的通配符進(jìn)行替代,達(dá)到將多條結(jié)構(gòu)相似的SQL語(yǔ)句抽象為一條SQL語(yǔ)句的目的。
[0039]所述方法的SQL模式匹配引擎包括:在模式匹配的過(guò)程中,為了加快模式匹配速度,采用基于SQL語(yǔ)句詞法解析后的詞性計(jì)算形成HASH值,快速匹配到模式庫(kù)鏈表中,得到匹配結(jié)果。HASH值計(jì)算方法:Hash = Hash?8+Type (Hash初始化為0,Type為語(yǔ)句詞法解析后的word類(lèi)型,通過(guò)迭代計(jì)算SQL語(yǔ)句的單詞結(jié)構(gòu)體鏈表中所有的類(lèi)型TYPE得到HASH值)。通過(guò)將SQL日志與SQL模式庫(kù)進(jìn)行模式的匹配,得到模式庫(kù)中對(duì)應(yīng)的SQL模式序號(hào),寫(xiě)入SQL日志數(shù)據(jù)庫(kù)表中。對(duì)于SQL模式庫(kù)中不存在的SQL日志,則將此日志的模式寫(xiě)入SQL模式庫(kù)中,并將SQL模式庫(kù)中的序號(hào)寫(xiě)入SQL日志數(shù)據(jù)庫(kù)表中。
[0040]所述方法的SQL模式動(dòng)態(tài)維護(hù)包括:對(duì)SQL模式庫(kù)中的模式使用率進(jìn)行度量,定期掃描SQL模式庫(kù),對(duì)生存時(shí)長(zhǎng)超過(guò)四十八小時(shí),且匹配次數(shù)小于十次的SQL模式語(yǔ)句進(jìn)行刪除,達(dá)到SQL模式庫(kù)的動(dòng)態(tài)更新。
[0041]具體過(guò)程如圖1所示,主要包括如下步驟:
[0042]步驟101、遍歷SQL語(yǔ)句包含的每一個(gè)字符,以空白符作為每個(gè)word的開(kāi)始和結(jié)束,解析出SQL語(yǔ)句所包含的各個(gè)word,同時(shí)通過(guò)類(lèi)型匹配的方式識(shí)別各個(gè)word的類(lèi)型。目前,規(guī)定的word類(lèi)型分為如下:關(guān)鍵字、標(biāo)識(shí)符、數(shù)字、數(shù)字通配符、字符串通配符、運(yùn)算操作符、邏輯操作符、分隔符、函數(shù)、操作對(duì)象、其它。
[0043]步驟102、根據(jù)解析的結(jié)果,將SQL語(yǔ)句的每個(gè)word分別存儲(chǔ)到單詞結(jié)構(gòu)體的相關(guān)域(如類(lèi)型、值等),并將此SQL語(yǔ)句對(duì)應(yīng)的所有單詞結(jié)構(gòu)體按照順序鏈接成一個(gè)單詞結(jié)構(gòu)體鏈表。單詞結(jié)構(gòu)體鏈表結(jié)構(gòu)示例如圖2所示。
[0044]步驟103、掃描SQL語(yǔ)句的單詞結(jié)構(gòu)體鏈表,查找用戶(hù)輸入部分,分離出用戶(hù)輸入和SQL主干語(yǔ)句。
[0045]步驟104、將用戶(hù)輸入部分提取出來(lái)用某個(gè)特定的通配符進(jìn)行替代,達(dá)到將多條結(jié)構(gòu)相似的SQL語(yǔ)句抽象為一條SQL語(yǔ)句的目的。
[0046]步驟105、SQL模式庫(kù)對(duì)外是一個(gè)HASH數(shù)組,每個(gè)數(shù)組元素對(duì)應(yīng)具有相同HASH值的詞法鏈表。
[0047]HASH值計(jì)算方法:Hash = Hash?8+Type (Hash初始化為0,Type為語(yǔ)句詞法解析后的word類(lèi)型,通過(guò)迭代計(jì)算SQL語(yǔ)句的單詞結(jié)構(gòu)體鏈表中所有的類(lèi)型TYPE得到HASH值)。
[0048]根據(jù)同一業(yè)務(wù)SQL語(yǔ)句模式具有模式性的特點(diǎn),SQL模式庫(kù)按照不同的業(yè)務(wù)應(yīng)用ID,以數(shù)組的形式存儲(chǔ),結(jié)構(gòu)體示例如圖3所示。
[0049]步驟106、通過(guò)HASH值找到SQL模式庫(kù)HASH數(shù)組對(duì)應(yīng)項(xiàng),然后在該數(shù)組單元下掛詞法鏈表進(jìn)行比較。檢查是否有完全相同的詞法鏈,如果有,則轉(zhuǎn)到步驟107,否則轉(zhuǎn)到步驟108。
[0050]步驟107、SQL模式已經(jīng)存在,僅保存SQL模式序號(hào)到SQL日志表中。
[0051]步驟108、SQL模式不存在,將新的模式更新到SQL模式庫(kù),再保存SQL模式序號(hào)到SQL日志表中。
[0052]步驟109、在模式匹配的過(guò)程中,記錄模式語(yǔ)句的生成時(shí)間,并增加對(duì)模式匹配的計(jì)數(shù),每匹配一次則加一。
[0053]步驟110、掃描SQL模式庫(kù),對(duì)生存時(shí)長(zhǎng)超過(guò)四十八小時(shí),且匹配次數(shù)小于十次的SQL模式語(yǔ)句進(jìn)行刪除。
[0054]最后應(yīng)當(dāng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非對(duì)其限制,盡管參照上述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:依然可以對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行修改或者等同替換,而未脫離本發(fā)明精神和范圍的任何修改或者等同替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
【主權(quán)項(xiàng)】
1.一種電力業(yè)務(wù)系統(tǒng)SQL訪(fǎng)問(wèn)日志壓縮方法,其特征在于,所述方法包括如下步驟: (1)對(duì)存儲(chǔ)一段連續(xù)緩沖區(qū)的SQL語(yǔ)句進(jìn)行分解,分解為詞性和內(nèi)容的單詞結(jié)構(gòu)體鏈表; (2)將所述單詞鏈表中的用戶(hù)輸入部分進(jìn)行替換,創(chuàng)建SQL模式語(yǔ)句; (3)將新的SQL模式語(yǔ)句加入到SQL模式庫(kù)中,構(gòu)建SQL模式匹配引擎。2.根據(jù)權(quán)利要求1所述壓縮方法,其特征在于,所述步驟(1)中,包括如下步驟: 步驟1-1、遍歷SQL語(yǔ)句包含的每一個(gè)字符,以空白符作為每個(gè)word的開(kāi)始和結(jié)束,解析出所述SQL語(yǔ)句所包含的各個(gè)word,通過(guò)類(lèi)型匹配的方式識(shí)別各個(gè)word的類(lèi)型; 步驟1-2、根據(jù)解析的結(jié)果,將所述SQL語(yǔ)句的每個(gè)word分別存儲(chǔ)到單詞結(jié)構(gòu)體的相關(guān)域中; 步驟1-3、將所述SQL語(yǔ)句對(duì)應(yīng)的所有單詞結(jié)構(gòu)體按照順序鏈接成一個(gè)單詞結(jié)構(gòu)體鏈表。3.根據(jù)權(quán)利要求1所述壓縮方法,其特征在于,所述步驟(2)中,包括如下步驟: 步驟2-1、掃描所述單詞結(jié)構(gòu)體鏈表,分離出用戶(hù)輸入部分和SQL主干語(yǔ)句; 步驟2-2、將所述用戶(hù)輸入部分提取出來(lái)用通配符進(jìn)行替代,將多條結(jié)構(gòu)相似的SQL語(yǔ)句抽象為一條SQL語(yǔ)句,形成SQL模式語(yǔ)句。4.根據(jù)權(quán)利要求1所述壓縮方法,其特征在于,所述步驟(3)中,包括如下步驟: 步驟3-1、通過(guò)迭代計(jì)算SQL語(yǔ)句的單詞結(jié)構(gòu)體鏈表中所有的類(lèi)型TYPE得到HASH值,計(jì)算公式:Hash = Hash〈〈8+Type,Hash初始化為0,Type為語(yǔ)句詞法解析后的word類(lèi)型;步驟3-2、根據(jù)同一業(yè)務(wù)SQL語(yǔ)句模式具有模式性的特點(diǎn),SQL模式庫(kù)按照不同的業(yè)務(wù)應(yīng)用ID,以數(shù)組的形式存儲(chǔ); 步驟3-3、通過(guò)Hash值查找SQL模式庫(kù)中Hash數(shù)組的對(duì)應(yīng)項(xiàng),檢查是否有完全相同的詞法鏈,若有則執(zhí)行步驟3-4,否則執(zhí)行步驟3-5 ; 步驟3-4、SQL模式已經(jīng)存在,僅保存SQL模式序號(hào)到SQL日志表中; 步驟3-5、SQL模式不存在,將新的模式更新到SQL模式庫(kù),再保存SQL模式序號(hào)到SQL日志表中。5.根據(jù)權(quán)利要求4所述壓縮方法,其特征在于,所述步驟(3)中還包括:在SQL模式匹配的過(guò)程中,記錄SQL模式語(yǔ)句的生成時(shí)間,并增加對(duì)模式匹配的計(jì)數(shù),每匹配一次則加 ο6.根據(jù)權(quán)利要求5所述壓縮方法,其特征在于,所述步驟(3)后還包括:掃描SQL模式庫(kù),對(duì)生存時(shí)長(zhǎng)超過(guò)四十八小時(shí),且匹配次數(shù)小于十次的SQL模式語(yǔ)句進(jìn)行刪除。
【專(zhuān)利摘要】本發(fā)明提供一種電力業(yè)務(wù)系統(tǒng)SQL訪(fǎng)問(wèn)日志壓縮方法,所述方法包括:(1)對(duì)存儲(chǔ)一段連續(xù)緩沖區(qū)的SQL語(yǔ)句進(jìn)行分解,分解為詞性和內(nèi)容的單詞結(jié)構(gòu)體鏈表;(2)將所述單詞鏈表中的用戶(hù)輸入部分進(jìn)行替換,創(chuàng)建SQL模式語(yǔ)句;(3)將新的SQL模式語(yǔ)句加入到SQL模式庫(kù)中,構(gòu)建SQL模式匹配引擎。本發(fā)明有效的對(duì)電力業(yè)務(wù)系統(tǒng)SQL訪(fǎng)問(wèn)日志進(jìn)行壓縮,便于從中提取有用的信息,提高資源的利用率,而不損失原數(shù)據(jù)的內(nèi)在信息。
【IPC分類(lèi)】G06F17/30
【公開(kāi)號(hào)】CN105373607
【申請(qǐng)?zhí)枴緾N201510781414
【發(fā)明人】李偉偉, 張濤, 馬媛媛, 周誠(chéng), 邵志鵬, 時(shí)堅(jiān), 楚杰, 汪晨, 費(fèi)稼軒, 何高峰, 黃秀麗, 陳璐, 管小娟
【申請(qǐng)人】國(guó)網(wǎng)智能電網(wǎng)研究院, 江蘇省電力公司, 國(guó)家電網(wǎng)公司
【公開(kāi)日】2016年3月2日
【申請(qǐng)日】2015年11月13日
當(dāng)前第2頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1