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

網(wǎng)絡(luò)處理器的補丁方法及設(shè)備的制作方法

文檔序號:6465896閱讀:119來源:國知局
專利名稱:網(wǎng)絡(luò)處理器的補丁方法及設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)處理器的補丁方法及設(shè)備。
背景技術(shù)
打補丁是一種在不重新啟動設(shè)備、不影響業(yè)務(wù)正常運行的前提下,達(dá)到升 級軟件以解決已知的軟件問題的一種機制。對于通信級產(chǎn)品來說,在升級軟件
時候?qū)τ跇I(yè)務(wù)中斷時間要求非常嚴(yán)格,中斷時間應(yīng)控制在20毫秒的范圍內(nèi),所 以為了不影響在線用戶和業(yè)務(wù)數(shù)據(jù)的正常處理,通常采用打補丁的方式來進(jìn)行 產(chǎn)品的升級。
現(xiàn)有技術(shù)對于網(wǎng)絡(luò)處理器打補丁主要采用下述方法,如圖l所示
步驟IQI,獲耳又原版本程序代碼和新版本程序代碼;
步驟102,找出新版本程序代碼和原版本程序代碼的差異代碼;
步驟103,將該差異代碼做成補丁;
步驟104,在原版本程序代碼中劃分出補丁區(qū);
步驟105,將補丁文件下載到補丁區(qū)域;
步驟106,在原版本程序代碼中確定調(diào)用所述補丁的位置;
步驟107,在該位置將代碼的第一條指令替換為跳轉(zhuǎn)指令,跳轉(zhuǎn)至補丁起始
地址,才丸4亍補丁內(nèi)容;
步驟108,在補丁內(nèi)容結(jié)束指令后面加一條跳轉(zhuǎn)指令,跳轉(zhuǎn)至被補丁代碼區(qū)
后正常代碼區(qū)的第一句處。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題對于 不同的網(wǎng)絡(luò)處理需要不同的補丁制作工具;文件打完補丁之后由于補丁文件單
獨存放并且插入了跳轉(zhuǎn)指令,因此其物理代碼結(jié)構(gòu)會發(fā)生變化,再有更新版本 程序的程序需要升級的時候,不能采用相同的方式比較前后版本的差異,因此 打過補丁之后不能再繼續(xù)打新的補丁。

發(fā)明內(nèi)容
本發(fā)明的實施例提供一種網(wǎng)絡(luò)處理器的補丁方法及設(shè)備,通用于所有的網(wǎng) 絡(luò)處理器,并且能夠多次打補丁。
為達(dá)到上述目的,本發(fā)明的實施例采用如下技術(shù)方案 一種網(wǎng)絡(luò)處理器的補丁方法,包括 停止線程處理;
下栽新程序的代碼替換該網(wǎng)絡(luò)處理器代碼區(qū)的原有代碼; 調(diào)整程序處理器指針指向該新程序處理首部; 重新啟動線程處理。
一種網(wǎng)絡(luò)處理器補丁的設(shè)備,其特征在于,包括 停止線程處理模塊,用于停止線程處理;
下載新程序模塊,用于將新程序的代碼下載到該網(wǎng)絡(luò)處理器的代碼區(qū),替 換原有代碼;
調(diào)整指針模塊,用于調(diào)整程序處理器指針指向該新程序處理首部; 重新啟動線程模塊,用于重新啟動被停止的線程。
本發(fā)明實施例提供的網(wǎng)絡(luò)處理器的補丁方法及設(shè)備,直接下載新版本程序 的代碼到網(wǎng)絡(luò)處理器的代碼區(qū)替換原有代碼,通用于所有網(wǎng)絡(luò)處理器,解決了 現(xiàn)有技術(shù)根據(jù)不同網(wǎng)絡(luò)處理器需要不同補丁制作工具的,不能通用于所有網(wǎng)絡(luò) 處理器的問題;由于用新版本代碼直接替換原有代碼,因此只要發(fā)現(xiàn)新版,就 可以采用該方法對網(wǎng)絡(luò)處理器進(jìn)行補丁,解決了現(xiàn)有技術(shù)不能對網(wǎng)絡(luò)處理器連
所有的網(wǎng)絡(luò)處理器,并且能夠多次打補丁。


圖1為現(xiàn)有技術(shù)對于網(wǎng)絡(luò)處理器打補丁的方法流程圖; 圖2為本發(fā)明實施例提供的網(wǎng)絡(luò)處理器的補丁方法流程圖; 圖3為本發(fā)明另一實施例提供的網(wǎng)絡(luò)處理器的補丁方法流程圖; 圖4為本發(fā)明實施例提供的網(wǎng)絡(luò)處理器的補丁設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式
為了解決現(xiàn)有技術(shù)不能通用于所有網(wǎng)絡(luò)處理器以及不能連續(xù)進(jìn)行補丁的問 題,本發(fā)明提供了一種網(wǎng)絡(luò)處理器的補丁方法及設(shè)備。下面結(jié)合附圖對本發(fā)明 進(jìn)行詳細(xì)描述。
如圖2所示,本發(fā)明實施例提供的網(wǎng)絡(luò)處理器的補丁方法,包括 201,快速中斷接收數(shù)據(jù)流量;
本實施例的補丁方法需要在網(wǎng)絡(luò)處理器無數(shù)據(jù)流量處理的情況下進(jìn)行打補 丁操作,所以首先快速中斷接收數(shù)據(jù)流量。
本實施例中,快速中斷接收數(shù)據(jù)流量的方法包括 通過控制本網(wǎng)絡(luò)處理器,停止從上游器件接收數(shù)據(jù);
如果網(wǎng)絡(luò)處理器處理數(shù)據(jù)的能力超出負(fù)荷,就會對上游器件造成一個反壓, 自動停止從上游器件獲取數(shù)據(jù)。網(wǎng)絡(luò)處理器可以在需要中斷接收數(shù)據(jù)流量的時 候,通過控制該網(wǎng)絡(luò)處理器直接對上游器件進(jìn)行反壓。
對上游器件的反壓可以分為端口級反壓和鏈路級反壓,端口級反壓只停止 被反壓的端口傳輸數(shù)據(jù),鏈路級反壓會停止所有端口傳輸數(shù)據(jù)。
通過控制上游器件,停止發(fā)送數(shù)據(jù)給上述網(wǎng)絡(luò)處理器。
本實施例中,所需要中斷的數(shù)據(jù)流量包括 從設(shè)備物理端口側(cè)輸入的數(shù)據(jù)流量; 從交換網(wǎng)側(cè)輸入的數(shù)據(jù)流量; 從主機側(cè)下發(fā)的數(shù)據(jù)流量; 從相鄰處理器輸入的數(shù)據(jù)流量。 202,停止線程處理;
網(wǎng)絡(luò)處理器處理的基本單元是線程,代碼在線程中得到執(zhí)行處理,不同的 線程可以進(jìn)行不同的數(shù)據(jù)處理業(yè)務(wù),不同的線程可以交替占用處理器。本實施 例在打補丁的時候需要停止網(wǎng)絡(luò)處理器的處理,以停止對于網(wǎng)絡(luò)處理器內(nèi)部所 有資源的操作。
本實施例中,停止線程處理的方法包括
直接停止需要升級的原有代碼所在的線程;
通過關(guān)閉上述網(wǎng)絡(luò)處理器的處理引擎停止所有的線程。
203,初始化網(wǎng)絡(luò)處理器內(nèi)部關(guān)^:資源;
線程處理停止后,需要對上述網(wǎng)絡(luò)處理器的內(nèi)部關(guān)鍵資源進(jìn)行初始化,所 謂的關(guān)鍵資源主要是指存儲程序運行過程中各種需要暫時存放的數(shù)據(jù)信息的資 源,包括但不限于等待信號狀態(tài)寄存器、返回信號狀態(tài)寄存器、輸入輸出操 作的狀態(tài)寄存器、隊列狀態(tài)、堆棧狀態(tài)。
204,下載新程序的代碼到該網(wǎng)絡(luò)處理器的代碼區(qū),替換原有代碼; 將新版本程序的代碼下載到上述網(wǎng)絡(luò)處理器的代碼區(qū)中,替換原有的代碼。 下載的代碼可以包含全部代碼也可以僅僅下載原代碼中需要替換的代碼段。 205,調(diào)整程序計數(shù)器(PC)指針指向新程序處理首部; PC指針用來指示程序運行的指令的地址,將新版本程序的代碼替換原有的
代碼之后,需要將PC指針指向新版本程序代碼的首部,目的是當(dāng)重新啟動線程
的時候能夠從新程序的首部開始運行。
206,重新啟動線程處理。
將新版本程序的代碼替換原代碼之后,需要重新啟動已經(jīng)被停止的線程, 從而運行新的程序。
本實施例中,重新啟動線程處理的方法包括 直接啟動202中關(guān)閉的,需要升級的原有代碼所在的線程; 通過啟動202中關(guān)閉的該網(wǎng)絡(luò)處理器的的處理引擎啟動所有的線程。 本實施例中,從停止線程處理到重新啟動線程處理所需要的時間很短,大 約需要10毫秒左右,在網(wǎng)絡(luò)運行過程中允許程序停止時間在20毫秒,因此本 實施例提供的網(wǎng)絡(luò)處理器的補丁方法不會影響業(yè)務(wù)正常運行。 207,恢復(fù)接收數(shù)據(jù)流量。
當(dāng)完成上述步驟206之后,網(wǎng)絡(luò)處理器已經(jīng)恢復(fù)線程運行狀態(tài),此時需要 恢復(fù)接收數(shù)據(jù)流量。
本實施例中,恢復(fù)接收數(shù)據(jù)流量的方法包括 通過控制該網(wǎng)絡(luò)處理器,啟動從上游器件接收數(shù)據(jù); 通過控制上游器件,啟動發(fā)送數(shù)據(jù)給該網(wǎng)絡(luò)處理器。
如圖3所示,本發(fā)明提供另一實施例中,203,初始化網(wǎng)絡(luò)處理器內(nèi)部關(guān)鍵 資源可以與204,下載新程序的代碼到該網(wǎng)絡(luò)處理器的代碼區(qū)替換原有代碼,并 行處理。目的是節(jié)省從中斷線程到重新啟動線程所需的時間,優(yōu)化打補丁的性 能。(當(dāng)新版本代碼的程序首部位置與原有代碼首部位置相同時,205,調(diào)整PC 指針指向新程序處理首部,也可以與204,下載新程序到代碼區(qū)替換原有代碼, 并行處理。)
本發(fā)明實施例提供的網(wǎng)絡(luò)處理器的補丁方法,直接下栽新版本程序的代碼 到網(wǎng)絡(luò)處理器的代碼區(qū)替換原有代碼,通用于所有網(wǎng)絡(luò)處理器,解決了現(xiàn)有技 術(shù)根據(jù)不同網(wǎng)絡(luò)處理器需要不同補丁制作工具的,不能通用于所有網(wǎng)絡(luò)處理器
的問題;由于用新版本代碼直接替換原有代碼,因此只要發(fā)現(xiàn)新版本,就可以 采用該方法對網(wǎng)絡(luò)處理器進(jìn)行補丁,解決了現(xiàn)有技術(shù)不能對網(wǎng)絡(luò)處理器連續(xù)進(jìn) 行補丁的問題。本發(fā)明實施例提供的網(wǎng)絡(luò)處理器的補丁方法及設(shè)備通用于所有 的網(wǎng)絡(luò)處理器,并且能夠多次打補丁。
與上述本發(fā)明提供的網(wǎng)絡(luò)處理器的補丁方法相對應(yīng)的,如圖4所示,本發(fā) 明實施例還提供一種網(wǎng)絡(luò)處理器的補丁設(shè)備。包括
中斷數(shù)據(jù)流量模塊401 ,用于在停止線程處理之前,快速中斷接收數(shù)據(jù)流量;
停止線程處理;f莫塊402,用于停止線程處理;
初始化模塊403,用于在停止線程處理之后,初始化網(wǎng)絡(luò)處理器內(nèi)部關(guān)鍵資
源;
下載新程序模塊404,用于將新版本程序的代碼下載到該網(wǎng)絡(luò)處理器的代碼 區(qū),替換原有代碼;
調(diào)整指針模塊405,用于調(diào)整程序處理器指針指向新程序處理首部; 重新啟動線程;溪塊406,用于重新啟動被停止的線程; 恢復(fù)數(shù)據(jù)流量模塊407,用于在重新啟動被停止的線程之后,恢復(fù)接收數(shù)據(jù)流量。
本實施例中,該中斷數(shù)據(jù)流量模塊包括
停止控制單元4011,該停止控制單元包括控制網(wǎng)絡(luò)處理器單元,用于通 過控制該網(wǎng)絡(luò)處理器,停止從上游器件接收數(shù)據(jù);或者
控制上游器件單元,用于通過控制上游器件,停止發(fā)送數(shù)據(jù)給該網(wǎng)絡(luò)處理器。
本實施例中,該停止線程模塊包括 停止單元4021,該停止單元包括
停止線程單元,用于直接停止需要升級的代碼區(qū)所在的線程;或者 關(guān)閉處理引擎單元,用于通過關(guān)閉該網(wǎng)絡(luò)處理器的的處理引擎停止所有的 線程。
本實施例中,該重新啟動線程模塊包括 啟動單元4061,該啟動單元包4舌
啟動線程單元,用于直接啟動需要升級的代碼區(qū)所在的線程;或者 啟動處理引擎單元,用于通過啟動該網(wǎng)絡(luò)處理器的的處理引擎啟動所有的 線程。
本實施例中,該恢復(fù)數(shù)據(jù)流量模塊包括 啟動控制單元4071,該啟動控制單元包括
控制網(wǎng)絡(luò)處理器單元,用于通過控制該網(wǎng)絡(luò)處理器,啟動從上游器件接收 數(shù)據(jù);或者
控制上游器件單元,用于通過控制上游器件,啟動發(fā)送數(shù)據(jù)給該網(wǎng)絡(luò)處理器。
本發(fā)明實施例提供的網(wǎng)絡(luò)處理器的補丁設(shè)備,直接下載新版本程序的代碼 到代碼區(qū)替換原有代碼,通用于所有網(wǎng)絡(luò)處理器,解決了現(xiàn)有技術(shù)根據(jù)不同網(wǎng) 絡(luò)處理器需要不同補丁制作工具的,不能通用于所有網(wǎng)絡(luò)處理器的問題;由于 用新版本代碼直接替換原有代碼,因此只要發(fā)現(xiàn)新版本,就可以采用該方法對 網(wǎng)絡(luò)處理器進(jìn)行補丁 ,解決了現(xiàn)有技術(shù)不能對網(wǎng)絡(luò)處理器連續(xù)進(jìn)行補丁的問題。 本發(fā)明實施例提供的網(wǎng)絡(luò)處理器的補丁方法及設(shè)備通用于所有的網(wǎng)絡(luò)處理器,
并且能夠多次打補丁,
可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一計算機可讀存
儲介質(zhì)中,如ROM/RAM、 /f茲碟或光盤等。
以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局限于 此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到 變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng) 所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1、一種網(wǎng)絡(luò)處理器的補丁方法,其特征在于,包括停止線程處理;下載新程序的代碼替換網(wǎng)絡(luò)處理器代碼區(qū)的原有代碼;調(diào)整程序處理器指針指向所述新程序處理首部;重新啟動線程處理。
2、 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)處理器的補丁方法,其特征在于,停止線程 處理之前還包括快速中斷接收數(shù)據(jù)流量。
3、 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)處理器的補丁方法,其特征在于,停止線程 處理之后還包括初始化網(wǎng)絡(luò)處理器內(nèi)部關(guān)鍵資源。
4、 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)處理器的補丁方法,其特征在于,重新啟動 處理線程之后還包括恢復(fù)接收數(shù)據(jù)流量。
5、 根據(jù)權(quán)利要求2或4所述的網(wǎng)絡(luò)處理器的補丁方法,其特征在于,所述 快速中斷接收數(shù)據(jù)流量包括通過控制所述網(wǎng)絡(luò)處理器,停止從上游器件接收數(shù)據(jù); 所述恢復(fù)接收lt據(jù)流量包括通過控制所述網(wǎng)絡(luò)處理器,啟動接收上游器件發(fā)送的數(shù)據(jù)。
6、 根據(jù)權(quán)利要求2或4所述的網(wǎng)絡(luò)處理器的補丁方法,其特征在于,所述 快速中斷接收數(shù)據(jù)流量包括通過控制所述上游器件,停止發(fā)送數(shù)據(jù)給所述網(wǎng)絡(luò)處理器; 所述恢復(fù)接收數(shù)據(jù)流量包括通過控制所述上游器件,啟動發(fā)送數(shù)據(jù)給所述網(wǎng)絡(luò)處理器。
7、 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)處理器的補丁方法,其特征在于,所述停止 線程處理包括停止需要升級的原有代碼區(qū)所在的線程;所述重新啟動處理線程包括啟動需要升級的原有代碼區(qū)所在的線程。
8、 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)處理器的補丁方法,其特征在于,所述停止 線程處理包括通過關(guān)閉所述網(wǎng)絡(luò)處理器的的處理S1擎停止所有的線程; 所述重新啟動處理線程包括通過啟動所述網(wǎng)絡(luò)處理器的處理引擎啟動所有的線程。
9、 一種網(wǎng)絡(luò)處理器補丁的設(shè)備,其特征在于,包括 停止線程處理^t塊,用于停止線程處理;下載新程序模塊,用于將新程序的代碼下載到所述網(wǎng)絡(luò)處理器的代碼區(qū), 替換原有代碼;調(diào)整指針模塊,用于調(diào)整程序處理器指針指向所述新程序處理首部; 重新啟動線程模塊,用于重新啟動被停止的線程。
10、 根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)處理器補丁的設(shè)備,其特征在于,還包括 初始化模塊,用于在停止線程處理之后,初始化網(wǎng)絡(luò)處理器內(nèi)部關(guān)鍵資源。
11、 根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)處理器補丁的設(shè)備,其特征在于,還包括 中斷數(shù)據(jù)流量模塊,用于在停止線程處理之前,快速中斷接收數(shù)據(jù)流量。
12、 根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)處理器補丁的設(shè)備,其特征在于,還包括 恢復(fù)數(shù)據(jù)流量模塊,用于在重新啟動被停止的線程之后,恢復(fù)接收數(shù)據(jù)流量。
13、 根據(jù)權(quán)利要求11所述的網(wǎng)絡(luò)處理器補丁的設(shè)備,其特征在于,所述中 斷數(shù)據(jù)流量模塊包括停止控制單元;該停止控制單元包括控制網(wǎng)絡(luò)處理器單元,用于通過控制所述網(wǎng)絡(luò)處理器,停止從上游器件接 收數(shù)據(jù);或控制上游器件單元,用于通過控制所述上游器件,停止發(fā)送數(shù)據(jù)給所述網(wǎng) 絡(luò)處理器。
14、 根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)處理器補丁的設(shè)備,其特征在于,所述停 止線程處理模塊包括停止單元;該停止單元包括停止線程單元,用于停止需要升級的原有代碼區(qū)所在的線程;或 關(guān)閉處理引擎單元,用于通過關(guān)閉所述網(wǎng)絡(luò)處理器的的處理引擎停止所有 的線程。
15、 根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)處理器補丁的設(shè)備,其特征在于,所述重 新啟動線程模塊包括啟動單元;該啟動單元包括啟動線程單元,用于直接啟動需要升級的原有代碼區(qū)所在的線程;或 啟動處理引擎單元,用于通過啟動所述網(wǎng)絡(luò)處理器的的處理引擎啟動所有 的線程。
16、 根據(jù)權(quán)利要求12所述的網(wǎng)絡(luò)處理器補丁的設(shè)備,其特征在于,所述恢 復(fù)數(shù)據(jù)流量模塊包括啟動控制單元;該啟動控制單元包括控制網(wǎng)絡(luò)處理器單元,用于通過控制所述網(wǎng)絡(luò)處理器,啟動從上游器件接收凄史據(jù);或控制上游器件單元,用于通過控制所述上游器件,啟動發(fā)送數(shù)據(jù)給所述網(wǎng) 絡(luò)處理器。
全文摘要
本發(fā)明公開一種網(wǎng)絡(luò)處理器的補丁方法和設(shè)備,涉及網(wǎng)絡(luò)領(lǐng)域。為解決現(xiàn)有技術(shù)中根據(jù)不同網(wǎng)絡(luò)處理器需要不同補丁制作工具的,不能通用于所有網(wǎng)絡(luò)處理器的問題以及現(xiàn)有技術(shù)不能對網(wǎng)絡(luò)處理器連續(xù)進(jìn)行補丁的問題而發(fā)明。本發(fā)明提供的技術(shù)方案包括,一種網(wǎng)絡(luò)處理器的補丁方法,包括停止線程處理;下載新程序的代碼替換原有代碼;重新啟動線程處理。
文檔編號G06F9/445GK101387967SQ20081013554
公開日2009年3月18日 申請日期2008年9月3日 優(yōu)先權(quán)日2008年9月3日
發(fā)明者琨 牛 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1