数据库表文件被非法删除的实时检测方法及装备技术

技术编号:27936223 阅读:26 留言:0更新日期:2021-04-02 14:16
本发明专利技术公开了一种数据库表文件被非法删除的实时检测方法及装备。数据库表文件被非法删除的实时检测方法,包括:初始化多进程共享的哈希表;将数据库中各个表的删除信息存储至哈希表中;监控各个表对应的表文件的删除事件;判断哈希表中是否存在被删除的表文件所对应的表的删除信息,若是,判定该删除事件为合法删除;否则,判定该删除事件为非法删除。采用本发明专利技术,可以在数据库的表文件被用户或非数据库程序非法删除时,就可以立刻感知到哪个表文件被非法删除,从而可以增强数据库的安全性、实时响应性和异常情况处理的能力。

【技术实现步骤摘要】
数据库表文件被非法删除的实时检测方法及装备
本专利技术涉及数据库安全
,尤其涉及一种数据库表文件被非法删除的实时检测方法及装备。
技术介绍
相关技术中,当数据库的非当前使用表对应的表文件被用户或非数据库程序非法删除时,数据库无法立刻感知到表文件被删除,必须要等到数据库真正的访问被非法删除的表文件对应的表时才会有表不存在或者表无法访问的错误提示,同时也无法做到及时的发出哪个表文件被非法删除的告警信息通知数据库管理员,存在严重的安全风险。
技术实现思路
本专利技术实施例提供一种数据库表文件被非法删除的实时检测方法及装备,用以解决现有技术中当数据库的非当前使用表对应的表文件被用户或非数据库程序非法删除时,用户不能及时获知的问题。根据本专利技术实施例的数据库表文件被非法删除的实时检测方法,包括:初始化多进程共享的哈希表;将数据库中各个表的删除信息存储至所述哈希表中;监控各个所述表对应的表文件的删除事件;判断所述哈希表中是否存在被删除的表文件所对应的表的删除信息,若是,判定该删除事件为合法删除;否则,判定该删除事件为非法删除。根据本专利技术的一些实施例,所述方法还包括:将待监控数据库系统中的所有数据库对应的磁盘文件夹加入监控队列中,所述磁盘文件包括多个表文件,所述磁盘文件夹中的表文件、与其对应的数据库中的表相对应;所述将数据库中各个表的删除信息存储至所述哈希表中,包括:将所述待监控数据库系统中的所有表的删除信息存储至所述哈希表中;所述监控各个所述表对应的表文件的删除事件,包括:监控所述待监控数据库系统中各个表对应的表文件的删除事件。根据本专利技术的一些实施例,所述方法还包括:当所述待监控数据库中的一个数据库被删除时,从所述监控队列中将被删除的数据库对应的磁盘文件夹移除;当增加一个数据库至所述待监控数据库中时,将增加的数据库对应的磁盘文件夹加入所述监控队列中。根据本专利技术的一些实施例,所述将数据库中各个表的删除信息存储至所述哈希表中,包括:获取删除表的SQL语句,以获取要删除的表的名称;基于所述要删除的表的名称,确定要删除的表对应的表文件,并将要删除的表对应的表文件的路径存储至所述所述哈希表中。根据本专利技术的一些实施例,所述判断所述哈希表中是否存在被删除的表文件所对应的表的删除信息,包括:获取被删除表文件的路径,判断所述哈希表中是否存在被删除表文件的路径。根据本专利技术的一些实施例,所述方法还包括:当判定该删除事件为非法删除,向用户发送告警信息。根据本专利技术实施例的数据库表文件被非法删除的实时检测装备,包括:进程创建单元,用于创建监控进程;所述监控进程用于:初始化多进程共享的哈希表;将待监控数据库系统中的所有数据库对应的磁盘文件夹加入监控队列中,所述磁盘文件包括多个表文件,所述磁盘文件夹中的表文件、与其对应的数据库中的表相对应;监控所述待监控数据库系统中各个表对应的表文件的删除事件;删除信息记录单元,用于将所述待监控数据库系统中的各个表的删除信息存储至所述哈希表中;判定单元,用于判断所述哈希表中是否存在被删除的表文件所对应的表的删除信息,若是,判定该删除事件为合法删除;否则,判定该删除事件为非法删除。根据本专利技术的一些实施例,所述监控进程还用于:将待监控数据库系统中的所有数据库对应的磁盘文件夹加入监控队列中,所述磁盘文件包括多个表文件,所述磁盘文件夹中的表文件、与其对应的数据库中的表相对应。根据本专利技术的一些实施例,所述监控进程还用于:当所述待监控数据库中的一个数据库被删除时,从所述监控队列中将被删除的数据库对应的磁盘文件夹移除;当增加一个数据库至所述待监控数据库中时,将增加的数据库对应的磁盘文件夹加入所述监控队列中。根据本专利技术实施例的计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如上所述数据库表文件被非法删除的实时检测方法的步骤。采用本专利技术实施例,可以在数据库的表文件被用户或非数据库程序非法删除时,就可以立刻感知到哪个表文件被非法删除,从而可以增强数据库的安全性、实时响应性和异常情况处理的能力。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。在附图中:图1是本专利技术实施例中数据库表文件被非法删除的实时检测方法流程图;图2是本专利技术实施例中数据库表文件被非法删除的实时检测方法部分流程示意图;图3是本专利技术实施例中数据库表文件被非法删除的实时检测方法部分流程示意图;图4是本专利技术实施例中数据库表文件被非法删除的实时检测方法部分流程示意图;图5是本专利技术实施例中数据库表文件被非法删除的实时检测方法部分流程示意图;图6是本专利技术实施例中数据库表文件被非法删除的实时检测方法部分流程示意图。具体实施方式下面将参照附图更详细地描述本专利技术的示例性实施例。虽然附图中显示了本专利技术的示例性实施例,然而应当理解,可以以各种形式实现本专利技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本专利技术,并且能够将本专利技术的范围完整的传达给本领域的技术人员。对于关系型数据库,每个数据库都有一个与其对应的唯一编号命名的文件夹,文件夹内是这个数据库中的表对应的表文件。当使用SQL语句建立一个表时,会在磁盘上当前数据库对应的文件夹下生成跟此表相关的表文件。使用SQL语句删除一个表时,这个表对应的在磁盘上的相关表文件会被删除。当数据库本身没有执行删除表相关的操作,但是表文件却被用户或者其他进程删除,称为非法删除。当数据库的当前使用的表对应的表文件被用户或者其他程序非法删除时,数据库访问此表时,会报告找不到表文件或者无法访问表文件的错误,但是无法实时的通知管理员。当数据库的非当前使用的表对应的表文件被用户或者其他程序非法删除时,数据库并不能立刻感知到表文件被删除。只有当数据库访问到一个磁盘表文件已经被删除的表时,数据库会报告找不到表文件或者无法访问表文件的错误,但是无法实时的通知管理员。基于此,第一方面,本专利技术实施例提出一种数据库表文件被非法删除的实时检测方法,如图1所示,包括:S1,初始化多进程共享的哈希表;S2,将数据库中各个表的删除信息存储至所述哈希表中;S3,监控各个所述表对应的表文件的删除事件;S4,判断所述哈希表中是否存在被删除的表文件所对应的表的删除信息,若是,判定该删除事件为合法删除;否则,判本文档来自技高网...

【技术保护点】
1.一种数据库表文件被非法删除的实时检测方法,其特征在于,包括:/n初始化多进程共享的哈希表;/n将数据库中各个表的删除信息存储至所述哈希表中;/n监控各个所述表对应的表文件的删除事件;/n判断所述哈希表中是否存在被删除的表文件所对应的表的删除信息,若是,判定该删除事件为合法删除;否则,判定该删除事件为非法删除。/n

【技术特征摘要】
1.一种数据库表文件被非法删除的实时检测方法,其特征在于,包括:
初始化多进程共享的哈希表;
将数据库中各个表的删除信息存储至所述哈希表中;
监控各个所述表对应的表文件的删除事件;
判断所述哈希表中是否存在被删除的表文件所对应的表的删除信息,若是,判定该删除事件为合法删除;否则,判定该删除事件为非法删除。


2.如权利要求1所述的方法,其特征在于,所述方法还包括:
将待监控数据库系统中的所有数据库对应的磁盘文件夹加入监控队列中,所述磁盘文件包括多个表文件,所述磁盘文件夹中的表文件、与其对应的数据库中的表相对应;
所述将数据库中各个表的删除信息存储至所述哈希表中,包括:
将所述待监控数据库系统中的所有表的删除信息存储至所述哈希表中;
所述监控各个所述表对应的表文件的删除事件,包括:
监控所述待监控数据库系统中各个表对应的表文件的删除事件。


3.如权利要求2所述的方法,其特征在于,所述方法还包括:
当所述待监控数据库中的一个数据库被删除时,从所述监控队列中将被删除的数据库对应的磁盘文件夹移除;
当增加一个数据库至所述待监控数据库中时,将增加的数据库对应的磁盘文件夹加入所述监控队列中。


4.如权利要求1所述的方法,其特征在于,所述将数据库中各个表的删除信息存储至所述哈希表中,包括:
获取删除表的SQL语句,以获取要删除的表的名称;
基于所述要删除的表的名称,确定要删除的表对应的表文件,并将要删除的表对应的表文件的路径存储至所述所述哈希表中。


5.如权利要求4所述的方法,其特征在于,所述判断所述哈希表中是否存在被删除的表文件所对应的表的删除信息,包括:
获取被删除表文件的路径,判...

【专利技术属性】
技术研发人员:王禹苗健张鲁敏卢健
申请(专利权)人:瀚高基础软件股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1