摘 要: 研究REST架構機制下的物聯(lián)網(wǎng)服務平臺設計。通過在REST架構機制下構建物聯(lián)網(wǎng)服務平臺,分析物聯(lián)網(wǎng)服務平臺設計需求,從而制定出優(yōu)化的平臺設計方法,以便可以設計實現(xiàn)基于REST架構機制的物聯(lián)網(wǎng)服務平臺。結果表明,在REST架構機制下設計物聯(lián)網(wǎng)服務平臺,不僅具有高拓展性,也可以擴展客戶端功能,設計的物聯(lián)網(wǎng)服務平臺的性能提升了20.0%,可發(fā)揮積極的應用效益,值得推廣。
關鍵詞: REST; 服務平臺; REST架構機制; 物聯(lián)網(wǎng)
中圖分類號: TN915?34 文獻標識碼: A 文章編號: 1004?373X(2016)14?0061?03
Design of IOT service platform based on REST architecture mechanism
TIAN Jun
(Foshan Polytechnic, Foshan 528137, China)
Abstract: The purpose of this paper is to study the design of Internet service platform based on REST (Representational state transfer) architecture mechanism. The design requirements of the service platform of IOT (Internet of Things) are analyzed by establishing an IOT service platform the mechanism under REST architecture mechanism, so as to develop a platform design method to realize the IOT service platform based on REST architecture mechanism. The results confirm that the IOT services platform designed under the REST architecture mechanism not only has a high expansion, but also can expand the client function, and increase the performance of the IOT services platform by 20%.
Keywords: REST; service platform; REST architecture mechanism; Internet of Things
隨著現(xiàn)代信息化技術的發(fā)展,在不同的Web開發(fā)框架之中,均可以支持開發(fā)REST(Represen tational State Transfer,表述性狀態(tài)轉移)架構機制軟件[1];并且,對于實際中大多數(shù)的物聯(lián)網(wǎng)服務平臺設計開發(fā)人員,其也都是在閱讀一些REST框架文檔基礎上,開發(fā)基于REST機制的軟件平臺。在當前物聯(lián)網(wǎng)設計應用中,采取REST架構機制,有助于改善物聯(lián)網(wǎng)服務平臺性能,豐富其構建風格,在實際中發(fā)揮積極應用價值。
1 REST架構機制及物聯(lián)網(wǎng)技術
1.1 REST架構機制
REST架構機制是一整套基于網(wǎng)絡的軟件(即所謂的“分布式應用”)設計方法。REST構建機制能夠在繼承前人成果基礎之上,從而可以建立起新的研究、評價架構[2?5]。同時,REST架構機制中,有6個架構約束,分別如下所示:
客戶?服務器(Client ? Server),由該平臺客戶端發(fā)起,并響應服務。無狀態(tài)(Stateless)通信的會話狀態(tài)(Session State),由服務平臺的客戶端來負責管理維護。緩存(Cache),在服務平臺通信鏈中,響應內(nèi)容可以緩存在某處,能夠改善物聯(lián)網(wǎng)絡效率。統(tǒng)一接口(Uniform Interface),對于通信鏈組件通信,需要通過統(tǒng)一接口,提高系統(tǒng)平臺的交互性。分層系統(tǒng)(Layered System),能夠限制服務平臺中的組件行為,將軟件REST架構分解為若干不同等級的層。按需代碼(Code?On?Demand,可選),可以支持下載執(zhí)行代碼,擴展客戶端的功能。
1.2 物聯(lián)網(wǎng)技術
物聯(lián)網(wǎng)可以通過當前現(xiàn)代化信息技術,實現(xiàn)人、設備以及系統(tǒng)之間通信交流的智能互連。物聯(lián)網(wǎng)在業(yè)界被認為是繼計算機、互聯(lián)網(wǎng)以及移動通信網(wǎng)后的第三次世界信息產(chǎn)業(yè)浪潮,有著巨大經(jīng)濟效益與社會效益[1,6?8]。物聯(lián)網(wǎng)的發(fā)展是應用驅動的,會滲透到經(jīng)濟的各個領域,生活的方方面面。
2 物聯(lián)網(wǎng)服務平臺需求分析
在物聯(lián)網(wǎng)服務平臺設計中,由于交互模式要求復雜[9]。在設計物聯(lián)網(wǎng)服務平臺中,運用REST架構機制,能夠為“運行在物聯(lián)網(wǎng)環(huán)境”的“分布式”、“超媒體”系統(tǒng)量身定制風格,違反了REST架構機制,會降低物聯(lián)網(wǎng)服務平臺性能。在REST架構機制下設計物流網(wǎng)公共服務平臺,要確保其資源是抽象的[10],資源可以是文件,也可以是數(shù)據(jù)庫表等信息;一個資源可以由一個或多個URI來標識[11]。在實際物聯(lián)網(wǎng)服務平臺設計中,REST架構可支持抽象設計,REST的風格耦合度是最小的,滿足設計需求。
3 基于REST架構機制設計物聯(lián)網(wǎng)服務平臺
3.1 設計該平臺總體構建
物聯(lián)網(wǎng)服務平臺設計中,需要面向物聯(lián)網(wǎng)各個行業(yè),能夠在REST的架構機制下,提供多平臺的標識注冊、解析以及服務搜索等功能,支撐物聯(lián)網(wǎng)服務平臺應用。物聯(lián)網(wǎng)服務平臺設計如圖1所示。
接入標識物聯(lián)網(wǎng)服務平臺的各種物聯(lián)網(wǎng)應用,該服務平臺可以統(tǒng)一分配節(jié)點資源,確保平臺中各個應用在其內(nèi)部溝通的便利,整合物聯(lián)網(wǎng)服務平臺應用層服務。
3.2 平臺接入設計
在REST架構機制之下設計物聯(lián)網(wǎng)服務平臺,能夠確保為服務平臺的用戶提供一種可以實現(xiàn)統(tǒng)一訪問的端口,可以據(jù)此來接入應用物聯(lián)網(wǎng)服務平臺中的相關資源??梢詫崿F(xiàn)瀏覽器交互方式,用戶可以通過統(tǒng)一API接口交互[12]。使用統(tǒng)一的程序接口訪問物聯(lián)網(wǎng)應用方便了用戶的使用,提高了用戶體驗。
(1) 添加客戶端源代碼。在工程代碼中加入客戶端源代碼,包括cn.cnnic.iot下的client,common,util,xml包。然后實例化一個PublicClient對象,調(diào)用其Public String create(String sid,String rid,String mid,String mType, String serviceType, int TTL)方法進行注冊。在工程代碼中加入客戶端jar包,然后實例化一個PublicClient對象,調(diào)用其public String create(String sid,String rid,String mid,String mType, String serviceType, int TTL)方法進行注冊。
(2) 添加客戶端JAR包。在工程代碼中加入客戶端jar包,然后實例化一個PublicClient對象,調(diào)用其Public String create(String sid,String rid,String mid,String mType, String serviceType, int TTL)方法進行注冊。
(3) 使用桌面客戶端→手工錄入。預裝jre環(huán)境,打開桌面客戶端,選擇手工錄入。如圖2所示,在錄入框中,添加標準標識sid,物品標識rid,映射標識mid,映射類型mType, 注冊類型serviceType, 生存時間TTL6個參數(shù),點擊注冊,進行物聯(lián)網(wǎng)標識注冊。
(4) 使用桌面客戶端→TXT導入。預裝jre環(huán)境,打開桌面客戶端,選擇TXT導入。
選擇的TXT文件需要具備以下格式:每一行為一條記錄,包括6個參數(shù),6個參數(shù)分別是:標準標識sid,物品標識rid,映射標識mid,映射類型mType, 注冊類型serviceType, 生存時間TTL。
(5) 使用桌面客戶端→Excel導入。預裝jre環(huán)境,打開桌面客戶端,選擇Excel導入。選擇的Excel文件需要具備以下格式:有6列數(shù)據(jù),表頭分別為sid,rid,mid,mType,serviceType,TTL,之后每行為一條記錄。
(6) 使用網(wǎng)頁客戶端??梢允褂脼g覽器訪問物聯(lián)網(wǎng)服務平臺中的標識注冊頁面register.niot.cn,選擇標識注冊。
標識者向二級權威服務器注冊其所管理的一類標識對應的語義規(guī)則:通過Web頁面的形式注冊,對應的NAPTR記錄寫入***.snsroot.cn;能夠在現(xiàn)階段尚無法使用標準標識的情況下,分布式管理各自的標準標識,確保物聯(lián)網(wǎng)服務平臺安全性。
3.3 平臺交互設計實現(xiàn)
REST架構機制中,對于整個物聯(lián)網(wǎng)網(wǎng)絡中的REST資源,有高度可擴展的標準語義及表現(xiàn)形式,使物聯(lián)網(wǎng)服務平臺中物體與物體之間的交互成為可能。REST物聯(lián)網(wǎng)服務平臺狀態(tài)轉變實現(xiàn)代碼如下:
列舉所有物體狀態(tài):
信息服務器每創(chuàng)建一個新的物品記錄時都需要向注冊服務器進行注冊,注冊內(nèi)容包括:TID,IS_IP,物品資源根,應用程序(瀏覽器、客戶端)得到物品碼后,通過查詢接口獲得某TID的IS_IP以及物品資源根。應用程序構造物品資源URI,并向其發(fā)送http GET請求包,物品資源URI形式如下:http://IS_IP/TR_ROOT/TID。信息服務器返回關于該物品的所有信息,信息以XML形式返回,應用程序解析XML數(shù)據(jù)包得到物品的信息。REST架構機制下,物流網(wǎng)服務平臺設計中,開始的一個服務程序代碼實現(xiàn)如下:
在REST架構機制下,設計物流網(wǎng)服務平臺,創(chuàng)建一個新的數(shù)據(jù)庫,如iot數(shù)據(jù)庫,編輯存儲 app/config/database.php,其實現(xiàn)代碼如下:
在REST架構機制設計物聯(lián)網(wǎng)服務平臺,可以提升服務平臺的信息數(shù)據(jù)儲存量,加大平臺運行性能。
4 平臺的應用效益分析
在物聯(lián)網(wǎng)服務平臺設計中,采取REST架構機制,有助于滿足該服務平臺的實時性設計要求,確保提升物聯(lián)網(wǎng)服務平臺性能。對于設計面向物聯(lián)網(wǎng)的服務平臺,設計采用REST的架構機制,不僅可以簡化服務平臺的開發(fā)、測試以及運維人員的工作量,也更加能提升物聯(lián)網(wǎng)服務平臺通信的可伸縮性。在REST架構機制下,設計物聯(lián)網(wǎng)服務平臺,不僅具有高拓展性,也可以擴展客戶端功能,提升了設計物聯(lián)網(wǎng)服務平臺的性能,性能提升可達20.0%,可發(fā)揮積極應用效益。
5 結 論
綜上所述,基于REST架構機制下,設計物聯(lián)網(wǎng)服務平臺,不僅可以提升該平臺可擴展性,還可以將各種物聯(lián)網(wǎng)設備(傳感器、感知設備、執(zhí)行器)聯(lián)接到統(tǒng)一的服務平臺中,提升該平臺應用性能,充分展現(xiàn)物聯(lián)網(wǎng)服務平臺的整體結構,發(fā)揮積極應用價值,值得在實際中推廣應用REST架構機制。
參考文獻
[1] 湯春明,張熒,吳宇平.無線物聯(lián)網(wǎng)中CoAP協(xié)議的研究與實現(xiàn)[J].現(xiàn)代電子技術,2013,36(1):40?44.
[2] 程冬梅,王瑞聰,劉燕,等.基于REST架構風格的物聯(lián)網(wǎng)服務平臺研發(fā)[J].計算機工程與應用,2012,48(14):74?78.
[3] 張衛(wèi)榮,李航.基于REST風格的Web服務在物聯(lián)網(wǎng)服務平臺的應用[J].黑龍江科技信息,2015(10):138.
[4] 李小紅.REST架構下作業(yè)線模糊貼近度支配集優(yōu)化控制[J].科技通報,2014(12):205?207.
[5] 陳昊,李士寧.基于REST風格的物聯(lián)網(wǎng)應用開發(fā)模式探究[J].計算機與現(xiàn)代化,2013(2):56?60.
[6] 張慧超,朱紅松,孫利民,等.DISP:物聯(lián)網(wǎng)開放式數(shù)據(jù)服務系統(tǒng)[J].計算機科學,2012,39(12):1?5.
[7] 李曉鐘,王瑩,王倩倩.蘇粵兩省物聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展比較研究[J].財經(jīng)論叢,2014(1):22?27.
[8] 周超琦,朱正羊,耿明翠.基于物聯(lián)網(wǎng)的應答式洗衣機系統(tǒng)[J].計算機時代,2015(2):10?14.
[9] 朱紅.基于REST架構的泛在物聯(lián)通信技術研究[J].數(shù)字通信世界,2015(3):38?41.
[10] 袁璞,艾中良,汪涵.基于物聯(lián)網(wǎng)服務平臺的統(tǒng)一標識尋址研究設計[J].現(xiàn)代電子技術,2015,38(6):59?62.
[11] 李振營,劉經(jīng)緯,鄢楚平.熱力管網(wǎng)系統(tǒng)中的物聯(lián)網(wǎng)網(wǎng)關研究與設計[J].現(xiàn)代電子技術,2014,37(23):13?16.
[12] 趙艷玲.一種基于物聯(lián)網(wǎng)的遠程監(jiān)控系統(tǒng)設計[J].現(xiàn)代電子技術, 2012,35(6):61?64.