CN107506451B - 用于数据交互的异常信息监控方法及装置 - Google Patents
用于数据交互的异常信息监控方法及装置 Download PDFInfo
- Publication number
- CN107506451B CN107506451B CN201710750693.XA CN201710750693A CN107506451B CN 107506451 B CN107506451 B CN 107506451B CN 201710750693 A CN201710750693 A CN 201710750693A CN 107506451 B CN107506451 B CN 107506451B
- Authority
- CN
- China
- Prior art keywords
- data
- abnormal information
- log file
- stream transmission
- data stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种用于数据交互的异常信息监控方法及装置。该用于数据交互的异常信息监控方法包括:将源数据库数据导入至目标数据库中,生成数据流传输日志文件;读取异常信息规则库并调用文本处理器;通过所述文本处理器根据所述异常信息规则库中配置的规则解析所述数据流传输日志文件,捕获异常信息。本发明实施例通过配置的异常信息规则库中的规则,并通过调用三文本处理器根据该规则来捕获源数据库导入至目标数据库中的异常信息,能够实现数据库间数据交互异常信息的监控。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种用于数据交互的异常信息监控方法及装置、电子设备、计算机可读介质。
背景技术
商业化数据库系统DBS(Data Base System)是成熟、稳定、广泛使用的结构化数据管理系统,也是目前保险行业使用的主流数据库产品,如DB2、ORACLE、MySQL等。根据数据库的成本、可靠性和业务系统特性的多样化,同一个公司通常存在着各种类型的数据库系统。这些主流的数据库系统各有其特色,如DB2数据库只支持OS/400操作系统,MySQL数据库的开源社区化运行等。虽然随着关系型数据库的发展和成熟,数据库系统间可移植性和兼容性有了显著的进步,但由于保险行业对结构化数据的传输和交互的准确性的要求异常高,同时,业务系统对数据的存储不规范,造成保证不同数据库系统之间大量数据交互准确性依然有一定的难度,如数据类型的缺省值定义和人为因素造成的脏数据,尤其是历史数据的噪音。所谓的历史数据噪音是指在系统设计时由于校验缺失导致数据的存储不规范、关键数据缺失等问题,例如客户的地址用“?”或者“*”等特殊字符代替,身份证号用非数值型和非字母型存储等。
在保险公司,业务系统进行数据传输主要有两种方式,一种是通过WebService接口进行轻量级数据交互;另一种是重量级数据(大数据)交互方式,即通过隔夜获取的数据方式进行数据的交互,俗称T+1模式。这种数据的交互主要是数据库系统之间基于目标数据库环境进行数据的传输,T+1模式对于处理大数据量非常具有优势,速度快、吞吐量大。然而对数据传输的异常信息监控相比第一种方式略显不足,尤其是对数据类型及其格式的校验无法像WebService一样进行架构在应用端进行操作,保证数据库存储的准确性。而这种错误会使得目标数据库系统直接回退事务或者存储成脏数据,进而增加目标数据库系统的风险。
同时,数据库系统自身的异质性也会造成在数据导入导出时会产生一些异常信息,给业务系统的开发、运维带来了极大的不便和成本,尤其对于保险行业的核心系统,往往这些异常会造成很大的损失。同时大规模对数据的业务处理往往具有滞后性,数据传输异常和业务发现异常之间的时间差往往会造成巨大的损失,会在系统中产生“蝴蝶效应”。
因此,需要一种改进的用于数据交互的异常信息监控方法及装置、电子设备、计算机可读介质。
发明内容
为克服相关技术中存在的问题,本发明实施例提供一种用于数据交互的异常信息监控方法及装置、电子设备、计算机可读介质,实现数据库间数据交互时的异常信息监控。
根据本发明实施例的一个方面,提供一种用于数据交互的异常信息监控方法,包括:将源数据库数据导入至目标数据库中,生成数据流传输日志文件;读取异常信息规则库并调用文本处理器;通过所述文本处理器根据所述异常信息规则库中配置的规则解析所述数据流传输日志文件,捕获异常信息。
在本发明的一种示例性实施例中,所述源数据库和所述目标数据库是不同类型的关系型数据库,所述数据是结构化数据。
在本公开的一种示例性实施例中,所述异常信息规则库相对于所述文本处理器是独立的部分,所述方法还包括:在所述异常信息规则库中配置新的规则和/或删除/修改已有的规则。
在本发明的一种示例性实施例中,所述定时对数据流传输日志进行监控包括:所述异常信息规则库中配置的规则包括所述源数据库数据导入至所述目标数据库时产生的异常信息和/或所述目标数据库的性能指标。
在本发明的一种示例性实施例中,所述方法还包括:所述异常信息规则库中配置的规则包括第一类型规则,其中通过所述文本处理器根据所述异常信息规则库中配置的规则解析所述数据流传输日志文件,捕获异常信息包括:执行完导入数据命令后,所述文本处理器实时扫描所述数据流传输日志文件,获取文件生成时间;当所述文件生成时间晚于定时任务执行时间时,触发所述文本处理器进行所述数据流传输日志文件的解析;所述文本处理器根据所述异常信息规则库中配置的所述第一类型规则进行所述数据流传输日志文件的全文搜索;当所述数据流传输日志文件中存在所述第一类型规则中的字段时,抓取所述数据流传输日志文件所述字段后的信息,捕获所述异常信息。
在本发明的一种示例性实施例中,所述异常信息规则库中配置的规则包括第二类型规则,其中通过所述文本处理器根据所述异常信息规则库中配置的规则解析所述数据流传输日志文件,捕获异常信息包括:执行完导入数据命令后,所述文本处理器实时扫描所述数据流传输日志文件,获取文件生成时间;当所述文件生成时间晚于定时任务执行时间时,触发所述文本处理器进行所述数据流传输日志文件的解析;所述文本处理器根据所述异常信息规则库中配置的所述第二类型规则进行所述数据流传输日志文件的搜索;当所述数据流传输日志文件中存在所述第二类型规则中的字段时,终止当前搜索,调用第二类型规则处理包进行处理,捕获所述异常信息。
在本发明的一种示例性实施例中,所述异常信息包括异常数据及其相应的数据流传输日志文件,所述方法还包括:当捕获到所述异常信息时,将所述异常数据及其相应的数据流传输日志文件进行存储;对所述异常数据及其相应的数据流传输日志文件进行分析处理,生成异常信息报告并调用即时通讯接口进行推送。
在本发明的一种示例性实施例中,所述方法还包括:将所述源数据库和所述目标数据库间的数据交互量、数据导入导出耗费时间、异常信息中的一种或者多种作为数据库交互压力指标。
根据本发明实施例的一个方面,提供一种用于数据交互的异常信息监控装置,包括:日志文件生成模块,用于将源数据库数据导入至目标数据库中,生成数据流传输日志文件;读取调用模块,用于读取异常信息规则库并调用文本处理器;异常信息捕获模块,用于通过所述文本处理器根据所述异常信息规则库中配置的规则解析所述数据流传输日志文件,捕获异常信息。
根据本发明实施例的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为执行上述实施例所述的用于数据交互的异常信息监控方法。
根据本发明实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述实施例所述的用于数据交互的异常信息监控方法。
本发明示例实施方式中的用于数据交互的异常信息监控方法及装置、电子设备、计算机可读介质,通过配置的异常信息规则库中的规则,并通过调用文本处理器根据该规则来捕获源数据库导入至目标数据库中的异常信息,能够实现数据库间数据交互异常信息的监控。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种用于数据交互的异常信息监控方法的流程示意图。
图2是根据一示例性实施例示出的另一种用于数据交互的异常信息监控方法的流程示意图。
图3是根据一示例性实施例示出的又一种用于数据交互的异常信息监控方法的流程示意图。
图4是根据一示例性实施例示出的一种用于数据交互的异常信息监控装置的模块示意图。
图5是根据一示例性实施例示出的一种电子设备的框架示意图。
具体实施方式
现在将参考附图更全面地描述示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例性实施例的构思全面地传达给本领域的技术人员。在图中,相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明实施例的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的模块、步骤等。在其它情况下,不详细示出或描述公知结构以避免模糊本发明实施例的各方面。
图1是根据一示例性实施例示出的一种用于数据交互的异常信息监控方法的流程示意图。
如图1所示,在步骤S110中,将源数据库数据导入至目标数据库中,生成数据流传输日志文件。
在示例性实施例中,所述源数据库和所述目标数据库可以是不同类型的关系型数据库。
例如,所述源数据库可以是DB2、ORACLE、MySQL等中的任意一种关系型数据库,所述目标数据库也可以是DB2、ORACLE、MySQL等中的任意一种关系型数据库。同时,所述源数据库和所述目标数据库不是同一类型,例如,假设所述源数据库为DB2数据库,则所述目标数据库可以为除DB2以外的任意一种关系型数据库。这是因为同种数据库系统由于数据类型等设计都是一样的,数据异常的信息非常少。
在示例性实施例中,所述数据可以是结构化数据。需要说明的是,在其他实施例中,所述数据也可以是非结构化数据。这两种数据类型都可利用本发明实施例中的方法进行异常信息的监控。但是,由于金融业例如保险公司通常使用的关系型数据库较多,结构化数据是关系型数据库的主要数据类型,同时,对结构化数据的精度要求较高,因此本发明实施例的方法设计时侧重于结构化数据。
本发明实施例中,所述结构化数据也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。与所述结构化数据相对的是不适于由数据库二维表来表现的所述非结构化数据,包括所有格式的办公文档、XML、HTML、各类报表、图片和咅频、视频信息等。支持所述非结构化数据的数据库采用多值字段、了字段和变长字段机制进行数据项的创建和管理,广泛应用于全文检索和各种多媒体信息处理领域。
在步骤S120中,读取异常信息规则库并调用文本处理器。
在示例性实施例中,所述异常信息规则库相对于所述文本处理器是独立的部分。
在示例性实施例中,所述方法还可以包括:在所述异常信息规则库中配置新的规则和/或删除/修改已有的规则。
本发明实施例中,可以弹性地对感兴趣的规则进行配置。即所述异常信息规则库是独立的一层,不用修改程序,直接在异常信息规则库中配置新的规则或者删除/修改已有的规则,不用测试程序,就可以进行数据流传输日志文件的监控。
本发明实施例中,所述文本处理器指的是利用脚本语言的正则表达式,其能够根据所述异常信息规则库中配置的规则进行文本的查找和处理,抽取异常信息。
文本处理器是基于异常信息规则库,利用Python的文本正则表达式和Shell文件处理功能,通过Linux系统定时命令,对数据流传输日志文件进行解析的方法。
在步骤S130中,通过所述文本处理器根据所述异常信息规则库中配置的规则解析所述数据流传输日志文件,捕获异常信息。
在示例性实施例中,所述异常信息规则库中配置的规则包括所述源数据库数据导入至所述目标数据库时产生的异常信息和/或所述目标数据库的性能指标。
其中,所述异常信息规则库配置的规则主要可以包括:“error data”、“elapsetime”、“success data”、“ORA231”、“ORA-00210”、“ORA-00202”、“ORA-27048”、“ORA-00210”、“ORA-00202”、“ORA-27048”、“EMP_NO POSTION(1-8)VARCHAR2(8)”、“TimestampError”、“File Error”、“Number to load”、“Number to skip”、“Errors allowed”、“Continuation”、“Bind array”、“Rows not loaded due to data errors”、“Rows notloaded because all WHEN clauses were failed”、“Rows not loaded because allfields were null”、“Total logical records skipped”、“Total logical recordsread”、“Total logical records rejected”、“Total logical records discarded”、“CPUtime was”、“Rejected-Error on table”、“value too large for column”、“Rejected-Error on table”、“value too large for column”、“Column not found before end oflogical record”等。
其中,所述异常信息规则库里不仅可以包括将所述源数据库中的数据导入至所述目标数据库时产生的异常信息,还可以包括部分目标数据库性能方面的指标即性能指标。例如上述的导入数据耗费时间:elapse time,再例如上述的CPU执行时间:CPU time was均是目标数据库的性能指标,同时可以配置在所述异常信息规则库中。
在示例性实施例中,所述异常信息规则库中配置的规则可以包括第一类型规则。
在示例性实施例中,所述通过所述文本处理器根据所述异常信息规则库中配置的规则解析所述数据流传输日志文件,捕获异常信息可以包括:执行完导入数据命令后,所述文本处理器实时扫描所述数据流传输日志文件,获取文件生成时间;当所述文件生成时间晚于定时任务执行时间时,触发所述文本处理器进行所述数据流传输日志文件的解析;所述文本处理器根据所述异常信息规则库中配置的所述第一类型规则进行所述数据流传输日志文件的全文搜索;当所述数据流传输日志文件中存在所述第一类型规则中的字段时,抓取所述数据流传输日志文件所述字段后的信息,捕获所述异常信息。
在示例性实施例中,所述异常信息规则库中配置的规则可以包括第二类型规则。
在示例性实施例中,所述通过所述文本处理器根据所述异常信息规则库中配置的规则解析所述数据流传输日志文件,捕获异常信息可以包括:执行完导入数据命令后,所述文本处理器实时扫描所述数据流传输日志文件,获取文件生成时间;当所述文件生成时间晚于定时任务执行时间时,触发所述文本处理器进行所述数据流传输日志文件的解析;所述文本处理器根据所述异常信息规则库中配置的所述第二类型规则进行所述数据流传输日志文件的搜索;当所述数据流传输日志文件中存在所述第二类型规则中的字段时,终止当前搜索,调用第二类型规则处理包进行处理,捕获所述异常信息。
在示例性实施例中,所述异常信息可以包括异常数据及其相应的数据流传输日志文件。
本发明实施例中,捕获的所述异常信息可以包括例如“error data”、“elapsetime”、“success data”、“ORA231”、“ORA-00210”、“ORA-00202”、“ORA-27048”、“ORA-00210”、“ORA-00202”、“ORA-27048”、“EMP_NO POSTION(1-8)VARCHAR2(8)”、“TimestampError”、“File Error”、“Number to load”、“Number to skip”、“Errors allowed”、“Continuation”、“Bind array”、“Rows not loaded due to data errors”、“Rows notloaded because all WHEN clauses were failed”、“Rows not loaded because allfields were null”、“Total logical records skipped”、“Total logical recordsread”、“Total logical records rejected”、“Total logical records discarded”、“CPUtime was”、“Rejected-Error on table”、“value too large for column”、“Rejected-Error on table”、“value too large for column”、“Column not found before end oflogical record”等。但本发明实施例并不限定于此。
在示例性实施例中,所述方法还可以包括:当捕获到所述异常信息时,将所述异常数据及其相应的数据流传输日志文件进行存储;对所述异常数据及其相应的数据流传输日志文件进行分析处理,生成异常信息报告并调用即时通讯接口进行推送。
在示例性实施例中,所述方法还可以包括:将所述源数据库和所述目标数据库间的数据交互量、数据导入导出耗费时间、异常信息中的一种或者多种作为数据库交互压力指标。
根据本发明实施方式中提供的一种用于数据交互的异常信息监控方法,通过配置的异常信息规则库中的规则,并通过调用文本处理器根据该规则来捕获源数据库导入至目标数据库中的异常信息,能够实现数据库间数据交互异常信息的监控。
需要说明的是,该用于数据交互的异常信息监控方法可以以保险业务系统为背景,提出对大数据量的结构化数据的传输的监控方法。但本发明实施例并不限定于此,其可以应用于任意的业务系统。由于这种方法进行数据的传输有速度快、成本低的特点,业务系统间进行大数据量的传输都可以利用该方法。
下面分别通过图2和图3对上述方法进行举例说明。但本公开并不限定于此。
在图2和图3的实施例中,假设业务系统一采用DB2数据库,该DB2数据库作为源数据库,可以通过SQL语句进行数据导出;业务系统二采用ORACLE数据库,是目标数据库,将源数据库导出的数据导入至该目标数据库中,同时利用脚本每日定时对数据流传输日志文件进行监控分析。
需要说明的是,本发明实施例中的所述源数据库和所述目标数据库并不限定为DB2数据库和ORACLE数据库,这里仅是用于举例说明。
本发明实施例中,该方法可以使用的语言是Python、Shell脚本语言;使用的环境可以是Linux系统。但本发明实施例并不限定于此,也可以是其他环境,但支持Shell语言。由于通常业务系统数据库都部署在Linux环境,此处建议使用Linux环境。
图2是根据一示例性实施例示出的另一种用于数据交互的异常信息监控方法的流程示意图。
如图2所示,该用于数据交互的异常信息监控方法可以包括以下步骤。
在步骤S201中,Linux定时器触发导出数据的shell脚本,将DB2数据库中的数据导出。
本发明实施例中,所述方法还可以包括:首先在Linux环境建立源数据库用户名映射及其权限,即在目标数据库环境中新建源数据库的访问链接和用户名,配置访问源数据库的权限,然后可以在目标数据库环境中操作源数据库,比如导出相关表的数据。然后根据业务逻辑SQL语句从源数据库进行数据导出。
Linux定时器会触发导出数据的shell脚本,通过用户权限登录DB2数据库,获取相应的表信息,判断是否有读取权限,然后执行相应的业务取数逻辑,生产文本文件。然后脚本程序会将生产的文本文件放到相应的目录之下。
在步骤S202中,将DB2数据库中导出的数据导入至ORACLE数据库中。
导出数据完成之后,间隔一段时间后,执行导入数据脚本,即导入ORACLE数据库中。首先会判断导入的配置文件,比如ctl控制文件是否存在,读取ctl文件中的表、数据源、数据的导入方式等信息,完毕之后,进行数据的导入。
在步骤S203中,判断上述步骤S202中的数据导入是否完成;当数据导入完成后,进入步骤S204;当数据导入未完成时,返回步骤S202中继续执行。
在步骤S204中,生成数据流传输日志文件。
数据导入完成后,会产生所述数据流传输日志文件。
本发明实施例中,可以利用Shell和Python脚本进行每日定时对所述数据流传输日志文件进行监控分析。
在步骤S205中,所述文本处理器实时扫描所述数据流传输日志文件,获取文件生成时间。
所述数据流传输日志文件产生之后,会实时地读取日志文件信息,调用所述文本处理器并读取所述异常信息规则库用于捕获异常信息。
该方法中可以利用计算机分层的思想,设立异常信息规则库,Linux系统定时任务会触发该方法,进而调用所述文本处理器,所述文本处理器则通过该异常信息规则库里的规则进行所述数据流传输日志文件的处理,对各个日志文件进行分析处理,然后抓取到异常信息。
在步骤S206中,判断所述文件生成时间是否晚于定时任务执行时间;当所述文件生成时间晚于系统定时任务的执行时间时,执行步骤S207;当所述文件生成时间不晚于系统定时任务的执行时间时,跳转到步骤S211结束本次操作。
需要说明的是,步骤S206中的定时任务执行时间可以是指当天定时任务执行时间。其中当天定时任务执行时间根据源数据库跑批完成时间定的,例如可以定为每天的凌晨三点,但本公开并不限定于此。其中,跑批指的是将数据插入到源数据库表中。
在步骤S207中,触发所述文本处理器进行所述数据流传输日志文件的解析。
在步骤S208中,所述文本处理器根据所述异常信息规则库中配置的第一类型规则进行所述数据流传输日志文件的全文搜索。
本发明实施例中,所述第一类型规则也可以称之为正常的规则,是指当所述文本处理器发现所述数据流传输日志文件中存在所述第一类型规则中的字段时,会进一步抓取其后续日志文件中被抓取到的所述字段后面的信息,从而判断是否异常信息。例如“errordata”字段。
在步骤S209中,判断所述数据流传输日志文件中是否存在第一类型规则中的字段;当所述数据流传输日志文件中存在所述第一类型规则中的字段时,执行步骤S210;当所述数据流传输日志文件中不存在所述第一类型规则中的字段时,跳转到步骤S211结束本次操作。
在步骤S210中,抓取所述数据流传输日志文件所述字段后的信息,捕获所述异常信息。
下面以“error data”字段为例举例说明本发明实施例所述的方法。
文本处理器工作流程是:Linux系统定时命令执行完导入数据命令后,文本处理器会实时扫描日志文件,获取日志文件的文件生成时间,如果发现文件生成时间是当天定时任务执行后的时间,则会触发文本处理器,进行所述数据流传输日志文件的解析。文本处理器会根据异常信息规则库中的第一类型规则进行所述数据流传输日志文件的全文搜索,若发现所述数据流传输日志文件中存在异常信息规则库中相关的信息,就会临时抓取记录,然后做进一步判断,比如文本处理器发现“error data”字段,就会判断该行后续有没有数值型的字符,如果存在才会对该信息进行处理,写入异常信息;否则认为此日志文件中没有错误数据异常信息,对临时异常记录进行删除。
在步骤S211中,结束。
本发明实施例中,所述方法还可以包括:当捕获到所述异常信息后,将所述异常信息进行存储,并可以对存储后的数据做数据分析,把分析的结果推送到移动端,通知运维人员进行异常信息处理。
例如,可以将异常数据及对应的数据流传输日志文件进行备份;并异常数据提取的信息进行分析和再次加工,作为数据交互和系统优化的支撑;分析处理完成之后,然后调用公司短信和微信接口推送异常信息,系统运维人员则根据该分析数据及时处理。
本发明实施例中,可以将异常信息(包括异常数据和相应的数据流传输日志文件)异常信息、导入导出数据库信息进行存储,进一步进行数据分析。例如,根据错误类型和错误数量反馈给系统运维人员;根据导入导出的时间,分析数据库的压力;根据导入的数据量调配系统资源等。
图3是根据一示例性实施例示出的又一种用于数据交互的异常信息监控方法的流程示意图。
如图3所示,该用于数据交互的异常信息监控方法可以包括以下步骤。
在步骤S301中,Linux定时器触发导出数据的shell脚本,将DB2数据库中的数据导出。
在步骤S302中,将DB2数据库中导出的数据导入至ORACLE数据库中。
在步骤S303中,判断上述步骤S302中的数据导入是否完成;当数据导入完成后,进入步骤S304;当数据导入未完成时,返回步骤S302中继续执行。
在步骤S304中,生成数据流传输日志文件。
在步骤S305中,所述文本处理器实时扫描所述数据流传输日志文件,获取文件生成时间。
在步骤S306中,判断所述文件生成时间是否晚于定时任务执行时间;当所述文件生成时间晚于定时任务执行时间时,执行步骤S307;当所述文件生成时间不晚于定时任务执行时间时,跳转到步骤S311结束本次操作。
在步骤S307中,触发所述文本处理器进行所述数据流传输日志文件的解析。
上述步骤S301-S307可以参照上述图2所示的发明实施例中的步骤S201-S207,在此不再详述。
在步骤S308中,所述文本处理器根据所述异常信息规则库中配置的第二类型规则进行所述数据流传输日志文件的搜索。
本发明实施例中,所述第二类型规则又可以称之为特殊的规则,是指文本处理器捕获到异常信息规则库里面的异常信息会终止所述方法,进行下一个规则的捕获,例如“File Error”算是一种特殊的规则。
在步骤S309中,判断所述数据流传输日志文件中是否存在第二类型规则中的字段;当所述数据流传输日志文件中存在所述第二类型规则中的字段时,执行步骤S310;当所述数据流传输日志文件中不存在所述第二类型规则中的字段时,跳转到步骤S311结束本次操作。
在步骤S310中,终止当前搜索,调用第二类型规则处理包进行处理,捕获所述异常信息。
由于文本处理器是根据异常信息规则库中的规则,逐个进行遍历,每次遍历都要进行日志文件的全文解析,所以在解析日志文件的过程中,对于一些特殊的规则,尽可能避免全文搜索,提高方法的执行效率,比如“File Error”信息。特殊的规则有相应的程序处理,为了保持模块之间低耦合的关系,特殊规则程序在主程序中以程序包的形式进行引用,尽量避免大幅度修改主程序,降低风险。
其中,程序包引用是针对特殊的规则有对应异常处理程序,对于这部分程序会生产包文件,在主程序中直接应用,避免过多修改主程序。
例如,文本处理器发现“File Error”信息,则会自动中断对后续日志文件的处理流程,因为该方法已经检测到导入数据文件异常,后续日志文件的继续解析已经没有价值。
在步骤S311中,结束。
本发明实施方式提供的一种用于数据交互的异常信息监控方法,第一方面,可以实现跨数据库系统的结构化数据异常信息监控处理分析:在金融行业,不同数据库系统结构化数据的准确性和完整性极其重要,虽然有大量的日志处理算法和平台,然而针对不同数据库系统间结构化数据的监控处理分析方法较少,尤其是细分应用到某一行业。同时,结构化数据交互产生的异常主要由于数据类型之间差别、数据库系统之间的数据编码、人为因素造成的数据噪音等造成。异常信息监控主要难点是对大量的异常错误要梳理总结,整理成异常信息规则库。异常规则信息库越全面,数据库系统间的数据交互产生的数据风险越小。因此,跨数据库系统的结构化数据异常信息监测的难点在于所述异常信息规则库的不断积累和完善。该方法是在该业务场景下长期数据运维的积累梳理成的异常信息规则库。
第二方面,可以实现异常数据备份、异常数据分析和实时推送:根据异常信息规则库文件通过文本处理器捕获到异常数据并抓取异常信息,然后将日志文件存储并进行异常数据分析。在此过程中,通过linux的宿主语言shell对异常数据流进行存储,方便运维工程师核实数据。对异常信息处理分析后,生成异常信息报告调用短信接口和微信端接口,将生产报告推送到系统运维工程师,进行及时处理并进行数据运维。
第三方面,实现了可扩展性的异常信息规则库:该方法利用计算机系统的分层设计和低耦合理念,将异常规则从文本处理器中分离处理,作为独立的部分。这样既可以弹性地扩展异常信息规则库,可以供多个文本处理器同时处理;同时,可以实时完善该异常信息规则库,尽量避免修改该方法,减少测试工作,降低方法的风险。反之,如果将异常规则配置于主程序中,增减异常规则时,都会影响主程序,影响主程序的稳定性。
第四方面,该方法还可以通过数据库系统数据流量、耗费时间等监控系统压力:数据库I/O是耗费数据库资源的主要因素之一,利用每日数据库间数据交互量的监控、耗费时间、异常数据等信息来作为数据交互压力指标之一;由于业务系统在次日凌晨到上班使用时间段内,需要处理大量的业务逻辑,其中复杂的业务逻辑需要遍历公司自成立起所有的保单和客户数据。因此,通过数据流量的监控也是进行系统优化的重要参考数据。
第五方面,该方法还可以增强系统鲁棒性、降低系统分析和运维成本:传统在跨不同类型数据库结构化数据交互时,产生的脏数据和未导入成功的数据,通常会在业务操作时发现,从发生到发现这个过程中,往往持续的时间较长,返工的难度和成本加大,尤其也会增加运维人员查找问题的难度。该方法的使用,可以极大地降低由于该因素造成的系统风险,降低运维工程师工作量,增强系统的鲁棒性。
图4是根据一示例性实施例示出的一种用于数据交互的异常信息监控装置的模块示意图。
如图4所示,该用于数据交互的异常信息监控装置100可以包括日志文件生成模块110、读取调用模块120以及异常信息捕获模块130。
其中,日志文件生成模块110可以用于将源数据库数据导入至目标数据库中,生成数据流传输日志文件。
读取调用模块120可以用于读取异常信息规则库并调用文本处理器。
异常信息捕获模块130可以用于通过所述文本处理器根据所述异常信息规则库中配置的规则解析所述数据流传输日志文件,捕获异常信息。
关于上述用于数据交互的异常信息监控装置,其中各个模块执行操作的具体方式已经在有关用于数据交互的异常信息监控方法的示例性实施例中进行了详细描述,此处将不做详细阐述说明。
本示例实施方式中还提供了一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令。其中,所述处理器可以被配置为执行上述任意实施例中所述的用于数据交互的异常信息监控方法。
下面参考图5,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:将源数据库数据导入至目标数据库中,生成数据流传输日志文件;读取异常信息规则库并调用文本处理器;通过所述文本处理器根据所述异常信息规则库中配置的规则解析所述数据流传输日志文件,捕获异常信息。
以上所述仅为本发明的部分示例性实施例,并不用以限制本发明实施例,凡在本发明实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (9)
1.一种用于数据交互的异常信息监控方法,其特征在于,包括:
将源数据库数据导入至目标数据库中,生成数据流传输日志文件;
读取异常信息规则库并调用文本处理器,所述异常信息规则库相对于所述文本处理器是独立的部分,能够直接在所述异常信息规则库中配置新的规则或者删除/修改已有的规则;
通过所述文本处理器根据所述异常信息规则库中配置的规则,利用脚本语言的正则表达式和Shell文件处理功能,通过Linux系统定时命令,解析所述数据流传输日志文件,捕获异常信息,所述异常信息规则库中配置的规则包括所述源数据库数据导入至所述目标数据库时产生的异常信息和/或所述目标数据库的性能指标。
2.根据权利要求1所述的用于数据交互的异常信息监控方法,其特征在于,所述源数据库和所述目标数据库是不同类型的关系型数据库,所述数据是结构化数据。
3.根据权利要求1所述的用于数据交互的异常信息监控方法,其特征在于,所述异常信息规则库中配置的规则包括第一类型规则,其中通过所述文本处理器根据所述异常信息规则库中配置的规则解析所述数据流传输日志文件,捕获异常信息包括:
执行完导入数据命令后,所述文本处理器实时扫描所述数据流传输日志文件,获取文件生成时间;
当所述文件生成时间晚于定时任务执行时间时,触发所述文本处理器进行所述数据流传输日志文件的解析;
所述文本处理器根据所述异常信息规则库中配置的所述第一类型规则进行所述数据流传输日志文件的全文搜索;
当所述数据流传输日志文件中存在所述第一类型规则中的字段时,抓取所述数据流传输日志文件所述字段后的信息,捕获所述异常信息。
4.根据权利要求1所述的用于数据交互的异常信息监控方法,其特征在于,所述异常信息规则库中配置的规则包括第二类型规则,其中通过所述文本处理器根据所述异常信息规则库中配置的规则解析所述数据流传输日志文件,捕获异常信息包括:
执行完导入数据命令后,所述文本处理器实时扫描所述数据流传输日志文件,获取文件生成时间;
当所述文件生成时间晚于定时任务执行时间时,触发所述文本处理器进行所述数据流传输日志文件的解析;
所述文本处理器根据所述异常信息规则库中配置的所述第二类型规则进行所述数据流传输日志文件的搜索;
当所述数据流传输日志文件中存在所述第二类型规则中的字段时,终止当前搜索,调用第二类型规则处理包进行处理,捕获所述异常信息。
5.根据权利要求1所述的用于数据交互的异常信息监控方法,其特征在于,所述异常信息包括异常数据及其相应的数据流传输日志文件,所述方法还包括:
当捕获到所述异常信息时,将所述异常数据及其相应的数据流传输日志文件进行存储;
对所述异常数据及其相应的数据流传输日志文件进行分析处理,生成异常信息报告并调用即时通讯接口进行推送。
6.根据权利要求1所述的用于数据交互的异常信息监控方法,其特征在于,所述方法还包括:
将所述源数据库和所述目标数据库间的数据交互量、数据导入导出耗费时间、异常信息中的一种或者多种作为数据库交互压力指标。
7.一种用于数据交互的异常信息监控装置,其特征在于,包括:
日志文件生成模块,用于将源数据库数据导入至目标数据库中,生成数据流传输日志文件;
读取调用模块,用于读取异常信息规则库并调用文本处理器,所述异常信息规则库相对于所述文本处理器是独立的部分,能够直接在所述异常信息规则库中配置新的规则或者删除/修改已有的规则;
异常信息捕获模块,用于通过所述文本处理器根据所述异常信息规则库中配置的规则,利用脚本语言的正则表达式和Shell文件处理功能,通过Linux系统定时命令,解析所述数据流传输日志文件,捕获异常信息,所述异常信息规则库中配置的规则包括所述源数据库数据导入至所述目标数据库时产生的异常信息和/或所述目标数据库的性能指标。
8.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器被配置为执行上述权利要求1-6中任意一项所述的用于数据交互的异常信息监控方法。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任意一项所述的用于数据交互的异常信息监控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710750693.XA CN107506451B (zh) | 2017-08-28 | 2017-08-28 | 用于数据交互的异常信息监控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710750693.XA CN107506451B (zh) | 2017-08-28 | 2017-08-28 | 用于数据交互的异常信息监控方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107506451A CN107506451A (zh) | 2017-12-22 |
CN107506451B true CN107506451B (zh) | 2020-11-03 |
Family
ID=60694030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710750693.XA Active CN107506451B (zh) | 2017-08-28 | 2017-08-28 | 用于数据交互的异常信息监控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107506451B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459927B (zh) * | 2018-02-28 | 2021-11-26 | 北京奇艺世纪科技有限公司 | 一种数据备份方法、装置和服务器 |
CN108768929B (zh) * | 2018-04-09 | 2021-04-13 | 平安科技(深圳)有限公司 | 电子装置、征信反馈报文的解析方法及存储介质 |
CN108984757A (zh) * | 2018-07-18 | 2018-12-11 | 上海汉得信息技术股份有限公司 | 一种数据导入方法及设备 |
CN109344061B (zh) * | 2018-09-25 | 2022-09-16 | 创新先进技术有限公司 | 一种接口的异常检测方法、装置、设备及系统 |
CN109446262B (zh) * | 2018-10-31 | 2021-10-08 | 成都四方伟业软件股份有限公司 | 一种数据汇聚方法及装置 |
CN109614389A (zh) * | 2018-11-28 | 2019-04-12 | 山东中创软件商用中间件股份有限公司 | 一种数据入库方法、系统、设备及介质 |
CN109639468A (zh) * | 2018-11-29 | 2019-04-16 | 威富通科技有限公司 | 一种资料互导方法、公有云及服务器 |
CN109639778A (zh) * | 2018-11-29 | 2019-04-16 | 威富通科技有限公司 | 一种资料传导方法、私有云及服务器 |
CN109815378A (zh) * | 2019-01-31 | 2019-05-28 | 三盟科技股份有限公司 | 一种基于元数据链路的数据追踪方法及系统 |
CN110012005B (zh) * | 2019-03-29 | 2022-05-06 | 新华三大数据技术有限公司 | 识别异常数据的方法、装置、电子设备及存储介质 |
CN110889113A (zh) * | 2019-10-30 | 2020-03-17 | 泰康保险集团股份有限公司 | 一种日志分析方法、服务器、电子设备及存储介质 |
CN111176947A (zh) * | 2019-12-30 | 2020-05-19 | 上海蓝色帛缔智能工程有限公司 | 基于多路数据处理器的运维预警防范系统 |
CN113190426B (zh) * | 2020-07-02 | 2023-10-20 | 北京睿知图远科技有限公司 | 一种大数据评分系统稳定性监控方法 |
CN112131388B (zh) * | 2020-09-28 | 2024-02-06 | 范馨月 | 一种包含文本型数据类型的异常数据检测方法 |
CN112269825A (zh) * | 2020-11-13 | 2021-01-26 | 中盈优创资讯科技有限公司 | 一种etl解析异常数据留存的方法及装置 |
CN112632132B (zh) * | 2020-12-31 | 2024-04-12 | 中国农业银行股份有限公司 | 一种异常导入数据的处理方法、装置及设备 |
CN113420082A (zh) * | 2021-05-28 | 2021-09-21 | 济南浪潮数据技术有限公司 | 一种数据同步的异常检测方法和装置 |
CN114237699B (zh) * | 2022-02-24 | 2022-05-03 | 四川信用通数字科技股份有限公司 | 一种配置脚本的导出方法、装置及存储介质 |
CN115129687A (zh) * | 2022-03-16 | 2022-09-30 | 希望知舟技术(深圳)有限公司 | 基于异常工况数据库管理的方法、相关装置及介质和程序 |
CN115129498A (zh) * | 2022-06-24 | 2022-09-30 | 深圳前海微众银行股份有限公司 | 一种监控方法、设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移系统和方法 |
CN104679841A (zh) * | 2015-02-11 | 2015-06-03 | 北京京东尚科信息技术有限公司 | 一种消费端数据流复制方法及系统 |
CN105069142A (zh) * | 2015-08-18 | 2015-11-18 | 山大地纬软件股份有限公司 | 数据增量抽取转换与分发系统及方法 |
CN105183625A (zh) * | 2015-08-31 | 2015-12-23 | 北京奇虎科技有限公司 | 一种日志数据处理方法和装置 |
CN106055670A (zh) * | 2016-06-06 | 2016-10-26 | 中国工商银行股份有限公司 | 一种系统间数据迁移方法及装置 |
CN106776876A (zh) * | 2016-11-29 | 2017-05-31 | 用友网络科技股份有限公司 | 数据迁移方法和数据迁移系统 |
-
2017
- 2017-08-28 CN CN201710750693.XA patent/CN107506451B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移系统和方法 |
CN104679841A (zh) * | 2015-02-11 | 2015-06-03 | 北京京东尚科信息技术有限公司 | 一种消费端数据流复制方法及系统 |
CN105069142A (zh) * | 2015-08-18 | 2015-11-18 | 山大地纬软件股份有限公司 | 数据增量抽取转换与分发系统及方法 |
CN105183625A (zh) * | 2015-08-31 | 2015-12-23 | 北京奇虎科技有限公司 | 一种日志数据处理方法和装置 |
CN106055670A (zh) * | 2016-06-06 | 2016-10-26 | 中国工商银行股份有限公司 | 一种系统间数据迁移方法及装置 |
CN106776876A (zh) * | 2016-11-29 | 2017-05-31 | 用友网络科技股份有限公司 | 数据迁移方法和数据迁移系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107506451A (zh) | 2017-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107506451B (zh) | 用于数据交互的异常信息监控方法及装置 | |
CN109034993B (zh) | 对账方法、设备、系统及计算机可读存储介质 | |
US11630762B2 (en) | Method and apparatus for testing map service | |
US11914566B2 (en) | Indexing and relaying data to hot storage | |
CN109471851B (zh) | 数据处理方法、装置、服务器和存储介质 | |
CN111324610A (zh) | 一种数据同步的方法及装置 | |
CN111190888A (zh) | 一种管理图数据库集群的方法和装置 | |
CN113326247B (zh) | 云端数据的迁移方法、装置及电子设备 | |
CN111241203A (zh) | Hive数据仓库同步方法、系统、设备及存储介质 | |
CN113962597A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN111611276A (zh) | 数据查询方法、装置及存储介质 | |
CN112445691B (zh) | 非侵入式智能合约性能检测方法和装置 | |
CN110688355A (zh) | 变更容器状态的方法和装置 | |
CN116578585B (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN113779117A (zh) | 一种数据监控方法、装置、存储介质和电子设备 | |
CN117271584A (zh) | 数据处理方法及装置、计算机可读存储介质和电子设备 | |
CN108628909B (zh) | 信息推送方法和装置 | |
CN113138974B (zh) | 数据库合规检测的方法和装置 | |
CN113760600B (zh) | 一种数据库备份方法、数据库还原方法和相关装置 | |
CN114254081B (zh) | 企业大数据搜索系统、方法及电子设备 | |
CN117076515B (zh) | 医疗管理系统中元数据的溯源方法、装置、服务器及存储介质 | |
CN114936026B (zh) | 一种半结构化数据的解析方法、系统、存储介质和设备 | |
CN113127558B (zh) | 元数据同步方法、系统、设备及存储介质 | |
CN109710673B (zh) | 作品处理方法、装置、设备和介质 | |
CN115168507A (zh) | 一种数据处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |