999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向物聯網的傳感器實體搜索系統

2015-12-20 06:53:28楊成龍李德識
計算機工程與設計 2015年10期
關鍵詞:搜索引擎排序用戶

楊成龍,李德識,2

(1.武漢大學 電子信息學院,湖北 武漢430072;2.武漢大學 深圳研究院,廣東 深圳518000)

0 引 言

隨著物聯網的快速發展和不斷普及,海量的傳感器實體被連接到物聯網中[1]。如何從數量眾多的傳感器實體中快速找到滿足用戶需求的傳感器實體并友好展示給用戶成為巨大難題。傳統通用搜索引擎對此能夠提供部分傳感器實體的檢索服務,但是由于傳統通用搜索引擎在內容覆蓋上的全面性,搜索得到的結果中會包含許多無關的信息,干擾用戶的搜索。此外,傳統通用搜索引擎具有商業性,它們一般都具有獨特的排序算法,比如Google的PageRank排序算法和百度的競價排序算法等,這些算法不能夠考慮到傳感器實體的特殊屬性,例如時空性。

為此,本文設計并實現了面向物聯網的傳感器實體搜索系統。該系統由信息采集、信息處理、檢索服務和結果展示4個部分組成。針對傳統通用搜索引擎內容上的部分無關性,該系統設計了一種網絡爬蟲在互聯網上有針對性地抓取傳感器實體資源。通過對網頁進行多個傳感器實體屬性的正則匹配,只有匹配成功的網頁才被判定為傳感器實體資源,使系統減少了一些無關信息;針對傳統通用搜索引擎排序算法上的不足,本文結合Lucene評分機制[2]和傳感器實體的地理位置屬性,提出一種基于距離的傳感器排序算法,提高系統的檢索效率。此外,該系統結合Google Maps API[3]將排序后的檢索結果以標記的形式直觀地顯示在Google地圖上,提升了系統的用戶體驗。

1 系統總體設計

1.1 系統架構

本系統遵循瀏覽器/服務器 (browser/server,BS)體系結構設計,主要由瀏覽器、Web 服務器、Google Maps服務器以及索引數據庫等組成。系統的體系結構如圖1所示。

圖1 系統體系結構

(1)瀏覽器:用戶可以在網頁上輸入關鍵詞查詢傳感器實體資源,服務器返回的結果會結合Google Maps一起呈現給用戶。當用戶點擊地圖上的傳感器標記時,瀏覽器會顯示包含傳感器實時信息的地圖信息。

(2)Google Maps服務器:用戶無需建立自己的地圖信息服務器,通過Google Maps服務器從Google Maps地理信息存儲數據庫中直接獲取地圖信息。

(3)Web服務器:接收到用戶的請求后,對其解析,并到索引數據庫中進行匹配,提取匹配的數據返回給用戶。

(4)索引數據庫:以倒排索引的形式存儲從互聯網上抓取得到的傳感器實體資源。本系統使用構建于Lucene[4]之上的Compass[5]搜索引擎框架創建傳感器實體資源的索引數據庫。

1.2 系統功能

本系統主要由信息采集、信息處理、檢索服務和結果展示4個功能模塊組成。系統的功能結構如圖2所示。

信息采集模塊:對互聯網上的傳感器實體資源進行抓取,并將抓取到的傳感器實體信息 (名稱、數據、地理位置和描述等)存儲到原始數據庫中。

信息處理模塊:對本地存儲的傳感器實體信息進行預處理 (中文分詞、索引建立等),得到傳感器實體資源的索引數據庫。

圖2 系統功能結構

檢索服務模塊:接收用戶的查詢,在索引數據庫中進行檢索,將結果經排序返回給查詢用戶。本文設計一種基于距離的傳感器排序算法。

結果展示模塊:將檢索得到的傳感器的集合結合Google地圖一同呈現給用戶。

2 基于距離的傳感器排序算法

傳統通用搜索引擎采用的排序算法主要有詞頻位置加權排序法、Direct Hit算法、PageRank 算法[6]等。但是,這些算法主要從網頁內容或者超鏈接等方面分析,不適合于傳感器實體資源的搜索。一般情況下,傳感器具有明確的地理位置特征,并且通常是以經緯度的形式表示。因此,本文提出一種基于距離的傳感器排序算法。根據兩個傳感器的地理位置可以計算出它們之間的距離。當存在多個傳感器時,就可以對多個傳感器之間的距離進行排序。

利用經緯度計算A、B兩點之間的距離如式 (1)所示

式中:S——A、B兩點的距離,單位為千米,lat1——A 點經緯度,lat2——B點經緯度,dLat——A、B 兩點緯度差,dLng——A、B兩點經度差,R——地球半徑。R 的近似值是6371km。

當對多個傳感器進行距離排序時,需要選取其中的某一個特定的傳感器作為參照物。按照檢索系統的準確性和快速性要求,要選取的參照物即是與用戶查詢詞相關度最高的傳感器實體。Lucene評分機制組合使用信息檢索的向量空間模型和布爾模型,并綜合考慮詞頻 (tf(t in d))、倒排詞頻 (idf2(t))、域或文檔的加權boost(t.field in d)、域的歸一化值lengthNorm(t.field in d)、協調因子coord(q,d)和每個查詢的歸一化值queryNorm(q)等因素,計算得出每一個查詢詞匹配每一個文檔的得分[7]。Lucene的評分計算如式 (2)所示

設想利用Lucene的評分機制將用戶的查詢詞匹配每一個傳感器實體資源,那么將得到一個傳感器實體資源得分的集合。每一個得分代表每個傳感器實體與用戶查詢詞匹配的相關程度,因此可以將Lucene評分最高的傳感器作為參照物。

基于距離的傳感器排序算法如圖3 所示,具體步驟如下:

步驟1 根據用戶輸入的查詢關鍵詞,按照Lucene的評分機制,得到一個初步的排序結果集;

步驟2 選取初步排序結果集的第一個傳感器作為參照物;

步驟3 取結果集中下一個傳感器,計算它與參照物的距離;

步驟4 為傳感器和距離建立映射關系;

步驟5 重復步驟3和步驟4直至結果集中所有傳感器被全部取完;

步驟6 對所有的距離從小到大進行排序;

步驟7 根據傳感器和距離的映射關系,得到按照距離排序后的傳感器集合。

圖3 基于距離的傳感器排序算法

3 系統具體實現

3.1 信息采集

信息采集模塊是整個系統的數據基礎,系統的數據主要包括各種傳感器 (如溫度傳感器、濕度傳感器、圖像傳感器等)的名稱、數值、地理位置信息和描述信息等數據。本系統的數據是運用多線程技術創建多個網絡爬蟲在互聯網上有針對性地抓取傳感器實體資源得到的。

本系統需要大量的傳感器數據作為系統的數據來源。當采用一般的單線程技術時,系統僅僅只創建了一個網絡爬蟲對互聯網上的傳感器實體資源進行抓取。如果在抓取當前網頁過程中發生數據傳輸緩慢或者網絡異常的情況,網絡爬蟲需要一直等待直至當前網頁被完全抓取完畢后才能去抓取下一個網頁。運用多線程技術則不同,它可以創建多個網絡爬蟲同時抓取不同的網頁,大大減少了系統信息采集所消耗的時間,有效提高了系統的性能。

傳統通用搜索引擎為了保證自身資源的全面性,它們的網絡爬蟲往往會抓取互聯網上出現的文本、音頻、視頻等任何可以抓取的資源。而本系統設計的網絡爬蟲抓取的策略是:先通過人工干預的方式得到一些與傳感器相關的物聯網開放平臺網站的統一資源定位符 (uniform resource locator,URL)集合,并將其作為網絡爬蟲的起始抓取地址,然后按照寬度優先遍歷 (breadth first search,BFS)的策略抓取和分析每一個URL對應的頁面。其中,遍歷過程遵循一個原則:對每一個網頁進行內容解析,采用傳感器實體屬性進行正則匹配的方法判定該網頁是否代表一個傳感器實體。傳感器實體的屬性包括名稱、數據、地理位置和描述等。當判定為真時,則對該傳感器實體進行結構化信息提取,并通過Java數據庫連接技術 (Java database connectivity,JDBC)將提取的信息存儲到數據庫中;否則,丟棄此URL。

3.2 信息處理

信息處理模塊負責對本地存儲的傳感器實體信息進行預處理,得到傳感器實體資源的索引數據庫。它由中文分詞和索引建立兩個子模塊組成。中文分詞用于對信息采集模塊抓取的信息按照中文詞典進行分詞;索引建立則是以倒排索引的形式組織存放的數據文件,從而提高檢索的速度。

在實現中,中文分詞和索引建立兩個部分都是通過搜索引擎框架Compass來實現的。利用Compass實現的方式一般有配置文件實現和代碼實現兩種[8]。本系統采用的是代碼實現。中文分詞子模塊將庖丁解牛分詞器集成到Compass上,索引建立子模塊則是使用注解的方式為傳感器實體類建立索引。

3.3 檢索服務

檢索服務模塊主要是為用戶提供傳感器實體資源的查詢檢索的功能。檢索的過程類似于傳統通用搜索引擎:首先用戶輸入查詢條件,經過中文分詞,轉換為關鍵詞;接著在索引數據庫中尋找于關鍵詞匹配的傳感器實體;然后通過對檢索結果進行排序。最后,將排在最前面的傳感器實體顯示給用戶。與傳統通用搜索引擎不同的是,本系統采用的是結合Lucene評分機制和地理位置信息設計的一種基于距離的傳感器排序算法。該算法主要通過Java語言的集合類List和Map實現,實現的關鍵代碼如下:

3.4 結果展示

傳統通用搜索引擎通常以一種靜態羅列的形式展示檢索結果。為提高動態性,本系統利用Google Maps API將檢索結果以標記的形式直觀地顯示在Google地圖上[9]。同時,為提高系統的實時性,本系統利用AJAX 的異步刷新機制[10],為用戶提供一個可以獲取實時數據的接口。該模塊主要由實體定位、動態展示和實時更新3個子模塊組成。

(1)實體定位

利用Google Maps API中標記類Marker創建一個標記對象marker,結合傳感器實體的經緯度坐標,通過對標記所在地圖、標記所在位置、標記樣式和標記出現的動畫效果等參數的設置實現在Google地圖上定位傳感器實體的功能。

(2)動態展示

利用Google Maps API中信息框類InfoWindow創建一個信息框對象infoWindow。該對象有content和position兩個參數需要設置。content是由從服務器端獲取的傳感器數據和一些HTML標簽拼接而成的網頁源代碼,position是信息框顯示的位置。由于信息框是通過點擊事件觸發生成的,故將信息框與實體定位子模塊的標記進行綁定。一旦點擊了標記,該標記對應的傳感器實體的信息框將會立即彈出。

(3)實時更新

客戶端利用AJAX 技術通過創建一個XMLHttpRequest對象XHR 向Web服務器發出異步請求,服務器根據URL重新抓取傳感器實體的實時數據,并將實時數據通過XHR 對象的responseText或者responseXML 屬性返回給客戶端,然后用JavaScript來操作DOM 以更新信息框中傳感器的實時數據。

4 系統測試

本實驗在JDK1.6、Tomcat6.0的軟件平臺和Pentium Dual-Core CPU E5300 (2.6GHz)、2GB 內存的 硬件平臺下,針對不同搜索引擎 (Google、本系統),選取了出現頻率相對較高的關鍵詞進行檢索,并且選取了各自前2 頁(每頁顯示10條,共20條結果)的檢索結果作比較。不同搜索引擎檢索結果比較見表1,其中,有效數是通過主觀判斷的方式認為是傳感器實體資源的數目。

表1 不同搜索引擎檢索結果比較

從表1可以看出,Google對傳感器實體資源的檢索結果的準確率大部分只有15%~40%,而本系統基本達到了80%以上的準確率。同時,Google的檢索結果都超過了20條。這是因為Google返回的結果集中包含了關于傳感器的商品買賣信息和各式各樣的推廣信息,而本系統的檢索結果等于甚至少于20條,這是因為基于對原始信息的抓取控制,保證了返回的每條結果都盡量是傳感器實體資源,具有較高的結果準確性。

檢索關鍵詞 “temperature”的結果如圖4 所示,每頁顯示10條結果,按照距離從小到大排序。結果上方顯示檢索的結果數量,左側以標記的形式在Google地圖上顯示所有的傳感器實體資源,當鼠標移動到結果條目上時左側地圖上的標記將會高亮顯示。點擊左側地圖上的標記則會彈出一個信息框顯示該標記對應的傳感器實體的名稱、數據、地理位置和描述等信息。在彈出的信息框中有一個名為 “Get Realtime Value”的接口,點擊此接口即可得到該傳感器的實時數據而不用刷新整個網頁,有效提升了用戶的體驗。

5 結束語

圖4 檢索結果

本文針對傳統通用搜索引擎對物聯網中傳感器實體資源檢索困難的問題,設計并實現了面向物聯網的傳感器實體搜索系統,具體實現了信息采集、信息處理、檢索服務和結果展示等功能模塊。系統采用對一個網頁進行多個傳感器實體屬性的正則匹配的方法,判定一個網頁是否代表一個傳感器實體;結合Lucene評分機制和傳感器實體的地理位置屬性,提出一種基于距離的傳感器排序算法;利用Google Maps API和AJAX 技術,分別實現傳感器實體信息的動態展示和數據的實時更新。實驗結果表明,相對于傳統通用搜索引擎,本系統提高了傳感器實體檢索的準確率,同時具有較好的用戶體驗。隨著物聯網的快速發展和不斷普及,越來越多的傳感器實體將被連接到物聯網中,物聯網中不同傳感器之間協同工作的要求也隨之越來越多,本系統將具有十分廣闊的應用前景。

[1]Evans Dave.The internet of things how the next evolution of the internet is changing everything [R].CISCO White Paper,2011.

[2]WU Jieming,JI Dandan,HAN Yunhui.Research and design of vertical search engine for DCI based on Web [J].Computer Engineering and Design,2013,34 (4):1481-1487 (in Chinese).[吳潔明,冀單單,韓云輝.基于Web的DCI垂直搜索引擎的研究與設計 [J].計算機工程與設計,2013,34(4):1481-1487.]

[3]Shinji Kobayashi,Tetsushi Fujioka,Yuji Tanaka,et al.A geographical information system using the Google Map API for guidance to referral hospitals[J].Journal of Medical Systems,2010,34 (6):1157-1160.

[4]ZHANG Jun,LI Luqun,ZHOU Rong.Research and application of search engine based on Lucene [J].Computer Technology and Development,2013,23 (6):230-232 (in Chinese).[張俊,李魯群,周熔.基于Lucene的搜索引擎的研究與應用[J].計算機技術與發展,2013,23 (6):230-232.]

[5]TAO Zhenwei,ZHOU Yucheng.Design and implementation of advanced search system based on the Compass framework[J].Journal of Chongqing University of Technology (Natural Science),2011,25 (8):66-70 (in Chinese). [陶鎮威,周雨程.基于Compass框架的高級搜索系統的設計與實現 [J].重慶理工大學學報 (自然科學版),2011,25 (8):66-70.]

[6]ZHANG Xian,ZHOU Ya.Improvement of an algorithm for ranking pages based on Lucene[J].Computer System & Application,2009,18 (2):155-158 (in Chinese). [張賢,周婭.基于Lucene網頁排序算法的改進 [J].計算機系統應用,2009,18 (2):155-158.]

[7]RUAN Shufen.Research and improvement of full-text retrieval sorting algorithm based on Lucene[J].Journal of Wuhan Textile University,2013,26 (6):84-87 (in Chinese). [阮 曙芬.基于Lucene的全文搜索排序算法的研究與改進 [J].武漢紡織大學學報,2013,26 (6):84-87.]

[8]LEI Qiang,LI Xueshan.Implementation for site search engine of railway science and research management information system[J].Railway Computer Application,2012,21 (3):26-29(in Chinese).[雷強,李雪山.基于Compass的鐵路科研管理信息系統站內搜索引擎的實現 [J].鐵路計算機應用,2012,21 (3):26-29.]

[9]FU Weiping,GUO Jianwen,LIU Peng.A vectorization Web platform based on Google Maps API[J].Remote Sensing Technology and Application,2011,26 (6):863-867 (in Chinese). [付衛平,郭建文,劉鵬.基于Google Maps API的矢量化Web平臺[J].遙感技術與應用,2011,26 (6):863-867.]

[10]TANG Guiwen,TAN Yantao.Research on development of Web GIS based on AJAX and Google Maps API[J].Geomatics &Spatial Information Technology,2013,36 (8):8-11(in Chinese).[唐桂文,譚衍濤.基于AJAX 和Google Maps API的Web GIS開發研究 [J].測繪與空間地理信息,2013,36 (8):8-11.]

猜你喜歡
搜索引擎排序用戶
排序不等式
恐怖排序
節日排序
刻舟求劍
兒童繪本(2018年5期)2018-04-12 16:45:32
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
網絡搜索引擎亟待規范
中國衛生(2015年12期)2015-11-10 05:13:38
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
基于Nutch的醫療搜索引擎的研究與開發
主站蜘蛛池模板: 午夜日韩久久影院| 亚洲国产中文精品va在线播放 | 91在线免费公开视频| 91年精品国产福利线观看久久| 国产福利小视频高清在线观看| 国产在线视频导航| 激情五月婷婷综合网| 伊人久久大线影院首页| 国产真实乱了在线播放| 国产精品无码AV片在线观看播放| 久久精品中文字幕免费| 亚洲av无码成人专区| 成人在线天堂| 亚洲国产成人久久精品软件| 2022国产无码在线| 青青久久91| 国产精品播放| 国产乱子伦精品视频| 久久中文字幕不卡一二区| 日本亚洲欧美在线| 毛片最新网址| 5388国产亚洲欧美在线观看| 久久人妻xunleige无码| 日韩国产 在线| 国产三级韩国三级理| 日韩欧美国产三级| 白浆视频在线观看| 国产女人在线视频| 国产在线观看一区精品| 一级香蕉人体视频| 99精品国产电影| 久久香蕉国产线| 直接黄91麻豆网站| 一区二区午夜| 亚洲色大成网站www国产| 黄色网页在线观看| 欧美成人精品在线| 这里只有精品在线| 国产精品手机视频一区二区| 欧美视频免费一区二区三区| 成人在线欧美| 精品中文字幕一区在线| 97在线碰| 激情亚洲天堂| 日韩精品一区二区深田咏美| 免费a级毛片18以上观看精品| 91九色最新地址| 天天干天天色综合网| 97视频在线精品国自产拍| 久久网欧美| 国产精品99在线观看| 色噜噜在线观看| 欧美激情成人网| 亚洲a级毛片| 亚洲精品无码抽插日韩| 色香蕉影院| 亚洲黄色网站视频| 日本手机在线视频| 亚洲中文字幕无码爆乳| 久久公开视频| 亚洲第七页| 亚洲日本韩在线观看| 18禁黄无遮挡网站| 国产麻豆精品在线观看| 久久9966精品国产免费| 久久综合亚洲鲁鲁九月天| 日韩无码黄色网站| 国产91导航| 精品自窥自偷在线看| 91综合色区亚洲熟妇p| 国产经典免费播放视频| 老司机午夜精品视频你懂的| 3344在线观看无码| 欧美国产日韩在线观看| 亚洲婷婷六月| 黄色网在线| 国产精品美人久久久久久AV| 色综合中文| 中文字幕自拍偷拍| 亚洲成A人V欧美综合| 成人午夜免费观看| 97超碰精品成人国产|