唐詩(shī)奇,李 迅,聞志平
(國(guó)防科學(xué)技術(shù)大學(xué)機(jī)電與自動(dòng)化學(xué)院,長(zhǎng)沙 410073)
服務(wù)發(fā)現(xiàn)機(jī)制是指網(wǎng)絡(luò)中各種程序和設(shè)備能夠聲明自己的功能以及提供的服務(wù),而其它程序和設(shè)備則可以在權(quán)限范圍內(nèi)自動(dòng)發(fā)現(xiàn)并訪問(wèn)所需的服務(wù)的一種機(jī)制[1]。服務(wù)發(fā)現(xiàn)機(jī)制可以建立資源和客戶(hù)之間的連接,使能提供服務(wù)的設(shè)備可以實(shí)現(xiàn)自己的能力,需要服務(wù)的設(shè)備可以及時(shí)發(fā)現(xiàn)并得到服務(wù),從而實(shí)現(xiàn)一切經(jīng)由網(wǎng)絡(luò)訪問(wèn)的處理能力和信息資源共享和配置優(yōu)化。因此對(duì)無(wú)線傳感器網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)機(jī)制的研究具有重要的現(xiàn)實(shí)意義和理論意義[2]。由于無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量巨大,提供的服務(wù)也很多,如何在眾多的數(shù)據(jù)和服務(wù)中發(fā)現(xiàn)服務(wù)并利用服務(wù),實(shí)現(xiàn)用戶(hù)與具體服務(wù)之間的直觀通信,是實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)實(shí)際應(yīng)用的關(guān)鍵。
SLP,UPnP,Salutation,Jini幾種傳統(tǒng)服務(wù)發(fā)現(xiàn)機(jī)制[3]都是基于有線網(wǎng)絡(luò)開(kāi)發(fā)的,協(xié)議中不論是服務(wù)提供者、還是服務(wù)需求者都具有較強(qiáng)的計(jì)算處理能力、通常不用考慮的能量問(wèn)題、較充裕的網(wǎng)絡(luò)帶寬以及可靠的網(wǎng)絡(luò)連接。而無(wú)線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)能量有限、計(jì)算處理能力很弱、帶寬不足、無(wú)線通信可靠性差等諸多的特殊性,因此它們?cè)跓o(wú)線傳感器網(wǎng)絡(luò)中都難以使用。
目前,應(yīng)用于無(wú)線傳感器網(wǎng)絡(luò)的服務(wù)發(fā)現(xiàn)模型[4]主要有無(wú)目錄和有目錄兩種結(jié)構(gòu)。當(dāng)節(jié)點(diǎn)數(shù)目巨大時(shí),分布式無(wú)目錄結(jié)構(gòu)采用端對(duì)端通信,當(dāng)多個(gè)客戶(hù)需要同時(shí)查找多個(gè)服務(wù)時(shí),網(wǎng)絡(luò)傳輸數(shù)據(jù)量大,容易出現(xiàn)網(wǎng)絡(luò)擁塞等問(wèn)題,通信效能低下,導(dǎo)致網(wǎng)絡(luò)能量的嚴(yán)重浪費(fèi)損耗,使得本來(lái)就嚴(yán)峻的無(wú)線傳感器網(wǎng)絡(luò)能量困乏問(wèn)題更加突出。目錄式服務(wù)發(fā)現(xiàn)機(jī)制[5]中服務(wù)的提供者和使用者之間的主要訪問(wèn)過(guò)程是通過(guò)目錄代理完成的,能夠有效提高服務(wù)發(fā)現(xiàn)效率和系統(tǒng)可擴(kuò)展性。文獻(xiàn)[6]介紹了一種IPv6傳感器網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)應(yīng)用系統(tǒng)設(shè)計(jì)。提出的目錄式服務(wù)發(fā)現(xiàn)模型具有良好的可擴(kuò)展性,在協(xié)議設(shè)計(jì)時(shí)也較好的考慮了協(xié)議的簡(jiǎn)潔實(shí)現(xiàn),可以節(jié)約能量,但是由于它的分簇路由算法簇首一直不變更,導(dǎo)致簇首能量迅速消耗殆盡而失效,整個(gè)網(wǎng)絡(luò)陷入癱瘓。
所以設(shè)計(jì)一種較完善無(wú)線傳感器網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)機(jī)制必須綜合考慮可擴(kuò)展性和安全性、效率及開(kāi)銷(xiāo)、服務(wù)信息的動(dòng)態(tài)更新機(jī)制、底層通信平臺(tái)等方面的問(wèn)題。綜合考慮本文提出了一種區(qū)域式的服務(wù)發(fā)現(xiàn)機(jī)制模型,在模型的基礎(chǔ)上分析了對(duì)區(qū)域式無(wú)線傳感器網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)機(jī)制起支撐作用的分簇路由算法和數(shù)據(jù)融合算法,改進(jìn)GAF算法形成了E-GAF算法,采用了感知器數(shù)據(jù)融合算法。
區(qū)域式無(wú)線傳感器網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)機(jī)制,是一種基于位置信息將傳感器節(jié)點(diǎn)劃入相應(yīng)的單元格,即簇的服務(wù)發(fā)現(xiàn)機(jī)制。只有基于區(qū)域式的服務(wù)發(fā)現(xiàn)機(jī)制才能與無(wú)線傳感器網(wǎng)絡(luò)以數(shù)據(jù)為中心和實(shí)現(xiàn)監(jiān)測(cè)、控制的應(yīng)用屬性相對(duì)應(yīng)。區(qū)域式無(wú)線傳感器網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)機(jī)制的主要思想是采用分布式目錄的系統(tǒng)構(gòu)架,利用E-GAF分簇路由算法,將監(jiān)控區(qū)域劃分成若干虛擬單元格,將傳感器節(jié)點(diǎn)按照位置信息劃入相應(yīng)的單元格;在每個(gè)單元格中定期根據(jù)剩余能量信息選舉產(chǎn)生一個(gè)簇首節(jié)點(diǎn),只有簇首節(jié)點(diǎn)保持活動(dòng),其它節(jié)點(diǎn)進(jìn)入休眠狀態(tài),當(dāng)有服務(wù)請(qǐng)求來(lái)臨時(shí),由簇首節(jié)點(diǎn)響應(yīng)服務(wù)并喚醒其它節(jié)點(diǎn),簇內(nèi)節(jié)點(diǎn)感知到數(shù)據(jù)后發(fā)送給簇首,由簇首進(jìn)行感知器數(shù)據(jù)融合,把融合后的信息返回給服務(wù)請(qǐng)求者。
區(qū)域式服務(wù)發(fā)現(xiàn)機(jī)制是將整個(gè)無(wú)線傳感器網(wǎng)絡(luò)劃分為四個(gè)服務(wù)發(fā)現(xiàn)層次的分層式結(jié)構(gòu),基站作為整個(gè)無(wú)線傳感器網(wǎng)絡(luò)的頂層目錄代理TDA(Top Directory Agent),網(wǎng)關(guān)作為二層目錄代理SDA(Second Directory Agent),簇首作為基層代理BTA(Base A-gent)以及能夠提供各種服務(wù)的普通傳感器節(jié)點(diǎn)。主要定義了四種實(shí)體模塊:節(jié)點(diǎn)實(shí)體模塊,簇首實(shí)體模塊,網(wǎng)關(guān)實(shí)體模塊以及基站實(shí)體模塊。
普通傳感器節(jié)點(diǎn)主要負(fù)責(zé)采集數(shù)據(jù),并將采集到的數(shù)據(jù)發(fā)送給簇首節(jié)點(diǎn)。它主要包括數(shù)據(jù)采集模塊、數(shù)據(jù)處理和控制模塊、通信模塊和能量供應(yīng)模塊。控制模塊主要負(fù)責(zé)接收簇首節(jié)點(diǎn)發(fā)來(lái)的控制命令,節(jié)點(diǎn)的休眠和喚醒、數(shù)據(jù)的采集處理、為客戶(hù)端提供服務(wù)以及監(jiān)控等。數(shù)據(jù)處理模塊能夠?qū)鞲衅鞲兄降臄?shù)據(jù)打包交給通信模塊發(fā)送給簇首節(jié)點(diǎn),在服務(wù)發(fā)現(xiàn)框架內(nèi)數(shù)據(jù)處理模塊需要根據(jù)服務(wù)描述規(guī)則,描述自己所能提供的服務(wù)的詳細(xì)情況,并封裝成服務(wù)通告,向所屬的簇首節(jié)點(diǎn)注冊(cè)服務(wù)。程序流程如圖1所示。
簇首實(shí)體模塊主要是負(fù)責(zé)本簇與網(wǎng)關(guān)的通信、綜合本簇各節(jié)點(diǎn)的服務(wù)信息向網(wǎng)關(guān)注冊(cè)本簇服務(wù)、節(jié)點(diǎn)喚醒、數(shù)據(jù)融合和將融合后的信息返回給客戶(hù);簇首是經(jīng)過(guò)周期性能量選舉產(chǎn)生的,具有和普通節(jié)點(diǎn)相同的硬件結(jié)構(gòu)和所有功能。當(dāng)節(jié)點(diǎn)成功當(dāng)選為簇首時(shí),數(shù)據(jù)融合算法、節(jié)點(diǎn)管理算法等就會(huì)被激活。程序流程圖如圖2所示。

圖1 節(jié)點(diǎn)程序流程圖

圖2 簇首程序流程圖
網(wǎng)關(guān)實(shí)體模塊負(fù)責(zé)接收簇首節(jié)點(diǎn)發(fā)來(lái)的服務(wù)注冊(cè)信息,然后綜合本局部網(wǎng)絡(luò)中所有服務(wù)信息向基站注冊(cè),同時(shí)響應(yīng)基站服務(wù)請(qǐng)求命令,指揮本局部網(wǎng)絡(luò)的簇首完成服務(wù)任務(wù);網(wǎng)關(guān)軟件結(jié)構(gòu)圖如圖3所示。其中服務(wù)管理模塊主要是為每一次服務(wù)發(fā)現(xiàn)應(yīng)用會(huì)話過(guò)程提供數(shù)據(jù)包的解析、暫存以及管理服務(wù)注冊(cè)過(guò)程,提供服務(wù)的注冊(cè)、更新、刪除等功能;協(xié)議轉(zhuǎn)換模塊是將無(wú)線傳感器網(wǎng)絡(luò)中使用的通信協(xié)議IEEE802.15.4和基站連接互聯(lián)網(wǎng)的IP通信協(xié)議進(jìn)行協(xié)議轉(zhuǎn)換。在無(wú)線傳感器網(wǎng)絡(luò)體系中可以存在多個(gè)網(wǎng)關(guān),因此本文把網(wǎng)關(guān)作為二層目錄代理,實(shí)現(xiàn)簡(jiǎn)單的目錄代理功能,一方面接收簇首節(jié)點(diǎn)發(fā)來(lái)的服務(wù)注冊(cè)信息,然后綜合本局部無(wú)線傳感器網(wǎng)絡(luò)中所有服務(wù)信息,提供本局部無(wú)線傳感器網(wǎng)絡(luò)內(nèi)各節(jié)點(diǎn)所提供服務(wù)的注冊(cè),各網(wǎng)關(guān)的所有注冊(cè)信息再匯總給基站,實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)體系所能提供的服務(wù)的注冊(cè),以對(duì)用戶(hù)服務(wù)請(qǐng)求信息做出正確響應(yīng);另一方面功能是簡(jiǎn)單的幀格式轉(zhuǎn)換協(xié)議,實(shí)現(xiàn)將無(wú)線傳感器網(wǎng)絡(luò)內(nèi)部使用的IEEE 802.15.4的數(shù)據(jù)幀格式和以太網(wǎng)幀格式相互轉(zhuǎn)換。網(wǎng)關(guān)程序流程圖如圖4所示。

圖3 網(wǎng)關(guān)軟件結(jié)構(gòu)圖

圖4 網(wǎng)關(guān)程序流程圖
基站負(fù)責(zé)接收并處理以太網(wǎng)中客戶(hù)發(fā)來(lái)的服務(wù)發(fā)現(xiàn)請(qǐng)求信息包,同時(shí)接收并儲(chǔ)存網(wǎng)關(guān)提供的該局部WSN中所有節(jié)點(diǎn)能夠提供服務(wù)的簡(jiǎn)要注冊(cè)信息,并生成服務(wù)注冊(cè)信息表,當(dāng)客戶(hù)向基站發(fā)來(lái)服務(wù)發(fā)現(xiàn)請(qǐng)求信息時(shí),基站根據(jù)服務(wù)發(fā)現(xiàn)請(qǐng)求信息里的所需要的服務(wù)發(fā)現(xiàn)類(lèi)型查找服務(wù)注冊(cè)信息表,如果找到能夠提供該服務(wù)的傳感器節(jié)點(diǎn),并且判斷該類(lèi)型節(jié)點(diǎn)當(dāng)前可用,那么返回所有能夠提供該服務(wù)的節(jié)點(diǎn)信息給用戶(hù),客戶(hù)得到基站的信息反饋后,選擇客戶(hù)認(rèn)為最好的節(jié)點(diǎn),開(kāi)始獲得服務(wù);如果未能找到能夠提供該類(lèi)型服務(wù)的節(jié)點(diǎn)或者該類(lèi)型節(jié)點(diǎn)當(dāng)前不可用,那么返回客戶(hù)不可用信息。當(dāng)客戶(hù)端對(duì)某種服務(wù)或者某個(gè)提供服務(wù)節(jié)點(diǎn)的服務(wù)請(qǐng)求過(guò)多時(shí),根據(jù)客戶(hù)的優(yōu)先級(jí)篩選出優(yōu)先級(jí)較高的客戶(hù)端進(jìn)行服務(wù)。基站軟件結(jié)構(gòu)圖如圖5所示。基站程序流程圖如圖6所示。

圖5 基站軟件結(jié)構(gòu)圖

圖6 基站程序流程圖
總體服務(wù)發(fā)現(xiàn)流程框架圖如圖7所示。

圖7 服務(wù)發(fā)現(xiàn)總體設(shè)計(jì)流程圖
對(duì)于網(wǎng)格環(huán)境中實(shí)現(xiàn)的路由算法[7-8]有很多。本文的區(qū)域式服務(wù)發(fā)現(xiàn)機(jī)制是基于網(wǎng)絡(luò)分簇結(jié)構(gòu)和地理位置信息而提出的,必須使用一種基于地理位置信息的分簇路由算法。由于節(jié)點(diǎn)處于偵聽(tīng)狀態(tài)也會(huì)消耗很多能量,GAF算法[9]使節(jié)點(diǎn)盡量處于休眠狀態(tài)可以節(jié)約很多節(jié)點(diǎn)能量。但是假設(shè)最壞的情況,開(kāi)始當(dāng)選簇首的節(jié)點(diǎn)在后來(lái)的簇首競(jìng)選中一直獲勝,那么它的能量將迅速消耗殆盡,導(dǎo)致本簇內(nèi)部所有節(jié)點(diǎn)和網(wǎng)關(guān)無(wú)法通信而失效,無(wú)法提供服務(wù),這是一種嚴(yán)重的浪費(fèi)。因此在GAF算法的基礎(chǔ)上本文提出一種基于能量選舉的分簇路由算法E-GAF,目的是使得各節(jié)點(diǎn)的能量消耗達(dá)到均衡,延長(zhǎng)無(wú)線傳感器網(wǎng)絡(luò)的生存周期。
E-GAF分簇路由算法的具體分簇流程如圖8所示。

圖8 E-GAF分簇路由算法具體分簇流程
區(qū)域式服務(wù)發(fā)現(xiàn)機(jī)制是針對(duì)無(wú)線傳感器網(wǎng)絡(luò)以數(shù)據(jù)為中心的特點(diǎn),即客戶(hù)并不需要知道每個(gè)節(jié)點(diǎn)的數(shù)據(jù),只關(guān)心某個(gè)區(qū)域內(nèi)的數(shù)據(jù),同時(shí)無(wú)線傳感器網(wǎng)絡(luò)存在能量約束,減少傳輸?shù)臄?shù)據(jù)量能有效的節(jié)省節(jié)點(diǎn)的能量,因此在從各個(gè)傳感器節(jié)點(diǎn)收集數(shù)據(jù)的過(guò)程中,需要利用節(jié)點(diǎn)的本地計(jì)算和存儲(chǔ)能力處理數(shù)據(jù)的融合,去除冗余信息,從而達(dá)到節(jié)省能量的目的,提高信息的準(zhǔn)確度。數(shù)據(jù)漏斗模型屬于估計(jì)融合算法的一種[10],能夠大大減少網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)包,降低帶寬占用率,提高通信效率,增強(qiáng)服務(wù)發(fā)現(xiàn)的實(shí)時(shí)性,符合無(wú)線傳感器網(wǎng)絡(luò)區(qū)域式服務(wù)發(fā)現(xiàn)模型的特點(diǎn)[11]。
感知器數(shù)據(jù)融合算法,就是一種基于數(shù)據(jù)漏斗模型的算法,即自適應(yīng)加權(quán)數(shù)據(jù)融合算法[12],采用權(quán)值W表示各個(gè)測(cè)量數(shù)據(jù)的相對(duì)重要程度。精度高的數(shù)據(jù)誤差小,權(quán)重值應(yīng)該更大;而精度低的數(shù)據(jù)誤差大,權(quán)重值應(yīng)該較小。將測(cè)量數(shù)據(jù)按照精度分別乘以權(quán)重值再進(jìn)行平均值處理,有利于提高測(cè)量結(jié)果的準(zhǔn)確性。在一個(gè)簇內(nèi)各節(jié)點(diǎn)的傳感器對(duì)應(yīng)不同的權(quán)重值,在總均方誤差最小這一最優(yōu)條件下,根據(jù)各個(gè)傳感器的歷史測(cè)量值找到其對(duì)應(yīng)的最優(yōu)權(quán)重值。節(jié)點(diǎn)在提供服務(wù)時(shí),發(fā)送數(shù)據(jù)到簇首,簇首根據(jù)各節(jié)點(diǎn)的最優(yōu)權(quán)重值,使融合后的感知數(shù)值達(dá)到最優(yōu)。
假設(shè)有n個(gè)傳感器節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)的傳感器的方差分別為 σ21,σ22,σ2n,傳感器的測(cè)量值分別為X1,X2,…,Xn它們彼此互相獨(dú)立,并且是X的無(wú)偏估計(jì),各傳感器的加權(quán)因子分別為W1,W2,…,Wn,則有:

故σ2可寫(xiě)成:

由式(4)可以看出,總均方差σ2是關(guān)于加權(quán)因子的多元二次函數(shù),因此它必然存在最小值。可求出總均方誤差最小時(shí)所對(duì)應(yīng)的加權(quán)因子為:

將式(5)代入式(4)得到對(duì)應(yīng)的最小均方誤差為:

因此本次數(shù)據(jù)融合結(jié)果,也就是估計(jì)值值為

節(jié)點(diǎn)感知到數(shù)據(jù),發(fā)送給簇首節(jié)點(diǎn),簇首節(jié)點(diǎn)將本簇內(nèi)數(shù)據(jù)融合完成以后,將融合得到的數(shù)據(jù)發(fā)送給網(wǎng)關(guān),網(wǎng)關(guān)同樣根據(jù)感知器數(shù)據(jù)融合算法,把各簇首返回的數(shù)據(jù)融合以后再傳輸給基站,從而完成服務(wù)。
本文在NS2平臺(tái)上進(jìn)行仿真,仿真環(huán)境如下:在1 000 m×1 000 m范圍內(nèi),設(shè)定節(jié)點(diǎn)位置固定。根據(jù)Deborah Estrin在Mobicom 2002會(huì)議上的特邀報(bào)告 (Wireless SensorNetwork,PartⅣ:Sensor Network Protocols)中所述傳感器節(jié)點(diǎn)各部分能量消耗的情況,假設(shè)發(fā)送一個(gè)比特的數(shù)據(jù)所消耗的能量約為4 000 nJ/bit;接收一個(gè)比特的數(shù)據(jù)所消耗的能量約為3 000 nJ/bit;監(jiān)聽(tīng)所消耗的能量約為2 500 nJ/bit;休眠所消耗的能量約為50 nJ/bit;數(shù)據(jù)一跳的最大距離R=100 m。數(shù)據(jù)包長(zhǎng)度為128 bit,控制包長(zhǎng)64 bit。
仿真試驗(yàn)設(shè)置網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)目為400個(gè),單元格為40個(gè),每個(gè)單元格有10個(gè)節(jié)點(diǎn),數(shù)據(jù)包長(zhǎng)度為128 bit,控制包長(zhǎng)64 bit。節(jié)點(diǎn)的初始能量均為1 000 J,當(dāng)節(jié)點(diǎn)剩余能量為100 J時(shí)視其為死亡節(jié)點(diǎn)。仿真中設(shè)置5 min為一個(gè)周期,一個(gè)周期內(nèi)完成一次分簇過(guò)程需要大約5 s,使數(shù)據(jù)傳輸時(shí)段約為295 s,遠(yuǎn)大于分簇時(shí)段。一個(gè)周期完成后,開(kāi)始下一個(gè)周期,5 s內(nèi)完成下一簇首選舉。仿真時(shí)間為1 h(12個(gè)周期)。仿真采用傳統(tǒng)路由算法DSR[13]、GAF 算法以及E-GAF 算法,通過(guò)比較節(jié)點(diǎn)失效個(gè)數(shù)來(lái)比較三種無(wú)線傳感器網(wǎng)絡(luò)網(wǎng)絡(luò)生存周期。如圖9所示。

圖9 節(jié)點(diǎn)失效個(gè)數(shù)比較
由圖9可知,相比前兩種算法,同一時(shí)刻,E-GAF算法網(wǎng)絡(luò)中出現(xiàn)的是失效節(jié)點(diǎn)數(shù)最小。節(jié)點(diǎn)失效情況在45 min以前變化都是非常緩慢的,45 min以后網(wǎng)絡(luò)網(wǎng)絡(luò)開(kāi)始出現(xiàn)失效節(jié)點(diǎn)。失效節(jié)點(diǎn)曲線坡度最大,大部分節(jié)點(diǎn)能量接近失效,表明網(wǎng)絡(luò)中大部分節(jié)點(diǎn)出現(xiàn)了能量消耗,能量消耗相對(duì)于其他兩種算法更加均勻。當(dāng)接近60 min時(shí),失效節(jié)點(diǎn)數(shù)達(dá)到200,視為網(wǎng)絡(luò)失效。采用E-GAF算法網(wǎng)絡(luò)的生存周期遠(yuǎn)長(zhǎng)于其他兩種算法。
本實(shí)驗(yàn)中采用了相同的服務(wù)發(fā)現(xiàn)機(jī)制進(jìn)行了仿真實(shí)驗(yàn),服務(wù)發(fā)現(xiàn)機(jī)制中采用了E-GAF分簇路由算法,分析采用了感知器數(shù)據(jù)融合算法,沒(méi)有采用感知器數(shù)據(jù)融合算法兩種方式在數(shù)據(jù)包損失概率和網(wǎng)絡(luò)能耗方面的性能差距。實(shí)驗(yàn)中采用在總節(jié)點(diǎn)數(shù)相同的情況下各仿真20次取平均值,每次仿真時(shí)間均為100 s。仿真實(shí)驗(yàn)數(shù)據(jù)如圖10所示。

圖10 數(shù)據(jù)包損失概率比較
當(dāng)節(jié)點(diǎn)數(shù)在50~130之間時(shí),兩種算法的數(shù)據(jù)包損失概率都在10%以下,表明區(qū)域式服務(wù)發(fā)現(xiàn)機(jī)制在密度較大的無(wú)線傳感器網(wǎng)絡(luò)中具有較低的數(shù)據(jù)包損失概率。隨著節(jié)點(diǎn)密度進(jìn)一步增加,采用感知器數(shù)據(jù)融合算法的服務(wù)發(fā)現(xiàn)機(jī)制的數(shù)據(jù)包損失概率,明顯小于沒(méi)有采用數(shù)據(jù)融合算法的服務(wù)發(fā)現(xiàn)機(jī)制。可見(jiàn)在節(jié)點(diǎn)密度很大的無(wú)線傳感器網(wǎng)絡(luò)中,引入感知器數(shù)據(jù)融合算法的區(qū)域式服務(wù)發(fā)現(xiàn)機(jī)制能夠提高包的傳送概率。
當(dāng)網(wǎng)絡(luò)節(jié)點(diǎn)密度過(guò)大時(shí),數(shù)據(jù)包傳輸量急劇增加,數(shù)據(jù)包沖突十分頻繁,導(dǎo)致網(wǎng)絡(luò)數(shù)據(jù)包損失概率較高,區(qū)域式服務(wù)發(fā)現(xiàn)機(jī)制的分簇結(jié)構(gòu)使得數(shù)據(jù)包傳輸更加有序,有效地減少了數(shù)據(jù)包傳輸量,降低了數(shù)據(jù)包遺失概率。而簇內(nèi)引入的感知器數(shù)據(jù)融合算法能有效地除去冗余節(jié)點(diǎn)和冗余信息,大大降低了數(shù)據(jù)包傳輸量,進(jìn)一步降低了數(shù)據(jù)包損失概率。
設(shè)定單元格數(shù)量為20個(gè),仿真時(shí)間為100s,單元格內(nèi)節(jié)點(diǎn)個(gè)數(shù)以5遞增,仿真結(jié)果如圖11所示。

圖11 單元格數(shù)量固定時(shí)下單個(gè)節(jié)點(diǎn)能耗的比較
無(wú)線傳感器網(wǎng)絡(luò)各節(jié)點(diǎn)將數(shù)據(jù)發(fā)送到簇首,如果不采用數(shù)據(jù)融合算法,那么由于沖突等情況,簇首節(jié)點(diǎn)需要發(fā)送多次數(shù)據(jù)包,這個(gè)次數(shù)絕對(duì)超過(guò)節(jié)點(diǎn)個(gè)數(shù)的;如果采用數(shù)據(jù)融合算法,簇首接收完數(shù)據(jù)包以后,僅需要發(fā)送少數(shù)幾次,因?yàn)榫W(wǎng)絡(luò)中傳輸數(shù)據(jù)量大大減少,數(shù)據(jù)包沖突大大減少,所以采用數(shù)據(jù)融合算法的網(wǎng)絡(luò)能夠節(jié)約將近一半的節(jié)點(diǎn)能量。該仿真表明使用感知器數(shù)據(jù)融合算法的網(wǎng)絡(luò),能夠較好的降低網(wǎng)絡(luò)能耗,隨著節(jié)點(diǎn)密度的增加,這種效果更加明顯。
上述兩個(gè)仿真實(shí)驗(yàn)清楚的表明,感知器數(shù)據(jù)融合算法在不較大影響數(shù)據(jù)包傳送概率的情況下,能很大程度的減少網(wǎng)絡(luò)中能量的消耗,能更好的滿足無(wú)線傳感器網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)機(jī)制的能量要求。
綜上所述無(wú)線傳感器網(wǎng)絡(luò)區(qū)域式服務(wù)發(fā)現(xiàn)機(jī)制具有以下優(yōu)勢(shì):
①采用的 IEEE802.15.4通信協(xié)議,只要在網(wǎng)關(guān)中內(nèi)置了簡(jiǎn)單的協(xié)議轉(zhuǎn)換程序,就可以實(shí)現(xiàn)外網(wǎng)的客戶(hù)端與傳感器節(jié)點(diǎn)之間經(jīng)過(guò)基站和網(wǎng)關(guān)的間接通信,大大增強(qiáng)了無(wú)線傳感器網(wǎng)絡(luò)的兼容性和應(yīng)用范圍。
②使用雙服務(wù)器方法,提高基站的健壯性,同時(shí)只要在基站上設(shè)置了安全保護(hù)功能,在未經(jīng)基站授權(quán)或許可的情況下,采集到的數(shù)據(jù)就不可能流失出去,保證數(shù)據(jù)源及傳感器節(jié)點(diǎn)的安全。
③采用分簇路由機(jī)制能夠減少網(wǎng)絡(luò)中傳輸?shù)拇罅繑?shù)據(jù),減少?zèng)_突的可能,減少網(wǎng)絡(luò)中帶寬的使用,從而提高無(wú)線傳感器網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)的實(shí)時(shí)性,實(shí)現(xiàn)服務(wù)的快速響應(yīng)。
④采用分簇路由休眠機(jī)制和數(shù)據(jù)融合機(jī)制能夠減少網(wǎng)絡(luò)中的數(shù)據(jù)量,使轉(zhuǎn)發(fā)數(shù)據(jù)包的節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包減少,從而減少節(jié)點(diǎn)的能量消耗,延長(zhǎng)網(wǎng)絡(luò)的生存周期。
本文提出了一種區(qū)域式無(wú)線傳感器網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)機(jī)制,該機(jī)制采用的有目錄結(jié)構(gòu),使得網(wǎng)絡(luò)結(jié)構(gòu)層次分明,簇內(nèi)數(shù)據(jù)傳輸有序進(jìn)行,一方面增加了無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用范圍,有效提高了無(wú)線傳感器網(wǎng)絡(luò)的安全性,另一方面減少了網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量,減少了網(wǎng)絡(luò)帶寬的使用,減少了節(jié)點(diǎn)的能量消耗,提高了服務(wù)發(fā)現(xiàn)的實(shí)時(shí)性,實(shí)現(xiàn)了服務(wù)的快速響應(yīng),延長(zhǎng)網(wǎng)絡(luò)的生存周期。
對(duì)區(qū)域式無(wú)線傳感器網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)機(jī)制起支撐作用的分簇路由算法和數(shù)據(jù)融合算法進(jìn)行了分析,改進(jìn)GAF算法形成了E-GAF算法,采用了感知器數(shù)據(jù)融合算法。通過(guò)分析和仿真,從能量消耗等多方面論證E-GAF算法和感知器數(shù)據(jù)融合算法對(duì)區(qū)域式服務(wù)發(fā)現(xiàn)機(jī)制的支撐作用。仿真表明,感知器數(shù)據(jù)融合算法大大減少了無(wú)線傳感器網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量,從而降低了網(wǎng)絡(luò)節(jié)點(diǎn)的能量消耗,延長(zhǎng)了網(wǎng)絡(luò)的生存周期;同時(shí)降低了傳輸數(shù)據(jù)使用網(wǎng)絡(luò)帶寬,從而增加了服務(wù)發(fā)現(xiàn)的實(shí)時(shí)性,提高了服務(wù)質(zhì)量。
[1]周曉,沈振宇,陳鳴.服務(wù)發(fā)現(xiàn)機(jī)制研究[J].計(jì)算機(jī)工程,V01.28,No.10,2002,10-12.
[2]周曉,沈振宇,陳鳴.服務(wù)發(fā)現(xiàn)機(jī)制的比較和分析[J].計(jì)算機(jī)工程與科學(xué),V01.25,No.2,2003,56-60.
[3]Pierre-Guillaume Raverdy,RafikChibout.TheMSDA Multi-Protocol Approach to Service Discovery and Access in Pervasive Environments,Demo proposal[C]//Accepted for,Middleware 2005,Grenoble,F(xiàn)rance.
[4]Christian Frank,Vlado Handziski,Holger Karl.Service Discovery in Wireless Sensor Networks[J].2004.03.
[5]雷萬(wàn)保,朱怡安,鐘冬.服務(wù)發(fā)現(xiàn)機(jī)制研究進(jìn)展[J].計(jì)算機(jī)應(yīng)用研究,2009,5:1604-1605.
[6]黃瓊.IPv6傳感器網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京交通大學(xué)碩士學(xué)位論文,2006.12.
[7]魏偉,史浩山,劉明.傳感器網(wǎng)絡(luò)分層多路徑路由協(xié)議[J].傳感技術(shù)學(xué)報(bào),2007,20(6):1353-1361.
[8]毛郁欣,魏貴義.基于多反饋路徑的無(wú)線傳感器網(wǎng)絡(luò)安全路由機(jī)制[J].傳感技術(shù)學(xué)報(bào),2010,23(10):1486-1490.
[9]Xu Y,HeidemannJ,EstrinD.Geography-Informed Energy Conserva-tion for Ad Hoc Routing[C]//Proc 7th Annual Intel Conf on Mobile Computing and Networking(MobiCOM),Rome,Italy.July 2001,70-84.
[10]Eduardo F N,Antonio A F L,Alejandro C F.Information Fusion for Wireless Sensor Networks:Methods,Models,and Classifications[J].ACM Computing Surveys,2007,39(3): - .
[11]Petrovicd,Shahrc,Ramchandran K,et al.Data Funneling:Routing with Aggregation and Compression for Wireless Sensor Networks[C]//Proc of the 1st IEEE.2003:156-162.
[12]Kong F T,Chen Y P,Xie J M,et al.Distributed Temperature Control System Based on Multi-Sensor Data Fusion[C]//Institute of Electrical and Electronics Engineers Computer Society,Guangzhou,China:Piscataway,NJ 08855-1331,United States,2005.494-498.
[13]Wang Jin,Cho Jinsung,Lee Sungyoung,et al.Hop-Based Energy A-ware Routing Algorithm for Wireless Sensor Networks[C]//IEICE Transactions on Communications,No.2:305-316,2010.