数据校验方法、电子装置及存储介质与流程

文档序号:18832278发布日期:2019-10-09 03:50阅读:142来源:国知局
数据校验方法、电子装置及存储介质与流程

本发明涉及数据处理技术领域,尤其涉及一种数据校验方法、电子装置及计算机可读存储介质。



背景技术:

随着大数据技术的普及,数据处理和计算在各个行业领域中有着广泛的应用。其中etl(extract-transform-load,数据仓库)技术在大规模的数据处理中有着重要的作用。

目前,很多公司的业务数据是通过各个地方的业务系统上报汇总,etl在数据上报,指标统计,决策分析等应用场景中对数据质量要求较高,传统校验数据的方式采用部分数据人工对数,存在校验效率低、人工对数易出错、自动化程度不高等不足,影响数据的准确率,造成数据的决策有误。



技术实现要素:

鉴于以上内容,本发明提供一种数据校验方法、电子装置及计算机可读存储介质,其主要目的在于定期对各业务系统的数据进行自动化校验,确保数据的可靠性,提高数据质量。

为实现上述目的,本发明提供一种数据校验方法,应用于电子装置,该方法包括:

获取步骤:连接多个数据源对应的业务系统,根据预设的时间频率从每个业务系统中获取相应的业务数据;

第一配置步骤:对获取的每笔业务数据进行指标配置,得到各业务数据对应的指标和指标配置信息;

第二配置步骤:对得到的各业务数据对应的指标进行规则配置生成配置文件,所述配置文件包括各业务数据对应的指标阈值;

计算步骤:将各业务数据对应的指标和指标配置信息输入计算引擎运算,得到运算后的各业务数据对应的指标值;及

校验步骤:利用规则引擎读取所述配置文件,解析所述配置文件得到各业务数据对应的指标阈值,校验各业务数据对应的指标值是否超过对应的指标阈值。

优选地,所述校验步骤包括:

当判断一笔业务数据对应的指标值超过对应的指标阈值时,判断该业务数据有误,为该有误的业务数据分配预设标记并保存至预警表。

优选地,所述校验步骤后还包括:

预警步骤:定时扫描所述预警表,当扫描到有所述预设标记业务数据时,触发预设预警系统生成对应的预警信息,并发送至对应的业务系统。

优选地,所述指标配置信息包括指标关联的数据源、指标的运算逻辑和配置时间。

优选地,所述计算步骤包括:

从得到的指标配置信息中查找出与各业务数据对应的指标的运算逻辑;

根据查找出的运算逻辑对各业务数据对应的指标进行sql计算,得到各业务数据对应的指标值。

此外,为实现上述目的,本发明还提供一种电子装置,该电子装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的数据校验程序,所述数据校验程序被所述处理器执行时实现如下步骤:

获取步骤:连接多个数据源对应的业务系统,根据预设的时间频率从每个业务系统中获取相应的业务数据;

第一配置步骤:对获取的每笔业务数据进行指标配置,得到各业务数据对应的指标和指标配置信息;

第二配置步骤:对得到的各业务数据对应的指标进行规则配置生成配置文件,所述配置文件包括各业务数据对应的指标阈值;

计算步骤:将各业务数据对应的指标和指标配置信息输入计算引擎运算,得到运算后的各业务数据对应的指标值;及

校验步骤:利用规则引擎读取所述配置文件,解析所述配置文件得到各业务数据对应的指标阈值,校验各业务数据对应的指标值是否超过对应的指标阈值。

优选地,所述校验步骤包括:

当判断一笔业务数据对应的指标值超过对应的指标阈值时,判断该业务数据有误,为该有误的业务数据分配预设标记并保存至预警表。

优选地,所述校验步骤后还包括:

预警步骤:定时扫描所述预警表,当扫描到有所述预设标记业务数据时,触发预设预警系统生成对应的预警信息,并发送至对应的业务系统。

优选地,所述指标配置信息包括指标关联的数据源、指标的运算逻辑和配置时间。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括数据校验程序,所述数据校验程序被处理器执行时,可实现如上所述的数据校验方法中的任一步骤。

本发明提出的数据校验方法、电子装置及计算机可读存储介质,通过连接多个数据源对应的业务系统,根据预设的时间频率从每个业务系统中获取相应的业务数据,对获取的每笔业务数据进行指标配置,得到各业务数据对应的指标和指标配置信息,对得到的各业务数据对应的指标进行规则配置生成配置文件,所述配置文件包括各业务数据对应的指标阈值;再将各业务数据对应的指标和指标配置信息输入计算引擎运算,得到运算后的各业务数据对应的指标值;最后,利用规则引擎读取所述配置文件,解析所述配置文件得到各业务数据对应的指标阈值,校验各业务数据对应的指标值是否超过对应的指标阈值。本发明通过定期对各业务系统的数据进行规则配置后自动化校验,确保数据的可靠性,从而提高数据质量。

附图说明

图1为本发明电子装置较佳实施例的示意图;

图2为图1中的数据校验程序一较佳实施例的程序模块图;

图3为本发明数据校验方法一较佳实施例的流程图;

图4为图1中的数据校验程序另一较佳实施例的程序模块图;

图5为本发明数据校验方法另一较佳实施例的流程图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

参照图1所示,为本发明电子装置较佳实施例的示意图。电子装置1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述电子装置1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。

在本实施例中,电子装置1可包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,存储器11存储有可在处理器12上运行的数据校验程序10。需要指出的是,图1仅示出了具有组件11-13的电子装置1,但是应当理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

其中,存储器11包括内存及至少一种类型的可读存储介质。内存为电子装置1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子装置1的内部存储单元,例如该电子装置1的硬盘;在另一些实施例中,该非易失性存储介质也可以是电子装置1的外部存储设备,例如电子装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。本实施例中,存储器11的可读存储介质通常用于存储安装于电子装置1的操作系统和各类应用软件,例如存储本发明一实施例中的数据校验程序10等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器12在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子装置1的总体操作,例如执行与所述其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行数据校验程序10等。

所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述电子装置1与其他电子设备之间建立通信连接。

所述数据校验程序10存储在存储器11中,包括存储在存储器11中的计算机可读指令,该计算机可读指令可被处理器12执行,以实现本申请各实施例的方法。

在一实施例中,上述数据校验程序10被所述处理器12执行时实现如下步骤:

获取步骤:连接多个数据源对应的业务系统,根据预设的时间频率从每个业务系统中获取相应的业务数据。

本实施例中,数据源包括业务系统名称、ip域名、连接端口、数据库、数据库类型,数据同步频率等。通过数据源连接到各业务系统,按预设的时间频率从每个业务系统中获取相应的业务数据,并对获取到的业务数据固化至hive仓库,不影响各业务系统继续录入其它的数据,确保获取到的原始业务数据的可靠性。所述hive为一种数据仓库工具,可以对获取到数据提取、转化、加载,还可以进行sql数据查询等。

在一实施例中,连接多个数据源(如不同系统的ip域名或连接端口)对应的业务系统,根据预设的时间频率(如每日上午8点)从每个务系统(如各省、市的业务系统)中获取相应的业务数据(保单数据)固化至hive仓库。

第一配置步骤:对获取的每笔业务数据进行指标配置,得到各业务数据对应的指标和指标配置信息。

具体地,根据获取的每笔业务数据的字段属性对业务数据进行指标配置,得到各业务数据对应的指标,再将得到各业务数据对应的指标进行关联,对关联后的指标配置并匹配预设的运算逻辑,最后得到指标配置信息。

进一步地,所述指标配置信息包括指标关联的数据源、指标的运算逻辑和配置时间。

指标关联的数据源包括各业务数据对应的指标之间的关联,以及各业务数据的数据源之间的关联,便于追溯数据的来源;

指标的运算逻辑包括一般函数(如sum、count、min或max的函数)以及预先设置的自定义函数(如数学公式的函数);

配置时间指各业务数据进行指标配置的时间记录。

第二配置步骤:对得到的各业务数据对应的指标进行规则配置生成配置文件,所述配置文件包括各业务数据对应的指标阈值。

本实施例中,为了对获取到的各业务数据能够自动校验,预先对业务数据进行规制配置,即规则配置各业务数据对应的指标,生成配置文件,该配置文件为drl格式的文件,可被drools规则引擎解析,所述配置文件包括各业务数据对应的指标阈值,该指标阈值是根据各业务数据的字段属性以及对应的指标在规则配置时生成对应的指标阈值。

计算步骤:将各业务数据对应的指标和指标配置信息输入计算引擎运算,得到运算后的各业务数据对应的指标值。

本实施例中,计算引擎采用spark引擎,是一种快速、通用处理大规模数据spark引擎。根据各业务数据对应的指标和指标配置信息进行spark引擎计算,包括利用spark引擎中的sql工具进行计算和/或利用spark引擎对各业务系统的业务数据展开维度层级间的计算,得到计算后的各业务数据对应的指标值,并以json格式保存至数据库。

sql为结构化查询语言(structuredquerylanguage)的简称。是一种数据查询、程序设计和数据管理的工具,对处理大规模数据的计算,以及提供多种不同的计算方式具有通用性。

进一步地,所述计算步骤包括:

从得到的指标配置信息中查找出与各业务数据对应的指标的运算逻辑;

根据查找出的运算逻辑对各业务数据对应的指标进行sql计算,得到各业务数据对应的指标值。

其中,运算逻辑包括一般函数(如sum、count、min或max的函数)以及预先设置的自定义函数(如数学公式的函数),利用sql根据各业务数据对应的指标所配置到的运算逻辑,完成复杂、多样的业务数据计算,得到各业务数据对应的指标值。

校验步骤:利用规则引擎读取所述配置文件,解析所述配置文件得到各业务数据对应的指标阈值,校验各业务数据对应的指标值是否超过对应的指标阈值。

本实施例,规则引擎采用drools引擎,能够自动加载配置文件并解析,针对业务数据规则配置完成的配置文件,drools引擎自动读取所述配置文件,并解析出各业务数据对应的指标阈值,用以校验运算后的各业务数据对应的指标值是否超过对应的指标阈值,能够快捷、高效的对运算后的各个业务数据对应的指标值进行校验,判断各业务数据的正确性。

进一步地,所述校验步骤包括:

当判断一笔业务数据对应的指标值超过对应的指标阈值时,判断该业务数据有误,为该有误的业务数据分配预设标记并保存至预警表。

进一步地,所述校验步骤后还包括:

预警步骤:定时扫描所述预警表,当扫描到有所述预设标记业务数据时,触发预设预警系统生成对应的预警信息,并发送至对应的业务系统。

在一个实施例中,通过预设的时间定期对所述预警表进行扫描,当扫描到有所述预设标记业务数据时,触发预设预警系统生成对应的预警信息,所述预警信息包括标记的有误业务数据、有误业务数据关联的数据源以及预警时间等,并将所述预警信息发送至对应的业务系统。业务系统在接收到所述预警信息后,业务系统的操作人员根据预警信息进行分析,及时解决有误的业务数据,确保数据的正确性,提高数据质量。

参照图2所示,为图1中的数据校验程序10一较佳实施例的程序模块图。

在一个实施例中,数据校验程序10包括:获取模块101、第一配置模块102、第二配置模块103、计算模块104、校验模块105。所述模块101-105所实现的功能或操作步骤均与下述数据校验方法类似,此处不再详述,示例性地,例如其中:

获取模块101,用于连接多个数据源对应的业务系统,根据预设的时间频率从每个业务系统中获取相应的业务数据;

第一配置模块102,用于对获取的每笔业务数据进行指标配置,得到各业务数据对应的指标和指标配置信息;

第二配置模块103,用于对得到的各业务数据对应的指标进行规则配置生成配置文件,所述配置文件包括各业务数据对应的指标阈值;

计算模块104,用于将各业务数据对应的指标和指标配置信息输入计算引擎运算,得到运算后的各业务数据对应的指标值;及

校验模块105,用于利用规则引擎读取所述配置文件,解析所述配置文件得到各业务数据对应的指标阈值,校验各业务数据对应的指标值是否超过对应的指标阈值。

参照图4所示,为图1中的数据校验程序10另一较佳实施例的程序模块图,在校验模块105后,数据校验程序10还包括预警模块106,示例性地:

预警模块106,用于定时扫描所述预警表,当扫描到有所述预设标记业务数据时,触发预设预警系统生成对应的预警信息,并发送至对应的业务系统。

参照图3所示,为本发明数据校验方法一较佳实施例的流程图。本发明揭露了一种数据校验方法,应用于上述的电子装置,该方法包括:

步骤s210:连接多个数据源对应的业务系统,根据预设的时间频率从每个业务系统中获取相应的业务数据。

本实施例中,数据源包括业务系统名称、ip域名、连接端口、数据库、数据库类型,数据同步频率等。通过数据源连接到各业务系统,按预设的时间频率从每个业务系统中获取相应的业务数据,并对获取到的业务数据固化至hive仓库,不影响各业务系统继续录入其它的数据,确保获取到的原始业务数据的可靠性。所述hive为一种数据仓库工具,可以对获取到数据提取、转化、加载,还可以进行sql数据查询等。

在一实施例中,连接多个数据源(如不同系统的ip域名或连接端口)对应的业务系统,根据预设的时间频率(如每日上午8点)从每个务系统(如各省、市的业务系统)中获取相应的业务数据(保单数据)固化至hive仓库。

步骤s220:对获取的每笔业务数据进行指标配置,得到各业务数据对应的指标和指标配置信息。

具体地,根据获取的每笔业务数据的字段属性对业务数据进行指标配置,得到各业务数据对应的指标,再将得到各业务数据对应的指标进行关联,对关联后的指标配置并匹配预设的运算逻辑,最后得到指标配置信息。

进一步地,所述指标配置信息包括指标关联的数据源、指标的运算逻辑和配置时间。

指标关联的数据源包括各业务数据对应的指标之间的关联,以及各业务数据的数据源之间的关联,便于追溯数据的来源;

指标的运算逻辑包括一般函数(如sum、count、min或max的函数)以及预先设置的自定义函数(如数学公式的函数);

配置时间指各业务数据进行指标配置的时间记录。

步骤s230:对得到的各业务数据对应的指标进行规则配置生成配置文件,所述配置文件包括各业务数据对应的指标阈值。

本实施例中,为了对获取到的各业务数据能够自动校验,预先对业务数据进行规制配置,即规则配置各业务数据对应的指标,生成配置文件,该配置文件为drl格式的文件,可被drools规则引擎解析,所述配置文件包括各业务数据对应的指标阈值,该指标阈值是根据各业务数据的字段属性以及对应的指标在规则配置时生成对应的指标阈值。

步骤s240:将各业务数据对应的指标和指标配置信息输入计算引擎运算,得到运算后的各业务数据对应的指标值。

本实施例中,计算引擎采用spark引擎,是一种快速、通用处理大规模数据spark引擎。根据各业务数据对应的指标和指标配置信息进行spark引擎计算,包括利用spark引擎中的sql工具进行计算和/或利用spark引擎对各业务系统的业务数据展开维度层级间的计算,得到计算后的各业务数据对应的指标值,并以json格式保存至数据库。

sql为结构化查询语言(structuredquerylanguage)的简称。是一种数据查询、程序设计和数据管理的工具,对处理大规模数据的计算,以及提供多种不同的计算方式具有通用性。

进一步地,所述步骤s240:包括:

从得到的指标配置信息中查找出与各业务数据对应的指标的运算逻辑;

根据查找出的运算逻辑对各业务数据对应的指标进行sql计算,得到各业务数据对应的指标值。

其中,运算逻辑包括一般函数(如sum、count、min或max的函数)以及预先设置的自定义函数(如数学公式的函数),利用sql根据各业务数据对应的指标所配置到的运算逻辑,完成复杂、多样的业务数据计算,得到各业务数据对应的指标值。

步骤s250:利用规则引擎读取所述配置文件,解析所述配置文件得到各业务数据对应的指标阈值,校验各业务数据对应的指标值是否超过对应的指标阈值。

本实施例,规则引擎采用drools引擎,能够自动加载配置文件并解析,针对业务数据规则配置完成的配置文件,drools引擎自动读取所述配置文件,并解析出各业务数据对应的指标阈值,用以校验运算后的各业务数据对应的指标值是否超过对应的指标阈值,能够快捷、高效的对运算后的各个业务数据对应的指标值进行校验,判断各业务数据的正确性。

进一步地,所述步骤s250:包括:

当判断一笔业务数据对应的指标值超过对应的指标阈值时,判断该业务数据有误,为该有误的业务数据分配预设标记并保存至预警表。

参照图5所示,为本发明数据校验方法另一较佳实施例的流程图,在所述步骤s250后,该方法还包括:

步骤s260:定时扫描所述预警表,当扫描到有所述预设标记业务数据时,触发预设预警系统生成对应的预警信息,并发送至对应的业务系统。

在一个实施例中,通过预设的时间定期对所述预警表进行扫描,当扫描到有所述预设标记业务数据时,触发预设预警系统生成对应的预警信息,所述预警信息包括标记的有误业务数据、有误业务数据关联的数据源以及预警时间等,并将所述预警信息发送至对应的业务系统。业务系统在接收到所述预警信息后,业务系统的操作人员根据预警信息进行分析,及时解决有误的业务数据,确保数据的正确性,提高数据质量。

此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括数据校验程序,所述数据校验程序被处理器执行时,可实现如下操作:

获取步骤:连接多个数据源对应的业务系统,根据预设的时间频率从每个业务系统中获取相应的业务数据;

第一配置步骤:对获取的每笔业务数据进行指标配置,得到各业务数据对应的指标和指标配置信息;

第二配置步骤:对得到的各业务数据对应的指标进行规则配置生成配置文件,所述配置文件包括各业务数据对应的指标阈值;

计算步骤:将各业务数据对应的指标和指标配置信息输入计算引擎运算,得到运算后的各业务数据对应的指标值;及

校验步骤:利用规则引擎读取所述配置文件,解析所述配置文件得到各业务数据对应的指标阈值,校验各业务数据对应的指标值是否超过对应的指标阈值。

本发明计算机可读存储介质具体实施方式与上述数据校验方法和电子装置各实施例基本相同,在此不作累述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

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