面向業(yè)務(wù)網(wǎng)絡(luò)性能管理的通信平臺設(shè)計(jì)
基于主動代碼面向業(yè)務(wù)網(wǎng)絡(luò)性能管理通信平臺的實(shí)現(xiàn)關(guān)鍵是要有一個(gè)良好、可行的主動代碼分發(fā)機(jī)制。目前,主動網(wǎng)絡(luò)的實(shí)現(xiàn)技術(shù)可以分為:封裝法、可編程交換法和結(jié)合法,它們都能夠?qū)崿F(xiàn)主動代碼插入到主動節(jié)點(diǎn)的功能。根據(jù)研究,本文采用以下的方法設(shè)計(jì)實(shí)現(xiàn)。為了兼容傳統(tǒng)網(wǎng)絡(luò),將主動信包建立在傳統(tǒng)的IP信包格式的基礎(chǔ)之上,格式如圖2所示,由于它使用IP信包,恨制了信包中代碼的長度要小于1 KB,即也限制代碼的處理功能。因此,根據(jù)不同的情況分兩種方法解決。具體過程可如圖3所示。
首先,如果定制的網(wǎng)管程序小于1 KB,就將其封裝在主動信包中一起傳遞到主動節(jié)點(diǎn),然后所包含的代碼就被解釋執(zhí)行完成應(yīng)用任務(wù)。
其次,如果定制網(wǎng)管程序較大,使用頻率較高,在主動節(jié)點(diǎn)均定制程序不僅不必要,而且加重了網(wǎng)絡(luò)的負(fù)擔(dān),因而可以建立一個(gè)主動代碼服務(wù)器ACS。在主動信包中設(shè)定一個(gè)指針域(標(biāo)識不同應(yīng)用的主動代碼),通過網(wǎng)絡(luò)按需動態(tài)請求加載主動代碼,進(jìn)而完成各種網(wǎng)絡(luò)業(yè)務(wù)管理任務(wù)。并且這種方法也有利于新業(yè)務(wù)的引入。
3 基于主動代碼分發(fā)機(jī)制設(shè)計(jì)的實(shí)現(xiàn)
主動代碼分發(fā)機(jī)制實(shí)現(xiàn)的關(guān)鍵主要是實(shí)現(xiàn)主動代碼的解析與加載兩大功能。圖2給主動代碼的解析提供了實(shí)現(xiàn)的基礎(chǔ),圖3所示的動態(tài)加載的過程提供了主動代碼加載的思路??紤]到Java的平臺無關(guān)性使網(wǎng)管系統(tǒng)能夠在多種平臺上運(yùn)行,且具有良好的可移植性的特點(diǎn)。因此,在系統(tǒng)開發(fā)時(shí),主動代碼是由Java類來實(shí)現(xiàn)的,啟動主動應(yīng)用實(shí)際上就是啟動某個(gè)Java程序,所以圖2所示的主動信包格式中應(yīng)包含啟動程序所包含main函數(shù)的Java類名。
主動節(jié)點(diǎn)在下載主動代碼的時(shí)候,可以優(yōu)先考慮該節(jié)點(diǎn)上設(shè)置的缺省下載位置,比如某個(gè)臨近的節(jié)點(diǎn),在其他較近節(jié)點(diǎn)中沒有找到相應(yīng)的主動代碼時(shí),才去查找這個(gè)位置。這樣做可以防止所有節(jié)點(diǎn)一接收到主動信包就到指定的主動代碼服務(wù)器下載,造成該服務(wù)器必然的繁忙,引起系統(tǒng)的擁塞。
在實(shí)現(xiàn)過程中,所有的參數(shù)數(shù)據(jù)是作為一個(gè)字符串進(jìn)行傳遞的,能夠同時(shí)包含多個(gè)命令行參數(shù)。類加載器加載Java類時(shí)將把這些參數(shù)傳遞給它。利用這些信息,管理員能夠設(shè)定主動應(yīng)用在目標(biāo)節(jié)點(diǎn)上啟動的設(shè)置條件和初始參數(shù)。
類PackReceiver()可以實(shí)現(xiàn)接收回應(yīng)信包和主動節(jié)點(diǎn)中主動信包的接收。PackReceiver類圖如圖4所示。
4 結(jié)語
本文引入了主動網(wǎng)的概念,將主動網(wǎng)中主動代碼的移動性、可編程性應(yīng)用到面向業(yè)務(wù)的網(wǎng)絡(luò)性能管理中,并設(shè)計(jì)了基于主動代碼面向業(yè)務(wù)網(wǎng)絡(luò)性能管理的通信平臺。對于通信平臺實(shí)現(xiàn)過程中涉及到的主動代碼分發(fā)機(jī)制等關(guān)鍵技術(shù)進(jìn)行了研究。隨著對課題不斷深入的研究,系統(tǒng)的實(shí)現(xiàn)將會進(jìn)一步完善。
評論