一种数据存储方法、系统和设备的制作方法

文档序号:7782405阅读:169来源:国知局
一种数据存储方法、系统和设备的制作方法
【专利摘要】本发明实施例提供了一种数据存储方法、系统和设备,涉及通信领域,提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。其方法为:在收到第一写请求和待写入数据后生成第一元数据,将第一元数据和待写入数据写入存储设备,接收到第二读请求时,将第二读请求转换为第一读请求,利用第一读请求读取第一元数据再读取目标数据;或者,收到第二写请求和待写入数据,将第二写请求转换为第一写请求后生成第一元数据,将第一元数据和待写入数据写入存储设备,收到第一读请求时,利用第一读请求读取第一元数据后再读取目标数据。本发明实施例用于数据的存储。
【专利说明】一种数据存储方法、系统和设备
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种数据存储方法、系统和设备。
【背景技术】
[0002]数据备份是容灾的基础,传统的数据备份主要是采用内置或外置的磁带机进行冷备份。但是由于这种方式只能防止操作失误等人为故障,而且其恢复时间也很长。随着技术的不断发展,数据的海量增加,目前采用网络备份来实现数据备份。而网络备份一般通过专业的数据存储管理软件结合相应的硬件和存储设备来实现。
[0003]现有的网络备份技术常常采用S3 (Simple Storage Service,简易存储服务),通过网络服务系统提供网络线上存储服务,经由网络服务页面,提供用户能够轻易把档案储存到网络服务器的方式来实现。
[0004]S3是一个全球存储区域网络(Storage Area Networking, SAN),可以在其中存储和检索数字资产,在S3存储和检索的资产被称为对象,对象存储在存储桶中,而且可以通过统一资源标识符(Uniform Resource Identifier, URI)查找对象和存储桶。此外,S3还提供了指定存储桶和对象的所有者和权限的能力,在定义对象或存储桶时,用户可以通过指定一个访问控制策略,注明谁可以访问用户的S3资产以及如何访问。
[0005]用户用S3进行数字资产归档备份时,用户将数据通过S3协议写入网络服务器上,之后可以通过统一资源标示符(URI)查找和读取数据。同时,对于服务管理员可以使用传统的应用软件通过NFS (Network File System,网络文件系统)协议读取网络服务器上数据来进行分析和统计。
[0006]现有技术中,S3FS可以实现通过Posix文件接口或者导出后(Export)通过NFS协议访问S3存储桶中的对象。但是S3FS是一个单机版的本地文件系统,无分布式部署和处理能力,也无法实现协议转换。

【发明内容】

[0007]本发明的实施例提供一种数据存储方法、系统和设备,提供了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
[0008]为达到上述目的,本发明的实施例采用如下技术方案:
[0009]第一方面,提供了一种数据存储方法,所述方法包括:
[0010]接收第一终端发送的第一写请求,所述第一写请求携带待写入数据;其中,所述第一写请求为基于第一协议的写请求,根据所述第一写请求生成所述待写入数据的第一元数据,所述第一元数据为基于第一协议的元数据,并将所述待写入数据和所述第一元数据写入存储设备;
[0011]接收第二终端发送的第二读请求,所述第二读请求为基于第二协议的读请求;
[0012]将所述第二读请求转换为第一读请求,所述第一读请求为基于第一协议的读请求;
[0013]利用所述第一元数据从所述存储设备中读取所述第一读请求所要读取的目标数据;所述目标数据为所述待写入数据或所述待写入数据的部分数据,并将所述目标数据返回给所述第二终端。
[0014]结合第一方面,在第二种可能的实现方式中,
[0015]所述第一读请求包括:所述目标数据的对象名称、所述目标数据所在的存储桶的桶名、第三偏移量和第一权限信息;
[0016]所述第二读请求包括:所述目标数据的文件名称、所述目标数据所在的文件夹的文件夹名称、第四偏移量和第二权限信息;
[0017]所述将所述第二读请求转换为第一读请求包括:
[0018]将所述第二读请求中的所述目标数据的文件名称转换为所述目标数据的对象名称;
[0019]将所述第二读请求中的所述第二权限信息转换为所述第一权限信息;
[0020]将所述第二读请求中的所述目标数据所在的文件夹的文件夹名称转换为所述目标数据所在的存储桶的桶名;
[0021]将所述第二读请求中的所述第四偏移量转换为所述第三偏移量,从而得到所述第
一读请求。
[0022]第二方面,提供一种数据存储方法,所述方法包括:
[0023]接收第二终端发送的第二写请求,所述第二写请求携带待写入数据;其中,所述第二写请求为基于第二协议的写请求;
[0024]将所述第二写请求转换为第一写请求,所述第一写请求为基于第一协议的写请求;
[0025]将所述待写入数据写入存储设备;根据所述第一写请求生成所述待写入数据的第一元数据,并将所述第一元数据写入所述存储设备,所述第一元数据为基于第一协议的元数据;
[0026]接收第一终端发送的第一读请求,所述第一读请求为基于第一协议的读请求;从所述存储设备中读取所述第一读请求所要读取的目标数据;所述目标数据为所述待写入数据或所述待写入数据的部分数据,并将所述目标数据返回给所述第一终端。
[0027]结合第二方面,在第一种可能的实现方式中,
[0028]所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息;
[0029]所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息;
[0030]所述将所述第二写请求转换为第一写请求具体包括:
[0031]将所述第二写请求中的所述待写入数据的文件名称转换为所述待写入数据的对象名称;
[0032]将所述第二写请求中的所述待写入数据的文件大小转换为所述待写入数据的对象大小;
[0033]将所述第二写请求中的所述待写入数据所要存入的文件的文件名称转换为所述待写入数据所要存入的存储桶的桶名;
[0034]将所述第二写请求中的所述第一用户信息转换为所述第二用户信息;
[0035]将所述第二写请求中的所述第二偏移量转换为所述第一偏移量,从而得到所述第
一写请求。
[0036]第三方面,提供一种数据存储方法,所述方法包括:
[0037]接收所述第二管理服务器发送的第二读请求,所述第二读请求为所述第二管理服务器从所述第二终端接收的,所述第二读请求为基于第二协议的读请求;
[0038]将所述第二读请求转换为第一读请求;
[0039]利用所述第一读请求从所述存储设备中读取所述第一读请求所要读取的目标数据;所述目标数据为所述待写入数据或所述待写入数据的部分数据,并将所述目标数据返回给所述第二终端。
[0040]结合第三方面,在第一种可能的实现方式中,所述接收所述第二管理服务器发送的第二读请求之前,所述方法包括:
[0041]接收第一管理服务器发送的第一写请求,所述第一写请求为所述第一管理服务器从第一终端接收的,所述第一写请求为基于第一协议的写请求;
[0042]将所述第一写请求转换为第二写请求,以便所述第二管理服务器根据所述第二写请求生成所述待写入数据的第二元数据。
[0043]结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,
[0044]所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息;
[0045]所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息;
[0046]所述将所述第一写请求转换为第二写请求包括:
[0047]将所述第一写请求中的所述第一偏移量转换为所述第二偏移量;
[0048]将所述第一写请求中的所述待写入数据的对象名称转换为所述待写入数据的文件名称;
[0049]将所述第一写请求中的所述待写入数据的对象大小转换为所述待写入数据的文件大小;
[0050]将所述第一写请求中的所述待写入数据所要存入的存储桶的桶名转换为所述待写入数据所要存入的文件的文件名称;
[0051]将所述第一写请求中的所述第一用户信息转换为所述第二用户信息,从而得到所述第二写请求;所述第二写请求为基于第二协议的写请求;以便所述第二管理服务器根据所述第二写请求生成所述待写入数据的第二元数据。
[0052]结合第三方面,在第三种可能的实现方式中,
[0053]所述第一读请求包括:所述目标数据所在的存储桶的桶名、所述目标数据的对象名称、第一偏移量和第一权限信息;
[0054]所述第二读请求包括:所述目标数据所在的文件夹的文件夹名称、所述目标数据的文件名称、第二偏移量和第二权限信息;
[0055]所述将所述第二读请求转换为第一读请求包括:
[0056]将所述第二读请求中的所述目标数据的文件名称转换为所述目标数据的对象名称;
[0057]将所述第二读请求中的所述第二权限信息转换为所述第一权限信息;
[0058]将所述第二读请求中的所述目标数据所在的文件夹的文件夹名称转换为所述目标数据所在的存储桶的桶名;
[0059]将所述第二读请求中的所述第四偏移量转换为所述第三偏移量,从而得到所述第
一读请求。
[0060]第四方面,提供一种数据存储方法,所述方法包括:
[0061]接收第二管理服务器发送的第二写请求,所述第二写请求为所述第二管理服务器从所述第二终端接收的,所述第一写请求携带待写入数据,所述第一写请求为基于第一协议的与请求;
[0062]将所述第二写请求转换为第一写请求,所述第一写请求为基于第一协议的写请求;以便所述第一管理服务器根据所述第一写请求生成所述待写入数据的第一元数据;
[0063]根据第一写请求将所述待写入数据写入存储设备。
[0064]结合第四方面,在第一种可能的实现方式中,
[0065]所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息;
[0066]所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息;
[0067]所述将所述第二写请求转换为第一写请求包括:
[0068]将所述第二写请求中的所述待写入数据的文件名称转换为所述待写入数据的对象名称;
[0069]将所述第二写请求中的所述待写入数据的文件大小转换为所述待写入数据的对象大小;
[0070]将所述第二写请求中的所述待写入数据所要存入的文件的文件名称转换为所述待写入数据所要存入的存储桶的桶名;
[0071]将所述第二写请求中的所述第二用户信息转换为所述第一用户信息;
[0072]将所述第二写请求中的所述第二偏移量转换为所述第一偏移量,从而得到所述第
一写请求。
[0073]第五方面,提供一种数据存储系统,包括至少一个第一终端、至少一个第二终端和存储设备,所述系统还包括:
[0074]第一管理服务器,用于接收所述第一终端发送的第一写请求,所述第一写请求携带待写入数据;其中,所述第一写请求为基于第一协议的写请求,根据所述第一写请求生成所述待写入数据的第一元数据,所述第一元数据为基于第一协议的元数据,并将所述待写入数据和所述第一元数据写入存储设备;
[0075]第二管理服务器,用于接收第二终端发送的第二读请求,所述第二读请求为基于第二协议的读请求,并将所述第二读请求发送至所述转换单元;
[0076]转换设备,用于将所述第二读请求转换为第一读请求,所述第一读请求为基于第一协议的读请求,并将所述第一读请求发送至所述第一管理服务器;
[0077]所述转换设备还用于根据所述第一读请求通过所述第一管理服务器利用所述第一元数据从所述存储设备中读取所述第一读请求所要读取的目标数据;所述目标数据为所述待写入数据或所述待写入数据的部分数据,并将所述目标数据返回给所述第二终端。
[0078]结合第五方面,在第一种可能的实现方式中,
[0079]所述第一读请求包括:所述目标数据所在的存储桶的桶名、所述目标数据的对象名称、第三偏移量和第一权限信息;
[0080]所述第二读请求包括:所述目标数据所在的文件夹的文件夹名称、所述目标数据的文件名称、第四偏移量和第二权限信息;
[0081 ] 所述转换设备包括协议转换单元和对象适配单元;
[0082]所述协议转换单元还用于将所述第二读请求中的所述目标数据的文件名称转换为所述目标数据的对象名称;
[0083]所述协议转换单元还用于将所述第二读请求中的所述第二权限信息转换所述第一权限信息;
[0084]所述协议转换单元还用于将所述第二读请求中的所述目标数据所在的文件夹名称转换为所述目标数据所在的存储桶的桶名;
[0085]所述对象适配单元还用于将所述第二读请求中的所述第四偏移量转换为所述第三偏移量,从而得到所述第一读请求。
[0086]第六方面,提供一种数据存储系统,包括至少一个第一终端、至少一个第二终端和存储设备,所述系统还包括:
[0087]第二管理服务器,用于接收第二终端发送的第二写请求,所述第二写请求携带待写入数据;其中,所述第二写请求为基于第二协议的写请求;
[0088]转换设备,用于将所述第二写请求转换为第一写请求,所述第一写请求为基于第一协议的与请求;
[0089]所述转换单元还用于根据所述第一写请求通过第一管理服务器将所述待写入数据写入所述存储设备;
[0090]第一管理服务器,用于根据所述第一写请求生成所述待写入数据的第一元数据,并将所述第一元数据写入所述存储设备,所述第一元数据为基于第一协议的元数据;
[0091]所述第一管理服务器还用于接收第一终端发送的第一读请求,所述第一读请求为基于第一协议的读请求;从所述存储设备中读取所述第一读请求所要读取的目标数据;所述目标数据为所述待写入数据或所述待写入数据的部分数据,并将所述目标数据返回给所述第一终端。
[0092]结合第六方面,在第一种可能的实现方式中,
[0093]所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息;
[0094]所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息;
[0095]所述转换设备包括协议转换单元和对象适配单元;
[0096]所述协议转换单元用于将所述第二写请求中的所述待写入数据的文件名称转换为所述待写入数据的对象名称;
[0097]所述协议转换单元还用于将所述第二写请求中的所述待写入数据的文件大小转换为所述待写入数据的对象大小;
[0098]所述协议转换单元还用于将所述第二写请求中的所述待写入数据所要存入的文件的文件名称转换为所述待写入数据所要存入的存储桶的桶名;
[0099]所述协议转换单元还用于将所述第二写请求中的所述第二用户信息转换为所述
第一用户信息;
[0100]所述对象适配单元用于将所述第二写请求中的所述第二偏移量转换为所述第一偏移量,从而得到所述第一写请求。
[0101]第七方面,提供了一种数据存储设备,该数据存储设备包括:
[0102]接收单元,用于接收所述第二管理服务器发送的第二读请求,所述第二读请求为所述第二管理服务器从所述第二终端接收的,所述第二读请求为基于第二协议的读请求;
[0103]转换单元,用于将所述第二读请求转换为第一读请求;
[0104]对象适配单元,用于根据所述第一读请求通过第一管理服务器从所述存储设备中读取所述第一读请求所要读取的目标数据;并将所述目标数据返回给所述第二终端。
[0105]结合第七方面,在第一种可能的实现方式中,
[0106]所述接收单元还用于:接收第一管理服务器发送的第一写请求,所述第一写请求为所述第一管理服务器从第一终端接收的,所述第一写请求为基于第一协议的写请求。
[0107]所述转换单元还用于将所述第一写请求转换为第二写请求。
[0108]结合第七方面的第一种可能的实现方式,在第二种可能的实现方式中,
[0109]所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息;
[0110]所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息;
[0111]所述对象适配单元还用于将所述第一写请求中的所述第一偏移量转换为所述第
二偏移量;
[0112]所述转换单元还用于将所述第一写请求中的所述待写入数据的对象名称转换为所述待写入数据的文件名称;
[0113]所述转换单元还用于将所述第一写请求中的所述待写入数据的对象大小转换为所述待写入数据的文件大小;[0114]所述转换单元还用于将所述第一写请求中的所述待写入数据所要存入的存储桶的桶名转换为所述待写入数据所要存入的文件的文件名称;
[0115]所述转换单元还用于将所述第一写请求中的所述第一用户信息转换为所述第二用户信息,从而得到所述第二写请求;所述第二写请求为基于第二协议的写请求;以便所述第二管理服务器根据所述第二写请求生成所述待写入数据的第二元数据。
[0116]结合第七方面,在第七方面的第三种可能的实现方式中,
[0117]所述第一读请求包括:所述目标数据的对象名称、所述目标数据所在的存储桶的桶名、第三偏移量和第一权限信息;
[0118]所述第二读请求包括:所述目标数据的文件名称、所述目标数据所在的文件夹的文件夹名称、第四偏移量和第二权限信息;
[0119]所述转换单元具体用于将所述第二读请求中的所述目标数据的文件名称转换为所述目标数据的对象名称;
[0120]所述转换单元具体用于将所述第二读请求中的所述第二权限信息转换为所述第一权限信息;
[0121]所述转换单元具体用于将所述第二读请求中的所述目标数据所在的文件夹名称转换为所述目标数据所在的存储桶的桶名;
[0122]所述对象适配单元还用于将所述第二读请求中的所述第四偏移量转换为所述第三偏移量,从而得到所述第一读请求。
[0123]第八方面,提供了一种数据存储设备,该数据存储设备包括:
[0124]接收单元,用于接收第二管理服务器发送的第二写请求,所述第二写请求为所述第二管理服务器从所述第二终端接收的,所述第一写请求携带待写入数据,所述第一写请求为基于第一协议的写请求;
[0125]转换单元,用于将所述第二写请求转换为第一写请求,所述第一写请求为基于第一协议的写请求;以便所述第一管理服务器根据所述第一写请求生成所述待写入数据的第一元数据;
[0126]对象适配单元,用于根据第一写请求通过所述第一管理服务器将所述待写入数据写入存储设备。
[0127]结合第八方面,在第一种可能的实现方式中,
[0128]所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息;
[0129]所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息;
[0130]所述转换单元还用于将所述第二写请求中的所述待写入数据的文件名称转换为所述待写入数据的对象名称;
[0131]所述转换单元还用于将所述第二写请求中的所述待写入数据的文件大小转换为所述待写入数据的对象大小;
[0132]所述转换单元还用于将所述第二写请求中的所述待写入数据所要存入的文件的文件名称转换为所述待写入数据所要存入的存储桶的桶名;
[0133]所述转换单元还用于将所述第二写请求中的所述第二用户信息转换为第一用户信息;
[0134]所述对象适配单元还用于将所述第二写请求中的所述第二偏移量转换为所述第一偏移量,从而得到所述第一写请求。
[0135]本发明实施例提供了一种数据存储方法、系统和设备,第一管理服务器在收到第一写请求和待写入数据后,生成第一元数据,并将第一元数据和待写入数据写入存储设备,在第二管理服务器接收到第二读请求,将第二读请求转换为第一读请求,再利用第一读请求读取第一元数据,再读取目标数据;或者,第二管理服务器在收到第二写请求和待写入数据后,将第二写请求转换为第一写请求,并生成第一元数据,并将第一元数据和待写入数据写入存储设备,在第一管理服务器收到第一读请求时,利用第一读请求读取第一元数据,再读取目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
【专利附图】

【附图说明】
[0136]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0137]图1为本发明实施例提供的一种数据存储方法的流程示意图;
[0138]图2为本发明实施例提供的另一种数据存储方法的流程示意图;
[0139]图3为本发明实施例提供的另一种数据存储方法的流程示意图;
[0140]图4为本发明实施例提供的另一种数据存储方法的流程示意图;
[0141]图5为本发明实施例提供的另一种数据存储方法的流程示意图;
[0142]图6为本发明实施例提供的另一种数据存储方法的流程示意图;
[0143]图7为本发明实施例提供的另一种数据存储方法的流程示意图;
[0144]图8为本发明实施例提供的另一种数据存储方法的流程示意图;
[0145]图9为本发明实施例提供的另一种数据存储方法的流程示意图;
[0146]图10为本发明实施例提供的另一种数据存储方法的流程示意图;
[0147]图11为本发明实施例提供的另一种数据存储方法的流程示意图;
[0148]图12为本发明实施例提供的一种数据存储系统的结构示意图;
[0149]图13为本发明实施例提供的另一种数据存储系统的结构示意图;
[0150]图14为本发明实施例提供的另一种数据存储系统的结构示意图;
[0151]图15为本发明实施例提供的另一种数据存储系统的结构示意图;
[0152]图16为本发明实施例提供的一种数据存储设备的结构示意图;
[0153]图17为本发明实施例提供的另一种数据存储设备的结构示意图;
[0154]图18为本发明实施例提供的另一种数据存储设备的结构示意图;
[0155]图19为本发明实施例提供的另一种数据存储设备的结构示意图。【具体实施方式】
[0156]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0157]首先需要说明的是,在下文所述实施例中,第一终端、第一管理服务器可以为运行第一协议的设备,第二终端、第二管理服务器可以为运行第二协议的设备,其中第一协议可以是简易存储服务(Simple Storage Service,简称S3)协议,第二协议可以是网络文件系统(Network File System, NFS)协议。其中,S3协议是由亚马逊公司所提供的网络线上储存服务,简易存储服务允许上载、存储和下载5千兆字节(5GB)大小的文件或对象;NFS是一种UNIX (—种支持多用户、多任务、多种处理器架构的操作系统)表示层协议,NFS允许在多个用户之间共享公共文件系统,并将数据集中,以便最小化所需的存储空间。第一管理服务器可以包括分布式对象管理模块,第二管理服务器可以包括分布式文件系统客户端和分布式元数据服务器,存储设备包括云存储服务接入模块和云存储服务器(云存储服务是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个服务,云存储服务接入模块是用于接入该服务的装置,云存储服务器是为云存储服务提供存储空间的服务器),第一终端是第一管理服务器管理的所有终端中的任意一个终端,第二终端是第二管理服务器管理的所有终端中的任意一个终端。当然,上文所述第一协议是简易存储服务协议,第二协议是网络文件系统协议,以及第一管理服务器、第二管理服务器和存储设备的构成仅仅为示例性的,并不限于此。
[0158]本发明实施例提供一种数据存储方法,如图1所示,该方法包括:
[0159]101、接收第一终端发送的第一写请求,该第一写请求携带待写入数据;其中,第一写请求为基于第一协议的写请求,根据第一写请求生成待写入数据的第一元数据,该第一元数据为基于第一协议的元数据,并将待写入数据和第一元数据写入存储设备。
[0160]102、接收第二终端发送的第二读请求,该第二读请求为基于第二协议的读请求。
[0161]103、将第二读请求转换为第一读请求,该第一读请求为基于第一协议的读请求。
[0162]104、利用所述第一元数据从存储设备中读取第一读请求所要读取的目标数据;目标数据为待写入数据或待写入数据的部分数据,并将目标数据返回给第二终端。
[0163]本发明实施例提供了一种数据存储方法,第一管理服务器在收到第一写请求和待写入数据后,生成第一元数据,并将第一元数据和待写入数据写入存储设备,在第二管理服务器接收到第二读请求,将第二读请求转换为第一读请求,再利用第一读请求读取第一元数据,再读取目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
[0164]本发明实施例还提供一种数据存储方法,如图2所示,该方法包括:
[0165]201、接收第二终端发送的第二写请求,该第二写请求携带待写入数据;其中,该第二写请求为基于第二协议的写请求。
[0166]202、将第二写请求转换为第一写请求,该第一写请求为基于第一协议的写请求。[0167]203、将待写入数据写入存储设备;根据第一写请求生成待写入数据的第一元数据,并将第一元数据写入存储设备,该第一元数据为基于第一协议的元数据。
[0168]204、接收第一终端发送的第一读请求,该第一读请求为基于第一协议的读请求;利用第一元数据从存储设备中读取第一读请求所要读取的目标数据;该目标数据为待写入数据或待写入数据的部分数据,并将目标数据返回给第一终端。
[0169]本发明实施例提供了一种数据存储方法,第二管理服务器在收到第二写请求和待写入数据后,将第二写请求转换为第一写请求,并生成第一元数据,并将第一元数据和待写入数据写入存储设备,在第一管理服务器收到第一读请求时,利用第一读请求读取第一元数据,再读取目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
[0170]本发明实施例还提供一种数据存储方法,如图3所示,该方法包括:
[0171]301、接收第二管理服务器发送的第二读请求,第二读请求为第二管理服务器从第二终端接收的,第二读请求为基于第二协议的读请求。
[0172]302、将第二读请求转换为第一读请求。
[0173]303、利用第一读请求从存储设备中读取第一读请求所要读取的目标数据;目标数据为待写入数据或待写入数据的部分数据,并将目标数据返回给第二终端。
[0174]本发明实施例了一种数据存储方法,在接收第二管理服务器发送的第二读请求后,将该第二读请求转换为第一读请求,再利用该第一读请求从存储设备中读取第一读请求所要读取的目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
[0175]本发明实施例还提供一种数据存储方法,如图4所示,该方法包括:
[0176]401、接收第二管理服务器发送的第二写请求,该第二写请求为第二管理服务器从第二终端接收的,第二写请求携带待写入数据,第二写请求为基于第二协议的写请求。
[0177]402、将第二写请求转换为第一写请求,第一写请求为基于第一协议的写请求;以便第一管理服务器根据第一写请求生成待写入数据的第一元数据。
[0178]403、根据第一写请求将待写入数据写入存储设备。
[0179]本发明实施例了一种数据存储方法,在接收第二管理服务器发送的第二写请求后,将第二写请求转换为第一写请求,再根据第一写请求将待写入数据写入存储设备。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
[0180]为了使本领域技术人员能够更清楚地理解本发明实施例提供的技术方案,下面通过具体的实施例,对本发明另一实施例提供的另一种数据存储方法进行详细说明,在下文实施例中,示例性的,第一协议可以为简易存储服务协议(S3协议),第二协议可以为网络文件系统协议(NFS协议),具体的,如图5所示,该方法包括:
[0181]501、第一客户端向第一管理服务器发送第一写请求。
[0182]其中,第一客户端是基于S3协议的客户端,第一管理服务器是基于S3协议的管理单元,且与第一管理服务器相连接的可以是一个第一客户端,也可以是多个第一客户端。[0183]对应的,第一写请求是基于S3协议的写请求,且该第一写请求携带第一写请求所要写入的待写入数据,具体的,该第一写请求包括:待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,且该第一用户信息包括第一用户权限信息。
[0184]502、第一管理服务器接收第一写请求。
[0185]503、第一管理服务器根据该第一写请求生成待写入数据的第一元数据,并将该待写入数据与第一元数据写入存储设备。
[0186]具体的,第一管理服务器接收第一写请求后根据第一写请求中的待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息生成待写入数据的第一元数据,即第一元数据也包含了待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和用户信息,以便第一管理服务器通过第一元数据查找并确定所要读取的目标数据。
[0187]504、第二客户端向第二管理服务器发送第二读请求。
[0188]其中,第二客户端是基于NFS协议的客户端,第二管理服务器是基于NFS协议的管理单元,且与第二管理服务器相连接的可以是一个第二客户端,也可以是多个第二客户端。
[0189]对应的,第二读请求是基于NFS协议的读请求,该第二读请求具体包括:第二读请求所要读取的目标数据的文件名称、目标数据所在的文件夹的文件夹名称第四偏移量和第二权限信息。
[0190]505、第二管理服务器接收第二读请求,并将该第二读请求发送至转换设备。
[0191]506、转换设备将第二读请`求转换为第一读请求。
[0192]具体的,转换设备在收到第二读请求后,获取第二读请求中的目标数据的文件名称、第四偏移量和第二权限信息,并将上述信息由NFS协议转换为S3协议,以得到基于S3协议的第一读请求;
[0193]具体的,可以包括:
[0194]将第二读请求中目标数据的文件名称转换为第一读请求对应的对象名称;
[0195]将第二读请求中的目标数据所在的文件夹的文件夹名称转换为目标数据所在的存储桶的桶名;
[0196]将第二读请求中的第二权限信息转换为第一读请求对应的第一权限信息;
[0197]将第二读请求中的第四偏移量转换为第一读请求对应的第三偏移量,从而就得到了包括对象名称、目标数据所在的存储桶的桶名、第一权限信息和第三偏移量的第一读请求。另外,上述文件名称、第二权限信息以及第四偏移量在转换为对象名称、第一权限信息和第三偏移量的转换过程所呈现的顺序仅仅为示例性的,并不限于此,也可以是其他顺序,或者同时转换。
[0198]其中,在第二读请求中,根据第二权限信息,用户可以分为三种类型:注册用户、非注册用户和指定用户,且注册用户、非注册用户和指定用户都可以根据对应的权限信息对与权限信息相对应的文件夹进行读取,注册用户发起的第二读请求对应的权限信息中文件夹的权限信息可以如表1所示,为了方便说明,示例性的,注册用户的读取数据的权限可以
表示为drwxr-x---;注册用户的读取权限信息的权限可以表示为drwxr-x---;注册用户的
部分控制权限可以表示为drwxrwx---。[0199]表1
[0200]
【权利要求】
1.一种数据存储方法,其特征在于,所述方法包括: 接收第一终端发送的第一写请求,所述第一写请求携带待写入数据;其中,所述第一写请求为基于第一协议的写请求,根据所述第一写请求生成所述待写入数据的第一元数据,所述第一元数据为基于第一协议的元数据,并将所述待写入数据和所述第一元数据写入存储设备; 接收第二终端发送的第二读请求,所述第二读请求为基于第二协议的读请求; 将所述第二读请求转换为第一读请求,所述第一读请求为基于第一协议的读请求;利用所述第一元数据从所述存储设备中读取所述第一读请求所要读取的目标数据,所述目标数据为所述待写入数据或所述待写入数据的部分数据;并将所述目标数据返回给所述第二终端。
2.根据权利要求1所述的方法,其特征在于, 所述第一读请求包括:所述目标数据的对象名称、所述目标数据所在的存储桶的桶名、第三偏移量和第一权限信息; 所述第二读请求包括:所述目标数据的文件名称、所述目标数据所在的文件夹的文件夹名称、第四偏移量和第二权限信息; 所述将所述第二读请求转换为第一读请求包括: 将所述第二读请求中的所述目标数据的文件名称转换为所述目标数据的对象名称; 将所述第二读请求中的所述第二权限信息转换为所述第一权限信息; 将所述第二读请求中的所述目标数据所在的文件夹的文件夹名称转换为所述目标数据所在的存储桶的桶名; 将所述第二读请求中的所述第四偏移量转换为所述第三偏移量,从而得到所述第一读请求。
3.一种数据存储方法,其特征在于,所述方法包括: 接收第二终端发送的第二写请求,所述第二写请求携带待写入数据;其中,所述第二写请求为基于第二协议的写请求; 将所述第二写请求转换为第一写请求,所述第一写请求为基于第一协议的写请求;将所述待写入数据写入存储设备;根据所述第一写请求生成所述待写入数据的第一元数据,并将所述第一元数据写入所述存储设备,所述第一元数据为基于第一协议的元数据; 接收第一终端发送的第一读请求,所述第一读请求为基于第一协议的读请求;利用所述第一元数据从所述存储设备中读取所述第一读请求所要读取的目标数据;所述目标数据为所述待写入数据或所述待写入数据的部分数据,并将所述目标数据返回给所述第一终端。
4.根据权利要求3所述的方法,其特征在于, 所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息; 所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,所述第二用户信息包括第二用户权限信息; 所述将所述第二写请求转换为第一写请求包括: 将所述第二写请求中的所述待写入数据的文件名称转换为所述待写入数据的对象名称; 将所述第二写请求中的所述待写入数据的文件大小转换为所述待写入数据的对象大小; 将所述第二写请求中的所述待写入数据所要存入的文件的文件名称转换为所述待写入数据所要存入的存储桶的桶名; 将所述第二写请求中的所述第二用户信息转换为所述第一用户信息; 将所述第二写请求中的所述第二偏移量转换为所述第一偏移量,从而得到所述第一写请求。
5.一种数据存储方法,其特征在于,所述方法包括: 接收第二管理服务器发送的第二读请求,所述第二读请求为所述第二管理服务器从第二终端接收的,所述第二读请求为基于第二协议的读请求; 将所述第二读请求转换为第一读请求; 根据所述第一读请求从存储设备中读取所述第一读请求所要读取的目标数据;并将所述目标数据返回给所述第二`终端。
6.根据权利要求5所述的方法,其特征在于,所述接收所述第二管理服务器发送的第二读请求之前,所述方法包括: 接收第一管理服务器发送的第一写请求,所述第一写请求为所述第一管理服务器从第一终端接收的,所述第一写请求为基于第一协议的写请求; 将所述第一写请求转换为第二写请求,以便所述第二管理服务器根据所述第二写请求生成所述待写入数据的第二元数据。
7.根据权利要求6所述的方法,其特征在于, 所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息; 所述第二写请求包括所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息; 所述将所述第一写请求转换为第二写请求包括: 将所述第一写请求中的所述第一偏移量转换为所述第二偏移量; 将所述第一写请求中的所述待写入数据的对象名称转换为所述待写入数据的文件名称; 将所述第一写请求中的所述待写入数据的对象大小转换为所述待写入数据的文件大小; 将所述第一写请求中的所述待写入数据所要存入的存储桶的桶名转换为所述待写入数据所要存入的文件的文件名称; 将所述第一写请求中的所述第一用户信息转换为所述第二用户信息,从而得到所述第二写请求;所述第二写请求为基于第二协议的写请求。
8.根据权利要求5所述的方法,其特征在于, 所述第一读请求包括:所述目标数据的对象名称、所述目标数据所在的存储桶的桶名、第三偏移量和第一权限信息; 所述第二读请求包括:所述目标数据的文件名称、所述目标数据所在的文件夹的文件夹名称、第四偏移量和第二权限信息; 所述将所述第二读请求转换为第一读请求包括: 将所述第二读请求中的所述目标数据的文件名称转换为所述目标数据的对象名称; 将所述第二读请求中的所述第二权限信息转换为所述第一权限信息; 将所述第二读请求中的所述目标数据所在的文件夹的文件夹名称转换为所述目标数据所在的存储桶的桶名; 将所述第二读请求中 的所述第四偏移量转换为所述第三偏移量;从而得到所述第一读请求。
9.一种数据存储方法,其特征在于,所述方法包括: 接收第二管理服务器发送的第二写请求,所述第二写请求为所述第二管理服务器从第二终端接收的,所述第二写请求携带待写入数据,所述第二写请求为基于第二协议的写请求; 将所述第二写请求转换为第一写请求,所述第一写请求为基于第一协议的写请求;以便第一管理服务器根据所述第一写请求生成所述待写入数据的第一元数据; 根据第一写请求将所述待写入数据写入存储设备。
10.根据权利要求9所述的方法,其特征在于, 所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息; 所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息; 所述将所述第二写请求转换为第一写请求包括: 将所述第二写请求中的所述待写入数据的文件名称转换为所述待写入数据的对象名称; 将所述第二写请求中的所述待写入数据的文件大小转换为所述待写入数据的对象大小; 将所述第二写请求中的所述待写入数据所要存入的文件的文件名称转换为所述待写入数据所要存入的存储桶的桶名; 将所述第二写请求中的所述第二用户信息转换为所述第一用户信息; 将所述第二写请求中的所述第二偏移量转换为所述第一偏移量,从而得到所述第一写请求。
11.一种数据存储系统,包括至少一个第一终端、至少一个第二终端、存储设备,其特征在于,所述系统还包括:第一管理服务器,用于接收所述第一终端发送的第一写请求,所述第一写请求携带待写入数据;其中,所述第一写请求为基于第一协议的写请求,根据所述第一写请求生成所述待写入数据的第一元数据,所述第一元数据为基于第一协议的元数据,并将所述待写入数据和所述第一元数据写入存储设备; 第二管理服务器,用于接收第二终端发送的第二读请求,所述第二读请求为基于第二协议的读请求,并将所述第二读请求发送至所述转换单元; 转换设备,用于将所述第二读请求转换为第一读请求,所述第一读请求为基于第一协议的读请求,并将所述第一读请求发送至所述第一管理服务器; 所述转换设备还用于根据所述第一读请求通过所述第一管理服务器利用所述第一元数据从所述存储设备中读取所述第一读请求所要读取的目标数据;所述目标数据为所述待写入数据或所述待写入数据的部分数据,并将所述目标数据返回给所述第二终端。
12.根据权利要求11所述的数据存储系统,其特征在于, 所述第一读请求包括:所述目标数据的对象名称、所述目标数据所在的存储桶的桶名、第三偏移量和第一权限信息; 所述第二读请求包括:所述目标数据的文件名称、所述目标数据所在的文件夹的文件夹名称、第四偏移量和第二权限信息; 所述转换设备包括协议转换单元和对象适配单元; 所述协议转换单元用于将所述第二读请求中的所述目标数据的文件名称转换为所述目标数据的对象名称; 所述协议转换单元还用于将所述第二读请求中的所述第二权限信息转换所述第一权限信息; 所述协议转换单元还用于将所述第二读请求中的所述目标数据所在的文件夹名称转换为所述目标数据所在的存储桶的桶名; 所述对象适配单元用于将所述第二读请求中的所述第四偏移量转换为所述第三偏移量,从而得到所述第一读请求。
13.一种数据存储系统,包括至少一个第一终端、至少一个第二终端、存储设备,其特征在于,所述系统还包括: 第二管理服务器,用于接收第二终端发送的第二写请求,所述第二写请求携带待写入数据;其中,所述第二写请求为基于第二协议的写请求; 转换设备,用于将所述第二写请求转换为第一写请求,所述第一写请求为基于第一协议的与请求; 所述转换单元还用于根据所述第一写请求通过第一管理服务器将所述待写入数据写入所述存储设备; 第一管理服务器,用于根据所述第一写请求生成所述待写入数据的第一元数据,并将所述第一元数据写入所述存储设备,所述第一元数据为基于第一协议的元数据; 所述第一管理服务器还用于接收第一终端发送的第一读请求,所述第一读请求为基于第一协议的读请求 ;利用所述第一元数据从所述存储设备中读取所述第一读请求所要读取的目标数据;所述目标数据为所述待写入数据或所述待写入数据的部分数据,并将所述目标数据返回给所述第一终端。
14.根据权利要求13所述的数据存储系统,其特征在于, 所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息; 所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息; 所述转换设备包括协议转换单元和对象适配单元; 所述协议转换单元用于将所述第二写请求中的所述待写入数据的文件名称转换为所述待写入数据的对象名称; 所述协议转换单元还用于将所述第二写请求中的所述待写入数据的文件大小转换为所述待写入数据的对象大小; 所述协议转换单元还用于将所述第二写请求中的所述待写入数据所要存入的文件的目录转换为所述待写入数据所要存入的存储桶的桶名; 所述协议转换单元还用于将所述第二写请求中的所述第二用户信息转换为所述第一用户信息; 所述对象适配单元用于将所述第二写请求中的所述第二偏移量转换为所述第一偏移量,从而得到所述第一写请求。
15.一种数据存储设备,其特征在于,所述数据存储设备包括: 接收单元,用于接收第二管理服务器发送的第二读请求,所述第二读请求为所述第二管理服务器从所述第二终端接收的,所述第二读请求为基于第二协议的读请求; 转换单元,用于将所述第二读请求转换为第一读请求; 对象适配单元,用于根据所述第一读请求从所述存储设备中读取所述第一读请求所要读取的目标数据;并将所述目标数据返回给所述第二终端。
16.根据权利要求15所述的数据存储设备,其特征在于, 所述接收单元还用于接收第一管理服务器发送的第一写请求,所述第一写请求为所述第一管理服务器从第一终端接收的,所述第一写请求为基于第一协议的写请求; 所述转换单元还用于将所述第一写请求转换为第二写请求。
17.根据权利要求16所述的数据存储设备,其特征在于, 所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息; 所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息; 所述对象适配单元还用于将所述第一写请求中的所述第一偏移量转换为所述第二偏移量; 所述转换单元还用于将所述第一写请求中的所述待写入数据的对象名称转换为所述待写入数据的文件名称;所述转换单元还用于将所述第一写请求中的所述待写入数据的对象大小转换为所述待写入数据的文件大小; 所述转换单元还用于将所述第一写请求中的所述待写入数据所要存入的存储桶的桶名转换为所述待写入数据所要存入的文件的文件名称; 所述转换单元还用于将所述第一写请求中的所述第一用户信息转换为所述第二用户信息,从而得到所述第二写请求;所述第二写请求为基于第二协议的写请求;以便所述第二管理服务器根据所述第二写请求生成所述待写入数据的第二元数据。
18.根据权利要求15所述的数据存储设备,其特征在于, 所述第一读请求包括:所述目标数据的对象名称、所述目标数据所在的存储桶的桶名、第三偏移量和第一权限信息; 所述第二读请求包括:所述目标数据的文件名称、所述目标数据所在的文件夹的文件夹名称、第四偏移量和第二权限信息; 所述转换单元具体用于将所述第二读请求中的所述目标数据的文件名称转换为所述目标数据的对象名称; 所述转换单元还用于将所述第二读请求中的所述第二权限信息转换为所述第一权限信息; 所述转换单元还用于将所述第二读请求中的所述目标数据所在的文件夹名称转换为所述目标数据所在的存储桶的桶名; 所述对象适配单元还用于将所述第二读请求中的所述第四偏移量转换为所述第三偏移量,从而得到所述第一读请求。
19.一种数据存储设备,其特征在于,所述数据存储设备包括: 接收单元,用于接收第二管理服务器发送的第二写请求,所述第二写请求为所述第二管理服务器从所述第二终端接收的,所述第一写请求携带待写入数据,所述第一写请求为基于第一协议的写请求; 转换单元,用于将所述第二写请求转换为第一写请求,所述第一写请求为基于第一协议的写请求;以便所述第一管理服务器根据所述第一写请求生成所述待写入数据的第一元数据; 对象适配单元,用于根据第一写请求将所述待写入数据写入存储设备。
20.根据权利要求19所述的数据存储设备,其特征在于, 所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息; 所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息; 所述转换单元还用于将所述第二写请求中的所述待写入数据的文件名称转换为所述待写入数据的对象名称; 所述转换单元还用于将所述第二写请求中的所述待写入数据的文件大小转换为所述待写入数据的对象大小;所述转换单元还用于将所述第二写请求中的所述待写入数据所要存入的文件的文件名称转换为所述待写入数据所要存入的存储桶的桶名; 所述转换单元还用于将所述第二写请求中的所述第二用户信息转换为第一用户信息; 所述对象适配单元还用于将所述第二写请求中的所述第二偏移量转换为所述第一偏移量,从而得到所述第一写请`求。
【文档编号】H04L29/08GK103731489SQ201310737112
【公开日】2014年4月16日 申请日期:2013年12月27日 优先权日:2013年12月27日
【发明者】丁也, 王建 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1