首页 技术教程 实用代码 注册破解 正则表达式 网址导航 电子书籍

基于mysql的bbs设计(五)

6。bbsd和cq66服务器端改造 bbsd中,关于用户的模块应该比较好改,只要将写.PASSWD文件的操作换为操作数据库的UserManage类的成员函数即可,但可能要先判断什么数据更改,要调用哪个函数。并发操作的一致性,则由数据库的加锁功能保证,mysql应该支持这种的锁吧。文章方面可能比较麻烦,也是将原来对文件的操作转换成操作数据库的BoardManage类的成员函数即可。 cq66模式应该比较好改动,可能就是原来取文章的协议要变化一下。取文章标题的时候,同时也将文章的长度发送过去,然后客户端可以根据显示区的大小,逐步请求文章的内容,请求文章的时候要给出请求的范围。 关于系统模块层,可能做成so的形式会不会较好,(so是不是相当于dll...
类别:数据库 - MySQL    查看:79    更新:2014-05-19

基于mysql的bbs设计(四)

5。版面模块设计 所谓分类,更多的是为telnet服务端考虑的,在cq66模式下,用户可以按照自己的意愿进行分类,反正最后都是直接以版为基本单位访问的。 对于版面文章的访问,存放的时候以整篇文章为参数,文章的分块由本层完成,如果上层以块为单位传送,则在上层全部传完,组合后,再传参到本层分解;在读取 的时候,本层则以块为单位访问,如果上层要以全文为单位访问,则在上层做合并 工作,本层不管。 至于要不要独立出索引,不影响上层的操作,主要和下层的数据库构造有关, 主要考虑可行性,效率需求等。 权限的检查放在哪里进行呢?还是放在上层吧,其实就telnet服务器端,和cq66 的客户端,根本不会给一般用户显示特殊指令的菜单,当然,用...
类别:数据库 - MySQL    查看:79    更新:2014-05-19

基于mysql的bbs设计(三)

4。用户模块设计 对于底层数据库,调用mysql的C API函数来进行数据库的修改,内部保存一定的状态变量(例如用户名,还是留给上一层完成?),对上一层,则提供用户管理的接口。 Class UserManage { private: char myuserid[20]; // 用户的id,未登陆前为空 time logintime; // 用户登陆时间,并用于计算停留时间 char loginhost[20]; //上站地点。 public: int NewUser( char *userid, char *passwd ); 新建一个用户,判断是否已经有,其他资料暂时为空, firstlogintime,权限等设缺省值。 int UserLogin( char *userid, char *passwd ); 用户登陆,验证密码, int ChangePasswd( char *oldpasswd, char *newpasswd ); 修改密码,要...
类别:数据库 - MySQL    查看:95    更新:2014-05-19

基于mysql的bbs设计(二)

3。数据库设计 关键还是mysql的效率问题,合理分配mysql的内存,特别是table cache的大小。另外,当系统突然掉电呢?mysql是否robust? table的名字设计,采用一位前缀表明类型,全部用小写表示(?),例如: 系统的数据库,以s为前导,如用户表:suser(sUSER 呢?),具体如下: s :系统表,suser,sclass m :用户信件表,msysop,mdrangon w :用户消息表,wsysop,wdrangon a :版面索引表,alinux,acampus b :版面文章表,blinux,bcampus c :特殊分类版面表,cnewboard i :精华区索引表,ilinux,ilinux01,icampus,icampus04 j :精华区文章表,jlinux,jcampus, 另外,是使用字串还是数字作为标识呢?例如,一个叫sysop的帐...
类别:数据库 - MySQL    查看:84    更新:2014-05-19

基于mysql的bbs设计(一)

1。系统架构: 采用模块化思想,分为3层: a。数据存储层:使用mysql来存放bbs的所有数据,包括用户信息,文章数据,用户信件,用户消息,系统数据(?),关键问题:数据库的规划,是否用文件来辅助。 b。系统功能层:完成bbs的基本功能,由多个并列模块组成,向下调用mysql的函数访问数据库,向上,接受处理请求,将处理的结果返回上层,根据请求类型,返回成败结果和其他数据。而且模块高度灵活,可以方便的修改增加。包括: ** 用户模块,处理用户的注册,基本数据的修改,权限的变化, 网友信息的查询。 ** 版面模块,完成文章发表,文章的读取,文章的删除,文章的加标记,读改删权限检查,此模块对数据库的要求最高。 ** 精华区模块,包括...
类别:数据库 - MySQL    查看:79    更新:2014-05-19