荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: jjk (prepare for the future), 信区: InstallBBS
标 题: FB30新文章无法消除??(转寄)
发信站: 荔园晨风BBS站 (Thu Jan 17 14:15:32 2002), 转信
【 以下文字转载自 jjk 的信箱 】
【 原文由 jjk.bbs@apue.dhs.org 所发表 】
发信人: Czz.bbs@bbs.feeling.dhs.org (Moulin Rouge), 信区: BBSDEV
标 题: FB30新文章无法消除??(转寄)
发信站: 温馨小屋 (Tue Jan 8 15:38:20 2002)
转信站: APUE!news.tiaozhan.com!news.feeling.dhs.org!Feeling
【 在 Amsterdam (淡) 的大作中提到: 】
: 【 在 rexchen (rexchen) 的大作中提到: 】
: : 强烈建议加上一个 read time flag 效果超好的..
: : 如果有人 clean new flag 就可以把整个板的纪录 bzero 掉..
: : 当然很重要的是存纪录时要分板来存...
: 嗯, 就管理者而言: 省空间
: 就使用者而言: 也省力许多
: : 我是改采用一个档划分很多 block , 然後一个板选择一个 block , 三个月没读
: : clean 掉那个 block 让给别的板用...
: 所以..就是事先规划好每版(假设有A,B,C,D,E版)
: 纪录存法如下方的区块一样:
: ├─A─┤B├─C─┤D├─E─┤
: 10101010 01010101 01010101 101010101 01010101
不是先规划好, 是如果有读版, 才增加一个区域.
所以可能是
├─A─┤├─C─┤B├─E─┤D
也有可能有没读到的, 不需要浪费那个空间放重来都不读的板.
: 然後三个月没读 B 版,就把 B 版存放的区块资料 expire 消掉
: 但是保留原先 B 版占用的区块空间继续供 B 版或他版使用?
消掉, 不需要浪费空间. ( 空间会空出来给其他的板用, 随时可能有新增看板 )
: 另外这些区块也是存放同一档,那特殊版跟普通版的判断是靠类似转信区别用
: 的 flag 原理吗?
是的放同一档. 特殊板, 我的部份是指个人板, 因个人需求才需要多档案.
这样想好了, 看一篇文章是读一个档案, 读纪录是一个档案, 假设 unix
通用的 block 是 4k , 事实上, 所付出的代价并不高, 相对节省记忆体, 和
避免检查的回圈, 所得到的效益会更大.
: 最近是在参考 tin , 它的做法(.newsrc)似乎是直接给 "newsgroup:#" ...
: tw.bbs.admin.firebird.fpug:
: tw.bbs.admin.firebird: 1-6
: ilan.rec.diy:
: tw.bbs.admin.installbbs: 1-13725
: bbs.test: 1-882,887,890-891,893,902
: :
: 只存简单的 newsgroup 与文章编号而已,
: 另外, 会在启动时把旧的存成 .oldnewsrc
: 空间也不会占多少..
: 不过, 把 tin 的 source code 拿来看来看去, 还是一句话...可以形容
: ...#$%^@! 有够复杂的
光一个正规化就很麻烦, 事实上, tin 是设计给 client 用的, 而不是给
server 用的, 他可以无限制浪费资源去检查, 但是 server 端可不能这样
. 而且不要忘记了 bbs 内部并没有一个连续的号码. 这方面会更复杂.
建议多使用 hash , 我还在注册时发给每个人一个 random number , 让
整个 hash 不会因为时间一样, 而得到同一个 hash number :P
我现在所有目录都变成 00 ~ FF / 00 ~ FF 一层一层..
就算在 shell 下也很难找出使用者在哪, 安全, 平均, 速度快.
所有的修复内建在系统内, 我还在 bbsd 内建了一个 cron , 定时修复.
管理者也不用那麽辛苦在那边看半天. 会坏掉的档案, 能修的自动修.
不能修的自动删除, 更新.
: 看了之後, 觉得基本上整个 boards.c 几乎要完全改写
: 甚至是增加 ????? 行了... (短时间内无法消化, 无力..)
: 或许还可以跟 innbbsd、PGP 整合在一起...
: 结论是..这问题不愧是历史悬案, 从以前 FireBird 2.x 就存在了... :Q
阅读纪录一向是 bbs 最复杂的东西, 目前还没什麽最佳方法.
事实上改写阅读纪录应该不会差太多行数 :P
我的建议是改写 bbs , 会简单很多.. 行数大幅减少..
我觉得万把行就可以搞定了..
目前我写的部份如下
可以看出写最多的是输入输出和编辑器
里面还有很多 debug code , ...
以前的蛋卷大概有三万多行, 加上 ssh 可以破五万行 @@|||
事实上蛋卷的功能还没我新写的系统多..
没有结构性的东西, 越改越多, bug 越多 @@
25 adm.c //站长功能
443 bbsd.c //BBS Daemon/Kernel/Cron
105 boards.c//看板系统
226 cal.c //行事历
267 chat.c //聊天室
406 chatd.c //聊天室 Daemon
263 conf.c //设定档
642 dir.c //群组系统 (我的最爱)
1011 edit.c //编辑器
203 big5gb.c//Big5/GB
90 help.c //求助
376 info.c //个人资料
696 list.c //主架构,整个系统核心
246 mail.c //邮件
415 main.c //主功能
297 mark.c //阅读纪录
152 menu.c //选单
542 misc.c //其他
429 more.c //浏览器
197 msg.c //讯息
395 read.c //文章系统
147 reg.c //注册
500 talk.c //聊天,好友
328 ui.c //使用介面
213 utmp.c //使用者列表,呼叫器
1272 vio.c //输入输出介面
9886 总计
我最喜欢蛊惑人家重写了...:p
--
拖人下水.. lala
--
※ 修改:□rexchen 於 Jan 8 06:09:56 修改本文□[FROM: news.tku.edu.tw]
※ 来源:□种子网 BBS bbs.seed.net.tw□[FROM: news.tku.edu.tw]
--
※ 转载:.温馨小屋 bbs.feeling.dhs.org.[FROM: feeling.dhs.org]
--
※ 转寄:·UNIX编程 apue.dhs.org·[FROM: 202.119.32.102]
--
※ 转寄:·UNIX编程 apue.dhs.org·[FROM: 202.119.32.102]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店