一种数据库操作备份方法及其系统技术方案

技术编号:26375673 阅读:30 留言:0更新日期:2020-11-19 23:44
本发明专利技术公开了一种数据库操作备份方法及其系统,备份方法步骤包括:数据库代理模块对用户发送过来的sql语句进行识别,并判断sql语句是普通sql语句还是高危sql语句;若判断sql语句为普通sql语句,则数据库代理模块直接将sql语句发送给数据库,数据库根据sql语句执行对应的操作;若判断sql语句为高危sql语句,则数据库代理模块预先将该高危sql语句对数据库所需要执行的数据进行备份,然后数据库再根据高危sql语句执行对应的操作;数据库代理模块接收用户撤回高危sql语句操作的指令,并将备份的的数据进行恢复。本发明专利技术降低了因失误操作而带来数据丢失的风险。

【技术实现步骤摘要】
一种数据库操作备份方法及其系统
本专利技术涉及数据库
,特别涉及一种数据库操作备份方法及其系统。
技术介绍
数据库是一种广泛应用的数据管理软件,提供数据的增删改查服务。随着企业的业务量增多,相应的,企业的应用系统的数据库数量也随之增加,数据库中的数据每天都需要进行查询、更新或其他操作,而通常情况下,利用结构化查询语言SQL来实现这些操作。现有技术书用户直接把SQL语句指令直接发送给数据库执行,在利用SQL语句对数据库进行操作的过程中,如果SQL语句不规范,则会导致数据库操作错误,所以在执行SQL语句之前,需要对SQL语句进行判断。目前数据库提供了数据备份功能,但机制是基于人为指定的,比如定时每天什么时间点进行备份或者人工主动触发备份,缺乏灵活性。
技术实现思路
本专利技术要解决的技术问题在于,提供一种数据库操作备份方法及其系统,在需要对数据库进行高危操作时,先对数据库相关表格数据进行备份,然后再转发这些高危操作指令给数据库执行,降低了因失误操作而带来数据丢失的风险。为解决上述技术问题,本专利技术提供如下技术方案:一种数据库操作备份方法,包括以下步骤:S1、数据库代理模块对用户发送过来的sql语句进行识别,并判断sql语句是普通sql语句还是高危sql语句;S2、若判断sql语句为普通sql语句,则数据库代理模块直接将sql语句发送给数据库,数据库根据sql语句执行对应的操作;S3、若判断sql语句为高危sql语句,则数据库代理模块预先将该高危sql语句对数据库所需要执行的数据进行备份,然后数据库再根据高危sql语句执行对应的操作;当用户发现发送的高危sql语句为操作失误时,数据库代理模块接收用户撤回高危sql语句操作的指令,并将备份的的数据进行恢复。进一步地,所述步骤S1前还包括步骤S0、数据库代理模块预先收集高危sql语句并存储,并将收集到的高危sql语句之外的sql语句列为普通sql语句。进一步地,所述步骤S3还包括:在一定时间后,数据库代理模块没有接收到用户撤回高危sql语句操作的指令,则将备份的的数据进行删除。本专利技术另一目的是提供一种数据库操作备份系统,包括相互连接的数据库代理模块和数据库;所述数据库代理模块用于接收用户发送过来的sql语句,并对sql语句进行识别以及判断sql语句是普通sql语句还是高危sql语句;若判断sql语句为普通sql语句,则所述数据库代理模块直接将sql语句发送给所述数据库,所述数据库根据sql语句执行对应的操作;若判断sql语句为高危sql语句,则所述数据库代理模块预先将该高危sql语句对所述数据库所需要执行的数据进行备份,然后所述数据库再根据高危sql语句执行对应的操作;当用户发现发送的高危sql语句为操作失误时,所述数据库代理模块用于接收用户撤回高危sql语句操作的指令,并将备份的的数据进行恢复。进一步地,所述数据库代理模块还用于预先收集高危sql语句并存储,并将收集到的高危sql语句之外的sql语句列为普通sql语句。采用上述技术方案后,本专利技术至少具有如下有益效果:本专利技术增加数据库代理并识别是否高危操作,对高危操作数据先进行备份再转发执行,当用户发现操作失误时,可以借助之前自动备份的数据进行恢复,降低了因失误操作而带来数据丢失的风险。附图说明图1为本专利技术一种数据库操作备份方法的步骤流程图;图2为本专利技术一种数据库操作备份系统的框架图。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本申请作进一步详细说明。实施例1本专利技术主要是提供一个数据库代理模块,用于识别用户需要执行的sql语句,如果判断是普通语句则转发给数据库执行,如果检测到是高危sql语句,则先对操作的数据进行备份,然后再转发给数据库执行;当用户发现操作失误时,可以借助之前自动备份的数据进行恢复。如图1所示,本实施例提供一种数据库操作备份方法,步骤包括:S0、数据库代理模块预先收集高危sql语句并存储,并将收集到的高危sql语句之外的sql语句列为普通sql语句;例如,对“删除表格”、“删除图片”、“更换图片”等等这些sql语句收集并标记为高危sql语句,在以后接收到用户的其他sql语句(不包括高危sql语句),则将这些sql语句标记为普通sql语句;本实施例仅仅是将所有接收到用户发送过来的sql语句列为高危sql语句和普通sql语句;S1、数据库代理模块对用户发送过来的sql语句进行识别,并判断sql语句是普通sql语句还是高危sql语句;S2、若判断sql语句为普通sql语句,则数据库代理模块直接将sql语句发送给数据库,数据库根据sql语句执行对应的操作;S3、若判断sql语句为高危sql语句,则数据库代理模块预先将该高危sql语句对数据库所需要执行的数据进行备份,然后数据库再根据高危sql语句执行对应的操作;当用户发现发送的高危sql语句为操作失误时,数据库代理模块接收用户撤回高危sql语句操作的指令,并将备份的的数据进行恢复。其中,数据库代理模块没有接收用户撤回高危sql语句操作的指令,意味着用户刚刚操作的数据是正确的,无需将备份的的数据进行恢复,并且,设定一定时间(例如24小时)后,数据库代理模块将备份的数据进行删除,可减少数据存储的压力,这里的一定时间,具体设置数据根据实际用户操作习惯来控制。实施例2如图2所示,本实施例提供一种数据库操作备份系统,包括相互连接的数据库代理模块和数据库;用户发送sql语句给数据库代理模块,数据库代理模块将sql语句筛选后发送给数据库,数据库执行sql语句所代表的指令;其中,所述数据库代理模块用于预先收集高危sql语句并存储,并将收集到的高危sql语句之外的sql语句列为普通sql语句;所述数据库代理模块用于接收用户发送过来的sql语句,并对sql语句进行识别以及判断sql语句是普通sql语句还是高危sql语句;若判断sql语句为普通sql语句,则所述数据库代理模块直接将sql语句发送给所述数据库,所述数据库根据sql语句执行对应的操作;若判断sql语句为高危sql语句,则所述数据库代理模块预先将该高危sql语句对所述数据库所需要执行的数据进行备份,然后所述数据库再根据高危sql语句执行对应的操作;当用户发现发送的高危sql语句为操作失误时,所述数据库代理模块用于接收用户撤回高危sql语句操作的指令,并将备份的的数据进行恢复;所述数据库代理模块还用于:在一定时间后,数据库代理模块没有接收到用户撤回高危sql语句操作的指令,则将备份的的数据进行删除。尽管已经示出和描述了本专利技术的实施例,对于本领域的普通技术人员而言,可以理解的是,在不脱离本专利技术的原理和精神的情况下可以对这些实施例进行多种等效的变化、修改、替换和变型,本专利技术的范围由所附权利要求及其等同范围限定。本文档来自技高网...

【技术保护点】
1.一种数据库操作备份方法,其特征在于,包括以下步骤:/nS1、数据库代理模块对用户发送过来的sql语句进行识别,并判断sql语句是普通sql语句还是高危sql语句;/nS2、若判断sql语句为普通sql语句,则数据库代理模块直接将sql语句发送给数据库,数据库根据sql语句执行对应的操作;/nS3、若判断sql语句为高危sql语句,则数据库代理模块预先将该高危sql语句对数据库所需要执行的数据进行备份,然后数据库再根据高危sql语句执行对应的操作;当用户发现发送的高危sql语句为操作失误时,数据库代理模块接收用户撤回高危sql语句操作的指令,并将备份的的数据进行恢复。/n

【技术特征摘要】
1.一种数据库操作备份方法,其特征在于,包括以下步骤:
S1、数据库代理模块对用户发送过来的sql语句进行识别,并判断sql语句是普通sql语句还是高危sql语句;
S2、若判断sql语句为普通sql语句,则数据库代理模块直接将sql语句发送给数据库,数据库根据sql语句执行对应的操作;
S3、若判断sql语句为高危sql语句,则数据库代理模块预先将该高危sql语句对数据库所需要执行的数据进行备份,然后数据库再根据高危sql语句执行对应的操作;当用户发现发送的高危sql语句为操作失误时,数据库代理模块接收用户撤回高危sql语句操作的指令,并将备份的的数据进行恢复。


2.根据权利要求1所述的一种数据库操作备份方法,其特征在于,所述步骤S1前还包括步骤S0、数据库代理模块预先收集高危sql语句并存储,并将收集到的高危sql语句之外的sql语句列为普通sql语句。


3.根据权利要求1所述的一种数据库操作备份方法,其特征在于,所述步骤S3还包括:在一定时间后,数据库代理模块没有接收到用户撤回高危sql语句操作的指令,则将备份的的数据进行删除。


4....

【专利技术属性】
技术研发人员:麦剑史伟闵宇
申请(专利权)人:广东睿江云计算股份有限公司
类型:发明
国别省市:广东;44

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

1