利索能及
我要发布
收藏
专利号: 2017113865925
申请人: 东软集团股份有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-03-03
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种规则执行请求处理方法,其特征在于,所述方法包括:创建会话队列,所述会话队列中包括依序排列的预设个数的规则会话;

当接收到第一规则执行请求时,获取位于所述会话队列首位的第一规则会话作为当前会话;

当利用所述当前会话处理过的规则执行请求数量确定所述当前会话满足注销条件时,注销所述当前会话;

将所述会话队列中的第二规则会话作为所述当前会话,以针对所述第一规则执行请求进行规则执行处理,所述第二规则会话为所述会话队列中所述第一规则会话的下一规则会话,所述规则执行处理为根据目标事实对象判断是否满足目标规则的处理;

在接收到第一规则执行请求之前,所述方法还包括:确定规则引擎所需要的事实对象集合,所述事实对象集合中包含与多个业务事件对应的多个事实对象;

将预先设置的环状缓存区中的多个区块分配给所述多个业务事件,其中,在每个区块中记录有一个业务事件对应的所有事实对象的标记;

所述环状缓存区包括请求入口位置和规则执行处理位置,所述将所述会话队列中的第二规则会话作为所述当前会话,以针对所述第一规则执行请求进行规则执行处理,包括:根据所述第一规则执行请求从规则库中确定所述目标规则;

根据所述目标规则确定所述目标规则需要的所述目标事实对象;

获取所述第一规则执行请求中携带的所述目标事实对象的参数;

在所述环状缓存区中确定目标区块,所述目标区块中为包含所有所述目标事实对象的标记的区块;

在所述请求入口位置将所述目标事实对象的参数赋值到所述目标区块中;其中,每当有下一个规则执行请求到来时,所述环状缓存区中的每个区块均向规则执行处理位置移动一个区块的大小;

当所述目标区块移动至规则执行处理位置时,将所述目标区块分配给所述当前会话,以利用所述当前会话针对所述第一规则执行请求进行规则执行处理。

2.根据权利要求1所述的方法,其特征在于,所述将所述会话队列中的第二规则会话作为所述当前会话,以针对所述第一规则执行请求进行规则执行处理,包括:在将所述第一规则会话注销后,将所述会话队列中的每个规则会话均向所述会话队列首位的方向移动一位;

将新创建的规则会话加入所述会话队列,置于所述会话队列的末尾位;

将当前位于所述会话队列首位的所述第二规则会话作为所述当前会话,以针对所述第一规则执行请求进行规则执行处理。

3.根据权利要求1所述的方法,其特征在于,所述当利用所述当前会话处理过的规则执行请求数量确定所述当前会话满足注销条件时,注销所述当前会话,包括:根据所述规则执行请求数量,以及预设数量阈值,确定所述当前会话是否满足注销条件;

当确定所述当前会话满足注销条件时,注销所述当前会话。

4.根据权利要求3所述的方法,其特征在于,所述根据所述规则执行请求数量,以及预设数量阈值,确定所述当前会话是否满足注销条件,包括:获取计数器记录的所述规则执行请求数量;

根据所述规则执行请求数量与所述预设数量进行取模运算;

当所述取模运算得到的模值为零时,确定所述当前会话满足注销条件。

5.一种规则执行请求处理装置,其特征在于,所述装置包括:队列创建模块,用于创建会话队列,所述会话队列中包括依序排列的预设个数的规则会话;

会话获取模块,用于当接收到第一规则执行请求时,获取位于所述会话队列首位的第一规则会话作为当前会话;

会话注销模块,用于当利用所述当前会话处理过的规则执行请求数量确定所述当前会话满足注销条件时,注销所述当前会话;

规则执行模块,用于将所述会话队列中的第二规则会话作为所述当前会话,以针对所述第一规则执行请求进行规则执行处理,所述第二规则会话为所述会话队列中所述第一规则会话的下一规则会话,所述规则执行处理为根据目标事实对象判断是否满足目标规则的处理;

所述装置还包括:

对象确定模块,用于确定规则引擎所需要的事实对象集合,所述事实对象集合中包含与多个业务事件对应的多个事实对象;

内存分配模块,用于将预先设置的环状缓存区中的多个区块分配给所述多个业务事件,其中,在每个区块中记录有一个业务事件对应的所有事实对象的标记;

所述环状缓存区包括请求入口位置和规则执行处理位置,所述规则执行模块,用于:根据所述第一规则执行请求从规则库中确定所述目标规则;

根据所述目标规则确定所述目标规则需要的所述目标事实对象;

获取所述第一规则执行请求中携带的所述目标事实对象的参数;

在所述环状缓存区中确定目标区块,所述目标区块中为包含所有所述目标事实对象的标记的区块;

在所述请求入口位置将所述目标事实对象的参数赋值到所述目标区块中;其中,每当有下一个规则执行请求到来时,所述环状缓存区中的每个区块均向规则执行处理位置移动一个区块的大小;

当所述目标区块移动至规则执行处理位置时,将所述目标区块分配给所述当前会话,以利用所述当前会话针对所述第一规则执行请求进行规则执行处理。

6.根据权利要求5所述的装置,其特征在于,所述规则执行模块,包括:会话移位子模块,用于在将所述第一规则会话注销后,将所述会话队列中的每个规则会话均向所述会话队列首位的方向移动一位;

会话添加子模块,用于将新创建的规则会话加入所述会话队列,置于所述会话队列的末尾位;

规则执行子模块,用于将当前位于所述会话队列首位的所述第二规则会话作为所述当前会话,以针对所述第一规则执行请求进行规则执行处理。

7.根据权利要求5所述的装置,其特征在于,所述会话注销模块,包括:条件确定子模块,用于根据所述规则执行请求数量,以及预设数量阈值,确定所述当前会话是否满足注销条件;

会话注销子模块,用于当确定所述当前会话满足注销条件时,注销所述当前会话。

8.根据权利要求7所述的装置,其特征在于,所述条件确定子模块,用于:获取计数器记录的所述规则执行请求数量;

根据所述规则执行请求数量与所述预设数量进行取模运算;

当所述取模运算得到的模值为零时,确定所述当前会话满足注销条件。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4中任一项所述方法的步骤。

10.一种电子设备,其特征在于,包括:

权利要求9中所述的计算机可读存储介质;以及

一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。