乱而迷失方向。
由于论坛系统的论坛作为人们日常生活获取信息的手段和交流的平台, 因此本文研究论坛系统的开发具有重要的实践意义。
1.2 课题的研究现状 随着互联网技术的发展,现在的论坛系统功能越来越多,不但可以发帖回帖,还可以上传视频和提供下载等等。
有的论坛系统为了达到更好的用户体验,在实现了基 、本的讨论功能后,设计了很多个性化的功能,比如在论坛中设置了“个人空间”“加为好友”等功能,还有的论坛系统,通过提供免费的空间来增加论坛的发帖量。
当然有些论坛系统的个性化功能设计新颖,也非常有使用价值,但有些个性化功能的设计却既没有多少使用价值,同时又大大的影响了系统的性能。
以目前许多学生自主创办的论坛为例,都因盲目重视功能,忽略了性能,系统运行一段时间后都因性能问题不得不更换其他论坛系统,每更换一次,论坛的数据就全部丢失。
由此可见,实现一个论坛系统如果只重视功能而忽略性能,破坏的影响是非常严重的。
经过对一些目前国内外比较典型的 BBS 论坛系统的方式的分析, 本文认为去掉系统不必要的个性化功能,实现一个性能好、速度快、安全性高并且基本功能完善的论坛系统是很必要的。
1.3 论文的研究内容 论文的主要研究内容是根据目前聊天工具的现状和需求,设计出一个具备交互、执行下载数据或程序、上传数据、阅读、与其它用户交换消息等功能,并在实际应用中予以实现和评价。
具体的研究内容如下: 对论坛系统目前的国内外发展现状进行对比分析,找出交流系统存在的问题,提出相关的解决策略。
结合解决策略,设计新的适合时代特点的论坛系统,并对照原有的传统的交流工具分析论坛的特点和适应性,完成论坛的系统实现。
1.4 系统的设计思路 系统将采用软件工程的生命周期过程来进行分析设计。
其基本思路:首先,是进行系统可行性分析和系统的初步设计规划。
其次进行需求调研,主要通过对国内外各种大型论坛进行亲身体验、现有开源论坛系统的研究及进行网上调查与提问等方式得到需求,在此基础上进行需求分析以确定需求是否值得设计开发,完成业务逻辑分析与设计,确定系统的功能模块等。
接着准确地进行数据库设计、界面设计以实现系统所要达到的规划目标。
最后进行系统布署与测试,以改进系统性能。
2 理论基础2.1 WAMP 架构介绍2.1.1 WAMP 架构的提出 1998 年,Michael Kunze 为德国计算机杂志写了一篇关于 Free 软件如何成为商业软件替代品的文章,创建了 LAMP 这个名词,Linux 操作系统、Apache 网络服务器、MySQL 数据库和 PHP(Perl 或 Python)脚本语言组合而成的—— LAMP (四种技术的开头字母组成),随之 LAMP 技术成为了开源软件业的一盏真正的明灯。
随着互联网开源潮流的迅速发展,全球 IT 业正迎来一个新的发展格局成长期,而 LAMP 所代表的开源软件以其开放性、低成本、安全性、适用性以及可靠的性能,正对传统软件、硬件和系统集成商产生巨大的冲击,同时,也给创新型 IT 企业、程序开发者创造了前所未有的机遇。
中国开源软件推进联盟主席陆首群说,LAMP 也可以派生出 WAMPW 代表Windows 操作系统。
事实上,PHP 与.Net 是并存的,PHP 也可以和 Windows 捆绑在一起,两者并没有冲突,可以因地致宜地使用开源与闭源混合架构。
本系统就是采用 WAMP 架构进行论坛程序。
2.1.2 WAMP 架构的优势 WAMP 架构易于开发、安全性高、适用性强、性能可靠、更新速度快、成本低,WAMP 被许多开发者视为“黄金组合”。
由于 Apache 是免费的,此外还有免费数据库 MySQL 服务器和开源语言 PHP 共同构建了广受追捧的“WAMPLAMP”套件,性价比极高,因此赢得了网站开发人员的广泛青睐。
2.1.3 WAMP 架构的研究现状 在今天,全球已有 2000 万个网站使用 PHP,包括最流行的雅虎、Google、百度,也包括像汉莎航空电子订票系统、德意志银行的网上银行、华尔街在线的金融信息发布系统,甚至军队系统这类五花八门和苛刻的环境。
随着社区 BBS 及 Web2.0 应用的普及,以及国内 PHP 技术支持者的不断增加,据 PHPChina 资料统计在中国前 200 名的网站中有 61的采用了 WAMP 技术。
业内人士预计,在服务器平台及软件方面,WAMP 市场占有率将在未来两年内取得更高的市场分额。
2.2 PHP 技术2.2.1 PHP 技术概述 PHP 全称为 Personal Home Page,是一种跨平台的服务器端脚本技术。
于 1995年开始发行使用,到 1998 年成为一个成熟的软件产品。
它最初是一个人为了写他的主页而用 Perl 写的“包装”程序,后来因为用的人多了,就发展了起来。
现在 PHP已经成为最流行的 Web 脚本语言之一,它运行在 Web 服务器端,根据用户请求或服务器端的数据产生动态网页。
它功能强大,和 HTML 脚本融合在一起,并内建访问数据库的能力。
它能够作为 Apache Web 服务器的模块执行,也使得它的执行效率要高于普通的 CGI 程序。
PHP 是编程语言和应用程序服务器的结合,PHP 和其它的编程语言类似,使用变量存储临时数值, 使用操作符处理变量。
PHP 的真正价值在于它是一个应用程序服务器,应用程序服务器是指一个把几个不同的技术组合为一个完整的套件的程序,这些技术包括:一个强壮的编程语言;存取数据库中存储的数据;支持 Internet 协议,尤其是电子邮件和 HTTP 协议。
PHP 大量借用了 C、
Java、和 Perl 语言的语法,并加入了各种 PHP 自己的特征,使 Web 开发者能够写出快速的动态页面。
PHP 是一种跨平台的服务器端嵌入式脚本技术。
PHP 页面是一种文本文件,是在普通 HTML 页面文件中嵌入 PHP 脚本语句,由服务器解释和翻译成普通的 HTML文件,然后传送给客户端浏览器,这一点和 ASP 一样。
PHP 脚本语句段以“lt”为开始,以“gt”为结束。
“lt”和“gt”之间的脚本语句由服务器软件调用 PHP 脚本解释引擎解释后替换为普通的 HTML 脚本。
PHP 语法和 C、Perl 的语法很相似,并主要来源于 C 语言,如控制流语句与 C几乎完全一样、变量之间的运算符与 C 的类似、函数定义和调用与 C 的类似等。
PHP的变量名前面必须有一个号,如Var1、Var2。
PHP 的变量作用域规定也类似于 C,即缺省认为主函数中的变量是全局变量,而函数中的变量都是局部变量。
在 PHP 中,echo 和 printf 函数用来向 HTML 页面中输出 HTML 内容, 其中 echo 输出无格式字符串 , printf 输 出 格 式 化 的 字 符 串 。
如 echoquotwelcome you to come herequot 和printfquotsdquotstr1int1。
2.2.2 PHP 技术特点 现在通常用的服务器端脚本技术是 CGI。
现有的 Web 后台程序,绝大多数采用下列几种技术编写:Perl 或采用第三方解决方案(如 ASP) ,虽然每类方案都有各自的强项但均不是理想的解决办法。
Perl 编写 CGI 是使用得最多的方法,在网络上也有很多现成的脚本可以拿来修改使用,但它却存在公认的性能问题:由于 Web 服务器运行时需调用解释程序解析代码, 当站点的访问人数激增时,Web 服务器的性能也必将直线下降,另外则是它的数据库连接功能非常弱,某些情况下甚至还会降低数据库的存取速度。
如 第三方厂商提出了较好的解决方案: Microsoft 的 ActiveServerPage。
它具有运行速度快,数据库操作功能强大等特性,受到了许多开发者的欢迎,但它们只能单纯地运行于个别平台NT,对要求更高回应率的网站来说大多数大中型网站均建于 Unix 或 Linux 平台,Apache 系列 Web 服务器还是不能顺利采用(注:目前已有人提出这两种技术在 Unix 系列平台上应用的方案,但要么是不具备源技术的全部优秀功能,要么就是只能应用于个别 Unix 平台) 。
1997 年,PHP 开发小组在原PHP/FI2.0 的基础上,开发出了全新的 PHP3,免费让所有人使用和(或)更改解释器源代码。
相对于传统的 CGI 语言,PHP 拥有下列超群的特性:1易学易用:PHP 的语法结构大部分借用了 C、
Java、Perl 的好的语法框架,有以上编程经验的开发人员可快速地掌握投入实际使用。
2运行速度快:PHP 采用 HTML 内置标记技术,解释程序本身作为 Web 服务器的一个模块运行,相当大地提高了运行时的解析速度。
经测试表明,在 Web 站点访问量非常大时,PHP 的解析速度相当于传统 CGI 程序的 4 倍,非常适合大中型站点的应用。
3跨多个平台:目前 PHP 可在 Windows、Unix、Linux 的 Web 服务器上正常运行,支持 IIS,Apache 等通用 Web 服务器,用户更换平台时,无需变换 PHP 代码,可即拿即用。
4效率高:和其它的解释性语言相比,PHP 系统消耗较少的系统资源。
当 PHP 作为Apache Web 服务器的一部分时,运行代码不需要调用外部二进制程序,服务器解释脚本不需要承担任何额外负担。
5开放
源码:所有的 PHP
源码都可以得到。
6没有运行费用:PHP 是免费的。
7基于服务器端:由于 PHP 是在 Web 服务器端运行的,PHP 程序可以很大、很复杂而不会降低客户端的运行速度。
8嵌入 HTML:因为 PHP 语言可以嵌入到 HTML 内部,所以 PHP 容易学习。
9简单的语言:和
Java 和 C不同,PHP 语言坚持以基本语言为基础,然而它的功能也强大到足以支持任何类型的 Web 站点。
10极其强大的数据库支持:PHP 最强大也最有代表性的特点在于它的数据库层,它内置了对很多数据库的支持,而不再需要特殊扩充,使得编写基于数据库的网页变得非常简单。
目前所支持的数据库有 Oracle、Sybase、FilePro、mSQL、Velocis、MySQL、In-formix、Solid、dBase、ODBC、Unix、dbm、PostgreSQL、MSSQLSERVER 等。
针对每个数据库都有一组函数用于数据库访问和操作,如对 MySQL 有 mysql_close、mysql_connect、mysql_create_db、mysql_db_query 等函数。
11文件存取:PHP 有许多支持文件存取的函数。
12文本处理:PHP 有许多函数处理字符串,其中包括模式匹配的能力。
13复杂的变量:PHP 支持标量、数组、关联数组等变量,这给用户提供了以支持其它的高级数据结构的坚实基础。
14图像处理:用户可以使用 PHP 动态地创建图像。
2.3 MySQL 数据库技术2.3.1 MySQL 数据库概述 MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。
目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。
由于其体积小、速度快、总体成本低,尤其是开放
源码这一特点,许多中小型网站为了降低网站总体成本而选择了 MySQL 作为网站数据库。
MySQL 的特性:1核心程序采用完全的多线程编程。
线程是轻量级的进程,它可以灵活的为用户提供服务,而不用浪费过多的体统资源。
2可运行在不同的平台上。
3它有一个非常灵活且安全的权限和口令系统,当客户与一个服务器链接时,它们之间所有的口令传送被加密, 而且它允许基于主机的认证。
4它拥有一个非常快速的基于线程的内存分配系统,而且没有内存漏洞,所以可以不断地使用而不用担心其稳定性。
事实上,它的稳定性足以应付一个超大规模的数据库,如跨国公司的处理流程。
5PHP 的强力支持。
PHP 中提供了一整套的 MySQL函数,用来对 MySQL 进行支持。
与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它的不足之处,如规模小、功能有限等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于MySQL 是开放
源码软件,因此可以大大降低总体成本。
相对说来,MySQL 内定最大连结数为 100 个使用者。
但是,我们绝对不可以用一个程序的内建设定来判断它的效能。
到目前为止,我们还没听说过使用 MySQL的较大而且访问频繁的网站上的用户有任何抱怨。
2.3.2 MySQL 图形管理工具---phpMyAdmin MySQL 的标准操作全部是在字符界面下的,这样可能会让习惯图形界面的用户觉得不友好。
因此出现了一些非命令行方式的管理 MySQL 的工具。
使用最多的 MySQL 管理工具是 phpMyAdmin。
phpMyAdmin简称 PMA是一个用 PHP 编写的在网络上直观管理 MySQL 数据库的软件,是众多 MySQL 管理员和网站管理员的首选数据库维护工具,通过 phpMyAdmin 可以完全对 MySQL 数据库进行操作,例如建立、复制、删除数据等。
phpMyAdmin 的主界面如图 2.1 所示。
图 2.1 phpMyAdmin 主界面2.4 论坛采用 B/S 架构 PHP 采用浏览器/服务器B/S模式架构。
所谓 B/S 结构,就是通过浏览器(Browser)来访问服务器(Server)上的内容,客户端不需要运行其他软件。
B/S 结果的优点是维护方便。
客户端运行的软件是一个随操作系统同时发布的浏览器,例如 IE,而不用安装其他软件。
浏览器通过网络获取服务器的信息。
B/S 结构系统的所有的维护、升级工作都只在服务器上运行,服务器代码修改后,客户端就能获取最新的信息。
服务器端的 PHP 代码会转化为 HTML 代码传输到客户端, 一个基本的 HTML 代码如下所示:lthtmlgt ltheadgt lttitlegt标题lt/titlegtltbodygt 主题lt/bodygt lt/headgtlt/htmlgt 在实际应用中,通常 PHP 代码和 HTML 代码混合.
上一篇:
【精品论文】基于开源Web3D引擎的三维系统的开发
下一篇:
村落共同体的核心架构研究