本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體而言,涉及一種線路查詢方法和裝置以及存儲(chǔ)介質(zhì)、處理器。
背景技術(shù):
一般情況,用戶的航線搜索方案都是確定的地點(diǎn),時(shí)間,分以下三種場(chǎng)景:
1.單程搜索,條件包含出發(fā)、到達(dá)、出發(fā)日期。
2.往返搜索,條件包含出發(fā)、到達(dá)、出發(fā)日期、返程日期。
3.多程搜索,條件包含多個(gè)出發(fā)、到達(dá)、出發(fā)日期的組合。
但有些場(chǎng)景下,用戶沒(méi)有明確的出行計(jì)劃,也許只是有一段假期,有一些預(yù)算,那么上述的搜索條件就無(wú)法直接滿足用戶的需求了。
另外,還有一些特殊場(chǎng)景,例如學(xué)校的畢業(yè)生,可能是想利用畢業(yè)和工作之間的這段假期,去更多的地方看看,這種情況下,用戶的主要需求,可能是在有限的時(shí)間、金錢(qián)條件下,去更多的地方旅游。
上述情況,大多數(shù)用戶可能會(huì)去找攻略、論壇、旅游產(chǎn)品等,但是這無(wú)疑浪費(fèi)了用戶大量的時(shí)間和精力。
上述場(chǎng)景的共同特點(diǎn)是:用戶有時(shí)間預(yù)算和金錢(qián)預(yù)算,但是沒(méi)明確旅游規(guī)劃方案。
但是,現(xiàn)有技術(shù)中無(wú)法在僅有時(shí)間預(yù)算和成本預(yù)算的情況下查詢目標(biāo)線路。
針對(duì)現(xiàn)有技術(shù)中無(wú)法在僅有時(shí)間預(yù)算和成本預(yù)算的情況下查詢目標(biāo)線路的問(wèn)題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種線路查詢方法和裝置以及存儲(chǔ)介質(zhì)、處理器,以至少解決現(xiàn)有技術(shù)中無(wú)法在僅有時(shí)間預(yù)算和成本預(yù)算的情況下查詢目標(biāo)線路的技術(shù)問(wèn)題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種線路查詢方法,包括:接收查詢條件,其中,所述查詢條件包括:出發(fā)地、預(yù)計(jì)消耗時(shí)間以及預(yù)計(jì)消耗成本,所述預(yù)計(jì)消耗時(shí)間為從所述出發(fā)地的出發(fā)時(shí)間至預(yù)定的結(jié)束時(shí)間之間的時(shí)間;根據(jù)預(yù)定的線路有向圖查詢滿足所述查詢條件的目標(biāo)線路,其中,所述線路有向圖用于指示從第一地點(diǎn)到第二地點(diǎn)所需要消耗的時(shí)間以及所需要消耗的成本,所述出發(fā)地包括所述第一地點(diǎn),所述目標(biāo)線路對(duì)應(yīng)的消耗時(shí)間小于等于所述預(yù)計(jì)消耗時(shí)間,所述目標(biāo)線路對(duì)應(yīng)的消耗成本小于等于所述預(yù)計(jì)消耗成本;以及輸出查詢到的所述目標(biāo)線路。
進(jìn)一步地,在所述接收查詢條件之前,所述方法還包括:獲取第一線路對(duì)應(yīng)的消耗時(shí)間以及所述第一線路對(duì)應(yīng)的消耗成本,其中,所述第一線路為從所述第一地點(diǎn)到所述第二地點(diǎn)之間的線路,所述第一線路對(duì)應(yīng)的消耗時(shí)間為在所述第一地點(diǎn)消耗的時(shí)間與在所述第二地點(diǎn)消耗的時(shí)間的和,所述第一線路對(duì)應(yīng)的消耗成本為從所述第一地點(diǎn)到所述第二地點(diǎn)所需要消耗的成本;以及根據(jù)所述第一線路對(duì)應(yīng)的消耗時(shí)間以及所述第一線路對(duì)應(yīng)的消耗成本生成所述線路有向圖。
進(jìn)一步地,所述查詢條件還包括:到達(dá)地;單程或往返,其中,所述查詢條件為以下任意一種組合中的其中一種組合:所述出發(fā)地、所述預(yù)計(jì)消耗時(shí)間、所述預(yù)計(jì)消耗成本、單程;所述出發(fā)地、所述到達(dá)地、所述預(yù)計(jì)消耗時(shí)間、所述預(yù)計(jì)消耗成本、單程;所述出發(fā)地、所述預(yù)計(jì)消耗時(shí)間、所述預(yù)計(jì)消耗成本、往返;所述出發(fā)地、所述到達(dá)地、所述預(yù)計(jì)消耗時(shí)間、所述預(yù)計(jì)消耗成本、往返。
進(jìn)一步地,在所述查詢條件為由所述出發(fā)地、所述預(yù)計(jì)消耗時(shí)間、所述預(yù)計(jì)消耗成本、單程所組成的組合的情況下,其中,所述根據(jù)預(yù)定的線路有向圖查詢滿足所述查詢條件的目標(biāo)線路包括:從多個(gè)可選到達(dá)地中確定至少一個(gè)目標(biāo)到達(dá)地,得到至少一個(gè)可選線路;從所述至少一個(gè)可選線路中查詢滿足所述查詢條件的第一目標(biāo)線路,其中,所述第一目標(biāo)線路對(duì)應(yīng)的消耗時(shí)間小于等于所述預(yù)計(jì)消耗時(shí)間,所述第一目標(biāo)線路對(duì)應(yīng)的消耗成本小于等于所述預(yù)計(jì)消耗成本。
進(jìn)一步地,在所述查詢條件為由所述出發(fā)地、所述到達(dá)地、所述預(yù)計(jì)消耗時(shí)間、所述預(yù)計(jì)消耗成本、單程所組成的組合的情況下,其中,所述根據(jù)預(yù)定的線路有向圖查詢滿足所述查詢條件的目標(biāo)線路包括:確定從所述出發(fā)地到所述到達(dá)地之間的至少一個(gè)可選線路;從所述至少一個(gè)可選線路中查詢滿足所述查詢條件的第二目標(biāo)線路,其中,所述第二目標(biāo)線路對(duì)應(yīng)的消耗時(shí)間小于等于所述預(yù)計(jì)消耗時(shí)間,所述第二目標(biāo)線路對(duì)應(yīng)的消耗成本小于等于所述預(yù)計(jì)消耗成本。
進(jìn)一步地,在所述查詢條件為由所述出發(fā)地、所述預(yù)計(jì)消耗時(shí)間、所述預(yù)計(jì)消耗成本、往返所組成的組合的情況下,其中,所述根據(jù)預(yù)定的線路有向圖查詢滿足所述查詢條件的目標(biāo)線路包括:從多個(gè)可選到達(dá)地中確定至少一個(gè)目標(biāo)到達(dá)地,得到至少一個(gè)可選線路;從所述至少一個(gè)可選線路中查詢滿足所述查詢條件的第三目標(biāo)線路,其中,所述第三目標(biāo)線路包括去程線路和返程線路,所述去程線路對(duì)應(yīng)的消耗時(shí)間與所述返程線路對(duì)應(yīng)的消耗時(shí)間的和小于等于所述預(yù)計(jì)消耗時(shí)間,所述去程線路對(duì)應(yīng)的消耗成本與所述返程線路對(duì)應(yīng)的消耗成本的和小于等于所述預(yù)計(jì)消耗成本。
進(jìn)一步地,在所述查詢條件為由所述出發(fā)地、所述到達(dá)地、所述預(yù)計(jì)消耗時(shí)間、所述預(yù)計(jì)消耗成本、往返所組成的組合的情況下,其中,所述根據(jù)預(yù)定的線路有向圖查詢滿足所述查詢條件的目標(biāo)線路包括:確定從所述出發(fā)地到所述到達(dá)地之間的至少一個(gè)可選線路;從所述至少一個(gè)可選線路中查詢滿足所述查詢條件的第四目標(biāo)線路,其中,所述第四目標(biāo)線路包括去程線路和返程線路,所述去程線路對(duì)應(yīng)的消耗時(shí)間與所述返程線路對(duì)應(yīng)的消耗時(shí)間的和小于等于所述預(yù)計(jì)消耗時(shí)間,所述去程線路對(duì)應(yīng)的消耗成本與所述返程線路對(duì)應(yīng)的消耗成本的和小于等于所述預(yù)計(jì)消耗成本。
根據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,提供了一種線路查詢裝置,包括:接收單元,用于接收查詢條件,其中,所述查詢條件包括:出發(fā)地、預(yù)計(jì)消耗時(shí)間以及預(yù)計(jì)消耗成本,所述預(yù)計(jì)消耗時(shí)間為從所述出發(fā)地的出發(fā)時(shí)間至預(yù)定的結(jié)束時(shí)間之間的時(shí)間;查詢單元,用于根據(jù)預(yù)定的線路有向圖查詢滿足所述查詢條件的目標(biāo)線路,其中,所述線路有向圖用于指示從第一地點(diǎn)到第二地點(diǎn)所需要消耗的時(shí)間以及所需要消耗的成本,所述出發(fā)地包括所述第一地點(diǎn),所述目標(biāo)線路對(duì)應(yīng)的消耗時(shí)間小于等于所述預(yù)計(jì)消耗時(shí)間,所述目標(biāo)線路對(duì)應(yīng)的消耗成本小于等于所述預(yù)計(jì)消耗成本;以及輸出單元,用于輸出查詢到的所述目標(biāo)線路。
根據(jù)本發(fā)明的又一個(gè)實(shí)施例,還提供了一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)包括存儲(chǔ)的程序,其中,所述程序運(yùn)行時(shí)執(zhí)行上述任一項(xiàng)所述的方法。
根據(jù)本發(fā)明的又一個(gè)實(shí)施例,還提供了一種處理器,所述處理器用于運(yùn)行程序,其中,所述程序運(yùn)行時(shí)執(zhí)行上述任一項(xiàng)所述的方法。
在本發(fā)明實(shí)施例中,接收出發(fā)地、預(yù)計(jì)消耗時(shí)間以及預(yù)計(jì)消耗成本作為查詢條件,并根據(jù)預(yù)定的用于指示從出發(fā)地點(diǎn)到目標(biāo)地點(diǎn)所需要消耗的時(shí)間以及所需要消耗的成本的線路有向圖,查詢滿足查詢條件的目標(biāo)線路,并輸出該目標(biāo)線路,解決了現(xiàn)有技術(shù)中無(wú)法在僅有時(shí)間預(yù)算和成本預(yù)算的情況下查詢目標(biāo)線路的技術(shù)問(wèn)題。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例的一種可選的線路查詢方法的流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例的一種可選的線路查詢裝置的示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說(shuō)明的是,本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
首先,在對(duì)本發(fā)明實(shí)施例進(jìn)行描述的過(guò)程中出現(xiàn)的部分名詞或術(shù)語(yǔ)適用于如下解釋:
航路規(guī)劃,是指基于某些限定條件,給出一組,或一個(gè)滿足條件的(最優(yōu))航路組合。
航路,是指航班線路。
根據(jù)本發(fā)明實(shí)施例,提供了一種線路查詢方法實(shí)施例,需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實(shí)施例的一種可選的線路查詢方法的流程圖,如圖1所示,該方法包括如下步驟:
步驟s102,接收查詢條件,其中,查詢條件包括:出發(fā)地、預(yù)計(jì)消耗時(shí)間以及預(yù)計(jì)消耗成本,預(yù)計(jì)消耗時(shí)間為從出發(fā)地的出發(fā)時(shí)間至預(yù)定的結(jié)束時(shí)間之間的時(shí)間;
步驟s104,根據(jù)預(yù)定的線路有向圖查詢滿足查詢條件的目標(biāo)線路,其中,線路有向圖用于指示從第一地點(diǎn)到第二地點(diǎn)所需要消耗的時(shí)間以及所需要消耗的成本,出發(fā)地包括第一地點(diǎn),目標(biāo)線路對(duì)應(yīng)的消耗時(shí)間小于等于預(yù)計(jì)消耗時(shí)間,目標(biāo)線路對(duì)應(yīng)的消耗成本小于等于預(yù)計(jì)消耗成本;
步驟s106,輸出查詢到的目標(biāo)線路。
通過(guò)上述步驟,接收出發(fā)地、預(yù)計(jì)消耗時(shí)間以及預(yù)計(jì)消耗成本作為查詢條件,并根據(jù)預(yù)定的用于指示從出發(fā)地點(diǎn)到目標(biāo)地點(diǎn)所需要消耗的時(shí)間以及所需要消耗的成本的線路有向圖,查詢滿足查詢條件的目標(biāo)線路,并輸出該目標(biāo)線路,解決了現(xiàn)有技術(shù)中無(wú)法在僅有時(shí)間預(yù)算和成本預(yù)算的情況下查詢目標(biāo)線路的技術(shù)問(wèn)題。
在步驟s102提供的方案中,查詢條件可以由用戶設(shè)置,其中,查詢條件包括出發(fā)地、預(yù)計(jì)消耗時(shí)間以及預(yù)計(jì)消耗成本。
可選地,查詢條件可以包括到達(dá)地。
可選地,用戶可以通過(guò)終端輸入查詢條件,其中,終端可以是移動(dòng)終端,例如智能手機(jī)、平板電腦;終端還可以是電腦。
可選地,出發(fā)地可以是用戶所在城市的地址;還可以是距離用戶最近的交通站。例如,用戶所在地址為北京的中關(guān)村,則可以將出發(fā)地選擇為北京首都機(jī)場(chǎng)。
可選地,出發(fā)地可以是多個(gè),例如,用戶所在的地址為北京的中關(guān)村,則可以將出發(fā)地選擇為北京首都機(jī)場(chǎng)和北京南苑機(jī)場(chǎng)。
可選地,設(shè)置預(yù)計(jì)消耗時(shí)間,可以由用戶設(shè)置出發(fā)時(shí)間和終點(diǎn)時(shí)間確定,其中,終點(diǎn)時(shí)間可以是處于到達(dá)地的到達(dá)時(shí)間,還可以是返回出發(fā)地的返回時(shí)間。例如,用戶設(shè)置出發(fā)時(shí)間為2017年5月12日,處于到達(dá)地的到達(dá)時(shí)間為2017年5月13日,則預(yù)計(jì)消耗時(shí)間為2天;用戶設(shè)置出發(fā)時(shí)間為2017年5月12日,返回出發(fā)地的返回時(shí)間為2017年5月15日,則預(yù)計(jì)消耗時(shí)間為4天。
在步驟s104提供的方案中,目標(biāo)線路可以符合用戶查詢的條件,向用戶推送的線路,其中,目標(biāo)線路可以包括第一地點(diǎn)和第二地點(diǎn),第一地點(diǎn)可以是出發(fā)地,也可以是到達(dá)地;第二地點(diǎn)可以是出發(fā)地,也可以是到達(dá)地;。
可選地,目標(biāo)線路可以是以出發(fā)地作為起點(diǎn),以到達(dá)地作為終點(diǎn)的一條有向線路,還可以是以出發(fā)地作為起點(diǎn),以到達(dá)地作為終點(diǎn)的多條有向線路的組合。
可選地,目標(biāo)線路可以是以出發(fā)地作為起點(diǎn),以到達(dá)地作為終點(diǎn)的往返兩條有向線路;可以是以出發(fā)地作為起點(diǎn),以到達(dá)地作為終點(diǎn)的一條單程有向線路,以及由多條有向線路組成的反向返程有向線路;還可以是以出發(fā)地作為起點(diǎn),以到達(dá)地作為終點(diǎn)的由多條有向線路組成的單程有向線路,以及由多條有向線路組成的返程有向線路。
可選地,預(yù)計(jì)消耗時(shí)間可以是用戶的查詢條件所設(shè)置的需要消耗的時(shí)間;預(yù)計(jì)消耗成本可以是用戶的查詢條件所設(shè)置的需要消耗的成本。
可選地,目標(biāo)線路對(duì)應(yīng)的消耗時(shí)間可以是用戶按照目標(biāo)線路移動(dòng)所需消耗的時(shí)間,目標(biāo)線路對(duì)應(yīng)的消耗成本可以是用戶按照目標(biāo)線路移動(dòng)所需消耗的成本。
作為一個(gè)可選的示例,在預(yù)計(jì)消耗時(shí)間為2天的情況下,目標(biāo)線路對(duì)應(yīng)的消耗時(shí)間為0天、1天、以及2天為符合查詢條件的目標(biāo)線路;在預(yù)計(jì)消耗成本為2000元的情況下,目標(biāo)線路對(duì)應(yīng)的消耗成本在0-2000元的范圍內(nèi)為符合查詢條件的目標(biāo)線路。
在步驟s106提供的方案中,可以通過(guò)終端輸出查詢到的目標(biāo)線路,其中,終端可以是移動(dòng)終端,例如智能手機(jī)、平板電腦;終端還可以是電腦。
作為一種可選的實(shí)施例,在接收查詢條件之前,該實(shí)施例還可以包括:獲取第一線路對(duì)應(yīng)的消耗時(shí)間以及第一線路對(duì)應(yīng)的消耗成本,其中,第一線路為從第一地點(diǎn)到第二地點(diǎn)之間的線路,第一線路對(duì)應(yīng)的消耗時(shí)間為在第一地點(diǎn)消耗的時(shí)間與在第二地點(diǎn)消耗的時(shí)間的和,第一線路對(duì)應(yīng)的消耗成本為從第一地點(diǎn)到第二地點(diǎn)所需要消耗的成本;以及根據(jù)第一線路對(duì)應(yīng)的消耗時(shí)間以及第一線路對(duì)應(yīng)的消耗成本生成線路有向圖。
采用本發(fā)明上述實(shí)施例,第一線路為從第一地點(diǎn)到達(dá)第二地點(diǎn)的線路,第一線路對(duì)應(yīng)的消耗時(shí)間可以是在第一時(shí)間消耗的時(shí)間、在第二地點(diǎn)消耗的時(shí)間以及從而第一地點(diǎn)移動(dòng)到第二地點(diǎn)所消耗的時(shí)間之和;第一線路對(duì)應(yīng)的消耗成本可以是從第一地點(diǎn)移動(dòng)到第二地點(diǎn)所需消耗的成本,根據(jù)第一線路對(duì)應(yīng)的消耗時(shí)間和消耗成本可以生成從第一地點(diǎn)移動(dòng)到第二地點(diǎn)的線路有向圖,從而可以在線路有向圖中可以直觀地顯示從第一地點(diǎn)移動(dòng)到第二地點(diǎn)所需消耗的時(shí)間和成本。
作為一個(gè)可選的示例,假設(shè)第一線路為從北京到上海,則第一地點(diǎn)為北京,第二地點(diǎn)為上海,在從北京移動(dòng)到上海之前,需要在北京消耗1天;從北京移動(dòng)到上海,移動(dòng)過(guò)程中需要消耗1天;到上海后,還需要在上海消耗1天,則第一線路對(duì)應(yīng)的消耗時(shí)間為1+1+1=3天。第一線路從北京移動(dòng)到上海,在移動(dòng)過(guò)程中乘坐交通工具所需消耗為費(fèi)用為500元,則第一線路對(duì)應(yīng)的消耗成本為500元。
作為一個(gè)可選的示例,用戶設(shè)置出發(fā)時(shí)間為2017年5月12日,處于到達(dá)地的到達(dá)時(shí)間為2017年5月13日,則所需消耗時(shí)間為2天;用戶設(shè)置出發(fā)時(shí)間為2017年5月12日,返回出發(fā)地的返回時(shí)間為2017年5月15日,則所述消耗時(shí)間為4天。
作為一種可選的實(shí)施例,根據(jù)第一線路對(duì)應(yīng)的消耗時(shí)間以及第一線路對(duì)應(yīng)的消耗成本生成線路有向圖可以包括:將第一線路對(duì)應(yīng)的消耗時(shí)間標(biāo)記為線路有向圖中的第一線路的第一權(quán)重;以及將第一線路對(duì)應(yīng)的消耗成本標(biāo)記為線路有向圖中的第一線路的第二權(quán)重。
采用本發(fā)明上述實(shí)施例,第一線路對(duì)應(yīng)的消耗時(shí)間以及第一線路對(duì)應(yīng)的消耗成本線路有向圖包括,將第一線路對(duì)應(yīng)的消耗時(shí)間標(biāo)記為線路有向圖中的第一線路的第一權(quán)重;將第一線路對(duì)應(yīng)的消耗成本標(biāo)記為線路有向圖中的第一線路的第二權(quán)重,從而通過(guò)對(duì)第一線路消耗時(shí)間對(duì)應(yīng)的第一權(quán)重和第一線路消耗成本對(duì)應(yīng)的第二權(quán)重,可以在第一線路對(duì)應(yīng)的線路有向圖,便于根據(jù)第一權(quán)重和第二權(quán)重合理安排目標(biāo)線路。
作為一種可選的實(shí)施例,查詢條件還可以包括:到達(dá)地;單程或往返,其中,查詢條件為以下任意一種組合中的其中一種組合:出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程;出發(fā)地、到達(dá)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程;出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、往返;出發(fā)地、到達(dá)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、往返。
采用本發(fā)明上述實(shí)施例,通過(guò)出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程;出發(fā)地、到達(dá)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程;出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、往返;出發(fā)地、到達(dá)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、往返,幾種查詢條件的組合,可以滿足用戶的多種需求來(lái)查詢目標(biāo)線路,便于生成符合用戶需求的目標(biāo)線路。
作為一種可選的實(shí)施例,在查詢條件為由出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程所組成的組合的情況下,其中,根據(jù)預(yù)定的線路有向圖查詢滿足查詢條件的目標(biāo)線路可以包括:從多個(gè)可選到達(dá)地中確定至少一個(gè)目標(biāo)到達(dá)地,得到至少一個(gè)可選線路;從至少一個(gè)可選線路中查詢滿足查詢條件的第一目標(biāo)線路,其中,第一目標(biāo)線路對(duì)應(yīng)的消耗時(shí)間小于等于預(yù)計(jì)消耗時(shí)間,第一目標(biāo)線路對(duì)應(yīng)的消耗成本小于等于預(yù)計(jì)消耗成本。
采用本發(fā)明上述實(shí)施例,在將出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程所組成的組合作為查詢條件的情況下,可以從多個(gè)可選的到達(dá)地中選擇一個(gè)目標(biāo)到達(dá)地,得到起點(diǎn)為出發(fā)地,終點(diǎn)為目標(biāo)到達(dá)地的多條可選線路,并在多條可選線路中查詢消耗時(shí)間小于等于預(yù)計(jì)消耗時(shí)間,消耗成本小于等于預(yù)計(jì)消耗成本的第一目標(biāo)線路,從而生成符合出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程的組合這個(gè)查詢條件的第一目標(biāo)線路。
作為一個(gè)可選的示例,在查詢條件為“出發(fā)地為北京,預(yù)計(jì)消耗時(shí)間為2天,預(yù)計(jì)消耗成本為900元,單程”的情況下,先將出發(fā)地設(shè)置為北京,從多個(gè)到達(dá)地選擇目標(biāo)到達(dá)地為貴陽(yáng),可以生成多條線路,如下所示:
線路1:北京至銅仁,花費(fèi):520.0元,耗時(shí):1天;銅仁->貴陽(yáng),花費(fèi):141.0元,耗時(shí):1天;貴陽(yáng)->南寧,花費(fèi):280.0元,耗時(shí):1天;總消費(fèi):941.0元,總耗時(shí):3天。
線路2:北京->南寧,花費(fèi):900.0元,耗時(shí):1天;總消費(fèi):900.0元,總耗時(shí):1天。
線路3:北京->桂林,花費(fèi):790.0元,耗時(shí):1天;桂林->南寧,花費(fèi):170.0元,耗時(shí):1天;總消費(fèi):960.0元,總耗時(shí):2天。
線路4:北京->貴陽(yáng),花費(fèi):515.0元,耗時(shí):1天;貴陽(yáng)->南寧,花費(fèi):280.0元,耗時(shí):1天;總消費(fèi):795.0元,總耗時(shí):2天。
再根據(jù)預(yù)計(jì)消耗時(shí)間為2天,預(yù)計(jì)消耗成本為900元的情況,將對(duì)上述4條線路進(jìn)行篩選,得出線路4符合查詢條件,從而將線路4作為目標(biāo)線路。
作為一種可選的實(shí)施例,在查詢條件為由出發(fā)地、到達(dá)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程所組成的組合的情況下,其中,根據(jù)預(yù)定的線路有向圖查詢滿足查詢條件的目標(biāo)線路可以包括:確定從出發(fā)地到到達(dá)地之間的至少一個(gè)可選線路;從至少一個(gè)可選線路中查詢滿足查詢條件的第二目標(biāo)線路,其中,第二目標(biāo)線路對(duì)應(yīng)的消耗時(shí)間小于等于預(yù)計(jì)消耗時(shí)間,第二目標(biāo)線路對(duì)應(yīng)的消耗成本小于等于預(yù)計(jì)消耗成本。
采用本發(fā)明上述實(shí)施例,在將出發(fā)地、到達(dá)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程所組成的組合作為查詢條件的情況下,可以得到起點(diǎn)為出發(fā)地,終點(diǎn)為到達(dá)地的多條可選線路,并在多條可選線路中查詢消耗時(shí)間小于等于預(yù)計(jì)消耗時(shí)間,消耗成本小于等于預(yù)計(jì)消耗成本的第二目標(biāo)線路,從而生成符合出發(fā)地、到達(dá)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程的組合這個(gè)查詢條件的第二目標(biāo)線路。
作為一個(gè)可選的示例,在查詢條件為“出發(fā)地為北京,到達(dá)地為程度,預(yù)計(jì)消耗時(shí)間為3天,預(yù)計(jì)消耗成本為900元,單程”的情況下,先將出發(fā)地設(shè)置為北京,到達(dá)地設(shè)置為成都,可以生成多條線路,如下所示:
線路1:北京->襄陽(yáng)(中國(guó)),花費(fèi):370.0元,耗時(shí):1天;襄陽(yáng)(中國(guó))->成都,花費(fèi):378.0元,耗時(shí):2天;總消費(fèi):748.0元,總耗時(shí):3天。
線路2:北京->貴陽(yáng),花費(fèi):515.0元,耗時(shí):1天;貴陽(yáng)->成都,花費(fèi):372.0元,耗時(shí):2天;總消費(fèi):887.0元,總耗時(shí):3天。
線路3:北京->南昌,花費(fèi):335.0元,耗時(shí):1天;南昌->成都,花費(fèi):570.0元,耗時(shí):2天;總消費(fèi):905.0元,總耗時(shí):3天。
線路4:北京->大連,花費(fèi):160.0元,耗時(shí):1天;大連->天津,花費(fèi):129.0元,耗時(shí):1天;天津->成都,花費(fèi):583.0元,耗時(shí):2天;總消費(fèi):872.0元,總耗時(shí):4天。
再根據(jù)預(yù)計(jì)消耗時(shí)間為3天,預(yù)計(jì)消耗成本為900元的情況,將對(duì)上述4條線路進(jìn)行篩選,得出線路1和線路2符合查詢條件,從而將線路1和線路2作為目標(biāo)線路。
作為一種可選的實(shí)施例,在查詢條件為由出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、往返所組成的組合的情況下,其中,根據(jù)預(yù)定的線路有向圖查詢滿足查詢條件的目標(biāo)線路可以包括:從多個(gè)可選到達(dá)地中確定至少一個(gè)目標(biāo)到達(dá)地,得到至少一個(gè)可選線路;從至少一個(gè)可選線路中查詢滿足查詢條件的第三目標(biāo)線路,其中,第三目標(biāo)線路包括去程線路和返程線路,去程線路對(duì)應(yīng)的消耗時(shí)間與返程線路對(duì)應(yīng)的消耗時(shí)間的和小于等于預(yù)計(jì)消耗時(shí)間,去程線路對(duì)應(yīng)的消耗成本與返程線路對(duì)應(yīng)的消耗成本的和小于等于預(yù)計(jì)消耗成本。
采用本發(fā)明上述實(shí)施例,在將出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、往返所組成的組合作為查詢條件的情況下,可以從多個(gè)可選的到達(dá)地中選擇一個(gè)目標(biāo)到達(dá)地,得到起點(diǎn)為出發(fā)地,終點(diǎn)為目標(biāo)到達(dá)地的多條往返的可選線路,并在多條可選線路中查詢?nèi)コ叹€路消耗時(shí)間與返程路線消耗時(shí)間之和小于等于預(yù)計(jì)消耗時(shí)間,去程線路消耗成本與返程線路消耗成本之和小于等于預(yù)計(jì)消耗成本的第三目標(biāo)線路,從而生成符合出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程的組合這個(gè)查詢條件的第三目標(biāo)線路。
作為一個(gè)可選的示例,在查詢條件為“出發(fā)地為北京,預(yù)計(jì)消耗時(shí)間為2天,預(yù)計(jì)消耗成本為1900元,往返”的情況下,先將出發(fā)地設(shè)置為北京,從多個(gè)到達(dá)地選擇目標(biāo)到達(dá)地為南寧,可以生成多條線路,如下所示:
線路1:北京->南寧,花費(fèi):900.0元,耗時(shí):1天;總消費(fèi):900.0元,總耗時(shí):1天。返程:南寧->湛江,花費(fèi):300.0元,耗時(shí):1天;湛江->北京,花費(fèi):693.0元,耗時(shí):0天;總消費(fèi):993.0元,總耗時(shí):1天;往返的總消費(fèi)為1893.0元,往返的總耗時(shí)為2天。
線路2:北京->桂林,花費(fèi):790.0元,耗時(shí):1天;桂林->南寧,花費(fèi):170.0元,耗時(shí):1天;總消費(fèi):960.0,總耗時(shí):2天。返程:南寧->湛江,花費(fèi):300.0元,耗時(shí):1天;湛江->北京,花費(fèi):693.0元,耗時(shí):0天;總消費(fèi):993.0元,總耗時(shí):1天;往返的總消費(fèi)為1953.0元,往返的總耗時(shí)為3天。
線路3:北京->貴陽(yáng),花費(fèi):515.0元,耗時(shí):1天;貴陽(yáng)->南寧,花費(fèi):280.0元,耗時(shí):1天;總消費(fèi):795.0元,總耗時(shí):2天。返程:南寧->湛江,花費(fèi):300.0元,耗時(shí):1天;湛江->北京,花費(fèi):693.0元,耗時(shí):0天;總消費(fèi):993.0元,總耗時(shí):1天;往返的總消費(fèi)為1752.0元,往返的總耗時(shí)為3天。
再根據(jù)預(yù)計(jì)消耗時(shí)間為2天,預(yù)計(jì)消耗成本為1900元的情況,將對(duì)上述3條線路進(jìn)行篩選,得出線路1符合查詢條件,從而將線路1作為目標(biāo)線路。
作為一種可選的實(shí)施例,在查詢條件為由出發(fā)地、到達(dá)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、往返所組成的組合的情況下,其中,根據(jù)預(yù)定的線路有向圖查詢滿足查詢條件的目標(biāo)線路可以包括:確定從出發(fā)地到到達(dá)地之間的至少一個(gè)可選線路;從至少一個(gè)可選線路中查詢滿足查詢條件的第四目標(biāo)線路,其中,第四目標(biāo)線路包括去程線路和返程線路,去程線路對(duì)應(yīng)的消耗時(shí)間與返程線路對(duì)應(yīng)的消耗時(shí)間的和小于等于預(yù)計(jì)消耗時(shí)間,去程線路對(duì)應(yīng)的消耗成本與返程線路對(duì)應(yīng)的消耗成本的和小于等于預(yù)計(jì)消耗成本。
采用本發(fā)明上述實(shí)施例,在將出發(fā)地、到達(dá)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、往返所組成的組合作為查詢條件的情況下,可以起點(diǎn)為出發(fā)地,重點(diǎn)為到達(dá)地的多條往返的可選線路,并在多條可選線路中查詢?nèi)コ叹€路消耗時(shí)間與返程路線消耗時(shí)間之和小于等于預(yù)計(jì)消耗時(shí)間,去程線路消耗成本與返程線路消耗成本之和小于等于預(yù)計(jì)消耗成本的第四目標(biāo)線路,從而生成符合出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程的組合這個(gè)查詢條件的第四目標(biāo)線路。
作為一個(gè)可選的示例,在查詢條件為“出發(fā)地為北京,到達(dá)地為成都預(yù)計(jì)消耗時(shí)間為5天,預(yù)計(jì)消耗成本為1500元,往返”的情況下,先將出發(fā)地設(shè)置為北京,到達(dá)地設(shè)置為成都,可以生成目標(biāo)線路,如下所示:
線路1:北京->成都,花費(fèi):508.0元,耗時(shí):2天;總消費(fèi):508.0元,總耗時(shí):2天。返程:成都->洛陽(yáng),花費(fèi):601.0元,耗時(shí):1天;洛陽(yáng)->北京,花費(fèi):370.0,耗時(shí):0天;總消費(fèi):971.0元,總耗時(shí):1天;往返的總消費(fèi)為:1479.0元,往返的總耗時(shí)為3天。
線路2:北京->成都,花費(fèi):921.0元,耗時(shí):0天;總消費(fèi):921.0元,總耗時(shí):0天。返程:成都->鞍山,花費(fèi):482.0元,耗時(shí):1天;鞍山->北京,花費(fèi):480.0元,耗時(shí):0天;總消費(fèi):962.0元,總耗時(shí):1天;北京->成都,花費(fèi):921.0元,耗時(shí):0天;總消費(fèi):921.0元,總耗時(shí):0天;往返的總消費(fèi)為:1883.0元,往返的總耗時(shí)為1天。
再根據(jù)預(yù)計(jì)消耗時(shí)間為5天,預(yù)計(jì)消耗成本為1500元的情況,將對(duì)上述2條線路進(jìn)行篩選,得出線路1符合查詢條件,從而將線路1作為目標(biāo)線路。
作為一種可選的實(shí)施例,查詢到的目標(biāo)線路包括多條線路,其中,輸出查詢到的目標(biāo)線路可以包括:將多條線路按照線路對(duì)應(yīng)的消耗時(shí)間和/或線路對(duì)應(yīng)的消耗成本進(jìn)行排序;輸出排序后的多條線路。
采用本發(fā)明上述實(shí)施例,查詢的目標(biāo)線路可以是多條,查詢到的多條目標(biāo)線路,可以按照每條線路對(duì)應(yīng)的消耗時(shí)間進(jìn)行排序;可以按照每條線路對(duì)應(yīng)的消耗成本進(jìn)行排序;還可以按照每條線路對(duì)應(yīng)的消耗時(shí)間和消耗成本進(jìn)行排序,再輸出排序后的多條目標(biāo)線路供用戶選擇,從而便于用戶根據(jù)消耗時(shí)間、以及消耗成本,選擇符合用戶需求的目標(biāo)線路。
可選地,用戶可以選擇消耗時(shí)間,按照消耗時(shí)間由多到少的順序,對(duì)多條目標(biāo)線路進(jìn)行排序;還可以按照消耗時(shí)間由少到多的順序,對(duì)多條目標(biāo)線路進(jìn)行排序。
可選地,用戶可以選擇消耗成本,按照消耗成本由多到少的順序,對(duì)多條目標(biāo)線路進(jìn)行排序;還可以按照消耗成本由少到多的順序,對(duì)多條目標(biāo)線路進(jìn)行排序。
可選地,用戶可以選擇消耗時(shí)間,按照消耗時(shí)間由多到少的順序,對(duì)多條目標(biāo)線路進(jìn)行排序;還可以按照消耗時(shí)間由少到多的順序,對(duì)多條目標(biāo)線路進(jìn)行排序。
可選地,用戶可以選擇消耗時(shí)間、以及消耗成本,根據(jù)消耗時(shí)間對(duì)應(yīng)的第一權(quán)重以及消耗成本對(duì)應(yīng)的第二權(quán)重對(duì)多條目標(biāo)線路進(jìn)行綜合評(píng)分,按照綜合評(píng)分由多到少的順序,對(duì)多條目標(biāo)線路進(jìn)行排序;還可以按照綜合評(píng)分由少到多的順序,對(duì)多條目標(biāo)線路進(jìn)行排序。
本發(fā)明還提供了一種優(yōu)選實(shí)施例,該優(yōu)選實(shí)施例提供了一種基于用戶時(shí)間、金錢(qián)預(yù)算的航線規(guī)劃方法,該方法的具體實(shí)現(xiàn)方式如下:
首先,可以根據(jù)已有的航線數(shù)據(jù),結(jié)合票價(jià)和日期,構(gòu)造帶雙權(quán)重的有向圖,其中,權(quán)重為票價(jià)、消耗天數(shù)。消耗天數(shù)可以根據(jù)當(dāng)?shù)芈糜螣狳c(diǎn)的數(shù)據(jù)推倒得出,旅游熱點(diǎn)越多,消耗天數(shù)也就越多,例如,假設(shè)北京的旅游熱點(diǎn)為30,則在北京需要消耗3天;例如,假設(shè)天津的旅游熱點(diǎn)為20,則在天津需要消耗2天。
其次,根據(jù)用戶的輸入條件,使用深度優(yōu)先算法,計(jì)算出符合條件的航線組合。
然后,根據(jù)計(jì)算出的符合條件的航線組合的結(jié)果,實(shí)時(shí)請(qǐng)求航班數(shù)據(jù),把當(dāng)前可用的報(bào)價(jià)組合,返給用戶。
作為一個(gè)可選的示例,基于用戶時(shí)間、金錢(qián)預(yù)算的航線規(guī)劃方法可以通過(guò)如下步驟實(shí)現(xiàn):
步驟s1:生成初始的航線,票價(jià)數(shù)據(jù)。
例如:北京首都機(jī)場(chǎng)(pek)至武漢機(jī)場(chǎng)(wuh)的票價(jià)為543元;上海機(jī)場(chǎng)(sha)至北京南苑機(jī)場(chǎng)(nay)的票價(jià)為588元;北京南苑機(jī)場(chǎng)(nay)至呼和浩特機(jī)場(chǎng)(het)的票價(jià)為370元;呼和浩特機(jī)場(chǎng)(het)至佛山機(jī)場(chǎng)(fuo)的票價(jià)為1139元;深圳機(jī)場(chǎng)(szx)至日照(riz)的票價(jià)為786元。
步驟s2:配置熱門(mén)城市的旅游消耗天數(shù)。
例如:pek,3;wuh,2;nkg,2;ctu,2;tsn,1。
其中,pek表示北京,是北京首都機(jī)場(chǎng)的三字碼,3表示天數(shù),表示北京旅游需消耗3天;wuh表示武漢,是武漢機(jī)場(chǎng)的三字碼,2表示天數(shù),表示武漢旅游需消耗2天;nkg表示南京,是南京機(jī)場(chǎng)的三字碼,2表示天數(shù),表示南京旅游需要消耗2天;ctu表示成都,是成都機(jī)場(chǎng)的三字碼,2表示天數(shù),表示成都旅游需要消耗2天;tsn表示天津,是天津?yàn)I海機(jī)場(chǎng)的三字碼,1表示天數(shù),表示天津旅游需要消耗1天。
步驟s3:根據(jù)步驟s1和步驟s2得出的數(shù)據(jù),構(gòu)造帶雙權(quán)重的有向圖。
步驟s4:解析用戶輸入用于便是應(yīng)用場(chǎng)景的數(shù)據(jù),其中,用戶輸入的數(shù)據(jù)包括:出發(fā)地、到達(dá)地(可選)、出發(fā)日期、結(jié)束日期、預(yù)算、是否為往返(默認(rèn)單程)。
根據(jù)輸入的數(shù)據(jù),可以確定以下場(chǎng)景:
場(chǎng)景一、沒(méi)有“到達(dá)地”的“單程”場(chǎng)景。
根據(jù)步驟s3生成的帶權(quán)重的有向圖,目的地設(shè)為一組熱門(mén)旅游景點(diǎn),使用深度優(yōu)先算法,遍歷圖給出所有滿足用戶條件的航線組合。
場(chǎng)景二、有“到達(dá)地”的“單程”場(chǎng)景。
根據(jù)步驟s3生成的帶權(quán)重的有向圖,使用深度優(yōu)先算法,遍歷圖給出所有滿足用戶條件的航線組合。
場(chǎng)景三、有“到達(dá)地”的“往返”場(chǎng)景。
根據(jù)步驟s3生成的帶權(quán)重的有向圖,去程的條件改為用戶輸入條件除2,其中,回程的成本預(yù)算條件改為用戶輸入條件除2;時(shí)間條件改為用戶輸入條件除2再加上起飛地點(diǎn)的旅游消耗天數(shù)。然后,使用深度優(yōu)先算法,遍歷圖給出所有滿足用戶條件的航線組合。
場(chǎng)景四、無(wú)“到達(dá)地”的“往返”場(chǎng)景。
根據(jù)步驟s3生成的帶權(quán)重的有向圖,目的地設(shè)為一組熱門(mén)旅游景點(diǎn),去程的條件改為用戶輸入條件除2,其中,回程的成本預(yù)算條件改為用戶輸入條件除2;時(shí)間條件改為用戶輸入條件除2再加上起飛地的旅游消耗天數(shù)。然后,使用深度優(yōu)先算法,遍歷圖給出所有滿足用戶條件的航線組合。
步驟s4:根據(jù)步驟4給出的多個(gè)航線組合分別匹配實(shí)時(shí)數(shù)據(jù),把機(jī)場(chǎng)三字碼轉(zhuǎn)換為城市碼,給出用戶最終的結(jié)果。
在上述實(shí)施例中,構(gòu)造圖,可以是由一組頂點(diǎn)和一組連接兩個(gè)頂點(diǎn)的邊組成的數(shù)據(jù)結(jié)構(gòu);有向圖,可以是兩個(gè)頂點(diǎn)之間的邊,是有方向的,例如只能從a到b;權(quán)重,可以通過(guò)邊的損耗,可以是時(shí)間,金錢(qián),路程等。
以下為算法給出的一組結(jié)果示例:
一、在無(wú)“到達(dá)地”的“單程”場(chǎng)景下。
出發(fā)地:北京,單程,起飛日期:2017-03-14,結(jié)束日期:2017-03-19,天數(shù):5天,預(yù)算:1000元,推薦航路如下:
推薦航路1:北京->銅仁,花費(fèi):520.0元,耗時(shí):1天;銅仁->貴陽(yáng),花費(fèi):141.0元,耗時(shí):1天;貴陽(yáng)->南寧,花費(fèi):280.0元,耗時(shí):1天;總消費(fèi):941.0元,總耗時(shí):3天。
推薦航路2:北京->南寧,花費(fèi):900.0元,耗時(shí):1天;總消費(fèi):900.0元,總耗時(shí):1天。
推薦航路3:北京->桂林,花費(fèi):790.0元,耗時(shí):1天;桂林->南寧,花費(fèi):170.0元,耗時(shí):1天;總消費(fèi):960.0元,總耗時(shí):2天。
推薦航路4:北京->貴陽(yáng),花費(fèi):515.0元,耗時(shí):1天;貴陽(yáng)->南寧,花費(fèi):280.0元,耗時(shí):1天;總消費(fèi):795.0元,總耗時(shí):2天。
推薦航路5:北京->南昌,花費(fèi):335.0元,耗時(shí):1天;南昌->廣州,花費(fèi):350.0元,耗時(shí):1天;廣州->南寧,花費(fèi):270.0元,耗時(shí):1天;總消費(fèi):955.0元,總耗時(shí):3天。
二、在有“到達(dá)地”的“單程”場(chǎng)景下。
出發(fā)地:北京,到達(dá)地:成都,單程,起飛日期:2017-03-14,結(jié)束日期:2017-03-19,天數(shù):5天,預(yù)算:1000元,推薦航路如下:
推薦航路1:北京->襄陽(yáng)(中國(guó)),花費(fèi):370.0元,耗時(shí):1天;襄陽(yáng)(中國(guó))->成都,花費(fèi):378.0元,耗時(shí):2天;總消費(fèi):748.0元,總耗時(shí):3天。
推薦航路2:北京->貴陽(yáng),花費(fèi):515.0元,耗時(shí):1天;貴陽(yáng)->成都,花費(fèi):372.0元,耗時(shí):2天;總消費(fèi):887.0元,總耗時(shí):3天。
推薦航路3:北京->南昌,花費(fèi):335.0元,耗時(shí):1天;南昌->成都,花費(fèi):570.0元,耗時(shí):2天;總消費(fèi):905.0元,總耗時(shí):3天。
推薦航路4:北京->大連,花費(fèi):160.0元,耗時(shí):1天;大連->天津,花費(fèi):129.0元,耗時(shí):1天;天津->成都,花費(fèi):583.0元,耗時(shí):2天;總消費(fèi):872.0元,總耗時(shí):4天。
推薦航路5:北京->成都,花費(fèi):508.0元,耗時(shí):2天;總消費(fèi):508.0元,總耗時(shí):2天。
三、在無(wú)“到達(dá)地”的“往返”場(chǎng)景下。
出發(fā)地:北京,往返,起飛日期:2017-03-14,結(jié)束日期:2017-03-19,天數(shù):5天,預(yù)算:2000元,推薦航路如下:
推薦航路1:北京->南寧,花費(fèi):900.0元,耗時(shí):1天;總消費(fèi):900.0元,總耗時(shí):1天。返程:南寧->湛江,花費(fèi):300.0元,耗時(shí):1天;湛江->北京,花費(fèi):693.0元,耗時(shí):0天;總消費(fèi):993.0元,總耗時(shí):1天;往返的總消費(fèi)為1893.0元,往返的總耗時(shí)為2天。
推薦航路2:北京->桂林,花費(fèi):790.0元,耗時(shí):1天;桂林->南寧,花費(fèi):170.0元,耗時(shí):1天;總消費(fèi):960.0,總耗時(shí):2天。返程:南寧->湛江,花費(fèi):300.0元,耗時(shí):1天;湛江->北京,花費(fèi):693.0元,耗時(shí):0天;總消費(fèi):993.0元,總耗時(shí):1天;往返的總消費(fèi)為1953.0元,往返的總耗時(shí)為3天。
推薦航路3:北京->貴陽(yáng),花費(fèi):515.0元,耗時(shí):1天;貴陽(yáng)->南寧,花費(fèi):280.0元,耗時(shí):1天;總消費(fèi):795.0元,總耗時(shí):2天。返程:南寧->湛江,花費(fèi):300.0元,耗時(shí):1天;湛江->北京,花費(fèi):693.0元,耗時(shí):0天;總消費(fèi):993.0元,總耗時(shí):1天;往返的總消費(fèi)為1752.0元,往返的總耗時(shí)為3天。
四、在有“到達(dá)地”的“往返”場(chǎng)景下。
出發(fā)地:北京,到達(dá)地:成都,往返,起飛日期:2017-03-14,結(jié)束日期:2017-03-19,天數(shù):5天,預(yù)算:2000元,推薦航路如下:
推薦航路1:北京->成都,花費(fèi):508.0元,耗時(shí):2天;總消費(fèi):508.0元,總耗時(shí):2天。返程:成都->洛陽(yáng),花費(fèi):601.0元,耗時(shí):1天;洛陽(yáng)->北京,花費(fèi):370.0,耗時(shí):0天;總消費(fèi):971.0元,總耗時(shí):1天;往返的總消費(fèi)為:1479.0元,往返的總耗時(shí)為3天。
推薦航路2:北京->成都,花費(fèi):921.0元,耗時(shí):0天;總消費(fèi):921.0元,總耗時(shí):0天。返程:成都->鞍山,花費(fèi):482.0元,耗時(shí):1天;鞍山->北京,花費(fèi):480.0元,耗時(shí):0天;總消費(fèi):962.0元,總耗時(shí):1天;北京->成都,花費(fèi):921.0元,耗時(shí):0天;總消費(fèi):921.0元,總耗時(shí):0天;往返的總消費(fèi)為:1883.0元,往返的總耗時(shí)為1天。
采用本發(fā)明上述實(shí)施例,構(gòu)造圖的原始數(shù)據(jù),可以是基于用戶喜好,熱門(mén)攻略,實(shí)時(shí)票價(jià)等多維度給出,從而達(dá)到給出的推薦組合,使推薦的組合具有吸引力,提高預(yù)定轉(zhuǎn)化率。
采用本發(fā)明上述實(shí)施例,用戶只需要確認(rèn)自己的出發(fā)地,時(shí)間、金錢(qián)預(yù)算,就可以獲得多個(gè)旅游方案推薦,節(jié)省了自己去做規(guī)劃的時(shí)間和精力。
采用本發(fā)明上述實(shí)施例,在滿足用戶預(yù)期的基礎(chǔ)下,盡可能包含多段航線,從而最大化商家的收益,也便于用戶選擇,增強(qiáng)用戶體驗(yàn)。
采用本發(fā)明上述實(shí)施例,可以提前預(yù)知用戶的行程,使用戶可以做更有針對(duì)性的推薦。
為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,本發(fā)明實(shí)施例還提供了一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)包括存儲(chǔ)的程序,其中,在所述程序運(yùn)行時(shí)控制所述存儲(chǔ)介質(zhì)所在設(shè)備執(zhí)行上述所述的線路查詢方法。
為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,本發(fā)明實(shí)施例還提供了一種處理器,所述處理器用于運(yùn)行程序,其中,所述程序運(yùn)行時(shí)執(zhí)行上述所述的線路查詢方法。
根據(jù)本發(fā)明實(shí)施例,還提供了一種線路查詢的裝置實(shí)施例,需要說(shuō)明的是,該線路查詢裝置可以用于執(zhí)行本發(fā)明實(shí)施例中的線路查詢方法,本發(fā)明實(shí)施例中的線路查詢方法可以在該線路查詢裝置中執(zhí)行。
圖2是根據(jù)本發(fā)明實(shí)施例的一種可選的線路查詢裝置的示意圖,如圖2所示,該裝置可以包括:接收單元21,用于接收查詢條件,其中,查詢條件包括:出發(fā)地、預(yù)計(jì)消耗時(shí)間以及預(yù)計(jì)消耗成本,預(yù)計(jì)消耗時(shí)間為從出發(fā)地的出發(fā)時(shí)間至預(yù)定的結(jié)束時(shí)間之間的時(shí)間;查詢單元23,用于根據(jù)預(yù)定的線路有向圖查詢滿足查詢條件的目標(biāo)線路,其中,線路有向圖用于指示從第一地點(diǎn)到第二地點(diǎn)所需要消耗的時(shí)間以及所需要消耗的成本,出發(fā)地包括第一地點(diǎn),目標(biāo)線路對(duì)應(yīng)的消耗時(shí)間小于等于預(yù)計(jì)消耗時(shí)間,目標(biāo)線路對(duì)應(yīng)的消耗成本小于等于預(yù)計(jì)消耗成本;以及輸出單元25,用于輸出查詢到的目標(biāo)線路。
需要說(shuō)明的是,該實(shí)施例中的接收單元21可以用于執(zhí)行本申請(qǐng)實(shí)施例中的步驟s102,該實(shí)施例中的查詢單元23可以用于執(zhí)行本申請(qǐng)實(shí)施例中的步驟s104,該實(shí)施例中的輸出單元25可以用于執(zhí)行本申請(qǐng)實(shí)施例中的步驟s106。上述模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例所公開(kāi)的內(nèi)容。
根據(jù)本發(fā)明上述實(shí)施例,接收出發(fā)地、預(yù)計(jì)消耗時(shí)間以及預(yù)計(jì)消耗成本作為查詢條件,并根據(jù)預(yù)定的用于指示從出發(fā)地點(diǎn)到目標(biāo)地點(diǎn)所需要消耗的時(shí)間以及所需要消耗的成本的線路有向圖,查詢滿足查詢條件的目標(biāo)線路,并輸出該目標(biāo)線路,解決了現(xiàn)有技術(shù)中無(wú)法在僅有時(shí)間預(yù)算和成本預(yù)算的情況下查詢目標(biāo)線路的技術(shù)問(wèn)題。
作為一種可選的實(shí)施例,該實(shí)施例還可以包括:獲取單元,用于在接收查詢條件之前,獲取第一線路對(duì)應(yīng)的消耗時(shí)間以及第一線路對(duì)應(yīng)的消耗成本,其中,第一線路為從第一地點(diǎn)到第二地點(diǎn)之間的線路,第一線路對(duì)應(yīng)的消耗時(shí)間為在第一地點(diǎn)消耗的時(shí)間與在第二地點(diǎn)消耗的時(shí)間的和,第一線路對(duì)應(yīng)的消耗成本為從第一地點(diǎn)到第二地點(diǎn)所需要消耗的成本;以及生成單元,用于根據(jù)第一線路對(duì)應(yīng)的消耗時(shí)間以及第一線路對(duì)應(yīng)的消耗成本生成線路有向圖。
作為一種可選的實(shí)施例,生成單元包括:第一標(biāo)記模塊,用于將第一線路對(duì)應(yīng)的消耗時(shí)間標(biāo)記為線路有向圖中的第一線路的第一權(quán)重;以及第二標(biāo)記模塊,用于將第一線路對(duì)應(yīng)的消耗成本標(biāo)記為線路有向圖中的第一線路的第二權(quán)重。
作為一種可選的實(shí)施例,接收單元中的查詢條件還可以包括:到達(dá)地;單程或往返,其中,查詢條件為以下任意一種組合中的其中一種組合:出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程;出發(fā)地、到達(dá)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程;出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、往返;出發(fā)地、到達(dá)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、往返。
作為一種可選的實(shí)施例,查詢單元可以包括:第一確定模塊,用于在查詢條件為由出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程所組成的組合的情況下,從多個(gè)可選到達(dá)地中確定至少一個(gè)目標(biāo)到達(dá)地,得到至少一個(gè)可選線路;第一查詢模塊,用于從至少一個(gè)可選線路中查詢滿足查詢條件的第一目標(biāo)線路,其中,第一目標(biāo)線路對(duì)應(yīng)的消耗時(shí)間小于等于預(yù)計(jì)消耗時(shí)間,第一目標(biāo)線路對(duì)應(yīng)的消耗成本小于等于預(yù)計(jì)消耗成本。
作為一種可選的實(shí)施例,查詢單元可以包括:第二確定模塊,用于在查詢條件為由出發(fā)地、到達(dá)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、單程所組成的組合的情況下,確定從出發(fā)地到到達(dá)地之間的至少一個(gè)可選線路;第二查詢模塊,用于從至少一個(gè)可選線路中查詢滿足查詢條件的第二目標(biāo)線路,其中,第二目標(biāo)線路對(duì)應(yīng)的消耗時(shí)間小于等于預(yù)計(jì)消耗時(shí)間,第二目標(biāo)線路對(duì)應(yīng)的消耗成本小于等于預(yù)計(jì)消耗成本。
作為一種可選的實(shí)施例,查詢單元可以包括:第三確定模塊,用于在查詢條件為由出發(fā)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、往返所組成的組合的情況下,從多個(gè)可選到達(dá)地中確定至少一個(gè)目標(biāo)到達(dá)地,得到至少一個(gè)可選線路;第三查詢模塊,用于從至少一個(gè)可選線路中查詢滿足查詢條件的第三目標(biāo)線路,其中,第三目標(biāo)線路包括去程線路和返程線路,去程線路對(duì)應(yīng)的消耗時(shí)間與返程線路對(duì)應(yīng)的消耗時(shí)間的和小于等于預(yù)計(jì)消耗時(shí)間,去程線路對(duì)應(yīng)的消耗成本與返程線路對(duì)應(yīng)的消耗成本的和小于等于預(yù)計(jì)消耗成本。
作為一種可選的實(shí)施例,查詢單元可以包括:第四確定模塊,用于在查詢條件為由出發(fā)地、到達(dá)地、預(yù)計(jì)消耗時(shí)間、預(yù)計(jì)消耗成本、往返所組成的組合的情況下,確定從出發(fā)地到到達(dá)地之間的至少一個(gè)可選線路;第四查詢模塊,用于從至少一個(gè)可選線路中查詢滿足查詢條件的第四目標(biāo)線路,其中,第四目標(biāo)線路包括去程線路和返程線路,去程線路對(duì)應(yīng)的消耗時(shí)間與返程線路對(duì)應(yīng)的消耗時(shí)間的和小于等于預(yù)計(jì)消耗時(shí)間,去程線路對(duì)應(yīng)的消耗成本與返程線路對(duì)應(yīng)的消耗成本的和小于等于預(yù)計(jì)消耗成本。
作為一種可選的實(shí)施例,查詢到的目標(biāo)線路包括多條線路,輸出單元包括:排序模塊,用于將多條線路按照線路對(duì)應(yīng)的消耗時(shí)間和/或線路對(duì)應(yīng)的消耗成本進(jìn)行排序;輸出模塊,用于輸出排序后的多條線路。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過(guò)其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤(pán)、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、移動(dòng)硬盤(pán)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。