数据表清理方法、装置及服务器与流程

文档序号:26305751发布日期:2021-08-17 13:47阅读:102来源:国知局
数据表清理方法、装置及服务器与流程

本发明涉及数据库处理技术领域,尤其涉及一种数据表清理方法、装置及服务器。



背景技术:

企业的核心业务数据库系统随着时间的推移和业务量的增长,会产生许多逻辑概念上历史表、临时表和中间表等,这部分表可能已经失去了使用价值,却占用了数据库存储空间。因此,需要及时清理数据表,释放存储空间以保证数据库程序的正常运行。

现有技术中,主要依赖于数据库管理员的经验来清理数据表,具体的通过监测数据库指标以及用户空间下的表数据来对数据库的使用情况、健康状况进行评估,并根据评估的结果清理数据库中的数据表。

然而,人工清理数据库中的数据表方法中,由于需要监控数据库指标数量过多以及指标的重要性难以掌握,存在监测数据库的指标与数据库运行情况不一致的问题,导致对数据库中数据表的评估结果不准确,影响数据表清理的效果。



技术实现要素:

本发明的目的在于提供一种数据表清理方法、装置及服务器,以提高清理数据表的准确性。

第一方面,本发明提供一种数据表清理方法,包括:

获取预设时间段内数据库的指标集,其中所述指标集包含所有数据表的元数据特征参数和所述数据库的关系特征参数;

将所述指标集输入预设随机森林模型中,获得所述数据库中所有数据表的评估值,其中所述预设随机森林模型是根据所述数据库的存储代码、数据库中所有数据表的元数据信息以及每个数据表的评估值进行训练获得的;

清理所述数据库中评估值最小的数据表,获得清理后的数据库。

在一种可能的设计中,所述预设随机森林模型的训练步骤,包括:

获取数据库的存储代码、数据库中所有数据表的元数据信息以及每个数据表的评估值,并将所述数据库的存储代码进行解析获得关系特征信息;

将所述关系特征信息以及所述数据库中所有数据表的元数据信息进行数据处理,获得元数据特征参数和关系特征参数,并将所述元数据特征参数和关系特征参数以及所述每个数据表的评估值作为样本集;

按照预设比例将所述样本集分为训练集和验证集,采用随机森林算法对所述训练集进行建模,获得随机森林模型,并根据所述验证集验证对所述随机森林模型进行验证。

在一种可能的设计中,在所述获取预设时间段内数据库的指标集之后,还包括:

根据独热编码对所述指标集进行预处理,将所述指标集中元数据特征参数和关系特征参数中的离散参数变为连续特征参数。

在一种可能的设计中,所述将所述数据库的存储代码进行解析获得关系特征信息,包括:

根据图数据库对所述存储代码进行解析,获得所述数据库的数据表关系图谱;

根据所述数据库中所有数据表的受众量、更新量级以及更新频次对所述数据表关系图谱进行评估,获得所述数据库的关系特征信息。

在一种可能的设计中,所述关系特征参数包括上游表数量、下游表数量、上游表距今更新天数、下游表归属存储是否生效、存在天数、距今更新天数、表名类别、数据行数、数据表大小、是否存在白名单、归属存储是否生效、日均增长、周均增长、月均增长、日增环比、周增环比以及月增环比中的至少一种,所述元数据特征参数包括用户名、表名、数据库名、生成日期、表更新时间、数据表行数、数据表大小中的至少一种。

第二方面,本发明实施例提供一种数据表清理装置,包括:

获取模块,用于获取预设时间段内数据库的指标集,其中所述指标集包含所有数据表的元数据特征参数和所述数据库的关系特征参数;

输入模块,用于将所述指标集输入预设随机森林模型中,获得所述数据库中所有数据表的评估值,其中所述预设随机森林模型是根据所述数据库的存储代码、数据库中所有数据表的元数据信息以及每个数据表的评估值进行训练获得的;

清理模块,用于清理所述数据库中评估值最小的数据表,获得清理后的数据库。

在一种可能的设计中,所述数据表清理装置还包括:

预处理模块,用于根据独热编码对所述指标集进行预处理,将所述指标集中元数据特征参数和关系特征参数中的离散参数变为连续特征参数。

第三方面,本发明实施例提供一种服务器,包括存储器和至少一个处理器;所述存储器用于存储计算机执行指令;至少一个处理器,用于执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行实现如第一方面以及第一方面的任一方面所述的数据表清理方法。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面以及第一方面的任一方面所述的数据表清理方法。

第五方面,本发明实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如第一方面以及第一方面的任一方面所述的数据表清理方法。

本发明实施例提供的一种数据表清理方法、装置及服务器,通过根据数据库的存储代码、数据库中所有数据表的元数据信息以及每个数据表的评估值采用随机森林算法进行模型训练,获得隐含数据库中数据表之间关系特征的随机森林模型,预测数据库中所有数据表的评估值,提高了清理数据库中数据表的准确性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1为关系型数据库的可视化结构示意图;

图2为本发明实施例提供的数据表清理方法流程图一;

图3为本发明实施例提供的数据表清理方法流程图二;

图4为本发明实施例提供的数据表清理方法流程图三;

图5为本发明实施例提供的数据表清理装置的结构示意图;

图6为本发明实施例提供的服务器的硬件结构示意图。

具体实施方式

通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

企业的核心业务数据库系统随着时间的推移和业务量的增长,会产生许多逻辑概念上历史表、临时表和中间表等,这部分表可能已经失去了使用价值,却占用了服务器中数据库存储空间,严重时可能会影响数据库的正常运行。因此,清理数据表,释放存储空间以保证数据库程序的正常运行是每个数据库管理员必备的工作技能。

目前,服务器中数据库存储空间的运维主要依赖于数据库管理员的经验来维护,数据库管理员通过监测数据库指标以及用户空间下的表数据来对数据库的使用情况、健康状况进行评估,这种评分机制被称为“专家模型”。专家模型依赖具有多年经验的数据库管理员人工选取数据表,并根据个人经验设定规则和模型,用以判断当前数据库的使用情况、可清理表的情况。示例性的,如图1所示,图1为关系型数据库的可视化结构示意图,包括信息节点、数据流转线路、清洗规则节点、转换规则节点和数据归档销毁规则节点。这种依赖于个人经验的专家模型清洗关系型数据库的方法中,存在着以下缺点:无法掌握关系型数据库指标之间的关联关系,如图1中e1、t1和r1等数据库的关联关系,对于采用什么样的指标去进行数据库运行情况分析难以确定,易导致数据表被错误清理,存在可靠性低和效率低的问题。

为了解决上述技术问题,本发明实施例利用关系型数据库中数据表之间相互的关系的特点,以随机森林算法为基础,训练出用于预测数据表评估值的随机森林模型,客观和准确地预判数据表是否需要清理,可以有效提高关系型数据库的清洗准确性。

图2为本发明实施例提供的数据表清理方法流程图一。其中,本实施例的执行主体可以为存储数据库的服务器。如图2所示,数据表清理方法包括以下步骤:

s201:获取预设时间段内数据库的指标集,其中指标集包含所有数据表的元数据特征参数和数据库的关系特征参数。

在本发明实施例中,采集预设时间段内数据库的指标数据,并获得数据库的指标集。具体的,通过采集数据库的更新信息、所有数据表的数据流转线路信息、数据流转数量以及变更信息等,获得所有数据表的元数据特征参数和数据库的关系特征参数。示例性的,关系特征参数包括上游表数量、下游表数量、上游表距今更新天数、下游表归属存储是否生效、存在天数、距今更新天数、表名类别、数据行数、数据表大小、是否存在白名单、归属存储是否生效、日均增长、周均增长、月均增长、日增环比、周增环比以及月增环比中的至少一种,元数据特征参数包括用户名、表名、数据库名、生成日期、表更新时间、数据表行数、数据表大小中的至少一种。

在一种可能的实现方式中,可根据独热编码对指标集进行预处理,将指标集中元数据特征参数和关系特征参数中的离散参数变为连续特征参数。由于元数据特征参数和关系特征参数可能并不完全为连续值,则可以采用独热编码对指标集中的特征参数的离散特征进行编码后,编码后的特征参数中的每一维度的特征都可以看做是连续值。采用独热编码解决了分类器不好处理属性数据的问题,在一定程度上也起到了扩充特征参数的作用。

s202:将指标集输入预设随机森林模型中,获得数据库中所有数据表的评估值,其中预设随机森林模型是根据数据库的存储代码、数据库中所有数据表的元数据信息以及每个数据表的评估值进行训练获得的。

在本发明实施例中,预设随机森林模型是根据数据库的存储代码、数据库中所有数据表的元数据信息以及每个数据表的评估值进行训练获得的,预设随机森林模型中不仅隐含数据库中所有数据表的基本情况,还体现了数据库中所有数据表之间数据关系特征。其中数据关系特征包括各个数据表之间的数据流转线路信息和数据流转数量以及各个数据表与数据库之间的数据关系特征。将指标集输入预设随机森林模型中,获得数据库中所有数据表的评估值,即预设随机森林模型能够预测数据库中所有数据表在当前或未来某一时刻的评估值。

s203:清理数据库中评估值最小的数据表,获得清理后的数据库。

在本发明实施例中,根据预设随机森林模型中获得的数据库中所有数据表的评估值,其中数据表的评估值越高,说明数据表在数据库中与其他数据表以及数据库之间的关系越紧密,数据表的评估值越低,说明该数据表在数据库中的作用较小,与其他数据表之间的数据交互频率较低,需要被及时清理,避免占用数据库的空间。

从上述实施例可知,通过根据数据库的存储代码、数据库中所有数据表的元数据信息以及每个数据表的评估值采用随机森林算法进行模型训练,获得隐含数据库中数据表之间关系特征的随机森林模型,预测数据库中所有数据表的评估值,提高了清理数据库中数据表的准确性。

图3为本发明实施例提供的数据表清理方法流程图二。如图3所示,在本发明实施例中预设随机森林模型的训练过程包括以下步骤:

s301:获取数据库的存储代码、数据库中所有数据表的元数据信息以及每个数据表的评估值,并将数据库的存储代码进行解析获得关系特征信息。

在本步骤中,采集数据库的存储代码和数据库中所有数据表的元数据信息,根据现有技术中的专家模型预测每个数据表的评估值。其中,数据库的存储代码隐含了数据的关系特征信息,例如数据的产生、加工融合、流转与应用的信息。通过对数据库的存储代码进行解析,可以实现对数据表溯源查流,获得关系特征信息。

s302:将关系特征信息以及数据库中所有数据表的元数据信息进行数据处理,获得元数据特征参数和关系特征参数,并将元数据特征参数和关系特征参数以及每个数据表的评估值作为样本集。

在本步骤中,将关系特征信息以及数据库中所有数据表的元数据信息进行数据指标化,转换为元数据特征参数和关系特征参数。根据独热编码对指标集进行预处理,将指标集中元数据特征参数和关系特征参数中的离散参数变为连续特征参数,并将元数据特征参数和关系特征参数以及每个数据表的评估值作为样本集。

s303:按照预设比例将样本集分为训练集和验证集,采用随机森林算法对训练集进行建模,获得随机森林模型,并根据验证集验证对随机森林模型进行验证。

在本步骤中,示例性的,按照8:2的比例将样本集分为训练集和验证集,采用随机森林算法对训练集进行建模,获得随机森林模型。具体的,采用随机森林回归算法,根据最小均方差原则,即对每个特征选取任意划分点,把训练集划分成的第一数据集d1和第二数据集d2,并根据公式(1)求出使第一数据集d1和第二数据集d2集合的差之和最小所对应的特征和特征值最优划分点。根据公式(1)中获得每个特征的最优划分点建立随机森林模型,并根据验证集验证对随机森林模型的准确性进行验证。

其中,a为特征集,x代表特征,s为特征的划分点,yi是数据表的评估值,c1为第一数据集d1中所有的数据表对应评估值的均值,c2为第二数据集d2中所有的数据表对应评估值的均值。

从上述实施例可知,以随机森林算法为基础,训练出用于隐含数据表关系特征的随机森林模型,根据训练后的随机森林模型能够准确的预测数据表评估值,可以有效提高关系型数据库的清洗准确性。

图4为本发明实施例提供的数据表清理方法流程图三。如图4所示,在图3所示的训练预设随机森林模型的过程中,在s2021中将数据库的存储代码进行解析获得关系特征信息具体包括以下步骤:

s401:根据图数据库对存储代码进行解析,获得数据库的数据表关系图谱。

在本发明实施例中,示例性的,可利用neo4j图数据技术解析存储代码,实现对数据表溯源查流,获得数据库的数据表关系图谱,用于评估数据表中数据的价值。

s402:根据数据库中所有数据表的受众量、更新量级以及更新频次对数据表关系图谱进行评估,获得数据库的关系特征信息。

在本发明实施例中,具体的,可以从三个方面评估数据表中数据的价值:第一方面:数据表的受众量。在关系型数据库的可视化结构示意图上,右边的数据流出节点表示受众,亦即数据表需求方,数据表需求方越多表示数据表价值越大。若数据表没有了分枝,右边没有了数据流节点,数据表就失去了使用价值,则可预测该数据表的评估值较低。第二方面:数据表更新量级。在关系型数据库的可视化结构示意图中,数据流转线路的线条越粗,表示数据表更新的量级越大,可预测该数据表的评估值较高。第二方面:数据表更新频次,其中数据表的更新越频繁,表示数据表中数据的应用价值越高,可预测该数据表的评估值较高。通过根据数据表的受众量、更新量级以及更新频次对数据表关系图谱进行评估,可预测数据库的关系特征信息。

从上述实施例可知,通过利用图数据库对存储代码进行解析,并根据数据库中所有数据表的受众量、更新量级以及更新频次对解析后获得的数据表关系图谱进行评估,由此可获得隐含在数据库中所有数据表之间的关系特征信息以及数据库与数据表之间的关系特征信息,将关系特征信息作为训练数据,使得训练后的随机森林模型中体现了数据库中数据表的关系特征,提高了预测数据库中所有数据表的评估值的准确性,提高了清理数据库中数据表的效率。

图5为本发明实施例提供的数据表清理装置的结构示意图。如图5所示,该数据表清理装置包括:获取模块501,用于获取预设时间段内数据库的指标集,其中所述指标集包含所有数据表的元数据特征参数和所述数据库的关系特征参数;输入模块502,用于将所述指标集输入预设随机森林模型中,获得所述数据库中所有数据表的评估值,其中所述预设随机森林模型是根据所述数据库的存储代码、数据库中所有数据表的元数据信息以及每个数据表的评估值进行训练获得的;清理模块503,用于清理所述数据库中评估值最小的数据表,获得清理后的数据库。

在本实施例中,该数据表清理装置可以采用上述实施例所述的方法,其技术方案及其技术效果相类似,此处不在赘述。

在一种可能的实现方式中,数据表清理装置还包括:预处理模块,用于根据独热编码对所述指标集进行预处理,将所述指标集中元数据特征参数和关系特征参数中的离散参数变为连续特征参数。该预处理模块可以采用上述实施例所述的方法,其技术方案及其技术效果相类似,此处不在赘述。

图6为本发明实施例提供的服务器的硬件结构示意图。如图6所示,本实施例的服务器包括:处理器601以及存储器602;其中

存储器602,用于存储计算机执行指令;

处理器601,用于执行存储器存储的计算机执行指令,以实现上述实施例中服务器所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。

可选地,存储器602既可以是独立的,也可以跟处理器601集成在一起。

当存储器602独立设置时,该服务器还包括总线603,用于连接所述存储器602和处理器601。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的数据表清理方法。

本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上所述的数据表清理方法。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。

应理解,上述处理器可以是中央处理单元(centralprocessingunit,简称cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。

总线可以是工业标准体系结构(industrystandardarchitecture,简称isa)总线、外部设备互连(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,简称eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。

一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(applicationspecificintegratedcircuits,简称asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1