本發(fā)明一般而言涉及信息技術(shù)。更具體而言,本發(fā)明涉及用于重新計(jì)算預(yù)先計(jì)算的搜索結(jié)果的數(shù)據(jù)庫(kù)技術(shù)和機(jī)制。
背景技術(shù):
眾所周知,預(yù)先計(jì)算搜索結(jié)果并且響應(yīng)于搜索查詢而返回預(yù)先計(jì)算的搜索結(jié)果,而不是僅在查詢時(shí)才計(jì)算搜索結(jié)果。以這種方式,可以縮短響應(yīng)時(shí)間。必須使預(yù)先計(jì)算的搜索結(jié)果保持最新,以便確保返回有效的響應(yīng)。如果底層數(shù)據(jù)(作為預(yù)先計(jì)算搜索結(jié)果的基礎(chǔ))改變,那么預(yù)先計(jì)算的搜索結(jié)果會(huì)變得過(guò)時(shí),并且將返回不正確的結(jié)果。因此,采用了更新策略使預(yù)先計(jì)算的搜索結(jié)果保持最新。
現(xiàn)有技術(shù)中已知各種相對(duì)簡(jiǎn)單的更新策略。例如,wo01/33472涉及在旅行計(jì)劃系統(tǒng)中使用的可用性系統(tǒng)。該系統(tǒng)包括具有關(guān)于航班座位的可用性信息的條目的高速緩存。高速緩存管理器管理高速緩存中的條目信息,以便使高速緩存中的信息正確、即時(shí)、完整或以其它方式盡可能有用。響應(yīng)于針對(duì)高速緩存的查詢,高速緩存管理器確定存儲(chǔ)的答案是否陳舊,并且如果是這種情況,那么向可用性信息源發(fā)送可用性查詢。要修改的高速緩存條目通過(guò)來(lái)自外部系統(tǒng)的異步通知獲得,并由確定性的、預(yù)測(cè)性的或統(tǒng)計(jì)的模型確定。
類似地,wo02/25557涉及信息檢索系統(tǒng),其中從信息源接收到的信息被高速緩存用于將來(lái)使用,諸如用于將來(lái)的客戶端請(qǐng)求??梢陨芍鲃?dòng)查詢以填充高速緩存和/或更新當(dāng)前高速緩存的信息。在航空公司信息系統(tǒng)中,主動(dòng)查詢基于統(tǒng)計(jì)信息或預(yù)測(cè)指標(biāo)(諸如出發(fā)時(shí)間的接近程度、高速緩存數(shù)據(jù)的年齡、飛機(jī)中的剩余座位、假日或特殊事件或者設(shè)備類型)進(jìn)行排序。此外,通過(guò)來(lái)自航空公司的外部通知(諸如avs消息)接收更新。
此外,wo99/22315描述了通過(guò)使用基于統(tǒng)計(jì)的概率模型來(lái)自動(dòng)刷新高速緩存中的文檔的機(jī)制。對(duì)于每個(gè)文檔,高速緩存確定高速緩存對(duì)象i在特定時(shí)間t時(shí)陳舊(即,服務(wù)器已經(jīng)改變?cè)搶?duì)象)的概率psi(t),以及對(duì)象i由用戶在請(qǐng)求時(shí)間h前被請(qǐng)求的概率pri(h)。高速緩存用最高乘積pi=psi(t)xpri(h),即,過(guò)時(shí)對(duì)象被返回給下一個(gè)請(qǐng)求的用戶的概率,來(lái)刷新那些對(duì)象。為了維護(hù)這些概率值,高速緩存維護(hù)和跟蹤高速緩存對(duì)象的歷史統(tǒng)計(jì)信息,諸如服務(wù)器更新之間的估計(jì)均值間隔eui。對(duì)象的eui例如在對(duì)象本身由服務(wù)器更新時(shí)更新,或者對(duì)象在其估計(jì)均值刷新時(shí)間已過(guò)去之后不更新。
此外,wo2014/026753a1概述了概率模型的可能實(shí)現(xiàn)以近似預(yù)先計(jì)算的搜索結(jié)果的有效性概率。此外,提出了識(shí)別在概率模型中沒(méi)有表示的異步實(shí)時(shí)事件的機(jī)制,以及考慮這種實(shí)時(shí)事件對(duì)預(yù)先計(jì)算的搜索結(jié)果的有效性的潛在影響的機(jī)制。
類似的概率模型還由wo2013/160721a1描述,其另外提到了取決于價(jià)格比較的結(jié)果來(lái)適配預(yù)先計(jì)算的標(biāo)價(jià)旅行建議的波動(dòng)率模型的學(xué)習(xí)引擎。當(dāng)兩個(gè)完全相同的預(yù)先計(jì)算的標(biāo)價(jià)旅行建議具有不同的價(jià)格時(shí),差異作為統(tǒng)計(jì)信息被存儲(chǔ)。當(dāng)差異太頻繁發(fā)生時(shí),波動(dòng)率模型被更新,即,跨度日期范圍被標(biāo)記為較易變。因此,由于定期發(fā)生的事件(比如假日季節(jié))而導(dǎo)致的價(jià)格變動(dòng)影響得到緩解。如果兩個(gè)完全相同的預(yù)先計(jì)算的標(biāo)價(jià)旅行建議在比基于模型所預(yù)期的更長(zhǎng)時(shí)間段內(nèi)具有相同的價(jià)格,那么模型也被更新,即,跨度日期范圍被標(biāo)記為較不易變。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明由獨(dú)立權(quán)利要求來(lái)限定。
根據(jù)第一方面,提供了管理預(yù)先計(jì)算的搜索結(jié)果的方法。該方法在數(shù)據(jù)庫(kù)環(huán)境中執(zhí)行。數(shù)據(jù)庫(kù)環(huán)境包括至少一個(gè)搜索平臺(tái)、重新計(jì)算控制器和計(jì)算平臺(tái)。搜索平臺(tái)維護(hù)預(yù)先計(jì)算的搜索結(jié)果。預(yù)先計(jì)算的搜索結(jié)果被細(xì)分成多個(gè)相關(guān)的預(yù)先計(jì)算的搜索結(jié)果的份額,包括第一份額d。重新計(jì)算控制器基于與預(yù)先計(jì)算的搜索結(jié)果相關(guān)聯(lián)的有效性概率來(lái)控制預(yù)先計(jì)算的搜索結(jié)果的重新計(jì)算。計(jì)算平臺(tái)重新計(jì)算預(yù)先計(jì)算的搜索結(jié)果。重新計(jì)算控制器確定指示預(yù)先計(jì)算的搜索結(jié)果i隨著時(shí)間推移的有效性概率的變化率的有效性趨勢(shì)λi。預(yù)先計(jì)算的搜索結(jié)果i是第一份額d的成員。有效性趨勢(shì)λi是從i的至少三次過(guò)去的重新計(jì)算導(dǎo)出的。重新計(jì)算控制器進(jìn)一步確定預(yù)先計(jì)算的搜索結(jié)果i的瞬時(shí)有效率
根據(jù)另一方面,提供了配備有相應(yīng)功能的重新計(jì)算控制器。
根據(jù)還有的另一方面,提供了計(jì)算機(jī)程序,該計(jì)算機(jī)程序當(dāng)在計(jì)算機(jī)系統(tǒng)上運(yùn)行時(shí)執(zhí)行如上所述的方法。該計(jì)算機(jī)程序可以作為可執(zhí)行指令存儲(chǔ)在非瞬態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上。
還有的方面在從屬權(quán)利要求中闡述。
附圖說(shuō)明
將參考附圖描述本發(fā)明。相似的標(biāo)記通常指示完全相同或功能相似的元素。
圖1示意性地示出了數(shù)據(jù)庫(kù)環(huán)境的基本體系架構(gòu)。
圖2圖示隨著時(shí)間的推移降低預(yù)先計(jì)算的搜索結(jié)果的有效性概率的效果。
圖3呈現(xiàn)了由搜索平臺(tái)維護(hù)的預(yù)先計(jì)算的搜索結(jié)果的結(jié)構(gòu)的更詳細(xì)的視圖。
圖4a和4b可視化預(yù)先計(jì)算的搜索結(jié)果的若干連續(xù)重新計(jì)算之間的非等距時(shí)間間隔。
圖5a和5b可視化在多個(gè)相關(guān)的預(yù)先計(jì)算的搜索結(jié)果的兩次重新計(jì)算之間的非等距時(shí)間間隔。
圖6是在高級(jí)別描繪檢測(cè)對(duì)預(yù)先計(jì)算的搜索結(jié)果的有效性有害的事件的過(guò)程的流程圖。
圖7是描繪通過(guò)建立經(jīng)驗(yàn)分布函數(shù)來(lái)確定有效性趨勢(shì)和/或瞬時(shí)有效率的方法的流程圖。
圖8a和8b可視化通過(guò)使用跨越預(yù)先計(jì)算的搜索結(jié)果的重新計(jì)算的穩(wěn)定時(shí)段和在穩(wěn)定時(shí)段上滑動(dòng)的窗口來(lái)建立經(jīng)驗(yàn)分布函數(shù)。
圖9a和9b示出了結(jié)果得到的離散有效性概率值,并且通過(guò)回歸獲得有效性趨勢(shì)/瞬時(shí)有效率。
圖10示出了具有相關(guān)聯(lián)的有效性概率的預(yù)先計(jì)算的搜索結(jié)果的示例。
圖11可視化在檢測(cè)到有效性趨勢(shì)和另一個(gè)相關(guān)的預(yù)先計(jì)算的搜索結(jié)果的瞬時(shí)有效率之間的實(shí)質(zhì)差異之后,改變已建模的預(yù)先計(jì)算的搜索結(jié)果的有效性概率。
圖12繪出了重新計(jì)算控制器的示例性內(nèi)部結(jié)構(gòu)。
圖13是實(shí)現(xiàn)本文所述的配置的計(jì)算機(jī)/服務(wù)器的內(nèi)部體系架構(gòu)的示意性示意圖。
具體實(shí)施方式
在轉(zhuǎn)到參考圖7至圖13的詳細(xì)描述之前,將首先參考圖1至圖6闡述一些更一般的方面。
如在開(kāi)始處已經(jīng)概述的,本文所述的方法涉及向客戶端提供預(yù)先計(jì)算的搜索結(jié)果的數(shù)據(jù)庫(kù)系統(tǒng)。預(yù)先計(jì)算的技術(shù)目的通常是減少響應(yīng)搜索查詢的響應(yīng)時(shí)間。在下文中,術(shù)語(yǔ)“預(yù)先計(jì)算”和“預(yù)先計(jì)算的”用于涵蓋任何類型的預(yù)先計(jì)算和預(yù)先收集,諸如收集或復(fù)制互聯(lián)網(wǎng)web服務(wù)器的內(nèi)容的互聯(lián)網(wǎng)爬蟲(chóng),而且還涵蓋基于底層數(shù)據(jù)的搜索結(jié)果的復(fù)雜和時(shí)間密集計(jì)算,如例如由pct/ep2013/002390和ep2541473a1針對(duì)標(biāo)價(jià)旅行建議所描述的。術(shù)語(yǔ)“數(shù)據(jù)庫(kù)”意味著包含任何類型的結(jié)構(gòu)化信息存儲(chǔ)系統(tǒng),諸如像sql服務(wù)器或oracle數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)獨(dú)立的數(shù)據(jù)庫(kù),以及復(fù)雜的、分布式和/或?qū)S写鎯?chǔ)系統(tǒng),包括數(shù)據(jù)庫(kù)管理系統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)或面向?qū)ο蟮臄?shù)據(jù)庫(kù)系統(tǒng)等。
示例性數(shù)據(jù)庫(kù)系統(tǒng)1的體系架構(gòu)由圖1示出。數(shù)據(jù)庫(kù)系統(tǒng)1包括至少一個(gè)但通常多個(gè)客戶端5以及至少一個(gè)搜索平臺(tái)4。為了增加故障安全性和/或性能,可以存在多個(gè)搜索平臺(tái)4。至少一個(gè)搜索平臺(tái)4維護(hù)預(yù)先計(jì)算的搜索結(jié)果,以便減少應(yīng)答從客戶端5接收到的搜索查詢的響應(yīng)時(shí)間??蛻舳?將搜索查詢引導(dǎo)到搜索平臺(tái)4,每個(gè)搜索查詢包括一個(gè)或多個(gè)約束搜索的搜索標(biāo)準(zhǔn)。例如,如果搜索查詢是互聯(lián)網(wǎng)搜索,那么搜索查詢可能攜帶搜索串、搜索文本或搜索短語(yǔ)作為搜索標(biāo)準(zhǔn)。還有的搜索標(biāo)準(zhǔn)可以是要搜索的網(wǎng)站的語(yǔ)言或者所請(qǐng)求的搜索串、搜索文本或搜索短語(yǔ)的第一可用性的時(shí)間點(diǎn)的指示。根據(jù)另一個(gè)示例,搜索查詢是對(duì)由諸如互聯(lián)網(wǎng)書(shū)店或旅行提供者的服務(wù)提供者平臺(tái)提供的產(chǎn)品或服務(wù)的數(shù)據(jù)庫(kù)請(qǐng)求。在這種情況下,搜索查詢可能包括例如服務(wù)或產(chǎn)品的上限價(jià)格或價(jià)格范圍以及產(chǎn)品/服務(wù)的期望特征,諸如書(shū)名、旅行起始地和目的地等。
搜索平臺(tái)4處理從客戶端5接收到的搜索查詢,并在預(yù)先計(jì)算的搜索結(jié)果內(nèi)執(zhí)行數(shù)據(jù)庫(kù)搜索。依次,搜索平臺(tái)4用滿足包括在搜索查詢中的搜索標(biāo)準(zhǔn)的一個(gè)或多個(gè)預(yù)先計(jì)算的搜索結(jié)果作為響應(yīng)。由搜索平臺(tái)4執(zhí)行的處理的方式與本文的方法無(wú)關(guān),例如,無(wú)論搜索平臺(tái)4是否僅檢索嚴(yán)格符合包含在搜索查詢中的搜索標(biāo)準(zhǔn)的預(yù)先計(jì)算的搜索結(jié)果,或者例如,無(wú)論搜索平臺(tái)4是否實(shí)現(xiàn)模糊搜索并因此在一定程度上也返回超出搜索標(biāo)準(zhǔn)的約束的模糊結(jié)果??蛻舳?接收該響應(yīng)并處理響應(yīng),例如,向用戶顯示搜索結(jié)果。
預(yù)先計(jì)算的搜索結(jié)果在其預(yù)先計(jì)算后的某個(gè)時(shí)間之后可能變得過(guò)時(shí)(下文也稱為失效的)。一般而言,失效的原因是底層或原始數(shù)據(jù)中的變化。例如,web服務(wù)器的內(nèi)容在某個(gè)時(shí)間點(diǎn)可能改變,或者預(yù)先計(jì)算的標(biāo)價(jià)旅行建議底層的費(fèi)用(例如,形成旅行的標(biāo)價(jià)航班集合)可能不時(shí)地更新。從這些時(shí)間點(diǎn)往后,存儲(chǔ)在搜索平臺(tái)4中、受到底層數(shù)據(jù)的改變影響的對(duì)應(yīng)的預(yù)先計(jì)算的搜索結(jié)果是無(wú)效的。因此,被提供這些無(wú)效的預(yù)先計(jì)算的搜索結(jié)果的客戶端5將會(huì)接收到對(duì)其搜索查詢的不正確的答案。這種失效問(wèn)題的一般解決方案是以規(guī)則、不規(guī)則或連續(xù)的方式重新計(jì)算預(yù)先計(jì)算的搜索結(jié)果。
搜索結(jié)果的預(yù)先計(jì)算由重新計(jì)算控制器2管理。重新計(jì)算控制器2可以被提供作為單獨(dú)的實(shí)體(如圖1所示),或者可以替代地被集成到一個(gè)或(如果存在)多個(gè)搜索平臺(tái)4中。由于用于重新計(jì)算的計(jì)算資源一般受到限制,因此預(yù)先計(jì)算的搜索結(jié)果需要被優(yōu)先級(jí)化,即只有搜索平臺(tái)4維護(hù)的所有預(yù)先計(jì)算的搜索結(jié)果的一部分可以在某個(gè)時(shí)間段內(nèi)被重新計(jì)算。因此,重新計(jì)算控制器2為重新計(jì)算執(zhí)行對(duì)預(yù)先計(jì)算的搜索結(jié)果的某些部分的選擇。為此,重新計(jì)算控制器2根據(jù)例如由wo2014/026753描述的重新計(jì)算策略來(lái)管理預(yù)先計(jì)算的搜索結(jié)果的重新計(jì)算。根據(jù)所采用的重新計(jì)算策略,重新計(jì)算控制器2生成重新計(jì)算命令并將其傳送到計(jì)算平臺(tái)3,重新計(jì)算命令向計(jì)算平臺(tái)3指示哪些預(yù)先計(jì)算的搜索結(jié)果要被重新計(jì)算。響應(yīng)于從重新計(jì)算控制器2接收到重新計(jì)算命令,計(jì)算平臺(tái)3例如通過(guò)從主數(shù)據(jù)源請(qǐng)求與預(yù)先計(jì)算的搜索結(jié)果對(duì)應(yīng)的原始數(shù)據(jù)和/或基于底層數(shù)據(jù)執(zhí)行相應(yīng)搜索結(jié)果的重新計(jì)算來(lái)執(zhí)行重新計(jì)算。
諸如wo99/22315和wo2014/026753的某些現(xiàn)有技術(shù)文獻(xiàn)提出了基于概率模型的重新計(jì)算策略。通常,這種概率模型可以包括例如參數(shù),諸如年齡、流行度(通過(guò)查詢客戶端5對(duì)預(yù)先計(jì)算的搜索結(jié)果的訪問(wèn)率)、有效性概率的降低率、任何預(yù)先計(jì)算的搜索結(jié)果的初始準(zhǔn)確度(預(yù)先計(jì)算的結(jié)果在它被預(yù)先計(jì)算時(shí)為有效的的概率)等,這些參數(shù)由重新計(jì)算控制器2或耦合到重新計(jì)算控制器2的另一個(gè)實(shí)體永久地存儲(chǔ)和更新。概率模型可以基于預(yù)先計(jì)算的搜索結(jié)果的行為的統(tǒng)計(jì)經(jīng)驗(yàn),或者可以基于主題經(jīng)驗(yàn)以概念的方式形成。通常,概率模型允許近似預(yù)先計(jì)算的搜索結(jié)果隨時(shí)間推移的有效性。這個(gè)近似的有效性在下文中被稱為有效性概率。通常,在搜索結(jié)果的預(yù)先計(jì)算之后,預(yù)先計(jì)算的搜索結(jié)果的有效性概率隨著時(shí)間的流逝而減小。
有效性概率隨著時(shí)間的推移而減小的兩個(gè)示例性函數(shù)如圖2所示。函數(shù)10表示隨著時(shí)間的推移比與函數(shù)11相關(guān)聯(lián)的另一個(gè)預(yù)先計(jì)算的搜索結(jié)果潛在地保持在較高的有效概率的預(yù)先計(jì)算的搜索結(jié)果。例如,由函數(shù)10表示的預(yù)先計(jì)算的搜索結(jié)果在其最后一次重新計(jì)算之后的35小時(shí)具有70%的概率仍然有效,而由函數(shù)11特征化的其它預(yù)先計(jì)算的搜索結(jié)果在其最后一次重新計(jì)算之后的35小時(shí)僅達(dá)到大約50%有效。函數(shù)10和11還可以表示預(yù)先計(jì)算的搜索結(jié)果的整個(gè)集合(諸如下面進(jìn)一步描述的份額),并且然后指示預(yù)先計(jì)算的搜索結(jié)果集合在自從該集合最后一次重新計(jì)算以來(lái)經(jīng)過(guò)的時(shí)間處處于有效的比例。
但是,概率模型不反映可以顯著降低預(yù)先計(jì)算的搜索結(jié)果的有效性的意外或不可預(yù)測(cè)事件,即,預(yù)先計(jì)算的搜索結(jié)果的大部分在事件發(fā)生時(shí)可能失效。由于其意外或不可預(yù)測(cè)的特性,這些事件通常不包括在概率模型中。假設(shè)預(yù)先計(jì)算的搜索結(jié)果的示例是諸如標(biāo)價(jià)旅行建議的旅行相關(guān)的數(shù)據(jù),那么對(duì)預(yù)先計(jì)算的搜索結(jié)果的有效性產(chǎn)生影響的這些事件的示例是現(xiàn)實(shí)生活中的情況,諸如展銷會(huì)或運(yùn)動(dòng)比賽(這例如增加某些日期和某些地點(diǎn)的航班價(jià)格)或諸如罷工或自然災(zāi)害的隨機(jī)事件(這可能導(dǎo)致航班取消),所有這些都改變概率模型的因果關(guān)系底層的假設(shè)。假設(shè)預(yù)先計(jì)算的搜索結(jié)果的另一個(gè)示例是預(yù)先收集的互聯(lián)網(wǎng)網(wǎng)站,導(dǎo)致預(yù)先計(jì)算的搜索結(jié)果的部分失效的事件的示例是導(dǎo)致某些(類型的)網(wǎng)站擁塞的政治活動(dòng)或?qū)е挛挥谀硞€(gè)地理區(qū)域的互聯(lián)網(wǎng)服務(wù)器在更長(zhǎng)的時(shí)間段內(nèi)離線的技術(shù)封鎖。如果預(yù)先計(jì)算的搜索結(jié)果是例如地理和天氣相關(guān)的數(shù)據(jù),諸如河流和海水水位或空氣污染信息,那么預(yù)計(jì)計(jì)算的搜索結(jié)果的一部分會(huì)由于諸如海嘯或火山爆發(fā)等自然災(zāi)害而失效。
考慮了這種異步實(shí)時(shí)事件潛在地使預(yù)先計(jì)算的搜索結(jié)果的某些部分失效的已知解決方案依賴于這些事件的外部信號(hào)作用,如例如由wo2014/026753所描述的。但是,這種外部信號(hào)作用可能不總是可能的或期望的,例如,由于沒(méi)有互連的系統(tǒng)、足夠的技術(shù)接口或事件對(duì)預(yù)先計(jì)算的搜索結(jié)果的有效性的未知影響。除了外部信號(hào)作用之外,wo2014/026753還通過(guò)采用采樣機(jī)制考慮了異步實(shí)時(shí)事件的隱式識(shí)別。為此,預(yù)先計(jì)算的搜索結(jié)果(樣本)的某些代表性部分被不時(shí)地有意重新計(jì)算,以便確定由樣本表示的預(yù)先計(jì)算的搜索結(jié)果的較大部分是否具有比概率模型所指示的顯著更低的實(shí)際有效性。但是,通過(guò)這種采樣過(guò)程來(lái)確定實(shí)際有效性需要附加的重新計(jì)算資源,該附加的重新計(jì)算資源以重新計(jì)算由重新計(jì)算策略所規(guī)定的最關(guān)鍵的預(yù)先計(jì)算的搜索結(jié)果(例如,具有最低有效性概率的預(yù)先計(jì)算的搜索結(jié)果)為代價(jià)被消耗。
針對(duì)預(yù)先計(jì)算的搜索結(jié)果隨時(shí)間推移變得無(wú)效的這些技術(shù)問(wèn)題的背景,基于概率模型的重新計(jì)算策略以及對(duì)影響預(yù)先計(jì)算的搜索結(jié)果的有效性的實(shí)時(shí)事件的考慮和識(shí)別超出了由概率模型所反映的,本文提出了高效(就計(jì)算資源而言)的方式來(lái)隱含地識(shí)別潛在地由異步實(shí)時(shí)事件引起的、預(yù)先計(jì)算的搜索結(jié)果中的有效性降低。外部發(fā)信號(hào)指示以及計(jì)算資源密集型采樣都不是必需的。
簡(jiǎn)而言之,在一般層面上,本解決方案是基于
-確定以有效性趨勢(shì)的形式的概率模型參數(shù),指示預(yù)先計(jì)算的搜索結(jié)果隨時(shí)間推移有效性概率的降低率或保留率(例如,如圖2的示例函數(shù)所示),
-分別確定指示預(yù)先計(jì)算的搜索結(jié)果的第一份額的即時(shí)有效性的瞬時(shí)有效率和在該第一份額內(nèi)的預(yù)先計(jì)算的搜索結(jié)果,
-比較瞬時(shí)有效率和有效性趨勢(shì),以及確定瞬時(shí)有效率與有效性趨勢(shì)之間的差異是否大于給定程度,
-如果瞬時(shí)有效率和有效性之間的差異超過(guò)給定程度,那么調(diào)整與第一份額不同但是相關(guān)的第二份額的預(yù)先計(jì)算的搜索結(jié)果的有效性概率,以及
-根據(jù)取決于與預(yù)先計(jì)算的搜索結(jié)果相關(guān)聯(lián)的有效性概率的給定的重新計(jì)算策略,重新計(jì)算預(yù)先計(jì)算的搜索結(jié)果。因此,當(dāng)決定要重新計(jì)算哪些預(yù)先計(jì)算的搜索結(jié)果時(shí),將考慮在第二份額中的預(yù)先計(jì)算的搜索結(jié)果的潛在調(diào)整的有效性概率。
因此,該機(jī)制的主要思想是使用預(yù)先計(jì)算的搜索結(jié)果之間的有效性概率相關(guān)性,并且將在由概率模型提供的有效性指示和預(yù)先計(jì)算的搜索結(jié)果的第一份額的即時(shí)有效性指示之間檢測(cè)到的實(shí)質(zhì)差別傳送到與預(yù)先計(jì)算的搜索結(jié)果的第一份額相關(guān)的預(yù)先計(jì)算的搜索結(jié)果的第二份額。以這種方式,例如,用于預(yù)先計(jì)算的搜索結(jié)果的第二份額的采樣過(guò)程被廢棄。特別地,有可能響應(yīng)于第一份額中的預(yù)先計(jì)算的搜索結(jié)果的“正常”重新計(jì)算而導(dǎo)出第一份額的即時(shí)有效性指示,這里的“正常”意味著該重新計(jì)算與作為附加人為采樣重新計(jì)算等的對(duì)照被采用的重新計(jì)算策略是一致的。因此,可以減少或根本避免重新計(jì)算開(kāi)銷。
在轉(zhuǎn)到實(shí)現(xiàn)示例的詳細(xì)描述之前,這些特征將接下來(lái)首先在函數(shù)級(jí)別上進(jìn)行一些更詳細(xì)的描述。
如以上已經(jīng)描述的,搜索平臺(tái)4存儲(chǔ)預(yù)先計(jì)算的搜索結(jié)果。預(yù)先計(jì)算的搜索結(jié)果的表示也由重新計(jì)算控制器2維護(hù),用于重新計(jì)算控制目的。特別地,重新計(jì)算控制器2維護(hù)用于采用重新計(jì)算策略的控制數(shù)據(jù)。控制數(shù)據(jù)使得重新計(jì)算控制器2能夠確定預(yù)先計(jì)算的搜索結(jié)果的有效性概率并且能夠根據(jù)重新計(jì)算策略,例如,定期地啟動(dòng)預(yù)先計(jì)算的搜索結(jié)果的一部分的重新計(jì)算,例如,具有最低有效性概率的預(yù)先計(jì)算的搜索結(jié)果。用于確定預(yù)先計(jì)算的搜索結(jié)果的有效性概率的參數(shù)是例如最后一次重新計(jì)算的時(shí)間和如圖2示例性示出的用于有效性概率的下降函數(shù),例如
通常,預(yù)先計(jì)算的搜索結(jié)果被細(xì)分成份額,如圖3所示,指示示例性份額d、d'、e、f、g和h。份額內(nèi)的預(yù)先計(jì)算的搜索結(jié)果具有類似的失效特性,即,它們具有完全相同或類似的有效性趨勢(shì)λi,并且因此具有完全相同或類似的有效性概率的變化函數(shù)。例如,如果預(yù)先計(jì)算的搜索結(jié)果是標(biāo)價(jià)旅行建議,那么預(yù)先計(jì)算的搜索結(jié)果的份額可以由具有特定起始地和目的地位置的所有標(biāo)價(jià)旅行建議形成,并且具有例如在給定時(shí)間框架,例如一個(gè)月內(nèi)的出發(fā)日期(諸如于2014年8月出發(fā)的、城市對(duì)尼斯-紐約之間的旅行建議)。如果例如預(yù)先計(jì)算的搜索結(jié)果是指示諸如水位和空氣污染的環(huán)境參數(shù)的數(shù)據(jù)記錄,那么份額可以由特定地理區(qū)域的預(yù)先計(jì)算的搜索結(jié)果形成。一個(gè)份額內(nèi)的預(yù)先計(jì)算的搜索結(jié)果的數(shù)量以及份額的數(shù)量取決于數(shù)據(jù)庫(kù)系統(tǒng)1的特定實(shí)施例。份額可以包括任何數(shù)量的預(yù)先計(jì)算的搜索結(jié)果。
將預(yù)先計(jì)算的搜索結(jié)果分解為份額可以通過(guò)搜索平臺(tái)4的數(shù)據(jù)庫(kù)模型和結(jié)構(gòu)來(lái)反映。例如,形成份額的每組預(yù)先計(jì)算的搜索結(jié)果可以保持在專用表(或其它合適的數(shù)據(jù)庫(kù)結(jié)構(gòu))中。作為替代方案,預(yù)先計(jì)算的搜索結(jié)果可以包括指示它們所屬的份額的參數(shù)。在這種情況下,每條數(shù)據(jù)庫(kù)記錄都包含份額字段。作為還有的替代方案,份額可以由單獨(dú)的數(shù)據(jù)結(jié)構(gòu)定義,諸如定義哪個(gè)預(yù)先計(jì)算的搜索結(jié)果與哪個(gè)份額相關(guān)聯(lián)的份額表。定義份額的其它方式(諸如通過(guò)規(guī)則而不是在數(shù)據(jù)庫(kù)模型和結(jié)構(gòu)中反映的邏輯定義)也涵蓋在本文中,并且不被這些示例排除。
此外,相關(guān)也可以存在于份額級(jí)別。第一份額的預(yù)先計(jì)算的搜索結(jié)果(例如圖3的份額d)可以具有有效性趨勢(shì)λi,并且因此有效性概率的下降函數(shù)與在另一個(gè)份額(例如圖3的份額d')中的預(yù)先計(jì)算的搜索結(jié)果類似(在圖3中由份額d和份額d'之間的實(shí)心箭頭指示)。例如,在第一份額d中的所有預(yù)先計(jì)算的搜索結(jié)果的平均有效性趨勢(shì)接近于在第二份額d'中的所有預(yù)先計(jì)算的搜索結(jié)果的平均有效性趨勢(shì)(λd=0.1并且λd'=0.11),例如,并且,此外,在第一份額d中的預(yù)先計(jì)算的搜索結(jié)果和在第二份額d'中的預(yù)先計(jì)算的搜索結(jié)果就有效性行為而言是相互聯(lián)系的,即,如果第一份額d中預(yù)先計(jì)算的搜索結(jié)果的很大一部分是無(wú)效的,那么有可能在第二份額d'中的預(yù)先計(jì)算的搜索結(jié)果的很大一部分也是無(wú)效的。例如,如果預(yù)先計(jì)算的搜索結(jié)果是標(biāo)價(jià)旅行建議,那么份額d可以包括具有在2014年8月的出發(fā)日期的城市對(duì)尼斯-紐約的所有預(yù)先計(jì)算的標(biāo)價(jià)旅行建議,并且份額d'可以包括具有在2014年9月的旅行日期的同一城市對(duì)尼斯-紐約的預(yù)先計(jì)算的標(biāo)價(jià)旅行建議。例如,如果預(yù)先計(jì)算的搜索結(jié)果是指示諸如水位和空氣污染的環(huán)境參數(shù)的數(shù)據(jù)記錄,那么份額d和d'可以由與地理上相鄰區(qū)域(諸如兩個(gè)相鄰國(guó)家)有關(guān)的數(shù)據(jù)記錄形成。
此外,份額之間可能存在不同級(jí)別的相關(guān)性。例如,圖3和下面給出的示例的份額d和d'是強(qiáng)相關(guān)的,并且因此,第一份額d中的預(yù)先計(jì)算的搜索結(jié)果和第二份額d'中的預(yù)先計(jì)算的搜索結(jié)果可能具有幾乎完全相同的有效性特性。另一個(gè)份額,例如圖3的份額f,可以仍然與份額d相關(guān),但是份額d與份額f之間的相關(guān)性可能沒(méi)有份額d與份額d'之間的相關(guān)性強(qiáng)。例如,如果預(yù)先計(jì)算的搜索結(jié)果是標(biāo)價(jià)旅行建議,那么份額d可以包括具有在2014年8月的旅行日期的城市對(duì)尼斯-紐約的所有預(yù)先計(jì)算的標(biāo)價(jià)旅行建議,并且份額f可以包括具有在2014年10月的旅行日期的同一城市對(duì)尼斯-紐約的預(yù)先計(jì)算的標(biāo)價(jià)旅行建議。例如,如果預(yù)先計(jì)算的搜索結(jié)果是指示諸如水位和空氣污染的環(huán)境參數(shù)的數(shù)據(jù)記錄,那么份額d和份額f可以通過(guò)與仍然地理上彼此接近但不直接相鄰的區(qū)域相關(guān)的數(shù)據(jù)記錄形成。下面進(jìn)一步給出用于確定預(yù)先計(jì)算的搜索結(jié)果的兩個(gè)份額之間的相關(guān)性的具體示例。
出于說(shuō)明的原因,以下描述涉及包含在如圖3所示的份額d中的個(gè)別示例性預(yù)先計(jì)算的搜索結(jié)果i。但是,以下陳述同樣適用于包含在任何份額中的任何預(yù)先計(jì)算的搜索結(jié)果。
確定有效性趨勢(shì)
在一個(gè)方面,重新計(jì)算控制器2維護(hù)用于預(yù)先計(jì)算的搜索結(jié)果的概率模型。對(duì)于任何預(yù)先計(jì)算的搜索結(jié)果i,重新計(jì)算控制器2確定指示預(yù)先計(jì)算的搜索結(jié)果i的有效性概率的降低率的有效性趨勢(shì)λi。例如,預(yù)先計(jì)算的搜索結(jié)果i可以具有每小時(shí)10%的有效性降低率,這意味著i有效的概率每個(gè)小時(shí)減少10%(λi=0.1)。在其第一次計(jì)算或重新計(jì)算時(shí),i通常為100%有效(假設(shè)初始準(zhǔn)確度為1)。在一個(gè)小時(shí)之后,i仍然有效的概率為90%。在兩個(gè)小時(shí)之后,i的有效性為81%(=90%減少了另一個(gè)10%)。在三個(gè)小時(shí)之后,i的可能有效性為72.9%,等等。因此,有效性趨勢(shì)λi是對(duì)預(yù)先計(jì)算的搜索結(jié)果i多長(zhǎng)時(shí)間保持有效或者預(yù)先計(jì)算的搜索結(jié)果i由于底層原始數(shù)據(jù)的變化多快變得無(wú)效的度量。
有效性趨勢(shì)λi基于預(yù)先計(jì)算的搜索結(jié)果i的有效性發(fā)展的長(zhǎng)期經(jīng)驗(yàn)來(lái)對(duì)有效性建模。因此,對(duì)于特定預(yù)先計(jì)算的搜索結(jié)果i的有效性趨勢(shì)λi的值由i的至少三個(gè)過(guò)去的重新計(jì)算來(lái)確定。為確定λi所考慮的過(guò)去重新計(jì)算的次數(shù)越多,λi的值越可靠。重新計(jì)算控制器存儲(chǔ)有效性趨勢(shì)λi作為用于預(yù)先計(jì)算的搜索結(jié)果i的控制數(shù)據(jù)參數(shù)。
確定有效性趨勢(shì)λi的一個(gè)難點(diǎn)是預(yù)先計(jì)算的搜索結(jié)果i的重新計(jì)算通常不會(huì)以等間隔的時(shí)間間隔發(fā)生。特別地,取決于所采用的重新計(jì)算策略,在i的兩次隨后的重新計(jì)算之間可以經(jīng)過(guò)不同的時(shí)間段。
圖4a給出的示例示出了預(yù)先計(jì)算的搜索結(jié)果i的一系列連續(xù)重新計(jì)算。在這個(gè)示例中,第一次重新計(jì)算是在i的先前計(jì)算之后的五個(gè)小時(shí)發(fā)生。重新計(jì)算表明預(yù)先計(jì)算的搜索結(jié)果i已經(jīng)改變。但是,重新計(jì)算并不指示在先前計(jì)算和第一次重新計(jì)算之間的五個(gè)小時(shí)的時(shí)間間隔期間的哪個(gè)特定時(shí)間點(diǎn)處預(yù)先計(jì)算的搜索結(jié)果i實(shí)際上失效。然后,i的下一次(第二次)重新計(jì)算在兩個(gè)小時(shí)后發(fā)生。重新計(jì)算表明i仍然有效(即i的重新計(jì)算實(shí)際上是不必要的)。隨后,在經(jīng)過(guò)另外七個(gè)小時(shí)的時(shí)間段之后,預(yù)先計(jì)算的搜索結(jié)果i沒(méi)有被重新計(jì)算。該第三次重新計(jì)算再次表明i已經(jīng)改變,即,i在七小時(shí)窗口中的某個(gè)(未知)時(shí)間點(diǎn)失效。然后,i的最后(第四次)重新計(jì)算在四小時(shí)后發(fā)生。再次,在此期間,預(yù)先計(jì)算的搜索結(jié)果i在四小時(shí)的時(shí)間間隔中的某個(gè)時(shí)間點(diǎn)處已經(jīng)改變。
如這個(gè)示例所示,因此,如果在某段時(shí)間之后i的重新計(jì)算指示i不再有效,那么通常不確定在哪個(gè)確切的時(shí)間點(diǎn)預(yù)先計(jì)算的搜索結(jié)果i失效。
處理確定有效性趨勢(shì)λi的這個(gè)問(wèn)題存在幾種可能性。一個(gè)選項(xiàng)是對(duì)于某個(gè)有限時(shí)間段在相對(duì)短的等距時(shí)間間隔內(nèi)定期重新計(jì)算預(yù)先計(jì)算的搜索結(jié)果i(例如,對(duì)于四個(gè)星期的時(shí)間段每個(gè)小時(shí)一次)。以這種方式,可以以系統(tǒng)的方式確定λi。但是,這些重新計(jì)算是人為的,并且因此消耗大量附加的重新計(jì)算資源。
因此,替代地或附加地,可以采用統(tǒng)計(jì)措施來(lái)從所采用的重新計(jì)算策略內(nèi)的i的通常非等距重新計(jì)算中導(dǎo)出λi。在一些實(shí)施例中,為此執(zhí)行對(duì)λi的期望值的最大似然估計(jì)。最大似然估計(jì)是基于i的一系列重新計(jì)算對(duì)。每個(gè)重新計(jì)算對(duì)包括自從i的最后一次重新計(jì)算以來(lái)的時(shí)間以及指示自從i的最后一次重新計(jì)算以來(lái)i是否已經(jīng)改變的標(biāo)志。圖4b介紹了這種一系列重新計(jì)算對(duì)的形式表示,根據(jù)該形式表示,自從i的最后第n次重新計(jì)算以來(lái)的時(shí)間被表示為tn,并且改變標(biāo)志被表示為bn。返回參考圖4a的示例,圖4a的重新計(jì)算系列可以被指定為元組{t1=300,b1=0;t2=120,b2=1;t3=420,b3=0;t4=240,b4=0}集合,tn以分鐘為單位給出,并且bn=0指示預(yù)先計(jì)算的搜索結(jié)果i在重新計(jì)算之前無(wú)效,并且bn=1指示預(yù)先計(jì)算的搜索結(jié)果仍然有效。在一些實(shí)施例中,重新計(jì)算控制器2將反映過(guò)去重新計(jì)算的這些數(shù)據(jù)保持為用于存儲(chǔ)在搜索平臺(tái)4中的任何預(yù)先計(jì)算的搜索結(jié)果的控制數(shù)據(jù),并且在任何重新計(jì)算的過(guò)程中更新/擴(kuò)展該數(shù)據(jù)。
最大似然估計(jì)通過(guò)建立要估計(jì)的與觀察到的歷史數(shù)據(jù)一致的有效性趨勢(shì)值λi的似然函數(shù)以及通過(guò)確定該函數(shù)的最大值來(lái)估計(jì)預(yù)先計(jì)算的搜索結(jié)果i的有效性趨勢(shì)λi的值。結(jié)果是有效性趨勢(shì)λi的真實(shí)值的“受過(guò)訓(xùn)練的最佳猜測(cè)”。在這些實(shí)施例中的一些實(shí)施例中,計(jì)算通過(guò)最大似然法估計(jì)的有效性趨勢(shì)λi的置信度值。該置信度值使得能夠評(píng)估由最大似然法根據(jù)λi的真實(shí)值估計(jì)的λi值的潛在偏差。例如,這通過(guò)利用觀察到的fisher信息來(lái)實(shí)現(xiàn),以評(píng)估λi的真實(shí)值位于置信區(qū)間內(nèi)的概率。下面進(jìn)一步描述應(yīng)用最大似然估計(jì)來(lái)估計(jì)有效性趨勢(shì)λi并獲得置信因子的詳細(xì)示例。
在其它實(shí)施例中,通過(guò)建立預(yù)先計(jì)算的搜索結(jié)果i隨時(shí)間推移保持有效的概率的經(jīng)驗(yàn)分布函數(shù),并且然后通過(guò)回歸經(jīng)驗(yàn)分布函數(shù)來(lái)確定有效性趨勢(shì)λi。這種方法在經(jīng)驗(yàn)上估計(jì)在預(yù)先計(jì)算的搜索結(jié)果i的重新計(jì)算之后的特定時(shí)間點(diǎn)處的有效性概率的離散值。為此,可以跨重新計(jì)算時(shí)間點(diǎn)定義時(shí)間間隔。然后,沿著時(shí)間間隔移位不同大小的滑動(dòng)窗口,并且針對(duì)每個(gè)不同的窗口大小評(píng)估預(yù)先計(jì)算的搜索結(jié)果i在時(shí)間間隔內(nèi)沒(méi)有失效的概率。這產(chǎn)生在特定時(shí)間點(diǎn)處的各個(gè)有效性概率值的序列,從中通過(guò)使用回歸導(dǎo)出連續(xù)函數(shù)。通過(guò)建立經(jīng)驗(yàn)分布函數(shù)來(lái)確定有效性趨勢(shì)λi的選項(xiàng)在下面參考圖7至圖9更詳細(xì)地進(jìn)行說(shuō)明。
為了實(shí)現(xiàn)有效性趨勢(shì)λi確定的高效(就處理時(shí)間和計(jì)算資源的利用率而言)實(shí)現(xiàn),一些實(shí)施例使用mapreduce過(guò)程。mapreduce是用于例如由數(shù)據(jù)庫(kù)系統(tǒng)利用并行、分布式算法來(lái)處理和生成大數(shù)據(jù)集的編程模型和對(duì)應(yīng)實(shí)現(xiàn)。mapreduce程序包括map過(guò)程和reduce過(guò)程。首先,map()過(guò)程執(zhí)行過(guò)濾和排序(諸如按照起始地-目的地對(duì)排序標(biāo)價(jià)旅行建議,每個(gè)起始地-目的地對(duì)一個(gè)隊(duì)列)。其次,執(zhí)行實(shí)現(xiàn)匯總操作(諸如計(jì)數(shù)每個(gè)隊(duì)列中的標(biāo)價(jià)旅行建議的數(shù)量)的reduce()過(guò)程。mapreduce(還包括并行運(yùn)行各種任務(wù)、管理實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)的各個(gè)部分之間的通信和數(shù)據(jù)傳輸、以及有利地促進(jìn)并行執(zhí)行、可擴(kuò)展性、冗余和容錯(cuò))。因此,如果要確定大量預(yù)先計(jì)算的搜索結(jié)果(例如,涉及對(duì)應(yīng)的重新計(jì)算歷史數(shù)據(jù)的數(shù)十萬(wàn)或數(shù)百萬(wàn)個(gè)標(biāo)價(jià)旅行建議,例如以每個(gè)標(biāo)價(jià)旅行建議的最后100次重新計(jì)算的次序)的有效性趨勢(shì)λi(和/或瞬時(shí)有效率
注意的是,有效性趨勢(shì)λi不一定是特定于個(gè)體預(yù)先計(jì)算的搜索結(jié)果i的數(shù)值。相反,有效性趨勢(shì)λi可以描述(在自從最后一次重新計(jì)算以來(lái)經(jīng)過(guò)的某個(gè)時(shí)間之后)預(yù)先計(jì)算的搜索結(jié)果的整個(gè)集合(諸如預(yù)先計(jì)算的搜索結(jié)果的份額、預(yù)先計(jì)算的搜索結(jié)果的份額的子部分或預(yù)先計(jì)算的搜索結(jié)果的幾個(gè)份額)的有效性概率。例如,有效性趨勢(shì)值λ可以是一組預(yù)先計(jì)算的搜索結(jié)果的聚合值,諸如用于第一份額d的預(yù)先計(jì)算的搜索結(jié)果的公共有效性趨勢(shì)λdavg。為此,幾個(gè)相關(guān)的預(yù)先計(jì)算的搜索結(jié)果被一起考慮,以便獲得其公共有效性趨勢(shì)值。返回參考以上討論的圖4b的示例,不僅考慮了預(yù)先計(jì)算的搜索結(jié)果i的重新計(jì)算歷史{t1,b1;t2,b2;t3,b3;t4,b4}(參見(jiàn)圖4a),而且還考慮了與i相關(guān)的預(yù)先計(jì)算的搜索結(jié)果i'的重新計(jì)算歷史:{t1',b1';t2',b2';t3',b3'}。對(duì)于預(yù)先計(jì)算的搜索結(jié)果i和i'兩者共同的有效性趨勢(shì)值基于{t1,b1;t2,b2;t3,b3;t4,b4;t1',b1';t2',b2';t3',b3'}來(lái)估計(jì)。這可以一般推廣到多于兩個(gè)預(yù)先計(jì)算的搜索結(jié)果(只要它們?nèi)缫陨蠀⒖紙D3所述的相關(guān)),諸如份額d內(nèi)的所有預(yù)先計(jì)算的搜索結(jié)果。為了獲得統(tǒng)計(jì)上相關(guān)的數(shù)值,在特定于需要將估計(jì)基于更長(zhǎng)的重新計(jì)算歷史(以便具有相當(dāng)多的元組)的一個(gè)(或少數(shù))預(yù)先計(jì)算的搜索結(jié)果的有效性趨勢(shì)值和估計(jì)對(duì)僅需要考慮較最近的重新計(jì)算歷史(以有效趨勢(shì)值的顯著性/特異性為代價(jià))的更多數(shù)量的相關(guān)預(yù)先計(jì)算的搜索結(jié)果公共的有效性趨勢(shì)值之間通常存在權(quán)衡。
因此,在一些實(shí)施例中,包含在第一份額d中的特定預(yù)先計(jì)算的搜索結(jié)果i的有效性趨勢(shì)λi從用于第一份額d的預(yù)先計(jì)算的搜索結(jié)果的公共有效性趨勢(shì)λdavg導(dǎo)出,例如,λi=λdavg。在這些實(shí)施例中,有效性趨勢(shì)因此僅在份額的級(jí)別確定,而不是針對(duì)各個(gè)搜索結(jié)果。
確定瞬時(shí)有效率
雖然有效性趨勢(shì)λi指示預(yù)先計(jì)算的搜索結(jié)果i的長(zhǎng)期變化率,但是瞬時(shí)有效率
如以上參考圖4所解釋的,個(gè)別預(yù)先計(jì)算的搜索結(jié)果i的重新計(jì)算就在重新計(jì)算時(shí)預(yù)先計(jì)算的搜索結(jié)果是否有效而言產(chǎn)生二進(jìn)制結(jié)果:預(yù)先計(jì)算的搜索結(jié)果i或者是有效的(標(biāo)志bi例如被設(shè)置為1),或者發(fā)現(xiàn)預(yù)先計(jì)算的搜索結(jié)果是無(wú)效的并且i的重新計(jì)算的值與重新計(jì)算之前的i的先前值不同(并且標(biāo)志bi例如被設(shè)置為0)。
因此,為了確定預(yù)先計(jì)算的搜索結(jié)果i的瞬時(shí)有效率
考慮用于確定瞬時(shí)有效率
類似地,如以上參考圖4所示,各個(gè)預(yù)先計(jì)算的搜索結(jié)果的連續(xù)重新計(jì)算間隔通常不等距。對(duì)于被認(rèn)為用于確定瞬時(shí)有效率
圖5a示出了具有四個(gè)預(yù)先計(jì)算的搜索結(jié)果的示例,其編號(hào)為1至4(出于說(shuō)明的原因,示出的預(yù)先計(jì)算的搜索結(jié)果的數(shù)量小)。這些預(yù)先計(jì)算的搜索結(jié)果中的每一個(gè)根據(jù)在不同時(shí)間點(diǎn)采用的重新計(jì)算策略被重新計(jì)算。這也導(dǎo)致圖5a所示的第一重新計(jì)算和第二重新計(jì)算之間的重新計(jì)算間隔的長(zhǎng)度不同。例如,預(yù)先計(jì)算的搜索結(jié)果1和2的重新計(jì)算間隔是3小時(shí)(雖然預(yù)先計(jì)算的搜索結(jié)果1和2的重新計(jì)算點(diǎn)彼此不同),因?yàn)橹匦掠?jì)算策略規(guī)定在三個(gè)小時(shí)之后就已經(jīng)需要進(jìn)一步的重新計(jì)算。預(yù)先計(jì)算的搜索結(jié)果3的重新計(jì)算間隔為5小時(shí),預(yù)先計(jì)算的搜索結(jié)果4的重新計(jì)算間隔為7小時(shí)。圖5b再次描繪了重新計(jì)算的形式指示,其中ti表示預(yù)先計(jì)算的搜索結(jié)果i的最近重新計(jì)算間隔的持續(xù)時(shí)間,并且bi是指示是否已經(jīng)發(fā)現(xiàn)相應(yīng)的預(yù)先計(jì)算的搜索結(jié)果i在第二次重新計(jì)算時(shí)有效的標(biāo)志。
由于一般不同的、非等距的最后一次重新計(jì)算間隔,瞬時(shí)有效率
可選地,響應(yīng)于預(yù)先計(jì)算的搜索結(jié)果i的重新計(jì)算,執(zhí)行針對(duì)預(yù)先計(jì)算的搜索結(jié)果i的瞬時(shí)有效率
但是,如前所述,對(duì)于預(yù)先計(jì)算的搜索結(jié)果i,確定瞬時(shí)有效率
可選地,可以組合地采用最小數(shù)量閾值和重新計(jì)算時(shí)間閾值。
比較有效性趨勢(shì)和瞬時(shí)有效率并且調(diào)整在第二份額中的預(yù)先計(jì)算的搜索結(jié)果的有效性概率
在確定有效性趨勢(shì)λi和瞬時(shí)有效率
該比較分別產(chǎn)生在有效性趨勢(shì)λi和瞬時(shí)有效率
通常,為調(diào)整其它預(yù)先計(jì)算的搜索結(jié)果的有效性概率所考慮的相關(guān)性位于份額級(jí)別。如以上參考圖3所述,份額之間存在不同級(jí)別的相關(guān)性。例如,作為預(yù)先計(jì)算的搜索結(jié)果i的份額的份額d可以與份額d'強(qiáng)相關(guān)。份額d與份額f之間的相關(guān)性可以處于中等級(jí)別。并且在d與圖3所示的其它份額之間可以只存在小的相關(guān)性??梢圆捎孟嚓P(guān)性閾值來(lái)決定兩個(gè)份額是否彼此相關(guān)。如果份額之間的相關(guān)性超過(guò)閾值,那么這兩個(gè)份額被認(rèn)為是相互相關(guān)的。由于檢測(cè)到的有效性趨勢(shì)λi和瞬時(shí)有效率
在一些實(shí)施例中,兩個(gè)份額d和d'之間的相關(guān)性程度通過(guò)使用線性回歸在以下之間建立關(guān)系模型來(lái)確定:
-份額級(jí)別有效性趨勢(shì)λd和份額級(jí)別瞬時(shí)有效率
-份額級(jí)別有效性趨勢(shì)λd′和份額級(jí)別瞬時(shí)有效率
更具體而言,通過(guò)采用隨時(shí)間推移的瞬時(shí)有效率
如果兩個(gè)份額級(jí)別瞬時(shí)有效率
在一些實(shí)施例中,根據(jù)第一份額d和第二份額d'之間的相關(guān)程度來(lái)調(diào)整與包括在第二份額d'中的其它預(yù)先計(jì)算的搜索結(jié)果相關(guān)聯(lián)的有效性趨勢(shì)。為此,例如基于如上所述的瞬時(shí)有效率
在一些實(shí)施例中,第二份額d'中的預(yù)先計(jì)算的搜索結(jié)果的有效性概率的減少量與第一份額d和第二份額d'之間的相關(guān)程度成比例。
在其它實(shí)施例中,第二份額d'中的預(yù)先計(jì)算的搜索結(jié)果的有效性概率的減少量取決于在第一份額d中的有效性趨勢(shì)λd和瞬時(shí)有效率
通過(guò)引入殘差值ε,這個(gè)關(guān)系可以被重新寫(xiě)成以下公式:
由該回歸引起的殘差參數(shù)εdd′可以被建模,例如,通過(guò)建立εdd′在99%的時(shí)間在給定值ε99%以下。如果份額級(jí)別有效性趨勢(shì)λd′和份額級(jí)別瞬時(shí)有效率
有效性概率的調(diào)整(即,減少)可以以各種方式執(zhí)行。在一些實(shí)施例中,第二份額d'中的預(yù)先計(jì)算的搜索結(jié)果的有效性趨勢(shì)值λi(以及有效性趨勢(shì)λd′,分別)被減少。在其它實(shí)施例中,第二份額d'中的預(yù)先計(jì)算的搜索結(jié)果的年齡(即,自從最后一次重新計(jì)算以來(lái)的時(shí)間)被人為增加,即,d'的年齡td′被改變到
在其它實(shí)施例中,有效性概率值(從至少有效性趨勢(shì)值和年齡導(dǎo)出)被減少絕對(duì)值或相對(duì)值。
有效性趨勢(shì)λd與瞬時(shí)有效率
觸發(fā)重新計(jì)算
最后,重新計(jì)算控制器2生成重新計(jì)算命令并向計(jì)算平臺(tái)3發(fā)出重新計(jì)算命令以基于與預(yù)先計(jì)算的搜索結(jié)果相關(guān)聯(lián)的有效性概率來(lái)重新計(jì)算預(yù)先計(jì)算的搜索結(jié)果的一部分。
現(xiàn)在已經(jīng)在更一般的功能層面上描述了識(shí)別潛在無(wú)效的預(yù)先計(jì)算的搜索并且在重新計(jì)算策略中考慮這種識(shí)別的本方法。由重新計(jì)算控制器2執(zhí)行的結(jié)果產(chǎn)生的過(guò)程通過(guò)圖6進(jìn)行可視化。在12處,重新計(jì)算控制器2確定針對(duì)預(yù)先計(jì)算的搜索結(jié)果i的有效性趨勢(shì)λi。接下來(lái),在13處,重新計(jì)算控制器確定指示預(yù)先計(jì)算的搜索結(jié)果i的最近有效率的瞬時(shí)有效率
接下來(lái),在16處,重新計(jì)算控制器基于取決于所采用的重新計(jì)算策略與預(yù)先計(jì)算的搜索結(jié)果相關(guān)聯(lián)的有效性概率來(lái)啟動(dòng)預(yù)先計(jì)算的搜索結(jié)果的重新計(jì)算。例如,相對(duì)于具有較低有效性概率的預(yù)先計(jì)算的搜索結(jié)果而不是具有較高有效性概率的其它預(yù)先計(jì)算的搜索結(jié)果,來(lái)生成重新計(jì)算順序。這可以例如通過(guò)使用有效性概率的閾值來(lái)實(shí)現(xiàn):具有低于這種閾值的有效性概率的預(yù)先計(jì)算的搜索結(jié)果需要被重新計(jì)算。因此,相應(yīng)重新計(jì)算順序由重新計(jì)算控制器生成并發(fā)出。具有高于這種閾值的有效性概率的預(yù)先計(jì)算的搜索結(jié)果被認(rèn)為可能仍然有效,并且因此不需要被重新計(jì)算。因此,相對(duì)于這些預(yù)先計(jì)算的搜索結(jié)果不會(huì)發(fā)出重新計(jì)算命令。還可以采用更復(fù)雜的重新計(jì)算策略,例如,如歐洲申請(qǐng)14290040.6所描述的。
回到參考圖6,如果活動(dòng)14已經(jīng)表明瞬時(shí)有效率
響應(yīng)于接收到由計(jì)算平臺(tái)3響應(yīng)于活動(dòng)16而計(jì)算的重新計(jì)算的搜索結(jié)果,重新計(jì)算控制器2可以進(jìn)入下一個(gè)循環(huán)(如圖6中箭頭8和箭頭9所示),從確定重新計(jì)算的結(jié)果i的有效性趨勢(shì)值λi開(kāi)始,或者如果對(duì)于重新計(jì)算的搜索結(jié)果i,跳過(guò)活動(dòng)12(因?yàn)橛行在厔?shì)值λi已經(jīng)在較早的時(shí)間點(diǎn)被確定并且更新被認(rèn)為是不必要的),那么從確定重新計(jì)算的搜索結(jié)果i的瞬時(shí)有效率值
雖然已經(jīng)將圖6的過(guò)程描述為活動(dòng)12至16的順序過(guò)程,但是這些活動(dòng)在實(shí)踐中不必以嚴(yán)格順序的方式執(zhí)行。相反,例如,活動(dòng)12和13可以由不同的控制模塊來(lái)執(zhí)行,這些控制模塊定期地和并行地估計(jì)和更新所有預(yù)先計(jì)算的搜索結(jié)果的有效性趨勢(shì)和瞬時(shí)有效率值(還參見(jiàn)下面進(jìn)一步描述的圖12的示例)。因此,例如,活動(dòng)13、14和15可以由控制模塊以圖6所示的順序執(zhí)行,但是活動(dòng)12和16可以由其它控制模塊并行地并且獨(dú)立于活動(dòng)13至15執(zhí)行。
估計(jì)經(jīng)驗(yàn)分布函數(shù)
現(xiàn)在轉(zhuǎn)向?qū)崿F(xiàn)上述更一般功能的特定示例的更具體的描述,圖7至圖9涉及用于確定有效性趨勢(shì)λi和/或瞬時(shí)有效率
介紹,圖7首先給出了一般過(guò)程流程概述。通常,經(jīng)驗(yàn)分布函數(shù)是從預(yù)先計(jì)算的搜索結(jié)果i的先前重新計(jì)算的統(tǒng)計(jì)導(dǎo)出的。因此,作為第一活動(dòng),預(yù)先計(jì)算的搜索結(jié)果i的過(guò)去變化在17處被編譯。這種過(guò)去變化的編譯的基礎(chǔ)是例如由如以上參考圖4所描述的重新計(jì)算控制器維護(hù)的控制數(shù)據(jù)(即指定預(yù)先計(jì)算的搜索結(jié)果i的一系列過(guò)去重新計(jì)算的元組集合)。附加地或作為替代方案,搜索平臺(tái)4和/或重新計(jì)算控制器2(或諸如歷史數(shù)據(jù)庫(kù)的另一個(gè)實(shí)體)可以維護(hù)預(yù)先計(jì)算的搜索結(jié)果i的歷史版本,例如,預(yù)先計(jì)算的搜索結(jié)果i的過(guò)去值以及相關(guān)聯(lián)的、指示在哪個(gè)時(shí)間或時(shí)間間隔i的相應(yīng)歷史值被存儲(chǔ)在搜索平臺(tái)4中的時(shí)間戳?;顒?dòng)17的目標(biāo)是獲得預(yù)先計(jì)算的搜索i的歷史發(fā)展的數(shù)據(jù)結(jié)構(gòu)。
第二活動(dòng)18是在預(yù)先計(jì)算的搜索結(jié)果i的重新計(jì)算之后的特定時(shí)間點(diǎn)經(jīng)驗(yàn)地估計(jì)有效性概率的離散值。例如,這是通過(guò)定義跨越其中假定預(yù)先計(jì)算的搜索結(jié)果是有效的重新計(jì)算時(shí)間點(diǎn)的時(shí)間間隔來(lái)實(shí)現(xiàn)的。這些時(shí)間間隔在下文中被稱為“穩(wěn)定時(shí)段”。由于在兩次重新計(jì)算之間的預(yù)先計(jì)算的搜索結(jié)果失效的確切時(shí)間點(diǎn)是未知的,因此假定–作為假設(shè)–失效發(fā)生在導(dǎo)致預(yù)先計(jì)算的搜索結(jié)果的不同值的兩次后續(xù)重新計(jì)算之間的中間。因此,跨越第n次重新計(jì)算的穩(wěn)定時(shí)段被定義為在第n-1次重新計(jì)算和第n次重新計(jì)算之間的時(shí)間間隔的中間處開(kāi)始并且在第n次重新計(jì)算和第n+1次重新計(jì)算之間的時(shí)間間隔的中間處結(jié)束的時(shí)間段。這通過(guò)圖8a進(jìn)行可視化,其中示出了預(yù)先計(jì)算的搜索結(jié)果i在時(shí)間t0、t1、t2、t3和t4的四次重新計(jì)算。在t0處的重新計(jì)算導(dǎo)致預(yù)先計(jì)算的搜索結(jié)果i的值p0。在t1和t2處的重新計(jì)算分別導(dǎo)致預(yù)先計(jì)算的搜索結(jié)果i的值p1和p2。預(yù)先計(jì)算的搜索結(jié)果i的值p3是在時(shí)間t3處的重新計(jì)算的結(jié)果(圖8a所示的增加步驟函數(shù)指示預(yù)先計(jì)算的搜索結(jié)果i的值已經(jīng)增加直到t2,即p0<p1<p2,但是p3=p2)。最后,在時(shí)間t4的重新計(jì)算導(dǎo)致低于p3的值p4。在這些重新計(jì)算時(shí)間tn之前、產(chǎn)生與pn-1不同的pn的半個(gè)時(shí)間點(diǎn)通過(guò)(tn+tn-1)/2給出,并且被表示為cq。因此,在這個(gè)示例中,跨越時(shí)間t1處的重新計(jì)算(產(chǎn)生p1≠p0)的穩(wěn)定時(shí)段被定義為c1-c0,其中c1由(t1+t2)/2給出,并且c0由(t0+t1)/2給出。因此,作為推導(dǎo)fi(t)的假設(shè),假定預(yù)先計(jì)算的搜索結(jié)果i在穩(wěn)定時(shí)段c1-c0內(nèi)有效,具有值p1,即,值p0在c0失效并且值p1在c1失效。類似地,跨越重新計(jì)算時(shí)間t2(產(chǎn)生p2≠p1)的穩(wěn)定時(shí)段被定義為c2-c1,其中c2由(t4+t3)/2給出,因?yàn)橹挥性趖4處的重新計(jì)算(但不是在時(shí)間t3處的重新計(jì)算)產(chǎn)生不同的結(jié)果(p2=p3≠p4),因此,作為推導(dǎo)fi(t)的假設(shè),假定預(yù)先計(jì)算的搜索結(jié)果i在穩(wěn)定時(shí)段c2-c1內(nèi)有效,具有值p2=p3,即,值p1在c1失效,并且值p2=p3僅在c2失效。
對(duì)于在感興趣的歷史重新計(jì)算上定義的一組穩(wěn)定時(shí)段,預(yù)先計(jì)算的搜索結(jié)果i在k個(gè)時(shí)間單位內(nèi)沒(méi)有失效的概率然后被定義為:
其中dt表示時(shí)基(例如,分鐘或小時(shí)、10分鐘、0.5小時(shí)或2小時(shí)等),并且k表示根據(jù)時(shí)基的時(shí)間單位的數(shù)量(例如,k=3并且時(shí)基為10分鐘,3dt=3×10=30分鐘)。
該公式的效果通過(guò)圖8b進(jìn)行可視化。在該示例中,單個(gè)穩(wěn)定時(shí)段c1-c0被定義為c0=20分鐘并且c1=70分鐘,即,假定預(yù)先計(jì)算的搜索結(jié)果i的失效發(fā)生在c0=20分鐘時(shí)和c1=70分鐘時(shí)的時(shí)間(不在此間隔之間)。時(shí)基被選擇為10分鐘并且k=2(即2×10分鐘=20分鐘)。因此,kdt形成20分鐘的時(shí)間窗口。為了確定(在第一次重新計(jì)算之后)的kdt處的重新計(jì)算是否產(chǎn)生預(yù)先計(jì)算的搜索結(jié)果i的不同值,該時(shí)間窗口然后滑過(guò)穩(wěn)定時(shí)段(由圖8b中正在進(jìn)行的2dt窗口指示)。在前三個(gè)位置期間,預(yù)先計(jì)算的搜索結(jié)果i保持有效,因?yàn)樵赾0處更新的預(yù)先計(jì)算的搜索結(jié)果被假定僅在c1處(不是更早)改變。但是,在滑動(dòng)窗口的兩個(gè)最后兩個(gè)位置期間,檢測(cè)到預(yù)先計(jì)算的搜索結(jié)果i的失效,因?yàn)?dt窗口到達(dá)或與預(yù)先計(jì)算的搜索結(jié)果i在c1處的下一個(gè)假定的變化重疊。因此,在穩(wěn)定時(shí)段c1-c0中的任何20分鐘內(nèi)預(yù)先計(jì)算的搜索結(jié)果i沒(méi)有失效的概率是3/5,因?yàn)樵谖鍌€(gè)滑動(dòng)窗口位置中的三個(gè)中沒(méi)有檢測(cè)到i的失效。返回參考以上等式,這由p(nochange|k=2)=(70-20-2*10)/(70-20)=3/5給出。注意的是,出于說(shuō)明的原因,這是簡(jiǎn)化的示例。在實(shí)踐中,通常將存在多個(gè)穩(wěn)定時(shí)段(對(duì)于為預(yù)先計(jì)算的搜索結(jié)果產(chǎn)生不同值的每對(duì)重新計(jì)算)。因此,如以上闡述的滑動(dòng)窗口機(jī)制將對(duì)于每個(gè)現(xiàn)有的穩(wěn)定時(shí)段執(zhí)行并通過(guò)以上等式進(jìn)行處理。
離散有效性概率值的估計(jì)(活動(dòng)17)包括改變時(shí)基單位的數(shù)量k并且計(jì)算任何給定k的有效性概率值(例如,如果時(shí)基為10分鐘,那么滑動(dòng)窗口大小可以從10分鐘,即k=1改變?yōu)樽疃?8小時(shí),即k=288)。
換句話說(shuō),該算法的目標(biāo)是:在假定預(yù)先計(jì)算的搜索結(jié)果i的失效時(shí)間點(diǎn)(c0、c1、...)是已知的并且如果預(yù)先計(jì)算的搜索結(jié)果i的第一次重新計(jì)算在c0和c1之間的任何時(shí)間t0處執(zhí)行并且預(yù)先計(jì)算的搜索結(jié)果i的第二次重新計(jì)算發(fā)生在一段時(shí)間之后(即kdt之后,在t1處)的情況下,確定預(yù)先計(jì)算的搜索結(jié)果i的兩個(gè)后續(xù)重新計(jì)算完全相同的概率。對(duì)于該估計(jì),采用c0和cq之間可能的各種不同的t0,并且對(duì)于這些第一次重新計(jì)算時(shí)間中的每一個(gè),檢查在t1處(即,t0+kdt)的第二次重新計(jì)算是否產(chǎn)生不同的預(yù)先計(jì)算的搜索結(jié)果i,即,在t0和t0+kdt之間的ci處是否存在失效。如果,例如,對(duì)于80%的t0的測(cè)試(滑動(dòng))時(shí)間,預(yù)先計(jì)算的搜索結(jié)果i在t1=t0+kdt處的第二次重新計(jì)算產(chǎn)生相同的預(yù)先計(jì)算的搜索結(jié)果i,那么認(rèn)為預(yù)先計(jì)算的搜索結(jié)果i在其計(jì)算之后的kdt仍然有效的概率為80%,即,p(在kdt之后有效)=0.8。然后,用不同的k值執(zhí)行相同的處理。這產(chǎn)生離散的有效性概率值,諸如p(在1小時(shí)之后有效)=0.990,p(在2小時(shí)之后有效)=0.981,p(在3小時(shí)之后有效)=...,等等。
因此,以這種方式,活動(dòng)17的結(jié)果是在特定時(shí)間點(diǎn)處的一系列個(gè)體有效性概率值,如圖9a所示。
現(xiàn)在回到參考圖7,經(jīng)驗(yàn)分布函數(shù)估計(jì)的高級(jí)過(guò)程的最后一個(gè)活動(dòng)18由個(gè)體有效性概率值的指數(shù)回歸形成,以便確定對(duì)應(yīng)于從活動(dòng)17產(chǎn)生的離散有效性概率值的最佳擬合函數(shù)。這通過(guò)眾所周知的回歸方法來(lái)實(shí)現(xiàn)。如圖9b所示,回歸分別得出λi和
在下文中,描述了通過(guò)建立fi(t)來(lái)確定有效性趨勢(shì)λi的更具體的示例。在這個(gè)示例中,預(yù)先計(jì)算的搜索結(jié)果是旅行相關(guān)的數(shù)據(jù),更具體地,是標(biāo)價(jià)旅行建議。搜索平臺(tái)4預(yù)先計(jì)算和存儲(chǔ)每個(gè)提供的旅行的最低價(jià)格。但是,以下示例不特定于這種旅行相關(guān)的數(shù)據(jù),而是也可以被轉(zhuǎn)變?yōu)槠渌愋偷念A(yù)先計(jì)算的搜索結(jié)果。
該示例的一個(gè)特性是活動(dòng)17和18由兩個(gè)連續(xù)的mapreduce作業(yè)執(zhí)行。本示例的第一mapreduce作業(yè)涉及活動(dòng)17,并且執(zhí)行由搜索平臺(tái)4存儲(chǔ)并由重新計(jì)算控制器2管理的標(biāo)價(jià)旅行建議的價(jià)格歷史重建。由搜索平臺(tái)4存儲(chǔ)的每個(gè)標(biāo)價(jià)旅行建議具有若干數(shù)據(jù)字段,諸如起始地、目的地、出發(fā)日期、返回日期、提供建議的旅行社的id以及價(jià)格。重新計(jì)算控制器2保持與標(biāo)價(jià)旅行建議相關(guān)聯(lián)的附加控制數(shù)據(jù),諸如最后一次重新計(jì)算的時(shí)間戳。此外,重新計(jì)算控制器2或可替代地,可由重新計(jì)算控制器2訪問(wèn)的另一個(gè)實(shí)體(諸如歷史數(shù)據(jù)庫(kù))維護(hù)標(biāo)價(jià)旅行建議的歷史版本,包括較早的重新計(jì)算的前期價(jià)格和時(shí)間戳。用于歷史標(biāo)價(jià)旅行建議的價(jià)格歷史重建的數(shù)據(jù)庫(kù)關(guān)鍵字是例如數(shù)據(jù)字段旅行社id、起始地、目的地、出發(fā)日期和返回日期的組合。價(jià)格歷史重建的目標(biāo)是:對(duì)于每個(gè)旅行建議的每個(gè)歷史版本,獲得與每次重新計(jì)算相關(guān)聯(lián)的最便宜的價(jià)格和時(shí)間戳。這是通過(guò)以下map/reduce過(guò)程完成的:
-map過(guò)程將重新計(jì)算時(shí)間戳和價(jià)格的元組與每個(gè)關(guān)鍵字相關(guān)聯(lián)。
-reduce過(guò)程將重新計(jì)算時(shí)間戳和價(jià)格的排序元組列表與關(guān)鍵字相關(guān)聯(lián)。
示例性標(biāo)價(jià)旅行建議的示例性結(jié)果如下:
關(guān)鍵字是paraf08aa,nce,lon,15/02/2012,20/02/2012,其中paraf08aa是旅行社id,nce是起始地(尼斯的機(jī)場(chǎng)代碼),lon是目的地(倫敦大都市區(qū)的機(jī)場(chǎng)代碼),15/02/2012是出發(fā)日期并且20/02/2012是返回日期。由該關(guān)鍵字定義的旅行建議與重新計(jì)算時(shí)間戳和由重新計(jì)算產(chǎn)生并通過(guò)重新計(jì)算時(shí)間戳排序的價(jià)格的元組列表相關(guān)聯(lián),諸如(15/01/2012,150),(16/01/2012,160),(17/01/2012,160)等,第一個(gè)串(諸如15/01/2012)指示重新計(jì)算時(shí)間戳,第二個(gè)數(shù)字(諸如150)指定以歐元為單位的價(jià)格(注意的是,在這個(gè)示例中的時(shí)間戳出于簡(jiǎn)單化的原因是以天為粒度的,但實(shí)際上,時(shí)間戳的分辨率更高,諸如分鐘或秒)。因此,在這個(gè)示例中,示出了在連續(xù)三天上的三次計(jì)算。最初示例性旅行建議可用的最便宜價(jià)格是150歐元,并且在頭兩次計(jì)算之間的某個(gè)時(shí)間點(diǎn)處增加了10歐元。
例如,通過(guò)采用以上詳細(xì)描述的滑動(dòng)窗口技術(shù),執(zhí)行第二mapreduce作業(yè)以實(shí)現(xiàn)經(jīng)驗(yàn)有效性估計(jì)(活動(dòng)18)。為此,對(duì)于所有可行的k值(例如10分鐘和48小時(shí)之間的時(shí)間單位),計(jì)算包含價(jià)格變化的、位于所有可能的時(shí)間窗口位置之外的滑動(dòng)時(shí)間窗口的數(shù)量。這是在關(guān)鍵字級(jí)別完成的,關(guān)鍵字為旅行社id、起始地和目的地,以及附加地,重新計(jì)算和出發(fā)日期之間的時(shí)間范圍(下文稱為提前范圍)。例如,關(guān)鍵字paraf08aa,nce,lon,15,30用于確定在15到30天之間的提前范圍(即,在旅行建議的出發(fā)日期之前15到30天的時(shí)間窗口)中的價(jià)格變化的數(shù)量。
考慮提前范圍的動(dòng)機(jī)是為了避免關(guān)鍵字?jǐn)?shù)量的爆炸增長(zhǎng),并且提高在關(guān)鍵字級(jí)別聚合的價(jià)格變化信息的統(tǒng)計(jì)意義。此外,可以定義提前范圍組,并且針對(duì)每個(gè)提前范圍組聚合所確定的價(jià)格變化。提前范圍的示例性分組是{[0-3],[4-6],[7-13],[14-20],[21-30],[31-60],[61-90],[91-120],[121-180],[181,270],[271-361]},即,第一組由出發(fā)日期至出發(fā)日期前三天的時(shí)間窗口給出,第二組由出發(fā)日期前四到六天的時(shí)間窗口給出,等等。
第二mapreduce作業(yè)的簡(jiǎn)化示例性結(jié)果(確定變化的k值的離散有效性概率值)如下:
-穩(wěn)定時(shí)段的總持續(xù)時(shí)間(即,來(lái)自滿足關(guān)鍵字paraf08aa,nce,lon,15,30的所有標(biāo)價(jià)旅行建議的所有元組的所有穩(wěn)定時(shí)段的總和為120天)
-通過(guò)改變k=1,2,3,4,采用四個(gè)不同的滑動(dòng)時(shí)間窗口,
-對(duì)于每個(gè)k值,計(jì)算:∑0≤i<nmax{ci+1-ci-kdt,0}
-對(duì)于k=l,這產(chǎn)生以下有效性概率:110/120(即,在可能的滑動(dòng)窗口位置中的110個(gè)中已經(jīng)產(chǎn)生標(biāo)價(jià)旅行建議的價(jià)格在第二次重新計(jì)算時(shí)沒(méi)有改變,即,對(duì)于k時(shí)間單位,價(jià)格在120個(gè)情況中的110個(gè)中是穩(wěn)定的),對(duì)于k=2:95/120,對(duì)于k=3:72/120并且對(duì)于k=4:60/120。
最大似然估計(jì)
作為通過(guò)建立經(jīng)驗(yàn)分布函數(shù)來(lái)確定有效性趨勢(shì)λi和/或瞬時(shí)有效率
最大似然估計(jì)是估計(jì)概率模型的參數(shù)的方法。當(dāng)應(yīng)用于數(shù)據(jù)集并給定概率模型時(shí),最大似然估計(jì)提供對(duì)模型參數(shù)的估計(jì)。通常,最大似然估計(jì)選擇使似然函數(shù)最大化的模型參數(shù)的值集合。因此,這種方法用觀察到的數(shù)據(jù)使所選擇的概率模型的對(duì)應(yīng)關(guān)系最大化。
對(duì)于確定有效性趨勢(shì)λi和/或瞬時(shí)有效率
預(yù)先計(jì)算的搜索結(jié)果i的重新計(jì)算的歷史樣本可以被定義為b=(b1,b2,b3,...,bn)。該樣本的似然函數(shù)l是該樣本對(duì)于給定參數(shù)λi實(shí)際發(fā)生的概率:
如果要估計(jì)若干預(yù)先計(jì)算的搜索結(jié)果(例如,份額d內(nèi)的所有預(yù)先計(jì)算的搜索結(jié)果)的公共有效性趨勢(shì)λi和/或瞬時(shí)有效率
然后通過(guò)確定該似然函數(shù)l的最大值,即,確定導(dǎo)致最高似然性的λi的值來(lái)估計(jì)參數(shù)λi。似然函數(shù)的最大值根據(jù)以下等式來(lái)確定(在本示例中,先前等式的對(duì)數(shù)的一階導(dǎo)數(shù)被設(shè)置為零):
該等式在數(shù)值上被解析為λi。
此外,可選地,使用置信因子來(lái)評(píng)估由最大似然法估計(jì)的λi與λi的真實(shí)值的潛在偏差(為了清楚起見(jiàn),在下文中將λi的估計(jì)值表示為
隨著樣本大小的增加,由觀察到的樣本b、λi|b給出的λi的真實(shí)值收斂到正態(tài)分布,其中具有期望值
這意味著,給定觀察到的樣本,可以通過(guò)以下評(píng)估在區(qū)間
其中φ是累積高斯分布函數(shù)。
因此,這產(chǎn)生最大似然估計(jì)的置信因子,其為:
這個(gè)置信因子可以用于評(píng)估λi在由δ給出的間隔之外的概率:
該置信因子的特定應(yīng)用是,例如,通過(guò)最大似然估計(jì)來(lái)評(píng)估足夠的樣本大小以獲得可靠的估計(jì)。因此,例如,在一些實(shí)施例中,樣本大小逐漸增加,直到產(chǎn)生20%誤差(即
圖10示出了由搜索平臺(tái)4存儲(chǔ)的預(yù)先計(jì)算的搜索結(jié)果和根據(jù)概率模型(在圖10中表示為“模型”)基于長(zhǎng)期有效性趨勢(shì)λ的有效性概率的相應(yīng)示例性值以及由瞬時(shí)有效率
圖10圖示了其中根據(jù)以上闡述的方法已經(jīng)為份額的一部分(即,份額b1、e1、d2、b3和c3)確定了有效性趨勢(shì)λ和瞬時(shí)有效率
此外,圖10的各種份額之間存在不同級(jí)別的相關(guān)性。例如,在份額x1(a1至f1)、x2和x3之間分別(即在涉及特定起始地-目的地組合的圖10的矩陣的一行內(nèi)的份額之間)存在強(qiáng)相關(guān)性。在特定起始地-目的地組合的這些份額內(nèi),在連續(xù)月份的相鄰份額之間存在特別強(qiáng)的相關(guān)性。另一方面,份額x1(第1行中的所有份額)仍然與份額x2(第2行中的所有份額)在中等程度上相關(guān),例如,因?yàn)樗鼈儍烧叨忌婕捌鹗嫉卦诜▏?guó)的旅行建議(第1行:巴黎,第2行:尼斯)。份額x1和x2之間的相關(guān)性對(duì)于涉及同一個(gè)月的份額(例如b1和b2之間)是較強(qiáng)的,在連續(xù)月份的份額之間(例如b1和c2之間)較不強(qiáng),并且在涉及更遠(yuǎn)月份的份額之間(諸如1b和2f)更不強(qiáng)。另一方面,份額x3(第3行中的所有份額)與其它份額x1和x2幾乎不相關(guān),例如,份額x3涉及美國(guó)國(guó)內(nèi)旅行,其中起始地=波士頓并且目的地=邁阿密,而份額x1和x2是指源自歐洲的旅行。
在圖10的示例中,份額b1、e1、b3和c3的有效性趨勢(shì)λ的值已經(jīng)在較早的時(shí)間點(diǎn)確定。份額b1、e1、b3和c3的瞬時(shí)有效率
在已確定瞬時(shí)有效率
之后,重新計(jì)算控制器2做出下一個(gè)重新計(jì)算決定,以便根據(jù)所采用的重新計(jì)算策略來(lái)選擇下一個(gè)要重新計(jì)算的預(yù)先計(jì)算的標(biāo)價(jià)旅行建議(圖6的活動(dòng)16)。該決定是基于降低的有效性概率,即,例如,基于λe1和λb1的降低值,降低的有效性概率會(huì)導(dǎo)致比在沒(méi)有重新計(jì)算控制器2完成的改變的情況下較早地重新計(jì)算份額e1和b1的預(yù)先計(jì)算的標(biāo)價(jià)旅行建議。在份額e1和份額b1中的預(yù)先計(jì)算的標(biāo)價(jià)旅行建議已經(jīng)分別被重新計(jì)算之后,λe1和λb1的值可選地被新確定(例如,通過(guò)采用如以上詳細(xì)描述的–圖6的活動(dòng)12–確定經(jīng)驗(yàn)分布函數(shù)或最大似然估計(jì)的機(jī)制),或者,可替代地,重置為其先前值(因?yàn)榭梢灶A(yù)期,在重新計(jì)算之后,份額e1和份額b1中的預(yù)先計(jì)算的標(biāo)價(jià)旅行建議的有效性像正常那樣降低)。此外,
圖11可視化與預(yù)先計(jì)算的搜索結(jié)果i相關(guān)聯(lián)的有效性概率的改變(術(shù)語(yǔ)預(yù)先計(jì)算的搜索結(jié)果i在下文中涵蓋以下兩者:個(gè)別預(yù)先計(jì)算的搜索結(jié)果以及預(yù)先計(jì)算的搜索結(jié)果集合,諸如份額),如以上結(jié)合圖6的活動(dòng)15所描述的。在圖11的示例中,粗直線20表示有效性概率以每小時(shí)0.01的速率降低(即,由線20表示的預(yù)先計(jì)算的搜索結(jié)果在一個(gè)小時(shí)內(nèi)保持有效的概率為99%或者由線20表示的預(yù)先計(jì)算的搜索結(jié)果集合的99%在一小時(shí)內(nèi)保持有效)。因此,線20可視化通過(guò)函數(shù)
圖12圖示實(shí)現(xiàn)上述方法的示例性重新計(jì)算控制器2的內(nèi)部體系架構(gòu)。根據(jù)圖12的示例,重新計(jì)算控制器2包括以下部件:
-預(yù)先計(jì)算的搜索結(jié)果存儲(chǔ)裝置26是分布式數(shù)據(jù)儲(chǔ)存庫(kù),其包含在給定時(shí)間段(諸如過(guò)去幾個(gè)月)內(nèi)由計(jì)算平臺(tái)3計(jì)算的歷史預(yù)先計(jì)算的搜索結(jié)果。預(yù)先計(jì)算的搜索結(jié)果由儲(chǔ)存庫(kù)管理器25插入到存儲(chǔ)裝置26中,儲(chǔ)存庫(kù)管理器25從計(jì)算平臺(tái)3接收重新計(jì)算的搜索結(jié)果。
-有效性趨勢(shì)評(píng)估器27:該部件分析預(yù)先計(jì)算的搜索結(jié)果的連續(xù)重新計(jì)算之間的差異,并且生成有效性趨勢(shì)值λi。有效性趨勢(shì)值λi(以及與預(yù)先計(jì)算的搜索結(jié)果相關(guān)聯(lián)的其它控制數(shù)據(jù))經(jīng)由輸入管理器31存儲(chǔ)在內(nèi)部數(shù)據(jù)表示30中。
-瞬時(shí)有效率評(píng)估器28:該部件由儲(chǔ)存庫(kù)管理器25在每次儲(chǔ)存庫(kù)管理器25從計(jì)算平臺(tái)3接收到重新計(jì)算的搜索結(jié)果集合并且將該重新計(jì)算的搜索結(jié)果集合插入到內(nèi)部數(shù)據(jù)表示中時(shí)觸發(fā)。瞬時(shí)有效率評(píng)估器28通過(guò)比較每個(gè)預(yù)先計(jì)算的搜索結(jié)果的兩個(gè)最后版本來(lái)確定瞬時(shí)有效率值
-相關(guān)性評(píng)估器29:該部件確定預(yù)先計(jì)算的搜索結(jié)果的份額之間的相關(guān)性。它也可以負(fù)責(zé)管理預(yù)先計(jì)算的搜索結(jié)果的份額,即,首先將預(yù)先計(jì)算的搜索結(jié)果細(xì)分成份額,并將新創(chuàng)建/計(jì)算出的預(yù)先計(jì)算的搜索結(jié)果分配給相應(yīng)的份額(如果細(xì)分成份額由數(shù)據(jù)庫(kù)結(jié)構(gòu)反映,但不一定必須是這種情況-如上所述,細(xì)分可以是根據(jù)給定規(guī)則的純邏輯分割,諸如-在預(yù)先計(jì)算的搜索結(jié)果是標(biāo)價(jià)旅行建議的示例中–特定起始地和目的地的標(biāo)價(jià)旅行建議,并且分組成出發(fā)日期時(shí)間間隔,諸如對(duì)于在今天和今天+30天之間出發(fā)的特定起始地-目的地對(duì)的所有標(biāo)價(jià)旅行建議(份額d1)、對(duì)于在今天+31天至今天+60天之間出發(fā)的同一起始地-目的地對(duì)的所有標(biāo)價(jià)旅行建議(份額d2),等等)。與預(yù)先計(jì)算的搜索結(jié)果份額相關(guān)聯(lián)的結(jié)果產(chǎn)生的相關(guān)因子經(jīng)由輸入管理器31存儲(chǔ)在內(nèi)部數(shù)據(jù)表示30中。
-內(nèi)部數(shù)據(jù)表示部件30:該部件提供構(gòu)建、存儲(chǔ)、更新和訪問(wèn)表示存儲(chǔ)在搜索平臺(tái)4中的預(yù)先計(jì)算的搜索結(jié)果的控制數(shù)據(jù)的矩陣的工具。內(nèi)部數(shù)據(jù)表示部件30的主要功能是提供存儲(chǔ)在搜索平臺(tái)4中的預(yù)先計(jì)算的搜索結(jié)果的“控制數(shù)據(jù)鏡像”,其用作分析預(yù)先計(jì)算的搜索結(jié)果的基礎(chǔ),以便決定預(yù)先計(jì)算的搜索結(jié)果中的哪一個(gè)要在下一個(gè)重新計(jì)算循環(huán)期間重新計(jì)算。更精確地,內(nèi)部數(shù)據(jù)表示部件30不保持如存儲(chǔ)在搜索平臺(tái)4中的預(yù)先計(jì)算的搜索結(jié)果的一對(duì)一拷貝,而是保持不必包括如存儲(chǔ)在搜索平臺(tái)4中的預(yù)先計(jì)算的搜索結(jié)果自身的適當(dāng)?shù)目刂茢?shù)據(jù)表示,但是另一方面,包括與預(yù)先計(jì)算的搜索結(jié)果相關(guān)聯(lián)的控制數(shù)據(jù),諸如其最后一次重新計(jì)算的時(shí)間,以及特別地,有效性趨勢(shì)值λi和瞬時(shí)有效率值
-輸入管理器31:該部件輸入來(lái)自包括有效性趨勢(shì)評(píng)估器27、瞬時(shí)有效率評(píng)估器28和相關(guān)性評(píng)估器29的各種源的控制數(shù)據(jù)。此外,輸入管理器31接收用于維護(hù)概率模型的其它控制數(shù)據(jù),諸如來(lái)自流行度數(shù)據(jù)庫(kù)或數(shù)據(jù)源的流行度報(bào)告、來(lái)自重新計(jì)算成本數(shù)據(jù)庫(kù)或數(shù)據(jù)源的重新計(jì)算成本測(cè)量、來(lái)自初始準(zhǔn)確度數(shù)據(jù)庫(kù)或數(shù)據(jù)源的初始準(zhǔn)確度測(cè)量、和/或來(lái)自指示潛在地影響預(yù)先計(jì)算的搜索結(jié)果的有效性的實(shí)時(shí)事件的來(lái)源的實(shí)時(shí)事件信號(hào)。這種其它控制數(shù)據(jù)經(jīng)由接口32輸入,接口32示意性地表示輸入管理器31到上述數(shù)據(jù)庫(kù)或數(shù)據(jù)源中的任何一個(gè)的(一個(gè)或多個(gè))連接。輸入管理器31將傳入的控制數(shù)據(jù)轉(zhuǎn)換成適當(dāng)?shù)臄?shù)據(jù)格式并更新表示如由內(nèi)部數(shù)據(jù)表示部件30存儲(chǔ)的預(yù)先計(jì)算的搜索結(jié)果的對(duì)應(yīng)的控制數(shù)據(jù)矩陣。
-分析器33:該部件基于由內(nèi)部數(shù)據(jù)表示部件30存儲(chǔ)的矩陣計(jì)算由概率模型暗示的中間數(shù)據(jù)矩陣(即,從概率模型的控制數(shù)據(jù)導(dǎo)出的預(yù)先計(jì)算的搜索結(jié)果的有效性概率,諸如年齡、有效性趨勢(shì)、流行度、初始準(zhǔn)確度)。
-事件管理器34:該部件聚合關(guān)于實(shí)時(shí)事件信息的信息,并且相應(yīng)地修正由概率模型給出的有效性預(yù)測(cè)。此外,該部件被增強(qiáng)以基于瞬時(shí)有效率值
-優(yōu)化器35:該部件執(zhí)行重新計(jì)算策略,例如重新計(jì)算頻率定向的重新計(jì)算,以及考慮到內(nèi)相關(guān)的預(yù)先計(jì)算的搜索結(jié)果的變化計(jì)算成本的預(yù)先計(jì)算的搜索結(jié)果的迭代選擇,如在歐洲申請(qǐng)14290040.6中詳細(xì)描述的。在已確定要重新計(jì)算預(yù)先計(jì)算的搜索結(jié)果之后,優(yōu)化器35生成重新計(jì)算命令并經(jīng)由接口36將這些重新計(jì)算命令發(fā)出到計(jì)算平臺(tái)3。此外,優(yōu)化器35更新存儲(chǔ)在內(nèi)部數(shù)據(jù)表示部件30中的這些預(yù)先計(jì)算的搜索結(jié)果的重新計(jì)算時(shí)間。
-有效性評(píng)估模塊37是基于包括有效性趨勢(shì)值λi的概率模型的參數(shù)生成預(yù)先計(jì)算的搜索結(jié)果隨時(shí)間推移的有效性的統(tǒng)計(jì)信息的插件。統(tǒng)計(jì)信息被輸出到外部評(píng)估顯示器和/或用于呈現(xiàn)給用戶。
最后,圖13是計(jì)算機(jī)或服務(wù)器120的內(nèi)部結(jié)構(gòu)的示意圖,該計(jì)算機(jī)或服務(wù)器120實(shí)現(xiàn)如本文所述的重新計(jì)算預(yù)先計(jì)算的搜索結(jié)果的機(jī)制。計(jì)算機(jī)或服務(wù)器120被布置為執(zhí)行一組指令,以使其執(zhí)行上述任何方法。計(jì)算機(jī)或服務(wù)器120包括處理器121、主存儲(chǔ)器122和可選的無(wú)線網(wǎng)絡(luò)接口123(諸如wi-fi和/或藍(lán)牙接口)和/或2g/3g/4g移動(dòng)網(wǎng)絡(luò)接口設(shè)備,所有這些經(jīng)由總線124彼此通信。它還包括靜態(tài)存儲(chǔ)器125(例如,不可去除的閃存和/或固態(tài)驅(qū)動(dòng)器和/或可去除的micro或minisd卡),其永久地存儲(chǔ)軟件,該軟件使得計(jì)算機(jī)/服務(wù)器120能夠執(zhí)行重新計(jì)算控制器2的功能(諸如確定有效性趨勢(shì)值、瞬時(shí)有效率值、比較兩者、改變相關(guān)的預(yù)先計(jì)算的搜索結(jié)果的有效性概率、選擇用于重新計(jì)算的預(yù)先計(jì)算的搜索結(jié)果等)并且可選地經(jīng)由其有線和/或無(wú)線網(wǎng)絡(luò)接口設(shè)備123在局域網(wǎng)或廣域網(wǎng)內(nèi)與客戶端計(jì)算機(jī)/設(shè)備通信。此外,計(jì)算機(jī)/服務(wù)器120包括顯示器127、用戶界面控制模塊129以及字母數(shù)字和光標(biāo)輸入設(shè)備128??蛇x地,可以存在附加的i/o接口126,諸如讀卡器和usb接口。體現(xiàn)上述方法中的任何一個(gè)或全部的可執(zhí)行指令集(即軟件)130完全地或至少部分地永久駐留在非易失性存儲(chǔ)器125中。當(dāng)被執(zhí)行時(shí),相應(yīng)的過(guò)程數(shù)據(jù)駐留在主存儲(chǔ)器122和/或處理器121中。軟件130還可以作為傳播信號(hào)132通過(guò)有線或無(wú)線網(wǎng)絡(luò)接口設(shè)備123從/向局域網(wǎng)或互聯(lián)網(wǎng)內(nèi)的軟件服務(wù)器接收或發(fā)送。
雖然本文已經(jīng)描述了根據(jù)本發(fā)明的教導(dǎo)構(gòu)造的某些產(chǎn)品和方法,但是本專利的覆蓋范圍不限于此。相反,本專利涵蓋了本發(fā)明教導(dǎo)的、在字面上或者根據(jù)等同原則完全落入所附權(quán)利要求范圍內(nèi)的所有實(shí)施例。