• 
    

    
    

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

      ?

      鐵路車站余票查詢服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      2021-06-04 03:31:10王思宇梅巧玲梁曉慷
      關(guān)鍵詞:內(nèi)存集群車站

      王思宇,梅巧玲,馬 杰,梁曉慷

      (1. 中國鐵道科學(xué)研究院集團(tuán)有限公司 電子計(jì)算技術(shù)研究所,北京 100081;2. 中國國家鐵路集團(tuán)有限公司 客運(yùn)部,北京 100844)

      中國鐵路客票發(fā)售與預(yù)訂系統(tǒng)(簡稱:客票系統(tǒng))按“中國國家鐵路集團(tuán)有限公司(簡稱:國鐵集團(tuán))—鐵路局集團(tuán)公司—站段”三級架構(gòu)建設(shè),由國鐵集團(tuán)雙活數(shù)據(jù)中心、18個(gè)鐵路局集團(tuán)公司地區(qū)中心及2 000多個(gè)車站系統(tǒng)構(gòu)成,客票系統(tǒng)部署范圍覆蓋全國鐵路所有客運(yùn)車站。長期以來,鐵路車站余票查詢服務(wù)由各鐵路局集團(tuán)公司地區(qū)中心的查詢中心承擔(dān),由于查詢中心不同,服務(wù)器性能存在差異,數(shù)據(jù)讀寫未分離,尤其在高峰期,查詢能力不足,查詢響應(yīng)慢,導(dǎo)致車站售票窗口、自動售票機(jī)及車站大屏余票查詢顯示不及時(shí),引起旅客誤解,并且,查詢中心僅能獲取本地區(qū)中心管理車次的余票信息[1-2]。

      為此,本文依托客票系統(tǒng),設(shè)計(jì)鐵路車站余票查詢服務(wù)系統(tǒng),遵循高可靠性、高可用性及可擴(kuò)展性設(shè)計(jì)原則,采用快速查詢、分布式緩存、分布式內(nèi)存數(shù)據(jù)庫、多維度故障檢測等技術(shù),實(shí)現(xiàn)全國鐵路余票信息共享,支持線下的車站大屏余票查詢、自助售票機(jī)余票查詢、車站售票窗口余票查詢及線下其他應(yīng)用的余票查詢,從而提升車站余票查詢服務(wù)質(zhì)量。

      1 系統(tǒng)設(shè)計(jì)

      1.1 系統(tǒng)架構(gòu)

      車站余票查詢服務(wù)系統(tǒng)的設(shè)計(jì)依托客票系統(tǒng),由前置微服務(wù)、緩存集群、內(nèi)存集群、數(shù)據(jù)同步及配置管理中心組成,為雙中心雙活架構(gòu),如圖1所示。系統(tǒng)以超文本傳輸協(xié)議(HTTP)的方式對內(nèi)提供服務(wù)。

      圖1 車站余票查詢服務(wù)系統(tǒng)架構(gòu)

      (1)前置微服務(wù)

      前置微服務(wù)是車站余票查詢服務(wù)系統(tǒng)接入網(wǎng)關(guān),使用微服務(wù)框架開發(fā),以HTTP的方式提供服務(wù)接口,利用負(fù)載均衡技術(shù)保證接入網(wǎng)關(guān)的可擴(kuò)展性與高可靠性,提供車站余票查詢服務(wù)[3]。

      (2)緩存集群

      緩存集群是基于鍵值對的非關(guān)系型數(shù)據(jù)庫,支持?jǐn)?shù)據(jù)寫入、刪除、定時(shí)自動刪除等數(shù)據(jù)操作類型。緩存集群支持從配置管理中心讀取數(shù)據(jù),自動刪除配置時(shí)間。該操作可以用于短時(shí)間內(nèi)相同請求參數(shù)的快速響應(yīng),減少內(nèi)存集群計(jì)算余票的壓力[4]。

      (3)內(nèi)存集群

      內(nèi)存集群為分布式內(nèi)存數(shù)據(jù)庫集群,存儲余票計(jì)算相關(guān)數(shù)據(jù)。通過請求調(diào)用,在原始余票信息基礎(chǔ)上經(jīng)過查詢條件預(yù)處理、預(yù)售期判斷、調(diào)度命令處理、共用及復(fù)用計(jì)算等多步驟的數(shù)據(jù)加工,計(jì)算出余票結(jié)果[5]。

      (4)數(shù)據(jù)同步

      通過客票系統(tǒng)的數(shù)據(jù)庫復(fù)制系統(tǒng),將基礎(chǔ)數(shù)據(jù)、余票數(shù)據(jù)復(fù)制到客票系統(tǒng)中間件系統(tǒng),利用消息中間件技術(shù),將數(shù)據(jù)發(fā)送到開源消息隊(duì)列中間件上,通過數(shù)據(jù)消費(fèi)解析服務(wù),將數(shù)據(jù)實(shí)時(shí)寫入內(nèi)存集群,完成客票核心數(shù)據(jù)庫數(shù)據(jù)與內(nèi)存集群的數(shù)據(jù)實(shí)時(shí)同步[6-7]。

      (5)配置管理中心

      配置管理中心能夠集中化管理和應(yīng)用不同環(huán)境、不同集群的配置,配置修改后能夠?qū)崟r(shí)推送到應(yīng)用端,并且具有規(guī)范的權(quán)限和流程治理功能。支持灰度發(fā)布、權(quán)限管理、發(fā)布審核及操作審計(jì)。

      1.2 系統(tǒng)功能模塊

      車站余票查詢服務(wù)系統(tǒng)的主要功能模塊包括接入服務(wù)、故障集群檢測及流量調(diào)度、風(fēng)險(xiǎn)防控、數(shù)據(jù)緩存、余票計(jì)算等。系統(tǒng)各功能模塊間的工作流程,如圖2所示。

      圖2 功能模塊間的工作流程

      (1)接入服務(wù)模塊

      接入服務(wù)模塊支持各種業(yè)務(wù)的接入服務(wù),提供多元化定制接口功能,支持程序快速迭代升級。目前,提供車站售票窗口、自動售票機(jī)、電話訂票、車站大屏余票等業(yè)務(wù)接入服務(wù)。

      (2)故障集群檢測及流量調(diào)度模塊

      故障集群檢測及流量調(diào)度模塊,根據(jù)內(nèi)存集群健康指標(biāo),建立多維度內(nèi)存集群健康檢測模型,自動檢測集群健康狀態(tài),當(dāng)發(fā)現(xiàn)某個(gè)內(nèi)存集群不健康時(shí),接入服務(wù)模塊自動修改故障內(nèi)存集群的流量配置,隔離故障集群,避免影響系統(tǒng)服務(wù)。

      (3)風(fēng)險(xiǎn)防控模塊

      風(fēng)險(xiǎn)防控模塊提供異常請求的卡控功能,支持自定義風(fēng)險(xiǎn)卡控規(guī)則,包括對接口、請求節(jié)點(diǎn)、請求頻次多個(gè)維度的卡控規(guī)則設(shè)置。利用緩存服務(wù),將請求信息保存到緩存中,通過讀取卡控規(guī)則,卡控高頻節(jié)點(diǎn)的訪問請求[8]。

      (4)數(shù)據(jù)緩存模塊

      數(shù)據(jù)緩存模塊是根據(jù)不同接口的查詢量或業(yè)務(wù)需求進(jìn)行緩存規(guī)則的設(shè)置,支持單個(gè)接口自定義設(shè)置緩存規(guī)則。緩存可以減少短時(shí)間內(nèi)相同請求的余票計(jì)算次數(shù),減小內(nèi)存集群的訪問壓力,提高系統(tǒng)的穩(wěn)定性。

      (5)余票計(jì)算模塊

      余票計(jì)算模塊支持多維度的余票計(jì)算,例如:以發(fā)站、到站、乘車日期查詢余票結(jié)果,查詢指定日期范圍內(nèi)的途徑此車站的余票結(jié)果,查詢指定車次所有發(fā)到站的余票結(jié)果等。

      2 關(guān)鍵技術(shù)

      2.1 快速查詢

      車站余票查詢服務(wù)系統(tǒng)基于微服務(wù)框架開發(fā),部署一組小型服務(wù),小型服務(wù)組內(nèi)的各服務(wù)之間在結(jié)構(gòu)上松耦合,采用輕量級通信機(jī)制,實(shí)現(xiàn)緩存集群和內(nèi)存集群的數(shù)據(jù)快速查詢。并且具備統(tǒng)一的訪問接口,支持快速接口擴(kuò)展,自動升級部署,灰度發(fā)布。

      2.2 分布式緩存

      緩存集群的數(shù)據(jù)存儲采用分布式內(nèi)存數(shù)據(jù)庫開源集群模式實(shí)現(xiàn),共部署3臺主機(jī),6組節(jié)點(diǎn),每組節(jié)點(diǎn)包括一個(gè)Master節(jié)點(diǎn)(可讀寫)與一個(gè)Slave節(jié)點(diǎn)(只可讀),各節(jié)點(diǎn)之間相互聯(lián)通,交換彼此的狀態(tài)信息。主從節(jié)點(diǎn)之間的數(shù)據(jù)同步分為全量與增量兩種機(jī)制,集群優(yōu)先嘗試增量同步,如果不成功則進(jìn)行全量同步,無論增量還是全量都是以異步的方式同步數(shù)據(jù)。增量同步時(shí),主備之間有毫秒級數(shù)據(jù)延遲,故障時(shí)存在少量數(shù)據(jù)丟失的情況??蛻舳四J(rèn)從Master節(jié)點(diǎn)讀取數(shù)據(jù),當(dāng)Slave節(jié)點(diǎn)故障時(shí),對業(yè)務(wù)無影響,當(dāng)Master節(jié)點(diǎn)出現(xiàn)故障時(shí),集群會重新選舉一個(gè)Slave節(jié)點(diǎn)提升為Master節(jié)點(diǎn)(默認(rèn)10 s),保證業(yè)務(wù)的正常運(yùn)行。

      2.3 多維度故障檢測

      多維度故障檢測技術(shù)實(shí)現(xiàn)智能化的內(nèi)存集群故障檢測。本文主要對內(nèi)存使用率、數(shù)據(jù)準(zhǔn)確率、請求超時(shí)率進(jìn)行分析,確定集群健康指標(biāo)。

      (1)內(nèi)存使用率

      內(nèi)存集群在啟動時(shí),會分配一定大小的內(nèi)存;集群運(yùn)行時(shí),會實(shí)時(shí)檢測集群的內(nèi)存使用情況。當(dāng)數(shù)據(jù)存儲使用內(nèi)存和集群運(yùn)行使用內(nèi)存的總和大于分配內(nèi)存的85%時(shí),集群處于亞健康狀態(tài)。

      (2)數(shù)據(jù)準(zhǔn)確率

      內(nèi)存集群的數(shù)據(jù)是實(shí)時(shí)更新的,每售出一張票,就產(chǎn)生一條更新余票數(shù)據(jù),通過數(shù)據(jù)同步中間件獲取消息并寫入內(nèi)存集群。內(nèi)存集群數(shù)據(jù)不準(zhǔn)確時(shí),會影響旅客的余票查詢。

      (3)請求超時(shí)率

      當(dāng)客戶端向作為服務(wù)端的內(nèi)存集群發(fā)出請求時(shí),內(nèi)存集群會根據(jù)請求參數(shù)進(jìn)行余票計(jì)算,并快速響應(yīng)客戶端的請求,客戶端和服務(wù)端均設(shè)置了響應(yīng)超時(shí)時(shí)間。通過實(shí)時(shí)采集集群響應(yīng)時(shí)間數(shù)據(jù),監(jiān)控集群請求響應(yīng)情況,當(dāng)集群請求響應(yīng)超時(shí)達(dá)到一定比例時(shí),集群處于不健康狀態(tài)。

      (4)最大承載請求量

      根據(jù)業(yè)務(wù)邏輯復(fù)雜程度,內(nèi)存集群的最大承載請求量不同,最大承載請求量也是內(nèi)存集群的性能極限,超出此極限,會導(dǎo)致請求超時(shí),或集群宕機(jī)。

      根據(jù)集群內(nèi)存使用率、數(shù)據(jù)準(zhǔn)確率、請求超時(shí)率及最大承載請求量多維度進(jìn)行故障判定,檢測間隔可自定義配置,目前配置為15 s循環(huán)檢測一次。故障判定結(jié)果作為集群故障隔離的觸發(fā)條件,具體判定流程如圖3所示。

      2.4 分布式內(nèi)存數(shù)據(jù)庫

      分布式內(nèi)存數(shù)據(jù)庫將內(nèi)存劃分為若干的數(shù)據(jù)區(qū)域和數(shù)據(jù)單元,根據(jù)數(shù)據(jù)特點(diǎn),設(shè)置存儲規(guī)則,可按照一定規(guī)則分散存儲在多臺獨(dú)立設(shè)備的內(nèi)存中,也可同時(shí)存儲在所有節(jié)點(diǎn)中。

      (1)基于車次的余票數(shù)據(jù)分布式存儲

      圖3 多維度故障檢測流程

      內(nèi)存集群提供余票計(jì)算服務(wù),基于車次進(jìn)行分布式存儲,將余票計(jì)算所需的相關(guān)基礎(chǔ)數(shù)據(jù)及車次余票數(shù)據(jù)存放在內(nèi)存中。在進(jìn)行余票計(jì)算時(shí),利用分布式系統(tǒng)中的資源定位技術(shù)快速檢索數(shù)據(jù),可以同時(shí)計(jì)算多個(gè)車次的余票,并返回結(jié)果,提高了系統(tǒng)的可靠性、可用性和存取效率。同時(shí),分布式存儲也便于內(nèi)存集群節(jié)點(diǎn)的擴(kuò)充,只需要在增加節(jié)點(diǎn)后,將集群的數(shù)據(jù)重新分配即可。

      (2)內(nèi)存分布式計(jì)算

      在進(jìn)行余票計(jì)算時(shí),直接從內(nèi)存中讀取余票數(shù)據(jù),在中央處理器(CPU)中完成余票計(jì)算,不存在輸入/輸出方面的瓶頸。內(nèi)存集群支持“發(fā)站+到站+日期”“查詢天數(shù)+發(fā)站”等多種方式余票查詢,同時(shí),內(nèi)存集群根據(jù)請求參數(shù)計(jì)算出需要計(jì)算余票的所有車次,根據(jù)車次的余票數(shù)據(jù)分布式存儲規(guī)則,將需要計(jì)算余票的車次分發(fā)到車次數(shù)據(jù)所在的節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)只與自己內(nèi)存單元中關(guān)聯(lián)的數(shù)據(jù)進(jìn)行計(jì)算,計(jì)算完成后匯總到請求所在的節(jié)點(diǎn),將所有結(jié)果整理匯總,返回給客戶端,完成一次查詢請求的余票計(jì)算。即一次查詢請求是由多個(gè)節(jié)點(diǎn)“合力”完成的,可以通過擴(kuò)充集群中的節(jié)點(diǎn)數(shù)量提升集群處理能力。

      3 系統(tǒng)測試

      車站余票查詢服務(wù)系統(tǒng)實(shí)現(xiàn)了鐵路車站售票窗口、自動售票機(jī)、車站大屏、電話訂票的余票查詢功能,支持多種類型的余票查詢,具有通用性、可擴(kuò)展性。原來使用鐵路局集團(tuán)公司地區(qū)中心的查詢中心進(jìn)行余票查詢時(shí),車站的大屏余票單次查詢時(shí)間較長,甚至幾十秒、幾分鐘才能完成一次查詢。使用鐵路車站余票查詢系統(tǒng)進(jìn)行余票查詢,可以將單次查詢時(shí)間縮短幾百倍,滿足多個(gè)車站同時(shí)、實(shí)時(shí)刷新大屏幕余票信息的需求,降低了對傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的依賴。系統(tǒng)測試主要分為內(nèi)存集群初始化性能測試和系統(tǒng)驗(yàn)證性測試兩方面。

      3.1 內(nèi)存集群初始化性能測試

      內(nèi)存集群初始化是系統(tǒng)擴(kuò)展內(nèi)存集群和集群日常運(yùn)維的重要操作,其性能影響系統(tǒng)運(yùn)維的復(fù)雜程度及快速進(jìn)行系統(tǒng)資源擴(kuò)展的效率。根據(jù)內(nèi)存集群業(yè)務(wù)特點(diǎn),內(nèi)存集群擴(kuò)建主要包括無數(shù)據(jù)集群重啟、集群數(shù)據(jù)導(dǎo)入、集群索引創(chuàng)建3項(xiàng)操作;內(nèi)存集群日常運(yùn)維包括全量數(shù)據(jù)集群重啟。因此,初始化操作的性能測試內(nèi)容為以下4項(xiàng):

      (1)無數(shù)據(jù)集群重啟耗時(shí)及資源使用情況;

      (2)集群初始化導(dǎo)入數(shù)據(jù)耗時(shí)及資源使用情況;

      (3)集群創(chuàng)建索引耗時(shí)及資源使用情況;

      (4)全量數(shù)據(jù)集群重啟耗時(shí)及資源使用情況。

      內(nèi)存集群初始化性能測試采用真實(shí)的生產(chǎn)數(shù)據(jù),內(nèi)存集群規(guī)模為8臺機(jī)器,每臺機(jī)器有4個(gè)節(jié)點(diǎn),共32個(gè)節(jié)點(diǎn)組成一個(gè)分布式內(nèi)存集群。結(jié)合12306互聯(lián)網(wǎng)售票系統(tǒng)中內(nèi)存集群初始化性能及運(yùn)維需求,測試項(xiàng)及耗時(shí)如表1所示,滿足預(yù)期要求。

      表1 內(nèi)存集群初始化性能測試情況

      3.2 系統(tǒng)驗(yàn)證性測試

      驗(yàn)證性測試(POC)是指針對客戶具體應(yīng)用的驗(yàn)證性測試,可以真實(shí)地模擬用戶請求,便于驗(yàn)證系統(tǒng)方案是否滿足用戶需求。采用Jmeter開源性能測試工具,測試客戶端為本地服務(wù)器,測試場景為客戶端請求車站余票查詢接口,測試壓力線程數(shù)為200條,測試用例為前100個(gè)熱門發(fā)到站查詢組合,測試時(shí)間為 1 h。

      根據(jù)日志統(tǒng)計(jì),近幾年全國鐵路所有車站余票查詢總量的最大峰值事務(wù)處理量為200次/s,查詢結(jié)果耗時(shí)在秒級。測試預(yù)期為系統(tǒng)的每秒事務(wù)處理量(TPS)不低于200次,同時(shí),系統(tǒng)響應(yīng)時(shí)間(RT)在秒級以下。

      測試結(jié)果如圖4、圖5所示,圖4、圖5的橫坐標(biāo)表示測試時(shí)間,圖4的縱坐標(biāo)表示TPS,單位為次,圖5的縱坐標(biāo)表示RT,單位為 ms。由TPS和RT趨勢圖可以看出,系統(tǒng)在測試時(shí)間1 h內(nèi),TPS均值為3 000次左右,遠(yuǎn)高于系統(tǒng)需求的200次,RT均值為40 ms,由秒級降為毫秒級,整體響應(yīng)時(shí)間趨勢平穩(wěn),查詢結(jié)果耗時(shí)更短,滿足測試預(yù)期要求。

      圖4 TPS 趨勢

      圖5 RT 趨勢

      4 結(jié)束語

      目前,車站余票查詢服務(wù)系統(tǒng)已應(yīng)用在全國鐵路的售票窗口、自動售票機(jī)、車站大屏及集中電話訂票系統(tǒng)中,為車站售票提供可靠、安全的服務(wù)。隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展、客票系統(tǒng)的架構(gòu)優(yōu)化,車站余票查詢服務(wù)系統(tǒng)也將進(jìn)行架構(gòu)調(diào)整、技術(shù)革新,不斷提高系統(tǒng)的穩(wěn)定性和可靠性。

      猜你喜歡
      內(nèi)存集群車站
      海上小型無人機(jī)集群的反制裝備需求與應(yīng)對之策研究
      “春夏秋冬”的內(nèi)存
      一種無人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
      電子制作(2018年11期)2018-08-04 03:25:40
      車站一角
      Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
      勤快又呆萌的集群機(jī)器人
      熱鬧的車站
      幼兒畫刊(2016年9期)2016-02-28 21:01:10
      熱鬧的車站
      啟蒙(3-7歲)(2016年10期)2016-02-28 12:27:06
      基于內(nèi)存的地理信息訪問技術(shù)
      傻傻分不清等
      白沙| 读书| 南靖县| 舟山市| 双辽市| 静乐县| 巩义市| 永平县| 凤阳县| 高陵县| 扎鲁特旗| 鹤岗市| 武邑县| 吴川市| 定州市| 霍山县| 淅川县| 河池市| 车险| 通化市| 松潘县| 桓仁| 商水县| 白水县| 将乐县| 乌鲁木齐市| 拉孜县| 滕州市| 徐汇区| 浦县| 苏尼特左旗| 湄潭县| 龙井市| 垣曲县| 美姑县| 开平市| 柳州市| 左云县| 鄂温| 昌邑市| 阿拉善左旗|