基于H5+Android的智慧校园一点通的设计与实现
2018-11-21曹先东蔡振山李晴崔婕任生花
曹先东,蔡振山,李晴,崔婕,任生花
(天津职业技术师范大学,天津 300000)
1 背景
1.1 现状
随着互联网以及移动设备的大范围普及,手机等移动设备已然成为大学生的必备品之一[1]。同时手机应用商店里的APP也以较快的速度增长着,琳琅满目的APP极大地满足了大学生对于娱乐生活的体验,但是单一的APP功能越来越不能满足大学生全方面的需求[2]。如国外的Twitter、FaceBook等APP满足了大学生对于交友途径的扩展,但却只是局限于此,并没有全方面地服务于大学生;国内的课程格子,萌小助等应用给大学生查询成绩、查课表提供便利,但却没有在大学生信息获取方面做更多的深入。本款智慧校园一点通APP的设计初衷也是依附于此,以信息的获取优化性上、交流互动的便捷性上以及大学生自主规划上的引导性上提供给大学生更为全方面的服务。
1.2 调查数据分析
本次调查为抽样调查,调查主要涉及大学生关于使用APP关注点、在APP上的资讯类了解的信息、学习类了解的信息等相关问题。为了了解大学生手机APP使用情况,关注的范围及自主管理的方面。以促使广大学生树立正确的手机使用观,正确的处理学习、生活和手机APP的关系和提高广大学生自我管理的能力。
本次调查通过网络问卷调查。其中有效问卷561份,有效率99%。在学习状态、使用手机时间、资讯类关注点、学习类关注点了的方面等进行了调查统计。就此得出大部分大学生使用手机的时长都集中在2-8小时之间,显而易见手机占据着大学生的大部分日常生活,因此大学生处理好手机与生活的关系是有很必要的。再之,作为大学生主要接触的信息传播媒介,如何使同学们正确使用手机对于提高学生的自主管理能力显得颇为重要。同时,交友互动信息、学习信息查询、考证、考研信息以及就业信息等占据着较高的关注度。如何让大学生在使用手机的同时获取到更多积极有帮助的信息以及在潜移默化中提高自己的自主管理能力,显得格外重要。就此,我们在基于H5+Android技术上开发一款智慧校园APP为我们研究的载体。
2 系统设计
本次研究的载体为研发团队设计并实现了一款基于H5+Android的平台设计实现的智慧校园APP,设计模式分为服务器端和客户端两部分。客户端通过Android平台提供的WebView函数接口进行web页面的承载并通过Http协议与服务端进行数据通信[3]。服务器端采用Spring、SpringMVC、Hibernate(俗称SSH框架)作为我们应用的主体框架,HTML5,Jquery,Jquery-mobile等开源前端技术作为我们的前台高效便捷开发[4]。
2.1 系统架构
系统的物理架构如图1所示,客户端Android手机等智能终端通过移动信号塔、校园网WLAN、Wifi等实现对校园服务器的访问。其中服务端利用Java语言[5]开发,通过Http协议与客户器端进行网络数据交换,而Web服务器通过Sevlet对各个客户终端的需求进行反映,通过c3p0产出的连接池对后台数据库进行长连接访问,完成数据的存储与获取管理。
图1 移动智能校园物理结构
2.2 系统主要功能设计
基于Android平台的智慧校园系统旨在服务广大师生,使全体师生在闲暇时间通过移动终端就可以方便、快捷、及时地了解到学校各类信息。服务器端主要提供各项基础功能服务,例如对整个系统数据信息的接受、存储、处理,同时结合移动终端特点升级改造并整合以往单一的校园服务系统。客户端主要是面向在校学生,这一系统可为学生提供校园资讯、成绩查询、就业信息、热门话题等多项功能。
用户通过主界面,可以直观看到APP的主要功能。并且可以根据自己的需求搜索所需信息查询。APP设有一点通搜索功能,在此功能下,用户输入所需查询的信息关键字,数据库将自动检索,反馈给用户。这样,既方便了用户查看信息,又方便管理。
3 主要功能的技术实现方式
3.1 教务系统数据的安全高效获取
查询功能主要是给广大师生提供一个方便快捷的查询服务平台,首先利用用户输入的学号、密码等个人信息获取数据,通过爬虫技术处理,收集教务系统中的成绩、课表、空教室等信息(提取标签之间的文本,对文本进行清理,去掉无用的样式和链接),转换成Json格式字符串,经过Apache—Tomcat转发给Web服务器端,服务器端再把信息传给客户端供用户查看。通过此种方式学生只需输入自己的学号和密码便能很快获取到自己的相关信息,省去了登陆教务系统的麻烦,提高了用户的体验感。
3.2 高效轻便缓存用户数据的方式
系统采用三种高效轻便缓存用户数据方式。
①cookie存储会话机制。通过浏览器的cookie将一个较长的会话存储在用户的浏览器中,设置一个有效期,当用户下次打开浏览器时,不需要再次输入账号和密码,通过缓存的会话,从会话中获取学生的上次会话信息,将会话中加密的账号和密码再次发送给服务器,后台服务器接收到后将数据发送给用户,学生便能很方便的查看自己的成绩、课表等信息。
于Redis数据库缓存机制。将上一次用户查询的数据[9]在服务器端转发给客户端的同时,再存一份到Redis缓存,并设置有效期。当下次用户再次访问时,首先查询Redis数据库存不存在上次的缓存,如果存在则首先取出Redis数据库的缓存,反之,则执行查询的操作再重复以上的操作。
③API Local Storage。采用H5的新特性API Local Storage,Web浏览器本地数据库,主要作用是将数据保存在客户端中。在移动中,由于大部分浏览器都兼容Local Storage特性,因此在Android和ISO中的web浏览器都可以使用,那么我们怎么实现的呢?首先当用户第一次查询的是时候,将服务器处理的数据保存在Redis缓存中,同时转发给前台后,也保存在本地的web数据库中。当用户下次查询时首先检索本地的数据库,当本地数据库不存在我们想获取的K-V对时,我们再从Redis缓存中进行检索,如果还是不存在时,我们可以重新进行抓取数据并执行之前的第一步操作。
3.3 利用CDN实现静态网站资源的加速原理
3.3.1 CDN工作流程
①用户向www.xxx.cn下的某图片资源,如1.jpg发起请求,先要向Local DNS发起域名解析请求;
于当Local DNS解析www.xxx.com时,会发现已经配置了CNAME www.test.com.cdn.dnsv1.com,解析请求会发送至Remote DNS,会为请求分配最佳节点IP;
③Local DNS获取Remote DNS返回的解析IP;
④用户获取解析IP;
⑤用户向获取的IP发起对资源1.jpg的访问请求;
⑥若该IP对应的节点缓存有1.jpg,则会将数据直接返回给用户(10),此时请求结束。若该节点未缓存1.jpg,则节点会向业务源站发起对 1.jpg的请求(6、7、8),获取资源后,结合用户自定义配置的缓存策略,将资源存储(9),并返回给用户(10),此时请求结束。
通过CDN技术,极大的提高了网页资源获取的速度,同时使用户的流量费用也得到了极大的减少,让在校学生在享受高速信息检索的同时可以享受低成本的指出。
3.3.2 cdn技术分析
CDN技术通过系统总端对各个分系统的内容分发并使得分系统加以缓存,来为用户匹配最近相邻的分缓存系统,从而将缓存系统中的数据直接传送至用户手中,完全避免了复杂和冗长的传输线路,大大提速了交换速率和系统性能。
4 结语
基于H5+Android的智慧校园一点通APP是将目前流行的移动APP技术引入普通高校教育领域中大学生实现自主管理的一种技术变革式创新,同时,在辅助大学生提高自我管理能力的过程中,又为高校管理者提供了较为可靠的管理模式。虽然该款APP在内测期间仍存在一些问题,但是还是受到了大部分测试者的鼓励与支持。实现校园移动化的管理也是一个必然的发展趋势,本系统也将继续根据师生的使用反馈情况不断的优化调整,为学生提供一个更便捷的交流平台,提高大学生的自主管理能力和校园内有效信息的传播效率,进一步完善学校智能化建设。