,RAM(隨機(jī)存取存儲(chǔ)器)、R0M(只讀存儲(chǔ)器)、EPROM(可擦除可編程ROM)、EEPROM(電可擦除可編程ROM)、硬盤(pán)以及閃存)。
[0062]計(jì)算機(jī)系統(tǒng)800包括至少一個(gè)處理器802,可執(zhí)行實(shí)施本文描述的一些或所有方法、功能和其他過(guò)程的機(jī)器可讀指令。計(jì)算機(jī)系統(tǒng)800還可包括數(shù)據(jù)存儲(chǔ)器。數(shù)據(jù)存儲(chǔ)器可包括內(nèi)存806,例如,隨機(jī)存取存儲(chǔ)器(RAM)。例如,節(jié)點(diǎn)的機(jī)器可讀指令810在運(yùn)行時(shí)刻期間可位于內(nèi)存806中。機(jī)器可讀指令810可實(shí)施上面描述的節(jié)點(diǎn)的方法和其他過(guò)程中的一個(gè)或多個(gè)。例如,機(jī)器可讀指令810可包括由集群節(jié)點(diǎn)執(zhí)行用于確定是否滿足規(guī)則的條件的事件關(guān)聯(lián)指令810a,或包括由主節(jié)點(diǎn)110執(zhí)行用于管理集群和路由事件的集群管理和事件路由指令810b。此外,節(jié)點(diǎn)的數(shù)據(jù)811可位于內(nèi)存806中。數(shù)據(jù)811可包括由節(jié)點(diǎn)使用的任何信息。在一個(gè)示例中,如果計(jì)算機(jī)系統(tǒng)800用于集群節(jié)點(diǎn)的,則數(shù)據(jù)811包括應(yīng)用數(shù)據(jù)。數(shù)據(jù)811可包括由主節(jié)點(diǎn)110路由至節(jié)點(diǎn)的最近一次接收的事件的事件數(shù)據(jù)。數(shù)據(jù)811可包括分區(qū)圖。數(shù)據(jù)811可包括規(guī)則和/或檢查點(diǎn)。計(jì)算機(jī)系統(tǒng)800可包括次要數(shù)據(jù)存儲(chǔ)器808,其可以是非易失性的,且存儲(chǔ)機(jī)器可讀指令810以及節(jié)點(diǎn)使用的任何其他信息(也可存儲(chǔ)在內(nèi)存806中)??赏ㄟ^(guò)通信總線809從處理器802傳送命令和數(shù)據(jù)。計(jì)算機(jī)系統(tǒng)800可包括I/O設(shè)備812,例如鍵盤(pán)、鼠標(biāo)、顯示器等等。計(jì)算機(jī)系統(tǒng)800可包括用于連接網(wǎng)絡(luò)的網(wǎng)絡(luò)接口 813??稍谟?jì)算機(jī)系統(tǒng)800中增加或替換其他已知的電子組件,且計(jì)算機(jī)系統(tǒng)800可能不包括圖8中示出的所有組件。
[0063]雖然已參照示例描述了實(shí)施例,可作出所描述的實(shí)施例的各種修改而不脫離所要求的特征的范圍。
【主權(quán)項(xiàng)】
1.一種包括集群中的集群節(jié)點(diǎn)的分布式事件關(guān)聯(lián)系統(tǒng)中的主節(jié)點(diǎn),所述主節(jié)點(diǎn)包括: 至少一個(gè)處理器,用于: 將各事件中的事件字段分成包括所述事件字段的值的有序的連續(xù)塊的分區(qū); 將每個(gè)分區(qū)分配給一對(duì)集群節(jié)點(diǎn); 根據(jù)所述分區(qū)確定分區(qū)圖,其中所述分區(qū)圖識(shí)別每個(gè)分區(qū)、所述分區(qū)的事件字段值的塊、主要集群節(jié)點(diǎn)和所述主要集群節(jié)點(diǎn)的故障轉(zhuǎn)移集群節(jié)點(diǎn);以及 數(shù)據(jù)存儲(chǔ)器,用于存儲(chǔ)所述分區(qū)圖,其中所述至少一個(gè)處理器用于將所述分區(qū)圖存儲(chǔ)在所述數(shù)據(jù)存儲(chǔ)器中。2.根據(jù)權(quán)利要求1所述的主節(jié)點(diǎn),其中所述至少一個(gè)處理器用于: 從數(shù)據(jù)源接收事件; 從該事件提取事件字段的值; 確定所提取的值是否是非空的值; 如果所提取的值是非空的,則基于所提取的值所在的塊,識(shí)別所接收的事件的對(duì)應(yīng)的集群節(jié)點(diǎn);以及 將該事件發(fā)送至所述對(duì)應(yīng)的集群節(jié)點(diǎn)。3.根據(jù)權(quán)利要求2所述的主節(jié)點(diǎn),其中所述至少一個(gè)處理器用于: 如果所提取的值是空的,則將該事件發(fā)送至無(wú)關(guān)的集群節(jié)點(diǎn),其中所述無(wú)關(guān)的集群節(jié)點(diǎn)未被分配給所述事件字段的值的任何連續(xù)塊,且用于根據(jù)事件規(guī)則關(guān)聯(lián)所接收的各事件。4.根據(jù)權(quán)利要求1所述的主節(jié)點(diǎn),其中所述至少一個(gè)處理器用于: 確定新的集群節(jié)點(diǎn)是否正加入到所述集群; 如果所述新的集群節(jié)點(diǎn)正加入到所述集群,則將事件字段值的連續(xù)塊的一部分分配給所述新的集群節(jié)點(diǎn);以及 更新所述分區(qū)圖,以包括所述新的集群節(jié)點(diǎn)和其分區(qū)以及其故障轉(zhuǎn)移節(jié)點(diǎn),并且包括由于將事件字段值的連續(xù)塊的所述一部分分配給所述新的集群節(jié)點(diǎn)而對(duì)所述分區(qū)的任何改變。5.根據(jù)權(quán)利要求4所述的主節(jié)點(diǎn),其中所述新的集群節(jié)點(diǎn)從存儲(chǔ)所述分布式事件關(guān)聯(lián)系統(tǒng)的事件的事件關(guān)聯(lián)系統(tǒng)數(shù)據(jù)存儲(chǔ)器加載所述新的集群節(jié)點(diǎn)的分區(qū)的應(yīng)用數(shù)據(jù)。6.根據(jù)權(quán)利要求1所述的主節(jié)點(diǎn),其中所述至少一個(gè)處理器用于: 確定集群節(jié)點(diǎn)是否離開(kāi)所述集群; 如果集群節(jié)點(diǎn)離開(kāi)所述集群,則向離開(kāi)所述集群的集群節(jié)點(diǎn)的故障轉(zhuǎn)移節(jié)點(diǎn)發(fā)送消息,以使該故障轉(zhuǎn)移節(jié)點(diǎn)成為該集群節(jié)點(diǎn)的分區(qū)的主要節(jié)點(diǎn);以及 更新所述分區(qū)圖,以包括成為所述分區(qū)的主要節(jié)點(diǎn)的所述故障轉(zhuǎn)移節(jié)點(diǎn),并且包括該主要節(jié)點(diǎn)的故障轉(zhuǎn)移節(jié)點(diǎn)。7.根據(jù)權(quán)利要求6所述的主節(jié)點(diǎn),其中所述故障轉(zhuǎn)移節(jié)點(diǎn)從最近一次接收的檢查點(diǎn)恢復(fù)聚合狀態(tài),并從存儲(chǔ)所述分布式事件關(guān)聯(lián)系統(tǒng)的應(yīng)用數(shù)據(jù)的事件關(guān)聯(lián)系統(tǒng)數(shù)據(jù)存儲(chǔ)器加載所述分區(qū)的應(yīng)用數(shù)據(jù)。8.根據(jù)權(quán)利要求1所述的主節(jié)點(diǎn),其中所述至少一個(gè)處理器用于: 將所述分區(qū)圖分發(fā)至所述集群節(jié)點(diǎn); 響應(yīng)于所述集群的改變更新所述分區(qū)圖;以及 將更新的分區(qū)圖分發(fā)至所述集群節(jié)點(diǎn)。9.根據(jù)權(quán)利要求1所述的主節(jié)點(diǎn),其中所述集群節(jié)點(diǎn)中的每一個(gè)用于基于規(guī)則關(guān)聯(lián)從所述主節(jié)點(diǎn)接收的各事件,其中所述關(guān)聯(lián)包括: 接收分區(qū)的事件; 確定該事件是否是所述規(guī)則的部分匹配,其中所述部分匹配包括條件的部分滿足;如果該事件是部分匹配,則確定所述規(guī)則是與分區(qū)無(wú)關(guān)的規(guī)則還是分區(qū)的規(guī)則;如果所述規(guī)則是與分區(qū)無(wú)關(guān)的規(guī)則,則將所述部分匹配的信息發(fā)送至規(guī)則指定節(jié)點(diǎn)以聚合各事件,用來(lái)確定是否滿足所述條件;以及 如果所述規(guī)則是分區(qū)的規(guī)則,則在所述集群節(jié)點(diǎn)處將所述事件存儲(chǔ)為部分匹配,并在所述集群節(jié)點(diǎn)處聚合各事件以確定是否滿足所述條件。10.—種分布式事件關(guān)聯(lián)系統(tǒng)中的存儲(chǔ)事件數(shù)據(jù)的分區(qū)的多個(gè)集群節(jié)點(diǎn)中的集群節(jié)點(diǎn),該集群節(jié)點(diǎn)包括: 數(shù)據(jù)存儲(chǔ)器,用于存儲(chǔ)接收的該集群節(jié)點(diǎn)的分區(qū)的事件;以及 至少一個(gè)處理器,用于: 接收用于關(guān)聯(lián)各事件的規(guī)則,其中各事件被聚合以確定是否滿足所述規(guī)則中的條件; 接收分區(qū)的事件; 確定該事件是否是所述規(guī)則的部分匹配,其中所述部分匹配包括所述條件的部分滿足; 如果該事件是部分匹配,則確定所述規(guī)則是與分區(qū)無(wú)關(guān)的規(guī)則還是分區(qū)的規(guī)則;如果所述規(guī)則是與分區(qū)無(wú)關(guān)的規(guī)則,則將所述部分匹配的信息發(fā)送至規(guī)則指定節(jié)點(diǎn)以聚合各事件,用來(lái)確定是否滿足所述條件;并且 如果所述規(guī)則是分區(qū)的規(guī)則,則在該集群節(jié)點(diǎn)處將該事件存儲(chǔ)為部分匹配,并在該集群節(jié)點(diǎn)處聚合各事件以確定是否滿足所述條件。11.根據(jù)權(quán)利要求10所述的集群節(jié)點(diǎn),其中如果所述規(guī)則是所述與分區(qū)無(wú)關(guān)的規(guī)則,則所述規(guī)則指定節(jié)點(diǎn)從多個(gè)集群節(jié)點(diǎn)接收部分匹配的信息以聚合各事件,用來(lái)確定是否滿足所述條件。12.根據(jù)權(quán)利要求10所述的集群節(jié)點(diǎn),其中所述至少一個(gè)處理器用于: 存儲(chǔ)并更新聚合狀態(tài),其中所述聚合狀態(tài)包括所述規(guī)則的部分匹配的信息;以及 將檢查點(diǎn)發(fā)送至該集群節(jié)點(diǎn)的故障轉(zhuǎn)移節(jié)點(diǎn),其中所述檢查點(diǎn)包括所述聚合狀態(tài)以及最近一次接收的該集群節(jié)點(diǎn)的分區(qū)的事件的信息。13.根據(jù)權(quán)利要求10所述的集群節(jié)點(diǎn),其中所述至少一個(gè)處理器用于:接收由所述分布式事件關(guān)聯(lián)系統(tǒng)中的主節(jié)點(diǎn)確定的分區(qū)圖,并將所述分區(qū)圖存儲(chǔ)在所述數(shù)據(jù)存儲(chǔ)器中,其中所述主節(jié)點(diǎn)用于將各事件中的事件字段分成包括事件字段的值的有序的連續(xù)塊的分區(qū),并且所述分區(qū)圖識(shí)別每個(gè)分區(qū)、所述分區(qū)的事件字段值的塊、主要集群節(jié)點(diǎn)和所述主要集群節(jié)點(diǎn)的故障轉(zhuǎn)移節(jié)點(diǎn)。14.根據(jù)權(quán)利要求13所述的集群節(jié)點(diǎn),其中該集群節(jié)點(diǎn)用于:從所述主節(jié)點(diǎn)接收所述分區(qū)的進(jìn)入事件,其中所述主節(jié)點(diǎn)用于針對(duì)每個(gè)進(jìn)入事件從所述事件提取所述事件字段的值,基于所提取的值所在的塊識(shí)別所接收的事件的對(duì)應(yīng)的集群節(jié)點(diǎn);以及將該事件發(fā)送至所述對(duì)應(yīng)的集群節(jié)點(diǎn)。15.一種非瞬態(tài)計(jì)算機(jī)可讀介質(zhì),包括機(jī)器可讀指令,所述機(jī)器可讀指令由至少一個(gè)處理器可執(zhí)行,所述至少一個(gè)處理器用于: 將各事件中的事件字段分成包括所述事件字段的值的有序的連續(xù)塊的分區(qū); 將每個(gè)分區(qū)分配給一對(duì)集群節(jié)點(diǎn); 根據(jù)所述分區(qū)確定分區(qū)圖,其中所述分區(qū)圖識(shí)別每個(gè)分區(qū)、所述分區(qū)的事件字段值的塊、主要集群節(jié)點(diǎn)和所述主要集群節(jié)點(diǎn)的故障轉(zhuǎn)移節(jié)點(diǎn);以及存儲(chǔ)所述分區(qū)圖。
【專利摘要】根據(jù)示例,主節(jié)點(diǎn)用于將各事件中的事件字段分成包括所述事件字段的值的有序的連續(xù)塊的分區(qū)。每個(gè)分區(qū)可分配給一對(duì)集群節(jié)點(diǎn)。根據(jù)所述分區(qū)確定分區(qū)圖,且所述分區(qū)圖可識(shí)別每個(gè)分區(qū)、所述分區(qū)的事件字段值的塊、主要集群節(jié)點(diǎn)和所述主要集群節(jié)點(diǎn)的故障轉(zhuǎn)移集群節(jié)點(diǎn)。
【IPC分類】G06F17/40, G06F12/00, G06F17/00
【公開(kāi)號(hào)】CN105144138
【申請(qǐng)?zhí)枴緾N201380075693
【發(fā)明人】羅伯特·布洛克, 阿努拉克·辛格拉
【申請(qǐng)人】惠普發(fā)展公司,有限責(zé)任合伙企業(yè)
【公開(kāi)日】2015年12月9日
【申請(qǐng)日】2013年4月16日
【公告號(hào)】WO2014171926A1