APP下载

基于iOS和公有云的移动学习系统设计

2023-11-06王子昱

电脑知识与技术 2023年25期
关键词:服务器端客户端服务器

王子昱

(苏州高等职业技术学校,江苏苏州 215000)

0 引言

移动学习(Mobile Learning)是一种在移动设备帮助下能够在任何时间、任何地点发生的学习。移动学习能够有效地呈现学习内容并且提供教师与学习者之间的双向交流[1]。相比传统的学习,移动学习具有以下优点:首先,移动学习让人们的学习环境更加轻松、自由、平等。其次,移动学习有效地利用了生活中很多碎片化的时间,提高时间的利用率。再次,移动学习可以节约成本,既不用买教材,又无须去学校,就能获得丰富的学习资源。最后,移动学习可以更加快速更新自己的知识和技能储备。

近年来,我国在线教育用户规模不断扩大。用户对于个性化、多样化、国际化的在线教育需求的不断增长,为在线教育提供了市场需求和消费动力。在线教育用户中,又有很多用户使用的是iPhone设备。根据QuestMobile发布的2022中国智能终端市场半年报告,截至2022 年6 月,iPhone 设备的活跃度为21.7%,仅次于华为的25%[2]。这些iPhone 设备用户中,绝大部分是年轻人,而这部分人群也正是学习需求最高的人群。所以,人们对基于iOS 的移动学习系统的需求日益增加。然而现有的一些移动端学习系统中,由于受到移动设备中的资源量和内存的限制,以及课程质量的参差不齐、技术故障频繁、平台运营不稳定、用户数据泄露和丢失等问题,使用户的学习效果并不是很理想。基于该情况,本文结合了iOS 和公有云设计了一款移动学习系统。

1 移动学习平台相关技术

1.1 iOS平台简介

iOS 是由苹果公司开发的移动操作系统。iOS 可以免费更新。最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad 上。iOS 更新发布后,可以通过无线方式将其下载到iPhone、iPad 或iPod touch。iOS 内置应用有Siri、FaceTime 通话、Safari浏览器、App Store、相机等。iOS 系统用户界面简洁、直观、易用、操作流畅,硬件和软件中的多种安全措施,有助于保护用户的数据和隐私。

1.2 公有云简介

公有云通常指第三方提供商为用户提供的能够使用的云。公有云一般可通过Internet 使用,可能是免费或成本低廉的。公有云的核心功能是共享资源服务。企业通过自己的基础设施直接向外部用户提供服务。外部用户通过互联网进行访问服务,并不拥有云计算资源[3]。用户可以通过互联网来获取云计算服务,公有云中的“服务接入点”负责对接入的用户进行认证,判断权限和服务条件等,通过“审查”的用户,就可以进入公有云平台并获取相应的服务了[4]。近年来,国内公有云也得到了飞速的发展,如:阿里云、华为云和腾讯云等。

1.3 Objective-C简介

Objective-C 是iOS 开发的核心语言,它是一种面向对象的脚本语言,是iOS操作系统的主要语言,它具有强大的功能,能够支持大型应用程序的开发。Objective-C 实用性大,它使用一个用C编写的精简运行时,对应用程序的大小几乎没有增加。另外,它还具有灵活性高,程序小等优点。

1.4 MySQL简介

MySQL(My Structured Query Language) 是一个关系型数据库管理系统,属于Oracle公司旗下产品。它具有运行速度快,体积小,可移植性强等特点。而且MySQL是开放源码的软件,因此可以大大降低总体拥有成本。它为多种编程语言提供了API。MySQL 能够运行与多种系统平台上,如Windows,Linux等。

2 公有云优势分析

公有云是一种简单、高效、安全、可靠且处理灵活的计算机服务。可以大幅度降低人力和财力的运营成本。它为人们使用网络提供了几乎无限多的可能。现在主流的云服务网站主要有:阿里云(https://www.aliyun.com/),腾讯云(https://cloud.tencent.com/),华为云(https://activity.huaweicloud.com/)。

1)访问速度更快。因为云使用的带宽可以连接多条线路,网络自动检测最快的网速,然后切换到相应的线路传输数据。

2)存储方便、可靠、安全。存储数据可以在云上完成。即便是硬件出现故障,数据也不会丢失。因为云服务器具有自动调整迁移的能力,一旦遇到故障,将快速移动数据并继续使用,用户不用再担心数据丢失。

3)性价比高。因为它可以随需应变,按需付费。一般有两种付费方式:包年和包月或者批量支付。如果需要长期使用的可以选择包年和包月的方式,如果是一些紧急服务的需求可以选择批量支付。所以,具有很强的弹性,按照实际需求随时增减云资源,满足用户的业务需求。

4)安全和稳定性高。云服务器支持各种节点的快速重构,即使一个计算机节点异常中断或者损坏,也可以在短时间内使用其他不同的节点重构视觉系统,不会影响数据的完整性。

5)部署方便速度快。传统的服务器需要一系列App 配置上架,合适的操作系统和语言安装,需要投入大量时间和精力,而云服务器可以通过访问资源在几分钟内完成服务器交付。

6)多区域分布:客户可以选择所在地附近的云服务,以降低网络时延、提高访问速度。华北、华东、华南三大区域足够满足国内业务的需求,中国香港、北美、新加坡等地区满足境外业务需求。服务器覆盖能力强,无论在国内还是海外,都能满足相关业务需求。

7)配置灵活。云服务器可根据客户当前需求配置资源,灵活高效,实现资源效率化。对于普通服务器需要预先对配置的资源进行精确的测量和校准,倘若不匹配,会出现死机甚至服务器崩溃的情况,而云服务器就避免了这种情况的发生。

8) 高安全性:DDoS(Distributed Denial of Service)攻击往往以高流量的方式影响服务器性能,普通服务器无法承受如此高的流量容量。为了提供高安全性,需要额外的安全软件和工具。但是效果并不好,因为安全流量不会超过10G,运行时间会有所延迟。云服务器就可以有效防止这类事件的发生。具有极高的带宽、智能防火墙和高DDoS 防护能力。可以应对各种攻击,有效保证网站的正常运行。

3 移动学习平台总统架构

本系统是基于iOS 平台开发一款移动学习系统。整体系统设计以实用性为主,且扩展性好[5]。整个系统基本采用的是B/S(Browser/Server)网络结构模式,该模式易于部署与维护,扩展性能好。用户在客户端使用移动学习系统,将具体的功能放在服务器上实现。移动学习系统客户端是使用了Objective-C 语言和Xcode集成开发工具开发的。服务器端主要是部署了腾讯云。腾讯云是腾讯公司旗下的产品,为客户提供云服务、云数据、云运营等整体服务方案。

移动学习系统设计主要分成四层,分别是客户端、业务逻辑层、数据层、基础设施层(如图1)。把系统划分成四层结构去实现,为了更好的实现“高内聚,低耦合”,易于控制和分配资源,增强可移植性和重用性。

图1 移动学习系统总体设计

客户端是各种移动设备,如iPhone、iPad等。用户安装移动学习系统后,可通过这些移动设备进行学习。前端的设计和开发使用了HTML5 和Ajax 来实现。HTML5 的优点在于给站点带来了更多的多媒体元素,提高用户体验度,能跨平台部署运行[6]。Ajax能够快速响应用户的操作,是一种在无须重新加载整个网页的情况下,能够更新部分网页的技术,用户界面设计整洁、简单、大方、友好,选用柔和的色调,图文混排的样式。

业务逻辑层是对用户的各种需求进行处理来实现各个功能,首先,接收用户的请求,然后根据请求进行相关的计算和处理,最后将结果反馈给用户,这样用户就可以通过手机学习相关课程,进行线上的练习和测试,查询自己学习的情况。

数据层主要包括数据库,也是整个系统的核心层。在客户端完成少量的信息处理,而由云端来完成大量的数据分析和处理。系统采用MySQL 数据库管理系统。使用混合云的部署模式,将私密数据和重要软件部署存储在自己的服务器上,将非重要性数据和软件等内容部署在公有云上,将课程数据和课程资源放在服务器端。

基础设施层主要包括各种服务器,后台服务器端采用了SSH(Struts,Spring,Hibernate) 框 架,使 用MySQL 作为数据库管理系统和Tomcat 作为应用服务器的组合方式来实现。租赁云服务器后,进行远程桌面连接,输入已购买的云服务器账号和密码,进入云服务器主机后,可以部署相关应用。

4 移动学习平台需求分析

4.1 客户端功能需求分析

在iOS系统下启动程序后,可以进行课程查看,课程学习,在线练习,在线考试,浏览学习资讯等操作。移动学习系统主要分成以下六大功能(如图2所示)。

图2 移动学习系统客户端主要功能

1)课程学习功能

2)在线练习功能

用户学习完成每门课程的相关章节后,可以选择在线练习,巩固自己所学的知识,并且在完成例题后,能够随即查到试题的答案。同时,系统会收集错题成集,以此用户可以进行错题的重练。

3)在线测试功能

经过一段时间的学习,学生可以对知识的掌握情况进行测试。系统后台将根据题库动态生成试卷,并能及时地评定成绩。学生也可查看自己的答题情况。

4)学习交流功能

移动学习系统还提供用户之间的交流平台,利用网络的虚拟性,用户突破时间和空间的局限性,在一种平等、自由的环境下畅所欲言,对学习中遇到的问题或者其他相关问题进行交流,互相之间取长补短,分享经验。同时,用户也可向老师进行提问,老师将进行及时的答疑。

5)我的学习情况功能

近期,山东省济南市中级人民法院披露了一起官司的民事判决书。在这起官司中,原审原告杨某某把装有罗曼尼康帝、作品一号等多款名庄酒的酒柜置于小区物业地下室,结果地下室一旁的换热站发生爆管,导致名庄酒被长时间浸泡在80℃高温的热水中,遭受损坏。杨某某便把换热站的管理方济南热电公司告上法庭,索赔245.696万元,并获得胜诉。

对用户学习的进度、听课的情况、练习的情况、测试的成绩等进行记录并对用户的学习水平进行分析和评估,提出改进的措施和方法。用户通过查看自己的学习情况,了解自己知识掌握的程度和学习的效果,发现自己的不足,并可结合系统给出的建议及时调整。

6)最新资讯功能

在学习课程的同时也需要了解课程相关的前沿资讯,虽然通过网络也能查阅相关信息,但是这些信息往往太多太杂,更有些是无效信息。移动学习系统筛选出其中有效资讯供用户浏览,节约了用户筛选信息的时间,帮助用户了解课程的前沿动态。

4.2 服务器端功能需求分析

1)用户登录注册功能

系统用户分为:学生、老师、管理员这三大类。用户输入用户名和密码进行登录,服务器端通过查询数据库里用户的信息来进行验证。系统将自动根据用户名来验证用户的权限。

2)课程查询功能

用户通过客户端输入想要学习的课程信息,发出查询请求。服务器端从数据库中查询到这门课程及相关资源,将这些数据响应给客户端。

3)课程管理功能

如果登录用户是老师,则可以进行新建课程,更新课程内容,删除课程等操作。服务器端相应的更新数据库相关的课程数据。

4)课程资源下载功能

提供课程相关资源的下载,包括:PPT、图片、PDF、Word、视频等。用户可以在客户端下载需要的资料。

5)考试管理功能

老师将考试题目通过系统上传到数据库。当学生考试时,考试试卷是题库动态生成的,并将数据响应给客户端。

5 总结与展望

目前,移动学习系统仍存在一些不足的地方需要改进,例如:如何实现移动学习系统跨平台的使用,如何更好地满足用户的需求,系统无法对主观题进行自动评分等。随着云计算和人工智能的不断发展,将为移动学习注入更多新的活力,移动学习系统将更加多元化,为用户提供更丰富的在线教育服务和产品。

猜你喜欢

服务器端客户端服务器
Linux环境下基于Socket的数据传输软件设计
通信控制服务器(CCS)维护终端的设计与实现
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
浅析异步通信层的架构在ASP.NET 程序中的应用
中国服务器市场份额出炉
基于Qt的安全即时通讯软件服务器端设计
得形忘意的服务器标准
计算机网络安全服务器入侵与防御