V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
dandankele
V2EX  ›  云计算

多租户模式的 Saas 平台中,如何更好的将外部系统数据导入进来

  •  
  •   dandankele · 2019-12-04 16:43:10 +08:00 · 4297 次点击
    这是一个创建于 1816 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们目前做的是多租户模式的 Saas 平台

    应用代码共享,数据库独享。

    很多时候,我们客户需要将他们使用的旧平台(该平台可以是客户自己研发的、也可以使使用的第三方的)中数据迁移到我们 saas 平台中来。 面对客户的各种各样的旧平台中的数据结构,目前我们的做法是,为客户旧平台定义一个规范出口,即客户的旧平台中按我们的规范提供约定格式的数据接口,由我们 saas 平台来进行拉取。但往往旧平台中要提供数据接口,那就必定需要了解旧平台数据结构的人,基本都是客户自己去开发这套接口,但往往这接口又经常会没按规范以及其他问题出现,我们只好一遍又一遍的为其导入,若接口数据出错,我们是直接将对应的 table 进行 truncate,然后等待客户对接口进行修改,然后再进行导入。这个过程非常繁琐。

    所以想知道有没有更好的办法,我感觉难点在于存在我们允许客户的自研平台来导入,如果是非自研平台,使用的是同类开源竞品平台的话,那直接由我们自己去研究竞品数据结构来写接口了是吧。

    2 条回复    2022-09-15 15:37:17 +08:00
    guyskk0x0
        1
    guyskk0x0  
       2022-09-14 10:16:17 +08:00
    平台提供数据导入的接口,让客户调用,这样集成会更简单。

    我也遇到相似的问题,楼主怎么解决的?
    dandankele
        2
    dandankele  
    OP
       2022-09-15 15:37:17 +08:00
    @guyskk0x0 没啥好办法啊。。还是如我问题中所述,分两种情况

    一种就是要导入的数据是个开源的项目或产品或者具有公开接口的平台,这种情况下由我们自己研究对方平台数据结构后编写一些导入的流程和脚本,这样导入过程中的问题由我们自己掌控,更方便处理和优化。典型的例子如七牛支持阿里云 OSS 用户迁移数据过来、阿里云 OSS 也支持七牛用户迁移过去,因为双方都开放了一些数据获取的方式。

    另一种要导入的数据是对方的私有平台、自研的平台等,这种情况下对方的数据结构、获取方式等只有对方知道,那没办法,我们只好提供给对方一个公开方式或者公开的约定,由对方按照约定开发一些东西。我们的做法是让对方按照我们的一个文档上的约定编写接口,然后从对方接口拉取过来。

    在数据导入过程中,还有个问题就是数据的转换,因为对方平台与我们自己的平台中,虽然数据大致意义相近,但细节上和数据关联上都存在不同。举个例子,我们平台中地区分类只支持二级,而对方平台中支持三级,很多数据都关联着地区,那么为了解决这问题,就得要从运营角度来考虑,征求对方意见,如何重新将地区分类下的数据重新归类等。或者还有一个数据拆成多个,多个数据合并成一个等等。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   914 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:44 · PVG 05:44 · LAX 13:44 · JFK 16:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.