專利名稱:物聯(lián)網(wǎng)組網(wǎng)方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線網(wǎng)絡(luò)技術(shù),尤其涉及一種物聯(lián)網(wǎng)組網(wǎng)方法及設(shè)備。
背景技術(shù):
面向系統(tǒng)的開發(fā)模式與傳感器網(wǎng)絡(luò)靈活性、可擴(kuò)展性、易開發(fā)性和易維護(hù)性等要求相違背,缺乏編程抽象成為傳感器網(wǎng)絡(luò)發(fā)展的一個障礙。因此聲明式網(wǎng)絡(luò)開發(fā)模式被認(rèn)為是傳感器網(wǎng)絡(luò)發(fā)展的一個重要方向。傳感器網(wǎng)絡(luò)數(shù)據(jù)查詢處理系統(tǒng)處理數(shù)據(jù)查詢時,傳感器網(wǎng)絡(luò)分發(fā)查詢和收集結(jié)果的過程需要傳感器網(wǎng)絡(luò)根據(jù)路由策略建立路由,以保證節(jié)點(diǎn)的協(xié)同工作。因此,路由發(fā)現(xiàn)和維護(hù)是傳感器網(wǎng)絡(luò)處理數(shù)據(jù)查詢的基礎(chǔ)。傳感器網(wǎng)絡(luò)是無基礎(chǔ)設(shè)施、多跳結(jié)構(gòu)的,甚至是動態(tài)的,其部署環(huán)境和條件差異性大,因此需要采用不同的路由策略,如生成樹、Ad Hoc網(wǎng)絡(luò)路由策略、或者針對傳感器網(wǎng)絡(luò)特點(diǎn)設(shè)計的以數(shù)據(jù)為中心的、基于位置的、節(jié)能的路由策略等。為實(shí)現(xiàn)傳感器網(wǎng)絡(luò)的開發(fā),可以對傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)的路由策略、實(shí)現(xiàn)方式等進(jìn)行定義,即對待開發(fā)傳感器網(wǎng)絡(luò)進(jìn)行針對節(jié)點(diǎn)的分布式聲明。目前應(yīng)用較為廣泛的是Grumbach S等人提出的分布式聲明式網(wǎng)絡(luò)開發(fā)模型,其支持基于規(guī)則的遞歸的網(wǎng)絡(luò)查詢語言Netlog,建立在節(jié)點(diǎn)配置的Netquest虛擬機(jī)之上。Netquest虛擬機(jī)支持完全分布式程序,即Netlog語言程序只描述節(jié)點(diǎn)本地的功能。通過上述方式進(jìn)行傳感器網(wǎng)絡(luò)開發(fā)時,由于需對各節(jié)點(diǎn)的本地功能進(jìn)行描述,而非定義傳感器網(wǎng)絡(luò)的全局功能,開發(fā)較為復(fù)雜,驗(yàn)證較為困難。
發(fā)明內(nèi)容
本發(fā)明提供一種物聯(lián)網(wǎng)組網(wǎng)方法及設(shè)備,用于將用戶提供的物聯(lián)網(wǎng)全局式聲明式語言程序自動編譯為分布式聲明式語言程序,以實(shí)現(xiàn)在用戶僅需定義物聯(lián)網(wǎng)全局功能的情況下即完成物聯(lián)網(wǎng)組網(wǎng)。根據(jù)本發(fā)明的一方面,提供一種物聯(lián)網(wǎng)組網(wǎng)方法,包含:獲取物聯(lián)網(wǎng)全局式聲明式語言程序,所述物聯(lián)網(wǎng)全局式聲明式語言程序包含用于定義物聯(lián)網(wǎng)全局功能的全局式聲明式規(guī)則語句,所述全局式聲明式規(guī)則語句包含規(guī)則頭和規(guī)則體,所述規(guī)則頭和所述規(guī)則體分別包含至少一個謂詞;指定所述全局式聲明式規(guī)則語句的各謂詞的持有變量;若判斷獲知所述全局式聲明式規(guī)則語句的規(guī)則體包含至少兩個不同的持有變量,按照預(yù)定編譯算法將所述全局式聲明式規(guī)則語句編譯為由不同節(jié)點(diǎn)執(zhí)行的分布式聲明式規(guī)則語句;對所述編譯算法輸出的分布式聲明式規(guī)則語句進(jìn)行改寫,并添加協(xié)同控制規(guī)則語句,以獲取分布式聲明式語言程序;將所述分布式聲明式語言程序發(fā)送至待組建物聯(lián)網(wǎng)的各節(jié)點(diǎn),以通過所述節(jié)點(diǎn)執(zhí)行所述分布式聲明式語言程序形成包含所述各節(jié)點(diǎn)的物聯(lián)網(wǎng),其中,所述節(jié)點(diǎn)用自身節(jié)點(diǎn)標(biāo)識(ID)為各所述持有變量賦值。根據(jù)本發(fā)明的另一方面,還提供一種物聯(lián)網(wǎng)組網(wǎng)設(shè)備,包含:全局式聲明式語言程序獲取模塊,所述物聯(lián)網(wǎng)全局式聲明式語言程序包含用于定義物聯(lián)網(wǎng)全局功能的全局式聲明式規(guī)則語句,所述全局式聲明式規(guī)則語句包含規(guī)則頭和規(guī)則體,所述規(guī)則頭和所述規(guī)則體分別包含至少一個謂詞;持有變量設(shè)置模塊,用于指定所述全局式聲明式規(guī)則語句的各謂詞的持有變量;節(jié)點(diǎn)規(guī)則編譯模塊,用于若判斷獲知所述全局式聲明式規(guī)則語句的規(guī)則體包含至少兩個不同的持有變量,按照預(yù)定編譯算法將所述全局式聲明式規(guī)則語句編譯為由不同節(jié)點(diǎn)執(zhí)行的分布式聲明式規(guī)則語句;協(xié)同處理模塊,對所述編譯算法輸出的分布式聲明式規(guī)則語句進(jìn)行改寫,并添加協(xié)同控制規(guī)則語句,以獲取分布式聲明式語言程序;分布式程序下發(fā)模塊,用于將所述分布式聲明式語言程序發(fā)送至待組建物聯(lián)網(wǎng)的各節(jié)點(diǎn),以通過所述節(jié)點(diǎn)執(zhí)行所述分布式聲明式語言程序形成包含所述各節(jié)點(diǎn)的物聯(lián)網(wǎng),其中,所述節(jié)點(diǎn)用自身節(jié)點(diǎn)ID為各所述持有變量賦值。根據(jù)本發(fā)明的物聯(lián)網(wǎng)組網(wǎng)方法及設(shè)備,通過獲取用戶輸入的物聯(lián)網(wǎng)全局式聲明式語言程序,并按照預(yù)定算法將物聯(lián)網(wǎng)全局式聲明式語言程序編譯為節(jié)點(diǎn)執(zhí)行的分布式聲明式語言程序,以由待組建物聯(lián)網(wǎng)的各節(jié)點(diǎn)通過演繹分布式聲明式語言程序形成物聯(lián)網(wǎng)。實(shí)現(xiàn)了用戶僅需對待組建物聯(lián)網(wǎng)的全局功能進(jìn)行定義,即可自動組成符合預(yù)定要求的物聯(lián)網(wǎng),使得用戶可在更高的抽象層次,即全局層次上進(jìn)行物聯(lián)網(wǎng)的開發(fā),克服了現(xiàn)有技術(shù)中用戶需要在組網(wǎng)編程過程中針對各節(jié)點(diǎn)的操作進(jìn)行開發(fā)、驗(yàn)證的繁瑣工作。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明物聯(lián)網(wǎng)組網(wǎng)方法的流程示意圖;圖2為用于實(shí)現(xiàn)圖1所示的物聯(lián)網(wǎng)組網(wǎng)方法的系統(tǒng)架構(gòu)圖;圖3為本發(fā)明物聯(lián)網(wǎng)組網(wǎng)設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明物聯(lián)網(wǎng)組網(wǎng)方法的流程示意圖。如圖1所示,該物聯(lián)網(wǎng)組網(wǎng)方法包含以下流程:步驟S101,獲取物聯(lián)網(wǎng)全局式聲明式語言程序,所述物聯(lián)網(wǎng)全局式聲明式語言程序包含至少一條用于定義物聯(lián)網(wǎng)全局功能的全局式聲明式規(guī)則語句,所述全局式聲明式規(guī)則語句包含規(guī)則頭和規(guī)則體,所述規(guī)則頭和所述規(guī)則體分別包含至少一個謂詞;步驟S102,指定所述全局式聲明式規(guī)則語句的各謂詞的持有變量;步驟S103,若判斷獲知所述全局式聲明式規(guī)則語句的規(guī)則體包含至少兩個不同的持有變量,按照預(yù)定編譯算法將所述全局式聲明式規(guī)則語句編譯為由不同節(jié)點(diǎn)執(zhí)行的分布式聲明式規(guī)則語句;步驟S104,對所述編譯算法輸出的分布式聲明式規(guī)則語句進(jìn)行改寫,并添加協(xié)同控制規(guī)則語句,以獲取分布式聲明式語言程序;步驟S105,將所述分布式聲明式語言程序發(fā)送至待組建物聯(lián)網(wǎng)的各節(jié)點(diǎn),以通過所述節(jié)點(diǎn)執(zhí)行所述分布式聲明式語言程序形成包含所述各節(jié)點(diǎn)的物聯(lián)網(wǎng),其中,所述節(jié)點(diǎn)用自身節(jié)點(diǎn)ID為各所述持有變量賦值。圖2為用于實(shí)現(xiàn)圖1所示的物聯(lián)網(wǎng)組網(wǎng)方法的系統(tǒng)架構(gòu)圖,如圖2所示,該系統(tǒng)包含物聯(lián)網(wǎng)組網(wǎng)設(shè)備及與該物聯(lián)網(wǎng)組網(wǎng)設(shè)備無線連接的多個物聯(lián)網(wǎng)節(jié)點(diǎn),其中,該多個物聯(lián)網(wǎng)節(jié)點(diǎn)配備了用來執(zhí)行分布式聲明式語言程序的虛擬機(jī)。該物聯(lián)網(wǎng)組網(wǎng)設(shè)備用于執(zhí)行上述步驟SlOl S105,即用于實(shí)現(xiàn)由全局式聲明式語言程序到分布式聲明式語言程序的編譯及下發(fā)。在圖2中,以物聯(lián)網(wǎng)組網(wǎng)設(shè)備與全部物聯(lián)網(wǎng)節(jié)點(diǎn)均進(jìn)行通信、且各物聯(lián)網(wǎng)節(jié)點(diǎn)僅與相鄰節(jié)點(diǎn)間通信為例進(jìn)行說明,但本領(lǐng)域的技術(shù)人員應(yīng)該理解,也可采取不同于圖2所示的系統(tǒng)架構(gòu)來利用物聯(lián)網(wǎng)組網(wǎng)設(shè)備進(jìn)行組網(wǎng),例如,物聯(lián)網(wǎng)組網(wǎng)設(shè)備僅與部分物聯(lián)網(wǎng)節(jié)點(diǎn)通信,與物聯(lián)網(wǎng)組網(wǎng)設(shè)備通信的物聯(lián)網(wǎng)節(jié)點(diǎn)可通過節(jié)點(diǎn)泛洪(flooding)將從物聯(lián)網(wǎng)組網(wǎng)設(shè)備獲取的信息發(fā)送給所有物聯(lián)網(wǎng)節(jié)點(diǎn)。下面以該物聯(lián)網(wǎng)設(shè)備支持采用Datalog語言定義的全局式聲明式規(guī)則語句、并且所生成的分布式聲明式規(guī)則語句采用Netlog語言定義為例,對上述步驟SlOl S105進(jìn)行詳細(xì)說明,其中Netlog語言為現(xiàn)有技術(shù)的物聯(lián)網(wǎng)節(jié)點(diǎn)可識別并演繹的語言形式。當(dāng)要組建物聯(lián)網(wǎng)時,用戶直接針對所要組建物聯(lián)網(wǎng)的全局功能進(jìn)行定義,形成Datalog語言定義的物聯(lián)網(wǎng)全局式聲明式語言程序。其中,物聯(lián)網(wǎng)全局式聲明式語言程序中提供對路由、生成樹等網(wǎng)絡(luò)功能的全局性描述,而無需提供基于節(jié)點(diǎn)操作的分布式功能描述,該物聯(lián)網(wǎng)全局式聲明式語言程序例如包含以Datalog語言表示的、“在所組建的物聯(lián)網(wǎng)中按最短路徑路由”這一網(wǎng)絡(luò)功能。用戶所形成的物聯(lián)網(wǎng)全局式聲明式語言程序?yàn)榘鄠€Datalog規(guī)則的Datalog程序,其中各Datalog規(guī)則形式為“規(guī)則頭:_規(guī)則體”、且采取前推式演繹,并且由Datalog規(guī)則構(gòu)成的Datalog程序具有不動點(diǎn)語義,即循環(huán)地對程序的規(guī)則進(jìn)行演繹,從已知的事實(shí)演繹新的事實(shí)或者刪除事實(shí),直到無法再獲得新的事實(shí)或刪除已有事實(shí),此時程序的執(zhí)行終止。例如物聯(lián)網(wǎng)全局式聲明式語言程序中包含以下Datalog規(guī)則:
權(quán)利要求
1.一種物聯(lián)網(wǎng)組網(wǎng)方法,其特征在于,包含: 獲取物聯(lián)網(wǎng)全局式聲明式語言程序,所述物聯(lián)網(wǎng)全局式聲明式語言程序包含用于定義物聯(lián)網(wǎng)全局式功能的全局式聲明式規(guī)則語句,所述全局式聲明式規(guī)則語句包含規(guī)則頭和規(guī)則體,所述規(guī)則頭和所述規(guī)則體分別包含至少一個謂詞; 指定所述全局式聲明式規(guī)則語句的各謂詞的持有變量; 若判斷獲知所述全局式聲明式規(guī)則語句的規(guī)則體包含至少兩個不同的持有變量,按照預(yù)定編譯算法將所述全局式聲明式規(guī)則語句編譯為由不同節(jié)點(diǎn)執(zhí)行的分布式聲明式規(guī)則語句; 對所述編譯算法輸出的分布式聲明式規(guī)則語句進(jìn)行改寫,并添加協(xié)同控制規(guī)則語句,以獲取分布式聲明式語言程序; 將所述分布式聲明式語言程序發(fā)送至待組建物聯(lián)網(wǎng)的各節(jié)點(diǎn),以通過所述節(jié)點(diǎn)執(zhí)行所述分布式聲明式語言程序形成包含所述各節(jié)點(diǎn)的物聯(lián)網(wǎng),其中,所述節(jié)點(diǎn)用自身節(jié)點(diǎn)標(biāo)識為各所述持有變量賦值。
2.根據(jù)權(quán)利要求1所述的物聯(lián)網(wǎng)組網(wǎng)方法,其特征在于,所述全局式聲明式語言程序采用Datalog語言定義,所述分布式聲明式語言程序采用Netlog語言定義。
3.根據(jù)權(quán)利要求1或2所述的物聯(lián)網(wǎng)組網(wǎng)方法,其特征在于,所述按照預(yù)定編譯算法將所述全局式聲明式語言程序編譯為由節(jié)點(diǎn)執(zhí)行的分布式聲明式規(guī)則語句,具體包含: 根據(jù)所述規(guī)則體中具有不同所述持有變量的各謂詞之間的連接性,分別為具有不同所述持有變量的各謂詞生成新規(guī)則,各所述新規(guī)則的規(guī)則體僅包含相同的持有變量; 為所述新規(guī)則添加用于指示發(fā)送或存儲的指令。`
4.一種物聯(lián)網(wǎng)組網(wǎng)設(shè)備,其特征在于,包含: 全局式聲明式語言程序獲取模塊,用于獲取物聯(lián)網(wǎng)全局式聲明式語言程序,所述物聯(lián)網(wǎng)全局式聲明式語言程序包含用于定義物聯(lián)網(wǎng)全局功能的全局式聲明式規(guī)則語句,所述全局式聲明式規(guī)則語句包含規(guī)則頭和規(guī)則體,所述規(guī)則頭和所述規(guī)則體分別包含至少一個謂詞; 持有變量設(shè)置模塊,用于指定所述全局式聲明式規(guī)則語句的各謂詞的持有變量; 節(jié)點(diǎn)規(guī)則編譯模塊,用于若判斷獲知所述全局式聲明式規(guī)則語句的規(guī)則體包含至少兩個不同的持有變量,按照預(yù)定編譯算法將所述全局式聲明式規(guī)則語句編譯為由不同節(jié)點(diǎn)執(zhí)行的分布式聲明式規(guī)則語句; 協(xié)同處理模塊,對所述編譯算法輸出的分布式聲明式規(guī)則語句進(jìn)行改寫,并添加協(xié)同控制規(guī)則語句,以獲取分布式聲明式語言程序; 分布式程序下發(fā)模塊,用于將所述分布式聲明式語言程序發(fā)送至待組建物聯(lián)網(wǎng)的各節(jié)點(diǎn),以通過所述節(jié)點(diǎn)執(zhí)行所述分布式聲明式語言程序形成包含所述各節(jié)點(diǎn)的物聯(lián)網(wǎng),其中,所述節(jié)點(diǎn)用自身節(jié)點(diǎn)標(biāo)識為各所述持有變量賦值。
5.根據(jù)權(quán)利要求4所述的物聯(lián)網(wǎng)組網(wǎng)設(shè)備,其特征在于,所述全局式聲明式語言程序采用Datalog語言定義,所述分布式聲明式語言程序采用Netlog語言定義。
6.根據(jù)權(quán)利要求4或5所述的物聯(lián)網(wǎng)組網(wǎng)設(shè)備,其特征在于,所述節(jié)點(diǎn)規(guī)則編譯模塊包含: 規(guī)則生成單元,用于根據(jù)所述規(guī)則體中具有不同所述持有變量的各謂詞之間的連接性,分別為具有不同所述持有變量的各謂詞生成新規(guī)則,各所述新規(guī)則的規(guī)則體僅包含相同的持有變量; 建立通信單元,用于為所 述新規(guī)則添加用于指示發(fā)送或存儲的指令。
全文摘要
本發(fā)明提供物聯(lián)網(wǎng)組網(wǎng)方法及設(shè)備。該方法包含獲取物聯(lián)網(wǎng)全局式聲明式語言程序,其包含用于定義物聯(lián)網(wǎng)全局功能的全局式聲明式規(guī)則語句,全局式聲明式規(guī)則語句包含分別包含至少一個謂詞的規(guī)則頭和規(guī)則體;指定各謂詞的持有變量;若判斷獲知規(guī)則體包含至少兩個不同的持有變量,按照預(yù)定編譯算法將全局式聲明式規(guī)則語句編譯為由不同節(jié)點(diǎn)執(zhí)行的分布式聲明式規(guī)則語句;對分布式聲明式規(guī)則語句進(jìn)行改寫,并添加協(xié)同控制規(guī)則語句,以獲取分布式聲明式語言程序;并將其發(fā)送至待組建物聯(lián)網(wǎng)的各節(jié)點(diǎn),以通過節(jié)點(diǎn)執(zhí)行所述分布式聲明式語言程序形成包含各節(jié)點(diǎn)的物聯(lián)網(wǎng),其中,所述節(jié)點(diǎn)用自身節(jié)點(diǎn)標(biāo)識為各持有變量賦值。
文檔編號H04W84/18GK103108411SQ20111035692
公開日2013年5月15日 申請日期2011年11月11日 優(yōu)先權(quán)日2011年11月11日
發(fā)明者汪芳, 張?jiān)朴? 房秉毅 申請人:中國聯(lián)合網(wǎng)絡(luò)通信集團(tuán)有限公司