到账智能化设计
2024-06-17 15:24:18 2 举报
智能到账
作者其他创作
大纲/内容
7.加载流水处理器
凭证已生成
规则排序
娄取已入库待处理业务数据
5.返回结果
数据源
消费事件写log
是否预置
批量更行流水日志表
允许入库
发事件
数据源类型
银企联
业务数据处理完成【已完成】
yonbip-fi-ctmfm
是否重复数据
bank_seq_no银行流水号是否一致
存在,放弃本条流水,处理下一条
2.携带traceid通知流水消费者
transaction
银行对账单批量入库【已入库待处理】数据池明细批量更新
取数据提供两种交互模式1.走逻辑池,由逻辑池调数据提供方接口返回给数据使用方【走通用取数逻辑,下游实现简单】、【考虑性能】2.不走逻辑池,数据使用方直接调用数据提供方接口数据【如果取数业务复杂,采用当前方案】
数据已入业务库,待业务处理
已返回
启用状态
加载辨识匹配规则组户级+组织级
根据cacheKey获取Map
4.数据批量去重
按照businessType异步处理
5.流水批量去重落库,状态标记为\"已生成待处理\"
入库
4.目标数据集合
是
现金管理数据源
开始
备注
自动关联Handle回写数据池状态
CacheItem: pageNo offset pagesize condition
流水处理中
智能对账Handle回写数据池状态
是否存在关联结算单流水
业务使用方对应场景
微服务接口
本条处理完成
事项分录
数据入池完毕
逻辑池
金额是否为0
不存在
异常处理
规则2
yonbip-fi-ctmcmp
司库
业务使用方
IBankStreamHandler
从数据池删除traceId相关数据
8
业务数据初始化【比如执行辨识规则】【待执行业务】
ex:流动性分析
其它渠道
业务数据状态修改为\"业务处理完成\"
存在
8.流水处理器批量执行流水辨识匹配规则
开始执行流程处理规则
事项分录已生成
存储流水原始数据
按照traceId拉取数据做解析、幂等、入库【待处理】
无
能
业务逻辑处理
数据源编码
事项中台
流水辨识匹配管理器BankStreamManager
封装业务处理器Handle
是否关联即结束
retry
已入池,待消费
拉取
资金计划数据源
1.currentHandler:规则12.executestatus: 0(执行成功)3.hasNextHandler=false
3.流水拉取完毕,通过发事件通知消费者消费
3.通过接口取数据
拉取数据
缓存Map存在
流水信息
租户id
处理成功流水允许删除
批量更新流水状态
一、逻辑池【资金数据池】设计
主打效率
b 100
回写数据池数据状态为\"xx\",该条数据处理是否为结束
生产端
二、技术层面流程交互设计
【traceId、source、businessType】
yonbip-fi-ctmcspl
50
数据举例:source:银企联businessType: 拉取实时余额traceId:xxx
逐条处理拉回流水与数据库已存在流水对比
更新数据仓库
9.批量执行流水处理流程
业务数据状态修改为\"业务处理中\"
a 50
批处理
相关性辨识Handle回写数据池状态
关联规则
同步
是否bip标品
总账
未返回
发布删除事件
举例批量流水
..
根据当前规则配置的业务使用方获取数据源
类别编码
结束
更新流水金额
否,部分失败
对方类型辨识Handle回写数据池状态
更新流水unique_no
批量装载银行流水
1.基于银行账号加批量锁
从业务库拉取\"待处理\"业务数据
流水100
c 130
回单关联Handle回写数据池状态
六、业务使用方注册
库里面是否存在当前unique_no
批处理是否完成
根据分页算法构建CacheItem
8要素是否已在库中存在
2.源数据集合List<sourceObj>
流水批量入库已生成待处理
2.返回分页信息【含数据源】
BIP拉取流水接口
其它规则调度任务
数据使用范围
回写数据池数据状态为\"数据重复\",该条数据处理结束
分别判断逻辑池数据源A、B、C是否有预加载数据
9.按条件清理数仓
未生成
逻辑池pageNo数据来源
清理数据仓库
否
微服务
19
8.进入流水处理器处理阶段
创建时间
在当前规则构建数据源查询条件
流水处理器
业务凭据关联是否符合规则
补偿机制
采集符合进入流水处理阶段的相关流水信息
其它业务规则...
调结算数据源接口并处理反参,回写关联数据
自动关联是否符合规则
业务对象编码
手工或调度任务
流水验重逻辑
批量匹配
开始处理
更新时间
构建流水包装类
DefaultBankStreamHandler
+ isFinish:boolean= false
+ bankStreamHandler(BankStreamContext)
更新流水金额、本方银行账号、本方银行名称、摘要
接受事件写log日志
按照匹配单据类型做流水分批
4.直接调微服务接口取业务数据
流水处理失败
智能对账
自动关联
逐条判断流水
流水消费者
修改为过账成功
业务事项
pageSize:10数据源a:50条数据源b:50条数据源c:30条
规则3
step4:构建反参并响应本次分页请求结束
规则1
业务单据匹配规则
流水数仓
发布认领中心
批量锁
五、数据源配置注册
批量银行流水
当前流水是否返回unique_no
数据源名称
解析去重
收付单据生单是否符合规则
当前唯一值是在集合中否已存在
本批流水内已完成去重
7.本地merge匹配规则
修改为过账中
自动关联调度任务
一致
数据源: 取数据基本单位,一般来讲,一个数据源对应一个微服务接口
4.通过分页pageNo拉取分页数据
关联
事件监听EventListener
4.接口返回数据做聚合处理
3.解析数据源
本地根据八要素生成唯一值concant_info
请求方式
更新流水bank_seq_no
不能
1.手工或者调度任务触发
模式二
业务编码
业务使用方对应场景关联数据源
流水处理失败/成功
八、逻辑池扩展
数据源类别【ex:现金流】
数据来源
已生成待处理
currentHandler:规则1executestatus: 0(执行成功)hasNextHandler=true
退票检测Handle回写数据池状态
基于Lora采用模型微调方式做特定业务场景人工智能训练
修改时间
2.返回数据源集合
1.业务使用方注册编码
取数条件
未完成
流水状态机设置
10.流水处理完成
流水是否全部处理完成
traceId
银行是否返回唯一值unique_no
流水2
代码流程设计图
本批次流水执行完成
1.每条数据生成matchId
基于转换规则关联
发送eventbus事件通知处理业务数据
计算总记录数count(t1)+count(t2)+...
辨识、关联..
数据源类别编码
消费端
责任链模式构建辨识匹配规则责任链
不一致
1.根据【业务使用方注册编码】
收支明细剔除Handle回写数据池状态
流水处理器模型
来源系统
智能对账调度任务
通过
辨识规则
入数据池traceId+业务类型
流水去重处理器
业务名称
来源系统接口地址
流水3
流水1
业务使用方名称
业务场景编码
6.流水批处理
发送消费事件eventbustarceId
数据池
5.构建流水上下文
数据来源方式【ex:rpc\est\\语义模型】
封装模板方法处理业务数据
事件总线
3.流水消费者从数仓分页拉取待处理数据
流水上下文
6.构建流水处理上下文BankStreamContextList<包装后的流水>
是否BIP标品
step3:从缓存分页Map中根据pageNo取出List<CacheItem>调用数据源接口
提前入账Handle回写数据池状态
流水号+交易日期+交易时间+金额+方向+本方账号+对方账号+对方户名
四、【性能优化】从N张表分页取数业务逻辑
发布/订阅模式
数据源及数据源类别注册
生成凭证
6.返回匹配数据List<argetObj>
内存中做堆排序,取出当前页数据
从数据源预加载10页数据,每个数据源数据都是已排序
原逻辑
唯一性校验
业务使用方注册编码
接口地址
流水处理器BankStreamProcess
来源系统编码
自动生单
自动发布
清理数据池
已解析,明细数据已入池
自动生单Handle回写数据池状态
font color=\"#e74f4c\
辨识匹配规则1
范围
主入口
其它操作
其它校验
自动生单调度任务
2.加载逻辑数据源
1.过滤掉executestatus=1或者hasNextHandler=false流水2.currentHandler:规则23.hasNextHandler:true
娄取待消费数据List<Object>数据池原始数据解析后入池,标记为\"明细数据已入池\"
类别名称
数据库去重
缓存Map不存在
流水处理成功
2.拉取银企联流水并入库
业务场景名称
读业务配置,加载业务执行规则
自动发布Handle回写数据池状态
实现方式:协议编程;数据使用方、提供方按协议注册
source\\businessType\\traceId
缓存分页Map构建完成
0~N次调银企联
7.批量更新数据仓库流水状态
加入set集合中
4.根据traceId 分页批量拉取流水,准备批量化处理
5.调数据提供方接口
流水上下文BankStreamContext
触发数据拉取
投融资数据源
来源系统类型
取数维度
使用
自动发布调度任务
10.批量更新流水状态
currentHandler:规则2executestatus: 1(系统异常)failreason:异常原因hasNextHandler=false
封装CompletableFutureUtils 批量异步处理业务数据
根据错误类型判断能否自动处理
执行其它规则...
人员、档案、供应商
3.匹配规则【映射或公式】
辨识
业务操作全部执行成功
业务对象名称
收藏
收藏
0 条评论
下一页