基础资料集成配置(外发)
基础资料同步页面
1. 必须要设置一个同步的主表 勾选主表
2. 主表必须要勾选一个主键和一个时间戳
主键用于确定数据的唯一性
时间戳用于检测数据是否有改动
对于非主表 时间戳非必须
3. 主表与非主表之间必须要建立联系
4. 转化规则:
4.1 正常转化 输入int型值或者String型值 只要对应字段的数据类型即可 注意:字符串的值要由单引号包裹
4.2 脚本转化:输入脚本之前 添加script: 标识
4.3 关于值转化是在数据插入数据库之后还是之前操作 可以通过执行脚本进行控制 具体脚本可联系对应的支持同事获取 (此为版本功能实现 需先了解版本支持情况 截止发稿前为85实现) 执行后返回的结果为boolean值 若为false 说明是在插入数据库之后再依据转换规则统一修改调整
5.前置检查脚本
可以检查当前目标系统数据库对应表已经有的索引值 这样的话 检查到对应的数据在对方数据库已经存在索引不可冲突时 不会再对此条数据进行同步 数据存放在表T_EIP_BaseDataSynPreCheckLog
6.过滤条件
在进行同步新增或更新操作时对当前需要同步的操作进行对应过滤 同sql书写 7. 实现类:此再数据同步新增或者更新之后再调用的方法 需要实现特定接口 代码中通过反射调用 补充实现类的具体使用
public class BaseDataSynOutBackImpl {
Logger logger = Logger.getLogger(this.getClass());
public void _updateReturnVal(Context ctx,String jsonInfo) {
logger.error("hello world");
logger.error(jsonInfo);
}
} 方法和参数固定 具体的逻辑可自行书写 方法固定为_updateReturnVal 参数为Context ctx,String jsonInfo 返回值不限 Context 为当前的上下文 jsonInfo 为同步后的的数据信息
Eg: {"tableActionData":{"T_BD_CURRENCY{"ADD":"iwoAAAEPobfetY/cdKS,iwoAAAEJaKbetY/cA"}},"sourceBillIdsMQ":"iwoAAAEJaKbetY/cW","errorMsg":"","isSuccess":true}
8.备注输入
recordLog 会在服务端生成特定的日志文件 用于记录同步新增或更新中操用到的ksql语句 由于输出数据量较大 影响性能 不建议使用;
备注输入openMultiThead 开启多线程同步功能,仅对当前方案有效(试验性功能 暂未提供上正式版本) 或者走服务器脚本 对所有方案开启多线程同步模式 具体脚本请详询支持部同事
9.特殊条件查询
对于同一同步方案 如果存在多个需要同步的目标数据中心 可以有不同的过滤条件选择 此可以比较基础资料同步页面的过滤条件 在同步页面的过滤条件设定 对该方案的任意目标数据中心的同步都有效果
推荐阅读