CN107256131A - 一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法 - Google Patents

一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法 Download PDF

Info

Publication number
CN107256131A
CN107256131A CN201710453951.8A CN201710453951A CN107256131A CN 107256131 A CN107256131 A CN 107256131A CN 201710453951 A CN201710453951 A CN 201710453951A CN 107256131 A CN107256131 A CN 107256131A
Authority
CN
China
Prior art keywords
data
processing
tcmu
request
module
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.)
Granted
Application number
CN201710453951.8A
Other languages
English (en)
Other versions
CN107256131B (zh
Inventor
张朝潞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Lianyungang Technology Co., Ltd
Original Assignee
SHENZHEN YUNSHU NETWORK TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN YUNSHU NETWORK TECHNOLOGY Co Ltd filed Critical SHENZHEN YUNSHU NETWORK TECHNOLOGY Co Ltd
Priority to CN201710453951.8A priority Critical patent/CN107256131B/zh
Publication of CN107256131A publication Critical patent/CN107256131A/zh
Application granted granted Critical
Publication of CN107256131B publication Critical patent/CN107256131B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种基于TCMU虚拟磁盘分布式块存储系统的性能优化方法
技术领域
本发明涉及数据存储技术领域,具体的说是涉及一种基于TCMU虚拟磁盘分布式块存储系统的性能优化方法。
背景技术
在云计算技术高速发展的今天,随着计算虚拟化,软件定义存储,软件定义网络等技术的日趋成熟,存储在整个云计算生态中扮演越来越重要角色。Server SAN是软件定义存储的一种形态,Server SAN是由多个独立服务器存储组成的一个存储资源池,具有兼容的访问接口(块或文件),有着良好的性价比和扩展性。对于文件接口,通常有比较成熟的NFS、SMB等文件传输协议,也有用户空间文件系统Fuse能轻易实现文件接口。但是块接口往往是一个难题,iSCSI也是一款成熟的块但其规范比较全面及完善,但比较难以用作实现块接口,近年来Linux内核合入类似Fuse模块的虚拟块设备模块TCMU,可以在用户空间处理块设备请求。基于TCMU模块,能够轻易实现块请求处理。
磁盘、网络是现代计算机体系中最慢的两个模块,而Server SAN存储系统刚好即使用了网络传输数据,又使用了磁盘存储数据,而且TCMU目前是以同步请求方式将数据转发到用户空间处理程序,这导致前端虚拟块设备性能堪忧,所以Server SAN存储系统的性能往往面临巨大的挑战。
发明内容
针对现有技术中的不足,本发明要解决的技术问题在于提供了一种基于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的数据请求处理性能。
以上所述仅为本发明的优选实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (5)

1.一种基于TCMU虚拟磁盘分布式块存储系统的性能优化方法,其特征在于,该方法是通过将TCMU的数据请求处理过程切分成串行处理和并行处理两部分,减少串行处理时间,最大化并行处理,充分利用CPU、内存、网络和磁盘,提高基于TCMU的数据请求处理性能,所述方法括以下步骤:
步骤一,通过将TCMU定制为并发请求模式;
步骤二,由用户空间数据请求处理程序来进行数据序列化;
步骤三,通过并发的方式将数据请求发送到后端存储设备;
步骤四,后端存储设备处理完请求,将结果返回给用户空间数据请求处理程序;
步骤五,数据处理程序再将处理结果序列化后返回前端,避免老数据覆盖新数据;
所述数据处理程序包括:
命令收发模块,用于控制数据接收和发送命令;
命令处理模块,用于控制数据处理的命令;
数据处理模块,用于对接收后的数据串行处理或并行处理;
数据复制模块,用于复制接收后的数据;
数据收发模块,用于接收和发送数据。
2.根据权利要求1所述的一种基于TCMU虚拟磁盘分布式块存储系统的性能优化方法,其特征在于,步骤一至步骤五的数据处理和发送过程如下:
过程一,启动数据收发模块,调用共享内存中的数据;
过程二,共享内存中的数据被调用后,数据处理程序接收数据,并作串行处理;
过程三,数据处理模块对数据进行编号,并作串行处理;
过程四,数据处理模块对编好号的数据作并行处理;
过程五,数据复制模块对过程四中的数据进行复制,复制后再次作并行处理;
过程六,数据收发模块将过程五中的数据通过网络发送出去。
3.根据权利要求1所述的一种基于TCMU虚拟磁盘分布式块存储系统的性能优化方法,其特征在于,步骤一至步骤五的数据处理和数据接收过程如下:
过程一,数据收发模块通过网络接收处理后的数据,并作并行处理;
过程二,并行处理后的数据结果分两种情况处理:第一种是正常结果作并行处理,然后发送至命令处理模块,对数据进行排序、并行处理;第二种是异常结果作并行处理,异常数据发送至命令处理模块,对异常结果进行排序并作并行处理;
过程三,命令处理模块对过程二中的数据作串行处理;
过程四,数据拷贝至共享内存。
4.根据权利要求3所述的一种基于TCMU虚拟磁盘分布式块存储系统的性能优化方法,其特征在于,所述共享内存包括环形命令区域和数据缓冲区域。
5.根据权利要求3所述的一种基于TCMU虚拟磁盘分布式块存储系统的性能优化方法,其特征在于:过程二中,命令处理模块的命令排序的方式是并行排列和串行排列。
CN201710453951.8A 2017-06-15 2017-06-15 一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法 Expired - Fee Related CN107256131B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710453951.8A CN107256131B (zh) 2017-06-15 2017-06-15 一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710453951.8A CN107256131B (zh) 2017-06-15 2017-06-15 一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法

Publications (2)

Publication Number Publication Date
CN107256131A true CN107256131A (zh) 2017-10-17
CN107256131B CN107256131B (zh) 2019-10-01

Family

ID=60024631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710453951.8A Expired - Fee Related CN107256131B (zh) 2017-06-15 2017-06-15 一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法

Country Status (1)

Country Link
CN (1) CN107256131B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992212A (zh) * 2019-04-10 2019-07-09 苏州浪潮智能科技有限公司 一种数据写入方法和一种数据读取方法
CN114047874A (zh) * 2021-10-20 2022-02-15 北京天融信网络安全技术有限公司 一种基于tcmu虚拟设备的数据存储系统和方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103384267A (zh) * 2013-06-07 2013-11-06 曙光信息产业(北京)有限公司 一种基于分布式块设备的Parastor200并行存储管理节点高可用方法
CN106341488A (zh) * 2016-10-08 2017-01-18 深圳市云舒网络技术有限公司 一种基于tcmu虚拟块设备的网络存储后端超时处理方法
US20170091217A1 (en) * 2015-09-27 2017-03-30 International Business Machines Corporation Parallel processing of large data files on distributed file systems with dynamic workload balancing
CN106648886A (zh) * 2016-10-20 2017-05-10 郑州云海信息技术有限公司 一种分布式存储系统的实现方法及装置
CN106776032A (zh) * 2016-12-22 2017-05-31 北京华云网际科技有限公司 分布式块存储的io请求的处理方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103384267A (zh) * 2013-06-07 2013-11-06 曙光信息产业(北京)有限公司 一种基于分布式块设备的Parastor200并行存储管理节点高可用方法
US20170091217A1 (en) * 2015-09-27 2017-03-30 International Business Machines Corporation Parallel processing of large data files on distributed file systems with dynamic workload balancing
CN106341488A (zh) * 2016-10-08 2017-01-18 深圳市云舒网络技术有限公司 一种基于tcmu虚拟块设备的网络存储后端超时处理方法
CN106648886A (zh) * 2016-10-20 2017-05-10 郑州云海信息技术有限公司 一种分布式存储系统的实现方法及装置
CN106776032A (zh) * 2016-12-22 2017-05-31 北京华云网际科技有限公司 分布式块存储的io请求的处理方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HALEYCOMET: "tcmu design", 《HTTPS://BLOG.CSDN.NET/HALEYCOMET/ARTICLE/DETAILS/52344086》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992212A (zh) * 2019-04-10 2019-07-09 苏州浪潮智能科技有限公司 一种数据写入方法和一种数据读取方法
CN114047874A (zh) * 2021-10-20 2022-02-15 北京天融信网络安全技术有限公司 一种基于tcmu虚拟设备的数据存储系统和方法
CN114047874B (zh) * 2021-10-20 2024-05-07 北京天融信网络安全技术有限公司 一种基于tcmu虚拟设备的数据存储系统和方法

Also Published As

Publication number Publication date
CN107256131B (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
US20200358710A1 (en) Container-based mobile code offloading support system in cloud environment and offloading method thereof
US11182404B2 (en) Data replication technique in database management system
CN100347692C (zh) San系统中虚拟化智能控制器的实现方法
US10826980B2 (en) Command process load balancing system
Pandey et al. DMA-aware memory energy management
US9208003B2 (en) Hypervisor to I/O stack conduit in virtual real memory
CN106293944B (zh) 虚拟化多核环境下基于非一致性i/o访问系统和优化方法
US10515078B2 (en) Database management apparatus, database management method, and storage medium
US11360705B2 (en) Method and device for queuing and executing operation commands on a hard disk
CN103870312B (zh) 建立虚拟机共享存储缓存的方法及装置
CN104219318A (zh) 一种分布式文件存储系统及方法
KR102646619B1 (ko) 컴포지트 메모리 장치를 포함하는 전자 장치에 파일 시스템을 제공하는 시스템 및 방법
US20170228373A1 (en) Dynamic Hash Table Size Estimation During Database Aggregation Processing
US11500577B2 (en) Method, electronic device, and computer program product for data processing
CN105468297A (zh) 一种云存储系统内主从设备数据快速同步的方法
CN106648832A (zh) 提高虚拟机资源利用率的装置及方法
CN104503825A (zh) 一种基于kvm混合式设备虚拟化方法
US20150370711A1 (en) Method and apparatus for cache memory data processing
CN107256131A (zh) 一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法
JP2023518136A (ja) ファイル処理方法、装置、電子デバイス、記憶媒体、及びプログラム
EP4290380A1 (en) Method and system for accelerating application performance in solid state drive
CN115048360B (zh) 一种MySQL数据库调优装置、方法、终端及存储介质
US20130318102A1 (en) Data Handling in a Cloud Computing Environment
CN116594551A (zh) 一种数据存储方法及装置
US20170115888A1 (en) Method and system for a common processing framework for memory device controllers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200512

Address after: 812, block B, phase I, Tianan Innovation Technology Plaza, No. 25, Tairan 4th Road, Tianan community, Shatou street, Futian District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Lianyungang Technology Co., Ltd

Address before: 518001, A902, room nine, building A, building 006, Industrial Research Institute, Nanshan New South Road, Nanshan District, Shenzhen, Guangdong

Patentee before: CLOUDSOAR NETWORKS Inc.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191001

Termination date: 20200615

CF01 Termination of patent right due to non-payment of annual fee