CN107766431B - 一种基于语法解析的去参数化功能方法及系统 - Google Patents
一种基于语法解析的去参数化功能方法及系统 Download PDFInfo
- Publication number
- CN107766431B CN107766431B CN201710842336.6A CN201710842336A CN107766431B CN 107766431 B CN107766431 B CN 107766431B CN 201710842336 A CN201710842336 A CN 201710842336A CN 107766431 B CN107766431 B CN 107766431B
- Authority
- CN
- China
- Prior art keywords
- sql statement
- database
- information
- user
- audit
- 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.)
- Active
Links
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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- 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/2282—Tablespace storage structures; Management thereof
-
- 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/23—Updating
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及网络技术、数据库审计技术,旨在提供一种基于语法解析的去参数化功能方法及系统。该种基于语法解析的去参数化功能方法,当审计对象是数据库结构固化的数据库,采用去参数化方法进行模板化处理,当审计对象是数据库结构是根据规则组织的数据库,采用基于语法解析的去参数化方法进行模板化处理。本发明将SQL语句模板化存储、将参数部分分表独立存储,审计时,通过将审计表里的记录与SQL语句模板库进行关联,便能完整还原抓取到的流量包里的SQL语句,这样能大大节省审计设备的数据库存储空间。
Description
技术领域
本发明是关于网络技术、数据库审计技术领域,特别涉及一种基于语法解析的去参数化功能方法及系统。
背景技术
随着互联网技术的发展,网络已成为大多数人生活密不可分的一部分。人们利用各种客户端,如PC、手机等进行网络行为交换。大多数客户端、手机端应用系统、业务系统对数据库操作的sql语句都是开发人员在开发系统时编写好的。
数据库审计系统会记录审计对象业务系统的所有数据库行为。比如在审计对象的充值业务中,一般会更新费用记录表,这样针对不同用户,会产生不同的sql语句。因此针对同一种业务,数据库审计系统会根据不同用户便会产生大量的sql语句,从而占用数据库审计系统数据库存储空间。比如:Update table A…where user=u1…,Update table A…where user=u2…,Update table A…where user=u3…,……。
在实际的业务系统中由于一些数据库,没有表分区功能,为了解决大量业务的性能问题,业务系统通常会利用一些规则比如名字_日期等的方式来给表命名,来达到一个表多个文件的目的。这种情况下,假设还是在充值业务中,数据库审计系统不仅是针对不同用户会产生不同的sql语句,而且针对不同表也会产生不同的sql语句。这将会导致数据库审计系统中的sql语句模板无限增多,大大耗费数据库审计系统的数据库存储空间。比如:Update table A…where user=u1…,Update table A…where user=u2…,Updatetable A…where user=u3…,……。Update table A_20170504…where user=u1…,Update table A_20170504…where user=u2…,Update table A_20170504…where user=u3…,……。
发明内容
本发明的主要目的在于克服现有技术中的不足,提供一种根据不同情况可以分为去参数化、基于语法解析的去参数化两种方法进行处理的方法及系统。为解决上述技术问题,本发明的解决方案是:
提供一种基于语法解析的去参数化功能方法,根据不同情况,采用去参数化方法或者基于语法解析的去参数化方法进行处理,具体如下:
情况A)当审计对象是数据库结构固化的数据库(审计对象,是数据库审计设备中所配置的、需审计的数据库;一般需要在数据库审计设备中配置数据库主机IP和数据库服务开放的端口),数据库结构包括但不限于:数据表、字段、索引、记录,采用去参数化方法进行模板化处理,具体包括下述步骤:
步骤A1:通过分析审计对象的网络访问流量(利用数据库审计设备来实现,用于监管用户访问数据库行为;数据库审计设备可以采用自主开发的数据库审计设备,本专利的方法被用于该自主开发的数据库审计设备中),解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤A2:对于步骤A1中解析得到的SQL语句,将SQL语句里包含的参数裁减,得到SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤A3:将步骤A2得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、SQL语句模板;
步骤A4:将步骤A1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤A2中SQL语句里被裁减的参数信息,都更新至审计表里;
所述更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息;
所述参数信息是步骤A2中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
情况B)当审计对象是数据库结构是根据规则组织的数据库(审计对象是数据库审计设备中所配置的、需审计的数据库;一般需要在数据库审计设备中配置数据库主机IP和数据库服务开放的端口),数据库结构包括但不限于:数据表、字段、索引、记录,采用基于语法解析的去参数化方法进行模板化处理,具体包括下述步骤:
步骤B1:数据库审计设备通过分析审计对象的网络访问流量(利用数据库审计设备来实现,用于监管用户访问数据库行为;数据库审计设备可以采用自主开发的数据库审计设备,本专利的方法被用于该自主开发的数据库审计设备中),解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤B2:对于步骤B1解析得到的SQL语句,提取SQL语句中规则化信息部分;
步骤B3:将步骤B2提取的规则化信息,进行解析得到语法规则;
步骤B4:将步骤B1的SQL语句里包含的参数裁减,并且用语法规则替换SQL语句中的规则化信息部分,得到带语法规则的SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤B5:将步骤B4得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、带语法规则的SQL语句模板;
步骤B6:将步骤B1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤B4中SQL语句里被裁减的参数信息和步骤B2解析得到的规则化信息,都更新至审计表里;
所更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息、规则化信息;
所述参数信息是步骤B4中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里。
在本发明中,所述审计表是根据审计对象的数据库访问流量,不断更新;审计表中存储的信息包括但不限于:SessionID、用户名、SqlID、参数信息、规则化信息。
在本发明中,当采集到的SQL语句中具有具备规则化信息,则规则化信息部分转化为语法规则,则其所形成的SQL语句模板是带语法规则的,则对应审计表中存储的信息是带规则化信息的。
在本发明中,所述SQL语句模板库是根据审计对象的数据库操作行为,不断更新。
在本发明中,所述审计表与SQL语句模板库通过SqlID进行关联,能还原出用户对数据库的所有操作行为。
提供一种存储设备,其中存储有多条指令,所述指令适用于处理器加载并执行:
情况A)当审计对象是数据库结构固化的数据库(审计对象,是数据库审计设备中所配置的、需审计的数据库;一般需要在数据库审计设备中配置数据库主机IP和数据库服务开放的端口),数据库结构包括但不限于:数据表、字段、索引、记录,采用去参数化方法进行模板化处理,具体包括下述步骤:
步骤A1:通过分析审计对象的网络访问流量(利用数据库审计设备来实现,用于监管用户访问数据库行为;数据库审计设备可以采用自主开发的数据库审计设备,本专利的方法被用于该自主开发的数据库审计设备中),解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤A2:对于步骤A1中解析得到的SQL语句,将SQL语句里包含的参数裁减,得到SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤A3:将步骤A2得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、SQL语句模板;
步骤A4:将步骤A1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤A2中SQL语句里被裁减的参数信息,都更新至审计表里;
所述更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息;
所述参数信息是步骤A2中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
情况B)当审计对象是数据库结构是根据规则组织的数据库(审计对象是数据库审计设备中所配置的、需审计的数据库;一般需要在数据库审计设备中配置数据库主机IP和数据库服务开放的端口),数据库结构包括但不限于:数据表、字段、索引、记录,采用基于语法解析的去参数化方法进行模板化处理,具体包括下述步骤:
步骤B1:数据库审计设备通过分析审计对象的网络访问流量(利用数据库审计设备来实现,用于监管用户访问数据库行为;数据库审计设备可以采用自主开发的数据库审计设备,本专利的方法被用于该自主开发的数据库审计设备中),解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤B2:对于步骤B1解析得到的SQL语句,提取SQL语句中规则化信息部分;
步骤B3:将步骤B2提取的规则化信息,进行解析得到语法规则;
步骤B4:将步骤B1的SQL语句里包含的参数裁减,并且用语法规则替换SQL语句中的规则化信息部分,得到带语法规则的SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤B5:将步骤B4得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、带语法规则的SQL语句模板;
步骤B6:将步骤B1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤B4中SQL语句里被裁减的参数信息和步骤B2解析得到的规则化信息,都更新至审计表里;
所更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息、规则化信息;
所述参数信息是步骤B4中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里。
提供一种基于语法解析的去参数化功能系统,包括处理器和存储设备,处理器适于实现各指令,存储设备适于存储多条指令,所述指令适用于处理器加载并执行;所述指令适于处理器加载并执行:
情况A)当审计对象是数据库结构固化的数据库(审计对象,是数据库审计设备中所配置的、需审计的数据库;一般需要在数据库审计设备中配置数据库主机IP和数据库服务开放的端口),数据库结构包括但不限于:数据表、字段、索引、记录,采用去参数化方法进行模板化处理,具体包括下述步骤:
步骤A1:通过分析审计对象的网络访问流量(利用数据库审计设备来实现,用于监管用户访问数据库行为;数据库审计设备可以采用自主开发的数据库审计设备,本专利的方法被用于该自主开发的数据库审计设备中),解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤A2:对于步骤A1中解析得到的SQL语句,将SQL语句里包含的参数裁减,得到SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤A3:将步骤A2得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、SQL语句模板;
步骤A4:将步骤A1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤A2中SQL语句里被裁减的参数信息,都更新至审计表里;
所述更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息;
所述参数信息是步骤A2中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
情况B)当审计对象是数据库结构是根据规则组织的数据库(审计对象是数据库审计设备中所配置的、需审计的数据库;一般需要在数据库审计设备中配置数据库主机IP和数据库服务开放的端口),数据库结构包括但不限于:数据表、字段、索引、记录,采用基于语法解析的去参数化方法进行模板化处理,具体包括下述步骤:
步骤B1:数据库审计设备通过分析审计对象的网络访问流量(利用数据库审计设备来实现,用于监管用户访问数据库行为;数据库审计设备可以采用自主开发的数据库审计设备,本专利的方法被用于该自主开发的数据库审计设备中),解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤B2:对于步骤B1解析得到的SQL语句,提取SQL语句中规则化信息部分;
步骤B3:将步骤B2提取的规则化信息,进行解析得到语法规则;
步骤B4:将步骤B1的SQL语句里包含的参数裁减,并且用语法规则替换SQL语句中的规则化信息部分,得到带语法规则的SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤B5:将步骤B4得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、带语法规则的SQL语句模板;
步骤B6:将步骤B1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤B4中SQL语句里被裁减的参数信息和步骤B2解析得到的规则化信息,都更新至审计表里;
所更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息、规则化信息;
所述参数信息是步骤B4中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里。
与现有技术相比,本发明的有益效果是:
本发明将SQL语句模板化存储、将参数部分分表独立存储,审计时,通过将审计表里的记录与SQL语句模板库进行关联,便能完整还原抓取到的流量包里的SQL语句,这样能大大节省审计设备的数据库存储空间。
附图说明
图1为去参数化流程示意图。
图2为SQL语句模板库流程示意图。
图3为语法解析流程示意图。
图4为SQL语句模板表内容和审计表内容示意图。
具体实施方式
首先需要说明的是,本发明是计算机技术在网站对外提供服务领域的一种应用。在本发明的实现过程中,会涉及到多个算法的应用。申请人认为,如在仔细阅读申请文件、准确理解本发明的实现原理和发明目的以后,在结合现有公知技术的情况下,本领域技术人员完全可以运用其掌握的软件编程技能实现本发明。凡本发明申请文件提及的均属此范畴,申请人不再一一列举。
下面的实施例可以使本专业的专业技术人员更全面地理解本发明,但不以任何方式限制本发明。
假设审计对象业务系统中的充值业务,充值时都会更新费用记录表,只不过根据不同的人,充值的金额不同,使用的参数不同。A用户充值100时,更新的是value=100name=A;B用户充值200时,更新的是value=200,name=B,但去掉参数,语句都是一样的。
在现有技术中,在审计表中存储内容:
对于用户A:0001、A、update table rechaerge set value=10 0where name=A。
对于用户B:0002、B、update table rechaerge set value=200 where name=B。
针对更多用户,被占用的存储空间会更多。
通过本发明技术,SQL语句模板表中存储内容:
SQL语句模板:1、update table rechaerge set value=1 where name=user;
在审计表中存储内容:
对于用户A:0001、A、1、100;
对于用户B:0002、B、1、200;
针对更多用户,大大节省了存储空间。
对于按规则组织数据库信息的情况,本发明技术采用基于语法解析的去参数化具体地假设审计对象业务系统中采用名字_日期方式来给表命名,来达到一表多文件。假设还是按照前述只是简单的去参数化处理,会生成无数的SQL语句模板:
1、update table rechaerge_20170101 set value=1 where name=user、
2、update table rechaerge_20170102 set value=1 where name=user、…
3、update table rechaerge_20170302 set value=1 where name=user、…;
本发明通过结果语法解析后,对对象的结尾的数据等可变内容进行规则化处理,再进行去参数化处理,可以进一步减少模板数:
通过本发明技术,SQL语句模板表中存储内容:
SQL语句模板:1、update table rechaerge_%date%set value=1 where name=user;
在审计表中存储内容:
对于用户A:0001、A、1、100、20170101;
0003、A、1、100、20170102;
对于用户B:0002、B、1、200、20170101;
0004、B、1、200、20170102;
针对更多用户、更多日期大大节省审计系统数据库空间。
进一步图例说明,图1示例本发明的去参数化流程。图2示例本发明的SQL语句模板库流程。图3示例本发明的语法解析流程。图4示例本发明的SQL语句模板表内容和审计表内容。
最后,需要注意的是,以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有很多变形。本领域的普通技术人员能从本发明公开的内容中直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (3)
1.一种基于语法解析的去参数化功能方法,其特征在于,根据不同情况,采用去参数化方法或者基于语法解析的去参数化方法进行处理,具体如下:
情况A) 当审计对象是数据库结构固化的数据库,数据库结构包括但不限于:数据表、字段、索引、记录,采用去参数化方法进行模板化处理,具体包括下述步骤:
步骤A1:通过分析审计对象的网络访问流量,解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤A2:对于步骤A1中解析得到的SQL语句,将SQL语句里包含的参数裁减,得到SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤A3:将步骤A2得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、SQL语句模板;
步骤A4:将步骤A1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤A2中SQL语句里被裁减的参数信息,都更新至审计表里;
所述审计表是根据审计对象的数据库访问流量,不断更新;审计表中存储的信息包括但不限于:SessionID、用户名、SqlID、参数信息、规则化信息;
所述更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息;
所述参数信息是步骤A2中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
所述审计表与SQL语句模板库通过SqlID进行关联,能还原出用户对数据库的所有操作行为;
所述SQL语句模板库是根据审计对象的数据库操作行为,不断更新;
情况B) 当审计对象是数据库结构是根据规则组织的数据库,数据库结构包括但不限于:数据表、字段、索引、记录,采用基于语法解析的去参数化方法进行模板化处理,具体包括下述步骤:
步骤B1:数据库审计设备通过分析审计对象的网络访问流量,解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤B2:对于步骤B1解析得到的SQL语句,提取SQL语句中规则化信息部分;
步骤B3:将步骤B2提取的规则化信息,进行解析得到语法规则;
步骤B4:将步骤B1的SQL语句里包含的参数裁减,并且用语法规则替换SQL语句中的规则化信息部分,得到带语法规则的SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤B5:将步骤B4得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、带语法规则的SQL语句模板;
步骤B6:将步骤B1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤B4中SQL语句里被裁减的参数信息和步骤B2解析得到的规则化信息,都更新至审计表里;
所更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息、规则化信息;
所述参数信息是步骤B4中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
所述审计表与SQL语句模板库通过SqlID进行关联,能还原出用户对数据库的所有操作行为;
当采集到的SQL语句中具有具备规则化信息,则规则化信息部分转化为语法规则,则其所形成的SQL语句模板是带语法规则的,则对应审计表中存储的信息是带规则化信息的。
2.一种存储设备,其特征在于,其中存储有多条指令,所述指令适用于处理器加载并执行:
情况A) 当审计对象是数据库结构固化的数据库,数据库结构包括但不限于:数据表、字段、索引、记录,采用去参数化方法进行模板化处理,具体包括下述步骤:
步骤A1:通过分析审计对象的网络访问流量,解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤A2:对于步骤A1中解析得到的SQL语句,将SQL语句里包含的参数裁减,得到SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤A3:将步骤A2得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、SQL语句模板;
步骤A4:将步骤A1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤A2中SQL语句里被裁减的参数信息,都更新至审计表里;
所述更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息;
所述参数信息是步骤A2中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
所述审计表与SQL语句模板库通过SqlID进行关联,能还原出用户对数据库的所有操作行为;
情况B) 当审计对象是数据库结构是根据规则组织的数据库,数据库结构包括但不限于:数据表、字段、索引、记录,采用基于语法解析的去参数化方法进行模板化处理,具体包括下述步骤:
步骤B1:数据库审计设备通过分析审计对象的网络访问流量,解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤B2:对于步骤B1解析得到的SQL语句,提取SQL语句中规则化信息部分;
步骤B3:将步骤B2提取的规则化信息,进行解析得到语法规则;
步骤B4:将步骤B1的SQL语句里包含的参数裁减,并且用语法规则替换SQL语句中的规则化信息部分,得到带语法规则的SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤B5:将步骤B4得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、带语法规则的SQL语句模板;
步骤B6:将步骤B1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤B4中SQL语句里被裁减的参数信息和步骤B2解析得到的规则化信息,都更新至审计表里;
所更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息、规则化信息;
所述参数信息是步骤B4中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里
所述审计表与SQL语句模板库通过SqlID进行关联,能还原出用户对数据库的所有操作行为。
3.一种基于语法解析的去参数化功能系统,其特征在于,包括处理器和存储设备,处理器适于实现各指令,存储设备适于存储多条指令,所述指令适用于处理器加载并执行;所述指令适于处理器加载并执行:
情况A) 当审计对象是数据库结构固化的数据库,数据库结构包括但不限于:数据表、字段、索引、记录,采用去参数化方法进行模板化处理,具体包括下述步骤:
步骤A1:通过分析审计对象的网络访问流量,解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤A2:对于步骤A1中解析得到的SQL语句,将SQL语句里包含的参数裁减,得到SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤A3:将步骤A2得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、SQL语句模板;
步骤A4:将步骤A1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤A2中SQL语句里被裁减的参数信息,都更新至审计表里;
所述更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息;
所述参数信息是步骤A2中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
所述审计表与SQL语句模板库通过SqlID进行关联,能还原出用户对数据库的所有操作行为;
情况B) 当审计对象是数据库结构是根据规则组织的数据库,数据库结构包括但不限于:数据表、字段、索引、记录,采用基于语法解析的去参数化方法进行模板化处理,具体包括下述步骤:
步骤B1:数据库审计设备通过分析审计对象的网络访问流量,解析用户数据库访问信息;所述用户数据库访问信息包含但不限于以下:SeesionID、用户名、SQL语句;
步骤B2:对于步骤B1解析得到的SQL语句,提取SQL语句中规则化信息部分;
步骤B3:将步骤B2提取的规则化信息,进行解析得到语法规则;
步骤B4:将步骤B1的SQL语句里包含的参数裁减,并且用语法规则替换SQL语句中的规则化信息部分,得到带语法规则的SQL语句模板;所述参数是指SQL语句中的个性化数据;
步骤B5:将步骤B4得到的SQL语句模板更新至SQL语句模板库;所述SQL语句模板库字段包含但不限于以下:SqlID、带语法规则的SQL语句模板;
步骤B6:将步骤B1得到的用户数据库访问信息中的用户信息,即SeesionID和用户名,以及步骤B4中SQL语句里被裁减的参数信息和步骤B2解析得到的规则化信息,都更新至审计表里;
所更新的信息包含但不限于以下:SessionID、用户名、SqlID、参数信息、规则化信息;
所述参数信息是步骤B4中被裁减掉的部分,根据裁减内容不同被存储在审计表里的若干字段里;
所述审计表与SQL语句模板库通过SqlID进行关联,能还原出用户对数据库的所有操作行为。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710842336.6A CN107766431B (zh) | 2017-09-18 | 2017-09-18 | 一种基于语法解析的去参数化功能方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710842336.6A CN107766431B (zh) | 2017-09-18 | 2017-09-18 | 一种基于语法解析的去参数化功能方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107766431A CN107766431A (zh) | 2018-03-06 |
CN107766431B true CN107766431B (zh) | 2020-07-03 |
Family
ID=61266004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710842336.6A Active CN107766431B (zh) | 2017-09-18 | 2017-09-18 | 一种基于语法解析的去参数化功能方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766431B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271326B (zh) * | 2018-11-28 | 2021-03-12 | 优刻得科技股份有限公司 | 云数据库的测试方法及其装置、设备和存储介质 |
CN111506553B (zh) * | 2019-01-31 | 2023-07-04 | 阿里巴巴集团控股有限公司 | 数据库的功能设定方法及装置 |
CN112131215B (zh) * | 2019-06-25 | 2023-09-19 | 中国移动通信集团重庆有限公司 | 自底向上的数据库信息获取方法及装置 |
CN113722351B (zh) * | 2021-08-30 | 2024-01-30 | 杭州安恒信息安全技术有限公司 | Oracle数据库访问流量中的参数还原方法及装置 |
CN114936212B (zh) * | 2022-07-26 | 2022-09-23 | 北京安华金和科技有限公司 | 一种审计数据同步处理方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193922A (zh) * | 2010-03-04 | 2011-09-21 | 杭州华三通信技术有限公司 | 一种对数据库进行访问的方法和装置 |
CN102609462A (zh) * | 2012-01-14 | 2012-07-25 | 杭州安恒信息技术有限公司 | 一种通过提取sql模板对海量sql压缩存储的方法 |
CN105373607A (zh) * | 2015-11-13 | 2016-03-02 | 国网智能电网研究院 | 一种电力业务系统sql访问日志压缩方法 |
CN105653930A (zh) * | 2014-10-21 | 2016-06-08 | 广西大学 | 数据库粗粒度安全审计方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140696A1 (en) * | 2006-12-07 | 2008-06-12 | Pantheon Systems, Inc. | System and method for analyzing data sources to generate metadata |
CN103559444B (zh) * | 2013-11-05 | 2017-08-04 | 星云融创(北京)科技有限公司 | 一种sql注入检测方法及装置 |
CN104090941B (zh) * | 2014-06-30 | 2017-08-25 | 北京华电天益信息科技有限公司 | 一种数据库审计系统及其审计方法 |
-
2017
- 2017-09-18 CN CN201710842336.6A patent/CN107766431B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193922A (zh) * | 2010-03-04 | 2011-09-21 | 杭州华三通信技术有限公司 | 一种对数据库进行访问的方法和装置 |
CN102609462A (zh) * | 2012-01-14 | 2012-07-25 | 杭州安恒信息技术有限公司 | 一种通过提取sql模板对海量sql压缩存储的方法 |
CN105653930A (zh) * | 2014-10-21 | 2016-06-08 | 广西大学 | 数据库粗粒度安全审计方法 |
CN105373607A (zh) * | 2015-11-13 | 2016-03-02 | 国网智能电网研究院 | 一种电力业务系统sql访问日志压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107766431A (zh) | 2018-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766431B (zh) | 一种基于语法解析的去参数化功能方法及系统 | |
US11790904B2 (en) | Voice application platform | |
US11615791B2 (en) | Voice application platform | |
US11887597B2 (en) | Voice application platform | |
US10169471B2 (en) | Generating and executing query language statements from natural language | |
US10474658B2 (en) | User-defined loading of data onto a database | |
WO2017166644A1 (zh) | 一种数据采集方法和系统 | |
CN106886567B (zh) | 基于语义扩展的微博突发事件检测方法及装置 | |
US20160171505A1 (en) | Extract, transform, and load (etl) processing | |
CN106557470B (zh) | 数据提取方法和装置 | |
US11437029B2 (en) | Voice application platform | |
CN108009137B (zh) | 一种基于配置文件的规范文书处理方法、装置及系统 | |
WO2019161645A1 (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN105469789A (zh) | 一种语音信息的处理方法及终端 | |
CN107832291A (zh) | 人机协作的客服方法、电子装置及存储介质 | |
US9454568B2 (en) | Method, apparatus and computer storage medium for acquiring hot content | |
US10885038B2 (en) | System and method for adaptive information storage management | |
CN109063059A (zh) | 行为日志处理方法、装置及电子设备 | |
CN110188106B (zh) | 一种数据管理方法和装置 | |
WO2019236444A1 (en) | Voice application platform | |
CN115033436A (zh) | 页面测试方法及装置、电子设备、存储介质 | |
CN114218261A (zh) | 数据查询方法、装置、存储介质以及电子设备 | |
CN112632266B (zh) | 数据写入方法、装置、计算机设备及可读存储介质 | |
CN114153685A (zh) | 服务器带内系统信息预估方法、系统、装置及存储介质 | |
JP6150664B2 (ja) | マイニング分析装置、方法及びプログラム |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310051 No. 188 Lianhui Street, Xixing Street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: DBAPPSECURITY Ltd. Address before: Zhejiang Zhongcai Building No. 68 Binjiang District road Hangzhou City, Zhejiang Province, the 310051 and 15 layer Applicant before: DBAPPSECURITY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |