实践案例 | ERP与外围系统大数据同步超时怎么办?

小编推荐
在项目实施中,我们常常遇到因外围系统数据处理慢,导致大数据量无法下发的问题。本篇文章针对这一难题分享了两套解决方案,以及方案使用建议,干货满满!
案例撰稿人:侯存良。
业务背景
在ERP项目实施过程中,ERP需要与多套外围系统进行数据间的同步,经常会因为外围系统性能不理想,导致传输数据的过程中,因外围系统数据处理较慢导致ERP接口出现超时问题。
问题现象可以参考以下业务流程图。每次触发接口时,我们将两小时内的数据都取出来处理,直接给外围系统推送数据,但过程耗时长,且一旦出现超时情况,数据也推送不成功。

图1 业务流程图

图2 推送失败
在外围系统解决不了性能问题的情况下,我们如何确保ERP的数据能正常推送到各个外围系统呢?
解决方案
面对这样一个在项目实施中经常出现的难题,在集成接口开发中,常用到两个方案,分别为服务流程处理、集成方案,下面具体介绍这两个方案的处理流程。
方案一:服务流程处理
服务流程处理(数据流向ERP->外围系统),实现了对下发数据按指定大小分批推送的效果。服务流程图示例:

图3 服务流程图
具体操作流程如下:
1. 操作路径:【苍穹平台】->【应用】->【集成服务云】->【集成管理】->【服务编排】->【服务流程】。


图4 操作路径
2. 新建服务流程,查询符合数据的id集合,把id集合按指定批数分批,流程变量 (onePushDataLength) 按外围系统能接收的数据量设置分批大小,此处按每批100处理。

图5 流程变量设置
3. 配置依赖资源,添加处理业务逻辑的服务流程资源。

图6 依赖资源设置
4. 流程图设计,配置数据查询节点信息,此处只查询id字段即可,用于后续流程处理,其他字段无用。

图7 节点配置
5. 数据分批处理,并把每批数据id传到业务处理流程处理。
注意:此处依赖资源需要引入调用的服务流程,在第3步操作。

图8 代码示例
6. 业务处理流程,设置入参接收传入的id集合。

图9 流程变量设置
7. 用传入的id集合查询所需要的业务字段,进行数据处理后,调用api下发外围系统即可(按照具体的业务处理逻辑处理,此处不展开)。到此处服务流程分批下发数据已处理完成。
8. 按照此方案优化后,接口稳定性有了很大提升,数据也能正常推送。

图10 推送成功
方案二:集成方案
使用集成方案同步数据需要外围系统提供对应的数据库信息才能进行后面的操作。
1. 根据外围系统提供的信息在ERP新建好对应的连接后,即可创建数据库类型的集成对象。

图11 创建集成对象
2. 新建集成方案,选择源对象和目标对象。

图12 新建集成方案
3. 对目标对象字段和源对象字段进行映射处理。

图13 字段映射处理
4. 由于苍穹实体基础资料字段取出来的数据是有层级结构的,还需要对查出来的数据做转换,转换成拉平的数据,可以通过集成方案的值转换规则来处理。

图14 值转换规则设置
5. 对应字段处引用创建好的值转换规则,转换规则支持多种方式处理,可以选择自己擅长的类型进行操作。

图15 值转换规则类型
6. 开启转换规则中的“缓存转换结果”按钮,将对转换结果缓存,不再重复进行值转换,提高转换效率。

图16 开启“缓存转换结果”按钮
7. “目标数据处理”根据需求选择支持增删改查。

图17
实践案例 | ERP与外围系统大数据同步超时怎么办?
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



