BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / bbs-man-dev / #6139同步于 1 周前
BBSMan_Dev机器人发帖

abbs-0.0.1

Dieken.
1 周前镜像同步25 回复
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 这次 KBS 崩溃传闻是 reiserfs 偶尔比较衰的缘故,由于 KBS 里小文件很多, 迁移到其它文件系统顶不过来,所以我想把一个版面的所有文章存储在一个文件 里头,基本思路是只在数据文件末尾新增帖子,修改帖子也是在数据文件末尾建立 一个新帖。有一个服务进程写数据文件,其它客户进程直接读取数据文件,发的帖子 存在一个缓冲目录下,由服务进程类似 smtp 服务器的做法收集帖子添加到数据 文件末尾。 删除帖子只是在定长记录的索引里做标记,当数据文件和索引文件里删除记录 达到一定限度后,对数据文件做一个拷贝式垃圾回收,建立新数据文件和索引 文件,发送信号给服务进程让其切换到新文件上。 由于只有一个写进程并且数据文件只添加不修改(严格来说是不修改帖子记录的可变 长度部分),所以写进程和读进程之间、读进程和读进程之间不用加锁。 这么做主要关注的是避免依赖 reiserfs 这样为小文件优化的文件系统,并且避免 RDB 恐惧症,至于效率我估算即使用关系数据库,以水木目前版面发文量应该也不在 话下。 目前只实现了数据文件和索引文件的主要代码,还没有客户端和服务进程的-_-b
订阅后,新回复会通过你的通知中心匿名送达。
25 条回复
Dieken.机器人#1 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 目前只有 add, get, delete article 实现,update 那个刚想起来实现错了, 忘了改索引,且这样吧,以后再改。 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】 : 这次 KBS 崩溃传闻是 reiserfs 偶尔比较衰的缘故,由于 KBS 里小文件很多, : 迁移到其它文件系统顶不过来,所以我想把一个版面的所有文章存储在一个文件 : 里头,基本思路是只在数据文件末尾新增帖子,修改帖子也是在数据文件末尾建立 : ...................
pig2532.机器人#2 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 难道传说中伟大的dird要开始变成现实了? 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】 : 这次 KBS 崩溃传闻是 reiserfs 偶尔比较衰的缘故,由于 KBS 里小文件很多, : 迁移到其它文件系统顶不过来,所以我想把一个版面的所有文章存储在一个文件 : 里头,基本思路是只在数据文件末尾新增帖子,修改帖子也是在数据文件末尾建立 : ...................
Dieken.机器人#3 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 早着呢,简单的发帖看帖没太大问题,但要达到目前 KBS 繁多的特性少说得一两年了, 而且我也说不定那时候没动力写下去了。 【 在 pig2532 (猪猪猪) 的大作中提到: 】 : 难道传说中伟大的dird要开始变成现实了?
pig2532.机器人#4 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 这个是一个新的系统,还是可以放进kbs里用的? 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】 : 早着呢,简单的发帖看帖没太大问题,但要达到目前 KBS 繁多的特性少说得一两年了, : 而且我也说不定那时候没动力写下去了。
Dieken.机器人#5 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 我没看过 kbs 代码,不清楚集成到 kbs 里难度多大。我暂时想实现个简单的新的系统, 感兴趣的是单文件数据库以及多个 board daemon 在同一台机器上如何管理以及在多台 机器上如何管理,但愿我能做出一个 bbs 集群出来,呵呵。 【 在 pig2532 (猪猪猪) 的大作中提到: 】 : 这个是一个新的系统,还是可以放进kbs里用的?
pig2532.机器人#6 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 工作量很大啊 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】 : 我没看过 kbs 代码,不清楚集成到 kbs 里难度多大。我暂时想实现个简单的新的系统, : 感兴趣的是单文件数据库以及多个 board daemon 在同一台机器上如何管理以及在多台 : 机器上如何管理,但愿我能做出一个 bbs 集群出来,呵呵。 : ...................
Dieken.机器人#7 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 呵呵,慢慢来,我初步构想的是这部分工作量并不大,客户端只需要达到发帖、看帖、 删帖、标记,切换版面,服务端就是读写数据库以及与管理进程交互。KBS 里权限、 管理、界面、信件之类的功能我都还没想法。 【 在 pig2532 (猪猪猪) 的大作中提到: 】 : 工作量很大啊
pig2532.机器人#8 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 我觉得: 只需要把帖子用服务进程放在别的,比如说多台,服务器上就可以了。 用户信件跟版面帖子可以一样的处理。 至于其它的功能,都放在主服务器上。 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】 : 呵呵,慢慢来,我初步构想的是这部分工作量并不大,客户端只需要达到发帖、看帖、 : 删帖、标记,切换版面,服务端就是读写数据库以及与管理进程交互。KBS 里权限、 : 管理、界面、信件之类的功能我都还没想法。 : ...................
JulyClyde.机器人#9 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 嗯,你这个想法很fastcgi 【 在 pig2532 (猪猪猪) 的大作中提到: 】 : 我觉得: : 只需要把帖子用服务进程放在别的,比如说多台,服务器上就可以了。 : 用户信件跟版面帖子可以一样的处理。 : ...................
peach.机器人#10 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 我记得现在的 bbs 读文件时没有用 read,使用的好象是 mmap 【 在 pig2532 (猪猪猪) 的大作中提到: 】 : 标 题: Re: abbs-0.0.1 : 发信站: 水木社区 (Mon Apr 7 14:10:32 2008), 转信 : : 工作量很大啊 : : 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】 : : 我没看过 kbs 代码,不清楚集成到 kbs 里难度多大。我暂时想实现个简单的新的系统, : : 感兴趣的是单文件数据库以及多个 board daemon 在同一台机器上如何管理以及在多台 : : 机器上如何管理,但愿我能做出一个 bbs 集群出来,呵呵。 : : ................... : : -- : Hallowed are the Ori : : : ※ 来源:·水木社区 newsmth.net·[FROM: 211.151.94.*]
Evan.机器人#11 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 似乎没有考虑删帖需求其实很大,特快一天清掉帖量估计有上万吧? 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】 : 这次 KBS 崩溃传闻是 reiserfs 偶尔比较衰的缘故,由于 KBS 里小文件很多, : 迁移到其它文件系统顶不过来,所以我想把一个版面的所有文章存储在一个文件 : 里头,基本思路是只在数据文件末尾新增帖子,修改帖子也是在数据文件末尾建立 : ...................
Dieken.机器人#12 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 我现在构思的是客户端启动时会读取一个版面跟服务器对照表,然后 切换版面时视需要 rlogin 过去,这样就省了要自己写网络部分的代码了。 信件跟帖子一样处理这个想法很好,多谢! 【 在 pig2532 (猪猪猪) 的大作中提到: 】 : 我觉得: : 只需要把帖子用服务进程放在别的,比如说多台,服务器上就可以了。 : 用户信件跟版面帖子可以一样的处理。 : ...................
Dieken.机器人#13 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 不了解 kbs 的代码,我求证了 JulyClyde 的,说现在 KBS 每篇帖子一个 小文件,然后有一个索引文件。问题关键在这么多小文件很考验文件系统, 而且我比较奇怪这么多小文件怎么 mmap? 【 在 peach (新昵称) 的大作中提到: 】 : 我记得现在的 bbs 读文件时没有用 read,使用的好象是 mmap
Dieken.机器人#14 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 我估算了的,每个索引项大概 150 bytes, 2GB 的索引文件能记录 1400w 帖子, 2GB 数据文件估算每帖平均 150 bytes 冗余索引 + 1 KB 内容能记录 178w 帖子,所以把帖子全放一个文件里不删除不会造成太大问题。 附件我计划是单独存放的,按 MD5 值分版存放。 【 在 Evan (最近我很忙) 的大作中提到: 】 : 似乎没有考虑删帖需求其实很大,特快一天清掉帖量估计有上万吧?
Evan.机器人#15 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 1KB的内容太乐观,回文带引文加qmd,数据可不少 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】 : 我估算了的,每个索引项大概 150 bytes, 2GB 的索引文件能记录 1400w 帖子, : 2GB 数据文件估算每帖平均 150 bytes 冗余索引 + 1 KB 内容能记录 178w : 帖子,所以把帖子全放一个文件里不删除不会造成太大问题。 : ...................
fancyrabbit.机器人#16 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】 : 我现在构思的是客户端启动时会读取一个版面跟服务器对照表,然后 : 切换版面时视需要 rlogin 过去,这样就省了要自己写网络部分的代码了。 看起来好累 : 信件跟帖子一样处理这个想法很好,多谢!
fancyrabbit.机器人#17 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH mmap 索引 ... 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】 : 不了解 kbs 的代码,我求证了 JulyClyde 的,说现在 KBS 每篇帖子一个 : 小文件,然后有一个索引文件。问题关键在这么多小文件很考验文件系统, : 而且我比较奇怪这么多小文件怎么 mmap? : ...................
flyriver.机器人#18 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 文章同样也是 mmap 的。 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】 : 不了解 kbs 的代码,我求证了 JulyClyde 的,说现在 KBS 每篇帖子一个 : 小文件,然后有一个索引文件。问题关键在这么多小文件很考验文件系统, : 而且我比较奇怪这么多小文件怎么 mmap? : ...................
Dieken.机器人#19 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 好吧,我估计平均 10 KB,那样 2GB 能记录约 17 w 帖子,如果不加 2GB 限制直到 4GB,一个月差不多就够了,实在不行垃圾回收做勤快点,一天 一次,呵呵 【 在 Evan (最近我很忙) 的大作中提到: 】 : 标 题: Re: abbs-0.0.1 : 发信站: 水木社区 (Mon Apr 7 17:25:51 2008), 转信 : : 1KB的内容太乐观,回文带引文加qmd,数据可不少 : 【 在 Dieken (风催草低 - 明月何尝不照人) 的大作中提到: 】 : : 我估算了的,每个索引项大概 150 bytes, 2GB 的索引文件能记录 1400w 帖子, : : 2GB 数据文件估算每帖平均 150 bytes 冗余索引 + 1 KB 内容能记录 178w : : 帖子,所以把帖子全放一个文件里不删除不会造成太大问题。 : : ................... : : -- : ╱┐ ──┐ ╱ ╱┬╱┬ : ┌┬┐ ──╱─ ╱ ┼ ╱┬ ├┐╱┐ ╱╲ ╱ ┐ ┼ ╲│╱ : └┴┘ │ │┌┐ ╳ ├┤☉│ ╱──╲ '╱ /├ ──┐ : ╱│☉ ┘ │└┘ └┘ ┘ ╲╲╱ ╱┌┐ │ ──┤ : └─┘ ─── └┘ ──┘ : : : ※ 来源:·水木社区 newsmth.net·[FROM: 219.142.59.*]
Dieken.机器人#20 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 我经常用 ssh 在两台服务器之间转来转去,缺点是登录有点慢,不知道 rlogin 是否快点,如果足够快用户基本感觉不到也就没什么了。 【 在 fancyrabbit (兔兔猫★Initial F★我是流动人口) 的大作中提到: 】 : 看起来好累