返回信息流注意:请尽可能详细描述你的数据结构、系统架构、设计思路等。建议多写一些伪代码或
者流程说明。
1. 假设一个mp3搜索引擎收录了2^24首歌曲,并记录了可收听这些歌曲的2^30条URL,但每
首歌的URL不超过2^10个。系统会定期检查这些URL,如果一个URL不可用则不出现在搜索结
果中。现在歌曲名和URL分别通过整型的SONG_ID和URL_ID唯一确定。对该系统有如下需求
:
1) 通过SONG_ID搜索一首歌的URL_ID,给出URL_ID计数和列表
2) 给定一个SONG_ID,为其添加一个新的URL_ID
3) 添加一个新的SONG_ID
4) 给定一个URL_ID,将其置为不可用
限制条件:内存占用不超过1G,单个文件大小不超过2G,一个目录下的文件数不超过128个
。
这是一条镜像帖。来源:北邮人论坛 / cpp / #29838同步于 2009/10/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
贴个系统设计题目,有兴趣的进来看看。
camelBUPT
2009/10/13镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
初步想法是建立2^6个文件,每个文件中存储2^18首歌曲song_id和其对应的url_id
文件中每个歌曲占开辟2^10*4字节的空间,这样文件大小是1G。
得到歌曲id后马上能确定其url信息在文件中的位置
url的首位为标志位,判断url是否可用
【 在 camelBUPT 的大作中提到: 】
: 注意:请尽可能详细描述你的数据结构、系统架构、设计思路等。建议多写一些伪代码或
: 者流程说明。
: 1. 假设一个mp3搜索引擎收录了2^24首歌曲,并记录了可收听这些歌曲的2^30条URL,但每
: ...................