告别代码!JVS规则引擎如何让业务规则调整提速90%?

生产过程中,线上的业务规则内嵌在系统的各处代码中,每次策略的调整都需要更新线上系统,进行从需求 -> 设计 -> 编码 -> 测试 -> 上线这种长周期的流程,满足不了业务规则的快速变化以及低成本的更新试错迭代。

因此需要有一种解决方案将商业决策逻辑和应用开发者的技术决策分离开,在系统运行时能去更新管理业务规则。

规则引擎 (业务规则管理系统,英文名为Rule Engine)正是这样的解决方案。

规则引擎是什么?

规则引擎是一种嵌入式软件组件,它的核心在于将业务规则从应用程序代码中剥离,通过预定义的规则库和推理机制,对输入数据进行实时匹配与计算,最终输出决策结果。这个过程不需要修改代码,只需要调整规则配置就可实现业务逻辑的动态更新。

JVS规则引擎是可以直接使用的企业级规则引擎,自动化与智能化并行。Java语言开发,前端VUE+ElementUI,提供私有化部署,支持提供全量源码、二次开发、定制、可集成。

核心功能

1.可视化决策编排

  • 拖拽式配置:通过界面化拖拽组件(如开始节点、判断节点、规则节点)构建决策流,支持分组管理(如反欺诈规则、信用评估规则分组)。
  • 流程图设计:以逻辑图形式展示规则间的关联,支持条件分支、循环等复杂逻辑,降低业务人员的理解门槛。
  • 规则表达,将多个基础因子通过关系组合成有业务价值的逻辑表达式。

2.变量和数据管理

  • 多类型变量支持:包括基础变量、复合变量(如数组对象)、SQL变量,可通过公式映射实现数据加工(如将原始数据转换为决策因子)。
  • 数据源集成:无缝对接mysql、mongodb、KingbaseES、PostgreSQL、Oracle、TiDBS、Excel、API、JVS低代码数据模型等数据源,支持动态参数配置与函数式编程加工数据。

3.规则执行

  • 高性能匹配:采用Rete算法优化规则匹配效率,支持高并发、低延迟处理,满足实时决策需求。
  • 动态更新与回滚:支持规则热部署及多版本无感发布,修改规则时自动生成新版本(如v2),可通过发布操作无缝切换,避免业务中断。

4.权限与审计

  • 细粒度权限控制:为不同角色/部门设置操作权限(如规则编辑、执行、查看),保障数据安全性。
  • 日志监控:记录规则执行详情(触发次数、结果、执行路径),支持故障排查、性能评估及审计追踪。

5.函数库

JVS规则引擎内置八大类函数,分别为脱敏函数、对象函数、数学函数、时间函数、转换函数、集合函数、文字函数、逻辑函数。支持自定义扩展。

  • 数学函数:如power()计算复利、round()精度控制。
  • 集合函数:计算两个集合的差集,例1:DIFFERENCE([5,6,7,7],[4,4,3,2,5,7]),结果:[6, 4, 3, 2]词。
  • 逻辑函数:两个参数比较,相同返回 true,默认忽略大小写,若不忽略,则填写第三个参数true。例:EQ("aaa","bbb"),结果:false。
  • 转换函数:将金钱数转换为人民币大写形式。例1:CONVERTDIGIT(7888.65)结果:肆万捌仟陆佰肆拾捌元伍角陆分。

6. 规则的导入导出

  • 导出:系统会把这个决策对应所使用的变量、数据源等配置一起打包,生成一个以“.risk”结尾的离线文件。
  • 导入:系统提示会让用户选择是新增导入还是覆盖导入,如果覆盖,那么系统会去找所有数据对应的历史配置,在原有的数据上做更新,如果选择是全新导入,那么不管历史数据是否存在,都以新增的方式进行导入。

系统架构设计

JVS采用“规则引擎+组件仓库+执行器”三层架构:

  • 规则层:负责解析配置文件,构建有向无环图(DAG)表示流程拓扑。
  • 组件层:管理所有业务组件的生命周期,支持AOP切面注入(如日志、重试、熔断)。
  • 执行层:基于事件驱动模型,支持单线程顺序执行、多线程并发、响应式编程等多种模式。

适用场景

  • 高动态性业务:如电商促销规则、金融风控策略,需频繁调整逻辑且无法承受代码发布周期。
  • 复杂计算引擎:保险核保、物流路由等需要多步骤并行计算的场景。
  • 技术债重构:将遗留系统的“意大利面条代码”解耦为可插拔组件。

系统部分页面展示

决策流

调用示例

变量

规则表达

在线demo:*************************

gitee:https://gitee.com/software-minister/jvs-rules

全部评论

相关推荐

小米春季招聘启动,面向25应届毕业生,下方链接投递内推码: BAD31ZQ招聘对象:25届春招,(社招也能在下面投递)中国内地:毕业时间2025.01-2025.12中国港澳台及海外:毕业时间2024.07-2025.12工作地点:北京、南京、武汉、深圳、上海等国内城市,以及海外城市1.公司福利:为所有员工购买六险一金——养老保险、失业保险、工伤保险、生育保险、医疗保险、补充商业保险和公积金(12%)2.入职即送新人券1000元3.每年有两次晋升机会4.公司提供多种全薪假,包括劳动法规定的法定节假日、12天带薪病假,根据工作时长还有对应时间的年假常见问题1、本次专项是否有笔试?有,两次笔试2、测平会淘汰人选吗?会,请认真做哦。(如果收到多份做一份就行)3、内推的人选一定会进面试吗?内推的优势在于简历优先筛选,但不能帮助候选人直通面试。4、为什么候选人已经进入面试环节,简历状态又变成了筛选?情况1:进面但未安排面试,超过一定期限,将重新调整人选应聘的状态,推荐至其他有需求的部门;情况2:已进行面试,状态更改为筛选,一般是面试不合适,推荐至其他有需求的部门。5、为什么简历看着还不错,还是没有通过筛选/面试呢?影响简历筛选/面试通过的因素有很多,比如专业方向、过往项目经历、简历中内容的表达等,也会包括同一批简历的竞争激烈程度。6、简历初筛是什么意思?申请的第一个环节,代表简历还没有被处理,也就是有其他申请在流程中,校招一次只能处理一条申请,不能多个岗位同时筛选或面试。7、面试通过后续流程是?offer沟通需要时间,且沟通量较教大,一般无特殊情况不单独查询学生状态,但是用该内推码的同学,私信姓名可以跟踪进度哦面试通过后,会由部门进行最后一轮评估,再由部门HR联系学生小米公司校招内推码: BAD31ZQ 投递链接: https://xiaomi.jobs.f.mioffice.cn/referral/campus/position/?token=NTsxNzQ1MzcwNzA1MjE0OzcyNTI2MjA3NTAxMzI5MDQwNDQ7NzQyNzMxNTUyNTI5NjI5MTk0OA小米公司社招内推码: BAD31ZQ 投递链接: https://xiaomi.jobs.f.mioffice.cn/referral/position/?token=NTsxNzQ1MzcwNzQ2ODM5OzcyNTI2MjA3NTAxMzI5MDQwNDQ7NzQyNzMyNzM3MjQyNzYyNDU1Ng #小米#  #校招#  #小米内推#  #春招#  #牛友职场人脉来了#
小米集团
|
校招
|
超多精选岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务