[发明专利]一种具有任务分发功能的分布式缓存架构及缓存方法在审
申请号: | 201410578562.4 | 申请日: | 2014-10-24 |
公开(公告)号: | CN104361030A | 公开(公告)日: | 2015-02-18 |
发明(设计)人: | 王茜;葛新;李安颖;史晨昱;梁小江 | 申请(专利权)人: | 西安未来国际信息股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/08 |
代理公司: | 西安弘理专利事务所 61214 | 代理人: | 罗笛 |
地址: | 710075 陕西省西安*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 具有 任务 分发 功能 分布式 缓存 架构 方法 | ||
技术领域
本发明属于大数据处理技术领域,涉及一种具有任务分发功能的分布式缓存架构方法。
背景技术
随着各种非结构数据越来越多,在数据存储和处理方面对于数据库的性能要求越来越高,读写操作量的需求也不断增加,传统关系型数据库在应对海量数据处理中显得吃力。如,关系型数据库在少量数据存储,高速访问,海量数据存储,分布式系统支持,数据一致性保证,方便的集群节点添加或删除等方面无法做到得心应手。
针对以上问题,典型的应用架构中有使用到mamcache这种内存对象缓存系统,然而,随着业务量的不断增加和访问量的持续增长,会遇到许多问题:
(1)数据库需要不断的进行拆库拆表,mamcache也需要不断扩容,而扩容和维护工作要占据大量的开发时间。
(2)memcache与数据库的数据存在一致性问题。
(3)memcache数据的命中率低或者宕机的话,大量访问需要直接穿透到数据库,这对于诸如mysql这类数据库将无法支撑大量的直接访问。
(4)跨机房cache同步问题。
而且,对于变化率非常快的数据而言,如果选择静态缓存方式(Memcached/File system等)展示数据,可能在缓存的存取上会有很大的开销,并不能很好的满足需要。
具有任务分发功能的分布式缓存出于如下考虑,首先是缓存本身的水平线性扩展问题,其次是缓存大并发下的本身的性能问题,再次是避免缓存的单点故障问题(多副本和副本一致性)。分布式缓存的核心技术包括对内存本身的管理、内存的分配、管理和回收机制。其次是分布式管理和分布式算法,最后是缓存键值管理和路由。分布式缓存系统具有诸多优点:
1)高性能:当传统数据库面临大规模数据访问时,磁盘I/O往往成为性能瓶颈,从而导致过高的响应延迟.分布式缓存将高速内存作为数据对象的存储介质,数据以key/value形式存储,理想情况下可以获得DRAM级的读写性能;
2)动态扩展性:支持弹性扩展,通过动态增加或减少节点应对变化的数据访问负载,提供可预测的性能与扩展性;同时,最大限度地提高资源利用率;
3)高可用性:可用性包含数据可用性与服务可用性两方面.基于冗余机制实现高可用性,无单点失效(single point of failure),支持故障的自动发现,透明地实施故障切换,不会因服务器故障而导致缓存服务中断或数据丢失.动态扩展时自动均衡数据分区,同时保障缓存服务持续可用;
4)易用性:提供单一的数据与管理视图;API接口简单,且与拓扑结构无关;动态扩展或失效恢复时无需人工配置;自动选取备份节点;多数缓存系统提供了图形化的管理控制台,便于统一维护;
5)分布式代码执行(distributed code execution):将任务代码转移到各数据节点并行执行,客户端聚合返回结果,从而有效避免了缓存数据的移动与传输.
发明内容
本发明的目的是提供一种具有任务分发功能的分布式缓存架构,解决了传统数据库无法应对大数据量的处理和访问的情况。
本发明的另一目的是提供一种具有任务分发功能的分布式缓存方法,对于需要计算的场景能够做到自动的任务分发和容错,保证处理过程的可靠性。
本发明所采用的一种技术方案是,一种具有任务分发功能的分布式缓存架构,包括关系型数据库Mysql、redis分布式缓存系统以及与客户端通过网络连接的分布式任务调度系统。
本发明一种技术方案的特点还在于,
redis分布式缓存系统包括依次连接的缓存管理模块、分布式缓存模块、数据分布模块、替换算法模块、缓存同步模块、缓存通信模块、可靠性服务模块。
本发明所采用的另一种技术方案是,一种具有任务分发功能的分布式缓存方法,采用一种具有任务分发功能的分布式缓存架构,其结构为:包括关系型数据库Mysql、redis分布式缓存系统以及与客户端通过网络连接的分布式任务调度系统;
其中,redis分布式缓存系统包括依次连接的缓存管理模块、分布式缓存模块、数据分布模块、替换算法模块、缓存同步模块、缓存通信模块、可靠性服务模块。
采用上述分布式缓存系统的缓存方法,具体按照以下步骤实施:
步骤1,当用户有数据查询需求时,系统调用一致性哈希算法找到节点,并调用通信模块读取数据;
步骤2,如果通信模块找到数据,则将数据返回给用户;如果通信模块没有找到数据,则用户直接访问数据库进行数据读取,并执行步骤3;
步骤3,数据库将数据写入缓存主节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安未来国际信息股份有限公司,未经西安未来国际信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410578562.4/2.html,转载请声明来源钻瓜专利网。