日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

橫向擴展系統(tǒng)以獲取事件數(shù)據(jù)的制作方法

文檔序號:7860155閱讀:220來源:國知局
專利名稱:橫向擴展系統(tǒng)以獲取事件數(shù)據(jù)的制作方法
技術領域
本發(fā)明涉及數(shù)據(jù)獲取。
背景技術
背景和相關技術計算機和計算系統(tǒng)已經(jīng)影響了現(xiàn)代生活的幾乎每個方面。計算機通常在工作、休閑、保健、運輸、娛樂、家政管理等中都有涉獵。此外,計算系統(tǒng)功能還可以通過計算系統(tǒng)的經(jīng)由網(wǎng)絡連接互連到其他計算系統(tǒng)的能力來增強。網(wǎng)絡連接可包括,但不僅限于,經(jīng)由有線或無線以太網(wǎng)的連接,蜂窩式連接,或者甚至通過串行、并行、USB或其它連接的計算機到計算機的連接。這些連接允許計算系統(tǒng)訪問其他計算系統(tǒng)上的服務,并快速且有效地從其他計算系統(tǒng)接收應用數(shù)據(jù)。許多計算機旨在通過與計算機的直接用戶交互來使用。這樣,計算機具有輸入硬件和軟件用戶接口以促成用戶交互。例如,現(xiàn)代通用計算機可包括用于允許用戶向計算機輸入數(shù)據(jù)的鍵盤、鼠標、觸摸墊、相機等。另外,有各種軟件用戶接口可用。軟件用戶接口的示例包括圖形用戶界面、基于文本命令行的用戶界面、功能鍵或熱鍵用戶界面等等。假定開發(fā)者正在編寫旨在聚集來自各種各樣的源的信息(諸如RSS或Atom格式可用的當前世界或金融新聞)并引導這種信息經(jīng)過發(fā)布/訂閱基礎架構以便進行整合、傳播和存儲的應用。發(fā)布/訂閱基礎架構由可從華盛頓州雷德蒙市微軟公司購得的WindowsAzure服務總線提供,但也以類似形式存在于各種其它消息收發(fā)系統(tǒng)中并允許將消息/事件發(fā)布到臨時存儲且使得這些消息/事件被一個或多個訂閱者檢索和消費。在此要求保護的主題不限于解決任何缺點或僅在諸如上述環(huán)境中操作的各個實施例。相反,提供該背景僅用以示出在其中可實踐在此描述的部分實施例的一個示例性技術領域。

發(fā)明內容
此處所述的一個實施例涉及發(fā)射事件的方法。該方法包括通過使用多個不同源專用的多個不同的協(xié)議與這些不同源通信來從這些不同源獲取數(shù)據(jù)。該方法還包括,基于所獲取的數(shù)據(jù)判斷事件應發(fā)生。該方法還包括引起事件。為得到消費者的一致事件評估對所引起的事件進行標準化,而不管來自導致該事件的數(shù)據(jù)源的數(shù)據(jù)的特定形態(tài)。提供本發(fā)明內容以便以簡化形式介紹將在以下詳細描述中進一步描述的一些概念。本發(fā)明內容并非旨在標識所要求保護的主題的關鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。另外的特征和優(yōu)點將在以下的描述中闡述, 并且部分可從該描述中顯而易見,或者可以從此處的教示實踐中習得。本發(fā)明的特征和優(yōu)點可以通過在所附權利要求中特別指出的手段和組合來實現(xiàn)并獲取。本發(fā)明的特征將從以下描述和所附權利要求書中變得完全顯而易見,或者可通過如下所述對本發(fā)明的實踐而獲知。


為了描述可獲得本主題的上述和其它優(yōu)點和特征的方式,將通過參考附圖中示出的本主題的具體實施例來呈現(xiàn)以上簡要描述的本主題的更具體描述。應該理解,這些附圖僅描繪了各典型實施例,因此其不應被認為是對范圍的限制,各實施例將通過使用附圖用附加特征和細節(jié)來描述并解釋,在附圖中圖1示出事件數(shù)據(jù)獲取系統(tǒng)的示例;圖2示出了事件數(shù)據(jù)獲取和分發(fā)系統(tǒng);以及圖3示出了發(fā)射事件的方法。
具體實施例方式此處所述的一·些實施例可實現(xiàn)橫向擴展的獲取基礎架構,該基礎架構可從大量各種各樣的源收集事件數(shù)據(jù)并對其標準化。例如,可使用適于多個不同源中的每一個的協(xié)議從這些源中獲取數(shù)據(jù)。數(shù)據(jù)可被標準化成事件格式,無論用于事件的數(shù)據(jù)是從何處獲取的以及按照何種格式獲取的,該事件格式都是一致的。這可允許這些事件被提交給發(fā)布/訂閱基礎架構,并允許消費者以統(tǒng)一的方式對待所收集的事件。一些實施例可實現(xiàn)跨分布式存儲管理源描述的分區(qū)池并使用公共調度器框架調度從所描述的源對事件的獲取的機制。一些實施例可實現(xiàn)基于分區(qū)所有權以及對所調度的消息收發(fā)的使用的組合,將獲取作業(yè)的所有權分派以及重新分派給獲取工作者的機制。一些實施例可實現(xiàn)基于消費受眾的需求激活和停用源的機制。一些實施例可實現(xiàn)處理臨時和持久錯誤并將源加入黑名單的機制。作為基礎,一個實施例系統(tǒng)正使用可從華盛頓州雷蒙德市的微軟公司購得的Windows Azure服務總線所提供的發(fā)布/訂閱基礎架構,但該基礎架構也可以類似的形式存在于各種其他消息收發(fā)系統(tǒng)中。該基礎架構提供促進所呈現(xiàn)的方法的所述實現(xiàn)的兩種能力主題和隊列。隊列是用于消息的存儲結構,它允許以順序的次序來添加(入隊)消息和以與添加消息相同的次序來移除(出隊)消息??捎扇魏螖?shù)量的并發(fā)客戶端添加和移除消息,從而允許平抑入隊側的負載并跨出隊側的各接收者平衡處理負載。隊列還允許各實體在使消息出隊時獲得該消息上的鎖,從而允許消費客戶端顯式地控制何時將消息從隊列中實際刪除、或者在對檢索到的消息的處理失敗的情況下是否可將它還原回隊列中。主題是具有隊列的所有特性,但允許多個并發(fā)存在的‘訂閱’的存儲結構,這些訂閱各自允許對入隊消息序列的孤立的經(jīng)過濾的視圖。主題上的每個訂閱都產生每個入隊消息的副本,假定該訂閱的相關聯(lián)的過濾條件肯定地匹配該消息。因此,入隊到具有10個訂閱(其中每個訂閱具有匹配所有消息的簡單的‘穿過’條件)的主題的消息將產生總共10個消息,其中每個訂閱一個消息。像隊列一樣,訂閱可具有多個并發(fā)消費者,從而提供多個接收者范圍內的處理負載的平衡。另一基本概念是‘事件’,就底層發(fā)布/訂閱基礎結構而言其就是條消息。在一個實施例的上下文中,事件服從管控消息正文和消息屬性的使用的一組簡單約束。事件的消息正文一般作為不透明數(shù)據(jù)塊來流動,并且一個實施例所認為的任何事件數(shù)據(jù)一般在消息屬性中流動,它是作為表示該事件的消息的一部分的一組鍵/值對。現(xiàn)在參考圖1,一個實施例體系結構的目標是大規(guī)模地從各種各樣的不同源116獲取事件數(shù)據(jù),并將這些事件轉發(fā)到發(fā)布/訂閱基礎架構以供進一步處理。處理可包括某種形式的分析、實時搜索、或通過拉取或推送通知機制將事件重新分發(fā)到感興趣的訂閱者。一個實施例體系結構定義了獲取引擎118、用于獲取適配器和事件標準化的模型、用于保持關于獲取源116的元數(shù)據(jù)的分區(qū)存儲138、公共分區(qū)和調度模型以及用于在運行時如何使對獲取源116狀態(tài)的用戶發(fā)起的改變流入系統(tǒng)而無需進一步的數(shù)據(jù)庫查找的模型。在具體實現(xiàn)中,獲取可支持具體的獲取適配器從各種各樣的公共和私有聯(lián)網(wǎng)服務中獲取事件,聯(lián)網(wǎng)服務包括RSS、Atom和Odata饋源、電子郵件郵箱(包括但不限于這種支持IMAP和POP3協(xié)議的電子郵件郵箱)、像Twitter時間線或Facebook墻的社交網(wǎng)絡信息源116、以及對像Windows Azure服務總線或Amazon的簡單隊列服務的外部發(fā)布/訂閱基礎架構的訂閱。事件標準化事件數(shù)據(jù)被標準化以使事件可以由發(fā)布/訂閱基礎架構上的、所述事件被移交到的訂閱者來實際消費。標準化在本上下文中是指,事件被映射到具有信息項的一致表示的公共事件模型上,其中該信息項在所述在各種上下文中可能是廣大訂閱者所感興趣的。此處所選擇的模型是鍵/值對的平面列表形式的事件的簡單表示,該鍵/值對可伴隨有由系統(tǒng)不進一步解釋的單個不透明二元數(shù)據(jù)塊。該事件表示可在大多數(shù)發(fā)布/訂閱基礎架構上輕松地表示,并且還非常清楚地映射到諸如HTTP的常見因特網(wǎng)協(xié)議。為了說明事件標準化 ,考慮RSS或Atom饋源條目到事件104的映射(參見圖1和
2)。RSS和Atom是兩個因特網(wǎng)標準,它們通常非常被廣泛地用于按時間次序發(fā)布新聞和其他當前的信息,并且按時間次序發(fā)布該信息有助于使該信息可用于計算機程序中以結構化方式的處理。RSS和Atom共享非常類似的結構以及一組命名不同但語義相同的數(shù)據(jù)元素。因此,第一個標準化步驟是將公共名稱定義為像標題或提要等在兩個標準中均定義的這種語義相同的元素的鍵。第二,通常用相應的“本機”名稱來映射僅出現(xiàn)在一個標準中但未出現(xiàn)在另一個標準中的數(shù)據(jù)。除此之外,這些種類的饋源通常帶有“擴展”,擴展是未在核心標準中定義、但使用相應標準中的可擴展性工具來添加額外數(shù)據(jù)的數(shù)據(jù)項。以跨不同事件源116共享的常見方式來映射這些擴展中的一些(包括但不限于用于地理位置的GeoRSS或將結構化數(shù)據(jù)嵌入到Atom饋源中的OData),使得向其發(fā)射事件的發(fā)布/訂閱基礎架構上的訂閱者可按照統(tǒng)一的方式來解釋地理位置信息,而不管該數(shù)據(jù)是從RSS或Atom還是Twitter時間線獲取的。繼續(xù)GeoRSS示例,表示地理“點”的簡單GeoRSS表達式可因此被映射到表示W(wǎng)GS84坐標的一對數(shù)字“緯度” / “經(jīng)度”屬性。帶有復雜的結構化數(shù)據(jù)(諸如OData)的擴展可以實現(xiàn)保留復雜類型結構和數(shù)據(jù)但不會復雜化基礎事件模型的映射模型。一些實施例標準化成正則的緊湊湊復雜數(shù)據(jù)表示(如JS0N),并將復雜的數(shù)據(jù)屬性(例如復雜數(shù)據(jù)類型“人”的OData屬性“承租人”)映射到鍵/值對,其中鍵是屬性名“承租人”,而值是用以JSON序列化形式表示的名稱、傳記信息、和地址信息來描述人的復雜數(shù)據(jù)。如果數(shù)據(jù)源是XML文檔,像它在RSS或Atom的情形中那樣,則可通過將XML數(shù)據(jù)轉錄到保留XML所提供的結構的JSON中,但展平如屬性和元素等XML細節(jié)來創(chuàng)建值,意味著將作為同一 XML元素節(jié)點的下屬的XML屬性和元素二者映射到JSON屬性作為沒有其它區(qū)別的“兄弟”。源和分區(qū)一個實施例體系結構在“源描述”記錄中捕捉關于數(shù)據(jù)源116的元數(shù)據(jù),該記錄可被存儲在源數(shù)據(jù)庫138中?!霸疵枋觥笨删哂幸唤M公共元素和一組數(shù)據(jù)源專用的元素。公共元素可包括源的名稱、期間源116被認為有效的時間跨度間隔、人類可讀的描述、以及用于進行區(qū)分的源116的類型。源專用元素取決于源116的類型并可包括用于獲得對該地址所表示的資源的訪問的網(wǎng)絡地址、憑證或其他安全關鍵材料,并可包括元數(shù)據(jù),該元數(shù)據(jù)指導源獲取適配器或者以特定方式(如提供檢查RSS饋源的時間間隔)執(zhí)行數(shù)據(jù)獲取,或者以特定方式執(zhí)行事件轉發(fā),該特定方式為諸如,使從當前事件新聞饋源獲取的各事件相隔至少60秒,使得通知接收者有機會在受限的屏幕表面上觀看每個斷開的新聞條目(如果這是要構建的端到端的體驗的話)。在諸如源數(shù)據(jù)庫138的一個或多個存儲中保存源描述??裳貎蓚€不同的軸跨這些存儲以及在這些存儲內對源 描述進行分區(qū)。第一個軸是按系統(tǒng)承租人的區(qū)分。系統(tǒng)承租人或“命名空間”是在系統(tǒng)內為各實體創(chuàng)建隔離范圍的機制。示出一個具體的情形,如果“Fred”是實現(xiàn)一個實施例的系統(tǒng)的用戶,則Fred將能夠創(chuàng)建向Fred提供隔離的虛擬環(huán)境的承租人范圍,該虛擬環(huán)境可完全獨立于系統(tǒng)中其他源116地保存源描述和配置和狀態(tài)。這個軸可作為跨各存儲傳播各源描述的區(qū)分因素,尤其是在承租人需要隔離已存儲的元數(shù)據(jù)(可能包括諸如口令的安全敏感數(shù)據(jù)),或出于技術、管理或商業(yè)原因而需要隔離已存儲的元數(shù)據(jù)的情況下。系統(tǒng)承租人還可表示與特定數(shù)據(jù)中心的親合性(affnity),在該數(shù)據(jù)中心中保存源描述,并且在那里執(zhí)行數(shù)據(jù)獲取。第二個軸可以是按照從預定義標識符范圍中選擇的數(shù)字分區(qū)標識符的區(qū)分。可從源描述包含的不變量中導出分區(qū)標識符,諸如源名稱和承租人標識符??墒褂蒙⒘泻瘮?shù)(許多候選中的一個是 Jenkins 散列,參見 http://www. burtleburtle. net/bob/hash/doobs.html)從這些不變量中導出分區(qū)標識符,并且可能對所得的散列值使用模函數(shù),來將該散列值計算成分區(qū)標識符范圍。將標識符范圍選擇為比預期存儲該系統(tǒng)中曾保存的全部源描述所需要的最大數(shù)量的存儲分區(qū)大(并且可以是顯著地大)。引入存儲分區(qū)通常由容量限制來激發(fā),該容量限制要么直接與底層數(shù)據(jù)存儲上的存儲容量配額相關,要么與影響獲取引擎118的容量限制(諸如,給定數(shù)據(jù)中心或數(shù)據(jù)中心部分的帶寬約束)相關,這可導致實施例創(chuàng)建跨不同數(shù)據(jù)中心或數(shù)據(jù)中心部分地利用容量以滿足入門帶寬需求的獲取分區(qū)140。存儲分區(qū)擁有整個標識符范圍的子集,因此源描述記錄與存儲分區(qū)(和訪問該分區(qū)所需要的資源)的關聯(lián)可從其分區(qū)標識符中直接推斷。除提供存儲分區(qū)軸以外,分區(qū)標識符還用于調度或獲取作業(yè),以及清楚地定義獲取分區(qū)140對給定源描述的所有權關系(可能與對存儲分區(qū)的關系不同)。所有權和獲取分區(qū)系統(tǒng)中的每個源描述可為特定的獲取分區(qū)140所擁有。使用清楚且唯一的所有權,因為系統(tǒng)不會從多個位置中的完全相同的源116并行地獲取事件,因為這樣可能會導致發(fā)射重復事件。為了使這點更具體,在承租人范圍內定義的一個RSS饋源由系統(tǒng)中正好一個的獲取分區(qū)140所有,并且在分區(qū)內,存在在任何給定時間點在特定饋源上運行的一個已調度的獲取。獲取分區(qū)140通過獲得分區(qū)標識符范圍的所有權的方式來獲得源描述的所有權??梢允褂每删哂泄收限D移能力并可分配主/后備所有者的外部專用分區(qū)系統(tǒng),或使用其中分區(qū)標識符范圍在承擔獲取引擎角色的多個不同的計算實例上均勻分布的較簡單機制,來向獲取分區(qū)140分配標識符范圍。在針對外部分區(qū)系統(tǒng)的更復雜實現(xiàn)中,如果系統(tǒng)從“冷”狀態(tài)啟動,意味著分區(qū)尚沒有先前所有者,則該分區(qū)的所選主所有者負責播種(seed)對作業(yè)的調度。在較簡單的場景中,擁有分區(qū)的計算實例擁有對調度的播種權。調度獲取作業(yè)的調度需求取決于具體源的性質,但通常存在兩種類型的獲取模型,該獲取模型在一些所描述的實施例中實現(xiàn)。在第一個模型中,所有者在源的網(wǎng)絡服務上發(fā)起某種形式的連接或長期運行的網(wǎng)絡請求,并等待數(shù)據(jù)在該連接上以數(shù)據(jù)報或流的形式返回。在通常也被稱為長期輪詢的長期運行的請求的情形中,源網(wǎng)絡服務將保持該請求直到發(fā)生超時或直到數(shù)據(jù)變?yōu)榭捎靡贿M而,獲取適配器將在具有或不具有有效載荷結果的情況下等待該請求完成,并隨后重發(fā)該請求。作為結果,該獲取調度模型具有“緊湊”循環(huán)的形式,該循環(huán)在源116的所有者得知源的時候得以啟動,并且其中在當前連接或請求完成或被臨時中斷時,立即發(fā)起新的請求或連接。由于所有者直接控制緊湊循環(huán),因此該循環(huán)可在所有者正在運行時可靠地保持存活。如果所有者停止并重新啟動,則該循環(huán)也重新啟動。如果所有者改變,則循環(huán)停止,并且新的所有者啟動該循環(huán)。在第二個模型中,源的網(wǎng)絡服務不支持在該服務變?yōu)榭捎脮r產生數(shù)據(jù)的長期運行的請求或連接,而無論何時查詢都立即返回的常規(guī)的請求/響應服務支持這種請求或連接。在這樣的服務上,這一 點適用于許多web資源,以持續(xù)的緊湊循環(huán)來請求數(shù)據(jù)導致源116上的巨大量的負載,并且也導致顯著的網(wǎng)絡通信量,該網(wǎng)絡通信量要么僅指示源116尚未改變,要么在最糟的情形中反復地攜帶相同的數(shù)據(jù)。為了平衡及時的事件獲取并且不用徒勞的查詢通信量使源116過載的需求,獲取引擎118將由此按照“定時的”循環(huán)執(zhí)行請求,其中基于間隔周期性地執(zhí)行源116上的請求,該間隔平衡這些考慮并且還考慮了來自源116的提示?!岸〞r的”循環(huán)在源116的所有者得知源的時候被啟動。存在定時循環(huán)的兩個值得注意的實現(xiàn)變型。第一個變型用于低規(guī)模、最大努力場景,并使用本地、存儲器內的定時對象來調度,這使規(guī)模、控制和重新啟動特性與緊湊循環(huán)的那些特性相類似。該循環(huán)被啟動,并立即調度使獲取作業(yè)的第一次迭代運行的定時器回調。當該作業(yè)完成(即使有錯誤)并且確定該循環(huán)應繼續(xù)執(zhí)行時,在接下來作業(yè)應被執(zhí)行的瞬間調度另一個定時器回調。第二個變型使用‘經(jīng)調度的消息’,這是包括Windows AzureTM服務總線的若干發(fā)布/訂閱系統(tǒng)的一個特征。該變型以稍高的復雜度為代價提供顯著較高的獲取比例。調度循環(huán)由所有者來啟動,并且將消息置于獲取分區(qū)的調度隊列中。該消息包括源描述。它隨后由執(zhí)行獲取作業(yè)的工作者拾取,并隨后使所得的事件入隊到目標發(fā)布/訂閱系統(tǒng)中。最后,它還將新的“經(jīng)調度的”消息入隊到調度隊列中。該消息被稱為“經(jīng)調度的”,因為它是用它變?yōu)榭晒┱{度隊列上的任何消費者檢索的時間瞬間來標記的。在該模型中,獲取分區(qū)140可通過具有一個“所有者”角色而被橫向擴展,該所有者角色主要播種調度并且可與執(zhí)行實際獲取作業(yè)的任何數(shù)量的“工作者”角色配對。源更新在系統(tǒng)運行時,獲取分區(qū)140需要能夠得知要觀察的新的源116以及應不再觀察哪些源116。除了(下面描述的)由于檢測到的不可恢復的或臨時的錯誤而使源116列入黑名單的情形以外,關于這一點的決定通常在于用戶,并且是與管理服務142交互的結果。為了傳遞這種改變,獲取系統(tǒng)在底層發(fā)布/訂閱基礎架構中維護“源更新”主題。每個獲取分區(qū)140具有針對該主題的專用訂閱,該訂閱具有過濾條件,該過濾條件將合格的消息約束為攜帶在獲取分區(qū)所擁有的范圍內的分區(qū)標識符的那些消息。這使管理服務142能夠設置關于新的或已引退的源116的更新,并將它們發(fā)送到正確的分區(qū)140,而不需要分區(qū)所有權分布的知識。管理服務142將更新命令提交到包括源描述、分區(qū)標識符(出于前述的過濾目的)、和操作標識符的主題·,該操作標識符指示是否要向系統(tǒng)添加源116或者是否從系統(tǒng)中移除源 116。一旦獲取分區(qū)140所有者已檢索到命令消息,則它要么將為新的源116調度新的獲取循環(huán),要么將中斷并掛起現(xiàn)有的獲取循環(huán)、或甚至使現(xiàn)有的獲取循環(huán)引退。列入黑名單可將數(shù)據(jù)獲取失敗的源116臨時地或永久地列入黑名單。當源116網(wǎng)絡資源不可用或返回與所發(fā)起的獲取請求不直接相關的錯誤時,執(zhí)行臨時列入黑名單。臨時列入黑名單的持續(xù)時間取決于錯誤的性質。通過中斷常規(guī)的調度循環(huán)(緊湊或定時)并在期望另一方解決錯誤狀況的時間瞬間調度循環(huán)的下一次迭代(經(jīng)由回調或經(jīng)調度的消息),來執(zhí)行臨時列入黑名單。當確定錯誤是獲取請求的直接結果時執(zhí)行永久列入黑名單,錯誤是獲取請求的直接結果意味著該請求正導致認證或授權錯誤或者遠程的源116指示某個其他請求錯誤。如果將資源永久列入黑名單,則在分區(qū)存儲中將源116標記為已列入黑名單,并立即中止獲取循環(huán)?;謴陀谰昧腥牒诿麊蔚脑?16需要移除存儲中的黑名單標記以及可能的還有引起請求的行為改變的配置改變,并且經(jīng)由源更新主題來重新啟動獲取循環(huán)。現(xiàn)在參考圖2,示出了系統(tǒng)的替換示例。圖2示出了來自大量不同源的信息被遞送給大量不同目標的示例。在一些示例中,來自單個源的信息或從多個源聚集的信息可被用來創(chuàng)建被遞送給大量目標的單個事件。在一些實施例中,這可以使用如附圖2所示的扇出(fan-out)拓撲來實現(xiàn)。圖2示出了源116。如本文稍后將討論的,實施例可以利用獲取分區(qū)140。獲取分區(qū)140中的每一個可包括多個源116??赡艽嬖诖罅壳腋鞣N各樣的源116。源116提供信息。這樣的信息例如可以包括、但不限于電子郵件、文本消息、實時股票報價、實時賽事比分、新聞更新等等。圖2示出了每個分區(qū)都包括獲取引擎,如說明性的獲取引擎118。獲取引擎118從源116收集信息,并基于該信息來生成事件。在圖2所示的示例中,多個事件被示為由獲取引擎使用各個源來生成。使用事件104-1來進行說明。在一些實施例中,事件104-1可如以下解釋的那樣來標準化。獲取引擎118可以是諸如因特網(wǎng)等網(wǎng)絡上的、從該網(wǎng)絡上的源116收集信息的服務。圖2示出了事件104-1被發(fā)送給分發(fā)主題144。分發(fā)主題144將事件散發(fā)給多個分發(fā)分區(qū)。分發(fā)分區(qū)120-1被用作所有分發(fā)分區(qū)的類似物。分發(fā)分區(qū)各自服務于由訂閱所表示的多個最終用戶或設備。分發(fā)分區(qū)所服務的訂閱的數(shù)目可不同于其他分發(fā)分區(qū)所服務的數(shù)目。在一些實施例中,分區(qū)所服務的訂閱的數(shù)目可取決于分發(fā)分區(qū)的能力??商娲鼗蚋郊拥兀职l(fā)分區(qū)可基于與最終用戶的邏輯或地理的接近度被選擇以服務于用戶。這可允許以更加及時的方式將提醒遞送給最終用戶。在所示示例中,分發(fā)分區(qū)120-1包括分發(fā)引擎122-1。分發(fā)引擎122_1咨詢數(shù)據(jù)庫124-1。數(shù)據(jù)庫124-1包括關于訂閱的信息,該信息具有關于相關聯(lián)的遞送目標102的細節(jié)。具體而言,該數(shù)據(jù)庫可包括信息,諸如描述目標102的平臺、目標102所使用的應用、目標102的網(wǎng)絡地址、使用目標102的最終用戶的用戶偏好等等的信息。使用數(shù)據(jù)庫124-1中的信息,分發(fā)引擎122-1構建包126-1,其中包126-1包括事件104 (或至少來自事件104的信息)和路由名單(slip)128-l,該路由名單標識目標102中要將來自事件104-1的信息作為通知發(fā)送到的多個目標102。包126-1隨后被置于隊列130-1中。分發(fā)分區(qū)120-1可包括多個遞送引擎。遞送引擎使各個包從隊列130-1中出隊并將通知遞送給目標102。例如,遞送引擎108-1可從隊列130-1中取出包126-1并將事件104的信息發(fā)送給路由名單128-1中標識出的目標102。因此,包括事件104-1的信息的通知134能以適用于不同目標102并專用于各個目標102的多種不同的格式從各分發(fā)分區(qū)被發(fā)送給目標202。這允許在遞送系統(tǒng)的邊緣處從公共事件104-1中創(chuàng)建針對各個目標102進行了個別化的個別化通知134,而不是通過該遞送系統(tǒng)運送大量個別化的通知。以下討論現(xiàn)涉及可以執(zhí)行的多種方法以及方法動作。雖然用特定次序討論或用以特定次序發(fā)生的流程圖示出了各個方法動作,但除非明確規(guī)定否則不需要特定次序,或因為一動作依賴于另一動作在執(zhí)行該動作之前完成而需要特定次序。現(xiàn)在參考圖3,示出了方法300。該方法包括發(fā)射事件的動作。該方法包括通過使用多個不同源專用的多個不同的協(xié)議與這些不同源通信來從這些不同源獲取數(shù)據(jù)(動作302)。例如,圖2示出了獲取引擎118,它可用于從源116獲取數(shù)據(jù)。源116中的每一個可使用不同的協(xié)議來與獲取引擎118通信。該方法300還包括,基于所獲取的數(shù)據(jù),判斷事件應發(fā)生(動作304)。例如,可基于來自一個或多個源的信息作出股票報價改變、賽事比分改變、電子郵件到達、文本消息發(fā)送等的判斷?;谛畔⒅械倪@種改變,可判斷事件應被發(fā)射。方法300還包括引起事件,其中為得到消費者的一致事件評估對所引起的事件進行標準化,而不管來自導致該事件的數(shù)據(jù)源的數(shù)據(jù)的特定形態(tài)(動作306)。例如,圖2示出了經(jīng)標準化的事件104正從獲取引擎被發(fā)射。無論引起事件104的信息來自源116中的哪個源,經(jīng)標準化的事件都可具有一致的格式。

可實踐方法300,其中事件包括鍵值對,且其中對事件標準化包括使來自獲取數(shù)據(jù)的、與所獲取的數(shù)據(jù)中的鍵對應的值在語義上映射到經(jīng)標準化的事件中匹配的鍵。例如,事件可具有作為鍵值對的鍵“標題”以及該標題的值。來自源的數(shù)據(jù)也可具有鍵值對,其中鍵之一為“標題”。這可從來自源116的信息直接映射到事件104。語義上的映射可包括執(zhí)行顯式語義映射。語義映射可包括在所獲取的數(shù)據(jù)與事件之間匹配鍵標簽。語義映射可包括參考所獲取的數(shù)據(jù)中的鍵值對的描述。例如,描述可定義數(shù)據(jù)的含義。這種描述可用于映射數(shù)據(jù)。語義上映射可包括執(zhí)行隱式語義映射??蓪嵺`方法300,其中獲取包括從源獲取并存儲元數(shù)據(jù)以便于對事件進行標準化。各方法可由包括一個或多個處理器和諸如計算機存儲器等計算機可讀介質的計算機系統(tǒng)來實施。具體而言,計算機存儲器可存儲計算機可執(zhí)行指令,這些指令在由一個或多個處理器執(zhí)行時使得諸如各實施例中所述的各個動作等各種功能被執(zhí)行。本發(fā)明的各實施例可以包括或利用包含計算機硬件的專用或通用計算機,這將在下文中更詳細地討論。本發(fā)明范圍內的各實施例還包括用于承載或存儲計算機可執(zhí)行指令和/或數(shù)據(jù)結構的物理和其他計算機可讀介質。這樣的計算機可讀介質可以是可由通用或專用計算機系統(tǒng)訪問的任何可用介質。存儲計算機可執(zhí)行指令的計算機可讀介質是物理存儲介質。承載計算機可執(zhí)行指令的計算機可讀介質是傳輸介質。由此,作為示例而非限制,本發(fā)明的各實施例可包括至少兩種顯著不同的計算機可讀介質物理計算機可讀存儲介質和傳輸計算機可讀介質。物理計算機存儲介質包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲(如CD、DVD
等)、磁盤存儲或其他磁存儲設備、或可用于存儲計算機可執(zhí)行指令或數(shù)據(jù)結構形式的所需程序代碼裝置且可由通用或專用計算機訪問的任何其他介質?!熬W(wǎng)絡”被定義為允許在計算機系統(tǒng)和/或模塊和/或其他電子設備之間傳輸電子數(shù)據(jù)的一個或多個數(shù)據(jù)鏈路。當信息通過網(wǎng)絡或另一個通信連接(硬連線、無線、或者硬連線或無線的組合)傳輸或提供給計算機時,該計算機將該連接適當?shù)匾暈閭鬏斀橘|。傳輸介質可包括可用于攜帶計算機可 執(zhí)行指令或數(shù)據(jù)結構形式的所需程序代碼裝置且可由通用或專用計算機訪問的網(wǎng)絡和/或數(shù)據(jù)鏈路。以上介質的組合也被包括在計算機可讀介質的范圍內。此外,在到達各種計算機系統(tǒng)組件時,計算機可執(zhí)行的指令或數(shù)據(jù)結構形式的程序代碼裝置可以自動地從傳輸計算機可讀介質傳輸?shù)轿锢碛嬎銠C可讀存儲介質(或者反之亦然)。例如,通過網(wǎng)絡或數(shù)據(jù)鏈路接收到的計算機可執(zhí)行指令或數(shù)據(jù)結構可被緩存在網(wǎng)絡接口模塊(例如,“NIC”)內的RAM中,然后最終被傳送到計算機系統(tǒng)RAM和/或計算機系統(tǒng)處的較不易失性的計算機可讀物理存儲介質。因此,計算機可讀物理存儲介質可被包括在同樣(或甚至主要)利用傳輸介質的計算機系統(tǒng)組件中。計算機可執(zhí)行指令包括,例如使通用計算機、專用計算機、或專用處理設備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計算機可執(zhí)行指令可以是例如二進制代碼、諸如匯編語言之類的中間格式指令、或甚至源代碼。盡管用結構特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權利要求書中定義的主題不必限于上述特征或動作。相反,上述特征和動作是作為實現(xiàn)權利要求的示例形式而公開的。本領域的技術人員將理解,本發(fā)明可以在具有許多類型的計算機系統(tǒng)配置的網(wǎng)絡計算環(huán)境中實踐,這些計算機系統(tǒng)配置包括個人計算機、臺式計算機、膝上型計算機、消息處理器、手持式設備、多處理器系統(tǒng)、基于微處理器的或可編程消費電子設備、網(wǎng)絡PC、小型計算機、大型計算機、移動電話、PDA、尋呼機、路由器、交換機等等。本發(fā)明也可在其中通過網(wǎng)絡鏈接(或者通過硬連線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路,或者通過硬連線和無線數(shù)據(jù)鏈路的組合)的本地和遠程計算機系統(tǒng)兩者都執(zhí)行任務的分布式系統(tǒng)環(huán)境中實施。在分布式系統(tǒng)環(huán)境中,程序模塊可位于本地和遠程存儲器存儲設備中。本發(fā)明可具體化為其他具體形式而不背離其精神或特征。所描述的實施例在所有方面都應被認為僅是說明性而非限制性的。因此,本發(fā)明的范圍由所附權利要求書而非前述描述指示。落入權利要求書的等效方案的含義和范圍內的所有改變被權利要求書的范圍所涵 蓋。
權利要求
1.一種發(fā)射事件的方法,所述方法包括 通過使用多個不同源(116)專用的多個不同的協(xié)議與所述不同源(116)通信,來從所述不同源獲取數(shù)據(jù)(302); 基于所獲取的數(shù)據(jù),判斷事件(104)應發(fā)生(304);以及 引起事件(104),其中為得到消費者的一致事件(104)評估對所引起的事件(104)進行標準化,而不管來自導致所述事件(104-1)的數(shù)據(jù)源(116)的數(shù)據(jù)的特定形態(tài)(306)。
2.如權利要求1所述的方法,其特征在于,所述事件包括鍵值對,且其中對所述事件進行標準化包括使來自所獲取的數(shù)據(jù)的、與所獲取的數(shù)據(jù)中的鍵對應的值在語義上映射到經(jīng)標準化的事件中匹配的鍵。
3.如權利要求2所述的方法,其特征在于,在語義上映射包括執(zhí)行顯式語義映射。
4.如權利要求3所述的方法,其特征在于,執(zhí)行顯式語義映射包括在所獲取的數(shù)據(jù)和所述事件之間匹配鍵標簽。
5.如權利要求3所述的方法,其特征在于,執(zhí)行顯式語義映射包括參考所獲取的數(shù)據(jù)中鍵值對的描述。
6.如權利要求2所述的方法,其特征在于,在語義上映射包括執(zhí)行隱式語義映射。
7.如權利要求1所述的方法,其特征在于,獲取包括從所述源獲取并存儲元數(shù)據(jù)以便于對事件進行標準化。
全文摘要
本發(fā)明涉及橫向擴展系統(tǒng)以獲取事件數(shù)據(jù)。發(fā)射事件。一方法包括通過使用多個不同源專用的多個不同的協(xié)議與不同源通信來從不同源獲取數(shù)據(jù)。該方法還包括,基于所獲取的數(shù)據(jù)判斷事件應發(fā)生。該方法還包括引起事件。為得到消費者的一致事件評估對所引起的事件進行標準化,而不管來自導致該事件的數(shù)據(jù)源的數(shù)據(jù)的特定形態(tài)。
文檔編號H04L12/58GK103051666SQ20121033508
公開日2013年4月17日 申請日期2012年9月11日 優(yōu)先權日2011年9月12日
發(fā)明者C·F·瓦斯特斯 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1