[go: up one dir, main page]

CN107741917A - An improved IO current limiting processing method and system - Google Patents

An improved IO current limiting processing method and system Download PDF

Info

Publication number
CN107741917A
CN107741917A CN201710979190.XA CN201710979190A CN107741917A CN 107741917 A CN107741917 A CN 107741917A CN 201710979190 A CN201710979190 A CN 201710979190A CN 107741917 A CN107741917 A CN 107741917A
Authority
CN
China
Prior art keywords
path
module
fbr
load
current limiting
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
CN201710979190.XA
Other languages
Chinese (zh)
Other versions
CN107741917B (en
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710979190.XA priority Critical patent/CN107741917B/en
Publication of CN107741917A publication Critical patent/CN107741917A/en
Application granted granted Critical
Publication of CN107741917B publication Critical patent/CN107741917B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Power Sources (AREA)

Abstract

本发明公开了一种IO限流处理方法和系统,其中方法包括:步骤1,在存储设备端设置IO负载限制模块;步骤2,所述IO负载限制模块将主机下发到所述存储设备端的数据根据预置的IOPS限制和带宽限制进行传输。通过在存储设备端设置IO负载限制模块,将主机下发到所述存储设备端的数据根据预置的IOPS限制和带宽限制进行传输,平衡了下发IO到LUN的负载,稳固了存储系统下发IO的稳定性,极大地保证了系统的稳定性。

The present invention discloses an IO current limiting processing method and system, wherein the method includes: step 1, setting an IO load limiting module at the storage device end; step 2, the IO load limiting module sending the host to the storage device end Data is transferred according to preset IOPS limits and bandwidth limits. By setting the IO load limit module on the storage device side, the data delivered by the host to the storage device side is transmitted according to the preset IOPS limit and bandwidth limit, which balances the load of the delivered IO to the LUN, and stabilizes the delivery of the storage system. The stability of IO greatly guarantees the stability of the system.

Description

一种改进的IO限流处理方法和系统An improved IO current limiting processing method and system

技术领域technical field

本发明涉及数据存储技术领域,特别是涉及一种改进的IO限流处理方法和系统。The invention relates to the technical field of data storage, in particular to an improved IO current limiting processing method and system.

背景技术Background technique

随着计算机技术的飞速发展,很多技术都有了大幅度的提升,尤其是对后端存储系统分区的成功使用,满足了服务器主机下发数据的安全性和稳定性的要求。并且缓存和闪存的成功使用,满足了各个计算机领域对于计算资源和计算速率的需求,这种处理方式极大地加快了数据处理的速度。With the rapid development of computer technology, many technologies have been greatly improved, especially the successful use of back-end storage system partitions, which meets the security and stability requirements of the data sent by the server host. Moreover, the successful use of cache and flash memory meets the needs of various computer fields for computing resources and computing speed. This processing method greatly accelerates the speed of data processing.

然而通用的主机与存储系统的IO数据传输方式,虽然加强主机与存储系统的之间数据传输的效率,但并没有考虑LUN的承受能力,如果主机层下发IOPS过大,或带宽过高,很可能会造成IO传输的不稳定,甚至是IO中断。However, although the common IO data transmission method between the host and the storage system enhances the efficiency of data transmission between the host and the storage system, it does not consider the bearing capacity of the LUN. If the IOPS delivered by the host layer is too large, or the bandwidth is too high, It is likely to cause instability of IO transmission, or even IO interruption.

因此,如何稳固主机与存储设备之间的数据传输,加强数据的安全管理就是需要亟需解决的问题。Therefore, how to stabilize the data transmission between the host and the storage device and strengthen the security management of the data is an urgent problem to be solved.

发明内容Contents of the invention

本发明的目的是提供了一种IO限流处理方法和系统,稳固主机和存储设备之间的数据传输,加强了数据的安全管理。The object of the present invention is to provide an IO current limiting processing method and system, which stabilizes the data transmission between the host and the storage device, and strengthens the security management of the data.

为解决上述技术问题,本发明实施例提供了一种IO限流处理方法,包括:In order to solve the above technical problems, an embodiment of the present invention provides an IO current limiting processing method, including:

步骤1,在存储设备端设置IO负载限制模块;Step 1, setting the IO load limiting module on the storage device side;

步骤2,所述IO负载限制模块将主机下发到所述存储设备端的数据根据预置的IOPS限制和带宽限制进行传输。Step 2, the IO load limiting module transmits the data delivered by the host to the storage device according to the preset IOPS limit and bandwidth limit.

其中,所述步骤1包括:Wherein, the step 1 includes:

在所述IO负载限制模块中创建fast_path_fbr结构和slow_path_fbr结构,并注册到系统中;Create a fast_path_fbr structure and a slow_path_fbr structure in the IO load limiting module, and register them in the system;

所述系统将主机下发的IO进行分类存储带所述fast_path_fbr结构和slow_path_fbr结构中,并且创建对应的fast path线程和slow path线程,其中,所述fast path线程用于处理fast_path_fbr内的IO数据,slow path线程用于处理普通非IO命令,以及所述fast_path_fbr结构中的fail IO及超过等待时间阈值的IO。The system classifies and stores the IO issued by the host into the fast_path_fbr structure and the slow_path_fbr structure, and creates corresponding fast path threads and slow path threads, wherein the fast path threads are used to process the IO data in the fast_path_fbr, The slow path thread is used to process common non-IO commands, as well as fail IO in the fast_path_fbr structure and IO exceeding the waiting time threshold.

其中,在所述步骤1之前,还包括:Wherein, before the step 1, it also includes:

解析所述系统的HCCB结构,获取所述主机下发命令的flag,过滤非IO命令。Analyze the HCCB structure of the system, obtain the flag of the command issued by the host, and filter the non-IO commands.

其中,在所述步骤3之后,还包括:Wherein, after the step 3, it also includes:

根据所述fast_path_fbr结构和所述slow_path_fbr结构的处理速度以及所述slow_path_fbr结构中的存储的IO数量,估算并输出IO延时时间。Estimate and output the IO delay time according to the processing speed of the fast_path_fbr structure and the slow_path_fbr structure and the stored IO quantity in the slow_path_fbr structure.

其中,在所述步骤3之后还包括:Wherein, after said step 3, also include:

对所述IO负载限制模块进行定时设置,设置在所述IO负载限制模块的开启时间和关闭时间。Timing setting is performed on the IO load limiting module, and the opening time and closing time of the IO load limiting module are set.

除此之外,本发明实施例还提供了一种IO限流处理系统,包括设置在存储设备端的IO负载限制模块,用于在主机向所述存储设备端发布命令进行数据传输时,对设置在所述存储设备端指定的LUN进行写入或读取时进行IOPS和带宽的限定。In addition, the embodiment of the present invention also provides an IO current limiting processing system, including an IO load limiting module set on the storage device side, used to set IOPS and bandwidth are limited when the LUN specified on the storage device side is written or read.

其中,还包括与所述IO负载限制模块连接的定时模块,用于根据用户的需要设定IO负载限制模块的开启时间和关闭时间。Wherein, it also includes a timing module connected with the IO load limiting module, which is used to set the opening time and closing time of the IO load limiting module according to the needs of users.

其中,所述IO负载限制模块包括用于存储需要处理IO的待处理IO单元和被截留IO的IO截留单元。Wherein, the IO load limiting module includes an IO retention unit for storing pending IO units that need to process IOs and trapped IOs.

其中,还包括与所述IO负载限制模块的待处理IO单元和存储被截留IO的IO截留单元连接的延时反馈模块,用于根据所述待处理IO单元和存储被截留IO存储的IO数量并通过所述IO截留单元估算和输出IO延时时间,用于预判IO处理延时时间。Wherein, it also includes a delay feedback module connected with the IO unit to be processed and the IO retention unit storing the trapped IO of the IO load limiting module, for storing the IO quantity according to the IO unit to be processed and storing the trapped IO And the IO delay time is estimated and output by the IO retention unit, which is used to predict the IO processing delay time.

其中,还包括与所述IO负载限制模块连接的限制输入模块,用于根据用户的需要输入所述IO负载限制模块的IOPS值和带宽值。Wherein, it also includes a limit input module connected with the IO load limit module, for inputting the IOPS value and the bandwidth value of the IO load limit module according to user's needs.

本发明实施例所提供的IO限流处理方法和系统,与现有技术相比,具有以下优点:Compared with the prior art, the IO current limiting processing method and system provided by the embodiments of the present invention have the following advantages:

所述IO限流处理方法和系统,通过在存储设备端设置IO负载限制模块,将主机下发到所述存储设备端的数据根据预置的IOPS限制和带宽限制进行传输,平衡了下发IO到LUN的负载,使得不会出现LUN过载的可能性,稳固了存储系统下发IO的稳定性,极大地保证了系统的稳定性,提高了系统的运行可靠性。In the IO current limiting processing method and system, by setting an IO load limiting module on the storage device side, the data sent by the host to the storage device side is transmitted according to the preset IOPS limit and bandwidth limit, which balances the IO load limit delivered to The load of the LUN prevents the possibility of LUN overload, stabilizes the stability of the IO delivered by the storage system, greatly ensures the stability of the system, and improves the reliability of the system.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are For some embodiments of the present invention, those skilled in the art can also obtain other drawings based on these drawings without creative work.

图1为本发明实施例提供的IO限流处理方法的一种具体实施方式的步骤流程示意图;FIG. 1 is a schematic flow chart of the steps of a specific implementation of the IO current limiting processing method provided by the embodiment of the present invention;

图2为本发明实施例提供的IO限流处理系统的一种具体实施方式的结构示意图。FIG. 2 is a schematic structural diagram of a specific implementation manner of an IO current limiting processing system provided by an embodiment of the present invention.

具体实施方式detailed description

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some, not all, embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.

请参考图1~2,图1为本发明实施例提供的IO限流处理方法的一种具体实施方式的步骤流程示意图;图2为本发明实施例提供的IO限流处理系统的一种具体实施方式的结构示意图。Please refer to Figures 1-2, Figure 1 is a schematic flow chart of the steps of a specific implementation of the IO current limiting processing method provided by the embodiment of the present invention; Figure 2 is a specific implementation of the IO current limiting processing system provided by the embodiment of the present invention Schematic diagram of the embodiment.

在一种具体实施方式中,所述IO限流处理方法,包括:In a specific implementation manner, the IO current limiting processing method includes:

步骤1,在存储设备端设置IO负载限制模块;Step 1, setting the IO load limiting module on the storage device side;

步骤2,所述IO负载限制模块将主机下发到所述存储设备端的数据根据预置的IOPS限制和带宽限制进行传输。Step 2, the IO load limiting module transmits the data delivered by the host to the storage device according to the preset IOPS limit and bandwidth limit.

需要说明的是,在本发明中可以同时对IOPS和带宽进行限制,也可以单独对其中一项进行限制,只要能够保证数据传输的安全性,不超过存储设备中的LUN的承载能力,保证其安全可靠运行即可,本发明对于IOPS和带宽的限值不做限定。It should be noted that in the present invention, IOPS and bandwidth can be limited at the same time, or one of them can be limited separately, as long as the security of data transmission can be ensured, and the carrying capacity of the LUN in the storage device is not exceeded, the IOPS and bandwidth can be guaranteed. Safe and reliable operation is sufficient, and the present invention does not limit the limits of IOPS and bandwidth.

所述IO限流处理方法,通过改进主机与存储设备之间的数据传输的管理方法,由原来的主机与后端存储系统的卷或者虚拟卷直接传输命令和数据IO的模式,改变为在存储设备端加入IO负载限制模块,从而使得主机向存储设备发布命令并进行数据传输时,不影响主机IO的下发,又可以对写入或读取某一具体的LUN的负载进行限定,使其维持在可承载的范围之内工作。In the IO current limiting processing method, by improving the management method of data transmission between the host and the storage device, the mode of direct transmission of commands and data IO between the original host and the volume or virtual volume of the back-end storage system is changed to a storage The IO load limiting module is added to the device side, so that when the host issues commands to the storage device and performs data transmission, it does not affect the IO delivery of the host, and can also limit the load of writing or reading a specific LUN, so that Keep working within the loadable range.

更进一步,为了提高管理效率,在上述实施例的基础上在,所述步骤1包括:Furthermore, in order to improve management efficiency, on the basis of the above embodiments, the step 1 includes:

在所述IO负载限制模块中创建fast_path_fbr结构和slow_path_fbr结构,并注册到系统中;Create a fast_path_fbr structure and a slow_path_fbr structure in the IO load limiting module, and register them in the system;

所述系统将主机下发的IO进行分类存储带所述fast_path_fbr结构和slow_path_fbr结构中,并且创建对应的fast path线程和slow path线程,其中,所述fast path线程用于处理fast_path_fbr内的IO数据,slow path线程用于处理普通非IO命令,以及所述fast_path_fbr结构中的fail IO及超过等待时间阈值的IO。The system classifies and stores the IO issued by the host into the fast_path_fbr structure and the slow_path_fbr structure, and creates corresponding fast path threads and slow path threads, wherein the fast path threads are used to process the IO data in the fast_path_fbr, The slow path thread is used to process common non-IO commands, as well as fail IO in the fast_path_fbr structure and IO exceeding the waiting time threshold.

由于主机下发的IO是不变的,而在本发明中,增加了IO负载限制模块,使得一些正常的下发IO不能够正常处理,需要进行等待,而不同的类型的洗发IO的处理优先级是不同的,因此通过先将这些下发的IO进行分类存储并创建不同的线程,通过不同的线程进行处理,进一步提高管理效率和处理效率。在不影响主机端的IO下发,又能保护LUN在某时刻的过载导致IO中断。Because the IO issued by the host is constant, and in the present invention, an IO load limiting module is added, so that some normal issued IOs cannot be processed normally and need to wait, while the processing of different types of shampoo IOs The priorities are different. Therefore, by classifying and storing these issued IOs first, creating different threads, and processing them through different threads, the management efficiency and processing efficiency are further improved. It does not affect the IO delivery on the host side, but also protects the LUN from being overloaded at a certain moment and causing IO interruption.

而为了进一步提高管理效率,在所述步骤1之前,还包括:In order to further improve management efficiency, before step 1, it also includes:

解析所述系统的HCCB结构,获取所述主机下发命令的flag,过滤非IO命令。Analyze the HCCB structure of the system, obtain the flag of the command issued by the host, and filter the non-IO commands.

HCCB结构为host command control block的简称,主机命令控制块。HCCB structure is the abbreviation of host command control block, host command control block.

通过解析系统的HCCB结构,获取所述主机下发命令的flag,即IO和非IO标志,过滤非IO命令,值进行IO命令级别的限制,能够使得fast_path_fbr结构和slow_path_fbr结构中存储的都是主机下发的IO,而不包括其它,提高了管理效率。By analyzing the HCCB structure of the system, obtain the flag of the command issued by the host, that is, the IO and non-IO flags, filter the non-IO commands, and limit the value to the IO command level, so that the fast_path_fbr structure and the slow_path_fbr structure are stored in the host Issued IO, but not others, improves management efficiency.

而由于增加IO负载限制模块,使得在进行IO处理过程中,只能在可承载的范围内进行任务处理,而主机却是在只要有任务就会下发,容易造成死机,超出处理能力之后,主机下发的IO就会大量存储在fast_path_fbr结构和slow_path_fbr结构中,使得实际的对应的IO延迟非常大,系统无法进行预判,发生管理紊乱,因此,为了解决这一问题,在所述步骤3之后,还包括:However, due to the addition of the IO load limiting module, during the IO processing process, the task can only be processed within the loadable range, but the host will send it as long as there is a task, which is likely to cause a crash and exceed the processing capacity. A large number of IOs issued by the host will be stored in the fast_path_fbr structure and slow_path_fbr structure, making the actual corresponding IO delay very large, the system cannot predict, and management disorder occurs. Therefore, in order to solve this problem, in the above step 3 After that, also include:

根据所述fast_path_fbr结构和所述slow_path_fbr结构的处理速度以及所述slow_path_fbr结构中的存储的IO数量,估算并输出IO延时时间。Estimate and output the IO delay time according to the processing speed of the fast_path_fbr structure and the slow_path_fbr structure and the stored IO quantity in the slow_path_fbr structure.

通过根据两类fbr的数量向上层反馈处理速度,并且通过slow_path_fbr的数量,估算IO延时时间,呈现给上层,用于预判IO处理延时时间,防止主机abort IO,提高了系统的运行安全性和可靠性,提高管理效率,避免了LUN IO过载的发生,保证了系统的稳定性。According to the number of two types of fbr, the processing speed is fed back to the upper layer, and the IO delay time is estimated through the number of slow_path_fbr, and presented to the upper layer, which is used to predict the IO processing delay time, prevent the host from aborting IO, and improve the operation security of the system performance and reliability, improve management efficiency, avoid LUN IO overload, and ensure system stability.

在本发明中的主机与存储设备数据传输过程中,不同的用户在不同的时段对于IO负载的限定是不同的,甚至有些时段对于有些LUN需要限定IOPS,有些LUN需要限定带宽,在不同的时段进行不同的设置,因此,在所述步骤3之后还包括:In the process of data transmission between the host and the storage device in the present invention, different users have different restrictions on the IO load in different time periods, and even in some time periods, some LUNs need to limit IOPS, and some LUNs need to limit bandwidth. Make a different setup, so after said step 3 also include:

对所述IO负载限制模块进行定时设置,设置在所述IO负载限制模块的开启时间和关闭时间。Timing setting is performed on the IO load limiting module, and the opening time and closing time of the IO load limiting module are set.

需要指出的是,本发明对于下发IO到不同的LUN的负载的限定可以不同,也可以相同,但是一般由于不同的LUN的功能可能存在区别,一般限定会不同,而且对于同一LUN来说,不同时段的负载不同,用户可以根据需要通过添加定时设置,根据选择限流时间。It should be pointed out that the present invention may have different or the same restrictions on the load of sending IOs to different LUNs, but in general, due to differences in the functions of different LUNs, the general restrictions will be different, and for the same LUN, The load in different time periods is different, the user can add timing settings according to the needs, and select the current limit time according to the choice.

除此之外,本发明实施例还提供了一种IO限流处理系统,包括设置在存储设备端30的IO负载限制模块20,用于在主机10向所述存储设备端30发布命令进行数据传输时,对设置在所述存储设备端30指定的LUN进行写入或读取时进行IOPS和带宽的限定。In addition, the embodiment of the present invention also provides an IO current limiting processing system, including an IO load limiting module 20 set on the storage device end 30, which is used to issue a command to the storage device end 30 at the host 10 to process data During transmission, IOPS and bandwidth are limited when writing or reading to the LUN specified at the storage device end 30 .

为了保证系统运行稳定可靠的基础上,提高运行效率,在本发明的一个实施例中,所述IO限流处理系统在还包括与所述IO负载限制模块20连接的定时模块,用于根据用户的需要设定IO负载限制模块20的开启时间和关闭时间。In order to ensure stable and reliable system operation and improve operating efficiency, in one embodiment of the present invention, the IO current limiting processing system further includes a timing module connected to the IO load limiting module 20 for According to the need to set the on time and off time of the IO load limiting module 20.

通过设置定时模块,根据用户的需要设定IO负载限制模块20的开启时间和关闭时间,进行不同的限定,例如在A时段进行IOPS限定,在B时段进行带宽限定,在C时段同时进行IOPS和限定,以提高系统的运行高可靠性和高效率。By setting the timing module, the opening time and closing time of the IO load limiting module 20 can be set according to the user's needs, and different limitations can be performed, such as IOPS limitation in time period A, bandwidth limitation in time period B, and simultaneous IOPS and timeout in time period C. Limit to improve the system's high reliability and high efficiency.

而为了进一步提高系统对下发IO的管理效率,所述IO负载限制模块20包括用于存储需要处理IO的待处理IO单元和被截留IO的IO截留单元。In order to further improve the management efficiency of the system for issuing IOs, the IO load limiting module 20 includes an IO retention unit for storing pending IO units that need to be processed for IO and retained IOs.

通过在所述IO负载限制模块20中创建待处理IO单元即fast_path_fbr结构和IO截留单元即slow_path_fbr结构,并注册到系统中;By creating the fast_path_fbr structure of the IO unit to be processed and the slow_path_fbr structure of the IO retention unit in the IO load limiting module 20, and registering in the system;

所述系统将主机10下发的IO进行分类存储带所述fast_path_fbr结构和slow_path_fbr结构中,并且创建对应的fast path线程和slow path线程,其中,所述fast path线程用于处理fast_path_fbr内的IO数据,slow path线程用于处理普通非IO命令,以及所述fast_path_fbr结构中的fail IO及超过等待时间阈值的IO,以确保资源的最优化。The system classifies and stores the IOs issued by the host 10 into the fast_path_fbr structure and the slow_path_fbr structure, and creates corresponding fast path threads and slow path threads, wherein the fast path threads are used to process the IO data in the fast_path_fbr , the slow path thread is used to process common non-IO commands, as well as the fail IO in the fast_path_fbr structure and the IO exceeding the waiting time threshold, so as to ensure resource optimization.

在本发明中的IO负载限制模块20可以对不同的LUN设置不同的阈值,使用fast_path_fbr不同的等级来对应不同的LUN的阈值,并且设置阈值大的优先级更高,使用fastpath的频率更多,以提高系统的运行效率。The IO load limiting module 20 in the present invention can set different thresholds for different LUNs, use different levels of fast_path_fbr to correspond to the thresholds of different LUNs, and set a higher threshold with higher priority, and use fastpath more frequently, In order to improve the operating efficiency of the system.

为进一步提高系统的管理效率,避免主机10abort IO,在一实施例中,所述IO限流处理系统还包括与所述IO负载限制模块20的待处理IO单元和存储被截留IO的IO截留单元连接的延时反馈模块,用于根据所述待处理IO单元和存储被截留IO存储的IO数量并通过所述IO截留单元估算和输出IO延时时间,用于预判IO处理延时时间。In order to further improve the management efficiency of the system and avoid host 10 abort IO, in one embodiment, the IO current limiting processing system also includes an IO retention unit that is connected to the pending IO unit of the IO load limitation module 20 and stores the trapped IO The connected delay feedback module is used for estimating and outputting the IO delay time according to the IO unit to be processed and the number of IOs stored by the trapped IO through the IO retention unit, so as to predict the IO processing delay time.

通过预判IO处理延时时间,防止主机10abort IO,避免主机10下发过量的IO,提高系统的运行可靠性。By predicting the IO processing delay time, the host 10 is prevented from aborting IO, and the host 10 is prevented from issuing excessive IOs, thereby improving the operational reliability of the system.

本发明中,由于对于不同的LUN来说,可能需要设置不同的阈值,实现不同的功能,以保证资源的最优化,因此在本发明的一个实施例中,所述IO限流处理系统还包括与所述IO负载限制模块20连接的限制输入模块,用于根据用户的需要输入所述IO负载限制模块20的IOPS值和带宽值。In the present invention, since different thresholds may need to be set for different LUNs to implement different functions to ensure resource optimization, in one embodiment of the present invention, the IO current limiting processing system further includes The limit input module connected with the IO load limit module 20 is used to input the IOPS value and the bandwidth value of the IO load limit module 20 according to the needs of users.

需要指出的是,本发明中对于限制输入模块的输入方式不做限定,可以是单独设置输入界面由用户按照需要进行设置,也可以是根据系统的运行需要,调取在预存的空间中存储的限制指令,执行其中的限制方案。It should be pointed out that, in the present invention, there is no limit to the input mode of the limited input module. The input interface can be set separately and set by the user according to the needs, or it can be called and stored in the pre-stored space according to the operation needs of the system. A restriction instruction executes the restriction scheme in it.

综上所述,本发明实施例提供的IO限流处理方法和系统,通过在存储设备端设置IO负载限制模块,将主机下发到所述存储设备端的数据根据预置的IOPS限制和带宽限制进行传输,平衡了下发IO到LUN的负载,使得不会出现LUN过载的可能性,稳固了存储系统下发IO的稳定性,极大地保证了系统的稳定性,提高了系统的运行可靠性。To sum up, in the IO current limiting processing method and system provided by the embodiments of the present invention, by setting an IO load limiting module on the storage device side, the data sent by the host to the storage device side is based on the preset IOPS limit and bandwidth limit The transmission balances the load of the issued IO to the LUN, so that the possibility of LUN overload does not occur, stabilizes the stability of the storage system issued IO, greatly ensures the stability of the system, and improves the operating reliability of the system .

以上对本发明所提供的IO限流处理方法和系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。The IO current limiting processing method and system provided by the present invention have been introduced in detail above. In this paper, specific examples are used to illustrate the principle and implementation of the present invention, and the descriptions of the above embodiments are only used to help understand the method and core idea of the present invention. It should be pointed out that for those skilled in the art, without departing from the principle of the present invention, some improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the protection scope of the claims of the present invention.

Claims (10)

1.一种IO限流处理方法,其特征在于,包括:1. An IO current limiting processing method is characterized in that, comprising: 步骤1,在存储设备端设置IO负载限制模块;Step 1, setting the IO load limiting module on the storage device side; 步骤2,所述IO负载限制模块将主机下发到所述存储设备端的数据根据预置的IOPS限制和带宽限制进行传输。Step 2, the IO load limiting module transmits the data delivered by the host to the storage device according to the preset IOPS limit and bandwidth limit. 2.如权利要求1所述IO限流处理方法,其特征在于,所述步骤1包括:2. The IO current limiting processing method according to claim 1, wherein said step 1 comprises: 在所述IO负载限制模块中创建fast_path_fbr结构和slow_path_fbr结构,并注册到系统中;Create a fast_path_fbr structure and a slow_path_fbr structure in the IO load limiting module, and register them in the system; 所述系统将主机下发的IO进行分类存储带所述fast_path_fbr结构和slow_path_fbr结构中,并且创建对应的fast path线程和slow path线程,其中,所述fast path线程用于处理fast_path_fbr内的IO数据,slow path线程用于处理普通非IO命令,以及所述fast_path_fbr结构中的fail IO及超过等待时间阈值的IO。The system classifies and stores the IO issued by the host into the fast_path_fbr structure and the slow_path_fbr structure, and creates corresponding fast path threads and slow path threads, wherein the fast path threads are used to process the IO data in the fast_path_fbr, The slow path thread is used to process common non-IO commands, as well as fail IO in the fast_path_fbr structure and IO exceeding the waiting time threshold. 3.如权利要求2所述IO限流处理方法,其特征在于,在所述步骤1之前,还包括:3. The IO current limiting processing method according to claim 2, characterized in that, before said step 1, further comprising: 解析所述系统的HCCB结构,获取所述主机下发命令的flag,过滤非IO命令。Analyze the HCCB structure of the system, obtain the flag of the command issued by the host, and filter the non-IO commands. 4.如权利要求1所述IO限流处理方法,其特征在于,在所述步骤3之后,还包括:4. The IO current limiting processing method according to claim 1, characterized in that, after the step 3, further comprising: 根据所述fast_path_fbr结构和所述slow_path_fbr结构的处理速度以及所述slow_path_fbr结构中的存储的IO数量,估算并输出IO延时时间。Estimate and output the IO delay time according to the processing speed of the fast_path_fbr structure and the slow_path_fbr structure and the stored IO quantity in the slow_path_fbr structure. 5.如权利要求1所述IO限流处理方法,其特征在于,在所述步骤3之后还包括:5. The IO current limiting processing method according to claim 1, further comprising: after said step 3: 对所述IO负载限制模块进行定时设置,设置在所述IO负载限制模块的开启时间和关闭时间。Timing setting is performed on the IO load limiting module, and the opening time and closing time of the IO load limiting module are set. 6.一种IO限流处理系统,其特征在于,包括设置在存储设备端的IO负载限制模块,用于在主机向所述存储设备端发布命令进行数据传输时,对设置在所述存储设备端指定的LUN进行写入或读取时进行IOPS和带宽的限定。6. A kind of IO current limiting processing system, it is characterized in that, comprise the IO load limiting module that is arranged on storage device end, when host computer issues order to described storage device end and carry out data transmission, set on described storage device end IOPS and bandwidth are limited when the specified LUN is written or read. 7.如权利要求6所述IO限流处理系统,其特征在于,还包括与所述IO负载限制模块连接的定时模块,用于根据用户的需要设定IO负载限制模块的开启时间和关闭时间。7. The IO current limiting processing system as claimed in claim 6, further comprising a timing module connected to the IO load limiting module, for setting the opening time and closing time of the IO load limiting module according to user needs . 8.如权利要求7所述IO限流处理系统,其特征在于,所述IO负载限制模块包括用于存储需要处理IO的待处理IO单元和被截留IO的IO截留单元。8 . The IO current limiting processing system according to claim 7 , wherein the IO load limiting module includes an IO retention unit for storing pending IO units that need to process IOs and trapped IOs. 9.如权利要求8所述IO限流处理系统,其特征在于,还包括与所述IO负载限制模块的待处理IO单元和存储被截留IO的IO截留单元连接的延时反馈模块,用于根据所述待处理IO单元和存储被截留IO存储的IO数量并通过所述IO截留单元估算和输出IO延时时间,用于预判IO处理延时时间。9. The IO current limiting processing system according to claim 8, further comprising a delay feedback module connected with the IO unit to be processed of the IO load limiting module and the IO retention unit storing the trapped IO, for According to the IO unit to be processed and the number of IOs stored by the trapped IO, the IO delay time is estimated and output by the IO retention unit, so as to predict the IO processing delay time. 10.如权利要求9所述IO限流处理系统,其特征在于,还包括与所述IO负载限制模块连接的限制输入模块,用于根据用户的需要输入所述IO负载限制模块的IOPS值和带宽值。10. IO current limiting processing system as claimed in claim 9, is characterized in that, also comprises the limit input module that is connected with described IO load limit module, is used for inputting the IOPS value of described IO load limit module and bandwidth value.
CN201710979190.XA 2017-10-19 2017-10-19 Improved IO current limiting processing method and system Active CN107741917B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710979190.XA CN107741917B (en) 2017-10-19 2017-10-19 Improved IO current limiting processing method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710979190.XA CN107741917B (en) 2017-10-19 2017-10-19 Improved IO current limiting processing method and system

Publications (2)

Publication Number Publication Date
CN107741917A true CN107741917A (en) 2018-02-27
CN107741917B CN107741917B (en) 2021-05-18

Family

ID=61237776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710979190.XA Active CN107741917B (en) 2017-10-19 2017-10-19 Improved IO current limiting processing method and system

Country Status (1)

Country Link
CN (1) CN107741917B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582247A (en) * 2018-12-10 2019-04-05 浪潮(北京)电子信息产业有限公司 The transmission method and storage system of a kind of host to storage system IO
CN109614047A (en) * 2018-12-10 2019-04-12 浪潮(北京)电子信息产业有限公司 A kind of IO transmission method between hosts, storage system and readable storage medium
CN113608885A (en) * 2021-06-30 2021-11-05 济南浪潮数据技术有限公司 Client request processing method, device, equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120272021A1 (en) * 2011-04-25 2012-10-25 Hitachi, Ltd. Management system and control method for computer system
CN103135943A (en) * 2013-02-21 2013-06-05 浪潮电子信息产业股份有限公司 Self-adaptive IO (Input Output) scheduling method of multi-control storage system
CN103368870A (en) * 2013-06-26 2013-10-23 国家超级计算深圳中心(深圳云计算中心) Control method and system for cluster storage network parallel load
CN103841052A (en) * 2012-11-27 2014-06-04 中国科学院声学研究所 Bandwidth resource distribution system and method
CN104424106A (en) * 2013-08-30 2015-03-18 国际商业机器公司 Method and system for allocating resources from storage device into stored optimization operations
CN107145311A (en) * 2017-06-12 2017-09-08 郑州云海信息技术有限公司 A kind of I/O data processing method and system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120272021A1 (en) * 2011-04-25 2012-10-25 Hitachi, Ltd. Management system and control method for computer system
CN103841052A (en) * 2012-11-27 2014-06-04 中国科学院声学研究所 Bandwidth resource distribution system and method
CN103135943A (en) * 2013-02-21 2013-06-05 浪潮电子信息产业股份有限公司 Self-adaptive IO (Input Output) scheduling method of multi-control storage system
CN103368870A (en) * 2013-06-26 2013-10-23 国家超级计算深圳中心(深圳云计算中心) Control method and system for cluster storage network parallel load
CN104424106A (en) * 2013-08-30 2015-03-18 国际商业机器公司 Method and system for allocating resources from storage device into stored optimization operations
CN107145311A (en) * 2017-06-12 2017-09-08 郑州云海信息技术有限公司 A kind of I/O data processing method and system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582247A (en) * 2018-12-10 2019-04-05 浪潮(北京)电子信息产业有限公司 The transmission method and storage system of a kind of host to storage system IO
CN109614047A (en) * 2018-12-10 2019-04-12 浪潮(北京)电子信息产业有限公司 A kind of IO transmission method between hosts, storage system and readable storage medium
CN109614047B (en) * 2018-12-10 2022-03-08 浪潮(北京)电子信息产业有限公司 IO transmission method between hosts, storage system and readable storage medium
CN109582247B (en) * 2018-12-10 2022-04-22 浪潮(北京)电子信息产业有限公司 Host-to-storage system IO transmission method and storage system
CN113608885A (en) * 2021-06-30 2021-11-05 济南浪潮数据技术有限公司 Client request processing method, device, equipment and storage medium
CN113608885B (en) * 2021-06-30 2023-12-22 济南浪潮数据技术有限公司 Client request processing method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN107741917B (en) 2021-05-18

Similar Documents

Publication Publication Date Title
CN109725829B (en) System and method for end-to-end QoS solution for data storage system
US8893146B2 (en) Method and system of an I/O stack for controlling flows of workload specific I/O requests
US10768823B2 (en) Flow control for unaligned writes in network storage device
CN103473136B (en) The resource allocation method and communication equipment of a kind of virtual machine
US9760392B1 (en) Adaptive throttling in hybrid storage environments
CN108776576A (en) The polymerization storage method of online NVMe devices for polymerization
US10972555B2 (en) Function based dynamic traffic management for network services
US9858120B2 (en) Modifying memory space allocation for inactive tasks
US11972148B2 (en) Proactive storage operation management using thermal states
KR20200135718A (en) Method, apparatus, device and storage medium for managing access request
CN107835986A (en) The data manipulation method and electronic equipment of a kind of electronic equipment
CN110674064B (en) A data transmission method, apparatus, device and computer-readable storage medium
WO2025152506A1 (en) Data processing system and method, device and nonvolatile readable storage medium
US11640243B2 (en) Supervised learning with closed loop feedback to improve input output consistency of solid state drives
CN107741917A (en) An improved IO current limiting processing method and system
CN113272781A (en) Improving data performance by transferring data between storage tiers using workload characteristics
CN102566942A (en) File striping writing method, device and system
CN121127825A (en) Multi-tenant SSD access control
CN108932112A (en) A kind of data read-write method of solid granulates, device, equipment and medium
CN112748886B (en) Device for supervised learning with closed-loop feedback of solid-state drive
CN111399771B (en) A protocol configuration method, device and equipment for an MCS storage system
CN111694507B (en) Apparatus and method for accelerating tasks during storage caching/layering in a computing environment
CN104571952B (en) A kind of method for separating processing data and metadata read-write requests
CN106933653A (en) A kind of data file storage method of virtual machine, device and KVM virtual machines
US20170075625A1 (en) Repurposable buffers for target port processing of a data transfer

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