数据仓库中异常行为的处理方法及监测服务器的制作方法

文档序号:6429833阅读:403来源:国知局
专利名称:数据仓库中异常行为的处理方法及监测服务器的制作方法
技术领域
本发明涉及数据仓库技术,尤其涉及一种数据仓库中异常行为的处理方法及监测服务器。
背景技术
数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合,也就是说对所有应用系统,例如客户关系管理系统、财务系统等,按照主题进行集成并记录整个历史变化情况。数据抽取、转换、装载(Extract、Transform、Load ;简称为 ETL)的过程是构建数据仓库的重要过程,它通过抽取数据源中相关数据,对数据进行转换使其满足数据仓库的要求,并将数据加载到目的端的数据仓库中。在实际应用中,该ETL过程经常会有一些异常行为发生,例如提取了不相关的数据、经转换后的数据不符合数据仓库要求等,这些问题会让ETL过程崩溃,甚至会将错误带入数据仓库中。最初主要是由人工分析并监控该ETL过程来防止异常发生,但其效率较低、 质量也不高。于是出现了一些带有自动监测ETL过程工具的数据仓库,例如TERADATA, 其所提供的自动监测工具名为ETL AUTOMATION。该工具采用客户端/服务器(Client/ Server ;简称为-纖架构,通过数据仓库内部接口,由用户主动触发查询数据仓库ETL过程中各个任务的状态及相关日志,从而获取ETL过程中出现的异常行为以便于采取补救措施,该方式在检测效率和质量上都有了一定的提高。但是,该方式在检测效率和检测质量上的提高是以要求用户必须频繁主动触发状态查询操作为基础的,如果用户未能及时主动触发状态查询操作,就算ETL过程遇到异常, 用户也无法及时获知。

发明内容
本发明提供一种数据仓库中异常行为的处理方法及监测服务器,用以解决现有技术中用户需要手动按键切换视频输出模式的缺陷,实现视频输出模式的自动切换。本发明提供一种数据仓库中异常行为的处理方法,包括监测服务器定时获取数据仓库中的系统表,所述系统表包括任务信息;所述监测服务器根据所述系统表中的任务信息,判断所述数据仓库的ETL过程是否存在异常行为;当判断出所述数据仓库的ETL过程存在异常行为时,所述监测服务器将异常行为信息记录到所述数据仓库中的异常信息记录表中;所述监测服务器将所述异常行为信息发送给运维监测设备。本发明提供一种监测服务器,包括第一获取模块,用于定时获取数据仓库中的系统表,所述系统表包括任务信息;判断模块,用于根据所述系统表中的任务信息,判断所述数据仓库的ETL过程是否存在异常行为;
记录模块,用于在所述判断模块判断出所述数据仓库的ETL过程存在异常行为时,将异常行为信息记录到所述数据仓库中的异常信息记录表中;第一发送模块,用于将所述异常行为信息发送给运维监测设备。本发明的数据仓库中异常行为的处理方法及监测服务器,监测服务器根据数据仓库中系统表中记录的任务信息来判断ETL过程是否出现异常,并在出现异常时将异常行为信息记录到数据仓库的异常信息表中并将异常行为信息发送到运维监测设备,以使运维人员及时获取到异常行为信息,进而及时采取相应处理措施,与现有技术相比,运维人员无需频繁的去查询数据仓库就可以及时获知异常行为信息,保证了数据仓库的安全性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明一实施例提供的数据仓库中异常行为的处理方法的流程图;图2为本发明另一实施例提供的数据仓库中异常行为的处理方法的流程图;图3为本发明再一实施例提供的数据仓库中异常行为的处理方法的流程图;图4为本发明又一实施例提供的数据仓库中异常行为的处理方法的流程图;图5为本发明又一实施例提供的数据仓库中异常行为的处理方法的流程图;图6为本发明一实施例提供的监测服务器的结构示意图;图7为本发明另一实施例提供的监测服务器的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明一实施例提供的数据仓库中异常行为的处理方法的流程图。如图1 所示,本实施例的方法包括步骤101、监测服务器定时获取数据仓库中的系统表,该系统表包括任务信息。在每个数据仓库中都存在记录任务信息的系统表,任务信息主要是指与任务的 ETL过程相关的各种信息,例如任务的执行状态、任务的执行时间、任务的提交时间等等。不同数据仓库对应的系统表的实现方式不同,在一些数据仓库中该系统表以一张表实现,而在另一些数据仓库中该系统表可由多张表来实现,多张表用于分别存储不同的任务信息。以TERADATA数据仓库为例,本实施例的系统表包括ETL服务器映射关系表(ETL_ Server)、ETL 接收文件记录表(ETL_Received File)、ETL 任务列表(ETL_J0B)。其中,ETL_ Server主要用于存储任务与运行该任务的ETL服务器的映射关系,而ETL_Received File 主要用于记录该数据仓库对应的外部数据源、外部数据源上传数据文件的时间等信息, ETL_J0B主要用于记录每个任务的运行状态、历史执行时间等信息。
其中,监测服务器定时登录数据仓库,获取其上的系统表。定时周期可以预先设定,且定时周期设定的越小监测服务器对数据仓库的监测就越频繁。定时周期可以根据实际情况来设定。步骤102、监测服务器根据系统表中的任务信息,判断数据仓库的ETL过程是否存在异常行为。如果判断结果为是,即数据仓库的ETL过程中存在异常行为,则执行步骤103 ; 如果判断结果为否,即数据仓库的ETL过程不存在异常行为,则执行步骤105。由于系统表中记录了与ETL过程相关的信息,因此,监测服务器根据系统表中的任务信息来判断数据仓库的ETL过程是否出现异常行为。例如监测服务器从任务信息中获取当前任务的执行状态信息,直接执行状态信息判断相应任务是否出现异常行为。以TERADATA数据仓库为例,监测服务器具体从ETL_ JOB中获取各条任务的执行状态信息。其中,一条任务的执行状态包括等待(pending)、运行(running)、执行成功(Done)或执行失败O^ail),且各种状态的运行逻辑是先pending 再running最后Done或!^ail,其中,只要出现pending状态就应当出现running。该条任务对应的执行状态信息包括pending、running. Done或i^iil。其中,当监测服务器监测到一条任务的执行状态信息包括i^ail或者仅包括pending和Done而不包括running时,说明该条任务的ETL过程出现异常,则判定该执行状态信息对应的该条任务出现异常行为。其中,该异常行为主要出现的数据转换或加载过程中。又例如监测服务器从任务信息中执行状态信息仅包括pending或者仅包括 pending和running的任务(即执行状态为非Done或非i^iil的任务)的历史执行时间,并根据历史执行时间判断相应任务是否出现异常行为。以TERADATA数据仓库为例,监测服务器具体从ETL_J0B中获取各条非Done或非i^ail任务的历史执行时间,该历史执行时间是指某个任务最近几次(具体可以预先设定最近的执行次数)执行时所需的时间。其中,对每条任务来说,其每次的执行时间基本上是相同的,且该标准执行时间以执行时间阈值的形式存储在系统表中,在本实施例中该系统表是指ETL_J0B。具体的,监测服务器对历史执行时间进行平均处理,即用最近几次的历史执行时间之和除以历史执行时间的个数,获取执行状态为非Done或非i^ail的任务的当前执行时间,然后将当前执行时间与执行时间阈值进行比较,如果当前执行时间大于执行时间阈值,则判定执行状态为非Done或非i^ail的任务出现异常行为。反之,监测服务器判定执行状态为非Done或非Mil的任务未出现异常行为。再例如监测服务器从任务信息中获取外部数据源预先设定的上传数据文件的时间,并根据外部数据源预先设定的上传数据文件的时间来判断相应任务是否出现异常行为。以TERADATA数据仓库为例,在ETL_ReCeived File中不仅存储着外部数据源上传的数据文件以及实际上传数据文件的时间,还记录着外部数据源应该上传的数据文件的名称以及应该上传数据文件的时间(即预先设定的上传数据文件的时间)。监测服务器从ETL_ Received File中获取外部数据源应该上传数据文件的时间,将未接收到数据文件时的当前系统时间与外部数据源应该上传数据文件的时间进行比较,如果当前系统时间与外部数据源应该上传数据文件的时间的差值大于时间阈值,即超出了系统所允许的应该上传数据文件的时间范围时,判定该数据文件对应的任务出现异常行为,即该数据抽取过程出现了异常行为;反之,判定该数据抽取过程未出现异常行为。例如设某一外部数据源应该上传数据文件的时间范围为下午2点,时间阈值为半个小时,也就是系统所允许的外部数据源上传数据文件的时间范围为2点至2点半,如果监测服务器监测到到下午2点半时仍未接收到数据文件,则监测服务器判定与该数据文件对应的任务出现异常行为,且该异常行为具体出现在数据抽取过程中。其中,每个数据文件对应一个任务,只有在接收到数据文件后才构成一条任务。其中,上述给出了几种监测服务器根据系统表中的任务信息进行异常行为判断的示例,但并不限于此。监测服务器可以根据实际所使用的数据仓库以及数据仓库的系统表中的具体任务信息而进行不同的判断操作。步骤103、监测服务器将异常行为信息记录到数据仓库中的异常信息记录表中,并执行步骤104。具体的,当监测服务器判断出数据仓库的ETL过程出现异常行为时,登录数据仓库并将异常行为信息记录到数据仓库的异常信息记录表中。其中,异常行为信息是指与出现的异常行为相关的信息。例如对于在数据转换或加载过程中出现的执行状态异常行为, 该异常行为信息包括出现异常行为的任务标识、异常行为出现在转换或加载过程、异常状态的具体体现形式(例如是I^ail状态还是包括pending和Done状态而不包括running的状态)等。又例如对于在数据转换过程中出现的执行时间超时的异常行为,该异常行为信息包括出现异常行为的任务标识、异常行为出现在数据转换过程、该异常行为任务的执行时间具体为多少等。再例如对于在数据抽取过程中出现的未能在正常时间范围内上传数据文件的异常行为而言,该异常行为信息包括出现异常行为的任务标识、异常行为出现在数据抽取过程、该异常行为对应的数据文件的实际上传时间以及应该上传时间等。步骤104、监测服务器将异常行为信息发送给运维监测设备,并执行步骤105。当监测服务器监测到ETL过程中的异常行为之后,将异常行为信息发送给运维监测设备,以便及时告知运维人员ETL过程出现的异常行为。其中,运维监测设备可以是任何能够及时通知运维人员的设备,例如计算机、运维人员的手机等。本实施例提供一种监测服务器将异常行为信息发送给运维监测设备的实施方式, 该实施方式包括监测服务器在获取到异常行为并将异常行为信息记录到数据仓库的异常信息记录表中之后,直接将记录到异常信息记录表中的异常行为信息发送给运维监测设备。换句话说,监测服务器每次获取到异常行为时,都会通过运维监测设备将相应的异常行为信息告知运维人员,以便于运维人员及时采取相应措施对异常行为进行处理,保证数据仓库的安全性和可靠性。在上述实施方式中,异常行为的发现过程与异常行为信息的上报过程是同一过程。本实施例另提供一种监测服务器将异常行为信息发送给运维监测设备的实施方式,在该实施方式中,异常行为的发现和异常行为信息的上报是独立执行的。具体的,监测服务器定时登录数据仓库查询其上的异常信息记录表,判断当前异常信息记录表中的异常行为信息与上一次查询时异常信息记录表中的异常行为信息是否相同;如果相同,说明没有新的异常行为信息被记录到异常信息记录表中;如果不相同,说明有新的异常行为信息(即不相同的异常行为信息)被记录到了异常信息记录表中,则将不相同的异常行为信息发送给运维监测设备。其中,当运维监测设备为手机时,监测服务器具体向该手机发送携带异常行为信息的短信,以将ETL过程中出现的异常行为告知运维人员。步骤105、结束此次监测操作。其中,当监测服务器根据系统表中的任务信息未发现异常行为时,可以结束本次监测操作,并等待下一次监测操作的到来,即等待下一次定时时间的到来。本实施例的数据仓库中异常行为的处理方法,监测服务器自动根据预设的定时周期对数据仓库进行监测,通过数据仓库中系统表中的任务信息判断ETL过程是否出现异常行为,在出现异常行为时将异常行为记录到异常信息表中并通知运维人员,使得运维人员不必主动去数据仓库查询即可及时获取ETL过程中出现的异常行为,解决了因人为查询数据仓库的频繁程度不够造成无法及时获取异常行为的问题,还提高了运维人员获取异常行为信息的及时性,便于及时采取相应措施,保证了数据仓库的安全性和可靠性。图2为本发明另一实施例提供的数据仓库中异常行为的处理方法的流程图。本实施例基于图1所示实施例实现,如图2所示,本实施例的方法在步骤104之后还包括步骤106、监测服务器根据系统表和异常信息记录表,对当前任务进行综合处理, 生成监测结果。其中,步骤106的一种实施方式为每次发现异常行为并将异常行为记录到异常信息表中之后,直接从数据仓库中获取系统表和异常信息记录表(即根据当时的异常信息记录表),根据两个表的信息对当前任务进行综合分析,以更加全面的对当前任务的状态进行分析,生成包括当前任务的详细执行状态信息的监测结果。步骤106的再一种实施方式为监测服务器按照预先设定的另一定时周期与数据仓库建立连接,即登录数据仓库,并获取系统表和异常信息记录表。在该实施方式中,监测服务器定时监测数据仓库异常行为的操作、监测服务器定时检查异常信息记录表发现新的异常行为信息的操作和监测服务器定时生成监测结果的操作是并行执行的,三种定时周期互不相关。在上述各实施方式中,监测服务器上保存有登录数据仓库的密码,在网络连接正常的情况下,可以直接登录数据仓库。步骤107、监测服务器存储监测结果,以供运维人员查看。具体的,监测服务器将上述监测结果制作成服务器端Web页面,并采用B/S结果展现出来。运维人员只需通过运维监测设备登录监测服务器的页面即可实时查看到当前所有任务的状态信息。更进一步,在本实施例中,监测服务器还可以根据系统表(例如ETLJerver)中存储的任务与运行任务的ETL服务器的映射关系,获取运行当前任务的ETL服务器,并与运行当前任务的ETL服务器建立连接,从ETL服务器上获取当前任务的日志文件,并存储日志文件,以供运维人员查看该日志文件。其中,日志文件中记录了每个任务在整个运行过程中的各种信息,运维人员通过该日志文件可以查询到任务出现异常的具体原因。监测服务器也可以通过制作服务器端Web页面将该日志文件展现出来,运维人员通过登录监测服务器即可实时查看到日志文件。本实施例的数据仓库中异常行为的处理方法,监测服务器根据发现异常行为后记录的异常行为信息对当前任务做综合分析和处理,并允许运维人员查看处理结果,从而方便运维人员查找出现异常行为的原因,便于对异常行为进行处理,进一步保证了数据仓库的安全性和可靠性。图3为本发明再一实施例提供的数据仓库中异常行为的处理方法的流程图。本实施例可基于图1所示实施例实现,如图3所示,本实施例的方法还包括步骤301、监测服务器定时查询ETL服务器的日志文件,并将日志文件中最后一条日志的记录时间与当前系统时间进行比较,判断最后一条日志的记录时间与当前系统时间的差值是否大于时间差阈值;如果判断结果为是,即比较结果为记录时间与当前系统时间的差值大于时间差阈值,执行步骤302;如果判断结果为否,S卩比较结果为记录时间与当前系统时间的差值小于或等于时间差阈值,执行步骤105。其中,监测服务器可以从任务信息中获取任务与执行任务的ETL服务器的映射关系,然后定时登录ETL服务器,并对ETL服务器进行异常监测。在正常情况下,随着任务的执行,ETL服务器会不断将任务执行过程中的信息记录到与该任务对应的日志文件中,因此,监测服务器通过判断日志文件中最后一条日志的时间与当前系统时间的差值即可判断出ETL服务器是否一直在执行任务;如果该ETL服务器不再执行任务,则认为该ETL服务器处于假死状态。其中,监测服务器定时监测各ETL服务器的操作与定时监测数据仓库的操作可以并行执行,也可以同时执行。步骤302、监测服务器判定ETL服务器处于假死状态,将异常行为信息记录到异常信息记录表中,并触发ETL服务器重启对应的服务进程。当监测服务器发现ETL服务器处于假死状态时,监测服务器将该异常行为信息记录到异常信息记录表中,同时触发ETL服务器重启对应的服务进程以重新正常执行相应的任务。本实施例的数据仓库中异常行为的处理方法,监测服务器除了根据系统表中的任务信息判断ETL过程是否出现异常行为之外,进一步通过各ETL服务器的日志文件判断各 ETL服务器是否处于假死状态,以判断出ETL过程中的另一种异常行为(即由ETL服务器处于假死状态造成的异常),从而更加全面的监测数据仓库中的异常行为,进一步保证了数据仓库的可靠性、正确性和安全性。图4为本发明又一实施例提供的数据仓库中异常行为的处理方法的流程图。本实施例基于图2所示实施例实现,如图4所示,本实施例的方法在步骤107之后还包括步骤401、监测服务器接收预设终端号码对应的终端发送的短信,根据预设处理规则将短信内容和终端号码生成文本文件,并存储到预设文件夹下。在实际应用中,采用数据仓库的企业处于种种安全考虑通常会将数据仓库所在系统与外部网络相隔离,但是在实际运行维护过程中,需要及早获知各种异常行为并及时进行相应处理。基于此,本实施例的监测服务器上安装有一台全球移动通信系统(GlcAal System of Mobile communication ;简称为GSM)调制解调器(MODEM)设备,允许接收终端设备发送的短信或者电话,以便于运维人员或用户等及时获知监测结果。其中,为了安全起见,监测服务器预先设定了所允许接收的终端设备的终端号码。当有终端设备发送的短信时,监测服务器首先判断终端的号码是否为预设终端号码,如果判断结果为是,就接收短信;如果判断结果为否,直接将该短信丢弃。当监测服务器确定接收短信时,将短信存储到预先设定的一文件夹中。步骤402、监测服务器定时轮循数据库,并判断数据库中是否有文本文件存在;如果判断结果为是,即监测服务器轮循到文件夹中存在文本文件时,执行步骤403 ;如果判断结果为否,即监测服务器轮循到文件夹中不存在文本文件时,执行步骤105。在本实施例中,监测服务器会定时轮循文件夹,以判断文件夹中是否存在文本文件。其中,定时轮循文件夹的周期可以预先设定。步骤403、监测服务器取出文件夹中的文本文件,并根据预设检测规则对文本文件中的短信内容进行合法性检测,即判断短信内容是否合法;如果判断结果为是,即检测结果为短信内容合法,执行步骤404;如果判断结果为否,即检测结果为短信内容不合法,执行步骤405。当监测服务器轮循到文件夹中存在文本文件时,会取出该文本文件。所述取出是指读取文本文件并将文件夹中的文本文件删除,以便于存储下一个文本文件。同时,在监测服务器上预先设定了检测规则,用于检测文本文件中的短信内容是否合法。步骤404、监测服务器根据短信内容将监测结果发送给终端,并执行步骤105。当检测结果为合法时,监测服务器根据短信内容将所生成的监测结果通过GSM MODEM设备发送给终端设备,以使处于外部网络的运维人员或工作人员能够及时获取当前任务的状态信息,便于进行紧急处理等。具体的,运维人员或工作人员可以直接编写结构化查询语言(Structured Query Language ;简称为SQL)查询命令或者操作系统命令来查询并获取监测结果,而监测服务器可以直接将短信内容翻译成相应的命令并通过相应的命令将监测结果发送给终端设备。另外,运维人员或工作人员还可以通过短信方式对数据仓库系统进行控制,例如用户可以使用特定终端号码并经由GSMM0DEM设备发送短信“STOP IP 地址”到监测服务器,来实现远程停止一个服务器,或者停止某个正在运行的服务。步骤405、监测服务器将文本文件丢弃,并执行步骤105。为保证数据仓库的安全性,当监测服务器发现短信内容不合法时,直接将文本文件丢弃,并结束操作。进一步说明,本实施例处于外部网络中的运维人员或工作人员等除了通过短信获取监测服务器生成的监测结果外,还可以通过向监测服务器发送短信来控制ETL服务器或相应进程的重启、对某个任务强制重新运行或跳过不处理等操作。本实施例的数据仓库中异常行为的处理方法,监测服务器通过配置GSMM0DEM设备允许外部网络中的运维人员或工作人员获取数据仓库中的异常行为信息以便于对数据仓库中异常行为进行及时处理等操作,在保证数据仓库安全性的同时,提高了数据仓库的安全性和正确性。图5为本发明又一实施例提供的数据仓库中异常行为的处理方法的流程图。本实施例基于图2所示的实施例实现,如图5所示,本实施例的方法在步骤107之后还包括步骤501、监测服务器获取指定用户发送的邮件,并根据邮件的邮件主题或邮件附件将监测结果以邮件形式发送给用户。具体的,为了保证数据仓库的安全性,同时使外部网络中的运维人员或工作人员及早获知各种异常行为并及时进行相应处理,本实施例的监测服务器预先申请了一个邮箱作为指定邮箱,监测服务器预先编写自动监听的Windows后台服务进程,以轮循方式定时连接到指定邮箱的第3版本邮局协议(Post Office Protocol 3 ;简称为P0P3)服务器检测指定邮箱中是否接收到邮件;当查询到邮件时,判断邮件的邮箱地址是否为指定用户的邮箱地址;如果判断结果为是,监测服务器获知该邮件,并根据该邮件的邮件主题或邮件附件内容将监测结果通过邮箱发送给外网的运维人员或工作人员。如果判断结果为否,监测服务器直接将邮件删除。其中,在获取邮件之后,监测服务器还会根据预先设定的检测规则对邮件主题或邮件附件进行合法性判断,例如判断邮件主题命名规则是否正确、附件内容大小是否符合要求等,以保证数据仓库的安全性。进一步说明,本实施例处于外部网络中的运维人员或工作人员等除了通过邮件获取监测服务器生成的监测结果外,还可以通过向监测服务器发送邮件来控制ETL服务器或相应进程的重启、对某个任务强制重新运行或跳过不处理等操作。本实施例的数据仓库中异常行为的处理方法,监测服务器通过申请邮箱并允许外部网络中指定的运维人员或工作人员获取数据仓库中的异常行为信息以便于对数据仓库中异常行为进行及时处理等操作,在保证数据仓库安全性的同时,提高了数据仓库的安全性和正确性。在上述各实施例中,监测服务器定时获取数据仓库中的系统表之前,即步骤101 之前还包括监测服务器根据本地存储的密码定时与数据仓库建立连接,如果连接建立成功,监测服务器执行步骤101 ;如果连接建立不成功,监测服务器判定数据仓库连接发生异常,并通过其显示装置显示连接异常信息。即在步骤101之前先登录数据仓库,只有在登录数据仓库成功之后,才能执行后续操作,否则说明连接数据仓库出现异常,该异常可能是由于网络造成的,也可能是由于数据仓库本身出现问题造成的。进一步,监测服务器还可以将上述数据仓库连接异常信息发送给运维监测设备,由运维人员做进行处理。图6为本发明一实施例提供的监测服务器的结构示意图。如图6所示,本实施例的监测服务器包括第一获取模块61、判断模块62、记录模块63和第一发送模块64。其中,第一获取模块61,用于定时获取数据仓库中的系统表,该系统表包括任务信息。判断模块62,与第一获取模块61连接,用于根据系统表中的任务信息,判断数据仓库的 ETL过程是否存在异常行为。记录模块63,与判断模块62连接,用于在判断模块62判断出数据仓库的ETL过程存在异常行为时,将异常行为信息记录到数据仓库中的异常信息记录表中。第一发送模块64,用于将异常行为信息发送给运维监测设备。本实施例的监测服务器的各功能模块可用于执行图1所示方法实施例的流程,其工作原理不再赘述,详见方法实施例的描述。本实施例的监测服务器,通过上述各功能模块自动根据设定的定时周期对数据仓库进行监测,通过数据仓库中系统表中的任务信息判断ETL过程是否出现异常行为,在出现异常行为时将异常行为记录到异常信息表中并通知运维人员,使得运维人员不必主动去数据仓库查询即可及时获取ETL过程中出现的异常行为,解决了因人为查询数据仓库的频繁程度不够造成无法及时获取异常行为的问题,还提高了运维人员获取异常行为信息的及时性,便于及时采取相应措施,保证了数据仓库的安全性和可靠性。图7为本发明另一实施例提供的监测服务器的结构示意图。本实施例基于图6所示实施例实现,如图7所示,本实施例的判断模块62包括以下任一判断单元或其组合第一判断单元621,用于从任务信息中获取当前任务的执行状态信息,当执行状态信息包括 Fail或者当执行状态信息仅包括pending和Done而不包括running时,判定执行状态信息对应的任务出现异常行为。第二判断单元622,用于从任务信息中执行状态信息仅包括pending或仅包括 pending和running的任务的历史执行时间,对历史执行时间进行平均处理,获取执行状态信息仅包括pending或仅包括pending和running的任务的当前执行时间,当当前执行时间大于执行时间阈值时,判定执行状态信息仅包括pending或仅包括pending和running 的任务出现异常行为。第三判断单元623,用于从任务信息中获取外部数据源预先设定的上传数据文件的时间,当未收到数据文件时的当前系统时间与外部数据源预先设定的上传数据文件的时间的差值大于时间阈值时,判定数据抽取过程出现了异常行为。其中,上述各功能单元具体可用于执行图1所示实施例中步骤102描述的流程,其具体工作原理不再赘述,详见方法实施例的描述。进一步,第一发送模块64的一种实现结构包括查询判断单元641和发送单元 642。查询判断单元641,用于定时查询异常信息记录表,并判断当前异常信息记录表中的异常行为信息与上一次查询时异常信息记录表中的异常行为信息是否相同。发送单元642,与查询判断单元641连接,用于在查询判断单元641判断出存在不相同的异常行为信息时,将不相同的异常行为信息发送给运维监测设备。另外,第一发送模块64还可以通过与记录模块63连接,并在记录模块63将异常行为信息记录到所述异常信息记录表中后,直接将记录模块63记录到异常信息表中的异常行为信息发送给运维监测设备。该实施方式未进行图示。上述第一发送模块或其功能单元可分别用于执行图1所示实施例中步骤104中两种实施方式的流程,其具体工作原理不再赘述,详见方法实施例的描述。如图7所示,本实施例的监测服务器还包括第一连接模块71,用于在第一获取模块61定时获取数据仓库中的系统表之前,与数据仓库建立连接。其中,第一连接模块71具体会根据本地存储的密码定时登录数据仓库,以与数据仓库建立连接,并为第一获取模块 61定时获取数据仓库中的系统表打下基础。其中,如果第一连接模块71未能与数据仓库建立连接,则说明连接过程发生异常。进一步,本实施例的监测服务器还包括生成模块72、存储模块73和第二连接模块74。生成模块72,用于根据系统表和异常信息记录表,对当前任务进行综合处理,生成监测结果。存储模块73,用于存储监测结果,以供运维人员查看。第二连接模块74,用于定时与数据仓库建立连接,并获取系统表和异常信息记录表,并提供给生成模块72。基于上述,本实施例的监测服务器还包括第三连接模块75。第三连接模块,用于与运行当前任务的ETL服务器建立连接,从ETL服务器上获取当前任务的日志文件,并存储日志文件,以供运维人员查看。通过该模块可便于运维人员分析出现异常行为的原因。另外,本实施例的监测服务器还包括查询比较模块76和记录触发模块77。其中,查询比较模块76,用于定时查询ETL服务器的日志文件,并将日志文件中最后一条日志的记录时间与当前系统时间进行比较。记录触发模块77,与查询比较模块76连接,用于在查询比较模块76的比较结果为差值大于时间差阈值时,判定ETL服务器处于假死状态,将异常行为信息记录到异常信息记录表中,并触发ETL服务器重启对应的服务进程。本实施例的监测服务器通过上述模块还可以对ETL服务器异常行为进行监测,更加全面的对ETL过程中异常行为进行监测,使得运维人员能够更加全面的了解各种异常行为,并及时采取相应措施。更进一步,本实施例的监测服务器还包括接收模块81、轮循检测模块82和第二发送模块83。其中,接收模块81,用于接收预设终端号码对应的终端发送的短信,根据预设处理规则将短信内容和所述终端号码生成文本文件,并存储到预设文件夹下。轮循检测模块82, 与接收模块81连接,用于轮循文件夹,并在文件夹中存在文本文件时,取出文本文件,根据预设检测规则对文本文件中的短信内容进行合法性检测。第二发送模块83,与轮循检测模块82连接,用于在轮循检测模块82的检测结果为合法时,根据短信内容将监测结果发送给终端。上述模块可用于执行图4所示实施例中的相应流程,其工作原理不再赘述,详见方法实施例的描述。更进一步,本实施例的监测服务器还可以包括第二获取模块84。第二获取模块 84,用于获取指定用户发送的邮件,并根据邮件的主题或邮件附件将监测结果以邮件形式发送给所述用户。上述模块可用于执行图5所示实施例中的相应流程,其工作原理不再赘述,详见方法实施例的描述。本实施例的监测服务器通过上述接收模块81、轮循检测模块82和第二发送模块 83,或者通过第二获取模块84可以接收处于数据仓库所在网络之外的其他网络中的用户或运维人员发送的获取监测结果的请求,并将监测结果及时提供给外部网络中的用户或运维人员,可以使外部网络中的用户或运维人员及时了解数据仓库的ETL过程中的异常行为,便于及时采取措施,保证数据仓库的安全。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种数据仓库中异常行为的处理方法,其特征在于,包括监测服务器定时获取数据仓库中的系统表,所述系统表包括任务信息; 所述监测服务器根据所述系统表中的任务信息,判断所述数据仓库的数据抽取、转换、 装载ETL过程是否存在异常行为;当判断出所述数据仓库的ETL过程存在异常行为时,所述监测服务器将异常行为信息记录到所述数据仓库中的异常信息记录表中;所述监测服务器将所述异常行为信息发送给运维监测设备。
2.根据权利要求1所述的数据仓库中异常行为的处理方法,其特征在于,所述监测服务器根据所述系统表中的任务信息,判断所述数据仓库的ETL过程是否存在异常行为包括所述监测服务器从所述任务信息中获取当前任务的执行状态信息,当所述执行状态信息包括执行失败i^ail或者当所述执行状态信息仅包括等待pending和执行成功Done而不包括运行running时,判定所述执行状态信息对应的任务出现异常行为;或者所述监测服务器从所述任务信息中执行状态信息仅包括pending或仅包括pending和 running的任务的历史执行时间,对所述历史执行时间进行平均处理,获取所述执行状态信息仅包括pending或仅包括pending和running的任务的当前执行时间,当所述当前执行时间大于执行时间阈值时,判定所述执行状态信息仅包括pending或仅包括pending和 running的任务出现异常行为;或者所述监测服务器从所述任务信息中获取外部数据源预先设定的上传数据文件的时间, 当未收到所述数据文件时的当前系统时间与外部数据源预先设定的上传数据文件的时间的差值大于时间阈值时,判定数据抽取过程出现了异常行为。
3.根据权利要求1所述的数据仓库中异常行为处理方法,其特征在于,所述监测服务器将所述异常行为信息发送给运维监测设备包括所述监测服务器定时查询所述异常信息记录表,并判断当前异常信息记录表中的异常行为信息与上一次查询时异常信息记录表中的异常行为信息是否相同;当判断结果为不同时,将不相同的异常行为信息发送所述运维监测设备。
4.根据权利要求1所述的数据仓库中异常行为的处理方法,其特征在于,所述监测服务器将所述异常行为信息发送给运维监测设备包括所述监测服务器将所述异常行为信息记录到所述异常信息记录表中之后,直接将记录到所述异常信息表中的所述异常行为信息发送给所述运维监测设备。
5.根据权利要求1所述的数据仓库中异常行为的处理方法,其特征在于,所述运维监测设备为手机;所述监测服务器将所述异常行为信息发送给运维监测设备具体为所述监测服务器向所述手机发送携带所述异常行为信息的短信。
6.根据权利要求1-5任一项所述的数据仓库中异常行为的处理方法,其特征在于,还包括所述监测服务器根据所述系统表和所述异常信息记录表,对当前任务进行综合处理, 生成监测结果;所述监测服务器存储所述监测结果,以供运维人员查看。
7.根据权利要求6所述的数据仓库中异常行为的处理方法,其特征在于,所述监测服务器根据所述系统表和所述异常信息记录表,对当前任务进行综合处理,生成监测结果之前包括所述监测服务器定时与所述数据仓库建立连接,并获取所述系统表和所述异常信息记录表。
8.根据权利要求7所述的数据仓库中异常行为的处理方法,其特征在于,还包括 所述监测服务器与运行所述当前任务的ETL服务器建立连接,从所述ETL服务器上获取所述当前任务的日志文件,并存储所述日志文件,以供所述运维人员查看。
9.根据权利要求1-5任一项所述的数据仓库中异常行为的处理方法,其特征在于,所述监测服务器定时获取数据仓库中的系统表之前包括所述监测服务器根据本地存储的密码定时与所述数据仓库建立连接; 如果连接建立成功,所述监测服务器执行获取所述数据仓库中的系统表的操作; 如果连接建立不成功,所述监测服务器判定所述数据仓库连接发生异常。
10.根据权利要求1-5任一项所述的数据仓库中异常行为的处理方法,其特征在于,还包括所述监测服务器定时查询ETL服务器的日志文件,并将所述日志文件中最后一条日志的记录时间与当前系统时间进行比较;如果差值大于时间差阈值,所述监测服务器判定所述ETL服务器处于假死状态,将异常行为信息记录到所述异常信息记录表中,并触发所述ETL服务器重启对应的服务进程。
11.根据权利要求6所述的数据仓库中异常行为的处理方法,其特征在于,还包括所述监测服务器接收预设终端号码对应的终端发送的短信,根据预设处理规则将短信内容和所述终端号码生成文本文件,并存储到预设文件夹下;当所述监测服务器轮循到所述文件夹存在所述文本文件时,取出所述文本文件,根据预设检测规则对所述文本文件中的短信内容进行合法性检测;当检测结果为合法时,所述监测服务器根据所述短信内容将所述监测结果发送给所述终端。
12.根据权利要求6所述的数据仓库中异常行为的处理方法,其特征在于,还包括所述监测服务器获取指定用户发送的邮件,并根据所述邮件的邮件主题或邮件附件将所述监测结果以邮件形式发送给所述用户。
13.—种监测服务器,其特征在于,包括第一获取模块,用于定时获取数据仓库中的系统表,所述系统表包括任务信息; 判断模块,用于根据所述系统表中的任务信息,判断所述数据仓库的数据抽取、转换、 装载ETL过程是否存在异常行为;记录模块,用于在所述判断模块判断出所述数据仓库的ETL过程存在异常行为时,将异常行为信息记录到所述数据仓库中的异常信息记录表中;第一发送模块,用于将所述异常行为信息发送给运维监测设备。
14.根据权利要求13所述的监测服务器,其特征在于,所述判断模块包括以下任一判断单元或其组合第一判断单元,用于从任务信息中获取当前任务的执行状态信息,当所述执行状态信息包括执行失败i^ail或者当所述执行状态信息仅包括等待pending和执行成功Done而不包括运行running时,判定所述执行状态信息对应的任务出现异常行为;第二判断单元,用于从所述任务信息中执行状态信息仅包括pending或仅包括 pending和running的任务的历史执行时间,对所述历史执行时间进行平均处理,获取所述执行状态信息仅包括pending或仅包括pending和running的任务的当前执行时间,当所述当前执行时间大于执行时间阈值时,判定所述执行状态信息仅包括pending或仅包括 pending和running的任务出现异常行为;或第三判断单元,用于从所述任务信息中获取外部数据源预先设定的上传数据文件的时间,当未收到所述数据文件时的当前系统时间与外部数据源预先设定的上传数据文件的时间的差值大于时间阈值时,判定数据抽取过程出现了异常行为。
15.根据权利要求13所述的监测服务器,其特征在于,所述第一发送模块包括查询判断单元,用于定时查询所述异常信息记录表,并判断当前异常信息记录表中的异常行为信息与上一次查询时异常信息记录表中的异常行为信息是否相同;发送单元,用于在所述查询判断单元判断出存在不相同的异常行为信息时,将不相同的异常行为信息发送给所述运维监测设备。
16.根据权利要求13所述的监测服务器,其特征在于,还包括所述第一发送模块具体用于在所述记录模块将所述异常行为信息记录到所述异常信息记录表中后,直接将所述记录模块记录到所述异常信息表中的异常行为信息发送给所述运维监测设备。
17.根据权利要求13-16任一项所述的监测服务器,其特征在于,还包括第一连接模块,用于在所述第一获取模块定时获取数据仓库中的系统表之前,与所述数据仓库建立连接。
18.根据权利要求13-16任一项所述的监测服务器,其特征在于,还包括生成模块,用于根据所述系统表和所述异常信息记录表,对当前任务进行综合处理,生成监测结果;存储模块,用于存储所述监测结果,以供运维人员查看。
19.根据权利要求18所述的监测服务器,其特征在于,还包括第二连接模块,用于定时与所述数据仓库建立连接,并获取所述系统表和所述异常信息记录表。
20.根据权利要求19所述的监测服务器,其特征在于,还包括第三连接模块,用于与运行所述当前任务的ETL服务器建立连接,从所述ETL服务器上获取所述当前任务的日志文件,并存储所述日志文件,以供所述运维人员查看。
21.根据权利要求13-16任一项所述的监测服务器,其特征在于,还包括查询比较模块,用于定时查询ETL服务器的日志文件,并将所述日志文件中最后一条日志的记录时间与当前系统时间进行比较;记录触发模块,用于在所述查询比较模块的比较结果为差值大于时间差阈值时,判定所述ETL服务器处于假死状态,将异常行为信息记录到所述异常信息记录表中,并触发所述ETL服务器重启对应的服务进程。
22.根据权利要求17所述的监测服务器,其特征在于,还包括接收模块,用于接收预设终端号码对应的终端发送的短信,根据预设处理规则将短信内容和所述终端号码生成文本文件,并存储到预设文件夹下;轮循检测模块,用于轮循所述文件夹,并在所述文件夹中存在所述文本文件时,取出所述文本文件,根据预设检测规则对所述文本文件中的短信内容进行合法性检测;第二发送模块,用于在所述轮循检测模块的检测结果为合法时,根据所述短信内容将所述监测结果发送给所述终端。
23.根据权利要求17所述的监测服务器,其特征在于,还包括 第二获取模块,用于获取指定用户发送的邮件,并根据所述邮件的主题或邮件附件将所述监测结果以邮件形式发送给所述用户。
全文摘要
本发明提供一种数据仓库中异常行为的处理方法及监测服务器。其中,方法包括监测服务器定时获取数据仓库中的系统表,所述系统表包括任务信息;所述监测服务器根据所述系统表中的任务信息,判断所述数据仓库的ETL过程是否存在异常行为;当判断出所述数据仓库的ETL过程存在异常行为时,所述监测服务器将异常行为信息记录到所述数据仓库中的异常信息记录表中;所述监测服务器将所述异常行为信息发送给运维监测设备。采用本发明技术方案,运维人员无需频繁查询数据仓库就可以及时获取异常行为信息,保证了数据仓库的安全性。
文档编号G06Q10/06GK102411599SQ20111021816
公开日2012年4月11日 申请日期2011年8月1日 优先权日2011年8月1日
发明者朱江, 李凡, 李炅宇, 靳军, 高大鹏 申请人:中国民生银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1