CN112835934B - 查询信息采集方法、装置、电子设备和存储介质 - Google Patents
查询信息采集方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112835934B CN112835934B CN202110139536.1A CN202110139536A CN112835934B CN 112835934 B CN112835934 B CN 112835934B CN 202110139536 A CN202110139536 A CN 202110139536A CN 112835934 B CN112835934 B CN 112835934B
- Authority
- CN
- China
- Prior art keywords
- data packet
- database data
- database
- state
- query information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012545 processing Methods 0.000 claims abstract description 46
- 239000000203 mixture Substances 0.000 claims description 47
- 230000004044 response Effects 0.000 claims description 23
- 238000001914 filtration Methods 0.000 claims description 22
- 238000000605 extraction Methods 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004883 computer application Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- G06F16/24564—Applying rules; Deductive queries
-
- 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
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种查询信息采集方法、装置、电子设备和存储介质,其中,该方法包括:通过流量镜像采集网卡流量,并获取所述网卡流量中至少一个原始数据包;根据当前处理的所述原始数据包与前序数据包的组合关联关系处理所述原始数据包以获取数据库数据包;按照所述数据库数据包的前序数据库数据包的类型提取所述数据库数据包中的查询信息。本发明实施例,通过综合考虑不同数据包之间的关联关系,实现查询信息采集条件的丰富,提高信息获取的准确性,降低不完整查询信息和错误查询信息的占用空间,有助于提高数据库服务器的运行效率。
Description
技术领域
本发明实施例涉及计算机应用技术领域,尤其涉及一种查询信息采集方法、装置、电子设备和存储介质。
背景技术
随着数字化生活的发展,数据库已经成为日常生活中的重要组成部分,服务商在为用户提供服务时往往无法离开数据库的支持,为了保证数据库的访问性能,服务提供商经常对数据库的访问流量进行审计,这就离不开数据库的查询信息的采集。现有查询信息的采集主要通过数据库全量日志采集、网卡流量采集、数据库插件采集和数据库内核采集等方式,其中,网卡流量采集应用较简单,得到业内企业较多关注。网络流量采集查询信息主要通过对网卡数据包按照数据包类型解析后提取对应的数据。
在实现本发明的过程中,发现现有技术中存在以下技术问题:
网卡数据包存在上下文,不同数据包之间存在约束关系,传统查询信息采集仅对单个数据包确定是否完整,而为考虑数据包之间的约束关系,数据包之间能否组成数据库数据包或者数据包之间类型的影响未考虑在内,通过传统查询信息采集方式获取到的查询信息存在不完整或者错误的情况,将会严重影响服务器的运行效率,将会导致资源占用飙升,致使处理进程崩溃。
发明内容
本发明提供一种查询信息采集方法、装置、电子设备和存储介质,通过综合考虑不同数据包之间的关联关系,实现查询信息采集条件的丰富,提高信息获取的准确性,降低不完整查询信息和错误查询信息的占用空间,有助于提高数据库服务器的运行效率。
第一方面,本发明实施例提供了一种查询信息采集方法,该方法包括:
通过流量镜像采集网卡流量,并获取所述网卡流量中至少一个原始数据包;
根据当前处理的所述原始数据包与前序数据包的组合关联关系处理所述原始数据包以获取数据库数据包;
按照所述数据库数据包的前序数据库数据包的类型提取所述数据库数据包中的查询信息。
第二方面,本发明实施例还提供了一种查询信息采集装置,该装置包括:
流量采集模块,用于通过流量镜像采集网卡流量,并获取所述网卡流量中至少一个原始数据包;
拼接处理模块,用于根据当前处理的所述原始数据包与前序数据包的组合关联关系处理所述原始数据包以获取数据库数据包;
信息提取模块,用于按照所述数据库数据包的前序数据库数据包的类型提取所述数据库数据包中的查询信息。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的查询信息采集方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本发明实施例中任一所述的查询信息采集方法。
本发明实施例,通过按照流量镜像的方式采集网卡流量,并提取网卡流量中的原始数据包,根据当前处理的原始数据包与前序数据包的组合关联关系处理该原始数据包以获取到数据库数据包,根据该数据库数据包的前序数据库数据包的类型提取当前的数据库数据包中的查询信息,通过考虑数据包间的约束关系,丰富查询信息采集的筛选条件,提高查询信息获取的准确性,可以降低数据库服务器中错误查询信息和不完整信息的资源占用,有助于提高服务器运行的稳定性。
附图说明
图1是本发明实施例一提供的一种查询信息采集方法的流程图;
图2是本发明实施例二提供的另一种查询信息采集方法的流程图;
图3是本发明实施例三提供的另一种查询信息采集方法的流程图;
图4是本发明实施例三提供的一种查询信息采集方法的示例图;
图5是本发明实施例四提供的一种查询信息采集装置的结构示意图;
图6是本发明实施例五提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构,此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
图1是本发明实施例一提供的一种查询信息采集方法的流程图,本实施例可适用于对数据库的访问流量进行审计的情况,该方法可以由查询信息采集装置来执行,该装置可以采用硬件和/或软件的方式来实现,一般可以集成在服务器中,参见图1,本发明实施例提供的方法具体包括如下步骤:
步骤110、通过流量镜像采集网卡流量,并获取网卡流量中至少一个原始数据包。
其中,流量镜像可以是在数据库服务器上采集访问流量技术,流量镜像可以通过端口镜像(Port Monitoring)、网页缓存通信协议(Web Cache Communication Protocol,WCCP)等方式实现,网卡流量可以是访问数据库服务器的流量,网卡流量可以由一个或者多个数据包组成,其中,该数据包具体可以为传输控制协议(Transmission ControlProtocol,TCP)数据包。原始数据包可以是发送到数据库服务器的数据包。
具体的,可以在数据库服务器上设置流量镜像,通过流量镜像采集到访问数据库服务器的网卡流量,该网卡流量可以由一个或者多个用于通信的原始数据包,由于流量镜像不稳定,流经的原始数据包可以存在丢包或者损坏的情况。
步骤120、根据当前处理的原始数据包与前序数据包的组合关联关系处理原始数据包以获取数据库数据包。
其中,组合关联关系可以是原始数据包与前序数据包组合之后与数据库数据包的关系,组合关联关系可以表示能否组成数据库数据包或者组成的数据库数据包是否正确的关系等,组合关联关系可以包括原始数据包与前序数据包的包序号连续或者原始数据包与前序数据包具有相同的数据库数据包标识等,数据库数据包可以数据包,具体可以是MySQL数据包或者Oracle数据包等。
在本发明实施例中,依次处理网卡流量中采集到的原始数据包,针对每个原始数据包按照与前序数据包构成的不同组合关联关系采取不同处理方式,在当前处理的原始数据包与前序数据包的组合关联关系表示能够组成数据库数据包时,则将原始数据包拼接到数据库数据包,否则,将原始数据包丢失。示例性的,当前处理的原始数据包与前序数据包的组合关联关系表示为包序号相连时,可以提取当前原始数据包中的包头和载荷填充到数据库数据包中,若是当前处理的原始数据包与前序数据包的组合关联关系不表示包序号相连时,可以将当前处理的原始数据包丢弃,防止与前序数据包不能组成数据库数据包的信息填充到数据库数据包中。其中,前序数据包可以是在处理原始数据包的过程中上一个被处理的原始数据包。
步骤130、按照数据库数据包的前序数据库数据包的类型提取数据库数据包中的查询信息。
其中,查询信息可以是数据库服务器中使用的查询信息,可以包括结构化查询语言(Structured Query Language,SQL)语句或者查询用户等信息,查询信息可以是数据库数据包中的载荷。前序数据库数据包可以是上一个被处理的数据库数据包,类型可以是数据库数据包的属性信息,可以表示数据库数据包在数据库系统中被执行时的作用,具有可以包括查询数据包和响应数据包等。
在本发明实施例中,针对生成的数据库数据包,可以获取上一个被处理的数据库数据包的类型,该类型可以缓存在数据库服务器中,通过该类型对应的处理方式提取数据库数据包中的查询信息,可以理解的是,可以按照类型预先存储有不同的处理规则。
本发明实施例,通过流量镜像采集网卡流量并获取网卡流量中的原始数据包,根据当前处理的原始数据包与前序数据包之间的组合关联关系处理该原始数据包以生成数据库数据包,基于该数据库数据包的上一次被处理的前序数据库数据包的类型提取数据库数据包中的查询信息,通过考虑数据包间的约束关系,丰富查询信息采集的筛选条件,提高查询信息获取的准确性,可以降低数据库服务器中错误查询信息和不完整信息的资源占用,有助于提高服务器运行的稳定性。
实施例二
图2是本发明实施例二提供的另一种查询信息采集方法的流程图,本发明实施例是在上述发明实施例基础上的具体化,参见图2,本发明实施例提供的方法具体包括如下步骤:
步骤210、通过流量镜像采集网卡流量,并获取网卡流量中至少一个原始数据包。
步骤220、获取预先存储的组成状态标识,其中,组成状态标识表示原始数据包与前序数据包组合构成的数据库数据包的状态,前序数据包为上一个处理的原始数据包。
其中,预先存储的组成状态标识可以表示上一个原始数据包处理后的数据库数据包的状态,可以包括包头不完整状态、负荷不完整状态或者完整状态等,该数据库数据包可以指前序数据包和当前处理的原始数据包能够组合构成的数据库数据包。
具体的,可以在数据库服务器中获取预先存储的组成状态标识,该组成状态标识可以代表当前处理的原始数据包还未拼接到数据库数据包的状态,组成状态标识可以通过不同的字符串代表不同的状态内容。
步骤230、按照原始数据包的序号排序拼接原始数据包到数据库数据包。
其中,序号可以是代表原始数据包通信顺序的信息,序号可以位于原始数据包的包头中。排序可以是按照序号数值的排序,包括序号数值从大到小或者序号数值从小到大。
在本发明实施例中,可以提取原始数据包的序号以及载荷,按照该序号可以将原始数据包的载荷拼接到数据库数据包中的载荷中的对应位置。
步骤240、选择组成状态标识对应的执行规则处理数据库数据包。
其中,执行规则可以是完成数据库数据包拼接的规则,不同的组成状态标识对应不同的执行规则,例如,在数据库数据包的包头不完整时,执行规则的目标是填充数据库数据包的包头,在数据库数据包的负荷不完整时,执行规则的目标是填充数据库数据包的载荷。
具体的,可以在数据库服务器中确定与组成状态标识对应的执行规则,通过确定出的执行规则对拼接有原始数据包的数据库数据包进行处理,以获取到完整的数据库数据包。
步骤250、获取预先存储的类型状态标识,其中,类型状态标识表示数据库数据包的前序数据库数据包的类型,前序数据库数据包为上一个处理的数据库数据包。
其中,预先存储的类型状态标识可以表示上一个被处理的数据库数据包类型,类型状态标识可以包括查询状态标识、正常响应状态标识和异常状态响应标识等,类型状态标识可以缓存在数据库服务器,类型状态标识可以通过不同的字符串或数值代表数据库数据包不同的类型。
本发明实施例中,数据库服务器中可以缓存有上一次被处理的数据库数据包的类型状态标识,在处理获取到的数据库数据包之前可以在数据库服务器中获取到缓存的类型状态标识。
步骤260、根据类型状态标识在数据库数据包中提取查询信息。
具体的,由于数据库数据包之间的类型存在关联,例如,若上一次处理的数据库数据包为查询数据包,那么后续的数据库数据包可以为该查询数据包的响应数据包,可以按照类型状态标识确定对应的提取方式,可以按照确定出的提取方式在数据库数据包中提取查询信息,例如,类型状态标识可以表示上一次处理的数据库数据包为查询数据包,则本次处理可以按照响应数据包的处理方式在数据库数据包中提取查询信息。
步骤270、将查询信息存储到队列以进行查询信息分析。
其中,队列可以为分布式集群的缓存队列,可以通过该队列提高查询信息的分析效率,队列可以为卡夫卡队列。
在本发明实施例中,可以将数据库服务器作为队列的生产者,每当数据库服务器提取到一个查询信息,则将该查询信息发送到队列中存储,队列存储的查询信息可以用于审计分析。
本发明实施例,通过流量镜像采集网络流量并提取该网卡流量中的原始数据包,获取预先存储的组成状态标识,将原始数据包按照序号排序拼接到数据库数据包,选择组成状态标识对应的执行规则处理该数据库数据包,获取预先存储的类型状态标识,按照该类型状态标识在数据库数据包中提取查询信息,并将查询信息存储到用于查询信息分析的队列,根据组成状态标识选择不同的执行规则处理数据库数据包,实现完整数据库数据包的获取,通过前序数据库数据包的类型处理完整数据库数据包,综合考虑不同数据库数据包之间的约束关系,进一步增强数据库数据包的准确性,增强了查询信息采集的准确性,降低了不完整查询信息和错误查询信息对数据库服务器的影响,可增强服务器的稳定性。
实施例三
图3是本发明实施例三提供的另一种查询信息采集方法的流程图,本发明实施例在上述发明实施例的基础上对处理原始数据包的执行规则进行具体化,参见图3,本发明实施例提供的方法具体包括如下步骤:
步骤310、通过流量镜像采集网卡流量,并获取网卡流量中至少一个原始数据包。
步骤320、获取预先存储的组成状态标识,其中,组成状态标识表示原始数据包与前序数据包组合构成的数据库数据包的状态,前序数据包为上一个处理的原始数据包。
步骤330、按照原始数据包的序号排序拼接原始数据包到数据库数据包。
步骤340、若组成状态标识为包头不完整状态,则继续拼接新的原始数据包到数据库数据包,重复上述拼接过程直到数据库数据包的包头完整,并在数据库数据包的包头完整后将组成状态标识变更为负荷不完整状态。
其中,包头不完整状态可以表示数据库数据包的包头不完整。
在本发明实施例中,可以判断组成状态标识是否为包头不完整状态,若是,则确定当前数据库数据包的包头还不完整,可以继续获取新的原始数据包,并将该原始数据包拼接到数据库数据包中,每当一个原始数据包拼接到数据库数据包后,可以对数据库数据包的大小进行判断,当数据库数据包的大小超过设定的包头大小,确定数据库数据包的包头完整,若数据库数据包的大小未超过设定的包头大小,则重复上述拼接过程,直到数据库数据包的包头完整;在数据库数据包的包头完整后,可以将组成状态标识更改为负荷不完整状态。可以理解的是,将原始数据包拼接到数据库数据包的方式可以包括将原始数据包的包头信息和载荷信息分别填充到数据库数据包的包头和载荷中。
步骤350、若组成状态标识为负荷不完整状态,则按照预设过滤规则过滤数据库数据包后继续拼接新的原始数据包到数据库数据包,重复上述拼接过程直到数据库数据包负荷完整,并在数据库数据包负荷完整后将组成状态标识变更为完整状态。
其中,负荷不完整状态可以是表示数据库数据包的载荷不完整的状态。
具体的,可以判断组成状态标识是否为负荷不完整状态,若是,则通过预设的过滤规则对数据库数据包进行过滤,该过滤规则可以通过数据库数据包大小或者数据库数据包中包含的原始数据包的序号进行过滤,该过滤规则的目标可以是清除数据库数据包中不符合要求的原始数据包载荷;在过滤数据库数据包后,可以获取新的原始数据包,并将新的原始数据包拼接到数据库数据包中。重复上述按照过滤规则过滤数据库数据包后拼接新的原始数据包的过程,直到数据库数据包的载荷完整。在数据库数据包的载荷完整后,可以将数据库服务器缓存的组成状态标识更改为完整状态,其中,完整状态可以表示数据库数据包通过原始数据包拼接完整。
进一步的,在上述发明实施例的基础上,按照预设过滤规则过滤所述数据库数据包,包括:若确定所述数据库数据包内拼接的原始数据包的序号不连续,则将所述数据库数据包内拼接的原始数据包丢弃。
在本发明实施例中,在数据库的负荷不完整状态下,可以获取数据库数据包内拼接的所有原始数据包的序号,确定是否存在不连续的序号,若存在,则可以数据库数据包内所有的原始数据包删除,也就是清空整个数据库数据包。
步骤360、若组成状态标识为完整状态,则确定数据库数据包的处理过程完成,并将组成状态标识变更为包头不完整状态。
具体的,可以判断组成状态标识是否为完整状态,若是,则已经将一个或者多个原始数据包处理为数据库数据包,可以将数据库服务器中的组成状态标识重新变更为包头不完整状态继续生成新的数据库数据包。
步骤370、获取预先存储的类型状态标识,其中,类型状态标识表示数据库数据包的前序数据库数据包的类型,前序数据库数据包为上一个处理的数据库数据包。
步骤380、若类型状态标识为未知状态,则在确定数据库数据包的类型为查询时,将类型状态标识变更为查询状态并提取数据库数据包内的查询信息,在确定数据库数据包的类型不为查询时,丢弃数据库数据包。
具体的,可以判断获取到的类型状态标识是否为未知状态,若是,则在数据库数据包的类型为查询时,将类型状态标识变更为查询状态,并获取到数据库数据包载荷中存储的查询信息;在数据库数据包的类型不为查询时,确定数据库数据包与前序数据包不能共同作用,数据库数据包中的查询信息存在错误,可以直接将数据库数据包丢弃,不提取查询信息。
步骤390、若类型状态标识为查询状态,则在确定数据库数据包的类型为正常响应或异常响应时,将类型状态标识变更为未知状态并提取数据库数据包载荷内的查询信息,在确定数据库数据包的类型不为正常响应和异常响应时,丢弃数据库数据包。
在本发明实施例中,可以判断获取到的类型状态标识是否为查询状态,若是,则在数据库数据包的类型为正常响应或者异常响应式,将类型状态标识重新设置为未知状态,并提取数据库数据包载荷中的查询信息;在数据库数据包的类型既不是正常响应也不是异常响应时,可以确定数据库数据包与前序数据库数据包不能共同使用,数据库数据包中的查询信息存在错误,可以直接将数据库数据包丢弃不进行查询信息的提取。
本发明实施例,通过流量镜像采集网卡流量并提取该网卡流量包含的原始数据包,获取预先存储的组成状态标识,将原始数据包按照序号排序拼接到数据库数据包,当组成状态标识为包头不完整状态,则继续拼接新的原始数据包到数据库数据包,直到该数据库数据包的包头完整,在包头完整后将组成状态标识更新为负荷不完整状态,当组成状态标识为负荷不完整状态,则按照预设过滤规则过滤数据库数据包后继续拼接新的原始数据包到数据库数据包,直到数据库数据包的负荷完整,在负荷完整后将组成状态标识更新为完整状态,当组成状态标识为完整状态,确定完成数据库数据包的生成,则将组成状态标识重新设置为包头不完整状态,获取类型状态标识,在类型状态标识为未知状态,确定生成的数据库数据包的类型为查询,则将类型状态标识标记为查询状态,并提取数据库数据包中的查询信息,确定生成的数据库数据包的类型不为查询,则将生成的数据库数据包丢弃,在类型状态标识为查询状态,确定生成的数据库数据包的类型为正常响应或者异常响应,则将类型状态标识标记为未知状态,并提取数据库数据包中的查询信息,确定生成的数据库数据包的类型不为正常响应和异常响应,则将数据库数据包丢弃,本发明实施例通过数据库数据包的类型处理完整数据库数据包,综合考虑不同数据库数据包之间的约束关系,进一步增强数据库数据包的准确性,增强了查询信息采集的准确性,减小了不完整查询信息和错误查询信息,可增强服务器的稳定性。
在一个示例性的实施方式中,图4是本发明实施例三提供的一种查询信息采集方法的示例图,参见图4,本发明实施例提供的方法可以由两种有限状态机组成,分别处理TCP层的数据包和数据库协议层的数据包,当状态生成输出或者处理时添加未知状态作为初始状态,处理过程中如果处理失败,则会自动回退到未知状态重新处理,当状态机有输出时,会根据规则过滤数据,只处理经过过滤后需要的数据,具体步骤如下:1)通过流量镜像采集网卡流量;2)解析得到TCP数据包;3)根据状态机当前状态和新的TCP数据包实现数据包拼接过程,获取到数据库数据包;4)得到的数据库数据包通过预置的规则对数据库数据包进行过滤;5)根据数据库数据包类型和状态机当前状态更新状态值得到SQL查询语句,并通过队列交给下一步处理;6)处理获取到的SQL查询语句。
实施例四
图5是本发明实施例四提供的一种查询信息采集装置的结构示意图,可执行本发明任意实施例所提供的查询信息采集方法,具备执行方法相应的功能模块和有益效果。该装置可以由软件和/或硬件实现,具体包括:流量采集模块401、拼接处理模块402和信息提取模块403.
流量采集模块401,用于通过流量镜像采集网卡流量,并获取所述网卡流量中至少一个原始数据包。
拼接处理模块402,用于根据当前处理的所述原始数据包与前序数据包的组合关联关系处理所述原始数据包以获取数据库数据包。
信息提取模块403,用于按照所述数据库数据包的前序数据库数据包的类型提取所述数据库数据包中的查询信息。
本发明实施例,通过流量采集模块使用流量镜像采集网卡流量并获取网卡流量中的原始数据包,拼接处理模块根据当前处理的原始数据包与前序数据包之间的组合关联关系处理该原始数据包以生成数据库数据包,信息提取模块基于该数据库数据包的上一次被处理的前序数据库数据包的类型提取数据库数据包中的查询信息,通过考虑数据包间的约束关系,丰富查询信息采集的筛选条件,提高查询信息获取的准确性,可以降低数据库服务器中错误查询信息和不完整信息的资源占用,有助于提高服务器运行的稳定性。
进一步的,在上述发明实施例的基础上,所述拼接处理模块402包括:
组合标识单元,用于获取预先存储的组成状态标识,其中,所述组成状态标识表示所述原始数据包与前序数据包组合构成的数据库数据包的状态,前序数据包为上一个处理的原始数据包。
拼接处理单元,用于按照所述原始数据包的序号排序拼接所述原始数据包到所述数据库数据包。
库包处理单元,用于选择所述组成状态标识对应的执行规则处理所述数据库数据包。
进一步的,在上述发明实施例的基础上,所述库包处理单元包括:
包头子处理单元,用于若所述组成状态标识为包头不完整状态,则继续拼接新的原始数据包到所述数据库数据包,重复上述拼接过程直到所述数据库数据包的包头完整,并在所述数据库数据包的包头完整后将所述组成状态标识变更为负荷不完整状态。
负荷子处理单元,用于若所述组成状态标识为负荷不完整状态,则按照预设过滤规则过滤所述数据库数据包后继续拼接新的原始数据包到所述数据库数据包,重复上述拼接过程直到所述数据库数据包负荷完整,并在所述数据库数据包负荷完整后将所述组成状态标识变更为完整状态。
完整子处理单元,用于若所述组成状态标识为完整状态,则确定所述数据库数据包的处理过程完成,并将所述组成状态标识变更为包头不完整状态。
进一步的,在上述发明实施例的基础上,所述负荷子处理单元还包括:
过滤子单元,用于若确定所述数据库数据包内拼接的原始数据包的序号不连续,则将所述数据库数据包内拼接的所述原始数据包丢弃。
进一步的,在上述发明实施例的基础上,所述信息提取模块403包括:
类型标识单元,用于获取预先存储的类型状态标识,其中,所述类型状态标识表示所述数据库数据包的前序数据库数据包的类型,前序数据库数据包为上一个处理的数据库数据包。
查询提取单元,用于根据所述类型状态标识在所述数据库数据包中提取查询信息。
进一步的,在上述发明实施例的基础上,所述查询提取单元包括:
查询子处理单元,用于若所述类型状态标识为未知状态,则在确定所述数据库数据包的类型为查询时,将所述类型状态标识变更为查询状态并提取所述数据库数据包内的查询信息,在确定所述数据库数据包的类型不为查询时,丢弃所述数据库数据包。
响应子处理单元,用于若所述类型状态标识为查询状态,则在确定所述数据库数据包的类型为正常响应或异常响应时,将所述类型状态标识变更为未知状态并提取所述数据库数据包内的查询信息,在确定所述数据库数据包的类型不为正常响应和异常响应时,丢弃所述数据库数据包。
进一步的,在上述发明实施例的基础上,所述装置还包括:
信息存储模块,用于将所述查询信息存储到队列以进行查询信息分析。
实施例五
图6是本发明实施例五提供的一种电子设备的结构示意图,如图6所示,该电子设备包括处理器50、存储器51、输入装置52和输出装置53;电子设备中处理器50的数量可以是一个或多个,图6中以一个处理器50为例;电子设备中的处理器50、存储器51、输入装置52和输出装置53可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的查询信息采集方法对应的程序指令/模块(例如,查询信息采集装置中的流量采集模块401、拼接处理模块402和信息提取模块403)。处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的查询信息采集方法。
存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置52可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置53可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种查询信息采集方法,该方法包括:
通过流量镜像采集网卡流量,并获取所述网卡流量中至少一个原始数据包;
根据当前处理的所述原始数据包与前序数据包的组合关联关系处理所述原始数据包以获取数据库数据包;
按照所述数据库数据包的前序数据库数据包的类型提取所述数据库数据包中的查询信息。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的查询信息采集方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述查询信息采集装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种查询信息采集方法,其特征在于,所述方法包括:
通过流量镜像采集网卡流量,并获取所述网卡流量中至少一个原始数据包;
根据当前处理的所述原始数据包与前序数据包的组合关联关系处理所述原始数据包以获取数据库数据包,包括:获取预先存储的组成状态标识,其中,所述组成状态标识表示所述原始数据包与前序数据包组合构成的数据库数据包的状态,前序数据包为上一个处理的原始数据包;按照所述原始数据包的序号排序拼接所述原始数据包到所述数据库数据包;选择所述组成状态标识对应的执行规则处理所述数据库数据包;
按照所述数据库数据包的前序数据库数据包的类型提取所述数据库数据包中的查询信息;
其中,所述选择所述组成状态标识对应的执行规则处理所述数据库数据包,包括:
若所述组成状态标识为包头不完整状态,则继续拼接新的原始数据包到所述数据库数据包,重复上述拼接过程直到所述数据库数据包的包头完整,并在所述数据库数据包的包头完整后将所述组成状态标识变更为负荷不完整状态;若所述组成状态标识为负荷不完整状态,则按照预设过滤规则过滤所述数据库数据包后继续拼接新的原始数据包到所述数据库数据包,重复上述拼接过程直到所述数据库数据包负荷完整,并在所述数据库数据包负荷完整后将所述组成状态标识变更为完整状态;若所述组成状态标识为完整状态,则确定所述数据库数据包的处理过程完成,并将所述组成状态标识变更为包头不完整状态。
2.根据权利要求1所述的方法,其特征在于,所述按照预设过滤规则过滤所述数据库数据包,包括:
若确定所述数据库数据包内拼接的原始数据包的序号不连续,则将所述数据库数据包内拼接的所述原始数据包丢弃。
3.根据权利要求1所述的方法,其特征在于,所述按照所述数据库数据包的前序数据库数据包的类型提取所述数据库数据包中的查询信息,包括:
获取预先存储的类型状态标识,其中,所述类型状态标识表示所述数据库数据包的前序数据库数据包的类型,前序数据库数据包为上一个处理的数据库数据包;
根据所述类型状态标识在所述数据库数据包中提取查询信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述类型状态标识在所述数据库数据包中提取查询信息,包括:
若所述类型状态标识为未知状态,则在确定所述数据库数据包的类型为查询时,将所述类型状态标识变更为查询状态并提取所述数据库数据包内的查询信息,在确定所述数据库数据包的类型不为查询时,丢弃所述数据库数据包;
若所述类型状态标识为查询状态,则在确定所述数据库数据包的类型为正常响应或异常响应时,将所述类型状态标识变更为未知状态并提取所述数据库数据包内的查询信息,在确定所述数据库数据包的类型不为正常响应和异常响应时,丢弃所述数据库数据包。
5.根据权利要求1-4中任一所述的方法,其特征在于,还包括:
将所述查询信息存储到队列以进行查询信息分析。
6.一种查询信息采集装置,其特征在于,所述装置包括:
流量采集模块,用于通过流量镜像采集网卡流量,并获取所述网卡流量中至少一个原始数据包;
拼接处理模块,用于根据当前处理的所述原始数据包与前序数据包的组合关联关系处理所述原始数据包以获取数据库数据包;所述拼接处理模块包括:组合标识单元,用于获取预先存储的组成状态标识,其中,所述组成状态标识表示所述原始数据包与前序数据包组合构成的数据库数据包的状态,前序数据包为上一个处理的原始数据包;拼接处理单元,用于按照所述原始数据包的序号排序拼接所述原始数据包到所述数据库数据包;库包处理单元,用于选择所述组成状态标识对应的执行规则处理所述数据库数据包;
信息提取模块,用于按照所述数据库数据包的前序数据库数据包的类型提取所述数据库数据包中的查询信息;
其中,所述库包处理单元,包括:包头子处理单元,用于若所述组成状态标识为包头不完整状态,则继续拼接新的原始数据包到所述数据库数据包,重复上述拼接过程直到所述数据库数据包的包头完整,并在所述数据库数据包的包头完整后将所述组成状态标识变更为负荷不完整状态;负荷子处理单元,用于若所述组成状态标识为负荷不完整状态,则按照预设过滤规则过滤所述数据库数据包后继续拼接新的原始数据包到所述数据库数据包,重复上述拼接过程直到所述数据库数据包负荷完整,并在所述数据库数据包负荷完整后将所述组成状态标识变更为完整状态;完整子处理单元,用于若所述组成状态标识为完整状态,则确定所述数据库数据包的处理过程完成,并将所述组成状态标识变更为包头不完整状态。
7.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的查询信息采集方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述的查询信息采集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110139536.1A CN112835934B (zh) | 2021-02-01 | 2021-02-01 | 查询信息采集方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110139536.1A CN112835934B (zh) | 2021-02-01 | 2021-02-01 | 查询信息采集方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112835934A CN112835934A (zh) | 2021-05-25 |
CN112835934B true CN112835934B (zh) | 2024-04-05 |
Family
ID=75931525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110139536.1A Active CN112835934B (zh) | 2021-02-01 | 2021-02-01 | 查询信息采集方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112835934B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604207B (zh) * | 2022-12-12 | 2023-03-10 | 成都数默科技有限公司 | 一种面向会话的网络流量存储及索引方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281213A (zh) * | 2013-04-18 | 2013-09-04 | 西安交通大学 | 一种网络流量内容提取和分析检索方法 |
CN105260378A (zh) * | 2015-09-08 | 2016-01-20 | 上海上讯信息技术股份有限公司 | 数据库审计的方法和设备 |
CN107094308A (zh) * | 2017-05-27 | 2017-08-25 | 努比亚技术有限公司 | 数据包传输系统及方法 |
CN108600049A (zh) * | 2018-04-16 | 2018-09-28 | 苏州云杉世纪网络科技有限公司 | 一种数据中心网络tcp连接的性能测量方法及装置 |
CN108737333A (zh) * | 2017-04-17 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 一种数据检测方法以及装置 |
CN109783518A (zh) * | 2018-12-11 | 2019-05-21 | 深圳市优必选科技有限公司 | 一种信息查询方法、查询装置、存储介质及终端设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160036812A1 (en) * | 2014-07-31 | 2016-02-04 | International Business Machines Corporation | Database Queries Integrity and External Security Mechanisms in Database Forensic Examinations |
US10417441B2 (en) * | 2016-04-29 | 2019-09-17 | International Business Machines Corporation | Effectively validating dynamic database queries through database activity monitoring |
-
2021
- 2021-02-01 CN CN202110139536.1A patent/CN112835934B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281213A (zh) * | 2013-04-18 | 2013-09-04 | 西安交通大学 | 一种网络流量内容提取和分析检索方法 |
CN105260378A (zh) * | 2015-09-08 | 2016-01-20 | 上海上讯信息技术股份有限公司 | 数据库审计的方法和设备 |
CN108737333A (zh) * | 2017-04-17 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 一种数据检测方法以及装置 |
CN107094308A (zh) * | 2017-05-27 | 2017-08-25 | 努比亚技术有限公司 | 数据包传输系统及方法 |
CN108600049A (zh) * | 2018-04-16 | 2018-09-28 | 苏州云杉世纪网络科技有限公司 | 一种数据中心网络tcp连接的性能测量方法及装置 |
CN109783518A (zh) * | 2018-12-11 | 2019-05-21 | 深圳市优必选科技有限公司 | 一种信息查询方法、查询装置、存储介质及终端设备 |
Non-Patent Citations (1)
Title |
---|
一种新型在线数据库审计系统;晏明春等;计算机工程与设计;第1013-1014页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112835934A (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN113420026B (zh) | 数据库表结构变更方法、装置、设备及存储介质 | |
CN111737137B (zh) | 接口测试数据生成方法、装置、主机及存储介质 | |
CN112347501A (zh) | 数据处理方法、装置、设备及存储介质 | |
JP4111881B2 (ja) | データ同期制御装置、データ同期制御方法及びデータ同期制御プログラム | |
CN112835934B (zh) | 查询信息采集方法、装置、电子设备和存储介质 | |
CN112434043A (zh) | 一种数据同步方法、装置、电子设备及介质 | |
CN110134653A (zh) | 一种利用日志辅助数据库审计方法及系统 | |
CN113420032A (zh) | 一种日志的分类存储方法及装置 | |
CN115333966A (zh) | 一种基于拓扑的Nginx日志分析方法、系统及设备 | |
CN113157904B (zh) | 基于dfa算法的敏感词过滤方法及系统 | |
CN107330031B (zh) | 一种数据存储的方法、装置及电子设备 | |
CN114125015A (zh) | 一种数据采集方法及系统 | |
CN114791927A (zh) | 一种数据分析方法和装置 | |
CN110188083B (zh) | 接口信息挖掘方法及装置 | |
CN112506869A (zh) | 文件处理方法、装置及系统 | |
CN109101595B (zh) | 一种信息查询方法、装置、设备及计算机可读存储介质 | |
CN111126965A (zh) | 审核规则优化方法、装置、计算机设备以及存储介质 | |
WO2021129849A1 (zh) | 日志处理方法、装置、设备和存储介质 | |
CN114138786A (zh) | 一种联机交易消息去重方法、装置、介质、产品和设备 | |
CN111061719A (zh) | 数据收集方法、装置、设备和存储介质 | |
CN109981548B (zh) | 一种计费消息的解析方法及装置 | |
CN106469086B (zh) | 事件处理方法和装置 | |
CN115994172B (zh) | 一种业务访问关系确定的方法、装置、设备及介质 | |
CN114115833B (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 | ||
CB02 | Change of applicant information |
Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant after: Jingdong Technology Holding Co.,Ltd. Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant before: Jingdong Digital Technology Holding Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |