[发明专利]将编码数据文件存储在多个文件服务器上有效
申请号: | 201280075352.2 | 申请日: | 2012-08-16 |
公开(公告)号: | CN104583965B | 公开(公告)日: | 2017-08-11 |
发明(设计)人: | 张磊;宋学锋 | 申请(专利权)人: | 英派尔科技开发有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10 |
代理公司: | 北京三友知识产权代理有限公司11127 | 代理人: | 吕俊刚,刘久亮 |
地址: | 美国特*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编码 数据文件 存储 文件服务器 | ||
背景技术
除非本文另外指示,否则本文所描述的材料对于本申请中的权利要求而言不是现有技术,并且不通过包括在此部分中承认为现有技术。
连接至因特网的计算机系统和用户的数量在迅速地增长。在诸如因特网的非常大的分布式计算环境中,文件服务器故障的可能性随着文件服务器的数量而增加。故障可能由于软件和硬件不正常工作、过度的文件服务器负荷、网络拥塞和/或自然灾难而发生。这样的故障可能导致数据不可用,并且因此导致对用户而言不太可靠的服务。
当前的分布式文件存储系统(诸如Coda文件系统、Andrew文件系统和Echo文件系统)跨越多个文件服务器存储数据对象。主要从Andrew文件系统继承的Coda文件系统关注于可用性问题而被开发。Coda不对文件系统重新配置以提供数据可用性。替代地它在文件服务器故障和断开操作情况下使文件的只读副本保持在远程站点。Echo文件系统具有自动地检测故障(诸如文件服务器故障)的各种方式,并且能够通过向负责处理故障的管理员发送消息的守护进程来报告这些故障。然而,重新配置是人工完成的。一般而言,通过使文件保持在主站点以用于下载并且在主站点故障情况下使其副本保持在其它站点来提供数据的可用性。Echo系统在故障情况下严重依赖一切的冗余拷贝。辅站点监测主站点可用性并且反之亦然。
用于在分布式环境中使能实现高数据可用性和可靠服务的这些方法中的每一个往往增加文件服务器管理的复杂性,增加计算复杂度,或者提供不足的冗余。
发明内容
本文所描述的技术通常涉及对数据文件进行编码并且将数据文件存储在多个文件服务器上以及从所述多个文件服务器中获取(retrieving)所述数据文件并且对所述数据文件进行解码。
在一些示例中,描述了一种用于对数据文件的数据块进行编码并且将数据文件的数据块存储在多个文件服务器上的方法。所述方法可以包括以下步骤:选择数据剪辑大小S;选择要包括在各个数据块中的数据剪辑的数量N;以及将所述数据文件划分成各自具有数据大小(S×N)的数据块。所述方法还可以包括以下步骤:对于各个数据块,将所述数据块划分成N个数据剪辑;生成随机数R,其中1≤R≤N;选择冗余数据剪辑的数量K,其中N≤K≤2^N;使用随机线性编码通过异或R个数据剪辑K次来对K个数据剪辑进行编码;以及将K个编码的数据剪辑存储在所述多个文件服务器上。
在一些示例中,描述了一种用于从多个文件服务器中获取数据文件的编码数据块并且对数据文件的编码数据块进行解码的方法。所述方法可以包括获取数据剪辑大小S和包括在各个数据块中的数据剪辑的数量N。所述方法还可以包括以下步骤:对于各个编码数据块,从所述多个文件服务器中获取与所述数据块对应的N个线性地独立编码的数据剪辑,使用一个或更多个线性方程来对所述N个线性地独立编码的数据剪辑进行解码,并且将各自具有所述数据剪辑大小S的所述N个数据剪辑组装(assemble)成所述数据块。所述方法还可以包括将所述数据块组装成所述数据文件。所述方法还包括以下步骤:在将所述数据块组装成所述数据文件之前,如果所述数据大小S×N没有被均匀地划分成所述数据文件的大小,则去除在最后的数据块上填补的零。
在一些示例中,描述了一种用于将数据文件的编码数据块存储在多个文件服务器上并且从所述多个文件服务器中获取所述数据文件的编码数据块的系统。所述系统可以包括主文件服务器和一个或更多个辅文件服务器。所述主文件服务器可以被配置为在存储所述数据文件期间:选择数据剪辑大小S,选择要包括在各个数据块中的数据剪辑的数量N,将所述数据文件划分成各自具有数据大小(S×N)的数据块,以及,对于各个数据块:将所述数据块划分成N个数据剪辑;生成随机数R,其中1≤R≤N;选择冗余数据剪辑的数量K,其中N≤K≤2^N;使用随机线性编码通过异或R个数据剪辑K次来对K个数据剪辑进行编码;并且将K个编码的数据剪辑存储在一个或更多个辅文件服务器上。所述主文件服务器可以被进一步配置为在所述数据文件的获取期间:对于各个编码数据块,从所述一个或更多个辅文件服务器中获取与所述数据块对应的N个线性地独立编码的数据剪辑,使用一个或更多个线性方程来对所述N个线性地独立编码的数据剪辑进行解码,并且将各自具有所述数据剪辑大小S的所述N个数据剪辑组装成所述数据块。所述主文件服务器可以被进一步配置为在所述数据文件的获取期间,将所述数据块组装成所述数据文件。
前面的发明内容仅是例示性的,并且不旨在以任何方式为限制性的。除以上所述的例示性方面、实施方式和特征之外,另外的方面、实施方式和特征通过参照附图和以下详细描述将变得显而易见。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英派尔科技开发有限公司,未经英派尔科技开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280075352.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:缝纫机及缝纫机的控制方法
- 下一篇:一种双重张力夹线器