欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

物聯(lián)網(wǎng)中的節(jié)點(diǎn)搜索和定位系統(tǒng)的制作方法

文檔序號(hào):7754068閱讀:449來(lái)源:國(guó)知局
專利名稱:物聯(lián)網(wǎng)中的節(jié)點(diǎn)搜索和定位系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,特別涉及一種物聯(lián)網(wǎng)中的節(jié)點(diǎn)搜索和定位系統(tǒng)。
背景技術(shù)
物聯(lián)網(wǎng)是基于標(biāo)準(zhǔn)和可互操作的通信協(xié)議、且具有自配置能力的、動(dòng)態(tài)的全球網(wǎng) 絡(luò)基礎(chǔ)架構(gòu)。物聯(lián)網(wǎng)中的“物”具有標(biāo)識(shí)、物理屬性和實(shí)質(zhì)上的個(gè)性,使用智能接口實(shí)現(xiàn)與 信息網(wǎng)絡(luò)的無(wú)縫整合。物聯(lián)網(wǎng)是全球范圍內(nèi)的,由具有唯一編址的節(jié)點(diǎn)構(gòu)成的無(wú)線網(wǎng)絡(luò),將 物聯(lián)網(wǎng)與現(xiàn)有的互聯(lián)網(wǎng)整合起來(lái),實(shí)現(xiàn)人類社會(huì)與物理系統(tǒng)的整合,構(gòu)架一種虛擬網(wǎng)絡(luò)和 現(xiàn)實(shí)世界實(shí)時(shí)交互的新型系統(tǒng)。實(shí)現(xiàn)物與物,物與人,人與人之間的實(shí)時(shí)通信?,F(xiàn)有的物聯(lián)網(wǎng)中節(jié)點(diǎn)位置自感知技術(shù)的不足,節(jié)點(diǎn)組網(wǎng)的系統(tǒng)結(jié)構(gòu)不一致,節(jié)點(diǎn) 信息的組織和存儲(chǔ)結(jié)構(gòu)以及查詢更新方法各異,導(dǎo)致物聯(lián)網(wǎng)中節(jié)點(diǎn)實(shí)時(shí)搜索與定位的準(zhǔn)確 性和時(shí)效性低的困難。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種物聯(lián)網(wǎng)中的節(jié)點(diǎn)搜索和定位系統(tǒng)。所述技術(shù)方案如下一種物聯(lián)網(wǎng)中的節(jié)點(diǎn)搜索和定位系統(tǒng),包括多個(gè)第一節(jié)點(diǎn),所述第一節(jié)點(diǎn)用于接收到來(lái)自其他第一節(jié)點(diǎn)的攜帶被搜索節(jié)點(diǎn)已 知編碼的請(qǐng)求消息時(shí),判斷自身編碼是否與所述已知編碼相同,如果是,則當(dāng)前第一節(jié)點(diǎn)為 被搜索節(jié)點(diǎn),將包含所述當(dāng)前第一節(jié)點(diǎn)的位置信息的搜索應(yīng)答消息返回給所述請(qǐng)求消息中 發(fā)起搜索的第一節(jié)點(diǎn);如果否,將當(dāng)前第一節(jié)點(diǎn)的位置信息寫(xiě)入所述請(qǐng)求消息,并向所述當(dāng) 前第一節(jié)點(diǎn)的相鄰節(jié)點(diǎn)廣播寫(xiě)入后的請(qǐng)求消息;第一級(jí)服務(wù)器,用于當(dāng)所述第一節(jié)點(diǎn)與所述第一級(jí)服務(wù)器相連時(shí),接收來(lái)自所述 第一節(jié)點(diǎn)上傳的攜帶被搜索節(jié)點(diǎn)已知編碼的請(qǐng)求消息。所述系統(tǒng)還包括第二級(jí)服務(wù)器,所述第二級(jí)服務(wù)器與所述第一級(jí)服務(wù)器相連,所 述第二級(jí)服務(wù)器上注冊(cè)有多個(gè)所述第一級(jí)服務(wù)器,當(dāng)?shù)谝还?jié)點(diǎn)加入所述第一級(jí)服務(wù)器的網(wǎng) 絡(luò)時(shí),所述第一節(jié)點(diǎn)向所述第一級(jí)服務(wù)器注冊(cè),所述第一級(jí)服務(wù)器保存所述第一節(jié)點(diǎn)的信 肩、ο所述系統(tǒng)還包括第二節(jié)點(diǎn),用于存儲(chǔ)自身的編碼以及屬性信息,相應(yīng)地,當(dāng)所述第一節(jié)點(diǎn)讀取所述第二節(jié)點(diǎn)的編碼以及屬性信息后,所述第一節(jié) 點(diǎn)將所述編碼以及屬性信息上傳到與所述第一節(jié)點(diǎn)相連的第一級(jí)服務(wù)器。所述系統(tǒng)還包括電子地標(biāo)節(jié)點(diǎn),所述電子地標(biāo)節(jié)點(diǎn)存儲(chǔ)其所在位置的位置信息, 并周期性的廣播所述位置信息。所述第一節(jié)點(diǎn)包括請(qǐng)求消息生成模塊,用于根據(jù)被搜索與定位的目的節(jié)點(diǎn),生成攜帶所述目的節(jié)點(diǎn) 已知編碼的請(qǐng)求消息;
消息轉(zhuǎn)發(fā)上傳模塊,用于將當(dāng)前請(qǐng)求消息上傳到與所述第一節(jié)點(diǎn)相連的第一級(jí)服 務(wù)器;第一判斷模塊,用于判斷當(dāng)前接收的請(qǐng)求消息是否超時(shí);丟棄模塊,用于如果當(dāng)前接收的請(qǐng)求消息超時(shí),丟棄所述請(qǐng)求消息;第二判斷模塊,用于判斷自身編碼是否與所述已知編碼相同。所述第一節(jié)點(diǎn)包括第三判斷模塊,用于當(dāng)所述第二判斷模塊判斷自身編碼與所述已知編碼相同,則 所述第一節(jié)點(diǎn)為目的節(jié)點(diǎn),判斷所述目的節(jié)點(diǎn)是否曾經(jīng)接收過(guò)所述請(qǐng)求消息;記錄模塊,用于當(dāng)所述第三判斷模塊判斷所述目的節(jié)點(diǎn)未接收過(guò)所述請(qǐng)求消息 時(shí),記錄接收到所述請(qǐng)求消息的時(shí)間;第四判斷模塊,用于當(dāng)所述第三判斷模塊判斷所述目的節(jié)點(diǎn)曾經(jīng)接收過(guò)所述請(qǐng)求 消息時(shí),判斷當(dāng)前接收時(shí)間距離第一次接收到請(qǐng)求消息是否小于預(yù)設(shè)時(shí)長(zhǎng);保存模塊,用于當(dāng)前接收時(shí)間距離第一次接收到請(qǐng)求消息小于預(yù)設(shè)時(shí)長(zhǎng),保存所 述請(qǐng)求消息;返回模塊,用于當(dāng)前接收時(shí)間距離第一次接收到請(qǐng)求消息不小于預(yù)設(shè)時(shí)長(zhǎng),將包 含所述當(dāng)前第一節(jié)點(diǎn)的位置信息的搜索應(yīng)答消息返回給所述請(qǐng)求消息中的所述發(fā)起搜索 的第一節(jié)點(diǎn)。所述第一節(jié)點(diǎn)還包括第五判斷模塊,用于當(dāng)所述第二判斷模塊判斷自身編碼與所述已知編碼不同,則 判斷所述第一節(jié)點(diǎn)是否曾經(jīng)接收過(guò)所述請(qǐng)求消息;所述丟棄模塊,還用于當(dāng)所述第一節(jié)點(diǎn)曾經(jīng)接收過(guò)所述請(qǐng)求消息時(shí),丟棄所述請(qǐng) 求消息;寫(xiě)入模塊,用于當(dāng)所述第一節(jié)點(diǎn)未接收過(guò)所述請(qǐng)求消息時(shí),所述第一節(jié)點(diǎn)將自身 的位置信息或網(wǎng)絡(luò)地址寫(xiě)入所述請(qǐng)求消息的錨點(diǎn)序列中;廣播模塊,用于將所述寫(xiě)入模塊得到的寫(xiě)入后的請(qǐng)求消息廣播給所述的第一的相 鄰節(jié)點(diǎn)。所述第一節(jié)點(diǎn)包括搜索應(yīng)答消息接收模塊,用于接收來(lái)自多個(gè)路徑的搜索應(yīng)答消息;評(píng)價(jià)模塊,用于根據(jù)預(yù)設(shè)標(biāo)準(zhǔn)和該多個(gè)搜索應(yīng)答消息中的錨點(diǎn)序列比較所述多個(gè) 路徑,并選擇符合所述預(yù)設(shè)標(biāo)準(zhǔn)的路徑以定位被搜索節(jié)點(diǎn)。所述第一節(jié)點(diǎn)還包括位置信息接收模塊,用于接收來(lái)自所述電子地標(biāo)節(jié)點(diǎn)的位置信息;位置信息確定模塊,用于根據(jù)接收到的位置信息,確定所述第一節(jié)點(diǎn)的新的位置 fn息;位置信息更新模塊,用于根據(jù)預(yù)設(shè)標(biāo)準(zhǔn)將所述第一節(jié)點(diǎn)原有的位置信息更新或不 更新為所述新的位置信息。所述第一級(jí)服務(wù)器包括接收模塊,用于接收所述當(dāng)前請(qǐng)求消息;本地?cái)?shù)據(jù)庫(kù)查詢模塊,用于在本地?cái)?shù)據(jù)庫(kù)中查詢與所述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄;第一級(jí)服務(wù)器集群查詢模塊,用于當(dāng)所述第一級(jí)服務(wù)器的本地?cái)?shù)據(jù)庫(kù)中沒(méi)有與所 述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄時(shí),在所述第一級(jí)服務(wù)器與其他第一級(jí)服務(wù)器組成的服 務(wù)器集群中查詢所述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄;相應(yīng)地,所述第一節(jié)點(diǎn)還包括第一獲取模塊,用于如果所述第一級(jí)服務(wù)器的本地?cái)?shù)據(jù)庫(kù)查詢模塊查詢到有與所 述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄,則獲取所述被搜索節(jié)點(diǎn)所在網(wǎng)絡(luò)的網(wǎng)關(guān)的網(wǎng)絡(luò)地址, 并觸發(fā)所述第一節(jié)點(diǎn)中用于將寫(xiě)入后的當(dāng)前請(qǐng)求消息發(fā)送至所述網(wǎng)關(guān)的發(fā)送模塊;所述第一獲取模塊,還用于如果所述第一級(jí)服務(wù)器集群查詢模塊查詢到有與所述 被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄,則獲取所述被搜索節(jié)點(diǎn)所在網(wǎng)絡(luò)的網(wǎng)關(guān)的網(wǎng)絡(luò)地址,并 觸發(fā)所述第一節(jié)點(diǎn)中用于將所述寫(xiě)入后的請(qǐng)求消息發(fā)送至所述網(wǎng)關(guān)的發(fā)送模塊。所述第一級(jí)服務(wù)器包括請(qǐng)求模塊,用于當(dāng)所述第一級(jí)服務(wù)器與其他第一級(jí)服務(wù)器組成的服務(wù)器集群中沒(méi) 有所述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄,向所述第二級(jí)服務(wù)器集群發(fā)送查詢被搜索節(jié)點(diǎn)信 息所在第一級(jí)服務(wù)器網(wǎng)絡(luò)地址的請(qǐng)求。所述第二級(jí)服務(wù)器包括接收模塊,用于接收所述請(qǐng)求模塊發(fā)送的查詢被搜索節(jié)點(diǎn)信息所在第一級(jí)服務(wù)器 網(wǎng)絡(luò)地址的請(qǐng)求;第二級(jí)服務(wù)器集群查詢模塊,用于在所述第二級(jí)服務(wù)器與其他第二級(jí)服務(wù)器組成 的服務(wù)器集群中查詢所述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄;獲取模塊,用于獲取節(jié)點(diǎn)所在的第一級(jí)服務(wù)器的網(wǎng)絡(luò)地址;相應(yīng)地,所述第一節(jié)點(diǎn)還包括第二獲取模塊,用于獲取所述被搜索節(jié)點(diǎn)所在網(wǎng)絡(luò)的網(wǎng)關(guān)的網(wǎng)絡(luò)地址,并觸發(fā)所 述第一節(jié)點(diǎn)中用于將所述寫(xiě)入后的請(qǐng)求消息發(fā)送至所述網(wǎng)關(guān)的發(fā)送模塊。所述系統(tǒng)還包括所述網(wǎng)關(guān),用于接收到所述當(dāng)前請(qǐng)求消息后,向所述網(wǎng)關(guān)的相鄰節(jié)點(diǎn)廣播所述寫(xiě) 入后的請(qǐng)求消息。所述網(wǎng)關(guān)包括判斷模塊,用于判斷該網(wǎng)關(guān)向該網(wǎng)關(guān)的相鄰節(jié)點(diǎn)廣播所述寫(xiě)入后的請(qǐng)求消息后預(yù) 設(shè)時(shí)長(zhǎng)內(nèi)是否接收到由目的節(jié)點(diǎn)發(fā)送的搜索應(yīng)答消息,如果是,觸發(fā)用于向所述發(fā)起搜索 的第一節(jié)點(diǎn)發(fā)送所述搜索應(yīng)答消息的第一發(fā)送模塊;如果否,觸發(fā)用于生成攜帶該網(wǎng)關(guān)自 身位置信息的搜索應(yīng)答消息的生成模塊,并觸發(fā)用于將所述攜帶該網(wǎng)關(guān)自身位置信息的搜 索應(yīng)答消息發(fā)送給該所述發(fā)起搜索的第一節(jié)點(diǎn)的第二發(fā)送模塊;第一發(fā)送模塊,用于向所述發(fā)起搜索的第一節(jié)點(diǎn)發(fā)送所述搜索應(yīng)答消息;生成模塊,用于生成攜帶該網(wǎng)關(guān)自身位置信息的搜索應(yīng)答消息;第二發(fā)送模塊,用于將所述攜帶該網(wǎng)關(guān)自身位置信息的搜索應(yīng)答消息發(fā)送給該所 述發(fā)起搜索的第一節(jié)點(diǎn)。本發(fā)明實(shí)施例提供的技術(shù)方案的有益效果是通過(guò)改變搜索和定位系統(tǒng)的結(jié)構(gòu),通過(guò)節(jié)點(diǎn)對(duì)接收到的搜索和定位請(qǐng)求進(jìn)行處理,并根據(jù)將該請(qǐng)求消息擴(kuò)散到物聯(lián)網(wǎng)的其他節(jié)點(diǎn)或上一級(jí)服務(wù)器,達(dá)到在本地和遠(yuǎn)程對(duì) 已知編碼節(jié)點(diǎn)的搜索和定位,使用戶可以獲得來(lái)自不同路徑的搜索應(yīng)答消息,提高了已知 編碼的節(jié)點(diǎn)定位的高效性和準(zhǔn)確性,進(jìn)而提高已知編碼的節(jié)點(diǎn)定位的系統(tǒng)的穩(wěn)定行和靈活 性。


為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實(shí)施例提供的一種物聯(lián)網(wǎng)中的節(jié)點(diǎn)搜索和定位系統(tǒng)的結(jié)構(gòu)示意圖;圖2是本發(fā)明實(shí)施例提供的節(jié)點(diǎn)搜索和定位系統(tǒng)中第一節(jié)點(diǎn)的結(jié)構(gòu)示意圖;圖3是本發(fā)明實(shí)施例提供的節(jié)點(diǎn)搜索和定位系統(tǒng)中第一節(jié)點(diǎn)的又一結(jié)構(gòu)示意圖;圖4是本發(fā)明實(shí)施例提供的節(jié)點(diǎn)搜索和定位系統(tǒng)中第二節(jié)點(diǎn)的結(jié)構(gòu)示意圖;第一 級(jí)服務(wù)器的結(jié)構(gòu)示意圖;圖5是本發(fā)明實(shí)施例提供的節(jié)點(diǎn)搜索和定位系統(tǒng)中第一級(jí)服務(wù)器的結(jié)構(gòu)示意圖;圖6是本發(fā)明實(shí)施例提供的節(jié)點(diǎn)搜索和定位系統(tǒng)中第二級(jí)服務(wù)器的結(jié)構(gòu)示意圖;圖7是本發(fā)明實(shí)施例提供的節(jié)點(diǎn)搜索和定位系統(tǒng)中網(wǎng)關(guān)的結(jié)構(gòu)示意圖;圖8是本發(fā)明實(shí)施例提供的節(jié)點(diǎn)搜索和定位系統(tǒng)中網(wǎng)關(guān)的又一結(jié)構(gòu)示意圖;圖9是本發(fā)明實(shí)施例提供的一種基于物聯(lián)網(wǎng)中的節(jié)點(diǎn)搜索和定位系統(tǒng)的方法的 流程圖;圖10是本發(fā)明實(shí)施例提供的一種基于物聯(lián)網(wǎng)中的節(jié)點(diǎn)搜索和定位系統(tǒng)的方法的 流程圖;圖11是本發(fā)明實(shí)施例提供的一種全局節(jié)點(diǎn)搜索和定位方法的流程圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方 式作進(jìn)一步地詳細(xì)描述。本發(fā)明實(shí)施例提供了一種物聯(lián)網(wǎng)中的節(jié)點(diǎn)搜索和定位系統(tǒng),參見(jiàn)圖1,該系統(tǒng)包括 多個(gè)電子地標(biāo)節(jié)點(diǎn)A,多個(gè)第一節(jié)點(diǎn)Bi,多個(gè)第二節(jié)點(diǎn)B2,多個(gè)第一級(jí)服務(wù)器C組成的第一 級(jí)服務(wù)器集群,和多個(gè)第二級(jí)服務(wù)器D組成的第二級(jí)服務(wù)器集群,自下而上分為地標(biāo)層、終 端層和數(shù)據(jù)服務(wù)層三個(gè)層次。1、該系統(tǒng)包括多個(gè)電子地標(biāo)節(jié)點(diǎn)A,布置在全局范圍內(nèi)的電子地標(biāo)節(jié)點(diǎn)A構(gòu)成地 標(biāo)層,電子地標(biāo)節(jié)點(diǎn)A存儲(chǔ)其所在位置的位置信息,并可以周期性的向其附近的電子地標(biāo) 或智能終端廣播自身的位置信息。在本發(fā)明實(shí)施例中,智能終端可以為第一節(jié)點(diǎn)Bi。電子地標(biāo)節(jié)點(diǎn)A根據(jù)其運(yùn)動(dòng)狀態(tài)的不同分為靜態(tài)電子地標(biāo)節(jié)點(diǎn)和動(dòng)態(tài)電子地標(biāo) 節(jié)點(diǎn)。其中,靜態(tài)電子地標(biāo)節(jié)點(diǎn)是根據(jù)地標(biāo)節(jié)點(diǎn)的全局部署策略布置在全局范圍內(nèi)的固 定位置,需要說(shuō)明的是,靜態(tài)電子地標(biāo)節(jié)點(diǎn)的部署策略根據(jù)實(shí)際環(huán)境和應(yīng)用需求制定。靜態(tài)
8電子地標(biāo)節(jié)點(diǎn)根據(jù)其所處的固定位置確定自身的地理位置信息(例如,經(jīng)緯度),靜態(tài)電子 地標(biāo)節(jié)點(diǎn)的位置信息在其生命周期內(nèi)恒定不變,其位置信息的精度很高。其中,動(dòng)態(tài)電子地標(biāo)按照某種運(yùn)動(dòng)方式(例如,隨機(jī)運(yùn)動(dòng)、靜止、沿預(yù)定路徑運(yùn)動(dòng) 等)移動(dòng),動(dòng)態(tài)電子地標(biāo)自身的位置信息是通過(guò)與其附近的其他電子地標(biāo)節(jié)點(diǎn)通信獲取, 相對(duì)于靜態(tài)電子地標(biāo)節(jié)點(diǎn),動(dòng)態(tài)電子地標(biāo)節(jié)點(diǎn)自身的位置信息精度較低,但是動(dòng)態(tài)電子地 標(biāo)節(jié)點(diǎn)更為靈活,當(dāng)靜態(tài)電子地標(biāo)節(jié)點(diǎn)出現(xiàn)故障失效時(shí),動(dòng)態(tài)電子地標(biāo)節(jié)點(diǎn)幫助地標(biāo)系統(tǒng) 快速恢復(fù),保障地標(biāo)系統(tǒng)的可靠性和穩(wěn)定性。物聯(lián)網(wǎng)中的節(jié)點(diǎn)通過(guò)電子地標(biāo)系統(tǒng)可以準(zhǔn)確 方便的獲取自身的位置信息。2、該系統(tǒng)包括多個(gè)第一節(jié)點(diǎn)Bl和第二節(jié)點(diǎn)B2,多個(gè)第一節(jié)點(diǎn)Bl和第二節(jié)點(diǎn)B2構(gòu) 成終端層。(1)該第一節(jié)點(diǎn)Bl可以主動(dòng)的接收和發(fā)送消息,并具有消息存儲(chǔ)和處理能力,第 一節(jié)點(diǎn)存儲(chǔ)自身的編碼、屬性信息以及通過(guò)地標(biāo)系統(tǒng)獲取的自身的位置信息。該第一節(jié)點(diǎn)Bl用于接收到來(lái)自其他第一節(jié)點(diǎn)Bl的攜帶被搜索節(jié)點(diǎn)已知編碼的請(qǐng) 求消息時(shí),判斷自身編碼是否與該已知編碼相同,如果是,則當(dāng)前第一節(jié)點(diǎn)Bl為被搜索節(jié) 點(diǎn),將包含該當(dāng)前第一節(jié)點(diǎn)Bl的位置信息的搜索應(yīng)答消息返回給該請(qǐng)求消息中發(fā)起搜索 的第一節(jié)點(diǎn)Bl ;如果否,將當(dāng)前第一節(jié)點(diǎn)Bl的位置信息寫(xiě)入該請(qǐng)求消息,并向該當(dāng)前第一 節(jié)點(diǎn)Bl的相鄰節(jié)點(diǎn)廣播寫(xiě)入后的請(qǐng)求消息;需要說(shuō)明的是,該相鄰節(jié)點(diǎn)可以為多個(gè)節(jié)點(diǎn),在消息發(fā)送節(jié)點(diǎn)通信范圍內(nèi)的所有 節(jié)點(diǎn)都是與該節(jié)點(diǎn)相鄰的節(jié)點(diǎn)。進(jìn)一步地,第一節(jié)點(diǎn)Bl還用于接收到來(lái)自其他第一節(jié)點(diǎn)的攜帶被搜索節(jié)點(diǎn)已知 編碼的請(qǐng)求消息時(shí),判斷自身編碼是否與該已知編碼相同,如果是,則當(dāng)前第一節(jié)點(diǎn)為被搜 索節(jié)點(diǎn),將包含該當(dāng)前第一節(jié)點(diǎn)的位置信息的搜索應(yīng)答消息返回給該請(qǐng)求消息中發(fā)起搜索 的第一節(jié)點(diǎn);如果否,將當(dāng)前第一節(jié)點(diǎn)的位置信息寫(xiě)入該請(qǐng)求消息,并向該當(dāng)前第一節(jié)點(diǎn)的 相鄰節(jié)點(diǎn)廣播寫(xiě)入后的當(dāng)前請(qǐng)求消息;具體地,參見(jiàn)圖2,該第一節(jié)點(diǎn)Bl包括消息轉(zhuǎn)發(fā)上傳模塊B101,用于將當(dāng)前接收到的請(qǐng)求消息上傳到與所述第一節(jié)點(diǎn)相 連的第一級(jí)服務(wù)器;第一判斷模塊B102,用于判斷當(dāng)前接收的請(qǐng)求消息是否超時(shí);丟棄模塊B103,用于如果當(dāng)前接收的請(qǐng)求消息超時(shí),丟棄該請(qǐng)求消息;第二判斷模塊B104,用于判斷自身編碼是否與該已知編碼相同。該第一節(jié)點(diǎn)Bl還包括第三判斷模塊B105,用于當(dāng)該第二判斷模塊判斷自身編碼與該已知編碼相同時(shí), 則該第一節(jié)點(diǎn)為目的節(jié)點(diǎn),判斷該目的節(jié)點(diǎn)是否曾經(jīng)接收過(guò)請(qǐng)求消息;第四判斷模塊B106,用于當(dāng)該第三判斷模塊判斷該目的節(jié)點(diǎn)曾經(jīng)接收過(guò)該請(qǐng)求消 息時(shí),判斷當(dāng)前接收時(shí)間距離第一次接收到請(qǐng)求消息是否小于預(yù)設(shè)時(shí)長(zhǎng);記錄模塊B107,用于當(dāng)該第三判斷模塊判斷該目的節(jié)點(diǎn)未接收過(guò)請(qǐng)求消息時(shí),記 錄接收到該請(qǐng)求消息的時(shí)間。保存模塊B108,用于當(dāng)前接收時(shí)間距離第一次接收到請(qǐng)求消息小于預(yù)設(shè)時(shí)長(zhǎng)時(shí), 保存該請(qǐng)求消息;
返回模塊B109,用于當(dāng)前接收時(shí)間距離第一次接收到請(qǐng)求消息不小于預(yù)設(shè)時(shí)長(zhǎng) 時(shí),將包含該當(dāng)前第一節(jié)點(diǎn)的位置信息的搜索應(yīng)答消息返回給該請(qǐng)求消息中發(fā)起搜索的第 一節(jié)點(diǎn)。具體地,該返回模塊B109可用于生成包含該當(dāng)前第一節(jié)點(diǎn)的位置信息的搜索應(yīng) 答消息,該搜索應(yīng)答消息中包含請(qǐng)求消息中錨點(diǎn)序列的反轉(zhuǎn)錨點(diǎn)序列,并將該生成的搜索 應(yīng)答消息返回給請(qǐng)求消息中發(fā)起搜索的第一節(jié)點(diǎn)。該第一節(jié)點(diǎn)Bl還包括第五判斷模塊B110,用于當(dāng)該第二判斷模塊判斷自身編碼與該已知編碼不同時(shí), 則判斷該第一節(jié)點(diǎn)是否曾經(jīng)接收過(guò)該請(qǐng)求消息;本領(lǐng)域技術(shù)人員可以獲知,當(dāng)相鄰節(jié)點(diǎn)第一次接收該請(qǐng)求消息時(shí),需要對(duì)該消息 進(jìn)行緩存,以在后續(xù)過(guò)程中判斷是否曾經(jīng)接收到過(guò)該消息,從而進(jìn)行相應(yīng)的處理。當(dāng)然,如 果節(jié)點(diǎn)不對(duì)接收到的消息進(jìn)行緩存,則可以根據(jù)消息中的錨點(diǎn)序列判斷是否丟棄該消息, 如果相鄰節(jié)點(diǎn)的位置信息與錨點(diǎn)序列中的某錨點(diǎn)重合,則該節(jié)點(diǎn)認(rèn)為曾經(jīng)接收過(guò)該消息。具體地,當(dāng)前第一節(jié)點(diǎn)的所述第五判斷模塊BllO判斷是否接收過(guò)該請(qǐng)求消息時(shí), 方法一,可通過(guò)請(qǐng)求消息中的被搜索節(jié)點(diǎn)已知編碼ID、消息源節(jié)點(diǎn)即發(fā)起搜索的第一節(jié)點(diǎn)、 消息產(chǎn)生時(shí)間戳等信息進(jìn)行判斷。如果緩存的消息中的被搜索節(jié)點(diǎn)已知編碼ID、消息源節(jié) 點(diǎn)、消息產(chǎn)生時(shí)間戳等信息與接收到的消息中的同類型信息相同,則曾經(jīng)接收到過(guò)該消息。方法二,根據(jù)消息中錨點(diǎn)序列判斷是否丟棄該消息,如果相鄰節(jié)點(diǎn)的位置信息與 錨點(diǎn)序列中的某錨點(diǎn)重合,則該節(jié)點(diǎn)認(rèn)為曾經(jīng)接收過(guò)該消息。本領(lǐng)域技術(shù)人員可以獲知,該 判斷是否接收過(guò)該請(qǐng)求消息可以有多種,在此不再贅述。需要說(shuō)明的是,如果當(dāng)前節(jié)點(diǎn)接收過(guò)該請(qǐng)求消息時(shí),說(shuō)明該消息已經(jīng)途徑了該節(jié) 點(diǎn),為了使得消息的路徑最簡(jiǎn)化,避免消息在網(wǎng)絡(luò)中的冗余擴(kuò)散,當(dāng)前節(jié)點(diǎn)丟棄該消息。該丟棄模塊B103,還用于當(dāng)該第一節(jié)點(diǎn)曾經(jīng)接收過(guò)該請(qǐng)求消息時(shí),丟棄該請(qǐng)求消 息;寫(xiě)入模塊B111,用于當(dāng)該第一節(jié)點(diǎn)未接收過(guò)該請(qǐng)求消息時(shí),該第一節(jié)點(diǎn)將自身的 位置信息或網(wǎng)絡(luò)地址寫(xiě)入請(qǐng)求消息的錨點(diǎn)序列中;廣播模塊B112,用于將所述寫(xiě)入模塊得到的寫(xiě)入后的請(qǐng)求消息廣播給所述第一節(jié) 點(diǎn)的相鄰節(jié)點(diǎn)。參見(jiàn)圖3,該第一節(jié)點(diǎn)Bl還包括搜索應(yīng)答消息接收模塊B113,用于接收來(lái)自多個(gè)路徑的搜索應(yīng)答消息;評(píng)價(jià)模塊B114,用于根據(jù)預(yù)設(shè)標(biāo)準(zhǔn)和該多個(gè)搜索應(yīng)答消息中的錨點(diǎn)序列比較該多 個(gè)路徑,并選擇符合該預(yù)設(shè)標(biāo)準(zhǔn)的路徑以定位被搜索節(jié)點(diǎn)。當(dāng)請(qǐng)求消息上傳到第一級(jí)服務(wù)器后,相應(yīng)地,所述第一節(jié)點(diǎn)還包括第一獲取模塊B115,用于如果所述第一級(jí)服務(wù)器的本地?cái)?shù)據(jù)庫(kù)查詢模塊查詢到有 與所述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄,則獲取所述被搜索節(jié)點(diǎn)所在網(wǎng)絡(luò)的網(wǎng)關(guān)的網(wǎng)絡(luò)地 址,并觸發(fā)所述第一節(jié)點(diǎn)中用于將所述當(dāng)前請(qǐng)求消息發(fā)送至所述網(wǎng)關(guān)的發(fā)送模塊;上述第一獲取模塊B115,還用于如果所述第一級(jí)服務(wù)器集群查詢模塊查詢到有 與所述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄,則獲取所述被搜索節(jié)點(diǎn)所在網(wǎng)絡(luò)的網(wǎng)關(guān)的網(wǎng)絡(luò)地 址,并觸發(fā)所述第一節(jié)點(diǎn)中用于將所述當(dāng)前請(qǐng)求消息發(fā)送至所述網(wǎng)關(guān)的發(fā)送模塊。
當(dāng)?shù)谝患?jí)服務(wù)器在本地和相應(yīng)集群中未查詢到相關(guān)記錄時(shí),相應(yīng)地,所述第一節(jié) 點(diǎn)Bl還包括第二獲取模塊B116,用于獲取該被搜索節(jié)點(diǎn)所在網(wǎng)絡(luò)的網(wǎng)關(guān)的網(wǎng)絡(luò)地址,并觸發(fā) 該第一節(jié)點(diǎn)中用于將該當(dāng)前請(qǐng)求消息發(fā)送至該網(wǎng)關(guān)的發(fā)送模塊。該第一節(jié)點(diǎn)Bl進(jìn)一步包括位置信息接收模塊B117,用于接收來(lái)自附近電子地標(biāo)節(jié)點(diǎn)A的位置信息;位置信息確定模塊B118,用于根據(jù)接收到的位置信息,確定第一節(jié)點(diǎn)的新的位置 fn息ο需要說(shuō)明的是,該接收到的位置信息可以是來(lái)自多個(gè)電子地標(biāo)節(jié)點(diǎn)A的多個(gè)位置 信息,而本領(lǐng)域技術(shù)人員可以獲知,根據(jù)接收到的位置信息確定第一節(jié)點(diǎn)的新的位置信息 的具體方法可以有多種,例如,根據(jù)接收到的位置信息中的角度參數(shù)或時(shí)間參數(shù)等確定,選 擇角度參數(shù)較小的位置信息作為新的位置信息或根據(jù)角度參數(shù)、時(shí)間參數(shù)等進(jìn)行計(jì)算,以 得到新的位置信息等,該確定方法可以由開(kāi)發(fā)人員進(jìn)行預(yù)設(shè)或二次開(kāi)發(fā),本發(fā)明實(shí)施例對(duì) 此不做具體限定。位置信息更新模塊B119,用于根據(jù)預(yù)設(shè)標(biāo)準(zhǔn)將第一節(jié)點(diǎn)原有的位置信息更新或不 更新為上述新的位置信息。其中,該預(yù)設(shè)標(biāo)準(zhǔn)可以為多種,例如,該預(yù)設(shè)標(biāo)準(zhǔn)可以為當(dāng)新的位置信息的精度 低于預(yù)設(shè)精度,則不更新第一節(jié)點(diǎn)原有的位置信息,反之,則將原有的位置信息更新為上述 新的位置信息,該預(yù)設(shè)標(biāo)準(zhǔn)可以由開(kāi)發(fā)人員進(jìn)行預(yù)設(shè)或二次開(kāi)發(fā),本發(fā)明實(shí)施例對(duì)此不做 具體限定。本領(lǐng)域技術(shù)人員可以獲知,第一節(jié)點(diǎn)Bl可以為智能電子標(biāo)簽、EPC(EleCtr0niC Product Code,產(chǎn)品電子代碼)識(shí)讀器、手機(jī)、移動(dòng)PC等。具體地,第一節(jié)點(diǎn)Bl可以作為發(fā)起搜索的第一節(jié)點(diǎn)發(fā)起一個(gè)對(duì)已知編碼物體的 搜索與定位請(qǐng)求,當(dāng)?shù)谝还?jié)點(diǎn)作為發(fā)起搜索的第一節(jié)點(diǎn)時(shí),第一節(jié)點(diǎn)可為被搜索的目的節(jié) 點(diǎn)生成一個(gè)搜索請(qǐng)求消息,搜索請(qǐng)求消息中包括該第一節(jié)點(diǎn)的編碼、目的節(jié)點(diǎn)編碼、消息生 命周期、消息生成時(shí)間戳以及消息經(jīng)過(guò)的錨點(diǎn)序列。該第一節(jié)點(diǎn)向其相鄰節(jié)點(diǎn)廣播該搜索 請(qǐng)求消息,發(fā)起對(duì)目的節(jié)點(diǎn)的本地搜索與定位過(guò)程,同時(shí)如果該第一節(jié)點(diǎn)與數(shù)據(jù)服務(wù)層的 第一級(jí)服務(wù)器相連,則該第一節(jié)點(diǎn)將該搜索請(qǐng)求消息上傳給該第一級(jí)服務(wù)器,發(fā)起對(duì)目的 節(jié)點(diǎn)的全局搜索與定位過(guò)程。(2)第二節(jié)點(diǎn)B2可用于存儲(chǔ)自身的編碼以及屬性信息,但不能主動(dòng)的接受和發(fā)送 消息,可以被附近的第一節(jié)點(diǎn)被動(dòng)的讀取(例如,被動(dòng)讀取的電子標(biāo)簽等)。當(dāng)該第一節(jié)點(diǎn) 讀取該第二節(jié)點(diǎn)B2的編碼以及屬性信息后,該第一節(jié)點(diǎn)將所述編碼以及屬性信息上傳到 與第一節(jié)點(diǎn)相連的第一級(jí)服務(wù)器。該被搜索節(jié)點(diǎn)可以為第二節(jié)點(diǎn)B2,其位置信息可以被附 近的第一節(jié)點(diǎn)被動(dòng)的讀取,其位置可通過(guò)讀取它的第一節(jié)點(diǎn)的間接的確定。參見(jiàn)圖4,該第二節(jié)點(diǎn)B2包括編碼存儲(chǔ)模塊B201,用于存儲(chǔ)自身的編碼以及屬性信息。需要說(shuō)明的是,相應(yīng)地,當(dāng)?shù)谝还?jié)點(diǎn)讀取第二節(jié)點(diǎn)的編碼以及屬性信息后,第一節(jié) 點(diǎn)將編碼以及屬性信息上傳到與第一節(jié)點(diǎn)相連的第一級(jí)服務(wù)器。(3)第一節(jié)點(diǎn)Bl和第二節(jié)點(diǎn)B2可以通過(guò)約定的通訊協(xié)議實(shí)現(xiàn)節(jié)點(diǎn)之間通信和信息共享。其中,第一節(jié)點(diǎn)可以發(fā)起一個(gè)對(duì)已知編碼物體的搜索與定位過(guò)程,也可以被搜索, 第一節(jié)點(diǎn)可以轉(zhuǎn)發(fā)或上傳搜索請(qǐng)求消息;第二節(jié)點(diǎn)不能發(fā)起一個(gè)對(duì)已知編碼物體的搜索與 定位過(guò)程,但是可以被搜索。終端層中的第一節(jié)點(diǎn)Bl和第二節(jié)點(diǎn)B2根據(jù)通信范圍構(gòu)成分布在全球范圍的相互 獨(dú)立的許許多多個(gè)Ad hoc網(wǎng)絡(luò),物聯(lián)網(wǎng)中的節(jié)點(diǎn)可以隨時(shí)加入或退出其通信范圍內(nèi)的Ad hoc網(wǎng)絡(luò)。在Ad hoc中,第一節(jié)點(diǎn)B 1可以根據(jù)系統(tǒng)的標(biāo)準(zhǔn)接口自愿的參與消息的轉(zhuǎn)發(fā)和 上傳,Ad hoc網(wǎng)絡(luò)提供盡力交付的服務(wù)。Ad hoc網(wǎng)絡(luò)中的節(jié)點(diǎn)根據(jù)搜索與定位過(guò)程中所角色的不同可分為消息源節(jié)點(diǎn)、 目的節(jié)點(diǎn),消息轉(zhuǎn)發(fā)的節(jié)點(diǎn)以及消息上傳的節(jié)點(diǎn)。其中,消息源節(jié)點(diǎn)是發(fā)起搜索與定位過(guò)程 的節(jié)點(diǎn);目的節(jié)點(diǎn)是在物聯(lián)網(wǎng)中符合用戶輸入條件的節(jié)點(diǎn),也就是基于地標(biāo)體系的物聯(lián)網(wǎng) 中節(jié)點(diǎn)實(shí)時(shí)搜索與定位系統(tǒng)所要搜索與定位的節(jié)點(diǎn);消息轉(zhuǎn)發(fā)的節(jié)點(diǎn)是在接收到其他節(jié)點(diǎn) 的廣播的節(jié)點(diǎn)搜索請(qǐng)求消息后幫助該消息在本地Ad hoc網(wǎng)絡(luò)中繼續(xù)擴(kuò)散,進(jìn)行消息轉(zhuǎn)發(fā)的 節(jié)點(diǎn);消息上傳的節(jié)點(diǎn)是在接收到其他節(jié)點(diǎn)的廣播的節(jié)點(diǎn)搜索請(qǐng)求消息后幫助該消息通過(guò) 互聯(lián)網(wǎng)在目標(biāo)Ad hoc網(wǎng)絡(luò)中繼續(xù)擴(kuò)散,具體地,就是將該消息上傳到該節(jié)點(diǎn)所屬的服務(wù)器, 在服務(wù)器中查詢被搜索節(jié)點(diǎn)的相關(guān)記錄,確定其所在的目標(biāo)Ad hoc網(wǎng)絡(luò)。在物聯(lián)網(wǎng)中,一 些節(jié)點(diǎn)既進(jìn)行消息轉(zhuǎn)發(fā)同時(shí)也進(jìn)行消息上傳。終端層的Ad hoc網(wǎng)絡(luò)實(shí)現(xiàn)了對(duì)物聯(lián)網(wǎng)中的 節(jié)點(diǎn)在Ad hoc網(wǎng)絡(luò)中的精確搜索與定位,同時(shí)幫助數(shù)據(jù)服務(wù)層收集數(shù)據(jù)信息。3、該系統(tǒng)還包括多個(gè)第一級(jí)服務(wù)器C和多個(gè)第二級(jí)服務(wù)器D,該多個(gè)第一級(jí)服務(wù) 器C和多個(gè)第二級(jí)服務(wù)器D構(gòu)成數(shù)據(jù)服務(wù)層。(1)第一級(jí)服務(wù)器C,該第一級(jí)服務(wù)器C與其部署在終端層的物體節(jié)點(diǎn)B相連,用 于存儲(chǔ)和查詢隸屬于其的物體的靜態(tài)屬性信息及偵聽(tīng)到的信息,管理終端層中其隸屬的第 一節(jié)點(diǎn)B所收集的數(shù)據(jù)信息。當(dāng)所述第一節(jié)點(diǎn)與其隸屬于的第一級(jí)服務(wù)器相連時(shí),該第一 級(jí)服務(wù)器接收來(lái)自該第一節(jié)點(diǎn)上傳的攜帶被搜索節(jié)點(diǎn)已知編碼的請(qǐng)求消息。第一級(jí)服務(wù)器 可以是云狀的分布式機(jī)群,也可以是散布在互聯(lián)網(wǎng)中的不同主機(jī),通過(guò)p2p (peer-to-peer, 對(duì)等聯(lián)網(wǎng))的形式組織起來(lái)的虛擬存儲(chǔ)網(wǎng)絡(luò)。參見(jiàn)圖5,第一級(jí)服務(wù)器C包括接收模塊Cl,用于接收該當(dāng)前請(qǐng)求消息;本地?cái)?shù)據(jù)庫(kù)查詢模塊C2,用于在本地?cái)?shù)據(jù)庫(kù)中查詢與該被搜索節(jié)點(diǎn)已知編碼相關(guān) 的記錄;第一級(jí)服務(wù)器集群查詢模塊C3,用于當(dāng)該第一級(jí)服務(wù)器的本地?cái)?shù)據(jù)庫(kù)中沒(méi)有與該 被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄時(shí),在該第一級(jí)服務(wù)器與其他第一級(jí)服務(wù)器組成的服務(wù)器 集群中查詢?cè)摫凰阉鞴?jié)點(diǎn)已知編碼相關(guān)的記錄;請(qǐng)求模塊C4,用于當(dāng)?shù)谝患?jí)服務(wù)器與其他第一級(jí)服務(wù)器組成的服務(wù)器集群中沒(méi)有 所述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄,向所述第二級(jí)服務(wù)器集群發(fā)送查詢被搜索節(jié)點(diǎn)信息 所在第一級(jí)服務(wù)器網(wǎng)絡(luò)地址的請(qǐng)求。(2)該系統(tǒng)還包括第二級(jí)服務(wù)器D,該第二級(jí)服務(wù)器D與該第一級(jí)服務(wù)器C相連, 用于管理第一級(jí)服務(wù)器C,存儲(chǔ)和查詢物體所在的第一級(jí)服務(wù)器的網(wǎng)絡(luò)地址,當(dāng)?shù)谝患?jí)服務(wù) 器C加入數(shù)據(jù)服務(wù)層時(shí)需要在第二級(jí)服務(wù)器中進(jìn)行注冊(cè),第二級(jí)服務(wù)器存儲(chǔ)物體編碼到第 一級(jí)服務(wù)器的映射關(guān)系。第二級(jí)服務(wù)器可以是云狀的分布式機(jī)群,也可以是散布在互聯(lián)網(wǎng)中的不同主機(jī),通過(guò)p2p (peer-to-peer,對(duì)等聯(lián)網(wǎng))的形式組織起來(lái)的虛擬存儲(chǔ)網(wǎng)絡(luò)。參見(jiàn)圖6,該第二級(jí)服務(wù)器D包括該第二級(jí)服務(wù)器D包括接收模塊D1,用于用于接收所述請(qǐng)求模塊發(fā)送的查詢被搜索節(jié)點(diǎn)信息所在第一級(jí) 服務(wù)器網(wǎng)絡(luò)地址的請(qǐng)求;第二級(jí)服務(wù)器集群查詢模塊D2,用于在所述第二級(jí)服務(wù)器與其他第二級(jí)服務(wù)器組 成的服務(wù)器集群中查詢所述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄;獲取模塊D3,用于獲取節(jié)點(diǎn)所在的第一級(jí)服務(wù)器的網(wǎng)絡(luò)地址。需要說(shuō)明的是,由于物聯(lián)網(wǎng)中的節(jié)點(diǎn),最初進(jìn)入物聯(lián)網(wǎng)時(shí)都會(huì)在其本地第一級(jí)服 務(wù)器中進(jìn)行注冊(cè),記錄節(jié)點(diǎn)的屬性信息和位置信息,位置信息中包括節(jié)點(diǎn)所處的Ad hoc網(wǎng) 絡(luò)的網(wǎng)關(guān)的網(wǎng)絡(luò)地址。第一級(jí)服務(wù)器在第二級(jí)服務(wù)器中進(jìn)行注冊(cè),記錄編碼到第一級(jí)服務(wù) 器的映射關(guān)系。在正常情況下,在第二級(jí)服務(wù)器所構(gòu)成的服務(wù)器集群中可以查詢到存儲(chǔ)編 碼為ID的節(jié)點(diǎn)的相關(guān)信息所在的第一級(jí)服務(wù)器的網(wǎng)絡(luò)地址。該系統(tǒng)還包括多個(gè)網(wǎng)關(guān)E,用于在目的節(jié)點(diǎn)所在的Ad hoc網(wǎng)絡(luò)中對(duì)目的節(jié)點(diǎn)進(jìn)行精確的搜索與 定位。參見(jiàn)圖7,該網(wǎng)關(guān)E包括廣播模塊E1,用于接收到該當(dāng)前請(qǐng)求消息后,向該網(wǎng)關(guān)的相鄰節(jié)點(diǎn)廣播該當(dāng)前請(qǐng) 求消息。參見(jiàn)圖8,該網(wǎng)關(guān)E還包括判斷模塊E2,用于判斷該網(wǎng)關(guān)向該網(wǎng)關(guān)的相鄰節(jié)點(diǎn)廣播該當(dāng)前請(qǐng)求消息后預(yù)設(shè)時(shí) 長(zhǎng)內(nèi)是否接收到由目的節(jié)點(diǎn)發(fā)送的搜索應(yīng)答消息,如果是,觸發(fā)用于向發(fā)起搜索的第一節(jié) 點(diǎn)發(fā)送該搜索應(yīng)答消息的第一發(fā)送模塊E3 ;如果否,觸發(fā)用于生成攜帶該網(wǎng)關(guān)自身位置信 息的搜索應(yīng)答消息的生成模塊E4,并觸發(fā)用于將所述攜帶該網(wǎng)關(guān)自身位置信息的搜索應(yīng)答 消息發(fā)送給該發(fā)起搜索的第一節(jié)點(diǎn)的第二發(fā)送模塊E5。第一發(fā)送模塊E3,用于向發(fā)起搜索的第一節(jié)點(diǎn)發(fā)送該搜索應(yīng)答消息。生成模塊E4,用于生成攜帶該網(wǎng)關(guān)自身位置信息的搜索應(yīng)答消息。第二發(fā)送模塊E5,用于將攜帶該網(wǎng)關(guān)自身位置信息的搜索應(yīng)答消息發(fā)送給該發(fā)起 搜索的第一節(jié)點(diǎn)。第一級(jí)服務(wù)器C由各個(gè)不同的組織和機(jī)構(gòu)管理和維護(hù)。第一級(jí)服務(wù)器C可以隨時(shí) 的加入或退出數(shù)據(jù)服務(wù)層,當(dāng)?shù)谝患?jí)服務(wù)器C進(jìn)入數(shù)據(jù)服務(wù)層時(shí),選擇一個(gè)第二級(jí)服務(wù)器D 進(jìn)行注冊(cè),第一級(jí)服務(wù)器觸發(fā)式的向其注冊(cè)的第二級(jí)服務(wù)器發(fā)送數(shù)據(jù)更新消息,選擇式的 向注冊(cè)的第二級(jí)服務(wù)器發(fā)送節(jié)點(diǎn)搜索與定位的請(qǐng)求消息。第二級(jí)服務(wù)器不記錄已知編碼節(jié) 點(diǎn)的相關(guān)信息,只負(fù)責(zé)記錄從哪個(gè)第一級(jí)服務(wù)器可以獲取該已知編碼節(jié)點(diǎn)的相關(guān)信息。需要說(shuō)明的是,系統(tǒng)中的節(jié)點(diǎn)可具有接收、處理并轉(zhuǎn)發(fā)請(qǐng)求消息的功能,通過(guò)與相 連的服務(wù)器的交互,可發(fā)起對(duì)已知編碼節(jié)點(diǎn)的本地搜索與定位過(guò)程和全局搜索與定位過(guò) 程,已知編碼的節(jié)點(diǎn)的本地搜索與定位過(guò)程每次引發(fā)的對(duì)已知編碼節(jié)點(diǎn)的全局搜索與定位 過(guò)程是同時(shí)進(jìn)行的,目的節(jié)點(diǎn)即接收本地搜索與定位請(qǐng)求消息,同時(shí)也接收全局的搜索與 定位請(qǐng)求消息,當(dāng)目的節(jié)點(diǎn)接收到搜索請(qǐng)求消息時(shí),沿消息中反轉(zhuǎn)的錨節(jié)點(diǎn)序列向發(fā)起搜
13索的節(jié)點(diǎn)回復(fù)搜索應(yīng)答消息,源節(jié)點(diǎn)通過(guò)比較應(yīng)答消息的產(chǎn)生時(shí)間,確定目的節(jié)點(diǎn)的最新 位置信息。本發(fā)明提供的物聯(lián)網(wǎng)中的節(jié)點(diǎn)搜索和定位系統(tǒng),通過(guò)對(duì)接收到的搜索和定位請(qǐng)求 進(jìn)行處理,并根據(jù)將該請(qǐng)求消息擴(kuò)散到物聯(lián)網(wǎng)的其他節(jié)點(diǎn)或上一級(jí)服務(wù)器,達(dá)到在本地和 全局對(duì)已知編碼節(jié)點(diǎn)的搜索和定位,使用戶可以獲得來(lái)自不同路徑的搜索應(yīng)答消息,提高 了已知編碼的節(jié)點(diǎn)定位的高效性和準(zhǔn)確性,進(jìn)而提高已知編碼的節(jié)點(diǎn)定位的系統(tǒng)的穩(wěn)定行 和靈活性。實(shí)施例2為了在物聯(lián)網(wǎng)中快速準(zhǔn)確的進(jìn)行節(jié)點(diǎn)搜索和定位,本發(fā)明實(shí)施例提供了一種基于 物聯(lián)網(wǎng)節(jié)點(diǎn)搜索和定位系統(tǒng)的節(jié)點(diǎn)搜索和定位方法,參見(jiàn)圖9,該方法包括設(shè)發(fā)起節(jié)點(diǎn)搜索與定位請(qǐng)求的第一節(jié)點(diǎn)為消息源節(jié)點(diǎn)S,其所產(chǎn)生的節(jié)點(diǎn)搜索與 定位請(qǐng)求消息為Messages,該發(fā)起搜索的第一節(jié)點(diǎn)S的相鄰節(jié)點(diǎn)為S’,其中,被搜索節(jié)點(diǎn)即 可以為第一節(jié)點(diǎn)Bi,也可以為第二節(jié)點(diǎn)B2,該各種節(jié)點(diǎn)自身都帶有已知編碼,被搜索節(jié)點(diǎn) 的已知編碼為ID,被搜索與定位的目的節(jié)點(diǎn)為D,其所處的Ad hoc網(wǎng)絡(luò)的網(wǎng)關(guān)為G。下面 以S對(duì)D的搜索與定位為例,對(duì)本發(fā)明的提出的一種已知編碼節(jié)點(diǎn)的搜索與定位方法進(jìn)行 詳細(xì)的描述。需要說(shuō)明的是,S對(duì)D的搜索與定位過(guò)程包括本地已知編碼的節(jié)點(diǎn)的搜索與 定位的過(guò)程,全局已知編碼的節(jié)點(diǎn)的搜索與定位的過(guò)程。這兩種過(guò)程是并發(fā)進(jìn)行的,參見(jiàn)圖 10,消息源節(jié)點(diǎn)S對(duì)被搜索與定位的目的節(jié)點(diǎn)D進(jìn)行的本地搜索與定位過(guò)程執(zhí)行步驟描述 如下,其中,在本地搜索與定位的過(guò)程中,會(huì)根據(jù)節(jié)點(diǎn)的條件激活對(duì)D的全局搜索與定位過(guò) 程,該方法包括1001 消息源節(jié)點(diǎn)S根據(jù)被搜索與定位的目的節(jié)點(diǎn),生成攜帶被搜索節(jié)點(diǎn)已知編 碼ID的請(qǐng)求消息MessageS ;其中,該請(qǐng)求消息MessageS用于對(duì)已知編碼節(jié)點(diǎn)進(jìn)行搜索與定位請(qǐng)求。本領(lǐng)域技 術(shù)人員可以獲知,該請(qǐng)求消息中可以包括發(fā)起搜索的實(shí)體的編碼、目的節(jié)點(diǎn)的編碼、生命 周期、消息生成時(shí)間戳和消息經(jīng)過(guò)的錨點(diǎn)。1002 向其多個(gè)相鄰節(jié)點(diǎn)S’廣播當(dāng)前的請(qǐng)求消息Messages,并判斷該廣播請(qǐng)求消 息的節(jié)點(diǎn)是否有相連的第一級(jí)服務(wù)器;如果是,則同步執(zhí)行步驟1003和步驟1004 ;如果否,執(zhí)行步驟1004 ;進(jìn)一步地,當(dāng)消息源節(jié)點(diǎn)廣播當(dāng)前的請(qǐng)求消息MessageS時(shí),可設(shè)置一預(yù)設(shè)時(shí)長(zhǎng), 如果該消息源節(jié)點(diǎn)在該預(yù)設(shè)時(shí)長(zhǎng)內(nèi)沒(méi)有接收到搜索應(yīng)答信息,則可認(rèn)為該次搜索與定位失 敗。需要說(shuō)明的是,相鄰節(jié)點(diǎn)S’可以為多個(gè)節(jié)點(diǎn),在消息發(fā)送節(jié)點(diǎn)通信范圍內(nèi)的節(jié)點(diǎn) 都是該節(jié)點(diǎn)的相鄰節(jié)點(diǎn)。1003 發(fā)起全局服務(wù)器搜索流程,結(jié)束;其中,全局服務(wù)器搜索流程是指全局搜索與定位過(guò)程,其具體流程詳見(jiàn)下述步驟 1101-1119。1004 當(dāng)相鄰節(jié)點(diǎn)S,接收該請(qǐng)求消息MessageS時(shí),根據(jù)請(qǐng)求消息MessageS中的 生命周期判斷MessageS是否超時(shí);
如果是,執(zhí)行步驟1012 ;如果否,執(zhí)行步驟1005 ;其中,判斷是否超時(shí)的具體方法是讀取請(qǐng)求消息中消息的生命周期,生命周期是 請(qǐng)求消息在網(wǎng)絡(luò)中傳播的最大跳數(shù),每經(jīng)過(guò)一個(gè)節(jié)點(diǎn),跳數(shù)減一。如果消息的生命周期等于 零,則該請(qǐng)求消息超時(shí),如果消息的生命周期大于零,則該請(qǐng)求消息未超時(shí)。該判斷超時(shí)的 目的在于避免消息在網(wǎng)絡(luò)中無(wú)限度的擴(kuò)散。1005 該相鄰節(jié)點(diǎn)判斷自身編碼是否與請(qǐng)求消息MessageS中攜帶的被搜索節(jié)點(diǎn) 已知編碼的ID相同;如果是,即該相鄰節(jié)點(diǎn)為被搜索和定位的目的節(jié)點(diǎn)D,執(zhí)行步驟1008 ;如果否,執(zhí)行步驟1006 ;1006 該相鄰節(jié)點(diǎn)S,根據(jù)請(qǐng)求消息MessageS判斷是否曾經(jīng)收到過(guò)該請(qǐng)求消息,如果是,則執(zhí)行步驟1012 ;如果否,執(zhí)行步驟1007。具體地,該相鄰節(jié)點(diǎn)S,在判斷是否接收過(guò)該請(qǐng)求消息時(shí),可通過(guò)請(qǐng)求消息中的被 搜索節(jié)點(diǎn)已知編碼ID、消息源節(jié)點(diǎn)S、消息產(chǎn)生時(shí)間戳等信息進(jìn)行判斷。如果緩存的消息中 的被搜索節(jié)點(diǎn)已知編碼ID、消息源節(jié)點(diǎn)S、消息產(chǎn)生時(shí)間戳等信息與接收到的消息中的同 類型信息相同,則曾經(jīng)接收到過(guò)該消息。如果當(dāng)前節(jié)點(diǎn)不對(duì)接收到的消息進(jìn)行緩存,可以根 據(jù)消息中錨點(diǎn)序列判斷是否丟棄該消息,如果相鄰節(jié)點(diǎn)的位置信息與錨點(diǎn)序列中的某錨點(diǎn) 重合(當(dāng)兩點(diǎn)之間的距離足夠小時(shí),認(rèn)為兩點(diǎn)重合),則該節(jié)點(diǎn)認(rèn)為曾經(jīng)接收過(guò)該消息,該 判斷方法可以有多種,本發(fā)明實(shí)施例對(duì)此不做具體限定。需要說(shuō)明的是,當(dāng)該相鄰節(jié)點(diǎn)S’接收過(guò)該請(qǐng)求消息時(shí),說(shuō)明該請(qǐng)求消息已經(jīng)途徑 了該相鄰節(jié)點(diǎn)S’,為了使得消息的路徑最簡(jiǎn)化,避免消息在網(wǎng)絡(luò)中的冗余擴(kuò)散,當(dāng)前節(jié)點(diǎn)丟 棄該請(qǐng)求消息。1007 該相鄰節(jié)點(diǎn)S’將自身的位置信息或網(wǎng)絡(luò)地址寫(xiě)入請(qǐng)求消息MessageS的錨 點(diǎn)序列中,執(zhí)行步驟1002;需要說(shuō)明的是,此時(shí)步驟1002中進(jìn)行廣播的節(jié)點(diǎn)為步驟1007中接收到請(qǐng)求消息 但不是目的節(jié)點(diǎn)的該相鄰節(jié)點(diǎn)。1008 目的節(jié)點(diǎn)D判斷自身是否是第一次接收到請(qǐng)求消息,如果是,執(zhí)行步驟1009 ;如果否,執(zhí)行步驟1010 ;1009 記錄接收到該請(qǐng)求消息的時(shí)間,并執(zhí)行步驟1011 ;1010:判斷當(dāng)前接收時(shí)間距離第一次接收到請(qǐng)求消息是否小于預(yù)設(shè)時(shí)長(zhǎng),如果是, 執(zhí)行步驟1011,如果否,執(zhí)行步驟1012 ;本領(lǐng)域技術(shù)人員可以獲知,該預(yù)設(shè)時(shí)長(zhǎng)的設(shè)置可以由設(shè)置一定時(shí)器來(lái)實(shí)現(xiàn),即通 過(guò)判斷得知該目的節(jié)點(diǎn)是第一次接收到請(qǐng)求消息,則在記錄消息時(shí)間的同時(shí),啟動(dòng)一預(yù)先 時(shí)長(zhǎng)的定時(shí)器,該定時(shí)器用于預(yù)設(shè)一段時(shí)間,如果目的節(jié)點(diǎn)在這段預(yù)設(shè)時(shí)間以外接收到請(qǐng) 求消息,則丟棄該請(qǐng)求消息。1011 目的節(jié)點(diǎn)D沿著請(qǐng)求消息中的反轉(zhuǎn)錨點(diǎn)序列向消息源節(jié)點(diǎn)回復(fù)搜索應(yīng)答消 息;
其中,該反轉(zhuǎn)錨點(diǎn)序列是指錨點(diǎn)序列的反轉(zhuǎn)序列,目的節(jié)點(diǎn)沿著該反轉(zhuǎn)錨點(diǎn)序列 中的地址信息將包含該目的節(jié)點(diǎn)位置信息的回復(fù)請(qǐng)求應(yīng)答消息回復(fù)給消息源節(jié)點(diǎn)。1012 丟棄請(qǐng)求消息 Messages。在本實(shí)施例中,上述步驟1001-步驟1012為本地已知編碼的節(jié)點(diǎn)的搜索與定位的 過(guò)程,在該過(guò)程中,消息源節(jié)點(diǎn)S向相鄰節(jié)點(diǎn)廣播請(qǐng)求消息,如果判斷該消息源節(jié)點(diǎn)有與之 相連的第一級(jí)服務(wù)器,則觸發(fā)下述步驟1101-步驟1118的全局已知編碼的節(jié)點(diǎn)的搜索與定 位的過(guò)程。參見(jiàn)圖11,下述步驟1101-步驟1118為全局已知編碼的節(jié)點(diǎn)的搜索與定位的過(guò) 程1101 當(dāng)前節(jié)點(diǎn)將當(dāng)前的請(qǐng)求消息MessageS上傳到該相連的第一級(jí)服務(wù)器;該第一級(jí)服務(wù)器是指與當(dāng)前節(jié)點(diǎn)通過(guò)有線或無(wú)線連接等方式相連的服務(wù)器,當(dāng)前 節(jié)點(diǎn)注冊(cè)并隸屬于該第一級(jí)服務(wù)器,并與該第一級(jí)服務(wù)器進(jìn)行信息交互。1102 第一級(jí)服務(wù)器接收到請(qǐng)求消息Messages,并根據(jù)請(qǐng)求消息MessageS判斷是 否曾經(jīng)收到過(guò)該請(qǐng)求消息,如果是,則執(zhí)行步驟1118 ;如果否,則執(zhí)行步驟1103 ;可選地,第一級(jí)服務(wù)器在判斷是否接收過(guò)該請(qǐng)求消息時(shí),可通過(guò)請(qǐng)求消息中的被 搜索節(jié)點(diǎn)已知編碼ID、消息源節(jié)點(diǎn)S、消息產(chǎn)生時(shí)間戳等信息進(jìn)行判斷。如果緩存的消息中 的被搜索節(jié)點(diǎn)已知編碼ID、消息源節(jié)點(diǎn)S、消息產(chǎn)生時(shí)間戳等信息與接收到的消息中的同 類型信息相同,則曾經(jīng)接收到過(guò)該消息。1103 該第一級(jí)服務(wù)器獲取被搜索節(jié)點(diǎn)所在的網(wǎng)關(guān)G的網(wǎng)絡(luò)地址,并將該網(wǎng)絡(luò)地 址發(fā)送給上傳該請(qǐng)求消息的節(jié)點(diǎn);其中,該網(wǎng)關(guān)是指第一級(jí)服務(wù)器的在終端層部署的某節(jié)點(diǎn),其作用相當(dāng)于偵聽(tīng)器。優(yōu)選地,該獲取的過(guò)程為第一級(jí)服務(wù)器在本地?cái)?shù)據(jù)庫(kù)中查詢,判斷本地?cái)?shù)據(jù)庫(kù)中 是否有與編號(hào)為ID的節(jié)點(diǎn)相關(guān)的記錄,如果有,則獲取節(jié)點(diǎn)所在Ad hoc網(wǎng)絡(luò)的網(wǎng)關(guān)G的網(wǎng) 絡(luò)地址,并將該網(wǎng)絡(luò)地址發(fā)送給上傳該請(qǐng)求消息的節(jié)點(diǎn);如果沒(méi)有,則在由多個(gè)第一級(jí)服務(wù) 器構(gòu)成的服務(wù)器集群中查詢,判斷服務(wù)器集群中是否有與編號(hào)為ID的節(jié)點(diǎn)相關(guān)的記錄,如 果有,則獲取節(jié)點(diǎn)所在Ad hoc網(wǎng)絡(luò)的網(wǎng)關(guān)G的網(wǎng)絡(luò)地址,并將該網(wǎng)絡(luò)地址發(fā)送給上傳該請(qǐng) 求消息的節(jié)點(diǎn);如果沒(méi)有,則向第二級(jí)服務(wù)器集群發(fā)送查詢被搜索節(jié)點(diǎn)信息所在第一級(jí)服 務(wù)器網(wǎng)絡(luò)地址的請(qǐng)求,第二級(jí)服務(wù)器集群獲取節(jié)點(diǎn)所在的第一級(jí)服務(wù)器的網(wǎng)絡(luò)地址,并將 該網(wǎng)絡(luò)地址發(fā)送給發(fā)起查詢的第一級(jí)服務(wù)器,該發(fā)起查詢的第一級(jí)服務(wù)器查詢?cè)摼W(wǎng)絡(luò)地址 的第一級(jí)服務(wù)器中與編號(hào)為ID的節(jié)點(diǎn)相關(guān)的記錄,獲取節(jié)點(diǎn)所在Ad hoc網(wǎng)絡(luò)的網(wǎng)關(guān)G的 網(wǎng)絡(luò)地址,并將該網(wǎng)絡(luò)地址發(fā)送給上傳該請(qǐng)求消息的節(jié)點(diǎn),該步驟也可以理解為當(dāng)前上傳 該請(qǐng)求消息的節(jié)點(diǎn)獲取所述被搜索節(jié)點(diǎn)所在網(wǎng)絡(luò)的網(wǎng)關(guān),并將請(qǐng)求消息發(fā)送到該網(wǎng)關(guān)。其 中,該查詢可以包括對(duì)服務(wù)器本地?cái)?shù)據(jù)庫(kù)的查詢和對(duì)所在服務(wù)器集群的查詢,本領(lǐng)域技術(shù) 人員可以獲知,與編碼為ID的節(jié)點(diǎn)相關(guān)的記錄為編碼為ID的節(jié)點(diǎn)的注冊(cè)信息,包括編碼 ID、編碼為ID的節(jié)點(diǎn)所在的網(wǎng)關(guān)、節(jié)點(diǎn)訪問(wèn)權(quán)限令牌等;且,第二級(jí)服務(wù)器及其服務(wù)器集群 與第一級(jí)服務(wù)器之間的交互為現(xiàn)有技術(shù)中的常用技術(shù)手段,在此不再贅述。在該步驟1103中,由于第二級(jí)服務(wù)器存儲(chǔ)物體編碼到第一級(jí)服務(wù)器的映射關(guān)系,因此,在正常情況下,在第二級(jí)服務(wù)器所構(gòu)成的服務(wù)器集群中可以查詢到編碼為ID的節(jié)點(diǎn) 所在的第一級(jí)服務(wù)器的注冊(cè)記錄。需要說(shuō)明的是,由于第一級(jí)服務(wù)器不僅用于存儲(chǔ)靜態(tài)屬性信息,也用于偵聽(tīng)服務(wù) 器覆蓋范圍內(nèi)節(jié)點(diǎn),所以被搜索節(jié)點(diǎn)所在的網(wǎng)關(guān)可以通過(guò)查詢其所在的第一級(jí)服務(wù)器得 到。1104 當(dāng)上傳該請(qǐng)求消息的節(jié)點(diǎn)接收到被搜索節(jié)點(diǎn)所在網(wǎng)關(guān)G的網(wǎng)絡(luò)地址,將請(qǐng) 求消息發(fā)送給該網(wǎng)關(guān);進(jìn)一步地,該請(qǐng)求消息攜帶該上傳該請(qǐng)求消息的節(jié)點(diǎn)的網(wǎng)絡(luò)地址。1105 網(wǎng)關(guān)G收到請(qǐng)求消息MessageS后,向其相鄰節(jié)點(diǎn)繼續(xù)廣播請(qǐng)求消息 MessageS ;1106 該相鄰節(jié)點(diǎn)接收請(qǐng)求消息Messages,并根據(jù)請(qǐng)求消息MessageS中的生命周 期判斷MessageS是否超時(shí),如果是,執(zhí)行步驟1118 ;如果否,執(zhí)行步驟1107 ;其中,判斷是否超時(shí)的具體方法是讀取請(qǐng)求消息中消息的生命周期,生命周期是 請(qǐng)求消息在網(wǎng)絡(luò)中傳播的最大跳數(shù),每經(jīng)過(guò)一個(gè)節(jié)點(diǎn),跳數(shù)減一。如果消息的生命周期等于 零,則該請(qǐng)求消息超時(shí),如果消息的生命周期大于零,則該請(qǐng)求消息未超時(shí)。該判斷超時(shí)的 目的在于避免消息在網(wǎng)絡(luò)中無(wú)限度的擴(kuò)散的過(guò)程。1107 該相鄰節(jié)點(diǎn)向其多個(gè)相鄰節(jié)點(diǎn)S’廣播當(dāng)前的請(qǐng)求消息MessageS ;需要說(shuō)明的是,當(dāng)被搜索節(jié)點(diǎn)是只能夠被其他節(jié)點(diǎn)被動(dòng)讀取的節(jié)點(diǎn)時(shí),該節(jié)點(diǎn)是 不能接收網(wǎng)關(guān)所廣播的請(qǐng)求消息的,此時(shí),需將該節(jié)點(diǎn)附近的網(wǎng)關(guān)的位置信息返回給消息 源節(jié)點(diǎn)。步驟1108-1114步驟與步驟1004-1010的原理相同,為相鄰節(jié)點(diǎn)廣播請(qǐng)求消息以 后所進(jìn)行的操作,在此不再贅述。其不同之處在于下述步驟1114 ;1114 目的節(jié)點(diǎn)生成包含該目的節(jié)點(diǎn)位置信息的反轉(zhuǎn)錨點(diǎn)序列的搜索應(yīng)答信息, 并將該搜索應(yīng)答信息發(fā)送給網(wǎng)關(guān)G ;1115 網(wǎng)關(guān)判斷在向其相鄰節(jié)點(diǎn)廣播后預(yù)設(shè)時(shí)長(zhǎng)內(nèi)是否接收到由目的節(jié)點(diǎn)發(fā)送的 搜索應(yīng)答消息,如果是,則執(zhí)行步驟1116 ;如果否,則執(zhí)行步驟1117。1116 網(wǎng)關(guān)向消息源節(jié)點(diǎn)轉(zhuǎn)發(fā)該搜索應(yīng)答消息,結(jié)束;1117:網(wǎng)關(guān)生成攜帶網(wǎng)關(guān)G的自身位置信息的搜索應(yīng)答消息,并將該消息發(fā)送給 消息源節(jié)點(diǎn)S,結(jié)束。進(jìn)一步地,當(dāng)發(fā)起搜索的節(jié)點(diǎn)即消息源節(jié)點(diǎn)接收到來(lái)自多個(gè)路徑的搜索應(yīng)答消 息,根據(jù)預(yù)設(shè)標(biāo)準(zhǔn)和該多個(gè)搜索應(yīng)答消息中的錨點(diǎn)序列比較該多個(gè)路徑,并選擇符合預(yù)設(shè) 標(biāo)準(zhǔn)的路徑以定位被搜索節(jié)點(diǎn)。本領(lǐng)域技術(shù)人員可以獲知,該預(yù)設(shè)的標(biāo)準(zhǔn)可以為該消息源 節(jié)點(diǎn)根據(jù)當(dāng)前網(wǎng)絡(luò)環(huán)境等多種因素設(shè)置,也可由用戶自行設(shè)置,本發(fā)明實(shí)施例對(duì)此不做具 體限定。1118 丟棄請(qǐng)求消息 Messages。需要說(shuō)明的是,步驟1101-步驟1118是已知編碼的節(jié)點(diǎn)在其所處Ad hoc網(wǎng)絡(luò)中的搜索與定位流程,當(dāng)編碼為ID的物品所在Ad hoc網(wǎng)絡(luò)的網(wǎng)關(guān)收到請(qǐng)求消息后,將在其所 在的Ad hoc網(wǎng)絡(luò)中發(fā)起對(duì)已知編碼節(jié)點(diǎn)的精確搜索與定位。在上述過(guò)程中,每執(zhí)行步驟1002時(shí),如果當(dāng)前節(jié)點(diǎn)有與之相連服務(wù)器,則發(fā)起一 個(gè)對(duì)編碼為ID的節(jié)點(diǎn)的全局搜索與定位過(guò)程,即步驟1101至1118,每執(zhí)行步驟1103都將 發(fā)起一個(gè)對(duì)遠(yuǎn)程的編碼為ID的節(jié)點(diǎn)的搜索定位過(guò)程。已知編碼的節(jié)點(diǎn)的本地搜索與定位 過(guò)程與每次引發(fā)的對(duì)已知編碼節(jié)點(diǎn)的全局搜索與定位過(guò)程是同時(shí)進(jìn)行的,目的節(jié)點(diǎn)既接收 本地搜索與定位請(qǐng)求消息,同時(shí)也接收全局的搜索與定位請(qǐng)求消息,目的節(jié)點(diǎn)沿著請(qǐng)求消 息中的反轉(zhuǎn)錨點(diǎn)序列向源節(jié)點(diǎn)回復(fù)搜索應(yīng)答消息。需要說(shuō)明的是,該方法實(shí)施例與系統(tǒng)實(shí)施例屬于同一構(gòu)思。本發(fā)明實(shí)施例提供的上述技術(shù)方案的全部或部分可以通過(guò)程序指令相關(guān)的硬件 來(lái)完成,所述程序可以存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)中,該存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光 盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種物聯(lián)網(wǎng)中的節(jié)點(diǎn)搜索和定位系統(tǒng),其特征在于,包括多個(gè)第一節(jié)點(diǎn),所述第一節(jié)點(diǎn)用于接收到來(lái)自其他第一節(jié)點(diǎn)的攜帶被搜索節(jié)點(diǎn)已知編碼的請(qǐng)求消息時(shí),判斷自身編碼是否與所述已知編碼相同,如果是,則當(dāng)前第一節(jié)點(diǎn)為被搜索節(jié)點(diǎn),將包含所述當(dāng)前第一節(jié)點(diǎn)的位置信息的搜索應(yīng)答消息返回給所述請(qǐng)求消息中發(fā)起搜索的第一節(jié)點(diǎn);如果否,將當(dāng)前第一節(jié)點(diǎn)的位置信息寫(xiě)入所述請(qǐng)求消息,并向所述當(dāng)前第一節(jié)點(diǎn)的相鄰節(jié)點(diǎn)廣播寫(xiě)入后的請(qǐng)求消息;第一級(jí)服務(wù)器,用于當(dāng)所述第一節(jié)點(diǎn)與所述第一級(jí)服務(wù)器相連時(shí),接收來(lái)自所述第一節(jié)點(diǎn)上傳的攜帶被搜索節(jié)點(diǎn)已知編碼的請(qǐng)求消息。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括第二級(jí)服務(wù)器,所述第二 級(jí)服務(wù)器與所述第一級(jí)服務(wù)器相連,所述第二級(jí)服務(wù)器上注冊(cè)有多個(gè)所述第一級(jí)服務(wù)器, 當(dāng)?shù)谝还?jié)點(diǎn)加入所述第一級(jí)服務(wù)器的網(wǎng)絡(luò)時(shí),所述第一節(jié)點(diǎn)向所述第一級(jí)服務(wù)器注冊(cè),所 述第一級(jí)服務(wù)器保存所述第一節(jié)點(diǎn)的信息。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 第二節(jié)點(diǎn),用于存儲(chǔ)自身的編碼以及屬性信息,相應(yīng)地,當(dāng)所述第一節(jié)點(diǎn)讀取所述第二節(jié)點(diǎn)的編碼以及屬性信息后,所述第一節(jié)點(diǎn)將 所述編碼以及屬性信息上傳到與所述第一節(jié)點(diǎn)相連的第一級(jí)服務(wù)器。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括電子地標(biāo)節(jié)點(diǎn),所述電 子地標(biāo)節(jié)點(diǎn)存儲(chǔ)其所在位置的位置信息,并周期性的廣播所述位置信息。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述第一節(jié)點(diǎn)包括請(qǐng)求消息生成模塊,用于根據(jù)被搜索與定位的目的節(jié)點(diǎn),生成攜帶所述目的節(jié)點(diǎn)已知 編碼的請(qǐng)求消息;消息轉(zhuǎn)發(fā)上傳模塊,用于將當(dāng)前請(qǐng)求消息上傳到與所述第一節(jié)點(diǎn)相連的第一級(jí)服務(wù)器;第一判斷模塊,用于判斷當(dāng)前接收的請(qǐng)求消息是否超時(shí); 丟棄模塊,用于如果當(dāng)前接收的請(qǐng)求消息超時(shí),丟棄所述請(qǐng)求消息; 第二判斷模塊,用于判斷自身編碼是否與所述已知編碼相同。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,所述第一節(jié)點(diǎn)包括第三判斷模塊,用于當(dāng)所述第二判斷模塊判斷自身編碼與所述已知編碼相同,則所述 第一節(jié)點(diǎn)為目的節(jié)點(diǎn),判斷所述目的節(jié)點(diǎn)是否曾經(jīng)接收過(guò)所述請(qǐng)求消息;記錄模塊,用于當(dāng)所述第三判斷模塊判斷所述目的節(jié)點(diǎn)未接收過(guò)所述請(qǐng)求消息時(shí),記 錄接收到所述請(qǐng)求消息的時(shí)間;第四判斷模塊,用于當(dāng)所述第三判斷模塊判斷所述目的節(jié)點(diǎn)曾經(jīng)接收過(guò)所述請(qǐng)求消息 時(shí),判斷當(dāng)前接收時(shí)間距離第一次接收到請(qǐng)求消息是否小于預(yù)設(shè)時(shí)長(zhǎng);保存模塊,用于當(dāng)前接收時(shí)間距離第一次接收到請(qǐng)求消息小于預(yù)設(shè)時(shí)長(zhǎng),保存所述請(qǐng) 求消息;返回模塊,用于當(dāng)前接收時(shí)間距離第一次接收到請(qǐng)求消息不小于預(yù)設(shè)時(shí)長(zhǎng),將包含所 述當(dāng)前第一節(jié)點(diǎn)的位置信息的搜索應(yīng)答消息返回給所述請(qǐng)求消息中的所述發(fā)起搜索的第 一節(jié)點(diǎn)。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述第一節(jié)點(diǎn)還包括第五判斷模塊,用于當(dāng)所述第二判斷模塊判斷自身編碼與所述已知編碼不同,則判斷 所述第一節(jié)點(diǎn)是否曾經(jīng)接收過(guò)所述請(qǐng)求消息;所述丟棄模塊,還用于當(dāng)所述第一節(jié)點(diǎn)曾經(jīng)接收過(guò)所述請(qǐng)求消息時(shí),丟棄所述請(qǐng)求消息; 寫(xiě)入模塊,用于當(dāng)所述第一節(jié)點(diǎn)未接收過(guò)所述請(qǐng)求消息時(shí),所述第一節(jié)點(diǎn)將自身的位 置信息或網(wǎng)絡(luò)地址寫(xiě)入所述請(qǐng)求消息的錨點(diǎn)序列中;廣播模塊,用于將所述寫(xiě)入模塊得到的寫(xiě)入后的請(qǐng)求消息廣播給所述的第一的相鄰節(jié)點(diǎn)O
8.根據(jù)權(quán)利要求1-7任一項(xiàng)所述的系統(tǒng),其特征在于,所述第一節(jié)點(diǎn)包括 搜索應(yīng)答消息接收模塊,用于接收來(lái)自多個(gè)路徑的搜索應(yīng)答消息;評(píng)價(jià)模塊,用于根據(jù)預(yù)設(shè)標(biāo)準(zhǔn)和該多個(gè)搜索應(yīng)答消息中的錨點(diǎn)序列比較所述多個(gè)路 徑,并選擇符合所述預(yù)設(shè)標(biāo)準(zhǔn)的路徑以定位被搜索節(jié)點(diǎn)。
9.根據(jù)權(quán)利要求4-7任一項(xiàng)所述的系統(tǒng),其特征在于,所述第一節(jié)點(diǎn)還包括 位置信息接收模塊,用于接收來(lái)自所述電子地標(biāo)節(jié)點(diǎn)的位置信息;位置信息確定模塊,用于根據(jù)接收到的位置信息,確定所述第一節(jié)點(diǎn)的新的位置信息;位置信息更新模塊,用于根據(jù)預(yù)設(shè)標(biāo)準(zhǔn)將所述第一節(jié)點(diǎn)原有的位置信息更新或不更新 為所述新的位置信息。
10.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述第一級(jí)服務(wù)器包括 接收模塊,用于接收所述當(dāng)前請(qǐng)求消息;本地?cái)?shù)據(jù)庫(kù)查詢模塊,用于在本地?cái)?shù)據(jù)庫(kù)中查詢與所述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄;第一級(jí)服務(wù)器集群查詢模塊,用于當(dāng)所述第一級(jí)服務(wù)器的本地?cái)?shù)據(jù)庫(kù)中沒(méi)有與所述被 搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄時(shí),在所述第一級(jí)服務(wù)器與其他第一級(jí)服務(wù)器組成的服務(wù)器 集群中查詢所述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄; 相應(yīng)地,所述第一節(jié)點(diǎn)還包括第一獲取模塊,用于如果所述第一級(jí)服務(wù)器的本地?cái)?shù)據(jù)庫(kù)查詢模塊查詢到有與所述被 搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄,則獲取所述被搜索節(jié)點(diǎn)所在網(wǎng)絡(luò)的網(wǎng)關(guān)的網(wǎng)絡(luò)地址,并觸 發(fā)所述第一節(jié)點(diǎn)中用于將寫(xiě)入后的當(dāng)前請(qǐng)求消息發(fā)送至所述網(wǎng)關(guān)的發(fā)送模塊;所述第一獲取模塊,還用于如果所述第一級(jí)服務(wù)器集群查詢模塊查詢到有與所述被搜 索節(jié)點(diǎn)已知編碼相關(guān)的記錄,則獲取所述被搜索節(jié)點(diǎn)所在網(wǎng)絡(luò)的網(wǎng)關(guān)的網(wǎng)絡(luò)地址,并觸發(fā) 所述第一節(jié)點(diǎn)中用于將所述寫(xiě)入后的請(qǐng)求消息發(fā)送至所述網(wǎng)關(guān)的發(fā)送模塊。
11.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述第一級(jí)服務(wù)器包括請(qǐng)求模塊,用于當(dāng)所述第一級(jí)服務(wù)器與其他第一級(jí)服務(wù)器組成的服務(wù)器集群中沒(méi)有所 述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄,向所述第二級(jí)服務(wù)器集群發(fā)送查詢被搜索節(jié)點(diǎn)信息所 在第一級(jí)服務(wù)器網(wǎng)絡(luò)地址的請(qǐng)求。
12.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述第二級(jí)服務(wù)器包括接收模塊,用于接收所述請(qǐng)求模塊發(fā)送的查詢被搜索節(jié)點(diǎn)信息所在第一級(jí)服務(wù)器網(wǎng)絡(luò) 地址的請(qǐng)求;第二級(jí)服務(wù)器集群查詢模塊,用于在所述第二級(jí)服務(wù)器與其他第二級(jí)服務(wù)器組成的服 務(wù)器集群中查詢所述被搜索節(jié)點(diǎn)已知編碼相關(guān)的記錄;獲取模塊,用于獲取節(jié)點(diǎn)所在的第一級(jí)服務(wù)器的網(wǎng)絡(luò)地址; 相應(yīng)地,所述第一節(jié)點(diǎn)還包括第二獲取模塊,用于獲取所述被搜索節(jié)點(diǎn)所在網(wǎng)絡(luò)的網(wǎng)關(guān)的網(wǎng)絡(luò)地址,并觸發(fā)所述第 一節(jié)點(diǎn)中用于將所述寫(xiě)入后的請(qǐng)求消息發(fā)送至所述網(wǎng)關(guān)的發(fā)送模塊。
13.根據(jù)權(quán)利要求10-12任一項(xiàng)所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括所述網(wǎng)關(guān),用于接收到所述當(dāng)前請(qǐng)求消息后,向所述網(wǎng)關(guān)的相鄰節(jié)點(diǎn)廣播所述寫(xiě)入后 的請(qǐng)求消息。
14.根據(jù)權(quán)利要求10-12任一項(xiàng)所述的系統(tǒng),其特征在于,所述網(wǎng)關(guān)包括判斷模塊,用于判斷該網(wǎng)關(guān)向該網(wǎng)關(guān)的相鄰節(jié)點(diǎn)廣播所述寫(xiě)入后的請(qǐng)求消息后預(yù)設(shè)時(shí) 長(zhǎng)內(nèi)是否接收到由目的節(jié)點(diǎn)發(fā)送的搜索應(yīng)答消息,如果是,觸發(fā)用于向所述發(fā)起搜索的第 一節(jié)點(diǎn)發(fā)送所述搜索應(yīng)答消息的第一發(fā)送模塊;如果否,觸發(fā)用于生成攜帶該網(wǎng)關(guān)自身位 置信息的搜索應(yīng)答消息的生成模塊,并觸發(fā)用于將所述攜帶該網(wǎng)關(guān)自身位置信息的搜索應(yīng) 答消息發(fā)送給該所述發(fā)起搜索的第一節(jié)點(diǎn)的第二發(fā)送模塊;第一發(fā)送模塊,用于向所述發(fā)起搜索的第一節(jié)點(diǎn)發(fā)送所述搜索應(yīng)答消息; 生成模塊,用于生成攜帶該網(wǎng)關(guān)自身位置信息的搜索應(yīng)答消息; 第二發(fā)送模塊,用于將所述攜帶該網(wǎng)關(guān)自身位置信息的搜索應(yīng)答消息發(fā)送給該所述發(fā) 起搜索的第一節(jié)點(diǎn)。
全文摘要
本發(fā)明公開(kāi)了一種物聯(lián)網(wǎng)中的節(jié)點(diǎn)搜索和定位系統(tǒng),屬于通信領(lǐng)域。系統(tǒng)包括多個(gè)第一節(jié)點(diǎn),所述第一節(jié)點(diǎn)用于接收到來(lái)自其他第一節(jié)點(diǎn)的攜帶被搜索節(jié)點(diǎn)已知編碼的請(qǐng)求消息時(shí),判斷自身編碼是否與所述已知編碼相同,如果是,則當(dāng)前第一節(jié)點(diǎn)為被搜索節(jié)點(diǎn),將包含所述當(dāng)前第一節(jié)點(diǎn)的位置信息的搜索應(yīng)答消息返回給所述請(qǐng)求消息中發(fā)起搜索的第一節(jié)點(diǎn);如果否,將當(dāng)前第一節(jié)點(diǎn)的位置信息寫(xiě)入所述請(qǐng)求消息,并向所述當(dāng)前第一節(jié)點(diǎn)的相鄰節(jié)點(diǎn)廣播寫(xiě)入后的當(dāng)前請(qǐng)求消息;第一級(jí)服務(wù)器,用于當(dāng)所述第一節(jié)點(diǎn)與所述第一級(jí)服務(wù)器相連時(shí),接收來(lái)自所述第一節(jié)點(diǎn)上傳的攜帶被搜索節(jié)點(diǎn)已知編碼的請(qǐng)求消息。
文檔編號(hào)H04L29/08GK101964808SQ201010225328
公開(kāi)日2011年2月2日 申請(qǐng)日期2010年7月9日 優(yōu)先權(quán)日2010年7月9日
發(fā)明者于海寧, 方濱興, 李愛(ài)平, 殷麗華, 賈焰, 韓偉紅 申請(qǐng)人:北京哈工大計(jì)算機(jī)網(wǎng)絡(luò)與信息安全技術(shù)研究中心;中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué);北京合天智匯信息技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
乌拉特前旗| 松滋市| 乌拉特后旗| 屏山县| 鹤庆县| 永平县| 遵义市| 福安市| 吉安县| 那坡县| 富源县| 宜川县| 闽清县| 铅山县| 东阳市| 南皮县| 贺兰县| 镇安县| 平昌县| 太仓市| 翁牛特旗| 山阴县| 十堰市| 温泉县| 肇州县| 沐川县| 明星| 东乌珠穆沁旗| 宿松县| 法库县| 涿鹿县| 葫芦岛市| 岑溪市| 思茅市| 呈贡县| 田东县| 天津市| 孝昌县| 庄浪县| 迁西县| 高尔夫|