[發(fā)明專利]一種緩存數(shù)據(jù)刷新方法及裝置有效
| 申請?zhí)枺?/td> | 201710023135.3 | 申請日: | 2017-01-12 |
| 公開(公告)號: | CN108304408B | 公開(公告)日: | 2021-04-02 |
| 發(fā)明(設(shè)計)人: | 劉彥伯;崔剛 | 申請(專利權(quán))人: | 中國移動通信集團公司;中國移動通信集團河南有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F16/23 |
| 代理公司: | 北京路浩知識產(chǎn)權(quán)代理有限公司 11002 | 代理人: | 李相雨 |
| 地址: | 100033 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 緩存 數(shù)據(jù) 刷新 方法 裝置 | ||
本發(fā)明實施例公開了一種緩存數(shù)據(jù)刷新方法及裝置。方法包括:獲取Oracle數(shù)據(jù)庫的緩存任務(wù);將與所述緩存任務(wù)對應(yīng)的待緩存數(shù)據(jù)刷新至應(yīng)用數(shù)據(jù)庫Redis,并生成與所述待緩存數(shù)據(jù)對應(yīng)的數(shù)據(jù)刷新信號key;在將所述待緩存數(shù)據(jù)刷新至業(yè)務(wù)處理程序的內(nèi)部緩存時,向所述key的value中寫入所述業(yè)務(wù)處理程序的ID。本發(fā)明實施例通過在SOA架構(gòu)基礎(chǔ)上,搭建基于Oracle數(shù)據(jù)庫和應(yīng)用數(shù)據(jù)庫Redis+高級計算平臺IBM Streams,以在緩存數(shù)據(jù)刷新至Redis時,自動生成刷新信號key,進而在刷新業(yè)務(wù)處理程序的內(nèi)部緩存時向key的value中寫入ID,實現(xiàn)緩存數(shù)據(jù)的持久化和同步,避免重復(fù)刷新程序緩存,減少資源的浪費。
技術(shù)領(lǐng)域
本發(fā)明實施例涉及通信技術(shù)領(lǐng)域,具體涉及一種緩存數(shù)據(jù)刷新方法及裝置。
背景技術(shù)
緩存是一種常駐于內(nèi)存的內(nèi)存數(shù)據(jù)庫,內(nèi)存的讀取速度遠遠快于程序在磁盤讀取數(shù)據(jù)的速度。在設(shè)計程序的時候常常會考慮使用緩存,將經(jīng)常訪問的數(shù)據(jù)放到內(nèi)存上面這樣可以提高訪問數(shù)據(jù)的速度,同時可以降低磁盤或數(shù)據(jù)庫的壓力。
目前,通常采用Memcached的緩存策略,Memcached是一個高性能的分布式內(nèi)存對象緩存系統(tǒng),用于動態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫負載。它通過在內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提高動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度。Memcached為了提高數(shù)據(jù)的存儲速度,在安裝啟動Memcached服務(wù)的時候,它會自動將分配給Memcached的內(nèi)存分隔為大小不一致的很多塊。每當(dāng)任意一個大小的需要緩存的數(shù)據(jù)提交過來的時候Memcached將會自動找到符合這個數(shù)據(jù)大小最適合的內(nèi)存塊,然后把數(shù)據(jù)放到這個塊里面。
在實現(xiàn)本發(fā)明實施例的過程中,發(fā)明人發(fā)現(xiàn)在使用Memcached的緩存策略時,默認(rèn)情況下會采用名為Slab Allocator的機制分配、管理內(nèi)存,該機制給Memcached帶來了內(nèi)存使用效率問題:由于分配的是特定長度的內(nèi)存,因此無法有效利用分配的內(nèi)存。而且,Memcached僅僅支持簡單的key/value類型的數(shù)據(jù),在Memcached里,需要將數(shù)據(jù)拿到客戶端來進行類似的修改再set回去,這大大增加了網(wǎng)絡(luò)IO的次數(shù)和數(shù)據(jù)體積,而且該策略不具備數(shù)據(jù)持久化和數(shù)據(jù)同步的功能。
發(fā)明內(nèi)容
本發(fā)明實施例的一個目的是解決現(xiàn)有技術(shù)由于使用Memcached導(dǎo)致內(nèi)存使用效率較低、不具備數(shù)據(jù)持久化和數(shù)據(jù)同步的問題。
本發(fā)明實施例提出了一種緩存數(shù)據(jù)刷新方法,包括:
獲取Oracle數(shù)據(jù)庫的緩存任務(wù);
將與所述緩存任務(wù)對應(yīng)的待緩存數(shù)據(jù)刷新至應(yīng)用數(shù)據(jù)庫Redis,并生成與所述待緩存數(shù)據(jù)對應(yīng)的數(shù)據(jù)刷新信號key;
在將所述待緩存數(shù)據(jù)刷新至業(yè)務(wù)處理程序的內(nèi)部緩存時,向所述key的value中寫入所述業(yè)務(wù)處理程序的ID。
可選的,所述獲取Oracle數(shù)據(jù)庫的緩存任務(wù)包括:
按照預(yù)設(shè)查詢條件查詢Oracle數(shù)據(jù)庫的緩存刷新任務(wù)表,獲取緩存任務(wù);
其中,所述緩存刷新任務(wù)表用于存儲與待緩存數(shù)據(jù)關(guān)聯(lián)的緩存任務(wù)。
可選的,所述將與所述緩存任務(wù)對應(yīng)的待緩存數(shù)據(jù)刷新至應(yīng)用數(shù)據(jù)庫Redis包括:
判斷所述緩存任務(wù)是否滿足預(yù)設(shè)緩存條件;
根據(jù)判斷結(jié)果將與所述緩存任務(wù)對應(yīng)的待緩存數(shù)據(jù)刷新至應(yīng)用數(shù)據(jù)庫Redis。
可選的,所述根據(jù)判斷結(jié)果將與所述緩存任務(wù)對應(yīng)的待緩存數(shù)據(jù)刷新至應(yīng)用數(shù)據(jù)庫Redis包括:
若判斷獲知所述緩存任務(wù)的數(shù)量大于0,則將所述待緩存數(shù)據(jù)刷新至應(yīng)用數(shù)據(jù)庫Redis;
或者,
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國移動通信集團公司;中國移動通信集團河南有限公司,未經(jīng)中國移動通信集團公司;中國移動通信集團河南有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710023135.3/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)裝置





