CN112256720B - 数据成本计算方法、系统、计算机设备和存储介质 - Google Patents
数据成本计算方法、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112256720B CN112256720B CN202011132525.2A CN202011132525A CN112256720B CN 112256720 B CN112256720 B CN 112256720B CN 202011132525 A CN202011132525 A CN 202011132525A CN 112256720 B CN112256720 B CN 112256720B
- Authority
- CN
- China
- Prior art keywords
- data
- cost
- directed acyclic
- acyclic graph
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Finance (AREA)
- Computational Linguistics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Fuzzy Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于数据血缘的数据成本计算方法,通过SQL语句或加工脚本中所包含的SQL语句生成数据血缘关系,所述数据血缘关系形成有向无环图;获取数据平台任务执行的统计信息和频率信息,并对应到有向无环图中;计算有向无环图中目标数据相关的节点的成本和边的成本;获取所述边和节点的成本,并进行累加以得到目标数据总成本。由此,在结合数据血缘关系后,能够更细粒度的计算和展现数据的成本,同时,能够使数据应用的计价方式更为合理。进一步的,企业内外对数据价值的评定提供更加详细、合理的参考,便于最细粒度计算数据的成本,使每条数据的成本都可以被精确量化。同时,本发明还涉及区块链技术。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及数据成本计算方法、系统、计算机设备和存储介质。
背景技术
现有数据血缘分析程序或系统多用于数据溯源、依赖引用分析等方面,尚未找到与数据成本计算结合使用的案例。当前企业加工存储的数据越来越多,大数据技术获得了广泛的应用,数据加工和存储也消耗了大量的资源,但对应的成本并未能够有效的计算及展示。当前企业内部对于数据成本的计算粒度较大,并不能从更细粒度上体现数据成本的差异,供企业内部管理及相关决策使用。
当前数据的成本大多都是按照加工过程和占用存储资源整体进行统计计算,无法获得表级、字段级或记录级别的成本。在数据成本清晰的情况下,才能在企业内部或外部使用数据时进行合理定价或成本结算。
数据的成本可通过使用相关资源所产生的费用进行计算,但数据加工过程中用到的其它数据也应该算作当前数据的成本,可以有更多视角来评定数据的成本或价值。
发明内容
基于此,本发明提供了一种数据成本计算方法、系统、计算机设备和存储介质,以能够更细粒度的计算和展现数据的成本,同时,能使数据应用的计价方式更为合理。
为实现上述目的,本发明提供一种基于数据血缘的数据成本计算方法,所述数据成本计算方法包括:
获取数据加工过程中使用的SQL语句或者数据加工过程中使用的脚本,并通过SQL语句或加工脚本中所包含的SQL语句生成数据血缘关系,所述数据血缘关系形成有向无环图;
获取数据平台任务执行的统计信息和频率信息,并对应到有向无环图中
计算有向无环图中目标数据相关的节点的成本和边的成本;
获取所述边和节点的成本,并进行累加以得到目标数据总成本。
优选的,所述统计信息包括每次任务的资源使用量,所述资源使用量包括存储用量、CPU用量和内存用量;所述频率信息包括任务的历史执行次数和执行的起止时间。
优选的,根据数据平台的不同,引入数据平台资源使用量的单价参数;在数据成本的计算过程中,所述节点的成本为存储成本,所述边的成本为CPU和内存的成本。
优选的,所述计算有向无环图中目标数据相关的节点的成本包括:∑idistinct{Si}+Sk,其中,Si表示相关节点所占用的存储资源成本,Sk表示目标数据的存储成本;所述计算有向无环图中目标数据相关的边的成本:其中,NLp表示与目标数据相关边的数量,Xpq表示每条加工指令每次所消耗的资源的成本,count(Lx)表示每个加工指令对应有向无环图中边的数量。
优选的,所述加工脚本中所包含的SQL语句生成数据血缘关系,所述数据血缘关系形成有向无环图包括:
从含有SQL代码的脚本文件中提取得到规则化的SQL语句,完成对SQL语句的清洗;
对规则化的SQL语句进行词法分析,生成数据血缘关系,并根据数据血缘关系生成有向无环图。
优选的,所述得到目标数据总成本之后,将所述目标数据总成本上传至区块链中,以使得所述区块链对所述目标数据总成本进行加密存储。
为实现上述目的,本发明还提供一种基于数据血缘的数据成本计算系统,所述数据成本计算系统包括:
数据集模块,用于获取数据加工过程中使用的SQL语句或者数据加工过程中使用的脚本,并通过SQL语句或加工脚本中所包含的SQL语句生成数据血缘关系,所述数据血缘关系形成有向无环图;
信息模块,用于获取数据平台任务执行的统计信息和频率信息,并对应到有向无环图中;
第一计算模块,用于计算有向无环图中目标数据相关的节点的成本和边的成本;
第二计算模块,用于获取所述边和节点的成本,并进行累加以得到目标数据总成本。
为实现上述目的,本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上所述数据成本计算方法的步骤。
为实现上述目的,本发明还提供一种存储介质,存储有能够实现如上所述数据成本计算方法的程序文件。
上述本发明提供了一种数据成本计算方法、系统、计算机设备和存储介质,其中,所述数据成本计算方法通过获取数据加工过程中使用的SQL语句或者数据加工过程中使用的脚本,并通过SQL语句或加工脚本中所包含的SQL语句生成数据血缘关系,所述数据血缘关系形成有向无环图;获取数据平台任务执行的统计信息和频率信息,并对应到有向无环图中;计算有向无环图中目标数据相关的节点的成本和边的成本;获取所述边和节点的成本,并进行累加以得到目标数据总成本。因此,本发明所述数据成本计算方法在结合数据血缘关系后,能够更细粒度的计算和展现数据的成本,同时,能够使数据应用的计价方式更为合理,这样,为企业对于数据价值的评定可以提供更加详细和合理的参考依据。
附图说明
图1为一个实施例中提供的数据成本计算方法的实施环境图;
图2为一个实施例中计算机设备的内部结构框图;
图3为一个实施例中数据成本计算方法的流程图;
图4为一个实施例中有向无环图的示意图;
图5为一个实施例中有向无环图中节点和边计算的流程图;
图6为一个实施例中SQL语句为多进多出的有向无环图的示意图;
图7为一个实施例中数据成本计算系统的示意图;
图8为一个实施例中的计算机设备的结构示意图;
图9为一个实施例中的存储介质的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
图1为一个实施例中提供的基于数据血缘的数据成本计算方法的实施环境图,如图1所示,在该实施环境中,包括计算机设备110和显示设备120。
计算机设备110可以为用户使用的电脑等计算机设备,计算机设备110上安装有基于数据血缘的数据成本计算系统。当计算时,用户可以在计算机设备110依照基于数据血缘的数据成本计算方法进行计算,并通过显示设备120显示计算结果。
需要说明的是,计算机设备110和显示设备120组合起来可以为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。
图2为一个实施例中计算机设备的内部结构示意图。如图2所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种基于数据血缘的数据成本计算方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种基于数据血缘的数据成本计算方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图3所示,在一个实施例中,提出了一种基于数据血缘的数据成本计算方法,其中,所述数据成本是指企业对数据的获取、传递、表达、存储、搜索、处理等直接或间接的支出与费用。所述数据成本计算方法可以应用于上述的计算机设备110和显示设备120中,具体可以包括以下步骤:
步骤31,获取数据加工过程中使用的SQL语句或者数据加工过程中使用的脚本,并通过SQL语句或加工脚本中所包含的SQL语句生成数据血缘关系,所述数据血缘关系形成有向无环图。
具体的,数据仓库中数据加工过程和数据量类似金字塔结构,自底向上加工存储,底层的数据量和加工用到的资源相对提供使用的数据量要大的多。处于金字塔顶层的数据,其加工存储成本并不能反映其真实的制造成本,还应包含与其加工相关的下层数据的制造存储成本更为合理。因此,基于数据血缘能够较为简便的计算出数据的累积成本。累积成本的计算可以有两种方式:一种方式是计算出数据血缘中每个节点的一般成本,然后根据血缘关系逐级递归进行累加,直到满足限定条件终止;第二种方式是根据数据血缘关系生成的有向无环图分别计算图中节点的成本和边的成本,再根据计算目标及相关的边和节点成本进行累加。本方法选择第二种方式进行,以能正确计算数据成本。下面具体举例进行说明,例如,客户日均存款余额相关指标的计算步骤如下:
步骤1、从本币活期账户表读取数据(A,存储本币活期账号与余额数据),写入本币日均存款余额表(E),计算每日客户本币活期存款余额(A->E);
步骤2、从本币定期账户表读取数据(B,存储本币定期账号与余额数据),写入本币日均存款余额表(E),计算每日客户本币定期存款余额(B->E);
步骤3、从外币活期账户表读取数据(C,存储外币活期账号与余额数据),写入外币日均存款余额表(F),计算每日客户外币活期存款余额(C->F);
步骤4、从外币定期账户表读取数据(D,存储外币定期账号与余额数据),写入外币日均存款余额表(F),计算每日客户外币定期存款余额(D->F);
步骤5、从本币日均存款余额表中读取数据(E,存储用户ID与本币存款余额数据),从外币日均存款余额表中读取数据(F,存储用户ID与外币存款余额数据),写入客户日均存款余额表(G,存储用户ID与余额数据),计算客户日均存款余额(E->G,F->G)。
其中,步骤1-4都需要读取客户账户关系表(Z,存储用户ID和账号的对应关系),将客户信息同步写入目标表中,每个步骤都是执行对应的SQL语句,将数据从源表读取加工后写入到目标表中。进一步的,数据血缘是根据执行的SQL语句分析生成表与表和字段与字段之间的关系,该等关系可以采用二维表格的形式存储,每条血缘数据都记录着一条数据间的关系,如字段A->字段E,因此,基于多条血缘关系数据可以绘制如图4所示的有向无环图(DAG)。
请进一步参考图4,图中的节点表示数据的存储,节点间的连线表示数据的加工过程;节点可以表示数据表、记录或单个字段,节点间带有方向的边表示相关数据加工过程所占用的计算资源。具体的,图中所有的边都是有向边,由数据源表或字段指向数据目标表或字段。数据血缘相关的成本计算主要涉及到存储和加工过程中使用的计算资源成本,其中,人力、场地、电力等资源成本不在所述数据成本计算方法考虑之内,即所述数据成本计算方法主要关注数据的存储和加工过程中使用到的存储和计算资源的相关成本,其他成本不在该数据成本计算方法考虑之内。需要说明的是,该数据成本计算方法主要使用数据血缘的结果,其生成方式并不关注,即使是人工编写的血缘关系结果也可使用。
进一步的,一个实施例中,通过加工脚本中所包含的SQL语句生成数据血缘关系,并通过数据血缘关系生成有向无环图,具体包括:
S311、从含有SQL代码的脚本文件中提取得到规则化的SQL语句,完成对SQL语句的清洗;
进一步的,所述S311包括:
S3111、获取含有SQL代码的脚本文件,并寻找SQL代码的标志位;
优选的,脚本文件可为perl等脚本。
S3112、利用标志位过滤脚本文件中的无关内容,保留得到规则化的SQL代码语句。
S312、对规则化的SQL语句进行词法分析,生成数据血缘关系,并根据数据血缘关系生成有向无环图。
步骤32,获取数据平台任务执行的统计信息和频率信息,并对应到有向无环图中。
其中,所述统计信息包括每次任务的资源使用量,所述资源使用量包括存储用量、CPU用量和内存用量等信息;所述频率信息包括任务的历史执行次数和执行的起止时间等信息。
具体的,数据平台的任务可以是一条SQL语句,每条SQL都对应有向无环图中的一条到多条边,在建立映射关系后,可在计算过程中引用各条边对应的资源使用量。
具体的,可按照任务执行的不同时间段分别统计每个不同时间段指定数据的加工成本,例如某个任务每月执行一次,可以统计每个季度或每半年相关加工的资源用量和成本。如此,根据统计信息和频率信息就能清楚知道目标数据的相关信息,可以方便每个时间段的数据成本计算。
步骤33,计算有向无环图中目标数据相关的节点的成本和边的成本。
根据累积成本的两种计算方式,所述第一种方式可能会对多重引用的节点造成重复计算,计算结果误差会较大,例如图4中节点A、节点B、节点C以及节点D会累计节点Z的成本。第二种方式分别计算各个节点的成本,再计算每条边的成本,最后取二者之和作为目标数据的成本,计算结果较为准确,即本发明所述的数据成本计算方法。
进一步的,在大数据环境批处理生成的数据的过程中,主要占用资源为存储、CPU和内存(MEM);存储的计量单位为字节,根据冗余数量乘以倍数;CPU计量单位为秒*核心数量,内存的计量单位为秒*MB。其中,在云环境的计算相对简便,购买的资源都可转换为对应计量单位便于计算,而传统环境则需要合理的方式将软硬件成本转换为对应计量单位后进行计算。简单的说,就是根据数据平台的不同,引入数据平台资源使用量的单价参数,即不同的数据平台的资源使用量的单价可能存在不同,根据数据的成本决策数据的加工和存储所使用的技术和硬件类型来完成数据成本的计算。进一步的,在同一企业中,其数据交换过程中可根据数据的成本形成合理的、统一的计价方式。
具体的,下面举例进行说明,在当前大数据加工环境资源成本如下:
1000个CPU核心,每年费用为100万元,每core*s的价格约为1000000/1000(核心数量)/(365*86400)=0.0000317元;
5TB内存每年费用50万元,则每GB每秒的费用约为500000/(5*1024)/(365*86400)=0.0000030966元;
存储20TB,每年费用为5万元,每GB每年的价格约为500000/(20*1024)=2.4414元。
根据图4,假设前述SQL(加工指令)执行过程使用的计算资源为:CPU2000core*s,MEM 500GB*s,节点A相关数据占用存储10GB,节点Z占用相关存储2GB,节点E相关数据占用存储3GB,则基于这部分有向无环图计算数据的加工和存储成本为(CPU单价)0.0000317*2000+(内存单价)0.0000030966*500+(存储单价)2.4414*(10+2+3)=0.0634+0.0015483+36.621=36.6859483元,可以准确和快捷的计算出该部分的数据成本。
进一步的,在一个实施例中,假设计算数据节点(表)K的成本Ck,需要通过数据血缘得到数据来源的表(DAG图中的节点)和相关加工SQL(DAG图中的边)所消耗的资源。其中,使用Si表示相关节点所占用的存储资源成本,使用X表示加工生成目标表的SQL所消耗的资源;生成目标表数据的SQL可以有多个使用Xp分别表示每个SQL所消耗的资源的成本;每条SQL会被执行多次使用Xpq表示每条SQL每次所消耗的资源的成本;每条SQL产生的血缘关系可能对应DAG中的多条边,使用count(Lx)表示每个SQL对应DAG中边的数量,请参考图5,具体如下:
331、计算有向无环图中节点的成本;
具体的,所述节点的成本就是存储成本,根据以上描述,所述节点的计算公式为:∑idistinct{Si}+Sk,其中,Si表示相关节点所占用的存储资源成本,Sk表示目标数据的存储成本。
332、计算有向无环图中边的成本。
具体的,所述边的成本是CPU和MEM的成本,根据以上描述,所述边的计算公式:其中,NLp表示与目标数据相关边的数量,Xpq表示每条加工指令每次所消耗的资源的成本,count(Lx)表示每个加工指令对应有向无环图中边的数量。
步骤34,获取所述边和节点的成本,并进行累加以得到目标数据总成本。
当SQL语句为多进一出(insert…from…)时,NLp与count(Lx)相等;当SQL语句为多进多出(from…insert…insert…)时,NLp小于count(Lx)。
据此,可以总结目标数据总成本,即节点(表)K的总数据成本Ck为以下计算公式:
进一步的,举例进行说明,例如,以图4中节点G的数据加工为例,SQL语句为多进一出,共涉及到5条SQL语句,分别为:
A+Z→E为X1:
insert into table_E
select z.cust_id,a.bal
from table_A a
join table_Z z
on a.acct_no=z.acct_no。
根据此SQL可以生成表级数据血缘关系:
A→E标记为LAE,Z→E标记为LZE,此SQL对应图中Z→E和A→E两条边,E表中的cust_id数据来源于Z表,E表中bal数据来源于A表。
X1对应的count(Lx1)=2,NL1=2。以此类推B+Z→E为X2,C+Z→E为X3,D+Z→E为X4,对应的count(Lx)=2,NLP=2。
E+F→G为X5:
insert into table_G
select nvl(e.cust_id,f.cust_id)as cust_id,
sum(nvl(e.bal,0)+nvl(f.bal,0))as bal
from table_E e
full outer join table_F f
on e.cust_id=f.cust_id
group by nvl(e.cust_id,f.cust_id);
X5对应的count(Lx5)=2,NL5=2。
表G的数据来源于表A、B、C、D、Z、E、F,其中,节点Z在DAG中出现多次,在计算成本时应对多次出现节点的存储成本进行去重,因此distinct{Si}中的i∈{A、B、C、D、Z、E、F}。假设每个SQL都执行过10次,即当日多次执行,则q=10,根据上述信息,表G的总成本为CG,带入公式可得:
进一步的,在当前的大数据环境下,数据的加工都是表级的,根据以上描述可以计算出表级的数据成本。例如图4中表G如果包含11个数据字段,可以将表G的数据除以11的结果作为每个字段的成本;例如表G中每条记录共存储20字节,其中10个字段都只存储1字节数据,剩余一个字段存储10字节,那么存储10字节的字段占用的存储成本就是表G存储成本的50%,其他每个字段的存储成本是表G的5%。记录级的成本计算方式类似,例如表G包含10万条记录,那么每条记录的成本为CG/100000。
在另一实施例中,当SQL语句为多进多出时,另有示例如下,其中多进多出图例请参考图6,其加工相关SQL如下:
From table_Aa
join table_B b
On a.id=b.id
Insert into table_C
Select a.id,a.bal+b.bal
Where a.type=1and b.type=2
Insert into table_D
Select b.id,a.bal+b.bal
Where a.type=3and b.type=4;
此SQL会生成如图6所示的4条边,假设此SQL单次执行所消耗资源成本为XP,那么count(Lx)=4,若计算节点D的加工成本,那么与节点D相关的只有两条边,分别是A→D和B→D,那么NLp=2,假设此SQL同样已执行q=10次,那么节点D在执行此SQL 10次后的成本带入计算公式如下:
根据以上描述,所述步骤1至3描述了基于数据血缘的数据成本计算方法,该数据成本计算方法可应用于表级、字段级数据的成本计算,记录级的成本则是根据表级或字段级成本,按照记录数量取均值计算。具体的,数据的加工过程(SQL)对应图中的边,因批量加工每条边对应一张表中的多条记录,对于同一张表中多个批次加工的数据可以采用均值的方式计算成本。
进一步的,在一实施例中,每次相同SQL可能因数据数量的变化导致使用资源的数量可能不同,例如图4的A->E,假设第一次加工使用资源的成本是10元,对应产生10000条记录,第二次将使用资源成本是12元对应产生14000条记录,那么这24000条记录的平均加工成本就是(10+12)/24000约为0.091元。
在一个可选的实施方式中,还可以:将所述基于数据血缘的数据成本计算方法的计算结果上传至区块链中。
具体地,基于所述基于数据血缘的数据成本计算方法的计算结果得到对应的摘要信息,具体来说,摘要信息由所述基于数据血缘的数据成本计算方法的计算结果进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户可以从区块链中下载得该摘要信息,以便查证所述基于数据血缘的数据成本计算方法的计算结果是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本发明提供了一种基于数据血缘的数据成本计算方法,通过定义数据集,获取根据数据血缘关系生成有向无环图;计算有向无环图中目标数据相关的节点的成本和边的成本;获取所述边和节点的成本,并进行累加以得到目标数据总成本。由此,在结合数据血缘关系后,能够更细粒度的计算和展现数据的成本,同时,能够使数据应用的计价方式更为合理。进一步的,企业内外对数据价值的评定提供更加详细、合理的参考,便于最细粒度计算数据的成本,使每条数据的成本都可以被精确量化。同时,本发明还涉及区块链技术。
如图7所示,本发明还提供了一种基于数据血缘的数据成本计算系统,该数据成本计算系统可以集成于上述的计算机设备110中,具体可以包括数据集模块20、信息模块30、第一计算模块40以及第二计算模块50。
所述数据集模块20,用于获取数据加工过程中使用的SQL语句或者数据加工过程中使用的脚本,并通过SQL语句或加工脚本中所包含的SQL语句生成数据血缘关系,所述数据血缘关系形成有向无环图;
信息模块30,用于获取数据平台任务执行的统计信息和频率信息,并对应到有向无环图中;
所述第一计算模块40,用于计算有向无环图中目标数据相关的节点的成本和边的成本;
所述第二计算模块50,用于获取所述边和节点的成本,并进行累加以得到目标数据总成本。
在一个实施例中,所述统计信息包括每次任务的资源使用量,所述资源使用量包括存储用量、CPU用量和内存用量等信息;所述频率信息包括任务的历史执行次数和执行的起止时间等信息。
在一个实施例中,所述第一计算模块40用于计算有向无环图中目标数据相关的节点的成本和边的成本。
其中,一个实施例中,计算有向无环图中节点的成本,具体的,所述节点的成本就是存储成本,根据以上描述,所述节点的计算公式为:∑idistinct{Si}+Sk,其中,Si表示相关节点所占用的存储资源成本,Sk表示目标数据的存储成本。
其中,计算有向无环图中边的成本,具体的,所述边的成本是CPU和MEM的成本,根据以上描述,所述边的计算公式:其中,XLp表示与目标数据相关边的数量,Xpq表示每条加工指令每次所消耗的资源的成本,count(Lx)表示每个加工指令对应有向无环图中边的数量。
进一步的,在一个实施例中,所述第二计算模块50用于获取所述边和节点的成本,并进行累加以得到目标数据总成本。
其中,当SQL语句为多进一出(insert…from…)时,NLp与count(Lx)相等;当SQL语句为多进多出(from…insert…insert…)时,NLp小于count(Lx)。
据此,可以总结目标数据总成本,即节点(表)K的总数据成本Ck为以下计算公式:
在一个实施例中,所述数据成本计算系统还包括显示模块(未图示),用于显示计算结果,所述显示模块可以是台式电脑的显示器,也可以是其他计算机设备的显示装置。
请参考图8,图8为本发明实施例的设备的结构示意图。如图8所示,该设备200包括处理器201及和处理器201耦接的存储器202。
存储器202存储有用于实现上述任一实施例所述基于数据血缘的数据成本计算方法的程序指令。
处理器201用于执行存储器202存储的程序指令。
其中,处理器201还可以称为CPU(Central Processing Unit,中央处理单元)。处理器201可能是一种集成电路芯片,具有信号的处理能力。处理器201还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
参阅图9,图9为本发明实施例的存储介质的结构示意图。本发明实施例的存储介质存储有能够实现上述所有方法的程序文件301,其中,该程序文件301可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
Claims (8)
1.一种基于数据血缘的数据成本计算方法,其特征在于,所述数据成本计算方法包括:
获取数据加工过程中使用的SQL语句或者数据加工过程中使用的脚本,并通过SQL语句或加工脚本中所包含的SQL语句生成数据血缘关系,所述数据血缘关系形成有向无环图;
获取数据平台任务执行的统计信息和频率信息,并对应到有向无环图中,所述统计信息包括每次任务的资源使用量,所述资源使用量包括存储用量、CPU用量和内存用量;所述频率信息包括任务的历史执行次数和执行的起止时间;
计算有向无环图中目标数据相关的节点的成本和边的成本,所述计算有向无环图中目标数据相关的节点的成本包括:∑idistinct{Si}+Sk,其中,Si表示相关节点所占用的存储资源成本,distinct{Si}表示只计算一次相关节点所占用的存储资源成本,Sk表示目标数据的存储成本;所述计算有向无环图中目标数据相关的边的成本:其中,NLp表示与目标数据相关边的数量,Xpq表示每条加工指令每次所消耗的资源的成本,count(Lx)表示每个加工指令对应有向无环图中边的数量;
获取所述边和节点的成本,并进行累加以得到目标数据总成本。
2.如权利要求1所述的数据成本计算方法,其特征在于,根据数据平台的不同,引入数据平台资源使用量的单价参数;在数据成本的计算过程中,所述节点的成本为存储成本,所述边的成本为CPU和内存的成本。
4.如权利要求1所述的数据成本计算方法,其特征在于,所述加工脚本中所包含的SQL语句生成数据血缘关系,所述数据血缘关系形成有向无环图包括:
从含有SQL代码的脚本文件中提取得到规则化的SQL语句,完成对SQL语句的清洗;
对规则化的SQL语句进行词法分析,生成数据血缘关系,并根据数据血缘关系生成有向无环图。
5.如权利要求1所述的数据成本计算方法,其特征在于,所述得到目标数据总成本之后,将所述目标数据总成本上传至区块链中,以使得所述区块链对所述目标数据总成本进行加密存储。
6.一种基于数据血缘的数据成本计算系统,其特征在于,所述数据成本计算系统包括:
数据集模块,用于获取数据加工过程中使用的SQL语句或者数据加工过程中使用的脚本,并通过SQL语句或加工脚本中所包含的SQL语句生成数据血缘关系,所述数据血缘关系形成有向无环图;
信息模块,用于获取数据平台任务执行的统计信息和频率信息,并对应到有向无环图中,所述统计信息包括每次任务的资源使用量,所述资源使用量包括存储用量、CPU用量和内存用量;所述频率信息包括任务的历史执行次数和执行的起止时间;
第一计算模块,用于计算有向无环图中目标数据相关的节点的成本和边的成本,所述计算有向无环图中目标数据相关的节点的成本包括:∑idistinct{Si}+Sk,其中,Si表示相关节点所占用的存储资源成本,distinct{Si}表示只计算一次相关节点所占用的存储资源成本,Sk表示目标数据的存储成本;所述计算有向无环图中目标数据相关的边的成本:其中,NLp表示与目标数据相关边的数量,Xpq表示每条加工指令每次所消耗的资源的成本,count(Lx)表示每个加工指令对应有向无环图中边的数量;
第二计算模块,用于获取所述边和节点的成本,并进行累加以得到目标数据总成本。
7.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项权利要求所述数据成本计算方法的步骤。
8.一种存储介质,其特征在于,存储有能够实现如权利要求1-5中任一项所述数据成本计算方法的程序文件。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011132525.2A CN112256720B (zh) | 2020-10-21 | 2020-10-21 | 数据成本计算方法、系统、计算机设备和存储介质 |
PCT/CN2020/135737 WO2021174945A1 (zh) | 2020-10-21 | 2020-12-11 | 数据成本计算方法、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011132525.2A CN112256720B (zh) | 2020-10-21 | 2020-10-21 | 数据成本计算方法、系统、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112256720A CN112256720A (zh) | 2021-01-22 |
CN112256720B true CN112256720B (zh) | 2021-08-17 |
Family
ID=74264461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011132525.2A Active CN112256720B (zh) | 2020-10-21 | 2020-10-21 | 数据成本计算方法、系统、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112256720B (zh) |
WO (1) | WO2021174945A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113868253B (zh) * | 2021-09-28 | 2024-04-23 | 中通服创立信息科技有限责任公司 | 一种数据关系捕获及大数据关系树构建方法 |
CN113934750A (zh) * | 2021-10-26 | 2022-01-14 | 上海泽字信息科技有限公司 | 基于编译方式的数据血缘关系分析方法 |
CN114064640A (zh) * | 2021-11-09 | 2022-02-18 | 珠海市新德汇信息技术有限公司 | 应用于数据溯源的血缘关系构造方法、存储介质及设备 |
CN114254081B (zh) * | 2021-12-22 | 2024-06-04 | 中冶赛迪信息技术(重庆)有限公司 | 企业大数据搜索系统、方法及电子设备 |
CN114090018B (zh) * | 2022-01-25 | 2022-05-24 | 树根互联股份有限公司 | 工业互联网设备的指标计算方法、装置和电子设备 |
CN114428822B (zh) * | 2022-01-27 | 2022-07-29 | 云启智慧科技有限公司 | 一种数据处理的方法、装置、电子设备及存储介质 |
CN115511644A (zh) * | 2022-08-29 | 2022-12-23 | 易保网络技术(上海)有限公司 | 用于目标保单的处理方法、电子设备和可读存储介质 |
CN117076095B (zh) * | 2023-10-16 | 2024-02-09 | 华芯巨数(杭州)微电子有限公司 | 一种基于dag的任务调度方法、系统、电子设备及存储介质 |
CN118134530A (zh) * | 2024-05-07 | 2024-06-04 | 杭州逸琨科技有限公司 | 数据要素的资源消耗评估方法、电子设备以及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2789196B1 (fr) * | 1999-01-28 | 2001-03-30 | Univ Paris Curie | Procede de generation de descriptions de documents multimedia |
US20100153431A1 (en) * | 2008-12-11 | 2010-06-17 | Louis Burger | Alert triggered statistics collections |
CN106991101B (zh) * | 2016-01-21 | 2021-02-02 | 阿里巴巴集团控股有限公司 | 一种数据表分析处理的方法和装置 |
CN107644073A (zh) * | 2017-09-18 | 2018-01-30 | 广东中标数据科技股份有限公司 | 一种基于深度优先遍历的字段血缘分析方法、系统及装置 |
CN108446383B (zh) * | 2018-03-21 | 2021-12-10 | 吉林大学 | 一种基于地理分布式数据查询的数据任务重分配方法 |
CN109325078A (zh) * | 2018-09-18 | 2019-02-12 | 拉扎斯网络科技(上海)有限公司 | 基于结构数据的数据血缘确定方法及装置 |
CN111125269B (zh) * | 2019-12-31 | 2023-05-02 | 腾讯科技(深圳)有限公司 | 一种数据管理方法、血缘关系显示方法和相关装置 |
CN111694858A (zh) * | 2020-04-28 | 2020-09-22 | 平安科技(深圳)有限公司 | 数据血缘分析方法、装置、设备及计算机可读存储介质 |
CN111652652B (zh) * | 2020-06-09 | 2022-11-22 | 苏宁云计算有限公司 | 计算平台的成本计算方法、装置、计算机设备及存储介质 |
-
2020
- 2020-10-21 CN CN202011132525.2A patent/CN112256720B/zh active Active
- 2020-12-11 WO PCT/CN2020/135737 patent/WO2021174945A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021174945A1 (zh) | 2021-09-10 |
CN112256720A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112256720B (zh) | 数据成本计算方法、系统、计算机设备和存储介质 | |
US20220335338A1 (en) | Feature processing tradeoff management | |
US20200050968A1 (en) | Interactive interfaces for machine learning model evaluations | |
US7035786B1 (en) | System and method for multi-phase system development with predictive modeling | |
US8631040B2 (en) | Computer-implemented systems and methods for flexible definition of time intervals | |
US10748072B1 (en) | Intermittent demand forecasting for large inventories | |
Lu et al. | Show me the money: Dynamic recommendations for revenue maximization | |
CN107705199B (zh) | 特征计算代码的生成方法和装置 | |
CN110852559A (zh) | 资源的分配方法和装置、存储介质、电子装置 | |
Kuosmanen et al. | Discrete and integer valued inputs and outputs in data envelopment analysis | |
Coyle et al. | 21st century progress in computing | |
CN110262961A (zh) | 工作流管理系统的测试方法、装置、存储介质及终端设备 | |
Sahri et al. | DBaaS-expert: A recommender for the selection of the right cloud database | |
Ananda et al. | C4. 5 decision tree implementation in Sistem Informasi zakat (Sizakat) to automatically determining the amount of zakat received by Mustahik | |
CN109933759B (zh) | 一种统计类数据表的生成方法和装置 | |
Tarplee et al. | Robust performance-based resource provisioning using a steady-state model for multi-objective stochastic programming | |
CN108960604B (zh) | 一种信息处理的方法、系统及装置 | |
CN116308826A (zh) | 保险产品上线方法、装置、设备及存储介质 | |
CN107194190B (zh) | 医药费用数据库中识别服务对象对费用影响的方法及装置 | |
CN110264306B (zh) | 基于大数据的产品推荐方法、装置、服务器及介质 | |
CN114298585A (zh) | 一种面向采购场景的物料采购配额分配方法及装置 | |
CN111949245A (zh) | 一种基于产品模板的金融产品开发方法及装置 | |
JP7527460B2 (ja) | 託送料金計算システム | |
CN110442587B (zh) | 业务信息升级方法及终端设备 | |
Popuri et al. | Parallelizing computation of expected values in recombinant binomial trees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |