查看: 1902| 回复: 8
跳转到指定楼层
上一主题 下一主题
收起左侧

[题目讨论] 狗家设计题 - 远程系统升级

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
请教一道狗家设计题 - 远程系统升级
requirement 就是不能physically touch computer 怎么升级系统

大家有什么好的想法?

上一篇:对于一类“文件传输” 设计的如何作答的疑问
下一篇:一起攻克系统设计与构架
推荐
infrared628 2019-10-11 03:43:41 | 只看该作者
全局:
狗做系统升级的算法之一叫做Courgette,这个算法主要用于Chromium(针对Chrome浏览器)和Chromium OS(针对Chrome OS操作系统)的系统升级,这个算法的链接在这里https://dev.chromium.org/develop ... e-updates-courgette

通常远程系统升级有这么几个方法:
1)客户端向服务器发送请求,服务器返回配置文件和下载地址(如果有更新的话),客户端下载整个系统软件,然后安装,这个太差;后来就只下载更新的补丁文件,自动安装后新文件覆盖老文件,完成升级,这个略有改进;
2)上面链接中有个表,提到的用来对比的bsdiff的算法,这个主要就是比较新旧版本的二进制文件的异同,这样无需把这个文件发送,只需发送这个算法生成的补丁bspatch(这个比更新包少了小了一个数量级),快很多了,我个人理解这个跟.git下面比较blob啥的很像;

要知道为什么狗出这个题,很可能的原因是因为Chromium和Chromium OS几乎每隔几个小时就会有一次更新,但上面说的方法1)肯定不行;方法2)好一些但也不够,所以这就要说到开头的Courgette:

3)Courgette,我们知道操作系统下面dll文件是很占地方的,因为里面包括了代码和数据,就算只改了几行代码,生成的dll文件(以及bsdiff比较对应的二进制文件)都是很不一样的,这是因为每次编译时,代码会优化重排;那既然编译代码会造成文件不同,那Courgette就把新旧系统的dll文件进行反编译(以此来消除编译时造成非代码逻辑部分的文件差异),将反编译后的旧版本的汇编代码用反编译后的新版本汇编代码打补丁,然后再把补丁后的汇编代码编译成dll文件,这就是Chromium和Chromium OS的系统更新策略(Chrome的更新每次还是后台的,使用的时候因为系统文件被占用,它自动创建一个新的目录,这个目录copy所有旧的系统文件,把需要更新的文件在新目录悄悄更新好,下次启动就用新目录以完成更新。。所以问题都是根据需求来的)。

评分

参与人数 2大米 +4 收起 理由
woyaoshuati + 2 很有用的信息!
Cat007 + 2 精华

查看全部评分

回复

使用道具 举报

🔗
 楼主| urqing 2019-10-9 07:20:33 | 只看该作者
全局:
clarify 一下是操作系统的升级
回复

使用道具 举报

全局:
hmmm 不就跟微软系统升级一样么
唯一不要做的事情是留接口让服务器操控电脑就好 我觉得
回复

使用道具 举报

🔗
 楼主| urqing 2019-10-9 11:20:59 | 只看该作者
全局:
那作为系统设计有啥可以讲的?感觉不知道如何下手
回复

使用道具 举报

🔗
t__c___ 2019-10-9 14:24:31 | 只看该作者
全局:
我记得好像有个类似的系统设计题,说得是更新包,那个扩展开了就在谈aggregative deployment的问题。
这个题目看起来只是开头,面试官具体想考察什么有detail么?
回复

使用道具 举报

🔗
yeetatbig4 2019-10-9 22:46:37 | 只看该作者
全局:
好像最近到处都在考这个题,我的初始思路是,
先 测心跳,心跳没问题了之后,再把大 payload 的packet 往上送?

把这个贴顶上去,让高人能看到!
回复

使用道具 举报

全局:
我也想知道这个是怎么搞解决的,求高人指点
回复

使用道具 举报

🔗
 楼主| urqing 2019-10-11 08:28:55 | 只看该作者
全局:
infrared628 发表于 2019-10-11 03:43
狗做系统升级的算法之一叫做Courgette,这个算法主要用于Chromium(针对Chrome浏览器)和Chromium OS(针对 ...

多谢大牛,总算知道这个题目是在问什么了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表