【PHP开源代码栏目提醒】:网学会员鉴于大家对PHP开源代码十分关注,论文会员在此为大家搜集整理了“基于LAMP架构的股票模拟系统 - 机械机电”一文,供大家参考学习
厦门大学 硕士学位
论文基于LAMP架构的股票模拟系统 级别:硕士 专业:计算机应用技术 指导教师:张德富 20090501 摘要 随着互联网技术的不断发展,各种网络应用应运而生,人们为了存储信息的方便,越来越依赖于网络。
网络数据库解决了人们利用网络存储和处理各种信息的困难,脚本编程语言可以方便地实现各种网络应用,而脚本编程语言和网络数据库的有机结合更是为互联网的发展注入了强大的动力。
本文讨论了基于LAMP架构(Linux+Apache+MySQL+PHP)的股票模拟系统的实现,采用PHP脚本编程语言,以MySQL作为后台数据库,并引入AJAX技术,实现了数据的实时更新;通过数据采集功能,导入股票股价和上证指数等实盘数据,实现了高仿真股票模拟系统,满足了用户通过互联网模拟股票操作的需求。
本文共七章分别阐述了股票模拟系统的设计思路、原理和具体实现的方法。
第一章绪论,对课题进行了论证分析,并介绍了LAMP架构的内容及优点,明确了研究内容和方向。
第二章系统构建,对股票模拟系统设计的原则、要求和实施方案作了分析,阐明了本系统主要功能模块和数据库设计的原则、要求,并详细说明了本系统数据表的设计过程及各数据表之间的关联情况。
第三章功能实现,对整个股票模拟系统的功能实现做了详细的说明。
第四章AJAX技术和数据采集,说明了如何引入AJAX技术实现数据的实时更新,以及通过数据采集,导入股票实盘数据的过程。
第五章系统安全性,对本股票模拟系统涉及到的安全问题作了详尽分析,并寻找解决的办法和途径。
第六章讲述了股票模拟系统如何部署与实施。
第七章问题及措施,讲述了本系统中存在的问题以及应对措施,如无刷新浏览问题和数据库优化问题等。
最后,对本系统设计进行了总结,并谈到了系统设计中存在的不足之处和今后研究的方向。
关键词:LAMP AJAX PHP股票模拟 Abstract With the continuous development of Intemet technology,various networkapplications occur.The people increasingly relied on network in order to convenientlystore data.The network database solve the problem of saving and processing variousinformation.The birth of script programming language may realize different networkapplications.The organic synthesis of script programming language and networkdatabase provides strong power for the intemet’S development. This paper discusses the realization of the simulation system of stocks based onLAMP architecture(Linux+Apache+MySQL+PHP).In order to realize real—timeupdates of data,this paper uses MySQL database硒a background,uses PHP scriptingprogramming language and introduces AJAX technology;、析th the help of the dataacquisition function,this paper realizes a high simulation system to meet the needs ofstock-operation through the Internet for the users. This paper uses seven chapters to set forth the design idea of simulation system forstock,principles and specific methods. Chapter 1 carries out feasible studies on the subject,describes the contents andadvantages of the LAMP architecture and confirms the research content and direction. Chapter 2 analyzes the principles,requirements,and implementation plan ofsimulation system design,expound the main functions of the system modules and theprinciples,requirements of the database design,and explains the association betweenthe design of data table and data tables in details. Chapter 3 explains the functional realization of the entire stock simulation systemin details. Chapter 4 is the description of AJAX technology and data collection,explains howto introduce AJAX technology to achieve real-time updates of data and import data ofstocks. Chapter 5 explains the security issues involved in simulation system of tock andfinds ways and means to solve. Chapter 6 describes how to deploy and implement the stock simulation system Chapter 7 describes problems in the system and solution to solve them,forexample,Can’t refresh your database,optimization problems and SO on. The last part summarizes the design of the system and puts forward theinadequacies and future direction.Key Words:LAMP;AJAX;PHP;Stock simulation 厦门大学学位
论文原创性声明 本人呈交的学位
论文是本人在导师指导下,独立完成的研究成果。
本人在
论文写作中参考其他个人或集体已经发表的研究成果,均在文中以适当方式明确标明,并符合法律规范和《厦门大学研究生学术活动规范(试行)》。
另外,该学位
论文为( )课题(组)的研究成果,获得( )课题(组)经费或实验室的资助,在( )实验室完成。
(请在以上括号内填写课题或课题组负责人或实验室名称,未有此项声明内容的,可以不作特别声明。
) 声明人(签名): 年 月 日 厦门大学学位
论文著作权使用声明 本人同意厦门大学根据《中华人民共和国学位条例暂行实施办法》等规定保留和使用此学位
论文,并向主管部门或其指定机构送交学位
论文(包括纸质版和电子版),允许学位
论文进入厦门大学图书馆及其数据库被查阅、借阅。
本人同意厦门大学将学位
论文加入全国博士、硕士学位
论文共建单位数据库进行检索,将学位
论文的标题和摘要汇编出版,采用影印、缩印或者其它方式合理复制学位
论文。
本学位
论文属于: ( )1.经厦门大学保密委员会审查核定的保密学位
论文,于年 月 日解密,解密后适用上述授权。
( )2.不保密,适用上述授权。
(请在以上相应括号内打“√”或填上相应内容。
保密学位
论文应是已经厦门大学保密委员会审定过的学位
论文,未经厦门大学保密委员会审定的学位
论文均为公开学位
论文。
此声明栏不填写的,默认为公开学位
论文,均适用上述授权。
) 声明人(签名): 年 月 日 第一章绪论 第一章绪论1.1背景分析 随着社会经济和互联网技术的发展,各种网络应用应运而生,如虚拟世界、网络经济、网络传媒等,网络改变了这个世界。
互联网的发展经历了三个阶段:第一代互联网fll】Webl.0,是以编辑为特征,网站提供给用户的内容是网站进行编辑处理后提供的,用户浏览网站提供的内容。
这个过程是网站到用户的单向行为,Webl.0时代的代表站点为新浪、搜狐、网易三大门户;Web2.O则加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与,Web2.0不同于Webl.O的最大之处在于它的交互性。
这个时期的典型代表有:博客中国、亿友交友、联络家、Discuz!论坛等;用户在Web2.0网站系统内拥有自己的数据。
并完全基于Web,所有功能都能通过浏览器完成。
微软提出Web3.0概念,并且已经申请多项专利,Web3.0网站内的信息可以直接和其他网站相关信息进行交换和互动,能通过第三方信息平台同时对多家网站的信息进行整合分类。
Web3.0用户可以在互联网上(不是在Web2.0网站系统内)拥有自己的数据,并能在不同网站上使用。
Web3.0完全基于Web,只须用浏览器便可以实现复杂的系统程序才具有的功能。
基于Web2.0,在虚拟环境中,使用虚拟货币进行股票模拟操作,包括委托交易、股指期货、权证交易及基金交易等;以满足人们在互联网上进行股票模拟操作的需求,但在虚拟环境中容易出现数据安全等问题。
1.2可行性分析 本股票模拟系统以LAMP为核心,通过虚拟货币进行操作,在虚拟的环境中模拟股票系统的操作。
需要解决的几个主要问题:一是通过脚本编程语言实现股票模拟操作的算法;二是WEB数据的传输和实时更新问题;三是股票模拟系统的优化问题。
在第一个问题中主要以目前比较流行的PHP脚本编程语言实现,包括委托交易,股指期货,权证交易,基金公司等;第二问题WEB数据的传输是通过用户请求的URL参数、用户提交的表单数据和会话信息等方式进行, 基于LAMP架构的股票模拟系统采用AJAX异步传输可以实现数据的实时更新,从安全角度考虑,数据传输以其内容不发生改变为前提。
第三个问题,本系统优化取决于LAMP系统、MySQL数据库和应用程序三者的优化。
对应用程序本身进行优化是一个复杂的问题。
应用程序和后端服务器之间存在一种共生关系:未能适当优化的服务器甚至会使最好的应用程序在负载过重的情况下崩溃,正确的后台监视和系统优化可以发现应用程序中存在的问题。
本课题就股票模拟系统的算法、WEB应用的通信机制和系统的优化与安全等问题进行深入的研究和探索,在此基础上研发出股票模拟系统。
1.3问题解决方案 该模拟系统主要采用LAMP(Linux、Apache、MySQL和PHP/Perl)架构,即网络操作系统Linux,Web服务器软件Apache,网络数据库MySQL和网络脚本编程语言PHP的综合解决方案,同时还要考虑数据库的优化和安全等问题。
1.3.1 LAMP网站解决方案… LAMP是基于Linux、Apache、MySQL和PHP的开放资源网络开发平台,它是一组用来搭建动态网站或者服务器的
开源软件,本身都是各自独立的程序,因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序开发平台。
随着
开源潮流的蓬勃发展,开放源
代码的LAMP已经与J2EE和.Net商业软件形成了三足鼎立态势,并且利用该平台开发项目投资成本较低,因此受到整个IT界的关注。
据统计,Intemet70%以上的访问流量是LAMP提供的,LAMP成为目前普及度最高的网站解决方案。
它有如下明显的特征: >
开源性:其中Linux是
开源操作系统,MySQL是
开源关系型数据库, PHP是
开源脚本编程语言; >成本低:LAMP软件组合都是基于免费
开源软件,所以其开发项目投资 成本较低; >稳定性:由LAMP开发的软件系统稳定性比较高; >速度快:由LAMP开发的软件系统运行速度相对较快; 2 第一章绪论 >安全性:安全有保障; LAMP目前已经成为Web服务器的标准。
实践证明,Linux平台的安全性相对Windows平台要更高,黑客要入侵是非常困难的。
因此,LAMP主要被用于大中型企业的网络应用服务,适用范围覆盖了政府机关、科研院校、电信移动、银行、企业等几乎所有对安全性、稳定性具有很高要求的行业领域。
大型社区平台因安全性和交互性考虑,采用Windows软件平台的寥寥无几,正在逐步转向LAMP平台。
LAMP无论是性能、质量还是价格都将成为企业、政府信息化所必须考虑的平台。
综上所述,基于LAMP架构的网站解决方案是比较理想的,其一直坚持的免费
开源精神使LAMP技术成为了自由软件业的一盏真正的明灯。
1.3.2 LAMP系统组件口1 LAMP具有简易性、低成本和执行灵活等特点使得其在全球发展速度较快,应用较广,越来越多的企业将平台架构在LAMP之上,LAMP架构的崛起,与J2EE架构和.Net架构形成了三足鼎立的竞争态势。
实践证明,LAMP是一组高效、稳定的软件。
每个组成元素的开放式结构有机地结合在一起,从而形成了一个强大的组合。
它由Linux、Apache、MySQL、PHP/Perl/Python四个组件组成,呈分层结构,每一层都提供了整个架构的一个关键部分。
1、Linux操作系统 Linux处在最底层,提供操作系统。
它的灵活性和可定制特点使其成为一种能够高度定制的平台,让其它组件在上面运行。
Linux操作系统通常包含Linux内核、工具和源
代码,其中最重要的组成部分是内核。
Linux内核的版权受GNU(自由软件基金会组织)通用公共许可证 (GPL)保护。
Linux操作系统具有性能好、安全性高、开放自由特点,可以直接从网上下载得到并安装它。
现在,Linux已经成为了一种受到广泛关注和支持的操作系统。
包括IBM和惠普在内的一些计算机业巨头也开始支持Linux。
和其它的商用Unix系统以及微软Windows相比,作为自由软件的Linux具有低成本,安全性高,更加可信赖的优势。
2、Apache Web服务器 基于LAMP架构的股票模拟系统 Apache位于第二层,它是一个Web服务平台,提供可让用户获得Web页面的机制。
Apache是一款功能强大、稳定、可支撑关键任务的Web服务器,可以在大多数计算机操作系统中运行,由于它多平台和安全性,被广泛使用,成为最流行的Web服务器端软件之一。
它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中,得到了用户的广泛认可。
目前Interact上超过50%的网站都使用它作为Web服务器。
Apache的主要特性包括: >几乎可以运行在所有的操作系统上,如Linux、Windows、Solaris。
>简单而强大的基于文件的配置工具(httpd.conf)。
>可以通过Web浏览器监视服务器的状态。
>支持虚拟主机。
>支持安全套接字层(SSL)。
>具有用户会话过程的跟踪能力。
>集成了Ped语言。
>集成了代理服务器。
3、MySQL数据服务器 MySQL是最流行的
开源关系数据库管理系统,是LAMP的数据存储端。
在Web应用程序中,所有帐户信息、产品信息、客户信息、业务数据和其他类型的信息都存储于数据库中,通过SQL语言(即结构化查询语言)可以很方便地查询和处理这些信息。
MySQL的主要特性如下: >能够工作在大部分硬件平台和操作系统上,如Linux、Mac OS、Windows。
>提供了用于C、C++、Java、Perl、PHP、Python、Ruby和Tcl的API。
>其SQL函数是使用高度优化的类库实现的,运行速度很快。
>服务器可以作为独立的程序以客户/服务器方式运行,也可以作为库嵌入 (链接)到其他应用程序中。
>有大量可用的共享MySQL软件,大大简化了MySQL的使用和管理。
>提供了灵活安全的权限和密码系统,当用户连接到服务器时,所有的密码传输均采用加密形式。
>具有较强的可伸缩性,能够处理大型数据库。
使用MylSAM表时,最大 4 第一章绪论可达65 536TB,因此MySQL数据库的最大表尺寸通常是由操作系统对文件大小的限制决定的。
4、PHP脚本编程语言 PHP是一种被广泛应用的开放源
代码的多用途脚本语言,它可嵌入到HTML中,尤其适合web开发。
可以使用PHP编写能访问MySQL数据库中的数据和Linux提供的一些特性的动态内容。
PHP主要用于开发服务器端应用程序及动态网页。
PHP程序是开放源
代码最流行的一种脚本语言,可以用于替代微软的ASP体系、Sun微系统公司的JSP/Java体系,以及CGI/Perl等。
它是一种嵌入HTML页面中的脚本语言。
PHP在Web服务器上运行。
当PHP脚本被客户端请求时,被请求的程序开始执行,并把执行的结果返回给客户端的网页浏览器。
发送给客户端浏览器的内容是普通的HTML文本,不包含PHP
代码。
这是与嵌入HTML的客户端脚本的最主要的区别。
在有了PHP.GTK扩展的支持后,现在的PHP已经可以被用来编写窗口程序了,PHP4版本以后,PHP也可以用来编写后台SHELL脚本程序,甚至有用PHP程序编写WEB服务器。
目前最新版本为PHP5。
1.3.3 LAMP网站解决方案的优点 LAMP具有免费
开源、成本低、稳定性高、运行速度快、安全性高等优点。
组成LMAP的各个组件,都是
开源软件中的最为出色的项目,这些组件完全是
开源的,所以LAMP也完全是
开源的。
LAMP代表着当今人类对科技发展的一种新的态度、新的理想,代表着科技发展的一种新的模式、一种新的文化理念。
LAMP网站解决方案的优势: >灵活性:既没有技术上的限制也没有许可证的限制。
这允许用户能够以适合方式灵活地构建和部署应用程序,而不会受到技术提供商规定的限制。
>个性化:LAMP组件是
开源软件,已经建立了大量额外的组件和提供额外功能的模块,能够让用户个性化设黄组件和定制功能以便满足用户的需求。
>易开发:使用LAMP组件开发极其简单,
代码也非常简洁,甚至非程序员也能够修改或者扩展LAMP应用程序,同时也给专业的程序员提供了各种高级的特性。
5 基于I.AMP架构的股票模拟系统 >易用性:大多数主机服务都把基于LAMP的环境作为标准,应用程序也不需要编译,本文第六章详细介绍了LAMP环境的配置。
>安全稳定:由于是
开源软件,大量的程序员关注和参与这些软件的开发,问题通常能够很快地修复,不需要昂贵的技术支持合同。
经过大量的用户和团体组织多年来的开发和使用,LAMP技术是安全和稳定的。
>成本低廉:LAMP组件都是
开源免费软件,只要遵循GPL协议,可以自由获得和免费使用,极大降低了开发成本。
LAMP作为一种Web网络应用和开发环境,基本上是四种
开源软件技术的组合,它们组合在一起产生了一个功能强大的应用服务平台,使用却相对简单。
作为
开源软件组合LAMP已成为
开源软件中的启明灯。
1.3.4 LAMP环境的搭建 详情见第七章基于LAMP环境的股票模拟系统的部署与实施,这里不再赘述。
1.4主要研究内容 股票模拟系统主要是基于LAMP平台,在虚拟环境中利用虚拟货币模拟股票操作,包括委托交易、股指期货、权证交易和基金交易等,同时引入AJAX技、术实现数据的实时更新,通过数据采集功能,导入股票股价和上证综指等实盘数据,达到高仿真股票模拟操作的效果,满足人们在互联网上模拟股票操作的需求,本文主要研究内容包括: >基于客户机/服务器模式的分布式数据库系统的建立; >股票模拟操作算法的实现; >WEB应用参数的传输; >AJAX技术,WEB数据的实时更新; >WEB数据采集功能; >数据库的优化与安全。
6 第二章基于LAMP架构的股票模拟系统的构建 第二章基于LAMP架构的股票模拟系统的构建2.1系统的设计原则乜1 股票模拟系统总的设计原则:采取分层结构,模块化设计思路,逐层开发。
同时应该考虑系统的安全性、稳定性、实用性、开放性、兼容性和易用性等。
具体要求如下: 1、界面友好,操作方便:股票模拟系统的界面设计符合用户操作习惯,系统功能完备实用,简单易学,界面友好,结构清晰,操作方便。
同时网络结构简单明了,层次清楚,便于管理,易于扩充。
2、系统稳定,运行高效:要保障整个系统平稳高效地运行,这就要求达到系统设计合理化,数据库设计和程序设计最优化。
同时要开通监控功能,经常检查核对系统数据,及时纠正一些隐藏的逻辑错误和其它错误。
3、系统安全,数据安全;要保障系统和数据安全,必须采取安全有效的通信机制和防范措施,包括数据监控功能。
(1)设计安全提问,提供身份验证,保护用户帐号安全; (2)根据用户的等级设计不同的权限,保障系统的正常运行; (3)后台要设计用户详细操作记录,可以随时查询,发现问题及时纠正; (4)要求数据库安全保密,能定期进行数据优化和备份工作; (5)考虑与硬防相结合,采用路由器技术,设立系统防火墙,保障Web服务器安全,防止非法入侵,加强服务器的网络管理,同时也要防止计算机病毒对系统的破坏。
4、总体规划,分层实施:在开始设计之前应该对Web系统进行总体设计,然后在总体设计指导下分步开发。
基于LAMP架构的股票模拟系统是一个融合了多元信息的集成系统,采用分层开发:表现层、控制层、业务逻辑层、模型层、数据访问层等,在适应系统需求的准则下,设计低耦合的分层结构,利于团队成员的分工协作,提高开发效率,降低项目风险,实现各个模块的功能设计,完成整个系统的开发。
7 基于LAMP架构的股票模拟系统 2.2系统架构平台的选择 LAMP架构与J2EE架构和.Net架构已经形成了WEB服务器领域三足鼎立 的竞争态势,由于LAMP的免费
开源和高度灵活的特征,我们首选LAMP架构,~一 ~ LAMP架构也是基于B/S 浏览模式,符合大部分用户习惯,既可以实现强大 的功能,同时也可以大大地节约项目开发成本。
2.3股票模拟系统实施方案 本股票模拟系统,以LAMP为运行平台,以B/S为浏览模式,用户在虚拟 环境下利用虚拟货币进行委托交易、股指期指、权证交易和基金管理等模拟操作, 同时使用AJAX技术和数据采集功能,引入股票股价和上证综指等实时数据,达 到高仿真效果,具体实施方案: l、用户需注册开户才可以进行相关操作,游客仅提供部分浏览权限,如查 看委托交易记录,实盘操作记录等数据。
2、在实盘操作中,必须在正常交易时间内进行,因为实盘股价和上证综指 等数据是实时更新的。
3、将实盘数据和模拟数据进行有机整合,例如上市公司的业绩是以实盘操 作的业绩为基础,并且提供退市制度;实盘竞猜则是以上证综指为依据,用户利 用虚拟货币进行模拟操作。
4、用户级别:用户资金达到一定数量,其相应级别有所提升。
5、管理员权限:管理员可以对整个系统进行统一管理和设置,可以监控系 统,系统提供后台管理,只有管理员和指定管理身份的人员才能进入。
6、个股上市畸1:用户总资产达到一定数量时,可以申请个股上市,但需要 经过管理员审批才能通过。
7、委托交易∞1:股票模拟系统的基本操作,包括委托买入和委托卖出,交 易原则为价格优先和时间优先。
8、竞价撮合:即在开盘前5分钟,以上一次收盘价为基础开始竞价,最后 以成交量最多的价格为开盘价。
9、基金公司汹1:用户满足一定条件时可以申请成立基金公司,用户以基金 净值来申购或赎回基金。
10、收购兼并:本系统只允许每个用户申请1个上市公司,用户可以通过收 8 第二章基于LAMP架构的股票模拟系统的构建购手段来兼并其它上市公司,这样用户可以拥有多家上市公司; 11、联盟集团:创建联盟集团的用户为集团总裁,联盟集团可以拥有多家上市公司,成为实力强大的资本大鳄。
2.3.1用户模拟操作流程 (1)用户注册:游客必须注册成为正式用户后才能进行股票模拟操作; (2)用户开户:在虚拟股市中开户,点开户按钮即可; (3)委托买卖:点股票名称或股票
代码进入交易界面; (4)申购新股:点申购按钮,申购价为开盘价; (5)大宗交易:在此系统中可以较大数量进行交易,交易价格为开盘价; (6)股指期货口3l:分开仓和平仓,其中买入为做多机制;卖出为做空机制; (7)权证交易:如果有大股东用户开通权.