百度手机助手存储资源优化实践

发表于 2年以前  | 总阅读数:425 次

导读:本文主要总结一下笔者之前做的关于业务存储资源优化的整个过程,正所谓前事不忘,后事之师,希望以文中的例子为引,能够总结出一些如何避免坑以及如何填坑的方法论。

全文19135字,预计阅读时间26分钟

一、业务介绍

为了更好的理解下面介绍的点,先对业务的一些概念进行简单介绍。- 「百度手机助手」:百度手机助手是在Android系统上的手机应用分发平台,管理开发者上传的Android应用,经过转存等处理后将应用分发到C端。

  • 「增量更新(省流量更新)」:如上面的业务框图所示,开发者将应用传到开发者平台(app.baidu.com), 为了保障下载的稳定性以及速度,助手会将开发者的应用会转存到百度内部的存储服务上,叫做BOS(Baidu Object Storage)。为了节约用户下载的流量,助手启动了增量更新的能力。增量更新是指新版相对旧版生成差异包(下文叫patch包),在更新软件时,将旧版本的包与差异包合并成为最新版本的过程。相对全量更新更省流量,降低了用户更新软件的流量成本。

二、为什么优化

在优化的时间点,整个助手的存储占用已经达到了几P的量,每年的预算费用近千万。从业务上进行数据分析,通过分析对应业务场景的mysql库,库中会记录对应应用的大小。分析后的大致数据如下:

这里面会发现应用patch包的占用非常大,同时发现存储总量-已知存储后,仍有P级别的存储是未知的。这里应用patch包的存储占用是否符合预期需要看一下。所以,为什么优化就有了几个合理的理由:

  1. 高预算消耗
  2. 寻找存储去哪了的执著
  3. 把无用数据清理掉的强迫症

下面就展开整个清理的过程。

三、分析

优化的第一步就是分析要怎么优化,把闲置的存储找出来,然后优化它。用普通话来说就是猜。此处的闲置,可以定义为消耗的存储带来的价值不符合预期。存储的价值是什么?分几部分来说。

  • 「应用存储」 统一转存到百度,首先安全,如果使用第三方的服务,存在被偷梁换柱的风险;其次稳定,可以自己对存储以及下载进行优化;最后可以基于内部存储做一下定制化的能力,比如动态追加数据等。应用存储在百度的价值无可替代,简单来说是钱花得值。
  • 「应用patch包」 对这部分的价值定义,在用户节省下载流量的场景下有价值,否则没有价值。即如果我们生成了patch包,占用了存储,但用户却没有升级该版本,那么就是没有价值。
  • 「不知道去哪了的存储」 当然要挖出来,看看是哪家妖怪。

有了初步的方向后,要进行更准确的确认,判断收益空间。从下面两个角度进行验证。

  • 「存储占比」 整个存储的object在优化之前差不多亿+条,没有短时间内快速获取全部object的方式,采用了抽样的方法,拉取了线上30W条数据进行初步分析,下面是存储空间占用的分布

▲存储空间分布

  • 「更新流量的分布」

▲更新流量分布

有了上面的数据,可以从基本面看出,省流量更新的存储消耗更大,但是实际的流量价值却很低,基于此可以确定要对省流量更新的patch包下手了。

四、优化思路

就像把大象装进冰箱一样,开门-放大象进去-关门。优化也不是上来就动手把存储清除,整个过程参考大象装冰箱的思路,分为三步:

4.1 复原全貌

正所谓 “知己知彼百战百胜”,做一件事情降低风险的第一要领,应该是把事情摸清楚。对于存在几年的老业务,如何去摸底,总结下来有几点经验。

  • 「内部文档」无论是技术文档还是需求文档,尽量都去看一遍,同时带着问题看,把自己代入到写文档的视角里,多思考下为什么文档是这样的,这样可以尽可能多的挖掘出一些疑问点。
  • 「代码」 核心的代码逻辑一定要过一遍,时间越长的代码,补丁可能越多,一些边界的场景都隐藏在代码的小角落。
  • 「人」 找到相关的同学 或者 不相关的同学(第三者视角),带着基于文档和代码的疑问进行沟通、询问、刨根问底,补全思维偏差。
  • 「产品」 基于产品功能进行回归,将文档和代码进行串联,形成清晰的代码地图。

最后,基于全面的信息梳理,完成基于数据流的业务流程图。整个过程有点像是《长夜难明》的探案过程,抓住每一个线索,完成最后的拼图。

拼图1-增量更新场景的数据流

从图中,可以看到主要的存储分为三部分,「开发者应用,客户安装应用,省流量patch包」。其中patch包的生成步骤为:

  1. 获取开发者已安装应用
  2. 生成 开发者已安装的应用 和 高版本应用的patch包

拼图2-用户安装应用收集

拼图3-增量更新处理

核心的数据处理流程如下:

4.2 制定方案

由于是进行存储优化,那就主要关注梳理出的数据流程各个环节是否可以优化 以及 是否要进行优化。首先,磨刀不误砍柴工,从BOS处通过api导出全量列表,由于历史积累,共亿+条object数据。然后基于原来的增量更新策略 制定出了对应的优化策略。

在梳理方案的过程中,深感项目的评估以及持续跟进的重要性。下面举几个例子简单说明下。

  • 最初处理的时候,为了快速解决用户的增量更新的目标,设计时对全部应用一股脑的生成增量patch包,但是并没有考虑到用户是否会进行更新的场景,也就是实际的ROI。实际上只覆盖top300更新的应用,就已经能够占比93%的更新请求,但是能够减少95%的存储占用,是非常明显的对比。
  • 在初版的策略里并没有考虑业务特性,原始的策略是取top10版本号的包和用户手机安装的包来进行生成patch,但忽略了同一版本号下会同时存在多个包(客户为了推广,同一版本的包会生成N个渠道包上传管理),也就是1对N的场景。
  • 原来设计的初衷可能是仅生成最高10个版本的patch就好了,实际上会放大到生成几百个包,也是非常大的存储消耗。还有原来的top10的考虑是为了由于Android SDK的一些限制,某些低端机型可能无法安装高版本应用,但随着千元机的普及,这个策略也可以成为历史了。

在处理的过程发现上文提到的未知的P级别空间,发现是原来物理机迁移,自运维的数据库未迁移,导致之前的增量包虽然占用了BOS存储,但是没有在db中发现,评估对业务没有实际用途了,最后一股脑清理掉了(非常爽)。

4.3 执行方案

这是最轻松的过程,核心要注意的是要设计好验证方式和回滚方案。此处不细说了。整个效果从高峰的P级别降到了百T级别,排除毒素,一身轻松。

五、总结

以习惯的五问法做一个回顾,总结下整个过程学习到的东西。

5.1 为什么会产生这么大量的无效存储?

程序没有清除,研发反馈产品设计并未考虑历史存量问题

5.2 谁应该考虑?

研发,个人认为产品和研发的和谐边界是,产品给出要完成的用户功能,技术给出解决方案。产品不用关心存储存多久,只需要提出用户的省流量更新需要在什么场景时效,研发基于产品功能来判断patch包是否可以归档删除。

5.3 原系统缺少什么?

文档积累 & 监控 & REVIEW。要做好文档积累,方便有一天需要对系统优化的时候能看到为什么系统是这个样子;要完善监控,做到心里有数;要定期review,同一个业务逻辑随着产品的演进有可能就会从因地制宜的设计变成历史包袱,保持开放心态,放眼过去,着眼未来。

5.4 该如何避免?

靠你的经验,同时考虑对立面。事情都有对立面,很多时候我们考虑问题都只会着眼于眼前看到的点,阳光之下必有阴影相伴,作为研发可以多思考问题的背面是什么,这样可以更全面的考虑问题,少留一些技术债。

5.5 如何做的更好?

系统永远是为产品服务的,但是研发要考虑投入产出,不仅要考虑研发的投入产出,同时要帮助产品一起考虑产品的ROI。换个角度去看问题,会发现不一样的技术方案,也许就会do better。

本文由哈喽比特于2年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/MR2ONWtlk_zfWt0ensV7Zg

 相关推荐

刘强东夫妇:“移民美国”传言被驳斥

京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。

发布于:1年以前  |  808次阅读  |  详细内容 »

博主曝三大运营商,将集体采购百万台华为Mate60系列

日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。

发布于:1年以前  |  770次阅读  |  详细内容 »

ASML CEO警告:出口管制不是可行做法,不要“逼迫中国大陆创新”

据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。

发布于:1年以前  |  756次阅读  |  详细内容 »

抖音中长视频App青桃更名抖音精选,字节再发力对抗B站

今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。

发布于:1年以前  |  648次阅读  |  详细内容 »

威马CDO:中国每百户家庭仅17户有车

日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。

发布于:1年以前  |  589次阅读  |  详细内容 »

研究发现维生素 C 等抗氧化剂会刺激癌症生长和转移

近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。

发布于:1年以前  |  449次阅读  |  详细内容 »

苹果据称正引入3D打印技术,用以生产智能手表的钢质底盘

据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。

发布于:1年以前  |  446次阅读  |  详细内容 »

千万级抖音网红秀才账号被封禁

9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...

发布于:1年以前  |  445次阅读  |  详细内容 »

亚马逊股东起诉公司和贝索斯,称其在购买卫星发射服务时忽视了 SpaceX

9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。

发布于:1年以前  |  444次阅读  |  详细内容 »

苹果上线AppsbyApple网站,以推广自家应用程序

据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。

发布于:1年以前  |  442次阅读  |  详细内容 »

特斯拉美国降价引发投资者不满:“这是短期麻醉剂”

特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。

发布于:1年以前  |  441次阅读  |  详细内容 »

光刻机巨头阿斯麦:拿到许可,继续对华出口

据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。

发布于:1年以前  |  437次阅读  |  详细内容 »

马斯克与库克首次隔空合作:为苹果提供卫星服务

近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。

发布于:1年以前  |  430次阅读  |  详细内容 »

𝕏(推特)调整隐私政策,可拿用户发布的信息训练 AI 模型

据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。

发布于:1年以前  |  428次阅读  |  详细内容 »

荣耀CEO谈华为手机回归:替老同事们高兴,对行业也是好事

9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI操控无人机能力超越人类冠军

《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI生成的蘑菇科普书存在可致命错误

近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。

发布于:1年以前  |  420次阅读  |  详细内容 »

社交媒体平台𝕏计划收集用户生物识别数据与工作教育经历

社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”

发布于:1年以前  |  411次阅读  |  详细内容 »

国产扫地机器人热销欧洲,国产割草机器人抢占欧洲草坪

2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。

发布于:1年以前  |  406次阅读  |  详细内容 »

罗永浩吐槽iPhone15和14不会有区别,除了序列号变了

罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。

发布于:1年以前  |  398次阅读  |  详细内容 »
 相关文章
Android插件化方案 5年以前  |  237273次阅读
vscode超好用的代码书签插件Bookmarks 2年以前  |  8108次阅读
 目录