[發(fā)明專利]一種數(shù)據(jù)寫入Redis失敗的快速容錯(cuò)處理方法在審
| 申請(qǐng)?zhí)枺?/td> | 201710557197.2 | 申請(qǐng)日: | 2017-07-10 |
| 公開(公告)號(hào): | CN107329858A | 公開(公告)日: | 2017-11-07 |
| 發(fā)明(設(shè)計(jì))人: | 胡勇;夏仁吉;李紅 | 申請(qǐng)(專利權(quán))人: | 上海哎媲媲網(wǎng)絡(luò)技術(shù)有限公司 |
| 主分類號(hào): | G06F11/14 | 分類號(hào): | G06F11/14 |
| 代理公司: | 成都市鼎宏恒業(yè)知識(shí)產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙)51248 | 代理人: | 謝敏 |
| 地址: | 201600 上海市松*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 寫入 redis 失敗 快速 容錯(cuò) 處理 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及容錯(cuò)處理方法,具體涉及一種數(shù)據(jù)寫入Redis失敗的快速容錯(cuò)處理方法。
背景技術(shù)
Redis是現(xiàn)在使用最普遍的緩存數(shù)據(jù)存儲(chǔ)系統(tǒng),和Memcached等緩存存儲(chǔ)系統(tǒng)相比,Redis不僅支持發(fā)布/訂閱、主從等部署方式;還支持更多的數(shù)據(jù)類型,而每種數(shù)據(jù)類型都提供了豐富的操作指令。Redis中間件為其他業(yè)務(wù)系統(tǒng)提供統(tǒng)一接口訪問服務(wù)。主從與哨兵化的集成服務(wù)管理可以增加災(zāi)難下的服務(wù)器容錯(cuò),但因?yàn)榉?wù)的提供是通過網(wǎng)絡(luò)進(jìn)行,所以在使用過程中可能因?yàn)榫W(wǎng)絡(luò)信號(hào)或Redis自身的原因?qū)е峦ㄐ挪荒苷_建立,此時(shí),正在執(zhí)行的業(yè)務(wù)數(shù)據(jù)將會(huì)丟失。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種數(shù)據(jù)寫入Redis失敗的快速容錯(cuò)處理方法,解決在Redis服務(wù)使用過程中可能因?yàn)榫W(wǎng)絡(luò)信號(hào)或Redis自身的原因?qū)е峦ㄐ挪荒苷_建立,正在執(zhí)行的業(yè)務(wù)數(shù)據(jù)將會(huì)丟失的問題。
為解決上述的技術(shù)問題,本發(fā)明采用以下技術(shù)方案:
一種數(shù)據(jù)寫入Redis失敗的快速容錯(cuò)處理方法,包括下列步驟:
S1:將執(zhí)行失敗的Redis業(yè)務(wù)作為容錯(cuò)任務(wù)添加到容錯(cuò)待處理隊(duì)列中;
S2:從容錯(cuò)待處理隊(duì)列中獲取容錯(cuò)待處理任務(wù)并判斷是否存在容錯(cuò)待處理任務(wù),若存在容錯(cuò)待處理任務(wù),則重新執(zhí)行Redis業(yè)務(wù),并且該Redis業(yè)務(wù)重復(fù)執(zhí)行的次數(shù)加1,繼續(xù)執(zhí)行S3步驟;若不存在容錯(cuò)待處理任務(wù),執(zhí)行S4步驟;
S3:判斷S2步驟中重新執(zhí)行Redis任務(wù)是否成功,若執(zhí)行成功,則保存到Redis服務(wù)器集群,跳到S2繼續(xù)執(zhí)行;若執(zhí)行失敗,則將該Redis業(yè)務(wù)再次添加到容錯(cuò)待處理隊(duì)列中,并跳到S2步驟繼續(xù)執(zhí)行;
S4:關(guān)閉Redis服務(wù)。
更進(jìn)一步的方案是,容錯(cuò)任務(wù)按照順序加入容錯(cuò)待處理隊(duì)列的末端,容錯(cuò)任務(wù)的處理順序?yàn)橄忍幚砣蒎e(cuò)待處理隊(duì)列首端的容錯(cuò)任務(wù)。容錯(cuò)處理需嚴(yán)格按照業(yè)務(wù)執(zhí)行順序進(jìn)行處理,所以容錯(cuò)任務(wù)要按順序依次加入容錯(cuò)待處理隊(duì)列的尾端,任務(wù)的處理順序?yàn)橄忍幚黻?duì)首任務(wù)。
更進(jìn)一步的方案是,S3步驟中,若重新執(zhí)行Redis業(yè)務(wù)失敗將該Redis業(yè)務(wù)再次添加到容錯(cuò)待處理隊(duì)列中應(yīng)添加到容錯(cuò)待處理隊(duì)列的首端。容錯(cuò)任務(wù)在處理過程中,可能繼續(xù)出錯(cuò)或失敗,在重新加入容錯(cuò)待處理隊(duì)列時(shí),為了保證業(yè)務(wù)的順序執(zhí)行,需要將容錯(cuò)任務(wù)放入容錯(cuò)待處理隊(duì)列的首端,這樣才能夠在隊(duì)列先處理隊(duì)首任務(wù)的情況下,保證業(yè)務(wù)順序執(zhí)行,避免業(yè)務(wù)顛倒而出錯(cuò)。
更進(jìn)一步的方案是,容錯(cuò)待處理隊(duì)列為自定義的同步鏈表。容錯(cuò)待處理隊(duì)列為自定義的同步鏈表,能夠確保加入及處理的容錯(cuò)任務(wù)有序。
更進(jìn)一步的方案是,容錯(cuò)待處理隊(duì)列采用數(shù)據(jù)庫實(shí)現(xiàn)。容錯(cuò)待處理隊(duì)列可擴(kuò)展為數(shù)據(jù)庫實(shí)現(xiàn),從而保證容錯(cuò)任務(wù)全局統(tǒng)一化處理。
更進(jìn)一步的方案是,對(duì)上述容錯(cuò)任務(wù)配置最大重復(fù)執(zhí)行的次數(shù),若重復(fù)執(zhí)行的次數(shù)已超過所配置的最大重復(fù)執(zhí)行的次數(shù),則將該Redis業(yè)務(wù)保存到數(shù)據(jù)庫中作持久化處理。在容錯(cuò)處理的過程中,由于網(wǎng)絡(luò)連接或Redis服務(wù)中斷的原因,Redis業(yè)務(wù)重新執(zhí)行可能一直執(zhí)行失敗,為了保證業(yè)務(wù)的流暢性,可以將Redis業(yè)務(wù)保存到數(shù)據(jù)庫中作持久化處理,待網(wǎng)絡(luò)恢復(fù),用戶根據(jù)需要再重新執(zhí)行,因此可配置待處理容錯(cuò)任務(wù)的繼續(xù)重試次數(shù),超過次數(shù)時(shí),寫入Mysql做持久化處理。(如寫入失敗,需記錄詳細(xì)日志)。
更進(jìn)一步的方案是,將Redis業(yè)務(wù)保存到數(shù)據(jù)庫后根據(jù)用戶實(shí)際需要確定Redis重新執(zhí)行的時(shí)間。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本發(fā)明通過對(duì)需要使用Redis來進(jìn)行業(yè)務(wù)處理的方法提供了一致的框架支持,使用方便簡(jiǎn)單。
本發(fā)明針對(duì)處理失敗的任務(wù)將進(jìn)行不間斷重試,直到任務(wù)執(zhí)行成功。有效解決了因網(wǎng)絡(luò)連接或Redis服務(wù)中斷所引起的數(shù)據(jù)丟失問題,保證了業(yè)務(wù)執(zhí)行的流暢性。
附圖說明
圖1為本發(fā)明的流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
實(shí)施例1:
一種數(shù)據(jù)寫入Redis失敗的快速容錯(cuò)處理方法,如圖1所示,包括:業(yè)務(wù)開始,執(zhí)行Redis業(yè)務(wù),判斷Redis業(yè)務(wù)是否執(zhí)行成功,若執(zhí)行成功,則保存到Redis服務(wù)器集群,若Redis業(yè)務(wù)執(zhí)行失敗,則執(zhí)行下列步驟:
S1:將執(zhí)行失敗的Redis業(yè)務(wù)作為容錯(cuò)任務(wù)添加到容錯(cuò)待處理隊(duì)列中;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海哎媲媲網(wǎng)絡(luò)技術(shù)有限公司,未經(jīng)上海哎媲媲網(wǎng)絡(luò)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710557197.2/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 數(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)裝置
- Redis的主從切換方法、裝置及redis系統(tǒng)
- 一種redis管理虛擬IP地址的方法、裝置及redis系統(tǒng)
- 一種Redis集群容量調(diào)整的方法、裝置及存儲(chǔ)介質(zhì)
- 一種保障redis集群可用性的方法
- 一種Redis集群的高可用方法及裝置
- 一種redis節(jié)點(diǎn)主從切換方法及裝置
- 一種大數(shù)據(jù)場(chǎng)景下消息處理的方法及終端
- Redis集群處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種應(yīng)用于Redis客戶端的查詢請(qǐng)求過濾方法及Redis客戶端
- Redis緩存刷新方法及裝置
- 一種失敗原因數(shù)據(jù)的統(tǒng)計(jì)方法及系統(tǒng)
- 禁止針對(duì)輔小區(qū)組失敗的失敗指示
- 應(yīng)用程序的安裝方法及裝置
- 失敗位計(jì)數(shù)器和具有其的半導(dǎo)體存儲(chǔ)器裝置
- 轉(zhuǎn)角軌跡失敗的判斷方法、電子設(shè)備和計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 在醫(yī)學(xué)云基礎(chǔ)架構(gòu)中提供失敗參數(shù)
- 一種波束失敗恢復(fù)方法、終端及基站
- 禁止針對(duì)輔小區(qū)組失敗的失敗指示
- 打線失敗檢查系統(tǒng)、打線失敗檢測(cè)裝置以及打線失敗檢測(cè)方法
- 結(jié)果分析方法和裝置、電子設(shè)備及存儲(chǔ)介質(zhì)





