專(zhuān)利名稱(chēng):用于警報(bào)傳遞體系結(jié)構(gòu)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總地涉及消息發(fā)送,更具體地說(shuō),涉及在網(wǎng)絡(luò)上實(shí)現(xiàn)警報(bào)的傳遞。
背景技術(shù):
一些服務(wù)已向用戶(hù)提供了專(zhuān)門(mén)內(nèi)容(例如,證券報(bào)價(jià))的警報(bào)。這些警報(bào)服務(wù)一般向已注冊(cè)到特定服務(wù)的用戶(hù)提供有關(guān)單個(gè)主題的內(nèi)容。為了獲得有關(guān)多個(gè)主題的警報(bào),用戶(hù)一般要注冊(cè)到多個(gè)服務(wù)。
圖1根據(jù)本發(fā)明圖示了一個(gè)示例性的警報(bào)體系結(jié)構(gòu);圖2是圖示了在與參照?qǐng)D1描述的體系結(jié)構(gòu)相對(duì)應(yīng)的各功能元件之間的關(guān)系和數(shù)據(jù)流的功能框圖;圖3是圖示了示例性的用于處理所收集內(nèi)容的邏輯的流程圖;圖4圖示了用于管理輪詢(xún)內(nèi)容以產(chǎn)生定期警報(bào)的輪詢(xún)器(poller)體系結(jié)構(gòu);圖5是圖示了用于準(zhǔn)備基于時(shí)間的警報(bào)的邏輯的流程圖;圖6是圖示了示例性的用于向一個(gè)或多個(gè)用戶(hù)傳遞警報(bào)的邏輯的流程圖;以及圖7示出了根據(jù)本發(fā)明一種實(shí)施方式的一個(gè)示例性服務(wù)器的功能框圖。
具體實(shí)施例方式
下面將參考附圖來(lái)更充分地描述本發(fā)明,這些附圖構(gòu)成了本發(fā)明的一部分,并且以圖示說(shuō)明的方式示出了可以實(shí)現(xiàn)本發(fā)明的示例性的具體實(shí)施方式
。然而,本發(fā)明可以具體實(shí)現(xiàn)為多種不同的形式,不應(yīng)當(dāng)被理解為局限于這里所闡述的實(shí)施方式;相反,提供這些實(shí)施方式是為了使公開(kāi)變得充分完整,并且向本領(lǐng)域的技術(shù)人員充分地表述本發(fā)明的范圍。此外,本發(fā)明可以被實(shí)施為方法或設(shè)備。據(jù)此,本發(fā)明可以采用全硬件實(shí)施、全軟件實(shí)施或者軟件硬件兩個(gè)方面結(jié)合實(shí)施的形式。因此,以下詳細(xì)描述不具有限制意義。
在整個(gè)說(shuō)明書(shū)中,術(shù)語(yǔ)“連接”是指在互連的事物之間的直接連接,而沒(méi)有任何中間設(shè)備或組件。術(shù)語(yǔ)“耦合”是指在互連的事物之間的直接連接,或者通過(guò)一個(gè)或多個(gè)無(wú)源或有源的中間設(shè)備或組件的間接連接?!耙粋€(gè)”、“一種”和“該”的含義包括多個(gè)的意思?!霸?..中”包括“在...中”和“在...上”的含義。
簡(jiǎn)要地說(shuō),本發(fā)明涉及使得用戶(hù)能夠注冊(cè)一種興趣,并且接下來(lái)當(dāng)關(guān)于所注冊(cè)的興趣有新的信息變?yōu)榭捎脮r(shí),向該用戶(hù)提供通知(警報(bào))的系統(tǒng)和方法。用戶(hù)可能對(duì)幾種類(lèi)型的內(nèi)容都有興趣,包括但不限于證券饋送、新聞報(bào)道、個(gè)人廣告、購(gòu)物清單價(jià)格、圖像、搜索結(jié)果等。另外,可以用多種傳遞方法中的任意一種或全部方法向用戶(hù)提供警報(bào),包括但不限于即時(shí)通訊(IM)、電子郵件、短消息服務(wù)(SMS)、多媒體消息服務(wù)(MMS)、語(yǔ)音消息等。
在一些情形中,用戶(hù)可以選擇通過(guò)所有可用的方法來(lái)提供針對(duì)某些已注冊(cè)的興趣的警報(bào),而對(duì)于其他已注冊(cè)的興趣的其他警報(bào),選擇只用一種方法來(lái)提供。此外,可以用一種推壓(push)方法來(lái)提供一些警報(bào),以提供相對(duì)即刻的通知。在此情況下,本發(fā)明將會(huì)利用所存儲(chǔ)的聯(lián)系信息,用所有已選擇的傳遞方法向用戶(hù)傳遞警報(bào)。相反,可以用拉回(pull)方法提供其他的警報(bào),該方法響應(yīng)于來(lái)自用戶(hù)的、有關(guān)其他已注冊(cè)興趣的請(qǐng)求,用警報(bào)做出應(yīng)答。請(qǐng)求也可以被安排為發(fā)生預(yù)定的次數(shù),以提供周期性的警報(bào)。
對(duì)于從網(wǎng)絡(luò)上的某個(gè)網(wǎng)絡(luò)地址翻譯(NAT)設(shè)備后面與本發(fā)明通信的用戶(hù)而言,拉回方法采用通過(guò)用戶(hù)的拉回請(qǐng)求而建立的連接來(lái)向用戶(hù)發(fā)送警報(bào)。多長(zhǎng)時(shí)間提供一次拉回警報(bào)取決于用戶(hù)發(fā)出本發(fā)明的拉回請(qǐng)求的頻率。然而,對(duì)于沒(méi)有通過(guò)NAT與本發(fā)明通信的其他用戶(hù)而言,可以以選定的時(shí)間間隔采用所述推壓方法來(lái)提供不那么緊急的警報(bào)。
可以在網(wǎng)頁(yè)上為用戶(hù)提供警報(bào)的歷史。另外,對(duì)于基本相同的已注冊(cè)興趣,用于處理其警報(bào)的查詢(xún)可以被合并在一起,使得本發(fā)明能夠擴(kuò)展到相對(duì)大量的用戶(hù)。為了進(jìn)一步實(shí)現(xiàn)可擴(kuò)展性,當(dāng)用于已注冊(cè)興趣的新內(nèi)容信息變?yōu)榭捎脮r(shí),例如可以通過(guò)可擴(kuò)展置標(biāo)語(yǔ)言(XML)饋送將對(duì)查詢(xún)的布爾預(yù)處理和預(yù)編索引應(yīng)用于新的內(nèi)容信息。還可以提供用戶(hù)配置信息(user profile),其中包括各種信息,包括但不限于對(duì)已注冊(cè)興趣的布爾查詢(xún)、傳遞方法、時(shí)間進(jìn)度表等。
圖1根據(jù)本發(fā)明圖示了一種示例性的警報(bào)體系結(jié)構(gòu)。該警報(bào)體系結(jié)構(gòu)可以用一個(gè)或多個(gè)軟件模塊和/或一個(gè)或多個(gè)計(jì)算設(shè)備(例如服務(wù)器、客戶(hù)端設(shè)備等)來(lái)實(shí)現(xiàn)。計(jì)算設(shè)備通常包括處理器、存儲(chǔ)器、通信接口、輸入/輸出接口、存儲(chǔ)設(shè)備、和/或其他常見(jiàn)的計(jì)算元件。警報(bào)處理系統(tǒng)100a訪問(wèn)源內(nèi)容101、伙伴警報(bào)102、拉回內(nèi)容122和/或其他內(nèi)容信息,以作為警報(bào)分發(fā)給客戶(hù)端設(shè)備。源內(nèi)容101可以包括多種內(nèi)容,例如個(gè)人廣告、購(gòu)物價(jià)格、新聞報(bào)道等?;锇榫瘓?bào)102進(jìn)一步包括諸如證券報(bào)價(jià)、拍賣(mài)競(jìng)價(jià)等已作為警報(bào)從某一專(zhuān)題服務(wù)處提供的內(nèi)容。源內(nèi)容101和/或伙伴警報(bào)102可以是推壓和/或拉回的內(nèi)容。換言之,源內(nèi)容101和/或伙伴警報(bào)102可以是基于事件的內(nèi)容饋送和/或基于排定時(shí)間的內(nèi)容饋送。一個(gè)或多個(gè)饋送收集服務(wù)器103接收內(nèi)容并執(zhí)行輸入處理,下面將參考圖2和3做進(jìn)一步的描述。對(duì)于不即刻處理的內(nèi)容,收集服務(wù)器103將內(nèi)容發(fā)送到存儲(chǔ)服務(wù)器104。
一個(gè)或多個(gè)匹配服務(wù)器110將內(nèi)容與已指明有興趣接收有關(guān)選定內(nèi)容的警報(bào)的用戶(hù)關(guān)聯(lián)起來(lái)。通常,在內(nèi)容源壓入內(nèi)容時(shí)采用匹配服務(wù)器110,這種壓入的內(nèi)容尚未與用戶(hù)請(qǐng)求關(guān)聯(lián)。有關(guān)接收一種或多種類(lèi)型警報(bào)的興趣在用戶(hù)配置信息中指明,而所述用戶(hù)配置信息被存儲(chǔ)在用戶(hù)數(shù)據(jù)庫(kù)115中。用戶(hù)配置信息包括用戶(hù)標(biāo)識(shí)符、期望的警報(bào)類(lèi)型、期望的傳遞方法以及其他信息。輪詢(xún)器120代表用戶(hù)來(lái)管理對(duì)內(nèi)容的請(qǐng)求。通常,輪詢(xún)器120發(fā)起對(duì)內(nèi)容源的內(nèi)容訪問(wèn)。輪詢(xún)器120可以從不向收集服務(wù)器103推壓內(nèi)容的內(nèi)容源中訪問(wèn)一些獨(dú)立的拉回內(nèi)容122。
一個(gè)或多個(gè)傳遞服務(wù)器130與匹配服務(wù)器110和輪詢(xún)器120進(jìn)行通信。傳遞服務(wù)器130從輪詢(xún)器120中訪問(wèn)拉回內(nèi)容122,從匹配服務(wù)器110中訪問(wèn)推壓內(nèi)容,并且從用戶(hù)數(shù)據(jù)庫(kù)115中訪問(wèn)用戶(hù)信息。傳遞服務(wù)器130管理警報(bào)的分發(fā)并為其排定優(yōu)先級(jí),以便進(jìn)行即刻傳遞或預(yù)先排定的傳遞。預(yù)先排定的警報(bào)被存儲(chǔ)在一個(gè)或多個(gè)存儲(chǔ)服務(wù)器組132a-132n上。每個(gè)組可以對(duì)應(yīng)于一類(lèi)警報(bào)、一種傳遞方法、和/或其他特性。當(dāng)警報(bào)被準(zhǔn)備并且傳遞時(shí),用戶(hù)監(jiān)視器140觀察警報(bào)的流動(dòng),以獲知模式和/或其他內(nèi)情。監(jiān)視器140也可以跟蹤和/或訪問(wèn)有關(guān)用戶(hù)行為的信息,所述用戶(hù)行為例如是導(dǎo)航到網(wǎng)站,進(jìn)行在線購(gòu)買(mǎi)等。被跟蹤的行為也指示出被存儲(chǔ)在用戶(hù)數(shù)據(jù)庫(kù)115內(nèi)的用戶(hù)配置信息中的用戶(hù)興趣。日志器142跟蹤與各個(gè)用戶(hù)、警報(bào)類(lèi)型及其他參數(shù)相關(guān)聯(lián)的數(shù)據(jù)。調(diào)試器144被用來(lái)解決在處理警報(bào)時(shí)遇到的問(wèn)題。當(dāng)一個(gè)警報(bào)將被傳遞時(shí),它被路由到一個(gè)或多個(gè)適當(dāng)?shù)姆?wù)器,以按照用戶(hù)的偏好方法進(jìn)行傳遞。例如,電子郵件警報(bào)可以經(jīng)由批量服務(wù)器152來(lái)傳遞。前往無(wú)線移動(dòng)設(shè)備的警報(bào)可以經(jīng)由無(wú)線服務(wù)器154來(lái)傳遞。即時(shí)消息警報(bào)可以經(jīng)由即時(shí)消息服務(wù)器156來(lái)傳遞。每個(gè)警報(bào)一般都要通過(guò)網(wǎng)絡(luò)160被傳送到在用戶(hù)配置信息中標(biāo)識(shí)的客戶(hù)端設(shè)備。用戶(hù)可以指示該警報(bào)應(yīng)被傳遞給個(gè)人計(jì)算機(jī)(PC)162、移動(dòng)終端164、手持計(jì)算機(jī)166和/或其他設(shè)備中的一個(gè)或多個(gè)。
也可以使用鏡像接口158來(lái)與一個(gè)或多個(gè)鏡像警報(bào)處理系統(tǒng)100b進(jìn)行通信。前面介紹的數(shù)據(jù)和處理操作中的全部或若干部分可以被復(fù)制,以用于在相同和/或不同位置上的并行處理。鏡像接口158可以包括中央通信接口和/或分布在上述服務(wù)器的每一個(gè)中,使得每種服務(wù)器類(lèi)型都可以與多種鏡像服務(wù)器類(lèi)型通信。在每一個(gè)鏡像警報(bào)處理系統(tǒng)上,每種服務(wù)器類(lèi)型的操作都可以針對(duì)局部特有因素來(lái)定制。
圖2是圖示了在與參照?qǐng)D1描述的體系結(jié)構(gòu)相對(duì)應(yīng)的各功能元件之間的關(guān)系和數(shù)據(jù)流的功能框圖。推壓或拉回的源內(nèi)容170以一種或多種形式被接收到,包括以超文本置標(biāo)語(yǔ)言(HTML)文檔的形式,以XML文檔的形式,以文本文件的形式,以電子郵件消息的形式,以即時(shí)消息的形式等。在需要時(shí),收集處理模塊172對(duì)接收到的內(nèi)容執(zhí)行一項(xiàng)或多項(xiàng)預(yù)處理操作,以規(guī)范化所接收的多種內(nèi)容形式。規(guī)范化后的內(nèi)容文檔通常在饋送存儲(chǔ)104a中按照源、時(shí)間戳、內(nèi)容類(lèi)型和/或其他特性來(lái)編索引,以便于存儲(chǔ)和檢索,其中饋送存儲(chǔ)104a也基于存儲(chǔ)目錄路徑來(lái)指派統(tǒng)一資源定位符(URL)。URL可以被收集處理模塊172獲得,以用于隨后的檢索。下面參考圖3來(lái)更詳細(xì)地描述收集處理。
管理接口174可用于訪問(wèn)所接收的數(shù)據(jù),以供復(fù)查和/或管理功能,例如獲得狀態(tài)、搜索、手動(dòng)輸入內(nèi)容等。管理接口174還可以用于建立測(cè)試內(nèi)容的心跳式饋送(heartbeat feed),這些饋送被跟蹤來(lái)確保系統(tǒng)正常運(yùn)行。
如果內(nèi)容是從基于事件的饋送點(diǎn)(例如證券價(jià)格源)被壓入的,那么內(nèi)容被中繼到匹配引擎110a。這一中繼和/或其他通信,例如基于時(shí)間的饋送,可以經(jīng)由使得數(shù)據(jù)可從一個(gè)服務(wù)器被拷貝到另一個(gè)服務(wù)器的復(fù)制饋送而完成。可替換地,中繼和/或其他通信可以經(jīng)由數(shù)據(jù)總線饋送而完成,所述數(shù)據(jù)總線饋送使數(shù)據(jù)被廣播,直到被所有預(yù)期的接收者都接收到。匹配引擎關(guān)于所接收的內(nèi)容確定警報(bào)應(yīng)當(dāng)被發(fā)往的用戶(hù)。匹配引擎從用戶(hù)數(shù)據(jù)庫(kù)中訪問(wèn)用戶(hù)配置信息數(shù)據(jù)115a,以將內(nèi)容與已指明對(duì)該內(nèi)容的需求,或者以其他方式選擇接收有關(guān)該內(nèi)容的警報(bào)的用戶(hù)關(guān)聯(lián)起來(lái)。具體地說(shuō),用戶(hù)配置信息指示了用戶(hù)期望獲得其警報(bào)的一種或多種內(nèi)容類(lèi)型,例如交通事故、證券報(bào)價(jià)等。用戶(hù)的配置信息還指示出一個(gè)或多個(gè)布爾查詢(xún),它們包括一個(gè)或多個(gè)邏輯運(yùn)算符,例如AND、OR、NOT等。用戶(hù)配置信息中的一個(gè)布爾查詢(xún)樣本如下所示STOCK AND(COMPANY AND PRICE>$100)如果輸入的內(nèi)容類(lèi)型包括證券報(bào)價(jià),則匹配引擎110a應(yīng)用布爾查詢(xún),以確定該證券報(bào)價(jià)內(nèi)容是否包括有關(guān)所選擇的公司并且價(jià)格大于$100的信息。如果證券報(bào)價(jià)包括匹配的內(nèi)容,則匹配引擎110a將該用戶(hù)加入期望獲得有關(guān)所述匹配內(nèi)容的警報(bào)的用戶(hù)列表中。
很多其他用戶(hù)可能具有類(lèi)似的查詢(xún),和/或?qū)⑤斎氲膬?nèi)容與不同的查詢(xún)進(jìn)行匹配。為了改進(jìn)可擴(kuò)展性的性能,匹配引擎110a維護(hù)一個(gè)查詢(xún)索引,并將每個(gè)查詢(xún)與期望獲得相同的或者非常近似的查詢(xún)結(jié)果的那些用戶(hù)關(guān)聯(lián)起來(lái)。這個(gè)查詢(xún)索引減少了查詢(xún)操作的重復(fù)。以后輸入的內(nèi)容可以針對(duì)這些預(yù)編索引的查詢(xún)進(jìn)行分解。對(duì)于導(dǎo)致匹配的任何查詢(xún),對(duì)應(yīng)的用戶(hù)標(biāo)識(shí)符被加入列表。同樣取自用戶(hù)的配置信息并且被包括在列表中的是用戶(hù)期望的傳遞方法,例如通過(guò)電子郵件,通過(guò)即時(shí)消息,通過(guò)蜂窩電話等。類(lèi)似地,可以在用戶(hù)配置信息中指定期望的傳遞時(shí)間。也可以在用戶(hù)配置信息中提供消息限制,以限制被發(fā)送給用戶(hù)的警報(bào)和/或其他消息的數(shù)量。可以基于內(nèi)容的類(lèi)型、計(jì)算設(shè)備上的當(dāng)前負(fù)載和/或其他屬性,在所述計(jì)算設(shè)備之間分配查詢(xún)。當(dāng)對(duì)于內(nèi)容已完成了所有的查詢(xún)時(shí),匹配引擎110a準(zhǔn)備將所述內(nèi)容和列表中繼到傳遞接口130a。
在中繼之前,匹配引擎110a還可以基于用戶(hù)配置信息數(shù)據(jù)、內(nèi)容的類(lèi)型、將要發(fā)送的警報(bào)類(lèi)型等來(lái)確定優(yōu)先級(jí)。優(yōu)先級(jí)有時(shí)被稱(chēng)為服務(wù)質(zhì)量(QOS)等級(jí)。例如,證券價(jià)格內(nèi)容一般是高度時(shí)間敏感的,因此匹配引擎可以在向用戶(hù)匹配證券價(jià)格內(nèi)容時(shí)應(yīng)用更高的優(yōu)先級(jí)(例如,高QOS等級(jí))。另一個(gè)例子是,匹配引擎可以使用用戶(hù)配置信息數(shù)據(jù)115a來(lái)根據(jù)付費(fèi)服務(wù)計(jì)劃和/或其他特性,為發(fā)往用戶(hù)的警報(bào)指定優(yōu)先級(jí)。
對(duì)于使用基于排定時(shí)間的饋送的拉回內(nèi)容而言,輪詢(xún)器120a為期望獲得具有所指示內(nèi)容類(lèi)型的警報(bào)的一個(gè)或多個(gè)用戶(hù)請(qǐng)求內(nèi)容。輪詢(xún)器120a可以從收集處理模塊172中拉回內(nèi)容,或者直接從可能沒(méi)有被預(yù)先安排為將內(nèi)容饋送到收集處理模塊172的外部源中拉回內(nèi)容。外部?jī)?nèi)容被規(guī)范化,或者按上述方式進(jìn)行預(yù)處理,除非所請(qǐng)求的內(nèi)容在被發(fā)送給輪詢(xún)器120a之前已由內(nèi)容源進(jìn)行了預(yù)處理。下面參考圖4和5來(lái)進(jìn)一步描述輪詢(xún)器處理。
無(wú)論如何,當(dāng)內(nèi)容將被傳遞給終端用戶(hù)時(shí),圖2中所示的傳遞接口130a都以用戶(hù)期望的一種或多種方法來(lái)生成警報(bào)。例如,一些用戶(hù)可能期望警報(bào)以短消息服務(wù)(SMS)消息的形式被傳遞到蜂窩電話號(hào)碼。傳遞接口130a通常使用一個(gè)對(duì)應(yīng)于傳遞方法的模板。該模板被應(yīng)用于一個(gè)內(nèi)容文檔或指向內(nèi)容文檔的URL,以生成最終的警報(bào)。傳遞接口130a還為每個(gè)用戶(hù)管理著警報(bào)傳遞的定時(shí)和/或其他QOS方面。例如,一些警報(bào)被即刻傳遞,而其他警報(bào)可以被安排為隨后傳遞。其他例子包括基于地理位置、商業(yè)伙伴、內(nèi)容源和/或其他參數(shù)來(lái)安排路由。傳遞接口130a還管理著不可傳遞的警報(bào)和/或其他維護(hù)問(wèn)題。下面參考圖6來(lái)討論有關(guān)傳遞的更多細(xì)節(jié)。
內(nèi)容數(shù)據(jù)收集處理沒(méi)有描述有關(guān)內(nèi)容收集處理的進(jìn)一步細(xì)節(jié)。圖3是圖示了一種示例性的用于處理收集內(nèi)容的邏輯的流程圖。當(dāng)接收到內(nèi)容時(shí),在操作180處對(duì)源進(jìn)行認(rèn)證??梢砸砸环N或多種方式來(lái)實(shí)施認(rèn)證和/或其他安全措施,例如經(jīng)由數(shù)字證書(shū)、數(shù)字簽名、加密、虛擬私有網(wǎng)絡(luò)通道等。也可以用域安全性機(jī)制來(lái)認(rèn)證內(nèi)容的源,包括但不限于例如由雅虎公司提供的域密鑰應(yīng)用。
在操作182處,所接收的內(nèi)容被轉(zhuǎn)換成規(guī)范化內(nèi)容格式,例如XML格式。表1圖示了所接收的內(nèi)容被規(guī)范化成的XML數(shù)據(jù)結(jié)構(gòu)的例子,以供進(jìn)一步的處理以及最終作為警報(bào)的傳遞。
表1示例性的XML數(shù)據(jù)結(jié)構(gòu)
以下代碼圖示了有關(guān)交通事故的規(guī)范化XML內(nèi)容文檔的例子,它可被用于生成警報(bào)。
<?xml version=″1.0″e(cuò)ncoding=“UTF-8”?>
<AlertsDocument>
<Contact>shi@yahoo-inc.</Contact>
<Country>US</Country>
<Date>1048495620000</Date>
<ExpirationDate>1048497420000</ExpirationDate>
<Url>http//alerts.yahoo.com/</Url>
<Feed>us traffic</Feed>
<Type>traffic<Type>
<Title matching=1>
Disabled vehicle</Title>
<Abstract matching=1>
Disabled Vehicle</Abstract>
<Body>
Some more descriptive about the incident.
</Body>
<Alert_Data>
<DESC>Disabled Vehicle</DESC>
<LATITUDE>38.554289</LATITUDE>
<LONGITUDE>-121.406181</LONGITUDE>
<SEVERITY>2</SEVERITY>
<STATE>CA</STATE>
<MARKETCODE>SAC</MARKETCODE>
<ENDTIME>Mon Mar 2409:17:002003</ENDTIME>
<ITISCODE>211</ITISCODE>
<ITISMESSAGE>Some more descriptive about the incident.</ITISMESSAGE>
...
</AlertData>
</AlertsDocument>
在操作184處,收集處理模塊檢驗(yàn)所述內(nèi)容,以證實(shí)必要的數(shù)據(jù)已從源處被包括進(jìn)來(lái)。檢驗(yàn)操作還可以包括更新和/或清除先前已接收的重復(fù)內(nèi)容,和/或保證其他數(shù)據(jù)完整性方面。此外,檢驗(yàn)操作可以包括證實(shí)內(nèi)容是從經(jīng)認(rèn)證的源處正確接收的。檢驗(yàn)操作可以包括對(duì)加密/解密、數(shù)字簽名、數(shù)字證書(shū)、口令、對(duì)稱(chēng)密鑰對(duì)、非對(duì)稱(chēng)密鑰對(duì)等的檢驗(yàn)。
一般地,規(guī)范化的XML內(nèi)容文檔可以不經(jīng)修改就被處理。然而,在饋送變換操作185中可以進(jìn)行某些修改。在很多情形中,內(nèi)容饋送變換將包括細(xì)小的格式化轉(zhuǎn)換或簡(jiǎn)單的字符串替換,以解決檢驗(yàn)問(wèn)題。盡管如此,仍可以執(zhí)行更復(fù)雜的邏輯操作。例如,輸入的證券報(bào)價(jià)可以與先前的證券報(bào)價(jià)進(jìn)行比較,以確定證券價(jià)格是否發(fā)生了預(yù)定百分比的改變。當(dāng)某日開(kāi)盤(pán)后某支證券的價(jià)格改變了某個(gè)百分比時(shí),可能有大量請(qǐng)求獲得警報(bào)的用戶(hù)。收集處理模塊可以在將證券報(bào)價(jià)數(shù)據(jù)與用戶(hù)建立關(guān)聯(lián)之前預(yù)先計(jì)算當(dāng)前的百分比變化,從而在確定是否應(yīng)向上述大量用戶(hù)發(fā)送警報(bào)時(shí)不需要使用或者復(fù)制正在處理的資源。
在操作186處,收集處理模塊還為內(nèi)容編索引,以基于多種度量來(lái)存儲(chǔ)、搜索、檢索、跟蹤和/或組織內(nèi)容。其中一些度量是規(guī)范化內(nèi)容文檔的規(guī)范化數(shù)據(jù)結(jié)構(gòu)中固有的,然而,度量也可以被存儲(chǔ)在用于狀態(tài)信息和報(bào)告的索引文檔中。示例性的度量可以包括接收到內(nèi)容的時(shí)間、發(fā)送者的標(biāo)識(shí)符、內(nèi)容發(fā)自哪個(gè)國(guó)家、內(nèi)容的類(lèi)型、內(nèi)容是否與一個(gè)輪詢(xún)請(qǐng)求相關(guān)聯(lián)、內(nèi)容是否與先前接收到的內(nèi)容相關(guān)聯(lián)等。除了方便訪問(wèn)大量輸入的內(nèi)容之外,收集處理模塊還可以使用度量來(lái)執(zhí)行內(nèi)務(wù)整理和優(yōu)化,例如刪除重復(fù)的內(nèi)容,過(guò)濾內(nèi)容以識(shí)別細(xì)小的修改等(在操作188處)。舉例來(lái)說(shuō),可以在新聞報(bào)道中校正拼寫(xiě)錯(cuò)誤,并且從一個(gè)內(nèi)容源重新發(fā)送。用戶(hù)可能不太想要同一新聞報(bào)道只是進(jìn)行了拼寫(xiě)校正的兩份警報(bào)。如果第一篇新聞報(bào)道已被發(fā)送,那么就可以刪除第二版本,除非兩者之間的差別超過(guò)了閾值??商鎿Q地,如果該新聞報(bào)道原先未作為警報(bào)被發(fā)送,那么可以用校正后的版本來(lái)取代該新聞報(bào)道的第一版本,并且排入隊(duì)列等候,使得在排定的時(shí)間上只有一個(gè)警報(bào)被發(fā)送給用戶(hù)。度量的索引文檔和/或內(nèi)容文檔通常被存儲(chǔ)在饋送存儲(chǔ)設(shè)備中。每個(gè)存儲(chǔ)的索引文檔通過(guò)一個(gè)索引統(tǒng)一資源定位符(URL)來(lái)標(biāo)識(shí),以便于訪問(wèn)索引信息。
在上面的整個(gè)操作過(guò)程中,收集處理模塊可以插入標(biāo)簽和/或其他代碼來(lái)協(xié)助匹配引擎。例如,關(guān)于上述示例性的XML文檔,收集處理模塊可以向<AlertsDocument>標(biāo)簽的每個(gè)直接CDATA子標(biāo)簽應(yīng)用一個(gè)可選的“匹配”屬性。匹配引擎可以掃描文檔以尋找“匹配”標(biāo)簽,并且向文本元素應(yīng)用(一個(gè)或多個(gè))查詢(xún)表達(dá)式,以確定與文檔匹配的用戶(hù)標(biāo)識(shí)符。
輪詢(xún)器子系統(tǒng)圖4圖示了用于管理輪詢(xún)內(nèi)容以產(chǎn)生定期警報(bào)的輪詢(xún)器體系結(jié)構(gòu)。存在N個(gè)輪詢(xún)器服務(wù)器180a到180n以及至少兩個(gè)輪詢(xún)器管理器服務(wù)器(PMS),包括主PMS 182和通常起到備份作用的副P(pán)MS 184。每個(gè)輪詢(xún)器服務(wù)器運(yùn)行使用非攔截I/O的多個(gè)過(guò)程,以基于警報(bào)類(lèi)型(例如個(gè)人廣告、天氣通報(bào)等)處理來(lái)自一個(gè)或多個(gè)期望的內(nèi)容源122a的多個(gè)輪詢(xún)。期望內(nèi)容例如可以通過(guò)HTTP接口,從收集處理模塊被傳送到輪詢(xún)器120和/或被獨(dú)立地訪問(wèn)。每個(gè)輪詢(xún)器服務(wù)器在諸如96Berkeley DB文件的數(shù)據(jù)庫(kù)文件中對(duì)每個(gè)用戶(hù)標(biāo)識(shí)符都存儲(chǔ)同樣的警報(bào)信息。每個(gè)文件都代表一個(gè)時(shí)隙,例如15分鐘-24×4。當(dāng)警報(bào)請(qǐng)求被插入用戶(hù)數(shù)據(jù)庫(kù)115中的用戶(hù)配置信息時(shí),基于提供者代碼、警報(bào)類(lèi)型、高級(jí)(premium)標(biāo)志和/或其他參數(shù)來(lái)計(jì)算QOS值。一個(gè)定期警報(bào)被傳送到(一個(gè)或多個(gè))傳遞服務(wù)器130,以在對(duì)應(yīng)的時(shí)段上分發(fā)。
圖5是圖示了用于準(zhǔn)備基于時(shí)間的警報(bào)的邏輯的流程圖。在操作200處,輪詢(xún)器服務(wù)器在過(guò)去了預(yù)定的時(shí)間后蘇醒,并且向主PMS發(fā)送蘇醒信號(hào)。如果主PMS當(dāng)機(jī),則蘇醒信號(hào)被路由到副P(pán)MS。蘇醒信號(hào)指示輪詢(xún)器服務(wù)器可用于對(duì)與一個(gè)或多個(gè)預(yù)定的警報(bào)類(lèi)型相對(duì)應(yīng)的內(nèi)容進(jìn)行輪詢(xún)。蘇醒信號(hào)可以被節(jié)流,使得PMS不會(huì)突然就被蘇醒信號(hào)打亂。當(dāng)PMS接收到蘇醒信號(hào)時(shí),PMS在操作202處向PMS的存儲(chǔ)器中的輪詢(xún)器服務(wù)器列表添加當(dāng)前可用的輪詢(xún)器服務(wù)器。在操作204處,PMS發(fā)送fetch_alerts_list請(qǐng)求,以讓PMS的列表上的第一輪詢(xún)器服務(wù)器訪問(wèn)一個(gè)或多個(gè)內(nèi)容項(xiàng),例如個(gè)人廣告、交通報(bào)告等。在操作206處,輪詢(xún)器服務(wù)器接收到取回請(qǐng)求,訪問(wèn)所期望的內(nèi)容項(xiàng),并且將這些內(nèi)容項(xiàng)發(fā)送回PMS。為了訪問(wèn)內(nèi)容項(xiàng),輪詢(xún)器服務(wù)器執(zhí)行由存儲(chǔ)的用戶(hù)偏好定義的查詢(xún)和/或由多個(gè)用戶(hù)期望獲得的強(qiáng)化查詢(xún)。如果從查詢(xún)中沒(méi)有找到任何結(jié)果,那么輪詢(xún)器服務(wù)器可以可選地拓寬查詢(xún)并且再試一次。內(nèi)容項(xiàng)對(duì)應(yīng)于當(dāng)前預(yù)定義的時(shí)間段,例如15分鐘的時(shí)隙。輪詢(xún)器服務(wù)器在將內(nèi)容項(xiàng)返回PMS之前可以根據(jù)QOS等級(jí)為這些內(nèi)容項(xiàng)排定優(yōu)先級(jí)。
在操作208處,PMS將從多個(gè)輪詢(xún)器服務(wù)器返回的內(nèi)容項(xiàng)過(guò)濾到若干表中。這些表是基于警報(bào)類(lèi)型的QOS等級(jí)、用戶(hù)服務(wù)計(jì)劃等而建立的。例如,內(nèi)容項(xiàng)可以被分類(lèi)到對(duì)應(yīng)于優(yōu)先級(jí)等級(jí)的QOS表3、QOS表2、QOS表1和QOS表0中。每個(gè)內(nèi)容項(xiàng)在被加入這些表之一中時(shí)也會(huì)被分配一個(gè)時(shí)間戳。時(shí)間戳使得PMS能夠跟蹤內(nèi)容項(xiàng)已存在于表中,而未被處理成警報(bào)的時(shí)間長(zhǎng)度??傊?,停留在表中的時(shí)間長(zhǎng)度超過(guò)閾值的內(nèi)容項(xiàng)指示出沒(méi)有足夠的輪詢(xún)器服務(wù)器用于該負(fù)載。
除了以預(yù)定的間隔對(duì)內(nèi)容項(xiàng)進(jìn)行輪詢(xún)之外,輪詢(xún)器服務(wù)器還執(zhí)行操作以準(zhǔn)備將要傳遞的相應(yīng)警報(bào)。因而,在操作210處,輪詢(xún)器服務(wù)器向PMS發(fā)送請(qǐng)求來(lái)索要工作。PMS通?;赒OS等級(jí)的順序?qū)⒈碇械膬?nèi)容項(xiàng)發(fā)送給輪詢(xún)器服務(wù)器。輪詢(xún)器服務(wù)器可以執(zhí)行邏輯操作,例如將舊的查詢(xún)結(jié)果與當(dāng)前內(nèi)容項(xiàng)進(jìn)行比較。例如,如果當(dāng)前內(nèi)容項(xiàng)與舊的查詢(xún)結(jié)果不同,則輪詢(xún)器服務(wù)器可以用當(dāng)前內(nèi)容項(xiàng)來(lái)取代舊的查詢(xún)結(jié)果。由于可能在很長(zhǎng)的一段時(shí)間內(nèi)不會(huì)傳遞定期警報(bào),所以在相應(yīng)的警報(bào)被最終傳遞之前,可能會(huì)多次更新內(nèi)容。一旦輪詢(xún)器服務(wù)器完成了它的工作,輪詢(xún)器服務(wù)器就向PMS發(fā)送確認(rèn)信息,指示內(nèi)容項(xiàng)已被處理并且警報(bào)已被創(chuàng)建。輪詢(xún)器服務(wù)器還向傳遞服務(wù)器發(fā)送傳遞具有所述內(nèi)容項(xiàng)的警報(bào)的請(qǐng)求,并且輪詢(xún)器服務(wù)器索要更多的工作。一旦接收到確認(rèn)信息,PMS就在操作212處從其對(duì)應(yīng)的表中清除所述內(nèi)容項(xiàng),指示對(duì)應(yīng)的警報(bào)任務(wù)完成。
在判決操作214處,PMS判斷來(lái)自每張表的所有內(nèi)容項(xiàng)是否都被清除,指示每個(gè)QOS等級(jí)的所有任務(wù)都已完成。如果每張表都是空的,則處理直接返回操作200,以等待另一個(gè)蘇醒信號(hào)。如果不是每張表都是空的,那么PMS沒(méi)有能夠完成它的所有任務(wù),并且PMS可以將錯(cuò)誤記入日志。在操作216處,所有剩余的未處理的內(nèi)容項(xiàng)與在下一時(shí)間段內(nèi)獲得的新內(nèi)容項(xiàng)混合在一起。
傳遞子系統(tǒng)圖6是圖示了示例性的用于向一個(gè)或多個(gè)用戶(hù)傳遞警報(bào)的邏輯的流程圖。如前面簡(jiǎn)要說(shuō)明的,傳遞服務(wù)器和存儲(chǔ)服務(wù)器一般包括用于與傳輸服務(wù)器相接口的傳遞子系統(tǒng),用于以多種方法傳遞警報(bào)。傳遞子系統(tǒng)的所有組件都可以包括硬件和/或軟件配置的任何組合。這種靈活性使得警報(bào)可以被部署在變動(dòng)的環(huán)境中,例如部署在具有有限硬件資源的國(guó)際站點(diǎn)上。
在初始化操作220處,例如當(dāng)新安裝了傳遞服務(wù)器或者傳遞服務(wù)器在離線一段時(shí)間后返回服務(wù)時(shí),和/或在某些預(yù)定義的時(shí)間段上,傳遞服務(wù)器從另一個(gè)活動(dòng)的傳遞服務(wù)器和/或從諸如管理接口的另一個(gè)源處接收更新的模板。所有的傳遞服務(wù)器都應(yīng)當(dāng)具有在整個(gè)傳遞服務(wù)器組內(nèi)自動(dòng)傳播的同一組模板。
在操作221處,傳遞服務(wù)器從匹配引擎和/或輪詢(xún)器接收到向一個(gè)或多個(gè)用戶(hù)傳遞一條或多條消息的一個(gè)或多個(gè)請(qǐng)求。所述請(qǐng)求一般包括一組密鑰以及與每個(gè)密鑰相關(guān)聯(lián)的值。密鑰對(duì)應(yīng)于傳遞模板中與傳遞方法相對(duì)應(yīng)的占位符,所述傳遞方法例如是電子郵件、即時(shí)消息器、SMS、Web服務(wù)器、文件傳輸協(xié)議(FTP)傳遞等。例如,在一個(gè)請(qǐng)求中的密鑰-值對(duì)<fullname,John Smith>將被用來(lái)取代所選擇的傳遞模板中的“fullname”占位符。可以用公知的模板語(yǔ)言來(lái)寫(xiě)傳遞模板,例如個(gè)人主頁(yè)超文本處理(PHP)、JAVATM服務(wù)器頁(yè)面(JSP)、HTML Force 2000(HF2K)和/或私有模板語(yǔ)言。內(nèi)容類(lèi)型,例如證券報(bào)價(jià)、新聞、機(jī)密內(nèi)容等可以被傳遞服務(wù)器用來(lái)確定使用哪一組傳遞模板。對(duì)于每一種內(nèi)容類(lèi)型,可以針對(duì)不同的可用傳遞機(jī)制來(lái)創(chuàng)建一組傳遞模板,所述可用的傳遞機(jī)制例如包括HTML頁(yè)面服務(wù)器、文本文件傳輸、即時(shí)消息器、SMS等。然而,傳遞服務(wù)器通常完全不了解所要處理的特定警報(bào)文檔。相反,傳遞服務(wù)器只是看到一個(gè)文檔包括內(nèi)容和用戶(hù)ID列表。這種內(nèi)容文檔和用戶(hù)ID列表的組合有時(shí)被稱(chēng)為ProcessMatchList。如上所述,用戶(hù)ID列表包括與特定的內(nèi)容饋送相匹配的那些用戶(hù)ID。內(nèi)容文檔包括一組密鑰-值對(duì),它們代表了將要發(fā)送的警報(bào)的實(shí)際內(nèi)容。對(duì)于每一種傳遞方法都可以有一組密鑰-值對(duì),包括但不限于用于電子郵件傳遞的一對(duì)、用于無(wú)線傳遞的一對(duì)、用于IM的一對(duì)、以及用于萬(wàn)維網(wǎng)歷史的一對(duì),下面將會(huì)解釋。除了在上面表1中標(biāo)識(shí)的密鑰-值對(duì)之外,ProcessMatchList一般還包括來(lái)自用戶(hù)配置信息的用于傳遞目的的以下信息-來(lái)自用戶(hù)數(shù)據(jù)庫(kù)的用戶(hù)ID代碼;-用于傳遞的國(guó)家代碼;-與警報(bào)內(nèi)容和/或傳遞方法相關(guān)聯(lián)的伙伴ID;-用戶(hù)類(lèi)別;-QOS等級(jí);-定期傳遞還是即刻傳遞的標(biāo)志;-高級(jí)服務(wù)包信息;-通過(guò)例如對(duì)于移動(dòng)傳遞來(lái)說(shuō)可能需要的記帳信息。對(duì)于在通過(guò)移動(dòng)服務(wù)提供者、電子郵件提供者等的傳遞路徑的最后一段上的任何記帳活動(dòng),以上信息也可以用于記日志/統(tǒng)計(jì)目的,以確定用于格式化警報(bào)內(nèi)容的實(shí)際模板。
一旦接收到ProcessMatchList,傳遞服務(wù)器就在操作222處確定與在ProcessMatchList中標(biāo)識(shí)的每個(gè)用戶(hù)和/或每種傳遞方法相關(guān)聯(lián)的QOS等級(jí)。傳遞服務(wù)器將在到達(dá)隊(duì)列和離開(kāi)隊(duì)列中根據(jù)QOS等級(jí)來(lái)處理請(qǐng)求。來(lái)自匹配服務(wù)器的消息通常根據(jù)隊(duì)列中包含的用戶(hù)的優(yōu)先級(jí)等級(jí)而駐留在適當(dāng)?shù)牡竭_(dá)隊(duì)列中。從傳遞服務(wù)器中生成的警報(bào)通常根據(jù)該警報(bào)是否將經(jīng)由電子郵件、無(wú)線SMS、IM和/或其他方法發(fā)送而駐留在適當(dāng)?shù)碾x開(kāi)隊(duì)列中。附加地或者可替換地,傳遞服務(wù)器可以保證高級(jí)用戶(hù)例如在用戶(hù)數(shù)據(jù)庫(kù)當(dāng)機(jī)的情況下具有特殊的傳遞選項(xiàng)。存儲(chǔ)服務(wù)器存儲(chǔ)有關(guān)每個(gè)用戶(hù)的最后得知的電子郵件地址、無(wú)線設(shè)備號(hào)碼和/或其他信息。當(dāng)傳遞服務(wù)器無(wú)法從用戶(hù)數(shù)據(jù)庫(kù)獲得信息時(shí),傳遞服務(wù)器就從存儲(chǔ)服務(wù)器中檢索該信息。傳遞服務(wù)器還可以針對(duì)每個(gè)警報(bào)、每個(gè)無(wú)線設(shè)備、每個(gè)用戶(hù),和/或以其他方式施行消息限制。傳遞服務(wù)器將與存儲(chǔ)服務(wù)器接口,以存儲(chǔ)/檢索消息限制信息。
在操作224處,傳遞服務(wù)器判斷在將警報(bào)傳遞到某些用戶(hù)和/或通過(guò)某些傳遞方法來(lái)傳遞警報(bào)的過(guò)程中,是否設(shè)置了任何種類(lèi)的攔截或重新路由。例如,用戶(hù)可能已指示了該用戶(hù)不想收到任何警報(bào)的安靜時(shí)間,例如在夜晚時(shí)段上。類(lèi)似地,用戶(hù)可能正在休假,并已請(qǐng)求在用戶(hù)返回之前不要傳遞任何警報(bào)。傳遞服務(wù)器還可以確定除了用戶(hù)的主要優(yōu)選方法之外,是否應(yīng)當(dāng)通過(guò)多種其他傳遞方法來(lái)轉(zhuǎn)發(fā)警報(bào)。
在判決框226,傳遞服務(wù)器判斷哪些警報(bào)將被立即發(fā)送,而哪些警報(bào)將在排定的時(shí)間上發(fā)送。那些被安排稍后傳遞的警報(bào)將被存儲(chǔ)在傳遞存儲(chǔ)服務(wù)器上。至少有兩種方式來(lái)實(shí)現(xiàn)傳遞存儲(chǔ)服務(wù)器,這里被稱(chēng)為選項(xiàng)A和選項(xiàng)B。
選項(xiàng)A對(duì)于定期警報(bào),資源管理服務(wù)器(RMS)在操作228處確定哪些用戶(hù)的警報(bào)被存儲(chǔ)在哪些存儲(chǔ)服務(wù)器上。需要為用戶(hù)存儲(chǔ)警報(bào)的任何傳遞服務(wù)器都將首先在用戶(hù)數(shù)據(jù)庫(kù)中查找用戶(hù)的相應(yīng)警報(bào)設(shè)置,以找到StorageId,這是警報(bào)將被存儲(chǔ)的地方。如果不存在這樣的StorageId,那么傳遞服務(wù)器聯(lián)系RMS以獲得StorageId。RMS將根據(jù)每個(gè)已注冊(cè)的存儲(chǔ)服務(wù)器的當(dāng)前負(fù)載/使用狀況來(lái)決定用戶(hù)的警報(bào)將被存儲(chǔ)在哪個(gè)存儲(chǔ)服務(wù)器上。serverId將被返回給接著將把StorageId存儲(chǔ)在用戶(hù)數(shù)據(jù)庫(kù)中的警報(bào)設(shè)置中的傳遞服務(wù)器。出于故障轉(zhuǎn)移的目的,或者如果RMS當(dāng)機(jī)或未響應(yīng),則RMS API將確保最后發(fā)出的StorageId作為被傳送到RMS的任何后續(xù)查詢(xún)的結(jié)果被傳遞,直到它恢復(fù)正常。
在操作230處,一旦識(shí)別出適當(dāng)?shù)拇鎯?chǔ)服務(wù)器,傳遞服務(wù)器就將用戶(hù)的警報(bào)和(可選地)它們的傳遞選項(xiàng)存儲(chǔ)到該存儲(chǔ)服務(wù)器。除了單純地等待稍后的傳遞之外,所存儲(chǔ)的警報(bào)可以與較新的警報(bào)進(jìn)行比較,以確保最新內(nèi)容。例如,用戶(hù)應(yīng)當(dāng)只接收在一天中被多次更新的新聞故事的單個(gè)警報(bào),雖然在排定的傳遞時(shí)間前的一段時(shí)間內(nèi)可能因?yàn)楦露a(chǎn)生了多次匹配。
和傳遞服務(wù)器一樣,存儲(chǔ)服務(wù)器通常完全不知曉任何警報(bào)特有的信息。存儲(chǔ)服務(wù)器將盡最大可能地將信息存儲(chǔ)在共享存儲(chǔ)器(例如shm)中以便快速檢索,并且盡可能地少使用盤(pán)存儲(chǔ)設(shè)備。為了高效,任何大量用戶(hù)共有的信息(例如內(nèi)容饋送信息)都可以被一次存儲(chǔ)并針對(duì)用戶(hù)編索引。在一種實(shí)施方式中,在每個(gè)服務(wù)器中至少可存在四個(gè)存儲(chǔ)區(qū),這可以利用共享存儲(chǔ)器和盤(pán)回寫(xiě)(disk write back)的組合來(lái)實(shí)現(xiàn)饋送存儲(chǔ)對(duì)于與內(nèi)容饋送類(lèi)型相匹配的整組用戶(hù),將一次性地存儲(chǔ)每一集合的密鑰-值對(duì)。
用戶(hù)存儲(chǔ)對(duì)接收定期警報(bào)感興趣的每個(gè)用戶(hù)的條目。當(dāng)用戶(hù)決定刪除/編輯警報(bào)時(shí),需要該區(qū)域?qū)τ脩?hù)的記錄進(jìn)行快速訪問(wèn)。
時(shí)間存儲(chǔ)每個(gè)對(duì)接收定期警報(bào)感興趣的用戶(hù)都將具有一條被存儲(chǔ)在適當(dāng)?shù)臅r(shí)隙和適當(dāng)?shù)姆?wù)隊(duì)列下的記錄。
萬(wàn)維網(wǎng)存儲(chǔ)每個(gè)被傳遞的警報(bào)都將具有一條永久記錄,以供在萬(wàn)維網(wǎng)前端上使用,上述記錄的指針指向創(chuàng)建該警報(bào)的饋送點(diǎn)。
為了實(shí)現(xiàn)故障轉(zhuǎn)移和定期警報(bào)的快速檢索,所述服務(wù)器中的任意一個(gè)都可以被鏡像映射。每個(gè)服務(wù)器都可以例如利用求模(modulo)算法,在警報(bào)的一個(gè)子集上完成動(dòng)作。對(duì)于每個(gè)動(dòng)作,例如傳遞定期警報(bào),服務(wù)器將該動(dòng)作復(fù)制到一個(gè)或多個(gè)對(duì)等鏡像。在完成定期傳遞的處理器之間通常建立一種心跳機(jī)制,使得如果一個(gè)服務(wù)器當(dāng)機(jī)或者處理過(guò)程因某種原因發(fā)生故障,則在鏡像服務(wù)器上的剩余處理將繼續(xù)完成工作。這充分利用了鏡像服務(wù)器的優(yōu)勢(shì),不僅用于故障恢復(fù),而且使可獲得的處理能力加倍(例如,兩倍、三倍等)。
選項(xiàng)B在傳遞存儲(chǔ)服務(wù)器的替換實(shí)施方式中,關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)關(guān)于警報(bào)匹配結(jié)果的饋送內(nèi)容。從理論上來(lái)講,有三種類(lèi)型的表被用于關(guān)聯(lián)饋送內(nèi)容、用戶(hù)警報(bào)匹配和傳遞排定時(shí)間。由此,這三種類(lèi)型的表被稱(chēng)為Feed表、AlertMatches表和TimeSlot表。Feed表包含存儲(chǔ)服務(wù)器所接收到的每個(gè)內(nèi)容饋送。通過(guò)FeedId來(lái)唯一地標(biāo)識(shí)每個(gè)內(nèi)容饋送。在表2中示出了示例性的Feed表數(shù)據(jù)結(jié)構(gòu)。
表2示例性的Feed表數(shù)據(jù)結(jié)構(gòu)
AlertMatches表存儲(chǔ)每個(gè)警報(bào)的用戶(hù)匹配。利用唯一的AlertId來(lái)引用用戶(hù)的警報(bào)。對(duì)于每個(gè)AlertId,可能有0個(gè)或更多的內(nèi)容饋送。對(duì)一個(gè)AlertId的幾個(gè)匹配將用AlertMatches表中的多行來(lái)表示,每一行具有不同的FeedId。每個(gè)元(tupel)<AlertId,F(xiàn)eedId>在AlertMatches表中是唯一的,并且將用戶(hù)的警報(bào)綁定到對(duì)應(yīng)的內(nèi)容饋送。在圖3中示出了示例性的AlertMatches表數(shù)據(jù)結(jié)構(gòu)。
表3示例性的AlertMatches表數(shù)據(jù)結(jié)構(gòu)
Timeslot表存儲(chǔ)與傳遞時(shí)隙相關(guān)聯(lián)的所有用戶(hù)的警報(bào)id。在一天中的每個(gè)15分鐘傳遞時(shí)隙對(duì)應(yīng)于一張Timeslot表。例如,表TimeSlot_9_45包括將傳遞偏好設(shè)置為9:45am的所有警報(bào)id。在每個(gè)傳遞時(shí)隙的開(kāi)端,多個(gè)過(guò)程開(kāi)始處理TimeSlot表中的警報(bào)id。為了協(xié)調(diào)這些過(guò)程,TimeSlot表中的“ClaimedBy”字段允許每個(gè)過(guò)程檢查是否另一個(gè)過(guò)程已經(jīng)工作在特定的警報(bào)id上。如果ClaimedBy字段是空的,則這個(gè)警報(bào)id可以由下一個(gè)可用過(guò)程來(lái)處理。在表4中示出了示例性的TimeSlot表數(shù)據(jù)結(jié)構(gòu)。
表4示例性的TimeSlot表數(shù)據(jù)結(jié)構(gòu)
當(dāng)警報(bào)已存儲(chǔ)時(shí),傳遞存儲(chǔ)服務(wù)器還將從用戶(hù)數(shù)據(jù)庫(kù)獲得更新(在操作232處)。這樣做的一個(gè)原因就是無(wú)論何時(shí)用戶(hù)刪除警報(bào),或者無(wú)論何時(shí)用戶(hù)決定改變定期警報(bào)的傳遞時(shí)間,都要清除用戶(hù)條目。在預(yù)定義的傳遞時(shí)間段上,例如每小時(shí),存儲(chǔ)服務(wù)器訪問(wèn)那些在該時(shí)間段上應(yīng)被傳遞的已存儲(chǔ)警報(bào),并且將這些已存儲(chǔ)的警報(bào)標(biāo)記為即刻傳遞。然后,存儲(chǔ)服務(wù)器在操作234處將那些已標(biāo)記的警報(bào)發(fā)送到傳遞服務(wù)器。在操作236處,傳遞服務(wù)器應(yīng)用一個(gè)模板以根據(jù)預(yù)先選擇的傳遞方法來(lái)格式化輸出的警報(bào),如果上述模板先前未曾應(yīng)用過(guò)的話。傳遞服務(wù)器然后將即刻傳遞警報(bào)傳送到傳輸服務(wù)器,以經(jīng)由電子郵件、即時(shí)消息、SMS、和/或與每個(gè)警報(bào)相關(guān)聯(lián)的無(wú)論哪種傳遞方法來(lái)進(jìn)行傳遞。
一旦警報(bào)已由傳遞服務(wù)器發(fā)送出去,就在操作238處向存儲(chǔ)服務(wù)器發(fā)送“addToHistory”請(qǐng)求,以用警報(bào)已被發(fā)送出去的事實(shí)來(lái)更新用戶(hù)的歷史。“addToHistory”請(qǐng)求還包括一組密鑰-值對(duì),使得不同的警報(bào)類(lèi)型可以存儲(chǔ)不同組的信息。就像上面提到過(guò)的,傳遞服務(wù)器通常完全不了解它正在為之發(fā)送“addToHistory”請(qǐng)求的特定警報(bào)。需要存儲(chǔ)的那組密鑰-值對(duì)由匹配方來(lái)定義。每個(gè)到達(dá)傳遞服務(wù)器的請(qǐng)求也應(yīng)當(dāng)伴隨有對(duì)于特定的警報(bào)需要被存儲(chǔ)的任何一組密鑰名稱(chēng)。
歷史信息也可以從存儲(chǔ)服務(wù)器被廣播到其他服務(wù)。例如,歷史結(jié)果可以直接從一組鏡像存儲(chǔ)服務(wù)器,或者從單獨(dú)的一組提供歷史結(jié)果的存儲(chǔ)服務(wù)器被提供給前端網(wǎng)頁(yè)和/或其他萬(wàn)維網(wǎng)門(mén)戶(hù)頁(yè)。共享存儲(chǔ)器可以持有盡可能多的用戶(hù)歷史結(jié)果(實(shí)況更新的“addToHistory”請(qǐng)求是從傳遞服務(wù)器而來(lái)的),同時(shí)歷史結(jié)果可以被寫(xiě)入盤(pán)中以永久存儲(chǔ)。如果用戶(hù)的最上面的N個(gè)歷史結(jié)果不在共享存儲(chǔ)器中,則可以從用戶(hù)的永久存儲(chǔ)文件中訪問(wèn)得到歷史結(jié)果。如上所示,結(jié)果將以密鑰-值對(duì)的形式返回,并且將由接收方負(fù)責(zé)以適于接收方的形式來(lái)格式化結(jié)果。例如,實(shí)際的新聞警報(bào)可能已經(jīng)以用戶(hù)接收到的最后3個(gè)新聞警報(bào)的摘要和URL的形式被發(fā)送給了用戶(hù),但是歷史頁(yè)面可能只需要呈現(xiàn)URL。獨(dú)立格式化使得在加入新的警報(bào)類(lèi)型的同時(shí),可以不必更改存儲(chǔ)在歷史文件中的內(nèi)容,從而使新的警報(bào)類(lèi)型適應(yīng)歷史報(bào)告的新要求??傊荑€-值的方法將適合未來(lái)的需要。
采取了很多措施來(lái)確保在出現(xiàn)重大故障、惡化問(wèn)題,甚至需要更新服務(wù)器時(shí)不會(huì)丟失信息。如上所述,每個(gè)存儲(chǔ)服務(wù)器由至少一個(gè)其他服務(wù)器來(lái)鏡像映射,使得一個(gè)服務(wù)器可以被取走,而由它的(一個(gè)或多個(gè))鏡像來(lái)處理流量??梢圆捎脧?fù)制文件和共享存儲(chǔ)器的備份。例如,可以采用每天至少兩次的共享存儲(chǔ)器的備份,以及至少24小時(shí)那么多的輸入復(fù)制文件量,以使得共享存儲(chǔ)器的重建能夠盡可能快地進(jìn)行,以使服務(wù)器回到線上。
其他恢復(fù)能力確保了傳遞請(qǐng)求的完整處理。例如,只有當(dāng)與對(duì)應(yīng)的內(nèi)容文件相關(guān)聯(lián)的所有用戶(hù)ID都已被處理時(shí),傳遞服務(wù)器才將一個(gè)警報(bào)標(biāo)記為“完成”。監(jiān)視器和/或其他器件可以監(jiān)視未發(fā)送的警報(bào)的狀態(tài),并且在需要時(shí)使得警報(bào)處理重復(fù)進(jìn)行。這種恢復(fù)能力也可以適用于傳輸服務(wù)器。
除了確?;謴?fù)外,鏡像組也可以用于可擴(kuò)展性。為了應(yīng)對(duì)逐步增多的來(lái)自匹配服務(wù)器的流量,可以隨時(shí)加入任意數(shù)量的額外的傳遞服務(wù)器。反之,為了維護(hù)需要,可以隨時(shí)取走任意傳遞服務(wù)器,使其離線。剩余的活動(dòng)服務(wù)器將會(huì)處理來(lái)自匹配服務(wù)器的輸入流量。
為了應(yīng)對(duì)逐步增多的用戶(hù)注冊(cè),可以水平加入任意數(shù)量的存儲(chǔ)服務(wù)器,其中加入了總數(shù)更多的鏡像組。為了應(yīng)對(duì)逐步增多的定期警報(bào)活動(dòng),還可以垂直加入存儲(chǔ)服務(wù)器,其中每組加入了更多的鏡像服務(wù)器。
示例性的服各器環(huán)境圖7根據(jù)本發(fā)明的一種實(shí)施方式示出了示例性的服務(wù)器300的功能框圖。服務(wù)器300可以包括上面討論的服務(wù)器中的任意一個(gè)或多個(gè),例如匹配服務(wù)器、饋送存儲(chǔ)服務(wù)器、輪詢(xún)器、傳遞服務(wù)器、存儲(chǔ)服務(wù)器、傳輸服務(wù)器等??梢灶?lèi)似地配置客戶(hù)端設(shè)備。服務(wù)器300可以包括很多上面未示出的組件。然而,示出的組件已足以公開(kāi)用于實(shí)現(xiàn)本發(fā)明的示例性實(shí)施方式。
服務(wù)器300包括處理單元312、視頻顯示適配器314和大容量存儲(chǔ)器,它們?nèi)冀?jīng)由總線322相互通信。大容量存儲(chǔ)器一般包括RAM 316、ROM 332以及一個(gè)或多個(gè)永久性大容量存儲(chǔ)設(shè)備,例如光驅(qū)動(dòng)器326、硬盤(pán)驅(qū)動(dòng)器328、磁帶驅(qū)動(dòng)器、和/或軟盤(pán)驅(qū)動(dòng)器。大容量存儲(chǔ)器存儲(chǔ)用于控制服務(wù)器300的操作的操作系統(tǒng)320??梢允褂萌魏瓮ㄓ玫牟僮飨到y(tǒng)。還提供了基本輸入/輸出系統(tǒng)(“BIOS”)318來(lái)控制服務(wù)器300的低級(jí)操作。如圖6所示,服務(wù)器300可以經(jīng)由網(wǎng)絡(luò)接口單元310與因特網(wǎng)或者某種其他通信網(wǎng)絡(luò)進(jìn)行通信,例如圖1的網(wǎng)絡(luò)160,所述網(wǎng)絡(luò)接口單元310被構(gòu)造為適用于各種通信協(xié)議,包括傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)。網(wǎng)絡(luò)接口單元310有時(shí)被稱(chēng)為收發(fā)器、收發(fā)設(shè)備、網(wǎng)絡(luò)接口卡(NIC)等。服務(wù)器300還包括用于和外部設(shè)備通信的輸入/輸出接口324,所述外部設(shè)備例如是鼠標(biāo)、鍵盤(pán)、掃描儀、或者圖1中未示出的其他輸入設(shè)備。
上述大容量存儲(chǔ)器例示了另一種類(lèi)型的計(jì)算機(jī)可讀介質(zhì),即計(jì)算機(jī)存儲(chǔ)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)可以包括以任意信息存儲(chǔ)方法或技術(shù)實(shí)現(xiàn)的易失性、非易失性、可移動(dòng)以及不可移動(dòng)的介質(zhì),所存儲(chǔ)的信息例如是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。計(jì)算機(jī)存儲(chǔ)介質(zhì)的例子包括RAM、ROM、EEPROM、閃存、或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多用途盤(pán)(DVD)、或其他光存儲(chǔ)、磁卡帶、磁帶、磁盤(pán)存儲(chǔ)、或其他磁存儲(chǔ)設(shè)備、或者可用來(lái)存儲(chǔ)期望的信息并可以由計(jì)算設(shè)備來(lái)訪問(wèn)的任何其他介質(zhì)。
大容量存儲(chǔ)器還存儲(chǔ)程序代碼和數(shù)據(jù)。一個(gè)或多個(gè)應(yīng)用350被加載到大容量存儲(chǔ)器中,并且在操作系統(tǒng)320上運(yùn)行。應(yīng)用程序的例子包括數(shù)據(jù)庫(kù)程序、調(diào)度器、代碼轉(zhuǎn)換器、電子郵件程序、日歷程序、萬(wàn)維網(wǎng)服務(wù)、文字處理程序、電子表格程序等等。大容量存儲(chǔ)還可以包括多種應(yīng)用,例如收集處理模塊172、管理接口174、匹配引擎110a、輪詢(xún)器120a、傳遞接口130a等。
以上說(shuō)明書(shū)、實(shí)施例和數(shù)據(jù)提供了有關(guān)本發(fā)明的成分的制造和使用的完整描述。可以在不偏離本發(fā)明的精神和范圍的情況下實(shí)現(xiàn)本發(fā)明的很多實(shí)施方式,因此本發(fā)明體現(xiàn)為所附的權(quán)利要求書(shū)。
權(quán)利要求
1.一種使得警報(bào)消息可被訪問(wèn)的方法,包括規(guī)范化多種格式的可訪問(wèn)的內(nèi)容;根據(jù)所述內(nèi)容的至少一種特性,為所述內(nèi)容編索引;將所述內(nèi)容的至少一個(gè)部分與至少一個(gè)用戶(hù)關(guān)聯(lián)起來(lái),其中所述內(nèi)容的所述至少一個(gè)部分與所述至少一個(gè)用戶(hù)的至少一個(gè)預(yù)定興趣相關(guān)聯(lián);生成送往所述至少一個(gè)用戶(hù)的警報(bào)消息,其中所述警報(bào)消息與所述內(nèi)容的所述至少一個(gè)部分有關(guān),并且所述至少一個(gè)用戶(hù)已選擇接收所述警報(bào)消息;以及使能所述至少一個(gè)用戶(hù)以所述至少一個(gè)用戶(hù)預(yù)定義的至少一種傳遞機(jī)制來(lái)訪問(wèn)所述警報(bào)消息。
2.如權(quán)利要求1所述的方法,還包括至少一個(gè)以下操作接收作為基于事件的饋送的內(nèi)容;和請(qǐng)求作為基于時(shí)間的饋送的內(nèi)容。
3.如權(quán)利要求1所述的方法,其中規(guī)范化內(nèi)容的操作包括將所述內(nèi)容從所述多種格式中的任意一種轉(zhuǎn)換為規(guī)范化的格式。
4.如權(quán)利要求1所述的方法,其中所述內(nèi)容的至少一種特性包括以下特性中的至少一種接收到所述內(nèi)容的時(shí)間;發(fā)送者的標(biāo)識(shí)符;所述內(nèi)容的類(lèi)型;所述內(nèi)容發(fā)自的國(guó)家;所述內(nèi)容與一個(gè)輪詢(xún)請(qǐng)求相關(guān)聯(lián)的指示;和所述內(nèi)容與先前接收到的內(nèi)容相關(guān)聯(lián)的指示。
5.如權(quán)利要求1所述的方法,其中關(guān)聯(lián)所述內(nèi)容的至少一個(gè)部分的操作包括相對(duì)于查詢(xún)表達(dá)式來(lái)評(píng)估所述內(nèi)容的至少一個(gè)部分,其中所述查詢(xún)表達(dá)式代表所述至少一個(gè)用戶(hù)的至少一個(gè)興趣;以及如果所述內(nèi)容的所述至少一個(gè)部分與所述查詢(xún)表達(dá)式匹配的話,建立所述內(nèi)容的所述至少一個(gè)部分和所述至少一個(gè)用戶(hù)之間的關(guān)聯(lián)。
6.如權(quán)利要求5所述的方法,其中所述查詢(xún)表達(dá)式是從所述至少一個(gè)用戶(hù)的用戶(hù)配置信息中訪問(wèn)獲得的。
7.如權(quán)利要求1所述的方法,其中至少以下之一成立根據(jù)服務(wù)質(zhì)量等級(jí)來(lái)執(zhí)行關(guān)聯(lián)所述內(nèi)容的至少一個(gè)部分的操作;根據(jù)服務(wù)質(zhì)量等級(jí)來(lái)執(zhí)行生成警報(bào)消息的操作;和根據(jù)服務(wù)質(zhì)量等級(jí)來(lái)執(zhí)行使能所述至少一個(gè)用戶(hù)訪問(wèn)所述警報(bào)消息的操作。
8.如權(quán)利要求3所述的方法,其中使能所述至少一個(gè)用戶(hù)訪問(wèn)所述消息的操作包括以下之一即刻將所述警報(bào)消息傳遞給所述至少一個(gè)用戶(hù);以及在預(yù)定義的時(shí)間上將所述警報(bào)消息傳遞給所述至少一個(gè)用戶(hù)。
9.如權(quán)利要求1所述的方法,其中使能所述至少一個(gè)用戶(hù)訪問(wèn)所述警報(bào)消息的操作包括將所述警報(bào)消息至少作為以下消息之一來(lái)傳遞電子郵件消息;即時(shí)消息;短消息服務(wù)消息;和語(yǔ)音消息。
10.如權(quán)利要求1所述的方法,還包括至少一個(gè)以下操作檢驗(yàn)所述內(nèi)容中包括必要的數(shù)據(jù);根據(jù)邏輯操作來(lái)變換所述內(nèi)容,以表示所述內(nèi)容的特性;將所述內(nèi)容的接收參數(shù)寫(xiě)入日志;存儲(chǔ)所述內(nèi)容;將所述內(nèi)容相對(duì)于其他內(nèi)容排定優(yōu)先級(jí);以及丟棄所述內(nèi)容的重復(fù)物。
11.如權(quán)利要求1所述的方法,還包括鏡像映射規(guī)范化、關(guān)聯(lián)、生成和使能的操作。
12.一種使得警報(bào)消息可被訪問(wèn)的系統(tǒng),包括用于訪問(wèn)內(nèi)容并傳送警報(bào)消息的通信接口;與所述通信接口進(jìn)行通信的處理器;和與所述處理器進(jìn)行通信并存儲(chǔ)數(shù)據(jù)和指令的存儲(chǔ)器,所述數(shù)據(jù)和指令使所述處理器實(shí)現(xiàn)多種功能,這些功能包括規(guī)范化多種格式的可訪問(wèn)的內(nèi)容;根據(jù)所述內(nèi)容的至少一種特性,為所述內(nèi)容編索引;將所述內(nèi)容的至少一個(gè)部分與至少一個(gè)用戶(hù)關(guān)聯(lián)起來(lái),其中所述內(nèi)容的所述至少一個(gè)部分與所述至少一個(gè)用戶(hù)的至少一個(gè)預(yù)定興趣相關(guān)聯(lián);生成送往所述至少一個(gè)用戶(hù)的警報(bào)消息,其中所述警報(bào)消息與所述內(nèi)容的所述至少一個(gè)部分有關(guān),并且所述至少一個(gè)用戶(hù)已選擇接收所述警報(bào)消息;以及使能所述至少一個(gè)用戶(hù)以所述至少一個(gè)用戶(hù)預(yù)定義的至少一種傳遞機(jī)制來(lái)訪問(wèn)所述警報(bào)消息。
13.如權(quán)利要求12所述的系統(tǒng),其中所述指令還使所述處理器執(zhí)行至少一個(gè)以下操作接收作為基于事件的饋送的內(nèi)容;和請(qǐng)求作為基于時(shí)間的饋送的內(nèi)容。
14.如權(quán)利要求12所述的系統(tǒng),其中所述指令還使所述處理器執(zhí)行至少一個(gè)以下操作將所述內(nèi)容從所述多種格式中的任意一種轉(zhuǎn)換為規(guī)范化的格式;檢驗(yàn)所述內(nèi)容中包括必要的數(shù)據(jù);根據(jù)邏輯操作來(lái)變換所述內(nèi)容,以表示所述內(nèi)容的特性;將所述內(nèi)容的接收參數(shù)寫(xiě)入日志;存儲(chǔ)所述內(nèi)容;將所述內(nèi)容相對(duì)于其他內(nèi)容排定優(yōu)先級(jí);以及丟棄所述內(nèi)容的重復(fù)物。
15.如權(quán)利要求12所述的系統(tǒng),其中所述內(nèi)容的至少一種特性包括以下特性中的至少一種接收到所述內(nèi)容的時(shí)間;發(fā)送者的標(biāo)識(shí)符;所述內(nèi)容的類(lèi)型;所述內(nèi)容發(fā)自的國(guó)家;所述內(nèi)容與一個(gè)輪詢(xún)請(qǐng)求相關(guān)聯(lián)的指示;和所述內(nèi)容與先前接收到的內(nèi)容相關(guān)聯(lián)的指示。
16.如權(quán)利要求12所述的系統(tǒng),其中所述指令還使所述處理器執(zhí)行以下操作相對(duì)于查詢(xún)表達(dá)式來(lái)評(píng)估所述內(nèi)容的至少一個(gè)部分,其中所述查詢(xún)表達(dá)式代表所述至少一個(gè)用戶(hù)的至少一個(gè)興趣;以及如果所述內(nèi)容的所述至少一個(gè)部分與所述查詢(xún)表達(dá)式匹配的話,建立所述內(nèi)容的所述至少一個(gè)部分和所述至少一個(gè)用戶(hù)之間的關(guān)聯(lián)。
17.如權(quán)利要求12所述的系統(tǒng),其中所述指令還使所述處理器執(zhí)行以下操作根據(jù)服務(wù)質(zhì)量等級(jí)來(lái)執(zhí)行關(guān)聯(lián)所述內(nèi)容的至少一個(gè)部分的操作;根據(jù)服務(wù)質(zhì)量等級(jí)來(lái)執(zhí)行生成警報(bào)消息的操作;和根據(jù)服務(wù)質(zhì)量等級(jí)來(lái)執(zhí)行使能所述至少一個(gè)用戶(hù)訪問(wèn)所述警報(bào)消息的操作。
18.如權(quán)利要求12所述的系統(tǒng),其中所述指令還使所述處理器執(zhí)行以下操作即刻將所述警報(bào)消息傳遞給所述至少一個(gè)用戶(hù);以及在預(yù)定義的時(shí)間上將所述警報(bào)消息傳遞給所述至少一個(gè)用戶(hù)。
19.如權(quán)利要求12所述的系統(tǒng),還包括用于接收所述警報(bào)消息的移動(dòng)客戶(hù)端設(shè)備。
20.如權(quán)利要求12所述的系統(tǒng),還包括與所述通信接口進(jìn)行通信的鏡像通信接口,該接口還被配置來(lái)訪問(wèn)所述內(nèi)容并傳送鏡像警報(bào)消息;與所述鏡像通信接口進(jìn)行通信的鏡像處理器;和與所述鏡像處理器進(jìn)行通信并存儲(chǔ)數(shù)據(jù)和指令的鏡像存儲(chǔ)器,所述數(shù)據(jù)和指令使所述鏡像處理器實(shí)現(xiàn)多種功能,這些功能包括規(guī)范化多種格式的可訪問(wèn)的內(nèi)容;根據(jù)所述內(nèi)容的至少一種特性,為所述內(nèi)容編索引;將所述內(nèi)容的至少一個(gè)部分與至少一個(gè)用戶(hù)關(guān)聯(lián)起來(lái),其中所述內(nèi)容的所述至少一個(gè)部分與所述至少一個(gè)用戶(hù)的至少一個(gè)預(yù)定興趣相關(guān)聯(lián);生成送往所述至少一個(gè)用戶(hù)的鏡像警報(bào)消息,其中所述鏡像警報(bào)消息與所述內(nèi)容的所述至少一個(gè)部分有關(guān),并且所述鏡像警報(bào)消息基本等同于所述警報(bào)消息;以及使能所述至少一個(gè)用戶(hù)以所述至少一個(gè)用戶(hù)預(yù)定義的至少一種傳遞機(jī)制來(lái)訪問(wèn)所述鏡像警報(bào)消息。
21.一種用于使得警報(bào)消息可被訪問(wèn)的調(diào)制數(shù)據(jù)信號(hào),該調(diào)制數(shù)據(jù)信號(hào)包括使計(jì)算設(shè)備完成以下動(dòng)作的指令規(guī)范化多種格式的可被訪問(wèn)的內(nèi)容;根據(jù)所述內(nèi)容的至少一種特性,為所述內(nèi)容編索引;將所述內(nèi)容的至少一個(gè)部分與至少一個(gè)用戶(hù)關(guān)聯(lián)起來(lái),其中所述內(nèi)容的所述至少一個(gè)部分與所述至少一個(gè)用戶(hù)的至少一個(gè)預(yù)定興趣相關(guān)聯(lián);生成送往所述至少一個(gè)用戶(hù)的警報(bào)消息,其中所述警報(bào)消息與所述內(nèi)容的所述至少一個(gè)部分有關(guān),并且所述至少一個(gè)用戶(hù)已選擇接收所述警報(bào)消息;以及使能所述至少一個(gè)用戶(hù)以所述至少一個(gè)用戶(hù)預(yù)定義的至少一種傳遞機(jī)制來(lái)訪問(wèn)所述警報(bào)消息。
22.一種用于警報(bào)消息的規(guī)范化內(nèi)容的數(shù)據(jù)結(jié)構(gòu),包括用于指示內(nèi)容的狀態(tài)的聯(lián)系信息;內(nèi)容的日期;內(nèi)容的過(guò)期日;與內(nèi)容相關(guān)聯(lián)的統(tǒng)一資源定位符;與內(nèi)容的源相對(duì)應(yīng)的饋送提供者名稱(chēng);內(nèi)容的類(lèi)型;內(nèi)容的標(biāo)題;和包括該內(nèi)容的數(shù)據(jù)體。
23.一種用于提供消息的系統(tǒng),包括收集處理模塊,該模塊與至少一個(gè)內(nèi)容源接口,訪問(wèn)具有多種格式的內(nèi)容,規(guī)范化所述內(nèi)容的至少一個(gè)部分變?yōu)橐?guī)范化格式,并且根據(jù)所述內(nèi)容的至少一種特性來(lái)為所述內(nèi)容編索引;匹配引擎,該引擎與所述收集處理模塊進(jìn)行通信,并且當(dāng)所述內(nèi)容的至少一個(gè)部分對(duì)應(yīng)于基于事件的饋送時(shí),用所述內(nèi)容的所述至少一個(gè)部分生成警報(bào)消息,其中所述內(nèi)容的所述至少一個(gè)部分基于至少一個(gè)用戶(hù)的至少一個(gè)興趣與所述至少一個(gè)用戶(hù)相關(guān)聯(lián);與所述收集處理模塊進(jìn)行通信的輪詢(xún)器,當(dāng)所述內(nèi)容的至少一個(gè)部分對(duì)應(yīng)于基于時(shí)間的饋送時(shí),所述輪詢(xún)器用所述內(nèi)容的所述至少一個(gè)部分生成警報(bào)消息,其中所述內(nèi)容的所述至少一個(gè)部分基于至少一個(gè)用戶(hù)的至少一個(gè)興趣與所述至少一個(gè)用戶(hù)相關(guān)聯(lián);和與所述匹配引擎和所述輪詢(xún)器進(jìn)行通信的傳遞接口,該接口根據(jù)至少一個(gè)用戶(hù)預(yù)定義的數(shù)據(jù)結(jié)構(gòu),向所述至少一個(gè)用戶(hù)傳遞所述警報(bào)消息。
全文摘要
一種基于具有一種或多種格式的、可以作為基于事件的饋送或基于時(shí)間的饋送而接收的內(nèi)容(104)來(lái)提供警報(bào)消息的體系結(jié)構(gòu)。該體系結(jié)構(gòu)包括數(shù)據(jù)收集處理模塊(103),用于將內(nèi)容規(guī)范化為預(yù)定義的數(shù)據(jù)結(jié)構(gòu),并且為內(nèi)容編索引,以根據(jù)所選擇的特性處理大量?jī)?nèi)容。匹配引擎(110)使用用戶(hù)查詢(xún)將基于事件的內(nèi)容與已表明有興趣接收與選定內(nèi)容相關(guān)聯(lián)的警報(bào)消息的一個(gè)或多個(gè)用戶(hù)關(guān)聯(lián)起來(lái)。匹配引擎還生成對(duì)應(yīng)的警報(bào)消息。輪詢(xún)器(120)在預(yù)定義的時(shí)間段上代表用戶(hù)取回內(nèi)容,并且生成對(duì)應(yīng)的警報(bào)消息。傳遞接口(130)確定哪些警報(bào)消息被即刻發(fā)送,哪些警報(bào)消息被安排為稍后傳遞。該體系結(jié)構(gòu)被鏡像映射以實(shí)現(xiàn)可擴(kuò)展性和備份(158)。
文檔編號(hào)H04N5/445GK1806242SQ200480016497
公開(kāi)日2006年7月19日 申請(qǐng)日期2004年6月12日 優(yōu)先權(quán)日2003年6月13日
發(fā)明者麥特瑟斯·埃瑟司塔德特, 薩伽拉嘉帕若姆·思萬(wàn)彌納森·羅摩克里希納, 帕特里克·盧, 加亞查達(dá)恩·萊維查達(dá)恩·麥諾恩, 索提里斯·馬特扎納斯 申請(qǐng)人:雅虎公司