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