CN111651296A - 数据删除操作的拦截备份方法、装置、设备及存储介质 - Google Patents

数据删除操作的拦截备份方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111651296A
CN111651296A CN202010363735.6A CN202010363735A CN111651296A CN 111651296 A CN111651296 A CN 111651296A CN 202010363735 A CN202010363735 A CN 202010363735A CN 111651296 A CN111651296 A CN 111651296A
Authority
CN
China
Prior art keywords
data
database
target
target data
backup
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
Application number
CN202010363735.6A
Other languages
English (en)
Inventor
倪佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN202010363735.6A priority Critical patent/CN111651296A/zh
Publication of CN111651296A publication Critical patent/CN111651296A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种数据删除操作的拦截备份方法、装置、设备及存储介质,涉及区块链存储技术领域。该方法包括:接收数据库操作指令;对数据库操作进行拦截;解析数据库操作,判断其中是否包含数据删除操作;若包含数据删除操作,则识别出数据删除操作所指向的目标数据,并进一步解析目标数据获取其目标存储结构;将目标数据备份至预先配置的第二数据库中;继续响应于数据库操作指令,删除第一数据库中的目标数据。所述方法无需用户手动操作备份数据,将数据存储至块链式的账本中,能有效防止数据永久丢失,方便恢复,既减少了人工操作的维护成本和系统编码的难度,又节省了系统存储空间,且并不影响现有服务器中sql语句的复杂度和查询效率。

Description

数据删除操作的拦截备份方法、装置、设备及存储介质
技术领域
本申请涉及区块链存储技术领域,特别是一种数据删除操作的拦截备份方法、装置、设备及存储介质。
背景技术
现如今的一些大公司,对于数据的处理越发看重,数据处理时的数据留痕非常重要,公司可以根据数据留痕来追查数据变更的所有历史记录,从而排查问题。
在对数据进行删除以更新数据时,目前业内常见的做法是通过逻辑删除或物理删除两种方式:
1、逻辑删除时,在表中定义一个state(状态)字段,用该字段的一个特定的值来表示该记录已删除。当要删除该表数据时,不做删除操作,只更新state字段中的值,该操作实际是修改操作。
2、物理删除时,就是真正从数据库中对数据做删除操作,即在数据库中对数据进行彻底删除,无法恢复。如回收站的原理,其实就是利用了逻辑删除,对于删除文件进入回收站的本质只是在操作系统的帮助下对文件加上了某个标记,资源管理器中对含有这种标记的文件不会显示。当从回收站恢复的时候只是移除了加上的标记而已,而清空回收站实际上就是进行了物理删除。
采用逻辑删除这种做法对数据实际只增不删,会使表的数据越来越多,影响sql(Structured Query Language,结构化查询语言)的执行效率和复杂性。若采用物理删除则数据会永久丢失、无法恢复。而若对数据进行备份后再采用物理删除,则又需要开发人员去手动备份待删除数据,增加了系统编码的复杂度和系统维护成本。
发明内容
本申请实施例所要解决的技术问题是,提供一种数据删除操作的拦截备份方法、装置、设备及存储介质,防止数据删除后永久丢失,使数据方便恢复,并能节省系统空间和人力资源。
为了解决上述技术问题,本申请实施例提供一种数据删除操作的拦截备份方法,采用了如下所述的技术方案:
一种数据删除操作的拦截备份方法,包括:
接收数据库操作指令,所述数据库操作指令中指示有对第一数据库中数据的数据库操作;
对所述数据库操作进行拦截;
解析所述数据库操作,判断其中是否包含数据删除操作;
若包含数据删除操作,则识别出数据删除操作所指向的目标数据,并进一步解析所述目标数据获取其目标存储结构;
基于所述目标存储结构将所述目标数据备份至预先配置的第二数据库中;
继续响应于所述数据库操作指令,执行所述数据库操作中的数据删除操作,以删除所述第一数据库中的所述目标数据。
为了解决上述技术问题,本申请实施例还提供一种数据删除操作的拦截备份装置,采用了如下所述的技术方案:
一种数据删除操作的拦截备份装置,包括:
指令接收模块,用于接收数据库操作指令,所述数据库操作指令中指示有对第一数据库中数据的数据库操作;
操作拦截模块,用于对所述数据库操作进行拦截;
操作判断模块,用于解析所述数据库操作,判断其中是否包含数据删除操作;
结构识别模块,用于若包含数据删除操作,则识别出数据删除操作所指向的目标数据,并进一步解析所述目标数据获取其目标存储结构;
数据备份模块,用于基于所述目标存储结构将所述目标数据备份至预先配置的第二数据库中;
操作执行模块,用于继续响应于所述数据库操作指令,执行所述数据库操作中的数据删除操作,以删除所述第一数据库中的所述目标数据。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项技术方案所述的数据删除操作的拦截备份方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项技术方案所述的数据删除操作的拦截备份方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请实施例公开了一种数据删除操作的拦截备份方法、装置、设备及存储介质,本申请实施例所述的数据删除操作的拦截备份方法,接收数据库操作指令后,对所述数据库操作指令中指示的数据库操作进行拦截;然后解析所述数据库操作,判断其中是否包含数据删除操作;若包含数据删除操作,则识别出数据删除操作所指向的目标数据,并进一步解析所述目标数据获取其目标存储结构;基于所述目标存储结构将所述目标数据备份至预先配置的第二数据库中厚;继续响应于所述数据库操作指令,执行所述数据库操作中的数据删除操作,以删除所述第一数据库中的所述目标数据。所述方法无需用户手动操作备份数据,在新建立一个数据库之后,通过系统服务器自动识别数据库操作便能将待删除数据自动备份至新建立的数据库中,能有效防止数据永久丢失,方便恢复,既减少了人工操作的维护成本和系统编码的难度,又通过对数据库中的数据实现物理删除节省了系统存储空间,且并不影响现有服务器中sql语句的复杂度和查询效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例可以应用于其中的示例性系统架构图;
图2为本申请实施例中所述数据删除操作的拦截备份方法的一个实施例的流程图;
图3为本申请实施例中所述数据删除操作的拦截备份装置的一个实施例的结构示意图;
图4为本申请实施例中计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”、“包含”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。在本申请的权利要求书、说明书以及说明书附图中的术语,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其他实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其他实施例相结合。
区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。
例如,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,从而基于哈希值实现区块中交易的防篡改和防伪造;新产生的交易被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长。
智能合约(Smart Contracts),也称为链码(Chaincode)或应用代码,部署在区块链网络的节点中的程序,节点执行接收的交易中所调用的智能合约,来对账本数据库的键值对数据进行更新或查询的操作。
为了使本技术领域的人员更好地理解本申请的方案,下面将结合本申请实施例中的相关附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括第一终端设备101、第二终端设备102、第三终端设备103、网络104和服务器105。网络104用以在第一终端设备101、第二终端设备102、第三终端设备103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用第一终端设备101、第二终端设备102和第三终端设备103通过网络104与服务器105交互,以接收或发送消息等。第一终端设备101、第二终端设备102和第三终端设备103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
第一终端设备101、第二终端设备102和第三终端设备103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对第一终端设备101、第一终端设备102和第三终端设备103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的数据删除操作的拦截备份方法一般由服务器/终端设备执行,相应地,数据删除操作的拦截备份装置一般设置于服务器/终端设备中。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了本申请实施例中所述数据删除操作的拦截备份方法的一个实施例的流程图。所述数据删除操作的拦截备份方法,包括以下步骤:
步骤201:接收数据库操作指令,所述数据库操作指令中指示有对第一数据库中数据的数据库操作。
本申请中,为了防止数据库表中的数据爆炸式增长,另外添加了一个存储数据的数据库,专门用于对待删除的数据进行备份存储,如此可以方便采用物理删除的方式实现数据库中数据的删除操作,无需通过逻辑删除的方式改变某个字段的状态,使数据库的表中出现较多的无效数据。
服务器的使用用户在对数据库进行操作时,通过发出一系列的增删改查等数据库操作指令进行操作指示,本申请将服务器中默认进行数据库操作的对象数据库记为第一数据库,用于备份数据的数据库记为第二数据库。数据库操作指令用于对第一数据库中的数据进行数据库操作。其中,所述数据库操作包括所有对数据库中数据的增删改查的操作。
在本申请实施例中,所述数据删除操作的拦截备份方法运行于其上的电子设备(例如图1所示的服务器/终端设备)可以通过有线连接方式或者无线连接方式接收数据库操作指令。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
步骤202:对所述数据库操作进行拦截。
本申请中,通过实时监听对数据库中表的操作进行数据库操作的及时拦截,拦截的对象包括所有的数据库操作,拦截后再进一步辨识其中的数据库删除操作。
在本申请的一些实施例中,所述步骤202包括:
激活预设的拦截指令,并响应于所述拦截指令调用mybatis拦截器,以通过所述mybatis拦截器对所述数据库操作进行拦截。
拦截器一般用于拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法。MyBatis是一款支持sql(Structured Query Language,结构化查询语言)查询的持久层框架,MyBatis允许使用插件来拦截方法调用。Mybatis拦截器就是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑。
在很多业务场景下我们需要去拦截sql,达到不入侵原有代码业务处理一些操作逻辑的目的,这里sql可以理解为数据库操作。本申请中预设的拦截机制,便通过在mybatis的配置文件中添加拦截器,以此预设一个mybatis拦截器,以及激活后用于调用mybatis拦截器的拦截指令。以便用于监测到在服务器中接收到根据数据库操作指令发起的数据库操作后,自动激活拦截指令通过调用几个mybatis拦截器对所有数据库操作进行拦截挂起,而后经过所需的逻辑判断后再执行后续步骤。
步骤203:解析所述数据库操作,判断其中是否包含数据删除操作。
本申请所述步骤202中拦截数据库操作的目的,是用于对其中的数据删除操作执行自定义的逻辑处理,因此拦截下所有的数据库操作后,还需先解析所述数据库操作以判断其中是否包含数据删除操作,若包含,则识别出数据库操作中的数据删除操作,再只对于所述数据删除操作通过执行后续步骤进行新的逻辑处理。
而解析所述数据库操作时,对于其中不为数据删除操作的其他数据库操作,如数据查询操作、数据创建操作、数据修改操作等,便直接进行放行,在服务器中根据原处理逻辑继续执行即可。
步骤204:若包含数据删除操作,则识别出数据删除操作所指向的目标数据,并进一步解析所述目标数据获取其目标存储结构。
通过解析数据库操作识别出其中包含的数据删除操作后,进一步识别出所述数据删除操作的执行对象,即数据删除操作所指向的数据库中的目标数据。
若想对所述目标数据进行备份,则需要在为数据的存储另外添加的用于对待删除数据进行备份的数据库(即第二数据库)中创建能存储目标数据的数据存储结构。
本申请实施例中,在第二数据库中创建相应的数据存储结构时,便依据所述目标数据在第一数据库中的目标存储结构创建即可。
步骤205:基于所述目标存储结构将所述目标数据备份至预先配置的第二数据库中。
根据目标数据的目标存储结构在第二数据库中创建与之匹配的目标存储结构后,便将识别出的目标数据导入至目标存储结构中进行存储,完成对目标数据的自动备份,无需用户手动操作备份数据,避免了增加人工操作的维护成本和系统编码的难度。
在本申请的一些实施例中,所述步骤205包括:
提取所述目标删除操作指向的数据表名;
根据所述数据表名查询出在所述第一数据库中与其匹配的目标数据表,并解析所述目标数据表获取目标表存储结构;
识别所述第二数据库中是否存在与所述目标表存储结构匹配的同构表,若不存在,则根据所述目标表存储结构在所述第二数据库中创建所述目标数据表的同构表;
获取所述目标数据,将所述目标数据插入所述同构表进行备份存储。
其中,所述目标存储结构即指的数据库中的表结构。将目标数据备份至第二数据库中时,便需在第二数据库中创建与第一数据库中存储目标数据的数据表的同构表,数据表的同构表即指与其表结构相同的数据表。
具体地,根据目标删除操作对应的sql语句,可以方便地获取其指向的对象数据(即目标数据)在第一数据库中所在表的数据表名,在第一数据库中查询出所述数据表名后解析其表结构,将获取到的表结构记为目标表存储结构。
然后判断第二数据库中是否存在表结构与目标表存储结构相同的同构表。若存在,则获取到目标数据后,将目标数据直接插入到同构表中进行备份;若不存在,则需创建同构表后再插入目标数据进行备份,最后将同构表发送至存储服务端以块链式的账本进行存储。
进一步的,所述获取所述目标数据的步骤包括:
解析出所述数据删除操作对应的目标sql删除语句;
将所述目标sql删除语句转化为用于查询所述目标数据的目标sql查询语句;
执行所述目标sql查询语句获取所述目标数据。
根据数据删除操作的sql语句可以解析出其对应的对象数据,该对象数据即目标数据。
但由sql语句解析出的一般是目标数据的标识、存储位置等数据库基本信息,若想进一步获取到目标数据,基于sql语句规则方便地进行语句转换后便能实现该目的。根据一般的sql语句规则,可以先将数据删除操作对应的sql删除语句转化为用于查询目标数据的sql查询语句,再执行转化后的sql查询语句便能方便获取到目标数据,然后才能将目标数据备份至第二数据库中。
具体地,将sql删除语句转化为sql查询语句时,可以通过将目标sql删除语句中的[DELETE]字符转化为[SELECT*]字符串即可。
在进一步的一种具体实施方式中,所述将所述目标数据插入所述同构表进行备份存储的步骤包括:
以所述同构表作为目标数据表,将所述目标sql删除语句转化为目标sql插入语句;
执行所述目标sql插入语句将所述目标数据备份至所述同构表中。
基于解析出的目标sql删除语句,经由一定的sql语句规则,便可方便生成目标sql插入语句。
具体地,一般的sql删除语句转化为sql插入语句时,将sql删除语句中的[DELETE]字符转换为[INSERT INTO备份表表名SELECT*]字符串即可。该具体实施方式中,备份表表名即为同构表的表名。
步骤206:继续响应于所述数据库操作指令,执行所述数据库操作中的数据删除操作,以删除所述第一数据库中的所述目标数据。
在第二数据库中将目标数据备份成功后,便继续响应于数据库操作指令,执行数据删除操作删除第一数据库中的目标数据,以完成对第一数据库中数据的更新,由此节省了系统存储空间实现了对数据库中数据的物理删除,并且不会影响现有服务器中sql语句的复杂度和查询效率。
本申请实施例所述的数据删除操作的拦截备份方法,无需用户手动操作备份数据,在新建立一个数据库之后,通过系统服务器自动识别数据库操作便能将待删除数据自动备份至新建立的数据库中,能有效防止数据永久丢失,方便恢复,既减少了人工操作的维护成本和系统编码的难度,又通过对数据库中的数据实现物理删除节省了系统存储空间,且并不影响现有服务器中sql语句的复杂度和查询效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,图3示出了为本申请实施例中所述数据删除操作的拦截备份装置的一个实施例的结构示意图。作为对上述图2所示方法的实现,本申请提供了一种数据删除操作的拦截备份装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的数据删除操作的拦截备份装置包括:
指令接收模块301;用于接收数据库操作指令,所述数据库操作指令中指示有对第一数据库中数据的数据库操作。
操作拦截模块302;用于对所述数据库操作进行拦截。
操作判断模块303;用于解析所述数据库操作,判断其中是否包含数据删除操作。
结构识别模块304;用于若包含数据删除操作,则识别出数据删除操作所指向的目标数据,并进一步解析所述目标数据获取其目标存储结构。
数据备份模块305;用于基于所述目标存储结构将所述目标数据备份至预先配置的第二数据库中。
操作执行模块306;用于继续响应于所述数据库操作指令,执行所述数据库操作中的数据删除操作,以删除所述第一数据库中的所述目标数据。
在本申请的一些实施例中,所述操作拦截模块302用于激活预设的拦截指令,并响应于所述拦截指令调用mybatis拦截器,以通过所述mybatis拦截器对所述数据库操作进行拦截。
在本申请的一些实施例中,所述数据备份模块305用于提取所述目标删除操作指向的数据表名;根据所述数据表名查询出在所述第一数据库中与其匹配的目标数据表,并解析所述目标数据表获取目标表存储结构;识别所述第二数据库中是否存在与所述目标表存储结构匹配的同构表,若不存在,则根据所述目标表存储结构在所述第二数据库中创建所述目标数据表的同构表;获取所述目标数据,将所述目标数据插入所述同构表进行备份存储,将同构表发送至存储服务端以块链式的账本进行存储。
进一步的,所述数据备份模块305还包括:数据获取子模块。所述数据获取子模块用于解析出所述数据删除操作对应的目标sql删除语句;将所述目标sql删除语句转化为用于查询所述目标数据的目标sql查询语句;执行所述目标sql查询语句获取所述目标数据。
在进一步的一种具体实施方式中,所述数据备份模块305还包括:数据插入子模块。所述数据插入子模块用于以所述同构表作为目标数据表,将所述目标sql删除语句转化为目标sql插入语句;执行所述目标sql插入语句将所述目标数据备份至所述同构表中。
本申请实施例所述的数据删除操作的拦截备份装置,无需用户手动操作备份数据,在新建立一个数据库之后,通过系统服务器自动识别数据库操作便能将待删除数据自动备份至新建立的数据库中,能有效防止数据永久丢失,方便恢复,既减少了人工操作的维护成本和系统编码的难度,又通过对数据库中的数据实现物理删除节省了系统存储空间,且并不影响现有服务器中sql语句的复杂度和查询效率。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如数据删除操作的拦截备份方法的程序代码等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的程序代码或者处理数据,例如运行所述数据删除操作的拦截备份方法的程序代码。
所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
本申请实施例所述的计算机设备,通过处理器执行存储器中存储的计算机程序进行数据推送的功能测试时,无需通过前端操作创建任务,能够实现对大批量数据删除操作的拦截备份要求,并减少测试时间的消耗,提升功能测试的效率,在进行数据推送测试的过程中还能方便地进行压力测试,在通过日志判断数据的推送结果时还能方便分析测试时出现的问题,以及对测试过程中出现的问题进行定位。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有数据删除操作的拦截备份程序,所述数据删除操作的拦截备份程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的数据删除操作的拦截备份方法的步骤。
本申请实施例所述的计算及存储介质,在执行其中存储的计算机程序进行数据推送的功能测试时,无需通过前端操作创建任务,能够实现对大批量数据删除操作的拦截备份要求,并减少测试时间的消耗,提升功能测试的效率,在进行数据推送测试的过程中还能方便地进行压力测试,在通过日志判断数据的推送结果时还能方便分析测试时出现的问题,以及对测试过程中出现的问题进行定位。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
在本申请所提供的上述实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述模块或组件可以是或者也可以不是物理上分开的,作为模块或组件显示的部件可以是或者也可以不是物理模块,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块或组件来实现本实施例方案的目的。
本申请不限于上述实施方式,以上所述是本申请的优选实施方式,该实施例仅用于说明本申请而不用于限制本申请的范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,其依然可以对前述各具体实施方式所记载的技术方案进行若干改进和修饰,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理应视为包括在本申请的保护范围之内。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,以及凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (10)

1.一种数据删除操作的拦截备份方法,其特征在于,包括:
接收数据库操作指令,所述数据库操作指令中指示有对第一数据库中数据的数据库操作;
对所述数据库操作进行拦截;
解析所述数据库操作,判断其中是否包含数据删除操作;
若包含数据删除操作,则识别出数据删除操作所指向的目标数据,并进一步解析所述目标数据获取其目标存储结构;
基于所述目标存储结构将所述目标数据备份至预先配置的第二数据库中;
继续响应于所述数据库操作指令,执行所述数据库操作中的数据删除操作,以删除所述第一数据库中的所述目标数据。
2.根据权利要求1所述的数据删除操作的拦截备份方法,其特征在于,所述对所述数据库操作进行拦截的步骤包括:
激活预设的拦截指令,并响应于所述拦截指令调用mybatis拦截器,以通过所述mybatis拦截器对所述数据库操作进行拦截。
3.根据权利要求1所述的数据删除操作的拦截备份方法,其特征在于,所述基于所述目标存储结构将所述目标数据备份至预先配置的第二数据库中的步骤包括:
提取所述目标删除操作指向的数据表名;
根据所述数据表名查询出在所述第一数据库中与其匹配的目标数据表,并解析所述目标数据表获取目标表存储结构;
识别所述第二数据库中是否存在与所述目标表存储结构匹配的同构表,若不存在,则根据所述目标表存储结构在所述第二数据库中创建所述目标数据表的同构表;
获取所述目标数据,将所述目标数据插入所述同构表进行备份存储。
4.根据权利要求3所述的数据删除操作的拦截备份方法,其特征在于,所述获取所述目标数据的步骤包括:
解析出所述数据删除操作对应的目标sql删除语句;
将所述目标sql删除语句转化为用于查询所述目标数据的目标sql查询语句;
执行所述目标sql查询语句获取所述目标数据。
5.根据权利要求4所述的数据删除操作的拦截备份方法,其特征在于,所述将所述目标数据插入所述同构表进行备份存储的步骤包括:
以所述同构表作为目标数据表,将所述目标sql删除语句转化为目标sql插入语句;
执行所述目标sql插入语句将所述目标数据备份至所述同构表中;
将所述同构表发送至存储服务端以块链式的账本进行存储。
6.一种数据删除操作的拦截备份装置,其特征在于,包括:
指令接收模块,用于接收数据库操作指令,所述数据库操作指令中指示有对第一数据库中数据的数据库操作;
操作拦截模块,用于对所述数据库操作进行拦截;
操作判断模块,用于解析所述数据库操作,判断其中是否包含数据删除操作;
结构识别模块,用于若包含数据删除操作,则识别出数据删除操作所指向的目标数据,并进一步解析所述目标数据获取其目标存储结构;
数据备份模块,用于基于所述目标存储结构将所述目标数据备份至预先配置的第二数据库中;
操作执行模块,用于继续响应于所述数据库操作指令,执行所述数据库操作中的数据删除操作,以删除所述第一数据库中的所述目标数据。
7.根据权利要求6所述的数据删除操作的拦截备份装置,其特征在于,所述操作拦截模块用于:
激活预设的拦截指令,并响应于所述拦截指令调用mybatis拦截器,以通过所述mybatis拦截器对所述数据库操作进行拦截。
8.根据权利要求6所述的数据删除操作的拦截备份装置,其特征在于,所述数据备份模块用于:
提取所述目标删除操作指向的数据表名;
根据所述数据表名查询出在所述第一数据库中与其匹配的目标数据表,并解析所述目标数据表获取目标表存储结构;
识别所述第二数据库中是否存在与所述目标表存储结构匹配的同构表,若不存在,则根据所述目标表存储结构在所述第二数据库中创建所述目标数据表的同构表;
获取所述目标数据,将所述目标数据插入所述同构表进行备份存储;
将所述同构表发送至存储服务端以块链式的账本进行存储。
9.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5中任意一项所述的数据删除操作的拦截备份方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5中任意一项所述的数据删除操作的拦截备份方法的步骤。
CN202010363735.6A 2020-04-30 2020-04-30 数据删除操作的拦截备份方法、装置、设备及存储介质 Pending CN111651296A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010363735.6A CN111651296A (zh) 2020-04-30 2020-04-30 数据删除操作的拦截备份方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010363735.6A CN111651296A (zh) 2020-04-30 2020-04-30 数据删除操作的拦截备份方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN111651296A true CN111651296A (zh) 2020-09-11

Family

ID=72351973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010363735.6A Pending CN111651296A (zh) 2020-04-30 2020-04-30 数据删除操作的拦截备份方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111651296A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905386A (zh) * 2021-02-08 2021-06-04 中国工商银行股份有限公司 一种基于生命周期的表数据备份清理方法及装置
WO2022057525A1 (zh) * 2020-09-15 2022-03-24 腾讯科技(深圳)有限公司 一种数据找回方法、装置、电子设备及存储介质
CN114896261A (zh) * 2022-06-22 2022-08-12 中国平安财产保险股份有限公司 数据库的升级方法、装置、计算机设备和存储介质
CN116431669A (zh) * 2023-06-12 2023-07-14 天津金城银行股份有限公司 基于Mybatis的数据处理方法、装置、计算机设备及存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022057525A1 (zh) * 2020-09-15 2022-03-24 腾讯科技(深圳)有限公司 一种数据找回方法、装置、电子设备及存储介质
US11829411B2 (en) 2020-09-15 2023-11-28 Tencent Technology (Shenzhen) Company Limited Data recovery method and apparatus, electronic device, and storage medium
CN112905386A (zh) * 2021-02-08 2021-06-04 中国工商银行股份有限公司 一种基于生命周期的表数据备份清理方法及装置
CN114896261A (zh) * 2022-06-22 2022-08-12 中国平安财产保险股份有限公司 数据库的升级方法、装置、计算机设备和存储介质
CN114896261B (zh) * 2022-06-22 2024-04-05 中国平安财产保险股份有限公司 数据库的升级方法、装置、计算机设备和存储介质
CN116431669A (zh) * 2023-06-12 2023-07-14 天津金城银行股份有限公司 基于Mybatis的数据处理方法、装置、计算机设备及存储介质
CN116431669B (zh) * 2023-06-12 2023-08-15 天津金城银行股份有限公司 基于Mybatis的数据处理方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN111651296A (zh) 数据删除操作的拦截备份方法、装置、设备及存储介质
CN107832406B (zh) 海量日志数据的去重入库方法、装置、设备及存储介质
CN109936621B (zh) 信息安全的多页面消息推送方法、装置、设备及存储介质
CN110795499B (zh) 基于大数据的集群数据同步方法、装置、设备及存储介质
CN111367925A (zh) 数据动态实时更新方法、装置及存储介质
CN107515933A (zh) 修改源数据库表结构的方法、服务器、系统及存储介质
CN112162965A (zh) 一种日志数据处理的方法、装置、计算机设备及存储介质
CN112184169A (zh) 用户待办事项的动态规划方法、装置、设备及存储介质
CN112632071A (zh) 数据库主键id生成方法、装置、设备及存储介质
CN113254445A (zh) 实时数据存储方法、装置、计算机设备及存储介质
CN104881454A (zh) 参数的更新方法及系统
CN115757495A (zh) 缓存数据处理方法、装置、计算机设备及存储介质
CN111680477A (zh) 导出电子表格文件的方法、装置、计算机设备及存储介质
CN115455058A (zh) 缓存数据的处理方法、装置、计算机设备及存储介质
CN115757492A (zh) 一种热点数据的处理方法、装置、计算机设备及存储介质
CN112860662B (zh) 自动化生产数据血缘关系建立方法、装置、计算机设备及存储介质
CN111797297B (zh) 页面数据处理方法、装置、计算机设备及存储介质
CN112363814A (zh) 任务调度方法、装置、计算机设备及存储介质
CN111475388A (zh) 数据推送的测试方法、装置、计算机设备及存储介质
CN111475468A (zh) 新增系统的日志接入方法、装置、设备及存储介质
CN108845864B (zh) 一种基于spring框架的JVM垃圾回收方法和装置
CN115455020A (zh) 一种增量数据同步方法、装置、计算机设备及存储介质
CN115544558A (zh) 敏感信息检测方法、装置、计算机设备及存储介质
CN114510908A (zh) 数据导出方法、装置、计算机设备及存储介质
CN114626352A (zh) 报表自动化生成方法、装置、计算机设备及存储介质

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