一种数据表分析处理的方法和装置与流程

文档序号:11654291阅读:213来源:国知局
一种数据表分析处理的方法和装置与流程

本申请涉及大数据处理技术领域,特别是涉及一种数据表分析处理的方法和一种数据表分析处理的装置。



背景技术:

大数据时代的来临,凸显了海量数据存储、计算、加工的需求,数据间的关联与服务显得尤为重要。这些海量的数据一般以结构化或者半结构化的形式保存在云计算集群中,比如:hadoop,odps等。海量数据之间的关系通过存储在云计算集群中的一张张数据表来组织和体现,并且在不同公司,以及同一家公司内部的不同业务部门之间形成互访、流转和交换,从而真正发挥大数据时代数据应有的价值。

在云计算环境下成千上万的数据表中,对于一些常用的数据,通用的数据,会进行统一加工和归纳,形成一些通用性强,复用性高,高度规范统一的数据表,组成数据公共层。一般而言,数据公共层的数据表是各个业务部门需要经常使用的数据。

众所周知,大数据时代数据的存储、计算、管理、维护都需要消耗较高的软硬件成本和人力成本,那么数据加工所带来的成本耗费如何计量,以及数据使用中所需要的成本消耗如何评估已成为数据在互访、流转、交换的过程中面临的重要且核心的问题。

已有技术中,对于数据表的加工成本仅仅通过数据加工过程中所消耗的计算性硬件资源(比如cpu的消耗、内存消耗)及存储性资源(存储介质的消耗)来计量,即只是孤立的分析当前一张数据表在加工过程中产生的存储消耗和计算消耗。对于数据表的使用成本也只是将被使用表的数据加工成本平均分摊给这张数据表的各个使用者,显然也不够公平及合理。这将必然导致已有技术中无论数据加工成本的计量还是数据使用成本计量都不够准确的问题,从而严重影响云计算环境中数据有效性的判断,导致数据成本过高,以及,过多不必要的资源耗费。



技术实现要素:

鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据表分析处理的方法和相应的一种数据表分析处理的装置。

为了解决上述问题,本申请公开了一种数据表分析处理的方法,所述数据表包括数据公共层的通用数据表,以及,非数据公共层的外部数据表,所述的方法包括:

针对所述数据公共层的通用数据表计算加工成本数据;

确定所述非数据公共层的外部数据表所依赖的通用数据表;

依据所述通用数据表的加工成本数据,计算所述外部数据表的使用成本数据。

可选地,所述针对所述数据公共层的通用数据表计算加工成本数据的步骤包括:

提取所述数据公共层的通用数据表的加工成本特征参数;

采用所述加工成本特征参数计算所述通用数据表的加工成本数据。

可选地,所述加工成本特征参数包括第一扫描成本参数,所述提取所述数据公共层的通用数据表的加工成本特征参数的子步骤进一步包括:

统计所述通用数据表所依赖的父表的数量;

获取所述通用数据表对所述父表的扫描量;

统计所述父表下所有子表的数量;

所述采用所述加工成本特征参数计算所述通用数据表的加工成本数据的子步骤进一步包括:

采用所述通用数据表所依赖的父表数量,所述通用数据表对所述父表的扫描量,以及,所述父表下所有子表的数量,计算出第一扫描成本参数。

可选地,所述加工成本特征参数还包括第一计算成本参数,以及,第一存储成本参数,所述提取所述数据公共层的通用数据表的加工成本 特征参数的子步骤进一步包括:

提取所述通用数据表的复杂度cu作为第一计算成本参数;

提取所述通用数据表的存储量作为第一存储成本参数。

可选地,通过如下公式采用所述通用数据表所依赖的父表数量,以及,所述通用数据表对所述父表的扫描量,以及,所述父表下所有子表的数量,计算出第一扫描成本参数:

其中,cost(j)为数据表j的加工成本数据,

数据表j为数据表i所依赖的m张父表,编号为1…m,

scansize(i,j)为通用数据表i对父表j的扫描量,

数据表m为父表j的所有子表,编号为1…n。

可选地,通过如下公式采用所述加工成本特征参数计算所述通用数据表的加工成本数据:

其中,computecost(i)为通用数据表i的第一计算成本参数;

storagecost(i)为通用数据表i的第一存储成本参数;

scancost(i,j)为通用数据表i对父表j的第一扫描成本参数。

可选地,所述依据所述通用数据表的加工成本数据,计算所述外部数据表的使用成本数据的步骤为,

依据所述通用数据表的加工成本特征参数,计算所述外部数据表的使用成本数据。

可选地,所述依据所述通用数据表的加工成本特征参数,计算所述外部数据表的使用成本数据步骤包括:

提取所述非数据公共层的外部数据表所依赖的通用数据表的加工成本特征参数;

采用所述加工成本特征参数计算所述外部数据表的使用成本特征参 数;

采用所述使用成本特征参数计算所述外部数据表的使用成本数据。

可选地,所述使用成本特征参数包括第二计算成本参数;

所述提取所述非数据公共层的外部数据表所依赖的通用数据表的加工成本特征参数的子步骤为:

提取所述外部数据表所依赖的通用数据表的第一计算成本参数;

所述采用所述加工成本特征参数计算所述外部数据表的使用成本特征参数的步骤包括:

获取所述外部数据表与其所依赖的通用数据表之间的计算成本计算因子;

采用所述计算成本计算因子校正所述第一计算成本参数,获得第二计算成本参数。

可选地,所述使用成本特征参数包括第二存储成本参数;

所述提取所述非数据公共层的外部数据表所依赖的通用数据表的加工成本特征参数的子步骤为:

提取所述外部数据表所依赖的通用数据表的第一存储成本参数;

所述采用所述加工成本特征参数计算所述外部数据表的使用成本特征参数的步骤还包括:

获取所述外部数据表与其所依赖的通用数据表之间的存储成本计算因子;

采用所述存储成本计算因子校正所述第一存储成本参数,获得第二存储成本参数。

可选地,所述使用成本特征参数包括第二扫描成本参数;

所述提取所述非数据公共层的外部数据表所依赖的通用数据表的加工成本特征参数的子步骤为:

提取所述外部数据表所依赖的通用数据表的第一扫描成本参数;

所述采用所述加工成本特征参数计算所述外部数据表的使用成本特征参数的步骤还包括:

获取所述外部数据表与其所依赖的通用数据表之间的扫描成本计算因子;

采用所述存储成本计算因子校正所述第一扫描成本参数,获得第二扫描成本参数。

可选地,获取所述外部数据表与其所依赖的通用数据表之间的计算成本计算因子的子步骤进一步包括:

获取最近m天中每一天对所述通用数据表进行过扫描的数据表的数目,以及,所述通用数据表最近m天的平均子表数;

采用如下公式依据所述最近m天中每一天对所述通用数据表进行过扫描的数据表的数目,以及,所述通用数据表最近m天的平均子表数,计算出成本计算因子:

其中,m为最近m天中的每一天;

scanm(j)为第m天对通用数据表j进行过扫描的数据表数目;

分母为通用数据表j最近90天的平均子表数的示例。

可选地,获取所述外部数据表与其所依赖的通用数据表之间的存储成本计算因子的子步骤进一步包括:

获取所述外部数据表对其所依赖的通用数据表的扫描量,以及,与所述通用数据表存在依赖关系的k张表;

采用如下公式依据所述外部数据表对其所依赖的通用数据表的扫描量,以及,与所述通用数据表存在依赖关系的k张表,计算出存储成本计算因子:

其中,scansize(i,j)为外部数据表i对通用数据表j的扫描量;

m为与通用数据表j存在依赖关系的k张表,为编号1…k。

可选地,获取所述外部数据表与其所依赖的通用数据表之间的扫描 成本计算因子的子步骤进一步包括:

获取所述通用数据表中热度字段所占的比例,以及,所述通用数据表在当前数据公共层中的依赖层级,所述热度字段为在某一时间段内被使用的次数大于所述通用数据表的直接下游数据表数量的字段;

采用如下公式依据所述通用数据表中热度字段所占的比例,以及,所述通用数据表在当前数据公共层中的层级,计算出扫描成本计算因子:

其中,hot_ratio(j)为通用数据表j的热度字段的数量占表中总字段数量的比例;

level(j)为通用数据表j在数据公共层中的依赖层级。

可选地,通过如下公式采用所述使用成本特征参数计算所述外部数据表的使用成本数据:

cost(i,j)=compcost(j)*compfac(i,j)+storcost(j)*storfac(j)+scancost(j)*scanfac(i,j)

其中,i为外部数据表,j为通用数据表,数据表i与数据表j之间存在依赖关系;

cost(i,j)为外部数据表i使用通用数据表j的使用成本数据;

compcost(j)为通用数据表j的加工成本数据中的第一计算成本参数;

compfac(i,j)为外部数据表i与通用数据表j之间的计算成本计算因子;

storcost(j)为通用数据表j的加工成本数据中第一存储成本参数;

storfac(i,j)为外部数据表i与通用数据表j之间的存储成本计算因子;

scancost(j)为通用数据表j加工成本数据中的第一扫描成本参数;

scanfac(i,j)为外部数据表i与通用数据表j之间的扫描成本计算因子。

可选地,所述的方法还包括:

当所述加工成本数据满足第一预设条件时,提取对应的通用数据表。

可选地,所述当所述加工成本数据满足第一预设条件时,提取对应的通用数据表的步骤包括:

若某张通用数据表的第一存储成本参数与第一计算成本参数的比值 高于第一预设阈值,则提取出所述通用数据表;

和/或,

若某张通用数据表的第一计算成本参数高于第二预设阈值,则提取出所述通用数据表;

和/或,

若某张通用数据表的第一扫描成本参数与第一计算成本参数的比值高于第三预设阈值,则提取出所述通用数据表;

和/或,

统计与某张通用数据表的存在直接依赖关系的外部数据表的第二计算成本参数之和;

若所述通用数据表的第一计算成本参数大于所述第二计算成本参数之和,则提取出所述通用数据表;

和/或,

统计与某张通用数据表的存在直接依赖关系的外部数据表的第二存储成本参数之和;

若所述通用数据表的第一存储成本参数大于所述第二存储成本参数之和,则提取出所述通用数据表;

和/或,

统计与某张通用数据表的存在直接依赖关系的外部数据表的第二扫描成本参数之和;

若所述通用数据表的第一扫描成本参数大于所述第二扫描成本参数之和,则提取出所述通用数据表。

可选地,所述的方法还包括:

当所述使用成本数据满足第二预设条件时,提取对应的外部数据表。

可选地,所述当所述加工成本数据满足第二预设条件时,提取对应的外部数据表的步骤包括:

若某张外部数据表的第二存储成本参数与第二计算成本参数的比值高于第四预设阈值,则提取出所述外部数据表;

和/或,

若某张外部数据表能够从其他通用数据表获得与当前通用数据表相同的数据,且在通过其他通用数据表获取数据时的第二扫描成本参数小于从当前通用数据表获取数据时的第二扫描成本参数,则提取出所述外部数据表。

为了解决上述问题,本申请还公开了一种数据表分析处理的装置,其特征在于,所述数据表包括数据公共层的通用数据表,以及,非数据公共层的外部数据表,所述的装置包括:

加工成本计算模块,用于针对所述数据公共层的通用数据表计算加工成本数据;

确定模块,用于确定所述非数据公共层的外部数据表所依赖的通用数据表;

使用成本计算模块,用于依据所述通用数据表的加工成本数据,计算所述外部数据表的使用成本数据。

可选地,所述加工成本计算模块包括:

加工成本特征参数提取子模块,用于提取所述数据公共层的通用数据表的加工成本特征参数;

加工成本计算子模块,用于采用所述加工成本特征参数计算所述通用数据表的加工成本数据。

可选地,所述加工成本特征参数包括第一扫描成本参数,所述加工成本特征参数提取子模块进一步包括:

父表数量统计单元,用于统计所述通用数据表所依赖的父表的数量;

扫描量获取单元,用于获取所述通用数据表对所述父表的扫描量;

子表数量统计单元,用于统计所述父表下所有子表的数量;

所述加工成本计算子模块进一步包括:

第一扫描成本计算单元,用于采用所述通用数据表所依赖的父表数量,所述通用数据表对所述父表的扫描量,以及,所述父表下所有子表 的数量,计算出第一扫描成本参数。

可选地,所述加工成本特征参数还包括第一计算成本参数,以及,第一存储成本参数,所述加工成本特征参数提取子模块进一步包括:

第一计算成本参数提取单元,用于提取所述通用数据表的复杂度cu作为第一计算成本参数;

第一存储成本参数提取单元,用于提取所述通用数据表的存储量作为第一存储成本参数。

可选地,通过如下公式采用所述通用数据表所依赖的父表数量,以及,所述通用数据表对所述父表的扫描量,以及,所述父表下所有子表的数量,计算出第一扫描成本参数:

其中,cost(j)为数据表j的加工成本数据,

数据表j为数据表i所依赖的m张父表,编号为1…m,

scansize(i,j)为通用数据表i对父表j的扫描量,

数据表m为父表j的所有子表,编号为1…n。

可选地,通过如下公式采用所述加工成本特征参数计算所述通用数据表的加工成本数据:

其中,computecost(i)为通用数据表i的第一计算成本参数;

storagecost(i)为通用数据表i的第一存储成本参数;

scancost(i,j)为通用数据表i对父表j的第一扫描成本参数。

可选地,所述使用成本计算模块包括:

使用成本计算子模块,用于依据所述通用数据表的加工成本特征参数,计算所述外部数据表的使用成本数据。

可选地,所述使用成本计算子模块包括:

加工成本特征参数提取单元,用于提取所述非数据公共层的外部数 据表所依赖的通用数据表的加工成本特征参数;

使用成本特征参数计算单元,用于采用所述加工成本特征参数计算所述外部数据表的使用成本特征参数;

使用成本数据计算单元,用于采用所述使用成本特征参数计算所述外部数据表的使用成本数据。

可选地,所述使用成本特征参数包括第二计算成本参数;

所述加工成本特征参数提取单元包括:

第一计算成本参数提前子单元,用于提取所述外部数据表所依赖的通用数据表的第一计算成本参数;

所述使用成本特征参数计算单元包括:

计算成本计算因子获取子单元,用于获取所述外部数据表与其所依赖的通用数据表之间的计算成本计算因子;

第二计算成本参数计算子单元,用于采用所述计算成本计算因子校正所述第一计算成本参数,获得第二计算成本参数。

可选地,所述使用成本特征参数包括第二存储成本参数;

所述加工成本特征参数提取单元包括:

第一存储成本参数提取子单元,用于提取所述外部数据表所依赖的通用数据表的第一存储成本参数;

所述使用成本特征参数计算单元还包括:

存储成本计算因子获取子单元,用于获取所述外部数据表与其所依赖的通用数据表之间的存储成本计算因子;

第二存储成本参数计算子单元,用于采用所述存储成本计算因子校正所述第一存储成本参数,获得第二存储成本参数。

可选地,所述使用成本特征参数包括第二扫描成本参数;

所述加工成本特征参数提取单元包括:

第一扫描成本参数提取子单元,用于提取所述外部数据表所依赖的通用数据表的第一扫描成本参数;

所述使用成本特征参数计算单元还包括:

扫描成本计算因子获取子单元,用于获取所述外部数据表与其所依赖的通用数据表之间的扫描成本计算因子;

第二扫描成本参数计算子单元,用于采用所述存储成本计算因子校正所述第一扫描成本参数,获得第二扫描成本参数。

可选地,所述计算成本计算因子获取子单元进一步用于:

获取最近m天中每一天对所述通用数据表进行过扫描的数据表的数目,以及,所述通用数据表最近m天的平均子表数;

采用如下公式依据所述最近m天中每一天对所述通用数据表进行过扫描的数据表的数目,以及,所述通用数据表最近m天的平均子表数,计算出成本计算因子:

其中,m为最近m天中的每一天;

scanm(j)为第m天对通用数据表j进行过扫描的数据表数目;

分母为通用数据表j最近90天的平均子表数的示例。

可选地,所述存储成本计算因子获取子单元进一步用于:

获取所述外部数据表对其所依赖的通用数据表的扫描量,以及,与所述通用数据表存在依赖关系的k张表;

采用如下公式依据所述外部数据表对其所依赖的通用数据表的扫描量,以及,与所述通用数据表存在依赖关系的k张表,计算出存储成本计算因子:

其中,scansize(i,j)为外部数据表i对通用数据表j的扫描量;

m为与通用数据表j存在依赖关系的k张表,为编号1…k。

可选地,所述扫描成本计算因子获取子单元进一步用于:

获取所述通用数据表中热度字段所占的比例,以及,所述通用数据表在当前数据公共层中的依赖层级,所述热度字段为在某一时间段内被 使用的次数大于所述通用数据表的直接下游数据表数量的字段;

采用如下公式依据所述通用数据表中热度字段所占的比例,以及,所述通用数据表在当前数据公共层中的层级,计算出扫描成本计算因子:

其中,hot_ratio(j)为通用数据表j的热度字段的数量占表中总字段数量的比例;

level(j)为通用数据表j在数据公共层中的依赖层级。

可选地,通过如下公式采用所述使用成本特征参数计算所述外部数据表的使用成本数据:

cost(i,j)=compcost(j)*compfac(i,j)+storcost(j)*storfac(j)+scancost(j)*scanfac(i,j)

其中,i为外部数据表,j为通用数据表,数据表i与数据表j之间存在依赖关系;

cost(i,j)为外部数据表i使用通用数据表j的使用成本数据;

compcost(j)为通用数据表j的加工成本数据中的第一计算成本参数;

compfac(i,j)为外部数据表i与通用数据表j之间的计算成本计算因子;

storcost(j)为通用数据表j的加工成本数据中第一存储成本参数;

storfac(i,j)为外部数据表i与通用数据表j之间的存储成本计算因子;

scancost(j)为通用数据表j加工成本数据中的第一扫描成本参数;

scanfac(i,j)为外部数据表i与通用数据表j之间的扫描成本计算因子。

可选地,所述的装置还包括:

第一提取模块,用于在所述加工成本数据满足第一预设条件时,提取对应的通用数据表。

可选地,所述第一提取模块包括:

第一提取子模块,用于在某张通用数据表的第一存储成本参数与第一计算成本参数的比值高于第一预设阈值时,提取出所述通用数据表;

和/或,

第二提取子模块,用于在某张通用数据表的第一计算成本参数高于 第二预设阈值时,提取出所述通用数据表;

和/或,

第三提取子模块,用于在某张通用数据表的第一扫描成本参数与第一计算成本参数的比值高于第三预设阈值时,提取出所述通用数据表;

和/或,

第四统计子模块,用于统计与某张通用数据表的存在直接依赖关系的外部数据表的第二计算成本参数之和;

第四提取子模块,用于在所述通用数据表的第一计算成本参数大于所述第二计算成本参数之和时,提取出所述通用数据表;

和/或,

第五统计子模块,用于统计与某张通用数据表的存在直接依赖关系的外部数据表的第二存储成本参数之和;

第五提取子模块,用于在所述通用数据表的第一存储成本参数大于所述第二存储成本参数之和时,提取出所述通用数据表;

和/或,

第六统计子模块,用于统计与某张通用数据表的存在直接依赖关系的外部数据表的第二扫描成本参数之和;

第六提取子模块,用于在所述通用数据表的第一扫描成本参数大于所述第二扫描成本参数之和时,提取出所述通用数据表。

可选地,所述的装置还包括:

第二提取模块,用于在所述使用成本数据满足第二预设条件时,提取对应的外部数据表。

可选地,所述第二提取模块包括:

第七提取子模块,用于在某张外部数据表的第二存储成本参数与第二计算成本参数的比值高于第四预设阈值时,提取出所述外部数据表;

和/或,

第八提取子模块,用于在某张外部数据表能够从其他通用数据表获得与当前通用数据表相同的数据,且在通过其他通用数据表获取数据时 的第二扫描成本参数小于从当前通用数据表获取数据时的第二扫描成本参数时,提取出所述外部数据表。

与背景技术相比,本申请实施例包括以下优点:

第一,在本申请实施例中,通过考虑不同数据表之间的依赖关系,引入了扫描成本参数,优化了数据表的成本评估方式,使得在对数据公共层的每一张通用数据表的成本进行评估时,不再是孤立地考虑当前数据表的自身存储、计算消耗,而会综合考虑所述数据表的若干张上游数据表以及兄弟数据表,从而能够合理、准确的评估通用数据表的加工成本,以此反映出数据公共层的数据模型建设的优劣,为数据公共层模型优化与运营提供决策支持。

第二,在本申请实施例中,对于外部数据表的使用成本计量,可以清楚的评估出其他外部数据表访问数据公共层的通用数据表所带来的存储、计算、扫描三部分的消耗,便于评估外部数据表访问数据公共层通用数据表的合理性和必要性,从而辅助业务部门对自身数据表建设的优化,避免数据重复建设造成的资源浪费,提升数据资源利用率、降低数据成本,从而达到从整体上节约成本的目的。

第三,在本申请实施例中,还通过引入计算因子,使得上游数据表的成本消耗可以按照合理的比例被下游数据表继承下来,同时,通过综合考虑存储量、扫描量、数据表的复用程度、数据表的加工层次以及数据表的热度字段比例等因素,使得对外部数据表的使用成本计算更合理、更准确。

第四,本申请请实施例通过对通用数据表的加工成本数据,以及外部数据表的使用成本数据进行分析,将其与预设阈值进行比较,从而能够具体地识别出成本消耗过高的数据表,有助于对所述数据表进行优化,以进一步达到节约成本的目的。

附图说明

图1是本申请的一种数据表分析处理的方法实施例一的步骤流程图;

图2是本申请的一种数据公共层的通用数据表模型示意图;

图3是本申请的一种通用数据表与外部数据表关系示意图;

图4是本申请的一种数据表分析处理的方法实施例二的步骤流程图;

图5是本申请的又一种通用数据表与外部数据表关系示意图;

图6是本申请的一种数据表分析处理的装置实施例的结构框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

已有技术中,对于数据表的加工成本仅仅通过数据加工过程中所消耗的计算性硬件资源(比如cpu的消耗、内存消耗)及存储性资源(存储介质的消耗)来计量。然而,一张数据表的产生,其中的数据可能来自于上游的n张数据表,也就是一张数据表的产生需要依赖上游n张数据表。而已有的成本计量模型只是孤立的分析当前一张数据表在加工过程中产生的存储消耗和计算消耗,并没有考虑到数据表之间的依赖关系,因此忽略了数据表之间的扫描消耗。

已有技术对于数据表的使用成本也只是将被使用表的数据加工成本平均分摊给这张数据表的各个使用者,而没有根据各个使用者的具体访问情况不同,采取不同分摊方式。由于不同的使用者对同一张数据表的使用情况各不相同,有的使用者访问的数据量比较大,计算也比较复杂,有的使用者只读取了少量的数据,计算很简单。如果采用均摊的方式,那么这两个使用者所承担的扫描成本是相同的,但是这显然是不公平、不合理的。

针对上述问题,本申请创造性地提出用于进行数据表分析处理的两种计量模型,分别为数据公共层的数据加工成本的计量模型,以及,外部数据对象bu访问数据公共层数据的数据使用成本计量模型。

为使本领域技术人员更好地理解本申请,以下简单对本申请实施例所涉及的两种计量模型的核心构思简要说明:

一、数据公共层数据加工成本的计量模型:包括计算成本评估、存储成本评估及扫描成本评估三个部分。计算成本评估以及存储成本评估是从所述通用数据表自身的角度,反映出这张数据表在数据加工过程中实际的软硬件消耗。而扫描成本,是因为考虑到数据加工过程中数据表的依赖关系,扫描成本的计算根据子表对父表的扫描量占父表总体被扫描量的比例来分摊父表成本,作为子表对父表的扫描成本。

二、外部数据对象bu访问数据公共层数据的数据使用成本计量模型:按照数据加工成本消耗的计量方式,可以得到被使用数据表的三部分成本,即计算成本、存储成本、扫描成本。对于这张数据表的使用成本,可以将这三部分成本按相应比例分摊后加权求和的方式来计算。三部分成本的分摊比例算法可以各不相同。

将上述两种计量模型应用到实际的数据分析处理中,至少可以解决如下技术问题:

1)获得一张数据公共层数据表存储成本、计算成本、扫描成本三方面的比例;

2)当存储成本高于某个阈值时,可以降低存储量;

3)当计算成本高于某个阈值时,可以优化这张数据表的计算逻辑,减少计算量;

4)当扫描成本高于某个阈值时,可以优化这张数据表的加工链路,减少无用的对父表的扫描数据量;

5)控制数据使用方,只从公共层读取必要的数据量,减少无用数据的扫描;

6)控制数据使用方,尽量使用层级较深的表(层级较深的表都是经过公共层深度加工的表,是精品表)。

一般而言,对于数据公共层的每一张数据表的数据加工成本要小于该表的直接下游的数据使用成本之和,这张数据表才符合数据公共层的要求,才有存在于数据公共层的价值。

参照图1,示出了本申请的一种数据表分析处理的方法实施例一的步骤流程图,其中,所述数据表可以包括数据公共层的通用数据表,以及,非数据公共层的外部数据表,所述的方法具体可以包括如下步骤:

步骤101,针对所述数据公共层的通用数据表计算加工成本数据;

在本申请实施例中,通用数据表的加工成本数据不仅可以包括在对数据表进行数据加工过程中所消耗的计算性硬件资源(比如cpu的消耗、内存消耗)及存储性资源(存储介质的消耗),还可以包括数据表之间的依赖关系,即数据表之间的扫描消耗。

一张数据表的产生,其中的数据可能来自于上游的n张数据表,因此,数据表之间的扫描消耗体现的是在对数据表进行加工的过程中,可能会使用到的对所依赖的数据表的扫描量。参照图2,示出了一种数据公共层的通用数据表模型示意图,每一个圆圈a,b,c,d,e,f分别表示数据公共层的6张通用数据表,图中两个圆圈之间的箭头表示两张通用数据表之间存在的数据互访关系,也就是扫描关系。例如,通用数据表b与通用数据表a之间的箭头表示通用数据表b需要扫描通用数据表a,箭头上的数字代表扫描量的大小,单位为tb,因此图2中通用数据表b需要扫描通用数据表a的数据为2tb。

在本申请的一种优选实施例中,所述针对所述数据公共层的通用数据表计算加工成本数据具体可以包括如下子步骤:

子步骤1011,提取所述数据公共层的通用数据表的加工成本特征参数;

子步骤1012,采用所述加工成本特征参数计算所述通用数据表的加工成本数据。

在本申请的一种实施例中,所述加工成本特征参数可以包括第一计算成本参数,以及,第一存储成本参数,所述提取所述数据公共层的通用数据表的加工成本特征参数的子步骤可以进一步包括:

提取所述通用数据表的复杂度cu作为第一计算成本参数;

提取所述通用数据表的存储量作为第一存储成本参数。

在本申请实施例中,第一计算成本参数可以是所述通用数据表在进行数据加工的过程中需要耗费的cpu资源,可以以复杂度cu计算,1cu代表1个cpu(core)运行一天所需要的成本消耗。复杂度cu可以从开放数据处理服务odps(opendataprocessingservice,简称odps)集群元数据中获取。odps是一种大规模分布式数据处理服务,可以支持对海量数据进行处理。

第一存储成本参数可以是在对所述通用数据表进行存储时所需要耗费的硬盘存储资源,可以以存储量tu计算,1tu代表1tb数据存储一天所需要的成本消耗。存储量tu也可以从odps集群元数据中获取。

在本申请实施例中,为了将以cu为单位的复杂度和以tu为单位的存储量进行统一、综合计量,可以引入新的资源消耗计量单位,即资源单元,记为ct。其中,资源单元与复杂度cu之间的换算关系为:1ct=4cu;资源单元与存储量tu之间的换算关系为:1ct=9tu。

例如,若加工一张通用数据表消耗的复杂度为1cu,消耗的存储量为2tu,则所述通用数据表在加工过程中消耗的资源为1/4+2/9=0.47ct。

在本申请的另一种实施例中,所述加工成本特征参数还可以包括第一扫描成本参数,所述提取所述数据公共层的通用数据表的加工成本特征参数的子步骤可以进一步包括:

统计所述通用数据表所依赖的父表的数量;

获取所述通用数据表对所述父表的扫描量;

统计所述父表下所有子表的数量;

所述采用所述加工成本特征参数计算所述通用数据表的加工成本数据的子步骤可以进一步包括:

采用所述通用数据表所依赖的父表数量,所述通用数据表对所述父表的扫描量,以及,所述父表下所有子表的数量,计算出第一扫描成本参数。

例如,参照图2所示,通用数据表c与通用数据表a之间的箭头代 表通用数据表c需要扫描通用数据表a,即,通用数据表a是通用数据表c的父表,箭头上的数字代表子表c对父表a的扫描量的大小为1tb,父表a下的子表数量共3个,即,通用数据表b、通用数据表c和通用数据表d。采用上述数据,从而可以计算出第一扫描成本参数。

在具体实现中,可以通过如下公式计算出第一扫描成本参数:

其中,cost(j)为数据表j的加工成本数据,

数据表j为数据表i所依赖的m张父表,编号为1…m,

scansize(i,j)为通用数据表i对父表j的扫描量,

数据表m为父表j的所有子表,编号为1…n。

在本申请的一种优选实施例中,可以采用第一计算成本参数,第一存储成本参数,以及,第一扫描成本参数计算所述通用数据表的加工成本数据。

在具体实现中,可以通过如下公式计算所述通用数据表的加工成本数据:

其中,computecost(i)为通用数据表i的第一计算成本参数;

storagecost(i)为通用数据表i的第一存储成本参数;

scancost(i,j)为通用数据表i对父表j的第一扫描成本参数。

因此,图2中各通用数据表的加工成本数据可以计算如下:

通用数据表a:2/9+1/4+0=0.472ct

通用数据表b:1/9+2/4+0.472*(2/(2+1+1))=0.845ct

通用数据表c:2/9+2/4/0.472*(1/(2+1+1))=0.840ct

通用数据表d:1/9+1/4+0.472*(1/(2+1+1))=0.479ct

通用数据表e:0.5/9+3/4+0.854*2/2+0.840*(1/(1+5))=1.800ct

通用数据表f:1/9+3/4+0.840*(5/(1+5))=1.561ct

以上示例仅为帮助对本申请实施例的理解,不应理解为是对本申请的限定。本领域技术人员可以根据数据公共层中各通用数据表之间的实际依赖关系,采用本申请实施例中描述的方法及公式,获得相应的加工成本数据。

步骤102,确定所述非数据公共层的外部数据表所依赖的通用数据表;

在本申请实施例中,对于非数据公共层的外部数据表,可以首先确定出所述外部数据表所依赖的通用数据表。参照图3,示出了一种通用数据表与外部数据表关系示意图,图3中表a,表b,表c分别表示数据公共层的通用数据表,表d则表示非数据公共层的一张外部数据表。外部数据表d可以访问通用数据表b和通用数据表c。每一通用数据表中圆圈内的4个数字分别代表所述通用数据表的第一计算成本参数,第一存储成本参数,第一扫描成本参数,以及总的数据存储量。

例如,参照图3,通用数据表a的第一计算成本参数为1ct,第一存储成本参数为2ct,第一扫描成本参数为2ct,通用数据表a的数据存储量为10tb。外部数据表d与通用数据表b箭头上的数字表示外部数据表d扫描通用数据表b的数据量为2tb。

以上示例仅为通用数据表与外部数据表关系的一种示例,不应理解为是对本申请的限定,本领域技术人员可以根据实际情况,采用本申请实施例中描述的方法,确定出外部数据表与通用数据表之间的实际依赖关系以及数据扫描情况。

步骤103,依据所述通用数据表的加工成本数据,计算所述外部数据表的使用成本数据;

在本申请实施例中,由于外部数据表存在与通用数据表之间的依赖关系,因此,可以依据所述通用数据表的加工成本数据,计算所述外部数据表的使用成本数据。具体地,可以依据所述通用数据表的加工成本特征参数,计算所述外部数据表的使用成本数据。

在本申请的一种优选实施例中,所述依据所述通用数据表的加工成 本特征参数,计算所述外部数据表的使用成本数据的步骤具体可以包括:

提取所述非数据公共层的外部数据表所依赖的通用数据表的加工成本特征参数;

采用所述加工成本特征参数计算所述外部数据表的使用成本特征参数;

采用所述使用成本特征参数计算所述外部数据表的使用成本数据。

在具体实现中,当确定出所述非数据公共层的外部数据表所依赖的通用数据表后,可以提取出所述通用数据表的加工特征参数,从而根据所述外部数据表与所述通用数据表之间的依赖关系,计算出所述外部数据表的使用成本特征参数,进而获得所述外部数据表的使用成本数据。

进一步地,所述使用成本特征参数可以包括第二计算成本参数,第二存储成本参数,以及,第二扫描成本参数。

第二计算成本参数可以是所述外部数据表在使用数据公共层的通用数据表的过程中所需要耗费的cpu资源,同样可以以复杂度cu计算;第二存储成本参数可以是对通用数据表进行存储所需要耗费的硬盘存储资源,可以以存储量tu计算;第二扫描成本参数则可以体现外部数据表与数据公共层的通用数据表之间的扫描关系。

在本申请的一种优选实施例中,所述方法还可以进一步包括步骤104和步骤105。

步骤104,当所述加工成本数据满足第一预设条件时,提取对应的通用数据表;

步骤105,当所述使用成本数据满足第二预设条件时,提取对应的外部数据表。

在具体实现中,当获得所述通用数据表的加工成本数据,以及,外部数据表的使用成本数据后,可以将所述加工成本数据和所述使用成本数据分别与第一预设条件和第二预设条件进行比较,以确定是否满足相应的预设条件,若是,则可以提取对应的通用数据表,或,外部数据表。

例如,对于数据公共层的通用数据表,在分别获得第一计算成本参 数、第一存储成本参数和第一扫描成本参数后,可以分别判断第一计算成本参数、第一存储成本参数和第一扫描成本参数是否满足预设的条件。若第一存储成本参数过高,则可以考虑针对所述通用数据表降低存储量;若第一计算成本参数较高,则可以优化所述通用数据表的计算逻辑,减少计算复杂度;若第一扫描成本参数较高,则可以对所述通用数据表的加工链路进行优化,以减少无用的对父表的扫描数据量。

而对于非数据公共层的外部数据表,则可以根据获得的使用成本数据敦促数据使用方,只从数据公共层读取必须的数据量,减少无用数据的扫描,以及,尽量使用层级较深的通用数据表,因为层级较深的通用数据表都是经过数据公共层深度加工的表,是精品表。

在本申请实施例中,通过考虑不同数据表之间的依赖关系,引入了扫描成本参数,优化了数据表的成本评估方式,使得在对数据公共层的每一张通用数据表的成本进行评估时,不再是孤立地考虑当前数据表的自身存储、计算消耗,而会综合考虑所述数据表的若干张上游数据表以及兄弟数据表,从而能够合理、准确的评估通用数据表的加工成本,以此反映出数据公共层的数据模型建设的优劣,为数据公共层模型优化与运营提供决策支持。

其次,在本申请实施例中,对于外部数据表的使用成本计量,可以清楚的评估出其他外部数据表访问数据公共层的通用数据表所带来的存储、计算、扫描三部分的消耗,便于评估外部数据表访问数据公共层通用数据表的合理性和必要性,从而辅助业务部门对自身数据表建设的优化,避免数据重复建设造成的资源浪费,提升数据资源利用率、降低数据成本,从而达到从整体上节约成本的目的。

参照图4,示出了本申请的一种数据表分析处理的方法实施例二的步骤流程图,其中,所述数据表可以包括数据公共层的通用数据表,以及,非数据公共层的外部数据表,所述的方法具体可以包括如下步骤:

步骤201,提取所述数据公共层的通用数据表的加工成本特征参数;

在本申请实施例中,所述通用数据表的加工成本特征参数可以包括第一计算成本参数,第一存储成本参数,以及,第一扫描成本参数。

第一计算成本参数可以是所述通用数据表在进行数据加工的过程中需要耗费的cpu资源,以复杂度cu计算;第一存储成本参数可以是在对所述通用数据表进行存储时所需要耗费的硬盘存储资源,以存储量tu计算;第一扫描成本参数则体现了所述通用数据表对所关联的通用数据表的扫描量情况,可以根据所述通用数据表所依赖的父表数量,所述通用数据表对所述父表的扫描量,以及,所述父表下所有子表的数量计算得到。

在本申请实施例中,为了将以cu为单位的复杂度和以tu为单位的存储量进行统一、综合计量,可以引入新的资源消耗计量单位,即资源单元,记为ct。资源单元与复杂度cu、存储量tu之间的换算关系可以为:1ct=4cu,1ct=9tu。

步骤202,采用所述加工成本特征参数计算所述通用数据表的加工成本数据;

在具体实现中,可以通过如下公式计算所述通用数据表的加工成本数据:

其中,computecost(i)为通用数据表i的第一计算成本参数;

storagecost(i)为通用数据表i的第一存储成本参数;

scancost(i,j)为通用数据表i对父表j的第一扫描成本参数。

步骤203,确定所述非数据公共层的外部数据表所依赖的通用数据表;

例如,参照图3所示,非数据公共层的外部数据表d所依赖的通用数据表包括通用数据表b和通用数据表c。

步骤204,提取所述非数据公共层的外部数据表所依赖的通用数据表的加工成本特征参数;

在本申请的一种实施例中,所述使用成本特征参数可以包括第二计算成本参数;因此,所述提取所述非数据公共层的外部数据表所依赖的通用数据表的加工成本特征参数的子步骤可以为:提取所述外部数据表所依赖的通用数据表的第一计算成本参数。

在本申请的另一种实施例中,所述使用成本特征参数还可以包括第二存储成本参数;因此,所述提取所述非数据公共层的外部数据表所依赖的通用数据表的加工成本特征参数的子步骤还可以为:提取所述外部数据表所依赖的通用数据表的第一存储成本参数。

在本申请的又一种实施例中,所述使用成本特征参数也可以包括第二扫描成本参数;因此,所述提取所述非数据公共层的外部数据表所依赖的通用数据表的加工成本特征参数的子步骤可以为:提取所述外部数据表所依赖的通用数据表的第一扫描成本参数。

例如,参照图3所示,外部数据表所依赖的通用数据表为通用数据表b和通用数据表c,针对第二计算成本参数,可以分别提取通用数据表b和通用数据表c的第一计算成本参数,通用数据表b和通用数据表c的第一计算成本参数均为1ct;针对第二存储成本参数,可以分别提取通用数据表b和通用数据表c的第二存储成本参数,通用数据表b的第二存储成本参数为1ct,通用数据表c的第二存储成本参数为4ct;针对第二扫描成本参数,可以分别提取通用数据表b和通用数据表c的第二扫描成本参数,通用数据表b的第二扫描成本参数为3ct,通用数据表c的第二扫描成本参数为2ct。

以上示例仅为帮助对本申请实施例的理解,不应认为是对本申请的限定,本领域技术人员可以根据实际情况,采用本申请实施例中所述的方法,获得相应的结果。

步骤205,采用所述加工成本特征参数计算所述外部数据表的使用成本特征参数;

在本申请的一种实施例中,所述采用所述加工成本特征参数计算所述外部数据表的使用成本特征参数的步骤可以包括;

获取所述外部数据表与其所依赖的通用数据表之间的计算成本计算因子;

采用所述计算成本计算因子校正所述第一计算成本参数,获得第二计算成本参数。

对于同一张通用数据表而言,可能会被多张不同的外部数据表所使用,不同的使用者对同一张通用数据表的使用情况各不相同,有的使用者访问的数据量比较大,计算也比较复杂,有的使用者只读取了少量的数据,计算很简单。如果采用均摊的方式,那么这两个使用者所承担的成本是相同的,但是这显然是不公平、不合理的。因此,在本申请实施例中,引入了计算成本计算因子,通过采用所述计算成本计算因子校正所述第一计算成本参数,从而获得第二计算成本参数。计算因子具体体现了所述外部使用表在使用通用数据表的过程中,子表对父表的使用情况占父表总体被使用情况的比例。

具体地,获取所述外部数据表与其所依赖的通用数据表之间的计算成本计算因子的子步骤可以进一步包括:

获取最近m天中每一天对所述通用数据表进行过扫描的数据表的数目,以及,所述通用数据表最近m天的平均子表数;

例如,可以采用如下公式,计算出成本计算因子,从而获得第二计算成本参数:

其中,m为最近m天中的每一天;

scanm(j)为第m天对通用数据表j进行过扫描的数据表数目;

分母为通用数据表j最近90天的平均子表数的示例。

在本申请的另一种实施例中,所述采用所述加工成本特征参数计算所述外部数据表的使用成本特征参数的步骤还可以包括;

获取所述外部数据表与其所依赖的通用数据表之间的存储成本计算因子;

采用所述存储成本计算因子校正所述第一存储成本参数,获得第二存储成本参数。

与第二计算成本参数的计算类似,对于第二存储成本参数,也可以通过采用存储成本计算因子校正所述第一存储成本参数的方式,来获得第二存储成本参数。

具体地,获取所述外部数据表与其所依赖的通用数据表之间的存储成本计算因子的子步骤可以进一步包括:

获取所述外部数据表对其所依赖的通用数据表的扫描量,以及,与所述通用数据表存在依赖关系的k张表;

可以采用如下公式,计算出存储成本计算因子,从而获得第二存储成本参数:

其中,scansize(i,j)为外部数据表i对通用数据表j的扫描量;

m为与通用数据表j存在依赖关系的k张表,为编号1…k。

在本申请的又一种实施例中,所述采用所述加工成本特征参数计算所述外部数据表的使用成本特征参数的步骤还可以包括;

获取所述外部数据表与其所依赖的通用数据表之间的扫描成本计算因子;

采用所述存储成本计算因子校正所述第一扫描成本参数,获得第二扫描成本参数。

类似地,对于第二扫描成本参数的获得,也可以通过获取扫描成本计算因子,确定子表对父表的扫描量占父表总体被扫描量的比例,采用所述比例校正第一扫描成本参数,从而获得第二扫描成本参数。

具体地,获取所述外部数据表与其所依赖的通用数据表之间的扫描成本计算因子的子步骤可以进一步包括:

获取所述通用数据表中热度字段所占的比例,以及,所述通用数据表在当前数据公共层中的依赖层级;

对于任一通用数据表而言,表中的任意一个字段a,如果所述字段a在某一时间段内被下游数据表使用的次数大于所述通用数据表的直接下游表数目,那么所述字段a就是所述通用数据表的热度字段。因此,对于任一通用数据表,表中的热度字段数占表中总字段数的比例即为热度字段所占的比例。通常,对于热度字段进行统计的时间段可以按一天来计算。

通用数据表的依赖层级体现的是所述通用数据表与当前数据公共层中其他通用数据表之间的依赖关系。参照图3所示,数据公共层中共包括3张通用数据表,即通用数据表a、通用数据表b和通用数据表c。若通用数据表a的依赖层级为1,则通用数据表b和通用数据表c的依赖层级均为2。

在具体实现中,可以采用如下公式,计算出扫描成本计算因子,从而获得第二扫描成本参数:

其中,hot_ratio(j)为通用数据表j的热度字段的数量占表中总字段数量的比例;

level(j)为通用数据表j在数据公共层中的依赖层级。

步骤206,采用所述使用成本特征参数计算所述外部数据表的使用成本数据;

在本申请实施例中,当分别获得所述外部数据表的第二计算成本参数、第二存储成本参数和第二扫描成本参数后,可以将所述第二计算成本参数、第二存储成本参数和第二扫描成本参数进行累加,从而得到所述外部数据表的使用成本数据。

在具体实现中,可以通过如下公式计算所述外部数据表的使用成本数据:

cost(i,j)=compcost(j)*compfac(i,j)+storcost(j)*storfac(j)+scancost(j)*scanfac(i,j)

其中,i为外部数据表,j为通用数据表,数据表i与数据表j之间存在依赖关系;

cost(i,j)为外部数据表i使用通用数据表j的使用成本数据;

compcost(j)为通用数据表j的加工成本数据中的第一计算成本参数;

compfac(i,j)为外部数据表i与通用数据表j之间的计算成本计算因子;

storcost(j)为通用数据表j的加工成本数据中第一存储成本参数;

storfac(i,j)为外部数据表i与通用数据表j之间的存储成本计算因子;

scancost(j)为通用数据表j加工成本数据中的第一扫描成本参数;

scanfac(i,j)为外部数据表i与通用数据表j之间的扫描成本计算因子。

步骤207,当所述加工成本数据满足第一预设条件时,提取对应的通用数据表;

步骤208,当所述使用成本数据满足第二预设条件时,提取对应的外部数据表。

在具体实现中,当分别获得所述通用数据表的加工成本数据,以及,外部数据表的使用成本数据后,可以根据所述加工成本数据和所述使用成本数据,对所述通用数据表和外部数据表进行分析,以确定是否需要对所述数据表进行优化处理。

在本申请的一种优选实施例中,所述当所述加工成本数据满足第一预设条件时,提取对应的通用数据表的步骤可以包括:

若某张通用数据表的第一存储成本参数与第一计算成本参数的比值高于第一预设阈值,则提取出所述通用数据表;

和/或,

若某张通用数据表的第一计算成本参数高于第二预设阈值,则提取出所述通用数据表;

和/或,

若某张通用数据表的第一扫描成本参数与第一计算成本参数的比值高于第三预设阈值,则提取出所述通用数据表;

和/或,

统计与某张通用数据表的存在直接依赖关系的外部数据表的第二计 算成本参数之和;

若所述通用数据表的第一计算成本参数大于所述第二计算成本参数之和,则提取出所述通用数据表;

和/或,

统计与某张通用数据表的存在直接依赖关系的外部数据表的第二存储成本参数之和;

若所述通用数据表的第一存储成本参数大于所述第二存储成本参数之和,则提取出所述通用数据表;

和/或,

统计与某张通用数据表的存在直接依赖关系的外部数据表的第二扫描成本参数之和;

若所述通用数据表的第一扫描成本参数大于所述第二扫描成本参数之和,则提取出所述通用数据表。

例如,若通用数据表的第一存储成本参数与所述通用数据表的第一计算成本参数的比值大于1/4,可以认为所述通用数据表的存储成本偏高,则可以提取出所述通用数据表,考虑降低存储量。

若所述通用数据表的的第一计算成本参数超过30cu,也就是cpu运算超过了30min,则可以考虑优化所述通用数据表的计算逻辑,以减少计算量。

若所述通用数据表的第一扫描成本参数与第一计算成本参数的比值大于10,可以认为第一扫描成本参数较高,则可以考虑对所述通用数据表的加工链路进行优化,以减少无用的对父表的扫描数据量。

此外,若所述通用数据表的第一计算成本参数大于所述通用数据表的所有使用者的计算成本之和,或者,所述通用数据表的第一存储成本参数大于所述通用数据表的所有使用者的存储成本之和,或者,所述通用数据表的第一扫描成本参数大于所述通用数据表的所有使用者的扫描成本之和,则可以识别并提取出所述通用数据表,以作进一步处理。

以上示例仅为帮助对本申请实施例的理解,本领域技术人员可以根 据实际情况,确定相应的预设阈值大小,本申请对此不作限定。

在本申请的另一种优选实施例中,所述当所述加工成本数据满足第二预设条件时,提取对应的外部数据表的步骤可以包括:

若某张外部数据表的第二存储成本参数与第二计算成本参数的比值高于第四预设阈值,则提取出所述外部数据表;

和/或,

若某张外部数据表能够从其他通用数据表获得与当前通用数据表相同的数据,且在通过其他通用数据表获取数据时的第二扫描成本参数小于从当前通用数据表获取数据时的第二扫描成本参数,则提取出所述外部数据表。

例如,若所述外部数据表的第二存储成本参数与第二计算成本参数的比值大于1/4,可以认为所述外部数据表的存储成本偏高,则可以提取出所述外部数据表,考虑降低存储量。

此外,若所述外部数据表所依赖的数据可以从其他通用数据表中获得,且当所述外部数据表对该通用数据表进行扫描时,所述第二扫描成本参数小于所述外部数据表对当前通用数据表进行扫描时的第二扫描成本参数,则可以考虑对所述外部数据表的依赖关系进行优化,以减少扫描成本。

以上示例仅为帮助对本申请实施例的理解,本领域技术人员可以根据实际情况,确定相应的预设阈值大小,本申请对此不作限定。

在本申请实施例中,通过引入计算因子,使得上游数据表的成本消耗可以按照合理的比例被下游数据表继承下来,同时,通过综合考虑存储量、扫描量、数据表的复用程度、数据表的加工层次以及数据表的热度字段比例等因素,使得对外部数据表的使用成本计算更合理、更准确。

其次,本申请请实施例通过对通用数据表的加工成本数据,以及外部数据表的使用成本数据进行分析,将其与预设阈值进行比较,从而能够具体地识别出成本消耗过高的数据表,有助于进一步对所述数据表进行优化,以达到节约成本的目的。

为使本申请的上述目的、特征和优点能够更加明显易懂,下面以一个完整示例对本申请的优选实施例作一详细的说明。

若有6张数据表a、b、c、d、e和f,其相互之间的扫描关系如下表一所示:

表一:

在表一中:数据公共层包括4张通用数据表,即通用数据表a、通用数据表b、通用数据表c和通用数据表d;非公共数据层的外部数据表共2张,即外部数据表e和外部数据表f

其中,对于表一中的第一行数据,可以理解为:通用数据表b的存储量为10tb,通用数据表a的存储量为20tb,通用数据表b扫描了通用数据表a1tb的数据。通用数据表a下共有三张子表。

对于表一中的第二行数据,可以理解为:通用数据表c的存储量为6tb,通用数据表b的存储量为10tb,通用数据表c扫描了通用数据表b2tb的数据。通用数据表b下共有两张子表。

对于表一中的第四行数据,可以理解为:外部数据表e的存储量为12tb,通用数据表c的存储量为6tb,外部数据表e扫描了通用数据表c2tb的数据。通用数据表c下共有四张子表。

根据上述扫描关系,可以构建出如图5所示的本申请的又一种通用 数据表与外部数据表关系示意图。

按照如下所述的通用数据表加工成本数据计算公式

可以得到如下表二的通用数据表加工成本数据:

表二:

同时,按照如下所述的外部数据表使用成本数据计算公式

cost(i,j)=compcost(j)*compfac(i,j)+storcost(j)*storfac(j)+scancost(j)*scanfac(i,j)可以得到如下表三的外部数据表使用成本数据:

表三:

然后将上述通用数据表的加工成本数据,和外部数据表的使用成本数据与预设的条件进行比较,从而可以提取出如下表四的通用数据表和外部数据表:

表四:

以上示例仅为帮助对本申请所述方法的理解,不应认为是对本申请的限定,本领域技术人员可以根据数据表之间的实际依赖关系,按照本申请所述的方法和公式,确定出通用数据表的加工成本数据,以及外部数据表的使用成本数据,从而根据所述加工成本数据和使用成本数据,识别出需要优化数据表。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为 一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。

参照图6,示出了本申请的一种数据表分析处理的装置实施例的结构框图,其中,所述数据表可以包括数据公共层的通用数据表,以及,非数据公共层的外部数据表,所述的装置具体可以包括如下模块:

加工成本计算模块301,用于针对所述数据公共层的通用数据表计算加工成本数据;

确定模块302,用于确定所述非数据公共层的外部数据表所依赖的通用数据表;

使用成本计算模块303,用于依据所述通用数据表的加工成本数据,计算所述外部数据表的使用成本数据。

在本申请实施例中,所述加工成本计算模块301具体可以包括如下子模块:

加工成本特征参数提取子模块3011,用于提取所述数据公共层的通用数据表的加工成本特征参数;

加工成本计算子模块3012,用于采用所述加工成本特征参数计算所述通用数据表的加工成本数据。

在本申请的一种实施例中,所述加工成本特征参数可以包括第一扫描成本参数,所述加工成本特征参数提取子模块3011可以进一步包括如下单元:

父表数量统计单元111a,用于统计所述通用数据表所依赖的父表的数量;

扫描量获取单元111b,用于获取所述通用数据表对所述父表的扫描量;

子表数量统计单元111c,用于统计所述父表下所有子表的数量;

所述加工成本计算子模块3012可以进一步包括如下单元:

第一扫描成本计算单元121a,用于采用所述通用数据表所依赖的父表数量,所述通用数据表对所述父表的扫描量,以及,所述父表下所有子表的数量,计算出第一扫描成本参数。

在本申请的另一种实施例中,所述加工成本特征参数还可以包括第一计算成本参数,以及,第一存储成本参数,所述加工成本特征参数提取子模块3011还可以进一步包括如下单元:

第一计算成本参数提取单元112a,用于提取所述通用数据表的复杂度cu作为第一计算成本参数;

第一存储成本参数提取单元113a,用于提取所述通用数据表的存储量作为第一存储成本参数。

在本申请实施例中,可以通过如下公式采用所述通用数据表所依赖联的父表数量,以及,所述通用数据表对所述父表的扫描量,以及,所述父表下所有子表的数量,计算出第一扫描成本参数:

其中,cost(j)为数据表j的加工成本数据,

数据表j为数据表i所依赖的m张父表,编号为1….m,

scansize(i,j)为通用数据表i对父表j的扫描量,

数据表m为父表j的所有子表,编号为1…n。

在本申请实施例中,可以通过如下公式采用所述加工成本特征参数计算所述通用数据表的加工成本数据:

其中,computecost(i)为通用数据表i的第一计算成本参数;

storagecost(i)为通用数据表i的第一存储成本参数;

scancost(i,j)为通用数据表i对父表j的第一扫描成本参数。

在本申请实施例中,所述使用成本计算模块303具体可以包括如下子模块:

使用成本计算子模块3031,用于依据所述通用数据表的加工成本特征参数,计算所述外部数据表的使用成本数据。

在本申请实施例中,所述使用成本计算子模块3031具体可以包括如下单元:

加工成本特征参数提取单元311,用于提取所述非数据公共层的外部数据表所依赖的通用数据表的加工成本特征参数;

使用成本特征参数计算单元312,用于采用所述加工成本特征参数计算所述外部数据表的使用成本特征参数;

使用成本数据计算单元313,用于采用所述使用成本特征参数计算所述外部数据表的使用成本数据。

在本申请实施例中,所述使用成本特征参数包括第二计算成本参数;

所述加工成本特征参数提取单元311具体可以包括如下子单元:

第一计算成本参数提前子单元311a,用于提取所述外部数据表所依赖的通用数据表的第一计算成本参数;

所述使用成本特征参数计算单元312具体可以包括如下子单元:

计算成本计算因子获取子单元312a,用于获取所述外部数据表与其所依赖的通用数据表之间的计算成本计算因子;

第二计算成本参数计算子单元312b,用于采用所述计算成本计算因子校正所述第一计算成本参数,获得第二计算成本参数。

在本申请实施例中,所述使用成本特征参数还可以包括第二存储成本参数;

所述加工成本特征参数提取单元311具体可以包括如下子单元:

第一存储成本参数提取子单元311b,用于提取所述外部数据表所依赖的通用数据表的第一存储成本参数;

所述使用成本特征参数计算单元312还可以包括如下子单元:

存储成本计算因子获取子单元312c,用于获取所述外部数据表与其 所依赖的通用数据表之间的存储成本计算因子;

第二存储成本参数计算子单元312d,用于采用所述存储成本计算因子校正所述第一存储成本参数,获得第二存储成本参数。

在本申请实施例中,所述使用成本特征参数还可以包括第二扫描成本参数;

所述加工成本特征参数提取单元311还可以包括如下子单元:

第一扫描成本参数提取子单元311c,用于提取所述外部数据表所依赖的通用数据表的第一扫描成本参数;

所述使用成本特征参数计算单元312还可以包括如下子单元:

扫描成本计算因子获取子单元312e,用于获取所述外部数据表与其所依赖的通用数据表之间的扫描成本计算因子;

第二扫描成本参数计算子单元312f,用于采用所述存储成本计算因子校正所述第一扫描成本参数,获得第二扫描成本参数。

在本申请实施例中,所述计算成本计算因子获取子单元312a还可以进一步用于:

获取最近m天中每一天对所述通用数据表进行过扫描的数据表的数目,以及,所述通用数据表最近m天的平均子表数;

采用如下公式依据所述最近m天中每一天对所述通用数据表进行过扫描的数据表的数目,以及,所述通用数据表最近m天的平均子表数,计算出成本计算因子:

其中,m为最近m天中的每一天;

scanm(j)为第m天对通用数据表j进行过扫描的数据表数目;

分母为通用数据表j最近90天的平均子表数的示例。

在本申请实施例中,所述存储成本计算因子获取子单元312c还可以进一步用于:

获取所述外部数据表对其所依赖的通用数据表的扫描量,以及,与 所述通用数据表存在依赖关系的k张表;

采用如下公式依据所述外部数据表对其所依赖的通用数据表的扫描量,以及,与所述通用数据表存在依赖关系的k张表,计算出存储成本计算因子:

其中,scansize(i,j)为外部数据表i对通用数据表j的扫描量;

m为与通用数据表j存在依赖关系的k张表,为编号1…k。

在本申请实施例中,所述扫描成本计算因子获取子单元312e还可以进一步用于:

获取所述通用数据表中热度字段所占的比例,以及,所述通用数据表在当前数据公共层中的依赖层级;

采用如下公式依据所述通用数据表中热度字段所占的比例,以及,所述通用数据表在当前数据公共层中的层级,计算出扫描成本计算因子:

其中,hot_ratio(j)为通用数据表j的热度字段的数量占表中总字段数量的比例;

level(j)为通用数据表j在数据公共层中的依赖层级。

在本申请实施例中,可以通过如下公式采用所述使用成本特征参数计算所述外部数据表的使用成本数据:

cost(i,j)=compcost(j)*compfac(i,j)+storcost(j)*storfac(j)+scancost(j)*scanfac(i,j)

其中,i为外部数据表,j为通用数据表,数据表i与数据表j之间存在依赖关系;

cost(i,j)为外部数据表i使用通用数据表j的使用成本数据;

compcost(j)为通用数据表j的加工成本数据中的第一计算成本参数;

compfac(i,j)为外部数据表i与通用数据表j之间的计算成本计算因子;

storcost(j)为通用数据表j的加工成本数据中第一存储成本参数;

storfac(i,j)为外部数据表i与通用数据表j之间的存储成本计算因子;

scancost(j)为通用数据表j加工成本数据中的第一扫描成本参数;

scanfac(i,j)为外部数据表i与通用数据表j之间的扫描成本计算因子。

在本申请实施例中,所述装置还可以包括如下模块:

第一提取模块304,用于在所述加工成本数据满足第一预设条件时,提取对应的通用数据表;

在本申请实施例中,所述第一提取模块304具体可以包括如下子模块:

第一提取子模块3041,用于在某张通用数据表的第一存储成本参数与第一计算成本参数的比值高于第一预设阈值时,提取出所述通用数据表;

和/或,

第二提取子模块3042,用于在某张通用数据表的第一计算成本参数高于第二预设阈值时,提取出所述通用数据表;

和/或,

第三提取子模块3043,用于在某张通用数据表的第一扫描成本参数与第一计算成本参数的比值高于第三预设阈值时,提取出所述通用数据表;

和/或,

第四统计子模块3044,用于统计与某张通用数据表的存在直接依赖关系的外部数据表的第二计算成本参数之和;

第四提取子模块3045,用于在所述通用数据表的第一计算成本参数大于所述第二计算成本参数之和时,提取出所述通用数据表;

和/或,

第五统计子模块3046,用于统计与某张通用数据表的存在直接依赖关系的外部数据表的第二存储成本参数之和;

第五提取子模块3047,用于在所述通用数据表的第一存储成本参数大于所述第二存储成本参数之和时,提取出所述通用数据表;

和/或,

第六统计子模块3048,用于统计与某张通用数据表的存在直接依赖关系的外部数据表的第二扫描成本参数之和;

第六提取子模块3049,用于在所述通用数据表的第一扫描成本参数大于所述第二扫描成本参数之和时,提取出所述通用数据表。

在本申请实施例中,所述装置还可以包括如下模块:

第二提取模块305,用于在所述使用成本数据满足第二预设条件时,提取对应的外部数据表。

在本申请实施例中,所述第二提取模块305具体可以包括如下子模块:

第七提取子模块3051,用于在某张外部数据表的第二存储成本参数与第二计算成本参数的比值高于第四预设阈值时,提取出所述外部数据表;

和/或,

第八提取子模块3052,用于在某张外部数据表能够从其他通用数据表获得与当前通用数据表相同的数据,且在通过其他通用数据表获取数据时的第二扫描成本参数小于从当前通用数据表获取数据时的第二扫描成本参数时,提取出所述外部数据表。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申 请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

在一个典型的配置中,所述计算机设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算 机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种数据表分析处理的方法和一种数据表分析处理的装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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