一种键值数据库的监控报警方法及装置与流程

文档序号:37264327发布日期:2024-03-12 20:46阅读:15来源:国知局
一种键值数据库的监控报警方法及装置与流程

本发明实施例涉及医药数据存储,特别涉及一种键值数据库的监控报警方法及装置。


背景技术:

1、如今,医药企业的业务系统越来越复杂、数据量越来越大,缓存数据也越来越大。键值型数据库(key-value,键-值),如redis,作为当前广泛使用的缓存框架,其高性能、高吞吐量的特性是各个企业选择它的重要原因之一。但是,如果技术人员使用不当,比如给某个key存入太多数据,如医药类数据名称通常很长,尤其是涉及化学品成分的信息等,则很可能会导致存取此key消耗的时间过长,从而影响其它请求。因为键值数据库的单线程工作模式,该种存入多数据的大型key的读取耗时长,会阻塞其它请求,严重时甚至会影响整个缓存系统,导致缓存系统和业务系统故障的发生。

2、所以,持续监控和发现系统中的大型key是非常必要的。目前,以redis数据库为例,用于监控数据库中的大型key的方法有以下几个:

3、1)数据库自带命令:数据库提供了redis-cli命令行工具来查找大型key,系统执行redis-cli--bigkeys命令即可。但是该命令的缺点是其只列出每种数据结构中最大的那个key,如果某个数据结构中有多个大型key,则此命令也不会全列出来。另外,此命令只在高版本数据库系统中可用,对于低版本的redis无此功能命令。

4、2)通过scan命令加strlen、llen、hlen等命令,来扫描整个redis系统,从而查找到所有大型key。这种方法的缺点是扫描整个系统耗时较长,并且对数据库系统有一定的性能影响。

5、3)使用第三方工具:有许多第三方工具可以帮助查找数据库中的大型key,但是需要安装第三方工具,还要选择适配型号,较为不便。

6、而且,上述方法查找到大型key后,仅会输出相应的key信息,功能单一。


技术实现思路

1、有鉴于上文所述的技术问题,本发明提供了一种键值数据库的监控报警方法,用于实现简单快速,全自动化执行键信息的监控,并在确定键信息占用的存储空间超出阈值范围时,及时报警。

2、为了解决上述技术问题,本发明实施例提供了一种键值数据库的监控报警方法,包括:

3、获得键值数据库中的全部键信息;

4、扫描所述键信息,确定出占用的存储空间大于第一阈值的候选键信息;

5、基于预置存储格式将所述候选键信息存储至目标系统中;

6、通过所述目标系统获取所述候选键信息,并对所述候选键信息进行监控;

7、基于监控结果确定目标键信息占用的存储空间大于第二阈值时,输出警报,所述第二阈值大于第一阈值。

8、在一些实施例中,所述获得键值数据库中的全部键信息,包括:

9、获得所述键值数据库中的内存镜像文件,所述内存镜像文件中包含所述键值数据库的内存数据;

10、基于所述内存镜像文件获取所述全部键信息。

11、在一些实施例中,所述扫描所述键信息,确定出占用的存储空间大于第一阈值的候选键信息,包括:

12、扫描、分析所述键信息,确定出键信息占用的存储空间大于第一阈值,或键值集合涉及的元素数量大于第三阈值的键信息为候选键信息,所述键值集合涉及的元素数量大于第三阈值表征对应的键信息占用的存储空间大于所述第一阈值。

13、在一些实施例中,所述扫描、分析所述键信息,包括:

14、复制全部所述键信息至第一文件中;

15、扫描、分析所述第一文件中的所述键信息。

16、在一些实施例中,所述基于预置存储格式将所述候选键信息存储至目标系统中,包括:

17、解析所述候选键信息,并基于解析结果分别确定与所述预置存储格式中的不同信息项匹配的第一信息;

18、匹配存储各信息项与对应的第一信息至所述目标系统中。

19、在一些实施例中,所述匹配存储各信息项与对应的第一信息至所述目标系统中,包括:

20、匹配存储各个所述信息项与对应的第一信息至第二文件中,所述第二文件为纯文本文件;

21、读取所述第二文件中对应同一所述键信息的数据,并将所述数据封装形成对象;

22、基于多个分别对应不同键信息的所述对象构建对象列表;

23、对所述对象列表进行轻量级的数据交换格式转化,形成目标格式对象列表;

24、存储所述目标格式对象列表至所述目标系统中。

25、在一些实施例中,所述信息项包括以下至少之一:

26、数据库标记、数据结构类型、键名称、键值占用的存储空间大小、集合类型键值涉及的元素数量、集合类型键值中占用存储空间最多的元素名称、集合类型键值中占用存储空间最多的元素所占存储空间大小、键的过期时间。

27、在一些实施例中,所述通过所述目标系统获取所述候选键信息,并对所述候选键信息进行监控,包括:

28、基于监控报警平台加载所述目标系统中的所述候选键信息,并对所述候选键信息进行监控。

29、在一些实施例中,所述方法还包括:

30、基于第一周期,周期性地获得所述键值数据库中的全部键信息,并生成所述候选键信息;

31、基于第二周期,周期性地对所述候选键信息进行监控,所述第一周期与第二周期相同或不同。

32、本发明另一实施例同时提供一种键值数据库的监控和报警装置,包括:

33、获得模块,用于获得键值数据库中的全部键信息;

34、扫描模块,用于扫描所述键信息,确定出占用的存储空间大于第一阈值的候选键信息;

35、存储模块,用于根据预置存储格式将所述候选键信息存储至目标系统中;

36、监控模块,用于通过所述目标系统获取所述候选键信息,并对所述候选键信息进行监控;

37、报警模块,用于根据监控结果确定目标键信息占用的存储空间大于第二阈值时,输出警报,所述第二阈值大于第一阈值。

38、本发明另一实施例还提供一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制包括所述存储介质的设备执行如上文中任一项实施例所述的键值数据库的监控报警方法。

39、本发明另一实施例还提供一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行诸如上文所述实施例中的键值数据库的监控报警方法。

40、基于上述实施例的公开可以获知,本发明实施例具备的有益效果包括系统通过自动获得键值数据库中的全部键信息,对所述键信息进行扫描,确定出占用的存储空间大于第一阈值的候选键信息,接着基于预置存储格式将所述候选键信息存储至目标系统中,如此便可获得能够随时调取的候选键信息,基于此,系统便可通过所述目标系统而获取所述候选键信息,并对所述候选键信息进行监控,若基于监控结果确定目标键信息占用的存储空间大于第二阈值时,则输出警报。所述方法全程无人为参与,均由系统自动化执行,基于本实施例的方法,医药系统的运维人员能够更实时、更便捷地实现键值数据库中占用大量存储空间的键信息的监控和报警,显著提升运维效率。而且,本实施例所述方案通过把候选键信息存储到目标系统中,不仅方便系统调取进行监控,而且方便运维人员对候选键信息的统计和分析,为键值数据库的运维和治理等提供了便捷。

41、本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

42、下面通过附图和实施例,对本技术的技术方案做进一步的详细描述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1