CN105471616A - 缓存系统管理方法和系统 - Google Patents
缓存系统管理方法和系统 Download PDFInfo
- Publication number
- CN105471616A CN105471616A CN201410467019.7A CN201410467019A CN105471616A CN 105471616 A CN105471616 A CN 105471616A CN 201410467019 A CN201410467019 A CN 201410467019A CN 105471616 A CN105471616 A CN 105471616A
- Authority
- CN
- China
- Prior art keywords
- caching system
- request
- data
- mark
- module
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种缓存系统管理方法和系统,其中缓存系统管理方法包括:根据预设时间间隔定时向各缓存系统发送心跳包;获取所述缓存系统对所述心跳包的响应时间和缓存系统对应的存储容量;若所述响应时间大于第一阈值或所述响应时间小于第一阈值大于第二阈值出现的次数大于预设次数,则设置对应的缓存系统的第一标记,所述第一标记用于标识所述缓存系统不响应数据请求;若所述存储容量大于第三阈值,若是,则设置对应的缓存系统的第二标记,所述第二标记用于标识所述缓存系统不响应数据存储请求。上述方法和系统提高了缓存系统响应数据请求的稳定性。
Description
技术领域
本发明涉及通讯技术领域,特别是涉及一种缓存系统管理方法和系统。
背景技术
随着互联网的高速发展,用户的数量也急剧增加,对网站服务器的数据处理速度提出了更高的要求。缓存系统(cache)是为了提高数据读取速度,降低频繁读取磁盘数据导致磁盘IO(读写)过高和处理器重复处理数据造成系统资源浪费的一种缓存技术,目前,越来越多的互联网应用中都使用了缓存系统来提高数据处理能力,例如,网站通过使用了Redis(一种基于内存、键值对的存储数据库)、Memcache(一种高性能的分布式的内存对象缓存系统)等技术使得数据处理速度有了显著提高。
由于大量的使用cache,为了保持cache的稳定性、容灾性和响应速度,需要通过缓存管理系统对cache进行有效的管理,传统的缓存管理系统存在诸多缺点,例如,缓存系统管理下的cache出现僵死或者出现缓存使用已满的情况下,会出现数据请求响应缓慢、以及响应超时后才能接收到返回错误等多种异常现象,影响了缓存系统响应数据请求的稳定性,严重情况会导致整个缓存系统瘫痪。
发明内容
基于此,有必要针对上述技术问题,提供一种能提高缓存系统稳定性的缓存系统管理方法和系统。
一种缓存系统管理方法,所述方法包括:
根据预设时间间隔定时向各缓存系统发送心跳包;
获取所述缓存系统对所述心跳包的响应时间和缓存系统对应的存储容量;
若所述响应时间大于第一阈值,则设置对应的缓存系统的第一标记;或所述响应时间小于第一阈值大于第二阈值出现的次数大于预设次数,则设置对应的缓存系统的第一标记,所述第一标记用于标识所述缓存系统不响应数据请求;
若所述存储容量大于第三阈值,若是,则设置对应的缓存系统的第二标记,所述第二标记用于标识所述缓存系统不响应数据存储请求。
在其中一个实施例中,所述方法还包括响应数据请求步骤,所述步骤具体包括:
接收数据请求;
根据预设的请求处理方式异步处理所述数据请求,选取出响应所述数据请求的缓存系统,所述缓存系统是以键值对的形式缓存数据;
将所述缓存系统响应所述数据请求得到的结果反馈。
在其中一个实施例中,所述数据请求为数据存储请求,所述数据存储请求中携带有键值对;所述根据预设的请求处理方式异步处理所述数据请求,选取出响应所述数据请求的缓存系统的步骤,包括:
获取所述键值对中的键,根据预设的映射方式将所述键映射为对应的缓存系统标识;
判断所述缓存系统标识对应的缓存系统是否设置了第一标记或第二标记,若是,则从其它缓存系统中选取未设置第一标记或第二标记的缓存系统来响应所述数据存储请求;
若否,则将所述数据存储请求发送到所述缓存系统标识对应的缓存系统进行响应。
在其中一个实施例中,所述数据请求为数据读取请求,所述数据读取请求中携带有键;所述根据预设的请求处理方式异步处理所述数据请求,选取出响应所述数据请求的缓存系统的步骤,包括:
根据预设的映射方式将所述键映射为对应的缓存系统标识;
判断所述缓存系统标识对应的缓存系统是否设置了第一标记,若是,则从其它的未设置第一标记的缓存系统中选取备份了键对应的值的缓存系统来响应数据请求,
若否,则将所述数据读取请求发送到所述缓存系统标识对应的缓存系统进行响应。
在其中一个实施例中,在将所述缓存系统响应所述数据请求得到的结果返回给所述客户端的步骤之后,还包括:
触发将所述缓存系统响应数据请求时操作的数据拷贝到其它缓存系统中的数据备份事件;
异步执行所述备份事件。
在其中一个实施例中,所述方法还包括:
记录所述缓存系统响应所述数据请求过程中产生的操作日志;和/或,
记录异步执行所述数据备份事件中产生的操作日志。
一种缓存系统管理系统,所述系统包括:
心跳包发送模块,用于根据预设时间间隔定时向各缓存系统发送心跳包;
信息获取模块,用于获取所述缓存系统对所述心跳包的响应时间和缓存系统对应的存储容量;
第一标记设置模块,用于若所述响应时间大于第一阈值,则设置对应的缓存系统的第一标记;或所述响应时间小于第一阈值大于第二阈值出现的次数大于预设次数,则设置对应的缓存系统的第一标记,所述第一标记用于标识所述缓存系统不响应数据请求;
第二标记设置模块,用于若所述存储容量大于第三阈值,若是,则设置对应的缓存系统的第二标记,所述第二标记用于标识所述缓存系统不响应数据存储请求。
在其中一个实施例中,所述系统还包括数据请求响应模块,用于响应数据请求;所述数据请求响应模块包括:
数据请求接收模块,用于接收数据请求;
缓存系统选取模块,用于根据预设的请求处理方式异步处理所述数据请求,选取出响应所述数据请求的缓存系统,所述缓存系统是以键值对的形式缓存数据;
结果反馈模块,用于将所述缓存系统响应所述数据请求得到的结果反馈。
在其中一个实施例中,所述数据请求为数据存储请求,所述数据存储请求中携带有键值对;所述缓存系统选取模块包括:
第一标识映射模块,用于获取所述键值对中的键,根据预设的映射方式将所述键映射为对应的缓存系统标识;
第一缓存系统选取模块,用于判断所述缓存系统标识对应的缓存系统是否设置了第一标记或第二标记,若是,则从其它缓存系统中选取未设置第一标记或第二标记的缓存系统来响应所述数据存储请求;若否,则将所述数据存储请求发送到所述缓存系统标识对应的缓存系统进行响应。
在其中一个实施例中,所述数据请求为数据读取请求,所述数据读取请求中携带有键;所述缓存系统选取模块包括:
第二标识映射模块,用于根据预设的映射方式将所述键映射为对应的缓存系统标识;
第二缓存系统选取模块,用于判断所述缓存系统标识对应的缓存系统是否设置了第一标记,若是,则从其它的未设置第一标记的缓存系统中选取备份了键对应的值的缓存系统来响应数据请求,若否,则将所述数据读取请求发送到所述缓存系统标识对应的缓存系统进行响应。
在其中一个实施例中,所述系统还包括:
事件触发模块,用于触发将所述缓存系统响应数据请求时操作的数据拷贝到其它缓存系统中的数据备份事件;
事件执行模块,用于异步执行所述备份事件。
在其中一个实施例中,所述系统还包括:
第一日志记录模块,用于记录所述缓存系统响应所述数据请求过程中产生的操作日志;和/或,
第二日志记录模块,用于记录异步执行所述数据备份事件中产生的操作日志。
上述缓存系统管理方法和系统,可以通过获取缓存系统对心跳包的响应时间和缓存系统对应的存储容量,对异常的缓存系统设置标记,由于设置了第一标记的缓存系统不响应数据请求,设置了第二标记的缓存系统不响应数据存储请求,因此,保证了响应数据请求的缓存系统都是稳定可靠的,提高了缓存系统响应数据请求的稳定性。
附图说明
图1为一个实施例中缓存系统管理方法的流程示意图;
图2为一个实施例中缓存系统管理方法中响应客户端的数据请求的流程示意图;
图3为一个实施例中根据预设的请求处理方式异步处理数据请求,选取出响应数据请求的缓存系统步骤的流程示意图;
图4为另一个实施例中根据预设的请求处理方式异步处理数据请求,选取出响应数据请求的缓存系统步骤的流程示意图;
图5为一个实施例中缓存系统管理系统的结构示意图;
图6为一个实施例中数据请求响应模块的结构示意图;
图7为一个实施例中缓存系统选取模块的结构示意图;
图8为另一个实施例中缓存系统选取模块的结构示意图;
图9为另一个实施例中缓存系统管理系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提供的一种缓存系统管理方法,该方法包括如下步骤:
步骤101,根据预设时间间隔定时向各缓存系统发送心跳包。
本实施例中,缓存系统管理方法应用在对缓存系统进行管理的管理端中,其中,管理端管理着至少一个缓存系统。具体的,缓存系统是指内存缓存系统。管理端根据预设时间间隔周期性的向其管理下的各个缓存系统发送心跳包,然后等待缓存系统接收到心跳包后返回的数据包,根据返回的数据包来识别各缓存系统的运行状态。若在预定时间范围内没有接收到返回的数据包,则表示该缓存系统已不能正常工作,管理端直接断开与该缓存系统的连接。
步骤102,获取缓存系统对心跳包的响应时间和缓存系统对应的存储容量。
本实施例中,响应时间是指管理端发送心跳包与接收到缓存系统返回的数据包之间的时间距离。存储容量是指缓存系统的总存储空间中已存储了数据的空间。具体的,存储容量是指缓存系统中已存储数据的空间占总存储空间的百分比。记录发送心跳包时的第一时间,缓存系统接收到心跳包后,会向管理端返回数据包,记录接收到缓存系统返回的数据包的第二时间,该缓存系统的响应时间为第二时间与第一时间的差值。通过数据包中包含的缓存系统运行状态信息获取到缓存系统的存储容量。
步骤103,若响应时间大于第一阈值,则设置对应的缓存系统的第一标记;或响应时间小于第一阈值大于第二阈值出现的次数大于预设次数,则设置对应的缓存系统的第一标记。
由于网络传输存在不稳定性,因此预先设定第一阈值和第二阈值判来断响应时间是否真正超。第一阈值是指设定的最大超时值,若响应时间超过第一阈值,表示响应时间的严重超并不是网络传输不稳定造成的,而是缓存系统已不能正常响应数据请求了,进一步的,对缓存系统设置第一标记。
第二阈值是指预先设定的次超时值,当响应时间处在第一阈值和第二阈值之间时,则记录响应时间小于第一阈值大于第二阈值出现的次数,若记录的次数大于预设次数时,则表示缓存系统响应数据请求的速度太过缓慢,不能及时对数据请求做出响应,进一步的,对缓存系统设置第一标记,第一标记用于标识缓存系统不响应数据请求。管理端接收到客户端发送过来的数据请求后,不会选取设置了第一标记的缓存系统来响应该数据请求。
步骤104,若存储容量大于第三阈值,则设置对应的缓存系统的第二标记。
当存储容量大于预设的第三阈值时,则表示该缓存系统已经不能再存储更多的数据了,进一步的,对缓存系统设置第二标记。第二标记用于标识缓存系统不响应数据存储请求。
上述缓存系统管理方法,可以通过获取缓存系统对心跳包的响应时间和缓存系统对应的存储容量,对异常的缓存系统设置标记,由于设置了第一标记的缓存系统不响应数据请求,设置了第二标记的缓存系统不响应数据存储请求,因此,保证了响应数据请求的缓存系统都是稳定可靠的,提高了缓存系统响应数据请求的稳定性和响应数据请求的效率。
在一个实施例中,设置了第一标记或第二标记的缓存系统将向外发出警报,以帮助管理人员迅速定位到出现异常的缓存系统。具体的,通过将设置了第一标记或第二标记的缓存系统对应的缓存系统标识以短信或邮件的形式通知管理人员,由管理人员做出相应处理,从而及时确保响应客户端的数据请求的缓存系统都是运行良好的,方便了管理人员对缓存系统的管理。
如图2所示,在一个实施例中,提供的一种缓存系统管理方法,还包括响应客户端的数据请求的步骤,该步骤具体包括如下步骤:
步骤201,接收数据请求。
本实施例中,客户端向缓存系统发送存储数据和读取数据的数据请求,管理端通过TCP或UDP协议与客户端进行通信,管理端接收到客户端发送过来的数据请求后,将确定响应该数据请求的缓存系统。
步骤202,根据预设的请求处理方式异步处理数据请求,选取出响应数据请求的缓存系统。
预设的请求处理方式是指接收到数据请求后,管理端如何从管理下的缓存系统中确定最佳的缓存系统来响应数据请求的缓存系统选取方式。例如,当响应数据请求对应的缓存系统存在异常的情况下,管理端需要选取替代的缓存系统来响应数据请求。
管理端在启动时会启动一个进程,该进程包含了多个线程,进程中包含的主线程负责管理着各个缓存系统和响应客户端的数据请求,其它线程(线程池)作为辅助主线程承担着IO(读写)操作。接收到数据请求后,线程池用来处理数据请求时需要对缓存系统进行的IO操作。异步处理数据请求是指管理端在同时接收到多个数据请求时,当遇到对缓存系统的IO操作时管理端不会被挂起等待,而是将IO操作交给线程池来处理并继续向下执行,每个数据请求对应的IO操作,管理端都会在线程池中启动对应的线程来完成该数据请求的IO操作,IO操作将会得到并行执行从而提高了管理端处理数据请求的效率。通过异步处理数据请求使得管理端同时接受多个数据请求时不会被堵塞,减少了硬件资源的闲置,使得硬件资源被充分利用起来。
步骤203,将缓存系统响应所述数据请求得到的结果反馈。
管理端将缓存系统根据数据请求读取到的数据、存储数据成功或存储数据失败的提示消息返回给客户端。
如图3所示,在一个实施例中,步骤202,根据预设的请求处理方式异步处理数据请求,选取出响应数据请求的缓存系统包括:
步骤301,获取键值对中的键,根据预设的映射方式将键映射为对应的缓存系统标识。
本实施例中,数据请求为数据存储请求,缓存系统以键值对(key-value)的形式缓存数据。数据存储请求携带有键值对,key是指数据的编号,value是指存储的数据,key与value存在对应的关系。例如,若键值对为1001=“ABC”,其中key=1001value=“ABC”,将1001=“ABC”存储在缓存系统中。
预设的映射方式是指通过预设的运算方法对键进行相应运算,将运算结果映射为对应的缓存系统标识。具体的,映射方式是指通过预设的散列法将键映射为缓存系统标识。该散列方法包括但不限于对键进行求余运算。例如,管理端下有10个缓存系统,缓存系统的标识由1号到10号,若获取到的键值对中的key=1001value=“ABC”,通过1001对10求余后得到的值为1,即1001=“ABC”将要存储到的缓存系统对应的缓存系统标识为1。
步骤302,判断缓存系统标识对应的缓存系统是否设置了第一标记或第二标记,若是,则进入步骤303,若否,则进入步骤304。
本实施例中,获取到缓存系统标识后,进一步的需要判断缓存系统是否设置了第一标记或第二标记。若是,则表明该缓存系统标识对应的缓存系统存在异常,不能正常响应数据存储请求,进入步骤303中,若否,则表明该缓存系统标识对应的缓存系统是正常的,缓存系统有足够大的存储容量,且能及时响应数据存储请求,进入步骤304中。
步骤303,从其它缓存系统中选取未设置第一标记或第二标记的缓存系统来响应数据存储请求。
未设置第一标记的缓存系统表示响应速度正常,未设置第二标记的缓存系统表示缓存系统存储容量足够。从未设置第一标记或第二标记的缓存系统中选取合适的缓存系统来响应数据存储请求。
步骤304,将数据存储请求发送到缓存系统标识对应的缓存系统进行响应。
当缓存系统标识对应的缓存系统是正常的,管理端将该数据存储请求发送至该缓存系统标识对应的缓存系统中,由缓存系统对数据存储请求进行响应。
在另一个实施例中,如图4所示,步骤202,根据预设的请求处理方式异步处理数据请求,选取出响应数据请求的缓存系统包括:
步骤401,根据预设的映射方式将键映射为对应的缓存系统标识。
本实施例中,数据请求为数据读取请求,该数据读取请求中携带有键,管理端接收到数据读取请求中携带的键后,根据预设的映射方式对键进行运算可以获取存储了键对应的值的缓存系统对应的缓存系统标识。具体的,预设的映射方式是指通过预设的散列法将键映射为缓存系统标识。该散列方法包括但不限于对键进行求余运算。例如,管理端下有10个缓存系统,缓存系统的标识由1号到10号,若获取到的键值对中的key=1001value=“ABC”,通过1001对10求余后得到的值为1,即通过缓存系统标识为1的对应缓存系统来读取key=1001对应的value。
步骤402,判断缓存系统标识对应的缓存系统是否设置了第一标记。若是,则进入步骤403,若否,则进入步骤404。
设置了第一标记的缓存系统表示缓存系统响应缓存,不能及时响应数据读取请求,进一步的,需要重新确定响应数据请求的缓存系统,进入步骤403,若缓存系统未设置第一标记,则表示该缓存系统能够及时响应数据读取请求,进入步骤404。
步骤403,从其它的未设置第一标记的缓存系统中选取备份了键对应的值的缓存系统来响应数据请求。
缓存系统中的数据在其它缓存系统中存在多个副本,若通过预设的映射方式得到的缓存系统标识对应的缓存系统设置了第一标记,则在其它的未设置第一标记的缓存系统中,获取备份了键对应的值的缓存系统来响应数据请求。
步骤404,将数据读取请求发送到缓存系统标识对应的缓存系统进行响应。
当缓存系统能正常响应数据读取请求时,管理端将数据读取请求发送到对应的缓存系统,由缓存系统来响应数据请求,并将响应得到的结果发送至管理端,管理端再将结果返回给客户端。
在一个实施例中,在步骤203,将缓存系统响应所述数据请求得到的结果反馈之后,该方法还包括:
触发将缓存系统响应数据请求时操作的数据拷贝到其它缓存系统中的数据备份事件;异步执行备份事件。
本实施例中,客户端发送的数据请求处理完后,进一步的,触发对缓存系统中的数据进行备份的数据备份事件,该数据为之前缓存系统响应数据请求时操作的数据,其中该数据包括缓存系统读取的数据或存储的数据。管理端异步执行数据备份事件使得多个数据备份事件能够同时被执行,加快了对数据备份事件的执行速度。
当响应数据请求的缓存系统出现异常时,通过备份了数据的缓存系统能及时响应数据请求,保证了客户端能及时获取到数据请求的结果,提高了缓存系统的可靠性和可用性。
在一个实施例中,该方法还包括:记录缓存系统响应数据请求过程中产生的操作日志。
操作日志中包含了数据请求类型信息、发送数据请求的客户端信息、响应数据请求的缓存系统信息以及响应数据请求的时间信息等等。通过操作日志可以方便查询缓存系统响应数据请求的历史记录。
在另一个实施例中,执行完数据备份事件后,该方法还包括:记录异步执行数据备份事件中产生的操作日志。
操作日志中包含了数据备份的具体时间,数据备份前的存储位置信息和数据备份后的存储位置信息等等。在缓存系统遇到灾害出现数据丢失或者损坏的情况下,通过操作日志可以对数据进行恢复,提高了缓存系统的容灾性。
在一个实施例中,管理端的数量可以有多个,每个管理端提供的接口相同,即管理端与管理端之间可以相互通信,管理端下管理的缓存管理系统是可以动态扩张的,通过对管理端发送配置更新指令即可新增缓存系统或剔除掉原缓存系统。
当管理端不能正常工作的情况下,客户端发送的数据请求可绕过管理端直接发送给缓存系统,由缓存系统将响应数据请求的结果返回给客户端,使得客户端的数据请求能及时得到返回结果。具体的,管理端为Nodejs(一个可以快速构建网络服务及应用的平台),该Nodejs管理的缓存系统包括但不限于Redis、Memcache等内存缓存系统。
如图5所示,在一个实施例中,提供的一种缓存系统管理系统,该系统包括:
心跳包发送模块50,用于根据预设时间间隔定时向各缓存系统发送心跳包。
信息获取模块51,用于获取缓存系统对心跳包的响应时间和缓存系统对应的存储容量。
第一标记设置模块52,用于若响应时间大于第一阈值,则设置对应的缓存系统的第一标记;或响应时间小于第一阈值大于第二阈值出现的次数大于预设次数,则设置对应的缓存系统的第一标记。本实施例中,第一标记用于标识缓存系统不响应数据请求。
第二标记设置模块53,用于若存储容量大于第三阈值,则设置对应的缓存系统的第二标记。本实施例中,第二标记用于标识缓存系统不响应数据存储请求。
如图6所示,在一个实施例中,缓存管理系统还包括:数据请求响应模块54,用于响应客户端的数据请求。其中数据请求响应模块54包括:
数据请求接收模块540,用于接收数据请求。
缓存系统选取模块541,用于根据预设的请求处理方式异步处理数据请求,选取出响应数据请求的缓存系统。本实施例中,缓存系统是以键值对的形式缓存数据。
结果反馈模块542,用于将缓存系统响应所述数据请求得到的结果反馈。
在一个实施例中,如图7所示,缓存系统选取模块541包括:
第一标识映射模块5410,用于获取键值对中的键,根据预设的映射方式将键映射为对应的缓存系统标识。本实施例中,数据请求为数据存储请求,数据存储请求中携带有键值对。
第一缓存系统选取模块5411,用于判断缓存系统标识对应的缓存系统是否设置了第一标记或第二标记,若是,则从其它缓存系统中选取未设置第一标记或第二标记的缓存系统来响应数据存储请求;若否,则将数据存储请求发送到缓存系统标识对应的缓存系统进行响应。
在另一个实施例中,如图8所示,缓存系统选取模块541包括:
第二标识映射模块5412,用于根据预设的映射方式将键映射为对应的缓存系统标识。本实施例中,数据请求为数据读取请求,数据读取请求中携带有键。
第二缓存系统选取模块5413,用于判断缓存系统标识对应的缓存系统是否设置了第一标记,若是,则从其它的未设置第一标记的缓存系统中选取备份了键对应的值的缓存系统来响应数据请求,若否,则将数据读取请求发送到缓存系统标识对应的缓存系统进行响应。
在一个实施例中,如图9所示,提供的缓存系统管理系统还包括:
事件触发模块55,用于触发将缓存系统响应数据请求时操作的数据拷贝到其它缓存系统中的数据备份事件。
事件执行模块56,用于异步执行备份事件。
第一日志记录模块57,用于记录缓存系统响应数据请求过程中产生的操作日志。
第二日志记录模块58,用于记录异步执行数据备份事件中产生的操作日志。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种缓存系统管理方法,所述方法包括:
根据预设时间间隔定时向各缓存系统发送心跳包;
获取所述缓存系统对所述心跳包的响应时间和缓存系统对应的存储容量;
若所述响应时间大于第一阈值,则设置对应的缓存系统的第一标记;
或所述响应时间小于第一阈值大于第二阈值出现的次数大于预设次数,则设置对应的缓存系统的第一标记,所述第一标记用于标识所述缓存系统不响应数据请求;
若所述存储容量大于第三阈值,则设置对应的缓存系统的第二标记,所述第二标记用于标识所述缓存系统不响应数据存储请求。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括响应数据请求步骤,所述步骤具体包括:
接收数据请求;
根据预设的请求处理方式异步处理所述数据请求,选取出响应所述数据请求的缓存系统,所述缓存系统是以键值对的形式缓存数据;
将所述缓存系统响应所述数据请求得到的结果反馈。
3.根据权利要求2所述的方法,其特征在于,所述数据请求为数据存储请求,所述数据存储请求中携带有键值对;所述根据预设的请求处理方式异步处理所述数据请求,选取出响应所述数据请求的缓存系统的步骤,包括:
获取所述键值对中的键,根据预设的映射方式将所述键映射为对应的缓存系统标识;
判断所述缓存系统标识对应的缓存系统是否设置了第一标记或第二标记,若是,则从其它缓存系统中选取未设置第一标记或第二标记的缓存系统来响应所述数据存储请求;
若否,则将所述数据存储请求发送到所述缓存系统标识对应的缓存系统进行响应。
4.根据权利要求2所述的方法,其特征在于,所述数据请求为数据读取请求,所述数据读取请求中携带有键;所述根据预设的请求处理方式异步处理所述数据请求,选取出响应所述数据请求的缓存系统的步骤,包括:
根据预设的映射方式将所述键映射为对应的缓存系统标识;
判断所述缓存系统标识对应的缓存系统是否设置了第一标记,若是,则从其它的未设置第一标记的缓存系统中选取备份了键对应的值的缓存系统来响应数据请求,
若否,则将所述数据读取请求发送到所述缓存系统标识对应的缓存系统进行响应。
5.根据权利要求2所述的方法,其特征在于,在将所述缓存系统响应所述数据请求得到的结果反馈的步骤之后,还包括:
触发将所述缓存系统响应数据请求时操作的数据拷贝到其它缓存系统中的数据备份事件;
异步执行所述备份事件。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
记录所述缓存系统响应所述数据请求过程中产生的操作日志;和/或,
记录异步执行所述数据备份事件中产生的操作日志。
7.一种缓存系统管理系统,其特征在于,所述系统包括:
心跳包发送模块,用于根据预设时间间隔定时向各缓存系统发送心跳包;
信息获取模块,用于获取所述缓存系统对所述心跳包的响应时间和缓存系统对应的存储容量;
第一标记设置模块,用于若所述响应时间大于第一阈值,则设置对应的缓存系统的第一标记;或所述响应时间小于第一阈值大于第二阈值出现的次数大于预设次数,则设置对应的缓存系统的第一标记,所述第一标记用于标识所述缓存系统不响应数据请求;
第二标记设置模块,用于若所述存储容量大于第三阈值,则设置对应的缓存系统的第二标记,所述第二标记用于标识所述缓存系统不响应数据存储请求。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括数据请求响应模块,用于响应数据请求;所述数据请求响应模块包括:
数据请求接收模块,用于接收数据请求;
缓存系统选取模块,用于根据预设的请求处理方式异步处理所述数据请求,选取出响应所述数据请求的缓存系统,所述缓存系统是以键值对的形式缓存数据;
结果反馈模块,用于将所述缓存系统响应所述数据请求得到的结果反馈。
9.根据权利要求8所述的系统,其特征在于,所述数据请求为数据存储请求,所述数据存储请求中携带有键值对;所述缓存系统选取模块包括:
第一标识映射模块,用于获取所述键值对中的键,根据预设的映射方式将所述键映射为对应的缓存系统标识;
第一缓存系统选取模块,用于判断所述缓存系统标识对应的缓存系统是否设置了第一标记或第二标记,若是,则从其它缓存系统中选取未设置第一标记或第二标记的缓存系统来响应所述数据存储请求;若否,则将所述数据存储请求发送到所述缓存系统标识对应的缓存系统进行响应。
10.根据权利要求8所述的系统,其特征在于,所述数据请求为数据读取请求,所述数据读取请求中携带有键;所述缓存系统选取模块包括:
第二标识映射模块,用于根据预设的映射方式将所述键映射为对应的缓存系统标识;
第二缓存系统选取模块,用于判断所述缓存系统标识对应的缓存系统是否设置了第一标记,若是,则从其它的未设置第一标记的缓存系统中选取备份了键对应的值的缓存系统来响应数据请求,若否,则将所述数据读取请求发送到所述缓存系统标识对应的缓存系统进行响应。
11.根据权利要求8所述的系统,其特征在于,所述系统还包括:
事件触发模块,用于触发将所述缓存系统响应数据请求时操作的数据拷贝到其它缓存系统中的数据备份事件;
事件执行模块,用于异步执行所述备份事件。
12.根据权利要求11所述的系统,其特征在于,所述系统还包括:
第一日志记录模块,用于记录所述缓存系统响应所述数据请求过程中产生的操作日志;和/或,
第二日志记录模块,用于记录异步执行所述数据备份事件中产生的操作日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410467019.7A CN105471616B (zh) | 2014-09-12 | 2014-09-12 | 缓存系统管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410467019.7A CN105471616B (zh) | 2014-09-12 | 2014-09-12 | 缓存系统管理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105471616A true CN105471616A (zh) | 2016-04-06 |
CN105471616B CN105471616B (zh) | 2019-02-12 |
Family
ID=55608930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410467019.7A Active CN105471616B (zh) | 2014-09-12 | 2014-09-12 | 缓存系统管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105471616B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648931A (zh) * | 2016-12-12 | 2017-05-10 | 贵阳朗玛信息技术股份有限公司 | 一种日志信息记录的方法及装置 |
WO2018121404A1 (zh) * | 2016-12-26 | 2018-07-05 | 中国银联股份有限公司 | 一种超时监控方法及装置 |
CN109194451A (zh) * | 2018-08-17 | 2019-01-11 | 北汽福田汽车股份有限公司 | 车载终端的数据补发方法及车载终端 |
CN110413209A (zh) * | 2018-04-28 | 2019-11-05 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法和设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523806A (zh) * | 2006-08-03 | 2009-09-02 | 思杰系统有限公司 | 用于使用动态响应时间来确定网络服务的响应度的方法和设备 |
CN101646188A (zh) * | 2009-09-11 | 2010-02-10 | 杭州华三通信技术有限公司 | 一种动态检测设备的方法及设备 |
CN103618625A (zh) * | 2013-11-28 | 2014-03-05 | 金蝶软件(中国)有限公司 | 一种微博中网络资源的控制方法、装置和系统 |
-
2014
- 2014-09-12 CN CN201410467019.7A patent/CN105471616B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523806A (zh) * | 2006-08-03 | 2009-09-02 | 思杰系统有限公司 | 用于使用动态响应时间来确定网络服务的响应度的方法和设备 |
CN101646188A (zh) * | 2009-09-11 | 2010-02-10 | 杭州华三通信技术有限公司 | 一种动态检测设备的方法及设备 |
CN103618625A (zh) * | 2013-11-28 | 2014-03-05 | 金蝶软件(中国)有限公司 | 一种微博中网络资源的控制方法、装置和系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648931A (zh) * | 2016-12-12 | 2017-05-10 | 贵阳朗玛信息技术股份有限公司 | 一种日志信息记录的方法及装置 |
WO2018121404A1 (zh) * | 2016-12-26 | 2018-07-05 | 中国银联股份有限公司 | 一种超时监控方法及装置 |
US11611634B2 (en) | 2016-12-26 | 2023-03-21 | China Unionpay Co., Ltd. | Method and device for timeout monitoring |
CN110413209A (zh) * | 2018-04-28 | 2019-11-05 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法和设备 |
CN109194451A (zh) * | 2018-08-17 | 2019-01-11 | 北汽福田汽车股份有限公司 | 车载终端的数据补发方法及车载终端 |
CN109194451B (zh) * | 2018-08-17 | 2020-09-15 | 北汽福田汽车股份有限公司 | 车载终端的数据补发方法及车载终端 |
Also Published As
Publication number | Publication date |
---|---|
CN105471616B (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105740418A (zh) | 一种基于文件监控和消息推送的实时同步系统 | |
CN105357296A (zh) | 一种Docker云平台下弹性缓存系统 | |
CN105025053A (zh) | 基于云存储技术的分布式文件的上传方法及其系统 | |
CN106506490B (zh) | 一种分布式计算控制方法以及分布式计算系统 | |
CN103929500A (zh) | 一种分布式存储系统的数据分片方法 | |
CN113010496B (zh) | 一种数据迁移方法、装置、设备和存储介质 | |
CN104965850A (zh) | 一种基于开源技术的数据库高可用实现方法 | |
US20200125473A1 (en) | Hybrid log viewer with thin memory usage | |
CN111176888B (zh) | 云存储的容灾方法、装置及系统 | |
CN107872517B (zh) | 一种数据处理方法及装置 | |
CN103279386A (zh) | 一种计算机作业调度系统高可用的方法 | |
WO2012171349A1 (zh) | 一种分布式自增计数的实现方法、装置及系统 | |
CN105471616A (zh) | 缓存系统管理方法和系统 | |
US11184435B2 (en) | Message transmission method and apparatus in cluster file system | |
CN109165112B (zh) | 一种元数据集群的故障恢复方法、系统及相关组件 | |
US8793527B1 (en) | Apparatus and method for handling partially inconsistent states among members of a cluster in an erratic storage network | |
US20180121531A1 (en) | Data Updating Method, Device, and Related System | |
CN113330426B (zh) | 一种备份数据的方法、装置和系统 | |
CN106776151A (zh) | Samba集群tdb数据库记录备份方法、装置及系统 | |
CN103810038A (zh) | 一种ha集群中虚拟机存储文件迁移方法及其装置 | |
CN113965576A (zh) | 基于容器的大数据采集方法、装置、存储介质和设备 | |
CN105323271B (zh) | 一种云计算系统以及云计算系统的处理方法和装置 | |
CN109669814A (zh) | 一种元数据服务的恢复方法、装置、设备及可读存储介质 | |
CN104765798A (zh) | Mysql异地同步增强容错性的实现系统及实现方法 | |
US11271839B2 (en) | Dynamic asynchronous communication management |
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 |