CN112364015A - 一种SQL语句唯一性hashID的计算方法和装置 - Google Patents

一种SQL语句唯一性hashID的计算方法和装置 Download PDF

Info

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
Application number
CN202011166368.7A
Other languages
English (en)
Other versions
CN112364015B (zh
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.)
Beijing Xinshu Technology Co ltd
Original Assignee
Beijing Xinshu Technology 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 Beijing Xinshu Technology Co ltd filed Critical Beijing Xinshu Technology Co ltd
Priority to CN202011166368.7A priority Critical patent/CN112364015B/zh
Publication of CN112364015A publication Critical patent/CN112364015A/zh
Application granted granted Critical
Publication of CN112364015B publication Critical patent/CN112364015B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/2228Indexing structures
    • G06F16/2255Hash tables
    • 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/21Design, administration or maintenance of databases
    • 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/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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语句唯一性hashID的计算方法和装置
技术领域
本发明实施例涉及数据库性能管理、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。
CN202011166368.7A 2020-10-27 2020-10-27 一种SQL语句唯一性hashID的计算方法和装置 Active CN112364015B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113836171A (zh) * 2021-09-27 2021-12-24 北京金山云网络技术有限公司 数据脱敏方法、装置、电子设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
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 山东英信计算机技术有限公司 一种加密方法、装置及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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