本发明专利技术公开了一种基于ceph的rbd文件传输方法及其系统,rbd文件传输方法步骤包括:本地rbd客户端访问ceph分布式存储平台的rbd文件;异地rbd客户端新建ceph分布式存储平台的rbd文件;本地rbd客户端和异地rbd客户端建立tcp长连接;本地rbd客户端rbd文件,对其进行压缩并传输至异地rbd客户端;异地rbd客户端对接收到的rbd文件数据流进行解压缩,并将其写入步骤S2中新建的rbd文件中;本地rbd客户端读取完所有ceph分布式存储平台的rbd文件,发送结束标志到异地rbd客户端,异地rbd客户端接收到结束标志后停止rbd文件。本发明专利技术精简了rbd文件传输操作,节省存储空间,并且使得传输时间加快以及降低了rbd文件传输成本。
A RBD file transfer method and system based on CEPH
【技术实现步骤摘要】
一种基于ceph的rbd文件传输方法及其系统
本专利技术涉及分布式存储的文件传输
,特别涉及一种基于ceph的rbd文件快速传输方法及其系统。
技术介绍
ceph是目前较流行的虚拟化存储架构。在行业中,ceph分布式存储集群使用最好的场景是块存储和文件存储。而ceph的块存储文件(rbd文件)现只支持RAW格式(非稀疏文件格式)。因此在存储或传输RAW格式文件时,需要消耗更多的网络资源和存储资源。现有技术中,跨集群的文件传输存在问题有:1)rbd文件导出到本地文件,再传输文件,最后到异地再导入文件的方式操作繁琐,同时要求本地和异地需要充足的空间存放rbd文件;2)rbd文件传输是文件流,即实际场景中,文件容量与传输流量是1:1,这使得传输时间,成本都大幅度提高。
技术实现思路
本专利技术要解决的技术问题在于,提供一种基于ceph的rbd文件传输方法及其系统,精简了rbd文件传输操作,节省存储空间,并且使得传输时间加快以及降低了rbd文件传输成本。为解决上述技术问题,本专利技术提供如下技术方案:一种基于ceph的rbd文件传输方法,包括以下步骤:S1、本地rbd客户端访问并打开ceph分布式存储平台的rbd文件;S2、异地rbd客户端新建ceph分布式存储平台的rbd文件,用于存储接收的数据流;S3、本地rbd客户端和异地rbd客户端建立tcp长连接;S4、本地rbd客户端读取ceph分布式存储平台的rbd文件,对其进行压缩并传输至异地rbd客户端;其中,rbd文件是一遍进行压缩然后一边进行传输的,将rbd文件传输至异地rbd客户端过程就会产生rbd文件的数据流;本地rbd客户端通过tcp会话发送数据流到异地rbd客户端;S5、异地rbd客户端对接收到的rbd文件数据流进行解压缩,并将其写入步骤S2中新建的rbd文件中;S6、重复步骤S4-S5,直至本地rbd客户端读取完所有ceph分布式存储平台的rbd文件并完全发送至异地rbd客户端,然后本地rbd客户端发送结束标志到异地rbd客户端,异地rbd客户端接收到结束标志后停止写入ceph分布式存储平台的rbd文件。进一步地,所述步骤S1前还包括步骤S0、本地rbd客户端和异地rbd客户端均连接ceph分布式存储平台。进一步地,所述步骤S6后还包括步骤S7、本地rbd客户端和异地rbd客户端均关闭与ceph分布式存储平台的连接,本地rbd客户端和异地rbd客户端断开tcp长连接。进一步地,所述步骤S4中,本地rbd客户端读取ceph分布式存储平台的rbd文件,对其进行lz4压缩并使用xxHash-32进行校验后,再传输至异地rbd客户端;所述步骤S5中,异地rbd客户端对接收到的rbd文件数据流进行lz4解压缩并使用xxHash-32进行校验后,再将其写入步骤S2中新建的rbd文件中。本专利技术另一目的是提供一种基于ceph的rbd文件快速传输系统,包括本地rbd客户端、异地rbd客户端以及ceph分布式存储平台,所述本地rbd客户端、异地rbd客户端均与所述ceph分布式存储平台连接;所述本地rbd客户端包括访问模块、第一连接模块、压缩传输模块以及结束标志生成模块;所述异地rbd客户端包括新rbd文件生成模块、第二连接模块、接收解压模块以及结束标志接收模块;所述第一连接模块用于连接所述ceph分布式存储平台,以及用于连接所述第二连接模块并建立tcp长连接;所述第二连接模块还用于连接所述ceph分布式存储平台;所述访问模块用于访问并打开所述ceph分布式存储平台的rbd文件,以及还用于读取所述ceph分布式存储平台的rbd文件;所述新rbd文件生成模块用于新建ceph分布式存储平台的rbd文件;所述压缩传输模块用于对所述ceph分布式存储平台的rbd文件进行压缩并传输至所述异地rbd客户端;所述接收解压模块用于对所述压缩传输模块传输过来的rbd文件进行接收及解压缩,并将其写入新rbd文件生成模块新建的rbd文件中;所述结束标志生成模块用于生成结束标志,并将其发送至所述结束标志接收模块;所述结束标志接收模块接收到结束标志后,命令所述异地rbd客户端停止接收ceph分布式存储平台的rbd文件;所述结束标志生成模块生成结束标志后停止传输ceph分布式存储平台的rbd文件。采用上述技术方案后,本专利技术至少具有如下有益效果:本专利技术在rbd传输期间不占用本地rbd客户端和异地rbd客户端的自身磁盘空间;本专利技术ceph的块文件可以自动化备份,减少中间步骤;本专利技术使得rbd数据流提高了传输效率,降低了传输成本。附图说明图1为本专利技术一种基于ceph的rbd文件传输方法的步骤流程图;图2为本专利技术一种基于ceph的rbd文件传输系统的框架图。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本申请作进一步详细说明。实施例1本专利技术目的在于实现rbd文件转化为压缩数据流,实现数据快速传输;以及实现一种跨ceph集群的rbd文件备份方式。由此,本实施例提出一种基于ceph的rbd文件快速传输方法,如图1所示,步骤包括:S10、本地rbd客户端和异地rbd客户端均连接ceph分布式存储平台。S11、本地rbd客户端访问并打开ceph分布式存储平台的rbd文件;S12、异地rbd客户端新建ceph分布式存储平台的rbd文件,用于存储接收的数据流;S13、本地rbd客户端和异地rbd客户端建立tcp长连接;S14、本地rbd客户端读取ceph分布式存储平台的rbd文件,对其进行压缩并传输至异地rbd客户端;本实施例可以优先采用lz4压缩技术对rbd文件进行压缩,然后对rbd文件使用xxHash-32进行校验后,再传输至异地rbd客户端;其中,rbd文件是一遍进行压缩然后一边进行传输的,将rbd文件传输至异地rbd客户端过程就会产生rbd文件的数据流;即可以将每一个rbd文件分成若干个小块分流传输给异地rbd客户端,压缩和传输是同时进行的;传输过程中Rbd文件会被分为若干个1M的小块,实现一边进行压缩,同时一边进行传输。由于本地rbd客户端和异地rbd客户端建立的是tcp长连接,因此,本地rbd客户端通过tcp会话发送数据流到异地rbd客户端;S15、异地rbd客户端对接收到的rbd文件数据流进行解压缩,并将其写入步骤S12中新建的rbd文件中;步骤S14中,若rbd文件数据流是通过lz4压缩并使用xxHash-32进行校验的话,那么,此时异地rbd客户端也需要对rbd文件数据流通过lz4解压缩并使用xxHash-32进行校验;S16、重复步骤S14-S15,直至本地rbd客户端读取完所有ceph本文档来自技高网...
【技术保护点】
1.一种基于ceph的rbd文件快速传输方法,其特征在于,包括以下步骤:/nS1、本地rbd客户端访问并打开ceph分布式存储平台的rbd文件;/nS2、异地rbd客户端新建ceph分布式存储平台的rbd文件,用于存储接收的数据流;/nS3、本地rbd客户端和异地rbd客户端建立tcp长连接;/nS4、本地rbd客户端读取ceph分布式存储平台的rbd文件,对其进行压缩并传输至异地rbd客户端;/n其中,rbd文件是一遍进行压缩然后一边进行传输的,将rbd文件传输至异地rbd客户端过程就会产生rbd文件的数据流;本地rbd客户端通过tcp会话发送数据流到异地rbd客户端;/nS5、异地rbd客户端对接收到的rbd文件数据流进行解压缩,并将其写入步骤S2中新建的rbd文件中;/nS6、重复步骤S4-S5,直至本地rbd客户端读取完所有ceph分布式存储平台的rbd文件并完全发送至异地rbd客户端,然后本地rbd客户端发送结束标志到异地rbd客户端,异地rbd客户端接收到结束标志后停止写入ceph分布式存储平台的rbd文件。/n
【技术特征摘要】
1.一种基于ceph的rbd文件快速传输方法,其特征在于,包括以下步骤:
S1、本地rbd客户端访问并打开ceph分布式存储平台的rbd文件;
S2、异地rbd客户端新建ceph分布式存储平台的rbd文件,用于存储接收的数据流;
S3、本地rbd客户端和异地rbd客户端建立tcp长连接;
S4、本地rbd客户端读取ceph分布式存储平台的rbd文件,对其进行压缩并传输至异地rbd客户端;
其中,rbd文件是一遍进行压缩然后一边进行传输的,将rbd文件传输至异地rbd客户端过程就会产生rbd文件的数据流;本地rbd客户端通过tcp会话发送数据流到异地rbd客户端;
S5、异地rbd客户端对接收到的rbd文件数据流进行解压缩,并将其写入步骤S2中新建的rbd文件中;
S6、重复步骤S4-S5,直至本地rbd客户端读取完所有ceph分布式存储平台的rbd文件并完全发送至异地rbd客户端,然后本地rbd客户端发送结束标志到异地rbd客户端,异地rbd客户端接收到结束标志后停止写入ceph分布式存储平台的rbd文件。
2.根据权利要求1所述的一种基于ceph的rbd文件快速传输方法,其特征在于,所述步骤S1前还包括步骤S0、本地rbd客户端和异地rbd客户端均连接ceph分布式存储平台。
3.根据权利要求2所述的一种基于ceph的rbd文件快速传输方法,其特征在于,所述步骤S6后还包括步骤S7、本地rbd客户端和异地rbd客户端均关闭与ceph分布式存储平台的连接,本地rbd客户端和异地rbd客户端断开tcp长连接。
4.根据权利要求1所述的一种基于ceph的rbd文件快速传输方法,其特征在于,所述步骤S4中,本地rbd客户端读取c...
【专利技术属性】
技术研发人员:曾星,史伟,闵宇,
申请(专利权)人:广东睿江云计算股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。