CN107861969A - 语句修改方法、扫描平台和计算机可读存储介质 - Google Patents
语句修改方法、扫描平台和计算机可读存储介质 Download PDFInfo
- Publication number
- CN107861969A CN107861969A CN201710830880.9A CN201710830880A CN107861969A CN 107861969 A CN107861969 A CN 107861969A CN 201710830880 A CN201710830880 A CN 201710830880A CN 107861969 A CN107861969 A CN 107861969A
- Authority
- CN
- China
- Prior art keywords
- sentence
- database
- tables
- data
- amending method
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种语句修改方法,所述方法包括:获取携带预设特征的各个语句,剔除各个语句中的条件引用字段;从剔除掉条件引用字段的各个语句中,根据语句属性对各个语句进行归类;在归类后的每一类语句中,分别提取出一条语句;从数据库中查找与提取的各条语句相对应的原始语句,以便对查找到的各条原始语句进行修改。本发明还公开了一种扫描平台和计算机可读存储介质。本发明提高了语句修改的效率和智能性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种语句修改方法、扫描平台和计算机可读存储介质。
背景技术
现有的语句违规修改方法,是在数据库中遍历所有语句,以查找出违规的语句,并针对违规语句进行风险告警,之后,对语句进行一条条修改,由于在扫描之后得到的违规项非常巨大,无法确定影响最大的语句,由人工进行一条条的整理,费时费力,智能性差。
发明内容
本发明的主要目的在于提供一种语句修改方法、扫描平台和计算机可读存储介质,旨在解决现有的语句修改方式,费时费力,智能性差的技术问题。
为实现上述目的,本发明提供一种语句修改方法,所述语句修改方法包括:
获取携带预设特征的各个语句,剔除各个语句中的条件引用字段;
从剔除掉条件引用字段的各个语句中,根据语句属性对各个语句进行归类;
在归类后的每一类语句中,分别提取出一条语句;
从数据库中查找与提取的各条语句相对应的原始语句,以便对查找到的各条原始语句进行修改。
可选地,所述获取携带预设特征的各个语句,剔除各个语句中的条件引用字段的步骤之前,所述方法还包括:
通过预设的数据库引擎定时扫描数据库中的语句,以查找出携带预设特征的语句。
可选地,所述通过预设的数据库引擎定时扫描数据库中的语句,以查找出携带预设特征的语句的步骤包括:
获取数据库引擎中的语句执行信息;
采用数据库引擎中的语句执行信息对数据库中的语句进行语法解析,以查看是否存在携带预设特征的语句。
可选地,所述获取携带预设特征的各个语句,剔除各个语句中的条件引用字段的步骤包括:
获取携带预设特征的各个语句,采用正则表达式剔除各个语句中的条件引用字段。
可选地,所述在归类后的每一类语句中,分别提取出一条语句的步骤包括:
在归类后的每一类语句中,按照语句标识对每一类语句中的各个语句进行排序;
在排序后的每一类语句中,分别提取出最大语句标识的语句。
可选地,所述从数据库中查找与提取的各条语句相对应的原始语句,以便对查找到的各条原始语句进行修改的步骤包括:
根据各个最大语句标识的语句,在数据库中查找各个最大语句标识的语句所用到的数据表;
确定查找到的各个数据表的容量值;
在有数据表的容量值达到预设值时,从数据表中找到与最大语句标识的语句相对应的原始语句,以便对查找到的原始语句进行修改。
可选地,所述确定查找到的各个数据表的容量值的步骤之后,所述方法还包括:
在数据表的容量值小于预设值时,直接采用最大语句标识的语句对应的预设特征对所述数据表进行语句修改。
可选地,所述预设特征包括全表扫描特征或隐式转换特征。
此外,为实现上述目的,本发明还提供一种扫描平台,所述扫描平台包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的语句修改程序,所述语句修改程序被所述处理器执行时实现如上文所述的语句修改方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有语句修改程序,所述语句修改程序被处理器执行时实现如上文所述的语句修改方法的步骤。
本发明提出的技术方案,先获取携带预设特征的各个语句,并剔除各个语句中的条件引用字段,然后从剔除掉条件引用字段的各个语句中,根据语句属性对各个语句进行归类,在归类后的每一类语句中,分别提取出一条语句,最终从数据库中查找与提取的各条语句相对应的语句,以便对查找到的各条语句进行修改。本发明中,对批量违规语句的修改,是先剔除各个语句的条件引用,再对重复的句子去重,后续只要保留一条语句,即可在数据库中快读定位到真正的违规语句,并对该违规语句进行修改,后续根据该语句重新生成的语句,也不会出现违规的情况,通过这种去重修改处理,无须人工进行修改,省时省力,不仅效率较高,而且智能性也有所提高。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的扫描平台结构示意图;
图2为本发明语句修改方法第一实施例的流程示意图;
图3为图2中步骤S30的细化流程示意图;
图4为图2中步骤S40的细化流程示意图;
图5为本发明语句修改方法第二实施例的流程示意图;
图6为图5中步骤S50的细化流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的解决方案主要是:先获取携带预设特征的各个语句,并剔除各个语句中的条件引用字段,然后从剔除掉条件引用字段的各个语句中,根据语句属性对各个语句进行归类,在归类后的每一类语句中,分别提取出一条语句,最终从数据库中查找与提取的各条语句相对应的语句,以便对查找到的各条语句进行修改。以解决现有的语句修改方式,费时费力且智能性差的问题。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的扫描平台结构示意图。
本发明实施例扫描平台可以是PC,也可以是智能手机、平板电脑、便携计算机等具有显示功能的可移动式扫描平台设备。
如图1所示,该扫描平台可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口(例如用于连接有线键盘、有线鼠标等)、无线接口(例如用于连接无线键盘、无线鼠标)。网络接口1004可选的可以包括标准的有线接口(用于连接有线网络)、无线接口(如WI-FI接口、蓝牙接口、红外线接口等,用于连接无线网络)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图1中示出的扫描平台结构并不构成对扫描平台的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及语句修改程序。其中,操作***是管理和控制扫描平台与软件资源的程序,支持网络通信模块、用户接口模块、语句修改程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
在图1所示的扫描平台中,网络接口1004主要用于连接服务器,与服务器进行数据通信;用户接口1003主要用于连接扫描平台界面;所述扫描平台通过处理器1001调用存储器1005中存储的语句修改程序,以实现以下步骤:
获取携带预设特征的各个语句,剔除各个语句中的条件引用字段;
从剔除掉条件引用字段的各个语句中,根据语句属性对各个语句进行归类;
在归类后的每一类语句中,分别提取出一条语句;
从数据库中查找与提取的各条语句相对应的原始语句,以便对查找到的各条原始语句进行修改。
进一步地,所述获取携带预设特征的各个语句,剔除各个语句中的条件引用字段的步骤之前,所述扫描平台通过处理器1001调用存储器1005中存储的语句修改程序,以实现以下步骤:
通过预设的数据库引擎定时扫描数据库中的语句,以查找出携带预设特征的语句。
进一步地,所述扫描平台通过处理器1001调用存储器1005中存储的语句修改程序,以实现通过预设的数据库引擎定时扫描数据库中的语句,以查找出携带预设特征的语句的步骤:
获取数据库引擎中的语句执行信息;
采用数据库引擎中的语句执行信息对数据库中的语句进行语法解析,以查看是否存在携带预设特征的语句。
进一步地,所述扫描平台通过处理器1001调用存储器1005中存储的语句修改程序,以实现获取携带预设特征的各个语句,剔除各个语句中的条件引用字段的步骤:
获取携带预设特征的各个语句,采用正则表达式剔除各个语句中的条件引用字段。
进一步地,所述扫描平台通过处理器1001调用存储器1005中存储的语句修改程序,以实现在归类后的每一类语句中,分别提取出一条语句的步骤:
在归类后的每一类语句中,按照语句标识对每一类语句中的各个语句进行排序;
在排序后的每一类语句中,分别提取出最大语句标识的语句。
进一步地,所述扫描平台通过处理器1001调用存储器1005中存储的语句修改程序,以实现从数据库中查找与提取的各条语句相对应的原始语句,以便对查找到的各条原始语句进行修改的步骤:
根据各个最大语句标识的语句,在数据库中查找各个最大语句标识的语句所用到的数据表;
确定查找到的各个数据表的容量值;
在有数据表的容量值达到预设值时,从数据表中找到与最大语句标识的语句相对应的原始语句,以便对查找到的原始语句进行修改。
进一步地,所述确定查找到的各个数据表的容量值的步骤之后,所述扫描平台通过处理器1001调用存储器1005中存储的语句修改程序,以实现以下步骤:
在数据表的容量值小于预设值时,直接采用最大语句标识的语句对应的预设特征对所述数据表进行语句修改。
进一步地,所述预设特征包括全表扫描特征或隐式转换特征。
本实施例提出的技术方案,处理器1001调用存储器1005中存储的语句修改程序,以实现以下步骤:先获取携带预设特征的各个语句,并剔除各个语句中的条件引用字段,然后从剔除掉条件引用字段的各个语句中,根据语句属性对各个语句进行归类,在归类后的每一类语句中,分别提取出一条语句,最终从数据库中查找与提取的各条语句相对应的语句,以便对查找到的各条语句进行修改。本发明中,对批量违规语句的修改,是先剔除各个语句的条件引用,再对重复的句子去重,后续只要保留一条语句,即可在数据库中快读定位到真正的违规语句,并对该违规语句进行修改,后续根据该语句重新生成的语句,也不会出现违规的情况,通过这种去重修改处理,无须人工进行修改,省时省力,不仅效率较高,而且智能性也有所提高。
基于上述扫描平台硬件结构,提出本发明语句修改方法的各个实施例。
参照图2,图2为本发明语句修改方法第一实施例的流程示意图。
在本实施例中,所述语句修改方法包括:
步骤S10,获取携带预设特征的各个语句,剔除各个语句中的条件引用字段;
步骤S20,从剔除掉条件引用字段的各个语句中,根据语句属性对各个语句进行归类;
步骤S30,在归类后的每一类语句中,分别提取出一条语句;
步骤S40,从数据库中查找与提取的各条语句相对应的原始语句,以便对查找到的各条原始语句进行修改。
在本实施例中,所述语句修改方法应用于扫描平台,所述扫描平台如图1所示的扫描平台。所述扫描平台的数据库中存在数据表,数据表中存储有预设个数的原始语句,原始语句的具体个数不做限定,根据实际需要添加。
需要说明的是,在扫描平台对语句的使用过程中,数据库中的各个原始语句可根据条件引用条件字段拓展出多个语句,例如,数据表中的一条原始语句,添加不同的条件引用字段,就可以得到多条不同的语句,条件引用字段包括字符串、数字或日期值等等。
以下是本实施例中实现语句修改的具体步骤:
步骤S10,获取携带预设特征的各个语句,剔除各个语句中的条件引用字段;
在本实施例中,所述预设特征包括全表扫描特征或隐式转换特征。其中,全表扫描特征是指语句需要对整个数据表进行遍历,隐式转换特征是指语句执行时,需要先由***对语句的特定字段或字符进行转换。在本实施例中,全表扫描特征或隐式转换特征可用不同的标识表示,如用x表示语句携带有全表扫描特征,y表示语句携带有隐式转换特征。
需要说明的是,携带有这两种特征的语句,在语句修改时都需要花费较长的时间进行修改,导致语句修改的效率较低。
因此,本实施例中,扫描平台先在数据库中扫描各个语句,然后确定携带全表扫描特征或隐式转换特征的各个语句,也就是说,扫描平台查看各个语句是否携带有x或y的标识,在扫描到有携带有x或y标识的语句之后,获取携带全表扫描特征或隐式转换特征的各个语句,并在获取到携带上述特征的语句之后,对各个语句中的条件引用字段进行删除。具体地,所述步骤S10包括:
获取携带预设特征的各个语句,采用正则表达式剔除掉各个语句中的条件引用字段。
即,扫描平台获取携带上述全表扫描特征或隐式转换特征的各个语句,采用正则表达式剔除各个语句中的条件引用字段。本实施例中,条件引用字段是每个语句添加的字段,例如,原始语句原本是“age=”,条件引用字段是“21”,在添加条件引用字段之后,该语句就为“age=21”。因此,本实施例中,通过正则表达式去除各个语句的条件引用字段,相当于是将“age=21”中的“21”剔除,以得到“age=”。正则表达式的表现形式包括多种,在本发明实施例中,该正则表达式可用^[0-9]*n表示,其中,n表示[0-9]出现的个数,n的数值根据条件引用字段的个数确定,若条件引用字段中数字的个数是1个,n为1。
为更好理解本实施例,举例如下:
若当前存在全表扫描特征的3个语句,3个语句分别是“age=23”、“age=31”和“age=35”,由于每个语句中条件引用字段的数字都是2个,因此,在扫描平台获取到3个语句之后,采用正则表达式:“[0-9]*2”,分别剔除掉该3个语句中的条件引用字段,并用空字符代替剔除后的位置,得到三个“age=”。当然,也可以其它特定字符替换各个语句的条件引用字段,如用字符Z替换各个语句的条件引用字段,那么即可得到三个“age=Z”。
步骤S20,从剔除掉条件引用字段的各个语句中,根据语句属性对各个语句进行归类;
在剔除掉各个语句的条件引用字段之后,对剔除了条件引用字段的各个语句进行分析,以确定各个语句中携带的语句属性,并按照语句属性对各个语句进行归类,以将携带相同语句属性的语句归为一类。本实施例中,不同的语句属性可分出不同的语句类型,例如语句“age=”和语句“name=”中,携带不同的语句属性“age”和“name”,因此这两种携带不同语句属性的语句即为不同类型的语句,在从剔除了条件引用字段的各个语句中,根据语句属性对各个语句进行分类,相当于对不同类型的语句进行归类,以将含有age的语句分为一类,含有name的语句分为一类。
步骤S30,在归类后的每一类语句中,分别提取出一条语句;
对语句进行归类之后,在归类后的每一类语句中,分别提取出一条语句。需要说明的是,对携带相同语句属性的语句归为一类之后,后续从归类后的每类语句中提取出其中一条语句,并按照提取的该条语句从数据库中查看原始语句进行修改即可,原始语句的修改可使重新生成各个语句都被同步修改,实现了语句的批量修改,无需对每一条语句分别修改,使得语句修改更加便捷。
具体地,所述步骤S30的实施方式包括:
1)方式一、在归类后的每一类语句中,随机提取出一条语句;
2)方式二、参照图3,所述步骤S30包括:
步骤S31,在归类后的每一类语句中,按照语句标识对每一类语句中的各个语句进行排序;
步骤S32,在排序后的每一类语句中,分别提取出最大语句标识的语句。
在本实施例中,对语句归类得到各个类别的语句之后,先根据语句标识对各个语句进行排序,本实施例中,所述语句标识即SQL-ID,语句标识是***中生成各个语句时就生成的标识,每个语句的SQL-ID是固定的,语句标识可以唯一表示语句。按照语句标识对每一类语句中的各个语句进行排序之后,在排序后的每一类语句中,提取出最大语句标识的语句,即在每一类语句中提取出SQL-ID最大的语句。
步骤S40,从数据库中查找与提取的各条语句相对应的原始语句,以便对查找到的各条原始语句进行修改。
在本实施例中,在每一类语句中,随机提取出一条语句,或者提取出最大语句标识的语句之后,即可从数据库中查找与提取的各条语句相对应的原始语句,以便对查找到的各条原始语句进行修改,具体地,所述步骤S40的实施方式包括:
1)方式一、根据提取的各个语句,在数据库中查找各个语句所用到的数据表;
确定查找到的各个数据表的容量值;
在有数据表的容量值达到预设值时,从数据表中找到与各个语句相对应的原始语句,以便对查找到的原始语句进行修改。
在本实施方式中,根据提取的各个语句,在数据库中查找各个语句所用到的数据表,然后确定查找到的各个数据表的容量值,各个数据表的容量值可通过数据表的属性信息查到,在确定了数据表的容量值之后,将各个数据表的容量值与预设值进行比较,以确定各个数据表的容量值是否达到预设值,该预设值的具体数值不做限定,根据实际情况进行设置,在检测到有数据表的容量值达到预设值时,说明该数据表的容量值较大,并从数据表中找到与该语句相对应的原始语句,然后对查找到的原始语句进行修改。
2)方式二、参照图4,所述步骤S40包括:
步骤S41,根据各个最大语句标识的语句,在数据库中查找各个最大语句标识的语句所用到的数据表;
步骤S42,确定查找到的各个数据表的容量值;
步骤S43,在有数据表的容量值达到预设值时,从数据表中找到与最大语句标识的语句相对应的原始语句,以便对查找到的原始语句进行修改。
在本实施方式中,根据各个最大语句标识的语句,在数据库中查找各个最大语句标识的语句所用到的数据表,然后确定查找到的各个数据表的容量值,各个数据表的容量值可通过数据表的属性信息查到,在确定了数据表的容量值之后,将各个数据表的容量值与预设值进行比较,以确定各个数据表的容量值是否达到预设值,该预设值的具体数值不做限定,根据实际情况进行设置,在检测到有数据表的容量值达到预设值时,说明该数据表的容量值较大,从数据表中找到与最大语句标识的语句相对应的原始语句,然后对查找到的原始语句进行修改。
即,在扫描平台查找到携带有全表扫描特征或隐式转换特征的语句时,先查找该语句所用到的数据表的容量值,若查看该数据表的容容量值达到预设值,如达到记录50条语句的容量值,说明该数据表的容量较大,此时,若是用全表扫描或隐式转换之后再进行语句修改,耗费时间,因此,直接在数据库中相对应的原始语句,并对该原始语句进行修改,后续再次生成的语句就不会出现该全表扫描特征或隐式转换特征,实现了语句的批量修改。
需要说明的是,现有的语句修改,无法直接从数据库的数据表中修改语句,因此,本方案在数据库中先对批量语句进行去重,定位到异常的语句后,根据该异常的语句,从数据表中找到原始语句进行修改,使得语句修改的效率得到提高。
本实施例中,先获取携带预设特征的各个语句,并剔除各个语句中的条件引用字段,然后从剔除掉条件引用字段的各个语句中,根据语句属性对各个语句进行归类,在归类后的每一类语句中,分别提取出一条语句,最终从数据库中查找与提取的各条语句相对应的语句,以便对查找到的各条语句进行修改。本发明中,对批量违规语句的修改,是先剔除各个语句的条件引用,再对重复的句子去重,后续只要保留一条语句,即可在数据库中快读定位到真正的违规语句,并对该违规语句进行修改,后续根据该语句重新生成的语句,也不会出现违规的情况,通过这种去重修改处理,无须人工进行修改,省时省力,不仅效率较高,而且智能性也有所提高。
进一步地,基于第一实施例提出本发明语句修改方法的第二实施例。
语句修改方法的第二实施例与语句修改方法的第一实施例的区别在于,参照图5,所述步骤S10之前,所述方法还包括:
步骤S50,通过预设的数据库引擎定时扫描数据库中的语句,以查找出携带预设特征的语句。
具体地,参照图6,所述步骤S50包括:
步骤S51,获取数据库引擎中的语句执行信息;
步骤S52,采用数据库引擎中的语句执行信息对数据库中的语句进行语法解析,以查看是否存在携带预设特征的语句。
在本实施例中,先获取数据库引擎中的语句执行信息,然后通过语句执行信息对数据库中的语句进行语法解析,以查看是否存在携带有全表扫描特征或隐式转换特征的语句,具体地的解析方式为:将该语句执行信息与语句进行比对,以确定语句是否携带有全表扫描特征或隐式转换特征。需要说明的是,该语句执行信息包含有全表扫描特征或隐式转换特征,具体的语句执行信息事先设置即可,此处不做限定。若通过语句执行信息查找到携带全表扫描特征或隐式转换特征的语句,即可对查找到的语句执行上文所述的修改操作。
在本实施例中,通过数据库引擎中的语句执行信息,检测是否携带全表扫描特征或隐式转换特征的语句,便于后续执行语句修改操作。
进一步地,基于第一或第二实施例提出本发明语句修改方法的第三实施例。
语句修改方法的第三实施例与语句修改方法的第一或第二实施例的区别在于,所述步骤S42之后,所述方法还包括:
在数据表的容量值小于预设值时,直接采用最大语句标识的语句对应的预设特征对所述数据表进行语句修改。
在本实施例中,在检测到有数据表的容量值小于预设值时,说明语句定位到的数据表是小表,遍历该小表花费的时间较短,此时,可以不修改数据表中原始语句,直接对该小表进行全表扫描或者隐式转换即可。
在本实施例中,相当于是检测到有数据表的容量减小时,若是修改数据表中的原始语句,可能花费的时间更长,此时,直接对该小表进行全表扫描或者隐式转换即可,防止语句修改的效率降低。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有语句修改程序,所述语句修改程序被处理器执行时实现如下操作:
获取携带预设特征的各个语句,剔除各个语句中的条件引用字段;
从剔除掉条件引用字段的各个语句中,根据语句属性对各个语句进行归类;
在归类后的每一类语句中,分别提取出一条语句;
从数据库中查找与提取的各条语句相对应的原始语句,以便对查找到的各条原始语句进行修改。
进一步地,所述获取携带预设特征的各个语句,剔除各个语句中的条件引用字段的步骤之前,所述语句修改程序被处理器执行时,还实现以下操作:
通过预设的数据库引擎定时扫描数据库中的语句,以查找出携带预设特征的语句。
进一步地,所述语句修改程序被处理器执行时,还实现通过预设的数据库引擎定时扫描数据库中的语句,以查找出携带预设特征的语句的操作:
获取数据库引擎中的语句执行信息;
采用数据库引擎中的语句执行信息对数据库中的语句进行语法解析,以查看是否存在携带预设特征的语句。
进一步地,所述语句修改程序被处理器执行时,还实现获取携带预设特征的各个语句,剔除各个语句中的条件引用字段的操作:
获取携带预设特征的各个语句,采用正则表达式剔除各个语句中的条件引用字段。
进一步地,所述语句修改程序被处理器执行时,还实现在归类后的每一类语句中,分别提取出一条语句的操作:
在归类后的每一类语句中,按照语句标识对每一类语句中的各个语句进行排序;
在排序后的每一类语句中,分别提取出最大语句标识的语句。
进一步地,所述语句修改程序被处理器执行时,还实现从数据库中查找与提取的各条语句相对应的原始语句,以便对查找到的各条原始语句进行修改的操作:
根据各个最大语句标识的语句,在数据库中查找各个最大语句标识的语句所用到的数据表;
确定查找到的各个数据表的容量值;
在有数据表的容量值达到预设值时,从数据表中找到与最大语句标识的语句相对应的原始语句,以便对查找到的原始语句进行修改。
进一步地,所述确定查找到的各个数据表的容量值的步骤之后,所述语句修改程序被处理器执行时,还实现以下操作:
在数据表的容量值小于预设值时,直接采用最大语句标识的语句对应的预设特征对所述数据表进行语句修改。
进一步地,所述预设特征包括全表扫描特征或隐式转换特征。
本实施例提出的技术方案,语句修改程序被处理器执行时,实现以下操作:先获取携带预设特征的各个语句,并剔除各个语句中的条件引用字段,然后从剔除掉条件引用字段的各个语句中,根据语句属性对各个语句进行归类,在归类后的每一类语句中,分别提取出一条语句,最终从数据库中查找与提取的各条语句相对应的语句,以便对查找到的各条语句进行修改。本发明中,对批量违规语句的修改,是先剔除各个语句的条件引用,再对重复的句子去重,后续只要保留一条语句,即可在数据库中快读定位到真正的违规语句,并对该违规语句进行修改,后续根据该语句重新生成的语句,也不会出现违规的情况,通过这种去重修改处理,无须人工进行修改,省时省力,不仅效率较高,而且智能性也有所提高。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种语句修改方法,其特征在于,所述语句修改方法包括:
获取携带预设特征的各个语句,剔除各个语句中的条件引用字段;
从剔除掉条件引用字段的各个语句中,根据语句属性对各个语句进行归类;
在归类后的每一类语句中,分别提取出一条语句;
从数据库中查找与提取的各条语句相对应的原始语句,以便对查找到的各条原始语句进行修改。
2.如权利要求1所述的语句修改方法,其特征在于,所述获取携带预设特征的各个语句,剔除各个语句中的条件引用字段的步骤之前,所述方法还包括:
通过预设的数据库引擎定时扫描数据库中的语句,以查找出携带预设特征的语句。
3.如权利要求2所述的语句修改方法,其特征在于,所述通过预设的数据库引擎定时扫描数据库中的语句,以查找出携带预设特征的语句的步骤包括:
获取数据库引擎中的语句执行信息;
采用数据库引擎中的语句执行信息对数据库中的语句进行语法解析,以查看是否存在携带预设特征的语句。
4.如权利要求1所述的语句修改方法,其特征在于,所述获取携带预设特征的各个语句,剔除各个语句中的条件引用字段的步骤包括:
获取携带预设特征的各个语句,采用正则表达式剔除各个语句中的条件引用字段。
5.如权利要求1所述的语句修改方法,其特征在于,所述在归类后的每一类语句中,分别提取出一条语句的步骤包括:
在归类后的每一类语句中,按照语句标识对每一类语句中的各个语句进行排序;
在排序后的每一类语句中,分别提取出最大语句标识的语句。
6.如权利要求5所述的语句修改方法,其特征在于,所述从数据库中查找与提取的各条语句相对应的原始语句,以便对查找到的各条原始语句进行修改的步骤包括:
根据各个最大语句标识的语句,在数据库中查找各个最大语句标识的语句所用到的数据表;
确定查找到的各个数据表的容量值;
在有数据表的容量值达到预设值时,从数据表中找到与最大语句标识的语句相对应的原始语句,以便对查找到的原始语句进行修改。
7.如权利要求6所述的语句修改方法,其特征在于,所述确定查找到的各个数据表的容量值的步骤之后,所述方法还包括:
在数据表的容量值小于预设值时,直接采用最大语句标识的语句对应的预设特征对所述数据表进行语句修改。
8.如权利要求1-7任一项所述的语句修改方法,其特征在于,所述预设特征包括全表扫描特征或隐式转换特征。
9.一种扫描平台,其特征在于,所述扫描平台包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的语句修改程序,所述语句修改程序被所述处理器执行时实现如权利要求1至8中任一项所述的语句修改方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有语句修改程序,所述语句修改程序被处理器执行时实现如权利要求1至8中任一项所述的语句修改方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710830880.9A CN107861969B (zh) | 2017-09-14 | 2017-09-14 | 语句修改方法、扫描平台和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710830880.9A CN107861969B (zh) | 2017-09-14 | 2017-09-14 | 语句修改方法、扫描平台和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107861969A true CN107861969A (zh) | 2018-03-30 |
CN107861969B CN107861969B (zh) | 2020-10-02 |
Family
ID=61699469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710830880.9A Active CN107861969B (zh) | 2017-09-14 | 2017-09-14 | 语句修改方法、扫描平台和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107861969B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002498A (zh) * | 2018-06-29 | 2018-12-14 | 北京百度网讯科技有限公司 | 人机对话方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883024A (zh) * | 2010-06-23 | 2010-11-10 | 南京大学 | 一种跨站点伪造请求的动态检测方法 |
US20140297770A1 (en) * | 2013-03-29 | 2014-10-02 | Rakus Co., Ltd. | Electronic message system for soliciting reply |
CN105635046A (zh) * | 2014-10-28 | 2016-06-01 | 北京启明星辰信息安全技术有限公司 | 一种数据库命令行过滤、阻断审计方法和装置 |
CN107678936A (zh) * | 2017-06-25 | 2018-02-09 | 平安科技(深圳)有限公司 | 业务***预先稽查方法、服务器及计算机可读存储介质 |
CN108427699A (zh) * | 2017-09-22 | 2018-08-21 | 平安科技(深圳)有限公司 | 快速初始化***数据库的方法、装置及存储介质 |
-
2017
- 2017-09-14 CN CN201710830880.9A patent/CN107861969B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883024A (zh) * | 2010-06-23 | 2010-11-10 | 南京大学 | 一种跨站点伪造请求的动态检测方法 |
US20140297770A1 (en) * | 2013-03-29 | 2014-10-02 | Rakus Co., Ltd. | Electronic message system for soliciting reply |
CN105635046A (zh) * | 2014-10-28 | 2016-06-01 | 北京启明星辰信息安全技术有限公司 | 一种数据库命令行过滤、阻断审计方法和装置 |
CN107678936A (zh) * | 2017-06-25 | 2018-02-09 | 平安科技(深圳)有限公司 | 业务***预先稽查方法、服务器及计算机可读存储介质 |
CN108427699A (zh) * | 2017-09-22 | 2018-08-21 | 平安科技(深圳)有限公司 | 快速初始化***数据库的方法、装置及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002498A (zh) * | 2018-06-29 | 2018-12-14 | 北京百度网讯科技有限公司 | 人机对话方法、装置、设备及存储介质 |
CN109002498B (zh) * | 2018-06-29 | 2020-05-05 | 北京百度网讯科技有限公司 | 人机对话方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107861969B (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6431120B2 (ja) | 携帯式端末設備における摺接操作による入力補助制御のシステム及び方法 | |
CN103425257B (zh) | 一种生僻字符信息的提示方法和装置 | |
CN111367976B (zh) | 基于java反射机制的excel文件数据的导出方法及装置 | |
CN115061721A (zh) | 一种报表生成方法、装置、计算机设备及存储介质 | |
WO2015061046A2 (en) | Method and apparatus for performing topic-relevance highlighting of electronic text | |
CN108011928A (zh) | 一种信息推送方法、终端设备及计算机可读介质 | |
CN110705226A (zh) | 电子表格的创建方法、装置及计算机设备 | |
CN107633022A (zh) | 人员画像分析方法、装置及存储介质 | |
CN111652468A (zh) | 业务流程的生成方法、装置、存储介质及计算机设备 | |
CN108664665A (zh) | 数据格式转化方法、装置、设备及可读存储介质 | |
TW202134931A (zh) | 一種自動生成數據採集模組的方法和系統 | |
CN112328489A (zh) | 测试用例生成方法、装置、终端设备和存储介质 | |
CN110069769A (zh) | 应用标签生成方法、装置及存储设备 | |
CN110362826A (zh) | 基于人工智能的期刊投稿方法、设备及可读存储介质 | |
CN109947944A (zh) | 短信显示方法、装置以及存储介质 | |
CN109903122A (zh) | 房产交易信息处理方法、装置、设备及存储介质 | |
CN110489032B (zh) | 用于电子书的词典查询方法及电子设备 | |
CN105955507B (zh) | 一种软键盘的显示方法以及终端 | |
CN110580304A (zh) | 数据融合方法、装置、计算机设备及计算机存储介质 | |
CN113836316A (zh) | 三元组数据的处理方法、训练方法、装置、设备及介质 | |
CN107861969A (zh) | 语句修改方法、扫描平台和计算机可读存储介质 | |
CN109740074B (zh) | 参数配置信息的处理方法、装置及设备 | |
CN110362694A (zh) | 基于人工智能的文献数据检索方法、设备及可读存储介质 | |
CN106339381A (zh) | 一种信息处理方法及装置 | |
CN108520012A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |