一种基于Thrift的数据检测方法与流程

文档序号:19471637发布日期:2019-12-21 02:22阅读:175来源:国知局
一种基于Thrift的数据检测方法与流程

本发明公开一种基于thrift的数据检测方法,涉及数据检测技术领域。



背景技术:

随着互联网、传感器等数字化终端设备的普及,各种各样的数据呈现出爆炸式的指数级增长,对数据的收集和处理也成了数字化时代需要的重点。由于互联网数据杂乱无章,加大了运维人员数据处理的难度和复杂度,无法及时对得到的数据进行有效的数据挖掘,从而获得有价值的内容,失去了大批量数据产生的意义。因此在数据处理挖掘之前对数据的完整性、一致性进行检测十分重要。与此同时梳理出数据的各类指标并定义一个可以接受的误差范围,即预警值。

本发明提供一种基于thrift的数据检测方法,配置thrift所在管理平台的产品线及产品线数据的检测方案,根据产品线数据的检测方案调用spark服务或sql服务进行数据检测,可以对各产品线多类数据库中的数据进行质量检测并反馈检测结果,实现对数据生产过程中的质量控制,通过设置相关配置规则以及阈值条件,可以及时将超出预警值的数据生成的检测报告提供给质量控制人员,并分析误差的原因,最终提高数据质量提升客户的满意度。



技术实现要素:

本发明针对现有技术的问题,提供一种基于thrift的数据检测方法,利用thrift通信实现对各产品线多类数据库中的数据进行的完整性和一致性的质量检测并反馈检测结果,用于数据生产过程中的质量控制,同时质量控制人员对超出预警值的数据给出分析报告,并分析误差的原因,最终提高数据质量提升客户的满意度。

本发明提出的具体方案是:

一种基于thrift的数据检测方法,配置thrift所在管理平台的产品线及产品线数据的检测方案,同时配置thrift调用接口,根据产品线数据的检测方案调用spark服务或sql服务进行数据检测。

所述的一种基于thrift的数据检测方法中配置产品线数据的完整性和一致性检测方案,并分别配置完整性和一致性检测方案的相应检测规则。

所述的一种基于thrift的数据检测方法中通过配置表记录完整性和一致性检测方案的相应检测规则。

所述的一种基于thrift的数据检测方法中一致性检测方案中,利用配置表簇表示同一类配置表。

所述的一种基于thrift的数据检测方法中根据产品线数据的检测方案启动spark服务检测任务,通过thrift调用接口调用spark对应接口,生成spark任务在yarn-cluster模式下进行数据检测;

或者根据产品线数据的检测方案启动sql服务检测任务,通过thrift调用接口调用sql服务对应接口,sql服务进行数据检测。

一种基于thrift的数据检测系统,包括thrift所在的管理平台,

并且配置thrift所在管理平台的产品线及产品线数据的检测方案,同时配置thrift调用接口,根据产品线数据的检测方案调用spark服务或sql服务进行数据检测。

所述的一种基于thrift的数据检测系统中管理平台配置产品线数据的完整性和一致性检测方案,并分别配置完整性和一致性检测方案的相应检测规则。

所述的一种基于thrift的数据检测系统中管理平台通过配置表记录完整性和一致性检测方案的相应检测规则。

所述的一种基于thrift的数据检测系统中管理平台通过配置表记录完整性和一致性检测方案的相应检测规则。

所述的一种基于thrift的数据检测系统中管理平台根据产品线数据的检测方案启动spark服务检测任务,通过thrift调用接口调用spark对应接口,生成spark任务在yarn-cluster模式下进行数据检测;

或者管理平台根据产品线数据的检测方案启动sql服务检测任务,通过thrift调用接口调用sql服务对应接口,sql服务进行数据检测。

本发明的有益之处是:

本发明提供一种基于thrift的数据检测方法,配置thrift所在管理平台的产品线及产品线数据的检测方案,根据产品线数据的检测方案调用spark服务或sql服务进行数据检测,可以对各产品线多类数据库中的数据进行质量检测并反馈检测结果,实现对数据生产过程中的质量控制,通过设置相关配置规则以及阈值条件,可以及时将超出预警值的数据生成的检测报告提供给质量控制人员,并分析误差的原因,最终提高数据质量提升客户的满意度。

附图说明

图1是本发明系统运行流程示意图;

图2是spark服务的yarn-cluster模式运行示意图;

图3是本发明检测模式示意图;

图4本发明中thrift所在的管理平台远程调用框架原理示意图。

具体实施方式

本发明提供一种基于thrift的数据检测方法,配置thrift所在管理平台的产品线及产品线数据的检测方案,同时配置thrift调用接口,根据产品线数据的检测方案调用spark服务或sql服务进行数据检测。

同时本发明还提供与上述方法相应的一种基于thrift的数据检测系统,包括thrift所在的管理平台,

并且配置thrift所在管理平台的产品线及产品线数据的检测方案,同时配置thrift调用接口,根据产品线数据的检测方案调用spark服务或sql服务进行数据检测。

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

利用本发明方法,在thrift所在管理平台可新建并配置产品线,填写相关基本信息以及选择或新增数据库资源,并且选择小组成员和负责人,根据不同的权限,除了可以配置操作新建的产品线,也可在管理平台中管理配置参与的其他产品线,同时新建配置产品线数据的检测方案,配置数据库以及检测规则,为满足多样化的用户需求,本发明既对完整性检测又对一致性检测,并分别配置完整性和一致性检测方案的相应检测规则,

在新建完检测方案后,可启动检测任务,根据产品线数据的检测方案新建检测任务,设定检测周期、运行方式等参数,检测任务可有五个状态,分别是:未启动,待执行,执行中,已停止,已完成,采用配置检测方案和设置任务运行周期分开管理的模式,有助于用户后期对任务的优化等操作,设置上述五种运行状态,方便用户及时了解该任务运行状态并且方便进行下一步操作;

启动检测任务后,状态由未启动变为待执行,后端将该任务放入待检测容器中,定时遍历该容器,根据配置通过thrift配置的接口调用sql服务或者spark服务对应的实现类进行检测报告计算,生成检测报告。根据任务类型的不同,区分一次性任务以及周期性任务的报告,周期性任务即使状态仍为执行中,但在该任务生成第一周期的检测报告后即可查看相关报告结果。本发明中显示检测报告结果,不限于只能查看已完成的检测任务,提高了工作效率。

在上述过程中,通过配置表记录完整性和一致性检测方案的相应检测规则,新建完整性检测方案前,先在检测规则中配置所需要的字段检测规则,完整性检测方案提供用户配置表内字段是否可空,是否可重复等规则;一致性检测方案提供用户配置同一类配置表不同时间段数据是否一致的相关规则,在配置过程中,提供针对多个字段汇总、计数或分组的选择,使一致性数据检测报告更丰富,并且在新建一致性检测方案中,选择已有的配置表簇来表示需要检测的一类配置表,若无已有配置表簇,可根据要求新建表簇,为便于用户选择同一类配置表格,新增配置表簇,提高用户体验感,同时减少选取不同类表格时报错的概率。

在上述过程中,管理平台的thrift通过接口定义语言(interfacedefinitionlanguage,idl)来定义数据类型和服务,thrift接口定义文件由thrift代码编译器生成thrift目标语言,本方法使用java代码,并由生成的代码负责rpc协议层和传输层的实现,本方法定义两个接口,一个是根据配置内容运用spark解析的服务接口,另一个是将数据检测任务转换为sql语句查询数据库的sql解析服务接口,方便用户按需求自行进行选择,提高内存使用性能,避免造成资源浪费的情况。

在上述过程中,spark服务包括了thrift接口项目中对应接口的实现类以及提供调用的端口等配置信息,为了提高运算速率,优化用户体验,将每一个检测任务生成的spark任务提交到yarn集群运行,在调用该服务时,具体根据配置解析任务,用spark计算解析生成检测报告的项目,还配置了相关提交spark任务所需的集群环境,即用于生产环境的yarn-cluster模式提交spark任务,参考图2,由于每次提交任务的driver所在机器都是随机选择的,因此有效避免某一台机器网卡流量激增的现象。

在上述过程中,sql服务同样包括了thrift接口项目中对应接口的实现类以及提供调用的端口等配置信息,sql服务对于小数据量的sql查询效率有明显的提高。本发明方法利用thrift通信实现对各产品线多类数据库中的数据通过spark解析提交任务去集群用yarn-cluster模式运行或sql解析进行检测并反馈检测结果。实现了对多数据源的数据的完整性和一致性检测,对于不同产品线的数据检测可按照各自的产品线分类,设定不同的定时任务,生成对应的检测报告。

利用本发明系统,可以达到同样的效果,其中本发明系统的管理平台可以作为客户端,而spark服务作为一个服务端,以及sql服务作为另一个服务端共同实现整个数据检测服务。

用户可在thrift所在的管理平台可新建并配置产品线,填写相关基本信息以及选择或新增数据库资源,并且选择小组成员和负责人,根据不同的用户权限,除了可以配置操作自身新建的产品线,也可在管理平台中管理配置参与的其他产品线,同时新建配置产品线数据的检测方案,配置数据库以及检测规则,为满足多样化的用户需求,本发明既对完整性检测又对一致性检测,并分别配置完整性和一致性检测方案的相应检测规则,

在新建完检测方案后,可启动检测任务,根据产品线数据的检测方案新建检测任务,设定检测周期、运行方式等参数,检测任务可有五个状态,分别是:未启动,待执行,执行中,已停止,已完成,采用配置检测方案和设置任务运行周期分开管理的模式,有助于用户后期对任务的优化等操作,设置上述五种运行状态,方便用户及时了解该任务运行状态并且方便进行下一步操作;

启动检测任务后,状态由未启动变为待执行,后端将该任务放入待检测容器中,定时遍历该容器,根据配置通过thrift配置的接口调用sql服务或者spark服务对应的实现类进行检测报告计算,生成检测报告。根据任务类型的不同,区分一次性任务以及周期性任务的报告,周期性任务即使状态仍为执行中,但在该任务生成第一周期的检测报告后即可查看相关报告结果。本发明中显示检测报告结果,不限于只能查看已完成的检测任务,提高了工作效率。

在上述过程中,用户可在管理平台通过配置表记录完整性和一致性检测方案的相应检测规则,新建完整性检测方案前,先在检测规则中配置所需要的字段检测规则,完整性检测方案提供用户配置表内字段是否可空,是否可重复等规则;一致性检测方案提供用户配置同一类配置表不同时间段数据是否一致的相关规则,在配置过程中,提供针对多个字段汇总、计数或分组的选择,使一致性数据检测报告更丰富,并且在新建一致性检测方案中,选择已有的配置表簇来表示需要检测的一类配置表,若无已有配置表簇,可根据要求新建表簇,为便于用户选择同一类配置表格,新增配置表簇,提高用户体验感,同时减少选取不同类表格时报错的概率。

在上述过程中,管理平台的thrift通过接口定义语言(interfacedefinitionlanguage,idl)来定义数据类型和服务,thrift接口定义文件由thrift代码编译器生成thrift目标语言,本系统使用java代码,并由生成的代码负责rpc协议层和传输层的实现,本系统定义两个接口,一个是根据配置内容运用spark解析的服务接口,另一个是将数据检测任务转换为sql语句查询数据库的sql解析服务接口,方便用户按需求自行进行选择,提高内存使用性能,避免造成资源浪费的情况。

在上述过程中,spark服务包括了thrift接口项目中对应接口的实现类以及提供调用的端口等配置信息,为了提高运算速率,优化用户体验,将每一个检测任务生成的spark任务提交到yarn集群运行,在调用该服务时,具体根据配置解析任务,用spark计算解析生成检测报告的项目,还配置了相关提交spark任务所需的集群环境,即用于生产环境的yarn-cluster模式提交spark任务,参考图2,由于每次提交任务的driver所在机器都是随机选择的,因此有效避免某一台机器网卡流量激增的现象。

在上述过程中,sql服务同样包括了thrift接口项目中对应接口的实现类以及提供调用的端口等配置信息,sql服务对于小数据量的sql查询效率有明显的提高。本发明系统利用thrift通信实现对各产品线多类数据库中的数据通过spark解析提交任务去集群用yarn-cluster模式运行或sql解析进行检测并反馈检测结果。实现了对多数据源的数据的完整性和一致性检测,对于不同产品线的数据检测可按照各自的产品线分类,设定不同的定时任务,生成对应的检测报告。

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

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