CN102902798A - 一种针对Informix数据库的SQL信息采集和审计方法及其系统 - Google Patents

一种针对Informix数据库的SQL信息采集和审计方法及其系统 Download PDF

Info

Publication number
CN102902798A
CN102902798A CN2012103841940A CN201210384194A CN102902798A CN 102902798 A CN102902798 A CN 102902798A CN 2012103841940 A CN2012103841940 A CN 2012103841940A CN 201210384194 A CN201210384194 A CN 201210384194A CN 102902798 A CN102902798 A CN 102902798A
Authority
CN
China
Prior art keywords
sql
database
informix
byte
sql statement
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
CN2012103841940A
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.)
Datcent Technology Co Ltd
Original Assignee
Datcent 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 Datcent Technology Co Ltd filed Critical Datcent Technology Co Ltd
Priority to CN2012103841940A priority Critical patent/CN102902798A/zh
Publication of CN102902798A publication Critical patent/CN102902798A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于数据库访问SQL分析技术领域,涉及一种针对Informix数据库的SQL信息采集审计系统,包括Informix通讯报文分析模块,将通讯报文的SQL语句、SQL语句所带的参数、SQL语句的执行结果完整的分析出来,提供数据来源;SQL语句语法解析模块,形成SQL操作日志库;Informix通讯错误代码模块,通过将数据库访问请求及请求的响应结果与Informix数据库错误代码库结合起来,分析基于Informix数据库的应用系统运行状况。本发明不需要对应用系统进行任何的配置改动和变更,对应用系统的正常运行没有任何影响,可以给用户、应用系统提供商及时了解系统运行状态提供了有力的支持。

Description

一种针对Informix数据库的SQL信息采集和审计方法及其系统
技术领域
本发明属于数据库访问SQL分析技术领域,具体的说是一种基于TCP网络,对Informix数据库应用客户端与Informix数据库服务器之间的网络通讯进行采集、SQL分析,并进行审计的系统。
背景技术
根据申请人了解,在基于TCP网络,使用Informix数据库服务器的应用系统中,由于客户机较多,访问量和数据传输量都较大。作为用户,很难在系统层面对Informix数据库的访问使用情况进行全面的分析,从而了解应用系统的运行状况。这样,在客户机与数据库服务器之间的通讯过程,几乎是一个黑匣子。在应用系统发生异常状况时,用户也没有该系统的历史运行状态。
一些传统的方法是修改Informix数据库服务器主机的一些配置,使数据库服务器主动记录一些访问日志,以备事后分析。但Informix数据库的这些配置变更,往往会大幅度的影响到Informix数据库服务器的运行效率,从而影响整个应用系统的性能。
目前,已经有一些基于网络的采集技术,如sniffer,这为通过网络方式,观察应用系统中数据库应用客户端与Informix数据库服务器之间的网络通讯状况,从而进行进一步深度分析提供了基本的技术支持。
发明内容
本发明所要解决的技术问题是,克服现有技术的缺点,提供一种针对Informix数据库的SQL信息采集和审计方法及其系统,不需要对应用系统进行任何的配置改动和变更,对应用系统的正常运行没有任何影响,可以对应用系统中SQL行为有全面的了解,给用户及应用系统提供商及时了解系统运行状态提供了有力的支持。
本发明解决以上技术问题的技术方案是:
一种针对Informix数据库的SQL信息采集和审计方法,按照以下步骤进行:
㈠分析基于Informix数据库的应用系统客户端与Informix数据库之间的通讯协议,对通讯报文中包含的基本通讯报文结构、Login登录协议结构、SQL请求报文结构、RPC远程调用报文结构、SQL执行返回报文结构和SQL参数结构进行分析,获得通讯报文的SQL语句、SQL语句所带的参数和SQL语句的执行结果;
㈡通过SQL操作日志库保存获得的SQL语句、SQL语句参数、SQL语句执行结果以及SQL语句语法解析后取到的SQL语句的各个组成部分,如一个SQL语句为SELECT username  FROM tuser_table,SQL语句语法解析模块把它解析成两个个部分,SQL类别为“SELECT”(属数据操纵类操作)、操作对象为数据库表tuser_table和该表所包含的字段username;
㈢将SQL语句分为以下类别:数据库定义类操作、数据操纵类操作、数据库控制类操作和事务控制类操作,并分类统计,典型的分类统计的内容为:
操作类别 数量
数据库定义类操作 12
数据操纵类操作 20
数据库控制类操作 30
事务控制类操作 40
㈣将操作对象从SQL语句中分离出来,分类存放到SQL操作日志库中,常见的SQL语句的操作对象指数据库的表、表字段等,如一个简单的SQL语句:SELECT username  FROM tuser_table,其操纵对象为为数据库表tuser_table和该表所包含的字段 username;
㈤在SQL操作执行异常时,将异常情况进行单独分析和保存;
㈥建立一个Informix数据库错误代码库,通过将数据库访问请求及请求的响应结果与Informix数据库错误代码库结合起来,分析某个基于Informix数据库的应用系统的运行状况,如果一个SQL访问请求的响应结果中包含错误,则可以在SQL执行返回报文结构中取到错误代号,根据错误代号,结合错误代码库,知道该应用系统运行中出现了某种错误。
针对Informix数据库的SQL信息采集和审计系统,包括:
Informix通讯报文分析模块,用以通过分析基于Informix数据库的应用系统客户端与Informix数据库之间的通讯协议,对通讯报文中包含的基本通讯报文结构、Login登录协议结构、SQL请求报文结构、RPC远程调用报文结构、SQL执行返回报文结构和SQL参数结构进行分析,从而获得通讯报文的SQL语句、SQL语句所带的参数和SQL语句的执行结果,为其他模块提供数据来源;
SQL语句语法解析模块,包括以下①-④子模块:
①SQL操作日志库,用以保存以下内容:所述Informix通讯报文分析模块获得的SQL语句、SQL语句参数、SQL语句执行结果以及SQL语句语法解析后取到的SQL语句的各个组成部分,如一个SQL语句为SELECT username  FROM tuser_table,SQL语句语法解析模块把它解析成两个个部分,SQL类别为“SELECT”(属数据操纵类操作)、操作对象为数据库表tuser_table和该表所包含的字段username;
②SQL操作统计子模块,用以将SQL语句分为以下类别:数据库定义类操作、数据操纵类操作、数据库控制类操作和事务控制类操作,并分类统计,典型的分类统计的内容为:
操作类别 数量
数据库定义类操作 12
数据操纵类操作 20
数据库控制类操作 30
事务控制类操作 40
③SQL操作对象分析子模块,用以将操作对象从SQL语句中分离出来,分类存放到SQL操作日志库中,常见的SQL语句的操作对象指数据库的表、表字段等,如一个简单的SQL语句:SELECT username  FROM tuser_table,其操纵对象为为数据库表tuser_table和该表所包含的字段 username;
④SQL执行结果分析子模块,用以在SQL操作执行异常时,将异常情况进行单独分析和保存;
Informix错误代码模块,用以建立一个Informix数据库错误代码库,通过将数据库访问请求及请求的响应结果与Informix数据库错误代码库结合起来,分析某个基于Informix数据库的应用系统的运行状况,如果一个SQL访问请求的响应结果中包含错误,则可以在SQL执行返回报文结构中取到错误代号,根据错误代号,结合错误代码库,知道该应用系统运行中出现了某种错误。
结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名,结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。
Informix是IBM公司出品的关系数据库管理系统(RDBMS)家族,作为一个集成解决方案,它被定位为作为IBM在线事务处理(OLTP)旗舰级数据服务系统。
这样,本发明对那些基于Informix数据库的应用系统中数据库Client/Server之间的通讯报文进行分析,获取有效的SQL语句、SQL语句参数及SQL语句的执行结果,全面了解Informix数据库的访问使用情况。同时,建立INFORMIX数据库的错误代码库,将SQL语句执行状态与错误代码库相比较,及时分析应用系统中的数据库访问异常状况,为用户及应用系统提供商提供帮助。
本发明进一步限定的技术方案是:
前述的针对Informix数据库的SQL信息采集和审计方法及其系统,Informix通讯报文分析模块包括以下协议分析:
⑴基本通讯报文结构分析:
       1字节          1字节 2字节 4字节
数据库类型 结束包标志 数据包大小 数据包指针
⑵Login登录协议结构分析:
字节序号 数据类型 数据项描述
10 字符串[10] 校验码
17 字符串[70] 指令名称
18 1字节 分隔符
X X字节 username
X 1字节 分隔符
X X字节 password
X 1字节 分隔符
X X 系统版本号
⑶SQL请求报文结构分析:
2字节 字符串[n] 2字节
SQL的长度 SQL语句 参数标志位
⑷RPC远程调用报文结构分析:
2字节 字符串[n] 2字节
RPC名称的长度 RPC名称 标志位
RPC名称的长度 对应的RPC名称
0x1 sp_cursor        
0x2 sp_cursoropen    
0x3 sp_cursorprepare 
0x4 sp_cursorexecute 
0x5 sp_cursorprepexec
0x6 sp_cursorunprepare
0x7 sp_cursorfetch   
0x8 sp_cursoroption  
0x9 sp_cursorclose   
0xA sp_executesql    
0xB sp_prepare       
0xC sp_execute 
0xD sp_prepexec      
0xE sp_prepexecrpc   
0xF sp_unprepare     
⑸SQL执行返回报文结构分析:
标志位值(十六进制) 标志位值(十进制) 标志位名称
0x21  33 Language
0x71 113 Logout    
0x79 121 Return
0x7C 124 Process
0x81 129 Result    
0xA0 160 Column
0xA1 161 Column
0xA4 164 Table
0xA5 165 Column
0xA7 167 Compute
0xA8 168 Column
0xA9 169 Order
0xAA 170 Error
0xAB 171 Non-error
0xAC 172 Output
⑹SQL参数结构分析:
参数的基本结构:
参数类型 参数数据
参数类型的结构:
1字节 字符串[n] 1字节 4字节
长度 参数名称 标志 使用类型
本发明的有益效果是:⑴从计算机网络层面对基于INFORMIX数据库的应用系统中SQL操作进行分析,不需要对应用系统进行任何的配置改动和变更,对应用系统的正常运行没有任何影响;⑵对INFORMIX数据库应用客户端与服务端之间的通讯报文进行了全面的解析及分解,完整地实现了对SQL语句的分析,从而对应用系统中SQL行为有了全面的了解;⑶通过建立INFORMIX数据库的错误代码库,可以及时了解应用系统运行过程中,SQL操作发生的异常情况,给用户及应用系统提供商及时了解系统运行状态提供了有力的支持。
附图说明
图1是本发明的部署图。
图2是本发明的系统架构图。
具体实施方式
    实施例1
本实施例提供一种针对Informix数据库的SQL信息采集和审计系统,如图1和图2所示,具体包括:
Informix通讯报文分析模块:
通过分析基于Informix数据库的应用系统客户端与Informix数据库之间的通讯协议,对通讯报文中包含的基本通讯报文结构、Login登录协议结构、SQL请求报文结构、RPC远程调用报文结构、SQL执行返回报文结构和SQL参数结构进行分析,从而获得通讯报文的SQL语句、SQL语句所带的参数和SQL语句的执行结果,为其他模块提供数据来源;
本模块包括以下协议分析:
⑴基本通讯报文结构分析:
       1字节          1字节 2字节 4字节
数据库类型 结束包标志 数据包大小 数据包指针
⑵Login登录协议结构分析:
字节序号 数据类型 数据项描述
10 字符串[10] 校验码
17 字符串[70] 指令名称
18 1字节 分隔符
X X字节 username
X 1字节 分隔符
X X字节 password
X 1字节 分隔符
X X 系统版本号
⑶SQL请求报文结构分析:
2字节 字符串[n] 2字节
SQL的长度 SQL语句 参数标志位
⑷RPC远程调用报文结构分析:
2字节 字符串[n] 2字节
RPC名称的长度 RPC名称 标志位
RPC名称的长度 对应的RPC名称
0x1 sp_cursor        
0x2 sp_cursoropen    
0x3 sp_cursorprepare 
0x4 sp_cursorexecute 
0x5 sp_cursorprepexec
0x6 sp_cursorunprepare
0x7 sp_cursorfetch   
0x8 sp_cursoroption  
0x9 sp_cursorclose   
0xA sp_executesql    
0xB sp_prepare       
0xC sp_execute 
0xD sp_prepexec      
0xE sp_prepexecrpc   
0xF sp_unprepare     
⑸SQL执行返回报文结构分析:
标志位值(十六进制) 标志位值(十进制) 标志位名称
0x21  33 Language
0x71 113 Logout    
0x79 121 Return
0x7C 124 Process
0x81 129 Result    
0xA0 160 Column
0xA1 161 Column
0xA4 164 Table
0xA5 165 Column
0xA7 167 Compute
0xA8 168 Column
0xA9 169 Order
0xAA 170 Error
0xAB 171 Non-error
0xAC 172 Output
⑹SQL参数结构分析:
参数的基本结构:
参数类型 参数数据
参数类型的结构:
1字节 字符串[n] 1字节 4字节
长度 参数名称 标志 使用类型
SQL语句语法解析模块,本模块将SQL语句进行有效的结构分解,把SQL语句分解为“操作”、“操作的对象”、“操作的参数”、“执行结果”。在本模块中,将重点对以下类型的数据进行统计,形成“SQL操作日志库”,包括以下①-④子模块:
①SQL操作日志库,用以保存以下内容:所述Informix通讯报文分析模块获得的SQL语句、SQL语句参数、SQL语句执行结果以及SQL语句语法解析后取到的SQL语句的各个组成部分,如一个SQL语句为SELECT username  FROM tuser_table,SQL语句语法解析模块把它解析成两个个部分,SQL类别为“SELECT”(属数据操纵类操作)、操作对象为数据库表tuser_table和该表所包含的字段username;
②SQL操作统计子模块,用以将SQL语句分为以下类别:数据库定义类操作、数据操纵类操作、数据库控制类操作和事务控制类操作,并分类统计,典型的分类统计的内容为:
操作类别 数量
数据库定义类操作 12
数据操纵类操作 20
数据库控制类操作 30
事务控制类操作 40
本模块将SQL分为以下类别,并分类统计:
数据库定义类操作,如CREATE、ALTER、DROP、TRUNCATE、COMMENT、RENAME等等;
数据操纵类操作,如SELECT、INSERT、UPDATE、DELETE、MERGE、CALL、EXPLAIN PLAN、LOCK TABLE等等;
数据库控制类操作,如GRANT、REVOKE;
事务控制类操作,如SAVEPOINT、ROLLBACK 、SET TRANSACTION等等;
③SQL操作对象分析子模块,用以将操作对象从SQL语句中分离出来,分类存放到SQL操作日志库中,常见的SQL语句的操作对象指数据库的表、表字段等,如一个简单的SQL语句:SELECT username  FROM tuser_table,其操纵对象为为数据库表tuser_table和该表所包含的字段 username;大多数数据库SQL操作都是对数据库中的对象进行操作,本模块将操作对象,如数据库表、数据表字段等从SQL中分离出来,分类存放到“SQL操作日志库”中;
④SQL执行结果分析子模块,用以在SQL操作执行异常时,将异常情况进行单独分析和保存;在应用系统运行过程中,由于各种原因,如应用系统的缺陷、网络环境的异常等都可能引起SQL操作执行的异常。本模块将这些异常情况进行单独分析和保存,以便与错误代码库结合,为用户分析异常情况提供帮助。
Informix错误代码模块,用以建立一个Informix数据库错误代码库,通过将数据库访问请求及请求的响应结果与Informix数据库错误代码库结合起来,分析某个基于Informix数据库的应用系统的运行状况,如果一个SQL访问请求的响应结果中包含错误,则可以在SQL执行返回报文结构中取到错误代号,根据错误代号,结合错误代码库,知道该应用系统运行中出现了某种错误;本模块建立了一个Informix数据库错误代码库,通过将数据库访问请求及请求的响应结果与错误代码库结合起来,可以有效的分析基于Informix数据库的应用系统运行状况,及时了解应用系统中的异常情况;错误代码库摘要:
Figure 2012103841940100002DEST_PATH_IMAGE002
在某个IT基础设施运维管理系统中使用本发明涉及的分析与审计系统,基本的部署方式为:
在Linux上部署INFORMIX数据库的通讯报文采集模块、SQL语句分析相关模块、SQL操作日志库、INFORMIX的错误代码库等模块;
SQL语句分析相关模块自动产生SQL行为统计报告、SQL异常报告,并可以通过邮件方式发送给相关用户;
用户使用网页浏览器访问该“IT基础设施运维管理系统”,主动查看SQL行为统计报告等内容。
与系统对应的本实施例针对Informix数据库的SQL信息采集和审计方法,按照以下步骤进行:
㈠分析基于Informix数据库的应用系统客户端与Informix数据库之间的通讯协议,对通讯报文中包含的基本通讯报文结构、Login登录协议结构、SQL请求报文结构、RPC远程调用报文结构、SQL执行返回报文结构和SQL参数结构进行分析,获得通讯报文的SQL语句、SQL语句所带的参数和SQL语句的执行结果;
㈡通过SQL操作日志库保存获得的SQL语句、SQL语句参数、SQL语句执行结果以及SQL语句语法解析后取到的SQL语句的各个组成部分,如一个SQL语句为SELECT username  FROM tuser_table,SQL语句语法解析模块把它解析成两个个部分,SQL类别为“SELECT”(属数据操纵类操作)、操作对象为数据库表tuser_table和该表所包含的字段username;
㈢将SQL语句分为以下类别:数据库定义类操作、数据操纵类操作、数据库控制类操作和事务控制类操作,并分类统计,典型的分类统计的内容为:
操作类别 数量
数据库定义类操作 12
数据操纵类操作 20
数据库控制类操作 30
事务控制类操作 40
㈣将操作对象从SQL语句中分离出来,分类存放到SQL操作日志库中,常见的SQL语句的操作对象指数据库的表、表字段等,如一个简单的SQL语句:SELECT username  FROM tuser_table,其操纵对象为为数据库表tuser_table和该表所包含的字段 username;
㈤在SQL操作执行异常时,将异常情况进行单独分析和保存;
㈥建立一个Informix数据库错误代码库,通过将数据库访问请求及请求的响应结果与Informix数据库错误代码库结合起来,分析某个基于Informix数据库的应用系统的运行状况,如果一个SQL访问请求的响应结果中包含错误,则可以在SQL执行返回报文结构中取到错误代号,根据错误代号,结合错误代码库,知道该应用系统运行中出现了某种错误。
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。

Claims (4)

1.一种针对Informix数据库的SQL信息采集和审计方法,其特征在于:按照以下步骤进行:
㈠分析基于Informix数据库的应用系统客户端与Informix数据库之间的通讯协议,对通讯报文中包含的基本通讯报文结构、Login登录协议结构、SQL请求报文结构、RPC远程调用报文结构、SQL执行返回报文结构和SQL参数结构进行分析,获得通讯报文的SQL语句、SQL语句所带的参数和SQL语句的执行结果;
㈡通过SQL操作日志库保存获得的SQL语句、SQL语句参数、SQL语句执行结果以及SQL语句语法解析后取到的SQL语句的各个组成部分;
㈢将SQL语句分为以下类别:数据库定义类操作、数据操纵类操作、数据库控制类操作和事务控制类操作,并分类统计,典型的分类统计的内容为:
操作类别 数量 数据库定义类操作 12 数据操纵类操作 20 数据库控制类操作 30 事务控制类操作 40
㈣将操作对象从SQL语句中分离出来,分类存放到SQL操作日志库中;
㈤在SQL操作执行异常时,将异常情况进行单独分析和保存;
㈥建立一个Informix数据库错误代码库,通过将数据库访问请求及请求的响应结果与Informix数据库错误代码库结合起来,分析某个基于Informix数据库的应用系统的运行状况,如果一个SQL访问请求的响应结果中包含错误,则可以在SQL执行返回报文结构中取到错误代号,根据错误代号,结合错误代码库,知道该应用系统运行中出现了某种错误。
2.如权利要求1所述的针对Informix数据库的SQL信息采集和审计方法,其特征在于:所述步骤㈠中包括以下协议分析:
⑴基本通讯报文结构分析:
       1字节          1字节 2字节 4字节 数据库类型 结束包标志 数据包大小 数据包指针
⑵Login登录协议结构分析:
字节序号 数据类型 数据项描述 10 字符串[10] 校验码 17 字符串[70] 指令名称 18 1字节 分隔符 X X字节 username X 1字节 分隔符 X X字节 password X 1字节 分隔符 X X 系统版本号
⑶SQL请求报文结构分析:
2字节 字符串[n] 2字节 SQL的长度 SQL语句 参数标志位
⑷RPC远程调用报文结构分析:
2字节 字符串[n] 2字节 RPC名称的长度 RPC名称 标志位
RPC名称的长度 对应的RPC名称 0x1 sp_cursor         0x2 sp_cursoropen     0x3 sp_cursorprepare  0x4 sp_cursorexecute  0x5 sp_cursorprepexec 0x6 sp_cursorunprepare 0x7 sp_cursorfetch    0x8 sp_cursoroption   0x9 sp_cursorclose    0xA sp_executesql     0xB sp_prepare        0xC sp_execute  0xD sp_prepexec       0xE sp_prepexecrpc    0xF sp_unprepare     
⑸SQL执行返回报文结构分析:
标志位值(十六进制) 标志位值(十进制) 标志位名称 0x21  33 Language 0x71 113 Logout     0x79 121 Return 0x7C 124 Process 0x81 129 Result     0xA0 160 Column 0xA1 161 Column 0xA4 164 Table 0xA5 165 Column 0xA7 167 Compute 0xA8 168 Column 0xA9 169 Order 0xAA 170 Error 0xAB 171 Non-error 0xAC 172 Output
⑹SQL参数结构分析:
参数的基本结构:
参数类型 参数数据
参数类型的结构:
1字节 字符串[n] 1字节 4字节 长度 参数名称 标志 使用类型
3.用于权利要求1所述方法的针对Informix数据库的SQL信息采集和审计系统,其特征在于:包括:
Informix通讯报文分析模块,用以通过分析基于Informix数据库的应用系统客户端与Informix数据库之间的通讯协议,对通讯报文中包含的基本通讯报文结构、Login登录协议结构、SQL请求报文结构、RPC远程调用报文结构、SQL执行返回报文结构和SQL参数结构进行分析,从而获得通讯报文的SQL语句、SQL语句所带的参数和SQL语句的执行结果,为其他模块提供数据来源;
SQL语句语法解析模块,包括以下①-④子模块:
①SQL操作日志库,用以保存以下内容:所述Informix通讯报文分析模块获得的SQL语句、SQL语句参数、SQL语句执行结果以及SQL语句语法解析后取到的SQL语句的各个组成部分;
②SQL操作统计子模块,用以将SQL语句分为以下类别:数据库定义类操作、数据操纵类操作、数据库控制类操作和事务控制类操作,并分类统计,典型的分类统计的内容为:
操作类别 数量 数据库定义类操作 12 数据操纵类操作 20 数据库控制类操作 30 事务控制类操作 40
③SQL操作对象分析子模块,用以将操作对象从SQL语句中分离出来,分类存放到SQL操作日志库中;
④SQL执行结果分析子模块,用以在SQL操作执行异常时,将异常情况进行单独分析和保存;
Informix错误代码模块,用以建立一个Informix数据库错误代码库,通过将数据库访问请求及请求的响应结果与Informix数据库错误代码库结合起来,分析某个基于Informix数据库的应用系统的运行状况,如果一个SQL访问请求的响应结果中包含错误,则可以在SQL执行返回报文结构中取到错误代号,根据错误代号,结合错误代码库,知道该应用系统运行中出现了某种错误。
4.如权利要求2所述的针对Informix数据库的SQL信息采集和审计系统,其特征在于:所述Informix通讯报文分析模块包括以下协议分析子模块:
⑴基本通讯报文结构分析子模块:
       1字节          1字节 2字节 4字节 数据库类型 结束包标志 数据包大小 数据包指针
⑵Login登录协议结构分析子模块:
字节序号 数据类型 数据项描述 10 字符串[10] 校验码 17 字符串[70] 指令名称 18 1字节 分隔符 X X字节 username X 1字节 分隔符 X X字节 password X 1字节 分隔符 X X 系统版本号
⑶SQL请求报文结构分析子模块:
2字节 字符串[n] 2字节 SQL的长度 SQL语句 参数标志位
⑷RPC远程调用报文结构分析子模块:
2字节 字符串[n] 2字节 RPC名称的长度 RPC名称 标志位
RPC名称的长度 对应的RPC名称 0x1 sp_cursor         0x2 sp_cursoropen     0x3 sp_cursorprepare  0x4 sp_cursorexecute  0x5 sp_cursorprepexec 0x6 sp_cursorunprepare 0x7 sp_cursorfetch    0x8 sp_cursoroption   0x9 sp_cursorclose    0xA sp_executesql     0xB sp_prepare        0xC sp_execute  0xD sp_prepexec       0xE sp_prepexecrpc    0xF sp_unprepare     
⑸SQL执行返回报文结构分析子模块:
标志位值(十六进制) 标志位值(十进制) 标志位名称 0x21  33 Language 0x71 113 Logout     0x79 121 Return 0x7C 124 Process 0x81 129 Result     0xA0 160 Column 0xA1 161 Column 0xA4 164 Table 0xA5 165 Column 0xA7 167 Compute 0xA8 168 Column 0xA9 169 Order 0xAA 170 Error 0xAB 171 Non-error 0xAC 172 Output
⑹SQL参数结构分析子模块:
参数的基本结构:
参数类型 参数数据
参数类型的结构:
1字节 字符串[n] 1字节 4字节 长度 参数名称 标志 使用类型
CN2012103841940A 2012-10-11 2012-10-11 一种针对Informix数据库的SQL信息采集和审计方法及其系统 Pending CN102902798A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012103841940A CN102902798A (zh) 2012-10-11 2012-10-11 一种针对Informix数据库的SQL信息采集和审计方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012103841940A CN102902798A (zh) 2012-10-11 2012-10-11 一种针对Informix数据库的SQL信息采集和审计方法及其系统

Publications (1)

Publication Number Publication Date
CN102902798A true CN102902798A (zh) 2013-01-30

Family

ID=47575030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012103841940A Pending CN102902798A (zh) 2012-10-11 2012-10-11 一种针对Informix数据库的SQL信息采集和审计方法及其系统

Country Status (1)

Country Link
CN (1) CN102902798A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291605A (zh) * 2017-07-11 2017-10-24 郑州云海信息技术有限公司 一种系统日志的处理方法及系统
CN108090219A (zh) * 2014-12-24 2018-05-29 北京奇虎科技有限公司 数据库内置数据的处理方法及装置
CN112668023A (zh) * 2020-12-29 2021-04-16 北京天融信网络安全技术有限公司 一种数据库操作的安全检测方法、装置及操作系统
CN113127505A (zh) * 2021-05-17 2021-07-16 北京奇艺世纪科技有限公司 结构化查询语言sql系统的监控方法、装置及电子设备
CN113297245A (zh) * 2020-05-29 2021-08-24 阿里巴巴集团控股有限公司 获取执行信息的方法及装置
CN117235107A (zh) * 2023-11-10 2023-12-15 恒生电子股份有限公司 数据访问处理方法、装置、电子设备及存储介质

Citations (3)

* 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压缩存储的方法
CN102609541A (zh) * 2012-02-21 2012-07-25 德讯科技股份有限公司 基于mssql数据库的sql信息采集审计系统
CN102654864A (zh) * 2011-03-02 2012-09-05 华北计算机系统工程研究所 一种面向实时数据库的独立透明型安全审计保护的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102654864A (zh) * 2011-03-02 2012-09-05 华北计算机系统工程研究所 一种面向实时数据库的独立透明型安全审计保护的方法
CN102609462A (zh) * 2012-01-14 2012-07-25 杭州安恒信息技术有限公司 一种通过提取sql模板对海量sql压缩存储的方法
CN102609541A (zh) * 2012-02-21 2012-07-25 德讯科技股份有限公司 基于mssql数据库的sql信息采集审计系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108090219A (zh) * 2014-12-24 2018-05-29 北京奇虎科技有限公司 数据库内置数据的处理方法及装置
CN107291605A (zh) * 2017-07-11 2017-10-24 郑州云海信息技术有限公司 一种系统日志的处理方法及系统
CN107291605B (zh) * 2017-07-11 2020-09-22 苏州浪潮智能科技有限公司 一种系统日志的处理方法及系统
CN113297245A (zh) * 2020-05-29 2021-08-24 阿里巴巴集团控股有限公司 获取执行信息的方法及装置
CN112668023A (zh) * 2020-12-29 2021-04-16 北京天融信网络安全技术有限公司 一种数据库操作的安全检测方法、装置及操作系统
CN113127505A (zh) * 2021-05-17 2021-07-16 北京奇艺世纪科技有限公司 结构化查询语言sql系统的监控方法、装置及电子设备
CN113127505B (zh) * 2021-05-17 2024-04-23 北京奇艺世纪科技有限公司 结构化查询语言sql系统的监控方法、装置及电子设备
CN117235107A (zh) * 2023-11-10 2023-12-15 恒生电子股份有限公司 数据访问处理方法、装置、电子设备及存储介质
CN117235107B (zh) * 2023-11-10 2024-01-26 恒生电子股份有限公司 数据访问处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN102609541B (zh) 基于mssql数据库的sql信息采集审计系统
US11294927B2 (en) Metadata hub for metadata models of database objects
US11252168B2 (en) System and user context in enterprise threat detection
US11308161B2 (en) Querying a data source on a network
EP2689353B1 (en) System and method for data masking
US7711704B2 (en) System and method of providing date, arithmetic and other relational functions for OLAP sources
US20210373990A1 (en) Clustering of structured log data by key-values
US8452754B2 (en) Static analysis framework for database applications
CN102902798A (zh) 一种针对Informix数据库的SQL信息采集和审计方法及其系统
US20090055370A1 (en) System and method for data warehousing and analytics on a distributed file system
US7647315B2 (en) System and method of providing relational set operations for multidimensional data sources
US8838652B2 (en) Techniques for application data scrubbing, reporting, and analysis
US9582553B2 (en) Systems and methods for analyzing existing data models
CN105868204A (zh) 一种转换Oracle脚本语言SQL的方法及装置
US20180189299A1 (en) Content aggregation for unstructured data
US9870241B2 (en) Data transfer guide
Cleve et al. Dynamic program analysis for database reverse engineering
US11960482B1 (en) Systems and methods for extracting data views from heterogeneous sources
Zhang et al. Checking enforcement of integrity constraints in database applications based on code patterns
CN103488797A (zh) 一种基于mysql数据库的sql信息采集审计系统
Zetterlund et al. Harvesting production graphql queries to detect schema faults
Chen et al. Synthdb: Synthesizing database via program analysis for security testing of web applications
US20150347506A1 (en) Methods and apparatus for specifying query execution plans in database management systems
Bhandare et al. Generic log analyzer using Hadoop MapReduce framework
KR20220098679A (ko) Cve 엔트리들을 사용하여 네트워크 디바이스들의 취약점들을 검증하기 위한 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20130130