1.一种基于数据血缘的数据成本计算方法,其特征在于,所述数据成本计算方法包括:获取数据加工过程中使用的SQL语句或者数据加工过程中使用的脚本,并通过SQL语句或加工脚本中所包含的SQL语句生成数据血缘关系,所述数据血缘关系形成有向无环图;
获取数据平台任务执行的统计信息和频率信息,并对应到有向无环图中;
计算有向无环图中目标数据相关的节点的成本和边的成本;
获取所述边和节点的成本,并进行累加以得到目标数据总成本。
2.如权利要求1所述的数据成本计算方法,其特征在于,所述统计信息包括每次任务的资源使用量,所述资源使用量包括存储用量、CPU用量和内存用量;所述频率信息包括任务的历史执行次数和执行的起止时间。
3.如权利要求2所述的数据成本计算方法,其特征在于,根据数据平台的不同,引入数据平台资源使用量的单价参数;在数据成本的计算过程中,所述节点的成本为存储成本,所述边的成本为CPU和内存的成本。
4.如权利要求1所述的数据成本计算方法,其特征在于,所述计算有向无环图中目标数据相关的节点的成本包括:∑idistinct{Si}+Sk,其中,Si表示相关节点所占用的存储资源成本,Sk表示目标数据的存储成本;
所述计算有向无环图中目标数据相关的边的成本: 其中,NLp表示与目标数据相关边的数量,Xpq表示每条加工指令每次所消耗的资源的成本,count(Lx)表示每个加工指令对应有向无环图中边的数量。
5.如权利要求4所述的数据成本计算方法,其特征在于,所述获取所述边和节点的成本,并进行累加以得到目标数据总成本,包括:其中,Ck表示目标数据总成本。
6.如权利要求1所述的数据成本计算方法,其特征在于,所述加工脚本中所包含的SQL语句生成数据血缘关系,所述数据血缘关系形成有向无环图包括:从含有SQL代码的脚本文件中提取得到规则化的SQL语句,完成对SQL语句的清洗;
对规则化的SQL语句进行词法分析,生成数据血缘关系,并根据数据血缘关系生成有向无环图。
7.如权利要求1所述的数据成本计算方法,其特征在于,所述得到目标数据总成本之后,将所述目标数据总成本上传至区块链中,以使得所述区块链对所述目标数据总成本进行加密存储。
8.一种基于数据血缘的数据成本计算系统,其特征在于,所述数据成本计算系统包括:数据集模块,用于获取数据加工过程中使用的SQL语句或者数据加工过程中使用的脚本,并通过SQL语句或加工脚本中所包含的SQL语句生成数据血缘关系,所述数据血缘关系形成有向无环图;
信息模块,用于获取数据平台任务执行的统计信息和频率信息,并对应到有向无环图中;
第一计算模块,用于计算有向无环图中目标数据相关的节点的成本和边的成本;
第二计算模块,用于获取所述边和节点的成本,并进行累加以得到目标数据总成本。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述数据成本计算方法的步骤。
10.一种存储介质,其特征在于,存储有能够实现如权利要求1-7中任一项所述数据成本计算方法的程序文件。