数据库的访问管理方法、系统、电子设备和存储介质技术方案

技术编号:21034178 阅读:17 留言:0更新日期:2019-05-04 05:23
本申请提供数据库的访问管理方法、系统、电子设备和存储介质,用于解决数据库访问无法统一监测的问题。访问管理方法由代理服务执行,包括:接收应用发起的访问请求,解析访问请求携带的键;将携带经配置的键的访问请求传至数据库,并返回数据库的响应数据;分别以各键为索引建立键值集;监测各键的键值集,获取未配置过期时间且访问间隔时间超过第一间隔阈值的键,添加至删除队列;按删除队列的排序,依次将访问间隔时间超过第二间隔阈值的键标记为过期键,向数据库发送携带各过期键的删除请求。本申请通过代理服务代理应用与数据库的访问交互,实现各个应用对数据库访问的统一监测。

Access Management Method, System, Electronic Equipment and Storage Media of Database

【技术实现步骤摘要】
数据库的访问管理方法、系统、电子设备和存储介质
本申请涉及数据处理
,具体地说,涉及一种数据库的访问管理方法、系统、电子设备和存储介质。
技术介绍
Redis是一种高性能的非关系型Key-Value(键-值)数据库,可以在系统中充当缓存容器,减少对于数据库的访问,保障系统稳定性,同时提高系统响应时间,能够承受每秒10万级的请求数。Redis性能非常高,但其使用经常存在问题,如不设置key的过期时间,导致key长时间占用内存,造成浪费;使用非常消耗性能的命令,比如删除大key;对于key的命名随意,导致出问题后找不到相应的责任人,不能第一时间处理问题等等。针对这些问题,产生了一些Redis的使用监测方案。但现有的使用监测方案通常是在应用层进行配置,存在以下缺点:1、每个应用需要单独配置,不仅耗时长、效率低,且无法统一监测,当Redis出现问题时难以快速定位;2、无法监控应用是否配置了使用监测方案,当一些没有配置使用监测方案的应用上线后出现问题,容易对Redis关联的其他应用造成影响,稳定性差;3、一些应用将其使用监测方案配置为可以随意使用长时间命令,导致其他共用同一台Redis的应用受到很大影响;4、一些未设置过期时间的key占用Redis内存,但在Redis层面只能发现内存增长,无法定位是由哪个应用系统导致的内存增长。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
有鉴于此,本申请提供一种数据库的访问管理方法、系统、电子设备和存储介质,实现应用对数据库访问的统一监测管理。根据本申请的一个方面,提供一种数据库的访问管理方法,所述访问管理方法由代理服务执行,所述访问管理方法包括:接收应用发起的访问请求,解析访问请求携带的键;将携带经配置的键的访问请求传至数据库,并返回所述数据库的响应数据;分别以各键为索引建立键值集,一键的键值集包含该键的特征数据,及该键对应的访问数据和响应数据;监测各键的键值集,获取未配置过期时间且访问间隔时间超过第一间隔阈值的键,添加至删除队列;按所述删除队列的排序,依次将累计访问间隔时间超过第二间隔阈值的键标记为过期键,向所述数据库发送携带各过期键的删除请求。优选地,上述的访问管理方法中,所述获取未配置过期时间且访问间隔时间超过第一间隔阈值的键后,还包括:生成携带各未配置过期时间且访问间隔时间超过第一间隔阈值的键的过期时间配置提醒,发送至各对应的应用;以及若在一键的累计访问间隔时间超过所述第二间隔阈值前收到该键的过期时间配置信息,则将该键从所述删除队列中移除。优选地,上述的访问管理方法中,所述第二间隔阈值大于所述第一间隔阈值,所述第二间隔阈值和所述第一间隔阈值由所述代理服务配置,且对各键统一或根据各应用分别配置。优选地,上述的访问管理方法中,所述监测各键的键值集还包括:监测各键值集在所述数据库中占用的内存空间;以及将占用的内存空间超过预设值的键值集对应的键标记为大键,向各大键对应的应用发送大键修改提醒。优选地,上述的访问管理方法中,所述将携带经配置的键的访问请求传至数据库时,还包括:向携带未经配置的键的访问请求对应的应用返回错误提醒。优选地,上述的访问管理方法中,所述分别以各键为索引建立键值集的步骤包括:通过kafka收集与各键关联的数据,包括各键的特征数据及各键对应的访问数据和响应数据;以及通过ElasticSearch将与各键关联的数据建立为以各键为索引的键值集。优选地,上述的访问管理方法中,所述数据库为Redis数据库,所述代理服务通过Consul注册,各应用通过Consul发现所述代理服务,并将访问请求发至所述代理服务。根据本申请的另一个方面,提供一种数据库的访问管理系统,所述访问管理系统配置于代理服务,所述访问管理系统包括:接收模块,用于接收应用发起的访问请求,解析访问请求携带的键;传递模块,用于将携带经配置的键的访问请求传至数据库,并返回所述数据库的响应数据;收集模块,用于分别以各键为索引建立键值集,一键的键值集包含该键的特征数据,及该键对应的访问数据和响应数据;监测模块,用于监测各键的键值集,获取未配置过期时间且访问间隔时间超过第一间隔阈值的键,添加至删除队列;删除模块,用于按所述删除队列的排序,依次将累计访问间隔时间超过第二间隔阈值的键标记为过期键,向所述数据库发送携带各过期键的删除请求。根据本申请的另一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的数据库的访问管理方法的步骤。根据本申请的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据库的访问管理方法的步骤。本申请与现有技术相比的有益效果在于:通过代理服务统一管理应用对数据库的访问,降低成本,提高数据库稳定性;通过建立以各键为索引的键值集,便于对各键关联的数据进行监测,及时发现未配置过期时间的键,防止长时间未访问的键占用数据库内存,提高数据库利用率;通过监测键值集在数据库中占用的内存空间,及时发现占用的内存空间过大的键,提高数据库可靠性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出本申请实施例中一种数据库的访问管理方法的步骤示意图;图2示出本申请实施例中一种数据库的访问管理方法的架构示意图;图3示出本申请实施例中一种数据库的访问管理系统的模块示意图;图4示出本申请实施例中一种电子设备的示意图;图5示出本申请实施例中一种计算机可读存储介质的示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使得本申请将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。本申请的数据库的访问管理方法由代理服务执行,代理服务代理应用与数据库交互,实现各个应用对数据库的访问管理。本申请的访问管理方法可运用于各种类型的数据库,尤其适用于Key-Value(键-值)型的Redis数据库。图1示出实施例中数据库的访问管理方法的步骤示意图。参照图1所示,在一些实施例中,数据库的访问管理方法包括:S10、接收应用发起的访问请求,解析访问请求携带的键。数据库以Redis为例,向Redis发起的访问请求携带的键即key,key可以是一个任务指令,例如从Redis中获取某一数据类型的数据。一个Redis可以服务多个应用,当应用发起访问请求,由代理服务拦截访问请求,解析访问请求携带的key。参照图2所示数据库的访问管理方法的架构示意图。代理服务2配置于应用1与数据库(本实施例中即Redis3)之间,对应用1与Redis本文档来自技高网...

【技术保护点】
1.一种数据库的访问管理方法,其特征在于,所述访问管理方法由代理服务执行,所述访问管理方法包括:接收应用发起的访问请求,解析访问请求携带的键;将携带经配置的键的访问请求传至数据库,并返回所述数据库的响应数据;分别以各键为索引建立键值集,一键的键值集包含该键的特征数据,及该键对应的访问数据和响应数据;监测各键的键值集,获取未配置过期时间且访问间隔时间超过第一间隔阈值的键,添加至删除队列;按所述删除队列的排序,依次将累计访问间隔时间超过第二间隔阈值的键标记为过期键,向所述数据库发送携带各过期键的删除请求。

【技术特征摘要】
1.一种数据库的访问管理方法,其特征在于,所述访问管理方法由代理服务执行,所述访问管理方法包括:接收应用发起的访问请求,解析访问请求携带的键;将携带经配置的键的访问请求传至数据库,并返回所述数据库的响应数据;分别以各键为索引建立键值集,一键的键值集包含该键的特征数据,及该键对应的访问数据和响应数据;监测各键的键值集,获取未配置过期时间且访问间隔时间超过第一间隔阈值的键,添加至删除队列;按所述删除队列的排序,依次将累计访问间隔时间超过第二间隔阈值的键标记为过期键,向所述数据库发送携带各过期键的删除请求。2.如权利要求1所述的访问管理方法,其特征在于,所述获取未配置过期时间且访问间隔时间超过第一间隔阈值的键后,还包括:生成携带各未配置过期时间且访问间隔时间超过第一间隔阈值的键的过期时间配置提醒,发送至各对应的应用;以及若在一键的累计访问间隔时间超过所述第二间隔阈值前收到该键的过期时间配置信息,则将该键从所述删除队列中移除。3.如权利要求1所述的访问管理方法,其特征在于,所述第二间隔阈值大于所述第一间隔阈值,所述第二间隔阈值和所述第一间隔阈值由所述代理服务配置,且对各键统一或根据各应用分别配置。4.如权利要求1所述的访问管理方法,其特征在于,所述监测各键的键值集还包括:监测各键值集在所述数据库中占用的内存空间;以及将占用的内存空间超过预设值的键值集对应的键标记为大键,向各大键对应的应用发送大键修改提醒。5.如权利要求1所述的访问管理方法,其特征在于,所述将携带经配置的键的访问请求传至数据库时,还包括:向携带未经配置的键的访问请求对应的应用返...

【专利技术属性】
技术研发人员:邹祥文
申请(专利权)人:江苏满运软件科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1