本发明涉及互联网应用技术领域,尤其涉及一种基于内存加速的分布式对象缓存方法。
背景技术:
随着网络技术的发展,越来越多的应用提供照片和视频等对象的存储服务。在使用这项服务的同时,系统会产生大量的缩略图和压缩视频供用户快速了解。而这些缩略图需要在服务端存储一段时间,以供后续使用者使用。
当前市场上存在一些技术相关的技术:
一、memcache,其使用等内存存储,适合储存小对象,但是其需要使用专用协议,适用范围小,不方便与现有系统整合。
二、分布式文件系统,其没有对象过期设置,需要额外开发。同时还会使对象备份数量大于1使得额外使用空间,同样的,其也需要使用专用协议,适用范围小,不方便与现有系统整合。最后,当一个节点失效后其需要数据迁移。
技术实现要素:
鉴于目前互联网应用技术领域存在的上述不足,本发明提供一种基于内存加速的分布式对象缓存方法,提高了缓存速度,适用范围广。
为达到上述目的,本发明的实施例采用如下技术方案:
一种基于内存加速的分布式对象缓存方法,所述基于内存加速的分布式对象缓存方法包括以下步骤:
上传数据;
通过访问dns服务获取当前最佳服务节点;
在最佳服务节点进行数据写入存储。
依照本发明的一个方面,所述通过访问dns服务获取当前最佳服务节点包括:通过访问dns服务,按节点容量使用加权平均算法获取最佳服务节点。
依照本发明的一个方面,所述在最佳服务节点进行数据写入存储包括:先写入内存,然后更新元数据,再写入本地硬盘。
依照本发明的一个方面,所述上传数据包括:客户端通过put的方式上传数据。
依照本发明的一个方面,所述基于内存加速的分布式对象缓存方法包括以下步骤:通过负载均衡获取对象数据存储节点的位置;再通过反向代理从对象数据存储节点下载数据。
依照本发明的一个方面,所述通过负载均衡获取对象数据存储节点的位置包括:负载均衡器与对象数据节点共享内存网络,以获取对象数据存储节点的位置。
依照本发明的一个方面,所述基于内存加速的分布式对象缓存方法包括:元数据过期后自动通知数据存储节点删除持久化在硬盘上的对象。
依照本发明的一个方面,所述负载均衡和数据存储节点都是基于http标准协议。
本发明实施的优点:本发明所述的基于内存加速的分布式对象缓存方法包括上传数据;通过访问dns服务获取当前最佳服务节点;在最佳服务节点进行数据写入存储等步骤,通过分布式内存缓存提高元数据的访问速度,通过内存缓存提高对象的读写速度;进一步的,通过负载均衡获取对象数据存储节点的位置;通过反向代理从对象数据存储节点下载数据,负载均衡和存储节点都是基于http标准协议,方便与现有系统整合,适用范围大。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一所述的一种基于内存加速的分布式对象缓存方法示意图;
图2为本发明实施例二所述的一种基于内存加速的分布式对象缓存方法示意图;
图3为本发明实施例三所述的一种基于内存加速的分布式对象缓存方法示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图1所示,一种基于内存加速的分布式对象缓存方法,所述基于内存加速的分布式对象缓存方法包括以下步骤:
步骤s1:上传数据;
所述步骤s1上传数据的具体实施方式可为:客户端通过put的方式上传数据。
步骤s2:通过访问dns服务获取当前最佳服务节点;
所述步骤s2通过访问dns服务获取当前最佳服务节点的具体实施方式可为:通过访问dns服务,获取当前最佳服务节点,客户端put数据到最佳服务节点。
在实际应用中,所述最佳服务节点可按节点容量使用加权平均算法获取,主要目的是为了让瞬时流量按随机加节点空间比来分配。这样做的目标是为了防止节点过热,以及使各各节点空间比逐渐趋于一致。
步骤s3:在最佳服务节点进行数据写入存储;
所述步骤s3在最佳服务节点进行数据写入存储的具体实施方式可为:先将数据写入内存,然后更新元数据,再写入本地硬盘。
本实施例所述的基于内存加速的分布式对象缓存方法包括上传数据;通过访问dns服务获取当前最佳服务节点;在最佳服务节点进行数据写入存储等步骤,通过分布式内存缓存提高元数据的访问速度,通过内存缓存提高对象的读写速度。存储节点都是基于http标准协议,方便与现有系统整合,适用范围大。
实施例二
如图2所示,一种基于内存加速的分布式对象缓存方法,所述基于内存加速的分布式对象缓存方法包括以下步骤:
步骤s1:上传数据;
所述步骤s1上传数据的具体实施方式可为:客户端通过put的方式上传数据。
步骤s2:通过访问dns服务获取当前最佳服务节点;
所述步骤s2通过访问dns服务获取当前最佳服务节点的具体实施方式可为:通过访问dns服务,获取当前最佳服务节点,客户端put数据到最佳服务节点。
在实际应用中,所述最佳服务节点可按节点容量使用加权平均算法获取,主要目的是为了让瞬时流量按随机加节点空间比来分配。这样做的目标是为了防止节点过热,以及使各各节点空间比逐渐趋于一致。
步骤s3:在最佳服务节点进行数据写入存储;
所述步骤s3在最佳服务节点进行数据写入存储的具体实施方式可为:先将数据写入内存,然后更新元数据,再写入本地硬盘。
步骤s4:通过负载均衡获取对象数据存储节点的位置;
所述步骤s4通过负载均衡获取对象数据存储节点的位置的具体实施方式可为:负载均衡器与对象数据节点共享内存网络,以获取对象数据存储节点的位置。
步骤s5:通过反向代理从对象数据存储节点下载数据。
所述步骤s5通过反向代理从对象数据存储节点下载数据的具体实施方式可为:负载均衡器通过反向代理下载数据。
其中,所述负载均衡和数据存储节点都是基于http标准协议,方便与现有系统整合,适用范围大。
本实施例所述的基于内存加速的分布式对象缓存方法,包括上传数据;通过访问dns服务获取当前最佳服务节点;在最佳服务节点进行数据写入存储;通过负载均衡获取对象数据存储节点的位置;通过反向代理从对象数据存储节点下载数据等步骤,通过分布式内存缓存提高元数据的访问速度,通过内存缓存提高对象的读写速度;进一步的,负载均衡和存储节点都是基于http标准协议,方便与现有系统整合,适用范围大。
实施例三
如图3所示,一种基于内存加速的分布式对象缓存方法,所述基于内存加速的分布式对象缓存方法包括以下步骤:
步骤s1:上传数据;
所述步骤s1上传数据的具体实施方式可为:客户端通过put的方式上传数据。
步骤s2:通过访问dns服务获取当前最佳服务节点;
所述步骤s2通过访问dns服务获取当前最佳服务节点的具体实施方式可为:通过访问dns服务,获取当前最佳服务节点,客户端put数据到最佳服务节点。
在实际应用中,所述最佳服务节点可按节点容量使用加权平均算法获取,主要目的是为了让瞬时流量按随机加节点空间比来分配。这样做的目标是为了防止节点过热,以及使各各节点空间比逐渐趋于一致。
步骤s3:在最佳服务节点进行数据写入存储;
所述步骤s3在最佳服务节点进行数据写入存储的具体实施方式可为:先将数据写入内存,然后更新元数据,再写入本地硬盘。
步骤s4:通过负载均衡获取对象数据存储节点的位置;
所述步骤s4通过负载均衡获取对象数据存储节点的位置的具体实施方式可为:负载均衡器与对象数据节点共享内存网络,以获取对象数据存储节点的位置。
步骤s5:通过反向代理从对象数据存储节点下载数据。
所述步骤s5通过反向代理从对象数据存储节点下载数据的具体实施方式可为:负载均衡器通过反向代理下载数据。
其中,所述负载均衡和数据存储节点都是基于http标准协议,方便与现有系统整合,适用范围大。
步骤s6:元数据过期后自动通知数据存储节点删除持久化在硬盘上的对象。
本发明实施的优点:本发明所述的基于内存加速的分布式对象缓存方法,包括上传数据;通过访问dns服务获取当前最佳服务节点;在最佳服务节点进行数据写入存储;通过负载均衡获取对象数据存储节点的位置;通过反向代理从对象数据存储节点下载数据等步骤,通 过分布式内存缓存提高元数据的访问速度,通过内存缓存提高对象的读写速度;进一步的,负载均衡和存储节点都是基于http标准协议,方便与现有系统整合,适用范围大。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。