廖寧 黃錦捷


摘 ?要:本文針對各高校組織的會議活動采用人工簽到方式存在的低效率、代簽到、易出錯等問題,提出了智慧校園會議活動一體化管理系統設計方案。該方案采用J2EE輕量級微服務架構進行軟件框架設計,實現了各種會議、活動的在線申請、審核、預報名、簽到考勤、統計分析的全流程、一體化管理功能,其中基于iBeacon、動態二維碼技術及微信實現了多種方式的簽到考勤功能。應用結果表明,該系統大大提高了學校會議活動管理工作效率,并減少了師生簽到時的排隊時間,提升了師生智慧校園獲得感。
關鍵詞:智慧校園;微服務架構;iBeacon;二維碼;微信;簽到考勤
中圖分類號:TP311.1 ? ? ?文獻標識碼:A 文章編號:2096-4706(2019)14-0057-03
Design and Implementation of Integrated Conference Management System Based on
iBeacon and Two-Dimensional Code Technology
LIAO Ning,HUANG Jinjie
(School of Electronic and Information Engineering,Heyuan Polytechnic,Heyuan ?517000,China)
Abstract:Aiming at the problems of low efficiency,proxy check-in and error-prone when the conference activities organized by colleges and universities adopt manual check-in mode,this paper puts forward the design scheme of integrated management system for conference activities on intelligent campus. The scheme uses J2EE lightweight micro-service architecture to design the software framework,realizes the whole process and integrated management functions of online application,auditing,forecasting name,check-in attendance,statistical analysis of various meetings and activities,and realizes the check-in and attendance functions in various ways based on iBeacon,dynamic two-dimensional code technology and WeChat. The application results show that the system greatly improves the management efficiency of school conference activities,reduces the queuing time when teachers and students sign in,and improves the sense of acquisition of teachers and students’wisdom campus.
Keywords:intelligent campus;microservice architecture;iBeacon;two-dimensional code;WeChat;check-in attendance
0 ?引 ?言
在各高校學生學習生活中,除了課堂教學活動外,還有大量豐富多彩的各類課外活動,如創新學分活動、第二課堂活動、社團活動、志愿者活動及各類會議等。這些活動普遍都存在活動參與人員多、組織工作繁重的特點,且很多都有簽到考勤的需求。傳統的會議、活動簽到大都采用人工紙質簽到的方式,由于參加的活動人數眾多,簽到方式落后(學生排隊手動簽到),簽到效率非常低,且大大增加了活動組織者的工作量。因此,如何減輕會議/活動組織者的工作量?如何提高師生參加活動時的簽到效率及準確性?如何盡量避免學生替別人簽到?這些都是智慧校園建設所面臨的亟待解決的問題。為解決這些問題,本文提出了一個基于微信、iBeacon及二維碼技術的高校會議活動一體化系統的設計及實現方案。
1 ?系統關鍵技術分析
1.1 ?J2EE輕量級微服務架構
近年來,J2EE開發主流已漸漸從單體應用開發轉向微服務應用開發,微服務就是將單一應用程序開發為一組小型服務的方法,每個服務運行在自己的進程中,服務間采用輕量級通信機制(通常為HTTP方式)。各個服務可以使用不同的語言進行開發,使用不同的數據存儲技術[1]。本系統采用Spring Boot微服務架構,Spring Boot是由Pivotal團隊提供的全新框架,使用該框架可以簡化傳統Spring應用的搭建以及開發過程,其具有配置少、開箱即用、輕量級等優點,是微服務體系構建中必不可少的技術之一[2]。在Srping Boot基礎上系統還整合了主流的J2EE輕量級框架組合,主要包括:Spring、SpringMVC、MyBatis、FreeMarker、jquery,以及開源的前端JS框架H-UI。
1.2 ?微信企業號及其接口開發
微信企業號是微信為企業客戶提供的移動服務,旨在提供企業移動應用入口[3]。目前微信企業號已經作為企業微信的微工作臺,用戶無須另外下載安裝手機APP,直接可以方便地從微信中進入微信企業號。微信企業號提供了開發者接口,本系統主要封裝調用了OAuth身份認證接口、微信JS-SDK接口以及搖一搖周邊接口[4]。通過封裝調用這些接口,師生可方便地在微信中進行搖一搖簽到以及學校官方企業號中進行掃描二維碼簽到。
1.3 ?iBeacon技術
iBeacon是蘋果公司在iOS7上配備的新功能,可以讓附近的手持電子設備檢測到一個由一個iBeacon信號發射器發出的藍牙信號。它采用了基于藍牙4.0的低功耗藍牙技術(Bluetooth Low Energy,BLE),主要是用作輔助室內定位的功能[5]。目前市場上有不少iBeacon設備,且成本較低,這些設備耗電量也非常低,一般均可使用3年—5年才需更換電池。且微信企業號提供的搖一搖周邊接口可以方便地連通企業號與iBeacon設備。
1.4 ?二維碼技術
二維條碼(Two-Dimensional Barcode)是用某種特定的幾何圖形按一定規律,在二維方向上分布的不同色塊相間的圖形記錄數據符號信息的一種技術方式[6]。本系統二維碼簽到模塊中,采用QR Code來生成含有加密信息以及10秒動態變化一次的二維碼圖像。QR Code 是1994年由日本Denso公司研制的一種矩陣式二維條碼,是一個由多個正方形模塊組成的正方形陣列。
2 ?系統分析與設計
2.1 ?整體架構設計
會議活動一體化管理系統整體架構圖如圖1所示。
(1)數據持久層:數據持久層主要負責會議活動系統相關數據的持久化存儲,其中系統數據庫通過Oracl odi中間件保持和學校大數據中心之間的相關共享數據的實時同步。而系統數據庫的持久化存儲主要通過Mybatis ORM實現。(2)業務層:該層主要包括會議活動管理應用、簽到應用、報表應用、企業號對接應用這幾個核心業務邏輯模塊,這些應用模塊可能由不同代碼實現,在微服務架構下,這些模塊可靈活部署發布。各應用相互將通過Services API對接,并交于SpringMVC統一請求調用及相互交互,請求結果通過Freemarker模版引擎進行封裝。另外通過Quartz實現定時批處理任調度,該層還提供統一的事務、日志及安全管理服務。(3)控制層:主要過Sping Boot統一管理業務層各業務模塊的熱插拔進行部署及服務發布,并簡化各業務模塊的配置文件。(4)表示層:該層主要負責將業務層經由控制層響應回來的數據進行展示,包括HML5、XML及JSON形式,系統采用國內開源的JS前端框架:H-UI進行頁面展示。
2.2 ?功能結構設計
根據會議活動一體化管理系統的實際需求,對系統進行了功能結構設計,系統各功能模塊說明如下:(1)會議活動管理模塊:包括會議活動申請、會議活動審核、會議活動報名、場地維護、學年學期設置、簽到設備管理、活動簽到設置,以及活動簽到名單查看導出等功能。(2)活動中心管理模塊:包括活動詳情、在線報名、簽到墻展示、我參加的活動、我管理的活動等功能。(3)系統管理模塊:包括公告通知發布、模塊管理、角色管理、類型歷、用戶管理、部門管理、日志管理等功能。(4)接口管理模塊:包括企業號對接、公眾號對接、小程序對接、基礎數據同步以及簽到名單同步等功能。
2.3 ?各種簽到方式對比分析
系統設計了3種簽到方式,學校會議活動組織者可以根據實際情況選擇合適的考勤方式,也可以設置多種簽到方式,形成組合模式。這3種簽到方式對比分析如下:(1)微信搖一搖簽到方式說明。用戶只需打開手機藍牙及GPS,然后通過微信搖一搖即可簽到。可以精確定位,只有在會議現場設定20米—100米內才能搖一搖簽到成功。現場只要攜帶1~2個iBeacon設備,無須網絡、電源支持,也不需要帶管理電腦及投影設備等。但有少部分用戶手機不支持藍牙4.0以上協議,可能無法識別搖一搖設備。并且iBeacon設備有一定成本,是易耗品,一般1年—3年內必須要更換電池,有一定維護成本。(2)掃描活動二維碼簽到方式說明。不需要另外購買終端設備,成本較低。只要用一臺電腦在大屏中投影本次活動的動態二維碼即可。活動二維碼動態10秒變化一次,比靜態二維碼更安全。需要會議活動現場準備好管理電腦以及投影設備等。部分參加活動人員的手機攝像頭由于像素等原因,導致識別大屏二維碼較難。(3)掃描個人專屬二維碼簽到方式說明。由考勤管理員手機掃描或者考勤設備自動掃描個人專屬二維碼,基本可以避免代簽到以及沒來現場也能簽到的現象。但需要考勤管理員在活動現場入口處掃描,人多的時候仍然會有排隊現象。
3 ?系統關鍵功能實現
由于篇幅有限,本文以系統最關鍵的活動簽到功能為例介紹了在系統中師生方便地通過微信搖一搖簽到以及掃描動態二維碼簽到的實現過程。
3.1 ?微信搖一搖簽到功能實現
(1)微信搖一搖配置及準備工作。如果學校已經有已認證的公眾號或企業號,可以直接在微信公眾平臺申請開通搖一搖周邊權限。開通權限后進入搖一搖周邊的設備管理,新增所需的設備記錄,并將設備詳情中的UUID、Major、Minor這幾個信息配置到購買的iBeacon設備中。然后在搖一搖周邊的頁面管理中新建自定義頁面,將頁面的主標題、副標題及圖標上傳,并將該頁面跳轉的URL設置為活動簽到請求URL鏈接,最后還要在會議活動一體化管理系統中的簽到設備管理模塊中,維護好這些設備的UUID等信息。(2)微信搖一搖簽到算法流程。用戶到活動現場后將手機藍牙及GPS開啟后,打開微信搖一搖看到有周邊后再搖手機即可跳出活動簽到請求的URL頁面鏈接。用戶點擊該鏈接后,搖一搖簽到算法流程如圖2所示。首先獲取到微信傳過來的ticket參數,調用微信公眾號或企業號提供的微信搖一搖周邊接口getshareinfo,獲取到USERID、UUID等信息。然后根據返回的USERID的值查找簽到人員是否已關注企業號或公眾號,如果未關注則跳轉到公眾號二維碼展示頁面,需用戶掃描關注成功后才能再次搖一搖簽到。接著根據微信返回的UUID等信息,查找設備存放地點,再查找系統中當前時間該地點是否有會議活動信息,如果沒有則提示“對不起,目前沒有需要簽到的會議活動”;如果有則判斷當前時間是否在簽到會簽退時間范圍內,如果是則再判斷用戶是否重復簽到或簽退,如果沒重復才保存簽到或簽退信息并返回提醒信息給用戶。
3.2 ?掃描動態二維碼簽到功能實現
(1)動態二維碼生成實現。傳統的二維碼是靜態不變的,活動可以將二維碼打印出來貼在活動現場供用戶掃描簽到,非常方便,但存在容易簽到作弊的問題。如學生將該二維碼拍照后發給未到活動現場的同學,也一樣可以掃描簽到。因此本系統為每個活動生成的都是動態二維碼,該二維碼可以靈活設置變化時間間隔,過了時間間隔舊的二維碼就失效了,這樣就可以有效避免學生遠程掃描二維碼作弊的問題。本系統的二維碼生成采用了谷歌的開源二維碼生成工具包Google.zxing。而動態二維碼的機制則是將帶加密信息的參數轉換為動態二維碼。該參數由用戶ID、生成二維碼的時間戳、加密驗證參數以及活動ID。其中加密驗證參數機制為:當前用戶ID+生成二維碼時間戳進行SHA1加密。用戶在掃描動態二維碼時,會將該參數傳遞到后臺,后臺根據加密驗證參數進行驗證是否為合法二維碼,這樣可以有效避免二維碼被仿照生成的問題。(2)掃描二維碼簽到步驟說明。首先調用微信的jssdk的微信掃一掃接口,識別二維碼加密參數信息并獲取地理位置信息;并將二維碼加密參數及地理位置信息作為參數發送請求到后臺;后臺獲取到二維碼加密參數后進行加密驗證,判斷該二維碼是否合法且在有效時間范圍內,如果不合法則返回提示。再將地理位置信息和會議活動地點的地理位置進行距離計算,將與活動地點的距離保存起來;接著根據二維碼加密參數中的活動ID查詢本次要簽到的活動信息,判斷簽到/簽退時間是否在活動規定的時間范圍內,如果在時間范圍內,最后判斷是否已經有重復簽到或簽退記錄,沒有重復才將本次簽到/簽退相關信息記錄到數據庫中。
4 ?結 ?論
本文提出的智慧校園會議活動一體化管理系統,是基于微信、iBeacon、二維碼技術及微服務架構實現的。該系統實現了各種會議、活動的在線申請、審核、預報名、簽到考勤、統計分析的全流程、一體化管理功能,該系統已于2018年7月正式上線使用,目前學校的創新學分相關的科研講座活動采用了系統提供的搖一搖簽到和掃描動態二維碼結合的方式進行簽到。應用結果表明,該系統大大提高了學校會議活動管理工作效率、減少了師生簽到時的排隊時間,并一定程度上解決了簽到作弊的問題,受到廣大師生的普遍好評,提升了師生智慧校園獲得感。
參考文獻:
[1] 李春陽,劉迪,崔蔚,等.基于微服務架構的統一應用開發平臺 [J].計算機系統應用,2017,26(4):43-48.
[2] 張雷,王悅.基于SpringBoot微服務架構下的MVC模型研究 [J].安徽電子信息職業技術學院學報,2018,17(4):1-9.
[3] 于長虹,王運武,馬武. 智慧校園的智慧性設計研究 [J].中國電化教育,2014(9):7-12.
[4] 騰訊.WeChat [EB/OL].http://qydev.weixin.qq.com/wiki/,2016-12-19.
[5] 郭瑞香.基于ibeacon技術移動終端點名平臺研究設計 [J].黃山學院學報,2018,20(5):27-30.
[6] 尚澤宇.動態二維碼簽到系統設計與實現研究 [J].福建電腦,2018,34(3):152-153.
作者簡介:廖寧(1983-),男,漢族,廣東梅州人,碩士,高級工程師,研究方向:教育信息化、智慧校園建設。