• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      支持高并發(fā)處理的新型票務應用系統(tǒng)設計與實現(xiàn)

      2015-02-28 06:14:24克,羅喧,李凌,李
      電信科學 2015年10期
      關鍵詞:令牌票務線程

      林 克,羅 喧,李 凌,李 豫

      (1.中國電信股份有限公司廣州研究院 廣州510630;2.中國電信股份有限公司廣東分公司 廣州510180)

      1 引言

      隨著移動互聯(lián)網的發(fā)展,登錄網絡線上買票線下消費的O2O(online to offline,線上到線下)型電子商務已逐漸成為新的移動互聯(lián)網應用熱點。此類移動電子票務應用向用戶提供票務相關信息查詢、提前選座訂票、遠程在線支付和便捷取票驗票等功能,同時實現(xiàn)運營管理的信息化、確保用戶信息及票據的安全性。其覆蓋面廣,從旅游景點門票、影戲門票、音樂演出票、體育賽票、展覽會票、博物館票等各種入場券票,到汽車票、火車票、飛機票、船票等各類電子客票,均可衍生出相應的定制化應用服務和商務模式。比如,對于汽車票的票務應用服務,用戶可通過應用的網站或手機客戶端瀏覽查詢某個車站到某地的車次信息、票價信息,根據系統(tǒng)提示挑選車廂中的座位形成訂單,再使用銀聯(lián)等支付方式完成網絡在線或移動支付;系統(tǒng)確認支付成功后,將以短信、彩信或電子訂單的形式將各種形態(tài)的電子票發(fā)送給用戶;用戶可持電子票,以相應的驗證形式在自助取票終端打印紙質車票,或直接驗票乘車。

      基于移動互聯(lián)網的票務應用服務主要具有以下特征。

      ·服務渠道多樣化,支持手機客戶端、Web/WAP網站、語音服務和自助訂票終端等服務渠道。

      ·提供透明的票務信息和豐富的資訊,用戶可隨時隨需查詢信息,提前選定時間排期及座位。

      ·可擴展地接入銀聯(lián)、支付寶等第三方支付能力,使用戶便捷靈活地完成在線訂單支付。

      ·支持新型電子票(短信、彩信或系統(tǒng)訂單)的自助取票與現(xiàn)場驗票,偽識別安全性高。

      ·提供強大可靠的運營管理后臺,實現(xiàn)高效運營管理,具有管理一體化、核算嚴密等特點。

      2 票務應用系統(tǒng)架構

      票務應用系統(tǒng),或稱為票務代理系統(tǒng),是基于移動互聯(lián)網的票務應用服務中的核心平臺,通過與票務公司的原生專業(yè)票務系統(tǒng)相連來完成相關的票務功能。該代理系統(tǒng)側重售票代理應用,而不包括原生專業(yè)票務系統(tǒng)面向機構內部的內容管理、計劃管理等功能。整個票務應用系統(tǒng)包括業(yè)務邏輯模塊、核心數(shù)據庫、運營管理后臺、前向應用管理模塊、票務票源接入服務、憑證生成與驗證模塊、終端管理系統(tǒng)、能力接入網關等部分。對外主要與專業(yè)票務系統(tǒng)對接,實現(xiàn)與票務公司的數(shù)據交換、票務訂購等服務;對內則實現(xiàn)了豐富的應用服務渠道接入、健全的第三方能力接入以及核心的邏輯、運營及管理功能,如圖1所示。

      在整個票務應用服務體系中,首先必須由原始的業(yè)務公司將門票電子化,然后通常會以某種程序API將門票售賣功能開放給下游的代理商。對一個大型的在線票務代理商的票務應用系統(tǒng)而言,系統(tǒng)將連接多個原生票務系統(tǒng)的票源,將其中的票務信息同步到本地代理系統(tǒng)中,代理的票務應用系統(tǒng)與原生的票務系統(tǒng)之間存在復雜的交互。

      3 系統(tǒng)性能瓶頸分析

      關于原生專業(yè)票務系統(tǒng)與代理票務應用系統(tǒng)之間的運作流程,本文將以電影票訂購業(yè)務為例來分析。

      首先,在線電影票的購票代理系統(tǒng)必須將原生票務系統(tǒng)的電影院的名稱、地址以及各個影廳信息同步到代理票務系統(tǒng),然后增加必要的影院簡介、影院推薦信息。其次,原生票務系統(tǒng)當前的播放電影的排期、檔期等播放信息需要以較高的頻率更新,例如,每個小時同步到代理票務系統(tǒng),然后增加對電影的海報、影評等附加信息。在用戶登錄系統(tǒng)的時候,瀏覽正在熱映的相關電影海報、影評等,然后點擊進入購票,此時電影票的代理系統(tǒng)需要去原生系統(tǒng)獲取最新的可售的座位信息,然后在本系統(tǒng)展示一個座位圖的操作界面供用戶進行選座并購買電影票。一旦用戶選擇訂購電影票,代理系統(tǒng)將去原生系統(tǒng)將座位鎖定,鎖定座位后,用戶在代理業(yè)務系統(tǒng)中完成電影票票款支付的過程。完成支付后和原生系統(tǒng)進行對單操作,完成對單后雙方均確認了此次用戶的購買行為,進行正式的出票過程。

      圖1 票務應用服務總體架構

      通常,在代理方主動進行的營銷活動中,用戶的訂票行為會被異常地集中在極短的時間內。例如,某些熱門場次的首映式門票搶訂、營銷活動中的“1元訂票”等。當用戶的訂票行為被異常地集中時,代理系統(tǒng)和原生系統(tǒng)最關鍵和脆弱的一步在于獲取原生系統(tǒng)的可售座位信息。其原因在于,影院信息、影廳信息以及正在上映的影片排期及場次信息均提前同步到代理售票系統(tǒng)中,然而,電影排期場次的可售的座位信息隨時可能被其他代理商的代理系統(tǒng)或者原生系統(tǒng)的地面訂票行為所改變,需要實時地從原生系統(tǒng)獲取。

      因此,在通常的實現(xiàn)中,代理系統(tǒng)搶票的時候集中地獲取可售座位圖的訪問量將直接傳遞給原生系統(tǒng),由于原生系統(tǒng)與代理系統(tǒng)由不同的公司所開發(fā),兩個系統(tǒng)建設目標和性能指標不一定能夠匹配,例如,代理系統(tǒng)所能承受的最大并發(fā)連接數(shù)可能會遠大于原生系統(tǒng),代理系統(tǒng)每秒能處理的請求數(shù)很可能將受限于原生系統(tǒng)。一旦代理售票應用系統(tǒng)進行大規(guī)模的營銷活動,會承受越來越大的壓力,每個請求都將對原生系統(tǒng)帶來一個新的并發(fā)訪問連接,將直接導致原生系統(tǒng)的CPU資源、網絡資源、磁盤I/O資源、數(shù)據庫連接資源等快速耗盡,極短時間內實時可售座位圖請求造成的高并發(fā)訪問的壓力可能直接把原生票源系統(tǒng)壓垮,導致原生票源系統(tǒng)崩潰,如圖2所示。

      圖2 高并發(fā)狀態(tài)下系統(tǒng)交互示意(無過載保護)

      對此,本文提出一種高效可行的解決方案,實現(xiàn)高并發(fā)訂票壓力下代理票務應用系統(tǒng)對外部原生票務系統(tǒng)的過載壓力保護;設計出一種新型的票務應用系統(tǒng),以減少高并發(fā)壓力下對外部票務系統(tǒng)的訪問流量沖擊,降低外部票務系統(tǒng)的訪問壓力。

      4 系統(tǒng)高并發(fā)處理技術方案

      4.1 整體方案概述

      本文提出的系統(tǒng)高并發(fā)處理技術方案,實現(xiàn)了在高并發(fā)訂票壓力下對原生票務系統(tǒng)的過載壓力保護。通過監(jiān)控并發(fā)訪問壓力,當超過閾值時,自動啟動可售座位數(shù)據的緩存機制。在電影排期的可售座位緩存數(shù)據超時失效的時候,集群里的多臺服務器、多個線程競爭獲取訪問令牌,獲取令牌成功的唯一線程作為代表去外部票務系統(tǒng)獲取該排期最新的可售座位。本方案減少了高并發(fā)壓力下對外部票務系統(tǒng)的訪問流量沖擊,降低了外部票務系統(tǒng)的訪問壓力。高并發(fā)票務應用系統(tǒng)實現(xiàn)技術方案中包含幾個模塊:票務應用系統(tǒng)、過載保護模塊、在線座位圖緩存、訪問令牌池。其連接情況如圖3所示。

      圖3 高并發(fā)票務應用系統(tǒng)技術方案示意

      票務應用系統(tǒng)為傳統(tǒng)的售票代理邏輯;過載保護模塊為代理系統(tǒng)與原生票務系統(tǒng)中間的代理模塊,監(jiān)控售票代理系統(tǒng)與原生票務系統(tǒng)在過去60 s內的連接數(shù),當超過預先設置閾值時,啟動過載保護的模式;在線座位圖緩存模塊維護一份可供顯示的座位圖數(shù)據,該座位圖信息是允許時間范圍內的相對較新的座位圖數(shù)據。座位圖訪問令牌池提供去原生票務系統(tǒng)獲取座位圖信息所需的訪問令牌,每個座位圖有一個訪問令牌,在過載保護模式下,只有獲得令牌的工作線程才能去訪問原生票務系統(tǒng)獲取座位圖。

      4.2 高并發(fā)處理機制

      針對上述技術方案,本文制定了一種在線選座過程中的高并發(fā)處理機制,對代理的票務應用系統(tǒng)進行策略化改造,具體如圖4所示。

      圖4中,該實施機制可以包括以下步驟。

      (S402)監(jiān)控各代理票務系統(tǒng)發(fā)往原生票務系統(tǒng)的連接請求。

      (S404)判斷設定時間內發(fā)往同一原生票務系統(tǒng)的連接請求次數(shù)是否超過設定閾值,如果超過設定閾值,則轉步驟(S406),否則,轉步驟(S408);具體地,以同一原生票務系統(tǒng)接收到的連接請求為準,計算該請求倒推設定時間內的發(fā)往同一原生票務系統(tǒng)的連接次數(shù)是否超過設定閾值。

      圖4 在線選座過程的高并發(fā)處理操作機制示意

      (S406)攔截發(fā)往原生票務系統(tǒng)的連接請求,并啟動過載保護模式;具體地,如果超過設定閾值,則認為現(xiàn)在對同一原生票務系統(tǒng)的訪問過于密集,可能會造成原生票務系統(tǒng)的癱瘓,因此需要啟動過載保護模式,即不能直接將連接請求透傳至原生票務系統(tǒng),而是根據下述情形分別進行處理。

      (S408)將連接請求透傳至原生票務系統(tǒng)。

      (S410)響應于對連接請求的攔截,查詢在線座位圖緩存內是否存在所請求的座位圖,如果存在,則轉步驟(S412),否則,轉步驟(S416)。

      (S412)根據所請求的座位圖的存活時間判斷所請求的座位圖是否可用,如果可用,則轉步驟(S414),否則,轉步驟(S416)。具體地,該存活時間是個大于零的數(shù),具體數(shù)值可以由用戶設置。如果查詢到的存活時間大于零,則表明緩存內所請求的座位圖可用,否則表明緩存內所請求的座位圖不可用。

      (S414)將在線座位圖緩存內存儲的所請求的座位圖反饋給發(fā)起該連接請求的用戶。

      (S416)申請獲取訪問原生票務系統(tǒng)的令牌。

      (S418)響應于對令牌的獲取,從原生票務系統(tǒng)獲取所請求的座位圖,以基于所獲取的座位圖進行座位的選取;具體地,當多個連接請求均申請訪問同一個原生票務系統(tǒng)內針對同一座位圖的令牌時,只有一個連接能夠獲取到訪問令牌,例如,可以根據各個連接請求訪問時間的先后順序確定能夠獲取訪問令牌的連接請求。

      在該實施案例中,在設定時間內如果訪問同一個原生票務系統(tǒng)的連接請求數(shù)過高(如超過設定閾值),則由過載保護裝置對這些連接請求進行攔截,根據在線座位圖緩存內存儲的所請求的座位圖的存活時間或者直接獲取該緩存的座位圖,或者獲取/等待令牌以自原生票務系統(tǒng)獲取相應的座位圖。這樣既保證了用戶能夠及時獲取最新的座位圖,同時也降低了對原生票務系統(tǒng)的訪問壓力。

      在步驟(S418)之后,響應于對令牌的獲取,在從原生票務系統(tǒng)獲取所請求的座位圖后,將獲取的座位圖更新到在線座位圖緩存中,設置存活時間,并啟動倒計時。這樣,如果在過載保護模式下且相應座位圖的存活時間大于0,則其他請求同一座位圖的連接請求可以直接從在線座位圖緩存中獲取相應的座位圖。

      進一步地,在步驟(S416)之后,如果連接請求未獲取到訪問原生票務系統(tǒng)的令牌,則未獲取到令牌的連接請求進入休眠狀態(tài),等待在線座位圖緩存內所請求的座位圖的更新或等待獲取令牌。此時,未獲取到訪問原生票務系統(tǒng)令牌的連接可以同時檢測是否獲取令牌以及在線座位圖緩存內所請求的座位圖是否更新,如果先獲取令牌則直接到原生票務系統(tǒng)獲取實時的座位圖,如果先檢測到緩存的更新,則直接到在線座位圖緩存中讀取所請求的座位圖,這樣可以顯著提高在線預訂座位的實時性。

      在步驟(S408)中,連接請求被透傳至原生票務系統(tǒng),在選定座位后,將所請求的座位圖更新至在線座位圖緩存中。這樣,如果后續(xù)連接請求被過載保護,在存活時間有效的前提下,這些連接請求可以直接到在線座位圖緩存內讀取所請求的座位圖,既提高了預訂座位的實時性,又避免了對原生票務系統(tǒng)造成較大的沖擊。

      在步驟(S406)中,過載保護模式啟動,設置在線座位圖緩存內被過載保護的原生票務系統(tǒng)的各座位圖的存活時間,并啟動倒計時。由于在連接請求不被攔截時,每次訪問完原生票務系統(tǒng)都將所請求的座位圖更新到在線座位圖緩存內,因此,在線座位圖緩存內存儲被過載保護的原生票務系統(tǒng)的各個座位圖均為最新狀態(tài)的座位圖,可以直接啟動對相應座位圖的存活時間的倒計時。

      在步驟(S416)之后,對令牌進行獲取,同時生成該令牌的超時時間,以便在該令牌超時時釋放該令牌。

      4.3 過載保護模塊工作流程

      該機制實施的核心點,在于過載保護模塊的正常運行以及與周邊相關模塊或系統(tǒng)的協(xié)作。接下來,仍以電影票訂購業(yè)務為例,通過具體實例對系統(tǒng)高并發(fā)處理的技術方案進行進一步說明。

      正常壓力狀態(tài)下售票代理票務系統(tǒng)連往原生票務系統(tǒng)的連接在閾值的范圍內,過載保護模塊處在請求透傳的狀態(tài),將從業(yè)務代理票務系統(tǒng)的請求直接發(fā)往目標的外部原生票源系統(tǒng),此時相當于座位圖緩存數(shù)據的存活時間為0。

      當并發(fā)用戶集中發(fā)起訂票致使售票代理票務系統(tǒng)連往原生票務系統(tǒng)的連接超出了閾值范圍,過載保護模塊啟動工作,以電影票售票代理系統(tǒng)為例,其流程如圖5所示。

      步驟1用戶發(fā)起的查看座位圖的請求發(fā)送給售票代理票務系統(tǒng),在并發(fā)訪問過程中,每個用戶對應一個工作線程,每個工作線程均企圖發(fā)起對原生票務系統(tǒng)的獲取座位圖的連接請求,這些連接請求被過載保護模塊攔截。

      圖5 過載保護模塊的運行流程

      步驟2過載保護模塊啟動查詢座位圖緩存,座位圖緩存池中如果存在該電影某影廳某個播放場次(排期)座位圖,并在緩存數(shù)據的存活時間T內,直接返回緩存中的座位圖。否則,轉到步驟3。在此,在存活時間內的座位圖可能不是最新的排期座位圖,因此存在一種可能,用戶看到的可選座位實際上已經賣出。然而,這是一種更優(yōu)的做法。假設排期緩存存活時間為T,緩存生效減少了原生票務系統(tǒng)的訪問壓力,使之保持正常工作狀態(tài)。原生票務系統(tǒng)繁忙擁塞,即便是每次調用均去原生票務系統(tǒng),并不可能得到馬上的反饋,在原生票務系統(tǒng)擁塞訪問的時間T’很可能會大于T;代理系統(tǒng)仍然只能得到T’時間之前的座位圖。更差的一種情況是,由于訪問請求太多,原生的票務系統(tǒng)直接崩潰。

      步驟3去排期座位圖訪問令牌池申請訪問令牌,由于該座位圖可能多個用戶同時申請訪問,每個用戶將產生一個工作線程,同一個座位圖的令牌為多臺機器多個工作線程(每個連接一個線程)同時競爭,同一時間僅僅有一個工作線程能夠獲得座位圖的訪問令牌。成功生成該座位圖的令牌的同時,還生成排期座位圖訪問令牌的超時時間,當獲取令牌的工作線程不能在超時時間內完成更新排期座位圖的更新操作時,該令牌將被釋放。

      步驟4獲取令牌的唯一線程去原生票務系統(tǒng)獲取該排期的最新可售的座位信息,每個排期僅在座位圖失效時有一個線程能夠獲得令牌作為代表訪問原生票務系統(tǒng)。此時外部票務系統(tǒng)查詢座位圖的最大的請求連接數(shù)將是票務系統(tǒng)提供的所有排期總數(shù):例如,原生票務系統(tǒng)當前一共提供100個電影影廳播放場次(排期),在排期座位圖緩存生效的時候,最多一個排期有一個連接去原生票務系統(tǒng)更新座位圖數(shù)據,于是原生票務系統(tǒng)最多可能有100個請求連接過來更新排期座位圖數(shù)據。

      步驟5獲取令牌的唯一線程將座位圖信息更新到代理票務系統(tǒng)緩存之后釋放(刪除)令牌。

      步驟6競爭不到令牌的線程進入休眠狀態(tài)等待,直到數(shù)據被更新或者令牌被釋放。

      5 系統(tǒng)性能優(yōu)化結果分析

      針對電影票訂購類業(yè)務,本文提出的新型系統(tǒng)經過上述優(yōu)化處理,在可售座位查詢請求中與外部原生票務系統(tǒng)間訪問壓力的關系如圖6、圖7所示。

      圖6 座位圖超時時間與售票代理系統(tǒng)用戶并發(fā)壓力關系

      圖7 原生票務系統(tǒng)并發(fā)用戶壓力與售票代理系統(tǒng)的并發(fā)用戶壓力關系

      并發(fā)壓力在閾值以內,座位圖超時時間為0,此時排期座位圖的查詢請求直接轉發(fā)給外部票務系統(tǒng)。當并發(fā)用戶壓力達到某個閾值時,可售座位信息的超時時間自動置位為T,過載保護的機制開始生效。

      每個排期僅在座位圖失效時有一個線程作為代表訪問外部票務系統(tǒng)。此時外部票務系統(tǒng)查詢座位圖的最大的請求連接數(shù)將是票務系統(tǒng)提供的排期總數(shù)。

      在加載過載保護模塊后,原生票務系統(tǒng)并發(fā)用戶壓力與售票代理系統(tǒng)的并發(fā)用戶壓力關系如圖7所示,隨著用戶并發(fā)壓力的增大,原生票務系統(tǒng)的訪問壓力也隨之增大,到了過載保護生效的時候,訪問壓力漸漸趨近于原生票務系統(tǒng)提供的排期總數(shù)。

      在實際的項目實施中,本文對新型系統(tǒng)的性能進行了全面的壓力測試。從圖8可以看出,經過高并發(fā)處理優(yōu)化后的新型票務應用系統(tǒng),在0.1 s、1 s和2.5 s這幾檔不同的響應時間約束中,瓶頸接口的并發(fā)性能上均得到了巨大的提升。

      圖8 系統(tǒng)性能測試結果對比

      6 結束語

      本文從票務應用服務的系統(tǒng)架構切入,以電影票訂購業(yè)務為實例,全面剖析了票務應用系統(tǒng)及服務在業(yè)務實施過程中的性能瓶頸;并有針對性地提出了高效可行的解決方案,設計出一種支持高并發(fā)處理的新型票務應用系統(tǒng),實現(xiàn)在高并發(fā)訂票壓力下對外部的原生票務系統(tǒng)的過載壓力保護,提高了系統(tǒng)本身的穩(wěn)定性、頑健性。目前該系統(tǒng)的核心技術已申請專利保護,并在電影票訂購等移動互聯(lián)網業(yè)務中成功實施,有效支撐了業(yè)務多次大規(guī)模的全國性營銷活動,為客戶帶來便捷體驗,為企業(yè)節(jié)約了服務器等成本投入,實現(xiàn)經濟效益與社會效益的雙贏。

      1 李軍鋒,何明昕.高并發(fā)Web航空票務秒殺系統(tǒng)的設計與實現(xiàn).計算機工程與設計,2013,34(3):778~782 Li J F,He M X.Design and implementation of Web-based air ticket seckill system with high-concurrency.Computer Engineering and Design,2013,34(3):778~782

      2 彭海平.電子商務平臺的性能優(yōu)化和高可靠性研究與實現(xiàn)(碩士學位論文).上海:上海交通大學,2007.Peng H P.Research and design of performance tunning and high availability in E-commerce web platform(master dissertation).Shanghai:Shanghai Jiao Tong University,2007

      3 王紅愛,朱建生,劉文韜等.鐵路客票系統(tǒng)中緩存機制的應用模型研究.鐵路計算機應用,2013(2):30~33 Wang H A,Zhu J S,Liu W T,et al.Research on application model of cache mechanism in railway ticketing reservation system.Railway Computer Application,2013(2):30~33

      4 李軍.高并發(fā)Web系統(tǒng)的設計與優(yōu)化(碩士學位論文).北京:北京交通大學,2009 Li J.Design and optimization of high-concurrency web system(master dissertation).Beijing:Beijing Jiaotong University,2009

      5 崔強.電子影票系統(tǒng)總體設計構想.現(xiàn)代電影技術,2012(11):43~47 Cui Q.Overall design conception of electronic ticket system.Advanced Motion Picture Technology,2012(11):43~47

      6 Shih S F,Huang A J.Electronic ticketing system and application method thereof.U.S.Patent Application,12/766386,2010

      猜你喜歡
      令牌票務線程
      淺談城市軌道交通車站票務運作風險管控
      稱金塊
      地鐵多元支付與票務安全融合發(fā)展研究
      科學家(2021年24期)2021-04-25 11:54:46
      文旅部出臺國內首個演出票務領域行業(yè)標準
      基于路由和QoS令牌桶的集中式限速網關
      動態(tài)令牌分配的TCSN多級令牌桶流量監(jiān)管算法
      計算機工程(2018年8期)2018-08-17 00:26:54
      淺談linux多線程協(xié)作
      從案目制到票務制:近代劇場經營范式的確立
      Linux線程實現(xiàn)技術研究
      令牌在智能小區(qū)訪客系統(tǒng)的應用
      科技傳播(2011年10期)2011-06-14 02:29:04
      朝阳市| 洮南市| 通州区| 博兴县| 万安县| 江永县| 兴义市| 沐川县| 芦山县| 视频| 南宫市| 宣化县| 长海县| 金山区| 白山市| 汕尾市| 绵阳市| 越西县| 江口县| 涪陵区| 炎陵县| 灌阳县| 溆浦县| 历史| 玉山县| 来安县| 临西县| 乡城县| 浮梁县| 右玉县| 瑞丽市| 栖霞市| 临城县| 凤阳县| 华宁县| 启东市| 伽师县| 剑阁县| 临汾市| 平江县| 中西区|