首页> 中国专利> 海量数据下基于ETL的尽职调查数据分析系统及方法

海量数据下基于ETL的尽职调查数据分析系统及方法

摘要

本发明涉及数据统计分析技术领域,提供了一种海量数据下基于ETL的尽职调查数据分析系统及方法,数据获取单元从多个数据源获取数据,数据筛选单元对数据根据设定字段进行关联性筛选,数据清洗单元对经过关联性筛选的数据进行数据清洗,数据计算单元对需要计算处理的数据进行计算,数据导入单元根据数据储存及索引单元将数据写入目标数据仓库中,数据调控单元对目标数据仓库中的数据进行调控、处理、解析,数据服务单元将处理后的数据提供给终端。本发明能满足用户查询的时效性、有效性、可用性和快速检索的要求;对传统的关系型数据库数据进行了扩展,适用于数据量大,更新频繁,结构多样的多数据源下的尽职调查数据分析。

著录项

  • 公开/公告号CN112632173A

    专利类型发明专利

  • 公开/公告日2021-04-09

    原文格式PDF

  • 申请/专利权人 民生科技有限责任公司;

    申请/专利号CN202011623998.2

  • 发明设计人 李振;鲁宾宾;曹书凯;张晨;

    申请日2020-12-30

  • 分类号G06F16/25(20190101);G06F16/215(20190101);G06F16/23(20190101);G06F16/2457(20190101);G06F16/28(20190101);G06Q10/06(20120101);G06Q40/06(20120101);G06Q40/00(20120101);

  • 代理机构11401 北京金智普华知识产权代理有限公司;

  • 代理人巴晓艳

  • 地址 101300 北京市顺义区马坡镇顺安南路86号

  • 入库时间 2023-06-19 10:32:14

说明书

技术领域

本发明涉及数据统计分析技术领域,特别涉及一种海量数据下基于ETL的尽职调查数据分析系统及方法。

背景技术

在数据检索与分析场景中,为了满足日常业务的查询与分析需求,往往需要调查目标公司的财务状况、经营管理、法律关系等方面,以全面了解、评估目标企业所面临的投资机会与风险。由于数据量的庞大,且涉及多方面专业知识,目前输出的检索结果质量参差不齐。在数据处理的相关技术实现方面,需要将数据通过传统ETL(ExtractTransformLoad)过程,抽取、转换、加载到相似的关系型目标数据仓库中进行分析处理。但是由于数据量和计算能力的限制,过往系统对数据的处理往往相对较为简单,检索的速度也相对较为缓慢。

随着大数据时代的到来,数据分析处理的场景不再限于传统关系型数据库。现今大部分获得的数据,具有数据量大,更新频繁,结构多样等特点。且在查询数据时,存在时效性、有效性、可用性和快速检索等要求。

发明内容

本发明的目的就是解决现有技术的不足,面向多数据源数据,提供了一种海量数据下基于ETL的尽职调查数据分析系统及方法。

本发明采用如下技术方案:

一种海量数据下基于ETL的尽职调查数据分析系统,所述系统包括数据获取单元、数据筛选单元、数据清洗单元、数据计算单元、异常数据处理单元、数据导入单元、数据调控单元、数据服务单元、目标数据仓库;

所述数据获取单元,用于从多个数据源获取原始数据;

所述数据筛选单元,将来自于所述数据获取单元的原始数据根据设定字段进行关联性筛选,通过筛选的数据进入所述数据清洗单元;

所述数据清洗单元,对经过关联性筛选的数据进行数据清洗,舍去不完整数据和错误数据,并对重复数据进行处理;经所述数据清洗单元处理后的数据进入所述数据导入单元;

所述数据计算单元,从所述目标数据仓库中提取财务数据,根据所述财务数据计算财务指标和风险指标,计算结果经所述数据导入单元存储于所述目标数据仓库中;

所述异常数据处理单元,用于处理数据清洗过程中遇到的不符合设定规则的数据;

所述数据导入单元,根据数据储存及索引策略,将所述数据获取单元得到的原始数据、经过数据清洗后的数据、及数据计算单元的计算结果数据储存在所述目标数据仓库中;

所述目标数据仓库,根据数据储存策略存储经所述数据导入单元导入的数据;

所述数据调控单元,根据数据查询需求对存储于所述目标数据仓库中的数据进行处理解析,并将结果反馈给所述数据服务单元;

所述数据服务单元,针对用户查询,将经过所述数据调控单元处理后的数据提供给终端。

进一步的,所述系统还包括系统管理单元、日志记录单元和数据更新调度单元;

所述系统管理单元,用于监控管理所述数据获取单元、数据筛选单元、数据清洗单元、数据计算单元、异常数据处理单元、数据导入单元、数据调控单元、数据服务单元、目标数据仓库的运行状态,包括监控数据源的获取进度、目标数据仓库的集群负载情况、接口状态和网络连接情况;

所述日志记录单元,包括执行过程日志、错误日志和系统日志;

所述数据更新调度单元,根据数据类型对目标数据仓库进行更新。

进一步的,所述数据源包括数据库数据、文档数据、网络数据、消息数据;其中第三方下载来的csv数据属于文档数据,网络数据使用网络爬虫获取,通过消息队列方式推送的数据属于消息数据。

进一步的,所述数据清洗单元对不完整数据和错误数据的清洗规则包括:

定义为非空的字段传入空值,该信息舍去;

不符合设定逻辑规则的数据舍去。

进一步的,所述数据清洗单元对重复数据的清洗规则包括:

数据获取单元的原始数据经过所述数据筛选单元筛选,筛选出部分字段后,删除之后筛选出的同一字段中完全重复的信息;

公司改名称后该公司其他信息保持不变的2条数据,保留公司基本信息变更后的数据,变更前的数据作为历史数据保留在所述目标数据仓库中;

上市公司后期退市或是公司IPO终止,该公司上市信息中的标签进行相应修改,修改前的信息作为历史信息保留在所述目标数据仓库中;

对不符合逻辑的重复信息,转由所述异常数据处理单元处理。

进一步的,所述数据储存及索引策略包括:

消减数据位数:不涉及计算的数据取小数点后2位,计算数据取小数点后4位;

在满足数据准确性的情况下,缩短目标数据仓库的rowkey长度为16位;

有代码时储存代码,以减小数据体积;在所述数据调控单元进行代码对数值的字典解析;

目标数据仓库建表时,考虑数据服务的需求,保障每一个数据服务接口查询的数据都储存在同一张表格中,避免大表失联;

MD5加密后的COMP_ID作为公司信息的唯一标识,被储存在目标数据仓库的每个表中以方便服务查询;

对于不同服务所对应查询的不同字段,分别将它们组合起来,建立Phoenix二级索引。

进一步的,所述目标数据仓库存储时采用如下策略:

采取分页,一次存入目标数据仓库两万条数据后,才再进行储存下一批数据;

在不影响数据准确度的情况下缩短rowkey长度,以缩短储存数据的时间。

进一步的,所述数据更新调度单元根据数据的类型对目标数据仓库的数据进行更新的策略为:工商数据、财务数据的更新周期均为一个月,舆情数据的更新周期为一天。

本发明还提供了一种海量数据下基于ETL的尽职调查数据分析方法,使用上述的系统进行,所述方法包括:

数据获取单元从多个数据源获取原始数据,多个数据源包括数据库数据、文档数据、网络数据和消息数据;

数据筛选单元将来自于所述数据获取单元的原始数据根据设定字段进行关联性筛选;

数据清洗单元对经过关联性筛选的数据进行数据清洗,舍去不完整数据和错误数据,并对重复性数据进行处理;对不符合设定规则的数据转由异常数据处理单元处理;

数据计算单元对目标数据仓库中需要计算处理的财务数据进行计算,得到的计算结果包括财务指标和风险指标,计算结果存储于目标数据仓库中;

数据导入单元根据数据储存及索引策略,将所述数据获取单元得到的原始数据、经过数据清洗后的数据、及数据计算单元的计算结果数据储存在所述目标数据仓库中;

数据调控单元根据数据查询需求对存储于所述目标数据仓库中的数据进行处理解析,并将结果反馈给所述数据服务单元;

数据服务单元针对用户查询,将经过所述数据调控单元处理后的数据提供给终端。

进一步的,所述方法还包括:

系统管理单元监控数据源的获取进度、目标数据仓库的集群负载情况、接口状态和网络连接情况;

日志记录单元记录所述系统的执行过程日志、发生错误日志及系统日志。

数据经本发明方法处理后,发明会将数据定义成不同的表格储存于HBase目标数据仓库中,并建立Phoenix映射。之后在建立接口的同时,封装好用户所需要的各项数据服务。用户使用时通过调用接口,在终端上完成信息的查询检索。调用时可以是终端上的应用程序(nativeApp),或者是终端的浏览器的一个网页程序(webApp)。

本发明的有益效果为:本发明针对来自于不同种类数据源的数据进行获取、筛选、清洗、计算后储存入目标数据仓库,根据查询需求对数据进行调控,满足用户查询的时效性、有效性、可用性和快速检索的要求;对于传统的关系型数据库数据进行了扩展,适用于数据量大,更新频繁,结构多样的多数据源下的尽职调查数据分析。

附图说明

图1所示为本发明实施例一种海量数据下基于ETL的尽职调查数据分析系统的结构示意图。

具体实施方式

下文将结合具体附图详细描述本发明具体实施例。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。

如图1所示,本发明实施例一种海量数据下基于ETL的尽职调查数据分析系统,包括数据获取单元、数据筛选单元、数据清洗单元、数据计算单元、异常数据处理单元、数据导入单元、数据调控单元、数据服务单元、目标数据仓库;

1、数据获取单元

考虑到传统关系型目标数据仓库的缺陷,本发明在及时同步关系型数据库的同时,也利用其它维度的数据进行补充;本发明的数据获取途径为:商业购买、网络爬取、业务累计等多种途径。

本发明的数据源依照数据类型分类为:数据库、文档、网络数据、消息等四种。

图1的RDBMS为关系型数据库管理系统(Relational Database ManagementSystem),第三方下载过来的csv等数据属于文档数据,网络数据使用网络爬虫获取,通过消息队列等方式推送的数据属于消息数据。

多数据源接入带来数据之间的融合和关联问题,本发明在设计数据存储、目标数据仓库的清洗规则与设定时,于目标数据仓库内添加了数据源字段等数据标识,在清洗规则上采取了对应的策略。

2、数据筛选单元

本单元主要是对数据库中的数据进行筛选,选取与本系统匹配,内容相关联的字段。如若相关字段格式不符或需要后续计算,数据清洗单元与数据计算单元会完成后续工作。

考虑到目标数据仓库应保留所有的历史数据,本单元不会对数据进行字段值排序方向的筛选。该部分筛选需求与服务紧密关联,会交由数据服务单元前的数据调控单元进行。

3、数据清洗单元

多种数据之间存在融合和关联问题,在本发明中,我们针对不同数据采取了不同清洗策略。

由于数据量的庞大,本发明的数据源会产生一些不完整的数据与错误数据。发明会设定具体规则来清洗这两类数据:本发明允许部分字段的空缺,但另部分应有信息会被要求为非空值。若定义为非空的字段被传入空值,那该部分信息则会被舍去。同样的,本发明可定义多个清洗规则,一旦不符合逻辑的数据传入,也将会被舍去。

例如在以下的数据清洗选择过程中:

工商信息:较少变更,但存在工商历史变更数据。统一社会信用代码和注册资本为空的数据舍去。

上市信息:上市信息更新快,存在公司退市或IPO终止可能。

股东/出资人信息、投资/子公司信息:均存在每年固定的公告日期。

债券与评级信息:债券存在到期日,已到期的债券信息量相对较低。且因为是先有评级机构,后有债券评级,因此将评级机构为空的债券评级信息舍去。

关联债权债务信息:关联债权债务余额为负的舍去。

爬虫数据及其他数据源数据在清洗过程中,会往关系型数据库的数据类型、数据格式与数据清洗规则上靠拢,进行筛查匹配。

对于重复数据,本发明在以下几种情况中采取了如下清洗策略:

1)待数据经过数据筛选单元,筛选出一部分字段后,可能会筛选出一些完全重复的信息,本发明会删掉字段内容完全相同的数据,以避免重复。

2)存在公司的部分信息变更后,其他字段信息的重复数据。例如存在公司改名后,公司其他信息保持不变的两条数据。本发明会选择保留公司基本信息变更后的数据,而变更前的数据也作为历史数据保留在目标数据仓库。

再例如在上市信息中,系统会为上市公司打上标签。若该上市公司后期退市或是公司IPO终止,该公司上市信息中的标签也会进行相应修改,并且作为历史信息存在目标数据仓库中。

3)对于不符合逻辑的重复数据。例如在债券评级信息的主体评级表中,可能会存在:面对同一公司,同一时期,同一评级机构给出了同一评级结果,却给出了截然不同的评级期望信息。此时无法判断哪一次的评级期望为正确期望值,本发明会将此种数据交由异常数据处理单元处理。

4、数据计算单元

本单元会对一些财务数据与财务、风险指标进行计算。计算所得的结果会存储在数据库中。本发明可采用精密的计算对多维财务、风险数据进行分析,以形成更加系统准确的风控提示。

5、异常数据处理单元

在数据清洗过程中,本发明遇到不符合规则的数据,会被传入至本单元中。如若必要时,则会转为人工处理。

6、数据储存及索引策略

本发明在写入HBase目标数据仓库时,采用以下策略来实现快速检索与存储优化:

1)削减数据位数,不涉及计算的数字可以适当缩短小数点后位数。在本发明系统中,展示数据取小数点后两位,计算数据取小数点后四位。

另外,在不影响数据准确性的情况下,尽量缩短HBase的rowkey长度,本发明中rowkey长度为16位。

2)有代码时储存代码,以减小数据体积。可在数据调控单元进行代码对数值的字典解析。

3)在建表时考虑数据服务所需数据情况,确保每一个数据服务接口查询的数据都储存在一张表格中,避免大表关联。

因此在本发明中,MD5加密后的COMP_ID作为公司信息的唯一标识,被储存在HBase的每个表中以方便服务查询。

4)在HBase中如果不是使用rowkey来查找数据,那就必须逐行地比较每一列的值。对于本发明面对的海量数据而言,它代价是巨大的。于是对于不同服务所对应查询的不同字段,本发明分别将它们组合起来,建立了Phoenix二级索引。使查询请求可以通过不同的字段角度来进行查询,以缩短服务的调用时间。

7、数据导入单元

数据应是永久导入存储的,需要保证数据的有效性和快速检索的需求。

且针对目前尽职调查的场景,对数据的实时写入要求并不严格,因此在HBase目标数据仓库存储的时候本发明采取了以下策略:

1)采取分页,一次存入HBase两万条数据后,才再进行储存下一批数据。

2)在不影响数据准确度的情况下,尽量缩短rowkey长度,以缩短发明储存数据的时间。

8、数据更新调度单元

由于数据源的多样性,导致数据获取之后,需要执行一定的更新策略问题。保证数据更新的及时性和有效性。本发明依照数据类型,大致划分为以下三种数据更新策略:

1)工商数据

工商数据一般情况下很少有变更,本发明通过记录工商数据快照的手段,来减少数据检索和无效更新次数。发明的更新周期为一个月。

2)财务数据

财务数据相对比较稳定,产生之后,几乎不会发生改变。因此,对于财务类数据,本发明会根据报告期,同步最近一月的数据,保证数据时效性和准确性。

3)舆情数据

舆情数据对数据质量的容忍度相对较高,但对时效性也有比较高的要求。发明的更新周期为一天。

9、数据调控单元

此单元处理过后的数据将直接输出至数据服务单元,因此本发明会针对不同服务,对数据调控、处理、解析,以方便展示。

在目标数据仓库内,本发明会储存多版本的历史数据。基于历史数据版本的不同,对于同种内容的数据,本发明的查询服务可根据时序被划分为:当前最新数据查询、近一年数据查询、历史数据查询等多种数据服务。那么相应的,本单元就会对数据进行以上时间范围上的筛选,以匹配服务需求。

除了针对不同数据服务的筛选,输出的结果行也可以根据某些字段进行排序。在数据量偏大的情况下,可以在排序后,有选择性提供相对更有价值的前几行数据。

此外,数据调控单元还会储存代码字典,以解析数仓内的对应代码值。这样,服务获取到的数据便为已经解析好的数据。

10、系统管理单元

本单元用于监控管理各个模块的正常输入输出运行。数据源的获取进度、目标数仓的集群负载情况、接口状态、网络连接情况等信息,也会在本单元集中展示。

11、日志记录单元

数据的获取、更新、删除等操作的起止时间、影响了多少行数据等信息,均会生成执行过程日志。

当某个模块出错或者无法连接,则会生成错误日志,记录每次出错的时间、出错的模块等。

针对于整个发明的系统日志,记录系统的启动关闭时间、数仓负载量变动情况等信息。

12、数据服务单元

发明需要对外提供简单易用的多种数据使用服务。因此数据获取服务支持回调或钩子,以满足耗时数据请求,避免计算时间过长导致服务超时,引发重试。

在本发明实施例中,多种数据源通过数据获取单元后,相关联的数据会在数据筛选单元被筛选出来,经过数据清洗(异常值前往异常数据处理单元),数据计算,抵达数据导入单元。在数据导入目标数仓时,采用数据储存与索引策略,以达到更好的储存与查询性能。之后数据在到达数据服务单元前,会经过数据调控单元进行筛选与处理。再经过数据服务单元中服务的调用,将数据以数据服务的形式提供给终端。

日志记录单元会记录系统运行过程中产生的日志,系统管理单元会协调管控各个模块。而数据更新、调度单元则会根据数据类型的不同,分别采取不同的更新策略。

本文虽然已经给出了本发明的几个实施例,但是本领域的技术人员应当理解,在不脱离本发明精神的情况下,可以对本文的实施例进行改变。上述实施例只是示例性的,不应以本文的实施例作为本发明权利范围的限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号