摘 要: 提出一種基于智能終端的旅游電子憑證解決方案,使旅游景區(qū)傳統(tǒng)的訂票、售票、驗票和景區(qū)管理全部實現(xiàn)電子化、信息化和智能化。對系統(tǒng)的總體框架、業(yè)務(wù)流程、主要功能模塊和安全性進行設(shè)計;并對系統(tǒng)開發(fā)中使用的關(guān)鍵技術(shù)——二維碼技術(shù)進行了研究;結(jié)合關(guān)鍵技術(shù)實現(xiàn)了主要功能模塊。在客戶端主要實現(xiàn)了二維碼識別模塊、數(shù)據(jù)發(fā)送與接收模塊;在服務(wù)器端主要實現(xiàn)了電子憑證的生成、發(fā)送與驗證模塊;實現(xiàn)了服務(wù)器與客戶端通信過程中的安全設(shè)計。
關(guān)鍵詞: 二維碼; 智慧旅游; 電子憑證; SSH2; 智能終端
中圖分類號:TP311 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2014)04-12-03
Abstract: An intelligent terminal electronic travel voucher solution based on intelligent terminals is introduced so that the traditional process of booking, ticketing, ticket and scenic management becomes electronized, informatized and intelligent. Firstly, the overall framework of the system, business processes, main function modules, safety design and key technology of two-dimensional code technology used in the development of the system are studied. Combined with the key technologies, the main functions of the module are implemented. The main achievement of the client-end includes two-dimensional code recognition module, data transmission and reception modules. The main achievement in server-end includes the electronic certificate generation, transmission and verification module. Safety design in communicating process between server and client is realized.
Key words: two-dimensional code; wisdom tour; electronic certificates; SSH2; intelligent terminal
0 引言
電子商務(wù)已經(jīng)成為當(dāng)今互聯(lián)網(wǎng)發(fā)展的熱點,越來越多的人通過網(wǎng)絡(luò)來購物、訂票和消費。對于旅游景區(qū)來說,電子票證的實現(xiàn)可提升旅游景區(qū)的服務(wù)質(zhì)量和運營效率,如果用二維碼電子票據(jù)代替?zhèn)鹘y(tǒng)的印刷票據(jù),不但能解決買票周期長,花費額外的送票成本等問題,而且還能杜絕假票。在旅游景區(qū)利用電子票證系統(tǒng)的優(yōu)點是:可節(jié)省成本、簡化程序、提高客流量與降低時間延遲。所以電子票證逐步代替?zhèn)鹘y(tǒng)的票證已成必然趨勢。
1 關(guān)鍵技術(shù)簡介
1.1 二維碼
二維碼具有高密度、大容量等特點,經(jīng)常以圖片的方式表示數(shù)據(jù)文件,因此它可以解決許多的問題,而且使用方便,用途廣泛。比如:表示小型數(shù)據(jù)庫文件;表示物品的屬性信息;用于各種證件或者電子票的防偽等等。二維碼具有以下特點:
⑴ 信息容量大,高密度編碼,可容納高達(dá)1108個字節(jié)的數(shù)據(jù);
⑵ 編碼范圍廣,可表示文字、聲音、圖片、指紋等信息;
⑶ 容錯能力強,一般情況下,如果污損面積不大于50%,都可以恢復(fù)其攜帶信息;
⑷ 保密性和防偽性好;
⑸ 譯碼可靠性高,譯碼誤碼率低于千萬分之一。
傳統(tǒng)的景點票據(jù)通常只包括景點名稱、使用時間、期限等少量信息,而二維碼可以把游客姓名、游玩景點、游玩時間、數(shù)量、手機號碼、身份證號碼、游客照片等更多信息包含在內(nèi)。
1.2 電子憑證
電子憑證[1]也叫電子證書,用于在互聯(lián)網(wǎng)核實持有人身份,它可確保數(shù)據(jù)在電子傳送過程中的完整性和保密性,保障電子交易完成后,確認(rèn)雙方曾進行過交易。與其他憑證類型相比,電子憑證具有以下特點。
⑴ 數(shù)據(jù)結(jié)構(gòu)固定化。電子憑證的突出特點表現(xiàn)在它具有結(jié)構(gòu)化的數(shù)據(jù),格式固定,它可以有一方或多方共同核定表示行為證明和業(yè)務(wù)承諾。
⑵ 模版和數(shù)據(jù)分離存儲、使用。電子憑證一般是由業(yè)務(wù)模板與業(yè)務(wù)數(shù)據(jù)組成,相同的業(yè)務(wù)數(shù)據(jù)嵌入不同的業(yè)務(wù)模板也會表達(dá)出完全不同的含義。
⑶ 應(yīng)用廣泛流通。電子憑證并不是對數(shù)據(jù)進行簡單的歸檔,而是在不同的業(yè)務(wù)場合和業(yè)務(wù)類型不斷被提取使用。
1.3 手持式智能終端
電子憑證系統(tǒng)的實現(xiàn)需要使用合適的智能終端平臺,目前智能手機終端主要有iPhone、Android、Windows CE。其中,Android系統(tǒng)是Google開發(fā)的屬于真正意義的開發(fā)平臺,它包括底層操作系統(tǒng)、用戶界面和應(yīng)用程序等組件,具有開放性,簡化應(yīng)用開發(fā)等諸多優(yōu)點,而且當(dāng)前很多手機制造商不斷推出基于Android平臺的智能手機,導(dǎo)致Android平臺的市場份額與影響力與日俱增[2],Android平臺目前已成為手機開發(fā)商的首選平臺,因此本電子憑證系統(tǒng)手持機驗票挑選Android作為實現(xiàn)平臺。
1.4 軟件開發(fā)框架
服務(wù)器軟件的開發(fā)采用目前流行的SSH2(Struts2+Spring+Hibernate),框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護方便的Web應(yīng)用程序。SSH集成框架與技術(shù)結(jié)構(gòu)如圖1所示[3]。
2 系統(tǒng)設(shè)計與實現(xiàn)
2.1 系統(tǒng)功能結(jié)構(gòu)分析
景區(qū)二維碼電子憑證系統(tǒng)采用C/S(客戶端/服務(wù)器)架構(gòu),主要由客戶端和服務(wù)器平臺組成??蛻舳税ㄊ殖謾C驗證和Web訂票兩部分,服務(wù)器主要功能如圖2所示。系統(tǒng)主要工作流程如下:
① 游客登錄景區(qū)訂票網(wǎng)站下訂單;
② 下單成功后由服務(wù)器向游客手機發(fā)送二維碼;
③ 游客到達(dá)景區(qū),出示二維碼,由手持機驗證;
④ 手持機通過WIFI或3G網(wǎng)絡(luò)向服務(wù)器發(fā)送二維碼驗證請求;
⑤ 服務(wù)器接收到客戶端請求后,進行信息驗證與數(shù)據(jù)庫查詢等相關(guān)操作,然后向客戶端以XML或JSON字符串方式返回Response,最后客戶端使用相應(yīng)的解析方式對XML或JSON格式數(shù)據(jù)進行解析,完成二維碼信息驗證。具體流程如圖2所示。
2.2 服務(wù)器端二維碼生成分析
二維碼在服務(wù)器端生成,編碼主要使用QRcode.jar包,核心編碼方式如下。
二維碼顯示類型及尺寸編碼:
解碼后圖片對應(yīng)信息如下:
訂單號:1093475862,驗證碼:65345789,有效期:2013-12-28,景區(qū)名稱:蘇州拙政園。
2.3 電子憑證消費分析
景區(qū)電子憑證系統(tǒng)主要是以二維碼作為訂票入園憑證。當(dāng)游客進入景區(qū)訂票網(wǎng)站訂票成功,系統(tǒng)向用戶注冊手機發(fā)送包含游玩景區(qū)名稱、訂單號、驗證碼、有效時間、人數(shù)等門票基本信息的并加密的二維碼圖像,游客在景區(qū)游玩時出示該二維碼,經(jīng)驗證成功后就可入園。消費的時序如圖4所示。
當(dāng)游客使用電子憑證消費,出示二維碼電子憑證時,二維碼識別設(shè)備首先對電子憑證完成信息識讀,然后將識讀的信息發(fā)送到后臺服務(wù)器端,由服務(wù)器檢測該電子憑證信息的可用性,進行檢測后,如果該電子憑證有效,則返回可用標(biāo)志,完成此次電子憑證的使用,否則返回不可用標(biāo)志,中斷此次電子憑證的使用。電子憑證是否有效,不僅取決于二維碼內(nèi)包含的有效期限信息,同時還與使用該電子憑證的用戶有關(guān)。
2.4 數(shù)據(jù)傳送安全分析[4]
如圖5所示為系統(tǒng)中為保證數(shù)據(jù)安全而進行的加密與解密措施,本電子憑證系統(tǒng)主要采用對稱加密方式,本文以客戶端為例,說明Android客戶端加密方法。
Android工程是基于Java語言編寫的,因此得到的應(yīng)用文件很容易被反編譯,如果對一些加密算法直接使用Java語言編寫并放到程序中進行調(diào)用,是無法起到真正的加密作用的。
本文結(jié)合Android提供的官方加密方式,在Android客戶端進行Android NDK平臺的開發(fā),通過Java使用JNI接口調(diào)用本地C方法可以很好地解決被反編譯的問題,具體操作過程在此不再詳細(xì)敘述。
在客戶端進行數(shù)據(jù)傳輸或者接收到數(shù)據(jù)之后,客戶端首先對接收到的數(shù)據(jù)進行本地C方法的調(diào)用,完成加密或者解密,即可正常顯示內(nèi)容。
2.5 網(wǎng)絡(luò)連接的實現(xiàn)
客戶端與服務(wù)器的數(shù)據(jù)傳輸主要是通過無線方式進行,在客戶端可以使用多種方式與服務(wù)器連接。
⑴ 使用標(biāo)準(zhǔn)的Java接口,創(chuàng)建URLConnection或HttpURLConnection對象;
⑵ 使用Apache提供的HttpClient接口;
⑶ 使用Android Socket編程。
在實際的開發(fā)過程中,可能會涉及到復(fù)雜的聯(lián)網(wǎng)操作,Apache提供的HttpClient對java.net中的類做了封裝和抽象,更適合在Android上進行開發(fā)聯(lián)網(wǎng)應(yīng)用,故在本系統(tǒng)中,主要使用HttpClient接口實現(xiàn)網(wǎng)絡(luò)編程。對于HttpClient類,可以使用HttpPost類、HttpGet類與HttpResponse類進行網(wǎng)絡(luò)連接。
3 結(jié)束語
本文針對旅游行業(yè)提出了一種新的基于移動終端的景區(qū)電子憑證系統(tǒng)的設(shè)計與實現(xiàn)方案,該平臺的研制,使旅游景區(qū)的訂票、售票、驗票和管理實現(xiàn)了電子化和智能化,提高了景區(qū)工作人員的工作效率,具有較高的實用價值和社會價值。
參考文獻(xiàn):
[1] 馬辰云.可信電子憑證管理系統(tǒng)設(shè)計與實現(xiàn)[D].北京工業(yè)大學(xué),2011.
[2] 韓超,梁泉.Android系統(tǒng)原理及開發(fā)要點詳解[M].電子工業(yè)出版社,2010.
[3] 翟高粵.SSH框架擴展與集成的研究[J].煤炭技術(shù),2011.8:194-195
[4] 周偉.龍舜開放平臺解決方案及安全策略研究[J].計算機工程,2012.12:23-28