專利名稱:物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)存儲(chǔ)和檢索方法,尤其是一種物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)高效存儲(chǔ)和快速檢索的方法。
背景技術(shù):
在物聯(lián)網(wǎng)高速發(fā)展的時(shí)代,傳感器作為物聯(lián)網(wǎng)的基礎(chǔ)采集設(shè)備,其采樣數(shù)據(jù)具有時(shí)空特性,而當(dāng)前的關(guān)系型數(shù)據(jù)庫不適合多維度的范圍查找,所以對(duì)海量傳感器采樣數(shù)據(jù)存儲(chǔ)和查詢的高效性提出了更高的要求。目前業(yè)界對(duì)于各類型數(shù)據(jù)的分布式存儲(chǔ)研究較多,但支持物聯(lián)網(wǎng)時(shí)空特性的數(shù)據(jù)存儲(chǔ)系統(tǒng)較少,并且在實(shí)際應(yīng)用中傳感器的采樣數(shù)據(jù)仍然存儲(chǔ)于關(guān)系型數(shù)據(jù)庫中,這就影響了采樣數(shù)據(jù)的提取效率。業(yè)內(nèi)基本上都采用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫或鍵值對(duì)的形式進(jìn)行分布式存儲(chǔ)。
發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的不足,提供一種物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)管理方法,該物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)存儲(chǔ)和檢索方法會(huì)將物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)的檢索速度大大提高。本發(fā)明采用的技術(shù)方案是:
本物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)管理方法基于一套分布式的存儲(chǔ)系統(tǒng),該存儲(chǔ)系統(tǒng)包括控制節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)。傳感器的采樣數(shù)據(jù)以JSON(JavaScript Object Notation,是一種輕量級(jí)的數(shù)據(jù)交換格式)的數(shù)據(jù)格式存儲(chǔ)于分布式的存儲(chǔ)系統(tǒng)中,每個(gè)傳感器在存儲(chǔ)系統(tǒng)中具有唯一的ID??刂乒?jié)點(diǎn)通過R樹存儲(chǔ)傳感器的空間信息(即地理信息)以支持空間范圍查找,傳感器和存儲(chǔ)其采樣數(shù)據(jù)的存儲(chǔ)節(jié)點(diǎn)之間的映射關(guān)系也存儲(chǔ)在控制節(jié)點(diǎn)中。存儲(chǔ)節(jié)點(diǎn)通過B+樹存儲(chǔ)采樣數(shù)據(jù)的時(shí)間索引以支持時(shí)間范圍查找,并以JSON的形式存儲(chǔ)傳感器的采樣數(shù)據(jù)。一種物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)管理方法,包括傳感器采樣數(shù)據(jù)的存儲(chǔ)方法和傳感器采樣數(shù)據(jù)的檢索方法。所述傳感器采樣數(shù)據(jù)的存儲(chǔ)方法具體包括以下步驟:
步驟101,傳感器向控制節(jié)點(diǎn)發(fā)出存儲(chǔ)請(qǐng)求;
步驟102,傳感器向控制節(jié)點(diǎn)發(fā)送自身的相關(guān)屬性信息;
步驟103,控制節(jié)點(diǎn)會(huì)生成存儲(chǔ)系統(tǒng)中該傳感器的唯一 ID號(hào),同時(shí)在傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系表中加入此條映射,并更新空間檢索數(shù)據(jù)結(jié)構(gòu);
步驟104,控制節(jié)點(diǎn)將生成的傳感器唯一 ID號(hào)以及存儲(chǔ)該傳感器采樣數(shù)據(jù)的存儲(chǔ)節(jié)點(diǎn)信息(也就是傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系)回發(fā)給傳感器,并將傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系發(fā)送至對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn);
步驟105,傳感器根據(jù)上述映射關(guān)系向?qū)?yīng)的存儲(chǔ)節(jié)點(diǎn)發(fā)送采樣數(shù)據(jù);
步驟106,存儲(chǔ)節(jié)點(diǎn)將采樣時(shí)間、采樣數(shù)據(jù)按照J(rèn)SON形式存儲(chǔ)于對(duì)應(yīng)的文件中;并且按照時(shí)間為列的方式進(jìn)行存儲(chǔ),最后更新時(shí)間索引信息。所述傳感器采樣數(shù)據(jù)的檢索方法具體包括以下步驟: 步驟201,客戶端向存儲(chǔ)系統(tǒng)的控制節(jié)點(diǎn)發(fā)起檢索請(qǐng)求,建立數(shù)據(jù)傳輸連接;
步驟202,客戶端向存儲(chǔ)系統(tǒng)的控制節(jié)點(diǎn)傳輸檢索信息,包括傳感器的ID、時(shí)間信息和空間信息(即地理信息);
步驟203,控制節(jié)點(diǎn)收到客戶端的檢索信息后判斷傳感器ID是否為空;如果傳感器的ID為空,則轉(zhuǎn)往步驟204 ;如果傳感器的ID不為空,則轉(zhuǎn)往步驟205 ;
步驟204,控制節(jié)點(diǎn)將客戶端發(fā)來的檢索信息中的地理信息范圍內(nèi)的所有傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系全部提取出來;然后轉(zhuǎn)往步驟206 ;
步驟205,控制節(jié)點(diǎn)提取該傳感器ID和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系;然后轉(zhuǎn)往步驟206 ;
步驟206,控制節(jié)點(diǎn)生成一個(gè)發(fā)往存儲(chǔ)節(jié)點(diǎn)的檢索信息集合;
步驟207,控制節(jié)點(diǎn)依據(jù)上述提取的映射關(guān)系,將檢索信息集合中的每條檢索信息發(fā)往對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn);如上述步驟202中提到的,檢索信息中包含了傳感器ID和時(shí)間信息;步驟208,存儲(chǔ)節(jié)點(diǎn)根據(jù)傳感器ID查找到對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)位置,再通過時(shí)間信息提取對(duì)應(yīng)時(shí)間點(diǎn)或時(shí)間范圍內(nèi)的全部采樣數(shù)據(jù);
步驟209,存儲(chǔ)節(jié)點(diǎn)向客戶端發(fā)送最終檢索出的采樣數(shù)據(jù)。本發(fā)明的優(yōu)點(diǎn):本發(fā)明使用了分布式存儲(chǔ)技術(shù),將空間信息(即地理信息)和時(shí)間信息進(jìn)行分開存儲(chǔ)和檢索,并將采樣數(shù)據(jù)以JSON形式存儲(chǔ)于文件中。檢索時(shí)通過R樹進(jìn)行空間范圍檢索、通過B+樹進(jìn)行時(shí)間范圍檢索,檢索效率高,并通過集群系統(tǒng)共同負(fù)載高并發(fā)的檢索請(qǐng)求。新的物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)存儲(chǔ)和檢索方法會(huì)將物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)的檢索速度大大提高,有效提高物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)的提取速度。本方法層次清晰,通用性較好,適用范圍廣,存儲(chǔ)可靠,檢索高效。有效解決了物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)多維度檢索的難題,提升了分布式文件系統(tǒng)對(duì)物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)的存儲(chǔ)和檢索性能。
圖1為本發(fā)明的存儲(chǔ)系統(tǒng)組成示意圖。圖2為本發(fā)明的采樣數(shù)據(jù)存儲(chǔ)方法流程圖。圖3為本發(fā)明的采樣數(shù)據(jù)檢索方法流程圖。
具體實(shí)施例方式下面結(jié)合具體附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。本發(fā)明基于的存儲(chǔ)系統(tǒng)如圖1所示,包括控制節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)。存儲(chǔ)節(jié)點(diǎn)分為多個(gè)組,組內(nèi)每個(gè)存儲(chǔ)節(jié)點(diǎn)所存儲(chǔ)的數(shù)據(jù)完全相同,起到冗余備份的作用??刂乒?jié)點(diǎn)具有建立傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系、管理存儲(chǔ)節(jié)點(diǎn)和與客戶端通訊等功能。存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)傳感器采樣數(shù)據(jù)和時(shí)間索引信息,并動(dòng)態(tài)更新該時(shí)間索引信息。傳感器連接控制節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn),控制節(jié)點(diǎn)與客戶端相連。在控制節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)的協(xié)調(diào)配合下,共同完成對(duì)海量時(shí)空傳感數(shù)據(jù)的管理工作,滿足對(duì)歷史數(shù)據(jù)進(jìn)行高效查詢與分析處理的需求?;谏鲜龅拇鎯?chǔ)架構(gòu),本發(fā)明提出的物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)管理方法,包括傳感器采樣數(shù)據(jù)的存儲(chǔ)方法和傳感器采樣數(shù)據(jù)的檢索方法。如圖2所示,所述傳感器采樣數(shù)據(jù)的存儲(chǔ)方法具體包括以下步驟:
步驟101,傳感器向控制節(jié)點(diǎn)發(fā)出存儲(chǔ)請(qǐng)求; 步驟102,傳感器向控制節(jié)點(diǎn)發(fā)送自身的相關(guān)屬性信息;
步驟103,控制節(jié)點(diǎn)會(huì)生成存儲(chǔ)系統(tǒng)中該傳感器的唯一 ID號(hào),同時(shí)在傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系表中加入此條映射,并更新空間檢索數(shù)據(jù)結(jié)構(gòu);
步驟104,控制節(jié)點(diǎn)將生成的傳感器唯一 ID號(hào)以及存儲(chǔ)該傳感器采樣數(shù)據(jù)的存儲(chǔ)節(jié)點(diǎn)信息(也就是傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系)回發(fā)給傳感器,并將傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系發(fā)送至對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn);
步驟105,傳感器根據(jù)上述映射關(guān)系向?qū)?yīng)的存儲(chǔ)節(jié)點(diǎn)發(fā)送采樣數(shù)據(jù);
步驟106,存儲(chǔ)節(jié)點(diǎn)將采樣時(shí)間、采樣數(shù)據(jù)按照J(rèn)SON形式存儲(chǔ)于對(duì)應(yīng)的文件中;并且按照時(shí)間為列的方式進(jìn)行存儲(chǔ),最后更新時(shí)間索引信息。如圖3所示,所述傳感器采樣數(shù)據(jù)的檢索方法具體包括以下步驟:
步驟201,客戶端向存儲(chǔ)系統(tǒng)的控制節(jié)點(diǎn)發(fā)起檢索請(qǐng)求,建立數(shù)據(jù)傳輸連接;
步驟202,客戶端向存儲(chǔ)系統(tǒng)的控制節(jié)點(diǎn)傳輸檢索信息,包括傳感器的ID、時(shí)間信息和空間信息(即地理信息);
步驟203,控制節(jié)點(diǎn)收到客戶端的檢索信息后判斷傳感器ID是否為空;如果傳感器的ID為空,則轉(zhuǎn)往步驟204 ;如果傳感器的ID不為空,則轉(zhuǎn)往步驟205 ;
步驟204,控制節(jié)點(diǎn)將客戶端發(fā)來的檢索信息中的地理信息范圍內(nèi)的所有傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系全部提取出來;然后轉(zhuǎn)往步驟206 ;
步驟205,控制節(jié)點(diǎn)提取該傳感器ID和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系;然后轉(zhuǎn)往步驟206 ;
步驟206,控制節(jié)點(diǎn)生成一個(gè)發(fā)往存儲(chǔ)節(jié)點(diǎn)的檢索信息集合;
步驟207,控制節(jié)點(diǎn)依據(jù)上述提取的映射關(guān)系,將檢索信息集合中的每條檢索信息發(fā)往對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn);如上述步驟202中提到的,檢索信息中包含了傳感器ID和時(shí)間信息;步驟208,存儲(chǔ)節(jié)點(diǎn)根據(jù)傳感器ID查找到對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)位置,再通過時(shí)間信息提取對(duì)應(yīng)時(shí)間點(diǎn)或時(shí)間范圍內(nèi)的全部采樣數(shù)據(jù);
步驟209,存儲(chǔ)節(jié)點(diǎn)向客戶端發(fā)送最終檢索出的采樣數(shù)據(jù)。
權(quán)利要求
1.一種物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)管理方法,其特征在于:包括傳感器采樣數(shù)據(jù)的存儲(chǔ)方法和傳感器采樣數(shù)據(jù)的檢索方法; 所述傳感器采樣數(shù)據(jù)的存儲(chǔ)方法具體包括以下步驟: 步驟101,傳感器向控制節(jié)點(diǎn)發(fā)出存儲(chǔ)請(qǐng)求; 步驟102,傳感器向控制節(jié)點(diǎn)發(fā)送自身的相關(guān)屬性信息; 步驟103,控制節(jié)點(diǎn)會(huì)生成存儲(chǔ)系統(tǒng)中該傳感器的唯一 ID號(hào),同時(shí)在傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系表中加入此條映射,并更新空間檢索數(shù)據(jù)結(jié)構(gòu); 步驟104,控制節(jié)點(diǎn)將生成的傳感器唯一 ID號(hào)以及存儲(chǔ)該傳感器采樣數(shù)據(jù)的存儲(chǔ)節(jié)點(diǎn)信息回發(fā)給傳感器,并將傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系發(fā)送至對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn); 步驟105,傳感器根據(jù)上述映射關(guān)系向?qū)?yīng)的存儲(chǔ)節(jié)點(diǎn)發(fā)送采樣數(shù)據(jù); 步驟106,存儲(chǔ)節(jié)點(diǎn)將采樣時(shí)間、采樣數(shù)據(jù)按照J(rèn)SON形式存儲(chǔ)于對(duì)應(yīng)的文件中;并且按照時(shí)間為列的方式進(jìn)行存儲(chǔ),最后更新時(shí)間索引信息; 所述傳感器采樣數(shù)據(jù)的檢索方法具體包括以下步驟: 步驟201,客戶端向存儲(chǔ)系統(tǒng)的控制節(jié)點(diǎn)發(fā)起檢索請(qǐng)求,建立數(shù)據(jù)傳輸連接; 步驟202,客戶端向存儲(chǔ)系統(tǒng)的控制節(jié)點(diǎn)傳輸檢索信息,包括傳感器的ID、時(shí)間信息和空間信息; 步驟203,控制節(jié)點(diǎn)收到客戶端的檢索信息后判斷傳感器ID是否為空;如果傳感器的ID為空,則轉(zhuǎn)往步驟204 ;如果傳感器的ID不為空,則轉(zhuǎn)往步驟205 ; 步驟204,控制節(jié)點(diǎn)將客戶端發(fā)來的檢索信息中的地理信息范圍內(nèi)的所有傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系全部提取出來;然后轉(zhuǎn)往步驟206 ; 步驟205,控制節(jié)點(diǎn)提取該傳感器ID和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系;然后轉(zhuǎn)往步驟206 ; 步驟206,控制節(jié)點(diǎn)生成一個(gè)發(fā)往存儲(chǔ)節(jié)點(diǎn)的檢索信息集合; 步驟207,控制節(jié)點(diǎn)依據(jù)上述提取的映射關(guān)系,將檢索信息集合中的每條檢索信息發(fā)往對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn); 步驟208,存儲(chǔ)節(jié)點(diǎn)根據(jù)傳感器ID查找到對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)位置,再通過時(shí)間信息提取對(duì)應(yīng)時(shí)間點(diǎn)或時(shí)間范圍內(nèi)的全部采樣數(shù)據(jù); 步驟209,存儲(chǔ)節(jié)點(diǎn)向客戶端發(fā)送最終檢索出的采樣數(shù)據(jù)。
全文摘要
本發(fā)明提供一種物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)管理方法,包括傳感器采樣數(shù)據(jù)的存儲(chǔ)方法和傳感器采樣數(shù)據(jù)的檢索方法。采樣數(shù)據(jù)的存儲(chǔ)方法包括傳感器發(fā)出存儲(chǔ)請(qǐng)求;控制節(jié)點(diǎn)生成存儲(chǔ)系統(tǒng)中該傳感器的唯一ID號(hào),建立傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系;傳感器根據(jù)映射關(guān)系向?qū)?yīng)的存儲(chǔ)節(jié)點(diǎn)發(fā)送采樣數(shù)據(jù);存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)采樣時(shí)間、采樣數(shù)據(jù)等。采樣數(shù)據(jù)的檢索方法包括客戶端向控制節(jié)點(diǎn)傳輸檢索信息;控制節(jié)點(diǎn)收到檢索信息后判斷傳感器ID是否為空;控制節(jié)點(diǎn)提取傳感器和存儲(chǔ)節(jié)點(diǎn)的映射關(guān)系;控制節(jié)點(diǎn)依據(jù)提取的映射關(guān)系,將檢索信息發(fā)往對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn);存儲(chǔ)節(jié)點(diǎn)通過時(shí)間信息提取對(duì)應(yīng)時(shí)間點(diǎn)或時(shí)間范圍內(nèi)的采樣數(shù)據(jù)等。本方法可提升物聯(lián)網(wǎng)時(shí)空數(shù)據(jù)的存儲(chǔ)和檢索性能。
文檔編號(hào)H04L29/08GK103198126SQ20131012193
公開日2013年7月10日 申請(qǐng)日期2013年4月9日 優(yōu)先權(quán)日2013年4月9日
發(fā)明者趙以民, 陳曙東, 陳嵐 申請(qǐng)人:江蘇物聯(lián)網(wǎng)研究發(fā)展中心