本发明专利技术公开了一种基于对象存储的可定制化分布式缓存方法,其采用R个对象存储节点的架构;具体包括:预先在所述对象存储节点中设置可定制化的缓存方案;接收访问请求,并根据预先设置的映射关系表判断访问请求内容所在的对象存储节点;若判断为本地则通过缓存抽象层接口调用访问请求内容,若判断为非本地则将所述访问请求转发至相应的对象存储节点,并通过缓存抽象层接口调用访问请求内容。本发明专利技术在对象存储系统的高可扩展架构上,通过映射关系表和Paxos算法,继承了其高可扩展的架构,无需在对象存储系统之外提供额外的物理节点,使缓存系统可故障自动切换;并且预留有业务定制化接口,使得对象存储的应用更加广泛。
A customizable distributed caching method based on object storage
【技术实现步骤摘要】
一种基于对象存储的可定制化分布式缓存方法
本专利技术涉及信息存储
,尤其涉及的是一种基于对象存储的可定制化分布式缓存方法。
技术介绍
在存储行业,传统网络存储架构主要有两种:存储局域网(SAN)和网络附加存储(NAS),而对象存储则是区别于这两种架构新的网络存储架构。对象存储结合了SAN和NAS的优点,同具有SAN的高速直接访问和NAS的分布式数据共享的优势,提供具有高可扩展性、高性能、高可靠性、跨平台以及安全的数据共享的存储体系结构。目前主要的对象存储系统AmazonS3,OpenStackSwift,CephRGW等,都是通过RESTful(基于HTTP协议实现)接口访问。基于HTTP的访问接口,读写都是以对象为单位,对于传统的流式数据,难以使用对象存储系统。对于近期较流行的云应用,往往需要修改对象的部分数据,但对象存储都是以整个对象为单位读写,造成明显的写入放大效应,消耗大量无用的磁盘IO和网络IO。基于对象存储系统的缓存系统目前有相关的缓存方案:1.分布式多级缓存系统,零级缓存用于缓存元数据,一级缓存用于缓存客户端数据,二级缓存用于缓存对象存储节点数据。2.零级缓存管理模块负责零级缓存中元数据的查找、替换和安装网络访问控制协议进行元数据访问。3.一级缓存管理模块负责共享内存空间的申请、分配、回收以及缓存单元的置换。4.二级缓存管理模块负责对象存储节点间二级缓存进行多队列统一置换。现有技术的缺点:1.该技术缓存方案没有实现分布式架构,本地的数据只能缓存在本地,没有考虑到缓存节点的增加,减少的情况。2.缓存系统不是存在于对象存储节点,而是存在于客户端上。对于瘦客户端可能无法提供该技术所需要的资源。3.使用多级缓存系统,架构复杂,并且难以针对某种特殊的应用定制缓存,无法得到真正意义上的提高可用性和性能。因此,现有技术还有待于改进和发展。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于对象存储的可定制化分布式缓存方法,旨在保证分布式缓存的高可扩展性的同时,且制定有业务定制化接口,使得对象存储能够应用更加广泛。本专利技术解决技术问题所采用的技术方案如下:一种基于对象存储的可定制化分布式缓存方法,所述可定制化分布式缓存方法采用R个对象存储节点的架构;具体步骤包括:A、预先在所述对象存储节点中设置可定制化的缓存方案,根据所述缓存方案将对象存储节点中的数据读入缓存空间;B、接收访问请求,并根据预先设置的映射关系表判断访问请求内容所在的对象存储节点;若判断为本地则通过缓存抽象层接口调用访问请求内容,若判断为非本地则将所述访问请求转发至相应的对象存储节点,并通过缓存抽象层接口调用访问请求内容。所述可定制化分布式缓存方法,其中,所述可定制化的缓存方案具体为:用户可根据业务需求,对缓存方案进行添加或删除,以定制适合的缓存算法。所述可定制化分布式缓存方法,其中,所述缓存空间包括块设备缓存空间和内存缓存空间。所述可定制化分布式缓存方法,其中,所述块设备缓存空间和内存缓存空间设置有一缓存抽象层,用于统一缓存空间的访问接口。所述可定制化分布式缓存方法,其中,所述步骤B具体包括:客户端,用于与其他对象存储节点的连接管理层建立连接,发送访问请求;连接管理层,用于与客户端建立连接,并将连接添加到分发层,管理各个连接的连接状态;分发层:基于IO多路复用或异步IO技术,对访问请求进行指派和分发;定位处理层:根据访问请求定位访问请求内容所在的对象存储节点,若判断为本地则通过缓存抽象层接口调用访问请求内容,若判断为非本地则将所述访问请求转发至相应的对象存储节点,并通过缓存抽象层接口调用访问请求内容。所述可定制化分布式缓存方法,其中,根据访问请求定位访问请求内容所在的对象存储节点,若判断为非本地对象存储节点,则通过所述客户端将所述访问请求发送至相应的对象存储节点的连接管理层。所述可定制化分布式缓存方法,其中,所述‘根据访问请求定位访问请求内容所在的对象存储节点’通过映射关系表与Paxos算法实现,具体为:构建N个虚拟节点,虚拟节点从0开始顺序编号至N-1,将对象存储节点设为真实节点,真实节点从0开始顺序编号至R-1;虚拟节点N-1大于真实节点R-1,在映射关系表中,保存了虚拟节点到真实节点的映射,数据存储流程如下:S1、根据访问请求,客户端请求对象A,对象A的id进行hash运算,并对其计算结果进行取模,得到对象A对应的虚拟节点编号;S2、通过查找映射关系表,获得对象A的真实节点编号,将访问请求转发至对应的真实节点。所述可定制化分布式缓存方法,其中,所述步骤B还包括:心跳模块,用于与其他对象存储节点进行心跳,当对象存储节点发生故障时,发起Paxos提议,维持R个对象存储节点的数据一致性。所述可定制化分布式缓存方法,其中,当真实节点发生故障时,处理方法如下:临时性故障:将内存中的映射关系表副本进行修改,获取故障真实节点所拥有的虚拟节点,将获取到的虚拟节点分配至其他虚拟节点,当故障真实节点恢复后,则重新按照磁盘中的映射表进行数据分布;永久性故障:当真实节点故障不能恢复时,则将内存中的映射关系表副本同步到磁盘中。本专利技术的有益效果:本专利技术在对象存储系统的高可扩展架构上,通过映射关系表和Paxos算法,继承了其高可扩展的架构,无需在对象存储系统之外提供额外的物理节点,使缓存系统可故障自动切换;并且预留有业务定制化接口,使得对象存储的应用更加广泛。附图说明图1是本专利技术一种基于对象存储的可定制化分布式缓存方法较佳实施例的流程图。图2是本专利技术一种基于对象存储的可定制化分布式缓存方法较佳实施例的总体架构框图。图3是本专利技术一种基于对象存储的可定制化分布式缓存方法较佳实施例的具体实施流程图。图4是本专利技术一种基于对象存储的可定制化分布式缓存方法较佳实施例的映射关系表。图5是本专利技术一种基于对象存储的可定制化分布式缓存方法较佳实施例的映射关系表故障自动切换图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例提供了一种基于对象存储的可定制化分布式缓存方法,请参见图2,如图所示,其采用3个对象存储节点的处理架构。请参加图1,图1为本专利技术一种基于对象存储的可定制化分布式缓存方法较佳实施例的流程图,如图所示,具体步骤包括:100、预先在所述对象存储节点中设置可定制化的缓存方案,根据所述缓存方案将对象存储节点中的数据读入缓存空间。具体实施例中,所述可定制化的缓存方案具体为:用户可根据业务需求,对缓存方案进行添加或删除,以定制适合的缓存算法。l本专利技术自定义缓存空间管理,缓存抽象层定义一组接口,统一缓存空间的访问接口,如缓存软件中实现了通用的块设备缓存管理和内存缓存管理。用户可根据自身业务特点,定制适合的缓存算法。如针对视频流的帧,虚拟机的磁盘访问(连续4K的小IO),图片缩略图等应用,可以定制固定大小的缓存方案,提升缓存IO效率。定制热点,数据热点往往与业务有着紧密的关系,很难有一套通用的热点数据判断方法。在定位处理的本地API可注册热点数据判断的回调函数。比如可根据发布时间判断热点:门户网站,新闻网本文档来自技高网...
【技术保护点】
一种基于对象存储的可定制化分布式缓存方法,其特征在于,所述可定制化分布式缓存方法采用R个对象存储节点的架构;具体步骤包括:A、预先在所述对象存储节点中设置可定制化的缓存方案,根据所述缓存方案将对象存储节点中的数据读入缓存空间;B、接收访问请求,并根据预先设置的映射关系表判断访问请求内容所在的对象存储节点;若判断为本地则通过缓存抽象层接口调用访问请求内容,若判断为非本地则将所述访问请求转发至相应的对象存储节点,并通过缓存抽象层接口调用访问请求内容。
【技术特征摘要】
1.一种基于对象存储的可定制化分布式缓存方法,其特征在于,所述可定制化分布式缓存方法采用R个对象存储节点的架构;具体步骤包括:A、预先在所述对象存储节点中设置可定制化的缓存方案,根据所述缓存方案将对象存储节点中的数据读入缓存空间;B、接收访问请求,并根据预先设置的映射关系表判断访问请求内容所在的对象存储节点;若判断为本地则通过缓存抽象层接口调用访问请求内容,若判断为非本地则将所述访问请求转发至相应的对象存储节点,并通过缓存抽象层接口调用访问请求内容。2.根据权利要求1所述的可定制化分布式缓存方法,其特征在于,所述可定制化的缓存方案具体为:用户可根据业务需求,对缓存方案进行添加或删除,以定制适合的缓存算法。3.根据权利要求1所述的可定制化分布式缓存方法,其特征在于,所述缓存空间包括块设备缓存空间和内存缓存空间。4.根据权利要求3所述的可定制化分布式缓存方法,其特征在于,所述块设备缓存空间和内存缓存空间设置有一缓存抽象层,用于统一缓存空间的访问接口。5.根据权利要求1所述的可定制化分布式缓存方法,其特征在于,所述步骤B具体包括:客户端,用于与其他对象存储节点的连接管理层建立连接,发送访问请求;连接管理层,用于与客户端建立连接,并将连接添加到分发层,管理各个连接的连接状态;分发层:基于IO多路复用或异步IO技术,对访问请求进行指派和分发;定位处理层:根据访问请求定位访问请求内容所在的对象存储节点,若判断为本地则通过缓存抽象层接口调用访问请求内容,若判断为非本地则将所述访问请求转发至相应的对象存储节点,并通过缓存抽象层接口调用访问...
【专利技术属性】
技术研发人员:张朝潞,
申请(专利权)人:深圳市云舒网络技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。