本發明專利技術提供一種數據庫升級的方法和裝置。所述方法包括:通過先建立新數據庫,然后獲取新數據庫與舊數據庫的共有結構,根據所述共有結構組裝升級語句,再對新數據庫批量執行所述升級語句,最后用新數據庫替換舊數據庫,完成數據庫的升級。通過本發明專利技術,數據庫升級之后能夠實現配置兼容,且在升級過程中可不中斷業務,發明專利技術方法簡便、容易使用。
【技術實現步驟摘要】
本專利技術涉及數據通信領域,尤其涉及一種數據庫升級的方法和裝置。
技術介紹
數據庫在設備中起著非常重要的作用,存儲著設備當前的配置等關鍵信息,它的正確與否直接影響著設備是否正常運行。網絡設備在運行過程中,由于增加新的功能或者問題的修復等,可能需要更換軟件版本。在數據庫升級時,如果數據庫不兼容,則會導致用戶配置的紊亂,重新做一遍配置會很繁瑣,并且浪費時間和精力,且以引起網絡長時間的中斷
技術實現思路
·有鑒于此,本專利技術提供一種數據庫升級的方法和裝置,升級方法和裝置簡潔、方便。升級之后能夠實現配置兼容,且在升級過程中可不中斷業務。本專利技術提供一種實現數據庫升級的方法,適用于關系型數據庫,所述方法包括步驟a、建立新數據庫,所述新數據庫為新版本數據庫;步驟b、獲取新數據庫與舊數據庫的共有結構,根據所述共有結構組裝升級語句,所述舊數據庫為舊版本數據庫;步驟C、對新數據庫批量執行所述升級語句;步驟d、用新數據庫替換舊數據庫,完成數據庫的升級。本專利技術同時一種實現數據庫升級的裝置,適用于關系型數據庫,所述裝置包括創建模塊,用于建立新數據庫,所述新數據庫為新版本數據庫;升級模塊,用于獲取新數據庫與舊數據庫的共有結構,根據所述共有結構組裝升級語句,所述舊數據庫為舊版本數據庫;執行模塊,用于對新數據庫批量執行所述升級語句;替換模塊,用新數據庫替換舊數據庫,完成數據庫的升級。由此可見,本專利技術通過先建立需要升級的數據庫版本,然后獲取新舊數據庫的共有結構后執行升級語句來進行數據庫的升級,操作簡潔方便,升級之后可實現配置兼容,且可以在不中斷業務的情況下升級。附圖說明圖I是本專利技術實施例的方法流程示意圖。圖2是本專利技術另一實施例的具體方法流程示意圖。圖3是本專利技術實施例的裝置邏輯結構圖。圖4是本專利技術實施例升級模塊子模塊邏輯結構圖。圖5是本專利技術實施例組裝升級模塊子模塊邏輯結構圖。具體實施例方式本專利技術實施例提供一種數據庫升級的方法和裝置,所述方法和裝置適用于關系型數據庫。所述關系型數據庫是指采用了關系模型進行組織數據的數據庫。所述的關系模型指二維表格模型。本專利技術實施例通過先建立新數據庫,然后獲取新數據庫與舊數據庫的共有結構,根據所述共有結構組裝升級語句,再對新數據庫批量執行所述升級語句,最后用新數據庫替換舊數據庫,完成數據庫的升級。為使本專利技術實施例技術方案更加清楚和明白,以下結合本專利技術具體實施例加以詳細說明。如圖I所示,為本專利技術提供的一種實現數據庫升級的方法,適用于關系型數據庫,所述方法包括步驟a、建立新數據庫,所述新數據庫為新版本數據庫;在數據庫升級的初始階段,首先根據數據庫的建表語句建立新的數據庫,所述新 數據庫為計劃升級的新版本數據庫。步驟b、獲取新數據庫與舊數據庫的共有結構,根據所述共有結構組裝升級語句,所述舊數據庫為舊版本數據庫;所述共有結構為新數據庫和舊數據庫中表名相同的數據表中相同的列名。關系型數據庫是由二維表及其之間的聯系組成的一個數據組織,每一張二維表都有一個表名。每一個二維表有若干行和列組成,行在數據庫中用元組表示,列在數據庫中用字段表示,指每個實體的屬性,用于標識元組。當新數據庫建立完成之后,同時打開新數據庫和舊數據庫,獲取新數據庫與舊數據庫的共有結構,即獲取新數據庫和舊數據庫中表名相同的數據表中相同的列名,然后組裝與所述共有結構相對應的升級語句,例如insert或replace語句,但并不限于此語句。步驟C、對新數據庫批量執行所述升級語句;當獲取完成新數據庫和舊數據庫中全部的共有結構,并組裝所有與所述共有結構相對應的升級語句之后,對新數據庫批量執行所述的升級語句,進行升級。步驟d、用新數據庫替換舊數據庫,完成數據庫的升級。當執行升級語句完成之后,舊數據庫中的數據已經拷貝到新數據庫中,因此用新數據庫替換舊數據庫,完成數據庫的升級。進一步地,所述步驟b具體包括步驟bl、從新數據庫中獲取一個表名;步驟b2、查找舊數據庫是否存在與獲取的表名相同的表名,若是,執行步驟b3,若否,執行步驟b4;步驟b3、根據新數據庫和舊數據庫中,具有所述相同的表名的數據表中的相同列名,組裝升級語句;步驟b4、判斷是否已經獲取完新數據庫中的所有表名,若是,執行步驟C,若否,從新數據庫中獲取下一個表名后返回步驟b2。進一步地,所述步驟b3具體包括步驟b31、從新數據表中獲取一個列名,所述的新數據表是指新數據庫中的表;步驟b32、查找舊數據表是否存在與獲取的列名相同的列名,若是,執行步驟b33,若否,則執行步驟b34,所述舊數據表是指舊數據庫中的表;步驟b33、組裝升級語句;步驟b34、判斷是否已經獲取完新數據表中所有列名,若是,則執行步驟b4,若否,從數據表中獲取下一個列名之后返回步驟b32。如圖2所示為本專利技術另一具體實施例的方法流程示意圖。所述包括步驟I、根據建表語句建立新數據庫;步驟2、從新數據庫中獲取一個表名,所述新數據庫為欲升級的新版本數據庫;步驟3、查找舊數據庫中是否存在與獲取的表名相同的表名,若是,則執行步驟4,若否,則執行步驟8,所述的舊數據庫為舊版本數據庫;步驟4、從新數據表中獲取一個列名,所述的新數據表為新數據庫中的數據表; 步驟5、查找舊數據表中是否存在與獲取的列名相同的列名,若是,則執行步驟6,若否則執行步驟7,所述的舊數據表為舊數據庫中的數據表;步驟6、組裝升級語句;步驟7、判斷是否已經獲取完新數據表中所有列名,若是,則執行步驟8,若否,則從數據表中獲取下一個列名之后返回步驟5 ;步驟8、判斷是否已經獲取完新數據庫中所有的表名,若是,則執行步驟9,若否,則從數據庫中獲取下一個表名之后返回步驟3 ;步驟9、對新數據庫批量執行所述升級語句;步驟10、用新數據庫替換舊數據庫,完成數據庫的升級。 請參考圖3,本專利技術實施例同時提供一種實現數據庫升級的裝置,適用于關系型數據庫,其特征在于,所述裝置包括創建模塊,用于建立新數據庫,所述新數據庫為新版本數據庫;在數據庫升級的初始階段,首先創建模塊根據數據庫的建表語句建立新的數據庫,所述新數據庫為計劃升級的新版本數據庫。升級模塊,用于獲取新數據庫與舊數據庫的共有結構,根據所述共有結構組裝升級語句,所述舊數據庫為舊版本數據庫;所述共有結構為新數據庫和舊數據庫中表名相同的數據表中相同的列名。關系型數據庫是由二維表及其之間的聯系組成的一個數據組織,每一張二維表都有一個表名。每一個二維表有若干行和列組成,行在數據庫中用元組表示,列在數據庫中用字段表示,指每個實體的屬性,用于標識元組。當新數據庫建立完成之后,同時打開新數據庫和舊數據庫,升級模塊獲取新數據庫與舊數據庫的共有結構,即獲取新數據庫和舊數據庫中表名相同的數據表中相同的列名,然后組裝與所述共有結構相對應的升級語句,例如insert或replace語句,但并不限于此語句。執行模塊,用于對新數據庫批量執行所述升級語句;當獲取完成新數據庫和舊數據庫中全部的共有結構,并組裝所有與所述共有結構相對應的升級語句之后,執行模塊對新數據庫批量執行所述的升級語句,進行升級。替換模塊,用于新數據庫替換舊數據庫,完成數據庫的升級。當執行升級語句完成之后,舊數據庫中的數據已經拷貝到新數據庫中,因此替換模塊用新數據庫替換舊數據庫,完成數據庫的升級。進一步地,請參考圖4,所述的本文檔來自技高網...
【技術保護點】
一種實現數據庫升級的方法,適用于關系型數據庫,其特征在于,所述方法包括:步驟a、建立新數據庫,所述新數據庫為新版本數據庫;步驟b、獲取新數據庫與舊數據庫的共有結構,根據所述共有結構組裝升級語句,所述舊數據庫為舊版本數據庫;步驟c、對新數據庫批量執行所述升級語句;步驟d、用新數據庫替換舊數據庫,完成數據庫的升級。
【技術特征摘要】
1.一種實現數據庫升級的方法,適用于關系型數據庫,其特征在于,所述方法包括 步驟a、建立新數據庫,所述新數據庫為新版本數據庫; 步驟b、獲取新數據庫與舊數據庫的共有結構,根據所述共有結構組裝升級語句,所述舊數據庫為舊版本數據庫; 步驟C、對新數據庫批量執行所述升級語句; 步驟d、用新數據庫替換舊數據庫,完成數據庫的升級。2.如權利要求I所述的方法,其特征在于 所述共有結構為新數據庫和舊數據庫中表名相同的數據表中相同的列名。3.如權利要求I所述的方法,其特征在于,所述步驟b具體包括 步驟bl、從新數據庫中獲取一個表名; 步驟b2、查找舊數據庫是否存在與獲取的表名相同的表名,若是,執行步驟b3,若否,執行步驟b4; 步驟b3、根據新數據庫和舊數據庫中,具有所述相同的表名的數據表中的相同列名,組裝升級語句; 步驟b4、判斷是否已經獲取完新數據庫中的所有表名,若是,執行步驟C,若否,從新數據庫中獲取下一個表名后返回步驟b2。4.如權利要求3所述的方法,其特征在于,所述步驟b3具體包括 步驟b31、從新數據表中獲取一個列名,所述的新數據表是指新數據庫中的表; 步驟b32、查找舊數據表是否存在與獲取的列名相同的列名,若是,執行步驟b33,若否,則執行步驟b34,所述舊數據表是指舊數據庫中的表; 步驟b33、組裝升級語句; 步驟b34、判斷是否已經獲取完新數據表中所有列名,若是,則執行步驟b4,若否,從數據表中獲取下一個列名之后返回步驟b32。5.一種實現數據庫升級的裝置,適用于關...
【專利技術屬性】
技術研發人員:李飛鵬,李常青,
申請(專利權)人:杭州迪普科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。