2010-10-04 60 views
1

我目前已将传感器数据转储到数据库中。这是原始数据,需要应用一个公式才能使其对最终用户有意义。我遇到的问题是,我还不知道大多数公式,并且还希望程序足够灵活,以便在将新传感器添加到系统中时,用户将能够输入校准公式将能够将原始数据转换为有用的东西。允许用户输入用于评估遥测数据的公式

我从来没有让用户输入方程来操作数据。我将不胜感激任何可能的帮助。 我应该看什么方向,我应该试试lambda表达式树,评估方程并使用CodeDom编译它,或者寻找另一个方向?我从来没有在lambda表达式树或CodeDom方面做过很多工作,并且像往常一样在相当紧张的时间表上工作,所以学习曲线确实不重要。我将有机会回过头来让它在以后更好,他们现在只需要它并运行。

感谢您的任何意见。

+0

如果你想让你的用户输入公式,那么也许你应该建立在Matlab或Mathematica或其他计算引擎之上。如果公式很简单(即+, - abs等),我会亲自操纵铁蟒来做到这一点。您可以要求DLR在运行时在您的数据上执行它。如果您担心消毒用户输入,那么我不知道该怎么做。祝你好运。 – Gleno 2010-10-04 20:56:54

回答

1

我强烈建议FLEE进行表达式解析/评估。它有一个自定义IL编译器,可以发出快速IL,而不会产生CodeDOM所具有的内存问题。

它也具有易于编码和扩展的理想属性。

1

我认为你需要看看什么适合你。我也想到了这两个,只是发现你提到了他们。我认为另一种选择是允许存储几个主要公式的参数(即三次,二次,指数,日志等),并选择一个作为要使用的参数。

我会亲自使用表达树,因为它是最干净的。 CodeDom的一个问题是由编译代码引起的内存泄漏,特别是如果用户更改代码并多次构建公式。一种解决方案是将编译后的代码加载到单独的AppDomain中,然后卸载整个AppDomain。

+0

感谢您在表达式树上输入CodeDom,但FLEE看起来像票证。 – Deke 2010-10-04 23:41:53