[發(fā)明專利]一種緩存數(shù)據(jù)的更新方法及裝置在審
| 申請?zhí)枺?/td> | 201611247438.5 | 申請日: | 2016-12-29 |
| 公開(公告)號: | CN106815329A | 公開(公告)日: | 2017-06-09 |
| 發(fā)明(設(shè)計)人: | 黃武漢 | 申請(專利權(quán))人: | 網(wǎng)易無尾熊(杭州)科技有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/54 |
| 代理公司: | 北京同達信恒知識產(chǎn)權(quán)代理有限公司11291 | 代理人: | 黃志華 |
| 地址: | 310051 浙江省杭州市濱江*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 緩存 數(shù)據(jù) 更新 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明的實施方式涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,更具體地,本發(fā)明的實施方式涉及一種緩存數(shù)據(jù)的更新方法及裝置。
背景技術(shù)
本部分旨在為權(quán)利要求書中陳述的本發(fā)明的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認(rèn)是現(xiàn)有技術(shù)。
緩存也即數(shù)據(jù)交換的緩沖區(qū)(Cache),計算機在讀取數(shù)據(jù)時,會首先從緩存中查詢需要的數(shù)據(jù),若在緩存中查詢到需要的數(shù)據(jù),則直接返回查詢到的數(shù)據(jù),若在緩存中未查詢到需要的數(shù)據(jù),則從數(shù)據(jù)庫(或者內(nèi)存)中查詢。由于緩存的運行速度比數(shù)據(jù)庫快得多,故緩存的作用就是幫助計算機更快地運行。
為了提高計算機的運行速度,通常將使用頻率較高的數(shù)據(jù)寫入到緩存中,現(xiàn)有技術(shù)中通常采用以下兩種方案,具體來說:
方案一、周期更新緩存數(shù)據(jù)。在寫入數(shù)據(jù)時,只將數(shù)據(jù)寫入到數(shù)據(jù)庫中,對數(shù)據(jù)庫做更新操作,而不將數(shù)據(jù)寫入緩存,不更新緩存中的數(shù)據(jù),同時啟動一個定時任務(wù),定時的從數(shù)據(jù)庫中獲取數(shù)據(jù),經(jīng)過計算,將數(shù)據(jù)寫入到緩存中,更新緩存中的數(shù)據(jù)。計算機訪問數(shù)據(jù)時,直接在緩存中查詢數(shù)據(jù),如果發(fā)現(xiàn)緩存中不存在需要的數(shù)據(jù),則直接返回空數(shù)據(jù)。
此種方案一方面需要將數(shù)據(jù)寫入到數(shù)據(jù)庫,另一方面需要定時獲取數(shù)據(jù)庫中的數(shù)據(jù),經(jīng)過計算寫入到緩存中,在數(shù)據(jù)量較大的時候,性能瓶頸非常明顯;緩存中的數(shù)據(jù)在未失效或者未過期時,其實是不必進行更新的,每次更新緩存中的全部數(shù)據(jù),計算量較大;緩存中的數(shù)據(jù)在定時刷新周期內(nèi)若發(fā)生變更,則變更的數(shù)據(jù)不能夠及時的更新到緩存中,會造成查詢到過期的數(shù)據(jù),而且訪問緩存中的數(shù)據(jù)時,失效的緩存查詢不到需要的數(shù)據(jù),會直接返回空數(shù)據(jù),用戶體驗很差,沒有補償機制。
方案二、將數(shù)據(jù)同時寫入數(shù)據(jù)庫和緩存中。在寫入數(shù)據(jù)時,除了將數(shù)據(jù)寫入數(shù)據(jù)庫之外,同時冗余計算,將數(shù)據(jù)寫入到緩存中。計算機訪問數(shù)據(jù),若發(fā)現(xiàn)緩存中不存在需要的數(shù)據(jù),就穿透到數(shù)據(jù)庫中進行查詢,在數(shù)據(jù)庫中查詢到數(shù)據(jù)后,將查詢到的數(shù)據(jù)寫入緩存中,然后返回查詢到的數(shù)據(jù),如果數(shù)據(jù)庫中也未查詢到需要的數(shù)據(jù),則直接返回空數(shù)據(jù)。
此種方案中,在寫入數(shù)據(jù)時,增加了很多額外的計算操作,讓寫入數(shù)據(jù)與計算讀取邏輯耦合,當(dāng)業(yè)務(wù)種類多時,代碼會變得臃腫,難以維護,而且在緩存中未查詢到數(shù)據(jù)時,緩存穿透到數(shù)據(jù)庫中查詢需要的數(shù)據(jù),在高并發(fā)時會導(dǎo)致數(shù)據(jù)庫癱瘓,同時緩存穿透的設(shè)計,讓非法用戶能利用不存在的緩存數(shù)據(jù)的標(biāo)識,直接攻擊數(shù)據(jù)庫,造成數(shù)據(jù)庫癱瘓。
因此,目前亟需一種緩存數(shù)據(jù)的更新方法,以及時更新緩存中的數(shù)據(jù),降低計算量,同時提高數(shù)據(jù)庫的安全性。
發(fā)明內(nèi)容
出于現(xiàn)有緩存數(shù)據(jù)更新方案中,周期更新緩存數(shù)據(jù)的方案,性能瓶頸較為明顯,計算量大,且緩存數(shù)據(jù)不能得到及時更新,導(dǎo)致查詢到過期數(shù)據(jù);而將數(shù)據(jù)同時寫入數(shù)據(jù)庫和緩存中的方案,寫入數(shù)據(jù)時冗余計算,計算量大,且緩存中查詢不到的數(shù)據(jù)通過緩存穿透到數(shù)據(jù)庫中進行查詢,降低了數(shù)據(jù)庫的安全性。
為此,非常需要一種改進的緩存數(shù)據(jù)的更新方法,以及時更新緩存中的數(shù)據(jù),降低計算量,同時提高數(shù)據(jù)庫的安全性。
在本上下文中,本發(fā)明的實施方式期望提供一種緩存數(shù)據(jù)的更新方法及裝置。
在本發(fā)明實施方式的第一方面中,提供了一種緩存數(shù)據(jù)的更新方法,包括:
將待更新緩存數(shù)據(jù)的標(biāo)識添加到用于存儲待更新緩存數(shù)據(jù)信息的隊列中;
從所述隊列中獲取待更新緩存數(shù)據(jù)的標(biāo)識,并根據(jù)獲取到的待更新緩存數(shù)據(jù)的標(biāo)識,從數(shù)據(jù)庫中查詢數(shù)據(jù);
利用查詢到的數(shù)據(jù)更新緩存中所述待更新緩存數(shù)據(jù)的標(biāo)識對應(yīng)的數(shù)據(jù)。
在一種可能的實施方式中,本發(fā)明實施例提供的上述方法中,所述將待更新緩存數(shù)據(jù)的標(biāo)識添加到用于存儲待更新緩存數(shù)據(jù)信息的隊列中,包括:在將目標(biāo)數(shù)據(jù)寫入數(shù)據(jù)庫時,將目標(biāo)數(shù)據(jù)的標(biāo)識作為待更新緩存數(shù)據(jù)的標(biāo)識添加到用于存儲待更新緩存數(shù)據(jù)信息的隊列中。
在一種可能的實施方式中,本發(fā)明實施例提供的上述方法中,所述將待更新緩存數(shù)據(jù)的標(biāo)識添加到用于存儲待更新緩存數(shù)據(jù)信息的隊列中,包括:在緩存中查詢目標(biāo)數(shù)據(jù)且未查詢到目標(biāo)數(shù)據(jù)時,則將目標(biāo)數(shù)據(jù)的標(biāo)識作為待更新緩存數(shù)據(jù)的標(biāo)識添加到用于存儲待更新緩存數(shù)據(jù)信息的隊列中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于網(wǎng)易無尾熊(杭州)科技有限公司,未經(jīng)網(wǎng)易無尾熊(杭州)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611247438.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





