国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 信息時代 > 感知查詢語言(數(shù)據(jù)庫)

感知查詢語言(數(shù)據(jù)庫)

時間:2022-12-21 12:30:01 | 來源:信息時代

時間:2022-12-21 12:30:01 來源:信息時代

    感知查詢語言 : 無線傳感器數(shù)據(jù)管理系統(tǒng)TinyDB中一種基于SQL的查詢語言,又稱TinySQL。在TinyDB系統(tǒng)中,感知查詢語句一般由SELECT-FROM-WHERE從句構(gòu)成,其語法與SQL查詢語句的語法類似。感知查詢語言支持選擇、連接、投影和聚集等基本操作,并且可以通過實例化來顯式地實現(xiàn)抽樣查詢、區(qū)域查詢和子查詢。同時,感知查詢語言還支持事件觸發(fā)查詢、基于無線傳感器網(wǎng)絡(luò)生命周期的查詢,用戶還可以設(shè)定采樣頻率、設(shè)定存儲點以及自定義聚集函數(shù)。TinyDB中感知查詢語言的語法結(jié)構(gòu)如下:
SELECT select-list
[FROM sensors]/*[]表示里面內(nèi)容為可選項*/
WHERE predicate
[GROUP BY gb-list
[HAVING predicate]]
[TRIGGER ACTION command-name [(param)]]
[EPOCH DURATION time]
其中,SELECT子句中select-list是無限虛擬關(guān)系中的屬性列,可以是聚集函數(shù); FROM子句指sensors源或存儲表;WHERE子句和HAVING子句中predicate是條件謂詞;GROUP BY子句中g(shù)b-list是屬性列表;子句TRIGGER ACTION描述觸發(fā)器,command-name是觸發(fā)器命令,param是命令的參數(shù),觸發(fā)器子句指定當(dāng)WHERE子句的條件滿足時需要執(zhí)行的命令; EPOCH DURATION定義了查詢執(zhí)行的周期,time是周期時間值。
在無線傳感器網(wǎng)絡(luò)中,感知查詢語言作用在傳感器節(jié)點產(chǎn)生的感知數(shù)據(jù)上。感知數(shù)據(jù)可以表示為一個四元組〈id,a,d,t〉。其中id表示傳感器編號,a表示屬性向量〈a1,…,an〉,d表示a對應(yīng)的數(shù)據(jù)值向量〈d1,…,dn〉,t表示傳感器節(jié)點獲得數(shù)據(jù)的時間。其語義可表示為在t時刻id號傳感器采集的ai屬性的數(shù)據(jù)值為di。如編號為8的傳感器節(jié)點在2005年11月22日12:00所感知的溫度數(shù)據(jù)為2℃,那么就可以表示為〈8,Temperature,2,2005-11-2212:00〉這樣的一個數(shù)據(jù)元組。
在TinyDB系統(tǒng)中,TinyDB數(shù)據(jù)模型是把傳感器網(wǎng)絡(luò)中的感知數(shù)據(jù)定義為一個虛擬關(guān)系。把一個感知數(shù)據(jù)元組看作關(guān)系的一個記錄,每個感知數(shù)據(jù)屬性作為一列,比如溫度、濕度、光、壓強等屬性。還有一些描述感知數(shù)據(jù)的屬性,如節(jié)點編號、感知時間等。當(dāng)某些傳感器節(jié)點缺少某些屬性時,關(guān)系表允許在該屬性分量上插入一個NULL。無線傳感器網(wǎng)絡(luò)感知的數(shù)據(jù)隨時間動態(tài)變化,關(guān)系中的數(shù)據(jù)的存儲一般都很短暫,它們很快就會被傳送到網(wǎng)外。在無限虛擬關(guān)系上的操作和傳統(tǒng)的關(guān)系上的操作基本一樣,它們都支持選擇、連接、投影等操作。
感知查詢語言中定義了幾種典型的查詢,包括:
(1)聚集查詢: TinyDB支持聚集查詢,聚集查詢可以被分派到無線傳感器網(wǎng)絡(luò)內(nèi)部進行網(wǎng)內(nèi)處理,不同的聚集函數(shù)決定了聚集查詢的網(wǎng)內(nèi)處理程度。下面是一個聚集查詢的實例:
SELECT AVG(volume),room
FROM sensors WHERE floor=6
GROUP BY room
HAVING AVG(volume)〉threshold
SAMPLE PERIOD 30s
該感知查詢指定查詢6樓的傳感器節(jié)點,報告所有平均音量大于給定閾值threshold的房間號,并且每30秒傳遞一次更新數(shù)據(jù)。查詢持續(xù)運行直到用戶注銷系統(tǒng)。TinyDB中的感知查詢與SQL查詢的主要不同在于TinyDB的聚集查詢的輸出是數(shù)據(jù)流的形式,而不是一個單一的聚集值。對于這些流的查詢,每組的每個聚集記錄由一個數(shù)值對〈group-id,aggregate-value〉組成,group-id表示組的標(biāo)識,aggregate-value表示聚集值。每組由采樣周期來劃分。用戶也可以對同一采樣周期的數(shù)據(jù)進行聚集,比如做COUNT查詢。
(2)時間查詢: 用戶可以定義時間操作。例如,在一個建筑監(jiān)控系統(tǒng)中,用戶想要知道會議室麥克風(fēng)的音量情況,并作周期匯報。感知查詢可以寫作:
SELECT WINAVG(volume,30s,5s)
FROM sensors
SAMPLE PERIOD 1s
該感知查詢的含義為:在30秒內(nèi)每5秒報告一次平均音量,而采樣是每秒鐘一次。這是滑動窗口的例子。時間聚集只是提供了一個更簡潔的表達一般操作的方法。
(3)基于事件的查詢:TinyDB支持事件作為感知數(shù)據(jù)的收集機制。TinyDB支持對事件的定義,定義的事件的代碼必須被編譯到傳感器節(jié)點中。例如查詢:
ON EVENT bird-detect(loc):
SELECT AVG(light),AG(temp),event.loc
FORM sensors AS s
WHERE dist (s.loc,event.loc)<10m
SAMPLE PRIOD 2s FOR 30s
該感知查詢語句的含義是:在30秒內(nèi)監(jiān)測是否有小鳥出現(xiàn),并且小鳥與它的鳥巢距離小于10米。一旦發(fā)現(xiàn)這樣的小鳥,則在鳥巢中的傳感器節(jié)點每隔2秒記錄鳥巢的平均亮度和溫度,報告鳥的位置。在這種情況下,監(jiān)測鳥的事件可以通過一些低層操作系統(tǒng)設(shè)置來完成,比如,當(dāng)鳥進入巢穴,開關(guān)就被觸發(fā)。
TinyDB支持簡單的觸發(fā)器。例如,對滿足條件的傳感器讀數(shù)做出反應(yīng)。當(dāng)傳感器讀數(shù)滿足感知查詢語言WHERE子句中的觸發(fā)條件時,觸發(fā)器即啟動,完成相應(yīng)的操作。例如查詢:
SELECT temperature
FROM sensors
WHERE temperature<0
TRIGGER ACTION SetSnd(512)
EPOCH DURATION 512
該感知語句表示每512ms檢查一次溫度,當(dāng)溫度(temperature)低于0℃時,報警并返回溫度值temperature。
(4)基于無線傳感器網(wǎng)絡(luò)生命周期的查詢: 在那些清楚采樣周期的語句中,用戶可以通過一個QUERY LIFETIME〈X〉子句請求一個特定的查詢生命期,其中〈x〉是日、周或者月中的一段時間。指定無線傳感器網(wǎng)絡(luò)的查詢生命周期是一種更加依靠直覺的方法,依賴于用戶對能量消耗的估計。尤其是在環(huán)境監(jiān)測當(dāng)中,用戶并不很關(guān)心采樣頻率的微小調(diào)整,也不明白調(diào)整采樣頻率如何影響能量消耗。相反,用戶很關(guān)心無線傳感器網(wǎng)絡(luò)執(zhí)行查詢的生命周期。例如,“在保證網(wǎng)絡(luò)至少運行30天的情況下,求傳感器節(jié)點感知的加速度”的感知查詢語句為:
SELECT nodeid,accel
FROM sensors
LIFETIME 30 days
目前TinySQL的功能還比較有限。例如,在WHERE和HAVING子句中只支持簡單的比較連接詞、字符串比較(如SQL中的LIKE和SIMILAR),以及列和常量的簡單算術(shù)表達式(算術(shù)運算符只能是+、-、*、/),不支持子查詢,也不支持布爾操作OR和NOT以及列的重命名。

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉