1.一种规则引擎的执行方法,其特征在于,包括:
监控业务逻辑的调用接口;
将需在所述业务逻辑执行之前执行处理的事件规则存放于第一引擎规则库中;
若监测到所述调用接口被调用,触发所述业务逻辑的第一事件触发点,所述第一事件触发点用于在所述业务逻辑执行之前触发在所述第一引擎规则库中事件规则的查询操作;
基于所述第一事件触发点,在第一引擎规则库中查询所述业务逻辑是否存在对应的事件规则;
若在所述第一引擎规则库中查找到所述业务逻辑对应的事件规则,则执行所述事件规则定义的处理逻辑;
在执行完所述事件规则定义的处理逻辑后,执行所述业务逻辑;
若在所述第一引擎规则库中未查询到所述业务逻辑对应的事件规则,则直接执行所述业务逻辑,包括:若所述第一引擎规则库中所述业务逻辑对应的事件规则有多个,获取所述业务逻辑对应的事件规则的优先指数;按所述优先指数从高到低依次执行所述业务逻辑对应的事件规则定义的处理逻辑;所述若所述第一引擎规则库中所述业务逻辑对应的事件规则有多个,获取所述业务逻辑对应的事件规则的优先指数,包括:获取所述业务逻辑对应的多个事件规则之间的依赖关系,所述依赖关系是指一事件规则的执行触发依赖于另一事件规则的执行;
根据如下公式计算事件规则的优先指数PriDegi:
;
其中,ω i表示所述事件规则i对应的预设权值,L为整数,表示所述事件规则i被依赖的事件规则的数量,L≥0,rely_λl表示所述事件规则i被依赖的事件规则的数量为l时对应的依赖权值,0≤l≤L,N为所述业务逻辑对应的事件规则数,N为正整数, 为任意一个实现从 到 映射的单调递增函数;
若所述业务逻辑执行完毕,触发所述业务逻辑的第二事件触发点,所述第二事件触发点用于在所述业务逻辑执行完毕之后触发在第二引擎规则库中事件规则的查询操作,所述第二引擎规则库中存放的事件规则在所述业务逻辑执行之后执行;
基于所述第二事件触发点,在所述第二引擎规则库中查找所述业务逻辑是否存在对应的事件规则;
根据所述在第二引擎规则库中的查询结果返回所述业务逻辑的执行结果。
2.根据权利要求1所述的执行方法,其特征在于,所述若监测到所述调用接口被调用,触发所述业务逻辑的第一事件触发点,包括:获取所述业务逻辑的业务标识;
判断预设的事件触发集合中是否存在所述业务逻辑的业务标识;
若所述事件触发集合中存在所述业务标识,则触发所述业务标识对应的第一事件触发点。
3.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至2中任一项所述规则引擎的执行方法的步骤。
4.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:监控业务逻辑的调用接口;
将需在所述业务逻辑执行之前执行处理的事件规则存放于第一引擎规则库中;
若监测到所述调用接口被调用,触发所述业务逻辑的第一事件触发点,所述第一事件触发点用于在所述业务逻辑执行之前触发在所述第一引擎规则库中事件规则的查询操作;
基于所述第一事件触发点,在第一引擎规则库中查询所述业务逻辑是否存在对应的事件规则;
若在所述第一引擎规则库中查找到所述业务逻辑对应的事件规则,则执行所述事件规则定义的处理逻辑;
在执行完所述事件规则定义的处理逻辑后,执行所述业务逻辑;
若在所述第一引擎规则库中未查询到所述业务逻辑对应的事件规则,则直接执行所述业务逻辑,包括:若所述第一引擎规则库中所述业务逻辑对应的事件规则有多个,获取所述业务逻辑对应的事件规则的优先指数;按所述优先指数从高到低依次执行所述业务逻辑对应的事件规则定义的处理逻辑;所述若所述第一引擎规则库中所述业务逻辑对应的事件规则有多个,获取所述业务逻辑对应的事件规则的优先指数,包括:获取所述业务逻辑对应的多个事件规则之间的依赖关系,所述依赖关系是指一事件规则的执行触发依赖于另一事件规则的执行;
根据如下公式计算事件规则的优先指数PriDegi:
;
其中,ω i表示所述事件规则i对应的预设权值,L为整数,表示所述事件规则i被依赖的事件规则的数量,L≥0,rely_λl表示所述事件规则i被依赖的事件规则的数量为l时对应的依赖权值,0≤l≤L,N为所述业务逻辑对应的事件规则数,N为正整数, 为任意一个实现从 到 映射的单调递增函数;
若所述业务逻辑执行完毕,触发所述业务逻辑的第二事件触发点,所述第二事件触发点用于在所述业务逻辑执行完毕之后触发在第二引擎规则库中事件规则的查询操作,所述第二引擎规则库中存放的事件规则在所述业务逻辑执行之后执行;
基于所述第二事件触发点,在所述第二引擎规则库中查找所述业务逻辑是否存在对应的事件规则;
根据所述在第二引擎规则库中的查询结果返回所述业务逻辑的执行结果。
5.根据权利要求4所述的服务器,其特征在于,所述若监测到所述调用接口被调用,触发所述业务逻辑的第一事件触发点,包括:获取所述业务逻辑的业务标识;
判断预设的事件触发集合中是否存在所述业务逻辑的业务标识;
若所述事件触发集合中存在所述业务标识,则触发所述业务标识对应的第一事件触发点。