用于规则引擎的操作方法以及规则引擎系统技术方案

技术编号:13995476 阅读:100 留言:0更新日期:2016-11-15 02:06
本发明专利技术提供了用于规则引擎的操作方法以及规则引擎系统。用于规则引擎的操作方法包括:规则引擎服务器接收规则引擎客户端发送的调用请求;规则引擎服务器根据所述调用请求获取规则数据,对所获取的规则数据进行相应处理,并将处理的结果返回所述规则引擎客户端,其中,所述规则数据集中缓存于所述规则引擎服务器的本地缓存。实施本发明专利技术,能够提高规则数据的处理效率,而且方便线性扩展规则引擎客户端和服务器来提升规则引擎的处理能力。

【技术实现步骤摘要】

本专利技术涉及网络技术,具体而言,涉及用于规则引擎的操作方法以及规则引擎系统。
技术介绍
现有的规则批处理一般使用spark技术进行处理,由于spark每个job都是运行在一个独立的java jvm中,由于规则校验的对规则数据处理的效率要求较高,需要将规则进行缓存,规则校验时从缓存中获取规则定义信息,而现有的规则被缓存在每个spark job jvm中,那么每个job启动时都需从规则库中重复地进行规则加载,且占用每个job jvm的内存使用,从而整体上影响规则批处理的效率。
技术实现思路
为解决上述技术问题,本专利技术提供了用于规则引擎的操作方法以及规则引擎系统,通过规则引擎客户端发起调用请求,通过规则引擎服务器根据调用请求调用集中缓存在服务器本地缓存(工作内存)中的规则数据进行处理,显著改善了规则数据调用处理的处理效率,而且支持客户端-服务器架构的调用,改善了规则引擎系统与WEB界面可集成性。根据本专利技术实施方式的第一方面,提供了一种用于规则引擎的操作方法,所述方法包括:规则引擎服务器接收规则引擎客户端发送的调用请求;规则引擎服务器根据所述调用请求获取规则数据,对所获取的规则数据进行相应处理,并将处理的结果返回所述规则引擎客户端,其中,所述规则数据集中缓存于所述规则引擎服务器的本地缓存。在本专利技术的一些实施方式中,所述规则数据中的每个规则对应一个多叉树。在本专利技术的一些实施方式中,每个规则节点包括该规则节点对应的比较器、数据项名称以及被比较的数据。在本专利技术的一些实施方式中,所述每个规则节点还包括:数据加载器、数据项ID、数据类型、操作符、父节点ID、子节点ID、子节点列表。在本专利技术的一些实施方式中,所述对所获取的规则数据进行相应处理包括:采用先根遍历算法对所获取的规则数据进行校验处理。在本专利技术的一些实施方式中,所述规则引擎服务器与所述规则引擎客户端是基于Hessian RPC调用通讯技术进行通讯。在本专利技术的一些实施方式中,所述规则引擎服务器包括以分布式形式部署的服务器。在本专利技术的一些实施方式中,所述方法还包括:所述规则引擎服务器将该规则引擎服务器的地址信息存入第一服务器以便所述规则引擎客户端从所述第一服务器获取所述规则引擎服务器的地址信息。在本专利技术的一些实施方式中,所述方法还包括:所述规则引擎服务器的地址信息变更时,将变更后的地址信息存入所述第一服务器以便所述规则引擎客户端从所述第一服务器获取所述规则引擎服务器的变更后的地址信息。在本专利技术的一些实施方式中,所述规则引擎服务器与所述第一服务器之间保持心跳检测。在本专利技术的一些实施方式中,所述方法还包括:规则引擎客户端通过相应的接口进行调用请求处理,其中,所述调用请求包括下述的一种或多种:添加规则、更新规则、查询规则、添加规则组、添加规则到规则组、从规则组中删除规则、根据数据类型获取操作符列表、获取所有的数据类型及每个数据类型支持的操作符列表、根据规则组ID查询该规则组内包含的规则列表、查询所有的规则组、校验指定规则组下规则、判断输入数据是否满足指定规则、对输入的规则依次进行校验和获取指定规则数据项列表。在本专利技术的一些实施方式中,所述方法还包括:所述规则引擎服务器在接收到所述规则引擎客户端涉及规则变更的调用请求之后,将规则变更的事件发送到第二服务器以便所述第二服务器将所述规则变更的事件通知以分布式形式部署的服务器中的其他规则引擎服务器。根据本专利技术实施方式的第二方面,提供了一种规则引擎系统,所述系统包括:规则引擎客户端,用于发送调用请求;规则引擎服务器,用于接收所述规则引擎客户端发送的调用请求,根据所述调用请求获取规则数据,对所获取的规则数据进行相应处理,并将处理的结果返回所述规则引擎客户端,其中,所述规则数据集中缓存于所述规则引擎服务器的本地缓存。在本专利技术的一些实施方式中,所述规则数据中的每个规则对应一个多叉树。在本专利技术的一些实施方式中,每个规则节点包括该规则节点对应的比较器、数据项名称以及被比较的数据。在本专利技术的一些实施方式中,所述每个规则节点还包括:数据加载器、数据项ID、数据类型、操作符、父节点ID、子节点ID、子节点列表。在本专利技术的一些实施方式中,所述规则引擎服务器对所获取的规则数据进行相应处理包括:采用先根遍历算法对所获取的规则数据进行校验处理在本专利技术的一些实施方式中,所述规则引擎服务器与所述规则引擎客户端是基于Hessian RPC调用通讯技术进行通讯。在本专利技术的一些实施方式中,所述规则引擎服务器包括以分布式形式部署的服务器。在本专利技术的一些实施方式中,所述系统还包括第一服务器,所述规则引擎服务器,还用于将该规则引擎服务器的地址信息存入所述第一服务器以便所述规则引擎客户端从所述第一服务器获取所述规则引擎服务器的地址信息。在本专利技术的一些实施方式中,所述规则引擎服务器,还用于:所述规则引擎服务器的地址信息变更时,将变更后的地址信息存入所述第一服务器以便所述规则引擎客户端从所述第一服务器获取所述规则引擎服务器的变更后的地址信息。在本专利技术的一些实施方式中,所述规则引擎服务器与所述第一服务器之间保持心跳检测。在本专利技术的一些实施方式中,所述规则引擎客户端通过相应的接口进行调用请求处理,其中,所述调用请求包括下述的一种或多种:添加规则、更新规则、查询规则、添加规则组、添加规则到规则组、从规则组中删除规则、根据数据类型获取操作符列表、获取所有的数据类型及每个数据类型支持的操作符列表、根据规则组ID查询该规则组内包含的规则列表、查询所有的规则组、校验指定规则组下规则、判断输入数据是否满足指定规则、对输入的规则依次进行校验和获取指定规则数据项列表。在本专利技术的一些实施方式中,所述系统还包括:第二服务器,所述规则引擎服务器,还用于:在接收到所述规则引擎客户端涉及规则变更的调用请求之后,将规则变更的事件发送到所述第二服务器以便所述第二服务器将所述规则变更的事件通知以分布式形式部署的服务器中的其他规则引擎服务器。本专利技术提供的用于规则引擎的操作方法和规则引擎系统,通过C/S设计架构,客户端和服务器均可以通过线性扩展来提升规则引擎的处理能够,而且规则引擎服务器不占用作为调用方的规则引擎客户端的处理资源,服务器一端升级部署的灵活性较强;而且,通过将规则数据直接集中缓存于规则引擎服务器的本地内存,从而在规则校验等获取规则数据的处理中,直接从本地内存中获取规则数据,与现有将规则缓存在每个spark job jvm的方案相比,显著提高了规则数据的获取效率。附图说明图1是根据本专利技术一种实施方式的用于规则引擎的操作方法的流程示意图。图2是根据本专利技术一种实施方式的规则引擎的架构示意图。图3是根据本专利技术一种实施方式的规则引擎的内部功能模块示意图。图4是根据本专利技术一种实施方式的规则定义的示意图。图5是根据本专利技术一种实施方式的规则匹配校验处理流程示意图。图6是根据本专利技术一种实施方式的规则引擎规则库数据模型的示意图。图7是根据本专利技术一种实施方式的示例性的规则配置。图8是根据本专利技术一种实施方式的示例性的规则节点配置。图9是根据本专利技术一种实施方式的示例性的数据项信息表配置。图10是根据本专利技术一种实施方式的规则引擎客户端和服务器以及Zookeeper服务器之间关联关系示意图。图11是根据本专利技术一种实施方式本文档来自技高网...

【技术保护点】
一种用于规则引擎的操作方法,其特征在于,所述方法包括:规则引擎服务器接收规则引擎客户端发送的调用请求;规则引擎服务器根据所述调用请求获取规则数据,对所获取的规则数据进行相应处理,并将处理的结果返回所述规则引擎客户端,其中,所述规则数据集中缓存于所述规则引擎服务器的本地缓存。

【技术特征摘要】
1.一种用于规则引擎的操作方法,其特征在于,所述方法包括:规则引擎服务器接收规则引擎客户端发送的调用请求;规则引擎服务器根据所述调用请求获取规则数据,对所获取的规则数据进行相应处理,并将处理的结果返回所述规则引擎客户端,其中,所述规则数据集中缓存于所述规则引擎服务器的本地缓存。2.根据权利要求1所述的方法,其特征在于,所述规则数据中的每个规则对应一个多叉树。3.根据权利要求2所述的方法,其特征在于,每个规则节点包括该规则节点对应的比较器、数据项名称以及被比较的数据。4.根据权利要求3所述的方法,其特征在于,所述每个规则节点还包括:数据加载器、数据项ID、数据类型、操作符、父节点ID、子节点ID、子节点列表。5.根据权利要求1至3中任一项所述的方法,其特征在于,所述对所获取的规则数据进行相应处理包括:采用先根遍历算法对所获取的规则数据进行校验处理。6.根据权利要求1所述的方法,其特征在于,所述规则引擎服务器与所述规则引擎客户端是基于Hessian RPC调用通讯技术进行通讯。7.根据权利要求1所述的方法,其特征在于,所述规则引擎服务器包括以分布式形式部署的服务器。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述规则引擎服务器将该规则引擎服务器的地址信息存入第一服务器以便所述规则引擎客户端从所述第一服务器获取所述规则引擎服务器的地址信息。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:所述规则引擎服务器的地址信息变更时,将变更后的地址信息存入所述第一服务器以便所述规则引擎客户端从所述第一服务器获取所述规则引擎服务器的变更后的地址信息。10.根据权利要求8所述的方法,其特征在于,所述规则引擎服务器与所述第一服务器之间保持心跳检测。11.根据权利要求7所述的方法,其特征在于,所述方法还包括:规则引擎客户端通过相应的接口进行调用请求处理,其中,所述调用请求包括下述的一种或多种:添加规则、更新规则、查询规则、添加规则组、添加规则到规则组、从规则组中删除规则、根据数据类型获取操作符列表、获取所有的数据类型及每个数据类型支持的操作符列表、根据规则组ID查询该规则组内包含的规则列表、查询所有的规则组、校验指定规则组下规则、判断输入数据是否满足指定规则、对输入的规则依次进行校验和获取指定规则数据项列表。12.根据权利要求11所述的方法,其特征在于,所述方法还包括:所述规则引擎服务器在接收到所述规则引擎客户端涉及规则变更的调用请求之后,将规则变更的事件发送到第二服务器以便所述第二服务器将所述规则变更的事件通知以分布式形式部署的服务器中的其他规则引擎服务器。13.一种规则引擎系统,其特征在于,所述系统包括:规则引擎客...

【专利技术属性】
技术研发人员:安兴朝舒展邢磊
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1