查詢路由

查詢路由

基於查詢路由通常是指目的節點通過網路傳播一個來自某個節點數據查詢訊息(感應任務),收到該查詢數據訊息的節點又將匹配該查詢訊息的數據發回給原來的節點。一般這些查詢是以自然語言或者高級語言來描述的。

定向擴散

定向擴散(Directed Diffusion,DD)是一種基於查詢的路由機制。匯聚節點通過興趣訊息(Interest Message)發出查詢任務,採用洪泛方式傳播興趣訊息到整個區域或部分區域內的所有感測器節點。興趣訊息用來表示查詢的任務,表達網路用戶對監測區域內感興趣的信息,例如監測區域內的溫度、濕度和光照等環境信息。在興趣訊息的傳播過程中,協定逐跳地在每個感測器節點上建立反向的從數據源到匯聚節點的數據傳輸梯度(gradi-ent)。感測器節點將採集到的數據沿著梯度方向傳送到匯聚節點。

定向擴散階段

定向擴散路由機制可以分為周期性的興趣擴散、梯度建立以及路徑加強三個階段。

興趣擴散階段

在興趣擴散階段,匯聚節點周期性地向鄰居節點廣播興趣訊息。興趣訊息中含有任務類型、目標區域、數據傳送速率、時間戳等參數。每個節點在本地保存一個興趣列表,對於每一個興趣列表中都有一個表項,記錄發來該興趣訊息的鄰居節點、數據傳送速率和時間戳等任務相關信息,以建立該節點向匯聚節點傳遞數據的梯度關係。每個興趣可能對應多個鄰居節點,每個鄰居節點對應一個梯度信息。通過定義不同的梯度相關參數,可以適應不同的套用需求。每個表項還有一個欄位用來表示該表項的有效時間值,超過這個時間後,節點將刪除這個表項。當節點收到鄰居節點的興趣訊息時,首先檢查興趣列表中是否存有參數類型與收到興趣相同的表項,而且對應的傳送節點是該鄰居節點。如果有對應的表項,就更新表項的有效時間值;如果只是參數類型相同,但不包含傳送該興趣訊息的鄰居節點,就在相應表項中添加這個鄰居節點;對於任何其他情況,都需要建立一個新表項來記錄這個新的興趣。如果收到的興趣訊息和節點與剛剛轉發的興趣訊息一樣,為避免訊息循環則丟棄該信息;否則,轉發收到的興趣訊息。

數據傳播階段

當感測器節點採集到與興趣匹配的數據時,把數據傳送到梯度上的鄰居節點,並按照梯度上的數據傳輸速率設定感測器模組採集數據的速率。由於可能從多個鄰居節點收到興趣訊息,節點向多個鄰居節點傳送數據,匯聚節點可能收到經過多個路徑的相同數據,中間節點收到其他節點轉發的數據後,首先查詢興趣列表的表項;如果沒有匹配的興趣表項就丟棄數據;如果存在相應的興趣表項,則檢查與這個興趣對應的數據緩衝池(DataCach),數據緩衝池用來保存最近轉發的數據,如果在數據緩衝池中有與接收到的數據匹配的副本,說明已經轉發過這個數據,為避免出現傳輸環路而丟棄這個數據;否則,檢查該興趣表項中的鄰居節點信息,如果設定的鄰居節點數據傳送速率大於等於接收的敦據速率,則全部轉發接收的數據;如果記錄的鄰居節點數據傳送速率小於接收的數據速率,則按照比例轉發。對於轉發的數據,數據緩衝池保留一個副本,並記錄轉發時間。

路徑加強階段

定向擴散路由機制通過正向加強機制來建立最佳化路徑,並根據網路拓撲的變化修改數據轉發的梯度關係。興趣擴散階段是為了建立源節點到匯聚節點的數據傳輸路徑,數據源節點以較低的速率採集和傳送數據,稱這個階段建立的梯度為探測梯度(Probe Gradient)。匯聚節點在收到從源節點發來的數據後,啟動建立到源節點的加強路徑,後續數據將沿著加強路徑以較高的數據速率進行傳輸。加強後的梯度稱為數據梯度(Data Gradient)。假設以數據傳輸延遲作為路由加強的標準,匯聚節點選擇首先發來最新數據的鄰居節點作為加強路徑的下一跳節點,向該鄰居節點傳送路徑加強訊息。路徑加強訊息中包含新設定的較高傳送數據速率值。鄰居節點收到訊息後,經過分析確定該訊息描述的是一個已有的興趣,只是增加了數據傳送速率,則斷定這是一條路徑加強訊息,從而更新相應興趣表項的到鄰居節點的傳送數據速率。同時,按照同樣的規則選擇加強路徑的下一跳鄰居節點。路由加強的標準不是唯一的,可以選擇在一定時間內傳送數據最多的節點作為路徑加強的下一跳節點,也可以選擇數據傳輸最穩定的節點作為路徑加強的下一跳節點。在加強路徑上的節點如果發現下一跳節點的傳送數據速率明顯減小,或者收到來自其他節點的新位置估計,推斷加強路徑的下一跳節點失效,就需要使用上述的路徑加強機制重新確定下一跳節點。

相關詞條

熱門詞條

聯絡我們