[發(fā)明專利]一種緩存系統(tǒng)數(shù)據(jù)存取方法有效
| 申請?zhí)枺?/td> | 201410049160.5 | 申請日: | 2014-02-12 |
| 公開(公告)號: | CN103853504B | 公開(公告)日: | 2017-04-26 |
| 發(fā)明(設(shè)計)人: | 朱溢能 | 申請(專利權(quán))人: | 上海愛數(shù)信息技術(shù)股份有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F12/0868 |
| 代理公司: | 上海科盛知識產(chǎn)權(quán)代理有限公司31225 | 代理人: | 趙繼明 |
| 地址: | 201112 上海市閔行*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 緩存 系統(tǒng) 數(shù)據(jù) 存取 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)存取方法,尤其是涉及一種緩存系統(tǒng)數(shù)據(jù)存取方法。
背景技術(shù)
信息技術(shù)的發(fā)展便利了人民的生活,改變了人們的生活方式,人們產(chǎn)生的數(shù)據(jù)量正在日益膨脹。對于傳統(tǒng)的數(shù)據(jù)存儲系統(tǒng)來說,快速處理這些龐大的數(shù)據(jù)正在變得越來越困難,大量的數(shù)據(jù)會導(dǎo)致處理能力有限的存儲系統(tǒng)無法應(yīng)付,產(chǎn)生的結(jié)果便是耗時巨大,難以滿足人們對快速處理數(shù)據(jù)的要求,因此需要尋找新的技術(shù)改進(jìn),以提高存儲系統(tǒng)處理大量數(shù)據(jù)的能力。
如今越來越多的數(shù)據(jù)存儲系統(tǒng)開始使用緩存技術(shù)。緩存能夠快速響應(yīng)用戶寫入、讀取數(shù)據(jù)的操作,是數(shù)據(jù)存儲系統(tǒng)與用戶交換數(shù)據(jù)的中間介質(zhì),它可分為寫緩存和讀緩存。寫緩存用于接收用戶發(fā)來的數(shù)據(jù),用戶將數(shù)據(jù)發(fā)送給寫緩存后,數(shù)據(jù)存儲系統(tǒng)便將寫緩存中的數(shù)據(jù)逐步接收并寫入到磁盤中。讀緩存用于讓用戶能快速訪問存儲系統(tǒng)中的數(shù)據(jù),存儲系統(tǒng)把用戶經(jīng)常需要獲取的數(shù)據(jù)寫入讀緩存中,用戶便可直接讀取讀緩存中的數(shù)據(jù),而無需直接和底層存儲系統(tǒng)打交道。但當(dāng)多個用戶同時發(fā)送大量數(shù)據(jù)給數(shù)據(jù)存儲系統(tǒng)時,存儲系統(tǒng)如何快速從寫緩存上接收數(shù)據(jù)并寫入讀緩存,又成為一個問題。
一個有效且通用的方法便是使用多線程并發(fā)訪問的方式,提高數(shù)據(jù)的訪問速度。但當(dāng)多個線程具有共用的獨占式資源時,各個線程往往會由于需要訪問這些共用的資源而進(jìn)行加鎖、解鎖操作,以保證對這些資源的獨占。而加鎖、解鎖、使用獨占式資源又會帶來新的問題,一個線程在使用獨占式資源時,其它線程必須等待其使用結(jié)束、釋放相關(guān)的鎖之后才能占用該資源,這就造成了線程為獲得獨占式資源而等待的現(xiàn)象,而且,當(dāng)一個線程使用完獨占式資源并釋放鎖時,其它線程為了獲得該資源而發(fā)生的“鎖競爭”現(xiàn)象也會導(dǎo)致一定的性能開銷。這樣,帶有鎖的多線程并發(fā)訪問方式未必能顯著提高數(shù)據(jù)的存取速度,這對于具有高實時性的數(shù)據(jù)存取系統(tǒng)來說,無疑是致命的缺陷。
Memcache是一個高性能、分布式的內(nèi)存對象緩存系統(tǒng),采用的是Key-Value存儲結(jié)構(gòu)。通過在內(nèi)存中維護(hù)一個巨大的哈希鏈表,Memcache可以存儲各種格式的數(shù)據(jù),并且可通過目前已經(jīng)趨于成熟的API接口對這些數(shù)據(jù)進(jìn)行增、刪、改、查等操作。它可通過客戶端實現(xiàn)分布式結(jié)構(gòu)組織,從而擴(kuò)大數(shù)據(jù)容量、提高數(shù)據(jù)的穩(wěn)定性。Memcache的訪問性能極高,單條連接對Memcache服務(wù)器的每秒訪問次數(shù)可達(dá)到30000以上。目前很多大型的數(shù)據(jù)存儲系統(tǒng)已經(jīng)使用了Memcache作為緩存工具,以提高整個系統(tǒng)的數(shù)據(jù)訪問速度。大型的數(shù)據(jù)存儲系統(tǒng)一般會建立一條對Memcache服務(wù)器的連接,然后利用該連接,使用多線程并發(fā)的方式訪問數(shù)據(jù),以提高數(shù)據(jù)的存取速度。但由于這條連接中有不少獨占式資源是各個訪問線程共有的,因此每個線程在獲取這些獨占式資源前必須對這些資源進(jìn)行加鎖并在使用完之后進(jìn)行解鎖,以保證它對這些資源的充分獨占。這就會使其它線程為等待資源被釋放而被掛起,從而降低存取操作的速度。所以,即使使用了多線程并發(fā)訪問的方式,對提高M(jìn)emcache的訪問性能效果也不會很顯著。
發(fā)明內(nèi)容
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種緩存系統(tǒng)數(shù)據(jù)存取方法,將多連接方式和多線程技術(shù)結(jié)合應(yīng)用,加快Memcache緩存系統(tǒng)的訪問速度,提高它的操作頻率,以擴(kuò)大其在分布式文件系統(tǒng)中作為緩存提高數(shù)據(jù)訪問速度的效果。
本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):
一種緩存系統(tǒng)數(shù)據(jù)存取方法,數(shù)據(jù)存儲系統(tǒng)通過該存取方法并發(fā)訪問Memcache緩存系統(tǒng)的數(shù)據(jù)時,每個線程均擁有一個獨立的、屬于自己的Memcache操作句柄和一個唯一標(biāo)識符,線程使用自己的Memcache操作句柄進(jìn)行數(shù)據(jù)存取,每個所述線程的唯一標(biāo)識符和Memcache操作句柄以Key-Value鍵值對的形成存儲在句柄管理器中,每個線程訪問Memcache緩存系統(tǒng)的具體步驟包括:
1)獲取線程本身的唯一標(biāo)識符;
2)查找句柄管理器中是否存在鍵為當(dāng)前唯一標(biāo)識符的元素,若是,則將該鍵對應(yīng)的值作為當(dāng)前線程的Memcache操作句柄輸出,若否,則進(jìn)行創(chuàng)建一個新句柄作為當(dāng)前線程的Memcache操作句柄;
3)使用步驟2)獲得的Memcache操作句柄對緩存系統(tǒng)進(jìn)行存取操作。
所述的唯一標(biāo)示符為每個線程的線程號。
所述的步驟2)中創(chuàng)建一個新句柄的具體步驟為:
1)獲取當(dāng)前線程的線程號,即線程的唯一標(biāo)識符;
2)在內(nèi)存中創(chuàng)建一個新的Memcache操作句柄;
3)獲取新建句柄在內(nèi)存中的地址;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海愛數(shù)信息技術(shù)股份有限公司,未經(jīng)上海愛數(shù)信息技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410049160.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:薄膜沉積裝置以及使用該薄膜沉積裝置的薄膜沉積方法
- 下一篇:緩釋型摻混肥料
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計算機能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計算機之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出
- 數(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)裝置





