遠程容災技術中一種數(shù)據(jù)捕獲方法的設計的制作方法
【專利摘要】本發(fā)明提供一種遠程容災技術中一種數(shù)據(jù)捕獲方法的設計,該方法系統(tǒng)內核管理模塊在通用塊設備層之下進行數(shù)據(jù)的捕獲,對每一個系統(tǒng)的寫操作請求進行處理,這個模塊是一個虛擬設備,能夠將I/O請求做捕獲處理,處理包括對捕獲的數(shù)據(jù)打下時間戳標記,記錄下那些操作的地址和寫操作的大小等元數(shù)據(jù)信息,然后將這些信息進行保存更新,然后再重定向到實際存儲設備完成實際的I/O操作,這個模塊相當于對所有的數(shù)據(jù)塊進行一個處理設備的指定。本發(fā)明和現(xiàn)有技術相比,通過將數(shù)據(jù)捕獲和數(shù)據(jù)傳輸相互分離以及采用內核態(tài)緩存和用戶態(tài)緩存的2級緩存方法,可以提高用戶的讀寫性能,降低存儲設備的開銷,保證容災方案的高效能和穩(wěn)定性。
【專利說明】遠程容災技術中一種數(shù)據(jù)捕獲方法的設計
【技術領域】
[0001]本發(fā)明涉及計算機應用【技術領域】,具體地說是一種遠程容災技術中一種數(shù)據(jù)捕獲方法的設計。
【背景技術】
[0002]在現(xiàn)階段的容災備份領域,遠程容災技術是數(shù)據(jù)保護的一個重要方法,遠程容災可以通過增量的方式實現(xiàn)數(shù)據(jù)保護,它的實現(xiàn)主要是通過捕獲或跟蹤數(shù)據(jù)的變化,同時將這些變化的數(shù)據(jù)放在獨立于生產(chǎn)數(shù)據(jù)之外的地方,這樣可以確保用戶的數(shù)據(jù)恢復到過去的任意時間點。本發(fā)明針對遠程容災保護中塊級數(shù)據(jù)的捕獲問題存在的問題進行分析研究,如何提高數(shù)據(jù)捕獲的效率成為本發(fā)明的切入點和實現(xiàn)點。
[0003]在現(xiàn)階段,針對遠程容災塊級數(shù)據(jù)保護的數(shù)據(jù)捕獲方法的實現(xiàn)過程中主要存在如下缺點:
1、傳統(tǒng)遠程容災實現(xiàn)數(shù)據(jù)的遠程容災方案需要通過iSCSI協(xié)議來實現(xiàn),這種方式的缺點是需要在客戶節(jié)點實現(xiàn)對遠程容災備份空間的管理,有一定復雜性;同時,他們采用的遠程數(shù)據(jù)傳輸和數(shù)據(jù)捕獲是同步執(zhí)行的,這就牽扯到數(shù)據(jù)的傳輸效率和性能問題,這種方式中的塊級數(shù)據(jù)遠程傳輸過程會影響存儲系統(tǒng)的性能;
2、傳統(tǒng)的遠程容災數(shù)據(jù)捕獲和傳輸都在內核空間內完成,由于用戶的網(wǎng)絡和存儲設備的情況都千變萬化的,這就會導致數(shù)據(jù)遠程傳輸會極大地影響內核的性能,同時內核空間中有限的地址空間是會限制緩存的大小,所以在高負荷I/O時會出現(xiàn)緩存不夠,導致系統(tǒng)內核崩潰的情況。
【發(fā)明內容】
[0004]本發(fā)明的目的是克服現(xiàn)有技術中存在的不足,提供一種遠程容災技術中一種數(shù)據(jù)捕獲方法的設計。
[0005]本發(fā)明的技術方案是按以下方式實現(xiàn)的,該方法中系統(tǒng)內核管理模塊在通用塊設備層之下進行數(shù)據(jù)的捕獲,對每一個系統(tǒng)的寫操作請求進行處理,這個模塊是一個虛擬設備,能夠將I/o請求做捕獲處理,處理包括對捕獲的數(shù)據(jù)打下時間戳標記,記錄下那些操作的地址和寫操作的大小等元數(shù)據(jù)信息,然后將這些信息進行保存更新,然后再重定向到實際存儲設備完成實際的I/o操作,這個模塊相當于對所有的數(shù)據(jù)塊進行一個處理設備的指定,這就降低了通用塊設備層的處理,降低了其繁忙性。這種方法也就是在通用塊設備層和物理設備的驅動程序中添加了一個虛擬設備的中間件;
緩存系統(tǒng)中,主要是用到了內核空間緩存模塊和用戶空間緩存模塊。在用戶空間緩存模塊中又設置了靜態(tài)緩存和動態(tài)緩存兩種級別的緩存機制,靜態(tài)緩存是在任務創(chuàng)建時分配的存儲空間,這個靜態(tài)緩存我們采用SSD硬盤作為緩存介質,這個緩存是保證任務正常運行的,是一個基本必選緩存,大小有用戶根據(jù)自己的業(yè)務情況進行選定和設置大小。動態(tài)緩存是在大量數(shù)據(jù)突發(fā)寫或者網(wǎng)絡速度降低導致靜態(tài)緩存不夠用時由系統(tǒng)動態(tài)分配的,而當系統(tǒng)空閑時,系統(tǒng)的管理模塊會自動回收未使用的動態(tài)緩存,在滿足系統(tǒng)需要的前提下節(jié)省內存資源。內核空間緩存模塊類似于寄存器,我們用它來暫存捕獲模塊捕獲的數(shù)據(jù),等待轉發(fā)到用戶緩存中,才會釋放這部分緩存空間。接受新的捕獲的數(shù)據(jù)。
[0006]本發(fā)明的優(yōu)點是:
本發(fā)明的遠程容災技術中一種數(shù)據(jù)捕獲方法的設計和現(xiàn)有技術相比,通過將數(shù)據(jù)捕獲和數(shù)據(jù)傳輸相互分離以及采用內核態(tài)緩存和用戶態(tài)緩存的2級緩存方法,可以提高用戶的讀寫性能,降低存儲設備的開銷,保證容災方案的高效能和穩(wěn)定性,而且本發(fā)明還具有設計合理、使用方便等特點,因而,具有很好的使用價值。
【專利附圖】
【附圖說明】
[0007]圖1為軟件架構實現(xiàn)結構圖。
[0008]圖2為數(shù)據(jù)捕獲、存儲、傳輸?shù)牧鞒虉D。
[0009]圖3為緩存機制的實現(xiàn)流程圖。
[0010]實施方式
下面結合附圖對本發(fā)明的遠程容災技術中一種數(shù)據(jù)捕獲方法的設計作以下詳細說明。
[0011]如圖1-3所示,本發(fā)明的遠程容災技術中一種數(shù)據(jù)捕獲方法的設計,該方法系統(tǒng)內核管理模塊在通用塊設備層之下進行數(shù)據(jù)的捕獲,對每一個系統(tǒng)的寫操作請求進行處理,這個模塊是一個虛擬設備,能夠將I/o請求做捕獲處理,處理包括對捕獲的數(shù)據(jù)打下時間戳標記,記錄下那些操作的地址和寫操作的大小等元數(shù)據(jù)信息,然后將這些信息進行保存更新,然后再重定向到實際存儲設備完成實際的I/o操作,這個模塊相當于對所有的數(shù)據(jù)塊進行一個處理設備的指定,這就降低了通用塊設備層的處理,降低了其繁忙性。這種方法也就是在通用塊設備層和物理設備的驅動程序中添加了一個虛擬設備的中間件;
緩存系統(tǒng)中,主要是用到了內核空間緩存模塊和用戶空間緩存模塊。在用戶空間緩存模塊中又設置了靜態(tài)緩存和動態(tài)緩存兩種級別的緩存機制,靜態(tài)緩存是在任務創(chuàng)建時分配的存儲空間,這個靜態(tài)緩存我們采用SSD硬盤作為緩存介質,這個緩存是保證任務正常運行的,是一個基本必選緩存,大小有用戶根據(jù)自己的業(yè)務情況進行選定和設置大小。動態(tài)緩存是在大量數(shù)據(jù)突發(fā)寫或者網(wǎng)絡速度降低導致靜態(tài)緩存不夠用時由系統(tǒng)動態(tài)分配的,而當系統(tǒng)空閑時,系統(tǒng)的管理模塊會自動回收未使用的動態(tài)緩存,在滿足系統(tǒng)需要的前提下節(jié)省內存資源。內核空間緩存模塊類似于寄存器,我們用它來暫存捕獲模塊捕獲的數(shù)據(jù),等待轉發(fā)到用戶緩存中,才會釋放這部分緩存空間。接受新的捕獲的數(shù)據(jù)。
[0012]本發(fā)明通過系統(tǒng)內核管理模塊在通用塊設備層之下進行數(shù)據(jù)的捕獲,對每一個系統(tǒng)的寫操作請求進行處理。在系統(tǒng)中注冊一個虛擬設備,將I/o請求做捕獲處理,這包括對捕獲的數(shù)據(jù)打下時間戳標記,記錄下些操作的地址和寫操作的大小等元數(shù)據(jù)信息,然后將這些信息進行保存更新,然后再重定向到實際存儲設備完成實際的I/o操作,這種方法也就是在通用塊設備層和物理設備的驅動程序中添加了一個虛擬設備的中間件。主要的數(shù)據(jù)捕獲步驟如下:
(I)用戶觸發(fā)寫操作,由通用塊層傳送給本專利中虛擬出來的I/o捕獲標記模塊,這個I/o捕獲標記模塊通過修改這個數(shù)據(jù)塊的成員屬性,將這個模塊的處理請求重定向給能處理該請求的設備; (2)重定向寫操作,在I/O捕獲標記模塊定義了一個回調函數(shù),它對上層傳下來的寫操作修改處理的設備的屬性后,將請求重定向到真實的物理設備,重新提交給通用塊設備層來處理;
(3)重定向寫操作,寫操作被通用塊設備層重定向給修改處理設備屬性值的的物理設備所對應的驅動程序進行處理;
(4)重定向后的磁盤驅動程序完成寫磁盤操作;
(5)重定向后的磁盤驅動程序向上層返回I/O成功與否的標志信息;
(6)如果步驟5報告成功,則將寫操作的數(shù)據(jù)塊進行捕獲,并加上元數(shù)據(jù)進行數(shù)據(jù)塊的組合;
(7)將組合后的數(shù)據(jù)塊傳輸?shù)竭h程服務器進行保存,用于以后數(shù)據(jù)的恢復,失敗則跳過。
[0013]在本系統(tǒng)的緩存系統(tǒng)中,主要是用到了內核空間緩存模塊和用戶空間緩存模塊。在用戶空間緩存模塊中又設置了靜態(tài)緩存和動態(tài)緩存兩種級別的緩存機制,靜態(tài)緩存是在任務創(chuàng)建時分配的存儲空間,這個靜態(tài)緩存我們采用SSD硬盤作為緩存介質,這個緩存是保證任務正常運行的,是一個基本必選緩存,大小有用戶根據(jù)自己的業(yè)務情況進行選定和設置大小。動態(tài)緩存是在大量數(shù)據(jù)突發(fā)寫或者網(wǎng)絡速度降低導致靜態(tài)緩存不夠用時由系統(tǒng)動態(tài)分配的,而當系統(tǒng)空閑時,系統(tǒng)的管理模塊會自動回收未使用的動態(tài)緩存,在滿足系統(tǒng)需要的前提下節(jié)省內存資源。內核空間緩存模塊類似于寄存器,我們用它來暫存捕獲模塊捕獲的數(shù)據(jù),等待轉發(fā)到用戶緩存中,才會釋放這部分緩存空間。接受新的捕獲的數(shù)據(jù)。
[0014]在本系統(tǒng)中,內核空間與用戶空間之間數(shù)據(jù)交互分成兩部分,一部分是控制信息,對于這部分的信息本發(fā)明使用netlink進行雙向傳輸,達到兩個空間內管理模塊的快速交互;另一部分是數(shù)據(jù)信息,這部分在主要是內核空間到用戶空間的數(shù)據(jù)拷貝。對于這部分信息本發(fā)明中采用_ap內存映射機制結合memcpy數(shù)據(jù)拷貝方式來實現(xiàn)內核空間和用戶空間緩存之間的數(shù)據(jù)拷貝。
[0015]本發(fā)明的遠程容災技術中一種數(shù)據(jù)捕獲方法的設計其加工制作非常簡單方便,按照說明書附圖所示即可加工。
[0016]除說明書所述的技術特征外,均為本專業(yè)技術人員的已知技術。
【權利要求】
1.遠程容災技術中一種數(shù)據(jù)捕獲方法的設計,其特征在于系統(tǒng)內核管理模塊在通用塊設備層之下進行數(shù)據(jù)的捕獲,對每一個系統(tǒng)的寫操作請求進行處理,這個模塊是一個虛擬設備,能夠將I/o請求做捕獲處理,處理包括對捕獲的數(shù)據(jù)打下時間戳標記,記錄下那些操作的地址和寫操作的大小等元數(shù)據(jù)信息,然后將這些信息進行保存更新,然后再重定向到實際存儲設備完成實際的I/o操作,這個模塊相當于對所有的數(shù)據(jù)塊進行一個處理設備的指定,這就降低了通用塊設備層的處理,降低了其繁忙性;這種方法也就是在通用塊設備層和物理設備的驅動程序中添加了 一個虛擬設備的中間件; 緩存系統(tǒng)中,主要是用到了內核空間緩存模塊和用戶空間緩存模塊;在用戶空間緩存模塊中又設置了靜態(tài)緩存和動態(tài)緩存兩種級別的緩存機制,靜態(tài)緩存是在任務創(chuàng)建時分配的存儲空間,這個靜態(tài)緩存我們采用SSD硬盤作為緩存介質,這個緩存是保證任務正常運行的,是一個基本必選緩存,大小有用戶根據(jù)自己的業(yè)務情況進行選定和設置大?。粍討B(tài)緩存是在大量數(shù)據(jù)突發(fā)寫或者網(wǎng)絡速度降低導致靜態(tài)緩存不夠用時由系統(tǒng)動態(tài)分配的,而當系統(tǒng)空閑時,系統(tǒng)的管理模塊會自動回收未使用的動態(tài)緩存,在滿足系統(tǒng)需要的前提下節(jié)省內存資源;內核空間緩存模塊類似于寄存器,我們用它來暫存捕獲模塊捕獲的數(shù)據(jù),等待轉發(fā)到用戶緩存中,才會釋放這部分緩存空間;接受新的捕獲的數(shù)據(jù)。
【文檔編號】G06F3/06GK104317530SQ201410560603
【公開日】2015年1月28日 申請日期:2014年10月21日 優(yōu)先權日:2014年10月21日
【發(fā)明者】張硯波, 吳丙濤 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司