[發明專利]大表流式并行高速數據比對方法有效
| 申請號: | 201710819917.8 | 申請日: | 2017-09-12 |
| 公開(公告)號: | CN107679104B | 公開(公告)日: | 2020-11-24 |
| 發明(設計)人: | 聞建霞;柳遵梁;姚遠;陳慧慧;陳建培;呂海波 | 申請(專利權)人: | 杭州美創科技有限公司 |
| 主分類號: | G06F16/2455 | 分類號: | G06F16/2455;G06F16/2453;G06F16/22 |
| 代理公司: | 杭州杭誠專利事務所有限公司 33109 | 代理人: | 尉偉敏;閻忠華 |
| 地址: | 310011 浙江省杭州市拱*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 大表流式 并行 高速 數據 方法 | ||
1.一種大表流式并行高速數據比對方法,其特征是,包括如下步驟:
(1-1)比對應用程序通過數據庫鏈接配置待比對的主數據庫表信息和備數據庫表的信息,如果主數據庫表信息和備數據庫表信息結構不一致,返回無法比對;
(1-2)比較主數據庫表信息和備數據庫表的索引字段,獲取最小值min和最大值max,用于比對開始與結束標記;并設置并行比對通道數N,N動態生成,用于并行處理:
設定主數據庫表A的表結構為a integer primary key,b varchar,c number(10);備數據庫表B的表結構為a integer primary key,b varchar,c number(10);
通過sql腳本查詢表A,B的索引字段為:a integer,并獲取兩表索引字段的最小值作為比對開始標記:,索引字段的最大值作為比對結束標記:;
分別將N取值為N=1,N=2, N=3,N=4,N=5,根據開始標記startFlag遞增排序每次取出表A,B中的5000行記錄,將該5000行記錄根據比對通道數拆分成N數據塊,并進行比對,且計算N取不同值時每秒比對多少行記錄;最后,將N取值為每秒比對行數最多的通道數;
(1-3)將主備數據庫表的記錄按索引字段遞增排序,并將排序結果按并行比對通道數N進行分塊,且各個通道分別流式讀取數據,存于緩存中:
將剩下的待比對數據按照索引遞增排序拆分成N個數據塊,分別通過N個比對通道數進行比對,每個通道每次讀取記錄行數設置為max=5000行,分多次流式取出,存于緩存中,依次等待比對;在比對的過程中,判斷各個通道是否都完成比對,未完成的通道將剩余數據拆分成多個通道,保持在并行處理數據比對的通道數為N,直到所有通道完成100萬行數據比對,結束;
(1-4)在各個通道中并行處理數據比對,記錄比對結果:
從緩存中讀取一行記錄,將主備表改行的索引字段內容進行比較,如果大小相同,則繼續比較其他字段;如果大小不相同,則將不一致情況記錄到異常表中,然后繼續比較下一行記錄;
比較結果有如下幾種情況:該行記錄只在主表中存在,則將異常表中的sourceCount字段加1;該行記錄只在備表中存在,則將異常表中的targetCount字段加1;該行記錄只在主備表中都存在,但存在字段內容不相同,則將異常表中的diffCount字段加1;該行記錄只在主備表中都存在,但存在字段內容相同,則將異常表中的sameCount字段加1。
2.根據權利要求1所述的大表流式并行高速數據比對方法,其特征是,所述主數據庫表信息和備數據庫表的信息均包括參與比對的主備數據庫對應的表名稱,字段名稱及對應字段類型。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州美創科技有限公司,未經杭州美創科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710819917.8/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





