我試圖使用Drools作爲語法映射框架的語法關係的規則引擎。規則庫現在甚至超過了5000條規則,並且會得到擴展。在使用Drools時,每次程序運行時,讀取包含規則和創建知識庫的drl文件都需要很長時間。有沒有辦法一次創建知識庫並將其保存爲一些可以快速加載的持久格式,只有在更改後才能重新生成知識庫?快速加載drools知識庫
4
A
回答
2
是的,drools可以將知識庫序列化到外部存儲,然後再次加載該序列化的知識庫。
因此,您需要一個從drl加載,編譯,序列化的循環。然後是使用序列化版本的第二個週期。
我已經使用這一點,取得了一些成功,減少1分鐘30加載時間下降到15-20秒左右。此外,它也減少了堆/燙髮的要求。
檢查API的確切方法。
0
我的第一個想法是儘可能長時間保持知識基礎。除非您從不同的規則集合創建多個知識庫,並且可能的組合太多,否則請牢記這些知識庫。在我工作的一個應用程序中,一個知識庫具有所有規則,因此我們將它視爲單例。
但是,如果這是不可能的,或者您的應用程序不是那麼長時間運行,我不知道Drools本身提供了任何加快速度的方法。通過調試器運行Drools 5.0項目,我發現KnowledgeBase Drools爲我提供了Serializable。我想,反序列化KnowledgeBase比重新解析規則要快。但要小心設計你的應用程序!您使用接口是出於某種原因,實現可能會在沒有警告的情況下更改
相關問題
- 1. Drools知識庫文章大小
- 2. 快速ArrayList加載
- 3. 關於POCO的一些快速知識
- 4. verbot 5 sdk - 加載知識庫
- 5. 快速加載網頁
- 6. 加載JSON圖像快速
- 7. 快速文件加載python
- 8. 快速加載數據
- 9. 快速加載MKITView到UITableViewCell
- 10. 路由器快速加載
- 11. JavaScript加載速度更快?
- 12. 加載UIImagePickerController速度更快?
- 13. 無法發佈Drools知識會話
- 14. 應堅持Drools的知識會話
- 15. Drools爲什麼StatefulKnowledgeSession有不同的知識庫
- 16. 知識構建器錯誤後,Drools不會重新加載規則
- 17. 加快PDF的感知下載/生成速度
- 18. 加快網站加載速度
- 19. 如何使用jena快速加載ontolgy?
- 20. 快速加載文本到excel
- 21. 從SD卡快速加載圖像
- 22. 快速加載矩陣[numpy的/爪哇]
- 23. 快速加載流 - HTML/HTML5/Javascript
- 24. 安卓快速位圖加載
- 25. iOS快速加載圖片的技巧
- 26. 如何快速加載音樂
- 27. bower_components未加載快速靜態
- 28. C#XNA快速像素加載
- 29. 如何快速加載jquery nicescroll
- 30. 快速有效的數據加載