掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及软件安全防护领域,尤其涉及一种数据库内容检查方法、设备及存储介质。

背景技术

随着信息化的普及,信息化管理系统(如:OA、ERP、CRM等)被越来越多的企事业单位所使用,信息化管理系统一般都使用数据库来存放数据,随着数据库中存放数据的增加,一些重要的商业秘密或敏感信息会被不小心存放到数据库中。如果不对数据库中的数据进行定期检查,很容易使这些商业秘密或敏感信息长期保存在数据库中,被一些别有用心的人获取。

防止数据库中存放商业秘密或敏感信息的有效方法是对整个数据库进行定期、全面、快速检查。目前对数据库的检查一般是依次获取数据库中所有记录,然后对每条记录中的各个字段分别进行检查。但由于数据库数据量一般都比较大,所以难以对数据库内容进行快速检查,数据库检查性能不佳。

发明内容

本发明实施例提供一种数据库内容检查方法、设备及存储介质,旨在提高数据库内容检查的性能。

本发明实施例提供了一种数据库内容检查方法,所述方法包括以下步骤:对数据库表结构进行分析,确定影响数据库检查性能的字段;以直接过滤影响数据库检查性能的字段的方式检查数据库内容,以提高数据库检查性能。

优选地,所述对数据库表结构进行分析,确定影响数据库检查性能的字段包括:对数据库表结构进行分析,得到数据库数据表的元数据;对数据库数据表的元数据进行分析,得到数据库数据表的各个字段的属性信息;根据数据库数据表的各个字段的属性信息,确定影响数据库检查性能的字段。

优选地,所述以直接过滤影响数据库检查性能的字段的方式检查数据库内容包括:过滤数据库数据表中影响数据库检查性能的字段;将过滤后的剩余字段组合成数据查询语句;利用所述数据查询语句,从数据库数据表中提取待检查数据,以进行数据库内容检查。

优选地,所述影响数据库检查性能的字段是不可能存储敏感数据的字段。

优选地,所述过滤影响数据库检查性能的字段包括:过滤数据库数据表中无法存放敏感信息的字段,所述字段包括整数类型字段、浮点类型字段、日期类型字段。

优选地,所述过滤影响数据库检查性能的字段还包括:过滤数据库数据表中不会存放敏感信息的字段,所述字段包括字段长度小于所述敏感数据的关键字长度的字段。

本发明实施例还提供了一种数据库内容检查设备,所述设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现前述的数据库内容检查方法的步骤。

本发明实施例还提供了一种存储介质,所述存储介质中存储有数据库内容检查程序,所述数据库内容检查程序被处理器执行时,实现前述的数据库内容检查方法的步骤。

本发明实施例提供了一种数据库内容检查方法、设备及存储介质,其对数据库表结构进行分析,确定影响数据库检查性能的字段;以直接过滤影响数据库检查性能的字段的方式检查数据库内容。这样,能够减少数据库内容的检查范围,提高数据库内容的检查效率,从而提高数据库检查性能。

附图说明

图1是本发明实施例一提供的数据库内容检查方法的流程图;

图2是本发明实施例二提供的数据库内容检查方法的流程图;

图3是本发明实施例三提供的数据库内容检查设备的示意性结构框图。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

实施例一

图1是本发明实施例一提供的数据库内容检查方法的流程图,如图1所示,该方法可以包括以下步骤:

步骤S101:对数据库表结构进行分析,确定影响数据库检查性能的字段。

数据库包括数据表,数据表包括元数据,该元数据是定义数据的数据,因此可以基于元数据的相关信息确定影响数据库检查性能的字段。具体地说,对数据库表结构进行分析,得到数据库数据表的元数据;对数据库数据表的元数据进行分析,得到数据库数据表的各个字段的属性信息,例如字段类型、字段长度;根据数据库数据表的各个字段的属性信息,确定影响数据库检查性能的字段。

步骤S102:以直接过滤影响数据库检查性能的字段的方式检查数据库内容,以提高数据库检查性能。

具体地说,过滤数据库数据表中影响数据库检查性能的字段;将过滤后的剩余字段组合成数据查询语句;利用所述数据查询语句,从数据库数据表中提取待检查数据,以进行数据库内容检查。已有的数据库内容检查方法需要获取数据库中各个数据表的所有记录,并对每条记录中的各个字段分别进行检查,由于数据库的数据量大,因而在对数据库进行全面检查时,难以实现快速检查,导致数据库检查性能不佳。本实施例的步骤S102基于步骤S101确定的影响数据库检查性能的字段,在对数据库内容进行检查之前或在对数据库内容进行检查期间,过滤掉影响数据库检查性能的字段,仅对剩余字段的内容进行检查,减少数据库内容的检查范围,提高了数据库内容的检查效率,从而提高了数据库检查性能。

其中,所述影响数据库检查性能的字段是不可能存储商业秘密或敏感数据的字段。在一个实施方式中,所述过滤影响数据库检查性能的字段可以包括:过滤数据库数据表中无法存放敏感信息的字段,例如整数类型字段、浮点类型字段、日期类型字段,也就是说,通过过滤掉整形、浮点型、日期型的字段,缩小需要从数据库提取和进行检查的数据量,从而提高数据检查的效率,提高数据库内容检查的性能。在另一实施方式中,所述过滤影响数据库检查性能的字段可以包括:过滤数据库数据表中不会存放敏感信息的字段,所述字段包括字段长度小于所述敏感数据的关键字长度的字段,也就是说,通过过滤掉长度小的字段,缩小需要从数据库提取和进行检查的数据量,从而提高数据检查的效率,提高数据库内容检查的性能。在第三实施方式中,可以结合上述两个实施方式,也就是说,通过过滤掉整形、浮点型、日期型及长度小的字段,缩小需要从数据库提取和进行检查的数据量,从而提高数据检查的效率,提高数据库内容检查的性能。

实施例二

为防止数据库中存放商业秘密或敏感信息,需要对整个数据库进行定期、全面检查,由于数据库中存放的数据量一般都比较大,所以有必要对数据库内容进行快速检查。已有技术对数据库数据表每条记录中的各个字段逐个进行检查,难以达到快速检查的目的。本实施例针对数据库中数据存放特点,通过对数据库表结构的分析发现不可能存储商业秘密或敏感数据的字段,在进行数据库内容检查时过滤掉这部分字段从而提高数据库检查的性能。具体地说,数据库中可存放各种类型的数据,如整型、浮点型、日期型数据等,这些类型的数据是无法存放敏感信息的,同时一些数据虽然以字符串类型存放,但由于字段的长度比较短,也同样不会存放敏感信息。因此,在进行数据检查前将这些字段的数据过滤掉将会大大缩小检查范围,提高检查效率。

图2是本发明实施例二提供的数据库内容检查方法的流程图,如图2所示,在内容检查前,通过对数据库表结构的分析发现不可能存储敏感数据的字段,在检查过程中直接过滤掉这些字段,减少内容检查的范围,以提高数据库内容检查的性能。步骤如下:

步骤S201:连接数据库。

步骤S202:在对数据库表进行内容检查前,首先获取数据库数据表的元数据。

步骤S203:遍历数据表的所有字段。

步骤S204:通过对数据库数据表的元数据进行分析,获取此数据表的某一字段的类型、长度等属性信息。

步骤S205:根据该字段的字段类型,判断该字段是否可能包含敏感信息,如果是则执行步骤S206和步骤S207,否则跳过步骤S206,直接执行步骤S207。

步骤S206:过滤掉不可能存放敏感信息的字段,比如:整数、浮点、日期等类型的字段。

步骤S207:判断该字段的字段长度是否小于敏感信息的关键字长度,如果是则执行步骤S208和步骤S209,否则跳过步骤S208,直接执行步骤S209。

步骤S208:过滤掉字段长度小于敏感信息关键字长度的字段。

步骤S209:判断是否所有字段均处理完成,如果是则执行步骤S203,否则执行步骤S210。

步骤S210:用剩下的有效字段组合成数据查询的SQL语句。

步骤S211:通过此SQL语句从数据库中提取数据;

步骤S212:对已提取的数据进行检查,即实现对数据库内容的检查。

步骤S213:完成检查。

本实施例在数据库内容检查前,通过对数据库表结构的分析发现不可能存储敏感数据的字段,在检查过程中直接过滤掉这些字段,减少内容检查的范围,以提高数据库内容检查的性能。

实施例三

如图3所示,本发明实施例三提供一种数据库内容检查设备100,该设备100包括存储器1、处理器2、存储在所述存储器1上并可在所述处理器2上运行的程序,所述程序被所述处理器2执行时实现如图1或图2所示的方法的步骤。本实施例的设备100在数据库内容检查前,通过对数据库表结构的分析发现不可能存储敏感数据的字段,在检查过程中直接过滤掉这些字段,减少数据库内容检查的范围,提高数据库内容检查的效率,以提高数据库内容检查的性能。

实施例四

本发明实施例四提出一种存储介质,所述存储介质中存储有数据库内容检查的数据过滤程序,所述数据库内容检查的数据过滤程序被处理器执行时,实现如图1或图2所示的方法的步骤,以提高数据库内容检查的性能。其中,所述存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储装置。

以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

技术分类

06120116218920