王永建+楊建華+郭廣濤+王治東+翟曉微
【摘 要】為了改進傳統(tǒng)的網(wǎng)絡(luò)支付系統(tǒng),結(jié)合移動互聯(lián)網(wǎng)特性,首先設(shè)計了手機支付軟件系統(tǒng)架構(gòu),然后設(shè)計了系統(tǒng)的主要功能,定義了功能模塊。針對傳統(tǒng)Java的I/O不適合大量數(shù)據(jù)連接的局限性,引入了Java NI/O技術(shù),明顯地提高了系統(tǒng)的效率,并采用了最新一代移動中間件:iMAG技術(shù),克服了傳統(tǒng)移動中間件的不足,進一步優(yōu)化了系統(tǒng)性能。
【關(guān)鍵詞】移動互聯(lián)網(wǎng) SOA Java NI/O iMAG
Investigation on Mobile Phone Payment System
Based on the Mobile Internet
[Abstract]In order to improve traditional network payment systems, the mobile phone payment software system architecture was designed firstly based on characteristics of the mobile Internet. Then, main functions of the system were designed and functional modules were defined. According to the limitation of the traditional Java I/O unsuitable for massive data connections, Java NI/O technique was introduced. As the new generation of mobile middleware iMAG is used, the drawbacks of the traditional middleware was avoided to notably enhance the system efficiency and further opyimize the system performance.
[Key words]mobile Internet Service-Oriented Architecture Java NI/O iMAG
1 引言
隨著3G、LTE、WLAN等高速無線通信和互聯(lián)網(wǎng)技術(shù)的發(fā)展,移動互聯(lián)網(wǎng)近些年炙手可熱,移動互聯(lián)網(wǎng)由互聯(lián)網(wǎng)、無線網(wǎng)絡(luò)、智能終端構(gòu)成[1],而伴隨著二維碼、生物識別、NFC、Beacon、RFID、GIS、APP等技術(shù)的發(fā)展和智能終端的迅速普及[2],基于智能終端的應(yīng)用越來越豐富。
2012年11月誕生了互聯(lián)網(wǎng)發(fā)展的新理念:“互聯(lián)網(wǎng)+”?!盎ヂ?lián)網(wǎng)+”是基于信息傳播的傳統(tǒng)互聯(lián)網(wǎng)發(fā)展的新業(yè)態(tài),催生了大量新的產(chǎn)業(yè)經(jīng)濟形態(tài)與商業(yè)服務(wù)模式[3]。其中OTT業(yè)務(wù)迅速崛起,風(fēng)靡整個互聯(lián)網(wǎng),例如掌上購物、在線訂票、網(wǎng)上約車、移動支付、手機一卡通、位置服務(wù)等[4]。
支付寶、微信等突破了傳統(tǒng)即時通訊軟件的局限,作為開放的平臺,提供多種OTT服務(wù),移動支付便是其中典型代表,與人們生活聯(lián)系日趨緊密。在新形勢下,傳統(tǒng)的網(wǎng)絡(luò)支付系統(tǒng)有些力不從心,亟待與時俱進,因此本文基于移動互聯(lián)網(wǎng),結(jié)合傳統(tǒng)網(wǎng)絡(luò)支付系統(tǒng),對手機支付系統(tǒng)做了探究。
2 移動互聯(lián)網(wǎng)參考模型
移動互聯(lián)網(wǎng)(Mobile Internet)可分為終端層、網(wǎng)絡(luò)層和應(yīng)用層。WWRF(Wireless World Reserch Forum,無線世界研究論壇)定義的參考模型。
APP為用戶提供交互界面和多種服務(wù)。
開放的API包含多種應(yīng)用接口,典型代表如.dll和.Java Package,接口程序?qū)⒕唧w應(yīng)用進行封裝,若涉及到與其它系統(tǒng)對接,只需要其它應(yīng)用系統(tǒng)對程序進行相應(yīng)調(diào)整即可[5]。
移動中間件處于手機操作系統(tǒng)與業(yè)務(wù)系統(tǒng)之間,實現(xiàn)不同應(yīng)用的連接、交互、支撐和服務(wù),典型代表如iMAG、AppMobi、AppCan、PhoneGap等[6]。移動中間件能促使開源ESB和BAM平臺發(fā)揮更高效的作用[7]。
互聯(lián)網(wǎng)協(xié)議簇包括IP、TCP、IGMP、ICMP、HTTP、SMTP、POP等協(xié)議,實現(xiàn)系統(tǒng)之間通信服務(wù)與資源共享[8]。
操作系統(tǒng)指智能終端操作系統(tǒng),主要有蘋果的iOS、Google的Android、微軟的Windows Phone、RIM的Black Berry OS、阿里云Yun OS等[9]。
智能終端與通信硬件/固件指處理器、內(nèi)存、緩存、射頻模塊,以及藍牙、紅外、GPS、NFC、攝像機、振動馬達等。
3 基于移動互聯(lián)網(wǎng)的手機支付系統(tǒng)架構(gòu)
3.1 軟件系統(tǒng)架構(gòu)
本文中軟件系統(tǒng)從上往下依次分為客戶層/訪問層、Web應(yīng)用層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層、資源層等。
(1)客戶層/訪問層
本層是運行于客戶機上的表示層,提供用戶側(cè)系統(tǒng)接口和人機交互界面,常見形式有與用戶直接交互的客戶端、Web瀏覽器[10]。
(2)Web應(yīng)用層
本層是運行在服務(wù)器上的表示層,封裝了用來服務(wù)訪問本系統(tǒng)的客戶端的表示層邏輯,主要負責(zé)客戶端的注冊、認證、登錄,實現(xiàn)會話管理,控制對業(yè)務(wù)的訪問(權(quán)限檢查),構(gòu)造客戶端的回復(fù)(Response),以及把回復(fù)傳遞給客戶端。Asp.Net駐留在該層,Web Service駐留在該層[11]。
(3)業(yè)務(wù)邏輯層
本層負責(zé)數(shù)據(jù)的組織與編排,通過服務(wù)接口、BLL接口、數(shù)據(jù)層反射等,實現(xiàn)數(shù)據(jù)的邏輯處理[12]。
(4)數(shù)據(jù)訪問層
本層由IDAL接口,數(shù)據(jù)庫助手等構(gòu)成,實現(xiàn)對系統(tǒng)數(shù)據(jù)的訪問。
(5)資源層
本層提供外部系統(tǒng)資源和供外部訪問的數(shù)據(jù)資源,主要包括數(shù)據(jù)庫、文件等。
3.2 技術(shù)架構(gòu)
(1)SOA體系
SOA(Service-Oriented Architecture,面向服務(wù)的體系結(jié)構(gòu))是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,它應(yīng)該獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言,這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進行交互。只要開發(fā)人員選用標(biāo)準(zhǔn)接口包裝各個部門的應(yīng)用程序,把這些應(yīng)用程序構(gòu)建成服務(wù),系統(tǒng)就可以使用這些功能服務(wù)[13]。
SOA是一種粗粒度、松耦合服務(wù)架構(gòu),服務(wù)之間通過簡單、精確定義接口進行通訊,不涉及底層編程接口和通訊模型。SOA可以看作是B/S模型、XML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)/Web Service技術(shù)之后的自然延伸[14]。
(2)基于Java的NI/O
采用基于Java平臺的J2EE技術(shù),系統(tǒng)采用SSH三層開源框架,構(gòu)建于B/S三層應(yīng)用體系結(jié)構(gòu)之上。利用XML作為系統(tǒng)接口的數(shù)據(jù)交換標(biāo)準(zhǔn)進行信息資源整合,在應(yīng)用支撐平臺上采用Web Services基于XML的標(biāo)準(zhǔn)化接口定義[15]。
傳統(tǒng)Java的I/O是基于流的方式,因此I/O被認為是單個字節(jié)移動,采用被稱為Stream的對象,每次移動一個字節(jié)。利用傳統(tǒng)Java的I/O建立的SOCKET 服務(wù)器接收客戶端連接,適用于為每一個連接建立一個線程,但是如果連接數(shù)據(jù)量巨大時,服務(wù)器的開銷非常巨大[16]。
為解決這個技術(shù)難點,本文采用Java NI/O技術(shù),這時I/O采用面向塊的思想,以塊的方式處理I/O數(shù)據(jù),每一個操作在一步中生產(chǎn)或者消耗一個數(shù)據(jù)塊,NI/O將最耗時的I/O操作(填充和提取緩沖區(qū))轉(zhuǎn)移回操作系統(tǒng)實現(xiàn),因而極大地提高了效率[16]。
(3)基于iMAG
移動中間件發(fā)展至今已有三代,iMAG是典型代表,本文選用的iMAG具有AppMobi、AppCan、PhoneGap等基于HTML5的第二代移動中間件無法比擬的優(yōu)勢,如:原生的客戶體驗、強大的手機本地調(diào)用能力、同時支持在線和離線兩種應(yīng)用模式,iMAG Manager可作為企業(yè)移動應(yīng)用的管理和運營的支撐系統(tǒng)[17]。
4 系統(tǒng)功能設(shè)計
本文中手機支付系統(tǒng)主要分為充值系統(tǒng)、支付系統(tǒng)、對賬系統(tǒng)。
4.1 充值系統(tǒng)
充值方式分為現(xiàn)金充值(通過發(fā)卡器或者自助充值機)、銀行圈存(這里指手機/空中圈存)。
(1)現(xiàn)金充值
持現(xiàn)金交給出納員,出納員將金額存寫到用戶卡上,并根據(jù)報表將所收現(xiàn)金交給財務(wù)。
(2)手機/空中圈存
空中圈存指是通過手機打電話、或者短信、OTA菜單方式進行圈存,即時將銀行卡賬戶金額劃轉(zhuǎn)到手機卡錢包的過程,本文選用OTA方式,流程如下:
(1)用戶可以通過短信、門戶發(fā)起充值請求;
(2)手機充值系統(tǒng)收到充值請求后,根據(jù)黑名單判斷用戶是否可以進行充值;
(3)手機充值系統(tǒng)向銀行/移動支付平臺發(fā)起充值扣款請求;
(4)銀行/移動支付系統(tǒng)完成認證和扣款[18];
(5)向手機充值系統(tǒng)返回處理結(jié)果;
(6)手機充值系統(tǒng)記錄充值結(jié)果;
(7)手機充值系統(tǒng)向OTA平臺發(fā)起充值指令;
(8)OTA發(fā)送充值指令到用戶卡(手機卡),修改手機充值系統(tǒng)賬戶余額[19]。
工作流程
4.2 支付系統(tǒng)
支付系統(tǒng)支持多種支付方式,如終端刷卡消費、自動扣款、自助轉(zhuǎn)賬等。
(1)刷卡支付
終端刷卡消費是指通過POS消費的所有應(yīng)用,也是目前最主要的支付方式,是消費帳務(wù)最主要的組成部分。
(2)自動扣款
自動扣款是指通過軟件自動扣費,常見的如生活交費(水電氣費)。軟件扣費的存在形式一般是和第三方系統(tǒng)進行軟件對接形成的。第三方軟件在扣除卡上金額后,還要將扣款記錄保存在第三方軟件數(shù)據(jù)庫中,并且要上傳到中心數(shù)據(jù)庫。
(3)自助轉(zhuǎn)賬
自助轉(zhuǎn)帳即自助交費,如手機充值、公交卡充值等,用戶在自助設(shè)備或者手機APP(支付寶、微信等)上進行,轉(zhuǎn)帳記錄通過接口傳給第三方系統(tǒng)。該方式與自動扣款方式類似,但存在形式不同。
4.3 對賬系統(tǒng)
對賬系統(tǒng)主要校驗支付交易數(shù)據(jù)的是否有誤,從不同的角度出發(fā),對賬方式分為多種,具體名稱和實現(xiàn)功能如下。
(1)系統(tǒng)平衡帳
從整體來查看系統(tǒng)中存在的帳務(wù)問題,如果系統(tǒng)平衡帳是平衡的,說明系統(tǒng)中帳務(wù)是沒有問題的,計算公式為:
卡余額=出納存款+補助+代發(fā)+銀行圈存+糾錯-各種消費-管理費-自助繳費
卡余額與數(shù)據(jù)庫中記錄的卡余額相比,如果兩者相等,系統(tǒng)平衡帳是平衡的,如果不相等,分項進行查驗,確定問題所在。
(2)個人平衡帳
每個持卡人在系統(tǒng)中的所有行為構(gòu)成個人平衡帳,計算公式為:
個人計算卡余額=個人存款+已領(lǐng)補助+個人已領(lǐng)代發(fā)+銀行圈存+糾錯-各種消費-管理費-自助繳費
個人平衡帳在用戶卡系統(tǒng)中非常重要,只有每個人帳務(wù)是平衡帳的,才能保證整個系統(tǒng)的平衡帳。個人平衡帳在進行集中數(shù)據(jù)處理時自動生成,不需要手工分析,系統(tǒng)對個人平衡帳不平的人員,直接放在報表中,并在界面上報警窗口報警,提醒管理員。
(3)補助代發(fā)平衡帳
屬于專項平衡帳,補助準(zhǔn)備應(yīng)該等于補助已發(fā)和未發(fā)的總和,監(jiān)控補助平衡帳可以確保補助、代發(fā)這一塊帳務(wù)是正確的。
(4)出納員平衡賬
出納員的帳務(wù)要對三對照,出納收的現(xiàn)金、出納機上顯示的存款總額、報表顯示的存款總額三者必須一致,對于不一致的,肯定有一方有問題。針對不一致的方面進行驗證。
(5)銀行對帳和支付系統(tǒng)對帳
實現(xiàn)銀行圈存后,銀行系統(tǒng)和支付系統(tǒng)每天要進行對帳,一般原則是當(dāng)天對前一天的帳。對帳的方式是通過對帳文件自動進行,根據(jù)對帳結(jié)果進行帳務(wù)處理。如果發(fā)生帳務(wù)不一致,原則上以銀行為準(zhǔn)。
(6)商戶對賬
營業(yè)POS機上記錄商戶每餐、每日的營業(yè)額,商戶可以自行記錄。同樣商戶可以通過報表查詢每日的營業(yè)情況。報表和營業(yè)機上記錄的營業(yè)額進行對帳。在進行商戶結(jié)算時,商戶可以自打印報表與結(jié)算中心財務(wù)人員的結(jié)算金額進行對帳。
(7)賬戶余額對賬
顯示中系統(tǒng)中的賬戶余額,財務(wù)人員可以將個人賬戶余額與支付系統(tǒng)中余額進行對帳,來驗看系統(tǒng)帳務(wù)是否正確。
(8)異常帳處理
灰色記錄:在持卡人刷卡消息時,POS機進行扣款寫卡,但卡是否寫成功(射頻卡底層函數(shù)即使提示成功,在理論也存在著誤報的可能性,所以寫卡后需要進行讀卡校驗來確認操作真實性),需要進行校驗,如果在回讀時,用戶卡被取走,回讀校驗將失敗,此時形成的記錄稱為灰色記錄,灰色記錄采回中心數(shù)據(jù)庫,由系統(tǒng)根據(jù)該卡下一條記錄帶回的余額進行自動處理,判斷本條灰色記錄是否是真正消費記錄。
數(shù)據(jù)庫損壞導(dǎo)致的異常:由于數(shù)據(jù)庫損壞引起異常,需要有帳務(wù)人員強行平帳。
5 結(jié)束語
隨著在移動互聯(lián)網(wǎng)場景下的應(yīng)用越來越多,移動支付的應(yīng)用也越來越廣泛,本文對此作了探究。移動支付系統(tǒng)的設(shè)計與實現(xiàn)是項復(fù)雜的工程,本文主要探究了總體系統(tǒng)和主要功能設(shè)計思路。由于無線通信、互聯(lián)網(wǎng)、智能終端、傳感等技術(shù)的不斷創(chuàng)新,信息安全越來越重要,該領(lǐng)域今后主要側(cè)重用新技術(shù)改進當(dāng)前系統(tǒng),尤其是支付系統(tǒng)的安全保密方面。
參考文獻:
[1] 王永建,趙志明,陳汝君,等. 面向移動互聯(lián)網(wǎng)的電梯安全監(jiān)管系統(tǒng)設(shè)計[J]. 電信快報, 2016(8): 9-12.
[2] 陳鵬. 物聯(lián)網(wǎng)RFID技術(shù)與云計算數(shù)據(jù)傳輸?shù)陌踩苑治鯷J]. 物聯(lián)網(wǎng)技術(shù), 2014(7): 91-92.
[3] 于志清. 基于“互聯(lián)網(wǎng)+”視角下的低碳經(jīng)濟發(fā)展路徑初探[J]. 當(dāng)代經(jīng)濟, 2015(28): 20-22.
[4] 馬虹. 城市一卡通與移動支付的整合與創(chuàng)新應(yīng)用[J]. 金卡工程, 2016(1): 12-14.
[5] 王永建,郎豐凱,王迅,等. 智慧校園一卡通系統(tǒng)安全研究[J]. 信息安全研究, 2016(5): 454-461.
[6] 寧義雙. 基于HTML5的移動終端應(yīng)用中間件平臺的研究與設(shè)計[D]. 北京: 北京工業(yè)大學(xué), 2013.
[7] 徐磊. 基于SOA的RFID中間件的設(shè)計與實現(xiàn)[D]. 北京: 中國科學(xué)院大學(xué), 2015.
[8] 王慶剛,張林,張劍. 移動互聯(lián)網(wǎng)探究及農(nóng)業(yè)移動電子商務(wù)應(yīng)用[J]. 電腦知識與技術(shù), 2015,11(35): 167-168.
[9] 王慶剛,張林,張劍. 基于移動互聯(lián)網(wǎng)的農(nóng)業(yè)電商系統(tǒng)設(shè)計與實現(xiàn)[J]. 計算機應(yīng)用, 2016,36(s1): 286-290.
[10] 謝倩. 翼機通管理及集中應(yīng)用平臺系統(tǒng)的方案設(shè)計與實踐[D]. 北京: 北京郵電大學(xué), 2011.
[11] 王琳. 校園手機一卡通系統(tǒng)設(shè)計和應(yīng)用[J]. 通信管理與技術(shù), 2011(3): 47-51.
[12] 薛娟. 基于RFID射頻技術(shù)的電信翼機通平臺的應(yīng)用研究[D]. 南京: 南京郵電大學(xué), 2012.
[13] 朱凱. 區(qū)域性電子政務(wù)協(xié)同辦公平臺的設(shè)計[D]. 上海: 復(fù)旦大學(xué), 2008.
[14] 楊陸欣. 金融保險信息系統(tǒng)整合研究[D]. 上海: 上海交通大學(xué), 2009.
[15] 王永建,王海兵,周顯,等. 智慧校園一卡通與圖書館系統(tǒng)對接探究[J]. 軟件, 2016(5): 111-114.
[16] 王永建,郭廣濤,牛輝奇,等. 基于二維碼的糧油溯源系統(tǒng)設(shè)計研究[J]. 電信技術(shù), 2016(4): 61-67.
[17] 徐巍. 跨平臺移動開發(fā)框架的比較分析與實例開發(fā)[D]. 長春: 吉林大學(xué), 2014.
[18] 張兵兵,王建,任洪琴,等. 校園手機一卡通充值模式的多樣化服務(wù)淺析[J]. 科技信息, 2010(9): 65-66.
[19] 馬玉鵬,徐春香,蔣同海. 移動小額支付平臺框架研究[J]. 計算機應(yīng)用與軟件, 2015,32(11): 62-65.