多租户模式的 Saas 平台中,如何更好的将外部系统数据导入进来 - V2EX
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 4759 次点击
    这是一个创建于 2188 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们目前做的是多租户模式的 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     Solana     2277 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 15:47 PVG 23:47 LAX 07:47 JFK 10:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86