CN117216326A - 无效数据表的识别方法、装置、设备及存储介质 - Google Patents
无效数据表的识别方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117216326A CN117216326A CN202311250232.8A CN202311250232A CN117216326A CN 117216326 A CN117216326 A CN 117216326A CN 202311250232 A CN202311250232 A CN 202311250232A CN 117216326 A CN117216326 A CN 117216326A
- Authority
- CN
- China
- Prior art keywords
- data table
- node
- nodes
- directed graph
- data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000004519 manufacturing process Methods 0.000 claims abstract description 121
- 230000004044 response Effects 0.000 claims abstract description 7
- 238000004140 cleaning Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010845 search algorithm Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 13
- 230000006399 behavior Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000003203 everyday effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种无效数据表的识别方法、装置、设备及存储介质,该方法中,响应于识别请求,获取基于数据表集合中的数据表和数据表之间的生产关系创建的有向图;有向图中各个节点表示数据表集合中的各个数据表;有向图中有向边表示该有向边连接的节点对应的数据表之间的生产关系;遍历有向图,搜索出有向图中包含的携带有效访问属性信息的有效访问节点,并将搜索到的有效访问节点和有向图的根节点之间的路径上的所有节点确定为有效链路节点;有效访问属性信息用于表示与该有效访问节点对应的数据表的数据所有者,在预设时长范围内针对该数据表进行了访问;将有向图中除有效链路节点之外的其他各个节点对应的数据表,确定为待清理的无效数据表。
Description
技术领域
本公开涉及大数据处理技术领域,尤其涉及无效数据表的识别方法、装置、设备及存储介质。
背景技术
大数据计算服务等平台面临数据资产治理问题。例如,平台可以创建大量的数据表来存储和管理海量的数据,通过这些数据表,可以为用户提供各种计算和分析服务。随着业务的发展和数据的变化,一些表可能被用户废弃不再被有效使用,需要识别出这些无效数据表以进行清理,防止硬件资源的浪费。
发明内容
为克服相关技术中存在的问题,本公开提供了无效数据表的识别方法、装置、设备及存储介质。
根据本说明书实施例的第一方面,提供一种无效数据表的识别方法,所述方法包括:
响应于接收到针对数据表集合的识别请求,获取基于所述数据表集合中的数据表和数据表之间的生产关系创建的有向图;其中,所述有向图中的各个节点表示所述数据表集合中的各个数据表;所述有向图中的有向边,表示该有向边连接的节点对应的数据表之间的生产关系;
遍历所述有向图,以搜索出所述有向图中包含的携带有效访问属性信息的有效访问节点,并将搜索到的有效访问节点和所述有向图的根节点之间的路径上的所有节点确定为有效链路节点;其中,所述有效访问属性信息用于表示与该有效访问节点对应的数据表的数据所有者,在预设时长范围内针对该数据表进行了访问;
将所述有向图中除所述有效链路节点之外的其他各个节点对应的数据表,确定为待清理的无效数据表。
根据本说明书实施例的第二方面,提供一种无效数据表的识别装置,所述装置包括:
获取模块,响应于接收到针对数据表集合的识别请求,获取基于所述数据表集合中的数据表和数据表之间的生产关系创建的有向图;其中,所述有向图中的各个节点表示所述数据表集合中的各个数据表;所述有向图中的有向边,表示该有向边连接的节点对应的数据表之间的生产关系;
搜索模块,遍历所述有向图,以搜索出所述有向图中包含的携带有效访问属性信息的有效访问节点,并将搜索到的有效访问节点和所述有向图的根节点之间的路径上的所有节点确定为有效链路节点;其中,所述有效访问属性信息用于表示与该有效访问节点对应的数据表的数据所有者,在预设时长范围内针对该数据表进行了访问;
确定模块,将所述有向图中除所述有效链路节点之外的其他各个节点对应的数据表,确定为待清理的无效数据表
根据本说明书实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现前述第一方面所述方法实施例的步骤。
根据本说明书实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述第一方面所述方法实施例的步骤。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,对数据表的有效访问定义为数据表的数据所有者的访问,并且,待识别的数据表集合具有对应的有向图,利用有向图的有向边来表示有向边连接的节点对应的数据表之间的生产关系。如此,可以遍历有向图,这样基于有向图中携带有效访问属性信息的有效访问节点,可以在有向图中全局判断各个有生产关系的数据表的情况,以搜索出所有有效链路节点。如此,搜索出的有效链路节点所对应的数据表是有效数据表,有向图中除有效链路节点之外的其他节点所对应的表就是无效数据表。
本实施例中实现了将数据表的来自下游数据表的访问视作一种无效访问,同时,只要数据表存在有效访问记录,那么该数据表上层的那些数据表,不管存不存在有效访问记录,都认定为有效。因此,既可以缩短具有生产依赖关系的其他各数据表的治理时间,也能够从全局角度全面准确地找出无效数据表,能够降低清理风险。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本公开的原理。
图1是本说明书根据一示例性实施例示出的多份数据表的示意图。
图2A是本说明书根据一示例性实施例示出的一种数据表集合的示意图。
图2B是本说明书根据一示例性实施例示出的一种无效数据表的识别方法的流程图。
图2C是本说明书根据一示例性实施例示出的一种有向图的示意图。
图2D是本说明书根据一示例性实施例示出的一种从有向图中搜索出有效链路节点的示意图。
图2E是本说明书根据一示例性实施例示出的一种生产任务和数据表的示意图。
图3是本说明书根据一示例性实施例示出的一种无效数据表的识别装置所在计算机设备的一种硬件结构图。
图4是本说明书根据一示例性实施例示出的一种无效数据表的识别装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
大数据计算服务平台主要服务于数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模等服务。平台会有大量创建过的数据表,随着业务发展,一些数据表被用户废弃不再被有效使用,但数据表仍然存储于平台中,如果不清理则会一直浪费如存储等硬件资源,增加系统运维成本。因此,需要及时识别出无效数据表,以提醒用户及时进行清理。如何高效准确地识别出无效数据表,是在进行大数据开发时都会面临的一个重点数据治理问题。
目前,一些识别无效数据表的方案是,当某个数据表连续t天未被访问(t根据需要设定),则命中设定条件,认为该表属于无效数据表,可以提醒用户对其进行清理。然而,该方案存在一些问题:
1.清理效率低,不能将存在关联关系的无效数据表一次性识别出来。
已有方案中未关注到一些数据表之间的生产关系。本说明书实施例发现,一些数据表之间存在生产依赖关系。作为例子,某个生产任务,需要依赖表x1生产出表x2,那么说明表x1与表x2之间存在生产关系,表x2依赖表x1。例如,表x1是某个产品的所有用户在最近一个月的购买记录,表x2是某个产品的华南地区的用户在最近一个的消费总额,可以理解,表x2中的数据是依赖于表x1产生的。
假设表x1每天都会离线更新,则依赖于表x1的表x2也会相应地每日更新,因此表x1每天会产生来自于表x2的访问记录。假设表x2连续t天未有访问记录,在今天可以被清理了,但是表x1需要再等待t天才能被清理,因为表x1这连续t天都存在着来自于表x2的访问记录,只有在今天表x2被清理了,表x1之后就未有访问记录了,在t天后才可以被识别出来,但这t天实际上就存在着硬件资源的浪费,而两个有关联的表间隔t天提醒用户进行清理,也会影响用户的体验。
实际应用中,数据表之间的生产关系还可能是很多层次的,如图1所示,是本说明书根据一示例性实施例示出的4份数据表之间的生产关系,表100产出下游表101,表101产出下游表102,表102产出下游表103;极端情况下,表103在今天识别出来可以被清理,表102需要在t天后才识别出来,表101需要在2t天后才识别出来,表100需要在3t天后才识别出来。
本说明书实施例发现,假设数据表一直未有其数据所有者的访问记录,而只是来自于下游的数据表的访问,既然数据表的数据所有者不需要使用到其中的数据,那么实际上数据表可以与下游数据表一同识别为可清理的无效数据表。如图1中所示的4份数据表,也可能可以一同识别为可清理的无效数据表。但是已有方案中,并未考虑到数据表之间的生产关系,也未准确地区分何为数据表的有效访问,因此无法高效地识别出无效数据表,进而导致数据表的清理效率低。
2.清理风险高,可能错误地将具有下游表依赖的数据表清理掉。
某个数据表如果连续t天没有被访问,已有技术中认为其是无效数据表可以被清理。但本说明书实施例发现,如果该表被清理,那么依赖于其的下游表就无法得到数据更新,假设下游表的数据所有者还需要使用数据,此时就无法为用户提供准确的数据服务,因此该数据表不应该被识别为无效数据表进行清理。例如图1中,表102有t天未有访问记录,已有方案认为表102可以被清理。但如果表102的下游表103在这t天内还具有数据所有者对其的访问,表102如果被清理可能会影响表103中数据的准确性。因此,已有方案只单独考虑一个数据表的访问情况,可能错误地将具有下游表依赖的数据表清理掉,无法做出准确的清理决策。
由上述对已有方案的局限性的分析可知,在治理效率方面,应当把数据表的下游数据表的访问视作一种无效访问,从而缩短具有生产依赖关系的其他各数据表的治理时间,以节约更多成本;在治理风险方面,需要从全局角度评估没有访问记录的数据表是否还有效用,从而降低治理风险。基于此,本说明书实施例提供了一种无效数据表的识别方案,对数据表的有效访问定义为数据表的数据所有者的访问,在识别无效数据表时是从数据表集合对应的有向图中进行识别的,能够从全局角度全面判断各个有生产关系的数据表的情况,即使数据表本身未有有效访问,但其下游表还存在有效访问,该数据表也仍然是有效用的,因此本实施例能够从全局角度全面准确地找出无效数据表。
首先对本说明书实施例中的数据表的有效访问进行说明。本实施例中,数据表的有效访问的定义,是指数据表的数据表所有者,在预设时长范围内针对该数据表进行了访问。其中,预设时长范围具体可以根据实际需要灵活配置,例如30天或33天等,本实施例对此不进行限定。其中,有效访问的定义,实质上排除了下游数据表对上游数据表的访问;也即是,本实施例认为,下游数据表对其上游的数据表的访问是一种无效访问。只有访问是来自于数据表所有者的访问,才能称为有效访问。既然一个数据表未有数据表所有者的访问,表示数据所有者并不需要使用到数据,那么数据表仅仅只有来自于大数据计算服务平台内部的数据表之间的相互访问,这些平台内部的数据表之间的相互访问都可以认为是无效、无价值的访问。
作为例子,数据所有者对数据表的访问行为根据实际应用可以有多种情况,例如,存储数据表的平台可以包括多种供用户使用数据表的接口,例如查询接口,用户通过查询接口查询数据表中的某些数据,则对数据表的查询行为是一种有效访问行为。或者,还可以包括数据导出接口,用户通过数据导出接口导出数据表或者是数据表中的某些数据,则对数据表的导出行为是一种有效访问行为。或者,还可以包括报表接口,用户通过报表接口发起针对数据表中的部分或全部数据的报表生成请求,平台基于该请求生成报表并返回给用户,此种行为也是一种有效访问行为。
与数据表的有效访问相对的,是数据表的无效访问,无效访问是指非数据所有者对数据表的访问,此种访问行为基于实际应用也可能包括多种情况,例如,下游表对数据表的访问,还可以包括平台对数据表的数据的检查,例如对数据表中数据的合法性检查或者是对数据表的数据质量的检查等等,这些访问行为并非是数据所有者基于自身的数据使用需要而发生的对数据表的使用行为。
如前述分析的,例如表x1是某个产品的所有用户在最近一个月的购买记录,表x2是某个产品的华南地区的用户在最近一个的消费总额;表x2因为需要依赖于表x1进行更新,表x1会有来自于表x2的访问,表x2对表x1的访问属于无效访问,只有表x1的数据表所有者对该表的访问才属于有效访问。如此,对于有效访问的数据表,这些数据表不能被清理,并且不能受到其他被清理的数据表的影响。
如图2A所示,是本说明书根据一示例性实施例示出的一种数据表集合的示意图。其中,一些数据表在一段时长范围内未存在有效访问记录,另一些数据表在一段时长范围内存在有效访问记录。图中圆形所对应的数据表为无效表,多角星图像对应的数据表为有效表。请见图中填充灰色的多角星图形所对应的数据表,由于其存在有效访问记录,该表是一个有效表,不应该被清理。该有效表依赖于另一个无有效访问记录的数据表,由于该填充灰色的多角星图形对应的数据表是有效表,因此其所依赖的数据表就算未存在有效访问记录,其仍然不能清理,需要认定为有效表。
因此,可以看出,有部分表虽然有本身无有效访问记录,但是从全链路来看,其下游存在有效访问,因此是不能够对其进行治理的,因为其仍然发挥着效用,需要被清理的无效表是位于图2A中虚线方框内的数据表。
接下来结合图2B进行说明,图2B是本说明书根据一示例性实施例示出的一种无效数据表的识别方法的流程图,可以包括以下步骤:
步骤202、响应于接收到针对数据表集合的识别请求,获取基于所述数据表集合中的数据表和数据表之间的生产关系创建的有向图。
其中,所述有向图中的各个节点可以表示所述数据表集合中的各个数据表;所述有向图中的有向边,可以表示该有向边连接的节点对应的数据表之间的生产关系。
步骤204、遍历所述有向图,以搜索出所述有向图中包含的携带有效访问属性信息的有效访问节点,并将搜索到的有效访问节点和所述有向图的根节点之间的路径上的所有节点确定为有效链路节点。
其中,所述有效访问属性信息可以用于表示与该有效访问节点对应的数据表的数据所有者,在预设时长范围内针对该数据表进行了访问。
步骤206、将所述有向图中除所述有效链路节点之外的其他各个节点对应的数据表,确定为待清理的无效数据表。
在一些例子中,针对数据表集合的识别请求可以是由用户发起的。也可以是预先配置触发器或自定义规则等,当识别到特定事件发生时,自动发起识别请求;例如,特定事件可以是到达设定的时刻,某个存储空间内存储的数据表的数据量到达设定的数据量阈值等等,本实施例对此不进行限定。
实际实现时,数据表集合可以包括一个或多个数据表。这些待识别的数据表可以根据实际需要灵活选择。例如,可以是一个用户的所有数据表,也可以是多个用户的所有数据表,还可以是其他满足某些设定条件的数据表,例如可以是创建时长较久的数据表,例如创建时刻与当前识别时刻之间的时长大于设定时长阈值的数据表等等,本实施例对此不进行限定。
在一些例子中,本实施例的数据表识别方法可以应用于大数据计算服务平台,或者是与大数据计算服务平台对接的系统中,本实施例对此不做任何限制。根据具体的应用场景本实施例的数据表可以有多种,作为一个示例,本实施例的数据表可以包括大数据计算服务平台中的离线数据表等,本实施例对此不做任何限制。
本实施例中设计了基于数据表集合对应的图结构,从全局角度来识别出无效数据表。其中,基于对数据表之间的生产关系的考虑,设计了有向图。有向图(Directed Graph)是图结构中的一种。有向图由一组顶点和一组有向边组成。有向图中,图的边具有方向性,因此称为有向边,表示从一个顶点(起始节点)指向另一个顶点(终止节点)的关系。本实施例中,采用节点表示数据表,一个节点表示一个数据表。采用有向边表示数据表之间的生产关系,数据表的生产关系是指一个数据表与其他数据表之间的关联和依赖关系。
例如,在任务A中,需要依赖表x1生产出表x2,那么说明表x2依赖表x1,表x2为表x1的下游,采用有向边表示表x1和表x2的生产关系时,作为一个例子,所述有向图中的有向边表示的生产关系,可以是指该有向边的起始节点对应的数据表,生产出了该有向边的终止节点对应的数据表的关系,即可以用从表x1对应的节点指向表x2对应的节点的有向边表示这种生产关系,例如x1→x2。当然,实际应用中,有向边中箭头方向相反,从表x2对应的节点指向表x1对应的节点的有向边表示这种生产关系也是可选的,本实施例对此不进行限定。在有向图中,两个节点之间的有向边也表示了两个节点之间的通行关系,例如有向图中如果存在从节点x1到节点x2的有向边,意味着可以从节点x1出发,沿着这条边到达节点x2。而x2至x1并不存在有向边,则意味着无法从从节点x2出发,沿着这条边到达节点x1。
其中,数据表集合中数据表的生产关系的获取可以根据需要灵活实现。例如,平台中每个数据表可以是由对应的生产任务生产的,生产任务可以具有相应的任务信息,包含了该任务生产的数据表所依赖的数据表信息,因此可以基于此得到数据表集合中数据表的生产关系。
实际应用中,有向图的构建方式可以根据需要灵活配置。作为一个例子,有向图具体的数据形态,可以包括用于记录有向边的信息的数据表(可简称为边表)以及记录有节点的信息的数据表(可简称点表)。
例如,边表可见如下表格:
该边表中包含了有关多条有向边的元数据,每条元数据对应于一条有向边,可以记录有向边的起始节点对应的数据表(即表格中的src_table)和有向边的终止节点对应的数据表(即表格中的dst_table)。表格中的第一行数据即表示了数据表a与数据表b生产关系,其它同理。
点表中用于记录每个节点的节点信息,节点信息包含但不限于节点标识、节点的属性等等。其中,节点的属性包括但不限于:
①is_leaf,即节点类型属性,用于标志该节点是否为叶子节点(例如,可以用1表示为叶子节点,0表示不是叶子节点);
②node_have_valid_access,即有效访问属性,用于标志该节点是否存在有效访问(例如,可以用1表示有有效访问,0表示无有效访问);
③path_have_valid_access,即有效链路节点属性,用于标志该节点是否为有效链路节点(例如,可以用1表示是有效链路节点,0表示不是有效链路节点)。
以下是一个点表的示意,其示出了数据表a和数据表b分别对应的节点的节点信息。
如图2C所示,为本说明书根据一示例性实施例示出的一种有向图的示意图,该示意图中示出了一个有向图,其中包含多个节点,节点之间的有向边表示节点对应的数据表之间的生产关系。例如,节点264指向节点273,表示节点273对应的数据表依赖于节点264对应的数据表。节点221有两条边,分别是节点211和节点212,表示节点221对应的数据表需要依赖于节点211对应的数据表和节点212对应的数据表。实际应用中,有向图根据实际需识别的数据表集合可以有多种不同的结构,例如,有向图中可能存在一个或多个根节点,有向图中也可能存在孤立的节点,即未有与其他节点存在生产关系的节点等等。
数据表集合中部分或全部数据表具有效访问信息,在构建有向图时,可以为数据表对应的节点配置有效访问属性信息。作为一个示例,有向图中每个节点具有一个或多个属性,其中一个属性为有效访问属性,如前述实施例中的命名为node_have_valid_access的属性,其存储了该节点是否存在有效访问的信息,例如,可以用1表示预设时长范围内有有效访问,用0表示预设时长范围内无有效访问;当然,采用其他数值表示也是可选的,本实施例对此不进行限定。
构建出了有向图,基于本实施例的识别出无效数据表的目的,需要从有向图中识别出无效数据表对应的无效节点。实际实现时,在步骤204中,本实施例设计了从有向图中搜索出所有有效访问节点,进一步的可知,有向图中所有有效访问节点的补集即无效节点。
其中,有向图中一个携带有效访问属性信息的节点,就是一个存在着有效访问的有效访问节点;那么,在该有效访问节点之上,从根节点至该有效访问节点的路径上的所有点,都可以认为是有效,而并非是无效节点。也即是,对于一个有效访问节点,有向图中能够沿着有向边到达该有效访问节点的一个或多个节点都可以认为是有效的。例如,假设节点263携带有效访问属性信息,则节点263是有效访问节点,从根节点211和根节点212至节点263的路径均为有效链路节点,此时无需确定其他有效链路节点是否携带有效访问属性信息,由于节点263属于有效访问节点,在节点263之上的其他节点均不应该被认为是无效节点。如图2D所示,是从图2C中的有向图搜索出有效链路节点后的示意图,图中同样用多角星图形示意出有效链路节点。
实际应用中,在有向图中搜索有效链路节点的实现过程,可以根据已有的图遍历算法进行配置。实际实现时,一种思路可以是:在有向图中,沿未携带有效访问属性信息的叶子节点在朝向有向图的根节点的方向上进行指定深度的深度优先搜索,然后从搜索终点向下进行相同深度的深度优先搜索,记录两次搜索的路径。之后,可以匹配向上搜索的路径和向下搜索的路径,取得除叶子节点外,其它节点出入度均为1的路径,即为无效路径,无效路径中包含的每个节点即无效节点。然而,此种方案能够挖掘出无效链路,但是准确性和时效性都堪忧,因为需要每次都要进行上下两次深度搜索,以及匹配识别无效链路的后处理,在大数据计算服务场景中有向图中的节点和边的数量巨大,对于包含上百万节点和上千万有向边的有向图,经试验,搜索深度一旦超过7,搜索时效较差,搜索时间会超过24小时;若要控制时效,就无法保证遍历整个有向图,这会导致搜索准确度无法达到100%,即没法做到从全局角度找出所需的数据表。同时,试验中还发现了存在有效访问记录的节点占所有节点的46.5%,这部分节点会被不断重复遍历,这是完全不需要的,可以被剪枝处理。
基于此,为了提升搜索效率,且不受限于搜索深度,实现对整个有向图的全局搜索,在一些例子中,所述遍历所述有向图,以搜索出所述有向图中包含的携带有效访问属性信息的有效访问节点,以及所述有效访问节点和所述有向图的根节点之间的路径上的所有的有效链路节点,可以包括:
采用广度优先搜索算法,从所述有向图中的每个叶子节点开始,分别在朝向所述有向图的根节点的方向上进行遍历搜索,以搜索出所述有向图中包含的携带有效访问属性信息的有效访问节点,以及所述有效访问节点和所述有向图的根节点之间的路径上的所有的有效链路节点。
本实施例中,广度优先搜索(Breadth-First Search,BFS)算法中会从图的某个节点开始,首先访问该节点,然后访问与该节点相邻的所有未被访问过的节点,再依次访问这些相邻节点的相邻节点,以此类推,直到所有可达的节点都被访问过;即BFS会先访问离起始点最近的节点,再依次访问距离逐渐增加的节点。本实施例中,采用广度优先搜索算法,从有向图中的每个叶子节点开始,分别在朝向有向图的根节点的方向上进行遍历搜索。其中,叶子节点有多个,可以根据需要从任一叶子节点开始进行遍历搜索。
可选的,搜索的同时还可以使用一临时的属性(例如可以命名为visited)来表示节点是否被搜索过,可以采用1表示搜索过,采用0表示没有搜索过。可选的,在搜索过程中,还可以对有效链路节点进行标识。例如,一些有向图中存在环的情况,环即节点和节点的连接起来能首尾相连,如a→b→c→a或a→a等;每个节点还可以包括有效链路节点属性信息,该属性可以是如前述实施例中命名为path_have_valid_access的属性,该属性可以采用1表示节点为有效链路节点,采用0表示不是有效链路节点,即无效节点。如此,当向上搜索到属性node_have_valid_access为1的节点时,对当前节点以及后续路径上的所有节点的path_have_valid_access赋值为1,如果遇到visited属性赋值为1的节点则中断搜索,否则直到尽头。
例如,在图2C中,作为一个示例,可以从叶子节点273开始,朝向根节点方向进行广度优先搜索;由于节点273携带了有效访问属性信息,对该节点273和有向图中从根节点(节点211和节点212)至节点273的路径上的所有节点都确定为有效链路节点。
如图2D所示,是本说明书实施例从图2C中示意的有向图中搜索出有效链路节点的示意图,图2D中多角星图形的节点即为有效链路节点。
如此,经过步骤204,可以找出有向图中的有效链路节点,则有向图中除有效链路节点之外的其他各个节点即无效节点,这些无效节点对应的数据表,可以确定为待清理的无效数据表。
在一些例子中,还可以根据需要搜索出每一条无效路径,无效路径是由具有生产关系的无效数据表所对应的节点构成的。所述将所述有向图中除所述有效链路节点之外的其他各个节点对应的数据表,确定为待清理的无效数据表,可以包括:
从所述有向图中的各个叶子节点中确定出未携带有效访问属性信息的无效叶子节点,并采用深度优先搜索算法,从所述无效叶子节点开始,在朝向所述有向图的根节点的方向上进行遍历搜索;
若搜索到根节点,将从搜索到的根节点至所述无效叶子节点之间的无效路径中包含的各节点对应的数据表确定为待清理的无效数据表;
若搜索到有效链路节点,将从搜索到的所述有效链路节点的下游节点至所述无效叶子节点之间的无效路径中包含的各节点对应的数据表确定为无效数据表。
本实施例中,可以基于深度优先搜索找出各条无效路径,无效路径中可以包含一个或多个无效节点,对于包含多个无效节点的无效路径来说,其表征了这多个无效节点之间的生产依赖链路。其中,深度优先搜索(Depth-First Search,DFS)算法中,从图的某个顶点开始,沿着一条路径尽可能深入地访问未被访问过的节点,直到无法继续前进时返回,然后回溯到前一个节点,并尝试其他路径。DFS会先探索深度方向的节点,再回溯到上一级节点继续探索。
例如,在图2D基础上,采用深度优先搜索算法,从各个无效叶子节点开始向上进行遍历搜索,例如可以是从无效叶子节点261开始向上,当遇到有效链路节点时则停止搜索,如向上经过节点251和节点241后遇到有效链路节点231,则保存从该无效叶子节点261至有效链路节点231的下游节点241之间的路径,这条路径中包含的各节点对应的数据表即待清理的无效数据表。假设一直向上搜索到并非有效链路节点的根节点,保存从搜索到的根节点至所述无效叶子节点之间的无效路径,这条路径中包含的各节点对应的数据表即待清理的无效数据表。通过上述实施例,可以高效地搜索出各条无效路径及无效路径中的无效节点。
无效路径中可以包含一个节点或多个节点。以图2C为例,搜索出的各条无效路径可以是:“节点241→节点251→节点261”、“节点241→节点252→节点262→节点271”,以及“节点272”。通过节点编号与节点对应的数据表之间的映射关系,即可以得到对应的各条无效路径中的无效数据表。
可选的,也可以采用数据表记录各条无效路径中包含的节点,例如,如下表格所示:
not_valid_path
a,b,c
a,d,e,f
g
该数据表中每一条数据对应一条无效路径not_valid_path,路径中各个数据表的名称采用逗号作为分隔符;例如,“a,b,c”即对应图2D中的无效路径“节点241→节点251→节点261”;其它同理。
在一些例子中,本实施例还可以输出与确定出的所述待清理的无效数据表对应的数据表清理提醒;例如,可以配置提醒通知方式,例如邮件或消息推送等多种方式,可以确定待清理的无效数据表的用户,通过配置的通知方式向用户发送清理提醒,提醒通知中可以包含具体的数据表名称或清理建议等等信息,本实施例对此不进行限定。如此,可以提醒用户及时对无效数据表进行清理,减少对存储资源的浪费。
如前述分析的,数据表由生产任务生产出来的,在一些例子中,所述方法还可以包括:
将与确定出的待清理的无效数据表对应的生产任务,确定为待清理的生产任务;其中,所述生产任务为用于生产所述数据表的任务;
输出与确定出的所述待清理的生产任务对应的任务提醒。
本实施例中,当识别出无效数据表后,还可以确定待清理的无效数据表对应的生产任务为待清理的生产任务,并输出这些待清理的生产任务对应的任务提醒。
其中,数据表清理提醒和待清理的生产任务对应的任务提醒,两者根据需要可以同时向用户发出,也可以是分开单独发出,本实施例对此不进行限定。另外,任务提醒中包含的具体信息可以根据需要进行配置,本实施例对此不进行限定。如此,可以提醒用户及时清理无效任务,减少对存储资源和计算资源的浪费。
在一些例子中,考虑到生产任务可以生产一个数据表,也可以生产多个数据表;基于此,本实施例还提供了如下实施例以实现针对性的任务提醒。前述记录无效路径的表格中,第一行数据记录的无效路径“a,b,c”中,数据表c所对应的即无效路径中的叶子节点,数据表a和数据表b并非叶子节点,即无效路径中的非叶子节点(也可以称为中间节点)。表格中无效路径“g”中的数据表g,对应的是一个孤立节点,未有下游的子节点也未有上游的父节点。平台中生产任务和数据表还可能是复杂的多对多关系,例如,如图2E所示,图中有一个生产任务既生产了无效表,也生产了一个有效表。基于此,本实施例可以包括如下三类任务提醒:
①若待清理的生产任务所生产的数据表中包含待清理的无效数据表和与所述有效链路节点对应的有效数据表,则与该待清理的生产任务对应的任务提醒为,用于提示用户将该待清理的生产任务对应的执行代码中,与生产无效数据表相关的代码注释为不可执行代码的提醒消息。
本实施例中,具体可以是某个生产任务既产出无效数据表,也产出了有效数据表;那么,该生产任务不可以停止运行,但可以提示用户,尝试将该待清理的生产任务对应的执行代码中,与生产无效数据表相关的代码注释为不可执行代码,从而使该生产任务不再产出无效数据表。
②若待清理的生产任务所生产的数据表中未包含与所述有效链路节点对应的有效数据表、但包含与所述无效路径中的非叶子节点对应的目标无效数据表,则与该待清理的生产任务对应的任务提醒为,用于提示用户是否解除与该目标数据表存在生产关系的下游数据表和该目标数据表之间的生成关系后再停止运行该生产任务的提醒消息。
本实施例中,具体可以是某个生产任务未产出有效数据表,但是产出的无效数据表对应的节点属于无效路径中的非叶子节点(即中间节点),也即是该无效数据表存在下游数据表,无效数据表及下游数据表可能是不同人员在负责,虽然在本实施例中下游数据表也是属于无效数据表,但为了规避可能存在的风险,可以提示用户是否解除与该目标数据表存在生产关系的下游数据表和该目标数据表之间的生成关系后再停止运行该生产任务。
③若待清理的生产任务所生产的数据表仅包含与所述无效路径中的叶子节点对应的待清理的无效数据表,则与该待清理的生产任务对应的任务提醒为,用于提示用户该待清理的生产任务可停止运行的提醒消息。
本实施例中,具体可以是某个生产任务生产的数据表未有下游数据表的依赖,即该无效数据表对应的节点是未有子节点的叶子节点;具体的,该节点可以是包含多个节点的无效路径中的叶子节点,也可以是无效路径中唯一一个节点,那么与该待清理的生产任务对应的任务提醒为,用于提示用户该待清理的生产任务可停止运行的提醒消息。
其中,本实施例的生产任务可停止运行,具体可以是将生成任务暂停运行,也可以将生产任务下线。
本实施例中,对数据表的有效访问定义为数据表的数据所有者的访问,并且,待识别的数据表集合具有对应的有向图,利用有向图的有向边来表示有向边连接的节点对应的数据表之间的生产关系。如此,可以遍历有向图,这样基于有向图中携带有效访问属性信息的有效访问节点,可以在有向图中全局判断各个有生产关系的数据表的情况,以搜索出所有有效链路节点。如此,搜索出的有效链路节点所对应的数据表是有效数据表,有向图中除有效链路节点之外的其他节点所对应的表就是无效数据表。本实施例中实现了将数据表的来自下游数据表的访问视作一种无效访问,同时,只要数据表存在有效访问记录,那么该数据表上层的那些数据表,不管存不存在有效访问记录,都认定为有效。因此,既可以缩短具有生产依赖关系的其他各数据表的治理时间,也能够从全局角度全面准确地找出无效数据表,能够降低清理风险。
本实施例中,在实现全链路级的无效数据表的识别的基础上,进一步还可以实现无效数据表的生产任务的识别,有效提升无效数据表及产出无效数据表的生产任务的识别准确率,使得准确率达到100%,覆盖了链路上下游的所有无效资产(数据表和生产任务),资产的下线速度相对已有方案有大幅提升。
本实施例通过对无效链路的挖掘,实现从全链路角度看待数据表是否有效,保证了识别到的无访问记录的数据表的下游数据表也是均不存在有效访问的,从而从使用角度保证了对无效数据表的清理是100%无风险的。同时由于识别了无效表相对应的有效表,这为产出无效任务的治理操作提供了更全面的风险信息和操作参考,既降低了风险,又提升了用户的治理效率。
本实施例通过无效路径的挖掘,识别除了链路上游的无效表,能够支持链路级的无效表和对应生产任务的治理,可以支持批量数据表的一键清理,不再需要等待至少t天后才能治理上一层节点,提升治理速度至少10倍。这大大节省了清理成本,也提升了清理效率,据统计,可清理任务数量提升35%,可清理计算成本提升41%,可清理存储成本提升47%。
本实施例方案的搜索效率较高。在内存使用上,主要由有向边的数量决定,每条边的内存占用量为16Byte,总内存使用量通常为边数据内存总占用量的10-30倍。例如对于1亿条边的图数据,边数据的内存占用量为1.6GB,总内存使用量通常为16-48GB,图数据越密集,内存使用量越高。在计算时间上,与输入的图数据的大小、路径长度、线程使用数量、叶子节点数量密切相关。其中,计算时间与边数据大小和叶子节点数量均呈线性关系,与路径长度呈指数关系,与线程使用数量呈线性负相关关系。
本实施例的无效数据表的识别方法可以运行计算机设备中,计算机设备包括但不限于服务器、云服务器、服务器集群、平板计算机、个人数字助理(PDA)、膝上计算机、或者台式计算机等设备。在一些例子中,本实施例的数据表识别方法可以应用于大数据计算服务平台,或者是与大数据计算服务平台对接的系统中,本实施例对此不做任何限制。
与前述无效数据表的识别方法的实施例相对应,本说明书还提供了无效数据表的识别装置及其所应用的计算机的实施例。
本说明书无效数据表的识别装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书无效数据表的识别装置所在计算机设备的一种硬件结构图,除了图3所示的处理器310、内存330、网络接口320、以及非易失性存储器340之外,实施例中无效数据表的识别装置331所在的计算机设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
如图4所示,图4是本说明书根据一示例性实施例示出的一种无效数据表的识别装置的框图,所述装置包括:
获取模块41,响应于接收到针对数据表集合的识别请求,获取基于所述数据表集合中的数据表和数据表之间的生产关系创建的有向图;其中,所述有向图中的各个节点表示所述数据表集合中的各个数据表;所述有向图中的有向边,表示该有向边连接的节点对应的数据表之间的生产关系;
搜索模块42,遍历所述有向图,以搜索出所述有向图中包含的携带有效访问属性信息的有效访问节点,并将搜索到的有效访问节点和所述有向图的根节点之间的路径上的所有节点确定为有效链路节点;其中,所述有效访问属性信息用于表示与该有效访问节点对应的数据表的数据所有者,在预设时长范围内针对该数据表进行了访问;
确定模块43,将所述有向图中除所述有效链路节点之外的其他各个节点对应的数据表,确定为待清理的无效数据表。
在一些例子中,所述有向图中的有向边表示的生产关系,为该有向边的起始节点对应的数据表,生产出了该有向边的终止节点对应的数据表的关系。
在一些例子中,所述搜索模块,遍历所述有向图,以搜索出所述有向图中包含的携带有效访问属性信息的有效访问节点,以及所述有效访问节点和所述有向图的根节点之间的路径上的所有的有效链路节点,包括:
采用广度优先搜索算法,从所述有向图中的每个叶子节点开始,分别在朝向所述有向图的根节点的方向上进行遍历搜索,以搜索出所述有向图中包含的携带有效访问属性信息的有效访问节点,以及所述有效访问节点和所述有向图的根节点之间的路径上的所有的有效链路节点。
在一些例子中,所述确定模块,将所述有向图中除所述有效链路节点之外的其他各个节点对应的数据表,确定为待清理的无效数据表,包括:
从所述有向图中的各个叶子节点中确定出未携带有效访问属性信息的无效叶子节点,并采用深度优先搜索算法,从所述无效叶子节点开始,在朝向所述有向图的根节点的方向上进行遍历搜索;
若搜索到根节点,将从搜索到的根节点至所述无效叶子节点之间的无效路径中包含的各节点对应的数据表确定为待清理的无效数据表;
若搜索到有效链路节点,将从搜索到的所述有效链路节点的下游节点至所述无效叶子节点之间的无效路径中包含的各节点对应的数据表确定为无效数据表。
在一些例子中,所述装置还包括清理输出模块,输出与确定出的所述待清理的无效数据表对应的数据表清理提醒。
在一些例子中,所述清理输出模块,将与确定出的待清理的无效数据表对应的生产任务,确定为待清理的生产任务;其中,所述生产任务为用于生产所述数据表的任务;输出与确定出的所述待清理的生产任务对应的任务提醒。
在一些例子中,所述生产任务生产一个或多个数据表;
若待清理的生产任务所生产的数据表中包含待清理的无效数据表和与所述有效链路节点对应的有效数据表,则与该待清理的生产任务对应的任务提醒为,用于提示用户将该待清理的生产任务对应的执行代码中,与生产无效数据表相关的代码注释为不可执行代码的提醒消息;
若待清理的生产任务所生产的数据表中未包含与所述有效链路节点对应的有效数据表、但包含与所述无效路径中的非叶子节点对应的目标无效数据表,则与该待清理的生产任务对应的任务提醒为,用于提示用户是否解除与该目标数据表存在生产关系的下游数据表和该目标数据表之间的生成关系后再停止运行该生产任务的提醒消息;
若待清理的生产任务所生产的数据表仅包含与所述无效路径中的叶子节点对应的待清理的无效数据表,则与该待清理的生产任务对应的任务提醒为,用于提示用户该待清理的生产任务可停止运行的提醒消息。
在一些例子中,所述数据表包括:大数据计算服务平台中的离线数据表。
上述无效数据表的识别装置中各个模块的功能和作用的实现过程具体详见上述无效数据表的识别方法中对应步骤的实现过程,在此不再赘述。
相应的,本说明书实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现前述无效数据表的识别方法实施例的步骤。
相应的,本说明书实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现无效数据表的识别方法实施例的步骤。
相应的,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现无效数据表的识别方法实施例的步骤。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例可以应用于一个或者多个计算机设备中,所述计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,所述计算机设备的硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
所述计算机设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。
所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该申请的保护范围内。
其中,“具体示例”、或“一些示例”等的描述意指结合所述实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (11)
1.一种无效数据表的识别方法,所述方法包括:
响应于接收到针对数据表集合的识别请求,获取基于所述数据表集合中的数据表和数据表之间的生产关系创建的有向图;其中,所述有向图中的各个节点表示所述数据表集合中的各个数据表;所述有向图中的有向边,表示该有向边连接的节点对应的数据表之间的生产关系;
遍历所述有向图,以搜索出所述有向图中包含的携带有效访问属性信息的有效访问节点,并将搜索到的有效访问节点和所述有向图的根节点之间的路径上的所有节点确定为有效链路节点;其中,所述有效访问属性信息用于表示与该有效访问节点对应的数据表的数据所有者,在预设时长范围内针对该数据表进行了访问;
将所述有向图中除所述有效链路节点之外的其他各个节点对应的数据表,确定为待清理的无效数据表。
2.根据权利要求1所述的方法,所述有向图中的有向边表示的生产关系,为该有向边的起始节点对应的数据表,生产出了该有向边的终止节点对应的数据表的关系。
3.根据权利要求1所述的方法,所述遍历所述有向图,以搜索出所述有向图中包含的携带有效访问属性信息的有效访问节点,以及所述有效访问节点和所述有向图的根节点之间的路径上的所有的有效链路节点,包括:
采用广度优先搜索算法,从所述有向图中的每个叶子节点开始,分别在朝向所述有向图的根节点的方向上进行遍历搜索,以搜索出所述有向图中包含的携带有效访问属性信息的有效访问节点,以及所述有效访问节点和所述有向图的根节点之间的路径上的所有的有效链路节点。
4.根据权利要求1所述的方法,所述将所述有向图中除所述有效链路节点之外的其他各个节点对应的数据表,确定为待清理的无效数据表,包括:
从所述有向图中的各个叶子节点中确定出未携带有效访问属性信息的无效叶子节点,并采用深度优先搜索算法,从所述无效叶子节点开始,在朝向所述有向图的根节点的方向上进行遍历搜索;
若搜索到根节点,将从搜索到的根节点至所述无效叶子节点之间的无效路径中包含的各节点对应的数据表确定为待清理的无效数据表;
若搜索到有效链路节点,将从搜索到的所述有效链路节点的下游节点至所述无效叶子节点之间的无效路径中包含的各节点对应的数据表确定为无效数据表。
5.根据权利要求1所述的方法,所述方法还包括:
输出与确定出的所述待清理的无效数据表对应的数据表清理提醒。
6.根据权利要求4所述的方法,所述方法还包括:
将与确定出的待清理的无效数据表对应的生产任务,确定为待清理的生产任务;其中,所述生产任务为用于生产所述数据表的任务;
输出与确定出的所述待清理的生产任务对应的任务提醒。
7.根据权利要求6所述的方法,所述生产任务生产一个或多个数据表:
若待清理的生产任务所生产的数据表中包含待清理的无效数据表和与所述有效链路节点对应的有效数据表,则与该待清理的生产任务对应的任务提醒为,用于提示用户将该待清理的生产任务对应的执行代码中,与生产无效数据表相关的代码注释为不可执行代码的提醒消息;
若待清理的生产任务所生产的数据表中未包含与所述有效链路节点对应的有效数据表、但包含与所述无效路径中的非叶子节点对应的目标无效数据表,则与该待清理的生产任务对应的任务提醒为,用于提示用户是否解除与该目标数据表存在生产关系的下游数据表和该目标数据表之间的生成关系后再停止运行该生产任务的提醒消息;
若待清理的生产任务所生产的数据表仅包含与所述无效路径中的叶子节点对应的待清理的无效数据表,则与该待清理的生产任务对应的任务提醒为,用于提示用户该待清理的生产任务可停止运行的提醒消息。
8.根据权利要求1所述的方法,所述数据表包括:大数据计算服务平台中的离线数据表。
9.一种无效数据表的识别装置,所述装置包括:
获取模块,响应于接收到针对数据表集合的识别请求,获取基于所述数据表集合中的数据表和数据表之间的生产关系创建的有向图;其中,所述有向图中的各个节点表示所述数据表集合中的各个数据表;所述有向图中的有向边,表示该有向边连接的节点对应的数据表之间的生产关系;
搜索模块,遍历所述有向图,以搜索出所述有向图中包含的携带有效访问属性信息的有效访问节点,并将搜索到的有效访问节点和所述有向图的根节点之间的路径上的所有节点确定为有效链路节点;其中,所述有效访问属性信息用于表示与该有效访问节点对应的数据表的数据所有者,在预设时长范围内针对该数据表进行了访问;
确定模块,将所述有向图中除所述有效链路节点之外的其他各个节点对应的数据表,确定为待清理的无效数据表。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现权利要求1至8任一所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至8任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311250232.8A CN117216326A (zh) | 2023-09-25 | 2023-09-25 | 无效数据表的识别方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311250232.8A CN117216326A (zh) | 2023-09-25 | 2023-09-25 | 无效数据表的识别方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117216326A true CN117216326A (zh) | 2023-12-12 |
Family
ID=89036880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311250232.8A Pending CN117216326A (zh) | 2023-09-25 | 2023-09-25 | 无效数据表的识别方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117216326A (zh) |
-
2023
- 2023-09-25 CN CN202311250232.8A patent/CN117216326A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782965B (zh) | 意图推荐方法、装置、设备及存储介质 | |
Vora et al. | Kickstarter: Fast and accurate computations on streaming graphs via trimmed approximations | |
CN105893349B (zh) | 类目标签匹配映射方法及装置 | |
US9519862B2 (en) | Domains for knowledge-based data quality solution | |
US20130117202A1 (en) | Knowledge-based data quality solution | |
US20130117219A1 (en) | Architecture for knowledge-based data quality solution | |
WO2014107441A2 (en) | Social media impact assessment | |
He et al. | On the dynamics of user engagement in news comment media | |
CN113254630B (zh) | 一种面向全球综合观测成果的领域知识图谱推荐方法 | |
US11609897B2 (en) | Methods and systems for improved search for data loss prevention | |
CN110263817B (zh) | 一种基于用户账号的风险等级划分方法及装置 | |
CN108710664A (zh) | 一种热词分析方法、计算机可读存储介质及终端设备 | |
CN114692978A (zh) | 一种基于大数据的社交媒体用户行为预测方法及系统 | |
US20150074121A1 (en) | Semantics graphs for enterprise communication networks | |
Martin | A Wikipedia literature review | |
Lee et al. | Event evolution tracking from streaming social posts | |
CN117216326A (zh) | 无效数据表的识别方法、装置、设备及存储介质 | |
CN117009832A (zh) | 异常命令的检测方法、装置、电子设备及存储介质 | |
CN113868373A (zh) | 一种词云生成方法、装置、电子设备及存储介质 | |
CN110019783A (zh) | 属性词聚类方法及装置 | |
Tsai et al. | Object architected design and efficient dynamic adjustment mechanism of distributed web crawlers | |
Preotiuc-Pietro | Temporal models of streaming social media data | |
CN111090670A (zh) | 一种数据预聚合的方法、系统、计算设备及存储介质 | |
Abdullah | Incremental pagerank for twitter data using hadoop | |
Dolgorsuren et al. | SP2: Spanner construction for shortest path computation on streaming graph |
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 |