CN109871705A - 一种数据库修改方法及系统 - Google Patents

一种数据库修改方法及系统 Download PDF

Info

Publication number
CN109871705A
CN109871705A CN201711250265.7A CN201711250265A CN109871705A CN 109871705 A CN109871705 A CN 109871705A CN 201711250265 A CN201711250265 A CN 201711250265A CN 109871705 A CN109871705 A CN 109871705A
Authority
CN
China
Prior art keywords
database
data
user
account
modified
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
CN201711250265.7A
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.)
China Mobile Communications Group Co Ltd
China Mobile Group Guangdong Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Guangdong Co 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 China Mobile Communications Group Co Ltd, China Mobile Group Guangdong Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201711250265.7A priority Critical patent/CN109871705A/zh
Publication of CN109871705A publication Critical patent/CN109871705A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

本发明实施例提供了一种数据库修改方法及系统,包括:对所述数据库修改指令对应的文本语句进行语法校验,并对所述用户的数据库账号进行权限校验;若所述语法校验和所述权限校验都通过,则在所述待修改数据的数据量大于预设阈值时,提醒所述用户选择是否执行所述数据库修改指令;若所述用户选择执行数据库修改指令,则在完成对所述待修改数据的备份后,在所述数据库中执行所述数据库修改指令。通过在执行用户的修改指令之前,进行语法校验和权限校验,并在两者通过后对用户进行数据量提醒,不仅能够防止恶意修改,还能够避免因用户修改指令语法错误及批量修改错误等给数据库带来的风险,从多方面提高了数据库修改操作的安全性。

Description

一种数据库修改方法及系统
技术领域
本发明实施例涉及数据库技术领域,更具体地,涉及一种数据库修改方法及系统。
背景技术
云计算和大数据技术的发展为企业提供了运维海量数据的能力,企业获得了大数据带来的机遇同时,也面临数据安全管控问题,尤其是生产数据库的安全管控问题。数据库修改操作纷繁复杂,主客观因素导致的操作风险屡见不鲜;企事业生产数据库涉及敏感、安全数据信息,诸如用户敏感信息、金额数据,数据库修改存在个人牟利可能,廉政风险难以避免;数据修改指令对应的文本语句问题层出不穷,数据库修改指令对应的文本语句因个体技术能力差异,存在语法错误风险、格式错误风险、批量修改误操作风险,技术风险不可根除。
目前数据库操作安全措施主要包括完善数据库登录安全措施、记录日志等方式。登录安全措施主要包括登录前校验账号密码,通过动态安全凭证来保证登录账号的合法性;日志内容则主要是底层研发后期跟踪问题的一种手段,主要是将一些登录或者操作记录写入日志的方式实现。
但是上述方法无法避免操作失误或者方案有误等导致的非主观错误,会严重危机数据库中数据的安全。
发明内容
本发明实施例提供了一种克服上述问题或者至少部分地解决上述问题的数据库修改方法及系统。
一方面本发明实施例提供了一种数据库修改方法,所述方法包括:
S1,根据用户输入的数据库修改指令对应的文本语句,获取所述数据库修改指令所要修改的待修改数据对应的数据表信息;
S2,对所述数据库修改指令对应的文本语句进行语法校验,并根据所述待修改数据对应的数据表信息和所述用户的数据库账号信息,对所述用户的数据库账号进行权限校验;
S3,若所述语法校验和所述权限校验都通过,则获取所述待修改数据的数据量,并在所述数据量大于预设阈值时,提醒所述用户选择是否执行所述数据库修改指令;
S4,若所述用户选择执行所述数据库修改指令,则在完成对所述待修改数据的备份后,在所述数据库中执行所述数据库修改指令。
进一步地,在步骤S1之前还包括:
根据所述用户输入的预设口令获取所述用户的数据库账号和所述数据库账号对应的数据库账号信息,并通过所述数据账号登录所述数据库。
进一步地,步骤S1具体包括:
根据编写数据库所采用的数据库语言的语法结构以及所述数据库修改指令对应的文本语句,获取所述待修改数据所处数据表的数据表信息。
进一步地,在步骤S2中,所述对所述数据库修改指令对应的文本语句进行语法校验,具体包括:
利用正则表达式校验所述数据库修改指令对应的文本语句是否同时包含关键字、关键字符以及判断条件,若同时包含则所述数据库修改指令对应的文本语句的语法校验通过,否则所述数据库修改指令对应的文本语句的语法校验不通过。
进一步地,在步骤S2中,所述根据所述待修改数据对应的数据表信息和所述用户的数据库账号信息,对所述用户的数据库账号进行权限校验,具体包括:
根据所述用户的数据库账号信息获取所述用户的数据库账号有权限修改的数据表对应数据表信息,并判断所述用户的数据库账号有权限修改的数据表对应的数据表信息,是否包括所述待修改数据对应的数据表信息,若包括则所述用户的数据库账号的权限校验通过,否则所述用户的数据库账号的权限校验不通过。
进一步地,所述方法还包括:
若所述语法校验和所述权限校验都通过,且判断获知所述待修改数据为敏感数据,当有至少一个可授权的数据库账号在线时,生成授权文件,并选择一个可授权的数据库账号对所述授权文件进行审批;
当没有可授权的数据库账号在线时,生成待授权文件,并在有可授权的数据库账号登录所述数据库后,选择一个可授权的数据库账号对所述待授权文件进行审批。
进一步地,在步骤S3中,所述获取所述待修改数据的数据量,具体包括:
将所述数据库修改指令转换为数据库选择指令,且所述数据库选择指令的选择条件与所述数据库修改指令的修改条件相同;
在所述数据库中执行所述数据库选择指令并统计被选择的数据的数据量,所述被选择的数据的数据量即为所述待修改数据的数据量。
另一方面本发明实施例提供了一种数据库修改系统,所述系统包括:
获取模块,用于根据用户输入的数据库修改指令对应的文本语句,获取所述数据库修改指令所要修改的待修改数据对应的数据表信息;
校验模块,用于对所述数据库修改指令对应的文本语句进行语法校验,并根据所述待修改数据对应的数据表信息和所述用户的数据库账号信息,对所述用户的数据库账号进行权限校验;
数据量提醒模块,用于若所述语法校验和所述权限校验都通过,则获取所述待修改数据的数据量,并在所述数据量大于预设阈值时,提醒所述用户选择是否执行所述数据库修改指令;
执行模块,用于若所述用户选择执行所述数据库修改指令,则在完成对所述待修改数据的备份后,在所述数据库中执行所述数据库修改指令。
第三方面本发明实施例提供了一种计算机程序产品,其所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述方法。
第四方面本发明实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述方法。
本发明实施例提供的一种数据库修改方法及系统,通过在执行用户的修改指令之前,对修改指令对应的文本语句进行语法校验,对用户的数据库账号进行权限校验,并在语法校验和权限校验通过后对用户进行待修改数据数据量提醒,不仅能够防止恶意修改,还能够避免因用户修改指令对应的文本语句语法错误及批量修改错误等给数据库带来的风险,从多方面提高了数据库修改操作的安全性。
附图说明
图1为本发明实施例提供的一种数据库修改方法的流程图;
图2为本发明实施例中待修改数据备份操作示意图;
图3为本发明实施例中敏感数据审批操作示意图;
图4为本发明实施例例提供的一种数据库修改系统的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种数据库修改方法的流程图,如图1所示,所述方法包括:S1,根据用户输入的数据库修改指令对应的文本语句,获取所述数据库修改指令所要修改的待修改数据对应的数据表信息;S2,对所述数据库修改指令对应的文本语句进行语法校验,并根据所述待修改数据对应的数据表信息和所述用户的数据库账号信息,对所述用户的数据库账号进行权限校验;S3,若所述语法校验和所述权限校验都通过,则获取所述待修改数据的数据量,并在所述数据量大于预设阈值时,提醒所述用户选择是否执行所述数据库修改指令;S4,若所述用户选择执行所述数据库修改指令,则在完成对所述待修改数据的备份后,在所述数据库中执行所述数据库修改指令。
具体地,在步骤S1中,所述数据表信息指的是数据库中各数据表相互区别的标识,每个数据表对应唯一的数据表信息。
在步骤S2中,用户登录数据库后,输入修改指令对应的文本语句以实现修改方案,用户输入的修改指令对应的文本语句的语法是否正确不仅决定修改方案是否能够实现,而且会影响数据库中无需修改数据的安全性。为了避免由于修改指令对应的文本语句语法错误对数据库造成的安全隐患,在执行修改指令对应之前,根据语法规则对用户输入的文本语句进行语法校验。语法校验通过则进行后续处理,若不通过则提示用户进行信息配置。
在实际操作中,所述语法规则根据数据库所采用的具体的数据语言决定,同时,根据具体的数据库语言(如ORACLE、DB2、MySQL、SQLSERVER等)的语法结构,可以获取数据库中待修改数据所处的数据表信息和字段信息。
同时,数据库中不同类型的数据分别存储在不同的数据表中,为了使数据库中的数据更加安全,对不同的数据库账号设置了不同的权限,不同权限的数据库账号能够修改的数据表的范围也不相同。数据库账号信息中即包含了该数据库账号的权限,数据库账号信息可以从账号配置文件中获得,所述账号配置文件中包含有所有数据库账号的权限信息。通过对所述用户的数据库账号进行权限校验,可以防止权限之外的数据库账号进行恶意修改。如权限校验通过则进行后续处理,若不通过则退出或者添加配置后从头校验。
在步骤S3中,当所述修改指令对应的文本语句的语法校验和所述用户的数据库账号权限校验都通过后,为了进一步避免修改指令对应的文本语句的错误导致对数据库安全的影响,需要对待修改数据的数据量进行校验,并在数据量超过预设阈值时提醒用户,尤其可以避免对大批量数据的误操作。若所述数据量不大于预设阈值,则不提醒,直接进入后续处理。
在实际操作中,根据数据库中所述待修改数据统计待修改数据的数据量,将所述数据量与预设阀值进行比较,确定是否需要提醒,如超过预设阀值,则显示数据量并提醒用户是否继续执行修改操作;如未超过阀值,则跳过显示数据量和提醒环节。
在步骤S4中,如图2所示,在以上校验都通过后,执行修改指令之前,还要将待修改数据进行备份,为事后回溯提供依据。
具体地,在上述步骤中,对所有操作都进行日志记录。
本发明实施例提供的一种数据库修改方法,通过在执行用户的修改指令之前,对修改指令对应的文本语句进行语法校验,对用户的数据库账号进行权限校验,并在语法校验和权限校验通过后对用户进行待修改数据数据量提醒,不仅能够防止恶意修改,还能够避免因用户修改指令对应的文本语句语法错误及批量修改错误等给数据库带来的风险,从多方面提高了数据库修改操作的安全性。
基于上述实施例,在步骤S1之前还包括:
根据所述用户输入的预设口令获取所述用户的数据库账号和所述数据库账号对应的数据库账号信息,并通过所述数据账号登录所述数据库。
具体地,为了便于对数据库账号的管控,用户不直接登录数据库,而是通过数据库操作工具登录数据库。预先为数据库操作工具的虚拟用户绑定数据对应的数据库账号并配置相应的预设口令,用户通过预设口令登录所述数据库操作工具后,在通过绑定的数据库账号访问数据库。
进一步地,所述账号库中的数据库账号和密码采用信息-摘要算法5进行加密。
具体地,为了保证所述数据库账号和密码的安全性,采用信息-摘要算法5(Message-Digest Algorithm 5,MD5)对所述账号库中的数据库账号和密码采用信息-摘要算法5进行加密。
其中,MD5算法是计算机广泛使用的杂凑算法之一,下面对MD5算法进行介绍和说明,MD5算法实现主要可分为六个步骤:
步骤1:信息填充,使得字符串的长度为N·512+418+64=(N=1)·512,其中,N为一个正整数,使其可以满足MD5算法中对信息长度的要求;
步骤2:级联参数,MD5中有4个链接变量A、B、C、D需要设置,分别为:
A=0x01234567 公式1
B=0x89abcdef 公式2
C=0xfedcba98 公式3
D=0x76543210 公式4
步骤3:声明四个中间变量a,b,c,d,并且赋值如下:
a=A 公式5
b=B 公式6
c=C 公式7
d=D 公式8
步骤4:设置MD5算法中的四个非线性函数F(X,Y,Z)、G(X,Y,Z)、H(X,Y,Z)、I(X,Y,Z),函数公式如下(&表示与,|表示或,~表示非,^表示异或):
F(X,Y,Z)=(X&Y)|((~X)&Z) 公式9
G(X,Y,Z)=(X&Z)|(Y&(~Z)) 公式10
H(X,Y,Z)=X^Y^Z 公式11
I(X,Y,Z)=Y^(X|(~Z)) 公式12
函数中,如果X、Y和Z的对应位是独立并且均匀的,那么结果的每一位也是独立和均匀的。其中函数F是逐位运算函数,函数H是逐位奇偶操作符。
步骤5:MD5算法的四轮循环运算,循环的次数是信息中512位信息分组的数目(即之前提到的N+1或者N+2)。假设Mj表示消息的第j个子分组(从0到15),常数ti是4294967296*abs(sin(i))的整数部分,i取值从1到64,单位是弧度。(4294967296等于2的32次方),规定(其中<<表示循环左移):
FF(a,b,c,d,Mj,s,ti)为a=b+((a+F(b,c,d)+Mj+ti)<<s) 公式13
GG(a,b,c,d,Mj,s,ti)为a=b+((a+G(b,c,d)+Mj+ti)<<s) 公式14
HH(a,b,c,d,Mj,s,ti)为a=b+((a+H(b,c,d)+Mj+ti)<<s) 公式15
Ⅱ(a,b,c,d,Mj,s,ti)为a=b+((a+I(b,c,d)+Mj+ti)<<s) 公式16
则,对M[j]的第一轮循环如下,其他三轮循环类似:
FF(a,b,c,d,M0,7,0xd76aa478) 公式17
FF(d,a,b,c,M1,12,0xe8c7b756) 公式18
FF(c,d,a,b,M2,17,0x242070db) 公式19
FF(b,c,d,a,M3,22,0xc1bdceee) 公式20
FF(a,b,c,d,M4,7,0xf57c0faf) 公式21
FF(d,a,b,c,M5,12,0x4787c62a) 公式22
FF(c,d,a,b,M6,17,0xa8304613) 公式23
FF(b,c,d,a,M7,22,0xfd469501) 公式24
FF(a,b,c,d,M8,7,0x698098d8) 公式25
FF(d,a,b,c,M9,12,0x8b44f7af) 公式26
FF(c,d,a,b,M10,17,0xffff5bb1) 公式27
FF(b,c,d,a,M11,22,0x895cd7be) 公式28
FF(a,b,c,d,M12,7,0x6b901122) 公式29
FF(d,a,b,c,M13,12,0xfd987193) 公式30
FF(c,d,a,b,M14,17,0xa679438e) 公式31
FF(b,c,d,a,M15,22,0x49b40821) 公式32
步骤6:处理完所有的512位的分组后,得到一组新的A,B,C,D的值,将这些值按ABCD的顺序级联,即为MD5的输出结果。例如:本方法中对密码“a”的MD5加密输出结果为:60b725f10c9c85c70d97880dfe8191b3。
基于上述实施例,步骤S1具体包括:
根据编写数据库所采用的数据库语言的语法结构以及所述数据库修改指令对应的文本语句,获取所述待修改数据所处数据表的数据表信息。
基于上述实施例,在步骤S2中,所述对所述数据库修改指令对应的文本语句进行语法校验,具体包括:
利用正则表达式校验所述数据库修改指令对应的文本语句是否同时包含关键字、关键字符以及判断条件,若同时包含则所述数据库修改指令对应的文本语句的语法校验通过,否则所述数据库修改指令对应的文本语句的语法校验不通过。
具体地,根据具体数据库增/删/改语法格式,使用正则表达式判断待校验方案是否包含主要关键字、关键字符、判断条件,是否准确;如果关键字、关键字符、判断条件均正确无误,语法校验通过;如校验不通过,则进行相应提示,结束或者补充完善后再次进行校验。例如,判断修改指令对应的文本语句中的关键字where时刻采用如下程序:
sqlStr=`echo"${line}"|sed"s/[]\{1,\}\*\//\*\//g;s/\/\*[]\{1,\}/\/\*/g"|sed's/[wW][hH][eE][rR][eE]/where/g'`)。
基于上述实施例,在步骤S2中,所述根据所述待修改数据对应的数据表信息和所述用户的数据库账号信息,对所述用户的数据库账号进行权限校验,具体包括:
根据所述用户的数据库账号信息获取所述用户的数据库账号有权限修改的数据表对应数据表信息,并判断所述用户的数据库账号有权限修改的数据表对应的数据表信息,是否包括所述待修改数据对应的数据表信息,若包括则所述用户的数据库账号的权限校验通过,否则所述用户的数据库账号的权限校验不通过。
基于上述实施例,所述方法还包括:
若所述语法校验和所述权限校验都通过,且判断获知所述待修改数据为敏感数据,当有至少一个可授权的数据库账号在线时,生成授权文件,并选择一个可授权的数据库账号对所述授权文件进行审批;
当没有可授权的数据库账号在线时,生成待授权文件,并在有可授权的数据库账号登录所述数据库后,选择一个可授权的数据库账号对所述待授权文件进行审批。
具体地,此过程即使所谓的“金库审批”过程,在修改敏感信息的时候,需要另一个人或多个人审批后才能执行,也是对敏感信息的一种保护手段。如图3所示,读取账号配置文件中有授权权限的数据库账号信息,即判断数据库中是否有可授权的数据库账号在线。如有可授权的数据库账号在线,生成授权文件,并显示在线的可授权的数据库账号信息,供用户选择一个在线的可授权的数据库账号作为审批人,指定审批人在一定时间(例如5分钟)内对所述授权文件进行审批。如无可授权的数据库账号在线,则生成待授权文件,用户可选择后审批模式,所谓后审批模式即:先执行修改,有可授权的账号登录后根据待授权文件提示进行审批。
基于上述实施例,在步骤S3中,所述获取所述待修改数据的数据量,具体包括:
将所述数据库修改指令转换为数据库选择指令,且所述数据库选择指令的选择条件与所述数据库修改指令的修改条件相同;
在所述数据库中执行所述数据库选择指令并统计被选择的数据的数据量,所述被选择的数据的数据量即为所述待修改数据的数据量。
具体地,获取待修改数据的数据量的时候,无需进行其他操作,采用这种方式获取待修改数据的数据量简单易行,且获取的数据量的结果准确无误。
图4为本发明实施例提供的一种数据库修改系统的结构框图,所述系统包括:获取模块1、校验模块2、数据量提醒模块3和执行模块4。其中:
获取模块1用于根据用户输入的数据库修改指令对应的文本语句,获取所述数据库修改指令所要修改的待修改数据对应的数据表信息。校验模块2用于对所述数据库修改指令对应的文本语句进行语法校验,并根据所述待修改数据对应的数据表信息和所述用户的数据库账号信息,对所述用户的数据库账号进行权限校验。数据量提醒模块3用于若所述语法校验和所述权限校验都通过,则获取所述待修改数据的数据量,并在所述数据量大于预设阈值时,提醒所述用户选择是否执行所述数据库修改指令。执行模块4用于若所述用户选择执行所述数据库修改指令,则在完成对所述待修改数据的备份后,在所述数据库中执行所述数据库修改指令。
本发明实施例提供的一种数据库修改系统,从数据库账号登录、修改到退出实现全程的智能管控,包括数据库账号密码管控、修改指令对应的文本语句/方案正确性自动校验、敏感数据修改采取金库模式审批策略、大批量数据修改采取二次确认机制、数据变更全程自动备份。本方法可以有效控制数据库修改操作过程中可能存在的主观风险,包括恶意登录、恶意修改敏感信息、恶意批量数据修改等,也可以有效的规避客观因素导致的数据库修改风险,包括修改指令对应的文本语句/方案错误类问题、关键词/关键字缺失导致的错误修改等。在一定程度上有效规避了数据库修改过程中存在的操作风险、廉政风险和技术风险,数据库修改操作安全性得到提高。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:根据用户输入的数据库修改指令对应的文本语句,获取所述数据库修改指令所要修改的待修改数据对应的数据表信息;对所述数据库修改指令对应的文本语句进行语法校验,并根据所述待修改数据对应的数据表信息和所述用户的数据库账号信息,对所述用户的数据库账号进行权限校验;若所述语法校验和所述权限校验都通过,则获取所述待修改数据的数据量,并在所述数据量大于预设阈值时,提醒所述用户选择是否执行所述数据库修改指令;若所述用户选择执行所述数据库修改指令,则在完成对所述待修改数据的备份后,在所述数据库中执行所述数据库修改指令。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:根据用户输入的数据库修改指令对应的文本语句,获取所述数据库修改指令所要修改的待修改数据对应的数据表信息;对所述数据库修改指令对应的文本语句进行语法校验,并根据所述待修改数据对应的数据表信息和所述用户的数据库账号信息,对所述用户的数据库账号进行权限校验;若所述语法校验和所述权限校验都通过,则获取所述待修改数据的数据量,并在所述数据量大于预设阈值时,提醒所述用户选择是否执行所述数据库修改指令;若所述用户选择执行所述数据库修改指令,则在完成对所述待修改数据的备份后,在所述数据库中执行所述数据库修改指令。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种数据库修改方法,其特征在于,所述方法包括:
S1,根据用户输入的数据库修改指令对应的文本语句,获取所述数据库修改指令所要修改的待修改数据对应的数据表信息;
S2,对所述数据库修改指令对应的文本语句进行语法校验,并根据所述待修改数据对应的数据表信息和所述用户的数据库账号信息,对所述用户的数据库账号进行权限校验;
S3,若所述语法校验和所述权限校验都通过,则获取所述待修改数据的数据量,并在所述数据量大于预设阈值时,提醒所述用户选择是否执行所述数据库修改指令;
S4,若所述用户选择执行所述数据库修改指令,则在完成对所述待修改数据的备份后,在所述数据库中执行所述数据库修改指令。
2.根据权利要求1所述方法,其特征在于,在步骤S1之前还包括:
根据所述用户输入的预设口令获取所述用户的数据库账号和所述数据库账号对应的数据库账号信息,并通过所述数据账号登录所述数据库。
3.根据权利要求1所述方法,其特征在于,步骤S1具体包括:
根据编写数据库所采用的数据库语言的语法结构以及所述数据库修改指令对应的文本语句,获取所述待修改数据所处数据表的数据表信息。
4.根据权利要求1所述方法,其特征在于,在步骤S2中,所述对所述数据库修改指令对应的文本语句进行语法校验,具体包括:
利用正则表达式校验所述数据库修改指令对应的文本语句是否同时包含关键字、关键字符以及判断条件,若同时包含则所述数据库修改指令对应的文本语句的语法校验通过,否则所述数据库修改指令对应的文本语句的语法校验不通过。
5.根据权利要求1所述方法,其特征在于,在步骤S2中,所述根据所述待修改数据对应的数据表信息和所述用户的数据库账号信息,对所述用户的数据库账号进行权限校验,具体包括:
根据所述用户的数据库账号信息获取所述用户的数据库账号有权限修改的数据表对应数据表信息,并判断所述用户的数据库账号有权限修改的数据表对应的数据表信息,是否包括所述待修改数据对应的数据表信息,若包括则所述用户的数据库账号的权限校验通过,否则所述用户的数据库账号的权限校验不通过。
6.根据权利要求1所述方法,其特征在于,所述方法还包括:
若所述语法校验和所述权限校验都通过,且判断获知所述待修改数据为敏感数据,当有至少一个可授权的数据库账号在线时,生成授权文件,并选择一个可授权的数据库账号对所述授权文件进行审批;
当没有可授权的数据库账号在线时,生成待授权文件,并在有可授权的数据库账号登录所述数据库后,选择一个可授权的数据库账号对所述待授权文件进行审批。
7.根据权利要求1所述方法,其特征在于,在步骤S3中,所述获取所述待修改数据的数据量,具体包括:
将所述数据库修改指令转换为数据库选择指令,且所述数据库选择指令的选择条件与所述数据库修改指令的修改条件相同;
在所述数据库中执行所述数据库选择指令并统计被选择的数据的数据量,所述被选择的数据的数据量即为所述待修改数据的数据量。
8.一种数据库修改系统,其特征在于,所述系统包括:
获取模块,用于根据用户输入的数据库修改指令对应的文本语句,获取所述数据库修改指令所要修改的待修改数据对应的数据表信息;
校验模块,用于对所述数据库修改指令对应的文本语句进行语法校验,并根据所述待修改数据对应的数据表信息和所述用户的数据库账号信息,对所述用户的数据库账号进行权限校验;
数据量提醒模块,用于若所述语法校验和所述权限校验都通过,则获取所述待修改数据的数据量,并在所述数据量大于预设阈值时,提醒所述用户选择是否执行所述数据库修改指令;
执行模块,用于若所述用户选择执行所述数据库修改指令,则在完成对所述待修改数据的备份后,在所述数据库中执行所述数据库修改指令。
9.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如权利要求1至7任一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一项所述的方法。
CN201711250265.7A 2017-12-01 2017-12-01 一种数据库修改方法及系统 Pending CN109871705A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711250265.7A CN109871705A (zh) 2017-12-01 2017-12-01 一种数据库修改方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711250265.7A CN109871705A (zh) 2017-12-01 2017-12-01 一种数据库修改方法及系统

Publications (1)

Publication Number Publication Date
CN109871705A true CN109871705A (zh) 2019-06-11

Family

ID=66913668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711250265.7A Pending CN109871705A (zh) 2017-12-01 2017-12-01 一种数据库修改方法及系统

Country Status (1)

Country Link
CN (1) CN109871705A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110865999A (zh) * 2019-11-19 2020-03-06 浪潮软件股份有限公司 一种Excel上传数据并进行校验和反馈的方法及系统
CN111858640A (zh) * 2020-07-30 2020-10-30 平安国际智慧城市科技股份有限公司 一种数据管理方法、数据管理装置、电子设备及存储介质
CN112069194A (zh) * 2020-08-31 2020-12-11 杭州铁驰云商科技有限公司 一种对数据库中数据的实时修改方法及系统
CN112765156A (zh) * 2020-12-29 2021-05-07 中国人寿保险股份有限公司上海数据中心 一种基于数据修改规则的数据修改方法、系统和存储介质
CN112765158A (zh) * 2020-12-30 2021-05-07 中国人寿保险股份有限公司上海数据中心 一种数据库的数据修改方法、装置及存储介质
CN113590883A (zh) * 2021-08-10 2021-11-02 上海杉互健康科技有限公司 医疗信息与数据库映射的方法、系统、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1484180A (zh) * 2002-09-17 2004-03-24 英业达股份有限公司 工作进度管理方法以及系统
US20040111414A1 (en) * 2002-12-06 2004-06-10 International Business Machines Corporation System and method for selective execution of statements with surrogate authority
CN101639854A (zh) * 2009-09-02 2010-02-03 北京星网锐捷网络技术有限公司 获取表名的方法、装置和服务器
CN102314573A (zh) * 2010-07-01 2012-01-11 英业达股份有限公司 项目管理系统
CN103186637A (zh) * 2011-12-30 2013-07-03 中国移动通信集团广东有限公司 一种分析boss数据库用户行为的方法及装置
CN103455516A (zh) * 2012-06-01 2013-12-18 腾讯科技(北京)有限公司 一种运维平台及数据库的维护方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1484180A (zh) * 2002-09-17 2004-03-24 英业达股份有限公司 工作进度管理方法以及系统
US20040111414A1 (en) * 2002-12-06 2004-06-10 International Business Machines Corporation System and method for selective execution of statements with surrogate authority
CN101639854A (zh) * 2009-09-02 2010-02-03 北京星网锐捷网络技术有限公司 获取表名的方法、装置和服务器
CN102314573A (zh) * 2010-07-01 2012-01-11 英业达股份有限公司 项目管理系统
CN103186637A (zh) * 2011-12-30 2013-07-03 中国移动通信集团广东有限公司 一种分析boss数据库用户行为的方法及装置
CN103455516A (zh) * 2012-06-01 2013-12-18 腾讯科技(北京)有限公司 一种运维平台及数据库的维护方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110865999A (zh) * 2019-11-19 2020-03-06 浪潮软件股份有限公司 一种Excel上传数据并进行校验和反馈的方法及系统
CN111858640A (zh) * 2020-07-30 2020-10-30 平安国际智慧城市科技股份有限公司 一种数据管理方法、数据管理装置、电子设备及存储介质
CN111858640B (zh) * 2020-07-30 2024-05-10 深圳平安智慧医健科技有限公司 一种数据管理方法、数据管理装置、电子设备及存储介质
CN112069194A (zh) * 2020-08-31 2020-12-11 杭州铁驰云商科技有限公司 一种对数据库中数据的实时修改方法及系统
CN112765156A (zh) * 2020-12-29 2021-05-07 中国人寿保险股份有限公司上海数据中心 一种基于数据修改规则的数据修改方法、系统和存储介质
CN112765158A (zh) * 2020-12-30 2021-05-07 中国人寿保险股份有限公司上海数据中心 一种数据库的数据修改方法、装置及存储介质
CN113590883A (zh) * 2021-08-10 2021-11-02 上海杉互健康科技有限公司 医疗信息与数据库映射的方法、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109871705A (zh) 一种数据库修改方法及系统
Fellegi et al. A systematic approach to automatic edit and imputation
US8949166B2 (en) Creating and processing a data rule for data quality
US20100325173A1 (en) Rapid development of informatics systems for collaborative data management
CN106059762A (zh) 数据安全处理方法及装置
Rahman et al. Snakes in paradise?: Insecure python-related coding practices in stack overflow
CN104573142A (zh) 基于神经网络的口令属性分析方法
CN116542637B (zh) 一种基于计算机的政务平台安全管控方法
CN104965781A (zh) 一种生成测试用例的方法及装置
CN108460068A (zh) 报表导入导出的方法、装置、存储介质及终端
CN107844385A (zh) 一种基于共享内存的变量读写方法及装置
Badra et al. Building smart contracts for COVID19 pandemic over the blockchain emerging technologies
Vestergaard et al. SLAFKA: Demonstrating the potential for distributed ledger technology for nuclear safeguards information management
Elfaki et al. Using First Order Logic to Validate Feature Model.
Okun et al. The second static analysis tool exposition (SATE) 2009
CN107533614A (zh) 使用语义关系修改数据元素
CN113449034B (zh) 一种基于区块链网络的智能合约数据安全管理方法、系统及存储介质
Safarzadeh et al. An Automatic Test Case Generator for Evaluating Implementation of Access Control Policies.
Penttinen et al. An open modelling approach for availability and reliability of systems-OpenMARS
Bures et al. Dynamic data consistency tests using a crud matrix as an underlying model
US10810101B2 (en) Benchmark software system and method
Li et al. Static-based test case dynamic generation for SQLIVs detection
CN116185878B (zh) 基于区块链技术的软件认证测试技术平台
CN107688663A (zh) 无环数据分析队列的形成方法及包含其的大数据支撑平台
Kristallia et al. Design and Development Hands-On Vulnerable Web Application as a Software Security Educational Media

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190611

RJ01 Rejection of invention patent application after publication