
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习达内Java编程等互联网软件开发课程,而本文我们就通过案例分析来简单了解一下,入门软件开发需要掌握哪些知识点。
规则引擎术语
规则(Rule):规则是描述业务决策的规则或条件的语句。规则通常由两部分组成:条件和动作。条件是描述规则被触发的判断,动作是描述规则执行的操作。
事实(Fact):事实是描述业务场景的数据。事实可以是一个单独的数据项,也可以是一组数据。规则引擎会根据事实来触发规则。
决策表:决策表是一种以表格形式表示规则的数据结构。决策表通常由多个条件列和一个结果列组成。当条件列的值都满足时,决策表就会触发结果列的规则。
规则集合:规则集合是一种由规则组成的数据结构。规则集合通常以树形结构存储,每个规则都有一个条件和一个动作。当条件满足时,规则集合就会执行规则的动作。
规则配置解析
规则引擎终是需要交付给运营人员去配置使用的,所以必须能满足灵活的配置编排,且易懂,才能大发挥它的威力。
规则配置
说明:
触发条件:任意一个、满足所有、自定义。其中自定义灵活,用户可以使用条件表达式配置任意想要的触发与或条件
变量(指标):左值,指标是输入数据衍生、或查询、或计算所得的值
比较符:等于、不等于、包含、属于、大于、小于、空等等
阈值:右值,与指标计算所得值相比较,如果比较符关系成立,则认为命中当前规则
默认值:当指标执行出错或者超时,默认返回的值
策略配置
说明:
评分卡模式:依据每条规则命中所得分数之和,判定是否命中相应分数段的决策
坏匹配:只要有一条规则命中,则立即拒绝
阈值:如果是评分卡模式,需要设置三个段位并且指定阈值
性能调优
决策引擎每天承载企业业务全部的风险决策,峰值QPS基本过万,但是风控的决策耗时需要足够的短,在不影响业务的情况下,尽可能快的返回决策结果,这是一大挑战。
从以往的调优经验来看,可以从以下几点来优化规则引擎:
并行执行规则:一次决策流中可能包含N个规则节点,每个规则节点包含M个规则,充分利用多核CPU优势,发挥大威力,但同时需要考虑多线程数据安全问题
预加载指标:规则执行都是在内存中的,但是所需要的指标值往往都是需要调用外部系统得到的,一是网络开销,二是指标计算开销。可以在执行规则集之前,全部预加载一次指标再缓存,这样执行时直接从内存取值就会快很多。但是需要注意成本问题(如付费指标,存储成本,架构复杂度等),废调用问题(前置规则已拒绝)等等
规则加载预编译:规则次加载往往比较耗时,此时好能warmup一下,这样在流量进来后,即可立即执行,但是使用预编译可能会增加系统的启动开销时间,需要做好相应的平衡工作
规则执行优化:运营配置规则时可能不会考虑规则执行顺序问题,但是程序在执行的时候可以智能编排一下,通过加入与或及顺序关系,尽可能的把大耗时和大成本的指标放在后面执行,优先执行内存指标,万一命中则直接断言,后续指标则不会再执行,节省了时间。要做到这一点,需要对指标进行较为详细的归类及元数据管理,需要全域的数据配合,对风控这种需要大数据的接口来说是一大挑战。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。