一種應用于航空公司的高頻數據服務系統的制作方法
【技術領域】
[0001]本發明屬于服務系統領域,特別涉及一種應用于航空公司的高頻數據服務系統。
【背景技術】
[0002]目前,基于航空信息綜合服務系統的數據來源比較廣泛,但是各數據的類型存在著不全面、不及時及沒有針對性的問題,影響了各種系統的應用,并且各種數據來源的系統是異構化的,網絡環境也存在著很大的差異,導致了數據信息分散、缺少有效的互聯互通機制的狀況,阻礙了航空領域數據間的交流和共享。
[0003]所以為了保證各航空公司內的數據都能夠得到及時的更新和共享,是目前急需解決的一個大問題。CN103024014公開了一種通過消息隊列的還來數據分發處理的方法和系統,該系統能夠實現海量地存儲數據,并具有對數據處理的功能;但是現有技術公開的系統對數據的處理過程都是比較籠統的,并不具有針對性,并且該系統不能夠滿足各航空公司對不同類型數據、不同特定條件數據的需求,因此,目前更需一種能夠針對航空公司不同需求,對各數據具有針對性地高頻數據服務系統。
【發明內容】
[0004]針對上述問題,本發明提供一種應用于航空公司的高頻數據服務系統,該系統能夠對接收的原始數據進行處理,并將處理后的數據放到不同的消息隊列中,根據各航空公司約定的數據范圍和轉發條件發送給目標服務器。
[0005]本發明具體技術方案如下:
[0006]本發明提供一種應用于航空公司的高頻數據服務系統,該高頻數據服務系統包括應用服務器、文件服務器和第一服務器集群;所述第一服務器集群包括若干集合;
[0007]所述應用服務器用于接收總部系統消息中間件傳輸的不同類型的原始報文數據,用于分別對原始報文數據類型進行判斷,形成新的報文,并將新的報文發送給文件服務器,并用于對新的報文進行處理,將處理后的報文更新或插入到第一服務器集群存儲的集合中;所述文件服務器用于接收應用服務器發送的不同類型的報文,并對不同類型的報文進行備份。
[0008]本發明提供的應用于航空公司的高頻數據服務系統從總部接收高頻數據,分類存儲入庫,按指定條件轉發給目標客戶,并且預留服務接口,可對入庫數據做進一步加工處理,生成特定數據產品或數據應用。具有數據處理迅速、操作方便快捷等優點。
[0009]進一步地改進,所述高頻數據服務系統還包括第二服務器集群,用于接收應用服務器形成的新的報文,并對應用服務器進行監控;第一服務器集群存儲的集合包括第一離港旅客數據集合、第二離港旅客數據集合、第三離港旅客數據集合、第一航班時刻數據集合、第一離港航班數據集合、第二離港航班數據集合、第三離港航班數據集合、客票數據集合、庫存數據集合、第一登機口候補旅客數據集合、登機口候補航線字典表、第一登機口候補旅客數據表和第二登機口候補旅客數據表。
[0010]本發明提供的高頻數據服務系統還包括第二服務器集群,可以為AMQ服務器集群、Mongodb服務器監控、日志行為審計等;其對高頻數據服務系統起到監控的作用,能夠查看高頻數據服務系統的配置信息和運行狀態;能夠查看服務器的運行狀態和關鍵指標;能夠查看一些關鍵報表,監控報表的生成情況。
[0011]進一步的改進,所述應用服務器包括報文接收模塊組、報文類型判斷模塊組、消息中間件和報文處理模塊組;所述報文接收模塊組用于接收總部系統消息中間件傳輸的不同類型的原始報文數據,并將不同類型的原始報文數據發送給報文類型判斷模塊組;所述報文類型判斷模塊組用于接收報文接收模塊組傳輸的不同類型的原始報文數據,分別對原始報文數據類型進行判斷,形成新的報文,并將新的報文分別放入消息中間件中;所述報文處理模塊組用于調取消息中間件中的報文,分別對報文數據進行處理,并將處理后的各報文更新或插入到第一服務器集群存儲的集合中;所述不同類型的報文包括旅港旅客數據報文、離港航班數據報文、客票數據報文、訂座數據報文、航班時刻數據報文和庫存數據報文。
[0012]本發明通過采用消息中間件后,報文只需要寫入內存隊列即可,單個報文的處理時間大大降低,并且可以滿足單線程去總部消息中間件取數;并且能夠分離從總部取數和后續操作的耦合關系,具有取數線程專門處理收數功能,速度提升很多,同時也便于監控隊列處理的狀態;由于庫存數據量比較大所述本發明優選地的技術方案是將庫存數據報文放到另一個消息中間件中;并且通過報文類型判斷模塊組保證了接收后的報文類型準確,并且報文處理模塊組調取消息中間件中的報文,并對其進行處理,使經過處理的報文更新或插入到特定集合中,為航空公司提供不同類型的數據。
[0013]進一步的改進,所述報文處理模塊組包括離港旅客數據報文處理模塊、離港航班數據報文處理模塊、客票數據報文處理模塊、訂座數據報文處理模塊、報文數據轉換模塊、更新模塊和插入模塊和庫存數據報文處理模塊。
[0014]進一步地改進,所述報文數據轉換模塊用于調取消息隊列中的離港旅客數據報文和航班時刻數據報文中的數據,并分別轉換成json串,所述插入模塊分別將json串插入到第一離港旅客數據集合和第一航班時刻數據集合中。
[0015]進一步的改進,所述離港旅客數據報文處理模塊包括拆分子模塊、第一判斷子模塊、速運行李旅客數據判斷子模塊和第一查詢子模塊;所述拆分子模塊用于將離港旅客數據報文按照旅客和航段信息拆分成若干報文,并將拆分后的若干報文發送給第一判斷子模塊;所述第一判斷子模塊用于判斷報文中每個航段的旅客后備編號是否為空,如果旅客后備編號不為空,第一查詢子模塊以第一查詢字段為查詢條件查詢報文,并將查詢到航班報文發送給報文數據轉換模塊;所述報文數據轉換模塊用于將接收的報文轉換成json串,并通過更新模塊更新到第二離港旅客數據集合中,如果旅客后備編號為空,所述速運行李旅客數據判斷子模塊再判斷報文數據是否為速運行李旅客數據,所述插入模塊將屬于速運行李旅客數據插入到第三離港旅客數據集合中;
[0016]優選地,所述離港航班數據報文處理模塊包括第二查詢子模塊、集合搜索子模塊、第二判斷子模塊和值機狀態判斷子模塊;所述第二查詢子模塊用于以第二查詢字段為查詢條件查詢離港航班狀態為值機完全關閉的報文,并將查詢到的值機完全關閉的報文發送給更新模塊;所述更新模塊將值機完全關閉的報文更新到第一離港航班數據集合中;所述值機狀態判斷子模塊用于判斷航班狀態是否為值機完全關閉狀態,將值機完全關閉狀態的報文發送給集合搜索子模塊,將其余的報文通過插入模塊插入到第三離港航班數據集合;所述集合搜索子模塊用于以第二查詢字段為搜索條件,搜索接收的第二離港航班數據集合內的值機完全關閉狀態的報文,并將搜索結果發送給第二判斷子模塊;所述第二判斷子模塊用于判斷搜索結果內是否有報文,如果搜索結果內有報文,所述插入模塊將搜索的報文插入到第三離港航班數據集合中,如果搜索結果內沒有報文,所述插入模塊向第二離港航班數據集合做插入操作;
[0017]優選地,所述客票數據報文處理模塊包括客票號截取子模塊、客票號有效期計算子模塊和第三查詢子模塊;所述客票號截取子模塊用于截取14位客票號的前13位客票號,形成新的客票號,并將新的客票號發送給客票號有效期計算子模塊;所述客票號有效期計算子模塊用于計算新的客票號內的有效期字段,并將有效期字段增加到報文中;所述第三查詢子模塊以第三查詢字段為查詢條件查詢客票數據報文,并通過更新模塊將查詢到的客票數據報文更新到客票數據集合中;
[0018]優選地,所述訂座數據報文處理模塊包括票號有效期計算子模塊、第四查詢子模塊;所述票號有效期計算子模塊用于計算票號內的有效期字段,并將有效期字段增加到報文中,形成新的訂座數據報文,并將訂座數據報文發送給第四查詢子模塊和報文數據轉換模塊;所述第四查詢子模塊以第四查詢字段為查詢條件查詢訂座數據報文,并通過更新模塊將查詢到的訂座數據報文更新到第一訂座數據集合中;所述報文數據轉換模塊將接收的新的訂座數據報文文轉換成json串,并通過插入模塊插入到第二訂座數據集合中;