分布式事件處理的制作方法
【專利摘要】一種分布式事件處理方法包括提供多個(gè)連接器。每個(gè)所提供的連接器被配置成從所分配的數(shù)據(jù)源獲取事件數(shù)據(jù),將所獲取得事件數(shù)據(jù)劃分成簇,并且將每個(gè)簇分割成塊。該方法也包括從多個(gè)連接器收集所述塊,并且將所述塊存儲(chǔ)至能夠被查詢的數(shù)據(jù)文件。
【專利說(shuō)明】分布式事件處理
【背景技術(shù)】
[0001]事件管理系統(tǒng)通過(guò)收集來(lái)自多個(gè)源的數(shù)據(jù)并將所收集的數(shù)據(jù)集中地存儲(chǔ)來(lái)操作以使得所收集的數(shù)據(jù)可以被分析以用于一個(gè)或多個(gè)特定目的。在一些情況下,該數(shù)據(jù)能包括數(shù)百萬(wàn)或者甚至數(shù)十億記錄。例如,安全信息/事件管理系統(tǒng)運(yùn)行以I)從網(wǎng)絡(luò)和聯(lián)網(wǎng)設(shè)備收集反映網(wǎng)絡(luò)活動(dòng)和/或設(shè)備的操作的數(shù)據(jù);以及2)分析該數(shù)據(jù)以增強(qiáng)安全性。該數(shù)據(jù)能夠被分析以識(shí)別網(wǎng)絡(luò)或聯(lián)網(wǎng)設(shè)備上的攻擊并且確定哪個(gè)用戶或機(jī)器是有責(zé)任的。如果該攻擊是正在進(jìn)行的,則可執(zhí)行對(duì)策以阻礙該攻擊或減輕該攻擊所造成的損害。被收集的數(shù)據(jù)通常起源于由聯(lián)網(wǎng)設(shè)備所生成的日志文件中的條目或消息(諸如事件、警報(bào)或警告)。示例性網(wǎng)絡(luò)設(shè)備包括防火墻、入侵檢測(cè)系統(tǒng)和服務(wù)器。
【專利附圖】
【附圖說(shuō)明】
[0002]圖1描述了其中可以實(shí)現(xiàn)各種實(shí)施例的環(huán)境。
[0003]圖2描述了根據(jù)示例的系統(tǒng)。
[0004]圖3描述了根據(jù)示例的存儲(chǔ)器和處理器的框圖。
[0005]圖4是描述被采取以實(shí)現(xiàn)示例的步驟的流程圖。
[0006]圖5是根據(jù)示例的通信序列圖。
【具體實(shí)施方式】
[0007]引言:事件管理系統(tǒng)收集、處理和存儲(chǔ)來(lái)自各種源的事件記錄。此類處理能包括規(guī)范化、劃分、索引和壓縮。對(duì)于給定系統(tǒng)的記錄可以從多個(gè)設(shè)備收集并且數(shù)以十億計(jì)。集中處理從多個(gè)源收集的記錄可能消耗顯著的通信帶寬和處理器資源。下面描述的各種實(shí)施例操作將處理功能分布在被稱作連接器(connector)的多個(gè)代理之間以降低任何給定處理器上的需求。另外,當(dāng)處理記錄時(shí),所述連接器可增加壓縮級(jí)別,從而降低當(dāng)遞送所述記錄以供集中存儲(chǔ)時(shí)所消耗的通信帶寬。
[0008]在示例性實(shí)現(xiàn)方式中,提供了多個(gè)連接器。每個(gè)連接器被配置成從所分配的數(shù)據(jù)源獲取事件數(shù)據(jù)并且將所獲取的事件數(shù)據(jù)劃分成簇。每個(gè)簇可以包括被分段成事件字段的列的事件數(shù)據(jù)的行。所述連接器負(fù)責(zé)將分區(qū)分割成塊(chunk)。此類塊可以被壓縮。塊是分區(qū)的被選擇的部分。在示例中,塊包括給定簇列的字段。所述塊收集自多個(gè)連接器并被存儲(chǔ)至能被查詢的數(shù)據(jù)文件。值得注意的是來(lái)自各個(gè)連接器的塊可以在被存儲(chǔ)之前被合并或者以其他方式被結(jié)合。通過(guò)存儲(chǔ)表示分區(qū)的列的塊,該數(shù)據(jù)文件被讀優(yōu)化。在示例中,每個(gè)連接器組裝針對(duì)每個(gè)塊的元數(shù)據(jù)。該元數(shù)據(jù)可被包括在每個(gè)塊中或者以其他方式被鏈接到每個(gè)塊。當(dāng)所述塊被收集、合并和存儲(chǔ)時(shí),該元數(shù)據(jù)被用于維護(hù)對(duì)于數(shù)據(jù)文件的索引。在對(duì)于每個(gè)塊的元數(shù)據(jù)識(shí)別該塊的情況下,所得到的索引允許訪問(wèn)并且響應(yīng)于查詢而從數(shù)據(jù)文件返回單獨(dú)的塊。
[0009]圖1描述了其中可實(shí)現(xiàn)各種實(shí)施例的環(huán)境10。環(huán)境10被示出為包括事件管理設(shè)備12、數(shù)據(jù)存儲(chǔ)裝置14、網(wǎng)絡(luò)數(shù)據(jù)源16以及客戶端設(shè)備18。事件管理設(shè)備12通常表示任何計(jì)算設(shè)備或計(jì)算設(shè)備的組合,其被配置成收集和存儲(chǔ)由網(wǎng)絡(luò)數(shù)據(jù)源16所生成的事件數(shù)據(jù)。事件管理設(shè)備12將事件數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)裝置14中并且負(fù)責(zé)通過(guò)返回滿足給定查詢的被存儲(chǔ)數(shù)據(jù)的被選擇部分而對(duì)來(lái)自客戶端設(shè)備18的查詢進(jìn)行響應(yīng)。
[0010]每個(gè)網(wǎng)絡(luò)數(shù)據(jù)源16通常表示設(shè)備或在設(shè)備上運(yùn)行的應(yīng)用,其被配置成提供事件數(shù)據(jù)。事件數(shù)據(jù)是描述事件的數(shù)據(jù)并且可以在由給定數(shù)據(jù)源16所生成的日志或消息中捕獲。作為示例,入侵檢測(cè)系統(tǒng)(IDS)、入侵防御系統(tǒng)(IPS)、脆弱性評(píng)估工具、防火墻、反病毒工具、反垃圾郵件工具和加密工具可以生成描述由數(shù)據(jù)源16所執(zhí)行的活動(dòng)的日志。例如,可以由在日志文件或系統(tǒng)日志服務(wù)器中的條目、警報(bào)、警告、網(wǎng)絡(luò)數(shù)據(jù)包、電子郵件或通知頁(yè)面來(lái)提供事件數(shù)據(jù)。
[0011]在圖1的示例中,數(shù)據(jù)源16被描述為入侵檢測(cè)設(shè)備、服務(wù)器和防火墻。更一般地,數(shù)據(jù)源16是網(wǎng)絡(luò)節(jié)點(diǎn),其可以是網(wǎng)絡(luò)設(shè)備或軟件應(yīng)用。作為示例,其他類型的數(shù)據(jù)源能包括入侵防御系統(tǒng)、脆弱性評(píng)估工具、反病毒工具、反垃圾郵件工具、加密工具、應(yīng)用審計(jì)日志和物理安全日志。
[0012]鏈路20通常表示電纜、無(wú)線、光纖或者經(jīng)由電信鏈路、紅外鏈路、射頻鏈路或者提供電子通信的任何其他連接器或系統(tǒng)的遠(yuǎn)程連接中的一個(gè)或多個(gè)。鏈路20可以至少部分包括內(nèi)網(wǎng)、互聯(lián)網(wǎng)、或兩者的組合。鏈路20也可包括中間代理、路由器、交換機(jī)、負(fù)載均衡器
坐坐寸寸ο
[0013]下面的描述被分成幾個(gè)部分。第一,標(biāo)記為“組件”,描述了用于實(shí)現(xiàn)各種實(shí)施例的各種物理和邏輯組件的示例。第二部分,標(biāo)記為“操作”,描述了實(shí)現(xiàn)各種實(shí)施例而采取的步驟。
[0014]組件:圖2-3描述了用于實(shí)現(xiàn)各種實(shí)施例的物理和邏輯組件的示例。圖2描述了分布式事件處理系統(tǒng)22。在圖2的示例中,系統(tǒng)22包括連接器24和存儲(chǔ)管理器26。圖2也描述了與連接器24通信的數(shù)據(jù)源16并且將數(shù)據(jù)文件28和索引30描述為對(duì)存儲(chǔ)管理器26可訪問(wèn)的。
[0015]每個(gè)連接器24通常表示硬件和編程的任何組合,其被配置成從數(shù)據(jù)源16中所分配的一個(gè)獲取事件數(shù)據(jù)、將所獲取的事件數(shù)據(jù)劃分成簇并且將每個(gè)簇分割成塊。雖然示出三個(gè)連接器24,系統(tǒng)22可以包括任何數(shù)量的連接器24。將給定連接器24分配至一個(gè)或多個(gè)給定數(shù)據(jù)源16反映該特定連接器24被配置成處理從所述一個(gè)或多個(gè)數(shù)據(jù)源16收集的格式的事件數(shù)據(jù)。給定連接器24可被實(shí)現(xiàn)為其被分配的數(shù)據(jù)源16的集成組件。連接器24可通過(guò)單獨(dú)的網(wǎng)絡(luò)設(shè)備(諸如應(yīng)用服務(wù)器)來(lái)實(shí)現(xiàn)。然而其他連接器24可以被集成于存儲(chǔ)管理器26。
[0016]如上面討論的,事件數(shù)據(jù)能采用多個(gè)形式,諸如在日志文件或系統(tǒng)日志服務(wù)器中的條目、警報(bào)、警告、網(wǎng)絡(luò)數(shù)據(jù)包、電子郵件或通知頁(yè)面。給定的連接器24可通過(guò)主動(dòng)地從其被分配的數(shù)據(jù)源16檢索事件數(shù)據(jù)來(lái)獲取事件數(shù)據(jù),或者它可被動(dòng)地接收事件數(shù)據(jù)。對(duì)于給定連接器24,該事件數(shù)據(jù)能隨著時(shí)間在事件批量(batch)中獲取。所獲取的事件數(shù)據(jù)被劃分成簇。在示例中,給定的事件數(shù)據(jù)簇可以對(duì)應(yīng)于批量。在其他示例中,簇可包含多個(gè)批量或者可以是從所分配的數(shù)據(jù)源16接收的事件數(shù)據(jù)的批量的部分。
[0017]如果需要的話,該事件數(shù)據(jù)可被連接器24規(guī)范化為預(yù)定義的模式(schema)以使得被表示在事件數(shù)據(jù)中的每個(gè)事件對(duì)應(yīng)于具有出現(xiàn)在該行的字段中的事件的各種屬性的行。因此,事件數(shù)據(jù)簇然后能被表示為具有出現(xiàn)在相同列中的給定類型的屬性的表格。換言之,每個(gè)簇包括被分段成事件字段的列的事件數(shù)據(jù)的行。每個(gè)事件字段包含表示該事件的屬性的數(shù)據(jù)。對(duì)于每個(gè)這樣的簇,對(duì)應(yīng)的連接器24將該簇分割成塊,其中每個(gè)塊表示在該簇中的事件字段的列。
[0018]每個(gè)連接器24可獲取、生成或以其他方式維護(hù)對(duì)于每個(gè)事件數(shù)據(jù)的元數(shù)據(jù)。特別地,此類元數(shù)據(jù)可被包括在每個(gè)塊中或以其他方式被鏈接至每個(gè)塊。例如,元數(shù)據(jù)能識(shí)別其關(guān)聯(lián)的塊以及包含在該塊中的與事件屬性相關(guān)的信息。此類信息可涉及屬性類型和特定屬性值以及更廣泛地涉及塊從其中被分割的事件的特性。此類更廣泛的信息可識(shí)別在對(duì)應(yīng)的數(shù)據(jù)源16處生成事件的時(shí)間,以及在對(duì)應(yīng)的連接器24處接收事件的時(shí)間。對(duì)于給定的塊,其關(guān)聯(lián)的元數(shù)據(jù)可識(shí)別時(shí)間窗,相對(duì)于所述時(shí)間窗其對(duì)應(yīng)的事件在源16處被生成或在連接器24處被接收。
[0019]存儲(chǔ)管理器26通常表示硬件和編程的任何組合,其被配置成從連接器24收集塊并且將所收集的塊存儲(chǔ)至一個(gè)或者多個(gè)數(shù)據(jù)文件28。所述塊可被存儲(chǔ)為或者被合并的或者以其他方式被結(jié)合的并然后被存儲(chǔ)。除了收集所述塊之外,存儲(chǔ)管理器26還可以負(fù)責(zé)從連接器24收集用于所述塊的元數(shù)據(jù)并且使用所收集的元數(shù)據(jù)來(lái)維護(hù)索引。如所提到的,元數(shù)據(jù)包括與所收集的塊以及它們的內(nèi)容相關(guān)的信息。因此,索引30充當(dāng)對(duì)數(shù)據(jù)文件28的索弓I。存儲(chǔ)管理器26然后也可以負(fù)責(zé)使用索引30來(lái)處理查詢以識(shí)別并從數(shù)據(jù)文件28中返回滿足該查詢的事件。在該元數(shù)據(jù)包括識(shí)別單獨(dú)的塊的數(shù)據(jù)的情況下,索引30能被用于識(shí)別數(shù)據(jù)文件28中的一個(gè)或多個(gè)特定塊并返回所述塊或者滿足給定查詢的其內(nèi)容的部分。
[0020]在前面的討論中,連接器24和存儲(chǔ)管理器26被描述為硬件和編程的組合。此類組件可以以多個(gè)方式來(lái)實(shí)現(xiàn)。參看圖3,編程可以是存儲(chǔ)在一個(gè)或多個(gè)有形非臨時(shí)計(jì)算機(jī)可讀介質(zhì)32上的處理器可執(zhí)行指令并且硬件可包括用于執(zhí)行那些指令的一個(gè)或多個(gè)處理器34。介質(zhì)32可所述被用以存儲(chǔ)程序指令,當(dāng)被處理器34所執(zhí)行時(shí)所述指令實(shí)現(xiàn)圖2的系統(tǒng)22。介質(zhì)32可被集成在如處理器34相同的設(shè)備中,或者它可以是單獨(dú)的,但對(duì)該設(shè)備和處理器68是可訪問(wèn)的。
[0021]在一個(gè)示例中,程序指令可以是安裝包的部分,當(dāng)被安裝時(shí)所述安裝包能被處理器34執(zhí)行以實(shí)現(xiàn)系統(tǒng)22。在這個(gè)情況下,介質(zhì)32可為便攜式介質(zhì),諸如⑶、DVD或閃存驅(qū)動(dòng)器或者由服務(wù)器維護(hù)的存儲(chǔ)器,所述安裝包可從該服務(wù)器被下載并安裝。在另一示例中,程序指令可以是已經(jīng)安裝的一個(gè)或多個(gè)應(yīng)用的部分。這里,介質(zhì)32能包括集成的存儲(chǔ)器,諸如硬盤(pán)驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器等等。
[0022]圖3中,存儲(chǔ)在介質(zhì)32中的可執(zhí)行程序指令被分割成組36和38。組36包括模塊40-46,其當(dāng)被處理器34執(zhí)行時(shí)實(shí)現(xiàn)給定的連接器24 (圖2)。組38包括模塊48-54,其當(dāng)被執(zhí)行時(shí)實(shí)現(xiàn)存儲(chǔ)管理器26 (圖2)。值得注意的是組36和38及其各自的模塊40-54可在一個(gè)介質(zhì)32上找到或跨多個(gè)介質(zhì)32被分布。
[0023]參照組36,接收器模塊表示用于從所分配的數(shù)據(jù)源獲取事件數(shù)據(jù)的程序指令。劃分模塊42表示用于將事件獲取的事件數(shù)據(jù)劃分成簇的程序指令。這樣可包括將事件數(shù)據(jù)規(guī)范化為通用模式以使得每個(gè)簇可由表格來(lái)表示,在該表格中每行對(duì)應(yīng)于事件而每列對(duì)應(yīng)于事件屬性。塊模塊44表示用來(lái)將簇分割成塊的程序指令。元數(shù)據(jù)模塊46表示用于組裝、識(shí)別或以其他方式維護(hù)每個(gè)塊的元數(shù)據(jù)的程序指令。元數(shù)據(jù)可被包括在對(duì)應(yīng)塊中或以其他方式被鏈接至對(duì)應(yīng)塊。
[0024]參照組38,收集模塊48表示用于連接器24獲得塊的程序指令。收集模塊48也可接收對(duì)于所述塊的元數(shù)據(jù),如果被單獨(dú)供應(yīng)的話。存儲(chǔ)模塊50表示用于將所收集的塊寫(xiě)至數(shù)據(jù)文件的程序指令。在寫(xiě)之前,存儲(chǔ)模塊50可以結(jié)合所述塊。索引模塊52表示用于使用從連接器收集的元數(shù)據(jù)來(lái)維護(hù)索引的程序指令,所述索引可被用于搜索對(duì)應(yīng)的塊已被寫(xiě)至的數(shù)據(jù)文件。查詢模塊54表示用于使用索引來(lái)識(shí)別該數(shù)據(jù)文件中滿足查詢的一個(gè)或多個(gè)塊并返回此類塊或者塊內(nèi)容的部分的程序指令。
[0025]操作:圖4為實(shí)現(xiàn)分布式事件處理方法要采取的步驟的流程圖。討論圖4時(shí),可參考圖1-3的圖表以提供上下文示例。然而,實(shí)現(xiàn)方式并不限制于那些示例。在步驟56中,提供了多個(gè)連接器。每個(gè)連接器被配置成從所分配的數(shù)據(jù)源獲取事件數(shù)據(jù),將所分配的數(shù)據(jù)劃分成簇并且將每個(gè)簇分割成塊。
[0026]步驟56中的提供可以以多個(gè)方式完成。例如,程序指令(諸如圖3的模塊40-46)可被安裝或者以其他方式存儲(chǔ)到計(jì)算機(jī)可讀介質(zhì)以使得它們能被處理器執(zhí)行以實(shí)現(xiàn)連接器。提供能包括將程序指令寫(xiě)至計(jì)算機(jī)可讀介質(zhì)。提供能包括執(zhí)行程序指令以實(shí)現(xiàn)連接器的一個(gè)或多個(gè)處理器。提供也能通過(guò)提供或維護(hù)包括存儲(chǔ)程序指令的計(jì)算機(jī)可讀介質(zhì)連同用于執(zhí)行該指令以實(shí)現(xiàn)多個(gè)連接器的處理器一起的設(shè)備的系統(tǒng)來(lái)完成。
[0027]在步驟56中提供的連接器可以均被配置成將所獲取的事件數(shù)據(jù)劃分成簇,以使得每個(gè)簇包括被分段成事件字段的列的事件數(shù)據(jù)的行。每個(gè)被提供的連接器然后將每個(gè)簇分割成塊,其中每個(gè)塊包括該簇的特定列的事件字段。在分割分區(qū)時(shí),連接器可負(fù)責(zé)將該簇分割成壓縮的塊以使得所述塊消耗較少的帶寬用于在網(wǎng)絡(luò)上傳輸并且在存儲(chǔ)時(shí)消耗較少的存儲(chǔ)器。在步驟56中提供的連接器可均被配置成將每個(gè)簇分割成塊,其中每個(gè)塊與識(shí)別該塊和塊的屬性的元數(shù)據(jù)相關(guān)聯(lián)。該關(guān)聯(lián)的元數(shù)據(jù)可被包括在其對(duì)應(yīng)的塊中或者以其他方式鏈接至其對(duì)應(yīng)的塊。
[0028]從多個(gè)連接器收集塊(步驟58)并且將其存儲(chǔ)到能被查詢的數(shù)據(jù)文件(步驟60)。參照?qǐng)D2,步驟58和60可由存儲(chǔ)管理器26來(lái)完成。存儲(chǔ)能包括將所述塊寫(xiě)到數(shù)據(jù)文件。它也能包括在寫(xiě)到該數(shù)據(jù)文件之前合并或者以其他方式結(jié)合所述塊。在塊與元數(shù)據(jù)相關(guān)聯(lián)的情況下,步驟60能包括收集塊以及相關(guān)聯(lián)的元數(shù)據(jù)。該元數(shù)據(jù)然后能被用于維護(hù)對(duì)于數(shù)據(jù)文件的索引。參照?qǐng)D2,存儲(chǔ)管理器26可接收查詢并且利用索引30來(lái)識(shí)別包含滿足該查詢的數(shù)據(jù)的特定塊。那些塊或其部分,能響應(yīng)于該查詢而被返回。
[0029]圖5是關(guān)于在圖1的環(huán)境10中圖2的系統(tǒng)22所采取的動(dòng)作的通信序列圖。更加具體地,圖5描述了由在環(huán)境10內(nèi)系統(tǒng)22的組件所采取以在環(huán)境10內(nèi)以分布式方式處理事件數(shù)據(jù)的步驟。連接器24從數(shù)據(jù)源16獲取事件數(shù)據(jù)(步驟62)。如上所述,該事件數(shù)據(jù)可成批獲取并且被規(guī)范化為通用模式。每個(gè)連接器24將該事件數(shù)據(jù)劃分成簇(步驟64)。每個(gè)簇然后被分割成塊(步驟66)。元數(shù)據(jù)被組裝并被包括在每個(gè)塊中或者以其他方式被鏈接至每個(gè)塊(步驟68)。如所述的,對(duì)于給定塊的元數(shù)據(jù)識(shí)別該塊并且也可以識(shí)別該塊的內(nèi)容,所述內(nèi)容為與給定事件屬性類型相關(guān)的信息。
[0030]存儲(chǔ)管理器26從連接器24收集塊(步驟70)。存儲(chǔ)管理器26可合并所收集的塊(步驟72)并且然后將所述塊寫(xiě)到數(shù)據(jù)文件(步驟74)。數(shù)據(jù)存儲(chǔ)裝置使用在步驟70中收集的元數(shù)據(jù)來(lái)維護(hù)這些塊被寫(xiě)入其中的數(shù)據(jù)文件的索引(步驟76)。當(dāng)從客戶端18接收查詢時(shí)(步驟78),存儲(chǔ)管理器26使用該索引來(lái)識(shí)別滿足該查詢的一個(gè)或多個(gè)塊(步驟80)。存儲(chǔ)管理器26將所識(shí)別的塊或者其內(nèi)容返回至客戶端(步驟82)。
[0031]結(jié)論:圖1-3描述了各種實(shí)施例的架構(gòu)、功能和操作。特別地,圖2-3描述了各種物理和邏輯的組件。各種組件至少部分被定義為程序或編程。每個(gè)此類組件、其部分、或者其各種組合可整體或部分表示包含用以實(shí)現(xiàn)任何一個(gè)或多個(gè)指定的邏輯功能的一個(gè)或多個(gè)可執(zhí)行指令的代碼的模塊、段或部分。每個(gè)組件或者其各種組合可表示用以實(shí)現(xiàn)一個(gè)或多個(gè)指定的邏輯功能的電路或者多個(gè)互連的電路。
[0032]實(shí)施例可以以用于被指令執(zhí)行系統(tǒng)使用或者與其有關(guān)的任何計(jì)算機(jī)可讀介質(zhì)來(lái)實(shí)現(xiàn),該指令執(zhí)行系統(tǒng)諸如基于計(jì)算機(jī)/處理器的系統(tǒng)、或ASIC(專用集成電路)、或者能夠從計(jì)算機(jī)可讀介質(zhì)取或獲得邏輯并執(zhí)行其中包含的指令的其它系統(tǒng)。“計(jì)算機(jī)可讀介質(zhì)”可以是用于被指令執(zhí)行系統(tǒng)使用或與其有關(guān)的能夠包含、存儲(chǔ)或維護(hù)程序或數(shù)據(jù)的任何介質(zhì)。計(jì)算機(jī)可讀介質(zhì)能包括許多物理的、非臨時(shí)的介質(zhì)中的任何一種,諸如例如電子的、磁性的、光學(xué)的、電磁的或半導(dǎo)體介質(zhì)。合適的計(jì)算機(jī)可讀介質(zhì)的更具體的示例包括,但不限于,便攜式磁性計(jì)算機(jī)磁盤(pán)、諸如軟盤(pán)、硬盤(pán)驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除可編程只讀存儲(chǔ)器、閃存驅(qū)動(dòng)器、以及便攜式光盤(pán)。
[0033]雖然圖4的流程圖以及圖5的通信序列圖示出特定執(zhí)行次序,但是執(zhí)行次序可不同于所描述的次序。例如,兩個(gè)或更多框或箭頭的執(zhí)行次序可相對(duì)于所示的次序被打亂。同樣,連續(xù)示出的兩個(gè)或更多框可以同時(shí)或者部分同時(shí)執(zhí)行。所有此類變形都在本發(fā)明的范圍之內(nèi)。
[0034]已經(jīng)參照前述示例性實(shí)施例示出并描述了本發(fā)明。然而,應(yīng)當(dāng)理解的是,可以在不脫離下面權(quán)利要求所定義的本發(fā)明的精神和范圍的情況下而做出其他的形式、細(xì)節(jié)和實(shí)施例。
【權(quán)利要求】
1.一種分布式事件處理方法,包括: 提供多個(gè)連接器,每個(gè)連接器被配置成從所分配的數(shù)據(jù)源獲取事件數(shù)據(jù),將所獲取的事件數(shù)據(jù)劃分成簇,并且將每個(gè)簇分割成塊, 從多個(gè)連接器收集所述塊;以及 將所述塊存儲(chǔ)至能夠被查詢的數(shù)據(jù)文件中。
2.根據(jù)權(quán)利要求1的方法,其中提供包括提供多個(gè)連接器,每個(gè)連接器被配置成: 通過(guò)將所獲取的事件數(shù)據(jù)劃分成簇來(lái)劃分,每個(gè)簇包括被分段成事件字段的列的事件數(shù)據(jù)的行; 通過(guò)將每個(gè)簇分割成塊來(lái)分割,其中每個(gè)塊包括該簇的特定列的事件字段。
3.根據(jù)權(quán)利要求2的方法,其中提供包括提供多個(gè)連接器,每個(gè)連接器被配置成通過(guò)將每個(gè)簇分割成壓縮塊來(lái)分割。
4.根據(jù)權(quán)利要求2的方法,其中: 提供包括提供多個(gè)連接器,每個(gè)連接器被配置成將每個(gè)簇分割成塊,其中每個(gè)塊與識(shí)別該塊和塊屬性的元數(shù)據(jù)相關(guān)聯(lián),所述關(guān)聯(lián)的元數(shù)據(jù)被包括在其對(duì)應(yīng)的塊中或者以其他方式鏈接至其對(duì)應(yīng)的塊;以及 收集包括從多個(gè) 連接器收集所述塊和關(guān)聯(lián)的元數(shù)據(jù)。
5.根據(jù)權(quán)利要求4的方法,其中存儲(chǔ)包括合并所收集的塊并且將經(jīng)合并的塊存儲(chǔ)至數(shù)據(jù)文件以及從所收集的元數(shù)據(jù)來(lái)維護(hù)對(duì)于數(shù)據(jù)文件的索引。
6.一種非臨時(shí)計(jì)算機(jī)可讀介質(zhì),其包括指令,當(dāng)被執(zhí)行時(shí)所述指令使處理器進(jìn)行以下動(dòng)作: 從多個(gè)連接器收集塊,其均被配置成從所分配的數(shù)據(jù)源獲取事件數(shù)據(jù),將所獲取的事件數(shù)據(jù)劃分成簇,并且將每個(gè)簇分割成塊,以及將所述塊存儲(chǔ)至能夠被查詢的數(shù)據(jù)文件。
7.根據(jù)權(quán)利要求6的介質(zhì),其中由多個(gè)連接器劃分的每個(gè)簇包括被分割成事件字段的列的事件數(shù)據(jù)的行,并且其中當(dāng)被執(zhí)行時(shí)所述指令使處理器從多個(gè)連接器收集塊,其中每個(gè)被收集的塊包括它從其中被分割的簇的特定列的事件字段。
8.根據(jù)權(quán)利要求7的介質(zhì),其中每個(gè)塊與識(shí)別該塊和塊屬性的元數(shù)據(jù)相關(guān)聯(lián),所述關(guān)聯(lián)的元數(shù)據(jù)被包括在該塊中或者以其他方式被鏈接至該塊,并且其中當(dāng)被執(zhí)行時(shí)所述指令使處理器從多個(gè)連接器收集所述塊和關(guān)聯(lián)的元數(shù)據(jù)。
9.根據(jù)權(quán)利要求8的介質(zhì),其中當(dāng)被執(zhí)行時(shí)所述指令使處理器進(jìn)行以下動(dòng)作: 合并所收集的塊; 將經(jīng)合并的塊存儲(chǔ)至數(shù)據(jù)文件; 利用所收集的元數(shù)據(jù)來(lái)維護(hù)對(duì)于數(shù)據(jù)文件的索引。
10.根據(jù)權(quán)利要求9的介質(zhì),其中當(dāng)被執(zhí)行時(shí),所述指令使處理器檢查索引以識(shí)別數(shù)據(jù)文件中與查詢相關(guān)的塊。
11.一種分布式事件處理系統(tǒng),其包括多個(gè)連接器和存儲(chǔ)管理器,其中: 每個(gè)連接器被配置成從所分配的數(shù)據(jù)源獲取事件數(shù)據(jù),將所獲取的事件數(shù)據(jù)劃分成簇,并且將每個(gè)簇分割成塊,以及 存儲(chǔ)管理器被配置成從多個(gè)連接器收集所述塊并且將所收集的塊存儲(chǔ)至能夠被查詢的數(shù)據(jù)文件。
12.根據(jù)權(quán)利要求11的系統(tǒng),其中每個(gè)簇能夠由表來(lái)表示,所述表具有多個(gè)行,每行表示事件并且包括多個(gè)事件字段,每個(gè)連接器被配置成通過(guò)將每個(gè)簇分割成塊來(lái)分割,其中每個(gè)塊包括定義該簇的特定列的事件字段。
13.根據(jù)權(quán)利要求12的系統(tǒng),其中每個(gè)連接器被配置成將每個(gè)簇分割成塊以使得每個(gè)塊與識(shí)別該塊和塊屬性的元數(shù)據(jù)相關(guān)聯(lián),所述關(guān)聯(lián)的元數(shù)據(jù)被包括在其對(duì)應(yīng)的塊中或者以其他方式被鏈接至其對(duì)應(yīng)的塊;以及 存儲(chǔ)管理器被配置成從多個(gè)連接器收集所述塊和關(guān)聯(lián)的元數(shù)據(jù)。
14.根據(jù)權(quán)利要求13的系統(tǒng),其中所述存儲(chǔ)管理器被配置成: 合并所收集的塊; 將經(jīng)合并的塊存儲(chǔ)至數(shù)據(jù)文件;以及 從所收集的元數(shù)據(jù)來(lái)維護(hù)對(duì)于數(shù)據(jù)文件的索引。
15.根據(jù)權(quán)利要求14的系統(tǒng),其中所述存儲(chǔ)管理器被配置成檢查索引以識(shí)別數(shù)據(jù)文件中與查詢相關(guān)的塊并且 響應(yīng)于該查詢而返回所識(shí)別的塊或被包括在所識(shí)別的塊中的數(shù)據(jù)。
【文檔編號(hào)】G06F17/40GK103946847SQ201180074636
【公開(kāi)日】2014年7月23日 申請(qǐng)日期:2011年12月20日 優(yōu)先權(quán)日:2011年11月4日
【發(fā)明者】Y·周, W·黃, M·S·維斯頓, H·阿貴拉-馬西雅斯, D·E·維塞 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)