码迷,mamicode.com
首页 > Web开发 > 详细

上传文件流程对接

时间:2020-02-26 20:35:51      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:接口   mob   add   项目   span   adl   reac   pre   需要   

  前几天对接的同事因为没有时间,所以整个上传文件的流程除了对接接口这块,其它的我先开发完成了。今天对接接口,同事说使用接口传输,数据处理时间大约需要7、8s,接口回应时间太长了。然后我提出了异步对接的思路:使用kafka进行传输。

  方案1为之前接口传输的方案,方案2为新的异步传输的模式。

方案1:接口对接

文件格式

  1. 上传格式:gz(csv文件进行gz压缩)
  2. 解压后的csv编码:UTF-8(因为上传的原文件是utf-8)
  3. 解压后的csv格式进行校验:第二列为Mobile,第三列Province,第四列City,第六列为AreaCode
(需要用gzdecode进行解压文件获取数据)

传参

  1. filename :上传到fastdfs的文件名
  2. handle:1为处理文件,0为检验文件
  3. encoding: UTF-8

回参

  1. 格式:json数组格式
  2. 第一维键名分别为:handle(检验还是处理,检验是0,处理是1), add(新增),diff(不一致),del(需要删除,但未删除)
  3. 不一致的,对应顺序:旧数据=>新数据,如浙江变成上海,则浙江=>上海
  4. 举例:
array(
   ‘handle‘=>1,
   ‘add‘=>array(
                  0=>array(
                             ‘code‘=>1807273,
                             ‘province‘=>‘浙江‘,
                             ‘area‘=>‘杭州‘,
                             ‘at_id‘=>‘123‘,
                 ),
                 1=>array(
                             ‘code‘=>1521465,
                             ‘province‘=>安徽,
                             ‘area‘=>‘安庆‘,
                             ‘at_id‘=>‘878‘,
                 ),
     ),
   ‘diff‘=>array(
                  0=>array(
                             ‘code‘=>132456,
                             ‘province‘=>‘浙江=>河南‘,
                             ‘area‘=>‘杭州=>信阳‘,
                             ‘at_id‘=>‘878=>598‘,
                 ),
     ),
  ‘del‘=>array(
                  0=>array(
                             ‘code‘=>132456,
                             ‘province‘=>‘浙江‘,
                             ‘area‘=>‘杭州‘,
                             ‘at_id‘=>‘587‘,
                 ),
     ),
)

方案2:kafka队列传输

1、catmanager上传文件成功后,将fastdfs的文件地址通过kafka队列传输给接口中心,接口中心通过常驻脚本消费kafka进行数据获取和处理
2、然后接口中心处理完成后,将处理结果上传到fastdfs,再将文件地址通过fastdfs传输给项目后台,后台也是用常驻脚本消费
3、传输格式:和方案1相同,每个参数用json数组传输

上传文件流程对接

标签:接口   mob   add   项目   span   adl   reac   pre   需要   

原文地址:https://www.cnblogs.com/xingyuecanxue/p/12368765.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!