我正在尋找一個CEP引擎,但我不知道是否有發動機符合我的要求。 我的系統必須處理多個事件數據流並生成複雜的事件,這正是幾乎任何CEP引擎完全適合的(ESPER,Drools)。CEP是什麼,我需要(系統狀態和事件回放)
我存儲在數據庫中的所有原始事件(這不是CEP一部分,但我這樣做),並使用規則(或continious查詢或東西)來生成複雜事件的自定義操作。但我的一些規則依賴於過去的事件。例如:如果我的配偶每次來到或離開家,我都會有一個傳感器發送事件,如果我的車和我的奇特女人的車都在房子附近,我會收到短信「危險」。
問題是,重新啓動事件處理服務時,我失去了有關係統狀態的所有信息(是我妻子在家嗎?)並恢復它,我需要在未知的一段時間重放事件。系統狀態不僅取決於原始事件,還取決於複雜事件。
同樣的問題出現時,我需要在過去複雜事件的一些報道。我有存儲在數據庫中的原始事件數據,並且可以生成這些複雜的事件來重放原始事件,但我不知道我必須重播它們的確切時間。
同時很明顯,對於大多數規則,可以自動查找要從過去(或加載要處理的事件的時間段)處理的事件數量以自動恢復系統狀態。 如果給定的行動取決於我妻子在家的存在,CEP系統必須要求最後狀態更改。如果要求報告複雜事件並且複雜事件取決於前一時間段內的平均價格,則應重播此期間的所有價格變動事件。等等...
如果我錯過了什麼?
......並且它包含對規則語言中位置的支持,因此諸如「當人進入區域A,B或C時警覺」很容易......它記得事物的狀態是調用實體,並且這使得記住你的妻子現在在哪裏 – Simon 2011-03-31 22:03:56