一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

针对数据库的数据质量管理方法和装置与流程

2022-02-25 22:15:00 来源:中国专利 TAG:
1.本说明书一个或多个实施例涉及计算机领域,尤其涉及针对数据库的数据质量管理方法和装置。
背景技术
::2.在技术创新驱动下,越来越多的企业开启数字化转型之路。数字化转型的一切都围绕着数据,包括但不限于数据的获取、沉淀、运用和洞察。企业也开始愈加重视数据作为一种“资产”,应如何有效管理,并发挥价值。有效的数据质量管理有利于客观的分析和决策,是企业实现数字化转型的基础。3.通常地,数据存储在数据库中,数据库包括海量的数据表,平均每个数据表中又有数十个字段。面对数据库中数量庞大的数据,需要在针对数据库的数据质量管理中,提高数据管理效率。技术实现要素:4.本说明书一个或多个实施例描述了一种针对数据库的数据质量管理方法和装置,能够提高数据管理效率。5.第一方面,提供了一种针对数据库的数据质量管理方法,所述数据库包括多个数据表,每个数据表包括多个字段,方法包括:6.获取用于针对所述数据库执行目标行为操作的目标结构化查询语言(structuredquerylanguage,sql)语句;7.对所述目标sql语句进行解析,得到所述目标行为操作涉及的若干个数据对象,以及该若干个数据对象之间的目标关联关系,其中单个数据对象为字段或数据表;8.根据所述若干个数据对象和所述目标关联关系,更新预先建立的数据关系记录,所述数据关系记录中包含所述数据库中至少部分数据对象,以及其间的已有关联关系;9.对所述若干个数据对象进行数据质量监控,判断所述若干个数据对象中是否存在数据质量不满足要求的问题数据对象;10.当判断结果为存在所述问题数据对象时,针对所述问题数据对象,从更新后的数据关系记录中,查询与所述问题数据对象具有预设关联关系的目标数据对象;11.针对所述问题数据对象和所述目标数据对象,进行数据质量管理。12.在一种可能的实施方式中,所述获取用于针对所述数据库执行目标行为操作的目标sql语句,包括:13.定时对所述数据库中的历史sql语句进行汇总,将汇总的历史sql语句作为所述目标sql语句。14.在一种可能的实施方式中,所述获取用于针对所述数据库执行目标行为操作的目标sql语句,包括:15.捕获用户提交运行的sql语句,作为所述目标sql语句。16.在一种可能的实施方式中,所述对所述若干个数据对象进行数据质量监控,判断所述若干个数据对象中是否存在数据质量不满足要求的问题数据对象,包括:17.根据预先设定的质量评估规则,确定所述若干个数据对象中任一数据对象的评估分数,并将评估分数在预设区间的数据对象确定为问题数据对象。18.在一种可能的实施方式中,所述数据关系记录以图谱的形式存储,所述图谱包括节点和连接边,节点对应于所述数据对象,连接边对应于关联关系。19.进一步地,所述根据所述若干个数据对象和所述目标关联关系,更新预先建立的数据关系记录,包括:20.根据所述若干个数据对象中包括的所述数据关系记录中没有的第一字段,在预先建立的所述图谱中添加对应于所述第一字段的节点;所述第一字段属于所述数据关系记录中已有的第一数据表;21.根据所述目标关联关系中包括的所述第一字段与所述数据关系记录中已有的第二字段之间的第一关联关系,在所述图谱中添加对应于所述第一关联关系的连接边;所述第二字段属于所述数据关系记录中已有的第二数据表;22.根据所述目标关联关系中包括的所述第一字段与所述第一数据表之间的第二关联关系,在所述图谱添加对应于所述第二关联关系的连接边。23.进一步地,所述根据所述若干个数据对象和所述目标关联关系,更新预先建立的数据关系记录,包括:24.根据所述若干个数据对象中包括的所述数据关系记录中没有的第三字段和其所属的第三数据表,在预先建立的所述图谱中添加对应于所述第三字段的节点,以及添加对应于所述第三数据表的节点;25.根据所述目标关联关系中包括的所述第三字段与所述数据关系记录中已有的第四字段之间的第三关联关系,在所述图谱中添加对应于所述第三关联关系的连接边;所述第四字段属于所述数据关系记录中已有的第四数据表;26.根据所述目标关联关系中包括的所述第三字段与所述第三数据表之间的第四关联关系,在所述图谱中添加对应于所述第四关联关系的连接边。27.进一步地,所述从更新后的数据关系记录中,查询与所述问题数据对象具有预设关联关系的目标数据对象,包括:28.根据所述预设关联关系,确定图查询语句;29.利用所述图查询语句,从更新后的所述图谱中查询相应的节点,该节点对应于所述目标数据对象。30.在一种可能的实施方式中,所述目标数据对象包括:31.与所述问题数据对象具有预设关联关系的上游数据对象,和/或,与所述问题数据对象具有预设关联关系的下游数据对象;其中,若第一数据对象经由任意行为操作生成第二数据对象,则第一数据对象为第二数据对象的上游数据对象,第二数据对象为第一数据对象的下游数据对象。32.在一种可能的实施方式中,所述问题数据对象和所述目标数据对象均为字段,所述预设关联关系包括截断,所述截断为提取所述问题数据对象对应的字符串的子串,或者,所述截断为提取所述目标数据对象对应的字符串的子串。33.在一种可能的实施方式中,所述针对所述问题数据对象和所述目标数据对象,进行数据质量管理,包括:34.对所述目标数据对象进行数据质量监控,判断所述目标数据对象是否数据质量不满足要求;35.针对所述问题数据对象和判断结果为数据质量不满足要求的所述目标数据对象,发出警报。36.进一步地,所述目标数据对象包括与所述问题数据对象具有预设关联关系的至少一个下游数据对象;37.所述针对所述问题数据对象和所述目标数据对象,进行数据质量管理,包括:38.针对所述问题数据对象和所述至少一个下游数据对象,发出警报。39.进一步地,所述目标数据对象包括与所述问题数据对象具有预设关联关系的多个上游数据对象;40.所述针对所述问题数据对象和所述目标数据对象,进行数据质量管理,包括:41.寻找所述多个上游数据对象中初始存在问题的上游数据对象,将该上游数据对象作为数据质量管理的根源。42.在一种可能的实施方式中,所述针对所述问题数据对象和所述目标数据对象,进行数据质量管理,包括:43.针对所述问题数据对象和所述目标数据对象,反馈给数据技术人员进行数据治理,或根据预设置的数据治理规则进行清洗整理。44.第二方面,提供了一种针对数据库的数据质量管理装置,所述数据库包括多个数据表,每个数据表包括多个字段,装置包括:45.获取单元,用于获取用于针对所述数据库执行目标行为操作的目标结构化查询语言sql语句;46.解析单元,用于对所述获取单元获取的目标sql语句进行解析,得到所述目标行为操作涉及的若干个数据对象,以及该若干个数据对象之间的目标关联关系,其中单个数据对象为字段或数据表;47.更新单元,用于根据所述解析单元得到的所述若干个数据对象和所述目标关联关系,更新预先建立的数据关系记录,所述数据关系记录中包含所述数据库中至少部分数据对象,以及其间的已有关联关系;48.监控单元,用于对所述解析单元得到的若干个数据对象进行数据质量监控,判断所述若干个数据对象中是否存在数据质量不满足要求的问题数据对象;49.查询单元,用于当所述监控单元的判断结果为存在所述问题数据对象时,针对所述问题数据对象,从所述更新单元更新后的数据关系记录中,查询与所述问题数据对象具有预设关联关系的目标数据对象;50.管理单元,用于针对所述监控单元得到的问题数据对象和所述查询单元得到的目标数据对象,进行数据质量管理。51.第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。52.第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。53.通过本说明书实施例提供的方法和装置,首先获取用于针对所述数据库执行目标行为操作的目标sql语句;然后对所述目标sql语句进行解析,得到所述目标行为操作涉及的若干个数据对象,以及该若干个数据对象之间的目标关联关系,其中单个数据对象为字段或数据表;接着根据所述若干个数据对象和所述目标关联关系,更新预先建立的数据关系记录,所述数据关系记录中包含所述数据库中至少部分数据对象,以及其间的已有关联关系;再对所述若干个数据对象进行数据质量监控,判断所述若干个数据对象中是否存在数据质量不满足要求的问题数据对象;当判断结果为存在所述问题数据对象时,针对所述问题数据对象,从更新后的数据关系记录中,查询与所述问题数据对象具有预设关联关系的目标数据对象;最后针对所述问题数据对象和所述目标数据对象,进行数据质量管理。由上可见,本说明书实施例,基于对sql语句的解析,能自动从sql语句中解析出目标行为操作涉及的若干个数据对象,以及该若干个数据对象之间的目标关联关系,然后更新预先建立的数据关系记录,之后通过从更新后的数据关系记录中,查询与所述问题数据对象具有预设关联关系的目标数据对象,针对所述问题数据对象和所述目标数据对象,进行数据质量管理,具备高度的自动化,减少人力成本,能够提高数据管理效率。附图说明54.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。55.图1为本说明书披露的一个实施例的实施场景示意图;56.图2示出根据一个实施例的针对数据库的数据质量管理方法流程图;57.图3示出根据一个实施例的数据质量监控方法示意图;58.图4示出根据一个实施例的数据质量管理的应用场景示意图;59.图5示出根据一个实施例的针对数据库的数据质量管理的系统结构图;60.图6示出根据一个实施例的离线数据质量管理流程图;61.图7示出根据一个实施例的在线数据质量管理流程图;62.图8示出根据一个实施例的针对数据库的数据质量管理装置的示意性框图。具体实施方式63.下面结合附图,对本说明书提供的方案进行描述。64.图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及针对数据库的数据质量管理,数据库包括多个数据表,每个数据表包括多个字段,其中,字段对应于列。参照图1,以数据库中包含表一和表二为例,表一为数据库中原有的数据表,该数据表包括字段1,针对数据库的操作为创建表二,表二中的字段1与表一中的字段1属于截断的关系,表二中的字段2与表一中的字段1也属于截断的关系,也就是说,表二中的字段1和字段2是通过提取表一中的字段1对应的字符串的子串而得到,例如,表一中的字段1对应的字符串为abcd,相应地,表二中的字段1对应于该字符串的子串ab,表二中的字段2对应于该字符串的子串cd,可以理解的是,表二中的字段1和字段2是基于表一中的字段1得到的,如果表一中的字段1的数据质量不满足要求,那么表二中的字段1或字段2的数据质量大概率不满足要求;如果表二中的字段1或字段2的数据质量不满足要求,那么表一中的字段1的数据质量也可能不满足要求。也就是说,具有关联关系的数据之间,数据质量是否满足要求的判断结果也具有关联。65.关联关系也称为血缘关系:用于刻画数据与数据之间的上下游关系,通常包括复制、截断、拼接、转换等,通常体现了一个字段的数据经过一定的处理得到另一个字段的数据。66.数据质量:是指在业务环境下,数据符合数据消费者的使用目的,能满足业务场景具体需求的程度,具体包括准确性、完整性、时效性、关联性、一致性、可靠性、可访问性等多个方面。67.本说明书实施例中,可以对数据库中的数据对象进行数据质量监控,其中单个数据对象为字段或数据表,监控的方式有很多,举例来说,可以通过监控字段或数据表的空值数量,来确定该字段或该数据表的数据质量是否满足要求,通常地,空值数量越大,数据质量越低。例如,图1中,表二中的字段1空值数量为2,表二的空值数量为4,可以通过与预先设定的空值数量阈值进行比较,来确定数据质量是否满足要求。68.需要说明的是,上述仅为对于数据质量监控的举例,实际中根据具体业务场景对数据质量要求的不同,数据质量监控的方式多样,并不限定于该示例。比如,还可以通过监控字段或数据表的数据更新频率,来确定该字段或该数据表的数据质量是否满足要求,通常地,数据更新频率越小,数据质量越低。69.本说明书实施例,可以结合多种数据质量评估指标,来进行数据质量监控。70.数据质量管理,也称为数据治理:数据治理是组织中涉及数据使用的一整套管理行为。通过有效识别各类数据质量问题,建立数据监管,形成数据质量管理体系,监控并揭示数据质量问题,提供问题明细查询和质量改进建议,全面提升数据的完整性、准确性、及时性,一致性以及合法性,降低数据管理成本,减少因数据不可靠导致的决策偏差和损失。71.本说明书实施例,基于对数据库的操作语句的解析,能自动解析出目标行为操作涉及的若干个数据对象,以及该若干个数据对象之间的目标关联关系,然后基于上述关联关系,进行数据质量管理,具备高度的自动化,减少人力成本,能够提高数据管理效率。72.图2示出根据一个实施例的针对数据库的数据质量管理方法流程图,所述数据库包括多个数据表,每个数据表包括多个字段,该方法可以基于图1所示的实施场景。如图2所示,该实施例中针对数据库的数据质量管理方法包括以下步骤:步骤21,获取用于针对所述数据库执行目标行为操作的目标结构化查询语言(structuredquerylanguage,sql)语句;步骤22,对所述目标sql语句进行解析,得到所述目标行为操作涉及的若干个数据对象,以及该若干个数据对象之间的目标关联关系,其中单个数据对象为字段或数据表;步骤23,根据所述若干个数据对象和所述目标关联关系,更新预先建立的数据关系记录,所述数据关系记录中包含所述数据库中至少部分数据对象,以及其间的已有关联关系;步骤24,对所述若干个数据对象进行数据质量监控,判断所述若干个数据对象中是否存在数据质量不满足要求的问题数据对象;步骤25,当判断结果为存在所述问题数据对象时,针对所述问题数据对象,从更新后的数据关系记录中,查询与所述问题数据对象具有预设关联关系的目标数据对象;步骤26,针对所述问题数据对象和所述目标数据对象,进行数据质量管理。下面描述以上各个步骤的具体执行方式。73.首先在步骤21,获取用于针对所述数据库执行目标行为操作的目标sql语句。可以理解的是,针对数据库的各种行为操作均可以通过执行sql语句来实现,上述行为操作可以但不限于包括创建一个数据表,在已有数据表中添加字段等。74.在一个示例中,所述获取用于针对所述数据库执行目标行为操作的目标sql语句,包括:75.定时对所述数据库中的历史sql语句进行汇总,将汇总的历史sql语句作为所述目标sql语句。76.该示例可以用于离线数据质量管理,也就是说,监控针对数据库的历史行为操作涉及的数据对象的数据质量是否满足要求。77.在另一个示例中,所述获取用于针对所述数据库执行目标行为操作的目标sql语句,包括:78.捕获用户提交运行的sql语句,作为所述目标sql语句。79.该示例可以用于在线数据质量管理,也就是说,监控针对数据库的当前行为操作涉及的数据对象的数据质量是否满足要求。80.然后在步骤22,对所述目标sql语句进行解析,得到所述目标行为操作涉及的若干个数据对象,以及该若干个数据对象之间的目标关联关系,其中单个数据对象为字段或数据表。可以理解的是,上述关联关系可以包括字段和字段之间的关系,字段和数据表之间的关系,数据表和数据表之间的关系。81.上述解析sql语句可以称为sql解析,sql解析是用于构建数据血缘关系的基石,主要是解析sql中描述的字段和表,字段和字段,以及表和表之间的继承关系,通常字段间关系可以包括复制(copy),截断(substr),拼接(concat)等;表之间关系为依赖(depend);字段和表之间的关系为属于(belong)。可以使用三元组表示解析出的血缘关系(source_node,target_node,relation)。其中source_node为源节点的标识;target_node为目标节点的标识;relation为节点间关系。例如下列sql:82.createtable1as83.selectsubstr(identify_no,0,6)asidentify_no_first,substr(identify_no,6,12)asidentify_no_rest84.fromtable2;85.通过sql解析可以得到的血缘关系有:86.(table2.identify_no,table1.identify_no_first,substr),代表表1中的身份证号的初始部分字段与表2中的身份证号字段是截断的关系;87.(table2.identify_no,table1.identify_no_rest,substr),代表表1中的身份证号的剩余部分字段与表2中的身份证号字段是截断的关系;88.(table2,table1,depend),代表表1和表2是依赖的关系;89.(table1.identify_no_first,table1,belong),代表表1中的身份证号的初始部分字段与表1是属于的关系;90.(table1.identify_no_rest,table1,belong),代表表1中的身份证号的剩余部分字段与表1是属于的关系;91.(table2.identify_no,table2,belong),代表表2中的身份证号字段与表2是属于的关系。92.目前对于sql解析有成熟的第三方库可以使用,此处不再赘述原理。93.接着在步骤23,根据所述若干个数据对象和所述目标关联关系,更新预先建立的数据关系记录,所述数据关系记录中包含所述数据库中至少部分数据对象,以及其间的已有关联关系。可以理解的是,每次执行完步骤22之后,都会更新上述数据关系记录,随着对sql语句解析的增多,上述数据关系记录中包含的数据对象和关联关系也会增多。94.在一个示例中,所述数据关系记录以图谱的形式存储,所述图谱包括节点和连接边,节点对应于所述数据对象,连接边对应于关联关系。95.本说明书实施例,图谱可以图数据库的形式存在。图数据库:也称为图形数据库,是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。相对于关系型数据库而言,图数据库可以方便快捷的进行查询,以及各种计算和推理。96.可以理解的是,上述节点具有节点标识,能够唯一标识出一个字段或者一个数据表,例如,采用全局唯一标识符(globallyuniqueidentifier,guid)作为上述节点标识,其具体形式为project_name.table_name.column_name,其中,project_name代表数据库,table_name代表数据表,column_name代表字段。97.进一步地,所述根据所述若干个数据对象和所述目标关联关系,更新预先建立的数据关系记录,包括:98.根据所述若干个数据对象中包括的所述数据关系记录中没有的第一字段,在预先建立的所述图谱中添加对应于所述第一字段的节点;所述第一字段属于所述数据关系记录中已有的第一数据表;99.根据所述目标关联关系中包括的所述第一字段与所述数据关系记录中已有的第二字段之间的第一关联关系,在所述图谱中添加对应于所述第一关联关系的连接边;所述第二字段属于所述数据关系记录中已有的第二数据表;100.根据所述目标关联关系中包括的所述第一字段与所述第一数据表之间的第二关联关系,在所述图谱添加对应于所述第二关联关系的连接边。101.可以理解的是,上述更新包括在图谱中新增节点和连接边,新增节点代表新增字段,该新增字段属于图谱中已有节点对应的数据表。102.进一步地,所述根据所述若干个数据对象和所述目标关联关系,更新预先建立的数据关系记录,包括:103.根据所述若干个数据对象中包括的所述数据关系记录中没有的第三字段和其所属的第三数据表,在预先建立的所述图谱中添加对应于所述第三字段的节点,以及添加对应于所述第三数据表的节点;104.根据所述目标关联关系中包括的所述第三字段与所述数据关系记录中已有的第四字段之间的第三关联关系,在所述图谱中添加对应于所述第三关联关系的连接边;所述第四字段属于所述数据关系记录中已有的第四数据表;105.根据所述目标关联关系中包括的所述第三字段与所述第三数据表之间的第四关联关系,在所述图谱中添加对应于所述第四关联关系的连接边。106.可以理解的是,上述更新包括在图谱中新增节点和连接边,新增节点包括代表新增字段的节点和新增数据表的节点,该新增字段属于新增数据表。107.再在步骤24,对所述若干个数据对象进行数据质量监控,判断所述若干个数据对象中是否存在数据质量不满足要求的问题数据对象。可以理解的是,不同的业务场景对于数据质量的要求通常也不一样,因此数据质量监控的方式是比较灵活的,可以根据需求而定。108.在一个示例中,所述对所述若干个数据对象进行数据质量监控,判断所述若干个数据对象中是否存在数据质量不满足要求的问题数据对象,包括:109.根据预先设定的质量评估规则,确定所述若干个数据对象中任一数据对象的评估分数,并将评估分数在预设区间的数据对象确定为问题数据对象。110.图3示出根据一个实施例的数据质量监控方法示意图。参照图3,数据质量监控是通过一系列人为设置的评估规则实现的,数据质量评估规则与数据质量评估指标保持一致性,以实现数据质量提升,提高数据的商业价值。数据质量评估指标可以但不限于包括数据唯一性、数据一致性、数据准确性、数据关联性、数据完整性和数据及时性。数据质量评估规则通常涉及评估对象、评估指标、权重和期望值,其中,评估对象可以为数据库中的任一字段或数据表,评估指标即上述数据质量评估指标的简称,当涉及多项评估指标时,可以为每项评估指标设定相应的权重和期望值,根据每项评估指标的具体数值和期望值之间的差值,以及相应权重,综合确定该评估对象的评估分数,再根据评估分数确定该评估对象是否为问题数据对象。111.再在步骤25,当判断结果为存在所述问题数据对象时,针对所述问题数据对象,从更新后的数据关系记录中,查询与所述问题数据对象具有预设关联关系的目标数据对象。可以理解的是,上述预设关联关系可以为人工设定的,可以但不限于包括复制、截断、拼接、转换等关联关系。112.在一个示例中,所述数据关系记录以图谱的形式存储,所述图谱包括节点和连接边,节点对应于所述数据对象,连接边对应于关联关系。所述从更新后的数据关系记录中,查询与所述问题数据对象具有预设关联关系的目标数据对象,包括:113.根据所述预设关联关系,确定图查询语句;114.利用所述图查询语句,从更新后的所述图谱中查询相应的节点,该节点对应于所述目标数据对象。115.该示例中,将上述查询操作转换成图查询语句,以此在图数据库中查找与所述问题数据对象具有预设关联关系的目标数据对象。目前常见的图查询语言可以方便快捷的进行各种图的计算和推理。116.在一个示例中,所述问题数据对象和所述目标数据对象均为字段,所述预设关联关系包括截断,所述截断为提取所述问题数据对象对应的字符串的子串,或者,所述截断为提取所述目标数据对象对应的字符串的子串。117.该示例中的预设关联关系的查询操作可以转换为图查询语句,例如,对敏感字段进行截断的操作利用gremlin语言描述如下:g.v().has(“issensitive”,1).oute().has(“dependtype”,”substr“)。根据上述图查询语句,会遍历数据血缘图谱上所有敏感数据(issensitive属性为1),看这些节点的出边上的依赖关系有没有substr(截断),如果有返回节点和相关边。然后可以解析返回的节点的各个属性,来得到sql语句的执行者,执行时间等等。方便后续审计人员进行操作。其中,上述敏感数据即为隐私数据。118.最后在步骤26,针对所述问题数据对象和所述目标数据对象,进行数据质量管理。可以理解的是,不仅要针对问题数据对象进行数据质量管理,还要针对与其具有预设关联关系的目标数据对象进行数据质量管理。119.在一个示例中,所述目标数据对象包括:120.与所述问题数据对象具有预设关联关系的上游数据对象,和/或,与所述问题数据对象具有预设关联关系的下游数据对象;其中,若第一数据对象经由任意行为操作生成第二数据对象,则第一数据对象为第二数据对象的上游数据对象,第二数据对象为第一数据对象的下游数据对象。121.本说明书实施例,可以针对问题数据对象的上游数据对象,以及问题数据对象的下游数据对象,采取统一的数据质量管理方式,或者采取差异化的数据质量管理方式。122.在一个示例中,所述针对所述问题数据对象和所述目标数据对象,进行数据质量管理,包括:123.对所述目标数据对象进行数据质量监控,判断所述目标数据对象是否数据质量不满足要求;124.针对所述问题数据对象和判断结果为数据质量不满足要求的所述目标数据对象,发出警报。125.该示例中,未区分目标数据对象是上游数据对象还是下游数据对象,统一进行数据质量监控,针对所述问题数据对象和判断结果为数据质量不满足要求的所述目标数据对象,发出警报。126.在一个示例中,所述目标数据对象包括与所述问题数据对象具有预设关联关系的至少一个下游数据对象;127.所述针对所述问题数据对象和所述目标数据对象,进行数据质量管理,包括:128.针对所述问题数据对象和所述至少一个下游数据对象,发出警报。129.该示例中,对于与所述问题数据对象具有预设关联关系的下游数据对象,不必再进行数据质量监控,直接发出警报。130.在一个示例中,所述目标数据对象包括与所述问题数据对象具有预设关联关系的多个上游数据对象;131.所述针对所述问题数据对象和所述目标数据对象,进行数据质量管理,包括:132.寻找所述多个上游数据对象中初始存在问题的上游数据对象,将该上游数据对象作为数据质量管理的根源。133.在一个示例中,所述针对所述问题数据对象和所述目标数据对象,进行数据质量管理,包括:134.针对所述问题数据对象和所述目标数据对象,反馈给数据技术人员进行数据治理,或根据预设置的数据治理规则进行清洗整理。135.图4示出根据一个实施例的数据质量管理的应用场景示意图。参照图4,针对图数据库中的当前数据节点进行数据质量监控,若确定当前数据节点不存在问题,则继续进行数据质量监控,若确定当前数据节点存在问题,则进行血缘扩散,也就是说,在图数据库中查找与当前数据节点具有预设关联关系的目标节点,查找到的目标节点可能既包括当前数据节点的上游数据节点,也包括当前数据节点的下游数据节点,针对上游数据节点的数据质量管理主要涉及问题回溯,针对下游数据节点的数据质量管理主要涉及业务告警。其中,业务告警是当发现数据质量问题时,在下游的数据节点上对数据的管理者或者审计中心发出警报;问题回溯是当发现数据质量问题时,向数据节点的上游追溯,找到问题的根源;数据质量管理还包括数据治理,数据治理是对已发现的数据质量问题,进行全流程的清洗整理。136.举例来说,问题回溯是找到出问题的上游节点,比如,以更新频率过低代表数据质量存在问题为例,发现节点4的更新频率过低,它的上游节点3的更新频率也低,那就需要再往上追溯,发现节点3的上游节点2的更新频率也低,但是节点2的上游节点1的更新频率是正常的,那就首先需要对节点2的数据更新频率进行修正,之后再依据血缘关系依次对节点3和节点4进行治理。137.数据治理的方式也很广泛,举例来说,如果数据空缺较大,可以向数据源重新申请相关数据或者新增数据源来增加数据的完整度;如果发现上下游的数据节点更新频率不一致,可以查看下游节点生成的代码设置一致的更新频率。138.通过本说明书实施例提供的方法,首先获取用于针对所述数据库执行目标行为操作的目标sql语句;然后对所述目标sql语句进行解析,得到所述目标行为操作涉及的若干个数据对象,以及该若干个数据对象之间的目标关联关系,其中单个数据对象为字段或数据表;接着根据所述若干个数据对象和所述目标关联关系,更新预先建立的数据关系记录,所述数据关系记录中包含所述数据库中至少部分数据对象,以及其间的已有关联关系;再对所述若干个数据对象进行数据质量监控,判断所述若干个数据对象中是否存在数据质量不满足要求的问题数据对象;当判断结果为存在所述问题数据对象时,针对所述问题数据对象,从更新后的数据关系记录中,查询与所述问题数据对象具有预设关联关系的目标数据对象;最后针对所述问题数据对象和所述目标数据对象,进行数据质量管理。由上可见,本说明书实施例,基于对sql语句的解析,能自动从sql语句中解析出目标行为操作涉及的若干个数据对象,以及该若干个数据对象之间的目标关联关系,然后更新预先建立的数据关系记录,之后通过从更新后的数据关系记录中,查询与所述问题数据对象具有预设关联关系的目标数据对象,针对所述问题数据对象和所述目标数据对象,进行数据质量管理,具备高度的自动化,减少人力成本,能够提高数据管理效率。139.图5示出根据一个实施例的针对数据库的数据质量管理的系统结构图。参照图5,该系统结构可以划分为数据层、血缘关系层、功能层和应用层,其中,数据层汇集日志、元数据、sql语句,基于sql解析器可以定期生成数据血缘关系,并增量同步到图数据库中,该图数据库可以称为数据血缘图谱,血缘关系包括字段与字段之间的关系、字段与表之间的关系、表与表之间的关系。血缘关系层中的节点为表和列,边为节点之间的关系。图计算引擎用于完成上层定义的数据上下游节点的数据质量查询、计算、监控工作。功能层中有人工定义的数据质量监控方法,例如,根据空值数量、数据更新频率等进行监控;对发现当前数据节点存在质量问题时,通过图查询语句追踪当前数据节点的上下游节点,进行全流程的数据质量监控。功能层中离线定时治理主要用于从已经执行的sql语句中发现数据质量问题。在线实时治理主要用于从待执行的sql语句中通过etlhook的方式来发现有潜在数据质量风险的sql语句。应用层中定义了三种可用的数据质量管理的应用场景,包括前述业务告警、问题回溯和数据治理。140.图6示出根据一个实施例的离线数据质量管理流程图。参照图6,系统会利用定时器对数据库操作人员执行的历史sql语句进行汇总,然后利用sql解析模块对汇总的sql语句进行解析,并整理成血缘关系的节点和边,再将节点和边插入到之前已经构建完毕的数据血缘图谱中。利用预设置的数据质量监控规则对数据库中的数据进行质量核验。当发现数据质量问题时,利用图计算引擎在更新完后的数据血缘图谱上进行上下游的追踪。同时将数据质量问题反馈给数据技术人员进行数据治理,或直接根据预设置的数据治理规则进行清洗整理。141.图7示出根据一个实施例的在线数据质量管理流程图。参照图7,系统首先利用etlhook捕获用户提交运行的sql语句,然后使用sql解析模块对sql语句进行解析,再将解析到的血缘关系插入到数据血缘图谱上。同时对新更新的数据内容进行数据质量监测,如果发现数据质量问题时,利用图计算引擎在更新完后的数据血缘图谱上进行上下游的追踪。同时将数据质量问题反馈给数据技术人员进行数据治理后再执行sql语句。当没有发现数据质量问题时,则直接执行sql语句。142.根据另一方面的实施例,还提供一种针对数据库的数据质量管理装置,所述数据库包括多个数据表,每个数据表包括多个字段,该装置用于执行本说明书实施例提供的方法。图8示出根据一个实施例的针对数据库的数据质量管理装置的示意性框图。如图8所示,该装置800包括:143.获取单元81,用于获取用于针对所述数据库执行目标行为操作的目标结构化查询语言sql语句;144.解析单元82,用于对所述获取单元81获取的目标sql语句进行解析,得到所述目标行为操作涉及的若干个数据对象,以及该若干个数据对象之间的目标关联关系,其中单个数据对象为字段或数据表;145.更新单元83,用于根据所述解析单元82得到的所述若干个数据对象和所述目标关联关系,更新预先建立的数据关系记录,所述数据关系记录中包含所述数据库中至少部分数据对象,以及其间的已有关联关系;146.监控单元84,用于对所述解析单元82得到的若干个数据对象进行数据质量监控,判断所述若干个数据对象中是否存在数据质量不满足要求的问题数据对象;147.查询单元85,用于当所述监控单元84的判断结果为存在所述问题数据对象时,针对所述问题数据对象,从所述更新单元83更新后的数据关系记录中,查询与所述问题数据对象具有预设关联关系的目标数据对象;148.管理单元86,用于针对所述监控单元84得到的问题数据对象和所述查询单元85得到的目标数据对象,进行数据质量管理。149.可选地,作为一个实施例,所述监控单元84,具体用于根据预先设定的质量评估规则,确定所述若干个数据对象中任一数据对象的评估分数,并将评估分数在预设区间的数据对象确定为问题数据对象。150.可选地,作为一个实施例,所述目标数据对象包括:151.与所述问题数据对象具有预设关联关系的上游数据对象,和/或,与所述问题数据对象具有预设关联关系的下游数据对象;其中,若第一数据对象经由任意行为操作生成第二数据对象,则第一数据对象为第二数据对象的上游数据对象,第二数据对象为第一数据对象的下游数据对象。152.可选地,作为一个实施例,所述管理单元86包括:153.监控子单元,用于对所述目标数据对象进行数据质量监控,判断所述目标数据对象是否数据质量不满足要求;154.告警子单元,用于针对所述问题数据对象和所述监控子单元判断结果为数据质量不满足要求的所述目标数据对象,发出警报。155.进一步地,所述目标数据对象包括与所述问题数据对象具有预设关联关系的至少一个下游数据对象;156.所述管理单元86,具体用于针对所述问题数据对象和所述至少一个下游数据对象,发出警报。157.进一步地,所述目标数据对象包括与所述问题数据对象具有预设关联关系的多个上游数据对象;158.所述管理单元86,具体用于寻找所述多个上游数据对象中初始存在问题的上游数据对象,将该上游数据对象作为数据质量管理的根源。159.可选地,作为一个实施例,所述管理单元86,具体用于针对所述问题数据对象和所述目标数据对象,反馈给数据技术人员进行数据治理,或根据预设置的数据治理规则进行清洗整理。160.通过本说明书实施例提供的装置,首先获取单元81获取用于针对所述数据库执行目标行为操作的目标sql语句;然后解析单元82对所述目标sql语句进行解析,得到所述目标行为操作涉及的若干个数据对象,以及该若干个数据对象之间的目标关联关系,其中单个数据对象为字段或数据表;接着更新单元83根据所述若干个数据对象和所述目标关联关系,更新预先建立的数据关系记录,所述数据关系记录中包含所述数据库中至少部分数据对象,以及其间的已有关联关系;再由监控单元84对所述若干个数据对象进行数据质量监控,判断所述若干个数据对象中是否存在数据质量不满足要求的问题数据对象;查询单元85在判断结果为存在所述问题数据对象时,针对所述问题数据对象,从更新后的数据关系记录中,查询与所述问题数据对象具有预设关联关系的目标数据对象;最后管理单元86针对所述问题数据对象和所述目标数据对象,进行数据质量管理。由上可见,本说明书实施例,基于对sql语句的解析,能自动从sql语句中解析出目标行为操作涉及的若干个数据对象,以及该若干个数据对象之间的目标关联关系,然后更新预先建立的数据关系记录,之后通过从更新后的数据关系记录中,查询与所述问题数据对象具有预设关联关系的目标数据对象,针对所述问题数据对象和所述目标数据对象,进行数据质量管理,具备高度的自动化,减少人力成本,能够提高数据管理效率。161.根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。162.根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。163.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。164.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献