999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

管理信息存儲與傳輸優(yōu)化設(shè)計

2008-01-01 00:00:00林立新蔣新華施榮華
計算機應(yīng)用研究 2008年4期

摘要:詳細介紹了面向應(yīng)用軟件的網(wǎng)絡(luò)監(jiān)控系統(tǒng)管理信息存儲與傳輸優(yōu)化設(shè)計過程,包括三種存儲設(shè)計方案及其優(yōu)缺點的比較,內(nèi)存映射文件的存儲數(shù)據(jù)結(jié)構(gòu)設(shè)計,三種可逆轉(zhuǎn)換規(guī)則的分析與比較以及根據(jù)優(yōu)化的可逆轉(zhuǎn)換規(guī)則設(shè)計的二叉樹遍歷和恢復(fù)算法等。通過優(yōu)化的存儲與傳輸設(shè)計,實時、高效地完成了監(jiān)控信息的傳輸與交換。

關(guān)鍵詞:優(yōu)化存儲; 內(nèi)存文件映射; 可逆轉(zhuǎn)換規(guī)則; 二叉樹遍歷算法; 二叉樹恢復(fù)算法

中圖分類號:TP393文獻標志碼:A

文章編號:1001-3695(2008)04-1111-03

0引言

隨著網(wǎng)絡(luò)規(guī)模的增大,網(wǎng)絡(luò)結(jié)構(gòu)及網(wǎng)絡(luò)應(yīng)用日漸復(fù)雜,傳統(tǒng)的物理安全技術(shù)和措施已經(jīng)不足以保證信息系統(tǒng)的安全了,因此網(wǎng)絡(luò)管理系統(tǒng)作為網(wǎng)絡(luò)安全運行的保證,其重要性越來越突出。為了提高計算機網(wǎng)絡(luò)信息安全,許多相關(guān)的網(wǎng)絡(luò)安全產(chǎn)品被開發(fā),但大多是基于網(wǎng)絡(luò)硬件設(shè)備,如路由器、集線器、交換機等,而對網(wǎng)絡(luò)應(yīng)用軟件的研究和開發(fā)相對較少[1,2]。為了保證網(wǎng)絡(luò)環(huán)境中的應(yīng)用程序正常高效地運行,筆者設(shè)計了基于簡單網(wǎng)絡(luò)管理協(xié)議(simple network management protocol,SNMP)的網(wǎng)絡(luò)應(yīng)用軟件監(jiān)控系統(tǒng)(application software net monitoring system,ASNMS)。該系統(tǒng)選擇運行于網(wǎng)絡(luò)環(huán)境中的應(yīng)用程序為研究對象[3,4],對SNMP中MIB

(management information base,管理信息庫)信息和協(xié)議數(shù)據(jù)單元進行擴充,實現(xiàn)了對網(wǎng)絡(luò)中運行的應(yīng)用程

序類中成員變量和成員函數(shù)的監(jiān)控。

1網(wǎng)絡(luò)應(yīng)用軟件監(jiān)控系統(tǒng)

網(wǎng)絡(luò)應(yīng)用軟件監(jiān)控系統(tǒng)的主要監(jiān)控目標是網(wǎng)絡(luò)中的應(yīng)用軟件,通過及時獲取軟件中重要變量值(如系統(tǒng)配置、狀態(tài)指示等),從而及時了解整個網(wǎng)絡(luò)中應(yīng)用程序的狀態(tài),并且還可以通過管理站點對各受控站點中的應(yīng)用程序進行控制操作,提高整個網(wǎng)絡(luò)和應(yīng)用系統(tǒng)的安全性。

該網(wǎng)絡(luò)應(yīng)用軟件監(jiān)控系統(tǒng)主要有三個模塊[4]:

a)管理站點主程序。該程序在管理站點上運行。通過該程序,管理站點可以使用UDP/IP協(xié)議與管理范圍內(nèi)的所有受控站點進行通信,收集網(wǎng)絡(luò)應(yīng)用程序的監(jiān)控信息,并下發(fā)各種控制命令。

b)管理代理。每一個受控站點上運行一個管理代理程序(有且僅有一個)。管理代理是系統(tǒng)的通信中心。一方面,通過內(nèi)存映射文件與受控站點上的各應(yīng)用程序?qū)嵗M行通信,收集各應(yīng)用程序?qū)嵗谋O(jiān)控信息;另一方面,通過UDP協(xié)議與管理站點通信,發(fā)送受控站點的管理信息以及轉(zhuǎn)發(fā)管理站點的控制命令。

c) 監(jiān)控模塊。該模塊是供軟件開發(fā)人員使用的一個通用接口模塊。它負責從受控應(yīng)用程序中獲取監(jiān)控信息,發(fā)送到管理站點,并且也能接收從管理代理轉(zhuǎn)發(fā)的管理站點命令,對受控應(yīng)用程序執(zhí)行一定的控制操作。從結(jié)構(gòu)上來看,監(jiān)控模塊附屬于受控應(yīng)用程序,但它以單獨的線程形式存在。

2管理信息存儲的設(shè)計

2.1存儲設(shè)計方案比較與選擇

為了監(jiān)控模塊工作的需要,同時為了能更方便地將監(jiān)控信息傳送給管理代理,監(jiān)控模塊需要將監(jiān)控信息以一定的形式存儲起來,監(jiān)控模塊監(jiān)控的目標是應(yīng)用程序中的變量。由于現(xiàn)在軟件開發(fā)大多使用的是面向?qū)ο蟮姆椒ǎ谄涑绦蛑懈鞣N變量是有層次結(jié)構(gòu)關(guān)系的,這一點必須在監(jiān)控信息中體現(xiàn)出來。監(jiān)控信息從邏輯上看應(yīng)該是以樹的形式存在的。并且因為存儲的是各種變量的信息,而變量的長度是不相同的,在這棵樹中各個節(jié)點的空間大小有可能也不相同。由此看來,無論是從存儲內(nèi)容上還是從邏輯結(jié)構(gòu)上看,監(jiān)控信息的存儲結(jié)構(gòu)都是相對較為復(fù)雜的。筆者認為下面三種設(shè)計方案可以滿足這樣的要求:

a)在監(jiān)控模塊內(nèi)存空間中生成一棵二叉樹。

這是最常規(guī)的存儲方法。在此情況下,只需要設(shè)計一個較為合理的樹結(jié)構(gòu),二叉樹就能直接存儲在監(jiān)控模塊的內(nèi)存空間中,訪問方便。同時因為在許多語言中都有任意類型的數(shù)據(jù)類型,由此可以將不同數(shù)據(jù)類型的數(shù)據(jù)方便地存儲在一種數(shù)據(jù)結(jié)構(gòu)中[5]。由于這棵樹存在于監(jiān)控模塊的內(nèi)存空間中,不方便管理代理程序?qū)?/p>

其讀取,監(jiān)控模塊還需要通過一定的方法將該樹傳送給管理代理。其優(yōu)點是實現(xiàn)簡單,監(jiān)控模塊可以很方便地對其進行讀寫操作;其缺點是不方便管理代理程序?qū)ΡO(jiān)控信息讀取,需要使用其他方法將信息傳送給管理代理。

b)將監(jiān)控信息存儲在磁盤文件中。

為了解決管理代理和監(jiān)控模塊共享監(jiān)控信息的問題,監(jiān)控模塊可以將監(jiān)控信息存儲為磁盤文件形式。在此情況下,需要設(shè)計一套完整合理的文件空間使用策略,保證能夠完整地存儲監(jiān)控信息。由于在Windows程序中采用了虛擬內(nèi)存策略,不同應(yīng)用程序內(nèi)存空間是不同的,即使某應(yīng)用程序獲取了另一個程序中的某個指針,也不能正確地訪問到其數(shù)據(jù)[6]。由此,在對變量值進行存儲時,一定要注意不能存儲有關(guān)變量的指針信息,而應(yīng)該想辦法存儲其中變量的實際數(shù)據(jù)。同時因為是將監(jiān)控信息存儲于磁盤上,因此需要采取一定的措施盡量避免出現(xiàn)垃圾文件的情況,同時還要防止在工作狀態(tài)下用戶有意或無意地修改、刪除該文件。其優(yōu)點是多個程序可以方便地共享數(shù)據(jù);其缺點是實現(xiàn)較復(fù)雜,容易產(chǎn)生垃圾文件,容易泄漏和丟失監(jiān)控信息。

c)將監(jiān)控信息存儲在內(nèi)存文件映射中。

這是對方案二的改進。方案二將監(jiān)控信息存儲于磁盤文件中,由此使得容易產(chǎn)生垃圾文件、容易泄漏和丟失監(jiān)控信息。如何將監(jiān)控信息直接存儲在內(nèi)存中呢?采用內(nèi)存文件映射是一個解決的好辦法,應(yīng)用程序在需要時在內(nèi)存中開辟一定的空間存儲數(shù)據(jù)。當應(yīng)用程序關(guān)閉后,由于操作系統(tǒng)的內(nèi)存管理機制,內(nèi)存文件將自動被回收,安全性高。但是在生成內(nèi)存映射文件時,必須要指定文件的大小,此時如果處理不當將可能出現(xiàn)存儲空間不夠用的情況。其優(yōu)點是多個程序可以方便地共享數(shù)據(jù),數(shù)據(jù)不易泄漏,安全性高;其缺點是實現(xiàn)較復(fù)雜,必須指定文件大小,處理不當可能出現(xiàn)空間不夠用的情況。

綜合三種方案,筆者認為方案三是最合適的。只要指定足夠的文件大小,它不僅滿足監(jiān)控模塊存儲管理信息的需要,信息安全性高,同時可方便地實現(xiàn)監(jiān)控模塊和管理代理間實時信息交換的功能。

2.2內(nèi)存映射文件存儲數(shù)據(jù)結(jié)構(gòu)設(shè)計

為了能存儲完整的變量結(jié)構(gòu)信息,可將監(jiān)控信息的邏輯存儲結(jié)構(gòu)設(shè)計為如圖1所示。在監(jiān)控信息的邏輯結(jié)構(gòu)中存在兩種結(jié)構(gòu)指針,橫向指針表示父子關(guān)系,縱向指針表示兄弟關(guān)系,由此而構(gòu)成了一棵二叉樹。

在圖1所示結(jié)構(gòu)中,由于不同變量類型存儲大小不同,從而導致二叉樹中各個節(jié)點的大小不統(tǒng)一。為了方便地進行存儲空間管理,同時又能準確完整地記錄如上變量結(jié)構(gòu)信息,筆者設(shè)計了一套內(nèi)存映射文件的存儲數(shù)據(jù)結(jié)構(gòu)。其基本思想是將數(shù)據(jù)本身與數(shù)據(jù)間的邏輯關(guān)系分開進行處理[6],每次根據(jù)實際使用的需要在文件空閑空間中分配相應(yīng)大小的空間,并在該空間的起始位置生成一個空間信息記錄。其中包括存放的變量類型、變量大小、變量指針、結(jié)構(gòu)指針等數(shù)據(jù)信息。此外還包括了該空間的地址、前后相鄰區(qū)域地址、本空間大小等空間管理信息。真正的記錄數(shù)據(jù)實體存放在該空間信息記錄之后的剩余空間中(剩余空間的大小可以是不同的)。文件的存儲結(jié)構(gòu)如圖2所示。

由圖2可以看出,在監(jiān)控信息存儲文件中,所有的存儲空間都是前后緊連著的,通過空間信息記錄可以得知某區(qū)域的大小以及是否正在被使用,這樣能夠方便地進行空間分配和回收工作。又因為在空間信息記錄中存在變量結(jié)構(gòu)指針,因而通過空間信息記錄也能方便地訪問到數(shù)據(jù)間的邏輯結(jié)構(gòu)關(guān)系。

3管理信息傳輸?shù)脑O(shè)計

3.1可逆轉(zhuǎn)換規(guī)則的分析與比較

ASNMS設(shè)計中,管理信息庫MIB的組織方式采取類似于SNMP的管理信息組織方式,對于MIB中管理對象的存儲采用二叉樹的存儲方式。在管理站點與管理代理、管理代理與監(jiān)控模塊間通信過程中,都要用到將整個MIB進行傳輸,可能是同一機器進程間傳輸,也可能是不同機器間網(wǎng)絡(luò)傳輸。要對二叉樹進行正確傳輸,必須將二叉樹以特定的規(guī)則轉(zhuǎn)換成一個線性序列,將這個線性序列傳輸?shù)侥康牡睾螅侔凑仗囟ㄒ?guī)則的逆規(guī)則將這一線性序列重新生成一棵與原來一樣的二叉樹。轉(zhuǎn)換規(guī)則的選擇有很多,只要這個規(guī)則可逆就可以了。一般所用的二叉樹遍歷方法(如前序遍歷、中序遍歷、后序遍歷等)雖然可以將二叉樹轉(zhuǎn)換成線性結(jié)構(gòu),但這些方法都是不可逆的,即無法從線性結(jié)構(gòu)再恢復(fù)到原來的二叉樹形式,因此無法使用。

下面介紹三種可逆轉(zhuǎn)換規(guī)則:

a)將二叉樹以兩種不同的遍歷方式(如后序遍歷和中序遍歷)遍歷后的線性結(jié)果進行傳送,在目的地利用這兩種遍歷方式,將線性結(jié)果恢復(fù)成原來的二叉樹。這種方式的不利之處在于將遍歷結(jié)果傳送了兩次。一般情況下,MIB的信息量均比較大,傳送其遍歷結(jié)果需要占據(jù)比較大的網(wǎng)絡(luò)帶寬[7],傳送兩次所帶來的浪費是相當可觀的,勢必影響系統(tǒng)的效率。

b)將二叉樹按照滿二叉樹的形式補足節(jié)點,再按照層次從二叉樹的根開始逐層遍歷到樹葉節(jié)點。一般情況下,MIB樹都不是很規(guī)則[8],要補足成滿二叉樹形式所造成的浪費也很大。

c)由于ASNMS的MIB中管理對象節(jié)點在內(nèi)存中時,要么是度為2的節(jié)點,要么就是葉子節(jié)點,可將二叉樹以一種遍歷方式進行遍歷(如前序遍歷、中序遍歷、后序遍歷等),但在遍歷時對葉子節(jié)點加上空節(jié)點信息,在目的地根據(jù)空節(jié)點信息將遍歷結(jié)果恢復(fù)成原來的二叉樹形式。這種方案是用于傳輸MIB監(jiān)控信息較優(yōu)的可逆轉(zhuǎn)換規(guī)則。簡單的例子如圖3所示:根據(jù)二叉樹遍歷算法,由(a)二叉樹可以得到(b)的線性序列,根據(jù)二叉樹恢復(fù)算法,可以將(b)的線性序列恢復(fù)成(a)的二叉樹。采用這種方法,對網(wǎng)絡(luò)帶寬和存儲空間的浪費都比較小,效率得到了提高。

3.2三種可逆轉(zhuǎn)換規(guī)則算法空間復(fù)雜度的比較

具有n個節(jié)點的完全二叉樹,一定有(n+1)/2個葉子節(jié)點。若采用第一種可逆轉(zhuǎn)換規(guī)則算法,那么需要占用2n個非空節(jié)點的存儲空間;若采用第三種可逆轉(zhuǎn)換規(guī)則算法,只需要占用n個非空節(jié)點,以及(n+1)個空節(jié)點的存儲空間,而空節(jié)點所占用的存儲空間遠遠小于非空節(jié)點所占用的存儲空間。因此,第三種算法比第一種算法至少會節(jié)省n/2個非空節(jié)點的存儲空間。

具有n個節(jié)點的單枝二叉樹,只有一個葉子節(jié)點。若采用第二種可逆轉(zhuǎn)換規(guī)則算法,那么需要占用n個非空節(jié)點,以及(2n-n-1)個空節(jié)點的存儲空間;若采用第三種可逆轉(zhuǎn)換規(guī)則算法,只需要占用n個非空節(jié)點,以及兩個空節(jié)點的存儲空間。因此,第三種算法比第二種算法節(jié)省了(2n-n-3)個空節(jié)點的存儲空間。

由以上分析得出,采用第三種算法比前兩種算法幾乎節(jié)省n/2個節(jié)點的存儲空間,傳送一棵二叉樹的遍歷結(jié)果,幾乎節(jié)省一半的網(wǎng)絡(luò)帶寬。

3.3二叉樹的遍歷算法

根據(jù)優(yōu)化的可逆轉(zhuǎn)換規(guī)則設(shè)計的二叉樹遍歷算法如下:

//遍歷二叉樹

CString CMCWnd::MibTreeToString()

{CString string=\"\";

//二叉樹復(fù)位

MibTree .Reset();

//遞歸訪問二叉樹,并將訪問結(jié)構(gòu)記錄在string中

VisitTree(MibTree .GetNode(),string);

//返回結(jié)構(gòu)string——遍歷后形成的線性結(jié)構(gòu)

return string;}

//遞歸訪問函數(shù),node是要訪問的二叉樹的根節(jié)點

void CMCWnd::VisitTree(BTreeNode *node,CString string)

{ //將訪問到的二叉樹節(jié)點的名字加入線性結(jié)構(gòu)中

string=string+node->GetMember().Name;

if (node->GetLChild()!=NULL)

//訪問節(jié)點的左子樹

VisitTree(node->GetLChild(),string);

else

//添加空節(jié)點信息

string=string+\"*\";

if (node->GetRChild()!=NULL)

//訪問節(jié)點的右子樹

VisitTree(node->GetRChild(),string);

else

//添加空節(jié)點信息

string=string+\"*\";}

3.4二叉樹的恢復(fù)算法

根據(jù)優(yōu)化的可逆轉(zhuǎn)換規(guī)則設(shè)計的二叉樹恢復(fù)算法如下:

//恢復(fù)二叉樹

void CMCWnd::StringToMib(CString string)

{int length=string .GetLength();

int num=0;

//二叉樹清空

MibTree .Empty();

//遞歸建立二叉樹

CreateTree(\"\" ,string.GetBuffer

(string.GetLength()) ,num ,length);}

/*遞歸建立二叉樹函數(shù),path所要創(chuàng)建的二叉樹的根節(jié)點的哈夫曼路徑*/

//str為線性數(shù)組,num為當前所訪問的線性數(shù)組元素的下標

//length為線性數(shù)組的長度

void CMCWnd::CreateTree(CString path,char *str,int num,int length)

{ if(num

if(str[num]!=′*′)

{ //加入新節(jié)點,新節(jié)點的名字是str[num],哈夫曼路徑為path

MibTree.InsertNode(path,str[num]);

num++;

//加入左子樹

CreateTree(path+\"0\",str,num,length);

//加入右子樹

CreateTree(path+\"1\",str,num,length);}

}

4結(jié)束語

1)在對SNMP中MIB信息和協(xié)議數(shù)據(jù)單元擴充的基礎(chǔ)上,設(shè)計并實現(xiàn)了面向應(yīng)用軟件的網(wǎng)絡(luò)監(jiān)控系統(tǒng)。該系統(tǒng)提供了對應(yīng)用程序類中成員變量和成員函數(shù)的監(jiān)控功能。

2)詳細介紹了網(wǎng)絡(luò)應(yīng)用軟件監(jiān)控系統(tǒng)中管理信息存儲與傳輸?shù)膬?yōu)化設(shè)計過程。其中包括:a)三種存儲設(shè)計方案(在監(jiān)控模塊內(nèi)存空間中生成一棵二叉樹、將監(jiān)控信息存儲在磁盤文件中、將監(jiān)控信息存儲在內(nèi)存文件映射中)及其優(yōu)缺點的比較;b)內(nèi)存映射文件的存儲數(shù)據(jù)結(jié)構(gòu)設(shè)計;c)三種可逆轉(zhuǎn)換規(guī)則的分析與比較;d)根據(jù)優(yōu)化的可逆轉(zhuǎn)換規(guī)則設(shè)計的二叉樹遍歷和恢復(fù)算法等。

3)通過優(yōu)化的存儲與傳輸設(shè)計,實時、高效地完成了監(jiān)控信息的傳輸與交換。

參考文獻:

[1]唐亞哲,張鵬,李增智,等.DIINMS分布智能網(wǎng)絡(luò)管理系統(tǒng)的設(shè)計與實現(xiàn)[J].小型微型計算機系統(tǒng),2002,23(8):926-929.

[2]HUNTER, PHILIP. Integrated security and network management remain elusive[J]. Network Security, 2004,10(6):15-16.

[3]林立新,蔣新華,陳特放.網(wǎng)絡(luò)監(jiān)控原理及實現(xiàn)[J].計算機工程,2004,30(7):92-94.

[4]COMER D E, STEVENS D L.用TCP/IP進行網(wǎng)際互聯(lián)2卷:設(shè)計、實現(xiàn)與內(nèi)核[M].趙剛,林瑤,蔣慧,等譯.北京:電子工業(yè)出版社,2001.

[5]MARK A, MILLER P E.用SNMP管理互聯(lián)網(wǎng)絡(luò)[M].晏明峰,李靜,晏峻峰,譯.3版.北京:中國水利水電出版社,2001:63-204.

[6]唐浩,王振興,聶劍威.基于消息服務(wù)器的路由器網(wǎng)絡(luò)管理[J].計算機應(yīng)用研究,2005,22(11):169-170.

[7]董文莉,孟洛明.基于XML和消息隊列的網(wǎng)絡(luò)管理信息交互方案[J].計算機應(yīng)用研究,2005,22(8):24-26.

[8]FREY J, TANNENBAUM T, LIVNY M, et al. Condor-G: a computation management agent for multi-institutional grids[C]//Proc of the 10th International Symposium on High Performance Distributed Computing(HPDC-10). San Francisco:IEEE Press,2001:55-63.

“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”

主站蜘蛛池模板: 亚洲aaa视频| 国产精品私拍99pans大尺度| 久久精品视频一| 日韩午夜福利在线观看| 国产成人精品三级| 日韩精品无码免费专网站| 久久久久亚洲精品无码网站| 天天躁狠狠躁| 毛片免费网址| 亚洲成人福利网站| 成人在线天堂| 久久国产高潮流白浆免费观看| 19国产精品麻豆免费观看| 亚洲日本中文综合在线| www.99在线观看| 国产理论一区| aa级毛片毛片免费观看久| 中文字幕在线一区二区在线| 99这里精品| 成人福利在线免费观看| 久久国产高清视频| 亚洲aaa视频| 男人的天堂久久精品激情| 国产在线观看99| 亚洲婷婷在线视频| 欧类av怡春院| 沈阳少妇高潮在线| 亚洲精品777| 欧美在线中文字幕| 真实国产乱子伦高清| 高清码无在线看| 亚洲经典在线中文字幕| 中文字幕乱妇无码AV在线| 久久亚洲美女精品国产精品| 久久国语对白| 欧美成在线视频| 国产一级α片| 成人一区专区在线观看| 国产三级韩国三级理| 国产乱人伦偷精品视频AAA| 精品无码一区二区三区电影| 2021国产在线视频| 国产哺乳奶水91在线播放| 四虎永久在线精品国产免费| 四虎永久免费网站| 三上悠亚一区二区| 91激情视频| 在线欧美一区| 国产午夜福利片在线观看 | www.91中文字幕| 女人爽到高潮免费视频大全| 香蕉久久国产超碰青草| 日本午夜视频在线观看| 91无码视频在线观看| 日韩福利视频导航| 22sihu国产精品视频影视资讯| 日韩无码真实干出血视频| 免费高清毛片| 91精品综合| 精品少妇人妻av无码久久| 欧美一区二区三区不卡免费| 日韩 欧美 国产 精品 综合| 在线免费观看a视频| 香蕉久久国产精品免| 亚洲成人一区二区| 国产精品欧美在线观看| 国产麻豆aⅴ精品无码| AV在线麻免费观看网站| 国产九九精品视频| 亚洲AV人人澡人人双人| 日韩在线视频网站| 国内精品伊人久久久久7777人| 国产亚洲视频免费播放| 亚洲国产精品日韩av专区| 好吊色妇女免费视频免费| 欧美成人第一页| 国产白丝av| 日本尹人综合香蕉在线观看| 欧美a网站| 亚洲综合经典在线一区二区| 国产青青草视频| 欧美.成人.综合在线|