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

一種快速的跨數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)增量遷移方法

文檔序號:9616340閱讀:1689來源:國知局
一種快速的跨數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)增量遷移方法
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)庫技術領域,尤其涉及一種快速的跨數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)增量迀移方法。
【背景技術】
[0002]數(shù)據(jù)庫是按照數(shù)據(jù)結構來組織、儲存和管理數(shù)據(jù)的倉庫,隨著信息技術和市場的發(fā)展,數(shù)據(jù)管理不再僅僅是儲存和管理數(shù)據(jù),而是轉變成用戶所需要的各種數(shù)據(jù)管理的方式。隨著時代的發(fā)展,企業(yè)的數(shù)據(jù)量正在以前所未有的速度增長,對數(shù)據(jù)的依賴強度越來越高,正是由于數(shù)據(jù)對企業(yè)愈發(fā)重要,數(shù)據(jù)庫管理技術也不斷發(fā)展,出現(xiàn)了不同的數(shù)據(jù)庫管理系統(tǒng)和操作系統(tǒng)平臺,但是企業(yè)由于在成本考慮、老舊設備更新升級、對長時間超負荷的設備進行維護操作或機房變更等,數(shù)據(jù)庫工程師經常需要在兩個不同的數(shù)據(jù)庫之間或在兩種不同的操作系統(tǒng)平臺之間進行數(shù)據(jù)迀移。即將數(shù)據(jù)從一臺機器迀移到另一臺機器,或者將數(shù)據(jù)從一個數(shù)據(jù)庫迀移到另一數(shù)據(jù)庫,并且這些數(shù)據(jù)在轉移后能正常運行。
[0003]在現(xiàn)有技術中,不同數(shù)據(jù)庫之間的數(shù)據(jù)迀移方法主要是:利用Navicat Permium的“數(shù)據(jù)傳輸”功能,實現(xiàn)兩個不同數(shù)據(jù)庫系統(tǒng)之間的數(shù)據(jù)迀移,但是,上述迀移方式的迀移過程花費時間較長,經常超出預期的情況。

【發(fā)明內容】

[0004]有鑒于此,本發(fā)明的目的在于克服現(xiàn)有技術的不足,提供一種快速且安全的跨數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)增量迀移方法。
[0005]為了解決上述技術問題,本發(fā)明采用如下方案實現(xiàn):
一種快速的跨數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)增量迀移方法,獲取源數(shù)據(jù)庫系統(tǒng)中的源數(shù)據(jù)表并將源數(shù)據(jù)表中的數(shù)據(jù)分批量讀取到內存,獲取目標數(shù)據(jù)庫系統(tǒng)的目標數(shù)據(jù)表并根據(jù)目標數(shù)據(jù)表的字段信息,構造增量插入的sql語句,并在目標數(shù)據(jù)庫系統(tǒng)中執(zhí)行該語句,直至數(shù)據(jù)迀移完畢,所述源數(shù)據(jù)庫系統(tǒng)和目標數(shù)據(jù)庫系統(tǒng)選自Oracle、MySQL、SQLite或SQL Server四種數(shù)據(jù)庫系統(tǒng)。
[0006]在獲取源數(shù)據(jù)表和目標數(shù)據(jù)表前,先連接至對應的源數(shù)據(jù)庫系統(tǒng)和目標數(shù)據(jù)庫系統(tǒng)。
[0007]根據(jù)源數(shù)據(jù)庫系統(tǒng)類型和目標數(shù)據(jù)庫系統(tǒng)類型,構造出對應的常規(guī)數(shù)據(jù)庫連接字符串,通過連接字符串連接至源數(shù)據(jù)庫系統(tǒng)和目標數(shù)據(jù)庫系統(tǒng)。
[0008]連接至源數(shù)據(jù)庫系統(tǒng)后,搜索能夠訪問的源數(shù)據(jù)表,并根據(jù)用戶選擇的源數(shù)據(jù)表的表名,獲取源數(shù)據(jù)表中的所有數(shù)據(jù),并將其按大小分批量讀取到內存中。
[0009]連接至目標數(shù)據(jù)庫系統(tǒng)后,搜索能夠訪問的目標數(shù)據(jù)表,并根據(jù)選擇的目標數(shù)據(jù)表,獲取該目標數(shù)據(jù)表的所有字段信息,構造增量插入sql語句,具體為:基于用戶選擇的需要進行同步的目標數(shù)據(jù)表,根據(jù)其表名獲取目標數(shù)據(jù)表中的所有字段,同時根據(jù)選擇的源數(shù)據(jù)表和目標數(shù)據(jù)表的字段映射關系,動態(tài)生成迀移數(shù)據(jù)的sql語句,并將這些sql語句封裝在一個事務中,將sql語句封裝在一個事務中可以在迀移過程中出現(xiàn)迀移失敗的話,便能執(zhí)行回滾操作。
[0010]若目標數(shù)據(jù)庫系統(tǒng)中不存在目標數(shù)據(jù)表,則根據(jù)源數(shù)據(jù)庫系統(tǒng)中的源數(shù)據(jù)表信息,在目標數(shù)據(jù)庫系統(tǒng)中建立一個與源數(shù)據(jù)庫系統(tǒng)中源數(shù)據(jù)表結構、字段和字段類型相兼容的目標數(shù)據(jù)表。
[0011]與現(xiàn)有技術相比,本發(fā)明具有如下有益效果:
1、本發(fā)明的方法對數(shù)據(jù)迀移可以實現(xiàn)跨數(shù)據(jù)庫、跨版本、零停機的迀移,通過使用數(shù)據(jù)對比工具保證了迀移過程中數(shù)據(jù)的完整性,有效地提高了數(shù)據(jù)迀移所花費的時間;
2、相比目前的一般迀移方法,實現(xiàn)了跨數(shù)據(jù)庫在數(shù)秒內完成十萬級別的數(shù)據(jù)迀移,避免大數(shù)據(jù)迀移過程中迀移數(shù)據(jù)時間過長問題;實現(xiàn)跨數(shù)據(jù)庫系統(tǒng)、跨版本的大數(shù)據(jù)迀移,避免了跨數(shù)據(jù)庫系統(tǒng)迀移過程中數(shù)據(jù)轉換問題;該方法同樣適用于小數(shù)據(jù)量數(shù)據(jù)庫的在線迀移。
【附圖說明】
[0012]圖1為實施例1流程圖。
【具體實施方式】
[0013]為了讓本領域的技術人員更好地理解本發(fā)明的技術方案,下面對本發(fā)明作進一步闡述。
[0014]實施例1
如圖1所示,一種快速的跨數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)增量迀移方法,包括如下步驟
51:根據(jù)各個數(shù)據(jù)庫官方網站提供的開發(fā)庫,利用C#語言開發(fā)出程序系統(tǒng)來對數(shù)據(jù)庫系統(tǒng)進行訪問和獲取數(shù)據(jù)。根據(jù)用戶選擇的源數(shù)據(jù)庫系統(tǒng)類型,構造出對應的常規(guī)數(shù)據(jù)庫連接字符串,并且連接至該源數(shù)據(jù)庫系統(tǒng),連接后,搜索能夠訪問的源數(shù)據(jù)表,并顯示出來;
52:基于用戶選擇的源數(shù)據(jù)表,根據(jù)源數(shù)據(jù)表名,獲取源數(shù)據(jù)表中的所有數(shù)據(jù),并將其按大小分批量讀取到內存中,并以DataGridView的形式呈現(xiàn)出來,以供用戶檢查;
53:根據(jù)用戶選擇的目標數(shù)據(jù)庫系統(tǒng)類型,構造出對應的常規(guī)數(shù)據(jù)庫連接字符串,并且連接至該目標數(shù)據(jù)庫系統(tǒng),連接后,搜索能夠訪問的目標數(shù)據(jù)表,并顯示出來;
54:基于用戶選擇的目標數(shù)據(jù)表,根據(jù)目標數(shù)據(jù)表名,獲取該目標數(shù)據(jù)表中的所有字段,并生成目的字段名-下拉選擇列表控件,根據(jù)用戶選擇的源數(shù)據(jù)表和目標數(shù)據(jù)表的字段映射關系,動態(tài)生成迀移數(shù)據(jù)的增量插入sql語句,并在目標數(shù)據(jù)庫系統(tǒng)中執(zhí)行,從而完成數(shù)據(jù)迀移工作。
【主權項】
1.一種快速的跨數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)增量迀移方法,其特征在于,獲取源數(shù)據(jù)庫系統(tǒng)中的源數(shù)據(jù)表并將源數(shù)據(jù)表中的數(shù)據(jù)分批量讀取到內存,獲取目標數(shù)據(jù)庫系統(tǒng)的目標數(shù)據(jù)表并根據(jù)目標數(shù)據(jù)表的字段信息,構造增量插入的sql語句,并在目標數(shù)據(jù)庫系統(tǒng)中執(zhí)行該語句,直至數(shù)據(jù)迀移完畢,所述源數(shù)據(jù)庫系統(tǒng)和目標數(shù)據(jù)庫系統(tǒng)選自Oracle、MySQL、SQLite或SQL Server四種數(shù)據(jù)庫系統(tǒng)。2.根據(jù)權利要求1所述的快速的跨數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)增量迀移方法,其特征在于,根據(jù)目標數(shù)據(jù)庫系統(tǒng)的目標數(shù)據(jù)表字段信息,構造增量插入的sql語句具體為:基于用戶選擇的需要進行同步的目標數(shù)據(jù)表,通過其表名獲取目標數(shù)據(jù)表中的所有字段,同時根據(jù)選擇的源數(shù)據(jù)表和目標數(shù)據(jù)表的字段映射關系,動態(tài)生成迀移數(shù)據(jù)的sql語句。3.根據(jù)權利要求1所述的快速的跨數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)增量迀移方法,其特征在于,若目標數(shù)據(jù)庫系統(tǒng)中不存在目標數(shù)據(jù)表,則根據(jù)源數(shù)據(jù)庫系統(tǒng)中的源數(shù)據(jù)表信息,在目標數(shù)據(jù)庫系統(tǒng)中建立一個與源數(shù)據(jù)庫系統(tǒng)中源數(shù)據(jù)表結構、字段和字段類型相兼容的目標數(shù)據(jù)表。4.根據(jù)權利要求1所述的快速的跨數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)增量迀移方法,其特征在于,所述sql語句封裝在一個事務中。5.根據(jù)權利要求1所述的快速的跨數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)增量迀移方法,其特征在于,在獲取源數(shù)據(jù)表和目標數(shù)據(jù)表前,先連接至對應的源數(shù)據(jù)庫系統(tǒng)和目標數(shù)據(jù)庫系統(tǒng)。6.根據(jù)權利要求5所述的快速的跨數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)增量迀移方法,其特征在于,根據(jù)源數(shù)據(jù)庫系統(tǒng)類型和目標數(shù)據(jù)庫系統(tǒng)類型,構造出對應的常規(guī)數(shù)據(jù)庫連接字符串,通過連接字符串連接至源數(shù)據(jù)庫系統(tǒng)和目標數(shù)據(jù)庫系統(tǒng)。
【專利摘要】本發(fā)明公開了一種快速的跨數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)增量遷移方法,獲取源數(shù)據(jù)庫系統(tǒng)中的源數(shù)據(jù)表并將源數(shù)據(jù)表中的數(shù)據(jù)分批量讀取到內存,獲取目標數(shù)據(jù)庫系統(tǒng)的目標數(shù)據(jù)表并根據(jù)目標數(shù)據(jù)表的字段信息,構造增量插入的sql語句,并在目標數(shù)據(jù)庫系統(tǒng)中執(zhí)行該語句,直至數(shù)據(jù)遷移完畢,所述源數(shù)據(jù)庫系統(tǒng)和目標數(shù)據(jù)庫系統(tǒng)選自Oracle、MySQL、SQLite或SQL?Server四種數(shù)據(jù)庫系統(tǒng)。通過本發(fā)明的方法能夠實現(xiàn)跨數(shù)據(jù)庫的、大數(shù)據(jù)的快速增量遷移。
【IPC分類】G06F17/30
【公開號】CN105373621
【申請?zhí)枴緾N201510886833
【發(fā)明人】張耀安, 鐘佰發(fā), 黃錦東, 陳聲慧, 甘勇, 汪剛, 劉雙廣
【申請人】高新興科技集團股份有限公司
【公開日】2016年3月2日
【申請日】2015年12月7日
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
浏阳市| 仪征市| 方山县| 宁陵县| 金堂县| 万全县| 江山市| 蒙阴县| 甘孜县| 樟树市| 邓州市| 云安县| 新田县| 芜湖县| 司法| 乐至县| 新民市| 武冈市| 福鼎市| 屏东市| 新竹市| 乌鲁木齐市| 镶黄旗| 额尔古纳市| 三原县| 拉孜县| 上饶县| 文安县| 涟源市| 德阳市| 万安县| 长宁县| 荃湾区| 静乐县| 长垣县| 四平市| 兰州市| 张家口市| 福建省| 普定县| 隆德县|