CN114398343A - 数据库异常键处理方法、装置、设备及介质 - Google Patents

数据库异常键处理方法、装置、设备及介质 Download PDF

Info

Publication number
CN114398343A
CN114398343A CN202210030280.5A CN202210030280A CN114398343A CN 114398343 A CN114398343 A CN 114398343A CN 202210030280 A CN202210030280 A CN 202210030280A CN 114398343 A CN114398343 A CN 114398343A
Authority
CN
China
Prior art keywords
key
abnormal
database
access
keys
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
CN202210030280.5A
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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202210030280.5A priority Critical patent/CN114398343A/zh
Publication of CN114398343A publication Critical patent/CN114398343A/zh
Pending legal-status Critical Current

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/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及数据处理技术领域,公开了一种异常键处理方法、装置、设备及介质,所述方法包括:解析数据库的客户端向所述数据库的服务端发送的访问请求,得到所述数据库中各个键的访问记录以及键值大小;根据所述各个键的访问记录以及键值大小,得到所述各个键在单位时间内的特征数据;根据所述各个键的特征数据,识别异常键,并对访问所述异常键的所述数据库的第一客户端进行异常预警;更新所述异常键的特征数据,并根据所述异常键的更新后特征数据,确定所述异常键是否转化为正常键,若所述异常键转化为正常键,则解除对所述第一客户端的异常预警。本申请对访问异常键的客户端进行预警,及时识别和处理数据库中的异常键。

Description

数据库异常键处理方法、装置、设备及介质
技术领域
本申请涉及数据处理技术领域,特别地,涉及一种数据库异常键处理方法、装置、设备及介质。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的数据处理系统,数据库系统必须具备较高的事务处理速度和应用可靠性。
Redis是一款性能极高的开源key-value型数据库,可基于内存也可支持持久化,被越来越多的企业用作缓存中间件,在应用服务中占据着非常重要的作用。Redis在大规模、大并发使用的过程中,存在热点Key、大Key问题。例如,单个的key存储的value很大,那么单次操作大数据量的value会对整个redis的响应时间造成负面影响;或者某一热点Key的请求在某一服务器超过该服务器网卡上限时,由于流量的过度集中,会导致服务器中其它服务无法进行。
因此,需要及时识别和处理数据库中的热点Key、大Key等异常键。
发明内容
本申请的目的在于提供一种数据库异常键处理方法、装置、设备及介质,通过各个键在单位时间内的特征数据识别异常键,并对访问异常键的客户端进行预警,及时识别和处理数据库中的异常键。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种数据库异常键处理方法,所述方法包括:
解析数据库的客户端向所述数据库的服务端发送的访问请求,得到所述数据库中各个键的访问记录以及键值大小;
根据所述各个键的访问记录以及键值大小,得到所述各个键在单位时间内的特征数据;
根据所述各个键的特征数据,识别异常键,并对访问所述异常键的所述数据库的第一客户端进行异常预警;
更新所述异常键的特征数据,并根据所述异常键的更新后特征数据,确定所述异常键是否转化为正常键,若所述异常键转化为正常键,则解除对所述第一客户端的异常预警。
在本申请的一些实施例中,基于上述方案,所述各个键的特征数据包括所述各个键的单位时间访问量、单位时间访问增长率以及键值的大小;
所述根据所述各个键的访问记录以及键值大小,得到所述各个键的特征数据,包括:
根据所述各个键的访问记录,得到所述各个键的单位时间访问量和单位时间访问增长率。
在本申请的一些实施例中,基于上述方案,所述根据所述各个键的特征数据,识别异常键,包括:
根据所述各个键的单位时间访问量以及访问量与异常概率的映射关系,确定所述各个键的第一异常概率;
根据所述各个键的单位时间访问增长率以及访问增长率与异常概率的映射关系,确定所述各个键的第二异常概率;
根据所述各个键的键值大小以及键值大小与异常概率的映射关系,确定所述各个键的第三异常概率;
结合所述各个键的第一异常概率、第二异常概率及第三异常概率,确定所述各个键的异常概率;
将所述异常概率大于或等于预设阈值的键,确定为所述异常键。
在本申请的一些实施例中,基于上述方案,所述根据所述各个键的特征数据,识别异常键,包括:
构建神经网络模型;
将历史观测的所述数据库中各个键的所述特征数据作为训练样本,训练所述神经网络模型;
将所述各个键的特征数据输入训练完成后的神经网络模型,得到所述各个键的异常概率。
在本申请的一些实施例中,基于上述方案,所述更新所述异常键的特征数据,并根据所述异常键的更新后特征数据,确定所述异常键是否转化为正常键,包括:
实时更新所述异常键的特征数据和所述异常键的异常概率;
若所述异常键的更新后异常概率在预设时长内均小于所述预设阈值,则确定所述异常键转化为正常键。
在本申请的一些实施例中,基于上述方案,,所述解析向数据库服务端发送的访问请求,得到所述数据库中各个键的访问记录以及键值大小,包括:
将解析得到的各个键的访问记录以及键值大小上传至消息队列;
监听所述消息队列,并将所述消息队列中所述各个键的访问记录以及键值大小存储在搜索服务器中;
查询所述搜索服务器,得到所述各个键的访问记录以及键值大小。
在本申请的一些实施例中,基于上述方案,所述方法还包括:
将所述异常键存储在访问所述异常键的客户端对应的主机;
若所述异常键转化为正常键,则将所述异常键从所述第一客户端对应的主机中移除。
根据本申请实施例的第二方面,提供了一种数据库异常键处理装置,所述装置包括:
数据收集单元,用于解析数据库的客户端向所述数据库的服务端发送的访问请求,得到所述数据库中各个键的访问记录以及键值大小;
数据分析单元,用于根据所述各个键的访问记录以及键值大小,得到所述各个键在单位时间内的特征数据;
异常键识别单元,根据所述各个键的特征数据,识别异常键;
预警单元,用于对访问所述异常键的所述数据库的客户端进行异常预警;
所述预警单元还用于更新所述异常键的特征数据,并根据所述异常键的更新后特征数据,确定所述异常键是否转化为正常键,若所述异常键转化为正常键,则解除对所述客户端的异常预警。
根据本申请实施例的第三方面,提供了一种计算机设备,所述计算机设备包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述计算机设备执行时,实现如上述第一方面所述的方法。
根据本申请实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被电子设备执行时实现如上述第一方面所述的方法。
本申请实施例通过解析客户端和服务端之间的访问请求,进一步根据各个键在单位时间内的特征数据识别异常键,并对访问异常键的客户端进行预警,及时识别和处理数据库中的异常键。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例性实施例,本申请的上述和其它特征及优点将变得更加明显。
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
图2示出了根据本申请一个实施例的一种数据库异常键处理方法的流程示意图。
图3示出了可以应用本申请实施例的技术方案的示例性另一种系统架构的示意图。
图4示出了根据本申请一个实施例的另一种数据库异常键处理方法的流程示意图。
图5示出了根据本申请一个实施例的一种数据库异常键处理装置的结构示意图。
图6示出了可以应用本申请实施例的技术方案的示例性又一种系统架构的示意图。
图7示出了根据本申请一个实施例的用于实现上述方法的程序产品示意图。
图8示出了根据本申请一个实施例的电子设备的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
还需要注意的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的对象在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在图示或描述的那些以外的顺序实施。
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构可以包括多个客户端110、与客户端110连接的服务端120以及与客户端110连接的数据管理平台130。在本申请的一个实施例中数据库异常键处理方法执行于数据管理平台。
还需要说明的是,图1中的客户端、和服务端的数目仅仅是示意性的。根据实现需要,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此,本申请在此不做限制。
需要解释的是,如上的云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展。通过建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
本申请实施例的数据库异常键处理方法适用于Redis数据库,Redis数据库是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、键-值(Key-Value)数据库。Redis支持存储的value数据类型包括字符串(string)、链表(list)、集合(set)、有序集合(sorted set)、散列值(hash)。Redis使用内存存储,读写频率快、性能极高、数据类型丰富,应用范围广泛。
图2示出了根据本申请一个实施例的一种数据库异常键处理方法的流程示意图,如图2所示,该方法至少包括以下步骤。步骤210:解析数据库的客户端向数据库的服务端发送的访问请求,得到数据库中各个键的访问记录以及键值大小。
由于直接获取数据库各键值的数据或数据占用的内存的大小,需要花费大量的硬件资源和时间。例如,如果对于成员数量巨大的链表键值,如果直接扫描服务端获取数据,有可能直接导致数据库崩溃。因此提高数据分析效率,在本申请实施例中可以通过解析Redis的多个客户端和服务端之间使用的RESP协议(Redis Serilization Protocol)获取key-value数据,通过解析RESP协议,可以得到Redis的客户端访问Redis的服务端的键的键名(key)、键值(value)大小以及时间,减轻负担数据库服务端扫描压力。
步骤220:根据各个键的访问记录以及键值大小,得到各个键在单位时间内的特征数据。
本申请通过观测各个键的访问情况和键值大小,并各个键在单位时间内的特征数据判断哪些键时大键或者热键。
步骤230:根据各个键的特征数据,识别异常键,并对访问异常键的数据库的客户端进行异常预警。
步骤240:更新异常键的特征数据,并根据异常键的更新后特征数据,确定异常键是否转化为正常键,若异常键转化为正常键,则解除对客户端的异常预警。
异常键为热键或者大键,本申请及时通知数据库客户端对异常键进行处理,例如将热键存储在其对应的本地内存或者硬盘,或者对大键进行拆分;将异常键存储在本地可以避免频繁与redis服务端的远程交互,加快响应,减少网络耗时。同时,本申请还可以发送预警至数据系统的维护人员对此大键进行拆分整改,避免大键对系统性能造成更大的影响。
相应的,如果异常键转化为正常键,数据库客户端可以从数据库服务端获取数据,不再需要在本地内存或者磁盘缓存,将异常键从本地内存或者磁盘缓存中移除,为其它更有需要的key挪出空间,减轻本地存储负担。
本申请实施例通过解析客户端和服务端之间的访问请求,进一步根据各个键在单位时间内的特征数据识别异常键,并对访问异常键的客户端进行预警,及时识别和处理数据库中的异常键。
在本申请的一些实施例中,基于上述方案,各个键的特征数据可以包括各个键的单位时间访问量、单位时间访问增长率以及键值的大小;
相应的,根据各个键的访问记录以及键值大小,得到各个键的特征数据,包括:
根据各个键的访问记录,得到各个键的单位时间访问量和单位时间访问增长率。
各个键的访问量以及访问增长率可以反映该键是否是热点键。本申请综合考虑各个键的访问情况和键值大小,来识别异常键。例如当某个键访问量短时间内访问量大并且有较强的增长趋势,且键值较大,则确定该键为异常键。
在本申请的一些实施例中,基于上述方案,根据各个键的特征数据,识别异常键,包括:
根据各个键的单位时间访问量以及访问量与异常概率的映射关系,确定各个键的第一异常概率;
根据各个键的单位时间访问增长率以及访问增长率与异常概率的映射关系,确定各个键的第二异常概率;
根据各个键的键值大小以及键值大小与异常概率的映射关系,确定各个键的第三异常概率;
结合各个键的第一异常概率、第二异常概率及第三异常概率,确定各个键的异常概率;
将异常概率大于或等于预设阈值的键识别为异常键。
例如下表体现了各个键的特征数据的与异常概率的映射关系,如果某个Key的异常概率值超过预设阈值,则可以确定该Key为异常键。
在具体实施中,可以对三个异常概率加权求和后得到各个键的异常概率。同时可以基于大数据的算法,根据历史观测数据中键的特征数据以及键是否是异常键的关系,确定三个维度的特征数据与异常概率的映射关系。
例如可以通过下表的单位时间访问量、单位时间访问增长率、以及键值大小分别与异常概率映射关系表,确定异常概率。
Figure BDA0003465959400000081
Figure BDA0003465959400000091
在本申请的一些实施例中,基于上述方案,根据各个键的特征数据,识别异常键,包括:
构建神经网络模型;
将历史观测的数据库中各个键的特征数据作为训练样本,训练神经网络模型;
将各个键的特征数据输入训练完成后的神经网络模型,得到各个键的异常概率。
在具体实施中,也可以构建神经网路模型,其输入参数为键的特征数据,其输出参数为该键的异常概率。将历史观测的键的特征数据以及其对应的标签(异常或正常)作为训练样本,对神经网络模型进行有监督的训练,直到神经网络模型收敛,得到训练完成的神经网络模型。
在本申请的一些实施例中,基于上述方案,更新异常键的特征数据,并根据异常键的更新后特征数据,确定异常键是否转化为正常键,包括:
实时更新异常键的特征数据和异常键的异常概率;
若异常键的更新后异常概率在预设时长内均小于预设阈值,则确定异常键转化为正常键。
例如,如果某个键的异常概率连续在1个小时内低于预警值,则通知相应的Redis客户端将此键进行预警解除。本申请不是在异常键的异常概率降低后立即将其判定为正常键,而是继续观测一段时间,避免该异常键的异常概率短暂变化引起误判,异常键的异常概率维持一段时间的正常后证明其键值大小和访问量较为稳定,可以判定为正常键。
图3示出了可以应用本申请实施例的技术方案的示例性另一种系统架构的示意图。如图3所示,该系统包括多个客户端310、服务端320以及数据管理平台330、消息队列340以及搜索服务器350。
基于如图3所示的系统架构,解析向数据库服务端发送的访问请求,得到数据库中各个键的访问记录以及键值大小,包括:
将解析得到的各个键的访问记录以及键值大小上传至消息队列;
监听消息队列,并将消息队列中各个键的访问记录以及键值大小存储在搜索服务器中;
查询搜索服务器,得到各个键的访问记录以及键值大小。
多个数据库的客户端向服务端发送访问请求的情况下,可以通过消息队列收集从不同客户端解析得到的键的相关数据。在具体实施中,将解析客户端访问请求的方法封装为第一SDK,并将第一SDK部署在客户端中,将识别异常键的方法封装为第二SDK,第二SDK部署在独立的数据管理平台,在客户端和数据管理平台之间采用KAFKA、RocketMQ等消息队列,当客户端中发生数据访问请求时,第一SDK解析访问请求中键的相关数据,并发送至消息队列,数据管理平台可以订阅消息队列,减轻多个客户端和数据管理平台的直接交互压力。
又由于获取的键的相关数据的数据量较大,因此数据管理平台可以利用搜索服务器存储这些数据。在具体实施中,搜索服务器可以采用ElasticSearch,Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。识别异常键的第二SDK可以通过RESTful web接口查询键的相关数据。
图4示出了根据本申请一个实施例的另一种数据库异常键处理方法的流程示意图,如图4所示,该方法至少包括以下步骤。
步骤410-440与步骤210-240可以采用类似的方法,在此不再赘述。
步骤450:将异常键存储在访问异常键的客户端对应的主机。
若异常键的键值大小在主机内存可缓存大小范围内,则将该异常键存储在主机的内存,可以避免频繁与redis服务端的远程交互,加快响应,减少网络耗时;若异常键的键值大小在主机内存可缓存大小范围外,则将该异常键存储于主机的磁盘中,则存储于本地磁盘中,也可在一定程度上加快响应,减少网络耗时。
步骤460:若异常键转化为正常键,则将异常键从第一客户端对应的主机中移除。
若异常键转化为正常键,则不再需要在本地内存或者磁盘缓存该异常键,可以将异常键从本地移除,为其它更需要本地存储的键挪出存储空间。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的数据库异常键处理方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的数据库异常键处理方法的实施例。
图5示出了根据本申请一个实施例的一种数据库异常键处理装置的结构示意图,如图5所示,该装置至少包括以下部分。
数据收集单元510,用于解析数据库的客户端向数据库的服务端发送的访问请求,得到数据库中各个键的访问记录以及键值大小。
数据分析单元520,用于根据各个键的访问记录以及键值大小,得到各个键在单位时间内的特征数据。
异常键识别单元530,用于根据各个键的特征数据,识别异常键。
预警单元540,用于对访问异常键的数据库的第一客户端进行异常预警。
预警单元540还用于更新异常键的特征数据,并根据异常键的更新后特征数据,确定异常键是否转化为正常键,若异常键转化为正常键,则解除对第一客户端的异常预警。
需要说明的是,数据收集单元510可以封装为客户端监控SDK包,该SDK包方便各客户端中应用服务的接入,各应用服务集成该SDK即可在不修改原代码的情况下,无侵入快速实现访问请求监听解析以及异常键的处理。
本申请实施例通过解析客户端和服务端之间的访问请求,进一步根据各个键在单位时间内的特征数据识别异常键,并对访问异常键的客户端进行预警,及时识别和处理数据库中的异常键。
图6示出了可以应用本申请实施例的技术方案的示例性又一种系统架构的示意图。如图6所示,该系统包括多个客户端610、服务端620以及数据管理平台630、消息队列640以及搜索服务器650。
客户端中应用服务集成客户端监控SDK包611,客户端监控SDK包包括数据收集单元6111;数据管理平台630包括数据分析单元631、异常键识别单元632以及预警单元633。
应当注意,尽管在上文详细描述中提及了数据库异常键处理方法以及数据库异常键处理装置的若干单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
作为另一方面,本申请还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本申请的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
参考图7所示,描述了根据本申请的实施方式的用于实现上述方法的程序产品700,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
作为另一方面,本申请还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图8来描述根据本申请的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“实施例方法”部分中描述的根据本申请各种示例性实施方式的步骤。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)821和/或高速缓存存储单元822,还可以进一步包括只读存储单元(ROM)823。
存储单元820还可以包括具有一组(至少一个)程序模块825的程序/实用工具824,这样的程序模块825包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。
此外,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种数据库异常键处理方法,其特征在于,所述方法包括:
解析数据库的客户端向所述数据库的服务端发送的访问请求,得到所述数据库中各个键的访问记录以及键值大小;
根据所述各个键的访问记录以及键值大小,得到所述各个键在单位时间内的特征数据;
根据所述各个键的特征数据,识别异常键,并对访问所述异常键的所述数据库的第一客户端进行异常预警;
更新所述异常键的特征数据,并根据所述异常键的更新后特征数据,确定所述异常键是否转化为正常键,若所述异常键转化为正常键,则解除对所述第一客户端的异常预警。
2.根据权利要求1所述的数据库异常键处理方法,其特征在于,所述各个键的特征数据包括所述各个键的单位时间访问量、单位时间访问增长率以及键值的大小;
所述根据所述各个键的访问记录以及键值大小,得到所述各个键的特征数据,包括:
根据所述各个键的访问记录,得到所述各个键的单位时间访问量和单位时间访问增长率。
3.根据权利要求2所述的数据库异常键处理方法,其特征在于,所述根据所述各个键的特征数据,识别异常键,包括:
根据所述各个键的单位时间访问量以及访问量与异常概率的映射关系,确定所述各个键的第一异常概率;
根据所述各个键的单位时间访问增长率以及访问增长率与异常概率的映射关系,确定所述各个键的第二异常概率;
根据所述各个键的键值大小以及键值大小与异常概率的映射关系,确定所述各个键的第三异常概率;
结合所述各个键的第一异常概率、第二异常概率及第三异常概率,确定所述各个键的异常概率;
将所述异常概率大于或等于预设阈值的键,确定为所述异常键。
4.根据权利要求2所述的数据库异常键处理方法,其特征在于,所述根据所述各个键的特征数据,识别异常键,包括:
构建神经网络模型;
将历史观测的所述数据库中各个键的所述特征数据作为训练样本,训练所述神经网络模型;
将所述各个键的特征数据输入训练完成后的神经网络模型,得到所述各个键的异常概率。
5.根据权利要求3或4所述的数据库异常键处理方法,其特征在于,所述更新所述异常键的特征数据,并根据所述异常键的更新后特征数据,确定所述异常键是否转化为正常键,包括:
实时更新所述异常键的特征数据和所述异常键的异常概率;
若所述异常键的更新后异常概率在预设时长内均小于所述预设阈值,则确定所述异常键转化为正常键。
6.根据权利要求1所述的数据库异常键处理方法,其特征在于,所述解析向数据库服务端发送的访问请求,得到所述数据库中各个键的访问记录以及键值大小,包括:
将解析得到的各个键的访问记录以及键值大小上传至消息队列;
监听所述消息队列,并将所述消息队列中所述各个键的访问记录以及键值大小存储在搜索服务器中;
查询所述搜索服务器,得到所述各个键的访问记录以及键值大小。
7.根据权利要求1所述的数据库异常键处理方法,其特征在于,所述方法还包括:
将所述异常键存储在访问所述异常键的客户端对应的主机;
若所述异常键转化为正常键,则将所述异常键从所述第一客户端对应的主机中移除。
8.一种数据库异常键处理装置,其特征在于,所述装置包括:
数据收集单元,用于解析数据库的客户端向所述数据库的服务端发送的访问请求,得到所述数据库中各个键的访问记录以及键值大小;
数据分析单元,用于根据所述各个键的访问记录以及键值大小,得到所述各个键在单位时间内的特征数据;
异常键识别单元,用于根据所述各个键的特征数据,识别异常键;
预警单元,用于对访问所述异常键的所述数据库的客户端进行异常预警;
所述预警单元还用于更新所述异常键的特征数据,并根据所述异常键的更新后特征数据,确定所述异常键是否转化为正常键,若所述异常键转化为正常键,则解除对所述客户端的异常预警。
9.一种计算机设备,所述计算机设备包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述计算机设备执行时,实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被电子设备执行时实现如权利要求1-7中任一项所述的方法。
CN202210030280.5A 2022-01-12 2022-01-12 数据库异常键处理方法、装置、设备及介质 Pending CN114398343A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210030280.5A CN114398343A (zh) 2022-01-12 2022-01-12 数据库异常键处理方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210030280.5A CN114398343A (zh) 2022-01-12 2022-01-12 数据库异常键处理方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN114398343A true CN114398343A (zh) 2022-04-26

Family

ID=81231440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210030280.5A Pending CN114398343A (zh) 2022-01-12 2022-01-12 数据库异常键处理方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114398343A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114880158A (zh) * 2022-07-11 2022-08-09 飞狐信息技术(天津)有限公司 一种Redis实例诊断方法及装置
CN115203159A (zh) * 2022-07-25 2022-10-18 北京字跳网络技术有限公司 一种数据存储方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933096A (zh) * 2015-05-22 2015-09-23 北京奇虎科技有限公司 数据库的异常键识别方法、装置与数据系统
CN108491301A (zh) * 2018-02-01 2018-09-04 平安科技(深圳)有限公司 电子装置、基于redis的异常预警方法及存储介质
CN109710615A (zh) * 2018-12-29 2019-05-03 江苏满运软件科技有限公司 数据库的访问管理方法、系统、电子设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933096A (zh) * 2015-05-22 2015-09-23 北京奇虎科技有限公司 数据库的异常键识别方法、装置与数据系统
CN108491301A (zh) * 2018-02-01 2018-09-04 平安科技(深圳)有限公司 电子装置、基于redis的异常预警方法及存储介质
CN109710615A (zh) * 2018-12-29 2019-05-03 江苏满运软件科技有限公司 数据库的访问管理方法、系统、电子设备和存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114880158A (zh) * 2022-07-11 2022-08-09 飞狐信息技术(天津)有限公司 一种Redis实例诊断方法及装置
CN115203159A (zh) * 2022-07-25 2022-10-18 北京字跳网络技术有限公司 一种数据存储方法、装置、计算机设备和存储介质
CN115203159B (zh) * 2022-07-25 2024-06-04 北京字跳网络技术有限公司 一种数据存储方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
US11488041B2 (en) System and method for predicting incidents using log text analytics
US11032304B2 (en) Ontology based persistent attack campaign detection
US10963810B2 (en) Efficient duplicate detection for machine learning data sets
EP4099170B1 (en) Method and apparatus of auditing log, electronic device, and medium
EP2946333B1 (en) Efficient query processing using histograms in a columnar database
US20180248879A1 (en) Method and apparatus for setting access privilege, server and storage medium
CN112162965B (zh) 一种日志数据处理的方法、装置、计算机设备及存储介质
CN114398343A (zh) 数据库异常键处理方法、装置、设备及介质
CN110704390B (zh) 获取服务器维护脚本的方法、装置、电子设备及介质
US11568344B2 (en) Systems and methods for automated pattern detection in service tickets
US10824694B1 (en) Distributable feature analysis in model training system
CN113535677B (zh) 数据分析查询管理方法、装置、计算机设备及存储介质
CN111400361A (zh) 数据实时存储方法、装置、计算机设备和存储介质
US11601339B2 (en) Methods and systems for creating multi-dimensional baselines from network conversations using sequence prediction models
CN113342619A (zh) 日志监控方法、系统、电子设备及可读介质
CN110677271B (zh) 基于elk的大数据告警方法、装置、设备及存储介质
CN114175007A (zh) 用于数据匹配的主动学习
CN113297139B (zh) 元数据查询方法、系统及电子设备
WO2023278975A1 (en) Making decisions for placing data in a multi-tenant cache
CN111190967A (zh) 用户多维度数据处理方法、装置及电子设备
CN112948223A (zh) 一种监测运行情况的方法和装置
US11553059B2 (en) Using machine learning to customize notifications for users
CN111126034B (zh) 医学变量关系的处理方法及装置、计算机介质和电子设备
US20220365983A1 (en) Product features map
CN116225848A (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