在复杂的系统环境中,规则和配置的迁移、备份及共享成为了确保业务连续性和一致性的关键过程。不同的环境可能需要相同的规则和配置数据,或者我们可能需要备份这些数据以防万一。JVS规则引擎提供了规则的导出与导入功能,使用户能够在多个环境间轻松转移配置数据。
每一条配置数据都有其独特的数据ID,决策依赖于变量,而变量则依赖于数据源。这种依赖性在导入过程中可能会引发一系列问题,特别是当目标环境的底层依赖数据存在或缺失时。
接下来我详细介绍规则引擎的导出与导入功能。
规则的导出与导入
规则的导出与导入通常用于在不同环境之间共享、备份或迁移配置数据,可以在多个环境进行转移。
在详细介绍规则的导出与导入时,需要先了解所有的配置数据在系统中存储的方式,对于决策涉及到的数据源、变量、决策配置数据,在系统中每一条配置数据都有对应的数据ID,而且决策是依赖于变量、变量依赖于数据源的。那么在导入的过程中,很可能存在目标环境上可能有或者没有底层的依赖数据,所以决策在导入的时候就要考虑,如下图所示:
在决策导出的时候,系统会把这个决策对应所使用的变量、数据源等配置一起打包,生成一个以“.risk”结尾的离线文件,在目标环境中导入这个文件是,系统提示会让用户选择是新增导入还是覆盖导入,如果覆盖,那么系统会去找所有数据对应的历史配置,在原有的数据上做更新,如果选择是全新导入,那么不管历史数据是否存在,都以新增的方式进行导入。
接下来我们看看具体的配置
1、决策的导出,如下图所示,用户在对应的规则上点击导出时,系统会自动的把数据进行打包
当然这里的导出是具备权限控制的,需要在规则配置的界面上进行用户导出权限授权
2、规则的导入,如下图所示
点击导入决策后,在弹出的导入界面选择导入的文件以及对应的导入方式
①:设置导入的决策的目录位置
②:选择覆盖与新增 的导入模式
③:选择离线的规则文件
在线demo:http://rules.bctools.cn
gitee地址:https://gitee.com/software-minister/jvs-rules