发明名称 对java操作数据库的监控系统
摘要 一种数据库监控系统,包数据库计算机组1,监控计算机组2,数据库计算机组1和监控计算机组2通过网络连接。其中所述数据库计算机组1运行一数据库,所述数据库包括一连接池,监控计算机组2使用JAVA数据库连接JDBC接口通过getConnection获得ConnectionProxy,在getConnection过程中,DataSourceProxy将真实的Connection注入ConnectionProxy,并通过Monitor类记录获取连接的时间,Connection和当前线程堆栈。通过设置监控计算组对数据库计算机组的运行的数据库进行监控,使得普通程序员可以及时发现问题,例如一个导致数据库系统的堵塞的SQL语句,或未释放数据库连接。进而使得数据库稳定性提高,减少了运行数据库的计算机组为了处理数据库堵塞或奔溃的峰值运算时间及运行数据库的计算机组的处理器的负载。
申请公布号 CN103034679A 申请公布日期 2013.04.10
申请号 CN201210456345.9 申请日期 2012.11.14
申请人 上海百事通信息技术有限公司 发明人 曾应玉
分类号 G06F17/30(2006.01)I;G06F11/34(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 上海新天专利代理有限公司 31213 代理人 田申荣
主权项 一种数据监控系统,包括数据库,监控计算机组,所述数据库计算机组和所述监控计算机组通过网络连接,所述数据库计算机组包括一台以上的计算机,其特征在于:所述数据库计算机运行一数据库,所述数据库包括一连接池,监控计算机组使用JAVA的JDBC 接口,通过JAVA的代理模式对DataSource进行代理,获得DataSourceProxy,调用DataSourceProxy的getConnection方法获得ConnectionProxy,在getConnection过程中,DataSourceProxy将真实的Connection注入ConnectionProxy,并通过Monitor类记录获取连接的时间,Connection和当前线程堆栈;通过java的代理模式对Connection,Statement和PreparedStatement进行代理,获得ConnectionProxy,StatementProxy和PreparedStatementProxy,拦截ConnectionProxy,StatementProxy和PreparedStatementProxy中的 SQL语句,将SQL语句记录到日志或Monitor类的一个静态属性中在执行SQL语句前记录执行开始时间,在SQL语句执行结束后,清除Monitor类静态属性中的SQL语句和执行开始时间,比较执行开始时间与执行结束时间即可得出执行时间,并记录到日志文件。
地址 200233 上海市徐汇区宜山路1009号1801室