CN103731489B - 一种数据存储方法、系统和设备 - Google Patents
一种数据存储方法、系统和设备 Download PDFInfo
- Publication number
- CN103731489B CN103731489B CN201310737112.0A CN201310737112A CN103731489B CN 103731489 B CN103731489 B CN 103731489B CN 201310737112 A CN201310737112 A CN 201310737112A CN 103731489 B CN103731489 B CN 103731489B
- Authority
- CN
- China
- Prior art keywords
- data
- written
- write request
- request
- converted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种数据存储方法、系统和设备,涉及通信领域,提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。其方法为:在收到第一写请求和待写入数据后生成第一元数据,将第一元数据和待写入数据写入存储设备,接收到第二读请求时,将第二读请求转换为第一读请求,利用第一读请求读取第一元数据再读取目标数据;或者,收到第二写请求和待写入数据,将第二写请求转换为第一写请求后生成第一元数据,将第一元数据和待写入数据写入存储设备,收到第一读请求时,利用第一读请求读取第一元数据后再读取目标数据。本发明实施例用于数据的存储。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据存储方法、系统和设备。
背景技术
数据备份是容灾的基础,传统的数据备份主要是采用内置或外置的磁带机进行冷备份。但是由于这种方式只能防止操作失误等人为故障,而且其恢复时间也很长。随着技术的不断发展,数据的海量增加,目前采用网络备份来实现数据备份。而网络备份一般通过专业的数据存储管理软件结合相应的硬件和存储设备来实现。
现有的网络备份技术常常采用S3(Simple Storage Service,简易存储服务),通过网络服务系统提供网络线上存储服务,经由网络服务页面,提供用户能够轻易把档案储存到网络服务器的方式来实现。
S3是一个全球存储区域网络(Storage Area Networking,SAN),可以在其中存储和检索数字资产,在S3存储和检索的资产被称为对象,对象存储在存储桶中,而且可以通过统一资源标识符(Uniform Resource Identifier,URI)查找对象和存储桶。此外,S3还提供了指定存储桶和对象的所有者和权限的能力,在定义对象或存储桶时,用户可以通过指定一个访问控制策略,注明谁可以访问用户的S3资产以及如何访问。
用户用S3进行数字资产归档备份时,用户将数据通过S3协议写入网络服务器上,之后可以通过统一资源标示符(URI)查找和读取数据。同时,对于服务管理员可以使用传统的应用软件通过NFS(Network File System,网络文件系统)协议读取网络服务器上数据来进行分析和统计。
现有技术中,S3FS可以实现通过Posix文件接口或者导出后(Export)通过NFS协议访问S3存储桶中的对象。但是S3FS是一个单机版的本地文件系统,无分布式部署和处理能力,也无法实现协议转换。
发明内容
本发明的实施例提供一种数据存储方法、系统和设备,提供了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种数据存储方法,所述方法包括:
接收第一终端发送的第一写请求,所述第一写请求携带待写入数据;其中,所述第一写请求为基于第一协议的写请求;
根据所述第一写请求生成所述待写入数据的第一元数据,所述第一元数据为基于第一协议的元数据,并将所述待写入数据和所述第一元数据写入存储设备;
接收第二终端发送的第二读请求,所述第二读请求为基于第二协议的读请求;
将所述第二读请求转换为第一读请求,所述第一读请求为基于第一协议的读请求;
利用所述第一元数据从所述存储设备中读取所述第一读请求所要读取的目标数据;所述目标数据为所述待写入数据或所述待写入数据的部分数据,并将所述目标数据返回给所述第二终端。
结合第一方面,在第二种可能的实现方式中,
所述第一读请求包括:所述目标数据的对象名称、所述目标数据所在的存储桶的桶名、第三偏移量和第一权限信息;
所述第二读请求包括:所述目标数据的文件名称、所述目标数据所在的文件夹的文件夹名称、第四偏移量和第二权限信息;
所述将所述第二读请求转换为第一读请求包括:
将所述第二读请求中的所述目标数据的文件名称转换为所述目标数据的对象名称;
将所述第二读请求中的所述第二权限信息转换为所述第一权限信息;
将所述第二读请求中的所述目标数据所在的文件夹的文件夹名称转换为所述目标数据所在的存储桶的桶名;
将所述第二读请求中的所述第四偏移量转换为所述第三偏移量,从而得到所述第一读请求。
第二方面,提供一种数据存储方法,所述方法包括:
接收第二终端发送的第二写请求,所述第二写请求携带待写入数据;其中,所述第二写请求为基于第二协议的写请求;
将所述第二写请求转换为第一写请求,所述第一写请求为基于第一协议的写请求;
将所述待写入数据写入存储设备;根据所述第一写请求生成所述待写入数据的第一元数据,并将所述第一元数据写入所述存储设备,所述第一元数据为基于第一协议的元数据;
接收第一终端发送的第一读请求,所述第一读请求为基于第一协议的读请求;从所述存储设备中读取所述第一读请求所要读取的目标数据;所述目标数据为所述待写入数据或所述待写入数据的部分数据,并将所述目标数据返回给所述第一终端。
结合第二方面,在第一种可能的实现方式中,
所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息;
所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息;
所述将所述第二写请求转换为第一写请求具体包括:
将所述第二写请求中的所述待写入数据的文件名称转换为所述待写入数据的对象名称;
将所述第二写请求中的所述待写入数据的文件大小转换为所述待写入数据的对象大小;
将所述第二写请求中的所述待写入数据所要存入的文件的文件名称转换为所述待写入数据所要存入的存储桶的桶名;
将所述第二写请求中的所述第一用户信息转换为所述第二用户信息;
将所述第二写请求中的所述第二偏移量转换为所述第一偏移量,从而得到所述第一写请求。
第三方面,提供一种数据存储方法,所述方法包括:
接收所述第二管理服务器发送的第二读请求,所述第二读请求为所述第二管理服务器从所述第二终端接收的,所述第二读请求为基于第二协议的读请求;
将所述第二读请求转换为第一读请求;
利用所述第一读请求从所述存储设备中读取所述第一读请求所要读取的目标数据;所述目标数据为所述待写入数据或所述待写入数据的部分数据,并将所述目标数据返回给所述第二终端。
结合第三方面,在第一种可能的实现方式中,所述接收所述第二管理服务器发送的第二读请求之前,所述方法包括:
接收第一管理服务器发送的第一写请求,所述第一写请求为所述第一管理服务器从第一终端接收的,所述第一写请求为基于第一协议的写请求;
将所述第一写请求转换为第二写请求,以便所述第二管理服务器根据所述第二写请求生成所述待写入数据的第二元数据。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息;
所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息;
所述将所述第一写请求转换为第二写请求包括:
将所述第一写请求中的所述第一偏移量转换为所述第二偏移量;
将所述第一写请求中的所述待写入数据的对象名称转换为所述待写入数据的文件名称;
将所述第一写请求中的所述待写入数据的对象大小转换为所述待写入数据的文件大小;
将所述第一写请求中的所述待写入数据所要存入的存储桶的桶名转换为所述待写入数据所要存入的文件的文件名称;
将所述第一写请求中的所述第一用户信息转换为所述第二用户信息,从而得到所述第二写请求;所述第二写请求为基于第二协议的写请求;以便所述第二管理服务器根据所述第二写请求生成所述待写入数据的第二元数据。
结合第三方面,在第三种可能的实现方式中,
所述第一读请求包括:所述目标数据所在的存储桶的桶名、所述目标数据的对象名称、第一偏移量和第一权限信息;
所述第二读请求包括:所述目标数据所在的文件夹的文件夹名称、所述目标数据的文件名称、第二偏移量和第二权限信息;
所述将所述第二读请求转换为第一读请求包括:
将所述第二读请求中的所述目标数据的文件名称转换为所述目标数据的对象名称;
将所述第二读请求中的所述第二权限信息转换为所述第一权限信息;
将所述第二读请求中的所述目标数据所在的文件夹的文件夹名称转换为所述目标数据所在的存储桶的桶名;
将所述第二读请求中的所述第四偏移量转换为所述第三偏移量,从而得到所述第一读请求。
第四方面,提供一种数据存储方法,所述方法包括:
接收第二管理服务器发送的第二写请求,所述第二写请求为所述第二管理服务器从所述第二终端接收的,所述第一写请求携带待写入数据,所述第一写请求为基于第一协议的写请求;
将所述第二写请求转换为第一写请求,所述第一写请求为基于第一协议的写请求;以便所述第一管理服务器根据所述第一写请求生成所述待写入数据的第一元数据;
根据第一写请求将所述待写入数据写入存储设备。
结合第四方面,在第一种可能的实现方式中,
所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息;
所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息;
所述将所述第二写请求转换为第一写请求包括:
将所述第二写请求中的所述待写入数据的文件名称转换为所述待写入数据的对象名称;
将所述第二写请求中的所述待写入数据的文件大小转换为所述待写入数据的对象大小;
将所述第二写请求中的所述待写入数据所要存入的文件的文件名称转换为所述待写入数据所要存入的存储桶的桶名;
将所述第二写请求中的所述第二用户信息转换为所述第一用户信息;
将所述第二写请求中的所述第二偏移量转换为所述第一偏移量,从而得到所述第一写请求。
第五方面,提供一种数据存储系统,包括至少一个第一终端、至少一个第二终端和存储设备,所述系统还包括:
第一管理服务器,用于接收所述第一终端发送的第一写请求,所述第一写请求携带待写入数据;其中,所述第一写请求为基于第一协议的写请求,根据所述第一写请求生成所述待写入数据的第一元数据,所述第一元数据为基于第一协议的元数据,并将所述待写入数据和所述第一元数据写入存储设备;
第二管理服务器,用于接收第二终端发送的第二读请求,所述第二读请求为基于第二协议的读请求,并将所述第二读请求发送至所述转换单元;
转换设备,用于将所述第二读请求转换为第一读请求,所述第一读请求为基于第一协议的读请求,并将所述第一读请求发送至所述第一管理服务器;
所述转换设备还用于根据所述第一读请求通过所述第一管理服务器利用所述第一元数据从所述存储设备中读取所述第一读请求所要读取的目标数据;所述目标数据为所述待写入数据或所述待写入数据的部分数据,并将所述目标数据返回给所述第二终端。
结合第五方面,在第一种可能的实现方式中,
所述第一读请求包括:所述目标数据所在的存储桶的桶名、所述目标数据的对象名称、第三偏移量和第一权限信息;
所述第二读请求包括:所述目标数据所在的文件夹的文件夹名称、所述目标数据的文件名称、第四偏移量和第二权限信息;
所述转换设备包括协议转换单元和对象适配单元;
所述协议转换单元还用于将所述第二读请求中的所述目标数据的文件名称转换为所述目标数据的对象名称;
所述协议转换单元还用于将所述第二读请求中的所述第二权限信息转换所述第一权限信息;
所述协议转换单元还用于将所述第二读请求中的所述目标数据所在的文件夹名称转换为所述目标数据所在的存储桶的桶名;
所述对象适配单元还用于将所述第二读请求中的所述第四偏移量转换为所述第三偏移量,从而得到所述第一读请求。
第六方面,提供一种数据存储系统,包括至少一个第一终端、至少一个第二终端和存储设备,所述系统还包括:
第二管理服务器,用于接收第二终端发送的第二写请求,所述第二写请求携带待写入数据;其中,所述第二写请求为基于第二协议的写请求;
转换设备,用于将所述第二写请求转换为第一写请求,所述第一写请求为基于第一协议的写请求;
所述转换单元还用于根据所述第一写请求通过第一管理服务器将所述待写入数据写入所述存储设备;
第一管理服务器,用于根据所述第一写请求生成所述待写入数据的第一元数据,并将所述第一元数据写入所述存储设备,所述第一元数据为基于第一协议的元数据;
所述第一管理服务器还用于接收第一终端发送的第一读请求,所述第一读请求为基于第一协议的读请求;从所述存储设备中读取所述第一读请求所要读取的目标数据;所述目标数据为所述待写入数据或所述待写入数据的部分数据,并将所述目标数据返回给所述第一终端。
结合第六方面,在第一种可能的实现方式中,
所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息;
所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息;
所述转换设备包括协议转换单元和对象适配单元;
所述协议转换单元用于将所述第二写请求中的所述待写入数据的文件名称转换为所述待写入数据的对象名称;
所述协议转换单元还用于将所述第二写请求中的所述待写入数据的文件大小转换为所述待写入数据的对象大小;
所述协议转换单元还用于将所述第二写请求中的所述待写入数据所要存入的文件的文件名称转换为所述待写入数据所要存入的存储桶的桶名;
所述协议转换单元还用于将所述第二写请求中的所述第二用户信息转换为所述第一用户信息;
所述对象适配单元用于将所述第二写请求中的所述第二偏移量转换为所述第一偏移量,从而得到所述第一写请求。
第七方面,提供了一种数据存储设备,该数据存储设备包括:
接收单元,用于接收所述第二管理服务器发送的第二读请求,所述第二读请求为所述第二管理服务器从所述第二终端接收的,所述第二读请求为基于第二协议的读请求;
转换单元,用于将所述第二读请求转换为第一读请求;
对象适配单元,用于根据所述第一读请求通过第一管理服务器从所述存储设备中读取所述第一读请求所要读取的目标数据;并将所述目标数据返回给所述第二终端。
结合第七方面,在第一种可能的实现方式中,
所述接收单元还用于:接收第一管理服务器发送的第一写请求,所述第一写请求为所述第一管理服务器从第一终端接收的,所述第一写请求为基于第一协议的写请求。
所述转换单元还用于将所述第一写请求转换为第二写请求。
结合第七方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息;
所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息;
所述对象适配单元还用于将所述第一写请求中的所述第一偏移量转换为所述第二偏移量;
所述转换单元还用于将所述第一写请求中的所述待写入数据的对象名称转换为所述待写入数据的文件名称;
所述转换单元还用于将所述第一写请求中的所述待写入数据的对象大小转换为所述待写入数据的文件大小;
所述转换单元还用于将所述第一写请求中的所述待写入数据所要存入的存储桶的桶名转换为所述待写入数据所要存入的文件的文件名称;
所述转换单元还用于将所述第一写请求中的所述第一用户信息转换为所述第二用户信息,从而得到所述第二写请求;所述第二写请求为基于第二协议的写请求;以便所述第二管理服务器根据所述第二写请求生成所述待写入数据的第二元数据。
结合第七方面,在第七方面的第三种可能的实现方式中,
所述第一读请求包括:所述目标数据的对象名称、所述目标数据所在的存储桶的桶名、第三偏移量和第一权限信息;
所述第二读请求包括:所述目标数据的文件名称、所述目标数据所在的文件夹的文件夹名称、第四偏移量和第二权限信息;
所述转换单元具体用于将所述第二读请求中的所述目标数据的文件名称转换为所述目标数据的对象名称;
所述转换单元具体用于将所述第二读请求中的所述第二权限信息转换为所述第一权限信息;
所述转换单元具体用于将所述第二读请求中的所述目标数据所在的文件夹名称转换为所述目标数据所在的存储桶的桶名;
所述对象适配单元还用于将所述第二读请求中的所述第四偏移量转换为所述第三偏移量,从而得到所述第一读请求。
第八方面,提供了一种数据存储设备,该数据存储设备包括:
接收单元,用于接收第二管理服务器发送的第二写请求,所述第二写请求为所述第二管理服务器从所述第二终端接收的,所述第一写请求携带待写入数据,所述第一写请求为基于第一协议的写请求;
转换单元,用于将所述第二写请求转换为第一写请求,所述第一写请求为基于第一协议的写请求;以便所述第一管理服务器根据所述第一写请求生成所述待写入数据的第一元数据;
对象适配单元,用于根据第一写请求通过所述第一管理服务器将所述待写入数据写入存储设备。
结合第八方面,在第一种可能的实现方式中,
所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息;
所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息;
所述转换单元还用于将所述第二写请求中的所述待写入数据的文件名称转换为所述待写入数据的对象名称;
所述转换单元还用于将所述第二写请求中的所述待写入数据的文件大小转换为所述待写入数据的对象大小;
所述转换单元还用于将所述第二写请求中的所述待写入数据所要存入的文件的文件名称转换为所述待写入数据所要存入的存储桶的桶名;
所述转换单元还用于将所述第二写请求中的所述第二用户信息转换为第一用户信息;
所述对象适配单元还用于将所述第二写请求中的所述第二偏移量转换为所述第一偏移量,从而得到所述第一写请求。
本发明实施例提供了一种数据存储方法、系统和设备,第一管理服务器在收到第一写请求和待写入数据后,生成第一元数据,并将第一元数据和待写入数据写入存储设备,在第二管理服务器接收到第二读请求,将第二读请求转换为第一读请求,再利用第一读请求读取第一元数据,再读取目标数据;或者,第二管理服务器在收到第二写请求和待写入数据后,将第二写请求转换为第一写请求,并生成第一元数据,并将第一元数据和待写入数据写入存储设备,在第一管理服务器收到第一读请求时,利用第一读请求读取第一元数据,再读取目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据存储方法的流程示意图;
图2为本发明实施例提供的另一种数据存储方法的流程示意图;
图3为本发明实施例提供的另一种数据存储方法的流程示意图;
图4为本发明实施例提供的另一种数据存储方法的流程示意图;
图5为本发明实施例提供的另一种数据存储方法的流程示意图;
图6为本发明实施例提供的另一种数据存储方法的流程示意图;
图7为本发明实施例提供的另一种数据存储方法的流程示意图;
图8为本发明实施例提供的另一种数据存储方法的流程示意图;
图9为本发明实施例提供的另一种数据存储方法的流程示意图;
图10为本发明实施例提供的另一种数据存储方法的流程示意图;
图11为本发明实施例提供的另一种数据存储方法的流程示意图;
图12为本发明实施例提供的一种数据存储系统的结构示意图;
图13为本发明实施例提供的另一种数据存储系统的结构示意图;
图14为本发明实施例提供的另一种数据存储系统的结构示意图;
图15为本发明实施例提供的另一种数据存储系统的结构示意图;
图16为本发明实施例提供的一种数据存储设备的结构示意图;
图17为本发明实施例提供的另一种数据存储设备的结构示意图;
图18为本发明实施例提供的另一种数据存储设备的结构示意图;
图19为本发明实施例提供的另一种数据存储设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先需要说明的是,在下文所述实施例中,第一终端、第一管理服务器可以为运行第一协议的设备,第二终端、第二管理服务器可以为运行第二协议的设备,其中第一协议可以是简易存储服务(Simple Storage Service,简称S3)协议,第二协议可以是网络文件系统(Network File System,NFS)协议。其中,S3协议是由亚马逊公司所提供的网络线上储存服务,简易存储服务允许上载、存储和下载5千兆字节(5GB)大小的文件或对象;NFS是一种UNIX(一种支持多用户、多任务、多种处理器架构的操作系统)表示层协议,NFS允许在多个用户之间共享公共文件系统,并将数据集中,以便最小化所需的存储空间。第一管理服务器可以包括分布式对象管理模块,第二管理服务器可以包括分布式文件系统客户端和分布式元数据服务器,存储设备包括云存储服务接入模块和云存储服务器(云存储服务是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个服务,云存储服务接入模块是用于接入该服务的装置,云存储服务器是为云存储服务提供存储空间的服务器),第一终端是第一管理服务器管理的所有终端中的任意一个终端,第二终端是第二管理服务器管理的所有终端中的任意一个终端。当然,上文所述第一协议是简易存储服务协议,第二协议是网络文件系统协议,以及第一管理服务器、第二管理服务器和存储设备的构成仅仅为示例性的,并不限于此。
本发明实施例提供一种数据存储方法,如图1所示,该方法包括:
101、接收第一终端发送的第一写请求,该第一写请求携带待写入数据;其中,第一写请求为基于第一协议的写请求,根据第一写请求生成待写入数据的第一元数据,该第一元数据为基于第一协议的元数据,并将待写入数据和第一元数据写入存储设备。
102、接收第二终端发送的第二读请求,该第二读请求为基于第二协议的读请求。
103、将第二读请求转换为第一读请求,该第一读请求为基于第一协议的读请求。
104、利用所述第一元数据从存储设备中读取第一读请求所要读取的目标数据;目标数据为待写入数据或待写入数据的部分数据,并将目标数据返回给第二终端。
本发明实施例提供了一种数据存储方法,第一管理服务器在收到第一写请求和待写入数据后,生成第一元数据,并将第一元数据和待写入数据写入存储设备,在第二管理服务器接收到第二读请求,将第二读请求转换为第一读请求,再利用第一读请求读取第一元数据,再读取目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
本发明实施例还提供一种数据存储方法,如图2所示,该方法包括:
201、接收第二终端发送的第二写请求,该第二写请求携带待写入数据;其中,该第二写请求为基于第二协议的写请求。
202、将第二写请求转换为第一写请求,该第一写请求为基于第一协议的写请求。
203、将待写入数据写入存储设备;根据第一写请求生成待写入数据的第一元数据,并将第一元数据写入存储设备,该第一元数据为基于第一协议的元数据。
204、接收第一终端发送的第一读请求,该第一读请求为基于第一协议的读请求;利用第一元数据从存储设备中读取第一读请求所要读取的目标数据;该目标数据为待写入数据或待写入数据的部分数据,并将目标数据返回给第一终端。
本发明实施例提供了一种数据存储方法,第二管理服务器在收到第二写请求和待写入数据后,将第二写请求转换为第一写请求,并生成第一元数据,并将第一元数据和待写入数据写入存储设备,在第一管理服务器收到第一读请求时,利用第一读请求读取第一元数据,再读取目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
本发明实施例还提供一种数据存储方法,如图3所示,该方法包括:
301、接收第二管理服务器发送的第二读请求,第二读请求为第二管理服务器从第二终端接收的,第二读请求为基于第二协议的读请求。
302、将第二读请求转换为第一读请求。
303、利用第一读请求从存储设备中读取第一读请求所要读取的目标数据;目标数据为待写入数据或待写入数据的部分数据,并将目标数据返回给第二终端。
本发明实施例了一种数据存储方法,在接收第二管理服务器发送的第二读请求后,将该第二读请求转换为第一读请求,再利用该第一读请求从存储设备中读取第一读请求所要读取的目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
本发明实施例还提供一种数据存储方法,如图4所示,该方法包括:
401、接收第二管理服务器发送的第二写请求,该第二写请求为第二管理服务器从第二终端接收的,第二写请求携带待写入数据,第二写请求为基于第二协议的写请求。
402、将第二写请求转换为第一写请求,第一写请求为基于第一协议的写请求;以便第一管理服务器根据第一写请求生成待写入数据的第一元数据。
403、根据第一写请求将待写入数据写入存储设备。
本发明实施例了一种数据存储方法,在接收第二管理服务器发送的第二写请求后,将第二写请求转换为第一写请求,再根据第一写请求将待写入数据写入存储设备。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
为了使本领域技术人员能够更清楚地理解本发明实施例提供的技术方案,下面通过具体的实施例,对本发明另一实施例提供的另一种数据存储方法进行详细说明,在下文实施例中,示例性的,第一协议可以为简易存储服务协议(S3协议),第二协议可以为网络文件系统协议(NFS协议),具体的,如图5所示,该方法包括:
501、第一客户端向第一管理服务器发送第一写请求。
其中,第一客户端是基于S3协议的客户端,第一管理服务器是基于S3协议的管理单元,且与第一管理服务器相连接的可以是一个第一客户端,也可以是多个第一客户端。
对应的,第一写请求是基于S3协议的写请求,且该第一写请求携带第一写请求所要写入的待写入数据,具体的,该第一写请求包括:待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,且该第一用户信息包括第一用户权限信息。
502、第一管理服务器接收第一写请求。
503、第一管理服务器根据该第一写请求生成待写入数据的第一元数据,并将该待写入数据与第一元数据写入存储设备。
具体的,第一管理服务器接收第一写请求后根据第一写请求中的待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息生成待写入数据的第一元数据,即第一元数据也包含了待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和用户信息,以便第一管理服务器通过第一元数据查找并确定所要读取的目标数据。
504、第二客户端向第二管理服务器发送第二读请求。
其中,第二客户端是基于NFS协议的客户端,第二管理服务器是基于NFS协议的管理单元,且与第二管理服务器相连接的可以是一个第二客户端,也可以是多个第二客户端。
对应的,第二读请求是基于NFS协议的读请求,该第二读请求具体包括:第二读请求所要读取的目标数据的文件名称、目标数据所在的文件夹的文件夹名称第四偏移量和第二权限信息。
505、第二管理服务器接收第二读请求,并将该第二读请求发送至转换设备。
506、转换设备将第二读请求转换为第一读请求。
具体的,转换设备在收到第二读请求后,获取第二读请求中的目标数据的文件名称、第四偏移量和第二权限信息,并将上述信息由NFS协议转换为S3协议,以得到基于S3协议的第一读请求;
具体的,可以包括:
将第二读请求中目标数据的文件名称转换为第一读请求对应的对象名称;
将第二读请求中的目标数据所在的文件夹的文件夹名称转换为目标数据所在的存储桶的桶名;
将第二读请求中的第二权限信息转换为第一读请求对应的第一权限信息;
将第二读请求中的第四偏移量转换为第一读请求对应的第三偏移量,从而就得到了包括对象名称、目标数据所在的存储桶的桶名、第一权限信息和第三偏移量的第一读请求。另外,上述文件名称、第二权限信息以及第四偏移量在转换为对象名称、第一权限信息和第三偏移量的转换过程所呈现的顺序仅仅为示例性的,并不限于此,也可以是其他顺序,或者同时转换。
其中,在第二读请求中,根据第二权限信息,用户可以分为三种类型:注册用户、非注册用户和指定用户,且注册用户、非注册用户和指定用户都可以根据对应的权限信息对与权限信息相对应的文件夹进行读取,注册用户发起的第二读请求对应的权限信息中文件夹的权限信息可以如表1所示,为了方便说明,示例性的,注册用户的读取数据的权限可以表示为drwxr-x---;注册用户的读取权限信息的权限可以表示为drwxr-x---;注册用户的部分控制权限可以表示为drwxrwx---。
表1
非注册用户发起的第二读请求对应的第二权限信息中文件夹的权限信息可以如表2所示,为了方便说明,示例性的,非注册用户的读取数据的权限可以表示为drwxr-xr-x;非注册用户的读取权限信息的权限可以表示为drwxr-xr-x,且该权限仅仅支持对文件父目录权限信息的读取;非注册用户的部分控制权限可以表示为drwxrwxrwx。
表2
指定用户发起的第二读请求对应的第二权限信息中文件夹的权限信息可以如表3所示,为了方便说明,示例性的,指定用户的读取数据的权限可以表示为drwxr-x---+;指定用户的读取权限信息的权限可以表示为drwxr-x---+;指定用户的完全控制权限可以表示为drwxrwx---+。
表3
经过转换后,第一读请求对应的第一权限信息中存储桶的权限信息可以如表4所示,为了方便说明,示例性的,用户的读取数据的权限可以表示为READ,用户的读取权限信息的权限可以表示为READ ACP,用户的完全控制权限可以表示为FULL CONTROL,同时,根据权限信息,用户可以分为两种类型:注册用户和非注册用户,且注册用户和非注册用户都可以根据对应的权限信息对与权限信息相对应的存储桶进行读取。
表4
注册用户发起的第二读请求对应的第二权限信息中文件的权限信息可以如表5所示,为了方便说明,示例性的,注册用户的读取数据的权限可以表示为-rw-r-----;注册用户的读取权限信息的权限可以表示为drwxr-x---;注册用户的部分控制权限可以表示为-rw-rw----。
表5
非注册用户发起的第二读请求对应的第二权限信息中文件的权限信息可以如表6所示,为了方便说明,示例性的,非注册用户的读取数据的权限可以表示为-rw-r--r--;非注册用户的读取权限信息的权限可以表示为drwxr-xr-x,且且该权限仅仅支持对文件父目录权限信息的读取;非注册用户的部分控制权限可以表示为-rw-rw-rw。
表6
指定用户发起的第二读请求对应的第二权限信息中文件的权限信息可以如表7所示,为了方便说明,示例性的,指定用户的读取数据的权限可以表示为-rw-r-----+;指定用户的读取权限信息的权限可以表示为drwxr-x---+;指定用户的完全控制权限可以表示为-rw-rw----+。
表7
经过转换后,第一读请求对应的第一权限信息中对象的权限信息可以如表8所示,同样的,用户的读取数据的权限可以表示为READ,用户的读取权限信息的权限可以表示为READ ACP,用户的完全控制权限可以表示为FULL CONTROL,同时,根据权限信息,用户可以分为两种类型:注册用户和非注册用户,且注册用户和非注册用户都可以根据对应的权限信息对与权限信息相对应的对象数据进行读取。
表8
507、第一管理服务器根据第一元数据中的第一用户信息与第一读请求中的第一权限信息进行鉴权。
具体的,第一管理服务器首先根据第一读请求从存储设备中查找并读取第一元数据,完成读取后再利用第一元数据中的第一用户信息中的第一用户权限信息与第一读请求中的第一权限信息进行鉴权。
第一管理服务器根据鉴权结果采取不同的策略;若鉴权成功,则执行508,若鉴权不成功,则对应地执行509;
508、对象适配单元通过第一管理服务器根据第一读请求中的第三偏移量从存储设备中读取目标数据,并将该目标数据返回给第二客户端。
具体的,对象适配单元首先通过第一管理服务器读取第一读请求中的第三偏移量,然后根据第三偏移量的大小确定第一读请求所要读取的目标数据在待写入数据中的起始位置;其中:
若第三偏移量为0,则对象适配单元直接通过第一管理服务器从存储设备中读取目标数据。
若第三偏移量不为0,则对象适配单元通过第一管理服务器从第三偏移量的对应的对象数据起始位置开始读取目标数据。
由于第三偏移量可以为0或者可以不为0,所以,目标数据可以为待写入数据,也可以是待写入数据的部分数据。
对象适配单元完成目标数据的读取后,将该目标数据返回给第二客户端。
509、第一管理服务器直接将该第一读请求返回给第二客户端。
可选的,如图6所示,在503之前,还可以包括:
510、第一管理服务器根据第一写请求中第一用户信息进行鉴权。
具体的,若第一管理服务器根据第一写请求中第一用户信息鉴权成功,即第一管理服务器允许根据第一写请求将第一写请求携带的待写入数据写入存储设备中,则执行503及对应的后续步骤;
若第一管理服务器根据第一写请求中第一用户信息鉴权失败,即第一管理服务器不允许根据第一写清求将第一写请求携带的待写入数据写入存储设备中,则执行511;
511、第一管理服务器将第一写清求和第一写请求携带的待写入数据返回给第一客户端。
可选的,如图7所示,在504之前,还可以包括:
512、转换设备将第一写请求生成第二写请求。
具体的,转换设备在收到第一写请求后,获取第一写请求中待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,且该第一用户信息包括第一用户权限信息,并将上述信息由S3协议转换为NFS协议,以得到第二写请求;
具体的,可以包括:
将第一写请求中的第一偏移量转换为第二写请求对应的第二偏移量;
将第一写请求中的待写入数据的对象名称转换为第二写请求对应的待写入数据的文件名称;
将第一写请求中的待写入数据的对象大小转换为第二写请求对应的待写入数据的文件大小;
将第一写请求中的待写入数据所要存入的存储桶的桶名转换第二写请求对应的待写入数据所要存入的文件的文件名称;
将第一写请求中的第一用户信息转换为第二写请求对应的第二用户信息。
从而就得到了包括第二偏移量、文件名称、文件大小、所要存入的文件的文件名称和第一用户信息的第二写请求。
另外,上述第一偏移量、对象名称、对象大小、存储桶的桶名、第一用户信息转换为第二偏移量、文件名称、文件大小、文件的目录和第一用户信息的转换过程中所呈现的顺序仅仅为示例性的,并不限于此,也可以是其他顺序,或者同时转换。
具体的,在第一写请求中,根据第一用户信息中的第一用户权限信息,用户可以分为两种类型:注册用户和非注册用户,且注册用户和非注册用户都可以根据对应的权限信息对与权限信息相对应的对象数据进行写入。第一写请求对应的第一用户权限信息中存储桶的权限信息可以如表9所示,为了方便说明,用户的写入数据的权限可以表示为WRITE,用户的写入权限信息的权限可以表示为WRITE ACP,用户的完全控制权限可以表示为FULLCONTROL。
表9
对应的,第一写请求对应的第一用户权限信息中对象的权限信息可以如表10所示,为了方便说明,用户的写入数据的权限可以表示为WRITE,用户的写入权限信息的权限可以表示为WRITE ACP,用户的完全控制权限可以表示为FULL CONTROL。
表10
在第二写请求中,根据第二用户信息中的第二用户权限信息,用户可以分为三种类型:注册用户、非注册用户和指定用户,且注册用户、非注册用户和指定用户都可以根据对应的权限信息对与权限信息相对应的文件夹进行写入。
经过转换后,注册用户对应的第二写请求对应的第二用户权限信息中文件夹的权限信息可以如表11所示,为了方便说明,注册用户的写入数据的权限可以表示为drwxr-wx---;注册用户不支持权限信息的写入;注册用户的部分控制权限可以表示为drwxrwx---。
表11
经过转换后,非注册用户对应的第二写请求对应的第二用户权限信息中文件夹的权限信息可以如表12所示,为了方便说明,非注册用户的写入数据的权限可以表示为drwxr-wx-wx;非注册用户不支持权限信息的写入;非注册用户的部分控制权限可以表示为drwxrwxrwx。
表12
经过转换后,指定用户对应的第二写请求对应的第二用户权限信息中文件夹的权限信息可以如表13所示,为了方便说明,指定用户的写入数据的权限可以表示为drwxr-wx---;指定用户不支持权限信息的写入;注册用户的部分控制权限可以表示为drwxrwx---。
表13
经过转换后,注册用户对应的第二写请求对应的第二用户权限信息中文件的权限信息可以如表14所示,为了方便说明,注册用户的写入数据的权限可以表示为-rw--w----;注册用户不支持权限信息的写入;注册用户的部分控制权限可以表示为-rw-rw---。
表14
经过转换后,非注册用户对应的第二写请求对应的第二用户权限信息中文件的权限信息可以如表15所示,为了方便说明,非注册用户的写入数据的权限可以表示为-rw--w--w-;非注册用户不支持权限信息的写入;非注册用户的部分控制权限可以表示为-rw-rw-rw-。
表15
经过转换后,指定用户对应的第二写请求对应的第二用户权限信息中文件的权限信息可以如表16所示,为了方便说明,指定用户的写入数据的权限可以表示为-rw--w----+;指定用户不支持权限信息的写入;注册用户的部分控制权限可以表示为-rw-rw----+。
表16
513、第二管理服务器根据第二写请求生成待写入数据的第二元数据。
其中,该第二元数据为基于NFS协议的元数据,由于第二元数据是有第二写请求转换而来,所以对应的,第二元数据也包含了待写入数据的文件名称、待写入数据的文件大小、待写入数据所要存入的文件的文件名称、第二偏移量和用户信息,以便第二管理服务器通过第二元数据查找并确定所要读取的目标数据。
对应的,在506之前,还包括:
514、第二管理服务器根据第二读请求中的权限信息与第二元数据中的用户信息进行鉴权。
具体的,第二管理服务器首先根据第二读请求中的数据从存储设备中读取第二元数据,然后利用第二元数据中的第二用户信息与第二读请求中的第二权限信息进行鉴权。
第二管理服务器根据鉴权结果采取不同的策略;若鉴权成功,则执行506及506以后相应的步骤,若鉴权不成功,则对应地执行515;
515、第二管理服务器将第二读请求返回给第二客户端。
因为514已经进行了鉴权,所以在507一定鉴权成功,对应的,在506之后,只执行507~508,而不执行509。
可选的,如图8所示,在504之前,还可以包括:
516、第一管理服务器对待写入数据与第一元数据进行附加处理,并将附加处理后的待写入数据和第一元数据写入存储设备。
具体的,第一管理服务器首先读取第一元数据中的第一用户信息,根据第一用户信息中的第一权限信息对待写入数据和第一元数据进行包括重删、压缩、多数据中心、电子商务和数据加密的附加处理,得到附加处理后的待写入数据和第一元数据,并将该附加处理后的待写入数据和第一元数据写入存储设备。
本发明实施例中出现的“第一”或者“第二”并非特指,而是为了区分二者的区别,此处不加以限定。
本发明实施例提供了一种数据存储方法,第一管理服务器在收到第一写请求和待写入数据后,生成第一元数据,并将第一元数据和待写入数据写入存储设备,在第二管理服务器接收到第二读请求,将第二读请求转换为第一读请求,再利用第一读请求读取第一元数据,再读取目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
本发明实施例还提供一种数据存储方法,本实施例中的第一协议可以为简易存储服务协议(S3协议),第二协议可以为网络文件系统协议(NFS协议),与上述实施例相同,具体的,如图9所示,该方法包括:
601、第二客户端向第二管理服务器发送第二写请求。
其中,第二客户端是基于NFS协议的客户端,第二管理服务器是基于NFS协议的管理单元,且与第二管理服务器相连接的可以是一个第二客户端,也可以是多个第二客户端。
对应的,第二写请求是基于NFS协议的写请求,且该第二写请求携带所要写入的待写入数据,具体的,该第二写请求包括:待写入数据的文件大小、待写入数据所要存入的文件的文件名称、第二偏移量和用户信息。
602、第二管理服务器将第二写请求和第二写请求所要写入的待写入数据发送给转换设备,转换设备将第二写请求转换为第一写清求。
具体的,转换设备在收到第一写请求后,获取第一写请求中待写入数据的文件大小、待写入数据所要存入的文件的目录、第二偏移量和第二用户信息,并将上述信息由NFS协议转换为S3协议,以得到基于S3协议的第一写请求;
具体的,包括:
将第二写请求中的待写入数据的文件名称转换为第一写请求对应的待写入数据的对象名称;
将第二写请求中的待写入数据的文件大小转换为第一写请求对应的待写入数据的对象大小;
将第二写请求中的待写入数据所要存入的文件的文件名称转换为第一写请求对应的待写入数据所要存入的存储桶的桶名;
将第二写请求中的第二用户信息转换为第一写请求对应的第一用户信息;
将第二写请求中的第二偏移量转换为第一写请求对应的第一偏移量,从而得到包括对象名称、对象大小、存储桶的桶名、第一用户信息和第一偏移量的第一写请求。
其中,该第一写请求是基于S3协议的写请求,因为该第一写请求是由第二写请求转换而来的,所以,该第一写请求对应地包括:待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,该第一用户信息包括第一用户权限信息。
另外,上述文件名称、文件大小、文件的目录、第二用户信息、第二偏移量转换为对象名称、对象大小、文件大小、存储桶的桶名、第一用户信息和第一偏移的转换过程中所呈现的顺序仅仅为示例性的,并不限于此,也可以是其他顺序,或者同时转换。
具体的,第一写请求对应的第一用户权限信息中注册用户和非注册用户存储桶的权限信息可以如上述实施例中的表9所示;
示例性的,第一写请求对应的第一用户权限信息中注册用户和非注册用户对象的权限信息可以如上述实施例中的表10所示;
对应的,经过转换后,得到的第二写请求对应的第二用户权限信息中注册用户对应的文件夹的权限信息可以如上述实施例中的表11所示;
对应的,经过转换后,得到的第二写请求对应的第二用户权限信息中非注册用户对应的文件夹的权限信息可以如上述实施例中的表12所示;
对应的,经过转换后,得到的第二写请求对应的第二用户权限信息中指定用户对应的文件夹的权限信息可以如上述实施例中的表13所示;
对应的,经过转换后,得到的第二写请求对应的第二用户权限信息中注册用户对应的文件的权限信息可以如上述实施例中的表14所示;
对应的,经过转换后,得到的第二写请求对应的第二用户权限信息中非注册用户对应的文件的权限信息可以如上述实施例中的表15所示;
对应的,经过转换后,得到的第二写请求对应的第二用户权限信息中指定用户对应的文件的权限信息可以如上述实施例中的表16所示。
603、第一管理服务器根据第一写请求生成待写入数据的第一元数据,并将待写入数据写入存储设备;对象适配单元根据第一写请求,通过第一管理服务器,将待写入数据写入存储设备。
其中,该第一元数据为基于S3协议的元数据,由于第一元数据是有第一写请求生成的,所以对应的,第一元数据也包含了待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和用户信息,以便第一管理服务器通过第一元数据查找并确定所要读取的目标数据。
具体的,对象适配单元利用第一写请求中的第一偏移量通过第一管理服务器将待写入数据写入存储设备;对象适配单元根据第一偏移量的大小,采取不同的策略,具体的:
若第一偏移量为0,表示存储设备中没有存储待写入数据或者待写入数据的部分数据,则对象适配单元将待写入数据通过第一管理服务器直接写入存储设备;
若第一偏移量不为0,表示存储设备中存有待写入数据或者待写入数据的部分数据,则对象适配单元先通过第一管理服务器从存储设备读取与待写入数据对应的对象数据;对象适配单元根据偏移量将待写入数据和对象数据组成完整的对象数据;对象适配单元将完整的对象数据通过第一管理服务器写入存储设备。
604、第一客户端向第一管理服务器发送第一读请求。
其中,第一客户端是基于S3协议的客户端,第一管理服务器是基于S3协议的管理单元,且与第一管理服务器相连接的可以是一个第一客户端,也可以是多个第一客户端。
对应的,第一读请求是基于S3协议的读请求,该第一读请求具体包括:第一读请求所要读取的目标数据的对象名称、目标数据所在的存储桶的桶名、第三偏移量和权限信息。
具体的,第一读请求对应的第一权限信息中存储桶的权限信息可以如表4所示;
第一读请求对应的第一权限信息中对象的权限信息可以如表8所示。
605、第一管理服务器根据第一元数据中的第一用户信息与第一读请求中的第一权限信息进行鉴权。
具体的,第一管理服务器首先根据第一读请求从存储设备中读取第一元数据,然后利用第一元数据中的第一用户信息与第一读请求中的第一权限信息进行鉴权。
第一管理服务器根据鉴权结果采取不同的策略;若鉴权成功,则执行606,若鉴权不成功,则对应地执行607;
606、第一管理服务器根据第一读请求从存储设备中读取目标数据,并将该目标数据返回给第一客户端。
具体的,第一管理服务器首先利用第一读请求获取第一元数据,然后利用第一元数据在存储设备中确定目标数据,之后再利用第一读请求读取目标数据
其中,目标数据可以为待写入数据,也可以是待写入数据的部分数据。
完成目标数据的读取后,将该目标数据返回给第一客户端。
607、第一管理服务器直接将该第一读请求返回给第一客户端。
可选的,如图10所示,602之前,还可以包括:
608、第二管理服务器根据第二写请求中第一用户信息进行鉴权。
具体的,若第二管理服务器根据第二写请求中用户信息鉴权成功,即第二管理服务器允许根据第二写清求将第二写请求携带的待写入数据写入存储设备中,则执行602以及602对应的后续步骤;
若第二管理服务器根据第二写请求中用户信息鉴权失败,即第二管理服务器不允许根据第二写清求将第二写请求携带的待写入数据写入存储设备中,则执行609;
609、第二管理服务器将第二写清求和第二写请求携带的待写入数据返回给第二客户端。
可选的,如图11所示,在602之前还可以包括:
610、第二管理服务器根据第二写请求生成待写入数据的第二元数据,并将该第二元数据写入存储设备。
其中,该第二元数据为基于NFS协议的元数据,由于第二元数据是有第二写请求转换而来,所以对应的,第二元数据也包含了待写入数据的文件名称、待写入数据的文件大小、待写入数据所要存入的文件的文件名称、第二偏移量和用户信息,以便第二管理服务器通过第二元数据查找并确定所要读取的目标数据。
此时,只有第二管理服务器根据第二写请求成功生成待写入数据的第二元数据,且转换单元将第二写请求成功转换为第一写请求,执行602以及对应的后续步骤,否则,不执行602以及对应的后续步骤,以保证第二元数据生成与第二写请求转换的一致性。
本发明实施例中出现的“第一”或者“第二”并非特指,而是为了区分二者的区别,此处不加以限定。
本发明实施例提供了一种数据存储方法,第二管理服务器在收到第二写请求和待写入数据后,将第二写请求转换为第一写请求,并生成第一元数据,并将第一元数据和待写入数据写入存储设备,在第一管理服务器收到第一读请求时,利用第一读请求读取第一元数据,再读取目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
本发明实施例还提供一种数据存储系统1,包括至少一个第一终端11、至少一个第二终端12、存储设备13,如图12所示,该系统还包括:
第一管理服务器14,用于接收第一终端11发送的第一写请求,第一写请求携带待写入数据;其中,该第一写请求为基于第一协议的写请求,根据第一写请求生成待写入数据的第一元数据,该第一元数据为基于第一协议的元数据,并将待写入数据和第一元数据写入存储设备13;
第二管理服务器15,用于接收第二终端12发送的第二读请求,该第二读请求为基于第二协议的读请求,并将第二读请求发送至转换设备16;
转换设备16,用于将第二读请求转换为第一读请求,该第一读请求为基于第一协议的读请求,并将第一读请求发送至第一管理服务器14;
转换设备16还用于根据第一读请求通过第一管理服务器14利用第一元数据从存储设备13中读取第一读请求所要读取的目标数据;目标数据为待写入数据或待写入数据的部分数据,并将目标数据返回给第二终端12。
可选的,转换设备16还用于:
将第一写请求转换为第二写请求,该第二写请求为基于第二协议的写请求,并将第二写请求发送至第二管理服务器15;
第二管理服务器15还用于根据第二写请求生成待写入数据的第二元数据,该第二元数据为基于第二协议的元数据,将第二元数据写入存储设备13。
可选的,
第一写请求包括:待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,第一用户信息包括第一用户权限信息;
第二写请求包括:待写入数据的文件名称、待写入数据的文件大小、待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,第二用户信息包括第二用户权限信息。
可选的,如图13所示,转换设备16还包括:
对象适配单元161,用于将第一写请求中的第一偏移量转换为第二偏移量;
协议转换单元162,用于将第一写请求中的待写入数据的对象名称转换为待写入数据的文件名称;
协议转换单元162还用于将第一写请求中的待写入数据的对象大小转换为待写入数据的文件大小;
协议转换单元162还用于将第一写请求中的待写入数据所要存入的存储桶的桶名转换为待写入数据所要存入的文件的文件名称;
协议转换单元162还用于将第一写请求中的第一用户信息转换为第二用户信息,从而得到第二写请求。
可选的,
第一读请求包括:目标数据的对象名称、目标数据所在的存储桶的桶名、第三偏移量和第一权限信息;
第二读请求包括:目标数据的文件名称、目标数据所在的文件夹的文件夹名称、第四偏移量和第二权限信息。
可选的,
协议转换单元162还用于将第二读请求中的目标数据的文件名称转换为目标数据的对象名称;
协议转换单元162还用于将第二读请求中的第二权限信息转换第一权限信息;
协议转换单元162还用于将第二读请求中的目标数据所在的文件夹的文件夹名称转换为目标数据所在的存储桶的桶名;
对象适配单元161,用于将第二读请求中的第四偏移量转换为第三偏移量,从而得到第一读请求。
可选的,
第一管理服务器14还用于根据第一读请求读取第一元数据;
根据第一元数据中的第一用户信息与第一读请求中的第一权限信息进行鉴权;
鉴权成功后,利用第一元数据确定第一读请求所要读取的目标数据;
转换设备16还用于根据第一读请求中的第三偏移量通过第一管理服务器14从存储设备13中读取目标数据;
若第三偏移量为0,则直接通过第一管理服务器14从存储设备13中读取目标数据;
若第三偏移量不为0,则通过第一管理服务器14从存储设备13存储的对象数据中第三偏移量对应的起始位置开始读取目标数据。
本发明实施例提供了一种数据存储系统,第一管理服务器在收到第一写请求和待写入数据后,生成第一元数据,并将第一元数据和待写入数据写入存储设备,在第二管理服务器接收到第二读请求,将第二读请求转换为第一读请求,再利用第一读请求读取第一元数据,再读取目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
本发明实施例还提供一种数据存储系统2,包括至少一个第一终端21、至少一个第二终端22、存储设备23,如图14所示,该系统还包括:
第二管理服务器24,用于接收第二终端22发送的第二写请求,第二写请求携带待写入数据;其中,第二写请求为基于第二协议的写请求;
转换设备25,用于将第二写请求转换为第一写请求,第一写请求为基于第一协议的写请求;
转换设备25还用于根据第一写请求通过第一管理服务器26将待写入数据写入存储设备23;
第一管理服务器26,用于根据第一写请求生成待写入数据的第一元数据,并将第一元数据写入存储设备23,第一元数据为基于第一协议的元数据;
第一管理服务器26还用于接收第一终端21发送的第一读请求,第一读请求为基于第一协议的读请求;利用第一元数据从存储设备23中读取第一读请求所要读取的目标数据;目标数据为待写入数据或待写入数据的部分数据,并将目标数据返回给第一终端21。
可选的,第二管理服务器24还用于:
根据第二写请求生成待写入数据的第二元数据,第二元数据为基于第二协议的元数据;
将第二元数据写入存储设备23。
可选的,
第一写请求包括:待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,第一用户信息包括第一用户权限信息;
第二写请求包括:待写入数据的文件名称、待写入数据的文件大小、待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,第二用户信息包括第二用户权限信息。
可选的,如图15所示,转换设备25还包括:
协议转换单元251,用于将第二写请求中的待写入数据的文件名称转换为待写入数据的对象名称;
协议转换单元251还用于将第二写请求中的待写入数据的文件大小转换为待写入数据的对象大小;
协议转换单元251还用于将第二写请求中的待写入数据所要存入的文件的文件名称转换为待写入数据所要存入的存储桶的桶名;
协议转换单元251还用于将第二写请求中的第二用户信息转换为第一用户信息;
对象适配单元252,用于将第二写请求中的第二偏移量转换为第一偏移量,从而得到第一写请求。
可选的,转换设备25还用于:
根据第一写请求中的第一偏移量通过第一管理服务器26将待写入数据写入存储设备23;若第一偏移量为0,则将待写入数据直接通过第一管理服务器26写入存储设备23;
若第一偏移量不为0,则通过第一管理服务器26先从存储设备23读取与待写入数据对应的对象数据;根据偏移量将待写入数据和对象数据组成完整的对象数据;将完整的对象数据通过第一管理服务器26写入存储设备23。
可选的,
第一读请求包括:目标数据的对象名称、目标数据所在的存储桶的桶名和第一权限信息。
可选的,第一管理服务器26还用于:
根据第一读请求读取第一元数据;
根据第一元数据中的第一用户信息与第一读请求中的第一权限信息进行鉴权;
鉴权成功后,利用第一元数据确定第一读请求所要读取的目标数据;
从存储设备23中读取目标数据。
本发明实施例提供了一种数据存储系统,第二管理服务器在收到第二写请求和待写入数据后,将第二写请求转换为第一写请求,并生成第一元数据,并将第一元数据和待写入数据写入存储设备,在第一管理服务器收到第一读请求时,利用第一读请求读取第一元数据,再读取目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
本发明实施例还提供一种数据存储设备3,如图16所示,该数据存储设备还3包括:
接收单元31,用于接收第二管理服务器发送的第二读请求,该第二读请求为第二管理服务器从第二终端接收的,第二读请求为基于第二协议的读请求;
转换单元32,用于将第二读请求转换为第一读请求;
对象适配单元33,用于根据第一读请求从存储设备3中读取第一读请求所要读取的目标数据;并将目标数据返回给第二终端。
可选的,
接收单元31还用于接收第一管理服务器发送的第一写请求,第一写请求为第一管理服务器从第一终端接收的,第一写请求为基于第一协议的写请求;
转换单元32还用于将第一写请求转换为第二写请求。
可选的,
第一写请求包括:待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,第一用户信息包括第一用户权限信息;
第二写请求包括:待写入数据的文件名称、待写入数据的文件大小、待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,第二用户信息包括第二用户权限信息。
可选的,
对象适配单元33还用于将第一写请求中的第一偏移量转换为第二偏移量;
转换单元32还用于将第一写请求中的待写入数据的对象名称转换为待写入数据的文件名称;
转换单元32还用于将第一写请求中的待写入数据的对象大小转换为待写入数据的文件大小;
转换单元32还用于将第一写请求中的待写入数据所要存入的存储桶的桶名转换为待写入数据所要存入的文件的文件名称;
转换单元32还用于将第一写请求中的第一用户信息转换为第二用户信息,从而得到第二写请求;第二写请求为基于第二协议的写请求;以便第二管理服务器根据第二写请求生成待写入数据的第二元数据。
可选的,
第一读请求包括:目标数据的对象名称、目标数据所在的存储桶的桶名、第三偏移量和第一权限信息;
第二读请求包括:目标数据的文件名称、目标数据所在的文件夹的文件夹名称、第四偏移量和第二权限信息。
可选的,
转换单元32还用于将第二读请求中的目标数据的文件名称转换为目标数据的对象名称;
转换单元32还用于将第二读请求中的第二权限信息转换为第一权限信息;
转换单元32还用于将第二读请求中的目标数据所在的文件夹的文件夹名称转换为目标数据所在的存储桶的桶名;
对象适配单元33还用于将第二读请求中的第四偏移量转换为第三偏移量,从而得到第一读请求。
可选的,对象适配单元33还用于:
根据第一读请求中的第三偏移量通过第一管理服务器从存储设备中读取目标数据;
若第一偏移量为0,则直接通过第一管理服务器从存储设备中读取目标数据;
若第一偏移量不为0,则通过第一管理服务器从存储设备中第三偏移量的对应的对象数据起始位置开始读取目标数据。
本发明实施例了一种数据存储设备,接收单元在接收第二管理服务器发送的第二读请求后,将该第二读请求转换为第一读请求,再利用该第一读请求从存储设备中读取第一读请求所要读取的目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
本发明实施例还提供一种数据存储设备4,如图17所示,该数据存储设备4包括:
接收单元41,用于接收第二管理服务器发送的第二写请求,该第二写请求为第二管理服务器从第二终端接收的,第一写请求携带待写入数据,第一写请求为基于第一协议的写请求;
转换单元42,用于将第二写请求转换为第一写请求,第一写请求为基于第一协议的写请求;以便第一管理服务器根据第一写请求生成待写入数据的第一元数据;
对象适配单元43,用于根据第一写请求将待写入数据写入存储设备。
可选的,
第一写请求包括:待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,第一用户信息包括第一用户权限信息;
第二写请求包括:待写入数据的文件名称、待写入数据的文件大小、待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,第二用户信息包括第二用户权限信息。
可选的,
转换单元42还用于将第二写请求中的待写入数据的文件名称转换为待写入数据的对象名称;
转换单元42还用于将第二写请求中的待写入数据的文件大小转换为待写入数据的对象大小;
转换单元42还用于将第二写请求中的待写入数据所要存入的文件的文件名称转换为待写入数据所要存入的存储桶的桶名;
转换单元42还用于将第二写请求中的第二用户信息转换为第一用户信息;
对象适配单元43还用于将第二写请求中的第二偏移量转换为第一偏移量,从而得到第一写请求。
可选的,对象适配单元43还用于:
根据第一写请求中的第一偏移量通过第一管理服务器将待写入数据写入存储设备;若第一偏移量为0,则通过第一管理服务器将待写入数据直接写入存储设备;
若第一偏移量不为0,则先通过第一管理服务器从存储设备读取与待写入数据对应的对象数据;根据偏移量将待写入数据和对象数据组成完整的对象数据;将完整的对象数据通过第一管理服务器写入存储设备。
本发明实施例了一种数据存储设备,接收单元在接收第二管理服务器发送的第二写请求后,将第二写请求转换为第一写请求,再根据第一写请求将待写入数据写入存储设备。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
本发明实施例还提供一种数据存储设备5,如图18所示,该数据存储设备5还包括:总线51,以及连接到总线51的处理器52、存储器53和接口54,其中接口54用于和其他网元通信;存储器53用于存储指令531;处理器52执行指令531用于:
通过接口54接收第二管理服务器发送的第二读请求,第二读请求为第二管理服务器从第二终端接收的,第二读请求为基于第二协议的读请求;
将第二读请求转换为第一读请求;
利用第一读请求通过接口54从存储设备中读取第一读请求所要读取的目标数据;并通过接口54将目标数据返回给第二终端。
可选的,处理器52执行指令531还用于:
通过接口54接收第一管理服务器发送的第一写请求,第一写请求为第一管理服务器从第一终端接收的,第一写请求为基于第一协议的写请求;
将第一写请求转换为第二写请求。
可选的,
第一写请求包括:待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,第一用户信息包括第一用户权限信息;
第二写请求包括:待写入数据的文件名称、待写入数据的文件大小、待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,第二用户信息包括第二用户权限信息。
可选的,处理器52执行指令531还用于:
将第一写请求中的第一偏移量转换为第二偏移量;
将第一写请求中的待写入数据的对象名称转换为待写入数据的文件名称;
将第一写请求中的待写入数据的对象大小转换为待写入数据的文件大小;
将第一写请求中的待写入数据所要存入的存储桶的桶名转换为待写入数据所要存入的文件的文件名称;
将第一写请求中的第一用户信息转换为第二用户信息,从而得到第二写请求;第二写请求为基于第二协议的写请求;以便第二管理服务器根据第二写请求生成待写入数据的第二元数据。
可选的,
第一读请求包括:目标数据的对象名称、目标数据所在的存储桶的桶名、第三偏移量和第一权限信息;
第二读请求包括:目标数据的文件名称、目标数据所在的文件夹的文件夹名称、第四偏移量和第二权限信息。
可选的,处理器52执行指令531还用于:
将第二读请求中的目标数据的文件名称转换为目标数据的对象名称;
将第二读请求中的第二权限信息转换为第一权限信息;
将第二读请求中的目标数据所在的文件夹名称转换为目标数据所在的存储桶的桶名;
将第二读请求中的第四偏移量转换为第三偏移量,从而得到第一读请求。
可选的,处理器52执行指令531还用于:
根据第一读请求中的第三偏移量通过接口54从存储设备中读取目标数据;
若第三偏移量为0,则直接通过接口54从存储设备中读取目标数据;
若第三偏移量不为0,则通过接口54从存储设备中第三偏移量的对应的对象数据起始位置开始读取目标数据。
本发明实施例了一种数据存储设备,接收单元在接收第二管理服务器发送的第二读请求后,将该第二读请求转换为第一读请求,再利用该第一读请求从存储设备中读取第一读请求所要读取的目标数据。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
本发明实施例还提供一种数据存储设备6,如图19所示,该数据存储设备6还包括:总线61,以及连接到总线61的处理器62、存储器63和接口64,其中接口64用于和其他网元通信;存储器63用于存储指令631;处理器62执行指令631用于:
通过接口64接收第二管理服务器发送的第二写请求,第二写请求为第二管理服务器从第二终端接收的,第二写请求携带待写入数据,第二写请求为基于第二协议的写请求;
将第二写请求转换为第一写请求,第一写请求为基于第一协议的写请求;以便第一管理服务器根据第一写请求生成待写入数据的第一元数据;
根据第一写请求通过接口64将待写入数据写入存储设备。
可选的,
第一写请求包括:待写入数据的对象名称、待写入数据的对象大小、待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,第一用户信息包括第一用户权限信息;
第二写请求包括:待写入数据的文件名称、待写入数据的文件大小、待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,第二用户信息包括第二用户权限信息。
可选的,处理器62执行指令631还用于:
将第二写请求中的待写入数据的文件名称转换为待写入数据的对象名称;
将第二写请求中的待写入数据的文件大小转换为待写入数据的对象大小;
将第二写请求中的待写入数据所要存入的文件的文件名称转换为待写入数据所要存入的存储桶的桶名;
将第二写请求中的第二用户信息转换为第一用户信息;
将第二写请求中的第二偏移量转换为第一偏移量,从而得到第一写请求。
可选的,处理器62执行指令631还用于:
利用第一写请求中的第一偏移量通过接口64将待写入数据写入存储设备;若第一偏移量为0,则将待写入数据通过接口64直接写入存储设备;
若第一偏移量不为0,则先通过接口64从存储设备读取与待写入数据对应的对象数据;根据偏移量将待写入数据和对象数据组成完整的对象数据;通过接口64将完整的对象数据写入存储设备。
本发明实施例了一种数据存储设备,接收单元在接收第二管理服务器发送的第二写请求后,将第二写请求转换为第一写请求,再根据第一写请求将待写入数据写入存储设备。从而提供例了一种数据存储的机制,不仅保证了在数据存储时的分布式处理能力,同时实现了数据存储时不同协议之间的协议转换,提高了数据存储的处理效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (20)
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所述的数据存储设备,其特征在于,
所述第一写请求包括:所述待写入数据的对象名称、所述待写入数据的对象大小、所述待写入数据所要存入的存储桶的桶名、第一偏移量和第一用户信息,其中,所述第一用户信息包括第一用户权限信息;
所述第二写请求包括:所述待写入数据的文件名称、所述待写入数据的文件大小、所述待写入数据所要存入的文件的文件名称、第二偏移量和第二用户信息,其中,所述第二用户信息包括第二用户权限信息;
所述转换单元还用于将所述第二写请求中的所述待写入数据的文件名称转换为所述待写入数据的对象名称;
所述转换单元还用于将所述第二写请求中的所述待写入数据的文件大小转换为所述待写入数据的对象大小;
所述转换单元还用于将所述第二写请求中的所述待写入数据所要存入的文件的文件名称转换为所述待写入数据所要存入的存储桶的桶名;
所述转换单元还用于将所述第二写请求中的所述第二用户信息转换为第一用户信息;
所述对象适配单元还用于将所述第二写请求中的所述第二偏移量转换为所述第一偏移量,从而得到所述第一写请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310737112.0A CN103731489B (zh) | 2013-12-27 | 2013-12-27 | 一种数据存储方法、系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310737112.0A CN103731489B (zh) | 2013-12-27 | 2013-12-27 | 一种数据存储方法、系统和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103731489A CN103731489A (zh) | 2014-04-16 |
CN103731489B true CN103731489B (zh) | 2017-12-15 |
Family
ID=50455411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310737112.0A Active CN103731489B (zh) | 2013-12-27 | 2013-12-27 | 一种数据存储方法、系统和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103731489B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573672B (zh) * | 2015-12-11 | 2019-01-25 | 上海爱数信息技术股份有限公司 | 一种基于nfs的虚拟化存储方法和系统 |
CN105740469B (zh) * | 2016-03-07 | 2019-05-28 | 华为技术有限公司 | 存储服务器和元数据访问方法 |
CN106371934A (zh) * | 2016-08-25 | 2017-02-01 | 成都索贝数码科技股份有限公司 | 一种基于windows文件系统驱动的第三方存储协议文件访问系统和访问方法 |
CN108337208B (zh) * | 2017-01-19 | 2020-11-24 | 中国电信股份有限公司 | 基于云存储的数据保护方法、替换装置以及云存储系统 |
CN109697020A (zh) * | 2017-10-23 | 2019-04-30 | 中移(苏州)软件技术有限公司 | 一种数据存储方法、服务器及系统 |
CN111240855A (zh) * | 2019-12-31 | 2020-06-05 | 中国建设银行股份有限公司 | Api调试系统、方法、存储介质和计算机设备 |
CN113381971B (zh) * | 2020-03-10 | 2023-04-07 | 阿里巴巴集团控股有限公司 | 数据下载方法、装置、系统、电子设备及计算机存储介质 |
CN111831618A (zh) * | 2020-07-21 | 2020-10-27 | 北京青云科技股份有限公司 | 数据写入方法、数据读取方法、装置、设备及存储介质 |
CN114327249A (zh) * | 2020-10-10 | 2022-04-12 | 华为云计算技术有限公司 | 对象存储服务的数据修改方法、服务节点、客户端及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795824B1 (en) * | 2000-10-31 | 2004-09-21 | Radiant Data Corporation | Independent storage architecture |
CN1619478A (zh) * | 2003-11-21 | 2005-05-25 | 株式会社日立制作所 | 集群型存储系统及其管理方法 |
CN101252589A (zh) * | 2008-03-25 | 2008-08-27 | 中国科学院计算技术研究所 | 数据缓存装置和采用该装置的网络存储系统及缓存方法 |
CN101459669A (zh) * | 2008-12-29 | 2009-06-17 | 成都市华为赛门铁克科技有限公司 | 一种网络文件系统的访问方法和装置 |
-
2013
- 2013-12-27 CN CN201310737112.0A patent/CN103731489B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795824B1 (en) * | 2000-10-31 | 2004-09-21 | Radiant Data Corporation | Independent storage architecture |
CN1619478A (zh) * | 2003-11-21 | 2005-05-25 | 株式会社日立制作所 | 集群型存储系统及其管理方法 |
CN101252589A (zh) * | 2008-03-25 | 2008-08-27 | 中国科学院计算技术研究所 | 数据缓存装置和采用该装置的网络存储系统及缓存方法 |
CN101459669A (zh) * | 2008-12-29 | 2009-06-17 | 成都市华为赛门铁克科技有限公司 | 一种网络文件系统的访问方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103731489A (zh) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103731489B (zh) | 一种数据存储方法、系统和设备 | |
CN106156359B (zh) | 一种云计算平台下的数据同步更新方法 | |
CN106294585B (zh) | 一种云计算平台下的存储方法 | |
CN106250270B (zh) | 一种云计算平台下的数据备份方法 | |
CN103180842B (zh) | 云计算系统和用于该云计算系统的数据同步方法 | |
CN101160903B (zh) | 一种实现数据同步的方法、系统、客户端及服务器 | |
CN103036956B (zh) | 一种分布式组态化海量数据归档系统及实现方法 | |
EP2803006B1 (en) | Cloud-based distributed data system | |
CN103595730A (zh) | 一种密文云存储方法和系统 | |
CN105025053A (zh) | 基于云存储技术的分布式文件的上传方法及其系统 | |
CN101729442A (zh) | 一种实现内容共享的方法和装置 | |
CN102457555A (zh) | 一种分布式存储的安全系统及方法 | |
CN102271165B (zh) | 互联网搜索资源的分享管理装置及方法 | |
CN103888547A (zh) | 一种账单处理方法和服务器 | |
CN101452454A (zh) | 文件集共享方法及装置 | |
WO2016011825A1 (zh) | 基于云服务的数据备份与操作方法 | |
CN102800015A (zh) | 一种金融ic卡远程个人化方法及系统 | |
CN102238223B (zh) | 一种面向移动设备的网络化个人数据管理方法 | |
CN101304429A (zh) | 通过移动终端共享个人计算机的文件的系统及方法 | |
CN109144785A (zh) | 用于备份数据的方法和装置 | |
CN105824723A (zh) | 一种对公有云存储账户的数据进行备份的方法及系统 | |
CN103780676A (zh) | 一种文件传输方法、设备和系统 | |
CN102982116A (zh) | 基于云的多媒体转换方法及系统 | |
CN103747032A (zh) | 一种文件传输方法、设备和系统 | |
CN107870734A (zh) | 一种分布式文件系统的交互方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |