1、本科毕业论文(20 届)基于手机的 web 服务器构建和应用所在学院 专业班级 网络工程 学生姓名 学号 指导教师 职称 完成日期 年 月 I基于手机的 web 服务器构建和应用摘要手机已成为日常生活中不可缺少的一部分。人们可以通过它打电话,发短信,听音乐,看视频,进行网上冲浪。手机因它的小巧,方便携带等特点,作为一个小型移动服务器来使用,是十分有价值的研究课题。随着科技的发展,网络技术已经深入到人们的日常生活中,同时带来了教育方式的一次变革。而网络考试则是一个很重要的方向。本文介绍了通过 ksweb 构建一个手机服务器,设计一个具有在线考试、及时阅卷、成绩查询以及考题和学生信息管理等功能的无
2、纸化在线考试系统。该系统是基于 PHP 和 MySQL,为了配合网上教学建立的“网上考试系统” ,实现网上学习一体化而设计的。设计本系统要熟悉 HTML,PHP 语言及MySQL 数据库的编辑和应用。其中用到了 EditPlus 帮助进行网页编码设计,还用到了 Phpmyadmin 对MySQL 数据库进行可视化操作。关键词: Ksweb;服务器;在线考试系统;PHP;MySQLIIConstruction and application of web server based on mobile phoneAbstractMobile phone has become an indispen
3、sable part of daily life.People can use it to call, send text messages, listen to music, watch videos, surf the Internet.Mobile phone as a mobile small server to use because it is small, easy to carry features.It is a very valuable research topic.With the development of science and technology, netwo
4、rk technology has deep into the Peoples Daily life, and the way of education brings a transformation.This paper introduces building a mobile server through ksweb and designing a on-line exam, timely with scores query scoring, and examination questions and the examinee information management function
5、s of network on-line examination system. The system is based on PHP and MySQL, in order to match the online teaching set up “online examination system, the realization of online learning and the integration of design. Design the system must be familiar with the HTML, PHP language and MySQL database
6、editors and application. With the help of EditPlus on web coding design, still use the phpmyadmin to help MySQL database of visual operation.Keywords: Ksweb;the server;online examination system;PHP;MySQLIII目 录1 绪论 .12 系统分析 .12.1 可行性分析 .12.2 需求分析 .22.3 开发环境 .23 设计工具及关键技术介绍 .33.1 Lighttpd 简介 .33.2 PHP
7、 语言简介 .33.3 MySQL 数据库简介 .43.4 PHP 连接 MySQL 数据库 .53.4.1 PHP 连接数据库的两种方法 .53.4.2 PHP 对 MySQL 数据库的两种连接方式 .54 概要设计 .64.1 总体设计 .64.2 系统结构设计 .65 系统详细设计 .75.1 手机服务器搭建 .75.2 数据库设计 .95.2.1 数据库分析 .95.2.2 数据库总体设计 .95.2.3 概念设计 .105.2.4 数据库具体物理结构 .115.3 在线考试的详细设计与实现 .125.3.1 学生用户详细设计与实现 .125.3.2 老师用户详细设计与实现 .156
8、系统测试 .186.1 测试环境 .186.2 软件测试 .186.3 软件测试的目标与方法 .186.4 系统评估 .187 总结与展望 .18参考文献 .20附 录 .21致 谢 .3111 绪论当今的社会,几乎每家都会有一台电脑,很多人都拥有至少一部手机。随着技术的发展,如今的手机的功能越来越强大,越来越接近于电脑。电脑能实现的功能,基本上通过一部智能手机就能够完成。因为功能上相近,加上手机的便携性这一最大特点,人们正在努力的让手机来替代电脑的一些功能,提供流畅,快捷的服务,让手机逐渐占据主导地位,成为未来的家居,外出必备之物。目前智能手机销量已经超 PC 机了。2011 年 2 月,
9、IDC 报告数据显示,2010 年第四季度全球智能手机出货量达到 1 亿零 90 万部,较上年增长 87%,而全球 PC 电脑出货量则低于预期,同比增长率仅为 3%,共计 9210 万台。全球智能手机销售数量首次超过 PC电脑。数量上的超越,从一方面说明了人们对智能手机的需求度以超过 PC。便携性及随时随地的使用性,是智能手机较之于 PC 的最大优势。而且苹果 iPhone问世以来,智能手机也走上了时尚化道路,不但屏幕变大利于用户体验,而且主流智能手机的重量多分布在 90-140g 之间,摆脱了以往厚、大的笨重形象,非常便于随身携带,这是 PC 电脑所无法比拟的。同时智能手机处理器能力也在不断
10、增强,很多已经强于一些老旧的 PC。ZDC 便携消费电子产品使用情况调查数据显示,中国 IT 网民中,拥有手机的用户每天携带手机的比例几乎接近 100%,手机比起电脑更是我们的必须品。虽然手机也有一些先天不足的因素,比如屏幕较小,操作不是十分方便,续航能力有所不足,辐射比较大这些缺点。但随着技术的发展,这些缺陷都会得到大大的改善,甚至消失。手机网站具有电脑网站所无法拥有的优势。由于现在大部分人都使用智能机,通过手机连接网络。企业方面可以拥有更多的客户,可以更好的向个人宣传,因为一个人可能整天带着手机的几率比整天带着电脑的概率要大的多的多。向个人宣传,推送时,能让客户更快接收到最新信息。比如现在
11、车险理赔,开始实行优质客户,只需将小事故的车险情况拍照上传,就可不用现场等待。直接由保险公司自己解决估价,赔偿问题。由于手机具有较为突出的便携性,并且现在大部分手机配置都可以满足一个小型服务器的最低要求。现将手机改造为一个小型移动的个人 web 服务器,通过局域网,建立一个临时在线答题系统。学生通过手机端可以来进行测试,老师可以将测试成绩作为平时成绩的一项参考标准。以此来验证手机作为一个移动 web 服务器的可行性和实用性,这是一个十分有趣且有价值的研究课题。2 系统分析2.1 可行性分析首先进行经济可行性分析。智能手机已经走进寻常百姓家,配置越来越高,价格越来越低。将来必定是人手一部或几部我
12、们现在认为的“高配” 手机。现在利用人们手里的手机做一个移动个人 web 服务器,是十分经济便宜的做法。同时定期的组织考试是各个院校及时掌握学生学习成绩的有效方式,平时老师也会做一些课堂测试,现在利用网络进2行在线考试系统,一方面可以节省人力资源,降低考试成本。另一方面,在线考试系统能够快速进行考试和评分,并能够保存学生分数,体现出考试的客观与公正性,而且也有证可查。然后是技术可行性分析。现在的大部分智能手机在硬件上已经达到了作为小型个人服务器的标准。所以在进行设计的时候,选择一款合适的作为个人手机 web 服务器是可行的。 在服务器构建方面,使用由俄罗斯人开发的一款基于 Android 的开
13、源服务器 ksweb 来帮助我们建立服务器。安装 lighttpd、php、mysql、 phpmyadmin 网站运行组件,帮助我们更好实行。而且这是完全免费的。而开发一个网络在线考试系统,现有好多实际运用的在线考试系统已开发并使用,网上也有很多详细建设教程,可以借鉴参考,然后自己开发一个简单的可进行联网作答的用于局域网内的答题系统。2.2 需求分析随着科学技术的发展,手机功能越来越强大,并且手机也成为人们生活中不可或缺的一部分。现将个人手机作为一个个人小型 web 服务器,并且能够进行局域网内在线答题,需满足以下一些基本要求:(1) 手机要满足作为服务器的基本要求,如内存和主频。(2) 手
14、机要满足几小时的续航能力。(3) 可连接无线网路。通过网络进行信息交流已成为一种快捷的交互方式。在这种网络环境下,在平时的教学中,我们可以在课堂上进行一次课堂测验。学生们可以通过局域网,联网进行在线答题,并自动改题判分,自动保存分数。老师可以减少批改,统计的工作,并能够及时的、准确地对考试进行跟踪和评价,并可以及时了解到自己的教学质量。与此同时,学生希望根据自己的学习情况进行测试,并能够得到客观、科学的评价。通过实际情况的调查,要求网络在线考试系统具有以下功能:(1) 要求界面设计美观大方、方便、快捷、操作灵活。(2) 要求实现在线考试功能,自动核算考试成绩。(3) 要求系统自动阅卷,保证考试
15、成绩真实有效。(4) 要求学生凭自己账号查询考试成绩,以保证信息准确,安全。2.3 开发环境Lighttpd 是众多 OpenSource 轻量级的 web server 中较为优秀的一个,PHP 是一种类似 ASP 的服务器端脚本语言,而 MySQL 是一个小巧的数据库系统软件,它们特别适用于网站建设。Lighttpd+PHP+MySQL 不仅仅是开源项目,可免费获取,而且它支持Linux、 UNIX、Windows 多个操作系统,可移植性好。因此,这种组合是设计动态网站的较好的解决方案。3(1) 硬件需求:智能手机(Android 系统)现使用荣耀 6无线设备(用于构建局域网)现使用 36
16、0WIFI(2) 软件需求:开发工具:ksweb(用作手机服务器构建)EditPlus(进行代码的编写)服务器: localhost via UNIX socket 服务器类型: MySQL 服务器字符集: UTF-8 Unicode (utf8)网站服务器:Lighttpd1.4.31+ MySQL 5.0.10 + phpMyAdmin 4.1.43 设计工具及关键技术介绍3.1 Lighttpd 简介Lighttpd 是一个德国人领导的开源 web 服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的 web server 环境。Lighttpd 是众多O
17、penSource 轻量级的 web server 中较为优秀的一个。具有非常低的内存开销、cpu 占用率低、效能好以及丰富的模块等特点。Apache 之所以流行,很大程度也是因为功能丰富,在 lighttpd 上很多功能都有相应的实现。而 Apache 在服务器内存消耗上,比较大。因此选择 lighttpd。Lighttpd web 服务器软件拥有以下特性:(1) 虚拟主机(2) virtual directory listingsURL-Rewriting,HTTP-Redirects(3) automatic expiration offiles(4) 大文件支持(64bit file
18、offsets)(5) 断点续传(start-end,start-,-end,multipleranges)(6) 压缩输出(支持 deflate,gzip,bzip2)3.2 PHP 语言简介PHP 是英文超级文本预处理语言 Hypertext Preprocessor 的缩写,它是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入 HTML 文档的脚本语言,PHP 独特的语法混合了 C、Java 、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用 PHP 做出的动态页面与其他的编程语言相比,PHP 是将程序嵌入到 HTML 文档中去执行
19、,执行效率比完全生成 HTML 标记的 CGI 要高许多;PHP 还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP 具有非常强大的功能,所有的 CGI 的功能 PHP 都能实现,而且支持几乎所有流行的数据库以及操作系统。以下罗列了 PHP 所具有的一些特点:4(1) 开放的源代码。所有的 PHP 源代码事实上都可以得到。 (2) PHP 是免费的。和其它技术相比,PHP 本身免费。(3) PHP 的快捷性。程序开发快,运行快,技术本身容易学习,上手快。嵌入HTML:因为 PHP 可以嵌入 HTML 语言,它相对于其他语言, 编辑简单,实用性强,更适合初学者。 (4)
20、 跨平台性强。由于 PHP 是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS 下。(5) 效率高。PHP 消耗相当少的系统资源。(6) 图像处理。用 PHP 动态创建图像 。(7) 面向对象。在 php5 中,面向对象方面都有了很大的改进,现在 php 完全可以用来开发大型商业程序。(8) 专业专注。PHP 支持脚本语言为主,同为 类 C 语言。3.3 MySQL 数据库简介MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 最流行的关系型数据库管理系统,在 web 应用方面 MySQL 是最好的 RDBM
21、S (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。 MySQL 软件采用了双授权政策(本词条“授权政策 ”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。以下罗列了 MySQL 所具有的一些特点:(1) 使用 C 和 C+编写,
22、并使用了多种编译器进行测试,保证了源代码的可移植性。(2) 支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware 、OpenBSD 、OS/2 Wrap、Solaris、Windows 等多种操作系统。(3) 为多种编程语言提供了 API。这些编程语言包括 C、C+、Python 、Java、Perl、PHP 、Eiffel 、Ruby,.NET 和 Tcl 等。(4) 支持多线程,充分利用 CPU 资源。(5) 优化的 SQL 查询算法,有效地提高查询速度。(6) 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他
23、的软件中。(7) 提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。(8) 提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。5(9) 提供用于管理、检查、优化数据库操作的管理工具。(10) 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。(11) 支持多种存储引擎。(12) MySQL 是开源的,所以你不需要支付额外的费用。(13) MySQL 使用标准的 SQL 数据语言形式。(14) MySQL 对 PHP 有很好的支持,PHP 是目前最流行的 web 开发语言。(15) MySQL 是可以定制
24、的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。(16) 在线 DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性。(17) 复制全局事务标识,可支持自我修复式集群。(18) 复制无崩溃从机,可提高可用性。(19) 复制多线程从机,可提高性能。3.4 PHP 连接 MySQL 数据库3.4.1 PHP 连接数据库的两种方法(1) 通过 mysql 库函数连接。这种方法是 PHP 连接 MySQL 最常用的方法,无论从易用性和效率上都比用 ODBC 接口连接好。PHP 存取 mysql 数据库的四个步骤是:建立连接:mysql_connect();操纵数据库:my
25、sql_select_db(); 返回布尔型数据值操纵数据库中的数据:mysql_query();关闭连接:mysql_close()。(2) 通过 ODBC 接口连接。开放式数据库互联(open database connectivity,ODBC)是Microsoft 引进的一种早期数据库接口技术。Microsoft 引进这种技术的一个主要原因是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。PHP 通过 ODBC不仅可以连接 MySQL 数据库,而且还可以连接 Oracle、Sybase、Informix 和 SQL Server等。3.4.2 PHP 对 MySQL 数
26、据库的两种连接方式无论是使用 mysql 库函数还是使用 ODBC 接口连接, PHP 对 MySQL 数据库的连接方式都有两种。分别是永久连接和非永久连接方式。(1) 永久连接方式:它的最大的优点是效率比非永久连接方式高,当客户端对 MySQL 服务器的连接请求非常频繁时,永久连接将更加高效。它使得每个子过程在其生命周期中只做一次连接操作,而非每次在处理一个页面时都要向 MySQL 服务器提出连接请求。即每个子过程将对服务器建立各自独立的永久连接。(2) 非永久连接方式:6即短连接方式。当客户端向 web 服务器请求网页时,服务器处理这个请求,并将所请求的网页发送给浏览器,然后连接就被断开,
27、直到浏览器发出下一个请求。对于大部分网站通常都使用这种连接方式,它虽然没有永久连接方式的效率高,但是可有效避免永久连接所带来的问题和提高服务器承载能力。4 概要设计4.1 总体设计一是利用手机建立一个个人的可移动 web 服务器。能够进行 web 服务器的服务。二是设计一个可通过局域网连接的,用建立的服务器来服务的在线考试系统。当我们服务器构建完成之后,开启服务,创建好局域网。学生可通过局域网连接到web 服务器上,用户可以连接进行答题测试。手机服务器要能够正常运行。网络考试系统中涉及两种不同的用户:考试用户、老师,他们的职能各不相同。考试用户进入网络考试系统,可以查询个人考试成绩,在线考试。老师进行试题库维护,包括删除,添加,及时更新,查询学生的成绩等信息。所有数据都存储在服务器的数据库中,具体应达到以下目标:(1) 服务器可以正常运行,提供服务。(2) 考试系统操作简单方便,界面简洁美观。(3) 考试系统自动阅卷,保证成绩的真实准确。(4) 学生可以查询自己的考试成绩,老师可以查看所有学生成绩,并修改试题。(5) 结束考试时,数据能够准确存储到服务器的数据库中,留给老师查看。4.2 系统结构设计首先手机服务器开启,构建局域网,然后登陆考试系统,考试系统分为教师用户和学生用户,其功能结构图如图 1 所示: