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

如何高效地冷存储大量图片?

  •  1
     
  •   naoh1000 · 2020-10-25 19:58:04 +08:00 · 9914 次点击
    这是一个创建于 1488 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们公司的 app 活跃用户大约有 800 万。最近产品经理要求做一个实名认证功能,要求上传身份证照片,审核完后基本没人看了,请问这些数据应该存数据库里还是作为文件单独存储?如果存数据库会不会导致数据库很大,大量小图片作为文件存储会不会不方便备份?虽然这不是我一个前端该管的事,但我正在打算转后端,想了解一下大佬们是怎么解决这问题的。

    75 条回复    2020-10-28 08:06:32 +08:00
    fxXkcCpEveryday
        1
    fxXkcCpEveryday  
       2020-10-25 19:59:15 +08:00 via iPhone
    使用對象存儲
    opengps
        2
    opengps  
       2020-10-25 20:05:19 +08:00 via Android
    对象存储有冷存储的方案,比实时读写要便宜,每次取用得先解冻
    tanghongkai
        3
    tanghongkai  
       2020-10-25 20:05:59 +08:00   ❤️ 36
    身份证照片为啥要存,实名完等着卖黑产吗?
    opengps
        4
    opengps  
       2020-10-25 20:10:19 +08:00 via Android   ❤️ 2
    @tanghongkai 任何一家服务商都会存的,不然出问题连线索都提供不了,冷存储是比较安全的做法,不像某些站点的做法(可遍历爬取)
    wangyzj
        5
    wangyzj  
       2020-10-25 20:50:16 +08:00   ❤️ 4
    实名认证用专门的服务商不就行了,不用上传身份证
    wunonglin
        6
    wunonglin  
       2020-10-25 20:55:55 +08:00
    oss 归档储存
    qwerthhusn
        7
    qwerthhusn  
       2020-10-25 20:56:42 +08:00
    存到 OBS,建议单独建一个 Bucket,然后这个 Bucket 严格控制读写权限
    JensenQian
        8
    JensenQian  
       2020-10-25 21:12:11 +08:00   ❤️ 1
    实名认证要不直接走支付宝的,我只是提供一个建议 https://opendocs.alipay.com/mini/introduce/alipay-verfify
    Mitt
        9
    Mitt  
       2020-10-25 21:28:37 +08:00   ❤️ 2
    通常就是接入云服务商的存储系统,比如对象存储,自建的话就是单独的一套存储系统比如 TFS 、GFS (当然只是举个例子,实际还是要各方面考量),至于备份等等这些事情其实就属于运维管辖了,也都是有冷热备份方案的,然后合理性上的话,实名认证功能是不会自己做的,人工审核成本大,还要考虑伪造身份证等因素,所以最好的方法就是接入第三方认证机构,比如支付宝、微信或者其他支持活体认证的第三方,有个好处就是有他们的实名技术背书,即便要求调档也只需要提供该用户的真实姓名、身份证号就足够了,如果企业自己运作实名审核的话就要考虑万一出现安全事故,大量身份证照片泄露的后果是非常严重的(当然这就不是一个开发的考虑范畴了)。
    ericbize
        10
    ericbize  
       2020-10-25 21:30:31 +08:00 via iPhone
    云的 oss, 冷数据不贵
    swulling
        11
    swulling  
       2020-10-25 21:31:34 +08:00 via iPhone   ❤️ 1
    @opengps 保留身份证号和姓名就已经足够了,保存身份证图片有什么意义?

    实名的意义不就是出事了把身份证号给 jc 么
    Jerami
        12
    Jerami  
       2020-10-25 21:39:17 +08:00 via Android   ❤️ 11
    好小子实名认证说干就干,我都以为是连到公安局的网络最验证,自己没有资格审核用户的数据,没想到居然如此随便!
    loliordie
        13
    loliordie  
       2020-10-25 21:45:40 +08:00 via Android
    没人吐槽 800 万用户就算全部上传也就 8 个 T 的数据么 这个数据量实在没啥好说的 选个便宜的存储丢着就行了
    loliordie
        14
    loliordie  
       2020-10-25 21:47:00 +08:00 via Android   ❤️ 3
    @Mitt 同意 如果在国外擅自保存用户证件信息怕是不知道死字怎么写
    threeEggs123
        15
    threeEggs123  
       2020-10-25 22:17:31 +08:00 via Android
    aws s3 glacier 完美解决
    nooper
        16
    nooper  
       2020-10-25 22:42:42 +08:00   ❤️ 5
    这种数据泄露,或者被交易,你们是哪家公司?我对避免用你们的 app
    ruri
        17
    ruri  
       2020-10-25 22:50:45 +08:00 via Android   ❤️ 1
    活跃 800w ?想知道是哪个公司,我避个雷?
    wccc
        18
    wccc  
       2020-10-25 23:09:11 +08:00 via iPhone
    离职后给个提示
    omL72EEc
        19
    omL72EEc  
       2020-10-25 23:15:53 +08:00
    可以随便存的么?也太恐怖了,怪不得搞身份这么便宜
    lpts007
        20
    lpts007  
       2020-10-25 23:16:36 +08:00 via Android   ❤️ 5
    https://www.v2ex.com/t/712465

    用户也是倒了血霉了。
    lpts007
        21
    lpts007  
       2020-10-25 23:17:51 +08:00 via Android
    不过也理解,都是打工人。
    OldActorsSmile
        22
    OldActorsSmile  
       2020-10-25 23:25:00 +08:00
    调用百度网盘 api,存储到百度网盘,免费。我的图床( https://imgbed.cn )连续 1 年没人访问的也会冷存储
    naoh1000
        23
    naoh1000  
    OP
       2020-10-26 01:01:15 +08:00
    @tanghongkai
    @wangyzj
    @nooper
    @ruri 我工作过的几家还算大的公司都是随便存的...


    @lpts007 麻烦读一下题目,这块不归我管,只是想让大家分享一下好的方法。
    yrj
        24
    yrj  
       2020-10-26 03:55:39 +08:00 via iPad
    人家 800 万活跃用户,各位大佬就不要推荐网盘之类的奇淫技巧了,直接 oss 归档存储,记得加密。
    laike9m
        25
    laike9m  
       2020-10-26 05:00:00 +08:00 via Android   ❤️ 17
    所以说尽可能避免国产 app,这话绝对不错
    Perry
        26
    Perry  
       2020-10-26 05:02:24 +08:00 via iPhone   ❤️ 3
    做这种东西在国外可以被告到破产
    raaaaaar
        27
    raaaaaar  
       2020-10-26 07:12:58 +08:00 via Android
    活跃用户好像要去重来着,一个产品这么多用户吗?
    yqm1024
        28
    yqm1024  
       2020-10-26 07:22:30 +08:00
    实名吗?文件存储有点那个了吧
    kimi0
        29
    kimi0  
       2020-10-26 07:32:11 +08:00 via iPhone
    如上所说,这种东西根本就不该存。
    delectate
        30
    delectate  
       2020-10-26 08:04:39 +08:00   ❤️ 2
    都是打工人,何必为难楼主?骂也要骂这个奇葩的时代。

    阿里云 oss 或者腾讯云的低频数据存储就行了。
    huihuilang
        31
    huihuilang  
       2020-10-26 08:19:36 +08:00 via Android
    哪个公司的?这种存身份证的辣鸡公司准备举报一波
    katana97
        32
    katana97  
       2020-10-26 08:22:01 +08:00
    酷安也是这样,开发者手持身份证的图片认证完了不删也就算了,还直接在开发者后台里展示出来,前几天偶然看到吓的我把开发者认证都取消了
    YLGG
        33
    YLGG  
       2020-10-26 08:23:58 +08:00
    为何这种收集用户隐私的行为在我天朝这么肆无忌惮呢?
    Jerami
        34
    Jerami  
       2020-10-26 08:57:33 +08:00 via Android
    @YLGG 因为我们的法律落后于当前科技,更何况中国文化自古以来人与人之间距离不是特别明显,也不特别看重隐私,所以推广实名制人脸识别几乎没有遭到反对,相反,你要是重视还会被说中国哪有什么隐私,什么身正不怕影子斜你有问题?甚至被扣上崇洋媚外的帽子。
    fengchang
        35
    fengchang  
       2020-10-26 09:01:00 +08:00
    为什么提供线索要身份证照片,因为警察拿身份证号查不到?
    sunmoon1983
        36
    sunmoon1983  
       2020-10-26 09:14:21 +08:00
    @OldActorsSmile 百度网盘有 api 吗?
    linvaux
        37
    linvaux  
       2020-10-26 09:27:27 +08:00 via iPhone
    麻烦说一下是哪个 app,我好避雷🌚,存身份证照片,怕是别有用心
    polymerdg
        39
    polymerdg  
       2020-10-26 10:19:05 +08:00
    实名认证不是 连 API 验证吗 为啥还好保留 身份证
    黑产?
    sogwsc
        40
    sogwsc  
       2020-10-26 10:34:16 +08:00
    @Jerami 不重视隐私 却重视实名 现在是个平台都要绑手机+实名认证 真是奇葩
    qinyusen
        41
    qinyusen  
       2020-10-26 10:39:33 +08:00
    序列化之后对象存储, 有点儿像标注数据的原始数据或者是脏数据,随便儿用个 HDFS,然后进行块备份就好。
    因为搬运和存储是整块数据,copy 起来速度快, 然后直接切片存到冷备份对应机架,然后对应机架只能特定 IP 和端口访问,冷备份就是 copy 完,拔硬盘就完了,当做热备份也行,做好数仓和后端的割裂就行了,我一般做法很土,就是对后端只有写接口,没有读和删改接口。改请人工到另一个内网位置提交修改就好,然后人工审核后 prove 进去(大规模的,就直接敲黑板找老板说行为非法)。
    然后如果需要查询,就直接再后一级做一次脱敏, 身份证后 x 位直接抹掉(简单的 opencv+打码),头像打码, 地址打码,打码程度视脱敏规模。
    Kagari
        42
    Kagari  
       2020-10-26 10:39:52 +08:00 via Android
    你们真就相信其他 app 没有存?
    Jerami
        43
    Jerami  
       2020-10-26 10:45:23 +08:00 via Android
    @sogwsc 因为不重视隐私所以实名制才能快速推广,没有收到民众抵制(况且也不敢抵制,毕竟都清楚根本目的是什么)
    efaun
        44
    efaun  
       2020-10-26 10:45:58 +08:00
    @sogwsc #40 老大哥很注重你的“隐私”的,所以才会实名
    huayumo
        45
    huayumo  
       2020-10-26 10:46:15 +08:00
    现在都是走支付宝的实名接口,
    EZG997
        46
    EZG997  
       2020-10-26 10:53:32 +08:00   ❤️ 1
    就目前国内互联网行业的状况,实名制不知道到底方便了谁,隐私就是这么泄露的。
    Stain5
        47
    Stain5  
       2020-10-26 10:57:57 +08:00
    直接打印出来好像很可行
    800w 条信息 一张纸打印 20 条 每分钟打印 200 张
    大约 30 个小时就完工了

    安全性 
    可靠性 
    wangyzj
        48
    wangyzj  
       2020-10-26 11:05:08 +08:00
    @naoh1000 #23 一定要存的话就是 oss 这类的对象存储就可以了,本地就是用 ceph 或者 hdfs 之类的把
    eason1874
        49
    eason1874  
       2020-10-26 11:06:40 +08:00   ❤️ 1
    先建议产品经理别存储。

    如果存储,不用问都知道有一些不可告人的目的。那就要为自己负责,现在有法律法规对个人信息的存储进行规定,也推出了一些标准,建议去了解,免得将来出事了自己也被连累。

    从技术操作上说,比较简单粗暴的办法是:每个文件内容都用随机密钥加密存到一个文件名为编号的文本文件,归档存储,然后把编号、原文件属性信息、随机密钥和用户 ID 通过非对称公钥加密,存到数据库。

    这样只要执行过程不泄露,就算代码、公钥、数据库字段和文件都泄露了,也解密不了内容,保护好私钥安全就行。
    futandrew
        50
    futandrew  
       2020-10-26 11:13:26 +08:00 via iPhone
    @Perry emmm 寻思着国外个人信息不是基本全公开吗?网上类似功能一找一堆,充钱即可解锁基本所有信息
    PhpBestRubbish
        51
    PhpBestRubbish  
       2020-10-26 11:17:35 +08:00   ❤️ 1
    实名认证不是用第三方 API 吗?为啥你们要存身份证照片?
    PhpBestRubbish
        52
    PhpBestRubbish  
       2020-10-26 11:18:46 +08:00
    @Kagari 我们的 App 就没有存身份证照片
    weizhen199
        53
    weizhen199  
       2020-10-26 11:25:13 +08:00
    @futandrew 我咋记得只有前科犯会被公开
    mjjfl
        54
    mjjfl  
       2020-10-26 11:27:05 +08:00
    @naoh1000 腾讯云对象存储有归档存储。归档存储提供了最低的存储单价,但读取数据的时候需要较长的解冻时间,因而适合需要长期保存数据的业务场景。可联系我打折,V:am9veXVuY29t
    kaopuyunluzh
        55
    kaopuyunluzh  
       2020-10-26 11:30:43 +08:00
    腾讯云新政策 @
    1 、累计预付费订单金额大于等于 6600 元且月均预付费订单分摊金额累计大于等于 550 元,可赠送元 5000 代金券
    2 、累计预付费订单金额大于等于 38800 元且月均预付费订单分摊金额累计大于等于 3300 元,可赠送 2 万元代金券
    futandrew
        56
    futandrew  
       2020-10-26 11:35:12 +08:00 via iPhone
    @weizhen199 国内是这样的,还有失信人员。国外人基本全透明。包括名字,亲属关系,手机号,家庭住址等常见的隐私信息。常见的有 anywho, 411 等。
    我记得还有那种直接定位的,就是你输入名字然后直接展示距离你比如 300 公里里面的所有叫这个名字的位置。
    简单点的可看影视作品《网络迷踪》了解更多(
    shifttacn
        57
    shifttacn  
       2020-10-26 11:53:26 +08:00
    有资质么,就要求实名认证
    IDAEngine
        58
    IDAEngine  
       2020-10-26 13:10:08 +08:00 via iPhone
    用磁带存了,几百年都在
    idblife
        59
    idblife  
       2020-10-26 13:14:12 +08:00
    s3
    imherer
        60
    imherer  
       2020-10-26 14:00:45 +08:00
    s3 +1
    easymbol
        61
    easymbol  
       2020-10-26 14:37:12 +08:00
    直接使用第三方的支付认证接口,自己存储风险太高
    channg
        62
    channg  
       2020-10-26 16:08:51 +08:00
    @linvaux #37 先说你上传身份中到过哪
    isnullstring
        63
    isnullstring  
       2020-10-26 18:00:32 +08:00
    800w 用户 ,就算最终只有 10W 人上传身份证,转手卖出去,也不少钱喔
    DoctorCat
        64
    DoctorCat  
       2020-10-26 18:09:12 +08:00
    哎,说个题外话,这种非 PCI-DSS 认证过的服务真的是不敢用了。
    正题:国际案例来看亚马逊 AWS S3 是可以的。你们存储要考虑使用符合安全等级的产品和服务商!!! 不然泄漏或者被查技术负责人要抓去爆菊的。
    code2019
        65
    code2019  
       2020-10-26 19:15:12 +08:00
    华为云 OBS 对象存储
    alect
        66
    alect  
       2020-10-26 20:15:13 +08:00
    请告诉我到底是哪个 APP,我要避免入坑。
    reus
        67
    reus  
       2020-10-26 21:00:45 +08:00 via Android
    泄露了要坐牢的!找第三方,别作死
    reus
        68
    reus  
       2020-10-26 21:04:16 +08:00 via Android
    https://www.secrss.com/articles/26427 个人信息保护法在起草,估计施行不远。现在不早做准备?
    yolee599
        69
    yolee599  
       2020-10-27 08:58:06 +08:00 via Android
    想不到这种敏感信息处理这么随便
    madpecker009
        70
    madpecker009  
       2020-10-27 14:38:59 +08:00
    @tanghongkai 来自灵魂的拷问
    ryanlid
        71
    ryanlid  
       2020-10-27 14:49:46 +08:00
    我敢打堵一块钱,绝大部分要求上传身份证、手持身份证的网站、APP,证件都没有删除

    支付宝、微信...的各种申请也没有
    anyforever
        72
    anyforever  
       2020-10-27 15:30:09 +08:00
    要求手机号的就忍了,要求实名认证的,还是不用为好
    myqoo
        73
    myqoo  
       2020-10-27 15:31:41 +08:00
    加密后存储到免费空间上 - -
    Oysmart
        74
    Oysmart  
       2020-10-27 22:03:35 +08:00
    法律多熟读,能使用第三方就使用第三方吧,这叫转移风险,如果出现安全问题,老板估计就得进去喝茶了。
    steptodream
        75
    steptodream  
       2020-10-28 08:06:32 +08:00
    所以说一般的 APP 除非不是 100%必须 真的是不要上传证件 所有人和公司都一样 第一原则都是方便自己
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3310 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 04:50 · PVG 12:50 · LAX 20:50 · JFK 23:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.