CN110795371B - 一种i/o请求处理方法、系统、设备及计算机存储介质 - Google Patents
一种i/o请求处理方法、系统、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN110795371B CN110795371B CN201911025148.XA CN201911025148A CN110795371B CN 110795371 B CN110795371 B CN 110795371B CN 201911025148 A CN201911025148 A CN 201911025148A CN 110795371 B CN110795371 B CN 110795371B
- Authority
- CN
- China
- Prior art keywords
- request
- processing
- processed
- binary tree
- reserved
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 41
- 238000000034 method Methods 0.000 claims description 22
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 230000000875 corresponding effect Effects 0.000 description 28
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/22—Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
- G06F13/225—Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling with priority control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种I/O请求处理方法,应用于对象存储网关,获取处理I/O请求的各个抽象客户端的QoS模板;获取网络前端传输的待处理I/O请求集;对于待处理I/O请求集中的每一个待处理I/O请求,基于待处理I/O请求对应的抽象客户端确定待处理I/O请求的QoS值;基于QoS值,确定待处理I/O请求集中待处理I/O请求的处理顺序。本申请提供的一种I/O请求处理方法、系统、设备及计算机可读存储介质中,对象存储网关基于抽象客户端的QoS模板确定各个待处理I/O请求的QoS值,并基于该QoS值确定各个待处理I/O请求的处理顺序,从而实现了对象存储系统中I/O请求的优先级处理。
Description
技术领域
本申请涉及存储技术领域,更具体地说,涉及一种I/O请求处理方法、系统、设备及计算机存储介质。
背景技术
在存储领域中,I/O(Input/Output,输入/输出)资源涉及到系统的读写,会影响系统的性能,如何分配I/O资源是一个值得考虑的事情。
对象存储一种新的网络存储架构,其综合了文件存储和块存储的优点,常规存储的QoS(Quality of Service,服务质量)方案是在I/O请求集中的位置,使用令牌桶、优先级队列等方法对请求出队过程进行控制,例如,在块存储中,I/O请求最后统一到卷上执行,因此可以在卷上进行I/O控制,但在对象存储中,没有卷的概念,无法进行I/O请求优先级处理。
综上所述,如何实现对象存储对I/O请求的优先级处理是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种I/O请求处理方法,其能在一定程度上解决如何实现对象存储对I/O请求的优先级处理的技术问题。本申请还提供了一种I/O请求处理系统、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种I/O请求处理方法,应用于对象存储网关,包括:
获取处理I/O请求的各个抽象客户端的QoS模板;
获取网络前端传输的待处理I/O请求集;
对于所述待处理I/O请求集中的每一个待处理I/O请求,基于所述待处理I/O请求对应的抽象客户端确定所述待处理I/O请求的QoS值;
基于所述QoS值,确定所述待处理I/O请求集中所述待处理I/O请求的处理顺序。
优选的,所述基于所述QoS值,确定所述待处理I/O请求集中所述待处理I/O请求的处理顺序,包括:
按照从小到大的顺序,基于所述待处理I/O请求的大小,对所述待处理I/O请求进行排序;
按照排序结果,基于所述QoS值确定所述处理顺序。
优选的,所述QoS模板的数据类型包括预留、权重、上限;所述QoS值包括预留值、权重值、上限值;
所述按照从小到大的顺序,基于所述待处理I/O请求的大小,对所述待处理I/O请求进行排序,包括:
按照叶节点的数值小于根节点的数值的规律,基于所述待处理I/O请求的大小及所述QoS值,将所述待处理I/O请求集转换为相应的预留标签二叉树、权重标签二叉树、上限标签二叉树;
所述按照排序结果,基于所述QoS值确定所述处理顺序,包括:
基于所述预留标签二叉树、所述权重标签二叉树、所述上限标签二叉树确定所述处理顺序。
优选的,所述基于所述预留标签二叉树、所述权重标签二叉树、所述上限标签二叉树确定所述处理顺序,包括:
通过dmclock算法,基于所述预留标签二叉树、所述权重标签二叉树、所述上限标签二叉树确定所述处理顺序。
优选的,所述通过dmclock算法,基于所述预留标签二叉树、所述权重标签二叉树、所述上限标签二叉树确定所述处理顺序,包括:
判断所述预留标签二叉树的根节点是否满足预留处理条件;
若所述预留标签二叉树的根节点满足所述预留处理条件,则处理所述根节点对应的所述待处理I/O请求,更新所述预留标签二叉树、所述权重标签二叉树、所述上限标签二叉树的结构,并返回所述判断所述预留标签二叉树的根节点是否满足处理条件的步骤;
若所述预留标签二叉树的根节点不满足所述预留处理条件,则在所述上限标签二叉树中,将满足上限处理条件的所述待处理I/O请求作为待筛选I/O请求;在所述权重标签二叉树中,处理满足权重处理条件的所述待筛选I/O请求,返回所述判断所述预留标签二叉树的根节点是否满足预留处理条件的步骤。
优选的,所述基于所有的QoS值,确定所述待处理I/O请求集中所述待处理I/O请求的处理顺序,包括:
将所述待处理I/O请求集添加至预设请求队列中;
基于所述QoS值,将所述预设请求队列中满足出队条件的所述待处理I/O请求出队,并发送至对应的所述抽象客户端进行处理。
优选的,所述获取处理I/O请求的各个抽象客户端的QoS模板,包括:
基于各个所述抽象客户端处理I/O请求的优先级确定所述QoS模板。
一种I/O请求处理系统,应用于对象存储网关,包括:
第一获取模块,用于获取处理I/O请求的各个抽象客户端的QoS模板;
第二获取模块,用于获取网络前端传输的待处理I/O请求集;
第一确定模块,用于对于所述待处理I/O请求集中的每一个待处理I/O请求,基于所述待处理I/O请求对应的抽象客户端确定所述待处理I/O请求的QoS值;
第二确定模块,用于基于所述QoS值,确定所述待处理I/O请求集中所述待处理I/O请求的处理顺序。
一种I/O请求处理设备,应用于对象存储网关,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述I/O请求处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述I/O请求处理方法的步骤。
本申请提供的一种I/O请求处理方法,应用于对象存储网关,获取处理I/O请求的各个抽象客户端的QoS模板;获取网络前端传输的待处理I/O请求集;对于待处理I/O请求集中的每一个待处理I/O请求,基于待处理I/O请求对应的抽象客户端确定待处理I/O请求的QoS值;基于QoS值,确定待处理I/O请求集中待处理I/O请求的处理顺序。本申请提供的一种I/O请求处理方法中,对象存储网关基于抽象客户端的QoS模板确定各个待处理I/O请求的QoS值,并基于该QoS值确定各个待处理I/O请求的处理顺序,从而实现了对象存储系统中I/O请求的优先级处理。本申请提供的一种I/O请求处理系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种I/O请求处理方法的流程图;
图2为本申请实施例提供的一种I/O请求处理系统的结果示意图;
图3为本申请实施例提供的一种I/O请求处理设备的结构示意图;
图4为本申请实施例提供的一种I/O请求处理设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种I/O请求处理方法的流程图。
本申请实施例提供的一种I/O请求处理方法,应用于对象存储网关,可以包括以下步骤:
步骤S101:获取处理I/O请求的各个抽象客户端的QoS模板。
实际应用中,对象存储网关可以先获取对象存储系统中处理I/O请求的各个抽象客户端的QoS模板,也即本申请中,需要在对象存储系统中设置抽象客户端来处理不同的I/O请求,抽象客户端的个数及自身的QoS模板可以根据实际需要确定。具体应用场景中,可以基于各个抽象客户端处理I/O请求的优先级确定QoS模板。
步骤S102:获取网络前端传输的待处理I/O请求集。
实际应用中,对象存储网关在获取各个抽象客户端的QoS模板后,便可以获取网络前端传输的待处理I/O请求集。网络前端的类型可以根据实际需要确定,比如网络前端可以为用户应用的客户端等;待处理I/O请求集中待处理I/O请求的个数可以根据实际需要确定。
步骤S103:对于待处理I/O请求集中的每一个待处理I/O请求,基于待处理I/O请求对应的抽象客户端确定待处理I/O请求的QoS值。
实际应用中,由于网络前端可能指定了处理每个待处理I/O请求的抽象客户端,在此情况下,对象存储网关可以基于处理I/O请求的抽象客户端的QoS模板确定待处理I/O请求的QoS值。
步骤S104:基于QoS值,确定待处理I/O请求集中待处理I/O请求的处理顺序。
实际应用中,对象存储网关在确定各个待处理I/O请求的QoS值后,便可以基于各个待处理I/O请求的QoS值,确定各个待处理I/O请求的处理顺序,从而确定各个待处理I/O请求的优先级顺序,实现对象存储系统对I/O请求的优先级处理。具体应用场景中,对象存储网关在确定出处理顺序后,便可以按照该处理顺序,将待处理I/O请求发送至相应的抽象客户端进行处理。
本申请提供的一种I/O请求处理方法,应用于对象存储网关,获取处理I/O请求的各个抽象客户端的QoS模板;获取网络前端传输的待处理I/O请求集;对于待处理I/O请求集中的每一个待处理I/O请求,基于待处理I/O请求对应的抽象客户端确定待处理I/O请求的QoS值;基于QoS值,确定待处理I/O请求集中待处理I/O请求的处理顺序。本申请提供的一种I/O请求处理方法中,对象存储网关基于抽象客户端的QoS模板确定各个待处理I/O请求的QoS值,并基于该QoS值确定各个待处理I/O请求的处理顺序,从而实现了对象存储系统中I/O请求的优先级处理。
本申请提供的一种I/O请求处理方法中,为了提高对象存储网关确定处理顺序的效率,对象存储网关在基于QoS值,确定待处理I/O请求集中待处理I/O请求的处理顺序时,可以按照从小到大的顺序,基于待处理I/O请求的大小,对待处理I/O请求进行排序;按照排序结果,基于QoS值确定处理顺序。
实际应用中,QoS模板的数据类型可以包括预留、权重、上限;QoS值可以包括预留值、权重值、上限值;
在此情况下,可以借助二叉树来快速确定处理顺序,也即对象存储网关在按照从小到大的顺序,基于待处理I/O请求的大小,对待处理I/O请求进行排序时,可以按照叶节点的数值小于根节点的数值的规律,基于待处理I/O请求的大小及QoS值,将待处理I/O请求集转换为相应的预留标签二叉树、权重标签二叉树、上限标签二叉树;
相应的,在按照排序结果,基于QoS值确定处理顺序时,可以基于预留标签二叉树、权重标签二叉树、上限标签二叉树确定处理顺序。
本申请提供的一种I/O请求处理方法,对象存储网关在基于预留标签二叉树、权重标签二叉树、上限标签二叉树确定处理顺序时,可以通过dmclock算法,基于预留标签二叉树、权重标签二叉树、上限标签二叉树确定处理顺序。
具体应用场景中,通过dmclock算法,基于预留标签二叉树、权重标签二叉树、上限标签二叉树确定处理顺序,包括:
判断预留标签二叉树的根节点是否满足预留处理条件;
若预留标签二叉树的根节点满足预留处理条件,则处理根节点对应的待处理I/O请求,更新预留标签二叉树、权重标签二叉树、上限标签二叉树的结构,并返回判断预留标签二叉树的根节点是否满足处理条件的步骤;
若预留标签二叉树的根节点不满足预留处理条件,则在上限标签二叉树中,将满足上限处理条件的待处理I/O请求作为待筛选I/O请求;在权重标签二叉树中,处理满足权重处理条件的待筛选I/O请求,之后返回判断预留标签二叉树的根节点是否满足预留处理条件的步骤。
应当指出,实际应用中,还可以有其他基于预留标签二叉树、权重标签二叉树、上限标签二叉树确定处理顺序的方法,本申请在此不做具体限定。
本申请提供的一种I/O请求处理方法,对象存储网关可以借助队列来方便的对待处理I/O请求进行管理,则对象存储网关基于所有的QoS值,确定待处理I/O请求集中待处理I/O请求的处理顺序时,可以将待处理I/O请求集添加至预设请求队列中;基于QoS值,将预设请求队列中满足出队条件的待处理I/O请求出队,并发送至对应的抽象客户端进行处理。
请参阅图2,图2为本申请实施例提供的一种I/O请求处理系统的结果示意图。
本申请实施例提供的一种I/O请求处理系统,应用于对象存储网关,可以包括:
第一获取模块101,用于获取处理I/O请求的各个抽象客户端的QoS模板;
第二获取模块102,用于获取网络前端传输的待处理I/O请求集;
第一确定模块103,用于对于待处理I/O请求集中的每一个待处理I/O请求,基于待处理I/O请求对应的抽象客户端确定待处理I/O请求的QoS值;
第二确定模块104,用于基于QoS值,确定待处理I/O请求集中待处理I/O请求的处理顺序。
本申请实施例提供的一种I/O请求处理系统,应用于对象存储网关,第二确定模块可以包括:
第一排序子模块,用于按照从小到大的顺序,基于待处理I/O请求的大小,对待处理I/O请求进行排序;
第一确定子模块,用于按照排序结果,基于QoS值确定处理顺序。
本申请实施例提供的一种I/O请求处理系统,应用于对象存储网关,QoS模板的数据类型可以包括预留、权重、上限;QoS值可以包括预留值、权重值、上限值;
第一排序子模块可以包括:
第一排序单元,用于按照叶节点的数值小于根节点的数值的规律,基于待处理I/O请求的大小及QoS值,将待处理I/O请求集转换为相应的预留标签二叉树、权重标签二叉树、上限标签二叉树;
第一确定子模块可以包括:
第二确定子模块,用于基于预留标签二叉树、权重标签二叉树、上限标签二叉树确定处理顺序。
本申请实施例提供的一种I/O请求处理系统,应用于对象存储网关,第二确定子模块可以包括:
第三确定子模块,用于通过dmclock算法,基于预留标签二叉树、权重标签二叉树、上限标签二叉树确定处理顺序。
本申请实施例提供的一种I/O请求处理系统,应用于对象存储网关,第三确定子模块可以包括:
第一判断单元,用于判断预留标签二叉树的根节点是否满足预留处理条件;若预留标签二叉树的根节点满足预留处理条件,则处理根节点对应的待处理I/O请求,更新预留标签二叉树、权重标签二叉树、上限标签二叉树的结构,并返回判断预留标签二叉树的根节点是否满足处理条件的步骤;若预留标签二叉树的根节点不满足预留处理条件,则在上限标签二叉树中,将满足上限处理条件的待处理I/O请求作为待筛选I/O请求;在权重标签二叉树中,处理满足权重处理条件的待筛选I/O请求,返回判断预留标签二叉树的根节点是否满足预留处理条件的步骤。
本申请实施例提供的一种I/O请求处理系统,应用于对象存储网关,第二确定模块可以包括:
第一添加单元,用于将待处理I/O请求集添加至预设请求队列中;
第一出队单元,用于基于QoS值,将预设请求队列中满足出队条件的待处理I/O请求出队,并发送至对应的抽象客户端进行处理。
本申请实施例提供的一种I/O请求处理系统,应用于对象存储网关,第一获取模块可以包括:
第一获取单元,用于基于各个抽象客户端处理I/O请求的优先级确定QoS模板。
本申请还提供了一种I/O请求处理设备及计算机可读存储介质,其均具有本申请实施例提供的一种I/O请求处理方法具有的对应效果。请参阅图3,图3为本申请实施例提供的一种I/O请求处理设备的结构示意图。
本申请实施例提供的一种I/O请求处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:
获取处理I/O请求的各个抽象客户端的QoS模板;
获取网络前端传输的待处理I/O请求集;
对于待处理I/O请求集中的每一个待处理I/O请求,基于待处理I/O请求对应的抽象客户端确定待处理I/O请求的QoS值;
基于QoS值,确定待处理I/O请求集中待处理I/O请求的处理顺序。
本申请实施例提供的一种I/O请求处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:按照从小到大的顺序,基于待处理I/O请求的大小,对待处理I/O请求进行排序;按照排序结果,基于QoS值确定处理顺序。
本申请实施例提供的一种I/O请求处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:QoS模板的数据类型包括预留、权重、上限;QoS值包括预留值、权重值、上限值;按照叶节点的数值小于根节点的数值的规律,基于待处理I/O请求的大小及QoS值,将待处理I/O请求集转换为相应的预留标签二叉树、权重标签二叉树、上限标签二叉树;基于预留标签二叉树、权重标签二叉树、上限标签二叉树确定处理顺序。
本申请实施例提供的一种I/O请求处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:通过dmclock算法,基于预留标签二叉树、权重标签二叉树、上限标签二叉树确定处理顺序。
本申请实施例提供的一种I/O请求处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:判断预留标签二叉树的根节点是否满足预留处理条件;若预留标签二叉树的根节点满足预留处理条件,则处理根节点对应的待处理I/O请求,更新预留标签二叉树、权重标签二叉树、上限标签二叉树的结构,并返回判断预留标签二叉树的根节点是否满足处理条件的步骤;若预留标签二叉树的根节点不满足预留处理条件,则在上限标签二叉树中,将满足上限处理条件的待处理I/O请求作为待筛选I/O请求;在权重标签二叉树中,处理满足权重处理条件的待筛选I/O请求,返回判断预留标签二叉树的根节点是否满足预留处理条件的步骤。
本申请实施例提供的一种I/O请求处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:将待处理I/O请求集添加至预设请求队列中;基于QoS值,将预设请求队列中满足出队条件的待处理I/O请求出队,并发送至对应的抽象客户端进行处理。
本申请实施例提供的一种I/O请求处理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于各个抽象客户端处理I/O请求的优先级确定QoS模板。
请参阅图4,本申请实施例提供的另一种I/O请求处理设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现I/O请求处理设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
获取处理I/O请求的各个抽象客户端的QoS模板;
获取网络前端传输的待处理I/O请求集;
对于待处理I/O请求集中的每一个待处理I/O请求,基于待处理I/O请求对应的抽象客户端确定待处理I/O请求的QoS值;
基于QoS值,确定待处理I/O请求集中待处理I/O请求的处理顺序。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:按照从小到大的顺序,基于待处理I/O请求的大小,对待处理I/O请求进行排序;按照排序结果,基于QoS值确定处理顺序。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:QoS模板的数据类型包括预留、权重、上限;QoS值包括预留值、权重值、上限值;按照叶节点的数值小于根节点的数值的规律,基于待处理I/O请求的大小及QoS值,将待处理I/O请求集转换为相应的预留标签二叉树、权重标签二叉树、上限标签二叉树;基于预留标签二叉树、权重标签二叉树、上限标签二叉树确定处理顺序。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:通过dmclock算法,基于预留标签二叉树、权重标签二叉树、上限标签二叉树确定处理顺序。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:判断预留标签二叉树的根节点是否满足预留处理条件;若预留标签二叉树的根节点满足预留处理条件,则处理根节点对应的待处理I/O请求,更新预留标签二叉树、权重标签二叉树、上限标签二叉树的结构,并返回判断预留标签二叉树的根节点是否满足处理条件的步骤;若预留标签二叉树的根节点不满足预留处理条件,则在上限标签二叉树中,将满足上限处理条件的待处理I/O请求作为待筛选I/O请求;在权重标签二叉树中,处理满足权重处理条件的待筛选I/O请求,返回判断预留标签二叉树的根节点是否满足预留处理条件的步骤。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:将待处理I/O请求集添加至预设请求队列中;基于QoS值,将预设请求队列中满足出队条件的待处理I/O请求出队,并发送至对应的抽象客户端进行处理。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于各个抽象客户端处理I/O请求的优先级确定QoS模板。
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的一种I/O请求处理系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种I/O请求处理方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种I/O请求处理方法,其特征在于,应用于对象存储网关,包括:
获取处理I/O请求的各个抽象客户端的QoS模板;
获取网络前端传输的待处理I/O请求集;
对于所述待处理I/O请求集中的每一个待处理I/O请求,基于所述待处理I/O请求对应的抽象客户端确定所述待处理I/O请求的QoS值;
基于所述QoS值,确定所述待处理I/O请求集中所述待处理I/O请求的处理顺序;
其中,所述基于所述QoS值,确定所述待处理I/O请求集中所述待处理I/O请求的处理顺序,包括:
按照从小到大的顺序,基于所述待处理I/O请求的大小,对所述待处理I/O请求进行排序;
按照排序结果,基于所述QoS值确定所述处理顺序。
2.根据权利要求1所述的方法,其特征在于,所述QoS模板的数据类型包括预留、权重、上限;所述QoS值包括预留值、权重值、上限值;
所述按照从小到大的顺序,基于所述待处理I/O请求的大小,对所述待处理I/O请求进行排序,包括:
按照叶节点的数值小于根节点的数值的规律,基于所述待处理I/O请求的大小及所述QoS值,将所述待处理I/O请求集转换为相应的预留标签二叉树、权重标签二叉树、上限标签二叉树;
所述按照排序结果,基于所述QoS值确定所述处理顺序,包括:
基于所述预留标签二叉树、所述权重标签二叉树、所述上限标签二叉树确定所述处理顺序。
3.根据权利要求2所述的方法,其特征在于,所述基于所述预留标签二叉树、所述权重标签二叉树、所述上限标签二叉树确定所述处理顺序,包括:
通过dmclock算法,基于所述预留标签二叉树、所述权重标签二叉树、所述上限标签二叉树确定所述处理顺序。
4.根据权利要求3所述的方法,其特征在于,所述通过dmclock算法,基于所述预留标签二叉树、所述权重标签二叉树、所述上限标签二叉树确定所述处理顺序,包括:
判断所述预留标签二叉树的根节点是否满足预留处理条件;
若所述预留标签二叉树的根节点满足所述预留处理条件,则处理所述根节点对应的所述待处理I/O请求,更新所述预留标签二叉树、所述权重标签二叉树、所述上限标签二叉树的结构,并返回所述判断所述预留标签二叉树的根节点是否满足处理条件的步骤;
若所述预留标签二叉树的根节点不满足所述预留处理条件,则在所述上限标签二叉树中,将满足上限处理条件的所述待处理I/O请求作为待筛选I/O请求;在所述权重标签二叉树中,处理满足权重处理条件的所述待筛选I/O请求,返回所述判断所述预留标签二叉树的根节点是否满足预留处理条件的步骤。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述基于所有的QoS值,确定所述待处理I/O请求集中所述待处理I/O请求的处理顺序,包括:
将所述待处理I/O请求集添加至预设请求队列中;
基于所述QoS值,将所述预设请求队列中满足出队条件的所述待处理I/O请求出队,并发送至对应的所述抽象客户端进行处理。
6.根据权利要求5所述的方法,其特征在于,所述获取处理I/O请求的各个抽象客户端的QoS模板,包括:
基于各个所述抽象客户端处理I/O请求的优先级确定所述QoS模板。
7.一种I/O请求处理系统,其特征在于,应用于对象存储网关,包括:
第一获取模块,用于获取处理I/O请求的各个抽象客户端的QoS模板;
第二获取模块,用于获取网络前端传输的待处理I/O请求集;
第一确定模块,用于对于所述待处理I/O请求集中的每一个待处理I/O请求,基于所述待处理I/O请求对应的抽象客户端确定所述待处理I/O请求的QoS值;
第二确定模块,用于基于所述QoS值,确定所述待处理I/O请求集中所述待处理I/O请求的处理顺序;
其中,所述第二确定模块包括:
第一排序子模块,用于按照从小到大的顺序,基于所述待处理I/O请求的大小,对所述待处理I/O请求进行排序;
第一确定子模块,用于按照排序结果,基于所述QoS值确定所述处理顺序。
8.一种I/O请求处理设备,其特征在于,应用于对象存储网关,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述I/O请求处理方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述I/O请求处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911025148.XA CN110795371B (zh) | 2019-10-25 | 2019-10-25 | 一种i/o请求处理方法、系统、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911025148.XA CN110795371B (zh) | 2019-10-25 | 2019-10-25 | 一种i/o请求处理方法、系统、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110795371A CN110795371A (zh) | 2020-02-14 |
CN110795371B true CN110795371B (zh) | 2021-06-29 |
Family
ID=69441313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911025148.XA Active CN110795371B (zh) | 2019-10-25 | 2019-10-25 | 一种i/o请求处理方法、系统、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795371B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115334011A (zh) * | 2022-08-09 | 2022-11-11 | 成都精灵云科技有限公司 | 一种服务质量控制方法、装置、服务器及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133100A (zh) * | 2017-04-26 | 2017-09-05 | 新华三技术有限公司 | 存储系统服务质量QoS控制方法和装置 |
CN108153494A (zh) * | 2017-12-25 | 2018-06-12 | 新华三技术有限公司 | 一种io请求处理方法及装置 |
CN108881348A (zh) * | 2017-05-15 | 2018-11-23 | 新华三技术有限公司 | 服务质量控制方法、装置和存储服务器 |
CN109104463A (zh) * | 2018-07-18 | 2018-12-28 | 南京云创大数据科技股份有限公司 | 一种基于时间标签的I/O调度QoS方法 |
CN109254726A (zh) * | 2018-08-16 | 2019-01-22 | 华为技术有限公司 | 分布式存储系统中服务质量保障方法、控制节点及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1165184C (zh) * | 2001-05-08 | 2004-09-01 | 华为技术有限公司 | 一种适合实现路由器服务质量的综合业务中的调度方法 |
US7007123B2 (en) * | 2002-03-28 | 2006-02-28 | Alcatel | Binary tree arbitration system and method using embedded logic structure for controlling flag direction in multi-level arbiter node |
US7283532B2 (en) * | 2002-10-25 | 2007-10-16 | Alcatel Lucent | Hierarchical scheduler architecture for use with an access node |
CN103336669B (zh) * | 2013-05-21 | 2015-12-02 | 华中科技大学 | 一种基于固态盘内部并行性的i/o调度方法及调度器 |
-
2019
- 2019-10-25 CN CN201911025148.XA patent/CN110795371B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133100A (zh) * | 2017-04-26 | 2017-09-05 | 新华三技术有限公司 | 存储系统服务质量QoS控制方法和装置 |
CN108881348A (zh) * | 2017-05-15 | 2018-11-23 | 新华三技术有限公司 | 服务质量控制方法、装置和存储服务器 |
CN108153494A (zh) * | 2017-12-25 | 2018-06-12 | 新华三技术有限公司 | 一种io请求处理方法及装置 |
CN109104463A (zh) * | 2018-07-18 | 2018-12-28 | 南京云创大数据科技股份有限公司 | 一种基于时间标签的I/O调度QoS方法 |
CN109254726A (zh) * | 2018-08-16 | 2019-01-22 | 华为技术有限公司 | 分布式存储系统中服务质量保障方法、控制节点及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110795371A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11210131B2 (en) | Method and apparatus for assigning computing task | |
CN108572970B (zh) | 一种结构化数据的处理方法和分布式处理系统 | |
CN110445632B (zh) | 一种预防客户端崩溃的方法和装置 | |
CN110838031A (zh) | 一种基于ABtest的数据运营方法和装置 | |
CN113079198B (zh) | 一种云平台接口协议转换的方法及装置 | |
CN110650209B (zh) | 实现负载均衡的方法和装置 | |
US20220309371A1 (en) | Automated quantum circuit job submission and status determination | |
CN109543154B (zh) | 表格数据的类型转换方法、装置、存储介质及电子设备 | |
CN107589990A (zh) | 一种基于线程池的数据通讯的方法及系统 | |
CN110795371B (zh) | 一种i/o请求处理方法、系统、设备及计算机存储介质 | |
CN109995595B (zh) | 一种rgw配额确定方法、系统、设备及计算机介质 | |
CN112667368A (zh) | 一种任务数据处理方法和装置 | |
US10936968B2 (en) | Ticket routing | |
CN103299298A (zh) | 处理业务的方法和系统 | |
CN109639555B (zh) | 链路层报文生成方法、链路层报文生成装置及终端设备 | |
CN114780228B (zh) | 一种混合云资源创建方法及系统 | |
CN113590666B (zh) | 一种ai集群中数据缓存方法、系统、设备及计算机介质 | |
CN107911315B (zh) | 报文分类方法及网络设备 | |
CN111049751A (zh) | 数据传输优化方法、装置、设备及可读存储介质 | |
CN105490956A (zh) | 一种网络请求处理方法及装置 | |
Goldsztajn et al. | Utility maximizing load balancing policies | |
CN104092735A (zh) | 一种基于二叉树的云计算数据访问方法及系统 | |
CN104125220A (zh) | 一种实现手机应用和后台数据库进行快速数据交换和响应的方法 | |
CN114564210A (zh) | 一种副本部署方法、装置、系统、电子设备及存储介质 | |
CN116016539B (zh) | 业务请求的处理方法、装置、服务器及存储介质 |
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 |