CN112364015A - 一种SQL语句唯一性hashID的计算方法和装置 - Google Patents
一种SQL语句唯一性hashID的计算方法和装置 Download PDFInfo
- Publication number
- CN112364015A CN112364015A CN202011166368.7A CN202011166368A CN112364015A CN 112364015 A CN112364015 A CN 112364015A CN 202011166368 A CN202011166368 A CN 202011166368A CN 112364015 A CN112364015 A CN 112364015A
- Authority
- CN
- China
- Prior art keywords
- sql
- array
- hashid
- sql statement
- character
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 abstract description 14
- 238000012544 monitoring process Methods 0.000 abstract description 6
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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/21—Design, administration or maintenance of databases
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供的一种SQL语句唯一性hashID的计算方法和装置,该方法包括步骤:将SQL语句进行标准化、参数化处理,得到一个字符串序列;将所述字符串序列进行加密算法计算,得到一个唯一性的hashID。本申请实施例通过对SQL语句进行标准化、参数化处理,最后采用加密算法计算得到关于所述SQL语句的唯一性的hashID。该方法为实现对SQL语句进行统一化实时监控,对每一条在生产上执行的SQL语句分配唯一性ID,这个唯一性ID就是SQL语句的“身份证”,通过唯一性能够精准的定位到一条SQL语句,查询SQL语句所有的相关信息,对SQL语句的整个生命周期进行监控管理。
Description
技术领域
本发明实施例涉及数据库性能管理、SQL语句监控管理、SQL审核技术领域,具体涉及一种SQL语句唯一性hashID的计算方法和装置。
背景技术
随着大数据时代的到来,海量数据的存储已经成为各大行业的标配。为了支撑数据的快速存取,分布式数据库、读写分离等解决方案应运而生,然而硬件服务器的数量终究比不过数据量的增长。因此,为了维护数据库服务器能够持续有效的支撑业务上的数据存取,快速精准的定位数据响应速度的问题,在正式生产之前,需要对数据库上执行的SQL语句进行统一化的管理,记录每一条SQL语句的执行计划和执行轨迹。这就需要给每条执行的SQL语句赋予一个唯一的身份ID。数据库服务器一般会对执行的SQL生成一个SQL_ID,但是这个SQL_ID受限于SQL语句的写法,大写、小写、空格等等,同一个SQL,不同的写法,可能会生成不同的SQL_ID,这样就导致无法对SQL进行一个统一的身份管理,无法对SQL语句的执行生命周期进行统一管控。
发明内容
为了能够解决上述问题,本申请提出一种SQL语句唯一性hashID的计算方法和装置,该方法为实现对SQL语句进行统一化实时监控,对每一条在生产上执行的SQL语句分配唯一性ID,这个唯一性ID就是SQL语句的“身份证”,通过唯一性能够精准的定位到一条SQL语句,查询SQL语句所有的相关信息,对SQL语句的整个生命周期进行监控管理。其具体技术方案如下:
根据本发明实施例提供的一种SQL语句唯一性hashID的计算方法,包括步骤:
将SQL语句进行标准化、参数化处理,得到一个字符串序列;
将所述字符串序列进行加密算法计算,得到一个唯一性的hashID。
进一步的,在所述将SQL语句进行标准化处理,得到一个字符串序列之前,还包括步骤:对SQL语句进行语法判断,对于违反语法书写规范的SQL语句进行筛选,语法书写正常的SQL语句,采取标准化,参数化处理。
进一步的,所述将SQL语句进行标准化、参数化处理;包括步骤:
将SQL语句中的参数进行占位符替换;
将SQL语句全部进行大写处理;
将SQL语句中的回车换行替换成空格、tab替换成空格、多个空格替换成一个空格、去掉结尾的空格。
进一步的,所述将所述字符串序列进行加密算法计算,得到一个唯一性的hashID,包括步骤:
自定义一个16位长度的字符数组;
将标准化后SQL语句转换为字节数组;
采用加密算法将字节数组转换为32位长度字符数组;
将32位字符数组转换为32位长度的加密字符串;
返回的所述字符串即为唯一性HashId。
进一步的,所述采用加密算法将字节数组转换为32位长度字符数组;包括步骤:
获取所述字节数组的数组对象;
通过所述数组对象将字节数组转换为16位密文字节数组;
定义一个32位长度字符数组,将所述字节数组中的每个密文遍历循环,进行移位运算,右移四位,转换成小于16的数字;获取所述16位密文字节数组中对应下标的字符,录入到所述字符数组中的第一个位置;
将所述16位密文字节数组中的密文不进行移位运算,直接转成一个小于16的数字;获取所述16位密文字节数组中对应下标的字符,录入到所述字符数组中的第二个位置;
依次类推,所述16位密文字节数组中的每个密文通过运算,得出两个字符,得到一个32位长度的字符数组。
进一步的,6.根据权利要求1所述的SQL语句唯一性hashID的计算方法,其特征在于,所述加密算法采用MD5加密算法。
本申请的另一方面提供一种SQL语句唯一性hashID的计算装置,包括用于将SQL语句进行标准化、参数化处理,得到一个字符串序列的语句处理模块;用于将所述字符串序列进行加密算法计算,得到一个唯一性的hashID的计算模块。
进一步的,还包括,判断模块,用于对所述SQL语句进行语法判断,对于违反语法书写规范的SQL语句进行筛选,语法书写正常的SQL语句,采取标准化,参数化处理。
进一步的,所述语句处理模块包括:
占位符替换,用于将SQL语句中的参数进行占位符替换;
大写处理模块,用于将SQL语句全部进行大写处理;
空格处理模块,用于将SQL语句中的回车换行替换成空格、tab替换成空格、多个空格替换成一个空格、去掉结尾的空格。
进一步的,所述计算模块包括:
符数组定义模块,用于自定义一个16位长度的字符数组;
转换模块,用于将标准化后SQL语句转换为字节数组;
字符数组转换模块,用于采用MD5加密算法将字节数组转换为32位长度字符数组;
加密字符串转换模块,用于将32位字符数组转换为32位长度的加密字符串;
返回模块,用于将返回的所述字符串作为唯一性HashId。
进一步的,所述字符数组转换模块包括:
获取模块,用于获取所述字节数组的数组对象;
16位密文字节数组转换模块,用于通过所述数组对象将字节数组转换为16位密文字节数组;
第一个位置获得模块,用于定义一个32位长度字符数组,将所述字节数组中的每个密文遍历循环,进行移位运算,右移四位,转换成小于16的数字;获取所述16位密文字节数组中对应下标的字符,录入到所述字符数组中的第一个位置;
第二个位置获得模块,用于将所述16位密文字节数组中的密文不进行移位运算,直接转成一个小于16的数字;获取所述16位密文字节数组中对应下标的字符,录入到所述字符数组中的第二个位置;
类推模块,用于依次类推,所述16位密文字节数组中的每个密文通过运算,得出两个字符,得到一个32位长度的字符数组。
本申请实施例提供的一种SQL语句唯一性hashID的计算方法和装置,该方法包括步骤:将SQL语句进行标准化、参数化处理,得到一个字符串序列;将所述字符串序列进行加密算法计算,得到一个唯一性的hashID。本申请实施例通过对SQL语句进行标准化、参数化处理,最后采用加密算法计算得到关于所述SQL语句的唯一性的hashID。该方法为实现对SQL语句进行统一化实时监控,对每一条在生产上执行的SQL语句分配唯一性ID,这个唯一性ID就是SQL语句的“身份证”,通过唯一性能够精准的定位到一条SQL语句,查询SQL语句所有的相关信息,对SQL语句的整个生命周期进行监控管理。
进一步的,本申请通过一套加密算法,采取加密、移位、与运算,可将加密后的字符串重复率降到最低,经过百万级数据的测试,最终没有任何重复性的HashId,不同的SQL生成的HashId保持着极高的唯一性。通过加密算法计算出来的SQL唯一性hashId能够准确的定位到一条SQL语句,在对SQL进行管控时,hashId的唯一性就像一张身份证,保证每一条SQL都能被管控,无论在数据库服务器上执行正常,或者违反数据库约束规范,都能够通过唯一性Id,快速定位到具体的某一条SQL语句。在对SQL语句有了规范化统一管理之后,在正式生产之前,就可以有效的对SQL语句引发的数据库执行效率问题,提前做出预防,在正式投产之前,将有性能问题的SQL语句筛选出来,提前解决,避免问题全部投放在生产环境上,有效的缓解了生产数据库维护人员的压力。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1为本申请实施例提供的一种SQL语句唯一性hashID的计算方法的流程图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本申请实施例提供的一种SQL语句唯一性hashID的计算方法的流程图,包括步骤:
将SQL语句进行标准化、参数化处理,得到一个字符串序列;
将所述字符串序列进行加密算法计算,得到一个唯一性的hashID。
在所述将SQL语句进行标准化处理,得到一个字符串序列之前,还包括步骤:对SQL语句进行语法判断,对于违反语法书写规范的SQL语句进行筛选,语法书写正常的SQL语句,采取标准化,参数化处理。
上述将SQL语句进行标准化、参数化处理,得到一个字符串序列,具体包括以下步骤:
将SQL语句中的参数进行占位符替换;使得语句中不再包含实时参数,保证不同参数执行的时候,能够识别是同一条SQL语句。
将SQL语句全部进行大写处理;保证同一个条SQL不会因为大小写的区别,生成不同字符串。
将SQL语句中的回车换行替换成空格、tab替换成空格、多个空格替换成一个空格、去掉结尾的空格,保证同样的SQL语句最终的标准化结果一致。
所述将所述字符串序列进行加密算法计算,得到一个唯一性的hashID,包括步骤:
自定义一个16位长度的字符数组;
将标准化后SQL语句转换为字节数组;
采用加密算法将字节数组转换为32位长度字符数组;
将32位字符数组转换为32位长度的加密字符串;
返回的所述字符串即为唯一性HashId。
所述采用加密算法将字节数组转换为32位长度字符数组;包括步骤:
获取所述字节数组的数组对象;
通过所述数组对象将字节数组转换为16位密文字节数组;
定义一个32位长度字符数组,将所述字节数组中的每个密文遍历循环,进行移位运算,右移四位,转换成小于16的数字;获取所述16位密文字节数组中对应下标的字符,录入到所述字符数组中的第一个位置;
将所述16位密文字节数组中的密文不进行移位运算,直接转成一个小于16的数字;获取所述16位密文字节数组中对应下标的字符,录入到所述字符数组中的第二个位置;
依次类推,所述16位密文字节数组中的每个密文通过运算,得出两个字符,得到一个32位长度的字符数组。
具体来说,自定义一个16位长度的字符数组char hexDigitsArray[]=
{'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
将标准化后SQL语句转换为字节数组sqlBytes[];指定散列算法为MD5,获取MessageDigest对象;通过MessageDigest对象将字节数组转换为16位长度密文字节数组mdBytes[];定义一个新的32位长度字符数组md5Str[];将mdBytes[]字节数组中的每个密文遍历循环,进行移位运算,右移四位,然后转成一个小于16的数字(例如1,2…16),获取到hexDigitsArray[]数组中对应下标的字符,录入到新的字节数组中(例如hexDigitsArray[1]=1,将字符“1”放到md5Str[]数组的第一个位置md5Str[1]),同时,将密文不进行移位运算,直接转成一个小于16的数字(例如0,1,2…15),获取到这个数字小标对应的hexDigitsArray[]数组中的字符(例如hexDigitsArray[15]=f),将字符“f”放到新数组md5Str[]的第二个位置md5Str[2]。依次类推,16位长度的加密字节数组mdBytes[],每个字节通过运算,得出两个字符,即可得到一个32位长度的字符数组;最后将32位字符数组转换为32位长度的加密字符串,返回的字符串即为唯一性HashId。
本申请实施例提供的一种SQL语句唯一性hashID的计算方法和装置,该方法包括步骤:将SQL语句进行标准化、参数化处理,得到一个字符串序列;
将所述字符串序列进行加密算法计算,得到一个唯一性的hashID。本申请实施例通过对SQL语句进行标准化、参数化处理,最后采用加密算法计算得到关于所述SQL语句的唯一性的hashID。该方法为实现对SQL语句进行统一化实时监控,对每一条在生产上执行的SQL语句分配唯一性ID,这个唯一性ID就是SQL语句的“身份证”,通过唯一性能够精准的定位到一条SQL语句,查询SQL语句所有的相关信息,对SQL语句的整个生命周期进行监控管理。
本申请实施例提供的一种SQL语句唯一性hashID的计算方法和装置,该方法包括步骤:将SQL语句进行标准化、参数化处理,得到一个字符串序列;将所述字符串序列进行加密算法计算,得到一个唯一性的hashID。本申请实施例通过对SQL语句进行标准化、参数化处理,最后采用加密算法计算得到关于所述SQL语句的唯一性的hashID。该方法为实现对SQL语句进行统一化实时监控,对每一条在生产上执行的SQL语句分配唯一性ID,这个唯一性ID就是SQL语句的“身份证”,通过唯一性能够精准的定位到一条SQL语句,查询SQL语句所有的相关信息,对SQL语句的整个生命周期进行监控管理。
进一步的,本申请通过一套加密算法,采取加密、移位、与运算,可将加密后的字符串重复率降到最低,经过百万级数据的测试,最终没有任何重复性的HashId,不同的SQL生成的HashId保持着极高的唯一性。通过加密算法计算出来的SQL唯一性hashId能够准确的定位到一条SQL语句,在对SQL进行管控时,hashId的唯一性就像一张身份证,保证每一条SQL都能被管控,无论在数据库服务器上执行正常,或者违反数据库约束规范,都能够通过唯一性Id,快速定位到具体的某一条SQL语句。在对SQL语句有了规范化统一管理之后,在正式生产之前,就可以有效的对SQL语句引发的数据库执行效率问题,提前做出预防,在正式投产之前,将有性能问题的SQL语句筛选出来,提前解决,避免问题全部投放在生产环境上,有效的缓解了生产数据库维护人员的压力。
本申请的另一方面提供一种SQL语句唯一性hashID的计算装置,包括用于将SQL语句进行标准化、参数化处理,得到一个字符串序列的语句处理模块;用于将所述字符串序列进行加密算法计算,得到一个唯一性的hashID的计算模块。
进一步的,还包括,判断模块,用于对所述SQL语句进行语法判断,对于违反语法书写规范的SQL语句进行筛选,语法书写正常的SQL语句,采取标准化,参数化处理。
进一步的,所述语句处理模块包括:
占位符替换,用于将SQL语句中的参数进行占位符替换;
大写处理模块,用于将SQL语句全部进行大写处理;
空格处理模块,用于将SQL语句中的回车换行替换成空格、tab替换成空格、多个空格替换成一个空格、去掉结尾的空格。
进一步的,所述计算模块包括:
符数组定义模块,用于自定义一个16位长度的字符数组;
转换模块,用于将标准化后SQL语句转换为字节数组;
字符数组转换模块,用于采用MD5加密算法将字节数组转换为32位长度字符数组;
加密字符串转换模块,用于将32位字符数组转换为32位长度的加密字符串;
返回模块,用于将返回的所述字符串作为唯一性HashId。
进一步的,所述字符数组转换模块包括:
获取模块,用于获取所述字节数组的数组对象;
16位密文字节数组转换模块,用于通过所述数组对象将字节数组转换为16位密文字节数组;
第一个位置获得模块,用于定义一个32位长度字符数组,将所述字节数组中的每个密文遍历循环,进行移位运算,右移四位,转换成小于16的数字;获取所述16位密文字节数组中对应下标的字符,录入到所述字符数组中的第一个位置;
第二个位置获得模块,用于将所述16位密文字节数组中的密文不进行移位运算,直接转成一个小于16的数字;获取所述16位密文字节数组中对应下标的字符,录入到所述字符数组中的第二个位置;
类推模块,用于依次类推,所述16位密文字节数组中的每个密文通过运算,得出两个字符,得到一个32位长度的字符数组。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (10)
1.一种SQL语句唯一性hashID的计算方法,其特征在于,包括步骤:
将SQL语句进行标准化、参数化处理,得到一个字符串序列;
将所述字符串序列进行加密算法计算,得到一个唯一性的hashID。
2.根据权利要求1所述的SQL语句唯一性hashID的计算方法,其特征在于,在所述将SQL语句进行标准化处理,得到一个字符串序列之前,还包括步骤:对SQL语句进行语法判断,对于违反语法书写规范的SQL语句进行筛选,语法书写正常的SQL语句,采取标准化,参数化处理。
3.根据权利要求1所述的一种SQL语句唯一性hashID的计算方法,其特征在于,所述将SQL语句进行标准化、参数化处理;包括步骤:
将SQL语句中的参数进行占位符替换;
将SQL语句全部进行大写处理;
将SQL语句中的回车换行替换成空格、tab替换成空格、多个空格替换成一个空格、去掉结尾的空格。
4.根据权利要求1所述的SQL语句唯一性hashID的计算方法,其特征在于,所述将所述字符串序列进行加密算法计算,得到一个唯一性的hashID,包括步骤:
自定义一个16位长度的字符数组;
将标准化后SQL语句转换为字节数组;
采用加密算法将字节数组转换为32位长度字符数组;
将32位字符数组转换为32位长度的加密字符串;
返回的所述字符串即为唯一性HashId。
5.根据权利要求4所述的SQL语句唯一性hashID的计算方法,其特征在于,所述采用加密算法将字节数组转换为32位长度字符数组;包括步骤:
获取所述字节数组的数组对象;
通过所述数组对象将字节数组转换为16位密文字节数组;
定义一个32位长度字符数组,将所述字节数组中的每个密文遍历循环,进行移位运算,右移四位,转换成小于16的数字;获取所述16位密文字节数组中对应下标的字符,录入到所述字符数组中的第一个位置;
将所述16位密文字节数组中的密文不进行移位运算,直接转成一个小于16的数字;获取所述16位密文字节数组中对应下标的字符,录入到所述字符数组中的第二个位置;
依次类推,所述16位密文字节数组中的每个密文通过运算,得出两个字符,得到一个32位长度的字符数组。
6.根据权利要求1所述的SQL语句唯一性hashID的计算方法,其特征在于,所述加密算法采用MD5加密算法。
7.一种SQL语句唯一性hashID的计算装置,其特征在于,包括用于将SQL语句进行标准化、参数化处理,得到一个字符串序列的语句处理模块;用于将所述字符串序列进行加密算法计算,得到一个唯一性的hashID的计算模块。
8.根据权利要求7所述的SQL语句唯一性hashID的计算装置,其特征在于,还包括,判断模块,用于对所述SQL语句进行语法判断,对于违反语法书写规范的SQL语句进行筛选,语法书写正常的SQL语句,采取标准化,参数化处理。
9.根据权利要求7所述的SQL语句唯一性hashID的计算装置,其特征在于,所述语句处理模块包括:
占位符替换,用于将SQL语句中的参数进行占位符替换;
大写处理模块,用于将SQL语句全部进行大写处理;
空格处理模块,用于将SQL语句中的回车换行替换成空格、tab替换成空格、多个空格替换成一个空格、去掉结尾的空格。
10.根据权利要求7所述的SQL语句唯一性hashID的计算装置,其特征在于,所述计算模块包括:
符数组定义模块,用于自定义一个16位长度的字符数组;
转换模块,用于将标准化后SQL语句转换为字节数组;
字符数组转换模块,用于采用MD5加密算法将字节数组转换为32位长度字符数组;
加密字符串转换模块,用于将32位字符数组转换为32位长度的加密字符串;
返回模块,用于将返回的所述字符串作为唯一性HashId。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011166368.7A CN112364015B (zh) | 2020-10-27 | 2020-10-27 | 一种SQL语句唯一性hashID的计算方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011166368.7A CN112364015B (zh) | 2020-10-27 | 2020-10-27 | 一种SQL语句唯一性hashID的计算方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112364015A true CN112364015A (zh) | 2021-02-12 |
CN112364015B CN112364015B (zh) | 2024-02-23 |
Family
ID=74510909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011166368.7A Active CN112364015B (zh) | 2020-10-27 | 2020-10-27 | 一种SQL语句唯一性hashID的计算方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112364015B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836171A (zh) * | 2021-09-27 | 2021-12-24 | 北京金山云网络技术有限公司 | 数据脱敏方法、装置、电子设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609462A (zh) * | 2012-01-14 | 2012-07-25 | 杭州安恒信息技术有限公司 | 一种通过提取sql模板对海量sql压缩存储的方法 |
CN104346377A (zh) * | 2013-07-31 | 2015-02-11 | 克拉玛依红有软件有限责任公司 | 一种基于唯一标识的数据集成和交换方法 |
CN109597829A (zh) * | 2018-11-20 | 2019-04-09 | 南京邮电大学 | 一种实现可搜索加密关系型数据库缓存的中间件方法 |
CN110768785A (zh) * | 2019-10-22 | 2020-02-07 | 宜人恒业科技发展(北京)有限公司 | 一种编、解码方法、相关装置及计算机设备 |
CN110765160A (zh) * | 2019-12-26 | 2020-02-07 | 深圳微品致远信息科技有限公司 | 基于zookeeper的分布式数据缓存方法和系统 |
CN111030803A (zh) * | 2019-12-19 | 2020-04-17 | 山东英信计算机技术有限公司 | 一种加密方法、装置及设备 |
-
2020
- 2020-10-27 CN CN202011166368.7A patent/CN112364015B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609462A (zh) * | 2012-01-14 | 2012-07-25 | 杭州安恒信息技术有限公司 | 一种通过提取sql模板对海量sql压缩存储的方法 |
CN104346377A (zh) * | 2013-07-31 | 2015-02-11 | 克拉玛依红有软件有限责任公司 | 一种基于唯一标识的数据集成和交换方法 |
CN109597829A (zh) * | 2018-11-20 | 2019-04-09 | 南京邮电大学 | 一种实现可搜索加密关系型数据库缓存的中间件方法 |
CN110768785A (zh) * | 2019-10-22 | 2020-02-07 | 宜人恒业科技发展(北京)有限公司 | 一种编、解码方法、相关装置及计算机设备 |
CN111030803A (zh) * | 2019-12-19 | 2020-04-17 | 山东英信计算机技术有限公司 | 一种加密方法、装置及设备 |
CN110765160A (zh) * | 2019-12-26 | 2020-02-07 | 深圳微品致远信息科技有限公司 | 基于zookeeper的分布式数据缓存方法和系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836171A (zh) * | 2021-09-27 | 2021-12-24 | 北京金山云网络技术有限公司 | 数据脱敏方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112364015B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9678822B2 (en) | Real-time categorization of log events | |
KR101755365B1 (ko) | 레코드 포맷 정보의 관리 | |
US8700671B2 (en) | System and methods for dynamic generation of point / tag configurations | |
CN110781231B (zh) | 基于数据库的批量导入方法、装置、设备及存储介质 | |
De Jonge et al. | An introduction to data cleaning with R | |
TWI608344B (zh) | 企業裝置用強韌硬體故障管理系統、方法及架構 | |
US20160253229A1 (en) | Event log analysis | |
US20200210401A1 (en) | Proactive automated data validation | |
Zhu et al. | Monitoring big process data of industrial plants with multiple operating modes based on Hadoop | |
CN109522193A (zh) | 一种运维数据的处理方法、系统及装置 | |
US20170242673A1 (en) | Methods and systems of generating ease of use interfaces for legacy system management facilities | |
CN114880405A (zh) | 一种基于数据湖的数据处理方法及系统 | |
CN110532612A (zh) | 船舶动力系统的运行数据处理方法及装置 | |
CN112579578A (zh) | 基于元数据的数据质量管理方法、装置、系统及服务器 | |
CN115114126A (zh) | 获取层级化数据结构以及处理日志条目方法和电子设备 | |
CN112364015A (zh) | 一种SQL语句唯一性hashID的计算方法和装置 | |
US20200210389A1 (en) | Profile-driven data validation | |
CN118134508A (zh) | 基于共识机制的产品溯源方法及系统 | |
US10509712B2 (en) | Methods and systems to determine baseline event-type distributions of event sources and detect changes in behavior of event sources | |
CN116719822B (zh) | 一种海量结构化数据的存储方法及系统 | |
CN116483831B (zh) | 一种分布式数据库推荐索引生成方法 | |
US20240265208A1 (en) | Method for analyzing data including a large number of individual messages, computer program product, and computer system | |
CN116701355A (zh) | 数据视图处理方法、装置、计算机设备及可读存储介质 | |
EP3999917A1 (en) | Method and system for generating a digital representation of asset information in a cloud computing environment | |
CN115204155A (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 |