孫 恒
(山東大學(xué) 外國語學(xué)院現(xiàn)代教育技術(shù)實(shí)驗(yàn)室,山東 濟(jì)南 250100)
?
基于NFC技術(shù)和云服務(wù)的新型門禁系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
孫 恒
(山東大學(xué) 外國語學(xué)院現(xiàn)代教育技術(shù)實(shí)驗(yàn)室,山東 濟(jì)南 250100)

目前主流門禁系統(tǒng)中最普遍使用的非接觸式感應(yīng)IC卡,雖然發(fā)放靈活,但存在操作步驟繁瑣、制卡成本高且易被復(fù)制、攜帶不便、易折損、卡片丟失后無法掛失等缺點(diǎn)。針對(duì)以上問題,使用目前流行的NFC技術(shù)和已經(jīng)非常成熟的云端服務(wù),設(shè)計(jì)并實(shí)現(xiàn)了基于NFC技術(shù)和云服務(wù)的新型門禁系統(tǒng)。以Android智能移動(dòng)平臺(tái)為例,通過將具有NFC功能的智能手機(jī)作為開鎖介質(zhì),與運(yùn)行在微軟Windows Azure云服務(wù)上的新型門禁系統(tǒng)進(jìn)行數(shù)據(jù)交互,完成授權(quán)身份驗(yàn)證、實(shí)現(xiàn)開關(guān)門功能,使具有NFC功能的智能手機(jī)代替?zhèn)鹘y(tǒng)實(shí)體鑰匙和IC卡作為門禁系統(tǒng)開關(guān)門鎖成為現(xiàn)實(shí)。
NFC; 云服務(wù); Windows Azure; 門禁系統(tǒng); Android
隨著社會(huì)經(jīng)濟(jì)和科技的發(fā)展,智能化門禁系統(tǒng)越來越多地應(yīng)用于社會(huì)各方面。門禁系統(tǒng)不僅可以自動(dòng)開關(guān)門鎖,還具有記錄進(jìn)出日志、查詢進(jìn)出人員資料等功能。目前廣泛使用的電子磁卡鎖、電子密碼鎖,它們本身的缺陷也很明顯,磁卡鎖的問題是信息容易復(fù)制,密碼鎖的問題是密碼容易泄露,又無從查起,從而使得他們的安全系數(shù)都很低。近幾年隨著科技的進(jìn)步,多種新技術(shù)用于門禁系統(tǒng),包括指紋識(shí)別、虹膜識(shí)別、人臉識(shí)別等。它們都屬于生物識(shí)別技術(shù)范疇,具有唯一性和不可復(fù)制性,成為相對(duì)安全的身份識(shí)別方法,但由于設(shè)備精密、價(jià)格昂貴等問題導(dǎo)致這些技術(shù)難以普及,只能用于保密等級(jí)要求高的地方,并不適合學(xué)院辦公室、實(shí)驗(yàn)室等環(huán)境使用[1]。
得益于移動(dòng)通訊網(wǎng)絡(luò)的日趨發(fā)達(dá)和Android智能手機(jī)的快速普及,無線網(wǎng)絡(luò)支持的上下行數(shù)據(jù)速率不斷提高,Android智能手機(jī)逐漸成為人們身邊不可缺少的信息終端。具有NFC功能的智能手機(jī)在市場上占據(jù)主導(dǎo)地位,基于NFC技術(shù)的應(yīng)用越來越受到重視。
綜合上述分析,本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于NFC技術(shù)和云服務(wù)的新型門禁系統(tǒng)。用戶使用具有NFC功能的智能手機(jī)向由云服務(wù)提供的門禁系統(tǒng)申請(qǐng)開門權(quán)限,在系統(tǒng)分配門禁權(quán)限后即可用智能手機(jī)打開門鎖。使用NFC技術(shù)和云服務(wù)的新型門禁系統(tǒng)具有安全、方便、成本低等多項(xiàng)優(yōu)點(diǎn),是未來新型門禁系統(tǒng)的發(fā)展方向[2]。
由于需要面向用戶提供不間斷的7×24 h門禁服務(wù),所以系統(tǒng)的穩(wěn)定性和安全性處于首要位置。我們采用目前流行的Windows平臺(tái)應(yīng)用程序Visual Studio 2015預(yù)覽版作為程序開發(fā)集成環(huán)境,使用該環(huán)境進(jìn)行移動(dòng)端和云端應(yīng)用程序的開發(fā),數(shù)據(jù)庫采用微軟的Windows Azure云服務(wù)平臺(tái)中的SQL Azure應(yīng)用進(jìn)行系統(tǒng)開發(fā)[3]。
1.1 系統(tǒng)技術(shù)架構(gòu)設(shè)計(jì)
1.1.1 NFC技術(shù)
門禁系統(tǒng)中使用到的近距離無線通訊技術(shù)(Near Field Communication,NFC),由飛利浦公司和索尼公司等共同開發(fā)的一種非接觸式識(shí)別和互聯(lián)技術(shù),能在短距離內(nèi)與兼容設(shè)備進(jìn)行識(shí)別和數(shù)據(jù)交換。工作頻率為13.56 MHz。NFC提供了一種簡單、觸控式的解決方案,可以在移動(dòng)設(shè)備、消費(fèi)類電子產(chǎn)品、PC 和智能控件工具間進(jìn)行近距離無線通信。NFC技術(shù)同時(shí)也符合ISO/IEC IS 18092國際標(biāo)準(zhǔn)、ECMA-340標(biāo)準(zhǔn)與ETSI TS 102 190標(biāo)準(zhǔn)[4-5]。
NFC共有3種工作模式:
(1) 卡模擬模式。該模式將NFC設(shè)備模擬成一張IC卡。在此種方式下,有一個(gè)極大的優(yōu)點(diǎn),那就是卡片通過非接觸讀卡器的RF域來供電,即便是NFC設(shè)備沒電也可以工作。
(2) 點(diǎn)對(duì)點(diǎn)模式。該模式用于數(shù)據(jù)交換,且傳輸距離較短,傳輸速度快,功耗低。本系統(tǒng)就是使用該模式,用于智能手機(jī)與門禁系統(tǒng)NFC讀卡器進(jìn)行相關(guān)數(shù)據(jù)交換。
(3) 讀卡器模式。該模式將NFC設(shè)備作為非接觸讀卡器使用,從電子標(biāo)簽上讀取相關(guān)信息。
1.1.2 云服務(wù)技術(shù)
系統(tǒng)選用了微軟的Windows Azure云服務(wù)作為服務(wù)器平臺(tái)。Windows Azure是微軟公司開發(fā)的云平臺(tái),為用戶提供在微軟云數(shù)據(jù)中心內(nèi)的數(shù)據(jù)存儲(chǔ)、云計(jì)算、網(wǎng)絡(luò)和多種云應(yīng)用等服務(wù)。用戶可在Windows Azure上構(gòu)建多種與自己相關(guān)的云應(yīng)用,還可利用開放架構(gòu),開發(fā)與用戶本地服務(wù)器、計(jì)算機(jī)和其他工具相連的應(yīng)用[6]。Windows Azure云平臺(tái)技術(shù)架構(gòu)見圖1。
Windows Azure云平臺(tái)主要包含3種服務(wù):
(1) Windows Azure服務(wù)。Windows Azure是云服務(wù)的操作系統(tǒng),提供開發(fā)、服務(wù)宿主和服務(wù)配置管理功能,其中包括提供基于虛擬機(jī)的計(jì)算服務(wù)和基于Blobs等的存儲(chǔ)服務(wù)。

圖1 Windows Azure云平臺(tái)技術(shù)架構(gòu)
(2) SQL Azure服務(wù)。SQL Azure是云端數(shù)據(jù)庫,是建立在SQL Server技術(shù)上的基于云計(jì)算的數(shù)據(jù)庫服務(wù),由微軟基于云進(jìn)行托管,提供的是可擴(kuò)展、多租戶、高可用的數(shù)據(jù)庫服務(wù)。
(3) Windows Azure AppFabric服務(wù)。AppFabric是連接Windows Azure和SQL Azure的中間件,幫助開發(fā)人員在云部署、內(nèi)部部署和托管部署之間架起橋梁,幫助開發(fā)人員在云端連接應(yīng)用程序和云計(jì)算服務(wù),應(yīng)用程序可是運(yùn)行在Windows Azure、Windows Server、Java等平臺(tái)上。
在實(shí)際應(yīng)用中,用戶使用自建服務(wù)器的購置成本和運(yùn)營成本較高,而使用云服務(wù)器的成本要大大低于自建服務(wù)器。以本系統(tǒng)為例,在自建服務(wù)器條件下,購置普通級(jí)別服務(wù)器價(jià)格在3萬元左右,SQL Server多用戶正版軟件的價(jià)格在1.8萬元左右,僅前期軟硬件投入就達(dá)到5萬元,這并不包括系統(tǒng)在后續(xù)使用中出現(xiàn)的軟硬件維持費(fèi)用。而使用WindowsAzure云平臺(tái)則沒有前期投入成本,無終止服務(wù)費(fèi)用,只為使用的服務(wù)付費(fèi),且按照使用的分鐘計(jì)費(fèi)。使用WindowsAzure云平臺(tái)中標(biāo)準(zhǔn)版SQL數(shù)據(jù)庫一年費(fèi)用約0.3萬元,云服務(wù)費(fèi)1年約1萬元,總計(jì)1.3萬元。最重要的是云服務(wù)器的穩(wěn)定性要遠(yuǎn)遠(yuǎn)高于自建服務(wù)器,因?yàn)槠浜诵募夹g(shù)由微軟云平臺(tái)技術(shù)人員完成,不再需要用戶抽調(diào)專人對(duì)操作系統(tǒng)軟件和服務(wù)器硬件進(jìn)行前期和后期運(yùn)行、升級(jí)維護(hù)[7]。
1.2 系統(tǒng)功能架構(gòu)設(shè)計(jì)
基于NFC技術(shù)和云服務(wù)的新型門禁系統(tǒng)采用框架設(shè)計(jì),分為3層體系結(jié)構(gòu),實(shí)現(xiàn)跨平臺(tái)服務(wù)。系統(tǒng)包括4個(gè)功能層次:用戶接入層,應(yīng)用服務(wù)層、業(yè)務(wù)管理層及系統(tǒng)支撐環(huán)境。通過管理系統(tǒng)平臺(tái)支持整體業(yè)務(wù)。管理平臺(tái)采用模塊化管理設(shè)計(jì),包含各個(gè)功能模塊及子系統(tǒng)應(yīng)用:數(shù)據(jù)庫管理、日志管理、用戶管理、門禁核心系統(tǒng)管理、通訊接口管理、配置模塊等。在此基礎(chǔ)上還可以進(jìn)一步進(jìn)行系統(tǒng)功能擴(kuò)展如來訪管理、考勤管理等模塊。系統(tǒng)包括云端WEB模式和本地應(yīng)用程序兩種管理模式,可以使管理員人員更加便捷地進(jìn)行系統(tǒng)維護(hù)和審核[8]。系統(tǒng)功能架構(gòu)見圖2。

圖2 系統(tǒng)功能架構(gòu)
基于NFC技術(shù)和云服務(wù)的新型門禁系統(tǒng)利用先進(jìn)的NFC技術(shù)和互聯(lián)網(wǎng)云服務(wù)進(jìn)行數(shù)據(jù)通信。系統(tǒng)物理架構(gòu)見圖3。系統(tǒng)充分使用云服務(wù)器進(jìn)行負(fù)載平衡和分布式數(shù)據(jù)處理,技術(shù)性能穩(wěn)定可靠,費(fèi)用低,是目前主流的云端的解決方案。具有NFC功能的智能手機(jī)通過移動(dòng)3 G、4 G網(wǎng)絡(luò)或者無線局域網(wǎng)與在云服務(wù)器端運(yùn)行的門禁系統(tǒng)進(jìn)行身份認(rèn)證和數(shù)據(jù)交互通訊。云服務(wù)器通過VPN專用網(wǎng)絡(luò)對(duì)門禁主控制器、門鎖控制器進(jìn)行開關(guān)門操作。為防止可能會(huì)出現(xiàn)的網(wǎng)絡(luò)異常導(dǎo)致門禁系統(tǒng)出現(xiàn)故障,特別將本地正在運(yùn)行的一臺(tái)服務(wù)器作為門禁系統(tǒng)備份服務(wù)器使用,每天通過作業(yè)計(jì)劃自動(dòng)地將云端數(shù)據(jù)庫備份至本地?cái)?shù)據(jù)庫,并且在云數(shù)據(jù)庫出現(xiàn)數(shù)據(jù)更改時(shí),立即自動(dòng)同步修改本地備份數(shù)據(jù)庫的相應(yīng)數(shù)據(jù),始終保持本地?cái)?shù)據(jù)庫與云端數(shù)據(jù)庫的一致性和完整性。在云端網(wǎng)絡(luò)出現(xiàn)故障無法使用時(shí),本地PC主控端和本地?cái)?shù)據(jù)庫服務(wù)器可以立刻自動(dòng)接管門禁系統(tǒng),完成門禁系統(tǒng)數(shù)據(jù)庫由云端提供服務(wù)轉(zhuǎn)為由本地?cái)?shù)據(jù)庫系統(tǒng)提供服務(wù),實(shí)現(xiàn)網(wǎng)絡(luò)端與本地端控制的無縫切換[9]。

圖3 系統(tǒng)物理架構(gòu)
1.3 系統(tǒng)運(yùn)行流程設(shè)計(jì)
用戶通過智能手機(jī)APP程序進(jìn)行門禁管理系統(tǒng)注冊、綁定NFC終端、申請(qǐng)門禁權(quán)限等操作。系統(tǒng)管理員分配門禁權(quán)限后,用戶使用NFC終端作為鑰匙即可打開門鎖,通過移動(dòng)終端與門禁的結(jié)合,實(shí)現(xiàn)了簡單快捷的開鎖方法[10-11]。
(1) 用戶智能手機(jī)移動(dòng)端APP程序注冊流程。見圖4。用戶首先啟動(dòng)移動(dòng)端的APP程序,填寫對(duì)應(yīng)

圖4 移動(dòng)終端注冊流程
的詳細(xì)注冊信息通過移動(dòng)網(wǎng)絡(luò)或者無線局域網(wǎng)絡(luò)提交給云服務(wù)器進(jìn)行處理。管理員通過云端信息設(shè)定,判定注冊申請(qǐng)是否合法。如果不合法,返回信息,并在移動(dòng)端提示錯(cuò)誤信息,并結(jié)束注冊操作;注冊申請(qǐng)合法,則在移動(dòng)終端進(jìn)行下一步數(shù)據(jù)統(tǒng)計(jì)。用戶在智能手機(jī)移動(dòng)端注冊終端號(hào)碼及使用APP讀取移動(dòng)終端的NFC識(shí)別碼,將數(shù)據(jù)發(fā)送給云服務(wù)器端,并使用服務(wù)器返回的驗(yàn)證碼,完成移動(dòng)終端號(hào)碼及NFC識(shí)別碼的綁定。經(jīng)云服務(wù)器端核實(shí)驗(yàn)證后,如果不一致,則返回綁定失敗提示;核實(shí)驗(yàn)證一致時(shí),則向移動(dòng)端發(fā)送綁定成功提示,完成整個(gè)注冊過程。
(2) 門禁系統(tǒng)開鎖流程。見圖5。門禁系統(tǒng)開鎖分為2部分,一部分為移動(dòng)終端開鎖,另一部分為NFC門禁系統(tǒng)開鎖。移動(dòng)終端開鎖:用戶啟動(dòng)移動(dòng)終端的APP程序,通過輸入密碼連接云服務(wù)器端進(jìn)行用戶合法性驗(yàn)證,不合法,提示錯(cuò)誤信息,并退出操作;用戶信息合法,則由移動(dòng)終端APP顯示開鎖按鈕,并同時(shí)啟動(dòng)移動(dòng)端NFC功能準(zhǔn)備與門禁系統(tǒng)的NFC讀卡器進(jìn)行數(shù)據(jù)通訊。NFC門禁系統(tǒng)開鎖:門禁系統(tǒng)的NFC讀卡器一直處于通電工作狀態(tài)中,輪詢是否偵測到外界NFC信號(hào)。如果偵測到NFC信號(hào),讀取移動(dòng)終端的NFC信息并同時(shí)判斷門禁系統(tǒng)是否與云端聯(lián)網(wǎng),如出現(xiàn)斷網(wǎng)現(xiàn)象,就自動(dòng)連接本地門禁數(shù)據(jù)庫進(jìn)行開門權(quán)限驗(yàn)證;如果系統(tǒng)可以與云端聯(lián)網(wǎng),則將信息上傳至云端數(shù)據(jù)庫進(jìn)行開門權(quán)限驗(yàn)證。經(jīng)系統(tǒng)驗(yàn)證、信息一致后,由系統(tǒng)發(fā)送開鎖指令到門鎖控制器,進(jìn)行開門,并將開門日志寫入系統(tǒng)數(shù)據(jù)庫中;如信息不一致,則提示無權(quán)限,并退回。

圖5 門禁系統(tǒng)開鎖流程
1.4 系統(tǒng)云數(shù)據(jù)庫設(shè)計(jì)
SQL Azure是以微軟SQL Server 2008為基礎(chǔ),建構(gòu)在Microsoft Azure云操作系統(tǒng)上、運(yùn)行云計(jì)算的關(guān)系數(shù)據(jù)庫服務(wù),它可以提供網(wǎng)絡(luò)型應(yīng)用程序數(shù)據(jù)存儲(chǔ)的服務(wù)。外部應(yīng)用程序或服務(wù)可以不用在乎數(shù)據(jù)庫實(shí)際存儲(chǔ)位置,只需利用SQL Fabric殼層服務(wù)即可連接到對(duì)應(yīng)的服務(wù)器,雖然每一次連接所提供服務(wù)的服務(wù)器可能會(huì)不同,但是都能保證云存儲(chǔ)的高度可用性[12]。整個(gè)數(shù)據(jù)庫中最主要的表為信息表NFCCard _info,出入信息表NFCCard_record。信息表NFCCard _info中,NFC_id作為主鍵來對(duì)NFC卡進(jìn)行唯一性確定。其余字段作為補(bǔ)充條件對(duì)用戶其他信息進(jìn)行登記。出入信息表NFCCard_record中,Record_id作為主鍵,其他相關(guān)記錄信息作為補(bǔ)充內(nèi)容標(biāo)示信息的唯一性。具體內(nèi)容見表1、表2。
2.1 移動(dòng)終端系統(tǒng)實(shí)現(xiàn)
裝有APP開鎖程序的智能手機(jī)移動(dòng)終端,通過3G、4G網(wǎng)絡(luò)、無線網(wǎng)絡(luò)與門禁管理系統(tǒng)數(shù)據(jù)庫進(jìn)行網(wǎng)絡(luò)通信,完成數(shù)據(jù)交互任務(wù)。用戶使用登錄/注冊功能向云端門禁系統(tǒng)申請(qǐng)注冊開鎖程序,并且綁定用戶和NFC識(shí)別碼,為憑借移動(dòng)終端開啟門禁系統(tǒng)做準(zhǔn)備。在成為合法使用門禁系統(tǒng)的用戶后,用開/關(guān)鎖功能將移動(dòng)終端作為開鎖介質(zhì)進(jìn)行開門關(guān)門操作。在進(jìn)行與程序相關(guān)的其他操作,使用設(shè)置功能如更改登錄密碼等。管理員在沒有臺(tái)式電腦環(huán)境下也可以對(duì)門禁系統(tǒng)的電子鑰匙開門權(quán)限進(jìn)行管理,通過在移動(dòng)端的APP程序,使用管理員賬號(hào)登錄后,可以對(duì)門禁權(quán)限和賬號(hào)進(jìn)行管理[13]。

表1 信息表NFCCard_info

表2 出入信息表NFCCard_record
移動(dòng)端APP程序需要與云端服務(wù)器進(jìn)行數(shù)據(jù)連接,在.Net開發(fā)環(huán)境下,連接數(shù)據(jù)庫最常用的方法是使用ADO.Net[14]。在SQL Azure環(huán)境下,ADO.Net可以繼續(xù)使用,不用學(xué)習(xí)新的知識(shí)與技能就可以很容易的連接到SQL Azure數(shù)據(jù)庫上,減少了單獨(dú)學(xué)習(xí)云應(yīng)用開發(fā)的成本。使用程序連接到SQL Azure,需要使用System.Data.SqlClient.SqlConnectionStringBuilder類,代碼如下:
private string GetDbConnection() //連接云端數(shù)據(jù)庫
{
SqlConnectionStringBuilderconnBuilder =
newSqlConnectionStringBuilder();
string server = "unjikh4kim.database.windows.net"; //經(jīng)過加密的云端數(shù)據(jù)庫地址
connBuilder.DataSource = server;
connBuilder.InitialCatalog = "TestDB"; //云端數(shù)據(jù)庫名
connBuilder.Encrypt = true;
connBuilder.TrustServerCertificate = true;
connBuilder.UserID = "sqladmin"; //云數(shù)據(jù)庫用戶名
connBuilder.Password = "pass@word"; //從云服務(wù)器端取得的經(jīng)過加密的密碼
returnconnBuilder.ToString();
}
private void ExcuteSQL() //管理員使用移動(dòng)端進(jìn)行數(shù)據(jù)管理時(shí),使用連接字符串,執(zhí)行SQL語句
{
using (SqlConnection conn = new SqlConnection(GetDbConnection()))
{
using (SqlCommand command = conn.CreateCommand())
{ // 插入數(shù)據(jù)
command.CommandText = String.Format
("INSERT INTO NFCCard_info(NFC_id, NFC_number,NFC_tape) " +
"values ({*}, {*}, {*})", int, int, int);
introwsAdded = command.ExecuteNonQuery();
DisplayResults(command);
}
}
}
在移動(dòng)終端與云端服務(wù)器完成身份驗(yàn)證后,自動(dòng)啟動(dòng)移動(dòng)終端的NFC功能與門禁系統(tǒng)的NFC讀卡器進(jìn)行數(shù)據(jù)交換認(rèn)證。在Android平臺(tái)中,NFC系統(tǒng)模塊運(yùn)行在一個(gè)名為com.android.nfc的進(jìn)程中,該進(jìn)程對(duì)應(yīng)的應(yīng)用程序文件名為Nfc.apk。Nfc.apk源碼中包含一個(gè)NfcApplication類。當(dāng)該應(yīng)用啟動(dòng)時(shí),NfcApplication的onCreate函數(shù)將被調(diào)用。正是在這個(gè)onCreate函數(shù)中,NFC系統(tǒng)模塊的核心成員NfcService得以創(chuàng)建。下面是NfcService的構(gòu)造函數(shù):
[-->NfcService.java::NfcService]
public NfcService(Application nfcApplication) { //NFC系統(tǒng)模塊重要成員
mNfcTagService = new TagService(); //TagService用于和NFC Tag交互
mNfcAdapter = new NfcAdapterService(); //和NfcService的客戶端交互
mExtrasService = new NfcAdapterExtrasService(); //和卡模擬客戶端交互
sService = this; mContext = nfcApplication;
mDeviceHost = new NativeNfcManager(mContext, this); //與NFC模塊交互
HandoverManagerhandoverManager = new HandoverManager(mContext);
mNfcDispatcher = new NfcDispatcher(mContext, handoverManager); //發(fā)送nfc tag通知
mP2pLinkManager = new P2pLinkManager(mContext, handoverManager,
mDeviceHost.getDefaultLlcpMiu(), //處理LLCP相關(guān)工作
mDeviceHost.getDefaultLlcpRwSize());
mSecureElement = new NativeNfcSecureElement(mContext); //和SE交互
mEeRoutingState = ROUTE_OFF;
mNfceeAccessControl = new NfceeAccessControl(mContext); //判斷操作權(quán)限
ServiceManager.addService(SERVICE_NAME, mNfcAdapter); //注冊名為nfc的服務(wù)
newEnableDisableTask().execute(TASK_BOOT); //初始化工作
}
2.2 管理系統(tǒng)各功能實(shí)現(xiàn)
基于NFC技術(shù)和云服務(wù)的新型門禁系統(tǒng)既支持云端操作又支持本地PC電腦端操作,系統(tǒng)功能主要由以下幾個(gè)模塊組成。
(1) 登錄模塊。管理員可以選擇密碼登錄或者啟動(dòng)移動(dòng)終端NFC功能進(jìn)行刷卡確認(rèn)登錄系統(tǒng)進(jìn)行相關(guān)數(shù)據(jù)操作,如果云端服務(wù)器登錄失敗,可以使用PC端的管理程序登錄本地?cái)?shù)據(jù)庫,由于云端數(shù)據(jù)庫與本地?cái)?shù)據(jù)庫進(jìn)行實(shí)時(shí)同步,所以可保證數(shù)據(jù)的一致性。
(2) 設(shè)備參數(shù)設(shè)置模塊。用于添加、刪除門禁系統(tǒng)控制器,配置控制器的IP地址。設(shè)置控制器管理區(qū)域。添加、修改門的控制方式、開門延時(shí)等。設(shè)置NFC讀卡器屬性等功能。
(3) 用戶權(quán)限操作模塊。設(shè)置部門信息和個(gè)人用戶信息。審核移動(dòng)端APP提交的門禁權(quán)限申請(qǐng)。NFC終端權(quán)限的分配及管理。必要時(shí)進(jìn)行考勤功能的添加。可對(duì)未分配權(quán)限的用戶進(jìn)行查詢。
(4) 基本操作模塊。添加刪除門禁系統(tǒng)管理權(quán)限,添加指定用戶對(duì)選定門的進(jìn)出權(quán)限并上傳到總控制臺(tái)。復(fù)制門和用戶權(quán)限。系統(tǒng)開門詳細(xì)記錄查詢。
(5) 常用工具模塊。如修改登陸用戶名和密碼,備份/壓縮數(shù)據(jù)庫,同步云端數(shù)據(jù)庫等基本常用功能。
(6) 考勤管理功能模塊。適用于實(shí)驗(yàn)室以及學(xué)校各部門的考勤管理,可以設(shè)定自動(dòng)開始考勤開始時(shí)間和考勤結(jié)束時(shí)間,具有考勤自動(dòng)統(tǒng)計(jì)和自動(dòng)按需生成報(bào)表功能。
(7) 擴(kuò)展功能模塊。可以記錄管理員每一次按鈕事件,查找每一次按鈕事件的具體時(shí)間和日志查詢功能等功能。并支持其他數(shù)據(jù)開發(fā)操作。
2.3 云服務(wù)及數(shù)據(jù)庫功能實(shí)現(xiàn)
系統(tǒng)管理員通過Windows Azure管理平臺(tái)對(duì)門禁系統(tǒng)的云平臺(tái)進(jìn)行管理控制。首先創(chuàng)建名為door-access的云服務(wù)進(jìn)行整體服務(wù)框架建設(shè)。接著進(jìn)行生產(chǎn)部署,通過上傳包括門禁應(yīng)用主程序和相應(yīng)的配置,實(shí)現(xiàn)云服務(wù)的正式運(yùn)行發(fā)布。Windows Azure生產(chǎn)部署速度非常迅速,以保證從資源配置、負(fù)載平衡到運(yùn)行狀況監(jiān)控的持續(xù)可用性。其次,利用平臺(tái)SQL數(shù)據(jù)庫新建door-access門禁系統(tǒng)的數(shù)據(jù)庫。從云管理端獲取到經(jīng)過加密后的數(shù)據(jù)庫用戶名和數(shù)據(jù)庫鏈接地址,通過本地端的Visual Studio 2015或者本地SQL Server管理功能對(duì)云端數(shù)據(jù)庫進(jìn)行建表、修改等操作。然后,建立云儲(chǔ)存帳戶進(jìn)行應(yīng)用程序和數(shù)據(jù)庫等相關(guān)資源的存儲(chǔ),并且通過建立名為door-access的作業(yè)集合,來完成云數(shù)據(jù)庫和本地?cái)?shù)據(jù)庫之間相關(guān)同步操作,在云平臺(tái)端的數(shù)據(jù)庫由云平臺(tái)自動(dòng)實(shí)現(xiàn)定時(shí)定量異地多點(diǎn)備份,免于出現(xiàn)異常故障導(dǎo)致的系統(tǒng)崩潰。最后,使用流量管理器對(duì)訪問云端的數(shù)據(jù)流進(jìn)行閾值相關(guān)設(shè)置,保證網(wǎng)絡(luò)訪問流量不會(huì)過載。至此,云端服務(wù)及云端計(jì)算就已經(jīng)完成,門禁系統(tǒng)可進(jìn)行正常工作運(yùn)轉(zhuǎn)[15]。
3.1 移動(dòng)終端開鎖測試
用戶使用已經(jīng)在門禁系統(tǒng)注冊并且經(jīng)管理員驗(yàn)證的移動(dòng)終端,在任意網(wǎng)絡(luò)連接狀態(tài)下,只要輸入開關(guān)鎖個(gè)人密碼,通過網(wǎng)絡(luò)云服務(wù)器進(jìn)行確認(rèn),由移動(dòng)終端自動(dòng)開啟NFC功能后,再將手機(jī)靠近門禁系統(tǒng)NFC讀卡器后即可開關(guān)門鎖。省去了攜帶IC門卡、實(shí)體鑰匙的麻煩。如果用戶手機(jī)丟失或者被其他人未經(jīng)授權(quán)使用,但由于其他人不知道使用者的手機(jī)鎖屏密碼和門禁開鎖密碼,仍然無法打開門禁系統(tǒng)。
3.2 移動(dòng)終端管理測試
門禁系統(tǒng)管理員不在PC端時(shí),使用移動(dòng)端APP程序仍可以對(duì)用戶和用戶權(quán)限進(jìn)行管理,不再僅限于臺(tái)式電腦端進(jìn)行管理操作。管理員通過輸入管理賬號(hào)及密碼,進(jìn)入移動(dòng)端管理界面。在開門權(quán)限管理欄目中,可以選擇單個(gè)刪除或者批量刪除發(fā)給用戶的綁定權(quán)限及相關(guān)用戶權(quán)限信息。
NFC技術(shù)和云服務(wù)用于門禁控制管理系統(tǒng),使用戶可以更好地與門禁系統(tǒng)進(jìn)行交互,同時(shí)也給管理人員帶來了先進(jìn)、智能、快捷的運(yùn)行方案。目前,隨著樓宇智能化程度的提升,網(wǎng)絡(luò)型門禁系統(tǒng)已越來越多地被人們所采用,門禁系統(tǒng)的功能越來越強(qiáng)大,它已經(jīng)不僅僅是單一的出入口控制,而且還涉及到安防報(bào)警、物業(yè)管理、停車場出入控制、電梯運(yùn)行控制等方面,可實(shí)現(xiàn)與防盜報(bào)警系統(tǒng)、消防系統(tǒng)、電梯系統(tǒng)等集成聯(lián)動(dòng)控制的功能?;贜FC技術(shù)和云服務(wù)的門禁系統(tǒng)能為上述系統(tǒng)的集成應(yīng)用提供詳細(xì)的解決方案,具有重要現(xiàn)實(shí)的意義。在后續(xù)開發(fā)工作中,將為基于NFC技術(shù)和云服務(wù)的新型門禁系統(tǒng)擴(kuò)充NFC移動(dòng)支付功能,使其成為真正具有多種功能的移動(dòng)終端一卡通[16-17]。
[1] 王令群,何世鈞,袁小華,等. 基于J2EE和云計(jì)算的智慧社區(qū)架構(gòu)設(shè)計(jì)[J]. 實(shí)驗(yàn)室研究與探索,2014,33(1):123-127.
[2] 劉 武,孫東紅,任 萍. 基于移動(dòng)智能終端管理的遠(yuǎn)程監(jiān)控與管理技術(shù)[J]. 實(shí)驗(yàn)技術(shù)與管理,2013,30(4):58-61.
[3] 杜 娥. 基于云計(jì)算的信息化網(wǎng)絡(luò)的研究與探索[J]. 實(shí)驗(yàn)技術(shù)與管理,2014,31(5):160-161.
[4] 王 淼. NFC技術(shù)原理與應(yīng)用[M]. 北京:化學(xué)工業(yè)出版社,2014.
[5] 趙 波. Android NFC開發(fā)實(shí)戰(zhàn)詳解[M]. 北京:人民郵電出版社,2014.
[6] 徐子巖. 實(shí)戰(zhàn)Windows Azure:微軟云計(jì)算平臺(tái)技術(shù)詳解[M]. 北京:電子工業(yè)出版社,2011.
[7] 趙書蘭. Windows Azure云計(jì)算實(shí)踐[M]. 北京:電子工業(yè)出版社,2014.
[8] 李滿玲. 基于云服務(wù)的NFC門禁監(jiān)控系統(tǒng)的設(shè)計(jì)[J]. 吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版), 2014,35(2):101-104.
[9] 嚴(yán)士超,果 莉,李 明,等. 基于泛在網(wǎng)技術(shù)的實(shí)驗(yàn)室智能門禁考勤管理系統(tǒng)的研究[J]. 實(shí)驗(yàn)技術(shù)與管理,2014,31(5):162-163.
[10] 郭 寰. NFC技術(shù)與NFC手機(jī)測試方法[J]. 信息通信技術(shù),2012(4):58-62.
[11] Thomas L. Norman. Electronic Access Control[M]. United Kingdom: Butterworth-Heinemann,2011.
[12] Itzik Ben-Gan. SQL Server 2012 T-SQL基礎(chǔ)教程[M]. 北京:人民郵電出版社,2013.
[13] Tom Igoe. NFC:Arduino、Android與PhoneGap近場通信[M]. 北京:電子工業(yè)出版社,2014.
[14] 鄧凡平. 深入理解Android.Wi-Fi、NFC和GPS卷[M]. 北京:機(jī)械工業(yè)出版社,2014.
[15] 吳 劍,梁 琦,馬珂潔. 微軟云計(jì)算:Microsoft Azure開發(fā)與應(yīng)用[M]. 北京:電子工業(yè)出版社,2014.
[16] 陳慧芬,盧慶武. 云計(jì)算在高校機(jī)房管理中的應(yīng)用[J]. 實(shí)驗(yàn)室研究與探索,2013,32(7):213-216.
[17] 李郁峰,高小明. 基于網(wǎng)絡(luò)的低成本實(shí)驗(yàn)室門禁管理系統(tǒng)[J]. 實(shí)驗(yàn)室研究與探索,2010,29(6):169-171.
Design and Implementation of New Access Control System Based on NFC Technology and Cloud Service
SUNHeng
(Modern Educational Technology Lab School of Foreign Languages,Shandong University, Jinan 250100, China)
With the development of the mobile communications business, mobile communications and the Internet are combined more closely. Mobile terminal as a portable device, in addition to basic call function, also hosts a growing number of other useful features. In the current mainstream access control system non-contact sensor IC cards are most commonly used. Although issuing flexible, there are many disadvantages, such as complicated operating steps, high fabrication cost and easily copy, inconvenient to carry, easy folded, unable to report the loss after the card is lost and other shortcomings. To solve these problems, the paper proposes a new access control system based on NFC technology and cloud services. In Android smart mobile platform, for example, by having the NFC-enabled smart phone as unlock new medium access control system running on Microsoft’s Windows Azure cloud services for data exchange, the authorization authentication can be completed to achieve door switch function, so the NFC function smart phone can replace the traditional physical key and IC card access control system, and switch lock become a reality.
NFC; cloud services; Windows Azure; access control system; Android
2015-05-29
孫 恒(1981-),男,山東棗莊人,碩士,實(shí)驗(yàn)師,主要研究方向?yàn)橛?jì)算機(jī)技術(shù)應(yīng)用與網(wǎng)絡(luò)信息技術(shù)。
Tel.:15588823755;E-mail:sunheng@sdu.edu.cn
TP 311.1
A
1006-7167(2016)01-0114-07