题记:项目需求,当然是项目需求,我要实现一个规则匹配引擎,匹配数据的属性并进行后续操作。数据属性可灵活定制,且要预留足够的扩展方法,性能也有严格的要求。经过1个月的努力,顺利完成目标,我对自己的工作还是非常满意的。成就不只是最后的引擎,更重要的是设计和实现引擎过程中的思考和学习到的东西。自己的思路兜兜转转,造就了最后的结果,可对于我一个懒人,我总想效益最大化,因此想把整个分析思路写下来,帮自己梳理的更清楚,学习固化的更快。项目有可能是一锤子的买卖,可我的成果不是。
要实现一个规则匹配引擎,对于给定数据,在规则中查找匹配成功的条目,并执行相应的操作。待匹配数据是最简单的key-value对,比如:
{'name': 'fucking', 'time': '10:00:00',