一种处理对象存储高并发请求的分布式网关方法与流程

文档序号:11524338阅读:1000来源:国知局
一种处理对象存储高并发请求的分布式网关方法与流程

本发明涉及云计算存储领域,具体地说是一种处理对象存储高并发请求的分布式网关方法。



背景技术:

在大数据,云计算应用场景中,对象存储是一种扁平化的存储方案,拥有不间断扩展性,限制数据的持久性,无限技术更新和成本控制,特别适用于存储非结构化的数据,并且极大方便了数据的分享和传播。对象存储网关是对象存储基于http协议对接应用的服务接口,具有用户权限验证,对象的上传下载,对象的分享,存储空间的创建等功能。对象存储服务直接面向用户提供存储服务,通过计费要素按需计算费用,计费要素包含容量,请求次数,带宽等。这就要求网关具有按日、月统计用户使用资源的能力。需要网关在原有的功能基础上提供一种高效的数据统计方式,且不能影响用户的的体验。

在国内网络世界中,每天产生的数据流量达到500pb以上。论坛、微博、移动社交、网络媒体活跃着千万级别的用户。海量的文档,图片,视频,音乐需要一种基于网络,且具有不间断扩展,方便数据分享的存储服务。对象存储服务特别适用于这中基于网络提供非结构化数据存储的需求场景。因此要求对象存储的网关能够支持起海量的用户请求,并且具有较高稳定性和安全性。在国内,云服务平台有企业云,政务云,公有云,私有云等,每个平台针对用户业务需求也有大小多少之分。原有的用户平台业务有富余的计算,存储和网络资源。需要对象存储的网关,即能利用原有资源,又能支撑用户现有需求量,并且能够通过横向扩展来进行不间断能力的提升,还可以根据用户的业务缩减来降低业务的处理能力以达到节省成本的目的。

常规网关部署在2台有较高性能的服务器上,通过ha进行主-副灾备,网关可以统计用户连接的数据包流量,数据请求个数。网关直接与云存储集群进行数据交互。常规网关部署相对简单,满足不了针对每个用户的资源使用情况统计,也无法生成历史资源统计报表。随着用户的规模扩展无法进行横向扩展,针对用户规模不大的项目,服务器资源有些浪费。



技术实现要素:

本发明的技术任务是提供一种处理对象存储高并发请求的分布式网关方法。

本发明的技术任务是按以下方式实现的,该方法是在对象存储服务系统中,反代理服务器通过http协议,接收用户的请求包,通过离散算法从分布式网关中选取网关,将请求包转发给所选网关,网关同时对请求包的数据和请求包的基本信息进行处理。

该方法步骤如下:

步骤1)用户通过公网向反代理服务器发送请求包;

步骤2)反代理服务器根据网关权重通过离散算法从分布式网关中选出一个网关,并将请求包转发给此网关;

步骤3)所述的网关将请求包的基本信息送入通信信道,将请求包数据信息与云存储集群进行交互;

步骤4)被送入通信信道的请求包的基本信息被路由到消息处理服务集群,消息处理服务集群将请求包的基本信息录入到mysql数据库,通过web应用程序,根据业务需求提供数据统计功能,根据计费要素提供各维度的展示方式。

所述的反代理服务器根据网关权重通过离散算法从分布式网关中选出一个网关的操作方法如下:

反代理服务器启动时加载一个根据权重匹配的网关地址列表,列表有两个字段组成,分别为列表id和网关地址ip;当用户请求包经过反代理服务器时,根据请求包的url地址和时间戳算出一个随机数;然后这个随机数根据网关列表取模,余数就是所选取的网关列表中的网关id,根据网关id获取网关的ip地址。

所述的列表id是唯一索引,网关地址ip可以重复;所述的网关权重是几,列表数据中会有对应数量的网关地址。

所述的请求包分两类,分别是单包请求和多包请求。

所述的单包请求:在一个原子操作中只发一个请求包;多包请求:在一个原子操作中发起的多个请求包;用户单包请求经过反代理服务器分发没有影响;多包请求经过反代理服务器分发给不同网关进行处理,需要消除网关之间数据包的依赖性;实现方式分为多包请求上传和多包请求下载。

所述的多包请求上传方式为:原始对象上传之前会分成多个文件片,每个文件片记录所属对象,起止位置,大小,md5校验码;文件片通过排队或者并发方式上传。

所述的并发方式上传流程如下:

1)文件片1,文件片2通过并发方式上传到反代理服务器;

2)反代理服务器经过离散算法,将文件片1的请求包分发给网关1处理,将文件片2的请求包分发给网关2处理;

3)网关1和网关2同时将数据存放于云存储集群;

4)当所有文件片传送完毕,进行文件片校验,如果所有md5校验码正确,即对象上传成功。

所述的多包请求下载流程如下:

1)用户根据对象的基本信息进行切片,基本信息包括:对象名称、对象创建时间、文件片位置、文件片大小;并将切片的文件分为文件片1、文件片2……文件片n;

2)用户向反代理服务器请求下载文件片1和文件片2;

3)网关2和网关3同时查询缓存信息,如果缓存中不存在,直接去云存储集群请求;如果缓存中存在,获取md5校验码去云存储集群校验,如果信息一致,从内存中读取数据返回,如果md5校验码校验失败,则从云存储集群请求信息;

4)云存储集群返回的文件片1缓存在网关2,文件片2缓存在网关3;

5)网关从缓存中读取数据返回给反代理服务器;

6)反代理服务器同时将文件片1和文件片2反馈给客户;

7)当所有文件片请求完毕,校验文件md5校验码,如果一致,则下载成功。

所述的请求包的基本信息为:请求包的大小,请求的类型,用户公开密钥,请求的时间,请求包的url。

本发明的一种处理对象存储高并发请求的分布式网关方法和现有技术相比,节约硬件成本,提升了对象存储网关的请求包的处理能力;针对多包请求,及对象的上传下载,有明显的速度提升,提供更好的用户体验;丰富的数据统计功能,使针对用户的更深层次的数据挖掘应用打下了基础。

附图说明

附图1为一种处理对象存储高并发请求的分布式网关方法的示意框架图;

附图2为离散算法的原理示意图;

附图3为并发方式上传流程图。

附图4为多包请求下载流程图。

附图5为一种处理对象存储高并发请求的分布式网关方法的数据统计流程图。

具体实施方式

实施例1:

该处理对象存储高并发请求的分布式网关方法是在对象存储服务系统中,反代理服务器通过http协议,接收用户的请求包,通过离散算法从分布式网关中选取网关,将请求包转发给所选网关,网关同时对请求包的数据和请求包的基本信息进行处理;所述的请求包的基本信息为:请求包的大小,请求的类型,用户公开密钥,请求的时间,请求包的url。

所述的分布式网关具有动态添加网关功能,具有动态减少网关功能,具有根据网关权重,分发请求任务的功能,具有统计用户计费资源的能力,该分布式网关可以部署在物理机器,也可部署在虚拟机器,可以通过数量来达到质的提升,具有廉价部署的特性,可以精准满足不同用户量的需求。

步骤如下:

步骤1)用户通过公网向反代理服务器发送请求包;所述的请求包分两类,分别是单包请求和多包请求。

步骤2)反代理服务器根据网关权重通过离散算法从分布式网关中选出一个网关,并将请求包转发给此网关;

操作方法如下:

反代理服务器启动时加载一个根据权重匹配的网关地址列表,列表有两个字段组成,分别为列表id和网关地址ip;当用户请求包经过反代理服务器时,根据请求包的url地址和时间戳算出一个随机数;然后这个随机数根据网关列表取模,余数就是所选取的网关列表中的网关id,根据网关id获取网关的ip地址。

所述的反代理服务器支持动态更新网关地址列表;可以根据权重配置网关地址列表;减少网关时,将删除的网关地址从网关地址列表中去除,再释放删除网关资源;添加网关时,先部署网关应用,然后将网关ip添加到网关地址列表中去。

所述的列表id是唯一索引,网关地址ip可以重复;所述的网关权重是几,列表数据中会有对应数量的网关地址。例如:网关1权重是2,列表数据中会有两个网关1地址,网关2权重是1,列表数据中会有1个网关2地址,同理网关3权重是2,列表数据中会有两个网关3地址。

步骤3)所述的网关将请求包的基本信息送入通信信道,将请求包数据信息与云存储集群进行交互;

步骤4)被送入通信信道的请求包的基本信息被路由到消息处理服务集群,消息处理服务集群将请求包的基本信息录入到mysql数据库,通过web应用程序,根据业务需求提供数据统计功能,根据计费要素提供各维度的展示方式。

所述的单包请求:在一个原子操作中只发一个请求包;多包请求:在一个原子操作中发起的多个请求包;用户单包请求经过反代理服务器分发没有影响;多包请求经过反代理服务器分发给不同网关进行处理,需要消除网关之间数据包的依赖性;实现方式分为多包请求上传和多包请求下载。

所述的多包请求上传方式为:原始对象上传之前会分成多个文件片,每个文件片记录所属对象,起止位置,大小,md5校验码;文件片通过排队或者并发方式上传。

所述的并发方式上传流程如下:

1)文件片1,文件片2通过并发方式上传到反代理服务器;

2)反代理服务器经过离散算法,将文件片1的请求包分发给网关1处理,将文件片2的请求包分发给网关2处理;

3)网关1和网关2同时将数据存放于云存储集群;

4)当所有文件片传送完毕,进行文件片校验,如果所有md5校验码正确,即对象上传成功。

所述的多包请求下载流程如下:

1)用户根据对象的基本信息进行切片,基本信息包括:对象名称、对象创建时间、文件片位置、文件片大小;并将切片的文件分为文件片1、文件片2……文件片n;

2)用户向反代理服务器请求下载文件片1和文件片2;

3)网关2和网关3同时查询缓存信息,如果缓存中不存在,直接去云存储集群请求;如果缓存中存在,获取md5校验码去云存储集群校验,如果信息一致,从内存中读取数据返回,如果md5校验码校验失败,则从云存储集群请求信息;

4)云存储集群返回的文件片1缓存在网关2,文件片2缓存在网关3;

5)网关从缓存中读取数据返回给反代理服务器;

6)反代理服务器同时将文件片1和文件片2反馈给客户;

7)当所有文件片请求完毕,校验文件md5校验码,如果一致,则下载成功。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1