SODBASE CEP學習(十二):規則模板、閾值和用戶界面

對於不懂程序的普通用戶來說,類SQL的EPL(事件處理語言)還是不夠友好的。例如在算法交易系統或一些監控系統中,往往需要給用戶通過操作界面來配置修改規則和策略。本文介紹一些幫助開發者完成這樣功能的方法。通常來講,我們可以自己做一個Web界面,並和CEPServer集成。過程如下圖所示


思路是採用CRUD方式,編輯CEP規則的參數。調用CEPModelCustomization設置參數生成模型實例,用CEPClient類來設置、安裝、啓動、停止CEP模型。



CEP模型模板的原理:將模型XML文件中的參數用${variable}代替,放到templateDir目錄中。然後用戶配置閾值參數時,用閾值替換${variable}。閾值替換的代碼如下所示

HashMap<String,String> customization=new HashMap<String,String>();
customization.put("variable","[email protected]");
String ret = new ModelCustomization().customizeCEPModelXML(templateDir,templateFileName,customization, generatedFilePath);

本示例是船隻監測項目的子功能,輸出船舶日常(歷史)活動範圍。包含3個規則模板boatfilter1、boatfilter2、ARA。在SODBASE Studio中建模後,製作模板。如建立boatfilter1模型後,轉爲XML文件。製作模板通常爲2步。

(1)將XML文件中的模型名稱boatfilter替換爲變量${boatfilter1},隨用戶設定而變。XML的queryname、modelname、inputadaptor的參數、SODSQL FROM子句,有boatfilter的全部替換爲${boatfilter1}。

(2)SODSQL中的參數爲${boatid},亦隨用戶設定而變。


製作用戶界面如下圖所示

用戶界面

發佈了40 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章