前言

最近经常需要跟第三方平台打交道,需要跟他们交换数据。

我今天总结了5种工作中常用的技术方案,可以把第三方平台的数据同步到我们的数据库中,希望对你会有所帮助。

1.excel文件

有时候我们需要从第三方平台同步的数据,不太敏感,比如:分类数据。

在他们的网站首页或者商品页面,所有人可以看到分类。

这类数据第三方平台可以直接同步文件导出我们,比如:excel文件或者txt文件。

这种方式我们可以快速将数据导入我们的数据库表,一个sql命令就能搞定。

如果导入的excel数据有些业务逻辑,我们可以通过api接口实现。

这类api接口不对外暴露访问路径,只能在应用服务器上用curl命令调用localhost的接口。

当然如果业务逻辑比较复杂,或者excel的数据比较多,api接口没法同步返回导入接口,否则可能会出现接口超时问题。

这时可以同步api接口触发导入功能,然后另外开启一个线程,异步导入数据。

或者说这种情况,我们直接在job中导入数据。不过如果在job中导入数据,需要将excel文件提前上传到oss服务器上。有个参数可以设置导入的文件url,然后job读取该url的数据,进行数据导入操作。

无论是开启异步线程,还是使用job异步导入excel的数据,最后最好能将导入结果返回给用户。

如何返回呢?

我们可以在excel文件中增加一列:结果,如果哪一行数据导入的时候出现异常,则将异常原因写入结果列。

然后最关键的一步是excel导入程序执行完之后,无论成功,还是失败,我们都需要将结果excel上传到oss上,然后返回给用户。

如果只是开发人员看,可以直接将结果excel上传到oss后的url,在日志文件中打印出来即可。

当然如果你是通过同步的api接口导入excel文件,并且该excel的数据不多,也可以直接在该接口返回结果excel文件。

需要注意的是该方案,只适合同步历史数据,或者某一段时间的数据。不适合同步增量的数据,该方案不太智能,需要人为参入excel的导出和导入。

2.openapi接口

很多第三方平台为了数据安全方面的考虑,或者为了做到一劳永逸,更愿意提供openapi接口。

以后无论什么接入方,都可以直接通过openapi接口获取想要的数据。

为了防止接口的数据被其他人盗窃或者数据被篡改,openapi接口通常要增加签名,或者对数据进行加密。

该方案可能目前获取第三方平台数据,使用最多的技术方案了。

用该方案接入方可以获取第三方平台的历史数据和增量数据。

但也带来了一些问题,比如:对接第三方平台openapi接口有一定的开发成本,并且如果第三方接口逻辑调整了,没有通知调用方,数据可能会出现问题。

同时openapi接口通常走的http请求,需要通过网络,可能会存在网络超时,或者偶尔出现接口不可用的情况。

该方案增加了系统的复杂度,需要在系统中增加失败重试机制,做幂等性设计。

3.SDK

有些大厂,为了调用者接入方便,直接提供了SDK给调用者直接调用。

在SDK中封装了获取数据的细节,比如:调用什么接口,签名算法是什么,或者包含失败重试机制等等。

我们的代码中只需要调用SDK中的某些方法,就能获取到我们想要的数据,就像调用本地方法一样,非常简单。

不过需要配置该SDK的服务url、账号和密码等信息。

每个SDK接入者,都需要申请自己独有的账号和密码。

4.sftp

如果你跟银行对接过,会发现他们对有些敏感的数据,比如:还款记录等数据的获取方式是有一定要求的。

处于安全性考虑,他们不希望将核心数据通过openapi接口直接暴露到公网。

他们更愿意使用还有sftp。

银行那边有sftp写文件的账号权限,你们系统有该sftp读文件的账号权限。

该sftp在运维层面做了限制,只能通过双方的内网服务器才能访问。

可以用txt文件,也可以用别的。

当然该txt文件的数据格式,有一定的要求,并非直接将数据写入txt即可。

比如:前4位代表占位符,中间8位代表数据类型,后面12位代表具体数据等。

相当于双方规定了数据的写入和读取规则(协议)。

即使sftp上的文件被泄露了,其他人拿到txt文件,如果不知道规则,也没法直接获取到有用的信息。

5.直接写数据库

前段时间跟有个网价平台的数据交互方案,非常有意思,跟大家分享一下。

我们这边提供了一台服务器,那台服务器上有一个数据库。

网价平台提供了一个应用程序,将他们的数据,写入该数据库中。

至于该应用程序是如何获取到数据的,这一点我们不用关注,他们能保证写入我们想要的数据。(我猜测是通过api接口获取的,但是加密通信算法,没有对外暴露)

我们在部署该应用程序时,需要配置数据库连接、账号和密码等信息,数据库的相关信息只有我们才知道。

通过这种方案也能实现数据的同步。

第三方平台出了应用程序,该程序主要将数据写入到数据库。

我们出了服务器和数据库。

通过他们的程序将数据写入该数据库之后,在我们的系统中连接该数据库,就能直接获取相关数据了。

最后修改:2026 年 06 月 05 日
如果觉得我的文章对你有用,请随意赞赏