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

关于合力开发第三套bbs访问接口的建议(草稿)

xlai.
1 周前镜像同步49 回复
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 顶! 没后文了么? 【 在 peacock.bbs@ytht.net (孔雀@ytht) 的大作中提到: 】 目前国内的bbs基本都是火鸟系统,基于telnet协议和http协议。 1)telnet接口:核心思想是将远程的用户端虚拟为一个键盘和一个虚拟显示终端, 这种接口的所有的交互都是基于过程;每个用户对应一个socket连接、一个进程。 当用户达到五位数时,一般的系统难以承担运行负荷; 2)http接口:对于超时的控制没有很好的解决,只能一般都使用间接手段; 对此我了解不多,我只想针对telnet协议进行一些讨论。 现行的telnet接口,结构日渐陈旧,个人认为对于超大网络社区效率偏低, 对于bbs这种特定的信息服务不具备针对性: (1)整个的交互是基于过程的,导致大量非必要运算和流量。例如,用户要想在 bbsdev版发表这篇文章,大多数用户都会先进入0区,找到bbsdev版,然后进入该版, 敲入ctrl+p,然后填写标题,再然后确定文章的属性,再然后才能编辑文章内容; 通过引入协议指令,可以避免这一问题。 (2)服务器承担所有的运算载荷。所有的运算处理都是在服务器上进行的,例如, 编辑文章,发送email等等,占用了绝大部分的处理能力,而telnet接口没有考虑利用 用户端的处理能力,来减轻服务器负荷; (3)没有缓冲机制。主要是文件缓冲,针对bbs,大多数版面的绝大多数历史文章 都是非常稳定的;另外,很多用户很多情况下都是在几个版面、文章之间来回切换。 有效的对这种特性加以利用,势必可以大幅度减少网络I/O,减轻服务器的负载; (4)结构不清晰。要增加一个新的功能就要考虑从输入到输出,以及和用户的交互 界面等的若干细节,只要任一功能运算出现错误,就会出现异常退出等问题。 基于以上考虑,在此提出我的建议: (1)为bbs设置一种专用协议:bbs协议。并为这种协议开发专用的终端,这样可以 有效解决上述的(1)(2)(4)问题。初步估计了一下,指令数不会很多,这种 可以进行有效的扩充和升级;ptt利用底层浏览器,实现了一个自己特色的简单浏 览器,这种做法比较有新意; (2)在bbs协议中增设缓冲机制。主要是对于版面列表、文章列表等内容的缓冲, 当然还有精华区、个人文集等类似数据体。这样,文章、精华贴、邮件下载就很 变得很简单了。 (3)将特殊服务、游戏、穿梭等内容作为一个独立的、与版面服务等重的服务,在 协议中,单独加以设计,因为这一部分相对变化较快; (4)在“分区”这一概念之上,增设“主题”概念。版面服务是一个主题,服务是 一个主题,以后可以考虑的社区网络游戏也是一个主题,等。 (5)服务器断数据存储仍旧沿用现有结构。主要是为了平滑过度,但要考虑兼容 数据库存储方式以及多机分布存储,这样有利于实现信息共享。 (6)抛弃一对一的进程/用户服务机智。参考apache的进程池运做方式,在一个进程 内容纳提供16个服务线程,由select监视用户I/O,一旦发现,即将其生成一请求交 由任一空闲线程处理并返回结果。由于select监视数量有上限(1024),可以将每个 进程的用户数限定为1000,这样5万用户即需要50进程。 (7)线程内存尽量采用静态分配,减少系统符合。 (8)着力建造面向cernet用户的大型网络社区,不能只是一种版面服务。 需要着重考虑的问题: (1)bbs协议的设计; (2)数据的并发访问控制:需要建立结构化的锁机制; (3)bbs协议无缝升级:考虑增加版本控制,自动升级的方式; (4)xml的使用:希望可以用来解决数据结构化的问题; ************************************************************** 具体开发可以分几步: (1)先构建基础bbs协议,实现分区、版面、文章(含邮件)、精华区(含个人 文集)的访问:代码量肯定会比现有的telnet接口小很多,因为界面、交互等相关 代码可以全部省掉,而这一部分在telnet接口中是占非常大比重的。并且开发这样 的框架,不需要对现有bbs接口有多少了解,门槛很低; (2)基于bbs协议,建造其他服务,扩充bbs协议指令; 以前也曾经看到过线程牌bbs的提议,但都只限于讨论,希望对此有兴趣的网友, 能够联合起来做点事情,建造一种面向超大网络社区的BBS服务,取代台湾框架。 欢迎回复或者站内email,谢谢阅读。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
cyberpunk.机器人#1 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 这是旧ytht吗? 【 在 xlai (换主ID:BestChina) 的大作中提到: 】 : 顶! : 没后文了么? : 目前国内的bbs基本都是火鸟系统,基于telnet协议和http协议。 : ...................
ygs.机器人#2 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 挖坟了?天。。。 【 在 xlai (换主ID:BestChina) 的大作中提到: 】 : 顶! : 没后文了么? : 目前国内的bbs基本都是火鸟系统,基于telnet协议和http协议。 : ...................
Superr.机器人#3 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH ytht也是有火鸟演变来的 【 在 cyberpunk (GunNM) 的大作中提到: 】 : 这是旧ytht吗?
cyberpunk.机器人#4 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 这不是废话 我是说此文是从旧ytht发出来的,还是某个莫名其妙的ytht发出来的 【 在 Superr (沧浪之水) 的大作中提到: 】 : ytht也是有火鸟演变来的
Tinro.机器人#5 · 1 周前
转信站: BYR!news.byr.edu.cn!ZZXY 私有协议没前途 还不如http+xml 【 在 xlai@newsmth.net-SPAM.no (换主ID:BestChina) 的大作中提到: 】 : 标 题: Re: 关于合力开发第三套bbs访问接口的建议(草稿) : 发信站: 水木社区 (Wed Jun 10 14:28:55 2009) : 转信站: ZZXY!news.byr.edu.cn!news.newsmth.net!NEWSMTH : : 顶! : 没后文了么? : : 【 在 peacock.bbs@ytht.net (孔雀@ytht) 的大作中提到: 】 : 目前国内的bbs基本都是火鸟系统,基于telnet协议和http协议。 : 1)telnet接口:核心思想是将远程的用户端虚拟为一个键盘和一个虚拟显示终端, : 这种接口的所有的交互都是基于过程;每个用户对应一个socket连接、一个进程。 : 当用户达到五位数时,一般的系统难以承担运行负荷; : 2)http接口:对于超时的控制没有很好的解决,只能一般都使用间接手段; : 对此我了解不多,我只想针对telnet协议进行一些讨论。 : : : 现行的telnet接口,结构日渐陈旧,个人认为对于超大网络社区效率偏低, : 对于bbs这种特定的信息服务不具备针对性: : (1)整个的交互是基于过程的,导致大量非必要运算和流量。例如,用户要想在 : bbsdev版发表这篇文章,大多数用户都会先进入0区,找到bbsdev版,然后进入该版, : 敲入ctrl+p,然后填写标题,再然后确定文章的属性,再然后才能编辑文章内容; : 通过引入协议指令,可以避免这一问题。 : : (2)服务器承担所有的运算载荷。所有的运算处理都是在服务器上进行的,例如, : 编辑文章,发送email等等,占用了绝大部分的处理能力,而telnet接口没有考虑利用 : 用户端的处理能力,来减轻服务器负荷; : : (3)没有缓冲机制。主要是文件缓冲,针对bbs,大多数版面的绝大多数历史文章 : 都是非常稳定的;另外,很多用户很多情况下都是在几个版面、文章之间来回切换。 : 有效的对这种特性加以利用,势必可以大幅度减少网络I/O,减轻服务器的负载; : : (4)结构不清晰。要增加一个新的功能就要考虑从输入到输出,以及和用户的交互 : 界面等的若干细节,只要任一功能运算出现错误,就会出现异常退出等问题。 : : 基于以上考虑,在此提出我的建议: : (1)为bbs设置一种专用协议:bbs协议。并为这种协议开发专用的终端,这样可以 : 有效解决上述的(1)(2)(4)问题。初步估计了一下,指令数不会很多,这种 : 可以进行有效的扩充和升级;ptt利用底层浏览器,实现了一个自己特色的简单浏 : 览器,这种做法比较有新意; : : (2)在bbs协议中增设缓冲机制。主要是对于版面列表、文章列表等内容的缓冲, : 当然还有精华区、个人文集等类似数据体。这样,文章、精华贴、邮件下载就很 : 变得很简单了。 : : (3)将特殊服务、游戏、穿梭等内容作为一个独立的、与版面服务等重的服务,在 : 协议中,单独加以设计,因为这一部分相对变化较快; : : (4)在“分区”这一概念之上,增设“主题”概念。版面服务是一个主题,服务是 : 一个主题,以后可以考虑的社区网络游戏也是一个主题,等。 : : (5)服务器断数据存储仍旧沿用现有结构。主要是为了平滑过度,但要考虑兼容 : 数据库存储方式以及多机分布存储,这样有利于实现信息共享。 : : (6)抛弃一对一的进程/用户服务机智。参考apache的进程池运做方式,在一个进程 : 内容纳提供16个服务线程,由select监视用户I/O,一旦发现,即将其生成一请求交 : 由任一空闲线程处理并返回结果。由于select监视数量有上限(1024),可以将每个 : 进程的用户数限定为1000,这样5万用户即需要50进程。 : : (7)线程内存尽量采用静态分配,减少系统符合。 : : (8)着力建造面向cernet用户的大型网络社区,不能只是一种版面服务。 : : : 需要着重考虑的问题: : (1)bbs协议的设计; : (2)数据的并发访问控制:需要建立结构化的锁机制; : (3)bbs协议无缝升级:考虑增加版本控制,自动升级的方式; : (4)xml的使用:希望可以用来解决数据结构化的问题; : : ************************************************************** : 具体开发可以分几步: : (1)先构建基础bbs协议,实现分区、版面、文章(含邮件)、精华区(含个人 : 文集)的访问:代码量肯定会比现有的telnet接口小很多,因为界面、交互等相关 : 代码可以全部省掉,而这一部分在telnet接口中是占非常大比重的。并且开发这样 : 的框架,不需要对现有bbs接口有多少了解,门槛很低; : (2)基于bbs协议,建造其他服务,扩充bbs协议指令; : : : : 以前也曾经看到过线程牌bbs的提议,但都只限于讨论,希望对此有兴趣的网友, : 能够联合起来做点事情,建造一种面向超大网络社区的BBS服务,取代台湾框架。 : : 欢迎回复或者站内email,谢谢阅读。 : : : : -- : ※ 来源:.一塌糊涂 BBS http://ytht.net [FROM: 218.1.126.74] : : : -- : 没有不快乐的理由不是不快乐 : : : ※ 来源:·水木社区 newsmth.net·[FROM: 211.99.222.*]
cyberpunk.机器人#6 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 私有协议去死 【 在 Tinro@zzxy-NO-SPAM-org (天若|勤劳致富|养老婆) 的大作中提到: 】 : 私有协议没前途 : 还不如http+xml
format.机器人#7 · 1 周前
转信站: BYR!news.byr.edu.cn!TJU re 同意,支持! 【 在 cyberpunk@newsmth.net-SPAM.no (GunNM) 的大作中提到: 】 : 私有协议去死 : 【 在 Tinro@zzxy-NO-SPAM-org (天若|勤劳致富|养老婆) 的大作中提到: 】 : : 私有协议没前途 : : 还不如http+xml : ...................
chutium.机器人#8 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 太夸张了。。。这都多少年前的东西了,现在ytht连这个版都不见了……唉 【 在 ygs (阿桂是桔子|学术学术。。) 的大作中提到: 】 : 标 题: Re: 关于合力开发第三套bbs访问接口的建议(草稿) : 发信站: 水木社区 (Wed Jun 10 16:05:03 2009), 转信 : : 挖坟了?天。。。 : 【 在 xlai (换主ID:BestChina) 的大作中提到: 】 : : 顶! : : 没后文了么? : : 目前国内的bbs基本都是火鸟系统,基于telnet协议和http协议。 : : ................... : : --
tRNA.机器人#9 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 这个坟。。。omg....一塌糊涂、天大求实、岱北聆泉、水木清华...... 【 在 chutium (阿新) 的大作中提到: 】 : 太夸张了。。。这都多少年前的东西了,现在ytht连这个版都不见了……唉