[发明专利]一种网络文件系统中数据的实时去重和传输方法有效

专利信息
申请号: 201010210339.6 申请日: 2010-06-25
公开(公告)号: CN101917396A 公开(公告)日: 2010-12-15
发明(设计)人: 唐力;汪东升 申请(专利权)人: 清华大学
主分类号: H04L29/06 分类号: H04L29/06;H04L29/08;G06F17/30
代理公司: 北京清亦华知识产权代理事务所(普通合伙) 11201 代理人: 罗文群
地址: 100091*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种网络文件系统中数据的实时去重和传输方法,属于计算机数据存储技术领域。首先在客户端和服务器端各设置文件元数据表、数据块索引表和文件组成表,客户端设置一个待发送消息队列,用于存储数据更新消息;客户端通过文件系统驱动接收和响应客户端应用程序对网络文件系统发起的操作命令,包括创建新文件、向已有文件写入数据、从已有文件读取数据和删除已有文件;在服务器端设置的网络服务接口,用于上传和下载数据块内容,接收和应答客户端消息。本发明方法,可删除重复数据,节省存储空间,避免在客户端与服务器端之间传输对方已有的数据,降低了网络带宽的开销;同时支持定长和不定长的文件分块方法,提高存储空间的利用效率。
搜索关键词: 一种 网络 文件系统 数据 实时 传输 方法
【主权项】:
一种网络文件系统中数据的实时去重和传输方法,其特征在于该方法包括以下步骤:(1)在网络文件系统的客户端和服务器端各设置文件元数据表、数据块索引表和文件组成表;所述的文件元数据表记录网络文件系统中每个文件的元数据,该元数据包括文件标识、文件名、文件所在文件夹的标识、文件大小、文件类型、访问权限以及文件的创建、修改和访问时间;所述的数据块索引表记录网络文件系统中文件的数据块的标识以及与标识相对应的数据块的引用次数,其中数据块的标识为该数据块内容的哈希值;所述的文件组成表记录组成网络文件系统中的文件的数据块的信息,包括文件标识、起始位置、数据块大小和数据块标识,由其中的起始位置和数据块大小决定数据区域;在网络文件系统的客户端设置一个待发送消息队列,用于存储客户端待发送给服务器端的数据更新消息;(2)客户端通过文件系统驱动接收和响应客户端应用程序对网络文件系统发起的操作命令,该操作命令包括创建新文件、向已有文件写入数据、从已有文件读取数据和删除已有文件;(2 1)当客户端的文件系统驱动接收到创建新文件的操作命令时,在客户端的上述文件元数据表中记录被创建文件的元数据,并将该元数据封装成一个文件元数据更新消息,再将该消息添加到客户端的上述待发送消息队列的队尾;(2 2)当客户端的文件系统驱动接收到向已有文件写入数据的操作命令时,进行以下操作:(2 2 1)根据操作命令中被写文件的文件标识、写入位置和写入数据大小,从客户端的上述文件组成表中检索属于该被写文件的两个数据块标识,且与该两个数据块标识相对应的两个数据块为与被写入数据区域相互重叠的首、尾两个数据块;(2 2 2)根据检索到的数据块标识,从客户端存储的文件中读取与该数据块标识相对应的数据块内容;(2 2 3)将读出的数据块内容中与被写入数据区域相不重叠的数据拼接到被写入数据的两侧,得到拼接后的数据及数据区域;(2 2 4)从客户端的上述文件组成表中检索与属于该被写文件、且起始位置位于上述步骤(2 2 3)数据区域之内的数据块相对应的数据块标识;(2 2 5)将与从客户端的上述数据块索引表中检索到的数据块标识相对应的数据块的引用次数减1,当引用次数成为0时,从客户端的数据块索引表中删除该数据块标识及与该数据块标识相对应的数据块引用次数,并从客户端的存储设备上删除该数据块内容;(2 2 6)将上述步骤(2 2 3)拼接后的数据切分成一组新数据块;(2 2 7)从客户端的上述数据块索引表中分别搜索与上述一组新数据块相对应的每个数据块标识:若该新数据块标识已存在,则在客户端的数据块索引表中将与该新数据块标识相对应的数据块的引用次数加1,若该数据块标识为新标识,则在客户端的数据块索引表中添加该新数据块的标识,并将与该新数据块标识相对应的数据块的引用次数设置为1;在客户端存储该新数据块的内容;在客户端的上述文件组成表中记录被写文件的标识、写入位置、该新数据块的大小以及该新数据块的标识;(2 2 8)在客户端将上述被写文件的文件标识、每个新数据块的起始位置、每个新数据块大小和每个新数据块标识封装成一个文件组成更新消息,并将该更新消息添加到客户端的上述待发送消息队列的队尾;(2 2 9)更新客户端的上述文件元数据表中被写文件的元数据,并将该更新后的元数据封装成文件元数据更新消息,并将该更新消息添加到客户端的上述待发送消息队列的队尾;(2 3)当客户端的文件系统驱动接收到从已有文件读取数据的操作命令时,进行以下操作:(2 3 1)根据操作命令,在客户端的内存中分配与待读取数据的大小相等的内存空间,并将该内存空间初始化为空白;(2 3 2)根据操作命令中的被读文件的文件标识和读取位置,从客户端的上述文件组成表中检索属于该被读文件的数据块标识,且与该数据块标识相对应的数据块是起始位置处于读取位置之前的最后一个数据块,若该数据块标识存在,且该数据块区域与待读取数据区域存在重叠,则从客户端读取该数据块内容,并将该读取的内容与待读取数据区域的重叠部分写入上述步骤(2 3 1)的内存空间的头部;(2 3 3)根据该操作命令,从客户端的上述文件组成表中检索属于该被读文件的数据块标识,且与该数据块标识相对应的数据块的起始位置处于待读取数据区域内,遍历检索到的所有数据块标识,对每个数据块标识进行以下操作:(2 3 3 1)判断客户端是否存有与该数据块标识相对应的数据块内容,若该内容存在,则读取该数据块内容,若该内容不存在,则从网络文件系统的服务器端下载该数据块内容,并在客户端存储该数据块内容;(2 3 3 2)将上述数据块内容中与待读取数据区域的重叠部分写入上述步骤(2 3 1)的内存空间中;(2 3 4)更新客户端的上述文件元数据表中被读文件的元数据,将该元数据封装成一个文件元数据更新消息,并将该消息添加到客户端的上述待发送消息队列的队尾;(2 3 5)将上述步骤(2 3 1)的内存空间中的数据通过客户端的文件系统驱动返回给客户端的应用程序;(2 4)当客户端的文件系统驱动接收到删除已有文件的操作命令时,进行以下操作:(2 4 1)从客户端的上述文件组成表中检索属于被删除文件的数据块标识;(2 4 2)在客户端的上述数据块索引表中将与检索到的每个数据块标识相对应的数据块的引用次数减1,当引用次数变为0时,从客户端的数据块索引表中删除该数据块标识及与该数据块标识相对应的数据块引用次数,从客户端删除该数据块内容;(2 4 3)从客户端的上述文件组成表中删除被删除文件的所有记录;(2 4 4)从客户端的上述文件元数据表中删除被删除文件的元数据;(2 4 5)在客户端将被删除文件的文件标识封装成一个文件删除消息,并将该消息添加到客户端的上述待发送消息队列的队尾;(3)在网络文件系统的服务器端设置的网络服务接口,用于上传和下载数据块内容,以及用于接收和应答客户端消息,具体过程如下:(3 1)当网络文件系统服务器端接收到来自网络文件系统客户端待发送消息队列中的文件元数据更新消息时,进行以下操作:(3 1 1)从接收到的文件元数据更新消息中解析出文件的标识及该文件的元数据;(3 1 2)判断服务器端的上述文件元数据表中是否存在该文件标识,若已存在,则将与该文件标识相对应的元数据更新为上述步骤(3 1 1)中的元数据;若该文件标识为新标识,则在服务器端的上述文件元数据表中添加该文件标识及上述步骤(3 1 1)中的元数据;(3 2)当服务器端接收到客户端待发送消息队列中的文件组成更新消息时,进行以下操作:(3 2 1)从接收到的文件组成更新消息中解析出文件的标识以及每个数据块的起始位置、数据块大小和数据块的标识;(3 2 2)在服务器端的上述文件组成表中检索属于该文件的数据块标识,且与该数据块标识相对应的数据块的起始位置处于新生成数据块区域之内;(3 2 3)在服务器端的上述数据块索引表中分别将与检索到的每个数据块标识相对应的数据块的引用次数减1,若引用次数变为0,则从服务器端的数据块索引表中删除该数据块标识及与该数据块标识相对应的数据块的引用次数,从服务器端上删除该数据块内容;(3 2 4)在服务器端的上述数据块索引表中检索上述步骤(3 2 1)的数据块标识,若该数据块标识已存在,则将与该数据块标识相对应的数据块的引用次数加1,若该数据块标识为新标识,则通知客户端上传与该数据块标识相对应的数据块内容,接收客户端上传的数据块的内容,在服务器端存储该数据块的内容,在服务器端的数据块索引表中添加该数据块的标识,并将与该数据块标识相对应的数据块的引用次数设置为1;(3 3)当服务器端接收到客户端待发送消息队列中的文件删除消息时,进行以下操作:(3 3 1)从接收到的文件组成更新消息中解析出被删除文件的标识;(3 3 2)在服务器端的上述文件组成表中检索属于被删除文件的所有数据块标识;(3 3 3)在服务器端的上述数据块索引表中将与检索到的每个数据块标识相对应的数据块的引用次数减1,若引用次数变为0,则从服务器端的数据块索引表中删除与该数据块标识相对应的数据块的引用次数,从服务器端删除该数据块内容;(3 3 4)从服务器端的文件组成表中删除属于该被删除文件的数据块记录;(3 3 5)从服务器端的文件元数据表中删除该被删除文件的元数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201010210339.6/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top