国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Ajax與MVC的RFID讀寫(xiě)器B/S管理系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)

2016-12-26 08:14:24黃佑夫李建強(qiáng)
關(guān)鍵詞:讀寫(xiě)器調(diào)用視圖

黃佑夫 李建強(qiáng) 徐 坤

(北京郵電大學(xué)信息光子學(xué)與光通信國(guó)家重點(diǎn)實(shí)驗(yàn)室 北京 100876)

?

基于Ajax與MVC的RFID讀寫(xiě)器B/S管理系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)

黃佑夫 李建強(qiáng) 徐 坤

(北京郵電大學(xué)信息光子學(xué)與光通信國(guó)家重點(diǎn)實(shí)驗(yàn)室 北京 100876)

針對(duì)分布式RFID系統(tǒng)監(jiān)控大規(guī)模讀寫(xiě)器時(shí),存在實(shí)時(shí)性差和人力成本高的問(wèn)題,設(shè)計(jì)并實(shí)現(xiàn)一種對(duì)大量讀寫(xiě)器進(jìn)行實(shí)時(shí)監(jiān)控的高效能B/S管理系統(tǒng)。采用MVC設(shè)計(jì)模式,實(shí)現(xiàn)業(yè)務(wù)邏輯與頁(yè)面顯示的有效分離,使系統(tǒng)各模塊間耦合度降低;利用Ajax的異步交互能力,對(duì)前端界面進(jìn)行無(wú)刷新式的更新,提高客戶(hù)端的響應(yīng)速度,從而實(shí)現(xiàn)對(duì)連接在一個(gè)局域網(wǎng)內(nèi)的大量讀寫(xiě)器進(jìn)行高效實(shí)時(shí)監(jiān)控的功能。系統(tǒng)擁有穩(wěn)定的性能以及良好的可擴(kuò)展性和易維護(hù)性。

Ajax MVC RFID讀寫(xiě)器 管理系統(tǒng)

0 引 言

目前,隨著RFID系統(tǒng)越來(lái)越廣泛的應(yīng)用,相應(yīng)需要部署的讀寫(xiě)器規(guī)模也越來(lái)越大,讀寫(xiě)器的管理問(wèn)題逐漸引起人們的關(guān)注。數(shù)量眾多的讀寫(xiě)器在地域上聚集分布, 從而構(gòu)成讀寫(xiě)器網(wǎng)絡(luò)。這就要求RFID系統(tǒng)能集中管理大量讀寫(xiě)器,協(xié)同實(shí)現(xiàn)數(shù)據(jù)采集和參數(shù)配置等功能。當(dāng)前管理讀寫(xiě)器網(wǎng)絡(luò)有兩種主流方式:一種是人工手動(dòng)管理,比如公交收費(fèi)系統(tǒng)等。這種管理方式存在實(shí)時(shí)性差和人力成本高的問(wèn)題,伴隨著讀寫(xiě)器數(shù)量的激增,這些弊端已經(jīng)很難滿(mǎn)足對(duì)大量讀寫(xiě)器管理的需求。另一種是對(duì)通過(guò)固網(wǎng)或局域網(wǎng)互聯(lián)的讀寫(xiě)器網(wǎng)絡(luò)進(jìn)行集中管理的方式,由專(zhuān)門(mén)搭載管理系統(tǒng)的服務(wù)器統(tǒng)一進(jìn)行數(shù)據(jù)采集和參數(shù)配置等操作。這種方式中管理員可以隨時(shí)隨地登錄服務(wù)器的網(wǎng)址同時(shí)對(duì)大量讀寫(xiě)器進(jìn)行監(jiān)控,是將來(lái)對(duì)RFID讀寫(xiě)器自動(dòng)管理的主流方法。

本文系統(tǒng)采用基于Ajax技術(shù)與MVC設(shè)計(jì)模式的B/S體系架構(gòu)。其中,B/S模式具有良好的易用性與通用性,方便系統(tǒng)的部署;MVC設(shè)計(jì)模式可以提高系統(tǒng)的可擴(kuò)展性與可維護(hù)性;Ajax技術(shù)通過(guò)提高頁(yè)面與用戶(hù)的交互能力來(lái)提升系統(tǒng)性能。

1 技術(shù)架構(gòu)

1.1 MVC設(shè)計(jì)模式

MVC模式中的模型Model是業(yè)務(wù)處理的核心,它將實(shí)際問(wèn)題抽象成程序中的對(duì)象,通過(guò)處理這些對(duì)象來(lái)實(shí)現(xiàn)實(shí)際問(wèn)題的需求;視圖View是應(yīng)用程序與用戶(hù)的接口,主要負(fù)責(zé)頁(yè)面展示、與用戶(hù)交互等工作;控制器Controller將用戶(hù)的請(qǐng)求信息映射成程序中的業(yè)務(wù)邏輯,并進(jìn)一步細(xì)化為對(duì)模型的調(diào)用處理。當(dāng)模型發(fā)生變化時(shí)控制器也會(huì)向視圖返回結(jié)果,進(jìn)而保證模型和視圖同步更新。

在基于MVC模式的應(yīng)用程序中,模型、視圖和控制器分別由JavaBean、JSP和Servlet實(shí)現(xiàn)。當(dāng)客戶(hù)端向服務(wù)器發(fā)起HTTP請(qǐng)求時(shí),先由控制器Servlet統(tǒng)一調(diào)度,將請(qǐng)求提交給對(duì)應(yīng)的業(yè)務(wù)Bean對(duì)象;業(yè)務(wù)Bean對(duì)象更新代表對(duì)應(yīng)模型的數(shù)據(jù)Bean對(duì)象;最后控制器Servlet將請(qǐng)求結(jié)果轉(zhuǎn)到對(duì)應(yīng)的視圖JSP,完成界面的更新。

1.2 Ajax技術(shù)

Ajax技術(shù)是一種利用客戶(hù)端腳本,實(shí)現(xiàn)以異步的方式與服務(wù)器進(jìn)行通信的網(wǎng)絡(luò)開(kāi)發(fā)技術(shù)。其中,HTML和CSS負(fù)責(zé)頁(yè)面顯示,DOM對(duì)象負(fù)責(zé)數(shù)據(jù)動(dòng)態(tài)更新, XML負(fù)責(zé)數(shù)據(jù)交換, XMLHttpRequest對(duì)象負(fù)責(zé)完成與服務(wù)器的異步通信,JavaScript負(fù)責(zé)將各模塊有機(jī)結(jié)合起來(lái)。

在基于Ajax的Web應(yīng)用中,客戶(hù)端和服務(wù)器端之間加入了Ajax引擎。用戶(hù)請(qǐng)求首先提交給Ajax引擎,并由它處理部分簡(jiǎn)單請(qǐng)求,其余交由服務(wù)器處理。用戶(hù)在等待響應(yīng)的過(guò)程中依然能發(fā)出指令,從而實(shí)現(xiàn)異步交互。服務(wù)器處理結(jié)束后不僅會(huì)將結(jié)果返回,還會(huì)改變HTTP的就緒狀態(tài)。Ajax引擎根據(jù)不同的就緒狀態(tài)調(diào)用不同的回調(diào)函數(shù),將結(jié)果在頁(yè)面的指定位置進(jìn)行局部更新,而不是刷新全部頁(yè)面。圖1為基于Ajax的系統(tǒng)模型結(jié)構(gòu)圖。

圖1 基于Ajax的系統(tǒng)模型結(jié)構(gòu)圖

2 設(shè)計(jì)實(shí)現(xiàn)

2.1 系統(tǒng)功能

基本的RFID系統(tǒng)包含讀寫(xiě)器、天線和無(wú)源標(biāo)簽。本文系統(tǒng)實(shí)現(xiàn)的主要功能是對(duì)互連于一個(gè)局域網(wǎng)的RFID讀寫(xiě)器進(jìn)行統(tǒng)一管理,具體的功能模塊如圖2所示。

圖2 系統(tǒng)功能模塊

(1) 讀寫(xiě)器管理:系統(tǒng)通過(guò)掃描發(fā)現(xiàn)附近存在的讀寫(xiě)器,然后對(duì)讀寫(xiě)器的參數(shù)進(jìn)行讀取和更新,參數(shù)包括讀寫(xiě)器射頻模塊的編碼方式和天線發(fā)送的頻率等。

(2) 天線管理:系統(tǒng)可獲取和更新天線的相關(guān)屬性,包括使能狀態(tài)、天線功率、駐留時(shí)間、盤(pán)訊周期和駐波比等。

(3) 標(biāo)簽管理:系統(tǒng)可盤(pán)點(diǎn)讀寫(xiě)器周?chē)臉?biāo)簽信息,包括天線號(hào)、EPC碼、Rssi值以及遠(yuǎn)程IP等,并能對(duì)標(biāo)簽各個(gè)區(qū)域的數(shù)據(jù)進(jìn)行讀寫(xiě)。

2.2 總體架構(gòu)

本文系統(tǒng)主要由硬件數(shù)據(jù)采集部分與上位機(jī)管理軟件兩部分組成。硬件數(shù)據(jù)采集部分由Impinj R2000讀寫(xiě)器網(wǎng)絡(luò)構(gòu)成,讀寫(xiě)器通過(guò)以太網(wǎng)將采集到的數(shù)據(jù)信息匯總到服務(wù)器端的上位機(jī)軟件。上位機(jī)軟件是基于Ajax與MVC設(shè)計(jì)的。

本文系統(tǒng)為了解決Ajax在不同瀏覽器中使用時(shí)的兼容性問(wèn)題,并沒(méi)有套用XMLHttpRequest對(duì)象的定義,而是采用jQuery框架的$. Ajax(option)方法。option參數(shù)包含了請(qǐng)求方式、請(qǐng)求地址、返回?cái)?shù)據(jù)類(lèi)型、發(fā)送數(shù)據(jù)內(nèi)容和回調(diào)函數(shù)等信息。系統(tǒng)軟件架構(gòu)如圖3所示。

圖3 系統(tǒng)軟件架構(gòu)圖

如圖3所示,在視圖層中,將JSP頁(yè)面的各個(gè)元素寫(xiě)為獨(dú)立的DOM對(duì)象,使得Ajax操作頁(yè)面元素時(shí)更加方便。在JSP中嵌入JavaScript腳本,在腳本中動(dòng)態(tài)獲取用戶(hù)的請(qǐng)求數(shù)據(jù),并通過(guò)$.Ajax(option)方法明確數(shù)據(jù)傳輸與處理的具體細(xì)節(jié)。這使得Web頁(yè)面完成了數(shù)據(jù)獲取的功能,為控制層提供更好的服務(wù)。在控制層,Servlet會(huì)根據(jù)Ajax引擎?zhèn)鱽?lái)的數(shù)據(jù)調(diào)用相應(yīng)的業(yè)務(wù)Bean進(jìn)行數(shù)據(jù)處理。首先將數(shù)據(jù)封裝成數(shù)據(jù)Bean,并傳入讀寫(xiě)器廠商提供的動(dòng)態(tài)鏈接庫(kù)DLL中的業(yè)務(wù)處理方法中,從而完成業(yè)務(wù)邏輯的處理。最后Ajax引擎調(diào)用請(qǐng)求響應(yīng)成功后的回調(diào)函數(shù),實(shí)現(xiàn)無(wú)刷新式的局部界面更新。

2.3 具體實(shí)現(xiàn)

(1) 模型層設(shè)計(jì)

模型層主要由處理業(yè)務(wù)邏輯的Bean對(duì)象和封裝業(yè)務(wù)數(shù)據(jù)的Bean對(duì)象構(gòu)成。本文系統(tǒng)不存在對(duì)數(shù)據(jù)持久化的需求,諸如記錄、盤(pán)點(diǎn)標(biāo)簽的信息并存入數(shù)據(jù)庫(kù)。因?yàn)槊棵胫邢到y(tǒng)對(duì)標(biāo)簽的盤(pán)點(diǎn)次數(shù)在50次左右,盤(pán)點(diǎn)信息瞬息萬(wàn)變而系統(tǒng)對(duì)歷史信息并沒(méi)有實(shí)際的需求,所以本文系統(tǒng)并未引入數(shù)據(jù)庫(kù);但對(duì)讀寫(xiě)器網(wǎng)絡(luò)的實(shí)際操縱是由硬件廠商提供的動(dòng)態(tài)鏈接庫(kù)DLL實(shí)現(xiàn)的。鑒于JNI調(diào)用DLL時(shí),方法都被聲明為native本地方法而并沒(méi)有具體的方法內(nèi)容,所以將這些方法封裝在一個(gè)Linkage公有類(lèi)中作為基礎(chǔ)資源。當(dāng)此類(lèi)被JVM加載時(shí),靜態(tài)代碼塊通過(guò)調(diào)用System.loadLibrary(″DLL文件名″)來(lái)加載DLL,使它以JNI調(diào)用的方式通過(guò)native聲明本地方法實(shí)現(xiàn)系統(tǒng)調(diào)用。native方法與底層硬件進(jìn)行通信是雙向的,既可以獲取數(shù)據(jù),也可以發(fā)送指令。當(dāng)有業(yè)務(wù)需求時(shí),調(diào)用Linkage中處理相應(yīng)業(yè)務(wù)邏輯的方法進(jìn)行處理, Linkage是處理所有與讀寫(xiě)器相關(guān)業(yè)務(wù)邏輯的業(yè)務(wù)對(duì)象。在DLL中的接口方法參數(shù)中,已經(jīng)對(duì)實(shí)際對(duì)象進(jìn)行了抽象,比如設(shè)置天線的方法public native int Radio_SetAntennaInfo(int handle,Antenna_Info ata_info)中,天線被抽象為Antenna_Info.java;同理,還有代表讀寫(xiě)器的Radio_Info.java和代表標(biāo)簽盤(pán)點(diǎn)信息的St_Inv_Data.java等。這些類(lèi)在DLL中的方法被調(diào)用時(shí)使用,都是輸入數(shù)據(jù)的邏輯抽象,為封裝業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)對(duì)象。

(2) 視圖層設(shè)計(jì)

視圖層主要由界面設(shè)計(jì)和嵌入Javascript腳本兩部分組成。在界面顯示方面,本文系統(tǒng)在JSP頁(yè)面中融入jQuery技術(shù)。jQuery是一個(gè)優(yōu)秀的JavaScript庫(kù),其語(yǔ)句快速簡(jiǎn)潔,可以輕易地處理HTML文檔、選取DOM元素和進(jìn)行事件處理;并提供了簡(jiǎn)潔的Ajax交互接口,真正做到了寫(xiě)得更少、做得更多。另外,界面顯示還使用了基于jQuery的UI插件集合EasyUI,不僅使用方便而且功能豐富。比如在標(biāo)簽盤(pán)點(diǎn)列表中顯示標(biāo)簽數(shù)據(jù),可以采用在數(shù)據(jù)網(wǎng)格控件中添加行的方法高效實(shí)現(xiàn):("#dgs").datagrid('insertRow', {index: i, row: {每行數(shù)據(jù)}})。JavaScript腳本部分主要根據(jù)用戶(hù)輸入調(diào)用相應(yīng)的.ajax(option)方法,Ajax引擎將用戶(hù)請(qǐng)求發(fā)送給Servlet。其中,用于掃描讀寫(xiě)器的JS腳本簡(jiǎn)化代碼實(shí)現(xiàn)如下:

function query(){

$.ajax({

type:″post″,

url:″./Main″,

dataType:″xml″,

data:{

action:1

},

success: function(xml){

var status_val =

$(xml).find(″users″).children(″status″).text();

if( status_val == 0) {

$(′#status′).val(″搜索成功!″);

} else{

$(′#status′).val(″錯(cuò)誤碼:″+status_val);

}

}

});

}

(3) 控制層設(shè)計(jì)

控制層主要實(shí)現(xiàn)視圖與模型的聯(lián)結(jié)。通過(guò)web.xml捕捉請(qǐng)求,把Ajax引擎的頁(yè)面請(qǐng)求分配給對(duì)應(yīng)的Servlet程序。在Servlet的doGet()或doPost()方法中,根據(jù)區(qū)別不同業(yè)務(wù)的標(biāo)識(shí)變量調(diào)用對(duì)應(yīng)的業(yè)務(wù)處理方法,并將Ajax引擎?zhèn)鱽?lái)的數(shù)據(jù)信息封裝后傳入該方法,完成相應(yīng)的邏輯業(yè)務(wù),然后通過(guò)IO流向視圖返回結(jié)果進(jìn)行顯示。

基于MVC的系統(tǒng)結(jié)構(gòu)將用戶(hù)界面、業(yè)務(wù)邏輯分隔開(kāi),有利于系統(tǒng)的擴(kuò)展和維護(hù),并提高系統(tǒng)的可維護(hù)性和可擴(kuò)展性。

在局域網(wǎng)環(huán)境下對(duì)系統(tǒng)進(jìn)行測(cè)試,客戶(hù)端軟件是火狐瀏覽器,服務(wù)器引擎為Apache的Tomcat 7.0。經(jīng)統(tǒng)計(jì),當(dāng)讀寫(xiě)器與標(biāo)簽數(shù)量較大時(shí),一般的JSP界面的平均顯示時(shí)間是2~4秒,而使用Ajax技術(shù)的界面平均顯示時(shí)間是1秒左右。當(dāng)需要盤(pán)點(diǎn)的標(biāo)簽數(shù)量越多,使用Ajax就越有優(yōu)勢(shì)。Ajax技術(shù)減少了用戶(hù)的等待時(shí)間,有效改善了用戶(hù)體驗(yàn)。

3 結(jié) 語(yǔ)

針對(duì)管理大規(guī)模讀寫(xiě)器的實(shí)時(shí)性與高效性的需求,本文設(shè)計(jì)實(shí)現(xiàn)了基于Ajax與MVC模式的RFID讀寫(xiě)器B/S管理系統(tǒng)。其中MVC設(shè)計(jì)模式降低了程序中各模塊間的耦合度,優(yōu)化了系統(tǒng)的體系架構(gòu)。Ajax技術(shù)改善了傳統(tǒng)Web應(yīng)用實(shí)時(shí)性差的缺點(diǎn)。系統(tǒng)運(yùn)行穩(wěn)定高效,擁有良好的可擴(kuò)展性和易維護(hù)性。

[1] 林萍.基于SSH+DWR的高??蒲泄芾硐到y(tǒng)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(7):66-68.

[2] 尼俊紅,張麗,張淼,等.基于Ajax和MVC的電力通信告警系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(8):226-227,282.

[3] 張超,趙平,何靜,等.基于MVC模式的指控系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)[J].強(qiáng)激光與粒子束,2013,25(S1):91-95.

[4] 文遠(yuǎn)保,劉峰.一種基于Ajax的Web車(chē)輛監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2007,35(8):77-79.

[5] 李興華.基于SSH的物流信息系統(tǒng)的研究與實(shí)現(xiàn)[D].廣東:中山大學(xué),2010.

[6] 彭鵬.基于B/S架構(gòu)的圖書(shū)管理系統(tǒng)[D].山東:山東大學(xué),2013.

[7] 黃玉蘭.物聯(lián)網(wǎng):射頻識(shí)別(RFID)核心技術(shù)詳解[M].北京:人民郵電出版社,2012.

[8] 比伯奧特,耶胡卡茨.圖靈程序設(shè)計(jì)叢書(shū):jQuery實(shí)戰(zhàn)[M].三生石上,譯.2版.北京:人民郵電出版社,2012.

[9] 李興華,王月清.名師講壇:Java Web開(kāi)發(fā)實(shí)戰(zhàn)經(jīng)典基礎(chǔ)篇[M].北京:清華大學(xué)出版社,2010.

[10] Xie L,Yin Y F,Vasilakos A V,et al.Managing RFID data:challenges,opportunities and solutions[J].IEEE Communications Surveys and Tutorials,2014,16(3):1294-1311.

DESIGN AND IMPLEMENTATION OF B/S MANAGEMENT SYSTEM FOR RFID READERS BASED ON AJAX AND MVC

Huang Youfu Li Jianqiang Xu Kun

(StateKeyLaboratoryofInformationPhotonicsandOpticalCommunications,BeijingUniversityofPostsandTelecommunications,Beijing100876,China)

Certain problems exist in distributed RFID system when monitoring large-scale readers, such as the bad real-time performance and the high manpower cost. In light of this, we design an efficient browser/server management system for the real-time monitoring of a large numbers of readers, and implement it as well. We adopt the MVC hierarchical design pattern in order to achieve efficient separation of the page expression from the business logic, this reduces the coupling degrees between modules of the system; By making use of the asynchronous interaction mechanism provided by Ajax, the front end can be updated without refreshing, so the response speed of clients is further improved, therefore the system achieves the function of efficient real-time monitoring on a great deal of readers connected within a LAN. This system has stable performance, good scalability and maintainability.

Ajax MVC RFID reader Management system

2015-06-25。國(guó)家自然科學(xué)基金項(xiàng)目(61431003,6130 2086)。黃佑夫,碩士生,主研領(lǐng)域:RFID管理系統(tǒng)。李建強(qiáng),副教授。徐坤,教授。

TP3

A

10.3969/j.issn.1000-386x.2016.11.011

猜你喜歡
讀寫(xiě)器調(diào)用視圖
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
5.3 視圖與投影
視圖
Y—20重型運(yùn)輸機(jī)多視圖
SA2型76毫米車(chē)載高炮多視圖
基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
基于視頻抓拍讀寫(xiě)器的高速公路防倒卡研究
基于隨機(jī)時(shí)隙的RFID讀寫(xiě)器防沖突方法
利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
腾冲县| 阿拉善左旗| 张家川| 阿合奇县| 南陵县| 手游| 江安县| 北宁市| 思南县| 洮南市| 绵阳市| 闻喜县| 贵南县| 丰城市| 内江市| 北碚区| 玉林市| 金华市| 嘉荫县| 五河县| 宜兴市| 新巴尔虎右旗| 金坛市| 三原县| 五常市| 申扎县| 汉源县| 方城县| 观塘区| 嘉鱼县| 伊宁县| 汤原县| 上林县| 柯坪县| 宁城县| 益阳市| 错那县| 榆中县| 红河县| 云龙县| 攀枝花市|