V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AboPlus
V2EX  ›  程序员

请教下各位佬一个关于文件类型及处理流程方面的问题

  •  
  •   AboPlus · 325 天前 · 760 次点击
    这是一个创建于 325 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景:用户提交任务,后端调用算法求解器进行任务计算(两大类型的任务),然后求解过程中会陆续产生大量的结果数据,以 bin 文件及 json 文件的形式写在了本地,然后我会把 bin 文件以及 json 文件上传到云端存储桶中,然后把 json 文件的路径记到数据库中,我使用的是腾讯云的 COS 存储桶。

    这两大类任务类型其流程分别是:

    第一种:

    1. 会写出大量的 bin 文件和 json 文件,json 文件是对 bin 文件内容的一种解释
    2. 前端使用时,同时发请求获取 bin 文件和 json 文件,根据 json 文件解析 bin 文件然后进行模型渲染

    第二种:

    1. 会写出一个 bin 文件和很多 json 文件,数据以追加的形式追加到 bin 文件中,json 文件是对 bin 文件的一种解释说明
    2. 前端使用时,先获取 json 地址,然后通过 http range 去从一个 bin 文件中获取不同的数据片段

    最近开始使用 http2 ,之前一直使用的 http1.1 发现情况 1 并发受阻非常慢,使用 http2 就解决了队头阻塞的问题,然后就发现换 http2 之后的瓶颈是带宽,就考虑提高带宽利用率,说白了就是 bin 文件能否继续优化,有什么其他的文件能够替换 bin 文件,让文件大小更小,这样传输就会更快

    最近几天在调研 parquet ,结果发现好像无法得知我想要的数据在 parquet 文件中的位置,这样就无法在云端直接通过 range 获取数据片段

    所以想请教下各位佬,有没有什么合适的文件格式满足下面几条条件:

    1.比 bin 文件更小(即拥有更好的压缩效果)

    2.能够直接从云端 cos 中获取数据片断

    3.适合频繁的数据追加操作

    4.高效的数据读取

    PS:类型一的任务不把所有文件写进一个 bin 文件中也是因为该类型会有频繁的增删改操作,在一个 bin 文件中难以处理数据

    这是我想到的方案,或者各位大佬有没有其他更好的方案提供,谢谢各位佬的观看!

    4 条回复    2024-04-12 15:01:24 +08:00
    mynameisSimple
        1
    mynameisSimple  
       324 天前
    这个头像好眼熟,大佬是不是在北京的 zy ?
    AboPlus
        2
    AboPlus  
    OP
       320 天前
    @mynameisSimple zy 是人名吗,是的话就不是啦
    mynameisSimple
        3
    mynameisSimple  
       317 天前
    @AboPlus 是公司名 hhh
    dode
        4
    dode  
       219 天前
    nginx 可以给文件进行 gz 压缩吗,压缩比多少
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2728 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:38 · PVG 19:38 · LAX 03:38 · JFK 06:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.