物联网规则引擎设计

2020-11-30  本文已影响0人  Lupino

规则引擎是要用来解决设备联动,数据监控,消息通知等。

这里面的逻辑有些复杂,并且有很多未知情况。

我设计的时候考虑到这些问题,所有规则引擎必须是一个开放性的,可扩展的。

规则必须是一门语言,而且运行在一个可控的沙箱里面。

我选择了 Lisp, 构建一个 Lisp 语言解释器还是相对简单,在这个语言上添加特有的函数支持,规则引擎就有了。

那谁来写 Lisp 规则呢?

这两种都需要,对于傻瓜式,然后会通过手机应用,设置一些参数,然后自动生成 Lisp 代码。

对于专业用户,直接写 Lisp 代码。

对于设备联动,可以抽象成两个设备间的联动。

对规则引擎沙箱限制只能有两个设备, 一个源设备,一个目标设备。

当然目标设备可以没有。

我们可以让设备自己跟自己联动, 也可以更另外的设备进行联动。

设备监控,阈值分析,通过 Lisp 代码判断,并执行 消息通知。

异常检测也在规则引擎的一个函数,只要执行就能进行异常检测。

这是目前规则引擎集成的,我们可以按需增加Lisp语言的函数,来增加新功能。

上一篇下一篇

猜你喜欢

热点阅读