智慧校园服务监控平台的设计与实现
2020-07-21
来源:欧得旅游网
文章编号:1007-1423(2017)13—0076—05 DOI:10.3969/j.issn.1007—1423.2017.13.018 智慧校园服务监控平台的设计与实现 黄锦捷 (河源职业技术学院,河源517000) 摘要: 针对智慧校园服务应用众多、维护困难的现状,提出基于服务理念的服务监控平台,并对平台的模型、策略和方法进 行设计和实现,通过服务监控平台实现对智慧校园服务的监控和维护。 关键词: 智慧校园;监控;服务;应用系统 0 引言 随着教育信息化的不断推进.各高校基本建立了 符合各自校情的数字化校园。智慧校园是教育信息化 进程中.在数字校园建设基础上提出来的【1] 许多高校 正在建立或已经完成了数字校园到智慧校园的建设 的本质其实就是监控服务是否有异常。 因此,本文设计了一个服务模型。 黄荣怀教授认为.智慧校园是指一种以面向师生 个性化服务为理念.能全面感知物理环境.提供无缝互 通的网络通信[21。因此。智慧校园需要一系列基础平台 和系统作支撑 所有平台和系统相互协作.共同完成智 慧校园的功能 数量众多的平台和系统给维护带来了困难。如何 对各个系统的状态进行监控.发现异常并对异常及时 告警.成了一个重要问题 本文提出并实现了一个服 务监控平台.很好地解决了以上问题.同时拥有良好的 图1服务模型 灵活性的扩展性.以应对不断发展的智慧校园需求 服务模型主要包括以下方法:isAlive、isAvaliable、 connect、disconnect、call reportc 1 监控平台设计 1.1服务模型设计 智慧校园平台中.需要监控的对象类型很多.如硬 isAlive方法用于检测服务是否alive(存活)。 isAvaliable方法用于检测服务是否avalibie(可 用)。alive与avalible是两个不同概念 a1ive只能说明 件设备、软件系统、Web Service服务、Web站点等 为 解决这些类型不统一的问题.本文提出一个服务概念. 即无论任何对象.其本质都是为智慧校园提供一种服 务.所有服务一起构成了智慧校园的整体 那么,监控 服务还在.但不保证能正常响应客户请求 avalible则 是在alive的同时,对于外界的请求依然能正常响应 connect方法用于与服务进行连接 disconnect则与 服务断开连接 囝 现代计算机2017.o5上 caU方法用于向服务发送消息并获得响应内容。 。。ort方法用于服务提供者主动向监控平台报告 状态。 过HTI'P/HTI'PS协议访问Web站点返回的H1TrP状态 同样是正常的.但此时站点其实已经处于异常状态。即 基于网络协议的监控策略只能检测服务alilve.但不能 完全确定服务是avaliable ⑦基于接El的监控策略 1.2监控策略 (1)定时监控策略 网络服务一般24小时不间断提供.如果某个时间 段无法访问.则服务很可能出现异常。定时监控策略的 思想是通过周期性的轮询方式访问服务来确定服务是 否正常,如每十分钟访问服务一次。定时监控策略可分 为基于网络协议的监控策略和基于接口的监控策略。 ①基于网络协议的监控策略 目前。各种系统一般基于TCP/IP协议建立服务。 该协议需要监听一个网络端口。基于网络协议的监控 策略.即通过检测该服务端口的情况来判断服务是否 存活。 这种策略简单易实现、通用性强并且被监控对象 为进一步确定服务avaliable的状态.可使用基于 接口的监控策略 基于接口的监控策略。需求服务提供 者实现一个通用接口.监控平台访问该接口时可获得 服务的avaliable状态.即需要实现服务模型中的 isAvaliable方法。 基于接口的监控策略能更好了解服务的状态.但 其缺点就是需要在服务端实现接口 (2)主动报告策略 定时监控策略主要通过轮询的方式实现.并且通 过设置轮询周期的长短可以满足不可监控的实效性的 要求.基本能满足大部分监控场景的需求 但无论周期 设置多短.延迟依然存在.无法达到实时性要求非常高 的系统的要求 主动报告策略.监控平台向所有服务开放接口.服 无须额外实现 如使用HTI'P/HTFPS协议检测Web站 点情况:使用FTP协议检测文件服务器:使用Telnet检 测C/S服务等 这种策略也存在一定的缺陷.如数据库异常时,通 务端主动向该接口发送状态报告 通过主动报告的方 图2服务监控平台架构 现代计算机 2017.05上囝 式.监控平台可以更及时发现服务端的异常 ) } 2 监控平台设计与实现 2.1架构设计 平台通过各种服务监听模块监控服务对象.核心 服务为服务组件与监控策略。基础组件包括任务调度、 2-3服务组件 服务组件是平台的核心组件.是平台对各种服务 对象进行监控与通信的基础。通过监控接El,实现基本 TCP/IP和UDP的服务类.并在TCP/IP的基础上实现更 多上层协议的服务类。服务组件的类图如下: 数据持久、告警机制、网络通信组件。 (1)服务监听模块对各需要监控的服务对象进行 监控与通信,包括监控服务对象的各种状态、接收服务 对象发送的报告、发送状态信息或运行命令给服务对 象等、 (2)核心服务包括服务组件和监控策略。服务组件 ・●s^" ll “s^vaI}a ・∞彻ec I +d OnnedI  ̄call(J *r ̄.oorl{} 实现与各种服务对象通信的协议和方法.并且可扩展 更多类似的服务 监控策略实现前文提到的监控策略. 对不同的服务对象采用最适合的策略 (3)基础组件是平台的底层组件,为平台提供基本 的服务能力 墨圆一 盔_、 E 困墨-J rJ … E 田曩墨一 盔_ 2.2服务监听模块 服务监听模块根据服务对象取到相应的服务组 件,并调用相应的方法进行处理。服务监听方法如下: ,木木 罔3服务组件类『矧 @param monitorObj服务对象模型 @param order需要调用的命令 丰/ 2.4监控策略 (1)定时监控策略,通过定时检测服务对象的状 态,来确定服务对象的可用性。其代码如下: TaskExample ex=new TaskExample0; TaskExample.Criteria cr=ex.createCriteriaO; Monit0rManager. publit’void m0nit0r(Monitor0bj monitorObj,String order)( ,/根据服务对象获取相应的服务组件 MonitorService monitorServiee = or.andNextTimeEqualTo(DateUtil.dateToTimeString (nextTime)); //查询当前时间需要检测的监控任务 List<Task>list=taskMapper.selectByExample(ex); getlnstance(monitorObj); ,/根据命令_iJ爿用服务接口的相应方法 if(”isAlive".equals(order)){ monitorService.isAlive(monitorObj); }else if(”isAvaliable".equals(order)){ for(Task t:list)f //执行监控任务 monitorService.isAvaliable(monitorObj); }else if(”connect”.equals(order)){ executorServiee.execute(new TaskJob(t)); ) monitorServiee.connect(monitorObj); }else i(f”disconnect".equals(order)){ monitorService.disconneet(monitorObj); l else if(”call".equals(order)){ (2)主动报告策略,服务平台监听端El,服务对象 主动向平台发送报告.平台将调用服务对象的监控方 法进行处理。其代码如下: ,/传人服务对象 public void report(MonitorObj monitorObj){ monitorService.call(monitorObj); 】else州’report".equals(order)){ monitorService.report(monitorObj); //if爿用服务组件处理报告 @ 现代计算机2017.05上 MonitorUtil.monitor(MonitorObj monitorObj,” 0n” } <bean id=’’dataSource”class=”org.apache.commons.dbcp.Basic- DataSource”> 2.5基础组件 (1)任务调度组件,将定时调度需要监控的任务, 通过Spring与Quaaz整合实现。通过如下配置实现: <bean class=”org.sprin ̄ramework.scheduling.quartz.Scheduler— FactoryBean’’> <property name=”tiggers’r’> <property name=”driverClassName”value=”corn.mysq1.jdbc. Driver”></property> <property name=”url”value=”jdbc:mysql://¥Udbc.host}:¥{jd— bc.port}/¥ {jdbc.dbname}?useUnicode=true&characterEn— coding =UTF—-8&zeroDateTimeBehavior =convert- ToNull&autoReconnect=true”></property> <prope ̄y name=“username“value=”¥{jdbc.username}”><, property> <list> <ref local=”startTaskTrigger”/> </list> </property> <property name=”password”value=”¥{jdbc.password}”></ property> <property name=”maxActive”value=。’100”></prope ̄y> <property name=”maxIdle”value=”100”></property> <property name=”maxWait”value=”5000”></property> <property name=”defauhAutoCommit”value=”true”></prop- erty> </bean> <!一一定时任务管理类一> <bean id=”taskManager”class=”com.hzy.alarmsys.task. TaskManager”> </bean> <bean id=”startTaskDetail”class=”org.springframework.schedul— </bean> <bean id=”sqlSessionFactory”class=”org.mybatis.spring.SqlSes- sionFactoryBean”> <property name=”dataSource”ref=”dataSource”/> ing.quartz.MethodlnvokingJobDetailFactoryBean。’> <property name=”targetObject”> <ref bean=”taskManager”/> </property> </bean> <bean id=”mapperScannerConfigurer”class=”org.mybatis.spring. mapper.MapperScannerConfigurer”> <property name=”basePackage”value=”con.hzy.larmsys.a database.dao”/> <property name=’’sqlSessionFactoryBeanName”value=” sqlSessionFactory”/> <property name=”concurrent”value=”flse”></aproperty> <property name:”targetMethod”value=’’startTask”></proper— ty> </bean> <bean id=”startTaskTrigger’’class=”org.springframework. scheduling.quartz.CronTriggerFactoryBean”> </bean> <property name=”jobDetail” <ref bean=”startTaskDetail”/> </property> 3 结语 本文通过服务模块的设计、监控策略的选择.构建 <property name=”cronExpression”> <value>0 0/1 位最小为分钟一> </property> </bean> ?</value> <!一平台监控时间单 起一个灵活、可扩展的智慧校园服务监控平台 根据不 同的服务对象及使用场景.选择不同的服务组件及监 控策略,达到最合适的监控效果 服务监控平台的推 广,可有效解决智慧校园服务众多、监控困难的问题. (2)数据持久化负责数据的存储,由MyBatis实现。 并与Spring整合使用。其配置如下: 参考文献: 在智慧校园服务不断增加的趋势下.其作用也将越来 越大 【1】于长虹,王运武,马武.智慧校园的智慧性设计研究[J].中国电化教育,2014,09:7-12 [2]黄荣怀.智慧校园:数字校园发展的必然趋势[J1.开放教育研究.2012,18(4):12—17. 现代计算机 2017.o5上回 \ 开发案例 \ \ 作者简介: 黄锦捷(1989一),男,广东河源人,硕士,研究方向为搜索引擎、数据存储 收稿日期:2017—02—22 修稿日期:2017—05—01 Design and Implementation of Intelligent Campus Service Monitoring PlatfOrm HUANG Jin-jie (Heyuan Polytechnic,Guangdong 517000) Abstract: .According to the state which lots of service application and diiculft to maintain for the Smart Campus,proposes a service monitoring platform based on service concept,designs and implements the platform model,strategies and methods,through service monitoring platform to monitor and maintain the service of Smart Campus. Keywords: Smart Campus;Monitor;Service;Application System (上接第75页) 参考文献: [1]徐凯.跨终端Web.电子工业出版社,2014. f21(美)奎文Cravens,J.),巴特福德(Burtoft,J.).HTML5敏捷实践.电子工业出版社,2013 作者简介: 钟爱青(1984一),女,本科,中级职称,研究方向为计算机科学与技术 收稿日期:2017—01—17 修稿日期:2017—05一叭 Design and Implementation of a Book Sharing App Based on Phone ZHONG Ai——qing fGuangdong Machinery Technician College,Guangzhou 510450) Abstract: Design and implements a book sharing App which aims to share books between students or teachers.Users can share the book they don,t need any m0re with the App easilv。other users can find the book with LBS search function in the App and bo ̄ow the book with few steDs.The system is based on the mobile Internet,and includes server side module,mobile App module.Server side serves as business center and mobile App sen,es aS user intedace.Server side module implements with load balance cluster and distributed cache and with abilities of hiigh availability,high reliability as well as hi gh performance Keywords: Book Sharing;Mobile Internet;Phone App ⑨ 现代计算机2017.05上