許江永
摘 要:隨著無(wú)線傳感網(wǎng)應(yīng)用規(guī)模的日益擴(kuò)大,統(tǒng)一的傳感網(wǎng)傳感節(jié)點(diǎn)標(biāo)識(shí)符能夠保證各異構(gòu)網(wǎng)絡(luò)的互聯(lián)互通,從而對(duì)不同系統(tǒng)的感知信息進(jìn)行共享和管理;文中結(jié)合我國(guó)傳感網(wǎng)標(biāo)準(zhǔn)工作組PG5標(biāo)識(shí)項(xiàng)目組制定的傳感節(jié)點(diǎn)標(biāo)識(shí)符編碼規(guī)范,設(shè)計(jì)了傳感節(jié)點(diǎn)標(biāo)識(shí)符編碼測(cè)試系統(tǒng),提出了一個(gè)改進(jìn)的字符串匹配算法,從而提高了系統(tǒng)的測(cè)試效率,保證了傳感節(jié)點(diǎn)編碼的正確性和唯一性。
關(guān)鍵詞:傳感網(wǎng);標(biāo)識(shí)符;字符串匹配;傳感節(jié)點(diǎn)編碼
中圖分類號(hào):TP73.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2016)03-00-04
0 引 言
傳感器網(wǎng)絡(luò)綜合了傳感器技術(shù)、嵌入式計(jì)算技術(shù)、分布式信息處理技術(shù)和無(wú)線通信技術(shù),他們能夠協(xié)作地實(shí)時(shí)監(jiān)測(cè)、感知和采集各種環(huán)境或監(jiān)測(cè)對(duì)象的信息[1],因此在環(huán)保檢測(cè)、軍事領(lǐng)域、醫(yī)療領(lǐng)域和農(nóng)業(yè)領(lǐng)域等廣泛應(yīng)用。如何跟蹤和管理傳感網(wǎng)傳感節(jié)點(diǎn)已成為行業(yè)和學(xué)術(shù)界的熱門話題,為了解決這個(gè)難題,傳感節(jié)點(diǎn)標(biāo)識(shí)符應(yīng)運(yùn)而生。傳感節(jié)點(diǎn)編碼規(guī)范由國(guó)家傳感器網(wǎng)絡(luò)標(biāo)準(zhǔn)工作組PG5標(biāo)識(shí)項(xiàng)目組制定,包括身份標(biāo)識(shí)符和應(yīng)用屬性標(biāo)識(shí)符[2]。
目前,在傳感網(wǎng)傳感節(jié)點(diǎn)應(yīng)用之前還沒(méi)有相關(guān)的編碼測(cè)試研究,如果從傳感網(wǎng)中獲得的傳感節(jié)點(diǎn)標(biāo)識(shí)符不唯一,將會(huì)影響它的實(shí)際應(yīng)用,因此,有必要進(jìn)行傳感節(jié)點(diǎn)編碼測(cè)試。本文設(shè)計(jì)的傳感網(wǎng)傳感節(jié)點(diǎn)標(biāo)識(shí)符編碼測(cè)試系統(tǒng)是為了保證標(biāo)識(shí)符的正確性和唯一性,并通過(guò)標(biāo)識(shí)符解析獲得可靠信息,從而促進(jìn)傳感網(wǎng)的大規(guī)模發(fā)展。
1 測(cè)試系統(tǒng)總體架構(gòu)設(shè)計(jì)
傳感網(wǎng)傳感節(jié)點(diǎn)標(biāo)識(shí)符編碼測(cè)試系統(tǒng)包括測(cè)試用戶、傳感節(jié)點(diǎn)標(biāo)識(shí)符注冊(cè)監(jiān)管機(jī)構(gòu)和測(cè)試網(wǎng)絡(luò),其中測(cè)試網(wǎng)絡(luò)由測(cè)試網(wǎng)關(guān)與被測(cè)傳感節(jié)點(diǎn)組成。測(cè)試系統(tǒng)架構(gòu)圖如圖1所示,系統(tǒng)功能結(jié)構(gòu)圖如圖2所示。
本設(shè)計(jì)的測(cè)試系統(tǒng)功能結(jié)構(gòu)包括人機(jī)交互界面、應(yīng)用服務(wù)組件、測(cè)試功能支撐服務(wù)組件三部分。
1.1 人機(jī)交互界面
人機(jī)交互界面為傳感網(wǎng)傳感節(jié)點(diǎn)標(biāo)識(shí)符編碼測(cè)試視圖模塊,為測(cè)試用戶提供測(cè)試執(zhí)行過(guò)程操作和信息查看的視圖。
1.2 應(yīng)用服務(wù)組件
應(yīng)用服務(wù)組件為傳感網(wǎng)傳感節(jié)點(diǎn)標(biāo)識(shí)符編碼測(cè)試提供服務(wù),主要包括ICS編輯模塊[3]、IXIT編輯模塊[4]、用戶信息編輯模塊、用戶管理模塊和測(cè)試控制模塊等,其中測(cè)試監(jiān)控主要包括標(biāo)識(shí)符測(cè)試監(jiān)控和標(biāo)識(shí)符測(cè)試結(jié)果存儲(chǔ)。
1.3 測(cè)試功能支撐服務(wù)組件
測(cè)試功能支撐服務(wù)組件是整個(gè)測(cè)試系統(tǒng)的核心部分,為測(cè)試用戶在執(zhí)行測(cè)試時(shí)提供所需的功能支持。測(cè)試功能支撐服務(wù)組件包括以下幾個(gè)子單元:
(1) 測(cè)試生成單元。該單元為測(cè)試做準(zhǔn)備,包括ICS管理模塊、測(cè)試案例管理模塊、抽象測(cè)試集合[5]測(cè)試命令管理模塊。考慮到XML具有簡(jiǎn)單、開(kāi)放、跨平臺(tái)等特性,本文采用XML標(biāo)記語(yǔ)言來(lái)描述和保存測(cè)試套。
(2)測(cè)試執(zhí)行單元。該單元作為測(cè)試功能支撐模塊的核心部分,主要負(fù)責(zé)測(cè)試任務(wù)的調(diào)度、執(zhí)行。根據(jù)測(cè)試生成單元相關(guān)結(jié)果,測(cè)試執(zhí)行單元有目的執(zhí)行測(cè)試;同時(shí),時(shí)序控制可以很好地控制測(cè)試命令的下發(fā);測(cè)試協(xié)同模塊解決測(cè)試過(guò)程可控性的問(wèn)題,提供一種機(jī)制同步協(xié)調(diào)測(cè)試服務(wù)器和測(cè)試設(shè)備之間的測(cè)試活動(dòng)。測(cè)試平臺(tái)根據(jù)用戶導(dǎo)入測(cè)試案例的相關(guān)信息,調(diào)用相應(yīng)的測(cè)試案例處理函數(shù)裝載測(cè)試命令,并調(diào)用發(fā)送線程的發(fā)送函數(shù)發(fā)送測(cè)試命令;同時(shí)啟動(dòng)事件等待函數(shù),如果在規(guī)定的時(shí)間內(nèi)收到應(yīng)該收到的測(cè)試響應(yīng)報(bào)文,則事件變?yōu)橛行盘?hào)狀態(tài)。收到報(bào)文后,調(diào)用相應(yīng)的報(bào)文分析函數(shù)對(duì)所接收到的報(bào)文進(jìn)行分析,并得出測(cè)試結(jié)果。測(cè)試執(zhí)行流程如圖3所示。
(3)測(cè)試結(jié)果輸出單元。該單元對(duì)測(cè)試響應(yīng)信息進(jìn)行分析,得出測(cè)試結(jié)果后生成測(cè)試報(bào)告,包括測(cè)試報(bào)文解析模塊、測(cè)試結(jié)果分析模塊及測(cè)試報(bào)告生成模塊。
(4)系統(tǒng)管理單元。該單元對(duì)測(cè)試系統(tǒng)進(jìn)行綜合管理,包括測(cè)試數(shù)據(jù)存儲(chǔ)、日志管理與故障管理等。
1.4 通信模塊
通信模塊是測(cè)試服務(wù)器和底層測(cè)試設(shè)備進(jìn)行數(shù)據(jù)通信的接口,包括TCP/IP通信接口、串口通信接口、802.15.4無(wú)線通信接口和擴(kuò)展通信接口。通信模塊分為數(shù)據(jù)發(fā)送模塊和數(shù)據(jù)接收模塊,測(cè)試服務(wù)器可以通過(guò)數(shù)據(jù)發(fā)送模塊向測(cè)試設(shè)備下發(fā)測(cè)試命令;數(shù)據(jù)接收模塊可以讀取測(cè)試設(shè)備上傳的響應(yīng)信息,并對(duì)響應(yīng)進(jìn)行處理。
1.5 測(cè)試設(shè)備
測(cè)試設(shè)備是測(cè)試系統(tǒng)的底層網(wǎng)絡(luò)測(cè)試設(shè)備,包括測(cè)試網(wǎng)關(guān)與被測(cè)傳感節(jié)點(diǎn)。在本系統(tǒng)中測(cè)試網(wǎng)關(guān)在測(cè)試網(wǎng)絡(luò)中擔(dān)任協(xié)調(diào)器、網(wǎng)關(guān)設(shè)備等角色,被測(cè)傳感節(jié)點(diǎn)由被測(cè)試用戶提供。
2 系統(tǒng)軟件流程設(shè)計(jì)
在傳感網(wǎng)傳感節(jié)點(diǎn)標(biāo)識(shí)符編碼測(cè)試系統(tǒng)中,其測(cè)試流程如圖4所示。測(cè)試步驟分為如下7步:
(1)判斷被測(cè)傳感節(jié)點(diǎn)的身份標(biāo)識(shí)符響應(yīng)信息是否為空,若不為空,則執(zhí)行步驟(2);若為空,則表示被測(cè)傳感節(jié)點(diǎn)不在線或者由于網(wǎng)絡(luò)問(wèn)題,測(cè)試失敗。
(2)測(cè)試服務(wù)器運(yùn)用基于字符串匹配算法的標(biāo)識(shí)符編碼匹配響應(yīng)信息,得到含有標(biāo)識(shí)符編碼的響應(yīng)信息,之后進(jìn)入步驟(3)。
(3)被測(cè)傳感節(jié)點(diǎn)的身份標(biāo)識(shí)符響應(yīng)信息不為空,判斷該身份標(biāo)識(shí)符響應(yīng)信息的長(zhǎng)度是否符合標(biāo)準(zhǔn)規(guī)范,若符合,則進(jìn)行步驟(4);若不符合,則表示響應(yīng)信息不符合標(biāo)準(zhǔn)規(guī)范,測(cè)試失敗。
(4)在步驟(3)成功的情況下,運(yùn)用正則表達(dá)式對(duì)身份標(biāo)識(shí)符響應(yīng)信息進(jìn)行分割,包括管理機(jī)構(gòu)代碼、版本號(hào)、生產(chǎn)廠商代碼、產(chǎn)品代碼這4種分割響應(yīng)信息,然后對(duì)每部分的格式進(jìn)行規(guī)范驗(yàn)證。
(5)由步驟(4)可知,標(biāo)識(shí)符編碼每一部分的格式數(shù)據(jù)匹配為一個(gè)測(cè)試步,身份標(biāo)識(shí)符編碼一致性有4個(gè)測(cè)試步,若4個(gè)測(cè)試步全部通過(guò),則表示身份標(biāo)識(shí)符信息的每部分?jǐn)?shù)據(jù)信息符合規(guī)范編碼編制規(guī)則,該身份標(biāo)識(shí)符符合標(biāo)準(zhǔn)規(guī)范,進(jìn)行步驟(6);若任何一個(gè)測(cè)試步不通過(guò),則測(cè)試失敗。
(6)運(yùn)用基于正則表達(dá)式的數(shù)據(jù)庫(kù)匹配技術(shù),對(duì)符合規(guī)范的被測(cè)傳感節(jié)點(diǎn)的身份標(biāo)識(shí)符響應(yīng)信息與標(biāo)識(shí)符注冊(cè)監(jiān)管機(jī)構(gòu)數(shù)據(jù)庫(kù)進(jìn)行匹配,驗(yàn)證該被測(cè)傳感節(jié)點(diǎn)的身份標(biāo)識(shí)符是否注冊(cè)。endprint
(7)若匹配成功,所測(cè)被測(cè)傳感節(jié)點(diǎn)標(biāo)識(shí)符編碼符編碼編制規(guī)則在注冊(cè)監(jiān)管機(jī)構(gòu)中注冊(cè),且該被測(cè)傳感節(jié)點(diǎn)標(biāo)識(shí)符編碼格式規(guī)范唯一,可以進(jìn)行標(biāo)識(shí)符解析一致性測(cè)試;若匹配失敗,則表示該被測(cè)傳感節(jié)點(diǎn)標(biāo)識(shí)符還沒(méi)被注冊(cè),不能進(jìn)行標(biāo)識(shí)符解析一致性測(cè)試。
3 字符串匹配算法
字符串匹配算法在傳感網(wǎng)傳感節(jié)點(diǎn)標(biāo)識(shí)符編碼測(cè)試系統(tǒng)中起著至關(guān)重要的作用,眾所周知,在實(shí)際應(yīng)用中Sunday字符串匹配算法最差情況下的時(shí)間復(fù)雜度為O(m×n),相比BM、KMP算法具有較高的效率。但有時(shí)在某種情況下也會(huì)出現(xiàn)無(wú)意義的匹配,因此本文提出一種改進(jìn)的算法,其核心思想是匹配前先判斷主串中相應(yīng)的后綴,再匹配,最后再跳轉(zhuǎn)。
假設(shè)每次匹配時(shí),將模式串(Pattern)的最后后綴長(zhǎng)度t個(gè)字符組成的子字符串設(shè)為后綴(suffix)[4],匹配時(shí),suffix與主串(Text)中對(duì)應(yīng)位置上的子字符串的下一個(gè)字符設(shè)為K,主串當(dāng)前匹配字符的位置設(shè)為Pos,模式串中每個(gè)字符到模式串尾部距離數(shù)組設(shè)為next[i],匹配過(guò)程如圖5所示。通過(guò)實(shí)驗(yàn)當(dāng)T=“With the development of sensor network in the industrial applications, some of the research results of sensor nodes identifier have been achieved…” and P are “the”, “some”, “nodes”, “sensor” 時(shí),后綴長(zhǎng)度t=1+length_P/2,消耗時(shí)間最少,效率最高,實(shí)驗(yàn)結(jié)果如圖6所示。
將該字符串匹配算法應(yīng)用于傳感網(wǎng)標(biāo)識(shí)解析測(cè)試系統(tǒng),以管理機(jī)構(gòu)代碼測(cè)試?yán)秊槔赯igBee傳感網(wǎng)中傳感節(jié)點(diǎn)響應(yīng)測(cè)試命令返回信息T=66 AB 1D 01 31 00 FE 13 21 09 02 01 00 0F 60 81 1C 86 9B 3A 01 0A 00 0B 01 02 03 04 05,管理機(jī)構(gòu)代碼P=60 81 1C 86 9B 3A,匹配過(guò)程如圖7所示。
4 測(cè)試系統(tǒng)實(shí)現(xiàn)
身份標(biāo)識(shí)符編碼測(cè)試結(jié)果如圖9所示,圖中包括測(cè)試的進(jìn)展、測(cè)試響應(yīng)信息的處理、測(cè)試設(shè)備狀態(tài)信息、測(cè)試響應(yīng)信息的屬性以及測(cè)試的成功率等。測(cè)試結(jié)果表明,只有測(cè)試組的每一個(gè)測(cè)試?yán)龍?zhí)行成功,才能保證傳感節(jié)點(diǎn)標(biāo)識(shí)符編碼的標(biāo)準(zhǔn)化和唯一性。
5 結(jié) 語(yǔ)
本文設(shè)計(jì)的傳感網(wǎng)傳感節(jié)點(diǎn)標(biāo)識(shí)符編碼測(cè)試系統(tǒng)可以進(jìn)行遠(yuǎn)程和本地化測(cè)試,對(duì)傳感節(jié)點(diǎn)標(biāo)識(shí)符的規(guī)范性和唯一性能夠進(jìn)行有效的測(cè)試。測(cè)試?yán)木帉憽y(cè)試?yán)膱?zhí)行以及測(cè)試?yán)龍?zhí)行結(jié)果的展示等測(cè)試過(guò)程操作簡(jiǎn)單,自動(dòng)化程度高,滿足測(cè)試傳感節(jié)點(diǎn)標(biāo)準(zhǔn)化的需求,有利地推動(dòng)了傳感網(wǎng)和標(biāo)準(zhǔn)產(chǎn)品的大規(guī)模發(fā)展。
參考文獻(xiàn)
[1]徐冬梅,徐全平,董挺.傳感器網(wǎng)絡(luò)標(biāo)識(shí)技術(shù)及標(biāo)準(zhǔn)化[J].信息技術(shù)與標(biāo)準(zhǔn)化,2012(4): 18-20.
[2]全國(guó)信息技術(shù)標(biāo)準(zhǔn)化技術(shù)委員會(huì).GB/T1.501-2014.信息技術(shù) 傳感器網(wǎng)絡(luò) 第501部分 標(biāo)識(shí) 傳感節(jié)點(diǎn)標(biāo)識(shí)符編制規(guī)則[S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2014.
[3] ISO/IEC 9646-1,Information technology-Open systems Interconnection- Conformance testing methodology and framework-Part1[S]: General concepts, 1994.
[4] ISO/IEC 9646-2,Information technology-Open systems Interconnection- Conformance testing methodology and framework-Part2[S]: Abstract Test Suite specification, 1994.
[5] ISO/IEC 9646-7,Information technology-Open systems Interconnection- Conformance testing methodology and framework-Part7[S]: Implementation Conformance Statements, 1995.
[6]李明月,張善卿,陸劍鋒,等.一種改進(jìn)的Sunday匹配算法[J].杭州電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,35(1):93-96.endprint