两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種提高應(yīng)用系統(tǒng)在關(guān)系數(shù)據(jù)庫的空間與時間效率的方法

文檔序號:9750863閱讀:852來源:國知局
一種提高應(yīng)用系統(tǒng)在關(guān)系數(shù)據(jù)庫的空間與時間效率的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及關(guān)系數(shù)據(jù)庫的查詢緩存優(yōu)化技術(shù)領(lǐng)域,具體涉及一種通過機器學(xué)習(xí)提高應(yīng)用系統(tǒng)在關(guān)系數(shù)據(jù)庫的空間與時間效率的方法。
【背景技術(shù)】
[0002]數(shù)據(jù)查詢緩存在各種關(guān)系數(shù)據(jù)庫上普遍都有實現(xiàn),實現(xiàn)過程基本是,查詢數(shù)據(jù)時,通過解析查詢語句,判斷要查詢的數(shù)據(jù)庫是否存在于緩存中,如果存在則直接從緩存中讀取數(shù)據(jù)并返回;如果數(shù)據(jù)不存在于緩存中,則從數(shù)據(jù)文件中讀取數(shù)據(jù),并保存到緩存中用于下次的數(shù)據(jù)查詢。在這個實現(xiàn)的過程中,由于沒有判斷數(shù)據(jù)的讀取頻率、讀取的字段、條件等,在每次讀取數(shù)據(jù)時,都要進行數(shù)據(jù)的緩存,所以關(guān)系數(shù)據(jù)庫每次都要維護一次緩存的操作,如果緩存空間不足,還每次要進行LFU的替換算法,這導(dǎo)致在每次查詢時,數(shù)據(jù)緩存的空間與時間效率較低,需要進行改進。

【發(fā)明內(nèi)容】

[0003]本發(fā)明通過預(yù)先機器學(xué)習(xí),從而得出緩存閥值計算公式用于數(shù)據(jù)查詢時的閥值計算,判斷是否要對數(shù)據(jù)進行緩存,從而優(yōu)化了傳統(tǒng)數(shù)據(jù)庫在查詢是每次都要進行緩存的問題,減少了數(shù)據(jù)緩存的空間與每次緩存時的中斷替換時間,提高了數(shù)據(jù)查詢的效率。
[0004]本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:
[0005]通過分析特定應(yīng)用系統(tǒng)的查詢語句,把查詢語句分解為解析樹,通過解析樹把查詢語句按查詢字段、查詢表、查詢條件,相應(yīng)應(yīng)用MLFU、LFU、FP-gr oup th算法,按查詢字段、查詢表、查詢條件作為輸入,通過回歸算法計算得出查詢語句的緩存閥值計算公式;在應(yīng)用系統(tǒng)進行查詢時,通過閥值計算公式,判斷查詢的數(shù)據(jù)是否可能在緩存空間中、或是否需要緩存到空間上。
[0006]對應(yīng)用系統(tǒng)特定的查詢語句的分析、通過機器學(xué)習(xí)用回歸算法得出緩存閥值計算公式后實現(xiàn)數(shù)據(jù)查詢的優(yōu)化,分為查詢語句機器學(xué)習(xí)與查詢緩存策略兩部分。
[0007]在查詢語句機器學(xué)習(xí)時,需把應(yīng)用系統(tǒng)的所有查詢語句獲取到,并對所有的查詢語句按查詢字段、查詢表、查詢條件分解為解析樹。
[0008]在所有查詢語句分解為解析樹后,查詢字段、查詢表、查詢條件分別應(yīng)用MLFU、LFU、FP-Groupth算法,分別計算出各種查詢字段、查詢表、查詢條件在所有查詢語句中的比率,并按從高到低的順序排序;
[0009]分析查詢字段、查詢表、查詢條件的數(shù)量,對于大于一定比率的查詢語句,表示是經(jīng)常要使用到的,在進行打分時,設(shè)置為I,低于一定比率的查詢語句,表示不經(jīng)常使用到,在打分時設(shè)置為0,這樣三種情況,得出了從O到7的8種分?jǐn)?shù);
[0010]通過查詢字段、查詢表、查詢條件的占所有查詢結(jié)果的比率,與最終的O到7的打分,形成最終的回歸分析基礎(chǔ)數(shù)據(jù),從而得出按查詢字段、查詢表、查詢條件作為輸入的查詢語句是否需要緩存的閥值計算公式,用于數(shù)據(jù)查詢時的緩存參考。
[0011]在通過機器學(xué)習(xí)得出緩存閥值計算公式后,把計算公式寫入到緩存系統(tǒng)中,在數(shù)據(jù)查詢輸入語句時,系統(tǒng)先對查詢語句按查詢字段、查詢表、查詢條件進行分解成解析樹,并獲取查詢字段、查詢表、查詢條件的在所有查詢語句中的占比,輸入緩存閥值計算公式,得出查詢語句的緩存閥值;
[0012]當(dāng)緩存閥值小于應(yīng)用系統(tǒng)指定的定值時,表示查詢語句相對比較少使用到,所以此查詢語句查詢的數(shù)據(jù)不需要緩存,在緩存空間上也不會存在,數(shù)據(jù)直接從數(shù)據(jù)文件上讀取,并返回給用戶;
[0013]當(dāng)緩存閥值大于等于應(yīng)用系統(tǒng)指定的定值時,表示查詢語句會經(jīng)常使用到,此查詢語句的數(shù)據(jù)需緩存到空間上,用于以后的數(shù)據(jù)查詢,此時,會在緩存空間上查詢數(shù)據(jù)是否已經(jīng)緩存,如果緩存,更新最后使用時間并把數(shù)據(jù)返回給用戶;如果沒有緩存,需從數(shù)據(jù)文件上直接讀取,并判斷緩存空間是否足夠放此數(shù)據(jù),如果緩存空間不夠,需把緩存空間上的數(shù)據(jù)按LFU算法,把最久沒使用的數(shù)據(jù)替換出去,用于最新的數(shù)據(jù)的緩存,緩存操作完成后,更新最后使用時間并把數(shù)據(jù)返回給用戶,從而實現(xiàn)數(shù)據(jù)的查詢操作。
[0014]本發(fā)明方法是通過對特定應(yīng)用系統(tǒng)的查詢語句進行分析,因為特定的應(yīng)用系統(tǒng)查詢語句是基本固定的,通過對查詢語句按查詢字段、查詢表、查詢條件,按MLFU、LFU、FP-Groupth等算法,用機器學(xué)習(xí)的方法,回歸計算得出數(shù)據(jù)緩存閥值的計算公式,在每次數(shù)據(jù)查詢時,首先對查詢語句進行分析并計算出緩存閥值,如果閥值低于緩存值,則數(shù)據(jù)直接從數(shù)據(jù)文件中讀取并返回,如果閥值大于等于緩存值,則判斷數(shù)據(jù)是否已經(jīng)存在,如果已經(jīng)緩存,直接讀取,如果未緩存,則從數(shù)據(jù)塊中讀取數(shù)據(jù)后,并保存到空間上,如果空間不足,則按LFU的原則進行替換,從而避免了所有的數(shù)據(jù)都要進行替換,就算讀取次數(shù)很小的數(shù)據(jù)也要做一次緩存、或可能替換緩存中的數(shù)據(jù)的操作,從而極大提高了數(shù)據(jù)緩存時的空間與時間的效率。通過此方法,本發(fā)明優(yōu)化了傳統(tǒng)數(shù)據(jù)庫在查詢是每次都要進行緩存的問題,從而減少了數(shù)據(jù)緩存的空間與每次緩存時的中斷替換時間,提高了數(shù)據(jù)查詢的效率。
【附圖說明】
[0015]下面結(jié)合附圖對本發(fā)明進一步說明:
[0016]圖1是本發(fā)明數(shù)據(jù)查詢緩存流程圖;
[0017]圖2是本發(fā)明與現(xiàn)有方法關(guān)系數(shù)據(jù)庫緩存的空間對比圖;
[0018]圖3是本發(fā)明與現(xiàn)有方法關(guān)系數(shù)據(jù)庫緩存的時間對比圖。
【具體實施方式】
[0019]見圖1所示,本發(fā)明的實現(xiàn)主要包括兩部分,機器學(xué)習(xí)與數(shù)據(jù)查詢,兩部分的具體步驟如下:
[0020]一、機器學(xué)習(xí):
[0021]步驟一、獲取特定應(yīng)用系統(tǒng)的所有查詢語句;
[0022]步驟二、對所有的查詢語句、按查詢的字段、查詢的表、查詢的條件進行分析,形成解析樹,對于MLFU、LFU、FP-Groupth三種算法,計算出各自的在所有查詢語句中的占比;
[0023]步驟三、通過對比各查詢語句的占比,通過打分,把所有查詢語句的打分設(shè)置為O至7;
[0024]步驟四、通過步驟二與步驟三,在線性回歸上最終得出緩存閥值的計算公工,用于緩存時的閥值計算,如:
[0025]f(x)=81.3463*x+2.0715*y+21.9744*z_0.1356
[0026]二、數(shù)據(jù)查詢緩存過程:
[0027]步驟一、輸入應(yīng)用系統(tǒng)查詢語句,并對查詢語句按查詢字段、查詢表、查詢條件進行分析,形成解析樹;
[
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
南开区| 平和县| 石阡县| 鸡泽县| 大理市| 嘉祥县| 诸城市| 德清县| 健康| 无极县| 兴隆县| 九龙县| 余江县| 博乐市| 鹤岗市| 黑水县| 虎林市| 雅江县| 桑日县| 玉田县| 商水县| 阿克陶县| 柘荣县| 老河口市| 民和| 普陀区| 南汇区| 报价| 阿鲁科尔沁旗| 巴塘县| 奉新县| 汤阴县| 苍山县| 观塘区| 齐齐哈尔市| 永寿县| 甘孜| 霍城县| 子长县| 岗巴县| 汕尾市|