• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    票價搜索系統(tǒng)設(shè)計

    2017-04-27 12:24:51陳丹
    電腦知識與技術(shù) 2016年29期
    關(guān)鍵詞:引擎

    陳丹

    摘要:隨著互聯(lián)網(wǎng)的普及,以及航空機(jī)票電子化的全面推行,人們更傾向于在網(wǎng)上預(yù)訂機(jī)票和選擇旅游產(chǎn)品。目前,能夠提供強(qiáng)大票價搜索引擎的公司基本上是外國的航空公司票價搜索提供商,他們不為航空公司提供本地票價搜索引擎,而是要求各航空公司,通過互聯(lián)網(wǎng)或?qū)>€,先把所有的票價發(fā)布到票價提供商的主機(jī)上,然后才能進(jìn)行票價搜索,并且按查詢次數(shù)向航空公司收取費(fèi)用,這種做法非常不利于各航空公司建立自己的本地票價庫,從而無法進(jìn)行相應(yīng)的數(shù)據(jù)分析。因此,國內(nèi)各航空公司想要發(fā)展,提高銷售額,必須擁有自己的票價搜索系統(tǒng)?,F(xiàn)階段,開發(fā)一個適合國內(nèi)航空公司的本地票價搜索引擎勢在必行,這樣才能幫助航空公司打造一流的網(wǎng)上銷售平臺,保障網(wǎng)上銷售渠道的暢通,提升競爭力。

    關(guān)鍵詞:票價搜索;引擎;ATPCO規(guī)則

    中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)29-0260-03

    1項目背景

    隨著互聯(lián)網(wǎng)的普及、航空機(jī)票電子化的全面推行,人們出行不再需要親自到機(jī)票銷售點去預(yù)訂機(jī)票,而是選擇使用計算機(jī)或者手機(jī)通過互聯(lián)網(wǎng),進(jìn)入航空公司或者其他銷售機(jī)票的網(wǎng)站上預(yù)訂機(jī)票。

    近年來,各航空公司除了提供網(wǎng)上訂票、出票及網(wǎng)上值機(jī)的服務(wù)外,還提供了諸如酒店住宿、租車等旅行產(chǎn)品服務(wù),且這些產(chǎn)品的銷售量逐年增高。隨著航空公司網(wǎng)絡(luò)銷售業(yè)務(wù)的高速發(fā)展,其票價搜索的速度嚴(yán)重制約了機(jī)票及其相關(guān)旅游產(chǎn)品的銷售業(yè)績。因此,對于航空公司來講,擁有強(qiáng)大的票價搜索引擎,提供豐富多樣的旅行產(chǎn)品已經(jīng)成為航空公司迫在眉睫的問題所在。

    目前,能夠提供強(qiáng)大票價搜索引擎的公司有:ATPCO(Air-line Tariff Publishing Company)、SITA(Societe International DeTelecommun-ications)、TRAVELPORT等公司,國內(nèi)除南航引進(jìn)SITA第一代搜索引擎以外尚無其他航空公司擁有自己的搜索引擎,只有少數(shù)公司通過合作方式接入SITA AIRFARE進(jìn)行運(yùn)價計算和查詢。因此,擁有自己強(qiáng)大的票價搜索引擎是提高銷售業(yè)務(wù),進(jìn)而提高其核心競爭力的關(guān)鍵所在。

    縱觀全球,許多國外航空公司票價搜索提供商并不為航空公司提供本地票價搜索引擎,所有的查詢都必須經(jīng)過互聯(lián)網(wǎng)或?qū)>€,首先將所有票價發(fā)布到票價提供商的主機(jī)上,然后才能進(jìn)行票價搜索,查詢按次數(shù)來收費(fèi),這樣不僅增加了航空公司銷售的成本,且非常不利于各航空公司建立自己的本地票價庫,從而無法對競爭對手和市場進(jìn)行票價數(shù)據(jù)分析。

    國內(nèi)有航空公司引進(jìn)的第一代票價搜索引擎,能夠進(jìn)行單程、往返、缺口程以及中轉(zhuǎn)聯(lián)程和ADDON的基本票價搜索,但由于技術(shù)上的限制,該搜索引擎不是按照ATPCO(Airline Tariff Publishing Company)國際運(yùn)價規(guī)則標(biāo)準(zhǔn)開發(fā)的,因此不能完全支持ATPC01-50項的規(guī)則,即不能進(jìn)行完全意義上的票價搜索,同時也不能滿足各航空公司日益增長的網(wǎng)上銷售量和查詢量。

    鑒于以上原因,開發(fā)一個適合國內(nèi)航空公司的本地票價搜索引擎勢在必行。只有擁有自主知識產(chǎn)權(quán)的票價搜索引擎,建立航空公司自身完整的本地票價數(shù)據(jù)庫,才能幫助航空公司打造一流的網(wǎng)上銷售平臺,保障網(wǎng)上銷售渠道的暢通,提升競爭力,使之能躋身于世界一流的航空公司之列。

    2系統(tǒng)總體結(jié)構(gòu)

    為了提供一個能支持ATPCO行業(yè)標(biāo)準(zhǔn)的搜索引擎算法,系統(tǒng)采用負(fù)荷平衡策略支持多個用戶同時在線搜索,并根據(jù)用戶所提供的搜索字段對數(shù)據(jù)庫中保存的所有票價信息進(jìn)行搜索,并盡可能在短時間內(nèi)將搜索結(jié)果返回給用戶。

    此外,為了能夠適應(yīng)ATPCO每年修訂的新標(biāo)準(zhǔn),本系統(tǒng)還應(yīng)具有良好的可擴(kuò)展性。

    本系統(tǒng)的結(jié)構(gòu)如圖:

    系統(tǒng)原理:終端用戶提交的搜索請求經(jīng)由負(fù)載均衡調(diào)度機(jī)到達(dá)各個從數(shù)據(jù)庫服務(wù)器進(jìn)行處理。在這些從數(shù)據(jù)庫服務(wù)器上部署搜索引擎的業(yè)務(wù)邏輯,通過Oracle TimesTen In-memoryDatabase所提供的備份、熱交換及數(shù)據(jù)恢復(fù)等功能,實現(xiàn)從數(shù)據(jù)服務(wù)器之間的相互冗余備份。另外,Oracle TimesTen In-memory Database還能提供數(shù)據(jù)復(fù)制功能,主數(shù)據(jù)庫可以實時地對各個從數(shù)據(jù)庫進(jìn)行數(shù)據(jù)的更新,以保持?jǐn)?shù)據(jù)的同步和一致性。

    3系統(tǒng)主要功能及函數(shù)設(shè)置

    本系統(tǒng)的功能包括:艙位信息的輸入和修改,客機(jī)信息的輸入、修改和查詢,航線信息的輸入、修改和查詢,訂票信息的輸入、查詢和修改等。

    用戶登錄該系統(tǒng)后,可以通過查詢,選擇機(jī)票或其他旅游產(chǎn)品,下單并完成支付,系統(tǒng)根據(jù)支付記錄給用戶指定的手機(jī)號碼發(fā)送電子憑證,用戶可根據(jù)電子憑證到相應(yīng)的服務(wù)點領(lǐng)取所定制的產(chǎn)品服務(wù)。

    本系統(tǒng)設(shè)置的票價搜索引擎函數(shù)及函數(shù)的功能包括:

    1)getMatching函數(shù)

    功能:返回符合搜索條件的一系列票價。

    輸入:起飛地、目的地、起飛日期、航程類型(S、R)、CUG、成人數(shù)、兒童數(shù)、嬰兒數(shù)

    在這個getMatching函數(shù)中還需注意設(shè)置以下參數(shù):

    a.如果兒童數(shù)大于0,則票價必須含有兒童票價才會返回。嬰兒數(shù)同理。其它函數(shù)同樣適用。

    b.如果成人數(shù)是0,返回的票價不按成人票價從小到大排序。如果成人數(shù)是0,兒童數(shù)是1,返回的票價按兒童票價從小到大排序。

    c.如果標(biāo)簽是T,此票價不能使用于訂票。系統(tǒng)默認(rèn)是不返回標(biāo)簽是T的票價,如果在請求時加上A時,則會返回這種票價。

    d.要使用某一票價,必須從返回結(jié)果匹配其使用條件。

    2)getSelectedFare函數(shù)

    功能:返回符合條件的唯一票價,適合用于做票價確認(rèn)。

    輸入:fare reference(一般由前一次查詢產(chǎn)生),與getinfo相同。

    3)fares For Availability函數(shù)

    功能:返回符合搜索條件的所有票價。

    輸入:起飛地、目的地、起飛日期、航程類型(S、R)、CUG、成人數(shù)、兒童數(shù)、嬰兒數(shù)、艙位、航班號、缺口程需加上返程起飛地、返程目的地。

    fares For Availability函數(shù)中需要特別留意的地方有以下三點:

    a.查詢往返程、缺口程票價時,艙位必須前后一致。

    b.當(dāng)查詢往返程票價時,返回的是往返程的合計票價,而getFaresForItinerary函數(shù)分別返回每個航段的票價(單程、半往返程)。

    c.請求時F返回適合條件的最后錄入(fare number最大)的票價,T或缺省此標(biāo)簽時,返回所有票價。如果要查詢多個艙位的最低票價,請用T,取其最前面的匹配票價。

    4)getInfo函數(shù)

    功能:返回額外的票價信息,如使用條件、提供的特殊服務(wù)等。

    輸入:fare reference(一般由前一次查詢產(chǎn)生),與getSelect-edFare所得的結(jié)果相同。

    5)getFaresForItinerary函數(shù)

    功能:返回復(fù)雜航線的各個航段單程和(或)半往返程票價(同時存在out和in航段請求時才返回半往返程票價)。

    輸入:與faresForAvailability類似。

    使用getFaresForItinerary函數(shù)時,須特別留意以下幾點:

    a.各航段可以是不同艙位的組合。

    b.可組合一個Addon、Main fare、一個Onwards航段(加上返程)。

    c.同一方向的Main fare可以是一個航段、有多個經(jīng)停點的航段,但不允許是二個或以上獨(dú)立航段,否則會顯示沒有票價返回。

    d.如果第一個請求航段不是Addon,且與第二個同向的航段沒有經(jīng)停票價,將沒有票價返回。

    e.經(jīng)停點可以像faresForAvailability一樣用格式,也可以作為二同向的航段輸入。

    4本系統(tǒng)采用的關(guān)鍵技術(shù)

    衡量一個票價搜索引擎系統(tǒng)性能的標(biāo)準(zhǔn)是:能否提供豐富多彩的產(chǎn)品服務(wù),能否在查詢訂單之后快速響應(yīng)。為了達(dá)到這兩個目標(biāo),本系統(tǒng)采用了以下關(guān)鍵技術(shù)來保證系統(tǒng)性能。

    1)Oracle TimesTen In-memory Database

    通過采用高性能的內(nèi)存數(shù)據(jù)庫,使系統(tǒng)在查詢票價時可以達(dá)到最快捷的響應(yīng)速度,由于這些票價數(shù)據(jù)都是存放于數(shù)據(jù)庫服務(wù)器的內(nèi)存中,而且業(yè)務(wù)邏輯也部署于同一臺服務(wù)器(引擎服務(wù)器)上,因此能夠最大限度地減少網(wǎng)絡(luò)帶寬所帶來的性能影響以及提供系統(tǒng)的穩(wěn)定性。另外,系統(tǒng)可同時部署若干引擎服務(wù)器,為保證數(shù)據(jù)的一致性,采用主從結(jié)構(gòu)的形式,由主數(shù)據(jù)庫實時地將所有的數(shù)據(jù)變化同步到從內(nèi)存數(shù)據(jù)庫中,這樣,即使其中某些節(jié)點出現(xiàn)問題,也不會影響整個系統(tǒng)的正常工作。

    2)基于IP和基于內(nèi)容請求分發(fā)的負(fù)載平衡調(diào)度

    系統(tǒng)前端配置一個前置調(diào)度機(jī),從網(wǎng)絡(luò)傳送過來的搜索請求數(shù)據(jù)會經(jīng)由此前置機(jī)被分發(fā)到各個引擎服務(wù)器上。

    系統(tǒng)將來自不同IP的請求采用如哈希算法計算出一組目標(biāo)引擎服務(wù)器,然后將來自這些IP地址的請求轉(zhuǎn)發(fā)到該組服務(wù)器上。確定服務(wù)器的范圍以后,請求的內(nèi)容也經(jīng)過一定的算法分析,然后計算出某特定的目標(biāo)服務(wù)器,最后將該請求發(fā)送到相應(yīng)的服務(wù)器上。這樣做的目的是使某特定的引擎服務(wù)器可以專門負(fù)責(zé)某類型的搜索請求,從而可以極大地提高搜索速度。數(shù)據(jù)庫系統(tǒng)的特點決定了近似的搜索能得到更快的響應(yīng)速度。

    由于這些引擎服務(wù)器上都部署有相同的業(yè)務(wù)邏輯,所以理論上這些服務(wù)器能實現(xiàn)的搜索功能都是一致的。于是,如果某一時間某類型的請求過多,而處理該類請求的服務(wù)器負(fù)荷較重,則可以將其他較為空閑的服務(wù)器配置為可處理該類請求。

    3)其他提高搜索速度的方法

    一般情況下,從數(shù)據(jù)庫中搜索得到的票價信息并不是用戶所要求的信息,還需要對其作進(jìn)一步的過濾。這部分的過濾功能可以通過自行實現(xiàn)相應(yīng)的算法去查找和計算這些中間結(jié)果集,得到最終的結(jié)果并返回給用戶,或者根據(jù)這些計算結(jié)果再次對數(shù)據(jù)庫進(jìn)行查找,從而得到更準(zhǔn)確的結(jié)果集。這部分算法的實現(xiàn)應(yīng)與業(yè)務(wù)需求緊密聯(lián)系。

    4)使用Search Oriented Architecture面向搜索的架構(gòu)

    面向搜索引擎的架構(gòu)設(shè)計主要在業(yè)務(wù)層和數(shù)據(jù)層之間添加一個搜索層,該層的作用在于將業(yè)務(wù)系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的關(guān)聯(lián)性減到最小,從而大大提高系統(tǒng)的可擴(kuò)展性。從工作流程的角度上看,業(yè)務(wù)層首先向搜索層提出搜索的請求,數(shù)據(jù)搜索的任務(wù)是在搜索層里完成。由于將搜索功能單獨(dú)提取出來作為一層,搜索的數(shù)據(jù)對象將不僅限于數(shù)據(jù)庫系統(tǒng)中存放的數(shù)據(jù),還可以是網(wǎng)頁,文件系統(tǒng)中存放的文件等等。在本系統(tǒng)里面,可以先實現(xiàn)對數(shù)據(jù)庫的搜索功能。

    5)使用Service Oriented Architecture面向服務(wù)的架構(gòu)

    面向服務(wù)的架構(gòu)主要是對現(xiàn)有的代碼重用想法的改進(jìn)。現(xiàn)有的代碼重用通?;卺槍δ程囟üδ軐崿F(xiàn)的函數(shù)或基于面向?qū)ο蠹夹g(shù)的類的重用。這些方法的缺點是功能過于分散和微小,即使重用代碼也需要花非常多時間實現(xiàn)新的業(yè)務(wù)應(yīng)用和進(jìn)行測試。面向服務(wù)的架構(gòu)設(shè)計方法的原則是盡量將系統(tǒng)中的各個功能(一般為系統(tǒng)提供的各種服務(wù))最大限度地分割開來,從而減少針對這部分功能所需設(shè)計的功能接口。每個服務(wù)或功能點間需要確定一組通信的協(xié)議,并且相互關(guān)聯(lián)程度盡量減到最低。最理想的情況下各服務(wù)之間只需要知道其他服務(wù)是否存在并正常運(yùn)行。這種架構(gòu)可以降低各個服務(wù)或功能點之間的耦合程度,提高代碼重用效率,也大大加快了擴(kuò)展業(yè)務(wù)功能的速度,因為在許多情況下系統(tǒng)工程師只需要將系統(tǒng)現(xiàn)有的服務(wù)重新組合就可以實現(xiàn)新的業(yè)務(wù)功能。

    對本系統(tǒng)來說,票價搜索是系統(tǒng)的核心功能,在將來可能的應(yīng)用中,票價的搜索可能會被用于網(wǎng)上購票系統(tǒng),機(jī)場信息部門查詢系統(tǒng),業(yè)務(wù)分析系統(tǒng),客戶關(guān)系管理系統(tǒng)等等,于是在設(shè)計的初步階段將票價搜索實現(xiàn)成一個面向服務(wù)的架構(gòu)將會對以后的業(yè)務(wù)應(yīng)用有非常大的幫助

    5系統(tǒng)的重要性能分析

    響應(yīng)時間:對于票價搜索引擎來講,準(zhǔn)確性和及時性是其所要具備的首要性能。票價搜索結(jié)果在日常處理中的響應(yīng)速度為秒級,因此,在系統(tǒng)是設(shè)計和開發(fā)的過程中,充分考慮了諸如獲取數(shù)據(jù)庫連接的時間、執(zhí)行查詢語句的時間、將結(jié)果發(fā)回數(shù)據(jù)庫客戶端的時間等因素,細(xì)心挑選合適的算法,盡可能縮短搜索的響應(yīng)時間。

    系統(tǒng)的延展性:由于ATPCO行業(yè)標(biāo)準(zhǔn)在未來有可能會有所調(diào)整,因此,在本系統(tǒng)中,還考慮了系統(tǒng)的延展性,使其能根據(jù)行業(yè)標(biāo)準(zhǔn)的變化來適時調(diào)整。此外,本系統(tǒng)還考慮到隨著用戶和服務(wù)的增加,預(yù)留了性能擴(kuò)充的位置。

    主從數(shù)據(jù)庫:系統(tǒng)采用了主數(shù)據(jù)庫服務(wù)器和從數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu),這種結(jié)構(gòu)除了能提高搜索的響應(yīng)速度外,還能提供更多的保障:在主數(shù)據(jù)庫服務(wù)器發(fā)生故障的情況下,系統(tǒng)會從其他從數(shù)據(jù)庫服務(wù)器中挑選一個出來暫時代替主數(shù)據(jù)庫服務(wù)器的位置,從而保證了系統(tǒng)的整體功能不受影響。

    6總結(jié)

    文章通過項目背景,闡述了開發(fā)一個適合國內(nèi)各航空公司使用的票價搜索引擎的迫切性,從系統(tǒng)的總體結(jié)構(gòu)、系統(tǒng)的主要功能和相應(yīng)函數(shù)設(shè)置、系統(tǒng)采用的關(guān)鍵技術(shù)和系統(tǒng)的重要性能分析五個方面,詳細(xì)介紹了本票價搜索引擎系統(tǒng)的全貌。

    猜你喜歡
    引擎
    以學(xué)促干 挺膺擔(dān)當(dāng) 激活砥礪前行的紅色引擎
    江陰市“三個創(chuàng)新”打造?;钒踩O(jiān)管新引擎
    新海珠,新引擎,新活力!
    消費(fèi)繼續(xù)發(fā)揮經(jīng)濟(jì)增長第一引擎作用
    三生 三大引擎齊發(fā)力
    藍(lán)谷: “涉藍(lán)”新引擎
    商周刊(2017年22期)2017-11-09 05:08:31
    休閑垂釣 傳統(tǒng)漁業(yè)新引擎
    信息化,“盛京”加速的新引擎
    無形的引擎
    河南電力(2015年5期)2015-06-08 06:01:46
    基于Cocos2d引擎的PuzzleGame開發(fā)
    西昌市| 康乐县| 前郭尔| 吉林市| 涟水县| 平谷区| 山阴县| 武平县| 仙游县| 海安县| 山阳县| 子长县| 玛曲县| 新密市| 邢台市| 沁源县| 手游| 镇雄县| 惠州市| 淳安县| 靖宇县| 科技| 浦县| 文水县| 西乌珠穆沁旗| 徐汇区| 紫云| 大竹县| 东山县| 夏河县| 中牟县| 易门县| 松溪县| 江陵县| 萨嘎县| 慈溪市| 东至县| 久治县| 盐城市| 邵东县| 大余县|