一种IO请求的处理方法、系统及相关组件技术方案

技术编号:20176598 阅读:38 留言:0更新日期:2019-01-23 00:21
本申请公开了一种IO请求的处理方法,所述处理方法包括当接收到IO请求时,获取所述IO请求的OG id,并将所述OG id相同的IO请求分配至同一OG队列中;利用线程池的线程处理所述OG队列中的IO请求;其中,所述线程池中的每一个线程对应处理每一所述OG队列的所有IO请求。本方法能够无阻塞的并行处理IO请求,提高IO请求的处理效率。本申请还公开了一种IO请求的处理系统、一种计算机可读存储介质及一种电子设备,具有以上有益效果。

A Processing Method, System and Related Components of IO Request

This application discloses a method for processing IO requests, which includes obtaining the OG ID of the IO request when receiving the IO request and assigning the same IO request with the same OG ID to the same OG queue; processing IO requests in the OG queue with threads in the thread pool; where each thread in the thread pool corresponds to processing all IO requests in each of the OG queues. Ask. This method can process IO requests in parallel without blocking and improve the processing efficiency of IO requests. The application also discloses a processing system for IO requests, a computer readable storage medium and an electronic device, which have the above beneficial effects.

【技术实现步骤摘要】
一种IO请求的处理方法、系统及相关组件
本专利技术涉及分布式集群
,特别涉及一种IO请求的处理方法、系统、一种计算机可读存储介质及一种电子设备。
技术介绍
在分布式系统中,每个分布式集群中的单个节点的所有磁盘被一组OG(ObjectGroup,对象组)所管理,即通过OG来访问磁盘进行数据读写。其中,对每个OG的访问是串行执行的。为了更高效的进行数据写入,每个节点上可能会有很多的OG数量,由一组线程池来循环的遍历,使其能够均匀的,并发的被调度,从而达到提高并发写的目的。但是由于OG的数量很多,以及每个OG上的IO请求数量不固定及到达时间不均匀,使得高效的调度OG,使其能够最大的并行处理,同时能尽量的减少对IO发起者的延时成了比较难以控制的问题。为了解决该问题,现有技术将OG先分为几个组,每个组处理固定的一组OG上的IO。但上述处理方式有这比较明显的问题,在同一个线程组内固然可以通过增加线程的数量来加快IO的处理,由于同一个OG上的IO的处理只能串行。因此可能存在线程阻塞的状况,不能够完全无阻塞的并发调度不同OG之间的IO。因此,如何无阻塞的并行处理IO请求,提高IO请求的处理效率本文档来自技高网...

【技术保护点】
1.一种IO请求的处理方法,其特征在于,包括:当接收到IO请求时,获取所述IO请求的OG id,并将所述OG id相同的IO请求分配至同一OG队列中;利用线程池的线程处理所述OG队列中的IO请求;其中,所述线程池中的每一个线程对应处理每一所述OG队列的所有IO请求。

【技术特征摘要】
1.一种IO请求的处理方法,其特征在于,包括:当接收到IO请求时,获取所述IO请求的OGid,并将所述OGid相同的IO请求分配至同一OG队列中;利用线程池的线程处理所述OG队列中的IO请求;其中,所述线程池中的每一个线程对应处理每一所述OG队列的所有IO请求。2.根据权利要求1所述处理方法,其特征在于,将所述OGid相同的IO请求分配至同一OG队列中包括:根据预设对应关系将所述IO请求分配至对应的OG组,并将所述OG组内相同OGid的IO请求分配至同一OG队列;其中,所述OG组包括多个OG队列。3.根据权利要求2所述处理方法,其特征在于,将所述OG组内相同OGid的IO请求分配至同一OG队列包括:利用hash算法将所述OG组内相同OGid的IO请求分配至同一OG队列。4.根据权利要求1所述处理方法,其特征在于,所述利用线程池的线程处理所述OG队列中的IO请求包括:记录所述IO请求的接收时间,并计算每一所述OG队列内所有IO请求的接收时间的平均值;根据所述平均值确定所述OG队列的优先级;其中,所述平均值越早的OG队列的优先级越高;按照所述优先级从高到低的顺序依次利用线程池的线程处理所述OG队列中的IO请求。5.一种IO请求的处理系统,其特征在于,包括:队列分配模块,用于当接收到IO请求时,获取所述IO请求的OGid,并将所述OGid相同的IO请求分配至同一OG队列中;请求处理模块,用于利用线程池的线程处理...

【专利技术属性】
技术研发人员:李博
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1