一种数据库管理员运维行为的监控方法及系统的制作方法

文档序号:6623367阅读:159来源:国知局
一种数据库管理员运维行为的监控方法及系统的制作方法
【专利摘要】本发明提供一种数据库管理员运维行为的监控方法及系统,系统包括:第一监听模块,监听I/O模块;窗口状态判断模块;第一内容获取模块,获取窗口句柄,然后获得与窗口句柄对应的执行文本内容;第二监听模块,监听I/O模块;重绘指令输出模块,用于输出对命令行工具的底部区域进行重绘的操作指令;第二内容获取模块,用于获取重新输出的文本内容;屏幕视频帧获取模块、账户信息获取模块和映射关系配置表维护模块,存储屏幕视频帧、账户信息、执行文本内容以及当前时间戳的映射关系。优点为:不需要更改用户的现有网络结构,可对数据库管理员通过数据库操作终端试图发送到数据库服务器的有效或无效操作指令进行全面监控。
【专利说明】一种数据库管理员运维行为的监控方法及系统

【技术领域】
[0001]本发明属于数据库管理员操作行为审计【技术领域】,具体涉及一种数据库管理员运维行为的监控方法及系统。

【背景技术】
[0002]数据库管理员(DBA,Database Administrator)是负责全面管理、控制和维护数据库服务器的人员,其主要工作内容包括:登记数据库的用户、维护数据库的安全性、控制和监控用户对数据库的存取访问、监控和优化数据库的性能、灾难出现时对数据库信息进行恢复、维护适当介质上的存档或者备份数据、备份和恢复数据库等;全面对数据库管理员的运维行为进行监控,可提高数据库的安全性。
[0003]现有技术中,主要采用以下方法对数据库管理员的运维行为进行监控:在数据库操作终端和数据库服务器之间增加一个监控节点,在数据库操作终端通过网络向数据库服务器发送数据库操作指令的过程中,该监控节点截取该数据库操作指令,然后对该数据库操作指令进行分析并记录,由此实现对数据库管理员运维行为的监控。后续过程中,通过检索监控节点所存储的记录内容,可实现查询数据库管理员历史运维行为的作用。
[0004]上述监控方法主要存在以下问题:
[0005](I)需要更改用户的现有网络结构,额外布署网络节点,从而增加了对数据库管理员运维行为的监控成本;
[0006](2)在对数据库管理员运维行为的监控过程中,需要监听指定端口,分析大量的数据报文而获得数据库操作指令,当指定端口发生变化时,监听规则需要随之变化,因此,具有监控过程复杂、监控效率低的问题;
[0007](3)由于数据库操作终端和数据库服务器之间的通讯报文均需要经过监控节点分析处理,当监控节点自身发生故障时,会直接影响数据库操作终端和数据库服务器之间的正常通讯,使数据库管理员无法对数据库进行正常运维行为;(4)在数据库管理员通过数据库操作终端发送操作命令时,数据库操作终端通常均需要对该操作命令进行语法等检测,如果为错误操作指令,则数据库操作终端直接显示出错信息,而不会将错误操作指令通过网络发送到数据库服务器;因此,监控节点无法截获错误操作指令,从而无法对数据库管理员进行全面监控,具有一定的监控局限性;
[0008](5)监控节点只能对截获到的数据库操作指令进行分析记录,仍然具有监控效果有限的问题。


【发明内容】

[0009]针对现有技术存在的缺陷,本发明提供一种数据库管理员运维行为的监控方法及系统,用以解决上述问题。
[0010]本发明采用的技术方案如下:
[0011]本发明提供一种数据库管理员运维行为的监控方法,包括以下步骤:
[0012]SI,判断数据库操作终端当前正在使用的用于与数据库服务器通信的维护环境类型,如果为数据库维护命令编辑环境,则执行S2 ;如果为命令行类维护环境,则执行S3 ;其中,所述数据库维护命令编辑环境指运行数据库维护命令编辑工具的环境,所述命令行类的维护环境指运行命令行类维护工具的环境;
[0013]S2,监听I/O模块的工作状态,当监听到I/O模块发出执行确认指令时,判断当前的编辑窗口是否为活动窗口,如果是,则首先获取所述编辑窗口的窗口句柄,然后获得与获取到的所述窗口句柄对应的执行文本内容,然后执行S4;如果不是,则获取所述编辑窗口当前显示的全部文本内容,然后执行S4 ;
[0014]S3,监听I/O模块的工作状态,当监听到I/O模块发出执行确认指令时,输出对所述命令行工具的底部区域进行重绘的操作指令,使重新输出底部区域的文本内容;然后,获取重新输出的文本内容,该重新输出的文本内容即为当前执行文本内容,由此获得了执行文本内容;然后执行S4 ;
[0015]S4,对当前屏幕进行截屏操作,获得屏幕视频帧;同时获得当前登录所述数据库维护命令编辑工具的账户信息;
[0016]然后,如果获取到的为执行文本内容,则存储所述屏幕视频帧、所述账户信息、所述执行文本内容以及当前时间戳的映射关系到映射关系配置表;
[0017]如果获取到的为全部文本内容,则存储所述屏幕视频帧、所述账户信息、所述全部文本内容以及当前时间戳的映射关系到映射关系配置表。
[0018]优选的,所述数据库维护命令编辑工具包括toad工具和SMSS工具;所述命令行类维护工具包括sqlplus工具。
[0019]优选的,S2中,所述监听I/O模块的工作状态,当监听I/O模块发出执行确认指令时,判断当前的编辑窗口是否为活动窗口,具体为:
[0020]所述I/O模块为所述数据库操作终端的键盘和鼠标;
[0021]监听所述键盘和鼠标的执行状态,当监听到所述键盘的F5键被触发时,或者,当监听到所述鼠标的执行按钮被触发时,即为监听到I/o模块发出执行确认指令,然后进行后续的判断当前的编辑窗口是否为活动窗口的指令。
[0022]优选的,S2中,所述获得与获取到的所述窗口句柄对应的执行文本内容,具体为:
[0023]向所述编辑窗口发送复制窗口句柄对应的执行文本内容的窗口消息;所述编辑窗口在接收到该窗口消息后,将窗口句柄对应的执行文本内容缓存到剪贴板中;然后直接读取剪贴板而获得窗口句柄对应的执行文本内容。
[0024]优选的,S3中,监听I/O模块发出执行确认指令具体指:
[0025]所述I/O模块为键盘,当监听到所述键盘的回车键被触发时,即为监听到I/O模块发出执行确认指令。
[0026]优选的,S4之后,还包括:
[0027]S5,接收对数据库操作命令进行检索回放的指令,其中,该检索回放的指令中携带检索关键词;所述检索关键词包括账户信息和/或需检索的时间信息;
[0028]S6,根据所述检索关键词检索所述映射关系配置表,定位到与所述检索关键词对应的执行文本内容和执行文本时的指定屏幕视频帧。
[0029]优选的,S6之后,还包括:
[0030]S7,按所设定的播放帧数参数,检索到位于所述指定屏幕视频帧之前且与所述指定屏幕视频帧相邻的连续的若干张屏幕视频帧,还检索到位于所述指定屏幕视频帧之后且与所述指定屏幕视频帧相邻的连续的若干张屏幕视频帧;然后,根据各张检索到的屏幕视频帧的时间戳信息,按时间先后顺序播放所检索到的各张屏幕视频帧,从而还原得到执行命令发生时的操作场景。
[0031]本发明还提供一种数据库管理员运维行为的监控系统,该监控系统运行于数据库操作终端,包括:
[0032]判断模块,用于判断数据库操作终端当前正在使用的用于与数据库服务器通信的维护环境类型,其中,所述维护环境类型包括数据库维护命令编辑环境和命令行类维护环境;所述数据库维护命令编辑环境指运行数据库维护命令编辑工具的环境,所述命令行类的维护环境指运行命令行类维护工具的环境;
[0033]第一监听模块,用于当所述判断模块判断出所述维护环境类型为数据库维护命令编辑环境时,监听I/o模块的工作状态,判断是否监听到I/O模块发出执行确认指令;
[0034]窗口状态判断模块,用于当所述第一监听模块监听到I/O模块发出执行确认指令时,判断当前的编辑窗口是否为活动窗口 ;
[0035]第一内容获取模块,用于当所述窗口状态判断模块判断出当前的编辑窗口为活动窗口时,首先获取所述编辑窗口的窗口句柄,然后获得与获取到的所述窗口句柄对应的执行文本内容;还用于:当所述窗口状态判断模块判断出当前的编辑窗口为非活动窗口时,获取所述编辑窗口当前显示的全部文本内容;
[0036]第二监听模块,用于当所述判断模块判断出所述维护环境类型为命令行类维护环境时,监听I/o模块的工作状态,判断是否监听到I/O模块发出执行确认指令;
[0037]重绘指令输出模块,用于当所述第二监听模块监听到I/O模块发出执行确认指令时,输出对所述命令行工具的底部区域进行重绘的操作指令,使重新输出底部区域的文本内容;
[0038]第二内容获取模块,用于当所述重绘指令输出模块重新输出底部区域的文本内容后,获取重新输出的文本内容,该重新输出的文本内容即为当前执行文本内容,由此获得了执行文本内容;
[0039]屏幕视频帧获取模块,用于当所述第一内容获取模块获取到执行文本内容或全部文本内容之后,或者,当所述第二内容获取模块获取到执行文本内容之后,对当前屏幕进行截屏操作,获得屏幕视频帧;
[0040]账户信息获取模块,用于当所述第一内容获取模块获取到执行文本内容或全部文本内容之后,或者,当所述第二内容获取模块获取到执行文本内容之后,获得当前登录所述维护环境的账户信息;
[0041]映射关系配置表维护模块,如果获取到的为执行文本内容,则存储所述屏幕视频帧获取模块获取到的屏幕视频帧、所述账户信息获取模块获取到的账户信息、所述执行文本内容以及当前时间戳的映射关系到映射关系配置表;
[0042]如果获取到的为全部文本内容,则存储所述屏幕视频帧获取模块获取到的屏幕视频帧、所述账户信息获取模块获取到的账户信息、所述全部文本内容以及当前时间戳的映射关系到映射关系配置表。
[0043]本发明的有益效果如下:
[0044](I)不需要更改用户的现有网络结构,具有对数据库管理员运维行为的监控成本低的优点;
[0045](2)在对数据库管理员运维行为的监控过程中,完全不会影响数据库操作终端和数据库服务器之间的通讯过程;
[0046](3)可对数据库管理员通过数据库操作终端试图发送到数据库服务器的有效或无效操作指令进行全面监控,实现全面对数据库管理员的操作行为进行审计的效果。

【专利附图】

【附图说明】
[0047]图1为本发明提供的数据库管理员运维行为的监控方法的流程示意图;
[0048]图2为本发明提供的数据库管理员运维行为的监控系统的结构示意图。

【具体实施方式】
[0049]以下结合附图对本发明进行详细说明:
[0050]如图1所示,本发明提供一种数据库管理员运维行为的监控方法,包括以下步骤:
[0051]SI,判断数据库操作终端当前正在使用的用于与数据库服务器通信的维护环境类型,如果为数据库维护命令编辑环境,则执行S2 ;如果为命令行类维护环境,则执行S3 ;其中,所述数据库维护命令编辑环境指运行数据库维护命令编辑工具的环境,例如,toad工具和SMSS工具的运行环境;所述命令行类的维护环境指运行命令行类维护工具的环境,例如,sqlplus工具的运行环境。
[0052]S2,监听I/O模块的工作状态,当监听到I/O模块发出执行确认指令时,判断当前的编辑窗口是否为活动窗口,如果是,则首先获取所述编辑窗口的窗口句柄,然后获得与获取到的所述窗口句柄对应的执行文本内容,然后执行S4;如果不是,则获取所述编辑窗口当前显示的全部文本内容,然后执行S4 ;
[0053]本步骤中,I/O模块为数据库操作终端的键盘和鼠标;可监听键盘和鼠标的执行状态,当监听到键盘的F5键被触发时,或者,当监听到鼠标的执行按钮被触发时,即为监听到I/O模块发出执行确认指令。
[0054]具体的,由于用户在使用toad工具或SMSS工具时,操作方法一般为:在toad工具或SMSS工具的编辑窗口输入多个执行文本内容,然后,当需要执行某一执行文本内容A时,即首先选中执行文本内容A并在屏幕上突出显示执行文本内容A,例如,采用高亮度方式突出显示;然后,按动F5键或鼠标执行按钮,即表示将执行文本内容A发送到数据库服务器;因此,本发明中,可通过监听F5键或鼠标执行按钮的触发状态作为捕获执行文本的时刻。
[0055]另外,采用以下方式获得与获取到的窗口句柄对应的执行文本内容:向所述编辑窗口发送复制窗口句柄对应的执行文本内容的窗口消息;所述编辑窗口在接收到该窗口消息后,将窗口句柄对应的执行文本内容缓存到剪贴板中;然后直接读取剪贴板而获得窗口句柄对应的执行文本内容。
[0056]S3,监听I/O模块的工作状态,当监听到I/O模块发出执行确认指令时,输出对所述命令行工具的底部区域进行重绘的操作指令,使重新输出底部区域的文本内容;然后,获取重新输出的文本内容,该重新输出的文本内容即为当前执行文本内容,由此获得了执行文本内容;然后执行S4 ;
[0057]本步骤中,I/O模块为键盘,当监听到键盘的回车键被触发时,即为监听到I/O模块发出执行确认指令。
[0058]具体的,由于用户在使用sqlplus工具时,sqlplus工具的底部区域为执行文本内容的输出区域,例如,当sqlplus工具的底部区域输入某一条执行文本内容B时,按动回车键,即表示将执行文本内容B发送到数据库服务器;因此,本发明中,可通过监听回车键的触发状态作为捕获执行文本的时刻。
[0059]相应的,执行文本内容获取方式为:使命令行工具的底部区域进行重绘即可。
[0060]S4,对当前屏幕进行截屏操作,获得屏幕视频帧;同时获得当前登录所述数据库维护命令编辑工具的账户信息;
[0061]然后,如果获取到的为执行文本内容,则存储所述屏幕视频帧、所述账户信息、所述执行文本内容以及当前时间戳的映射关系到映射关系配置表;
[0062]如果获取到的为全部文本内容,则存储所述屏幕视频帧、所述账户信息、所述全部文本内容以及当前时间戳的映射关系到映射关系配置表。
[0063]S4之后,还包括:
[0064]S5,接收对数据库操作命令进行检索回放的指令,其中,该检索回放的指令中携带检索关键词;所述检索关键词包括账户信息和/或需检索的时间信息;
[0065]S6,根据所述检索关键词检索所述映射关系配置表,定位到与所述检索关键词对应的执行文本内容和执行文本时的指定屏幕视频帧。
[0066]因此,通过上述检索回放方式,可非常方便迅速的检索到某一时刻数据库管理员通过数据库操作终端试图发送到数据库服务器的操作指令,其中,该操作指令即包括成功发送到数据库服务器的有效操作指令,也包括被数据库操作终端所阻止而未被发送到数据库服务器的无效操作指令,例如:数据库管理员试图操作其没有操作权限的表或者可执行其他脚本的操作指令等。从而可全面对数据库管理员的操作行为进行监控。此外,当基于账户信息进行检索时,可检索到同一账户的所有操作指令,全面更方便获取某一数据库管理员的所有操作指令。
[0067]S6之后,还包括:
[0068]S7,按所设定的播放帧数参数,检索到位于所述指定屏幕视频帧之前且与所述指定屏幕视频帧相邻的连续的若干张屏幕视频帧,还检索到位于所述指定屏幕视频帧之后且与所述指定屏幕视频帧相邻的连续的若干张屏幕视频帧;然后,根据各张检索到的屏幕视频帧的时间戳信息,按时间先后顺序播放所检索到的各张屏幕视频帧,从而还原得到执行命令发生时的操作场景。
[0069]例如,当需要检索2014年8月5日19:00的操作场景时,为方便说明,仅以设定的播放巾贞数参数为前后各2张为例进行说明:
[0070]设映射关系配置表中按时间戳先后顺序存储以下内容:映射关系1:18:30分-屏幕视频帧1-账户a-操作文本I ;映射关系2:18:50分-屏幕视频帧2-账户a_操作文本2 ;映射关系3:19:00分-屏幕视频帧3-账户a-操作文本3 ;映射关系4:19:30分-屏幕视频帧4-账户a-操作文本4 ;映射关系5:19:32分-屏幕视频帧5-账户a_操作文本5 ;则自动播放屏幕视频帧1、屏幕视频帧2、屏幕视频帧3、屏幕视频帧4和屏幕视频帧5,从而实现还原执行操作文本3命令时的操作场景。
[0071]其中,播放帧数参数的具体值可手工设置,也可由监控系统自动设置。
[0072]如图2所示,本发明还提供一种数据库管理员运维行为的监控系统,该监控系统运行于数据库操作终端,包括:
[0073]判断模块,用于判断数据库操作终端当前正在使用的用于与数据库服务器通信的维护环境类型,其中,所述维护环境类型包括数据库维护命令编辑环境和命令行类维护环境;所述数据库维护命令编辑环境指运行数据库维护命令编辑工具的环境,所述命令行类的维护环境指运行命令行类维护工具的环境;
[0074]第一监听模块,用于当所述判断模块判断出所述维护环境类型为数据库维护命令编辑环境时,监听I/o模块的工作状态,判断是否监听到I/O模块发出执行确认指令;
[0075]窗口状态判断模块,用于当所述第一监听模块监听到I/O模块发出执行确认指令时,判断当前的编辑窗口是否为活动窗口 ;
[0076]第一内容获取模块,用于当所述窗口状态判断模块判断出当前的编辑窗口为活动窗口时,首先获取所述编辑窗口的窗口句柄,然后获得与获取到的所述窗口句柄对应的执行文本内容;还用于:当所述窗口状态判断模块判断出当前的编辑窗口为非活动窗口时,获取所述编辑窗口当前显示的全部文本内容;
[0077]第二监听模块,用于当所述判断模块判断出所述维护环境类型为命令行类维护环境时,监听I/o模块的工作状态,判断是否监听到I/O模块发出执行确认指令;
[0078]重绘指令输出模块,用于当所述第二监听模块监听到I/O模块发出执行确认指令时,输出对所述命令行工具的底部区域进行重绘的操作指令,使重新输出底部区域的文本内容;
[0079]第二内容获取模块,用于当所述重绘指令输出模块重新输出底部区域的文本内容后,获取重新输出的文本内容,该重新输出的文本内容即为当前执行文本内容,由此获得了执行文本内容;
[0080]屏幕视频帧获取模块,用于当所述第一内容获取模块获取到执行文本内容或全部文本内容之后,或者,当所述第二内容获取模块获取到执行文本内容之后,对当前屏幕进行截屏操作,获得屏幕视频帧;
[0081]账户信息获取模块,用于当所述第一内容获取模块获取到执行文本内容或全部文本内容之后,或者,当所述第二内容获取模块获取到执行文本内容之后,获得当前登录所述维护环境的账户信息;
[0082]映射关系配置表维护模块,如果获取到的为执行文本内容,则存储所述屏幕视频帧获取模块获取到的屏幕视频帧、所述账户信息获取模块获取到的账户信息、所述执行文本内容以及当前时间戳的映射关系到映射关系配置表;
[0083]如果获取到的为全部文本内容,则存储所述屏幕视频帧获取模块获取到的屏幕视频帧、所述账户信息获取模块获取到的账户信息、所述全部文本内容以及当前时间戳的映射关系到映射关系配置表。
[0084]下面列举三个具体实施例:
[0085]实施例一:数据库服务器为安装sqlserver的数据库,数据库操作终端为安装sqlserver所带的Ssms.exe运维工具;当数据库管理员在Ssms.exe的编辑窗口中选中一段符合语法或不符合语法的操作命令后,该操作命令高亮显示;然后当数据库管理员按F5或者鼠标执行按钮时,本发明提供的监控系统即获取并记录该操作命令。
[0086]实施例二:数据库服务器为安装oracle的数据库,数据库操作终端安装toad运维工具;当数据库管理员在toad的编辑窗口中选中一段符合语法或不符合语法的操作命令后,该操作命令高亮显示,然后当数据库管理员按F5或者鼠标执行按钮时,本发明提供的监控系统即获取并记录该操作命令。
[0087]实施例三:数据库服务器为安装oracle的数据库,数据库操作终端安装sqlplus运维工具,当数据库管理员在sqlplus的底部区域输入一行执行命令,然后,当数据库管理员按回车时,本发明提供的监控系统即获取并记录该执行命令。
[0088]综上所述,本发明提供的数据库管理员运维行为的监控方法及系统,具有以下优占-
^ \\\.
[0089](I)不需要更改用户的现有网络结构,具有对数据库管理员运维行为的监控成本低的优点;
[0090](2)在对数据库管理员运维行为的监控过程中,完全不会影响数据库操作终端和数据库服务器之间的通讯过程;
[0091](3)可对数据库管理员通过数据库操作终端试图发送到数据库服务器的有效或无效操作指令进行全面监控,实现全面对数据库管理员的操作行为进行审计的效果。
[0092]以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
【权利要求】
1.一种数据库管理员运维行为的监控方法,其特征在于,包括以下步骤: Si,判断数据库操作终端当前正在使用的用于与数据库服务器通信的维护环境类型,如果为数据库维护命令编辑环境,则执行S2 ;如果为命令行类维护环境,则执行S3 ;其中,所述数据库维护命令编辑环境指运行数据库维护命令编辑工具的环境,所述命令行类的维护环境指运行命令行类维护工具的环境; S2,监听I/O模块的工作状态,当监听到I/O模块发出执行确认指令时,判断当前的编辑窗口是否为活动窗口,如果是,则首先获取所述编辑窗口的窗口句柄,然后获得与获取到的所述窗口句柄对应的执行文本内容,然后执行S4 ;如果不是,则获取所述编辑窗口当前显示的全部文本内容,然后执行S4 ; S3,监听I/O模块的工作状态,当监听到I/O模块发出执行确认指令时,输出对所述命令行工具的底部区域进行重绘的操作指令,使重新输出底部区域的文本内容;然后,获取重新输出的文本内容,该重新输出的文本内容即为当前执行文本内容,由此获得了执行文本内容;然后执行S4 ; S4,对当前屏幕进行截屏操作,获得屏幕视频帧;同时获得当前登录所述数据库维护命令编辑工具的账户信息; 然后,如果获取到的为执行文本内容,则存储所述屏幕视频帧、所述账户信息、所述执行文本内容以及当前时间戳的映射关系到映射关系配置表; 如果获取到的为全部文本内容,则存储所述屏幕视频帧、所述账户信息、所述全部文本内容以及当前时间戳的映射关系到映射关系配置表。
2.根据权利要求1所述的数据库管理员运维行为的监控方法,其特征在于,所述数据库维护命令编辑工具包括toad工具和SMSS工具;所述命令行类维护工具包括sqlplus工具。
3.根据权利要求1所述的数据库管理员运维行为的监控方法,其特征在于,S2中,所述监听I/o模块的工作状态,当监听I/O模块发出执行确认指令时,判断当前的编辑窗口是否为活动窗口,具体为: 所述I/o模块为所述数据库操作终端的键盘和鼠标; 监听所述键盘和鼠标的执行状态,当监听到所述键盘的F5键被触发时,或者,当监听到所述鼠标的执行按钮被触发时,即为监听到I/O模块发出执行确认指令,然后进行后续的判断当前的编辑窗口是否为活动窗口的指令。
4.根据权利要求1所述的数据库管理员运维行为的监控方法,其特征在于,S2中,所述获得与获取到的所述窗口句柄对应的执行文本内容,具体为: 向所述编辑窗口发送复制窗口句柄对应的执行文本内容的窗口消息;所述编辑窗口在接收到该窗口消息后,将窗口句柄对应的执行文本内容缓存到剪贴板中;然后直接读取剪贴板而获得窗口句柄对应的执行文本内容。
5.根据权利要求1所述的数据库管理员运维行为的监控方法,其特征在于,S3中,监听I/o模块发出执行确认指令具体指: 所述I/o模块为键盘,当监听到所述键盘的回车键被触发时,即为监听到I/O模块发出执7TT确认指令。
6.根据权利要求1所述的数据库管理员运维行为的监控方法,其特征在于,S4之后,还包括: S5,接收对数据库操作命令进行检索回放的指令,其中,该检索回放的指令中携带检索关键词;所述检索关键词包括账户信息和/或需检索的时间信息; S6,根据所述检索关键词检索所述映射关系配置表,定位到与所述检索关键词对应的执行文本内容和执行文本时的指定屏幕视频帧。
7.根据权利要求6所述的数据库管理员运维行为的监控方法,其特征在于, S6之后,还包括: S7,按所设定的播放帧数参数,检索到位于所述指定屏幕视频帧之前且与所述指定屏幕视频帧相邻的连续的若干张屏幕视频帧,还检索到位于所述指定屏幕视频帧之后且与所述指定屏幕视频帧相邻的连续的若干张屏幕视频帧;然后,根据各张检索到的屏幕视频帧的时间戳信息,按时间先后顺序播放所检索到的各张屏幕视频帧,从而还原得到执行命令发生时的操作场景。
8.一种数据库管理员运维行为的监控系统,其特征在于,该监控系统运行于数据库操作终端,包括: 判断模块,用于判断数据库操作终端当前正在使用的用于与数据库服务器通信的维护环境类型,其中,所述维护环境类型包括数据库维护命令编辑环境和命令行类维护环境;所述数据库维护命令编辑环境指运行数据库维护命令编辑工具的环境,所述命令行类的维护环境指运行命令行类维护工具的环境; 第一监听模块,用于当所述判断模块判断出所述维护环境类型为数据库维护命令编辑环境时,监听I/o模块的工作状态,判断是否监听到I/O模块发出执行确认指令; 窗口状态判断模块,用于当所述第一监听模块监听到I/o模块发出执行确认指令时,判断当前的编辑窗口是否为活动窗口; 第一内容获取模块,用于当所述窗口状态判断模块判断出当前的编辑窗口为活动窗口时,首先获取所述编辑窗口的窗口句柄,然后获得与获取到的所述窗口句柄对应的执行文本内容;还用于:当所述窗口状态判断模块判断出当前的编辑窗口为非活动窗口时,获取所述编辑窗口当前显示的全部文本内容; 第二监听模块,用于当所述判断模块判断出所述维护环境类型为命令行类维护环境时,监听I/o模块的工作状态,判断是否监听到I/O模块发出执行确认指令; 重绘指令输出模块,用于当所述第二监听模块监听到I/o模块发出执行确认指令时,输出对所述命令行工具的底部区域进行重绘的操作指令,使重新输出底部区域的文本内容; 第二内容获取模块,用于当所述重绘指令输出模块重新输出底部区域的文本内容后,获取重新输出的文本内容,该重新输出的文本内容即为当前执行文本内容,由此获得了执行文本内容; 屏幕视频帧获取模块,用于当所述第一内容获取模块获取到执行文本内容或全部文本内容之后,或者,当所述第二内容获取模块获取到执行文本内容之后,对当前屏幕进行截屏操作,获得屏幕视频帧; 账户信息获取模块,用于当所述第一内容获取模块获取到执行文本内容或全部文本内容之后,或者,当所述第二内容获取模块获取到执行文本内容之后,获得当前登录所述维护环境的账户信息; 映射关系配置表维护模块,如果获取到的为执行文本内容,则存储所述屏幕视频帧获取模块获取到的屏幕视频帧、所述账户信息获取模块获取到的账户信息、所述执行文本内容以及当前时间戳的映射关系到映射关系配置表; 如果获取到的为全部文本内容,则存储所述屏幕视频帧获取模块获取到的屏幕视频帧、所述账户信息获取模块获取到的账户信息、所述全部文本内容以及当前时间戳的映射关系到映射关系配置表。
【文档编号】G06F17/30GK104133915SQ201410397640
【公开日】2014年11月5日 申请日期:2014年8月13日 优先权日:2014年8月13日
【发明者】李小龙, 郭晓东 申请人:北京华夏威科软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1