[发明专利]用于对数据源的可用性进行监测的方法和装置有效
申请号: | 201510303419.9 | 申请日: | 2015-06-05 |
公开(公告)号: | CN104881256B | 公开(公告)日: | 2018-09-11 |
发明(设计)人: | 王海 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F17/30 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 倪斌 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 数据源 可用性 进行 监测 方法 装置 | ||
描述了一种在状态跟踪器处用于对数据源的可用性进行监测的方法。所述方法包括:从数据源配置管理中心获取数据源配置信息,并且根据所述数据源配置信息确定要监测的一个或多个数据源;以及针对所述一个或多个数据源中的每一个:创建并启动定时器;根据所述数据源生成状态查询语言SQL语句;根据所述数据源获取数据源连接;使用所述数据源连接在所述定时器的生命周期内分别对所述数据源执行一次或多次相应的SQL语句;以及获取与所述数据源相对应的返回值,以判断所述数据源的可用性是否异常。
技术领域
本发明的实施例涉及数据源监测,具体地,涉及对数据源的可用性进行监测的方法和装置。
背景技术
随着系统中包含的节点越来越多,系统需要连接多个数据源并且对这些数据源进行相应的监控和统一的管理。由于网络异常随时可能发生,因此数据源的稳定性尤为重要,由此需要一种对多个数据源的可用性进行监测的方法和装置,即,对数据源的连接性、数据源最大连接数等进行综合监测,并且告知系统该数据源是否可用。
在现有技术中,通过预执行时状态查询语言(SQL)监测来判断当前SQL语句是否执行成功,会因为网络波动导致错误。不能够准确的判断数据库设备的可用性,且为非主动性的监测。在数据源的可用性恢复正常或异常之后,不存在可用性回调函数。例如,当发现数据源的可用性正常时需要执行的函数(即,正常通知函数),以及当发现数据源的可用性不正常时需要执行的函数(即,异常通知函数)。另外,现有技术不能同时对多个数据源进行监测,即,不能应用于包括多种数据源的交互环境。最后,现有技术不能进行操作前监测,一般只能进行操作后监测,即当某个操作异常之后才知道数据源的可用性已经发生异常,并且不能在数据源恢复正常之后,主动执行某个动作。
因此,需要用于提前、可靠地对数据源的可用性进行监测的方法和装置,以用于预警性监测(例如当网络异常时,进行报警);当数据源不可用时,进行动态切换;以及对多个厂商的多种数据源进行监测。
发明内容
鉴于现有技术中的一个或多个问题,提出了一种用于对数据源的可用性进行监测的方法和装置,能够解决现有技术中无法在执行操作之前对多个数据源进行监测以及在数据源的可用性恢复正常或异常之后无法向系统进行通知的缺点,实现了支持监测多种数据源设备;支持同时监测多个数据源设备;提供方便的状态查询;提供可靠的异常、正常回调接口函数;以及消耗有限的资源。
在本发明的一个方面,提出了一种在状态跟踪器处用于对数据源的可用性进行监测的方法,所述方法包括:
从数据源配置管理中心获取数据源配置信息,并且根据所述数据源配置信息确定要监测的一个或多个数据源;以及
针对所述一个或多个数据源中的每一个,
创建并启动定时器;
根据所述数据源生成状态查询语言SQL语句;
根据所述数据源获取数据源连接;
使用所述数据源连接在所述定时器的生命周期内分别对所述数据源执行一次或多次相应的SQL语句;以及
获取与所述数据源相对应的返回值,以判断所述数据源的可用性是否异常。
优选地,所述数据源配置信息包括数据源信息、以及是否监测所述数据源。
优选地,在针对所述一个或多个数据源中的每一个创建并启动定时器之前,所述方法还包括:
通过判断要监测的一个或多个数据源是否已经被监测,来对所述数据源进行去重处理。
优选地,获取与所述数据源相对应的返回值,以判断所述数据源的可用性是否异常包括:
如果不存在返回值,则判断所述数据源的可用性异常。
优选地,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510303419.9/2.html,转载请声明来源钻瓜专利网。