电商客户大数据单量对接金蝶云星空应用指导与优化建议原创
金蝶云社区-陈元喜
陈元喜
4人赞赏了该文章 357次浏览 未经作者许可,禁止转载编辑于2024年07月03日 11:14:42

电商客户大数据量对接金蝶云星空应用指导与优化建议


 

一、 背景:

    a) 电商行业发展迅速,很多电商行业客户存在业财一体化的需求,需要将电商系统和企业ERP系统集成打通实现业务一体。

    b) 目前市面上电商系统众多,综合星空客户反馈来看,主要是管易、聚水潭、旺店通、吉客云、万里牛等,也还有通过集成服务商如:数帝网络、轻易云、金蝶集成云等,实现和星空集成的需求。

    c) 综合历史的项目反馈来看,电商系统在大数据单量的场景将数据同步集成至ERP系统下对ERP系统而言会有一定的性能影响。

    d) 为了保证系统的可用性和性能最为基础的需要对系统硬件资源有一个合理的评估,请优先使用数据库评估模型进行评估(参考),确定产品的部署模式和硬件配置要求。同时涉及大数据单量对接时(月单量上十万、百万等)还需要重点关注大数据单量对接后对ERP系统的性能影响,需要提前考虑大数据单量对接合理的实现及应用方式。

 

二、 售前及实施交付须知

目前碰到电商客户时,从已知的一些项目反馈情况来看存在一些大数据量对接项目实施交付产品后期会碰到各种性能瓶颈难以解决,主要涉及一下几点:

    a) 初期硬件资源评估不足:主要初期未能根据客户实际情况正确评估所需硬件资源。尤其是公有云客户,IaSS产商提供的配置为标准的配置,对应虚拟资源有限,普通增配的费用较为昂贵,难以有高级扩展增配的空间。(详细可见产品报价发文)

    b) 对接方案未考虑大数据单量影响:ERP核心在于业务流程管控及整体资源计划,电商大数据单量同步主要会涉及两方面的性能影响点,其一:大数据单量对接传输的性能,电商节及直播带货等高峰期单量能否规定时间内传输完、以及不断地单据写入消耗I/O,其二:大数据单量同步后星空ERP系统的报表查询、成本核算,凭证生成等相关处理逻辑耗时会成比例增加。同时由于业务数据量巨大,相关处理逻辑也相对消耗更多的硬件资源。

    c) 二开实现优化改进:主要是关于大数据量对接实现方式、WEBAPI接口使用、多线程并发等实现方式有待优化改进。

 

三、 关于硬件资源评估:

电商客户如若涉及大数据量单据对接时,较多性能瓶颈出现在数据库服务器,表现在磁盘I/O瓶颈 ,及后期数据量越来越大所需的存储空间也会越来越大。大数量单据对接不停的写入,引发日常单据列表、报表查询计算的数据量很大,月底成本核算、凭证生成等计算量更大,等场景引发磁盘I/O瓶颈引发系统整体卡慢。

    a) 产品研发团队综合客户使用情况提供评估模型工具,根据客户单据数据等业务维度的语义来评估出当前所需配置及后续数据增长情况。涉及到大数据量项目时请务必按照此模型评估建议金蝶云星空数据库估算模型

    b) 关于公有云和私有云如何选择,其实产品公有云报价发文中“二开专属VIP资源”有做出说明: 

说明:1.有以下情形之一者,必购“二开专属VIP资源”:
①有二次开发应用部署;②大数据量引入引出 :单次引出数据行数超过10万行或单次引入数据量超过1万张单;③大数据量打印:单次打印单据数量超过2000张;
④大数据量WebAPI访问:单日WebAPI访问量超过5万且小于15万次或单日WebAPI新增单据量超过1万张;⑤有电商订单同步应用的客户
2.有以下情形之一者,必须独立数据库服务器部署(参考“独立数据库资源扩容包”):
①未来3年数据库实体大小估计高于300GB;②未来3年物料总量预计超过1千万;③未来3年在线用户数预计超过500;④月均单量(分录)超过20万,小于40万;
3.有以下情形之一者,必须私有化部署:
①未来3年数据库实体大小预计高于500GB;②未来3年物料总量预计超过3千万;③未来3年在线用户数预计超过2000;④未来3年最大单据分录数据量预计超过5千万;⑤月均单量(分录)超过40万;⑥单日WebAPI访问量超过15万次
4.专属VIP资源的配置按运维通用标准执行,如有特殊应用需求超出标准配置的,报价参考“应用资源扩容包”和“独立数据库资源扩容包”。
5.二开专属VIP资源站点计算规则见目录价说明章节。

         (来源:金蝶云·星空企业版V9.0公有云目录价报价器)

    c) 电商客户大数据单对接的性能瓶颈,往往较多出现在数据库服务器,主要表现在IO瓶颈,公有云产商提供的RDS(SQL Sever)数据库资源为标配且有限,其对应最大配置IOPS上限是6万,但自建物理机可以达到百万级别IOPS。


四、 标准产品对接方案介绍:

管易主要产品系列:星辰电商云、C-ERP·标准版、C-ERP·数智版、星瀚电商云

    a) 星辰电商云:个体电商(小微企业)、日单500单以内。

    b) C-ERP·标准版:电商企业(成长型企业)、日单300-3000左右。

    c) C_ERP·数智版:电商企业(中大型企业)、日单2000+,目前主推产品

    d) 星瀚电商云:电商企业(品牌型企业)。

 

星空企业版和管易产品是已经有集成,集成方案是以通用的处理流程及逻辑出发。

    a) 方案一:以业务流程为重点,存在双发相互发起调用对方接口。参考

        i. 1.0接口:支持管易OMS、C-ERP·标准版,对应星空7.0及之后版本。由于此方案侧重业务流程对接,针对一个业务操作流程需要双方系统进行操作,操作流程复杂,后续升级版本此方案已废弃

    b) 方案二:(C-ERP·标准版)星空作为发起方,调用管易接口获取数据。参考

        i. 2.0接口:支持管易C-ERP·标准版,对应星空7.3及之后版本。此方案为原来1.0接口的升级改造版本。

        ii. 对接实现方案:星空管理企业整体业务,管易管理电商发货业务。以星空库存为准,星空库存变动同及时调用管易库存变动接口生成管易库存调整单更新管易库存,管易发货或者退货则由星空执行计划定时获取至星空中间表,然后通过三个执行计划分别完成中间表生成出库及退货单、提交出库及退货单、审核出库及退货单。参考

        iii. 此方案为目前管易客户集成星空选择的标准方案,但是此方案主要考虑为方便客户对账诉求,及按照明细行对接,仅支持按照出库单单据头合并

    c) 方案三:(C-ERP·数智版)管易作为发起方,调用星空接口获取数据。

        i. 目前管易主推产品,支持C-ERP·数智版,星空版本无要求。

        ii. C-ERP·数智版存在业务通集成服务,支持自定义条件合并发货、账单流程、收款应收单明细数据,再将合并后数据同步至星空系统

        iii. C-ERP·标准版 支持升级至 C-ERP·数智版,需要单独实施升级。

    d) 方案四:(星瀚电商云)管易作为发起方,调用星空接口获取数据。参考

        i. 支持(苍穹平台)星瀚电商云,对应星空7.6及之后版本。

        ii. 管易电商云为管易定位大型电商业务客户,此方案管易支持按照单据明细合并同步至星空

 

五、 电商大数据单量对接方案建议:

电商系统对接时最主要影响为:电商大数据单量进入星空ERP系统后,对ERP系统后续业务操作性能带来的影响,尤其时当前电商节以及直播电商火爆,一天的单量极值非常高,针对大数据单量对接时尤其需要考虑数据合并对接:

    a) 最优方案外部合并):

        i. 电商系统按照一定规则先合并数据,然后将合并之后的数据对接至星空ERP系统。

        ii. 电商系统与ERP系统对数则直接使用合并之后的数据对数即可。

    b) 次选方案内部合并):

        i. 电商系统单据明细数据对接至星空ERP系统某中间数据表(前置中间单据)。中间表根据客户需求按照一定规则合并数据至星空标准业务单据(如销售出库单、销售退货单)。

        ii. 电商系统与ERP系统对数直接对总数量、总金额,涉及到异常时可以根据中间表明细数据对比分析。

 

其次关于电商系统对接星空系统在业务流程对接上需要注意以下几点:

    a) 对接单据避免跨组织

        i. 以销售出库单为例,如若跨组织则会生成大量的内部交易单据,以及跨组织的明细结算清单,对后续的核算及对账带来很大的工作量。建议业务流程上取消电商与总部之间的销售出库单的跨组织交易,内部通过购销或者调拨的跨组织交易模式进行。即总部与电商通过调拨方式,这样调拨可以定期(如每天每周)成批调拨,降低单据量。

    b) 业务流程避免跨系统交叉

        i. 流程上只对接电商的销售出库单及退货单,所有的业务都在前台系统跑完,将结果数据对接至星空,以降低流程的复杂度和耦合度。

    c) 财务处理避免暂估应收模式

        i. 暂估应收模式会使得数据行数翻三倍: 应收单行数=出库单行数 * 3。而电商业务大部分当期能确认收入,对于当前能确认收入的部门建议按照财务应收模式处理。

 

最后如若使用专业集成服务商,如数帝、轻易云等提供集成方案时,也需要考虑大数据单量时需要在电商系统完成合并后再集成至星空,或者集成至星空系统中间表再合并数据至业务单据。

 

六、电商大数据单量开发实现建议:

    a) 星空系统提供标准的WEBAPI接口,供外部系统集成。实际对接方案以客户需求情况来确定谁作为发起方进行调用,如若第三方作为发起方,则使用星空WEBAPI接口进行调用获取及生成数据即可。

    b) 电商业务对接一般是星空销售流程,标准系统实际兼容各种业务场景及流程处理逻辑非常复杂,可以根据梳理客户实际业务场景,取消标准系统中不需要的插件及服务逻辑,来提升性能。(参考:链接第4点)

    c) 关于生成星空单据,为提升星空单据的性能,具体开发事项:

        i. JSON数据包,尽量保持精简仅保留必要字段。

        ii. 尽量批量构造数据包,使用WebAPI批量接口BatchSave调用生成。

        iii. 如若使用星空执行计划实现对接生成数据,则可以使用多个执行计划,考虑每个执行计划仅实现一个操作逻辑,遵循少量多次,分批轮询的原则处理。

        iv. 关于多线程并发,需要注意并发数、以及并发数据包的控制。并发数过高容易引发硬件资源瓶颈,并发业务数据需要注意不同维度区分来以避免:库存更新、批号更新的相同资源阻塞死锁问题。

    d) 关于星空WEBAPI对接时,需要注意的事项:

        i. WEBAPI登录接口,一次登录可以多次使用,避免每次调用时均发起调用登录接口。参考

        ii. 自动提交审核参数:IsAutoSubmitAndAudit 禁止使用。平台已屏蔽此参数,事务链长容易引发各种难以解决的异常,实际使用过程中需要避免使用此参数,调整为分开调用保存、提交、审核三个接口。参考

        iii. 关于单个接口性能问题分析,可以考虑开启APM跟踪,输出报告后需要及时关闭APM跟踪以避免长时间开启引发跟踪日志数据过多。参考

 

七、后期优化方案

使用一段时间后、随着数据规模的递增,系统相关使用操作可能会出现越来越慢的情况。此时就需要一些阶段性优化,主要就是针对历史数据做一个结转处理,使其正常应用的业务数据包保持在一个比较合理的范围内。

    a) 数据结转服务。 参考

        i. 客户成功下高级服务-数据结转服务:指定业务模块按指定期间重新做初始化,清除历史业务数据

    b) 数据归档。

        i. 产品部针对电商业务流程提供以销售订单为源头,将订单-出库-应收-开票数据归档至备份表,以减少业务单据表的数据量提升性能。(24年下半年提供)

    c) 查询库。

        i. 产品部提供开启查询库功能,可以实现读写分离,已提升产品整体性能。24年下半年提供)

 

八、相关引用参考:

    a) 金蝶云星空数据库估算模型: https://vip.kingdee.com/link/s/lpYc2

    b) 通过WebAPI实现金蝶云单据对接的那些事:https://vip.kingdee.com/link/s/lAl4L


赞 4