2016-03-15 37 views
0

我有質子CEP這樣的問題:我目前有一個「序列」EPA;它的輸入是2個事件。但是這些事件具有不同的粒度:假設我有A和B事件;我收到N個「A」事件和M個「B」事件,其中M個「<」< N. 所以我想要一個規則,例如「如果A類事件在X秒內沒有消耗掉,否則」,否則我有一個很長的A事件隊列;我只需要對最近(暫時)事件進行評估的規則。 實際上,我有一個假房間溫度傳感器,每隔5秒發送一次溫度更新,我還有另一個程序檢查外部天氣並每分鐘發送一次。Proton CEP Fiware:刪除舊收到的事件

任何想法如何解決這種情況?

非常感謝!

回答

0

我想在「消費」中你的意思是到達,那麼你是否想評估A事件到達質子pcoressor的時間?或A事件之間的時間?你想確保A事件的確定率是連續的嗎? 「移除」一個事件意味着忽略它,因爲事件並沒有保存在任何地方,只是被處理。最後,你想在這裏發現什麼?比如,與室外溫度相比,室溫的趨勢是什麼?那麼,相應地發出輸出事件?

謝謝。

+0

感謝您的答案。 它應該只是一個「基本」規則:接收事件A,接收事件B,計算它們的溫度差異。 但是如果我收到比B更多的A事件呢? – Federico

0

所有相關事件實例都保存在相應EPA的本地狀態中。 對於每個EPA操作數,您都有策略指示如何收集狀態以及如何構建事件派生的匹配集。 例如,按每個操作數定義的實例選擇策略,其值爲「Each」,「First」和「Last」會告訴您是否檢查所有A實例與B實例匹配,還是第一個到貨順序),還是最後一個。 消費政策規定,一旦檢測到一個序列,應該如何處理操作數狀態 - 如果參與序列的說A的實例從EPA的狀態(策略的「消耗」值)中刪除,或者應該保持不變。

玩這些政策的組合應該給你你需要的行爲

+0

謝謝! 在此期間,我改變了程序架構,所以我解決了我的問題......但這是我正在尋找的答案! – Federico