CN104933105A - 数据库访问请求的分析方法和装置 - Google Patents
数据库访问请求的分析方法和装置 Download PDFInfo
- Publication number
- CN104933105A CN104933105A CN201510290595.3A CN201510290595A CN104933105A CN 104933105 A CN104933105 A CN 104933105A CN 201510290595 A CN201510290595 A CN 201510290595A CN 104933105 A CN104933105 A CN 104933105A
- Authority
- CN
- China
- Prior art keywords
- access
- request
- key name
- database
- action type
- 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
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/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/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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- 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/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2329—Optimistic concurrency control using versioning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据库访问请求的分析方法和装置。其中数据库访问请求的分析方法该包括:捕捉对目标数据库的访问请求,并确定捕捉到的访问请求的操作类型;判断操作类型是否为预设的待分析操作类型;若是,提取并记录访问请求对应的键名及对应的访问信息。使用本发明的方案,可以实时提供访问请求的键名以及统计数据,分析速度快,尤其适用于Redis数据库,直接反映了数据库被访问的情况,为数据库维护开发人员提供了方便的分析工具。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据库访问请求的分析方法和装置。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的数据处理系统,随着互联网的发展,数据库的应用更加广泛,其性能要求也越来越高。目前数据库系统必须具备较高的事务处理速度和应用可靠性。
由于数据库的重要性,也成为被网络攻击的目标,常见的一种攻击方式为恶意模拟对某一条数据的集中操作,使得数据库数据存储出现异常,无法对外正常提供数据服务或者将无用数据写入数据库占用大量存储空间。但是现有技术中缺乏对访问请求进行分析的手段。特别是对于Redis这类基于内存的数据库,自身提供的监控工具无法满足识别恶意访问的要求,导致数据库的可靠性下降,并占用了大量内存空间。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据库访问请求的分析装置和相应的数据库访问请求的分析方法。
本发明一个进一步的目的是要提供对数据库访问请求的实时分析。
本发明另一个进一步的目的是要便于快速定位访问量异常。
依据本发明的一个方面,提供了一种数据库访问请求的分析方法。数据库访问请求的分析方法该包括:捕捉对目标数据库的访问请求,并确定捕捉到的访问请求的操作类型;判断操作类型是否为预设的待分析操作类型;若是,提取并记录访问请求对应的键名及对应的访问信息。
可选地,确定捕捉到的访问请求的操作类型的步骤包括:将捕捉到的访问请求写入内存,并在内存中对捕捉到的访问请求进行分析,以确定出操作类型。
可选地,记录访问请求对应的键名及对应的访问信息的步骤包括:在内存中预先建立的访问字典中记录提取出的键名和访问信息,访问字典中配置成保存键名以及该键名的访问信息。
可选地,访问信息包括被访问次数,并且在内存中预先建立的访问字典中记录提取出的键名和访问信息步骤包括:查询访问字典中是否存在提取出的键名;若是,在访问字典中提取出的键名的被访问次数上累加一次;若否,在访问字典中新增提取出的键名,并将其被访问次数初始化为一。
可选地,以上方法还包括:在接收到停止分析的触发信号后,停止对访问请求的捕捉。
可选地,在停止对访问请求的捕捉的步骤之后还包括:按照被访问次数对访问字典中记录的键名进行排序,并按照排序结果生成访问请求分析报表。
可选地,停止分析的触发信号包括:捕捉对目标数据库的访问请求的时间达到预设时间后的计时触发信号;或者捕捉对目标数据库的访问请求的次数达到预设次数后的计数触发信号。
可选地,在操作类型不是预设的待分析操作类型的情况下,返回捕捉对目标数据库的访问请求的步骤,以对下一访问请求进行分析,并且操作类型包括以下任意一种或多种:读取数据、写入数据、删除数据。
可选地,捕捉对目标数据库的访问请求的步骤利用位于目标数据库外的外界捕捉器执行。
可选地,目标数据库为Redis数据库。
根据本发明的另一个方面,还提供了一种数据库访问请求的分析装置。该数据库的访问请求的分析装置包括:请求捕捉模块,配置成:捕捉对目标数据库的访问请求;类型分析模块,配置成:确定捕捉到的访问请求的操作类型;判断模块,配置成:判断操作类型是否为预设的待分析操作类型;以及记录模块,配置成:若判断模块的判断结果为是,提取并记录访问请求对应的键名及对应的访问信息。
可选地,类型分析模块还配置成:将捕捉到的访问请求写入内存,并在内存中对捕捉到的访问请求进行分析,以确定出操作类型。
可选地,记录模块还配置成:在内存中预先建立的访问字典中记录提取出的键名和访问信息,访问字典中配置成保存键名以及该键名的访问信息。
可选地,访问信息包括被访问次数,并且记录模块还配置成:查询访问字典中是否存在提取出的键名;若是,在访问字典中提取出的键名的被访问次数上累加一次;若否,在访问字典中新增提取出的键名,并将其被访问次数初始化为一。
可选地,以上装置还包括:分析终止模块,配置成在接收到停止分析的触发信号后,停止对访问请求的捕捉。
可选地,以上装置还包括:报表生成模块,配置成:按照被访问次数对访问字典中记录的键名进行排序,并按照排序结果输出访问请求分析报表。
可选地,停止分析的触发信号包括:捕捉对目标数据库的访问请求的时间达到预设时间后的计时触发信号;或者捕捉对目标数据库的访问请求的次数达到预设次数后的计数触发信号。
可选地,请求捕捉模块还配置成:若判断模块的判断结果为否,返回执行捕捉对目标数据库的访问请求的步骤,以对下一访问请求进行分析,并且操作类型包括以下任意一种或多种:读取数据、写入数据、删除数据。
可选地,请求捕捉模块设置于位于目标数据库外的外界捕捉器上,以利用位于外界捕捉器捕捉对目标数据库的访问请求。
可选地,目标数据库为Redis数据库。
本发明的数据库访问请求的分析方法和装置,可以获取数据库访问请求,并对需要进行分析的类型的访问请求进行分析,可以实时提供访问请求的键名以及统计数据,并且可以根据分析需要选择启动捕捉以及停止捕捉的时机。
进一步地,本发明的数据库访问请求的分析方法和装置,在内存中预先建立的访问字典以记录访问请求的键名以及访问信息,分析速度快,直接反映了数据库的键被访问的情况。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明一个实施例的数据库访问请求的分析装置的应用架构示意图;
图2是根据本发明一个实施例的数据库访问请求的分析装置的示意方框图;
图3是根据本发明另一实施例的数据库访问请求的分析装置的示意方框图;以及
图4是根据本发明一个实施例的数据库访问请求的分析方法的示意图。
具体实施方式
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
图1是根据本发明一个实施例的数据库访问请求的分析装置的应用架构示意图。本实施例的数据库访问请求的分析装置100,利用位于目标数据库200外部的外界捕捉器300获取来自用户400的访问请求,并对这些访问请求进行分析和处理。例如捕捉器300可以使用前置机等手段捕捉用户400向目标数据库200发起的访问请求。捕捉器300不会对数据库400的正常使用和访问带来影响。
本实施例的访问请求的分析装置100,尤其适合于对Redis数据库进行分析,相比于现有的Redis数据库缺乏访问请求的分析手段,可以统计预定时间内各键值被访问的情况,便于维护人员进行处理。
Redis数据库是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、键-值(Key-Value)数据库。Redis支持存储的value数据类型包括字符串(string)、链表(list)、集合(set)、有序集合(sortedset)、散列值(hash)。Redis使用内存存储,读写频率快、性能极高、数据类型丰富,应用范围广泛。
本实施例的访问请求的分析装置100实现了Redis数据库中各键被访问情况的统计,可以按照访问类型进行分类进行统计和分析,并可以自动生成分析报表,方便了数据库维护开发人员使用。
图2是根据本发明一个实施例的数据库访问请求的分析装置100的示意方框图;该数据库访问请求的分析装置100一般性地可包括:请求捕捉模块110、类型分析模块120、判断模块130、记录模块140。
在本实施例的数据库访问请求分析装置100的各部件中,请求捕捉模块110配置成:捕捉对目标数据库200的访问请求。请求捕捉模块110可以利用位于目标数据库外的外界捕捉器300来捕捉对目标数据库200的访问请求。外界捕捉器300的捕捉为实时的,从而可以实现访问请求的实时处理分析。对于Redis数据库而言,访问请求中可以包括访问IP、访问类型、目标键名等。
类型分析模块120可以配置成:确定捕捉到的访问请求的操作类型,为了提高分析效率,本实施例的数据库访问请求分析装置100可以在内存中进行访问请求的分析处理,以提高分析效率。例如类型分析模块120可以将捕捉到的访问请求写入内存,并在内存中对捕捉到的访问请求进行分析,以确定出操作类型。操作类型可以包括以下任意一种或多种:读取数据、写入数据、删除数据。
判断模块130可以配置成:判断操作类型是否为预设的待分析操作类型;待分析的操作类型可以是数据库支持的全部操作类型,也可以是全部操作类型的一部分,例如仅对写入数据的操作进行分析。
记录模块140可以配置成:若判断模块130的判断结果为是,提取并记录访问请求对应的键名和访问信息。这些访问信息可以包括各键的被访问次数,也可以包括操作类型、操作时间、访问IP等。
如若判断模块130的判断结果为当前访问的操作类型不是预设的待分析操作类型,则由请求捕捉模块返回执行捕捉对目标数据库的访问请求的步骤,以对下一访问请求进行分析。
在内存中进行分析时,记录模块140可以在内存中预先建立的访问字典中记录提取出的键名,访问字典中配置成保存键名以及该键名的被访问次数。其中记录模块140在访问字典中记录键名及其访问次数的一种具体流程为:查询访问字典中是否存在提取出的键名;若是,在访问字典中所述提取出的键名的被访问次数上累加一次;若否,在访问字典中新增提取出的键名,并将其被访问次数初始化为一。
图3是根据本发明另一实施例的数据库访问请求的分析装置的示意方框图;在该实施例中可以增加设置分析终止模块150和报表生成模块160中的一个或全部。
分析终止模块150可以配置成:在接收到停止分析的触发信号后,触发捕捉器停止对访问请求的捕捉。停止分析的触发信号包括:捕捉对目标数据库的访问请求的时间达到预设时间后的计时触发信号;或者捕捉对目标数据库的访问请求的次数达到预设次数后的计数触发信号。例如可以统计一段时间中各键值被访问的情况,或者预设统计次数的中各键值被访问的情况。
报表生成模块160可以按照被访问次数对访问字典中记录的键名进行排序,并按照排序结果输出访问请求分析报表。为数据库分析维护人员提供更加清晰明确的结果。例如该访问请求分析报表可以输出在预定时间或者预定访问次数中,被访问量最高的若干个键,以便于识别出这些访问量热门的键是否被恶意访问。
本发明实施例还提供了一种数据库访问请求的分析方法,该数据库访问请求的分析方法可以由以上实施例介绍的任意一种数据库访问请求的分析装置100来执行。图4是根据本发明一个实施例的数据库访问请求的分析方法的示意图,如图所示,该数据库访问请求的分析方法包括以下步骤:
步骤S402,捕捉对目标数据库的访问请求,并确定捕捉到的访问请求的操作类型;
步骤S404,判断操作类型是否为预设的待分析操作类型;以及
步骤S406,若是,提取并记录访问请求对应的键名和访问信息。
如果步骤S404的判断结果为操作类型不是预设的待分析操作类型,则可以返回执行步骤S402,以对下一访问请求进行分析
另外在执行以上步骤的过程中,在接收到停止分析的触发信号后,触发捕捉器停止对访问请求的捕捉。
本实施例的数据库访问请求的分析方法优先适用于Redis数据库,并可以实现Redis数据库中各键被访问情况的统计,可以按照访问类型进行分类进行统计和分析,并可以自动生成分析报表,方便了数据库维护开发人员使用。步骤S402确定的操作类型包括以下任意一种或多种:读取数据、写入数据、删除数据。
步骤S402可以利用位于所述目标数据库外的外界捕捉器执行。并且为了提高分析效率,以上步骤S402至步骤406可以在内存中实现,例如步骤S402将捕捉到的访问请求写入内存,并在内存中对捕捉到的访问请求进行分析,以确定出操作类型。步骤406可以在内存中预先建立的访问字典中记录提取出的键名和访问信息,这些访问信息可以包括各键的被访问次数,也可以包括操作类型、操作时间、访问IP等。
在一种可选实施例中,访问字典中配置成保存键名以及该键名的被访问次数。一种具体的实现方式为查询访问字典中是否存在提取出的键名;若是,在访问字典中提取出的键名的被访问次数上累加一次;若否,在访问字典中新增提取出的键名,并将其被访问次数初始化为一。
其中步骤S404判断操作类型是否为预设的待分析操作类型,预设的待分析操作类型可以是数据库支持的所有操作类型,也可以是预先设定的操作类型。
在停止对访问请求的捕捉之后,本实施例的方法还可以按照被访问次数对访问字典中记录的键名进行排序,并按照排序结果生成访问请求分析报表,以供数据库维护人员快速方便地进一步分析。
停止分析的触发信号可以包括:捕捉对目标数据库的访问请求的时间达到预设时间后的计时触发信号;或者捕捉对目标数据库的访问请求的次数达到预设次数后的计数触发信号。例如如果将计时时间设置为1秒,根据访问字典中的被访问计数就可以得到各键值的访问频率。
以一个Redis数据库的写入数据的访问请求进行分析的实例对本实施例的数据库访问请求的分析方法进行进一步介绍,首先将对Redis数据库的访问请求写入内存,直至接收到停止捕捉的触发信号,对写入内存的访问请求,依次识别是否为写入数据的操作类型,若否,将该条访问请求删除,对下条访问请求进行分析;若是,确定该条访问请求的键名,并在内存中的访问字典中查找该键名,若已存在该键名,则对该键名的被写入次数进行累加。若访问字典中没有该键名,则在访问字典中新建该键名,并将其被写入数据的次数置为一次。
在完成所有访问请求处理的分析后,访问字典就保留了Redis数据库中每个键被访问的数量,从而可以按照访问字典的记录生成访问请求分析报表,该报表的键名可以按照键名的顺序或者被写入数据的次数进行排序。该访问请求分析报表可以提供能数据维护人员,以确定是否存在恶意的操作。
本实施例的数据库访问请求的分析方法和装置,实时获取数据库访问请求,并对需要进行分析的类型的访问请求进行分析,可以实时提供访问请求的键名以及统计数据,并且可以根据分析需要选择启动捕捉以及停止捕捉的时机。并且有在内存中预先建立的访问字典以记录访问请求的键名以及被访问次数,分析速度快,直接反映了数据库的键被访问的情况。为数据库维护开发人员提供了方便的分析工具。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据库访问请求的分析装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
本实施例还提供了A1.一种数据库访问请求的分析方法,包括:
捕捉对目标数据库的访问请求,并确定捕捉到的所述访问请求的操作类型;
判断所述操作类型是否为预设的待分析操作类型;以及
若是,提取并记录所述访问请求对应的键名及对应的访问信息。
A2.根据A1所述的方法,其中,所述确定捕捉到的所述访问请求的操作类型的步骤包括:
将捕捉到的所述访问请求写入内存,并在内存中对捕捉到的所述访问请求进行分析,以确定出所述操作类型。
A3.根据A2所述的方法,其中,所述记录所述访问请求对应的键名及对应的访问信息的步骤包括:
在所述内存中预先建立的访问字典中记录提取出的键名和访问信息,所述访问字典中配置成保存键名以及该键名的访问信息。
A4.根据A3所述的方法,其中,所述访问信息包括被访问次数,并且所述在所述内存中预先建立的访问字典中记录提取出的键名和访问信息步骤包括:
查询所述访问字典中是否存在所述提取出的键名;
若是,在所述访问字典中所述提取出的键名的被访问次数上累加一次;
若否,在所述访问字典中新增所述提取出的键名,并将其被访问次数初始化为1。
A5.根据A1至A4中任一项所述的方法,其中,所述方法还包括:
在接收到停止分析的触发信号后,停止对所述访问请求的捕捉。
A6.根据A5所述的方法,其中在所述停止对所述访问请求的捕捉的步骤之后还包括:
按照所述被访问次数对所述访问字典中记录的键名进行排序,并按照排序结果生成访问请求分析报表。
A7.根据A5所述的方法,其中所述停止分析的触发信号包括:
所述捕捉对目标数据库的访问请求的时间达到预设时间后的计时触发信号;或者
所述捕捉对目标数据库的访问请求的次数达到预设次数后的计数触发信号。
A8.根据A1至A7中任一项所述的方法,其中
在所述操作类型不是预设的待分析操作类型的情况下,返回所述捕捉对目标数据库的访问请求的步骤,以对下一访问请求进行分析,并且所述操作类型包括以下任意一种或多种:读取数据、写入数据、删除数据。
A9.根据A1至A8中任一项所述的方法,其中所述捕捉对目标数据库的访问请求的步骤利用位于所述目标数据库外的外界捕捉器执行。
A10.根据A1至A9中任一项所述的方法,其中
所述目标数据库为Redis数据库。
本实施例还提供了B11.一种数据库访问请求的分析装置,包括:
请求捕捉模块,配置成:捕捉对目标数据库的访问请求;
类型分析模块,配置成:确定捕捉到的所述访问请求的操作类型;
判断模块,配置成:判断所述操作类型是否为预设的待分析操作类型;以及
记录模块,配置成:若所述判断模块的判断结果为是,提取并记录所述访问请求对应的键名及对应的访问信息。
B12.根据B11所述的装置,其中所述类型分析模块还配置成:
将捕捉到的所述访问请求写入内存,并在内存中对捕捉到的所述访问请求进行分析,以确定出所述操作类型。
B13.根据B12所述的装置,其中所述记录模块还配置成:
在所述内存中预先建立的访问字典中记录提取出的键名和访问信息,所述访问字典中配置成保存键名以及该键名的访问信息。
B14.根据B13所述的装置,其中所述访问信息包括被访问次数,并且所述记录模块还配置成:
查询所述访问字典中是否存在提取出的键名;
若是,在所述访问字典中所述提取出的键名的被访问次数上累加一次;
若否,在所述访问字典中新增所述提取出的键名,并将其被访问次数初始化为1。
B15.根据B11至B14中任一项所述的装置,还包括:
分析终止模块,配置成在接收到停止分析的触发信号后,停止对所述访问请求的捕捉。
B16.根据B15所述的装置,还包括:
报表生成模块,配置成:按照所述被访问次数对所述访问字典中记录的键名进行排序,并按照排序结果输出访问请求分析报表。
B17.根据B15所述的装置,其中所述停止分析的触发信号包括:
所述捕捉对目标数据库的访问请求的时间达到预设时间后的计时触发信号;或者
所述捕捉对目标数据库的访问请求的次数达到预设次数后的计数触发信号。
B18.根据B11至B17中任一项所述的装置,其中所述请求捕捉模块,还配置成:
若所述判断模块的判断结果为否,返回执行所述请求捕捉模块捕捉对目标数据库的访问请求的步骤,以对下一访问请求进行分析,并且所述操作类型包括以下任意一种或多种:读取数据、写入数据、删除数据。
B19.根据B11至B18中任一项所述的装置,其中,所述请求捕捉模块设置于位于所述目标数据库外的外界捕捉器上,以利用位于所述外界捕捉器捕捉对目标数据库的访问请求。
B20.根据B11至B19中任一项所述的装置,其中
所述目标数据库为Redis数据库。
Claims (10)
1.一种数据库访问请求的分析方法,包括:
捕捉对目标数据库的访问请求,并确定捕捉到的所述访问请求的操作类型;
判断所述操作类型是否为预设的待分析操作类型;以及
若是,提取并记录所述访问请求对应的键名及对应的访问信息。
2.根据权利要求1所述的方法,其中,所述确定捕捉到的所述访问请求的操作类型的步骤包括:
将捕捉到的所述访问请求写入内存,并在内存中对捕捉到的所述访问请求进行分析,以确定出所述操作类型。
3.根据权利要求2所述的方法,其中,所述记录所述访问请求对应的键名及对应的访问信息的步骤包括:
在所述内存中预先建立的访问字典中记录提取出的键名和访问信息,所述访问字典中配置成保存键名以及该键名的访问信息。
4.根据权利要求3所述的方法,其中,所述访问信息包括被访问次数,并且所述在所述内存中预先建立的访问字典中记录提取出的键名和访问信息步骤包括:
查询所述访问字典中是否存在所述提取出的键名;
若是,在所述访问字典中所述提取出的键名的被访问次数上累加一次;
若否,在所述访问字典中新增所述提取出的键名,并将其被访问次数初始化为1。
5.根据权利要求1至4中任一项所述的方法,其中,所述方法还包括:
在接收到停止分析的触发信号后,停止对所述访问请求的捕捉。
6.根据权利要求5所述的方法,其中在所述停止对所述访问请求的捕捉的步骤之后还包括:
按照所述被访问次数对所述访问字典中记录的键名进行排序,并按照排序结果生成访问请求分析报表。
7.根据权利要求5所述的方法,其中所述停止分析的触发信号包括:
所述捕捉对目标数据库的访问请求的时间达到预设时间后的计时触发信号;或者
所述捕捉对目标数据库的访问请求的次数达到预设次数后的计数触发信号。
8.根据权利要求1至7中任一项所述的方法,其中
在所述操作类型不是预设的待分析操作类型的情况下,返回所述捕捉对目标数据库的访问请求的步骤,以对下一访问请求进行分析,并且所述操作类型包括以下任意一种或多种:读取数据、写入数据、删除数据。
9.一种数据库访问请求的分析装置,包括:
请求捕捉模块,配置成:捕捉对目标数据库的访问请求;
类型分析模块,配置成:确定捕捉到的所述访问请求的操作类型;
判断模块,配置成:判断所述操作类型是否为预设的待分析操作类型;以及
记录模块,配置成:若所述判断模块的判断结果为是,提取并记录所述访问请求对应的键名及对应的访问信息。
10.根据权利要求9所述的装置,其中所述类型分析模块还配置成:
将捕捉到的所述访问请求写入内存,并在内存中对捕捉到的所述访问请求进行分析,以确定出所述操作类型。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510290595.3A CN104933105B (zh) | 2015-05-29 | 2015-05-29 | 数据库访问请求的分析方法和装置 |
CN201811614090.8A CN109766327A (zh) | 2015-05-29 | 2015-05-29 | 数据库访问请求的分析方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510290595.3A CN104933105B (zh) | 2015-05-29 | 2015-05-29 | 数据库访问请求的分析方法和装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811614090.8A Division CN109766327A (zh) | 2015-05-29 | 2015-05-29 | 数据库访问请求的分析方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104933105A true CN104933105A (zh) | 2015-09-23 |
CN104933105B CN104933105B (zh) | 2019-02-12 |
Family
ID=54120273
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811614090.8A Pending CN109766327A (zh) | 2015-05-29 | 2015-05-29 | 数据库访问请求的分析方法和装置 |
CN201510290595.3A Active CN104933105B (zh) | 2015-05-29 | 2015-05-29 | 数据库访问请求的分析方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811614090.8A Pending CN109766327A (zh) | 2015-05-29 | 2015-05-29 | 数据库访问请求的分析方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN109766327A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547664A (zh) * | 2016-11-04 | 2017-03-29 | 北京车智赢软件有限公司 | C#版Redis系统监控工具 |
CN106921536A (zh) * | 2015-12-25 | 2017-07-04 | 北京奇虎科技有限公司 | 基于客户端版本信息的数据处理方法及装置 |
CN108540533A (zh) * | 2018-03-14 | 2018-09-14 | 聚好看科技股份有限公司 | 一种应答请求的方法和装置 |
CN108681588A (zh) * | 2018-05-14 | 2018-10-19 | 北京明朝万达科技股份有限公司 | 一种接口访问实时统计方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020062223A1 (en) * | 2000-11-21 | 2002-05-23 | Netiq Corporation | System and method for adding network traffic data to a database of network traffic data |
CN102148870A (zh) * | 2011-03-07 | 2011-08-10 | 浪潮(北京)电子信息产业有限公司 | 一种云存储系统及其实现方法 |
CN103345518A (zh) * | 2013-07-11 | 2013-10-09 | 清华大学 | 基于数据块的自适应数据存储管理方法及系统 |
CN104090938A (zh) * | 2014-06-26 | 2014-10-08 | 广州金山网络科技有限公司 | 一种提交数据的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4037214A (en) * | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key register controlled accessing system |
WO2010116735A1 (ja) * | 2009-04-10 | 2010-10-14 | パナソニック株式会社 | キャッシュメモリ装置、キャッシュメモリ制御方法、プログラムおよび集積回路 |
CN103780692B (zh) * | 2014-01-13 | 2017-01-11 | 中国科学院计算技术研究所 | 一种键值存储的数据访问方法及其系统 |
CN104361035B (zh) * | 2014-10-27 | 2017-10-27 | 深信服网络科技(深圳)有限公司 | 检测数据库篡改行为的方法及装置 |
-
2015
- 2015-05-29 CN CN201811614090.8A patent/CN109766327A/zh active Pending
- 2015-05-29 CN CN201510290595.3A patent/CN104933105B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020062223A1 (en) * | 2000-11-21 | 2002-05-23 | Netiq Corporation | System and method for adding network traffic data to a database of network traffic data |
CN102148870A (zh) * | 2011-03-07 | 2011-08-10 | 浪潮(北京)电子信息产业有限公司 | 一种云存储系统及其实现方法 |
CN103345518A (zh) * | 2013-07-11 | 2013-10-09 | 清华大学 | 基于数据块的自适应数据存储管理方法及系统 |
CN104090938A (zh) * | 2014-06-26 | 2014-10-08 | 广州金山网络科技有限公司 | 一种提交数据的方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106921536A (zh) * | 2015-12-25 | 2017-07-04 | 北京奇虎科技有限公司 | 基于客户端版本信息的数据处理方法及装置 |
CN106547664A (zh) * | 2016-11-04 | 2017-03-29 | 北京车智赢软件有限公司 | C#版Redis系统监控工具 |
CN108540533A (zh) * | 2018-03-14 | 2018-09-14 | 聚好看科技股份有限公司 | 一种应答请求的方法和装置 |
CN108540533B (zh) * | 2018-03-14 | 2021-01-22 | 聚好看科技股份有限公司 | 一种应答请求的方法和装置 |
CN108681588A (zh) * | 2018-05-14 | 2018-10-19 | 北京明朝万达科技股份有限公司 | 一种接口访问实时统计方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109766327A (zh) | 2019-05-17 |
CN104933105B (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107800591A (zh) | 一种统一日志数据的分析方法 | |
CN105389352A (zh) | 日志处理方法和装置 | |
CN103559185B (zh) | 试验数据文档解析入库方法 | |
CN104933105A (zh) | 数据库访问请求的分析方法和装置 | |
CN106126551A (zh) | 一种Hbase数据库访问日志的生成方法、装置及系统 | |
US6205576B1 (en) | Method and apparatus for identifying indirect messaging relationships between software entities | |
CN104679884B (zh) | 数据库的数据分析方法、装置以及系统 | |
US20190354622A1 (en) | Automatic database query load assessment and adaptive handling | |
CN104935601A (zh) | 基于云的网站日志安全分析方法、装置及系统 | |
US20090132607A1 (en) | Techniques for log file processing | |
CN104866597A (zh) | 数据库访问请求的分析方法和装置 | |
CN104933096A (zh) | 数据库的异常键识别方法、装置与数据系统 | |
CN111782589B (zh) | 一种用于操作历史重现的数据模型的构建方法及系统 | |
US11308130B1 (en) | Constructing ground truth when classifying data | |
EP3260997A1 (en) | Method and system for enforcing user policy on database records | |
CN109918077A (zh) | 代码管理方法、装置、计算机设备和存储介质 | |
CN108140047B (zh) | 数据处理装置和方法以及数据容器结构 | |
CN115640158A (zh) | 一种基于数据库的检测分析方法及装置 | |
CN112365248B (zh) | 一种分析数字货币交易路径的方法及系统 | |
CN109032940A (zh) | 一种测试场景录入方法、装置、设备及存储介质 | |
Stockinger | Design and implementation of bitmap indices for scientific data | |
CN105608202A (zh) | 数据包分析方法及装置 | |
CN112364007B (zh) | 基于数据库的海量数据交换方法、装置、设备和存储介质 | |
CN115632877B (zh) | 一种大规模pcap数据正确性验证方法、系统及存储介质 | |
CN112488562B (zh) | 一种业务实现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220725 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |