首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

QQ 相册后台存储架构重构与跨 IDC 容灾实践

重构进行了大规模的存储搬迁、功能模块合并,抽象了图片上传“两阶段”,并在此之上设计了轻量级的容灾方案。...,但是由于容灾场景有限,相册体量庞大,存储和索引分布在很多机房,稍有网络波动,业务仍然有较高的感知度。...对于相册平台来说,主要有以下几个目标: 模块合并 简化架构 优化上传流程 优化容灾逻辑 解决方案 整体架构调整  一、原相册架构 QQ 相册对外提供了丰富的接口,目前存储量超过 300PB,用户索引存储按归属地分布...synsrv 视角 收到备份请求,直接回复成功,并且写备份索引; 收到容灾请求,先写备份索引,再存储容灾索引,并标记 bitmap,所有都成功才返回成功; 定期检测是否有容灾索引,有的话,同步回索引点...架构设计中的“分分合合”,是一门学问,相册把数据和索引分开存储,索引又分为主索引和次要索引,轻重分离,提高了存储效率;新架构抽象了上传流程,把数据落地和索引落进行逻辑分离和模块分离,更易于理解和容错设计

4.8K40
您找到你想要的搜索结果了吗?
是的
没有找到

时光相册

12 6,176 views A+ 所属分类:评测 第一次使用时光相册,其实是在小米应用商店推荐的时候发现的。因为我看到了"时光",所以对这个APP特别感兴趣,于是就下载了。...在那时,有许多网盘可以充当相册软件,但是我也没有选择他们,回头想想,我的选择还是对的。 时光相册不仅仅局限于本地的相册,它还可以把我们的相册同步至云端,还可以添加相册。...一般来说,时光会自动给我们建立几个相册。 ? ? 不仅不仅如此,时光相册还可以,自动为我们生成滤镜。这就是当时被朋友圈刷屏的同款滤镜,怎么样,反正我感觉挺不错。...还有音乐相册以及照片电影的功能,我想这俩功能我还不用再介绍了吧。 其实还有一个共享群,因为博主没有需要共享的,我就没弄了。...时光相册目前是正在成长的软件,我们要多给时间让其成长,我觉得未来时光相册会做的越来越好。

2.3K30

相册功能的实现

首先分析数据库表: 相册数据库整体只有一张表,主键为相册id,相册内的图片是由url,uid,status组成的json字符串数组共同存在一条相册的一个字段中,所以得出结论新建相册的操作是insert...一条数据库字段,而添加删除相册内的图片则是对该字段的json数组进行修改,因此就是对这条相册数据库的update操作。...前端方面的思路:因为分为相册列表和相册详情,所以需要两个页面才方便展示不同的操作,直接复制个album界面,通过修改按钮和表格显示体现出列表与详情的区别。...相册列表界面显示所有相册,然后点击查看相册,带上相册id跳转至相册详情页面,在相册详情页面通过截取方式获取id后再发送请求获取相册详情,再将imageItems中图片读取展示出来。...id=${window.location.href.split("id=")[1]}`) 相册列表 相册详情 后端service层:利用现成的Service接口中简单的增删查改进行组合,主要在controller

1K20

android 拍照,图库,相册,上传

//注意:这里有个问题,在有些机型当中(如SamsungI939、note2等)遇见了当拍照并存储之后,intent当中得到的data为空: /**  * data = null 的情况主要是由于拍照的时候横屏了...openPhotosBrowser(activity, requestCode) && openPhotosFinally());     }       /**      * PopupMenu打开本地相册...            return true;         }           return false;     }       /**      * 打开其他的一文件浏览器,如果没有本地相册的话...{             return true;         }         return false;     }       /**      * 这个是找不到相关的图片浏览器,或者相册...     */     private boolean openPhotosFinally() {         Toast.makeText(mContext, "您的系统没有文件浏览器或则相册支持

1.4K20
领券