一種Sybase數(shù)據(jù)庫跨平臺(tái)遷移方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫迀移技術(shù)領(lǐng)域,尤指一種Sybase數(shù)據(jù)庫跨平臺(tái)迀移方法和系統(tǒng)。
【背景技術(shù)】
[0002]高端服務(wù)器承載著行業(yè)的核心應(yīng)用,廣泛應(yīng)用在金融、電信、能源、交通等關(guān)鍵應(yīng)用領(lǐng)域,其運(yùn)行直接關(guān)系到社會(huì)、經(jīng)濟(jì)的正常運(yùn)轉(zhuǎn)。長期以來,由于缺乏高端服務(wù)器設(shè)計(jì)和制造能力,我國高端服務(wù)器市場一直為國外廠商把持,其中甲骨文長期占據(jù)20%以上的國內(nèi)市場。在科技部“十一五”863計(jì)劃的支持下,相關(guān)部門、科研單位積極配合,浪潮已成功研制了 32路高端容錯(cuò)計(jì)算機(jī)系統(tǒng),可用度達(dá)到99.999%,系統(tǒng)聯(lián)機(jī)事務(wù)處理能力達(dá)到世界先進(jìn)水平。為提高信息化建設(shè)重大裝備的自主可控性,越來越多的信息系統(tǒng)傾向于使用自主產(chǎn)品。因此,在未來較長的一段時(shí)間內(nèi),國內(nèi)的IT系統(tǒng)建設(shè)面臨著國產(chǎn)化的變革,具體的信息系統(tǒng)建設(shè)與實(shí)施層面,體現(xiàn)為越來越多的跨平臺(tái)迀移工作,其中有相當(dāng)?shù)霓|移工作是從HP-UX平臺(tái)至浪潮K-UX平臺(tái)。
[0003]數(shù)據(jù)庫是IT系統(tǒng)的核心軟件,數(shù)據(jù)庫迀移也是IT系統(tǒng)建設(shè)中極為重要的一部分。由于異構(gòu)服務(wù)器平臺(tái)的CPU指令集差異、操作系統(tǒng)差異以及編譯器差異,使得數(shù)據(jù)庫跨平臺(tái)迀移難度高,工作量大。如何降低迀移難度,減少工作量,是跨平臺(tái)數(shù)據(jù)庫迀移需要解決的關(guān)鍵問題。
【發(fā)明內(nèi)容】
[0004]為了解決上述技術(shù)問題,本發(fā)明提供了一種Sybase數(shù)據(jù)庫跨平臺(tái)迀移方法和系統(tǒng),能夠從可擴(kuò)充處理器架構(gòu)(SPARC,Scalable Processor ARChitecture)平臺(tái)向K-UX平臺(tái)迀移的過程中,降低迀移難度并減少工作量。
[0005]為了達(dá)到本發(fā)明目的,本發(fā)明提供了一種Sybase數(shù)據(jù)庫跨平臺(tái)迀移方法,該方法應(yīng)用于通過以太網(wǎng)建立連接源端與目標(biāo)端,且源端和目標(biāo)端分別與Sybase數(shù)據(jù)庫交互;該方法包括:當(dāng)需要進(jìn)行數(shù)據(jù)庫迀移時(shí),源端收集源端平臺(tái)信息和數(shù)據(jù)庫信息,目標(biāo)端收集目標(biāo)端平臺(tái)信息;源端接收來自所述目標(biāo)端的目標(biāo)端平臺(tái)信息,對(duì)比目標(biāo)端平臺(tái)信息和源端平臺(tái)信息,生成源端和目標(biāo)端的平臺(tái)差異分析表;源端根據(jù)平臺(tái)差異分析表和源端數(shù)據(jù)庫信息,采用預(yù)先設(shè)置的迀移算法生成迀移向?qū)?,根?jù)迀移向?qū)нM(jìn)行數(shù)據(jù)迀移;目標(biāo)端收集目標(biāo)端恢復(fù)的數(shù)據(jù)庫信息,對(duì)比源端數(shù)據(jù)庫信息與目標(biāo)端恢復(fù)的數(shù)據(jù)庫信息,生成源端數(shù)據(jù)庫和目標(biāo)端數(shù)據(jù)庫的一致性檢查表,根據(jù)一致性檢查表確定源端數(shù)據(jù)庫和目標(biāo)端數(shù)據(jù)庫一致,則Sybase數(shù)據(jù)庫跨平臺(tái)迀移完成。
[0006]本發(fā)明還提供了一種Sybase數(shù)據(jù)庫跨平臺(tái)迀移系統(tǒng),包括:源端與目標(biāo)端,通過以太網(wǎng)實(shí)現(xiàn)源端與目標(biāo)端通信,且源端和目標(biāo)端分別與Sybase數(shù)據(jù)庫交互;所述源端,用于收集源端平臺(tái)信息和數(shù)據(jù)庫信息;接收來自目標(biāo)端的目標(biāo)端平臺(tái)信息,對(duì)比目標(biāo)端平臺(tái)信息和源端平臺(tái)信息,生成源端和目標(biāo)端的平臺(tái)差異分析表;根據(jù)平臺(tái)差異分析表和源端數(shù)據(jù)庫信息,采用預(yù)先設(shè)置的迀移算法生成迀移向?qū)?,根?jù)迀移向?qū)нM(jìn)行數(shù)據(jù)迀移;所述目標(biāo)端,用于收集目標(biāo)端平臺(tái)信息和恢復(fù)的數(shù)據(jù)庫信息,對(duì)比源端數(shù)據(jù)庫信息與目標(biāo)端恢復(fù)的數(shù)據(jù)庫信息,生成源端數(shù)據(jù)庫和目標(biāo)端數(shù)據(jù)庫的一致性檢查表,根據(jù)一致性檢查表確定源端數(shù)據(jù)庫和目標(biāo)端數(shù)據(jù)庫一致,則Sybase數(shù)據(jù)庫跨平臺(tái)迀移完成。
[0007]在本發(fā)明的Sybase數(shù)據(jù)庫跨平臺(tái)迀移方法和系統(tǒng),能夠大大降低Sybase數(shù)據(jù)庫從SPARC平臺(tái)向K-UX平臺(tái)迀移的工作量,降低迀移難度。
[0008]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
【附圖說明】
[0009]附圖用來提供對(duì)本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本申請的實(shí)施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對(duì)本發(fā)明技術(shù)方案的限制。
[0010]圖1是本發(fā)明的一種實(shí)施例中Sybase數(shù)據(jù)庫跨平臺(tái)迀移方法的流程示意圖。
[0011]圖2是本發(fā)明的一種實(shí)施例中Sybase數(shù)據(jù)庫跨平臺(tái)迀移系統(tǒng)的架構(gòu)示意圖。
【具體實(shí)施方式】
[0012]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0013]在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0014]Sybase數(shù)據(jù)庫,是一種關(guān)系型數(shù)據(jù)庫系統(tǒng),Sybase數(shù)據(jù)庫主要由三部分組成:(I)進(jìn)行數(shù)據(jù)庫管理和維護(hù)的一個(gè)聯(lián)機(jī)的關(guān)系數(shù)據(jù)庫管理系統(tǒng)Sybase SQL Server ; (2)支持?jǐn)?shù)據(jù)庫應(yīng)用系統(tǒng)的建立與開發(fā)的一組前端工具Sybase SQL Toolset ; (3)可把異構(gòu)環(huán)境下其它廠商的應(yīng)用軟件和任何類型的數(shù)據(jù)連接在一起的接口 Sybase Open Client/OpenServer0
[0015]SPARC平臺(tái),是RISC微處理器架構(gòu)之一,為各種企業(yè)應(yīng)用程序提供創(chuàng)世界紀(jì)錄的性能,只需大型機(jī)成本的一小部分,即可獲得無與倫比的任務(wù)關(guān)鍵型可靠性,唯一包含片上加密和Sybase Solaris安全框架的平臺(tái)與Sybase數(shù)據(jù)庫、業(yè)務(wù)應(yīng)用程序、中間件軟件和Sybase優(yōu)化的解決方案完全集成,并利用全面、內(nèi)置的零成本虛擬化功能提高系統(tǒng)利用率。
[0016]K-UX平臺(tái),是浪潮自主研制的一種UNIX操作系統(tǒng)。
[0017]圖1是本發(fā)明的一種實(shí)施例中Sybase數(shù)據(jù)庫跨平臺(tái)迀移方法的流程示意圖。在本發(fā)明的具體實(shí)施中,Sybase數(shù)據(jù)庫需要從SPARC平臺(tái)向K-UX平臺(tái)迀移,其中設(shè)定SPARC平臺(tái)為源端,K-UX平臺(tái)為目標(biāo)端,通過以太網(wǎng)實(shí)現(xiàn)源端與目標(biāo)端通信。
[0018]如圖1所示,本發(fā)明的Sybase數(shù)據(jù)庫跨平臺(tái)迀移方法,包括:
[0019]步驟11,源端與目標(biāo)端啟動(dòng)后通過以太網(wǎng)建立連接,且源端和目標(biāo)端分別與Sybase數(shù)據(jù)庫交互。
[0020]在本步驟中,源端與目標(biāo)端架構(gòu)基于JAVA實(shí)現(xiàn),以實(shí)現(xiàn)跨平臺(tái)特性,源端安裝于其他服務(wù)器平臺(tái),例如SPARC平臺(tái),目標(biāo)端安裝于K-UX平臺(tái),源端與目標(biāo)端通過以太網(wǎng)通信,且源端和目標(biāo)端分別與Sybase數(shù)據(jù)庫交互。
[0021]步驟12,當(dāng)需要進(jìn)行數(shù)據(jù)庫迀移時(shí),源端收集源端平臺(tái)信息和數(shù)據(jù)庫信息,目標(biāo)端收集目標(biāo)端平臺(tái)信息。
[0022]在本步驟中,源端平臺(tái)信息包括處理器架構(gòu)信息、指令集信息、字節(jié)序信息、編譯器信息、操作系統(tǒng)信息、系統(tǒng)變量信息及文件系統(tǒng)信息;
[0023]數(shù)據(jù)庫信息包括數(shù)據(jù)庫版本信息、數(shù)據(jù)量信息、表信息、索引信息、存儲(chǔ)過程信息、用戶信息及日志信息;
[0024]目標(biāo)端平臺(tái)信息包括處理器架構(gòu)信息、指令集信息、字節(jié)序信息、編譯器信息、操作系統(tǒng)信息、系統(tǒng)變量信息及文件系統(tǒng)信息。
[0025]步驟13,源端接收來自所述目標(biāo)端的目標(biāo)端平臺(tái)信息,對(duì)比目標(biāo)端平臺(tái)信息和源端平臺(tái)信息,生成源端和目標(biāo)端的平臺(tái)差異分析表。
[0026]在本步驟中,如何進(jìn)行對(duì)比為本領(lǐng)域技術(shù)人員所熟知,故在此不贅述。
[0027]步驟14,源端根據(jù)平臺(tái)差異分析表和源端數(shù)據(jù)庫信息,采用預(yù)先設(shè)置的迀移算法生成迀移向?qū)В鶕?jù)迀移向?qū)нM(jìn)行數(shù)據(jù)迀移。
[0028]在本步驟中,源端根據(jù)平臺(tái)差異分析表和源端數(shù)據(jù)庫信息,采用迀移算法生成迀移向?qū)?;此外,如果有人工干預(yù)信息,該人工干預(yù)信息可以是制定源端和目標(biāo)端的平臺(tái)差異分析表的格式或者并制定每條差異對(duì)應(yīng)的迀移方案建議等,因此,還可以根據(jù)平臺(tái)差異分析表、源端數(shù)據(jù)庫信息和人工干預(yù)信息,采用迀移算法生成迀移向?qū)А?br>[0029]步驟15,目標(biāo)端對(duì)比源端數(shù)據(jù)庫信息與目標(biāo)端恢復(fù)的數(shù)據(jù)庫信息,生成源端數(shù)據(jù)庫和目標(biāo)端數(shù)據(jù)庫的一致性檢查表,根據(jù)一致性檢查表確定源端數(shù)據(jù)庫和目標(biāo)端數(shù)據(jù)庫一致,則Sybase數(shù)據(jù)庫跨平臺(tái)迀移完成。
[0030]在本步驟中,根據(jù)迀移向?qū)?,根?jù)迀移算法執(zhí)行Sybase數(shù)據(jù)庫恢復(fù)操作。
[0031 ]目標(biāo)端收集恢復(fù)的數(shù)據(jù)庫信息,恢復(fù)的數(shù)據(jù)庫信息,包括數(shù)據(jù)庫