CN103631624A - 读写请求的处理方法和装置 - Google Patents
读写请求的处理方法和装置 Download PDFInfo
- Publication number
- CN103631624A CN103631624A CN201310632662.6A CN201310632662A CN103631624A CN 103631624 A CN103631624 A CN 103631624A CN 201310632662 A CN201310632662 A CN 201310632662A CN 103631624 A CN103631624 A CN 103631624A
- Authority
- CN
- China
- Prior art keywords
- request
- read
- write request
- write
- queue
- 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.)
- Pending
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供一种读写请求的处理方法和装置,该方法包括:根据当前下发时刻之前所下发的请求类别,按照读请求和写请求的下发比例确定所述当前下发时刻对应的待下发的请求类别;其中,所述请求类别包括读请求和写请求,所述写请求按照最大合并原则缓存在写请求队列内,所述读请求依据时间信息缓存在第一读请求队列内;根据所述待下发的请求类别,在所述待下发的请求类别对应的队列中确定第一请求;向访问目标下发所述第一请求。通过该读写请求的处理方法和装置,优化了读写请求的处理过程,以提高系统的工作效率。
Description
技术领域
本发明实施例涉及存储技术领域,尤其涉及一种读写请求的处理方法和装置。
背景技术
在计算机系统中,经常需要从磁盘、外围设备等访问目标中读取数据,或者写入数据,此时系统会向访问目标下发I/O(input/output,输入/输出)命令(也称为读写请求),以实现对访问目标的访问,例如写入数据或读出数据。常见的,访问目标以磁盘为例,在通过读写请求访问磁盘时,这些读写请求被缓存在一个请求队列中,系统通过该请求队列对各个读写请求的管理会对上述访问目标的访问时延和数据吞吐量产生很大的影响,因此合理的调度各个读写请求,对系统处理读写请求的效率至关重要。
对于写请求来说,一次写请求的数据吞吐量会影响该写请求的处理效率;而对于读请求来说,系统需要快速获得读取的数据,因此系统对读请求的时延要求较高;具体的,对于写请求来说,写请求能够快速处理的的前提是缓存中有空间可以及时接收各个写请求,因此,缓存中的各个写请求的数据吞吐量影响缓存中可接收写请求的空间,所以针对写请求,在处理时优先考虑的是写请求的数据吞吐量;而对于读请求来说,对于磁盘的返回时延要求较高,例如在获取媒体资源的场景中,读请求时延大,则使用户在观看媒体资源时出现卡顿等不利于观看的情况,因此,对于读请求,需要优先考虑读请求的时延问题。
而在现有技术中,通常采用cfq(Completely Fair Queuing,完全公平的排队)调度算法对各个读写请求进行调度。具体的,图1为现有技术中读写请求的调度方法。如图1所示,系统向每个进程单独创建了一个队列来管理该进程所产生的请求。而队列之间的调度使用了时间片来调度,具体的,按照时间片段的轮询顺序,若当前时间片段为进程1可使用,则处理进程1对应的队列中的读写请求,若当前时间片段不为进程1可使用,则查看当前时间片段是否为进程2可使用;以此类推,各个进程的各个队列中的读写请求以等概率下发,从而实现了进程间的公平。
但采用上述现有技术发现,针对各个进程的队列中的各个读写请求,都是等概率下发,但读请求和写请求对时延的要求不一样,即若某个进程的一个读请求对时延的要求较高,即使该读请求的时延已超过预设阈值,但当前时间片段不可下发该读请求,则该读请求只能继续等待时间片段的轮询,造成该读请求时延较高,影响了系统的工作效率。
发明内容
本发明实施例提供一种读写请求的处理方法和装置,用于优化读写请求的下发过程,以提高系统的工作效率。
第一方面,本发明实施例提供一种读写请求的处理方法,包括:
根据当前下发时刻之前所下发的请求类别,按照读请求和写请求的下发比例确定所述当前下发时刻对应的待下发的请求类别;其中,所述请求类别包括读请求和写请求,所述写请求按照最大合并原则缓存在写请求队列内,所述读请求依据时间信息缓存在第一读请求队列内;
根据所述待下发的请求类别,在所述待下发的请求类别对应的队列中确定第一请求;
向访问目标下发所述第一请求。
结合第一方面,在第一实施方式中,在所述根据当前时刻之前所下发的请求类别,确定所述当前下发时刻对应的待下发的请求类别之前,所述处理方法还包括:
当接收到新增写请求时,根据所述新增写请求携带的地址信息,对所述新增写请求按照最大合并原则进行处理,获得处理后的写请求;
将所述处理后的写请求缓存至写请求队列中;
当接收到新增读请求时,根据所述新增读请求携带的地址信息,将该新增读请求缓存至第二读请求队列,并且根据该新增读请求携带的时间信息,将该新增读请求缓存至所述第一读请求队列中。
结合第一方面第一实施方式,在第二实施方式中,所述对所述新增写请求按照最大合并原则进行处理,获得处理后的写请求,包括:
比较所述新增写请求携带的地址信息与所述写请求队列中各个写请求携带的地址信息;
若所述新增写请求携带的地址信息与所述写请求队列中至少一个写请求携带的地址信息之间存在连续性,则将所述新增写请求与所述至少一个写请求合并为所述处理后的写请求;
将所述处理后的写请求继续作为所述新增写请求,直至所述新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性;
若所述新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性,则将所述新增写请求作为所述处理后的写请求。
结合第一方面第二实施方式,在第三实施方式中,所述请求类别为写请求,则所述根据所述待下发的请求类别,在所述待下发的请求类别对应的队列中确定第一请求,包括:
获取所述访问目标的当前访问地址;
按照所述访问目标的地址访问顺序,在所述写请求队列中确定各个所述写请求滞后于所述访问目标的当前访问地址的滞后偏移量;
在各个所述写请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的写请求为第一请求。
结合第一方面第二实施方式,在第四实施方式中,所述请求类别为读请求,则所述根据所述待下发的请求类别,在所述待下发的请求类别对应的队列中确定第一请求,包括:
根据所述第一读请求队列中各个读请求的时间信息与时延阈值,若判断所述第一读请求队列中存在时延超时的读请求,则确定时延超时最大的读请求为所述第一请求;
若判断所述第一读请求队列中不存在时延超时的读请求;
则获取所述访问目标的当前访问地址;
按照所述访问目标的地址访问顺序,在所述第二读请求队列中确定各个所述读请求滞后于所述访问目标的当前访问地址的滞后偏移量;
在各个所述读请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的读请求为第一请求。
结合第一方面第三或第四实施方式,在第五实施方式中,在所述向访问目标下发所述第一请求之后,接收到所述访问目标返回的拒绝信息,则所述处理方法还包括:
若所述第一请求为写请求,则将所述第一请求作为所述新增写请求,进行所述对所述新增写请求进行处理,获得处理后的写请求的步骤,获得处理后的第一请求;
将所述处理后的第一请求缓存至所述写请求队列中;
若所述第一请求为读请求,则按照所述访问目标的地址访问顺序在所述第二读请求队列中确定地址信息滞后于所述第一请求的地址信息,且与所述第一请求的地址信息之间存在连续性的第一读请求;
将所述第一请求与所述第一读请求进行合并处理,获得处理后的第一请求;
将所述处理后的第一请求继续作为所述第一请求,直至所述第二读请求队列中不存在地址信息滞后于所述第一请求的地址信息,且与所述第一请求的地址信息之间存在连续性的读请求,并将所述处理后的第一请求分别缓存至所述第一读请求队列和第二读请求队列中,所述处理后的第一请求携带的时间信息包含第一下发顺序指示。
第二方面,本发明实施例提供一种读写请求的处理装置,包括:
第一确定模块,用于根据当前下发时刻之前所下发的请求类别,按照读请求和写请求的下发比例确定所述当前下发时刻对应的待下发的请求类别;其中,所述请求类别包括读请求和写请求,所述写请求按照最大合并原则缓存在写请求队列内,所述读请求依据时间信息缓存在第一读请求队列内;
第二确定模块,用于根据所述待下发的请求类别,在所述待下发的请求类别对应的队列中确定第一请求;
下发模块,用于向访问目标下发所述第一请求。
结合第二方面,在第一实施方式中,所述处理装置还包括:
处理模块,用于当接收到新增写请求时,根据所述新增写请求携带的地址信息,对所述新增写请求按照最大合并原则进行处理,获得处理后的写请求;
存储模块,用于将所述处理后的写请求缓存至写请求队列中;
所述存储模块还用于当接收到新增读请求时,根据所述新增读请求携带的地址信息,将该新增读请求缓存至第二读请求队列,并且根据该新增读请求携带的时间信息,将该新增读请求缓存至所述第一读请求队列中。
结合第二方面第一实施方式,在第二实施方式中,所述处理模块具体用于比较所述新增写请求携带的地址信息与所述写请求队列中各个写请求携带的地址信息;
若所述新增写请求携带的地址信息与所述写请求队列中至少一个写请求携带的地址信息之间存在连续性,则将所述新增写请求与所述至少一个写请求合并为所述处理后的写请求;
将所述处理后的写请求继续作为所述新增写请求,直至所述新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性;
若所述新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性,则将所述新增写请求作为所述处理后的写请求。
结合第二方面第二实施方式,在第三实施方式中,所述请求类别为写请求,则所述第二确定模块具体用于获取所述访问目标的当前访问地址;
按照所述访问目标的地址访问顺序,在所述写请求队列中确定各个所述写请求滞后于所述访问目标的当前访问地址的滞后偏移量;
在各个所述写请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的写请求为第一请求。
结合第二方面第二实施方式,在第四实施方式中,所述请求类别为读请求,则所述第二确定模块具体用于根据所述第一读请求队列中各个读请求的时间信息与时延阈值,若判断所述第一读请求队列中存在时延超时的读请求,则确定时延超时最大的读请求为所述第一请求;
若判断所述第一读请求队列中不存在时延超时的读请求;
则获取所述访问目标的当前访问地址;
按照所述访问目标的地址访问顺序,在所述第二读请求队列中确定各个所述读请求滞后于所述访问目标的当前访问地址的滞后偏移量;
在各个所述读请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的读请求为第一请求。
结合第二方面第三或第四实施方式,在第五实施方式中,在所述向访问目标下发所述第一请求之后,接收到所述访问目标返回的拒绝信息,则所述处理模块还用于若所述第一请求为写请求,则将所述第一请求作为所述新增写请求,进行所述对所述新增写请求进行处理,获得处理后的写请求的步骤,获得处理后的第一请求;
将所述处理后的第一请求缓存至所述写请求队列中;
若所述第一请求为读请求,则按照所述访问目标的地址访问顺序在所述第二读请求队列中确定地址信息滞后于所述第一请求的地址信息,且与所述第一请求的地址信息之间存在连续性的第一读请求;
将所述第一请求与所述第一读请求进行合并处理,获得处理后的第一请求;
将所述处理后的第一请求继续作为所述第一请求,直至所述第二读请求队列中不存在地址信息滞后于所述第一请求的地址信息,且与所述第一请求的地址信息之间存在连续性的读请求,并将所述处理后的第一请求分别缓存至所述第一读请求队列和第二读请求队列中,所述处理后的第一请求携带的时间信息包含第一下发顺序指示。
本发明实施例提供的读写请求的处理方法和装置,在处理读写请求时,会结合当前时刻之前所下发的请求类别确定当前下发时刻对应的待下发的请求类别,考虑到读请求和写请求的不同特性,则根据确定待下发的请求类别,实现了读请求和写请求的分开下发,符合不同类别请求的不同特性,便于高效率的处理各个请求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中读写请求的调度方法;
图2为本发明读写请求的处理方法实施例一的流程图;
图3为本发明读写请求的处理方法实施例二的流程图;
图4为本发明实施例二中写请求的缓存方法;
图5为本发明读写请求的处理方法实施例三的流程图;
图6为本发明读写请求的处理装置实施例一的结构图;
图7为本发明读写请求的处理装置实施例二的结构图;
图8为本发明读写请求的处理装置实施例三的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明读写请求的处理方法实施例一的流程图。如图2所示,本实施例的执行主体为读写请求的处理装置,该读写请求的处理装置可以采用硬件和/或软件的方式实现,优选的,该读写请求的处理装置可以集成在计算机系统中的处理器上,具体的,该处理方法包括:
S101、根据当前时刻之前所下发的请求类别,按照读请求和写请求的下发比例确定当前下发时刻对应的待下发的请求类别。
结合读请求和写请求的不同特性可知,读请求对时延要求比写请求高,因此为了保证读请求的时延不超过预设阈值,则预设读请求和写请求的下发比例,例如可以预设下发两个读请求之后下发1个写请求,以保证读请求可被快速的处理,不造成时延。因此,本实施例在下发时刻到来时,并不是针对所有的请求依次进行下发,而是将读请求和写请求分开处理,根据当前下发时刻之前所下发的请求类别,以确定当前下发时刻应该下发的请求类别。其中,请求类别包括读请求和写请求,写请求按照最大合并原则缓存在写请求队列内,以使单次下发写请求具有较大的数据吞吐量,提升系统的处理效率;而读请求缓存在第一读请求队列中,同时该读请求依据时间信息缓存在第二读请求队列内,以便处理装置根据该第二读请求队列对各个读请求,进行有效的调度,避免读请求的时延超时。
S102、根据待下发的请求类别,在该待下发的请求类别对应的队列中确定第一请求。
当通过S101确定了待下发的请求类别,例如确定了待下发的请求类别为写请求,则在缓存写请求的队列中确定待下发的写请求;若确定了待下发的请求类别为读请求,则在缓存写请求的队列中确定待下发的读请求。其中缓存请求的各个队列可以使用多种方式实现,如一个表格、数据库和堆栈等,且各个队列还可继续细分为多个子队列,各个子队列中缓存了各个请求携带的不同信息,便于管理下发。例如上述第一读请求队列可以看作是读请求对应的读请求队列中的子队列,该子队列存储了读请求的时间信息,而读请求队列中的其他子队列可以存储该读请求的其他信息,例如携带的地址信息等,便于处理装置在下发请求时,可综合各个请求的各个信息,确定下发利于提高系统处理效率的请求。
S103、向访问目标下发第一请求。
上述访问目标可以为常见的硬盘、外部设备等系统可以进行读和/或写的模块、设备等。例如系统需要访问一个硬盘,则针对该硬盘,通过S101和S102确定的请求后,向该硬盘下发。
本实施例中,在处理读写请求时,会结合当前时刻之前所下发的请求类别确定当前下发时刻对应的待下发的请求类别,考虑到读请求和写请求的不同特性,则根据确定待下发的请求类别,实现了读请求和写请求的分开下发,符合不同类别请求的不同特性,便于高效率的处理各个请求。
图3为本发明读写请求的处理方法实施例二的流程图。如图3所示,本实施例是在图2所示的实施例的基础上,进一步对读写请求的处理方法做出详细的描述,具体的,该方法包括:
S201、接收新增的请求,并将各个请求按照请求类别缓存至对应的队列中。
系统中各个进程产生的各个请求被下发至访问目标之前,读写请求的处理装置接收各个请求,并缓存至对应的队列中。
具体的,当接收到新增写请求时,根据所述新增写请求携带的地址信息,对所述新增写请求按照最大合并原则进行处理,获得处理后的写请求;随后将所述处理后的写请求缓存至写请求队列中;图4为本发明实施例二中写请求的缓存方法。如图4所示,该缓存方法包括:
C1、比较新增写请求携带的地址信息与写请求队列中各个写请求携带的地址信息,判断新增写请求携带的地址信息是否与写请求队列中至少一个写请求携带的地址信息之间存在连续性;若是,则执行C2;若否,则执行C4。
C2、将新增写请求与至少一个写请求合并为所述处理后的写请求。
若所述新增写请求携带的地址信息与所述写请求队列中至少一个写请求携带的地址信息之间存在连续性,例如新增写请求q1携带的地址信息指示向访问目标中的地址01至地址02对应的存储空间中写入数据;而队列中存在另一个写请求q2,该写请求q2携带的地址信息指示向访问目标中的地址02至地址03对应的存储空间中写入数据,即q1的结束地址为地址02,而q2的起始地址为地址02,则q1和q2之间的地址信息具有连续性,则为了实现单次下发的写请求拥有较大的数据吞吐量,节省系统对请求的处理时间,则可将q1和q2合并为处理后的写请求Q1,合并了写请求之后,便可通过一次下发便可写入较多的数据,例如q1需写入50kb的数据,而q2需要写入50kb的数据,则未合并之前,系统向访问目标写入100kb的数据需要进行两次的写请求下发,且写请求下发至访问目标的过程也会造成一定的时间开销,从而影响了系统的数据吞吐性能,而将q1和q2合并后,通过一次下发过程便可写入100kb的数据,节省了一次下发过程造成的时间开销,利于提升系统的工作性能。
C3、将处理后的写请求继续作为所述新增写请求,返回执行C1。
例如上述q1和q2合并得到的Q1,该Q1携带的地址信息则为地址01至地址03,此时队列中的另一个写请求q3携带的地址信息则为地址03至地址07;该q3与q1之间的地址信息不存在连续性,但该q3与Q1之间的地址信息存在连续性,则将处理后的写请求继续作为所述新增写请求,依次类推,直至所述新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性,即在某次合并后,通过C1判断新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性后,执行C3。
C4、将新增写请求作为处理后的写请求,并将该处理后的写请求缓存至写请求队列中。
即新增写请求携带的地址信息与写请求队列中任意一个写请求携带的地址信息之间不存在连续性;另外,对读请求来说,当接收到新增读请求时,根据新增读请求携带的地址信息,将该新增读请求缓存至第二读请求队列,并且根据该新增读请求携带的时间信息,将该新增读请求缓存至第一读请求队列中。
S202、根据当前下发时刻之前所下发的请求类别,判断当前下发时刻对应的待下发的请求类别。
具体的,若是写请求,继续S203;若是读请求,继续S206。
S203、若下发的请求类别为写请求,获取访问目标的当前访问地址。
S204、按照访问目标的地址访问顺序,在写请求队列中确定各个写请求滞后于该访问目标的当前访问地址的滞后偏移量。
由于各类访问目标都有确定的地址访问顺序,以硬盘为例,系统通过磁头访问硬盘,该磁头沿磁盘的径向移动,磁盘进行转动,因此硬盘的地址访问顺序与磁盘的转动方向一致,例如某个磁道代表的存储空间的地址为01至09,则系统在访问该磁盘时,按照磁盘的转动方向,系统通过磁头依次访问01、02……09;若当前系统通过磁头访问了02,而下一个请求指示访问01,则系统需要等待该磁道依次转过03、04……09之后,磁道上的地址01的位置再次与磁头相遇,才可访问地址01。因此为了提高访问效率,通常在依次下发请求时,会执行S203,依据访问目标的地址访问顺序,随后执行S204,选择合适的请求下发。例如下发的请求1访问了05至06,而待下发的请求2需要访问07至08,请求3需要访问01至03,而按照磁盘的转动方向,磁头将与地址07的位置相遇,而请求3中的地址01的位置需要等待磁盘转动一周后才与磁头再次相遇,由此可知,请求3相对于请求2来说,和访问目标的当前访问地址之间的滞后偏移量最大。
S205、在各个写请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的写请求为第一请求。
为了提成请求的处理效率,确定最小滞后偏移量对应的写请求为第一请求,即在上述例子中,确定请求2为第一请求,随后执行S211。
S206、若待下发的请求类别为读请求,根据所述第一读请求队列中各个读请求的时间信息与时延阈值,判断第一读请求队列中是否存在时延超时的读请求;若是,则执行S207;若否,执行S208.
由于第一读请求队列中各个读请求携带了时间信息,则根据该时间信息和预设的时延阈值比较,以判断读请求是否超时,若存在超时的读请求,则优先处理该读请求,例如用户观看视频时,若读请求超时,则用户会发现视频卡顿,则为了使用户观看流畅,则优先处理超时的读请求,即执行S207。
S207、确定时延超时最大的读请求为第一请求。
可以理解的,第一读请求队列中存在两个超时的读请求,读请求1的超时大于读请求2,则将读请求1作为第一请求处理后,会继续将读请求2作为第一请求继续优先处理,即执行S207之后直接执行S211。
S208、获取所述访问目标的当前访问地址;
S209、按照所述访问目标的地址访问顺序,在第二读请求队列中确定各个读请求滞后于所述访问目标的当前访问地址的滞后偏移量。
S210、在各个读请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的读请求为第一请求。
为了访问效率的提升,读请求的下发与写请求的下发类似,具体可以参照上述S203至S205。
S211、向访问目标下发第一请求。
需要补充的是,上述队列可以采用堆栈、FIFO(First Input First Output)队列来实现,具有先入先出或先入后出等规则,则在缓存请求时,需要按照一定的顺序来排列,以符合队列的排序规则。具体的,在缓存写请求时,根据写请求携带的地址信息,将写请求按照地址顺序排列缓存至写请求队列中;而缓存读请求时,根据读请求携带的地址信息,将读请求按照地址顺序缓存至第一读请求队列中,并根据读请求携带的时间信息,将读请求按照时间顺序缓存至第二读请求队列中;其中,上述地址顺序与访问目标的地址访问顺序相对应。则在确定并下发第一请求时,便可按照各个队列的排列规则,依次下发;另外,根据S207在第一读请求队列中或根据S210在第二读请求队列中确定了第一请求并下发该第一请求后,在相应的另一个队列中的该第一请求则被移除;例如根据S207在第一读请求队列中将请求1下发,则第二读请求队列中的请求1则需要移除,以保证第一读请求队列和第二读请求队列的一致性。
本实施例中,通过各个队列管理读写请求,且考虑到写请求的特性,可以按照最大合并规则将队列中的写请求合并,以实现写请求的最大数据吞吐量;而针对读请求,分别设置两个队列,优先考虑第一队列中各个读请求的时延状况,选择下发对应的读请求,以避免读请求的延时,影响系统的工作性能;另外在确定下发第一请求时,也考虑到访问目标的地址访问顺序,则根据读写请求与访问目标的当前访问地址之间的滞后偏移量,确定最小滞后偏移量对应的读请求为第一请求,符合访问目标的地址访问顺序,利于提高对访问目标的访问效率。
图5为本发明读写请求的处理方法实施例三的流程图。如图5所示,本实施例是在前述实施例一和实施例二的基础上,进一步补充说明,具体的,当访问目标可接受的请求数已达到极限时,若第一请求被下发至该访问目标,则在向访问目标下发所述第一请求之后,会接收到访问目标返回的拒绝信息则该处理方法还包括:
S301、判断第一请求的请求类别。若第一请求为写请求,则执行S302;若第一请求为读请求,则执行S304。
S302、将第一请求作为新增写请求,进行对所述新增写请求进行处理,获得处理后的写请求的步骤,获得处理后的第一请求;
所述新增写请求进行处理,获得处理后的写请求的步骤,即为上述C1、C2、C3和C4各个步骤。
S303、将处理后的第一请求缓存至写请求队列中。
可参考前述实施例二,队列采用表格形式时,处理后的第一请求可按照表格的格式排列缓存,若采用堆栈、FIFO队列等,则按照相应的排列规则排列。
S304、按照访问目标的地址访问顺序在第二读请求队列中确定地址信息滞后于第一请求的地址信息,且与第一请求的地址信息之间存在连续性的第一读请求。
举例来说,第一请求的地址信息为地址03至地址05,则按照访问目标的地址访问顺序,而在第二读请求队列中,第一读请求的地址信息为地址05至地址08,则第一读请求的地址信息滞后于地址03至地址05,且由于第一请求的结束地址为地址05,而第一读请求的起始地址为05,则第一请求与该第一读请求之间具有连续性。
S305、将第一请求与第一读请求进行合并处理,获得处理后的第一请求。
S306、将处理后的第一请求继续作为上述第一请求,直至第二读请求队列中不存在地址信息滞后于所述第一请求的地址信息,且与所述第一请求的地址信息之间存在连续性的读请求。
也就是说,上述S304和S306之间为循环过程,即执行S305之后获得处理后的第一请求,按照访问目标的地址访问顺序,在第二读请求队列中仍然存在地址信息滞后于处理后的第一请求的地址信息,且与处理后的第一请求的地址信息之间存在连续性的第一读请求,则依照S306,将处理后的第一请求作为第一请求,返回执行S304和S305,直至第二读请求队列中不存在地址信息滞后于所述第一请求的地址信息,且与第一请求的地址信息之间存在连续性的读请求。另外,由于第一读请求队列和第二读请求队列中的所述第一读请求一致,则上述合并过程中的第一读请求指代第一读请求队列和第二读请求队列中相同的第一读请求。
S307、将处理后的第一请求分别缓存至第一读请求队列和第二读请求队列中。
参考S303,与写请求类似,队列采用表格形式时,处理后的第一请求可按照表格的格式排列缓存,若采用堆栈、FIFO队列等,则按照相应的排列规则排列;而且此时处理后的第一请求在缓存至第一读请求队列中时,处理后的第一请求携带的时间信息包含第一下发顺序指示,即在可以下发至访问目标时,即再次执行前述实施例一和实施例二时,由于第一读请求队列中的处理后的第一请求携带的时间信息包含了第一下发顺序指示,则读写请求的处理装置最先下发该处理后的第一请求。
由于读请求对时延要求较高,则在本实施例中,由于访问目标拒绝了作为第一请求的读请求,则在第一请求下发至访问目标至访问目标返回拒绝信息的过程中,第一请求队列和第二请求队列中缓存了新增读请求,则通过合并处理,增大读请求的数据吞吐量以减少读请求的个数,从而提升读请求的处理效率,避免队列中的其他读请求的时延超时;举例来说,访问目标拒绝了作为第一请求的读请求,第一读请求队列和第二读请求队列中分别已经积压了相同的31个读请求,则当第一请求被拒绝后,两个队列中积压了32个读请求,若将该32个读请求合并为16个读请求,则可节省请求下发时的时间开销;例如32个读请求需要下发32次,每一次下发需要一定的时间开销,而合并为16个读请求后,则仅需要下发16次,节省了16次下发过程的时间开销,可以有效的保证队列中各个读请求的时延不超时。且在合并处理时,按照访问目标的地址访问顺序,在第二读请求队列中确定地址信息滞后于第一请求的地址信息的第一读请求,符合访问目标的地址访问顺序,利于保证队列中的读请求的时延不超时。
本实施例中,考虑了访问目标的接收请求的极限,则将请求重新缓存至队列中时,分别考虑到读写请求的不同特性,将写请求进行合并处理,以通过提升写请求的数据吞吐量来提高写请求的处理效率;而在处理读请求时,将读请求与队列中滞后于该读请求的请求合并,节省了读请求的下发过程造成的时间开销,且符合访问目标的地址访问顺序,利于保证队列中的读请求的时延不超时,有效的提高了系统处理请求的性能。
图6为本发明读写请求的处理装置实施例一的结构图。如图6所示,该读写请求的处理装置包括:
第一确定模块41,用于根据当前下发时刻之前所下发的请求类别,按照读请求和写请求的下发比例确定所述当前下发时刻对应的待下发的请求类别;其中,所述请求类别包括读请求和写请求,所述写请求按照最大合并原则缓存在写请求队列内,所述读请求依据时间信息缓存在第一读请求队列内;
第二确定模块42,用于根据所述待下发的请求类别,在所述待下发的请求类别对应的队列中确定第一请求;
下发模块43,用于向访问目标下发所述第一请求。
本实施例中,读写请求的处理装置在处理读写请求时,会结合当前时刻之前所下发的请求类别确定当前下发时刻对应的待下发的请求类别,考虑到读请求和写请求的不同特性,则根据确定待下发的请求类别,实现了读请求和写请求的分开下发,符合不同类别请求的不同特性,便于高效率的处理各个请求。
图7为本发明读写请求的处理装置实施例二的结构图。如图7所示,本实施例是在图6所示的实施例的基础上做出进一步描述,具体的,读写请求的处理装置还包括:
处理模块44,用于当接收到新增写请求时,根据所述新增写请求携带的地址信息,对所述新增写请求按照最大合并原则进行处理,获得处理后的写请求;
存储模块45,用于将所述处理后的写请求缓存至写请求队列中;
上述存储模块45还用于当接收到新增读请求时,根据所述新增读请求携带的地址信息,将该新增读请求缓存至第二读请求队列,并且根据该新增读请求携带的时间信息,将该新增读请求缓存至所述第一读请求队列中。
进一步的,上述处理模块44具体用于比较所述新增写请求携带的地址信息与所述写请求队列中各个写请求携带的地址信息;
若所述新增写请求携带的地址信息与所述写请求队列中至少一个写请求携带的地址信息之间存在连续性,则将所述新增写请求与所述至少一个写请求合并为所述处理后的写请求;
将所述处理后的写请求继续作为所述新增写请求,直至所述新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性;
若所述新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性,则将所述新增写请求作为所述处理后的写请求。
进一步的,当请求类别为写请求,则上述第二确定模块42具体用于获取所述访问目标的当前访问地址;
按照所述访问目标的地址访问顺序,在所述写请求队列中确定各个所述写请求滞后于所述访问目标的当前访问地址的滞后偏移量;
在各个所述写请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的写请求为第一请求。
进一步的,当请求类别为读请求,则第二确定模块42具体用于根据所述第一读请求队列中各个读请求的时间信息与时延阈值,若判断所述第一读请求队列中存在时延超时的读请求,则确定时延超时最大的读请求为所述第一请求;
若判断所述第一读请求队列中不存在时延超时的读请求;
则获取所述访问目标的当前访问地址;
按照所述访问目标的地址访问顺序,在所述第二读请求队列中确定各个所述读请求滞后于所述访问目标的当前访问地址的滞后偏移量;
在各个所述读请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的读请求为第一请求。
进一步的,在所述向访问目标下发所述第一请求之后,接收到所述访问目标返回的拒绝信息,则处理模块44还用于若所述第一请求为写请求,则将所述第一请求作为所述新增写请求,进行所述对所述新增写请求进行处理,获得处理后的写请求的步骤,获得处理后的第一请求;
将所述处理后的第一请求缓存至所述写请求队列中;
若所述第一请求为读请求,则按照所述访问目标的地址访问顺序在所述第二读请求队列中确定地址信息滞后于所述第一请求的地址信息,且与所述第一请求的地址信息之间存在连续性的第一读请求;
将所述第一请求与所述第一读请求进行合并处理,获得处理后的第一请求;
将所述处理后的第一请求继续作为所述第一请求,直至所述第二读请求队列中不存在地址信息滞后于所述第一请求的地址信息,且与所述第一请求的地址信息之间存在连续性的读请求,并将所述处理后的第一请求分别缓存至所述第一读请求队列和第二读请求队列中,所述处理后的第一请求携带的时间信息包含第一下发顺序指示。
本实施例中,通过各个队列管理读写请求,且考虑到写请求的特性,可以按照最大合并规则将队列中的写请求合并,以实现写请求的最大数据吞吐量;而针对读请求,分别设置两个队列,优先考虑第一队列中各个读请求的时延状况,选择下发对应的读请求,以避免读请求的延时,影响系统的工作性能;另外在确定下发第一请求时,也考虑到访问目标的地址访问顺序,则根据读写请求与访问目标的当前访问地址之间的滞后偏移量,确定最小滞后偏移量对应的读请求为第一请求,符合访问目标的地址访问顺序,利于提高对访问目标的访问效率;另外本实施例中,还考虑了访问目标的接收请求的极限,则将请求重新缓存至队列中时,分别考虑到读写请求的不同特性,将写请求进行合并处理,以通过提升写请求的数据吞吐量来提高写请求的处理效率;而在处理读请求时,将读请求与队列中滞后于该读请求的请求合并,节省了读请求的下发过程造成的时间开销,且符合访问目标的地址访问顺序,利于保证队列中的读请求的时延不超时,有效的提高了系统处理请求的性能。
需要说明的是,上述装置实施例中的各个模块对应上述各个方法实施例中的各个步骤,在此不再赘述。
图8为本发明读写请求的处理装置实施例三的结构图。如图8所示,该装置包括:
处理器51,用于根据当前下发时刻之前所下发的请求类别,按照读请求和写请求的下发比例确定所述当前下发时刻对应的待下发的请求类别;其中,所述请求类别包括读请求和写请求,所述写请求按照最大合并原则缓存在写请求队列内,所述读请求依据时间信息缓存在第一读请求队列内;
上述处理器51还用于根据所述待下发的请求类别,在所述待下发的请求类别对应的队列中确定第一请求;
上述处理器51还用于向访问目标下发所述第一请求。
进一步的,上述处理器51还用于当接收到新增写请求时,根据所述新增写请求携带的地址信息,对所述新增写请求按照最大合并原则进行处理,获得处理后的写请求;
进一步的,上述读写请求的处理装置还包括存储器52,用于将所述处理后的写请求缓存至写请求队列中;
上述存储器52还用于当接收到新增读请求时,根据所述新增读请求携带的地址信息,将该新增读请求缓存至第二读请求队列,并且根据该新增读请求携带的时间信息,将该新增读请求缓存至所述第一读请求队列中。
进一步的,上述处理器51具体用于比较所述新增写请求携带的地址信息与所述写请求队列中各个写请求携带的地址信息;
若所述新增写请求携带的地址信息与所述写请求队列中至少一个写请求携带的地址信息之间存在连续性,则将所述新增写请求与所述至少一个写请求合并为所述处理后的写请求;
将所述处理后的写请求继续作为所述新增写请求,直至所述新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性;
若所述新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性,则将所述新增写请求作为所述处理后的写请求。
当请求类别为写请求,则处理器51具体用于获取所述访问目标的当前访问地址;
按照所述访问目标的地址访问顺序,在所述写请求队列中确定各个所述写请求滞后于所述访问目标的当前访问地址的滞后偏移量;
在各个所述写请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的写请求为第一请求。
当请求类别为读请求,则处理器51具体用于根据所述第一读请求队列中各个读请求的时间信息与时延阈值,若判断所述第一读请求队列中存在时延超时的读请求,则确定时延超时最大的读请求为所述第一请求;
若判断所述第一读请求队列中不存在时延超时的读请求;
则获取所述访问目标的当前访问地址;
按照所述访问目标的地址访问顺序,在所述第二读请求队列中确定各个所述读请求滞后于所述访问目标的当前访问地址的滞后偏移量;
在各个所述读请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的读请求为第一请求。
进一步的,在所述向访问目标下发所述第一请求之后,接收到所述访问目标返回的拒绝信息,则处理器51还用于若所述第一请求为写请求,则将所述第一请求作为所述新增写请求,进行所述对所述新增写请求进行处理,获得处理后的写请求的步骤,获得处理后的第一请求;
将所述处理后的第一请求缓存至所述写请求队列中;
若所述第一请求为读请求,则按照所述访问目标的地址访问顺序在所述第二读请求队列中确定地址信息滞后于所述第一请求的地址信息,且与所述第一请求的地址信息之间存在连续性的第一读请求;
将所述第一请求与所述第一读请求进行合并处理,获得处理后的第一请求;
将所述处理后的第一请求继续作为所述第一请求,直至所述第二读请求队列中不存在地址信息滞后于所述第一请求的地址信息,且与所述第一请求的地址信息之间存在连续性的读请求,并将所述处理后的第一请求分别缓存至所述第一读请求队列和第二读请求队列中,所述处理后的第一请求携带的时间信息包含第一下发顺序指示。
本实施例对应上述各个方法实施例,其中处理器和存储器用于执行上述各个方法实施例中的各个步骤,在此不再赘述。
本实施例中,通过各个队列管理读写请求,且考虑到写请求的特性,可以按照最大合并规则将队列中的写请求合并,以实现写请求的最大数据吞吐量;而针对读请求,分别设置两个队列,优先考虑第一队列中各个读请求的时延状况,选择下发对应的读请求,以避免读请求的延时,影响系统的工作性能;另外在确定下发第一请求时,也考虑到访问目标的地址访问顺序,则根据读写请求与访问目标的当前访问地址之间的滞后偏移量,确定最小滞后偏移量对应的读请求为第一请求,符合访问目标的地址访问顺序,利于提高对访问目标的访问效率;另外本实施例中,还考虑了访问目标的接收请求的极限,则将请求重新缓存至队列中时,分别考虑到读写请求的不同特性,将写请求进行合并处理,以通过提升写请求的数据吞吐量来提高写请求的处理效率;而在处理读请求时,将读请求与队列中滞后于该读请求的请求合并,节省了读请求的下发过程造成的时间开销,且符合访问目标的地址访问顺序,利于保证队列中的读请求的时延不超时,有效的提高了系统处理请求的性能。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种读写请求的处理方法,其特征在于,包括:
根据当前下发时刻之前所下发的请求类别,按照读请求和写请求的下发比例确定所述当前下发时刻对应的待下发的请求类别;其中,所述请求类别包括读请求和写请求,所述写请求按照最大合并原则缓存在写请求队列内,所述读请求依据时间信息缓存在第一读请求队列内;
根据所述待下发的请求类别,在所述待下发的请求类别对应的队列中确定第一请求;
向访问目标下发所述第一请求。
2.根据权利要求1所述的处理方法,在所述根据当前时刻之前所下发的请求类别,确定所述当前下发时刻对应的待下发的请求类别之前,所述处理方法还包括:
当接收到新增写请求时,根据所述新增写请求携带的地址信息,对所述新增写请求按照最大合并原则进行处理,获得处理后的写请求;
将所述处理后的写请求缓存至写请求队列中;
当接收到新增读请求时,根据所述新增读请求携带的地址信息,将该新增读请求缓存至第二读请求队列,并且根据该新增读请求携带的时间信息,将该新增读请求缓存至所述第一读请求队列中。
3.根据权利要求2所述的处理方法,其特征在于,所述对所述新增写请求按照最大合并原则进行处理,获得处理后的写请求,包括:
比较所述新增写请求携带的地址信息与所述写请求队列中各个写请求携带的地址信息;
若所述新增写请求携带的地址信息与所述写请求队列中至少一个写请求携带的地址信息之间存在连续性,则将所述新增写请求与所述至少一个写请求合并为所述处理后的写请求;
将所述处理后的写请求继续作为所述新增写请求,直至所述新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性;
若所述新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性,则将所述新增写请求作为所述处理后的写请求。
4.根据权利要求3所述的处理方法,其特征在于,所述请求类别为写请求,则所述根据所述待下发的请求类别,在所述待下发的请求类别对应的队列中确定第一请求,包括:
获取所述访问目标的当前访问地址;
按照所述访问目标的地址访问顺序,在所述写请求队列中确定各个所述写请求滞后于所述访问目标的当前访问地址的滞后偏移量;
在各个所述写请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的写请求为第一请求。
5.根据权利要求3所述的处理方法,其特征在于,所述请求类别为读请求,则所述根据所述待下发的请求类别,在所述待下发的请求类别对应的队列中确定第一请求,包括:
根据所述第一读请求队列中各个读请求的时间信息与时延阈值,若判断所述第一读请求队列中存在时延超时的读请求,则确定时延超时最大的读请求为所述第一请求;
若判断所述第一读请求队列中不存在时延超时的读请求;
则获取所述访问目标的当前访问地址;
按照所述访问目标的地址访问顺序,在所述第二读请求队列中确定各个所述读请求滞后于所述访问目标的当前访问地址的滞后偏移量;
在各个所述读请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的读请求为第一请求。
6.根据权利要求4或5所述的处理方法,其特征在于,在所述向访问目标下发所述第一请求之后,接收到所述访问目标返回的拒绝信息,则所述处理方法还包括:
若所述第一请求为写请求,则将所述第一请求作为所述新增写请求,进行所述对所述新增写请求进行处理,获得处理后的写请求的步骤,获得处理后的第一请求;
将所述处理后的第一请求缓存至所述写请求队列中;
若所述第一请求为读请求,则按照所述访问目标的地址访问顺序在所述第二读请求队列中确定地址信息滞后于所述第一请求的地址信息,且与所述第一请求的地址信息之间存在连续性的第一读请求;
将所述第一请求与所述第一读请求进行合并处理,获得处理后的第一请求;
将所述处理后的第一请求继续作为所述第一请求,直至所述第二读请求队列中不存在地址信息滞后于所述第一请求的地址信息,且与所述第一请求的地址信息之间存在连续性的读请求,并将所述处理后的第一请求分别缓存至所述第一读请求队列和第二读请求队列中,所述处理后的第一请求携带的时间信息包含第一下发顺序指示。
7.一种读写请求的处理装置,其特征在于,包括:
第一确定模块,用于根据当前下发时刻之前所下发的请求类别,按照读请求和写请求的下发比例确定所述当前下发时刻对应的待下发的请求类别;其中,所述请求类别包括读请求和写请求,所述写请求按照最大合并原则缓存在写请求队列内,所述读请求依据时间信息缓存在第一读请求队列内;
第二确定模块,用于根据所述待下发的请求类别,在所述待下发的请求类别对应的队列中确定第一请求;
下发模块,用于向访问目标下发所述第一请求。
8.根据权利要求7所述的处理装置,所述处理装置还包括:
处理模块,用于当接收到新增写请求时,根据所述新增写请求携带的地址信息,对所述新增写请求按照最大合并原则进行处理,获得处理后的写请求;
存储模块,用于将所述处理后的写请求缓存至写请求队列中;
所述存储模块还用于当接收到新增读请求时,根据所述新增读请求携带的地址信息,将该新增读请求缓存至第二读请求队列,并且根据该新增读请求携带的时间信息,将该新增读请求缓存至所述第一读请求队列中。
9.根据权利要求8所述的处理装置,其特征在于,所述处理模块具体用于比较所述新增写请求携带的地址信息与所述写请求队列中各个写请求携带的地址信息;
若所述新增写请求携带的地址信息与所述写请求队列中至少一个写请求携带的地址信息之间存在连续性,则将所述新增写请求与所述至少一个写请求合并为所述处理后的写请求;
将所述处理后的写请求继续作为所述新增写请求,直至所述新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性;
若所述新增写请求携带的地址信息与所述写请求队列中任意一个写请求携带的地址信息之间不存在连续性,则将所述新增写请求作为所述处理后的写请求。
10.根据权利要求9所述的处理装置,其特征在于,所述请求类别为写请求,则所述第二确定模块具体用于获取所述访问目标的当前访问地址;
按照所述访问目标的地址访问顺序,在所述写请求队列中确定各个所述写请求滞后于所述访问目标的当前访问地址的滞后偏移量;
在各个所述写请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的写请求为第一请求。
11.根据权利要求9所述的处理装置,其特征在于,所述请求类别为读请求,则所述第二确定模块具体用于根据所述第一读请求队列中各个读请求的时间信息与时延阈值,若判断所述第一读请求队列中存在时延超时的读请求,则确定时延超时最大的读请求为所述第一请求;
若判断所述第一读请求队列中不存在时延超时的读请求;
则获取所述访问目标的当前访问地址;
按照所述访问目标的地址访问顺序,在所述第二读请求队列中确定各个所述读请求滞后于所述访问目标的当前访问地址的滞后偏移量;
在各个所述读请求对应的各个滞后偏移量中,确定最小滞后偏移量对应的读请求为第一请求。
12.根据权利要求10或11所述的处理装置,其特征在于,在所述向访问目标下发所述第一请求之后,接收到所述访问目标返回的拒绝信息,则所述处理模块还用于若所述第一请求为写请求,则将所述第一请求作为所述新增写请求,进行所述对所述新增写请求进行处理,获得处理后的写请求的步骤,获得处理后的第一请求;
将所述处理后的第一请求缓存至所述写请求队列中;
若所述第一请求为读请求,则按照所述访问目标的地址访问顺序在所述第二读请求队列中确定地址信息滞后于所述第一请求的地址信息,且与所述第一请求的地址信息之间存在连续性的第一读请求;
将所述第一请求与所述第一读请求进行合并处理,获得处理后的第一请求;
将所述处理后的第一请求继续作为所述第一请求,直至所述第二读请求队列中不存在地址信息滞后于所述第一请求的地址信息,且与所述第一请求的地址信息之间存在连续性的读请求,并将所述处理后的第一请求分别缓存至所述第一读请求队列和第二读请求队列中,所述处理后的第一请求携带的时间信息包含第一下发顺序指示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310632662.6A CN103631624A (zh) | 2013-11-29 | 2013-11-29 | 读写请求的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310632662.6A CN103631624A (zh) | 2013-11-29 | 2013-11-29 | 读写请求的处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103631624A true CN103631624A (zh) | 2014-03-12 |
Family
ID=50212721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310632662.6A Pending CN103631624A (zh) | 2013-11-29 | 2013-11-29 | 读写请求的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103631624A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320460A (zh) * | 2014-06-27 | 2016-02-10 | 中兴通讯股份有限公司 | 一种写性能优化方法、装置及存储系统 |
CN105528315A (zh) * | 2014-09-28 | 2016-04-27 | 华为数字技术(成都)有限公司 | 一种硬盘io超时控制方法及装置 |
CN106469174A (zh) * | 2015-08-19 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 数据读取方法和装置 |
CN106776019A (zh) * | 2016-12-01 | 2017-05-31 | 成都华为技术有限公司 | 一种用户读写请求的调度方法及装置 |
CN107562654A (zh) * | 2016-07-01 | 2018-01-09 | 北京忆恒创源科技有限公司 | Io命令处理方法与装置 |
WO2018082302A1 (zh) * | 2016-11-07 | 2018-05-11 | 华为技术有限公司 | 响应写请求的方法和装置 |
CN108924187A (zh) * | 2018-06-07 | 2018-11-30 | 北京百度网讯科技有限公司 | 基于机器学习的任务处理方法、装置和终端设备 |
CN110209597A (zh) * | 2019-05-24 | 2019-09-06 | 北京百度网讯科技有限公司 | 处理访问请求的方法、装置、设备和存储介质 |
CN111158936A (zh) * | 2017-06-15 | 2020-05-15 | 北京忆芯科技有限公司 | 队列交换信息的方法及系统 |
CN111273888A (zh) * | 2020-03-06 | 2020-06-12 | 中国人民解放军国防科技大学 | 一种地址相关读写队列维序的方法及装置 |
CN111352657A (zh) * | 2018-12-21 | 2020-06-30 | 上海都森电子科技有限公司 | FPGA高速高效流水读取x86数据的方法 |
CN113010116A (zh) * | 2021-03-23 | 2021-06-22 | 深圳市元征科技股份有限公司 | 一种数据处理方法、装置、终端设备及可读存储介质 |
CN117291127A (zh) * | 2022-06-16 | 2023-12-26 | 格兰菲智能科技有限公司 | 先写后读的检测控制方法及其装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2192484A1 (en) * | 2008-11-28 | 2010-06-02 | Avermedia Technologies, Inc. | Method for executing scheduled task |
CN101727299A (zh) * | 2010-02-08 | 2010-06-09 | 北京同有飞骥科技有限公司 | 连续数据存储中面向raid5的写操作优化设计方法 |
CN103077123A (zh) * | 2013-01-15 | 2013-05-01 | 华为技术有限公司 | 一种数据写入和读取方法及装置 |
-
2013
- 2013-11-29 CN CN201310632662.6A patent/CN103631624A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2192484A1 (en) * | 2008-11-28 | 2010-06-02 | Avermedia Technologies, Inc. | Method for executing scheduled task |
CN101727299A (zh) * | 2010-02-08 | 2010-06-09 | 北京同有飞骥科技有限公司 | 连续数据存储中面向raid5的写操作优化设计方法 |
CN103077123A (zh) * | 2013-01-15 | 2013-05-01 | 华为技术有限公司 | 一种数据写入和读取方法及装置 |
Non-Patent Citations (1)
Title |
---|
丁佐林: "瓦记录磁盘驱动器的I/O调度算法研究及其实现", 《中国优秀硕士学位论文库全文数据库 信息科技辑》 * |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320460A (zh) * | 2014-06-27 | 2016-02-10 | 中兴通讯股份有限公司 | 一种写性能优化方法、装置及存储系统 |
CN105528315A (zh) * | 2014-09-28 | 2016-04-27 | 华为数字技术(成都)有限公司 | 一种硬盘io超时控制方法及装置 |
CN105528315B (zh) * | 2014-09-28 | 2018-08-14 | 华为数字技术(成都)有限公司 | 一种硬盘io超时控制方法及装置 |
CN106469174A (zh) * | 2015-08-19 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 数据读取方法和装置 |
CN106469174B (zh) * | 2015-08-19 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 数据读取方法和装置 |
CN107562654A (zh) * | 2016-07-01 | 2018-01-09 | 北京忆恒创源科技有限公司 | Io命令处理方法与装置 |
CN107562654B (zh) * | 2016-07-01 | 2020-10-09 | 北京忆恒创源科技有限公司 | Io命令处理方法与装置 |
WO2018082302A1 (zh) * | 2016-11-07 | 2018-05-11 | 华为技术有限公司 | 响应写请求的方法和装置 |
CN106776019B (zh) * | 2016-12-01 | 2019-11-19 | 成都华为技术有限公司 | 一种用户读写请求的调度方法及装置 |
CN106776019A (zh) * | 2016-12-01 | 2017-05-31 | 成都华为技术有限公司 | 一种用户读写请求的调度方法及装置 |
CN111158936A (zh) * | 2017-06-15 | 2020-05-15 | 北京忆芯科技有限公司 | 队列交换信息的方法及系统 |
CN111158936B (zh) * | 2017-06-15 | 2024-04-09 | 北京忆芯科技有限公司 | 队列交换信息的方法及系统 |
CN108924187B (zh) * | 2018-06-07 | 2020-05-08 | 北京百度网讯科技有限公司 | 基于机器学习的任务处理方法、装置和终端设备 |
CN108924187A (zh) * | 2018-06-07 | 2018-11-30 | 北京百度网讯科技有限公司 | 基于机器学习的任务处理方法、装置和终端设备 |
CN111352657B (zh) * | 2018-12-21 | 2023-04-25 | 上海都森电子科技有限公司 | FPGA高速高效流水读取x86数据的方法 |
CN111352657A (zh) * | 2018-12-21 | 2020-06-30 | 上海都森电子科技有限公司 | FPGA高速高效流水读取x86数据的方法 |
US11307801B2 (en) | 2019-05-24 | 2022-04-19 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method, apparatus, device and storage medium for processing access request |
KR102292527B1 (ko) | 2019-05-24 | 2021-08-25 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | 액세스 요청 처리 방법, 장치, 기기 및 저장 매체 |
KR20200135717A (ko) * | 2019-05-24 | 2020-12-03 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | 액세스 요청 처리 방법, 장치, 기기 및 저장 매체 |
CN110209597A (zh) * | 2019-05-24 | 2019-09-06 | 北京百度网讯科技有限公司 | 处理访问请求的方法、装置、设备和存储介质 |
CN111273888B (zh) * | 2020-03-06 | 2022-03-11 | 中国人民解放军国防科技大学 | 一种地址相关读写队列维序的方法及装置 |
CN111273888A (zh) * | 2020-03-06 | 2020-06-12 | 中国人民解放军国防科技大学 | 一种地址相关读写队列维序的方法及装置 |
CN113010116A (zh) * | 2021-03-23 | 2021-06-22 | 深圳市元征科技股份有限公司 | 一种数据处理方法、装置、终端设备及可读存储介质 |
CN117291127A (zh) * | 2022-06-16 | 2023-12-26 | 格兰菲智能科技有限公司 | 先写后读的检测控制方法及其装置 |
CN117291127B (zh) * | 2022-06-16 | 2024-07-26 | 格兰菲智能科技股份有限公司 | 先写后读的检测控制方法及其装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103631624A (zh) | 读写请求的处理方法和装置 | |
US9959229B2 (en) | Associating process priority with I/O queuing | |
KR101312281B1 (ko) | 프로세서 및 메모리 제어 방법 | |
US9032156B2 (en) | Memory access monitor | |
CN111324427B (zh) | 一种基于dsp的任务调度方法及装置 | |
CN102831088A (zh) | 基于混合存储器的数据迁移方法和装置 | |
CN104160384A (zh) | 用于动态优先级控制的系统和方法 | |
CN110209493B (zh) | 内存管理方法、装置、电子设备及存储介质 | |
US9223373B2 (en) | Power arbitration for storage devices | |
US9507633B2 (en) | Scheduling method and system | |
US8914571B2 (en) | Scheduler for memory | |
CN104461735A (zh) | 一种虚拟化场景下分配cpu资源的方法和装置 | |
US20170147493A1 (en) | Prefetch confidence and phase prediction for improving prefetch performance in bandwidth constrained scenarios | |
CN102402401A (zh) | 一种磁盘io请求队列调度的方法 | |
CN109242320B (zh) | 订单分配方法、装置、服务器及存储介质 | |
CN102799487A (zh) | 基于阵列/lun的io调度方法及装置 | |
US9069621B2 (en) | Submitting operations to a shared resource based on busy-to-success ratios | |
CN113568731A (zh) | 一种任务调度方法、芯片以及电子设备 | |
CN115543965A (zh) | 跨机房数据处理方法、设备、存储介质及程序产品 | |
CN109375868B (zh) | 一种数据存储方法、调度装置、系统、设备及存储介质 | |
CN104679575A (zh) | 输入输出流的控制系统及其方法 | |
WO2013148439A1 (en) | Hardware managed allocation and deallocation evaluation circuit | |
JP2015191604A (ja) | 制御装置、制御プログラム、および制御方法 | |
GB2525613A (en) | Reduction of processing duplicates of queued requests | |
CN103761052A (zh) | 一种管理高速缓存的方法及存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140312 |