潘鵬
本文提出一種新穎的基于微信平臺(tái)的中小學(xué)生進(jìn)出校園的信息發(fā)布系統(tǒng)。系統(tǒng)基于微信平臺(tái)發(fā)布信息,使用帶有攝像頭的終端采集學(xué)生的信息,然后將信息傳輸?shù)骄钟蚓W(wǎng)的服務(wù)器上,其中包括學(xué)生的圖像信息,局域網(wǎng)內(nèi)服務(wù)器端將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)同時(shí)將數(shù)據(jù)同步更新到英特網(wǎng)的微信服務(wù)器上,最后通過(guò)微信服務(wù)器發(fā)布信息。同時(shí)幫助學(xué)校完成了學(xué)生考勤的信息化和自動(dòng)化,使得學(xué)校的考勤變得更高效。通過(guò)一些列的測(cè)試與實(shí)驗(yàn),最終證明了本文提出的系統(tǒng)是可行的。
【關(guān)鍵詞】計(jì)算機(jī)軟件 微信 數(shù)據(jù)庫(kù)
隨著移動(dòng)互聯(lián)網(wǎng)的飛速發(fā)展,涉及到嵌入式終端、網(wǎng)絡(luò)、物聯(lián)網(wǎng)的相關(guān)技術(shù)也如雨后春筍般不斷的涌現(xiàn),引領(lǐng)著當(dāng)今人類(lèi)社會(huì)的發(fā)展。人們的生活也隨之而發(fā)生了翻天覆地的變化。我們所接觸到的事物或多或少的正在或者已經(jīng)逐步的信息化、自動(dòng)化。大數(shù)據(jù)與云計(jì)算的推出,更是加快了這一進(jìn)程。本文設(shè)計(jì)出一款可以驗(yàn)證學(xué)生個(gè)人身份,家長(zhǎng)通過(guò)微信直接查詢(xún)自己孩子刷卡的圖文信息,將刷卡數(shù)據(jù)有序保存并再次利用的信息發(fā)布系統(tǒng)。在對(duì)系統(tǒng)的需求做出分析后,本文提出了一套新穎的系統(tǒng)架構(gòu),根據(jù)數(shù)據(jù)安全性的要求,學(xué)生的刷卡信息和數(shù)據(jù)保存和管理在局域網(wǎng)內(nèi)進(jìn)行,微信發(fā)布圖文數(shù)據(jù)在Internet網(wǎng)上進(jìn)行。
1 需求分析
本系統(tǒng)主要致力于實(shí)時(shí)驗(yàn)證刷卡學(xué)生的個(gè)人身份,通過(guò)微信實(shí)時(shí)的發(fā)布學(xué)生的刷卡信息,將數(shù)據(jù)庫(kù)中的刷卡數(shù)據(jù)及其他相關(guān)數(shù)據(jù)實(shí)現(xiàn)可視化。首先要對(duì)刷卡學(xué)生的身份進(jìn)行驗(yàn)證,以確定刷卡者是不是持卡人;然后要將數(shù)據(jù)保存到局域網(wǎng)內(nèi)的數(shù)據(jù)庫(kù),并將數(shù)據(jù)同步更新到微信服務(wù)器;家長(zhǎng)通過(guò)微信訪問(wèn)自己孩子的刷卡記錄,通過(guò)圖像和文字確認(rèn)孩子什么時(shí)候進(jìn)入或外出學(xué)校,刷卡的是不是自己的孩子;最后為保存在局域網(wǎng)內(nèi)的數(shù)據(jù)提供可視化的管理系統(tǒng)。
2 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)屬于學(xué)校的內(nèi)部應(yīng)用,幫組學(xué)校建立自動(dòng)化的考勤系統(tǒng),為學(xué)校和家長(zhǎng)提供一種新的交流方式。根據(jù)系統(tǒng)的需求,確定整個(gè)系統(tǒng)混合使用B/C和C/S架構(gòu),使用MySQL數(shù)據(jù)庫(kù),將整個(gè)系統(tǒng)劃分為信息采集模塊、信息接收與解析模塊、信息同步服務(wù)、信息通過(guò)微信發(fā)布服務(wù)以及后臺(tái)數(shù)據(jù)管理系統(tǒng)5個(gè)模塊。各模塊間的關(guān)系如圖2所示,刷卡終端和信息接收解析模塊間使用C/S架構(gòu),信息接收解析和微信服務(wù)器間使用B/S架構(gòu),數(shù)據(jù)管理系統(tǒng)使用B/S架構(gòu)。
3 系統(tǒng)各模塊的實(shí)現(xiàn)
3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
本系統(tǒng)使用關(guān)系型數(shù)據(jù)庫(kù)MySQL,前端的信息采集模塊需要將IC卡中的信息讀取并傳輸給局域網(wǎng)服務(wù)器端的接收和解析模塊,將數(shù)據(jù)驗(yàn)證并保存到數(shù)據(jù)庫(kù)。
3.2 信息采集模塊
要采集的數(shù)據(jù)包括兩部分,分別為IC卡信息和個(gè)人的照片。本系統(tǒng)的采集終端使用STM32單片機(jī)作為主體,使用C語(yǔ)言編程。
3.3 刷卡信息的接收與解析模塊
該模塊使用Java Socket與刷卡終端建立TCP通信。該模塊運(yùn)行在局域網(wǎng)中的PC端,作為服務(wù)器使用ServerSocket設(shè)置監(jiān)聽(tīng)端口和IP地址,然后與客戶(hù)端建立通信。由于刷卡終端不是單一的,為了提高效率,減少人員滯留和等待時(shí)間,多線程的處理機(jī)制是必不可少的。在讀取IO流中的數(shù)據(jù)時(shí),遇到了IO阻塞問(wèn)題,通過(guò)try…catch語(yǔ)句捕捉超時(shí)異常,在catch語(yǔ)句塊中進(jìn)行數(shù)據(jù)解析等操作。解析完數(shù)據(jù)后保存到數(shù)據(jù)庫(kù),同時(shí)調(diào)用同步更新服務(wù),將數(shù)據(jù)發(fā)送到微信服務(wù)器。
3.4 信息同步服務(wù)
本模塊分為兩部分,即客戶(hù)端部分和服務(wù)器部分,客戶(hù)端部分在信息接收和解析模塊中調(diào)用,使用HttpClient工具類(lèi)將文本數(shù)據(jù)和圖像數(shù)據(jù)分開(kāi)封裝進(jìn)Http中。服務(wù)器端使用Servlet技術(shù)處理客戶(hù)端的請(qǐng)求,將信息解析并保存到微信服務(wù)器。同步成功后給客戶(hù)端返回“isok”字符串,同步失敗則返回“failed”字符串。
3.5 微信發(fā)布信息服務(wù)
3.6 數(shù)據(jù)管理系統(tǒng)
本系統(tǒng)的數(shù)據(jù)管理系統(tǒng)是針對(duì)校內(nèi)的,用戶(hù)主要有兩類(lèi),一類(lèi)是教師,另一類(lèi)是整個(gè)系統(tǒng)的管理員。本系統(tǒng)為這兩類(lèi)用戶(hù)提供數(shù)據(jù)的CRUD操作。
本模塊使用SSH框架進(jìn)行整合開(kāi)發(fā),使用Jsp技術(shù)編寫(xiě)訪問(wèn)頁(yè)面,使用Struts框架控制整個(gè)管理系統(tǒng)的請(qǐng)求與響應(yīng)、業(yè)務(wù)處理,使用Hibernate作為持久層去訪問(wèn)數(shù)據(jù)庫(kù),使用Spring框架進(jìn)行整個(gè)后臺(tái)的對(duì)象初始化和依賴(lài)注入,此外,Spring框架還進(jìn)行一定的事務(wù)管理,包括系統(tǒng)日志和結(jié)合quartz技術(shù)實(shí)現(xiàn)的系統(tǒng)定時(shí)任務(wù)處理。
4 結(jié)論
本文研究了基于微信平臺(tái)的中小學(xué)生進(jìn)出校園的信息發(fā)布系統(tǒng),結(jié)合實(shí)際案例,自主提出一整套方案,并最終完成整個(gè)系統(tǒng)。通過(guò)測(cè)試,系統(tǒng)最終完美運(yùn)行。
參考文獻(xiàn)
[1]董健編.物聯(lián)網(wǎng)與短距離無(wú)線通信技術(shù)[M].北京:電子工業(yè)出版社,2012.
[2]王莉.安博學(xué)生考勤管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連海事大學(xué),2014
[3]曹超.平安保險(xiǎn)內(nèi)勤辦公區(qū)門(mén)禁考勤系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2014.
[4]Cay S.Horstmann,Gary Cornell.Java核心技術(shù)[M].北京:機(jī)械工業(yè)出版,2014.
[5]Charlie Hunt,Binu John,Java Performance[C]. Prentice Hall,2011.
[6]John Lewis,Joseph Chase.Java軟件結(jié)構(gòu)與數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2014.
[7]Kathy Sierra,Bert Bates.Head First Java[C].Paw Prints,2008.
作者單位
武漢理工大學(xué) 湖北省武漢市 430070