一种基于可配置化的热点数据缓存处理方法及设备技术

技术编号:21089683 阅读:35 留言:0更新日期:2019-05-11 10:00
本发明专利技术提供了一种基于可配置化的热点数据缓存处理方法,包括:接收外部系统推送的数据;将所述推送的数据发送给提供MySQL服务的MySQL服务装置和提供热点数据缓存服务的热点数据缓存服务装置;所述MySQL服务装置将接收的所述推送数据进行持久化操作,即存储在磁盘存储设备中;所述热点数据缓存服务装置根据其配置文件对所述推送数据进行过滤处理,并将过滤后的需要存储的数据存储在所述热点数据缓存服务装置中。

A Configurable Hot Data Cache Processing Method and Equipment

【技术实现步骤摘要】
一种基于可配置化的热点数据缓存处理方法及设备
本专利技术涉及数据存储领域,具体涉及一种基于可配置化的热点数据缓存处理方法及设备。
技术介绍
MySQL是一种被广泛应用的开源关系数据库管理系统,由于关系数据库通过将数据保存在不同的表中,并通过建立不同表的关联关系来实现数据的访问,因而有效提高了数据库使用的灵活性和访问速度。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL由于其体积小、速度快、总体拥有成本低,以及开放源码的特点,因而受到中小型网站的开发者的欢迎,成为这类网站的首选数据库。在网站数据库应用中,通常将数据信息存入到MySQL数据库中,但当网站的访问量非常大时,由于受到磁盘存储系统访问的限制,MySQL的处理能力会下降,从而使得网站的访问、交互效率降低。因此,就必须对MySQL数据库进行必要的优化。
技术实现思路
为了解决上述技术问题,本专利技术基于将Redis作为MySQL数据库的缓存的专利技术构思,利用Redis将数据存储在内存中的高性能特点,有效解决了MySQL不适应大数据量访问的不足。其中,Redis是一种开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据存储系统。Redis提供了包括Ruby、Python、PHP、Perl、Lua、Java、C#、C、C++以及GO等多种编程语言的客户端的应用程序接口(API)。Redis的特点是使用了字典结构的存储数据,其中字典中的键值支持的数据类型有字符串(String),哈希(Hash),列表(list),集合(Set)和有序集合(sortedset),并允许其他应用通过TCP协议读写字典中的内容。Redis还支持数据的持久化及数据备份,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。并且,本专利技术还针对Redis作为MySQL数据库的缓存以存储需要频繁访问的热点数据,将频繁访问的数据存储在内存系统中时存在的在存储每种热点数据类型时,都需要各自独立的接口判断其是否是热点数据类型,然后再确认是否存入Redis中的判断过程所导致的代码冗余,系统维护复杂度的问题。通过事先将热点数据类型信息动态地写入到配置文件中,在存储数据时解析配置文件完成对热点数据的过滤与封装,同时在热点数据存入Redis的操作中只用调用一个公用的入库接口,因而在不同的项目或应用场景中,只需要修改配置文件中的配置信息即可选择存入Redis中的缓存数据。进一步解决了当使用Redis作为MySQL缓存时,需要人为过滤并编写不同热点数据类型的Redis入库接口的问题。为实现上述目的,第一方面,本专利技术提出了一种基于可配置化的热点数据缓存处理方法,采用以下技术方案:步骤1、接收外部系统推送的数据;步骤2、将所述推送的数据发送给提供MySQL服务的MySQL服务装置和提供热点数据缓存服务的热点数据缓存服务装置;步骤3、所述MySQL服务装置将接收的所述推送数据进行持久化操作,即存储在磁盘存储设备中;步骤4、所述热点数据缓存服务装置根据其配置文件对所述推送数据进行过滤处理,并将过滤后的需要存储的数据存储在所述热点数据缓存服务装置。进一步的,在上述技术方案的基础上,所述配置文件包括所述热点数据的类型属性。进一步的,在上述技术方案的基础上,所述热点数据缓存服务装置包括Redis存储系统。进一步的,在上述技术方案的基础上,所述类型属性包括至少下述一种:(1)数据存入到所述Redis存储系统中的数据类型;(2)数据的信息名称;(3)唯一标识字段;(4)数据的过期时间;(5)在所述Redis中存储时的关键字(Key)值前缀。进一步的,在上述技术方案的基础上,所述步骤4还包括:根据所述配置文件中的信息对所述接收的推送数据进行过滤,过滤后的数据属于需要存储的数据;将所述需要存储的数据存储到所述Redis存储系统中。进一步的,在上述技术方案的基础上,将所述需要存储的数据存储到所述Redis存储系统中还包括:将所述需要存储的数据进行封装,并调用统一的热点数据入库接口存储到Redis存储系统中。由于单位容量的电子存储器(如:固态盘)的价格远远高于磁存储的价格,出于成本考虑,MySQL服务装置的磁盘存储设备和Redis存储系统的存储空间不可能配置的完全相同,通常MySQL的磁盘存储空间要大于Redis存储系统的的存储空间,但是,本专利技术提出的上述技术方案中,Redis存储系统由于仅存储热点数据,因而其存储的数据量要远远小于MySQL数据库存储的数据量,因而会出现MySQL数据库已经存满了数据,而Redis存储系统还存在大量空闲空间的情况,从而导致存储空间浪费。为了充分利用所有的存储空间,本专利技术进一步提出了存储空间利用最大化的策略,通过检测MySQL和Redis存储空间的关系,适时地屏蔽热点数据缓存服务的数据过滤功能,在热点数据缓存服务装置的存储空间容量允许的情况下,存储推送数据的全部内容,而此时,MySQL服务装置由于可用空间不足则不再存储推送数据。即在上述技术方案的基础上,进一步还包括下述步骤:步骤5、所述MySQL服务装置检测所述磁盘存储设备的可使用空间,当存储空间的可使用率低于第一阈值时,则所述MySQL服务装置丢弃所述推送数据;同时所述热点数据缓存服务装置检测所述Redis存储系统的可使用空间,当所述可使用空间的容量高于第二阈值时,则屏蔽所述热点数据缓存服务装置的过滤功能,存储所述推送数据的全部信息,否则所述热点数据缓存服务装置也丢弃所述推送数据。进一步的,在上述技术方案的基础上,所述第一阈值为0.1,所述第二阈值为0.1*C,其中,所述C为所述磁盘存储设备的总容量。第二方面,本专利技术还提出了一种基于可配置化的热点数据缓存处理设备,包括:MySQL服务装置和热点数据缓存服务装置,处理器和存储器,所述存储器具有存储有程序代码的介质,当所述处理器读取所述介质存储的程序代码时,所述处理设备能够执行上述基于可配置化的热点数据缓存处理的方法。与现有技术方案相比,本专利技术实施例的技术方案至少具有以下有益的技术效果:利用Redis的高性能存储机制,将Redis作为MySQL的缓存解决并发量较高的数据访问的性能问题,并进一步通过读取动态的配置文件调用统一的Redis入库接口对需要存储的数据进行过滤和封装,避免了不同类型热点数据存入Redis时需要编写独立的接口,降低了项目中代码的冗余度,解耦了数据存储的业务处理,提高了WEB项目整体的稳定性,节约了开发成本。此外,本专利技术还进一步基于存储空间利用最大化的策略,有效地利用了数据存储空间。附图说明图1是本专利技术提出基于可配置的热点数据缓存处理方法的模块示意图;图2是本专利技术提出的基于Redis和Logstash的数据采集方法的更佳实施例结构及流程示意图;图3是本专利技术提出的基于可配置的热点数据缓存处理设备的一个更佳实施例的结构示意图。下面对本专利技术进一步详细说明。但下述的实例仅仅是本专利技术的简易或者最佳例子,并不代表或限制本专利技术的权利保护范围,本专利技术的保护范围以权利要求书为准。具体实施方式下面结合附图并通过具体实施方式来进一步说明本专利技术的技术方案。为更好地说明本专利技术,便于理解本专利技术的技术方案,本专利技术的典型本文档来自技高网...

【技术保护点】
1.一种基于可配置化的热点数据缓存处理方法,其特征在于包括:步骤1、接收外部系统推送的数据;步骤2、将所述推送的数据发送给提供MySQL服务的MySQL服务装置和提供热点数据缓存服务的热点数据缓存服务装置;步骤3、所述MySQL服务装置将接收的所述推送数据进行持久化操作,即存储在磁盘存储设备中;步骤4、所述热点数据缓存服务装置根据其配置文件对所述推送数据进行过滤处理,并将过滤后的需要存储的数据存储在所述热点数据缓存服务装置中。

【技术特征摘要】
1.一种基于可配置化的热点数据缓存处理方法,其特征在于包括:步骤1、接收外部系统推送的数据;步骤2、将所述推送的数据发送给提供MySQL服务的MySQL服务装置和提供热点数据缓存服务的热点数据缓存服务装置;步骤3、所述MySQL服务装置将接收的所述推送数据进行持久化操作,即存储在磁盘存储设备中;步骤4、所述热点数据缓存服务装置根据其配置文件对所述推送数据进行过滤处理,并将过滤后的需要存储的数据存储在所述热点数据缓存服务装置中。2.根据权利要求1所述的热点数据缓存处理方法,其特征在于所述配置文件包括所述热点数据的类型属性。3.根据权利要求2所述的热点数据缓存处理方法,其特征在于所述热点数据缓存服务装置包括Redis存储系统。4.根据权利要求3所述的热点数据缓存处理方法,其特征在于所述类型属性包括至少下述一种:(1)数据存入到所述Redis存储系统中的数据类型;(2)数据的信息名称;(3)唯一标识字段;(4)数据的过期时间;(5)在所述Redis中存储时的关键字(Key)值前缀。5.根据权利要求4所述的热点数据缓存处理方法,其特征在于所述步骤4还包括:根据所述配置文件中的信息对所述接收的推送数据进行过滤,过滤后的数据属于需要存储的数据;将所述需要存储...

【专利技术属性】
技术研发人员:王少飞喻波王志海董晓斌安鹏
申请(专利权)人:北京明朝万达科技股份有限公司
类型:发明
国别省市:北京,11

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

1