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

332 天前
 AboPlus

场景:用户提交任务,后端调用算法求解器进行任务计算(两大类型的任务),然后求解过程中会陆续产生大量的结果数据,以 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 文件中难以处理数据

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

766 次点击
所在节点    程序员
4 条回复
mynameisSimple
331 天前
这个头像好眼熟,大佬是不是在北京的 zy ?
AboPlus
327 天前
@mynameisSimple zy 是人名吗,是的话就不是啦
mynameisSimple
324 天前
@AboPlus 是公司名 hhh
dode
226 天前
nginx 可以给文件进行 gz 压缩吗,压缩比多少

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1004137

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX