李瑞
摘 要:數(shù)據(jù)遷移目的是將原有應(yīng)用程序和數(shù)據(jù)庫(kù)系統(tǒng)架構(gòu),遷移到新系統(tǒng)架構(gòu)中,并進(jìn)行針對(duì)性的適配工作。為保證遷移過(guò)程中不對(duì)原有系統(tǒng)造成影響,數(shù)據(jù)遷移需在全新的系統(tǒng)環(huán)境中進(jìn)行。
關(guān)鍵詞:數(shù)據(jù)遷移;設(shè)計(jì);分析
數(shù)據(jù)遷移是將原有系統(tǒng)中的數(shù)據(jù),通過(guò)存儲(chǔ)設(shè)備(如光盤(pán)、磁帶、U盤(pán)等)或網(wǎng)絡(luò)系統(tǒng)移動(dòng)到新系統(tǒng)的存儲(chǔ)過(guò)程。被遷移數(shù)據(jù)一般是需要在以后任何時(shí)間內(nèi)可通過(guò)新系統(tǒng)進(jìn)行有效訪問(wèn)的文檔、圖像、數(shù)據(jù)庫(kù)等歷史數(shù)據(jù)。在數(shù)據(jù)遷移過(guò)程,要結(jié)合備份與遷移的雙重策略,并在遷移到新系統(tǒng)后,仍需要定期對(duì)數(shù)據(jù)進(jìn)行備份操作。
1、遷移數(shù)據(jù)的分析
為盡量規(guī)避數(shù)據(jù)遷移時(shí)的風(fēng)險(xiǎn),順利完成遷移,制定數(shù)據(jù)遷移方案時(shí)必須遵循一個(gè)統(tǒng)一的通用遷移規(guī)范。從全局角度考慮,給出系統(tǒng)遷移通用的策略、規(guī)范,制定遷移方案。
規(guī)范具體內(nèi)容包括遷移目標(biāo)、遷移范圍、遷移實(shí)施、遷移檢查、風(fēng)險(xiǎn)分析等方面。
在制定遷移方案時(shí),需要明確遷移范圍。什么數(shù)據(jù)需要我們完全遷移,什么數(shù)據(jù)需要我們部分遷移,什么數(shù)據(jù)不需要我們遷移,等等。
2、熟悉系統(tǒng)軟硬件平臺(tái)
為了更好了解系統(tǒng)間的兼容性,有效提高數(shù)據(jù)遷移效率,必須要了解現(xiàn)有系統(tǒng)的軟硬件平臺(tái)。比如說(shuō),熟悉主機(jī)系統(tǒng)技術(shù)參數(shù)配置情況、熟悉數(shù)據(jù)庫(kù)表結(jié)構(gòu)、熟悉操作系統(tǒng)及版本號(hào)、熟悉應(yīng)用服務(wù)器中間件等。
3、數(shù)據(jù)遷移措施的制定
數(shù)據(jù)遷移需要根據(jù)系統(tǒng)現(xiàn)實(shí)情況,制定不同的遷移措施。主要分為三種,一是通過(guò)專(zhuān)業(yè)工具進(jìn)行數(shù)據(jù)遷移、二是通過(guò)人工對(duì)數(shù)據(jù)的錄入進(jìn)行遷移、三是通過(guò)系統(tǒng)功能模塊進(jìn)行數(shù)據(jù)生成。
(1)專(zhuān)業(yè)工具進(jìn)行數(shù)據(jù)遷移。在新系統(tǒng)遷移前,使用數(shù)據(jù)遷移工具(或數(shù)據(jù)遷移程序)把原有系統(tǒng)中的歷史數(shù)據(jù)抽取、轉(zhuǎn)換,并掛載到新系統(tǒng)中去。采用此種遷移措施的必要條件是,原有數(shù)據(jù)不僅可以正常運(yùn)行,而且可以順利加載到新系統(tǒng)中。
(2)人工對(duì)數(shù)據(jù)的錄入進(jìn)行遷移。在新系統(tǒng)遷移前,要整理待遷移數(shù)據(jù),并進(jìn)行數(shù)據(jù)分割,安排有關(guān)工作人員將分割后的數(shù)據(jù)進(jìn)行整理,并進(jìn)行錄入。由于采用人工錄入,錄入的準(zhǔn)確性不易保證,并且產(chǎn)生較高的人工成本。采用此方法主要因?yàn)樵邢到y(tǒng)的數(shù)據(jù)無(wú)法通過(guò)工具遷移到新系統(tǒng)內(nèi),并且新系統(tǒng)在數(shù)據(jù)加載過(guò)程中,必須調(diào)用此類(lèi)數(shù)據(jù)。該措施是對(duì)專(zhuān)業(yè)工具進(jìn)行數(shù)據(jù)遷移的有效補(bǔ)充。
(3)系統(tǒng)功能模塊進(jìn)行數(shù)據(jù)生成。新系統(tǒng)上線后,可通過(guò)新系統(tǒng)的功能模塊或定制的數(shù)據(jù)遷移支持程序自動(dòng)生成相關(guān)數(shù)據(jù)。一般這種情況下,要將遷移到新系統(tǒng)的數(shù)據(jù)生成我們需要的信息。采用此種遷移措施的必要條件是,這些數(shù)據(jù)可以從其他數(shù)據(jù)生成。
4、數(shù)據(jù)遷移策略的選擇
數(shù)據(jù)遷移策略是指采取何種模式對(duì)相應(yīng)的數(shù)據(jù)進(jìn)行有效遷移。根據(jù)相關(guān)遷移措施,主要分為四種策略:一次遷移,分次遷移,先錄后遷、先遷后補(bǔ)等四種策略。要根據(jù)不同的數(shù)據(jù)遷移環(huán)境,制定針對(duì)性的遷移策略。
(1)一次遷移。一次遷移是指,采用數(shù)據(jù)遷移工具(或遷移應(yīng)用程序),將原有系統(tǒng)中的所有歷史數(shù)據(jù),一次性的遷移到新系統(tǒng)當(dāng)中。
優(yōu)點(diǎn):一次性遷移的實(shí)現(xiàn)過(guò)程相對(duì)較短。與分次遷移相比,遷移過(guò)程中遇到的問(wèn)題較少,遷移風(fēng)險(xiǎn)相對(duì)較低。
缺點(diǎn):遷移過(guò)程中勞動(dòng)強(qiáng)度較大,相關(guān)工作人員需要實(shí)時(shí)關(guān)注數(shù)據(jù)遷移的進(jìn)度。如遇遷移數(shù)據(jù)量較大時(shí),會(huì)對(duì)數(shù)據(jù)遷移人員的身體狀況造成較大的負(fù)面影響。一次遷移的必要條件是老系統(tǒng)與新系統(tǒng)的數(shù)據(jù)庫(kù)結(jié)構(gòu)相近,在保證一定宕機(jī)的時(shí)間范圍內(nèi),可完成所需數(shù)據(jù)的遷移工作。
(2)分次遷移。分次遷移是指,采用數(shù)據(jù)遷移工具(或遷移應(yīng)用程序),將原始系統(tǒng)中的所有歷史數(shù)據(jù)分多次遷移到新系統(tǒng)中。
分次遷移能夠?qū)⑦w移任務(wù)分開(kāi)推進(jìn),合理的規(guī)避了遷移數(shù)量大以及對(duì)宕機(jī)時(shí)間要求短之間的問(wèn)題。但是,由于分次遷移,數(shù)據(jù)可能會(huì)被合并多次,提高了發(fā)生錯(cuò)誤的概率。為了能夠確保遷移時(shí)數(shù)據(jù)的完整性和一致性,在分次遷移的期間,較早遷移的數(shù)據(jù)需要同步,這增加了遷移的復(fù)雜性。
在分次遷移前,要對(duì)所遷移數(shù)據(jù)信息進(jìn)行研究分析,首先遷移靜態(tài)數(shù)據(jù)和更改頻率較低的數(shù)據(jù),如用戶(hù)信息、代碼和其他相關(guān)數(shù)據(jù)。然后再對(duì)系統(tǒng)內(nèi)的動(dòng)態(tài)數(shù)據(jù)進(jìn)行遷移工作,如辦公業(yè)務(wù)信息等。如果遷移的靜態(tài)數(shù)據(jù)發(fā)生變化,則需要每天在新系統(tǒng)中同步,或者可以增量同步到新系統(tǒng)。
(3)先錄后遷。先錄后遷是指,在新系統(tǒng)上線前,將部分?jǐn)?shù)據(jù)通過(guò)人工錄入到新系統(tǒng)內(nèi)。待新系統(tǒng)上線后,將剩余的歷史數(shù)據(jù)遷移到新系統(tǒng)。
采用此種策略主要原因是新舊系統(tǒng)內(nèi)的數(shù)據(jù)結(jié)構(gòu)存在一些特殊的差異所致。在新系統(tǒng)上線時(shí),無(wú)法從原有系統(tǒng)的數(shù)據(jù)中進(jìn)行遷移,需要特定的初始數(shù)據(jù)才可正常運(yùn)行。對(duì)于新系統(tǒng)的這部分初始化數(shù)據(jù),在上線前需要手工錄入,以確保新系統(tǒng)的正常運(yùn)行。
(4)先遷后補(bǔ)。先遷后補(bǔ)是指,在新系統(tǒng)上線前采用數(shù)據(jù)遷移工具(或遷移應(yīng)用程序),將原始系統(tǒng)中的歷史數(shù)據(jù)遷移到新系統(tǒng)。然后通過(guò)新系統(tǒng)的功能模塊,或者為數(shù)據(jù)遷移定制開(kāi)發(fā)的配套程序,通過(guò)與原系統(tǒng)數(shù)據(jù)進(jìn)行對(duì)比,生成新系統(tǒng)所需數(shù)據(jù)的結(jié)果,再最終進(jìn)行相應(yīng)的補(bǔ)錄工作。此種策略可以有效的降低遷移的數(shù)據(jù)量。
對(duì)于歷史數(shù)據(jù)遷移,可以按以下思路進(jìn)行開(kāi)展工作:
1)分析歷史數(shù)據(jù)邏輯結(jié)構(gòu)、關(guān)聯(lián)關(guān)系和設(shè)計(jì)限制;2)制定詳盡的升級(jí)計(jì)劃,細(xì)致、完整考慮各種可能因素、潛在風(fēng)險(xiǎn);3)根據(jù)數(shù)據(jù)庫(kù)類(lèi)型,編制數(shù)據(jù)轉(zhuǎn)換、遷移工具;4)編制歷史數(shù)據(jù)查詢(xún)檢索程序,在新系統(tǒng)中可以方便的查詢(xún)檢索;5)正式遷移前,實(shí)施數(shù)據(jù)遷移測(cè)試,確保無(wú)誤;6)實(shí)施歷史數(shù)據(jù)遷移,通過(guò)編制好的數(shù)據(jù)遷移程序,將歷史數(shù)據(jù)遷移到新系統(tǒng)中;7)對(duì)于遵循規(guī)則的數(shù)據(jù),遷移工具將自動(dòng)實(shí)現(xiàn)數(shù)據(jù)修正;對(duì)于那些不完整或不符合數(shù)據(jù)轉(zhuǎn)入到不合格數(shù)據(jù)記錄表,并提交給相關(guān)部門(mén),由業(yè)務(wù)處室統(tǒng)一協(xié)調(diào)相關(guān)單位、部門(mén)完善這些數(shù)據(jù);8)對(duì)遷移后的數(shù)據(jù)進(jìn)行一致性核對(duì),包括數(shù)據(jù)格式、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)有效區(qū)間范圍、空值和默認(rèn)值、完整性以及一致性等;9)對(duì)歷史數(shù)據(jù)在新系統(tǒng)中的各項(xiàng)業(yè)務(wù)功能進(jìn)行詳細(xì)測(cè)試,并記錄測(cè)試結(jié)果。
5、數(shù)據(jù)遷移工具選擇
數(shù)據(jù)遷移工具的開(kāi)發(fā)和部署主要有兩種選擇,一種是獨(dú)立開(kāi)發(fā)數(shù)據(jù)遷移工具,另一種是購(gòu)買(mǎi)成熟的數(shù)據(jù)遷移產(chǎn)品。這兩種選擇均有各自特點(diǎn),選擇時(shí)還需要根據(jù)具體情況進(jìn)行相應(yīng)的分析。結(jié)合實(shí)際項(xiàng)目需要,盡可能選擇市場(chǎng)成熟度高的產(chǎn)品,同時(shí)自主開(kāi)發(fā)的產(chǎn)品也應(yīng)在被考慮范圍內(nèi)。
參考文獻(xiàn):
[1]宋杰.大數(shù)據(jù)處理平臺(tái)[M].人民郵電出版社:學(xué)術(shù)中國(guó)?大數(shù)據(jù), 201712.235.
[2]黃建軍,龔瑋瑋,肖英劍.基于Oracle數(shù)據(jù)庫(kù)查詢(xún)優(yōu)化策略的研究[J].電腦知識(shí)與技術(shù).2019(13)
[3]何曉慶,王圣潔,張雅晴,孫詩(shī),蔣旭.數(shù)字信息資源長(zhǎng)期保存研究[M].四川大學(xué)出版社:, 201807.340.
[4]宋杰.大數(shù)據(jù)處理平臺(tái)[M].人民郵電出版社:學(xué)術(shù)中國(guó)?大數(shù)據(jù),201712.235.