本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)緩存控制方法及系統(tǒng)。
背景技術(shù):
目前,隨著移動互聯(lián)網(wǎng)技術(shù)的不斷推進(jìn),云計(jì)算和大數(shù)據(jù)技術(shù)服務(wù)的不斷深入,各個依托于這類技術(shù)的業(yè)務(wù)量正在大幅攀升,而隨著業(yè)務(wù)量的不斷上升,業(yè)務(wù)數(shù)據(jù)日積月累,數(shù)據(jù)量、并發(fā)量越來越大,各種業(yè)務(wù)的數(shù)據(jù)庫系統(tǒng)逐漸暴露出一些問題,例如:1、系統(tǒng)運(yùn)行效率變差,數(shù)據(jù)請求的響應(yīng)較慢;2、空閑線程數(shù)走低,需要不斷擴(kuò)容服務(wù)器來緩解系統(tǒng)壓力,成本較高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提供一種數(shù)據(jù)緩存控制方法及系統(tǒng),旨在低成本的條件下提升數(shù)據(jù)請求的響應(yīng)速度。
為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種數(shù)據(jù)緩存控制方法,所述方法包括以下步驟:
A、數(shù)據(jù)緩存控制系統(tǒng)對數(shù)據(jù)庫中的數(shù)據(jù)按照預(yù)先確定的篩選規(guī)則進(jìn)行篩選,以篩選出常用動態(tài)數(shù)據(jù),并分析篩選出的各個常用動態(tài)數(shù)據(jù)是否是在所述數(shù)據(jù)庫中初次出現(xiàn);
B、若有篩選出的常用動態(tài)數(shù)據(jù)是在所述數(shù)據(jù)庫中初次出現(xiàn),則將所述常用動態(tài)數(shù)據(jù)加載至內(nèi)存中供直接調(diào)用。
優(yōu)選地,所述預(yù)先確定的篩選規(guī)則為:
若所述數(shù)據(jù)庫中有數(shù)據(jù)在第一預(yù)設(shè)時間內(nèi)發(fā)生過預(yù)設(shè)類型變化,則確定該數(shù)據(jù)為動態(tài)數(shù)據(jù);
若有確定的動態(tài)數(shù)據(jù)在第二預(yù)設(shè)時間內(nèi)發(fā)生過預(yù)設(shè)次數(shù)的預(yù)設(shè)類型變化,則確定該動態(tài)數(shù)據(jù)為常用動態(tài)數(shù)據(jù)。
優(yōu)選地,所述步驟B之后還包括:
若接收到針對所述常用動態(tài)數(shù)據(jù)的讀取請求,則計(jì)算所述常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長;
判斷計(jì)算的時長是否大于預(yù)設(shè)時長;
若計(jì)算的時長大于預(yù)設(shè)時長,則將所述讀取請求轉(zhuǎn)交給所述數(shù)據(jù)庫進(jìn)行數(shù)據(jù)讀取響應(yīng);
若計(jì)算的時長小于或等于預(yù)設(shè)時長,則直接響應(yīng)所述讀取請求,提取加載至內(nèi)存中的所述常用動態(tài)數(shù)據(jù),并反饋給發(fā)出所述讀取請求的對象。
優(yōu)選地,所述步驟B之后還包括:
實(shí)時或者定時計(jì)算所述常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長;若計(jì)算的時長大于或等于預(yù)設(shè)時長,則將所述常用動態(tài)數(shù)據(jù)從內(nèi)存中刪除。
優(yōu)選地,該方法還包括:
將預(yù)先確定的靜態(tài)數(shù)據(jù)加載至內(nèi)存中供直接調(diào)用。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種數(shù)據(jù)緩存控制系統(tǒng),所述數(shù)據(jù)緩存控制系統(tǒng)包括:
篩選分析模塊,用于對數(shù)據(jù)庫中的數(shù)據(jù)按照預(yù)先確定的篩選規(guī)則進(jìn)行篩選,以篩選出常用動態(tài)數(shù)據(jù),并分析篩選出的各個常用動態(tài)數(shù)據(jù)是否是在所述數(shù)據(jù)庫中初次出現(xiàn);
加載模塊,用于若有篩選出的常用動態(tài)數(shù)據(jù)是在所述數(shù)據(jù)庫中初次出現(xiàn),則將所述常用動態(tài)數(shù)據(jù)加載至內(nèi)存中供直接調(diào)用。
優(yōu)選地,所述預(yù)先確定的篩選規(guī)則為:
若所述數(shù)據(jù)庫中有數(shù)據(jù)在第一預(yù)設(shè)時間內(nèi)發(fā)生過預(yù)設(shè)類型變化,則確定該數(shù)據(jù)為動態(tài)數(shù)據(jù);
若有確定的動態(tài)數(shù)據(jù)在第二預(yù)設(shè)時間內(nèi)發(fā)生過預(yù)設(shè)次數(shù)的預(yù)設(shè)類型變化,則確定該動態(tài)數(shù)據(jù)為常用動態(tài)數(shù)據(jù)。
優(yōu)選地,還包括:
計(jì)算模塊,用于若接收到針對所述常用動態(tài)數(shù)據(jù)的讀取請求,則計(jì)算所述常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長;
判斷模塊,用于判斷計(jì)算的時長是否大于預(yù)設(shè)時長;
響應(yīng)模塊,用于若計(jì)算的時長大于預(yù)設(shè)時長,則將所述讀取請求轉(zhuǎn)交給所述數(shù)據(jù)庫進(jìn)行數(shù)據(jù)讀取響應(yīng);若計(jì)算的時長小于或等于預(yù)設(shè)時長,則直接響應(yīng)所述讀取請求,提取加載至內(nèi)存中的所述常用動態(tài)數(shù)據(jù),并反饋給發(fā)出所述讀取請求的對象。
優(yōu)選地,還包括:
刪除模塊,用于實(shí)時或者定時計(jì)算所述常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長;若計(jì)算的時長大于或等于預(yù)設(shè)時長,則將所述常用動態(tài)數(shù)據(jù)從內(nèi)存中刪除。
優(yōu)選地,所述加載模塊還用于:
將預(yù)先確定的靜態(tài)數(shù)據(jù)加載至內(nèi)存中供直接調(diào)用。
本發(fā)明提出的數(shù)據(jù)緩存控制方法及系統(tǒng),通過對數(shù)據(jù)庫中的數(shù)據(jù)按照預(yù)先確定的篩選規(guī)則進(jìn)行篩選,篩選出常用動態(tài)數(shù)據(jù),并將在所述數(shù)據(jù)庫中初次出現(xiàn)的常用動態(tài)數(shù)據(jù)加載至內(nèi)存中。由于內(nèi)存中已緩存有用戶的常用動態(tài)數(shù)據(jù),在需要頻繁調(diào)用常用動態(tài)數(shù)據(jù)時,可直接調(diào)用內(nèi)存中已緩存的常用動態(tài)數(shù)據(jù),而無需頻繁地與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互,極大地提升了數(shù)據(jù)請求的響應(yīng)速度,且無需增加較高的額外成本。
附圖說明
圖1為本發(fā)明數(shù)據(jù)緩存控制方法第一實(shí)施例的流程示意圖;
圖2為本發(fā)明數(shù)據(jù)緩存控制方法第二實(shí)施例的流程示意圖;
圖3為本發(fā)明數(shù)據(jù)緩存控制方法第三實(shí)施例的流程示意圖
圖4為本發(fā)明數(shù)據(jù)緩存控制系統(tǒng)第一實(shí)施例的功能模塊示意圖;
圖5為本發(fā)明數(shù)據(jù)緩存控制系統(tǒng)第二實(shí)施例的功能模塊示意圖;
圖6為本發(fā)明數(shù)據(jù)緩存控制系統(tǒng)第三實(shí)施例的功能模塊示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種數(shù)據(jù)緩存控制方法。
參照圖1,圖1為本發(fā)明數(shù)據(jù)緩存控制方法第一實(shí)施例的流程示意圖。
在第一實(shí)施例中,該數(shù)據(jù)緩存控制方法包括:
步驟S10,數(shù)據(jù)緩存控制系統(tǒng)對數(shù)據(jù)庫中的數(shù)據(jù)按照預(yù)先確定的篩選規(guī)則進(jìn)行篩選,以篩選出常用動態(tài)數(shù)據(jù),并分析篩選出的各個常用動態(tài)數(shù)據(jù)是否是在所述數(shù)據(jù)庫中初次出現(xiàn)。例如,所述預(yù)先確定的篩選規(guī)則可以是:若在所述數(shù)據(jù)庫中有數(shù)據(jù)在第一預(yù)設(shè)時間內(nèi)(例如,最近30天內(nèi))發(fā)生過預(yù)設(shè)類型變化(例如,增加、修改、刪除等),則確定該數(shù)據(jù)字段下的數(shù)據(jù)為動態(tài)數(shù)據(jù);若有確定的動態(tài)數(shù)據(jù)在第二預(yù)設(shè)時間內(nèi)(例如,最近7天內(nèi))發(fā)生過預(yù)設(shè)次數(shù)(例如,3次)的預(yù)設(shè)類型變化(例如,增加、修改、刪除等),則確定該動態(tài)數(shù)據(jù)為常用動態(tài)數(shù)據(jù)。
步驟S20,若有篩選出的常用動態(tài)數(shù)據(jù)是在所述數(shù)據(jù)庫中初次出現(xiàn),則將所述常用動態(tài)數(shù)據(jù)加載至內(nèi)存中供直接調(diào)用。
若從所述數(shù)據(jù)庫中篩選出常用動態(tài)數(shù)據(jù),且篩選出的常用動態(tài)數(shù)據(jù)是在所述數(shù)據(jù)庫中初次出現(xiàn),則說明該常用動態(tài)數(shù)據(jù)為用戶在最近一段時間內(nèi)進(jìn)行過多次操作如增加、修改、刪除等,且為經(jīng)用戶最新操作后的動態(tài)數(shù)據(jù),該常用動態(tài)數(shù)據(jù)很有可能會被用戶在此后多次進(jìn)行調(diào)用。則將該常用動態(tài)數(shù)據(jù)加載至內(nèi)存中,用戶在此后需要調(diào)用該常用動態(tài)數(shù)據(jù)時,可直接從內(nèi)存中調(diào)用該常用動態(tài)數(shù)據(jù),而無需對所述數(shù)據(jù)庫進(jìn)行查找等操作,效率更高。
本實(shí)施例通過對數(shù)據(jù)庫中的數(shù)據(jù)按照預(yù)先確定的篩選規(guī)則進(jìn)行篩選,篩選出常用動態(tài)數(shù)據(jù),并將在所述數(shù)據(jù)庫中初次出現(xiàn)的常用動態(tài)數(shù)據(jù)加載至內(nèi)存中。由于內(nèi)存中已緩存有用戶的常用動態(tài)數(shù)據(jù),在需要頻繁調(diào)用常用動態(tài)數(shù)據(jù)時,可直接調(diào)用內(nèi)存中已緩存的常用動態(tài)數(shù)據(jù),而無需頻繁地與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互,極大地提升了數(shù)據(jù)請求的響應(yīng)速度,且無需增加較高的額外成本。
如圖2所示,本發(fā)明第二實(shí)施例提出一種數(shù)據(jù)緩存控制方法,在上述實(shí)施例的基礎(chǔ)上,還包括:
步驟S30,若接收到針對所述常用動態(tài)數(shù)據(jù)的讀取請求,則計(jì)算所述常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長;
若有常用動態(tài)數(shù)據(jù)加載至內(nèi)存中,且在收到針對該常用動態(tài)數(shù)據(jù)的讀取請求后,數(shù)據(jù)緩存控制系統(tǒng)計(jì)算該常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長,例如,所述時長等于該常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時間點(diǎn)距離當(dāng)前時間點(diǎn)的時間間隔。
步驟S40,判斷計(jì)算的時長是否大于預(yù)設(shè)時長(例如,24小時);
步驟S50,若計(jì)算的時長大于預(yù)設(shè)時長,則將所述讀取請求轉(zhuǎn)交給所述數(shù)據(jù)庫進(jìn)行數(shù)據(jù)讀取響應(yīng);
步驟S60,若計(jì)算的時長小于或等于預(yù)設(shè)時長,則直接響應(yīng)所述讀取請求,提取加載至內(nèi)存中的所述常用動態(tài)數(shù)據(jù),并反饋給發(fā)出所述讀取請求的對象。
本實(shí)施例中當(dāng)用戶請求讀取的常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長過長時,則說明該常用動態(tài)數(shù)據(jù)可能已不是最新的動態(tài)數(shù)據(jù),用戶需要調(diào)取的可能是所述數(shù)據(jù)庫中最新的動態(tài)數(shù)據(jù),則將所述讀取請求轉(zhuǎn)交給所述數(shù)據(jù)庫進(jìn)行數(shù)據(jù)讀取響應(yīng)。當(dāng)用戶請求讀取的常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長較短時,則說明該常用動態(tài)數(shù)據(jù)是最新添加到內(nèi)存中的動態(tài)數(shù)據(jù),極有可能就是用戶需要調(diào)取的最新動態(tài)數(shù)據(jù),則直接響應(yīng)所述讀取請求,提取加載至內(nèi)存中的所述常用動態(tài)數(shù)據(jù),保證動態(tài)數(shù)據(jù)讀取的高效率及準(zhǔn)確率。
如圖3所示,本發(fā)明第二實(shí)施例提出一種數(shù)據(jù)緩存控制方法,在上述實(shí)施例的基礎(chǔ)上,還包括:
步驟S70,若有常用動態(tài)數(shù)據(jù)加載至內(nèi)存中,則數(shù)據(jù)緩存控制系統(tǒng)實(shí)時或者定時計(jì)算所述常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長;若計(jì)算的時長大于或等于預(yù)設(shè)時長,說明該常用動態(tài)數(shù)據(jù)可能已不是最新的動態(tài)數(shù)據(jù),用戶對其進(jìn)行調(diào)用的概率很小,則將所述常用動態(tài)數(shù)據(jù)從內(nèi)存中刪除,以節(jié)省內(nèi)存空間。
進(jìn)一步地,在其他實(shí)施例中,該方法還可以包括:將預(yù)先確定的靜態(tài)數(shù)據(jù)加載至內(nèi)存中供直接調(diào)用。
在服務(wù)器啟動時,數(shù)據(jù)緩存控制系統(tǒng)將預(yù)先確定的靜態(tài)數(shù)據(jù)(例如,界面上的下拉列表、選擇框、視圖等)放入到全局?jǐn)?shù)據(jù)庫對象(例如,表,索引,視圖,圖表,缺省值,規(guī)則,觸發(fā)器,語法,函數(shù)等)中,以加載所述靜態(tài)數(shù)據(jù)至內(nèi)存中供直接調(diào)用。所述靜態(tài)數(shù)據(jù)指的是不經(jīng)過開發(fā)人員的開發(fā)式修改無法改變的數(shù)據(jù)(例如,數(shù)據(jù)操作界面的布局和功能項(xiàng)等),將預(yù)先確定的靜態(tài)數(shù)據(jù)加載至內(nèi)存中,用戶即可直接調(diào)用內(nèi)存中的靜態(tài)數(shù)據(jù),而無需對所述數(shù)據(jù)庫進(jìn)行查找等操作,效率更高。
進(jìn)一步地,在其他實(shí)施例中,上述步驟S20包括:
若有篩選出的常用動態(tài)數(shù)據(jù)是初次出現(xiàn),則數(shù)據(jù)緩存控制系統(tǒng)分析內(nèi)存中當(dāng)前緩存的數(shù)據(jù)的大小是否大于或等于預(yù)設(shè)大小(例如,20GB);
若當(dāng)前緩存的數(shù)據(jù)的大小小于預(yù)設(shè)大小,則數(shù)據(jù)緩存控制系統(tǒng)將該常用動態(tài)數(shù)據(jù)加載至內(nèi)存中供直接調(diào)用;
若當(dāng)前緩存的數(shù)據(jù)的大小大于或等于預(yù)設(shè)大小,則數(shù)據(jù)緩存控制系統(tǒng)將該常用動態(tài)數(shù)據(jù)加載加入一常用動態(tài)數(shù)據(jù)列表中,所述常用動態(tài)數(shù)據(jù)列表中包括按加入列表中的時間先后順序排列的常用動態(tài)數(shù)據(jù),在當(dāng)前緩存的數(shù)據(jù)的大小小于預(yù)設(shè)大小后,由數(shù)據(jù)緩存控制系統(tǒng)從所述常用動態(tài)數(shù)據(jù)列表中的加入列表中的時間最早的常用動態(tài)數(shù)據(jù)開始,逐一按照排列的先后順序確定常用動態(tài)數(shù)據(jù)加載至內(nèi)容中,直到當(dāng)前緩存的數(shù)據(jù)的大小大于或等于預(yù)設(shè)大小為止。
本發(fā)明進(jìn)一步提供一種數(shù)據(jù)緩存控制系統(tǒng)。
參照圖4,圖4為本發(fā)明數(shù)據(jù)緩存控制系統(tǒng)第一實(shí)施例的功能模塊示意圖。
在第一實(shí)施例中,該數(shù)據(jù)緩存控制系統(tǒng)包括:
篩選分析模塊01,用于對數(shù)據(jù)庫中的數(shù)據(jù)按照預(yù)先確定的篩選規(guī)則進(jìn)行篩選,以篩選出常用動態(tài)數(shù)據(jù),并分析篩選出的各個常用動態(tài)數(shù)據(jù)是否是在所述數(shù)據(jù)庫中初次出現(xiàn);例如,所述預(yù)先確定的篩選規(guī)則可以是:若在所述數(shù)據(jù)庫中有數(shù)據(jù)在第一預(yù)設(shè)時間內(nèi)(例如,最近30天內(nèi))發(fā)生過預(yù)設(shè)類型變化(例如,增加、修改、刪除等),則確定該數(shù)據(jù)字段下的數(shù)據(jù)為動態(tài)數(shù)據(jù);若有確定的動態(tài)數(shù)據(jù)在第二預(yù)設(shè)時間內(nèi)(例如,最近7天內(nèi))發(fā)生過預(yù)設(shè)次數(shù)(例如,3次)的預(yù)設(shè)類型變化(例如,增加、修改、刪除等),則確定該動態(tài)數(shù)據(jù)為常用動態(tài)數(shù)據(jù)。
加載模塊02,用于若有篩選出的常用動態(tài)數(shù)據(jù)是在所述數(shù)據(jù)庫中初次出現(xiàn),則將所述常用動態(tài)數(shù)據(jù)加載至內(nèi)存中供直接調(diào)用。
若從所述數(shù)據(jù)庫中篩選出常用動態(tài)數(shù)據(jù),且篩選出的常用動態(tài)數(shù)據(jù)是在所述數(shù)據(jù)庫中初次出現(xiàn),則說明該常用動態(tài)數(shù)據(jù)為用戶在最近一段時間內(nèi)進(jìn)行過多次操作如增加、修改、刪除等,且為經(jīng)用戶最新操作后的動態(tài)數(shù)據(jù),該常用動態(tài)數(shù)據(jù)很有可能會被用戶在此后多次進(jìn)行調(diào)用。則將該常用動態(tài)數(shù)據(jù)加載至內(nèi)存中,用戶在此后需要調(diào)用該常用動態(tài)數(shù)據(jù)時,可直接從內(nèi)存中調(diào)用該常用動態(tài)數(shù)據(jù),而無需對所述數(shù)據(jù)庫進(jìn)行查找等操作,效率更高。
本實(shí)施例通過對數(shù)據(jù)庫中的數(shù)據(jù)按照預(yù)先確定的篩選規(guī)則進(jìn)行篩選,篩選出常用動態(tài)數(shù)據(jù),并將在所述數(shù)據(jù)庫中初次出現(xiàn)的常用動態(tài)數(shù)據(jù)加載至內(nèi)存中。由于內(nèi)存中已緩存有用戶的常用動態(tài)數(shù)據(jù),在需要頻繁調(diào)用常用動態(tài)數(shù)據(jù)時,可直接調(diào)用內(nèi)存中已緩存的常用動態(tài)數(shù)據(jù),而無需頻繁地與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互,極大地提升了數(shù)據(jù)請求的響應(yīng)速度,且無需增加較高的額外成本。
如圖5所示,本發(fā)明第二實(shí)施例提出一種數(shù)據(jù)緩存控制系統(tǒng),在上述實(shí)施例的基礎(chǔ)上,還包括:
計(jì)算模塊03,用于若接收到針對所述常用動態(tài)數(shù)據(jù)的讀取請求,則計(jì)算所述常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長;
若有常用動態(tài)數(shù)據(jù)加載至內(nèi)存中,且在收到針對該常用動態(tài)數(shù)據(jù)的讀取請求后,數(shù)據(jù)緩存控制系統(tǒng)計(jì)算該常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長,例如,所述時長等于該常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時間點(diǎn)距離當(dāng)前時間點(diǎn)的時間間隔。
判斷模塊04,用于判斷計(jì)算的時長是否大于預(yù)設(shè)時長(例如,24小時);
響應(yīng)模塊05,用于若計(jì)算的時長大于預(yù)設(shè)時長,則將所述讀取請求轉(zhuǎn)交給所述數(shù)據(jù)庫進(jìn)行數(shù)據(jù)讀取響應(yīng);若計(jì)算的時長小于或等于預(yù)設(shè)時長,則直接響應(yīng)所述讀取請求,提取加載至內(nèi)存中的所述常用動態(tài)數(shù)據(jù),并反饋給發(fā)出所述讀取請求的對象。
本實(shí)施例中當(dāng)用戶請求讀取的常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長過長時,則說明該常用動態(tài)數(shù)據(jù)可能已不是最新的動態(tài)數(shù)據(jù),用戶需要調(diào)取的可能是所述數(shù)據(jù)庫中最新的動態(tài)數(shù)據(jù),則將所述讀取請求轉(zhuǎn)交給所述數(shù)據(jù)庫進(jìn)行數(shù)據(jù)讀取響應(yīng)。當(dāng)用戶請求讀取的常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長較短時,則說明該常用動態(tài)數(shù)據(jù)是最新添加到內(nèi)存中的動態(tài)數(shù)據(jù),極有可能就是用戶需要調(diào)取的最新動態(tài)數(shù)據(jù),則直接響應(yīng)所述讀取請求,提取加載至內(nèi)存中的所述常用動態(tài)數(shù)據(jù),保證動態(tài)數(shù)據(jù)讀取的高效率及準(zhǔn)確率。
如圖6所示,本發(fā)明第三實(shí)施例提出一種數(shù)據(jù)緩存控制系統(tǒng),在上述實(shí)施例的基礎(chǔ)上,還包括:
刪除模塊06,用于實(shí)時或者定時計(jì)算所述常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長;若計(jì)算的時長大于或等于預(yù)設(shè)時長,則將所述常用動態(tài)數(shù)據(jù)從內(nèi)存中刪除。
本實(shí)施例中,若有常用動態(tài)數(shù)據(jù)加載至內(nèi)存中,則數(shù)據(jù)緩存控制系統(tǒng)實(shí)時或者定時計(jì)算所述常用動態(tài)數(shù)據(jù)被加載至內(nèi)存中的時長;若計(jì)算的時長大于或等于預(yù)設(shè)時長,說明該常用動態(tài)數(shù)據(jù)可能已不是最新的動態(tài)數(shù)據(jù),用戶對其進(jìn)行調(diào)用的概率很小,則將所述常用動態(tài)數(shù)據(jù)從內(nèi)存中刪除,以節(jié)省內(nèi)存空間。
進(jìn)一步地,在其他實(shí)施例中,上述加載模塊02還用于:將預(yù)先確定的靜態(tài)數(shù)據(jù)加載至內(nèi)存中供直接調(diào)用。
在服務(wù)器啟動時,數(shù)據(jù)緩存控制系統(tǒng)將預(yù)先確定的靜態(tài)數(shù)據(jù)(例如,界面上的下拉列表、選擇框、視圖等)放入到全局?jǐn)?shù)據(jù)庫對象(例如,表,索引,視圖,圖表,缺省值,規(guī)則,觸發(fā)器,語法,函數(shù)等)中,以加載所述靜態(tài)數(shù)據(jù)至內(nèi)存中供直接調(diào)用。所述靜態(tài)數(shù)據(jù)指的是不經(jīng)過開發(fā)人員的開發(fā)式修改無法改變的數(shù)據(jù)(例如,數(shù)據(jù)操作界面的布局和功能項(xiàng)等),將預(yù)先確定的靜態(tài)數(shù)據(jù)加載至內(nèi)存中,用戶即可直接調(diào)用內(nèi)存中的靜態(tài)數(shù)據(jù),而無需對所述數(shù)據(jù)庫進(jìn)行查找等操作,效率更高。
進(jìn)一步地,在其他實(shí)施例中,上述加載模塊02還用于:
若有篩選出的常用動態(tài)數(shù)據(jù)是初次出現(xiàn),則分析內(nèi)存中當(dāng)前緩存的數(shù)據(jù)的大小是否大于或等于預(yù)設(shè)大小(例如,20GB);
若當(dāng)前緩存的數(shù)據(jù)的大小小于預(yù)設(shè)大小,則將該常用動態(tài)數(shù)據(jù)加載至內(nèi)存中供直接調(diào)用;
若當(dāng)前緩存的數(shù)據(jù)的大小大于或等于預(yù)設(shè)大小,則將該常用動態(tài)數(shù)據(jù)加載加入一常用動態(tài)數(shù)據(jù)列表中,所述常用動態(tài)數(shù)據(jù)列表中包括按加入列表中的時間先后順序排列的常用動態(tài)數(shù)據(jù),在當(dāng)前緩存的數(shù)據(jù)的大小小于預(yù)設(shè)大小后,由數(shù)據(jù)緩存控制系統(tǒng)從所述常用動態(tài)數(shù)據(jù)列表中的加入列表中的時間最早的常用動態(tài)數(shù)據(jù)開始,逐一按照排列的先后順序確定常用動態(tài)數(shù)據(jù)加載至內(nèi)容中,直到當(dāng)前緩存的數(shù)據(jù)的大小大于或等于預(yù)設(shè)大小為止。
上述本發(fā)明實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。