2013-08-20 59 views
2

我正在研究分析传感器数据的多客户端基于Web的应用程序,并应使用规则引擎根据此数据调用操作。 此应用程序的每个客户端都有一组环境传感器(10s - 100s)和一组要在每次传感器值更改(将传感器值复制到数据库中)时进行评估的规则。 一套基本的规则通常会被不同的客户端重复使用,但是每个客户端的规则都是单独参数化的(例如时间依赖),每个客户端都有不同数量的传感器和规则,可以单独配置。有些规则甚至可能只针对单个客户。多客户端Web应用程序的Drools是否可行?

我相信drools可能是这样一个实现的不错选择 - 使用drools guvnor来管理每个客户端的规则。每个客户都有自己的知识库和规则执行会话。

我不知道这样的环境是否会扩展,以及是否有基准或真实世界的例子,其中有人已经使用drools这种情况。

我能找到的大多数基准都是通过对越来越多的事实执行规则来评估不同的规则引擎。在我的方案中事实的数量将相对稳定(每个客户端),而可扩展性将受限于客户端的数量以及许多知识库和会话的并发应用。

有关此可扩展性问题的基准测试或规则引擎比较的任何评论值得欢迎。我也很乐意听到有关每个客户都有自己的规则和数据集的实际实现。

回答

1

基准测试的主要问题是,它们会根据您为自己的域编写的特定规则而有很大差异。大多数的基准测试都在调整的规则引擎中进行了调整。如果每个客户端都有一个会话,并且拥有稳定的客户端数量,则您将不会遇到任何问题。一旦你得到你的项目的初始版本,你可以微调引擎来提高性能。 在我看来,最困难的事情就是让基础设施正确无误,就是说,何时创建会话以及如何为每个客户选择规则。由于这是您特定域的一部分,因此您需要对其进行编码并管理所有会话。

希望它可以帮助

1

作用于传感器的数据是“复杂事件处理”给出的一个例子。以下link可能会对此主题有更深入的了解。

Drools Fusion也能够CEP。

相关问题