一种金融数据一致性检测系统及方法与流程

文档序号:16666731发布日期:2019-01-18 23:19阅读:297来源:国知局
一种金融数据一致性检测系统及方法与流程

本发明涉及数据检测领域,尤其涉及一种金融数据一致性检测系统及方法。



背景技术:

数据正确性是金融公司提供服务的重要基础。数据质量出现问题,将会导致金融公司投资、理财、清算、投资银行、风险管理等服务出现问题,甚至会造成经济上的巨大损失。其中金融数据的一致性检测是发现隐藏数据质量问题的重要手段之一。传统采用的数据质量检测方法,一般需要通过人工对数据的取值范围、数据空缺等参数进行手工设置和编码来实现,而且人工设置数据检测规则很容易忽视数据之间的一致性,导致一些数据问题只看单一数据字段没法发现。就算考虑到了不同数据字段数据一致性的问题,在进行数据一致性检测的时候,通常需要人工指定需要进行数据一致性检查的数据字段,然后再定义相应的规则并编码实现。当面对海量的金融行情数据,客户数据,人工指定数据字段进行一致性监控规则将消耗大量的人力。同时,人为设定需进行数据一致性检测字段需要设置人员丰富的业务经验,否则非常容易漏掉需要检测的数据字段。而且,人工制定的数据一致性检测规则还会产生规则制定不合理,漏报、误报率高的缺点。

鉴于此,提供一种金融数据一致性检测系统及方法,对金融数据进行机器自动一致性检测,是目前市场上的迫切需求。



技术实现要素:

本发明针对现有技术中存在的问题,提供一种金融数据一致性检测系统及方法,通过机器自动进行金融数据的一致性检测,降低了一致性检测的漏报、误报率,同时大幅地降低了人工成本。

为实现上述目的,本发明提供的技术方案如下:

一种金融数据一致性检测系统,所述系统包括:数据读取配置模块、数据读取与标准化模块、待检测字段发现模块、数据检测规则配置模块、数据一致性检测规则自生成与更新模块、数据一致性检测规则人工配置模块、调度模块、检测计算模块、消息推送模块、反馈模块,其中,

所述数据读取配置模块用于对待检测数据进行读取配置,所述数据读取配置模块与所述数据读取与标准化模块电连接;

所述数据读取与标准化模块用于根据所述数据读取配置模块的数据读取配置,从数据库中读取待监控数据,并把数据标准化成后续模块约定的格式,所述数据读取与标准化模块分别与所述数据读取配置模块、所述待检测字段发现模块以及所述检测计算模块电连接;

所述待检测字段发现模块用于自动发现所述数据读取与标准化模块中标准化后的待检测数据表中哪些数据字段需要进行一致性检测,所述待检测字段发现模块分别与所述数据读取与标准化模块、所述数据一致性检测规则生成与更新模块以及所述数据一致性检测规则人工配置模块电连接;

所述数据检测规则配置模块用于对系统中自动检测规则模型的超参数进行配置,所述数据规则配置模块与所述数据一致性检测规则自生成与更新模块电连接;

所述数据一致性检测规则自生成与更新模块用于根据所述检测规则配置模块用户自定义或默认的一致性检测规则模型超参数、所述数据读取与标准化模块标准化后的历史数据对监控规则,以及待检测字段发现模块自动发现(挖掘)的需要进行一致性检测数据字段进行一致性检测规则自学习,所述数据一致性检测规则自生成与更新模块分别与所述检测规则配置模块、所述数据读取与标准化模块以及待检测字段发现模块电连接;

所述数据一致性检测规则人工配置模块用于支持人工对所述数据一致性检测规则自生成与更新模块自生成的模型参数进行修改和调整,完善监控规则,或者由人工自主定义新的监控规则,所述数据一致性检测规则人工配置模块分别与所述待检测字段发现模块以及所述数据一致性检测规则自生成与更新模块电连接;

所述调度模块用于完成系统中各个功能模块的统一调度和执行,所述调度模块分别与所述检测规则配置模块以及所述消息推送模块电连接;

所述检测计算模块用于根据所述数据一致性检测规则自生成与更新模块自生成的数据监控规则综合所述数据一致性检测规则人工配置模块的人工自定义规则对新增待一致性检测数据进行计算,并判断该新增数据是否触发一致性异常报警,所述检测计算模块分别与所述数据一致性检测规则自生成与更新模块、所述数据一致性检测规则人工配置模块以及所述消息推送模块电连接;

所述消息推送模块根据检测计算模块的计算结果向数据运维人员发出相关报警,所述消息推送模块分别与所述检测计算模块以及所述反馈模块电连接;

所述反馈模块用于接收数据运维人员对报警信息的反馈,并将该信息反馈给所述数据一致性检测规则自生成与更新模块根据人工反馈对模型进行调整和优化,所述反馈模块分别与所述数据一致性检测规则自生成与更新模块以及所述消息推送模块电连接。

进一步地,所述数据读取与标准化模块包括待检测数据读取块子模块以及数据格式标准化子模块,所述待检测数据读取块子模块用于根据所述数据读取配置模块所设置好的数据读取方式对待检测数据或待监控数据的历史正常数据进行读取,所述数据格式标准化子模块用于将所述待检测数据读取块子模块读取的数据标准化成所述数据一致性检测规则自生成与更新模块、检测计算模块可识别的标准数据格式。

进一步地,所述待检测字段发现模块包括数值型数据字段筛选子模块以及强相关数据字段对筛选子模块,所述数值型数据字段筛选子模块用于将数值型字段筛选出来,所述强相关数据字段对筛选子模块用于筛选出强相关数据字段。

进一步地,所述检测规则配置模块的检测规则模型为线性相关一致性数据的检测模型。

一种金融数据一致性检测方法,包括:

步骤a,对待检测数据进行读取配置;

步骤b,根据读取配置,从数据库中读取待监控数据,并把数据标准化成约定的格式;

步骤c,寻找发现标准化后的待检测数据表中哪些数据字段需要进行一致性检测;

步骤d,对系统中自动检测规则模型的超参数进行配置;

步骤e,根据步骤b中标准化后的数据、步骤c中需要进行一致性检测的数据字段以及步骤d中自动检测规则模型的超参数进行一致性检测规则自学习;

步骤f,人工对步骤e中自生成的一致性检测规则进行修改和调整,完善监控规则;

步骤g,根据步骤e中自生成的一致性检测规则以及步骤f中人工修改的一致性检测规则对待检测数据进行一致性计算,并判断该新增数据是否触发一致性异常报警。

步骤h:根据步骤g中的计算结果向数据运维人员发出相关报警。

进一步地,所述步骤h之后还包括步骤i:接收数据运维人员对报警信息的反馈,并将该信息反馈到步骤e中,对一致性检测自学习规则进行调整和优化。

进一步地,所述步骤b具体包括:

步骤b1,根据读取配置,对数据库中的待检测数据或待监控数据的历史正常数据进行读取;

步骤b2,把读取出的数据标准化成约定的格式。

进一步地,所述步骤c具体包括:

步骤c1,从待检测数据表中筛选出数值型数据字段;

步骤c2,根据筛选出的数值型字段历史数据,计算相关字段数据的协方差矩阵,得到字段数据间的相关性度量;

步骤c3,得到的不同数据字段相关度,筛选出强相关数据字段。

进一步地,所述步骤e具体包括:

步骤e1,判断待监控数据是否为新的待监控数据字段;

步骤e2,如果判断为新的数据字段,则进行一致性检测规则模型参数学习;

步骤e3,如果判断不是新数据字段,则判断当前时间点是否为待一致性检测数据的更新时间点。如果到达更新时间点,则对待一致性检测规则模型参数进行更新调整。

进一步地,所述步骤e2具体包括:

步骤e21,假设两个待一致性检查字段对应的数据变量为x和y;

步骤e22,根据历史数据进行线性回归,y’=ax+b,估计参数a、b,得到线性模型回归模型;

步骤e23,计算线性回归模型与真实数据值的差值di=y′i-yi;

步骤e24,计算历史差值的均值和标准差,μ,δ,得到高斯检测模型的参数。

与现有技术相比,本发明提供的金融数据一致性检测系统及方法,通过机器自学习对金融数据一致性进行检测,降低了漏报、误报率,同时大大降低了人工成本,提高了检测效率。

附图说明

图1为本发明的金融数据一致性检测系统的结构示意图;

图2为本发明的金融数据一致性检测方法的流程图;

图3为本发明的金融数据一致性检测方法的步骤b的具体流程图;

图4为本发明的金融数据一致性检测方法的步骤c的具体流程图;

图5为本发明的金融数据一致性检测方法的步骤e的具体流程图;

图6为本发明的金融数据一致性检测方法的步骤e2的具体流程图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

如图1所示,为本发明金融数据一致性检测系统的一种实施例,该金融数据一致性检测系统包括数据读取配置模块1、数据读取与标准化模块2、待检测字段发现模块3、数据检测规则配置模块4、数据一致性检测规则自生成与更新模块5、数据一致性检测规则人工配置模块6、调度模块7、检测计算模块8、消息推送模块9、反馈模块10,其中,

所述数据读取配置模块1用于对待检测数据进行读取配置,所述数据读取配置模块1与所述数据读取与标准化模块2电连接。数据读取配置模块1允许用户通过用户界面(基于web或移动app的用户界面),对待检测数据的数据源(包括:数据库类型、ip地址、用户、密码、待检测数据所在的数据表、待检测数据在表中的字段名等)、或者待检测数据前端读取接口进行配置;同时也可以支持用户输入符合系统设计标准的数据读取源代码脚本(例如:用python语言编写的数据读取脚本)。当用户在用户界面设置完成并确认后,设置的内容将通过应用服务器(可采用微服务的方式实现)将设置内容写入应用数据库(可采用mysql,postgresql,mongo等数据库)。

所述数据读取与标准化模块2用于根据所述数据读取配置模块1的数据读取配置,从数据库中读取待监控数据,并把数据标准化成后续模块约定的格式,所述数据读取与标准化模块2分别与所述数据读取配置模块1、所述待检测字段发现模块3以及所述检测计算模块8电连接。数据读取与标准化模块2,一般包含以下子模块:(1)待检测数据读取模块21。该模块根据模块1所设置好的数据读取方式对待检测数据或待监控数据的历史正常数据进行读取。该模块一般通过计算服务单元来完成。面对海量的待检测数据,通常该计算服务单元可采用apachespark,apachesparkstreaming等分布式计算引擎来实现,也可以采用弹性可扩展的微服务架构完成实时计算。数据读取模块根据用户输入的数据库类型、ip地址、用户、密码、待检测数据所在的数据表、待检测数据在表中的字段名等参数调用对应的数据库读取代码库对数据进行读取。如果用户配置了待检测数据的前端读取接口,则该模块根据配置的数据读取地址和参数进行数据获取。为了支持更丰富的数据读取方式,该模块也支持用户输入符合规范的数据读取代码脚本供计算服务单元调用获取数据。(2)数据格式标准化模块22。该模块将模块21读取的数据标准化成模块5、模块8可识别的标准数据格式,例如(key,value)、或者n维数据帧(dataframe)的格式。

所述待检测字段发现模块3用于自动发现所述数据读取与标准化模块2中标准化后的待检测数据表中哪些数据字段需要进行一致性检测,所述待检测字段发现模块3分别与所述数据读取与标准化模块2、数据一致性检测规则生成与更新模块5以及所述数据一致性检测规则人工配置模块6电连接。待检测字段发现模块3,该模型能够自动发现模块2中标准化后待检测数据表中哪些数据字段需要进行一致性检测,解决传统人工查找、定义需要一致性检测的字段存在的效率低,容易遗漏的缺点。该模块主要由以下两个模块组成:(1)数值型数据字段筛选子模块。本发明主要解决数值型数据字段一致性检测的问题,所以需要首先将数据型字段筛选出来,在实现上,首先对数据字段类型标记为数值型的字段(例如:整形、浮点型)筛选出来,对剩下的标识为字符型的字段通过正则表达式[([1-9]\d*\.?\d*)|(0\.\d*[1-9])]提取来判断剩下的字符型字段的内容是否也为数值型。如果判断为数值型则将其转换成数值型数据,并归入数值型变量。(2)强相关数据字段对筛选子模块32,该强相关数据字段筛选子模块32主要由以下步骤实现:

步骤1:根据模块31筛选出的数值型字段历史数据,计算相关字段数据的协方差矩阵,σ=e[(x-u)’(x-u)],其中x为。得到字段数据间的相关性度量;

步骤2:根据步骤1计算得到的不同数据字段相关度,筛选出强相关数据字段(相关度大于一定阈值)。

所述数据检测规则配置模块4用于对系统中自动检测规则模型的超参数进行配置,所述数据规则配置模块4与所述数据一致性检测规则自生成与更新模块5电连接。数据检测规则配置模块4,主要对系统中默认支持的检测模型超参数进行配置,或自定义的数据一致性检测规则进行配置。当两个数据字段高度线性相关(一致)时,通过一个字段对另一个字段进行线性回归,然后计算回归的值与待检测值的差值。假设这一差值服从正态分布,则当待检测数值与回归值的差值超过历史差值标准差的2倍以上时发出二级报警;当该差值大于历史差值标准差4倍以上时发出一级报警。

所述数据一致性检测规则自生成与更新模块5用于根据所述检测规则配置模块4用户自定义或默认的一致性检测规则模型超参数、所述数据读取与标准化模块2标准化后的历史数据对监控规则,以及待检测字段发现模块3自动发现(挖掘)的需要进行一致性检测数据字段进行一致性检测规则自学习,所述数据一致性检测规则自生成与更新模块5分别与所述检测规则配置模块3、所述数据读取与标准化模块2以及待检测字段发现模块4电连接;该模块根据系统默认的一致性检测规则模型,利用模块3检测出的强相关性字段对应的标准化后待监控历史数据对监控规则进行自学习。根据金融数据的特性,我们可以设置如下一致性规则检测模型。

线性相关一致性数据的检测模型:金融行业的数值型数据中常常会出现近似线性相关的两个变量,例如基金的评级得分和基金的评级级别一般符合近似线性的关系。对两线性相关(数据)x,y。首先,根据历史数据进行线性回归,y=ax+b,得到线性模型;然后,计算线性模型预测值yt与数据真实值的差值,并对这些差值建立相应的高斯模型gl(即估计这些差值的均值和标准差)。

数据一致性检测规则自生产与更新模块5可以设计成包含以下步骤:

步骤1:判断待监控数据是否为新的待监控数据字段;

步骤2:如果步骤1判断为新的数据字段,则进行一致性检测规则模型参数学习41,计算步骤如下:

步骤2_1:假设两个待一致性检查字段对应的数据变量为x和y;

步骤2_2:根据历史数据进行线性回归,y’=ax+b,估计参数a、b,得到线性模型回归模型。参数的估计方法可以采用最小二乘法、最大似然法等方法。其中最小二乘法的计算公式为:

步骤2_3:计算线性回归模型与真实数据值的差值di=y′i-yi

步骤2_4:计算历史差值的均值和标准差,μ,δ,得到高斯检测模型,的参数。这里也可以采用混合高斯模型,其中k为高斯模型的数目,ωi为i个高斯模型的权重,μi,σi为第i个高斯模型的均值和标准差。混合高斯模型的学习可以采用expectation–maximization进行参数估计。

步骤3:如果不是新的待一致性检测数据,则判断当前时间点是否为待一致性检测数据的更新时间点。如果到达更新时间点,则对待一致性检测规则模型参数进行更新调整42(计算方法如前所述,可以根据全量历史数据进行更新、也可以根据最近一段时间内历史数据进行更新)。否则结束当前模块。

这里就数据一致性检测规则自生产与更新模块5中阐述的几种常用自动监控规则模型,获得新的待监控数据后的检测计算方法进行介绍:

当输入待检测数据xn,yn时,利用前面建立的线性模型,计算xn计算y的预测值yp=axn+b,然后计算预测值与待检测数据的差值,yp-yn,再将该差值输入模块4计算得到的预测值与真实值差值的高斯模型,得到该差值出现的概率,当该概率低于设定的数值时(由模块4进行配置),则发出不同级别的报警信号。

如果模块4步骤2_4建立的是混合高斯模型,则需要将当前差值代入训练好的混合高斯模型,当输入数值的概率低于设定的数值时(由模块4进行配置),则发出不同级别的报警信号。

上述的数据检测计算可以通过apachespark计算引擎实现。对实时性要求较高的可通过sparkstreaming,或者apachesparkflink来完成计算。

所述数据一致性检测规则人工配置模块6用于支持人工对所述数据一致性检测规则自生成与更新模块5自生成的模型参数进行修改和调整,完善监控规则,或者由人工自主定义新的监控规则,所述数据一致性检测规则人工配置模块6分别与所述待检测字段发现模块3以及所述数据一致性检测规则自生成与更新模块5电连接;采用机器学习产生的数据一致性检测规则,在历史正常数据较少的情况,容易出现检测规则不够完善的情况,数据一致性检测规则自生成与更新模块5支持人工对自动生成的检测规则进行修改和添加新的规则。让自动生成规则与人工规则相配合,提高系统的灵活性及适应性。

所述调度模块7用于完成系统中各个功能模块的统一调度和执行,所述调度模块7分别与所述检测规则配置模块4以及所述消息推送模块9电连接;

所述检测计算模块8用于根据所述数据一致性检测规则自生成与更新模块5自生成的数据监控规则综和所述数据一致性检测规则人工配置模块6的人工自定义规则对新增待一致性检测数据进行计算,并判断该新增数据是否触发一致性异常报警,所述检测计算模块8分别与所述数据一致性检测规则自生成与更新模块5、所述数据一致性检测规则人工配置模块6以及所述消息推送模块9电连接;

所述消息推送模块9根据检测计算模块8的计算结果向数据运维人员发出相关报警,所述消息推送模块9分别与所述检测计算模块8以及所述反馈模块10电连接。该模块将检测计算模块8输出的数据质量监控报警信息,包括触发报警的数据基本信息及报警级别等,利用消息推送系统,通过微信、短信、应用app等渠道推送给客户。例如:app推送可通过mqtt、xmpp等协议实现,也可以调用华为推送、阿里云移动推送、腾讯信鸽推送等第三方平台实现。

所述反馈模块10用于接收数据运维人员对报警信息的反馈,并将该信息反馈给所述数据一致性检测规则自生成与更新模块5根据人工反馈对模型进行调整和优化,所述反馈模块10分别与所述数据一致性检测规则自生成与更新模块5以及所述消息推送模块9电连接。该模块主要接收数据运维人员对数据监控报警的反馈信息,并将该反馈信息反馈给数据监控规则更新模块(模块4)根据人工反馈对监控规则进行调整和优化。如果人工反馈发出报警的信号为假信号,则需要反馈给模块4根据当前输入数值及时进行监控规则调整。

如图2所示,为本发明金融数据一致性检测方法的一种实施例,该方法包括:

步骤s100,对待检测数据进行读取配置;

步骤s200,根据读取配置,从数据库中读取待监控数据,并把数据标准化成约定的格式;

步骤s300,寻找发现标准化后的待检测数据表中哪些数据字段需要进行一致性检测;

步骤s400,对系统中自动检测规则模型的超参数进行配置;

步骤s500,根据步骤b中标准化后的数据、步骤c中需要进行一致性检测的数据字段以及步骤d中自动检测规则模型的超参数进行一致性检测规则自学习;

步骤s600,人工对步骤e中自生成的一致性检测规则进行修改和调整,完善监控规则;

步骤s700,根据步骤e中自生成的一致性检测规则以及步骤f中人工修改的一致性检测规则对待检测数据进行一致性计算,并判断该新增数据是否触发一致性异常报警;

步骤s800,根据步骤g中的计算结果向数据运维人员发出相关报警。

步骤s900,接收数据运维人员对报警信息的反馈,并将该信息反馈到步骤e中,对一致性检测自学习规则进行调整和优化。

如图3所示,所述步骤s200具体包括:

步骤s201,根据读取配置,对数据库中的待检测数据或待监控数据的历史正常数据进行读取;

步骤s202,把读取出的数据标准化成约定的格式。

如图4所示,所述步骤s300具体包括:

步骤s301,从待检测数据表中筛选出数值型数据字段;

步骤s302,根据筛选出的数值型字段历史数据,计算相关字段数据的协方差矩阵,得到字段数据间的相关性度量;

步骤s303,根据得到的不同数据字段相关度,筛选出强相关数据字段。

如图5所示,所述步骤s500具体包括:

步骤s501,判断待监控数据是否为新的待监控数据字段;

步骤s502,如果判断为新的数据字段,则进行一致性检测规则模型参数学习;

步骤s503,如果判断不是新数据字段,则判断当前时间点是否为待一致性检测数据的更新时间点。如果到达更新时间点,则对待一致性检测规则模型参数进行更新调整。

如图6所示,所述步骤s502具体包括:

步骤s5021,假设两个待一致性检查字段对应的数据变量为x和y;

步骤s5022,根据历史数据进行线性回归,y’=ax+b,估计参数a、b,得到线性模型回归模型;

步骤s5023,计算线性回归模型与真实数据值的差值di=y′i-yi;

步骤s5024,计算历史差值的均值和标准差,μ,δ,得到高斯检测模型的参数。

本发明提供一种金融数据一致性检测系统及检测方法,具有以下优点:

1、可以自动发现需要进行一致性检测的数据字段,极大的提高了数据一致性检测的效率、准确度和覆盖率。

2、发现需要进行一致性检测的字段后,根据数据字段的历史值,自动学习数据一致性检测规则,从而提高数据一致性检测的质量、效率及覆盖面。

以上所述仅为本发明的较佳实施例,并不用于限制本发明,凡在本发明的精神和原则内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1