国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于中間件的統(tǒng)一驗(yàn)票系統(tǒng)

2014-10-10 17:46:39鄭琪蔣盛益
電腦知識與技術(shù) 2014年24期
關(guān)鍵詞:數(shù)據(jù)共享中間件

鄭琪 蔣盛益

摘要:為了解決一場演出的票務(wù)委托多家票務(wù)公司銷售而造成票務(wù)信息不統(tǒng)一,無法通過驗(yàn)票終端統(tǒng)一驗(yàn)票的問題,設(shè)計(jì)開發(fā)了票務(wù)中間件,所有票務(wù)信息通過票務(wù)中間件進(jìn)行集中和共享。詳細(xì)介紹了基于中間件進(jìn)行統(tǒng)一驗(yàn)票的信息處理流程和系統(tǒng)設(shè)計(jì)。

關(guān)鍵詞:統(tǒng)一驗(yàn)票;中間件;數(shù)據(jù)共享

中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)21-5692-03

The Unified Checking System Based on Middleware

ZHENG Qi, JIANG Sheng-yi

(School of Informatics, Guangdong University of Foreign Studies, Guangzhou 510006, China)

Abstract:The tickets of a show are consigned to different ticketing companies to sell. The selling information is separated and hard to be unified to check by devices. The ticket service middleware is developed to solve this problem. All the ticket information are The information processing flow and system design of unified checking system based on middleware are introduced.

Key words: unified checking system; middleware; sharing data

隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和互聯(lián)網(wǎng)的普及,劇院傳統(tǒng)的購票和檢票模式也發(fā)生了很大的變化。用戶購票從傳統(tǒng)的購票窗口購票,發(fā)展為可以利用電腦、移動(dòng)設(shè)備在線購票。劇院檢票也從人工檢票轉(zhuǎn)變?yōu)槔瞄l機(jī)、手持設(shè)備實(shí)時(shí)檢票。這些模式的變化也給票務(wù)系統(tǒng)設(shè)計(jì)帶來了新的挑戰(zhàn)。由于劇院的一場演出票務(wù)往往會(huì)由票務(wù)總代理委托給多家網(wǎng)上票務(wù)公司進(jìn)行代理銷售。例如目前規(guī)模較大的網(wǎng)上票務(wù)公司有中演票務(wù)通、大麥網(wǎng)、永樂票務(wù)等。由于多家票務(wù)公司在售票過程中使用各自的售票系統(tǒng),數(shù)據(jù)格式各不相同,生成的票務(wù)驗(yàn)證信息也不一致,所以售票數(shù)據(jù)無法統(tǒng)一,導(dǎo)致無法在檢票過程中利用終端進(jìn)行統(tǒng)一驗(yàn)票,而只能通過人工方式進(jìn)行驗(yàn)票。為了改變目前場所驗(yàn)票終端不能服務(wù)于多家票務(wù)公司的現(xiàn)狀,我們設(shè)計(jì)開發(fā)了統(tǒng)一的中間件平臺,從而實(shí)現(xiàn)票務(wù)信息的統(tǒng)一管理。本文主要介紹如何通過中間件平臺實(shí)現(xiàn)票務(wù)的統(tǒng)一驗(yàn)票。

1 票務(wù)系統(tǒng)的系統(tǒng)架構(gòu)

票務(wù)系統(tǒng)的架構(gòu)見圖1。該系統(tǒng)以票務(wù)服務(wù)中間件服務(wù)器為核心。票務(wù)服務(wù)中間件服務(wù)器對外提供統(tǒng)一的XMLHTTP接口,并為每個(gè)訪問客戶分配用戶碼和Key,通過調(diào)用統(tǒng)一的接口來實(shí)現(xiàn)售票數(shù)據(jù)的上傳和下載[1][2]。票務(wù)總代理、票務(wù)公司、檢票方在進(jìn)行數(shù)據(jù)交換時(shí)都需要通過中間件服務(wù)器。

2 票務(wù)系統(tǒng)的處理流程

票務(wù)系統(tǒng)的處理流程如下:

1)票務(wù)信息的發(fā)布。票務(wù)總代理將所有的可售票信息通過票務(wù)總代理的接口服務(wù)器發(fā)布到中間件服務(wù)器。

2)售票。各票務(wù)公司通過本票務(wù)公司的接口服務(wù)器將該票務(wù)公司可代理的售票信息下載到本公司的票務(wù)系統(tǒng)中,通過票務(wù)公司自己的售票系統(tǒng)進(jìn)行發(fā)售,同時(shí)及時(shí)將售票信息更新到中間件服務(wù)器。

3)驗(yàn)票。驗(yàn)票的流程如圖2。劇院在驗(yàn)票開始前利用劇院的接口服務(wù)器從中間件服務(wù)器下載所有的票務(wù)信息。在進(jìn)行驗(yàn)票時(shí),將每張票面的二維碼信息與本地?cái)?shù)據(jù)庫中的本場演出的MD5編碼進(jìn)行比對[3]。如果未查找到該票面的相關(guān)信息,則通過中間件更新本次的票務(wù)信息后進(jìn)行二次比對。如果比對成功,則認(rèn)為驗(yàn)票成功;否則認(rèn)為驗(yàn)票失敗。

3 基于中間件的驗(yàn)票系統(tǒng)實(shí)現(xiàn)

該驗(yàn)票系統(tǒng)主要包括兩大部分的通信。一部分是通過互聯(lián)網(wǎng)將驗(yàn)票信息從中間件服務(wù)器下載到本地局域網(wǎng)內(nèi)的驗(yàn)票服務(wù)器。另一部分是各種驗(yàn)票設(shè)備將票面上的二維碼信息傳遞給驗(yàn)票服務(wù)器進(jìn)行比對。

3.1 驗(yàn)票數(shù)據(jù)的下載

驗(yàn)票服務(wù)器與中間件服務(wù)器的通訊接口遵循XMLHTTP接口協(xié)議,并統(tǒng)一采用UTF-8編碼。為了避免票務(wù)信息的非法獲取或篡改,并且唯一標(biāo)志每個(gè)訪問客戶,每個(gè)需要訪問中間件服務(wù)器接口的合作伙伴都會(huì)分配一個(gè)合作伙伴編號和密鑰。雙方傳輸?shù)南?bào)文包括請求報(bào)文和應(yīng)答報(bào)文兩種類型,采用XML格式,由報(bào)文頭和報(bào)文體兩部分構(gòu)成[4]。報(bào)文頭包括版本號、消息服務(wù)類型、合作伙伴編號、報(bào)文簽名和時(shí)間戳。在報(bào)文頭中加入消息服務(wù)名稱,用來定位訪問何種數(shù)據(jù)服務(wù)。在報(bào)文頭中對報(bào)文進(jìn)行簽名,防止報(bào)文內(nèi)容在傳輸途中被篡改。報(bào)文簽名規(guī)則為將合作伙伴密鑰、消息服務(wù)類型、合作伙伴編號和時(shí)間戳構(gòu)造的字符串使用MD5算法進(jìn)行散列后再進(jìn)行Base64編碼[5]。驗(yàn)票數(shù)據(jù)的下載需要使用的中間件的接口如下。

獲得場次信息:查詢指定日期內(nèi)的場次信息,消息服務(wù)名稱getunits。

獲取驗(yàn)票數(shù)據(jù):獲取某個(gè)場次的所有未檢票數(shù)據(jù),消息服務(wù)名稱getticketinfo。

上傳檢票結(jié)果:上傳某個(gè)場次的所有已檢票數(shù)據(jù), 消息服務(wù)名稱upcheckticket。

3.2 驗(yàn)票數(shù)據(jù)的更新

由于驗(yàn)票數(shù)據(jù)是在檢票開始前從中間件服務(wù)器下載到本地的,而在檢票過程中票務(wù)公司可能會(huì)有新的售票信息更新到中間件服務(wù)器。驗(yàn)票服務(wù)器與中間件服務(wù)器數(shù)據(jù)的不一致,會(huì)導(dǎo)致無法對驗(yàn)票數(shù)據(jù)下載后售出的票進(jìn)行校驗(yàn)。因此當(dāng)驗(yàn)票服務(wù)器發(fā)現(xiàn)對某張票匹配失敗后,主動(dòng)向中間件服務(wù)器再次發(fā)送獲取檢票數(shù)據(jù)的請求。驗(yàn)票服務(wù)器只需獲取上次票務(wù)數(shù)據(jù)下載后的最新數(shù)據(jù)。為了便于區(qū)分新舊票務(wù)信息,按照出售時(shí)間的先后順序賦予檢票數(shù)據(jù)消息體中的每張票一個(gè)序列號。在請求更新驗(yàn)票數(shù)據(jù)時(shí),向中間件服務(wù)器提交當(dāng)前場次本地驗(yàn)票數(shù)據(jù)的最大序列號。中間件服務(wù)器只返回大于該序列號的驗(yàn)票數(shù)據(jù)。

3.3 驗(yàn)票設(shè)備與驗(yàn)票服務(wù)器的通信

為了實(shí)現(xiàn)驗(yàn)票的靈活性,同時(shí)提供了閘機(jī)和PDA兩種驗(yàn)票設(shè)備。閘機(jī)和PDA驗(yàn)票客戶端均基于windows CE嵌入式操作系統(tǒng)[6]。閘機(jī)通過有線局域網(wǎng)連接到驗(yàn)票服務(wù)器,PDA通過無線局域網(wǎng)連接到驗(yàn)票服務(wù)器。驗(yàn)票時(shí)驗(yàn)票設(shè)備掃描票面上的二維碼,二維碼的信息是每張票對應(yīng)的唯一MD5碼。將二維碼信息通過網(wǎng)絡(luò)傳輸?shù)津?yàn)票服務(wù)器。驗(yàn)票服務(wù)器利用二維碼匹配票務(wù)數(shù)據(jù)庫中的門票MD5編碼,如果匹配成功,則返回成功信息給驗(yàn)票設(shè)備。否則自動(dòng)更新票務(wù)數(shù)據(jù)后,進(jìn)行二次匹配。如果匹配依然失敗,則返回失敗信息。

為了保證驗(yàn)票信息傳輸?shù)目煽?,閘機(jī)客戶端和PDA客戶端均通過TCP協(xié)議與驗(yàn)票服務(wù)器通信。驗(yàn)票服務(wù)器采用多線程的方式分別監(jiān)聽兩個(gè)不同的端口,一個(gè)端口接收閘機(jī)客戶端發(fā)送的請求,另一個(gè)端口接收PDA客戶端發(fā)送的請求[7][8]。閘機(jī)客戶端和PDA客戶端均定期向驗(yàn)票服務(wù)器發(fā)送心跳請求以保證連接的可靠性。當(dāng)收到來自閘機(jī)或者PDA客戶端發(fā)送的MD5編碼驗(yàn)證請求后,驗(yàn)票服務(wù)器查詢本地?cái)?shù)據(jù)庫,進(jìn)行驗(yàn)證。如果驗(yàn)證通過,則返回成功信息。閘機(jī)客戶端收到成功信息后,發(fā)送開閘信號,運(yùn)行觀眾通過。PDA客戶端收到成功信息后,在PDA窗口顯示驗(yàn)證通過信息,檢票員允許觀眾通過。如果驗(yàn)證不通過,則閘機(jī)客戶端和PDA客戶端收到失敗信息后,通過語言和顯示屏提示驗(yàn)票失敗。

4 小結(jié)

本文介紹了如何利用中間件技術(shù)完成票務(wù)信息的集中和共享,統(tǒng)一進(jìn)行驗(yàn)票,改變了劇院驗(yàn)票終端只能服務(wù)于一家票務(wù)公司的現(xiàn)狀,使劇院驗(yàn)票終端服務(wù)多家票務(wù)公司,為多家票務(wù)公司良性競爭創(chuàng)造了技術(shù)條件

參考文獻(xiàn):

[1] Wikipedia. XMLHttpRequest [EB/OL]. http://en.wikipedia.org/wiki/XMLHttpRequest.

[2] 朱澤民, 熊盛武. 基于擴(kuò)展標(biāo)準(zhǔn)語言(XML)Web Service的實(shí)時(shí)票務(wù)系統(tǒng)的研究[J]. 湖北民族學(xué)院學(xué)報(bào):自然科學(xué)版, 2007, 25(1):61-64.

[3] Wikipedia. MD5[EB/OL]. http://en.wikipedia.org/wiki/Md5.

[4] 孫更新, 裴紅義, 楊金龍. XML完全開發(fā)指南[M]. 北京:科學(xué)出版社, 2008.

[5] Wikipedia. Base64[EB/OL]. http://en.wikipedia.org/wiki/Base64.

[6] 薛大龍, 陳世帝, 王韻. Windows CE嵌入式系統(tǒng)開發(fā)從基礎(chǔ)到實(shí)踐[M]. 北京:電子工業(yè)出版社, 2008.

[7] 羅斌. Visual C++ 2008開發(fā)經(jīng)驗(yàn)與技巧寶典[M]. 北京:中國水利水電出版社, 2010.

[8] 殷肖川. 網(wǎng)絡(luò)編程與開發(fā)技術(shù)[M]. 西安:西安交通大學(xué)出版社, 2009.

猜你喜歡
數(shù)據(jù)共享中間件
RFID中間件技術(shù)及其應(yīng)用研究
電子制作(2018年14期)2018-08-21 01:38:10
基于VanConnect中間件的設(shè)計(jì)與開發(fā)
電子測試(2018年10期)2018-06-26 05:54:02
基于Android 平臺的OSGi 架構(gòu)中間件的研究與應(yīng)用
電子制作(2017年13期)2017-12-15 09:00:21
科學(xué)大數(shù)據(jù)的發(fā)展態(tài)勢及建議
數(shù)字化迎新系統(tǒng)宿舍分配模塊的設(shè)計(jì)與實(shí)現(xiàn)
貴州大數(shù)據(jù)產(chǎn)業(yè)發(fā)展戰(zhàn)略理解和實(shí)施建議
面向海上平臺機(jī)械電氣設(shè)備的數(shù)據(jù)共享平臺的設(shè)計(jì)與實(shí)現(xiàn)
淺談“營配貫通”對供電企業(yè)的作用
基于協(xié)同辦公的會(huì)議管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
中間件在高速公路領(lǐng)域的應(yīng)用
松滋市| 晋宁县| 平定县| 奎屯市| 黄陵县| 博罗县| 屏东县| 颍上县| 武威市| 新密市| 肃南| 亳州市| 渭源县| 准格尔旗| 临武县| 门源| 西贡区| 平顺县| 中超| 米林县| 禄丰县| 安仁县| 海宁市| 浦江县| 托克托县| 孟州市| 鲜城| 砚山县| 海宁市| 通海县| 苍南县| 乐至县| 开化县| 西和县| 莆田市| 裕民县| 陇川县| 独山县| 华蓥市| 连平县| 十堰市|