【摘要】 用于多副本格系统中的写/读文件操作的方法属于多副本格系统中高速写文件操作领域,其特征在于,依次含有以下步骤:用户向副本访问客户端提出写文件请求;经元数据服务器进行身份认证成功后,则通过其中的服务器距离比较模块选择一个在逻辑距离上离用户最近的副本存储服务器,并选择对应的副本视图信息,经副本访问客户端的视图解析模块确认副本视图有效后,由副本访问客户端的读写执行模块向所述副本存储服务器发送写数据请求,当所述副本存储服务器执行写操作成功后,由元数据服务器的副本视图更新模块来更新副本视图。本发明使用户能够选择最近的副本存储服务器进行写操作,同时也保证用户能正常执行读操作。 【专利类型】发明授权 【申请人】清华大学 【申请人类型】学校 【申请人地址】100084 北京市100084-82信箱 【申请人地区】中国 【申请人城市】北京市 【申请人区县】海淀区 【申请号】CN200810056393.2 【申请日】2008-01-18 【申请年份】2008 【公开公告号】CN101217571B 【公开公告日】2010-07-28 【公开公告年份】2010 【授权公告号】CN101217571B 【授权公告日】2010-07-28 【授权公告年份】2010.0 【IPC分类号】H04L29/08; H04L29/06; H04L9/32 【发明人】郑纬民; 武永卫; 徐鹏志; 杨广文 【主权项内容】一种用于多副本格系统中的写文件操作的方法,其特征在于,其实现步骤依次如下:步骤(1).用户向所述系统中的副本访问客户端的用户访问接口模块提交写文件请求,该请求包括:所写文件的标识、所要写入的数据以及所写数据段的起始地址偏移量和数据段的长度;步骤(2).所述用户访问接口模块对所述写文件请求进行简单封装后,发向所述副本访问客户端的视图请求模块,该视图请求模块向所述系统中元数据服务器内的身份认证模块发出写视图请求;步骤(3).所述元数据服务器的身份认证模块对所述写视图请求进行简单认证,若:未通过认证,则把出错信息发给该元数据服务器中的出错处理模块,经记录异常后,向所述系统中副本访问客户端内的视图解析模块发送写视图请求失效响应;若:通过认证,则把认证正确的信息以及用户的写视图请求发向该元数据服务器中的服务器距离比较模块,该服务器距离比较模块根据预先存储的各副本存储服务器的域名或IP地址,估计并选择出与离开发起写视图请求的用户的逻辑距离最小的一个副本存储服务器;步骤(4).所述元数据服务器中的副本视图选择模块根据从所述服务器距离比较模块得到的副本存储服务器和用户写视图请求,从所述元数据服务器中的副本视图存储模块所提供的副本视图中,选取副本视图,生成对应的副本视图信息,并将结果返回给所述系统中副本访问客户端内的视图解析模块;步骤(5).所述副本访问客户端的视图解析模块收到从所述元数据服务器中的副本视图选择模块返回的副本视图信息或者出错处理模块返回的写视图请求失效响应后,验查是否为有效视图信息;若为无效视图,则把出错信息发给该副本访问客户端的出错处理模块,并通过所述用户访问接口模块给用户返回出错信息;若为有效视图,则解析所述副本视图信息,按照副本视图信息中的数据段所在服务器对所述副本视图信息进行分组,使得存储在相同服务器上的数据段属于同一个组,再把同一组的各数据段按起始地址的偏移量的大小进行组内排序,并将分组视图信息发向所述副本访问客户端内的读写执行模块进行具体的写数据操作;步骤(6).所述副本访问客户端的读写执行模块根据从所述视图解析模块收到的分组视图信息向副本存储服务器发送写数据请求;步骤(7).步骤(6)所述的副本存储服务器检验从所述副本访问客户端中的读写执行模块收到的写数据请求的有效性;若为无效数据请求,则向所述副本访问客户端的读写执行模块返回出错信息;若为有效请求,则对数据副本执行写数据操作,在写成功后,所述副本存储服务器向所述元数据服务器内的副本视图更新模块发送副本更新报告;步骤(8).步骤(7)所述元数据服务器的副本视图更新模块收到从副本存储服务器得到的副本更新报告后,通过所述元数据服务器内的副本视图存储模块对对应的副本视图信息进行更新操作,以便向所述副本视图选择模块提供准确的副本视图,若副本视图更新失败,则所述副本视图更新模块向步骤(7)所述副本存储服务器返回副本更新失败确认信息,进而所述副本存储服务器回滚至写操作前的状态,并向步骤(6)所述副本访问客户端的读写执行模块发送写数据失败响应;步骤(9).若步骤(8)所述的副本视图更新成功,则步骤(8)所述的副本视图更新模块向步骤(7)所述副本存储服务器返回副本更新成功确认信息,该副本存储服务器向步骤(6)所述副本访问客户端的读写执行模块发送写数据成功响应;步骤(10).步骤(6)所述副本访问客户端的读写执行模块收到从步骤(7)所述副本存储服务器的写数据响应后,对写数据响应进行判断,若为写数据失败响应,则把出错信息发给该副本访问客户端的出错处理模块,并通过所述用户访问接口模块向用户返回出错信息;若为写数据成功响应,则向所述视图解析模块返回写数据成功信息,该视图解析模块通过所述用户访问接口模块向用户返回写文件响应。 【当前权利人】清华大学 【当前专利权人地址】北京市100084-82信箱 【专利权人类型】公立 【统一社会信用代码】12100000400000624D 【引证次数】3.0 【自引次数】1.0 【他引次数】2.0 【家族引证次数】3.0 【家族被引证次数】26