魏小銳 謝滿 游瑞澤
(東莞理工學院 計算機學院,廣東東莞 523808)
隨著社會生活節(jié)奏的加快,日常的生活中信息交流的需求越來越大,各類團體活動越來越多,大到各種團體運動會、大型學術會議,小到各種學生社團活動。傳統(tǒng)的活動組織,采用手工簽到模式,但由于活動參與人數(shù)較多,手工簽到工作相對麻煩,具體的簽到情況也難以科學有效的管理。隨著新技術的發(fā)展,活動的組織和開展趨向于高效、易于管理和控制的方向發(fā)展。傳統(tǒng)的簽到模式下,參與人員的簽到資料匯總和分析,費時費力,且難以將報表實時化,難于及時對活動情況進行分析[1]?;贜FC技術的移動終端簽到管理系統(tǒng)可以實現(xiàn)多臺終端同時簽到、刷卡,數(shù)據(jù)可自動上傳到后臺服務器、匯總及分析報表會自動生成,并可通過移動終端進行查詢。基于NFC技術的Android簽到管理系統(tǒng)應用方便,不需要特殊設備,只需要帶有NFC芯片的手機安裝客戶端通過無線網(wǎng)絡連接到指定的服務器即可,方便活動組織者對活動的管理,提高活動管理工作效率。
Android是由谷歌公司推出的手機開發(fā)平臺,Android采用WebKit瀏覽器引擎,具備觸摸屏、高級圖形顯示和無線網(wǎng)絡通訊功能。Android操作系統(tǒng)的系統(tǒng)架構采用了分層架構,從高層到低層分別為應用程序程、應用程序框架層、系統(tǒng)運行庫層和Linux內核層組成。應用程序層主要是由JAVA語言編寫的應用程序,例如日歷、地圖、瀏覽器、聯(lián)系人管理程序等應用程度;應用程序框架層提供API框架,其中包括:視圖 (Views)、內容提供器 (Content Providers)、資源管理器 (Resource Manager)、通知管理器(Notification Manager)、活動管理器 (Activity Manager)等服務;系統(tǒng)運行庫層主要包含C/C++庫,通過Android應用程序框架為開發(fā)者提供服務。內核層中主要功能包括:安全性管理、內存管理、進程管理以及驅動程序模型等[2-3]。
Android移動操作系統(tǒng)由于其開放性、豐富的硬件支持、方便開發(fā)等特點得到了大量的移動終端廠商和開發(fā)人員的的支持,Android手機配置的多樣化、豐富易用的軟件資源吸引了大量的用戶。
NFC近場通信技術是由非接觸式射頻識別 (RFID)及互聯(lián)互通技術整合演變而來,在單一芯片上結合感應式讀卡器、感應式卡片和點對點的功能,能在短距離內與兼容設備進行識別和數(shù)據(jù)交換。NFC技術支持多種應用,包括移動支付與交易、對等式通信及移動中信息訪問等[4-5]。
NFC手機內置NFC芯片,比原先僅作為標簽使用的RFID增加了數(shù)據(jù)雙向傳送的功能,NFC設備可以用作非接觸式智能卡、智能卡的讀寫器終端以及設備對設備的數(shù)據(jù)傳輸鏈路,通過NFC手機,可以在任何地點、任何時間,通過任何設備,完成以下幾個基本類型的應用:付款和購票,電子票證,智能媒體以及交換、傳輸數(shù)據(jù)。隨著芯片成本的下降,越來越多的智能手機配置了NFC芯片,NFC智能手機的高速普及也帶來了NFC行業(yè)應用的多元化發(fā)展[6-7]。
移動簽到管理系統(tǒng)主要是利用了智能移動終端的便攜性為各種活動的組織方提供一個高效便捷的活動人員簽到管理解決方案。該方案主要是提前將活動參與人員的相關信息通過移動終端或PC端注冊到系統(tǒng)中,并將注冊介質 (比如學生入學時注冊的學生卡、帶有會議信息的NFC標簽等)發(fā)放到活動參與人手上,活動組織方可以通過在配置有NFC芯片的移動智能終端上安裝簽到管理系統(tǒng)客戶端,并對活動的信息進行相應的設置,比如活動主題、活動時間、活動地點以及可參與的活動人員等信息,所有數(shù)據(jù)通過無線網(wǎng)絡上傳到服務器端進行相應的處理。當活動參與人簽到時只需將注冊介質與安裝有簽到管理系統(tǒng)的智能終端進行近距離的接觸就可以完成整個簽到過程并且系統(tǒng)會自動顯示相關注冊人的信息。通過基于NFC技術的簽到管理系統(tǒng)可實現(xiàn)多臺移動終端同時簽到,數(shù)據(jù)自動上傳到后臺服務器進行相關處理,在后臺管理系統(tǒng)中可實現(xiàn)資料匯總及相關報表自動生成,組織方可以通過移動終端對相關活動數(shù)據(jù)進行實時查詢。
系統(tǒng)的整體架構如圖1所示,帶有NFC芯片的移動設備通過近距離無線通訊技術對簽到標簽的信息進行讀取并格式化為本地數(shù)據(jù)存儲在移動設備的本地數(shù)據(jù)庫中,相關數(shù)據(jù)標準化后通過HTTP方式上傳到服務器端并在服務器端進行相應的處理。數(shù)據(jù)在服務器端完成處理后同樣通過HTTP網(wǎng)絡傳輸?shù)较鄳囊苿咏K端并進行顯示。
圖1 系統(tǒng)總體設計框架
2.2.1 標簽與移動設備交互過程
將移動設備靠近NFC標簽或IC卡 (包括智能卡),標簽和移動設備的NFC芯片將產生短距高頻的無線電進行感應,進行近場通信。移動設備的NFC芯片通過程度驅動讀取到標簽的相關數(shù)據(jù),移動簽到管理系統(tǒng)客戶端將從芯片感應到的數(shù)據(jù)中提取出來所需的屬性及內容進行分析處理。例如在移動設備上的客戶端通過讀取標簽的唯一標識ID(每個標簽卡都有一個唯一的固有屬性ID用來標識)并與本地數(shù)據(jù)進行驗證,判斷該ID是否在該移動設備上有過感應標記,進而判斷是否存在相關信息備份和活動記錄。根據(jù)驗證結果將實現(xiàn)移動設備端的信息展示并與服務端完成數(shù)據(jù)交互。如果移動設備本地沒有該標簽的相關記錄則對該標簽進行本地記錄并與服務端進行數(shù)據(jù)同步。標簽與移動設備交互過程如圖2所示。
2.2.2 移動設備與服務器的數(shù)據(jù)交互過程
將移動設備感應到的標簽信息封裝成JSON格式的文本數(shù)據(jù),再對服務端的驗證接口進行HTTP請求,通過提取標簽信息中的ID屬性驗證是否在服務端數(shù)據(jù)庫中存在相關記錄。服務器端接收到請接后經過處理通過HTTP報文方式將數(shù)據(jù)返回給客戶端,通知該標簽是否已經注冊在本系統(tǒng)中。移動設備客戶端根據(jù)驗證結果進行響應,如果未注冊將跳轉到特定頁面提示用戶進行該標簽的注冊服務。注冊的概念是:將標簽介質和個人信息進行綁定。綁定的信息將連接服務端的注冊接口進行數(shù)據(jù)上傳,進而保存在后臺數(shù)據(jù)庫中,完成了標簽的驗證服務。
圖2 標簽與移動設備交互流程圖
如果服務端中已經存在感應標簽的相關信息,則說明該標簽已經進行了注冊服務,那么將通知客戶端對該感應標簽進行下一步的簽到服務。在簽到服務中,需要客戶端預先對服務端進行活動的設定,整個設定的過程均通過HTTP請求,客戶端的持有者需要用特定賬戶登錄后臺系統(tǒng),每個特定賬戶將在后臺系統(tǒng)中擁有專屬的空間用于創(chuàng)建各種自定義活動。例如活動地點、時間、簽到用戶等信息,這些信息將在服務端進行保存,同時也封裝成JSON格式數(shù)據(jù)返回給客戶端進行信息展示。
在簽到流程中,將感應的標簽ID信息傳遞到服務端的簽到接口中,簽到接口將對此ID進行數(shù)據(jù)分析,判斷當前是否處于特定的簽到環(huán)境中,比如是否處于簽到時間范圍內,再將相關結果通知給客戶端??蛻舳烁鶕?jù)接收的數(shù)據(jù)進行響應,以彈窗方式告知用戶是否簽到成功,或是當前是否處于簽到環(huán)境中。移動設備和服務器間的數(shù)據(jù)交互過程如圖3所示。
2.3.1 標簽與移動設備交互過程相關接口
標簽與移動設備之間的接口主要是近場通信中的NFC感應接口和標簽的數(shù)據(jù)傳輸接口。主要包括NFC感應系統(tǒng)模塊Reaction和傳輸模塊Trans。
NFC感應模塊Reaction主要是啟動移動設備中的NFC模塊,進行初始化并進入感應模式。當移動設備處于感應模式就做好了數(shù)據(jù)的讀取準備,如果標簽處于感應距離之內立即進行數(shù)據(jù)讀取,完成前期的數(shù)據(jù)采集工作。
Reaction模塊主要有以下接口:
DeviceInit:設備初始化接口,該接口主要用于驗證設備對NFC技術的支持情況,并做好相關配置的初始化,比如檢測當前設備支持的NFC類型,并獲取NFC芯片的相關參數(shù);
ResourceInit:資源初始化接口,該接口用于初始NFC芯片在運行時所需的相關資源,這里包括界面視圖資源和芯片配置資源;
FunctionInit:功能初始化接口,該接口主要是運行時的數(shù)據(jù)處理方法的初始化。
圖3 動設備與服務器的數(shù)據(jù)交互流程圖
Trans模塊主要有以下接口:
DataTrans:數(shù)據(jù)傳輸接口,主要用于NFC芯片和移動設備間在傳輸過程中的操作方法,主要是對感應數(shù)據(jù)傳輸?shù)木唧w操作;
ServiceClose:服務關閉接口,用于感應過程結束后對各個資源的關閉操作,從而讓移動設備處于低耗的狀態(tài)。
2.3.2 移動設備與服務器的數(shù)據(jù)交互接口
服務器端作為數(shù)據(jù)和相關計算服務的核心,保證了整個簽到過程的信息完整性和及時性。在移動設備和服務器間的交互過程中主要有這幾大模塊:賬戶注冊登錄模塊UserAccount,賬戶簽到模塊User-Sign,后臺管理模塊ServerManage。
UserAccount:注冊登錄模塊主要提供標簽和對應持卡人的信息注冊和登錄服務,使相應標簽能夠被系統(tǒng)識別。其有如下接口:
UserCheck:標簽檢測接口,用于檢測標簽信息是否注冊;
UserResponse:反饋接口,針對不同接口服務端將反饋給客戶端相應的事件,從而通知客戶端進行響應。
UserSign:簽到模塊定義了簽到過程中需要包括的步驟,保證用戶的簽到過程嚴謹而準確并能實時記錄。主要有以下接口:
SignInit:簽到環(huán)境的檢測接口,定義了一些方法在服務端中分析相關數(shù)據(jù)檢驗當前的簽到環(huán)境,比如檢驗當前是否有相關活動需要簽到,相關簽到時間是否在允許范圍內;
SignCheck:登錄信息檢測接口,用于檢測某標簽是否已經記錄過相應的簽到信息,從而獲取返回結果;
SignResponse:簽到的反饋接口,將簽到的接口返回給客戶端,并根據(jù)相應事件提示給用戶。
ServerManage:后臺管理模塊,主要用于管理員和后臺系統(tǒng)間的交互,完成簽到、活動創(chuàng)建等服務的進行。其有如下接口:
AdminCheck:管理員管理接口,定義了包括檢查賬戶信息等過程的接口,主要用于系統(tǒng)對客戶端提交的管理員登陸信息進行驗證,從而決定是否擁有后臺操作的權限;
ActivityManage:簽到活動的管理接口,客戶端可以提交創(chuàng)建活動,編輯活動,查看活動簽到情況等請求,務端需要對此進行響應,此接口定義了一系列相關方法來實現(xiàn)這些服務。
基于NFC技術的移動簽到管理系統(tǒng)提供了移動端管理功能,如圖4(a)所示,管理員通過“設定”進入設置界面可以對服務器路徑等信息進行設置,通過“后臺”可以登錄到管理界面,如圖4(b)所示,通過列表方式顯示系統(tǒng)中的所有簽到信息摘要,簽到信息摘要中主要顯示主題摘要及相應的已簽到人數(shù),例如,“NFC培訓 (11)”表示該簽到主題是NFC培訓,已簽到人數(shù)11人;“計算機學院教學研討會”表示該主題暫時沒有已簽到人員。點擊簽到信息摘要可以查看簽到主題的所有信息,包括活動主題、時間、地點以及已簽到人員等。在本界面中可以通過右上角的“+”創(chuàng)建新的主題,如圖4(c)所示,可以對活動主題、活動開始時間、活動地點以及主題備注信息等資料進行設置,完成簽到主題創(chuàng)建后會返回上一主題列表界面。在實際的應用過程中,用戶可以根據(jù)活動的需要對所持的移動終端進行相應的設置,不同的用戶終端可以開啟不同的簽到主題,當移動客戶端開啟了某一主題的簽到時,界面會顯示當前的簽到主題以及簽到信息,如圖4(d)所示,當前的簽到主題為:計算機學院教學研討會,當前的簽到人員為:0?;贜FC技術的移動簽到管理系統(tǒng)為了使系統(tǒng)更加易用以及可擴展性,移動客戶端可開啟不同的簽到主題,簽到時間自動開啟結束,實現(xiàn)了在移動端對服務器端的遠程設置,不同的移動端可連接不同的服務器端,所有信息上傳到統(tǒng)一的服務器端方便管理員管理。
圖4 系統(tǒng)展示
基于NFC技術的Android簽到管理系統(tǒng)充分應用了NFC的技術優(yōu)點,在Android智能終端上實現(xiàn)了活動簽到管理系統(tǒng)客戶端,以無線通訊的方式與后臺服務器端實現(xiàn)信息交互,實現(xiàn)了后臺數(shù)據(jù)的自動處理,多臺移動終端協(xié)同管理活動,提高了團體活動的管理效率。分析了在Android移動操作系統(tǒng)上應用程序的開發(fā)情況以及NFC技術開發(fā)特點,對基于NFC技術的Android簽到管理系統(tǒng)的整體架構進行分析,對標簽與移動設備交互模塊和移動設備與服務器的數(shù)據(jù)交互模塊等關鍵模塊的數(shù)據(jù)處理流程與相關接口進行設計,并對移動簽到管理系統(tǒng)客戶端進行展示。
[1]郭雷勇,周志超,李宇,等.RFID技術在會議報到系統(tǒng)中研究與實現(xiàn)[J].微計算機信息,2012,28(1):36-38.
[2]陳璟,陳平華,李文亮.Android內核分析[J].現(xiàn)代計算機:專業(yè)版,2009(11):112-114.
[3]丁麗萍.Android操作系統(tǒng)的安全性分析[J].信息網(wǎng)絡安全,2012(3):28-31.
[4]楊振興.NFC技術Card Emulation模式在Android系統(tǒng)中的應用研究[J].軟件導刊,2014,13(2):113-115.
[5]陳靜,趙云雁,張志鴻.基于NFC技術的智能海報安全實現(xiàn)[J].鄭州大學學報:工學版,2013,34(3):98-101.
[6]李峰.基于 NFC技術的移動支付應用探索[J].數(shù)字通信,2011(4):26-27.
[7]邱意敏,周力.基于NFC+3G技術的停車收費系統(tǒng)設計[J].安徽工程大學學報,2012,27(3):61-64.