规则引擎

规则引擎

之前为一家公司设计过规则引擎,现在把这个东西整理一下。对于现在很多商用软件开发本质为对于规则的一种软件化开发,对规则的实现,通过定义一个规则引擎可以更快更方便的实现标准业务下的业务流程,简化开发过程保证了绝大部分业务流程可以通过配置完成。

 

一、概要

    因为公司业务需求,需要开发一种灵活的统一配置的平台,方便公司快速部署规则,为解决这个问题决定开发一套规则引擎来满足需求,规则引擎包含:规则路由,规则容器两部分组成。

规则路由:负责对传入参数进行规则判断,最终路由到目标处理容器中,其本质是一个二叉树表。

规则容器:负责处理规则路由传入的数据,并返回处理结果。

 

二、数据库设计

设计上包含:规则主体表,规则入参表,规则路由表

规则主体:用于存放规则相关描述信息

规则入参表:存放此规则需要的入参

规则路由表:以二叉树结构,存放入参规则(支持入参>,=,<,包含等逻辑)并指定下一层规则流向

 

三、程序设计

程序设计使用,多个独立的job进行驱动,其中包括:

驱动引擎:部分规则需要定时检查,所以设计驱动引擎处理

规则路由:规则路由向外开发规则端口,通过传入的参数判断最终调用服务(有2种返回方式,方式1:直接返回可以处理此结果的目标服务url,方式2:直接调用处理规则的服务,并返回结果)

规则容器:用于存放规则具体处理的服务容器

 

四:程序执行流程

1)传入规则后处理流程
驱动引擎首先调用规则路由,并得到路由规则最终结果,之后通过最终结果调用处理服务


 

2)规则判断处理流程

通过规则驱动引擎,按照规则要求调用规则引擎入口,规则引擎通过判断入参参数,使用在路由规则表中存放的规则判断此参数是否满足条件,并判断下一步参数判断流向,最终成找到最终服务则返回,否则返回失败。


 


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值