<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

數據遷移校正方法及系統與流程

文檔序號:11582051閱讀:574來源:國知局
數據遷移校正方法及系統與流程

本申請涉及數據遷移,特別涉及大型數據和特大型數據遷移和校正方法。



背景技術:

隨著大數據的時代的到來,企業各信息化系統不斷產生海量的數據,在對存儲基礎設施提出要求的同時,也對數據遷移技術及其實施提出高要求。另一方面,根據數據的形態及特點不同,通常可以將企業中的數據分為結構化數據和非結構化數據。結構化數據是指存儲在關系型數據庫中,可以用二維表結構來表達的數據類型,通常由各信息化系統產生,以文本格式存儲在關系數據庫中的數據;非結構化數據,是指與結構化數據相比,不方便采用二維表結構來表達的數據類型即稱為非結構化數據,可包括各種主流格式的辦公文檔、圖片、xml、html、各類報表、圖像和音頻,通常以文件的形式存儲。根據gather的調查報告,企業中非結構化數據占比超過80%。所以,針對非結構化數據的數據遷移是企業實施數據遷移的重要方面。

所謂數據遷移,是指一個依靠軟件支持的、從源程序將數據遷移到目標應用程序的過程,其核心包括三個環節,分別是:原數據清洗、數據轉換、數據完整性檢測。作為數據遷移核心環節之一的原數據清洗環節主要負責將原數據中出現二義性性、重復、不完整、違反業務或邏輯規則等問題的數據進行相應的清洗操作,獲得符合業務規則的數據;數據轉換環節是將原數據結構(格式)轉換為目標數據結構(格式);而數據完整性檢測階段,是確保數據遷移完成后,數據仍然保持完整性,避免在遷移過程中造成數據損壞、丟失。在上述針對數據遷移的三個環節中,原數據清洗、數據轉換通常適用于結構化數據,對非結構化數據不適用;而但數據遷移過程的完整性檢測,則是實施非結構化數據遷移的重要保障,也是影響非結構化數據遷移性能、質量的重要方面。

數據完整性檢測,可以是避免數據遷移過程中數據丟失、數據損壞、數據語義改變、人為篡改等數據完整性遭到破壞的情況的手段發生,由于數據完整性遭到破壞會給整個數據遷移項目帶著致命的危害,所以一直都是數據遷移實施的重點。現有的數據遷移完整性檢測方法,存在性能較低或完整性檢測不完備等情況。

現有數據遷移校正方法由于遷移前后文件位于不同的服務器或存儲,無法再對兩個文件進行逐一比對。所以,在實際數據遷移應用中,通常為:通過采用比對原文件和遷移后的文件大小是否一致,判斷遷移是否是完整的,如圖1所示,或通過比對原文件和遷移后的文件的crc或md5校驗值和遷移后的文件的crc或md5校驗值是否一致等方式,判斷遷移是否是完整的。

然而,比對原文件和遷移后的文件大小的方式不能完全保證數據丟失、數據損壞、數據語義改變、人為篡改等各類數據不完整情況的發生。以文件長度為例,即使文件大小相同,也有可能因為部分字節的錯位導致文件無法正常打開、使用。

同樣比對原文件的crc或md5校驗值和遷移后的文件的crc或md5校驗值等方式((即數據遷移過程包括3個過程:數據傳輸的過程、數據傳輸完成后計算遷移文件的md5值的過程和比對前后md5值是否相同的過程),導致數據遷移過程的耗時過長,遷移效率低,不適用于大規模的非結構化數據遷移項目。



技術實現要素:

以下給出對一個或更多個方面的簡化概述以力圖提供對此類方面的基本理解。此概述不是所有構想到的方面的詳盡綜覽,并且既非旨在指認出所有方面的關鍵性或決定性要素亦非試圖界定任何或所有方面的范圍。其唯一的目的是要以簡化形式給出一個或更多個方面的一些概念以作為稍后給出的更加具體的說明之序。

本申請提出數據遷移校正方法及系統,能夠兼顧完整性比較及執行效率兩方面的因素,從而適用于大規模非結構化數據遷移過程中。解決大數據遷移校驗效率耗時長的問題。

其中數據遷移校正方法,應用于具有控制器的系統中,控制器連接源數據服務器、目標數據服務器,

源數據服務器存儲有遷出文件,目標數據服務器具有未使用的存儲空間,用于存放遷出文件;按源數據服務器的處理器核的個數的整數倍,將遷出文件劃分為多個數據塊,源數據服務器計算獲得每個數據塊分別對應的數字摘要a;

將數據摘要a保存于控制器中;并將遷出文件發送至目標數據服務器;

在目標數據服務器中,在遷出文件轉移的過程中平行計算經過數據遷移后的遷出文件中的數據塊的數據摘要b;

比較數據摘要a和數據摘要b是否相同;

若該遷出文件的所有數據塊對應的數據摘要a和數據摘要b都相同,則該遷出文件遷移成功;若該遷出文件的任一的數據塊對應的數據摘要a和數據摘要b不相同則該遷出文件遷移失敗。

進一步,在步驟“按源數據服務器的處理器核的個數的整數倍,將遷出文件劃分為多個數據塊”之前,還包括步驟:判斷遷出文件的大小是否大于設定定值,若大于則執行按源數據服務器的處理器核的個數的整數倍,將遷出文件劃分為多個數據塊的步驟,若小于等于,則計算遷出文件的數字摘要a;并將遷出文件發送至目標數據服務器,在目標數據服務器中,在遷出文件轉移的過程中計算經過數據遷移后的遷出文件的數據摘要b;比較數據摘要a和數據摘要b是否相同;

若該遷出文件對應的數據摘要a和數據摘要b都相同,則該遷出文件遷移成功;若該遷出文件對應的數據摘要a和數據摘要b不相同則該遷出文件遷移失敗。

進一步,所述步驟“獲得每個數據塊分別對應的數字摘要a”為分別獲得每個數據塊分別對應的md5值;

所述步驟“計算經過數據遷移后的數據塊的數據摘要b”為并行計算經過數據遷移后的各數據塊的md5值。

進一步,所述步驟“獲得每個數據塊分別對應的數字摘要a”為:

根據源數據服務器的處理器核的數量產生相應倍數的線程;

每個線程對應計算該遷出文件的一或多個的數據塊;

每個線程每次順序的從對應數據塊中讀取設定長度的數據,并計算該次讀取數據對應的md5值;將某一數據塊對應的所有md5值進行順序合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該數據塊的數據摘要a;

所述步驟“計算經過數據遷移后的數據塊的數據摘要b”為:

根據源數據服務器的處理器核的數量產生相應倍數的線程;

每個線程對應計算經過數據遷移后的一或多個的數據塊;

每個線程每次順序的從對應數據塊中讀取設定長度的數據,并計算該次讀取數據對應的md5值;將某一數據塊對應的所有md5值進行順序合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該數據塊的數據摘要b。

本文提供另一種數據遷移校正方法,應用于具有控制器的系統中,控制器連接源數據服務器、目標數據服務器。

源數據服務器存儲有遷出文件,目標數據服務器為具有未使用的存儲空間,用于存放遷出文件;

在源數據服務器中,按源數據服務器的處理器核的個數的整數倍,將遷出文件平均劃分為多個數據塊;根據源數據服務器的處理器核的數量產生相應倍數的線程;每個線程對應計算經過數據遷移后的一或多個的數據塊,該計算為計算數據塊的md5值;將每個數據塊對應的md5值按數據塊的存儲順序進行合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該遷出文件的數據摘要a;

將數據摘要a保存于控制器中;并將遷出文件發送至目標數據服務器;

在目標數據服務器中;根據源數據服務器的處理器核的數量產生相應倍數的線程;每個線程對應計算經過數據遷移后的一或多個的數據塊,該計算在接收完數據塊時開始,該計算為計算數據塊的md5值;將每個數據塊對應的md5值按數據塊的存儲順序進行合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該遷出文件的數據摘要b;

比較數據摘要a和數據摘要b是否相同;

若該遷出文件的數據摘要a和數據摘要b都相同,則該遷出文件遷移成功;若數據摘要a和數據摘要b不相同則該遷出文件遷移失敗。

本文還提供一種用于數據遷移校正的系統,包括源數據存儲模塊、源數據遷移模塊、控制器、目標數據遷移模塊、目標數據存儲模塊;

源數據存儲模塊用于存儲遷出文件;目標數據存儲模塊未使用的存儲空間,用于存放遷出文件;

源數據遷移模塊用于按源數據服務器的處理器核的個數的整數倍,將遷出文件劃分為多個數據塊,源數據服務器計算獲得每個數據塊分別對應的數字摘要a;將數據摘要a發送至控制器中;

目標數據遷移模塊用于在遷出文件轉移的過程中平行計算經過數據遷移后的遷出文件中的數據塊的數據摘要b;

控制器用于存儲數字摘要a;并比較數據摘要a和數據摘要b是否相同;

若該遷出文件的所有數據塊對應的數據摘要a和數據摘要b都相同,則該遷出文件遷移成功;若該遷出文件的任一的數據塊對應的數據摘要a和數據摘要b不相同則該遷出文件遷移失敗。

進一步,源數據遷移模塊還用于判斷遷出文件的大小是否大于設定定值,若大于則執行按源數據服務器的處理器核的個數的整數倍,將遷出文件劃分為多個數據塊的步驟,若小于等于,則計算遷出文件的數字摘要a;并將遷出文件發送至目標數據服務器,在目標數據服務器中,在遷出文件轉移的過程中計算經過數據遷移后的遷出文件的數據摘要b;比較數據摘要a和數據摘要b是否相同;

若該遷出文件對應的數據摘要a和數據摘要b都相同,則該遷出文件遷移成功;若該遷出文件對應的數據摘要a和數據摘要b不相同則該遷出文件遷移失敗。

進一步,源數據存儲模塊用于根據源數據服務器的cpu處理器核的數量生產產生相應倍數的線程;每個線程對應計算該遷出文件的一或多個的數據塊;每個線程每次順序的從對應數據塊中讀取設定長度的數據,并計算該次讀取數據對應的md5值;將某一數據塊對應的所有md5值進行順序合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該數據塊的數據摘要a;

目標數據遷移模塊用于根據源數據服務器的處理器核的數量產生相應倍數的線程;每個線程對應計算經過數據遷移后的一或多個的數據塊;每個線程每次順序的從對應數據塊中讀取設定長度的數據,并計算該次讀取數據對應的md5值;將某一數據塊對應的所有md5值進行順序合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該數據塊的數據摘要b。

本文還提供另一種用于數據遷移校正的系統,包括源數據存儲模塊、源數據遷移模塊、控制器、目標數據遷移模塊、目標數據存儲模塊;

源數據存儲模塊用于存儲遷出文件;目標數據存儲模塊具有未使用的存儲空間,用于存放遷出文件;

源數據遷移模塊用于按源數據服務器的處理器核的個數的整數倍,將遷出文件平均劃分為多個數據塊;根據源數據服務器的處理器核的數量產生相應倍數的線程;每個線程對應計算經過數據遷移后的一或多個的數據塊,該計算為計算數據塊的md5值;將每個數據塊對應的md5值按數據塊的存儲順序進行合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該遷出文件的數據摘要a;發送數據摘要a至控制器中;

目標數據遷移模塊根據源數據服務器的處理器核的數量產生相應倍數的線程;每個線程對應計算經過數據遷移后的一或多個的數據塊,該計算在接收完數據塊時開始,該計算為計算數據塊的md5值;將每個數據塊對應的md5值按數據塊的存儲順序進行合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該遷出文件的數據摘要b;控制器用于接收數據摘要a;比較數據摘要a和數據摘要b是否相同;

若該遷出文件的數據摘要a和數據摘要b都相同,則該遷出文件遷移成功;若數據摘要a和數據摘要b不相同則該遷出文件遷移失敗。

本申請的技術方案中,將網絡數據發送至目標數據服務器和在目標數據服務器中的數據校驗是平行進行的,從而極大的縮短了文件遷移和校驗一起執行時耗費的時間。

為能達成前述及相關目的,這一個或更多個方面包括在下文中充分描述并在所附權利要求中特別指出的特征。以下描述和附圖詳細闡述了這一個或更多個方面的某些說明性特征。但是,這些特征僅僅是指示了可采用各種方面的原理的各種方式中的若干種,并且本描述旨在涵蓋所有此類方面及其等效方面。

附圖說明

以下將結合附圖來描述所公開的方面,提供附圖是為了說明而非限定所公開的方面,附圖中相似的標號標示相似要素,并且在其中:

圖1為背景技術所述一種數據遷移的校驗方法;

圖2為本申請數據摘要的一種計算方式;

圖3為本申請所述數據遷移校驗方法和系統結構圖。

具體實施方式

為詳細說明技術方案的技術內容、構造特征、所實現目的及效果,以下結合具體實施例并配合附圖詳予說明。在以下描述中,出于解釋目的闡述了眾多的具體細節以提供對一個或更多個方面的透徹理解。但是顯而易見的是,沒有這些具體細節也可實踐此類方面。

本申請提出數據遷移校正方法和系統,在兼顧完整性比較及執行效率兩方面的因素,從而適用于大規模非結構化數據遷移過程中,解決大數據遷移校驗效率耗時長的問題。

本文中所指的非結構化數據,指的是以二進制存儲于存儲器中的數據,例如加密后的數據庫、視頻、音頻、圖片、圖像、文檔、文本等形式;在具體的實施例中,可以是醫療影像系統、教育視頻點播、視頻監控、國土gis、設計院、文件服務器(pdm/ftp)、媒體資源管理等具體應用中涉及的數據,這些行業對于存儲需求包括數據存儲、數據備份以及數據共享等。

而本文中所指的大數據,指遷移數據在1t以上,且大多數單個遷移文件的大小在1g以上。

本申請中提供的數據遷移方法,應用于具有控制器的系統中,控制器連接源數據服務器、目標數據服務器,即在數據遷移或備份過程中。其方法包括如下步驟(參照圖3):

源數據服務器存儲有遷出文件,目標數據服務器具有未使用的存儲空間,用于存放遷出文件;

在源數據服務器中:

s101按源數據服務器的處理器核的個數的整數倍,將遷出文件劃分為多個數據塊,按數據塊讀取遷出文件;

s102源數據服務器計算,獲得每個數據塊分別對應的數字摘要a,

s103將數據摘要a保存于控制器中;

s104并將遷出文件發送至目標數據服務器;

在目標數據服務器中:

s105接收遷出文件并存儲于目標服務器中,

s106根據遷出文件的數據塊劃分,讀取數據塊,

s107在遷出文件轉移的過程中平行計算經過數據遷移后的數據塊的數據摘要b;

在控制器中:

s108比較數據摘要a和數據摘要b是否相同;

若相同則遷移成功,若不相同則遷移失敗。

參考如下具體實施例,理解上述技術方案:

源數據服務器中的某一大文件為待遷出文件,按源數據服務器的cpu核心的數量(如16核cpu對應16個線程)將該文件平均劃分為相應數量的數據塊,本文中的劃分,并非物理上的劃分,而是相對于文件讀取時的劃分,即每個線程具有讀指針,讀指針分別指向對應數據塊的起始位置,各線程分別的并行讀取數據。可以理解的是,數據摘要a的計算可以是在數據遷移之前的任何時候進行。原則上,每個線程計算對應數據塊的數據摘要值。將在源數據服務器中數據摘要值,存儲于控制器中。

本文中的控制器,可以是源數據服務器,也可以是目標數據服務器,也可以是區別于源數據服務器和目標數據服務器的電子設備,該電子設備具有處理器和存儲器。

源數據服務器將待遷出文件發送至目標數據服務器,在數據塊遷移成功后計算目標數據服務器中的數據摘要。在目標服務器中計算數據摘要的方式為,將接收后的文件按源數據服務器的cpu核心的數量平均劃分為相應數量的數據塊,分別并行計算這些數據塊的數據摘要值;將這些目標服務器中計算出的數據摘要值分別與控制器中存儲的數據摘要值做比較;例如將目標服務器中計算出的數據摘要值b與控制器中存儲的數據摘要值a做比較,數據摘要b和數據摘要a對應同一數據塊,即數據摘要b為遷移后該數據塊的數據摘要值,數據摘要a為遷移前該數據塊的數據摘要值。若這些數據摘要值均相等,則數據遷移成功,若數據摘要值不相等,則遷移失敗。

從上述實施例和上述步驟描述中可知,步驟s104數據從源數據服務器遷出到目標數據服務器和步驟s102源數據服務器并行計算,獲得每個數據塊分別對應的數字摘要a,是可以平行實施的;即步驟s101->s102->s103與步驟s104是不需要順序進行的;步驟s104與步驟s107->s108也是可以平行實施的。對于現有技術,本申請的技術方案中,將網絡數據發送和數據校驗平行進行(即以數據塊為單位,數據塊到達目標數據服務器時,即刻計算該數據塊的數據摘要),從而極大的縮短了整個項目遷移所耗費的時間。另外步驟s102和步驟s107的處理過程為并行處理,其極大的縮短了數據摘要的計算時間(在多核cpu的情況下,數字摘要的計算效率可以得到接近線性的提升),從而在整體上將數據校驗的所耗費的時間控制在網絡數據發送所耗費的時間之內,從而不會造成遷移任務堆積。

以典型的數據遷移環境為例,網絡為千兆以太網,存儲為san存儲(文件順序讀性能約為250mb/s),源數據服務器和目標數據服務器為目前主流服務器(intel至強e5-2600v38核cpu,16gb內存),遷移1gb的文件。那么:

數據傳輸流程花費時間為:步驟s101耗費時間4秒,步驟s105耗費時間為4秒,步驟s104網絡傳輸耗費時間=1000mb*8/1000=8秒。數據遷移流程總共為16秒。

數據校驗流程耗費時間為:步驟s103、s108耗費時間可以忽略不計。步驟s102、s107各耗費3.5秒。步驟s106耗時4秒。數據校驗流程總耗時為3.5+3.5+4=11秒。

即本申請的數據遷移的時間約為16秒多一點。

在現有技術中上述文件遷移耗時為(數據讀取4s+摘要計算33.5s)+數據傳輸8s+(數據存儲4s+數據讀取4s+摘要計算3.5)=27秒。而本申請的技術方案里,在一個連續的數據遷移過程中,數據遷移耗時約等于數據傳輸流程的耗時。

優選的,在步驟“按源數據服務器的處理器核的個數的整數倍,將遷出文件劃分為多個數據塊”之前,還包括步驟:判斷遷出文件的大小是否大于設定定值,若大于則執行按源數據服務器的處理器核的個數的整數倍,將遷出文件劃分為多個數據塊的步驟,若小于等于,則計算遷出文件的數字摘要a;并將遷出文件發送至目標數據服務器,在目標數據服務器中,在遷出文件轉移的過程中計算經過數據遷移后的遷出文件的數據摘要b;比較數據摘要a和數據摘要b是否相同;

若該遷出文件對應的數據摘要a和數據摘要b都相同,則該遷出文件遷移成功;若該遷出文件對應的數據摘要a和數據摘要b不相同則該遷出文件遷移失敗。

在優選的實施例中,數據摘要指md5值,即所述步驟“源數據服務器計算獲得每個數據塊分別對應的數字摘要a”為分別獲得每個數據塊分別對應的md5值;

所述步驟“計算經過數據遷移后的數據塊的數據摘要b”為分別并行計算經過數據遷移后的各數據塊的md5值。

為了進一步檢索計算數據摘要時的內存占用,優選的實施例中,將所述步驟“源數據服務器計算獲得每個數據塊分別對應的數字摘要a”實施為:

根據源數據服務器的cpu的數量產生相應倍數的線程;

每個線程對應計算該遷出文件的一或多個的數據塊;

每個線程每次順序的從對應數據塊中讀取設定長度的數據,并計算該次讀取數據對應的md5值;將某一數據塊對應的所有md5值進行順序合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該數據塊的md5值。

將所述步驟“計算經過數據遷移后的數據塊的數據摘要b”實施為與上述計算數字摘要a對應的步驟。上述方法在具體實施例中可以是:在計算大文件的數字摘要時,首先通過并行化的程序(多線程)分別連續讀取固定長度為1mb的文件塊(1mb的文件塊即上述所述的設定長度的數據,多個順序排列的文件塊組成數據塊),其中線程數取等于cpu核心的數量(如16核cpu對應16個線程)。而后,每個線程都分別計算所讀取的文件塊的md5值。所以每一個文件塊對應的數字摘要長度均為128bit;最后,將所有文件塊的數字摘要本身進行順序合并,對合并后的數據再用md5算法計算數字摘要,獲得該數據塊的最終128bit數字摘要。

根據遷移完整性檢測的需求,嚴格的完整性比較,需要確保文件有任何變動(包括內容、順序、長度,等)都會導致最終的數字摘要發生變化。由于本方法計算數據塊仍采用成熟的md5算法,可以針對每一個數據塊達成該目標,當任何一個數據塊發生變動,會導致本數據塊的數字摘要結果發生變化,即本申請中的技術方案滿足嚴格完整性檢查的需求。

本申請的另一種數據遷移校正方法的實施方式如下:

源數據服務器存儲有遷出文件,目標數據服務器為具有未使用的存儲空間,用于存放遷出文件;

在源數據服務器中,按源數據服務器的處理器核的個數的整數倍,將遷出文件平均劃分為多個數據塊;根據源數據服務器的處理器核的數量產生相應倍數的線程;每個線程對應計算經過數據遷移后的一或多個的數據塊(對應圖2步驟s201、s202等),該計算為計算數據塊的md5值(對應圖2步驟s211、s212等);將每個數據塊對應的md5值按數據塊的存儲順序進行合并(對應圖2步驟s222等),合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該遷出文件的數據摘要a;數據摘要a的計算步驟可參照圖2。

將數據摘要a保存于控制器中;并將遷出文件發送至目標數據服務器;

在目標數據服務器中,根據源數據服務器對遷出文件的劃分方式將獲得的遷出文件劃分為多個數據塊;根據源數據服務器的處理器核的數量產生相應倍數的線程;每個線程對應計算經過數據遷移后的一或多個的數據塊,該計算在接收完數據塊時開始,該計算為計算數據塊的md5值;將每個數據塊對應的md5值按數據塊的存儲順序進行合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該遷出文件的數據摘要b;

比較數據摘要a和數據摘要b是否相同;

若該遷出文件的數據摘要a和數據摘要b都相同,則該遷出文件遷移成功;若數據摘要a和數據摘要b不相同則該遷出文件遷移失敗。

本文還公開一種用于數據遷移校正的系統,包括源數據存儲模塊、源數據遷移模塊、控制器、目標數據遷移模塊、目標數據存儲模塊;

源數據存儲模塊用于存儲遷出文件;目標數據存儲模塊未使用的存儲空間,用于存放遷出文件;

源數據遷移模塊用于按源數據服務器的處理器核的個數的整數倍,將遷出文件劃分為多個數據塊,源數據服務器計算,獲得每個數據塊分別對應的數字摘要a;將數據摘要a發送至控制器中;

目標數據遷移模塊用于在遷出文件轉移的過程中平行計算經過數據遷移后的遷出文件中的數據塊的數據摘要b;

控制器用于存儲數字摘要a;并比較數據摘要a和數據摘要b是否相同;

若該遷出文件的所有數據塊對應的數據摘要a和數據摘要b都相同,則該遷出文件遷移成功;若該遷出文件的任一的數據塊對應的數據摘要a和數據摘要b不相同則該遷出文件遷移失敗。

優選的,源數據遷移模塊還用于判斷遷出文件的大小是否大于設定定值,若大于則執行按源數據服務器的處理器核的個數的整數倍,將遷出文件劃分為多個數據塊的步驟,若小于等于,則計算遷出文件的數字摘要a;并將遷出文件發送至目標數據服務器,在目標數據服務器中,在遷出文件轉移的過程中計算經過數據遷移后的遷出文件的數據摘要b;比較數據摘要a和數據摘要b是否相同;

若該遷出文件對應的數據摘要a和數據摘要b都相同,則該遷出文件遷移成功;若該遷出文件對應的數據摘要a和數據摘要b不相同則該遷出文件遷移失敗。

優選的,源數據存儲模塊用于根據源數據服務器的cpu處理器核的數量生產產生相應倍數的線程;每個線程對應計算該遷出文件的一或多個的數據塊;每個線程每次順序的從對應數據塊中讀取設定長度的數據,并計算該次讀取數據對應的md5值;將某一數據塊對應的所有md5值進行順序合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該數據塊的數據摘要a;

目標數據遷移模塊用于根據源數據服務器的處理器核的數量產生相應倍數的線程;每個線程對應計算經過數據遷移后的一或多個的數據塊;每個線程每次順序的從對應數據塊中讀取設定長度的數據,并計算該次讀取數據對應的md5值;將某一數據塊對應的所有md5值進行順序合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該數據塊的數據摘要b。

本文的另一種數據遷移校正的系統中包括源數據存儲模塊、源數據遷移模塊、控制器、目標數據遷移模塊、目標數據存儲模塊;

源數據存儲模塊用于存儲遷出文件;目標數據存儲模塊未使用的存儲空間,用于存放遷出文件;

源數據遷移模塊用于按源數據服務器的處理器核的個數的整數倍,將遷出文件平均劃分為多個數據塊;根據源數據服務器的處理器核的數量產生相應倍數的線程;每個線程對應計算經過數據遷移后的一或多個的數據塊,該計算為計算數據塊的md5值;將每個數據塊對應的md5值按數據塊的存儲順序進行合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該遷出文件的數據摘要a;發送數據摘要a至控制器中。

目標數據遷移模塊根據源數據服務器的處理器核的數量產生相應倍數的線程;每個線程對應計算經過數據遷移后的一或多個的數據塊,該計算在接收完數據塊時開始,該計算為計算數據塊的md5值;將每個數據塊對應的md5值按數據塊的存儲順序進行合并,合并后得到一拼接數據,計算該拼接數據的md5值,該md5值作為該遷出文件的數據摘要b;控制器用于接收數據摘要a;比較數據摘要a和數據摘要b是否相同;

若該遷出文件的數據摘要a和數據摘要b都相同,則該遷出文件遷移成功;若該遷出文件的任一的數據塊對應的數據摘要a和數據摘要b不相同則該遷出文件遷移失敗。

可以理解的是,本文的系統具有遷移管理用戶界面,和相應的數據庫用于完成觸發上述方法和管理系統中批量的大型的非結構化數據的遷移。

需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的要素。此外,在本文中,“大于”、“小于”、“超過”等理解為不包括本數;“以上”、“以下”、“以內”等理解為包括本數。

本領域內的技術人員應明白,上述各實施例可提供為方法、裝置、或計算機程序產品。這些實施例可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。上述各實施例涉及的方法中的全部或部分步驟可以通過程序來指令相關的硬件來完成,所述的程序可以存儲于計算機設備可讀取的存儲介質中,用于執行上述各實施例方法所述的全部或部分步驟。所述計算機設備,包括但不限于:個人計算機、服務器、通用計算機、專用計算機、網絡設備、嵌入式設備、可編程設備、智能移動終端、智能家居設備、穿戴式智能設備、車載智能設備等;所述的存儲介質,包括但不限于:ram、rom、磁碟、磁帶、光盤、閃存、u盤、移動硬盤、存儲卡、記憶棒、網絡服務器存儲、網絡云存儲等。

上述各實施例是參照根據實施例所述的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到計算機設備的處理器以產生一個機器,使得通過計算機設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機程序指令也可存儲在能引導計算機設備以特定方式工作的計算機設備可讀存儲器中,使得存儲在該計算機設備可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機程序指令也可裝載到計算機設備上,使得在計算機設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

盡管已經對上述各實施例進行了描述,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改,所以以上所述僅為本發明的實施例,并非因此限制本發明的專利保護范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍之內。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影