webCAD需要将数据存储在云端,并且本地需要要备份的数据以便快速的检索到数据. 目前暂时需要存储的数据: 1.纹理(纹理的本质是<图片>) 每个用户都可以保存他自己的纹理,用户可以上传新的纹理,我打算将图片存入公共的池中,并且使用md5防止文件重复. 需要注意的是,如果用户删除了自身的图片,那么如果该图片没有人在使用,那么应该尝试将其删除.(与云盘工作原理类似.) 每个用户自身保存的纹理只包含 纹理信息和纹理的文件哈希,如果需要,可以从服务器上检索出图片 用户可以存入自己的纹理列表,以供各个图纸导入. 这里假设文件的校验码为`FileMd5` Texture: ``` { fileMd5:"xxxxxxxx" ....//其他数据 } ``` 2.材质. 由于最大的数据(图片二进制)已经在纹理中被处理,所有材质列表并不需要保存优化. 材质同纹理一样,用户可以存入自己的材质列表,以供各个图纸导入. 3.外部二进制模型(FBX 等) 同网盘工作模式,使用md5检测碰撞,防止文件重复. 每个图纸文件中,并不会真实的存入fbx的模型信息,而是存入文件校验码,如果需要时,从服务器读取. 4.模版数据 模版数据可以认为是一段数据.可以是json序列化的格式. 数据类型可变,参数个数可变. 5.图纸数据 同模版数据 6.文件备份. 用户在使用应用时,程序会自动尝试备份图纸,并且如有网络资源可以上传到服务器. 7.配置信息. 用户设置的应用配置也应该上传到服务器,保持同步更新.