專利名稱:票務處理方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及票務處理技術領域,尤其涉及一種票務處理方法及系統(tǒng)。
背景技術:
現(xiàn)有的票務處理系統(tǒng)中,存儲票務數(shù)據(jù)采用的是數(shù)據(jù)庫的存儲方式,處理票務請求和維護票務信息采用瀏覽器和Web服務器以及數(shù)據(jù)庫的方式進行,由于對票務資源數(shù)據(jù)的操作幾乎是和硬盤數(shù)據(jù)庫打交道的,且對訂票請求和查詢請求放在一起處理,當負載增加時,就會對系統(tǒng)的服務層和數(shù)據(jù)層造成壓力,導致系統(tǒng)反應遲鈍進而嚴重影響系統(tǒng)性能,在春運或者出行旺季時票務處理系統(tǒng)常會出現(xiàn)系統(tǒng)繁忙,無法進行交易的情況,甚至造成系統(tǒng)癱瘓
發(fā)明內容
本發(fā)明提供一種票務處理方法及系統(tǒng)。本發(fā)明一方面提供一種票務處理方法,包括靜態(tài)頁面管理模塊接收用戶輸入的包含網頁標識的訪問請求,并將與所述網頁標識對應的網頁推送給所述用戶;動態(tài)頁面管理模塊接收所述用戶通過所述網頁發(fā)送的包含待查詢信息的查詢請求,將所述查詢請求加入查詢請求消息隊列;進程任務管理模塊接收所述動態(tài)頁面管理模塊按照所述查詢請求消息隊列推送的查詢請求,為所述查詢請求分配空閑的處理進程,向內存集群管理模塊請求與所述待查詢信息對應的票務信息;所述內存集群管理模塊將所述票務信息反饋給所述進程任務管理模塊,以使所述進程任務管理模塊將所述票務信息反饋給所述動態(tài)頁面管理模塊從而將所述票務信息推送給所述用戶。本發(fā)明另一方面提供一種票務處理系統(tǒng),包括靜態(tài)頁面管理模塊,用于接收用戶輸入的包含網頁標識的訪問請求,并將與所述網頁標識對應的網頁推送給所述用戶;動態(tài)頁面管理模塊,用于接收所述用戶通過所述網頁發(fā)送的包含待查詢信息的查詢請求,將所述查詢請求加入查詢請求消息隊列;進程任務管理模塊,用于接收所述動態(tài)頁面管理模塊按照所述查詢請求消息隊列推送的查詢請求,為所述查詢請求分配空閑的處理進程,向內存集群管理模塊請求與所述待查詢信息對應的票務信息;所述內存集群管理模塊,用于將所述票務信息反饋給所述進程任務管理模塊,以使所述進程任務管理模塊將所述票務信息反饋給所述動態(tài)頁面管理模塊從而將所述票務信息推送給所述用戶。本發(fā)明提供的票務處理方法及系統(tǒng),通過使用內存集群的方式存儲票務信息,利用分離的消息隊列模式保存用戶訂票請求和用戶查詢請求,利用異步推送方式維護票務信息,保證了實時聯(lián)機效率,增強了系統(tǒng)性能,能夠解決在春運或者出行旺季時票務處理系統(tǒng)出現(xiàn)業(yè)務繁忙交易堵塞的問題,滿足大并發(fā)查詢訂票的需求。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明提供的票務處理方法實施例一的流程圖;圖2為本發(fā)明提供的票務處理方法實施例二的流程圖;圖3為本發(fā)明提供的票務處理方法中內存集群的數(shù)據(jù)結構示意圖; 圖4為本發(fā)明提供的票務處理方法實施例三的流程圖;圖5為本發(fā)明提供的票務處理系統(tǒng)實施例一的結構示意圖;圖6為本發(fā)明提供的票務處理系統(tǒng)實施例二的結構示意圖。
具體實施例方式為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍?,F(xiàn)有技術中存儲票務數(shù)據(jù)采用的是數(shù)據(jù)庫的存儲方式,處理票務請求和維護票務信息采用瀏覽器和Web服務器以及數(shù)據(jù)庫的方式進行,因此數(shù)據(jù)層的操作幾乎是和硬盤直接打交道的,進而會影響系統(tǒng)性能。本發(fā)明提供的票務處理系統(tǒng)采用聯(lián)機交易兩層架構,展示層和業(yè)務處理層,展示層負責處理用戶頁面的處理和展示,業(yè)務處理層集成了應用邏輯和數(shù)據(jù)處理兩種功能,業(yè)務處理層采用內存集群的方式存儲票務數(shù)據(jù),內存集群可適應大吞吐的讀取和寫入,其橫向擴展能力極強,可滿足大并發(fā)查詢訂票的需求,可極大地增強系統(tǒng)性能。圖I為本發(fā)明提供的票務處理方法實施例一的流程圖,如圖I所示,該方法包括步驟101、靜態(tài)頁面管理模塊接收用戶輸入的包含網頁標識的訪問請求,并將與所述網頁標識對應的網頁推送給所述用戶;在步驟101中,首先用戶輸入包含網頁標識的訪問請求,靜態(tài)頁面管理模塊接收該訪問請求,并將與網頁標識對應的網頁推送給用戶,通過用戶瀏覽器顯示。步驟102、動態(tài)頁面管理模塊接收所述用戶通過所述網頁發(fā)送的包含待查詢信息的查詢請求,將所述查詢請求加入查詢請求消息隊列;在步驟102中,用戶通過網頁發(fā)送包含待查詢信息的查詢請求,動態(tài)頁面管理模塊接收到該請求后將其按照編號的方式加入查詢請求隊列。步驟103、進程任務管理模塊接收所述動態(tài)頁面管理模塊按照所述查詢請求消息隊列推送的查詢請求,為所述查詢請求分配空閑的處理進程,向內存集群管理模塊請求與所述待查詢信息對應的票務信息;在步驟103中,首先動態(tài)頁面管理模塊按照查詢請求消息隊列推送查詢請求至進程任務管理模塊,接著進程任務管理模塊為查詢請求分配空閑的處理進程,然后進程任務管理模塊向內存集群管理模塊請求與待查詢信息對應的票務信息,其中進程任務管理模塊采用只讀的方式,從內存集群管理模塊中讀取與待查詢信息對應的票務信息,查詢請求隊列依次支持批量查詢請求,當多個查詢請求出隊列時,以只讀的方式讀取票務信息。這種方式運行可以同時有多個請求訪問到同一個票務資源,但只能讀不能寫。步驟104、所述內存集群管理模塊將所述票務信息反饋給所述進程任務管理模塊,以使所述進程任務管理模塊將所述票務信息反饋給所述動態(tài)頁面管理模塊從而將所述票務信息推送給所述用戶。在步驟104中,內存集群管理模塊將票務信息反饋給進程任務管理模塊,然后進程任務管理模塊將票務信息反饋給動態(tài)頁面管理模塊,動態(tài)頁面管理模塊加載動態(tài)內容,發(fā)送結果給靜態(tài)頁面管理模塊,靜態(tài)頁面管理模塊加載靜態(tài)網頁內容,發(fā)送最終結果給客戶端瀏覽器,從而將票務信息推送給所述用戶。 本實施例提供的票務處理方法,通過使用內存集群的方式存儲票務信息,以只讀的方式讀取票務信息,支持大批量查詢,增強了系統(tǒng)性能,能夠解決在春運或者出行旺季時票務處理系統(tǒng)出現(xiàn)業(yè)務繁忙交易堵塞的問題。圖2為本發(fā)明提供的票務處理方法實施例二的流程圖,如圖2所示,在圖I的基礎上,將票務信息推送給用戶之后,還包括步驟105、動態(tài)頁面管理模塊接收所述用戶根據(jù)所述票務信息發(fā)送的訂票請求,將所述訂票請求加入訂票請求消息隊列;在步驟105中,用戶查詢到票務信息后,可能會發(fā)起訂票業(yè)務正式點擊訂票,即發(fā)送訂票請求,動態(tài)頁面管理模塊接收到訂票請求后將訂票請求按照編號的方式加入訂票請求消息隊列。步驟106、進程任務管理模塊接收所述動態(tài)頁面管理模塊按照所述訂票請求消息隊列推送的訂票請求,為所述訂票請求分配空閑的處理進程,向內存集群管理模塊請求訂
票結果信息;在步驟106中,動態(tài)頁面管理模塊按照訂票請求消息隊列推送訂票請求至進程任務管理模塊,進程任務管理模塊為訂票請求分配空閑的處理進程,向內存集群管理模塊請求訂票結果信息,其中,進程任務管理模塊采用獨占的方式,從內存集群管理模塊中讀取訂票結果信息,當一個訂票請求占領一個票務信息時,其他訂票請求將無法訪問到票務信息。步驟107、內存集群管理模塊將所述訂票結果信息反饋給所述進程任務管理模塊,以使所述進程任務管理模塊將所述訂票結果信息反饋給所述動態(tài)頁面管理模塊從而將所述訂票結果信息推送給所述用戶。在步驟107中,內存集群管理模塊將訂票結果信息反饋給進程任務管理模塊,然后進程任務管理模塊將訂票結果信息反饋給動態(tài)頁面管理模塊,動態(tài)頁面管理模塊加載動態(tài)內容,發(fā)送結果給靜態(tài)頁面管理模塊,靜態(tài)頁面管理模塊加載靜態(tài)網頁內容,發(fā)送最終結果給客戶端瀏覽器,從而將訂票結果信息推送給用戶。本實施例提供的票務處理方法,通過使用內存集群的方式存儲票務信息,利用分離的消息隊列模式保存用戶訂票請求和用戶查詢請求,接收到查詢請求時以只讀的方式讀取票務信息,接收到訂票請求時以獨占的方式讀取訂票結果信息,支持大批量查詢和訂票,增強了系統(tǒng)性能,能夠解決在春運或者出行旺季時票務處理系統(tǒng)出現(xiàn)業(yè)務繁忙交易堵塞的問題。上述兩個實施例中,票務基礎資源管理模塊采用異步的方式將票務信息推送給內存集群管理模塊,具體是票務基礎資源管理模塊在系統(tǒng)空閑時將票務信息推送到內存集群中,把內存集群中已完成訂票的數(shù)據(jù)同步到內存數(shù)據(jù)庫中,由內存集群管理模塊控制票務信息,這樣進程任務管理模塊中的票務進程就不會直接和數(shù)據(jù)庫進行聯(lián)系,保證了實時聯(lián)機效率。
下面詳細介紹如何采用內存集群的方式進行票務處理,進程任務管理模塊中的票務進程只讀寫內存數(shù)據(jù),查詢或者訂票時不和數(shù)據(jù)庫打交道。分布式數(shù)據(jù)庫采用長數(shù)組的方式進行讀寫。圖3為本發(fā)明提供的票務處理方法中內存集群的數(shù)據(jù)結構示意圖,如圖3所示,圖中數(shù)據(jù)結構表示當有查詢請求時,請求可以訪問到長數(shù)組的其中一個,比如目前請求I訪問到長數(shù)組下標4的數(shù)據(jù)(北京到上海4張,編號00004),請求2也訪問到數(shù)組下標4的數(shù)據(jù)(北京到上海4張,編號00004),但是請求I的客戶端馬上發(fā)起開始訂票請求,這時候長數(shù)組下標為4的數(shù)據(jù)就被鎖定了,其他查詢請求無法訪問,請求I的客戶端訂票結束后,長數(shù)組訪問指針將自動下移一個到數(shù)組下標3,其他的請求目前操作的數(shù)據(jù)就是數(shù)據(jù)下標3的數(shù)據(jù)了。采用這種方式體現(xiàn)在無需更新數(shù)據(jù),數(shù)據(jù)使用完畢后立即移動下一個數(shù)組下標,讀取訪問都是純線性的,當訪問到下標為O時即表示無票可買。用戶如果此時再發(fā)送查詢請求或訂票請求,系統(tǒng)將會提醒票已經售完,而無效請求也不會發(fā)送到票務基礎資源管理模塊了。下面詳細說明查詢流程及訂票流程,圖4為本發(fā)明提供的票務處理方法實施例三的流程圖,如圖4所示,包括步驟401、首先用戶輸入包含網頁標識的訪問請求;步驟402、靜態(tài)頁面管理模塊接收該訪問請求,并將與網頁標識對應的網頁推送給用戶;步驟403、用戶通過網頁發(fā)送包含待查詢信息的查詢請求;步驟404、動態(tài)頁面管理模塊接收到該請求后將其按照編號的方式加入查詢請求隊列,按照查詢請求消息隊列推送查詢請求至進程任務管理模塊;步驟405、進程任務管理模塊為查詢請求分配空閑的處理進程,然后進程任務管理模塊向內存集群管理模塊請求與待查詢信息對應的票務信息;步驟406、內存集群管理模塊將票務信息反饋給進程任務管理模塊;步驟407、進程任務管理模塊將票務信息反饋給動態(tài)頁面管理模塊;步驟408、動態(tài)頁面管理模塊將票務信息推送給用戶瀏覽器;步驟409、票務基礎資源管理模塊采用異步的方式將票務信息推送給內存集群管理模塊,在系統(tǒng)空閑時將票務資源數(shù)據(jù)推送到內存集群中,把內存集群中已完成訂票的數(shù)據(jù)同步到內存數(shù)據(jù)庫中,由內存集群管理模塊控制票務資源。訂票流程在上述步驟之后,首先用戶正式點擊訂票,即發(fā)送訂票請求,動態(tài)頁面管理模塊接收到訂票請求后將訂票請求按照編號的方式加入訂票請求消息隊列,接著動態(tài)頁面管理模塊按照訂票請求消息隊列推送訂票請求至進程任務管理模塊,然后進程任務管理模塊為訂票請求分配空閑的處理進程,向內存集群管理模塊請求訂票結果信息,接著內存集群管理模塊將訂票結果信息反饋給進程任務管理模塊,然后進程任務管理模塊將訂票結果信息反饋給動態(tài)頁面管理模塊,最后動態(tài)頁面管理模塊將訂票結果信息推送給用戶瀏覽器。本發(fā)明提供的票務處理方法,通過使用內存集群的方式存儲票務信息,利用分離的消息隊列模式保存用戶訂票請求和用戶查詢請求,利用異步推送方式維護票務信息,在系統(tǒng)空閑時將票務信息推送到內存集群中,把內存集群中已完成訂票的數(shù)據(jù)同步到內存數(shù)據(jù)庫中,由內存集群管理模塊控制票務資源,這樣進程任務管理模塊中的票務進程就不會直接和數(shù)據(jù)庫進行聯(lián)系,保證了實時聯(lián)機效率,增強了系統(tǒng)性能,能夠解決在春運或者出行旺季時票務處理系統(tǒng)出現(xiàn)業(yè)務繁忙交易堵塞的問題,滿足大并發(fā)訂票的需求。本領域普通技術人員可以理解實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質中。該程·序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。圖5為本發(fā)明提供的票務處理系統(tǒng)實施例一的結構示意圖,如圖5所示,該系統(tǒng)包括靜態(tài)頁面管理模塊11、動態(tài)頁面管理模塊12、進程任務管理模塊13、內存集群管理模塊14。其中靜態(tài)頁面管理模塊11用于接收用戶輸入的包含網頁標識的訪問請求,并將與所述網頁標識對應的網頁推送給所述用戶;動態(tài)頁面管理模塊12用于接收所述用戶通過所述網頁發(fā)送的包含待查詢信息的查詢請求,將所述查詢請求加入查詢請求消息隊列;進程任務管理模塊13用于接收所述動態(tài)頁面管理模塊按照所述查詢請求消息隊列推送的查詢請求,為所述查詢請求分配空閑的處理進程,向內存集群管理模塊請求與所述待查詢信息對應的票務信息,進程任務管理模塊具體用于采用只讀的方式,從內存集群管理模塊中讀取與待查詢信息對應的票務信息。內存集群管理模塊14用于將所述票務信息反饋給所述進程任務管理模塊,以使所述進程任務管理模塊將所述票務信息反饋給所述動態(tài)頁面管理模塊從而將所述票務信息推送給所述用戶。本實施例的裝置,可以用于執(zhí)行圖I所示方法實施例的技術方案,其實現(xiàn)原理和技術效果類似,此處不再贅述。在圖5所示裝置結構的基礎上,進一步地,動態(tài)頁面管理模塊12還用于接收所述用戶根據(jù)所述票務信息發(fā)送的訂票請求,將所述訂票請求加入訂票請求消息隊列;進程任務管理模塊13還用于接收所述動態(tài)頁面管理模塊按照所述訂票請求消息隊列推送的訂票請求,為所述訂票請求分配空閑的處理進程,向內存集群管理模塊請求訂票結果信息,進程任務管理模塊13具體用于采用獨占的方式,從所述內存集群管理模塊中讀取所述訂票結果信息;內存集群管理模塊14還用于將所述訂票結果信息反饋給所述進程任務管理模塊,以使所述進程任務管理模塊將所述訂票結果信息反饋給所述動態(tài)頁面管理模塊從而將所述訂票結果信息推送給所述用戶。本實施例的裝置,可以用于執(zhí)行圖2所示方法實施例的技術方案,其實現(xiàn)原理和技術效果類似,此處不再贅述。圖6為本發(fā)明提供的票務處理系統(tǒng)實施例二的結構示意圖,如圖6所示,在圖5所示裝置結構的基礎上,進一步地,該系統(tǒng)還包括票務基礎資源管理模塊15,票務基礎資源管理模塊15用于采用異步方式將所述票務信息推送給所述內存集群管理模塊。最后應說明的是以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的范圍。
權利要求
1.一種票務處理方法,其特征在于,包括 靜態(tài)頁面管理模塊接收用戶輸入的包含網頁標識的訪問請求,并將與所述網頁標識對應的網頁推送給所述用戶; 動態(tài)頁面管理模塊接收所述用戶通過所述網頁發(fā)送的包含待查詢信息的查詢請求,將所述查詢請求加入查詢請求消息隊列; 進程任務管理模塊接收所述動態(tài)頁面管理模塊按照所述查詢請求消息隊列推送的查詢請求,為所述查詢請求分配空閑的處理進程,向內存集群管理模塊請求與所述待查詢信息對應的票務信息; 所述內存集群管理模塊將所述票務信息反饋給所述進程任務管理模塊,以使所述進程任務管理模塊將所述票務信息反饋給所述動態(tài)頁面管理模塊從而將所述票務信息推送給所述用戶。
2.根據(jù)權利要求I所述的方法,其特征在于,所述向內存集群管理模塊請求與所述待查詢信息對應的票務信息,包括 采用只讀的方式,從所述內存集群管理模塊中讀取與所述待查詢信息對應的票務信肩、O
3.根據(jù)權利要求I或2所述的方法,其特征在于,所述將所述票務信息推送給所述用戶之后,還包括 所述動態(tài)頁面管理模塊接收所述用戶根據(jù)所述票務信息發(fā)送的訂票請求,將所述訂票請求加入訂票請求消息隊列; 所述進程任務管理模塊接收所述動態(tài)頁面管理模塊按照所述訂票請求消息隊列推送的訂票請求,為所述訂票請求分配空閑的處理進程,向內存集群管理模塊請求訂票結果信息; 所述內存集群管理模塊將所述訂票結果信息反饋給所述進程任務管理模塊,以使所述進程任務管理模塊將所述訂票結果信息反饋給所述動態(tài)頁面管理模塊從而將所述訂票結果信息推送給所述用戶。
4.根據(jù)權利要求3所述的方法,其特征在于,所述向內存集群管理模塊請求訂票結果信息,包括 采用獨占的方式,從所述內存集群管理模塊中讀取所述訂票結果信息。
5.根據(jù)權利要求I或2所述的方法,其特征在于,還包括 票務基礎資源管理模塊采用異步方式將所述票務信息推送給所述內存集群管理模塊。
6.一種票務處理系統(tǒng),其特征在于,包括 靜態(tài)頁面管理模塊,用于接收用戶輸入的包含網頁標識的訪問請求,并將與所述網頁標識對應的網頁推送給所述用戶; 動態(tài)頁面管理模塊,用于接收所述用戶通過所述網頁發(fā)送的包含待查詢信息的查詢請求,將所述查詢請求加入查詢請求消息隊列; 進程任務管理模塊,用于接收所述動態(tài)頁面管理模塊按照所述查詢請求消息隊列推送的查詢請求,為所述查詢請求分配空閑的處理進程,向內存集群管理模塊請求與所述待查詢信息對應的票務信息; 所述內存集群管理模塊,用于將所述票務信息反饋給所述進程任務管理模塊,以使所述進程任務管理模塊將所述票務信息反饋給所述動態(tài)頁面管理模塊從而將所述票務信息推送給所述用戶。
7.根據(jù)權利要求6所述的系統(tǒng),其特征在于,所述進程任務管理模塊具體用于采用只讀的方式,從所述內存集群管理模塊中讀取與所述待查詢信息對應的票務信息。
8.根據(jù)權利要求6或7所述的系統(tǒng),其特征在于,所述動態(tài)頁面管理模塊,還用于接收所述用戶根據(jù)所述票務信息發(fā)送的訂票請求,將所述訂票請求加入訂票請求消息隊列; 所述進程任務管理模塊,還用于接收所述動態(tài)頁面管理模塊按照所述訂票請求消息隊列推送的訂票請求,為所述訂票請求分配空閑的處理進程,向內存集群管理模塊請求訂票結果息; 所述內存集群管理模塊,還用于將所述訂票結果信息反饋給所述進程任務管理模塊,以使所述進程任務管理模塊將所述訂票結果信息反饋給所述動態(tài)頁面管理模塊從而將所述訂票結果信息推送給所述用戶。
9.根據(jù)權利要求8所述的系統(tǒng),其特征在于,所述進程任務管理模塊具體用于采用獨占的方式,從所述內存集群管理模塊中讀取所述訂票結果信息。
10.根據(jù)權利要求6或7所述的系統(tǒng),其特征在于,還包括 票務基礎資源管理模塊,用于采用異步方式將所述票務信息推送給所述內存集群管理模塊。
全文摘要
本發(fā)明提供一種票務處理方法及系統(tǒng),該方法包括靜態(tài)頁面管理模塊接收用戶輸入的包含網頁標識的訪問請求,并將與網頁標識對應的網頁推送給用戶;動態(tài)頁面管理模塊接收用戶通過網頁發(fā)送的包含待查詢信息的查詢請求,將查詢請求加入查詢請求消息隊列;進程任務管理模塊接收動態(tài)頁面管理模塊按照查詢請求消息隊列推送的查詢請求,為查詢請求分配空閑的處理進程,向內存集群管理模塊請求與待查詢信息對應的票務信息;內存集群管理模塊將票務信息反饋給進程任務管理模塊,以使進程任務管理模塊將票務信息反饋給動態(tài)頁面管理模塊從而將票務信息推送給所述用戶。通過本發(fā)明提供的票務處理方法及系統(tǒng),增強了系統(tǒng)性能,滿足大并發(fā)查詢訂票的需求。
文檔編號G06Q10/02GK102881050SQ20121035021
公開日2013年1月16日 申請日期2012年9月19日 優(yōu)先權日2012年9月19日
發(fā)明者郭強 申請人:中國聯(lián)合網絡通信集團有限公司