欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種系統(tǒng)間數(shù)據(jù)遷移方法及裝置的制造方法

文檔序號(hào):10687167閱讀:369來源:國知局
一種系統(tǒng)間數(shù)據(jù)遷移方法及裝置的制造方法
【專利摘要】本發(fā)明/發(fā)明提供一種系統(tǒng)間數(shù)據(jù)遷移方法及裝置,該系統(tǒng)間數(shù)據(jù)遷移方法包括:根據(jù)待遷移數(shù)據(jù)和預(yù)先設(shè)置的遷移規(guī)范及配置信息模板生成遷移程序;根據(jù)源系統(tǒng)和目標(biāo)系統(tǒng)的數(shù)據(jù)庫類型導(dǎo)出源系統(tǒng)的待遷移數(shù)據(jù);調(diào)用遷移程序?qū)⒋w移數(shù)據(jù)遷移至目標(biāo)系統(tǒng)。通過實(shí)施本發(fā)明,自動(dòng)生成風(fēng)格統(tǒng)一、質(zhì)量可靠的遷移程序,減少系統(tǒng)間數(shù)據(jù)遷移的人力投入,大幅減少開發(fā)工作量,提高生產(chǎn)效率。
【專利說明】
一種系統(tǒng)間數(shù)據(jù)遷移方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及數(shù)據(jù)處理技術(shù),具體的講是一種系統(tǒng)間數(shù)據(jù)迀移方法及裝置。
【背景技術(shù)】
[0002] 計(jì)算機(jī)技術(shù)的發(fā)展日新月異,舊系統(tǒng)在使用較長一段時(shí)間后,在功能性、技術(shù)先進(jìn) 性、可擴(kuò)展性和易用性等方面逐漸無法適應(yīng)企業(yè)要求,在使用新的技術(shù)和架構(gòu)搭建新的系 統(tǒng)后,可以更好的為企業(yè)服務(wù)。由于新的系統(tǒng)和舊的系統(tǒng)存在技術(shù)和架構(gòu)上的差異,舊系統(tǒng) 的存量數(shù)據(jù)不能使用已有的技術(shù)方案直接平移到新的系統(tǒng),需要按照一定的規(guī)則編寫迀移 程序,將舊系統(tǒng)的數(shù)據(jù)經(jīng)過程序處理后再導(dǎo)入到新系統(tǒng),以滿足新系統(tǒng)的使用要求。
[0003] 為了保證系統(tǒng)對(duì)客戶服務(wù)的連續(xù)性,新舊系統(tǒng)需要在較短的時(shí)間內(nèi)平穩(wěn)過渡,投 產(chǎn)時(shí)間窗非常有限。在舊系統(tǒng)規(guī)模龐大,存儲(chǔ)信息的數(shù)據(jù)表成百上千,數(shù)據(jù)表保存上億級(jí)別 的記錄且單條記錄的信息段也較多的情況下,現(xiàn)有的數(shù)據(jù)迀移,迀移效率低,無法確保在有 限的投產(chǎn)時(shí)間窗內(nèi)完成新舊系統(tǒng)間的數(shù)據(jù)迀移;迀移過程出現(xiàn)錯(cuò)誤中斷頻率較高,需要人 工接管;迀移過程中出現(xiàn)錯(cuò)誤中斷,排除錯(cuò)誤后無法在中斷處繼續(xù)迀移,只能全部重新開 始;沒有統(tǒng)一的日志記錄規(guī)范,迀移完成后沒有有效的手段對(duì)數(shù)據(jù)迀移正確性進(jìn)行核對(duì);依 靠開發(fā)人員手工編寫迀移程序,工作量巨大,有限的開發(fā)資源無法在項(xiàng)目周期內(nèi)完成任務(wù)。 大量重復(fù)機(jī)械的人工編碼容易引入非技術(shù)性缺陷。不同開發(fā)人員的程序風(fēng)格各異,質(zhì)量參 差不齊,無法保證數(shù)據(jù)迀移的準(zhǔn)確性,且不利于對(duì)移行結(jié)果進(jìn)行統(tǒng)一的校驗(yàn)。

【發(fā)明內(nèi)容】

[0004] 本發(fā)明實(shí)施例提供了一種系統(tǒng)間數(shù)據(jù)迀移方法,包括:根據(jù)待迀移數(shù)據(jù)和預(yù)先設(shè) 置的迀移規(guī)范及配置信息模板生成迀移程序;根據(jù)源系統(tǒng)和目標(biāo)系統(tǒng)的數(shù)據(jù)庫類型導(dǎo)出源 系統(tǒng)的待迀移數(shù)據(jù);調(diào)用所述迀移程序?qū)⑺龃|移數(shù)據(jù)迀移至所述的目標(biāo)系統(tǒng)。
[0005] 在一實(shí)施例中,上述的系統(tǒng)間數(shù)據(jù)迀移方法還包括:對(duì)迀移后的數(shù)據(jù)進(jìn)行數(shù)據(jù)校 驗(yàn),核對(duì)所述迀移后的數(shù)據(jù)的基本信息與所述待迀移數(shù)據(jù)的基本信息是否一致;如果是,則 迀移成功;否則迀移失敗;其中,所述的基本信息至少包括:所述迀移后的數(shù)據(jù)及待迀移數(shù) 據(jù)的數(shù)據(jù)量、關(guān)鍵信息、總賬及分賬信息。
[0006] 在一實(shí)施例中,上述的根據(jù)待迀移數(shù)據(jù)和預(yù)先設(shè)置的迀移規(guī)范及配置信息模板生 成迀移程序,包括:根據(jù)所述源系統(tǒng)和目標(biāo)系統(tǒng)確定迀移規(guī)范及配置信息模板;根據(jù)所述待 迀移數(shù)據(jù)及所述配置信息模板生成配置信息表;根據(jù)所述迀移規(guī)范及配置信息表生成所述 的迀移程序。
[0007] 在一實(shí)施例中,上述的調(diào)用所述迀移程序?qū)⑺龃|移數(shù)據(jù)迀移至所述的目標(biāo)系 統(tǒng),包括:根據(jù)所述待迀移數(shù)據(jù)的存儲(chǔ)特征選取并行條件將所述待迀移數(shù)據(jù)劃分成多個(gè)待 處理子任務(wù);調(diào)用所述迀移程序,按照一預(yù)設(shè)并行數(shù)及各所述待處理子任務(wù)的并行參數(shù)并 行處理所述的待處理子任務(wù),以將所述待迀移數(shù)據(jù)并行迀移至所述的目標(biāo)系統(tǒng)。
[0008] 在一實(shí)施例中,上述的系統(tǒng)間數(shù)據(jù)迀移方法還包括:對(duì)每一所述待迀移數(shù)據(jù)添加 處理標(biāo)志附屬信息,用以區(qū)分已迀移數(shù)據(jù),當(dāng)數(shù)據(jù)迀移過程中斷時(shí),根據(jù)所述處理標(biāo)志附屬 信息對(duì)所述已迀移數(shù)據(jù)之外的數(shù)據(jù)繼續(xù)進(jìn)行數(shù)據(jù)迀移。
[0009] 本發(fā)明實(shí)施例還提供一種系統(tǒng)間數(shù)據(jù)迀移裝置,包括:迀移程序生成單元,用于根 據(jù)待迀移數(shù)據(jù)和預(yù)先設(shè)置的迀移規(guī)范及配置信息模板生成迀移程序;待迀移數(shù)據(jù)導(dǎo)出單 元,用于根據(jù)源系統(tǒng)和目標(biāo)系統(tǒng)的數(shù)據(jù)庫類型導(dǎo)出源系統(tǒng)的待迀移數(shù)據(jù);數(shù)據(jù)迀移單元,用 于調(diào)用所述迀移程序?qū)⑺龃|移數(shù)據(jù)迀移至所述的目標(biāo)系統(tǒng)。
[0010] 在一實(shí)施例中,上述的系統(tǒng)間數(shù)據(jù)迀移裝置還包括:數(shù)據(jù)校驗(yàn)單元,用于對(duì)迀移后 的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn),核對(duì)所述迀移后的數(shù)據(jù)的基本信息與所述待迀移數(shù)據(jù)的基本信息是 否一致;如果是,則表示迀移成功;否則表示迀移失敗;其中,所述的基本信息至少包括:所 述迀移后的數(shù)據(jù)及待迀移數(shù)據(jù)的數(shù)據(jù)量、關(guān)鍵信息、總賬及分賬信息。
[0011] 在一實(shí)施例中,上述的迀移程序生成單元具體用于:根據(jù)所述源系統(tǒng)和目標(biāo)系統(tǒng) 確定迀移規(guī)范及配置信息模板;根據(jù)所述待迀移數(shù)據(jù)及所述配置信息模板生成配置信息 表;根據(jù)所述迀移規(guī)范及配置信息表生成所述的迀移程序。
[0012] 在一實(shí)施例中,上述的數(shù)據(jù)迀移單元具體用于:根據(jù)所述待迀移數(shù)據(jù)的存儲(chǔ)特征 選取并行條件將所述待迀移數(shù)據(jù)劃分成多個(gè)待處理子任務(wù);調(diào)用所述迀移程序,按照一預(yù) 設(shè)并行數(shù)及各所述待處理子任務(wù)的并行參數(shù)并行處理所述的待處理子任務(wù),以將所述待迀 移數(shù)據(jù)并行迀移至所述的目標(biāo)系統(tǒng)。
[0013] 在一實(shí)施例中,上述的系統(tǒng)間數(shù)據(jù)迀移裝置還包括:斷點(diǎn)續(xù)做單元,用于對(duì)每一所 述待迀移數(shù)據(jù)添加處理標(biāo)志附屬信息,用以區(qū)分已迀移數(shù)據(jù),當(dāng)數(shù)據(jù)迀移過程中斷時(shí),所述 斷點(diǎn)續(xù)做單元根據(jù)所述處理標(biāo)志附屬信息對(duì)所述已迀移數(shù)據(jù)之外的數(shù)據(jù)繼續(xù)進(jìn)行數(shù)據(jù)迀 移。
[0014] 本發(fā)明實(shí)施例的有益效果在于,通過構(gòu)建代碼生成器生成風(fēng)格統(tǒng)一、質(zhì)量可靠的 迀移程序,減少系統(tǒng)間數(shù)據(jù)迀移的人力投入,大幅減少開發(fā)工作量,提高生產(chǎn)效率。
[0015] 為讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例, 并配合所附圖式,作詳細(xì)說明如下。
【附圖說明】
[0016] 為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0017] 圖1為根據(jù)本發(fā)明實(shí)施例的系統(tǒng)間數(shù)據(jù)迀移方法的流程圖;
[0018] 圖2為根據(jù)本發(fā)明實(shí)施例中生成迀移程序的具體過程的流程示意圖;
[0019] 圖3為根據(jù)本發(fā)明實(shí)施例的并行處理調(diào)度過程示意圖;
[0020] 圖4為根據(jù)本發(fā)明實(shí)施例的系統(tǒng)間數(shù)據(jù)迀移裝置的機(jī)構(gòu)示意圖;
[0021 ]圖5為源系統(tǒng)及目標(biāo)系統(tǒng)間進(jìn)行數(shù)據(jù)迀移的整個(gè)過程的示意圖。
【具體實(shí)施方式】
[0022]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0023] 本發(fā)明主要實(shí)現(xiàn)一種系統(tǒng)間數(shù)據(jù)迀移方法及裝置,在數(shù)據(jù)迀移的過程中通過對(duì)各 個(gè)環(huán)節(jié)進(jìn)行技術(shù)優(yōu)化,實(shí)現(xiàn)投入更少的人力,在更短的時(shí)間內(nèi)更穩(wěn)定的實(shí)現(xiàn)數(shù)據(jù)迀移。
[0024] 如圖1所示,本發(fā)明實(shí)施例的系統(tǒng)間數(shù)據(jù)迀移方法主要包括:
[0025] 步驟S101:根據(jù)待迀移數(shù)據(jù)和預(yù)先設(shè)置的迀移規(guī)范及配置信息模板生成迀移程 序;
[0026] 步驟S102:根據(jù)源系統(tǒng)和目標(biāo)系統(tǒng)的數(shù)據(jù)庫類型導(dǎo)出源系統(tǒng)的待迀移數(shù)據(jù);
[0027]步驟S103:調(diào)用迀移程序?qū)⒋|移數(shù)據(jù)迀移至目標(biāo)系統(tǒng)。
[0028]通過上述的步驟S101至步驟S103,本發(fā)明實(shí)施例的系統(tǒng)間數(shù)據(jù)迀移方法套用模板 自動(dòng)生成高質(zhì)量的迀移程序,減少系統(tǒng)間數(shù)據(jù)迀移的人力投入,大幅減少開發(fā)工作量,提高 生產(chǎn)效率。
[0029] 以下結(jié)合示例,對(duì)本發(fā)明實(shí)施例的系統(tǒng)間數(shù)據(jù)迀移方法中的各步驟進(jìn)行具體說 明。
[0030] 上述的步驟S101,根據(jù)待迀移數(shù)據(jù)和預(yù)先設(shè)置的迀移規(guī)范及配置信息模板生成迀 移程序。在本發(fā)明實(shí)施例中,是套用模板自動(dòng)生成高質(zhì)量的迀移程序,生成該迀移程序的具 體過程如圖2所示。
[0031 ] 步驟S201:制定迀移程序應(yīng)該遵循的通用迀移規(guī)范。
[0032] 不同的系統(tǒng)不同的場(chǎng)景可以根據(jù)實(shí)際情況制定合適的規(guī)范,包括但不限于以下規(guī) 范中的一種或多種:
[0033] ?輸入輸出參數(shù)規(guī)范。相同的場(chǎng)景使用相同個(gè)數(shù)、相同順序、相同類型的參數(shù),統(tǒng) 一形式,方便調(diào)用。參數(shù)規(guī)范的制定需考慮并發(fā)執(zhí)行、日志記錄的需要。
[0034] 舉例:
[0035] IN_AREA_C0DE IN VARCHAR2,一日期
[0036] IN_BATCH_DATE IN VARCHAR2,一地區(qū),支持按地區(qū)并發(fā)
[0037] 0UT_FLAG OUT VARCHAR2,一錯(cuò)誤標(biāo)識(shí),1-正常2-異常
[0038] 〇UT_MESSAGE OUT VARCHAR2-錯(cuò)誤信息,以便記錄日志。
[0039] ?命名規(guī)范。統(tǒng)一程序及變量命名規(guī)范,如使用有含義的英文對(duì)變量進(jìn)行命名,變 量統(tǒng)一使用v_開頭,合理使用大小寫等。
[0040] ?日志記錄規(guī)范:程序執(zhí)行結(jié)果需記錄日志,包括處理記錄數(shù),其中成功記錄數(shù)、 失敗記錄數(shù),錯(cuò)誤信息等。
[0041] ?事務(wù)提交規(guī)范:根據(jù)存儲(chǔ)庫情況規(guī)定處理多少條數(shù)據(jù)后進(jìn)行一次事務(wù)提交,如 處理500條記錄后提交一次,目的是合理控制提交事務(wù)的大小,避免因?yàn)槭聞?wù)過大或者提交 太頻繁造成資源瓶頸。
[0042] ?規(guī)定程序的處理流程:
[0043]循環(huán)臨時(shí)數(shù)據(jù)存儲(chǔ)單元中的待處理記錄:
[0044]根據(jù)配置的處理規(guī)則處理該條記錄的每個(gè)字段:
[0045] 如果所有字段處理成功,則處理成功記錄數(shù)+1,插入到正式存儲(chǔ)單元,如果插入沖 突,則進(jìn)行更新;
[0046] 如果有字段處理失敗,則失敗記錄數(shù)+1,記錄失敗日志;
[0047]當(dāng)處理記錄數(shù)=500條,進(jìn)行一次事務(wù)提交;
[0048] 直至所有待處理記錄處理完成,然后退出。
[0049] 步驟S202:根據(jù)生成程序所需要的關(guān)鍵要素,提取出配置信息模板,該配置信息模 板包括但不限于下表1所示的關(guān)鍵要素中的一種或多種:
[0050] 表 1


[0054] 步驟S203:針對(duì)迀移數(shù)據(jù)的具體情況填寫配置信息模板,按照要求填寫步驟S202 中的每個(gè)要素即可,作為配置信息。
[0055] 步驟S204:將填好的配置信息導(dǎo)入到一數(shù)據(jù)存儲(chǔ)器中進(jìn)行存儲(chǔ),供后續(xù)步驟使用。 用于存儲(chǔ)配置信息的表結(jié)構(gòu)信息如下,該表字段與步驟S202中的標(biāo)準(zhǔn)模板要素進(jìn)行對(duì)應(yīng)。
[0057]步驟S205:校驗(yàn)導(dǎo)入的配置信息。
[0058]步驟S206:判斷配置信息的校驗(yàn)是否存在錯(cuò)誤,如果存在錯(cuò)誤,則執(zhí)行步驟S207, 否則執(zhí)行步驟S208。
[0059]步驟S207:針對(duì)步驟S206中校驗(yàn)出的錯(cuò)誤信息,對(duì)配置進(jìn)行修改,修改完成后轉(zhuǎn)到 步驟S205。
[0060] 步驟S208:根據(jù)配置信息表DATA_TRANSFER_RULE和通用迀移規(guī)范生成迀移程序, 具體步驟如下:
[0061 ] 循環(huán)DATA_TRANSFER_RULE表中待迀移的每一個(gè)表的配置信息:
[0062] 根據(jù) TRANSFER_PCKG_NAME 生成包名;
[0063] 根據(jù)TRANSFER_NAME迀移程序名;
[0064] 根據(jù)1陬1]1'_?41?艦_~艦£、1陬1]1'_?41?艦_1¥?£和肋1^_3£〇生成輸入輸出參數(shù) ;
[0065]按命名規(guī)范生成臨時(shí)變量,用于存儲(chǔ)處理記錄數(shù)、日志信息句柄等;
[0066] 循環(huán)處理源表的每一個(gè)字段,根據(jù)RULE_DETAIL字段的規(guī)則生成處理程序,如果該 字段為空則不做處理;
[0067]生成數(shù)據(jù)插入及插入沖突時(shí)進(jìn)行更新部分程序,并更新處理標(biāo)志flag字段;
[0068]生成事務(wù)提交部分程序,每處理N條記錄進(jìn)行一次事務(wù)提交;
[0069] 根據(jù)日志記錄規(guī)范生成記錄日志部分程序;
[0070] 生成容錯(cuò)處理部分程序,根據(jù)錯(cuò)誤嚴(yán)重登記分別做容錯(cuò)處理;
[0071] 直至DATA_TRANSFER_RULE表所有待迀移表都生成對(duì)應(yīng)的程序,然后退出。
[0072] 步驟S209:對(duì)程序進(jìn)行校驗(yàn)。
[0073] 步驟S2010:判斷程序校驗(yàn)是否出現(xiàn)錯(cuò)誤,如果存在錯(cuò)誤,則執(zhí)行步驟S2011,否則 執(zhí)行步驟S2012。
[0074] 步驟S2011:對(duì)校驗(yàn)出錯(cuò)的程序進(jìn)行調(diào)整,調(diào)整完成后轉(zhuǎn)到步驟S209。
[0075]步驟 S2012:結(jié)束。
[0076]在生成了迀移程序后,執(zhí)行上述步驟S102,根據(jù)源系統(tǒng)和目標(biāo)系統(tǒng)的數(shù)據(jù)庫類型 導(dǎo)出源系統(tǒng)的待迀移數(shù)據(jù)。具體實(shí)施時(shí),根據(jù)實(shí)際應(yīng)用的場(chǎng)景(兩個(gè)系統(tǒng)的數(shù)據(jù)庫類型等) 可以使用不用的導(dǎo)出方法,在源系統(tǒng)和目標(biāo)系統(tǒng)使用的數(shù)據(jù)庫產(chǎn)品相同的情況下,可以將 數(shù)據(jù)導(dǎo)出為該數(shù)據(jù)庫特有的二進(jìn)制格式;在源系統(tǒng)和目標(biāo)系統(tǒng)使用的數(shù)據(jù)庫產(chǎn)品不同的情 況下,可以導(dǎo)出為通用的純文本文件格式。以上所述的情況僅為舉例說明,并非用以限制本 發(fā)明。
[0077]對(duì)于導(dǎo)出的數(shù)據(jù),可通過上述步驟S103,調(diào)用迀移程序?qū)⒋|移數(shù)據(jù)迀移至目標(biāo) 系統(tǒng)。
[0078]在進(jìn)行大量數(shù)據(jù)處理時(shí),串行處理速度慢、效率低,在當(dāng)前硬件配置普遍配有多處 理器的情況下,無法充分利用硬件資源。所以,在本發(fā)明實(shí)施例中,在數(shù)據(jù)處理時(shí)通過對(duì)邏 輯上獨(dú)立的數(shù)據(jù)采用并行調(diào)度處理,從而達(dá)到明顯的加快速度的效果。并行處理過程具體 是,對(duì)每一個(gè)待處理任務(wù),配置好并行條件(地區(qū)、年、月等),將待處理任務(wù)劃分為若干子任 務(wù),以子任務(wù)粒度進(jìn)行調(diào)度。調(diào)度的原則是:以設(shè)置并行數(shù)為6為例,首次開始調(diào)度時(shí),一次 性調(diào)起6個(gè)子任務(wù),后續(xù)當(dāng)運(yùn)行的子任務(wù)小于6個(gè)時(shí),則從待處理子任務(wù)中調(diào)起補(bǔ)足6個(gè),直 到?jīng)]有待處理子任務(wù)為止。
[0079] 并行條件根據(jù)數(shù)據(jù)的存儲(chǔ)特征進(jìn)行選取,大量的數(shù)據(jù)在存儲(chǔ)時(shí)常采用分區(qū)機(jī)制, 邏輯上獨(dú)立的數(shù)據(jù)分布在不同的分區(qū)上,分區(qū)條件適宜用于作為并行條件。如按地區(qū)進(jìn)行 并行、按年份進(jìn)行并行、按月份進(jìn)行并行等。
[0080] 并行數(shù)應(yīng)結(jié)合硬件的配置情況設(shè)置合理的數(shù)值,保證硬件資源的充分利用,但又 不能設(shè)置過高,避免出現(xiàn)并行數(shù)過高出現(xiàn)硬件資源爭(zhēng)用,導(dǎo)致瓶頸,反而降低處理效率。一 般情況下并行數(shù)應(yīng)滿足以下條件:
[0081 ] 并行數(shù) < 處理器個(gè)數(shù)。
[0082]以按地區(qū)并行為例,假設(shè)并行數(shù)為6,則處理開始后同一時(shí)刻有6個(gè)地區(qū)的數(shù)據(jù)在 并行處理,當(dāng)有地區(qū)處理完成后,立刻從未處理地區(qū)中調(diào)起處理任務(wù)補(bǔ)上,保證任一時(shí)刻都 有6個(gè)地區(qū)在進(jìn)行處理(當(dāng)正在處理的地區(qū)數(shù)+未處理的地區(qū)數(shù)〈6時(shí)除外)。并且,針對(duì)每個(gè) 地區(qū)的待處理任務(wù),都有其各自對(duì)應(yīng)的并行參數(shù),用以辨識(shí)是屬于哪個(gè)地區(qū)的待處理任務(wù)。 例如圖3所示,對(duì)于處理中地區(qū)中的浙江地區(qū),通過識(shí)別浙江地區(qū)的并行參數(shù)來確定是屬于 浙江地區(qū)的處理任務(wù),因此,將浙江地區(qū)的待迀移數(shù)據(jù)迀移至與浙江地區(qū)相對(duì)應(yīng)的目標(biāo)系 統(tǒng)中,然后,可將浙江地區(qū)劃分至"已處理地區(qū)"中,并從"待處理地區(qū)"中選取一個(gè)地區(qū)補(bǔ)入 到"處理中地區(qū)"中,從而保證"處理中地區(qū)"中的并行數(shù)為6。
[0083] 在實(shí)際應(yīng)用中,將待迀移數(shù)據(jù)從源系統(tǒng)迀移至目標(biāo)系統(tǒng)后,可對(duì)數(shù)據(jù)迀移的正確 性進(jìn)行校驗(yàn)。數(shù)據(jù)校驗(yàn)的方式主要是通過核對(duì)數(shù)據(jù)迀移前后的基本信息是否一致進(jìn)行判 斷。其中,數(shù)據(jù)常見的基本信息包括:(1)數(shù)據(jù)量,核對(duì)迀移后的數(shù)據(jù)與原始待迀移數(shù)據(jù)的數(shù) 據(jù)量是否匹配;(2)關(guān)鍵信息,抽查目標(biāo)系統(tǒng)中的關(guān)鍵信息在迀移后是否正確,如金額、額度 等。(3)總賬及分賬信息,數(shù)據(jù)迀移后,目標(biāo)系統(tǒng)中數(shù)據(jù)所包含的分戶賬匯總與總賬應(yīng)該仍 保持一致。
[0084] 如果迀移前后的數(shù)據(jù)的基本信息一致,則可反饋一校驗(yàn)結(jié)果,表示迀移成功;如果 迀移前后的數(shù)據(jù)的基本信息并不一致,則反饋的校驗(yàn)結(jié)果為:迀移失敗。
[0085] 在實(shí)際應(yīng)用中,對(duì)于兩系統(tǒng)間進(jìn)行數(shù)據(jù)迀移的過程有可能會(huì)存在處理過程出錯(cuò)的 情況,針對(duì)此種情況,本發(fā)明實(shí)施例的系統(tǒng)間數(shù)據(jù)迀移方法還可包含一中斷容錯(cuò)處理步驟, 該步驟主要包括:
[0086] 首先,對(duì)處理過程中可能出現(xiàn)的錯(cuò)誤進(jìn)行分類,并標(biāo)識(shí)出嚴(yán)重等級(jí)。只對(duì)嚴(yán)重錯(cuò)誤 進(jìn)行中斷,對(duì)一般錯(cuò)誤,在處理時(shí)做容錯(cuò)處理,視具體的情況,可對(duì)錯(cuò)誤進(jìn)行默認(rèn)處理,或者 記錄錯(cuò)誤日志信息,在迀移完成后對(duì)這些錯(cuò)誤進(jìn)行事后修復(fù),確保數(shù)據(jù)迀移過程中盡量減 少甚至消除中斷,平穩(wěn)運(yùn)行結(jié)束。
[0087] 上述的嚴(yán)重錯(cuò)誤是指出現(xiàn)該錯(cuò)誤后,如果不中斷,則數(shù)據(jù)無法迀移,或者迀移后無 法進(jìn)行事后修復(fù)的錯(cuò)誤。對(duì)于這類錯(cuò)誤,應(yīng)該進(jìn)行中斷并人工接管,在排除錯(cuò)誤后重新調(diào)起 處理任務(wù)。
[0088]上述的一般錯(cuò)誤是指該錯(cuò)誤出現(xiàn)后,可以通過默認(rèn)的處理方式進(jìn)行迀移,或者迀 移完后可以通過其他方式進(jìn)行事后修復(fù)。對(duì)于這類錯(cuò)誤,應(yīng)避免中斷,優(yōu)先保證絕大部分?jǐn)?shù) 據(jù)的順利迀移,少量的一般錯(cuò)誤則通過事后修復(fù)解決。
[0089] 而當(dāng)數(shù)據(jù)迀移過程中斷時(shí),本發(fā)明實(shí)施例的系統(tǒng)間數(shù)據(jù)迀移方法可實(shí)現(xiàn)斷點(diǎn)續(xù) 做。斷點(diǎn)續(xù)做是指已出現(xiàn)中斷錯(cuò)誤,在排除中斷錯(cuò)誤后,重新提交調(diào)度時(shí),不需要清理或者 還原已經(jīng)成功處理的部分,而可以在中斷處繼續(xù)進(jìn)行處理。斷點(diǎn)續(xù)做的好處是在排除錯(cuò)誤 后,能夠繼續(xù)之前的處理,對(duì)已迀移成功部分不需要重復(fù)處理,節(jié)約處理時(shí)間。在時(shí)間窗有 限,處理耗時(shí)較長的情況下,斷點(diǎn)續(xù)做機(jī)制能夠有效的保證數(shù)據(jù)迀移的連續(xù)性。
[0090] 實(shí)現(xiàn)斷點(diǎn)續(xù)做的具體過程是,通過對(duì)待迀移數(shù)據(jù)中添加處理標(biāo)志Flag附屬信息, 在未做處理時(shí),F(xiàn)lag附屬信息為空。在處理成功后,返寫Flag附屬信息為1,當(dāng)處理出現(xiàn)錯(cuò)誤 時(shí),返寫Flag附屬信息為2。在調(diào)度處理時(shí),只處理未處理的部分(即Flag為空的記錄)以及 處理出現(xiàn)錯(cuò)誤的部分(即Flag為2的記錄)。在中斷后重新開始處理時(shí),可跳過已成功處理的 記錄,只處理尚未處理的數(shù)據(jù)以及處理出現(xiàn)錯(cuò)誤的記錄,從而實(shí)現(xiàn)斷點(diǎn)續(xù)做,繼續(xù)進(jìn)行數(shù)據(jù) 迀移。
[0091 ] 具體實(shí)施時(shí),可通過日志記錄的方式對(duì)整個(gè)數(shù)據(jù)迀移過程進(jìn)行記錄。在迀移過程 中對(duì)迀移的信息記錄規(guī)范統(tǒng)一的日志信息,分為記錄級(jí)別的日志和調(diào)度級(jí)別的日志。日志 的用途在于迀移完成后,能夠通過日志信息對(duì)于迀移的情況進(jìn)行詳細(xì)的分析,對(duì)于其中出 現(xiàn)的錯(cuò)誤能夠通過日志輕松定位問題原因,并提供核對(duì)的基礎(chǔ)數(shù)據(jù)。
[0092] 記錄級(jí)別的日志用于記錄每個(gè)數(shù)據(jù)的迀移是處理成功還是處理失敗,如果處理失 敗,則記錄失敗的錯(cuò)誤信息。
[0093] 調(diào)度級(jí)別的日志記錄迀移調(diào)度的開始時(shí)間和結(jié)束時(shí)間,用于計(jì)算迀移的耗時(shí)。記 錄調(diào)度中的總處理記錄數(shù),其中處理成功記錄數(shù)和處理失敗記錄數(shù),用于迀移完成后進(jìn)行 數(shù)據(jù)量核對(duì)。
[0094] 本發(fā)明實(shí)施例的系統(tǒng)間數(shù)據(jù)迀移方法,有效解決了新舊系統(tǒng)之間大數(shù)據(jù)量迀移帶 來的工作量巨大,迀移效率低,耗時(shí)長,中斷頻度高,迀移完成后校驗(yàn)準(zhǔn)確性困難的問題。通 過優(yōu)化迀移過程中的各個(gè)環(huán)節(jié),形成一套完整的、高效的、可靠的系統(tǒng)間數(shù)據(jù)迀移裝置和方 法。如圖5所示,通過構(gòu)建代碼生成器生成風(fēng)格統(tǒng)一、質(zhì)量可靠的迀移程序,減少系統(tǒng)間數(shù)據(jù) 迀移的人力投入,節(jié)約企業(yè)開發(fā)資源。通過并行調(diào)度和斷點(diǎn)續(xù)做顯著提高迀移處理速度,降 低對(duì)投產(chǎn)時(shí)間窗的要求,保證對(duì)客戶服務(wù)的連續(xù)性。通過完善的日志記錄,迀移完成后能夠 準(zhǔn)確的評(píng)估迀移情況,并能根據(jù)日志信息對(duì)錯(cuò)誤進(jìn)行事后修復(fù),為新舊系統(tǒng)之間快速平穩(wěn) 切換提供可靠保障。
[0095] 本發(fā)明實(shí)施例還提供一種系統(tǒng)間數(shù)據(jù)迀移裝置,如圖4所示,該系統(tǒng)間數(shù)據(jù)迀移裝 置主要包括:迀移程序生成單元1、待迀移數(shù)據(jù)導(dǎo)出單元2及數(shù)據(jù)迀移單元3。
[0096] 其中,該迀移程序生成單元1用于根據(jù)待迀移數(shù)據(jù)和預(yù)先設(shè)置的迀移規(guī)范及配置 信息模板生成迀移程序;待迀移數(shù)據(jù)導(dǎo)出單元2用于根據(jù)源系統(tǒng)和目標(biāo)系統(tǒng)的數(shù)據(jù)庫類型 導(dǎo)出源系統(tǒng)的待迀移數(shù)據(jù);數(shù)據(jù)迀移單元3用于調(diào)用迀移程序?qū)⒋|移數(shù)據(jù)迀移至目標(biāo)系 統(tǒng)。
[0097] 通過上述的各個(gè)組成部分,本發(fā)明實(shí)施例的系統(tǒng)間數(shù)據(jù)迀移裝置套用模板自動(dòng)生 成高質(zhì)量的迀移程序,減少系統(tǒng)間數(shù)據(jù)迀移的人力投入,大幅減少開發(fā)工作量,提高生產(chǎn)效 率。
[0098] 以下結(jié)合示例,對(duì)本發(fā)明實(shí)施例的系統(tǒng)間數(shù)據(jù)迀移裝置中的各個(gè)組成部分進(jìn)行具 體說明。
[0099] 上述的迀移程序生成單元1,用于根據(jù)待迀移數(shù)據(jù)和預(yù)先設(shè)置的迀移規(guī)范及配置 信息模板生成迀移程序。在本發(fā)明實(shí)施例中,是套用模板自動(dòng)生成高質(zhì)量的迀移程序。該迀 移程序生成單元1生成該迀移程序的具體過程如圖2所示。
[0100] 步驟S201:制定迀移程序應(yīng)該遵循的通用迀移規(guī)范。
[0101] 不同的系統(tǒng)不同的場(chǎng)景可以根據(jù)實(shí)際情況制定合適的規(guī)范,包括但不限于以下規(guī) 范:
[0102] ?輸入輸出參數(shù)規(guī)范。相同的場(chǎng)景使用相同個(gè)數(shù)、相同順序、相同類型的參數(shù),統(tǒng) 一形式,方便調(diào)用。參數(shù)規(guī)范的制定需考慮并發(fā)執(zhí)行、日志記錄的需要。
[0103] 舉例:
[0104] IN_AREA_C0DE IN VARCHAR2,一日期
[0105] IN_BATCH_DATE IN VARCHAR2,一地區(qū),支持按地區(qū)并發(fā)
[0106] 0UT_FLAG OUT VARCHAR2,一錯(cuò)誤標(biāo)識(shí),1-正常2-異常
[0107] 0UT_MESSAGE OUT VARCHAR2-錯(cuò)誤信息,以便記錄日志。
[0108] ?命名規(guī)范。統(tǒng)一程序及變量命名規(guī)范,如使用有含義的英文對(duì)變量進(jìn)行命名,變 量統(tǒng)一使用v_開頭,合理使用大小寫等。
[0109] ?日志記錄規(guī)范:程序執(zhí)行結(jié)果需記錄日志,包括處理記錄數(shù),其中成功記錄數(shù)、 失敗記錄數(shù),錯(cuò)誤信息等。
[0110] ?事務(wù)提交規(guī)范:根據(jù)存儲(chǔ)庫情況規(guī)定處理多少條數(shù)據(jù)后進(jìn)行一次事務(wù)提交,如 處理500條記錄后提交一次,目的是合理控制提交事務(wù)的大小,避免因?yàn)槭聞?wù)過大或者提交 太頻繁造成資源瓶頸。
[0111] ?規(guī)定程序的處理流程:
[0112] 循環(huán)臨時(shí)數(shù)據(jù)存儲(chǔ)單元中的待處理記錄:
[0113]根據(jù)配置的處理規(guī)則處理該條記錄的每個(gè)字段:
[0114] 如果所有字段處理成功,則處理成功記錄數(shù)+1,插入到正式存儲(chǔ)單元,如果插入沖 突,則進(jìn)行更新;
[0115] 如果有字段處理失敗,則失敗記錄數(shù)+1,記錄失敗日志;
[0116]當(dāng)處理記錄數(shù)=500條,進(jìn)行一次事務(wù)提交;
[0117] 直至所有待處理記錄處理完成,然后退出。
[0118] 步驟S202:根據(jù)生成程序所需要的關(guān)鍵要素,提取出配置信息模板,包括但不限于 下表1所示的要素:
[0119] 表1

[0122] 步驟S203:針對(duì)迀移數(shù)據(jù)的具體情況填寫配置信息模板,按照要求填寫步驟S202 中的每個(gè)要素即可,作為配置信息。
[0123] 步驟S204:將填好的配置信息導(dǎo)入到一數(shù)據(jù)存儲(chǔ)器中進(jìn)行存儲(chǔ),供后續(xù)步驟使用。 用于存儲(chǔ)配置信息的表結(jié)構(gòu)信息如下,該表字段與步驟S202中的標(biāo)準(zhǔn)模板要素進(jìn)行對(duì)應(yīng)。
[0126] 步驟S205:校驗(yàn)導(dǎo)入的配置信息。
[0127] 步驟S206:判斷配置信息的校驗(yàn)是否存在錯(cuò)誤,如果存在錯(cuò)誤,則執(zhí)行步驟S207, 否則執(zhí)行步驟S208。
[0128] 步驟S207:針對(duì)步驟S206中校驗(yàn)出的錯(cuò)誤信息,對(duì)配置進(jìn)行修改,修改完成后轉(zhuǎn)到 步驟S205。
[0129] 步驟S208:根據(jù)配置信息表DATA_TRANSFER_RULE和通用迀移規(guī)范生成迀移程序, 具體步驟如下:
[0130] 循環(huán)DATA_TRANSFER_RULE表中待迀移的每一個(gè)表的配置信息:
[0131 ]根據(jù) TRANSFER_PCKG_NAME 生成包名;
[0132] 根據(jù)TRANSFER_NAME迀移程序名;
[0133] 根據(jù)1陬1]!'_?六1?艦_~艦£、1陬1]1'_?41?艦_了¥?£和肋1^_5£〇生成輸入輸出參數(shù);
[0134] 按命名規(guī)范生成臨時(shí)變量,用于存儲(chǔ)處理記錄數(shù)、日志信息句柄等;
[0135] 循環(huán)處理源表的每一個(gè)字段,根據(jù)RULE_DETAIL字段的規(guī)則生成處理程序,如果該 字段為空則不做處理;
[0136] 生成數(shù)據(jù)插入及插入沖突時(shí)進(jìn)行更新部分程序,并更新處理標(biāo)志flag字段;
[0137] 生成事務(wù)提交部分程序,每處理N條記錄進(jìn)行一次事務(wù)提交;
[0138] 根據(jù)日志記錄規(guī)范生成記錄日志部分程序;
[0139] 生成容錯(cuò)處理部分程序,根據(jù)錯(cuò)誤嚴(yán)重登記分別做容錯(cuò)處理;
[0140] 直至DATA_TRANSFER_RULE表所有待迀移表都生成對(duì)應(yīng)的程序,然后退出。
[0141] 步驟S209 :對(duì)程序進(jìn)行校驗(yàn)。
[0142] 步驟S2010:判斷程序校驗(yàn)是否出現(xiàn)錯(cuò)誤,如果存在錯(cuò)誤,則執(zhí)行步驟S2011,否則 執(zhí)行步驟S2012。
[0143] 步驟S2011:對(duì)校驗(yàn)出錯(cuò)的程序進(jìn)行調(diào)整,調(diào)整完成后轉(zhuǎn)到步驟S209。
[0144] 步驟 S2012:結(jié)束。
[0145] 在生成了迀移程序后,通過上述待迀移數(shù)據(jù)導(dǎo)出單元2根據(jù)源系統(tǒng)和目標(biāo)系統(tǒng)的 數(shù)據(jù)庫類型導(dǎo)出源系統(tǒng)的待迀移數(shù)據(jù)。具體實(shí)施時(shí),根據(jù)實(shí)際應(yīng)用的場(chǎng)景(兩個(gè)系統(tǒng)的數(shù)據(jù) 庫類型等)可以使用不用的導(dǎo)出方法,在源系統(tǒng)和目標(biāo)系統(tǒng)使用的數(shù)據(jù)庫產(chǎn)品相同的情況 下,可以將數(shù)據(jù)導(dǎo)出為該數(shù)據(jù)庫特有的二進(jìn)制格式;在源系統(tǒng)和目標(biāo)系統(tǒng)使用的數(shù)據(jù)庫產(chǎn) 品不同的情況下,可以導(dǎo)出為通用的純文本文件格式。以上所述的情況僅為舉例說明,并非 用以限制本發(fā)明。
[0146] 對(duì)于導(dǎo)出的數(shù)據(jù),可通過上述的數(shù)據(jù)迀移單元3調(diào)用迀移程序?qū)⒋|移數(shù)據(jù)迀移 至目標(biāo)系統(tǒng)。
[0147] 在進(jìn)行大量數(shù)據(jù)處理時(shí),串行處理速度慢、效率低,在當(dāng)前硬件配置普遍配有多處 理器的情況下,無法充分利用硬件資源。所以,在本發(fā)明實(shí)施例中,在數(shù)據(jù)處理時(shí)通過對(duì)邏 輯上獨(dú)立的數(shù)據(jù)采用并行調(diào)度處理,從而達(dá)到明顯的加快速度的效果。并行處理過程具體 是,對(duì)每一個(gè)待處理任務(wù),配置好并行條件(地區(qū)、年、月等),將待處理任務(wù)劃分為若干子任 務(wù),以子任務(wù)粒度進(jìn)行調(diào)度。調(diào)度的原則是:以設(shè)置并行數(shù)為6為例,首次開始調(diào)度時(shí),一次 性調(diào)起6個(gè)子任務(wù),后續(xù)當(dāng)運(yùn)行的子任務(wù)小于6個(gè)時(shí),則從待處理子任務(wù)中調(diào)起補(bǔ)足6個(gè),直 到?jīng)]有待處理子任務(wù)為止。
[0148] 并行條件根據(jù)數(shù)據(jù)的存儲(chǔ)特征進(jìn)行選取,大量的數(shù)據(jù)在存儲(chǔ)時(shí)常采用分區(qū)機(jī)制, 邏輯上獨(dú)立的數(shù)據(jù)分布在不同的分區(qū)上,分區(qū)條件適宜用于作為并行條件。如按地區(qū)進(jìn)行 并行、按年份進(jìn)行并行、按月份進(jìn)行并行等。
[0149] 并行數(shù)應(yīng)結(jié)合硬件的配置情況設(shè)置合理的數(shù)值,保證硬件資源的充分利用,但又 不能設(shè)置過高,避免出現(xiàn)并行數(shù)過高出現(xiàn)硬件資源爭(zhēng)用,導(dǎo)致瓶頸,反而降低處理效率。一 般情況下并行數(shù)應(yīng)滿足以下條件:
[0150] 并行數(shù) < 處理器個(gè)數(shù)。
[0151] 以按地區(qū)并行為例,假設(shè)并行數(shù)為6,則處理開始后同一時(shí)刻有6個(gè)地區(qū)的數(shù)據(jù)在 并行處理,當(dāng)有地區(qū)處理完成后,立刻從未處理地區(qū)中調(diào)起處理任務(wù)補(bǔ)上,保證任一時(shí)刻都 有6個(gè)地區(qū)在進(jìn)行處理(當(dāng)正在處理的地區(qū)數(shù)+未處理的地區(qū)數(shù)〈6時(shí)除外)。并且,針對(duì)每個(gè) 地區(qū)的待處理任務(wù),都有其各自對(duì)應(yīng)的并行參數(shù),用以辨識(shí)是屬于哪個(gè)地區(qū)的待處理任務(wù)。 例如圖3所示,對(duì)于處理中地區(qū)中的浙江地區(qū),通過識(shí)別浙江地區(qū)的并行參數(shù)來確定是屬于 浙江地區(qū)的處理任務(wù),因此,將浙江地區(qū)的待迀移數(shù)據(jù)迀移至與浙江地區(qū)相對(duì)應(yīng)的目標(biāo)系 統(tǒng)中,然后,可將浙江地區(qū)劃分至"已處理地區(qū)"中,并從"待處理地區(qū)"中選取一個(gè)地區(qū)補(bǔ)入 到"處理中地區(qū)"中,從而保證"處理中地區(qū)"中的并行數(shù)為6。
[0152] 在實(shí)際應(yīng)用中,將待迀移數(shù)據(jù)從源系統(tǒng)迀移至目標(biāo)系統(tǒng)后,可通過一數(shù)據(jù)校驗(yàn)單 元對(duì)數(shù)據(jù)迀移的正確性進(jìn)行校驗(yàn)。數(shù)據(jù)校驗(yàn)的方式主要是通過核對(duì)數(shù)據(jù)迀移前后的基本信 息是否一致進(jìn)行判斷。其中,數(shù)據(jù)常見的基本信息包括:(1)數(shù)據(jù)量,核對(duì)迀移后的數(shù)據(jù)與原 始待迀移數(shù)據(jù)的數(shù)據(jù)量是否匹配;(2)關(guān)鍵信息,抽查目標(biāo)系統(tǒng)中的關(guān)鍵信息在迀移后是否 正確,如金額、額度等。(3)總賬及分賬信息,數(shù)據(jù)迀移后,目標(biāo)系統(tǒng)中數(shù)據(jù)所包含的分戶賬 匯總與總賬應(yīng)該仍保持一致。
[0153] 如果迀移前后的數(shù)據(jù)的基本信息一致,則可反饋一校驗(yàn)結(jié)果,表示迀移成功;如果 迀移前后的數(shù)據(jù)的基本信息并不一致,則反饋的校驗(yàn)結(jié)果為:迀移失敗。
[0154] 在實(shí)際應(yīng)用中,對(duì)于兩系統(tǒng)間進(jìn)行數(shù)據(jù)迀移的過程有可能會(huì)存在處理過程出錯(cuò)的 情況,針對(duì)此種情況,本發(fā)明實(shí)施例的系統(tǒng)間數(shù)據(jù)迀移裝置還可包含一中斷容錯(cuò)處理單元, 該中斷容錯(cuò)處理單元主要用于執(zhí)行以下過程:
[0155] 首先,對(duì)處理過程中可能出現(xiàn)的錯(cuò)誤進(jìn)行分類,并標(biāo)識(shí)出嚴(yán)重等級(jí)。只對(duì)嚴(yán)重錯(cuò)誤 進(jìn)行中斷,對(duì)一般錯(cuò)誤,在處理時(shí)做容錯(cuò)處理,視具體的情況,可對(duì)錯(cuò)誤進(jìn)行默認(rèn)處理,或者 記錄錯(cuò)誤日志信息,在迀移完成后對(duì)這些錯(cuò)誤進(jìn)行事后修復(fù),確保數(shù)據(jù)迀移過程中盡量減 少甚至消除中斷,平穩(wěn)運(yùn)行結(jié)束。
[0156] 上述的嚴(yán)重錯(cuò)誤是指出現(xiàn)該錯(cuò)誤后,如果不中斷,則數(shù)據(jù)無法迀移,或者迀移后無 法進(jìn)行事后修復(fù)的錯(cuò)誤。對(duì)于這類錯(cuò)誤,應(yīng)該進(jìn)行中斷并人工接管,在排除錯(cuò)誤后重新調(diào)起 處理任務(wù)。
[0157] 上述的一般錯(cuò)誤是指該錯(cuò)誤出現(xiàn)后,可以通過默認(rèn)的處理方式進(jìn)行迀移,或者迀 移完后可以通過其他方式進(jìn)行事后修復(fù)。對(duì)于這類錯(cuò)誤,應(yīng)避免中斷,優(yōu)先保證絕大部分?jǐn)?shù) 據(jù)的順利迀移,少量的一般錯(cuò)誤則通過事后修復(fù)解決。
[0158] 而當(dāng)數(shù)據(jù)迀移過程中斷時(shí),本發(fā)明實(shí)施例的系統(tǒng)間數(shù)據(jù)迀移裝置可通過一斷點(diǎn)續(xù) 做單元實(shí)現(xiàn)斷點(diǎn)續(xù)做。斷點(diǎn)續(xù)做是指已出現(xiàn)中斷錯(cuò)誤,在排除中斷錯(cuò)誤后,重新提交調(diào)度 時(shí),不需要清理或者還原已經(jīng)成功處理的部分,而可以在中斷處繼續(xù)進(jìn)行處理。斷點(diǎn)續(xù)做的 好處是在排除錯(cuò)誤后,能夠繼續(xù)之前的處理,對(duì)已迀移成功部分不需要重復(fù)處理,節(jié)約處理 時(shí)間。在時(shí)間窗有限,處理耗時(shí)較長的情況下,斷點(diǎn)續(xù)做機(jī)制能夠有效的保證數(shù)據(jù)迀移的連 續(xù)性。
[0159]實(shí)現(xiàn)斷點(diǎn)續(xù)做的具體過程是,通過對(duì)待迀移數(shù)據(jù)中添加處理標(biāo)志Flag附屬信息, 在未做處理時(shí),F(xiàn)lag附屬信息為空。在處理成功后,返寫Flag附屬信息為1,當(dāng)處理出現(xiàn)錯(cuò)誤 時(shí),返寫Flag附屬信息為2。在調(diào)度處理時(shí),只處理未處理的部分(即Flag為空的記錄)以及 處理出現(xiàn)錯(cuò)誤的部分(即Flag為2的記錄)。在中斷后重新開始處理時(shí),可跳過已成功處理的 記錄,只處理尚未處理的數(shù)據(jù)以及處理出現(xiàn)錯(cuò)誤的記錄,從而實(shí)現(xiàn)斷點(diǎn)續(xù)做,繼續(xù)進(jìn)行數(shù)據(jù) 迀移。
[0160] 具體實(shí)施時(shí),可通過日志記錄的方式對(duì)整個(gè)數(shù)據(jù)迀移過程進(jìn)行記錄。在迀移過程 中對(duì)迀移的信息記錄規(guī)范統(tǒng)一的日志信息,分為記錄級(jí)別的日志和調(diào)度級(jí)別的日志。日志 的用途在于迀移完成后,能夠通過日志信息對(duì)于迀移的情況進(jìn)行詳細(xì)的分析,對(duì)于其中出 現(xiàn)的錯(cuò)誤能夠通過日志輕松定位問題原因,并提供核對(duì)的基礎(chǔ)數(shù)據(jù)。
[0161] 記錄級(jí)別的日志用于記錄每個(gè)數(shù)據(jù)的迀移是處理成功還是處理失敗,如果處理失 敗,則記錄失敗的錯(cuò)誤信息。
[0162] 調(diào)度級(jí)別的日志記錄迀移調(diào)度的開始時(shí)間和結(jié)束時(shí)間,用于計(jì)算迀移的耗時(shí)。記 錄調(diào)度中的總處理記錄數(shù),其中處理成功記錄數(shù)和處理失敗記錄數(shù),用于迀移完成后進(jìn)行 數(shù)據(jù)量核對(duì)。
[0163] 本發(fā)明實(shí)施例的系統(tǒng)間數(shù)據(jù)迀移裝置,有效解決了新舊系統(tǒng)之間大數(shù)據(jù)量迀移帶 來的工作量巨大,迀移效率低,耗時(shí)長,中斷頻度高,迀移完成后校驗(yàn)準(zhǔn)確性困難的問題。通 過優(yōu)化迀移過程中的各個(gè)環(huán)節(jié),形成一套完整的、高效的、可靠的系統(tǒng)間數(shù)據(jù)迀移裝置和方 法。如圖5所示,通過構(gòu)建代碼生成器生成風(fēng)格統(tǒng)一、質(zhì)量可靠的迀移程序,減少系統(tǒng)間數(shù)據(jù) 迀移的人力投入,節(jié)約企業(yè)開發(fā)資源。通過并行調(diào)度和斷點(diǎn)續(xù)做顯著提高迀移處理速度,降 低對(duì)投產(chǎn)時(shí)間窗的要求,保證對(duì)客戶服務(wù)的連續(xù)性。通過完善的日志記錄,迀移完成后能夠 準(zhǔn)確的評(píng)估迀移情況,并能根據(jù)日志信息對(duì)錯(cuò)誤進(jìn)行事后修復(fù),為新舊系統(tǒng)之間快速平穩(wěn) 切換提供可靠保障。
[0164] 本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟可以通 過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,比如 R0M/RAM、磁碟、光盤等。
[0165] 以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳 細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限定本發(fā)明的保 護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本 發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種系統(tǒng)間數(shù)據(jù)迀移方法,其特征在于,所述的系統(tǒng)間數(shù)據(jù)迀移方法包括: 根據(jù)待迀移數(shù)據(jù)和預(yù)先設(shè)置的迀移規(guī)范及配置信息模板生成迀移程序; 根據(jù)源系統(tǒng)和目標(biāo)系統(tǒng)的數(shù)據(jù)庫類型導(dǎo)出源系統(tǒng)的待迀移數(shù)據(jù); 調(diào)用所述迀移程序?qū)⑺龃|移數(shù)據(jù)迀移至所述的目標(biāo)系統(tǒng)。2. 根據(jù)權(quán)利要求1所述的系統(tǒng)間數(shù)據(jù)迀移方法,其特征在于,所述的系統(tǒng)間數(shù)據(jù)迀移方 法還包括: 對(duì)迀移后的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn),核對(duì)所述迀移后的數(shù)據(jù)的基本信息與所述待迀移數(shù)據(jù) 的基本信息是否一致; 如果是,則迀移成功;否則迀移失??; 其中,所述的基本信息至少包括:所述迀移后的數(shù)據(jù)及待迀移數(shù)據(jù)的數(shù)據(jù)量、關(guān)鍵信 息、總賬及分賬信息。3. 根據(jù)權(quán)利要求1所述的系統(tǒng)間數(shù)據(jù)迀移方法,其特征在于,根據(jù)待迀移數(shù)據(jù)和預(yù)先設(shè) 置的迀移規(guī)范及配置信息模板生成迀移程序,包括: 根據(jù)所述源系統(tǒng)和目標(biāo)系統(tǒng)確定迀移規(guī)范及配置信息模板; 根據(jù)所述待迀移數(shù)據(jù)及所述配置信息模板生成配置信息表; 根據(jù)所述迀移規(guī)范及配置信息表生成所述的迀移程序。4. 根據(jù)權(quán)利要求1所述的系統(tǒng)間數(shù)據(jù)迀移方法,其特征在于,調(diào)用所述迀移程序?qū)⑺?待迀移數(shù)據(jù)迀移至所述的目標(biāo)系統(tǒng),包括: 根據(jù)所述待迀移數(shù)據(jù)的存儲(chǔ)特征選取并行條件將所述待迀移數(shù)據(jù)劃分成多個(gè)待處理 子任務(wù); 調(diào)用所述迀移程序,按照一預(yù)設(shè)并行數(shù)及各所述待處理子任務(wù)的并行參數(shù)并行處理所 述的待處理子任務(wù),以將所述待迀移數(shù)據(jù)并行迀移至所述的目標(biāo)系統(tǒng)。5. 根據(jù)權(quán)利要求1所述的系統(tǒng)間數(shù)據(jù)迀移方法,其特征在于,所述的系統(tǒng)間數(shù)據(jù)迀移方 法還包括: 對(duì)每一所述待迀移數(shù)據(jù)添加處理標(biāo)志附屬信息,用以區(qū)分已迀移數(shù)據(jù),當(dāng)數(shù)據(jù)迀移過 程中斷時(shí),根據(jù)所述處理標(biāo)志附屬信息對(duì)所述已迀移數(shù)據(jù)之外的數(shù)據(jù)繼續(xù)進(jìn)行數(shù)據(jù)迀移。6. -種系統(tǒng)間數(shù)據(jù)迀移裝置,其特征在于,所述的系統(tǒng)間數(shù)據(jù)迀移裝置包括: 迀移程序生成單元,用于根據(jù)待迀移數(shù)據(jù)和預(yù)先設(shè)置的迀移規(guī)范及配置信息模板生成 迀移程序; 待迀移數(shù)據(jù)導(dǎo)出單元,用于根據(jù)源系統(tǒng)和目標(biāo)系統(tǒng)的數(shù)據(jù)庫類型導(dǎo)出源系統(tǒng)的待迀移 數(shù)據(jù); 數(shù)據(jù)迀移單元,用于調(diào)用所述迀移程序?qū)⑺龃|移數(shù)據(jù)迀移至所述的目標(biāo)系統(tǒng)。7. 根據(jù)權(quán)利要求6所述的系統(tǒng)間數(shù)據(jù)迀移裝置,其特征在于,所述的系統(tǒng)間數(shù)據(jù)迀移裝 置還包括: 數(shù)據(jù)校驗(yàn)單元,用于對(duì)迀移后的數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn),核對(duì)所述迀移后的數(shù)據(jù)的基本信 息與所述待迀移數(shù)據(jù)的基本信息是否一致;如果是,則表示迀移成功;否則表示迀移失敗; 其中,所述的基本信息至少包括:所述迀移后的數(shù)據(jù)及待迀移數(shù)據(jù)的數(shù)據(jù)量、關(guān)鍵信 息、總賬及分賬信息。8. 根據(jù)權(quán)利要求6所述的系統(tǒng)間數(shù)據(jù)迀移裝置,其特征在于,所述的迀移程序生成單元 具體用于: 根據(jù)所述源系統(tǒng)和目標(biāo)系統(tǒng)確定迀移規(guī)范及配置信息模板; 根據(jù)所述待迀移數(shù)據(jù)及所述配置信息模板生成配置信息表; 根據(jù)所述迀移規(guī)范及配置信息表生成所述的迀移程序。9. 根據(jù)權(quán)利要求6所述的系統(tǒng)間數(shù)據(jù)迀移裝置,其特征在于,所述的數(shù)據(jù)迀移單元具體 用于: 根據(jù)所述待迀移數(shù)據(jù)的存儲(chǔ)特征選取并行條件將所述待迀移數(shù)據(jù)劃分成多個(gè)待處理 子任務(wù); 調(diào)用所述迀移程序,按照一預(yù)設(shè)并行數(shù)及各所述待處理子任務(wù)的并行參數(shù)并行處理所 述的待處理子任務(wù),以將所述待迀移數(shù)據(jù)并行迀移至所述的目標(biāo)系統(tǒng)。10. 根據(jù)權(quán)利要求6所述的系統(tǒng)間數(shù)據(jù)迀移裝置,其特征在于,所述的系統(tǒng)間數(shù)據(jù)迀移 裝置還包括: 斷點(diǎn)續(xù)做單元,用于對(duì)每一所述待迀移數(shù)據(jù)添加處理標(biāo)志附屬信息,用以區(qū)分已迀移 數(shù)據(jù),當(dāng)數(shù)據(jù)迀移過程中斷時(shí),所述斷點(diǎn)續(xù)做單元根據(jù)所述處理標(biāo)志附屬信息對(duì)所述已迀 移數(shù)據(jù)之外的數(shù)據(jù)繼續(xù)進(jìn)行數(shù)據(jù)迀移。
【文檔編號(hào)】G06F17/30GK106055670SQ201610391443
【公開日】2016年10月26日
【申請(qǐng)日】2016年6月6日
【發(fā)明人】管濤, 賈琳飛, 戚云琪
【申請(qǐng)人】中國工商銀行股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
淮安市| 绥化市| 安远县| 平利县| 霍邱县| 沿河| 成安县| 富川| 兰考县| 抚远县| 新乐市| 农安县| 仁怀市| 临沂市| 莱州市| 汝阳县| 滨州市| 翁牛特旗| 汶上县| 甘南县| 枞阳县| 台湾省| 昭觉县| 金坛市| 炎陵县| 卢龙县| 海安县| 滨州市| 崇阳县| 潞城市| 广灵县| 富锦市| 右玉县| 商都县| 河曲县| 宝坻区| 乐平市| 西盟| 沙雅县| 杭州市| 治多县|