云技术在远程培训及考试系统中的应用
2014-01-25周志忠
周志忠
辽宁广播电视大学(沈阳 110034)
某中心城市教师远程培训及考试系统,使用目前国际上比较主流的开源学习平台Moodle构建,技术框架基于Linux、MySQL、PHP技术。于2010年初调试部署上线,并成功支撑了近3年的教师在线培训及考试工作,取得了很好的用户反响和实际效果。随着教师培训及考试工作在全市的全面铺开,平台需要支撑访问人数逐渐增加,2013年初达到67 000名中小学教师全部参加,在不增加系统硬件设备情况下,传统的网络架构无法很好的适应大业务量的教师培训及考试工作,需要一个更为完全、稳定的网络环境来承载业务。
为了解决上述遇到问题,我们应用虚拟化服务器技术来做进一步改进,将云计算技术应用于远程培训及考试系统的开发和布署。保证网络承载环境技术的先进性、安全性、灵活性、拓展性,不仅满足67 000人的培训及考试,还能为将来培训及考试业务承载的继续扩大提供最佳方案。最大限度的提升了系统的并发性、可靠性和稳定性。
1 云计算技术
传统的网络在线考试系统主要是基于浏览器/服务器(B/S)结构框架,使用.NET或J2EE等技术平台来实现的,B/S最大的优点就是可以在任何机器上进行操作而不用安装任何专门的软件,只要有一台能电脑能上网就能使用,我们称之为客户端零安装、零维护,这样一来系统的扩展非常容易。特别是近几年AJAX技术的发展,使得这种结构框架下的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担。但是其缺点也是明显存在的,在于只能利用到服务器的管理、调度以及资源管理功能,而客户端只能被动的提需求或接收数据。既不能高效利用服务器的功能,也不能有效解决服务器处理的瓶颈,更不能充分利用网络中其他各类设备的计算能力。
采用云技术来实现远程培训及考试系统的建设是一种有益探索,能够解决大数据量、多访问人群下的应用系统开发、应用,以及网络传输堵塞的问题。
1.1 云技术的概念
云计算是分布式计算技术的一种,是指透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,交给多部服务器所组成的庞大系统,经搜寻、计算分析一系列处理之后,将结果回传给用户。通过这项技术,网络服务提供者可以在数秒之内,处理数以千万计甚至亿计的信息,完成类似超级计算机一样强大效能的网络服务。
云技术是指基于云计算应用的网络技术、信息技术、管理平台技术、整合技术和应用技术等的总称。使用云技术后会将所有的计算资源集中起来,由计算机软件进行自动管理,无需人为参与,这样应用提供者能够更加专注于自己的业务,有利于业务创新和降低成本。举个生活中的例子:好比是从每个人家使用一台古老的单台发电机模式转向了电厂集中供电的模式。这意味着计算能力也可以作为一种商品进行流通,就像煤气、水、电一样,方便取用,费用低廉。最大的不同在于,这是通过互联网进行传输的。
1.2 云技术特点
(1)超大规模
在配碳比为1时,根据图1的结果,计算了添加10%氧化硼、8%硼砂和10%碳酸钠对鲕状赤铁矿还原的影响,如图2所示。三种添加剂对还原后液相渣含量的影响是随着温度的升高而升高。添加10%氧化硼后,液相渣含量在700 ℃后增加明显,900 ℃后缓慢增加,1 300 ℃后开始降低;添加8%硼砂后,对液相渣含量的影响呈现不规律性;添加10%碳酸钠后,液相渣含量在1 100 ℃后增加明显,在1 400 ℃后开始降低。添加10%氧化硼对液相渣含量的影响要大于其他两种添加剂。
Google公司提供云服务的设备已达100多万台服务器,Amazon、IBM、微软、Yahoo等的云服务也都拥有几十万台服务器。云技术能综合现有庞大规模硬件资源,提供用户前所未有的计算能力。
(2)虚拟化
云技术支持用户在任意位置、使用各种终端获取应用服务。每一个应用部署的环境和物理平台是没有关系的,所请求的资源来自“云”,而不是固定的有形的实体。
(3)高可靠性
云技术采用了数据多副本容错、计算节点同构、可互换等措施来保障服务的高可靠性。通过集成海量存储和高性能的计算能力,云能提供一定满意度的服务质量。
(4)高可扩展性
为用户需求提供了无限多的可能。云技术的一端,是由成千上万台甚至更多的服务器组成的庞大集群,为存储和管理数据提供无限多的空间,也为用户完成各类应用提供无限大的计算能力。
(5)按需服务
云平台将计算、存储和网络资源进行综合,将这些硬件资源能力作为服务向外提供,用户尤其是中小企业用户,可以按需购买计算资源、存储资源、通信资源等,极大地节约了成本。
1.3 云计算的服务
基础设施服务:即 IaaS(Infrastructure-as-a-Service)。IaaS向用户提供的不仅包括虚拟化的计算资源、存储资源,整个基础设施也可以作为一种服务向用户提供。消费者通过互联网可以从完善的计算机基础设施获得服务。
平台服务:即PaaS(Platform-as-a- Service)。建立在基础设施之上,主要包括并行程序设计和开发环境以及实现云技术的其他系统管理工具,如云系统中资源的部署、监控管理、分配、分布式并发控制等。主要是向应用程序开发者提供平台应用开发接口。
软件服务:即SaaS(Software-as-a- Service)。随着互联网技术的发展和应用软件的成熟,在21世纪开始兴起的一种完全创新的软件应用模式。服务商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向服务商定购所需的应用软件服务,按定购的服务多少和时间长短向服务商支付费用,并通过互联网获得服务商提供的服务。
2 基于云技术的 Web 系统架构应用
某中心城市教师远程培训及考试系统仍使用原先B/S架构时的3台双核服务器,通过Openresty与Lua语言的结合搭建了高效软件服务器端设计,通过云技术分布式服务器部署来实现各服务器的负载均衡和前端高并发压力负载。
具体策略如下:
(1)通过Oracle VM VirtualBox来实现分布式虚拟机的创建、管理,通过VirtualBox Api采用php进行WEB方式进行有效管理。基础底层系统是Centos6.4,分布式虚拟机的系统也是采用 Centos6.4,这样实现了整个系统全linux的构架,并实现通过版本无缝对接。
(2)为保证高并发压力带宽采用1G出口,部署万兆交换机、防火墙相配合,实现线路无阻塞式网络部署。
(3)Lua语言的软件架构,lua是由标准C语言编写的,具有强大的C语言支持库,有着高性能、高效率的美称,采用lua实现了语言简洁,业务清晰,效能高的目的。
(4)数据存储上采用缓存技术加持久层数据库存储结合的模式,缓存层采用 redis来实现,持久层采用Sql server与mysql,数据先存入缓存层,经由数据写入排队系统进行数据排队,保证持久层稳定的数据存储。这种高效的部署方式也是国内、外知名网站系统所采用的方式。
(5)备份、应急系统,我们通过预留备份、应急系统来解决故障的应急处理,此部分采用虚拟机技术来解决。
培训系统应用部署图如图1所示。
图1 培训系统应用部署图
4 结语
在实际支撑某中心城市教师远程培训及考试工作之前,我们采用 Linux webbench 压力测试工具进行模拟压力测试,结果如下:
(1)2 000用户同时并发,即20 000用户同时在线:每秒钟响应请求数103 458 pages/min;每秒钟传输数据量 840 211 bytes/sec;0个连接 failed,完成请求206917。
(2)4 000用户同时并发,即40 000用户同时在线:每秒钟响应请求数85 500 pages/min;每秒钟传输数据量 756 946 bytes/sec; 0个连接 failed,完成请求171001。
(3)6 000用户同时并发,即60 000用户同时在线:每秒钟响应请求数103 869 pages/min;每秒钟传输数据量841 032 bytes/sec; 2个连接failed,完成请求207736。
(4)整个过程CPU占有率在 30~57%之间。
根据上述数据通过软件模拟测试得出结论:能保障培训及考试正常运行。
因此,在2013年下半年和2014年上半年,某中心城市应用此系统开展了教师在线培训及考试工作。实践证明,通过服务器云技术整合方案的实施,网络在线考试系统较好的支撑了 67 000名中小学教师的远程培训及考试。(1)服务器的性能使用率明显提高,高峰使用率从42%提高到了85%。(2)通过与技术的使用,取消了原先需再购买6台服务器的计划,节省了设备经费。
综上所述,某中心城市教师远程培训及考试系统建设中,云技术的应用使服务器的功能得到了有效地发挥,无论从应用服务的稳定性、高可用性、资源的合理调配、快速部署等方面,还是从节能、节电、节约空间等方面,都比应用前有显著改善。
[1]刘鹏. 云计算技术原理,http://www.chinacloud.cn/ show.aspx?id=1929&cid=12, 2009-06-17.
[2]陈全, 邓倩妮. 云计算及其关键技术[J]. 计算机应用, 2009,29(9): 2562-2567.
[3]张建勋, 古志民, 郑超. 云计算研究进展综述[J]. 计算机应用研究, 2010, 27, (2): 429-433.