一种基于TCMU虚拟磁盘分布式块存储系统的性能优化方法与流程

文档序号:11514656阅读:627来源:国知局
一种基于TCMU虚拟磁盘分布式块存储系统的性能优化方法与流程

本发明涉及数据存储技术领域,具体的说是涉及一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法。



背景技术:

在云计算技术高速发展的今天,随着计算虚拟化,软件定义存储,软件定义网络等技术的日趋成熟,存储在整个云计算生态中扮演越来越重要角色。serversan是软件定义存储的一种形态,serversan是由多个独立服务器存储组成的一个存储资源池,具有兼容的访问接口(块或文件),有着良好的性价比和扩展性。对于文件接口,通常有比较成熟的nfs、smb等文件传输协议,也有用户空间文件系统fuse能轻易实现文件接口。但是块接口往往是一个难题,iscsi也是一款成熟的块但其规范比较全面及完善,但比较难以用作实现块接口,近年来linux内核合入类似fuse模块的虚拟块设备模块tcmu,可以在用户空间处理块设备请求。基于tcmu模块,能够轻易实现块请求处理。

磁盘、网络是现代计算机体系中最慢的两个模块,而serversan存储系统刚好即使用了网络传输数据,又使用了磁盘存储数据,而且tcmu目前是以同步请求方式将数据转发到用户空间处理程序,这导致前端虚拟块设备性能堪忧,所以serversan存储系统的性能往往面临巨大的挑战。



技术实现要素:

针对现有技术中的不足,本发明要解决的技术问题在于提供了一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法。

为解决上述技术问题,本发明通过以下方案来实现:一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法,该方法是通过将tcmu的数据请求处理过程切分成串行处理和并行处理两部分,减少串行处理时间,最大化并行处理,充分利用cpu、内存、网络和磁盘,提高基于tcmu的数据请求处理性能,所述方法括以下步骤:

步骤一,通过将tcmu定制为并发请求模式;

步骤二,由用户空间数据请求处理程序来进行数据序列化;

步骤三,通过并发的方式将数据请求发送到后端存储设备;

步骤四,后端存储设备处理完请求,将结果返回给用户空间数据请求处理程序;

步骤五,数据处理程序再将处理结果序列化后返回前端,避免老数据覆盖新数据;

所述数据处理程序包括:

命令收发模块,用于控制数据接收和发送命令;

命令处理模块,用于控制数据处理的命令;

数据处理模块,用于对接收后的数据串行处理或并行处理;

数据复制模块,用于复制接收后的数据;

数据收发模块,用于接收和发送数据。

进一步的,步骤一至步骤五的数据处理和发送过程如下:

过程一,启动数据收发模块,调用共享内存中的数据;

过程二,共享内存中的数据被调用后,数据处理程序接收数据,并作串行处理;

过程三,数据处理模块对数据进行编号,并作串行处理;

过程四,数据处理模块对编好号的数据作并行处理;

过程五,数据复制模块对过程四中的数据进行复制,复制后再次作并行处理;

过程六,数据收发模块将过程五中的数据通过网络发送出去。

进一步的,步骤一至步骤五的数据处理和数据接收过程如下:

过程一,数据收发模块通过网络接收处理后的数据,并作并行处理;

过程二,并行处理后的数据结果分两种情况处理:第一种是正常结果作并行处理,然后发送至命令处理模块,对数据进行排序、并行处理;第二种是异常结果作并行处理,异常数据发送至命令处理模块,对异常结果进行排序并作并行处理;

过程三,命令处理模块对过程二中的数据作串行处理;

过程四,数据拷贝至共享内存。

进一步的,所述共享内存包括环形命令区域和数据缓冲区域。

进一步的,过程二中,命令处理模块的命令排序的方式是并行排列和串行排列。

相对于现有技术,本发明的有益效果是:本发明提供一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法,该方法主要通过将tcmu定制为并发请求模式,由用户空间数据请求处理程序来进行数据序列化,并通过并发的方式将数据请求发送到后端存储设备,后端存储设备处理完请求将结果返回给用户空间数据请求处理程序,处理程序再将处理结果序列化后返回前端,避免老数据覆盖新数据的问题。采用本发明性能优化方案主要通过将tcmu的数据请求处理过程切分成串行处理和并行处理两部分,减少串行处理时间,最大化并行处理,充分利用cpu、内存、网络和磁盘,通过此方案可大大提高基于tcmu的数据请求处理性能。

附图说明

图1为本发明基于tcmu虚拟块设备的分布式存储系统的结构图;

图2为本发明的数据处理程序图;

图3为本发明数据发送原理框图;

图4为本发明数据接收原理框图;

图5为本发明共享内存布局图;

图6为本发明命令排序设计图。

具体实施方式

下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。

请参照附图1-6,本发明的一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法,其特征在于,该方法是通过将tcmu的数据请求处理过程切分成串行处理和并行处理两部分,减少串行处理时间,最大化并行处理,充分利用cpu、内存、网络和磁盘,提高基于tcmu的数据请求处理性能,所述方法括以下步骤:

步骤一,通过将tcmu定制为并发请求模式;

步骤二,由用户空间数据请求处理程序来进行数据序列化;

步骤三,通过并发的方式将数据请求发送到后端存储设备;

步骤四,后端存储设备处理完请求,将结果返回给用户空间数据请求处理程序;

步骤五,数据处理程序再将处理结果序列化后返回前端,避免老数据覆盖新数据;

所述数据处理程序包括:

命令收发模块,用于控制数据接收和发送命令;

命令处理模块,用于控制数据处理的命令;

数据处理模块,用于对接收后的数据串行处理或并行处理;

数据复制模块,用于复制接收后的数据;

数据收发模块,用于接收和发送数据。

如图2所示,步骤一至步骤五的数据处理和发送过程如下:

过程一,启动数据收发模块,调用共享内存中的数据;

过程二,共享内存中的数据被调用后,数据处理程序接收数据,并作串行处理;

过程三,数据处理模块对数据进行编号,并作串行处理;

过程四,数据处理模块对编好号的数据作并行处理;

过程五,数据复制模块对过程四中的数据进行复制,复制后再次作并行处理;

过程六,数据收发模块将过程五中的数据通过网络发送出去。

如图3所示,步骤一至步骤五的数据处理和数据接收过程如下:

过程一,数据收发模块通过网络接收处理后的数据,并作并行处理;

过程二,并行处理后的数据结果分两种情况处理:第一种是正常结果作并行处理,然后发送至命令处理模块,对数据进行排序、并行处理;第二种是异常结果作并行处理,异常数据发送至命令处理模块,对异常结果进行排序并作并行处理;如图6所示,命令处理模块的命令排序的方式是并行排列和串行排列。

过程三,命令处理模块对过程二中的数据作串行处理;

过程四,数据拷贝至共享内存。

如图5所示,所述共享内存包括环形命令区域和数据缓冲区域。

本发明提供一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法,该方法主要通过将tcmu定制为并发请求模式,由用户空间数据请求处理程序来进行数据序列化,并通过并发的方式将数据请求发送到后端存储设备,后端存储设备处理完请求将结果返回给用户空间数据请求处理程序,处理程序再将处理结果序列化后返回前端,避免老数据覆盖新数据的问题。采用本发明性能优化方案主要通过将tcmu的数据请求处理过程切分成串行处理和并行处理两部分,减少串行处理时间,最大化并行处理,充分利用cpu、内存、网络和磁盘,通过此方案可大大提高基于tcmu的数据请求处理性能。

以上所述仅为本发明的优选实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1