1. 引言
BBS (Bulletin Board System)起源于上世纪七十年代末期,其网站论坛是在上个世纪九十年代初伴随着国际互联网而逐渐流行并迅速得到了发展 [1]。国际互联网的诞生使以前只能在本地访问的BBS系统可以被全世界网民任意访问,这就使得BBS变得更加有吸引力 [2]。通过BBS论坛大家对共同感兴趣的话题展开讨论、表达自己的观点和看法、汲取知识等 [3]。BBS论坛存在的形式和种类很多,按照网站的特性以及服务用户来区分,可分为:校园BBS论坛、商业BBS论坛系统、新闻媒体BBS论坛,等等。按照性质来划分,可分为2种形式:一种是商业的BBS站;另外一种是业余BBS站。
然而,近些年BBS的发展相对缓慢,原因归结于BBS技术落后,不能满足用户的要求,新的应用环境得不到满足。早在2000年前,BBS还处于聊天室的功能架构时代,基于TELNET技术实现的BBS界面简陋,操作繁琐,很少用户愿意使用。现在的BBS虽说运用了流行Web结构模式设计 [4] [5],但不能和大数据时代相结合而缺乏资金支持系统不能满足用户的需求。
关于BBS技术的研究可以从两个方面进行讨论:一是BBS技术,关注BBS这类系统的运营先进性,如早期的Telent技术,信息的动态交互技术 [5] [6],架构技术 [6] [7] [8],信息表现技术 [9] [10] 等。二是BBS的分析技术,重心研究系统的信息内容的技术 [11],如信息挖掘 [12] [13]、舆情分析 [3] 等。BBS的分析技术是针对BBS的信息内容方面进行的研究 [14] [15],这些研究与现代的大数据技术有着非常紧密的联系。
上述介绍可以看出,在这种大数据技术飞速发展的情况下,BBS这类多主题的数据的优势明显,能够通过大数据分析挖掘其潜藏的价值。因此,本文提出的大数据背景下的BBS论坛设计是非常有意义的。BBS将采用全新的多层Web架构,后台使用Nginx控制访问数据,支持云服务,提高数据访问效率。使用Python工具实现数据的快速表达,以及包含更多主题功能信息分类。
2. 论坛分析与架构设计
2.1. BBS的网络支撑
1) 网络编程
BBS系统必须支持网络功能,论坛系统将以PHP编程语言为工具实现系统的各种网络接口功能。PHP是一种嵌入式语言,它的风格和C语言比较类似,在现在目前市面上大多数网站上得到了应用。PHP综合了C语言、perl等语言的语法,它并且有自己独特的语言特征。这对于与Web开发者来说是一种比较强大的开发工具。
2) 高效运营特性
使用PHP作为主要开发语言,其源码完全有较高的开放性,方便开发者的代码重用,编程语法也相对简单,可以以极为简单的语法来完成和其它WEB开发语言一样的功能;能够运用面向对象的思想实现编程,提供工作效率。另外,该编程语言也具有较强的移植性,PHP的语言脚本,不仅应用于WINDOWS平台,还可以运行在UNIX等平台上。
2.2. 论坛的数据存储
1) 存储系统选型
论坛将采用数据库管理系统作为论坛聊天的数据记录平台。目前数据系统有很多种,较为常见的有甲骨文公司的ORACLE,而研究的论坛系统可以采用Mysql数据库作为其数据存取平台,Mysql数据库是一种小巧型的数据库,它属于关系型数据库,能够将一些关系型数据进行存放,目前Mysql数据库的种种特性使得它成为最受欢迎的数据库系统之一。Mysql数据库相比于oracle数据库来说规模比较小,功能也没有ORACLE数据库全,数据库体积也不够大,但是正是因为它的这种特性,才使得它的成本低,访问速度更加快,而且,Mysql数据库目前的种种功能完全能够支撑一个小的网站的运作,Mysql也是比较适用于初创型的公司。
2) 存储优势
从式架构的存储结构作为该论坛的网络架构。在这种模式下面,使得数据会更加的安全,如果想要访问数据库,就必须发送一个请求给服务器端,这样当服务器端收到这个请求后,相应的返回给客户端应答数据,从而就完成了一次数据传输。
在Mysql数据库中设置需要的密码和相应的用户角色,这样当我们进行的一定的安全设置后,使得数据会保存的更加安全。Mysql数据库用来存放关系型的数据,那么在一个网站架构设计当中,mysql数据库就会承担关系型数据的保存任务,那么在关系型数据存放这一环节就会更加的快速。
2.3. 信息发布
Web服务器是一种BBS系统信息处理和发布的核心。在服务器上面,可以配置一些应用服务程序,这样所有网站浏览者都能够登录到网站服务器上面进行数据的浏览。它更像是一个商铺,客户通过进入到商铺里面来选择自己所要的物品。
目前世面上存在着多种类型的Web服务器,如Apache、Nginx、IIS等,通过对比发现,Apache服务器相对于其它的服务器,它是出现较早,应用更为广泛,它能够运行在几乎所有的计算机当中。
2.4. BBS的架构
论坛系统沿袭了传统的结构模式,有客户端、服务器端以及数据存放端的整体架构设计,当一个用户访问BBS,也就是客户端通过internet连接到服务器端,服务器端就会接受这个请求,服务器一般采用的是apache服务器,这个时候服务器就会选择性的将数据请求分发到后台真正存储数据的服务器,前提是我们要在服务器上面进行设置,这样做的目的是为了较少服务器的压力。如果不在服务器上面做这些优化,全世界的访客都访问这个网站,前端服务器就会崩溃,导致业务不能正常运转,相反,将这些用户请求很好的转发到后台的服务器之后,就会使网站系统不管在什么情况下都能够正常运转。BBS论坛的网络架构如下图1所示。
3. 需求与关系
3.1. 需求分析
1) 基本要求
软件的需求分析是根据用户的业务需要来进行某些关键点信息的提取的,通过进行关键信息的分析来规划软件产品,这个步骤是软件系统规划的前提,相当于构建一个大的框架,然后通过框架来一步步进行软件产品的开发工作。这一步的成功意味着我们能够开发出一个令客户满意的产品,并且顺利的交付于客户,使得客户能够真正利用我们的软件产品解决业务问题。
为了使得系统的模块能够正常使用、系统更加人性化,以及满足系统的实用性及安全性要求,本系统设置了4种角色:游客、普通会员、版主、超级管理员。
2) 主要功能
游客的各项功能为看帖,只有注册了论坛的会员后,才能执行完整的普通会员功能。
普通会员的各项功能有:用户登陆、发帖、看贴、发表评论、修改个人资料等操作。
版主的各项功能:修改本版块、查看版主信息、修改版主信息、查看贴子、管理本版块的帖子、版主拥有普通会员所有功能。
超级管理员的各项功能:用户管理、新闻管理、板块管理、帖子管理、评论管理、添加用户、其他所有功能等。
3) 数据管理
普通会员可以不登录进入系统,系统用户的数据包括用户名、用户密码、用户类型等等。用户ID在整个系统中是唯一的。用户浏览帖子时,数据应当包括用户名、帖子主题。用户根据某一主题可以发表帖子,发表帖子需要的数据包括用户名、Email、版块分类名、发表帖子标题、发表帖子内容。用户回复帖子的数据包括用户名、Email、回复帖子序号、回复的内容、版块分类名。管理员进入后台管理时,需要数据,包括管理员ID、管理员密码。用户只有登录了才能发帖,回帖,管理等等。
3.2. 关系描述
1) 论坛的业务流程
业务流程可以使用用户和功能的关系图来表示。详细见图2所示。
2) 论坛的ER
BBS的ER关系通过ER图的方式给展示了出来。这种关系模型图完全区别于数据库模型RR图,ER图目的在于使得项目所有参与人员都能够直观的理解项目需求,使相关人员之间相互配合完成项目。ER图是由不同的实体类型、关系、特性和类型构成。实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。特性用于描述实体,关系用于实体之间:
ER模型是对现实世界的一种抽象表达方式。主要成分为实体、联系和属性。使用这三种成分,完全能够建立许多应用于实际环境的ER模型。下面贴出本论坛系统所使用的数据库实体,它们分别为帖子实体、回复贴实体、版面实体、类别实体和用户实体,如图3所示。
3.2.1. 帖子实体
根据实体包括编号、所属版面、标题、内容、发布者、发布时间、表情、对贴子进行操作的时间、是否为置顶贴子、被置顶的时间、是否为精华贴子和被设置为精华贴子的时间等属性。其中是否为置顶贴子与是否为精华贴子属性分别用来标识贴子是否被设置为置顶或是精华贴子,1表示“是”,0表示“否”。帖子实体的ER图如图4所示。
3.2.2. 回复贴实体
回复贴实体包括了编号、帖子ID、标题、内容、回复者、回帖时间和表情属性。回复贴实体的E-R图如图5所示。
4. 数据模型
4.1. BBS数据设计
BBS论坛网站开发,首先要要对论坛系统所使用到的数据来进行逻辑抽象设计,不但要使人容易看懂,而且要能够适应BBS论坛系统功能的调用,只有这样才不至于导致逻辑上面的不清晰、混乱,与此同时还必须全方位、全方面地考虑数据在什么样的情况下才能保存够使系统调用数据是不会阻塞,使数据库不会成为一个瓶颈,之后,还必须保证数据库的高可用性,不至于使得数据库空间浪费,同时保证数据不会被破坏。
对于一个网站系统或者一个程序的整体开发来说,数据库的选用以及设计显得非常的重要,数据库设计的好坏就预示着程序开发工作后期的便捷以及能够确保工作顺利完成。在一个大型网站开发的过程中,数据库的选择能够确保互联网用户迅速快捷的连接到网站,获取所需,可见数据库开发的重要性。
4.2. 结构表
根据论坛的数据特征,设计了下列8种数据模型,用来表达论坛的8种数据对象,其对应着8种数据表。
如block表(block_id,block_name,user_id,block_number,block_bulletin,block_id,block_explain,block_icon);collection表(collection_id,post_id,user_id)等等。
还有表count,news,online,post,reply,user等。表user如图6所示。
5. 论坛接口设计
论坛根据需要其接口至少包括四类:论坛主页,个人中心,论坛聊天室,论坛管理等。其接口采用PHP编程实现,容器中的数据来源于后台数据库,通过网站Apache控制数据的访问。
如个人中心,如下图7所示。
论坛聊天室如下图8所示。
6. 结论
1) 新的BBS设计为大数据分析开辟了新的数据源。BBS信息交流系统主题范围广、信息量大,是大数据分析非常好的来源,能为大数据提供各种有价值的数据分析。
2) 进一步拓展了BBS论坛的Web技术应用。使用现代Python作为制造工具界面友好,能吸引更多的网络用户。更加细致深入地理清了BBS的功能属性,为BBS的发展注入了活力。BBS实时互动的新模式对网络运营商有着较强的吸引力。
3) 有着更为广泛的论坛分类、支持多种形式和数据类型,以及多种辅助功能,这将是BBS未来发展的方向。例如天气预报、广告、游戏以及其他的一些生活中的帮助功能。系统的交互性、健壮性还有待增强。
基金项目
海南省科技厅2022年自然科学基金重大专项(高层次人才项目)《拓扑向量空间辨识及其多网络车辆智能诊断应用》;海南省科技厅2020年自然科学基金重点项目《复杂网络理论特性及其优化应用研究》(60MS060);教育部2020年项目《新工科研究与实践项目》(E-JSJRJ20201333);海南省高等学校2020年教育教改项目《在线课程智慧平台的构建及学习状态演化分析研究》(Hnjg2020-120)。