允许用户输入用于评估遥测数据的等式

时间:2010-10-04 20:39:31

标签: c# math data-dump telemetry

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

我从来没有让用户输入等式来操纵数据。我很感激任何可能有帮助的意见。 我应该看哪个方向,我应该尝试使用lambda表达式树,评估方程式并使用CodeDom编译它,还是查看另一个方向?我从未对lambda表达式树或CodeDom做过多少工作,并且总是在相当紧凑的时间表上,所以学习曲线确实很重要。我将有机会回到过去,并在以后做得更好,他们现在只需要它并运行。

感谢您的任何意见。

2 个答案:

答案 0 :(得分:1)

我认为你需要看看什么对你有用。我还想到了两个,只是发现你已经提到过它们了。我认为另一种选择是允许存储几个主要公式的参数(即立方,二次,指数,对数......),并选择一个作为要使用的公式。

我个人会使用表达式树,因为它是最干净的。 CodeDom的一个问题是编译代码导致的内存泄漏,尤其是当用户更改代码并多次构建公式时。一种解决方案是将已编译的代码加载到单独的AppDomain中,然后卸载整个appdomain。

答案 1 :(得分:1)

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

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