新四季網

橫向擴展系統以獲取事件數據的製作方法

2023-04-27 12:45:21

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

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


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

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

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀