亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種在通信設(shè)備中實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫(kù)自動(dòng)升級(jí)的方法

文檔序號(hào):6392797閱讀:213來源:國(guó)知局
專利名稱:一種在通信設(shè)備中實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫(kù)自動(dòng)升級(jí)的方法
技術(shù)領(lǐng)域
本發(fā)明涉及在擁有主備主控板的大型通信設(shè)備上進(jìn)行軟件版本升級(jí)的技術(shù),具體涉及新舊版本數(shù)據(jù)庫(kù)兼容問題。
背景技術(shù)
在通信設(shè)備的運(yùn)行當(dāng)中,由于提供新業(yè)務(wù)的需要或是修改通信設(shè)備軟件版本的錯(cuò)誤時(shí),通常要對(duì)通信設(shè)備的軟件版本進(jìn)行升級(jí),即用新的軟件版本替換正在運(yùn)行的舊的軟件版本。但是由于通信設(shè)備在通信網(wǎng)中的重要性,以及通信網(wǎng)運(yùn)行質(zhì)量的特殊要求,大型通信設(shè)備在進(jìn)行軟件版本升級(jí)時(shí),一般要求對(duì)正在運(yùn)行的業(yè)務(wù)影響最小,甚至不能中斷正在運(yùn)行的業(yè)務(wù)。這就要求通信設(shè)備在更換軟件版本后,其運(yùn)行狀態(tài)基本上和更換軟件版本前保持一致。
在通信設(shè)備中的運(yùn)行中,由于數(shù)據(jù)庫(kù)起著重要作用,數(shù)據(jù)庫(kù)中存放了通信設(shè)備的大量命令配置、運(yùn)行狀態(tài)、性能統(tǒng)計(jì)、告警通知等數(shù)據(jù)信息,所以在通信設(shè)備進(jìn)行軟件版本的升級(jí)工作中,數(shù)據(jù)庫(kù)的升級(jí)是一個(gè)重要的步驟。它是使原有正在運(yùn)行中的軟件版本中各個(gè)數(shù)據(jù)表的記錄中的內(nèi)容填入新的軟件版本中各個(gè)數(shù)據(jù)表的相應(yīng)記錄中,使更換新軟件版本的通信設(shè)備的運(yùn)行狀態(tài)和原有的運(yùn)行狀態(tài)保持一致,減少對(duì)通信網(wǎng)運(yùn)營(yíng)質(zhì)量的不良影響。
但是在數(shù)據(jù)庫(kù)中,同一張數(shù)據(jù)表的結(jié)構(gòu)在不同的版本中有可能不同,這就給數(shù)據(jù)庫(kù)的升級(jí)造成了困難。所以使正在運(yùn)行的設(shè)備軟件版本中數(shù)據(jù)庫(kù)中的各種配置、統(tǒng)計(jì)、告警、記費(fèi)等數(shù)據(jù)內(nèi)容快速正確、簡(jiǎn)單方便的同步到升級(jí)后的新軟件版本的數(shù)據(jù)庫(kù)中,對(duì)通信網(wǎng)絡(luò)的業(yè)務(wù)正常運(yùn)行和維護(hù)工作起著重要作用。如果數(shù)據(jù)庫(kù)無法升級(jí),就會(huì)給通信設(shè)備的開發(fā)和維護(hù)帶來很多不必要的麻煩?;蚴擒浖姹旧?jí)后通過操作維護(hù)臺(tái)將原運(yùn)行版本的所有配置命令重新輸入一遍,使升級(jí)后的設(shè)備的運(yùn)行狀態(tài)和升級(jí)前保持一致,或是限制業(yè)務(wù)和數(shù)據(jù)庫(kù)的修改,這樣使各個(gè)版本的數(shù)據(jù)庫(kù)中數(shù)據(jù)表的結(jié)構(gòu)前后保持一致,使設(shè)備軟件版本可以順利升級(jí)。
由下面的分析得知,為什么同一張數(shù)據(jù)表的結(jié)構(gòu)在不同的版本中不同會(huì)給數(shù)據(jù)庫(kù)升級(jí)造成困難。在數(shù)據(jù)庫(kù)的設(shè)計(jì)中,使用較多概念模型是E-R概念模型,在E-R模型中,世界被劃分成一個(gè)個(gè)實(shí)體(entity),由屬性(attribute)來描述實(shí)體性質(zhì),并通過聯(lián)系相互關(guān)聯(lián)。實(shí)體是物理上或者概念上獨(dú)立存在的事務(wù)或?qū)ο?,?shí)體由屬性來刻畫其性質(zhì)。除了實(shí)體和屬性外,構(gòu)成E-R模型的第三個(gè)要素是聯(lián)系(relationship)。實(shí)體之間通過聯(lián)系相互作用和關(guān)聯(lián)。
在E-R概念模型基礎(chǔ)上,在數(shù)據(jù)庫(kù)實(shí)現(xiàn)中,最流行的邏輯數(shù)據(jù)模型之一就是關(guān)系模型。關(guān)系模型的廣為流行和強(qiáng)大能力要?dú)w功于其簡(jiǎn)潔的結(jié)構(gòu),它是一種以二維表的形式表示實(shí)體數(shù)據(jù)和實(shí)體之間關(guān)系等信息的數(shù)據(jù)模型,其中,由于二維表在數(shù)學(xué)公式中一般稱為關(guān)系,因此把這種模型稱為關(guān)系模型,表的列稱為屬性(attribute)。每一行稱為一個(gè)元組(tuple),表中行或列出現(xiàn)的順序并不重要。因此關(guān)系是一個(gè)無序的元組集合。表名和列名構(gòu)成關(guān)系模式(relation schema),行(或元組)的集合稱為關(guān)系實(shí)例(relational instance)。
在由E-R模型可以無縫地,直觀地映射到關(guān)系模型,每個(gè)實(shí)體映射成一個(gè)單獨(dú)的關(guān)系。實(shí)體的屬性映射成關(guān)系的屬性,實(shí)體間的聯(lián)系也映射成關(guān)系。在內(nèi)存數(shù)據(jù)庫(kù)中,這種模型對(duì)數(shù)據(jù)庫(kù)的各種功能的提供有重要的作用。
比如以下是關(guān)系的實(shí)例,其名稱為X。

其中a,b,c,d為該關(guān)系包含的屬性。關(guān)系的名稱和關(guān)系的屬性集稱為關(guān)系的模式X(A,B,C,D)。在關(guān)系模式中,除了第一行是標(biāo)題欄外,關(guān)系中的其它行X/1…稱為元組。
當(dāng)進(jìn)行數(shù)據(jù)庫(kù)的更改時(shí),在邏輯上相當(dāng)于對(duì)關(guān)系的屬性集進(jìn)行了更改。比如添加了一個(gè)屬性E,則形成了新的關(guān)系模式,減少一個(gè)屬性也是同樣原理。
X(A,B,C,D)Xnew(A,B,C,D,E)

如果要將舊的數(shù)據(jù)升級(jí)為新的數(shù)據(jù)從原理上講應(yīng)滿足下列公式。
X∩Xnew≠?dāng)?shù)據(jù)庫(kù)升級(jí)就是將關(guān)系X中的A,B,C,D屬性中的內(nèi)容放到新結(jié)構(gòu)的關(guān)系Xnew中,而E屬性可以是空和缺省值。
在實(shí)際的工作中通信設(shè)備數(shù)據(jù)庫(kù)的升級(jí)主要有兩種方法,兩種方法各自有一定的優(yōu)缺點(diǎn)和適用范圍。
一種方法是利用操作維護(hù)臺(tái)將保存下來的原版本的所有配置命令通過腳本在新軟件版本的操作維護(hù)臺(tái)中進(jìn)行配置命令的批處理,以使新版本的數(shù)據(jù)庫(kù)中的數(shù)據(jù)表內(nèi)容信息和老版本中數(shù)據(jù)庫(kù)中的數(shù)據(jù)表內(nèi)容信息的相同,達(dá)到設(shè)備軟件版本升級(jí)前和升級(jí)后運(yùn)行狀況相同的目的。腳本方法比較適用于業(yè)務(wù)功能比較簡(jiǎn)單,配置等數(shù)據(jù)內(nèi)容比較少的通信設(shè)備,這種方法比較簡(jiǎn)單可靠,但是只能升級(jí)配置部分的數(shù)據(jù),同時(shí)由于新舊版本的配置命令參數(shù)等內(nèi)容不一定相同,所以版本中配置命令的解釋部分也要有相應(yīng)的升級(jí)工具需要維護(hù)。
另一種方法是直接用數(shù)據(jù)庫(kù)升級(jí)工具對(duì)軟件版本中數(shù)據(jù)庫(kù)的各種數(shù)據(jù)表的內(nèi)容進(jìn)行升級(jí),將舊版本中舊數(shù)據(jù)表格的數(shù)據(jù)內(nèi)容在轉(zhuǎn)換到新版本中新數(shù)據(jù)表格式的數(shù)據(jù)庫(kù)中。數(shù)據(jù)庫(kù)升級(jí)工具方法比較適用于業(yè)務(wù)實(shí)現(xiàn)較復(fù)雜和配置等數(shù)據(jù)比較多的大型通信設(shè)備的數(shù)據(jù)升級(jí),這種升級(jí)方法升級(jí)后的數(shù)據(jù)比較完整,不但包括了配置數(shù)據(jù),還包括了設(shè)備運(yùn)行時(shí)數(shù)據(jù)庫(kù)中其它類別的所有數(shù)據(jù)。但是這種方法實(shí)現(xiàn)較為復(fù)雜,數(shù)據(jù)升級(jí)工具的開發(fā)維護(hù)工作要求比較高。
由于在物理實(shí)現(xiàn)上,二維關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)表的內(nèi)容都是按一維方式存放于內(nèi)存和硬盤中,一條記錄緊接著另一條記錄存為一個(gè)內(nèi)存塊或文件。舉例將上面的例子中數(shù)據(jù)表X升級(jí)為數(shù)據(jù)表Xnew。如果不用數(shù)據(jù)升級(jí)工具,完整的將表X的內(nèi)容從內(nèi)存或文件中取出放入表Xnew中,就會(huì)在記錄Xnew/1中出現(xiàn)偏差,a/1的內(nèi)容就會(huì)存放于a/1的位置,a/2的內(nèi)容就會(huì)存放于e/1的位置,后面的記錄也會(huì)出現(xiàn)同樣的偏差情況,這是由于在內(nèi)存塊和文件中,數(shù)據(jù)表記錄是一條接一條的存放的。在現(xiàn)有的數(shù)據(jù)升級(jí)工具中,將先記錄X/1的內(nèi)容放入Xnew/1,然后操作Xnew表的指針就會(huì)指向Xnew/2,并將X/2的內(nèi)容放入依次操作實(shí)現(xiàn)數(shù)據(jù)升級(jí)。
但是由于版本的不同,同一張表X在不同的版本中其結(jié)構(gòu)都有可能不同,其不同的屬性出現(xiàn)的位置也不一定相同,比如說屬性E的位置不一定出現(xiàn)在Xnew的最后。這樣數(shù)據(jù)升級(jí)工具就要對(duì)同一張表在不同的版本中有不同的操作。所以數(shù)據(jù)庫(kù)升級(jí)工具中包含了所有要升級(jí)的軟件版本之間數(shù)據(jù)表屬性的有無,位置相互差異等信息。這樣要考慮任意兩個(gè)版本間的升級(jí)操作,數(shù)據(jù)升級(jí)工具就會(huì)變得比較龐大,同時(shí)由于版本中數(shù)據(jù)表結(jié)構(gòu)有任何修改,相應(yīng)數(shù)據(jù)升級(jí)工具都要進(jìn)行修改和維護(hù),使之一直處于變動(dòng)中,不能穩(wěn)定下來,出錯(cuò)率較高。具體的升級(jí)原理可參看圖1,數(shù)據(jù)庫(kù)升級(jí)時(shí),主機(jī)向備機(jī)傳送數(shù)據(jù),數(shù)據(jù)升級(jí)工具判斷新舊版本,即主備機(jī)上的版本是否相同,若相同,備機(jī)將接收的數(shù)據(jù)放到新版本中,若不同,則將依次判斷是否是某一版本。
這兩種方法都無法實(shí)現(xiàn)數(shù)據(jù)庫(kù)的自動(dòng)升級(jí),都需要在進(jìn)行升級(jí)工作前不同程度的修改維護(hù)升級(jí)工具以適應(yīng)數(shù)據(jù)表新的變動(dòng)情況。
總結(jié)下來,使用數(shù)據(jù)升級(jí)工具實(shí)現(xiàn)數(shù)據(jù)庫(kù)升級(jí)有以下缺點(diǎn)1、不能從表的本身判斷是否兩個(gè)版本間數(shù)據(jù)表進(jìn)行了修改,只能根據(jù)版本的版本號(hào)來進(jìn)行判斷版本中有那些數(shù)據(jù)表有了修改,這種判斷難免會(huì)出現(xiàn)誤差。例如實(shí)際的兩個(gè)版本之間出現(xiàn)的數(shù)據(jù)表的結(jié)構(gòu)修改而在數(shù)據(jù)庫(kù)升級(jí)工具中忘記將相應(yīng)的數(shù)據(jù)表的升級(jí)程序加上,則在數(shù)據(jù)庫(kù)升級(jí)時(shí)就會(huì)出現(xiàn)錯(cuò)誤。
2、在進(jìn)行版本升級(jí)的時(shí)候在理論上會(huì)出現(xiàn)多到多的多種版本轉(zhuǎn)換情況,這樣,依靠新舊兩個(gè)版本的版本號(hào)來判斷那些表進(jìn)行過修改,就會(huì)使數(shù)據(jù)升級(jí)工具的中判斷程序出現(xiàn)很大的增長(zhǎng),數(shù)據(jù)升級(jí)工具維護(hù)工作量就會(huì)增大。
3、數(shù)據(jù)升級(jí)工具本身由于要根據(jù)版本的變化情況隨時(shí)修改和維護(hù),始終處于變化中,其穩(wěn)定性難免會(huì)受到影響。如果在版本升級(jí)時(shí)出現(xiàn)的兩種版本號(hào)的組合在數(shù)據(jù)升級(jí)工具中沒有考慮到,版本的數(shù)據(jù)庫(kù)升級(jí)就會(huì)受到影響。整個(gè)版本的維護(hù)工作的穩(wěn)定性就會(huì)受到影響。

發(fā)明內(nèi)容
本發(fā)明的目的是為了克服現(xiàn)有數(shù)據(jù)庫(kù)升級(jí)技術(shù)中的數(shù)據(jù)升級(jí)工具的開發(fā)和維護(hù)工作比較繁瑣,需要對(duì)所有版本的可能組合情況進(jìn)行判斷的缺點(diǎn),解決現(xiàn)有技術(shù)中存在的無法實(shí)現(xiàn)數(shù)據(jù)庫(kù)自動(dòng)升級(jí)和數(shù)據(jù)升級(jí)工具免維護(hù)的問題,使軟件版本升級(jí)工作中數(shù)據(jù)庫(kù)的升級(jí)步驟更為方便安全可靠。
本發(fā)明的技術(shù)方案為先對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)表信息進(jìn)行詳細(xì)描述,包括對(duì)每個(gè)數(shù)據(jù)表的名稱、對(duì)數(shù)據(jù)表中的每個(gè)屬性的名稱和物理位置進(jìn)行描述;在備機(jī)上啟動(dòng)新的軟件版本,并向主機(jī)發(fā)送請(qǐng)求傳送數(shù)據(jù)的消息;主機(jī)收到請(qǐng)求后將數(shù)據(jù)表中的屬性內(nèi)容加上表名稱和屬性名稱發(fā)送到備機(jī)上;備機(jī)接收數(shù)據(jù)表內(nèi)容后,將數(shù)據(jù)表屬性放入新的版本數(shù)據(jù)表對(duì)應(yīng)的屬性中,對(duì)新版本中沒有的數(shù)據(jù)表屬性不予處理。在數(shù)據(jù)庫(kù)升級(jí)完成后,主機(jī)將數(shù)據(jù)庫(kù)升級(jí)期發(fā)生的數(shù)據(jù)更改的數(shù)據(jù)表傳送給備機(jī)。
采用本發(fā)明所述數(shù)據(jù)庫(kù)自動(dòng)升級(jí)方法,與現(xiàn)有技術(shù)相比,取得了不用修改代碼就可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)的自動(dòng)升級(jí)的功能,達(dá)到了方便的進(jìn)行幾乎任意多個(gè)軟件版本間數(shù)據(jù)升級(jí)效果,節(jié)省了開發(fā)和維護(hù)數(shù)據(jù)庫(kù)升級(jí)工具的人力物力,提高了通信設(shè)備開發(fā)和維護(hù)的效率,降低了開發(fā)和維護(hù)工作的出錯(cuò)率。同時(shí),由于數(shù)據(jù)庫(kù)的升級(jí)和軟件版本號(hào)無關(guān),當(dāng)數(shù)據(jù)庫(kù)升級(jí)過后,如果有需要還可以回退到原來的版本中。


圖1是一種現(xiàn)有數(shù)據(jù)庫(kù)升級(jí)方法的流程圖。
圖2本發(fā)明的流程圖。
具體實(shí)施例方式
本發(fā)明所用的升級(jí)方法如下,在舊軟件版本數(shù)據(jù)庫(kù)中的數(shù)據(jù)表內(nèi)容向新軟件版本的數(shù)據(jù)庫(kù)中傳輸時(shí),不是按照現(xiàn)有的技術(shù)方案從內(nèi)存或是文件中以記錄為單位按照一個(gè)記錄一個(gè)記錄的將數(shù)據(jù)表內(nèi)容傳遞到新版本的數(shù)據(jù)表中,而是以屬性內(nèi)容為單位,按照一個(gè)一個(gè)屬性內(nèi)容將數(shù)據(jù)表的內(nèi)容傳遞到新的數(shù)據(jù)表中。從前面舉的例子數(shù)據(jù)表X來講,原有的技術(shù)方案是將二維數(shù)據(jù)表X的內(nèi)容按照記錄X/1(a/1,b/1,c/1,d/1),X/2(a/2,b/2,c/2,d/2)…的順序橫向?qū)?shù)據(jù)內(nèi)容傳遞到新的數(shù)據(jù)表中。而本發(fā)明是將二維數(shù)據(jù)表X的內(nèi)容按照屬性A(a/1,a/2,a/3,a/4),B(b/1,b/2,b/3,b/4)…的順序縱向?qū)?shù)據(jù)內(nèi)容傳遞到新的數(shù)據(jù)表Xnew中。
因?yàn)橛申P(guān)系的等價(jià)表示方法得知,關(guān)系的模式和元組都是集合,不是列表,在關(guān)系模式中屬性的順序并不重要,不論屬性之間的排列順序如何變化,關(guān)系不變。這樣就得出一個(gè)重要結(jié)論當(dāng)數(shù)據(jù)升級(jí)時(shí),新的數(shù)據(jù)表需要的是舊的數(shù)據(jù)表中和它相同的每個(gè)屬性值,而不需要知道舊數(shù)據(jù)表的整個(gè)表的物理結(jié)構(gòu)信息。
在現(xiàn)有的以記錄為單位將數(shù)據(jù)內(nèi)容進(jìn)行升級(jí)的方案中,數(shù)據(jù)升級(jí)工具根據(jù)版本號(hào)的不同,將每個(gè)記錄中的各個(gè)屬性內(nèi)容在新的數(shù)據(jù)表結(jié)構(gòu)中進(jìn)行重新排列。所以數(shù)據(jù)升級(jí)工具對(duì)現(xiàn)有的各個(gè)軟件版本,就需要知道不同版本中同一張數(shù)據(jù)表在結(jié)構(gòu)上的相同和不同之處。本方法只需要各個(gè)軟件版本知道本身數(shù)據(jù)表中各個(gè)屬性的位置。
下面參照?qǐng)D2,以一臺(tái)擁有主備主控板的通信設(shè)備進(jìn)一步說明本數(shù)據(jù)庫(kù)自動(dòng)升級(jí)方法的具體步驟。
第一步,首先要對(duì)軟件版本數(shù)據(jù)庫(kù)中的數(shù)據(jù)表信息進(jìn)行詳細(xì)描述,包括1、對(duì)軟件版本的數(shù)據(jù)庫(kù)中各個(gè)數(shù)據(jù)表包括每個(gè)屬性都要有準(zhǔn)確的統(tǒng)一的描述。數(shù)據(jù)庫(kù)中的每個(gè)數(shù)據(jù)表都要有一個(gè)名稱標(biāo)志,在不同的軟件版本中,同一張數(shù)據(jù)表的名稱一定相同,同時(shí)在同一個(gè)版本中不能有兩個(gè)相同名稱的數(shù)據(jù)表。只有這樣,當(dāng)一個(gè)舊版本中的數(shù)據(jù)表內(nèi)容傳遞到新版本中時(shí),新的軟件版本才知道傳遞過來的是哪一張數(shù)據(jù)表的內(nèi)容。
2、同樣一張數(shù)據(jù)表中每個(gè)屬性都有唯一的名稱標(biāo)志,這一名稱標(biāo)志在不同的軟件版本中必須相同,這樣當(dāng)數(shù)據(jù)表屬性內(nèi)容傳遞到新版本時(shí),新軟件版本才知道傳遞過來的是哪個(gè)屬性的內(nèi)容。
3、每個(gè)軟件版本的數(shù)據(jù)庫(kù)不但要對(duì)數(shù)據(jù)表中的每個(gè)屬性名稱有所描述,還要對(duì)每個(gè)屬性的物理位置要有所描述,這樣傳遞過來的舊軟件版本的數(shù)據(jù)表屬性的內(nèi)容才能準(zhǔn)確的放入到新的軟件版本的數(shù)據(jù)表中。
第二步,在升級(jí)開始時(shí),要啟動(dòng)新版本,1、在正在運(yùn)行的通信設(shè)備上,通過網(wǎng)管系統(tǒng)或是其他途徑將新的軟件版本拷貝到備機(jī)的flash或硬盤上。
2、將備機(jī)在機(jī)架上重起動(dòng),使新的版本運(yùn)行起來。
3、運(yùn)行后的版本檢測(cè)到是備機(jī),就向主機(jī)發(fā)送一個(gè)請(qǐng)求傳送數(shù)據(jù)的消息,然后就等待主機(jī)傳送數(shù)據(jù)過來第三步,主機(jī)向備機(jī)傳送數(shù)據(jù)。
1、主機(jī)收到備機(jī)的傳送數(shù)據(jù)的請(qǐng)求后就將數(shù)據(jù)表中的屬性內(nèi)容加上表名稱和屬性名稱通過消息發(fā)送到備機(jī)上。由前文提到,關(guān)系數(shù)據(jù)表在內(nèi)存和文件中的存放是一維形式,一個(gè)記錄接著一個(gè)記錄的順序存放?,F(xiàn)有數(shù)據(jù)庫(kù)升級(jí)方法是將數(shù)據(jù)表記錄內(nèi)容按照記錄順序依次傳送到新軟件版本的數(shù)據(jù)庫(kù)。本發(fā)明是數(shù)據(jù)表的各個(gè)記錄中同一數(shù)據(jù)屬性內(nèi)容依次傳遞,這就需要在軟件版本中有相應(yīng)的數(shù)據(jù)表傳送程序?qū)⒚繌埍淼拿總€(gè)屬性內(nèi)容提取出來。
2、備機(jī)接受到主機(jī)發(fā)送過來的數(shù)據(jù)庫(kù)內(nèi)容時(shí),通過檢測(cè)消息中的表名稱和屬性名稱將內(nèi)容放入備機(jī)的數(shù)據(jù)庫(kù)中的相應(yīng)數(shù)據(jù)表的屬性中,由于備機(jī)新版本中擁有自身數(shù)據(jù)表中各個(gè)屬性名稱和位置的信息,所以備機(jī)不必知道傳過來的主機(jī)的數(shù)據(jù)表屬性內(nèi)容在主機(jī)數(shù)據(jù)表結(jié)構(gòu)中的相對(duì)位置。
3、在本發(fā)明中將二維表中橫向的記錄內(nèi)容作為數(shù)據(jù)內(nèi)容的傳送單位改為按照縱向的屬性內(nèi)容作為傳送單位。當(dāng)數(shù)據(jù)表的數(shù)據(jù)屬性A內(nèi)容傳遞到新的數(shù)據(jù)表Xnew中,處理數(shù)據(jù)升級(jí)的程序就會(huì)根據(jù)屬性A在表Xnew中的位置信息將傳遞過來的屬性A的內(nèi)容縱向放入數(shù)據(jù)表Xnew中,同樣,當(dāng)數(shù)據(jù)屬性B內(nèi)容傳遞到新的數(shù)據(jù)表Xnew中,處理數(shù)據(jù)升級(jí)的程序就會(huì)根據(jù)屬性B在表Xnew中的位置信息將傳遞過來的屬性B的內(nèi)容放入數(shù)據(jù)表Xnew中,依次類推,直到數(shù)據(jù)表X的所有屬性都傳遞到新的數(shù)據(jù)表Xnew中,這樣數(shù)據(jù)表X就在新的版本Xnew中完成了升級(jí)。而處理數(shù)據(jù)升級(jí)的程序不需要知道舊的數(shù)據(jù)表X的數(shù)據(jù)結(jié)構(gòu)和新的數(shù)據(jù)表Xnew結(jié)構(gòu)的不同和相同之處。由于表X中沒有屬性E的數(shù)據(jù)內(nèi)容傳送過來,所以在新的數(shù)據(jù)表Xnew中屬性E自然就保持初始值或缺省值。如果數(shù)據(jù)表X有個(gè)屬性比如B在新版本的數(shù)據(jù)表Xnew中已經(jīng)取消,新軟件版本就會(huì)對(duì)這一屬性的內(nèi)容不予處理。
4、當(dāng)主機(jī)將一張數(shù)據(jù)表的所有屬性都傳送完畢,發(fā)送一個(gè)傳送另一張數(shù)據(jù)表的消息。這個(gè)過程運(yùn)行過多次后就會(huì)將數(shù)據(jù)庫(kù)中的所有表格傳送完畢,同時(shí),備機(jī)上的數(shù)據(jù)表中的內(nèi)容也是按照新數(shù)據(jù)表結(jié)構(gòu)來安排的,數(shù)據(jù)庫(kù)也就完成了升級(jí)。
當(dāng)備機(jī)接收并升級(jí)完數(shù)據(jù)庫(kù)后,向主機(jī)發(fā)送相應(yīng)的消息通知接收數(shù)據(jù)結(jié)束。
如果在數(shù)據(jù)庫(kù)進(jìn)行升級(jí)期間,某張數(shù)據(jù)表發(fā)生修改,版本就會(huì)記載下來,當(dāng)數(shù)據(jù)庫(kù)升級(jí)過程結(jié)束時(shí),將發(fā)生過修改的數(shù)據(jù)表向新軟件版本重新傳遞,使相關(guān)地表格重新進(jìn)行升級(jí)。
最后,通信設(shè)備進(jìn)行主備倒換,使新的軟件版本正常運(yùn)行。
權(quán)利要求
1.一種在通信設(shè)備中實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫(kù)自動(dòng)升級(jí)的方法,包括以下步驟1.1對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)表信息進(jìn)行詳細(xì)描述,包括對(duì)每個(gè)數(shù)據(jù)表的名稱、對(duì)數(shù)據(jù)表中的每個(gè)屬性的名稱和物理位置進(jìn)行描述;1.2在備機(jī)上啟動(dòng)新的軟件版本,并向主機(jī)發(fā)送請(qǐng)求傳送數(shù)據(jù)的消息;1.3主機(jī)將數(shù)據(jù)表中的屬性內(nèi)容加上表名稱和屬性名稱發(fā)送到備機(jī)上;1.4備機(jī)接收數(shù)據(jù)表內(nèi)容后,將數(shù)據(jù)表屬性放入新的版本數(shù)據(jù)表對(duì)應(yīng)的屬性中,對(duì)新版本中沒有的數(shù)據(jù)表屬性不予處理。
2.權(quán)利要求1所述的在通信設(shè)備中實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫(kù)自動(dòng)升級(jí)的方法,其特征在于,所述步驟1.3中的發(fā)送,是用軟件中的數(shù)據(jù)表傳送程序?qū)⒚繌埍淼拿總€(gè)屬性內(nèi)容提取出來,將數(shù)據(jù)以屬性內(nèi)容為單位依次傳送。
3.權(quán)利要求1所述的在通信設(shè)備中實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫(kù)自動(dòng)升級(jí)的方法,其特征在于,在數(shù)據(jù)庫(kù)升級(jí)完成后,主機(jī)將數(shù)據(jù)庫(kù)升級(jí)期發(fā)生的數(shù)據(jù)更改的數(shù)據(jù)表傳送給備機(jī)。
全文摘要
一種在通信設(shè)備中實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫(kù)自動(dòng)升級(jí)的方法,先對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)表信息進(jìn)行詳細(xì)描述;再在備機(jī)上啟動(dòng)新的軟件版本,并向主機(jī)發(fā)送請(qǐng)求傳送數(shù)據(jù)的消息;主機(jī)收到請(qǐng)求后將數(shù)據(jù)表中的屬性內(nèi)容加上表名稱和屬性名稱發(fā)送到備機(jī)上;備機(jī)接收數(shù)據(jù)表內(nèi)容后,將數(shù)據(jù)表屬性放入新的版本數(shù)據(jù)表對(duì)應(yīng)的屬性中,對(duì)新版本中沒有的數(shù)據(jù)表屬性不予處理。在數(shù)據(jù)庫(kù)升級(jí)完成后,主機(jī)將數(shù)據(jù)庫(kù)升級(jí)期發(fā)生的數(shù)據(jù)更改的數(shù)據(jù)表傳送給備機(jī)。本發(fā)明不用修改代碼,就可實(shí)現(xiàn)數(shù)據(jù)庫(kù)的自動(dòng)升級(jí),節(jié)省了開發(fā)和維護(hù)數(shù)據(jù)庫(kù)升級(jí)工具的人力物力,提高了通信設(shè)備開發(fā)和維護(hù)的效率,降低了開發(fā)和維護(hù)工作的出錯(cuò)率。
文檔編號(hào)G06F17/30GK1581165SQ200410027310
公開日2005年2月16日 申請(qǐng)日期2004年5月18日 優(yōu)先權(quán)日2004年5月18日
發(fā)明者朱新華, 李金旺, 周建國(guó) 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1