[发明专利]面向分布式多云存储的数据传输调度系统有效
| 申请号: | 202010281456.5 | 申请日: | 2020-04-10 |
| 公开(公告)号: | CN111629028B | 公开(公告)日: | 2022-02-25 |
| 发明(设计)人: | 鄂金龙;李振华;刘云浩 | 申请(专利权)人: | 清华大学 |
| 主分类号: | H04L67/1097 | 分类号: | H04L67/1097;H04L67/06;H04L67/563;H04L67/61;H04L67/63 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 张秀程 |
| 地址: | 100084 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 面向 分布式 多云 存储 数据传输 调度 系统 | ||
1.面向分布式多云存储的数据传输调度系统,其特征在于,包括:代理服务器、调度控制器和本地管理器;其中:
所述代理服务器与本区域云存储节点邻近部署,作为用户上传及下载中继优化数据传输,在线估算云存储节点链路带宽反馈给所述调度控制器,并在闲时将数据迁移至其他区域云存储节点;
所述调度控制器基于预设优先级在线排队处理用户操作请求,周期性收集云存储节点链路带宽,选取访问性能最优节点集合提供给当前请求操作的客户端,并自适应调整若干节点的代理服务器数量;
所述本地管理器在客户端监控用户请求操作,将用户请求操作发送至所述调度控制器,根据预设数据存储方式与返回的性能最优节点集合交互完成数据传输;
所述本地管理器包括传输管理模块,所述传输管理模块根据所述调度控制器返回的性能最优节点集合,按照多副本存储方式和冗余编码存储方式分别选取节点集合上传和下载文件,并通过查询元数据处理文件删除操作,对应的工作流程包括:
对于多副本存储方式上传操作,上传数据到性能最优的云存储节点,并使用一致性散列法从性能最优节点集里随机另选取m个节点,闲时上传数据副本用于备份,总副本数n=m+1;
对于冗余编码存储方式上传操作,上传数据前按预设固定大小分块并使用R-S纠删码进行冗余编码,对于每个冗余块,采用一致性散列法从性能最优节点集里随机选取n个节点各异步上传一次;
对于多副本存储方式下载操作,将总下载工作量w对于所有存有数据的n个节点按w=∑wr,r=1,2,…,n分配,使下载用时相等达到整体最小,为各下载链路可用带宽;
对于冗余编码方式下载操作,每个分块需要下载p个冗余块来恢复数据,与节点r和分块i之间存储指示变量sri和下载指示变量dri满足关系∑dri=p,dri≤sri∈{0,1},整个文件下载用时为从各服务节点下载用时最大者bi为冗余块大小,为各下载链路可用带宽,将0-1整数规划问题转化为整数线性规划问题,采用分支限界法求{dri}近似最优解;
对于不涉及数据传输的文件删除操作,向所有节点负责维护元数据的代理服务器查询是否存在相关数据或分块,若存在则调用API执行删除;
所述代理服务器包括带宽测量模块、传输优化模块和数据迁移模块;其中:
所述带宽测量模块根据周期性传输测量预设文件和预设时间段内数据上传及下载的时延记录,估算用户与云存储节点之间的链路带宽,对应的工作流程包括:
在闲时与各客户端之间周期性传输特定大小测试文件测量链路传输用时,使用BWl=SF/Tl估算各段链路l的上下行带宽记为初始测量带宽;
按照向调度控制器反馈状态周期将时间分段,在每个时间段内记录每个客户端历史上传/下载数据用时;
在每次传输请求到达时,计算当前时间段内最近k个文件的链路带宽求其调和平均值作为当前可用带宽
如果当前时间段内不足k个文件传输,按实际个数求平均值作为当前可用带宽;
如果当前时间段内还没有文件传输,则仍取上述初始测量带宽作为当前可用带宽值;
所述传输优化模块以低时延访问邻近存储节点的数据,与客户端数据传输过程中进行优化处理,对应的工作流程包括:
1)在客户端发送上传/下载请求时,接收客户端生成的请求文件f的校验和列表,这里是对于所有上传和存在本地版本的下载情况;
2)根据校验和列表在维护的元数据中查找节点中存储的相似文件f’,若存在相似文件则对上传和下载分别执行步骤3)和步骤4),若无文件匹配则跳转到步骤5);
3)对于文件上传,向客户端返回f’的校验和列表用于生成增量文件,随后接收增量文件上传并最终生成新版本文件f,调用云API存储于节点;
4)对于存在f的文件下载,调用云API获取节点中的文件版本f’,生成增量文件返回给客户端,用于最终生成新版本文件f’;
5)对于其他情况采用一般的上传/下载,对大文件在上传下载前进行压缩,完成后另一方解压处理;
所述数据迁移模块在无数据传输时为跨地理区域用户构建哈希树对比云存储节点间的元数据一致性,将待迁移文件经过优化传输迁移至其他区域云存储节点,对应的工作流程包括:
1)对用户所有文件计算哈希值,将文件按在客户端的存储路径分簇,通过字符串连接“+”计算包含n个文件{fi}(i=1,2,…,n)的目录d的哈希值Hash(d)=Hash(Hash(d0)+∑Hash(fi)),其中Hash(d0)为存储路径计算的哈希值,按存储路径逐层迭代计算,最终生成一棵高度为h的哈希树;
2)当两个云存储节点都无数据传输时启动数据迁移,两个代理服务器间按哈希树从上至下逐层交换对比目录哈希值,哈希值匹配代表目录下所有文件一致,对不匹配目录对比下层目录或文件直至最下层文件,在最多h次交互内可以确定所有需要迁移文件,对于每个文件执行下面步骤3)至步骤5);
3)源端代理服务器调用云API从源云存储节点获取文件,判断文件大小是否超过阈值,对于大文件使用bzip2压缩,对于小文件等待其他文件打包成阈值大小的传输块;
4)代理服务器之间建立一个网络长连接,传输小文件打包成的块或大文件,目的端代理服务器异步确认传输成功文件或打包块;
5)目的端代理服务器解压文件或解开打包传输块,调用云API将文件存储到目的云存储节点;
6)当完成所有文件迁移,删除源云存储节点处文件及其元数据;
所述调度控制器包括请求排队模块和代理适配模块;其中:
所述请求排队模块由请求到达时间与预计完成时间之和定义预设优先级,根据预设优先级排队处理用户文件操作请求,对应的工作流程包括:
当用户请求到达调度控制器时,记录其到达时间tA,将该请求加入处理队列;
对于大小为Sf文件的传输操作计算预计完成时间tOT=Sf*(1-β)/BWa,其中BWa代表当前各代理服务器与该客户端间最大的估算链路可用带宽,冗余率β表示经过上述传输优化处理文件减少的传输量,此处根据该文件历史记录预测;
对于不涉及数据传输的文件删除等操作,为tOT设置较小的固定值;
将各请求优先级RP定义为请求到达时间tA和预计完成时间tOT之和,调整队列按RP值对请求排序,RP值小的请求优先;
排序后的操作分类添加到多个消息队列,由各自的处理线程通知客户端执行对应操作,向其提供当前性能最优的云存储节点;
所述代理适配模块根据云存储节点若干代理服务器反馈的实际带宽与最大带宽之比分别与预设拥塞阈值和预设空闲阈值进行比较,动态调整代理服务器数量,并确定单次数据传输的中继代理,对应的工作流程包括:
当某个云存储节点所有正在使用的代理服务器实际带宽与额定最大带宽的比率都小于一个拥塞阈值θc时,在该节点处增加部署一个代理服务器以均衡现有代理服务器的负载;
当某个云存储节点所有正在使用的代理服务器实际带宽与最大带宽的比率都大于一个空闲阈值θl时,在该节点处将带宽最低的代理服务器在其完成当前数据传输后回收以节省资源;
当客户端请求数据传输时,根据相关云存储节点所有代理服务器反馈的当前实际带宽,选取其中带宽最高的代理服务器作为传输的中继代理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010281456.5/1.html,转载请声明来源钻瓜专利网。





