私有协议没前途
还不如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.*]
--
FROM 123.112.71.47