[發(fā)明專利]基于多線程異步雙寫的分布式緩存高可用處理方法及系統(tǒng)在審
| 申請?zhí)枺?/td> | 201310425435.6 | 申請日: | 2013-09-17 |
| 公開(公告)號: | CN103500120A | 公開(公告)日: | 2014-01-08 |
| 發(fā)明(設(shè)計)人: | 牛曉亮 | 申請(專利權(quán))人: | 北京思特奇信息技術(shù)股份有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F11/14;G06F11/16 |
| 代理公司: | 北京輕創(chuàng)知識產(chǎn)權(quán)代理有限公司 11212 | 代理人: | 楊立 |
| 地址: | 100086 北京市海淀*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 多線程 異步 分布式 緩存 可用 處理 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及分布式緩存系統(tǒng)及云計算領(lǐng)域,尤其涉及一種基于多線程異步雙寫的分布式緩存高可用處理方法及系統(tǒng)。
背景技術(shù)
在互聯(lián)網(wǎng)、電信等許多關(guān)鍵領(lǐng)域,隨著企業(yè)業(yè)務(wù)的不斷發(fā)展,企業(yè)的I/T環(huán)境也在不斷進(jìn)行演變,單個緩存已經(jīng)很難滿足大量數(shù)據(jù)的存儲、高并發(fā)和高效率的訪問數(shù)據(jù),分布式緩存的出現(xiàn)成為必然,分布式緩存能夠有效的解決并發(fā)問題,通過一致性哈希將數(shù)據(jù)切合到緩存集群中不同的節(jié)點上,有效的緩解了大量數(shù)據(jù)存儲和高效率的訪問。但是單個分布式緩存集群無法保障數(shù)據(jù)的安全性,不能保證大量并發(fā)寫入數(shù)據(jù)和刪除數(shù)據(jù)的性能,如何保障緩存中數(shù)據(jù)的安全和高可用成為分布式緩存系統(tǒng)需要面對的問題。
現(xiàn)有分布式緩存系統(tǒng)雖然支持分布式部署,多臺服務(wù)器構(gòu)成集群,集群作為一個邏輯上整體的緩存服務(wù)器,但是內(nèi)部單個緩存服務(wù)器節(jié)點上存儲的數(shù)據(jù)沒有允余,如果該節(jié)點發(fā)生故障則會導(dǎo)致應(yīng)用程序無法查詢數(shù)據(jù),導(dǎo)致業(yè)務(wù)中斷或者錯誤。當(dāng)然,也有解決這個問題的一些方案,如快照,數(shù)據(jù)持久化等,這些方案由于備份時間的差異,會導(dǎo)致數(shù)據(jù)的不一致性或者導(dǎo)致數(shù)據(jù)的丟失。
現(xiàn)有系統(tǒng)存在以下問題:
1.應(yīng)用程序通過客戶端執(zhí)行數(shù)據(jù)存入和刪除等操作是同步的,及應(yīng)用程序要等待服務(wù)端返回操作的狀態(tài)才算操作結(jié)束,這其中就包括網(wǎng)絡(luò)連接時間,操作時間等,花費(fèi)時間較長。
2.服務(wù)器集群中各節(jié)點根據(jù)一致性Hash標(biāo)示,所以各節(jié)點上存儲的數(shù)據(jù)各不一致,沒有數(shù)據(jù)備份,如果某個數(shù)據(jù)節(jié)點發(fā)生故障即導(dǎo)致該節(jié)點數(shù)據(jù)丟失,應(yīng)用程序中斷或者錯誤。
3.應(yīng)用程序讀取數(shù)據(jù)一致在一個集群中進(jìn)行,倘若多次查詢同一數(shù)據(jù),則某個節(jié)點負(fù)載較大,操作等待時間較長。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)的不足,提供一種基于多線程異步雙寫的分布式緩存高可用處理方法及系統(tǒng)。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:基于多線程異步雙寫的分布式緩存高可用處理方法,包括如下步驟:
步驟1:每個應(yīng)用端產(chǎn)生一個操作命令;
步驟2:應(yīng)用端將操作命令發(fā)送給分布式緩存客戶端;
步驟3:分布式緩存客戶端解析操作命令,判斷操作命令的類型,如果是插入、刪除或更新中的任一種,則進(jìn)入步驟4;如果是查詢命令,則進(jìn)入步驟5;
步驟4:在第一服務(wù)器集群和第二服務(wù)器集群中均執(zhí)行該操作命令,結(jié)束;
步驟5:默認(rèn)在第一服務(wù)器集群中執(zhí)行該操作命令,當(dāng)在第一服務(wù)器集群中執(zhí)行失敗時,在第二服務(wù)器集群中執(zhí)行該命令,結(jié)束。
在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
進(jìn)一步,所述步驟4具體步驟如下:
步驟4.1:分布式緩存客戶端將接收的操作命令分別發(fā)送給第一服務(wù)器集群的第一命令隊列和第二服務(wù)器集群的第二命令隊列;
步驟4.2:判斷第一命令隊列和第二命令隊列是否已滿,如果已滿,則等待,待有空位時,將操作命令則放入第一命令隊列和第二命令隊列進(jìn)行存儲,同時向應(yīng)用程序返回成功標(biāo)識;如果未滿,則直接將操作命令放入第一命令隊列和第二命令隊列進(jìn)行存儲,同時向應(yīng)用程序返回成功標(biāo)識;
步驟4.3:第一服務(wù)器集群和第二服務(wù)器集群對各自存儲的操作命令進(jìn)行多線程處理,結(jié)束。
進(jìn)一步,步驟4.1與步驟4.3是異步執(zhí)行的。
進(jìn)一步,步驟4.3的具體步驟如下:
進(jìn)一步,步驟4.3中第一服務(wù)器集群執(zhí)行操作命令的具體步驟如下:
步驟4.3.1:第一服務(wù)器集群的第一多線程操作模塊從第一命令隊列中獲取若干個操作命令;
步驟4.3.2:并將獲取的操作命令發(fā)送給相應(yīng)的服務(wù)器進(jìn)行處理;
步驟4.3.3:判斷每個服務(wù)器是否執(zhí)行成功,執(zhí)行成功的服務(wù)器向第一多線程操作模塊返回成功標(biāo)識,進(jìn)入步驟4.3.4;執(zhí)行失敗的服務(wù)器向多線程操作模塊返回失敗標(biāo)識,進(jìn)入步驟4.3.5;
步驟4.3.4:第一多線程操作模塊繼續(xù)從第一命令隊列中獲取操作命令,返回步驟4.3.2;
步驟4.3.5:第一多線程操作模塊將處理失敗的命令重新放入第一命令隊列中,返回步驟4.3.1。
進(jìn)一步,步驟4.3中第二服務(wù)器集群執(zhí)行操作命令的具體步驟如下:
步驟4.3.1’:第二服務(wù)器集群的第二多線程操作模塊從第二命令隊列中獲取若干個操作命令;
步驟4.3.2’:并將獲取的操作命令發(fā)送給相應(yīng)的服務(wù)器進(jìn)行處理;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京思特奇信息技術(shù)股份有限公司,未經(jīng)北京思特奇信息技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310425435.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 多線程應(yīng)用系統(tǒng)的異常處理方法和異常處理裝置
- 一種面向片上網(wǎng)絡(luò)的多線程調(diào)度實現(xiàn)方法
- 基于計算機(jī)多線程多核顯微鏡細(xì)胞圖像快速掃描處理方法
- 一種基于同步鎖的多線程處理方法、終端以及存儲介質(zhì)
- 多線程并發(fā)處理系統(tǒng)及方法
- 海外控股估值流程控制方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì)
- 讀數(shù)方法、電子裝置、計算機(jī)設(shè)備及存儲介質(zhì)
- 一種基于云平臺多線程調(diào)度的方法、系統(tǒng)、設(shè)備及介質(zhì)
- 一種基于云平臺的前端多線程調(diào)度方法和系統(tǒng)
- 多線程調(diào)度方法、裝置、電子設(shè)備及存儲介質(zhì)





