本技術(shù)涉及存儲(chǔ),特別涉及一種存儲(chǔ)數(shù)據(jù)處理方法、系統(tǒng)及設(shè)備。
背景技術(shù):
1、在數(shù)據(jù)爆炸的時(shí)代,數(shù)據(jù)已經(jīng)成為重要的新型生產(chǎn)要素和資產(chǎn),十分重要;因此,如何實(shí)現(xiàn)對(duì)數(shù)據(jù)的安全保護(hù)逐漸成為重點(diǎn)技術(shù)。目前快照技術(shù)是使用范圍廣泛的一種用于數(shù)據(jù)保護(hù)和數(shù)據(jù)備份的技術(shù),基于時(shí)間點(diǎn)進(jìn)行數(shù)據(jù)保護(hù)和備份。通常情況下,存儲(chǔ)設(shè)備在接收到數(shù)據(jù)后,為了盡快響應(yīng)主機(jī),先置于緩存中,然后存儲(chǔ)軟件后天逐漸將緩存中的數(shù)據(jù)寫到具體的盤上。
2、現(xiàn)有方案通常是等待舊數(shù)據(jù)下刷到存儲(chǔ)盤上后,再將新的需要存儲(chǔ)的數(shù)據(jù)壓入緩存,即現(xiàn)有的緩存中只能緩存一份相同邏輯地址的數(shù)據(jù);現(xiàn)有技術(shù)存在數(shù)據(jù)處理效率低的問題。
3、因此亟需一種提高處理效率的存儲(chǔ)數(shù)據(jù)處理方法以解決上述技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述技術(shù)問題,提供一種存儲(chǔ)數(shù)據(jù)處理方法、系統(tǒng)、設(shè)備及介質(zhì)。
2、第一方面,本技術(shù)提供一種存儲(chǔ)數(shù)據(jù)處理方法,所述方法包括:
3、響應(yīng)于接收到數(shù)據(jù)寫請(qǐng)求,根據(jù)預(yù)設(shè)規(guī)則為所述數(shù)據(jù)寫請(qǐng)求添加有序標(biāo)識(shí);
4、解析所述數(shù)據(jù)寫請(qǐng)求以獲取待存儲(chǔ)數(shù)據(jù),并根據(jù)預(yù)設(shè)存儲(chǔ)規(guī)則存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù)至緩存中;
5、響應(yīng)于檢測(cè)到刷盤任務(wù)啟動(dòng),根據(jù)所述有序標(biāo)識(shí)查找最大邏輯地址范圍內(nèi)的目標(biāo)待寫入邏輯地址以及與所述目標(biāo)待寫入邏輯地址對(duì)應(yīng)的第一目標(biāo)數(shù)據(jù);
6、將所述第一目標(biāo)數(shù)據(jù)寫入與所述目標(biāo)待寫入邏輯地址對(duì)應(yīng)的硬盤上的物理地址。
7、在一些實(shí)施例中,所述解析所述數(shù)據(jù)寫請(qǐng)求以獲取待存儲(chǔ)數(shù)據(jù),并根據(jù)預(yù)設(shè)存儲(chǔ)規(guī)則存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù)至緩存中,包括:
8、解析所述數(shù)據(jù)寫請(qǐng)求以獲取與所述數(shù)據(jù)寫請(qǐng)求對(duì)應(yīng)的待寫入邏輯地址、數(shù)據(jù)長(zhǎng)度、待存儲(chǔ)數(shù)據(jù)以及有序標(biāo)識(shí);
9、根據(jù)獲取到的所述待寫入邏輯地址、數(shù)據(jù)長(zhǎng)度、待存儲(chǔ)數(shù)據(jù)以及有序標(biāo)識(shí)生成過渡存儲(chǔ)數(shù)據(jù);
10、以所述待寫入邏輯地址為索引,將所述過渡存儲(chǔ)數(shù)據(jù)存儲(chǔ)至所述緩存。
11、在一些實(shí)施例中,所述將所述第一目標(biāo)數(shù)據(jù)寫入匹配的所述目標(biāo)待寫入邏輯地址之前,所述方法包括:
12、響應(yīng)于檢測(cè)到所述第一目標(biāo)數(shù)據(jù)的粒度完整性缺失,確定所述第一目標(biāo)數(shù)據(jù)為待補(bǔ)充數(shù)據(jù);
13、獲取與所述待補(bǔ)充數(shù)據(jù)對(duì)應(yīng)的目標(biāo)待寫入邏輯地址上的最新映射元數(shù)據(jù),其中映射元數(shù)據(jù)包括邏輯地址與物理地址的映射關(guān)系;
14、根據(jù)所述最新映射元數(shù)據(jù),查詢與所述目標(biāo)待寫入邏輯地址匹配的物理地址上的已存儲(chǔ)數(shù)據(jù);
15、根據(jù)所述已存儲(chǔ)數(shù)據(jù)以及所述補(bǔ)充數(shù)據(jù)更新粒度完整性缺失的所述第一目標(biāo)數(shù)據(jù)。
16、在一些實(shí)施例中,所述方法還包括:
17、響應(yīng)于檢測(cè)到所述第一目標(biāo)數(shù)據(jù)寫入與所述目標(biāo)待寫入邏輯地址對(duì)應(yīng)的硬盤上的物理地址;
18、確定所述緩存中與所述目標(biāo)待寫入邏輯地址上的最新映射元數(shù)據(jù)的匹配第二目標(biāo)數(shù)據(jù);
19、清除所述緩存中與所述目標(biāo)待寫入邏輯地址匹配中除所述第二目標(biāo)數(shù)據(jù)之外的待存儲(chǔ)數(shù)據(jù)。
20、在一些實(shí)施例中,所述根據(jù)所述有序標(biāo)識(shí)查找最大邏輯地址范圍內(nèi)的目標(biāo)待寫入邏輯地址之后,所述方法還包括:
21、檢測(cè)與所述目標(biāo)待寫入邏輯地址的相鄰待寫入邏輯地址是否存在匹配的待存儲(chǔ)數(shù)據(jù);
22、若檢測(cè)到所述相鄰待寫入邏輯地址存在匹配的一個(gè)待存儲(chǔ)數(shù)據(jù),則定義所述相鄰待寫入邏輯地址為目標(biāo)待寫入邏輯地址,以及定義與所述相鄰待寫入邏輯地址匹配的待存儲(chǔ)數(shù)據(jù)為第一目標(biāo)數(shù)據(jù);
23、若檢測(cè)到所述相鄰待寫入邏輯地址存在匹配的多個(gè)待存儲(chǔ)數(shù)據(jù),則定義所述相鄰待寫入邏輯地址為目標(biāo)待寫入邏輯地址,以及獲取與所述相鄰待寫入邏輯地址匹配的多個(gè)待存儲(chǔ)數(shù)據(jù)中有序標(biāo)識(shí)最小的待存儲(chǔ)數(shù)據(jù),并將有序標(biāo)識(shí)最小的待存儲(chǔ)數(shù)據(jù)定義為第一目標(biāo)數(shù)據(jù)。
24、在一些實(shí)施例中,所述方法還包括:
25、響應(yīng)于接收到數(shù)據(jù)讀請(qǐng)求,獲取所述數(shù)據(jù)讀請(qǐng)求對(duì)應(yīng)的讀取邏輯地址;
26、檢測(cè)所述讀取邏輯地址是否包含在所述最大邏輯地址范圍內(nèi);
27、若所述讀取邏輯地址不包含在所述最大邏輯地址范圍內(nèi),則返回空并進(jìn)行異常告警;
28、若所述讀取邏輯地址包含在所述最大邏輯地址范圍內(nèi),則檢測(cè)所述緩存中與所述讀取邏輯地址相同的待寫入邏輯地址是否對(duì)應(yīng)存儲(chǔ)有第二目標(biāo)數(shù)據(jù);
29、若所述讀取邏輯地址相同的待寫入邏輯地址對(duì)應(yīng)存儲(chǔ)有第二目標(biāo)數(shù)據(jù),則讀取并反饋所述第二目標(biāo)數(shù)據(jù);
30、若所述讀取邏輯地址相同的待寫入邏輯地址未存儲(chǔ)有第二目標(biāo)數(shù)據(jù),則獲取與所述讀取邏輯地址匹配的最新映射元數(shù)據(jù);
31、根據(jù)所述最新映射元數(shù)據(jù),查詢與所述讀取邏輯地址匹配的物理地址上的已存儲(chǔ)數(shù)據(jù)并反饋。
32、在一些實(shí)施例中,所述響應(yīng)于接收到數(shù)據(jù)寫請(qǐng)求,根據(jù)預(yù)設(shè)規(guī)則為所述數(shù)據(jù)寫請(qǐng)求添加有序標(biāo)識(shí),包括:
33、響應(yīng)于接收到數(shù)據(jù)寫請(qǐng)求,檢測(cè)是否存在快照;
34、若未檢測(cè)到快照,則為所述數(shù)據(jù)寫請(qǐng)求添加第一有序標(biāo)識(shí);
35、若檢測(cè)到快照,則根據(jù)當(dāng)前存在的快照個(gè)數(shù)為所述數(shù)據(jù)寫請(qǐng)求添加第二有序標(biāo)識(shí);
36、其中,第一有序標(biāo)識(shí)與第二有序標(biāo)識(shí)之間具有順序關(guān)系。
37、第二方面,本技術(shù)提供一種存儲(chǔ)數(shù)據(jù)處理系統(tǒng),所述系統(tǒng)包括:
38、預(yù)處理模塊,用于響應(yīng)于接收到數(shù)據(jù)寫請(qǐng)求,根據(jù)預(yù)設(shè)規(guī)則為所述數(shù)據(jù)寫請(qǐng)求添加有序標(biāo)識(shí);
39、緩存處理模塊,用于解析所述數(shù)據(jù)寫請(qǐng)求以獲取待存儲(chǔ)數(shù)據(jù),并根據(jù)預(yù)設(shè)存儲(chǔ)規(guī)則存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù)至緩存中;
40、數(shù)據(jù)處理模塊,用于響應(yīng)于檢測(cè)到刷盤任務(wù)啟動(dòng),根據(jù)所述有序標(biāo)識(shí)查找最大邏輯地址范圍內(nèi)的目標(biāo)待寫入邏輯地址以及與所述目標(biāo)待寫入邏輯地址對(duì)應(yīng)的第一目標(biāo)數(shù)據(jù);
41、數(shù)據(jù)寫入模塊,將所述第一目標(biāo)數(shù)據(jù)寫入與所述目標(biāo)待寫入邏輯地址對(duì)應(yīng)的硬盤上的物理地址。
42、第三方面,本技術(shù)提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如下方法的步驟:
43、響應(yīng)于接收到數(shù)據(jù)寫請(qǐng)求,根據(jù)預(yù)設(shè)規(guī)則為所述數(shù)據(jù)寫請(qǐng)求添加有序標(biāo)識(shí);
44、解析所述數(shù)據(jù)寫請(qǐng)求以獲取待存儲(chǔ)數(shù)據(jù),并根據(jù)預(yù)設(shè)存儲(chǔ)規(guī)則存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù)至緩存中;
45、響應(yīng)于檢測(cè)到刷盤任務(wù)啟動(dòng),根據(jù)所述有序標(biāo)識(shí)查找最大邏輯地址范圍內(nèi)的目標(biāo)待寫入邏輯地址以及與所述目標(biāo)待寫入邏輯地址對(duì)應(yīng)的第一目標(biāo)數(shù)據(jù);
46、將所述第一目標(biāo)數(shù)據(jù)寫入與所述目標(biāo)待寫入邏輯地址對(duì)應(yīng)的硬盤上的物理地址。
47、第四方面,本技術(shù)提供了一種電子設(shè)備,電子設(shè)備包括:
48、一個(gè)或多個(gè)處理器;
49、以及與一個(gè)或多個(gè)處理器關(guān)聯(lián)的存儲(chǔ)器,存儲(chǔ)器用于存儲(chǔ)程序指令,程序指令在被一個(gè)或多個(gè)處理器讀取執(zhí)行時(shí),執(zhí)行如下操作:
50、響應(yīng)于接收到數(shù)據(jù)寫請(qǐng)求,根據(jù)預(yù)設(shè)規(guī)則為所述數(shù)據(jù)寫請(qǐng)求添加有序標(biāo)識(shí);
51、解析所述數(shù)據(jù)寫請(qǐng)求以獲取待存儲(chǔ)數(shù)據(jù),并根據(jù)預(yù)設(shè)存儲(chǔ)規(guī)則存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù)至緩存中;
52、響應(yīng)于檢測(cè)到刷盤任務(wù)啟動(dòng),根據(jù)所述有序標(biāo)識(shí)查找最大邏輯地址范圍內(nèi)的目標(biāo)待寫入邏輯地址以及與所述目標(biāo)待寫入邏輯地址對(duì)應(yīng)的第一目標(biāo)數(shù)據(jù);
53、將所述第一目標(biāo)數(shù)據(jù)寫入與所述目標(biāo)待寫入邏輯地址對(duì)應(yīng)的硬盤上的物理地址。
54、第五方面,本技術(shù)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),存儲(chǔ)介質(zhì)上存儲(chǔ)計(jì)算機(jī)程序,計(jì)算機(jī)程序使得計(jì)算機(jī)執(zhí)行如下操作:
55、響應(yīng)于接收到數(shù)據(jù)寫請(qǐng)求,根據(jù)預(yù)設(shè)規(guī)則為所述數(shù)據(jù)寫請(qǐng)求添加有序標(biāo)識(shí);
56、解析所述數(shù)據(jù)寫請(qǐng)求以獲取待存儲(chǔ)數(shù)據(jù),并根據(jù)預(yù)設(shè)存儲(chǔ)規(guī)則存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù)至緩存中;
57、響應(yīng)于檢測(cè)到刷盤任務(wù)啟動(dòng),根據(jù)所述有序標(biāo)識(shí)查找最大邏輯地址范圍內(nèi)的目標(biāo)待寫入邏輯地址以及與所述目標(biāo)待寫入邏輯地址對(duì)應(yīng)的第一目標(biāo)數(shù)據(jù);
58、將所述第一目標(biāo)數(shù)據(jù)寫入與所述目標(biāo)待寫入邏輯地址對(duì)應(yīng)的硬盤上的物理地址。
59、本技術(shù)實(shí)現(xiàn)的有益效果為:
60、本技術(shù)提供了一種存儲(chǔ)數(shù)據(jù)處理方法,包括響應(yīng)于接收到數(shù)據(jù)寫請(qǐng)求,根據(jù)預(yù)設(shè)規(guī)則為所述數(shù)據(jù)寫請(qǐng)求添加有序標(biāo)識(shí);解析所述數(shù)據(jù)寫請(qǐng)求以獲取待存儲(chǔ)數(shù)據(jù),并根據(jù)預(yù)設(shè)存儲(chǔ)規(guī)則存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù)至緩存中;響應(yīng)于檢測(cè)到刷盤任務(wù)啟動(dòng),根據(jù)所述有序標(biāo)識(shí)查找最大邏輯地址范圍內(nèi)的目標(biāo)待寫入邏輯地址以及與所述目標(biāo)待寫入邏輯地址對(duì)應(yīng)的第一目標(biāo)數(shù)據(jù);將所述第一目標(biāo)數(shù)據(jù)寫入與所述目標(biāo)待寫入邏輯地址對(duì)應(yīng)的硬盤上的物理地址??稍诰彺鎯?nèi)可以保存同一個(gè)待寫入邏輯地址的多份待存儲(chǔ)數(shù)據(jù),無需有串行等待的處理,可提高業(yè)務(wù)處理效率;同時(shí)在淘汰刷盤完成的數(shù)據(jù)時(shí)優(yōu)先釋放映射元數(shù)據(jù)對(duì)應(yīng)的產(chǎn)生時(shí)間最小的數(shù)據(jù),可保證讀取數(shù)據(jù)時(shí)如果在緩存中命中,則就是最新的數(shù)據(jù),而無需再查詢是否有更大時(shí)間序列值的映射元數(shù)據(jù)及其數(shù)據(jù),可提高數(shù)據(jù)讀取的效率。