亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

數(shù)據(jù)庫檢查維護方法

文檔序號:6378859閱讀:254來源:國知局
專利名稱:數(shù)據(jù)庫檢查維護方法
技術領域
本發(fā)明涉及數(shù)據(jù)庫檢查維護領域,具體涉及一種數(shù)據(jù)庫的檢查、維護方法。
背景技術
在計算機應用領域,根據(jù)應用的需要,往往要求對于正在使用的數(shù)據(jù)庫進行不定期的維護及升級。例如,在系軟件開發(fā)過程中,隨著軟件版本的變化,會存在數(shù)據(jù)庫結(jié)構的不斷變化,而發(fā)布的軟件在客戶使用過程中,隨著客戶的需求變化,在維護過程中,需要對數(shù)據(jù)庫結(jié)構進行變更或升級,由于軟件本身功能的不斷變化,還可能導致不同客戶的數(shù)據(jù)庫結(jié)構版本可能不一致。在不影響客戶使用的情況下進行升級,就必須形成數(shù)據(jù)庫結(jié)構及基礎數(shù)據(jù)的差異報告,能夠自動產(chǎn)生升級語法。 目前,現(xiàn)有的數(shù)據(jù)庫維護及升級存在一些問題。首先,在系統(tǒng)設計開發(fā)過程中,一般采取維護數(shù)據(jù)庫的物理模型,維護的是完整的數(shù)據(jù)結(jié)構,但在具體開發(fā)過程中,可能需要反復的變更數(shù)據(jù)結(jié)構,需要準確的記載變更的語法,這在多人協(xié)作的設計及開發(fā)環(huán)境下,若配置及管理不嚴,很容易出現(xiàn)記載缺失或部分失誤,難以發(fā)現(xiàn),造成模型庫同開發(fā)庫出現(xiàn)不一致情況。其次,應用系統(tǒng)的客戶數(shù)據(jù)庫檢查及升級的方式一般是需要先建立不同的數(shù)據(jù)庫版本及相鄰版本的升級語法,然后升級時利用版本變化獲取一組升級語法,需要從低版本到高版本逐一處理每個版本的升級語法,這樣效率低下,而且需要提供的數(shù)據(jù)庫版本信息要完整,一旦客戶的數(shù)據(jù)庫因某種原因變化過,則會直接導致升級失敗或用戶數(shù)據(jù)丟失。第三,在開發(fā)過程中或?qū)嶋H用戶使用過程中,技術人員可能會變動過基礎數(shù)據(jù),這一行為很難以監(jiān)管,只能實行嚴格管理而沒有有效的檢查機制。

發(fā)明內(nèi)容
所要解決的技術問題針對現(xiàn)有技術存在的缺陷,本發(fā)明的目的是為軟件開發(fā)或維護過程提供一種數(shù)據(jù)庫的檢查維護方法,實現(xiàn)數(shù)據(jù)庫版本的記載及快速檢查維護或升級數(shù)據(jù)庫,并能提供報告及數(shù)據(jù)庫腳本語法。技術方案一種數(shù)據(jù)庫檢查維護方法,其特征在于包括以下幾個步驟
步驟I:建立數(shù)據(jù)庫版本,獲取當前最新版本數(shù)據(jù)庫結(jié)構,形成數(shù)據(jù)庫結(jié)構腳本語法,存貯數(shù)據(jù)庫結(jié)構信息;
步驟2 :定義基礎表,獲取最新版本基礎數(shù)據(jù),形成基礎數(shù)據(jù)語法,存貯基礎數(shù)據(jù);
步驟3 :獲取待比較的數(shù)據(jù)庫或歷史版本的數(shù)據(jù)庫結(jié)構及基礎數(shù)據(jù);
步驟4 比較數(shù)據(jù)庫結(jié)構及基礎數(shù)據(jù),形成差異報告,產(chǎn)生升級語法。所述的步驟I包括以下步驟
步驟1-1 :按順序獲取數(shù)據(jù)庫結(jié)構信息,即先獲取系統(tǒng)中的用戶表,然后獲取對應表的字段信息,進一步獲取觸發(fā)器、視圖及存貯過程,最后解析出表的主鍵、外鍵,在獲取數(shù)據(jù)時,需要對數(shù)據(jù)進行排序,即對照建立索引的要求進行排序;步驟1-2 :利用已獲取的數(shù)據(jù)庫結(jié)構信息,按順序組織數(shù)據(jù)庫的腳本語法,以便可以直接執(zhí)行數(shù)據(jù)庫腳本;
步驟1-3已獲取的數(shù)據(jù),根據(jù)排序,建立索引,并根據(jù)索引中的順序來組織語法并存貯文件。所述的步驟2是根據(jù)步驟1-1獲取到的用戶表,設置相關表為基礎數(shù)據(jù)表,即需要采集其數(shù)據(jù)作為系統(tǒng)的基礎數(shù)據(jù),采集數(shù)據(jù)時,需先根據(jù)步驟1-1獲取的表的字段信息,來組織對應表的數(shù)據(jù)讀取的腳本語法,腳本語法中按步驟1-1中獲取的主鍵增加排序字段,這樣,獲取的基礎數(shù)據(jù)是按主鍵排序的,然后利用步驟1-3中構建索引的原則組織索引文件及數(shù)據(jù)文件。所述的索引文件主要記載表名,記錄主鍵,數(shù)據(jù)的大小,數(shù)據(jù)文件的存貯名稱信
肩、O
所述的步驟3分兩種情況,一種是直接同歷史版本進行比較,只需讀取歷史版本所保存的版本文件即可,另一種是比較某個具體的用戶庫,此時,對待比較的庫執(zhí)行的操作為先執(zhí)行步驟1-1中的獲取數(shù)據(jù)結(jié)構信息及存貯文件,然后執(zhí)行步驟2中的獲取基礎數(shù)據(jù)及處理和存貯數(shù)據(jù)文件;本步驟執(zhí)行完,最終的結(jié)果是要產(chǎn)生兩組供比較的數(shù)據(jù)文件。所述的步驟4利用步驟3產(chǎn)生的數(shù)據(jù)文件,對數(shù)據(jù)庫結(jié)構的進行比較,需要按順序比較數(shù)據(jù)庫表、字段、觸發(fā)器、主鍵、索引、外鍵、存貯過程;對于增加或減少的表,則不再比較其表的其他結(jié)構信息;在比較過程中,根據(jù)差異形成比較報告,并產(chǎn)生對應的升級語法。所述的升級語法,需先形成增減表的語法,然后形成增減及修改字段的語法,最后形成觸發(fā)器、主鍵、外鍵、索引的變化語法。所述的步驟4包括以下步驟
步驟4-1 :根據(jù)索引文件,讀取雙方所建立的索引主鍵;
步驟4-2 比較主鍵,若主鍵不一致,直接記載主鍵小的一方的數(shù)據(jù)及語法即可,接著繼續(xù)讀取主鍵小的一方的下條記錄重復本步驟;
步驟4-3 :比較內(nèi)容,若步驟4-2中主鍵一致,則要比較內(nèi)容,若內(nèi)容不一致,則要記載差異并形成差異語法,內(nèi)容比較完后,雙方繼續(xù)讀取下條記錄重復以上步驟,直到一方索引文件讀取完畢,最后將另一方未比較完的信息及語法作為差異記載即可。有益效果本發(fā)明可隨時檢查數(shù)據(jù)庫環(huán)境的變化情況,并可形成相應的版本文件。本發(fā)明可實現(xiàn)自動檢查用戶數(shù)據(jù)庫并快速升級,可用于數(shù)據(jù)庫系統(tǒng)的軟件的自動更新。本發(fā)明提供了一種通用的數(shù)據(jù)庫檢查維護的方式,適用性廣,減少了數(shù)據(jù)庫人工維護的工作量及降低了出錯的可能性,人工操作的出錯率。


圖I是本發(fā)明的工作流程示意 圖2是本發(fā)明中用于獲取數(shù)據(jù)庫信息的流程 圖3是本發(fā)明中用于比較數(shù)據(jù)庫信息及基礎數(shù)據(jù)的流程圖。
具體實施例方式本發(fā)明的基本思想是,根據(jù)當前使用的數(shù)據(jù)庫,利用數(shù)據(jù)庫的系統(tǒng)表,解析各數(shù)據(jù)結(jié)構,利用數(shù)據(jù)庫語法規(guī)則,形成相關數(shù)據(jù)庫腳本語法,獲取基礎數(shù)據(jù),并按一定規(guī)則將數(shù)據(jù)庫結(jié)構信息和基礎數(shù)據(jù)進行組織并存貯到相應文件,利用同樣方式在另一個用戶數(shù)據(jù)庫環(huán)境中采集相關數(shù)據(jù)或讀取歷史版本的文件,然后根據(jù)不同文件的組成方式進行比較。在比較過程中產(chǎn)生報告并同時形成數(shù)據(jù)庫升級或更新語法。下面結(jié)合說明書附圖與具體實施方式
對本發(fā)明作進一步的詳細說明。如圖I所示,本發(fā)明的數(shù)據(jù)庫檢查維護方法,包括以下幾個步驟
步驟I:建立數(shù)據(jù)庫版本,獲取當前最新版本數(shù)據(jù)庫結(jié)構,形成數(shù)據(jù)庫結(jié)構腳本語法,存貯數(shù)據(jù)庫結(jié)構信息;
根據(jù)具體應用,設定當前的版本號,利用數(shù)據(jù)庫的系統(tǒng)表的結(jié)構關系,獲取數(shù)據(jù)庫結(jié)構的有關信息,包括庫中的用戶表,表字段的定義、表上的觸發(fā)器、表的主外鍵、索引、視圖以及相關存貯過程,相關信息的獲取均來源于數(shù)據(jù)庫的系統(tǒng)表,需要熟悉系統(tǒng)表間的關系,了解所要的數(shù)據(jù)的存貯結(jié)構。獲取數(shù)據(jù)后,需要對數(shù)據(jù)進行適當組織,建立索引文件,即需要定義一組映射關系,為各類信息建立索引,以便能根據(jù)索引可找到對應文件并可快速獲取 所要的詳細信息。如對表字段可用分類標識、表名稱、字段名稱來建立一個索引值,并對數(shù)據(jù)排序,可按字符串升序排列數(shù)據(jù),然后組織具體的內(nèi)容數(shù)據(jù),將內(nèi)容的長度記載在索引文件里,即在讀取數(shù)據(jù)時可以根據(jù)索引文件快速獲取內(nèi)容。 步驟I的具體過程,如圖2所示;
為便于分析處理數(shù)據(jù)及形成數(shù)據(jù)結(jié)構語法,步驟1-1:按順序獲取數(shù)據(jù)庫結(jié)構信息,即先獲取系統(tǒng)中的用戶表,然后獲取對應表的字段信息,進一步獲取觸發(fā)器、視圖及存貯過程,最后解析出表的主鍵、外鍵,在獲取數(shù)據(jù)時,需要對數(shù)據(jù)進行排序,即對照建立索引的要求進行排序;
步驟1-2 :利用已獲取的數(shù)據(jù)庫結(jié)構信息,按順序組織數(shù)據(jù)庫的腳本語法,以便可以直接執(zhí)行數(shù)據(jù)庫腳本;
步驟1-3已獲取的數(shù)據(jù),根據(jù)排序,建立索引,并根據(jù)索引中的順序來組織語法并存貯文件。步驟2 :定義基礎表,獲取最新版本基礎數(shù)據(jù),形成基礎數(shù)據(jù)語法,存貯基礎數(shù)據(jù); 據(jù)步驟1-1獲取到的用戶表,設置相關表為基礎數(shù)據(jù)表,即需要采集其數(shù)據(jù)作為系統(tǒng)
的基礎數(shù)據(jù),采集數(shù)據(jù)時,需先根據(jù)步驟1-1獲取的表的字段信息,來組織對應表的數(shù)據(jù)讀取的腳本語法,腳本語法中按步驟1-1中獲取的主鍵增加排序字段,這樣,獲取的基礎數(shù)據(jù)是按主鍵排序的,然后利用步驟1-3中構建索引的原則組織索引文件及數(shù)據(jù)文件。要求索引文件中記載對應數(shù)據(jù)的文件的大小,便于在步驟4中能快速讀取到所需內(nèi)容。索引文件主要記載表名,記錄主鍵,數(shù)據(jù)的大小,數(shù)據(jù)文件的存貯名稱信息。步驟3 :獲取待比較的數(shù)據(jù)庫或歷史版本的數(shù)據(jù)庫結(jié)構及基礎數(shù)據(jù)。分兩種情況,一種是直接同歷史版本進行比較,只需讀取歷史版本所保存的版本文件即可,另一種是比較某個具體的用戶庫,此時,對待比較的庫執(zhí)行的操作為先執(zhí)行步驟1-1中的獲取數(shù)據(jù)結(jié)構信息及存貯文件,然后執(zhí)行步驟2中的獲取基礎數(shù)據(jù)及處理和存貯數(shù)據(jù)文件;本步驟執(zhí)行完,最終的結(jié)果是要產(chǎn)生兩組供比較的數(shù)據(jù)文件。步驟4 :比較數(shù)據(jù)庫結(jié)構及基礎數(shù)據(jù),形成差異報告,產(chǎn)生升級語法。利用步驟3產(chǎn)生的數(shù)據(jù)文件,對數(shù)據(jù)庫結(jié)構的進行比較,需要按順序比較數(shù)據(jù)庫表、字段、觸發(fā)器、主鍵、索引、外鍵、存貯過程。對于增加或減少的表,則不再比較其表的其他結(jié)構信息。在比較過程中,根據(jù)差異形成比較報告,并產(chǎn)生對應的升級語法。所述的升級語法,需先形成增減表的語法,然后形成增減及修改字段的語法,最后形成觸發(fā)器、主鍵、外鍵、索引的變化語法。在步驟4中,還包括數(shù)據(jù)文件的比較,具體為利用同一張數(shù)據(jù)表的兩個不同版本的基礎數(shù)據(jù)文件,根據(jù)采集后基礎數(shù)據(jù)按主鍵順序存貯的原則,可按順序掃描文件,獲取同一主鍵下的基礎數(shù)據(jù)進行比較,并報告結(jié)果,其中還包括增加或減少的基礎數(shù)據(jù)。具體執(zhí)行過程見圖3描述。步驟4包括以下步驟
步驟4-1 :根據(jù)索引文件,讀取雙方所建立的索引主鍵;
步驟4-2 比較主鍵,若主鍵不一致,直接記載主鍵小的一方的數(shù)據(jù)及語法即可,接著繼續(xù)讀取主鍵小的一方的下條記錄重復本步驟;
步驟4-3 :比較內(nèi)容,若步驟4-2中主鍵一致,則要比較內(nèi)容,若內(nèi)容不一致,則要記載差異并形成差異語法,內(nèi)容比較完后,雙方繼續(xù)讀取下條記錄重復以上步驟,直到一方索引文件讀取完畢,最后將另一方未比較完的信息及語法作為差異記載即可。數(shù)據(jù)庫基礎數(shù)據(jù)及結(jié)構信息的比較算法是一致的。主要是利用索引文件,順序掃描數(shù)據(jù)文件,在掃描過程中進行循環(huán)比較,這樣所有數(shù)據(jù)只需掃描一遍即可完成各項比較工作,處理效率高,而且方法比較通用。在形成數(shù)據(jù)庫腳本時需要注意,因數(shù)據(jù)庫的表、字段、視圖、主外鍵等有建立的先后關系,一定要處理好先后關系,即先建立表及表字段,然后才形成其他語法,具體實施時,可以先將不同類信息存于不同的文件,最后將文件再按正確的順序重新組織即可形成正確的升級語法。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不限制于本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的權利要求范圍之內(nèi)。
權利要求
1.一種數(shù)據(jù)庫檢查維護方法,其特征在于包括以下幾個步驟 步驟I:建立數(shù)據(jù)庫版本,獲取當前最新版本數(shù)據(jù)庫結(jié)構,形成數(shù)據(jù)庫結(jié)構腳本語法,存貯數(shù)據(jù)庫結(jié)構信息; 步驟2 :定義基礎表,獲取最新版本基礎數(shù)據(jù),形成基礎數(shù)據(jù)語法,存貯基礎數(shù)據(jù); 步驟3 :獲取待比較的數(shù)據(jù)庫或歷史版本的數(shù)據(jù)庫結(jié)構及基礎數(shù)據(jù); 步驟4 比較數(shù)據(jù)庫結(jié)構及基礎數(shù)據(jù),形成差異報告,產(chǎn)生升級語法。
2.根據(jù)權利要求I所示的數(shù)據(jù)庫檢查維護方法,其特征在于所述的步驟I包括以下步驟 步驟1-1 :按順序獲取數(shù)據(jù)庫結(jié)構信息,即先獲取系統(tǒng)中的用戶表,然后獲取對應表的 字段信息,進一步獲取觸發(fā)器、視圖及存貯過程,最后解析出表的主鍵、外鍵,在獲取數(shù)據(jù)時,需要對數(shù)據(jù)進行排序,即對照建立索引的要求進行排序; 步驟1-2 :利用已獲取的數(shù)據(jù)庫結(jié)構信息,按順序組織數(shù)據(jù)庫的腳本語法,以便可以直 接執(zhí)行數(shù)據(jù)庫腳本; 步驟1-3已獲取的數(shù)據(jù),根據(jù)排序,建立索引,并根據(jù)索引中的順序組織語法并存貯文件。
3.根據(jù)權利要求I所示的數(shù)據(jù)庫檢查維護方法,其特征在于所述的步驟2是根據(jù)步驟1-1獲取到的用戶表,設置相關表為基礎數(shù)據(jù)表,即需要采集其數(shù)據(jù)作為系統(tǒng)的基礎數(shù)據(jù),采集數(shù)據(jù)時,需先根據(jù)步驟1-1獲取的表的字段信息,來組織對應表的數(shù)據(jù)讀取的腳本語法,腳本語法中按步驟1-1中獲取的主鍵增加排序字段,這樣,獲取的基礎數(shù)據(jù)是按主鍵排序的,然后利用步驟1-3中構建索引的原則組織索引文件及數(shù)據(jù)文件。
4.根據(jù)權利要求3所示的數(shù)據(jù)庫檢查維護方法,其特征在于所述的索引文件主要記載表名,記錄主鍵,數(shù)據(jù)的大小,數(shù)據(jù)文件的存貯名稱信息。
5.根據(jù)權利要求I所示的數(shù)據(jù)庫檢查維護方法,其特征在于所述的步驟3分兩種情況,一種是直接同歷史版本進行比較,只需讀取歷史版本所保存的版本文件即可,另一種是比較某個具體的用戶庫,此時,對待比較的庫執(zhí)行的操作為先執(zhí)行步驟1-1中的獲取數(shù)據(jù)結(jié)構信息及存貯文件,然后執(zhí)行步驟2中的獲取基礎數(shù)據(jù)及處理和存貯數(shù)據(jù)文件;本步驟執(zhí)行完,最終的結(jié)果是要產(chǎn)生兩組供比較的數(shù)據(jù)文件。
6.根據(jù)權利要求I所示的數(shù)據(jù)庫檢查維護方法,其特征在于所述的步驟4利用步驟3產(chǎn)生的數(shù)據(jù)文件,對數(shù)據(jù)庫結(jié)構的進行比較,需要按順序比較數(shù)據(jù)庫表、字段、觸發(fā)器、主鍵、索引、外鍵、存貯過程;對于增加或減少的表,則不再比較其表的其他結(jié)構信息;在比較過程中,根據(jù)差異形成比較報告,并產(chǎn)生對應的升級語法。
7.根據(jù)權利要求6所示的數(shù)據(jù)庫檢查維護方法,其特征在于所述的升級語法,需先形成增減表的語法,然后形成增減及修改字段的語法,最后形成觸發(fā)器、主鍵、外鍵、索引的變化語法。
8.根據(jù)權利要求I或6所示的數(shù)據(jù)庫檢查維護方法,其特征在于所述的步驟4包括以下步驟 步驟4-1 :根據(jù)索引文件,讀取雙方所建立的索引主鍵; 步驟4-2 比較主鍵,若主鍵不一致,直接記載主鍵小的一方的數(shù)據(jù)及語法即可,接著繼續(xù)讀取主鍵小的一方的下條記錄重復本步驟;步驟4-3 :比較內(nèi)容,若步驟4-2中主鍵一致,則要比較內(nèi)容,若內(nèi)容不一致,則要記載差異并形成差異語法,內(nèi)容比較完后,雙方繼續(xù)讀取下條記錄重復以上步驟,直到一方索引文件讀取完畢,最后將另一方未比較完的信息及語法作為差異記載即可?!?br> 全文摘要
本發(fā)明涉及一種數(shù)據(jù)庫檢查維護方法包括以下步驟步驟1建立數(shù)據(jù)庫版本,獲取當前最新版本數(shù)據(jù)庫結(jié)構,形成數(shù)據(jù)庫結(jié)構腳本語法,存貯數(shù)據(jù)庫結(jié)構信息;步驟2定義基礎表,獲取最新版本基礎數(shù)據(jù),形成基礎數(shù)據(jù)語法,存貯基礎數(shù)據(jù);步驟3獲取待比較的數(shù)據(jù)庫或歷史版本的數(shù)據(jù)庫結(jié)構及基礎數(shù)據(jù);步驟4比較數(shù)據(jù)庫結(jié)構及基礎數(shù)據(jù),形成差異報告,產(chǎn)生升級語法。本發(fā)明可隨時檢查數(shù)據(jù)庫環(huán)境的變化情況,并可形成相應的版本文件。本發(fā)明可實現(xiàn)自動檢查用戶數(shù)據(jù)庫并快速升級,可用于數(shù)據(jù)庫系統(tǒng)的軟件的自動更新。本發(fā)明提供了一種通用的數(shù)據(jù)庫檢查維護的方式,適用性廣,減少了數(shù)據(jù)庫人工維護的工作量及降低了出錯的可能性,人工操作的出錯率。
文檔編號G06F17/30GK102890720SQ201210391160
公開日2013年1月23日 申請日期2012年10月16日 優(yōu)先權日2012年10月16日
發(fā)明者潘付軍 申請人:南京通達海信息技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1