CN113127557B - 基于redis性能的数据持久化方法、装置及电子设备 - Google Patents
基于redis性能的数据持久化方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113127557B CN113127557B CN201911412031.7A CN201911412031A CN113127557B CN 113127557 B CN113127557 B CN 113127557B CN 201911412031 A CN201911412031 A CN 201911412031A CN 113127557 B CN113127557 B CN 113127557B
- Authority
- CN
- China
- Prior art keywords
- master
- consumption value
- slave group
- system resource
- group
- 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
Images
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- 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
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于redis性能的数据持久化方法、装置及电子设备,该方法包括:计算redis集群中主从组的***资源消耗值,其中,redis集群中纪元相同的节点为一个主从组;根据所述主从组的***资源消耗值,确定出所述***资源消耗值最小的主从组;在所述***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况下,对所述主从组中满足预设条件的节点进行数据持久化处理。本发明实施例通过计算redis集群中各主从组的***资源消耗值,判断出主从组中的节点是否满足开启持久化的条件,在节点资源使用情况满足要求时,开启节点持久化,否则关闭节点持久化,避免了高并发环境下持久化对redis性能的影响。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种基于redis性能的数据持久化方法、装置及电子设备。
背景技术
redis(Remote Dictionary Server,远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API(Application Programming Interface,应用程序接口)。
现有技术中,redis支持两种持久化方式,分别是aof(Append Only File,只进行追加文件)持久化和rdb(Relational Database,关系数据库)持久化,aof持久化是将redis的操作日志以追加方式写入文件,rdb持久化是将redis在内存中的数据库记录定时备份到磁盘上。但不管是aof持久化还是rdb持久化,长期开启都会对redis-cluster(redis集群)的性能产生影响,尤其是在高并发、高性能要求的redis-cluster集群中开启持久化,可能会导致用户进程的堵塞,严重影响性能。
发明内容
本发明实施例提供一种基于redis性能的数据持久化方法、装置及电子设备,能够解决将高并发、高性能的集群进行数据持久化时如何对性能的影响降到最低的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,提供了一种基于redis性能的数据持久化方法,该方法包括:
计算redis集群中主从组的***资源消耗值,其中,redis集群中纪元相同的节点为一个主从组;
根据所述主从组的***资源消耗值,确定出所述***资源消耗值最小的主从组;
在所述***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况下,对所述主从组中满足预设条件的节点进行数据持久化处理。
第二方面,提供了一种基于redis性能的数据持久化装置,该装置包括:
计算模块,用于计算redis集群中主从组的***资源消耗值,其中,redis集群中纪元相同的节点为一个主从组;
确定模块,用于根据所述主从组的***资源消耗值,确定出所述***资源消耗值最小的主从组;
执行模块,用于在所述***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况下,对所述主从组中满足预设条件的节点进行数据持久化处理。
第三方面,提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法的步骤。
在本发明实施例中,通过计算redis集群中主从组的***资源消耗值,然后根据该***资源消耗值确定出***资源消耗值最小的主从组,最后在***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况向下,对该主从组中满足预设条件的节点进行数据持久化处理。本发明实施例通过计算redis集群中各主从组的***资源消耗值,判断出主从组中的节点是否满足开启持久化的条件,在节点资源使用情况满足要求时,开启节点持久化,否则关闭节点持久化,避免了高并发环境下持久化对redis性能的影响。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例示出的一种基于redis性能的数据持久化方法的流程图;
图2是本发明实施例示出的一种基于redis性能的数据持久化装置的示意图;
图3是本发明实施例示出的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于redis性能的数据持久化方法、装置及电子设备。本发明实施例通过在redis集群的前端添加一个判断装置,以每一个主节点及与之相对应的从节点为一组,每一组master-slave(主从组)的epoch(纪元)是相同的;首先通过计算选取出epoch相同的节点中使用资源最小的主从组,条件成立继续向下判断集群节点条件是否成,成立则开启持久化处理,任何一步不成立都结束该主从组的判断继续判断下一组epoch相同的主从组。
Redis作为内存数据库,主要为了提供高效快速的数据访问,redis集群又主要保障了访问的高并发和高性能;本发明实施例在现有业务场景中能灵活自动的调整当前redis集群是否适用数据持久化,一旦业务资源闲时就会自动开启rdb持久化,一旦业务繁忙就会自动关闭持久化,避免了持久化在高并发繁忙时对redis性能的影响,且又在合理的时候对数据进行持久化避免了数据丢失。
如图1所示,为本发明实施例提出的一种redis性能的数据持久化方法的流程图。如图所示,该redis性能的数据持久化方法可以包括步骤S101至步骤S103所示的步骤。
在步骤S101中,计算redis集群中主从组的***资源消耗值。
其中,redis集群中纪元相同的节点为一个主从组。
在本发明实施例中,将redis集群按照纪元是否相同分成多个主从组,然后计算各个主从组的***资源消耗值。
在步骤S102中,根据主从组的***资源消耗值,确定出***资源消耗值最小的主从组。
在本发明实施例中,根据上述计算的各个主从组的***资源消耗值,选出其中***资源消耗值最小的主从组。以便确定出群组中业务资源最闲置的主从组。
在步骤S103中,在***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况下,对该主从组中满足预设条件的节点进行数据持久化处理。
本发明实施例,通过计算redis集群中主从组的***资源消耗值,然后根据该***资源消耗值确定出***资源消耗值最小的主从组,最后在***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况向下,对该主从组中满足预设条件的节点进行数据持久化处理。本发明实施例通过计算redis集群中各主从组的***资源消耗值,判断出主从组中的节点是否满足开启持久化的条件,在节点资源使用情况满足要求时,开启节点持久化,否则关闭节点持久化,避免了高并发环境下持久化对redis性能的影响。
本发明实施例是要对高并发、高性能的集群在进行数据的持久化的情况下对性能的影响降到最低,且在业务高峰或资源使用紧张时不因为数据的持久化对性能产生影响。由于aof持久化是通过时间间隔对数据进行追加,而rdb持久化是每一次都对数据进行全部备份,为了不定时随机的对持久化状态开启与否进行切换,且为了数据快速备份和恢复,本发明实施例采用rdb持久化。
在本发明的一个可能的实施方式中,计算redis集群中主从组的***资源消耗值,包括:
按下式计算redis集群中主从组的***资源消耗值:
其中,f(m,c)为主从组的***资源消耗值;mn为主从组中第n个节点的内存消耗值;cn为主从组中第n个节点的CPU消耗值。
在本发明的一个可能的实施方式中,在对主从组中满足预设条件的节点进行数据持久化处理之前,该方法还可以包括:
判断主从组中的节点是否满足预设条件。
该判断主从组中的节点是否满足预设条件可以包括:
判断主从组中的节点的内存消耗值是否小于第二阈值,且主从组中的节点的CPU消耗值是否小于第三阈值;
若主从组中节点的内存消耗值小于第二阈值且主从组中节点的CPU消耗值小于第三阈值,则判定内存消耗值小于第二阈值且CPU消耗值小于第三阈值的节点满足预设条件。
在本发明实施例中,若是判断出***资源消耗值最小的主从组中的节点满足预设条件,说明当前该主从组中的节点的资源使用率较低,业务资源较闲置,此时可以进行数据的持久化处理,不会影响redis的性能。
具体地,可以进一步判断满足预设条件的各节点的节点内存消耗值和节点CPU消耗值的平均值,选取平均值最小的节点进行持久化。对节点内存消耗值和节点CPU消耗值的平均值最小的节点进行持久化,可以进一步降低对redis性能的影响。
在本发明的一个可能的实施方式中,该基于redis性能的数据持久化方法,还可以包括:
若***资源消耗值最小的主从组的***资源消耗值大于或等于第一阈值,则关闭数据持久化处理。
也就是,当判断出redis集群中***资源消耗值最小的主从组的***资源消耗值大于或等于第一阈值,说明业务资源比较繁忙,此时不适合进行数据持久化处理,关闭数据持久化处理,以免影响redis的性能。
在本发明的一个可能的实施方式中,该基于redis性能的数据持久化方法,还可以包括:
在***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况下,主从组中的节点均不能满足预设条件,则关闭数据持久化处理。
也就是,在***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况下,判断出该主从组中的所有节点均不能满足预设条件,说明业务资源比较繁忙,此时不适合进行数据持久化处理,关闭数据持久化处理,以免影响redis的性能。
在本发明的一个具体实施方式中,redis集群包括3台主机,共9个节点,3个主节点和6个从节点,组成一主双从架构。每台主机16CPU,64G内存,每个节点分配内存10G。
redis集群中各节点的分布如表1所示。
表1
ip地址 | 主节点 | 从节点1 | 从节点2 |
10.192.168.97 | master1 | master3_slave1 | master2_slave2 |
10.192.168.98 | master2 | master1_slave1 | master3_slave2 |
10.192.168.99 | master3 | master2_slave1 | master1_slave2 |
针对该集群配置的频率为每10分钟采集计算一次,然后通过导入100万个key,总大小2G左右。
通过监控redis日志发现大约5分钟左右master2_slave2、master1_slave2和master3_slave2自动开启了rdb持久化,且当前f(m,c)、cpu和内存使用均为超过50%,并持续观察一段时间检测到这段时间内不定时的***key,发现该段时间内内存和cpu均为超过50%,且rdb持久化一直默认开启,该三个节点不定期的进行rdb持久化。
通过程序对redis集群进行并发(10000个客户端同时访问)读取key,通过监控发现当前的f(m,c)<0.5(其中0.5为第一阈值)、内存<75%(其中,75%为第二阈值)、cpu>50%(其中,50%为第三阈值),通过日志输出发现***资源消耗值最小的主从组的***资源消耗值小于第一阈值成立,然后判断内存消耗值和CPU消耗值,其中CPU消耗值超过第三阈值,会显示rdb持久化不可用,然后rdb持久化被自动关闭。当判断出CPU消耗值小于第三阈值时,开启rdb持久化。
对redis-cluster并发加大到100000,通过监控发现f(m,c)>0.5、内存<75%、cpu>50%,通过日志输出发现***资源消耗值最小的主从组的***资源消耗值小于第一阈值不成立,显示rdb持久化不可用,然后rdb持久化被自动关闭。在后续判断出f(m,c)<0.5、内存<75%、cpu<50%后开启rdb持久化。
在本发明实施例中,每一组纪元相同的节点为一组主从组,首先选出主从组中***资源消耗值最小的主从组,在主从组资源使用符合判断条件的情况下,然后选出每一组主从组中资源使用最小的节点,判断该节点资源使用是否符合判断条件,若符合则开启该节点的rdb持久化,否则不开启,且在开启过程若条件一直成立将一直开启直到条件不成立。
本发明实施例还提供了一种基于redis性能的数据持久化装置。如图2所示,位本发明实施例中提供的一种基于redis性能的数据持久化装置的示意图。如图所示,该装置包括:计算模块201、确定模块202和执行模块203。
该计算模块201被配置为计算redis集群中主从组的***资源消耗值。其中,redis集群中纪元相同的节点为一个主从组。
该确定模块202被配置为根据主从组的***资源消耗值,确定出***资源消耗值最小的主从组。
该执行模块被203配置为在***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况下,对该主从组中满足预设条件的节点进行数据持久化处理。
在本发明实施例中,通过计算模块201计算redis集群中主从组的***资源消耗值,然后确定模块202根据该***资源消耗值确定出***资源消耗值最小的主从组,最后执行模块203在***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况向下,对该主从组中满足预设条件的节点进行数据持久化处理。本发明实施例通过计算redis集群中各主从组的***资源消耗值,判断出主从组中的节点是否满足开启持久化的条件,在节点资源使用情况满足要求时,开启节点持久化,否则关闭节点持久化,避免了高并发环境下持久化对redis性能的影响。
在本发明的一个可能的实施方式中,计算模块201可以用于:
按下式所示计算redis集群中主从组的***资源消耗值:
其中,f(m,c)为主从组的***资源消耗值;mn为主从组中第n个节点的内存消耗值;cn为主从组中第n个节点的CPU消耗值。
在本发明的一个可能的实施方式中,该基于redis性能的数据持久化装置还可以包括:判断模块。
该判断模块被配置为判断主从组中的节点是否满足预设条件。
在本发明的一个可能的实施方式中,判断模块可以用于:
判断主从组中节点的内存消耗值是否小于第二阈值,且主从组中的节点的CPU消耗值是否小于第三阈值;
若主从组中节点的内存消耗值小于第二阈值且主从组中节点的CPU消耗值小于第三阈值,则判定内存消耗值小于第二阈值且CPU消耗值小于第三阈值的节点满足预设条件。
在本发明的一个可能的实施方式中,该装置还可以包括:第一关闭模块。
该第一关闭模块被配置为若***资源消耗值最小的主从组的***资源消耗值大于或等于第一阈值,则关闭数据持久化处理。
在本发明的一个可能的实施方式中,该装置还可以包括:第二关闭模块。
该第二关闭模块被配置为在***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况下,主从组中的节点均不满足预设条件,则关闭数据持久化处理。
本发明所述的基于redis性能的数据持久化装置的功能已经在上述方法实施例中进行了详细的描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
图3为实现本发明各个实施例的一种电子设备的硬件结构示意图,该电子设备300包括但不限于:射频单元301、网络模块302、音频输出单元303、输入单元304、传感器305、显示单元306、用户输入单元307、接口单元308、存储器309、处理器310、以及电源311等部件。本领域技术人员可以理解,图3中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,处理器310,可以用于:
计算redis集群中主从组的***资源消耗值,其中,redis集群中纪元相同的节点为一个主从组;
根据主从组的***资源消耗值,确定出***资源消耗值最小的主从组;
在***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况下,对主从组中满足预设条件的节点进行数据持久化处理。
在本发明实施例中,通过计算redis集群中主从组的***资源消耗值,然后根据该***资源消耗值确定出***资源消耗值最小的主从组,最后在***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况向下,对该主从组中满足预设条件的节点进行数据持久化处理。本发明实施例通过计算redis集群中各主从组的***资源消耗值,判断出主从组中的节点是否满足开启持久化的条件,在节点资源使用情况满足要求时,开启节点持久化,否则关闭节点持久化,避免了高并发环境下持久化对redis性能的影响。
应理解的是,本发明实施例中,射频单元301可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器310处理;另外,将上行的数据发送给基站。通常,射频单元301包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元301还可以通过无线通信***与网络和其他设备通信。
电子设备通过网络模块302为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元303可以将射频单元301或网络模块302接收的或者在存储器309中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元303还可以提供与电子设备300执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元303包括扬声器、蜂鸣器以及受话器等。
输入单元304用于接收音频或视频信号。输入单元304可以包括图形处理器(Graphics Processing Unit,GPU)3041和麦克风3042,图形处理器3041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元306上。经图形处理器3041处理后的图像帧可以存储在存储器309(或其它存储介质)中或者经由射频单元301或网络模块302进行发送。麦克风3042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元301发送到移动通信基站的格式输出。
电子设备300还包括至少一种传感器305,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板3061的亮度,接近传感器可在电子设备300移动到耳边时,关闭显示面板3061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器305还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元306用于显示由用户输入的信息或提供给用户的信息。显示单元306可包括显示面板3061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板3061。
用户输入单元307可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元307包括触控面板3071以及其他输入设备3072。触控面板3071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板3071上或在触控面板3071附近的操作)。触控面板3071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器310,接收处理器310发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板3071。除了触控面板3071,用户输入单元307还可以包括其他输入设备3072。具体地,其他输入设备3072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板3071可覆盖在显示面板3061上,当触控面板3071检测到在其上或附近的触摸操作后,传送给处理器310以确定触摸事件的类型,随后处理器310根据触摸事件的类型在显示面板3061上提供相应的视觉输出。虽然在图3中,触控面板3071与显示面板3061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板3071与显示面板3061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元308为外部装置与电子设备300连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元308可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备300内的一个或多个元件或者可以用于在电子设备300和外部装置之间传输数据。
存储器309可用于存储软件程序以及各种数据。存储器309可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器309可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器310是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器309内的软件程序和/或模块,以及调用存储在存储器309内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器310可包括一个或多个处理单元;优选的,处理器310可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器310中。
电子设备300还可以包括给各个部件供电的电源311(比如电池),优选的,电源311可以通过电源管理***与处理器310逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
另外,电子设备300包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供一种电子设备,包括处理器310,存储器309,存储在存储器309上并可在所述处理器310上运行的计算机程序,该计算机程序被处理器310执行时实现上述基于redis性能的数据持久化方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述基于redis性能的数据持久化方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (9)
1.一种基于redis性能的数据持久化方法,其特征在于,包括:
计算redis集群中主从组的***资源消耗值,其中,redis集群中纪元相同的节点为一个主从组;
根据所述主从组的***资源消耗值,确定出所述***资源消耗值最小的主从组;
在所述***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况下,对所述主从组中满足预设条件的节点进行数据持久化处理;所述预设条件包括:节点的内存消耗值小于第二阈值且节点的CPU消耗值小于第三阈值;
所述计算redis集群中主从组的***资源消耗值,包括:
按下式所示计算redis集群中主从组的***资源消耗值:
其中,f(m,c)为主从组的***资源消耗值;mn为主从组中第n个节点的内存消耗值;cn为主从组中第n个节点的CPU消耗值。
2.根据权利要求1所述的方法,其特征在于,在对所述主从组中满足预设条件的节点进行数据持久化处理之前,所述方法还包括:
判断所述主从组中的节点是否满足预设条件。
3.根据权利要求2所述的方法,其特征在于,所述判断所述主从组中的节点是否满足预设条件,包括:
判断所述主从组中节点的内存消耗值是否小于第二阈值,且所述主从组中的节点的CPU消耗值是否小于第三阈值;
若所述主从组中节点的内存消耗值小于第二阈值且所述主从组中节点的CPU消耗值小于第三阈值,则判定所述内存消耗值小于第二阈值且CPU消耗值小于第三阈值的节点满足预设条件。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述***资源消耗值最小的主从组的***资源消耗值大于或等于第一阈值,则关闭数据持久化处理。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况下,所述主从组中的节点均不满足预设条件,则关闭数据持久化处理。
6.一种基于redis性能的数据持久化装置,其特征在于,所述装置包括:
计算模块,用于计算redis集群中主从组的***资源消耗值,其中,redis集群中纪元相同的节点为一个主从组;
确定模块,用于根据所述主从组的***资源消耗值,确定出所述***资源消耗值最小的主从组;
执行模块,用于在所述***资源消耗值最小的主从组的***资源消耗值小于第一阈值的情况下,对所述主从组中满足预设条件的节点进行数据持久化处理;其中,所述预设条件包括:内存消耗值小于第二阈值且CPU消耗值小于第三阈值;
所述计算模块,具体用于按下式所示计算redis集群中主从组的***资源消耗值:
其中,f(m,c)为主从组的***资源消耗值;mn为主从组中第n个节点的内存消耗值;cn为主从组中第n个节点的CPU消耗值。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断所述主从组中的节点是否满足预设条件。
8.根据权利要求7所述的装置,其特征在于,所述判断模块用于:
判断所述主从组中节点的内存消耗值是否小于第二阈值,且所述主从组中的节点的CPU消耗值是否小于第三阈值;
若所述主从组中节点的内存消耗值小于第二阈值且所述主从组中节点的CPU消耗值小于第三阈值,则判定所述内存消耗值小于第二阈值且CPU消耗值小于第三阈值的节点满足预设条件。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911412031.7A CN113127557B (zh) | 2019-12-31 | 2019-12-31 | 基于redis性能的数据持久化方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911412031.7A CN113127557B (zh) | 2019-12-31 | 2019-12-31 | 基于redis性能的数据持久化方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113127557A CN113127557A (zh) | 2021-07-16 |
CN113127557B true CN113127557B (zh) | 2022-12-13 |
Family
ID=76770213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911412031.7A Active CN113127557B (zh) | 2019-12-31 | 2019-12-31 | 基于redis性能的数据持久化方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113127557B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508881A (zh) * | 2011-10-18 | 2012-06-20 | 国网电力科学研究院 | 一种电力信息***内存数据库的多节点集群方法 |
CN105657057A (zh) * | 2012-12-31 | 2016-06-08 | 华为技术有限公司 | 一种计算存储融合的集群*** |
CN105989160A (zh) * | 2015-03-03 | 2016-10-05 | 大唐软件技术股份有限公司 | 一种针对Redis数据库的内存数据持久化方法和装置 |
CN106453512A (zh) * | 2016-09-05 | 2017-02-22 | 努比亚技术有限公司 | 一种Redis集群信息监控装置及方法 |
CN107589907A (zh) * | 2017-08-10 | 2018-01-16 | 上海壹账通金融科技有限公司 | 数据处理方法、电子设备及计算机可读存储介质 |
CN107590023A (zh) * | 2017-08-10 | 2018-01-16 | 上海壹账通金融科技有限公司 | 数据处理方法、电子设备及计算机可读存储介质 |
CN109815049A (zh) * | 2017-11-21 | 2019-05-28 | 北京金山云网络技术有限公司 | 节点宕机恢复方法、装置、电子设备及存储介质 |
CN110365752A (zh) * | 2019-06-27 | 2019-10-22 | 北京大米科技有限公司 | 业务数据的处理方法、装置、电子设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287854B (zh) * | 2017-01-10 | 2021-06-22 | 网宿科技股份有限公司 | 一种流计算中数据持久化的方法和*** |
US10613944B2 (en) * | 2017-04-18 | 2020-04-07 | Netapp, Inc. | Systems and methods for backup and restore of distributed master-slave database clusters |
US20190086452A1 (en) * | 2017-09-18 | 2019-03-21 | Elutions IP Holdings S.à.r.l. | Systems and methods for managing resource consumption |
-
2019
- 2019-12-31 CN CN201911412031.7A patent/CN113127557B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508881A (zh) * | 2011-10-18 | 2012-06-20 | 国网电力科学研究院 | 一种电力信息***内存数据库的多节点集群方法 |
CN105657057A (zh) * | 2012-12-31 | 2016-06-08 | 华为技术有限公司 | 一种计算存储融合的集群*** |
CN105989160A (zh) * | 2015-03-03 | 2016-10-05 | 大唐软件技术股份有限公司 | 一种针对Redis数据库的内存数据持久化方法和装置 |
CN106453512A (zh) * | 2016-09-05 | 2017-02-22 | 努比亚技术有限公司 | 一种Redis集群信息监控装置及方法 |
CN107589907A (zh) * | 2017-08-10 | 2018-01-16 | 上海壹账通金融科技有限公司 | 数据处理方法、电子设备及计算机可读存储介质 |
CN107590023A (zh) * | 2017-08-10 | 2018-01-16 | 上海壹账通金融科技有限公司 | 数据处理方法、电子设备及计算机可读存储介质 |
CN109815049A (zh) * | 2017-11-21 | 2019-05-28 | 北京金山云网络技术有限公司 | 节点宕机恢复方法、装置、电子设备及存储介质 |
CN110365752A (zh) * | 2019-06-27 | 2019-10-22 | 北京大米科技有限公司 | 业务数据的处理方法、装置、电子设备和存储介质 |
Non-Patent Citations (3)
Title |
---|
Java对象持久化层的检索性能优化研究;肖燕娟;《现代计算机(专业版)》;20080625(第6期);164-166+177 * |
Persistence and Recovery for In-Memory NoSQL Services: A Measurement Study;Xianqiang Bao 等;《2016 IEEE International Conference on Web Services (ICWS)》;20160901;530-537 * |
Redis数据库特性分析;马豫星;《物联网技术》;20150315(第03期);111-112 * |
Also Published As
Publication number | Publication date |
---|---|
CN113127557A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108073458B (zh) | 内存回收方法、移动终端及计算机可读存储介质 | |
CN108984066B (zh) | 一种应用程序图标显示方法及移动终端 | |
CN108681498B (zh) | 一种cpu占用率的监测方法、装置以及移动终端 | |
CN109976611B (zh) | 终端设备的控制方法及终端设备 | |
CN109522278B (zh) | 一种文件存储方法及终端设备 | |
CN109639887B (zh) | 一种控制方法及终端设备 | |
CN109995862B (zh) | 一种资源调度方法及终端 | |
CN110569119B (zh) | 后台应用程序管理方法及终端 | |
US20230013341A1 (en) | Call processing method and electronic device | |
CN108920040B (zh) | 一种应用图标整理方法及移动终端 | |
CN108536349B (zh) | 一种图标管理方法及移动终端 | |
CN111240451B (zh) | 散热方法、电子设备及计算机可读存储介质 | |
CN111338745A (zh) | 一种虚拟机的部署方法、装置及智能设备 | |
CN111309390A (zh) | 一种获取配置信息的方法及电子设备 | |
CN108628534B (zh) | 一种字符展示方法及移动终端 | |
CN111026674A (zh) | 一种数据存储方法及电子设备 | |
CN108089935B (zh) | 一种应用程序的管理方法及移动终端 | |
CN108597495B (zh) | 一种处理语音数据的方法及装置 | |
US20200280841A1 (en) | Information processing method for rf device and mobile terminal | |
CN109144860B (zh) | 一种对控件对象的操作方法及终端设备 | |
CN112347067A (zh) | 一种日志信息管控方法、设备及计算机可读存储介质 | |
CN108646966B (zh) | 一种灭屏时间调整方法及装置 | |
CN111142731A (zh) | 一种显示方法及电子设备 | |
CN110928616A (zh) | 快捷图标管理方法及电子设备 | |
CN115695309A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |