专利汇可以提供一种基于消息队列的Redis集群海量数据快速清理系统及方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于消息队列的Redis集群海量数据快速清理系统及方法,该系统包括管理 节点 、Redis集群节点、消息队列节点和临时缓存节点;Redis集群节点:在不同的 服务器 上部署Redis cluster服务,至少部署三个Redis主库,每个Redis主库至少对应1个Redis从库;消息队列节点:在不同的服务器上部署消息队列分布式集群作为对Redis键值进行处理的中间载体;临时缓存节点:在两台服务器上分别部署Pika主库和Pika从库,用于存储Redis集群清理的数据;管理节点:存储所有元信息,同时部署Web应用服务, 访问 Redis集群、消息队列集群和Pika主库,对Redis键值进行删除处理。本发明的处理速度接近内存级速度,可以实现快速清理海量数据,使用简单可靠,对Redis集群服务影响小,可以实现数据一键回滚。,下面是一种基于消息队列的Redis集群海量数据快速清理系统及方法专利的具体信息内容。
1.一种基于消息队列的Redis集群海量数据快速清理系统,其特征在于,该系统包括管理节点、Redis集群节点、消息队列节点和临时缓存节点;
Redis集群节点:在不同的服务器上部署Redis cluster服务,至少部署三个Redis主库,每个Redis主库至少对应1个Redis从库;不同的Redis主库端口不同,Redis主库和对应的Redis从库端口一致;
消息队列节点:在不同的服务器上部署消息队列分布式集群,服务器为IO型服务器,采用支持分布式和横向扩展的消息队列存储方案,设置两副本,部署三个分片,消息队列分布式集群作为对Redis键值进行处理的中间载体;
临时缓存节点:在两台服务器上分别部署Pika主库和Pika从库,端口号一致,用于存储Redis集群清理的数据,采用Pika作为存储方案;
管理节点:存储所有元信息,包括Redis集群元信息、消息队列元信息、临时缓存元信息和缓存数据统计信息,所述Redis集群元信息包括:Redis集群中所有Redis主库的IP和端口,以及每个Redis集群的集群标识符,集群标识符采用Redis集群对应的业务名称,不同的Redis集群,集群标识符不同;消息队列元信息包括:消息队列集群中所有分片的IP、端口;
临时缓存元信息包括:Pika主库的IP、端口和密码;缓存数据统计信息包括:键值前缀、键值数量和执行时间;所述键值前缀是Redis集群中某一类Key的前缀,一个键值前缀可以匹配到一个或者多个Key;所述执行时间包括删除某个键值前缀匹配到的所有键值的开始时间点和完成时间点;同时,在管理节点上部署Web应用服务,访问Redis集群、消息队列集群和Pika主库,对Redis键值进行删除处理;
管理节点包含键值清理模块,所述键值清理模块,需要传入的参数:消息队列元信息和Topic名称;根据所述Topic名称,解析的到集群标识符合端口号,进而可以建立和Redis集群所有分片的连接,然后,根据传入的消息队列元信息,访问所述消息队列集群的Topic,调用所述消息队列集群的自身接口,分别读取所述Topic中的数组,然后访问所述Redis集群对应的分片,调用删除键值API,清理键值;所述Redis集群中所有的分片,可以同时执行清理操作。
2.根据权利要求1所述的基于消息队列的Redis集群海量数据快速清理系统,其特征在于,所述管理节点包括平台化管理模块、元信息管理模块、键值匹配模块、缓存数据管理模块、键值映射模块;
平台化管理模块需要传入参数为:集群标识符和键值前缀;平台化管理模块提供一个Web界面,用户进行删除操作时,填写集群标识符和键值前缀,然后调用元信息管理模块,得到集群标识符对应的Redis集群中所有分片的IP和端口;同时,获得消息队列集群的所有分片的IP和端口,最后,获取Pika主库的IP、端口和密码;然后调用键值匹配模块,匹配到所述键值前缀对应的键值,并且写入到所述消息队列集群对应的Topic中;接下来,同时调用缓存数据管理模块和键值映射模块,分别备份所述键值前缀对应的键值到Pika主从集群,所有键值根据指定的hash算法进行运算,得到对应的hash值,然后根据所述hash值创建对应的数组,hash值相同的所有键值记录在对应的数组中,为Redis主从集群每个分片创建一个对应的Topic,所述Topic包含了本分片中所有键值对应的数组;最后,调用键值清理模块,清理所述键值前缀对应的所有键值,执行结束后,记录缓存数据统计信息,并且在Web界面中展示给用户;
元信息管理模块,需要传入的参数:Redis集群元信息、消息队列元信息和临时缓存元信息;首先,在Redis集群节点部署Redis cluster服务,包含3个分片,每个分片包括一主一从,所述Redis cluster的所有分片的主库的IP和端口记录到Redis集群元信息,同时,为每个Redis cluster定义一个集群标识符作为所述Redis cluster的唯一标识,将所述集群标识符一同记录到Redis集群元信息中,如果所述Redis cluster中某个分片的主库宕机,Redis cluster自动触发主库故障切换,然后使用新主库的IP和端口替换旧的主库的IP和端口;然后,在消息队列节点部署一套消息队列分布式集群,包括三个分片,并且设置为两副本,然后记录所述消息队列集群所有分片的IP和端口到消息队列元信息中,如果所述消息队列分布式集群的分片发生变化,需要相应修改所述消息队列元信息;最后,在临时缓存节点部署一套Pika主从集群,并且记录Pika主库的IP、端口和密码到临时缓存元信息,如果所述Pika主库宕机,人工提升Pika从库为新主库,然后更新所述临时缓存元信息;
所述键值匹配模块,需要传入的参数:Redis集群元信息、键值前缀和消息队列元信息;
根据传入的所述Redis集群元信息,访问Redis cluster的所有分片,调用Redis接口,匹配所述键值前缀对应的所有键值,然后调用消息队列自身接口写入到所述消息队列集群中对应的Topic中;Redis集群中不同的分片的key,写入到消息队列中不同的Topic中;所述Topic命名方式:match_集群标识符_端口号;match表示所述Topic用于匹配键值,所述端口号是Redis集群中不同的分片的端口号,不同的分片对应不同的Topic;本模块结束后,返回Topic名称;
所述缓存数据管理模块,需要传入的参数:消息队列元信息、Topic名称和临时缓存元信息;根据所述消息队列元信息,解析得到消息队列集群所有分片的IP和端口,访问所述消息队列集群,根据Topic名称解析得到Redis集群所有分片的主库IP和端口,读取所述Topic的键值,分别访问Redis集群中不同的分片,读取键值对应的Key、value以及过期时间,然后写入到Pika主库;根据所述临时缓存元信息解析得到Pika的主库IP端口和密码;在键值清理模块成功结束后,访问所述Pika主库,清理所述键值前缀对应的数据;如果键值清理模块执行异常,需要回滚数据,那么访问所述Pika主库,读取所述键值写入到Redis集群中;
所述键值映射模块,需要传入的参数:消息队列元信息和Topic名称;访问所述消息队列集群,根据所述Topic名称,获取所有的键值,然后对所述键值进行hash运算,得到对应的hash值,针对每个所述hash值建立对应的数组,相同hash值的所有键值分布在同一个数组中;同时,为每个分片创建对应的Topic,所述Topic命名方式为:map_集群标识符_端口号,map表示所述Topic用于映射键值,端口号表示Redis集群的分片的端口号,集群标识符是Redis集群的唯一标识;所述Topic记录Redis集群中对应分片的数组,所述数组命名方式为:集群标识符_端口号_hash值,集群标识符是Redis集群的唯一标识,端口号是Redis集群的分片的端口号,hash值是键值经过hash运算的值,每个数组存放hash值相同的键值,数量是1个或者多个;本模块成功结束后,返回所有分片对应的Topic名称,否则返回错误。
3.一种基于消息队列的Redis集群海量数据快速清理方法,其特征在于,该方法包括以下步骤:
(1)调用元信息管理模块,在Redis集群节点部署Redis cluster服务,至少三个Redis主库,每个Redis主库至少一个Redis从库,每个Redis主库的端口号唯一,每个Redis主库和对应的从库端口号一致;在消息队列节点上部署消息队列分布式集群,至少三个分片,设置为两副本;在临时缓存节点部署Pika主从集群,Pika主库和从库端口号一致;同时,在管理节点上记录Redis集群元信息、消息队列元信息和临时缓存元信息;当键值清理模块调用结束后,在管理节点记录缓存数据统计信息,包括:键值前缀、键值数量和执行时间;所述执行时间包括删除某个键值前缀匹配到的所有键值的开始时间和完成时间;
(2)调用键值匹配模块,在管理节点上访问Redis集群所有分片,根据传入的参数,调用Redis自身接口,获取到所有匹配的键值,然后写入到消息队列集群中的Topic中,不同的Redis集群分片的键值,写入到不同的Topic中,Topic名称命名方式:match_集群标识符_端口号;match表示所述Topic的功能是用于匹配键值,集群标识符是Redis集群的唯一标识,端口号是Redis集群的分片的端口号;本模块执行结束后,返回Topic名称;
(3)调用缓存数据管理模块,读取消息队列集群中Topic的键值,从Redis集群中读取所述键值的内容和过期时间,然后写入到临时缓存节点,这些数据作为缓存存储,在键值清理模块调用成功结束之后,清理临时缓存节点的数据;如果键值清理模块执行出现异常,读取这些数据到Redis集群中;
(4)调用键值映射模块,读取消息队列集群中Topic的键值,采用hash算法crc16,对每个键值进行hash运算,得到每个键值对应的hash值,根据所述hash值,创建对应的数组;所述数组存放hash值相同的键值,每个数组命名方式为:集群标识符_端口号_hash值,端口号是Redis集群中分片的端口号,hash值是Redis键值经过hash运算之后得到的一个值,该数组保存所有hash值相同的键值;针对每个分片,创建对应的Topic,命名方式为:map_集群标识符_端口号,map表示所述Topic功能是用于映射键值的,端口号是Redis集群中分片的端口号,集群标识符是Redis集群的唯一标识;每个所述Topic存放对应分片的所有所述数组;
本模块结束后,返回Topic名称;
(5)调用键值清理模块,读取消息队列集群中Topic的数组,每次扫描一个数组,然后调用Redis接口,执行删除键值操作;Redis集群中所有的分片,可以同时执行键值清理模块;
(6)调用平台化管理模块,在管理节点上,采用Web界面形式,传入所需参数,调用键值清理模块,实现一键操作。
方法
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
一种数字化控制系统的数据组态诊断系统和方法 | 2020-05-11 | 881 |
在基于代理的网络通信中的控制数据的传输 | 2020-05-11 | 187 |
一种基于消息队列的Redis集群海量数据快速清理系统及方法 | 2020-05-11 | 869 |
执法记录仪接入处理方法及装置 | 2020-05-11 | 913 |
一种多点视频会议画面显示系统及其控制方法 | 2020-05-11 | 470 |
用于基于离线对象的存储和模拟REST响应的系统 | 2020-05-11 | 441 |
新型维修保障信息平台集成化建设和实现该技术的设备 | 2020-05-08 | 104 |
基于主控服务的售电平台管理系统 | 2020-05-11 | 352 |
一种基于泛在物联网的变电站智能支撑平台系统 | 2020-05-11 | 252 |
一种信息系统安全配置自动加固方法 | 2020-05-08 | 914 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。