数据清理方法及装置与流程

文档序号:11627732阅读:292来源:国知局
数据清理方法及装置与流程
本申请涉及互联网
技术领域
,尤其涉及数据清理方法及装置。
背景技术
:随着互联网技术的发展,用户可以通过互联网使用各种便利的业务应用,例如,即时通信应用、支付宝应用等,这些业务应用在使用过程中,会产生大量的数据,这些数据经过加工生产以数据表的形式保存在数据库中。现有技术中,一般通过人工的方式清理数据库中的无用数据。但是,采用人工清理的方式,容易导致很多清理错误,从而降低了数据清理的可靠性,还增加了数据清理的难度。技术实现要素:本申请提供数据清理方法及装置,以解决现有技术中采用人工清理的方式,容易导致很多清理错误,从而降低了数据清理的可靠性,还增加了数据清理的难度的问题。根据本申请实施例的第一方面,提供一种数据清理方法,所述方法用于对数据库中的多个数据节点进行处理,其中每个数据节点对应一个数据表,所述方法包括:在接收到业务信息时,为所述业务信息对应的第一数据节点添加对应的节点标记;从所述多个数据节点中确定与所述第一数据节点具有数据血缘关系的第二数据节点,并为所述第二数据节点添加对应的节点标记;在检测到未添加节点标记的第三数据节点时,对所述第三数据节点进行清理。根据本申请实施例的第二方面,提供一种数据清理装置,所述装置用于对数据库中的多个数据节点进行处理,其中每个数据节点对应一个数据表,所述装置包括:第一数据节点处理单元,用于在接收到业务信息时,为所述业务信息对应的第一数据节点添加对应的节点标记;第二数据节点处理单元,用于从所述多个数据节点中确定与所述第一数据节点具有数据血缘关系的第二数据节点,并为所述第二数据节点添加对应的节点标记;第三数据节点清理单元,用于在检测到未添加节点标记的第三数据节点时,对所述第三数据节点进行清理。根据本申请实施例的第三方面,提供一种数据清理装置,所述装置用于对数据库中的多个数据节点进行处理,其中每个数据节点对应一个数据表,所述装置包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为:在接收到业务信息时,为所述业务信息对应的第一数据节点添加对应的节点标记;从所述多个数据节点中确定与所述第一数据节点具有数据血缘关系的第二数据节点,并为所述第二数据节点添加对应的节点标记;在检测到未添加节点标记的第三数据节点时,对所述第三数据节点进行清理。应用本申请实施例对数据库中的多个数据节点进行处理,在接收到业务信息时,通过为业务信息对应的第一数据节点添加对应的节点标记,从多个数据节点中确定与第一数据节点具有数据血缘关系的第二数据节点,并为第二数据节点添加对应的节点标记,在检测到未添加节点标记的第三数据节点时,对第三数据节点进行清理,从而实现了自动清理作为无用数据的第三数据节点,降低了存储成本,还提高了数据清理的准确性。附图说明图1a为本申请实施例的数据清理场景示意图;图1b为本申请实施例的数据血缘关系的一示意图;图1c为本申请实施例的添加节点标记的一示意图;图1d为本申请实施例的数据清理的一示意图;图2为本申请数据清理方法的一个实施例流程图;图3为本申请数据清理方法的另一个实施例流程图;图4为本申请数据清理装置所在设备的一种硬件结构图;图5为本申请数据清理装置的一个实施例框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。在详细描述本申请实施例之前,对本申请实施例中涉及的术语进行解释:业务信息,可以指某个业务的业务名称,例如,支付宝;数据节点,可以指对业务运行过程中产生的数据进行加工后,保存在数据库中的数据表,例如,用户信息表、业务信息表等;数据血缘关系,可以指上述多个数据节点在生产过程中的上下游关系,例如,如果根据数据节点a生成数据节点b,则数据节点a是数据节点b的上游节点,同理数据节点b是数据节点a的下游节点;各个数据节点之间的数据血缘关系可以定期从结构化查询语言(structuredquerylanguage,sql)代码信息和日志信息中获取,比如,一天获取一次;数据血缘关系表,可以指用于保存上述数据节点之间的数据血缘关系的表,例如,每一条表项可以包括下游节点(也可称为目标数据节点)的节点名称,对应的上游节点(也可称为源数据节点)的节点名称,以及从上游节点加工出下游节点的加工方式等;节点标记,可以指用于表征某个数据节点是与业务相关联的信息,本申请实施例中添加了节点标记的数据节点为有用的数据节点,未添加节点标记的数据节点为无用的数据节点。节点标记可以包括业务标识、分类标识、业务等级中的至少一个,其中,业务标识用于表征数据节点的节点名称;分类标识用于表征数据节点在某个维度上所属的具体分类,比如该维度可以是公司部门(相应具体分类可以包括业务部门、财务部门和技术支持部门等);业务等级用于表征数据节点对应业务的重要程度。上述业务标识、分类标识、业务等级都可以用预先定义的数字、字母、或符号表示,对此本申请实施例不进行限制。参见图1a,为本申请实施例的数据清理场景示意图:图1a场景中包括:数据节点a、数据节点b、…、数据节点p。其中,数据节点a、数据节点b、…、数据节点p均是数据库中的数据节点。上述数据节点之间的数据血缘关系的示意可以如图1b中各个箭头所示,通过箭头连接的两个数据节点之间具有数据血缘关系,其中箭头的起点为下游节点,箭头的终点指向上游节点。以数据节点a、数据节点c、数据节点f为例,来说明数据节点之间的上下游关系。对数据节点c来说,数据节点a是数据节点c的下游节点,数据节点f是数据节点c的上游节点;对数据节点a来说,数据节点c和数据节点f均是数据节点a的上游节点;对数据节点f来说,数据节点c和数据节点a均是数据节点f的下游节点。本申请实施例中,首先,在接收到业务信息时,获取该业务信息对应的至少一个第一数据节点。比如:该业务信息对应的第一数据节点包括图1b所示中的数据节点a和数据节点b。其次,从多个数据节点中确定与第一数据节点具有数据血缘关系的第二数据节点。比如:根据图1b所示,通过各个箭头指示的数据血缘关系来确定数据节点a的上游节点分别是数据节点c、数据节点d、数据节点f、数据节点g、数据节点k、数据节点l、数据节点h、数据节点m;以及,数据节点b的上游节点分别是数据节点e、数据节点j、数据节点h、数据节点i、数据节点l、数据节点m、数据节点n。并且,为数据节点a和数据节点b、以及数据节点a的所有上游节点、数据节点b的所有上游节点添加节点标记,如图1c所示,颜色为灰色的数据节点代表添加了节点标记的数据节点。最后,在检测到未添加节点标记的第三数据节点时,对所述第三数据节点进行清理。比如:图1c中的数据节点o和数据节点p,这两个数据节点没有添加节点标记,也就是这两个数据节点与数据节点a和数据节点b均没有数据血缘关系,可以将数据节点o和数据节点p清理掉,并且清理掉后的数据库中包括的各个数据节点,如图1d所示。由上述实施例可见,本申请从业务出发,根据数据节点之间的数据血缘关系自动为与业务相关的所有数据节点添加节点标记,从而可以将未添加节点标记的数据节点作为无用数据清理掉,从而节省了存储资源。下面结合附图对本申请实施例进行进一步详细说明。参见图2,为本申请数据清理方法的一个实施例的流程图,该方法可以应用于数据处理设备上,比如:该数据处理设备为服务器,服务器用于对数据库中的多个数据节点进行处理,从而自动清理数据库中的无用数据。该方法包括以下步骤:步骤210:在接收到业务信息时,为业务信息对应的第一数据节点添加对应的节点标记。在业务系统中,当新增一个业务时,系统管理员可以从数据库中为该业务指定与其直接关联的数据节点,并保存该业务的业务信息和与该业务直接关联的数据节点之间的对应关系。本申请实施例中,在接收到业务信息时,可以先按照前述保存的对应关系,获取该业务信息对应的一个或多个数据节点,本申请实施例中称为第一数据节点,然后为第一数据节点添加对应的节点标记,该节点标记用于指明该第一数据节点是与业务相关的有用数据节点。上述第一数据节点对应的节点标记可以包括对应的业务标识和对应的分类标识中的至少一种。另外,第一数据节点对应的节点标记还可以包括业务等级。比如:业务信息是余额宝,其重要等级为第一,则可以将第一数据节点对应的业务等级设置为1,表明该第一数据节点对应的数据表为重要数据报表。举例来说:第一数据节点为图1b所示中的数据节点a,对数据节点a添加对应的节点标记后,得到的数据结构如表1所示。其中,节点标记包括业务标识、分类标识和业务等级。表1数据节点业务标识分类标识业务等级数据节点aa11步骤220:从多个数据节点中确定与第一数据节点具有数据血缘关系的第二数据节点,并为第二数据节点添加对应的节点标记。本申请实施例中,数据库中所有数据节点的数据血缘关系可以通过数据血缘关系表保存。在步骤210确定第一数据节点之后,可以先在数据血缘关系表中查询到第一数据节点,再以第一数据节点为起点,查询该第一数据节点的上游节点,该上游节点是与第一数据节点具有数据血缘关系的第二数据节点;若查询到一个第二数据节点,则为该第二数据节点添加对应的节点标记;若查询到多个第二数据节点时,则为各个第二数据节点添加对应的节点标记。其中,第二数据节点对应的节点标记可以包括对应的业务标识和对应的分类标识中的至少一种。另外,第二数据节点对应的节点标记中也可以包括对应的业务等级,并且,第一数据节点对应的业务等级和第二数据节点对应的业务等级可以相同。其中,在设置相同的业务等级时,可以通过重复迭代的方法将第一数据节点对应的业务等级传递到各个第二数据节点,使得第一数据节点的业务等级和各个第二数据节点对应的业务等级相同,从而提高了添加节点标记的速度。举例来说:第一数据节点为图1b所示中的数据节点a,数据节点a对应的第二数据节点包括数据节点c和数据节点d,对数据节点a、以及数据节点c和数据节点d添加各自对应的节点标记后,得到的数据结构如表2所示。其中,节点标记包括业务标识、分类标识和业务等级。表2数据节点业务标识分类标识业务等级数据节点aa11数据节点cc31数据节点dd41步骤230:在检测到未添加节点标记的第三数据节点时,对第三数据节点进行清理。本申请实施例中,可以将未添加节点标记的第三数据节点中的数据视为针对本次业务信息的无用数据,因此可以根据需要清理这些无用数据。根据实际需要,可以实时检测数据库中是否包括未添加节点标记的第三数据节点;还可以定时检测数据库中是否包括未添加节点标记的第三数据节点,比如,定时检测周期可以为一天检测一次。若检测到一个或多个第三数据节点时,可以删除第三数据节点,以及释放第三数据节点所占用的存储空间。其中,判断一个数据节点是否为未添加节点标记的第三数据节点的方式,可以包括但不限于以下这种方式:判断该数据节点对应的数据结构中的节点标记是否为空,若为空,则可以确定该数据节点为第三数据节点。例如,假设节点标记包括业务标识和分类标识,则判断业务标识和分类标识是否皆为空,若皆为空,则可以确定该数据节点是未添加节点标记的第三数据节点。由上述实施例可见,在接收到业务信息时,为业务信息对应的第一数据节点添加对应的节点标记,根据数据血缘关系表确定与第一数据节点具有数据血缘关系的第二数据节点,并为第二数据节点添加对应的节点标记,在检测到未添加节点标记的第三数据节点时,对第三数据节点进行清理,从而实现了自动清理作为无用数据的第三数据节点,降低了存储成本,还提高了数据清理的准确性。参见图3,为本申请数据清理方法的另一个实施例的流程图,该方法可以应用于数据清理设备上,并结合图2所示的实施例,该实施例用于定期更新数据血缘关系表中的各个数据节点之间的数据血缘关系,比如:一天更新一次。该方法包括:步骤310:从sql代码信息和日志信息中获取各个数据节点之间的数据血缘关系,该数据血缘关系用于表征各个数据节点之间的上下游关系。本申请实施例中,sql是一种用于数据库操作的语言。日志信息可以是数据加工过程中产生的日志信息。步骤320:根据各个数据节点之间的数据血缘关系更新数据血缘关系表中的数据血缘关系。比如:通过sql代码信息和日志信息获得数据节点a、数据节点c、数据节点f之间的数据结构,如表3所示。表3源数据节点目标数据节点备注数据节点f数据节点c数据节点c数据节点a从表1数据结构可以看出数据节点a、数据节点c、数据节点f之间的数据血缘关系:对数据节点c来说,数据节点a是数据节点c的下游节点,数据节点f是数据节点c的上游节点;对数据节点a来说,数据节点c和数据节点f均是数据节点a的上游节点;对数据节点f来说,数据节点c和数据节点a均是数据节点f的下游节点。其中,下游节点即表3中所示的目标数据节点,上游节点即表3中所示的源数据节点。根据定期获得的数据节点a、数据节点c、数据节点f之间的数据血缘关系可以更新数据血缘关系表中对应的数据节点a、数据节点c、数据节点f之间的数据血缘关系。由上述实施例可见,从sql代码信息和日志信息中获取各个数据节点之间的数据血缘关系,根据各个数据节点之间的数据血缘关系更新数据血缘关系表中数据血缘关系,使得数据血缘关系表中的数据血缘关系始终为最新的数据血缘关系,便于为数据清理时提供依据,从而提高了数据清理的可靠性。与本申请数据清理方法的实施例相对应,本申请还提供了数据清理装置的实施例。本申请数据清理装置的实施例可以分别应用在数据清理设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请数据清理装置所在设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,如对于终端来说,可能包括摄像头、触摸屏、通信组件等,对于服务器来说,可能包括负责处理报文的转发芯片等等。参见图5,为本申请数据清理装置的一个实施例框图,该数据清理装置可以应用在数据处理设备上,并可以用于执行图2所示的数据清理方法,该装置用于对数据库中的多个数据节点进行处理,其中每个数据节点对应一个数据表,该装置包括:第一数据节点处理单元51、第二数据节点处理单元52和第三数据节点清理单元53。第一数据节点处理单元51,用于在接收到业务信息时,为所述业务信息对应的第一数据节点添加对应的节点标记;第二数据节点处理单元52,用于从所述多个数据节点中确定与所述第一数据节点具有数据血缘关系的第二数据节点,并为所述第二数据节点添加对应的节点标记;第三数据节点清理单元53,用于在检测到未添加节点标记的第三数据节点时,对所述第三数据节点进行清理。在另一个可选的实现方式中:所述装置还包括获取单元和更新单元(图5中未示出)。获取单元,用于从sql代码信息和日志信息中获取各个数据节点之间的数据血缘关系,所述数据血缘关系用于表征各个数据节点之间的上下游关系;更新单元,用于根据所述各个数据节点之间的数据血缘关系更新用于保存所述数据血缘关系的数据血缘关系表中。在另一个可选的实现方式中:所述第一数据节点处理单元51包括确定子单元和第一添加子单元(图5中未示出)。确定子单元,用于在接收到业务信息时,确定所述业务信息对应的至少一个第一数据节点;第一添加子单元,用于为各个所述第一数据节点添加对应的节点标记。在另一个可选的实现方式中:所述第二数据节点处理单元52包括查询子单元和第二添加子单元(图5中未示出)。查询子单元,用于在数据血缘关系表中查询到所述第一数据节点时,以所述第一数据节点为起点,查询所述多个数据节点中所述第一数据节点的上游节点,所述上游节点是与所述第一数据节点具有数据血缘关系的第二数据节点,其中,所述数据血缘关系表用于保存所述多个数据节点的数据血缘关系;第二添加子单元,用于若查询到至少一个所述第二数据节点时,为各个所述第二数据节点添加对应的节点标记。在另一个可选的实现方式中:所述第三数据节点清理单元53包括检测子单元和清理子单元(图5中未示出)。检测子单元,用于检测所述数据库中是否包括未添加节点标记的第三数据节点;清理子单元,用于若检测到至少一个所述第三数据节点时,删除各个所述第三数据节点,以及释放各个所述第三数据节点所占用的存储空间。上述装置实施例中涉及的节点标记可以包括业务标识和分类标识中的至少一种;进一步,所述节点标记还可以包括业务等级。在一个可选的实现方式中,第一数据节点对应的业务等级和第二数据节点对应的业务等级可以相同。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本请求方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本申请实施例还提供了一种数据清理装置,所述装置用于对数据库中的多个数据节点进行处理,其中每个数据节点对应一个数据表,所述装置包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为:在接收到业务信息时,为所述业务信息对应的第一数据节点添加对应的节点标记;从所述多个数据节点中确定与所述第一数据节点具有数据血缘关系的第二数据节点,并为所述第二数据节点添加对应的节点标记;在检测到未添加节点标记的第三数据节点时,对所述第三数据节点进行清理。由上述实施例可见,在接收到业务信息时,为业务信息对应的第一数据节点添加对应的节点标记,根据数据血缘关系表确定与第一数据节点具有数据血缘关系的第二数据节点,并为第二数据节点添加对应的节点标记,在检测到未添加节点标记的第三数据节点时,对第三数据节点进行清理,从而实现了自动清理作为无用数据的第三数据节点,降低了存储成本,还提高了数据清理的准确性。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1