本發(fā)明涉及數(shù)據(jù)處理
技術領域:
,尤其涉及終端數(shù)據(jù)升級方法及裝置。
背景技術:
:通信設備軟件一般是將網(wǎng)管配置的數(shù)據(jù)保存在文件數(shù)據(jù)庫中,由于用戶不斷有新增的需求,新版本的軟件為了適應用戶新增的需求,經(jīng)常會將一些數(shù)據(jù)庫表的格式進行擴展,以保存新增功能的配置數(shù)據(jù),因此,在通信設備軟件升級的時候一般都伴隨著這種數(shù)據(jù)庫的表格式的擴展。以前的升級方法多采用刪除數(shù)據(jù)庫文件,然后由網(wǎng)管重新下發(fā)配置的方法。這個過程需要用戶手動干預,比較繁瑣,而且網(wǎng)管重新下發(fā)配置的過程對于設備穩(wěn)定性也有一定的影響,嚴重時甚至會影響業(yè)務?,F(xiàn)有不需要刪除數(shù)據(jù)庫文件的方法,通常需由主機和備機配合才能完成數(shù)據(jù)庫的升級,對于不是主機和備機系統(tǒng)結構的通信設備就無法使用。使得數(shù)據(jù)庫的升級無法滿足所有系統(tǒng)結構的通信設備的軟件升級,數(shù)據(jù)庫升級受到限制,進而影響通信設備的業(yè)務,造成通信設備體驗差。上述內容僅用于輔助理解本發(fā)明的技術方案,并不代表承認上述內容是現(xiàn)有技術。技術實現(xiàn)要素:本發(fā)明的主要目的在于提供一種終端數(shù)據(jù)升級方法及裝置,旨在解決現(xiàn)有的升級過程中使得數(shù)據(jù)庫的升級無法滿足所有系統(tǒng)結構的通信設備的軟件升級,數(shù)據(jù)庫升級受到限制,進而影響通信設備的業(yè)務,造成通信設備體驗差的問題。為實現(xiàn)上述目的,本發(fā)明提供的一種終端數(shù)據(jù)升級方法,包括步驟:在加載新版本的數(shù)據(jù)升級包時,從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù)庫表格式的數(shù)據(jù)作為第一數(shù)據(jù),并從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù)作為第二數(shù)據(jù);將第一數(shù)據(jù)與第二數(shù)據(jù)合并,并將合并后的數(shù)據(jù)保存在新的主表數(shù)據(jù)庫中,以完成終端數(shù)據(jù)的升級操作。優(yōu)選地,所述從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù)庫表格式的數(shù)據(jù)作為第一數(shù)據(jù),并從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù)作為第二數(shù)據(jù)的步驟之前,還包括:將新版本的數(shù)據(jù)庫擴展字段的缺省值注冊到輔表數(shù)據(jù)庫文件中;將所述輔表數(shù)據(jù)庫文件添加至新版本的數(shù)據(jù)升級包中。優(yōu)選地,所述將新版本的數(shù)據(jù)庫擴展字段的缺省值注冊到輔表數(shù)據(jù)庫文件中的步驟包括:確定新版本的數(shù)據(jù)庫待增加、待刪除及/或待修改的字段及所確定的字段對應的缺省值;將所確定的缺省值注冊到輔助數(shù)據(jù)庫文件中。優(yōu)選地,所述從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù)庫表格式的數(shù)據(jù)作為第一數(shù)據(jù),并從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù)作為第二數(shù)據(jù)的步驟包括:從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù)并翻譯得到第一翻譯結果,將第一翻譯結果保存到內存數(shù)據(jù)表項中作為第一數(shù)據(jù);從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù)并翻譯得到第二翻譯結果,將第二翻譯結果保存到內存數(shù)據(jù)表項中作為第二數(shù)據(jù)。優(yōu)選地,所述將第一數(shù)據(jù)與第二數(shù)據(jù)合并,并將合并后的數(shù)據(jù)保存在新的主表數(shù)據(jù)庫中的步驟包括:將第一數(shù)據(jù)和第二數(shù)據(jù)合并生成新版本的內存數(shù)據(jù)庫表項;將新版本的內存數(shù)據(jù)庫表項保存在新的主表數(shù)據(jù)庫中。此外,為實現(xiàn)上述目的,本發(fā)明還提供一種終端數(shù)據(jù)升級裝置,包括:讀取模塊,用于在加載新版本的數(shù)據(jù)升級包時,從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù)庫表格式的數(shù)據(jù)作為第一數(shù)據(jù),并從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù)作為第二數(shù)據(jù);合并模塊,用于將第一數(shù)據(jù)與第二數(shù)據(jù)合并;存儲模塊,用于將合并后的數(shù)據(jù)保存在新的主表數(shù)據(jù)庫中,以完成終端數(shù)據(jù)的升級操作。優(yōu)選地,所述終端數(shù)據(jù)升級裝置還包括注冊模塊和添加模塊,所述注冊模塊,用于將新版本的數(shù)據(jù)庫擴展字段的缺省值注冊到輔表數(shù)據(jù)庫文件中;所述添加模塊,用于將所述輔表數(shù)據(jù)庫文件添加至新版本的數(shù)據(jù)升級包中。優(yōu)選地,所述注冊模塊包括確定單元和注冊單元,所述確定單元,用于確定新版本的數(shù)據(jù)庫待增加、待刪除及/或待修改的字段及所確定的字段對應的缺省值;所述注冊單元,用于將所確定的缺省值注冊到輔助數(shù)據(jù)庫文件中。優(yōu)選地,所述讀取模塊還包括讀取單元、翻譯單元和保存單元,所述讀取單元,用于從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù);所述翻譯模塊,用于將舊的數(shù)據(jù)翻譯得到第一翻譯結果;所述保存單元,用于將第一翻譯結果保存到內存數(shù)據(jù)表項中作為第一數(shù)據(jù);所述讀取單元,還用于從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù);所述翻譯單元,還用于翻譯擴展部分的數(shù)據(jù)得到第二翻譯結果;所述保存單元,還用于將第二翻譯結果保存到內存數(shù)據(jù)表項中作為第二數(shù)據(jù)。優(yōu)選地,所述合并模塊,還用于將第一數(shù)據(jù)和第二數(shù)據(jù)合并生成新版本的內存數(shù)據(jù)庫表項;還用于將新版本的內存數(shù)據(jù)庫表項保存在新的主表數(shù)據(jù)庫中。本發(fā)明通過將需要擴展的數(shù)據(jù)記錄在輔表數(shù)據(jù)庫文件中,并將輔表添加至新版本的數(shù)據(jù)升級包中,以供終端升級數(shù)據(jù)時通過輔表數(shù)據(jù)庫文件中的擴展的數(shù)據(jù)與舊版本的數(shù)據(jù)合并,生成新的數(shù)據(jù),以完成終端升級。有效避免現(xiàn)有的升級過程中使得數(shù)據(jù)庫的升級無法滿足所有系統(tǒng)結構的通信設備的軟件升級,數(shù)據(jù)庫升級受到限制,進而影響通信設備的業(yè)務,造成通信設備體驗差的問題。使得終端數(shù)據(jù)升級不需要刪除數(shù)據(jù)庫文件重新下發(fā)配置,提高了升級過程中終端的穩(wěn)定性,且該升級方式不依賴主備機系統(tǒng),能滿足所有系統(tǒng)結構的終端的軟件升級,擴展了終端數(shù)據(jù)升級的適用范圍,提高了終端 的體驗。附圖說明圖1為本發(fā)明終端數(shù)據(jù)升級方法的較佳實施例的流程示意圖;圖2為本發(fā)明從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù)庫表格式的數(shù)據(jù)作為第一數(shù)據(jù),并從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù)作為第二數(shù)據(jù)一實施例的流程示意圖;圖3為本發(fā)明終端數(shù)據(jù)升級過程中數(shù)據(jù)走向一實施例的流程示意圖;圖4為本發(fā)明終端數(shù)據(jù)升級裝置的較佳實施例的功能模塊示意圖;圖5為圖4中注冊模塊一實施例的細化功能模塊示意圖;圖6為圖4中讀取模塊一實施例的細化功能模塊示意圖。本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結合實施例,參照附圖做進一步說明。具體實施方式應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例的主要解決方案是:在加載新版本的數(shù)據(jù)升級包時,從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù)庫表格式的數(shù)據(jù)作為第一數(shù)據(jù),并從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù)作為第二數(shù)據(jù);將第一數(shù)據(jù)與第二數(shù)據(jù)合并,并將合并后的數(shù)據(jù)保存在新的主表數(shù)據(jù)庫中,以完成終端數(shù)據(jù)的升級操作。通過將需要擴展的數(shù)據(jù)記錄在輔表數(shù)據(jù)庫文件中,并將輔表添加至新版本的數(shù)據(jù)升級包中,以供終端升級數(shù)據(jù)時通過輔表數(shù)據(jù)庫文件中的擴展的數(shù)據(jù)與舊版本的數(shù)據(jù)合并,生成新的數(shù)據(jù),以完成終端升級。有效避免現(xiàn)有的升級過程中使得數(shù)據(jù)庫的升級無法滿足所有系統(tǒng)結構的通信設備的軟件升級,數(shù)據(jù)庫升級受到限制,進而影響通信設備的業(yè)務,造成通信設備體驗差的問題。使得終端數(shù)據(jù)升級不需要刪除數(shù)據(jù)庫文件重新下發(fā)配置,提高了升級過程中終端的穩(wěn)定性,且該升級方式不依賴主備機系統(tǒng),能滿足所有系統(tǒng)結構的終端的軟件升級,擴展了終端數(shù)據(jù)升級的適用范圍,提高終端的體驗。由于現(xiàn)有的升級過程中使得數(shù)據(jù)庫的升級無法滿足所有系統(tǒng)結構的通信設備的軟件升級,數(shù)據(jù)庫升級受到限制,進而影響通信設備的業(yè)務,造成通信設備體驗差?;谏鲜鰡栴},本發(fā)明提供一種終端數(shù)據(jù)升級方法。參照圖1,圖1為本發(fā)明終端數(shù)據(jù)升級方法的較佳實施例的流程示意圖。在一實施例中,所述終端數(shù)據(jù)升級方法包括:步驟S10,在加載新版本的數(shù)據(jù)升級包時,從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù)庫表格式的數(shù)據(jù)作為第一數(shù)據(jù),并從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù)作為第二數(shù)據(jù);在本實施例中,在終端軟件需要增加功能,或在終端軟件的功能需要修改,及/或在終端軟件的功能需要刪除時,構建新版本的數(shù)據(jù)升級包,該新版本的數(shù)據(jù)升級包用于對終端軟件進行升級,一般由終端軟件的開發(fā)商提供,并更新不同版本的數(shù)據(jù)升級包。所述升級數(shù)據(jù)包包括待增加、刪除及/或修改的功能對應的數(shù)據(jù)。具體的,將新版本的數(shù)據(jù)庫擴展字段的缺省值注冊到輔表數(shù)據(jù)庫文件中;將所述輔表數(shù)據(jù)庫文件添加至新版本的數(shù)據(jù)升級包中。確定新版本的數(shù)據(jù)庫待增加、待刪除及/或待修改的字段及所確定的字段對應的缺省值;將所確定的缺省值注冊到輔助數(shù)據(jù)庫文件中。將新版本的數(shù)據(jù)升級包拷貝或者下載至需要升級的終端。所述終端在加載新版本的數(shù)據(jù)升級包時,從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù)庫表格式的數(shù)據(jù)作為第一數(shù)據(jù),并從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù)作為第二數(shù)據(jù)。所述第二數(shù)據(jù),即擴展部分的數(shù)據(jù)指新版本相對于舊版本的一些數(shù)據(jù)庫表格式可能會擴展,比如新版本增加支持某個新功能需要對數(shù)據(jù)表Table_A進行擴展,其結果是數(shù)據(jù)表Table_A新增了某個字段Filed_S。具體的,參考圖2,所述從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù)庫表格式的數(shù)據(jù)作為第一數(shù)據(jù),并從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù)作為第二數(shù)據(jù)的過程可以包括:步驟S11,從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù)進行翻譯得到第一翻譯結果,將第一翻譯結果保存到內存數(shù)據(jù)表項中作為第一數(shù)據(jù);步驟S12,從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù)進行翻譯得到第二翻譯結果,將第二翻譯結果保存到內存數(shù)據(jù)表項中作為第二數(shù)據(jù)。所述翻譯的過程由新定義的數(shù)據(jù)庫表翻譯模塊提供,該模塊的功能是在新版本的軟件運行起來后,即,在加載新版本的數(shù)據(jù)升級包后,對文件數(shù)據(jù)庫表或輔表中的數(shù)據(jù)進行翻譯,然后將翻譯結果保存到內存數(shù)據(jù)表項中。步驟S20,將第一數(shù)據(jù)與第二數(shù)據(jù)合并,并將合并后的數(shù)據(jù)保存在新的主表數(shù)據(jù)庫中,以完成終端數(shù)據(jù)的升級操作。將第一數(shù)據(jù)和第二數(shù)據(jù)合并生成新版本的內存數(shù)據(jù)庫表項,將新版本的內存數(shù)據(jù)所述第一數(shù)據(jù)與第二數(shù)據(jù)合并由新定義的數(shù)據(jù)庫表合成模塊提供,該模塊的功能是將內存數(shù)據(jù)表項中主表和輔表相關的數(shù)據(jù)表項進行合并,然后生成新版本的內存數(shù)據(jù)表項并將其保存在新的主表數(shù)據(jù)庫文件中。具體的,所述終端數(shù)據(jù)升級過程中數(shù)據(jù)走向如圖3所示。先從主表數(shù)據(jù)庫文件和輔表數(shù)據(jù)庫中讀取需要升級的數(shù)據(jù),即,先從主表數(shù)據(jù)庫文件中讀取數(shù)據(jù),該部分數(shù)據(jù)包含了舊版本數(shù)據(jù)庫中的內容,再讀取輔表文件數(shù)據(jù)庫進行讀取,該部分內容包括數(shù)據(jù)擴展的部分,即包括數(shù)據(jù)需要改變部分的內容,將讀取的數(shù)據(jù)(包括從主表和輔表數(shù)據(jù)庫文件中讀取的數(shù)據(jù))送至數(shù)據(jù)庫表翻譯模塊,數(shù)據(jù)庫表翻譯模塊對讀取的數(shù)據(jù)進行翻譯得到包含有完整的舊版本數(shù)據(jù)和新版本擴展數(shù)據(jù)的信息,并根據(jù)翻譯結果生成內存數(shù)據(jù)庫表項,包括新版本的和舊版本的,將內存數(shù)據(jù)庫表項合并,生成一個最終的內存數(shù)據(jù)表,作為新版本軟件的內存數(shù)據(jù)表,將新版本軟件的內存數(shù)據(jù)表生成新版本表數(shù)據(jù)庫文件,在運行該軟件后,通過新版本表數(shù)據(jù)庫文件來實現(xiàn)新增加、修改或刪除的功能,最終實現(xiàn)終端數(shù)據(jù)升級操作。為了能更好的說明本發(fā)明終端數(shù)據(jù)升級過程,以下從新增字段、刪除字段和修改字段來說明:一、新增字段1、舉例說明,新版本軟件增加了某個功能,該功能需要將一些信息保存在已有的數(shù)據(jù)庫表Table_A中,這就要對數(shù)據(jù)庫表Table-A進行一次擴展,擴展的結果是數(shù)據(jù)庫表Table_A新增了一個字段Filed_S,該字段的缺省值是Value_V。首先將這些信息注冊到一個輔表數(shù)據(jù)庫文件中,輔表數(shù)據(jù)庫文件可以按照表1的格式對新增字段進行注冊。TABELNAMEFILEDNAMEVALUE………Tabel_AFiled_SValue_V………表1其中,第一列表示數(shù)據(jù)庫表的名稱,第二列表示新增的表的字段的名稱,第三列表示新增字段的缺省值。輔表數(shù)據(jù)庫文件以數(shù)據(jù)庫的名稱作為關鍵字,注冊信息還包括擴展字段的名稱以及該字段的缺省值。2、升級時將輔表數(shù)據(jù)庫文件和新版本軟件一同放入升級包中,系統(tǒng)加載新版本的軟件運行起來以后,數(shù)據(jù)庫表翻譯模塊首先對主表文件數(shù)據(jù)庫進行翻譯,并將翻譯的結果保存到內存數(shù)據(jù)表項中。翻譯完成以后,內存數(shù)據(jù)表項就包含了舊版本數(shù)據(jù)庫中的內容。3、在完成對主表的翻譯以后,數(shù)據(jù)庫表翻譯模塊對輔表文件數(shù)據(jù)庫進行翻譯,將數(shù)據(jù)庫表Table_A新增的字段Filed_S以及它的缺省值Value_V翻譯到內存數(shù)據(jù)表項中保存起來。至此,內存數(shù)據(jù)表項就包含有完整的舊版本數(shù)據(jù)和新版本擴展數(shù)據(jù)的信息。4、數(shù)據(jù)庫表合成模塊對舊版本和新版本擴展的內存數(shù)據(jù)表項進行合并,并生成一個最終的內存數(shù)據(jù)表,作為新版本軟件的內存數(shù)據(jù)表。比如,數(shù)據(jù)庫表Table_A包含有舊版本的一個字段Filed_O,同時還包含有新版本擴展的一個字段Filed_S,數(shù)據(jù)庫表合成模塊根據(jù)數(shù)據(jù)庫表名稱Table_A檢索到新舊版本的兩個字段Filed_O和Filed_S,然后將其合并,生成一個最終的內存數(shù)據(jù)表。5、數(shù)據(jù)庫表合成模塊將新的內存數(shù)據(jù)表保存到文件數(shù)據(jù)庫中作為新版本的主表數(shù)據(jù)庫文件。這樣,新的主表就包含了新版本擴展數(shù)據(jù)表項的內容,數(shù)據(jù)庫主表由舊版本平滑的升級到了新版本。實施例二:刪除字段1、舉例說明,新版本軟件某個功能不再需要了,該功能對應的數(shù)據(jù)庫表Table_A中的字段Filed_O需要刪除。首先將這些信息注冊到一個輔表數(shù)據(jù)庫文件中,輔表數(shù)據(jù)庫文件可以按照表2所述的格式對刪除字段進行注冊。TABELNAMEFILEDNAME……Tabel_AFiled_O……表2其中第一列表示數(shù)據(jù)庫表的名稱,第二列表示刪除的表的字段的名稱。2、升級時將輔表數(shù)據(jù)庫文件和新版本軟件一同放入升級包中,系統(tǒng)加載新版本的軟件運行起來以后,數(shù)據(jù)庫表翻譯模塊首先對主表文件數(shù)據(jù)庫進行翻譯,并將翻譯的結果保存到內存數(shù)據(jù)表項中。翻譯完成以后,內存數(shù)據(jù)表項就包含了舊版本數(shù)據(jù)庫中的內容。3、在完成對主表的翻譯以后,數(shù)據(jù)庫表翻譯模塊對輔表文件數(shù)據(jù)庫進行翻譯,將數(shù)據(jù)庫表Table_A刪除的字段Filed_O翻譯到內存數(shù)據(jù)表項中保存起來。至此,內存數(shù)據(jù)表項就包含有完整的舊版本數(shù)據(jù)和新版本刪除數(shù)據(jù)的信息。4、數(shù)據(jù)庫表合成模塊根據(jù)輔表注冊的信息,將Table_A的Filed_O字段刪除,并生成一個最終的內存數(shù)據(jù)表,作為新版本軟件的內存數(shù)據(jù)表。5、數(shù)據(jù)庫表合成模塊將新的內存數(shù)據(jù)表保存到文件數(shù)據(jù)庫中作為新版本的主表數(shù)據(jù)庫文件。這樣,新的主表就包含了新版本刪除字段后數(shù)據(jù)表項的內容,數(shù)據(jù)庫主表由舊版本平滑的升級到了新版本。實施例三:修改字段1、修改字段可以用先刪除后增加兩個操作配合完成,這里可以參照表1和表2,將刪除和新增的信息同時注冊到輔表數(shù)據(jù)庫文件中。2、升級時將輔表數(shù)據(jù)庫文件和新版本軟件一同放入升級包中,系統(tǒng)加載新版本的軟件運行起來以后,數(shù)據(jù)庫表翻譯模塊首先對主表文件數(shù)據(jù)庫進行翻譯,并將翻譯的結果保存到內存數(shù)據(jù)表項中。翻譯完成以后,內存數(shù)據(jù)表項就包含了舊版本數(shù)據(jù)庫中的內容。3、在完成對主表的翻譯以后,數(shù)據(jù)庫表翻譯模塊對輔表文件數(shù)據(jù)庫進行翻譯,將數(shù)據(jù)庫表Table_A刪除以及新增的字段注冊信息翻譯到內存數(shù)據(jù)表項中保存起來。至此,內存數(shù)據(jù)表項就包含有完整的舊版本數(shù)據(jù)和新版本修 改數(shù)據(jù)的信息。4、數(shù)據(jù)庫表合成模塊首先處理刪除操作,將原字段刪除,然后處理新增操作,具體步驟可參考實施例一、二中的說明。5、數(shù)據(jù)庫表合成模塊將新的內存數(shù)據(jù)表保存到文件數(shù)據(jù)庫中作為新版本的主表數(shù)據(jù)庫文件。這樣,新的主表就包含了新版本修改數(shù)據(jù)表項的內容,數(shù)據(jù)庫主表由舊版本平滑的升級到了新版本。本實施例通過將需要擴展的數(shù)據(jù)記錄在輔表數(shù)據(jù)庫文件中,并將輔表添加至新版本的數(shù)據(jù)升級包中,以供終端升級數(shù)據(jù)時通過輔表數(shù)據(jù)庫文件中的擴展的數(shù)據(jù)與舊版本的數(shù)據(jù)合并,生成新的數(shù)據(jù),以完成終端升級。使得終端數(shù)據(jù)升級不需要刪除數(shù)據(jù)庫文件重新下發(fā)配置,提高了升級過程中終端的穩(wěn)定性,且該升級方式不依賴主備機系統(tǒng),能滿足所有系統(tǒng)結構的終端的軟件升級,擴展了終端數(shù)據(jù)升級的適用范圍,提高終端的體驗。上述實施例的終端數(shù)據(jù)升級方法的執(zhí)行主體均可以為終端。更進一步地,該終端數(shù)據(jù)升級方法可以由安裝在終端上的客戶端終端數(shù)據(jù)升級程序實現(xiàn),其中,該終端包括但不限于手機、pad、筆記本電腦等。本發(fā)明進一步提供一種終端數(shù)據(jù)升級裝置。參照圖4,圖4為本發(fā)明終端數(shù)據(jù)升級裝置的較佳實施例的功能模塊示意圖。在一實施例中,所述終端數(shù)據(jù)升級裝置包括:讀取模塊10、注冊模塊20、添加模塊30、合并模塊40及存儲模塊50。所述讀取模塊10,用于在加載新版本的數(shù)據(jù)升級包時,從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù)庫表格式的數(shù)據(jù)作為第一數(shù)據(jù),并從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù)作為第二數(shù)據(jù);在終端軟件需要增加功能,或在終端軟件的功能需要修改,及/或在終端軟件的功能需要刪除時,構建新版本的數(shù)據(jù)升級包,該新版本的數(shù)據(jù)升級包用于對終端軟件進行升級,一般由終端軟件的開發(fā)商提供,并更新不同版本的數(shù)據(jù)升級包。所述升級數(shù)據(jù)包包括待增加、刪除及/或修改的功能對應的數(shù)據(jù)。所述注冊模塊20,用于將新版本的數(shù)據(jù)庫擴展字段的缺省值注冊到輔表 數(shù)據(jù)庫文件中;所述添加模塊30,用于將所述輔表數(shù)據(jù)庫文件添加至新版本的數(shù)據(jù)升級包中。參考圖5,所述注冊模塊20包括確定單元21,用于確定新版本的數(shù)據(jù)庫待增加、待刪除及/或待修改的字段及所確定的字段對應的缺省值;注冊單元22,用于將所確定的缺省值注冊到輔助數(shù)據(jù)庫文件中。將新版本的數(shù)據(jù)升級包拷貝或者下載至需要升級的終端。所述終端在加載新版本的數(shù)據(jù)升級包時,從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù)庫表格式的數(shù)據(jù)作為第一數(shù)據(jù),并從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù)作為第二數(shù)據(jù)。所述第二數(shù)據(jù),即擴展部分的數(shù)據(jù)指新版本相對于舊版本的一些數(shù)據(jù)庫表格式可能會擴展,比如新版本增加支持某個新功能需要對數(shù)據(jù)表Table_A進行擴展,其結果是數(shù)據(jù)表Table_A新增了某個字段Filed_S。參考圖6,所述讀取模塊10包括讀取單元11、翻譯單元12及保存單元13,所述讀取單元11,用于從數(shù)據(jù)庫主表中讀取舊的數(shù)據(jù);所述翻譯單元12,用于翻譯舊的數(shù)據(jù)得到第一翻譯結果;所述保存單元13,用于將第一翻譯結果保存到內存數(shù)據(jù)表項中作為第一數(shù)據(jù);所述讀取單元11,還用于從數(shù)據(jù)庫輔表中讀取擴展部分的數(shù)據(jù);所述翻譯單元12,還用于翻譯擴展部分的數(shù)據(jù)得到第二翻譯結果;所述保存單元13,還用于將第二翻譯結果保存到內存數(shù)據(jù)表項中作為第二數(shù)據(jù)。所述翻譯的過程由新定義的數(shù)據(jù)庫表翻譯模塊提供,該模塊的功能是在新版本的軟件運行起來后,即,在加載新版本的數(shù)據(jù)升級包后,對文件數(shù)據(jù)庫表或輔表中的數(shù)據(jù)進行翻譯,然后將翻譯結果保存到內存數(shù)據(jù)表項中。所述合并模塊40,用于將第一數(shù)據(jù)與第二數(shù)據(jù)合并;所述存儲模塊50,用于將合并后的數(shù)據(jù)保存在新的主表數(shù)據(jù)庫中,以完成終端數(shù)據(jù)的升級操作。將第一數(shù)據(jù)和第二數(shù)據(jù)合并生成新版本的內存數(shù)據(jù)庫表項,將新版本的內存數(shù)據(jù)所述第一數(shù)據(jù)與第二數(shù)據(jù)合并由新定義的數(shù)據(jù)庫表合成模塊提供,該模塊的功能是將內存數(shù)據(jù)表項中主表和輔表相關的數(shù)據(jù)表項進行合并,然 后生成新版本的內存數(shù)據(jù)表項并將其保存在新的主表數(shù)據(jù)庫文件中。具體的,所述終端數(shù)據(jù)升級過程中數(shù)據(jù)走向如圖3所示。先從主表數(shù)據(jù)庫文件和輔表數(shù)據(jù)庫中讀取需要升級的數(shù)據(jù),即,先從主表數(shù)據(jù)庫文件中讀取數(shù)據(jù),該部分數(shù)據(jù)包含了舊版本數(shù)據(jù)庫中的內容,再讀取輔表文件數(shù)據(jù)庫進行讀取,該部分內容包括數(shù)據(jù)擴展的部分,即包括數(shù)據(jù)需要改變部分的內容,將讀取的數(shù)據(jù)(包括從主表和輔表數(shù)據(jù)庫文件中讀取的數(shù)據(jù))送至數(shù)據(jù)庫表翻譯模塊,數(shù)據(jù)庫表翻譯模塊對讀取的數(shù)據(jù)進行翻譯得到包含有完整的舊版本數(shù)據(jù)和新版本擴展數(shù)據(jù)的信息,并根據(jù)翻譯結果生成內存數(shù)據(jù)庫表項,包括新版本的和舊版本的,將內存數(shù)據(jù)庫表項合并,生成一個最終的內存數(shù)據(jù)表,作為新版本軟件的內存數(shù)據(jù)表,將新版本軟件的內存數(shù)據(jù)表生成新版本表數(shù)據(jù)庫文件,在運行該軟件后,通過新版本表數(shù)據(jù)庫文件來實現(xiàn)新增加、修改或刪除的功能,最終實現(xiàn)終端數(shù)據(jù)升級操作。為了能更好的說明本發(fā)明終端數(shù)據(jù)升級過程,以下從新增字段、刪除字段和修改字段來說明:一、新增字段1、舉例說明,新版本軟件增加了某個功能,該功能需要將一些信息保存在已有的數(shù)據(jù)庫表Table_A中,這就要對數(shù)據(jù)庫表Table-A進行一次擴展,擴展的結果是數(shù)據(jù)庫表Table_A新增了一個字段Filed_S,該字段的缺省值是Value_V。首先將這些信息注冊到一個輔表數(shù)據(jù)庫文件中,輔表數(shù)據(jù)庫文件可以按照表1的格式對新增字段進行注冊。2、升級時將輔表數(shù)據(jù)庫文件和新版本軟件一同放入升級包中,系統(tǒng)加載新版本的軟件運行起來以后,數(shù)據(jù)庫表翻譯模塊首先對主表文件數(shù)據(jù)庫進行翻譯,并將翻譯的結果保存到內存數(shù)據(jù)表項中。翻譯完成以后,內存數(shù)據(jù)表項就包含了舊版本數(shù)據(jù)庫中的內容。3、在完成對主表的翻譯以后,數(shù)據(jù)庫表翻譯模塊對輔表文件數(shù)據(jù)庫進行翻譯,將數(shù)據(jù)庫表Table_A新增的字段Filed_S以及它的缺省值Value_V翻譯到內存數(shù)據(jù)表項中保存起來。至此,內存數(shù)據(jù)表項就包含有完整的舊版本數(shù)據(jù)和新版本擴展數(shù)據(jù)的信息。4、數(shù)據(jù)庫表合成模塊對舊版本和新版本擴展的內存數(shù)據(jù)表項進行合并,并生成一個最終的內存數(shù)據(jù)表,作為新版本軟件的內存數(shù)據(jù)表。比如,數(shù)據(jù) 庫表Table_A包含有舊版本的一個字段Filed_O,同時還包含有新版本擴展的一個字段Filed_S,數(shù)據(jù)庫表合成模塊根據(jù)數(shù)據(jù)庫表名稱Table_A檢索到新舊版本的兩個字段Filed_O和Filed_S,然后將其合并,生成一個最終的內存數(shù)據(jù)表。5、數(shù)據(jù)庫表合成模塊將新的內存數(shù)據(jù)表保存到文件數(shù)據(jù)庫中作為新版本的主表數(shù)據(jù)庫文件。這樣,新的主表就包含了新版本擴展數(shù)據(jù)表項的內容,數(shù)據(jù)庫主表由舊版本平滑的升級到了新版本。實施例二:刪除字段1、舉例說明,新版本軟件某個功能不再需要了,該功能對應的數(shù)據(jù)庫表Table_A中的字段Filed_O需要刪除。首先將這些信息注冊到一個輔表數(shù)據(jù)庫文件中,輔表數(shù)據(jù)庫文件可以按照表2所述的格式對刪除字段進行注冊。2、升級時將輔表數(shù)據(jù)庫文件和新版本軟件一同放入升級包中,系統(tǒng)加載新版本的軟件運行起來以后,數(shù)據(jù)庫表翻譯模塊首先對主表文件數(shù)據(jù)庫進行翻譯,并將翻譯的結果保存到內存數(shù)據(jù)表項中。翻譯完成以后,內存數(shù)據(jù)表項就包含了舊版本數(shù)據(jù)庫中的內容。3、在完成對主表的翻譯以后,數(shù)據(jù)庫表翻譯模塊對輔表文件數(shù)據(jù)庫進行翻譯,將數(shù)據(jù)庫表Table_A刪除的字段Filed_O翻譯到內存數(shù)據(jù)表項中保存起來。至此,內存數(shù)據(jù)表項就包含有完整的舊版本數(shù)據(jù)和新版本刪除數(shù)據(jù)的信息。4、數(shù)據(jù)庫表合成模塊根據(jù)輔表注冊的信息,將Table_A的Filed_O字段刪除,并生成一個最終的內存數(shù)據(jù)表,作為新版本軟件的內存數(shù)據(jù)表。5、數(shù)據(jù)庫表合成模塊將新的內存數(shù)據(jù)表保存到文件數(shù)據(jù)庫中作為新版本的主表數(shù)據(jù)庫文件。這樣,新的主表就包含了新版本刪除字段后數(shù)據(jù)表項的內容,數(shù)據(jù)庫主表由舊版本平滑的升級到了新版本。實施例三:修改字段1、修改字段可以用先刪除后增加兩個操作配合完成,這里可以參照表1和表2,將刪除和新增的信息同時注冊到輔表數(shù)據(jù)庫文件中。2、升級時將輔表數(shù)據(jù)庫文件和新版本軟件一同放入升級包中,系統(tǒng)加載新版本的軟件運行起來以后,數(shù)據(jù)庫表翻譯模塊首先對主表文件數(shù)據(jù)庫進行 翻譯,并將翻譯的結果保存到內存數(shù)據(jù)表項中。翻譯完成以后,內存數(shù)據(jù)表項就包含了舊版本數(shù)據(jù)庫中的內容。3、在完成對主表的翻譯以后,數(shù)據(jù)庫表翻譯模塊對輔表文件數(shù)據(jù)庫進行翻譯,將數(shù)據(jù)庫表Table_A刪除以及新增的字段注冊信息翻譯到內存數(shù)據(jù)表項中保存起來。至此,內存數(shù)據(jù)表項就包含有完整的舊版本數(shù)據(jù)和新版本修改數(shù)據(jù)的信息。4、數(shù)據(jù)庫表合成模塊首先處理刪除操作,將原字段刪除,然后處理新增操作,具體步驟可參考實施例一、二中的說明。5、數(shù)據(jù)庫表合成模塊將新的內存數(shù)據(jù)表保存到文件數(shù)據(jù)庫中作為新版本的主表數(shù)據(jù)庫文件。這樣,新的主表就包含了新版本修改數(shù)據(jù)表項的內容,數(shù)據(jù)庫主表由舊版本平滑的升級到了新版本。本實施例通過將需要擴展的數(shù)據(jù)記錄在輔表數(shù)據(jù)庫文件中,并將輔表添加至新版本的數(shù)據(jù)升級包中,以供終端升級數(shù)據(jù)時通過輔表數(shù)據(jù)庫文件中的擴展的數(shù)據(jù)與舊版本的數(shù)據(jù)合并,生成新的數(shù)據(jù),以完成終端升級。使得終端數(shù)據(jù)升級不需要刪除數(shù)據(jù)庫文件重新下發(fā)配置,提高了升級過程中終端的穩(wěn)定性,且該升級方式不依賴主備機系統(tǒng),能滿足所有系統(tǒng)結構的終端的軟件升級,擴展了終端數(shù)據(jù)升級的范圍,提高終端的體驗。以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的
技術領域:
,均同理包括在本發(fā)明的專利保護范圍內。當前第1頁1 2 3