两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種提供票務支持的票池中間件的構建、購票及鎖票方法

文檔序號:8488175閱讀:701來源:國知局
一種提供票務支持的票池中間件的構建、購票及鎖票方法
【專利說明】一種提供票務支持的票池中間件的構建、購票及鎖票方法
[0001]
技術領域
[0002]本發(fā)明涉及中間件領域,特別涉及一種提供票務支持的票池中間件的構建、購票及鎖票方法。
[0003]
【背景技術】
[0004]很多商業(yè)活動中都存在一種業(yè)務一一憑票入座,比如車票、電影票、熱門演唱會的門票等等。它們有兩個共同的特點:一是稀缺性,票是有限的,越是熱門的票爭搶越激烈;二是準確性,票與座要一一對應,一張票只能賣給一個人。這類售票系統(tǒng)在邏輯上往往可以抽象出一個“池”,賣方可以向這個池加票、減票,而買方可以從這個池中取票。這個池也就是J票池。
[0005]傳統(tǒng)的售票系統(tǒng)往往采用關系型數(shù)據(jù)庫(例如SQL Server、MySQL)來實現(xiàn)票池,但是面對同一票池、甚至是對同一張票的大量并發(fā)操作,往往在高吞吐量和高可靠性之間難以兩全,極有可能會出現(xiàn)一張票被賣給多個人、實時性低、響應速度非常慢、不支持靈活的票務操作的情況。因此非常有必要設計一種支持高并發(fā)、高可用的健壯的票池中間件,在支持各類票務操作的同時,能夠以中間件的形式,適用于各種票務活動場景。
[0006]

【發(fā)明內容】

[0007]針對現(xiàn)有技術存在的缺陷和不足之處,本發(fā)明提供了一種提供票務支持的票池中間件的構建、購票及鎖票方法,同時適用于大范圍(比如全省聯(lián)網(wǎng)、全國聯(lián)網(wǎng))的票務需求。
[0008]為了解決上述技術問題,提出了一種提供票務支持的票池中間件構建方法,如下所述:
搭建單個票池集群;通過構建底層的一個主票池服務器和至少一個從票池服務器,η個中間層的哨兵應用服務器,η為奇數(shù)且大于3,至少2個上層的監(jiān)視器構成主從機制和哨兵機制;所述的票池中間件包括多個票池集群;具體包括如下步驟;
步驟1:在票池集群中采取相應的數(shù)據(jù)結構表示各類票務數(shù)據(jù);將各項票務操作活動的讀寫屬性,在票池中間層的哨兵應用服務器的配置文件中進行配置;
步驟2:在從票池服務器的配置文件中配置主票池服務器的IP地址和端口號,以至少一個底層的從票池服務器對一個主票池服務器的方式進行配置;
步驟3:在至少一個底層的從票池服務器對一個主票池服務器配置基礎上,使用η個中間層的哨兵應用服務器對主從票池服務器的監(jiān)視與管理,η為奇數(shù)且大于3 ;
步驟4:設置至少2個上層的監(jiān)視器檢測每個服務器的狀態(tài);并向外發(fā)布信息;單個票池集群搭建完成,所述的票池中間件包括多個票池集群,每個票池集群有唯一的ID標識,票池中間件構建完成。
優(yōu)選的,所述的票池集群基于Redis內存數(shù)據(jù)庫作為構建票池的存儲基礎。
[0009]優(yōu)選的,所述的步驟I中的票池服務器數(shù)據(jù)結構特征如下:
1.車票信息使用“日期、班次號:座位號”的鍵值形式進行標識;
2.日期班次有3個集合,使用的鍵值分別是:“日期:班次號”、“日期:班次號:SaleLocked”、“ 日期:班次號:CommandLocked” ;
其中,“日期:班次號”表示某個日期班次的余票集,“日期:班次號-SaleLocked”表示某個日期班次的售票鎖票集,“日期:班次號KommandLocked”表示某個日期班次的管理鎖西隹
[0010]一種利用權利要求3所述票池中間件的購票方法,票池中間件接收售票客戶端的票務請求,票池集群之間由VPN互聯(lián),票務請求由票池中間件代理服務器進行代理路由,然后定位到票池集群上;票池中間件再完成購票請求,返回購票或查詢列表;
具體包括下述步驟:
步驟1:售票客戶端首先根據(jù)日期、出發(fā)和到達站點信息,就近查詢分布式緩存,獲取到具體的日期班次信息;然后,向票池中間件,發(fā)起查詢余票的請求,輸入數(shù)據(jù)是出發(fā)站點的ID、以及一組日期班次集;
票池中間件根據(jù)請求中的票池集群ID,對于請求進行路由,將請求重定位到票池集群中水平分割之后、存儲了指定始發(fā)站所有票據(jù)信息的票池集群,同時將一組日期班次集傳入,作為進一步查詢余票信息的輸入數(shù)據(jù);
票池集群將根據(jù)輸入的日期班次集,逐一地在內存數(shù)據(jù)庫中查找指定班次對應的班次余票集、對應班次的售票鎖票集、對應班次的管理鎖票集,將所有集合的內容匯總描述指定日期班次集;
步驟2:售票客戶端根據(jù)票池集群中獲取到日期班次集,在本地進行指定座位號、或者隨機選座方式,進行購票;對于指定座位號的購票方式,將日期班次集、以及每個日期班次集關聯(lián)的一個座位號的列表傳遞給票池集群;對于隨機選座方式,指定購票信息,然后將日期班次集、以及每個日期班次集關聯(lián)的待購張數(shù)信息傳遞給票池集群;
步驟3:票池集群根據(jù)售票客戶端傳入的購票信息,對待購票據(jù)進行售票鎖票操作;對于指定座位號的購票方式,在接收到日期班次集、以及每個日期班次集關聯(lián)的一個座位號的列表后,對票池集群中的實時票據(jù)進行逐張售賣活動;
對于隨機選座方式,票池集群將根據(jù)連續(xù)優(yōu)先原則,從低號段開始,為售票客戶端請求生成一個座位號列表,對車票進行加鎖處理,并將成功鎖定的票據(jù),返回給售票客戶端;在票池集群中,以會話Sess1n的形式記錄每個售票客戶端的所有鎖票請求,作為下一步售票的依據(jù);
步驟4:售票客戶端根據(jù)請求繼續(xù)進行票據(jù)的購買或者放棄票據(jù)的購買;
步驟5:票池集群將根據(jù)售票客戶端的請求,逐張進行票據(jù)售賣;對于每一張票據(jù),首先將待售車票從相應的日期班次集中移除、從相應的日期班次售票鎖票集中移除,完成單張車票的售賣;
步驟6:如果進行售賣活動時鎖定成功的票超過了售票鎖的時限,自動回到票池中變成待售狀態(tài);否則,票池集群將會在售票客戶端提交購票請求后,返回給售票客戶端完整的、成功購票的列表;
步驟7:鎖定成功之后,票池中間件將成功購得的票加入到對應日期班次集的售票鎖票集;
步驟8:結束。
[0011]一種利用權利要求3所述的票池中間件的鎖票方法,具體包括下述步驟:
步驟1:管理客戶端根據(jù)起始站點、日期、班次號、所屬票池集群ID查詢班次計劃;選擇要管理的班次計劃,所述的班次計劃包括日期和班次號標識,查詢所有票的狀態(tài),包括被售票鎖定、被管理鎖定、可用、異常;對被售票鎖定、被管理鎖定和異常狀態(tài)的票,不進行下一步操作;
步驟2:對于選擇指定座位號的管理員請求,指定數(shù)目,生成請求的座位號列表,請求票池中間件進行鎖定;票池中間件遍歷輸入座位號列表,逐張進行鎖定操作,如鎖票不成功,則返回鎖定成功的座位號列表,得到管理鎖票集;
步驟4:對于隨機鎖票,票池中間件先查詢該班次計劃的余票集,遍歷余票集,逐張鎖定,直至達到指定數(shù)目或者余票集遍歷結束,同樣返回鎖定成功的座位號列表;票池中間件以隨機的方式選擇出指定數(shù)據(jù)的余票,得到管理鎖票集;
步驟5:票池中間件對管理鎖票集中的所有票,進行鎖定操作;在鎖定時,指定鎖定時間,并且記錄臨時鎖票的用戶姓名;
步驟6:結束。
[0012]優(yōu)選的,所述的管理客戶端的權限包括鎖定和解鎖票,以管理員鎖的形式預留或者放棄預留票。
[0013]本發(fā)明的有益效果是:一種提供票務支持的票池中間件構建方法購票及鎖票方法,通過搭建一種高并發(fā)、高可用的健壯的票池中間件,在支持各類票務操作的同時,能夠以中間件的形式,適用于各種票務活動場景。
[0014]
【附圖說明】
[0015]圖1-1本發(fā)明中鎖票過程第一步驟的示意圖;
圖1-2本發(fā)明中鎖票過程第二步驟的示意圖;
圖1-3本發(fā)明中鎖票過程第三步驟的示意圖;
圖2本發(fā)明中票池集群設計圖;
圖3本發(fā)明的票池中間件構建的流程圖。
[0016]
【具體實施方式】
[0017]一種提供票務支持的票池中間件構建方法,包括:
搭建票池集群;通過構建底層的一個主票池服
當前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
武城县| 罗田县| 康乐县| 平阴县| 农安县| 南溪县| 高唐县| 汶上县| 嘉兴市| 崇州市| 建阳市| 平凉市| 阿坝| 菏泽市| 鄱阳县| 固始县| 锡林浩特市| 敦化市| 太仓市| 泸溪县| 祥云县| 延吉市| 明水县| 东台市| 奉新县| 滦南县| 麻江县| 新沂市| 新竹县| 锡林浩特市| 桐乡市| 沙湾县| 漳州市| 吉林市| 潼关县| 通辽市| 新河县| 皮山县| 苍梧县| 社旗县| 中阳县|