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

一種數(shù)據(jù)遷移測試方法和系統(tǒng)的制作方法

文檔序號:8457278閱讀:569來源:國知局
一種數(shù)據(jù)遷移測試方法和系統(tǒng)的制作方法
【專利說明】一種數(shù)據(jù)遷移測試方法和系統(tǒng) 【技術領域】
[0001] 本發(fā)明涉及計算機應用技術領域,特別涉及一種數(shù)據(jù)遷移測試方法和系統(tǒng)。 【【背景技術】】
[0002] 隨著大數(shù)據(jù)時代的到來,很多公司或者企業(yè)都會在自己的數(shù)據(jù)庫中存儲海量的數(shù) 據(jù),而隨著業(yè)務的發(fā)展,市場面臨著系統(tǒng)的升級或者重構,就可能會涉及到數(shù)據(jù)的遷移和表 的拆分或合并,這么大數(shù)據(jù)量的遷移給數(shù)據(jù)的驗證帶來挑戰(zhàn),如何更加高效地測試并保證 質量亟待解決。
[0003] 現(xiàn)有的測試方式主要存在以下兩種:
[0004] 第一種、通過編寫java類,將原始文件的數(shù)據(jù)和目標文件的數(shù)據(jù)分別一條一條的 取出,然后進行循環(huán)比對。
[0005] 第二種、在數(shù)據(jù)庫層面編寫存儲程序,將原始文件的數(shù)據(jù)和目標文件的數(shù)據(jù)一條 一條的取出,然后進行循環(huán)比對。
[0006] 上述原始文件指的是數(shù)據(jù)遷移之前的數(shù)據(jù)文件,目標文件指的是數(shù)據(jù)遷移之后的 數(shù)據(jù)文件,正常情況之下數(shù)據(jù)遷移后,原始文件和目標文件中的各條數(shù)據(jù)應該相同,如果發(fā) 生不同,則說明存在錯誤(Bug)。
[0007] 然而,現(xiàn)有技術中的兩種方式都需要從原始文件中取出一條數(shù)據(jù)后,循環(huán)遍歷目 標表中的數(shù)據(jù),取出對應同一條數(shù)據(jù)的內容進行比對,然后再從原始文件中取出下一條數(shù) 據(jù),以此循環(huán)執(zhí)行。也就是說,需要執(zhí)行兩層循環(huán),對于大數(shù)量來說,耗時長,可能要達到幾 個小時或者十幾個小時,而且寫存儲過程,對數(shù)據(jù)庫端的壓力也是相當大。 【
【發(fā)明內容】

[0008] 有鑒于此,本發(fā)明提供了一種數(shù)據(jù)遷移測試方法和系統(tǒng),以便于提高測試效率。
[0009] 具體技術方案如下:
[0010] 本發(fā)明首先提供了一種數(shù)據(jù)遷移測試方法,該方法包括:
[0011] 分別將原始文件與目標文件中的每一條數(shù)據(jù)封裝成鍵key-值data對,其中同一 條數(shù)據(jù)分別在原始文件和目標文件封裝成的key-data對中具有相同的key ;
[0012] 對各key-data對中具有相同key的數(shù)據(jù)進行收集;
[0013] 將key相同的data進行比較從而得到測試結果。
[0014] 根據(jù)本發(fā)明一優(yōu)選實施方式,所述key能夠分別在所述原始文件和目標文件中唯 一標識一條數(shù)據(jù);
[0015] 所述data為所述原始文件和目標文件中預設字段的數(shù)據(jù)。
[0016] 根據(jù)本發(fā)明一優(yōu)選實施方式,所述將key相同的data進行比較從而得到測試結果 包括:
[0017] 將key相同的兩個data進行比較,如果兩個data不同,則確定該key對應的data 出現(xiàn)異常;或者,如果key僅存在一個對應的data,則確定該key對應的data出現(xiàn)異常;
[0018] 將出現(xiàn)異常的data形成測試結果文件。
[0019] 根據(jù)本發(fā)明一優(yōu)選實施方式,該方法還包括:
[0020] 利用在不同類型數(shù)據(jù)庫文件系統(tǒng)之間交換數(shù)據(jù)的工具讀取原始文件和目標文件, 并將所述原始文件和目標文件進行格式轉換,得到分布式系統(tǒng)能夠處理的數(shù)據(jù)格式;
[0021] 利用所述工具將原始文件和目標文件拉到所述分布式系統(tǒng);
[0022] 由所述分布式系統(tǒng)執(zhí)行所述封裝、收集和比較的處理;
[0023] 由所述分布式系統(tǒng)輸出所述測試結果,或者所述分布式系統(tǒng)將所述測試結果返回 給所述工具,由所述工具將所述測試結果導出。
[0024] 根據(jù)本發(fā)明一優(yōu)選實施方式,在所述分布式系統(tǒng)中,所述封裝的處理被分發(fā)至多 個子系統(tǒng)并行執(zhí)行,將各子系統(tǒng)的處理結果進行匯總后,由一個子系統(tǒng)執(zhí)行所述收集和比 較的處理;或者,
[0025] 在所述分布式系統(tǒng)中,所述封裝的處理被分發(fā)至多個子系統(tǒng)并行執(zhí)行,將各子系 統(tǒng)的處理結果進行匯總后,所述收集和比較的處理被分發(fā)至多個子系統(tǒng)并行執(zhí)行;其中在 將各子系統(tǒng)的處理結果進行匯總后,采用散列算法來保證具有相同key的key-data對被分 發(fā)至同一個子系統(tǒng)。
[0026] 本發(fā)明還提供了一種數(shù)據(jù)遷移測試系統(tǒng),該系統(tǒng)包括:
[0027] 封裝單元,用于分別將原始文件與目標文件中的每一條數(shù)據(jù)封裝成key-data對, 其中同一條數(shù)據(jù)分別在原始文件和目標文件封裝成的key-data對中具有相同的key ;
[0028] 收集單元,用于對各key-data對中具有相同key的數(shù)據(jù)進行收集;
[0029] 比較單元,用于將key相同的data進行比較從而得到測試結果。
[0030] 根據(jù)本發(fā)明一優(yōu)選實施方式,所述key能夠分別在所述原始文件和目標文件中唯 一標識一條數(shù)據(jù);
[0031] 所述data為所述原始文件和目標文件中預設字段的數(shù)據(jù)。
[0032] 根據(jù)本發(fā)明一優(yōu)選實施方式,所述比較單元,具體用于將key相同的兩個data進 行比較,如果兩個data不同,則確定該key對應的data出現(xiàn)異常,或者,如果key僅存在一 個對應的data,則確定該key對應的data出現(xiàn)異常;將出現(xiàn)異常的data形成測試結果文 件。
[0033] 根據(jù)本發(fā)明一優(yōu)選實施方式,該系統(tǒng)還包括:在不同類型數(shù)據(jù)庫文件系統(tǒng)之間交 換數(shù)據(jù)的工具和分布式系統(tǒng);
[0034] 所述工具讀取原始文件和目標文件,并將所述原始文件和目標文件進行格式轉 換,得到分布式系統(tǒng)能夠處理的數(shù)據(jù)格式,將所述原始文件和目標文件拉到所述分布式系 統(tǒng);
[0035] 所述封裝單元、收集單元和比較單元設置于所述分布式系統(tǒng)中;
[0036] 所述分布式系統(tǒng),還用于輸出所述測試結果,或者將所述測試結果返回給所述工 具,由所述工具將所述測試結果導出。
[0037] 根據(jù)本發(fā)明一優(yōu)選實施方式,在所述分布式系統(tǒng)中,所述封裝單元設置于多個并 行的子系統(tǒng)中,所述收集單元和比較單元設置于一個子系統(tǒng)中,設置有封裝單元的各子系 統(tǒng)的處理結果被匯總后提供給設置有收集單元和比較單元的子系統(tǒng);或者,
[0038] 在所述分布式系統(tǒng)中,所述封裝單元設置于多個并行的子系統(tǒng)中,所述收集單元 和比較單元也設置于多個并行的子系統(tǒng)中,設置有封裝單元的各子系統(tǒng)的處理結果被匯總 后采用散列算法保證具有相同key的key-data對被分發(fā)至同一個設置有收集單元和比較 單兀的子系統(tǒng)。
[0039] 由以上技術方案可以看出,在本發(fā)明中僅需要對所有key-data對進行一次循環(huán) 比較即可獲得測試結果,相比較現(xiàn)有技術中通過編寫java類或者在數(shù)據(jù)庫層面編寫存儲 程序的方式需要兩層循環(huán),提高了測試效率。 【【附圖說明】】
[0040] 圖1為本發(fā)明實施例一提供的數(shù)據(jù)遷移測試方法流程圖;
[0041] 圖2為本發(fā)明實施例二提供的數(shù)據(jù)遷移測試方法流程圖;
[0042] 圖3為本發(fā)明實施例三提供的數(shù)據(jù)遷移測試系統(tǒng)的結構圖;
[0043] 圖4為本發(fā)明實施例三提供的采用分布式方式的數(shù)據(jù)遷移測試系統(tǒng)的結構圖;
[0044] 圖5為本發(fā)明實施例三提供的采用分布式方式的數(shù)據(jù)遷移測試系統(tǒng)的另一種結 構圖。 【【具體實施方式】】
[0045] 為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖和具體實施例對 本發(fā)明進行詳細描述。
[0046] 本發(fā)明的核心思想在于,分別讀取原始文件與目標文件并封裝成鍵值對,然后對 各鍵值對中具有相同key的數(shù)據(jù)進行收集,將key相同的數(shù)據(jù)進行比較,從而得到測試結 果。下面通過實施例一對本發(fā)明提供的方法進行詳細描述。
[0047] 實施例一、
[0048] 圖1為本發(fā)明實施例一提供的數(shù)據(jù)遷移測試方法流程圖,如圖1所示,該方法可以 具體包括以下步驟:
[0049] 步驟101 :分別讀取原始文件與目標文件并封裝成map對象,其中同一條數(shù)據(jù)分別 在原始文件和目標文件封裝成的map對象中具有相同的key。
[0050] 由于map對象的數(shù)據(jù)結構由兩部分組成:key (鍵)和值(data),表示為Map (key, data),可以將預設字段的數(shù)據(jù)內容作為data,需要將可以唯一標識data的字段作為key, 從而保證由原始文件封裝成的各data具有不
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
阿拉善右旗| 兴城市| 石屏县| 丰台区| 介休市| 渭南市| 青冈县| 黑河市| 华坪县| 阜南县| 泸溪县| 房山区| 大石桥市| 金堂县| 开封市| 林州市| 大关县| 壶关县| 山阳县| 东兰县| 仁寿县| 梨树县| 克拉玛依市| 沧州市| 福安市| 昂仁县| 漯河市| 湘潭县| 城固县| 手游| 临泽县| 双桥区| 鸡东县| 淮安市| 永平县| 绍兴市| 石门县| 南京市| 高邑县| 顺平县| 兰州市|