现在的场景是,在创建完对象后会产生一个二进制文件,相当于有多少对象就会有多少个二进制文件,二进制文件存储在云端,前端要根据这个二进制文件来进行模型的渲染,在删除对象的时候,会把云端的二进制文件同步进行删除,同时释放用户的存储空间。
现在是如果对象比较多的情况下,比如有一千个对象,那么相当于云端存储着一千个这样的二进制文件,那么从前端向云端对象存储获取数据的话相当于需要获取一千次才能拿到完整的数据,前端同事觉得请求会特别多。
然后领导就提了个这样的需求,他希望把所有对象产生的二进制文件放在一个二进制文件中,这个情况如果不涉及到删除倒还好说,但是涉及到删除的话,应该是没有办法删除二进制文件中的一个片段吧?包括后续继续创建对象,要把这个对象产生的数据追加到这个总的二进制文件中,那么在删除某个对象的时候岂不是要是别出这个对象在这个总的二进制文件中的位置,然后重写一份总的二进制文件把除了那个要删除的对象以外的所有数据都写进来,同时每个对象还需要一些额外的属性用来标识它们在二进制文件中的位置,在产生新的文件后,还要把后续所有对象的这个属性都修改为新的位置。如果被删除的对象所处位置在总二进制文件的前面,那相当于对几乎所有对象都要进行修改。
我目前觉得这个需求有点难搞,从我的视角来看,带来的问题远比能解决的问题多得多,甚至并不能解决原有的问题,对此想请教下各位大佬,对于这种情况各位有什么看法,可以分别从前端视角和后端视角给一些看法和建议。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.