图书馆信息监控与异常预测系统的制作方法

文档序号:6365016阅读:201来源:国知局
专利名称:图书馆信息监控与异常预测系统的制作方法
技术领域
本发明属于信息化管理技术领域,具体涉及一种图书馆信息监控与异常预测系统。
背景技术
随着图书馆电子资源馆藏的增加、信息化管理的普及,图书馆信息系统的规模不断扩大,网络结构也变得越来越复杂。引进信息监控与异常预测系统,改善软硬件和网络服务的可用性、健康状况和实现故障原因分析报告是提高数字图书馆服务水平、提升业务效率并增加用户满意度的重要手段。

发明内容
本发明的目的在于提供一种能提高数字图书馆服务水平、提升业务效率并增加用户满意度的图书馆信息监控与异常预测系统。本发明提供的图书馆信息监控与异常预测系统,主要是针对图书馆应用领域,对交换机、服务器、特定进程以及模拟访问服务和数据库进行监控。通过查询相应的监测内容,用户可以随时了解交换机、服务器等的运行情况。系统采集较长周期(比如半年)内的数据进行分析,得出各种系统资源的分布情况,以及变化规律。本发明提供的图书馆信息监控与异常预测系统,其物理架构图如图I所示。包括监控前台10、人员20、数据库30、监控后台40和监控设备50。其中,监控前台10包括控制终端101和WEB服务器102,监控后台40包括基于上下文的预测模块401、探测器402和报警系统403 (包括短信报警4031和邮件报警4032),监控设备50包括服务器501、数据库 502和交换机504。所述的监控前台10,其中,控制终端101,主要是指人员20操作该系统的机器,常用的有笔记本电脑和台式机。WEB服务器102,主要是Tomcat WEB服务器(Tomcat是一种 WEB应用服务器,支持JSP)。所述的人员20,主要包括设备管理员、一般用户和高级管理员。针对不同用户,在该系统中,有不用的操作权限(添加、删除和修改等等)。所述的数据库30,主要是指存放系统信息、监控设备50的信息和经过探测器402 获取的彳目息等等。所述的监控后台40,其中,基于上下文的预测模块401,通过检索数据库30收集前期一段时间内监控的各种数据以及异常处理获取到的数据,对未来一段时间内相应设备、 服务或者数据库等情况做出预测,并提供相应状态信息的预测,提早做出相应的应对措施。 探测器402,根据数据库30,获得相关配置信息,并通过配置信息,对相关监控设备50进行监控,将监控信息保存在数据库30中。报警系统403,包括短信报警4031和邮件报警4032 两部分,通过检索数据库30,其中短信报警4031,用于在监控设备50出现严重情况时,将信息以短信和邮件两种形式发送给人员20,邮件报警4032用于在监控设备50出现警告情况时,将信息以邮件的形式发送给人员20。所述的基于上下文的预测模块401,通过分析历史数据信息对相关设备运行情况进行检测和预测,包括算法分析检测和算法分析预测两部分。其中,算法分析检测用于对于某一服务器或者交换机的某一项目(例如,内存和CPU),在给定的一段时间中分析异常情况,为合理设置阈值做参考。算法分析预测用于对于某一服务器或者交换机的某一项目(例如,内存和CPU),在给定的一段时间中分析未来可能出现的情况。所述的监控设备50,包括服务器501、数据库502和交换机504。其中,服务器501 可以是Windows服务器,也可以是Linux服务器或者Unix服务器,数据库502主要是指模拟访问的数据库,主要是MySQL、SQL Server和DB2。本发明系统按分层设计,分为物理层、持久化层、公共组件层、模型层、控制层和展示层,如图2所示。物理层由数据库服务器和SMTP服务器和短信报警服务组成,数据库服务器运行 MySQL企业级数据库,SMTP服务器提供ESMTP协议服务。持久化层由Hibernate 3. 2提供支持,通过MySQL5Dialet将系统数据存入或者查询数据。公共组件层由一些基于Java5的助手类组成,包括一些数据的提取,Excel输出等组件。模型层是由Action Bean组成。控制层由Struts2的配置文件和Struts2框架构成,负责将控制和处理分派给相应的Action Bean的特定方法处理。展示层由含有Struts2 Jsp Tag的JSP构成,负责生成用户浏览器访问的Web页面。本发明系统平台内容如下
图书馆信息监控系统按监控对象分,分为交换机管理、服务器管理、模拟访问管理、数据库管理和报警管理五个功能模块,以及用户登录、审计日志、用户管理和计划任务四个管理模块。除此以外还包括一个单独运行的探测器服务和短信报警服务(如图3所示)。图书馆信息监控系统主要包括前台界面和后台程序两部分。I.图书馆信息监控系统的前台界面,包括
(1)系统管理对于用户和用户进行管理,修改密码,查看在线用户等等操作。(2)交换机信息维护对交换机信息进行管理,包括添加、删除和修改交换机信息, 可以配置要监控的交换机接口,查看设备当前监控信息和状态图。⑶服务器信息维护对服务器信息进行管理,包括添加、删除和修改服务器信息, 查看设备当前监控信息。(4)拓扑图显示显示当前网络的拓扑图,在相应的拓扑图中,当鼠标移动到相应设备上时,提示相应设备的基本信息,当点击该设备时,可以显示当前设备的一些实时监控的数据信息。(5)检测项配置可以对交换机和服务器具体项目进行监控,并设置阈值,包括严重时的阈值和警告时的阈值,并且可以配置将报警信息发给哪个组或者那些用户。
(6)模拟访问服务配置可以对访问服务进行监控,配置相应的URUForm String、 HTTP返回值以及返回页面正则表达式,并且可以配置将报警信息发给哪个组或者那些用户。(7)数据库配置可以对数据库进行监控,配置相应的JDBC URL、用户名和密码,并且可以配置将报警信息发给哪个组或者那些用户。以上,前台将相应配置信息保存在数据库中,并从数据库检索出相关监控信息。在图书馆信息监控平台的后台中,对于该配置信息进行处理,并将监控的信息保存在数据库中。2.图书馆信息监控系统的后台程序,包括
⑴实时监控通过数据库,取得相关设备的配置信息、模拟访问服务配置信息和模拟访问数据库配置信息,并根据配置信息对设备、服务和数据库进行监控,并将监控的信息保存在数据库中。(2)异常监控处理检索数据库,获得检测项的配置信息。通过设定的阈值,当系统采集到的监测数据高于这一阈值时,产生预警或报警信息,根据级别来通过邮件或者是短信,通知相应人员进行查找问题并解决问题。(3)基于上下文的预测通过收集前期一段时间内监控的各种数据以及异常处理获取到的数据,对未来一段时间内相应设备、服务或者数据库等情况做出预测。提供相应状态信息的预测,提早做出相应的应对措施。需要先预测各个节点在将来时刻各种资源的状态值。首先利用系统的监测日志数据训练模型,然后利用模型和当前监测的数据对系统资源状态进行一步或者多步预测。得到节点各种资源将来时刻的状态数据后,再通过分类器判别是否会发生相应的异常。通过对数据进行分析,得知各种系统资源的分布情况、变化周期。基于学习得到的模型,一方面可以分析得到系统的趋势分析,从而提前采取措施;另一方面通过将当前情况和历史模型进行比较,可以判断当前系统是否符合历史情况以及是否有异常发生。本发明图书馆信息监控与异常预测系统是一个可独立运行的软件系统,用于图书馆对馆内的交换机、服务器以及模拟访问服务和数据库进行监控。首先实现了基础监测功能,该功能负责监测交换机及服务器软件、硬件、网络的运行情况和负载情况。通过查询该监测内容,用户可以随时了解交换机、服务器的运行是否正常。并且,自动报警功能能够在异常出现时自动通知相关负责人,从而尽快找出问题所在并解决问题。同时实现基于上下文模型的异常监测,通过采集比较长的周期(半年)的数据进行分析,得出各种系统资源的分布情况,以及变化周期。基于学习得到的模型,一方面可以分析得到系统的趋势,从而提前采取措施;另一方面通过将当前情况和历史模型进行比较,可以判断当前系统是否符合历史情况以及是否有异常发生。


图I示例性的说明本发明系统的物理架构图。图2示例性的说明本发明系统的逻辑架构图。图3示例性的说明本发明系统的功能模块图。
具体实施例方式下面将参照附图进一步描述该平台的内容。( I) DAO 组件设计
DAO (Data Access Object)模式实现数据访问和业务逻辑的分离以及业务数据的对象化封装,而DAO对象的创建一般是通过Factory模式或者Abstract Factory模式。系统中引入Java5的泛型的新特性,使得不再需要重类繁多的DAO对象,而使用统一的一个实现, 而具体的业务逻辑则通过对这个DAO对象的组合调用或者进一步扩展。DAOFactory为Singleton模式,通过getDAO方法,用于返回DAO类型的 HibernateDAO 实例。DAO 接口定义为 public interface DAO <T extends Serializable〉, 泛型T是指的被持久化的类型(即实体Bean),它必然是实现了 java. io. Serializable接口的。HibernateDAO 定义为 public class HibernateDAO <T extends Serializable) implements DAO <T>,该实现不含事务处理通过DAOFactory. getDAO ()返回此实例,事务由 TransactionInterceptor 实现。(2)控制层设计
控制层由Struts2框架和它的配置文件构成,为了方便开发,将事务处理和权限控制放在这里,由Interceptor实现,并根据这两个新加的Interceptor设计了新的 Interceptor Stack。LogInterceptor用于记录审计日志,它会自动记录所有通过此Interceptor的请求的用户名、请求IP、访问的URL和提交的参数。AuthenticationInterceptor用于权限鉴定,它通过传入的参数privilege检查用户权限是否符合某种要求,比如一般用户权限、省局用户、国家局用户、还是领导权限。默认为一般用户权限。TransactionInterceptor用于事务处理,通过传入参数datasource决定提交哪个数据库的事务,通过重载beforeResult O在ActionBean处理结束显示处理结果之前提交事务,如果出错则回滚并抛出错误。默认为提交hibernate-defult. cfg. xml配置的数据库。( 3 )计划任务组件设计
系统中需要设置一些与时间有关的任务,到特定的时间执行相应的操作。但是Java 5 中只有一个由java. util. Timer和java. util. TimeTask类构成的计时器框架,它可以设定多少时间后执行某操作,但是这种固定时间间隔的计划任务远不能满足系统的需要,系统除了需要在每天的固定时间处理某些事务外,还可能会在周末、月末、月初甚至周几,每月几号之类的时间处理事务,因而需要设计一个可配置的计划任务组件。由于事务的下一次执行时间不固定,因而我们设ii 个ScheduleInterator接口作为时间的迭代器,计划任务框架通过调用它的next O方法获取下一次的执行时间。分别设计了 HourlyIterator> DailyIterator> WeeklyIterator 和 MonthlyIterator 实现该接口,控制每小时、每天、每周和每月的任务,在每周和每月的时间迭代器中还可以指定哪些天执行任务,这些迭代器的构造函数中都定义了一个Calendar类型的起始时间,如果没有传入这个参数则为当前时间。任务注册的部分仍然借助于Java 5的计时器框架,但是对它们进行一定的包装。
在这个框架中,Scheduler类是主要的工作类,它包含一个Timer实例,通过它运行schedule方法注册计划任务ScheduleTask实例,也就是将其中的timertask对象注册到Timer实例,但注册的是一次性执行任务,当它执行完毕后需要调用。reschedule方法将其下一次执行注册到timer,因此设计了内部类 ScheduleTimerTask,它扩展 TimerTask 类,覆盖它的 run 方法,它执行 scheduletask 的 run方法,完成后调用reschedule方法重新注册这个ScheduleTask。ScheduleTask类是和TimerTask类似的一个抽象类,它像TimerTask —样维护状态,并实现线程同步。 Schedulefforker是ScheduleTask的一个子类,它覆盖了其父类的抽象方法run,其中考虑到任务可能会执行比较长的时间,可能会影响后面计划的任务的执行,因而在这里开一个新的线程去执行任务,其内部类WorkThread扩展Thread类,是一个线程体,它内部通过反射调用配置的执行任务函数以执行计划任务。ScheduleHelper是整个框架的入口,它是 Singleton模式设计的一个工具类,它持有唯一的一个Scheduler实例,维护一个已经注册的计划任务的列表,提供对任务的注册和注销方法。当应用启动后,需要对计划任务进行初始化,通过ScheduleDAO对象从数据库中取出所有的计划任务,通过ScheduleHelper工具类把他们全部注册到应用中,这些任务就会按既定的计划执行。系统提供一个维护计划任务的页面,它被设计在系统维护模块中,提供对计划任务的新建、修改和删除,操作的时候首先使用ScheduleDAO更新数据库里的数据,之后通过调用ScheduleHelper进行注册或注销,特别地当更新计划任务的时候,首先要将原来的任务注销,再将新的任务注册进去,在这里,ScheduleHelper的任务列表中的任务id和计划任务实体Bean Task中的标识符id保持一致。
权利要求
1.一种图书馆信息监控与异常预测系统,其特征在于系统包括监控前台(10)、人员(20)、数据库(30)、监控后台(40)和监控设备(50);其中,监控前台(10)包括控制终端 (101)和WEB服务器(102),监控后台(40)包括基于上下文的预测模块(401)、探测器(402) 和报警系统(403),监控设备(50)包括服务器(501)、数据库(502)和交换机(504)等;所述的监控前台(10)中,控制终端(101)是指人员(20)操作该系统的机器,包括笔记本电脑和台式机;WEB服务器(102)是Tomcat WEB服务器;所述的人员(20)包括设备管理员、一般用户和高级管理员;针对不同用户,在该系统中,有不同的操作权限,包括添加、删除和修改;所述的数据库(30 )是指存放系统信息、监控设备(50 )的信息和经过探测器(402 )获取的信息;所述的监控后台(40)中,基于上下文的预测模块(401),通过检索数据库(30)收集前期一段时间内监控的各种数据以及异常处理获取到的数据,对未来一段时间内相应设备、 服务或者数据库等情况做出预测,并提供相应状态信息的预测,提早做出相应的应对措施; 探测器(402 )根据数据库(30 ),获得相关配置信息,并通过配置信息,对相关监控设备(50 ) 进行监控,将监控信息保存在数据库(30)中;报警系统(403)包括短信报警(4031和邮件报警(4032)两部分,通过检索数据库(30),其中短信报警(4031),用于在监控设备(50)出现严重情况时,将信息以短信和邮件两种形式发送给人员(20),邮件报警(4032)用于在监控设备(50)出现警告情况时,将信息以邮件的形式发送给人员(20);所述的监控设备(50)中,服务器(501)是Windows服务器,或者是Linux服务器,或者是Unix服务器,数据库(502)是指模拟访问的数据库,包括MySQL、SQL Server和DB2。
2.根据权利要求I所述的图书馆信息监控与异常预测系统,其特征在于所述的基于上下文的预测模块401,通过分析历史数据信息对相关设备运行情况进行检测和预测,包括算法分析检测和算法分析预测两部分;其中,算法分析检测用于对于某一服务器或者交换机的某一项目,在给定的一段时间中分析异常情况,为合理设置阈值做参考;算法分析预测用于对于某一服务器或者交换机的某一项目,在给定的一段时间中分析未来可能出现的情况。
3.根据权利要求I所述的图书馆信息监控与异常预测系统,其特征在于系统按分层设计,分为物理层、持久化层、公共组件层、模型层、控制层和展示层;其中物理层由数据库服务器和SMTP服务器和短信报警服务组成,数据库服务器运行MySQL 企业级数据库,SMTP服务器提供ESMTP协议服务;持久化层由Hibernate 3. 2提供支持,通过MySQL5Dialet将系统数据存入或者查询数据;公共组件层由一些基于Java5的助手类组成,包括数据的提取,Excel输出组件;模型层是由Action Bean组成;控制层由Struts2的配置文件和Struts2框架构成,负责将控制和处理分派给相应的 Action Bean的特定方法处理;展示层由含有Struts2 Jsp Tag的JSP构成,负责生成用户浏览器访问的Web页面。
4.根据权利要求I所述的图书馆信息监控与异常预测系统,其特征在于系统按监控对象分,分为交换机管理、服务器管理、模拟访问管理、数据库管理和报警管理五个功能模块,以及用户登录、审计日志、用户管理和计划任务四个管理模块,此外还包括一个单独运行的探测器服务和短信报警服务。
全文摘要
本发明属于信息化管理技术领域,具体涉及一种图书馆信息监控与异常预测系统。本发明系统是一个可独立运行的软件系统,用于图书馆对馆内的交换机、服务器以及模拟访问服务和数据库进行监控。本发明首先实现了基础监测功能,该功能负责监测交换机及服务器软件、硬件、网络的运行情况和负载情况。同时实现基于上下文模型的异常监测,通过采集比较长的周期(半年)的数据进行分析,得出各种系统资源的分布情况,以及变化周期。基于学习得到的模型,一方面可以分析得到系统的趋势,从而提前采取措施;另一方面通过将当前情况和历史模型进行比较,可以判断当前系统是否符合历史情况以及是否有异常发生。
文档编号G06Q10/04GK102609789SQ20121003874
公开日2012年7月25日 申请日期2012年2月21日 优先权日2012年2月21日
发明者宋振中, 宋晓影, 张文强, 张用, 张计龙, 殷沈琴, 王彬, 邱晓欣 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1