專利名稱:一種基于邏輯時(shí)鐘的智能空間感知方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)應(yīng)用領(lǐng)域,具體涉及一種在異步網(wǎng)絡(luò)計(jì)算環(huán)境下基于邏輯時(shí)鐘 的智能空間感知方法。
背景技術(shù):
現(xiàn)實(shí)環(huán)境是一個(gè)開放的、動(dòng)態(tài)的、異步的環(huán)境,在網(wǎng)絡(luò)技術(shù)高度發(fā)達(dá)的今天,我們 可以通過在環(huán)境中部署一些傳感設(shè)備來感知環(huán)境?,F(xiàn)有的感知技術(shù)依賴于收集到的不同區(qū) 域的環(huán)境數(shù)據(jù)具有全局時(shí)鐘這一特點(diǎn),然而,這樣的假設(shè)在真分布的普適計(jì)算環(huán)境中是不 成立的。因?yàn)閭鞲性O(shè)備分布在環(huán)境中,并且大多采用無線通信,不可避免的會(huì)有不可預(yù)計(jì)的 延時(shí);同時(shí),一些傳感設(shè)備出于對(duì)節(jié)能等方面的考慮,會(huì)將收集到的環(huán)境數(shù)據(jù)緩存一定的時(shí) 間再作分發(fā),這些都增加了不同傳感設(shè)備間的異步性。開放的普適計(jì)算環(huán)境下,上下文感知技術(shù)是用于感知開放、動(dòng)態(tài)的環(huán)境的一種成 熟可靠的計(jì)算機(jī)應(yīng)用手段。應(yīng)用的前提是需要感知周圍的環(huán)境,當(dāng)周圍環(huán)境滿足某一個(gè)條 件時(shí),應(yīng)用需要做出相應(yīng)的調(diào)整來適應(yīng)環(huán)境。謂詞檢測是實(shí)現(xiàn)上下文感知的一種流行的手 段,謂詞檢測的基本過程是應(yīng)用提出一個(gè)對(duì)環(huán)境特性的規(guī)約,然后收集環(huán)境中的數(shù)據(jù),在其 上檢測規(guī)約是否成立。環(huán)境中的上下文分布在該環(huán)境中,用于感知環(huán)境的傳感設(shè)備也分布在環(huán)境中,由 于傳感設(shè)備之間是異步的,因此感知到的環(huán)境是一個(gè)異步環(huán)境?,F(xiàn)有技術(shù)在異步環(huán)境中進(jìn) 行謂詞檢測缺少良好支持,如何得到異步環(huán)境的一致全局狀態(tài)也是一個(gè)難題。于此同時(shí),邏 輯時(shí)鐘是一種廣泛應(yīng)用于分布式環(huán)境中的技術(shù),異步進(jìn)程間通過維護(hù)邏輯時(shí)鐘可以達(dá)到一 種類似于同步的效果,如何將邏輯時(shí)鐘應(yīng)用在智能空間感知上并達(dá)到類似同步的效果是網(wǎng) 絡(luò)領(lǐng)域的一個(gè)課題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種基于邏輯時(shí)鐘的智能空間感知方法,其可 以通過維護(hù)邏輯時(shí)鐘,達(dá)到在異步環(huán)境中智能感知環(huán)境的目的。為了解決上述技術(shù)問題,本發(fā)明提出的一種基于邏輯時(shí)鐘的智能空間感知方法, 其主要包括以下步驟1)在異步網(wǎng)絡(luò)計(jì)算環(huán)境中安裝傳感設(shè)備,通過傳感設(shè)備將環(huán)境數(shù)據(jù)發(fā)送給環(huán)境數(shù) 據(jù)處理進(jìn)程;2)環(huán)境數(shù)據(jù)處理進(jìn)程將環(huán)境數(shù)據(jù)封裝成本地狀態(tài);3)多個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程間互相發(fā)送特定類型消息建立邏輯時(shí)鐘;4)環(huán)境數(shù)據(jù)處理進(jìn)程將帶有邏輯時(shí)鐘的本地狀態(tài)發(fā)送給環(huán)境感知檢測進(jìn)程;5)環(huán)境感知檢測進(jìn)程收集所有環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)來的信息構(gòu)建一致全局狀 態(tài);6)環(huán)境感知檢測進(jìn)程在一致全局狀態(tài)上進(jìn)行智能空間描述謂詞的檢測,當(dāng)謂詞規(guī)約成立時(shí)通知應(yīng)用程序,如此通過謂詞檢測從而感知環(huán)境狀態(tài)。整體的結(jié)構(gòu)如圖1所示。上述步驟1)的具體過程為11)在異步網(wǎng)絡(luò)計(jì)算環(huán)境中安裝部署需要使用的傳感設(shè)備;12)設(shè)定傳感設(shè)備采集數(shù)據(jù)的采集頻率和延遲發(fā)送的時(shí)間;傳感設(shè)備的接入需要提供相應(yīng)的參數(shù)。參數(shù)的給定需要遵循統(tǒng)一的規(guī)范,如此可 以方便環(huán)境數(shù)據(jù)處理進(jìn)程收集不同傳感設(shè)備的環(huán)境數(shù)據(jù)。參數(shù)的描述必須遵循如圖4所示 的DTD規(guī)范,一個(gè)典型的RFID Reader的傳感設(shè)備參數(shù)的設(shè)置如圖5所示。13)采集數(shù)據(jù)并按照設(shè)定的發(fā)送方式向環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)送。上述步驟2)的具體過程為21)環(huán)境數(shù)據(jù)處理進(jìn)程根據(jù)收集到的環(huán)境數(shù)據(jù),計(jì)算定義在該進(jìn)程上的本地謂詞 命題,得到本地謂詞的取值;22)環(huán)境數(shù)據(jù)處理進(jìn)程根據(jù)本地謂詞真假取值的變化將收集到的環(huán)境數(shù)據(jù)建模為 本地狀態(tài)的變化。定義在單個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程上的本地謂詞為LPit5環(huán)境數(shù)據(jù)處理進(jìn)程根據(jù)接收 到所有的環(huán)境數(shù)據(jù)是否使LPi成立得到一串形如TTTFFFTTFFF...的true、false交替的序 列。環(huán)境數(shù)據(jù)處理進(jìn)程根據(jù)得到的這串序列,將其建模為一系列的本地狀態(tài)和本地事件的 交替序列 ;Ei,o' Si 0, Ei,i,Si,i,Ei 2, Si 2. · · ο本地事件有三種a)向其他環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)送控制消息;b)接收到其他環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)送的控制消息;c)本地謂詞的真值變化。本地事件之間的單個(gè)本地狀態(tài)上所有環(huán)境數(shù)據(jù)的本地謂詞取值是相同的。這樣, 單個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程接收到的環(huán)境數(shù)據(jù)就被建模為一串的本地狀態(tài)的序列。如圖2中所 示,每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程上的環(huán)境數(shù)據(jù)都被建模為一串本地狀態(tài)的序列。上述步驟3)的 具體過程為31)每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程Pi都維護(hù)一個(gè)本地的向量時(shí)鐘VC,VC是一組向量[t1; t2,t3,...,tn],每個(gè)元素tj對(duì)應(yīng)于一個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程?」,其初始值為
;32)每當(dāng)環(huán)境數(shù)據(jù)處理進(jìn)程Pi上的本地謂詞變?yōu)閠rue時(shí),發(fā)送包含有本地當(dāng)前的 VC向量時(shí)鐘(向量時(shí)鐘戳)的控制消息給其他環(huán)境數(shù)據(jù)處理進(jìn)程,同時(shí)增加本地向量時(shí)鐘 VC中對(duì)應(yīng)本地的部分,即本地VC的第i個(gè)分量ti加1 ;33)每當(dāng)環(huán)境數(shù)據(jù)處理進(jìn)Pi上的本地謂詞變?yōu)閒alse時(shí),增加本地向量時(shí)鐘VC中 對(duì)應(yīng)本地的部分,即本地VC的第i個(gè)分量ti加1 ;34)每當(dāng)接收到其他環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)送來的包含有其VC向量時(shí)鐘戳的控制 消息,環(huán)境數(shù)據(jù)處理進(jìn)程Pi更新本地的VC為本地和控制消息中每個(gè)對(duì)應(yīng)元素的最大值。這樣在所有的環(huán)境數(shù)據(jù)處理進(jìn)程上就維護(hù)了一個(gè)邏輯時(shí)鐘,每個(gè)本地狀態(tài)上都有 一個(gè)向量時(shí)間戳,即,都帶有時(shí)間特性信息。如圖2中所示,所有環(huán)境數(shù)據(jù)處理進(jìn)程上的本 地狀態(tài)都帶有了向量時(shí)間戳。上述步驟4)的具體過程為當(dāng)每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程Pi出現(xiàn)一個(gè)新的帶有向量時(shí)間戳的本地狀態(tài)時(shí),發(fā)送檢測消息給環(huán)境感知檢測進(jìn)程,其中的檢測消息即為帶有本地 謂詞LPi的取值和向量時(shí)間戳的本地狀態(tài)。上述步驟5)的具體過程為51)環(huán)境感知檢測進(jìn)程根據(jù)接收到的每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)來的本地狀態(tài)構(gòu)建 一致全局狀態(tài)Snapshot,具體為假設(shè)共有η個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程,G = (S1, S2, S3, ... , Sj是一個(gè)全局狀態(tài),Si是 環(huán)境數(shù)據(jù)處理進(jìn)程Pi上的本地狀態(tài);一個(gè)全局狀態(tài)C是一致全局狀態(tài)Snapshot的條件是, 當(dāng)且僅當(dāng)C包含的任意兩個(gè)本地狀態(tài)Si, h之間的向量時(shí)間戳沒有大小關(guān)系,即Si. VC<^ Sj. VC 且 Si. VC > Sj. VC ;上述兩個(gè)向量時(shí)間戳VC1,VC2之間的大小關(guān)系定義如下VCl < VC2 當(dāng)且僅當(dāng)VCl中每一個(gè)元素都小于等于VC2中對(duì)應(yīng)元素,且至少存在 一個(gè)不相等,即對(duì)任意的i :1彡i彡n, VCl.、彡VC2.、且存在j :1彡j彡n, VCl. t」Φ VC2. tj;VCl = C2 :當(dāng)且僅當(dāng)VCl中每一個(gè)元素都等于VC2中對(duì)應(yīng)元素,即對(duì)任意的i 1 彡 i 彡 n,VCl. ti = C2.、;51)環(huán)境感知檢測進(jìn)程構(gòu)建的一系列的一致全局狀態(tài)組成一個(gè)集合,集合中的一 致全局狀態(tài)之間有一種偏序的先后關(guān)系。兩個(gè)一致全局狀態(tài)Cl = {Sn, S12,S13, · · ·,S1J,C2 = {S21, S22, S23, · · ·,S2J 之前 的先后關(guān)系定義如下Cl 彡 C2 :C1. Sli. VC 彡 C2. S2i. VC,1 彡 i 彡 η ;一致全局狀態(tài)集合和集合內(nèi)元素之間的偏序先后關(guān)系具有一種格結(jié)構(gòu)。如圖3所 示,該格結(jié)構(gòu)的每個(gè)坐標(biāo)軸是環(huán)境數(shù)據(jù)處理進(jìn)程產(chǎn)生的本地狀態(tài)序列,格結(jié)構(gòu)中每個(gè)節(jié)點(diǎn) 是一個(gè)一致全局狀態(tài),一致全局狀態(tài)之間的先后關(guān)系在格結(jié)構(gòu)上用兩點(diǎn)之間的邊來表示。上述步驟6)的具體過程為61)環(huán)境感知檢測進(jìn)程從應(yīng)用程序得到要檢測的全局謂詞規(guī)約;全局謂詞規(guī)約是指定義在一致全局狀態(tài)上的謂詞,它由多個(gè)本地謂詞之間通過布 爾運(yùn)算而得到。例如有η個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程,每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程上面都有一個(gè)本地 謂詞LPi,那么一個(gè)全局謂詞可以是LP1 Λ LP2 Λ . . . Λ LPn。我們?yōu)閼?yīng)用提出不同的全局謂詞規(guī)約提供了統(tǒng)一的支持。規(guī)約的描述必須遵循如 圖6所示的DTD規(guī)范。一個(gè)示例場景的全局謂詞規(guī)約描述如圖7所示。62)環(huán)境感知檢測進(jìn)程根據(jù)得到的全局謂詞規(guī)約在整合的格結(jié)構(gòu)上進(jìn)行全局謂詞 規(guī)約的檢測,當(dāng)規(guī)約成立時(shí)通知應(yīng)用程序,如此通過謂詞檢測從而感知環(huán)境狀態(tài)??梢葬槍?duì) 不同的全局謂詞來生成不同的檢測算法。本發(fā)明針對(duì)現(xiàn)有感知技術(shù)難以較好適用于開放、動(dòng)態(tài)、異步的環(huán)境的特點(diǎn),將異步 網(wǎng)絡(luò)計(jì)算環(huán)境中對(duì)不同上下文的處理建模作為環(huán)境數(shù)據(jù)處理進(jìn)程,通過環(huán)境數(shù)據(jù)處理進(jìn)程 間互相發(fā)送消息來建立邏輯時(shí)鐘,將帶有邏輯時(shí)鐘的上下文信息發(fā)送給環(huán)境感知檢測進(jìn)程 以建立一致全局狀態(tài)及一致全局狀態(tài)的格結(jié)構(gòu),進(jìn)而在其上檢測應(yīng)用提出的全局謂詞規(guī) 約,以達(dá)到感知異步網(wǎng)絡(luò)計(jì)算環(huán)境的目的。利用邏輯時(shí)鐘使得環(huán)境中上下文帶上了時(shí)間特 性信息,屏蔽了異步性對(duì)感知的影響,使得到異步網(wǎng)絡(luò)計(jì)算環(huán)境的一致全局狀態(tài)不再是一個(gè)難題,從而使得感知異步環(huán)境變得簡單。
圖1傳感設(shè)備和進(jìn)程間通信結(jié)構(gòu)圖,圖2多個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程間互相發(fā)送消息建立邏輯時(shí)鐘,圖3所有一致全局狀態(tài)構(gòu)成的格結(jié)構(gòu),圖4傳感器配置描述DTD,圖5RFID Reader的配置描述,圖6全局謂詞規(guī)約配置描述DTD,圖7特定場景的全局謂詞規(guī)約配置描述。
具體實(shí)施例方式1、根據(jù)以上描述概括本發(fā)明,其主要包括以下幾個(gè)方面1)邏輯時(shí)鐘邏輯時(shí)鐘在本發(fā)明方法中起了至關(guān)重要的作用。本發(fā)明中的邏輯時(shí)鐘可以達(dá)到同 步異步進(jìn)程的作用。而且還提供了所有上下文之間的先后關(guān)系。下面給出邏輯時(shí)鐘的計(jì)算方法假設(shè)有η個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程,每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程Pi都維護(hù)一個(gè)本地的向量 時(shí)鐘VC[t1;t2,t3,…,tn],每個(gè)元素對(duì)應(yīng)于一個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程Pi,初始值為w,0,…, 0];a)每當(dāng)環(huán)境數(shù)據(jù)處理進(jìn)程Pi上的本地謂詞變?yōu)閠rue時(shí),發(fā)送包含有本地當(dāng)前的 VC向量時(shí)鐘(向量時(shí)鐘戳)的控制消息給其他環(huán)境數(shù)據(jù)處理進(jìn)程,同時(shí)增加本地向量時(shí)鐘 VC中對(duì)應(yīng)本地的部分,即本地VC的第i個(gè)分量ti加1 ;b)每當(dāng)環(huán)境數(shù)據(jù)處理進(jìn)Pi上的本地謂詞變?yōu)閒alse時(shí),增加本地向量時(shí)鐘VC中 對(duì)應(yīng)本地的部分,即本地VC的第i個(gè)分量ti加1 ;c)每當(dāng)接收到其他環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)送來的包含有其VC向量時(shí)鐘戳的控制消 息,環(huán)境數(shù)據(jù)處理進(jìn)程Pi更新本地的VC為本地和控制消息中每個(gè)對(duì)應(yīng)元素的最大值。d)這樣在所有的環(huán)境數(shù)據(jù)處理進(jìn)程上就維護(hù)了一個(gè)邏輯時(shí)鐘,每個(gè)本地狀態(tài)上都 有一個(gè)向量時(shí)間戳,即,都帶有時(shí)間特性信息。如圖2中所示,所有環(huán)境數(shù)據(jù)處理進(jìn)程上的 本地狀態(tài)都帶有了向量時(shí)間戳。2) 一致全局狀態(tài)Snapshot的獲取異步網(wǎng)絡(luò)計(jì)算環(huán)境中一致全局狀態(tài)snapshot的獲取是一個(gè)難題。在本發(fā)明中,借 助于邏輯時(shí)鐘,一致全局狀態(tài)可以很方便的得到。下面給出得到一致全局狀態(tài)的方法假設(shè)有η個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程,每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程Pi都維護(hù)一個(gè)本地的向量 時(shí)鐘vc[t1; t2,t3,…,tn]。每個(gè)本地狀態(tài)都帶有向量時(shí)鐘戳。所有環(huán)境數(shù)據(jù)處理進(jìn)程將 本地狀態(tài)發(fā)送給環(huán)境感知檢測進(jìn)程。環(huán)境感知檢測進(jìn)程收到這些環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)送的 消息按如下方式構(gòu)建一致全局狀態(tài)在每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)送的本地狀態(tài)序列上取一個(gè)本地狀態(tài),構(gòu)成一個(gè)全局狀態(tài)G=傷1,52,53,...,511}4是環(huán)境數(shù)據(jù)處理進(jìn)程?1上的本地狀態(tài)。一個(gè)全局狀態(tài)C是 一致全局狀態(tài)Snapshot的條件是,當(dāng)且僅當(dāng)C包含的任意兩個(gè)本地狀態(tài)Si, Sj之間的向量 時(shí)間戳沒有大小關(guān)系,即Si. VC術(shù)Sj. VC且Si. VC > Sj. VC ;上述兩個(gè)向量時(shí)間戳VC1,VC2之間的大小關(guān)系定義如下VCl < VC2 當(dāng)且僅當(dāng)VCl中每一個(gè)元素都小于等于VC2中對(duì)應(yīng)元素,且至少存在 一個(gè)不相等,即對(duì)任意的i :1≤i≤n, VCl.、≤VC2.、且存在j :1≤j≤n, VCl. t」Φ VC2. tj;VCl = C2 :當(dāng)且僅當(dāng)VCl中每一個(gè)元素都等于VC2中對(duì)應(yīng)元素,即對(duì)任意的i 1 ≤ i ≤ n,VCl. ti = C2.、;這樣,通過不斷地接收來自各個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)來的本地狀態(tài)消息,環(huán)境感 知檢測進(jìn)程可以構(gòu)建出所有的一致全局狀態(tài)。每個(gè)一致全局狀態(tài)都包含了本地謂詞的真 值,進(jìn)而可以在其上檢測全局謂詞規(guī)約是否成立。所有的一致全局狀態(tài)構(gòu)成的集合和集合 中元素間的先后關(guān)系,構(gòu)成了一個(gè)格結(jié)構(gòu)。格結(jié)構(gòu)的每個(gè)坐標(biāo)軸是環(huán)境數(shù)據(jù)處理進(jìn)程的本 地狀態(tài)序列,每個(gè)節(jié)點(diǎn)是一個(gè)一致全局狀態(tài)。一致全局狀態(tài)之間的先后關(guān)系,在格結(jié)構(gòu)上用 兩點(diǎn)之間的邊來表示。兩個(gè)一致全局狀態(tài)Cl = {Sn, S12,S13, · · ·,S1J,C2 = {S21, S22, S23, · · ·,S2J 之前 的先后關(guān)系定義如下Cl ≤ C2 :C1. Sli. VC ≤ C2. S2i. VC,1 ≤ i ≤ η ;3)基于Snapshot謂詞的環(huán)境感知基于環(huán)境感知檢測進(jìn)程得到的一致全局狀態(tài)和其組成的格結(jié)構(gòu),就可以對(duì)應(yīng)用提 出的規(guī)約進(jìn)行檢測。對(duì)于不同類型的規(guī)約可以有不同的檢測算法。全局謂詞規(guī)約是定義在一致全局狀態(tài)上的謂詞,它由多個(gè)本地謂詞之間通過布爾 運(yùn)算而得到。例如有η個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程,每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程上面都有一個(gè)本地謂 詞LPi,那么一個(gè)全局謂詞可以是LP1 Λ LP2 Λ . . . Λ LPn。2、以下通過具體的實(shí)施例來對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)的說明。首先我們描述一個(gè)典型的應(yīng)用場景。出于對(duì)節(jié)能的考慮,當(dāng)人不在房間中且房間的燈開著時(shí),應(yīng)該自動(dòng)的把燈關(guān)掉。下面我們具體按照上面的步驟來詳細(xì)說明本場景中的具體行為。1.用戶身上綁定了一個(gè)RFID tag tag_l。我們?cè)谑覂?nèi)安裝一個(gè)RFID ReaderReader_l來檢測用戶是否在房間中,同時(shí)在室內(nèi)安裝了一個(gè)光線傳感器Light_l來 感應(yīng)燈是否開著。這兩個(gè)傳感器都采用無線通信。而且出于省電的考慮,它們都將采集到 的數(shù)據(jù)緩存在本地,每隔5分鐘才發(fā)送一次數(shù)據(jù)給運(yùn)行在室內(nèi)一臺(tái)服務(wù)器上的環(huán)境數(shù)據(jù)處 理進(jìn)程。傳感器要能部署并且被使用需要提供一些配置信息。在圖4中我們給出了傳感器 配置描述的DTD描述。圖5給出了 RFID Reader的配置描述。設(shè)置了發(fā)送周期為5分鐘。應(yīng)用提出的規(guī)約因此就是(Reader_lnot-contain tag_l) Λ (Light_l > 500)。 我們認(rèn)為感應(yīng)到的光線強(qiáng)度大于500時(shí)燈開著。全局謂詞的配置描述的DTD描述如圖6,本 場景中的配置描述如圖7。2.在服務(wù)器上,對(duì)應(yīng)于兩個(gè)傳感器都有一個(gè)對(duì)應(yīng)的環(huán)境數(shù)據(jù)處理進(jìn)程。傳感器不 斷收集環(huán)境數(shù)據(jù),根據(jù)分發(fā)周期發(fā)送環(huán)境數(shù)據(jù)給環(huán)境數(shù)據(jù)處理進(jìn)程。環(huán)境數(shù)據(jù)處理進(jìn)程對(duì)于定義在其上的本地謂詞Reader_l not-contain tag_l和Light_l > 500,計(jì)算當(dāng)前環(huán)境 數(shù)據(jù)得到的本地謂詞的真值,并建模本地狀態(tài)。3.每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程都維護(hù)了一個(gè)本地的向量時(shí)鐘。當(dāng)本地謂詞變?yōu)閠rue 時(shí),環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)送控制消息(帶有向量時(shí)間戳)給另外一個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程。如 圖2中所示。4.當(dāng)每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程上產(chǎn)生了一個(gè)本地狀態(tài)時(shí),都將其發(fā)送給運(yùn)行在服務(wù) 器上的環(huán)境感知檢測進(jìn)程。5.環(huán)境感知檢測進(jìn)程將收集到的兩個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)來的本地狀態(tài)構(gòu)建為 一系列一致全局狀態(tài),并將其構(gòu)建為如圖3所示的格結(jié)構(gòu)。6.環(huán)境感知檢測進(jìn)程根據(jù)全局謂詞規(guī)約(Reader_l not-contain tag_l) Λ (Light_l > 500)檢測格結(jié)構(gòu)中的一致全局狀態(tài)是否滿足此全局謂詞。7.當(dāng)全局謂詞規(guī)約成立時(shí),環(huán)境感知檢測進(jìn)程通知安裝在燈光控制電路上的應(yīng)用 程序關(guān)掉燈。
權(quán)利要求
1.一種基于邏輯時(shí)鐘的智能空間感知方法,其特征主要包括以下步驟1)在異步網(wǎng)絡(luò)計(jì)算環(huán)境中安裝傳感設(shè)備,通過傳感設(shè)備將環(huán)境數(shù)據(jù)發(fā)送給環(huán)境數(shù)據(jù)處 理進(jìn)程;2)環(huán)境數(shù)據(jù)處理進(jìn)程將環(huán)境數(shù)據(jù)封裝成本地狀態(tài);3)多個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程間互相發(fā)送特定類型消息建立邏輯時(shí)鐘;4)環(huán)境數(shù)據(jù)處理進(jìn)程將帶有邏輯時(shí)鐘的本地狀態(tài)發(fā)送給環(huán)境感知檢測進(jìn)程;5)環(huán)境感知檢測進(jìn)程收集所有環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)來的信息構(gòu)建一致全局狀態(tài);6)環(huán)境感知檢測進(jìn)程在一致全局狀態(tài)上進(jìn)行智能空間描述謂詞的檢測,當(dāng)謂詞規(guī)約成 立時(shí)通知應(yīng)用程序,如此通過謂詞檢測從而感知環(huán)境狀態(tài)。
2.根據(jù)權(quán)利要求1所述的基于邏輯時(shí)鐘的智能空間感知方法,其特征在于步驟1)的具 體過程為11)在異步網(wǎng)絡(luò)計(jì)算環(huán)境中安裝部署需要使用的傳感設(shè)備;12)設(shè)定傳感設(shè)備采集數(shù)據(jù)的采集頻率和延遲發(fā)送的時(shí)間;13)采集數(shù)據(jù)并按照設(shè)定的發(fā)送方式向環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)送。
3.根據(jù)權(quán)利要求1或2所述的基于邏輯時(shí)鐘的智能空間感知方法,其特征在于步驟2) 的具體過程為21)環(huán)境數(shù)據(jù)處理進(jìn)程根據(jù)收集到的環(huán)境數(shù)據(jù),計(jì)算定義在該進(jìn)程上的本地謂詞命題, 得到本地謂詞的取值;22)環(huán)境數(shù)據(jù)處理進(jìn)程根據(jù)本地謂詞真假取值的變化將收集到的環(huán)境數(shù)據(jù)建模為本地 狀態(tài)的變化。
4.根據(jù)權(quán)利要求1或2所述的基于邏輯時(shí)鐘的智能空間感知方法,其特征在于步驟3) 的具體過程為31)每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程Pi都維護(hù)一個(gè)本地的向量時(shí)鐘VC,VC是一組向量[t1;t2, t3,…,tn],每個(gè)元素、對(duì)應(yīng)于一個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程Pp其初始值為W,0,-,0];32)每當(dāng)環(huán)境數(shù)據(jù)處理進(jìn)程Pi上的本地謂詞變?yōu)閠rue時(shí),發(fā)送包含有本地當(dāng)前的VC 向量時(shí)鐘(向量時(shí)鐘戳)的控制消息給其他環(huán)境數(shù)據(jù)處理進(jìn)程,同時(shí)增加本地向量時(shí)鐘VC 中對(duì)應(yīng)本地的部分,即本地VC的第i個(gè)分量、加1 ;33)每當(dāng)環(huán)境數(shù)據(jù)處理進(jìn)Pi上的本地謂詞變?yōu)閒alse時(shí),增加本地向量時(shí)鐘VC中對(duì)應(yīng) 本地的部分,即本地VC的第i個(gè)分量、加1 ;34)每當(dāng)接收到其他環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)送來的包含有其VC向量時(shí)鐘戳的控制消息, 環(huán)境數(shù)據(jù)處理進(jìn)程Pi更新本地的VC為本地和控制消息中每個(gè)對(duì)應(yīng)元素的最大值。
5.根據(jù)權(quán)利要求1或2所述的基于邏輯時(shí)鐘的智能空間感知方法,其特征在于步驟4) 的具體過程為當(dāng)每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程Pi出現(xiàn)一個(gè)新的帶有向量時(shí)間戳的本地狀態(tài)時(shí), 發(fā)送檢測消息給環(huán)境感知檢測進(jìn)程,其中的檢測消息即為帶有本地謂詞LPi的取值和向量 時(shí)間戳的本地狀態(tài)。
6.根據(jù)權(quán)利要求1或2所述的基于邏輯時(shí)鐘的智能空間感知方法,其特征在于步驟5) 的具體過程為51)環(huán)境感知檢測進(jìn)程根據(jù)接收到的每個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程發(fā)來的本地狀態(tài)構(gòu)建一致 全局狀態(tài)Snapshot,具體為假設(shè)共有η個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程,G = (S1, S2, S3,…,SJ是一個(gè)全局狀態(tài),Si是環(huán)境 數(shù)據(jù)處理進(jìn)程Pi上的本地狀態(tài);一個(gè)全局狀態(tài)C是一致全局狀態(tài)Snapshot的條件是,當(dāng)且 僅當(dāng)C包含的任意兩個(gè)本地狀態(tài)Si, Sj之間的向量時(shí)間戳沒有大小關(guān)系,即Si. VC術(shù)Sj. VC 且 Si. VC > Sj. VC ;上述兩個(gè)向量時(shí)間戳VC1,VC2之間的大小關(guān)系定義如下VCl < VC2 當(dāng)且僅當(dāng)VCl中每一個(gè)元素都小于等于VC2中對(duì)應(yīng)元素,且至少存在一個(gè) 不相等,即對(duì)任意的i :1彡i彡n,VCl.、彡VC2.、且存在j :1彡j彡n, VCl. t」Φ VC2. tj;VCl = C2 :當(dāng)且僅當(dāng)VCl中每一個(gè)元素都等于VC2中對(duì)應(yīng)元素,即對(duì)任意的i 1 彡 i 彡 n,VCl. tj = C2.、;52)環(huán)境感知檢測進(jìn)程構(gòu)建的一系列的一致全局狀態(tài)組成一個(gè)集合,集合中的一致全 局狀態(tài)之間有一種偏序的先后關(guān)系;兩個(gè)一致全局狀態(tài) Cl = {Sn,S12,S13,…,S1J,C2 = {S21,S22, S23,…,S2J 之前的先 后關(guān)系定義如下Cl ≤ C2 :C1. Sli. VC ≤ C2. S2i. VC,1 ≤ i ≤ η ;一致全局狀態(tài)集合和集合內(nèi)元素之間的偏序先后關(guān)系具有一種格結(jié)構(gòu);該格結(jié)構(gòu)的每 個(gè)坐標(biāo)軸是環(huán)境數(shù)據(jù)處理進(jìn)程產(chǎn)生的本地狀態(tài)序列,格結(jié)構(gòu)中每個(gè)節(jié)點(diǎn)是一個(gè)一致全局狀 態(tài),一致全局狀態(tài)之間的先后關(guān)系在格結(jié)構(gòu)上用兩點(diǎn)之間的邊來表示。
7.根據(jù)權(quán)利要求6所述的基于邏輯時(shí)鐘的智能空間感知方法,其特征在于步驟6)的具 體過程為61)環(huán)境感知檢測進(jìn)程從應(yīng)用程序得到要檢測的全局謂詞規(guī)約;62)環(huán)境感知檢測進(jìn)程根據(jù)得到的全局謂詞規(guī)約在整合的格結(jié)構(gòu)上進(jìn)行全局謂詞規(guī)約 的檢測,當(dāng)規(guī)約成立時(shí)通知應(yīng)用程序,如此通過謂詞檢測從而感知環(huán)境狀態(tài)。
全文摘要
本發(fā)明公開了一種基于邏輯時(shí)鐘的智能空間感知方法,首先在異步網(wǎng)絡(luò)計(jì)算環(huán)境中安裝傳感設(shè)備,通過傳感設(shè)備將環(huán)境數(shù)據(jù)發(fā)送給環(huán)境數(shù)據(jù)處理進(jìn)程;環(huán)境數(shù)據(jù)處理進(jìn)程將環(huán)境數(shù)據(jù)封裝成本地狀態(tài);多個(gè)環(huán)境數(shù)據(jù)處理進(jìn)程間互相發(fā)送特定類型消息建立邏輯時(shí)鐘;并將帶有邏輯時(shí)鐘的本地狀態(tài)發(fā)送給環(huán)境感知檢測進(jìn)程;檢測進(jìn)程收集所有處理進(jìn)程發(fā)來的信息構(gòu)建一致全局狀態(tài),再進(jìn)行智能空間描述謂詞規(guī)約的檢測,通過謂詞檢測從而感知環(huán)境狀態(tài)。本發(fā)明利用消息傳遞帶來的邏輯時(shí)鐘上的先后關(guān)系,建模智能空間環(huán)境數(shù)據(jù)的時(shí)間特性信息,屏蔽網(wǎng)絡(luò)計(jì)算環(huán)境的異步性對(duì)感知的影響,可以很簡單的得到智能空間的一致全局狀態(tài),進(jìn)而便于實(shí)現(xiàn)智能空間感知。
文檔編號(hào)G06F9/54GK102122254SQ20111004666
公開日2011年7月13日 申請(qǐng)日期2011年2月25日 優(yōu)先權(quán)日2011年2月25日
發(fā)明者呂建, 楊怡玲, 黃宇 申請(qǐng)人:南京大學(xué)