一种数据处理方法、装置、设备和存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种数据处理方法、装置、设备和存储介质。
背景技术
随着人工智能、移动互联网和物联网的兴起,大数据越变越大。大数据行业的迅猛发展给企业的数据管理工作带来了挑战。
目前,数据处理主要集中在对无用数据的清理。现有技术中数据处理的方式是根据工作经验,通过人工筛选方式,确定出疑似无用数据,并由数据负责人确认后,将这些无用数据进行删除。
然而,在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有技术中的数据处理方式需要耗费大量的人力,并且处理周期较长,大大降低了数据处理效率。
发明内容
本发明实施例提供了一种数据处理方法、装置、设备和存储介质,以实现数据的自动化处理,提高数据处理效率,以及提升数据价值密度。
第一方面,本发明实施例提供了一种数据处理方法,包括:
获取数据仓库中的目标数据,所述目标数据是用于描述所述数据仓库中数据模型的元数据;
根据所述目标数据确定所述数据模型的数据价值度;
根据所述数据价值度对所述数据模型对应的模型数据进行处理。
第二方面,本发明实施例还提供了一种数据处理装置,包括:
目标数据获取模块,用于获取数据仓库中的目标数据,所述目标数据是用于描述所述数据仓库中数据模型的元数据;
数据价值度确定模块,用于根据所述目标数据确定所述数据模型的数据价值度;
数据处理模块,用于根据所述数据价值度对所述数据模型对应的模型数据进行处理。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所提供的数据处理方法步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的数据处理方法步骤。
上述发明中的实施例具有如下优点或有益效果:
通过根据用于描述数据仓库中数据模型的元数据,可以确定出数据模型的数据价值度,并根据该数据价值度可以自动化处理数据模型对应的模型数据,以便删除无用数据,避免无用数据持续进行加工和存储,浪费存储及计算资源,从而可以提升数据仓库中的数据价值密度,同时也提高了数据处理效率。
附图说明
图1是本发明实施例一提供的一种数据处理方法的流程图;
图2是本发明实施例一所涉及的一种同步任务的处理方式的示例;
图3是本发明实施例一所涉及的一种在雷达图中数据模型的数据价值度的示例;
图4是本发明实施例二提供的一种数据处理方法的流程图;
图5是本发明实施例二所涉及的一种数据处理方法的流程图;
图6是本发明实施例三提供的一种数据处理装置的结构示意图;
图7是本发明实施例四提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种数据处理方法的流程图,本实施例可适用于对数据仓库中的模型数据进行处理的情况。该方法可以由数据处理装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于具有数据处理功能的设备中,比如台式电脑、笔记本电脑等。如图1所示,该方法具体包括以下步骤:
S110、获取数据仓库中的目标数据,目标数据是用于描述数据仓库中数据模型的元数据。
其中,数据仓库可以将多个数据源的数据存到一起,但由于这些数据之前的存储方式不同,从而需要将每个数据源的数据转换为特定的格式并存储在数据仓库中。数据仓库可以对多种业务数据进行筛选和整合,可以用于数据分析、数据挖掘和数据报表等。示例性地,Hive为一款基于Hadoop的开源数据仓库,可以将结构化的数据文件映射为一张数据库表,并且可以对存储在HDFS(Hadoop Distributed File System,分布式文件系统)的文件数据进行查询和分析。在查询时可以将SQL(Structured Query Language,结构化查询语言)语句转换为MapReduce任务,并在Hadoop层进行执行。
其中,数据模型可以是指存储在数据仓库中的数据库表的模型。本实施例中的数据模型可以为一个表。数据仓库中可以包含多个数据模型。数据模型的元数据可以是指描述数据模型的数据,而不是数据模型的真实数据,即模型数据。示例性地,目标数据可以包括模型元数据、调度元数据和任务执行日志。其中,模型元数据可以是指用于描述数据模型的属性信息以及存储方式信息的数据,比如模型元数据可以包括Hive元数据(用于描述数据模型的属性信息)和HDFS元数据(用于描述数据模型的存储方式信息),其中Hive元数据可以包括但不限于数据模型英文名、数据模型中文名、数据模型类型(内部数据模型、外部数据模型)、数据模型所属集群、数据模型所属集市、数据模型所属数据库、数据模型负责人、数据模型业务信息、数据模型创建时间、数据模型更新时间、数据模型加工方式(拉链、增量、全量)、数据模型所服务的产品、数据模型字段注释信息等。HDFS元数据可以包括但不限于数据模型英文名、文件的存储大小、文件block块大小、文件block块数、文件的最后修改时间、文件最后的访问时间、文件存储路径等。
调度元数据可以是指用于描述调度任务的数据,其可以包括但不限于当前任务标识、父任务标识、父任务层级、子任务标识、子任务层级等。
任务执行日志可以是指用于描述调度过程的数据,其可以包括但不限于当前任务标识、调度执行的SQL、SQL的目标数据模型、SQL的来源数据模型、来源数据模型被扫描的次数、任务负责人、集群名称、集市名称、调度的作业类型、调度开始时间、调度结束时间、作业运行时长、作业消耗计算资源等
具体地,本实施例中用于描述数据模型的元数据往往存在各个系统的MySQL、ElasticSearch(简称ES)等关系型数据库中,从而需要预先采用数据管道将数据模型的元数据抽取到数据仓库中,并对各个元数据进行解析,以便可以获得数据仓库中的目标数据。在数据仓库存在多个数据模型时,本实施例可以获得每个数据模型对应的目标数据,以便可以逐个对每个数据模型对应的模型数据进行处理。
S120、根据目标数据确定数据模型的数据价值度。
其中,数据价值度可以是指用于反映数据模型对应的模型数据的有用程度。
具体地,本实施例可以根据描述数据模型的元数据,准确地确定出数据模型的数据价值度。示例性地,在目标数据包括模型元数据、调度元数据和任务执行日志时,S120可以包括:根据模型元数据和调度元数据,确定数据模型的连接度;根据任务执行日志确定数据模型的活跃度;根据任务执行日志和调度元数据,确定数据模型的贡献度;根据连接度、活跃度和贡献度,确定数据模型的数据价值度。
其中,连接度可以是指用于反映数据模型与任务之间的关联程度。比如,连接度可以是指数据模型服务下游的子任务数。活跃度可以是指用于反映数据模型对应的模型数据的使用频繁程度。比如,活跃度可以是指在单位时间内数据模型被扫描的次数。贡献度可以是指用于反映数据模型对产品的影响程度。比如,贡献度可以是指数据模型所服务产品的数量。
具体地,数据模型的使用场景可以是但不限于IDE(Integrated DevelopmentEnvironment,集成开发环境)平台查数、调度系统任务和服务于产品。基于数据模型的使用场景,可以根据连接度、活跃度和贡献度确定出数据模型最终的数据价值度。示例性地,数据模型的数据价值度可以由连接度、活跃度和贡献度在雷达图中所围成的面积进行表示。
S130、根据数据价值度对数据模型对应的模型数据进行处理。
其中,模型数据可以是指数据模型对应的真实数据,比如存储在HDFS底层的文件数据。
具体地,本实施例可以通过根据数据模型的数据价值度来确定该数据模型对应的模型数据是否为有用数据。示例性地,可以预先基于业务场景设置一个预设价值度,比如可以将预设价值度设置为0。通过将数据价值度与预设价值度进行比较来确定出模型数据是否为有用数据。若数据价值度小于或等于预设价值度,则表明该数据模型对应的模型数据只是存在数据仓库中,并没有任何的应用价值,此时可以确定出数据模型对应的模型数据,并将该模型数据进行自动删除,从而可以自动化处理数据,无需人工参与,大大提高了处理效率。若数据价值度大于预设价值度,则表明该数据模型对应的模型数据为有用数据,此时无需对该数据模型进行处理。本实施例可以对数据仓库中的每个数据模型均按照步骤S110-S130的步骤逐个进行处理,从而可以提升数据仓库中的数据价值密度。
示例性地,S130可以包括:若数据价值度小于或等于预设价值度,则通过调用预设元数据接口,获得数据模型对应的文件存储路径;根据文件存储路径确定数据模型对应的模型文件,并在预设时间内将模型文件中的模型数据进行删除。
其中,预设时间可以为预设设置的文件删除时间,示例性地,预设时间可以为当天或者当天的后一天。数据模型可以对应一个或多个模型文件。
具体地,在数据价值度小于或等于预设价值度时,可以跳转至僵尸数据(无用数据)处理工作台中,以数据模型的名称(英文名或中文名)为参数,调用预设元数据接口,获得元数据中存储的该数据模型对应的文件存储路径。根据获得的文件存储路径,可以获得该数据模型在HDFS底层存储的各个模型文件,并在预设时间内自动删除各个模型文件中的模型数据,提高数据仓库中的数据价值密度。
本实施例的技术方案,通过根据用于描述数据仓库中数据模型的元数据,可以确定出数据模型的数据价值度,并根据该数据价值度可以自动化处理数据模型对应的模型数据,以便删除无用数据,避免无用数据持续进行加工和存储,浪费存储及计算资源,从而可以提升数据仓库中的数据价值密度,同时也提高了数据处理效率。
在上述技术方案的基础上,根据模型元数据和调度元数据,确定数据模型的连接度,可以包括:根据模型元数据中数据模型对应的服务集市数量、调度元数据中数据模型所对应的下游层级数量和每个下游层级的子任务数量,确定数据模型的连接度。
其中,服务集市可以是指数据模型所服务的数据集市,其包含数据模型的自身加工集市。数据集市可以是通过抽取数据仓库中的数据而组成的同一主题的数据。本实施例中一个数据集市可以包含多个数据模型,不同的数据集市中可以包含同一数据模型。
具体地,连接度可以是指数据模型服务下游的子任务数。由于下游不同层级的子任务数对数据模型的价值影响不同,从而需要考虑每个下游层级的子任务数量所对应的连接度。本实施例可以从模型元数据中获得数据模型对应的服务集市数量,以及根据调用元数据中的子任务层级可以获得数据模型对应的下游层级数量以及每个下游层级的子任务数量,从而可以确定出数据模型的连接度。
需要注意的是,在确定下游层级数量和每个下游层级的子任务数量时,需要检测数据模型是否存在仓库到集市或者集市间的同步任务(即数据同步的任务),若存在,则将该同步任务删除,并将该同步任务的下游子任务的任务层级向前移动一级,以便获得准确的每个下游层级的子任务数量。示例性地,图2给出了一种同步任务的处理方式的示例。从图2可以看出:在处理同步任务之前,数据模型A在层级0处存在一个同步任务1,此时需要将该同步任务1剔除,并将子任务4从层级1移动到层级0处,以及将子任务5从层级2移动到层级1,见处理后的层级结构。在对同步任务进行处理后,数据模型A对应的下游层级数量更新为2,其中层级0的子任务数量为3,层级1的子任务数量为2。
示例性地,可以根据如下公式确定数据模型的连接度:
其中,Li是数据仓库中的数据模型i的连接度;x是数据模型i所对应的服务集市数量;是数据仓库中的各个数据模型的平均服务集市数量;n是数据模型i所对应的下游层级数量,j是数据模型i对应的第j个下游层级;cj是第j个下游层级的子任务数量。
具体地,将数据仓库中的每个数据模型对应的服务集市数量进行相加并取平均值,从而可以获得平均服务集市数量 函数的值为(0,+∞),是一个单调递增的函数。是服务深度系数。是一个单调递减的函数。
示例性地,若某个数据模型A的每个下游层级的子任务数量见如下表1所示:
表1数据模型A的每个下游层级的子任务数量
下游层级 |
0 |
1 |
2 |
3 |
该层级的子任务数 |
10 |
5 |
9 |
20 |
该数据模型A仅服务了一个集市(即自身加工集市),即服务集市数量x为1;假设数据仓库中的各个数据模型的平均服务集市数量为3,则利用上述公式可以计算出数据模型A的连接度为:
在上述技术方案的基础上,根据任务执行日志确定数据模型的活跃度,可以包括:根据任务执行日志,确定在预设天数内数据模型对应的模型扫描次数;将模型扫描次数与预设天数的比值确定为数据模型的活跃度。
其中,预设天数可以根据业务场景预设进行设置。示例性地,预设天数可以为45天。模型扫描次数可以是指脚本中的SQL读取数据模型的次数。
具体地,活跃度可以是指在单位时间内数据模型被扫描的次数。本实施例可以根据任务执行日志中的来源数据模型被扫描的次数获得预设天数中的每天数据模型被扫描次数,并将各天的扫描次数进行相加,获得预设天数内的模型扫描次数,并将模型扫描次数除以预设天数,获得模型扫描次数平均值,从而可以将该模型扫描次数平均值作为数据模型的活跃度。
在上述技术方案的基础上,根据任务执行日志和调度元数据,确定数据模型的贡献度,包括:根据调度元数据,确定从数据仓库到目标数据库的推数任务;根据任务执行日志,确定推数任务与数据模型之间的第一对应关系;根据推数任务推送的目标数据库,以及目标数据库与产品之间的第二对应关系,确定推数任务与产品之间的第三对应关系;根据第一对应关系和第三对应关系,确定数据模型与产品之间的第四对应关系;根据第四对应关系确定数据模型所服务的产品数量,并将产品数量确定为数据模型的贡献度。
其中,目标数据库可以是指任务所推送的以及产品所对应的关系型数据库,比如MySQL、ES等。推数任务可以是指从数据仓库到目标数据库的任务。推数任务可以为一个或多个。目标数据库与产品之间的第二对应关系可以通过数据库所服务的产品信息进行确定。
具体地,贡献度可以是指数据模型所服务产品的数量。数据模型服务于哪个产品可以以推数任务为关联中心,确定出数据模型与产品之间的第四对应关系。示例性地,本实施例可以通过调度元数据,将调度类型字段为“plumber”的任务作为推数任务。根据任务执行日志可以确定推数任务在上游的所有数据模型,从而获得推数任务与数据模型之间的第一对应关系。根据推数任务推送的目标数据库,以及目标数据库与产品之间的第二对应关系,从而若可以确定出推数任务与产品之间的第三对应关系,并基于推数任务与数据模型之间的第一对应关系,可以获得数据模型与产品之间的第四对应关系,从而可以获得数据模型应用在哪些数据产品上,并将数据模型所服务产品的数量作为该数据模型的贡献度。
在上述技术方案的基础上,可以根据如下公式,确定数据模型的数据价值度:
其中,Zi是数据仓库中的数据模型i的数据价值度;Hi是数据模型i的活跃度;Li是数据模型i的连接度;Gi是数据模型i的贡献度。
具体地,可以将连接度、活跃度和贡献度在雷达图中所围成的面积来表示数据模型的数据价值度。图3给出了一种在雷达图中数据模型的数据价值度的示例。图3中的数据模型A的连接度为76、活跃度为50、贡献度为90,则可以基于上述公式计算数据模型A对应的数据价值度,即图3中的三角形所围成的面积。
需要注意的是,在使用雷达图面积来表示多个数据模型的数据价值度之前,可以将每个数据模型的连接度、活跃度和贡献度分别进行标准化处理,即以便可以有效地进行比较。其中,xi为活跃度(或连接度、贡献度)的值;min为活跃度(或连接度、贡献度)的最小值,max为活跃度(或连接度、贡献度)的最大值。
实施例二
图4为本发明实施例二提供的一种数据处理方法的流程图,本实施例在上述实施例的基础上,增加了“根据目标数据,确定数据模型的目标描述信息完整度、模型规范度和数据时效度”,并在此基础上,将“根据数据价值度对数据模型对应的模型数据进行处理”变更为“根据数据价值度、目标描述信息完整度、模型规范度和数据时效度,对数据模型所对应的数据进行处理”。其中与上述实施例相同或相应的术语的解释在此不再赘述。
参见图4,本实施例提供的数据处理方法具体包括以下步骤:
S210、获取数据仓库中的目标数据,目标数据是用于描述数据仓库中数据模型的元数据。
S220、根据目标数据确定数据模型的数据价值度、目标描述信息完整度、模型规范度和数据时效度。
其中,目标描述信息完整度可以是指元数据中的目标描述信息的完整程度。模型规范度可以是指数据模型的元数据规范程度,比如可以是指数据模型的名称与数据库名称的匹配程度。数据时效度可以是指数据模型对应的模型数据的质量高低程度。
具体地,根据目标数据确定数据模型的数据价值度的具体方案可以参照上述实施例一的描述,此处不再赘述。本实施例可以根据目标数据中的模型元数据确定出数据模型的目标描述信息完整度和模型规范度;可以根据目标数据中的任务执行日志确定出数据模型的数据时效度。
S230、根据数据价值度、目标描述信息完整度、模型规范度和数据时效度,对数据模型所对应的数据进行处理。
其中,数据模型所对应的数据可以包括数据模型的元数据和模型数据。
具体地,现有的处理方式并不能解决数据描述信息缺失、数据开发不规范和数据质量低等问题。比如,在数据描述信息缺失时,会导致数据使用者无法理解数据具体含义,降低数据查询效率;在数据开发不规范时,会导致数据仓库混乱,使得数据难以管理;在数据质量低时,往往会存在数据延迟情况,严重影响营销分析需求。针对于此,本实施例可以基于四个数据处理工作台(即僵尸数据处理工作台、元数据处理工作台、不规范数据处理工作台和模型时效处理工作台),根据数据价值度、目标描述信息完整度、模型规范度和数据时效度,分别对数据模型所对应的数据进行自动化处理,提升数据价值密度、提高元数据的信息完整度、规范数据开发、保证数据质量,从而可以达到提升用户体验、降本增效的效果。
示例性地,如图5所示,本实施例可以通过如下步骤S310-S319实现S230中对数据模型所对应的数据进行处理的操作:
S310、检测数据价值度是否小于或等于预设价值度;若是,则进入步骤S320;若否,则进入步骤S330。
S320、确定数据模型对应的模型数据,并将模型数据进行删除,并进入步骤S330。
具体地,在数据价值度小于或等于预设价值度时,跳转到僵尸数据处理工作台中,通过调用预设元数据接口,获得数据模型对应的文件存储路径;根据文件存储路径确定数据模型对应的模型文件,并在预设时间内将模型文件中的模型数据进行删除。
S330、根据目标描述信息完整度确定数据模型的目标描述信息是否不完整;若是,则进入步骤S340;若否,则进入步骤S350。
具体地,可以通过将目标描述信息完整度与预设完整度进行比较,若目标描述信息完整度小于预设完整度,则可以确定数据模型的目标描述信息不完整,否则可以确定数据模型的目标描述信息完整;也可以通过检测目标描述信息完整度中是否存在预设不完整标识,若存在,则可以确定数据模型的目标描述信息不完整,否则可以确定数据模型的目标描述信息完整。
S340、确定目标缺失信息,并将目标缺失信息补充至数据模型对应的元数据中,并进入步骤S350。
目标缺失信息可以是指数据模型中缺失的目标描述信息,即缺失的元数据。
具体地,在根据目标描述信息完整度确定数据模型的目标描述信息不完整时,可以跳转至元数据处理工作台中,基于目标描述信息完整度确定目标缺失信息,并将目标缺失信息补充至数据模型对应的元数据中,以使数据模型的目标描述信息完整,使得数据使用者可以准确理解数据具体含义,提高数据查询效率。
S350、根据模型规范度确定数据模型是否不规范;若是,则进入步骤S360;若否,则进入步骤S370。
具体地,可以通过将模型规范度与预设规范度进行比较,其中预设规范为可以设置为但不限于1。若模型规范度小于预设完整度,则可以确定数据模型不规范,否则可以确定数据模型的规范。
S360、调整数据模型的模型名称或者调整数据模块所属的数据库,并进入步骤S370。
具体地,在根据模型规范度确定数据模型不规范时,可以跳转至不规范数据处理工作台中,通过手动或自动方式调整数据模型的模型名称或者调整数据模块所属的数据库,以使数据模型的名称与数据库名称匹配,提高数据规范性,便于数据管理。
S370、检测数据时效度是否小于预设时效度;若是,则进入步骤S380;若否,则进入步骤S390。
S380、确定待优化的目标任务,并通过预设调整方式对目标任务进行优化。
其中,目标任务可以是指时效未达标的任务。预设调整方式可以根据业务场景预先设置的调整方式。预设调整方式可以是但不限于调整参数、错峰运行和/或优化资源分配等。
具体地,在数据时效度小于预设时效度时,表明数据模型所对应的数据质量低,此时可以跳转到模型时效处理工作台中,确定出时效未达标的目标任务,并通过预设调整方式对目标任务进行优化,以便提高数据质量,避免存在数据延迟的情况。
S390、结束。
具体地,当数据模型的数据价值度、目标描述信息完整度、模型规范度和数据时效度,确定该数据模型的数据价值度大于预设价值度、数据模型的目标描述信息完整、数据模型规范以及数据时效度大于或等于预设时效度时,表明对数据模型所对应的数据处理完成,此时可以结束处理操作,从而可以有效合理地管理数据仓库中的数据,并且可以到达降本增效的有益效果。
本实施例的技术方案,通过根据数据价值度、目标描述信息完整度、模型规范度和数据时效度,对数据模型所对应的数据进行自动化处理,可以有效提升数据价值密度、提高元数据的信息完整度、规范数据开发以及保证数据质量,从而可以达到提升用户体验、降本增效的效果。
在上述技术方案的基础上,根据模型元数据确定数据模型的目标描述信息完整度和模型规范度,可以包括:根据模型元数据和预设目标描述参数,确定数据模型的目标描述信息完整度;根据数据模型所属的数据库名称和模型名称,确定数据模型的模型规范度。
其中,预设目标描述参数可以根据模型元数据中用户在检索数据时的检索频率高的参数进行确定。预设目标描述参数可以为一个或多个。示例性地,预设目标描述参数可以为:数据模型中文名称、数据模型负责人、数据模型加工方式、数据模型业务信息、数据模型类型和数据模型更新时间。
具体地,可以通过检测模型元数据中是否存在预设目标描述参数所对应的数据,来确定数据模型的目标描述信息完整度,以提高数据检索效率,提升用户体验。可以通过检测数据模型所属的数据库名称与模型名称的前缀是否匹配,确定出数据模型的模型规范度。示例性性地,若数据模型的模型名称的前缀与数据库名称匹配,则可以确定数据模型的模型规范度为1,否则确定数据模型的模型规范度为0。比如,若数据模型的模型名称为:gdm_m03_sold_item_sku_da,且该数据模型所对应的数据库名称为gdm,则可以确定数据模型的模型规范度为1;若数据模型gdm_m03_zs_itm_catg_vld_attr_val所对应的数据库为app,则可以确定数据模型的模型规范度为0。
示例性地,根据模型元数据和预设目标描述参数,确定数据模型的目标描述信息完整度,可以包括:检测模型元数据中是否存在预设目标描述参数所对应的数据;对检测结果进行二进制编码,并将编码后的字符信息作为数据模型的目标描述信息完整度。
具体地,本实施例可以按照预设目标描述参数的固定排序,检测模型元数据中是否存在每个预设目标描述参数所对应的数据。当检测到模型元数据中存在预设目标描述参数所对应的数据时,表明该预设目标描述参数并不缺失,此时可以将该信息编码为1;当检测到模型元数据中不存在预设目标描述参数所对应的数据时,表明缺失该预设目标描述参数,此时可以将该信息编码为0,从而可以基于编码后的字符信息可以确定出数据模型中缺失的目标描述信息。示例性地,在预设目标描述参数为:数据模型中文名称、数据模型负责人、数据模型加工方式、数据模型业务信息、数据模型类型和数据模型更新时间时,若某个数据模型对应的模型元数据中均存在数据模型中文名称、数据模型业务信息、数据模型类型和数据模型更新时间,则可以确定该数据模型对应的目标描述信息完整度为:10011,并且可以根据该字符信息中“0”位置对应的参数,可以确定出该数据模型缺失的目标描述信息,以便进一步提高数据的处理效率。
示例性地,根据模型元数据和预设目标描述参数,确定数据模型的目标描述信息完整度,还可以包括:根据模型元数据中的数据模型字段注释信息,确定数据模型对应的带有注释的注释字段数量和字段总数量;将注释字段数量与字段总数量之间的比值作为数据模型的注释完整度。
其中,数据模型字段注释信息可以包括数据模型中的每个字段以及字段对应的注释信息。
具体地,在数据模型的目标描述信息完整时,数据模型中的每个字段均对应相应的注释信息,从而可以根据数据模型字段注释信息来确定注释完整度。可以将注释字段数量除以字段总数量获得的比值作为数据模型的注释完整度。示例性地,若某个数据模型存在10个字段,其中只有8个字段带有注释,则该数据模型对应的注释完整度为0.8。在通过根据注释完整度对数据模型所对应的数据进行处理时,可以在注释完整度小于预设完整度时,将无注释的字段所对应的注释信息补充至数据模型对应的元数据中,以使得字段注释完整。
在上述技术方案的基础上,调度元数据包括数据模型对应的任务完成时间时,根据调度元数据确定数据模型的数据时效度,可以包括:当数据模型对应多个调度任务时,根据每个调度任务在预设时间段内每次调度时的任务完成时间和预设时间阈值,确定每个调度任务对应的服务等级协议SLA达标率;根据每个调度任务对应的SLA达标率和调度任务的数量,确定数据模型的数据时效度。
其中,调度任务可以是指调度数据模型时所执行的任务。预设时间阈值可以根据服务等级协议SLA(Service-Level Agreement)预先确定的任务完成时间的最大值。
具体地,对于每个调度任务而言,检测调度任务在预设时间段内每次调度时的任务完成时间是否小于或等于预设时间阈值,若是,则表明该调度任务时效达标,从而可以根据在预设时间段内调用任务的时效达标次数与总调度次数的比值作为该调度任务对应的SLA达标率。将每个调度任务对应的SLA达标率进行相加并取平均,可以获得数据模型的平均SLA达标率,并将该平均SLA达标率确定为数据模型的数据时效度,以便评估数据质量。
以下是本发明实施例提供的数据处理装置的实施例,该装置与上述各实施例的数据处理方法属于同一个发明构思,在数据处理装置的实施例中未详尽描述的细节内容,可以参考上述数据处理方法的实施例。
实施例三
图6为本发明实施例三提供的一种数据处理装置的结构示意图,本实施例可适用于对数据仓库中的模型数据进行处理的情况。该装置具体包括:目标数据获取模块610、数据价值度确定模块620和数据处理模块630。
其中,目标数据获取模块610,用于获取数据仓库中的目标数据,目标数据是用于描述数据仓库中数据模型的元数据;数据价值度确定模块620,用于根据目标数据确定数据模型的数据价值度;数据处理模块630,用于根据数据价值度对数据模型对应的模型数据进行处理。
可选地,目标数据包括模型元数据、调度元数据和任务执行日志;相应地,数据价值度确定模块620,包括:
连接度确定单元,用于根据模型元数据和调度元数据,确定数据模型的连接度;
活跃度确定单元,用于根据任务执行日志确定数据模型的活跃度;
贡献度确定单元,用于根据任务执行日志和调度元数据,确定数据模型的贡献度;
数据价值度确定单元,用于根据连接度、活跃度和贡献度,确定数据模型的数据价值度。
可选地,连接度确定单元,具体用于:根据模型元数据中数据模型对应的服务集市数量、调度元数据中数据模型所对应的下游层级数量和每个下游层级的子任务数量,确定数据模型的连接度。
可选地,根据如下公式确定数据模型的连接度:
其中,Li是数据仓库中的数据模型i的连接度;x是数据模型i所对应的服务集市数量;是数据仓库中的各个数据模型的平均服务集市数量;n是数据模型i所对应的下游层级数量,j是数据模型i对应的第j个下游层级;cj是第j个下游层级的子任务数量。
可选地,活跃度确定单元,具体用于:根据任务执行日志,确定在预设天数内数据模型对应的模型扫描次数;将模型扫描次数与预设天数的比值确定为数据模型的活跃度。
可选地,贡献度确定单元,具体用于:根据调度元数据,确定从数据仓库到目标数据库的推数任务;根据任务执行日志,确定推数任务与数据模型之间的第一对应关系;根据推数任务推送的目标数据库,以及目标数据库与产品之间的第二对应关系,确定推数任务与产品之间的第三对应关系;根据第一对应关系和第三对应关系,确定数据模型与产品之间的第四对应关系;根据第四对应关系确定数据模型所服务的产品数量,并将产品数量确定为数据模型的贡献度。
可选地,确定数据模型的数据价值度:
其中,Zi是数据仓库中的数据模型i的数据价值度;Hi是数据模型i的活跃度;Li是数据模型i的连接度;Gi是数据模型i的贡献度。
可选地,数据处理模块630,具体用于:若数据价值度小于或等于预设价值度,则通过调用预设元数据接口,获得数据模型对应的文件存储路径;根据文件存储路径确定数据模型对应的模型文件,并在预设时间内将模型文件中的模型数据进行删除。
可选地,该装置还包括:
数据指标确定模块,用于根据目标数据,确定数据模型的目标描述信息完整度、模型规范度和数据时效度;
相应地,数据处理模块630,具体用于:根据数据价值度、目标描述信息完整度、模型规范度和数据时效度,对数据模型所对应的数据进行处理。
可选地,目标数据包括模型元数据和任务执行日志;相应地,数据指标确定模块,包括:
数据指标确定单元,用于根据模型元数据确定数据模型的目标描述信息完整度和模型规范度;
数据时效度确定单元,用于根据任务执行日志确定数据模型的数据时效度。
可选地,数据指标确定单元,包括:
目标描述信息完整度确定单元,用于根据模型元数据和预设目标描述参数,确定数据模型的目标描述信息完整度;
模型规范度确定单元,用于根据数据模型所属的数据库名称和模型名称,确定数据模型的模型规范度。
可选地,目标描述信息完整度确定单元,具体用于:检测模型元数据中是否存在预设目标描述参数所对应的数据;对检测结果进行二进制编码,并将编码后的字符信息作为数据模型的目标描述信息完整度。
可选地,目标描述信息完整度确定单元,还具体用于:根据模型元数据中的数据模型字段注释信息,确定数据模型对应的带有注释的注释字段数量和字段总数量;将注释字段数量与字段总数量之间的比值作为数据模型的注释完整度。
可选地,数据时效度确定单元,具体用于:当数据模型对应多个调度任务时,根据每个调度任务在预设时间段内每次调度时的任务完成时间和预设时间阈值,确定每个调度任务对应的服务等级协议SLA达标率;根据每个调度任务对应的SLA达标率和调度任务的数量,确定数据模型的数据时效度。
可选地,数据处理模块630,具体用于:若数据价值度小于或等于预设价值度,则确定数据模型对应的模型数据,并将模型数据进行删除;若数据价值度大于预设价值度,则当根据目标描述信息完整度确定数据模型的目标描述信息不完整时,确定目标缺失信息,并将目标缺失信息补充至数据模型对应的元数据中;当根据目标描述信息完整度确定数据模型的目标描述信息完整时,若根据模型规范度确定数据模型不规范,则调整数据模型的模型名称或者调整数据模块所属的数据库;若根据模型规范度确定数据模型规范,则在数据时效度小于预设时效度时,确定待优化的目标任务,并通过预设调整方式对目标任务进行优化。
本发明实施例所提供的数据处理装置可执行本发明任意实施例所提供的数据处理方法,具备执行数据处理方法相应的功能模块和有益效果。
实施例四
图7为本发明实施例四提供的一种设备的结构示意图。图7示出了适于用来实现本发明实施方式的示例性设备12的框图。图7显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发实施例所提供的数据处理方法步骤,该方法包括:
获取数据仓库中的目标数据,目标数据是用于描述数据仓库中数据模型的元数据;
根据目标数据确定数据模型的数据价值度;
根据数据价值度对数据模型对应的模型数据进行处理。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的数据处理方法的技术方案。
实施例五
本实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的数据处理方法步骤,该方法包括:
获取数据仓库中的目标数据,目标数据是用于描述数据仓库中数据模型的元数据;
根据目标数据确定数据模型的数据价值度;
根据数据价值度对数据模型对应的模型数据进行处理。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。