專利名稱:Rss數(shù)據(jù)處理對(duì)象的制作方法
RSS數(shù)據(jù)處理對(duì)象
背景
RSS,其表示真正簡(jiǎn)單聚合(Really Simple Syndication),是一種web 內(nèi)容聚合格式。RSS web訂閱源在web上變得越來越受歡迎且眾多具有RSS 支持的軟件應(yīng)用程序正在開發(fā)中。通常,在網(wǎng)頁和其它應(yīng)用程序想要使用 RSS數(shù)據(jù)時(shí),這些網(wǎng)頁或應(yīng)用程序使用某種腳本,如Javascript,來解析RSS 訂閱源然后提供數(shù)據(jù)。使這一場(chǎng)景格外具有挑戰(zhàn)性的是RSS以各種版本和 不同的格式出現(xiàn),例如,RSS 0.91、 0.92、 1.0、 2.0禾P Atom。這使得開發(fā) 用于RSS解析的腳本或代碼變得不同尋常且易于出錯(cuò)。
概述
各種實(shí)施例利用被稱為rsshttp對(duì)象的特殊對(duì)象來獲取RSS訂閱源、處 理該訂閱源以及將一對(duì)象模型展示給網(wǎng)頁或應(yīng)用程序。rsshttp對(duì)象可以解 析訂閱源的相關(guān)聯(lián)的RSS數(shù)據(jù),將訂閱源數(shù)據(jù)規(guī)范化為標(biāo)準(zhǔn)格式,例如RSS 2.0,如有必要?jiǎng)t對(duì)訂閱源數(shù)據(jù)進(jìn)行殺毒并隨后呈現(xiàn)用于與網(wǎng)頁和應(yīng)用程序 交互的標(biāo)準(zhǔn)化的對(duì)象模型。在至少一些實(shí)施例中,rsshttp對(duì)象可被配置為 工作在特設(shè)基礎(chǔ)上,如通過在用戶請(qǐng)求時(shí)取得和處理訂閱源;或在時(shí)間安 排基礎(chǔ)上,其中在時(shí)間安排的基礎(chǔ)上取得和處理訂閱源。通過使用這一對(duì) 象模型,網(wǎng)頁和應(yīng)用程序可以訪問和有意義地使用相關(guān)聯(lián)的訂閱源數(shù)據(jù), 而不必理解不同的訂閱源格式的紛繁難懂之處。
附圖簡(jiǎn)述
圖1示出一實(shí)施例中其中可以利用本發(fā)明的技術(shù)的示例性系統(tǒng)。
圖2示出根據(jù)一實(shí)施例的系統(tǒng)。
圖3示出根據(jù)一實(shí)施例的對(duì)象模型的各個(gè)對(duì)象。
圖4示出根據(jù)一實(shí)施例的對(duì)象模型的各個(gè)對(duì)象。
圖5-7是描述根據(jù)一實(shí)施例的方法中的步驟的流程圖。
圖8示出根據(jù)一實(shí)施例的一個(gè)示例性特定實(shí)現(xiàn)或系統(tǒng)。
詳細(xì)描述
概覽
各種實(shí)施例利用一特殊對(duì)象來處理RSS數(shù)據(jù)。在本文中,這一特殊對(duì)
象被稱為rsshttp對(duì)象并被配置來獲取RSS訂閱源、處理該訂閱源以及將一 對(duì)象模型展示給網(wǎng)頁或應(yīng)用程序。應(yīng)該認(rèn)識(shí)和理解,雖然該對(duì)象被稱為 "rsshttp"對(duì)象,但這不應(yīng)被解釋為將該對(duì)象限制到僅與http有關(guān)的應(yīng)用程 序。在一實(shí)施例中,該對(duì)象可以被實(shí)現(xiàn)為COM對(duì)象。
rsshttp對(duì)象可以解析訂閱源的相關(guān)聯(lián)的RSS數(shù)據(jù),將訂閱源數(shù)據(jù)規(guī)范 化為一標(biāo)準(zhǔn)格式,例如RSS2.0,如有必要?jiǎng)t對(duì)訂閱源數(shù)據(jù)進(jìn)行殺毒并隨后 呈現(xiàn)用于與網(wǎng)頁和應(yīng)用程序交互的標(biāo)準(zhǔn)化的對(duì)象模型。在至少一些實(shí)施例 中,rsshttp對(duì)象可被配置工作在特設(shè)基礎(chǔ)上,如通過在用戶請(qǐng)求時(shí)取得和 處理訂閱源;或在時(shí)間安排基礎(chǔ)上,其中在時(shí)間安排的基礎(chǔ)上取得和處理 訂閱源。通過使用這一對(duì)象模型,網(wǎng)頁和應(yīng)用程序可以訪問和有意義地使 用相關(guān)聯(lián)的訂閱源數(shù)據(jù),而不必理解如描述訂閱源數(shù)據(jù)的XML等的不同的 訂閱源格式的紛繁難懂之處。當(dāng)然,希望與該對(duì)象模型之外的RSS數(shù)據(jù)交 互的網(wǎng)頁和應(yīng)用程序如果如此選擇的話也可以這么做。 示例性系統(tǒng)概覽
圖1概括地在100處示出一實(shí)施例中其中可以利用本發(fā)明的技術(shù)的示 例性系統(tǒng)。在此,系統(tǒng)100包括客戶計(jì)算設(shè)備102和通過諸如因特網(wǎng)等網(wǎng) 絡(luò)互相通信的一個(gè)或多個(gè)服務(wù)器104形式的一個(gè)或多個(gè)計(jì)算設(shè)備。在該示 例中,客戶計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器106和其上駐留可執(zhí)行的計(jì)算 機(jī)可讀指令的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)108。在該示例中,計(jì)算機(jī)可讀介 質(zhì)108包括實(shí)現(xiàn)web瀏覽器110的代碼。
在該示例中,web瀏覽器110被配置為顯示一個(gè)或多個(gè)網(wǎng)頁112,其中 的各單獨(dú)頁面可以支持或包含、DHTML等。另外,在至少一些實(shí)施例中, 瀏覽器110可以包括或以其它方式利用一個(gè)或多個(gè)rsshttp對(duì)象114和,可 任選地, 一個(gè)或多個(gè)xmlhttp對(duì)象116。
在該示例中,利用rsshttp對(duì)象來獲取RSS訂閱源,如在特設(shè)基礎(chǔ)上獲 取的訂閱源或由用戶訂閱的訂閱源。在至少一些實(shí)施例中,rsshttp對(duì)象可 以利用xmlhttp對(duì)象116作為使用公知xml/http技術(shù)獲取訂閱源的手段。
在rsshttp對(duì)象從例如服務(wù)器104獲取RSS訂閱源時(shí),其可以操作該訂
閱源以執(zhí)行準(zhǔn)許應(yīng)用程序和腳本與該RSS數(shù)據(jù)交互而不必理解關(guān)于底層
RSS格式或描述該RSS數(shù)據(jù)的XML的任何信息的多個(gè)功能。更具體地, 且如下更詳細(xì)地描述的,rsshttp對(duì)象處理RSS訂閱源來構(gòu)建隨后被展示給 應(yīng)用程序和網(wǎng)頁的對(duì)象模型。
僅作為rsshttp對(duì)象的一個(gè)具體示例,考慮下一節(jié)。
示例性RSSHTTP對(duì)象
圖2概括地在200處示出根據(jù)一實(shí)施例的系統(tǒng)。在此,系統(tǒng)200包括 一個(gè)或多個(gè)應(yīng)用程序/網(wǎng)頁201、 一個(gè)或多個(gè)rsshttp對(duì)象202和存儲(chǔ)214。
在一實(shí)施例中,rsshttp對(duì)象202包括各功能或組件,包括訂閱源檢索 組件204、對(duì)象模型構(gòu)建器206、對(duì)象模型208、高速緩存組件210和聚集 組件212。
在一實(shí)施例中,訂閱源檢索組件204包括訂閱源訂閱組件216和特設(shè) 檢索組件218。訂閱源檢索組件204被配置為使得訂閱源能夠被rsshttp對(duì) 象獲取和處理。
在該特定示例中,訂閱源訂閱組件216使用戶能夠訂閱特定RSS訂閱 源。這通??赏ㄟ^用戶、網(wǎng)站或應(yīng)用程序指定與該訂閱源相關(guān)聯(lián)的URL來 完成。 一旦指定了URL,訂閱組件216可以訂閱該訂閱源并確保與該訂閱 源相關(guān)聯(lián)的最新信息可供用戶使用。通過在時(shí)間安排基礎(chǔ)上定期檢査該 RSS訂閱源的新信息可做到這點(diǎn)。該時(shí)間表可以是rsshttp對(duì)象設(shè)置的,或 是與諸如服務(wù)器等提供該RSS訂閱源的實(shí)體協(xié)商的。
除訂閱源訂閱組件216之外,在該示例中,訂閱源檢索組件204還包 括特設(shè)檢索組件218。在該實(shí)施例中,特設(shè)檢索組件218可用于在特設(shè)基礎(chǔ) 上獲取RSS訂閱源。例如,如果用戶看到一特別感興趣的訂閱源,其可以 點(diǎn)擊相關(guān)聯(lián)的鏈接,此時(shí)特設(shè)檢索組件218采取獲取由用戶指定的訂閱源 的步驟。
在一實(shí)施例中,對(duì)象模型構(gòu)建器206包括解析器組件220、殺毒器組 件222、規(guī)范化器組件224和合并器組件226。
在該特定示例中,解析器組件220被配置為解析與所獲取的RSS訂閱 源相關(guān)聯(lián)的XML。技術(shù)人員將理解,可以利用任何合適的解析組件。在解
析器組件對(duì)訂閱源操作時(shí),其解析標(biāo)識(shí)組成該訂閱源的特定元素的XML元
素。可以回想起RSS訂閱源可以具有許多不同格式。因而,解析器能夠標(biāo)
識(shí)組成該訂閱源的所有不同的元素。還要注意,這些元素中的某一些可能 是被用來擴(kuò)展訂閱源基本模式的元素。
在該特定示例中,殺毒器組件222被配置為對(duì)該訂閱源進(jìn)行殺毒,以 殺掉該訂閱源可能具有的任何不期望的特征或?qū)傩?。例如,訂閱源可以?含某一不期望有的活動(dòng)或可執(zhí)行內(nèi)容。在這種情況下,殺毒器組件222殺 掉或刪除這一活動(dòng)或可執(zhí)行內(nèi)容。
規(guī)范化器組件224對(duì)RSS數(shù)據(jù)操作來將其規(guī)范化為一標(biāo)準(zhǔn)或共同格 式。在該示例中,該共同或標(biāo)準(zhǔn)格式是RSS2.0。因此,那些不同于RSS2.0 的其它格式被操作來刪除元素或?qū)⒃赜成涞絉SS2.0元素。如此,使RSS 數(shù)據(jù)處于標(biāo)準(zhǔn)化格式導(dǎo)致操作和處理時(shí)的可預(yù)測(cè)性。
在該示例中,合并器組件226處理RSS數(shù)據(jù)且完成如在數(shù)據(jù)存儲(chǔ)214 中寄存和存儲(chǔ)新的內(nèi)容和其它相關(guān)狀態(tài)數(shù)據(jù)等事情。這可以使對(duì)象模型能 夠向注冊(cè)它們的實(shí)體提供或激發(fā)事件。例如,應(yīng)用程序可以注冊(cè)在從特定 訂閱源接收到新內(nèi)容時(shí)的通知。在該實(shí)例中,合并器組件可以尋找任何這 種新內(nèi)容以使對(duì)象202可以向應(yīng)用程序激發(fā)事件。
在至少一些實(shí)施例中,對(duì)象模型構(gòu)建器206的輸出是規(guī)范化的、殺過 毒的、可被展示給應(yīng)用程序/網(wǎng)頁201的對(duì)象模型208。這些實(shí)體可以與對(duì) 象模型而非定義RSS訂閱源的XML交互,從而使實(shí)體從必須理解不同RSS 訂閱源的紛繁難懂之處中得到緩和。當(dāng)然,對(duì)于希望直接與XML交互的那 些實(shí)體,其可自由進(jìn)行交互。以下在標(biāo)題"對(duì)象模型"下描述了示例性對(duì) 象模型。
在一實(shí)施例中,高速緩存組件210被配置為執(zhí)行被設(shè)計(jì)來減輕提供RSS 訂閱源的服務(wù)器所經(jīng)受的負(fù)載的高速緩存任務(wù)。更具體地,高速緩存組件 可被配置來利用條件GET請(qǐng)求以便除非必須時(shí)不做請(qǐng)求。例如,在請(qǐng)求訂 閱源數(shù)據(jù)時(shí),rsshttp對(duì)象可以向服務(wù)器發(fā)送其最后一次收到訂閱源的數(shù)據(jù) 的時(shí)間戳。服務(wù)器隨后可以用新的數(shù)據(jù)來響應(yīng),或用"沒有新數(shù)據(jù)"來快 速響應(yīng)。另外,該高速緩存組件可以被配置為確保請(qǐng)求很小,以使高速緩
存可被快速更新。
在一實(shí)施例中,聚集組件212被配置為聚集內(nèi)容。SP,通常RSS訂閱
源只提供最新近的項(xiàng)目。然而,存在具有完整的項(xiàng)目集是期望的情況。聚
集組件212被配置為獲取這些不同的且有時(shí)過期的項(xiàng)目并將這些項(xiàng)目聚集 在數(shù)據(jù)存儲(chǔ)214中以使應(yīng)用程序或網(wǎng)頁可以訪問所有項(xiàng)目。 對(duì)象模型
圖3示出根據(jù)一實(shí)施例的對(duì)象模型300的各單獨(dú)對(duì)象。將要描述的對(duì) 象模型僅構(gòu)成可被利用的對(duì)象模型的一個(gè)示例,且不旨在將所要求保護(hù)的 主題的應(yīng)用只限于以下描述的對(duì)象模型。在至少某些實(shí)施例中,該對(duì)象模 型由可被應(yīng)用程序或網(wǎng)頁調(diào)用的API來展示。
在該特定對(duì)象模型中,頂層對(duì)象//逸7象302是訂閱源類型。訂閱源對(duì) 象302下面是項(xiàng)目類型的項(xiàng)目對(duì)象304,同時(shí)項(xiàng)目對(duì)象304下面是對(duì)象類型 的附加件對(duì)象306。
對(duì)象模型的各單獨(dú)對(duì)象具有可被利用來管理所接收的web內(nèi)容的屬 性、方法以及在一些實(shí)例中的事件。上述對(duì)象模型準(zhǔn)許利用分層結(jié)構(gòu)來管 理訂閱源并與其交互而不必知曉描述該RSS訂閱源的底層XML。
進(jìn)一步考慮該對(duì)象模型,分別考慮項(xiàng)目和附加件對(duì)象304、 306。此處, 這些對(duì)象很大地反映RSS是如何構(gòu)造其自身的。即,每一RSS訂閱源具有 其內(nèi)部可任選地出現(xiàn)附加件的單獨(dú)項(xiàng)目。因而,該對(duì)象模型的結(jié)構(gòu)被配置 為反映聚合格式的結(jié)構(gòu)。
從對(duì)象模型的觀點(diǎn)來看, 一個(gè)項(xiàng)目上基本上有兩種不同類型的方法和 屬性。第一類型的方法/屬性與只讀數(shù)據(jù)有關(guān),而第二類型的方法/屬性與既 可讀也可寫的數(shù)據(jù)有關(guān)。
作為第一類型的方法/屬性的示例,考慮如下。每一訂閱源可以具有與 其相關(guān)聯(lián)的以XML結(jié)構(gòu)表示的數(shù)據(jù)。該數(shù)據(jù)包括如標(biāo)題、作者、語言等內(nèi) 容。像這樣的數(shù)據(jù)被對(duì)象模型看作只讀。這阻止應(yīng)用程序操縱該數(shù)據(jù)。
另一方面,還有被看作讀/寫的數(shù)據(jù),如特定訂閱源的名字。S卩,用戶 可能希望為其特定用戶界面?zhèn)€性化一特定訂閱源。在這種情況下,對(duì)象模 型具有讀/寫屬性。例如,用戶可能希望將訂閱源的名字從"New York Times " 改為"NYT"。在這一情況下,名字屬性可以是可讀和可寫的。對(duì)象模型 還可以用允許應(yīng)用程序向訂閱源動(dòng)態(tài)地添加數(shù)據(jù)/狀態(tài)的"expando"屬性來 擴(kuò)展。其一示例是連同rss項(xiàng)目一起存儲(chǔ)外鍵以便與其它數(shù)據(jù)庫(kù)/存儲(chǔ)中數(shù) 據(jù)容易地匹配。
圖4示出根據(jù)一實(shí)施例的頂層對(duì)象或接口 IFeed (訂閱源接口),以 及對(duì)象或接口 litem (項(xiàng)目接口)和IEnclosure (附加件接口)對(duì)象,以 及其屬性和方法??梢岳闷渌鼘?duì)象、接口和屬性而不背離所要求保護(hù)的 主題的精神和范圍。
首先從IFeed對(duì)象開始,考慮如下。技術(shù)人員將理解,與該對(duì)象相關(guān) 聯(lián)的許多屬性來自于RSS訂閱源自身,例如,Title (標(biāo)題)、Url、 Webmaster (web站點(diǎn)管理員)、SkipHours (跳過的小時(shí))、SkipDays (跳過的天)、 ManagingEditor (管理編輯器)、Homepage (主頁)、ImageURL (圖像 URL)等。另外,還有另一組感興趣的屬性,即//ew (項(xiàng)目)屬性和 1oca/^zc/orare尸。A (本地附加件路徑)屬性,其中Items屬性是具有作為 訂閱源的一部分的所有項(xiàng)目的集合,而丄ocfl/五"c/cm^e/^A屬性提供寫入所 有附加件的實(shí)際目錄。因而,對(duì)于一應(yīng)用程序,后一屬性使其很容易地訪 問附加件。
另外,該對(duì)象支持諸如:Download()(下載)等被用于管理特定訂閱源 的一小組方法。此外,該對(duì)象支持以標(biāo)準(zhǔn)格式返回訂閱源的XML的方法 XML()。 XML數(shù)據(jù)可被用于如創(chuàng)建訂閱源的報(bào)紙査看等事情。
移至Item對(duì)象,該對(duì)象具有表示規(guī)則RSS元素的一組屬性,例如 Description (描述)、Url、 Title (標(biāo)題)、Author (作者)。另外,還有指 回相關(guān)聯(lián)的實(shí)際訂閱源的Parent (父)屬性和Id屬性,以使應(yīng)用程序可以 標(biāo)識(shí)項(xiàng)目而不必在所有項(xiàng)目上迭代。另外,還有Enclosures (附加件)屬 性,其是類型為IEnclosure (附加件接口)的項(xiàng)目的附加件的集合。此外, IsRead (已讀)屬性使應(yīng)用程序可以指示特定項(xiàng)目是否已被閱讀。
移至Enclosure對(duì)象,考慮如下。該對(duì)象具有包括Type (類型)屬性 (例如,mp3)和描述特定附加件的例如按字節(jié)的長(zhǎng)度的Length (長(zhǎng)度) 屬性。還有到特定附加件的LocalAbsolutePath(本地絕對(duì)路徑)。Download()
方法允許應(yīng)用程序下載和使用各單獨(dú)附加件。
通過將上述對(duì)象模型展示給應(yīng)用程序和網(wǎng)頁,這些應(yīng)用程序和網(wǎng)頁可 以與這些對(duì)象且因此與訂閱源的數(shù)據(jù)交互,而不必知曉或處理描述該訂閱
源的任何底層XML。當(dāng)然,希望處理底層XML的應(yīng)用程序和網(wǎng)頁仍然可 以自由地進(jìn)行處理。 示例性方法
圖5-7是描述根據(jù)一實(shí)施例的方法中的步驟的流程圖。該方法可以結(jié) 合任何合適的硬件、軟件、固件或其組合來實(shí)現(xiàn)。在至少一些實(shí)施例中, 這些方法可結(jié)合諸如如上和如下示出并描述的系統(tǒng)來實(shí)現(xiàn)??梢哉J(rèn)識(shí)和理 解,可以利用與本文中所描述的系統(tǒng)不同的系統(tǒng)來實(shí)現(xiàn)所描述的方法而不 背離所要求保護(hù)的主題的精神和范圍。
在所示的方法中,組織各流程圖以示出哪些實(shí)體可以執(zhí)行這些不同的 動(dòng)作。據(jù)此,可由應(yīng)用程序或網(wǎng)頁執(zhí)行的那些動(dòng)作被指定為由其執(zhí)行。類 似地,可由rsshttp對(duì)象或RSS源(服務(wù)器)執(zhí)行的那些動(dòng)作被指定為由其 執(zhí)行。
圖5示出根據(jù)一實(shí)施例的用于構(gòu)建對(duì)象模型的示例性方法。
在步驟500,應(yīng)用程序或網(wǎng)頁在rsshttp對(duì)象上作出對(duì)RSS訂閱源的請(qǐng) 求。該請(qǐng)求可經(jīng)由對(duì)合適地展示的應(yīng)用程序接口的調(diào)用來做出,且可以構(gòu) 成任何合適類型的請(qǐng)求,如特設(shè)請(qǐng)求、訂閱請(qǐng)求等。
rsshttp對(duì)象在502接收該請(qǐng)求并在504在諸如服務(wù)器等相關(guān)聯(lián)的RSS 源上做出一對(duì)應(yīng)的請(qǐng)求。服務(wù)器在506接收該請(qǐng)求并在508向rsshttp對(duì)象 提供或發(fā)送RSS訂閱源數(shù)據(jù)。
如果其不是特設(shè)訂閱源,則rsshttp對(duì)象隨后將該數(shù)據(jù)規(guī)范化、殺毒并
合并到存儲(chǔ)中。
rsshttp對(duì)象在510接收RSS訂閱源數(shù)據(jù)并在512構(gòu)建對(duì)象模型。如上 提供了對(duì)象模型以及對(duì)象模型的一具體實(shí)例如何的各個(gè)示例。 一旦構(gòu)建了 對(duì)象模型,rsshttp對(duì)象在514將該對(duì)象模型展示給應(yīng)用程序/網(wǎng)頁。
一旦展示了對(duì)象模型,應(yīng)用程序/網(wǎng)頁則可以與RSS數(shù)據(jù)交互并使用該 數(shù)據(jù)??赏ㄟ^調(diào)用對(duì)象模型所展示的各種方法來進(jìn)行交互和使用。以此方
式,應(yīng)用程序或網(wǎng)頁不必關(guān)心描述訂閱源的底層XML。這是因?yàn)樵跇?gòu)建對(duì)
象模型時(shí)抽走了XML。除對(duì)象模型之外,在至少一些實(shí)施例中,在出錯(cuò)的
情況下可為應(yīng)用程序或網(wǎng)頁生成各種出錯(cuò)消息。'出錯(cuò)可以包括,例如下載 失敗、未能規(guī)范化、未能殺毒、無效的訂閱源格式等。此外,可在合適的 數(shù)據(jù)存儲(chǔ)中更新或保存各種狀態(tài)。例如,可以記錄與項(xiàng)目相關(guān)聯(lián)的狀態(tài),
諸如"未更新(not updated)"、"新(new)"、"己更新(updated)" 和"已刪除(removed)"等。
圖6示出根據(jù)一實(shí)施例的用于做出時(shí)間安排請(qǐng)求的示例性方法。 在步驟600,應(yīng)用程序或網(wǎng)頁在rsshttp對(duì)象上作出一時(shí)間安排的請(qǐng)求。 該請(qǐng)求可經(jīng)由對(duì)合適地展示的應(yīng)用程序接口的調(diào)用來做出。在該示例中, 應(yīng)用程序或網(wǎng)頁可能希望周期性地接收訂閱源更新。因而,根據(jù)應(yīng)用程序 或網(wǎng)頁提供的或與服務(wù)器協(xié)商的時(shí)間表,可以做出定期檢查。在至少一些 實(shí)施例中,應(yīng)用程序或網(wǎng)頁并不每次都作出請(qǐng)求。其僅僅最初設(shè)置請(qǐng)求/時(shí) 間表,然后rsshttp對(duì)象將自動(dòng)地在后臺(tái)作出請(qǐng)求。
rsshttp對(duì)象從而在602接收該請(qǐng)求,并在604根據(jù)時(shí)間表在諸如服務(wù) 器等相關(guān)聯(lián)的RSS源上做出一對(duì)應(yīng)的請(qǐng)求。如果有任何數(shù)據(jù)滿足該請(qǐng)求, 則服務(wù)器在606接收該請(qǐng)求并在608向rsshttp對(duì)象提供或發(fā)送RSS訂閱源 數(shù)據(jù)。
rsshttp在610接收RSS訂閱源數(shù)據(jù)并在612使該RSS訂閱源數(shù)據(jù)可用。 該步驟可以按眾多方式來執(zhí)行。例如,在接收到響應(yīng)于該請(qǐng)求的新訂閱源 數(shù)據(jù)時(shí), 一個(gè)事件可以被激發(fā)并且可以通知用戶。通知可以用任何合適的 方式發(fā)生。例如,用戶瀏覽器中的用戶界面元素可以被激活來指示已接收 到新的項(xiàng)目。另選地或另外地,可以向用戶發(fā)送通知,如電子郵件或即時(shí) 消息、可用新項(xiàng)目更新自身的彈出窗口或應(yīng)用程序/網(wǎng)頁UI。 圖7示出根據(jù)一實(shí)施例的用于注冊(cè)事件的示例性方法。 在步驟700,應(yīng)用程序或網(wǎng)頁用rsshttp對(duì)象注冊(cè)事件。任何合適的事 件或事件類型都可以是注冊(cè)的主題。例如,應(yīng)用程序或網(wǎng)頁可能對(duì)在添加
新訂閱源項(xiàng)目或訂閱源項(xiàng)目被改變、刪除或閱讀時(shí)接收通知感興趣。
rsshttp對(duì)象在702接收注冊(cè)請(qǐng)求并在704監(jiān)聽特定事件。該步驟可以
用任何合適的方式來實(shí)現(xiàn)。例如,rsshttp對(duì)象可以以規(guī)則的間隔輪詢RSS 源或服務(wù)器來查明特定事件是否發(fā)生。另選地或另外地,RSS源或服務(wù)器 可以通知訂戶特定事件何時(shí)發(fā)生。
如果在步驟706發(fā)生事件,則rsshttp對(duì)象在步驟708通知應(yīng)用程序或 網(wǎng)頁??梢蕴峁┤魏魏线m的通知,其示例如上描述。如果事件未發(fā)生,則 步驟706返回到步驟704并監(jiān)聽感興趣的事件。
示例性實(shí)現(xiàn)
圖8概括地在800處示出根據(jù)一實(shí)施例的示例性特定實(shí)現(xiàn)或系統(tǒng)。應(yīng) 當(dāng)認(rèn)識(shí)和理解,將要描述的示例僅構(gòu)成關(guān)于如何實(shí)現(xiàn)上述功能的一個(gè)示例。 如此,可以利用其它不同的實(shí)現(xiàn)而不背離所要求保護(hù)的主題的精神和范圍。
在該示例中,網(wǎng)頁/用戶界面802允許用戶與系統(tǒng)交互。該界面可由任 何合適的應(yīng)用程序提供。例如,在一些實(shí)施例中,可以使用瀏覽器界面。 系統(tǒng)800還包括rsshttp對(duì)象804、任選xmlhttp對(duì)象806、任選RSS平臺(tái)組 件808、 WinINET組件810和存儲(chǔ)數(shù)據(jù)庫(kù)812。
其中,rsshttp對(duì)象804可以使用xmlhttp對(duì)象806以可由本領(lǐng)域技術(shù)人 員理解的方式來訪問XML數(shù)據(jù)。另外,在該特定實(shí)現(xiàn)中,這些對(duì)象可以利 用RSS平臺(tái)808來獲取RSS訂閱源數(shù)據(jù)。在于2007年1月11日公開的美 國(guó)專利申請(qǐng)公開US-2007-0011665-A1號(hào)中描述了一示例性平臺(tái)。
技術(shù)人員將理解,WinINET組件810被利用來做出網(wǎng)絡(luò)請(qǐng)求,而存儲(chǔ) 數(shù)據(jù)庫(kù)812被用來存儲(chǔ)所有單獨(dú)項(xiàng)目和狀態(tài)信息。
利用該實(shí)現(xiàn)示例的典型操作發(fā)生如下。在一些實(shí)例中,作為應(yīng)用程序 的一部分執(zhí)行的一段jscript代碼將實(shí)例化rsshttp對(duì)象804。該jscript代碼 隨后可以使用與特定RSS訂閱源相關(guān)聯(lián)的URL在rsshttp對(duì)象上作出請(qǐng)求。 rsshttp對(duì)象804隨后可以在服務(wù)器上作出請(qǐng)求。如果存在xmlhttp對(duì)象806 和/或RSS平臺(tái),則rsshttp對(duì)象可以利用這些組件來獲取RSS訂閱源數(shù)據(jù)。
服務(wù)器隨后向rsshttp對(duì)象804送還RSS訂閱源數(shù)據(jù)?,F(xiàn)在,rsshttp對(duì) 象可以做諸如對(duì)數(shù)據(jù)殺毒、規(guī)范化數(shù)據(jù)和將數(shù)據(jù)合并入存儲(chǔ)數(shù)據(jù)庫(kù)812中 等事情。這可以包括,作為示例而非限制,更新與該RSS數(shù)據(jù)相關(guān)聯(lián)的狀 態(tài)信息。 一旦該動(dòng)作完成,rsshttp對(duì)象則可以構(gòu)建對(duì)象模型并將該對(duì)象模
型展示給應(yīng)用程序或網(wǎng)頁。在該示例中,存儲(chǔ)數(shù)據(jù)庫(kù)812不僅存儲(chǔ)各單獨(dú) 訂閱源項(xiàng)目的狀態(tài),而且還存儲(chǔ)各種訂閱列表。這允許rsshttp對(duì)象甚至在 應(yīng)用程序或網(wǎng)頁802尚未加載時(shí)也能保持訂閱源項(xiàng)目新鮮。
例如,web應(yīng)用程序可以按域(url域)訂閱N個(gè)訂閱源。這允許web 應(yīng)用程序在啟動(dòng)時(shí)總是具有最新的數(shù)據(jù)。
安全性
在至少一些實(shí)施例中,rsshttp對(duì)象執(zhí)行按域RSS訂閱源安全模型,其 指的是來自一特定域的網(wǎng)頁只能訪問用戶的訂閱源訂閱中其從用戶接收到 許可的一個(gè)子集。這使得例如,使用戶有可能允許對(duì)其家人照片訂閱源訂 閱的訪問能訪問以新的且吸引人的方式顯示圖像的新幻燈片放映網(wǎng)頁,而 同時(shí)將該網(wǎng)頁的訪問限于用戶最近的信用卡交易的訂閱源。
結(jié)論
各種實(shí)施例利用被稱為rsshttp對(duì)象的特殊對(duì)象來獲取RSS訂閱源、處 理該訂閱源以及將一對(duì)象模型展示給網(wǎng)頁或應(yīng)用程序。rsshttp對(duì)象可以解 析訂閱源的相關(guān)聯(lián)的RSS數(shù)據(jù),將訂閱源數(shù)據(jù)規(guī)范化為一標(biāo)準(zhǔn)格式,例如 RSS 2.0,如有必要?jiǎng)t對(duì)訂閱源數(shù)據(jù)進(jìn)行殺毒并隨后呈現(xiàn)用于與網(wǎng)頁和應(yīng)用 程序交互的標(biāo)準(zhǔn)化的對(duì)象模型。在至少一些實(shí)施例中,rsshttp對(duì)象可被配 置為工作在特設(shè)基礎(chǔ)上,如通過在用戶請(qǐng)求時(shí)取得和處理訂閱源;或在時(shí) 間安排基礎(chǔ)上,其中在時(shí)間安排的基礎(chǔ)上取得和處理訂閱源。通過使用這 一對(duì)象模型,'網(wǎng)頁和應(yīng)用程序可以訪問和有意義地使用相關(guān)聯(lián)的訂閱源數(shù) 據(jù),而不必理解不同的訂閱源格式的紛繁難懂之處。
雖然已經(jīng)用對(duì)結(jié)構(gòu)特征和/或方法步驟專用的語言描述了本發(fā)明,但是 應(yīng)當(dāng)理解,所附權(quán)利要求書中定義的本發(fā)明不必限于所描述的具體特征或 步驟。相反,各具體特征和步驟是作為實(shí)現(xiàn)所要求保護(hù)的本發(fā)明的較佳形 式來公開的。
權(quán)利要求
1. 一種系統(tǒng),包括一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì);所述一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上的、在被執(zhí)行時(shí)實(shí)現(xiàn)一對(duì)象的計(jì)算機(jī)可讀指令,所述對(duì)象被配置為獲取(510)RSS訂閱源;處理所述RSS訂閱源以提供與所述訂閱源相關(guān)聯(lián)的對(duì)象模型(512);將所述對(duì)象模型展示(514)給各實(shí)體以使這些實(shí)體可以與相關(guān)聯(lián)的訂閱源數(shù)據(jù)交互而不必理解描述所述訂閱源數(shù)據(jù)的XML。
2. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述對(duì)象被配置為在特設(shè)的基 礎(chǔ)上取得訂閱源。
3. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述對(duì)象被配置為在時(shí)間安排 的基礎(chǔ)上取得訂閱源。
4. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述對(duì)象被配置為使用戶能夠 訂閱RSS訂閱源。
5. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述對(duì)象被配置為解析與由所 述對(duì)象獲取的RSS訂閱源相關(guān)聯(lián)的XML,并將所述訂閱源的格式規(guī)范化為標(biāo) 準(zhǔn)格式,其中所述對(duì)象模型表示所述標(biāo)準(zhǔn)格式。
6. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述對(duì)象被配置為高速緩存 RSS訂閱源數(shù)據(jù)。
7. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述對(duì)象被配置為聚集RSS 訂閱源數(shù)據(jù)。
8. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述對(duì)象包括 與特定RSS訂閱源相關(guān)聯(lián)的訂閱源對(duì)象; 與特定訂閱源項(xiàng)目相關(guān)聯(lián)的項(xiàng)目對(duì)象;以及與訂閱源的特定附加件相關(guān)聯(lián)的附加件對(duì)象,其中所述對(duì)象模型的單獨(dú)對(duì) 象具有相關(guān)聯(lián)的方法和屬性。
9. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述對(duì)象包括瀏覽器的一部分。
10. —種系統(tǒng),包括一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì);所述一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上的、在被執(zhí)行時(shí)實(shí)現(xiàn)一 web瀏覽器的 計(jì)算機(jī)可讀指令,所述web瀏覽器被配置為 接收(502)對(duì)于RSS訂閱源的請(qǐng)求; 在相關(guān)聯(lián)的RSS源上做出(504)對(duì)應(yīng)的請(qǐng)求; 接收(510)與所述請(qǐng)求相關(guān)聯(lián)的RSS訂閱源數(shù)據(jù);解析與所述訂閱源數(shù)據(jù)相關(guān)聯(lián)的XML并構(gòu)建(512)規(guī)范化的對(duì)象模型,其 中所述規(guī)范化的對(duì)象模型包括其至少一些具有與所述RSS訂閱源數(shù)據(jù)相關(guān)聯(lián) 的可調(diào)用方法和屬性的各單獨(dú)對(duì)象;以及將所述對(duì)象模型展示給(514)應(yīng)用程序或網(wǎng)頁。
11. 如權(quán)利要求10所述的系統(tǒng),其特征在于,所述對(duì)象模型包括 與特定RSS訂閱源相關(guān)聯(lián)的訂閱源對(duì)象; 與訂閱源的特定項(xiàng)目相關(guān)聯(lián)的項(xiàng)目對(duì)象;以及 與訂閱源的特定附加件相關(guān)聯(lián)的附加件對(duì)象。
12. 如權(quán)利要求10所述的系統(tǒng),其特征在于,所述web瀏覽器被配置 為接收對(duì)RSS訂閱源或項(xiàng)目的時(shí)間安排請(qǐng)求并根據(jù)相關(guān)聯(lián)的時(shí)間表在RSS源 上做出請(qǐng)求。
13. 如權(quán)利要求IO所述的系統(tǒng),其特征在于,所述web瀏覽器被配置 為接收注冊(cè)請(qǐng)求并監(jiān)聽相關(guān)聯(lián)的事件。
14. 如權(quán)利要求10所述的系統(tǒng),其特征在于,所述web瀏覽器被配置 為接收注冊(cè)請(qǐng)求并監(jiān)聽相關(guān)聯(lián)的事件,并且其中所述web瀏覽器被配置為生成 與發(fā)生的事件相關(guān)聯(lián)的通知。
15. —種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括 接收(502)對(duì)于RSS訂閱源的請(qǐng)求; 在相關(guān)聯(lián)的RSS源上做出(504)對(duì)應(yīng)的請(qǐng)求; 接收(510)與所述請(qǐng)求相關(guān)聯(lián)的RSS訂閱源數(shù)據(jù); 解析與所述RSS訂閱源數(shù)據(jù)相關(guān)聯(lián)的XML;構(gòu)建(512)規(guī)范化的對(duì)象模型,其中所述規(guī)范化的對(duì)象模型包括其至少一 些具有與所述RSS訂閱源數(shù)據(jù)相關(guān)聯(lián)的可調(diào)用方法和屬性的各單獨(dú)對(duì)象;以及 將所述對(duì)象模型展示給(514)應(yīng)用程序或網(wǎng)頁。
16. 如權(quán)利要求15所述的方法,其特征在于,所述對(duì)象模型包括 與特定RSS訂閱源相關(guān)聯(lián)的訂閱源對(duì)象; 與訂閱源的特定項(xiàng)目相關(guān)聯(lián)的項(xiàng)目對(duì)象;以及與訂閱源的特定附加件相關(guān)聯(lián)的附加件對(duì)象。
17. 如權(quán)利要求15所述的方法,其特征在于,還包括 接收對(duì)RSS訂閱源或項(xiàng)目的時(shí)間安排請(qǐng)求;以及根據(jù)相關(guān)聯(lián)的時(shí)間表在RSS源上做出請(qǐng)求。
18. 如權(quán)利要求15所述的方法,其特征在于,還包括 接收注冊(cè)請(qǐng)求;以及監(jiān)聽相關(guān)聯(lián)的事件。
19. 如權(quán)利要求15所述的方法,其特征在于,還包括 接收注冊(cè)請(qǐng)求;監(jiān)聽相關(guān)聯(lián)的事件;以及 生成與發(fā)生的事件相關(guān)聯(lián)的通知。
20. 如權(quán)利要求15所述的方法,其特征在于,所述動(dòng)作由web瀏覽器 執(zhí)行。
全文摘要
各實(shí)施例利用被稱為rsshttp對(duì)象的特殊對(duì)象來獲取RSS訂閱源、處理該訂閱源以及將一對(duì)象模型展示給網(wǎng)頁或應(yīng)用程序。在至少一些實(shí)施例中,該rsshttp對(duì)象可以解析訂閱源的相關(guān)聯(lián)的RSS數(shù)據(jù),將訂閱源數(shù)據(jù)規(guī)范化為標(biāo)準(zhǔn)格式,如有必要?jiǎng)t對(duì)訂閱源數(shù)據(jù)進(jìn)行殺毒并隨后呈現(xiàn)用于與網(wǎng)頁和應(yīng)用程序交互的標(biāo)準(zhǔn)化的對(duì)象模型。
文檔編號(hào)G06F15/163GK101395593SQ200780007512
公開日2009年3月25日 申請(qǐng)日期2007年2月13日 優(yōu)先權(quán)日2006年3月3日
發(fā)明者S·O·林德賽, W·V·馮科齊 申請(qǐng)人:微軟公司