用于对数据源的可用性进行监测的方法和装置的制造方法_2

文档序号:8905068阅读:来源:国知局
接收单元111根据获取的数据源配置信息确定要监测的一个或多个数据源。所监测的数据源具有多种形式,例如Mysql数据源、Oracle数据源、Sqlserver 数据源。
[0058]然后,在步骤203,通过判断要监测的一个或多个数据源是否已经被监测,来对所述数据源进行去重处理。由于在一个或多个数据源中可能存在已经被监测的数据源,因此需要进行去重处理,以滤除已经被监测的数据源,从而减小需要监测的数据源的数量,达到节约资源和提高效率的目的。
[0059]接下来,在步骤S204,为一个或多个数据源中的每一个创建并启动定时器112。定时器112包括延迟执行时间和下次执行时间。应当注意的是,针对一个数据源只能创建和启动一个定时器。
[0060]在步骤S205,监测语句生成单元130分别根据一个或多个数据源生成状态查询语言SQL语句。针对不同的数据源,监测语句生成单元130可以生成不同的SQL语句,例如,针对ORACLE数据源,生成的SQL语句为SELECT 1FR0M DUAL ;以及针对MYSQL数据源和SQLSERVER数据源,生成的SQL语句为SELECT I。
[0061]在步骤S206,状态机113根据所述一个或多个数据源中的每一个获取数据源连接。因为大部分数据源都会缓存连接,所以通过获取连接动作是不能判断数据源可用性的。
[0062]接下来,在步骤S207,状态机113使用与一个或多个数据源相对应的数据源连接在相应定时器112的生命周期内分别对相应数据源执行一次或多次相应的SQL语句。具体对数据源执行多少次SQL语句由轮询次数参数PollingTimes来指示。当监测对象的敏感度较高时,可以将PollingTimes设置为I ;并且当监测对象的敏感度较低时,可以将PollingTimes设置为例如3等。
[0063]最后,在步骤S208,状态机113获取分别与一个或多个数据源相对应的返回值,以判断相应数据源的可用性是否异常。具体地,当轮询次数参数PollingTimes为I时,判断是否存在返回值resultset.next O,如果存在返回值,则数据源可用性正常,设置当前状态为true,如果不存在返回值,则发出异常警报。当轮询次数参数PollingTimes为例如3时,判断是否存在至少一个返回值resultset.next O,如果存在至少一个返回值,则数据源可用性正常,设置当前状态为true,如果不存在返回值,则发出异常警报。当然,也可以设置其他判断条件,例如,判断条件为是否存在至少两个返回值等等。
[0064]在步骤S209,当数据源的可用性异常时,调用通知接口 115以发出异常通知,以及当数据源的可用性正常时,调用通知接口 115以发出正常通知。通知接口 115可任意扩展,以执行需要执行的动作。
[0065]在步骤S210,查询接口 114以订阅的方式实时地查询数据源的可用性。
[0066]本发明可以应用在任何需要对数据源进行网络连接访问状态监测的场景或需要对数据源集群进行切换的场景。如果发现某个数据源没有可用性,则主动切换数据。当然切换数据源的动作不包含在本发明中。
[0067]图3示出了用于对产品进行评估的系统300的示意图。系统300包括处理器310,例如,数字信号处理器(DSP)。处理器310可以是用于执行本文所描述的过程的不同动作的单个单元或多个单元。系统300还可以包括输入/输出(I/O)单元330,用于从其他实体接收信号或者向其他实体发送信号。
[0068]此外,系统300包括存储器320,该存储器320可以具有以下形式:非易失性或易失性存储器,例如,电可擦除可编程只读存储器(EEPROM)、闪存等。存储器320存储计算机可读指令,当处理器310执行该计算机可读指令时,该计算机可读指令使处理器执行本文所述的动作。
[0069]以上的详细描述通过使用示意图、流程图和/或示例,已经阐述了检查方法和系统的众多实施例。在这种示意图、流程图和/或示例包含一个或多个功能和/或操作的情况下,本领域技术人员应理解,这种示意图、流程图或示例中的每一功能和/或操作可以通过各种结构、硬件、软件、固件或实质上它们的任意组合来单独和/或共同实现。在一个实施例中,本发明的实施例所述主题的若干部分可以通过专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、或其他集成格式来实现。然而,本领域技术人员应认识到,这里所公开的实施例的一些方面在整体上或部分地可以等同地实现在集成电路中,实现为在一台或多台计算机上运行的一个或多个计算机程序(例如,实现为在一台或多台计算机系统上运行的一个或多个程序),实现为在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序),实现为固件,或者实质上实现为上述方式的任意组合,并且本领域技术人员根据本公开,将具备设计电路和/或写入软件和/或固件代码的能力。此外,本领域技术人员将认识到,本公开所述主题的机制能够作为多种形式的程序产品进行分发,并且无论实际用来执行分发的信号承载介质的具体类型如何,本公开所述主题的示例性实施例均适用。信号承载介质的示例包括但不限于:可记录型介质,如软盘、硬盘驱动器、紧致盘(CD)、数字通用盘(DVD)、数字磁带、计算机存储器等;以及传输型介质,如数字和/或模拟通信介质(例如,光纤光缆、波导、有线通信链路、无线通信链路等)。
[0070]虽然已参照几个典型实施例描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
【主权项】
1.一种在状态跟踪器处用于对数据源的可用性进行监测的方法,所述方法包括: 从数据源配置管理中心获取数据源配置信息,并且根据所述数据源配置信息确定要监测的一个或多个数据源;以及 针对所述一个或多个数据源中的每一个, 创建并启动定时器; 根据所述数据源生成状态查询语言SQL语句; 根据所述数据源获取数据源连接; 使用所述数据源连接在所述定时器的生命周期内分别对所述数据源执行一次或多次相应的SQL语句;以及 获取与所述数据源相对应的返回值,以判断所述数据源的可用性是否异常。2.根据权利要求1所述的方法,其中,所述数据源配置信息包括数据源信息、以及是否监测所述数据源。3.根据权利要求1所述的方法,其中,在针对所述一个或多个数据源中的每一个创建并启动定时器之前,所述方法还包括: 通过判断要监测的一个或多个数据源是否已经被监测,来对所述数据源进行去重处理。4.根据权利要求1所述的方法,其中,获取与所述数据源相对应的返回值,以判断所述数据源的可用性是否异常包括: 如果不存在返回值,则判断所述数据源的可用性异常。5.根据权利要求1至4中任一项所述的方法,还包括: 当数据源的可用性异常时,调用通知接口以发出异常通知,并且当数据源的可用性正常时,调用所述通知接口以发出正常通知。6.根据权利要求1至4中任一项所述的方法,还包括: 通过查询接口以订阅的方式实时地查询数据源的可用性。7.一种用于对数据源的可用性进行监测的装置,所述装置包括: 接收单元,被配置为从数据源配置管理中心获取数据源配置信息,根据所述数据源配置信息确定要监测的一个或多个数据源,并且将所述一个或多个数据源发送给状态机;一个或多个定时器,被配置为对所述一个或多个数据源的可用性的监测进行定时;状态查询语言SQL生成单元,被配置为根据所述一个或多个数据源生成SQL语句;所述状态机,被配置为: 从所述接收单元接收所述一个或多个数据源,以及 针对所述一个或多个数据源中的每一个, 根据所述数据源获取数据源连接, 使用与所述数据源相对应的数据源连接在相应定时器的生命周期内分别对所述数据源执行一次或多次相应的SQL语句,以及 获取与所述数据源相对应的返回值,以判断相应数据源的可用性是否异常。8.根据权利要求7所述的装置,其中,所述数据源配置信息包括数据源信息、以及是否监测所述数据源。9.根据权利要求7所述的装置,其中,所述状态机被进一步配置为: 通过判断要监测的一个或多个数据源是否已经被监测,来对所述数据源进行去重处理。10.根据权利要求7中任一项所述的装置,其中,所述状态机被进一步配置为: 如果不存在返回值,则判断所述数据源的可用性异常。11.根据权利要求7至10中任一项所述的装置,还包括: 通知接口,被配置为当数据源的可用性异常时被调用以发出异常通知,并且当数据源的可用性正常时被调用以发出正常通知。12.根据权利要求7至10中任一项所述的装置,还包括: 查询接口,被配置为以订阅的方式实时地查询数据源的可用性。
【专利摘要】描述了一种在状态跟踪器处用于对数据源的可用性进行监测的方法。所述方法包括:从数据源配置管理中心获取数据源配置信息,并且根据所述数据源配置信息确定要监测的一个或多个数据源;以及针对所述一个或多个数据源中的每一个:创建并启动定时器;根据所述数据源生成状态查询语言SQL语句;根据所述数据源获取数据源连接;使用所述数据源连接在所述定时器的生命周期内分别对所述数据源执行一次或多次相应的SQL语句;以及获取与所述数据源相对应的返回值,以判断所述数据源的可用性是否异常。
【IPC分类】G06F3/06, G06F17/30
【公开号】CN104881256
【申请号】CN201510303419
【发明人】王海
【申请人】北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司
【公开日】2015年9月2日
【申请日】2015年6月5日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1