财务进销存系统,基础数据同步的方式

介绍财务进销存系统框架时,一直在说财务数据需要进行分层,从基础数据到计算层,再到财务数据层,最后是展现层,每层间都要进行数据核对,保证财务数据的准确性、完整性等特性。

财务进销存系统,基础数据同步的方式

对于基础数据主要包括商品、供应商与合同,这些数据来源于业务系统,但业务系统是变化的,如何获取这些数据是电商财务系统设计时必然要考虑的。

这里简单分享下数据获取三种方式:数据复制、主动拉取、业务系统推送。

数据复制

数据复制是就是将数据库从一个节点实时同步到另一个节点,目前在数据库架构中的读写分离都是采用的这种技术,下图是一个MySql数据库复制的示意图。

财务进销存系统,基础数据同步的方式

电商财务系统的基础数据来源于不同的业务系统,这些基础数据涉及的数据存储表会很多,如商品信息表、商品属性表、商品分类表、供应商信息表、合同表、补充协议表等。

一般的电商企业中经营的SKU商品有几万或几十万,大型的平台会达到百万,供应商及合同等信息数据量都不会很大,采用数据复制的方式是一种比较简单的方法。

数据复制的优点:

(1)可以保证业务库与财务库的数据是实时同步的,延迟非常小。

(2)技术成熟,部署简单,只需明确要同步的数据表,不需要开发单独写服务代码。

数据复制的缺点:

(1)它只能整个表的数据进行复制,而且不能进行表字段的选择,这对于财务基础信息库可能会产生一部分不需要的数据信息。

(2)复制的数据与业务库始终一致,如果要固化需要单独做映射。

(3)受复制程序影响较大,一旦复制出问题,短时间会造成数据丢失。

主动拉取

主动拉取就是由电商财务系统根据业务数据的需要,通过程序代码从业务库实时或定时的抽取数据。

财务进销存系统,基础数据同步的方式

此种方式是个人推荐的,上图是一个简单的示意图,在电商企业中的各个数据库都是独立布署的,访问是需要授权的。

对于这种批量的、频繁的数据拉取需求可能会影响到业务系统的正常使用,所以主动拉取分为两步:

(1)根据数据需求由业务系统提供外部接口,接口会限定单次获取的数据量,访问频次等。

(2)电商财务系统开发拉取服务,在数据拉取过程中要进行数据的加工处理。

主动拉取的优点:

(1)数据处理比较灵活,可以根据业务需要只获取有用的关键的数据信息。

(2)数据拉取的时间和频率可以根据配置进行调整,而且通过接口方式获取数据,不会影响正常的业务生产。

(3)拉取的数据存储后符合财务数据的准确、持久与不可变。

主动拉取的缺点:

(1)业务系统要针对财务需求开放出很多对外接口,会有一定的工作量。

(2)拉取时的数据加工处理要考虑后续扩展,防止因业务变更加大难度。

(3)对业务数据的实时变化响应慢,要确定好拉取数据的逻辑。

业务系统推送

这种方式与主动拉取相反,它是由业务系统在产生新数据或数据变化时通过调用电商财务提供的接口而完成数据同步的一种方式,此种方法对业务系统要求更高。

财务进销存系统,基础数据同步的方式

上图的推送服务实际上是指针对不同的业务活动进行响应的一系列服务,举个例子,当新建合同时,要将合同信息推送给电商财务库,当合同变更或终止时同样要将最新信息推送给电商财务库,这种情况虽然可以通过消息队列MQ来进行一些改善,但仍会增加业务系统的工作量,在系统设计上个人是不建议采取这种方案的。

业务系统推送的优点:

(1)电商财务系统只需做好数据处理,对于业务系统数据的复杂度不需要关注。

(2)可以通过消息列降低耦合,减少对业务系统的影响。

(3)财务数据可以根据需要进行固化处理。

业务系统推送的缺点:

(1)业务系统逻辑复杂,要保证数据的完整性、准确性、及时性等特点。

(2)随着业务数据变化,如果扩展性不好,维护工作量较大。

基础数据惯穿于电商财务系统各个模块,这些数据会新增、删除,在业务流转过程中也会有状态的变化和调整。在数据由前端业务系统同步到电商财务系统中,要满足财务数据的及时性、准确性、持久性和不变性。

及时、准确在数据同步前和同步后通过数据核对平台来保证,持久性和不变性可以在月结完成后通过快照的方式进行固化,具体在系统设计时需要综合考虑。

总结

本篇的三种方法很简单,但是在具体的系统实现时要考虑很多细节,尤其对于这些数据的频繁变化的场景,要牢记财务数据的几个特性:及时、准确、持久、不可变。

在数据抽取时曾使用过Spring Batch,也利用过Kafaka,也尝试过利用Kettle配置后生成Jar包调用的方式,每种技术在不同的业务场景中都适用,原则是尽可能降低系统间耦合,减少对业务系统的影响。

业界动态

企业只做内容营销,没有用

2020-9-1 8:54:50

业界动态

活动页面的价值和设计原则

2020-9-1 9:11:45

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索