[發(fā)明專利]防止內(nèi)存數(shù)據(jù)丟失的方法、裝置和系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201610154437.X | 申請(qǐng)日: | 2016-03-17 |
| 公開(公告)號(hào): | CN107203437B | 公開(公告)日: | 2021-02-12 |
| 發(fā)明(設(shè)計(jì))人: | 丁福海 | 申請(qǐng)(專利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類號(hào): | G06F11/14 | 分類號(hào): | G06F11/14;H04M3/22;H04M3/36 |
| 代理公司: | 北京中博世達(dá)專利商標(biāo)代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 防止 內(nèi)存 數(shù)據(jù) 丟失 方法 裝置 系統(tǒng) | ||
本申請(qǐng)實(shí)施例涉及內(nèi)存數(shù)據(jù)領(lǐng)域,尤其涉及防止內(nèi)存數(shù)據(jù)丟失的方法,包括:第一流模式匹配引擎啟動(dòng)模式匹配時(shí),在第一流模式匹配引擎的內(nèi)存中創(chuàng)建狀態(tài)機(jī);在模式匹配過程中,根據(jù)模式匹配規(guī)則,第一流模式匹配引擎依次從事件存儲(chǔ)裝置中獲取事件;根據(jù)快照規(guī)則,快照所述狀態(tài)機(jī)的狀態(tài),形成快照文件,將所述快照文件存儲(chǔ)到快照存儲(chǔ)裝置,其中,所述快照文件記載了所述獲取的事件在所述事件存儲(chǔ)裝置中的偏移標(biāo)記。提高了內(nèi)存數(shù)據(jù)的可靠性。
技術(shù)領(lǐng)域
本申請(qǐng)涉及內(nèi)存數(shù)據(jù)技術(shù)領(lǐng)域,尤其涉及防止內(nèi)存數(shù)據(jù)丟失的方法、裝置和系統(tǒng)。
背景技術(shù)
很多分布式系統(tǒng)中的應(yīng)用都需要在內(nèi)存中保存狀態(tài),而且狀態(tài)量大、變化頻繁。存在內(nèi)存中的數(shù)據(jù)最大的問題就是易失性,當(dāng)節(jié)點(diǎn)宕機(jī)時(shí),內(nèi)存數(shù)據(jù)會(huì)全部丟失。所以,為了使系統(tǒng)具備高可用性,很多方案被設(shè)計(jì)出來,例如,將狀態(tài)數(shù)據(jù)存儲(chǔ)在物理數(shù)據(jù)庫或者Key-Value內(nèi)存庫中或者將狀態(tài)數(shù)據(jù)在集群中其它節(jié)點(diǎn)上維護(hù)一個(gè)副本。
在大數(shù)據(jù)實(shí)時(shí)流處理領(lǐng)域,內(nèi)存狀態(tài)丟失就相當(dāng)于消息的丟失,內(nèi)存狀態(tài)的管理水平直接影響系統(tǒng)能夠支撐的業(yè)務(wù)種類,比如,廣告推薦類,對(duì)系統(tǒng)要求不高,允許消息的丟失和重復(fù)(At most once);對(duì)于銀行、網(wǎng)絡(luò)、反恐領(lǐng)域的攻擊監(jiān)測類業(yè)務(wù),允許消息重復(fù)但是不能丟失(At Least once);金融類業(yè)務(wù),要求系統(tǒng)不能丟失和重復(fù)任何消息(Exactlyonce)。大數(shù)據(jù)場景還有一個(gè)特點(diǎn)就是規(guī)模大,在這種規(guī)模下復(fù)雜的技術(shù)不一定能滿足需要,所以亟需一種既簡單又實(shí)用的方法來滿足內(nèi)存狀態(tài)管理的需要。
目前,存儲(chǔ)在內(nèi)存的數(shù)據(jù)存在易失的特性。當(dāng)主機(jī)崩潰、操作系統(tǒng)故障和進(jìn)程重啟,都會(huì)引起內(nèi)存數(shù)據(jù)的丟失。對(duì)多數(shù)業(yè)務(wù)來說,內(nèi)存中數(shù)據(jù)的丟失是無法接受的。
發(fā)明內(nèi)容
本申請(qǐng)實(shí)施例提供一種大數(shù)據(jù)實(shí)時(shí)流處理應(yīng)用場景下防止內(nèi)存數(shù)據(jù)丟失的方法、裝置和系統(tǒng),提高內(nèi)存數(shù)據(jù)可靠。
一方面,本申請(qǐng)的實(shí)施例提供了一種防止內(nèi)存數(shù)據(jù)丟失的方法。方法包括: 第一流模式匹配引擎啟動(dòng)模式匹配,在第一流模式匹配引擎的內(nèi)存中創(chuàng)建狀態(tài)機(jī);在模式匹配過程中,根據(jù)模式匹配規(guī)則,依次從事件存儲(chǔ)裝置中獲取事件,集群控制裝置中設(shè)定了事件存儲(chǔ)裝置和第一流模式匹配引擎之間存在對(duì)應(yīng)關(guān)系。根據(jù)快照規(guī)則(比如:每隔2分鐘),快照狀態(tài)機(jī)的狀態(tài),形成快照文件,將所述快照文件存儲(chǔ)到快照存儲(chǔ)裝置,其中,所述快照文件記載了狀態(tài)機(jī)的狀態(tài),這個(gè)狀態(tài)可以為獲取的事件在所述事件存儲(chǔ)裝置中的偏移標(biāo)記。本發(fā)明由于在模式匹配過程中,第一流模式匹配引擎會(huì)快照狀態(tài)機(jī)的狀態(tài),并將快照文件存儲(chǔ)在快照存儲(chǔ)裝置,這樣內(nèi)存數(shù)據(jù)被快照起來,就算內(nèi)存數(shù)據(jù)由于各種原因丟失,對(duì)等的其它流模式匹配引擎會(huì)從快照存儲(chǔ)裝置獲取快照文件,這樣就又可以獲取內(nèi)存的數(shù)據(jù),繼續(xù)處理快照起來的內(nèi)存數(shù)據(jù),這樣就可以提高內(nèi)存數(shù)據(jù)的可靠性,不會(huì)被丟失了。
在一個(gè)可能設(shè)計(jì)中,當(dāng)?shù)谝涣髂J狡ヅ湟姘l(fā)生故障或者重啟時(shí),此時(shí)第一流模式匹配引擎的內(nèi)存數(shù)據(jù)已經(jīng)丟失了,此時(shí)第二流模式匹配引擎從快照存儲(chǔ)裝置獲取到所述快照文件,其中,在第一流模式匹配引擎發(fā)生故障后,所述第二流模式匹配引擎被設(shè)置為與所述事件存儲(chǔ)裝置具有對(duì)應(yīng)關(guān)系,以及所述第一流模式匹配引擎與所述事件存儲(chǔ)裝置的對(duì)應(yīng)關(guān)系被廢棄;根據(jù)所述快照文件中記載的所述獲取的事件在所述事件存儲(chǔ)裝置中的偏移標(biāo)記,從所述事件存儲(chǔ)裝置中偏移標(biāo)記開始繼續(xù)獲取事件,繼續(xù)進(jìn)行模式匹配。雖然第一流模式匹配引擎發(fā)生故障,它的內(nèi)存數(shù)據(jù)丟失了,但是由于其內(nèi)存數(shù)據(jù)已經(jīng)被快照了,形成快照文件,并將快照文件存儲(chǔ)在快照存儲(chǔ)裝置中,這樣對(duì)等的第二流模式匹配引擎會(huì)從快照存儲(chǔ)裝置獲取快照文件,又可以獲取內(nèi)存的數(shù)據(jù),繼續(xù)處理快照起來的內(nèi)存數(shù)據(jù),這樣就可以提高內(nèi)存數(shù)據(jù)的可靠性,不會(huì)被丟失了。
在一個(gè)可能的設(shè)計(jì)中,在所述從所述事件存儲(chǔ)裝置中偏移標(biāo)記開始繼續(xù)獲取事件之前,還包括:將所述快照文件加載到所述第二流模式匹配引擎的內(nèi)存中,解析所述快照文件中的狀態(tài)機(jī)數(shù)據(jù);根據(jù)所述狀態(tài)機(jī)數(shù)據(jù),在所述第二流模式匹配引擎的內(nèi)存中創(chuàng)建狀態(tài)機(jī),連接所述事件存儲(chǔ)裝置。進(jìn)一步提高了內(nèi) 存數(shù)據(jù)的可靠性,不會(huì)被丟失了。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610154437.X/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(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)裝置





