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

一種基于網(wǎng)絡(luò)管理軟件的多線程輪詢模型

2010-10-17 07:47:02
關(guān)鍵詞:程序設(shè)備模型

馬 薇

(哈爾濱理工大學(xué)機(jī)械動(dòng)力工程學(xué)院,哈爾濱150080)

隨著互聯(lián)網(wǎng)的普及,其用戶在很短的時(shí)間內(nèi)迅速增長(zhǎng).這種爆炸性的增長(zhǎng)所帶來的問題也日益突顯,那就是網(wǎng)絡(luò)管理的問題[1].在人工管理的情況下,網(wǎng)絡(luò)主機(jī)的線形增長(zhǎng)會(huì)導(dǎo)致網(wǎng)絡(luò)管理復(fù)雜度的非線形增長(zhǎng).當(dāng)一個(gè)網(wǎng)絡(luò)的節(jié)點(diǎn)達(dá)到100臺(tái)以上時(shí),光靠手工檢測(cè)與管理其難度是不可想象的.對(duì)此,人們提出了使用計(jì)算機(jī)進(jìn)行自動(dòng)化或半自動(dòng)化管理,以減輕管理人員的負(fù)擔(dān),并且增加效率,提高準(zhǔn)確性.使網(wǎng)絡(luò)管理趨于自動(dòng)化[2].但由于網(wǎng)絡(luò)規(guī)模日益增大,目前存在的網(wǎng)絡(luò)管理軟件中,大部分采用多線程輪詢?cè)O(shè)備的做法,此做法的好處是實(shí)時(shí)性比較強(qiáng),缺點(diǎn)是要耗費(fèi)巨大的硬件資源,嚴(yán)重占用網(wǎng)絡(luò)帶寬[3].為此本文提出了一種比較靈活的多線程模型.既可以有效地保證設(shè)備的狀態(tài)實(shí)時(shí)性,也可以節(jié)省硬件資源,非常適合管理大型的網(wǎng)絡(luò).

1 多線程模型

1.1 模型的設(shè)計(jì)

在大型的網(wǎng)絡(luò)中,網(wǎng)絡(luò)設(shè)備加上工作站要幾百臺(tái)設(shè)備,單獨(dú)的線程根本無法完成這么大的輪詢?nèi)蝿?wù),所以程序必須采用多線程輪詢方式來工作.一般網(wǎng)絡(luò)設(shè)備是以樹的方式連接[4].比如稅務(wù)局相應(yīng)的級(jí)別為省局、市局、區(qū)縣局、稅務(wù)所.設(shè)備所在單位的級(jí)別越高,管理員也就越關(guān)心設(shè)備的狀態(tài).也就是說,在稅務(wù)所與省局間的設(shè)備,管理員顯然更關(guān)心省局的設(shè)備,因?yàn)樗鼈兪钦麄€(gè)網(wǎng)絡(luò)的中心,省局的設(shè)備所要求的實(shí)時(shí)性也就越高.這就要求我們的程序可以為每臺(tái)設(shè)備設(shè)定輪詢周期.我們可以把省局的輪詢周期設(shè)為5 min,將稅務(wù)所的設(shè)備輪詢周期設(shè)為30min,從而達(dá)到所需的效果.多線程運(yùn)行結(jié)合著上述的輪詢周期的設(shè)備增大了程序模型設(shè)計(jì)的復(fù)雜性.可是設(shè)備數(shù)量太多,一般工作站是無法承受幾百個(gè)甚至上千的線程同時(shí)進(jìn)行操作.在這個(gè)問題上,本文提出了一種線程池的技術(shù).原理如下:在程序初始化的時(shí)候先建立起若干個(gè)線程并讓其堵塞,然后再建立一個(gè)任務(wù)隊(duì)列,隊(duì)列里放置將要輪詢的任務(wù),這若干個(gè)線程只針對(duì)任務(wù)隊(duì)列里的任務(wù),如果有任務(wù),若干個(gè)線程就并行工作完成任務(wù),完成任務(wù)后繼續(xù)堵塞等待下次任務(wù).可以按照設(shè)備各自的周期將任務(wù)由任務(wù)調(diào)度定期加入到任務(wù)隊(duì)列中去.這樣做可以解決程序要求的多設(shè)備按自己的輪詢周期多線程網(wǎng)絡(luò)操作[5].原理圖如圖1所示.

圖1 多線程輪詢模塊結(jié)構(gòu)圖

1.2 模型的實(shí)現(xiàn)

這個(gè)模型在Window操作系統(tǒng)、VC.net和C++語(yǔ)言來完成,模型中利用了面向?qū)ο笳Z(yǔ)言的虛函數(shù)特性.主要通過幾個(gè)自定義的類來實(shí)現(xiàn):CWork-ThreadPool類代表線程池模型,CDevice類代表設(shè)備基類,CMap<UINT,UINT,C Device*,C Device*>模板類代表設(shè)備的映射隊(duì)列,C PtrArray類代表任務(wù)隊(duì)列.成百上千設(shè)備的信息存在數(shù)據(jù)庫(kù)中,在程序啟動(dòng)的時(shí)候讀到內(nèi)存中,在內(nèi)存中的存放方式為Map映射,以便通過設(shè)備id迅速地找到該設(shè)備,在內(nèi)存中的存放方式[6],如圖2所示.

在整個(gè)線程池模型中任務(wù)推動(dòng)引擎與調(diào)度的實(shí)現(xiàn)上,本程序采用了Window消息響應(yīng)的機(jī)制來設(shè)計(jì).基本實(shí)現(xiàn)方法如下:在程序初始化的時(shí)候,從數(shù)據(jù)庫(kù)中可以讀取到各個(gè)設(shè)備及其輪詢周期,這時(shí)采用Windows系統(tǒng)APISetTimer函數(shù)來通過操作系統(tǒng)來完成引擎和調(diào)度,調(diào)用原型為:SetTimer(設(shè)備id,設(shè)備輪詢周期,NULL).而在主窗口線程消息響應(yīng)函數(shù)OnTimer(UINT param)中,由于我們?cè)趦?nèi)存中組織數(shù)據(jù)結(jié)構(gòu)時(shí)CDevice設(shè)備類用的是Map映射,而索引正是設(shè)備id,所以通過參數(shù)param可以迅速判斷是哪個(gè)設(shè)備達(dá)到了輪詢時(shí)機(jī),然后將設(shè)備在內(nèi)存中對(duì)應(yīng)的設(shè)備類對(duì)象指針加入到任務(wù)隊(duì)列中去,由線程池來完成網(wǎng)絡(luò)輪詢.

在線程池與任務(wù)隊(duì)列的實(shí)現(xiàn)上,由自定義類CWorkThreadPool來完成.在類的內(nèi)部有任務(wù)隊(duì)列的定義:CPtrArray m_WorkItems.這個(gè)任務(wù)隊(duì)列里放置的是CDevice設(shè)備類的指針.

在類初始化的過程中啟動(dòng)線程池里的線程:

圖2 設(shè)備在內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)

我們?cè)谏厦娴某绦蛑锌吹搅嗽O(shè)備CDevice類的GetSnmpInfo輪詢函數(shù),而CDevice基類的指針pdev指向的對(duì)象可以是派生類的對(duì)象,由于GetSnmpInfo是虛函數(shù),所以輪詢函數(shù)GetSnmpInfo可以根據(jù)pdev所指向的設(shè)備類型來執(zhí)行各自不同的操作,類CWorkThreadPool就這樣完成了按設(shè)備各自輪詢周期的多線程輪詢操作.

除此以外,進(jìn)程模型中還有一個(gè)Trap守護(hù)線程,專門負(fù)責(zé)接收從各個(gè)設(shè)備主動(dòng)發(fā)來的報(bào)警[7],由于是單線程,比較簡(jiǎn)單,并不在本文敘述.

2 實(shí)驗(yàn)結(jié)果

本文提出的模型在用VC.net實(shí)現(xiàn)以后,在吉林省稅務(wù)局包含上千臺(tái)設(shè)備(路由器、交換機(jī)、服務(wù)器、普通計(jì)算機(jī))的網(wǎng)絡(luò)中,用一臺(tái)普通配置的IBM服務(wù)器長(zhǎng)期運(yùn)行了幾個(gè)月,完全可以滿足管理的要求.如圖3,客戶端的拓?fù)鋱D中顯示的網(wǎng)絡(luò)狀態(tài)讀取的就是本文進(jìn)程模型實(shí)現(xiàn)的服務(wù)器端程序.管理員可以通過設(shè)備的重要性來定制設(shè)備的輪詢周期,能夠盡量實(shí)時(shí)地發(fā)現(xiàn)設(shè)備的問題,同時(shí)極大地節(jié)省了硬件資源.

圖3 顯示線路提示信息的拓?fù)鋱D

3 結(jié) 語(yǔ)

提出一種基于網(wǎng)絡(luò)管理軟件的多線程模型,并且已經(jīng)在相關(guān)的單位進(jìn)行了較為成功的應(yīng)用.這種模型相對(duì)于常規(guī)的網(wǎng)絡(luò)管理線程管理方法有如下優(yōu)點(diǎn):

1)可靈活定制,每個(gè)設(shè)備都可以根據(jù)自己的周期來定期監(jiān)測(cè);

2)耗費(fèi)硬件資源低,占用網(wǎng)絡(luò)帶寬小,經(jīng)過實(shí)驗(yàn)驗(yàn)證,20個(gè)線程足以監(jiān)測(cè)上千臺(tái)設(shè)備;

3)因?yàn)樵趦?nèi)存中設(shè)備以Map方式存放,可以迅速地定位設(shè)備并找到設(shè)備其他信息.

本線程管理模型既可用作網(wǎng)絡(luò)管理方面,也可用作其他按對(duì)象重要程度全局監(jiān)控的其他方面,有很強(qiáng)的實(shí)用性.

[1]侯俊杰.深入淺出MFC[M].2版.武漢:華中科技大學(xué)出版社,2001:232-245.

[2]STEVENSW R.TCP/IP Illustrated Volume1[M].北京:機(jī)械工業(yè)出版社,2000:359-388.

[3]胡成松,汪 凱.SNMP網(wǎng)絡(luò)管理[M].北京:中國(guó)電力出版社,2001:122-159.

[4]MicroSoft Company.MSDN Library[M].USA:MicroSoft Company,2001:399-440.

[5]JEFF P.MFCWindows程序設(shè)計(jì)[M].2版.北京:清華大學(xué)出版社,2001:36-422.

[6]CLIFFORD A S.數(shù)據(jù)結(jié)構(gòu)與算法分析(C++版)[M].北京:電子工業(yè)出版社,2002:227-350.

[7]STEVENSW R.TCP/IP Illustrated Volume 2[M].北京:機(jī)械工業(yè)出版社,2000:433-492.

猜你喜歡
程序設(shè)備模型
一半模型
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
試論我國(guó)未決羈押程序的立法完善
基于MPU6050簡(jiǎn)單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
“程序猿”的生活什么樣
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
3D打印中的模型分割與打包
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
主站蜘蛛池模板: 亚洲国产精品VA在线看黑人| 国产成人综合网| 特级做a爰片毛片免费69| 国产在线一二三区| 精品少妇人妻无码久久| 国产精品午夜福利麻豆| 亚洲最新地址| 久久中文无码精品| 久久国产精品无码hdav| 72种姿势欧美久久久大黄蕉| 欧美成人影院亚洲综合图| 国产国拍精品视频免费看| 亚洲AV无码久久天堂| 99re这里只有国产中文精品国产精品 | 日本在线免费网站| 亚洲六月丁香六月婷婷蜜芽| 久久国产免费观看| 99视频在线观看免费| 无码一区18禁| 国产精品自在线拍国产电影| 99热这里都是国产精品| 国产丝袜无码精品| 亚洲精品在线91| 欧美在线一二区| 国产福利2021最新在线观看| 亚洲日韩国产精品综合在线观看| 国产va免费精品观看| 欧美成人精品在线| 国产成人亚洲毛片| 欧洲成人在线观看| 毛片在线看网站| 国产AV毛片| 九九热这里只有国产精品| 91丝袜乱伦| 精品偷拍一区二区| 国产无码网站在线观看| 欧美自拍另类欧美综合图区| 第一页亚洲| 亚洲成在线观看| 香蕉蕉亚亚洲aav综合| 国产成人毛片| 亚洲性网站| 精品国产中文一级毛片在线看| 亚洲欧美色中文字幕| 精品国产自在在线在线观看| 99免费视频观看| 九九视频免费在线观看| 国产精品午夜电影| 久久久久亚洲Av片无码观看| 麻豆国产精品视频| 日本AⅤ精品一区二区三区日| 久久一色本道亚洲| 欧美性猛交一区二区三区| 91探花在线观看国产最新| 日韩人妻精品一区| 欧洲成人免费视频| 国产精品三级av及在线观看| 婷婷午夜影院| 国模极品一区二区三区| av在线无码浏览| 日韩麻豆小视频| 五月天天天色| 91伊人国产| 欧美黑人欧美精品刺激| 国产亚洲欧美日韩在线一区| 国产一国产一有一级毛片视频| 亚洲一区二区约美女探花| 欧洲精品视频在线观看| 婷婷亚洲最大| 好紧好深好大乳无码中文字幕| 精品91视频| 国产亚洲精品在天天在线麻豆| 亚洲欧美激情小说另类| 国产另类乱子伦精品免费女| 亚洲精品不卡午夜精品| 国产亚洲日韩av在线| 欧美精品在线视频观看| 91精品国产自产在线观看| 99热亚洲精品6码| 99视频在线免费| 一区二区在线视频免费观看| 免费看的一级毛片|