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